存储访问控制器架构制造技术

技术编号:34641912 阅读:7 留言:0更新日期:2022-08-24 15:17
本申请公开一种分布式访存控制架构,存储访问控制器架构用于FPGA芯片,包括M个分布式访存控制器、N个访存队列控制器和N个访存接口控制器;访存队列控制器和访存接口控制器一一对应;分布式访存控制器设置有一个应用程序访问端口和N个存储通讯口,目标应用程序和应用程序访问端口一一对应;N个存储通讯口和N个访存队列控制器一一对应;访存队列控制器级联有访存接口控制器和存储介质。本设计架构引入访存队列控制器,采用多个分布式访存控制器、访存队列控制器和访存接口控制器,实现多应用程序并行处理、各端口数量可配置,实现多任务队列访存功能,其适配性更强、存储访问命令间延时更小,存储访问带宽利用率更高。存储访问带宽利用率更高。存储访问带宽利用率更高。

【技术实现步骤摘要】
存储访问控制器架构


[0001]本申请实施例涉及芯片
,特别涉及一种基于FPGA芯片的全连接分布式存储访问控制器架构。

技术介绍

[0002]现代数据中心建设和边缘计算中,FPGA被越来越多地用于算法计算加速。某些算法的计算速度对内存访问速度,尤其是参数读取速度依赖较大,甚至完全由访存速度决定,如以太坊算法。FPGA设计厂商通过增加内存控制器来增大硬件的访存速度指标,传统的DDR接口从最初支持乒乓操作的两个,发展到4~6个,甚至到近两年片上HBM设计中,有多达30~100个接口(这些接口指物理端接口,可访问独立的存储空间,非逻辑或虚拟概念上的共享接口)。
[0003]为在实际应用中发挥出这些接口的硬件性能,当前主流的分布式访存控制器硬件架构设计主要采用单端口分布式访存架构、点对点分布式访存架构以及总线仲裁式访存架构。对于单端口分布式访存架构,其往往不能匹配多个内存访问端口叠加的速度;对于点对点分布式访存架构,由于新一代FPGA的设计中,HBM的物理端口多达几十个,对应的应用程序无法划分出如此多的访问端口与存储访问端口一一对应;而对于总线仲裁式访存架构,其内存访问端口间动态负载差别较大,可能会出现端口阻塞及带宽下降,降低应用程序的运行速度。

技术实现思路

