CN102292775B - 存储器的适应性擦除和软编程 - Google Patents

存储器的适应性擦除和软编程 Download PDF

Info

Publication number
CN102292775B
CN102292775B CN200980154949.4A CN200980154949A CN102292775B CN 102292775 B CN102292775 B CN 102292775B CN 200980154949 A CN200980154949 A CN 200980154949A CN 102292775 B CN102292775 B CN 102292775B
Authority
CN
China
Prior art keywords
soft programming
pulse
erase
pulses
memory device
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.)
Active
Application number
CN200980154949.4A
Other languages
English (en)
Other versions
CN102292775A (zh
Inventor
李世俊
G.J.赫明克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Delphi International Operations Luxembourg SARL
Original Assignee
SanDisk Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SanDisk Corp filed Critical SanDisk Corp
Publication of CN102292775A publication Critical patent/CN102292775A/zh
Application granted granted Critical
Publication of CN102292775B publication Critical patent/CN102292775B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • G11C11/5635Erasing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)

Abstract

非易失性存储器件的擦除序列包括:擦除操作(910),其后跟有软编程操作(930)。擦除操作例如经由衬底将一个或多个擦除脉冲施加到存储元件(920),直到满足擦除电平(924)。跟踪并记录擦除脉冲的数量(926),作为存储器件已经经历的编程-擦除周期的数量的指示。软编程操作(930)将软编程脉冲(944)施加到存储元件,直到满足软编程验证电平(950)。基于擦除脉冲的数量,通过对于作为擦除脉冲的数量的函数的具体数量的初始软编程脉冲跳过验证操作(946)来缩短软编程操作时间。此外,可以最优化软编程操作的特性,诸如开始幅度、步长大小或脉冲持续时间。

Description

