掌桥专利:专业的专利平台
掌桥专利
首页

刷新次数确定方法及设备

文献发布时间:2023-06-19 19:27:02


刷新次数确定方法及设备

技术领域

本公开实施例涉及半导体制造技术领域,尤其涉及一种刷新次数确定方法及设备。

背景技术

存储器是一种可提供数据访问功能的数据存储设备,存储器通常以二进制形式存储数据。存储器中可以包括大量的存储单元,每个存储单元可以存储一位二进制数据0或1。例如,DRAM(dynamic random access memory,动态随机存储器)是一种常用的存储器,DRAM的存储单元包括存储电容和晶体管,晶体管用于控制向存储电容中写入数据,或控制从存储电容中读取数据。

现有技术中,存储电容通过电荷量来表示存储的数据,但是存储电容存在漏电的物理特性,在漏电量达到一定量时,会导致存储的数据丢失。为了避免数据丢失,需要对存储器确定预设刷新周期和目标刷新次数,以根据目标刷新次数在预设刷新周期内对存储器进行不断的刷新。每次刷新对应多个存储单元,以充电的方式将存储单元中原本存储的数据再次写入。这样,存储器中的各个存储单元在一个预设刷新周期内均得到至少一次刷新。

然而,上述方案存在功耗较高的问题。

发明内容

本公开实施例提供一种刷新次数确定方法及设备,以降低存储器的功耗。

第一方面,本公开实施例提供一种刷新次数确定方法,应用于存储器,所述方法包括:

对所述存储器中目标字线对应的存储单元写入第一数据;

根据当前刷新次数对所述存储器进行刷新;

从所述目标字线对应的存储单元中读取第二数据,所述第一数据的写入结束时间和所述第二数据的读取开始时间之间的时间差大于所述存储器的数据保留时长;

若所述第二数据和所述第一数据不满足预设条件,则更新所述当前刷新次数,并返回所述对所述存储器中目标字线对应的存储单元写入第一数据的步骤,直至所述第二数据和所述第一数据满足所述预设条件时,根据所述当前刷新次数确定预设刷新周期内的目标刷新次数。

在一些实施方式中,在所述对所述存储器中目标字线对应的存储单元写入第一数据之后,还包括:

等待第一时长,所述第一时长小于所述存储器的数据保留时长。

在一些实施方式中,在所述根据当前刷新次数对所述存储器进行刷新之后,还包括:

等待第二时长,所述第二时长小于所述存储器的数据保留时长,所述第一时长和所述第二时长之和大于所述存储器的数据保留时长。

在一些实施方式中,所述方法还包括:

根据环境温度确定所述第一时长和所述第二时长,所述第一时长和所述第二时长均与所述环境温度负相关。

在一些实施方式中,在所述等待第一时长之前,还包括:

对所述存储器的所有存储单元进行刷新。

在一些实施方式中,所述预设条件包括以下一种:所述第一数据和所述第二数据一致、所述第一数据和所述第二数据不一致。

在一些实施方式中,当所述预设条件为所述第一数据和所述第二数据不一致时,所述更新所述当前刷新次数,包括:

减小所述当前刷新次数,所述当前刷新次数在初始时取最大值。

在一些实施方式中,当所述预设条件为所述第一数据和所述第二数据一致时,所述更新所述当前刷新次数,包括:

增大所述当前刷新次数,所述当前刷新次数在初始时取最小值。

在一些实施方式中,还包括:

根据所述第一时长和第二时长确定所述当前刷新次数的最大值和所述当前刷新次数的最小值。

在一些实施方式中,所述根据当前刷新次数对所述存储器进行刷新,包括:

根据所述预设刷新周期和所述当前刷新次数的比值确定刷新时间间隔;

按照所述刷新时间间隔对所述存储器进行所述当前刷新次数的刷新,每次刷新对应一条或多条字线的刷新。

第二方面,本公开实施例提供一种刷新次数确定装置,应用于存储器,所述装置包括:

