CN102138181B - 非易失性存储器以及其操作方法 - Google Patents

非易失性存储器以及其操作方法 Download PDF

Info

Publication number
CN102138181B
CN102138181B CN200980133552.7A CN200980133552A CN102138181B CN 102138181 B CN102138181 B CN 102138181B CN 200980133552 A CN200980133552 A CN 200980133552A CN 102138181 B CN102138181 B CN 102138181B
Authority
CN
China
Prior art keywords
programming
memory element
group
memory
programmed
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
CN200980133552.7A
Other languages
English (en)
Other versions
CN102138181A (zh
Inventor
达纳·李
迪潘舒·达塔
董颖达
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 CN102138181A publication Critical patent/CN102138181A/zh
Application granted granted Critical
Publication of CN102138181B publication Critical patent/CN102138181B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/562Multilevel memory programming aspects
    • G11C2211/5621Multilevel programming verification

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)
  • Non-Volatile Memory (AREA)

Abstract

在多遍编程处理中在非易失性存储器中减少编程时间。在第一编程遍中,通过编程一系列脉冲编程高状态单元以识别快和慢高状态单元,同时锁止较低状态单元以不被编程。一旦被识别,快高状态单元被临时锁止以不被编程,同时慢高状态单元继续被编程到其最终预定状态。另外,编程脉冲急剧地步增以编程慢高状态单元。在第二编程遍中,快高状态单元与其它较低状态单元一起被编程,直到它们所有都到达其各自的预定状态。相比于在第一编程遍中编程所有高状态单元的方法,实现了时间节省。

Description

