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

一种存储器的纠错方法及装置

文献发布时间:2023-06-19 11:32:36


一种存储器的纠错方法及装置

技术领域

本发明涉及半导体器件及其制造领域,特别涉及一种存储器的纠错方法及装置。

背景技术

半导体存储器件的特点可为易失性的或非易失性的,尽管易失性半导体存储器件可以高速执行读取操作和写入操作,但是在断电状态下存储在易失性半导体存储器件中的内容会丢失。相反,非易失性半导体存储器件的特点是无论是否加电均保留存储的内容。闪存器件(Flash memory)是典型的非易失性半导体存储器件的示例,闪存器件可以被广泛地用作数据存储介质。

随着对大容量存储装置的需求增大,正在广泛的使用每单元存储多比特的多级单元存储器件或多比特存储器件。在采用多级单元的存储器件中,可以在浮栅或电荷俘获层中注入不同数量的电子可以得到不同的阈值电压,从而表示不同的逻辑态,以多层单元(Multi-Level Cell,MLC)NAND Flash为例,在读取数据时,通过在栅极施加3个不同的读取电压,可以区分四个逻辑态。

然而存储单元的阈值电压通常随着存储器件的特性、时间的流逝和/或外围温度而变化,例如浮栅或电荷俘获层中的电子会随着时间的增加逐渐流失,使存储单元的阈值电压减小,当存储单元的阈值电压从高于相对应的读取电压减小到低于相对应的读取电压的电压,将会导致存储单元产生读取错误,称为数据保持错误(data retention error),数据保持错误会随着存储时间的增加逐渐增多。

差错控制编码(Error Correcting Code,ECC)可以纠正读出数据的错误,是保证写入数据和读出数据的一致性,提高存储系统可靠性的重要手段。但ECC也有一定的纠错范围,如果读出数据的原始误码率较不超过ECC纠错范围时,通过ECC纠错可以得到正确的数据,而如果读出数据的原始误码率较高,将会超出差错控制编码的纠错能力,无法正确的恢复出写入的数据。

数据保持错误是NAND Flash数据错误中最主要的成分,对NAND Flash可靠性影响最大,数据存储后最终能够被正确读出时所对应的最长存储时间成为数据保持(dataretention)时间,如何延长data retention时间,是本领域重要的研究方向。

重编程技术是指当存储数据产生数据保持错误,并且错误个数不超过ECC纠错范围时,通过ECC纠错得到正确的数据,将正确的数据重写到原来的page,重写的过程也可以称为重编程。在重编程过程中,由于电子流失而使阈值电压小于参考电压Vref的存储单元,会被增量步进脉冲编程(Incremental step pulse programming,ISPP)充入电子,使其阈值电压重新大于参考电压Vref,从而降低数据保持错误。

然而目前重编程针对的存储单元以及重编程后的阈值电压均根据参考电压确定,不能满足实际需求。

发明内容

有鉴于此,本申请的目的在于提供一种存储器的纠错方法及装置,能够合理确定需要进行重编程的存储单元,满足实际需求。

为实现上述目的,本申请有如下技术方案:

一种存储器的纠错方法,包括:

为目标阈值电压分布态确定对应重编程电压区间;所述重编程电压区间由起始电压和终止电压界定,所述起始电压小于所述目标阈值电压分布态的读取电压,所述终止电压根据所述目标阈值电压分布态的数据保持时间需求确定;

根据预设参考电压,基于增量步进脉冲编程,对阈值电压位于所述重编程电压区间的存储单元进行编程。

可选的,所述预设参考电压根据所述目标阈值电压分布态的数据保持时间需求确定,所述数据保持时间需求根据所述目标阈值电压分布态的历史数据保持时间确定。

可选的,所述目标阈值电压分布态为多个阈值电压分布态中的一个,所述阈值电压分布态对应的预设参考电压与所述阈值电压分布态对应的读取电压的差值,与所述阈值电压分布态对应的阈值电压正相关。

