System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() DRAM存储器控制器中用于有效率的刷新管理的业务感知自适应预充电调度器制造技术_技高网

DRAM存储器控制器中用于有效率的刷新管理的业务感知自适应预充电调度器制造技术

技术编号:42889038 阅读:11 留言:0更新日期:2024-09-30 15:09
本说明书描述了具有自适应预充电调度的存储器控制器。在一个方面,一种存储器控制器包括刷新调度器,所述刷新调度器被配置为向动态随机存取存储器(DRAM)存储器系统的DRAM存储体发送刷新命令,DRAM存储器系统包括被布置在DRAM存储体组的集合中的DRAM存储体,DRAM存储体组各自包括一个或多个DRAM存储体。存储器控制器包括自适应预充电调度器,所述自适应预充电调度器被配置为:基于参数集合来确定每个DRAM存储体组的优先级得分;基于每个DRAM存储体组的优先级得分来选择要关闭的特定DRAM存储体组,所述特定DRAM存储体组关闭以使得该DRAM存储体组中的每个DRAM存储体能够由刷新调度器刷新;以及向特定DRAM组的至少一个DRAM存储体发送预充电命令。

【技术实现步骤摘要】
【国外来华专利技术】

本说明书涉及动态随机存取存储器(dram)存储器控制器。


技术介绍

1、dram单元是典型地包括用于存储数据的位的存取晶体管和电容器的存储器单元。电容器可以被充电或放电以表示一位的两个值,即,零或一。随时间推移,电容器往往会泄漏其存储的电荷。因此,在没有干预的情况下,将会丢失被存储在dram中的数据。为了防止这种数据丢失,定期地刷新被存储在dram中的数据,例如,使用由dram存储器控制器发出的刷新命令来定期地刷新。每个dram单元必须基于dram标准(例如,jedec存储器标准)来定期地刷新。刷新dram单元典型地包括读取数据以及向dram单元重写数据,这使电容器恢复到其先前电荷。

2、刷新过程负面地影响dram单元的性能和功率使用/耗散。例如,在刷新过程期间暂停(stall)dram存储体(bank)的dram单元,从而阻止从dram存储体读取数据或者向dram存储体写入数据。由于对数据的读取以及数据向dram单元的重写,刷新过程还增加了由存储器系统使用和耗散的功率量。


技术实现思路

1、本说明书涉及动态随机存取存储器(dram)存储器控制器。存储器控制器可以包括刷新调度器,所述刷新调度器例如以每存储体的方式并且/或者针对由存储器控制器管理的所有存储体调度对dram存储体的刷新。刷新调度器典型地向关闭的dram存储体发出每存储体刷新(refresh per bank)命令(refpb)命令,除非dram系统的刷新间隔接近结束。如此,刷新调度器可以发出所有存储体刷新(refresh all banks)命令(refab)命令来刷新所有dram存储体。这导致dram系统内的所有存储体都不可用,直到所有dram存储体都被刷新。

2、虽然refpb涉及存储体或存储体对的针对性刷新并允许业务继续到其他存储体上,但是refab要求在refab命令的开始之前暂停到所有存储体的业务并且所有存储体都处于空闲状态。还需注意,一个refab可以相当于发出8个refpb命令并具有相同的效果。

3、当存储器业务正在进行时,期望发出比refab命令更多的refpb命令,因为这通过避免dram系统的失电期(blackout period)来有助于系统性能。jedec标准提供了在针对每个循环发出refpb命令时选择存储体对的次序方面的灵活性,并且对于每个循环,次序可以是不同的。每个循环被定义为在刷新(trefi)窗口内跨所有存储体的一次迭代。存储器控制器典型地只能在循环期间向存储体对发出一次refpb,并且存储器控制器必须在开始另一个循环之前完成遍历所有存储体对进行迭代。这使存储器控制器能够通过选择dram存储体在每个循环中刷新的经改进的次序或最佳次序来实现可能潜在地产生更好的系统性能的方案。

4、如在本文档中所描述,存储器控制器可以包括自适应预充电调度器,所述自适应预充电调度器监视业务并智能地在业务流中插入预充电,其目的是有助于刷新调度器以对dram系统的服务质量的扰乱最小的序列调度每存储体刷新命令。预充电(pre)命令可以关闭dram存储体内的dram单元的行,使得刷新调度器可以向该dram存储体发出refpb命令。

5、自适应预充电调度器可以与事务缓冲器对接(以确定业务条件),获得每个dram存储体的页状态信息,取得关于即将发生的刷新要求的信息(是处于提前(prepone)阶段还是延后(postpone)阶段还是接近trefi最后期限等)并将所有这种数据编织成在主数据接口上生成预充电(pre)命令的决策逻辑。刷新调度器在看到存储体对空闲时进而刷新该存储体对,并且自适应预充电调度器和刷新调度器将能够在很多时候使用refpb命令来完成一个完整刷新循环,并且因此避免本来将会发生的refab失电。