非易失性存储器以及其操作方法
技术领域
本发明涉及非易失性存储器。
背景技术
半导体存储器已经变得越来越流行用于各种电子设备。例如,在蜂窝电话、数码相机、个人数字助理、移动计算设备、非移动计算设备和其他设备中使用非易失性半导体存储器。电可擦除可编程只读存储器(EEPROM)和闪存位列最流行的非易失性半导体存储器之间。通过也是一种EEPROM的闪存,相比于传统的、全特征的EEPROM,可以在一步中擦除整个存储器阵列或该存储器的一部分的内容。
传统的EEPROM和闪存两者都使用在半导体衬底中的沟道区域上方且与其绝缘的浮置栅极。浮置栅极位于源极和漏极区域之间。控制栅极设置在浮置栅极之上且与其隔离(insulated)开。如此形成的晶体管的阈值电压(VTH)受浮置栅极上保留的电荷量控制。也就是说,在导通晶体管以允许其源极和漏极之间的导电之前必须被施加到控制栅极的最小量的电压受浮置栅极上的电荷水平的控制。
一些EEPROM和闪存器件具有用于擦除两个范围的电荷的浮置栅极,且因此,可以在两个状态、例如擦除状态和已编程状态之间编程/擦除该存储器元件。这种闪存器件有时被称为二进制闪存器件,因为每个存储器元件可以擦除一位数据。
通过识别不同的已允许/有效的已编程阈值电压范围来实现多状态(也称为多电平)闪存器件。每个不同的阈值范围对应于在存储器器件中编码的该组数据位的预定值。例如,每个存储器元件当该元件可以位于对应于四个不同的阈值范围的四个离散的电荷带之一中时可以擦除两位数据。
典型地,在编程操作器件被施加到控制栅极的编程电压VPGM被施加作为随时间量值增加的一系列脉冲。在一个可能的方法中,通过预定步长、例如0.2-0.4V来随着每个连续脉冲而增加脉冲的量值。可以向闪存元件的控制栅极施加VPGM。在编程脉冲之间的时间段中,进行验证操作。也就是说,在连续编程脉冲之间读取正被并行编程的一群元件的每个元件的编程电平,以确定其是否等于或大于该元件正被编程到的验证电平。对于多状态闪存元件的阵列,可以对元件的每个状态进行验证步骤,以确定该元件已经到达了其数据相关的验证电平。例如,能够在四个状态中存储数据的多状态存储器元件可能需要进行对三个比较点的验证操作。
另外,当编程EEPROM或闪存器件、例如在NAND串中的NAND闪存器件时,典型地,VPGM被施加到控制栅极,且位线接地,使得电子从单元或存储器元件、例如存储元件的沟道注入到浮置栅极中。当电子在浮置栅极中累积时,浮置栅极变为充负电,且存储器元件的阈值电压升高以便存储器元件被考虑为处于已编程状态中。关于这种编程的更多信息可以在美国专利6,859,397和6,917,542中找到,两者整体被引用附于此。
但是,继续有问题的一个问题是编程干扰。编程干扰可能发生在编程其它NAND串期间的禁止的NAND串中,且有时发生在已编程NAND串本身中。编程干扰在未选非易失性存储元件的阈值电压由于其它非易失性存储元件的编程而漂移时发生。可能在先前已编程的存储元件以及还没有编程的已擦除存储元件上发生编码干扰。多遍编程技术可以通过更逐渐地编程存储元件来减少编程干扰。但是,编程时间增加了。
发明内容
本发明通过提供减少非易失性存储系统中的编程干扰同时也减少编程时间的编程技术来解决了上述和其它问题。
在一个实施例中,一种用于操作非易失性存储器的方法,包括:使用第一验证电平减去偏移量来对第一组存储器元件进行编程操作,以区分较慢和较快编程的存储器元件,同时锁止至少第二组存储器元件以不被编程。该方法还包括锁止较快编程的存储元件,同时使用第一验证电平来继续对较慢编程存储元件编程,且同时继续锁止至少第二组存储元件。还方法还包括锁止较慢编程的存储元件,同时使用第一验证电平来恢复对较慢编程存储元件编程,且同时使用小于第一验证电平减去偏移量的至少第二验证电平来对至少第二组存储元件编程。
在另一个实施例中,一种用于操作非易失性存储器的方法,包括:编程意图被编程到与第一验证电平相关的第一数据状态的存储元件,同时锁止意图被编程到与分别低于第一验证电平的第二和第三验证电平相关的至少第二和第三数据状态的其它存储元件不被编程。该方法还包括,在编程期间,在意图被编程到第一数据状态的存储元件之间区分较低和较高编程的存储元件,且锁止较快编程的存储元件同时继续编程较低编程的存储元件。该方法还包括随后编程至少第二组存储元件到至少第二和第三数据状态,同时恢复编程较快编程的存储元件到第一数据状态,且施加用于继续编程较低编程的存储元件的编程条件,其不同于用于恢复编程较快编程的存储元件的编程条件。
在另一实施例中,一种操作非易失性存储器的方法,包括:a)编程意图被编程到与第一验证电平相关的第一数据状态的存储元件,同时锁止意图被编程到与分别低于第一验证电平的第二和第三验证电平相关的至少第二和第三数据状态的其它存储元件不被编程。该方法还包括:b)随后编程至少第二组存储元件,其中,步骤b)使用不同于步骤b)的编程条件的编程条件。
在另一个实施例中,一种非易失性存储系统,包括:第一组存储元件,和与所述第一组存储元件通信的至少一个控制电路。该至少一个控制电路:(a)使用第一验证电平减去偏移量来对第一组存储器元件进行编程操作,以区分较慢和较快编程的存储器元件,同时锁止至少第二组存储器元件以不被编程,(b)锁止较快编程的存储元件,同时使用第一验证电平来继续对较慢编程存储元件编程,且同时继续锁止至少第二组存储元件,以及(c)锁止较慢编程的存储元件,同时使用第一验证电平来恢复对较慢编程存储元件编程,且同时使用小于第一验证电平减去偏移量的至少第二验证电平来对至少第二组存储元件编程。
可以提供用于进行在此提供的方法的对应的方法、系统和计算机或处理器可读的存储器件。
附图说明
图1是NAND串的顶视图。
图2是图1的NAND串的等效电路图。
图3是NAND闪存的阵列的方框图。
图4描述在衬底上形成的NAND串的剖面图。
图5a-e描述在多遍编程技术中的存储元件的阈值电压,其中,在较低状态之前编程最高状态。
图6a-g描述在修改的多遍编程技术中的存储元件的阈值电压,其中,在较低状态之前编程最高状态。
图7a描述了在对应于图5a-d的编程序列中的编程和验证电压。
图7b描述了在对应于图5e的编程序列中的编程和验证电压。
图7c描述了在对应于图6a-d的编程序列中的编程和验证电压。
图7d描述了在对应于图6e和6f的编程序列中的编程和验证电压。
图8a和8b描述了对应于图6a-g的编程处理。
图9a描述了其中在每遍中使用不同编程条件的多遍编程处理。
图9b描述了其中在较低状态单元之前编程高状态单元的多遍编程处理。
图10描述三个不同编程技术的编程脉冲数相对验证电平的表。
图11是NAND闪存元件的阵列的方框图。
图12是使用单行/列解码器和读/写电路的非易失性存储器系统的方框图。
图13是使用双行/列解码器和读/写电路的非易失性存储器系统的方框图。
图14是描述感测块的一个实施例的方框图。
图15图示了将存储器阵列组织为对于所有位线存储器架构的块或用于奇偶存储器架构的块的例子。
图16描述了阈值电压分布和一遍(one-pass)编程的示例组。
图17描述了阈值电压分布和两遍(two-pass)编程的示例组。
图18a-c示出了各种阈值电压分布并描述用于编程非易失性存储器的处理。
具体实施方式
本发明提供减少在非易失性存储系统中的编程干扰同时也减少编程时间的编程技术。
适用于实现本发明的存储器系统的一个例子使用NAND闪存结构,其包括在两个选择门(select gate)之间串联地排列多个晶体管。串联的晶体管和选择门被称为NAND串。图1是一个NAND串的顶视图。图2是其等效电路。在图1和2中描述的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每个是存储元件,也称为存储器单元。在其他实施例中,存储元件可以包括多个晶体管或可以不同于图1和2中描述的。选择门120连接到选择线SGD。选择门122连接到选择线SGS。
图3是三个NAND串的电路图。使用NAND结构的闪存系统的典型架构将包括若干NAND串。例如,在具有多得多的NAND串的存储器阵列中示出了三个NAND串320,340和360。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"的状态。在被编程到存储元件中的数据和该元件的阈值电压范围之间的具体关系取决于适用于存储元件的数据编码机制。例如,两个被整体引用附于此的美国专利US6,222,762和US7,237,074描述了用于多状态闪存元件的各种数据编码机制。
NAND型闪存和其操作的相关例子在美国专利No.US5,386,422,US5,570,315,US5,774,397,US6,046,935,US6,456,528和US6,522,580中提供,其每个被引用附于此。
当编程闪存元件时,向存储元件的控制栅极施加编程电压,且与存储元件相关联的位线接地。来自该沟道的电子被注入浮置栅极。当电子在浮置栅极中累积时,浮置栅极变为充负电,且存储元件的VTH升高。为了向正被编程的控制栅极施加编程电压,该编程电压被施加到适当的字线的存储元件。如上所述,在每个NAND串中的存储元件共享相同字线。例如,当编程图3的存储元件324时,编程电压也将被施加到存储元件344和364的控制栅极。
但是,编程干扰可能发生在编程其他NAND串期间的禁止的NAND串中,且有时发生在已编程NAND串本身中。编程干扰在未选非易失性存储元件的阈值电压由于其他非易失性存储元件的编程而漂移时发生。可能在先前已编程的存储元件以及还没有编程的已擦除存储元件上发生编码干扰。各种编程干扰机制可以限制诸如NAND闪存的非易失性存储器件的可用操作窗。
例如,如果NAND串320被禁止(例如,其是不包括当前正被编程的存储元件的未选NAND串)且NAND串340正被编程(例如,其是包括当前正被编程的存储元件的所选NAND串),可能在NAND串320处编程干扰。例如,如果通过电压(pass voltage)VPASS低,禁止NAND串的沟道未被很好地升压,且未选NAND串的已选字线可能无意地被编程。在另一可能场景中,升压的电压可以被栅极感应漏极泄露(Gate Induced Drain Leakage)(GIDL)或其他泄露机制降低,导致相同的问题。由于诸如与稍后被编程的其他相邻存储元件的电容性耦合而导致的电荷存储元件的VTH的漂移的其他影响也可能有利于编程干扰。
图4描述在衬底上形成的NAND串的剖面图。该视图被简化且不按比例。NAND串400包括在衬底490上形成的源极侧选择门406、漏极侧选择门424和八个存储元件408,410,412,414,416,418,420和422。在每个存储元件和选择门406和424的任一侧上提供其一个例子是源极漏极/区域430的多个源极/漏极区域。在一个方法中,衬底490使用三阱技术,该三阱技术包括n-阱区域494内的p-阱区域492,该n-阱区域494又处于p型衬底区域496中。可以在p-阱区域上至少部分地形成NAND串和其非易失性存储元件。除了具有VBL的电势的位线426以外,还提供具有VSOURCE的电势的源极供应线404。还可以经由端子402向p-阱区域492施加和/或经由端子403向n-阱区域494施加诸如主体偏压的电压。
在编程操作期间,在所选字线、在该例子中与存储元件414相关联的WL3上提供控制栅极电压VPGM。另外,回忆(recall)存储元件的控制栅极可以被提供为字线的一部分。例如,WL0,WL1,WL2,WL3,WL4,WLS,WL6和WL7可以分别经由存储元件408,410,412,414,416,418,420和422的控制栅极延伸。在一个可能的升压机制中,通过电压、VPASS被施加到与NAND串400相关联的剩余字线。一些升压机制向不同字线施加不同的通过电压。VSGS和VSGD分别被施加到选择门406和424。
图5a-e描述在多遍编程技术中的存储元件的阈值电压,其中,在较低状态之前编程最高状态。相反的编程序列可以减少干扰和相邻单元干涉效应的影响。这种编程技术的一个例子是"C-first(C优先)",其中C状态表示在四个数据状态、多级实施方式中的最高状态。该技术可以被扩展到八个、十六个或其它数量的状态。这种技术包括在将较低状态单元编程到其预定()状态之前将所有最高状态单元编程到其预定状态。通常,进行两遍或多遍,其中,在每个编程遍中重复编程一系列脉冲。例如,可以在每遍中施加逐步增加的编程一系列脉冲。
图5a描述了在擦除操作之后的一组非易失性存储元件的阈值电压分布。x轴描述以下四个不同状态的阈值电压(VTH):已擦除状态(E)、状态A、状态B和状态C。y轴指示在每个状态中的单元或存储元件的数量。电压验证电平也指示每个状态,即用于状态A、B和C的VV-A,VV-B and VV-C。这些附图不一定是有比例的,但是已擦除状态分布的最高量值意图指示所有单元都处于该状态。使用虚线来示出状态A、B和C以描述当前没有单元处于那些状态。图5a指示E、A、B和C单元处于已擦除状态。术语“A单元”、“B单元”或“C单元”或类似的意图分别指的是意图被编程到状态A、B或C作为在编程完成时的其最终状态的单元。
在图5b-d中描述第一编程遍的第一部分。在图5b中,B和C单元从已擦除状态被编程到称为“状态LM”(例如,中低(lower-middle))的中间或临时的状态。通常,LM状态和其它状态的阈值电压分布将具有由于对编程准确性的过度和其它限制而产生的扩散。E和A单元维持在已擦除状态。在该编程遍中,例如从初始脉冲电平开始、继续逐步到最终脉冲电平地施加编程一系列脉冲。例如,参考图7a,其描述了在第一编程遍中的编程和验证电压。x轴指示时间,且y轴指示电压。编程脉冲逐步增加,且在量值上高于验证脉冲。在第一编程遍的第一部分中,针对VV-LM(在该符号中,大写V表示电压,且下方的V-LM表示"验证"和"LM状态")来验证这些单元。已编程单元当其VTH被验证为已达到VV-LM时被锁止以不被进一步编程。在图7a的例子中,在第七个编程脉冲之后,所有B和C单元都到达来LM状态。
此时,第一编程遍的第二部分开始。如图5c中所示,仅编程C单元、例如最高状态单元。C单元从LM状态编程,且针对VV-C来验证。LM状态上的减少的幅度意图指示越来越少的单元处于LM状态。也就是说,随着C单元被编程得更高,B单元维持在LM状态。一些单元将相对快地编程,而其它由于例如单元之间的差异特性、它们在存储器器件中的相对位置和其它因素而相对慢地编程。因此,在编程期间,C单元将初始地在相对宽的阈值电压分布510中展开(spread out)。随着第一编程遍的第二部分的编程继续,C单元将被编程到C状态分布520,如图5d所示。
在第二编程遍中,经由例如所选字线向要被编程的单元再次施加该编程一系列脉冲,如图5e和图7b所示。A单元从已擦除状态被编程到A状态,而B单元从LM状态被编程到B状态。在一个方法中,在前六个编程脉冲的每个之后,仅对A单元进行验证,在接下来的七个编程脉冲的每个之后,对A和B单元进行验证,且在剩余编程脉冲的每个之后,仅对B单元进行验证。在该例子中,编程脉冲的总数是22。向完成了编程之后,实现图6f的阈值电压分布。
上述方法包括在各遍中重复整个编程一系列脉冲,如图7a和7b所示,其与例如结合图16以下讨论的一遍编程技术相比消耗额外的时间。另一方面,减少编程干扰和相邻单元干涉效应的影响。将期望维持这些益处同时减少编程时间。
一个方法包括跳过许多重复的编程脉冲,且因此减少编程时间,同时保持多遍编程技术的主要益处,如现在要详细说明的。
图6a-g描述在修改的多遍编程技术中的存储元件的阈值电压,其中,在较低状态之前编程最高状态。该提议如下地修改上述C-优先序列。在第一编程遍中,在已经将单元编程到LM状态之后,施加初始的脉冲(或一系列脉冲)以将C单元编程高达最终状态。使用VV-CLL验证电平来识别具有高VTH的每个单元,且临时地锁止它。通过适合于编程不曾被锁止的慢C单元的大的量来递增下一编程脉冲(VPGM)。通过将VPGM递增大的量,我们可以跳过脉冲且节省时间。然后,对慢C的编程继续,直到施加最高VPGM。在第二编程遍中,被临时锁止了的快C单元回到所选群体(population)。VPGM回到初始值,且再次通过最后的编程脉冲斜上升,一起编程A、B和快C单元。快C单元能够在该序列内快速地编程,且不需要额外的时间。在具体实施方式中,我们使用C-优先(或最后状态优先)编程。该技术可以适用于使用比四个编程状态更少或更多的机制。而且,可以对一个或多个高状态进行快-慢区分。
图6a描述了起始的阈值电压分布,且所有单元处于已擦除状态。还参考图7c,其描述了在对应于6a-d的编程技术中编程和验证电压。在第一编程遍的第一阶段中,所有B和C单元使用VV-LM的验证电平,从已擦除状态编程到LM状态,导致图6b的阈值电压分布。在该阶段中,在一个可能的方法中,在最小电平开始施加编程电压,且每个脉冲递增步长ΔV1。在一个可能的实施方式中,在该阶段中施加十一个编程脉冲。应该理解,提供的数值例子可以被调整以最优化具体应用。通常,在编程和验证期间使用的所有电压电平和其它参数可以被最优化用于具体应用。这包括初始和最终编程脉冲电平,各种步长和增量、在每个阶段中的编程脉冲的数量和验证电平。
在第一编程遍的第二阶段中,进行阈值电压检测以将快C单元与慢C单元分开。因此,快和慢存储器单元被识别或分组。C单元从LM状态编程到值VC1和VC2之间的阈值电压范围,如图6c所指示的。如图7c所示,在阶段2中的初始编程脉冲递进了ΔV2,且在阶段2中的每个连续编程脉冲递增了ΔV3。例如,ΔV2和ΔV3可以大于ΔV1,使得编程对C单元相对快地进行。还在第二阶段期间,针对新的验证电平VV-CLL来验证C单元,以便能够确定快和慢编程的C单元。(注意,相比于VV-CLL,VV-CL,如以下结合图6g所述,指示状态C的粗糙模式验证电平)。VV-CLL等于VV-C减去偏移量Δ,且可以被最优化用于具体应用。在示例实施方式中,在阶段2中使用三个编程脉冲;但是,取决于存储器器件的特性,可以使用一个或多个编程脉冲。使用的编程脉冲的数量应该足够用于将C单元编程到允许在快和慢编程的单元之间区分的阈值电压分布。
或者,可以根据C单元、或在一组C单元中、诸如在字线或块中的C单元的一部分的数量,基于“每种情况(per-case)”适应地确定结束阶段3的决定,其中VTH>VV-CLL。例如,可以一旦第一C单元到达VTH>VV-CLL则结束阶段2。还可以在预定数量或部分的单元到达VTH>VV-CLL之后的某种固定数量的附加编程脉冲之后结束阶段2。
在阶段2结束之后,慢C单元的阈值电压将处于VC1和VV-CLL之间的范围610中,且快C单元的阈值电压将处于在VV-CLL和VC2之间的范围620中。注意,该例子指示慢和快C单元的分布分别大约50%和50%。但是,快和慢C单元的数量不一定相等。另外,关于阈值电压分布的范围,该例子指示VC1处的分布的下端落入LM分布中。但是,这不一定,因为在VC1处的分布的下端可以在LM分布之上。另外,VC2处的C单元分布的上端被指示为处于最终C状态分布的上端处,但是其也可以更低。
在阶段2之后,第一编程遍的第三阶段发生,其中,在阶段2中识别了的快C单元被临时锁止以不被编程,且对慢C单元的编程继续,如图6d所示。在该例子中,阶段3包括四个附加编程脉冲和在VV-C电平处的验证。在此,能够在编程一系列脉冲中向前跳过,以便在阶段3的开始,施加显著步增的编程脉冲。通过跳过编程脉冲,我们节省了用于那些被跳过的脉冲的对应时间。相比于图7a的方法,可以跳过脉冲15-18,以便图7c中的阶段3的第一编程脉冲(整体的第十五个脉冲)处于与图7a的第十九个编程脉冲相同的电平处。然后,在一个可能的方法中,图7c中的第二到第四个编程脉冲可以分别处于与图7a的第二十到第二十二个编程脉冲相同的电平处。因此,图7c的示例编程序列使用与使用二十二个编程脉冲的图7a的示例编程序列相比的十八个编程脉冲,因此节省了大量的编程施加。
另外,阶段3的第一编程脉冲可以比阶段2的最后编程脉冲超过ΔV4,同时ΔV5的步长用于阶段3中的随后的脉冲。在一个方法中,ΔV4大于ΔV2和ΔV1。ΔV5可以大于ΔV1且与ΔV3相当。在一个方法中,ΔV4等于或近似等于VV-C-VV-CLL,即在C状态验证电平和低C状态验证电平之间的差。通常,编程脉冲电平可以在阶段3中比先前的脉冲更急剧地步增,因为已知正编程慢单元。这种单元相对稳固,且因此需要经由所选字线向它们控制栅极施加更高和/或跟更长持续施加的编程脉冲,以便继续将它们的阈值电压提升向最终预定状态。因此,另一选择包括在阶段3中除了、或代替升高编程脉冲电平,而延长编程脉冲的持续施加。
在阶段3之后,第一编程遍结束,且随后进行第二编程遍。因此,第一编程遍的后者部分包括施加一些编程脉冲,在其期间,仅选择目标为最后、最高状态的单元。起始和最终VPGM值以及增量和步长是在特征化期间被最优化的参数。
结合图6e和6f和图7d来说明第二编程遍。图7d描述了在对应于6e和6f的编程技术中的编程和验证电压。在一个可能的方法中,图7d的编程一系列脉冲是普通序列,其中,在规律的步中逐渐递增编程脉冲。
先前锁止的快C单元(由VTH分布630表示)被存储,以便它们与A和B单元一起被编程,如图6e所示。A单元从已擦除状态编程,而B单元从LM状态编程。在图7d的编程一系列脉冲中,可以定义扩展超过六个编程脉冲的第四阶段,其中,施加初始脉冲,然后递增了ΔV1,且使用VV-A来进行A单元的验证。可以定义超过五个编程脉冲的第五阶段,其中,分别使用VV-A和VV-B来进行A和B单元的验证。可以定义扩展超过两个编程脉冲的第六阶段,其中,分别使用VV-A,VV-B和VV-C来进行A、B和快C单元的验证。可以定义扩展超过六个编程脉冲的第七阶段,其中,分别使用VV-B和VV-C来进行B和快C单元的验证。此时,完成了第二编程遍和整个编程操作,导致图6f的阈值电压分布。
由于不存在更长的任何慢C单元,且仅快C单元保持被编程,因此第二编程遍应该比图7b的方法中更早地结束。另外,第二编程遍应该在大约到达图7c中的第三阶段的第一编程脉冲的电平处的编程脉冲、例如图7d中的第九十个编程脉冲时之前结束。因此,第二编程遍可以在九十编程脉冲之后、而不是在图7b的二十二个编程脉冲之后结束,因此节省了大量的编程施加。在提供的例子中,时间的节省是在第一和第二编程遍上的总共七个编程脉冲。更多细节见图10。
可选地,在此提到的技术可以被修改以包括粗糙/精细的编程处理,如图6g所示。粗糙/精细编程包括在粗糙模式中初始地对单元编程,其中,相对快地进行这些单元。例如,这可以通过使用相对大或激进的编程脉冲步长或脉冲持续时间来实现。当在低于最终意图的编程状态的验证电平的电平(分别用于状态A、B和C的粗糙模式验证电平VV-AL,VV-BL and VV-CLL)处验证单元时,该单元被切换为精细编程模式,其中,相对慢地编程该单元。这允许该单元更准确地被编程,因为减少了过度。该精细编程模式可以包括例如施加具有更小的步长和/或脉冲持续时间的编程脉冲和/或升高位线电压以减慢编程的速度。在粗糙模式中到达的阈值电压分布被标记为AL,BL and CL,以将它们与在精细模式中到达的分别被标记为A、B和C的阈值电压分布进行区分。向LM状态的编程不需要使用粗糙/精细编程,就像中间状态一样,因此准确性更不重要。
例如,在第一编程遍中,其中慢C单元被编程到C状态(例如图6d),在VV-CL处验证慢C单元,其被切换为精细编程模式,其中,随后施加VV-C的精细验证电平。在第二编程遍中,在粗糙模式中,初始地分别在VV-AL,VV-BL和VV-CL处验证A、B和快C单元,且在精细模式中,分别在VV-A,VV-B和VV-C处。在一个选择中,可以以有限的方式使用粗糙/精细技术用于C单元,以便其仅用于在第二编程遍期间被编程的快C单元。在在此被引用附于此的美国专利7,088,621中讨论粗糙/精细编程技术的例子。还能够分别对相比于随后的"A"&"B"遍(例如,阶段4-7)的“C-优先”遍(例如,阶段3)来最优化位线电压或脉冲数。这种最优化可以包括设置被允许的“精细”脉冲的最大数,以便避免对编程时间的增加。
另外,其它修改可用于上述技术之一,包括结合图7a-d讨论的那些。在一个方法中,在编程遍的不同阶段或部分中和/或在不同编程遍中实现不同的编程条件。例如,第一和第二编程遍可以具有不同的扫除(sweep)参数以分别对诸如性能、分布宽度和编程-干扰属性的目标而最优化该两遍。一个例子是使用在第一编程遍相对第二编程遍期间的更大编程脉冲步长,以便具有速度相对分布宽度的独立折衷。另一例子是使用被施加且分别对两个编程遍最优化的不同编程-禁止参数。例如,可以经由在第一和第二编程遍中被施加在未选字线上的不同通过电压来实现不同的沟道升压模式。不同的沟道升压模式的例子见在此引用附于此的美国专利6,859,397。也见图4,其描述了在编程期间被施加到未选字线的通过电压。还可以使用在粗糙编程模式之后的精细编程模式中的不同的最大被允许的数量的编程脉冲。还可以使用不同位线电压,诸如在精细编程模式期间。各种其它选择是可能的。事实上,可以对编程遍的不同的阶段或部分和/或整个编程处理的不同编程遍最优化可以被设置以影响编程的任何参数。
图8a和8b描述来对应于图6a-f的编程处理。所讨论的具体实施方式包括四个状态。但是,其它实施方式是可能的。在图8a中,编程在步骤800处开始。阶段1(也见图7c)在步骤802处开始,其中,A单元被临时锁止以不编程。注意,意图维持在已擦除状态的单元被锁止以不在整个编程处理中编程。步骤804包括施加在最低VPGM电平处开始的编程脉冲。步骤806包括在VV-LM处进行验证,且临时锁止到达状态LM的B和C单元(例如,VTH>VV-LM的单元)。术语“锁止”指的是通过升高相关位线的电压来防止单元的进一步编程,同时其它单元继续被编程。决定步骤808确定所有B和C单元是否都已经被验证到状态LM,或某种数量N1的编程脉冲是否已经被施加了。如果没有情况成立,在步骤810处施加下一编程脉冲,将先前脉冲递增ΔV1。然后,该处理循环回到步骤806。如果决定步骤808为真,第一编程遍的阶段2在步骤812处开始。在此,所有单元被临时锁止以不编程,除了C单元以外(例如,A和B单元被锁止)。C单元可以被考虑为第一组存储元件,同时A和B单元分别是第二和第三组存储元件。步骤814包括施加从先前脉冲递增ΔV1的编程脉冲。
步骤816包括在VV-CLL处进行验证,且临时锁止其VTH>VV-CLL的C单元。这些锁止的单元是最后的C单元。决定步骤818确定某种数量N2的编程脉冲是否已经被施加了,或某种数量或部分N3的C单元是否已经到达了VV-CLL。另一选择是确定某种数量或部分的C单元是否已经到达了VV-CLL,以及某种数量的附加编程脉冲是否已经被施加了。如果没有情况成立,在步骤820处施加下一编程脉冲,将先前脉冲递增ΔV3。然后,该处理循环回到步骤816。如果决定步骤818为真,第一编程遍的阶段3在步骤822处开始。在此,所有单元被临时锁止以不编程,除了慢C单元以外(例如,A、B和快C单元被锁止)。步骤824包括施加从先前脉冲递增ΔV4的编程脉冲。
步骤826包括在VV-C处进行验证,且永久锁止其VTH>VV-C的慢C单元。永久锁止指的是延伸穿过当前编程操作的锁止。决定步骤828确定所有慢C单元都已经到达状态C,或某种数量N4的编程脉冲已经被施加了。注意,可以按照在当前阶段的编程脉冲和/或在当前编程遍中的总共多个编程脉冲来表述在此涉及的多个编程脉冲(例如,N1-N8)。如果在决定步骤828中没有情况成立,在步骤830处施加下一编程脉冲,将先前脉冲递增ΔV5。然后,该处理循环回步骤826。如果决定步骤828为真,阶段4和第二编程遍在步骤832处开始。在此,A、B和快C单元从其临时锁止恢复,以便它们可以被编程。该处理在图8b继续。
在图8b中,步骤840包括施加在最低VPGM或其它初始VPGM值处再次开始的编程脉冲。步骤842包括进行在VV-A处的验证,且永久锁止VTH>VV-A的A单元。决定步骤844确定所有A单元都已经到达状态A,或某种数量N5的编程脉冲已经被施加了。在一个可能的方法中,如果没有情况成立,在步骤846处施加下一编程脉冲,将先前脉冲递增ΔV1。然后,该处理循环回步骤842。如果决定步骤844为真,阶段5在步骤848处开始,在该情况下,在步骤850处施加使用增量ΔV1的下一编程脉冲。步骤852包括进行在VV-A和VV-B处的验证操作,且永久地锁止分别VTH>VV-A或VTH>VV-B的A和B单元。决定步骤854确定所有A和B单元是否都已经分别到达状态A和B,或某种数量N6的编程脉冲是否已经被施加了。如果没有情况成立,在步骤856处施加下一编程脉冲,将先前脉冲递增ΔV1。然后,该处理循环回步骤852。如果决定步骤854为真,阶段6在步骤858处开始,在该情况下,在步骤860处施加使用增量ΔV1的下一编程脉冲。
步骤862包括进行在VV-A,VV-B和VV-C处的验证操作,且永久地锁止到达其预定状态(例如,分别VTH>VV-A,VTH>VV-B和VTH>VV-C)的A、B和C单元。决定步骤864确定所有A、B和C单元是否都已经分别到达预定状态A、B或C,或某种数量N7的编程脉冲是否已经被施加了。如果没有情况成立,在步骤866处施加下一编程脉冲,将先前脉冲递增ΔV1。然后,该处理循环回步骤862。如果决定步骤864为真,阶段7、第二编程遍的最终阶段在步骤868处开始,在该情况下,在步骤870处施加使用增量ΔV1的下一编程脉冲。步骤872包括进行在VV-B和VV-C处的验证操作,且永久地锁止到达其预定状态(例如,分别VTH>VV-B以及VTH>VV-C)的B和C单元。决定步骤874确定所有B和C单元是否都已经分别到达状态B和C,或某种数量N8的编程脉冲是否已经被施加了。如果没有情况成立,在步骤876处施加下一编程脉冲,将先前脉冲递增ΔV1。然后,该处理循环回步骤872。如果决定步骤874为真,则在步骤878处结束该编程。
图9a描述来其中在每遍中使用不同编程条件的多遍编程处理。如所述,可以在编程遍的不同阶段或部分中和/或在不同编程遍中实现不同的编程条件。这可以允许对于诸如性能、分布宽度和编程干扰属性的目标而最优化两个编程遍或其部分。编程条件的例子包括:编程脉冲步长、编程脉冲持续时间、编程禁止参数、沟道升压模式、通过电压、在精细编程模式中的最大允许的数量的编程脉冲和诸如在精细编程模式期间使用的位线电压。步骤900包括开始第一编程遍。步骤902包括实施第一编程条件。步骤904包括编程C单元且锁止快C单元。步骤906包括编程快C单元。步骤908包括开始第二编程遍。步骤910包括实施不同于第一编程条件的第二编程条件。步骤912包括编程A、B和快C单元。
图9b描述了其中在较低状态单元之前编程高状态单元的多遍编程处理。虽然已经提供了其中使用四个数据状态且状态C是最高数据状态的示例实施方式,但是其它实施方式是可能的。例如,能够使用八个或十六个数据状态。而且,能够进行用于多于一个高状态的快-慢技术。例如,通过八个数据状态,可以首先使用在此讨论的技术来编程两个最高状态。在这种情况下,在第一编程遍中确定在两个最高状态中的快和慢单元,且锁止快单元,同时慢单元完成编程。在第二编程遍中,所有其它单元与在两个最高状态中的快单元一起被编程到其最终预定状态。各种其它方法也是可能的。步骤920包括开始第一编程遍。步骤922包括将单元编程到中间状态(例如,LM状态)。步骤924包括编程高状态单元,且在它们被检测之后锁止快高状态单元。步骤926包括编程慢高状态单元。步骤928包括开始第二编程遍。步骤930包括编程包括快高状态单元的剩余单元。
图10描述三个不同编程技术的编程脉冲数相对验证电平的表。情况#1指的是诸如结合图16以下讨论的一遍编程技术。情况#2指的是诸如结合图7a和7b以上讨论的多遍编程技术。情况#3指的是诸如结合图7c和7d以上讨论的多遍编程技术。最左列指示从范围从1-22的编程脉冲数量。验证电平A,B和C分别指的是用于状态A、B和C的VV-A,VV-B和VV-C。另外,当使用粗糙/精细编程时,粗糙验证电平A,BL和CL分别指的是用于状态A、B和C的VV-AL,VV-BL和VV-CL(见图6g),且VV-A,VV-B和VV-C是精细验证电平。CLL指的是验证电平VV-CLL
情况#1涉及在VV-A和/或VV-AL处的13个验证操作、在VV-B和/或VV-BL处的13个验证操作和在VV-C和/或VV-CL处的11个验证操作,用于总共63个验证操作。另外,施加22个编程循环(例如编程脉冲)。因此,进行总共85个操作。情况#2涉及在VV-C处的11个验证操作、在VV-A和/或VV-AL处的13个验证操作和在VV-B和/或VV-BL处的13个验证操作,用于总共63个验证操作。另外,施加30个编程脉冲(总共超过两个编程遍)。因此,进行总共93个操作。情况#3涉及在VV-CLL处的4个验证操作、在VV-A和/或VV-AL处的13个验证操作、在VV-B和/或VV-BL处的13个验证操作、和在VV-CL和/或VV-C处的8个验证操作,用于总共65个验证操作。另外,施加24个编程脉冲(总共超过两个编程遍)。因此,进行总共89个操作。因此,情况#3相比于情况#2,节省了在施加六个附加编程脉冲中涉及的时间。该节省由两个附加验证操作的需要轻微地偏移,但总体益处仍显著。可以实现的该时间节省可能在其它应用中甚至更大。
图11图示NAND存储元件的阵列1100的例子,诸如图1和2所示的那些。沿着每个列,位线1106被耦合到NAND串1150的漏极选择门的漏极端1126。沿着NAND串的每行,源极线1104可以连接NAND串的源极选择门的所有源极端1128。作为存储器系统的部分的NAND架构阵列和其操作的例子在美国专利号5,570,315;5,774,397;和6,046,935中找到。
存储元件的阵列被划分为存储元件的大量块。如对于快闪EEPROM系统共同的,该块是擦除的单位。即,每个块包含一起擦除的存储元件的最小数量。每个块通常被划分为大量页。一页是编程的单位。在一个实施例中,各个页可以被划分为段(segment),且段可以包含作为基本编程操作一次被写入的存储元件的最小数量。一页或多页数据通常被存储在一行存储元件中。一页可以存储一个或多个扇区。扇区包括用户数据和开销数据(overheaddata)。开销数据通常包括已经从扇区的用户数据中计算的纠错码(ECC)。控制器的一部分(以下描述)当数据正被编程到阵列中时计算ECC,还当正从该阵列中读取数据时检查它。或者,ECC和/或其他开销数据被存储在与它们所属的用户数据不同的页或甚至不同的块中。
用户数据的扇区通常是512字节,对应于在磁盘中的扇区的尺寸。开销数据通常是附加的16-20字节。大量页形成块,无论从例如8页直到32、64、128或更多页。在一些实施例中,NAND串的一行包括一个块。
在一个实施例中,通过将p-阱升高到擦除电压(例如14-22V)达足够的时间段,并将所选块的字线接地同时浮置源极和位线,来擦除存储器存储元件。由于电容性耦合,所选字线、位线和c-源极也被升高擦除电压的大分数(significant fraction)。因此,强电场被施加到所选存储元件的隧道氧化物层,且随着通常通过Fowler-Nordheim遂穿机制将浮置栅极的电子发射到衬底侧,所选存储元件的数据被擦除。随着电子从浮置栅极转移到p-阱区域,所选存储元件的阈值电压被降低。可以对整个存储器阵列、分离的块或存储元件的另一单位进行擦除。
图12是使用单行/列解码器和读/写电路的非易失性存储器系统的方框图。该图图示了根据本发明的一个实施例的具有用于并行读取和编程一页存储元件的读/写电路的存储器器件1296。存储器器件1296可以包括一个或多个内存芯片(memory die)1298。内存芯片1298包括存储元件的二维阵列1100、控制电路1210和读/写电路1265。在一些实施例中,存储元件的阵列可以是三维的。该存储器阵列1100可由字线经由行解码器1230且由位线经由列解码器1260来寻址。读/写电路1265包括多个感测块1200,并允许并行读取或编程一页存储元件。通常,控制器1250被包括在与一个或多个内存芯片1298相同的存储器器件1296(例如,可移除存储卡)中。经由线1220在主机和控制器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等中的任何一个或组合。
图13是使用双行/列解码器和读/写电路的非易失性存储器系统的方框图。在此,提供图12所示的存储器器件1296的另一布置。以对称的方式在该阵列的相对侧上实现由各种外围电路对存储器阵列1100的存取,以便在每个侧上的存取线和电路的密度减少了一半。因此,行解码器被分裂为行解码器1230A和1230B,且列解码器被分裂为列解码器1260A和1260B。类似地,读/写电路被分裂为从阵列1100的底部连接到位线的读/写电路1265A和从阵列1100的顶部连接到位线的读/写电路1265B。以此方式,读/写模块的密度实质上减少了一半。图13的器件还可以包括如上述对于图12的器件的控制器。
图14是描述感测块的一个实施例的方框图。诸如验证和读取的感测操作涉及感测块。分离的感测块1200被分区为称为感测模块的核心部分1280和公共部分1290。在一个实施例中,将存在对于每个位线的分离的感测模块1280和对于多个感测模块1280的一组的一个公共部分1290。在一个例子中,感测块将包括一个公共部分1290和八个感测模块1280。在一个分组中的感测模块的每个将经由数据总线1272与相关公共部分通信。更多细节参见美国专利申请公开号2006/0140007,其全部被引用附于此。
感测模块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可以停留(trip at)在这些电压之一,且将经由总线1272从感测模块1280向处理器1292提供输出。在该点上,处理器1292通过考虑感测模块的停留事件(tripping event)和关于经由输入线1293从状态机的施加的控制栅极电压的信息来确定得到的存储器状态。然后,其计算对于存储器状态的二进制编码,并将得到的数据位存储到数据锁存器1294。在核心部分的另一实施例中,位线锁存器1282用于双重任务,作为用于锁存感测模块1280的输出的锁存器,还作为如上述的位线锁存器。
预期,一些实施方式将包括多个处理器1292。在一个实施例中,每个处理器1292将包括使得每个输出线被一起配线为逻辑或(wired-OR'd)的输出线(未示出)。在一些实施例中,输出线在被连接到配线为逻辑或的线之前被反转(invert)。该配置使得能够在编程确认处理期间快速确定何时完成了编程处理,因为接收配线为或的状态机可以确定正被编程的所有位何时到达了期望的电平。例如,当每个位到达了其期望的电平时,该位的逻辑零将被发送到配线为或的线(或数据一被反转)。当所有位输出数据0(或数据一被反转)时,然后状态机知道确定编程处理。因为每个处理器与八个感测模块通信,因此,状态机需要读取配线为或的线八次,或逻辑被添加到处理器1292以累积相关位线的结果以便状态机仅需要读取配线为或的线一次。类似地,通过正确地选择逻辑电平,全局状态机可以检测第一位何时改变其状态并因此改变算法。
在编程或确认期间,要被编程的数据从数据总线1220被存储在该组数据锁存器1294中。在状态机的控制下的编程操作包括施加到被寻到的存储元件的控制栅极的一系列编程电压脉冲。每个编程脉冲之后是读回(确认)以确定存储元件已经被编程到期望的存储器状态。处理器1292相对于期望的存储器状态来监视读回的存储器状态。当两者一致时,处理器1292设置位线锁存器1282以便使得位线被拉到指定编程禁止的状态。这禁止与位线耦合的存储元件被进一步编程,即使编程脉冲出现在其控制栅极上。在其他实施例中,处理器初始地加载位线锁存器1282,且感测电路在确认处理期间设置其到禁止值。
数据锁存堆栈1294包含对应于感测模块的数据锁存器的堆栈。在一个实施例中,存在每个感测模块1280的三个数据锁存器。在一些实施方式(但是不必要)中,数据锁存器被实施为移位寄存器以便在其中存储的并行数据被转换为用于数据总线1220的串行数据,且反之亦然。在优选实施例中,对应于m个存储元件的读/写块的所有数据锁存器可以被链接到一起以形成块移位寄存器,以便数据的块可以通过串行转移来输入或输出。具体地,读/写模块的库(bank)被适配以便其数据锁存器组的每个将顺序地偏移数据到数据总线中或数据总线以外,就好像它们是移位寄存器的部分,用于整个读/写块。
关于非易失性存储器件的各种实施例的结构和/或操作的其它信息可以在美国专利7,196,931,7,023,736,7,046,568,7,196,928和7,327,619中找到。所有五个就在上述列出的专利文档在此通过整体被引用附于此。
图15图示了将存储器阵列组织为对于所有位线存储器架构的块或用于奇偶存储器架构的块的例子。描述存储器阵列1100的示例结构。例如,描述被划分为1024个块的NAND快闪EEPROM。可以同时擦除在每个块中存储的数据。在一个实施例中,该块是同时被擦除的存储元件的最小单位。在每个块中,在该例子中,存在对应于位线BL0,BLl,...BL8511的8512个列。在称为全位线(ABL)架构(架构1510)的一个实施例中,可以在读取和编程操作期间同时选择块的所有位线。沿着公共字线且被连接到任一位线的存储元件可以同时被编程。
在提供的示例中,串联连接四个存储元件以形成NAND串。虽然示出了四个存储元件以被包括在每个NAND串中,但是可以使用比四个更多或更少(例如,16、32、64或另一数量)。NAND串的一端经由(连接到选择门逻辑线SGD的)漏极选择门被连接到对应的位线,且另一端经由(连接到选择门源极线SGS的)源极选择门连接到c源极。
在称为奇偶架构(架构1500)的另一实施例中,位线被划分为偶数位线(BLe)和奇数位线(BLo)。在奇数/偶数位线架构中,沿着公共字线且被连接到奇数位线的存储元件在一个时间被编程,而沿着公共字线且连接到偶数位线的存储元件在另一时间编程。在每个块中,在该例子中,存在被划分为偶数个列和奇数个列的8512个列。在该示例中,示出串联连接的四个存储元件以形成NAND串。虽然示出四个存储元件被包括在每个NAND串中,但是可以使用比四个更多或更少的存储元件。
在读取和编程操作的一个配置期间,同时选择4256个存储元件。所选的存储元件具有相同的字线和同种位线(例如,偶数或奇数)。因此,可以同时读取或编程形成逻辑页的532字节的数据,且一块存储器可以存储至少八个逻辑页(四个字线,每个具有奇数和偶数个页)。对于多状态存储元件,当每个存储元件存储两位数据时,在这两位的每个被存储在不同页中的情况下,一个块存储十六个逻辑页。还可以使用其他尺寸的块和页。
对于ABL或奇偶架构,可以通过升高p-阱到擦除电压(例如20V)且将所选块的字线接地来擦除存储元件。源极和位线浮置。可以对整个存储器阵列、分离的块或作为存储器器件的一部分的存储元件的另一单位进行擦除。电子从存储元件的浮置栅极被转移到p-阱区域,以便存储元件的VTH变负。
在读取和验证操作中,所选栅极(SGD和SGS)被连接到2.5-4.5V的范围中的电压,且未选字线(例如WLO,WLl和WL3,当WL2是所选字线时)被升高到读取通过电压(read pass voltage),VREAD(通常在4.5V到6V的范围中的电压)以使得晶体管操作为通过栅极。所选字线WL2被连接到电压,其电平被指定给每个读取和确认操作以便确定所关心的存储元件的VTH是高于还是低于这种电平。例如,在两电平存储元件的读取操作中,所选字线WL2可以被接地,以便检测VTH是否高于0V。在对于两电平存储元件的确认操作中,所选字线WL2被连接到例如0.8V,以便确认VTH是否达到了至少0.8V。源极和p-阱处于0V。假设为偶数位线(Ble)的所选位线被预充电到例如0.7V的电平。如果VTH高于在字线上的读取或确认电平,与感兴趣的存储元件相关的位线(Ble)的电势电平由于非导电存储元件而维持高电平。另一方面,如果VTH低于读取或确认电平,关心的位线(BLe)的电势电平降低到例如小于0.5V的低电平,因为导电的存储元件对位线放电。由此可以通过连接到位线的电压比较器感测放大器来检测存储元件的状态。
根据现有技术已知的技术来进行上述擦除、读取和确认操作。因此,可以通过本领域技术任意来改变所说明的细节中的许多。还可以使用本领域技术中已知的其他擦除、读取和确认技术。
图16描述了阈值电压分布和一遍编程的示例组。对每个存储元件存储两位数据的情况提供用于存储元件阵列的示例VTH分布。对擦除的存储元件提供第一阈值电压分布E。还描述对于编程的存储元件的三个阈值电压分布、A、B和C。在一个实施例中,在E分布中的阈值电压是负的,且在A、B和C分布中的阈值电压是正的。
每个不同的阈值电压范围对应于该组数据位的预定值。在被编程到存储元件中的数据和该存储元件的阈值电压电平之间的具体关系取决于适用于存储元件的数据编码机制。例如,两个被整体引用附于此的美国专利6,222,762和7,237,074描述了用于多状态闪存元件的各种数据编码机制。在一个实施例中,使用格雷码分配来将数据值分配给阈值电压范围,以便如果浮置栅极的阈值电压错误地偏移到相邻的物理状态,仅将影响一个位。一个例子向阈值电压范围E(状态E)分配"11",向阈值电压范围A(状态A)分配"10",向阈值电压范围B(状态B)分配"00",且向阈值电压范围C(状态C)分配"01"。但是,在其他实施例中,不使用格雷码。虽然示出了四个状态,但是还可以通过包括那些包括多于或少于四个状态的其他多状态结构来使用本发明。
还提供三个读取参考电压Vra,Vrb和Vrc用于从存储元件读取数据。通过测试给定的存储元件的阈值电压高于还是低于Vra,Vrb和Vrc,该系统可以确定例如该存储元件所处的编程状况的状态。
另外,提供三个确认参考电压Vva,Vvb和Vvc。当将存储元件编程到状态A时,该系统将测试那些存储元件是否具有大于或等于Vva的阈值电压。当将存储元件编程到状态B时,该系统将测试这些存储元件是否具有大于或等于Vvb的阈值电压。当将存储元件编程到状态C时,该系统将确定存储元件是否具有大于或等于Vvc的其阈值电压。
在已知为全序列编程的一个实施例中,存储元件可以从擦除状态E直接编程到编程的状态A、B或C中的任一。例如,要被编程的全体存储元件可以首先被擦除以便在该全体中的所有存储元件处于擦除的状态E。然后,诸如由图20的控制栅极电压序列描述的一系列编程脉冲将被用于将存储元件直接编程到状态A、B或C。当一些存储元件正被从状态E编程到状态A时,其他存储元件正从状态E被编程到状态B和/或从状态E编程到状态C。当在WLn上从状态E编程到状态C时,耦合于在WLn-1之下的相邻的浮置栅极的寄生(parasitic)的量到达最大值,因为当从状态E编程到状态A或从状态E编程到状态B时在WLn下的浮置栅极上的电荷量中的变化与电荷的变化相比最大。当从状态E编程到状态B时,耦合于相邻浮置栅极的量更小。当从状态E编程到状态A时,耦合的量甚至进一步减小。
图17图示了编程存储两个不同的页:下部页和上部页的数据的多状态存储元件的两遍(two-pass)技术的例子。描述四个状态:状态E(11),状态A(10),状态B(00)和状态C(01)。对于状态E,两页存储“1”。对于状态A,下部页存储“0”,且上部页存储“1”。对于状态B,两页存储_0。”对于状态C,下部页存储“_1”,且上部页存储“0”。注意,虽然具体图案已经被分配给每个状态,但是还可以分配不同的位图案。
在第一编程遍中,根据要被编程到下部逻辑页的位来设置存储元件的阈值电压电平。如果该位是逻辑“1”,不改变阈值电压,因为其处于与已经较早被擦除的结果的适当的状态中。但是,如果要被编程的位是逻辑“0”,存储元件的阈值电平被增加以成为状态A,如由箭头1700示出。这结束了第一编程遍。
在第二编程遍中,根据要被编程到上部逻辑页的位来设置存储元件的阈值电压电平。如果上部逻辑页位要存储逻辑“1”,则不发生编程,因为存储元件取决于下部页位的编程处于其两者携带上部页位“1”的状态E或A之一中。如果上部页位是逻辑“0”,则阈值电压被偏移。如果第一遍导致维持在擦除状态E中的存储元件,然后在第二阶段中存储元件被编程,以便阈值电压被增加到状态C中,如由箭头1720描述。如果作为第一编程遍的结果,存储元件已经被编程到状态A中,则在第二遍中进一步编程存储元件,以便阈值电压被增加到状态B内,如由箭头1710所示。第二遍的结果要将存储元件编程到被指定为存储上部页的逻辑“0”的状态,而不改变下部页的数据。在图16和图17两者中,耦合于在相邻字线上的浮置栅极的量取决于最终的状态。
在一个实施例中,如果将足够的数据写入以填满整个页,系统可以被设置以进行全序列写。如果不写入足够的数据用于全页,则编程处理可以编程用所接收的数据编程的下部页。当接收随后的数据时,然后该系统将编程上部页。在另一实施例中,系统可以开始写入编程下部页的模式,然后如果随后接收足够的数据以填满整个(或大多数)字线的存储元件,转换到全序列编程模式。这种实施例的更多细节在美国专利7,120,051中公开,其全部被引用附于此。
图18a-c公开用于通过相对于在写入先前页的相邻的存储元件之后的具体页、对于任一具体存储元件写入该具体存储元件来编程减少浮置栅极与浮置栅极耦合的效应的非易失性存储器的另一处理。在一个示例实施方式中,非易失性存储元件使用四个数据状态来存储每个存储元件的两位数据。例如,假设状态E是擦除的状态,且状态A、B和C是编程的状态。状态E存储数据11。状态A存储数据01。状态B存储数据10。状态C存储数据00。这是非格雷编码的例子,因为两个位在相邻状态A和B之间改变。还可以使用数据到物理数据状态的其他编码。每个存储元件存储两页数据。为了引用的目的,数据的这些页将被称为上部页和下部页,但是可以给它们其他标记。参考状态A,上部页存储位0,且下部页存储位1。参考状态B,上部页存储位1,且下部页存储位0。参考状态C,两页都存储位数据0。
该编程处理是两步处理。在第一布中,下部页被编程。如果下部页维持数据1,则存储元件状态维持在状态E。如果数据要被编程到0,则存储元件的电压的阈值被升高以便该存储元件被编程到状态B'。因此,图18a示出存储元件从状态E编程到状态B'。状态B'是中间的状态B;因此,确认点被描述为低于Vvb的Vvb'。
在一个实施例中,在存储元件从状态E编程到状态B'之后,然后在NAND串中的其相邻存储元件(WLn+1)将相对于其下部页而被编程。例如,往回看图2,在存储元件106的下部页被编程之后,存储元件104的下部页将被编程。在编程存储元件104之后,如果存储元件104具有从状态E升高到状态B'升高的阈值电压,浮置栅极与浮置栅极耦合效应将升高存储元件106的明显阈值电压。这将具有扩宽状态B'的阈值电压分布到被描述为图18b的阈值电压分布1850的效果。当编程上部页时,阈值电压分布的该明显的扩宽将被修补。
图18c描述了编程上部页的处理。如果存储元件处于擦除状态E且上部页要维持在1,则存储元件将维持在状态E中。如果存储元件处于状态E且其上部页数据要被编程到0,则存储元件的阈值电压将被升高以便存储元件处于状态A。如果存储元件过去处于中间的阈值电压分布1850且上部页数据要维持在1,则存储元件将被编程到最终的状态B。如果存储元件处于中间的阈值电压分布1850且上部页数据要变成数据0,则存储元件的阈值电压将被升高以便存储元件处于状态C中。由18a-c描述的处理减少了浮置栅极与浮置栅极耦合的效应,因为仅相邻存储元件的上部页编程将具有对给定的存储元件的明显阈值电压的影响。替换的状态编码的例子当上部页数据是1时要从分布1850移动到状态C,且当上部页数据是0时移动到状态B。
虽然图18a-c提供了针对四个数据状态和两页数据的例子,教导的概念可以被施加到具有多于或少于四个状态和多于或少于两页的其他实施方式。
已经为了例示和描述来呈现了前述的详细描述。不意图穷举或限制本发明到所公开的精确的形式。在上述教导下,许多修改和变化是可能的。选择所描述的实施例以便最佳地说明本发明的原理和其实际的应用,以从而使得本领域技术人员能够在各种实施例中且具有适合于所构思的具体用途的各种修改地最佳地使用本发明。意图本发明的范围被附于此的权利要求所定义。

Claims (15)

1.一种用于操作非易失性存储器的方法,包括:
a)使用第一验证电平(VV-C)减去偏移量(Δ=VV-C-VV-CLL)来对第一组存储元件(C)进行编程操作,以区分较慢(610)和较快(620)编程的存储元件,同时锁止至少第二组存储元件(A,B)以不被编程;
b)锁止较快编程的存储元件,同时使用第一验证电平(VV-C)来继续对较慢编程存储元件编程,且同时继续锁止至少第二组存储元件;以及
c)锁止较慢编程的存储元件,同时恢复使用第一验证电平(VV-C)对较慢编程存储元件的编程,且同时使用小于第一验证电平减去偏移量的至少第二验证电平(VV-B)来对至少第二组存储元件编程。
2.根据权利要求1的方法,还包括:
根据公共阈值电压分布来编程所述第一组存储元件和所述至少第二组存储元件。
3.根据权利要求1或2的方法,还包括:
在步骤a)之前对第一和第二组存储元件进行编程操作,包括施加以第一步长(ΔV1)递增的编程脉冲,步骤b)包括施加以更高的第二步长(ΔV5)递增的编程脉冲。
4.根据权利要求3的方法,其中:
步骤a)包括施加以第一步长(ΔV3)递增的第一组编程脉冲,以及步骤b)包括施加第二组编程脉冲,所述第二组的第一编程脉冲从第一组编程脉冲的最后的编程脉冲以比第一步长大的步长(ΔV4)递增。
5.根据权利要求4的方法,其中:
所述第二组的第一编程脉冲从第一组编程脉冲的最后的编程脉冲递增所述偏移量。
6.根据权利要求5中的任一的方法,其中:所述第一验证电平用于最高数据状态(C),且至少第二验证电平用于第二最高数据状态(B)。
7.根据权利要求5中的任一的方法,其中:
步骤c)包括使用小于第二验证电平(VV-B)的第三验证电平(VV-A)来编程第三组存储元件。
8.根据权利要求5中的任一的方法,其中:
步骤a)和b)允许仅对意图被编程到与第一验证电平相关的数据状态(C)的存储元件进行编程。
9.根据权利要求5中的任一的方法,其中:
当在第一验证电平减去偏移量处已验证了在第一组存储元件中的指定数量或一部分的存储元件时结束步骤a)。
10.根据权利要求5中的任一的方法,其中:步骤a)包括施加编程脉冲,所述方法还包括:
当已经施加了指定数量的编程脉冲时结束步骤a)。
11.根据权利要求5中的任一的方法,其中:步骤a)包括施加编程脉冲,所述方法还包括:
当在在第一验证电平减去偏移量处已验证了在第一组存储元件中的指定数量或一部分的存储元件之后施加了指定数量的附加编程脉冲时结束步骤a)。
12.一种非易失性存储器件,包括:
第一(C)和第二(A,B)组存储元件;以及
与所述第一和第二组存储元件通信的至少一个控制电路(1210,1250),所述至少一个控制电路:a)使用第一验证电平(VV-C)减去偏移量(Δ=VV-C-VV-CLL)来对第一组存储器元件进行编程操作,以区分较慢(610)和较快(620)编程的存储器元件,同时锁止至少第二组存储器元件以不被编程,b)锁止较快编程的存储元件,同时使用第一验证电平(VV-C)来继续对较慢编程的存储元件编程,且同时继续锁止至少第二组存储元件,以及c)锁止较慢编程的存储元件,同时使用第一验证电平来恢复对较慢编程的存储元件编程,且同时使用小于第一验证电平减去偏移量的至少第二验证电平(VV-B)来对至少第二组存储元件编程。
13.根据权利要求12的非易失性存储器件,其中:
在使用第一验证电平减去偏移量来对第一组存储元件进行编程操作之前,所述至少一个控制电路对第一和第二组存储元件进行编程操作,包括在a)之前施加以第一步长(ΔV1)递增的编程脉冲,其中,锁止较快编程的存储元件包括施加由较高的第二步长(ΔV5)递增的编程脉冲。
14.根据权利要求13的非易失性存储器件,其中:
使用第一验证电平减去偏移量来对第一组存储元件进行编程操作,所述至少一个控制电路施加以第一步长(ΔV3)递增的第一组编程脉冲,以及锁止较快编程的存储元件,所述至少一个控制电路施加第二组编程脉冲,所述第二组的第一编程脉冲从第一组编程脉冲的最后的编程脉冲以比第一步长大的步长(ΔV4)递增。
15.根据权利要求14的非易失性存储器件,其中:所述第二组的第一编程脉冲从第一组编程脉冲的最后的编程脉冲递增所述偏移量。
CN200980133552.7A 2008-06-27 2009-06-23 非易失性存储器以及其操作方法 Active CN102138181B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/163,073 2008-06-27
US12/163,073 US7800956B2 (en) 2008-06-27 2008-06-27 Programming algorithm to reduce disturb with minimal extra time penalty
PCT/US2009/048311 WO2009158350A1 (en) 2008-06-27 2009-06-23 Improved programming algorithm to reduce disturb with minimal extra time penalty