数据写入模块,用于对所述存储器中目标字线对应的存储单元写入第一数据;

第一刷新模块,用于根据当前刷新次数对所述存储器进行刷新;

数据读取模块,用于从所述目标字线对应的存储单元中读取第二数据,所述第一数据的写入结束时间和所述第二数据的读取开始时间之间的时间差大于所述存储器的数据保留时长;

循环迭代模块,用于若所述第二数据和所述第一数据不满足预设条件,则更新所述当前刷新次数,并返回所述数据写入模块,直至所述第二数据和所述第一数据满足所述预设条件时,根据所述当前刷新次数确定预设刷新周期内的目标刷新次数。

在一些实施方式中,还包括:

第一等待模块,用于在所述对所述存储器中目标字线对应的存储单元写入第一数据之后,等待第一时长,所述第一时长小于所述存储器的数据保留时长。

在一些实施方式中,还包括:

第二等待模块,用于在所述根据当前刷新次数对所述存储器进行刷新之后,等待第二时长,所述第二时长小于所述存储器的数据保留时长,所述第一时长和所述第二时长之和大于所述存储器的数据保留时长。

在一些实施方式中,所述装置还包括:

时长确定模块,用于根据环境温度确定所述第一时长和所述第二时长,所述第一时长和所述第二时长均与所述环境温度负相关。

在一些实施方式中,所述装置还包括:

第二刷新模块,用于在所述等待第一时长之前,对所述存储器的所有存储单元进行刷新。

在一些实施方式中,所述预设条件包括以下一种:所述第一数据和所述第二数据一致、所述第一数据和所述第二数据不一致。

在一些实施方式中,所述循环迭代模块还用于:

当所述预设条件为所述第一数据和所述第二数据不一致时,减小所述当前刷新次数,所述当前刷新次数在初始时取最大值。

在一些实施方式中,所述循环迭代模块还用于:

当所述预设条件为所述第一数据和所述第二数据一致时,增大所述当前刷新次数,所述当前刷新次数在初始时取最小值。

在一些实施方式中,所述装置还包括:

取值范围确定模块,用于根据所述第一时长和第二时长确定所述当前刷新次数的最大值和所述当前刷新次数的最小值。

在一些实施方式中,所述循环迭代模块还用于:

根据所述预设刷新周期和所述当前刷新次数的比值确定刷新时间间隔;

按照所述刷新时间间隔对所述存储器进行所述当前刷新次数的刷新,每次刷新对应一条或多条字线的刷新。

第三方面,本公开实施例还提供一种电子设备,包括:至少一个处理器和存储器;

所述存储器存储计算机执行指令;

所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述电子设备实现第一方面所述的方法。

第四方面,本公开实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当计算设备执行所述计算机执行指令时,使计算设备实现如第一方面所述的方法。

第五方面,本公开实施例还提供一种计算机程序产品,所述计算机程序产品用于执行第一方面所述的方法。

本公开实施例提供的刷新次数确定方法及设备,包括:对存储器中目标字线对应的存储单元写入第一数据;根据当前刷新次数对存储器进行刷新;从目标字线对应的存储单元中读取第二数据,第一数据的写入结束时间和第二数据的读取开始时间之间的时间差大于存储器的数据保留时长;若第二数据和第一数据不满足预设条件,则更新当前刷新次数,并返回对存储器中目标字线对应的存储单元写入第一数据的步骤,直至第二数据和第一数据满足预设条件时,将当前刷新次数作为预设刷新周期内的目标刷新次数。可以理解的是,在第一数据的写入结束时间和第二数据的读取开始时间之间的时间差大于存储器的数据保留时长的情况下,如果第一数据和第二数据一致,那么代表当前刷新次数刷新到目标字线的存储单元,否则,代表当前刷新次数未刷新到目标字线的存储单元。本公开实施例可以不断的调整当前刷新次数,得到刷新到目标字线的最小刷新次数,以作为预设刷新周期内的目标刷新次数,从而辅助设计优化。由于刷新到目标字线可以避免数据丢失,从而,目标刷新次数是避免数据丢失的最小刷新次数,这样,可以在避免数据丢失的基础上尽可能的降低存储器在预设刷新周期内的刷新次数,进而降低存储器的功耗。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开实施例的实施例,并与说明书一起用于解释本公开实施例的原理。