可选的,所述增量步进脉冲编程的步进电压的范围为0.2-0.5V,和/或,所述目标阈值电压分布态的读取电压与所述起始电压的差值范围为0.3-0.5V。

可选的,所述存储单元为MLC、TLC、QLC中的一种。

本申请实施例还提供了一种存储器的纠错装置,包括:

重编程电压区间确定单元,用于为目标阈值电压分布态确定对应重编程电压区间;所述重编程电压区间由起始电压和终止电压界定,所述起始电压小于所述目标阈值电压分布态的读取电压,所述终止电压根据所述目标阈值电压分布态的数据保持时间需求确定;

重编程单元,用于根据预设参考电压,基于增量步进脉冲编程,对阈值电压位于所述重编程电压区间的存储单元进行编程。

可选的,所述预设参考电压根据所述目标阈值电压分布态的数据保持时间需求确定,所述数据保持时间需求根据所述目标阈值电压分布态的历史数据保持时间确定。

可选的,所述目标阈值电压分布态为多个阈值电压分布态中的一个,所述阈值电压分布态对应的预设参考电压与所述阈值电压分布态对应的读取电压的差值,与所述阈值电压分布态对应的阈值电压正相关。

可选的,所述增量步进脉冲编程的步进电压的范围为0.2-0.5V,和/或,所述目标阈值电压分布态的读取电压与所述起始电压的差值范围为0.3-0.5V。

可选的,所述存储单元为MLC、TLC、QLC中的一种。

本申请实施例提供了一种存储器的纠错方法及装置,可以为目标阈值电压分布态确定重编程电压区间,根据预设参考电压,基于增量步进脉冲编程,对阈值电压位于重编程区间的存储单元进行编程,其中重编程电压区间由起始电压和终止电压界定,起始电压小于目标阈值电压分布态的读取电压,终止电压可以根据目标阈值电压分布态的数据保持时间需求确定,这样重编程的存储单元可以根据重编程电压区间确定,而重编程后的阈值电压可以根据参考电压确定,相比于现有技术中二者均根据参考电压确定,具有更多的可调整性,能够满足更多的实际应用场景。实际上,通过确定重编程的存储单元的多少可以调整数据保持时间的延长量,能够更好的满足实际应用中的数据需求,且避免了现有技术中为了得到较大的数据保持时间延长值而设置较大的参考电压,导致的不需要编程的存储单元被编程,因此能够降低存储单元的额外的损耗。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1为目前一种数据存储示意图;

图2为目前一种重编程示意图;

图3为利用ISPP为存储单元充入电子的示意图;

图4为本申请实施例提供的一种存储器的纠错方法的流程图;

图5为本申请实施例中一种重编程过程示意图;

图6为本申请实施例中一种预设参考电压-终止电压和延长的数据保持时间的对应关系示意图;

图7为本申请实施例中多个阈值电压分布态的重编程电压区间确定过程示意图;

图8为本申请实施例中一种预设参考电压和步进电压示意图;

图9为本申请实施例提供的一种存储器的纠错装置的结构框图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

为了便于理解本申请实施例提供的读取方法,首先介绍本申请实施例的具体应用场景。非易失存储器包括多个以阵列排列的用于存储数据的存储单元。其中,存储单元分为若干个块(block),每个块又分为若干个页(page),对非易失性存储器的读写、验证、清除等操作均可以以页为单位进行。

非易失性存储器包括存储单元阵列、控制逻辑、页缓存器(Page Buffer,PB)、字线电压产生器和字线译码器,存储单元阵列中的每列存储单元通过一条位线(Bit Line,BL)连接页缓存器,每行存储单元的栅极通过一条字线(Word Line,WL)连接字线译码器。控制逻辑通过控制字线电压产生器和页缓存器。在进行读取操作时,控制逻辑通过控制字线电压产生器在选中的字线上施加读取电压,在未选中的字线上施加读通过电压后,控制页缓存器根据不同的读取操作方法对相应位线上存储单元存储的数据进行感测,从而读取出非易失性存储器存储的数据。

