存取存储器模块/增加写入端口的方法以及存储器控制器技术

技术编号:13953063 阅读:71 留言:0更新日期:2016-11-02 08:40
本发明专利技术提供一种存取存储器模块/增加写入端口的方法以及存储器控制器。存储器控制器耦接于多端口存储器模块,包含至少第一存储库、第二存储库以及参考存储库;当第一数据被要求写入至第一存储库时,存储器控制器读取参考存储库中的参考数据,并将第一数据连同参考数据一并进行编码以产生第一编码后数据,且将第一编码后数据写入至第一存储库中;以及当第二数据被要求写入至第二存储库时,存储器控制器自参考存储库中读取相同位置的参考数据,并将第二数据连同参考数据一并进行编码以产生第二编码后数据,且将第二编码后数据写入至第二存储库中。本发明专利技术的存取存储器模块/增加写入端口的方法以及存储器控制器可以增加写入端口,节约成本。

【技术实现步骤摘要】

本专利技术有关于存储器,尤指一种存储器模块的存取方法及相关的存储器控制器。
技术介绍
一般来说,一个多端口存储器模块会包含多个用来储存数据的存储库,且每一个存储库都可以独立地被存取。每一个存储库也支持一或多个读取命令以及写入命令,举例来说,假设一个存储库为具有两个读取端口以及一个写入端口的二读一写存储库(2R1W bank),则表示该存储库可以同时执行两个读取命令以及一个写入命令。然而,当存储器接收到两个或更多个写入命令,以要求将数据写入到单一个存储库时,则会有存储库冲突(bank conflict)的情形发生,而造成该多个写入命令需要被循序地执行,进而造成存储器存取延迟以及更糟的存取效率。为了解决这个问题,传统的多端口存储器模块会使用定制的电路来使能多个存取端口,或是指派多个存储器单元,例如对应到主存储库的辅助存储库或是备份存储库,以支持多个同时存取的操作。然而,这些方法会增加设计制造的成本,且/或增加芯片面积以及功率消耗,因此,如何提供一种存储器存取方法以延伸增加存储器模块的写入端口是一个重要的课题。
技术实现思路
有鉴于此,本专利技术特提供以下技术方案:本专利技术实施例提供一种存取多端口存储器模块的方法,其中多端口存储器模块包含了多个存储库,多个存储库包含至少第一存储库、第二存储库以及参考存储库,且存取多端口存储器模块的方法包含:当第一数据被要求写入至第一存储库时,读取参考存储库中的参考数据,并将第一数据连同参考数据一并进行编码以产生第一编码后数据,且将第一编码后数据写入至第一存储库中;以及当第二数据被要求写入至第二存储库时,自参考存储库中读取相同位置的参考数据,并将第二数据连同参考数据一
并进行编码以产生第二编码后数据,且将第二编码后数据写入至第二存储库中。本专利技术实施例提供一种存储器控制器,耦接于多端口存储器模块,其中多端口存储器模块包含了多个存储库,多个存储库包含至少第一存储库、第二存储库以及参考存储库;当一第一数据被要求写入至第一存储库时,存储器控制器读取参考存储库中的参考数据,并将第一数据连同参考数据一并进行编码以产生第一编码后数据,且将第一编码后数据写入至第一存储库中;以及当第二数据被要求写入至第二存储库时,存储器控制器自参考存储库中读取相同位置的参考数据,并将第二数据连同参考数据一并进行编码以产生第二编码后数据,且将第二编码后数据写入至第二存储库中。本专利技术实施例又提供一种增加存储器模块的写入端口的方法,包含:在存储器模块中提供第一存储库以及参考存储库;当第一数据以及第二数据同时被要求写入至第一存储库时,但是第二数据不被允许同时被写入第一存储库以更新/覆写旧数据时,读取参考存储库中的第一参考数据,将第一数据连同第一参考数据一并进行编码以产生第一编码后数据,且将第一编码后数据写入至第一存储库中;以及读取第一存储库中的旧数据,将第二数据连同旧数据一并进行编码以产生第二编码后数据,并将第二编码后数据写入至参考存储库中以更新/覆写对应于旧数据的第二参考数据。本专利技术的存取存储器模块/增加写入端口的方法以及存储器控制器可以增加存储器模块的写入端口,节约成本。附图说明图1为根据本专利技术实施例的存储器模块的示意图。图2A为根据本专利技术实施例的存取存储器模块的方法的示意图。图2B为根据本专利技术实施例的读取储存在图2A所示的存储库中的数据的示意图。图3A为根据本专利技术另一实施例的存取存储器模块的方法的示意图。图3B为根据本专利技术另一实施例的读取储存在图3A所示的存储库中的数据的示意图。图4为当两笔数据D2、D3被要求写入到存储库时,根据本专利技术一实施例的存取存储器模块的方法的示意图。图5为当两笔数据D2、D3被要求写入到存储库时,存储库210、220以及参考存储库230的示意图。图6为根据本专利技术实施例存取存储器模块的流程图。图7为根据本专利技术实施例的读取储存在图4、5所示的存储库210、220中的数据的示意图。图8为当两笔数据D4、D5被要求写入到相同的存储库时,存储库及参考存储库的操作示意图。图9为根据本专利技术另一实施例的存取存储器模块的方法的示意图。图10为根据本专利技术另一实施例的存取存储器模块的方法的示意图。图11为根据本专利技术另一实施例的存取存储器模块的方法的示意图。图12为根据本专利技术另一实施例的存取存储器模块的方法的示意图。图13为N读一写存储库以及两个M读一写存储库形成(N-2)读二写特定存储器模块的示意图。图14为N读二写存储库以及两个M读二写存储库形成(N-4)读四写特定存储器模块的示意图。图15为根据本专利技术另一实施例的写入端口延伸方法的示意图。具体实施方式在说明书及权利要求书当中使用了某些词汇来指称特定的组件。所属领域中的技术人员应可理解,制造商可能会用不同的名词来称呼同样的组件。本说明书及权利要求书并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的基准。在通篇说明书及权利要求书当中所提及的“包含”是开放式的用语,故应解释成“包含但不限定于”。另外,“耦接”一词在此包含任何直接及间接的电气连接手段。因此,若文中描述第一装置耦接于第二装置,则代表第一装置可直接电气连接于第二装置,或通过其它装置或连接手段间接地电气连接至第二装置。请参考图1,其为根据本专利技术一个实施例的存储器控制器110的示意图。如图1所示,存储器控制器110耦接于存储器模块120,且另通过总线101来耦接到需要存取存储器模块120的元件,例如中央处理器102以及图形处理器104。此外,存储器控制器110包含了地址解码器112、处理电路114、写入/读取端口116、控制逻辑118以及仲裁器119;且存储器模块120包含写入/读取控制器122以及多个存储库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中对应于写入本文档来自技高网
...

