CN107408410A - 用于非易失性存储器的多状态编程 - Google Patents
用于非易失性存储器的多状态编程 Download PDFInfo
- Publication number
- CN107408410A CN107408410A CN201680013979.3A CN201680013979A CN107408410A CN 107408410 A CN107408410 A CN 107408410A CN 201680013979 A CN201680013979 A CN 201680013979A CN 107408410 A CN107408410 A CN 107408410A
- Authority
- CN
- China
- Prior art keywords
- memory cell
- bit line
- programmed
- memory
- transistor
- 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.)
- Granted
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
- 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/5642—Sensing or reading circuits; Data output 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
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- 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/24—Bit-line control 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/10—Programming or data input circuits
- G11C16/107—Programming all cells in an array, sector or block to the same state prior to flash erasing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/562—Multilevel memory programming aspects
- G11C2211/5622—Concurrent multilevel programming of more than one cell
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
- Semiconductor Memories (AREA)
- Non-Volatile Memory (AREA)
Abstract
提供用于对非易失性存储器编程的方法。方法包括通过将存储器单元从擦除状态编程到多个中间数据状态来编程用于偶数位线的存储器单元,以及对中间数据状态中的每一个,同时将存储器单元编程到多个目标数据状态。方法也包括通过将存储器单元从擦除状态编程到多个中间数据状态来编程用于奇数位线的存储器单元,以及对中间数据状态中的每一个,同时将存储器单元编程到多个目标数据状态。对每个存储器单元,如果存储器单元要被禁止编程,对应的位线被偏置到第一位线偏置,并且如果存储器单元要被编程到最终状态,对应的位线被偏置到多个编程位线偏置中的一个。
Description
背景技术
半导体存储器广泛用于诸如蜂窝电话、数字照相机、个人数字助理、医疗电子、移动计算设备、和非移动计算设备的各种电子设备中。半导体存储器可以包括非易失性存储器或易失性存储器。即使当非易失性存储器未连接到电源时(例如电池),非易失性存储器也允许存储和保留信息。非易失性存储器的示例包括闪存(例如NAND型和NOR型闪存)和电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)。
电荷捕获材料能够用在非易失性存储器件中以存储代表数据状态的电荷。电荷捕获材料可以垂直布置在三维(three-dimensional,3D)堆叠的存储器结构中。3D存储器结构的一个示例是比特成本可缩放(Bit Cost Scalable,BiCS)架构,其包括一叠交替的导电层和电介质层。在堆叠中形成存储器孔,然后通过用包括电荷捕获层的材料填充存储器孔来形成NAND串,以创建存储器单元的垂直柱。直的NAND串在一个存储器孔中延伸。存储器单元的控制栅由导电层提供。
一些非易失性存储器件用于存储两个电荷范围,并且因此可以在对应于两个数据状态的两个阈值电压范围之间对存储器单元编程/擦除:擦除状态(例如,数据“1”)和编程状态(例如,数据“0”)。这种器件被称为二进制或双状态器件。
多状态(或多级)非易失性存储器通过识别阈值电压的多个不同的允许的范围来实现。阈值电压的每个不同的范围对应于被分配了用于该组数据位的预定值的数据状态。编程到存储器单元中的数据与阈值电压的范围之间的具体关系取决于对存储器单元采用的数据编码方案。例如,美国专利No.6,222,762和美国专利公开No.2004/0255090两者都描述了用于多状态闪存单元的各种数据编码方案。虽然多状态非易失性存储器可以存储比二进制非易失性存储器更多的数据,但是用于编程和验证编程的过程对于多状态非易失性存储器可能需要更长时间。
附图说明
相同编号的元件指的是不同图中的通用组件。
图1是3D堆叠的非易失性存储器件的透视图。
图2是存储器件200的功能框图,其是图1的3D堆叠的非易失性存储器件100的示例。
图3A是描绘用于对控制器中的一个或多个处理器编程的软件模块的框图。
图3B是描绘用于对存储器裸芯上的状态机或其他处理器编程的软件模块的框图。
图4A是具有两个平面的存储器结构的框图。
图4B是存储器单元块的一部分的顶视图。
图4C是存储器单元块的一部分的横剖面视图。
图4D是选择栅层和字线层的视图。
图4E是存储器单元的垂直柱的横剖面视图。
图5是感测放大器的示意图。
图6是描述图5的感测放大器中描绘的某些信号的行为的时序图。
图7是描述图5的电路的操作的一个实施例的流程图。
图8A和图8B描绘了阈值电压分布。
图9A、图9B和图9C描绘了阈值电压分布。
图10是描述编程过程的一个实施例的流程图。
图11描绘一个示例编程过程。
图12是感测放大器的示意图。
图13A-图13E是描述图12的感测放大器中描绘的某些信号的行为的时序图。
具体实施方式
提供了用于同时将存储器单元从中间状态编程到目标数据状态的方法和装置。示例方法包括通过将存储器单元从擦除状态编程到多个中间数据状态,并且对于中间数据状态的每一个,同时将存储器单元编程到多个目标数据状态,来编程用于偶数位线的存储器单元。该方法也包括通过将存储器单元从擦除状态编程到多个中间数据状态,并且对于中间数据状态的每一个,同时将存储器单元编程到多个目标数据状态,来编程用于奇数位线的存储器单元。
以下讨论提供了对于可以实现所提出的技术的存储器件的合适结构的一个示例的细节。
图1是包括衬底102的三维(3D)堆叠的非易失性存储器件100的透视图。在衬底102上和上方是存储器单元(非易失性存储元件)的示例块BLK0和BLK1。也在衬底102上的是具有用于由块BLK0和BLK1使用的支持电路的***区域104。衬底102还可以在块下方携载电路、以及在导电路径中被图案化以携载电路的信号的一个或多个更低金属层。
块BLK0和BLK1在存储器件100的中间区域106形成。在存储器件100的上部区域108中,一个或多个上部金属层在导电路径中被图案化以携载电路的信号。块BLK0和BLK1的每一个包括存储器单元的堆叠的区域,其中堆叠的交替电平代表字线。虽然描绘了两个块BLK0和BLK1作为示例,但是附加块可以使用,在x和/或y方向上延伸。
在一个示例实施方式中,在x方向的平面的长度代表用于字线的信号路径延伸(字线或SGD线方向)的方向,并且在y方向的平面的宽度代表用于位线的信号路径延伸的方向(位线方向)。z方向代表存储器件的高度。
图2是示例存储器件200的功能框图,该示例存储器件200是图1的3D堆叠的非易失性存储器件100的示例。在图2中描绘的组件是电路。存储器件200包括一个或多个存储器裸芯202。每个存储器裸芯202包括存储器单元的三维存储器结构(诸如,例如,存储器单元的3D阵列)204、控制电路206、和读/写电路208。在其它实施例中,可以使用存储器单元的二维阵列。
存储器结构204经由行解码器210通过字线和经由列解码器212通过位线是可寻址的。读/写电路208包括多个感测块SB1、SB2、...、SBp(感测电路),并且允许存储器单元的页被并行读取或编程。在一些***中,控制器214被包括在与一个或多个存储器裸芯202相同的存储器件200(例如,可移动存储卡)中。然而,在其他***中,控制器214可以与存储器裸芯202分开。
在一些实施例中,一个控制器214将与多个存储器裸芯202通信。在其他实施例中,每个存储器裸芯202具有它自己的控制器。命令和数据经由数据总线218在主机216和控制器214之间以及经由线路220在控制器214和一个或多个存储器裸芯202之间传递。在一个实施例中,存储器裸芯202包括连接到线路220的输入和/或输出(I/O)引脚的集合。存储器结构204可以包括一个或多个包括3D阵列的存储器单元阵列。
存储器结构204可以包括单片三维存储器结构,其中多个存储器级在单个衬底(诸如晶片)上方(而不是在其中)形成,没有中间衬底。存储器结构204可以包括在具有布置在硅衬底上方的有源区域的存储器单元阵列的一个或多个物理层中单片地形成的任何类型的非易失性存储器。存储器结构204可以在具有与存储器单元的操作相关联的电路的非易失性存储器件中,无论相关联的电路是在衬底之上或是在衬底内。
控制电路206与读/写电路208协作以在存储器结构204上执行存储器操作(例如,擦除、编程、读取、和其他),并且包括状态机222、片上地址解码器224、和功率控制模块226。状态机222提供存储器操作的芯片级控制。可以提供代码和参数存储器228用于存储操作参数和软件。在一个实施例中,状态机222可由存储在代码和参数存储器228中的软件来编程。在其它实施例中,状态机222不使用软件并且完全在硬件(例如,电子电路)中实现
片上地址解码器224在由主机216或存储器控制器214使用的地址到由解码器210和212使用的硬件地址之间的提供地址接口。功率控制模块226控制在存储器操作期间被供应到字线和位线的电源和电压。功率控制模块226可以包括用于3D配置中的字线层(下面将讨论)的驱动器、选择晶体管(例如下面描述的SGS和SGD晶体管)和源极线。功率控制模块226可以包括用于创建电压的电荷泵。感应块SB1、SB2、...、SBP包括位线驱动器。SGS晶体管是在NAND串的源极端的选择栅极晶体管,并且SGD晶体管是在NAND串的漏极端的选择栅极晶体管。
控制电路206、状态机222、解码器224/210/212、代码和参数储存器228、功率控制模块226、感测块SB1、SB2、...、SBP、读/写电路208、和控制器214中的任一个或任何组合可以被认为是执行本文所描述的功能的一个或多个控制电路。
(片上或片外)控制器214可以包括诸如ROM 214a和RAM 214b的储存器件(存储器)以及处理器214c。储存器件ROM 214a和RAM 214b包括诸如指令的集合的代码,并且处理器214c可操作以运行该指令的集合以提供本文所描述的功能。或者或另外,处理器214c可以从存储器结构204中的储存器件访问代码,诸如被连接到一个或多个字线的存储器单元的保留的区域。
存储器结构204中的多个存储器元件可以被配置为使得它们串联连接或使得每个元件是单独地可访问的。通过非限制性示例的方法,NAND配置(NAND闪存)中的闪存器件通常包含串联连接的存储器元件。NAND串是串联连接的存储器单元的集合和选择栅极晶体管的示例。
NAND闪存阵列可以被配置为使得阵列由多个NAND串组成,其中NAND串由共享单个位线并作为组被访问的多个存储器单元组成。或者,存储器元件可以被配置为使得每个元件是单独地可访问的,例如NOR存储器阵列。NAND和NOR存储器配置是示例性的,并且可以以其他方式配置存储器单元。
存储器单元可以以有序阵列(诸如以多个行和/或列)以单个存储器件级别排列。然而,存储器元件可以以非规则或非正交配置排列,或以不认为是阵列的结构。
三维存储器阵列排列,使得存储器单元占据多个平面或多个存储器器件级,由此在三维中形成结构(即,在x、y和z方向上,其中z方向是基本垂直的,并且x和y方向是基本平行于衬底的主表面的)。
作为非限制性示例,三维存储器结构可以垂直地排列为多个二维存储器件级的堆叠。作为另一非限制性示例,三维存储器阵列可以排列为多个垂直柱(例如,基本垂直于衬底的主表面延伸的列,即在y方向上延伸的列),每个列具有多个存储器单元。垂直柱可以以二维配置排列,例如在x-y平面中,导致存储器单元的三维排列,存储器单元位于多个垂直堆叠的存储器平面上。在三维中的存储器元件的其他配置也可以构成三维存储器阵列。
通过非限制性示例的方式,在三维NAND存储器阵列中,存储器元件可以耦合在一起以形成横穿多个水平存储器件级的垂直NAND串。可以设想其他三维配置,其中一些NAND串在单个存储器级中包含存储器元件,并且其它串包含跨越多个存储器级的存储器元件。也可以在NOR配置和ReRAM配置中设计三维存储器阵列。
本领域普通技术人员将认识到,该技术不限于单个特定的存储器结构,而是在本文所述的和如本领域普通技术人员所理解到的技术的精神和范围内覆盖许多相关的存储器结构。
图3A是描绘用于编程图2的控制器214中的一个或多个处理器的软件模块的框图。图3A描绘存储在ROM 214a中的读取模块300、编程模块302、和擦除模块304。这些软件模块也可以存储在RAM或存储器裸芯202中。读取模块300包括编程(多个)处理器214c以执行读取操作的软件。编程模块302包括编程(多个)处理器214c以执行编程操作(包括编程的验证)的软件。擦除模块304包括编程(多个)处理器214c以执行擦除操作的软件。基于软件,控制器214命令存储器裸芯202执行存储器操作。
图3B是描绘用于编程图2的状态机222的软件模块的框图(或存储器裸芯202上的其他处理器)。图3B描绘了存储在代码和参数存储器228中的读取模块310、编程模块312、和擦除模块314。这些软件模块也可以存储在图2的RAM或存储器结构204中。读取模块310包括对状态机222编程以执行读取操作的的软件。编程模块302包括编程状态机222以执行编程操作(包括编程的验证)的软件。擦除模块304包括对状态机222编程以执行擦除操作的软件。或者,状态机222(其是电子电路)可以利用硬件完全实现,使得不需要软件来执行这些功能。
图4A是解释存储器结构204的一个示例性组织的框图,其被分为两个平面402和404。然后将每个平面分成M个块。在一个示例中,每个平面具有大约2000个块。然而,也可以使用不同数量的块和平面。
图4B-图4E描绘示例3D的NAND结构。图4B是描绘来自存储器结构204的一个块的一部分的顶视图的框图。图4B中所描绘的块的部分对应于图4A的块2中的部分406。图4B中所描述的块沿箭头408的方向以及沿箭头410的方向延伸。在一个实施例中,存储器阵列将具有48层。其他实施例具有小于或大于48层。然而,图4B仅显示顶层。
图4B描绘代表垂直柱的多个圆。垂直柱中的每一个包括多个选择晶体管和多个存储器单元。在一个实施例中,每个垂直柱实现NAND串。以下提供垂直柱的更多细节。因为在图4B中所描绘的块沿箭头408的方向并且沿箭头410的方向延伸,所以该块包括比图4B所描绘的更多的垂直柱。
图4B也描绘了位线412的集合。图4B示出二十四个位线,因为仅描绘了块的一部分。在其他实施例中,超过二十四个位线连接到块的垂直柱。代表垂直柱的圆中的每一个都具有“x”以指示它连接到一个位线。
图4B中所描述的块包括局部互连414、416、418、420和422的集合,其将各个层连接到垂直柱下方的源极线。局部互连414、416、418、420和422也服务于将块的每一层分成四个区域。例如,图4B中所描绘的顶层被划分成区域424、426、428和430。
在实现存储器单元的块的层中,四个区域被称为由局部互连分开的字线指。在一个实施例中,在块的共同级上的字线指在块的结尾连接在一起以形成单个字线。在另一实施例中,在相同级上的字线指不连接在一起。
在一个示例实施方式中,位线仅连接到在区域424、426、428和430中的每一个中的一个垂直柱。在该实施方式中,每个块具有十六行的有效列,并且每个位线连接到在每个块中的四行。在一个实施例中,所有连接到共同位线的四行连接到相同字线(经由连接在一起的相同级上的不同字线指)。因此,***使用源级选择线和漏极选择线来选择要进行存储器操作(编程、验证、读取和/或擦除)的四个中的一个(或另一子集)。
即使图4B示出在块中具有四行垂直柱、四个区域和十六行垂直柱的每个区域,这些确切的数字是示例实施方式。其他实施例可以每个块包括更多或更少的区域、每个区域包括更多或更少行的垂直柱、以及每个块包括更多或更少行的垂直柱。
图4B也示出交错的垂直柱。在其他实施例中,可以使用不同的交错模式。在一些实施例中,垂直柱不交错。
图4C描绘三维存储器结构204的实施例的一部分,该三维存储器结构204显示了沿着图4B的线AA的横剖面视图。该横剖面视图穿过垂直柱432和434以及区域426(见图4B)。图4C的结构包括用于连接到数据存储器单元的两个漏极选择层(SGD1和SGD1)、两个源极选择层(SGS1和SGS2)、四个虚拟字线层(DWLL1a、DWLL1b、DWLL2a和DWLL2b)、和三十二个字线层(WLL0-WLL31)。其他实施例可以实现多于或少于两个漏极选择层、多于或少于两个源极选择层、多于或少于四个虚拟字线层、以及多于或少于三十二个字线层。
垂直柱432和434被描绘为突出穿过漏极选择层、源极选择层、虚拟字线层和字线层。在一个实施例中,垂直柱432和434中的每一个包括NAND串。垂直柱432和434以及下面列出的层被部署在衬底102、衬底102上的绝缘膜436、和绝缘膜436上的源极线SL之上。垂直柱432经由连接器440连接到位线438。局部互连416和418也被描绘。
为了便于参考,漏极选择层(SGD1和SGD1)、源极选择层(SGS1和SGS2)、虚拟字线层(DWLL1a、DWLL1b、DWLL2a和DWLL2b)、和字线层(WLL0-WLL31)被统称为导电层。在一个实施例中,导电层由TiN和钨的组合制成。在其他实施例中,可以使用其它材料来形成导电层,诸如掺杂多晶硅、诸如钨的金属或金属硅化物。在一些实施例中,可以由不同的材料形成不同的导电层。
在导电层之间是电介质层DL0-DL19。例如,电介质层DL10在字线层WLL26之上并且在字线层WLL27之下。在一个实施例中,电介质层由SiO2制成。在其它实施例中,可以使用其它电介质材料来形成电介质层。
字线层WLL0-WLL31连接到存储器单元(也称为数据存储器单元)。虚拟字线层DWLL1a、DWLL1b、DWLL2a和DWLL2b连接到虚拟存储器单元。也称为非数据存储器单元的虚拟存储器单元不存储用户数据,而数据存储器单元有资格存储用户数据。因此,可以对数据存储器单元编程。漏极选择层SGD1和SGD1用于将NAND串从位线电连接和断开。源选择层SGS1和SGS2用于将NAND串从源极线SL电连接和断开。
图4D描绘用于图4C部分描绘的块的导电层(SGD1、SGD1、SGS1、SGS2、DWLL1a、DWLL1b、DWLL2a、DWLL2b和WLL0-WLL31)的透视图。如上文关于图4B所提及的,局域互连414、416、418、420和422将每个导电层分成四个区域。例如,漏极选择栅层SGD1(顶层)被分成区域424、426、428和430。类似地,字线层WLL31被分成区域442、444、446和448。对于字线层(WLL0-WLL31),这些区域被称为字线指;例如,字线层WLL31被分成字线指442、444、446和448。
图4E描绘包括垂直柱432的一部分的图4C的区域450的横剖面视图。在一个实施例中,垂直柱是圆形的并且包括四层。然而,在其他实施例中,可以包括多于或少于四层,并且可以使用其他形状。在一个实施例中,垂直柱432包括由诸如SiO2的电介质制成的内芯层452。也可以使用其他材料。环绕的内芯452是垂直多晶硅沟道454。也可以使用除多晶硅以外的材料。注意,垂直多晶硅沟道454连接到位线。环绕的垂直多晶硅沟道454是隧道电介质456。在一个实施例中,隧道电介质456具有氧化物–氮化物-氧化物(oxide-nitride-oxide,ONO)结构。环绕的隧道电介质456是电荷捕获层458,诸如(例如)特别配制的增加阱密度的氮化硅。
图4E描绘电介质层DLL11、DLL12、DLL13、DLL14和DLL15,以及字线层WLL27、WLL28、WLL29、WLL30和WLL31。字线层中每一个包括由氧化铝层462环绕的字线区域460,所述氧化铝层462由阻塞氧化物(SiO2)层464环绕。字线层与垂直柱的物理相互作用形成存储器单元。因此,在一个实施例中,存储器单元包括垂直多晶硅沟道454、隧道电介质456、电荷俘获层458、阻挡氧化物层464、氧化铝层462和字线区域460。
例如,字线层WLL31和垂直柱432的一部分包括存储器单元MCI。字线层WLL30和垂直柱432的一部分包括存储器单元MC2。字线层WLL29和垂直柱432的一部分包括存储器单元MC3。字线层WLL28和垂直柱432的一部分包括存储器单元MC4。字线层WLL27和垂直柱432的一部分包括存储器单元MC5。在其他架构中,存储器单元可以具有不同的结构;然而,存储器单元将仍是储存器单元。
当存储器单元被编程时,电子被存储在与存储器单元相关联的电荷俘获层458的一部分中。响应于字线区域460上的适当电压,这些电子从垂直多晶硅沟道454通过隧道层458被吸入电荷俘获层458中。存储器单元的阈值电压(Vth)与存储的电荷量成比例地增加。在擦除操作期间,电子返回到通道或空穴,通道或空穴与电子重新组合。
在实施例中,通过将通道升高到擦除电压Vera(例如,20-24伏特)足够长的时间并将源极和位线浮置时的所选择的块的字线接地来擦除存储器单元。在未被选择要被擦除的块中,字线浮置。由于电容耦合,未被选择的字线、位线、选择线、和公共源极线也被提高到擦除电压Vera的相当一部分,从而阻止对未被选择被擦除的块的擦除。
图5是描绘感测放大器电路500的示意图。每个感测块SB1、SB2、…、SBp(图2)包括多个感测放大器电路。如下所述,感测放大器电路500将电容器(或其他电荷储存器件)预充电到预充电量,通过存储器单元对电容器进行选通时间放电,并在选通时间之后感测电容器的电压。感测电压指示存储器单元是否传导正被感测的电流,正被感测的电流指示存储器单元的阈值电压是否大于或小于被测试的阈值电压(对应于控制栅极电压)。
如果存储器单元的阈值电压大于被测试的阈值电压,则在验证操作期间,存储器单元将适当地基于本文所述的过程完成编程。感测放大器电路500包括连接到位线的晶体管502。晶体管502在其栅极接收信号BLC,并且其被作为电压钳使用。栅极电压BLC被偏置在等于期望的位线电压加上晶体管502的阈值电压的恒定电压。因此,晶体管502的功能是在感测操作期间(在读取或验证期间)保持恒定的位线电压,即使通过位线的电流发生改变。
晶体管502连接到晶体管504和506。晶体管504在标记为SEN的节点处连接到电容器508。晶体管504的目的是将电容器508连接到位线并将电容器508从位线断开,使得电容器508与位线选择性地通信。换句话说,晶体管504调节选通时间。也就是说,当晶体管504导通时,电容器508可以通过位线放电,并且当晶体管504截止时,电容器508不能通过位线放电。
SEN节点还连接到晶体管510和晶体管512。晶体管510连接到晶体管506、514和516。晶体管516也连接到晶体管518。晶体管516和518是PMOS晶体管,然而感测放大器电路500的其它晶体管是NMOS晶体管。晶体管510、516和518提供到电容器508的预充电路径。电压(例如Vdd或其他电压)被施加到晶体管518的源极。通过适当地偏置晶体管510、516和518,施加到晶体管518的源极的电压可以用于对电容器508预充电。在预充电之后,电容器508可以经由晶体管504(假定晶体管502导通)通过位线放电。
反相器530和532形成锁存电路。反相器532的输出连接到反相器530的输入,并且反相器530的输出连接到反相器532以及晶体管518和520的输入。反相器532的输入将接收Vdd并且两个反相器530,532将充当锁存器来存储Vdd。反相器532的输入也可以连接到另一值。晶体管514和520提供用于将由反相器530和532存储的数据传达到晶体管512的路径。晶体管520在其栅极处接收信号FCO。晶体管514在其栅极处接收信号STRO。通过升高或降低FCO和STRO,可以提供或切断在反相器530、532和晶体管(感测开关)512之间的路径。晶体管512的栅极在节点SEN连接到电容器508、晶体管504和晶体管510。电容器508的另一端连接到信号CLK。
如上所述,电容器508经由晶体管510、516和518被预充电。这将使SEN节点处的电压升高到预充电电压电平(Vpre)。当晶体管504导通时,如果存储器单元的阈值电压低于正被测试的电压电平,则电容器508可以通过位线和所选择的存储器单元放电。如果电容器508能够放电,则在电容器(在SEN节点处)处的电压将减小。
在SEN节点处的预充电电压(Vpre)大于晶体管512的阈值电压。因此,在选通时间之前,晶体管512导通(导电)。因为在选通时间期间晶体管512导通,因此晶体管514应截止。如果在选通时间期间电容器不放电,则SEN节点处的电压将保持在晶体管512的阈值电压之上,并且当STRO导通晶体管514时,在反相器530、532的电荷可以被放电到CLK信号中。
如果电容器在选通时间期间充分放电,则SEN节点处的电压将降低到晶体管512的阈值电压之下,从而截止晶体管512并防止存储在反相器530,532中的数据(例如,Vdd)通过CLK放电。因此,测试反相器530、532是保持充电还是放电将指示验证过程的结果。在一个实施例中,可以通过导通晶体管534栅极信号NCO经由晶体管534(数据输出),在节点A处读取结果。
电容器508的预充电电平(以及因此在节点SEN处的预充电电压)被通过晶体管510的电流限制。通过晶体管510的电流被栅极电压H00限制。同样地,节点SEN处的预充电电压被小于晶体管510的阈值电压的电压H00限制。利用这种排列,***可以通过调节H00来调节节点SEN处的预充电电压。在预充电时,H00处的更大电压导致SEN节点处的更大电压。在预充电时,H00处的更低电压导致SEN节点处的更低电压。
当***执行读取或验证操作(两者都是感测操作)时,施加到单元的控制栅极的电压可能导致单元的通道(连接到位线)导电。如果发生这种情况,电容器通过通道放电,在放电时降低电压。
图6是描述图5的各种信号的行为的时序图。信号BLC处于Vbl+Vsrc+Vth,其中Vbl是位线的电压,Vsrc是源极线的电压,Vth是晶体管502的阈值电压。信号FLA在t0处以Vss开始,在t6达到Vdd。当信号FLA处于Vss时,预充电路径由晶体管510调节。
在t0时,H00的电压从地面升高到预充电水平。在H00处的电压升高导通晶体管510并且打开预充电路径。设置在H00处电压的值。图6显示H00到达Vhoo。信号H00将停留在预充电电压(Vhoo),直到时间t1。当H00为高电平时,晶体管510导通,电容器512将在t0和t1之间预充电,如SEN处的电压所描绘。在时间t1,H00降为Vss,并且预充电完成。
信号X00用于允许电容器512与位线通信,使得电容器可以通过位线和选择的存储器单元放电。在时间t3,X00升高到Vblc,其中Vblc是信号BLC的电压(如上所述)。在时间t4,X00处的电压降低到Vss。在被称为选通时间的时间t3和t4之间,电容器512将与位线通信,以允许其通过位线和所选存储器单元(取决于所选择的存储器单元的阈值电压)放电。信号CLK在时间t2升高到Vblc,并且在时间t5降低到Vss,以防止电路中的任何冲突状况,并且允许电容器512的适当放电。
如上所述,因为H00在t0和t1之间升高,电容器512(和SEN节点)将在t0和t1之间充电(预充电)。这在图6中利用从Vss充电到Vpre的SEN节点描绘。用于Vpre的实线代表响应于施加到晶体管506的栅极的Vh00的节点SEN(和电容器512)的示例预充电。
当X00在t3升高时,电容器512可以最初对位线预充电,然后通过位线放电(如果阈值电压处于适当的电平)。如图6所描绘的在t3和t4之间,如果存储器单元因为存储器单元的阈值电压小于或等于施加到其控制栅极的电压而导通(导电),则SEN节点处的电压将从Vpre消散到Vpost_con。如果用于正被测试的存储器单元的阈值电压高于施加到其控制栅极的电压,则电容器508将不会放电,并且电压将保持在Vpre。在t3和t4之间的时段是选通时间,并且可以如上所述被调整。
图6显示信号FCO在t7升高到Vdd并在t9下降到Vss。信号STRO在t8升高到Vdd,在t9下降。在时间t8和t9之间,在反相器530、532和晶体管512之间存在路径。如果节点SEN处的电压大于晶体管512的阈值电压,则将存在从反相器530、532到CLK的路径并且在反相器530、532的数据将通过信号CLK和通过晶体管512消散。
如果节点SEN处的电压低于晶体管512的阈值电压(例如,如果电容器放电),则晶体管512将截止,并且由反相器530、532存储的电压将不会消散到CLK中。图6示出在Vdd处的节点A处的电压电平。如果电容器的电压不消散(例如,由于因为所选择的存储器单元的阈值电压大于被测试电压而流过不足的电流),晶体管512将保持导通,并且节点A处的电压将消散到Vss(如虚线所描绘)
如果电容器的电压确实消散(例如,由于因为所选择的存储器单元的阈值电压低于被测试电压而流过充分电流),则晶体管512将截止,并且节点A处的电压将保持在Vdd(如实线所描绘)。通过将Vdd施加于信号NCO,经由晶体管534将节点A的输出提供到数据输出信号。
图7是描述根据图6的时序图执行的单个选通感测操作的流程图。在步骤702中,将适当的验证参考电压(例如,Vv、Vv1、Vv2、Vv3、Vv4、Vv5、Vv6或Vv7—见图8A)施加于所选择的字线。所选择的字线连接到被编程和验证的存储器单元。连接到被编程和验证的存储器单元的位线被充电到预定的预充电电平。
在步骤704中,所有SEN节点都被预充电。在步骤706中,允许位线放电,例如通过对电容器508(见图6的t5-t6)放电。在被称为“选通时间”或“积分时间”的预定时间段之后,如上所述对电容器508(或SEN节点)的电压采样,以查看在步骤708中的各自的存储器单元是否导电。如上所述,对连接到相同字线和不同位线的数千个存储器单元同时执行验证过程。
在成功的编程过程(通过验证)的结尾,适当的,存储器单元的阈值电压应该在用于编程的存储器单元的阈值电压的一个或多个分布内,或者在用于擦除的存储器单元的阈值电压的分布内。图8A示出了当每个存储器单元存储四位数据时用于存储器单元阵列的示例阈值电压分布。然而,其他实施例可以对每个存储器单元(例如,诸如每个存储器单元的一个、两个、三个、或五个位的数据)使用其他数据容量。
图8A示出了十六个阈值电压分布(对应于十六个数据状态)。第一阈值电压分布(数据状态)S0代表擦除的存储器单元。其他十五个阈值电压分布(数据状态)S1-S15代表被编程的存储器单元。每个阈值电压分布(数据状态)对应于用于该数据位的集合的预定值。
被编程到存储器单元中的数据与存储器单元的阈值电压电平之间的具体关系取决于为单元采用的数据编码方案。在一个实施例中,使用格雷码分配将数据值分配到阈值电压范围,使得如果浮栅的阈值电压错误地转移到其相邻的物理状态,则仅影响一个位。注意,状态N-1是状态N的相邻更低数据状态。例如,状态7是状态8的相邻更低数据状态。
图8A也示出用于从存储器单元读取数据的十五个读取参考电压Vr1、Vr2、Vr3、Vr4、Vr5、Vr6、Vr7、Vr8、Vr9、Vr10、Vr11、Vr12、Vr13、Vr14和Vr15。通过测试给定存储器单元的阈值电压是高于还是低于十五个读取参考电压,***可以确定存储器单元所处的数据状态(即S0、S1、S2、S3、...)。
图8A也示出十五个验证参考电压Vv1、Vv2、Vv3、Vv4、Vv5、Vv6、Vv7、Vv8、Vv9、Vv10、Vv11、Vv2、Vv13、Vv14和Vv15。当将存储器单元编程到数据状态Si,***将测试这些存储器单元是否具有大于或等于Vvi的阈值电压。例如,当将存储器单元编程到数据状态S1时,***将测试这些存储器单元是否具有大于或等于Vv1的阈值电压。当将存储器单元编程到数据状态S2时,***将测试存储器单元是否具有大于或等于Vv2的阈值电压,依此类推。
在一个实施例中,被称为全序列编程的存储器单元可以从擦除的数据状态S0直接被编程到编程数据状态S1-S15的任一个。例如,要被编程的存储器单元的总体可以首先被擦除,使得总体中的所有存储器单元都处于擦除的数据状态S0。然后,使用编程过程将存储器单元直接编程到数据状态S1、S2、S3、S4、S5、S6、S7、S8、S9、S10、S1、S12、S13、S14和/或S15。
例如,当一些存储器单元从数据状态S0被编程到数据状态S1时,其它存储器单元正在从数据状态S0被编程到数据状态S2和/或从数据状态S0被编程到数据状态S3等等。图8A的箭头代表全序列编程。
图8B示出了对应于可能部分重叠的数据状态S0-S15的阈值电压分布的另一实施例,因为误差校正可以处理一定百分比的错误的存储器单元。由于绘图的尺寸,对数据状态的引用已被截断,使得使用0而不是S0、使用1而不是S1、使用2而不是S2、依此类推。
图9A-图9C描述了将数据编程到存储四位数据的存储器单元的三阶段编程过程。在编程之前,块的所有的存储器单元将被擦除到擦除的阈值电压分布。例如,图9A示出以擦除的阈值电压分布E(以虚线示出)开始的存储器单元的块。在一些实施例中,擦除的阈值电压E低于零伏特。在其他实施例中,擦除的阈值电压分布E高于零伏特,或部分高于零伏特。
在该实施例中,编程过程包括三个阶段。在编程的第一阶段,其目标(由于要被存储在那些存储器单元中的数据)为数据状态S4、S5、S6或S7的存储器单元被编程到中间状态IM0。其目标是数据状态S8、S9、S10或S11的存储器单元被编程到中间状态IM1。其目标为数据状态S12、S13、S14或S15的存储器单元被编程到中间状态IM2。其目标为数据状态S0、S1、S2或S3的存储器单元保持在擦除的阈值电压分布E中。第一阶段由图9A图解地描绘。
在编程过程的第二阶段期间,在擦除的阈值电压分布E中的存储器单元被编程到它们的目标数据状态。例如,要被编程到数据状态S3的存储器单元从擦除的阈值电压分布E被编程到数据状态S3,要被编程到数据状态S2的存储器单元从擦除的阈值电压分布E被编程到数据状态S2,要被编程到数据状态S1的存储器单元从擦除的阈值电压分布E被编程到数据状态S1,并且在编程过程的第二阶段期间,将要在数据状态S0中的存储器单元不被编程。因此,擦除阈值电压分布E成为数据状态S0。
另外,在第二阶段期间,将存储器单元从中间状态IM0编程到各种数据状态S4-S7。例如,要被编程到数据状态S7的存储器单元从中间状态IM0被编程到数据状态S7,目标是在数据状态S6中的存储器单元从中间状态IM0被编程到数据状态S6,要被编程到数据状态S5的存储器单元从中间状态IM0被编程到数据状态S5,并且要被编程到数据状态S4的存储器单元从中间状态IM0被编程到数据状态S4。
存储器单元也从中间状态IM1被编程到各种数据状态S8-S11。例如,要被编程到数据状态S11的存储器单元从中间状态IM1被编程到数据状态S11,目标是在数据状态S10中的存储器单元从中间状态IM1被编程到数据状态S10,要被编程到数据状态S9的存储器单元从中间状态IM1被编程到数据状态S9,并且要被编程到数据状态S8的存储器单元从中间状态IM1被编程到数据状态S8。
存储器单元也从中间状态IM2被编程到各种数据状态S12-S15。例如,要被编程到数据状态S15的存储器单元从中间状态IM2被编程到数据状态S15,目标是在数据状态S14中的存储器单元从中间状态IM2被编程到数据状态S14,要被编程到数据状态S13的存储器单元从中间状态IM2被编程到数据状态S13,并且要被编程到数据状态S12的存储器单元从中间状态IM2被编程到数据状态S12。编程的第二阶段在图9B中示出。
从图9B可以看出,在编程的第二阶段结束时,数据状态S1–S15与相邻数据状态重叠。例如,数据状态S1与数据状态S2重叠,数据状态S2与数据状态S1和S3重叠,数据状态S3与数据状态S2和S4重叠,数据状态S4与数据状态S3和S5重叠,数据状态S5与数据状态S4和S6,数据状态S6与数据状态S5和S7重叠,等等。在一些实施例中,数据状态的全部或一些不重叠。
在编程的第三阶段中,数据状态S1–S15的每一个被紧固,使得它们不再与相邻状态重叠。这由图9C图解地描绘。在一些实施例中,数据状态S0比数据状态S1-S15更宽。
图10是描述用于将连接到公共字线的存储器单元编程到一个或多个目标(例如,数据状态或阈值电压范围)的过程的一个实施例的流程图。图10的过程可以执行一次或多次以将数据编程到存储器单元的集合。例如,图10的过程可用于在图8A的全序列编程中将存储器单元从S0编程到S1-S15中的任一个。图10的过程可用于为图9A-图9C的三个阶段中的任一个编程存储器单元。
当对诸如NAND闪速存储器件的闪速存储器件进行编程时,通常将程序电压Vpgm施加到存储器单元的字线并且位线接地。来自通道的电子注入浮栅。当电子在浮栅中积累时,浮栅变成带负电的,并且存储器单元的阈值电压升高,使得存储器单元处于编程状态。
通常,在编程操作期间被施加到控制栅极的编程电压作为一系列编程脉冲被应用。编程脉冲之间是用于执行验证的验证脉冲的集合。在许多实施方式中,程序脉冲的幅度随着每个连续脉冲以预定步长而增加。
在图10的步骤1000中,编程电压Vpgm被初始化到起始幅度(例如,~12-16V或另一适当电平),并且由状态机222(图2)维护的程序计数器PC被初始化为1。在步骤1002中,将程序信号Vpgm的程序脉冲施加到所选择的字线(被选择用于编程的字线)。在一个实施例中,同时被编程的存储器单元组都被连接到相同的字线(所选字线)。未被选择的字线接收一个或多个辅助电压(例如,~7-11伏特)以执行本领域已知的提升方案。
在实施例中,如果要对存储器单元编程,则对应的位线接地。另一方面,如果存储器单元要保持在其当前阈值电压,则对应的位线被连接到Vdd(例如,2.2V)以禁止编程。即使在其字线上经受编程脉冲,也禁止耦合到位线的单元进一步编程。
在步骤1002中,将编程脉冲同时施加到被连接到所选择的字线的所有存储器单元,使得被连接到所选择的字线的所有存储器单元被同时编程。也就是说,它们在同一时间或在重叠时间期间被编程(两者都被认为是同时的)。以这种方式,被连接到所选择的字线的所有存储器单元将同时具有其阈值电压改变,除非它们已被禁止编程。
在步骤1004中,使用适当的目标级的集合来验证适当的存储器单元以执行一个或多个验证操作。在一个实施例中,通过应用被选择用于编程的存储器单元的阈值电压是否已经达到适当的验证参考电压(例如,Vv1、Vv2、Vv3、Vv4、Vv5、Vv6和Vv7)的测试来执行验证过程。
在步骤1006中,进行确定所有存储器单元是否已经达到其目标阈值电压(通过)。如果是这样,编程过程是完整和成功的,因为所有被选择的存储器单元被编程和验证到其目标状态。在步骤1008中报告“通过”的状态。如果在1006中确定并非所有的存储器单元都已经达到其目标阈值电压(失败),则编程过程继续到步骤1010。
在步骤1010中,***对尚未达到其各自的目标阈值电压分布的存储器单元的数量计数。也就是说,***对已失败验证过程的存储器单元的数量计数。这种计数可以由状态机、控制器、或其他逻辑完成。在一个实施方式中,感测块的每一个将存储它们各自的单元的状态(通过/失败)。在一个实施例中,存在一个总计数,其反映当前正在被编程的存储器单元的总数,其在最后验证步骤中失败。在另一个实施例中,为每一个数据状态保留单独的计数。
在步骤1012中,确定来自步骤1010的计数是否小于或等于预定极限。在一个实施例中,预定极限是在存储器单元的页的读取过程期间可以由ECC校正的位数。如果失败单元的数量小于或等于预定极限,则编程过程可以停止,并且在步骤1008中报告“通过”的状态。在这种情况下,足够的存储器单元被正确编程,使得少量剩余的尚未被完全编程的存储器单元在读取过程期间可以使用ECC被校正。在一些实施例中,步骤1010将为每个扇区、每个目标数据状态或其他单元对失败单元的数量计数,并且在步骤1012中,这些计数将单独或统一地与阈值进行比较。
在另一实施例中,预定极限可以小于在读取过程期间由ECC校正的位数,以考虑到将来的错误。当编程少于页的所有存储器单元,或者对仅一个数据状态(或少于所有状态)比较计数,则预定极限可以是对于存储器单元的页在读取过程期间可以由ECC校正的位数的一部分(成比例或不成比例)。在一些实施例中,极限不是预定的。相反,它会基于已经为页计数的错误数、执行的编程擦除周期数或其他标准而改变。
如果失败存储器单元的数量不小于预定极限,则编程过程在步骤1014继续,并且针对程序限制值(program limit value,PL)检查程序计数器PC。程序极限值的示例包括20和30;然而,可以使用其他值。如果程序计数器PC不小于程序极限值PL,则程序过程被认为已经失败,并且在步骤1018中报告失败的状态。如果程序计数器PC小于程序限制值PL,则该过程在步骤1016继续,在此期间程序计数器PC增加1,并将程序电压Vpgm加大到下一个幅度。
例如,下一个脉冲将具有以步长(例如0.1-0.4伏特的步长)大于前一个脉冲的幅度。在步骤1016之后,该过程循环回到步骤1002,并且另一编程脉冲被施加到所选择的字线。
在上述实施例中,使用两种不同的位线偏置:如果对应的存储器被禁止编程,则使用第一位线偏置(例如,Vdd),以及如果对对应的存储器单元编程,则使用第二位线偏置(例如,0V)。因此,在这种位线偏置方案中,对于正在编程的所有存储器单元,无论存储器单元的目标状态如何,都使用单位线偏置(例如,0V)。
在另一实施例中,使用两个以上的位线偏置:如果对应的存储器单元被禁止编程则使用的于第一位线偏置(例如,Vdd),以及用于被编程的相应存储器单元的多个编程位线偏置。特别地,如果要对存储器单元进行编程,则基于被编程的存储器单元的目标数据状态来偏置对应的位线。
图11描述了使用用于相应存储器单元的同时编程的多个编程位线偏置的示例编程过程。在所示示例中,描述了用于将数据编程到存储四位数据的存储器单元中的编程过程。在编程之前,块的所有存储器单元被擦除到擦除的阈值电压分布。例如,一块存储器单元以擦除的阈值电压分布E(用虚线描绘)开始。在一些实施例中,擦除的阈值电压E低于零伏特。在其他实施例中,擦除的阈值电压分布E高于零伏特,或部分高于零伏特。
编程过程包括两个阶段。在第一编程阶段期间,其目标(由于要被存储在那些存储器单元中的数据)是数据状态S4、S5、S6或S7的那些存储器单元被编程到中间状态IM0。其目标是数据状态S8、S9、S10或S11的那些存储器单元被编程到中间状态IM1。其目标是数据状态S12、S13、S14或S15的那些存储器单元被编程到中间状态IM2。其目标是数据状态S0、S1、S2或S3的那些存储器单元保持在擦除的阈值电压分布E。
在第二编程阶段期间,存储器单元被同时从中间状态或擦除状态编程到目标数据状态,并且对应的位线基于被编程的存储器单元的目标数据状态被偏置,如表1所示:
因此,在该示例中,四个编程位线偏置(Vbl1、Vbl2、Vbl3和Vbl4)用于被编程的存储四位数据的相应存储器单元。
再次参考图11,存储器单元利用基于目标数据状态被偏置的对应的位线从中间状态IM2被编程到各种数据状态S12-S15。例如,要被编程到数据状态S15的存储器单元使用第一编程位线偏置Vbl1(例如,0V)从中间状态EVI2被编程到数据状态S15,目标是处于数据状态S14的存储器单元使用第二编程位线偏置Vbl2(例如,0.4V)从中间状态IM2被编程到数据状态S14,要被编程到数据状态S13的存储器单元使用第三编程位线偏置Vbl3(例如,0.8V)从中间状态IM2被编程到数据状态S13,并且要被编程到数据状态S12的存储器单元使用第四编程位线偏置Vbl4(例如,1.2V)从中间状态IM2被编程到数据状态S12。第一编程位线偏置Vbl1、第二编程位线偏置Vbl2、第三编程位线偏置Vbl3和第四编程位线偏置Vbl4可以具有除了上面列出的和图11示出的示例值以外的值。
存储器单元也可以利用基于目标数据状态被偏置的对应的位线从中间状态IM1到各种数据状态S8-S11同时被编程。例如,使用第一编程位线偏置Vbl1将要被编程到数据状态S11的存储器单元从中间状态IM1编程到数据状态S11,使用第二编程位线偏置Vbl2将目标是处于数据状态S10的存储器单元从中间状态IM1编程到数据状态S10,使用第三编程位线偏置Vbl3将要被编程到数据状态S9的存储器单元从中间状态IM1编程到数据状态S9,并且使用第四编程位线偏置Vbl4将要被编程到数据状态S8的存储器单元从中间状态IM1编程到数据状态S8。
存储器单元还利用基于目标数据状态被偏置的对应的位线,从中间状态IM0被同时编程到各种数据状态S4-S7。例如,要被编程到数据状态S7的存储器单元使用第一编程位线偏置Vbl1从中间状态IM0被编程到数据状态S7,目标是处于数据状态S6的存储器单元使用第二编程位线偏置Vbl2从中间状态IM0被编程到数据状态S6,使用第三编程位线偏置将要被编程到数据状态S5的存储器单元从中间状态IM0编程到数据状态S5,并且使用第四编程位线偏置Vbl4将要被编程到数据状态S4的存储器单元从中间程序状态IM0编程到数据状态S4。
存储器单元也使用基于目标数据状态被偏置的对应的位线被同时从擦除的阈值电压分布E编程到各种数据状态S1-S3。例如,要被编程到数据状态S3的存储器单元使用第一编程位线偏置Vbl1从擦除的阈值电压分布E被编程到数据状态S3,使用第二编程位线偏置Vbl2将要被编程到数据状态S2的存储器单元从擦除的阈值电压分布E编程到数据状态S2,使用第三编程位线偏置Vbl3将要被编程到数据状态S1的存储器单元从擦除阈值电压分布E编程到数据状态S1,并且要处于数据状态S0中的存储器单元在编程过程的第二阶段期间不被编程。因此,擦除阈值电压分布E成为数据状态S0。
从图11可以看出,在编程期间使用的位线偏置对应于中间状态分布与目标状态分布之间的电压差。也就是说,数据状态S15、S11、S7和S3具有与中间状态分布IM2、IM1、IM0和E的最大的电压差,并且使用第一编程位线偏置Vbl1被编程。类似地,数据状态S14、S10、S6和S2具有与中间状态分布IM2、IM1、IM0和E的第一更低电压差,并且使用第二编程位线偏置Vbl2被编程。类似地,数据状态S13、S9、S5和S1具有与中间状态分布IM2、IM1、IM0和E的第二更低电压差,并且使用第三编程位线偏置Vbl3被编程。最后,数据状态S12、S8和S4具有与中间状态分布IM2、IM1、IM0和E的第三更低电压差,并且使用第四编程位线偏置Vbl4被编程。
为了减少位线之间的耦合,偶数存储器单元应该与奇数存储器单元分开编程。
即使图11描述了用于将数据编程到存储四位数据的存储器单元中的两阶段编程过程,类似的多位线偏置技术可以用于将数据编程到存储多于或少于四位数据的存储器单元中。另外,虽然图11描述了使用四个编程位线偏置的编程过程,但是可以使用多于或少于四个编程位线偏置。另外,虽然图11描述了两阶段编程过程,类似的多位线偏置技术可用于使用两个以上阶段的编程过程。
在图11所描述的实施例中,使用五种不同的位线偏置:如果要禁止对应的存储器进行编程,则使用禁止位线偏置(例如,Vdd),以及用于使用基于被编程的存储器单元的目标数据状态的编程位线偏置被编程的对应的存储器单元的四个编程位线偏置。
图12是描绘基于被编程的存储器单元的目标数据状态提供禁止位线偏置和多个编程位线偏置的感测放大器电路1200的示意图。
感测放大器电路1200包括连接到位线和COM节点的晶体管1202。晶体管1202在其栅极处接收信号BLC,并且基于信号BLC的电压电平将位线与COM节点连接或断开。如果信号BLC为高电平(例如Vdd),则晶体管1202导通,位线充电到COM节点的电压电位。如果信号BLC为低电平(例如0V),则晶体管1202截止,位线浮置。
晶体管1202是在COM节点处连接到n沟道晶体管1204和1206的n沟道晶体管。晶体管1204在其栅极处接收信号BLY,并且基于信号BLY的电压电平将COM节点与COMY节点连接或断开。如果信号BLY为高电平,则晶体管1204导通,并且COM节点连接到COMY节点。如果信号BLY为低电平,则晶体管1204截止,COM节点从COMY节点断开。
晶体管1206在其栅极处接收信号XXL,并且基于信号XXL的电压电平将COM节点与SEN节点连接或断开。如果信号XXL为高电平,则晶体管1206导通,COM节点连接到SEN节点。如果信号XXL为低电平,晶体管1206截止,COM节点从SEN节点断开。
晶体管1204在COMY节点处被连接到p沟道晶体管1208和n沟道晶体管1210。晶体管1208在其栅极处接收信号OSP,并且通过在其栅极处接收信号INV的p沟道晶体管1212耦合到信号Vdd。晶体管1210在其栅极处接收信号GRS,并且在节点Vx处耦合到n沟道晶体管1214的源极端子,所述n沟道晶体管1214在其栅极处接收信号INV,并且其漏极端子耦合到信号SGND。
如果信号INV,OSP和XXL为低电平,并且信号BLY和BLC为高电平,则晶体管1202、1204、1208和1212导通,晶体管1206和1214截止,并且位线充电至抑制位线偏置Vdd(例如,2.2V)。可以使用Vdd的其他值。
如果信号INV、GRS、BLY和BLC为高电平,则信号XXL为低电平,并且信号SGND=Vss(例如,0V),晶体管1202、1204、1210和1214导通,晶体管1206和1212截止,并且位线充电到Vss,即第一编程位线偏置Vbl1。
晶体管1206在SEN节点处连接到n沟道晶体管1216、1218、1220和1222以及p沟道晶体管1224。晶体管1216具有耦合到SEN节点的漏极端子和耦合到Vss的栅极端子,并且是截止的。晶体管1218具有耦合到SEN节点的栅极端子和耦合到Vss的源极端子。晶体管1220具有耦合到晶体管122的源极端子的漏极端子、耦合到信号LSL的栅极端子、并且具有耦合到n沟道晶体管1226的漏极端子的源极端子。晶体管12264具有耦合到信号LBUS的栅极端子,并且具有耦合到Vss的源极端子。
晶体管1224具有耦合到Vdd的源极端子、耦合到SEN节点的栅极端子、以及耦合到p沟道晶体管1228的源极端子的漏极端子。晶体管1228具有耦合到信号VG1的栅极端子,以及耦合到n沟道晶体管1230的漏极端子的漏极端子。晶体管1230具有耦合到信号VG2的栅极端子,以及耦合到晶体管1218的漏极端子的源极端子。
晶体管1222具有耦合到信号VG3的栅极端子,以及耦合到p沟道晶体管1232的漏极端子的漏极端子。晶体管1232具有耦合到信号LBUS的栅极端子,以及耦合到Vdd的源极端子。
如果信号BLC、XXL、LSL、LBUS和VG1为高电平,并且信号BLY、VG2和VG3为低电平,则晶体管1202、1206、1220和1226导通,晶体管1204、122和1228截止,SEN节点连接到Vss,并且位线充电到Vss,即第一编程位线偏置Vbl1。
N沟道晶体管1234具有耦合到信号LBUS的漏极端子、耦合到信号BLCM的栅极端子、和在节点INV耦合到n沟道晶体管1236的栅极端子的源极端子。寄生电容器Cp耦合在节点INV和Vss之间,并且具有约10fF的值。晶体管1236具有耦合到晶体管1216的漏极端子的漏极端子和耦合到Vss的源极端子。
n沟道晶体管1238具有耦合到晶体管1228的漏极端子的漏极端子、耦合到Vss的栅极端子、和耦合到晶体管1222的源极端子的源极端子。晶体管1238是截止的。
如果LBUS为高,并且信号BLCM是至少高于节点INV的阈值电压,则节点INV是:
INV=BLCM-Vt (1)
其中Vt是晶体管1234的阈值电压。
在一个实施例中,信号BLCM可以具有以下值:V2=Vbl2+2Vt、V3=Vbl3+2Vt、以及V4=Vbl4+2Vt,其中Vbl2、Vbl3和Vbl4是第二编程位线偏置、第三编程位线偏置、和第四编程位线偏置(如上所述),并且Vt是晶体管1234的阈值电压。对于BLCM值V2、V3和V4的每一个,INV具有对应的值V2A=Vbl2+Vt、V3A=Vbl3+Vt、V4A=Vbl4+Vt。在一个实施例中,Vbl2=0.4V、Vbl3=0.8V和Vbl4=1.2V,虽然可以使用其他值。
如果信号BLC、BLY、OSP和GRS为高电平,信号XXL为低电平,并且信号SGND=Vdd,则晶体管1202、1204和1210导通,晶体管1206和1208截止。如果根据等式(1)设置信号INV,并且如果晶体管1214具有阈值电压Vt,则在节点Vx处的电压由下式给出:
Vx=INV-Vt=BLCM-2×Vt (2)
因此,电压和节点Vx可以具有以下值:Vbl2、Vbl3、和Vbl4,并且可以基于信号BLCM的值来被选择。因为晶体管1202、1204和1210导通,所以基于BLCM的值,位线充电到第二编程位线偏置Vbl2、第三编程位线偏置Vbl3、以及第四编程位线偏置Vbl4。
感测放大器1200也包括耦合到LBUS的数据锁存器ADL、BDL、CDL和DDL。数据锁存器ADL、BDL、CDL和DDL存储将要被编程到存储器单元中的数据。对于存储四位数据的存储器单元,使用四个数据锁存器,对于存储三位数据的存储器单元,使用三个数据锁存器,以此类推。基于存储在数据锁存器ADL、BDL、CDL和DDL中的数据来配置信号LBUS的值。
图13A-图13E是描述图12的各种信号的时序图。图13A描述用于在禁止位线偏置(例如,Vdd)处偏置位线的信号,图13B描述用于在第四编程位线偏置Vbl4(例如,1.2V)处偏置位线的信号,图13C描述了用于在第三编程位线偏置Vbl3(例如,0.8V)处偏置位线的信号,图13D描述用于在第二编程位线偏置Vbl2(例如,0.4V)处偏置位线的信号,并且13E描述在第一编程位线偏置Vbl1(例如,0V)处偏置位线的信号。
参考图12和图13A,在时间t0之前,SEN节点是浮置的,VG1处于Vdd(高电平),并且所有其他信号处于Vss(低电平)。从t0到t1,BLC和BLY变为高电平,INV、OSP和XXL为低电平,晶体管1202、1204、1208和1212导通,并且晶体管1206和1214截止。因此,位线通过晶体管1202、1204、1208和1212充电以禁止位线电压Vdd。从t2到t3,BLC和BLY变为低电平,截止晶体管1202和1204,浮置位线。同时,OSP变为高电平,截止晶体管1208。基于数据锁存器ADL、BDL、CDL和DDL中的数据值来控制LBUS。INV和LBUS保持低电平,保持晶体管1214和1226截止。因此,位线在该周期的剩余时间内保持浮置。
参考图12和图13B,在时间t0之前,SEN节点为浮置的,INV和VG1为Vdd(高电平),并且所有其他信号为Vss(低电平)。从t0到t1,BLC、BLY和GRS变为高电平,XXL为低电平,晶体管1202、1204、1210和1214导通,晶体管1206和1212截止,并且SGND=Vss。因此,位线通过晶体管1202、1204、1212和1214被拉到Vss。从t2到t3,BLC、BLY和GRS变为低电平,OSP和BLCM变为高电平,截止晶体管1202、1204、1208、1210和1214,并且导通晶体管1234,将INV拉到低电平。在t3,基于数据锁存器ADL、BDL、CDL和DDL中的数据值被控制的LBUS,以及LSL都变为高电平,导通晶体管1220和1226并且将SEN节点拉到Vss。从t3到t4,BLCM上升到V4。INV上升至V4A,并且然后在BLCM降低到INV之下时作为晶体管1234截止的结果而被浮置。从t7到t8,SGND上升到Vdd。在t8,LBUS变为低电平,截止晶体管1226,并且浮置SEN节点。从t8到t9,BLC、BLY和GRS变为高电平,导通晶体管1202、1204和1210。因此,位线通过晶体管1202、1204和1210充电到存在于节点Vx处的第四编程位线偏置Vbl4。在该周期的剩余时间内,位线在第四编程位线偏置Vbl4处保持驱动。
参考图12和图13C,在时间t0之前,SEN节点为浮置,INV和VG1为Vdd(高电平),并且所有其他信号为Vss(低电平)。从t0到t1,BLC、BLY和GRS变为高电平,XXL为低电平,晶体管1202、1204、1210和1214导通,晶体管1206和1212截止,并且SGND=Vss。因此,位线通过晶体管1202、1204、1212和1214被拉到Vss。从t2到t3,BLC、BLY和GRS变为低电平,并且OSP和BLCM变为高电平,截止晶体管1202、1204、1208、1210和1214,并且导通晶体管1234,将INV拉到低电平。在t3,LSL和VG3变为高电平。因为LBUS为低电平,所以晶体管1222和1232导通,并且SEN节点被拉到Vdd。在t5,基于数据锁存器ADL、BDL、CDL和DDL中的数据值被控制的LBUS变为高电平,截止晶体管1232并且导通晶体管1226。晶体管1220也导通,将SEN节点拉到Vss。从t5到t6,BLCM上升到V3。INV上升到V3A并且然后作为在BLCM降低到INV之下时晶体管1234截止的结果而被浮置。从t7到t8,SGND上升到Vdd。在t8,LBUS变为低电平,截止晶体管1226,并且浮置SEN节点。从t8到t9,BLC、BLY和GRS变为高电平,导通晶体管1202、1204和1210。因此,位线通过晶体管1202、1204和1210充电到存在于节点Vx处的第三编程位线偏置Vbl3。在该周期的剩余时间内,位线在第三编程位线偏置Vbl3处保持驱动。
参考图12和图13D,在时间t0之前,SEN节点为浮置,INV和VG1为Vdd(高电平),并且所有其他信号为Vss(低电平)。从t0到t1,BLC、BLY和GRS变为高电平,XXL为低电平,晶体管1202,1204,1210和1214导通,晶体管1206和1212截止,并且SGND=Vss。因此,位线通过晶体管1202、1204、1212和1214被拉到Vss。从t2到t3,BLC、BLY和GRS变为低电平,并且OSP和BLCM变为高电平,截止晶体管1202、1204、1208、1210和1214,并且导通晶体管1234,将INV拉到低电平。在t3,LSL和VG3变为高电平。因为LBUS为低电平,所以晶体管1222和1232导通,并且SEN节点被拉至Vdd。在t7,基于数据锁存器ADL、BDL、CDL和DDL中的数据值被控制的LBUS变为高电平,截止晶体管1232并且导通晶体管1226。晶体管1220也导通,将SEN节点拉到Vss。从t7到t8,BLCM上升到V2。INV上升到V2A,然后作为在BLCM下降到INV以下时晶体管1234截止的结果而被浮置。从t7到t8,SGND上升到Vdd。在t8,LBUS变为低电平,截止晶体管1226,并且浮置SEN节点。从t8到t9,BLC、BLY和GRS变为高电平,导通晶体管1202、1204和1210。因此,位线通过晶体管1202、1204和1210充电到存在于节点Vx处的第二编程位线偏置Vbl2。在该周期的剩余时间内,位线在第二编程位线偏置Vbl2处保持驱动。
参考图12和图13E,在时间t0之前,SEN节点为浮置,INV和VG1为Vdd(高电平),并且所有其他信号为Vss(低电平)。从t0到t1,BLC、BLY和GRS变为高电平,XXL为低电平,晶体管1202、1204、1210和1214导通,晶体管1206和1212截止,并且SGND=Vss。因此,位线通过晶体管1202、1204、1212和1214被拉到Vss。从t2到t3,BLC、BLY和GRS变为低电平,OSP和BLCM变为高电平,截止晶体管1202、1204、1208、1210和1214,并且导通晶体管1234,将INV拉到低电平。在t3,LSL和VG3变为高电平。因为LBUS为低电平,所以晶体管1222和1232导通,并且SEN节点被拉至Vdd。在t8,基于数据锁存器ADL、BDL、CDL和DDL中的数据值被控制的LBUS变为高电平,截止晶体管1232并且导通晶体管1226。晶体管1220也导通,将SEN节点拉至Vss。从t8到t9,BLC和XXL变为高电平,导通晶体管1220和1226。因此,位线通过晶体管1202、1206、1220和1226被拉到Vss,即第一编程位线偏置Vbl1。位线在该周期的剩余时间内保持拉到第一编程位线偏置Vbl1。
一个实施例包括用于对非易失性存储器编程的方法。该方法包括通过将存储器单元从擦除状态编程到多个中间数据状态,并且对于中间数据状态的每一个,同时将存储器单元编程到多个目标数据状态,来对用于偶数位线的存储器单元编程。该方法还包括通过将存储器单元从擦除状态编程到多个中间数据状态,并且对于中间数据状态的每一个,同时将存储器单元编程为多个目标数据状态,来对用于奇数位线的存储器单元编程。
一个实施例包括非易失性存储器,所述易失性存储器包括被配置为对存储器单元编程的控制器。控制器通过将存储器单元从擦除状态编程到多个中间数据状态,并且对于中间数据状态的每一个,同时将存储器单元编程到多个目标数据状态,来对用于偶数位线的存储器单元编程。控制器通过将存储器单元从擦除状态编程到多个中间数据状态,并且对于中间数据状态的每一个,同时将存储器单元编程到多个目标数据状态,来对用于奇数位线的存储器单元编程。
一个实施例包括用于非易失性存储器的感测放大器,该非易失性存储器包括多个存储器单元,每个存储器单元包括对应的位线。感测放大器包括被配置为基于被编程的相应存储器单元的目标数据状态来偏置每个位线的电路。
为了本文献的目的,应当注意,图中所描绘的各种特征的尺寸可能不一定按比例绘制。
为了本文献的目的,说明书中对“实施例”,“一个实施例”,“一些实施例”或“另一实施例”的引用可以用于描述不同的实施例或相同的实施例。
为了本文献的目的,连接可以是直接连接或间接连接(例如,经由一个或多个其他部分)。在一些情况下,当元件被称为连接或耦合到另一元件时,元件可以直接连接到另一元件或经由中间元件间接地连接到另一元件。当元件被称为直接连接到另一元件时,元件与另一元件之间没有中间元件。如果两个器件直接或间接连接,使得在它们之间可以通信电子信号,则两个器件是“在通信中”。
为了本文献的目的,术语“基于”可以被解读为“至少部分地基于”。
为了本文献的目的,在没有附加上下文的情况下,诸如“第一”对象、“第二”对象和“第三”对象的数字术语的使用可以不意味着对象的排序,而是可以为了识别目的而替代地被使用来识别不同的对象。
为了本文献的目的,术语对象的“集合”可以指对象的一个或多个的“集合”。
为了例示和描述的目的,提供了前述详细的描述。它不是意图穷举或限制所公开的精确形式。鉴于上述教导,许多修改和变化是可能的。选择所描述的实施例以便最好地解释所提出的技术的原理及其实际应用,从而使得本领域的其他技术人员可以在各种实施例中以及利用适用于所预期的特定用途的各种修改来最佳地使用它们。意图是由所附权利要求限定范围。
Claims (15)
1.一种用于对非易失性存储器编程的方法,所述方法包括:通过以下步骤对用于偶数位线的存储器单元编程:
将所述存储器单元从擦除状态编程到多个中间数据状态;并且
对于所述中间数据状态的每一个,同时将所述存储器单元编程到多个目标数据状态;并且
通过以下步骤对用于奇数位线的存储器单元编程:
将所述存储器单元从擦除状态编程到所述多个中间数据状态;并且
对于所述中间数据状态中的每一个,同时将存储器单元编程到所述多个目标数据状态。
2.如权利要求1所述的方法,其中:
所述存储器单元中的每一个耦合到对应的位线;并且
对于每个存储器单元,如果所述存储器单元要被禁止编程,则对应的位线偏置到第一位线偏置,并且如果所述存储器单元要被编程到最终状态,则对应的位线被偏置到多个编程位线偏置之一。
3.如权利要求2所述的方法,其中所述对应的位线基于正在被编程的存储器单元的目标数据状态被偏置。
4.如权利要求2-3中的任何一个所述的方法,其中所述编程位线偏置的数量等于可以存储在每个存储器单元中的数据状态的数量。
5.如权利要求2-4中的任何一个所述的方法,其中对应的位线偏置是基于中间状态分布和目标状态分布之间的电压差。
6.如权利要求2-5中的任何一个所述的方法,其中所述多个编程位线偏置包括四个编程位线偏置。
7.如前述任意一个权利要求所述的方法,其中所述非易失性存储器包括二维或三维非易失性存储器。
8.一种非易失性存储器,包括:
控制器,被配置为:
通过以下步骤对用于偶数位线的存储器单元编程:
将所述存储器单元从擦除状态编程到多个中间数据状态;并且
对于所述中间数据状态的每一个,同时将所述存储器单元编程到多个目标数据状态;并且
通过以下步骤对用于奇数位线的存储器单元编程:
将所述存储器单元从擦除状态编程到多个中间数据状态;并且
对于所述中间数据状态中的每一个,同时将所述存储器单元编程到多个目标数据状态。
9.如权利要求8所述的非易失性存储器,其中:
所述存储器单元中的每一个耦合到对应的位线;并且
所述非易失性存储器还包括耦合到所述控制器的感测放大器,所述感测放大器被配置为提供多个位线偏置。
10.如权利要求9所述的非易失性存储器,其中,对于每个存储器单元,如果所述存储器单元要被禁止编程,则所述感测放大器将所述对应的位线偏置到第一位线偏置,并且如果所述存储器单元要被编程到最终状态,则所述感测放大器将所述存储器单元偏置到多个编程位线偏置中的一个。
11.如权利要求10所述的非易失性存储器,其中所述感测放大器基于正在被编程的存储器单元的目标数据状态来偏置所述对应的位线。
12.如权利要求10-11中的任何一个所述的非易失性存储器,其中所述编程位线偏置的数量等于可以存储在每个存储器单元中的数据状态的数量。
13.如权利要求10-12中的任何一个所述的非易失性存储器,其中所述感测放大器基于中间状态分布和目标状态分布之间的电压差来偏置所述对应的位线。
14.如权利要求10-13中的任何一个所述的非易失性存储器,其中所述多个编程位线偏置包括四个编程位线偏置。
15.如权利要求8-14中的任何一个所述的非易失性存储器,其中所述非易失性存储器包括二维或三维非易失性存储器。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562167428P | 2015-05-28 | 2015-05-28 | |
US62/167,428 | 2015-05-28 | ||
US14/929,156 US9595317B2 (en) | 2015-05-28 | 2015-10-30 | Multi-state programming for non-volatile memory |
US14/929,156 | 2015-10-30 | ||
PCT/US2016/033704 WO2016191339A1 (en) | 2015-05-28 | 2016-05-23 | Multi-state programming for non-volatile memory |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107408410A true CN107408410A (zh) | 2017-11-28 |
CN107408410B CN107408410B (zh) | 2021-01-26 |
Family
ID=56098413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680013979.3A Active CN107408410B (zh) | 2015-05-28 | 2016-05-23 | 用于非易失性存储器的多状态编程 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9595317B2 (zh) |
JP (1) | JP2018513516A (zh) |
KR (1) | KR101904233B1 (zh) |
CN (1) | CN107408410B (zh) |
DE (1) | DE112016000654T5 (zh) |
WO (1) | WO2016191339A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10366739B2 (en) | 2017-06-20 | 2019-07-30 | Sandisk Technologies Llc | State dependent sense circuits and sense operations for storage devices |
US10366729B2 (en) | 2017-06-22 | 2019-07-30 | Sandisk Technologies Llc | Sense circuit with two-step clock signal for consecutive sensing |
US10037810B1 (en) | 2017-06-27 | 2018-07-31 | Sandisk Technologies Llc | Method and apparatus for coupling up a voltage-setting transistor for a control line in a programming operation |
US10510383B2 (en) | 2017-10-03 | 2019-12-17 | Sandisk Technologies Llc | State dependent sense circuits and pre-charge operations for storage devices |
US10438636B2 (en) * | 2017-12-07 | 2019-10-08 | Advanced Micro Devices, Inc. | Capacitive structure for memory write assist |
KR102509640B1 (ko) | 2018-06-15 | 2023-03-16 | 삼성전자주식회사 | 페이지 버퍼 및 이를 포함하는 메모리 장치 |
US11004484B2 (en) | 2018-06-15 | 2021-05-11 | Samsung Electronics Co., Ltd. | Page buffer and memory device including the same |
US10811109B2 (en) | 2018-12-27 | 2020-10-20 | Sandisk Technologies Llc | Multi-pass programming process for memory device which omits verify test in first program pass |
KR20200129239A (ko) | 2019-05-07 | 2020-11-18 | 삼성전자주식회사 | 페이지 버퍼, 이를 포함하는 메모리 장치 |
US11049578B1 (en) * | 2020-02-19 | 2021-06-29 | Sandisk Technologies Llc | Non-volatile memory with program verify skip |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100124124A1 (en) * | 2008-11-19 | 2010-05-20 | Ju Yeab Lee | Nonvolatile memory device and method of programming the same |
CN103081015A (zh) * | 2010-07-19 | 2013-05-01 | 桑迪士克技术有限公司 | 利用位线电压逐步增加来对非易失性存储器进行编程 |
CN105009218A (zh) * | 2012-07-11 | 2015-10-28 | 桑迪士克技术有限公司 | 用于收紧阈值电压宽度以避免编程干扰的编程方法 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6222762B1 (en) | 1992-01-14 | 2001-04-24 | Sandisk Corporation | Multi-state memory |
JP2000251485A (ja) * | 1999-02-26 | 2000-09-14 | Sony Corp | 不揮発性半導体記憶装置およびそのデータ書き込み方法 |
US6714457B1 (en) | 2001-09-19 | 2004-03-30 | Aplus Flash Technology, Inc. | Parallel channel programming scheme for MLC flash memory |
US7630237B2 (en) * | 2003-02-06 | 2009-12-08 | Sandisk Corporation | System and method for programming cells in non-volatile integrated memory devices |
US7237074B2 (en) | 2003-06-13 | 2007-06-26 | Sandisk Corporation | Tracking cells for a memory system |
JP4836548B2 (ja) * | 2005-11-11 | 2011-12-14 | 株式会社東芝 | 半導体集積回路装置 |
US7696035B2 (en) * | 2006-11-13 | 2010-04-13 | Sandisk Corporation | Method for fabricating non-volatile memory with boost structures |
US7619930B2 (en) * | 2007-02-20 | 2009-11-17 | Sandisk Corporation | Dynamic verify based on threshold voltage distribution |
CN102005244B (zh) * | 2007-02-20 | 2015-10-21 | 桑迪士克科技公司 | 非易失性存储的可变编程 |
US7599224B2 (en) * | 2007-07-03 | 2009-10-06 | Sandisk Corporation | Systems for coarse/fine program verification in non-volatile memory using different reference levels for improved sensing |
US8526230B2 (en) * | 2008-07-01 | 2013-09-03 | Lsi Corporation | Methods and apparatus for write-side intercell interference mitigation in flash memories |
WO2010039869A1 (en) * | 2008-09-30 | 2010-04-08 | Lsi Corporation | Methods and apparatus for soft data generation for memory devices using reference cells |
KR20100043935A (ko) * | 2008-10-21 | 2010-04-29 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 프로그램 방법 |
JP2010218623A (ja) * | 2009-03-17 | 2010-09-30 | Toshiba Corp | 不揮発性半導体記憶装置 |
KR101662277B1 (ko) * | 2010-05-12 | 2016-10-05 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 프로그램 방법 |
KR101772578B1 (ko) * | 2011-04-19 | 2017-08-30 | 삼성전자주식회사 | 불휘발성 메모리 장치의 프로그램 방법 |
US8582381B2 (en) * | 2012-02-23 | 2013-11-12 | SanDisk Technologies, Inc. | Temperature based compensation during verify operations for non-volatile storage |
KR101927212B1 (ko) * | 2012-05-09 | 2019-03-07 | 삼성전자주식회사 | 비휘발성 메모리 장치의 프로그래밍 방법 |
US9135989B2 (en) * | 2012-09-06 | 2015-09-15 | Sandisk Technologies Inc. | Write data preservation for non-volatile storage |
-
2015
- 2015-10-30 US US14/929,156 patent/US9595317B2/en active Active
-
2016
- 2016-05-23 DE DE112016000654.3T patent/DE112016000654T5/de active Pending
- 2016-05-23 JP JP2017545886A patent/JP2018513516A/ja active Pending
- 2016-05-23 KR KR1020177024859A patent/KR101904233B1/ko active IP Right Grant
- 2016-05-23 WO PCT/US2016/033704 patent/WO2016191339A1/en active Application Filing
- 2016-05-23 CN CN201680013979.3A patent/CN107408410B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100124124A1 (en) * | 2008-11-19 | 2010-05-20 | Ju Yeab Lee | Nonvolatile memory device and method of programming the same |
CN103081015A (zh) * | 2010-07-19 | 2013-05-01 | 桑迪士克技术有限公司 | 利用位线电压逐步增加来对非易失性存储器进行编程 |
CN105009218A (zh) * | 2012-07-11 | 2015-10-28 | 桑迪士克技术有限公司 | 用于收紧阈值电压宽度以避免编程干扰的编程方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20170126895A (ko) | 2017-11-20 |
US9595317B2 (en) | 2017-03-14 |
US20160351254A1 (en) | 2016-12-01 |
WO2016191339A1 (en) | 2016-12-01 |
DE112016000654T5 (de) | 2017-12-28 |
CN107408410B (zh) | 2021-01-26 |
KR101904233B1 (ko) | 2018-10-05 |
JP2018513516A (ja) | 2018-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107408410A (zh) | 用于非易失性存储器的多状态编程 | |
US9947407B2 (en) | Techniques for programming of select gates in NAND memory | |
US9437302B2 (en) | State-dependent lockout in non-volatile memory | |
CN102270501B (zh) | 利用编程定序器的闪存器件和***,以及编程方法 | |
JP5542737B2 (ja) | 不揮発性半導体記憶装置 | |
US9633742B2 (en) | Segmentation of blocks for faster bit line settling/recovery in non-volatile memory devices | |
CN106067322A (zh) | 利用两阶段编程的非易失性存储器 | |
US9236128B1 (en) | Voltage kick to non-selected word line during programming | |
CN108962317A (zh) | 使用用于非易失性存储器的受控弱升压的多状态编程 | |
US9318209B1 (en) | Digitally controlled source side select gate offset in 3D NAND memory erase | |
US9318204B1 (en) | Non-volatile memory and method with adjusted timing for individual programming pulses | |
CN111033626B (zh) | 非易失性存储器件和控制方法 | |
US9324441B1 (en) | Fast adaptive trimming of operating parameters for non-volatile memory devices | |
JP2017224374A (ja) | 半導体記憶装置 | |
US9349458B2 (en) | Biasing of unselected blocks of non-volatile memory to reduce loading | |
US9318210B1 (en) | Word line kick during sensing: trimming and adjacent word lines | |
US9595338B2 (en) | Utilizing NAND strings in dummy blocks for faster bit line precharge | |
CN106067323A (zh) | 非易失性存储器的利用双脉冲编程的自然阈值电压压缩 | |
CN107103933B (zh) | 反及型闪存及其编程方法 | |
US9490020B2 (en) | Time domain ramp rate control for erase inhibit in flash memory | |
US9627046B2 (en) | Programming techniques for non-volatile memories with charge trapping layers | |
CN112447246A (zh) | 用于减轻编程干扰的设备和方法 | |
CN107430878A (zh) | 非易失性存储***和方法 | |
US20160124664A1 (en) | Block Level Local Column Redundancy Methods for Higher Yield | |
US9355714B2 (en) | Nonvolatile semiconductor memory device and method of controlling the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |