4 DDR5 SDRAM命令描述和操作-41
4.41 刷新管理(RFM)
高DDR5 DRAM活动期间,可能需要额外的刷新命令来保护DRAM数据的完整性。DRAM将通过设置只读的MR58操作码位0(表375)来指示对额外刷新管理(RFM)的要求。OP[0]=0表示除规范中刷新操作部分所需的刷新外,不需要额外的刷新。OP[0]=1表示需要额外的DRAM刷新管理。
控制器对向DRAM发出的每个bank的ACT命令的监视是对Refresh Management的建议实现方式。这个活动可以作为一个滚动累积ACT(RAA)计数来监视。每个ACT命令将使接收ACT命令的单个bank的RAA计数增加1。
当RAA计数器达到DRAM厂商指定的初始管理阈值(RAAIMT)时,即在只读MR58操作码的位4:1中由DRAM厂商设置(表376),需要额外的DRAM刷新管理。执行刷新管理(RFM)命令允许DRAM额外管理刷新时间。RFM操作可以通过RFMab命令应用于DRAM上的所有bank,或者通过RFMsb命令应用于所有bank group中的单个bank地址(BA[1:0])。设置MR58 OP[0]=0的DRAM将忽略RFM命令。
RFM命令的位与REF命令相同,除了CA9。如果刷新管理所需位为“0”(MR58 OP[0]=0),只需要让CA9有效(“V”)。如果刷新管理所需位为“1”(MR58 OP[0]=1),当CA9=”H”时执行REF命令,当CA9=”L”时执行RFMab命令(如果CA10=”L”)或执行RFMsb命令(如果CA10=”H”)。
注意1:刷新全部(Refresh All)和刷新管理全部(Refresh Management All)命令应用于所有bank group中的所有bank。CA6和CA7需要有效("V")。
注意2:刷新同一bank(Refresh Same Bank)和刷新管理同一bank(Refresh Management Same Bank)命令刷新所有bank group中的相同bank位。CA6和CA7上的bank位,即BA0和BA1,分别指定每个bank group中的bank。
注意3:如果刷新管理所需位为“0”(MR58 OP[0]=0),只要求CA9有效("V")。
RFMab和RFMsb命令的持续时间取决于DRAM处于正常刷新模式还是FGR刷新模式。tRFM,min等同于tRFC,min。请参考表格378。
当向DRAM发出RFM命令时,接收该命令的任何bank的RAA计数可以递减RAAIMT值,最小RAA值为0(不允许RFM命令产生负数或“拉入”效果)。发出RFMab命令可以使所有bank的RAA计数减少RAAIMT值。使用BA[1:0]发出RFMsb命令仅允许对所有bank group中的该bank地址进行RAA计数减少,减少量为RAAIMT值。
RFM命令可以累积或“延后”,但RAA计数永远不得超过由DRAM厂商在只读MR58操作码的位7:5中设置的厂商指定RAA最大管理阈值(RAAMMT)(表379)。如果RAA计数达到RAAMMT,则不允许向DRAM bank发出额外的ACT命令,直到发出一条或多条REF或RFM命令以将RAA计数降低至最大值以下为止。
RFM命令的调度应满足与REF命令相同的最小间隔要求(请参考表格280)。
RFM命令不取代控制器向DRAM发出周期性REF命令的要求,也不影响内部刷新计数器。RFM命令是用于DRAM内部管理刷新的额外时间。然而,发出REF命令还允许通过MR59 OP[7:6]设置的值递减RAA计数器,如表格380所示。因此,向DRAM发出的任何周期性REF命令都允许递减正在刷新的bank的RAA计数器根据MR59 OP[7:6]的设置值进行递减。发出REFab命令可以递减所有bank的RAA计数。使用BA[1:0]发出REFsb命令仅允许递减所有bank groups中具有该bank地址的RAA计数。
不允许在进入/退出自刷新状态时递减RAA计数值。进入自刷新状态之前的每个bank计数值在退出自刷新状态后保持不变。