Publications (2)

Publication Number Publication Date
CN102138181A CN102138181A (zh) 2011-07-27
CN102138181B true CN102138181B (zh) 2014-09-10

Family

ID=41056765

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980133552.7A Active CN102138181B (zh) 2008-06-27 2009-06-23 非易失性存储器以及其操作方法

Country Status (8)

Country Link
US (1) US7800956B2 (zh)
EP (1) EP2301033B1 (zh)
JP (1) JP5203510B2 (zh)
KR (1) KR101546460B1 (zh)
CN (1) CN102138181B (zh)
AT (1) ATE535913T1 (zh)
TW (1) TWI416527B (zh)
WO (1) WO2009158350A1 (zh)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100323554B1 (ko) * 1997-05-14 2002-03-08 니시무로 타이죠 불휘발성반도체메모리장치
JP5412063B2 (ja) * 2008-07-10 2014-02-12 三星電子株式会社 不揮発性半導体記憶装置
US8223551B2 (en) * 2009-02-19 2012-07-17 Micron Technology, Inc. Soft landing for desired program threshold voltage
KR101005145B1 (ko) * 2009-03-06 2011-01-04 주식회사 하이닉스반도체 불휘발성 메모리 소자의 프로그램 방법
JP2011150749A (ja) * 2010-01-20 2011-08-04 Toshiba Corp 不揮発性半導体記憶装置
KR101620025B1 (ko) * 2010-02-19 2016-05-24 삼성전자주식회사 데이터 저장 시스템 및 그것의 오픈 블록 관리 방법
KR20110131648A (ko) * 2010-05-31 2011-12-07 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및 메모리 카드 및 그것의 프로그램 방법
US8310870B2 (en) 2010-08-03 2012-11-13 Sandisk Technologies Inc. Natural threshold voltage distribution compaction in non-volatile memory
US8369149B2 (en) 2010-09-30 2013-02-05 Sandisk Technologies Inc. Multi-step channel boosting to reduce channel to floating gate coupling in memory
KR101798013B1 (ko) 2010-12-30 2017-11-16 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법
KR101821604B1 (ko) * 2011-07-25 2018-01-24 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법
JP5380510B2 (ja) * 2011-09-30 2014-01-08 株式会社東芝 不揮発性半導体記憶装置
US9082510B2 (en) * 2012-09-14 2015-07-14 Freescale Semiconductor, Inc. Non-volatile memory (NVM) with adaptive write operations
KR102053953B1 (ko) 2013-02-04 2019-12-11 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 프로그램 방법
US8929142B2 (en) 2013-02-05 2015-01-06 Sandisk Technologies Inc. Programming select gate transistors and memory cells using dynamic verify level
US20140281842A1 (en) * 2013-03-14 2014-09-18 Fusion-Io, Inc. Non-Volatile Cells Having a Non-Power-of-Two Number of States
KR102125376B1 (ko) * 2013-07-01 2020-06-23 삼성전자주식회사 저장 장치 및 그것의 쓰기 방법
CN105518793B (zh) * 2013-07-08 2019-06-04 东芝存储器株式会社 半导体存储装置
US9007841B1 (en) * 2013-10-24 2015-04-14 Western Digital Technologies, Inc. Programming scheme for improved voltage distribution in solid-state memory
KR20160047667A (ko) * 2014-10-22 2016-05-03 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
US9496040B2 (en) * 2015-01-22 2016-11-15 Sandisk Technologies Llc Adaptive multi-page programming methods and apparatus for non-volatile memory
US9865352B2 (en) * 2015-10-28 2018-01-09 Sandisk Technologies, Llc Program sequencing
US9711211B2 (en) 2015-10-29 2017-07-18 Sandisk Technologies Llc Dynamic threshold voltage compaction for non-volatile memory
US9564226B1 (en) 2015-10-30 2017-02-07 Sandisk Technologies Llc Smart verify for programming non-volatile memory
CN106856102B (zh) * 2015-12-08 2020-11-03 西安格易安创集成电路有限公司 一种Nand Flash的编程方法
JP6441250B2 (ja) * 2016-03-15 2018-12-19 東芝メモリ株式会社 半導体記憶装置
KR102565888B1 (ko) 2016-09-12 2023-08-11 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
JP2018055736A (ja) * 2016-09-26 2018-04-05 東芝メモリ株式会社 半導体記憶装置
KR20180088190A (ko) * 2017-01-26 2018-08-03 삼성전자주식회사 비휘발성 메모리 장치 및 그것의 프로그램 방법
KR102504295B1 (ko) 2017-11-24 2023-02-27 삼성전자 주식회사 비휘발성 메모리 장치 및 이의 프로그램 방법
WO2021068231A1 (en) * 2019-10-12 2021-04-15 Yangtze Memory Technologies Co., Ltd. Method of programming memory device and related memory device
KR20220067419A (ko) * 2020-11-17 2022-05-24 삼성전자주식회사 메모리 장치, 메모리 시스템 및 이들의 동작 방법
US11581049B2 (en) * 2021-06-01 2023-02-14 Sandisk Technologies Llc System and methods for programming nonvolatile memory having partial select gate drains
US11475959B1 (en) * 2021-06-30 2022-10-18 Sandisk Technologies Llc Reduced program time for memory cells using negative bit line voltage for enhanced step up of program bias

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1879175A (zh) * 2003-10-20 2006-12-13 桑迪士克股份有限公司 基于非易失性存储器单元的行为的编程方法

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960002006B1 (ko) * 1991-03-12 1996-02-09 가부시끼가이샤 도시바 2개의 기준 레벨을 사용하는 기록 검증 제어기를 갖는 전기적으로 소거 가능하고 프로그램 가능한 불휘발성 메모리 장치
US6222762B1 (en) * 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
US5555204A (en) * 1993-06-29 1996-09-10 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device
KR0169267B1 (ko) * 1993-09-21 1999-02-01 사토 후미오 불휘발성 반도체 기억장치
JP3807744B2 (ja) * 1995-06-07 2006-08-09 マクロニクス インターナショナル カンパニイ リミテッド 可変プログラムパルス高及びパルス幅によるページモードフラッシュメモリ用自動プログラミングアルゴリズム
US5903495A (en) * 1996-03-18 1999-05-11 Kabushiki Kaisha Toshiba Semiconductor device and memory system
TW338165B (en) * 1996-09-09 1998-08-11 Sony Co Ltd Semiconductor nand type flash memory with incremental step pulse programming
US6327183B1 (en) * 2000-01-10 2001-12-04 Advanced Micro Devices, Inc. Nonlinear stepped programming voltage
EP1249842B1 (en) * 2001-04-10 2009-08-26 STMicroelectronics S.r.l. Method for programming nonvolatile memory cells with program and verify algorithm using a staircase voltage with varying step amplitude
US6522580B2 (en) * 2001-06-27 2003-02-18 Sandisk Corporation Operating techniques for reducing effects of coupling between storage elements of a non-volatile memory operated in multiple data states
US6456528B1 (en) * 2001-09-17 2002-09-24 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
US6714448B2 (en) * 2002-07-02 2004-03-30 Atmel Corporation Method of programming a multi-level memory device
US6781877B2 (en) * 2002-09-06 2004-08-24 Sandisk Corporation Techniques for reducing effects of coupling between storage elements of adjacent rows of memory cells
US7196931B2 (en) * 2002-09-24 2007-03-27 Sandisk Corporation Non-volatile memory and method with reduced source line bias errors
US7046568B2 (en) * 2002-09-24 2006-05-16 Sandisk Corporation Memory sensing circuit and method for low voltage operation
US7327619B2 (en) * 2002-09-24 2008-02-05 Sandisk Corporation Reference sense amplifier for non-volatile memory
US6859397B2 (en) * 2003-03-05 2005-02-22 Sandisk Corporation Source side self boosting technique for non-volatile memory
US7237074B2 (en) * 2003-06-13 2007-06-26 Sandisk Corporation Tracking cells for a memory system
US6917542B2 (en) * 2003-07-29 2005-07-12 Sandisk Corporation Detecting over programmed memory
US6888758B1 (en) * 2004-01-21 2005-05-03 Sandisk Corporation Programming non-volatile memory
US7020017B2 (en) * 2004-04-06 2006-03-28 Sandisk Corporation Variable programming of non-volatile memory
US7020026B2 (en) * 2004-05-05 2006-03-28 Sandisk Corporation Bitline governed approach for program control of non-volatile memory
KR100645055B1 (ko) * 2004-10-28 2006-11-10 삼성전자주식회사 플래시 메모리 장치 및 그것의 프로그램 방법
US7173859B2 (en) * 2004-11-16 2007-02-06 Sandisk Corporation Faster programming of higher level states in multi-level cell flash memory
US7092290B2 (en) * 2004-11-16 2006-08-15 Sandisk Corporation High speed programming system with reduced over programming
US7120051B2 (en) * 2004-12-14 2006-10-10 Sandisk Corporation Pipelined programming of non-volatile memories using early data
US20060140007A1 (en) * 2004-12-29 2006-06-29 Raul-Adrian Cernea Non-volatile memory and method with shared processing for an aggregate of read/write circuits
US7196928B2 (en) * 2005-04-05 2007-03-27 Sandisk Corporation Compensating for coupling during read operations of non-volatile memory
KR100655442B1 (ko) * 2005-09-01 2006-12-08 삼성전자주식회사 프로그램 스타트 전압을 가변시킬 수 있는 플래시 메모리장치
US7218552B1 (en) * 2005-09-09 2007-05-15 Sandisk Corporation Last-first mode and method for programming of non-volatile memory with reduced program disturb
WO2007149678A2 (en) * 2006-06-19 2007-12-27 Sandisk Corporation Programming defferently sized margins and sensing with compensations at select states for improved read operations in non-volatile memory
US7606084B2 (en) * 2006-06-19 2009-10-20 Sandisk Corporation Programming differently sized margins and sensing with compensations at select states for improved read operations in non-volatile memory
US7457144B2 (en) * 2006-07-19 2008-11-25 Qimonda Flash Gmbh & Co. Kg Memory device and method for verifying information stored in memory cells
US7511996B2 (en) 2006-11-30 2009-03-31 Mosaid Technologies Incorporated Flash memory program inhibit scheme
KR100811274B1 (ko) 2006-12-28 2008-03-07 주식회사 하이닉스반도체 낸드형 플래쉬 메모리소자의 데이터 소거방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1879175A (zh) * 2003-10-20 2006-12-13 桑迪士克股份有限公司 基于非易失性存储器单元的行为的编程方法