6、通过添加自适应预充电智能,单个接口处置对正常业务以及有助于每存储体刷新的预充电(pre)两者的调度。这保护系统免于在刷新调度器独立地调度预充电而不考虑由请求调度器做出的基于当前业务的决策的情况下可能会引起的冲突决策。

7、自适应预充电调度器可以随时识别每个dram存储体的状态(打开/关闭)。在所有其他条件都相同的情况下,期望选择刷新已经关闭的存储体对。因此,(其中一个存储体已经处于关闭状态的存储体对中的)单个dram存储体可以考虑到该存储体对的业务条件而抢先地关闭,以有助于向该存储体对发出刷新。

8、自适应预充电调度器还跟踪使得针对每个dram存储体设置优先级位的事务的数量。在所有条件都相同的情况下,期望避免向具有优先级事务的存储体发送刷新命令。这避免了对具有优先级请求的存储体对进行预充电,而是导致选择不同的存储体并指引刷新调度器向不同的存储体对发出刷新命令(例如,refpb)。

9、自适应预充电调度器还确保在已经选择性地对存储体或存储体对进行预充电并使其准备好以供刷新调度器向这个存储体对发出刷新命令(例如,refpb)的时间段内,不会进行对存储体对的激活。存储器控制器可以包括定制接口,所述定制接口使得能够进行在自适应预充电调度器与刷新调度器之间的这种通信。

10、通常,本说明书中描述的主题的一个创新方面可以被体现在存储器控制器中,所述存储器控制器包括刷新调度器,所述刷新调度器被配置为向动态随机存取存储器(dram)存储器系统的dram存储体发送刷新命令,dram存储器系统包括被布置在dram存储体组的集合中的dram存储体,dram存储体组各自包括一个或多个dram存储体。存储器控制器包括自适应预充电调度器,所述自适应预充电调度器被配置为基于参数集合来确定每个dram存储体组的优先级得分,参数集合包括以下中的至少一个:(i)指示一个或多个dram存储体的状态的一个或多个状态参数,或者(ii)指示一个或多个dram存储体的数据业务的特性的一个或多个业务条件参数;基于每个dram存储体组的优先级得分来选择要关闭的特定dram存储体组,所述特定dram存储体组关闭以使得该dram存储体组中的每个dram存储体可以由刷新调度器刷新;以及向特定dram组的至少一个dram存储体发送预充电命令。这个方面的其他实现方式包括对应的方法、设备和系统。

11、这些和其他实现方式可以各自可选地包括以下特征中的一个或多个。在一些方面,刷新调度器被配置为检测至少一个dram存储体关闭并且响应于检测到至少一个dram存储体关闭而向至少一个dram存储体发送刷新命令。在一些方面中,检测至少一个dram存储体关闭包括:从自适应预充电调度器接收指示至少一个dram存储体关闭的数据。

12、在一些方面,每个dram存储体组的一个或多个状态参数包括指示dram存储体组中打开的dram存储体的数量的参数。每个dram存储体组的一个或多个业务条件参数可以包括针对dram存储体组接收到的存储器请求的数量。每个dram存储体组的一个或多个业务条件参数可以包括针对dram存储体组接收到的优先级存储器请求的数量。每个dram存储体组的一个或多个业本文档来自技高网...

【技术保护点】

1.一种存储器控制器,包括:

2.如权利要求1所述的存储器控制器,其中所述刷新调度器被配置为检测所述至少一个DRAM存储体关闭并且响应于检测到所述至少一个DRAM存储体关闭而向所述至少一个DRAM存储体发送刷新命令。

3.如权利要求2所述的存储器控制器,其中检测所述至少一个DRAM存储体关闭包括:从所述自适应预充电调度器接收指示所述至少一个DRAM存储体关闭的数据。

4.如任一项前述权利要求所述的存储器控制器,其中每个DRAM存储体组的所述一个或多个状态参数包括指示所述DRAM存储体组中打开的DRAM存储体的数量的参数。

5.如任一项前述权利要求所述的存储器控制器,其中每个DRAM存储体组的所述一个或多个业务条件参数包括针对所述DRAM存储体组接收到的存储器请求的数量。

6.如任一项前述权利要求所述的存储器控制器,其中每个DRAM存储体组的所述一个或多个业务条件参数包括针对所述DRAM存储体组接收到的优先级存储器请求的数量。

7.如任一项前述权利要求所述的存储器控制器,其中每个DRAM存储体组的所述一个或多个业务条件参数包括针对所述DRAM存储体组检测到的存储器请求冲突的数量。

