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

存储器及其操作方法、存储器系统

文献发布时间:2024-04-18 20:01:55


存储器及其操作方法、存储器系统

技术领域

本公开涉及半导体技术领域,尤其涉及一种存储器及其操作方法、存储器系统。

背景技术

存储器如动态随机存取存储器(DRAM,Dynamic Random Access Memory)装置可通过将电荷存储到存储单元的电容器来存储数据。由于存储在电容器中的电荷会随着时长的增加而泄漏,因此动态随机存取存储器需要周期性地执行刷新(Refresh)。实际应用中,数据被周期性地重写入电容器中。随着存储器设备的制造工艺按比例缩小,字线之间的间隔减小,一条字线中的电压分布可能导致连接到与所述一条字线相邻的字线的存储单元的电荷增加。当一条字线被密集访问时,可能出现其中存储在连接到相邻字线的存储单元中的数据由于所述一条字线的激活状态的电压而丢失的行锤现象(Row Hammer Effect)。

发明内容

为解决现有存在的技术问题,本公开实施例提出一种存储器及其操作方法、存储器系统。

本公开实施例提供了一种存储器,包括:

寄存器,用于标志存储阵列中是否存在行锤行,若存在所述行锤行,则进入行锤刷新模式;以及用于标志所述行锤刷新模式中的任一刷新类型,所述行锤刷新模式包括至少两种刷新类型;

刷新管理模块,用于读取所述寄存器的标志位,若所述标志位表征所述寄存器标志存在所述行锤行之后,则基于行激活命令包含的行地址以及所述寄存器标志的所述刷新类型获取所述行锤行对应的受害行,以及对所述受害行进行刷新。

上述方案中,所述刷新类型至少包括第一类型、第二类型、第三类型,其中:

所述第一类型中的受害行为与所述行锤行相邻的行;

所述第二类型中的受害行为与所述行锤行次相邻的行;

所述第三类型中的受害行为与所述行锤行相邻的行和次相邻的行。

上述方案中,所述刷新管理模块,用于在基于所述刷新类型进行刷新之前,检测所述刷新类型对应的每一受害行在预设时长内是否被刷新,若部分所述受害行已被刷新,则对剩余所述受害行进行刷新,所述预设时长小于数据保持时长。

上述方案中,所述存储器用于接收存储控制器发送的行锤刷新指令,以及根据所述行锤刷新指令,将所述寄存器的相应标志位置于第一值,所述第一值表征所述存储阵列中存在所述行锤行;或者,

所述存储器还包括计数器,所述计数器,用于对单位时段内存储器接收的行激活命令对应的不同行地址进行分别计数;当任一所述行地址的计数值超出预设值时,将所述寄存器的相应标志位置于所述第一值。

上述方案中,所述存储器,用于在所述刷新管理模块对所述受害行进行刷新后,将所述寄存器的相应标志位置于第二值,所述第二值表征退出所述行锤刷新模式;

刷新管理模块,用于读取所述寄存器的标志位,若所述标志位表征退出所述行锤刷新模式之后,则基于行激活命令对相应的行进行激活。

本公开实施例提供了一种存储器系统,所述存储器系统包括一个或多个如上述方案中所述的存储器;以及

存储控制器,用于检测所述存储器中是否存在行锤行;若存在所述行锤行,则向所述存储器发送行锤刷新指令。

本公开实施例提供了一种存储器的操作方法,包括:

读取寄存器的标志位,所述标志位用于标志存储阵列中是否存在行锤行,若存在所述行锤行,则进入行锤刷新模式;以及用于标志所述行锤刷新模式中的任一刷新类型,所述行锤刷新模式包括至少两种刷新类型;

若所述标志位表征所述寄存器标志存在所述行锤行之后,则基于行激活命令包含的行地址以及所述寄存器标志的所述刷新类型获取所述行锤行对应的受害行;以及

对所述受害行进行刷新。

上述方案中,所述方法还包括:配置所述刷新类型;所述配置所述刷新类型,包括:

至少根据相邻字线的间距以及所述行锤行在单位时段内的被访问次数,确定所述刷新类型;以及

将确定的所述刷新类型对应的值存储在所述寄存器的相应标志位上。

上述方案中,所述刷新类型至少包括第一类型、第二类型、第三类型,其中:

所述第一类型中的受害行为与所述行锤行相邻的行;

所述第二类型中的受害行为与所述行锤行次相邻的行;

所述第三类型中的受害行为与所述行锤行相邻的行和次相邻的行。

上述方案中,确定所述刷新类型包括:

根据相邻字线的间距,确定第一预设次数;

若所述行锤行在所述单位时段内的被访问次数超过所述第一预设次数且未超过第二预设次数,则确定所述刷新类型为所述第一类型;其中,所述第二预设次数大于所述第一预设次数的两倍;

若所述行锤行在所述单位时段内的被访问次数超过所述第二预设次数,则确定所述刷新类型为所述第一类型、所述第二类型或所述第三类型之一。

上述方案中,确定所述刷新类型还包括:

若所述行锤行在所述单位时段内的被访问次数超过所述第二预设次数,则判断与所述行锤行相邻的行或与所述行锤行次相邻的行在预设时长内是否被刷新,所述预设时长小于数据保持时长;

若与所述行锤行相邻的行均被刷新,则确定所述刷新类型为所述第二类型;

若与所述行锤行次相邻的行均被刷新,则确定所述刷新类型为所述第一类型;

若与所述行锤行相邻的行至少部分未被刷新,以及与所述行锤行次相邻的行至少部分未被刷新,则确定所述刷新类型为所述第三类型。

本公开实施例中,刷新管理模块通过寄存器的刷新模式标志位确定存储阵列中是否存在行锤行,若存在行锤行,再根据寄存器的刷新类型标志位获取执行刷新的刷新类型,之后基于行激活命令中的包含的行地址,以及刷新类型确定受害行的行地址,最后对受害行进行刷新,以改善受害行的行锤现象。可以理解的是,由于受害行地址是基于行激活命令中的包含的行地址直接得到的,不需要查询存储器内部物理映射关系,从而本公开实施例中执行的行锤刷新方法具有较好的适应性;同时受害行是根据刷新类型有针对性的确定得到的,基于此,本公开实施例中执行的行锤刷新更有针对性、更加精确。

附图说明

图1为本公开实施例提供的一种采用1T1C的架构的控制电路示意图;

图2为本公开实施例提供的行地址示意图;

图3为本公开实施例提供的一种存储器系统示意图;

图4为本公开实施例提供的一种存储器示意图;

图5为本公开实施例提供的一种寄存器的标志类型示意图;

图6为本公开实施例提供的一种存储器的操作方法流程示意图;

图7为本公开实施例提供的一种行锤刷新电路功能流程示意图。

在上述附图(其不一定是按比例绘制的)中,相似的附图标记可在不同的视图中描述相似的部件。具有不同字母后缀的相似附图标记可表示相似部件的不同示例。附图以示例而非限制的方式大体示出了本文中所讨论的各个实施例。

具体实施方式

下面将参照附图更详细地描述本公开公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开,而不应被这里阐述的具体实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开公开的范围完整的传达给本领域的技术人员。

在下文的描述中,给出了大量具体的细节以便提供对本公开更为彻底的理解。然而,对于本领域技术人员而言显而易见的是,本公开可以无需一个或多个这些细节而得以实施。在其他的例子中,为了避免与本公开发生混淆,对于本领域公知的一些技术特征未进行描述;即,这里不描述实际实施例的全部特征,不详细描述公知的功能和结构。

在附图中,为了清楚,层、区、元件的尺寸以及其相对尺寸可能被夸大。自始至终相同附图标记表示相同的元件。

应当明白,空间关系术语例如“在……下”、“在……下面”、“下面的”、“在……之下”、“在……之上”、“上面的”等,在这里可为了方便描述而被使用从而描述图中所示的一个元件或特征与其它元件或特征的关系。应当明白,除了图中所示的取向以外,空间关系术语意图还包括使用和操作中的器件的不同取向。例如,如果附图中的器件翻转,然后,描述为“在其它元件下面”或“在其之下”或“在其下”元件或特征将取向为在其它元件或特征“上”。因此,示例性术语“在……下面”和“在……下”可包括上和下两个取向。器件可以另外地取向(旋转90度或其它取向)并且在此使用的空间描述语相应地被解释。

在此使用的术语的目的仅在于描述具体实施例并且不作为本公开的限制。在此使用时,单数形式的“一”、“一个”和“所述/该”也意图包括复数形式,除非上下文清楚指出另外的方式。还应明白术语“组成”和/或“包括”,当在该说明书中使用时,确定所述特征、整数、步骤、操作、元件和/或部件的存在,但不排除一个或更多其它的特征、整数、步骤、操作、元件、部件和/或组的存在或添加。在此使用时,术语“和/或”包括相关所列项目的任何及所有组合。

为了能够更加详尽地了解本公开实施例的特点与技术内容,下面结合附图对本公开实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本公开实施例。

本公开实施例涉及的存储器包括但不限于动态随机存取存储器,在后文中将会详细描述本公开实施例涉及的存储器的具体类型,以下仅以动态随机存取存储器为例来对行锤现象进行解释和分析。

动态随机存取存储器由多个存储单元结构构成,每一个存储单元结构主要是由一个晶体管与一个由晶体管所操控的存储单元(电容)构成,即动态随机存取存储器包括1个晶体管(T,Transistor)和1个电容(C,Capacitor)(1T1C)的架构;其主要的作用原理是利用电容内存储电荷的多少来代表一个二进制比特是l还是0。

图1为本公开实施例中提供的一种采用1T1C架构的控制电路示意图;如图1所示,晶体管T的漏极与位线(BL,Bit Line)电连接,晶体管T的源区与电容C的其中一个电极板电连接,电容C的另外一个电极板可以连接参考电压,参考电压可以是地电压也可以是其他电压,晶体管T的栅极与字线(WL,Word Line)连接;通过字线WL施加电压控制晶体管T导通或截止,位线BL用于在晶体管T导通时,对晶体管T执行读取或写入操作。

动态随机存取存储器的存储单元是一个存储电荷的电容,在读取、写入以及刷新过程中,电容均可能存在泄漏,并且读取过程本身具有破坏性。基于此,需要在读取操作后立即刷新其值,或者,如果长时间不对存储单元进行访问时,则需要以某个预定频率刷新其值。

存储单元的中存储的数据由电容中的电荷决定,并且电荷在刷新周期之间容易受到影响。漂移的电子可以迁移到存储单元中,从而改变存储单元中的电荷。如果短时间内进行了太多次访问,则可能会积累足够的电荷以改变存储值的感知状态。这就是Row Hammer的Hammer部分出现的地方。在刷新发生之前,在一定的累积效应下,这些错误电子(漂移的电子)的反复微小爆发会改变相邻的行中存储的数据。实际上,随着尺寸的缩小,受害行(存储值发生变化的行)的可能不仅仅是相邻的行。随着相邻字之间的距离越来越近,甚至附近的行(相隔两行甚至更多行)也可能会受到影响。

图2为本公开实施例提供的多条行地址的示意图。具体地,在执行周期性刷新的情况下,多条行地址(如访问行(active row)、相邻行(row+1、row-1)、次相邻行(row+2、row-2))的读取频率基本相同,也就是说,在一个刷新周期内能够刷新读写的行即正常执行读写以及周期性刷新的行,遇到行锤现象的概率均很低。然而,当在一个很短时间内多次去读写某一条行地址(如访问行(active row))时,周期性刷新的操作未能及时对某一条行地址的邻近的行(如相邻行(row+1、row-1)、次相邻行(row+2、row-2))进行刷新,则会对其邻近的行产生行锤现象。

需要说明的是,在动态随机存取存储器的多个存储体中,每一存储体包括多条行地址,重复激活某一行地址可以使得物理上邻近的行反转其某些位的值。此时,将被过度激活的行称为行锤行,并将在行锤行附近的产生行锤现象的行称为受害行。

实际应用中,可以采用多种方案以减轻行锤现象或改善行锤现象带来的结果,例如:制造行间距较大且不易产生行锤现象的芯片、使用错误校正码(ECC,Error Checkingand Correction)校正行锤现象引起的错误位、提高所有行地址的刷新频率、通过一次制造后分析并静态地重新映射/退出容易发生行锤的单元、在系统运行期间动态地重新映射/退出容易发生行锤的单元、以及在运行时准确地识别被锤击的行并刷新其附近的行。

具体地,本公开各实施例中提供了一种存储器及其操作方法、存储器系统,通过在存储器运行时准确地识别被锤击的行并根据刷新类型精确的确定受害行,对受害行进行刷新,从而更有针对性、更加精确的减轻行锤现象。

图3为本公开实施例提供的一种存储器系统示意图。如图3所示,本公开实施例中提供的所述存储器系统3可以包括存储控制器30和存储器40;其中,所述存储控制器30与所述存储器40电连接,用于向所述存储器40发出指令,控制所述存储器40执行相应的操作。