Also Published As

Publication number Publication date
JP5203510B2 (ja) 2013-06-05
TWI416527B (zh) 2013-11-21
CN102138181A (zh) 2011-07-27
EP2301033A1 (en) 2011-03-30
US20090323429A1 (en) 2009-12-31
KR101546460B1 (ko) 2015-08-24
KR20110049782A (ko) 2011-05-12
US7800956B2 (en) 2010-09-21
WO2009158350A1 (en) 2009-12-30
JP2011526049A (ja) 2011-09-29
TW201007761A (en) 2010-02-16
ATE535913T1 (de) 2011-12-15
EP2301033B1 (en) 2011-11-30

Similar Documents

Publication Publication Date Title
CN102138181B (zh) 非易失性存储器以及其操作方法
CN102177554B (zh) 补偿在非易失性存储器中的读操作期间的耦合
CN102037516B (zh) 用于增加非易失性存储器中的沟道升压的增强的位线预充电方案
CN102160119B (zh) 非易失性存储器中感测期间的基于数据状态的温度补偿
CN102138182B (zh) 编程并选择性地擦除非易失性存储器
CN102077298B (zh) 在非易失性存储器中的读取干扰减轻
CN101589436B (zh) 在非易失性存储器中使用多个升压模式减少程序干扰
CN102187399B (zh) 使用字线耦合的用于存储器的多趟次编程
CN102292775B (zh) 存储器的适应性擦除和软编程
CN102138183B (zh) 对非易失性存储器的选择性擦除操作
CN102576567B (zh) 用于非易失性存储器中的增强沟道升压的减小的编程脉宽
US8051240B2 (en) Compensating non-volatile storage using different pass voltages during program-verify and read
CN101584004B (zh) 使用早期源极侧升压减少非易失性存储装置中的编程干扰
CN101796590B (zh) 具有源极偏压全位线感测的非易失性存储器
CN101796591B (zh) 使用针对改进感测的不同参考电平的非易失性存储器中的粗略/精细编程验证
CN101779247B (zh) 在非易失性存储器中的读取操作期间减小功耗
CN105190763A (zh) 在编程期间降低非易失性存储装置的nand串选择栅极电压
CN101595527A (zh) 非易失性存储器的最高多级状态的较快编程
CN101715596B (zh) 使用沟道隔离切换的非易失性存储器的升压
JP2010509701A (ja) 複数のブーストモードを使用した不揮発性メモリ内のプログラム妨害の低減

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: 20120625

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

Effective date of registration: 20120625

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.