非易失性存储器主要分为SLC(Single-LevelCell)、MLC(Milti-Level Cell)、TLC(Trinary-LevelCell)、QLC(Quad-LevelCell)等多种类型,SLC即1bit/cell,每个存储单元存储1比特数据,存储单元只存在两种存储状态:“0”和“1”。MLC,即2bit/cell,每个存储单元存储2比特数据,存储单元存在四种存储状态:“00”、“01”、“10”、“11”。TLC,即3bit/cell,每个存储单元存储3比特数据,存储单元存在八种存储状态:“000”、“001”、“010”、“011”、“100”、“101”、“110”、“111”。可以理解非易失性存储器的存储单元也可以存储多余3比特数据。QLC,即4bit/cell,每个存储单元存储4比特数据,存储单元存在16中存储状态:“0000”、“0001”、“0010”、“0011”、“0100”、“0101”、“0110”、“0111”、“1000”、“1001”、“1010”、“1011”、“1100”、“1101”、“1110”、“1111”。

为了确定存储单元的存储状态,从而读出其存储的数据,对SLC型的非易失性存储器而言,在选中的字线上执行一次读取操作在字线上施加一次读取电压后感测数据,即可将对应的存储单元中存储的数据读出。但对于MLC和TLC等每存储单元存储多比特数据的非易失性存储器而言,由于每个存储单元的存储状态不止两种,因此需要对同一存储单元进行连续多次的读取操作在字线上施加多个不同大小的读取电压后感测存储的数据,才可以确定存储单元的实际存储状态,将该非易失性存储器存储的数据读出。

目前,存储单元的阈值电压通常随着存储器件的特性、时间的流逝和/或外围温度而变化,例如浮栅或电荷俘获层中的电子会随着时间的增加逐渐流失,使存储单元的阈值电压减小,当存储单元的阈值电压从高于相对应的读取电压减小到低于相对应的读取电压的电压,将会导致存储单元产生读取错误,称为数据保持错误(data retention error),数据保持错误会随着存储时间的增加逐渐增多。差错控制编码(Error Correcting Code,ECC)可以纠正读出数据的错误,是保证写入数据和读出数据的一致性,提高存储系统可靠性的重要手段。但ECC也有一定的纠错范围,如果读出数据的原始误码率较不超过ECC纠错范围时,通过ECC纠错可以得到正确的数据,而如果读出数据的原始误码率较高,将会超出差错控制编码的纠错能力,无法正确的恢复出写入的数据。

参考图1所示,为目前一种数据存储示意图,横坐标为阈值电压(threholdvoltage),纵坐标为存储单元的数量,图中以E、P1、P2、P3态为例进行说明,实线表示数据写入到闪存中的零时刻存储单元的阈值电压所形成的初始阈值电压分布态,虚线表示经过一段存储时间后闪存的阈值电压分布态,从图中可以看出,经过一段存储时间后,由于存储单元所保持的电荷泄漏,导致闪存的阈值电压分布态向阈值电压较小的一侧偏移,即分布态左移,如果这时候使用数据写入零时刻所使用的读取电压Vread1、Vread2、Vread3对闪存进行读操作,将会导致读出数据的误码率较高。很有可能无法通过ECC校验,无法得到正确的存储数据。

重编程技术是指当存储数据产生数据保持错误,并且错误个数不超过ECC纠错范围时,通过ECC纠错得到正确的数据,将正确的数据重写到原来的page,重写的过程也可以称为重编程。在重编程过程中,由于电子流失而使阈值电压小于参考电压的存储单元,会被增量步进脉冲编程(Incremental step pulse programming,ISPP)充入电子,使其阈值电压重新大于参考电压,从而降低数据保持错误。