存储器的适应性擦除和软编程
技术领域
本发明涉及非易失性存储器。
背景技术
半导体存储器已经变得日益普遍用在各种电子设备中。例如,非易失性半导体存储器用在蜂窝电话、数码相机、个人数字助理、移动计算设备、非移动计算设备和其他设备中。电可擦除可编程只读存储器(EEPROM)和闪存位列最普遍使用的非易失性半导体存储器中。相比于传统的全特征EEPROM,通过也是EEPROM类型的闪存,整个存储器阵列或者存储器的一部分的内容可以在一步中被擦除。
传统的EEPROM和闪存两者都利用位于半导体衬底中的沟道区上方并与之隔离的浮置栅极。该浮置栅极位于源极和漏极区之间。在浮置栅极之上并与之隔离地提供控制栅极。由此形成的晶体管的阈值电压(VTH)由保留在浮置栅极上的电荷量控制。即,在晶体管导通前必需施加到控制栅极以允许其源极和漏极之间导电的电压的最小量由浮置栅极上的电荷水平控制。
一些EEPROM和闪存器件具有用于存储两个范围的电荷的浮置栅极,因此存储器元件可以在两个状态、例如已擦除状态和已编程状态之间被编程/擦除。这样的闪存器件有时被称为二进制闪存器件,因为每个存储器元件可以存储一位数据。
通过标识多个不同的允许/有效编程的阈值电压范围来实现多状态(也称为多级)闪存器件。每个不同的阈值电压范围对应于在存储器器件中被编码的数据位集合的预定值。例如,当每个存储器元件可以被置于与四个不同的阈值电压范围对应的四个离散电荷带之一时,每个存储器元件可以存储两位数据。
通常,在编程操作期间施加到控制栅极的编程电压VPGM被施加为幅度随时间增加的一系列脉冲。在一种可能的方法中,脉冲的幅度随每个连续脉冲而增加预定步长大小,例如0.2-0.4V。VPGM可以被施加到闪存元件的控制栅极。在编程脉冲之间的时段中,实行验证操作。即,在连续编程脉冲之间读取正被并行编程的一组元件的每个元件的编程电平,以确定其是否等于或大于该元件正被编程到的验证电平。对于多状态闪存元件的阵列,可以对元件的每个状态进行验证步骤,以确定该元件是否已达到其数据相关的验证电平。例如,能够以四个状态存储数据的多状态存储器元件可能需要对三个比较点进行验证操作。
此外,当对诸如NAND串中的NAND闪存器件的EEPROM或闪存器件编程时,通常VPGM被施加到控制栅极,并且位线接地,致使来自单元或者存储器元件、例如存储元件的沟道的电子被注入到浮置栅极中。当电子在浮置栅极中累积时,浮置栅极变为负充电,并且存储器元件的阈值电压升高,使得该存储器元件被认为处于已编程状态。
在可以对存储元件集编程之前,在擦除序列中将其擦除,该擦除序列包括擦除操作和软编程操作。该擦除操作包括施加高衬底电压,其将电荷从被编程的存储元件的浮置栅极拉出。随后,在软编程中,存储元件的阈值电压变窄并升高到与已擦除状态相关联的电平。但是,擦除序列可能是耗时的。
发明内容
本发明通过提供改进在擦除序列期间的存储器器件的性能的技术而克服以上和其他问题。
在一个实施例中,一种操作非易失性存储器的方法,包括:将一个或多个擦除脉冲施加到非易失性存储元件集合,直到满足第一验证条件;确定施加的擦除脉冲的计数。该方法还包括:将数量为NSPGM-SKIP的一个或多个软编程脉冲施加到所述非易失性存储元件集合而不进行验证操作,其中数量NSPGM-SKIP基于所述计数。该方法还包括随后将一个或多个另外的软编程脉冲施加到所述非易失性存储元件集合,直到满足第二验证条件,所述一个或多个另外的软编程脉冲的每个软编程脉冲后跟有验证操作。
在另一实施例中,一种操作非易失性存储器的方法包括:进行擦除序列的擦除操作,包括将一个或多个擦除脉冲施加到非易失性存储元件集合,直到满足擦除验证条件,确定施加的擦除脉冲的计数;以及进行擦除序列的软编程操作,包括将一个或多个软编程脉冲施加到所述非易失性存储元件集合,直到满足软编程验证条件。基于所述计数设置一个或多个软编程脉冲的特性。
在另一实施例中,一种操作非易失性存储器的方法包括:在第一擦除操作中,将一个或多个擦除脉冲施加到非易失性存储元件集合,直到满足第一验证条件。该方法还包括确定在第一擦除操作中施加的擦除脉冲的计数,并在第一擦除操作之后,进行第二擦除操作,包括施加数量为NERASE-SKIP的一个或多个擦除脉冲而不进行验证操作,其中数量NERASE-SKIP基于所述计数,以及随后施加一个或多个另外的擦除脉冲。该一个或多个另外的擦除脉冲的每个擦除脉冲后跟有验证操作。
在另一实施例中,一种非易失性存器包括:非易失性存储元件集合;以及一个或多个控制电路。该一个或多个控制电路将一个或多个擦除脉冲施加到所述非易失性存储元件集合,直到满足第一验证条件,并确定施加的擦除脉冲的计数。该一个或多个控制电路还将数量为NSPGM-SKIP的一个或多个软编程脉冲施加到所述非易失性存储元件集合而不进行验证操作,其中数量NSPGM-SKIP基于所述计数。随后,一个或多个控制电路将一个或多个另外的软编程脉冲施加到所述非易失性存储元件集合,直到满足第二验证条件。所述一个或多个另外的软编程脉冲的每个软编程脉冲后跟有验证操作。
在此还可以提供相应的方法、系统以及具有用于进行在此提供的方法的可执行代码的计算机或处理器可读的存储器件。
附图说明
图1a是NAND串的顶视图。
图1b是图1a的NAND串的等效电路图。
图1c是NAND闪存元件的阵列的方框图。
图2绘出在衬底上形成的NAND串的截面图。
图3绘出已擦除状态和较高数据状态的阈值电压分布。
图4绘出作为编程-擦除周期的数量的函数的非易失性存储元件集合的行为。
图5绘出软编程验证跳跃(skip)与擦除脉冲的数量的关系。
图6绘出可以基于擦除脉冲的数量而设置的不同软编程特性。
图7a绘出在相邻的擦除脉冲之间具有奇偶验证脉冲的一系列擦除脉冲。
图7b绘出在相邻的擦除脉冲之间具有单个验证脉冲的一系列擦除脉冲。
图8a绘出在相邻的软编程脉冲之间具有奇偶验证脉冲的一系列软编程脉冲,其中不跳过验证操作,如适合于循环使用的(cycled)器件那样。
图8b绘出其中前十个脉冲之后不跟有验证脉冲的一系列软编程脉冲,如适合于新用的(fresh)器件那样。
图8c绘出其中前五个脉冲后不跟有验证脉冲的一系列软编程脉冲,如适合于在寿命中期的(mid life)器件那样。
图8d绘出具有高幅度、中等幅度和低幅度的一系列软编程脉冲,其中前五个脉冲后不跟有验证操作。
图8e绘出具有三个可能的步长大小的一系列软编程脉冲,其中前五个脉冲后不跟有验证操作。
图8f绘出具有三个可能的脉冲宽度的一系列软编程脉冲。
图9a绘出擦除和编程存储元件、包括基于在擦除操作中使用的擦除脉冲的数量来调整软编程操作的方法。
图9b绘出用于进行擦除操作、包括计数在擦除操作中使用的擦除脉冲的数量并设置要在随后的软编程操作中跳过的软编程验证操作的数量的方法。
图9c绘出用于通过跳过多个验证操作来进行软编程操作的方法。
图10a绘出用于确定在擦除操作中跳过的验证操作的数量的方法。
图10b绘出用于进行擦除操作、包括跳过多个验证操作的方法。
图10c绘出其中前三个验证脉冲后不跟有验证脉冲的一系列擦除脉冲。
图11是NAND闪存元件的阵列的框图。
图12是使用单个行/列解码器和读/写电路的非易失性存储器系统的框图。
图13是绘出感测块的一个实施例的框图。
图14图示对于全位线存储器架构和对于奇偶存储器架构将存储器阵列组织成块的示例。
图15是描述用于编程非易失性存储器的处理的一个实施例的流程图。
图16a绘出在编程期间施加到非易失性存储元件的控制栅极的示例脉冲串,其中对奇数和偶数位线的存储元件同时进行验证操作。
图16b绘出在编程期间施加到非易失性存储元件的控制栅极的示例脉冲串,其中对奇数和偶数位线的存储元件分别进行验证操作。
具体实施方式
本发明提供了用于改进存储器元件在擦除序列期间的性能的技术。
适合于实现本发明的存储器系统的一个例子使用NAND闪存结构,其包括在两个选择栅极之间串联排列多个晶体管。串联的晶体管和选择栅极被称为NAND串。图1a是示出一个NAND串的顶视图。图1b是其等效电路。图1a和1b中所示的NAND串包括串联并夹在第一选择栅极120和第二选择栅极122之间的四个晶体管100、102、104和106。选择栅极120选通NAND串与位线126的连接。选择栅极122选通NAND串与源极线128的连接。通过向控制栅极120CG施加适当的电压来控制选择栅极120。通过向控制栅极122CG施加适当的电压来控制选择栅极122。晶体管100、102、104和106的每个具有控制栅极和浮置栅极。晶体管100具有控制栅极100CG和浮置栅极100FG。晶体管102包括控制栅极102CG和浮置栅极102FG。晶体管104包括控制栅极104CG和浮置栅极104FG。晶体管106包括控制栅极106CG和浮置栅极106FG。控制栅极100CG连接到(或者是)字线WL3,控制栅极102CG连接到字线WL2,控制栅极104CG连接到字线WL1,并且控制栅极106CG连接到字线WL0。在一个实施例中,晶体管100、102、104和106每个是存储元件,也被称为存储器单元。在其他实施例中,存储元件可以包括多个晶体管或者可以不同于图1a和1b所示。选择栅极120连接到选择线SGD。选择栅极122连接到选择线SGS。
图1c是绘出三个NAND串的电路图。使用NAND结构的闪存系统的典型构造将包括几个NAND串。例如,三个NAND串320、340和360被示出在具有更多NAND串的存储器阵列中。每个NAND串包括两个选择栅极和四个存储元件。尽管为了简化示出了四个存储元件,但是,例如,现在的NAND串可以具有高达三十二或六十四个存储元件。
例如,NAND串320包括选择栅极322和327以及存储元件323-326,NAND串340包括选择栅极342和347以及存储元件343-346,NAND串360包括选择栅极362和367以及存储元件363-366。每个NAND串通过其选择栅极(例如选择栅极327、347或367)连接到源极线。选择线SGS用于控制源极侧选择栅极。各个NAND串320、340和360通过选择栅极322、342、362等中的选择晶体管连接到各自位线321、341和361。这些选择晶体管由漏极选择线SGD控制。在其他实施例中,选择线不是一定要在NAND串中共用;就是说,可以为不同的NAND串提供不同的选择线。字线WL3连接到存储元件323、343和363的控制栅极。字线WL2连接到存储元件324、344和364的控制栅极。字线WL1连接到存储元件325、345和365的控制栅极。字线WL0连接到存储元件326、346和366的控制栅极。如可见,每个位线和各自的NAND串包括存储元件的阵列或集合的列。字线(WL3、WL2、WL1和WL0)包括阵列或者集合的行。每个字线连接在该行中的每个存储元件的控制栅极。或者,可以通过字线本身提供控制栅极。例如,字线WL2提供存储元件324、344和364的控制栅极。实际上,字线上可以存在数千的存储元件。
每个存储元件可以存储数据。例如,当存储一位数字数据时,存储元件的可能阈值电压(VTH)的范围被划分成两个范围,它们被分配了逻辑数据“1”和“0”。在NAND型闪存的一个例子中,在存储元件被擦除后VTH是负的,并被定义为逻辑“1”。在编程操作后VTH是正的并被定义为逻辑“0”。当VTH是负的,并尝试读时,存储元件将导通以指示逻辑“1”正被存储。当VTH是正的并且尝试读操作时,存储元件将不导通,这指示逻辑“0”被存储。存储元件还可以存储多级的信息,例如多位数字数据。在此情况下,VTH值的范围被划分为多个数据级。例如,如果存储了四级的信息,则将存在被分配到数据值“11”、“10”、“01”和“00”的四个VTH范围。在NAND型存储器的一个例子中,在擦除操作后的VTH是负的并被定义为“11”。正VTH值用于状态“10”、“01”和“00”。在被编程到存储元件中的数据和元件的阈值电压范围之间的具体关系取决于对存储元件采用的数据编码方案。
当编程闪存元件时,编程电压被施加到存储元件的控制栅极,并且与存储元件相关的位线接地。来自沟道的电子被注入浮置栅极中。当电子在浮置栅极中累积时,浮置栅极变为充负电,并且存储元件的VTH升高。为了向被编程的存储元件的控制栅极施加编程电压,将该编程电压施加在适当的字线上。如上所述,每个NAND串中的一个存储元件共享同一字线。例如,当编程图1c的存储元件324时,编程电压还将被施加到存储元件344和364的控制栅极。
图2绘出在衬底上形成的NAND串的截面图。该图被简化并未按比例。NAND串400包括在衬底438上形成的源极侧选择栅极406、漏极侧选择栅极424和八个存储元件408、410、412、414、416、418、420和422。其一个例子是源极/漏极区430的多个源极/漏极区被提供在每个存储元件和选择栅极406和424的任一侧上。在一个方法中,衬底438采用三阱技术,其包括在n阱区434内的p阱区432,该n阱区434又在p型衬底区436内。可以至少部分地在p阱区上形成NAND串及其非易失性存储元件。除了具有电势VBL的位线426之外,还提供了具有电势VSOURCE的源极供应线404。诸如主体偏压的电压也可以经由端子402施加到p阱区432和/或经由端子403施加到n阱区434。
在编程操作期间,控制栅极电压VPGM被提供在所选字线上、在此例子中被提供在WL3上,其与存储元件414相关联。此外,回忆起存储元件的控制栅极可以被提供为字线的一部分。例如,WL0、WL1、WL2、WL3、WL4、WL5、WL6和WL7可以分别经由存储元件408、410、412、414、416、418、420和422的控制栅极而延伸。在一个可能的升压方案中,通过电压(passvoltage)VPASS被施加到与NAND串400相关联的其余字线。VSGS和VSGD分别施加到选择栅极406和424。在擦除操作期间,高的正电压脉冲被施加到衬底436以将电荷从存储元件的浮置栅极拉出。
图3绘出已擦除状态和较高数据状态的阈值电压分布。x轴表示阈值电压,y轴表示存储元件的数量。在此例子中,存在四个数据状态:已擦除(E)状态、A状态444、B状态446和C状态448。预期具有另外的数据状态、例如八个或十六个数据状态的存储器器件也变得更常用。擦除序列包括擦除操作和软编程操作。在存储元件通常被过度擦除超过擦除状态442时的擦除操作之后实现分布440。在该擦除操作中,一个或多个擦除脉冲施加到衬底,直到被擦除的存储元件的阈值电压转变到擦除验证电平VERASE-VERIFY以下。该转变由指向左的箭头表示。一旦擦除操作完成,就进行软编程操作,其中多个正电压脉冲诸如经由字线被施加到存储元件的控制栅极,以将分布440中的一些或所有存储元件的阈值电压增加为更靠近软编程(SPGM)验证电平VSPGM-VERIFY并在其以下,到达已擦除状态442。例如,这些存储元件中的某些存储元件可以被软编程以具有在VSPGM-VERIFY以上的VTH,留下其他存储元件具有接近VSPGM-VERIFY但是在其以下的VTH。该转变由指向右的箭头表示。VSPGM-VERIFY通常在VERASE-VERIFY以上或与其相等。软编程操作有利地得到窄的擦除状态分布442。一旦软编程操作完成,就可以发生向较高数据状态、诸如分别使用验证电平VVERIFY-A、VVERIFY-B和VVERIFY-C向状态A、B和C的编程。随后的读操作可以使用电平VREAD-A、VREAD-B和VREAD-C
注意,VERASE-VERIFY和VSPGM-VERIFY可以相同或不同。此外,非易失性存储元件集合具有在满足VERASE-VERIFY的第一验证条件时至少部分地在已擦除状态442以下的第一阈值电压分布440以及在满足VSPGM-VERIFY的第二验证条件时在已擦除状态下的第二更收紧的阈值电压分布442。
图4绘出作为编程-擦除周期的数量的函数的非易失性存储元件集合的行为。由于存储元件随时间经历了编程和擦除周期,其性能改变。例如,可能预期存储器器件经受得住10000或更多的周期。通常,完成擦除操作所需的擦除脉冲或循环的数量增加(曲线452),而完成软编程操作的所需的软编程脉冲或循环的数量降低(曲线450)。VERASE(例如参见图7a和7b)以及VSPGM(例如参见图8a-8f)的值在通常在芯片分选期间被修整为对每个器件最优的预定值。正常地,VERASE被修正得足够高以使当存储器件是新用的(fresh)时可以仅用一个擦除脉冲擦除存储元件。VSPGM被修正得足够低以使软编程需要某个数量的脉冲。VERASE-VERIFY和VSPGM-VERIFY通常被设置为预定值。当在每个软编程脉冲之后进行验证操作时,软编程操作消耗大量时间。此外,验证操作可能涉及奇数和偶数位线的存储元件的分别验证,进一步增加了验证时间。结果,擦除序列的性能未优化,尤其是对于其中施加了相对高数量的软编程脉冲和相关的验证脉冲的低和中间范围的数量的周期。
图5绘出软编程验证跳过与擦除脉冲的数量的关系。x轴表示擦除脉冲的数量并且y轴表示验证跳过的数量。为了减少擦除序列、特别是软编程操作消耗的时间,基于在擦除操作期间使用的擦除脉冲的数量,可以跳过多个初始验证操作。擦除脉冲的数量用作存储器器件的周期的数量的指示符。但是,其是比周期的数量更准确的器件条件的指示符,因为其反应了存储器器件的实际当前行为,这可能与基于周期计数的预期行为不相关,因为具有相同或类似周期计数的不同器件可能具有不同的性能。但是,也能够使用周期计数。
具体地,曲线500表示可以被设置为测量的擦除脉冲的数量的函数的验证跳过的数量的关系。阶梯510允许将擦除脉冲的数量翻译成诸如在三个组G1、G2和G3中的验证跳过的离散级的数量。作为例子,G1可以表示一个擦除脉冲,其与第一数量的验证跳过、例如10个跳过相关联,G2可以表示两个或四个擦除脉冲,它们与第二数量的验证跳过、例如五个跳过相关联,以及G3可以表示五个或六个擦除脉冲,它们与第三数量的验证跳过、例如0个跳过相关联。组G1对应于新用的或在寿命早期的器件,例如具有0-c1个周期的范围,对于其大数量的验证跳过是合适的。组G2对应于中等范围或在寿命中期的器件,例如具有c1-c2周期的范围,对于其中等范围数量的验证跳过是合适的。组G3对应于循环使用的或者在寿命末段的器件,例如具有c2-c3个周期或在c2以上的周期的范围,对于其0或者小数量的验证跳过是合适的。变量c1、c2和c3表示器件特定的数。
还能够将验证跳过的数量与擦除脉冲的每种不同数量相关联。可以将存储器器件修改为包括跟踪擦除脉冲的数量并保持用于将验证跳过的数量与擦除脉冲的数量相关联的表格或公式的能力。可以使用查找功能来查找与擦除脉冲的数量对应的验证跳过的数量。此外,可以为存储器器件中的不同非易失性存储元件集合、诸如例如在包括多级存储元件的器件中的不同字线、块、阵列或平面建立(a)验证跳过的数量与(b)擦除脉冲的数量的不同关系。这是合适的,因为不同的集合可能经历了不同数量的周期和/或即使经历了共同数量的周期时也具有不同的行为。或者,可以为整个存储器器件建立共同的验证跳过与擦除脉冲的关系。可以在例如存储器芯片外部的或者该芯片上的控制器存储器中实现合适的数据结构和控制逻辑。
验证跳过的数量应该被设置为尽可能的高以得到最大的时间节省,同时应足够低以使在施行验证跳过时存储器器件不达到验证电平。例如可以通过将擦除脉冲的数量与导致存储元件转变超过软编程验证电平的第一软编程脉冲的标识相关并提供在该标识的脉冲以下的脉冲余量,根据实验来确定验证跳过的最佳数量。例如,如果对于新用的器件,平均第十二个软编程脉冲导致存储元件转变超过软编程验证电平,则验证跳过的数量可以被设置为例如比12小了余量2的10。可以测试存储器器件的数量以获得诸如导致存储元件转变超过软编程验证电平的软编程脉冲的数量的标准偏差的统计量,以用期望的信用级来设置验证跳过的数量。可以对不同数量的擦除脉冲和周期重复该过程以据此设置验证跳过的最佳数量。
图6绘出可以基于擦除脉冲的数量而设置的不同软编程特性。除了基于擦除脉冲的数量设置验证跳过的数量之外,或者作为替换,可以基于擦除脉冲的数量设置软编程操作的一个或多个特性。这些特性包括开始幅度、诸如电压VSPGM、步长大小、脉冲持续时间、脉冲的最大允许数量以及最大脉冲幅度。关于开始幅度,见图8d。关于步长大小,见图8e。关于脉冲持续时间,见图8f。关于脉冲的最大允许数量,在一个可能的实现方式中,相比于新用的器件,循环使用的器件的该最大值较低,因为循环使用的器件应该能够用更少的软编程脉冲完成软编程。关于最大脉冲幅度,在一个可能的实现方式中,相比于新用的器件,循环使用的器件的该最大值较低,因为循环使用的器件应该能够用更低的最大幅度编程脉冲完成软编程。脉冲幅度表示编程脉冲的电信号。注意,通常,编程涉及向存储元件施加信号、诸如电压或电流,以改变存储元件的状态。
图7a绘出在相邻的擦除脉冲之间具有奇和偶验证脉冲的一系列擦除脉冲700。VERASE1到VERASE8表示在一个示例实现方式中在擦除操作期间施加到存储器器件的衬底的擦除脉冲。例如擦除脉冲可以根据固定或变化的步长大小而在幅度上增加,或者它们可以具有固定的幅度。在相邻的擦除脉冲之间,用于奇数和偶数位线的存储元件的单独的擦除验证脉冲被施加到存储元件的控制栅极。擦除验证脉冲具有幅度VERASE-VERIFY。脉冲710是用于奇数位线的存储元件的示例擦除验证脉冲,脉冲712是用于偶数位线的存储元件的示例擦除验证脉冲。
无论是在擦除操作、软编程操作还是常规编程操作中,验证操作都可能涉及确定当电压或电流被施加到存储元件时该存储元件是否处于导电状态。取决于确定的结果,施加一个或多个另外的脉冲。例如,当施加擦除验证脉冲710时,确定奇数位线的存储元件是否导电。如果它们导电,这意味着它们的阈值电压足够低使得擦除操作已经完成。类似地,当施加擦除验证脉冲712时,确定偶数位线的存储元件是否导电。擦除脉冲的应用以及相关的验证操作被认为是擦除循环。
图7b绘出在相邻的擦除脉冲之间具有单个验证脉冲的一系列擦除脉冲713。在此情况下,在全位线擦除验证操作中,奇数和偶数位线的存储元件同时被验证。当施加示例的擦除验证脉冲714时,确定奇数和偶数位线的存储元件是否导电。
图8a绘出在相邻的软编程脉冲之间具有奇和偶验证脉冲的一系列软编程脉冲,其中不跳过验证操作,如对循环使用的器件适用的。作为例子,使用十五个软编程脉冲。术语“软”编程表示编程不改变存储元件的数据状态,与改变数据状态的“常规”或“硬”编程相对。VSPGM1到VSPGM15表示在一个示例实现方式中在验证操作期间施加到存储元件的控制栅极的软编程脉冲。在其他情况下,可以施加电流。例如,软编程脉冲可以根据步长大小而在幅度上增加,或者它们可以具有固定幅度。在相邻的软编程脉冲之间,用于奇数和偶数位线的存储元件的单独的验证脉冲被施加到存储元件。擦除验证脉冲具有幅度VSPGM VERIFY。脉冲810是用于奇数位线的存储元件的示例软编程验证脉冲,脉冲812是用于偶数位线的存储元件的示例软编程验证脉冲。另一选项是在相邻的软编程脉冲之间仅具有一个验证脉冲,使得奇数和偶数位线的存储元件同时被验证。
在图8a中,不存在验证跳过。即,在第一软编程脉冲之后和在每个随后的软编程脉冲之后进行验证操作。该情景可能适合于已经经历了相对高数量的编程-擦除周期的循环使用的器件。回忆图5,其表示0个验证跳过适合于具有高数量的周期的存储器器件。
图8b绘出其中前十个脉冲后不跟有验证脉冲的一系列软编程脉冲,如适用于新用的器件的。在此,存在十个验证跳过。第十一个软编程脉冲(VSPGM11)和每个随后的编程脉冲后跟有验证操作。回忆图5,其表示最大数量的验证跳过适用于新用的存储器器件。除了降低功耗之外,跳过大量的验证操作还极大地减少了软编程时间,得到更优的性能。
图8c绘出其中前五个脉冲后不跟有验证脉冲的一系列软编程脉冲,如适用于寿命周期的器件的。在此,前五个软编程脉冲后不跟有验证操作,因此存在五个验证跳过。第六个软编程脉冲(VSPGM6)和每个随后的编程脉冲后跟有验证操作。回忆图5,其表示中等范围数量的验证跳过适用于具有中等范围数量的周期的存储器器件。
图8d绘出具有高幅度、中等幅度和低幅度的一系列软编程脉冲860,其中前五个脉冲后不跟有验证脉冲。如结合图6所述,可以基于完成擦除操作所需的擦除脉冲的数量来设置软编程操作的至少一个特性。在此例子中,该特性是软编程脉冲的幅度。可以与从其可以确定其余的脉冲的幅度的步长大小一起指定第一软编程脉冲的幅度。随着周期的数量增加,存储器器件变得更容易编程,使得与新用的器件相比,可以使用更低幅度的脉冲来完成软编程。此外,通过使用更低幅度的脉冲,可以避免或减少过度编程。例如,分别对于新用的、中等老化的和循环使用的器件,可以使用高幅度、中等幅度和低幅度。降低软编程脉冲幅度可以得到降低的功耗,而增加软编程脉冲幅度可以得到更快的软编程。此外,作为例子,还实施多个验证跳过。作为例子,高幅度、中等幅度和低幅度分别可以是10V、7.5V和5V。
图8e绘出具有三个可能的步长大小的一系列软编程脉冲880,其中前五个脉冲后不跟有验证脉冲。ΔV1、ΔV2和ΔV3分别表示第一、第二和第三步长大小。软编程的典型步长大小是大约0.2V,或者用于擦除操作的0.5V。在此例子中,基于擦除脉冲的数量而设置的软编程特性是软编程脉冲的步长大小。随着周期的数量增加,存储器器件变得更容易被编程,使得与新用的器件相比,可以使用更小的步长大小来完成软编程。例如对于新用的、中等范围的和循环使用的器件分别可以使用高步长大小、中等步长大小和低步长大小。减小步长大小可以得到更好的编程准确度和降低的功耗,而增加步长大小可以得到更快的软编程。此外,作为例子,还实施多个验证跳过。
图8f绘出具有三个可能的脉冲宽度的一系列软编程脉冲890。为了示出细节,仅绘出了三个脉冲。时间段t1、t2和t3分别表示第一、第二和第三软编程脉冲宽度或持续时间。在此例子中,基于擦除脉冲的数量而设置的软编程特性是软编程脉冲的宽度。随着周期的数量增加,存储器器件变得更容易编程,使得与新用的器件相比,可以使用更小的脉冲宽度来完成软编程。例如,对于新用的、中等范围的和循环使用的器件分别可以使用长脉冲、中等脉冲和短脉冲。减小脉冲宽度可以得到降低的功耗,而增加脉冲宽度可以得到更快的软编程。
图9a绘出用于擦除和编程存储元件、包括基于在擦除操作中使用的擦除脉冲的数量调整软编程操作的方法。步骤900包括开始进行擦除操作。步骤901包括标识在擦除操作中使用的擦除脉冲的数量NERASE。这是基于擦除脉冲的计数的度量的例子。注意,可以对每个擦除序列单独地进行此步骤,或者可以使用一个或多个先前擦除序列的历史数据,以便获得在过去的几个擦除序列中的擦除脉冲的数量的滚动平均(rolling average)。步骤901可选地包括例如基于NERASE将存储器器件或者存储器器件的存储元件集合分类到多个组G1、G2和G3之一中。例如,参考图5,小数量的擦除脉冲可能与新用的器件(组G1)相关,中等范围数量的擦除脉冲可能与中等范围器件(组G2)相关,高数量的擦除脉冲可能与循环使用的器件(组G3)相关。步骤903包括设置要施加的软编程脉冲的数量NSPGM-SKIP而不进行基于组的(或直接基于NERASE的)验证操作。步骤904包括基于组(或直接基于NERASE)设置软编程特性。可以进行步骤903或904之一或两者。步骤900、905和906的进一步细节分别结合图9b、9c和15说明。
图9b绘出用于进行擦除操作、包括对在擦除操作中使用的擦除脉冲的数量计数和设置要在随后的软编程操作中跳过的软编程验证操作的数量的方法。擦除操作开始于步骤910。在步骤912,擦除脉冲的数量(NERASE)的计数器被设置为1。在决定步骤916,如果NERASE大于擦除脉冲的最大允许数量,则在步骤918宣告失败。如果决定步骤916是否,则在步骤920施加擦除脉冲,并且在步骤922进行验证操作。从图3回忆起在一个可能的实现方式中,擦除验证操作使用VVERIFY-ERASE。在决定步骤924,如果验证成功,例如所有或几乎所有存储元件已经超过验证电平VVERIFY-ERASE,则在步骤926,NERASE的当前值被存储,并且擦除操作结束于步骤928。决定步骤924为真表示满足第一验证条件。在决定步骤924,如果验证不成功,则在步骤914递增NERASE,并且只要在决定步骤916还未超过擦除脉冲的最大允许数量,就在步骤920施加进一步的擦除脉冲。
图9c绘出通过跳过多个验证操作进行软编程操作的方法。开始于步骤930的软编程操作响应于擦除操作的完成,可以直接跟在图9b的擦除操作之后。步骤932包括基于NERASE确定要跳过的软编程脉冲的数量(NSPGM-SKIP)。注意,替换地该步骤可以与擦除操作结合地进行,使得NSPGM-SKIP被存储在存储器中并被取出用在软编程操作中。实践中,擦除操作和随后的软编程操作作为擦除序列的部分而进行,因此是共同处理的部分。可选的步骤934包括基于NERASE设置软编程的一个或多个特性。同样,替换地该步骤可以与擦除操作结合地进行,使得一个或多个特性被存储在存储器中并被取出用于软编程操作中。
在步骤936,软编程脉冲数量NSPGM的计数器被设置为1。在决定步骤940,如果NSPGM大于软编程脉冲的最大允许数量,则在步骤942宣告失败。如果决定步骤940为否,则在步骤944施加软编程脉冲。在决定步骤946,如果NERASE大于验证跳过的数量NSPGM-SKIP,则在步骤948进行验证操作。此时,先前已经施加了NSPGM个软编程脉冲而没有进行验证操作。从图3回忆起软编程验证操作使用VVERIFY-SPGM。在决定步骤946,如果NSPGM不大于验证跳过的数量NSPGM-SKIP,则不进行验证操作。这意味着处理仍然在验证跳过阶段。通过不进行验证操作,可以更快地进行软编程操作。在决定步骤946为否时,在步骤938递增NSPGM,并且只要在步骤940还未超过软编程脉冲的最大允许数量,就在步骤944施加进一步的软编程脉冲。
在决定步骤950,如果验证成功,例如所有或几乎所有存储元件已经超过验证电平VSPGM VERIFY,则软编程操作结束于步骤952。随后,在常规或硬编程操作中,可以将存储元件编程到更高数据状态,例如A、B或C。决定步骤950为真表示满足第二验证条件。在决定步骤950,如果验证不成功,则在步骤938递增NSPGM,并且只要在决定步骤940还未超过软编程脉冲的最大允许数量,就在步骤944施加进一步的软编程脉冲。
图10a绘出用于确定在擦除操作中跳过的验证操作的数量的方法。以上讨论了可以通过在不需要软编程验证操作时跳过它们来减少软编程时间,作为可以由完成现有擦除操作所需的擦除脉冲的数量确定的存储器器件的所检测的行为的函数。类似地,可以通过在不需要擦除验证操作时不进行该操作来减少擦除操作时间。这可以单独地或者与用于基于器件的当前行为减少软编程时间和/或调整软编程特性的上述技术一起进行。在示例处理中,步骤1000包括识别在多个擦除操作中使用的脉冲的数量。步骤1002包括计算在每个操作中使用的擦除脉冲的平均数NERASE-AVG。步骤1004包括设置在下一擦除操作中不进行验证操作而施加的擦除脉冲的数量为NERASE-SKIP=NERASE-AVG-NMARGIN。例如,NMARGIN可以是一个或两个脉冲。作为例子,循环使用的器件可能需要平均四个擦除脉冲,并且NMARGIN可以被设置为一个脉冲,在此情况下,NERASE-SKIP=4-1=3。注意,还可以基于一个现有擦除操作而不是来自多个现有擦除操作的平均、均分或其他度量来设置NERASE-SKIP
由于预期其它器件使用更大数量的擦除脉冲、例如达八个到15个擦除脉冲,来自跳过验证操作的时间节省可以很大。也降低了功耗。
图10b绘出用于通过跳过多个验证操作进行擦除操作的方法。可以结合图10a的处理进行该处理。该擦除操作开始于步骤1010。在步骤1012,擦除脉冲的数量(NERASE)的计数器被设置为1。在决定步骤1016,如果NERASE大于擦除脉冲的最大允许数量,则在步骤1018宣告失败。如果决定步骤1016为否,则在步骤1020施加擦除脉冲。在决定步骤1022,如果NERASE大于擦除验证跳过的数量NERASE-SKIP,则在步骤1024进行验证操作。在这点,先前已经施加了NERASE个擦除脉冲而没进行验证操作。从图3回忆起擦除验证操作使用VVERIFY-ERASE。在决定步骤1022,如果NERASE不大于NERASE-SKIP,则不进行验证操作。这意味着处理仍将处于验证跳过阶段。通过不进行验证操作,可以更快地进行擦除操作。
在决定步骤1022为否时,在步骤1014递增NERASE,并且只要在决定步骤1016还未超过擦除脉冲的最大允许数量,就在步骤1020施加进一步的擦除脉冲。在决定步骤1026,如果验证成功,则擦除操作结束于步骤1028。在决定步骤1026,如果验证不成功,则在步骤1014递增NERASE,并且只要在决定步骤1016还未超过擦除脉冲的最大允许数量,就在步骤1020施加进一步的擦除脉冲。
注意,图9b和图10b的处理可以被组合以减少擦除操作时间以及确定使用的擦除脉冲的数量和软编程验证跳过的适当数量。
在一个可能的实现方式中,上述技术可以与以下进一步详细讨论的NAND存储器器件结合使用。
图10c绘出其中前三个脉冲后不跟有验证脉冲的一系列擦除脉冲1030。作为例子,第一擦除验证脉冲1032出现在第四擦除验证脉冲VERASE之后和系列1030的每个相继的擦除脉冲之后。
图11例示诸如图1a和1b所示的NAND存储元件的阵列1100的例子。沿着每列,位线1106耦接到NAND串1150的漏极选择栅极的漏极端1126。沿着NAND串的每行,源极线1104可以连接NAND串的源极选择栅极的所有源极端1128。
存储元件的阵列被划分成存储元件的大量块。如对于快闪EEPROM系统共同的,块是擦除的单位。即,每块包含一起被擦除的最小数量的存储元件。每块通常被划分成多个页。页是编程的最小单位。一页或多页数据通常被存储在一行存储元件中。例如,一行通常包含若干交织的页,或者其可以构成一页。一页的所有存储元件将一起被读或编程。此外,一页可以存储来自一个或多个扇区的用户数据。扇区是由主机使用作为用户数据的便捷单位的逻辑概念;其通常不包含开销数据,该开销数据被限制给控制器。开销数据可以包括已经从扇区的用户数据计算的纠错码(EEC)。控制器的一部分(以下描述)在数据被编程到阵列中时计算ECC,并且还在从阵列读出数据时对其进行检查。或者,ECC和/或其他开销数据被存储在与它们所属于的用户数据不同的页中或者甚至不同的块中。
一个扇区的用户数据通常是512字节,对应于磁盘中的扇区的大小。开销数据通常是另外的16-20字节。大量页形成块,从例如8页达32、64、128或更多页任意。在一些实施例中,一行NAND串构成一块。
在一个实施例中,通过将p阱升高到擦除电压(例如14-22V)达足够的时间段并将所选块的字线接地同时源极线和位线浮置来擦除存储器存储元件。由于电容耦合,未选的字线、位线、选择线和c源极也被升高到擦除电压的很大比例。因此强电场被施加到所选存储元件的隧道氧化物层,并且随着通常通过Fowler-Nordheim隧穿(tunneling)机制,浮置栅极的电子被发射到衬底侧,所选存储元件的数据被擦除。随着电子从浮置栅极转移到p阱区,所选存储元件的阈值电压降低。可以对整个存储器阵列、分离的块或者另一单位的存储元件进行擦除。
图12是使用单个行/列解码器和读/写电路的非易失性存储器系统的方框图。该图图示了根据本发明的一个实施例的具有用于并行读取和编程一页存储元件的读/写电路的存储器器件1296。存储器器件1296可以包括一个或多个存储器晶片1298。存储器晶片1298包括存储元件的二维阵列1100、控制电路1210以及读/写电路1265。在某些实施例中,存储元件的阵列可以是三维的。存储器阵列1100可由字线经由行解码器1130以及由位线经由列解码器1160寻址。读/写电路1165包括多个感测块1200,并允许并行读取或编程一页存储元件。通常,控制器1250被包括在与一个或多个存储器晶片1298相同的存储器器件1296中(例如可移除存储卡)。命令和数据经由线路1120在主机和控制器1250之间以及经由线路1218在控制器和一个或多个存储器晶片1298之间传送。
控制电路1210与读/写电路1265协作以对存储器阵列1100进行存储器操作。控制电路1210包括状态机1212、芯片上地址解码器1214和功率控制模块1216。状态机1212提供对存储器操作的芯片级控制,包括控制预充电。芯片上地址解码器1214提供由主机或存储器控制器使用的地址与由解码器1230和1260使用的硬件地址之间的地址接口。功率控制模块1216控制在存储器操作期间提供给字线和位线的功率和电压。
在某些实施方式中,图12的组件的一些可以被组合。在各种设计中,不同于存储元件阵列1100的一个或多个组件(单独或组合地)可以被认为是管理电路。例如,一个或多个管理电路可以包括控制电路1210、状态机1212、解码器1214/1260、功率控制器1216、感测模块1200、读/写电路1265、控制器1250等中的任意一个或其组合。
如上所述,例如,可以在存储器芯片外部的或芯片上的控制器存储器中实现适当的数据结构和控制逻辑。
在另一方法中,使用双行/列解码器和读/写电路。在阵列的相对两侧以对称的方式实现各种外围电路对存储器阵列1100的存取,使得每侧的存取线和电路的密度降低一半。因此,行解码器被分成两个行解码器,并且列解码器被分成两个列解码器。类似地,读/写电路被分成连接到来自阵列1100底部的位线的读/写电路和连接到来自阵列1100顶部的位线的读/写电路。以此方式,读/写模块的密度基本降低一半。
图13是绘出感测块的一个实施例的方框图。单个感测块1200被分区为称为感测模块1280的核心部分以及公共部分1290。在一个实施例中,将存在对于每个位线的单独的感测模块1280和对于多个感测模块1280的集合的一个公共部分1290。在一个例子中,感测块将包括一个公共部分1290和八个感测模块1280。一组中的每个感测模块将经由数据总线1272与相关的公共部分通信。
感测模块1280包括确定所连接的位线中的导电电流是在预定阈值水平以上还是以下的感测电路1270。感测模块1280还包括用于设置在所连接的位线上的电压条件的位线锁存器1282。例如,锁存在位线锁存器1282中的预定状态将导致所连接的位线被拉到指定编程禁止的状态(例如1.5-3V)。
公共部分1290包括处理器1292、数据锁存器集1294和耦接在数据锁存器集1294与数据总线1220之间的I/O接口1296。处理器1292执行计算。例如,其功能之一是确定在被感测的存储元件中存储的数据,并将确定的数据存储在数据锁存器集中。数据锁存器集1294用于存储由处理器1292在读操作期间确定的数据位。其还用于存储在编程操作期间从数据总线1220输入的数据位。输入的数据位表示要被编程到存储器中的写数据。I/O接口1296提供在数据锁存器1294和数据总线1220之间的接口。
在读取或感测期间,系统的操作在状态机1212的控制下,该状态机1212控制对被寻址的存储元件的不同控制栅极电压的供应。随着其步经与存储器所支持的各个存储器状态对应的各个预定控制栅极电压,感测模块1280可以行进在这些电压之一,并且将从感测模块1280经由总线1272提供输出给处理器1292。此时,处理器1292通过考虑感测模块的(一个或多个)行进事件以及经由输入线1293来自状态机的关于所施加的控制栅极电压的信息来确定得到的存储器状态。然后其计算对于该存储器状态的二进制编码,并将得到的数据位存储到数据锁存器1294中。在核心部分的另一实施例中,位线锁存器1282起着双重作用,用作锁存感测模块1280的输出的锁存器以及还用作如上所述的位线锁存器两者。
预期一些实施方式将包括多个处理器1292。在一个实施例中,每个处理器1292将包括输出线(未示出)使得每个输出线在一起被布线为或(wired-OR)。在一些实施例中,输出线在被连接到被布线为或的线之前被反相。该配置使能够在编程验证处理期间迅速确定何时已完成编程处理,因为接收该布线为或的状态机可以确定正被编程的所有位何时已达到期望的电平。例如,当每位达到其期望的电平时,对于该位的逻辑0将被发送到被布线为或的线(或者数据1被反相)。当所有位输出数据0(或者数据1被反相)时,则状态机知道要终止编程处理。因为每个处理器与八个感测模块通信,因此状态机需要读被布线为或的线八次,或者逻辑被添加到处理器1292以累积相关位线的结果,使得状态机仅需读被布线为或的线一次。类似地,通过正确地选择逻辑电平,全局状态机可以检测第一位何时改变其状态,并据此改变算法。
在编程或验证期间,要被编程的数据从数据总线1220存储在数据锁存器集1294中。在状态机的控制下,编程操作包括施加到被寻址的存储元件的控制栅极的一系列编程电压脉冲。每个编程脉冲后跟随读回(验证)以确定存储元件是否已被编程到期望的存储器状态。处理器1292相对于期望的存储器状态监视读回的存储器状态。当两者一致时,处理器1292设置位线锁存器1282以便致使位线被拉到指定编程禁止的状态。这禁止耦接到位线的存储元件被进一步编程,即使编程脉冲出现在其控制栅极上。在其他实施例中,在验证处理期间,处理器首先加载位线锁存器1282,并且感测电路将其设置到禁止值。
数据锁存器堆叠1294包含与感测模块对应的数据锁存器的堆叠。在一个实施例中,每个感测模块1280存在三个数据锁存器。在一些实施方式中(但不是要求的),数据锁存器被实现为移位寄存器,使得存储在其中的并行数据被转换成用于数据总线1220的串行数据,并反之亦然。在优选实施例中,与m个存储元件的读/写块对应的所有数据锁存器可以被链接在一起以形成块移位寄存器,使得一块数据可以通过串行转移而被输入或输出。具体地,读/写模块的堆被适配为使得其数据锁存器集的每个将把数据依次移入或移出数据总线,就像它们是对于整个读/写块的移位寄存器的部分一样。
图14图示了对于全位线存储器架构和对于奇偶存储器架构将存储器阵列组织成块的例子。描述存储器阵列1100的示例结构。作为一个例子,描述被分区成1024个块的NAND快闪EEPROM。存储在每个块中的数据可以同时被擦除。在一个实施例中,块是同时被擦除的存储元件的最小单位。在此例子中,在每个块中,存在与位线BL0、BL1、......、BL8511对应的8512个列。在称为全位线(ABL)架构(架构1410)的一个实施例中,在读和编程操作期间,一块的所有位线可以同时被选择。沿着公共字线并连接到任意位线的存储元件可以同时被编程。
在所提供的例子中,四个存储元件串联连接以形成NAND串。尽管示出四个存储元件被包括在每个NAND串中,但是可以使用多于或少于四个(例如16、32、64或另一数量)。NAND串的一端经由漏极选择栅极(连接到选择栅极漏极线SGD)连接到相应位线,另一端经由源极选择栅极(连接到选择栅极源极线SGS)连接到c源极。
在称为奇偶架构(架构1400)的另一实施例中,位线被划分成偶数位线(BLe)和奇数位线(BLo)。在奇/偶位线架构中,沿着公共字线并连接到奇数位线的存储元件在一个时间被编程,而沿着公共字线并连接到偶数位线的存储元件在另一时间被编程。在此例子中,在每个块中,存在被划分成奇数列和偶数列的8512列。在此例子中,示出四个存储元件串联连接以形成NAND串。
在读和编程操作的一个配置期间,同时选择4256个存储元件。所选的存储元件具有相同的字线和相同种类的位线(例如偶数或奇数)。因此,形成一个逻辑页的532字节的数据可以同时被读或编程,并且存储器的一块可以存储至少八个逻辑页(四个字线,每个字线具有奇数和偶数页)。对于多状态存储元件,当每个存储元件存储两位数据时,其中这两位的每位被存储在不同的页中,一个块存储十六个逻辑页。也可以使用其他大小的块和页。
对于ABL或奇偶架构,可以通过将p阱升高到擦除电压(例如20V)并将所选块的字线接地来擦除存储元件。源极和位线是浮置的。可以对整个存储器阵列、分离的块或者作为存储器器件的一部分的另一单位的存储元件进行擦除。电子从存储元件的浮置栅极转移到p阱区,使得存储元件的VTH变为负。
在读和验证操作中,选择栅极(SGD和SGS)连接到在2.5-4.5V的范围内的电压,并且未选字线(例如WL0、WL1和WL3,这时WL2是所选字线)升高到读通过电压VREAD(通常是在4.5到6V范围内的电压),以使晶体管工作为选通栅极。所选字线WL2连接到如下电压,对于每个读和验证操作规定了其电平,以便确定所关注的存储元件的VTH是在这样的电平以上还是以下。例如,在对于两级存储元件的读操作中,所选字线WL2可以接地,使得检测VTH是否高于0V。在对于两级存储元件的验证操作中,所选字线WL2连接到例如0.8V,使得验证VTH是否已经达到至少0.8V。源极和p阱处于0V。被假设为偶数位线(BLe)的所选位线被预充电到例如0.7V的电平。如果VTH高于字线上的读或验证电平,则与感兴趣的存储元件相关的位线(BLe)的电势电平由于不导电的存储元件而维持在高电平。另一方面,如果VTH低于读或验证电平,则所关注的位线(BLe)的电势电平降低到例如小于0.5V的低电平,因为导电的存储元件对该位线放电。由此可以通过连接到位线的电压比较器感测放大器检测存储元件的状态。
图15是描述用于编程非易失性存储器的一个实施例的流程图。如所述,在已经完成擦除序列之后,可以发生向在已擦除状态以上的较高数据状态的编程。在一个实现方式中,存储元件在编程之前(按块或其他单位)被擦除。在步骤1500,“数据加载”命令由控制器发出并由控制电路1210(见图12)接收。在步骤1505,指定页地址的地址数据从控制器或主机输入到解码器1214。在步骤1510,用于被寻址的页的一页编程数据被输入到数据缓冲器用于编程。该数据被锁存在适当的数据锁存器集中。在步骤1515,由控制器向状态机1212发出“编程”命令。
由“编程”命令触发,使用施加到适当的所选字线的步进编程脉冲,在步骤1510中锁存的数据将被编程到由状态机1212控制的所选存储元件中。在步骤1520,编程电压VPGM被初始化为开始脉冲(例如12V或其他值),并且由状态机1212保持的编程计数器(PC)被初始化在0。在步骤1530,第一VPGM脉冲被施加到所选字线以开始编程与所选字线相关联的存储元件。如果逻辑“0”被存储在具体的数据锁存器中,指示相应的存储元件应该被编程,则相应的位线接地。另一方面,如果逻辑“1”被存储在具体的锁存器中,指示相应的存储元件维持在其当前数据状态,则相应的位线连接到1.5-3V以禁止编程。
在步骤1533,验证所选存储元件的状态。如果检测到所选存储元件的目标阈值电压已经达到适当的电平,则存储在相应的数据锁存器中的数据改变为逻辑“1”。如果检测到阈值电压还未达到适当的电平,则存储在相应的数据锁存器中的数据不改变。以此方式,具有在其相应的数据锁存器中存储的逻辑“1”的位线不需要被编程。当所有数据锁存器都存储逻辑“1”时,状态机(经由上述布线为或类型的机制)得知所选存储元件已经被编程。在步骤1540,检查是否所有的数据锁存器都存储逻辑“1”。如果所有的数据锁存器都存储逻辑“1”,则编程处理完成并成功,因为所有所选存储元件都被编程和验证过。在步骤1545中报告“通过”状态。在一些实施例中,即使不是所有所选存储元件都被验证为被编程,也认为编程处理完成并成功。在这样的情况下,由于不充分的被编程的存储元件,在随后的读操作中可能发生错误。但是,这些错误可以通过ECC校正。
如果在步骤1540中确定不是所有数据锁存器都存储逻辑“1”,则编程处理继续。在一些实施例中,即使不是所有数据锁存器都存储逻辑“1”,编程处理也停止。在步骤1550,针对编程限制值PCmax检查编程计数器PC。编程限制值的一个例子是二十;也可以使用其他数字。如果编程计数器PC不小于PCmax,则编程处理已经失败,并在步骤1555中报告“失败”状态。如果编程计数器PC小于PCmax,则在步骤1560中,VPGM将被增加步长大小,并且编程计数器PC递增。然后处理循环回到步骤1530以施加下一VPGM脉冲。
图16a绘出在编程期间施加到非易失性存储元件的控制栅极的示例脉冲串,其中同时对奇数和偶数位线进行验证操作。脉冲串1600包括施加到被选择用于编程的字线的一系列编程脉冲1602、1604、1606、1608、1610......。在一个实施例中,编程脉冲具有电压VPGM,其开始于12V并且对于每个相继的编程脉冲增加增量例如0.5V,直到达到最大例如20-25V。在编程脉冲之间是验证脉冲,例如三个验证脉冲。在一些实施例中,可以存在对于数据正被编程到的例如状态A、B和C的每个状态的验证脉冲。在其他实施例中,可以存在更多或更少的验证脉冲。每个集合中的验证脉冲可以具有例如VVERIFY-A、VVERIFY-B和VVERIFY-C的幅度(图3)。示例的验证脉冲集1603被施加到奇数和偶数位线两者的存储元件。
图16b绘出在编程期间施加到非易失性存储元件的控制栅极的示例脉冲串,其中分别对奇数和偶数位线进行验证操作。脉冲串1640包括施加到被选择用于编程的字线的一系列编程脉冲1642、1644、1646、1648、1650......。示例的验证脉冲集1643被施加到奇数位线的存储元件,并且示例的验证脉冲集1645被施加到偶数位线的存储元件。
已经为了图示和描述的目的给出了本发明的以上详细描述。不意图穷尽或将本发明限制到公开的精确形式。根据以上教导,许多修改和变化是可能的。选择所述的实施例以便最佳地说明本发明的原理及其实际应用,由此使本领域技术人员能够在各种实施例中以及通过适用于意图的具体使用的各种修改最佳地利用本发明。旨在本发明的范围由附于此的权利要求定义。

