CN117727347A - 一种存储器刷新方法及存储器 - Google Patents
一种存储器刷新方法及存储器 Download PDFInfo
- Publication number
- CN117727347A CN117727347A CN202311633729.8A CN202311633729A CN117727347A CN 117727347 A CN117727347 A CN 117727347A CN 202311633729 A CN202311633729 A CN 202311633729A CN 117727347 A CN117727347 A CN 117727347A
- Authority
- CN
- China
- Prior art keywords
- refresh
- memory
- self
- refreshed
- refreshing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 70
- 239000008187 granular material Substances 0.000 claims description 7
- 230000008569 process Effects 0.000 description 24
- 230000000630 rising effect Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 239000002245 particle Substances 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Landscapes
- Dram (AREA)
Abstract
本申请公开了一种存储器刷新方法及存储器,其中,所述方法包括:基于接收自我刷新请求的时刻,确定利用第一刷新方式完成当前待刷新任务对应的第一消耗时长;比对所述第一消耗时长与以第二刷新方式完成当前待刷新任务对应的第二消耗时长,以确定在进入自我刷新状态前,对所述存储器中存储块的自动刷新策略;其中,所述第一刷新方式和第二刷新方式采用不同的刷新单元;基于所述自动刷新策略完成所述当前待刷新任务后,基于所述自我刷新请求,进入自我刷新状态。
Description
技术领域
本申请实施例涉及存储领域,涉及但不限于一种存储器刷新方法及存储器。
背景技术
低功耗内存(Low Power Double Data Rate Synchronous Dynamic RandomAccess Memory,LPDDR)是DDR SDRAM的一种。LPDDR5在两次进入自我刷新(Self-refresh)状态之间需要发送自动刷新(Refresh)命令来满足协议要求。使用单个存储体刷新(Per-bank refresh)作为Refresh方式时,需要分次(每次2个Bank)发送不同目标存储块(Bank)的刷新(Refresh)命令。使用全存储体刷新(All-bank refresh)作为Refresh方式时,只需要发送1次Refresh all-bank命令来完成Refresh操作。从性能的角度考虑,All-bankrefresh时,需要关闭所有Bank,来进行Refresh操作。在满足时序要求后,需要重新打开相应的Bank进行读写操作;而Per-bank refresh只需要关闭2个Bank来进行Refresh操作,而其它14个Bank此时均可以进行正常读写操作。为了保证性能需求,DDR往往采用Per-bankrefresh的方式。在采用Per-bank refresh作为Refresh方式时,每当需要发送Self-refresh命令使双倍速率同步动态随机存储器(Double Data Rate,DDR)或DDR控制器进入低功耗状态时,需要发送的Per-bank refresh导致发送Self-refresh命令需等待很长时间,影响DDR或DDR controller进入低功耗的时间。
发明内容
有鉴于此,本申请实施例提供一种存储器刷新方法及存储器。
本申请实施例的技术方案是这样实现的:
第一方面,本申请实施例提供一种存储器刷新方法,所述方法包括:
基于接收自我刷新请求的时刻,确定利用第一刷新方式完成当前待刷新任务对应的第一消耗时长;
比对所述第一消耗时长与以第二刷新方式完成当前待刷新任务对应的第二消耗时长,以确定在进入自我刷新状态前,对所述存储器中存储块的自动刷新策略;其中,所述第一刷新方式和第二刷新方式采用不同的刷新单元;
基于所述自动刷新策略完成所述当前待刷新任务后,基于所述自我刷新请求,进入自我刷新状态。
第二方面,本申请实施例提供一种存储器,所述存储器包括:记录模块、比较模块和控制模块,
所述记录模块,用于记录待刷新任务参数,所述待刷新任务参数和刷新时长相关;
所述比较模块,用于基于接收自我刷新请求的时刻,获取所述记录模块记录的当前待刷新任务参数,以比对以第一刷新方式完成待刷新任务所需的第一消耗时长与以第二刷新方式完成当前待刷新任务对应的第二消耗时长,并输出比较信号,所述比较信号对应于用于完成待刷新任务的自动刷新策略;其中,所述第一刷新方式和第二刷新方式采用不同的刷新单元;
控制模块,用于响应于所述比较信号,确定与所述比较信号对应的完成待刷新任务的自动刷新策略,并以所述自动刷新策略完成所述待刷新任务后,控制所述存储器进入与所述自我刷新请求对应的自我刷新状态;所述自动刷新策略包括第一刷新方式和第二刷新方式中的至少一种。
本申请实施例中,首先基于接收自我刷新请求的时刻,确定利用第一刷新方式完成当前待刷新任务对应的第一消耗时长;然后比对所述第一消耗时长与以第二刷新方式完成当前待刷新任务对应的第二消耗时长,以确定在进入自我刷新状态前,对所述存储器中存储块的自动刷新策略;基于所述自动刷新策略完成所述当前待刷新任务后,基于所述自我刷新请求,进入自我刷新状态。这样,可以确定一个刷新用时较短的刷新方式完成当前待刷新任务的刷新,减少发送自我刷新请求的等待时间,以使得存储器能够尽快进入低功耗状态,有效降低存储器的功耗。
附图说明
图1A为本申请实施例提供的一种存储器刷新方法的实现流程示意图;
图1B为本申请实施例提供的一种确定刷新策略方法的实现流程示意图;
图1C为本申请实施例提供的一种确定存储块数量阈值方法的实现流程示意图;
图1D为本申请实施例提供的一种存储器刷新方法的实现流程示意图;
图2为本申请实施例提供的一种存储器的组成结构示意图;
图3为本申请实施例提供的一种Self-refresh命令发送的实现流程示意图;
图4为本申请实施例提供的一种Self-refresh命令发送的实现流程示意图;
图5为本申请实施例提供的一种Self-refresh命令发送的实现流程示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对申请实施例的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
本申请实施例提供一种存储器刷新方法,如图1A所示,该方法包括:
步骤S110、基于接收自我刷新请求的时刻,确定利用第一刷新方式完成当前待刷新任务对应的第一消耗时长;
这里,自我刷新(self-refresh)是一种自动化程度相较于自动刷新(autorefresh)更高的存储器刷新操作。可以通过发送自我刷新请求,使颗粒(存储器)进入自我刷新状态。在自我刷新状态下的颗粒会自己周期性的进行刷新,而不需要接受外部的刷新(refresh)命令,是一种低功耗的状态。
DDR的刷新,例如LPDDR5的刷新方式,有自动刷新(auto refresh)有两类,即全存储器刷新(all bank refresh,refab)和单个存储体刷新(per bank prefresh,refpb),其中,all bank refresh,对该颗粒的所有bank都进行刷新。per bank refresh则是对特定的存储块对(bank-pair)进行刷新。
这里,第一刷新方式可以为refpb。在实施过程中,可以在接收self-refresh请求的时刻,确定利用refpb完成当前待刷新任务对应的第一消耗时长。举例来说,LPDDR5当前待刷新任务对应待发送refpb命令数量为3个的情况下,利用refpb完成当前待刷新任务消耗的第一消耗时长为可以利用以下公式(1)得到:
第一消耗时长=tpbR2pbR*2+tRFCpb(1);
其中,tpbR2pbR为refpb到refpb的最短时间,tRFCpb为发送完最后一个per bankrefresh命令到Self-refresh命令需要满足的最小时延。以32Gb颗粒的LPDDR5为例,refpb时间要求为90纳秒(ns),tRFCpb的时间要求为190ns。
在实施过程中,利用以上公式(1)可以确定在当前待刷新任务对应待发送refpb命令数量为3个的情况下,利用refpb完成当前待刷新任务消耗的时间为90*2+190=370ns。
再举例来说,LPDDR5当前待刷新任务对应待发送refpb命令数量为4个的情况下,利用refpb完成当前待刷新任务消耗的第一消耗时长为可以利用以下公式(2)得到:
第一消耗时长=tpbR2pbR*3+tRFCpb(2);
以32Gb颗粒的LPDDR5为例,refpb时间要求为90纳秒(ns),tRFCpb的时间要求为190ns。利用以上公式(2)可以确定在当前待刷新任务对应待发送refpb命令数量为4个的情况下,利用refpb完成当前待刷新任务消耗的时间为90*3+190=460ns。
步骤S120、比对所述第一消耗时长与以第二刷新方式完成当前待刷新任务对应的第二消耗时长,以确定在进入自我刷新状态前,对所述存储器中存储块的自动刷新策略;其中,所述第一刷新方式和第二刷新方式采用不同的刷新单元;
这里,第二刷新方式可以为refab,利用该refab刷新方式对该颗粒的所有bank都进行刷新。举例来说,LPDDR5在发送self-refresh命令距离发送All-bank refresh命令需要等待的最小时延为380ns。
在实施过程中,可以比对第一刷新方式的第一消耗时长与第二刷新方式的第二消耗时长,以确定消耗时长较短的一种刷新方式,在进入自我刷新状态前,采用该消耗时长较短的刷新方式完成当前待刷新任务,以使得存储器尽快进入低功耗状态。
举例来说,第一刷新方式可以为refpb,第二刷新方式可以为refab。LPDDR5当前待刷新任务对应待发送refpb命令数量为3个的情况下,利用refpb完成当前待刷新任务的第一消耗时长为370ns,利用refab完成当前待刷新任务的第二消耗时长为380ns。利用比较电路确定第一消耗时长为370ns小于第二消耗时长为380ns,可以利用refpb完成刷新。
步骤S130、基于所述自动刷新策略完成所述当前待刷新任务后,基于所述自我刷新请求,进入自我刷新状态。
在实施过程中,在完成当前待刷新任务后,可以基于自我刷新请求,进入自我刷新状态,以使得存储器进入低功耗状态。
本申请实施例中,首先基于接收自我刷新请求的时刻,确定利用第一刷新方式完成当前待刷新任务对应的第一消耗时长;然后比对所述第一消耗时长与以第二刷新方式完成当前待刷新任务对应的第二消耗时长,以确定在进入自我刷新状态前,对所述存储器中存储块的自动刷新策略;基于所述自动刷新策略完成所述当前待刷新任务后,基于所述自我刷新请求,进入自我刷新状态。这样,可以确定一个刷新用时较短的刷新方式完成当前待刷新任务的刷新,减少发送自我刷新请求的等待时间,以使得存储器能够尽快进入低功耗状态,有效降低存储器的功耗。
在一些实施例中,以上步骤S120中“比对所述第一消耗时长与以第二刷新方式完成当前待刷新任务对应的第二消耗时长,以确定在进入自我刷新状态前,对所述存储器中存储块的自动刷新策略”可以通过以下过程A实现:
利用所述存储器的比较电路比对所述第一消耗时长与所述第二消耗时长,以确定在进入自我刷新状态前,对所述存储器中存储块的刷新策略。
这里,可以利用设置在存储器中的比较电路,用于对比第一消耗时长与第二消耗时长。基于该比较电路的比较结果,确定在进入自我刷新状态前,对所述存储器中存储块的刷新策略。
本申请实施例中,利用所述存储器的比较电路比对所述第一消耗时长与所述第二消耗时长,以确定在进入自我刷新状态前,对所述存储器中存储块的刷新策略。这样,可以利用设置于存储器中的比较电路实现第一消耗时长与第二消耗时长的比较,以确定一个刷新时长较短的刷新策略。
在一些实施例中,以上过程A“利用所述存储器的比较电路比对所述第一消耗时长与所述第二消耗时长,以确定在进入自我刷新状态前,对所述存储器中存储块的刷新策略”如图1B所示,可以通过以下步骤实现:
步骤S121、利用所述比较电路确定所述第一消耗时长大于所述第二消耗时长的情况下,在进入自我刷新状态前,利用所述第二刷新方式完成刷新;
在实施过程中,利用比较电路确定所述第一消耗时长大于所述第二消耗时长,则可以在进入自我刷新状态前,利用消耗时长较短的第二刷新方式完成刷新。
举例来说,第一刷新方式可以为refpb,第二刷新方式可以为refab。LPDDR5当前待刷新任务对应待发送refpb命令数量为4个的情况下,利用refpb完成当前待刷新任务的第一消耗时长为460ns,利用refab完成当前待刷新任务的第二消耗时长为380ns。利用比较电路确定第一消耗时长为460ns大于第二消耗时长为380ns,可以利用refab完成刷新。
步骤S122、利用所述比较电路确定所述第一消耗时长小于等于所述第二消耗时长的情况下,在进入自我刷新状态前,利用所述第一刷新方式完成刷新。
在实施过程中,利用比较电路确定第一消耗时长小于等于第二消耗时长的情况下,则可以在进入自我刷新状态前,利用消耗时长较短的第一刷新方式完成刷新。
举例来说,第一刷新方式可以为refpb,第二刷新方式可以为refab。LPDDR5当前待刷新任务对应待发送refpb命令数量为3个的情况下,利用refpb完成当前待刷新任务的第一消耗时长为370ns,利用refab完成当前待刷新任务的第二消耗时长为380ns。利用比较电路确定第一消耗时长为370ns小于第二消耗时长为380ns,可以利用refpb完成刷新。
在实施过程中,对步骤S121和步骤S122的执行先后顺序不做要求。
本申请实施例中,利用所述比较电路确定所述第一消耗时长大于所述第二消耗时长的情况下,在进入自我刷新状态前,利用所述第二刷新方式完成刷新;利用所述比较电路确定所述第一消耗时长小于等于所述第二消耗时长的情况下,在进入自我刷新状态前,利用所述第一刷新方式完成刷新。这样,确定的刷新方式是耗时较短的一种刷新方式。
在一些实施例中,刷新存储器还包括以下步骤:
步骤S140、基于所述存储器的颗粒参数,确定存储块数量阈值。
这里,存储器的颗粒参数至少包括tpbR2pbR、tRFCpb和tRFCab,其中,tpbR2pbR为refpb到refpb的最短时间;tRFCpb为从执行对某个BANK刷新命令后,对任意一个其它BANK刷新或者其自身激活前所需要的最小延;tRFCab是指从一个针对所有BANK刷新命令后,对任意一个BNAK操作之前所需要的最小延迟。
在实施过程中,可以基于以上存储器的颗粒参数,确定使用refpb刷新存储块数量耗时小于使用refab耗时的情况下,对应能够刷新的最大存储块数量。可以将该最大存储块数量确定为储块数量阈值。
对应地,以上步骤S120中“比对所述第一消耗时长与以第二刷新方式完成当前待刷新任务对应的第二消耗时长,以确定在进入自我刷新状态前,对所述存储器中存储块的自动刷新策略”可以通过以下过程B实现:
比对所述第一消耗时长对应待刷新的目标存储块数量与所述存储块数量阈值,以确定在进入自我刷新状态前,对所述存储器中存储块的刷新策略。
在实施过程中,可以先确定待刷新的目标存储块数量,在比对目标存储块数量与存储块数量阈值。举例来说,可以在确定该目标存储块数量大于存储块数量阈值的情况下,在进入自我刷新状态前,利用refab刷新方式完成刷新。确定目标存储块数量小于等于存储块数量阈值的情况下,在进入自我刷新状态前,利用refpb刷新方式完成刷新。
本申请实施例中,首先基于所述存储器的颗粒参数,确定存储块数量阈值。然后比对所述第一消耗时长对应待刷新的目标存储块数量与所述存储块数量阈值,以确定在进入自我刷新状态前,对所述存储器中存储块的刷新策略。这样,可以通过比对待刷新的目标存储块数量与存储块数量阈值,确定刷新策略。
在一些实施例中,以上步骤S140“基于所述存储器的颗粒参数,确定存储块数量阈值”如图1C所示,可以通过以下步骤实现:
步骤S141、基于所述存储器的颗粒参数,确定利用所述第一刷新方式刷新所述存储块的用时小于所述第二消耗时长的情况下,所述第一刷新方式能够刷新的最大存储块数量;
在实施过程中,可以利用以下公式(3)确定存储块数量阈值:
tpbR2pbR*(n-1)+tRFCpb≤T (3);
其中,tpbR2pbR为refpb到refpb的最短时间,n为存储块数量,tRFCpb为发送完最后一个per bank refresh命令到Self-refresh命令需要满足的最小时延,T为利用refab完成刷新存储器所需要的时间。在实施过程中,可以将n的最大值nmax确定为存储块数量阈值。
举例来说,第一刷新方式可以为refpb,第二刷新方式可以为refab。LPDDR5当前待刷新任务对应待发送refpb命令数量为3个的情况下,利用refpb完成当前待刷新任务的第一消耗时长为370ns;当前待刷新任务对应待发送refpb命令数量为4个的情况下,利用refpb完成当前待刷新任务的第一消耗时长为460ns,利用refab完成当前待刷新任务的第二消耗时长为380ns。这样,可以确定利用所述refpb刷新所述存储块的用时小于所述380ns的情况下,所述refpb刷新方式能够刷新的最大存储块数量为3。则可以将数量3确定为存储块数量阈值。
步骤S142、将所述第一刷新方式能够刷新的最大存储块数量确定为所述存储块数量阈值。
本申请实施例中,基于所述存储器的颗粒参数,确定利用所述第一刷新方式刷新所述存储块的用时小于所述第二消耗时长的情况下,所述第一刷新方式能够刷新的最大存储块数量;将所述第一刷新方式能够刷新的最大存储块数量确定为所述存储块数量阈值。这样,可以利用存储器的颗粒参数确定能够确定刷新策略的存储块数量阈值。
在一些实施例中,刷新存储器还包括以下步骤:
步骤S150、从所述存储器中的计数器获取所述目标存储块数量,所述计数器用于记录待刷新的目标存储块数量;
这里,该计数器可以为设置于存储器中的tREFipb计数器。在实施过程中,可以利用该tREFipb计数器记录待刷新的目标存储块数量。
对应地,以上过程B“比对所述第一消耗时长对应待刷新的目标存储块数量与所述存储块数量阈值,以确定在进入自我刷新状态前,对所述存储器中存储块的刷新策略”可以通过以下过程C实现:
利用所述存储器中的比较电路比对所述目标存储块数量与所述存储块数量阈值,以确定在进入自我刷新状态前,对所述存储器中存储块的刷新策略。
在实施过程中,可以利用所述比对电路确定所述目标存储块数量大于所述存储块数量阈值的情况下,在进入自我刷新状态前,利用所述第二刷新方式完成刷新。
利用所述比对电路确定所述目标存储块数量小于等于所述存储块数量阈值的情况下,在进入自我刷新状态前,利用所述第一刷新方式完成刷新。
本申请实施例中,首先从所述存储器中的计数器获取所述目标存储块数量,所述计数器用于记录待刷新的目标存储块数量;然后利用所述存储器中的比较电路比对所述目标存储块数量与所述存储块数量阈值,以确定在进入自我刷新状态前,对所述存储器中存储块的刷新策略。这样,可以利用计数器获取目标存储块数量,利用设置于存储器中的比较电路实现第一消耗时长与第二消耗时长的比较,以确定一个刷新时长较短的刷新策略。
在一些实施例中,如图1D所示,刷新存储器还包括以下步骤:
步骤S160、在基于所述自我刷新请求,进入自我刷新状态之前,响应并缓存新的自动刷新请求;
在实施过程中,如果正在执行auto refresh的过程中,tREFipb计数器有新的autorefresh请求产生,可以在进入自我刷新状态之前,响应并缓存新产生的auto refresh请求,即该新产生的auto refresh请求不会在发送Self-refresh命令前被执行。
步骤S170、在所述自我刷新状态退出后,执行所述新的自动刷新请求对应的自动刷新任务。
本申请实施例中,在基于所述自我刷新请求,进入自我刷新状态之前,响应并缓存新的自动刷新请求;在所述自我刷新状态退出后,执行所述新的自动刷新请求对应的自动刷新任务。这样,新的自动刷新请求在等待退出Self-refresh状态后执行,可以实现存储器快速进入低功耗状态的目的。
本申请实施例提供一种存储器,如图2所示,该存储器包括记录模块21、比较模块22、控制模块23和存储块24,其中,
所述记录模块21,用于记录待刷新任务参数,所述待刷新任务参数和刷新待刷新存储块24的时长相关;
这里,记录模块21可以为设置于存储器中的计数器。
在一些实施例中,待刷新任务参数可以为刷新任务所需的刷新时长,该计数器可以用于该刷新时长。
在一些实施例中,待刷新任务参数可以为待刷新的存储块数量,该计数器可以用于记录待刷新的存储块数量,该待刷新的存储块数量与刷新时长相关。
所述比较模块22,用于基于接收自我刷新请求的时刻,获取所述记录模块记录的当前待刷新任务参数,以比对以第一刷新方式完成待刷新任务所需的第一消耗时长与以第二刷新方式完成当前待刷新任务对应的第二消耗时长,并输出比较信号,所述比较信号对应于用于完成待刷新任务的自动刷新策略;其中,所述第一刷新方式和第二刷新方式采用不同的刷新单元;
这里,比较模块22可以为设置于存储器中的比较电路,用于基于接收自我刷新请求的时刻,获取当前待刷新任务参数,再比对以第一刷新方式完成待刷新任务所需的第一消耗时长与以第二刷新方式完成当前待刷新任务对应的第二消耗时长,并输出比较信号。
控制模块23,用于响应于所述比较信号,确定与所述比较信号对应的完成待刷新任务的自动刷新策略,并以所述自动刷新策略完成所述待刷新任务后,控制所述存储器进入与所述自我刷新请求对应的自我刷新状态;所述自动刷新策略包括第一刷新方式和第二刷新方式中的至少一种。
本申请实施例中,存储器包括记录模块21、比较模块22、控制模块23和存储块24。可以利用记录模块21、比较模块22确定一种耗时较短的刷新方式,再利用控制模块23基于耗时较短的刷新方式完成当前待刷新任务的刷新,减少发送自我刷新请求的等待时间,以使得存储器能够尽快进入低功耗状态,有效降低存储器的功耗。
在一些实施例中,所述记录模块包括计数器,所述当前待刷新任务参数包括待刷新的目标存储块数量,
所述计数器,用于记录所述待刷新的目标存储块数量;
这里,该计数器可以为设置于存储器中的tREFipb计数器。在实施过程中,可以利用该tREFipb计数器记录待刷新的目标存储块数量。
所述比较模块,用于基于所述接收自我刷新请求的时刻,获取所述记录模块记录的所述待刷新的目标存储块数量,以比对所述待刷新的目标存储块数量与存储块数量阈值,并输出比较信号,所述比较信号对应于用于完成待刷新任务的自动刷新策略,其中,存储块数量阈值是基于所述存储器的颗粒参数确定的。
在实施过程中,可以利用所述比对电路确定所述目标存储块数量大于所述存储块数量阈值的情况下,在进入自我刷新状态前,并输出比较信号,以利用所述第二刷新方式完成刷新。
利用所述比对电路确定所述目标存储块数量小于等于所述存储块数量阈值的情况下,在进入自我刷新状态前,并输出比较信号,以利用所述第一刷新方式完成刷新。
本申请实施例中,记录模块包括计数器,用于记录所述待刷新的目标存储块数量;比较模块,用于基于所述接收自我刷新请求的时刻,获取所述记录模块记录的所述待刷新的目标存储块数量,以比对所述待刷新的目标存储块数量与存储块数量阈值,并输出比较信号,所述比较信号对应于用于完成待刷新任务的自动刷新策略。这样,可以利用计数器获取待刷新的目标存储块数量。在利用比较模块,以比对所述待刷新的目标存储块数量与存储块数量阈值,并输出比较信号,以利用该比较信号确定一个耗时较短的刷新策略。
在一些实施例中,所述控制模块,还用于在基于所述自我刷新请求,进入自我刷新状态之前,响应并缓存新的自动刷新请求;在所述自我刷新状态退出后,执行所述新的自动刷新请求对应的自动刷新任务。
本申请实施例中,在基于所述自我刷新请求,进入自我刷新状态之前,响应并缓存新的自动刷新请求;在所述自我刷新状态退出后,执行所述新的自动刷新请求对应的自动刷新任务。这样,新的自动刷新请求在等待退出Self-refresh状态后执行,可以实现存储器快速进入低功耗状态的目的。
现有技术的解决方案为:每当收到Self-refresh请求时,发送所有8次Per-bankrefresh命令,待时序满足后再发送Self-refresh命令。
该解决方案会导致发送Self-refresh命令需等待很长时间,具体原因如下:
(1)Per-bank refresh命令之间需要满足时序要求tpbR2pbR,以32Gb颗粒为例,该时间要求为tpbR2pbR=90ns。另外,在发送完最后一个Per-bank refresh命令到Self-refresh命令需要满足tRFCpb,该时间要求为tRFCpb=190ns。
如图3所示,当等待发送的Per-bank refresh的数量为8个时(对应图中REFpb的时序图中的八个脉冲),采用此种方式来进入Self-refresh状态至少需要tpbR2pbR*7+tRFCpb=820ns。如图3所示,SR为自我刷新的时序表示,从上升沿n开始自我刷新,即等待tpbR2pbR*7+tRFCpb时长后开始自我刷新。
(2)在此过程中,由于计算Per-bank refresh的计数器(该时间间隔为tREFipb=488ns)还是处于计数状态。因此,还是会产生正常的Per-bank refresh请求,进入Self-refresh状态的时间还会因此往后推迟。
(3)由于采用Per-bank refresh的模式,有些DDR controller在关闭Bank时采用的是Per-bank Pre-charge的方式。在这种方式下,如果需要关闭所有16个Bank,需要发送16个Per-bank Pre-charge命令,会造成一定时间的冗余。
针对上述解决方案的缺陷,本申请实施例提出:根据当前需要完成的Per-bankrefresh的存储块数量来动态判断需要执行Per-bank refresh或All-bank refresh命令。
由于发送All-bank refresh命令需要的等待时间要求为380ns,因此,通过计算可以得出:
如图4所示,当等待发送的Per-bank refresh的数量为3个时(对应图中REFpb的时序图中的三个脉冲),消耗的时间为tpbR2pbR*2+tRFCpb=370ns,小于发送All-bankrefresh命令所需的等待时间。因此,当需要发送的Per-bank refresh命令数小于等于3时,选择发送Per-bank refresh命令的方式来进行refresh操作。如图4所示,SR为自我刷新的时序表示,从上升沿n开始自我刷新,即等待tpbR2pbR*2+tRFCpb时长后开始自我刷新。
当等待发送的Per-bank refresh的数量大于3个时,消耗的时间至少需要tpbR2pbR*3+tRFCpb=460ns,大于All-bank refresh命令需要的380ns。如图5所示,此时选择用All-bank refresh的方式(对应图中REFab的时序图中的上升沿a)进行refresh操作,需要的等待时间为tRFCab=380ns。如图5所示,SR为自我刷新的时序表示,从上升沿n开始自我刷新,即距离上一刷新命令(即上升沿a)等待tRFCab时长后发送self-refresh命令(即上升沿n),进入自我刷新状态。
在实施过程中,等待执行的Per-bank refresh的数量不超过3个时,采用Per-bankrefresh的方式将需要发送的refresh操作处理完。等待执行的Per-bank refresh的数量超过3个时,采用All-bank refresh的方式将需要发送的refresh操作处理完。
在实施过程中,若tREFipb计数器有新的refresh请求产生,新产生的请求不会在发送Self-refresh命令前被执行。而是等待退出Self-refresh状态后执行,从而实现了快速进入低功耗状态的目的。
采用本申请实施例的优势是:减少发送Self-refresh命令的等待时间,从而更快的进入低功耗状态。
以上存储器实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备(可以是手机、平板电脑、笔记本电脑、台式计算机等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
这里需要指出的是:以上存储器实施例的描述,与上述存储器刷新方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的存储器和存储器刷新方法,可以通过其它的方式实现。以上所描述的存储器实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备(可以是手机、平板电脑、笔记本电脑、台式计算机等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或存储器实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或存储器实施例。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种存储器刷新方法,所述方法包括:
基于接收自我刷新请求的时刻,确定利用第一刷新方式完成当前待刷新任务对应的第一消耗时长;
比对所述第一消耗时长与以第二刷新方式完成当前待刷新任务对应的第二消耗时长,以确定在进入自我刷新状态前,对所述存储器中存储块的自动刷新策略;其中,所述第一刷新方式和第二刷新方式采用不同的刷新单元;
基于所述自动刷新策略完成所述当前待刷新任务后,基于所述自我刷新请求,进入自我刷新状态。
2.如权利要求1所述的方法,所述比对所述第一消耗时长与以第二刷新方式完成待刷新任务对应的第二消耗时长,以确定在进入自我刷新状态前,对所述存储器中存储块的刷新策略,包括:
利用所述存储器的比较电路比对所述第一消耗时长与所述第二消耗时长,以确定在进入自我刷新状态前,对所述存储器中存储块的刷新策略。
3.如权利要求2所述的方法,所述利用所述存储器的比较电路比对所述第一消耗时长与所述第二消耗时长,以确定在进入自我刷新状态前,对所述存储器中存储块的刷新策略,包括:
利用所述比较电路确定所述第一消耗时长大于所述第二消耗时长的情况下,在进入自我刷新状态前,利用所述第二刷新方式完成刷新;
利用所述比较电路确定所述第一消耗时长小于等于所述第二消耗时长的情况下,在进入自我刷新状态前,利用所述第一刷新方式完成刷新。
4.如权利要求1所述的方法,所述方法还包括:
基于所述存储器的颗粒参数,确定存储块数量阈值;
对应地,所述比对所述第一消耗时长与以第二刷新方式完成待刷新任务对应的第二消耗时长,以确定在进入自我刷新状态前,对所述存储器中存储块的刷新策略,包括:
比对所述第一消耗时长对应待刷新的目标存储块数量与所述存储块数量阈值,以确定在进入自我刷新状态前,对所述存储器中存储块的刷新策略。
5.如权利要求4所述的方法,所述基于所述存储器的颗粒参数,确定存储块数量阈值,包括:
基于所述存储器的颗粒参数,确定利用所述第一刷新方式刷新所述存储块的用时小于所述第二消耗时长的情况下,所述第一刷新方式能够刷新的最大存储块数量;
将所述第一刷新方式能够刷新的最大存储块数量确定为所述存储块数量阈值。
6.如权利要求4所述的方法,所述方法还包括:
从所述存储器中的计数器获取所述目标存储块数量,所述计数器用于记录待刷新的目标存储块数量;
对应地,所述比对所述第一消耗时长对应待刷新的目标存储块数量与所述存储块数量阈值,以确定在进入自我刷新状态前,对所述存储器中存储块的刷新策略,包括:
利用所述存储器中的比较电路比对所述目标存储块数量与所述存储块数量阈值,以确定在进入自我刷新状态前,对所述存储器中存储块的刷新策略。
7.如权利要求1至6任一项所述的方法,所述方法还包括:
在基于所述自我刷新请求,进入自我刷新状态之前,响应并缓存新的自动刷新请求;
在所述自我刷新状态退出后,执行所述新的自动刷新请求对应的自动刷新任务。
8.一种存储器,所述存储器包括:记录模块、比较模块、控制模块和存储块,其中,
所述记录模块,用于记录待刷新任务参数,所述待刷新任务参数和刷新待刷新存储块的时长相关;
所述比较模块,用于基于接收自我刷新请求的时刻,获取所述记录模块记录的当前待刷新任务参数,以比对以第一刷新方式完成待刷新任务所需的第一消耗时长与以第二刷新方式完成当前待刷新任务对应的第二消耗时长,并输出比较信号,所述比较信号对应于用于完成待刷新任务的自动刷新策略;其中,所述第一刷新方式和第二刷新方式采用不同的刷新单元;
控制模块,用于响应于所述比较信号,确定与所述比较信号对应的完成待刷新任务的自动刷新策略,并以所述自动刷新策略完成所述待刷新任务后,控制所述存储器进入与所述自我刷新请求对应的自我刷新状态;所述自动刷新策略包括第一刷新方式和第二刷新方式中的至少一种。
9.如权利要求8所述的存储器,所述记录模块包括计数器,所述当前待刷新任务参数包括待刷新的目标存储块数量,
所述计数器,用于记录所述待刷新的目标存储块数量;
所述比较模块,用于基于所述接收自我刷新请求的时刻,获取所述记录模块记录的所述待刷新的目标存储块数量,以比对所述待刷新的目标存储块数量与存储块数量阈值,并输出比较信号,所述比较信号对应于用于完成待刷新任务的自动刷新策略,其中,存储块数量阈值是基于所述存储器的颗粒参数确定的。
10.如权利要求8或9所述的存储器,
所述控制模块,还用于在基于所述自我刷新请求,进入自我刷新状态之前,响应并缓存新的自动刷新请求;在所述自我刷新状态退出后,执行所述新的自动刷新请求对应的自动刷新任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311633729.8A CN117727347A (zh) | 2023-11-30 | 2023-11-30 | 一种存储器刷新方法及存储器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311633729.8A CN117727347A (zh) | 2023-11-30 | 2023-11-30 | 一种存储器刷新方法及存储器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117727347A true CN117727347A (zh) | 2024-03-19 |
Family
ID=90204388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311633729.8A Pending CN117727347A (zh) | 2023-11-30 | 2023-11-30 | 一种存储器刷新方法及存储器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117727347A (zh) |
-
2023
- 2023-11-30 CN CN202311633729.8A patent/CN117727347A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11133050B2 (en) | Memory device, memory system, and method for refreshing memory device | |
US9824742B1 (en) | DRAM access in self-refresh state | |
EP1749300B1 (en) | Method and system for providing directed bank refresh for volatile memories | |
KR100870478B1 (ko) | 휘발성 메모리들에 대한 독립적 뱅크 리프레시를 제공하는방법 및 시스템 | |
JP6169658B2 (ja) | 有向自動リフレッシュ同期 | |
EP1751769B1 (en) | Method and system for providing seamless self-refresh for directed bank refresh in volatile memories | |
US6876593B2 (en) | Method and apparatus for partial refreshing of DRAMS | |
US9336855B2 (en) | Methods and systems for smart refresh of dynamic random access memory | |
US11967353B2 (en) | Memory with programmable refresh order and stagger time | |
US11581031B2 (en) | Memory with partial bank refresh | |
TW201917558A (zh) | 使由於記憶體子系統中的刷新操作引起的效能降級最小化 | |
US6941415B1 (en) | DRAM with hidden refresh | |
US20100097874A1 (en) | Method and apparatus for performing refreshes | |
US7536519B2 (en) | Memory access control apparatus and method for accomodating effects of signal delays caused by load | |
US10878879B2 (en) | Refresh control method for memory system to perform refresh action on all memory banks of the memory system within refresh window | |
CN117727347A (zh) | 一种存储器刷新方法及存储器 | |
JP2002008371A (ja) | 半導体記憶装置 | |
US7042786B2 (en) | Memory with adjustable access time | |
CN116897395A (zh) | 一种存储器的刷新方法、存储器、控制器及存储系统 | |
US6909657B2 (en) | Pseudostatic memory circuit | |
US20240112717A1 (en) | Memory with deterministic worst-case row address servicing, and associated systems, devices, and methods | |
US20080228950A1 (en) | Memory power down mode exit method and system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |