存取多端口存储器模块的方法及相关的存储器控制器技术

技术编号:13953849 阅读:49 留言:0更新日期:2016-11-02 09:58
本发明专利技术提供一种存取多端口存储器模块的方法及相关的存储器控制器。存储器控制器耦接于多端口存储器模块,其中多端口存储器模块包含了多个存储库,且存储器控制器用来产生多个校验码,并分别将多个校验码写入至多个存储库中,其中每一个校验码是根据一部分存储库中的比特位所产生的。本发明专利技术的存取多端口存储器模块的方法及相关的存储器控制器可以降低存储库冲突的发生机率,减少存取次数。

【技术实现步骤摘要】
交叉引用本申请要求申请日为2015年4月22日,美国临时申请号为62/150,862的美国临时申请案的优先权,上述临时申请案的内容一并并入本申请。
本专利技术有关于存储器,尤指一种存取多端口存储器模块的方法及相关的存储器控制器
技术介绍
一般来说,一个多端口存储器模块会包含多个用来储存数据的存储库,且每一个存储库都可以独立地被存取,然而,当存储器接收到两个或更多个读取命令,以要求存取单一存储库中的多个不同地址时,则会有存储库冲突(bank conflict)的情形发生,而造成该多个读取命令需要被循序地执行,进而造成存储器存取延迟以及更糟的存取效率。为了解决该问题,传统的多端口存储器模块会使用定制的电路来使能多个存取端口,或是指派多个存储器单元以支持多个同时存取的操作。然而,这些方法会增加设计制造的成本,且/或增加芯片面积以及功率消耗,因此,如何提供一种存储器存取方法以有效率地支持多个存取指令是一个重要的课题。
技术实现思路
有鉴于此,本专利技术特提供以下技术方案:本专利技术实施例提供一种存取多端口存储器模块的方法,其中多端口存储器模块包含了多个存储库,且存取多端口存储器模块的方法包含有:产生多个校验码,其中每一个校验码是根据一部分存储库中的比特位所产生的;以及分别将多个校验码写入至多个存储库中。本专利技术实施例提供一种存储器控制器,耦接于多端口存储器模块,其中多端口存
储器模块包含了多个存储库,且存储器控制器用来产生多个校验码,并分别将多个校验码写入至多个存储库中,其中每一个校验码是根据一部分存储库中的比特位所产生的。本专利技术实施例又提供一种存取多端口存储器模块的方法,其中多端口存储器模块包含了多个存储库,且方法包含有:当对应到特定存储库中两个不同地址的比特位因为两个读取命令而被要求读取时,直接读取特定存储库中两个不同地址中的其中之一的比特位;以及通过读取其他存储库中的多个比特位来产生特定存储库中两个不同地址中的另外之一的比特位。本专利技术的存取多端口存储器模块的方法及相关的存储器控制器可以降低存储库冲突的发生机率,减少存取次数。附图说明图1为根据本专利技术实施例的存储器控制器的示意图。图2为根据本专利技术实施例的存储库中的数据布局的示意图。图3为根据本专利技术实施例的当存储器控制器传送一个写入命令W12以及两个读取命令R20、R11以存取存储器模块的示意图。图4为根据本专利技术实施例的当存储器控制器另传送一个写入命令W23以及两个读取命令R21、R22以存取存储器模块的示意图。图5为根据本专利技术实施例的当存储器控制器另传送一个写入命令W16以及两个读取命令R14、R15以存取存储器模块的示意图。图6为根据本专利技术实施例的一种存一多端口存储器模块的方法的流程图。具体实施方式在说明书及权利要求书当中使用了某些词汇来指称特定的组件。所属领域中的技术人员应可理解,制造商可能会用不同的名词来称呼同样的组件。本说明书及权利要求书并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的基准。在通篇说明书及权利要求书当中所提及的“包含”是开放式的用语,故应解释成“包含但不限定于”。另外,“耦接”一词在此包含任何直接及间接的电气连接手段。因此,若文中描述第一装置耦接于第二装置,则代表第一装置可直接电气连
接于第二装置,或通过其它装置或连接手段间接地电气连接至第二装置。请参考图1,其为根据本专利技术一个实施例的存储器控制器110的示意图。如图1所示,存储器控制器110耦接于存储器模块120,且另通过总线101来耦接到需要存取存储器模块120的元件,例如中央处理器102以及图形处理器104。此外,存储器控制器110包含了地址解码器112、处理电路114、写入/读取端口116、控制逻辑118以及仲裁器119;且存储器模块120包含写入/读取控制器122、多个暂存器124以及多个存储库126。在本实施例中,存储器模块120是支持两个或更多个读取/写入操作的多端口存储器模块,且每一个存储库126具有独立的读取/写入端口以支持多个存取操作,且每一个存储库126允许被独立地存取。此外,存储器模块120可以是多端口的静态随机存取存储器(multi-port static random access memory(SRAM))模块或是多端口的动态随机存取存储器(dynamic random access memory(DRAM))模块,但这并非是本专利技术的限制条件。关于存储器控制器110中元件的操作,地址解码器112用来对来自中央处理器102或是图形处理器104或是其他需要存取存储器模块120中数据的接收信号进行解码,以产生一个或多个读取命令及/或一个或多个写入命令;处理电路114用来管理及处理读取/写入命令;写入/读取缓冲器116用来暂时储存需要写入到存储器模块120的数据,及/或是暂时储存自存储器模块120读取的数据;控制逻辑118用来根据写入命令来产生比特位值及相对应的校验码,且也用来根据读取命令以对自存储器模块120中所读取的数据进行解码来产生比特位值;以及仲裁器119用来对写入命令及读取命令进行排程。关于存储器模块120中元件的操作,写入/读取控制器122可包含一行解码器(row decoder)以及一列解码器(column decoder),且用来对来自存储器控制器110的写入/读取命令进行解码,以存取存储库126中对应于写入/读取命令的地址上的比特位值;暂存器124用来暂时地储存校验码;以及每一个存储库126由一个或多个芯片来实施以储存数据。在本专利技术的实施例中,上述的多个校验码是根据储存在存储库126中的数据或是准备要写入到存储库126中的数据所产生,且这些校验码是平均地被写入至存储库126中。通过使用此方法,存储器控制器110可以同时地自单一存储库中的多个地址读取两个比特位值,以减少存储库冲突的发生机率。本专利技术实施例的操作细节在以下
会做具体的描述。请参考图2,其根据本专利技术一个实施例的存储库中的数据布局的示意图,其中图2展示了多个存储库126包含了四个存储库Bank0~Bank3,多个暂存器124包含了分别对应到存储库Bank0~Bank3的四个暂存器Reg0~Reg3,且每一个存储库包含了两个读取端口以及一个写入端口(2R1W),但这些特征并非是本专利技术的限制条件。如图2所示,三个存储库的数据分散在四个存储库Bank0~Bank3中,且校验码是平均地分散在四个存储库Bank0~Bank3中。详细来说,校验码P(b00,b10,b20)通过对存储库Bank0~Bank2中对应到地址A0的比特位b00、b10、b20作异或(exclusive-or,XOR)运算而得到,亦即其中是一个异或算子。接着,校验码P(b00,b10,b20)被储存至存储库Bank3中对应于地址A0的单元中。类似地,校验码P(b01,b11,b21)通过对存储库Bank0、Bank1、Bank3中对应到地址A1的比特位b01、b11、b21作异或运算而得到,且校验码P(b01,b11,b21)被储存至存储库Bank2中对应于地址A1的单元中;校验码P(b02,b12,b22)通过对存储库Bank0、Bank2、B本文档来自技高网
...