8.如任一项前述权利要求所述的存储器控制器,其中每个DRAM存储体组的所述一个或多个业务条件参数包括针对所述DRAM存储体组检测到的优先级存储器请求冲突的数量。

9.如任一项前述权利要求所述的存储器控制器,其中每个DRAM存储体组的所述优先级得分由得分矢量表示,所述得分矢量基于每个参数的相对重要性而在所述得分矢量内对所述参数集合进行排序。

10.如任一项前述权利要求所述的存储器控制器,其中每个DRAM存储体组的所述一个或多个状态参数包括指示所述DRAM存储体是处于提前阶段、延后阶段还是接近所述DRAM存储体的刷新最后期限的刷新状态。

11.一种方法,包括:

12.如权利要求11所述的方法,还包括:由所述刷新调度器检测所述至少一个DRAM存储体关闭并且响应于检测到所述至少一个DRAM存储体关闭而向所述至少一个DRAM存储体发送刷新命令。

13.如权利要求12所述的方法,其中检测所述至少一个DRAM存储体关闭包括:从所述自适应预充电调度器接收指示所述至少一个DRAM存储体关闭的数据。

14.如权利要求11至13中任一项所述的方法,其中每个DRAM存储体组的所述一个或多个状态参数包括指示所述DRAM存储体组中打开的DRAM存储体的数量的参数。

15.如权利要求11至14中任一项所述的方法,其中每个DRAM存储体组的所述一个或多个业务条件参数包括针对所述DRAM存储体组接收到的存储器请求的数量。

16.如权利要求11至15中任一项所述的方法,其中每个DRAM存储体组的所述一个或多个业务条件参数包括针对所述DRAM存储体组接收到的优先级存储器请求的数量。

17.如权利要求11至16中任一项所述的方法,其中每个DRAM存储体组的所述一个或多个业务条件参数包括针对所述DRAM存储体组检测到的存储器请求冲突的数量。

18.如权利要求11至17中任一项所述的方法,其中每个DRAM存储体组的所述一个或多个业务条件参数包括针对所述DRAM存储体组检测到的优先级存储器请求冲突的数量。

19.如权利要求11至18中任一项所述的方法,其中每个DRAM存储体组的所述优先级得分由得分矢量表示,所述得分矢量基于每个参数的相对重要性而在所述得分矢量内对所述参数集合进行排序。

20.如权利要求11至19中任一项所述的方法,其中每个DRAM存储体组的所述一个或多个状态参数包括指示所述DRAM存储体是处于提前阶段、延后阶段还是接近所述DRAM存储体的刷新最后期限的刷新状态。

...

【技术特征摘要】
【国外来华专利技术】

1.一种存储器控制器,包括:

2.如权利要求1所述的存储器控制器,其中所述刷新调度器被配置为检测所述至少一个dram存储体关闭并且响应于检测到所述至少一个dram存储体关闭而向所述至少一个dram存储体发送刷新命令。

3.如权利要求2所述的存储器控制器,其中检测所述至少一个dram存储体关闭包括:从所述自适应预充电调度器接收指示所述至少一个dram存储体关闭的数据。

4.如任一项前述权利要求所述的存储器控制器,其中每个dram存储体组的所述一个或多个状态参数包括指示所述dram存储体组中打开的dram存储体的数量的参数。

5.如任一项前述权利要求所述的存储器控制器,其中每个dram存储体组的所述一个或多个业务条件参数包括针对所述dram存储体组接收到的存储器请求的数量。

6.如任一项前述权利要求所述的存储器控制器,其中每个dram存储体组的所述一个或多个业务条件参数包括针对所述dram存储体组接收到的优先级存储器请求的数量。

7.如任一项前述权利要求所述的存储器控制器,其中每个dram存储体组的所述一个或多个业务条件参数包括针对所述dram存储体组检测到的存储器请求冲突的数量。

8.如任一项前述权利要求所述的存储器控制器,其中每个dram存储体组的所述一个或多个业务条件参数包括针对所述dram存储体组检测到的优先级存储器请求冲突的数量。

9.如任一项前述权利要求所述的存储器控制器,其中每个dram存储体组的所述优先级得分由得分矢量表示,所述得分矢量基于每个参数的相对重要性而在所述得分矢量内对所述参数集合进行排序。

10.如任一项前述权利要求所述的存储器控制器,其中每个dram存储体组的所述一个或多个状态参数包括指示所述dram存储体是处于提前阶段、延后阶段还是接近所述dram存储体的刷新最后期限的刷新状态。

【专利技术属性】
技术研发人员:纳加拉吉·阿肖克·普蒂文卡特斯瓦兰·阿南撒纳拉亚南普雷蒂·阿肖克库马尔普拉萨尔·苏尼尔库马尔·沙赫贾斯基拉特·辛格
申请(专利权)人:谷歌有限责任公司
类型:发明
国别省市:

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

1