存储控制器30可以通过存储器接口向存储器40提供各种信号,从而控制存储器操作(如,写入和读取)。例如,存储控制器30可通过向存储器30提供命令CMD和地址ADDR来访问存储阵列400的数据DATA。作为示例,命令CMD可包括用于正常存储器操作(如,写入和读取数据)的激活命令、预充电命令和/或用于刷新操作的刷新命令。

示例性地,所述激活命令指示将存储阵列400的状态切换到激活状态,以便将数据写入存储阵列400或者从存储阵列400读取数据,存储阵列400中的行地址基于激活命令被打开。

存储控制器30还可以根据来自存储器系统3外部的主机的请求来访问存储器40。

基于上述存储器系统3,在本公开实施例还提供了一种所述存储器40,包括:寄存器401,用于标志存储阵列中是否存在行锤行,若存在所述行锤行,则进入行锤刷新模式;以及用于标志所述行锤刷新(RSR,Refresh Surround Row)模式中的任一刷新类型,所述行锤刷新模式包括至少两种刷新类型;刷新管理模块402,用于读取所述寄存器401的标志位,若所述标志位表征所述寄存器标志存在所述行锤行之后,则基于行激活命令包含的行地址以及所述寄存器标志的所述刷新类型获取所述行锤行对应的受害行,以及对所述受害行进行刷新。

图4为本公开实施例提供的一种存储器示意图。如图4所示,存储器40包括寄存器401、刷新管理模块402,所述存储装置40还可以包括:存储阵列400、命令解码器403、地址缓冲器404、行地址多路复用器406、多个行解码器407、存储体控制逻辑408、列地址锁存器409、多个列解码器410、输入/输出选通电路411和数据输入/输出缓冲器412。

其中,存储阵列400可以包括多个存储体,以及与多个存储体分别对应的多个感测放大器;这里,每一存储体包括多个行地址;每一行地址与对应的一个字线连接。

地址缓冲器404可以用于接收存储阵列的行地址或列地址。地址缓冲器可以将行地址发送到行解码器,并且可以将列地址发送到列解码器。行解码器基于从地址缓冲器接收的行地址选择连接到存储体的多个字线中的至少一条,行解码器响应于控制信号来激活选择的字线。列解码器选择连接到存储阵列的多条位线中的至少一条,列解码器响应于控制信号来激活选择的位线。这里,每一存储体包括连接到字线和位线的多个存储单元。感测放大器感测位线当中的激活的位线的电压变化并且放大该电压变化以产生输出数据。输入/输出缓冲器基于由感测放大器放大的电压,通过数据线将数据输出到外部设备,如存储控制器。

在一些具体实施例中,参考图4,地址缓冲器403可接收从存储控制器提供的地址ADDR。地址ADDR可包括存储体地址BA。此外,地址ADDR可包括用于指示存储阵列的行的行地址ROW_ADDR和用于指示存储阵列的列的列地址COL_ADDR。行地址ROW_ADDR可经由行地址选择器提供给多个行解码器,而列地址COL_ADDR可经由列地址锁存器提供给多个列解码器。此外,存储体地址BA可被提供给存储体控制逻辑。存储体控制逻辑404可响应于存储体地址BA而生成存储体控制信号。此外,响应于存储体控制信号,多个行解码器之中的与存储体地址BA对应的行解码器可被激活,多个列解码器之中的与存储体地址BA对应的列解码器可被激活。

需要说明的是,图4中展示的存储器40的各种组成器件仅为了更加清楚的说明存储器40的工作原理以及寄存器401和刷新管理模块402的工作环境情况,不用于限制存储器40的组成结构。

下面重点介绍寄存器401及刷新管理模块402。

这里,所述寄存器401可以为模式寄存器,用于存储设置存储器的操作环境的信息。本公开实施例中,寄存器401的标志位至少包括行锤刷新模式标志位和刷新类型标志位。

其中,所述行锤刷新模式标志位用于表征存储阵列中是否存在行锤行;行锤刷新模式标志位可以包括至少一个二进制位;示例性的,行锤刷新模式标志位可以包括第一值和第二值;其中,当存储阵列中存在行锤行,则将行锤刷新模式标志位置于第一值,即存储器后续进入行锤刷新模式,对行锤行邻近的受害行执行刷新;当对行锤行邻近的受害行执行过刷新后,则将行锤刷新模式标志位置于第二值,即退出行锤刷新模式。需要说明的是,当存储阵列正常执行周期性刷新,且不存在行锤行时,则将行锤刷新模式标志位置于第二值,即行锤刷新模式标志位的默认值或者缺省值为第二值。

