CN103348412B - 用于在编程期间减小存储器中的沟道与浮置栅极耦合的交替位线偏压 - Google Patents

用于在编程期间减小存储器中的沟道与浮置栅极耦合的交替位线偏压 Download PDF

Info

Publication number
CN103348412B
CN103348412B CN201180061301.XA CN201180061301A CN103348412B CN 103348412 B CN103348412 B CN 103348412B CN 201180061301 A CN201180061301 A CN 201180061301A CN 103348412 B CN103348412 B CN 103348412B
Authority
CN
China
Prior art keywords
programming
memory element
memory device
volatile memory
program verification
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
CN201180061301.XA
Other languages
English (en)
Other versions
CN103348412A (zh
Inventor
迪潘舒·杜塔
杰弗里·W·卢策
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 CN103348412A publication Critical patent/CN103348412A/zh
Application granted granted Critical
Publication of CN103348412B publication Critical patent/CN103348412B/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/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/24Bit-line control 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • 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/3436Arrangements for verifying correct programming or erasure

Landscapes

  • Read Only Memory (AREA)
  • Semiconductor Memories (AREA)

Abstract

在非易失性存储系统中,通过减小相邻存储元件在接近同一编程脉冲处达到锁闭状态的概率来减小电容性耦合效应。诸如抬高位线电压的放慢措施可施加到与奇数号位线关联的字线的存储元件,而不施加到与偶数号位线关联的字线的存储元件。抬高位线电压在编程脉冲范围上施加,随后在一个或多个编程脉冲上步降至接地。其上施加放慢措施的编程脉冲的范围可被固定或者自适应地确定。当位线电压步降时,编程脉冲增量可被降低,随后增加。被编程到最高目标数据状态的存储元件可从放慢措施中排除。

Description

用于在编程期间减小存储器中的沟道与浮置栅极耦合的交替位线偏压
背景技术
本发明涉及非易失性存储器。
半导体存储器已经变得越来越普遍地用于各种电子设备中。例如,将非易失性半导体存储器用于蜂窝电话、数码相机、个人数字助理、移动计算设备、非移动计算设备以及其它设备中。电可擦除可编程只读存储器(EEPROM)及闪速存储器是最流行的非易失性半导体存储器之一。闪速存储器也是一种EEPROM的类型,相比于传统的完全特征化EEPROM,对于闪速存储器,整个存储器阵列的内容或者存储器一部分的内容可在一个步骤中擦除。
传统EEPROM和闪速存储器都使用半导体衬底中位于沟道区上方并与该沟道区绝缘的浮置栅极。该浮置栅极位于源极区和漏极区之间。控制栅极被设置在浮置栅极上并与之绝缘。如此形成的晶体管的阈值电压(Vth)由浮置栅极上保留的电荷量来控制。也就是说,在晶体管导通以允许在晶体管的源极和漏极之间传导之前必须施加给控制栅极的最小电压量,由浮置栅极上的电荷电平控制。
一些EEPROM及闪速存储器设备具有带有浮置栅极的存储元件或存储单元,该浮置栅极用于存储两个程度的电荷,因此,存储元件可在两个状态(例如,已擦除状态和已编程状态)之间被编程/擦除。这样的闪速存储器设备有时被称为二进制闪速存储器设备,因为每个存储元件可存储一位数据。
多状态(也称为多电平)闪速存储器设备通过识别多个不同的允许/有效的已编程阈值电压范围来实现。每个不同的阈值电压范围与存储器设备中编码的数据位集合的预定值对应。例如,每个存储元件在其可处于与四个不同阈值电压范围对应的四个离散电荷带之一时能够存储两位数据。
通常,在编程操作期间施加给控制栅极的编程电压Vpgm是作为幅度随时间增加的一系列脉冲而施加的。编程电压可施加给被选字线。在一个可能的方法中,脉冲的幅度随着每个连续脉冲而增加预定步长或增量,例如0.2-0.4V。Vpgm可被施加给闪速存储器元件的控制栅极。在编程脉冲之间的时间段中,执行验证操作。也就是说,在连续编程脉冲之间读取被并行编程的一组存储元件中的每个元件的编程电平,以确定该编程电平是否等于或大于该元件正被编程到的验证电平。对于多状态闪速存储器元件的阵列,可针对元件的每个状态执行验证步骤,以确定该元件是否到达其数据关联验证电平。例如,能够以四个状态存储数据的多状态存储元件可能需要针对三个比较点执行验证操作。
而且,当对EEPROM或闪速存储器设备(例如,在NAND串中的NAND闪速存储器设备)编程时,通常Vpgm被施加给控制栅极并且位线被接地,这致使来自存储元件的沟道的电子被注入到浮置栅极中。当电子在浮置栅极中聚集时,浮置栅极变为带负电并且存储元件的阈值电压升高,以使得认为其处于已编程状态。
然而,随着存储器设备尺寸的缩小,存储器设备中的电磁耦合效应变得越来越重要。
附图说明
在附图中,相似参考标号的元件彼此对应。
图1A是NAND串的俯视图。
图1B是NAND串的等效电路图。
图2是NAND串的横截面图。
图3是示出三个NAND串的电路图。
图4是NAND闪速存储元件阵列的框图。
图5是使用单行/列解码器及读/写电路的非易失性存储器系统的框图。
图6是示出感测块的一个实施例的框图。
图7A示出阈值电压分布的示例集合。
图7B示出双趟次编程技术的第一趟次。
图7C示出图7B的双趟次编程技术的第二趟次。
图7D示出另一个双趟次编程技术的第一趟次。
图7E示出图7D的另一个双趟次编程技术的第二趟次。
图8A示出在编程操作期间施加给被选字线的一系列编程和验证脉冲。
图8B示出存储元件集合的多趟次编程操作。
图9示出表示沟道与浮置栅极耦合及浮置栅极与浮置栅极耦合的NAND串的横截面图。
图10示出当邻近存储元件到达锁闭状态时针对受害存储元件而出现的电容性耦合效应。
图11示出对于A数据状态、B数据状态和C数据状态的每个,相对于编程脉冲号的存储元件到达锁闭的概率。
图12A示出对于与偶数号位线关联的存储元件,以图11的A数据状态、B数据状态和C数据状态的概率的总和为基础,相对于编程脉冲号的存储元件到达锁闭的概率,其中没有施加基于位置的放慢措施。
图12B示出对于与奇数号位线关联的存储元件,以图11的A数据状态、B数据状态和C数据状态的概率的总和为基础,相对于编程脉冲号的存储元件到达锁闭的概率,其中没有施加基于位置的放慢措施。
图12C示出相对于编程脉冲号的存储元件受最大电容性耦合效应影响的概率,其中没有施加基于位置的放慢措施。
图13A重复图12A的曲线,以识别A状态的峰和谷,从而用于与图13B比较。
图13B示出对于与奇数号位线关联的存储元件,相对于编程脉冲号的存储元件到达锁闭的概率,其中施加了放慢措施,从而使得图13A的曲线向右侧移位三个编程脉冲。
图13C示出相对于编程脉冲号的存储元件受最大电容性耦合效应影响的概率,其中施加了基于位置的放慢措施,从而用于比较图12C的曲线。
图14示出在全位线编程构造中,包括与偶数号位线关联的存储元件以及与奇数号位线关联的存储元件的存储元件集合。
图15A示出向没有对其施加基于位置的放慢措施的偶数号位线施加的位线电压,以及向对其施加了基于位置的放慢措施的奇数号位线施加的位线电压,其中位线电压与编程脉冲号无关。
图15B示出向没有对其施加基于位置的放慢措施的偶数号位线施加的位线电压,以及向对其施加了基于位置的放慢措施的奇数号位线施加的位线电压,其中基于位置的放慢措施在编程操作完成之前被移除。
图15C1示出相对于与图15B的位线电压一起使用的编程脉冲号的编程脉冲电压。其中,编程脉冲电压以第一速率初始步升,随后当移除了基于位置的放慢措施时对一个编程脉冲以第二速率步降,并随后以高于第一速率的第三速率步升。
图15C2示出相对于与图15B的位线电压一起使用的编程脉冲号的编程脉冲电压。其中,编程脉冲电压以第一速率初始步升,随后当移除了基于位置的放慢措施时针对一个编程脉冲而固定,并随后以高于第一速率的第二速率步升。
图15C3示出相对于与图15B的位线电压一起使用的编程脉冲号的编程脉冲电压。其中,编程脉冲电压以第一速率初始步升,随后当移除了基于位置的放慢措施时对一个编程脉冲以低于第一速率的第二速率步升,并随后以高于第一速率的第三速率步升。
图15D示出相对于与图15E的位线电压一起使用的编程脉冲号的编程脉冲电压,其中,编程脉冲电压以第一速率初始步升,随后当移除了基于位置的放慢措施时对三个编程脉冲以低于第一速率的第二速率步升,并随后以高于第一速率的第三速率步升。
图15E示出向没有对其施加基于位置的放慢措施的偶数号位线施加的位线电压,以及向对其施加了基于位置的放慢措施的奇数号位线施加的位线电压,其中基于位置的放慢措施在编程操作完成之前在多个编程脉冲上被逐步移除。
图15F示出向没有对其施加基于位置的放慢措施的偶数号位线施加的位线电压,以及向对其施加了基于位置的放慢措施的奇数号位线施加的位线电压,其中基于位置的放慢措施在初始编程脉冲号之后开始并且在编程操作完成之前被移除。
图16示出了编程被选存储元件的过程,其中基于位置的放慢措施被施加到沿字线的第一位置集合中的被选存储元件,但不施加到沿字线的第二位置集合中的被选存储元件。
具体实施方式
提供了一种其中优化编程以减小电磁耦合效应的方法及非易失性存储系统。
在编程操作期间,通过对关联的衬底沟道区进行升压,可禁止先前已完成到目标数据状态的编程的未被选存储元件或对其锁闭而不能进一步编程。足够的升压量用于减小被禁存储元件的编程干扰的发生,其中该被禁存储元件的阈值电压升高至下一个更高数据状态,或者升高至存储元件无法被准确读取的电平。然而,沟道升压导致了电磁耦合效应,该电磁耦合效应可过度地升高被选存储元件的阈值电压,从而导致阈值电压分布的不期望加宽。
已确定出:立即跟随其中存储元件被锁闭的编程验证迭代的一个或多个编程验证迭代是至关重要的。特别地,在编程验证迭代中,如果两个邻接存储元件在之前的编程验证迭代中都到达锁闭状态,则被选存储元件受到最大耦合效应。此外,如果在编程验证迭代中被选存储元件到达在其中该存储元件受到最大耦合效应的锁闭状态,则造成了阈值电压分布的不期望加宽。通过减小此场景出现的概率,出现阈值电压分布的不期望加宽的概率也将减小。示例实施方式放慢了与奇数号位线关联的存储元件的编程速度以实现此目标。放慢措施可涉及在编程脉冲的范围内来施加被抬高的位线电压,随后在一个或多个编程脉冲上将位线电压逐步减低回至地。该编程脉冲的范围可被固定或适应性地确定。此外,被编程到最高目标数据状态的存储元件可从放慢措施中排除,这是因为通常可容忍对于这些存储元件的上尾部(uppertail)上的一些Vth加宽。
适当的存储器系统的一个示例使用NAND闪速存储器结构,该结构在两个选择栅极之间串联布置多个晶体管。串联的晶体管及选择栅极被称为NAND串。图1A是示出一个NAND串90的俯视图。图1B是该NAND串90的等效电路。示出的NAND串包括四个晶体管100、102、104和106,其串联且夹在第一选择栅极120和第二选择栅极122之间。选择栅极120将NAND串连接至位线126。选择栅极122将NAND串连接至源极线128。通过分别向控制栅极120和控制栅极122施加合适的电压来控制选择栅极120和选择栅极122。晶体管100、晶体管102、晶体管104和晶体管106中的每个均具有控制栅极和浮置栅极。晶体管100具有控制栅极100CG和浮置栅极100FG。晶体管102包括控制栅极102CG和浮置栅极102FG。晶体管104包括控制栅极104CG和浮置栅极104FG。晶体管106包括控制栅极106CG和浮置栅极106FG。控制栅极100CG、控制栅极102CG、控制栅极104CG和控制栅极106CG分别连接至字线WL3、字线WL2、字线WL1和字线WL0。在一个实施例中,晶体管100、晶体管102、晶体管104和晶体管106均为存储器单元。在其它实施例中,存储器单元可包括多个晶体管或者可与示出的不同。选择栅极120和选择栅极122分别连接至漏极侧选择线SGD和源极侧选择线SGS。
图2提供上述NAND串的横截面图。NAND串的晶体管形成在p阱区140中。而该p阱区继而可在p型衬底144的n阱区142内。每个晶体管包括堆叠栅极结构,该堆叠栅极结构包括控制栅极(100CG、102CG、104CG和106CG)及浮置栅极(100FG、102FG、104FG和106FG)。浮置栅极被形成于氧化物或其它介电薄膜顶部的p阱的表面上。控制栅极在浮置栅极上方,其中内部多晶硅电介质层将控制栅极与浮置栅极分离。存储器单元(100、102、104和106)的控制栅极形成字线。N+掺杂层130、N+掺杂层132、N+掺杂层134、N+掺杂层136和N+掺杂层138在邻近单元之间共享,由此单元彼此串联连接以形成NAND串。这些N+掺杂层形成每个单元的源极和漏极。例如,N+掺杂层130用作晶体管122的漏极及晶体管106的源极,N+掺杂层132用作晶体管106的漏极及晶体管104的源极,N+掺杂层134用作晶体管104的漏极及晶体管102的源极,N+掺杂层136用作晶体管102的漏极及晶体管100的源极,以及,N+掺杂层138用作晶体管100的漏极及晶体管120的源极。N+掺杂层125连接至NAND串的位线126,而N+掺杂层128连接至多个NAND串的公共源极线。一些NAND串将包括8个、16个、32个、64个或更多的存储器单元。每个存储器单元能够在一个或多个位中存储以模拟或数字形式表现的数据。
除了NAND闪速存储器之外,还可使用其它类型的非易失性存储器。
作为编程操作的一部分,与未被选存储元件(例如未被选NAND串90)关联的衬底的沟道区的电势可被提升。未被选存储元件或NAND串可被分别称为被禁或被锁闭存储元件或NAND串,这缘于其在给定的编程操作的编程迭代中被禁止或被锁闭而不能进行编程所致。例如在通过控制栅极和浮置栅极100CG/100FG、102CG/100FG、104CG/104FG和106CG/106FG提供的任何存储元件在编程操作中是未被选存储元件时,例如,在NAND串90是未被选NAND串时,可在衬底144的p阱140中提供沟道区141。沟道区141表示衬底中的传导路径,其在掺杂区130、掺杂区132、掺杂区134、掺杂区136和掺杂区138中及之间延伸。可以以不同方法实现升压。例如,在预充电操作(其在将通过电压施加给未被选字线之前出现)中,在位线126上供应的电压可经由漏极侧选择栅极晶体管120CG传送给沟道区141。在一个可能场景中,对于合适的位线电压,漏极侧选择栅极晶体管向沟道提供电压Vcg-Vth,其中Vcg是漏极侧选择栅极晶体管的控制栅极电压,且Vth是漏极侧选择栅极晶体管的阈值电压。漏极侧选择栅极晶体管随后可变得非传导,使得位线从沟道141被断开,且在沟道中保持经提升的电势。沟道升压还可通过向字线施加通过电压并保持漏极侧选择栅极晶体管处于非传导来实现。通过电压接入沟道,以升高沟道的电势。下面进一步详细讨论各种沟道升压方案。
图3是示出三个NAND串的电路图。使用NAND结构的闪速存储器系统的典型结构将包括若干NAND串。例如,在具有更多NAND串的存储器阵列中示出三个NAND串320、340和360。NAND串中的每一个均包括两个选择栅极和四个存储元件。尽管为了简明示出了四个存储元件,但是现代的NAND串可具有多至例如32或64个存储元件。
例如,NAND串320包括选择栅极322和选择栅极327以及存储元件323-326,NAND串340包括选择栅极342和选择栅极347以及存储元件343-346,NAND串360包括选择栅极362和367以及存储元件363-366。每个NAND串通过其选择栅极(例如,选择栅极327、347或367)连接至源极线370。选择线SGS被用于控制源极侧选择栅极。不同的NAND串320、340和360分别通过在选择栅极322、选择栅极选择栅极342和362中的漏极侧选择晶体管来连接至相应的位线321、位线341和位线361。这些选择晶体管通过漏极选择线SGD控制。在其它实施例中,选择线非必须需要在NAND串之间共用;也就是说,不同的选择线能够提供给不同的NAND串。在衬底中可生成分别与NAND串320、340和360关联的示例沟道区329、330和331。注意到,存储元件和沟道区被示出为如同从它们的实际位置旋转90度。
按如下将字线连接至存储元件的控制栅极:WL3(存储元件323、343和363)、WL2(存储元件324、344和364)、WL1(存储元件325、345和365)及WL0(存储元件326、346和366)。每个字线连接行中的每个存储元件的控制栅极。或者,控制栅极可由字线的部分提供。
当对闪速存储器存储元件编程时,向存储元件的控制栅极施加(例如,经由关联的字线)编程电压,并且将与存储元件关联的位线接地。来自沟道的电子被注入到浮置栅极。当电子在浮置栅极聚集时,浮置栅极变为带负电并且存储元件的Vth升高。
图4示出NAND存储元件(例如在图1A和图1B中所示的NAND存储元件)的阵列400的示例。沿着每一列,位线406与NAND串450的漏极侧选择栅极的漏极端子426耦合。沿着NAND串的每一行,源极线404可连接NAND串的源极选择栅极的所有源极端子428。
存储元件的阵列被划分为大量的存储元件块。通常对于闪速EEPROM系统而言,块是擦除单位。也就是说,每一块包含被一起擦除的最小数量的存储元件。每一块通常被划分为多个页。页是编程的最小单位。一个或多个数据页通常被存储在一行存储元件中。例如,行典型地包含数个交叉的页或者其可构成一页。页的所有存储元件将被一起读取或编程。大量的页形成块,数量在任意从8个页到例如32、64、128或更多页之间。在一些实施例中,一行NAND串包括块。
图5是使用单个行/列解码器及读/写电路的非易失性存储器系统的框图。根据一个实施例,存储器设备596具有用于对存储元件的页进行并行读取及编程的读/写电路。存储器设备596可包括一个或多个存储器管芯(die)598。存储器管芯598包括二维存储元件阵列400、控制电路510及读/写电路565。在一些实施例中,存储元件阵列可以是三维的。存储元件阵列400可经由行解码器530通过字线以及经由列解码器560通过位线来寻址。读/写电路565包括多个感测块500并允许存储元件页被并行读取或编程。典型地,在与一个或多个存储器管芯598相同的存储器设备596(例如,移动存储卡)中包括控制器550。经由线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的访问。
图6是示出感测块的一个实施例的框图。单独的感测块500被分割为核心部分(被称为感测模块580)以及共用部分590。在一个实施例中,针对每个位线具有独立的感测模块580,而针对多个感测模块580集合具有一个共用部分590。在一个示例中,感测块将包括一个共用部分590及八个感测模块580。组中的每个感测模块将经由数据总线572与关联的共用部分通信。
感测模块580包括感测电路570,该感测电路570确定在所连接的位线中的传导电流是否高于或低于预定阈值水平。感测模块580还包括位线锁存器582,该位线锁存器582用于设置关于所连接位线的电压状态。例如,在位线锁存器582中锁存的预定状态将导致所连接的位线被拉至指示编程禁止的状态(例如,1.5-3V)。
共用部分590包括处理器592、数据锁存器594集合,及耦合在数据锁存器594集合与数据总线520之间的I/O接口596。处理器592执行计算。例如,处理器592的功能之一是确定在被感测的存储元件中存储的数据以及将所确定的数据存储在数据锁存器集合中。又参见图13。数据锁存器594集合用于存储在读取操作期间由处理器592确定的数据位。数据锁存器594的集合还用于存储在编程操作期间从数据总线520输入的数据位。所输入的数据位代表意图被编程到存储器中的写入数据。I/O接口596在数据锁存器594和数据总线520之间提供接口。
在读取或其它感测期间,状态机512控制:给被寻址到的存储元件供应不同控制栅极电压。由于感测模块580步进通过与存储器所支持的各种存储器状态对应的各种预定控制栅极电压,因此感测模块580可在这些电压之一处启动(trip),并且将从感测模块580经由总线572向处理器592提供输出。此时,处理器592通过考虑感测模块的一个或多个启动事件以及关于经由输入线593而从状态机施加的控制栅极电压的信息,来确定作为结果的存储器状态。然后,处理器592为存储器状态计算二级制编码并将作为结果的数据位存储到数据锁存器594中。在核心部分的另一个实施例中,位线锁存器582既用作用于锁存感测模块580的输出的锁存器,又用作如上所述的位线锁存器。
在编程或验证期间,将待编程的数据通过数据总线520存储在数据锁存器594集合中。在状态机的控制下,编程操作包括向被寻址到的存储元件的控制栅极施加的一系列编程电压脉冲。在每个编程脉冲之后进行读回(验证),以确定存储元件是否已经被编程到期望的存储器状态。处理器592监视与期望存储器状态相关的读回存储器状态。当这两个状态一致时,处理器592设置位线锁存器582,以使得引起位线被拉至指示编程禁止的状态。即使在存储元件的控制栅极上出现编程脉冲,与位线耦合的该存储元件也会被禁止进行进一步编程。在其它实施例中,处理器最初加载位线锁存器582并且在验证过程期间感测电路将该位线锁存器582设置为禁止值。
数据锁存器堆栈594包括与感测模块对应的一堆数据锁存器。在一个实施例中,对于每个感测模块580具有三个数据锁存器。数据锁存器可被实施为移位寄存器,使得其中存储的并行数据被转换为针对数据总线520的串行数据,反之亦然。与m个存储元件的读/写块对应的所有数据锁存器可链接在一起,以形成块移位寄存器,使得数据块能够以串行传送而被输入或输出。特别地,调整读/写模块组,使得其数据锁存器集合中的每一个将数据依次移入或移出数据总线,就像它们是用于整个读/写块的移位寄存器的一部分。
图7A示出用于四状态存储器设备的阈值电压分布的示例集合,其中每个存储元件存储两位数据。提供第一阈值电压(Vth)分布700以用于已擦除(E-状态)存储元件。三个Vth分布702、704和706分别表示已编程状态A、B和C。在一个实施例中,在E状态中的阈值电压以及在A、B和C分布中的阈值电压是正的。
还提供三个读取参考电压Vra、Vrb和Vrc以从存储元件读取数据。通过测试给定存储元件的阈值电压是高于还是低于Vra、Vrb和Vrc,系统可确定存储元件所处的状态(例如,编程中状态)。
进一步,提供三个验证参考电压Vva、Vvb和Vvc。当将存储元件编程到A状态、B状态或C状态时,系统将测试这些存储元件是否分别具有大于或等于Vva、Vvb和Vvc的阈值电压。
在一个实施例中,存储元件可从E状态被直接编程到已编程状态A、B或C中的任何一个,这称为全序列编程。例如,待编程的存储元件群体可首先被擦除,使得该群体中所有的存储元件皆处于E状态。然后,将使用诸如在图8A中所示的一系列编程脉冲来将存储元件直接编程到状态A、B或C。一些存储元件从E状态被编程到A状态,而其它存储元件从E状态被编程到B状态和/或从E状态被编程到C状态。
另一个选择是对一个或多个数据状态使用低验证电平和高验证电平。例如,对于A状态,VvaL及Vva分别是较低和较高的验证电平,而对于B状态,VvbL和Vvb分别是较低和较高的验证电平,对于C状态,Vvcl和Vvc分别是较低和较高的验证电平。在一些情况中,不使用VvcL,这是因为减小的编程精确度对于最高状态是可接受的。在编程期间,当正被编程至作为目标状态的A状态的存储元件的Vth超过VvaL时,例如通过将相关联的位线电压升高至位于标称编程或非禁止电平(例如,0V)与全禁止电平(例如,2.5V)之间的电平(例如,0.6-0.8V),在慢编程模式中,使存储元件的编程速度放慢。这通过避免阈值电压中较大的步进增加而提供更高的准确性。当Vth到达Vva时,存储元件被锁闭而不能被进一步编程。
类似地,当正被编程到作为目标状态的B状态的存储元件Vth超过VvbL时,使存储元件的编程速度放慢,并且当Vth到达Vvb时,存储元件被锁闭而不能被进一步编程。可选地,当正被编程到作为目标状态的C状态的存储元件Vth超过VvcL时,使存储元件的编程速度放慢,并且当Vth到达Vvc时,存储元件被锁闭而不能被进一步编程。该编程技术已被称为快速通过写入(quickpasswriteQPW)或双验证技术。注意到,在一种方法中,对最高状态不使用双验证电平,这是因为过高一些对于该状态通常是可接受的。而对高于已擦除状态并低于最高状态的已编程状态,可以使用双验证电平。
在之前段落中提到的编程速度的放慢是与存储元件的编程过程成函数关系,例如由其Vth来指示的那样。编程速度的放慢可独立于(还在本文中论述的)基于位置的放慢而发生。在被选存储元件(例如没有被锁闭编程的存储元件)上,基于存储元件集合中的该存储元件位置(例如基于沿着与存储元件集合关联的字线的位置),来实施基于位置的放慢。例如,这个位置可能由正与偶数号位线或奇数号位线关联的存储元件来指示。
图7B示出双趟次技术的第一趟次。在这个示例中,多状态存储元件存储了下页和上页这两个不同页的数据。通过重复来自图7A的阈值电压分布700、702、704和706而示出四个状态。这些状态以及它们所表示的位是:E状态(11)、A状态(01)、B状态(00)和C状态(10)。对于E状态,两个页都存储“1”。对于A状态,下页存储“1”而上页存储“0”。对于B状态,两个页都存储“0”。对于C状态,下页存储“0”而上页存储“1”。注意到,尽管为每个状态分配了特定的位模式,但是也可分配不同的位模式。
在第一编程趟次中,下页针对被选字线WLn而被编程。如果下页保持数据“1”,则存储元件状态保持在状态E(分布700)。如果数据要被编程为0,则升高在WLn上的存储元件的阈值电压,以使得存储元件被编程到中间(LM或中下)状态(分布705)。
在一个实施例中,在存储元件从E状态被编程到LM状态(如图8B中的步进“1”所指示的)之后,在NAND串中的邻近字线WLn+1上的其邻居存储元件随后关于其下页而在邻近字线的各自第一编程趟次中被编程(如图8B中的步进“2”所指示的)。
图7C示出图7B的双趟次编程技术的第二趟次。A状态的存储元件从E状态分布700被编程到A状态分布702,B状态的存储元件从LM状态分布705被编程到B状态分布704,并且C状态的存储元件从LM状态分布705被编程到C状态分布706。对于WLn的双趟次编程技术的第二趟次由图8B中的步进“5”指示。
图7D示出另一个双趟次编程技术的第一趟次。在这个示例中,以下被称为“模糊到清晰(foggy-fine)编程”:使用低验证电平VvaL、VvbL和VvcL来分别将A状态、B状态和C状态的存储元件从E状态编程至分布712、714和716。这是模糊编程趟次。例如可以使用相对大的编程脉冲步长,来将存储元件迅速编程至各自的低验证电平。
图7E示出图7D的另一个双趟次编程技术的第二趟次。使用标称的、高验证电平Vva、Vvb和Vvc来分别将A状态、B状态和C状态的存储元件从各自的较低分布编程至各自的最终分布702、704和706。这是清晰编程趟次。例如可以使用相对小的编程脉冲步长,来将存储元件缓慢编程至各自的最终验证电平,同时避免大的越过。
尽管编程示例示出四个数据状态和两个数据页,但是所教授的构思可应用于具有多于或少于四个状态以及多于或少于两个页的其它实施方式。例如,通常设计或生产每存储元件具有8个或16个状态的存储器设备。
而且,在讨论的示例性编程技术中,存储元件的Vth随着该存储元件被编程到目标数据状态而逐渐升高。然而,编程技术也可以使用在:存储元件的Vth随着该存储元件被编程到目标数据状态而逐渐降低中。也可使用测量存储元件电流的编程技术。本文中的构思可适用不同编程技术。
图8A示出在编程操作期间施加给被选字线的一系列编程及验证脉冲。编程操作可包括多个编程验证迭代,其中每个迭代向被选字线施加由一个或多个验证电压跟随的编程脉冲。在一个可能的方法中,编程脉冲在连续的迭代中步进。而且,每个编程脉冲可包括具有例如6-8V的通过电压(Vpass)电平的第一部分,该第一部分后面跟随着具有例如12-25V的编程电平的第二的最高幅度部分。例如,第一编程脉冲800、第二编程脉冲802、第三编程脉冲804和第四编程脉冲806分别具有Vpgm1、Vpgm2、Vpgm3和Vpgm4的编程电平,等等。可在每个编程脉冲之后提供一个或多个验证电压,例如示例验证电压Vva、Vvb和Vvc(808)。在一些情况中,由于不期望任何存储元件已经到达了最低编程状态(例如,A状态),因此一个或多个初始编程脉冲后面并不跟随验证脉冲。随后,例如,编程验证迭代可使用用于A状态的验证脉冲,后面跟随着使用用于A和B状态的验证脉冲的编程验证迭代,后面跟随着使用用于B和C状态的验证脉冲的编程验证迭代。
图8B示出用于存储元件集合的多趟次编程操作。示出的部件可以是存储元件、字线和位线更大集合的子集。在一个可能的编程操作中,在WLn-1上的存储元件(例如,存储元件802、824和826)在第一编程趟次中被编程。由带圆圈的“1”表示这个步骤。接下来(“2”),在WLn上的存储元件(例如,存储元件832、824和826)在第一编程趟次中被编程。在该示例中,当字线被选择来用于编程时,在每个编程脉冲之后出现验证操作。在WLn上的验证操作期间,向WLn施加一个或多个验证电压并且向包括WLn-1及WLn+1的剩余字线施加通过电压。通过电压用于开启(使传导)未被选存储元件,以使得能够对被选字线出现感测操作。接下来(“3”),在WLn-1上的存储元件被编程在第二编程趟次中。接下来(“4”),在WLn+1上的存储元件(例如,存储元件842、844和846)在第一编程趟次中被编程。接下来(“5”),在WLn上的存储元件在第二编程趟次中被编程到它们相应的目标状态。
以这种来回字线次序来编程存储元件的主要理由是为了在被选WL存储元件已被编程到其最终趟次之后,使邻近WL存储元件上的Vth偏移最小化。在邻近存储元件上的更高的Vth偏移会导致在被选WL存储元件上的更高的干扰效应,其加宽该被选WL存储元件的Vth的分布。因而,减小邻近WL存储元件上的Vth偏移减小了被选存储元件见到的干扰效应并因此使被选存储元件见到的Vth分布加宽最小化。
图9示出NAND串的横截面图,示出沟道与浮置栅极耦合以及浮置栅极与浮置栅极耦合。位线或NAND串的方向进入页面,且字线方向从左到右。字线900延伸穿过多个NAND串。第一NAND串包括沟道区916。在第一NAND串中的存储元件910包括:控制栅极912,其是字线900的一部分;以及浮置栅极914。第二NAND串包括沟道区926。在第二NAND串中的存储元件920包括:控制栅极922,其是字线900的一部分;以及浮置栅极924。第三NAND串包括沟道区936。在第三NAND串中的存储元件930包括:控制栅极932,其是字线900的一部分;以及浮置栅极934。
随着存储器设备按比例减小,存储元件对存储元件的干扰扮演越来越重要的角色。这些干扰之一是在编程期间沟道与浮置栅极的耦合。在全位线编程中,考虑经历编程的被选字线的被选存储元件920。当在相同字线900上的邻居位线的存储元件(例如,910或930)到达其目标数据状态时,该存储元件被锁闭或被禁止而不能被进一步编程。在下一个编程验证迭代的编程部分中,被锁闭存储元件的衬底沟道区(例如,916或936)被升压,以防止在将编程脉冲施加给被选字线时该存储元件的浮置栅极(例如,914或934)被编程。然而,沟道中被提升的电势耦合直到被选存储元件920的浮置栅极924,导致在施加编程脉冲时由该被选存储元件见到的有效编程电压(Vpgm)的增加。这导致被选存储元件的Vth跳跃比期望的更大。存储元件的Vth分布因此被非期望地加宽。除了这个沟道与浮置栅极耦合之外,浮置栅极到浮置栅极也进一步增加被选存储元件见到的有效Vpgm。这由从浮置栅极914和/或934与浮置栅极924的耦合表示。
而且,在更严重的情况中,如果被选存储元件的两个邻近的邻居存储元件被一起锁闭,则在下一个编程验证迭代的编程部分期间,它们的沟道将都被禁止。邻居沟道(例如,916和936)将被升压到Vchannel,使得它们的浮置栅极(例如,914和934)也被升压至更高的电势。无论沟道何时被升压,Vchannel的一部分都被耦合到浮置栅极并且因此升高浮置栅极电势。例如,邻居沟道916和936中的大约15%的Vchannel可分别与浮置栅极914和934耦合。Vchannel和邻居浮置栅极电势二者耦合到被选存储元件的浮置栅极924并增加有效Vpgm。从沟道(916和/或936)到浮置栅极(914和/或934)的耦合以及从浮置栅极(914和/或934)到浮置栅极(924)的耦合,耦合的电压的总量取决于Vchannel。针对缩放比例,这些耦合变得更大,导致了上述电容性耦合效应的幅度的增加。如果经历了耦合的受害存储元件在耦合为最大的编程验证迭代上到达锁闭状态,那么该受害存储元件的Vth进行了更大的跳跃并且在靠近正被编程的存储元件集合的Vth分布的上端结束。类似地,如果多个受害存储元件在耦合为最大的编程验证迭代上到达锁闭状态,那么正被编程的存储元件集合的Vth加宽。这个耦合效应的净影响在当邻近存储元件在如下的编程验证迭代处锁闭时处于该影响的最高:该编程验证迭代就在被选存储元件锁闭的编程验证迭代之前。因而,减小这个效应的关键在于减小邻近存储元件以类似编程验证迭代计数锁闭的机会。
减小耦合的一个方法包括:对偶数号位线和奇数号位线分开编程(奇偶编程),以使得对于每个存储元件,邻居存储元件或邻居位线总是处于禁止状态。尽管这个方案是有效的,但是由于编程时间增加,该方案具有明显的性能惩罚。另一个方法是将用于仍在编程的存储元件的位线与沟道进行浮置。在邻居存储元件被锁闭的情况下,浮置的位线和沟道耦合到使存储元件的编程放慢的更高值,并且由此对耦合进行自补偿。然而,该方法减小了由于到浮置位线的寄生耦合而造成效果。
在常规编程方法中,所有编程位线被接地,使得Vbl=0(假设未使用QPW模式)。因而,奇数位线和偶数位线的存储元件以相同的速度编程并且因此存储元件在任何给定脉冲处锁闭的概率在偶数BL和奇数BL上相同。因而,与奇数BL和偶数BL关联的存储元件在类似编程脉冲号(#)上锁闭的概率(这个概率是两个概率的乘积)是相对高的。因此,受耦合影响的机会也是相对高的。在提议的方法中,电容性耦合的影响由存储元件在彼此靠近的编程脉冲处锁闭的概率来估计,其中与奇数号位线关联的存储元件在编程脉冲#N处锁闭,而与偶数号位线关联的存储元件在编程脉冲#N+1处锁闭,或者反之亦然。换句话说,耦合的影响是与偶数号位线关联的存储元件在编程脉冲#N处锁闭的概率以及与奇数号位线关联的存储元件在编程脉冲#N+1处锁闭的概率的乘积的函数。
为了从这些观察中受益,我们可通过在交替位线上使用位线偏压来放慢关联的存储元件相对于与剩余位线关联的存储元件的编程,以减小与偶数号位线和奇数号位线关联的存储元件在类似编程脉冲处锁闭的概率。例如,交替位线(例如全偶数位线或全奇数位线)可以以放慢电平被偏压至特定电压(Vbl-slow),以放慢关联的存储元件的编程,并因此创建在偶数号位线和奇数号位线的关联存储元件的编程速度之差。这将减小偶数号位线和奇数号位线的关联存储元件在类似编程脉冲#处锁闭的机会,并因此减小被耦合影响的机会。
因此,基于存储元件的位置,一些存储元件而非其它存储元件的编程速度可被减小。例如,与奇数号位线关联的存储元件而非与偶数号位线关联的存储元件的编程速度可被减小。或者,与偶数号位线关联的存储元件而非与奇数号位线关联的存储元件的编程速度可被减小。换句话说,对于第一和第二相邻存储元件而言,可提供不同的编程速度。可选地,放慢沿字线的每个交替存储元件,不使用以下格式:慢、正常、慢、正常.......,而可以使用其它格式,例如:慢、正常、正常、慢、正常、正常......或慢、慢、正常、慢、慢、正常......这些交替可能不是最佳的但却依然有效。
一般情况下,我们可以确定是否使存储元件集合中的没有被锁闭编程的存储元件经受基于沿字线的存储元件的位置来进行的放慢措施。当存储元件的位置处于沿字线的第一位置集合(例如与奇数号位线关联的位置集合)中时,该存储元件可以受到放慢措施,其中第一位置集合包括沿字线的每隔一个位置。此外,当存储元件的位置处于沿字线的第二位置集合(例如与偶数号位线关联的位置集合)时,该存储元件不受到放慢措施,其中第一位置集合的位置与第二位置集合的位置交错。可以通过将位线电压抬高至例如允许编程能够发生但却是在降低的速度处发生的电平来减小编程速度。这个电平低于全禁止或锁闭电平。这种方法减少了由被选存储元件经历的耦合,并能导致更紧密的Vth分布,以导致更好的耐久性及或更好的性能。
请注意,当我们提到放慢任何存储元件的编程或减少任何存储元件的编程速度时,那么它指的是滞后于其它存储元件的存储元件的编程,而编程发生的速率仍然是相同的。例如,如果存储元件的编程放慢1V,则这意味着将该存储元件编程至特定Vth所需的编程脉冲电压(Vpgm)将比其它类似存储元件高1V。然而,任何存储元件的在编程脉冲处的Vth增加的速度始终是相同的,并且由Vpgm的步长来确定。另一方面,诸如在存储元件中的制造变化等的因素可导致存储元件以不同的速度编程。
图10示出当邻近存储元件到达锁闭状态时针对受害存储元件而出现的电容性耦合效应。x轴示出编程脉冲号(PP#),或编程循环号,其为编程操作中的编程验证迭代的数量。在编程操作可表示,例如一趟次编程技术,或多趟次编程技术的单个趟次。编程趟次以第一编程循环开始,并继续直到所有或大部分的存储元件完成了编程为止,或直到完成了最大允许数量的编程循环为止。
y轴示出了继续经历编程的、并在示出的时间段中没有到达锁闭状态的存储元件的阈值电压(Vth)的变化。假定固定的Vpgm步长但这不是必需的。典型地,当每个编程脉冲被施加时,存储元件的Vth将以标称电平ΔVth-nom增加,其几乎等于Vpgm步长。在每个编程脉冲处,存储元件看到的Vpgm的步升了等于Vpgm步长的量,这会导致被注入到存储元件的浮置栅极的电子致使该存储元件的Vth增加几乎等于Vpgm步长的ΔVth-nom。在这种情况下,存储元件被认为是处于稳定状态编程下。这个Vth的标称增加发生在直到第i个编程循环的时间段中,在此期间,一个或两个邻居存储元件被假定为一直编程并且未到达锁闭状态。在第i个编程循环之后的时间段中,一个或两个邻居存储元件被假定为已到达了锁闭状态。
因此,在第i个编程循环中,一个或两个邻居存储元件的到达锁闭状态,例如它们被验证为已到达了与数据状态关联的目标Vth电平。在第i+1个编程脉冲上,一个或多个被禁邻居存储元件的一个或多个沟道完全被升压到Vboost电平,这也升高了属于被禁存储元件的浮置栅极的电压。如前面所述,来自邻近存储元件的浮置栅极和经升压的沟道的耦合升高了被选存储元件所见到的有效Vpgm。因此,从第i个到第i+1个编程脉冲的存储元件所见到的Vpgm的改变大于Vpgm步长。这导致基本上大于ΔVth-nom的ΔVth。突如其来的大ΔVth扰乱被选存储元件的原有的稳定状态编程。在随后的编程脉冲上,被禁存储元件的沟道再次升压到相同的升压电平,并因此导致对被选存储元件的浮置栅极的相同量耦合。因此,存储元件所见到的Vpgm的改变返回到与Vpgm步长相同的水平。即使Vpgm的变化在紧接着在第i+2个编程脉冲上返回到Vpgm步长,存储元件的ΔVth也仍然保持高于ΔVth-nom,这是因为对存储元件使用几个脉冲来返回到稳定状态编程。在随后的编程脉冲中,被选存储元件接近其中在每个编程脉冲处的ΔVth返回到ΔVth-nom的新稳定状态。ΔVth逐渐减少,直到它回到ΔVth-nom为止。
请注意,在例如具有四个或更多的数据状态的设备的多电平设备中,给定的编程循环中的不同存储元件可以被验证以到达不同的目标数据状态的目标验证电平。例如,假设有一个擦除状态E和编程状态A、B和C。典型地,首先A状态存储元件将到达锁闭状态,然后B状态存储元件将到达锁闭状态,并且最后C状态存储元件将到达锁闭状态。E状态存储元件正好从第一编程验证迭代保持锁闭,并因此在编程趟次期间不被编程。由于制造变化,可能的是,例如,较快的C状态存储元件与较慢的B状态存储元件在同一时间锁闭。本文中提供的用于减少耦合的技术在这些不同的场景中是有效的。
在这个示例中,完整的沟道升压电平用于与一个或两个邻居存储元件关联的沟道区,其在第i+1个编程循环处开始,使得基本上大量的电容性耦合被实现。在实践中,如果两个邻近存储元件在不同的编程循环中到达锁闭状态、比如果他们在同一编程循环中到达锁闭状态,耦合效应会更少。图10的曲线意味着代表典型的场景。
从Vth分布的观点出发,最关键的因素是刚好在超出其目标验证电平并进行锁闭之前的存储元件进行的ΔVth跳跃。在该脉冲上ΔVth跳跃越大,产生的Vth分布加宽就越大。在这里,如果被选存储元件在i+1个编程脉冲处收到大ΔVth并超越其目标验证电平,则最大的Vth分布加宽会发生。这样的存储元件具有在Vth分布的极端上边缘结束的较高可能性,并从而导致更宽的Vth分布。通过使用针对邻近存储元件的不同编程速度来减小图10的场景发生的概率,可减小Vth分布的加宽。
图11示出对于A数据状态、B数据状态和C数据状态中的每个,相对于编程脉冲号(PP#)的存储元件到达锁闭的概率(P)(分别为曲线1100、1102、1104)。该曲线图表示在编程操作中正被编程的存储元件集合(例如与被选字线关联的存储元件集合)中的所有存储元件。曲线代表与偶数和奇数号位线关联的存储元件。通过分别示出不同目标数据状态的概率,可以看出,对于每个状态,概率中的峰被几个编程脉冲分开,诸如约5或6个编程脉冲。概率在0到1的数值范围上被测量,其中1表示100%的概率。
图12A示出了对于与偶数号位线关联的存储元件,以图11的A数据状态、B数据状态和C数据状态的概率的总和为基础,相对于编程脉冲号的存储元件到达锁闭的概率,其中没有施加基于位置的放慢措施。该曲线通过对图11的曲线进行求和来获得。当标称编程速度用于所有存储元件时,奇数位线和偶数位线都以相同的速度编程。因此,存储元件在偶数位线和奇数位线上锁闭的概率是相同的。我们可将存储元件在脉冲#N处锁闭的概率为识别为p(N),以图形表示的函数,其中N为编程脉冲#。N是正整数(1或更高)。
如果我们假定,上述耦合效应主要发生于其中邻近存储元件到达锁闭的编程脉冲(第N-1个编程脉冲)之后的立即下一个编程脉冲(第N个编程脉冲)上的受害存储元件上,则我们可以如下估算任何存储元件受编程脉冲#N上的耦合影响的概率(Pcoupling(N))(其中Pcoupling_Even(N)是偶数号位线的存储元件受编程脉冲#N处的耦合影响的概率,Pcoupling_Odd(N)是奇数号位线的存储元件受编程脉冲#N处的耦合影响的概率,p(N)_Even或p(N-1)_Even分别是偶数号位线的存储元件在编程脉冲#N或#N-1处达到锁闭的概率,并且p(N)_Odd或p(N-1)_Odd分别是奇数号位线的存储元件在编程脉冲#N或#N-1处达到锁闭的概率):
Pcoupling(N)~Pcoupling_Even(N)+Pcoupling_Odd(N)
由于
Pcoupling_Even(N)=p(N)_Even*p(N-1)_Odd并且
Pcoupling_Odd(N)=p(N)_Odd*p(N-1)_Even,我们有
Pcoupling(N)~p(N)_Even*p(N-1)_Odd+p(N)_Odd*p(N-1)_Even。
注意到在标称编程方法中,偶数位线和奇数位线的存储元件以相同速度编程,这意味着p(N)_Even=p(N)_Odd=p(N)。因此,
Pcoupling(N)~p(N)*p(N-1)+p(N)*p(N-1)=2p(N)*p(N-1),如图12C描绘的那样。
图12B示出了以图11的A数据状态、B数据状态和C数据状态的概率的总和为基础,对于与奇数号位线关联的存储元件,相对于编程脉冲号的存储元件到达锁闭的概率,其中没有施加基于位置的放慢措施,图12B示出了与图12A相同的结果。竖直虚线表示概率峰如何与每个目标数据状态对齐。
图12C示出相对于编程脉冲号的存储元件受最大电容性耦合效应影响的概率,其中没有施加基于位置的放慢措施。
上面所讨论的Pcoupling(N)~p(N)*p(N-1)+p(N)*p(N-1)=2p(N)*p(N-1)的值被图形化。这是在标称编程技术中,存储元件受任何编程脉冲#N上的耦合影响的概率(其中偶数位线和奇数位线以相同的速度编程)。概率曲线1200针对每一个目标数据状态都具有峰。峰对应大多数的A状态存储元件、B状态存储元件、C状态存储元件到达锁闭的编程脉冲#。在这个示例中,大多数的A状态存储元件在PP#=8处到达锁闭,大多数的B状态存储元件在PP#=14处到达锁闭,并且大多数的C状态存储元件在PP#=19处到达锁闭。当使用另外的目标数据状态时,可提供类似的曲线。
识别A状态的峰和谷的图13A重复图12A的曲线,从而用于与图13B比较。在这个示例中,峰在约PP#=7处,并且谷在A状态和B状态之间、为约PP#=10,如由竖直点线所描绘的那样。
图13B示出了针对与奇数号位线关联的存储元件,相对于编程脉冲号的储存元件到达锁闭的概率,其中施加了放慢措施,从而使得图13A的曲线向右侧移位三个编程脉冲。在这种编程技术中,通过使用全偶数位线上的位线偏压Vbl-slow(~0.75V),与奇数位线关联的存储元件被放慢约三个编程脉冲。这是基于位置的放慢措施,因为其基于存储元件沿字线的位置来被施加(例如与奇数号位线或偶数号位线关联的存储元件的位置)。
如果我们将与奇数号位线关联的存储元件放慢约三个编程脉冲,那么我们将需要约三个额外的脉冲编程来编程所有存储元件,这可能导致较长的编程时间以及因此的较低的编程性能。此外,额外的编程脉冲会导致最终的Vpgm更高,这可使编程干扰更糟。稍后会讨论用于减少或避免这种惩罚的一些方法。
例如,如果编程脉冲步长为0.35V,则编程速度中的三个编程脉冲造成的放慢相当于在最终的Vpgm处到达的锁闭状态,该最终的Vpgm为约3*0.35V=1.05V,这比在标称编程技术中的更高。
图13C示出了与图12C的曲线比较,相对于编程脉冲号的存储元件受最大电容性耦合效应影响的概率,其中施加了基于位置的放慢措施。上面所讨论的Pcoupling(N)~p(N)*p(N-1)+p(N)*p(N-1)=2p(N)*p(N-1)的值被图形化。通过将曲线1300与曲线1200比较,可以看出,存储元件受耦合影响的概率更均匀地跨不同编程脉冲号分布。此外,Pcoupling(曲线1300)的峰值是其在标称编程技术(曲线1200)中的峰值一半左右(0.004比0.008)。结果,为编程分布可以实现更小的Vth加宽。通过将与奇数号位线关联的存储元件的概率分布的峰和与偶数号位线关联的存储元件的概率分布的谷对齐,来实现最佳结果,反之亦然。
例如,假设存在由验证电平~2V分开的三个编程状态(例如,A状态,B状态和C状态)。也就是说,Vvc-Vvb=Vvb-Vva=2V(见图7A)。当我们放慢奇数号位线的存储元件的编程时,我们可降低与偶数号位线和奇数号位线关联的存储元件在相似的编程脉冲处锁闭的概率,并因此减少耦合。特别地,当编程速度差为~1V(约状态之间的验证电平差的一半),实现了存储元件在相似的脉冲处锁闭的最低概率。但是,如果我们进一步放慢与奇数号位线关联的存储元件的编程,则我们将再次开始看到与偶数号位线和奇数号位线关联的存储元件在相似的编程脉冲处锁闭的更高概率。例如,如果奇数号位线的编程放慢~2V,则在偶数号位线上的B状态存储元件到达锁闭的编程脉冲处,在奇数号位线上的A状态存储元件将到达锁闭。因此,这些存储元件出现耦合的概率将近似于其中没有施加基于位置的放慢措施的标称情况中的概率。因此,存在用于Vbl-slow的最佳值,其将与针对给定的存储器设备的状态与状态分离(例如,验证电平之差)成函数关系。Vbl-slow偏压可以由一个或多个ROM熔丝参数来配置,该Vbl-slow偏压可在存储设备上被最优化,以获得这种编程技术的最大利益。
图14示出在全位线的编程构造中的包括与偶数号位线关联的存储元件和与奇数号位线关联的存储元件的存储元件集合。
全位线构造一般涉及相邻存储元件中的页的并发存储数据。页是被主机设备写为单元的数据的最小单元。存储元件的块可包括沿关联的字线(例如字线WL0,WL1,WL2和WL3)布置的多行存储元件。在编程过程和读取操作期间,字线电压源1415将电压提供至字线。典型地,一个字线是包括已被选择为用于编程或读取的一个或多个存储元件的被选字线。在这个示例中,存储元件与被标记为BL0到BL11的位线关联。存储元件可被布置在NAND串中,其中每个NAND串与相应的位线关联。另外,感测放大器与每条位线关联,以用于感测被选存储元件是否是导通的。在存储设备内的控制器访问感测放大器以确定被选存储元件是否是导通的,并且将对应的数据存储在指示了存储元件状态的缓冲器(数据锁存器)中。感测放大器被示出为SA0-SA11。还提供了一个共同源极线1450。
将WL2考虑为被选字线。多个存储元件沿字线布置。存储元件集合1430可以包括全部的或少于全部的与WL2关联的存储元件。另外,沿字线的第一位置集合可以包括与偶数号位线关联的存储元件的位置,即分别与BL0,BL2,BL4,BL6,BL8和BL10关联的存储元件1410,1412,1414,1416,1418和1420的位置。在集合1430中的第一位置集合中的存储元件由以斜线作记号的方块来识别。类似的,沿字线的第二位置集合可以包括与奇数号位线关联的存储元件的位置,即分别与BL1,BL3,BL5,BL7,BL9和BL11关联的存储元件1411,1413,1415,1417,1419和1421的位置。第一位置集合的位置与第二位置集合的位置是交错的。集合1430中的第二位置集合中的存储元件由空的方块来识别。此外,任何两个相邻存储元件(例如1415和1416)例如可被考虑为相邻第一和第二非易失性存储元件。
图15A示出向没有对其施加基于位置的放慢措施的偶数号位线施加的位线电压,以及向对其施加了基于位置的放慢措施的奇数号位线施加的位线电压,其中位线电压与编程脉冲号(PP#)无关。PP#相当于编程验证迭代#。在这个图和其它下面的图中,黑色圆表示:被施加到与要接收基于位置的放慢措施的存储元件关联的位线(例如,奇数号位线)的位线电压,并且空方块表示:被施加到与将不接收基于位置的放慢措施的存储元件关联的位线(例如,偶数号位线)的位线电压。作为一个示例,Vbl-slow=0.75V被应用作为针对所有编程脉冲的放慢措施。这种方法有效地减少耦合但却导致了增加的编程时间。PP#可由索引i表示,其中i是大于零的整数。
图15B示出向没有对其施加基于位置的放慢措施的偶数号位线施加的位线电压,以及向对其施加了基于位置的放慢措施的奇数号位线施加的位线电压,其中基于位置的放慢措施在编程操作完成之前被移除。这种方法有效地减少耦合及避免或最小化编程时间的增加和更高Vpgm-final的使用。
因此,我们可从初始编程脉冲(PP=1)开始、延伸穿过第(n+m)个编程脉冲、在编程操作的最后编程脉冲之前施加Vbl-slow。其中施加了Vbl-slow的m+1个编程脉冲的范围从PP=n延伸至PP=n+m。在一个方法中n=1。一个或多个后续编程验证迭代开始于PP=n+m+1处并且延伸k个附加编程脉冲,直到最后编程脉冲PP=n+m+k为止,不施加放慢措施。k的值不一定是已知的直到编程操作已完成为止。变量n,m和k是大于零的整数。
m的值可以是固定的,以便施加放慢措施直到到达固定的编程脉冲号为止。例如,m可由存储设备中的ROM熔丝参数设置。对于在n+m+1处开始的随后脉冲,我们可以将被选存储元件(即尚未到达锁闭状态的存储元件)的所有位线接地。结果,减少的耦合的益处将无法从脉冲n+m+1和向前的脉冲实现。然而,n+m可被选择为使得只有具有最高目标数据状态的存储元件尚未到达锁闭。例如,在四电平存储器设备中,这在当A状态和B状态的存储元件大多锁闭时可以是C状态存储元件。因此,我们只会看到C状态存储元件上的耦合效应,从而导致C状态的Vth分布的更宽的上尾部(uppertail)。然而,这个折衷是可以接受的,因为没有Vth窗口(在擦除状态的上尾部与C状态或其它最高状态的上尾部之间的间隙)的损失。在PP=n+m+1处,当我们将受到放慢措施的存储元件的电压从Vbl-slow突然降低至0V时,这些存储元件看到的有效Vpgm增加以使得在存储元件的Vth上具有突然跳跃,从而致使更宽的Vth分布。为了解决这个问题,对于其中移除了放慢措施的第一个编程脉冲(例如当PP=n+m+1时),我们可将Vpgm步降一个增量,如结合图15C1所讨论的那样。或者,对于其中移除了放慢措施的第一个编程脉冲(例如当PP=n+m+1时),我们可继续去步升Vpgm,但却以更小的正增量步升,如结合图15C3所讨论的那样。Vpgm可随后以更大的增量步升。或者,对于其中移除了放慢措施的第一编程脉冲,Vpgm可被固定,如结合图15C2所讨论的那样。
任选地,其中施加了放慢措施的最后的第(n+m)个编程脉冲或其中移除了放慢措施的最初的第(n+m+1)个编程脉冲,可基于编程操作的过程来自适应地确定。类似地,其中施加了放慢措施的最初的第n个编程脉冲可被自适应地确定。参见图15F以为了进一步的细节。
图15C1示出相对于与图15B的位线电压一起使用的编程脉冲号的编程脉冲电压,其中编程脉冲电压以第一速率初始步升,随后当移除了基于位置的放慢措施时对一个编程脉冲以第二速率步降,并随后以高于第一速率的第三速率步升。在编程操作中编程脉冲在PP=1处以Vpgm-int的初始电平开始,并且在放慢措施被施加到偶数号位线或奇数号位线时通过增量ΔVpgm1(第一速率)步升。在PP=n+m+1处,Vpgm通过增量ΔVpgm2a(第二速率)步降。从PP=n+m+2到PP=n+m+k,Vpgm通过增量ΔVpgm3a(第三速率)步升。在一种方法中,|ΔVpgm2a|=Vbl-slow或比Vbl-slow略高。此方法与受到放慢措施的位线的Vbl的下降一致地来降低Vpgm。在另一种方法中,Vpgm不在该编程验证迭代上步升,如图15C2描绘的那样。在另一种方法中,如图15C3示出的那样,0<ΔVpgm2b<ΔVpgm1。其它实施方式也是可能的。
在图15C1中,在Vpgm针对PP=n+m+1步降之后,在PP=n+m+1处开始,Vpgm可继续向上步升。通过使用ΔVpgm3a>ΔVpgm1,我们增加了相对于其中施加放慢措施的时间段的编程速度,使得我们可使完成编程可能所需的额外编程脉冲的数量最小化。因为主要当在这种方法中使用ΔVpgm3a时最高目标数据状态的存储元件尚未到达锁闭,所以只会导致针对最高目标数据状态的Vth分布的上尾部的一些加宽,但没有Vth窗口损失。这可为可接受的折衷。通过使用这种方法,最终的Vpgm可为相同的或非常接近标称编程技术,并因此编程干扰的量应该是相同的。通过使用适当的ΔVpgm3a值,我们可最小化所需的额外编程脉冲的数量,或避免任何额外编程脉冲,并从而最小化或避免编程时间惩罚,而同时仍获得除最高目标数据状态之外的目标数据状态的降低耦合的大部分益处。
另一方面,为了限制具有最高目标状态的存储元件的Vth加宽的量,我们可以以标称步速来步升Vpgm,以使得ΔVpgm3a=ΔVpgm1,这以更长的编程时间为代价。请注意,Vth加宽可能通常发生于一个或多个最高目标数据状态。Vth加宽发生于尚未到达锁闭状态的存储元件。
另一种选择是从放慢措施中全部排除被编程到最高目标数据状态的存储元件,这是因为这些存储元件的上尾部上的一些Vth加宽通常可容忍的。这种方法的益处是,因为存储元件集合的编程时间典型地受被编程到最高目标数据状态的存储元件的编程时间所控,所以编程时间通常不增加。
图15C2示出相对于与图15B的位线电压一起使用的编程脉冲号的编程脉冲电压,其中编程脉冲电压以第一速率初始步升,随后当移除了基于位置的放慢措施时针对一个编程脉冲而固定,并随后以高于第一速率的第二速率步升。在编程操作中编程脉冲在PP=1处以Vpgm-int的初始电平开始,并且在放慢措施被施加到偶数号位线或奇数号位线时通过增量ΔVpgm1(第一速率)步升。在PP=n+m+1处,Vpgm与在PP=n+m处的Vpgm相等。从PP=n+m+2到PP=n+m+k,Vpgm通过增量ΔVpgm3a(第三速率)步升。
图15C3示出相对于与图15B的位线电压一起使用的编程脉冲号的编程脉冲电压,其中编程脉冲电压以第一速率初始步升,随后当移除了基于位置的放慢措施时对一个编程脉冲以低于第一速率的第二速率步升,并随后以高于第一速率的第三速率步升。在编程操作中编程脉冲在PP=1处以Vpgm-int的初始电平开始,并且在放慢措施被施加到偶数号位线或奇数号位线时通过增量ΔVpgm1(第一速率)步升。在PP=n+m+1处,Vpgm通过增量ΔVpgm2b(第二速率)步升。从PP=n+m+2到PP=n+m+k,Vpgm通过增量ΔVpgm3a>ΔVpgm2b(第三速率)步升。
图15D示出相对于与图15E的位线电压一起使用的编程脉冲号的编程脉冲电压,其中编程脉冲电压以第一速率ΔVpgm1初始步升,随后当移除了基于位置的放慢措施时对三个编程脉冲以低于第一速率的第二速率ΔVpgm2b步升,并随后以高于第一速率和第二速率的第三速率ΔVpgm3b步升。ΔVpgm3b可能会或可能不会不同于之前提及的ΔVpgm3a。在一种方法中,ΔVpgm3b<ΔVpgm3a,这是因为编程操作在当使用ΔVpgm2b时比在当使用ΔVpgm2a时减慢至更小程度。这种方法可与例如图15E的编程技术一起使用,在该技术中,更为逐渐地移除放慢措施,以使得不需要Vpgm的步降来避免被选存储元件的Vth在PP=n+m+1处的大跳跃。也就是说,被选存储元件的Vth在PP=n+m+1处的大跳跃可使用更小的Vpgm步长来避免。在另一种选择中,ΔVpgm2b=0。
图15E示出向没有对其施加基于位置的放慢措施的偶数号位线施加的位线电压,以及向对其施加了基于位置的放慢措施的奇数号位线施加的位线电压,其中在编程操作完成之前基于位置的放慢措施在多个编程脉冲上被逐步移除。
替代如在图15B中的从一个编程脉冲到下一个编程脉冲使Vbl从完全放慢电平突然下降到0V,我们可以在多个编程脉冲上更为逐渐地进行相同的过渡。例如,如果我们使用Vbl_slow=0.75V,则我们可在连续的编程脉冲(例如在第(n+m)个、(n+m+1)个、第(n+m+2)个和第(n+m3)个编程脉冲)上进行从0.75V至0.50V至0.25V至0V的过渡。通常,在两个或更多的编程脉冲上过渡是可能的。这种方法可保持与在编程技术中的编程时间大约相等的编程时间,同时避免结合图15C1所描述的在PP=n+m处的Vpgm的下降以及随后的ΔVpgm的增加。在一种方法中,Vpgm步长在整个编程操作中保持恒定。另一种方法中,对于PP=n+m+1,Vpgm通过更小量(例如,ΔVpgm2b)步升,然后再次增加到开始于PP=n+m+2处的ΔVpgm3b,例如在图15C3中所示。
在另一个选择中,如图15D所示,对于其中Vbl步降的每个编程脉冲(例如对于PP=n+m+1至n+m+3),Vpgm可通过ΔVpgm2b步升,然后再次增加到开始于PP=n+m+4处的ΔVpgm3b。
可选地,为了限制具有最高目标状态的存储元件的Vth加宽的量,我们可以以标称速度步升Vpgm,使得ΔVpgm3b=ΔVpgm1,这以更长的编程时间为代价。
图15F示出向没有对其施加基于位置的放慢措施的偶数号位线施加的位线电压,以及向对其施加了基于位置的放慢措施的奇数号位线施加的位线电压,其中基于位置的放慢措施在初始编程脉冲号之后开始并且在编程操作完成之前被移除。如前所述,可在比编程操作中的所有编程脉冲小的编程脉冲范围内施加放慢措施,并且该范围可具有固定的和/或自适应的开始和/或停止。例如,第一个和最后一个脉冲编程可根据一个或多个ROM熔丝参数而被固定。在一个自适应方法中,范围的开始和/或停止基于编程操作的过程而自适应地确定。
考虑所示出的全序列编程的示例,其中所有目标状态在一个编程操作中被编程。在示例场景中:(a)自PP=1-3,A状态存储元件被编程,(b)自PP=4-8,A状态和B状态存储元件被编程,(c)自PP=9-12,A状态、B状态和C状态存储元件被编程,(d)自PP=13-14,B状态和C状态存储元件被编程,及(e)自PP=15-21,C状态存储元件被编程。在固定的方法中,我们可以设置n=4且n+m=15,使得自PP=4-14,在m+1=11个脉冲内施加Vbl-slow。
在自适应的方法中,在我们于其中检测出至少有小数目的B状态存储元件已到达了锁闭状态的编程脉冲(例如,PP=3)后的下一个编程脉冲(例如,PP=4)中,我们可触发Vbl-slow的设置。小数目可以是一个或几个。此方法使用了自适应触发条件来动态地确定施加Vbl-slow的开始编程循环。对于所有以前的编程脉冲,例如,PP=1-3,我们可对所有位线使用0V或否则不施加基于位置的放慢措施。此外,由于在早期几个编程脉冲中锁闭的存储元件的数量是很小的,所以存储元件从其相邻存储元件经历耦合效应的机会也是很小的。因此,通过延迟Vbl-slow的使用直到施加了几个编程脉冲之后,我们仍然可保持这个方案的大部分益处。
可替选地,或另外地,在我们于其中检测出近乎所有B状态存储元件到达了锁闭状态的编程脉冲(例如,PP=14)后的下一个编程脉冲(例如,PP=15)中,我们可触发Vbl-slow的移除或放慢。即,不超过小数目的B状态存储元件没有到达锁闭状态。因此,可以基于多少B状态存储元件被剩下以待被锁闭(或等同地多少B-状态存储元件已被锁闭),来进行从Vbl-slow步降的决定。可对每个编程脉冲执行依赖状态的位扫描,以发现多少特定状态的存储元件被剩下以待锁闭,或多少特定状态的存储元件已到达锁闭状态。一旦数量低于某些个忽略位的数量,就可进行从Vbl_slow到0V的Vbl过渡。这种方法使用了自适应触发条件来动态确定用于移除Vbl-slow或从Vbl-slow步降的结束编程循环。
自适应方法动态地作出对于每个编程字线的过渡决定,使得字线之间的变化被自动地适应(accommodate)。
图16示出了编程被选存储元件的过程,其中基于位置的放慢措施施加到沿字线的第一位置集合中的被选存储元件,但不施加到沿字线的第二位置集合中的被选存储元件。
在步骤1600处,编程操作开始于沿被选字线定位的被选存储元件。在步骤1604处,编程验证迭代开始。针对每个存储元件,可遵循三个路径中的一个。在一个路径中,步骤1606将Vbl设置为锁闭电平1606,例如,如果存储元件在之前的编程验证的操作中已到达了锁闭状态的话,或者如果存储元件的目标状态是已擦除状态(E状态)的话。在第二路径中,步骤1608为没有受到基于位置的放慢状态的被选存储元设置Vbl。例如,这可涉及为偶数号位线设置Vbl=0V。
在第三路径中,步骤1610为受到了基于位置的放慢状态的被选存储元件设置Vbl。例如,这可涉及为奇数号位线设置Vbl=Vbl-slow。步骤1602可用作对步骤1610的输入,使得施加Vbl-slow的决定是基于固定的编程脉冲号、自适应触发条件和/或目标数据状态的。关于目标数据状态,最高目标数据状态可以从受到放慢措施中排除,这是因为如前所述,最高状态的Vth分布的上尾部的一些加宽在一些情况中是可容忍的。
一旦为与字线通信的所有存储元件设置了位线电压,步骤1612就将编程脉冲施加到字线,并且步骤1614使用一个或多个验证电平来执行验证操作。对于每个存储元件,在决定步骤1616处,如果已到达关联的目标验证电平,则编程状态被设置为存储元件的锁闭。在决定步骤1620中,如果下一个编程验证迭代要被执行,则在步骤1604处开始重复过程。如果在决定步骤1620中没有编程操作的下一个编程验证迭代,则编程操作或趟次在步骤1622处完成。这在当所有或大多数存储元件已到达他们的目标验证电平时发生,或者这在如果编程循环计数超过所允许的编程验证迭代的最大数量的话发生。
一般地,是否施加放慢措施的决定最初基于沿字线的存储元件的位置。一旦确定出存储元件有资格接收放慢措施,则可应用进一步决策准则以确定是否施加放慢措施。例如,当当前编程验证迭代是第n个编程验证迭代时,可以关于该第n个编程验证迭代是否处于编程验证迭代的指定范围内作出决定,其中在该范围中的编程验证迭代的数量少于编程操作中的所有编程验证迭代的数量。在一种方法中,在编程验证迭代范围中的第一个和最后一个编程验证迭代被固定。在另一种方法中,在编程验证迭代范围中的第一个编程验证迭代和在编程验证迭代范围中的最后一个编程验证迭代这二者中的至少一个在编程操作期间被自适应地确定。在另一种方法中,在编程验证迭代范围中的第一个编程验证迭代和在编程验证迭代范围中的最后一个编程验证迭代这二者中的至少一个由至少一个ROM熔丝来固定。
因此,可看出,提供了一种用于对非易失性存储元件集合执行编程操作的方法,其中非易失性存储元件沿字线被布置在各自位置。该方法包括:执行多个编程验证迭代,其中每个编程验证迭代包括在其中将编程脉冲施加到字线的编程部分。该方法还包括,在多个编程验证迭代中的至少第i个编程验证迭代的编程部分期间(其中i是大于零的整数),基于在没有被从编程锁闭的集合中的至少一个非易失性存储元件沿字线的位置,来确定该至少一个非易失性存储元件是否要受到放慢措施。
在另一个实施例中,上述类型的方法包括执行多个编程验证迭代,其中每个编程验证迭代包括在其中将编程脉冲施加到字线的编程部分。该方法还包括,在多个编程验证迭代中的第n个到第(n+m)个编程验证迭代的编程部分期间(其中n和m是大于零的整数),基于确定出集合中的至少一个非易失性存储元件的位置处于沿字线的第一位置集合中,来将与该集合中的至少一个非易失性存储元件关联的相应位线的电压设置为在接地电平以上的放慢电平(Vbl-slow),其中第一位置集合包括沿字线的每隔一个位置,但少于沿字线的所有位置。该方法还包括,在多个编程验证迭代中的一个或多个后续编程验证迭代的编程部分期间,基于确定出至少一个非易失性存储元件的位置处于沿字线的第一位置集合中,来将相应位线的电压设置为低于放慢电平的至少一个步降电平(例如0.75V)。
在对应的实施例中,一种非易失性存储系统包括:非易失性存储元件集合,与非易失性存储元件通信的字线,以及与非易失性存储元件通信的位线集合。系统还包括用于执行多个编程验证迭代的设备,其中每个编程验证迭代包括在其中将编程脉冲施加到字线的编程部分。系统还包括以下装置:其用于在多个编程验证迭代中的第n个到第(n+m)个编程验证迭代的编程部分期间(其中n和m是大于零的整数),基于确定出集合中的至少一个非易失性存储元件的位置处于沿字线的第一位置集合中,来将与该集合中的至少一个非易失性存储元件关联的相应位线的电压设置为在接地电平以上的放慢电平(Vbl-slow),其中第一位置集合包括沿字线的每隔一个位置,但少于沿字线的所有位置。系统还包括以下设备,在多个编程验证迭代中的一个或多个后续编程验证迭代的编程部分期间,基于确定出至少一个非易失性存储元件的位置处于沿字线的第一位置集合中,来将相应位线的电压设置为低于放慢电平的至少一个步降电平(例如0.75V)。
在另一个实施例中,上述类型的方法包括执行多个编程验证迭代,其中每个编程验证迭代包括在其中将编程脉冲施加到字线的编程部分。该方法还包括,在多个编程验证迭代中的一个的编程部分期间,基于确定出:(i)集合中的至少一个非易失性存储元件的位置处于沿字线的第一位置集合中,该第一位置集合包括沿字线的每隔一个位置但少于沿字线的所有位置;(ii)该至少一个非易失性存储元件尚未到达目标数据状态;以及(iii)目标数据状态低于集合中的非易失性存储元件的最高目标数据状态,来将与该至少一个非易失性存储元件关联的相应位线的电压设置为在接地电平以上的放慢电平(Vbl-slow)。
在另一个实施例中,一种非易失性存储系统包括:非易失性存储元件集合,该非易失性存储元件集合包括要被编程到一个目标验证电平的至少相邻的第一和第二非易失性存储元件;与非易失性存储元件通信的字线;位线集合,该第一和第二非易失性存储元件与位线集合中的相应位线关联;和至少一个控制电路。该至少一个控制电路执行编程操作,该编程操作包括多个编程验证迭代,且每个编程验证迭代包括在其中将脉冲编程施加到字线的编程部分,其中:(a)对于多个编程验证迭代中的第n个至第(n+m)个编程验证迭代(其中n和m是大于零的整数),当将编程脉冲施加到字线时,向取决于第一和第二非易失性存储元件沿字线的位置的第一和第二非易失性存储元件的各自位线施加电压,以及(b)对于至少第(n+m+1)个至第(n+m+k)个编程验证迭代(其中k是大于1的数),当将编程脉冲施加到字线时,向与第一和第二非易失性存储元件沿字线的位置无关的第一和第二非易失性存储元件的各自位线施加电压。
在本文中前述的本发明的具体描述被提出以用于进行阐述和说明。但并非要穷举或者将本发明限于所公开的精确形式。根据以上教导,很多修改和变型是可能的。上述实施例被选取用于最优地解释本发明的原理及其实际应用,从而使得本领域技术人员能够以不同的实施例并利用适于特定预期用途的不同变型来最优地利用本发明。本发明的范围旨在由所附权利要求来定义。

Claims (15)

1.一种用于对非易失性存储元件集合执行编程操作的方法,所述非易失性存储元件沿字线被布置在各自位置,所述方法包括:
执行多个编程验证迭代,每个编程验证迭代包括在其中将编程脉冲施加到字线的编程部分;并且
在多个编程验证迭代中的至少第i个编程验证迭代的编程部分期间,基于在没有被锁闭编程的集合中的至少一个非易失性存储元件沿字线的位置,来确定所述至少一个非易失性存储元件是否要受到放慢措施,其中i是大于零的整数,其中:
当所述至少一个非易失性存储元件的位置处于沿字线的第一位置集合中时,所述至少一个非易失性存储元件不受到放慢措施,所述第一位置集合包括沿字线的每隔一个位置;并且
当所述至少一个非易失性存储元件的位置处于沿字线的第二位置集合中时,所述至少一个非易失性存储元件受到放慢措施,所述第一位置集合的位置与所述第二位置集合的位置交错。
2.根据权利要求1所述的方法,其中:
确定所述至少一个非易失性存储元件是否要受到放慢措施是基于多个编程验证迭代中的第i个编程验证迭代的位置的。
3.根据权利要求1或2所述的方法,其中:
确定所述至少一个非易失性存储元件是否要受到放慢措施是基于第i个编程验证迭代是否处于在多个编程验证迭代当中的编程验证迭代范围内的,在编程验证迭代范围中的编程验证迭代的数量少于在多个编程验证迭代中的编程验证迭代的数量。
4.根据权利要求3所述的方法,其中:
在编程验证迭代范围中的首先一个和最后一个编程验证迭代被固定。
5.根据权利要求3所述的方法,其中:
在编程验证迭代范围中的首先一个编程验证迭代和在编程验证迭代范围中的最后一个编程验证迭代二者中的至少一个在编程操作期间被自适应地确定。
6.根据权利要求1或2所述的方法,其中:
每个非易失性存储元件处于相应NAND串中并且与相应位线关联;
非易失性存储元件集合使用全位线编程来编程;并且
通过设置与所述至少一个非易失性存储元件关联的相应位线的电压,所述至少一个非易失性存储元件受到放慢措施。
7.根据权利要求1或2所述的方法,其中:
确定所述至少一个非易失性存储元件是否要受到放慢措施是基于所述至少一个非易失性存储元件的目标数据状态的。
8.根据权利要求7所述的方法,其中:
当目标数据状态是非易失性存储元件集合中的最高目标数据状态时,所述至少一个非易失性存储元件被排除受到放慢措施;并且
当目标数据状态不是非易失性存储元件集合中的最高目标数据状态时,所述至少一个非易失性存储元件不被排除受到放慢措施。
9.根据权利要求1或2所述的方法,其中,基于确定出所述至少一个非易失性存储元件的位置处于沿字线的第一位置集合中:
相应位线的电压被设置为步降电平,其在跟着第n+m个编程验证迭代的预定数量的后续编程验证迭代中的每个的编程部分期间逐步下降,直到在其中相应位线的电压被设置为0V的编程验证迭代为止,其中n和m是大于0的整数,并且
在多个编程验证迭代中的至少一个额外编程验证迭代的编程部分期间,相应位线的电压被设置为0V。
10.根据权利要求1或2所述的方法,其中:
在一个或多个后续编程验证迭代的编程部分期间,基于确定出所述集合中的至少一个其它非易失性存储元件的位置处于沿字线的第二位置集合中,来将与所述至少一个其它非易失性存储元件关联的相应位线的电压设置为接地电平,所述第一位置集合的位置与所述第二位置集合的位置交错。
11.根据权利要求1或2所述的方法,其中:
对于第n个至第n+m个编程验证迭代,编程脉冲以第一速率步升,并且对于第n+m+1个编程验证迭代,编程脉冲以第二速率步降,其中n和m是大于0的整数。
12.根据权利要求11所述的方法,其中:
对于第n+m+2个至第n+m+k个编程验证迭代,编程脉冲以高于第一速率的第三速率步升,其中n和m是大于0的整数,并且其中k是大于2的整数。
13.根据权利要求1或2所述的方法,其中:
编程脉冲:(i)对于第n个至第n+m个编程验证迭代以第一速率步升,(ii)对于第n+m+1个编程验证迭代以第二速率步降或者以小于第一速率的第四速率步升,并且(iii)对于第n+m+2个至第n+m+k个编程验证迭代,以大于第一速率的第三速率步升,其中n和m是大于0的整数,并且其中k是大于2的整数。
14.一种非易失性存储系统,包括:
非易失性存储元件集合;
与非易失性存储元件通信的字线,所述非易失性存储元件被布置在沿字线的相应位置上;
位线集合,所述非易失性存储元件与位线集合中的相应位线关联;以及
至少一个控制电路,所述至少一个控制电路执行包括多个编程验证迭代的编程操作,每个编程验证迭代包括在其中将编程脉冲施加到字线的编程部分,其中,在多个编程验证迭代中的至少第i个编程验证迭代的编程部分期间,所述至少一个控制电路基于在没有被锁闭编程的集合中的至少一个非易失性存储元件沿字线的位置,来确定所述至少一个非易失性存储元件是否要受到放慢措施,其中i是大于零的整数,其中:
当所述至少一个非易失性存储元件的位置处于沿字线的第一位置集合中时,所述至少一个非易失性存储元件不受到放慢措施,所述第一位置集合包括沿字线的每隔一个位置;并且
当所述至少一个非易失性存储元件的位置处于沿字线的第二位置集合中时,所述至少一个非易失性存储元件受到放慢措施,所述第一位置集合的位置与所述第二位置集合的位置交错。
15.一种非易失性存储系统,包括:
非易失性存储元件集合;
与非易失性存储元件通信的字线,所述非易失性存储元件被布置在沿字线的相应位置上;
位线集合,所述非易失性存储元件与位线集合中的相应位线关联;以及
用于执行多个编程验证迭代的装置,每个编程验证迭代包括在其中将编程脉冲施加到字线的编程部分;以及
用于在多个编程验证迭代中的至少第i个编程验证迭代的编程部分期间,基于在没有被锁闭编程的集合中的至少一个非易失性存储元件沿字线的位置,来确定所述至少一个非易失性存储元件是否要受到放慢措施的装置,其中i是大于零的整数,其中:
当所述至少一个非易失性存储元件的位置处于沿字线的第一位置集合中时,所述至少一个非易失性存储元件不受到放慢措施,所述第一位置集合包括沿字线的每隔一个位置;并且
当所述至少一个非易失性存储元件的位置处于沿字线的第二位置集合中时,所述至少一个非易失性存储元件受到放慢措施,所述第一位置集合的位置与所述第二位置集合的位置交错。
CN201180061301.XA 2010-12-22 2011-10-13 用于在编程期间减小存储器中的沟道与浮置栅极耦合的交替位线偏压 Active CN103348412B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/976,893 2010-12-22
US12/976,893 US8385132B2 (en) 2010-12-22 2010-12-22 Alternate bit line bias during programming to reduce channel to floating gate coupling in memory
PCT/US2011/056144 WO2012087410A1 (en) 2010-12-22 2011-10-13 Alternate bit line bias during programming to reduce channel-to-floating gate coupling in memory

Publications (2)

Publication Number Publication Date
CN103348412A CN103348412A (zh) 2013-10-09
CN103348412B true CN103348412B (zh) 2016-03-16

Family

ID=44999869

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180061301.XA Active CN103348412B (zh) 2010-12-22 2011-10-13 用于在编程期间减小存储器中的沟道与浮置栅极耦合的交替位线偏压

Country Status (6)

Country Link
US (1) US8385132B2 (zh)
EP (1) EP2656349B1 (zh)
KR (1) KR101846043B1 (zh)
CN (1) CN103348412B (zh)
TW (1) TW201230040A (zh)
WO (1) WO2012087410A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8811091B2 (en) * 2011-12-16 2014-08-19 SanDisk Technologies, Inc. Non-volatile memory and method with improved first pass programming
US8953386B2 (en) 2012-10-25 2015-02-10 Sandisk Technologies Inc. Dynamic bit line bias for programming 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
US9911500B2 (en) * 2016-04-18 2018-03-06 Sandisk Technologies Llc Dummy voltage to reduce first read effect in memory
US9881676B1 (en) 2016-10-11 2018-01-30 Sandisk Technologies Llc Sense amplifier with program biasing and fast sensing
US9779832B1 (en) 2016-12-07 2017-10-03 Sandisk Technologies Llc Pulsed control line biasing in memory
US10643720B2 (en) * 2018-05-23 2020-05-05 Sandisk Technologies Llc Bit line voltage control for damping memory programming
US11775374B2 (en) * 2021-04-15 2023-10-03 Western Digital Technologies, Inc. State-by-state program loop delta detection mode for detecting a defective memory array

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101199025A (zh) * 2005-06-15 2008-06-11 美光科技公司 快闪存储器装置中的选择性慢编程会聚

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3941149B2 (ja) * 1996-12-03 2007-07-04 ソニー株式会社 半導体不揮発性記憶装置
US6108238A (en) * 1997-09-11 2000-08-22 Kabushiki Kaisha Toshiba Programmable semiconductor memory device having program voltages and verify voltages
US6987693B2 (en) 2002-09-24 2006-01-17 Sandisk Corporation Non-volatile memory and method with reduced neighboring field errors
US6847550B2 (en) * 2002-10-25 2005-01-25 Nexflash Technologies, Inc. Nonvolatile semiconductor memory having three-level memory cells and program and read mapping circuits therefor
US7064980B2 (en) 2003-09-17 2006-06-20 Sandisk Corporation Non-volatile memory and method with bit line coupled compensation
US6956770B2 (en) 2003-09-17 2005-10-18 Sandisk Corporation Non-volatile memory and method with bit line compensation dependent on neighboring operating modes
US7023733B2 (en) 2004-05-05 2006-04-04 Sandisk Corporation Boosting to control programming of non-volatile memory
KR100719368B1 (ko) * 2005-06-27 2007-05-17 삼성전자주식회사 플래시 메모리 장치의 적응적 프로그램 방법 및 장치
US7307887B2 (en) 2005-12-29 2007-12-11 Sandisk Corporation Continued verification in non-volatile memory write operations
KR100666223B1 (ko) 2006-02-22 2007-01-09 삼성전자주식회사 메모리셀 사이의 커플링 노이즈를 저감시키는 3-레벨불휘발성 반도체 메모리 장치 및 이에 대한 구동방법
US7894269B2 (en) 2006-07-20 2011-02-22 Sandisk Corporation Nonvolatile memory and method for compensating during programming for perturbing charges of neighboring cells
US7499338B2 (en) 2006-10-13 2009-03-03 Sandisk Corporation Partitioned soft programming in non-volatile memory
ITRM20070167A1 (it) 2007-03-27 2008-09-29 Micron Technology Inc Non-volatile multilevel memory cell programming
KR101532754B1 (ko) * 2008-09-22 2015-07-02 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법
KR101528886B1 (ko) 2009-04-09 2015-06-16 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101199025A (zh) * 2005-06-15 2008-06-11 美光科技公司 快闪存储器装置中的选择性慢编程会聚

Also Published As

Publication number Publication date
EP2656349B1 (en) 2015-06-03
US20120163083A1 (en) 2012-06-28
CN103348412A (zh) 2013-10-09
KR101846043B1 (ko) 2018-04-05
WO2012087410A1 (en) 2012-06-28
KR20140036135A (ko) 2014-03-25
US8385132B2 (en) 2013-02-26
EP2656349A1 (en) 2013-10-30
TW201230040A (en) 2012-07-16

Similar Documents

Publication Publication Date Title
CN102667948B (zh) 减小存储器沟道与浮置栅极耦合的数据状态相关沟道升压
CN103348412B (zh) 用于在编程期间减小存储器中的沟道与浮置栅极耦合的交替位线偏压
CN102549673B (zh) 用较小通道电压干扰和浮栅极到控制栅极泄漏对存储器编程
CN102187399B (zh) 使用字线耦合的用于存储器的多趟次编程
CN105190763B (zh) 在编程期间降低nand串选择栅极电压的非易失性存储装置
EP2446443B1 (en) Forecasting program disturb in memory by detecting natural threshold voltage distribution
CN101405812B (zh) 编程不同大小的容限及在选择状态下使用补偿进行感测以改进非易失性存储器中的读取操作
EP2748819B1 (en) Read compensation for partially programmed blocks of non-volatile storage
CN102576567B (zh) 用于非易失性存储器中的增强沟道升压的减小的编程脉宽
KR101667007B1 (ko) 비휘발성 저장장치에서 판독 동작 동안의 커플링에 대한 보상
EP2831878B1 (en) Bit line precharging scheme for nonvolatile memory with shared bit lines
CN103794249B (zh) 用于改进升压箝位的对位线编程
CN107112047A (zh) 用于在非易失性存储器中区块编程的部分区块擦除
CN102714055B (zh) 通过基于感测的位线补偿对存储器编程以减少沟道到浮栅的耦合
WO2016081064A1 (en) Nand boosting using dynamic ramping of word line voltages
CN102714058A (zh) 通过位线浮动对存储器编程以减少沟道到浮栅的耦合
WO2016089467A1 (en) Operation modes for an inverted nand architecture
CN102725797A (zh) 通过直接位线驱动对存储器编程以减少沟道到浮栅的耦合
CN102306501A (zh) 编程不同大小的容限及在选择状态下使用补偿进行感测以改进非易失性存储器中的读取操作
KR101903835B1 (ko) 비휘발성 메모리 내의 제2의 이웃한 채널 결합을 이용한 채널 부스팅
CN108428466A (zh) 用于抑制第一读取问题的字线的顺序取消选择
WO2020263317A1 (en) Threshold voltage setting with boosting read scheme

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

Patentee after: DELPHI INT OPERATIONS LUX SRL

Address before: texas

Patentee before: Sandisk Corp.