CN103477392B - 具有减少的验证的改进的编程的非易失性存储器和方法 - Google Patents
具有减少的验证的改进的编程的非易失性存储器和方法 Download PDFInfo
- Publication number
- CN103477392B CN103477392B CN201280014811.6A CN201280014811A CN103477392B CN 103477392 B CN103477392 B CN 103477392B CN 201280014811 A CN201280014811 A CN 201280014811A CN 103477392 B CN103477392 B CN 103477392B
- Authority
- CN
- China
- Prior art keywords
- programming
- memory cell
- threshold value
- memory
- programmed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital 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/5621—Digital 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/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3468—Prevention of overerasure or overprogramming, e.g. by verifying whilst erasing or writing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
Abstract
在具有从擦除状态到各个目标状态的最少验证步骤的编程遍中,由阶梯波形并行编程非易失性存储器的一组存储器单元。存储器状态被一组增加的分界阈值(V1,…VN)划分。在该编程遍中初始地,相对于测试参考阈值来验证存储器单元。这个测试参考阈值具有超过在该组中的指定分界阈值Vi偏移了预定余量的值。确定当被编程超过Vi时的每个存储器单元的过冲大于还是小于该余量。因此,被发现为具有大于余量的过冲的存储器单元在该编程遍的后续部分中通过使它们的编程速率降低来抵消,从而保持更紧密的阈值分布。
Description
技术领域
本发明一般涉及非易失性半导体存储器,诸如电可擦除的可编程只读存储器(EEPROM)和闪速EEPROM,并且特别地涉及甚至以减少的数目的编程-验证操作来保持紧密的阈值电压分布的存储器和编程操作。
背景技术
能够非易失性地存储电荷的固态存储器、尤其是以包装为小的外形卡的EEPROM和闪速EEPROM的形式最近已成为在各种移动和手持设备、特别是信息家电和消费类电子产品中的存储器的选择。与也是固态存储器的RAM(随机存取存储器)不同,闪存(或闪速存储器)是非易失性的,并且即使在电源被关闭以后也保留其存储的数据。尽管成本较高,闪速存储器被越来越多地用在海量存储应用中。传统的大容量存储、基于旋转磁介质(诸如硬盘驱动器和软盘)不适于移动和手持式的环境。这是因为磁盘驱动器往往是笨重的,容易出现机械故障,并具有高延迟和高功率的要求。这些不期望的属性在大多数移动和便携式应用中使基于磁盘的存储器不切实际。另一方面,闪速存储器——包括嵌入式的和以可移动卡的形式——理想地适合于移动和手持的环境中,这是因为它的小尺寸,低功耗、高速和高可靠性的特点。
EEPROM和电可编程只读存储器(EPR0M)是可擦除并且使新的数据写入或“编程”到它们的存储器单元的非易失性存储器。两者都利用场效应晶体管结构中的在半导体衬底中的在源极区和漏极区之间的沟道区上方的浮置(未连接)的导电栅极。然后在浮置栅极上方提供控制栅极。由被保持在浮置栅极上的电荷量来控制晶体管的阈值电压特性。也就是说,对于浮置栅极上的给定的电荷水平,存在在晶体管被“接通”以允许它的源极区和漏极区之间的导电之前必须被应用到控制栅极的相应的电压(阈值)。
浮置栅极可以容纳一个范围的电荷,因此可以被编程为阈值电压窗口内的任何阈值电压电平。以设备的最小和最大阈值电平来界定阈值电压窗口的大小,其又相应于可以编程到浮置栅极的电荷的范围。阈值窗口通常依赖于存储器设备的特性、操作条件和历史。理论上,窗口内的每个不同的可分辨的阈值电压电平范围可以被用来指定单元的确定的存储器状态。当阈值电压被划分为两个不同的区域时,每个存储器单元能够存储一位数据。类似地,当阈值电压窗口被分隔为两个以上的不同的区域时,每个存储器单元将能够存储多于一位数据。
在通常的两状态EEPROM单元中,建立至少一个电流断点电平,从而将导电窗口分隔成两个区域。当通过施加预定的固定电压来读取单元时,通过与断点电平(或参考电流IREF)相比较来将其源极/漏极电流决定为存储器状态。如果电流读数高于断点电平的电流读数,则该单元被确定为处于一个逻辑状态(例如,“零”状态)。另一方面,如果电流小于断点电平的电流,该单元被确定为在其他逻辑状态(例如,“一”状态)。因此,这样的两状态单元存储一个位的数字信息。可以是外部可编程的参考电流源通常被提供作为存储器系统的部分以产生断点电平电流。
为了提高存储器容量,随着半导体技术的状况进步,正以越来越高的密度制作闪速EEPROM器件。提高存储容量的另一种方法是,使每个存储器单元存储多于两种状态。
对于多状态或多级EEPROM存储器单元,导电窗口被多于一个断点分隔为多于两个的区域,使得每个单元能够存储多于一位数据。因此,给定的EEPROM阵列可以存储的信息随着每个单元可存储的状态的数量而增加。已经在美国专利No.5172338中描述了具有多状态或多级的存储器单元的EEPROM或闪速EEPROM。
作为存储器单元的晶体管通常通过两个机制之一被编程为“已编程”状态。在“热电子注入”中,施加到漏极的高电压使电子加速越过衬底沟道区。同时,施加到控制栅极的高电压将热电子拉过薄栅极电介质到浮置栅极。在“隧道注入”中,相对于衬底,高电压被施加到控制栅极。以这种方式,电子从衬底被拉到中间的浮置栅极。
可以通过许多机制擦除存储器设备。对于EPR0M,存储器可以通过从浮置栅极清除电荷或者紫外线照射来批量擦除。对于EEPROM,通过相对于控制栅极施加高电压到衬底,以诱导浮置栅极中的电子隧穿过薄氧化物到衬底沟道区(即,Fowler-Nordheim隧穿)。通常,EEPROM是按字节可擦除的。对于闪速EEPROM,存储器是电可擦除的,或者一次全部或在一次一个块或多个块,其中一块可以包括存储器的512个或更多个字节。
存储器设备通常包括可以安装在卡上的一个或多个存储器芯片。每个存储器芯片包括外围电路、诸如解码器和擦除、写入和读取电路支持的存储器单元的阵列。更加复杂的存储器设备与执行智能化的和更高级别的存储器操作和接口的外部存储器控制器一起操作。
当今正在使用很多商业上成功的非易失性固态存储器设备。这些存储器设备可以是闪速EEPROM,或可以采用其他类型的非易失性存储器单元。闪速存储器和系统及其制造方法的示例在美国专利第5070032号、5095344号、5315541号、5343063号、5661053号、5313421号和6222762号中给出。特别地,在美国专利第5570315号、5903495号、6046935号中描述了具有NAND串结构的闪速存储器器件。并且非易失性存储器器件还由具有用于存储电荷的介电层的存储器单元制成。使用介电层代替前面所描述的导电的浮置栅极元件。这种利用电介质存储元件的存储器器件已在Eitan等人的《IEEE电子设备快报》(IEEEElectrionDeviceLetters),2000年11月,第21卷,第11号,第543-545页的“NROM:ANovelLocalizedTrapping,2-BitNonvolatileMemoryCell”中描述。0N0介电层延伸穿过源极和漏极扩散区之间的沟道。一个数据位的电荷位于与漏极相邻的介电层,其它数据位的电荷位于与源极相邻的介电层。例如,美国专利第5768192号和第6011725号公开了具有夹在两个二氧化硅层之间的捕获电介质的非易失性存储器单元。通过分别读取电介质内的在空间上分离的电荷存储区的二进制状态来实现多状态数据存储。
为了提高读取和编程的性能,并行读取或编程在阵列中的多个电荷存储元件或存储器晶体管。因此,一起读取或编程一“页”存储器元件。在现有的存储器架构中,一行通常包括几个交错的页,或它可能构成一个页。一页的所有的存储器元件将在一起被读取或编程。
使用了一系列交替编程/验证周期的常规编程技术是为了处理编程过程中的不确定性,在此过程中单元的阈值电压起初响应于VPGM的比较大的变化而快速升高。但是,当编程到浮置栅极中的电荷用作减少用于进一步将电子隧穿到浮置栅极中的有效电场的屏蔽时,这种升高减慢并最终停止。该过程呈现高度的非线性并且因此使用试错(trial-and-error)的方法。
编程/验证的编程技术的缺点是,验证周期占用时间并影响性能。通过能够存储多个位的存储器单元的实施方式加剧了该问题。从本质上,需要为存储器单元的可能的多个状态的每个执行验证。对于有16种可能的存储器状态的存储器,这意味着每个验证周期可能会产生高达16个感测操作。因此,随着多级存储器单元(“MLC”)中的可区分的状态级别的数目的增加,编程/验证方案的验证周期变得越来越费时。
特别地,传统的编程需要在每个脉冲之间的验证操作。当存储器被划分为许多存储器状态,验证操作必须在每个脉冲之间检查许多状态。验证操作的数目随着状态分区的数量的平方而增加。因此,对于每个单元保持3个或更多位的数据的存储器,验证操作的数量变得过分大。
编程非易失性存储器的减少验证的方案已被披露于美国专利第7643348号,第7800945号和第7826271号。这些方案涉及逐个脉冲地以阶梯波形编程,并且初步相关于检查点阈值来验证单元的脉冲。一旦该单元被编程过了该检查点,则编程继续而无需验证,并且当阶梯波形达到特定幅度时停止,所述特定幅度作为从检查点到单元的目标状态的阈值增量的预定函数给出。
然而,当逐个脉冲地推进编程中的单元的阈值到目标目的地时,减少该过程中验证步骤的数目意味着在目标目的地处的阈值的定位中存在更少的控制。这将导致与在两者之间有更多的验证步骤相比增宽了阈值分布
为了提高编程分辨率,常规的方法是,使编程脉冲的步长更精细。然而,这具有成比例地增加编程所需的脉冲数目的效果,因此增加了编程时间。此外,编程脉冲的数量的增加将加重在常规方法中交织的验证的数目的相应增加。
因此通常需要高容量和高性能的非易失性存储器。特别是,需要有具备改善的编程性能的高容量的非易失性存储器,在所述存储器中上述缺点最小化并且阈值分布的验证和增宽在同一时间被最小化。
发明内容
具有更紧密的阈值分布的编程
在从擦除状态到各个目标状态的一个编程遍(programmingpass)中,由一系列阶梯波形的脉冲并行编程非易失性存储器的一组存储器单元。传统地,在每个脉冲后,相对于验证阈值感测存储器单元。无论何时当单元被检测为从开启状态改变到关断状态时,表明该单元的阈值已被编程超过该验证阈值。该单元被认为相对于验证阈值被编程,并且对那个单元的编程从那时起被禁止。但是,超出验证阈值的单元的阈值的过冲的量是未知的。通常,过冲是单元的阈值相对于在编程脉冲之前的验证阈值的相对位置以及该脉冲的强度或步长大小的函数。如果验证操作在每个脉冲之后发生,那么保持检查该过冲。然而,在验证操作被减少或者消除、且单元的阈值可以被提前多个脉冲而无须介入的验证的编程方案中,过冲可能加重,导致更多编程的状态的编程的阈值分布的增宽。
根据本发明的通常实施例,在从擦除状态到各个目标状态的一个编程遍中,非易失性存储器的一组存储器单元被阶梯波形并行编程。每个存储器单元支持被一组增加的分界阈值(V1,…VN)划分为多个阈值子范围的阈值窗口,使得每个子范围代表不同的存储器状态。在该编程遍的初始阶段,存储器单元相对于测试参考阈值被验证。这个测试参考阈值具有从该组中的指定分界阈值Vi偏移了预定余量的值。这提供了当被编程超过Vi时的每个存储器单元的过冲的测量,即,该过冲大于还是小于该余量。因此,被发现为具有大于该余量的过冲的存储器单元将以至少与该余量一样宽的阈值分布而结束。具有这种过度的过冲的存储器单元在该编程遍的后续部分中通过使它们的编程速率降低来被抵消。随着该单元正被编程到更高的编程状态,编程速率的减缓将修整该阈值分布的远端。以此方式,即使以编程脉冲之间的小的或者没有验证来执行该编程遍的后续部分,存储器单元也将被编程到具有相对更紧密的阈值分布的个别存储器状态。
在优选的实施例中,预定余量是包含测试参考阈值的阈值子范围的宽度的一半。
在一个实施例中,提供并行访问该组存储器单元的字线,使得对该组的编程通过施加编程电压到字线来实现。而且,提供各个位线来访问该组的个别存储器单元,以及需要减小其编程速率的任何存储器单元可以通过在所述编程中的所述任何存储器单元的相应位线上的预定电压的升高量来完成。
在优选的实施例中,在编程遍的初始部分中,在每个编程脉冲之后,相对于检查点阈值来验证存储器单元,该检查点阈值被优选地选择为分界阈值Vj(j=1或2或3……)之一。优选地,检查点阈值被选为V1。这建立了基线编程电压电平,用于编程具有更高目标状态的单元而无需另外的验证步骤。在该编程遍的后续部分中,从所标识的编程脉冲施加预定数目的另外的编程脉冲到正被编程的该组的各个存储器单元,以将各个存储器单元编程到各个目标状态,预定数目的另外的编程脉冲是所标识的编程脉冲和各个目标状态的函数。
本发明的优点是,即使在减少了验证操作的高性能编程方案中,非易失性存储器也可以以更紧密的阈值分布被编程。
本发明的附加特征和优点从下面描述的其优选的实施例中被理解,其描述应结合附图。
附图说明
图1示意性地示出了本发明可以被实现的非易失性存储芯片的功能模块。
图2示意性地示出了非易失性存储器单元。
图3示出了浮置栅极可以在任何一个时间被选择地存储的四个不同的电荷Q1-Q4的源极-漏极电流ID和控制栅电压VCG之间的关系。
图4示出了存储器单元的N0R阵列的示例。
图5A示意性地示出了被组织成NAND串的存储器单元的串。
图5B示出了存储器单元的NAND阵列200的例子,由如图5A示出的NAND串50构成。
图6示出了包括存储器单元的阵列上的p个感测模块的堆的如图1所示的读/写电路270A和270B。
图7示出了(例如在NAND配置中)组织的一页存储器单元被并行编程。
图8示出了用于编程4状态存储器单元到目标存储器状态的传统技术。
图9示意性地示出了在一些存储器单元通过图8的编程电压被编程并相对于三个验证电平被验证后的4状态存储器的阈值分布。
图10是一个表,示出了使用常规的交替的编程/验证算法来编程一页的估计数目的编程脉冲和验证周期。
图11示意性地示出了8状态存储器的编程,其中在第一编程状态处只有初步验证。
图12是根据本发明的一个实施例的编程和相对于测试参考阈值的验证来获得的8状态存储器的阈值分布。
图13是根据本发明的另一个实施例的编程和相对于测试参考阈值的验证所获得的8状态存储器的阈值分布。
图14是一个流程图,示出了设置具有步长大小的编程电压使得每个另外的脉冲将存储器单元编程到下一个存储器状态。
具体实施方式
存储器系统
图1至图7示出了本发明的各个方面可以被实现的示例性的存储器系统。
图8至图11示出了传统的编程技术的示例。
图12至图14示出了本发明的各个方面和实施方式。
图1示意性地示出了其中本发明可以被实现的非易失性存储芯片的功能模块。存储器芯片100包括存储器单元200的两维阵列、控制电路210和外围电路,诸如解码器、读/写电路和复用器。
存储器阵列200是经由行解码器230(划分成230A、230B)通过字线并且经由列解码器260(划分成260A、260B)通过位线可寻址的(还参见图4和5)。读/写电路270(划分成270A、270B)允许一页存储器单元并行读取或编程。数据I/O总线231被耦合到读/写电路270。
在优选的实施例中,一页由共享相同的字线的连续的行的存储器单元构成。在另一个实施例中,其中一行存储器单元被划分为多个页,提供块复用器250(划分成250A和250B)来复用读/写电路270给各个页。例如,分别由存储器单元的奇数和偶数列形成的两个页被复用到读/写电路。
图1示出了优选的布置,其中,通过各种外围电路对存储器阵列200的访问以对称的方式实施在该阵列的相对侧上,从而每侧的访问线和电路的密度都减少一半,因此,行解码器被划分成行解码器230A和230B,列解码器260被划分成260A和260B。在本实施例中,一行存储器单元被划分为多个页,页复用器250被划分为页复用器250A和页复用器250B。类似地,读/写电路270被划分成从阵列200的底部连接到位线的读/写电路270A和从阵列200的顶部连接至位线的读/写电路270B。以这种方式,读/写模块的密度以及因此感测模块380的密度本质上被缩减一半。
控制电路110是与读/写电路270一起操作以在存储器阵列200上执行存储器操作的芯片上控制器。控制电路110通常包括状态机112和其他的电路,诸如芯片上地址解码器和功率控制模块(图中未明确示出)。状态机112提供存储器操作的芯片级控制。控制电路经由外部存储器控制器与主机通信。
存储器阵列200通常被组织为以行和列布置的存储器单元的二维阵列,并且可以被字线和位线寻址。可以根据N0R型或NAND型架构形成该阵列。
图2示意性地示出非易失性的存储器单元。存储器单元10可以由具有电荷存储单元20的场效应晶体管(诸如浮置栅极或者介电层)实现。存储器单元10还包括源极14、漏极16和控制栅极30。
当今有很多商业上成功的非易失性固态存储器器件在被使用。这些存储器器件可以采用不同类型的存储器单元,每个类型具有一个或多个电荷存储元件。
典型的非易失性存储器单元包括EEPROM和闪速EEPROM。EEPROM单元的示例及其制造方法的例子在美国专利第5595924号给出。闪速EEPROM单元的、其在存储器系统中的使用及其制造方法的示例在美国专利第5070032号、第5095344号、第5315541号、第5343063号、第5661053号、第5313421号和第6222762号中给出。特别地,具有NAND单元结构的存储器器件的示例在美国专利第5570315号、第5903495号、第6046935号中给出。而且,利用电介质存储元件的存储器器件的示例已经在Eitan等人的《IEEE电子设备快报》(IEEEElectronDeviceLetters)第21卷,第11号,2000年11月的第543-545页的“NROM:ANovelLocalizedTrapping,2-BitNonvolatileMemoryCell”以及美国专利第5,768,192号和第6,011,725号中描述。
在实践中,通常通过感测当参考电压被施加到控制栅极时越过单元的源极和漏极电极的导电电流来读取单元的存储器状态。因此,对于单元的浮置栅极上的每个给定的电荷,可以检测到相对于固定的参考控制栅极电压的相应的导电电流。类似地,可编程到浮置栅极上的电荷的范围定义了相应的阈值电压窗口或相应的导电电流窗口。
另外,代替检测分区的电流窗口中的导电电流,能够在控制栅极上为被测试的给定的存储器状态设置阈值电压,并检测导电电流是低于还是高于阈值电流。在一个实施例中,通过检查导电电流通过位线的电容而放电的速率来完成相对于阈值电流的导电电流的检测。
图3示出了浮置栅极可以在任何一个时间选择性地存储的四个不同的电荷Q1-Q4的源极-漏极电流ID和控制栅极电压VCG。四条实线的ID对VCG曲线代表可以编程到存储器单元的浮置栅极上的四种可能的电荷水平,分别对应四种可能的存储器状态。作为示例,全体单元的阈值电压窗口可以在0.5V到3.5V的范围内。可以通过将阈值窗口划分为每个以0.5V为间隔的五个区域,来标定分别表示一个擦除状态和六个编程状态的七种可能的存储器状态“0”、“1”、“2”、“3”、“4”、“5”、“6”。例如,如果参考电流、2μA的IREF如所示的使用,那么以Q1编程的单元可以被认为在存储器状态“1”,这是由于其曲线与IREF在VCG=0.5V和1.0V标定的阈值窗口的区域内相交。类似地,Q4在存储器状态“5”。
从上面的描述可以看出,存储器单元存储越多的状态,其阈值窗口就被分得越细。例如,存储器器件可以具有取值范围从-1.5V到5V的阈值窗口的存储器单元。这提供了6.5V的最大宽度。如果存储器单元存储16个状态,则每个状态可以在阈值窗口中占据从200mV到300mV。这将需要更高精度的编程和读取操作,以便能够实现所要求的分辨率。
图4示出了存储器单元的N0R阵列的示例。在存储器阵列200中,存储器单元的每一行由源极14和漏极16以菊花链方式连接。这样的设计有时也被称为虚拟接地设计。一行中的单元10具有连接到字线、诸如字线42的控制栅极30。一列中的单元的其源极和漏极分别连接到选定的位线,诸如位线34和36。
图5A示意性地示出了组织成NAND串的存储器单元串。NAND串50包括由其源极和漏极菊花链式连接的一系列的存储晶体管M1、M2、…Mn(例如,n=4、8、16或更高)。一对选择晶体管S1、S2控制存储器晶体管链通过NAND串的源极端54和漏极端56与外部的连接。在存储器阵列中,当源极选择晶体管SI被接通时,源极端被耦合到源极线(参见图5B)。类似地,当漏极选择晶体管S2接通,NAND串的漏极端被耦合到存储器阵列的位线。该链中的每个存储晶体管10用作存储器单元。它具有存储给定的电荷量的电荷存储元件20,以便表示意图的存储器状态。每个存储器晶体管的控制栅极30允许控制读取和写入操作。如图5B所示,NAND串的行的相应存储器晶体管的控制栅极30全部连接到相同的字线。类似地,每个选择晶体管S1、S2的控制栅极32提供分别通过其源极端54和漏极端56对NAND串的控制访问。同样地,NAND串中的行的相应的选择晶体管的控制栅极32都连接到相同的选择线。
当NAND串内的寻址的存储器晶体管10在编程过程中被读取或验证时,为其控制栅极30提供合适的电压。同时,通过在其控制栅极上施加足够的电压,来完全开启在NAND串50中的剩余非寻址的存储器晶体管。以此方式,有效地创建从各个存储器晶体管的源极到NAND串的源极端54的导电路径,并且类似地从各个存储器晶体管的漏极到该单元的源极端56的导电路径。在美国专利第5570315号、第5903495号、第6046935号描述了具有这种NAND串结构的存储器器件。
图5B示出了存储器单元的NAND阵列200的例子,其由如图5A示出的NAND串50构成。沿着NAND串的每一列,诸如位线36的位线被耦合到每个NAND串的漏极端56。沿着NAND串的每一堆,诸如源极线34的源极线被耦合到每个NAND串的源极端54。并且,NAND串的堆中的沿着存储器单元的行的控制栅极被连接到诸如字线42的字线。沿着NAND串的堆中的选择晶体管的行的控制栅极连接到诸如选择线44的选择线。NAND串的堆中的存储器单元的一整行可以通过NAND串堆的字线和选择线上的适当的电压来被寻址。当NAND串内的存储器晶体管正被读取时,该串中的剩余存储器晶体管通过其相关联的字线被硬导电,使得流过该串的电流基本上依赖于存储在正被读取的单元中的电荷的电平。
传感电路和技术
图6示出了在存储器单元阵列上包括p个感测模块的堆的读/写电路270A和270B,如图1所示。并行操作的p个感测模块480的整个堆允许沿着行的p个单元10的块(或页)被并行读取或者编程。本质上,感测模块1将感测单元1中的电流I1,感测模块2将感测单元2中的电流I2,……,感测模块p将感测单元p中的电流Ip等。从源极线34流到聚合节点CLSRC并且从那里流到地的页的总单元电流iTOT将是p个单元中的所有电流的总和。在传统的存储器结构中,具有公共字线的存储器单元的行形成两个或更多个页,其中,一页中的存储器单元被并行地读取和编程。在一行具有两页的情况下,一个页被偶数位线访问,其它页被奇数位线访问。一页感测电路在任何一个时间被耦合到偶数位线或者奇数位线。在这种情况下,提供页复用器250A与250B以分别复用读/写电路270A和270B到各个页。
在基于56nm技术的目前生产的芯片中,P>64000,以及在43nm的32GbitX4芯片中,P>150000。在优选实施例中,该块是一系列整个行的单元。这是所谓的“所有的位线”体系结构,其中该页由分别耦合到连续的位线的一行连续的存储器单元构成。在另一个实施例中,该块是该行中的单元的子集。例如,该单元的子集可以是整行的二分之一或整行的四分之一。单元的子集可以是一系列连续的单元或者间隔一个的单元,或者每预定数量的单元中一个。每个感测模块经由位线被耦合到存储器单元并且包括感测存储器单元的导电电流的感测放大器。一般情况下,如果读/写电路被分布在存储器阵列的相对侧,则p个感测模块的堆将在两组读/写电路270和270B之间分布。
页或字线编程和验证
图7示出了正被并行编程的被组织在例如NAND配置中的一页存储器单元。图7本质上示出了来自图5B的存储器阵列200的NAND链50的堆,其中每个NAND链的细节在图5A中明确示出。诸如第60页的“一页”是可以并行编程的一组存储器单元,由共同连接到字线42的单元的控制栅极使能,并且每个单元可以由通过位线36访问的感测电路(例如图6中所示出的感测模块480)访问。作为示例,当编程该页单元60时,编程电压被施加到公共字线WL3。在编程之前,已经被编程到它们的目标状态的那些单元被编程为禁止的。这通过有效地降低该单元的控制栅极和沟道区之间的电压差来完成,从而阻止电子从源极隧穿到浮置栅极(参见图2)。
编程一页的一种方法是全序列编程(full-sequenceprogramming)。该页的所有单元初始处于擦除状态。因此,该页的所有单元被并行地从擦除状态编程到其目标状态。那些以“1”状态作为目标状态的存储器单元一旦它们被编程为“1”状态将被禁止进一步编程,而以目标状态“2”或更高的其他存储器单元将被进一步地编程。最终,以“2”作为目标状态的存储器单元也将被锁定以防止进一步编程。类似地,通过渐进的编程脉冲,具有目标状态“3”-“7”的单元将被达到并被锁定。
图8示出了编程4状态存储器单元到目标存储器状态的传统技术。编程电路通常施加一系列的编程脉冲到所选择的字线。以这种方式,其控制栅极被耦合到字线的一页存储器单元可以被一起编程。所使用的编程脉冲串可以具有增加的周期或者幅度,以抵消编程到存储器单元的电荷存储单元中的累积的电子。编程电压VPGM被施加到正被编程的一页的字线。编程电压VPGM是从最初的电压电平VPGM0开始的阶梯波形的形式的一系列编程电压脉冲。正被编程的该页的每个单元经过这个系列的编程电压脉冲,试图在每个脉冲处添加递增的电荷到该单元的电荷存储元件。在编程脉冲之间,该单元被读回以确定其阈值电压。该读回过程可以包括一个或者更多的感测操作。当单元的阈值电压已被验证落入相应于目标状态的阈值电压区域内时,该单元的编程停止。每当该页的存储器单元已被编程到其目标状态,它是禁止编程的,而其它单元继续被编程直到该页的所有单元已经被编程-验证。禁止编程存储器单元的一个方法是在编程过程中从0V提高其位线电压至VCC。以这种方式,即使当该单元的控制栅极具有在其上的编程电压,浮置栅极上的有效的编程电压减少了VCC,从而禁止单元的进一步编程。
在使用了一系列交替编程/验证周期的常规编程技术要处理编程过程中的不确定性,其中该单元的阈值电压起初响应于VPGM的相对大的改变而快速增长。然而,随着编程到浮置栅极的电荷用作减少用于进一步将电子隧穿到浮置栅极的有效电场的屏蔽,该增长减慢并最终停止。
图9示意性地示出了一些存储器单元通过图8的编程电压被编程并相对于三个验证电平被验证后的4状态存储器的阈值分布。每个存储器单元可以被编程到阈值窗口跨越的范围内的阈值。在4状态的情况下,阈值窗口通过分界阈值V1、V2、V3被划分成4个子范围。三个验证电平是:验证1(Verify1)=V1、验证2(Verify2)=V2以及验证3(Verify3)=V3。
编程/验证的编程技术的缺点是验证周期占用时间并影响性能。通过实施能够存储多个位的存储器单元而加剧了该问题。本质上,需要为存储器单元的可能的多个状态的每个执行验证。对于具有16个可能的存储器状态的存储器,这意味着每个验证步骤将产生至少16个感测操作。在一些其他的方案中,它甚至可以是更多次。因此,随着将存储器分区的状态数的增加,编程/验证方案的验证周期变得越来越费时。
图10是一个表,示出了使用常规的交替的编程/验证算法来编程一页的编程脉冲和验证周期的估计数目。例如,对于N位的存储器,该分区是NS=2N个状态。编程脉冲的数目至少与状态数目Ns相同。一些算法可能需要k个编程遍,其中k可以是1到4。对于多状态存储器,每个验证操作进一步乘以2N-1,每个编程状态一个。因此,验证的估计数目与22N成正比,其是状态数目的平方。从表中可以看出,对于3位的单元,验证周期的标定数目已经很高,并且不包括其它方案中需要的额外的感测。对于4位的单元,验证周期的数目被禁止。
具有减少的验证的编程
编程非易失性存储器的减少验证的方案已披露于美国专利第7643348号、第7800945号和第7826271号中。这些方案涉及逐个脉冲地以阶梯波形脉冲来编程以及相对于检查点脉冲值来初始地在脉冲之间验证单元。一旦单元被编程过了该检查点,编程无需验证而继续并且当阶梯波形已经达到了特定的幅值时停止,所述特定幅值作为从检查点到单元的目标状态的阈值增量的预定函数给出。美国专利第7643348号、第7800945号和第7826271号公开的内容通过引用的方式在此并入。
然而,随着正在被编程的单元的阈值逐个脉冲地上升到其目标目的地,沿此减少验证步骤的数目意味着对在目标目的地处的阈值的位置的更少的控制。这将导致各种存储器状态的增宽的阈值分布。
图11示意性地示出了8状态的存储器的编程,其中在第一编程状态处只有初步验证。每个单元的阈值窗口被七个分界阈值V1到V7划分为8个阈值范围。共享相同的字线的一组存储器单元被并行编程。起初,在每个编程脉冲后,该组中的单元在被选择为处于VI的检查点阈值570处被验证。一旦在VI处验证,具有目标状态“1”的那些单元被禁止编程,防止进一步的编程。
一旦在V1处被验证,对于具有高于“1”的目标状态的其它单元,注意每个单元在V1处被验证的编程脉冲电平。一旦对于单元确定了这个基线编程电压电平,它就是使单元受到从那里到达单元的目标状态的预定数目的额外编程脉冲的问题。预定数目的额外编程脉冲是从存储器状态V1到目标存储器状态的距离的函数。不需在脉冲之间的验证步骤。例如,对具有目标状态“2”的单元的编程将在经过检查点验证V1(例如,一个或两个脉冲)后在它们被禁止进一步编程前受到预定数量的额外编程脉冲。具有目标状态“3”的单元的编程将在经过V1(例如,两个或四个脉冲)后在该组中的所有存储器单元完成编程前受到另一预定数量的额外编程脉冲。
作为具有预定的步长大小的脉冲串的编程电压
在优选的实施例中,调整编程电压的步长大小,使得每个额外的脉冲将编程存储器单元到下一个存储器状态。对于具有16个可能的存储器状态的存储器单元的例子,脉冲的大小可以是300mV。通过这种方式,一个额外的脉冲将该存储器编程为状态“2”,另一个额外的脉冲将存储器编程为状态“3”等。因此,编程到给定的存储器状态可以被降低为从状态“1”计数该状态的数量并提供相同数量的脉冲。例如,一旦标记可以被设置在状态“1”,其后存储器单元可以由与目标状态离开状态“1”的状态的数量相同数量的脉冲来编程。
其他编程脉冲大小是可能的。例如,对于具有16个可能的存储器状态的存储器单元,脉冲的大小可以是150mV。在那种情况下,将采取两个脉冲来从一个存储器状态编程到下一个相邻的存储器状态。这将在编程中提供更精细的分辨率,这在使用离目标阈值的余量的实施例中是有用的。
图11示意性地示出以3位数据(在八个存储器状态之间)编程的存储器单元的阵列的典型的阈值分布,由被编程到阈值窗口中的各种阈值的一些单元表示。为了明确区分各种存储器状态,它们的各个阈值分布590、591、592、593、594、595、596、597中的每个应该被限制在其各自的阈值范围,诸如<V1、V1到V2、V2到V3……,>V7等。然而,正如之前解释的,在该编程遍的开始时,在检查点=V1处只有一个验证点,更多的编程状态、诸如“2”至“7”,正在没有验证操作地被编程。这可以导致阈值分布增宽到其远端末端可以溢出到下一个阈值范围的程度,并且导致例如“5”状态被错误地读取为“6”状态。
具有更紧的阈值分布的编程
非易失性存储器的一组存储器单元在一个编程遍中被一系列阶梯波形的脉冲从擦除状态并行编程到各个目标状态。通常,在每个脉冲后,相对于验证阈值来感测这些存储器单元。每当检测到一个单元从开启改变到关断状态时,则表示单元的阈值已被编程得超过验证阈值。该单元相对于该单元的验证阈值和编程被认为是已编程的,因为该单元从那时起被禁止。然而,超出验证阈值的单元的阈值的过冲(overshoot)量是未知的。通常,该过冲量是在编程脉冲和脉冲的强度或步长大小之前的该单元的阈值相对位置对验证阈值的函数。如果验证操作发生在每个脉冲之后,该过冲被保持处于检查中。然而,在其中的验证操作被减少或消除的编程方案中,该单元的阈值可以被升高超过多个脉冲,而无需任何干预的验证,该过冲可能加重,导致更多编程状态的编程阈值分布的增宽。
根据本发明的一个实施例,非易失性存储器的一组存储器单元在从擦除状态到各个目标状态的编程遍中被阶梯波形并行编程。每个存储器单元支持被一组增加的分界阈值(V1,……VN)划分为多个阈值子范围的阈值窗口,从而每个子范围代表不同的存储器状态。在该编程遍中的初始阶段期间,存储器单元相对于测试参考阈值被验证。这个测试参考阈值具有从该组之间的指定分界阈值Vi偏移了预定余量的值。这提供了当编程超过Vi时(即,无论过冲大于或者小于余量)的每个存储器单元的过冲的测量。因此,被发现具有大于余量的过冲的存储器单元将以至少与该余量一样宽的阈值分布结束。具有这种过度的过冲存储器单元在编程的后续部分中通过使它们的编程速率降低来被抵消。由于该单元被编程到更高的编程状态,因此编程速率的降低将削减阈值分布的终点。以此方式,存储器单元将被编程到具有相对紧密的阈值分布的各个存储器状态,即使通过在编程脉冲之间的少的或者没有验证地进行该编程遍的后续部分。
图12是根据本发明的一个实施例的通过相对于测试参考阈值来编程和验证来获得的8状态存储器的阈值分布。8状态存储器的阈值窗口被划分为八个子范围,这八个子范围由V1到V7划分,与图11示出的相似。一组非易失性存储器单元被并行编程。在编程之前,该组非易失性存储器单元被首先擦除到具有低于V1的单独的阈值分布590的擦除状态“0”。
被应用到该组存储器单元的编程电压与图8示出的相似,但在编程遍的后面部分,验证步骤被省略或者被减少。其是在一个编程遍中操作的一系列递增的电压脉冲。由于逐个脉冲地施加编程电压,正被编程的存储器单元使它们的阈值逐步编程到阈值窗口中的越来越高的电平。
与图11中示出的相似,在该编程遍开始时,在每个编程脉冲后,存储器单元相对于检查点阈值570被验证,该检查点阈值570被优选地选择为分界阈值Vj(j=1或2或3……)之一。选择最低分界阈值V1使得存储器状态的最大值在减少的验证的情况下被编程。如以上所解释的,这建立了以具有高于“0”的目标状态来编程单元的基线编程电压电平而无需进一步的验证步骤。本领域的技术人员应该清楚,可以选择其他的分界阈值、诸如V2,或者可以使用多于一个检查点。
另外,在编程开始时,在每个编程脉冲后,存储器单元还相对于测试参考阈值580被验证。测试参考阈值580是超过分界阈值Vi(i=1或2或3……)之一达预定余量581的偏移量。优选地,余量581使得测试参考阈值被定位在由Vi和Vi+1划分的阈值子范围中的中间。而且测试参考阈值580比检查点阈值570大,其中i≥j。
由此,当预期存储器单元刚刚被编程超过Vi时,在预定编程脉冲电平,根据三个情况之一,相对于测试参考阈值580的验证提供关于在由Vi和Vi+1(在当前情况下是V1和V2)划分的子范围内的单元的编程状态的信息。
第一种情况是,当该单元尚未被验证到检查点570。这意味着该单元的阈值还没有被编程超过V1,因此还没有被编程到“1”存储器状态。这个单元将继续受到另外的编程脉冲。
第二种情况是,当该单元在检查点570处但不是在测试参考阈值580处被验证。这意味着该单元的阈值已经被编程超过了检查点580(例如,V1),因此现在被编程到存储器状态“1”。如果该单元的目标状态是“1”,它将被禁止进一步编程。该单元的阈值是阈值分布591的一个部分。
如果单元的目标状态大于“1”,它将继续受到另外的编程脉冲。然而,另外的编程的强度可以根据该单元何时在V1处被验证以及其是否在测试参考580处也被验证来被调整。由于在此第二种情况下,它没有在测试参考580(或者V1+余量581)处被验证,该单元的阈值已以小于余量581的过冲被编程超过V1。另外的编程然后可以正常进行而无需任何调整。在优选的实施例中,该单元根据目标状态被预定数目的另外的编程脉冲编程到其目标状态,而无需介入的验证步骤。然后,在达到其目标状态后,该单元被禁止进一步的编程。与图12示出的相似,该单元的阈值是各自取决于单元的目标状态为从“2”到“7”的各个阈值分布592到597的一部分。
第三种情况是当单元在V1和测试参考阈值580处被验证时。这意味着单元的阈值被编程超过V1并且还超过了测试参考值580。由此,从V1的过冲大于余量581。这意味着这个单元的阈值在阈值分布的远端处远远超出V1。
如果单元具有高于当前验证所在状态的目标状态(即,大于“1”的目标状态),它将被进一步编程,并且随着每个另外的编程脉冲,其阈值将增加并且进一步移动到阈值窗口的右侧。如果当超过第一分界阈值V1时它在各个阈值分布的远端,当被编程到目标状态时,它还将在各个阈值分布的远端结束。增加单元的阈值的速率与脉冲的数目可以是略微非线性的,如果未通过干预的验证步骤检测,远端阈值可以在一些另外的编程脉冲之后偏离甚至更多。由此,对于这第三种情况,然后通过调整来进行另外的编程来降低编程的速率。由于在情况二中,该单元优选地取决于目标状态而被预定数目的另外的编程脉冲(以减少的编程速率)以减少的或者无介入的验证步骤来编程到其目标状态。然后当单元达到其目标状态时,它被禁止进一步编程
因此,通过也是在位于阈值子范围中间的测试参考阈值580处的验证,被检测为具有在各个阈值分布的远端中的阈值的那些单元将在该编程遍中的后续部分中经受降低的编程速率。这将帮助修整各个阈值的远端以使其更窄。例如,图12示出了具有修整的各个阈值分布592’的“2”状态,它比如果正常进行了编程以产生未修整的各个阈值分布592的情况更窄。“3”状态具有修整的各个阈值分布593’,它比如果正常进行了编程以提供未修整的各个阈值分布593的情况更窄。类似地,“4”至“7”状态分别具有修整的各个阈值分布594’至597’,它们比如果正常进行了编程以分别提供未修整的各个阈值分布594至597的情况更窄。
放缓编程速率的一般方法是减少有效的编程电压。如前所述,减少有效的编程电压的一个实施例是提高单元的沟道区的电压。这有效地减小了拉电子以从沟道区隧穿到浮置栅极的电场强度。
在一个实施例中,提供了并行访问该组存储器单元的字线,使得对该组的编程通过施加编程电压到字线来实现。而且,提供各个位线来访问该组的各个存储器单元,以及需要减小其编程速率的任何存储器单元可以通过在所述编程中在所述任何存储器单元的相应位线上的预定电压的升高量来完成。
图13是根据本发明的另一个实施例的相对于测试参考阈值的编程和验证而获得的8状态存储器的阈值分布。本质上,这个实施例与图12中所示的不同在于,测试参考阈值580不位于与检查点570相同的阈值子范围之内。在这个实施例中,测试参考阈值580位于分界阈值V2和V3的中间,该分界阈值V2和V3是划分状态“2”的各个阈值分布592的分界阈值。
之前结合图12描述的过冲的概念仍然适用,除了该过冲现在是相关于分界值V2。余量581由此相关于V2而被定义。同样,如果测试阈值参考在状态“3”的阈值子范围内,则余量581将相关于V3而被定义,等等。
当测试参考阈值被置于较高的状态,较高的状态分布可以被更加缩紧。代价是,由于在相对于测试参考阈值的验证之前的状态不能得到任何缩紧的好处,因此缩紧的好处也会晚些到来。例如,已经发现对于6状态存储器,测试参考阈值最佳地在“2”状态中。
图14是一个流程图,示出了以步长大小设置编程电压使得每个另外的脉冲将存储器单元编程到下一个存储器状态。
步骤600:为存储器单元提供被一组增加的分界阈值(V1,…VN)划分为多个阈值子范围的阈值窗口,使得每个子范围代表不同的存储器状态。前进到步骤610。
步骤610:在一个编程遍中施加编程电压作为一系列的递增电压脉冲以将一组存储器单元从擦除的存储器状态并行编程到各自的目标存储器状态。前进到步骤620。
步骤620:提供具有从指定的分界阈值Vi偏移了预定余量的值的测试参考阈值,使得当存储器单元被预期为已被编程超过Vi,但是还没有相对于测试参考阈值而被校验时,存储器单元将具有在预定余量内的超过Vi的过冲,并且当存储器单元被预期为已编程超过Vi,并且也已经相对于测试参考阈值而被校验,则存储器单元将具有大于预定余量的超过Vi的过冲的阈值。前进到步骤630。
步骤630:在电压脉冲之间相对于测试参考阈值来验证正被编程的该组存储器单元,直到确定正被编程的每个存储器单元的过冲。前进到步骤640。
步骤640:接下来,在该编程遍中,减缓曾被确定为具有大于余量的过冲的正被编程的任何存储器单元的编程速率。前进到步骤650。
STEP650:结束。
本发明的优点是非易失性存储器可以以更紧密的阈值分布被编程,即使在减少验证操作的高性能的编程方案中。
在此引用的全部专利、专利申请、文章、书籍、说明、其他出版物、文献等以引用的方式全部在此并入本文用于所用目的。对于并入的出版物、文献等以及本文的文本中的任何之间的术语的定义或者使用方面的任何不一致或者冲突的限度内,将以本文的术语的定义或者使用为准。
虽然相关于特定实施例已经描述了本发明的各个方面,应该理解的是,本发明在所附权利要求的全部范围内获得保护。
Claims (20)
1.一种并行编程非易失性存储器的一组存储器单元的方法,包括:
为存储器单元提供被一组增加的分界阈值(V1,V2…VN)划分为多个阈值子范围的阈值窗口,使得每个子范围代表不同的存储器状态;
在一个编程遍中施加编程电压作为一系列的递增电压脉冲,以将该组存储器单元从擦除的存储器状态并行编程到各自的目标存储器状态;
提供具有从该组中的指定分界阈值Vi偏移了预定余量的值的测试参考阈值,使得当存储器单元被预期为已被编程超过Vi、但是还没有相对于测试参考阈值被验证时,存储器单元将具有拥有预定余量以内的超过Vi的过冲的阈值,并且当存储器单元被预期为已编程超过Vi、并且也已经相对于测试参考阈值被验证时,则存储器单元将具有拥有大于预定余量的超过Vi的过冲的阈值,其中i=1,2,……,N;
在电压脉冲之间相对于测试参考阈值来验证正被编程的该组存储器单元,直到确定正被编程的每个存储器单元的过冲;以及
在该编程遍的后续部分中,减缓曾被确定为具有大于余量的过冲的正被编程的任何存储器单元的编程速率。
2.如权利要求1所述的方法,其中i=1。
3.如权利要求1所述的方法,其中i=2。
4.如权利要求1所述的方法,进一步包括:
标识在来自所述一组增加的分界阈值(V1,V2…VN)的分界阈值Vj处验证正被编程的该组的每个存储器单元的编程脉冲,其中j=1,2,……,N;以及
在该编程遍的后续部分中,从所标识的编程脉冲施加预定数目的另外的编程脉冲到正被编程的该组的各个存储器单元,以将各个存储器单元编程到各个目标状态,预定数目的另外的编程脉冲是所标识的编程脉冲和各个目标状态的函数。
5.如权利要求4所述的方法,其中j=1,并且i≥j。
6.如权利要求1所述的方法,进一步包括:
提供并行访问该组存储器单元的字线;
提供访问该组的各个存储器单元的各个位线;以及其中:
所述编程通过施加编程电压到字线来实现;以及
所述减缓所述任何存储器单元的编程速率包括在所述编程中升高所述任何存储器单元的相应位线上的预定电压。
7.如权利要求1所述的方法,其中:
所述预定余量是包含测试参考阈值的阈值子范围的宽度的一半。
8.如权利要求1所述的方法,其中:
在该编程遍的后续部分中,一旦编程电压已递增到被估计为将存储器单元编程到目标状态的值时,正被编程的存储器单元被禁止进一步的编程。
9.如权利要求1所述的方法,其中:
执行该编程遍的后续部分而不在编程脉冲之间验证。
10.如权利要求1所述的方法,其中:
执行该编程遍的后续部分而不在每个编程脉冲之间验证。
11.一种非易失性存储器,包括:
存储器单元,具有被一组增加的分界阈值(V1,V2,…VN)划分为多个阈值子范围的阈值窗口,使得每个子范围代表不同的存储器状态;
测试参考阈值,具有从该组中的指定分界阈值Vi偏移了预定余量的值,使得当存储器单元被预期为已被编程超过Vi、但是还没有相对于测试参考阈值被验证时,存储器单元将具有拥有预定余量以内的超过Vi的过冲的阈值,并且当存储器单元被预期为已编程超过Vi、并且也已经相对于测试参考阈值被验证时,则存储器单元将具有拥有大于预定余量的超过Vi的过冲的阈值,其中i=1,2,……,N;
读/写电路,用于并行编程和验证一组存储器单元;
所述读/写电路具有以下操作,包括:
在一个编程遍中,施加编程电压作为一系列递增电压脉冲,来将该组的存储器单元从擦除的存储器状态并行编程到各个目标存储器状态;
在电压脉冲之间相对于测试参考阈值来验证正被编程的该组的存储器单元直到确定正被编程的每个存储器单元的过冲;以及
在该编程遍的后续部分中,减缓曾被确定具有大于余量的过冲的正被编程的任何存储器单元的编程速率。
12.如权利要求11所述的非易失性存储器,其中i=1。
13.如权利要求11所述的非易失性存储器,其中i=2。
14.如权利要求11所述的非易失性存储器,其中所述读/写电路具有操作,进一步包括:
标识在来自所述一组增加的分界阈值(V1,V2…VN)的分界阈值Vj处验证正被编程的每个存储器单元的编程脉冲,其中j=1,2,……,N;以及
在该编程遍的后续部分中,从所标识的编程脉冲施加预定数目的另外的编程脉冲到正被编程的该组的各个存储器单元,以将各个存储器单元编程到各个目标状态,预定数目的另外的编程脉冲是所标识的编程脉冲和各个目标状态的函数。
15.如权利要求14所述的非易失性存储器,其中j=1,并且i≥j。
16.如权利要求11所述的非易失性存储器,进一步包括:
并行访问该组存储器单元的字线;
访问该组的各个存储器单元的各个位线;以及其中:
所述编程通过施加编程电压到字线来实现;以及
所述减缓所述任何存储器单元的编程速率包括在所述编程中升高所述任何存储器单元的相应位线上的预定电压。
17.如权利要求11所述的非易失性存储器,其中
所述预定余量是包含测试参考阈值的阈值子范围的宽度的一半。
18.如权利要求11所述的非易失性存储器,其中:
在该编程遍的后续部分中,一旦编程电压已递增到被估计为将存储器单元编程到目标状态的值时,正被编程的存储器单元被禁止进一步的编程。
19.如权利要求11所述的非易失性存储器,其中:
执行该编程遍的后续部分而不在编程脉冲之间验证。
20.如权利要求11所述的非易失性存储器,其中:
执行该编程遍的后续部分而不在每个编程脉冲之间验证。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/071,170 US8472257B2 (en) | 2011-03-24 | 2011-03-24 | Nonvolatile memory and method for improved programming with reduced verify |
US13/071,170 | 2011-03-24 | ||
PCT/US2012/027471 WO2012128914A1 (en) | 2011-03-24 | 2012-03-02 | Nonvolatile memory and method for improved programming with reduced verify |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103477392A CN103477392A (zh) | 2013-12-25 |
CN103477392B true CN103477392B (zh) | 2016-04-06 |
Family
ID=45856023
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280014811.6A Active CN103477392B (zh) | 2011-03-24 | 2012-03-02 | 具有减少的验证的改进的编程的非易失性存储器和方法 |
Country Status (4)
Country | Link |
---|---|
US (2) | US8472257B2 (zh) |
KR (1) | KR101905218B1 (zh) |
CN (1) | CN103477392B (zh) |
WO (1) | WO2012128914A1 (zh) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012069186A (ja) * | 2010-09-22 | 2012-04-05 | Toshiba Corp | 不揮発性半導体記憶装置 |
US8472257B2 (en) * | 2011-03-24 | 2013-06-25 | Sandisk Technologies Inc. | Nonvolatile memory and method for improved programming with reduced verify |
US9466382B2 (en) | 2012-11-14 | 2016-10-11 | Sandisk Technologies Llc | Compensation for sub-block erase |
US9171620B2 (en) | 2012-11-29 | 2015-10-27 | Sandisk Technologies Inc. | Weighted read scrub for nonvolatile memory |
US8988941B2 (en) | 2012-12-18 | 2015-03-24 | SanDisk Tehcnologies Inc. | Select transistor tuning |
US9098205B2 (en) | 2013-01-30 | 2015-08-04 | Sandisk Technologies Inc. | Data randomization in 3-D memory |
US9183086B2 (en) | 2013-06-03 | 2015-11-10 | Sandisk Technologies Inc. | Selection of data for redundancy calculation in three dimensional nonvolatile memory |
US9218890B2 (en) | 2013-06-03 | 2015-12-22 | Sandisk Technologies Inc. | Adaptive operation of three dimensional memory |
US9142324B2 (en) | 2013-09-03 | 2015-09-22 | Sandisk Technologies Inc. | Bad block reconfiguration in nonvolatile memory |
US8908441B1 (en) | 2013-10-15 | 2014-12-09 | Sandisk Technologies Inc. | Double verify method in multi-pass programming to suppress read noise |
US8902668B1 (en) | 2013-10-15 | 2014-12-02 | Sandisk Technologies Inc. | Double verify method with soft programming to suppress read noise |
US9177673B2 (en) | 2013-10-28 | 2015-11-03 | Sandisk Technologies Inc. | Selection of data for redundancy calculation by likely error rate |
US20150121156A1 (en) | 2013-10-28 | 2015-04-30 | Sandisk Technologies Inc. | Block Structure Profiling in Three Dimensional Memory |
US9093158B2 (en) | 2013-12-06 | 2015-07-28 | Sandisk Technologies Inc. | Write scheme for charge trapping memory |
US9218886B2 (en) | 2013-12-10 | 2015-12-22 | SanDisk Technologies, Inc. | String dependent parameter setup |
KR102144779B1 (ko) | 2014-02-04 | 2020-08-14 | 삼성전자 주식회사 | 저항체를 이용한 비휘발성 메모리 장치의 구동 방법 |
US9165659B1 (en) | 2014-05-08 | 2015-10-20 | Sandisk Technologies Inc. | Efficient reprogramming method for tightening a threshold voltage distribution in a memory device |
US9015561B1 (en) | 2014-06-11 | 2015-04-21 | Sandisk Technologies Inc. | Adaptive redundancy in three dimensional memory |
US8918577B1 (en) | 2014-06-13 | 2014-12-23 | Sandisk Technologies Inc. | Three dimensional nonvolatile memory with variable block capacity |
US9324419B2 (en) | 2014-07-15 | 2016-04-26 | Sandisk Technologies Inc. | Multiple pass programming for memory with different program pulse widths |
US9343141B2 (en) | 2014-07-15 | 2016-05-17 | Sandisk Technologies Inc. | Reprogramming memory with single program pulse per data state |
KR102179270B1 (ko) | 2014-07-23 | 2020-11-18 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 동작 방법 |
KR20160021654A (ko) * | 2014-08-18 | 2016-02-26 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 이의 동작방법 |
US9536601B2 (en) * | 2014-11-05 | 2017-01-03 | Macronix International Co., Ltd. | Threshold voltage grouping of memory cells in same threshold voltage range |
US9401216B1 (en) | 2015-09-22 | 2016-07-26 | Sandisk Technologies Llc | Adaptive operation of 3D NAND memory |
US9691473B2 (en) | 2015-09-22 | 2017-06-27 | Sandisk Technologies Llc | Adaptive operation of 3D memory |
KR102475448B1 (ko) * | 2016-09-29 | 2022-12-08 | 에스케이하이닉스 주식회사 | 메모리 장치 및 이의 동작 방법 |
US10102903B1 (en) * | 2017-03-31 | 2018-10-16 | Intel Corporation | Write process for a non volatile memory device |
TWI657455B (zh) * | 2018-05-11 | 2019-04-21 | 華邦電子股份有限公司 | 離群位元修復方法和記憶體裝置 |
CN110556145A (zh) * | 2018-06-01 | 2019-12-10 | 北京兆易创新科技股份有限公司 | 一种存储单元的编程方法、装置、电子设备及存储介质 |
KR20210015331A (ko) | 2019-08-01 | 2021-02-10 | 삼성전자주식회사 | 상태 쉐이핑 동작을 수행하기 위한 메모리 장치, 메모리 컨트롤러 및 이를포함하는 메모리 시스템 |
US11139036B2 (en) * | 2020-02-10 | 2021-10-05 | Intel Corporation | Using variable voltages to discharge electrons from a memory array during verify recovery operations |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101095199A (zh) * | 2004-11-16 | 2007-12-26 | 桑迪士克股份有限公司 | 具有减少的过编程的高速编程系统 |
CN101364443A (zh) * | 2007-08-08 | 2009-02-11 | 海力士半导体有限公司 | 在非易失性存储器件中的软编程方法 |
CN101828235A (zh) * | 2007-10-17 | 2010-09-08 | 株式会社东芝 | 非易失性半导体存储器件 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5095344A (en) | 1988-06-08 | 1992-03-10 | Eliyahou Harari | Highly compact eprom and flash eeprom devices |
US5070032A (en) | 1989-03-15 | 1991-12-03 | Sundisk Corporation | Method of making dense flash eeprom semiconductor memory structures |
US5172338B1 (en) | 1989-04-13 | 1997-07-08 | Sandisk Corp | Multi-state eeprom read and write circuits and techniques |
US5343063A (en) | 1990-12-18 | 1994-08-30 | Sundisk Corporation | Dense vertical programmable read only memory cell structure and processes for making them |
US5313421A (en) | 1992-01-14 | 1994-05-17 | Sundisk Corporation | EEPROM with split gate source side injection |
US6222762B1 (en) | 1992-01-14 | 2001-04-24 | Sandisk Corporation | Multi-state memory |
US5315541A (en) | 1992-07-24 | 1994-05-24 | Sundisk Corporation | Segmented column memory array |
KR0169267B1 (ko) | 1993-09-21 | 1999-02-01 | 사토 후미오 | 불휘발성 반도체 기억장치 |
US5661053A (en) | 1994-05-25 | 1997-08-26 | Sandisk Corporation | Method of making dense flash EEPROM cell array and peripheral supporting circuits formed in deposited field oxide with the use of spacers |
US5903495A (en) | 1996-03-18 | 1999-05-11 | Kabushiki Kaisha Toshiba | Semiconductor device and memory system |
US5768192A (en) | 1996-07-23 | 1998-06-16 | Saifun Semiconductors, Ltd. | Non-volatile semiconductor memory cell utilizing asymmetrical charge trapping |
KR100272037B1 (ko) | 1997-02-27 | 2000-12-01 | 니시무로 타이죠 | 불휘발성 반도체 기억 장치 |
US6768165B1 (en) | 1997-08-01 | 2004-07-27 | Saifun Semiconductors Ltd. | Two bit non-volatile electrically erasable and programmable semiconductor memory cell utilizing asymmetrical charge trapping |
US6937520B2 (en) | 2004-01-21 | 2005-08-30 | Tsuyoshi Ono | Nonvolatile semiconductor memory device |
US7656710B1 (en) * | 2005-07-14 | 2010-02-02 | Sau Ching Wong | Adaptive operations for nonvolatile memories |
US7224614B1 (en) * | 2005-12-29 | 2007-05-29 | Sandisk Corporation | Methods for improved program-verify operations in non-volatile memories |
US7349261B2 (en) * | 2006-06-19 | 2008-03-25 | Sandisk Corporation | Method for increasing programming speed for non-volatile memory by applying counter-transitioning waveforms to word lines |
US7643348B2 (en) | 2007-04-10 | 2010-01-05 | Sandisk Corporation | Predictive programming in non-volatile memory |
US7826271B2 (en) | 2008-06-12 | 2010-11-02 | Sandisk Corporation | Nonvolatile memory with index programming and reduced verify |
US7800945B2 (en) | 2008-06-12 | 2010-09-21 | Sandisk Corporation | Method for index programming and reduced verify in nonvolatile memory |
US7768836B2 (en) | 2008-10-10 | 2010-08-03 | Sandisk Corporation | Nonvolatile memory and method with reduced program verify by ignoring fastest and/or slowest programming bits |
US8472257B2 (en) * | 2011-03-24 | 2013-06-25 | Sandisk Technologies Inc. | Nonvolatile memory and method for improved programming with reduced verify |
-
2011
- 2011-03-24 US US13/071,170 patent/US8472257B2/en active Active
-
2012
- 2012-03-02 KR KR1020137025118A patent/KR101905218B1/ko active IP Right Grant
- 2012-03-02 CN CN201280014811.6A patent/CN103477392B/zh active Active
- 2012-03-02 WO PCT/US2012/027471 patent/WO2012128914A1/en active Application Filing
-
2013
- 2013-06-24 US US13/925,621 patent/US9324418B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101095199A (zh) * | 2004-11-16 | 2007-12-26 | 桑迪士克股份有限公司 | 具有减少的过编程的高速编程系统 |
CN101364443A (zh) * | 2007-08-08 | 2009-02-11 | 海力士半导体有限公司 | 在非易失性存储器件中的软编程方法 |
CN101828235A (zh) * | 2007-10-17 | 2010-09-08 | 株式会社东芝 | 非易失性半导体存储器件 |
Also Published As
Publication number | Publication date |
---|---|
CN103477392A (zh) | 2013-12-25 |
WO2012128914A1 (en) | 2012-09-27 |
KR101905218B1 (ko) | 2018-10-05 |
US20120243323A1 (en) | 2012-09-27 |
US20130279263A1 (en) | 2013-10-24 |
US9324418B2 (en) | 2016-04-26 |
US8472257B2 (en) | 2013-06-25 |
KR20140024289A (ko) | 2014-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103477392B (zh) | 具有减少的验证的改进的编程的非易失性存储器和方法 | |
CN102177555B (zh) | 具有通过忽略最快和/或最慢编程位减少编程验证的非易失性存储器和方法 | |
US9672926B2 (en) | Apparatus and method of programming and verification for a nonvolatile semiconductor memory device | |
US7965562B2 (en) | Predictive programming in non-volatile memory | |
US9390800B2 (en) | Semiconductor memory and semiconductor memory control method | |
US9218874B1 (en) | Multi-pulse programming cycle of non-volatile memory for enhanced de-trapping | |
US20180218774A1 (en) | Semiconductor memory device | |
US8811075B2 (en) | Charge cycling by equalizing and regulating the source, well, and bit line levels during write operations for NAND flash memory: verify to program transition | |
US9978456B2 (en) | Techniques for reducing read disturb in partially written blocks of non-volatile memory | |
US9269446B1 (en) | Methods to improve programming of slow cells | |
JP2010524147A (ja) | 不揮発性メモリと予測プログラミングの方法 | |
US20180301195A1 (en) | Memory cell programming | |
US9349458B2 (en) | Biasing of unselected blocks of non-volatile memory to reduce loading | |
CN109872761B (zh) | 用于提高数据可靠性的非易失性存储器件及其操作方法 | |
CN107068184B (zh) | 存储器装置及操作存储器的方法 | |
CN110580929A (zh) | 非易失性存储器装置及非易失性存储器装置的擦除方法 | |
US9595338B2 (en) | Utilizing NAND strings in dummy blocks for faster bit line precharge | |
JP2013041654A (ja) | 不揮発性記憶装置 | |
JP2010123201A (ja) | 不揮発性半導体記憶装置 | |
WO2014035982A1 (en) | Memory devices and operating methods for a memory device | |
US9564219B2 (en) | Current based detection and recording of memory hole-interconnect spacing defects | |
US8767474B2 (en) | Nonvolatile memory device and method for controlling the same | |
JP2009080884A (ja) | 不揮発性半導体記憶装置 | |
US11929125B2 (en) | Window program verify to reduce data latch usage in memory device | |
JP5301020B2 (ja) | 半導体装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
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. |