首页> 中国专利> 一种基于STT-MRAM的多通道高速数据访存结构

一种基于STT-MRAM的多通道高速数据访存结构

摘要

本发明公开了一种基于STT‑MRAM的多通道高速数据访存结构,其特征在于,包括STT‑MRAM、高速总线、总线互联模块、多通道异步FIFO模块、通道仲裁器以及控制器;所述总线互联模块作为主机连接所述高速总线与所述多通道异步FIFO模块,通过调用所述高速总线来实现对所述STT‑MRAM的访问,完成所述多通道异步FIFO模块与STT‑MRAM之间的数据搬移;所述多通道异步FIFO模块用于缓存需要搬移的数据;所述通道仲裁器根据来自所述控制器的通道号,确定读写顺序和控制通道的转换;所述控制器用于产生访问所述STT‑MRAM的地址,同时接收来自连接着不同通道的设备的读写请求,并产生相应的通道号码输入给所述通道仲裁器。

著录项

说明书

技术领域

本发明属于新型存储器读写电路技术领域,更具体地,涉及一种基于自旋转移力矩磁随机存储器(Spin-transfer torque Magnetic RAM,STT-MRAM)的多通道高速数据访存电路结构。

背景技术

随着技术的不断发展,处理器的主频和性能已经得到了飞速的增长,而相比之下,传统存储器访问速度的增长受到诸多限制,其数据访存的延迟相对于处理器主频而言不断增大,极大地限制了整体系统性能的提升。而通过采用多级缓存(Cache)体系结构以及增加数据局部性和Cache命中率的访存策略等方法能够对数据访存的平均延时有所缓解,但仍然不能从根本上解决问题。逐渐增大的处理器和存储器之间的性能差距,为下一代高性能计算机系统的高性能设计带来了极大的挑战。