所述刷新类型标志位用于表征行锤刷新模式中的多个刷新类型。行锤刷新模式包括至少两种刷新类型。刷新类型标志位包括的二进制位数可以根据刷新类型的数量进行设置,可以理解的是,刷新类型标志位包括的二进制位数提供的状态数量需要大于或等于刷新类型的数量。示例性地,所述刷新类型包括三种,则刷新类型标志位包括的二进制位数至少为两位。

在一些实施例中,所述刷新类型至少包括第一类型、第二类型、第三类型,其中:所述第一类型中的受害行为与所述行锤行相邻的行;所述第二类型中的受害行为与所述行锤行次相邻的行;所述第三类型中的受害行为与所述行锤行相邻的行和次相邻的行。

可以理解的是,在不同的刷新类型中,被定义为受害行的行地址,或者说被刷新的邻近行的行地址是不同的。在第一类型中,受害行为与所述行锤行相邻的行;在第二类型中,受害行为与所述行锤行次相邻的行;在第三类型中,受害行为与所述行锤行相邻的行和次相邻的行。这里关于类型的配置依据在后文中将会详细说明。

需要说明的是,当所述行锤行为存储阵列中位置处于最边缘的行(第一行或者最后一行)时,与所述行锤行相邻和/或次相邻的行地址为一行;当所述行锤行为存储阵列中位置不处于最边缘的行时,在各种类型中,与所述行锤行相邻和/或次相邻的行地址为两行。

其中,在一些具体示例中,当行锤刷新模式标志位为1位,刷新类型标志位为2位,刷新类型包括上述三种类型;进一步地,可以利用图5中示例的寄存器来标志存储阵列中是否存在行锤行,以及标志刷新类型。具体地:

图5所示寄存器为一个8位的寄存器,该寄存器中的1位即OP[0]用于标志存储阵列中是否存在行锤行:当OP[0]=0时,可以对应理解为前述的第二值,表征存储阵列中不存在行锤行,此时不进入行锤刷新模式或者退出行锤刷新模式,在接收到激活命令时,正常的激活相应行;当OP[0]=1时,可以对应理解为前述的第一值,表征存储阵列中存在行锤行,此时进入行锤刷新模式。该寄存器中的2位即OP[1]、OP[2]用于标志行锤刷新模式的刷新类型,此时若行锤行为row:当OP[2:1]=00时,指示受害行为row+1和row-1;当OP[2:1]=01时,指示受害行为row+2和row-2;当OP[2:1]=10时,指示受害行为row+1、row-1、row+2和row-2;该寄存器中剩余的5位即OP[3]--OP[8]可以作为预留位。可以理解的是,也可以利用其他类型的寄存器来实现行锤刷新模式和刷新类型的标志,只要其位数能够满足要求即可。

这里,所述刷新管理模块402,读取所述寄存器的行锤刷新模式标志位和刷新类型标志位,当行锤刷新模式标志位表征存储器进入行锤刷新模式后,根据存储控制器发出的行激活命令,确定行锤行的地址,根据刷新类型标志位中刷新类型确定受害行,进而对受害行继续刷新。

需要说明的是,这里的行激活命令既可以是在确定存储器中存在行锤行之后接收的行激活命令,也可以是在确定存储器中存在行锤行之前接收的行激活命令。

在一些实施例中,所述刷新管理模块402,用于在基于所述刷新类型进行刷新之前,检测所述刷新类型对应的每一受害行在预设时长内是否被刷新,若部分所述受害行已被刷新,则对剩余所述受害行进行刷新。

这里,所述受害行存在多个,所述刷新管理模块402对多个受害行中的每一受害行进行检测,根据检测结果判断每一受害行在预设时长内是否被执行刷新,如果某一受害行在预设时长内已经执行过刷新,则进入行锤刷新模式后,对该受害行不再执行刷新,即仅对受害行中在预设时长内未执行过刷新行执行刷新。这里,所述预设时长小于数据保持时长,所述数据保持时长为存储器按照一定频率执行正常刷新时的刷新周期,预设时长可以根据实际需求选择设置。