图1是本公开实施例提供的一种bank中一个存储阵列的结构示意图;

图2是本公开实施例提供的一种刷新次数确定方法的步骤流程图;

图3是本公开实施例提供的一种刷新次数确定过程的详细流程示意图;

图4是本公开实施例提供的一种刷新次数确定过程的多轮循环示意图;

图5是本公开实施例提供的一种刷新次数确定装置的结构示意图;

图6是本公开实施例提供的一种电子设备的结构框图。

通过上述附图,已示出本公开实施例明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开实施例构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开实施例的概念。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开实施例相一致的所有实施方式。相反,它们仅是与本公开实施例的一些方面相一致的装置和方法的例子。

本公开实施例适用于半导体制造领域,尤其是适用于半导体中的存储器的设计和制造,以确定存储器在预设刷新周期内的目标刷新次数。这样,可以更为精准的确定每种类型存储器的刷新模式,有助于掌握产品工艺制成节点并合理优化程式测试。以DRAM为例,存储器通常可以包括一个或多个BG(bankgroup,存储组),每个BG包括一个或多个bank(存储块),每个bank可以包括M行N列的存储单元,每行存储阵列对应一条字线,从而也就是包括M条字线的存储单元,每条字线对应N个存储单元。

图1是本公开实施例提供的一种bank中一个存储阵列的结构示意图。参照图1所示,bank包括的存储阵列100包括9行9列的存储单元101,每个存储单元可以用于存储一位二进制数据,如此,图1中的存储阵列100可以最大存储81位二进制数据。当然,本公开实施例对BG、bank以及存储单元数量不限定,上述9行9列的存储单元101仅是存储阵列的一小部分区域中的存储单元,M和N通常是较大的正整数。

为了对上述存储器进行刷新,需要根据经验确定合适的预设刷新周期和目标刷新次数,以在自刷新模式下对存储器进行周期性的刷新。然而,经验确定的目标刷新次数通常偏大,从而会导致一些不必要的刷新,功耗较高。

本公开实施例可以在第一数据的写入结束时间和第二数据的读取开始时间之间的时间差大于存储器的数据保留时长的情况下,根据第一数据和第二数据是否一致,确定写入第一数据和读取第二数据之间,当前刷新次数是否对目标字线的存储单元进行刷新。如此多次循环,不断的调整当前刷新次数,可以得到刷新到目标字线的最小刷新次数,以作为预设刷新周期内的目标刷新次数,从而辅助设计优化。由于刷新到目标字线可以避免数据丢失,从而,目标刷新次数是避免数据丢失的最小刷新次数,这样,可以在避免数据丢失的基础上尽可能的降低存储器在预设刷新周期内的刷新次数,进而降低存储器的功耗。

图2是本公开实施例提供的一种刷新次数确定方法的步骤流程图。请参照图2,上述刷新次数确定方法包括S201至S204。

S201:对存储器中目标字线对应的存储单元写入第一数据。

其中,目标字线是存储器中的任一条字线,也就是说,可以预先从存储器中随机选取一条字线作为目标字线。通常情况下,存储器通常包括多个BG,每个BG包括多个bank,每个bank可以包括多条字线的存储单元。从而,可以从任意一个BG中的任意一个bank中选取任意一条字线作为目标字线。

第一数据是一位二进制数据,包括1或0,目标字线对应的各个存储单元可以写入相同或不同的第一数据。

需要说明的是,目标字线通常对应多个存储单元,对于这多个存储单元,可以按照存储单元的地址顺序逐个写入第一数据,包括以下两种方式:按照存储单元的地址升序逐个写入第一数据、按照存储单元的地址降序写入第一数据。若目标字线对应如图1所示的存储单元1011至1019,且存储单元1011的地址<存储单元1012的地址<存储单元1013的地址<存储单元1014的地址<存储单元1015的地址<存储单元1016的地址<存储单元1017的地址<存储单元1018的地址<存储单元1019,则可以按照存储单元的地址升序逐个写入第一数据时的顺序如下:存储单元1011、存储单元1012、存储单元1013、存储单元1014、存储单元1015、存储单元1016、存储单元1017、存储单元1018、存储单元1019。地址降序的写入顺序在此不再赘述。

S202:根据当前刷新次数对存储器进行刷新。

其中,当前刷新次数是一个不断变化的数值,以实现S201至S204的多次循环,每次循环到S202时,当前刷新次数的取值均不同。例如,当前刷新次数的取值可以1至M,以循环M次S201至S204,在第N次循环时对应的当前刷新次数的取值为N。其中,M是一个正整数,N是大于或等于1且小于或等于M的正整数。

需要说明的是,上述根据当前刷新次数对存储器进行刷新,包括:在预设刷新周期内对存储器执行当前刷新次数的刷新。具体地,首先,根据预设刷新周期和当前刷新次数的比值确定刷新时间间隔;然后,按照刷新时间间隔对存储器进行当前刷新次数的刷新,每次刷新对应一条或多条字线的刷新。

在一些实施方式中,刷新时间间隔可以为上述预设刷新周期和当前刷新次数的比值,这样,在预设刷新周期内即可刚好完成当前刷新次数的刷新,并且相邻两次刷新间隔上述刷新时间间隔。例如,对于当前刷新次数N对应的刷新,将刷新时间间隔记为△t,那么预设刷新周期内第I次刷新的时间为I×△t,I是大于或等于1且小于或等于N的正整数,从而在刷新周期内的△t时执行第一次刷新,在2△t时执行第二次刷新,以此类推,直至预设刷新周期结束。

每次刷新的字线是存储器中的任意一条或多条字线,也就是说,每次刷新时,可以随机从存储器中随机选取一条或多条字线进行刷新。因此,当前刷新次数所刷新的字线可能包括目标字线,也可能不包括目标字线。

S203:从目标字线对应的存储单元中读取第二数据,第一数据的写入结束时间和第二数据的读取开始时间之间的时间差大于存储器的数据保留时长。

其中,第二数据是从存储单元中读取出来的数据,也是一位二进制数据,包括1或0。第二数据与第一数据可能一致,也可能不一致。当第二数据和第一数据一致时,代表存储单元并未丢失数据。当第二数据和第一数据不一致时,代表存储单元丢失数据。

需要说明的是,从目标字线对应的存储单元中读取第二数据的顺序与S201向目标字线的存储单元中写入第二数据的顺序一致。例如,向图1所示的目标字线对应的存储单元1011至1019写入第一数据的顺序和读取第二数据的顺序均为以下顺序:存储单元1011、存储单元1012、存储单元1013、存储单元1014、存储单元1015、存储单元1016、存储单元1017、存储单元1018、存储单元1019。这样,可以保证目标字线的所有存储单元的读写时间差均一致,以检测目标字线的所有存储单元在同一个条件下是否出现数据丢失,提高了数据是否丢失的判断准确度,最终提高了目标刷新次数的准确度。

本公开实施例需要保证第一数据的写入结束时间和第二数据的读取开始时间之间的时间差大于存储器的数据保留时长。在这种条件下,如果步骤S202未刷新到目标字线,那么,目标字线对应的存储单元的数据会由于读写时间差大于数据保留时长而导致数据丢失,进而读取的第二数据和写入的第一数据不一致。反之,如果读取的第二数据和写入的第一数据一致,那么,代表步骤S202刷新到了目标字线,并且该刷新使得读写时间差小于或等于数据保留时长。

S204:若第二数据和第一数据不满足预设条件,则更新当前刷新次数,并返回对存储器中目标字线对应的存储单元写入第一数据的步骤,直至第二数据和第一数据满足预设条件时,根据当前刷新次数确定预设刷新周期内的目标刷新次数。