【技术保护点】
一种存取多端口存储器模块的方法,其中所述多端口存储器模块包含了多个存储库,所述多个存储库包含至少第一存储库、第二存储库以及参考存储库,且所述存取多端口存储器模块的方法包含:当第一数据被要求写入至所述第一存储库时,读取所述参考存储库中的参考数据,并将所述第一数据连同所述参考数据一并进行编码以产生第一编码后数据,且将所述第一编码后数据写入至所述第一存储库中;以及当第二数据被要求写入至所述第二存储库时,自所述参考存储库中读取相同位置的所述参考数据,并将所述第二数据连同所述参考数据一并进行编码以产生第二编码后数据,且将所述第二编码后数据写入至所述第二存储库中。

【技术特征摘要】
2015.04.22 US 62/150,862;2015.07.23 US 62/195,796;1.一种存取多端口存储器模块的方法,其中所述多端口存储器模块包含了多个存储库,所述多个存储库包含至少第一存储库、第二存储库以及参考存储库,且所述存取多端口存储器模块的方法包含:当第一数据被要求写入至所述第一存储库时,读取所述参考存储库中的参考数据,并将所述第一数据连同所述参考数据一并进行编码以产生第一编码后数据,且将所述第一编码后数据写入至所述第一存储库中;以及当第二数据被要求写入至所述第二存储库时,自所述参考存储库中读取相同位置的所述参考数据,并将所述第二数据连同所述参考数据一并进行编码以产生第二编码后数据,且将所述第二编码后数据写入至所述第二存储库中。2.根据权利要求1所述的存取多端口存储器模块的方法,其特征在于,另包含:当第三数据被要求写入至所述第一存储库以更新/覆写所述第一存储库中的所述第一编码后数据,但是所述第一存储库的一或多个写入端口被其他的写入步骤占据时,自所述第一存储库中读取所述第一编码后数据,并将所述第三数据连同所述第一编码后数据一并进行编码以产生第三编码后数据,且将所述第三编码后数据写入至所述参考存储库中以更新/覆写所述参考数据。3.根据权利要求2所述的存取多端口存储器模块的方法,其特征在于,另包含:在所述参考数据被所述第三编码后数据更新/覆写之前,分别自所述参考存储库以及所述第二存储库中读取所述参考数据以及所述第二编码后数据,并使用所述参考数据来对所述第二编码后数据进行解码以产生所述第二数据;将所述第二数据连同所述第三编码后数据一并进行编码以产生更新的第二编码后数据;以及将所述更新的第二编码后数据写入至所述第二存储库以更新所述第二编码后数据。4.根据权利要求2所述的存取多端口存储器模块的方法,其特征在于,其中当所述第三数据被要求自所述第一存储库中读取时,分别自所述第一存储库以及所述参考存储库中读取所述第一编码后数据以及所述第三编码后数据,且使用所述第一编码后数据来对所述第三编码后数据进行解码以产生所述第三数据。5.根据权利要求1所述的存取多端口存储器模块的方法,其特征在于,另包含:当第三数据以及第四数据被要求写入至所述第一存储库以分别更新/覆写所述第一存储库中的第一旧数据以及第二旧数据时,自所述参考存储库中读取另一参考数据,并将所述第三数据连同所述另一参考数据一并进行编码以产生第三编码后数据,且将所述第三编码后数据写入至所述第一存储库中以更新/覆写所述第一旧数据;以及自所述第一存储库中读取所述第二旧数据,并将所述第四数据连同所述第二旧数据一并进行编码以产生第四编码后数据,且将所述第四编码后数据写入至所述参考存储库中以更新/覆写对应于所述第二旧数据的又一参考数据。6.根据权利要求1所述的存取多端口存储器模块的方法,其特征在于,其中所述第一存储库包含K个写入端口,所述第二存储库包含K个写入端口,所述参考存储库包含N个读取端口;以及所述第一存储库、所述第二存储库以及所述参考存储库形成一个支持(2*K)个写入端口以及(N-2*K)个读取端口的特定存储器子模块,其中K为等于或大于1的正整数,且N为大于(2*K)的正整数。7.根据权利要求1所述的存取多端口存储器模块的方法,其特征在于,其中所述第一数据、所述第二数据以及所述参考数据中的每一个均为一个比特位,且编码操作为异或运算。8.一种存储器控制器,耦接于多端口存储器模块,其中所述多端口存储器模块包含了多个存储库,所述多个存储库包含至少第一存储库、第二存储库以及参考存储库;当第一数据被要求写入至所述第一存储库时,所述存储器控制器读取所述参考存储库中的参考数据,并将所述第一数据连同所述参考数据一并进行编码以产生第一编码后数据,且将所述第一编码后数据写入至所述第一存储库中;以及当第二数据被要求写入至所述第二存储库时,所述存储器控制器自所述参考存储库中读取相同位置的所述参考数据,并将所述第二数据连同所述参考数据一并进行编码以产生第二编码后数据,且将所述第二编码后数据写入至所述第二存储库中。9.根据权利要求8所述的存储器控制器,其特征在于,当第三数据被要求写入至所述第一存储库以更新/覆写所述第一存储库中的所述第一编码...

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

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

1