可以理解的是,在执行行锤刷新之前检测每一受害行的刷新情况,可以避免重复刷新,从而在避免行锤现象的前提下降低存储器的功耗。

需要说明的是,这里检测的刷新既可以是正常刷新操作,也可以是行锤刷新操作。例如,当存在多条受害行共有同一条行锤行时,检测的刷新有可能是被行锤刷新操作刷新的。

需要说明的是,若刷新类型为第三类型时,若之前仅对两个相邻行中的一个行地址进行刷新,那剩下的一个相邻行和两个次相邻行均要进行刷新;若刷新管理模块检测到所有的受害行在预设时长内均已经执行过刷新,则可以重新接收一个行激活命令,以作为重新确定的行锤行;或者,之前将重复访问次数第一的行作为行锤行,现在将重复访问次数第二的行作为新的行锤行。

在一些实施例中,所述存储器40用于接收存储控制器30发送的行锤刷新指令,以及根据所述行锤刷新指令,将所述寄存器的相应标志位置于第一值,所述第一值表征所述存储阵列中存在所述行锤行;或者,所述存储器40还包括计数器405,所述计数器405,用于对单位时段内存储器40接收的行激活命令对应的不同行地址进行分别计数;当任一所述行地址的计数值超出预设值时,将所述寄存器的相应标志位置于所述第一值。

这里,可以通过多种方式确定所述存储阵列中存在所述行锤行,从而将所述寄存器的行锤刷新模式标志位置于所述第一值。以下给出两种作为示例:

第一种:

可以根据存储控制器30记录并检测将要发出的行激活命令,根据发出的行激活命令对应的行地址的重复次数确定存储器中是否存在行锤行,在确定存储器的存储阵列中存在行锤行时,向存储器发出行锤刷新指令;行锤刷新指令用于指示存储器的存储阵列中存在行锤行;然后,将寄存器的相应标志位置于前述的第一值,使得存储阵列进入行锤刷新模式。

第二种:

可以根据存储器40中的计数器405,记录的单位时段内存储器接收的行激活命令对应的行地址的重复次数,确定存储器的存储阵列中是否存在行锤行;其中,当计数器记录的行地址的重复次数超过预设值时,则说明存储阵列中存在行锤行;然后,将寄存器的相应标志位置于前述的第一值,使得存储阵列进入行锤刷新模式。

在一些实施例中,所述存储器40,用于在所述刷新管理模块402对所述受害行进行刷新后,将所述寄存器的相应标志位置于第二值,所述第二值表征退出所述行锤刷新模式;刷新管理模块402,用于读取所述寄存器的标志位,若所述标志位表征退出所述行锤刷新模式之后,则基于行激活命令对相应的行进行激活。

本公开实施例中,刷新管理模块通过寄存器的刷新模式标志位确定存储阵列中是否存在行锤行,若存在行锤行,再根据寄存器的刷新类型标志位获取执行刷新的刷新类型,之后基于行激活命令中的包含的行地址,以及刷新类型确定受害行的行地址,最后对受害行进行刷新,以改善受害行的行锤现象。可以理解的是,由于受害行地址是基于行激活命令中的包含的行地址直接得到的,不需要查询存储器内部物理映射关系,从而本公开实施例中执行的行锤刷新方法具有较好的适应性;同时受害行是根据刷新类型有针对性的确定得到的,基于此,本公开实施例中执行的行锤刷新更有针对性、更加精确。

本公开的一些实施例中,还提供了一种存储器的操作方法,所述方法包括以下步骤:

步骤S601:读取寄存器的标志位,所述标志位用于标志存储阵列中是否存在行锤行,若存在所述行锤行,则进入行锤刷新模式;以及用于标志所述行锤刷新模式中的任一刷新类型,所述行锤刷新模式包括至少两种刷新类型;

步骤S602:若所述标志位表征所述寄存器标志存在所述行锤行之后,则基于行激活命令包含的行地址以及所述寄存器标志的所述刷新类型获取所述行锤行对应的受害行;以及

步骤S603:对所述受害行进行刷新。

应当理解,图6中所示的步骤并非排他的,也可以在所示操作中的任何步骤之前、之后或之间执行其他步骤;图6中所示的各步骤可以根据实际需求进行顺序调整。

其中,在一些实施例中,所述方法还包括:配置所述刷新类型;所述配置所述刷新类型,包括:

至少根据相邻字线的间距以及所述行锤行在单位时段内的被访问次数,确定所述刷新类型;以及