其中,预设条件包括以下一种:第一数据和第二数据一致、第一数据和第二数据不一致。可以看出,预设条件用于表示第一数据和第二数据是否一致,也就是说本公开实施例用于根据第一数据和第二数据是否一致去判断是否更新当前刷新次数。本公开实施例可以提供两种策略以确定是否更新当前刷新次数。

在第一种策略中,当前刷新次数初始时取最小值,此时,预设条件为第一数据和第二数据一致,更新当前刷新次数为增大当前刷新次数,例如,每次将当前刷新次数+1。可以理解的是,在初始时,由于当前刷新次数取最小值,此时执行S202刷新到目标字线的概率最低,很有可能刷新不到目标字线的存储单元,导致读取的第二数据和写入的第一数据不一致。为了使读取的第二数据和写入的第一数据一致,需要增大当前刷新次数,以提高执行S202刷新到目标字线的概率。这样不断的增大当前刷新次数,以循环执行S201至S203,直至读取的第二数据和写入的第一数据一致。此时,代表当前刷新次数刷新到目标字线,也就是说,当前刷新次数可以避免数据丢失,从而可以将该当前刷新次数作为预设刷新周期内的目标刷新次数。这样得到的目标刷新次数可以保证在预设刷新周期内对存储器的字线刷新到,有助于降低存储器的数据丢失率。

因此,在上述第一种策略中,上述S204包括:若第二数据和第一数据不一致,则增大当前刷新次数,并返回对存储器中目标字线对应的存储单元写入第一数据的步骤,直至第二数据和第一数据一致时,将当前刷新次数作为预设刷新周期内的目标刷新次数。

在第二种策略中,当前刷新次数初始时取最大值,此时,预设条件为第一数据和第二数据不一致,更新当前刷新次数为减小当前刷新次数,例如,每次将当前刷新次数-1。可以理解的是,在初始时,由于当前刷新次数取最大值,此时执行S202刷新到目标字线的概率最高,一定会刷新到目标字线的存储单元。但是,将该当前刷新次数作为目标刷新次数时,会导致刷新频率过大,比较耗电。为了降低耗电,可以逐次减小当前刷新次数,以降低刷新频率。这样不断的减小当前刷新次数,以循环执行S201至S203,直至读取的第二数据和写入的第一数据不一致。此时,代表当前刷新次数在可以避免数据丢失的情况下足够小。将当前刷新次数+1作为预设刷新周期内的目标刷新次数不仅可以避免数据丢失,还可以尽可能的降低耗电。

因此,在上述第二种策略中,上述S204包括:若第二数据和第一数据一致,则减小当前刷新次数,并返回对存储器中目标字线对应的存储单元写入第一数据的步骤,直至第二数据和第一数据不一致时,将当前刷新次数+1作为预设刷新周期内的目标刷新次数。

综上所述,本公开实施例确定的目标刷新次数是可以保证数据不丢失的最小刷新次数,从而不仅可以保证存储器的可靠性,还可以降低耗电。从而,在当前刷新次数大于或等于目标刷新次数时,存储器的目标字线的存储单元不会丢失数据,从而读取的第二数据和写入的第一数据一致。在当前刷新次数小于目标刷新次数时,存储器的目标字线的存储单元会丢失数据,从而读取的第二数据和写入的第一数据不一致。

在一些实施方式中,在上述对存储器中目标字线对应的存储单元写入第一数据之后,还可以等待第一时长。当这里的第一时长大于或等于0且小于存储器的数据保留时长时,可以使S202执行刷新和写入第一数据之间的时间差小于存储器的数据保留时长,避免执行刷新之前写入的第一数据已经丢失。如果在执行S202的刷新之前,写入的第一数据已经丢失,那么读取的第二数据和写入的第一数据始终不一致,也就无法实现目标刷新次数的测试。

需要说明的是,当第一时长为0时,代表在写入第一数据之后不会等待,而是直接执行S202。