Claims (15)

1.一种操作非易失性存储器的方法,包括:
将一个或多个擦除脉冲(Verase1-Verase8)施加到非易失性存储元件集合(1100),直到满足第一验证条件(Verase verify);
确定施加的擦除脉冲的计数(Nerase);以及
将数量为Nspgm-skip的一个或多个软编程脉冲(Vspgm1-Vspgm5)施加到所述非易失性存储元件集合而不进行验证操作,随后将一个或多个另外的软编程脉冲(Vspgm6-Vspgm15)施加到所述非易失性存储元件集合,直到满足第二验证条件(Vspgm verify),所述Nspgm-skip基于所述计数,所述一个或多个另外的软编程脉冲的每个软编程脉冲后跟有验证操作(710、712、714、810、812)。
2.如权利要求1的方法,还包括:
基于所述计数,将所述非易失性存储元件集合分类到多个可用组(G1、G2、G3)中的一组中,其中Nspgm-skip基于所述非易失性存储元件集合被分类到的组。
3.如权利要求1或2所述的方法,还包括:
响应于满足第二验证条件,将所述集合中的至少一个非易失性存储元件编程到更高数据状态(A、B、C)。
4.如权利要求1或2所述的方法,其中:
Nspgm-skip基于在多个擦除操作(1002)中施加的擦除脉冲的计数。
5.如权利要求1或2所述的方法,其中:
所述非易失性存储元件集合具有当满足第一验证条件时至少部分地在已擦除状态(442)以下的第一阈值电压分布(440)以及当满足第二验证条件时在已擦除状态处的第二更收紧的阈值电压分布(442)。
6.如权利要求1或2所述的方法,其中:
基于所述计数设置所述一个或多个软编程脉冲的第一软编程脉冲(Vspgm1)的电平。
7.如权利要求1或2所述的方法,其中:
基于所述计数设置所述一个或多个软编程脉冲的步长大小。
8.如权利要求1或2所述的方法,其中:
基于所述计数设置所述一个或多个软编程脉冲的脉冲宽度。
9.如权利要求1或2所述的方法,其中:
基于所述计数设置对软编程脉冲数量的最大限制(Max allowed)。
10.如权利要求1或2所述的方法,其中:
施加一个或多个擦除脉冲是第一擦除序列的擦除操作(700、713)的部分,并且施加数量为Nspgm-skip的一个或多个软编程脉冲是第一擦除序列的软编程操作(800、820、840、860、880)的部分。
11.如权利要求10的方法,还包括:
进行其中基于所述计数跳过多个验证脉冲的第二擦除序列的另外的擦除操作。
12.一种非易失性存储装置,包括:
非易失性存储元件集合(1100);
用于将一个或多个擦除脉冲(Verase1-Verase8)施加到所述非易失性存储元件集合直到满足第一验证条件(Verase verify)的部件(1210、1250);
用于确定施加的擦除脉冲的计数(Nerase)的部件(1210,1250);以及
用于将数量为Nspgm-skip的一个或多个软编程脉冲(Vspgm1-Vspgm5)施加到所述非易失性存储元件集合而不进行验证操作、随后将一个或多个另外的软编程脉冲(Vspgm6-Vspgm15)施加到所述非易失性存储元件集合直到满足第二验证条件(Vspgm verify)的部件(1210,1250),所述Nspgm-skip基于所述计数,所述一个或多个另外的软编程脉冲的每个软编程脉冲后跟有验证操作(710、712、714、810、812)。
13.如权利要求12所述的非易失性存储装置,还包括:
用于基于所述计数将所述非易失性存储元件集合分类到多个可用组中的一组(G1、G2、G3)中的部件,其中Nspgm-skip基于所述非易失性存储元件集合被分类到的组。
14.如权利要求12或13所述的非易失性存储装置,其中:
施加一个或多个擦除脉冲是第一擦除序列的擦除操作(700、713)的部分,并且施加数量为Nspgm-skip的一个或多个软编程脉冲是第一擦除序列的软编程操作(800、820、840、860、880)的部分。
15.如权利要求12或13所述的非易失性存储装置,其中:
基于所述计数设置所述一个或多个软编程脉冲的至少一个的电平、步长大小和脉冲宽度中的至少一个。
CN200980154949.4A 2008-12-11 2009-09-23 存储器的适应性擦除和软编程 Active CN102292775B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/332,646 2008-12-11
US12/332,646 US7839690B2 (en) 2008-12-11 2008-12-11 Adaptive erase and soft programming for memory
PCT/US2009/058002 WO2010068323A1 (en) 2008-12-11 2009-09-23 Adaptive erase and soft programming for memory