将确定的所述刷新类型对应的值存储在所述寄存器的相应标志位上。

在一些实施例中,所述刷新类型至少包括第一类型、第二类型、第三类型,其中:

所述第一类型中的受害行为与所述行锤行相邻的行;

所述第二类型中的受害行为与所述行锤行次相邻的行;

所述第三类型中的受害行为与所述行锤行相邻的行和次相邻的行。

在一些实施例中,确定所述刷新类型包括:

根据相邻字线的间距,确定第一预设次数;

若所述行锤行在所述单位时段内的被访问次数超过所述第一预设次数且未超过第二预设次数,则确定所述刷新类型为所述第一类型;其中,所述第二预设次数大于所述第一预设次数的两倍;

若所述行锤行在所述单位时段内的被访问次数超过所述第二预设次数,则确定所述刷新类型为所述第一类型、所述第二类型或所述第三类型之一。

在一些实施例中,确定所述刷新类型还包括:

若所述行锤行在所述单位时段内的被访问次数超过所述第二预设次数,则判断与所述行锤行相邻的行或与所述行锤行次相邻的行在预设时长内是否被刷新,所述预设时长小于数据保持时长;

若与所述行锤行相邻的行均被刷新,则确定所述刷新类型为所述第二类型;

若与所述行锤行次相邻的行均被刷新,则确定所述刷新类型为所述第一类型;

若与所述行锤行相邻的行至少部分未被刷新,以及与所述行锤行次相邻的行至少部分未被刷新,则确定所述刷新类型为所述第三类型。

图7为本公开实施例提供的一种行锤刷新电路功能流程示意图。下面结合图6、图7,对本公开实施例提供的存储器的操作方法进行详细地说明。

参考图7,图7中仍以前述的寄存器为例进行说明。

首先配置寄存器中的刷新模式标志位以及刷新类型标志位。

当存储器中的计数器或者存储控制器检测到某个行地址在短时间内被多次访问时,确定存储阵列中存在行锤行。也就是说,存储器在检测到计数值超出预设值或者接收到行锤刷新指令时,将寄存器的刷新模式标志位OP[0]置1,进入行锤刷新模式。否则,将刷新模式标志位OP[0]置0。

这里,至少根据相邻字线的间距、所述行锤行物理位置上的附近行被刷新的情况以及所述行锤行在单位时段内的被访问次数,将行锤刷新模式配置为三种类型,即第一类型、第二类型、第三类型;示例性的,第一类型对应的刷新类型标志位的值OP[2:1]=00、第二类型对应的刷新类型标志位的值OP[2:1]=01,以及第三类型对应的刷新类型标志位的值OP[2:1]=10。

具体地,当存储器制造完成时,其字线间距是确定的,而每次访问所造成的电荷泄露或者说所产生漂移电子也是可以量化的,在这一情况下,可以根据相邻字线之间的间距和量化后的参数确定第一预设次数,即认为当某一行地址在单位时段内的被访问次数超过第一预设次数时,其产生的漂移电子足以导致相邻行的存储单元的电荷量发生变化,进而导致数据错误。

可以理解的是,第一预设次数还与存储器的放大性能等因素有关,存储器的放大性能越好,电容器中所需要存储的电荷量越少,或者说进行放大所需要的基础电压差越小,存储单元所能忍受的电荷量变化越大,第一预设次数越大;此外,还可能与连接存储器和位线的晶体管的导通能力有关,导通能力越强,阈值电压越小,电容器所需要存储的电荷量越少,存储单元所能忍受的电荷量变化越大。

同时考虑到访问次数在第一预设次数时,对存储体中第一预设间距内的行产生行锤影响;在访问次数在第二预设次数时,对存储体中第二预设间距内的行产生行锤影响;此时,第二预设间距可能小于两倍的第一预设间距;原因在于相邻行会对频繁访问所造成的干扰起到一定的阻隔作用,进而减少了行锤现象对次相邻行的影响;示例性的,假如频繁访问500次时会在存储体中造成5nm范围内的字线漏电,当频繁访问1000次时,可能只能在存储体中造成8nm范围内的字线漏电,也就是说,相邻行对次相邻行起到了一定的保护作用。

这里,从前述的分析可以看出来,当所述第二预设次数大于所述第一预设次数的两倍时,行锤现象才会影响到邻近行和次邻近行。