当前人工智能已成为未来智能计算的核心趋势之一,人工智能算法理论已经表明数据需要在存储器与处理器之间不断进行大量交换。而存储墙的存在导致处理器的大部分时间和功耗是消耗在数据的搬移上,而不是数据的计算上。目前存储墙问题已经成为限制人工智能芯片提高性能和降低功耗的关键。在传统体系结构下,人工智能芯片的存储器通常由易失性存储器SRAM和非易失性存储器eFlash构成,eFlash毫秒级擦写速度严重影响了人工智能算法的运行效率。解决这些问题的一个有效途径之一就是将高速的非易失性存储器与存储计算结合起来。新型存储器STT-MRAM具有非易失性、高性能(读写速度和SRAM相当)、低功耗、高密度(与DRAM和Flash的密度相当)、高擦写次数(擦写次数>10

而当前STT-MRAM的数据访存仍然采用传统的总线结构,当多个设备想要对STT-MRAM进行访存时,需要首先发起总线申请,然后通过总线仲裁器根据优先级先后响应各个设备的总线申请,而对于低速的设备,还需要使用总线桥将STT-MRAM连接的高速总线桥接到低速总线后再完成跨时钟域的数据传输。这种传统存储访问的总线结构对于具有高性能特性的新型存储器STT-MRAM来说存在访存效率低、控制逻辑复杂、功耗开销大的缺点。

发明内容

针对现有技术的缺陷和改进需求,本发明提供了一种STT-MRAM的多通道高速数据访存结构,其目的在于,充分利用STT-MRAM高速读写特性,以降低数据搬移过程中的总体延迟,提升存储器模块的整体性能。

为实现上述目的,本发明设计了一种基于STT-MRAM的多通道高速数据访存结构,其特征在于,包括STT-MRAM、高速总线、总线互联模块、多通道异步FIFO(First In FirstOut,先进先出)模块、通道仲裁器以及控制器;所述总线互联模块作为主机连接所述高速总线与所述多通道异步FIFO模块,通过调用所述高速总线来实现对所述STT-MRAM的访问,完成所述多通道异步FIFO模块与STT-MRAM之间的数据搬移;所述多通道异步FIFO模块用于缓存需要搬移的数据;所述通道仲裁器根据来自所述控制器的通道号,确定读写顺序和控制通道的转换;所述控制器用于产生访问所述STT-MRAM的地址,同时接收来自连接着不同通道的设备的读写请求,并产生相应的通道号码输入给所述通道仲裁器。

可选地,所述高速总线为高级扩展接口(AXI)总线,所述STT-MRAM具有AXI总线接口,连接到所述AXI总线上,作为从机等待所述主机发出访问请求。

可选地,所述多通道异步FIFO模块包括多组异步FIFO接收单元和异步FIFO发送单元;每个通道包含一组异步FIFO接收单元和异步FIFO发送单元,分别负责接收和发送数据的缓存。

可选地,每个所述通道相互独立,互不影响。

可选地,对每个异步FIFO接收单元和异步FIFO发送单元的读操作和写操作都以流水线方式进行。

可选地,所述基于STT-MRAM的多通道高速数据访存结构还包括接收数据分配器和发送数据选择器;所述接收数据分配器和发送数据选择器均连接至所述通道仲裁器、异步FIFO多通道模块和总线互联模块;所述通道仲裁器具有可配置工作模式,通过控制所述接收数据分配器和发送数据选择器,完成对通道的选择,实现单通道和多通道两种工作模式访问所述STT-MRAM。

可选地,所述通道仲裁器包括:独热码产生器、查找表、累加器和比较器;所述独热码产生器用于根据所述控制器输入的原始通道信号,产生有效独热码,其中所述有效独热码相互或操作得到所述原始通道信号,所述有效独热码被输入到所述查找表中;所述累加器用于产生所述查找表的地址;所述地址与所产生的有效独热码的总数输入到所述比较器中进行比较,当相等时,将所述地址重置为零,产生循环递增的所述地址,在每个时钟周期输出所述地址所对应的查找表的数值,则最终产生了循环通道选择的控制信号,实现了通道的时分复用。

可选地,所述独热码产生器产生独热码的方法包括:获取所述原始通道信号的位宽n,并产生n个独热码,其中n为正整数;获取所述原始通道信号中1的数量m,并从所述n个独热码中随机选择m个独热码进行或操作,其中所述m为小于等于n的正整数;判断所述m个独热码的或操作结果是否与所述原始通道信号相同,若是,则将所述m个独热码作为有效独热码输出;否则重新选择m个独热码进行或操作,直到或操作的结果与所述通道信号相同为止。

可选地,所述通道仲裁器还包括:选择器,用于每次选取一个所述独热码产生器产生的有效独热码,依次输入到所述查找表中。

根据本申请的另一个发明,还提供了一种数据存储器,该存储器采用上述的任意一种数据访存结构。

总体而言,本发明所构思的以上技术方案,能够取得以下有益效果:

(1)本发明的电路,通过高速总线对STT-MRAM进行直接读写,通过异步FIFO组实现处理单元和存储器之间跨时钟域的数据搬移,异步FIFO组的缓冲功能能够充分利用STT-MRAM的高性能特性,能够在保证数据不丢失的前提下以最高频率访问STT-MRAM,由此能够降低数据访存延迟,提高系统整体性能,同时控制逻辑简单,功耗开销低。

(2)本发明的电路,通道仲裁器产生选择控制信号,通过接收数据选择器和发送数据分配器,来完成对通道的选择,在多通道模式下,可采用时分复用策略,能够满足多种应用情况下,保持对STT-MRAM性能的充分释放。

附图说明

图1本发明实施例的一种基于STT-MRAM的多通道高速数据访存电路结构图;

图2为本发明实施例的一种通道仲裁器电路结构图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图及实施例,对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

为充分利用新型存储器STT-MRAM的高性能特性,实现适应多种应用场景的高速数据访存,本发明提供了一种基于STT-MRAM的多通道高速数据访存电路结构,如图1所示,包括:带有总线接口的STT-MRAM 102、高速总线104、总线互联模块106、通道仲裁器108、控制器110、多通道异步FIFO模块112。所述总线互联模块106作为主机连接所述高速总线104与所述多通道异步FIFO模块112,通过调用所述高速总线104来实现对所述STT-MRAM 102的访问,完成所述多通道异步FIFO模块112与STT-MRAM 102之间的数据搬移。所述多通道异步FIFO模块112用于缓存需要搬移的数据。所述通道仲裁器108根据来自所述控制器110的通道号,确定读写顺序和控制通道的转换。所述控制器110用于产生访问所述STT-MRAM 102的地址,同时接收来自连接着不同通道的设备120-124的读写请求,并产生相应的通道号码输入给所述通道仲裁器108。

在本申请的一个实施例中,所述高速总线为高级扩展接口(Advanced eXtensibleInterface,AXI)总线,所述STT-MRAM具有AXI总线接口,连接到所述AXI总线上,作为从机等待所述主机发出访问请求。在本申请的一个实施例中,采用AXI 3.0协议完成对新型存储器的数据访存。

所述控制器110的输出端与分别与高速总线104、通道仲裁器108和多通道异步FIFO模块112的输入端连接,输入端与设备120-124的输出端连接。

所述通道仲裁器108的第一输出端与所述总线互联模块106连接,第二输出端与发送数据选择器116和接收数据分配器114连接。本发明的电路,通过通道仲裁器产生发送数据选择器116和接收数据分配器114的选择控制信号。

所述多通道异步FIFO模块112与接收数据分配器、发送数据选择器116以及设备120-124连接,完成跨时钟域的数据缓存。

在本发明的一个实施例中,所述多通道异步FIFO模块112包括多组异步FIFO接收单元RX FIFO 0、RX FIFO 1、RX FIFO 2和异步FIFO发送单元TX FIFO 0、TX FIFO 1、TXFIFO 2。每个通道包含一组异步FIFO接收单元和异步FIFO发送单元,分别负责接收和发送数据的缓存。每个所述通道相互独立,互不影响。

进一步地,对每个异步FIFO接收单元和异步FIFO发送单元的读操作和写操作都以流水线方式进行。

在本申请的一个实施例中,所述基于STT-MRAM的多通道高速数据访存结构还包括接收数据分配器114和发送数据选择器116。所述接收数据分配器114和发送数据选择器116均连接至所述通道仲裁器108、异步FIFO多通道模块112和总线互联模块106。所述通道仲裁器108具有可配置工作模式,通过控制所述接收数据分配器114和发送数据选择器116,完成对通道的选择,实现单通道和多通道两种工作模式访问所述STT-MRAM 102。

进一步地,在本申请的一个实施例中,如图2所示,所述通道仲裁器108包括:独热码产生器130、查找表132、累加器134和比较器133。所述独热码产生器130用于根据所述控制器110输入的原始通道信号,产生有效独热码,其中所述有效独热码相互或操作得到所述原始通道信号,所述有效独热码被输入到所述查找表132中。所述累加器134用于产生所述查找表的地址。所述地址与所产生的独热码的总数输入到所述比较器中进行比较,当相等时,将所述地址重置为零,产生循环递增的所述地址,在每个时钟周期输出所述地址所对应的查找表的数值,则最终产生了循环通道选择的控制信号,实现了通道的时分复用。

具体地,在本申请的一个实施例中,所述独热码产生器产生独热码的方法包括:

获取所述原始通道信号的位宽n,并产生n个独热码,其中n为正整数;

获取所述原始通道信号中1的数量m,并从所述n个独热码中随机选择m个独热码进行或操作,其中所述m为小于等于n的正整数;

判断所述m个独热码的或操作结果是否与所述原始通道信号相同,若是,则将所述m个独热码作为有效独热码输出;否则重新选择m个独热码进行或操作,直到或操作的结果与所述通道信号相同为止。

例如,假设原始通道信号为1010,则原始通道信号的位宽为n为4,原始通道信号中1的数量m为2。那么独热码产生器会产生4个独热码,分别为1000,0100,0010以及0001。然后随机地选取其中任意2个进行或操作,直到选取到1000和0010这两个独热码时,它们的或操作结果与原始通道信号相同,那么独热码产生器就会将1000和0010这两个独热码作为有效独热码输出。

进一步地,如图2所述,所述通道仲裁器108还包括:选择器131,用于每次选取一个所述独热码产生器130产生的有效独热码,依次输入到所述查找表132中。

在本申请的另一个实施例中,还提供了一种数据存储器,该数据存储器采用上述任一种的数据访存结构。优选地,所述数据存储器为STT-MRAM。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号