在一些实施方式中,在上述根据当前刷新次数对存储器进行刷新之后,还可以等待第二时长。需要说明的是,这里的第二时长小于存储器的数据保留时长,可以在S202刷新到目标字线的情况下,保证读取第二数据时刷新后的数据仍然存在。在这种场景下,如果读取的第二数据和写入的第一数据一致,那么可以确定S202刷新到目标字线,反之,如果读取的第二数据和写入的第一数据不一致,那么可以确定S202未刷新到目标字线。

此外,第一时长和第二时长之和大于存储器的数据保留时长,可以保证第一数据的写入结束时间和第二数据的读取开始时间之间的时间差大于存储器的数据保留时长,进而可以根据读取的第二数据和写入的第一数据是否一致,判断S202是否刷新到目标字线的存储单元,进而确定目标刷新次数。可以理解的是,在第一数据的写入结束时间和第二数据的读取开始时间之间的时间差大于存储器的数据保留时长的情况下,如果S202未刷新到目标字线的存储单元,那么读取的第二数据和写入的第一数据不一致,反之,如果S202刷新到目标字线的存储单元,那么读取的第二数据和写入的第一数据一致。

需要说明的是,由于上述第一时长和第二时长均小于数据保留时长,从而本公开实施例中的第一时长和第二时长之和还小于两倍的数据保留时长。这样,可以保证在S202对目标字线的存储单元刷新过至少一次时,第一数据和第二数据一致,而在S202未对目标字线的存储单元刷新时,第一数据和第二数据不一致。

在一些实施方式中,对存储器中目标字线对应的存储单元写入第一数据之后,以及在等待第一时长之前,还可以对存储器的所有存储单元进行刷新。这样,可以保证S202刷新时存储器的所有存储单元的初始状态一致,可以提高是否刷新目标字线的准确度,有助于进一步提高目标刷新次数的准确度。

从前述说明可知,在第一时长和第二时长均小于数据保留时长,且第一时长和第二时长之和大于数据保留时长的条件下,测试时的环境温度也会影响第一时长和第二时长。在一些实施方式中,可以预先根据环境温度确定第一时长和第二时长,第一时长和第二时长均与环境温度负相关。在环境温度较高时,数据保留时长降低,可以适当减小第一时长和第二时长;反之,在环境温度较低时,数据保留时长增大,可以适当增大第一时长和第二时长。这样,确定的目标刷新次数与当前环境温度适配,准确度更高。

此外,还可以分别在多个环境温度下通过上述过程确定目标刷新次数,例如,可以在高温环境、常温环境、低温环境下分别确定对应的三个目标刷新次数,以根据应用时的实际环境温度从三个环境温度分别对应的目标刷新次数中,确定实际环境温度对应的目标刷新次数,以在该实际环境温度下使用该目标刷新次数进行刷新。

在得到上述第一时长和第二时长之后,还可以预先根据第一时长和第二时长确定当前刷新次数的最大值和当前刷新次数的最小值。这样,可以实现在不同第一时长和第二时长的情况下,灵活的调整当前刷新次数的更新范围,也就是说可以调整循环执行S201至S204的次数。由于第一时长和第二时长受环境温度影响,从而在不同环境温度下,采用了不同当前刷新次数的更新范围。例如,当环境温度增大时,数据保留时长降低,此时,减小第一时长和第二时长,并增大当前刷新次数的最大值和最小值;反之,当环境温度减小时,数据保留时长增大,此时,增大第一时长和第二时长,并减小当前刷新次数的最大值和最小值。

综上所述,本公开实施例可以根据环境温度调整第一时长、第二时长以及当前刷新次数的最大值和最小值,这样,可以使确定目标刷新次数时的测试条件和环境温度匹配,进而可以提高目标刷新次数的准确度。此外,根据环境温度可以确定合适的当前刷新次数的最大值和最小值,可以使最大值和最小值构成的更新范围更加接近目标刷新次数,可以减少S201至S204的循环次数,有助于快速确定目标刷新次数,从而辅助设计优化。