当存储控制器检测到单位时段内对行锤行的访问次数大于第一预设次数,且小于第二预设次数时,确定漏电影响仅会延伸至将相邻行内,此时确定刷新类型为第一类型,将刷新类型标志位的值OP[2:1]置00。

当存储控制器检测到单位时段内对行锤行的访问次数大于第二预设次数时,字线的漏电范围可能涉及相邻行和次相邻行,此时可以进一步结合判断与所述行锤行相邻的行或与所述行锤行次相邻的行在预设时长内是否被刷新。所述预设时长可以根据实际需求进行设置;所述数据保持时间可以为执行周期性刷新操作时,相邻两次刷新操作间隔的时长。具体地:

当所述行锤行相邻的行均在预设时长内被刷新时,则仅刷新次相邻行,即确定所述刷新类型为所述第二类型,将刷新类型标志位的值OP[2:1]置01。当所述行锤行次相邻的行均在预设时长内被刷新时,则仅刷新相邻行,即确定所述刷新类型为所述第一类型,将刷新类型标志位的值OP[2:1]置00。当所述行锤行相邻的行至少部分在预设时长内未被刷新,以及与所述行锤行次相邻的行至少部分未被刷新时,则刷新相邻行和次相邻行,将刷新类型标志位的值OP[2:1]置10。

这里,所述步骤S601至步骤S603的执行主体可以是前述的刷新管理模块;此外,可以理解的是,上述单位时段应该小于数据保持时长,数据预设时长应当小于单位时段,从而避免在下一常规刷新到来之前,某一行地址的数据因电荷泄露发生错误。

执行步骤S601,刷新管理模块读取寄存器的刷新模式标志位的值和刷新类型标志位的值。

接下来,执行步骤S602,参考图7,获取到OP[0]=1,即表明存储阵列中存在行锤行,存储器进入行锤刷新模式。刷新管理模块基于刷新类型标志位的值即OP[2:1]确定刷新类型,即受害行与行锤行的相对位置关系。存储器接收到激活命令之后进行命令解码获得行锤行的存储体(bank)地址和行(row)地址信息,然后将获得的存储体地址和行地址进行地址转换计算获得行锤行物理上附近的四个行地址,分别记为row+1,row-1,row+2和row-2,然后根据OP[2:1]来选择刷新哪几个row,即确定受害行的物理地址,或者说,当获得行锤和的存储体地址和行地址之后,根据OP[2:1]的信息进行地址转换,仅获得要刷新的受害行的物理地址。当OP[2:1]=00时,指示受害行为row+1和row-1;当OP[2:1]=01时,指示受害行为row+2和row-2;当OP[2:1]=10时,指示受害行为row+1、row-1、row+2和row-2。

接下来,执行步骤S603,对所述受害行进行刷新。

在对受害行执行刷新时,依次对各受害行逐个进行刷新。具体地,参考图7,将刷新类型标志位的值OP[2:1]置00时,对与所述行锤行(row)相邻的行依次进行刷新;如刷新顺序可以为先刷新与行锤行相邻的下一行(row+1),再刷新与行锤行相邻的上一行(row-1),其中,刷新所需要的时间至少为激活一行到激活下一行之间所用的时间(tRC)与激活下一行所需要的预充电时间(tRPpb)的总和,即tRC+tRPpb;同时存储器中的用于记录正常刷新次数的计数器的计数值不会增加或减少。

将刷新类型标志位的值为OP[2:1]置01时,对与所述行锤行次相邻的行依次进行刷新;如刷新顺序可以为先刷新与行锤行次相邻的上一行(row-2),再刷新与行锤行次相邻的下一行(row+2)。

将刷新类型标志位的值为OP[2:1]置10时,对与所述行锤行相邻的行以及次相邻的行均依次进行刷新;如刷新顺序可以为先刷新与行锤行相邻的下一行(row+1),再刷新与行锤行相邻的上一行(row-1);接下来,刷新与行锤行次相邻的下一行(row+2),再刷新与行锤行相邻的上一行(row-2)。

可以理解的是,考虑到相邻行受到的影响更大,在进行第三种模式的刷新时,可以先对相邻行进行刷新,再对次相邻行进行刷新。

当该次的受害行刷新完成时,退出行锤刷新模式将OP[0]置0,整个存储器回归到正常的操作。

需要说明的是:“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

另外,本公开实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。

以上所述,仅为本公开的较佳实施例而已,并非用于限定本公开的保护范围。

技术分类

06120116571568