CN102549673B - 用较小通道电压干扰和浮栅极到控制栅极泄漏对存储器编程 - Google Patents

用较小通道电压干扰和浮栅极到控制栅极泄漏对存储器编程 Download PDF

Info

Publication number
CN102549673B
CN102549673B CN201080034585.9A CN201080034585A CN102549673B CN 102549673 B CN102549673 B CN 102549673B CN 201080034585 A CN201080034585 A CN 201080034585A CN 102549673 B CN102549673 B CN 102549673B
Authority
CN
China
Prior art keywords
word line
programming
memory device
volatile memory
group
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
CN201080034585.9A
Other languages
English (en)
Other versions
CN102549673A (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 Technologies LLC
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 Technologies LLC filed Critical SanDisk Technologies LLC
Publication of CN102549673A publication Critical patent/CN102549673A/zh
Application granted granted Critical
Publication of CN102549673B publication Critical patent/CN102549673B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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
    • 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/10Programming or 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
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3427Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written
    • 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/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data

Landscapes

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

Abstract

通过根据所选字线WLn的WLn-1相邻字线存储元件的状态对所选字线WLn上的分离组中的存储元件进行编程,并且针对每一组将优化通道电压施加到WLn-1,在非易失性存储系统中减少编程干扰。初始地,读取WLn-1上的存储元件的状态。编程迭代包括多个编程脉冲。在第一通道电压(1425)施加到WLn-1的同时,第一编程脉冲(1402)施加到WLn,选择WLn存储元件的第一组(1480,1482,1488)进行编程,并且禁止WLn存储元件的第二组(1484,1486)。接下来,在第二通道电压(1426)施加到WLn-1的同时,第二编程脉冲(1404)施加到WLn,选择WLn存储元件的第二组进行编程,并且禁止WLn存储元件的第一组。组可以包括一个或更多个数据状态(A,B,C,E)。

Description

用较小通道电压干扰和浮栅极到控制栅极泄漏对存储器编程
技术领域
本申请涉及非易失性存储器。
背景技术
半导体存储器已经变得日益流行用于各种电子设备中。例如,非易失性半导体存储器用在蜂窝电话、数码相机、个人数字助理、移动计算设备、非移动计算设备和其它设备中。电可擦除可编程只读存储器(ElectricallyErasable Programmable Read Only Memory,EEPROM)和闪速存储器是最流行的非易失性半导体存储器。对于也是一类EEPROM的闪速存储器,与传统全功能EEPROM相反,可以在一个步骤中擦除整个存储器阵列或存储器的一部分的内容。
传统EEPROM和闪速存储器都利用位于半导体衬底中的沟道区域之上并且与沟道区域隔离的浮栅极。浮栅极位于源极与漏极区域之间。控制栅极被提供在浮栅极上方并且与浮栅极隔离。这样形成的晶体管的阈值电压(Vth)受控于在浮栅极上保持的电荷的量。也就是说,浮栅极上的电荷等级控制在晶体管导通以允许其源极与漏极之间导通之前必须施加到控制栅极的最小电压量。
一些EEPROM和闪速存储器器件具有带有用于存储两个电荷范围的浮栅极的存储元件或单元,因此,可以在两个状态(例如擦除状态和编程状态)之间对存储元件进行编程/擦除。因为每个存储元件可以存储一比特数据,所以该闪速存储器器件有时被称为二进制闪速存储器器件。
通过标识多个独特的允许/有效编程的阈值电压范围来实现多状态(也称为多电平)闪速存储器器件。每一独特阈值电压范围与针对在存储器器件中编码的数据比特集合的预定值对应。例如,当可以在与四个独特阈值电压范围对应的四个离散电荷带的一个中放置存储元件时,每一存储元件可以存储两个比特的数据。
通常,在编程操作期间施加到控制栅极的编程电压Vpgm被施加为幅度随时间增大的脉冲的序列。编程电压可以施加到选定的字线。在一种可能方法中,脉冲的幅度如下增大:每一相继的脉冲增大预定阶跃大小(例如0.2-0.4V)。Vpgm可以施加到闪速存储器元件的控制栅极。在编程脉冲之间的时段中,执行验证操作。也就是说,在相继编程脉冲之间读取正被并行编程的存储元件组的每一元件的编程电平,以确定其是否等于或大于元件被编程到的验证电平。对于多状态闪速存储器元件的阵列,可以对元件的每一状态执行验证步骤,以确定元件是否已经到达其与数据关联验证电平。例如,能够在四个状态中存储数据的多状态存储器元件可能需要执行针对三个比较点的验证操作。
此外,当对EEPROM或闪速存储器器件(例如NAND串中的NAND闪速存储器器件)进行编程时,通常Vpgm施加到控制栅极,并且位线接地,导致来自存储元件的沟道的电子注入到浮栅极。当电子在浮栅极中累积时,浮栅极变为负向地充电,并且存储元件的阈值电压上升,使得其被看作处于编程状态。
然而,继续成为问题的一个难题是编程干扰(program disturb)。编程干扰可以在选定的NAND串的编程期间在其它禁止的未选定的NAND串处产生。当未选定的非易失性存储元件的阈值电压归因于其它非易失性存储元件的编程而变化时,编程干扰产生。编程干扰可以在先前编程的存储元件以及尚未编程的已擦除的存储元件上产生。
附图说明
图1a是NAND串的顶视图。
图1b是NAND串的等效电路图。
图2是NAND串的截面图。
图3是描述三个NAND串的电路图。
图4是NAND闪速存储元件的阵列的框图。
图5是使用单行/列解码器和读/写电路的非易失性存储器系统的框图。
图6是描述感测块的一个实施例的框图。
图7示出将存储器阵列组织为针对全部位线存储器架构或奇偶存储器架构的块的示例。
图8描述阈值电压分布和单通道(one-pass)编程的示例集合。
图9描述阈值电压分布和两通道(two-pass)编程的示例集合。
图10a-图10c示出各个阈值电压分布并且描述用于对非易失性存储器进行编程的处理。
图11描述用于存储元件集合的多通道(multi-pass)编程操作。
图12a描述示出编程电压从控制栅极到处于相对低状态下的相邻存储元件的浮栅极的耦合的NAND串的截面图。
图12b描述示出从处于相对高状态的相邻存储元件的浮栅极到接收编程电压的控制栅极的电子发射的NAND串的截面图。
图13a描述在多脉冲编程技术的第一实施例中在编程操作期间施加到所选字线的脉冲序列。
图13b描述在图13a的编程操作期间施加到相邻未选字线的脉冲序列。
图13c描述应用于存储元件集合的多脉冲编程技术的第一实施例的示例应用。
图14a描述在多脉冲编程技术的第二实施例中在编程操作期间施加到所选字线的脉冲序列。
图14b描述在图14a的编程操作期间施加到相邻未选字线的脉冲序列。
图14c描述施加到存储元件集合的多脉冲编程技术的第二实施例的示例应用。
图15描述与图13a-图14c对应的编程技术。
图16a描述与图13a对应的不同编程脉冲幅度。
图16b描述与图14a对应的不同编程脉冲幅度。
图16c描述在多脉冲编程技术的第三实施例中在编程操作期间施加到所选字线的脉冲序列。
图17a描述在多脉冲编程技术的第四实施例中在编程操作期间施加到所选字线的脉冲序列。
图17b描述与图17a对应的不同编程脉冲幅度。
图17c描述与图17a对应的编程技术。
图17d描述与图17a对应的替代编程技术。
图18a描述在多脉冲编程技术的第五实施例中在编程操作期间施加到所选字线的脉冲序列。
图18b描述在图18a的编程操作期间施加到相邻未选字线的脉冲序列。
图18c描述施加到存储元件集合的多脉冲编程技术的第五实施例的示例应用。
图19描述与图18a对应的编程技术。
图20a描述在多脉冲编程技术的第六实施例中在编程操作期间施加到所选字线的脉冲序列。
图20b描述与图20a对应的编程技术。
图21a描述在多脉冲编程技术的第七实施例期间用于各个位线的数据锁存器的使用。
图21b描述与图21a对应的编程技术。
具体实施方式
提供一种方法和非易失性存储系统,其中,通过优化地设置未选定的字线上的通道电压(pass voltage)来减少关于编程-擦除周期的编程干扰和降级。
在分离组中对所选字线WLn上的存储元件根据其WLn-1相邻存储元件的状态进行编程。此外,优化的通道电压针对每一组施加到WLn-1。组可以包括一个或多个数据状态下的存储元件。
合适的存储器系统的一个示例使用NAND闪速存储器结构,其在两个选择栅极之间布置串联的多个晶体管。串联的晶体管和选择栅极被称为NAND串。图1a是示出一个NAND串的顶视图。图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每个均是存储器单元。在其它实施例中,存储器单元可以包括多个晶体管,或可以与描述的存储器单元不同。选择栅极120连接到选择线SGD。选择栅极122连接到选择线SGS。
图2提供上述NAND串的截面图。NAND串的晶体管形成在p阱区域140中。p阱区域进而可以在p型衬底144的n阱区域142内。每一晶体管包括堆叠的栅极结构,该栅极结构包括控制栅极(100CG、102CG、104CG和106CG)和浮栅极(100FG、102FG、104FG和106FG)。在氧化物或其它电介质膜的顶部p阱的表面上形成浮栅极。控制栅极在浮栅极之上,多晶硅间(inter-polysilicon)电介质层使控制栅极和浮栅极分离。存储器单元(100、102、104和106)的控制栅极形成字线。在相邻单元之间共享N+掺杂层130、132、134、136和138,由此单元彼此串联,以形成NAND串。这些N+掺杂层形成单元中的每一个的源极和漏极。例如,N+掺杂层130充当晶体管122的漏极和晶体管106的源极,N+掺杂层132充当晶体管106的漏极和晶体管104的源极,N+掺杂层134充当晶体管104的漏极和晶体管102的源极,N+掺杂层136充当晶体管102的漏极和晶体管100的源极,以及N+掺杂层138充当晶体管100的漏极和晶体管120的源极。N+掺杂层126连接到NAND串的位线,而N+掺杂层128连接到多个NAND串的公共源极线。
注意,虽然图1a、图1b和图2示出NAND串中的四个存储器单元,但在此描述的技术所使用的NAND串可以具有少于四个存储器单元或多于四个存储器单元。例如,一些NAND串将包括8个、16个、32个存储器单元或更多个存储器单元。
每一存储器单元可以存储以模拟形式或数字形式表示的数据。当存储一个比特的数字数据时,存储器单元的可能阈值电压的范围划分为两个范围,其是分配的逻辑数据“1”和“0”。在NAND型闪速存储器的一个示例中,在擦除存储器单元之后电压阈值为负,并且被定义为逻辑“1”。在编程操作之后,阈值电压为正,并且被定义为逻辑“0”。当阈值电压为负并且通过将0伏特施加到控制栅极来尝试读取时,存储器单元将导通,以指示存储了逻辑1。当阈值电压为正并且通过将0伏特施加到控制栅极来尝试读取操作时,存储器单元将不导通,这指示存储逻辑零。
存储器单元也可以存储多个状态,由此存储多个比特的数字数据。在存储多个数据状态的情况下,阈值电压窗口划分为状态的数量。例如,如果使用四个状态,则将存在分配给数据值“11”、“10”、“01”和“00”的四个阈值电压范围。在NAND型存储器的一个示例中,在擦除操作之后的阈值电压为负,并且被定义为“11”。正阈值电压用于“10”、“01”和“00”的状态。在一些实现方式中,使用格雷码分配(Gray codeassignment)来将数据值(例如逻辑状态)分配给阈值范围,以使得如果浮栅极的阈值电压错误地变化为相邻物理状态,则将仅影响一个比特。编程到存储器单元的数据与单元的阈值电压范围之间的具体关系取决于适用于存储器单元的数据编码方案。
也可以使用除了NAND闪速存储器之外的其它类型的非易失性存储器。
在闪速EEPROM系统中有用的另一类型的存储器单元利用非导电电介质材料替代导电浮栅极来以非易失性方式存储电荷。以氧化硅、氮化硅和氧化硅(“ONO”)形成的三层电介质夹在存储器单元通道上的导电控制栅极与半导通衬底的表面之间。通过将电子从单元沟道注入到氮化物来对单元进行编程,在此,它们被捕获并且存储在有限区域中。该存储的电荷然后以可检测的方式改变单元的沟道的一部分的阈值电压。通过将热空穴(hot hole)注入到氮化物来擦除单元。相似的单元可以提供在分割栅极(split-gate)配置中,其中,掺杂多晶硅栅极在存储器单元沟道的一部分上延伸,以形成分离选择晶体管。
在另一方法中,在每一NROM单元中存储两个比特,其中,ONO电介质层在源极和漏极扩散之间的沟道上而延伸。用于一个数据比特的电荷定位在漏极附近的电介质层中,用于另一数据比特的电荷定位在源极附近的电介质层中。通过分别读取电介质内的空间分离电荷存储区域的二进制状态来获得多状态数据存储。
图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”的状态。编程到存储元件的数据与元件的阈值电压范围之间的具体关系取决于适于存储元件的数据编码方案。
当对闪速存储元件进行编程时,编程电压施加到存储元件的控制栅极,并且与存储元件关联的位线接地。来自沟道的电子注入到浮栅极。当电子在浮栅极中累积时,浮栅极变为负向充电,并且存储元件的Vth上升。为了将编程电压施加到正被编程的存储元件的控制栅极,在适当的字线上施加编程电压。如上所述,NAND串中的每一个中的一个存储元件共享同一字线。例如,当对图3的存储元件324进行编程时,编程电压也将施加到存储元件344和364的控制栅极。
然而,编程干扰可能在其它NAND串的编程期间在禁止的NAND串处并且有时在被编程的NAND串自身处产生。当未选定的非易失性存储元件的阈值电压归因于其它非易失性存储元件的编程而变化时,编程干扰产生。编程干扰可以在先前编程的存储元件以及尚未编程的已擦除的存储元件上产生。各个编程干扰机制可以限制非易失性存储器件(例如NAND闪速存储器)的可用操作窗口。
例如,如果NAND串320被禁止(例如,其为不包含当前正编程的存储元件的未选定NAND串),并且正对NAND串340进行编程(例如,其为包含当前正编程的存储元件的选定NAND串),则编程干扰可以产生在NAND串320处。例如,如果通道电压Vpass为低,则禁止的NAND串的沟道被不良好地增强(boost),并且可能无意地对未选定的NAND串的选定字线进行编程。在另一可能的情况下,栅极感应漏极泄漏(GateInduced Drain Leakage,GIDL)或其它泄漏机制可能降低增大的电压,导致相同问题。其它效应(例如归因于与稍后编程的其它相邻存储元件的电容性耦合的电荷存储元件的Vth的变化)也可以造成编程干扰。
图4示出NAND存储元件(例如图1a和图1b所示的NAND存储元件)的阵列400的示例。沿着每一列,位线406耦合到NAND串450的漏极选择栅极的漏极端426。沿着NAND串的每一行,源极线404可以连接NAND串的源极选择栅极的所有源极端428。
存储元件的阵列划分为存储元件的大量的块。如对于闪速EEPROM系统常见的那样,块是擦除的单位。也就是说,每一块包含一起擦除的最小数量的存储元件。每一块通常划分为多个页面。页面是编程的最小单位。通常在存储元件的一行中存储一个或多个数据页面。例如,一行通常包含若干交织的页面,或其可以构成一个页面。将对页面的所有存储元件进行一起读取或编程。此外,页面可以存储来自一个或多个扇区的用户数据。扇区是由主机使用作为适当用户数据单位的逻辑概念;其通常不包含受限于控制器的开销数据。开销数据可以包括已经从扇区的用户数据计算的纠错码(Error Correction Code,ECC)。(下述)控制器的部分当数据编程到阵列中时计算ECC,并且还当从阵列读取数据时检查它。替代地,ECC和/或其它开销数据存储在与它们所属的用户数据不同的页面或甚至不同的块中。
用户数据的扇区通常是与磁盘驱动器中的扇区的大小对应的512字节。开销数据通常是附加的16-20字节。大量页面形成块,例如,从8个页面,直到32个、64个、128个或更多个页面。在一些实施例中,一行NAND串包括一个块。
通过将p阱提升到擦除电压(例如14-22V)达到足够的时间段并且将所选块的字线接地而源极和位线浮置,在一个实施例中擦除存储器存储元件。归因于电容性耦合,未选字线、位线、选择线以及c-源极也提升到擦除电压的很大部分。因此通常通过Fowler-Nordheim隧道化机制(Fowler-Nordheim tunneling mechanism),把强电场施加到所选存储元件的隧道氧化物层并且随着浮栅极的电子发射到衬底侧,擦除所选存储元件的数据。随着电子从浮栅极传递到p阱区域,所选存储元件的阈值电压降低。可以对整个存储器阵列、分离块或存储元件的另一单位执行擦除。
图5是使用单行/列解码器和读/写电路的非易失性存储器系统的框图。该图示出根据一个实施例的具有用于对存储元件的页面并行地进行读取和编程的读/写电路的存储器器件596。存储器器件596可以包括一个或多个存储器裸片598。存储器裸片598包括存储元件400、控制电路510和读/写电路565的二维阵列。在一些实施例中,存储元件的阵列可以是三维的。存储器阵列400可经由行解码器530通过字线以及经由列解码器560通过位线寻址。读/写电路565包括多个感测块500,并且允许对存储元件的页面进行并行读取或编程。通常,控制器550被包括在同一存储器器件596(例如可移除存储卡)中作为一个或多个存储器裸片598。经由线路520在主机与控制器550之间并且经由线路518在控制器与一个或多个存储器裸片598之间传递命令和数据。
控制电路510与读/写电路565配合,以对存储器阵列400执行存储器操作。控制电路510包括状态机512、片上地址解码器514以及功率控制模块516。状态机512提供存储器操作的芯片级别控制。片上地址解码器514将主机或存储器控制器使用的地址接口之间的地址接口提供给由解码器530和560使用的硬件地址。功率控制模块516控制在存储器操作期间提供给字线和位线的功率和电压。
在一些实现中,可以组合图5的组件中的一些。在各个设计中,除了存储元件阵列400之外的组件中的一个或多个(单独或组合)可以被看作管理或控制电路。例如,一个或多个管理或控制电路可以包括控制电路510、状态机512、解码器514/560、功率控制模块516、感测块500、读/写电路565、控制器550等中的任何一个或组合。
在另一实施例中,非易失性存储器系统使用双行/列解码器和读/写电路。在阵列的相对侧,以对称方式来实现通过各个外围电路对存储器阵列400的存取,从而每一侧上的存取线路和电路的密度减少一半。因此,该行解码器分离为两个行解码器,该列解码器分离为两个列解码器。相似地,读/写电路分离为从阵列400的底部连接到位线的读/写电路和从阵列400的顶部连接到位线的读/写电路。以此方式,读/写模块的密度基本上减少一半。
图6是描述感测块的一个实施例的框图。单独感测块500划分为被称为感测模块580的核心部分和公共部分590。在一个实施例中,将存在用于每一位线的分离感测模块580以及用于多个感测模块580集合的一个公共部分590。在一个示例中,感测块将包括一个公共部分590和八个感测模块580。组中的感测模块中的每一个将经由数据总线572与相关联的公共部分进行通信。
感测模块580包括感测电路570,其确定连接的位线中的传导电流是高于还是低于预定阈值电平。感测模块580还包括位线锁存器582,其用于对连接的位线设置电压条件。例如,位线锁存器582中锁存的预定状态将导致所连接的位线被拉到指示程序禁止的状态(例如1.5-3V)。
公共部分590包括处理器592、数据锁存器594集合以及在数据锁存器594集合与数据总线520之间耦合的I/O接口596。处理器592执行计算。例如,其功能之一在于:确定感测到的存储元件中存储的数据,并且将确定的数据存储在该组数据锁存器中。数据锁存器594集合用于存储在读取操作期间处理器592确定的数据比特。其还用于存储在编程操作期间从数据总线520导入的数据比特。导入的数据比特表示待编程到存储器中的写入数据。I/O接口596提供数据锁存器594与数据总线520之间的接口。
在读取或感测期间,系统的操作在状态机512的控制下,状态机512控制将不同控制栅极电压提供给被寻址的存储元件。随着其通过与存储器支持的各个存储器状态对应的各个预定控制栅极电压,感测模块580可以在这些电压中的一个处跳转,并且经由总线572从感测模块580向处理器592提供输出。此时,处理器592通过考虑感测模块的跳转事件以及关于从状态机经由输入线路593施加的控制栅极电压的信息,来确定所得的存储器状态。其然后计算用于存储器状态的二进制编码,并且将所得数据比特存储到数据锁存器594。在内核部分的另一实施例中,位线锁存器582服务于两个职责:作为用于对感测模块580的输出进行锁存的锁存器,并且还作如上所述的位线锁存器。
一些实现可以包括多个处理器592。在一个实施例中,每一处理器592将包括输出线路(未描述),从而输出线路中的每一个线或(wired-OR)在一起。在一些实施例中,在连接到线OR线路之前,输出线路翻转。该配置使得能够在当编程处理已经完成时的编程验证处理期间进行快速确定,这是因为接收线OR的状态机可以确定所有被编程的比特何时已经到达期望的级别。例如,当每一比特已经达到其期望级别时,用于该比特的逻辑零将被发送到线OR线路(或数据1翻转)。当所有比特输出数据0(或数据1翻转)时,则状态机得知终止编程处理。因为每一处理器与八个感测模块进行通信,所以状态机需要八次读取线OR线路,或逻辑被添加到处理器592以累计相关联的位线的结果,以使得状态机仅需读取线OR线路一次。相似地,通过正确地选取逻辑电平,全局状态机可以检测第一比特何时改变其状态,并且相应地改变算法。
在编程或验证期间,从数据总线520在数据锁存器594集合中存储待编程的数据。在状态机的控制下,编程操作包括施加到被寻址的存储元件的控制栅极的一系列编程电压脉冲。每一编程脉冲后随读回(验证),以确定是否已经将存储元件编程为期望存储器状态。处理器592监控相对于期望存储器状态的读回存储器状态。当二者一致时,处理器592设置位线锁存器582,从而使得位线下拉到指示程序禁止的状态。即使编程脉冲出现在其控制栅极上,该操作也禁止耦合到位线的存储元件被进一步编程。在其它实施例中,处理器初始地加载位线锁存器582,并且感测电路在验证处理期间将其设置为禁止值。
数据锁存器堆栈594包含与感测模块对应的数据锁存器的堆栈。在一个实施例中,每个感测模块580有三个数据锁存器。在一些实现中(但并非强迫),数据锁存器实现为移位寄存器,从而其中存储的并行数据转换为用于数据总线520的串行数据,反之亦然。在优选实施例中,与m个存储元件的读/写块对应的所有数据锁存器可以链接在一起,以形成块移位寄存器,从而可以通过串行传送来输入或输出数据块。具体地说,读/写模块的存储体可被调整为使得其数据锁存器集合中的每一个将按顺序将数据移位进入或离开数据总线,仿佛它们是用于整个读/写块的移位寄存器的部分。
图7示出将存储器阵列组织为全数据线存储器架构或奇偶存储器架构的块的示例。描述存储器阵列400的示例性结构。作为一个示例,描述分区为1,024块的NAND闪速EEPROM。可以同时地擦除每一块中存储的数据。在一个实施例中,块是同时地擦除的存储元件的最小单位。在每一块中,在该示例中,存在与BL0、BL1、......、BL8511对应的8,512列。在被称为全数据线(all bit line,ABL)架构(架构710)的一个实施例中,可以在读取和编程操作期间同时选择块的所有位线。可以同时对沿着公共字线并且连接到任何位线的存储元件进行编程。
在所或的示例中,四个存储元件串联,以形成NAND串。虽然四个存储元件示出为被包括在每一NAND串中,但可以使用多于或少于四个(例如16、32、64或另一数量)。NAND串的一个端子经由(连接到选择栅极漏极线SGD的)漏极选择栅极连接到对应位线,另一端子经由(连接到选择栅极源极线SGS的)源极选择栅极连接到c-源极。
在被称为奇偶架构(架构700)的另一实施例中,位线划分为偶数位线(BLe)和奇数位线(BLo)。在奇/偶数位线架构中,在一个时间对沿着公共字线并且连接到奇数位线的存储元件进行编程,而在另一时间对沿着公共字线并且连接到偶数位线的存储元件进行编程。在每一块中,在该示例中,存在划分为偶数列和奇数列的8,512列,并且六十四个存储元件示出在列中串联,以形成NAND串。
在读取和编程操作的一个配置期间,同时选择4,256个存储元件。所选择的存储元件具有相同字线和同种位线(例如,偶数或奇数)。因此,可以同时对形成逻辑页面的532字节的数据进行读取或编程,并且存储器的一个块可以存储至少八个逻辑页面(四个字线,分别具有奇数页面和偶数页面)。对于多状态存储元件,当每一存储元件存储两个比特的数据时,在这些两个比特中的每一个存储在不同页面中的情况下,一个块存储十六个逻辑页面。也可以使用其它大小的块和页面。
对于ABL或奇偶架构,可以通过将p阱提升到擦除电压(例如20V)并且将所选块的字线接地来擦除存储元件。源极和位线是浮置的。可以对整个存储器阵列、单独块或存储元件的作为存储器器件的部分的另一单位执行擦除。电子从存储元件的浮栅极传递到p阱区域,从而存储元件的Vth变为负数。
在读取和验证操作中,选择栅极(SGD和SGS)连接到2.5-4.5V的范围中的电压,未选字线(例如,当WL2是所选字线时,WL0、WL1和WL3)提升到读取的通道电压VREAD(通常,4.5至6V的范围中的电压),以使得晶体管作为通过栅极(pass gate)工作。所选字线WL2连接到如下电压:对于每一读取和验证操作指定该电压的电平以确定所关注的存储元件的Vth是在该电平之上还是之下。例如,在用于二电平存储元件的读取操作中,所选字线WL2可以接地,从而检测Vth是否高于0V。在针对二电平存储元件的验证操作中,所选字线WL2连接到0.8V,例如,从而验证Vth是否已经达到至少0.8V。源极和p阱处于0V。所选位线(假设偶数位线(BLe))被预先充电为例如0.7V的电平。如果Vth高于字线上的读取或验证电平,则因为不导通的存储元件,所以与感兴趣的存储元件关联的位线(BLe)的电势电平保持高电平。另一方面,如果Vth低于读取或验证电平,则因为导通的存储元件对位线放电,所以涉及的位线(BLe)的电势电平下降到低电平,例如小于0.5V。由此可以通过连接到位线的电压比较器感测放大器来检测存储元件的状态。
图8描述阈值电压分布和一遍(one-pass)编程的示例集合。对于每一存储元件存储两个比特的数据的情况,提供用于存储元件阵列的示例阈值电压分布。对于擦除的(E状态)存储元件提供第一阈值电压分布800。三个阈值电压分布802、804和806分别表示编程的状态A、B和C。在一个实施例中,E分布中的阈值电压为负,A、B和C分布中的阈值电压为正。
可以通过保持对阈值电压被确定为超过对应验证电平的存储元件进行计数来确定处于特定状态下的存储元件的数量。
每一独特阈值电压范围与用于数据比特集合的预定值对应。在编程到存储元件中的数据与存储元件的阈值电压电平之间的具体关系取决于适于存储元件的数据编码方案。在一个实施例中,使用格雷码分配来将数据值分配给阈值电压范围,以使得如果浮栅极的阈值电压错误地变化为其相邻物理状态,则将仅影响一个比特。一个示例将“11”分配给阈值电压范围E(状态E),将“10”分配给阈值电压范围A(状态A),将“00”分配给阈值电压范围B(状态B),将“01”分配给阈值电压范围C(状态C)。然而,在其它实施例中,不使用格雷码。虽然示出四个状态,但也可以使用包括包含多于或少于四个状态的结构的其它多状态结构。
还提供三个读取基准电压Vra、Vrb和Vrc用于从存储元件读取数据。通过测试给定存储元件的阈值电压是在Vra、Vrb和Vrc之上还是之下,系统可以确定存储元件所处的状态,例如编程条件。
此外,提供三个验证基准电压Vva、Vvb和Vvc。当将存储元件编程为状态A时,系统将测试这些存储元件是否具有大于或等于Vva的阈值电压。当将存储元件编程为状态B时,系统将测试这些存储元件是否具有大于或等于Vvb的阈值电压。当将存储元件编程为状态C时,系统将确定这些存储元件是否具有大于或等于Vvc的阈值电压。
在被称为全序列编程的一个实施例中,可以将存储元件从擦除状态E直接编程为编程状态A、B或C中的任一个。例如,可以首先擦除待编程的存储元件的群组,以使得群组中的所有存储元件处于擦除状态E下。例如图16a中描述的一系列编程脉冲将然后用于将存储元件直接编程为状态A、B或C。在将一些存储元件从状态E编程为状态A的同时,将其它存储元件从状态E编程为状态B,和/或从状态E编程为状态C。当在WLn上从状态E编程为状态C时,由于与当从状态E编程为状态A或从状态E编程为状态B时电荷的改变相比,归属于WLn的浮栅极上的电荷量的改变最大,所以对于归属于WLn-1的相邻浮栅极的寄生耦合的量达到最大。当从状态E编程为状态B时,对于相邻浮栅极的耦合量更少。当从状态E编程为状态A时,甚至更加减少耦合量。
Vt表示不是用于数据状态的验证电平的验证电平。其可以用作触发,以启动第二编程阶段,如以下例如结合图16a和图16b进一步讨论的那样。在此情况下,Vt分别在Vva与Vvb、用于数据状态A和B的验证电平之间。
另一选项是使用用于一个或多个数据状态的低验证电平和高验证电平。例如,VvaL和VvaH是用于A状态的较低和较高验证电平,VvbL和VvbH是用于B状态的较低和较高验证电平。在编程期间,当被编程为作为目标状态的A状态的存储元件的阈值电压超过VvaL时,例如通过将相关联的位线电压提升到编程或非禁止电平与完全禁止电平之间的电平,使存储元件的编程速度减缓。这通过避免阈值电压的大步长增加而提供更大的精度。当阈值电压达到VvaH时,锁定存储元件以防进一步编程。相似地,当被编程为作为目标状态的B状态的存储元件的阈值电压超过VvbL时,存储元件的编程速度减缓,当阈值电压达到VvbH时,锁定存储元件以防进一步编程。这种编程技术已经被称为快速通过写入或双验证技术。注意,在一种方法中,由于一些过冲(overshoot)通常可接受,因此双验证电平不用于最高状态。反之,在擦除状态之上,并且在最高状态之下,双验证电平可以用于编程状态。
图9示出对存储用于两个不同页面(下页面和上页面)的数据的多状态存储元件进行编程的双通技术的示例。通过重复来自图8的阈值电压分布800、802、804和806来描述四个状态。这些状态以及它们表示的比特为:状态E(11)、状态A(10)、状态B(00)以及状态C(01)。对于状态E,两个页面都存储“1”。对于状态A,下页面存储“0”,上页面存储“1”。对于状态B,两个页面都存储“0”。对于状态C,下页面存储“1”,上页面存储“0”。注意,虽然具体比特模式已经分配给状态中的每一个,但也可以分配不同的比特模式。
在第一编程通道中,根据待编程到下逻辑页面的比特来设置存储元件的阈值电压电平。如果该比特是逻辑“1”,则由于作为已经较早擦除的结果,其处于适当的状态,因此阈值电压不改变。然而,如果待编程的比特是逻辑“0”,则存储元件的阈值电平增加到状态A,如箭头900所示。这样终止第一遍编程通道。
在第二编程通道中,根据编程到上逻辑页面的比特来设置存储元件的阈值电压电平。根据下页面比特的编程,如果上逻辑页面比特将要存储逻辑“1”,则由于存储元件在状态E或A中的一个下,因此没有编程产生,其二者都承载“1”的上页面比特。如果上页面比特将要是逻辑“0”,则改变阈值电压。如果第一通道导致存储元件保持在擦除状态E下,则在第二阶段,对存储元件进行编程,从而阈值电压增加到状态C内,如箭头920描述的那样。如果作为第一编程通道的结果已经将存储元件编程为状态A,则在第二通道中进一步对存储元件进行编程,从而阈值电压增加到状态B内,如箭头910描述的那样。第二通道的结果是将存储元件编程为以下状态:该状态被指定为针对上页面存储逻辑“0”,而不改变用于下页面的数据。在图8和图9中,在相邻字线上耦合到浮栅极的量取决于最终状态。
在一个实施例中,如果写入足够数据以填充整个页面,则可以将系统设置为执行全序列写入。如果对于全页面没有写入足够数据,则编程处理可以对用接收到的数据编程的下页面进行编程。当接收到后续数据时,系统将然后对上页面进行编程。在又一实施例中,系统可以在对下页面进行编程的模式下开始写入,并且如果随后接收足够的数据则转换为全顺序编程模式,以填充存储元件的整个(或大部分)字线。
图10a-图10c公开用于对非易失性存储器进行编程的另一处理,其通过对于任何特定存储元件在写入用于先前页面的相邻存储元件之后针对特定页面写入该特定存储元件,来减少浮栅极到浮栅极耦合的效应。在一个示例实现中,非易失性存储元件使用四个数据状态、每存储元件存储两个比特的数据。例如假设状态E是擦除状态,并且状态A、B和C是编程状态。状态E存储数据11。状态A存储数据01。状态B存储数据10。状态C存储数据00。因为两个比特在相邻状态A与B之间都改变,所以这是非格雷编码。也可以使用数据到物理数据状态的其它编码。每一存储元件存储两个页面的数据。出于参照目的,这些数据页面将被称为上页面和下页面;然而,它们可以被给予其它标记。参照状态A,上页面存储比特0,下页面存储比特1。参照状态B,上页面存储比特1,下页面存储比特0。参照状态C,两个页面都存储比特数据0。
编程处理是两步处理。在第一步骤中,对下页面进行编程。如果下页面将要保持数据1,则存储元件状态保持在状态E(分布1000)。如果数据将要被编程为0,则存储元件的阈值电压上升,从而存储元件被编程为状态B′(分布1010)。图10a因此示出从状态E到状态B′的存储元件的编程。状态B′是中间状态B;因此,验证点描述为Vvb′,其低于Vvb。
注意,分布1010在到达分布1010之前可以具有B′状态存储元件经历的相关联的临时或中间分布(未示出)。
在一个实施例中,在将存储元件从状态E编程为状态B′之后,将然后对NAND串中的相邻存储元件(WLn+1)针对其下页面进行编程。例如,回看图2,在对用于存储元件106的下页面进行编程之后,将对用于存储元件104的下页面进行编程。在对存储元件104进行编程之后,如果存储元件104具有从状态E上升到状态B′的阈值电压,则浮栅极对浮栅极耦合效应将提升存储元件106的视在阈值电压。这将具有将用于状态B′的阈值电压分布扩宽为如图10b的阈值电压分布1012描述的阈值电压分布的效应。当对上页面进行编程时,将修正阈值电压分布的这种视在扩宽。E状态也可能扩宽到较小的程度,如分布1002描述的那样。
图10c描述对上页面进行编程的处理。如果存储元件处于擦除状态E并且上页面将要保持在1,则存储元件将保持在状态E下(分布1002)。如果存储元件处于状态E下并且其上页面数据将要被编程为0,则存储元件的阈值电压将提升,以使得存储元件处于状态A下(分布1004)。如果存储元件处于中间阈值电压分布1012下并且上页面数据将要保持在1,则存储元件将被编程为最终状态B(分布1006)。如果存储元件处于中间阈值电压分布1012下并且其上页面数据变为数据0,则存储元件的阈值电压将提升,从而存储元件处于状态C下(分布1008)。因为仅相邻存储元件的上页面编程将具有对于给定存储元件的视在阈值电压的效应,所以图10a-图10c描述的处理减少了浮栅极对浮栅极耦合的效应。替代的状态编码的示例是:当上页面数据为1时,从分布1012移动到状态C,当上页面数据为0时,移动到状态B。
虽然图10a-图10c提供关于四个数据状态和两个页面的数据的示例,但教导的概念可以通过多于或少于四个状态以及多于或少于两个页面而应用于其它实现。例如,具有每存储元件八个或十六个状态的存储器器件当前正被规划或在生产中。
图11描述用于存储元件集合的多通道编程操作。所描述的组件可以是存储元件、字线和位线的更大集合的子集。在一个可能编程操作中,在第一编程通道中对WLn-1上的存储元件(例如存储元件1102、1104和1106)进行编程。该步骤由加圆圈的“1”表示。接下来(“2”),在第一编程通道中对WLn上的存储元件(例如存储元件1112、1114和1116)进行编程。在该示例中,当针对编程来选择字线时,验证操作产生在每一编程脉冲之后。在WLn上的验证操作期间,一个或多个验证电压施加到WLn,并且通道电压施加到包括WLn-1和WLn+1的字线。通道电压用于使未选存储元件导通,从而感测操作可以针对所选字线而产生。接下来(“3”),在第二编程通道中对WLn-1上的存储元件进行编程。接下来(“4”),在第一编程通道中对WLn+1上的存储元件进行编程。接下来(“5”),在第二编程通道中将WLn上的存储元件编程为它们的最终各个状态。
归因于WLn+1上的编程,WLn上的存储元件被趋向于提升并加宽用于每一状态的其阈值电压分布的耦合来影响。这可以在单遍和多遍编程期间产生。在单遍编程中,在移动到下一字线(例如WLn-1,然后WLn,然后WLn+1)之前对每一字线进行完全地编程。
图12a描述示出编程电压从控制栅极到处于相对低状态下的相邻存储元件的浮栅极的耦合的NAND串的截面图。衬底1250包括源极/漏极区域1240、1241、1242和1243。在衬底上形成存储元件1210、1220和1230。存储元件1210包括WLn-1控制栅极1211和浮栅极1212。存储元件1220包括WLn控制栅极1221和浮栅极1222。存储元件1230包括WLn+1控制栅极1231和浮栅极1232。存储元件1220正被编程,并且经由WLn接收Vpgm,而存储元件1210和1230接收通道电压Vpass。
随着存储器器件(例如NAND器件)进一步缩减尺寸,存储元件之间的干扰在确定存储元件的特性中扮演日益重要的角色。这些干扰中的一个是位线对字线干扰。在其它问题当中,这导致在编程期间的两个主要问题。首先,在WLn的编程期间,WLn上的偏置是Vpgm,而相邻的未选字线WLn-1和WLn+1通常偏置为Vpass。有时,未选字线单独地在不同的Vpass电平。字线/控制栅极1221上的Vpgm根据耦合比率r2耦合到浮栅极1212和1232,由此提升浮栅极1212和1232的电势。这增加了WLn+1/n-1存储元件上的Vpass干扰的概率。虽然每一字线上的存储元件可以受影响而接收Vpass干扰,但耦合到相邻浮栅极的Vpgm使得它们最易受Vpass干扰影响。实际上,当相邻存储元件在相对低状态(例如E或A状态)时,在它们的浮栅极中将存在相对较少的电子,这导致用于浮栅极1212.相对较高的电势。来自控制栅极1221的耦合把浮栅极电势提升为高得足以产生将导致存储元件1212和1232的阈值电压的增加的编程干扰,以使得E状态存储元件可以读作A状态存储元件(E到A失败)。
归因于它们的较低阈值电压,擦除状态存储元件比较高状态存储元件(例如C状态存储元件)远更易受Vpass干扰影响。此外,Vpass干扰主要产生在编程沟道中,例如在所选NAND串中,而不在编程期间被增强的禁止沟道(未选NAND串)中。归因于增强(boosting),浮栅极与沟道之间的场远低于编程沟道中的场,从而由于Vpass干扰而导致的明显电子隧道化不发生。降低WLn+1/n-1上的Vpass可以减少Vpass干扰的问题,这是因为其降低了浮栅极与沟道之间的场。然而,较低的Vpass也使得WLn存储元件上的编程饱和(program saturation)降级。因此,一个Vpass电平对于不同数据状态下的WLn-1/n+1存储元件不是最优的。
图12b描述示出从处于相对高状态的相邻存储元件的浮栅极到接收编程电压的控制栅极的电子发射的NAND串的截面图。在此,浮栅极1212具有其中由于控制栅极1221上的高Vpgm而发射电子的区域1213。特别地,在编程操作的较少编程脉冲期间,WLn上的Vpgm可以到达相对高的值。如果WLn-1浮栅极1212与控制栅极1221之间的电势差足够高,则电场可以产生,该电场足够高以使得电子从浮栅极1212的角部朝向控制栅极1221发射。此外,归因于浮栅极1212上的降低其电势的相对较多电子的存在,当存储元件1210处于C状态或其它高数据状态下时,问题远更糟糕,因此导致泄漏的较强场。这些电子泄漏可能产生编程干扰,这减少了存储元件的阈值电压。例如,C状态下的存储元件可能如同其在B状态下(C到B失败)那样被读取。注意,当浮栅极中的电荷量减少时,存储元件的阈值电压降低,这是因为阈值电压是这样的电压:该电压需要施加到存储元件的控制栅极以使得浮栅极之下的衬底中的沟道变为导通。随着浮栅极中的电荷量减少,施加到控制栅极/字线的较小电压足以使得存储元件变为导通。
对于禁止的沟道,沟道中的增强电势向上耦合到WLn-1/n+1浮栅极1212和1232,因此将浮栅极提升到较高电势。这降低了浮栅极1212和1232与控制栅极1221之间的场,因此减少了浮栅极到控制栅极泄漏。增加WLn-1上的Vpass也可以提升浮栅极电势,因此减少该问题,但这也使得存储元件更易受上述Vpass干扰影响。因此,再次,一个Vpass电平对于不同数据状态下的WLn-1/n+1存储元件不是最优的。
图13a描述在多脉冲编程技术的第一实施例中在编程操作期间施加到所选字线的脉冲序列。在此描述的技术可以减少浮栅极到控制栅极泄漏,而同时改进WLn+1/n-1存储元件上的Vpass干扰。如所述,可以通过降低WLn+1/n-1上的Vpass来减少WLn+1/n-1存储元件上的Vpass干扰。但是,这带来了使得编程饱和更恶化的代价。
在一种可能方法中,通过使用多个编程脉冲集合来完成存储元件的编程,其中,每一集合包括多个编程脉冲,并且验证操作跟随每个编程脉冲集合,但在一个集合中的编程脉冲之间不执行验证操作。响应于用于开始针对与WLn关联的存储元件的编程操作的命令,对WLn-1执行感测/读取操作,以确定WLn-1存储元件的状态。读取操作的结果例如临时保存在锁存器中或其它临时存储器位置中,直到完成WLn的编程。基于WLn-1存储元件的状态,然后以组的形式单独地对与WLn关联的存储元件进行编程,对于每一组单独地施加一个编程脉冲。此外,组特定的通道电压可以在编程期间施加到WLn-1。该方法可以潜在地允许较深的擦除状态和较高的C状态,因此扩展阈值电压窗口。
在图13a的示例中,组的数量与WLn-1上的存储元件的可能数据状态的数量相同。例如,在四个可能状态E、A、B和C的情况下,存在四组存储元件,并且编程操作的每一迭代包括:把四个编程脉冲的集合施加到WLn,然后跟随有验证操作的一个或多个脉冲。例如,验证脉冲1309跟随编程脉冲1302、1304、1306和1308;验证脉冲1319跟随编程脉冲1312、1314、1316和1318;验证脉冲1329跟随编程脉冲1322、1324、1326和1328;验证脉冲1339跟随编程脉冲1332、1334、1336和1338等,直到完成编程操作。对于所有存储元件同时执行验证操作减少了编程时间。编程脉冲中的标记E、A、B或C指示编程脉冲用于对WLn存储元件(其WLn-1相邻元件处于指定的状态下)进行编程。
给定的编程脉冲集合中的编程脉冲可以具有相同或不同的幅度。在一种可能方法中,编程脉冲幅度随着WLn-1上的通道电压的增大而减小。这避免了有效Vpgm的陡峭改变。具体地说,随着通道电压增加(见图13b),对于给定的编程脉冲集合,Vpgm逐步下降。因此,编程脉冲1308的幅度低于脉冲1306的幅度,编程脉冲1306的幅度低于脉冲1304的幅度,以及编程脉冲1304的幅度低于脉冲1302的幅度。编程脉冲还可以从集合到集合递增增加。因此,编程脉冲1318的幅度高于脉冲1308的幅度,编程脉冲1316的幅度高于脉冲1306的幅度,等。图13a、图14a、图16c、图17a、图18a和图20a中通过虚线描述了可选阶跃下降的Vpgm幅度。
在图13a的编程脉冲施加到WLn的同时,相关联的通道电压施加到WLn-1,如图13b描述的那样。
图13b描述在图13a的编程操作期间施加到相邻未选字线的脉冲序列。图13b的脉冲序列是与图13a的脉冲序列时间对准的。在此的脉冲序列不一定关于时间和/或幅度成比例。对于每一编程脉冲,对应的通道电压施加到WLn-1。在一种可能方法中,标称Vpass可以施加到非相邻未选存储元件。具体地说,当编程脉冲1302、1304、1306和1308分别施加到WLn时,具有Vpass1(1342)、Vpass2(1344)、Vpass3(1346)和Vpass4(1348)的幅度的通道电压施加到WLn-1,其中,Vpass1<Vpass2<Vpass3<Vpass4。
在其中Vpass1(1342)施加到WLn-1的时间段中,编程脉冲1302施加到WLn,并且WLn上的第一组存储元件(其WLn-1相邻元件处于E状态下)被编程,而WLn上的第二、第三和第四组存储元件(其WLn-1相邻元件处于A、B或C状态)分别被禁止。其中Vpass2(1344)施加到WLn-1的时间段中,编程脉冲1304施加到WLn,并且WLn上的第二组存储元件被编程,而WLn上的第一、第三和第四组第二组被禁止。其中Vpass3(1346)施加到WLn-1的时间段中,编程脉冲1306施加到WLn,并且WLn上的第三组存储元件被编程,而WLn上的第一、第二和第四组存储元件被禁止。其中Vpass4(1348)施加到WLn-1的时间段中,编程脉冲1308施加到WLn,并且WLn上的第四组存储元件被编程,而WLn上的第一、第二和第三组存储元件被禁止。
在验证操作期间,读取电压Vread 1349施加到WLn-1和其它未选字线。如所述,对于用于每一编程脉冲和对应通道电压的编程,选择WLn上的一组存储元件。当在串联的串(例如NAND串)中布置存储元件时,可以通过选择对应串或位线来选择存储元件用于编程。这可以包括将0V施加到位线。相似地,可以通过禁止对应串或位线(例如通过将足以使得相关联的漏极侧选择栅极不导通的较高电压施加到位线)来禁止对存储元件进行编程。
注意,可以以不同的顺序施加通道电压。最低到最高(例如Vpass1、Vpass2、Vpass3、Vpass4)是一个选项。最高到最低(例如Vpass4、Vpass3、Vpass2、Vpass1)是另一选项。其它更随机化的顺序同样是可接受的。因此,在编程脉冲集合内选择并且禁止存储元件的顺序可以变化,并且不限于任何特定顺序。
图13c描述应用于存储元件集合的多脉冲编程技术的第一实施例的示例应用。例如,在字线WL0至WL63中,并且在示例位线BLi-2、BLi-1、BLi、BLi+1、BLi+2中布置存储元件的块。WL0-WLn-2是相对于WLn的源极侧非相邻未选字线,WLn+2-WL63是相对于WLn的漏极侧非相邻未选字线。WLn当前所选字线与示例存储元件1380、1382、1384、1386和1388进行通信。WLn-1,WLn的源极侧相邻字线,与示例存储元件1390、1392、1394、1396和1398进行通信。存储元件1390、1392、1394、1396和1398分别直接相邻于存储元件1380、1382、1384、1386和1388,并且在与其相同的位线或NAND串上。
作为说明,假设存储元件1390、1392、1394、1396和1398分别处于E、A、C、B和A状态下。
在每一编程脉冲集合的第一编程脉冲期间,例如,在编程脉冲1302、1312、1322和1332期间,对于编程而选择与WLn-1上的E状态存储元件相邻的WLn中的存储元件。在此,选择存储元件1380用于编程。BLi-2处于被选择的位线集合中。也就是说,允许通过配置NAND串以允许编程来对存储元件1380进行编程,除非存储元件1380已经完成编程。禁止对WLn上的其它存储元件进行编程。也就是说,通过将NAND串配置为不允许编程而不允许对它们进行编程。这些存储元件与禁止的至少一组位线(包括BLi-1、BLi、BLi+1和BLi+2)关联。此时,最低通道电压Vpass1施加到WLn-1。当WLn-1存储元件处于低状态下时,由于低通道电压阻止Vpass干扰,因此这是最优的。
在每一集合的第二编程脉冲期间,例如,在编程脉冲1304、1314、1324和1334期间,选择与WLn-1上的A状态存储元件相邻的WLn中的存储元件用于编程。在此,选择存储元件1382和1388用于编程。这些存储元件与被选择的一组或多组位线(包括BLi-1和BLi+2)关联。禁止对WLn上的其它存储元件进行编程。这些存储元件与被禁止的一组或多组位线(包括BLi-2、BLi和BLi+1)关联。此时,下一最低通道电压Vpass2被施加到WLn-1。通道电压是最优的,这是由于其被修改为WLn-1存储元件的状态。
在每一集合的第三编程脉冲期间,例如,在编程脉冲1306、1316、1326和1336期间,选择与WLn-1上的B状态存储元件相邻的WLn中的存储元件用于编程。在此,选择存储元件1386用于编程。该存储元件与被选择的一组或多组位线(包括BLi+1)关联。禁止对WLn上的其它存储元件进行编程。这些存储元件与被禁止的一组或多组位线(包括BLi-2、BLi-1、BLi和BLi+2)关联。此时,下一最低通道电压Vpass3施加到WLn-1。
在每一集合的第四编程脉冲期间,例如,在编程脉冲1308、1318、1328和1338期间,选择与WLn-1上的C状态存储元件相邻的WLn中的存储元件用于编程。在此,选择存储元件1384用于编程。该存储元件与被选择的一组或多组位线(包括BLi)关联。禁止对WLn上的其它存储元件进行编程。这些存储元件与被禁止的一组或多组位线(包括BLi-2、BLi-1、BLi+1和BLi+2)关联。此时,最高通道电压Vpass4施加到WLn-1。
注意,示例应用于具有四个数据状态的存储器器件,但可以扩展用于附加数据状态。
虽然在提供被修改为WLn-1上的每一不同可能数据状态的通道电压方面所以该方法是最优的,但这延长了编程时间。接下来描述的另一可能方法,针对一个或多个组对WLn-1存储元件进行分组,每组多个数据状态,从而减少每个迭代的编程脉冲的数量。
图14a描述在多脉冲编程技术的第二实施例中在编程操作期间施加到所选字线的脉冲序列。在该方法中,两个最低状态E和A被组成一组,两个最高状态B和C组成一组。因此,当结合WLn上的编程操作读取WLn-1时,在状态E和A下的WLn-1上的存储元件组成一组,在状态B和C下的WLn-1上的存储元件组成一组。该方法在仍然将通道电压幅度调整为WLn-1存储元件的状态的情况下压缩不同通道电压的数量以提高效率。可以有其它可能的分组。例如,状态E可以处于一个组中,而状态A、B和C处于另一组中。当存在多于四个数据状态时,可能组的数量扩展。例如,在八个数据状态E、A、B、C、D、E、F和G的情况下,可以使用两个组,其中,第一组可以包括状态E和A,第二组可以包括状态B、C、D、E、F和G。或者,可以使用三个组,其中,第一组可以包括状态E和A,第二组可以包括状态B、C、D、E,第三组可以包括状态F和G。其它变化是可能的。特定存储器器件的测试可以确定那些分组是最优的。
在其中状态E和A组成组并且状态B和C组成组的方法中,编程操作的第一迭代包括两个编程脉冲1402和1404集合,后面跟随着一个或多个验证脉冲1406。第一编程脉冲用于对其WLn-1相邻元件处于E或A状态下的WLn存储元件进行编程。第二编程脉冲用于对其WLn-1相邻元件处于B或C状态下的WLn存储元件进行编程。相似地,编程脉冲1408和1410后面跟随着验证脉冲1412,编程脉冲1414和1416后面跟随着验证脉冲1418,编程脉冲1420和1422后面跟随着验证脉冲1424。虚线描述当Vpass较高时使用阶跃下降的Vpgm的选择。
图14b描述在图14a的编程操作期间施加到相邻未选字线的脉冲序列。图14b与图14a是时间对准的。当施加编程脉冲1402时,在VpassL的相对低幅度的通道电压1425施加到WLn-1。当施加编程脉冲1404时,在VpassH的相对高幅度的通道电压1426施加到WLn-1。当验证电压1406施加到WLn时,Vread 1427施加到WLn-1和其它未选字线。对于其余编程迭代,重复通道电压的序列。
因此,在其中VpassL(1425)施加到WLn-1的时间段中,编程脉冲1402施加到WLn,WLn上的第一组存储元件(其WLn-1相邻元件处于E或A状态下)被编程,而WLn上的第二组存储元件(其WLn-1相邻元件处于B或C状态下)被禁止。在其中VpassH(1426)施加到WLn-1的时间段中,编程脉冲1404施加到WLn,并且WLn上的第二组存储元件被编程,而WLn上的第一组存储元件被禁止。
图14c描述应用于存储元件集合的多脉冲编程技术的第二实施例的示例应用。与图13c相似,当前所选字线WLn与示例存储元件1480、1482、1484、1486以及1488相连,WLn-1与示例存储元件1490、1492、1494、1496和1498相连。在每一编程迭代的第一编程脉冲1402、1408、1414和1420期间,选择WLn中的与WLn-1上的E或A状态存储元件相邻的存储元件用于编程。在此,选择存储元件1480(BLi-2)、1482(BLi-1)和1488(BLi+2)用于编程。此时,VpassL施加到WLn-1。在每一编程迭代的第二编程脉冲1404、1410、1416和1422期间,选择WLn中的与WLn-1上的B或C状态存储元件相邻的的存储元件用于编程。在此,选择存储元件1484(BLi)和1486(BLi+1)用于编程。此时,VpassH施加到WLn-1。
图15描述与图13a-14c对应的编程技术。在步骤1500,响应于来自主机的在存储器器件的控制器处接收的编程命令,针对WLn的编程操作开始。响应于编程命令,在步骤1502,使用M-1个控制栅极电压来读取WLn-1上的存储元件,以区分仅M≥2组存储元件。此外,相邻字线上的存储元件可以在至少M+1数据状态下存储数据。例如,图13a使用M=4,并且三个控制栅极电压用于区分四组存储元件。图14a使用M=2,并且一个控制栅极电压用于区分两组存储元件。控制栅极电压是感测电压,其用于标识相邻字线上的其阈值电压落入感测电压之下的至少第一组非易失性存储元件(也就是说,当施加感测电压时不导通的存储元件)以及其阈值电压超过相邻字线上的感测电压的第二组非易失性存储元件(也就是说,当施加感测电压时导通的存储元件)。
在步骤1504,在一个或多个数据锁存器中针对每一位线或NAND串存储组标识。通常,在存储器器件中,对于每一位线可以提供多个数据锁存器,每个数据锁存器都存储一个比特。取决于设计,可以存在可用于存储组标识的足够数量的锁存器。在每个锁存器一个比特的情况下,每位线K≥1个锁存器用于存储K比特的数据,以标识2K=M不同的组。例如,当M=2时,K=1,当M=4时,K=2。在M=2的情况下,0比特可以代表E或A状态,1比特可以代表B或C状态。在M=4的情况下,一个锁存器(锁存器1)中的0比特与另一锁存器(锁存器2)中的0比特的组合可以代表E状态,锁存器1中的0比特与锁存器2中的1比特的组合可以代表A状态,锁存器1中的1比特与锁存器2中的0比特的组合可以代表B状态,锁存器1中的1比特与锁存器2中的1比特的组合可以代表C状态。
在可选步骤1506,可以使用结合图17a-17d以下进一步描述的单脉冲编程阶段。该方法在使用较高编程电压时延迟多脉冲编程技术的使用,直到编程操作中间,并且在仍然保留基于WLn-1存储元件数据状态来使用不同通道电压的好处的同时导致较短的编程时间。
在步骤1508,将编程迭代指数i和编程脉冲指数j设置为1。在步骤1510,编程操作的第i次多编程脉冲迭代开始。在步骤1512,在禁止所有其它组的位线的同时,选择与WLn-1存储元件的第j组关联的位线组用于编程。在步骤1514,编程脉冲集合的第j编程脉冲施加到WLn,而在步骤1516,第j通道电压施加到相邻未选字线WLn-1,Vpass施加到其它未选字线。在判决步骤1518,如果编程脉冲集合中存在下一编程脉冲,则j在步骤1520增加,并且对于下一组位线重复步骤1512、1514和1516。在判决步骤1518,如果在编程脉冲集合中不存在下一编程脉冲,则在步骤1522执行验证操作。在判决步骤1524,如果存在编程操作的下一迭代,则i在步骤1526增加,并且重复步骤1510、1512、1514和1516。在判决步骤1524,如果在编程操作中不存在下一迭代,则在步骤1528完成编程操作。
图16a描述与图13a对应的不同编程脉冲幅度。如上所述,当WLn-1上的通道电压的幅度较低时,Vpgm的幅度可以较高。类似地,当WLn-1和WLn+1上的通道电压的幅度较高时,Vpgm的幅度可以较低。x轴描述编程操作中的编程迭代的数量,y轴描述Vpgm。线1600、1602、1604和1606可以用于针对给定迭代和通道电压设置Vpgm。具体地说,当分别使用Vpass1、Vpass2、Vpass3和Vpass4时,使用曲线1600、1602、1604或1606。
图16b描述与图14a对应的不同编程脉冲幅度。当分别使用VpassL或VpassH时,曲线1610或1612用于针对给定迭代来设置Vpgm。
图16c描述在多脉冲编程技术的第三实施例中在编程操作期间施加到所选字线的脉冲序列。在该示例中,针对偶数和奇数编号的位线单独地执行验证操作。这对于具有奇偶感测能力但没有全数据线感测能力的存储器器件是有用的。具体地说,在一个编程脉冲用于以下WLn存储元件的示例中:该WLn存储元件的WLn-1相邻存储元件处于E或A状态,在第一迭代中,编程脉冲1622和1624后面跟随有用于验证偶数编号的位线的WLn存储元件的一个或多个验证脉冲1626以及用于验证奇数编号的位线的WLn存储元件的一个或多个验证脉冲1628。后续迭代相应地进行。可以根据图14b施加通道电压,其中,施加Vread,用于验证脉冲的两个集合。
图17a描述在多脉冲编程技术的第四实施例中在编程操作期间施加到所选字线的脉冲序列。如结合图15的步骤1506所述,单脉冲编程阶段1710可以在多脉冲编程阶段1750之前,以在保留基于WLn-1存储元件数据状态来使用不同通道电压的好处的同时缩短编程时间。在一个可能实现中,单脉冲编程阶段包括编程脉冲1702、1706和1710,其无论WLn-1存储元件的数据状态如何都同时对WLn存储元件进行编程。还描述示例验证脉冲1604。在该示例中,作为例子,在第十一编程脉冲之后满足触发条件,从而在多脉冲编程阶段1750的第一迭代中使用编程脉冲1752和1754。
例如,可以在单脉冲编程阶段的开始或在多脉冲编程阶段的开始读取WLn-1存储元件。在多脉冲编程阶段中,编程脉冲1752对以下WLn存储元件进行编程:相邻的WLn-1存储元件处于E或A状态;编程脉冲1754对以下WLn存储元件进行编程:相邻的WLn-1存储元件处于B或C状态。一个或多个验证脉冲1756的集合跟随在后面。编程脉冲1758和1760以及1764和1766在后续迭代中相似地施加到WLn,直到完成编程。
在一种可能方法中,当已经达到特定编程迭代(例如第十二次迭代)时,触发多脉冲编程阶段。或者,在自适应方法中,当已经验证WLn上的特定数量的存储元件已经完成针对目标验证电平的编程时,可以触发多脉冲编程阶段。目标验证电平可以用于目标数据状态,或可以在数据状态之间。例如,在状态E、A、B和C的情况下,触发验证电平可以是用于状态B的验证电平,例如Vvb。在此情况下,当A和B存储元件已经完成编程时,在多脉冲编程阶段中仅需要使用一个验证脉冲Vvc。作为示例,当B状态存储元件的90%超过Vvb时,可以触发多脉冲编程阶段。此时,假设所有A状态存储元件已经完成编程。在多脉冲编程阶段中,初始地使用用于B和C状态的验证脉冲。一旦B状态存储元件的剩余10%完成编程,则仅C状态存储元件剩余,从而仅使用验证脉冲Vvc。
图17b描述与图17a对应的不同编程脉冲幅度。曲线1770可以用于基于单脉冲编程阶段中的编程迭代来设置Vpgm。曲线1774用于当把VpassL施加到WLn-1时,基于多脉冲编程阶段中的编程迭代来设置Vpgm。曲线1772用于当把VpassH施加到WLn-1时,基于多脉冲编程阶段中的编程迭代来设置Vpgm。因此,在Vpgm中存在阶跃上升,以补偿归因于较低通道电压导致的耦合,并且在Vpgm中存在阶跃下降,以补偿归因于较高通道电压导致的耦合,从而有效编程电压按稳定速率增加。
图17c描述与图17a对应的编程技术。在该方法中,在编程操作的开始读取WLn-1。在步骤1780,针对WLn开始编程操作。在步骤1781,使用M-1个控制栅极电压来读取WLn-1上的存储元件,以区分M≥2组存储元件和相关联的位线或NAND串。在步骤1782,在一个或多个数据锁存器中对于每一位线存储组标识。在步骤1783,单脉冲编程验证阶段开始。在该阶段期间,在步骤1784,跟踪要到达验证电平的存储元件的数量或编程迭代的数量,以确定是否满足触发条件。在判决步骤1785,如果满足触发条件,则在步骤1786执行多脉冲编程验证阶段,并且在步骤1787最终完成编程操作。如果在判决步骤1785不满足触发条件,则执行单脉冲编程验证阶段的另一迭代。
图17d描述与图17a对应的替代编程技术。在该方法中,在单脉冲编程验证阶段已经完成并且触发条件已经得到满足之后,在多脉冲编程验证阶段的开始读取WLn-1。在步骤1790,针对WLn开始编程操作。在步骤1791,执行单脉冲编程验证阶段。在该阶段期间,在步骤1793,跟踪要到达验证电平的存储元件的数量或编程迭代的数量,以确定是否满足触发条件。在判决步骤1792,如果满足触发条件,则在步骤1794,使用M-1个控制栅极电压读取WLn-1上的存储元件,以区分M≥2组的存储元件和相关联的位线或NAND串。如果在判决步骤1792不满足触发条件,则执行单脉冲编程验证阶段的另一迭代。在步骤1795,在一个或多个数据锁存器中对于每一位线存储组标识。在步骤1796,执行多脉冲编程验证阶段,并且在步骤1797,最终完成编程操作。
图18a描述在多脉冲编程技术的第五实施例中在编程操作期间施加到所选字线的脉冲序列。在该方法中,偶数编号的位线与奇数编号的位线被单独编程,但一起被验证。例如,在四个状态实施例中,第一迭代包括:编程脉冲1802,其对以下偶数编号的位线的WLn存储元件进行编程:其相邻WLn-1相邻元件处于E或A状态;以及编程脉冲1804,其对以下偶数编号的位线的WLn存储元件进行编程:其相邻WLn-1相邻元件处于B或C状态下。相似地,编程脉冲1806对以下奇数编号的位线的WLn存储元件进行编程:其相邻WLn-1相邻元件处于E或A状态下;以及编程脉冲1808对以下奇数编号的位线的WLn存储元件进行编程:其相邻WLn-1相邻元件处于B或C状态下。一个或多个验证脉冲1809跟在后面。
相似地,第二迭代包括后随一个或多个验证脉冲1819的编程脉冲1812、1814、1816和1818,第三迭代包括后随一个或多个验证脉冲1829的编程脉冲1822、1824、1826和1828,第四迭代包括后随一个或多个验证脉冲1839的编程脉冲1832、1834、1836和1838,等。
图18b描述在图18a的编程操作期间施加到相邻未选字线的脉冲序列。图18b与图18a是时间对准的。当编程脉冲1802和1806分别施加到WLn时,VpassL电压1842和1846施加到WLn-1。当编程脉冲1804和1808分别施加到WLn时,VpassH电压1844和1848施加到WLn-1。当验证脉冲1809施加到WLn时,Vread 1850施加到WLn-1和其它未选字线。对于每一相继迭代,重复通道电压的集合。
图18c描述应用于存储元件集合的多脉冲编程技术的第五实施例的示例应用。与图13c相似,当前所选字线WLn与示例存储元件1880、1882、1884、1886以及1888相连,WLn-1与示例存储元件1890、1892、1894、1896和1898相连。BLi-2e、BLie和BLi+2e是示例偶数编号的位线,BLi-1和BLi+1是示例奇数编号的位线。
在每一编程迭代的第一编程脉冲1802、1812、1822和1832(图18a)期间,在偶数位线阶段中,选择偶数编号位线的WLn中的与WLn-1上的E或A状态存储元件的存储元件用于编程。在此,在把VpassL施加到WLn-1的同时,选择存储元件1880和1888。在每一编程迭代的第二编程脉冲1804、1814、1824和1834期间,选择偶数编号位线的WLn中的与WLn-1上的B或C状态存储元件相邻的存储元件用于编程。在此,在把VpassH施加到WLn-1的同时,选择存储元件1884。
在每一编程迭代的第三编程脉冲1806、1816、1826和1836期间,在奇数位线阶段中,选择奇数编号位线的WLn中的与WLn-1上的E或A状态存储元件相邻的存储元件用于编程。在此,在VpassL施加到WLn-1的同时,选择存储元件1882。在每一编程迭代的第四编程脉冲1808、1818、1828和1838期间,选择奇数编号位线的WLn中的与WLn-1上的B或C状态存储元件相邻的存储元件用于编程。在此,在把VpassH施加到WLn-1的同时,选择存储元件1886。
图19描述与图18a对应的编程技术。在步骤1900,针对WLn的编程操作开始。在步骤1902,使用M-1个控制栅极电压来读取WLn-1上的存储元件,以区分仅M≥2组存储元件。在步骤1904,在一个或多个数据锁存器中对于每一位线或NAND串存储组标识。在可选步骤1906,执行单脉冲编程阶段。在步骤1908,将编程迭代指数i和编程脉冲指数j设置为1。在步骤1910,编程操作的第i次多编程脉冲迭代开始。在步骤1912,偶数位线编程阶段开始。步骤1914包括:选择具有group=j的组标识的偶数编号位线,并且禁止其它位线。例如,当j=1时,选择第一组位线group1。
在步骤1918,编程脉冲集合的第j编程脉冲施加到WLn,而在步骤1920,第j通道电压被施加到相邻字线WLn-1,Vpass被施加到其它未选字线。在判决步骤1922,如果未完成当前(偶数位线)编程阶段,则在1924,j增加1,并且重复步骤1914、1918和1920。例如,当j=2时,选择第二组位线group2。
如果在判决步骤1922完成偶数位线编程阶段,则在步骤1926,奇数位线编程阶段开始。如果在判决步骤1928尚未完成奇数阶段,则步骤1930使j增加1,并且步骤1916在禁止其它位线的同时选择具有group=j的组标识的奇数编号位线。例如,当j=3时,选择第三组位线group3。如讨论的那样,重复步骤1918和1920。判决步骤1922为真,以使得奇数阶段在1926继续。如果在判决步骤1928,奇数阶段完成,则在步骤1932,对于偶数和奇数位线(联合地或分离地)执行验证操作。
在判决步骤1934,如果存在下一编程迭代,则在步骤1936i增加1,并且重复步骤1914、1918和1920。如果在判决步骤1934不存在下一编程迭代,则在步骤1938,编程操作完成。
图20a描述在多脉冲编程技术的第六实施例中在编程操作期间施加到所选字线的脉冲序列。在该方法中,在单独的编程阶段,对所有偶数编号位线完全地编程,然后对所有奇数编号位线完全地编程。这对于没有全位线感测能力的存储器器件是有用的。例如,第一编程阶段的第一迭代包括编程脉冲2002,其对偶数编号位线的WLn上的以下存储元件进行编程:这些存储元件的相邻WLn-1存储元件处于状态E或A下。例如,编程脉冲2004对偶数编号位线的WLn上的以下存储元件进行编程:这些存储元件的相邻WLn-1存储元件处于状态B或C下。用于偶数编号位线的验证脉冲2006跟随。相似地执行第一编程阶段的后续迭代,直到与偶数编号位线相连的存储元件已经完成编程。
随后,对于奇数编号位线执行第二编程阶段。例如,第二编程阶段的第一迭代包括编程脉冲2032,其对奇数编号位线的WLn上的以下存储元件进行编程:这些存储元件的相邻WLn-1存储元件处于状态E或A下。例如,编程脉冲2034对奇数编号位线的WLn上的以下存储元件进行编程:这些存储元件的相邻WLn-1存储元件处于状态B或C下。用于奇数编号位线的验证脉冲2036跟随。相似地执行第二编程阶段的后续迭代,直到与奇数编号位线相连的存储元件已经完成编程。
图20b描述与图20a对应的编程技术。在一种方法中,在编程操作之前,执行针对WLn-1的读取操作。具体地说,在步骤2080,针对WLn的编程操作开始。在步骤2082,使用M-1个控制栅极电压来读取WLn-1上的存储元件,以区分仅M≥2组的存储元件。在步骤2084,在一个或多个数据锁存器中对于每一位线或NAND串存储组标识。在步骤2086,针对偶数编号位线的存储元件执行多脉冲编程验证阶段。在步骤2088,针对奇数编号位线的存储元件执行多脉冲编程验证阶段。在步骤2090,完成编程操作。
在另一可能方法中,仅在关联的编程阶段之前对于偶数编号位线执行读取操作,并且仅在关联的编程阶段之前对于奇数编号位线执行分离读取操作。
图21a描述在多脉冲编程技术的第七实施例期间用于各个位线的数据锁存器的使用。如上结合图15所述,在存储器器件中,对于每一位线可以提供多个数据锁存器,每个数据锁存器均存储一个比特。在每锁存器一个比特的情况下,每位线K个锁存器用于存储K比特的数据,以标识2K=M个不同组的位线和相关联的存储元件。此外,如上结合图8所述,可以使用双验证编程技术,其中,低和高验证电平用于一个或多个数据状态。如所述,双验证电平可以用于少于所有编程状态。作为示例,在编程状态A、B或C的情况下,双验证电平可以仅用于状态A和B,但不用于状态C。例如,VvaL和VvaH分别是用于A状态的较低和较高验证电平,VvbL和VvbH分别是用于B状态的较低和较高验证电平。这种双验证编程技术可以高效地与多脉冲编程技术的各个上述实施例整合。该方法避免或最小化对于附加锁存器硬件的需要。
在该示例中,每一位线均具有两个锁存器,每个锁存器存储一个比特。第一组锁存器2101包括锁存器2120、2122、2124、2126和2121,其分别连接到位线BLi-2、BLi-1、BL、BLi+1和BLi+2。第二组锁存器包括锁存器2110、2112、2114、2116和2118,其分别连接到位线BLi-2、BLi-1、BL、BLi+1和BLi+2。初始地,在锁存器中存储全0比特。在编程期间,如加圆圈的“1”表示的那样,当旨在被编程到目标状态B的存储元件的阈值电压Vth例如超过较低验证电平VvbL(例如Vth>VvbL)时,把组2101中的对应锁存器设置为bit=1。只要Vth≤VvbL,bit=0就保持在组2101的锁存器中。
随后,如加圆圈的“2”表示的那样,当旨在被编程到目标状态B的存储元件的阈值电压Vth例如超过较高验证电平VvbH(例如Vth>VvbH)时,把集合2102中的对应锁存器设置为bit=1。只要Vth≤VvbH,bit=0就保持在组2102的锁存器中。当对于所有B状态存储元件Vth>VvbH时,不再需要第一组锁存器2101中的数据,并且多脉冲编程验证阶段可以开始。也就是说,一旦待编程到与较高验证电平关联的状态的所有存储元件已经达到较高验证电平,指示是否已经达到较低验证电平的比特就是无关的。
注意,对于待编程为目标状态的“所有”存储元件的引用意在包括未被忽略的所有存储元件。例如,数据的页面可以是64K存储元件中存储的8KB。存储元件的小部分是有缺陷的,具有物理缺陷,或可以使得它们编程起来很慢的一些另外问题,从而需要额外的编程脉冲。例如,估算可以确定:平均而言64K存储元件中有32个可能是有缺陷的。所以,在编程期间,无需具体获知哪些比特良好或不良,我们可以选择忽略32比特,并且不强迫它们编程。忽略少数存储元件并且使用ECC来校正它们是更高效的。可以通过与ROM熔丝(fuse)有关的参数来确定待忽略的存储元件的数量。
在加圆圈的“3”表示的阶段中,可以重写第一组锁存器2101中的数据,以标识WLn-1存储元件的位线的组(也见图21b)。例如,对于状态E或A下的WLn-1存储元件可以设置bit=0,对于状态B或C下的WLn-1存储元件可以设置bit=1。锁存器的这种重用避免了对于另一组锁存器的需要。
当重用第一组锁存器2101时,这些锁存器中存储的所有先前数据丢失。这是为什么不应重写锁存器组,直到经受双验证电平的所有存储元件已经达到相关联的高验证电平。例如,一旦所有B状态存储元件已经达到VvbH,并且在阶段“3”中重写锁存器2101,关于存储元件是否已经达到VvbL的信息就丢失。所以,我们必须确保B状态存储元件已经达到VvbH(此时,存储元件必然也已经达到VvbL),并且已经被锁定以防止在阶段“3”之前进一步编程。
控制电路读取锁存器,以确定对于B状态存储元件何时已经完成编程。对于不使用双验证电平的存储元件(例如C状态存储元件),不使用较低验证电平,从而不使用组2101中的对应锁存器。反之,当Vth超过验证电平Vvc(例如Vth>Vvc)时,将组2102中的相关联的锁存器设置为bit=1。否则,如果Vth≤Vvc,则bit=0。
其它实现是可能的。例如,对于八个状态存储器器件,双验证电平可以用于A-F状态,G是最高状态。附加的多组锁存器可以用于标识用于WLn-1存储元件的位线组。
图21b描述与图21a对应的编程技术。在步骤2150,针对WLn开始编程操作。在步骤2152,执行单脉冲编程验证迭代,其中,较低和较高验证电平用于至少一个数据状态。被应用了较低和较高验证电平的最高数据状态(例如图8的示例中的B状态),也可以是发起编程操作的多脉冲编程验证阶段的触发状态。在至少第一组锁存器2101中存储较低验证结果,在至少第二组锁存器2102中存储较高验证结果。在判决步骤2154,如果触发状态存储元件尚未达到较高验证电平,则在下一单脉冲编程验证迭代中重复步骤2152。如果判决步骤2154为真,则执行步骤2156。在步骤2156,使用M-1个控制栅极电压来读取WLn-1上的存储元件,以区分仅M≥2组存储元件。在步骤2158,在包括第一组锁存器2101的一个或多个数据锁存器中针对每一位线或NAND串存储组标识。
在步骤2160,执行多脉冲编程验证迭代,其中,验证电平用于至少一个剩余数据状态。该剩余数据状态可以是最高数据状态,例如C状态。验证结果存储在至少第二组锁存器2102中。当仅存在两组位线时,一个比特足以标识每一组(例如对于组1,bit=0,对于组2,bit=1)。当存在多于两组位线时,需要两个或更多个锁存器。例如,在四组位线的情况下,需要两个比特,从而需要除集合2101和2102以外的一组附加锁存器。组2102用于存储针对剩余存储元件的验证数据,以完成编程,并且因此不可用于存储位线组数据。
在判决步骤2162,如果剩余存储元件尚未达到其验证电平,则重复步骤2160,从而执行附加多脉冲编程验证迭代。如果步骤2162为真,则在步骤2164,完成编程操作。剩余存储元件不包括待忽略的比特的数量。
于在此描述的技术的一个实施例中,提供一种用于操作包括与字线集合和位线集合相连的非易失性存储元件集合的非易失性存储系统的方法。所述方法包括:执行对字线集合的所选字线的相邻字线的至少一次感测操作,其中,该至少一次感测操作区分所述相邻字线上的M≥2组非易失性存储元件,以及所述M≥2组非易失性存储元件与位线集合的包括至少第一组和第二组位线的M≥2个对应位线组关联。所述方法还包括:执行编程序列的多次迭代,其包括包含以下项的至少一次迭代:(a)在选择与所述第一组位线相关联的所选字线的非易失性存储元件用于编程的同时,将第一编程脉冲施加到所选字线,禁止与所述第二组位线相关联的所选字线的非易失性存储元件的编程,以及将第一通道电压施加到所述相邻字线,以及(b),在选择与所述第二组位线相关联的所选字线的非易失性存储元件用于编程的同时,将第二编程脉冲施加到所选字线,禁止与第一组位线关联的所选字线的非易失性存储元件的编程,以及将第二通道电压施加到相邻字线。
在另一实施例中,非易失性存储系统包括:非易失性存储元件集合,包括所选字线和所选字线的相邻字线的与非易失性存储元件集合相连的字线集合,与所述非易失性存储元件集合相连的位线集合,以及与字线集合和位线集合相连的至少一个控制电路。所述至少一个控制电路执行对所述相邻字线的至少一次感测操作,所述至少一次感测操作区分所述相邻字线上的M≥2组非易失性存储元件,其中,M≥2组非易失性存储元件与包括至少第一组和第二组位线的位线集合的M≥2个对应位线组关联。所述至少一个控制电路还执行编程序列的多次迭代,包括:(i)将第一编程脉冲施加到所选字线,选择所选字线的与第一组位线相关联的非易失性存储元件,禁止对所选字线的与所述第二组位线关联的非易失性存储元件的编程,以及将第一通道电压施加到所述相邻字线,以及(ii),将第二编程脉冲施加到所选字线,选择所选字线的与第二组位线相关联的非易失性存储元件,禁止对所选字线的与所述第一组位线关联的非易失性存储元件的编程,以及将第二通道电压施加到所述相邻字线。
在另一实施例中,提供一种用于操作包括与字线集合相连的串联非易失性存储元件的串的非易失性存储系统的方法。所述方法包括:将感测电压施加到字线集合的所选字线的相邻字线,标识所述相邻字线上的阈值电压低于感测电压的至少第一组非易失性存储元件以及标识所述相邻字线上的阈值电压超过所述感测电压的第二组非易失性存储元件,并且存储标识具有第一组中的非易失性存储元件中的一个的每一串以及具有第二组中的非易失性存储元件中的一个的每一串的数据,由此提供所存储的数据。所述方法还包括,在一个时间段中,在将第一通道电压施加到相邻字线的同时,并且基于所存储的数据,对所选字线的在具有相邻字线的第一组的非易失性存储元件的串中的非易失性存储元件进行编程,并且禁止所选字线的在具有相邻字线的第二组的所述非易失性存储元件的串中的非易失性存储元件的编程。所述方法还包括,在另一时间段中,在将第二通道电压施加到相邻字线的同时,并且基于所存储的数据,对所选字线的在具有相邻字线的第二组的非易失性存储元件的串中的非易失性存储元件进行编程,并且禁止所选字线的在具有相邻字线的第一组的非易失性存储元件的串中的非易失性存储元件的编程。
提供用于执行在此提供的方法的对应方法、系统和计算机或处理器可读存储器件。
已经为了说明和描述提出了前面的详细描述。其并不是穷尽的或受限于所公开的精确形式。根据以上教导,很多修改和变化是可能的。所描述的实施例是被选取以最好地解释该技术的原理及其实际应用,由此使得本领域技术人员能够最佳地并且以适于预期的特定用途的各种修改来利用各个实施例中的技术。本发明的范围是要由所附权利要求限定。

Claims (15)

1.一种用于操作非易失性存储系统的方法,所述非易失性存储系统包括与字线集合(WL0-WL63)以及位线集合(BLi-2-BLi+2)相连的非易失性存储元件的集合(400),所述方法包括:
对所述字线集合的所选字线(WLn)的相邻字线(WLn-1)执行至少一次感测操作,所述至少一次感测操作区分所述相邻字线上的M≥2组非易失性存储元件(1390;1392,1398;1396;1394),所述M≥2组非易失性存储元件与所述位线集合的M≥2个对应位线组(BLi-2;BLi-1,BLi+2;BLi+1;BL)相关联,所述位线集合的M≥2个对应位线组(BLi-2;BLi-1,BLi+2;BLi+1;BL)包括至少第一组位线(BLi-1,BLi+2)和第二组位线(BLi+1);以及
执行编程序列的包括至少一次迭代的多次迭代,该至少一次迭代包括:
在选择所选字线的与所述第一组位线相关联的非易失性存储元件(1392,1398)进行编程的同时将第一编程脉冲(1302)施加到所选字线,禁止对所选字线的与所述第二组位线相关联的非易失性存储元件(1396)的编程,并且将第一通道电压(Vpass1-Vpass4)施加到所述相邻字线(WLn-1);以及
在选择所选字线的与所述第二组位线相关联的非易失性存储元件(1396)进行编程的同时将第二编程脉冲(1304)施加到所选字线,禁止对所选字线的与所述第一组位线相关联的非易失性存储元件(1392,1398)的编程,并且将第二通道电压(Vpass1-Vpass4)施加到所述相邻字线。
2.如权利要求1所述的方法,其中,在所述至少一次迭代的所述第一编程脉冲和第二编程脉冲之间不对所选字线的非易失性存储元件执行验证操作,所述方法还包括:
在所述第二编程脉冲之后,对所选字线的非易失性存储元件执行验证操作(1309,1319,1329,1339),在所述验证操作(1309,1319,1329,1339)之后执行所述编程序列的另一迭代。
3.如权利要求1或2所述的方法,其中:
所述相邻字线上的所述非易失性存储元件在至少M+1个数据状态(E,A,B,C)下存储数据;以及
所述至少一次感测操作区分所述相邻字线上的仅M≥2组(E,A;B,C)非易失性存储元件。
4.如权利要求1所述的方法,其中:
所述相邻字线在所选字线的源极侧。
5.如权利要求1或2所述的方法,其中:
所述至少一次感测操作根据所述相邻字线上的所述非易失性存储元件的阈值电压来区分所述相邻字线上的M≥2组非易失性存储元件;
所述相邻字线的与所述第一组位线相关联的非易失性存储元件的阈值电压低于所述相邻字线的与所述第二组位线相关联的非易失性存储元件;以及
所述第一通道电压(Vpass1)低于所述第二通道电压(Vpass2)。
6.如权利要求1或2所述的方法,其中:
所述至少一次感测操作根据所述相邻字线上的所述非易失性存储元件的阈值电压来区分所述相邻字线上的M≥2组非易失性存储元件;
所述相邻字线的与所述第一组位线相关联的非易失性存储元件的阈值电压高于所述相邻字线的与所述第二组位线相关联的非易失性存储元件;
所述第一通道电压(Vpass2)高于所述第二通道电压(Vpass1)。
7.如权利要求1或2所述的方法,其中:
所述编程序列的多次迭代的在所述至少一次迭代之前发生的至少一次先前迭代(1710)包括:在同时选择所选字线的与所述第一组和第二组位线相关联的非易失性存储元件进行编程的情况下,将编程脉冲(1702,1706,1710)施加到所选字线。
8.如权利要求7所述的方法,其中:
所述至少一次先前迭代包括:把幅度介于第一通道电压(Vpass1)与第二通道电压(Vpass2)的幅度之间的通道电压(Vpass)施加到所述相邻字线。
9.如权利要求1或2所述的方法,其中:
所述编程序列的多次迭代的在所述至少一次迭代之前产生的先前迭代将所选字线的至少一个非易失性存储元件编程为一个目标数据状态(B);以及
所述至少一次迭代将所选字线的至少一个其他非易失性存储元件编程为比所述一个目标数据状态更高的另一目标数据状态(C)。
10.如权利要求9所述的方法,其中:
至少第一锁存器(2101)和第二锁存器(2102)与所述位线集合的位线中的一个相关联;
使用第一验证电平(VvaL,VvbL),然后使用比所述第一验证电平更高的第二验证电平(VvaH,VvbH)在所述先前迭代期间对所述至少一个非易失性存储元件进行编程;
所述第一锁存器存储指示是否已经将所述至少一个非易失性存储元件编程为所述第一验证电平的比特;
所述第二锁存器存储指示是否已经将所述至少一个非易失性存储元件编程为所述第二验证电平的比特;
在所述先前迭代之后,在所述编程序列的中间执行所述至少一次感测操作;以及
在所述至少一次感测操作期间,感测与所述位线中的一个位线相关联并属于所述相邻字线的非易失性存储元件,以及重写所述第一锁存器(2101)以存储以下比特:该比特用于至少部分地标识所述相邻字线的所述非易失性存储元件所属的M≥2组非易失性存储元件中的组。
11.如权利要求10所述的方法,其中:
响应于确定已经将所选字线的所述至少一个非易失性存储元件编程为所述一个目标数据状态,在所述先前迭代(1710)之后,在所述编程序列的中间执行所述至少一次感测操作。
12.一种非易失性存储系统,包括:
非易失性存储元件的集合(400);
与非易失性存储元件的所述集合相连的字线集合(WL0-WL63),包括所选字线(WLn)以及所选字线的相邻字线(WLn-1);
与非易失性存储元件的所述集合相连的位线集合(BLi-2-BLi+2);以及
与所述字线集合和所述位线集合相连的至少一个控制电路(510,550),所述至少一个控制电路:(a)对所述相邻字线(WLn-1)执行至少一次感测操作,所述至少一次感测操作区分所述相邻字线上的M≥2组非易失性存储元件(1390;1392,1398;1396;1394),所述M≥2组非易失性存储元件与所述位线集合的M≥2个对应位线组(BLi-2;BLi-1,BLi+2;BLi+1;BL)相关联,所述位线集合的M≥2个对应位线组(BLi-2;BLi-1,BLi+2;BLi+1;BL)包括至少第一组位线(BLi-1,BLi+2)和第二组位线(BLi+1);以及(b)执行编程序列的包括至少一次迭代的多次迭代,在所述至少一次迭代中,所述至少一个控制电路(i)将第一编程脉冲(1302)施加到所选字线,并且选择所选字线的与所述第一组位线相关联的非易失性存储元件(1392,1398)进行编程,禁止对所选字线的与所述第二组位线相关联的非易失性存储元件(1396)的编程,以及将第一通道电压(Vpass1-Vpass4)施加到所述相邻字线(WLn-1);以及(ii)将第二编程脉冲(1304)施加到所选字线并且选择所选字线的与所述第二组位线相关联的所述非易失性存储元件(1396)进行编程,禁止对所选字线的与所述第一组位线相关联的非易失性存储元件(1392,1398)的编程,以及将第二通道电压(Vpass1-Vpass4)施加到所述相邻字线。
13.如权利要求12所述的非易失性存储系统,其中:
在所述至少一次迭代的所述第一编程脉冲和第二编程脉冲之间不对所选字线的非易失性存储元件执行验证操作。
14.如权利要求12或13所述的非易失性存储系统,其中:
所述相邻字线上的所述非易失性存储元件在至少M+1个数据状态(E,A,B,C)下存储数据;以及
所述至少一次感测操作区分所述相邻字线上的仅M≥2组(E,A;B,C)非易失性存储元件。
15.如权利要求12或13所述的非易失性存储系统,其中:
所述至少一次感测操作根据所述相邻字线上的所述非易失性存储元件的阈值电压来区分所述相邻字线上的M≥2组非易失性存储元件;
如果所述相邻字线的与所述第一组位线相关联的非易失性存储元件的阈值电压低于所述相邻字线的与所述第二组位线相关联的非易失性存储元件,则所述第一通道电压(Vpass1)低于所述第二通道电压(Vpass2);以及
如果所述相邻字线的与所述第一组位线相关联的非易失性存储元件的阈值电压高于所述相邻字线的与所述第二组位线相关联的非易失性存储元件,则所述第一通道电压(Vpass2)高于所述第二通道电压(Vpass1)。
CN201080034585.9A 2009-08-05 2010-08-03 用较小通道电压干扰和浮栅极到控制栅极泄漏对存储器编程 Active CN102549673B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/536,127 2009-08-05
US12/536,127 US8134871B2 (en) 2009-08-05 2009-08-05 Programming memory with reduced pass voltage disturb and floating gate-to-control gate leakage
PCT/US2010/044317 WO2011017378A1 (en) 2009-08-05 2010-08-03 Programming memory with reduced pass voltage disturb and floating gate to-control gate leakage

Publications (2)

Publication Number Publication Date
CN102549673A CN102549673A (zh) 2012-07-04
CN102549673B true CN102549673B (zh) 2014-12-17

Family

ID=42670536

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080034585.9A Active CN102549673B (zh) 2009-08-05 2010-08-03 用较小通道电压干扰和浮栅极到控制栅极泄漏对存储器编程

Country Status (7)

Country Link
US (3) US8134871B2 (zh)
EP (1) EP2462590B1 (zh)
JP (1) JP5444468B2 (zh)
KR (1) KR20120062734A (zh)
CN (1) CN102549673B (zh)
TW (1) TW201115574A (zh)
WO (1) WO2011017378A1 (zh)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100323554B1 (ko) * 1997-05-14 2002-03-08 니시무로 타이죠 불휘발성반도체메모리장치
US8130556B2 (en) * 2008-10-30 2012-03-06 Sandisk Technologies Inc. Pair bit line programming to improve boost voltage clamping
US8238161B2 (en) * 2008-11-17 2012-08-07 Samsung Electronics Co., Ltd. Nonvolatile memory device
KR101005145B1 (ko) * 2009-03-06 2011-01-04 주식회사 하이닉스반도체 불휘발성 메모리 소자의 프로그램 방법
US8134871B2 (en) 2009-08-05 2012-03-13 Sandisk Technologies Inc. Programming memory with reduced pass voltage disturb and floating gate-to-control gate leakage
US8416624B2 (en) 2010-05-21 2013-04-09 SanDisk Technologies, Inc. Erase and programming techniques to reduce the widening of state distributions in non-volatile memories
JP2012069186A (ja) * 2010-09-22 2012-04-05 Toshiba Corp 不揮発性半導体記憶装置
US8854891B2 (en) * 2011-07-06 2014-10-07 SK Hynix Inc. Method of operating semiconductor device
JP5622712B2 (ja) * 2011-12-09 2014-11-12 株式会社東芝 不揮発性半導体記憶装置
US8773902B2 (en) 2012-05-09 2014-07-08 Sandisk Technologies Inc. Channel boosting using secondary neighbor channel coupling in non-volatile memory
JP2014053060A (ja) * 2012-09-07 2014-03-20 Toshiba Corp 半導体記憶装置及びその制御方法
US9047988B2 (en) * 2012-11-20 2015-06-02 International Business Machines Corporation Flash interface error injector
US20140254280A1 (en) * 2013-03-11 2014-09-11 Macronix International Co., Ltd. Programming Method For Memory Cell
KR102070724B1 (ko) 2013-03-29 2020-01-30 삼성전자주식회사 비휘발성 메모리 장치 및 그것의 구동 방법
US9245637B2 (en) 2013-09-06 2016-01-26 Sandisk Technologies Inc. Systems and methods for read disturb management in non-volatile memory
WO2015053771A1 (en) * 2013-10-09 2015-04-16 The Clorox Company Intercalated bleach compositions, related methods of manufacture and use
WO2015053772A1 (en) * 2013-10-09 2015-04-16 The Clorox Company Intercalated bleach compositions, related methods of manufacture and use
US9123424B2 (en) 2013-12-17 2015-09-01 Sandisk Technologies Inc. Optimizing pass voltage and initial program voltage based on performance of non-volatile memory
US9620238B2 (en) 2014-01-20 2017-04-11 Sandisk Technologies Llc Methods and systems that selectively inhibit and enable programming of non-volatile storage elements
KR102110844B1 (ko) * 2014-06-02 2020-05-14 삼성전자주식회사 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 프로그램 방법
US9286987B1 (en) 2014-09-09 2016-03-15 Sandisk Technologies Inc. Controlling pass voltages to minimize program disturb in charge-trapping memory
US9922719B2 (en) * 2015-06-07 2018-03-20 Sandisk Technologies Llc Multi-VT sensing method by varying bit line voltage
KR102396116B1 (ko) 2015-09-25 2022-05-10 에스케이하이닉스 주식회사 반도체 메모리 장치
CN106920571A (zh) * 2015-12-25 2017-07-04 北京兆易创新科技股份有限公司 一种Nand Flash的编程方法
KR102461726B1 (ko) * 2016-07-19 2022-11-02 에스케이하이닉스 주식회사 메모리 장치 및 이의 동작 방법
TWI604449B (zh) * 2016-08-31 2017-11-01 旺宏電子股份有限公司 記憶體裝置與其程式化方法
JP2018055736A (ja) * 2016-09-26 2018-04-05 東芝メモリ株式会社 半導体記憶装置
TWI611411B (zh) * 2016-12-21 2018-01-11 旺宏電子股份有限公司 記憶體裝置的操作方法
US10176880B1 (en) * 2017-07-01 2019-01-08 Intel Corporation Selective body reset operation for three dimensional (3D) NAND memory
CN108109664A (zh) * 2017-11-29 2018-06-01 深圳忆联信息系统有限公司 一种缓解mlc闪存读干扰问题的方法
US11238933B2 (en) * 2018-02-26 2022-02-01 Samsung Electronics Co., Ltd. Non-volatile memory device including a verify circuit to control word and bit line voltages and method of operating the same
KR102497212B1 (ko) * 2018-02-26 2023-02-07 삼성전자 주식회사 비휘발성 메모리 장치 및 이의 동작 방법
JP2019160379A (ja) * 2018-03-16 2019-09-19 東芝メモリ株式会社 半導体記憶装置及びメモリシステム
US10755781B2 (en) 2018-06-06 2020-08-25 Micron Technology, Inc. Techniques for programming multi-level self-selecting memory cell
US10643721B2 (en) * 2018-06-21 2020-05-05 Sandisk Technologies Llc Interleaved program and verify in non-volatile memory
TWI669718B (zh) * 2018-12-12 2019-08-21 旺宏電子股份有限公司 非揮發性記憶體與其寫入方法
US10726929B1 (en) 2019-01-25 2020-07-28 Sandisk Technologies Llc Programming process which compensates for data state of adjacent memory cell in a memory device
US10910083B2 (en) * 2019-03-14 2021-02-02 Western Digital Technologies, Inc. Leaky memory hole repair at fabrication joint
US10978152B1 (en) * 2019-11-13 2021-04-13 Sandisk Technologies Llc Adaptive VPASS for 3D flash memory with pair string structure
US10984867B1 (en) 2019-12-23 2021-04-20 SanDiskTechnologies LLC Direct look ahead mode for memory apparatus programmed with reverse order programming
KR20220033651A (ko) * 2020-09-09 2022-03-17 삼성전자주식회사 비휘발성 메모리 장치, 그것의 프로그램 방법 및 그것을 포함하는 저장 장치
DE102022102588A1 (de) 2021-06-28 2022-12-29 Sandisk Technologies Llc Gleichzeitiges programmieren mehrerer zellen für nichtflüchtige speichervorrichtungen
US11868223B2 (en) * 2022-01-19 2024-01-09 Dell Products L.P. Read-disturb-based read temperature information utilization system
US11914494B2 (en) 2022-01-20 2024-02-27 Dell Products L.P. Storage device read-disturb-based read temperature map utilization system
US11875043B1 (en) 2022-08-29 2024-01-16 Sandisk Technologies Llc Loop dependent word line ramp start time for program verify of multi-level NAND memory
US12046314B2 (en) 2022-08-29 2024-07-23 SanDisk Technologies, Inc. NAND memory with different pass voltage ramp rates for binary and multi-state memory

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1228600A (zh) * 1998-02-18 1999-09-15 日本电气株式会社 具有一个编程区域的非易失性半导体存储器件

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6258668B1 (en) * 1999-11-24 2001-07-10 Aplus Flash Technology, Inc. Array architecture and process flow of nonvolatile memory devices for mass storage applications
US6552929B1 (en) 2001-02-08 2003-04-22 Advanced Micro Devices, Inc. Piggyback programming using an extended first pulse for multi-level cell flash memory designs
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
KR100632942B1 (ko) 2004-05-17 2006-10-12 삼성전자주식회사 불 휘발성 메모리 장치의 프로그램 방법
US7196946B2 (en) 2005-04-05 2007-03-27 Sandisk Corporation Compensating for coupling in non-volatile storage
US7196928B2 (en) 2005-04-05 2007-03-27 Sandisk Corporation Compensating for coupling during read operations of non-volatile memory
US7295478B2 (en) * 2005-05-12 2007-11-13 Sandisk Corporation Selective application of program inhibit schemes in non-volatile memory
WO2007078793A1 (en) * 2005-12-19 2007-07-12 Sandisk Corporation Method for programming non-volatile memory with reduced program disturb using modified pass voltages
US7894269B2 (en) 2006-07-20 2011-02-22 Sandisk Corporation Nonvolatile memory and method for compensating during programming for perturbing charges of neighboring cells
US8184478B2 (en) 2006-09-27 2012-05-22 Sandisk Technologies Inc. Apparatus with reduced program disturb in non-volatile storage
KR100763093B1 (ko) * 2006-09-29 2007-10-04 주식회사 하이닉스반도체 플래쉬 메모리 장치의 프로그램 방법
US7535764B2 (en) * 2007-03-21 2009-05-19 Sandisk Corporation Adjusting resistance of non-volatile memory using dummy memory cells
US7492640B2 (en) * 2007-06-07 2009-02-17 Sandisk Corporation Sensing with bit-line lockout control in non-volatile memory
US7636260B2 (en) * 2007-06-25 2009-12-22 Sandisk Corporation Method for operating non-volatile storage with individually controllable shield plates between storage elements
JP2009048697A (ja) * 2007-08-20 2009-03-05 Toshiba Corp Nand型不揮発性半導体メモリ
US7869273B2 (en) 2007-09-04 2011-01-11 Sandisk Corporation Reducing the impact of interference during programming
US7652929B2 (en) 2007-09-17 2010-01-26 Sandisk Corporation Non-volatile memory and method for biasing adjacent word line for verify during programming
KR100933852B1 (ko) 2007-12-28 2009-12-24 주식회사 하이닉스반도체 불휘발성 메모리 소자 및 그 동작 방법
US7808831B2 (en) * 2008-06-30 2010-10-05 Sandisk Corporation Read disturb mitigation in non-volatile memory
US7715235B2 (en) * 2008-08-25 2010-05-11 Sandisk Corporation Non-volatile memory and method for ramp-down programming
US8134871B2 (en) 2009-08-05 2012-03-13 Sandisk Technologies Inc. Programming memory with reduced pass voltage disturb and floating gate-to-control gate leakage

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1228600A (zh) * 1998-02-18 1999-09-15 日本电气株式会社 具有一个编程区域的非易失性半导体存储器件

Also Published As

Publication number Publication date
USRE45497E1 (en) 2015-04-28
TW201115574A (en) 2011-05-01
CN102549673A (zh) 2012-07-04
KR20120062734A (ko) 2012-06-14
US20110032757A1 (en) 2011-02-10
WO2011017378A1 (en) 2011-02-10
JP5444468B2 (ja) 2014-03-19
US8320177B2 (en) 2012-11-27
EP2462590B1 (en) 2013-05-29
JP2013501305A (ja) 2013-01-10
EP2462590A1 (en) 2012-06-13
US20120140568A1 (en) 2012-06-07
US8134871B2 (en) 2012-03-13

Similar Documents

Publication Publication Date Title
CN102549673B (zh) 用较小通道电压干扰和浮栅极到控制栅极泄漏对存储器编程
CN101351849B (zh) 在非易失性存储器写入操作中的持续检验的方法及装置
CN101366091B (zh) 多状态非易失性存储器的编程方法
US7916533B2 (en) Forecasting program disturb in memory by detecting natural threshold voltage distribution
CN102576567B (zh) 用于非易失性存储器中的增强沟道升压的减小的编程脉宽
CN102138182B (zh) 编程并选择性地擦除非易失性存储器
CN102160118B (zh) 非易失性存储器阵列的最后字线的数据保持的改进
CN101405812B (zh) 编程不同大小的容限及在选择状态下使用补偿进行感测以改进非易失性存储器中的读取操作
CN101405814B (zh) 使用不同电压的用于非易失性存储装置的检验操作
CN101584006B (zh) 非易失性存储器中的经分割的软编程
CN102667948B (zh) 减小存储器沟道与浮置栅极耦合的数据状态相关沟道升压
CN102203878B (zh) 用于改进升压箝位的对位线编程
CN102906820B (zh) 用同步耦合编程非易失性存储器
CN102138183B (zh) 对非易失性存储器的选择性擦除操作
CN102150216B (zh) 具有降低的数据存储要求的存储器的多遍编程
US7995394B2 (en) Program voltage compensation with word line bias change to suppress charge trapping in memory
CN102306501B (zh) 编程不同大小的容限及在选择状态下使用补偿进行感测以改进非易失性存储器中的读取操作
CN105190763A (zh) 在编程期间降低非易失性存储装置的nand串选择栅极电压
KR20110040780A (ko) 비휘발성 저장소에서 채널 부스팅을 증가시키기 위한 강화된 비트라인 프리챠지 방식
CN101779250B (zh) 编程脉冲持续期的智能控制
CN101802925B (zh) 控制门线架构
KR20090089348A (ko) 다중 부스팅 모드들을 이용하여 비휘발성 메모리에서 프로그램 디스터브를 감소시키는 방법
CN104952475B (zh) 快闪存储器及其编程方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: American Texas

Patentee after: DELPHI INT OPERATIONS LUX SRL

Address before: American Texas

Patentee before: Sandisk Technologies, Inc