Publications (2)

Publication Number Publication Date
CN102292775A CN102292775A (zh) 2011-12-21
CN102292775B true CN102292775B (zh) 2014-05-21

Family

ID=41347840

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980154949.4A Active CN102292775B (zh) 2008-12-11 2009-09-23 存储器的适应性擦除和软编程

Country Status (7)

Country Link
US (2) US7839690B2 (zh)
EP (1) EP2368248B1 (zh)
JP (1) JP5250117B2 (zh)
KR (1) KR101565563B1 (zh)
CN (1) CN102292775B (zh)
TW (1) TWI494931B (zh)
WO (1) WO2010068323A1 (zh)

Families Citing this family (128)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8189396B2 (en) 2006-12-14 2012-05-29 Mosaid Technologies Incorporated Word line driver in a hierarchical NOR flash memory
KR101348173B1 (ko) * 2007-05-25 2014-01-08 삼성전자주식회사 플래시 메모리 장치, 그것의 소거 및 프로그램 방법들,그리고 그것을 포함한 메모리 시스템
US8650352B2 (en) 2007-09-20 2014-02-11 Densbits Technologies Ltd. Systems and methods for determining logical values of coupled flash memory cells
US8365040B2 (en) 2007-09-20 2013-01-29 Densbits Technologies Ltd. Systems and methods for handling immediate data errors in flash memory
US8694715B2 (en) 2007-10-22 2014-04-08 Densbits Technologies Ltd. Methods for adaptively programming flash memory devices and flash memory systems incorporating same
US8443242B2 (en) 2007-10-25 2013-05-14 Densbits Technologies Ltd. Systems and methods for multiple coding rates in flash devices
WO2009072105A2 (en) 2007-12-05 2009-06-11 Densbits Technologies Ltd. A low power chien-search based bch/rs decoding system for flash memory, mobile communications devices and other applications
WO2009072102A2 (en) 2007-12-05 2009-06-11 Densbits Technologies Ltd. System and methods employing mock thresholds to generate actual reading thresholds in flash memory devices
US8335977B2 (en) 2007-12-05 2012-12-18 Densbits Technologies Ltd. Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated BCH codes and/or designation of “first below” cells
US8276051B2 (en) 2007-12-12 2012-09-25 Densbits Technologies Ltd. Chien-search system employing a clock-gating scheme to save power for error correction decoder and other applications
WO2009074978A2 (en) 2007-12-12 2009-06-18 Densbits Technologies Ltd. Systems and methods for error correction and decoding on multi-level physical media
US8327246B2 (en) 2007-12-18 2012-12-04 Densbits Technologies Ltd. Apparatus for coding at a plurality of rates in multi-level flash memory systems, and methods useful in conjunction therewith
WO2009118720A2 (en) 2008-03-25 2009-10-01 Densbits Technologies Ltd. Apparatus and methods for hardware-efficient unbiased rounding
US8332725B2 (en) 2008-08-20 2012-12-11 Densbits Technologies Ltd. Reprogramming non volatile memory portions
US7839690B2 (en) * 2008-12-11 2010-11-23 Sandisk Corporation Adaptive erase and soft programming for memory
US8250417B2 (en) * 2009-01-14 2012-08-21 Micron Technology, Inc. Method for detecting flash program failures
KR101005145B1 (ko) * 2009-03-06 2011-01-04 주식회사 하이닉스반도체 불휘발성 메모리 소자의 프로그램 방법
US8458574B2 (en) 2009-04-06 2013-06-04 Densbits Technologies Ltd. Compact chien-search based decoding apparatus and method
US8819385B2 (en) 2009-04-06 2014-08-26 Densbits Technologies Ltd. Device and method for managing a flash memory
US8566510B2 (en) 2009-05-12 2013-10-22 Densbits Technologies Ltd. Systems and method for flash memory management
JP5316299B2 (ja) * 2009-08-07 2013-10-16 富士通セミコンダクター株式会社 半導体メモリ、システムおよび半導体メモリの動作方法
US8305812B2 (en) * 2009-08-26 2012-11-06 Densbits Technologies Ltd. Flash memory module and method for programming a page of flash memory cells
US9330767B1 (en) * 2009-08-26 2016-05-03 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory module and method for programming a page of flash memory cells
US8995197B1 (en) 2009-08-26 2015-03-31 Densbits Technologies Ltd. System and methods for dynamic erase and program control for flash memory device memories
US8868821B2 (en) 2009-08-26 2014-10-21 Densbits Technologies Ltd. Systems and methods for pre-equalization and code design for a flash memory
US8730729B2 (en) 2009-10-15 2014-05-20 Densbits Technologies Ltd. Systems and methods for averaging error rates in non-volatile devices and storage systems
US8724387B2 (en) 2009-10-22 2014-05-13 Densbits Technologies Ltd. Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages
US8626988B2 (en) 2009-11-19 2014-01-07 Densbits Technologies Ltd. System and method for uncoded bit error rate equalization via interleaving
US9037777B2 (en) 2009-12-22 2015-05-19 Densbits Technologies Ltd. Device, system, and method for reducing program/read disturb in flash arrays
US8607124B2 (en) 2009-12-24 2013-12-10 Densbits Technologies Ltd. System and method for setting a flash memory cell read threshold
US8700970B2 (en) 2010-02-28 2014-04-15 Densbits Technologies Ltd. System and method for multi-dimensional decoding
US8527840B2 (en) 2010-04-06 2013-09-03 Densbits Technologies Ltd. System and method for restoring damaged data programmed on a flash device
US8516274B2 (en) 2010-04-06 2013-08-20 Densbits Technologies Ltd. Method, system and medium for analog encryption in a flash memory
US8745317B2 (en) 2010-04-07 2014-06-03 Densbits Technologies Ltd. System and method for storing information in a multi-level cell memory
US9021177B2 (en) 2010-04-29 2015-04-28 Densbits Technologies Ltd. System and method for allocating and using spare blocks in a flash memory
JP2011258260A (ja) * 2010-06-07 2011-12-22 Toshiba Corp 不揮発性半導体記憶装置
US8539311B2 (en) 2010-07-01 2013-09-17 Densbits Technologies Ltd. System and method for data recovery in multi-level cell memories
US8468431B2 (en) 2010-07-01 2013-06-18 Densbits Technologies Ltd. System and method for multi-dimensional encoding and decoding
JP5566797B2 (ja) * 2010-07-02 2014-08-06 株式会社東芝 不揮発性半導体記憶装置
US8467249B2 (en) 2010-07-06 2013-06-18 Densbits Technologies Ltd. Systems and methods for storing, retrieving, and adjusting read thresholds in flash memory storage system
US8351276B2 (en) * 2010-07-13 2013-01-08 Freescale Semiconductor, Inc. Soft program of a non-volatile memory block
US8964464B2 (en) 2010-08-24 2015-02-24 Densbits Technologies Ltd. System and method for accelerated sampling
US8508995B2 (en) 2010-09-15 2013-08-13 Densbits Technologies Ltd. System and method for adjusting read voltage thresholds in memories
JP2012069186A (ja) * 2010-09-22 2012-04-05 Toshiba Corp 不揮発性半導体記憶装置
US9063878B2 (en) 2010-11-03 2015-06-23 Densbits Technologies Ltd. Method, system and computer readable medium for copy back
US8850100B2 (en) 2010-12-07 2014-09-30 Densbits Technologies Ltd. Interleaving codeword portions between multiple planes and/or dies of a flash memory device
US8391068B2 (en) * 2010-12-20 2013-03-05 Texas Instruments Incorporated Adaptive programming for flash memories
US10079068B2 (en) 2011-02-23 2018-09-18 Avago Technologies General Ip (Singapore) Pte. Ltd. Devices and method for wear estimation based memory management
US8693258B2 (en) 2011-03-17 2014-04-08 Densbits Technologies Ltd. Obtaining soft information using a hard interface
US8990665B1 (en) 2011-04-06 2015-03-24 Densbits Technologies Ltd. System, method and computer program product for joint search of a read threshold and soft decoding
JP4902002B1 (ja) 2011-04-20 2012-03-21 株式会社東芝 不揮発性半導体記憶装置
US8996790B1 (en) 2011-05-12 2015-03-31 Densbits Technologies Ltd. System and method for flash memory management
US9372792B1 (en) 2011-05-12 2016-06-21 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9195592B1 (en) 2011-05-12 2015-11-24 Densbits Technologies Ltd. Advanced management of a non-volatile memory
US9396106B2 (en) 2011-05-12 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9501392B1 (en) 2011-05-12 2016-11-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of a non-volatile memory module
US9110785B1 (en) 2011-05-12 2015-08-18 Densbits Technologies Ltd. Ordered merge of data sectors that belong to memory space portions
US8667211B2 (en) 2011-06-01 2014-03-04 Densbits Technologies Ltd. System and method for managing a non-volatile memory
US8456911B2 (en) 2011-06-07 2013-06-04 Sandisk Technologies Inc. Intelligent shifting of read pass voltages for non-volatile storage
US8588003B1 (en) 2011-08-01 2013-11-19 Densbits Technologies Ltd. System, method and computer program product for programming and for recovering from a power failure
US8553468B2 (en) * 2011-09-21 2013-10-08 Densbits Technologies Ltd. System and method for managing erase operations in a non-volatile memory
US8488382B1 (en) * 2011-12-21 2013-07-16 Sandisk Technologies Inc. Erase inhibit for 3D non-volatile memory
US8996788B2 (en) 2012-02-09 2015-03-31 Densbits Technologies Ltd. Configurable flash interface
US8947941B2 (en) 2012-02-09 2015-02-03 Densbits Technologies Ltd. State responsive operations relating to flash memory cells
US8996793B1 (en) 2012-04-24 2015-03-31 Densbits Technologies Ltd. System, method and computer readable medium for generating soft information
US8838937B1 (en) 2012-05-23 2014-09-16 Densbits Technologies Ltd. Methods, systems and computer readable medium for writing and reading data
US8879325B1 (en) 2012-05-30 2014-11-04 Densbits Technologies Ltd. System, method and computer program product for processing read threshold information and for reading a flash memory module
US8971125B2 (en) 2012-07-02 2015-03-03 Micron Technology, Inc. Erase operations with erase-verify voltages based on where in the erase operations an erase cycle occurs
KR102009435B1 (ko) * 2012-08-24 2019-08-12 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
US9921954B1 (en) 2012-08-27 2018-03-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for split flash memory management between host and storage controller
US9368225B1 (en) 2012-11-21 2016-06-14 Avago Technologies General Ip (Singapore) Pte. Ltd. Determining read thresholds based upon read error direction statistics
US9069659B1 (en) 2013-01-03 2015-06-30 Densbits Technologies Ltd. Read threshold determination using reference read threshold
US8971128B2 (en) 2013-01-31 2015-03-03 Sandisk Technologies Inc. Adaptive initial program voltage for non-volatile memory
US9070474B2 (en) 2013-02-14 2015-06-30 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory device
US8879330B1 (en) * 2013-04-30 2014-11-04 Freescale Semiconductor, Inc. Non-volatile memory (NVM) with variable verify operations
US9240224B2 (en) 2013-04-30 2016-01-19 Freescale Semiconductor, Inc. Non-volatile memory (NVM) with variable verify operations
US9183940B2 (en) 2013-05-21 2015-11-10 Aplus Flash Technology, Inc. Low disturbance, power-consumption, and latency in NAND read and program-verify operations
US9136876B1 (en) 2013-06-13 2015-09-15 Densbits Technologies Ltd. Size limited multi-dimensional decoding
US9263137B2 (en) 2013-06-27 2016-02-16 Aplus Flash Technology, Inc. NAND array architecture for multiple simutaneous program and read
WO2015013689A2 (en) 2013-07-25 2015-01-29 Aplus Flash Technology, Inc. Nand array hiarchical bl structures for multiple-wl and all -bl simultaneous erase, erase-verify, program, program-verify, and read operations
US9343172B2 (en) 2013-08-13 2016-05-17 Freescale Semiconductor, Inc. Extended protection for embedded erase of non-volatile memory cells
US9293205B2 (en) 2013-09-14 2016-03-22 Aplus Flash Technology, Inc Multi-task concurrent/pipeline NAND operations on all planes
US9413491B1 (en) 2013-10-08 2016-08-09 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for multiple dimension decoding and encoding a message
US9397706B1 (en) 2013-10-09 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for irregular multiple dimension decoding and encoding
US9786388B1 (en) 2013-10-09 2017-10-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9348694B1 (en) 2013-10-09 2016-05-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9613704B2 (en) 2013-12-25 2017-04-04 Aplus Flash Technology, Inc 2D/3D NAND memory array with bit-line hierarchical structure for multi-page concurrent SLC/MLC program and program-verify
US9536612B1 (en) 2014-01-23 2017-01-03 Avago Technologies General Ip (Singapore) Pte. Ltd Digital signaling processing for three dimensional flash memory arrays
US10120792B1 (en) 2014-01-29 2018-11-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Programming an embedded flash storage device
KR102116674B1 (ko) * 2014-03-21 2020-06-08 삼성전자주식회사 비휘발성 메모리 장치 및 그것을 포함하는 저장 장치 및 그것의 동작 방법
CN105006252A (zh) * 2014-04-17 2015-10-28 晶豪科技股份有限公司 抹除非易失性存储器的方法
US9542262B1 (en) 2014-05-29 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Error correction
US9892033B1 (en) 2014-06-24 2018-02-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of memory units
US9972393B1 (en) 2014-07-03 2018-05-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Accelerating programming of a flash memory module
US9584159B1 (en) 2014-07-03 2017-02-28 Avago Technologies General Ip (Singapore) Pte. Ltd. Interleaved encoding
US9449702B1 (en) 2014-07-08 2016-09-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Power management
WO2016014731A1 (en) 2014-07-22 2016-01-28 Aplus Flash Technology, Inc. Yukai vsl-based vt-compensation for nand memory
US9257191B1 (en) 2014-08-29 2016-02-09 Sandisk Technologies Inc. Charge redistribution during erase in charge trapping memory
US9524211B1 (en) 2014-11-18 2016-12-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Codeword management
US9552885B2 (en) 2014-12-10 2017-01-24 Sandisk Technologies Llc Partial block erase for open block reading in non-volatile memory
US9543023B2 (en) 2015-01-23 2017-01-10 Sandisk Technologies Llc Partial block erase for block programming in non-volatile memory
US10305515B1 (en) 2015-02-02 2019-05-28 Avago Technologies International Sales Pte. Limited System and method for encoding using multiple linear feedback shift registers
CN105989895B (zh) * 2015-02-03 2019-03-15 华邦电子股份有限公司 快闪存储器晶圆测试方法以及机台
US9236139B1 (en) 2015-02-11 2016-01-12 Sandisk Technologies Inc. Reduced current program verify in non-volatile memory
US9343160B1 (en) 2015-02-11 2016-05-17 Sandisk Technologies Inc. Erase verify in non-volatile memory
KR20160108770A (ko) * 2015-03-06 2016-09-20 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
US10628255B1 (en) 2015-06-11 2020-04-21 Avago Technologies International Sales Pte. Limited Multi-dimensional decoding
CN106328212B (zh) * 2015-07-01 2019-09-24 华邦电子股份有限公司 快闪存储器晶片测试方法以及中测台
US9851921B1 (en) 2015-07-05 2017-12-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory chip processing
FR3039921B1 (fr) * 2015-08-06 2018-02-16 Stmicroelectronics (Rousset) Sas Procede et systeme de controle d'une operation d'ecriture d'une donnee dans une cellule-memoire du type eeprom
JP6088602B2 (ja) * 2015-08-12 2017-03-01 ウィンボンド エレクトロニクス コーポレーション 不揮発性半導体記憶装置
KR102347182B1 (ko) * 2015-09-04 2022-01-04 삼성전자주식회사 메모리 장치, 메모리 시스템, 상기 메모리 장치의 동작 방법 및 상기 메모리 시스템의 동작 방법
JP6144741B2 (ja) * 2015-09-28 2017-06-07 ウィンボンド エレクトロニクス コーポレーション 不揮発性半導体メモリ
TWI596477B (zh) 2015-12-18 2017-08-21 群聯電子股份有限公司 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置
US9954558B1 (en) 2016-03-03 2018-04-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Fast decoding of data stored in a flash memory
US9852800B2 (en) * 2016-03-07 2017-12-26 Sandisk Technologies Llc Adaptive determination of program parameter using program of erase rate
US10074440B2 (en) 2016-10-28 2018-09-11 Sandisk Technologies Llc Erase for partially programmed blocks in non-volatile memory
US10379769B2 (en) * 2016-12-30 2019-08-13 Western Digital Technologies, Inc. Continuous adaptive calibration for flash memory devices
US10522229B2 (en) 2017-08-30 2019-12-31 Micron Technology, Inc. Secure erase for data corruption
KR102524916B1 (ko) * 2018-03-13 2023-04-26 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
KR102513498B1 (ko) * 2018-04-06 2023-03-24 에스케이하이닉스 주식회사 컨트롤러, 그것의 동작방법 및 컨트롤러를 포함하는 메모리 시스템
US10747909B2 (en) * 2018-09-25 2020-08-18 Northrop Grumman Systems Corporation System architecture to mitigate memory imprinting
KR20210111584A (ko) * 2020-03-03 2021-09-13 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 동작 방법
US11342029B2 (en) 2020-09-28 2022-05-24 Sandisk Technologies Llc Non-volatile memory with switchable erase methods
KR20220076974A (ko) * 2020-12-01 2022-06-08 삼성전자주식회사 비휘발성 메모리 장치 및 이의 프로그램 방법
US11475957B2 (en) * 2021-01-14 2022-10-18 Sandisk Technologies Llc Optimized programming with a single bit per memory cell and multiple bits per memory cell
US20230223087A1 (en) * 2022-01-12 2023-07-13 Sandisk Technologies Llc Hybrid multi-block erase technique to improve erase speed in a memory device
US11972805B2 (en) 2022-08-05 2024-04-30 Sandisk Technologies Llc Non-volatile memory with narrow and shallow erase

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101023497A (zh) * 2004-08-30 2007-08-22 斯班逊有限公司 非易失性存储装置以及用于该存储装置的擦除方法
CN101213614A (zh) * 2005-03-31 2008-07-02 桑迪士克股份有限公司 使用个别验证擦除非易失性存储器和额外擦除存储器单元的子组

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5268870A (en) 1988-06-08 1993-12-07 Eliyahou Harari Flash EEPROM system and intelligent programming and erasing methods therefor
US5270979A (en) 1991-03-15 1993-12-14 Sundisk Corporation Method for optimum erasing of EEPROM
JP3088247B2 (ja) * 1994-09-12 2000-09-18 日本電気株式会社 不揮発性半導体記憶装置及びその消去方法
KR100323554B1 (ko) 1997-05-14 2002-03-08 니시무로 타이죠 불휘발성반도체메모리장치
US6452836B1 (en) 2001-03-09 2002-09-17 Micron Technology, Inc. Non-volatile memory device with erase cycle register
US6614695B2 (en) * 2001-08-24 2003-09-02 Micron Technology, Inc. Non-volatile memory with block erase
JP2003242787A (ja) 2002-02-14 2003-08-29 Mitsubishi Electric Corp 不揮発性半導体記憶装置
US6639844B1 (en) * 2002-03-13 2003-10-28 Advanced Micro Devices, Inc. Overerase correction method
US6901010B1 (en) * 2002-04-08 2005-05-31 Advanced Micro Devices, Inc. Erase method for a dual bit memory cell
JP4170682B2 (ja) 2002-06-18 2008-10-22 株式会社東芝 不揮発性半導体メモリ装置
JP2004334994A (ja) * 2003-05-09 2004-11-25 Renesas Technology Corp 半導体集積回路装置
US7200708B1 (en) 2003-12-31 2007-04-03 Intel Corporation Apparatus and methods for storing data which self-compensate for erase performance degradation
US6888758B1 (en) * 2004-01-21 2005-05-03 Sandisk Corporation Programming non-volatile memory
ITMI20041904A1 (it) * 2004-10-07 2005-01-07 Atmel Corp "metodo e sistema per un approccio di programmazione per un dispositivo elettronico non volatile"
US7408804B2 (en) 2005-03-31 2008-08-05 Sandisk Corporation Systems for soft programming non-volatile memory utilizing individual verification and additional soft programming of subsets of memory cells
ITMI20050798A1 (it) * 2005-05-03 2006-11-04 Atmel Corp Metodo e sistema per la generazi0ne di impulsi di programmazione durante la programmazione di dispositivi elettronici non volatili
US7339834B2 (en) 2005-06-03 2008-03-04 Sandisk Corporation Starting program voltage shift with cycling of non-volatile memory
TWI286318B (en) * 2005-10-04 2007-09-01 Elite Semiconductor Esmt An erase method to reduce erase time and to prevent over-erase
JP2008084471A (ja) 2006-09-28 2008-04-10 Toshiba Corp 半導体記憶装置
JP2008135100A (ja) 2006-11-28 2008-06-12 Toshiba Corp 半導体記憶装置及びそのデータ消去方法
US7385851B1 (en) * 2006-12-22 2008-06-10 Spansion Llc Repetitive erase verify technique for flash memory devices
US7414891B2 (en) 2007-01-04 2008-08-19 Atmel Corporation Erase verify method for NAND-type flash memories
CN102005244B (zh) * 2007-02-20 2015-10-21 桑迪士克科技公司 非易失性存储的可变编程
US7616500B2 (en) 2007-02-20 2009-11-10 Sandisk Corporation Non-volatile storage apparatus with multiple pass write sequence
US7679961B2 (en) 2007-04-25 2010-03-16 Micron Technology, Inc. Programming and/or erasing a memory device in response to its program and/or erase history
KR100953045B1 (ko) * 2008-05-23 2010-04-14 주식회사 하이닉스반도체 불휘발성 메모리 장치의 프로그램 방법
US7978527B2 (en) * 2008-06-03 2011-07-12 Sandisk Technologies Inc. Verification process for non-volatile storage
US7839690B2 (en) 2008-12-11 2010-11-23 Sandisk Corporation Adaptive erase and soft programming for memory
US8036044B2 (en) * 2009-07-16 2011-10-11 Sandisk Technologies Inc. Dynamically adjustable erase and program levels for non-volatile memory

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101023497A (zh) * 2004-08-30 2007-08-22 斯班逊有限公司 非易失性存储装置以及用于该存储装置的擦除方法
CN101213614A (zh) * 2005-03-31 2008-07-02 桑迪士克股份有限公司 使用个别验证擦除非易失性存储器和额外擦除存储器单元的子组