在一些实施方式中,由于目标字线是从存储器中随机选取的一条字线,从而我们可以多次随机选取目标字线,以多次确定目标刷新次数,最终将多个目标刷新次数的平均值作为存储器在预设刷新周期内的目标刷新次数。这样,可以进一步提高目标刷新次数的准确度。

图3是本公开实施例提供的一种刷新次数确定过程的详细流程示意图。参照图3所示,上述刷新次数确定过程包括S301至S316。

S301:根据环境温度确定第一时长和第二时长,第一时长和第二时长均与环境温度负相关。

S302:根据第一时长和第二时长确定当前刷新次数的最大值和当前刷新次数的最小值。

S303:对存储器中目标字线对应的存储单元写入第一数据。

S304:对存储器的所有存储单元进行刷新。

S305:等待第一时长,第一时长小于存储器的数据保留时长。

S306:根据预设刷新周期和当前刷新次数的比值确定刷新时间间隔。

S307:按照刷新时间间隔对存储器进行当前刷新次数的刷新,每次刷新对应一条或多条字线的刷新。

S308:等待第二时长,第二时长小于存储器的数据保留时长,第一时长和第二时长之和大于存储器的数据保留时长。

S309:从目标字线对应的存储单元中读取第二数据,第一数据的写入结束时间和第二数据的读取开始时间之间的时间差大于存储器的数据保留时长。

S310:确定当前刷新次数在初始时是否取最大值。若是,则进入S311,否则,进入S312。

S311:确定第二数据和第一数据是否一致。若是,则进入S313,否则,进入S315。

S312:确定第二数据和第一数据是否不一致。若是,则进入S314,否则,进入S316。

S313:减小当前刷新次数。

S314:增大当前刷新次数。

S315:将当前刷新次数+1作为预设刷新周期内的目标刷新次数。

S316:将当前刷新次数作为预设刷新周期内的目标刷新次数。

需要说明的是,上述S301至S316之间的顺序可以在不相互依赖的基础上灵活调整,本公开实施例对顺序不加以限制。

本公开实施例提供的一种刷新次数确定过程的多轮循环示意图。参照图4所示,时钟信号CKE是存储器的工作时钟信号,在CKE时钟为低电平时,存储器处于待机状态,不执行读写操作。时钟信号CKE可以用于使能刷新次数确定过程,在时钟信号CKE为低电平的状态下,以在待机状态下确定预设刷新周期T内的目标刷新次数;反之,在时钟信号CKE为高电平的状态下,不执行刷新次数确定过程。这样,可以使目标刷新次数的确定过程不受读写操作的影响,可以提高目标刷新次数的准确度。

图4所示的当前刷新次数初始取最小值,并且通过多轮循环不断增大当前刷新次数,以获取到目标刷新次数。在每轮循环中,均需要在预设刷新周期内对存储器进行当前刷新次数的刷新。

具体地,在第一轮循环中,当前刷新次数取值为最小值N1,此时,当前刷新次数N1太小而导致未刷新到目标字线的存储单元,从而,读取的第二数据和写入的第一数据不一致,需要将当前刷新次数从N1增大到N2,以进入第二轮循环。

同样的,在第二轮循环至第四轮循环中,当前刷新次数取值分别为N2、N3和N4,此时,当前刷新次数N2、N3和N4也仍然未刷新到目标字线的存储单元,从而,读取的第二数据和写入的第一数据仍然不一致,直至进入第五轮循环。

在第五轮循环中,当前刷新次数取值为N5,此时,当前刷新次数N5刷新到目标字线的存储单元,从而,读取的第二数据和写入的第一数据一致,此时,可以将N5作为预设刷新周期内的目标刷新次数,并且可以结束刷新次数确定过程。

需要说明的是,如果继续进行第六轮循环,那么,在第六轮循环中,当前刷新次数取值为N6,N6大于N5,N5是刷新到目标字线的最小刷新次数,从而第六轮循环必然会刷新到目标字线的存储单元,读取的第二数据和写入的第一数据必然一致。当然,第六轮以后的循环均会刷新到目标字线的存储单元,读取的第二数据和写入的第一数据必然一致。