[0004]本申请提供了一种存储访问控制器架构。用于FPGA芯片,解决相关技术中FPGA芯片无法充分发挥硬件接口性能的问题。所述存储访问控制器架构用于FPGA芯片中的存储访问控制器,包括M个分布式访存控制器、N个访存队列控制器和N个访存接口控制器;所述访存队列控制器和所述访存接口控制器一一对应;M和N是大于1的正整数;
[0005]所述分布式访存控制器设置有一个独立的应用程序访问端口和N个存储通讯口,所述应用程序访问端口用于和目标应用程序之间数据交互,且所述目标应用程序和所述应用程序访问端口一一对应;N个所述存储通讯口分别和N个所述访存队列控制器一一对应,用于进行数据存储和通信;
[0006]所述访存队列控制器级联有访存接口控制器以及存储介质,用于所述访存队列控制器和存储介质之间进行数据存储和通信;其中的所述访存接口控制器用于管理所述访存队列控制器中的任务队列。
[0007]具体的,所述分布访存控制架构包括第一分布式访存控制器、第二分布式访存控制器至第M分布式访存控制器,对应设置的第一应用程序访问端口、第二应用程序访问端口至第M应用程序访问端口分别接入第一应用程序、第二应用程序至第M应用程序;
[0008]所述分布式访存控制器还包括策略寄存器、任务切分模块和指令remap模块;所述策略寄存器存储有对目标应用程序的读/写请求进行任务切分的配置策略;所述配置策略
至少包含有目标应用程序访问端口、存储通讯口、访问数据量、访问容量以及传输速度中的至少一种;
[0009]所述任务切分模块用于根据所述配置策略对目标应用程序的读/写请求进行任务切分,获取目标数量个子任务和新读/写请求,并指定对应的目标数量个所述存储通讯口;所述目标数量是不超过N的正整数;
[0010]所述指令remap模块用于更新切分后的所述目标数量个子任务的操作地址,以及把目标数量个新读/写请求发到对应的所述存储通讯口。
[0011]具体的,当所述目标应用程序是读数据请求时,所述分布式访存控制器还包括读数据重组模块和读数据回收模块;
[0012]所述读数据回收模块用于实时回收所述存储通讯口的返回数据,且所述返回数据是由目标数量个所述访存队列控制器回传至对应的所述存储通讯口;
[0013]所述读数据重组模块用于对所述读数据回收模块收集的数据进行重组,以及通过所述应用程序访问端口发送至所述目标应用程序。
[0014]具体的,所述访存队列控制器包括第一访存队列控制器、第二访存队列控制器以及第N访存队列控制器,每个访存队列控制器支持至少M个应用程序的任务队列和返回队列;任务队列包括第一应用程序任务队列、第二应用程序任务队列至第M应用程序任务队列,返回队列包括第一应用程序返回队列、第二应用程序返回队列至第M应用程序返回队列;
[0015]第i分布式访存控制器的第j存储通讯口对应于第j访存队列控制器中的第i应用程序任务队列和第i应用程序返回队列,其中,i是不大于M的正整数,j是不大于N的正整数。
[0016]具体的,所述访存队列控制器还包括有管理寄存器和读数据转发模块;
[0017]所述管理寄存器中存储有对任务队列和返回队列的配置信息,所述配置信息至少包括各应用程序任务队列与返回队列的单个任务空间大小、缓存任务数量、支持应用程序数量、单次访问字节数和容量中的至少一种;
[0018]所述读数据转发模块用于接收返回的数据,以及转发到各个应用程序返回队列中。
[0019]具体的,每个所述访存队列控制器级联有所述访存接口控制器,所述访存接口控制器根据所述管理寄存器中的所述配置信息进行队列管理,读取各应用程序任务队列中缓存的访存任务并执行,以及回传数据到所述读数据转发模块。
[0020]具体的,当所述管理寄存器中存储有对应用程序的优先级信息时,所述访存接口控制器基于所述优先级信息管理以及执行任务队列和返回队列。
[0021]具体的,所述访存接口控制器对应设置有访存接口,且所述访存接口分别连接到对应的存储介质中;所述访存接口控制器通过所述访存接口向所述存储介质中读取和写入数据。
[0022]具体的,存储访问控制器还设置有策略配置管理模块;所述策略配置管理模块用于接收外部输入的配置策略、配置信息和优先级信息,将所述配置策略写入到分布式访存控制器中的策略寄存器,将所述配置信息以及所述优先级信息写入到访存队列控制器中的管理寄存器。
[0023]上述技术方案带来的有益效果至少包括:分布式访存控制器采用单应用程序访问
端口,能够根据目标应用程序确定存储通讯口,进而通过存储通讯口和后级一一对应的访存队列控制器进行交互。且本方案在分布式访存控制器和访存接口之间引入了访存队列控制器,并配合访存接口控制器控制对每个访存接口和存储介质的传输。将每个分布式访存控制器的N个存储通讯口和N个访存队列控制器一一对应的方式,实现单个数据请求在多个访存队列控制器上执行分布式任务进程,提高访存效率和带宽利用率,以及减轻任务发起端任务间的等待时延。
附图说明
[0024]图1是相关技术中应用于FPGA芯片的单端口分布式访存架构的结构示意图;
[0025]图2是相关技术中应用于FPGA芯片的点对点分布式访存架构的结构示意图;
[0026]图3是相关技术中应用于FPGA芯片的总线仲裁式访存架构的结构示意图;
[0027]图4是本申请实施例提供的分布式访存控制器的结构示意图;
[0028]图5是本申请实施例提供的访存队列控制器的结构示意图;
[0029]图6是本申请实施例提供的应用于FPGA芯片的存储访问控制器的结构示意图。
具体实施方式
[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种存储访问控制器架构,其特征在于,所述存储访问控制器架构用于FPGA芯片中的存储访问控制器,包括M个分布式访存控制器、N个访存队列控制器和N个访存接口控制器;所述访存队列控制器和所述访存接口控制器一一对应;M和N是大于1的正整数;所述分布式访存控制器设置有一个独立的应用程序访问端口和N个存储通讯口,所述应用程序访问端口用于和目标应用程序之间数据交互,且所述目标应用程序和所述应用程序访问端口一一对应;N个所述存储通讯口分别和N个所述访存队列控制器一一对应,用于进行数据存储和通信;所述访存队列控制器级联有访存接口控制器以及存储介质,用于所述访存队列控制器和存储介质之间进行数据存储和通信;其中的所述访存接口控制器用于管理所述访存队列控制器中的任务队列。2.根据权利要求1所述的存储访问控制器架构,其特征在于,所述分布访存控制架构包括第一分布式访存控制器、第二分布式访存控制器至第M分布式访存控制器,对应设置的第一应用程序访问端口、第二应用程序访问端口至第M应用程序访问端口分别接入第一应用程序、第二应用程序至第M应用程序;所述分布式访存控制器还包括策略寄存器、任务切分模块和指令remap模块;所述策略寄存器存储有对目标应用程序的读/写请求进行任务切分的配置策略;所述配置策略至少包含有目标应用程序访问端口、存储通讯口、访问数据量、访问容量以及传输速度中的至少一种;所述任务切分模块用于根据所述配置策略对目标应用程序的读/写请求进行任务切分,获取目标数量个子任务和新读/写请求,并指定对应的目标数量个所述存储通讯口;所述指令remap模块用于更新切分后的所述目标数量个子任务的操作地址,以及把目标数量个新读/写请求发到对应的所述存储通讯口。3.根据权利要求2所述的存储访问控制器架构,其特征在于,当所述目标应用程序是读数据请求时,所述分布式访存控制器还包括读数据重组模块和读数据回收模块;所述读数据回收模块用于实时回收所述存储通讯口的返回数据,且所述返回数据是由目标数量个所述访存队列控制器回传至对应的所述存储通讯口;所述读数据重组模块用于对所述读数据回收模块收集的数据进行重组,以及通过所述应用程序访问端口发送至所述目标应用程序作为...

【专利技术属性】
技术研发人员:胡景铭
申请(专利权)人:深存科技无锡有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1