参考图2所示,为目前一种重编程示意图,横坐标为阈值电压(VT),纵坐标为存储单元的数量(CellCount),以四个阈值电压分布态为例,图2A、2B、2C中的曲线分别表示初始阈值分布、经过数据保持时间之后的阈值分布以及数据恢复之后的阈值分布,其中,阈值电压较高的存储单元具有较多的电子,各个阈值电压分布态分别对应存储状态“11”、“10”、“01”、“00”,相邻阈值电压分布态之间存在参考电压REF1、REF2、REF3。在经过数据保持时间之后,闪存的阈值电压分布态向阈值电压较小的一侧偏移,即分布态左移,甚至一些存储单元的阈值电压从参考电压的右侧移动到左侧,而通过ISPP电子注入可以实现重编程,使小于参考电压的阈值电压右移到参考电压右侧,从而降低误码率。

参考图3所示,为利用ISPP为存储单元充入电子的示意图,其中横坐标为阈值电压,纵坐标为存储单元数量,对于一个阈值电压分布态(V

然而目前的重编程针对的存储单元仅根据参考电压确定,即将阈值电压小于参考电压的存储单元进行重编程,为了使重编程后的存储单元具有较大的阈值电压,参考电压通常大于读取电压。然而只有阈值电压在读取电压附近的存储单元才会导致读取错误,这种将参考电压左侧的存储单元都进行编程操作的方式,会导致参考电压较大时,一些不造成错误的存储单元也被编程,容易造成存储单元额外的磨损,而参考电压较小时重编程后的存储单元会在短时间内再次出现数据保持错误,因此数据保持时间延长较少,不能满足实际需求。

基于以上技术问题,本申请实施例提供了一种存储器的纠错方法及装置,可以为目标阈值电压分布态确定重编程电压区间,根据预设参考电压,基于增量步进脉冲编程,对阈值电压位于重编程区间的存储单元进行编程,其中重编程电压区间由起始电压和终止电压界定,起始电压小于目标阈值电压分布态的读取电压,终止电压大于或等于该读取电压,这样重编程的存储单元可以根据重编程电压区间确定,而重编程后的阈值电压可以根据参考电压确定,相比于现有技术中二者均根据参考电压确定,具有更多的可调整性,能够满足更多的实际应用场景。实际上,终止电压可以根据目标阈值电压分布态的数据保持时间需求确定,这样通过确定重编程的存储单元的多少可以调整数据保持时间的延长量,能够更好的满足实际应用中的数据需求,且避免了现有技术中为了得到较大的数据保持时间延长值而设置较大的参考电压,导致的不需要编程的存储单元被编程,因此能够降低存储单元的额外的损耗。

基于以上思想,为使本申请的上述目的、特征、优点能够更加明显易懂,下面结合附图对本申请的具体实施方式进行详细说明。

首先,需要说明的是,本申请实施例提供的存储器的纠错方法及装置,不仅适用于NAND闪存存储器,还适用于磁阻存储器(Magnetoresistive RandomAccess Memory,MRAM)、相变存储器(Phase-Change RandomAccess Memory,PCRAM)、相变存储器和开关(Phase-Change Random Access Memory and a switch,PCMS)、阻性存储器、铁电存储器(ferroelectric RAM,FRAM)、自旋转移转矩存储器(Spin Torque Transfer,STT)、热辅助的开关存储器(TAS)、千足虫存储器(Millipede memory)、浮动结栅存储器(FJG RAM)、电池备份RAM等其他非易失性存储器。该存储器中每个存储单元可存储2比特甚至更多数据。

参考图4所示,为本申请实施例提供的一种存储器的纠错方法的流程图,该方法可以包括:

S101,为目标阈值电压分布态确定对应重编程电压区间。

本申请实施例中,可以对属于某一阈值电压分布态的存储单元进行重编程,该阈值电压分布态可以作为目标阈值电压分布态,目标阈值电压分布态可以为多个阈值电压分布态中的一个,实际操作中,多个阈值电压分布态中的每个阈值电压分布态可以依次作为目标阈值电压分布态,从而实现对各个分布态的重编程,例如多个阈值电压分布态中的每个阈值电压分布态可以按照阈值电压从小到大或从大到小的顺序依次作为目标阈值电压分布态。

举例来说,TLC NAND闪存器件中,目标阈值电压分布态可以为(E,P1,P2,…,P7)中的一个阈值电压分布态。实际操作中,从E到P7可以依次作为目标阈值电压分布态,或者从P7到E可以依次作为目标阈值电压分布态,实现TLC NAND闪存器件的重编程。

目标阈值电压分布态可以对应有重编程电压区间(PGM Region),重编程电压区域用于确定需要编程的存储单元,重编程电压区间由起始电压和终止电压界定,即重编程电压区间包括大于或等于起始电压且小于或等于终止电压的区间。起始电压可以表示为V

其中,起始电压小于目标阈值电压分布态的读取电压,可以设置为与该读取电压的差值绝对值较大的值,以接近经过数据保持时间后目标阈值电压分布态中最低的阈值电压,例如差值绝对值范围可以为0.3-0.5V,具体的,可以为0.4V,这样具有较低下限的重编程区间可以包括目标阈值电压分布态中较小的阈值电压。

终止电压可以大于或等于目标阈值电压分布态的读取电压V

具体的,数据保持时间需求根据存储的数据特性确定,通常来说,对于存储时间较短的“热数据”,数据保持时间需求较短,其中热数据是短时间内需要更新的数据,而对于存储时间较长的“冷数据”,数据保持时间需求较长,其中冷数据是短时间内不需要更新的数据,当然实际操作中,可以有多种方式确定存储的数据为“热数据”还是“冷数据”,其中一种实施方式为,根据目标阈值电压分布态的历史数据保持时间来确定存储的数据特性,进而确定数据保持时间需求,即根据目标阈值电压分布态的历史数据保持时间确定目标阈值电压分布态的终止电压。数据保持时间需求实际上是在历史数据保持时间的基础上的延长需求,即延长的数据保持时间需求,对于目标阈值电压分布态而言,数据保持时间需求可以和终止时间具有对应关系。

参考图5所示,为本申请实施例中一种重编程过程示意图,其中目标阈值电压分布态为V

也就是说,终止电压可以根据目标阈值电压分布态的数据保持时间需求确定,则由起始电压和终止电压界定的重编程电压区间的范围由目标阈值电压分布态的数据保持时间需求确定,因此阈值电压处于重编程电压区间的存储单元的数据可以根据目标阈值电压分布态的数据保持时间需求确定,在将阈值电压处于重编程电压区间的存储单元的数据作为被编成单元时,通过控制被编成单元的多少,可以控制重编程后能够存储的数据保持时间,实现减小重编程过程中不必要的单元磨损和根据数据所需的数据保持时间来动态调整数据保持时间的功能,从而满足不同数据保持时间的要求。

具体实施时,S101之前还可以通过ECC对数据进行解码以获取正确的数据,利用正确的数据进行后续存储单元的重编程。

S102,根据预设参考电压,基于增量步进脉冲编程,对阈值电压位于所述重编程电压区间的存储单元进行编程。

在确定重编程电压区间后,可以利用起始电压和终止电压连续进行两次读操作,这样可以确定出阈值电压位于重编程电压区间的存储单元,将这些存储单元作为重编程单元,将其他存储单元作为编程抑制单元,从而对重编程单元进行编程,而编程抑制单元不会被编程。当然,不属于目标阈值电压分布态的存储单元被自然抑制而不编程,因此只有目标阈值电压分布态中的阈值电压处于重编程电压区间的存储单元作为重编程单元。重编程单元和编程抑制单元可以通过在页缓冲器(page buffer)中进行标记,标记为编程抑制单元的存储单元被编程抑制。

对重编程单元进行编程,可以基于增量步进脉冲编程,通过逐渐增大编程电压,以使编程后的电压以步进电压逐渐增大,在编程后的电压大于参考电压时完成编程。这里的参考电压可以是预先设置,作为预设参考电压。这样,对重编程单元进行编程后,重编程单元的阈值电压大于预设参考电压,且小于预设参考电压和步进电压的和,即落在[V

也就是说,预设参考电压与能够实现的数据保持时间相关,因此预设参考电压可以根据目标阈值电压分布态的数据保持时间需求确定,当然,数据保持时间需求根据目标阈值电压分布态的历史数据保持时间确定。参考图5所示,预设参考电压可以为V

即预设参考电压和终止电压可以均根据目标阈值电压分布态的数据保持时间需求确定,而这两个因素都会影响实际能够延长的数据保持时间,因此可以综合考虑预设参考电压和终止电压,建立预设参考电压-终止电压和能够延长的数据保持时间的对应关系。

参考图6所示,为本申请实施例中一种预设参考电压-终止电压和延长的数据保持时间的对应关系示意图,其中横坐标为终止电压,纵坐标为延长的数据保持时间(ExtendedRetention Time),不同曲线表示不同的预设参考电压,其中V

本申请实施例中,以增加的预设参考电压V

目标阈值电压分布态可以为多个阈值电压分布态中的一个,则各个阈值电压分布态可以对应有各自的终止电压和预设参考电压,则可以根据其对应的终止电压和预设参考电压依次将多个阈值电压分布态作为目标阈值电压分布态,依次进行各个阈值电压分布态的重编程。具体的,可以依次利用各个预设参考电压对应的初始电压和终止电压进行连续读取(SequentialReads),确定各个阈值电压分布态的需要编程的存储单元,而后依次进行各个阈值电压分布态的重编程。

参考图7所示,为本申请实施例中多个阈值电压分布态的重编程电压区间确定过程示意图,其中存储单元为TLC,读取顺序可以为从低态到高态,P5对应初始电压V

在目标阈值电压分布态为多个阈值电压分布态中的一个时,多个阈值电压分布态可以对应有多个预设参考电压,由于利用编程电压区间来控制编程的存储单元,则预设参考电压可以设置在较高的程度,则相比于现有技术,预设参考电压可以有较大的值,因此可以在不造成存储单元的损耗的前提下,实现较大的数据保持时间。

然而阈值电压分布态的宽度通常是一定的,参考电压的提高,可能会降低编程后的目标阈值电压分布态与相邻的较高态的间距,为了解决该问题,可以有以下两种解决方式:

第一种方式,可以针对不同的阈值电压分布态设置不同的参考电压的提升程度。通常来说,较高态的存储单元电荷损失较为严重,因此其数据保持时间相对较短,因此可以为较高态的存储单元设置较大的预设参考电压,即令较高态的预设参考电压与读取电压之间的差值大于较低态的预设参考电压与读取电压之间的差值,也可以说,预设参考电压与读取电压之间的差值与对应的阈值电压分布态的阈值电压正相关,从而使较高态的存储单元在编程后阈值电压有较大的提升。

事实上,参考图8所示,为本申请实施例中一种预设参考电压和步进电压示意图,其中,预设参考电压V

第二种方式,适当降低编程操作中的步进电压V

当然,第一种方式和第二种方式从不同的角度解决技术问题,在一些实施方式中,也可以同时采用第一种方式和第二种方式,即针对不同的阈值电压分布态设置不同的参考电压的提升程度,同时适当降低编程操作中的步进电压。参考图8所示,V

以上示出了单个阈值电压分布态的重编程过程,即目标阈值电压分布态的重编程过程,以及依次进行多个阈值电压分布态的重编程,在存储器件经过长时间存储后,当数据错误再次接近ECC纠错范围时,可以再次进行重编程操作,在此不做赘述。

本申请实施例提供了一种存储器的纠错方法,可以为目标阈值电压分布态确定重编程电压区间,根据预设参考电压,基于增量步进脉冲编程,对阈值电压位于重编程区间的存储单元进行编程,其中重编程电压区间由起始电压和终止电压界定,起始电压小于目标阈值电压分布态的读取电压,终止电压可以根据目标阈值电压分布态的数据保持时间需求确定,这样重编程的存储单元可以根据重编程电压区间确定,而重编程后的阈值电压可以根据参考电压确定,相比于现有技术中二者均根据参考电压确定,具有更多的可调整性,能够满足更多的实际应用场景。实际上,通过确定重编程的存储单元的多少可以调整数据保持时间的延长量,能够更好的满足实际应用中的数据需求,且避免了现有技术中为了得到较大的数据保持时间延长值而设置较大的参考电压,导致的不需要编程的存储单元被编程,因此能够降低存储单元的额外的损耗。

基于以上实施例提供的存储器的纠错方法,本申请实施例还提供了一种存储器的纠错装置,参考图9所示,为本申请实施例提供的一种存储器的纠错装置的结构框图,该装置包括:

重编程电压区间确定单元110,用于为目标阈值电压分布态确定对应重编程电压区间;所述重编程电压区间由起始电压和终止电压界定,所述起始电压小于所述目标阈值电压分布态的读取电压,所述终止电压根据所述目标阈值电压分布态的数据保持时间需求确定;

重编程单元120,用于根据预设参考电压,基于增量步进脉冲编程,对阈值电压位于所述重编程电压区间的存储单元进行编程。

可选的,所述预设参考电压根据所述目标阈值电压分布态的数据保持时间需求确定,所述数据保持时间需求根据所述目标阈值电压分布态的历史数据保持时间确定。

可选的,所述目标阈值电压分布态为多个阈值电压分布态中的一个,所述阈值电压分布态对应的预设参考电压与所述阈值电压分布态对应的读取电压的差值,与所述阈值电压分布态对应的阈值电压正相关。

可选的,所述增量步进脉冲编程的步进电压的范围为0.2-0.5V,和/或,所述目标阈值电压分布态的读取电压与所述起始电压的差值范围为0.3-0.5V。

可选的,所述存储单元为MLC、TLC、QLC中的一种。

本申请实施例提供了一种存储器的纠错装置,可以为目标阈值电压分布态确定重编程电压区间,根据预设参考电压,基于增量步进脉冲编程,对阈值电压位于重编程区间的存储单元进行编程,其中重编程电压区间由起始电压和终止电压界定,起始电压小于目标阈值电压分布态的读取电压,终止电压可以根据目标阈值电压分布态的数据保持时间需求确定,这样重编程的存储单元可以根据重编程电压区间确定,而重编程后的阈值电压可以根据参考电压确定,相比于现有技术中二者均根据参考电压确定,具有更多的可调整性,能够满足更多的实际应用场景。实际上,通过确定重编程的存储单元的多少可以调整数据保持时间的延长量,能够更好的满足实际应用中的数据需求,且避免了现有技术中为了得到较大的数据保持时间延长值而设置较大的参考电压,导致的不需要编程的存储单元被编程,因此能够降低存储单元的额外的损耗。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅是本申请的优选实施方式,虽然本申请已以较佳实施例披露如上,然而并非用以限定本申请。任何熟悉本领域的技术人员,在不脱离本申请技术方案范围情况下,都可利用上述揭示的方法和技术内容对本申请技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本申请技术方案的内容,依据本申请的技术实质对以上实施例所做的任何的简单修改、等同变化及修饰,均仍属于本申请技术方案保护的范围内。

相关技术
  • 一种存储器的纠错方法、纠错装置和数据刷新方法
  • 一种空间CCD图像存储器NAND闪存纠错编解码器及纠错方法
技术分类

06120112966103