对应于上述方法实施例,图5是本公开实施例提供的一种刷新次数确定装置的结构示意图。请参照图5,上述刷新次数确定装置400,包括:

数据写入模块401,用于对所述存储器中目标字线对应的存储单元写入第一数据。

第一刷新模块402,用于根据当前刷新次数对所述存储器进行刷新。

数据读取模块403,用于从所述目标字线对应的存储单元中读取第二数据,所述第一数据的写入结束时间和所述第二数据的读取开始时间之间的时间差大于所述存储器的数据保留时长。

循环迭代模块404,用于若所述第二数据和所述第一数据不满足预设条件,则更新所述当前刷新次数,并返回所述数据写入模块401,直至所述第二数据和所述第一数据满足所述预设条件时,根据所述当前刷新次数确定预设刷新周期内的目标刷新次数。

在一些实施方式中,上述装置还包括:

第一等待模块,用于在所述对所述存储器中目标字线对应的存储单元写入第一数据之后,等待第一时长,所述第一时长小于所述存储器的数据保留时长。

在一些实施方式中,所述装置还包括:

第二等待模块,用于在所述根据当前刷新次数对所述存储器进行刷新之后,等待第二时长,所述第二时长小于所述存储器的数据保留时长,所述第一时长和所述第二时长之和大于所述存储器的数据保留时长。

在一些实施方式中,所述装置还包括:

时长确定模块,用于根据环境温度确定所述第一时长和所述第二时长,所述第一时长和所述第二时长均与所述环境温度负相关。

在一些实施方式中,所述装置还包括:

第二刷新模块,用于在所述等待第一时长之前,对所述存储器的所有存储单元进行刷新。

在一些实施方式中,所述预设条件包括以下一种:所述第一数据和所述第二数据一致、所述第一数据和所述第二数据不一致。

在一些实施方式中,所述循环迭代模块404还用于:

当所述预设条件为所述第一数据和所述第二数据不一致时,减小所述当前刷新次数,所述当前刷新次数在初始时取最大值。

在一些实施方式中,所述循环迭代模块404还用于:

当所述预设条件为所述第一数据和所述第二数据一致时,增大所述当前刷新次数,所述当前刷新次数在初始时取最小值。

在一些实施方式中,所述装置还包括:

取值范围确定模块,用于根据所述第一时长和第二时长确定所述当前刷新次数的最大值和所述当前刷新次数的最小值。

在一些实施方式中,所述循环迭代模块还用于:

根据所述预设刷新周期和所述当前刷新次数的比值确定刷新时间间隔。

按照所述刷新时间间隔对所述存储器进行所述当前刷新次数的刷新,每次刷新对应一条或多条字线的刷新。

上述装置实施例是与前述方法实施例对应的实施例,具有与方法实施例相同的技术效果。该装置实施例的详细说明可以参照前述方法实施例的详细说明,在此不再赘述。

图6是本公开实施例提供的一种电子设备的结构框图。该电子设备600包括存储器602和至少一个处理器601。

其中,存储器602存储计算机执行指令。

至少一个处理器601执行存储器602存储的计算机执行指令,使得电子设备600实现前述刷新次数确定方法。

此外,该电子设备还可以包括接收器603和发送器604,接收器603用于接收从其余装置或设备的信息,并转发给处理器601,发送器604用于将信息发送到其余装置或设备。

本公开实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当计算设备执行计算机执行指令时,使计算设备实现刷新次数确定方法。

本公开实施例还提供一种计算机程序产品,计算机程序产品用于执行上述刷新次数确定方法。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

上述本公开实施例序号仅仅为了描述,不代表实施例的优劣。

以上仅为本公开实施例的优选实施例,并非因此限制本公开实施例的专利范围,凡是利用本公开实施例说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本公开实施例的专利保护范围内。

技术分类

06120115919022