1.本公开涉及
存储器技术领域,具体而言,涉及一种存储器刷新方法、装置、电子设备、可读存储介质及存储器系统。
背景技术:
2.随机存取存储器(random access memory),例如动态随机存取存储器(dynamic ram,dram)、静态随机存取存储器(static ram,sram)等等,是易挥发的存储器,需要不断进行刷新操作以保持
数据不丢失。但是刷新操作不仅会阻碍正常访问存储器的执行,造成性能上的开销,而且会增大功耗,降低系统性能。如何对存储器的刷新操作进行控制,减少不必要的刷新,以降低性能上的开销、降低功耗并提高系统性能,成为亟待解决的问题。
3.在
所述背景技术部分公开的上述信息仅用于加强对本公开的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现要素:
4.本公开的目的在于提供一种存储器刷新方法、装置、电子设备、可读存储介质及存储器系统,至少在一定程度上减少存储器不必要的刷新,以降低性能上的开销、降低功耗并提高系统性能。
5.本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
6.根据本公开的一方面,提供一种存储器刷新方法,包括:对于
目标存储阵列中多行存储单元的各个行,获得各个行的数据保持时间;获得所述目标存储阵列的各个行的预设刷新间隔;响应于接收第一刷新信号,基于各个行的数据保持时间与预设刷新间隔的第一倍数之间的大小关系判断是否对各个行执行与所述第一刷新信号对应的刷新操作,获得各个行的判断结果;根据所述各个行的判断结果对各个行确定是否执行与所述第一刷新信号对应的刷新操作。
7.根据本公开的一实施例,所述多行存储单元包括第一目标刷新行,所述第一刷新信号包括针对第一目标刷新行的刷新命令;响应于接收第一刷新信号,基于各个行的数据保持时间与预设刷新间隔的第一倍数之间的大小关系判断是否对各个行执行与所述第一刷新信号对应的刷新操作,获得各个行的判断结果,包括:响应于接收所述针对第一目标刷新行的刷新命令,获得第一目标刷新行的未刷新计数;根据第一目标刷新行的数据保持时间、所述第一目标刷新行的未刷新计数和所述第一目标刷新行的预设刷新间隔判断是否对所述第一目标刷新行执行与所述针对第一目标刷新行的刷新命令对应的刷新操作,获得第一目标刷新行的判断结果。
8.根据本公开的一实施例,根据第一目标刷新行的数据保持时间、所述第一目标刷新行的未刷新计数和所述第一目标刷新行的预设刷新间隔判断是否对所述第一目标刷新行执行与所述针对第一目标刷新行的刷新命令对应的刷新操作,获得第一目标刷新行的判
断结果,包括:根据所述第一目标刷新行的数据保持时间、所述第一目标刷新行的未刷新计数和所述第一目标刷新行的预设刷新间隔获得第一目标刷新行的当前剩余数据保持时间;根据所述第一目标刷新行的当前剩余数据保持时间与所述预设刷新间隔的第一倍数之间的大小关系判断是否对所述第一目标刷新行执行与所述针对第一目标刷新行的刷新命令对应的刷新操作,获得第一目标刷新行的判断结果。
9.根据本公开的一实施例,根据所述第一目标刷新行的数据保持时间、所述第一目标刷新行的未刷新计数和所述第一目标刷新行的预设刷新间隔获得第一目标刷新行的当前剩余数据保持时间,包括:将所述第一目标刷新行的数据保持时间减去所述第一目标刷新行的未刷新计数与所述第一目标刷新行的预设刷新间隔的乘积,获得所述第一目标刷新行的当前剩余数据保持时间。
10.根据本公开的一实施例,根据所述各个行的判断结果对各个行确定是否执行与所述第一刷新信号对应的刷新操作,包括:若所述第一目标刷新行的当前剩余数据保持时间不小于所述第一目标刷新行的预设刷新间隔的第一倍数,则确定不对所述第一目标刷新行执行与所述针对第一目标刷新行的刷新命令对应的刷新操作,并将所述第一目标刷新行的未刷新计数更新为当前计数加一。
11.根据本公开的一实施例,根据所述各个行的判断结果对各个行确定是否执行与所述第一刷新信号对应的刷新操作,包括:若所述第一目标刷新行的当前剩余数据保持时间小于所述第一目标刷新行的预设刷新间隔的第一倍数,则确定对所述第一目标刷新行执行与所述针对第一目标刷新行的刷新命令对应的刷新操作,并将所述第一目标刷新行的未刷新计数清零。
12.根据本公开的一实施例,对于目标存储阵列中多行存储单元的各个行,获得各个行的数据保持时间,包括:对于目标存储阵列中多行存储单元的各个行,对该行各个存储单元的数据保持时间进行统计,获得该行的数据保持时间。
13.根据本公开的再一方面,提供一种存储器刷新装置,包括:获得模块,用于对于目标存储阵列中多行存储单元的各个行,获得各个行的数据保持时间;所述获得模块,还用于获得所述目标存储阵列的各个行的预设刷新间隔;判断模块,用于响应于接收第一刷新信号,基于各个行的数据保持时间与预设刷新间隔的第一倍数之间的大小关系判断是否对各个行执行与所述第一刷新信号对应的刷新操作,获得各个行的判断结果;处理模块,用于根据所述各个行的判断结果对各个行确定是否执行与所述第一刷新信号对应的刷新操作。
14.根据本公开的一实施例,所述多行存储单元包括第一目标刷新行,所述第一刷新信号包括针对第一目标刷新行的刷新命令;所述获得模块,还用于响应于接收所述针对第一目标刷新行的刷新命令,获得第一目标刷新行的未刷新计数;根据第一目标刷新行的数据保持时间、所述第一目标刷新行的未刷新计数和所述第一目标刷新行的预设刷新间隔判断是否对所述第一目标刷新行执行与所述针对第一目标刷新行的刷新命令对应的刷新操作,获得第一目标刷新行的判断结果。
15.根据本公开的一实施例,所述获得模块,还用于根据所述第一目标刷新行的数据保持时间、所述第一目标刷新行的未刷新计数和所述第一目标刷新行的预设刷新间隔获得第一目标刷新行的当前剩余数据保持时间;所述判断模块,还用于根据所述第一目标刷新行的当前剩余数据保持时间与所述预设刷新间隔的第一倍数之间的大小关系判断是否对
所述第一目标刷新行执行与所述针对第一目标刷新行的刷新命令对应的刷新操作,获得第一目标刷新行的判断结果。
16.根据本公开的一实施例,所述获得模块,还用于将第一目标刷新行的数据保持时间减去所述第一目标刷新行的未刷新计数与所述第一目标刷新行的预设刷新间隔的乘积,获得所述第一目标刷新行的当前剩余数据保持时间。
17.根据本公开的一实施例,所述处理模块,还用于:若所述第一目标刷新行的当前剩余数据保持时间不小于所述第一目标刷新行的预设刷新间隔的第一倍数,则确定不对所述第一目标刷新行执行与所述针对第一目标刷新行的刷新命令对应的刷新操作,并将所述第一目标刷新行的未刷新计数更新为当前计数加一。
18.根据本公开的一实施例,所述处理模块,还用于:若所述第一目标刷新行的当前剩余数据保持时间小于所述第一目标刷新行的预设刷新间隔的第一倍数,则确定对所述第一目标刷新行执行与所述针对第一目标刷新行的刷新命令对应的刷新操作,并将所述第一目标刷新行的未刷新计数清零。
19.根据本公开的一实施例,所述获得模块,还用于对于目标存储阵列中多行存储单元的各个行,对该行各个存储单元的数据保持时间进行统计,获得该行的数据保持时间。
20.根据本公开的再一方面,提供一种存储器系统,包括互相连接的目标存储阵列和主控制器、以及与所述目标存储阵列和所述主控制器分别连接的刷新控制器,所述刷新控制器用于:对于所述目标存储阵列中多行存储单元的各个行,获得各个行的数据保持时间;获得所述目标存储阵列的各个行的预设刷新间隔;响应于接收所述主控制器发送的第一刷新信号,基于各个行的数据保持时间与预设刷新间隔的第一倍数之间的大小关系判断是否对各个行执行与所述第一刷新信号对应的刷新操作,获得各个行的判断结果;根据所述各个行的判断结果对各个行确定是否执行与所述第一刷新信号对应的刷新操作。
21.根据本公开的一实施例,所述多行存储单元包括第一目标刷新行,所述第一刷新信号包括针对第一目标刷新行的刷新命令;所述主控制器,用于若所述刷新控制器根据第一目标刷新行的判断结果对所述第一目标刷新行不执行与所述针对第一目标刷新行的刷新命令对应的刷新操作,则访问所述第一目标刷新行。
22.根据本公开的一实施例,所述多行存储单元包括第一目标刷新行,所述第一刷新信号包括针对第一目标刷新行的刷新命令;所述存储器系统还包括与所述刷新控制器相连接的刷新计数器,所述刷新计数器用于对各个行的未刷新次数进行计数;响应于接收第一刷新信号,基于各个行的数据保持时间与预设刷新间隔的第一倍数之间的大小关系判断是否对各个行执行与所述第一刷新信号对应的刷新操作,获得各个行的判断结果,包括:响应于接收所述针对第一目标刷新行的刷新命令,从所述刷新计数器获得第一目标刷新行的未刷新计数;根据第一目标刷新行的数据保持时间、所述第一目标刷新行的未刷新计数和所述第一目标刷新行的预设刷新间隔判断是否对所述第一目标刷新行执行与所述针对第一目标刷新行的刷新命令对应的刷新操作,获得第一目标刷新行的判断结果。
23.根据本公开的一实施例,根据第一目标刷新行的数据保持时间、所述第一目标刷新行的未刷新计数和所述第一目标刷新行的预设刷新间隔判断是否对所述第一目标刷新行执行与所述针对第一目标刷新行的刷新命令对应的刷新操作,获得第一目标刷新行的判断结果,包括:将所述第一目标刷新行的数据保持时间减去所述第一目标刷新行的未刷新
计数与所述第一目标刷新行的预设刷新间隔的乘积,获得第一目标刷新行的当前剩余数据保持时间;根据所述第一目标刷新行的当前剩余数据保持时间与所述预设刷新间隔的第一倍数之间的大小关系判断是否对所述第一目标刷新行执行与所述针对第一目标刷新行的刷新命令对应的刷新操作,获得第一目标刷新行的判断结果。
24.根据本公开的一实施例,根据所述各个行的判断结果对各个行确定是否执行与所述第一刷新信号对应的刷新操作,包括:若所述第一目标刷新行的当前剩余数据保持时间不小于所述第一目标刷新行的预设刷新间隔的第一倍数,则确定不对所述第一目标刷新行执行与所述针对第一目标刷新行的刷新命令对应的刷新操作,并向所述刷新计数器发送当前计数加一的命令;所述刷新计数器,还用于响应所述当前计数加一的命令,将所述第一目标刷新行的未刷新计数更新为当前计数加一。
25.根据本公开的一实施例,根据所述各个行的判断结果对各个行确定是否执行与所述第一刷新信号对应的刷新操作,包括:若所述第一目标刷新行的当前剩余数据保持时间小于所述第一目标刷新行的预设刷新间隔的第一倍数,则确定对所述第一目标刷新行执行与所述针对第一目标刷新行的刷新命令对应的刷新操作,并向所述刷新计数器发送未刷新计数清零的命令;所述刷新计数器,还用于响应所述未刷新计数清零的命令,将所述第一目标刷新行的未刷新计数清零。
26.根据本公开的一实施例,所述存储器系统为动态随机存取存储器系统。
27.根据本公开的再一方面,提供一种电子设备,包括:存储器、处理器及存储在所述存储器中并可在所述处理器中运行的可执行指令,所述处理器执行所述可执行指令时实现如上述任一种方法。
28.根据本公开的再一方面,提供一种计算机可读存储介质,其上存储有计算机可执行指令,所述可执行指令被处理器执行时实现如上述任一种方法。
29.本公开的实施例提供的存储器刷新方法,首先获得目标存储阵列中多行存储单元的各个行的数据保持时间以及预设刷新间隔,然后响应于接收第一刷新信号,基于各个行的数据保持时间与预设刷新间隔的第一倍数之间的大小关系判断是否对各个行执行与第一刷新信号对应的刷新操作,根据获得的各个行的判断结果对各个行执行或不执行与第一刷新信号对应的刷新操作。通过考虑存储器的存储阵列不同行存储单元的数据保持时间不一致的因素,基于各个行的数据保持时间与预设刷新间隔的第一倍数之间的大小关系决定是否执行与第一刷新信号对应的各个行的刷新操作,从而可在一个行的数据保持时间与预设刷新间隔的第一倍数之间的大小关系满足一定条件时不执行与第一刷新信号对应的该行的刷新操作,实现了减少不必要的刷新操作而避免造成性能上的开销,减少刷新操作带来的功耗,从而提高了系统性能。
30.应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
31.通过参照附图详细描述其示例实施例,本公开的上述和其它目标、特征及优点将变得更加显而易见。
32.图1示出本公开实施例中一种存储器系统结构的示意图。
33.图2示出本公开实施例中一种存储器刷新方法的流程图。
34.图3是图2中步骤s206和步骤s208应用于存储器目标行的刷新方法的流程图。
35.图4是根据图2和图3示出的一种存储器刷新流程的示意图。
36.图5是根据图2示出的一种刷新计数器工作原理的示意图。
37.图6是图3示出的存储器刷新方法的效果示意图。
38.图7是根据图6示出的存储器刷新方法的效果的原理图。
39.图8示出本公开实施例中一种存储器刷新装置的框图。
40.图9示出本公开实施例中一种电子设备的结构示意图。
具体实施方式
41.现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施例使得本公开将更加全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
42.此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现或者操作以避免喧宾夺主而使得本公开的各方面变得模糊。
43.此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本公开的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。符号“/”一般表示前后关联对象是一种“或”的关系。
44.在本公开中,除非另有明确的规定和限定,“连接”等术语应做广义理解,例如,可以是电连接或可以互相通讯;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本公开中的具体含义。
45.如上所述,易挥发的存储器需要不断进行刷新操作以保持数据不丢失。易挥发的存储器可以包括ram、高速缓冲存储器(cache)等等,本公开实施例中以dram为例进行说明,但并不以此为限。
46.相关技术中dram设备刷新频率由整个dram存储阵列中数据保持(retention)能力最弱的那个存储单元(leakiest cell)决定,以保证dram数据不丢失,数据保持能力最弱即数据保持时间最短。但是大部分存储单元的数据保持能力可能远远大于那个leakiest cell的数据保持能力,即大部分存储单元的数据保持时间都比leakiest cell的数据保持时间长。因此,若在每次刷新时都对整个dram存储阵列中所有的存储单元进行刷新,则很多单元的刷新操作是没有必要的。这些多余的刷新操作不仅没有起到保持数据的作用,而且阻碍了正常访问存储器的执行,造成性能上的开销,同时还增大功耗,降低系统性能。
47.因此,本公开提供了一种存储器刷新方法,通过考虑存储器的存储阵列中不同存
储单元的数据保持能力的不一致因素,根据存储单元的数据保持时间与预设刷新间隔的第一倍数之间的大小关系来控制存储区主控制器(memory controller)发送的刷新(refresh)命令是否需要执行,即控制存储阵列的不同行(row)的刷新频率,实现在确保数据不丢失的情况下合理地对存储器的刷新操作进行控制,减少不必要的刷新,避免造成性能上的开销,减少刷新操作带来的功耗,从而提高系统性能。
48.图1示出了可以应用本公开的存储器刷新方法或存储器刷新装置的示例性存储器系统10。
49.如图1所示,存储器系统10可以包括互相连接的目标存储阵列102和主控制器104、以及与目标存储阵列102和主控制器104分别连接的刷新控制器106。
50.存储器系统可以为动态随机存取存储器系统,目标存储阵列102可以是易挥发的存储器的存储阵列,例如dram、sram、cache等等。目标存储阵列102可以包括多行存储单元,多行存储单元的各个行存储单元的数据保持时间可以相同或者不同,多行存储单元可以包括第一目标刷新行。
51.主控制器104可以与目标存储阵列102通信,控制访问目标存储阵列102,对目标存储阵列102进行读写操作。主控制器104可以发送第一刷新信号,第一刷新信号可以包括针对目标存储阵列102的各个行存储单元的刷新命令,例如可以包括针对第一目标刷新行的刷新命令。主控制器104可用于当刷新控制器106根据第一目标刷新行的判断结果对第一目标刷新行不执行与针对第一目标刷新行的刷新命令对应的刷新操作时,正常访问第一目标刷新行。
52.刷新控制器106可以与目标存储阵列102通信,获得目标存储阵列102中多行存储单元的各个行数据保持时间,基于各个行的数据保持时间与预设刷新间隔的第一倍数之间的大小关系判断是否对各个行执行与第一刷新信号对应的刷新操作,并根据获得的各个行的判断结果对各个行执行或不执行与第一刷新信号对应的刷新操作。刷新控制器106也可以称为算法控制器(algorithmic controller)。
53.刷新控制器106还可以与主控制器104通信,获得目标存储阵列102的预设刷新间隔,并接收主控制器104发送的第一刷新信号。
54.存储器系统还可以包括与刷新控制器相连接的刷新计数器1062,刷新计数器1062可用于对各个行的未刷新次数进行计数。刷新控制器106还可以响应于接收针对第一目标刷新行的刷新命令,从刷新计数器获得第一目标刷新行的未刷新计数,根据第一目标刷新行的数据保持时间、第一目标刷新行的未刷新计数和第一目标刷新行的预设刷新间隔判断是否对第一目标刷新行执行与针对第一目标刷新行的刷新命令对应的刷新操作,获得第一目标刷新行的判断结果。刷新计数器1062还可用于响应当前计数加一的命令,将第一目标刷新行的未刷新计数更新为当前计数加一。
55.若第一目标刷新行的当前剩余数据保持时间小于第一目标刷新行的预设刷新间隔的第一倍数,刷新控制器106还可以确定对第一目标刷新行执行与针对第一目标刷新行的刷新命令对应的刷新操作,并向刷新计数器1062发送未刷新计数清零的命令。述刷新计数器1062还可用于响应未刷新计数清零的命令,将第一目标刷新行的未刷新计数清零。
56.应该理解,图1中的目标存储阵列的数目仅仅是示意性的。根据实现需要,可以具有任意数目的目标存储阵列。
57.图2是根据一示例性实施例示出的一种存储器刷新方法的流程图。如图2所示的方法例如可以应用于图1所示的存储器系统10,由刷新控制器106执行。
58.参考图2,本公开实施例提供的方法20可以包括以下步骤。
59.在步骤s202中,对于目标存储阵列中多行存储单元的各个行,获得各个行的数据保持时间。
60.在一些实施例中,对于目标存储阵列中多行存储单元的各个行,可以对该行各个存储单元的数据保持时间进行统计,获得该行的数据保持时间。dram初始化完成之后,在进入正常操作之前,可由刷新控制器计算出dram的目标存储阵列(array)的每行的数据保持时间,并由刷新控制器保存,不占用dram和主控制器的开销。在刷新控制器获得目标存储阵列的各个行的数据保持时间的同时,dram和主控制器之间可以保持正常操作。
61.在一些实施例中,目标存储阵列任一行的数据保持时间可以由该行的数据保持能力最弱的存储单元决定,目标存储阵列任一行的数据保持时间不大于该行的数据保持能力最弱的存储单元的数据保持时间。
62.在一些实施例中,多行存储单元可以包括第一目标刷新行。第一目标刷新行可以是多行存储单元中的一行,也可以是多行,例如可以是按照dram标准(例如jedec)达到刷新间隔时间的所有行。
63.在步骤s204中,获得目标存储阵列的各个行的预设刷新间隔。
64.在一些实施例中,相关标准中规定了dram中每个存储单元最小的刷新间隔,即为目标存储阵列的预设刷新间隔。例如,根据固态技术协会(joint election device engineering council,jedec)标准规定,常温工况下,dram中每个存储单元最小的刷新间隔(tref)是64ms,即64ms内dram整个目标存储阵列刷新完成,那么每个存储单元会每隔64ms被刷新一次,因此目标存储阵列的各个行的预设刷新间隔不大于任一存储单元的数据保持时间。
65.在步骤s206中,响应于接收第一刷新信号,基于各个行的数据保持时间与预设刷新间隔的第一倍数之间的大小关系判断是否对各个行执行与第一刷新信号对应的刷新操作,获得各个行的判断结果。
66.在一些实施例中,第一刷新信号可以为针对目标存储阵列中一行的刷新命令,例如可以包括针对第一目标刷新行的刷新命令。例如,主控制器可以每隔预设间隔发送一个第一刷新信号用于指示对当前目标刷新行执行刷新操作,依次遍历目标存储阵列的各个行,
67.例如,在tref=64ms之内发送8192次刷新命令,依次针对目标存储阵列的各行发送刷新命令。
68.在一些实施例中,各个行的数据保持时间(为固定值,如上所述,由该行的数据保持能力最弱的存储单元决定)可记为tret,可定义各个行的当前剩余数据保持时间,记为tret’。若在tref之前执行了上一次的刷新命令,则tret’=tret;若在tref之前未执行上一次的刷新命令,则tret’=tret-tref,即再经过tret-tref该行数据中有存储单元不再能够保持数据;若在tref之前未执行上两次的刷新命令,则当前剩余数据保持时间为tret-2tref,即再经过tret-2tref该行数据中有存储单元不再能够保持数据。
69.在一些实施例中,当前目标刷新行是否执行了一次刷新命令,可以通过虚拟刷新
计数器来记录,具体实施方式可参照图3和图5。
70.在一些实施例中,主控制器根据dram特性及设置正常每隔预设间隔发出“行刷新”命令,在dram接受到信号之前会先由刷新控制器做步决策,算法控制器接收来自主控制器的第一刷新信号时,刷新控制器可以对当前目标刷新行的当前剩余数据保持时间与第一倍数的刷新间隔(tref)之间的大小关系进行判断,以决定是否对该行执行此次刷新。
71.在一些实施例中,第一倍数可以为预设的倍数,可记为q,q为不小于2的数,例如可以为2、或2.2、或2.5、或2.6等等。
72.在步骤s208中,根据各个行的判断结果对各个行确定是否执行与第一刷新信号对应的刷新操作。
73.在一些实施例中,若当前目标刷新行的当前剩余数据保持时间小于第一倍数的刷新间隔(tret’《q*tref),则对当前目标刷新行执行第一刷新信号对应的刷新操作。由于tret’一定大于tref,因此在此种情况下tret’为1倍多tref,若跳过此次刷新,则剩余数据保持时间不够再经历一个tref,因此若tret’《q*tref即执行本次刷新,可避免发生还未到该行下一次刷新时间而该行数据即不再保持的情况。
74.在另一些实施例中,若当前目标刷新行的当前剩余数据保持时间不小于第一倍数的刷新间隔(tret’≥q*tref),此时则对当前目标刷新行不执行第一刷新信号对应的刷新操作,因为若跳过此次刷新,则剩余数据保持时间足够再经历一个tref。可避免该行进行不必要的刷新。
75.根据本公开实施例提供的存储器刷新方法,可根据dram存储单元各个行的数据保持时间与预设刷新间隔的第一倍数之间的大小关系来控制主控制器发送的针对该行刷新命令是否需要执行,即控制存储阵列不同行的刷新频率,实现在确保数据不丢失的情况下,合理、智能地控制dram刷新频率,减少不必要的刷新操作,可以避免造成性能上的开销,减少刷新操作带来的功耗,从而提高系统性能。
76.本公开实施例提供的存储器刷新方法可应用于不同的dram产品,包括服务器(server)、个人计算机(personal computer,pc)等应用dram内存的电子产品。尤其对于其中存储单元数据保持能力有较大差距的dram产品,可显著提高系统性能。
77.图3是图2中步骤s206和步骤s208应用于存储器目标行的刷新方法的流程图。如图3所示的方法例如可以应用于图1所示的存储器系统10,由刷新控制器106执行。
78.参考图3,本公开实施例提供的方法30可以包括以下步骤。
79.在步骤s302中,响应于接收针对第一目标刷新行的刷新命令,获得第一目标刷新行的未刷新计数。
80.在一些实施例中,未刷新计数为若第一目标刷新行跳过了一次刷新,则未刷新计数+1。
81.在步骤s304中,根据第一目标刷新行的数据保持时间、第一目标刷新行的未刷新计数和第一目标刷新行的预设刷新间隔判断是否对第一目标刷新行执行与针对第一目标刷新行的刷新命令对应的刷新操作,获得第一目标刷新行的判断结果。
82.在步骤s3042中,根据第一目标刷新行的数据保持时间、第一目标刷新行的未刷新计数和第一目标刷新行的预设刷新间隔获得第一目标刷新行的当前剩余数据保持时间。
83.在步骤s30422中,将第一目标刷新行的数据保持时间减去第一目标刷新行的未刷
新计数与第一目标刷新行的预设刷新间隔的乘积,获得第一目标刷新行的当前剩余数据保持时间。
84.在一些实施例中,可将未刷新计数记为m,参照步骤s206的具体实施方式,tret’=tret-m*tref。
85.在步骤s3044中,判断第一目标刷新行的当前剩余数据保持时间是否小于预设刷新间隔的第一倍数。
86.在步骤s306中,若第一目标刷新行的当前剩余数据保持时间不小于预设刷新间隔的第一倍数,则不对第一目标刷新行执行与针对第一目标刷新行的刷新命令对应的刷新操作,并将第一目标刷新行的未刷新计数更新为当前计数加一。
87.在一些实施例中,若tret-m*tref≥q*tref,则不对第一目标刷新行执行与针对第一目标刷新行的刷新命令对应的刷新操作,并将第一目标刷新行的未刷新计数n加1,则在tref之后即下次接收来自主控制器对第一目标刷新行的的第一刷新信号时,tret’=tret
–
(m+1)*tref,即判断tret
–
(m+1)*tref根据本公开实施例提供的存储器刷新方法,与q*tref的大小关系以确定是否执行下次刷新命令。
88.在步骤s308中,若第一目标刷新行的当前剩余数据保持时间小于预设刷新间隔的第一倍数,则对第一目标刷新行执行与针对第一目标刷新行的刷新命令对应的刷新操作,并将第一目标刷新行的未刷新计数清零。
89.在一些实施例中,若tret-m*tref《q*tref,则对第一目标刷新行执行与针对第一目标刷新行的刷新命令对应的刷新操作,并将第一目标刷新行的未刷新计数m清零,则在tref之后即下次接收来自主控制器对第一目标刷新行的的第一刷新信号时,tret’=tret,即判断tret与q*tref的大小关系以确定是否执行下次刷新命令。
90.图4是根据图2和图3示出的一种存储器刷新流程的示意图。图4中以存储器dram为例进行说明,但并不以此为限。
91.如图4所示,dram初始化完成之后,在进入正常访问操作之前,由刷新控制器利用dram存储阵列数据保持能力的不一致性,统计出dram存储阵列每行的数据保持时间(retention time,tret),并由刷新控制器保存(s402)。
92.主控制器根据dram特性及设置正常发出刷新命令,而在dram接受到该刷新信号之前,会先由刷新控制器做步决策。当刷新控制器接受来自主控制器第一次针对目标刷新行的刷新信号(s404)时(可根据刷新计数来判断,刷新计数+1=第几次),刷新控制器会对目标刷新行的数据保持时间(tret)和刷新间隔(tref)的第一倍数(例如为2)的大小进行判断(s406),如果tret《2*tref,则目标刷新行进行“行刷新”操作(s4082),否则,目标刷新行不进行此次“行刷新”操作(s4084),而是进行正常访问存储器操作(s410)。此时,刷新控制器可利用刷新计数器记录该目标刷新行没有进行此次刷新(刷新计数+1),并同时对下一个目标刷新行进行判断决策。
93.当刷新控制器接收到目标刷新行需要第二次刷新的信号(s412)时,刷新控制器会再次对该行的数据保持时间(tret)和刷新间隔(tref)进行判断(s414),如果tret-tref《2*tref,则目标刷新行进行“行刷新”操作(s4142),否则,目标刷新行不进行此次“行刷新”操作(s4144),而是进行正常访问存储器操作(s416)。此时,刷新控制器可利用刷新计数器记录该目标刷新行没有进行第二次刷新,并同时对下一个目标刷新行进行判断决策。
94.当刷新控制器接受到目标刷新行需要第n次刷新(n=m+1)的信号(s418)时,刷新控制器会继续对该行的数据保持时间(tret)和刷新间隔(tref)进行判断(s420),如果tret
–
(n-1)*tref《2*tref,则目标刷新行进行“行刷新”操作(s4202),否则,目标刷新行不进行此次“行刷新”操作(s4204),而是进行正常访问存储器操作。此时,刷新控制器会记住该目标行没有进行第n次刷新,并同时对下一个目标刷新行进行判断决策。
95.根据本公开实施例提供的存储器刷新方法,可以通过刷新控制器灵活控制dram的刷新频率,减少dram正常访存时不必要的刷新操作,可以避免造成性能上的多余开销,减少刷新操作带来的功耗,从而提高系统性能。
96.本公开实施例提供的存储器刷新方法不影响主控制器和dram之间的正常通信,也不占用主控制器和dram的开销,dram阵列的每行的数据保持时间以及刷新决策都独立于刷新控制器。
97.本公开实施例提供的存储器刷新方法是根据dram存储单元的数据保持能力来控制dram是否需要执行刷新操作,因此该方法对不同的dram产品规格没有要求,具有较强的普适性。
98.图5是根据图2至图4示出的一种刷新计数器工作原理的示意图。如图5所示,可采用虚拟刷新计数器5002(例如用于实现图1中的刷新计数器1062)实现上述刷新计数功能。如果在刷新控制器对目标刷新行的刷新决策(s502)中,目标刷新行执行了当前的刷新操作(s504),那么虚拟刷新计5002数归零(s508);如果目标刷新行没有执行当前刷新操作(s506),则虚拟刷新计数累计加一(s508),可保证算法控制器决策的准确性。
99.图6是图2至图4示出的存储器刷新方法的效果示意图。,根据jedec标准,dram每隔刷新间隔(refresh interval,trefi)执行一次刷新操作,即每隔trefi对当前目标刷新行执行“行刷新”操作。定义刷新周期时间(refresh cycle time,trfc)为当前刷新命令要占用的时间,目标刷新行的个数决定了trfc的时长,在trfc时间内,dram处于刷新状态,不能进行其他操作,所以trfc越大,主控制器和dram的开销越大。
100.如图6所示,主控制器发送针对当前的目标刷新行的刷新信号(s602),采用本公开实施例提供的刷新控制器进行决策并控制存储器的当前的目标刷新行是否进行行刷新(s604)。若刷新控制器决策的结果是当前的目标刷新行中所有的行都需要执行“行刷新”操作(s6062),则目标刷新行中所有的行都正常进行“行刷新”操作(s6064),全部刷新完整个array,与不采用本公开实施例的存储器刷新方法的“正常模式(normal mode)”相比trefi、trfc都不变(s6068)。若刷新控制器决策的结果是当前目标刷新行的一部分行不需要执行“行刷新”操作(s6072),则dram接收来自刷新控制器的信号:这些行不用执行“行刷新”操作(s6074),则当前的目标刷新行数比正常模式情况下要少,即trfc减小(s6076)。若刷新控制器决策的结果是当前目标刷新行都不需要执行“行刷新”操作(s6082),则dram接收来自刷新控制器的信号:不用执行当前的刷新操作(s6084),trefi增大了一倍,trfc减小为0;当刷新控制器连续n次决策当前目标刷新行都不需要执行“行刷新”操作时,则trefi增大了n倍,trfc减小为0(s6086)。
101.图7是根据图6示出的存储器刷新方法的效果的原理图。如图7所示,cmd和对应上方的clk表示命令及其对应的时钟信号,ref表示刷新命令,des表示的deselect,即没有任何命令操作,valid表示任何有效命令。在正常模式702中,trefi、trfc固定不变。
102.采用本公开实施例提供的存储器刷新方法之后,若刷新控制器决策的结果是当前目标刷新行的一部分行不需要执行“行刷新”操作(706),则这一部分行不用执行“行刷新”操作,即trfc减小(s6076)。若刷新控制器决策的结果是当前目标刷新行的所有行都不需要执行“行刷新”操作(704),则该ref命令不执行,trefi增大。
103.采用本公开实施例提供的存储器刷新方法灵活控制ram刷新频率,改变了trfc和trefi的值,从而在保证不丢失数据的基础上,达到减少刷新操作、提高系统性能的目的。
104.图8是根据一示例性实施例示出的一种存储器刷新装置的框图。如图8所示的装置例如可以应用于图1所示的存储器系统10,由刷新控制器106执行。
105.参考图8,本公开实施例提供的装置80可以包括获得模块802、判断模块804和处理模块806。
106.获得模块802可用于对于目标存储阵列中多行存储单元的各个行,获得各个行的数据保持时间。
107.获得模块802还可用于对于目标存储阵列中多行存储单元的各个行,对该行各个存储单元的数据保持时间进行统计,获得该行的数据保持时间。
108.获得模块802还可用于获得目标存储阵列的各个行的预设刷新间隔。
109.多行存储单元可以包括第一目标刷新行。
110.获得模块802还可用于响应于接收针对第一目标刷新行的刷新命令,获得第一目标刷新行的未刷新计数;根据第一目标刷新行的数据保持时间、第一目标刷新行的未刷新计数和第一目标刷新行的预设刷新间隔判断是否对第一目标刷新行执行与针对第一目标刷新行的刷新命令对应的刷新操作,获得第一目标刷新行的判断结果。
111.获得模块802还可用于根据第一目标刷新行的数据保持时间、第一目标刷新行的未刷新计数和第一目标刷新行的预设刷新间隔获得第一目标刷新行的当前剩余数据保持时间。
112.获得模块802还可用于将第一目标刷新行的数据保持时间减去第一目标刷新行的未刷新计数与第一目标刷新行的预设刷新间隔的乘积,获得第一目标刷新行的当前剩余数据保持时间。
113.判断模块804可用于响应于接收第一刷新信号,基于各个行的数据保持时间与第一目标刷新行的预设刷新间隔的第一倍数之间的大小关系判断是否对各个行执行与第一刷新信号对应的刷新操作,获得各个行的判断结果。
114.第一刷新信号可以包括针对第一目标刷新行的刷新命令。
115.判断模块804还可用于根据第一目标刷新行的当前剩余数据保持时间与第一目标刷新行的预设刷新间隔的第一倍数之间的大小关系判断是否对第一目标刷新行执行与针对第一目标刷新行的刷新命令对应的刷新操作,获得第一目标刷新行的判断结果。
116.处理模块806可用于根据各个行的判断结果对各个行确定是否执行与第一刷新信号对应的刷新操作。
117.处理模块806还可用于若第一目标刷新行的当前剩余数据保持时间不小于第一目标刷新行的预设刷新间隔的第一倍数,则确定不对第一目标刷新行执行与针对第一目标刷新行的刷新命令对应的刷新操作,并将第一目标刷新行的未刷新计数更新为当前计数加一。
118.处理模块806还可用于若第一目标刷新行的当前剩余数据保持时间小于第一目标刷新行的预设刷新间隔的第一倍数,则确定对第一目标刷新行执行与针对第一目标刷新行的刷新命令对应的刷新操作,并将第一目标刷新行的未刷新计数清零。
119.本公开实施例提供的装置中的各个模块的具体实现可以参照上述方法中的内容,此处不再赘述。
120.图9示出本公开实施例中一种电子设备的结构示意图。需要说明的是,图9示出的设备仅以计算机系统为示例,不应对本公开实施例的功能和使用范围带来任何限制。
121.如图9所示,设备900包括中央处理单元(cpu)901,其可以根据存储在只读存储器(rom)902中的程序或者从存储部分908加载到随机访问存储器(ram)903中的程序而执行各种适当的动作和处理。在ram903中,还存储有设备900操作所需的各种程序和数据。cpu901、rom 902以及ram 903通过总线904彼此相连。输入/输出(i/o)接口905也连接至总线904。
122.以下部件连接至i/o接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至i/o接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
123.特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(cpu)901执行时,执行本公开的系统中限定的上述功能。
124.需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、ram、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
125.附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代
表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
126.描述于本公开实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括获得模块、判断模块和处理模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,获得模块还可以被描述为“从所连接的处理器获得控制参量的模块”。
127.作为另一方面,本公开还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:
128.对于目标存储阵列中多行存储单元的各个行,获得各个行的数据保持时间;获得目标存储阵列的预设刷新间隔,预设刷新间隔不大于多行存储单元中任一行的数据保持时间;响应于接收第一刷新信号,基于各个行的数据保持时间与预设刷新间隔的第一倍数之间的大小关系判断是否对各个行执行与第一刷新信号对应的刷新操作,获得各个行的判断结果;根据各个行的判断结果对各个行执行或不执行与第一刷新信号对应的刷新操作。
129.以上具体地示出和描述了本公开的示例性实施例。应可理解的是,本公开不限于这里描述的详细结构、设置方式或实现方法;相反,本公开意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
技术特征:
1.一种存储器刷新方法,其特征在于,包括:对于目标存储阵列中多行存储单元的各个行,获得各个行的数据保持时间;获得所述目标存储阵列的各个行的预设刷新间隔;响应于接收第一刷新信号,基于各个行的数据保持时间与预设刷新间隔的第一倍数之间的大小关系判断是否对各个行执行与所述第一刷新信号对应的刷新操作,获得各个行的判断结果;根据所述各个行的判断结果对各个行确定是否执行与所述第一刷新信号对应的刷新操作。2.根据权利要求1所述的方法,其特征在于,所述多行存储单元包括第一目标刷新行,所述第一刷新信号包括针对第一目标刷新行的刷新命令;响应于接收第一刷新信号,基于各个行的数据保持时间与预设刷新间隔的第一倍数之间的大小关系判断是否对各个行执行与所述第一刷新信号对应的刷新操作,获得各个行的判断结果,包括:响应于接收所述针对第一目标刷新行的刷新命令,获得第一目标刷新行的未刷新计数;根据第一目标刷新行的数据保持时间、所述第一目标刷新行的未刷新计数和所述第一目标刷新行的预设刷新间隔判断是否对所述第一目标刷新行执行与所述针对第一目标刷新行的刷新命令对应的刷新操作,获得第一目标刷新行的判断结果。3.根据权利要求2所述的方法,其特征在于,根据第一目标刷新行的数据保持时间、所述第一目标刷新行的未刷新计数和所述第一目标刷新行的预设刷新间隔判断是否对所述第一目标刷新行执行与所述针对第一目标刷新行的刷新命令对应的刷新操作,获得第一目标刷新行的判断结果,包括:根据所述第一目标刷新行的数据保持时间、所述第一目标刷新行的未刷新计数和所述第一目标刷新行的预设刷新间隔获得第一目标刷新行的当前剩余数据保持时间;根据所述第一目标刷新行的当前剩余数据保持时间与所述预设刷新间隔的第一倍数之间的大小关系判断是否对所述第一目标刷新行执行与所述针对第一目标刷新行的刷新命令对应的刷新操作,获得第一目标刷新行的判断结果。4.根据权利要求3所述的方法,其特征在于,根据所述第一目标刷新行的数据保持时间、所述第一目标刷新行的未刷新计数和所述第一目标刷新行的预设刷新间隔获得第一目标刷新行的当前剩余数据保持时间,包括:将所述第一目标刷新行的数据保持时间减去所述第一目标刷新行的未刷新计数与所述第一目标刷新行的预设刷新间隔的乘积,获得所述第一目标刷新行的当前剩余数据保持时间。5.根据权利要求4所述的方法,其特征在于,根据所述各个行的判断结果对各个行确定是否执行与所述第一刷新信号对应的刷新操作,包括:若所述第一目标刷新行的当前剩余数据保持时间不小于所述第一目标刷新行的预设刷新间隔的第一倍数,则确定不对所述第一目标刷新行执行与所述针对第一目标刷新行的刷新命令对应的刷新操作,并将所述第一目标刷新行的未刷新计数更新为当前计数加一。6.根据权利要求4所述的方法,其特征在于,根据所述各个行的判断结果对各个行确定
是否执行与所述第一刷新信号对应的刷新操作,包括:若所述第一目标刷新行的当前剩余数据保持时间小于所述第一目标刷新行的预设刷新间隔的第一倍数,则确定对所述第一目标刷新行执行与所述针对第一目标刷新行的刷新命令对应的刷新操作,并将所述第一目标刷新行的未刷新计数清零。7.根据权利要求1所述的方法,其特征在于,对于目标存储阵列中多行存储单元的各个行,获得各个行的数据保持时间,包括:对于目标存储阵列中多行存储单元的各个行,对该行各个存储单元的数据保持时间进行统计,获得该行的数据保持时间。8.一种存储器刷新装置,其特征在于,包括:获得模块,用于对于目标存储阵列中多行存储单元的各个行,获得各个行的数据保持时间;所述获得模块,还用于获得所述目标存储阵列的各个行的预设刷新间隔;判断模块,用于响应于接收第一刷新信号,基于各个行的数据保持时间与预设刷新间隔的第一倍数之间的大小关系判断是否对各个行执行与所述第一刷新信号对应的刷新操作,获得各个行的判断结果;处理模块,用于根据所述各个行的判断结果对各个行确定是否执行与所述第一刷新信号对应的刷新操作。9.一种存储器系统,其特征在于,包括互相连接的目标存储阵列和主控制器、以及与所述目标存储阵列和所述主控制器分别连接的刷新控制器,所述刷新控制器用于:对于所述目标存储阵列中多行存储单元的各个行,获得各个行的数据保持时间;获得所述目标存储阵列的各个行的预设刷新间隔;响应于接收所述主控制器发送的第一刷新信号,基于各个行的数据保持时间与预设刷新间隔的第一倍数之间的大小关系判断是否对各个行执行与所述第一刷新信号对应的刷新操作,获得各个行的判断结果;根据所述各个行的判断结果对各个行确定是否执行与所述第一刷新信号对应的刷新操作。10.根据权利要求9所述的存储器系统,其特征在于,所述多行存储单元包括第一目标刷新行,所述第一刷新信号包括针对第一目标刷新行的刷新命令;所述主控制器,用于若所述刷新控制器根据第一目标刷新行的判断结果对所述第一目标刷新行不执行与所述针对第一目标刷新行的刷新命令对应的刷新操作,则访问所述第一目标刷新行。11.根据权利要求9所述的存储器系统,其特征在于,所述多行存储单元包括第一目标刷新行,所述第一刷新信号包括针对第一目标刷新行的刷新命令;所述存储器系统还包括与所述刷新控制器相连接的刷新计数器,所述刷新计数器用于对各个行的未刷新次数进行计数;响应于接收第一刷新信号,基于各个行的数据保持时间与预设刷新间隔的第一倍数之间的大小关系判断是否对各个行执行与所述第一刷新信号对应的刷新操作,获得各个行的判断结果,包括:响应于接收所述针对第一目标刷新行的刷新命令,从所述刷新计数器获得第一目标刷
新行的未刷新计数;根据第一目标刷新行的数据保持时间、所述第一目标刷新行的未刷新计数和所述第一目标刷新行的预设刷新间隔判断是否对所述第一目标刷新行执行与所述针对第一目标刷新行的刷新命令对应的刷新操作,获得第一目标刷新行的判断结果。12.根据权利要求11所述的存储器系统,其特征在于,根据第一目标刷新行的数据保持时间、所述第一目标刷新行的未刷新计数和所述第一目标刷新行的预设刷新间隔判断是否对所述第一目标刷新行执行与所述针对第一目标刷新行的刷新命令对应的刷新操作,获得第一目标刷新行的判断结果,包括:将所述第一目标刷新行的数据保持时间减去所述第一目标刷新行的未刷新计数与所述第一目标刷新行的预设刷新间隔的乘积,获得第一目标刷新行的当前剩余数据保持时间;根据所述第一目标刷新行的当前剩余数据保持时间与所述预设刷新间隔的第一倍数之间的大小关系判断是否对所述第一目标刷新行执行与所述针对第一目标刷新行的刷新命令对应的刷新操作,获得第一目标刷新行的判断结果。13.根据权利要求12所述的存储器系统,其特征在于,根据所述各个行的判断结果对各个行确定是否执行与所述第一刷新信号对应的刷新操作,包括:若所述第一目标刷新行的当前剩余数据保持时间不小于所述第一目标刷新行的预设刷新间隔的第一倍数,则确定不对所述第一目标刷新行执行与所述针对第一目标刷新行的刷新命令对应的刷新操作,并向所述刷新计数器发送当前计数加一的命令;所述刷新计数器,还用于响应所述当前计数加一的命令,将所述第一目标刷新行的未刷新计数更新为当前计数加一。14.根据权利要求12所述的存储器系统,其特征在于,根据所述各个行的判断结果对各个行确定是否执行与所述第一刷新信号对应的刷新操作,包括:若所述第一目标刷新行的当前剩余数据保持时间小于所述第一目标刷新行的预设刷新间隔的第一倍数,则确定对所述第一目标刷新行执行与所述针对第一目标刷新行的刷新命令对应的刷新操作,并向所述刷新计数器发送未刷新计数清零的命令;所述刷新计数器,还用于响应所述未刷新计数清零的命令,将所述第一目标刷新行的未刷新计数清零。15.根据权利要求9所述的存储器系统,其特征在于,所述存储器系统为动态随机存取存储器系统。
技术总结
本公开提供一种存储器刷新方法、装置、电子设备、可读存储介质及存储器系统,涉及存储器技术领域。该方法包括:对于目标存储阵列中多行存储单元的各个行,获得各个行的数据保持时间;获得目标存储阵列的各个行的预设刷新间隔;响应于接收第一刷新信号,基于各个行的数据保持时间与预设刷新间隔的第一倍数之间的大小关系判断是否对各个行执行与第一刷新信号对应的刷新操作,获得各个行的判断结果;根据各个行的判断结果对各个行确定是否执行与第一刷新信号对应的刷新操作。该方法可减少存储器不必要的刷新,以降低性能上的开销、降低功耗并提高系统性能。功耗并提高系统性能。功耗并提高系统性能。
技术研发人员:
何娇 郭恒飞
受保护的技术使用者:
长鑫存储技术有限公司
技术研发日:
2022.08.02
技术公布日:
2022/10/25