Also Published As

Publication number Publication date
KR101565563B1 (ko) 2015-11-03
US8081519B2 (en) 2011-12-20
TW201027543A (en) 2010-07-16
US20110019483A1 (en) 2011-01-27
US20100149881A1 (en) 2010-06-17
CN102292775A (zh) 2011-12-21
JP2012511790A (ja) 2012-05-24
US7839690B2 (en) 2010-11-23
TWI494931B (zh) 2015-08-01
KR20110106874A (ko) 2011-09-29
EP2368248A1 (en) 2011-09-28
EP2368248B1 (en) 2012-10-24
JP5250117B2 (ja) 2013-07-31
WO2010068323A1 (en) 2010-06-17

Similar Documents

Publication Publication Date Title
CN102292775B (zh) 存储器的适应性擦除和软编程
CN102160119B (zh) 非易失性存储器中感测期间的基于数据状态的温度补偿
CN102037516B (zh) 用于增加非易失性存储器中的沟道升压的增强的位线预充电方案
CN102150216B (zh) 具有降低的数据存储要求的存储器的多遍编程
CN102099867B (zh) 非易失性存储器的擦除-验证处理
CN102187399B (zh) 使用字线耦合的用于存储器的多趟次编程
CN101584006B (zh) 非易失性存储器中的经分割的软编程
CN100568392C (zh) 用于非易失性存储器的自升压技术
CN102138181B (zh) 非易失性存储器以及其操作方法
CN102576566B (zh) 使用浮置位线对非易失性存储器的部分速度和全速度编程
CN102027548B (zh) 具有用于编程、验证和读取的参考电压电平的适应性设置的非易失性多电平存储器
CN101006519B (zh) 非易失性存储器系统及其编程的方法
CN102177554B (zh) 补偿在非易失性存储器中的读操作期间的耦合
CN102138182B (zh) 编程并选择性地擦除非易失性存储器
CN102160118B (zh) 非易失性存储器阵列的最后字线的数据保持的改进
CN101796590B (zh) 具有源极偏压全位线感测的非易失性存储器
CN101796591B (zh) 使用针对改进感测的不同参考电平的非易失性存储器中的粗略/精细编程验证
CN102906820A (zh) 用同步耦合编程非易失性存储器
CN101199024B (zh) 利用改变字线条件来补偿较慢擦除的存储器单元以擦除非易失性存储器
CN102549673A (zh) 用较小通道电压干扰和浮栅极到控制栅极泄漏对存储器编程
CN101095197A (zh) 浮动栅极之间的耦合效应减小的nand电可擦除可编程只读存储器
CN102005244A (zh) 非易失性存储的可变编程
CN101213614A (zh) 使用个别验证擦除非易失性存储器和额外擦除存储器单元的子组
CN101779250B (zh) 编程脉冲持续期的智能控制
CN101218651A (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
ASS Succession or assignment of patent right

Owner name: SANDISK TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: SANDISK CORP.

Effective date: 20120621

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20120621

Address after: The United States of America Texas

Applicant after: Sandisk Corp.

Address before: American California

Applicant before: Sandisk Corp.

C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: texas

Patentee after: DELPHI INT OPERATIONS LUX SRL

Address before: texas

Patentee before: Sandisk Corp.