CN101399083B - 非易失性存储装置及其操作方法 - Google Patents
非易失性存储装置及其操作方法 Download PDFInfo
- Publication number
- CN101399083B CN101399083B CN200810167435XA CN200810167435A CN101399083B CN 101399083 B CN101399083 B CN 101399083B CN 200810167435X A CN200810167435X A CN 200810167435XA CN 200810167435 A CN200810167435 A CN 200810167435A CN 101399083 B CN101399083 B CN 101399083B
- Authority
- CN
- China
- Prior art keywords
- program
- program speed
- voltage
- programming
- speed
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/12—Programming voltage switching circuits
Landscapes
- Read Only Memory (AREA)
Abstract
本发明涉及非易失性存储装置的操作方法。在本发明的一方面,所述方法包括:对全部存储单元执行第一编程操作;测量参考存储单元的第一编程速度;将第一编程速度存储在编程速度存储单元中;重复执行编程/擦除操作直到编程/擦除操作的数量对应于特定参考值;当编程/擦除操作的数量对应于特定参考值时,测量参考存储单元的第二编程速度;计算第一编程速度和第二编程速度之间的差;根据所计算的编程速度差重置编程起始电压;以及基于重置的编程起始电压执行编程/擦除操作。
Description
相关申请的交叉引用
本发明要求2007年9月27日提交的韩国专利申请10-2007-0097295的优先权,该专利申请的公开内容通过引用全部结合于此。
背景技术
本发明涉及非易失性存储装置及其操作方法,其中根据编程/擦除操作的数量可变地控制非易失性存储装置的编程电压。
今年来,越来越需要能够电编程和擦除的、不需要以固定间隔重写数据的更新功能的非易失性存储装置。
非易失性存储装置被配置成通过向每个单元的浮置栅极注入电子或从中去除电子来执行编程或擦除操作。
各非易失性存储装置中的NAND型非易失性存储装置包括许多单元串,其中在单元串中,多个存储单元串联连接。就单元串结构而言,当读特定单元时,除所选择单元外的未被选择单元被旁路或者导通。因此,向未被选择单元的字线施加比相应单元的阈值电压更高的通过电压,以便导通相应单元。但是,对于由于具有更快的编程速度而使用比其他未被选择单元的阈值电压更高的阈值电压进行编程的未被选择单元,即使施加对应的通过电压也可能不导通。如果存在如上所述未被导通的单元,则非常难于准确地确定在相应的单元串中所选择单元是否已被编程。
这是因为阈值电压快速上升的单元和阈值电压上升较慢的单元共存,即使这两者被施加相同的编程电压。为了防止该问题,使用以较低的编程电压对具有快的编程速度的单元进行编程以及以较高的编程电压对具有慢的编程速度的单元进行编程的步进脉冲编程(Incremental Step PulseProgram,ISPP)编程方法。
但是,单元的特性或者单元的编程速度并不总是统一的。如果编程操作和擦除操作重复执行,那么单元的沟道氧化物层受到损害和/或产生陷阱等。结果,编程速度总体上升。
如上所述,当重复进行编程操作和擦除操作时,单元的编程速度上升。因此,需要控制编程电压。
发明内容
本发明涉及提供一种非易失性存储装置,在该非易失性存储装置中,根据所确定的编程/擦除操作的数量测量编程电压以及根据所测量的编程速度重置编程起始电压。
本发明还涉及提供一种采用非易失性存储装置的操作方法。
根据本发明一方面的非易失性存储装置包括:编程速度检测单元,用于测量全部存储单元的参考存储单元的第一编程速度,以及用于当编程/擦除操作的数量对应于特定参考值时测量参考存储单元的第二编程速度;编程速度存储单元,用于存储第一编程速度;以及编程电压控制器,用于通过比较存储在编程速度存储单元中的第一编程速度和第二编程速度,来确定是否改变编程电压。
根据本发明另一方面的非易失性存储装置的操作方法包括:对全部存储单元执行第一编程操作;测量参考存储单元的第一编程速度;将第一编程速度存储在编程速度存储单元中;重复执行编程/擦除操作直到编程/擦除操作的数量对应于特定参考值;当编程/擦除操作的数量对应于特定参考值时,测量参考存储单元的第二编程速度;计算第一编程速度和第二编程速度之间的差;根据所计算的编程速度差重置编程起始电压;以及基于重置的编程起始电压执行编程/擦除操作。
根据本发明又一方面的非易失性存储装置的操作方法包括:对全部存储单元执行第一编程操作;测量参考存储单元的第一编程速度;将第一编程速度存储在编程速度存储单元中;重复执行编程/擦除操作直到编程/擦除操作的数量对应于参考值;当编程/擦除操作的数量对应于参考值时,测量参考存储单元的第二编程速度;决定参考存储单元的分布的变化量;计算第一编程速度和第二编程速度之间的差;根据所计算的编程速度差和决定的分布的变化量重置编程起始电压;以及基于重置的编程起始电压执行编程/擦除操作。
附图说明
图1是示出本发明中使用的非易失性存储装置的单元串结构的示图;
图2是示出根据非易失性存储装置的编程的阈值电压分布的示图;
图3是示出取决于重复执行的编程操作和擦除操作数量的阈值电压的变化的特征曲线图;
图4是示出根据本发明实施例的非易失性存储装置的方框图;
图5是图示根据本发明实施例的非易失性存储装置的操作的流程图;
图6是根据本发明另一实施例的非易失性存储装置的操作的流程图;
图7是示出根据本发明另一实施例的非易失性存储装置的方框图;以及
图8是图示根据本发明又一实施例的非易失性存储装置的操作的流程图。
具体实施方式
现在,将参考附图描述根据本发明的特定实施例。但是,本发明并不限于所公开的实施例,而是可以以各种方式实现。各个实施例被提供来完成本发明的公开,并且使得本领域的技术人员理解本发明的范围。本发明通过权利要求书的范畴限定。
图1是示出本发明中使用的非易失性存储装置的单元串结构的示图。
本发明的NAND型非易失性存储装置包括单元串100,在该单元串100中,多个存储单元串联连接。
非易失性存储装置还包括选择性连接单元串和位线B/L的漏极选择晶体管,以及选择性连接单元串和地的源极选择晶体管。
在读操作的情况下,读参考电压Vrd施加到要读的被选择单元C114的栅极,并且通过电压Vpass施加到其余的未被选择单元C112、C116。例如,0V的读参考电压能够被施加到被选择单元,并且3.5V的通过电压能够被施加到未被选择单元。同时,3.5V的通过电压分别施加到漏极选择晶体管和源极选择晶体管。
在这种情况下,依靠是否已使用0V或更大的电压对相应单元进行了编程来确定是否已形成从位线到地的电流通路。也就是说,当使用0V或更大的电压对相应单元进行了编程时,相应单元未导通,因此电流通路未形成。但是,当还没有使用0V或更大的电压对相应单元进行编程时,相 应单元导通,从而形成电流通路。
这里,如果使用除被选择单元以外的未被选择单元的阈值电压控制是否已形成电流通路,则不能准确读取所选择单元的阈值电压。也就是说,如果未被选择单元的编程速度比其他单元的编程速度更快,而且未被选择单元的阈值电压比通过电压更高(在C116的情况下),则相应单元即使被施加通过电压也不导通。
下面参考附图更具体地描述阈值电压的分布。
图2是示出根据非易失性存储装置的编程的阈值电压的分布的示图。
该附图示出使用0V或更小的阈值电压被进行编程的单元(ON单元)以及使用0V或更大的阈值电压被进行编程的单元(关断单元(OFF cell))的分布。
在读操作的情况下,虽然比典型接通单元(ON cell)的分布(0.5V到1.5V)更高的3.5V的通过电压被施加到未被选择单元以导通所有未被选择单元,如果存在具有比通过电压高的阈值电压的单元(例如C116),那么这些单元未导通。
如上所述,由于各单元的编程速度相当不同,所以对编程读操作的影响可能很大。
这是因为取决于单元的特性而阈值电压快速上升的单元和阈值电压上升较慢的单元共存,即使这两者被施加相同的编程电压。为了防止该问题,使用以较低的编程电压对具有快的编程速度的单元进行编程以及以较高的编程电压对具有慢的编程速度的单元进行编程的ISPP编程方法。
但是,单元的特性或者单元的编程速度并不总是统一的。如果编程操作和擦除操作重复执行,那么单元的沟道氧化物层受到损害和/或产生陷阱等。结果,编程速度总体上升。
图3是示出取决于重复执行的编程操作和擦除操作数量的阈值电压的变化的特征曲线图。
随着编程操作和擦除操作的数量的增加,在执行编程或擦除操作后,存储单元的阈值电压变得高于目标电压。也就是说,在编程操作时,存储单元被快速编程,因此该单元的阈值电压变得高于目标电压。在这种情况下,编程操作连续执行。此外,在擦除操作时,存储单元被慢慢擦除,因此该单元的阈值电压高于目标电压。在这种情况下,擦除操作连续执行。
为解决该问题,可以使用施加ISPP的较低起始偏置的方法。也就是说,参考图3的曲线图,如果编程或擦除操作被执行使得阈值电压总体上升大约1.5V,则施加比典型电压低1.5V的编程起始电压。但是,该方法的问题在于编程时间被延长低电压那样多。换句话说,假设ISPP编程的步进电压是0.3V且每编程周期所需时间是50μs,则为了增加1.5V,增加了大约250μs的时间。
图4是示出根据本发明实施例的非易失性存储装置的方框图。
非易失性存储装置400包括:普通存储单元410,其中存储数据;参考存储单元420,其执行与普通存储单元410相同的功能,但是成为测量单元的编程速度的样本;以及编程速度存储单元430,其用于存储参考存储单元420的编程速度。
这里,术语“编程速度”是指直到参考存储单元420以特定验证电压或更高电压被全部进行编程,施加到相应字线的编程电压的数量,或者直到参考存储单元420到达相应编程电压,施加的编程脉冲的数量。这在下面具体描述。
同时,非易失性存储装置400还包括:编程电压供给单元440,用于向普通存储单元410和参考存储单元420提供编程电压;编程速度检测单元450,用于确定参考存储单元420是否以特定验证电压或更高电压全部进行了编程,以及检测在相应时间点施加到相应字线的电压;编程/擦除周期存储单元460,用于存储非易失性存储装置的编程/擦除操作的总数;以及编程电压控制器470,用于通过比较编程速度存储单元430中存储的第一编程速度和由编程速度检测单元450依靠编程/擦除操作的数量而检测到的第二编程速度,确定降低编程电压。
在下面更具体地描述非易失性存储装置400的每个组成元件。
普通存储单元410和参考存储单元420对应于上述NAND型非易失性存储单元,并且以相同的方式进行编程/读取/擦除操作。
但是,参考存储单元420是成为用于测量各单元的编程速度的样本的单元的集合。由于仅仅使用数个单元组能够预知全部存储单元的速度,所以选择全部存储单元的一些存储单元,测量相应单元的编程速度。
这里,参考存储单元在数量上可以是一个,或者每块、每平面或每页包括多个单元。
下面简略描述编程速度。
ISPP编程方法是通过使编程起始电压连续增加步进电压来进行编程的方法。因此,认为如果编程是在上升的电压低或者增加的编程起始电压小的情况下完成的,则编程速度快。
根据实施例,基于在目标验证电压以上完成编程时施加到相应字线的编程电压能够确定编程速度。也就是说,如果在低编程电压也完成编程,则认为相应单元的编程速度快。
根据另一实施例,基于直到目标验证电压到达一编程电压时所施加的电压的数量能够确定编程速度,其中所述编程电压是在目标验证电压以上完成编程时施加到相应字线的编程电压。也就是说,如果在低电压也完成编程,则认为相应单元的编程速度快。
这样,就测量了参考存储单元420的编程速度。
编程速度存储单元430用于存储编程速度。
编程速度存储单元430能够包括在非易失性存储区如存储单元、标记单元或空闲单元中。编程速度存储单元430也能够包括在寄存器、ROM、CAM单元等中,其中寄存器、ROM、CAM单元等包括在控制器中,与上面不同。
根据实施例,存储的编程速度能够成为在目标验证电压以上完成编程时施加到相应字线的编程电压。
根据另一实施例,存储的编程速度能够成为直到目标验证电压到达一编程电压时所施加的编程脉冲的数量,其中所述编程电压是直到在目标验证电压以上完成编程时施加到相应字线的编程电压。
同时,存储在编程速度存储单元430中的数据基于编程/擦除周期进行存储。只要编程/擦除操作完成一次,就可以存储相应的数量,或者取决于用户,每n个周期周期性地存储相应数量。
可替选地,数量能够每log(M)次、10次、100次、1000次、10000次等进行存储。
这里,基于擦除操作能够理想地决定编程/擦除操作重复的数量,或者可以基于取决于用户的编程操作选择性决定。
而且,编程电压供给单元440向普通存储单元410和参考存储单元420提供编程电压。
根据ISPP方法,施加连续增加步进电压的起始编程电压。
编程电压供给单元440响应于编程电压控制器470可变地提供起始编程电压或步进电压。
如果编程/擦除操作的数量增加,从而确定编程速度高,则降低并提供起始编程电压。这里,起始编程电压降低的程度可以是大约单位步进电压。例如,假设步进电压是0.3伏,如果确定编程速度高,则步进电压每次降低0.3V。
编程速度检测单元450确定参考存储单元420是否都在特定验证电压以上进行了编程,并且检测在相应时间点施加到相应字线的电压。
可替选地,编程速度检测单元450能够确定参考存储单元420是否都在特定验证电压以上进行了编程,并且检测直到在相应时间点到达施加到相应字线的电压时所施加的编程脉冲的数量。
编程速度检测单元450将检测到的编程速度存储在编程速度存储单元430中。
编程/擦除周期存储单元460存储在非易失性存储装置的操作期间进行的编程/擦除操作的总数。
本发明的非易失性存储装置包括存储器,该存储器具有即使提供给非易失性存储装置的电源停止也能够存储相应次数的非易失性特性。
尽管示出编程/擦除周期存储单元460包括在控制器中,但是,取决于特定实施例,编程/擦除周期存储单元460也可以包括在存储区中。
编程电压控制器470通过比较编程速度存储单元430中存储的第一编程速度和由编程速度检测单元450依靠编程/擦除操作的数量而检测到的第二编程速度,确定降低编程电压。
在本发明中,通过反映编程速度随编程/擦除操作数量的增加而变快的非易失性存储单元的特性,每特定周期确定编程速度是否变快,并且基于确定结果确定是否降低编程起始电压。
根据实施例,在执行一次编程/擦除操作后检测编程速度,然后将该编程速度存储在编程速度存储单元430中作为第一编程速度。
在编程/擦除操作执行n次后检测编程速度,然后将其与第一编程速度比较。作为比较结果,如果编程速度比参考值快,则控制编程电压供给单元440以改变编程起始电压。
下面,更加具体地描述采用非易失性存储装置的编程/擦除方法。
图5是图示根据本发明实施例的非易失性存储装置的操作的流程图。
首先在步骤510对全部存储单元进行编程操作。
对普通存储单元410和参考存储单元420以相同的方式进行编程操作。
然后在步骤520测量参考存储单元420的第一编程速度。
更具体地,测量对参考存储单元的编程操作完成时施加到字线的编程电压,或者测量根据ISPP编程方法施加到字线使得施加该编程电压的编程脉冲的数量。
这是通过编程速度检测单元420进行的。
在步骤530,第一编程速度被存储在编程速度存储单元430中。
取决于编程速度存储单元430的构造,存储第一编程速度的方法可以不同。所存储的编程速度成为编程电压或编程脉冲的数量数据。
例如,假设通过施加16V作为编程起始电压开始编程并且在19V结束,则第一编程速度被存储为19V。
当在该时间施加的编程脉冲的数量是5,则第一编程速度被存储为5。
然后在步骤540确定编程/擦除操作的数量是否对应于参考值N(i)。
在本发明中,仅当编程/擦除操作到达特定数量时才测量编程速度,并且根据测量结果改变编程起始电压。
这里,参考值是根据图3的特征曲线图决定的。
如上所述,可以每log(M)次,或者在对应于10次、100次、1000次、10000次、等等时,测量编程速度。
作为确定结果,如果编程/擦除操作的数量不与参考值N(i)对应,则在步骤560重复进行编程/擦除操作。
步骤570,当到达编程/擦除操作的目标数量时操作停止。但是,这并不意味着图5的实施例自身停止了。也就是说,根据应用可以暂时停止操作。但是,如果非易失性存储装置再次操作,则再次执行算法。
作为确定结果,如果编程/擦除操作的数量与参考值N(i)对应,则在步骤544测量参考存储单元的第二编程速度。
这里,在编程/擦除操作已进行了参考值次的情况下,编程速度可能 已经改变。因此,再次测量编程速度。将该测量值与第一编程速度进行比较。
然后在步骤550确定测量的第二编程速度和存储的第一编程速度之间的差是否大于步进电压Vstep。由于编程速度总体变快,所以被存储为第二编程速度的编程电压或编程脉冲的数量与第一编程速度比较时会减小。
因此,确定是否第一编程速度比第二编程速度大步进电压。
这里,假设第一编程速度是19V,并且根据ISPP编程方法施加的步进电压是0.3V。
当在编程/擦除操作进行了参考值后测量到的第二编程速度是18.6V,认为第一编程速度和第二编程速度之间的差大于步进电压。
但是,当第二编程速度是18.8V时,认为第一编程速度和第二编程速度之间的差小于步进电压。
而且,假设第一编程速度在数量上是5。也就是说,意味着通过施加5个步进电压完成编程。
当在编程/擦除操作进行了参考值后测量到的第二编程速度在数量上是4,认为第一编程速度和第二编程速度之间的差大于步进电压。
但是,当第二编程速度在数量上是5时,认为第一编程速度和第二编程速度之间的差小于步进电压。
作为步骤550的比较结果,如果第一编程速度和第二编程速度之间的差小于步进电压Vstep,则在步骤560重复执行编程/擦除操作而不改变编程起始电压。
但是,作为步骤550的比较结果,如果第一编程速度和第二编程速度之间的差大于步进电压,则在步骤552改变编程起始电压。
换句话说,假设通过施加16V作为编程起始电压开始编程,第一编程速度是19V,并且第二编程速度是18.6V,编程起始电压被降低步进电压。
这里,作为比较结果,如果编程速度之间的差是步进电压的n倍,则编程起始电压降低到n分之一。
例如,当第一编程速度是19V并且第二编程速度是18V时,编程速 度之间的差比步进电压大3倍,但没有比步进电压大4倍。因此,编程起始电压减小到三分之一。
如果如上所述改变起始电压,则编程以低电压开始。因此,具有能够关于编程速度已上升的单元降低编程速度的优点。
同时,如果根据实施例编程脉冲的数量作为编程速度,则能够减小对应于与差对应的步进电压的电压。
换句话说,当第一编程速度在数量上是5并且第二编程速度在数量上是4时,电压减小一个步进电压。
当第一编程速度和第二编程速度之间的差是1或者更大时,电压减小那么多或者更多。
例如,当第一编程速度在数量上是5并且第二编程速度在数量上是2时,减小对应于3个步进电压的0.9V。
此后,在步骤554,第二编程速度被存储在编程速度存储单元中作为第一编程速度。
如果编程速度后来被改变,则对此的确定必须基于新测量的编程速度进行,因此进行此步骤。
于是在步骤542重置参考值。
由于编程/擦除周期的数量将到达下一参考值N(i)+1,所以为其作准备重置参考值。
例如,假设Log(M)值被用作N(i),测量M=1的情况并且存储作为第一编程速度。
当M=10时,i=1,当M=100时,i=2,当M=100时,i=3。
因此,当编程/擦除周期的数量是10时,测量第二编程速度。此后,当编程/擦除周期的数量是100、1000等时,测量第二编程速度。
该参考值可以由用户改变,使得其接近图3的曲线图。
如果该操作重复进行,则通过每编程/擦除周期的参考值比较第一编程速度和第二编程速度来改变编程起始电压,其中编程/擦除周期的参考值是由设计者预先设置的。
图6是根据本发明另一实施例的非易失性存储装置的操作的流程图。
图6的流程图的总顺序除了比较第一编程速度和第二编程速度的步 骤和是否重置第一编程速度之外与图5类似。
也就是说,在本实施例中,不改变首先存储的第一编程速度。第一编程速度永久存储在编程速度存储单元中。因此,不进行图5的编程速度重置步骤(544)。
而且,在比较第二编程速度和第一编程速度之间的差的步骤中,根据编程/擦除周期的参考值改变要比较的步进电压。
换句话说,当基于第一参考值N(1)确定第二编程速度和第一编程速度之间的差时,确定第一编程速度和第二编程速度之间的差是否大于单位步进电压。
作为确定结果,如果第一编程速度和第二编程速度之间的差小于单位步进电压,则不改变编程起始电压。但是,如果第一编程速度和第二编程速度之间的差大于单位步进电压,则编程起始电压减小单位步进电压。
此后,当随着编程/擦除周期数量的增加而基于第二参考值N(2)比较第二编程速度和第一编程速度之间的差时,基于对应的参考值测量第二编程速度并且确定第一编程速度和测量的第二编程速度之间的差。这里,确定第一编程速度和第二编程速度之间的差是否大于两倍步进电压。
作为确定结果,如果第一编程速度和测量的第二编程速度之间的差大于两倍步进电压,则编程起始电压减小两倍单元步进电压。
而且,如果第一编程速度和测量的第二编程速度之间的差小于两倍步进电压,但是大于单位步进电压,则起始电压减小单位步进电压。
而且,如果第一编程速度和测量的第二编程速度之间的差小于单位步进电压,则不改变编程起始电压。
这可以概括如下。在编程/擦除周期的数量增加因而基于第i个参考值N(i)比较第一编程速度和第二编程速度的情况下,基于对应的参考值再次测量第二编程速度,然后将其与第一编程速度比较。这里,确定第一编程速度和测量的第二编程速度之间的差是否大于i倍步进电压。
作为确定结果,如果第一编程速度和测量的第二编程速度之间的差大于i倍步进电压,则编程起始电压减小i倍的单位步进电压。
作为确定结果,如果第一编程速度和测量的第二编程速度之间的差小于i倍步进电压,但是大于(i-1)倍步进电压,则编程起始电压减小单位步进电压。
作为确定结果,如果第一编程速度和测量的第二编程速度之间的差小于(i-1)倍步进电压,但是大于(i-2)倍步进电压,则编程起始电压减小单位步进电压。
以上过程重复进行。如果编程起始电压小于单位步进电压,则不改变编程起始电压。
图7是示出根据本发明另一实施例的非易失性存储装置的方框图。
非易失性存储装置700与图4的类似,包括:普通存储单元710,其中存储数据;参考存储单元720,其执行与普通存储单元710相同的功能,但是成为测量单元的编程速度的样本;编程速度存储单元730,其用于存储参考存储单元720的编程速度;编程电压供给单元740,用于向普通存储单元710和参考存储单元720提供编程电压;编程速度检测单元750,用于确定参考存储单元720是否以特定验证电压或更高电压全部进行了编程,以及检测在相应时间点施加到相应字线的电压;编程/擦除周期存储单元760,用于存储非易失性存储装置的编程/擦除操作的总数;以及编程电压控制器770,用于通过比较编程速度存储单元730中存储的第一编程速度和由编程速度检测单元750依靠编程/擦除操作的数量检测到的第二编程速度,确定降低编程电压。
非易失性存储装置700还包括分布变化量决定单元770,其反映取决于编程/擦除周期数量的阈值电压分布的变化以控制编程电压。
非易失性存储装置具有随着编程/擦除周期数量的增加而编程速度增加的趋势,因此总分布变宽。例如,假设当编程/擦除操作的周期是1时关断单元(off cell)的最高阈值电压和最低阈值电压之间的差是1V,则具有当编程/擦除操作的周期是1000时关断单元的最高阈值电压和最低阈值电压之间的差增加到1.1V的趋势。
当具有如上所述的分布变化时,考虑到该变化,必须设置编程电压。也就是说,如果阈值电压的分布随着编程速度增加而改变,则必须通过确定将参考编程速度和改变后的编程速度之间的差减去分布的变化量后的值是否与步进电压相同,重置编程电压。
分布变化量决定单元770能够主要使用两种方法确定分布的变化量。
在第一种方法中,统计测量和反映按照每编程/擦除周期出现的分布的变化程度。也就是说,先测量和存储对应于参考值N(i)的分布的变化程度。当到达对应的次数时,读取分布的变化量并用于控制编程电压。
同时,分布变化量决定单元770包括用于根据参考值存储分布的变化量的多个寄存器。
在第二种方法中,直接测量和反映按照每编程/擦除周期出现的分布的变化程度。也就是说,先测量和存储对应于第一参考值的最高阈值电压值。测量对应于下一参考值N(i)的最高阈值电压值,并将其与存储值比较。基本上,得到最低阈值电压值和最高阈值电压值之间的差,并且基于差比较各参考值。但是,最低阈值电压值与验证参考电压具有相同的值。因此,通过仅仅比较最好阈值电压值,能够测量分布的变化程度。
这里,最高阈值电压值能够根据两类原理测量。
在第一个原理中,当在使全部单元通过的电压在验证步骤中被施加到字线的情况下相应电压不断降低时,当产生第一故障单元(fail cell)时所施加的电压可以用作最高阈值电压。
优选地,在当已被完全编程的参考存储单元被读取时全部单元都被读取以被进行编程(全部单元通过状态)的情况下,通过将读取电压降低0.1V测量该读取电压,并且当未被编程的单元被首次读取时所施加的读取电压被用作最高阈值电压。
在第二个原理中,在验证步骤中向字线施加一电压的情况下,其中通过该电压产生一些故障单元,当相应电压不断升高时,在全部单元故障时所施加的电压可以被用作最高阈值电压。
优选地,在当已被完全编程的参考存储单元被读取时仅一些单元被读取以被进行编程(部分单元故障状态)的情况下,通过将读取电压增加0.1V测量该读取电压,并且当全部单元被读取以被进行编程(全部单元通过状态)时所施加的读取电压被用作最高阈值电压。
对如上所述测量的最高阈值电压进行比较,并且确定所得差作为分布的变化量。
同时,分布变化量决定单元770包括一个或更多个寄存器,用于在前一参考值存储最高阈值电压值。
分布变化量决定单元770把在当前参考值处的最高阈值电压值与存储在寄存器中的阈值电压值进行比较。
如上所述决定的分布的变化量在下面使用。
在比较第一编程速度和第二编程速度之间的差的过程中,确定差是否 大于步进电压和分布的变化量的和。如果差大于步进电压和分布的变化量的和,同样通过反映分布的变化量重置编程电压。
下面描述非易失性存储装置的具体操作。
图8是图示根据本发明又一实施例的非易失性存储装置的操作的流程图。
图8的各个步骤几乎与图5的类似。
首先在步骤810对全部存储单元进行编程操作。
然后在步骤820测量参考存储单元420的第一编程速度。
在步骤830,将第一编程速度存储在编程速度存储单元430中。
在步骤840,确定编程/擦除操作的数量是否与参考值N(i)对应。
作为确定结果,如果编程/擦除操作的数量不与参考值N(i)对应,则在步骤860重复执行编程/擦除操作。
如果完成了编程/擦除操作的总数,则在步骤870停止操作。
作为确定结果,如果编程/擦除操作的数量与参考值N(i)对应,则在步骤842测量参考存储单元的第二编程速度。
在步骤844决定参考存储单元的分布的变化量。
决定方法可以通过使用下面两类方法来进行。
作为第一个方法,读取并使用存储在分布变化量决定单元770中的分布的变化量。
每编程/擦除周期出现的分布的变化量在预先被存储在分布变化量决定单元中。因此,将对应于参考值N(i)的分布的变化量发送到编程电压控制器。
作为第二个方法,直接测量和决定参考存储单元720的分布的变化量。
也就是说,分布变化量决定单元770比较第一参考值N(i-1)处的最高阈值电压值和第二参考值N(i)处的最高阈值电压值之间的差。
为此,读取存储在分布变化量决定单元中的第一参考值N(i-1)处的最高阈值电压值,决定所读取的第一参考值N(i-1)处的最高阈值电压值和测量的第二参考值N(i)处的最高阈值电压值之间的差作为分布的变化量。
然后在步骤850确定测量的第二编程速度和存储的第一编程速度之间的差是否大于步进电压和分布的变化量的和。
假设第一编程速度是19V并且根据ISPP编程方法施加的步进电压是0.3V。
还假设在编程/擦除周期进行了参考值那样多后分布的变化量是0.1V。
当在编程/擦除周期进行了参考值那样多后测量的第二编程速度是18.5V时,认为第一编程速度和第二编程速度之间的差大于步进电压和分布的变化量的和。
但是,当测量的第二编程电压是18.8V时,认为第一编程速度和第二编程速度之间的差小于步进电压和分布的变化量的和。
作为步骤850的比较结果,如果第一编程速度和第二编程速度之间的差小于步进电压和分布的变化量的和,则在步骤860重复执行编程/擦除操作而不改变编程起始电压。
但是,作为步骤850的比较结果,如果第一编程速度和第二编程速度之间的差大于步进电压和分布的变化量的和,则在步骤852改变编程起始电压。
也就是说,如上所述,通过施加16V作为编程起始电压开始编程。当第一编程速度是19V并且第二编程速度是18.5V时,编程起始电压减小步进电压。
如果如上所述改变起始电压,则编程在低电压开始。因此,具有能够降低编程速度已上升的单元的编程速度的优点。
在步骤854,第二编程速度于是被存储在编程速度存储单元中作为第一编程速度。
进行该步骤是因为当编程速度后来被改变时,对此的确定必须基于新测量的编程速度进行。
但是,要注意将第二编程速度重置作为第一编程速度的步骤相对于改变编程起始电压的步骤在时间上不是前后关系。也就是说,在进行步骤550后,将第二编程速度重置作为第一编程速度的步骤能够在改变编程起始电压步骤之前进行,或者将第二编程速度重置作为第一编程速度的步骤能够与改变编程起始电压步骤的同时进行。
然后在步骤856重置参考值。
如果该操作重复进行,则能够通过每编程/擦除周期的参考值比较第一编程速度和第二编程速度来改变编程起始电压,其中编程/擦除周期的参考值是由设计者预先设置的。
如上所述,根据本发明,根据编程/擦除操作的预定数量能够重置编程起始电压。也就是说,当在非易失性存储装置工作时到达编程/擦除操作的特定数量时,基于那时的编程速度确定是否减小或维持ISPP的编程起始电压。
结果,能够防止具有相对较快的编程速度的单元偏离阈值电压的正常分布的现象。
而且,不管编程/擦除操作的数量的变化如何,能够不断维持施加的编程脉冲的数量。
同时,通过不仅考虑到取决于编程/擦除操作数量的编程速度之间的差,而且考虑到阈值电压的分布的变化量,能够重置编程起始电压。
这里公开的实施例被提供来使得本领域技术人员能够易于实现本发明,并且本领域技术人员可以通过组合这些实施例实现本发明。因此,本发明的范围不受上述实施例的限制或者不限于上述实施例,并且应当理解为仅由所附权利要求书及其等同内容来限定。
Claims (23)
1.一种非易失性存储装置,包括:
编程速度检测单元,用于测量全部存储单元的参考存储单元的第一编程速度,以及用于当编程/擦除操作的数量对应于特定参考值时测量所述参考存储单元的第二编程速度;
编程速度存储单元,用于存储所述第一编程速度;以及
编程电压控制器,用于通过比较存储在所述编程速度存储单元中的所述第一编程速度和所述第二编程速度,来确定是否改变编程电压。
2.根据权利要求1所述的非易失性存储装置,其中所述编程速度检测单元确定参考存储单元是否在特定验证电压以上全部进行了编程,以及检测在相应时间点施加到相应单元的字线的编程电压。
3.根据权利要求1所述的非易失性存储装置,其中所述编程速度检测单元确定所述参考存储单元是否都在特定验证电压以上进行了编程,并且检测直到在相应时间点到达施加到相应单元的字线的编程电压时所施加的编程脉冲的数量。
4.根据权利要求1所述的非易失性存储装置,还包括编程/擦除周期存储单元,其用于存储在非易失性存储装置操作时进行的编程/擦除操作的总数。
5.根据权利要求1所述的非易失性存储装置,还包括分布变化量决定单元,其用于根据编程/擦除操作的数量存储阈值电压的分布的变化量。
6.根据权利要求1所述的非易失性存储装置,还包括分布变化量决定单元,其用于比较在第一编程/擦除周期的最高阈值电压值和在大于所述第一编程/擦除周期的第二编程/擦除周期的最高阈值电压值,以及输出分布的变化量。
7.根据权利要求1所述的非易失性存储装置,其中所述编程速度存储单元永久存储第一编程后的编程速度。
8.一种非易失性存储装置的操作方法,包括:
对全部存储单元执行第一编程操作;
测量参考存储单元的第一编程速度;
将所述第一编程速度存储在编程速度存储单元中;
重复执行编程/擦除操作,直到编程/擦除操作的数量对应于特定参考值;
当所述编程/擦除操作的数量对应于所述特定参考值时,测量所述参考存储单元的第二编程速度;
计算所述第一编程速度和所述第二编程速度之间的差;
根据所计算的编程速度差重置编程起始电压;以及
基于重置的编程起始电压执行编程/擦除操作。
9.根据权利要求8所述的方法,其中编程速度的测量包括确定所述参考存储单元是否在特定验证电压以上全部进行了编程,以及检测在相应时间点施加到相应单元的字线的编程电压。
10.根据权利要求8所述的方法,其中编程速度的测量包括确定所述参考存储单元是否都在特定验证电压以上进行了编程,并且检测直到在相应时间点到达施加到相应单元的字线的编程电压时所施加的编程脉冲的数量。
11.根据权利要求8所述的方法,还包括在测量所述编程速度的差之后将所述第二编程速度重置作为所述第一编程速度。
12.根据权利要求8所述的方法,其中所述第一编程速度和所述第二编程速度之间的差的测量包括计算在第一参考值被测量作为第二编程速度并且被重置作为第一编程速度的值和在大于第一参考值的第二参考值测量的第二编程速度之间的差。
13.根据权利要求8所述的方法,其中重置编程起始电压包括当所述第一编程速度和所述第二编程速度之间的差大于或等于步进电压时将编程起始电压减小步进电压。
14.根据权利要求8所述的方法,其中重置编程起始电压包括:当所述第一编程速度和所述第二编程速度之间的差小于步进电压时保持编程起始电压。
15.根据权利要求8所述的方法,其中重置编程起始电压包括:当所述第一编程速度和所述第二编程速度之间的差大于或等于施加的一个编程脉冲时将编程起始电压减小步进电压。
16.根据权利要求8所述的方法,其中所述第一编程速度和所述第二编程速度之间的差的计算包括:计算永远在所述第一编程操作之后的第一编程速度和在第n参考值测量的第二编程速度之间的差。
17.根据权利要求8所述的方法,其中重置编程起始电压包括:当永远在所述第一编程操作之后存储的第一编程速度和在第n参考值测量的第二编程速度之间的差大于或等于n倍步进电压时将编程起始电压减小n倍步进电压。
18.一种非易失性存储装置的操作方法,包括:
对全部存储单元执行第一编程操作;
测量参考存储单元的第一编程速度;
将所述第一编程速度存储在编程速度存储单元中;
重复执行编程/擦除操作,直到编程/擦除操作的数量对应于参考值;
当所述编程/擦除操作的数量对应于所述参考值时,测量所述参考存储单元的第二编程速度;
决定所述参考存储单元的分布的变化量;
计算所述第一编程速度和所述第二编程速度之间的差;
根据所计算的编程速度差和决定的分布的变化量,重置编程起始电压;以及
基于重置的编程起始电压执行编程/擦除操作。
19.根据权利要求18所述的方法,其中决定分布的变化量包括:读取先前根据编程/擦除操作的数量设置的分布的变化量。
20.根据权利要求18所述的方法,其中决定分布的变化量包括:计算在第一参考值的最高阈值电压值和在高于第一参考值的第二参考值的最高阈值电压值之间的差。
21.根据权利要求18所述的方法,其中重置编程起始电压包括:当所述第一编程速度和所述第二编程速度之间的差大于或等于步进电压时将编程起始电压减小步进电压。
22.根据权利要求18所述的方法,其中重置编程起始电压包括:当所述第一编程速度和所述第二编程速度之间的差小于步进电压时保持编程起始电压。
23.根据权利要求18所述的方法,其中重置编程起始电压包括:当永远在所述第一编程操作之后存储的第一编程速度和在第n参考值测量的第二编程速度之间的差大于或等于n倍步进电压时将编程起始电压减小n倍步进电压。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070097295 | 2007-09-27 | ||
KR1020070097295A KR100891405B1 (ko) | 2007-09-27 | 2007-09-27 | 불휘발성 메모리 장치 및 그 동작 방법 |
KR10-2007-0097295 | 2007-09-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101399083A CN101399083A (zh) | 2009-04-01 |
CN101399083B true CN101399083B (zh) | 2011-11-16 |
Family
ID=40508107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810167435XA Expired - Fee Related CN101399083B (zh) | 2007-09-27 | 2008-09-26 | 非易失性存储装置及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US7800952B2 (zh) |
KR (1) | KR100891405B1 (zh) |
CN (1) | CN101399083B (zh) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009266349A (ja) | 2008-04-28 | 2009-11-12 | Toshiba Corp | 不揮発性半導体記憶装置 |
KR101596827B1 (ko) | 2009-10-14 | 2016-02-23 | 삼성전자주식회사 | 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템 |
KR101655306B1 (ko) | 2010-02-24 | 2016-09-07 | 삼성전자주식회사 | 메모리 시스템 및 그것의 액세스 방법 |
KR20120004742A (ko) * | 2010-07-07 | 2012-01-13 | 주식회사 하이닉스반도체 | 비휘발성 메모리 및 이의 프로그램 방법 |
KR101784973B1 (ko) | 2010-11-11 | 2017-10-13 | 삼성전자주식회사 | 메모리 소자의 동작 전압 제공 방법 및 메모리 컨트롤러 |
US8806106B2 (en) * | 2010-11-12 | 2014-08-12 | Seagate Technology Llc | Estimating wear of non-volatile, solid state memory |
US20130159610A1 (en) * | 2011-12-16 | 2013-06-20 | Samsung Electronics Co., Ltd. | Non-volatile semiconductor memory device related method of operation |
KR20130070927A (ko) * | 2011-12-20 | 2013-06-28 | 에스케이하이닉스 주식회사 | 불휘발성 메모리 장치 및 그 동작 방법 |
JP2013143155A (ja) * | 2012-01-06 | 2013-07-22 | Powerchip Technology Corp | 不揮発性半導体記憶装置とその書き込み方法 |
US9098401B2 (en) * | 2012-11-21 | 2015-08-04 | Apple Inc. | Fast secure erasure schemes for non-volatile memory |
US9646705B2 (en) * | 2013-06-12 | 2017-05-09 | Samsung Electronics Co., Ltd. | Memory systems including nonvolatile memory devices and dynamic access methods thereof |
KR20170028152A (ko) * | 2015-09-03 | 2017-03-13 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그 동작 방법 |
KR102347182B1 (ko) * | 2015-09-04 | 2022-01-04 | 삼성전자주식회사 | 메모리 장치, 메모리 시스템, 상기 메모리 장치의 동작 방법 및 상기 메모리 시스템의 동작 방법 |
US9953703B2 (en) * | 2015-10-16 | 2018-04-24 | Samsung Electronics Co., Ltd. | Programming method of non volatile memory device |
KR102502234B1 (ko) * | 2015-12-03 | 2023-02-21 | 삼성전자주식회사 | 비휘발성 메모리 장치의 프로그램 방법 |
KR102397394B1 (ko) * | 2015-11-05 | 2022-05-12 | 삼성전자주식회사 | 비휘발성 메모리 장치의 동작 방법 |
US9543001B1 (en) * | 2015-12-31 | 2017-01-10 | Macronix International Co., Ltd. | Programming memory cells |
KR102423291B1 (ko) | 2016-01-15 | 2022-07-20 | 삼성전자주식회사 | 프로그램 전압을 보정하는 플래시 메모리 장치, 3차원 메모리 장치, 메모리 시스템 및 그의 프로그램 방법 |
JP2017224366A (ja) * | 2016-06-14 | 2017-12-21 | ルネサスエレクトロニクス株式会社 | フラッシュメモリ |
KR102504295B1 (ko) * | 2017-11-24 | 2023-02-27 | 삼성전자 주식회사 | 비휘발성 메모리 장치 및 이의 프로그램 방법 |
TWI708253B (zh) * | 2018-11-16 | 2020-10-21 | 力旺電子股份有限公司 | 非揮發性記憶體良率提升的設計暨測試方法 |
CN110364215B (zh) * | 2019-07-16 | 2021-05-25 | 武汉新芯集成电路制造有限公司 | 闪存htol测试方法 |
CN111276176A (zh) * | 2020-02-11 | 2020-06-12 | 上海威固信息技术股份有限公司 | 一种三维堆叠闪存单元阈值电压分布模型构建方法 |
JP2022040515A (ja) * | 2020-08-31 | 2022-03-11 | ウィンボンド エレクトロニクス コーポレーション | フラッシュメモリおよびプログラミング方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1720586A (zh) * | 2002-12-05 | 2006-01-11 | 桑迪士克股份有限公司 | 多状态存储器的智能检验 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3451118B2 (ja) * | 1993-12-15 | 2003-09-29 | 株式会社日立製作所 | 半導体不揮発性記憶装置 |
US6452837B2 (en) * | 1999-12-27 | 2002-09-17 | Kabushiki Kaisha Toshiba | Nonvolatile semiconductor memory and threshold voltage control method therefor |
KR100443792B1 (ko) * | 2001-10-15 | 2004-08-09 | 주식회사 하이닉스반도체 | 플래시 이이피롬의 프로그램회로 및 이를 이용한 프로그램방법 |
ITMI20022668A1 (it) * | 2002-12-18 | 2004-06-19 | Simicroelectronics S R L | Dispositivo di memoria non volatile con migliorata velocita' |
KR20060023798A (ko) * | 2004-09-10 | 2006-03-15 | 매그나칩 반도체 유한회사 | 플래시 메모리 테스트 장치 및 방법 |
US7466588B2 (en) * | 2004-10-07 | 2008-12-16 | Nokia Corporation | Method for improving programming speed in memory devices |
JP4435200B2 (ja) * | 2007-04-03 | 2010-03-17 | 株式会社東芝 | 半導体記憶装置のデータ書き込み方法 |
-
2007
- 2007-09-27 KR KR1020070097295A patent/KR100891405B1/ko not_active IP Right Cessation
-
2008
- 2008-09-18 US US12/233,241 patent/US7800952B2/en not_active Expired - Fee Related
- 2008-09-26 CN CN200810167435XA patent/CN101399083B/zh not_active Expired - Fee Related
-
2010
- 2010-08-13 US US12/856,190 patent/US8000149B2/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1720586A (zh) * | 2002-12-05 | 2006-01-11 | 桑迪士克股份有限公司 | 多状态存储器的智能检验 |
Also Published As
Publication number | Publication date |
---|---|
US8000149B2 (en) | 2011-08-16 |
KR100891405B1 (ko) | 2009-04-02 |
KR20090032246A (ko) | 2009-04-01 |
US20100302862A1 (en) | 2010-12-02 |
US7800952B2 (en) | 2010-09-21 |
US20090086545A1 (en) | 2009-04-02 |
CN101399083A (zh) | 2009-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101399083B (zh) | 非易失性存储装置及其操作方法 | |
CN101711414B (zh) | 非易失性存储器和用于预测编程的方法 | |
CN102651235B (zh) | 非易失性存储装置及其操作方法 | |
CN101512666B (zh) | 非易失性存储器和用于线性估计初始编程电压的方法 | |
CN102985976B (zh) | 包括减小其他存储单元的影响的对非易失性存储器的编程 | |
US9378830B2 (en) | Partial reprogramming of solid-state non-volatile memory cells | |
CN101213613B (zh) | 借助非易失性存储器的循环的开始编程电压偏移 | |
CN102985977B (zh) | 用于减少非易失性存储器中的状态分布的展宽的擦除和编程技术 | |
CN101512665B (zh) | 非易失性存储器及用于在初始编程电压的修整期间减少擦除/写入循环的方法 | |
KR100500346B1 (ko) | 불휘발성 반도체 메모리 및 그 테스트 방법 | |
CN101584006B (zh) | 非易失性存储器中的经分割的软编程 | |
CN111406291A (zh) | 非易失性存储器中的交错编程和验证 | |
CN102067233B (zh) | 使用索引编程和减少的验证的非易失性存储器和方法 | |
CN101351848A (zh) | 用于非易失性存储器中经改进的编程检验操作的方法和装置 | |
CN101584005A (zh) | 非易失性存储器中的经分割擦除及擦除验证 | |
CN102906820A (zh) | 用同步耦合编程非易失性存储器 | |
KR20120109203A (ko) | 플래시 메모리 장치 및 그의 독출 전압 생성 방법 | |
CN101213614A (zh) | 使用个别验证擦除非易失性存储器和额外擦除存储器单元的子组 | |
KR20110001591A (ko) | 불휘발성 메모리 소자의 동작 방법 | |
CN103310839A (zh) | 缩短擦除操作的方法与装置 | |
CN111433853A (zh) | 存储器设备中的编程电压和验证电压之间的斜坡下降感测 | |
CN100435242C (zh) | 在存储器装置中恢复超擦比特的方法 | |
CN101783177A (zh) | 对非易失性存储设备进行编程的方法 | |
JP2002334589A (ja) | 基準セルをリフレッシュする方法および装置 | |
CN102089827A (zh) | 非易失性存储器和关联多遍编程的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20111116 Termination date: 20130926 |