【技术保护点】
一种存取多端口存储器模块的方法,其特征在于,所述多端口存储器模块包含多个存储库,且所述存取多端口存储器模块的方法包含有:产生多个校验码,其中每一个校验码是根据一部分存储库中的比特位所产生的;以及分别将所述多个校验码写入至所述多个存储库中。

【技术特征摘要】
2015.04.22 US 62/150,862;2016.04.14 US 15/098,3361.一种存取多端口存储器模块的方法,其特征在于,所述多端口存储器模块包含多个存储库,且所述存取多端口存储器模块的方法包含有:产生多个校验码,其中每一个校验码是根据一部分存储库中的比特位所产生的;以及分别将所述多个校验码写入至所述多个存储库中。2.根据权利要求1所述的存取多端口存储器模块的方法,其特征在于,所述多个存储库包含M个存储库,每一个存储库包含对应到N的地址的单元以分别储存N个比特位,且产生所述多个校验码的步骤包含有:根据(M-1)个存储库中对应到第K个地址的每一个比特位来产生第K个校验码,其中K为小于N的任意正整数,并据以产生N个校验码;以及分别将所述多个校验码写入至所述多个存储库中的步骤包含有:将所述第K个校验码储存到剩余存储库中对应到所述第K个地址的单元中。3.根据权利要求2所述的存取多端口存储器模块的方法,其特征在于,根据所述(M-1)个存储库中对应到第K个地址的每一个比特位来产生所述第K个校验码的步骤包含有:对所述(M-1)个存储库中对应到所述第K个地址的每一个比特位进行异或运算以产生所述第K个校验码。4.根据权利要求2所述的存取多端口存储器模块的方法,其特征在于,所述N个校验码平均地被写入至所述M个存储库中。5.根据权利要求2所述的存取多端口存储器模块的方法,其特征在于,所述的存取多端口存储器模块的方法另包含有:当所述(M-1)个存储库中的一个存储库,其对应到所述第K个地址的单元中的数据根据写入命令而需要更新时:根据所述(M-1)个存储库中对应到所述第K个地址的每一个比特位来产生一更新后第K个校验码;以及将所述更新后第K个校验码储存到所述剩余存储库中对应到所述第K个地址的单元中。6.根据权利要求2所述的存取多端口存储器模块的方法,其特征在于,所述的存取多端口存储器模块的方法另包含有:当对应到特定存储库中的第X个地址以及第Y个地址的两个比特位因为两个读取命令而被要求读取时,直接自所述特定存储库中读取对应到该第X个地址的比特位,其中X、Y为小于N的两个任意不同的正整数;以及通过读取其他存储库中对应于多个第Y个地址的多个比特位来产生所述特定存储库中对应到该第Y个地址的该比特位。7.根据权利要求6所述的存取多端口存储器模块的方法,其特征在于,所述特定存储库中对应到该第Y个地址的该比特位是在不读取所述特定存储库中对应到所述第Y个地址的所述比特位的情形下所产生。8.根据权利要求1所述的存取多端口存储器模块的方法,其特征在于,所述多端口存储器模块为多端口的静态存储器模块或是多端口的动态存储器模块,且每一个存储库均被允许独立地存取。9.一种存储器控制器,耦接于多端口存储器模块,其特征在于,所述多端口存储器模块包含多个存储库,且所述存储器控制器用来产生多个校验码,并分别将所述多个校验码写入至所述多个存储库中,其中每一个校验码是根据一部分存储库中的比特位所产生的。10.根据权利要求9所述的存储器控制器,其特征在于,所述多个存储库包含M个存储库,每一个存储库包含对...

【专利技术属性】
技术研发人员:赖伯承林俊良吕国正
申请(专利权)人:联发科技股份有限公司
类型:发明
国别省市:中国台湾;71

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

1