CN108962317B - 使用用于非易失性存储器的受控弱升压的多状态编程 - Google Patents

使用用于非易失性存储器的受控弱升压的多状态编程 Download PDF

Info

Publication number
CN108962317B
CN108962317B CN201810218890.1A CN201810218890A CN108962317B CN 108962317 B CN108962317 B CN 108962317B CN 201810218890 A CN201810218890 A CN 201810218890A CN 108962317 B CN108962317 B CN 108962317B
Authority
CN
China
Prior art keywords
word line
memory cells
programming
memory
level
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
CN201810218890.1A
Other languages
English (en)
Other versions
CN108962317A (zh
Inventor
D.杜塔
X.苗
M.马苏杜扎曼
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.)
SanDisk Technologies LLC
Original Assignee
SanDisk Technologies LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SanDisk Technologies LLC filed Critical SanDisk Technologies LLC
Publication of CN108962317A publication Critical patent/CN108962317A/zh
Application granted granted Critical
Publication of CN108962317B publication Critical patent/CN108962317B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-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/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/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/26Sensing or reading circuits; Data output 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/32Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3468Prevention of overerasure or overprogramming, e.g. by verifying whilst erasing or writing
    • G11C16/3481Circuits or methods to verify correct programming of nonvolatile memory cells whilst programming is in progress, e.g. by detecting onset or cessation of current flow in cells and using the detector output to terminate programming
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/562Multilevel memory programming aspects
    • G11C2211/5622Concurrent multilevel programming of more than one cell

Abstract

通过在单元各自的沟道中使用受控的状态依赖弱升压量来调节每个状态的编程速度来执行非易失性存储器单元的多状态编程(其中同时编程正在被编程为不同的目标状态的单元)。在一个示例中,在基于相应的存储器单元的目标状态的时间处通过使用多梯级字线斜坡、结合位线上的电压的提高,来控制沟道升压。

Description

使用用于非易失性存储器的受控弱升压的多状态编程
技术领域
本申请涉及存储器领域。
背景技术
半导体存储器广泛用于各种电子设备,诸如蜂窝电话、数字照相机、个人数字助理、医疗电子设备、移动计算设备和非移动计算设备。半导体存储器可包括非易失性存储器或易失性存储器。即使当非易失性存储器未连接到电源(例如电池)时,非易失性存储器也允许信息被存储和保留。非易失性存储器的示例包括快闪存储器(例如NAND型和NOR型快闪存储器)和电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)。
电荷俘获材料能够被用于非易失性存储器器件中以存储表示数据状态的电压。电荷俘获材料能够被垂直地布置在三维(three-dimensional,3D)堆叠存储器结构中。3D存储器结构的一个示例是包括交替的导电层和电介层的堆叠的位成本可扩展(Bit CostScalable,BiCS)架构。在堆叠中形成存储器孔,然后通过用包括电荷俘获层的材料填充存储器孔来创建存储器单元的垂直列来形成NAND串。直的NAND串延伸到一个存储器孔中。存储器单元的控制栅极由导电层提供。
一些非易失性存储器器件被用于存储电压的两个范围,因此存储器单元能够在与两个数据状态:擦除状态(例如数据“1”)、和编程状态(例如,数据“0”)相对应的阈值电压的两个范围之间被编程/擦除。这样的器件被称为二进制或双状态器件。
多状态非易失性存储器通过识别阈值电压的多个、区别的允许范围来实施。阈值电压的每个区别的范围与分配用于该组的数据位的预定值的数据状态相对应。被编程到存储器单元中的数据与阈值电压的范围之间的具体的关系取决于存储器单元采用的数据编码方案。例如,美国专利号第6,222,762和美国专利申请公开号2004/0255090两者都描述了用于多状态快闪存储器单元的各种数据编码方案。
用于非易失性存储器的编程操作典型地包括在每个剂量(dose)的编程之后施加多种剂量的编程和验证编程。虽然多状态非易失性存储器能够存储比二进制非易失性存储器更多的数据状态,但是对于多状态非易失性存储器编程和验证编程的过程可能需要更长的时间。
发明内容
根据本申请的一个方面,提供一种装置,包括:一个或多个NAND串,其具有沿字线连接的存储器单元,并且其中每个NAND串的存储器单元通过相应的选择栅极连接到相应的位线;和控制电路,连接到所述字线和位线,所述控制电路被配置为将连接到第一字线的多个存储器单元从初始状态同时编程到多个目标状态中的相应的一个目标状态;位线偏置电路,被配置为将与沿所述第一字线的未选择的存储器单元相对应的位线偏置到编程禁止电平,并且将与沿所述第一字线的选择的存储器单元相对应的位线偏置到低电源电平;字线偏置电路,被配置为将包括第一字线的一组一条或多条字线上的电压从低电源电平提高到第一电压电平;其中,当所述字线偏置电路正将所述一组一条或多条字线上的电压从所述低电源电平提高到所述第一电压电平时,所述位线偏置电路还被配置为将与选择的存储器单元相对应的字线上的电压从所述低电源电平提高到第二电压电平,所述第二电压电平基于所述一组一条或多条字线上的、取决于相应的选择的存储器单元的目标状态的上升电压的电平,所述第二电压电平具有足以截止相应的选择栅极的量,所述选择的存储器单元通过所述相应的选择栅极连接到相应的位线;和编程电路,被配置为随后将编程脉冲发送到所述第一字线。
根据本申请的另一个方面,提供一种方法,包括:将沿非易失性存储器阵列的第一字线的多个选择的存储器单元从初始状态编程到多个目标状态中的相应的一个目标状态,所述非易失性存储器阵列由多个NAND串形成,在所述NAND串中所述存储器单元沿包括所述第一字线的多条字线连接,并且其中每个NAND串的所述存储器单元通过选择栅极连接到相应的位线,所述编程包括:将一个或多个编程脉冲的序列施加到所述存储器阵列的第一字线;以及在每个编程脉冲之前,偏置存储器阵列,其中所述偏置存储器阵列包括:将与沿所述第一字线的选择的存储器单元相对应的位线设置为低电源电平,并且将与沿所述第一字线的未选择的存储器单元相对应的位线设置为编程禁止电平;随后将从所述低电源电平上升到第一电压电平的波形施加到包括所述第一字线的一组一条或多条字线;以及对于与沿所述第一字线的选择的存储器单元相对应的每条位线,将所述位线从所述低电源电平提高到基于选择的存储器单元的目标状态的波形的电平处的第二电压电平,所述第二电压电平足以截止相应的选择栅极。
附图说明
在不同的附图中相同编号的元件是指共同组件。
图1是3D堆叠非易失性存储器器件的透视图。
图2是诸如图1的3D堆叠非易失性存储器器件100的存储器器件的功能框图。
图3A是描绘用于编程控制器中的一个或多个处理器的软件模块的框图。
图3B是描绘用于编程在存储器裸芯上的状态机或其他处理器的软件模块的框图。
图3C是单独的感测块的框图。
图4A是具有两个平面的存储器结构的框图。
图4B描绘存储器单元块的部分的顶视图。
图4C描绘存储器单元块的部分的横截面图。
图4D描绘选择栅极层和字线层的视图。
图4E是存储器单元的垂直列的横截面图。
图4F是多个NAND串的示意图。
图5是感测放大器的示意图。
图6是描述图5的感测放大器中描绘的某些信号的行为的时序图。
图7是描述图5的电路的操作的一个实施例的流程图。
图8和图9描绘阈值电压分布。
图10是描述编程过程的一个实施例的流程图。
图11和图12示出了用于所有目标状态的编程使能单元使它们的沟道类似地偏置的多状态编程(同时编程的不同的状态)。
图13给出沟道升压值的一些示例以及它们与不同的目标状态的对应关系。
图14是当基于目标状态结合沟道升压时目标状态对编程循环数的表格。
图15是示出在单个状态的示例中偏置NAND存储器阵列以提高沟道电势的一些细节的一组波形。
图16是示出用于偏置NAND存储器阵列以分别地提高沟道电势用于编程存储器单元的每个状态的细节的一组波形。
图17显示了针对图16的布置的、不同的目标状态单元的沟道电压如何随时间变化。
图18是示出在施加编程脉冲之前偏置阵列的示例性实施例的方面的流程图。
图19示出了一组较低目标状态作为一组被弱升压的替代实施例。
图20示出了在弱升压中使用编程波形。
图21示出了字线上的斜坡波形的使用和与使用弱升压的单元相对应的位线的延迟提高。
图22A-图22C、图23A和图23B示出了自然Vt压缩(natural Vt compaction)的概念。
具体实施方式
在其中存储器单元被同时编程为多个目标状态的多状态编程中,用于NAND存储器的典型编程操作将选择的位线设置为接地,并将未选择的位线设置为编程禁止电压;将字线从接地提高至Vpass;然后将编程脉冲施加到偏置阵列的选择的字线。由于所有单元都以大约相同的速率编程,因此这意味着最低状态能够比最高状态更早地完成。例如,在每单元四位的布置中,最低状态的编程可以在大约、比方说、十二个脉冲之后完成,而最高状态可以采取为差不多40个脉冲。
下面描述的技术允许所有单元以大约相同数量的脉冲编程,而不管目标状态,使得它们以、比方说、12个脉冲全部完成。这是通过在将脉冲施加到选择的字线之前使用阵列的偏置过程来完成的,在偏置过程中每个选择的存储器单元的沟道被提高一定量,提高的量取决于其目标状态。例如,将进入低目标状态的单元将使其沟道提高得比将进入较高目标状态的单元多,以从而减少低目标状态单元的有效脉冲。
不是将NAND串的字线直接地从接地提到用于未选择的字线的编程通过电压(Vpass),而是在一系列步阶中将字线提高(完整版本中每个目标状态一个步阶),然后将每条位线提高至足以在这些步阶中的一个步阶处关闭选择栅极的电平。挑选的步阶取决于相应单元的目标状态。一旦选择栅极被关闭,沟道被置于浮动(float),并且反过来在随后的步阶中由字线拉升至Vpass:选择栅极越快被关闭,越多的沟道由剩下的步阶拉升,并且该单元相对于在后面的步阶上其选择栅极被关闭的单元,编程得越慢。
图1是能够实施本文提出的技术的三维(3D)堆叠式非易失性存储器器件的透视图。存储器器件100包括衬底101。衬底上和上方的是存储器单元(非易失性存储元件)的示例块BLK0和BLK1。衬底101上也是具有由块使用的支持电路的外围区域104。衬底101还能够在块下方携带电路,连同导电路径中被图案化以承载电路的信号的一个或多个下(lower)金属层。在存储器器件的中间区域102中形成块。在存储器器件的上区域103中,一个或多个上金属层在导电路径中被图案化以承载电路的信号。每个块包括存储器单元的堆叠区域,其中堆叠的交替电平表示字线。尽管两个块被描述为示例,但是能够使用在x和/或y方向上延伸的附加的块。
在一个示例实施方式中,平面在x方向上的长度表示字线的信号路径延伸的方向(字线或SGD线方向),并且平面在y方向上的宽度表示位线的信号路径延伸的方向(位线方向)。z方向表示存储器器件的高度。
图2是诸如图1的3D堆叠非易失性存储器器件100的示例存储器器件的功能框图。图2中描绘的组件是电路。存储器器件100包括一个或多个存储器裸芯108。每个存储器裸芯108包括存储器单元的三维存储器结构126(诸如,例如存储器单元的3D阵列)、控制电路110和读/写电路128。在其他实施例中,能够使用存储器单元的二维阵列。存储器结构126可以经由行解码器124的字线和经由列解码器132的位线来寻址。读/写电路128包括多个感测块SB1、SB2、...、SBp129(感测电路)并且允许并行读取或编程存储器单元的一页面。
在一些系统中,控制器122被包括在与一个或多个存储器裸芯108相同的存储器器件100(例如,可移动存储卡)中。然而,在其他系统中,控制器能够与存储器裸芯108分离。在一些实施例中,一个控制器122将与多个存储器裸芯108通信。在其他实施例中,每个存储器裸芯108具有自己的控制器。命令和数据经由数据总线120在主机140和控制器122之间以及经由线118在控制器122和一个或多个存储器裸芯108之间传输。在一个实施例中,存储器裸芯108包括连接到线118的一组输入和/或输出(I/O)引脚。
存储器结构126可以包括包括3D阵列的存储器单元的一个或多个阵列。存储器结构可以包括其中多个存储器级在没有中间衬底的情况下形成在单个衬底(诸如晶圆)的上面(并且不在其中)的单片三维存储器结构。存储器结构可以包括在具有被布置在硅衬底上面的有源区域的存储器单元的阵列的一个或多个物理级中单片地形成的任何类型的非易失性存储器。存储器结构可以在具有与存储器单元的操作相关联的电路的非易失性存储器器件中,无论相关联的电路是在衬底上面还是在衬底内。
控制电路110与读/写电路128协作以对存储器结构126执行存储器操作(例如,擦除、编程、读取等),并且包括状态机112、片上地址解码器114和功率控制模块116。状态机112提供存储器操作的芯片级控制。代码和参数存储装置113可以被提供用于存储操作参数和软件。在一个实施例中,状态机112可由被存储在代码和参数存储装置113中的软件来编程。在其他实施例中,状态机112不使用软件并且完全以硬件(例如,电子电路)实施。
片上地址解码器114提供由主机140或存储器控制器122使用的地址(ADDR)由解码器124和132使用的硬件地址之间的地址接口。功率控制模块116在存储器操作期间控制被供应到字线和位线的功率和电压。它能够包括用于字线层(下面讨论的,无论是3D还是2D配置)的驱动器、选择晶体管(例如下面描述的,SGS和SGD晶体管)和源极线。具体地,功率控制模块能够包括用作下面描述的各种存储器操作中的字线的偏置电路的字线驱动器。功率控制模块116可以包括用于产生电压的电压泵。感测块包括位线驱动器,位线驱动器包括用作下面描述的各种存储器操作中的位线的偏置电路的位线驱动器。SGS晶体管是NAND串的源极端处的选择栅极晶体管,SGD晶体管是NAND串的漏极端处的选择栅极晶体管。
控制电路110、状态机112、解码器114/124/132、代码和参数存储装置113、功率控制模块116、感测块SB1、SB2、...、SBp、读/写电路128和128的任何一个或任何组合、以及控制器122能够被认为是执行本文描述的功能的控制电路。
(片上或片外)控制器122可以包括存储设备(诸如ROM 122a和RAM122b)、处理器122c和存储器接口122d。存储设备存储诸如一组指令之类的代码,并且处理器122c可操作的运行该组指令以提供本文描述的功能。可替代地或另外地,处理器122c能够从存储器结构中的存储设备访问代码,诸如连接到一条或多条字线的存储器单元的保留区域。与ROM122a、RAM 122b和处理器122c通信的存储器接口122d是提供控制器122和存储器裸芯108之间的电接口的电路。例如,存储器接口122d能够改变信号的格式或时序,提供缓冲器,与浪涌隔离,锁存I/O等。
存储器结构126中的多个存储器原件可以被配置为使得它们串行连接或者使得每个元件可被单独地访问。当作非限制性示例,NAND配置(NAND快闪存储器)中的快闪存储器器件典型地包含串行连接的存储器元件。NAND串是一组串行连接的存储器单元和选择栅极晶体管的示例。NAND快闪存储器储器阵列可以被配置为使得阵列由多个NAND串组成,其中多个NAND串的NAND串由共享单条位线并作为一组被而访问的多个存储器单元组成。在一个实施例中,NAND串被分组为块。在块内,每个NAND串的一端连接到多条位线中的一条位线,并且每个NAND串的另一端连接到用于该块中的所有NAND串的公共源极线。可替代地,存储器元件可以被配置为使得每个元件可被单独地访问,例如NOR存储器阵列。NAND和NOR存储器配置是示例性的,并且可以以其他方式配置存储器单元。
存储器单元可以以诸如多个行和/或列的有序阵列被布置在单个存储器器件级中。然而,存储器元件可以排列成非规则或非正交配置,或在不被认为是阵列的结构中。
三维存储器阵列被布置为使得存储器单元占据多个平面或多个存储器器件级,从而形成三维结构(即,在x、y和z方向上,其中z方向基本上垂直于衬底的主表面,并且x和y方向基本上平行于衬底的主表面)。
作为非限制性示例,三维存储器器结构可以被垂直地布置为多个二维存储器器件级的堆叠。作为另一非限制性示例,三维存储器阵列可以被布置为多个垂直列(例如,基本上垂直于衬底的主表面延伸的列,即在y方向上),每个列具有多个存储单元。垂直列可以以二维配置(例如在x-y平面中)布置,得到存储器单元的三维布置,且存储器单元在多个垂直堆叠的存储器平面上。三维存储器元件的其他配置也能够构成三维存储器阵列。
当作非限制性示例,在三维NAND存储器阵列中,存储器元件可以被耦合在一起以形成穿过多个水平存储器器件层级的垂直NAND串。能够设想其他三维配置,其中一些NAND串将存储器元件包含在单个存储器级中,而其他串包含跨越多个存储器级的存储器元件。也可以在NOR配置和ReRAM配置中设计三维存储器阵列。
本文描述的技术还能够利用除了上述的电荷俘获和浮置栅极快闪存储器之外的技术。除了快闪存储器(例如,2D和3D NAND型和NOR型快闪存储器)之外,非易失性存储器的示例包括ReRAM存储器、磁阻存储器(例如,MRAM)和相变存储器(例如,PCRAM)。
ReRAM存储器的一个示例包括以由X线和Y线(例如字线和位线)访问的交叉点阵列布置的可逆电阻切换元件。编程能够由字线上的一系列电压脉冲(即多种剂量的编程)供电。通过在相应的位线上施加足够大的电压以防止跨越存储器单元的足够的电压差,存储器单元能够被禁止。
在另一实施例中,存储器单元可以包括导电桥存储器元件。导电桥存储器元件也可以称为可编程金属化单元。基于固体电解质内的离子的物理重定位,导电桥式存储器元件可以被用作状态改变元件。在一些情况下,导电桥存储器元件可以包括两个固体金属电极,一个相对惰性的(例如钨)和另一个电化学活性(例如银或铜),两个电极之间具有固体电解质的薄膜。随着温度增加,离子的移动性也增加,使得导电桥存储器单元的编程阈值降低。因此,导电桥存储器元件可以具有相对于温度的宽范围的编程阈值。施加适当的温度(在不连续的时间段-剂量内)能够被用于编程。类似地,调节温度能够被用于禁止。在一些实施方式中,通过向存储器单元和/或周围组件施加电压和/或电流来控制温度。
磁阻存储器(MRAM)通过磁存储元件存储数据。这些元件由两个铁磁板形成,每个铁磁板能够保持由薄的绝缘层分离的磁化。两个板中的一个板是被设置为特定极性的永磁体;另一个板的磁化能够被改变以匹配外磁场的磁化以存储存储器。该配置被称为自旋阀,并且是MRAM位的最简单的结构。从这样的存储器单元的网格构建存储器器件。在用于编程的一个实施例中,每个存储器单元位于彼此成直角布置、平行于单元、一个在单元上面和一个单元下面的一对写入线之间。当电流通过它们时,感应磁场被创建(即编程剂量)。这种方法要求相当大量的电流以生成场。因此,编程被施加为电流的单位。充分地减少或去除电流能够被用于禁止编程。
相变存储器(Phase Change Memory,PCRAM)利用硫属玻璃的独特行为。一个实施例使用GeTe-Sb2Te3超晶格通过简单地用激光脉冲(或来自另一源的光脉冲)改变锗原子的配位状态来实现非热相变。因此,编程的剂量是激光脉冲。能够通过阻挡存储器单元接收光来禁止存储器单元。注意,本文档中“脉冲”的使用不要求方波,而是包括声音的(连续或非连续)振动或爆发、电流、电压光或其他波。
本领域的普通技术人员将认识到,该技术不限于单个具体的存储器结构,而是涵盖在本文所描述的、并且如由本领域普通技术人员所理解的技术的精神和范围内的许多相关的存储器结构。
图3A是描绘用于编程控制器122中的一个或多个处理器的软件模块的框图。图3A描绘正被存储在ROM 122a中的读取模块150、编程模块152、擦除模块154和沟道升压(boosting)模块156。这些软件模块也能够被存储在RAM或存储器裸芯108中。读取模块150包括编程(多个)处理器122c以执行读取操作的软件。编程模块152包括编程(多个)处理器122c以执行编程操作(包括编程的验证)的软件。擦除模块154包括编程(多个)处理器122c以执行擦除操作的软件。沟道升压模块156包括编程(多个)处理器122c以执行沟道的弱升压(例如,使正在被编程的存储器单元的沟道被升压了取决于单元目标状态的量)的软件。基于该软件,控制器122命令存储器裸芯108执行存储器操作。
图3B是描绘用于编程状态机112(或存储器裸芯108上的其他处理器)的软件模块的框图。图3B描绘正被存储在代码和参数存储装置113中的读取模块160、编程模块162、擦除模块164和沟道升压模块166。这些软件模块也能够被存储在RAM中或存储器结构126中。读取模块160包括编程状态机112以执行读取操作的软件。编程模块152包括编程状态机112以执行编程操作(包括编程的验证)的软件。擦除模块164包括编程状态机112以执行擦除操作的软件。沟道升压模块166包括编程状态机112以执行沟道的弱升压(例如,使正在被编程的存储器单元的沟道被升压了取决于单元目标状态的量)的软件。可替代地,状态机112(其是电子电路)能够完全用硬件实施,使得不需要软件来执行这些功能。
图3C是被分割为被称为感测模块480的核心部分和公共部分490的单独的感测块129的框图。在一个实施例中,将存在用于每条位线的分离的感测模块480和用于一组多个感测模块480的一个公共部分490。在一个示例中,感测块将包括一个公共部分490和八个感测模块480。组中的每个感测模块将经由数据总线423与关联的公共部分通信。
感测模块480包括感测电路470,感测电路470确定连接的位线中的传导电流是高于还是低于预定电平。在一些实施例中,感测模块480包括通常被称为感测放大器的电路。感测模块480还包括用于设置关于连接的位线的电压条件的位线锁存器482。例如,锁存在位线锁存器482中的预定状态将使得连接的位线被拉到指定编程禁止的状态(例如,Vdd)。
公共部分490包括处理器492、一组数据锁存器494和被耦合在该组数据锁存器494与数据总线421之间的I/O接口496。处理器492执行计算。例如,它的功能之一是确定被存储在感测的存储器单元中的数据,并将确定的数据存储在该组数据锁存器中。一组数据锁存器494用于存储在读取操作期间由处理器492确定的数据位。它也用于存储在编程操作期间从数据总线421导入的数据位。导入的数据位表示注定要被编程进存储器的写入数据。I/O接口496提供数据锁存器494与数据总线421之间的接口。
在读取或感测期间,系统的操作在状态机112的控制下,状态机112控制到寻址的存储器单元的不同的电压的供应。当它逐步通过与由存储器支持的各种存储器状态相对应的各种预定义电压(读取参考电压或验证参考电压)时,感测模块480可以在这些电压中的一个电压处绊住(trip),并且将经由总线423将输出从感测模块480提供给处理器492。在那时,处理器492通过考虑感测模块的(多个)绊住事件和关于经由输入线493从状态机施加的控制栅极电压的信息来确定结果存储器状态。然后它计算存储器状态的二进制编码并将结果数据位存储到数据锁存器494中。在核心部分的另一实施例中,位线锁存器482用作双重任务,既作为锁存感测模块480的输出的锁存器,又作为如上所述的位线锁存器。
预计一些实施方式将包括多个处理器492。在一个实施例中,每个处理器492将包括输出线(图3C中未描绘),使得输出线中的每一个输出线被线或(wired-OR’d)在一起。在一些实施例中,输出线在被连接到线或线之前被反转。该配置在编程过程已经完成时的编程验证期间使能快速确定,因为接收被线或的线的状态机能够确定何时正在被编程的所有位已经达到期望的电平。例如,当每一位都已经达到它的期望的电平时,用于该位的逻辑0将被发送到被线或的线(或数据1被反转)。当所有位输出数据0(或反转的数据1)时,然后状态机知道终止编程过程。在每个处理器与八个感测模块通信的实施例中,状态机可能(在一些实施例中)需要读取被线或的线八次,或者逻辑被添加到处理器492以累积关联的位线的结果使得状态机仅需要读取被线或的线一次。在具有许多感测模块的一些实施例中,许多感测模块的被线或的线能够被分组为N个感测模块的组,并且然后这些组能够被分组以形成二叉树。
在编程或验证期间,来自数据总线421的、要被编程的数据被存储在一组数据锁存器494中。在状态机的控制下的编程操作包括同时施加到寻址的存储器单元的一系列(具有增大的量的)编程电压脉冲以同时编程存储器单元。每个编程脉冲后面跟着验证过程,以确定存储器单元是否已被编程为期望的状态。处理器492相对于期望的存储器状态来监视验证的存储器状态。当两者一致时,处理器492设置(set)位线锁存器482,以使得位线被拉到指定编程禁止的状态。这禁止被耦合到位线的存储器单元进一步编程,即使在它的控制栅极上经受到编程脉冲。在其他实施例中,处理器初始地加载位线锁存器482,并且感测电路在验证过程期间将它设置为禁止值。
数据锁存器堆叠494包含与感测模块相对应的数据锁存器的堆叠。在一个实施例中,每个感测模块480有三个(或四个或另一数字)数据锁存器。在一些实施方式中(但不是要求的),数据锁存器被实施为移位寄存器,使得被存储在其中的并行数据被转换为数据总线421的串行数据,反之亦然。在一个优选实施例中,与存储器单元的读/写块相对应的所有数据锁存器能够被链接在一起以形成块移位寄存器,使得能够由串行传输来输入或输出数据块。具体地,读/写模块的堆(bank)被适配为使得它的数据锁存器组中的每一个数据锁存器将顺序地将数据移入或移出数据总线,就好像它们是整个读/写块的移位寄存器的一部分。
图4A是解释存储器结构126的一个示例组织的框图,所述存储器结构被划分为两个平面302和304。然后每个平面被划分为M个块。在一个示例中,每个平面具有大约2000个块。然而,也能够使用块和平面的不同的数量。
图4B-图4E描绘了示例3D NAND结构。图4B是描绘来自存储器结构126的一个块的部分的俯视图的框图。图4B中描绘的块的部分与图4A的块2中的部分306相对应。从图4B中能够看出,图4B中描绘的块在箭头330的方向和在箭头332的方向上延伸。在一个实施例中,存储器阵列将具有48层。其他实施例具有比48层更少或更多的层。然而,图4B仅显示了顶层。
图4B描绘了表示垂直列的多个圆。每个垂直列包括多个选择晶体管和多个存储器单元。在一个实施例中,每个垂直列实施NAND串。下面提供垂直列的更多详细信息。由于图4B所示的块沿箭头330的方向和箭头332的方向延伸,所以块包括比图4B中所示的列更多的垂直列。
图4B还描绘了一组位线412。图4B显示了二十四条位线,因为仅描绘了该块的部分。设想连接到块的垂直列的比二十四条位线更多的位线。表示垂直列的每个圆都有一个“x”以表示它的到一条位线的连接。
图4B中描绘的块包括将各个层连接到垂直列下面的源极线的一组局部互连402、404、406、408和410。局部互连402、404、406、408和410还用于将块的每个层划分为四个区域;例如,图4B中描绘的顶层被划分为区域420、430、440和450。在实施存储器单元的块的层中,四个区域被称为由局部互连分离的字线指。在一个实施例中,块的共同级上的字线指在块的端处连接在一起以形成单条字线。在另一实施例中,相同的电平上的字线指不连接在一起。在一个示例实施方式中,位线仅连接到区域420、430、440和450中的每一个中的一个垂直列。在该实施方式中,每个块具有十六行的有效列,并且每条位线连接到每个块中的四行。在一个实施例中,连接到公共位线的所有四行连接到相同的字线(经由连接在一起的同一级上的不同的字线指状物);因此,系统使用源极侧选择线和漏极侧选择线来选择四行中要经受存储器操作(编程、验证、读取和/或擦除)的一行(或另一子集)。
虽然图4B显示了在块中具有四行垂直列、四个区域和十六行垂直列的每个区域,但是这些精确的数字是示例实施方式。其他实施例可以包括每个块的更多或更少的区域,每个区域更多或更少的垂直列行,以及每个块更多或更少的垂直列行。
图4B还显示了正在被交错的垂直列。在其他实施例中,能够使用不同的交错(stagger)模式。在一些实施例中,垂直列不交错。
图4C描绘了三维存储器结构126的实施例的部分,其显示了沿图4B的线AA的横截面图。该横截面图切穿垂直列432和434以及区域430(见图4B)。图4C的结构包括两个漏极侧选择层SGD1和SGD1;两个源极侧选择层SGS1和SGS2;四个虚拟字线层DWLL1a、DWLL1b、DWLL2a和DWLL2b;和用于连接到数据存储器单元的三十二个字线层WLL0-WLL31。其他实施例能够实施比两个漏极侧选择层更多或更少的漏极侧选择层,比两个源极侧选择层更多或更少的源极侧选择层,比四个虚拟字线层更多或更少的虚拟字线层以及比三十二个字线层更多或更少的字线层。垂直列432和434被描绘为突出通过漏极侧选择层、源极侧选择层、虚拟字线层和字线层。在一个实施例中,每个垂直列包括NAND串。垂直列下面和下面列出的层是衬底101、衬底上的绝缘膜454和源极线SL。垂直列432的NAND串在堆叠的底部具有源级端,在堆叠的顶部具有漏极端。如与图4B一致,图4C显示了经由连接器415连接到位线414的垂直列432。还描绘了局部互连404和406。
为便于参考,漏极侧选择层SGD1和SGD1;源极侧选择层SGS1和SGS2;虚拟字线层DWLL1a、DWLL1b、DWLL2a和DWLL2b;和字线层WLL0-WLL31共同地被称为导电层。在一个实施例中,导电层由TiN和钨的组合制成。在其他实施例中,其它材料能够用于形成导电层,诸如掺杂多晶硅,诸如钨或金属硅化物的金属。在一些实施例中,不同的导电层能够由不同的材料形成。导电层之间是电介层DL0-DL19。例如,电介层DL10在字线层WLL26上面并且在字线层WLL27下面。在一个实施例中,电介层由SiO2制成。在其它实施例中,其它电介材料能够用于形成电介层。
存储器单元沿垂直列形成,所述垂直列延伸通过堆叠中交替的导电层和电介层。在一个实施例中,存储器单元被布置在NAND串中。字线层WLL0-WLL31连接到存储器单元(也被称为数据存储器单元)。虚拟字线层DWLL1a、DWLL1b、DWLL2a和DWLL2b连接到虚拟存储器单元。也被称为非数据存储器单元的虚拟存储器单元不存储用户数据,而数据存储器单元有资格存储用户数据。因此,数据存储器单元可以被编程。漏极侧选择层SGD1和SGD1用于将NAND串从位线电连接和断开。源极侧选择层SGS1和SGS2用于将NAND串从源极线SL电连接和断开。
图4D描绘了用于图4C中部分地描绘的块的导电层(SGD1、SGD2、SGS1、SGS2;DWLL1a、DWLL1b、DWLL2a、DWLL2b和WLL0-WLL31)的透视图。如上面针对图4B所提到的,局部互连401、404、406、408和410将每个导电层打破分为四个区域。例如,漏极侧选择栅极层SGD1(顶层)被划分为区域420、430、440和450。类似地,字线层WLL31被划分为区域460、462、464和466。对于字线层(WLL0-WLL31),这些区域被称为字线指;例如,字线层WLL31被划分为字线指460、462、464和466。在一个实施例中,每条字线指作为单独的字线操作。在另一实施例中,相同级上的四条字线指被连接在一起。
漏极侧选择栅极层SGD1(顶层)也被划分为区域420、430、440和450,又被称为指状物或选择线指。在一个实施例中,每个选择线指都作为单独的字线操作;因此,区域420被标记为选择线SGD1/S0(即,漏极侧选择线层0的选择线0),区域430被标记为选择线SGD1/S1(即,漏极侧选择线层0的选择线1),区域440被标记为选择线SGD1/S2,并且区域450被标记为选择线SGD1/S3。类似地,漏极侧选择栅极层SGD2具有作为选择线SGD2/S0、SGD2/S1、SGD2/S2和SGD2/S3操作的四个指状物。源极侧选择栅极层SGS1具有作为选择线SGS1/S0、SGS1/S1、SGS1/S2和SGS1/S3操作的四个指状物。源极侧选择栅极层SGS2具有作为选择线SGS2/S0、SGS2/S1、SGS2/S2和SGS2/S3操作的四个指状物。
图4E描绘包括垂直列432的部分的图4C的区域442的横截面图。在一个实施例中,垂直列是圆形并且包括四层;然而,在其他实施例中,能够包括比四层更多或更少的层,并且能够使用其他形状。在一个实施例中,垂直列432包括由诸如SiO2的电介质制成的内芯层470。也能够使用其他材料。环绕内芯470是多晶硅沟道471。也能够使用除多晶硅以外的材料。注意,沟道471连接到位线。环绕沟道471是隧道电介质472。在一个实施例中,隧道电介质472具有ONO结构。环绕隧穿电介质472的是电荷俘获层473,诸如(例如)增加陷阱密度的专门配制的氮化硅。
图4E描绘电介层DLL11、DLL12、DLL13、DLL14和DLL15以及字线层WLL27、WLL28、WLL29、WLL30和WLL31。每个字线层包括由氧化铝层477环绕的字线区域476,所述氧化铝层477由阻挡氧化物(SiO2)层478环绕。字线层与垂直列的物理交互形成存储器单元。因此,在一个实施例中,存储器单元包括沟道471、隧道电介质472、电荷俘获层473、阻挡氧化物层478、氧化铝层477和字线区域476。例如,字线层WLL31和垂直列432的部分包括存储器单元MC1。字线层WLL30和垂直列432的部分包括存储器单元MC2。字线层WLL29和垂直列432的部分包括存储器单元MC3。字线层WLL28和垂直列432的部分包括存储器单元MC4。字线层WLL27和垂直列432的部分包括存储器单元MC5。在其他架构中,存储器单元可以具有不同的结构;然而,存储器单元仍将是存储单元。
当存储器单元被编程时,电子被存储在与存储器单元相关联的电荷俘获层473的部分中。响应于字线区域476上的适当的电压,这些电子被从沟道471通过隧道层473引入到电荷俘获层473。存储器单元的阈值电压(Vth)与存储的电荷成比例地增加。在擦除操作期间,电子返回到沟道,或空穴与电子重新结合。
图4F是描绘被布置为连接到位线414和公共源极线SL的四个NAND串的多组连接的可编程和可擦除非易失性存储器单元的电路图。选择线SGD1/S0、SGD1/S1、SGD1/S2、SGD1/S3、SGD2/S0、SGD2/S1、SGD2/S2、SGD2/S3、SGS1/S0、SGS1/S1、SGS1/S2、SGS1/S3、SGS2/S0、SGS2/S1、SGS2/S2和SGS2/S3用于选择/取消选择描绘的NAND串。在一个实施例中,在每个NAND串的每一侧上存在两条选择线(并且因此两个选择栅极)。其他实施例能够在NAND串的每一侧上使用比两条选择线(和两个选择栅极)更多的选择线或在NAND串的每一侧上使用比两条选择线(和两个选择栅极)更少的选择线。在图4F中描绘的实施例中,为了将NAND串连接到位线,两个选择栅极必须被启动(经由两条各自的选择线),并且为了将NAND串连接到公共源极线SL,两个选择栅极必须被启动(经由两条各自的选择线)。
图5是描述感测放大器电路的示意图。每个感测块SB1、SB2、...、SBp(见图2)将包括多个感测放大器电路(例如,感测电路470)。如下所述,图5的电路将对电容器(或其他电荷存储设备)预充电至预充电量,通过存储器单元将电容器放电一段选通(strobe)时间,并在选通时间之后感测电容器处的电压。感测电压将指示存储器单元是否传导正在被感测的电流,所述感测电压指示存储器单元的阈值电压是大于还是小于正在被测试的阈值电压(与控制栅极电压相对应)。如果存储器单元的阈值电压大于正在被测试的阈值电压,那么,则在验证操作期间,存储器单元将酌情基于本文描述的过程完成编程。图5显示了连接到位线和晶体管502的晶体管500。晶体管500在它的栅极处接收信号BLS,并用于连接或隔离位线。晶体管502在它的栅极处接收信号BLC,并用作电压钳。栅极电压BLC被偏置为等于期望的位线电压加上晶体管502的阈值电压的恒定电压。因此,晶体管502的功能是在感测操作期间(在读取或验证期间)维持恒定的位线电压,即使通过位线的电流改变。
晶体管502连接到晶体管504、506和508。晶体管506在被标记为SEN的节点处连接到电容器516。晶体管506的目的是将电容器516连接到位线并将电容器516从位线断开,使得电容器516与位线选择性地通信。换句话说,晶体管506调节选通时间。也就是说,当晶体管506导通时,电容器516能够通过位线放电,并且当晶体管506被截止时,电容器516不能通过位线放电。
晶体管506连接到电容器516的节点也连接到晶体管510和晶体管514。晶体管510连接到晶体管508、512和518。晶体管518也连接到晶体管520。晶体管518和520是PMOS晶体管,而图5的其他晶体管是NMOS晶体管。晶体管510、518和520向电容器516提供预充电路径。电压(例如,Vdd或其他电压)被施加到晶体管520的源极。通过适当地偏置晶体管510、518和520,施加到晶体管520的源极的电压能够用于预充电电容器516。在预充电之后,电容器516能够经由晶体管506通过位线放电(假定晶体管500和502正在传导)。
图5的电路包括形成锁存电路的反相器530和532。反相器532的输出端连接到反相器530的输入端,反相器530的输出端连接到反相器532的输入端以及晶体管520和522。反相器532的输入端将接收Vdd,并且两个反相器530、532将充当锁存器以存储Vdd。反相器532的输入端也能够连接到另一值。晶体管512和522提供用于将由反相器530和532存储的数据通信到晶体管514的路径。晶体管522在它的栅极处接收信号FCO。晶体管512在它的栅极处接收信号STRO。通过提高或减小FCO和STRO,在反相器530、532和晶体管(感测开关)514之间提供或切断路径。晶体管514的栅极在被标记为SEN的节点处连接电容器516、晶体管506和晶体管510。电容器516的另一端连接到信号CLK。
如上所讨论的,电容器516经由晶体管510、518和520被预充电。这会将SEN节点处的电压提高到预充电电压电平(Vpre)。当晶体管506导通时,如果存储器单元的阈值电压低于正在被测试的电压电平,则电容器516能够通过位线和选择的存储器单元放电它的电荷。如果电容器516能够放电,那么(SEN节点处的)电容器的电压将降低。
SEN节点处的预充电电压(Vpre)大于晶体管914的阈值电压;因此,在选通时间之前,晶体管514导通(传导)。由于在选通时间期间晶体管514导通,因此然后晶体管512应该截止。如果电容器在选通时间期间不放电,则那么SEN节点处的电压将保持在晶体管514的阈值电压之上,并且当STRO导通晶体管512时,反相器530、532处的电荷能够放电到CLK信号中。如果在选通时间期间电容器充分地放电,则那么SEN节点处的电压将降低至低于晶体管514的阈值电压;从而截止晶体管914和存储在反相器530、532处的数据(例如,Vdd)通过CLK被放电。因此测试二极管530、532是否维持它们的充电或放电将指示验证过程的结果。在一个实施例中,在节点A处经由晶体管534(数据输出端)通过导通晶体管534栅极信号NCO能够读取结果。
电容器516的预充电电平(并且因此节点SEN处的预充电电压)由穿过晶体管510的电流限制。穿过晶体管510的电流由栅极电压H00限制。因而,节点SEN处的预充电电压由小于晶体管510的阈值电压的电压H00限制。通过这种布置,系统能够通过调节H00来调节节点SEN处的预充电电压。在预充电时,H00处的电压越大,使得SEN节点处的电压越大。在预充电时,H00处的电压越低,使得SEN节点处的电压越低。
当系统执行读取或验证操作(两者是感测操作)时,施加到单元的控制栅极的电压可能导致单元的(连接到位线的)沟道传导。如果这种情况发生,则电容器通过沟道放电,放电时电压会减小。
图6是描述来自图5的各种信号的行为的时序图。信号BLS在描绘的整个时间处于Vdd,并且信号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导通并且电容器516将在t0与t1之间预充电,如由SEN处的电压所描绘的。在时间t1,H00移到Vss,并且预充电完成。
信号X00用于允许电容器516与位线通信,使得电容器能够通过位线和选择的存储器单元放电。在时间t3,X00提高到Vblc+Vblx,其中Vblc是信号BLC的电压,Vblx是信号BLX的电压(两者在上面讨论过)。在时间t4,X00处的电压减小到Vss。在被称为选通时间的时间t3和t4之间,电容器516将与位线通信,以便允许它通过位线和选择的存储器单元(取决于选择的存储器单元的阈值电压)放电。信号CLK在时间t2提高到Vblx,并在时间t5降回到Vss,以防止电路中的任何战斗条件(fighting condition)并且允许电容器516的适当放电。
如上所讨论的,因为H00在t0与t1之间提高,所以电容器516(和SEN节点)将在t0与t1之间充电(预充电)。这在图6中描绘,SEN节点从Vss充电至Vpre。用于Vpre的实线表示响应于Vh00正在被施加到晶体管510的栅极的节点SEN(和电容器516)的预充电的示例。
当在t3时X00被提高时,电容器516能够初始地预充电位线,并且然后(如果阈值电压处于适当的电平)通过位线放电。如图6所描绘的,在t3与t4之间,如果存储器单元因为它的阈值电压小于或等于正在被施加到它的控制栅极的电压而导通(传导),则SEN节点处的电压将能够从Vpre耗散(dissipate)到Vpost_con。如果正在被测试的存储器单元的阈值电压高于被施加到它的控制栅极的电压,则电容器516将不会放电并且电压将保持在Vpre。如上所述,t3和t4之间的时段是选通时间并且能够被调整。
图6显示信号FCO在t7被提高至Vdd并在t9下降至Vss。信号STRO在t8被提高至Vdd并在t9下降。在时间t8与t9之间,在反相器530、532和晶体管514之间存在路径。如果节点SEN处的电压大于晶体管514的阈值电压,则那么将存在从反相器530、532到CLK的路径,并且反相器530、532处的数据将通过信号CLK并通过晶体管514耗散。如果节点SEN处的电压低于晶体管514的阈值电压(例如,如果电容器放电),则那么晶体管514将截止,并且由反相器530、532存储的电压不会耗散到CLK中。图6显示了在Vdd的节点A处的电压电平。如果电容器的电压没有耗散(例如,由于因为选择的存储器单元的阈值电压大于正在被测试的电压而没有足够的电流流动),则那么晶体管514将保持导通,并且节点A处的电压将耗散至(如虚线所描绘的)Vss。如果电容器的电压耗散(例如,由于因为选择的存储器单元的阈值电压低于正在被测试的电压而有足够的电流流动),则那么晶体管514将截止,并且节点A处的电压将保持在(如实线所描绘的)Vdd。通过将Vdd施加到信号NCO,节点A的输出经由晶体管534被提供给数据输出信号。
图7是描述根据图6的时序图执行的感测操作的流程图。在步骤702中,将适当的验证参考电压(例如,Vv、Vv1、Vv2、Vv3、Vv4、Vv5、Vv6或Vv7-见图8)施加到选择的字线。选择的字线连接到正在被编程和验证的存储器单元。连接到正在被编程和验证的存储器单元的位线被充电至预定的预充电电平。在步骤704中,所有的SEN节点都被预充电。在步骤706中,位线被允许例如通过放电电容器516(见图6的t5-t6)放电。在被称为“选通时间”或“积分时间”的预定时间段之后,如上所述对电容器516(或SEN节点)的电压采样以在步骤708中查看各自的(多个)存储器单元是否传导。如上所述,为连接到相同的字线和不同的位线的数千个存储器单元同时执行验证过程。
在成功的(具有验证)编程过程结束时,视情况而定,存储器单元的阈值电压应该在编程的存储器单元的阈值电压的一个或多个分布内,或者在擦除的存储器单元的阈值电压的分布内。图8示出了当每个存储器单元存储数据的四位时存储器单元阵列的示例阈值电压分布。然而,其他实施例可以使用每个存储器单元的其他数据容量(诸如,诸如每个存储器单元的一个、两个、三个或五个数据位)。图8显示了与十六个数据状态相对应的十六个阈值电压分布。第一阈值电压分布(数据状态)S0表示被擦除的存储器单元。其他十五个阈值电压分布(数据状态)S1-S15表示被编程的存储器单元,因此也被称为编程状态。每个阈值电压分布(数据状态)与该组数据位的预定值相对应。编程到存储器单元中的数据与单元的阈值电压电平之间的具体关系取决于单元采用的数据编码方案。在一个实施例中,使用格雷码分配将数据值分配给阈值电压范围,使得如果浮置栅极的阈值电压错误地移位到它的相邻物理状态,则仅一个位被影响。注意,状态N-1是状态N的相邻较低数据状态;例如,状态7是状态8的相邻较低数据状态。
图8还显示了用于从存储器单元读取数据的十五个读取参考电压Vr1、Vr2、Vr3、Vr4、Vr5、Vr6、Vr7、Vr8、Vr9、Vr10、Vr11、Vr12、Vr13、Vr14和Vr15。通过测试给定存储器单元的阈值电压是高于还是低于十五个读取参考电压,系统能够确定存储器单元在什么数据状态(即,S0、S1、S2、S3、...)。
图8还显示了十五个验证参考电压Vv1、Vv2、Vv3、Vv4、Vv5、Vv6、Vv7、Vv8、Vv9、Vv10、Vv11、Vv12、Vv13、Vv14和Vv15。当将存储器单元编程到数据状态S1时,系统将测试那些存储器单元是否具有大于或等于Vv1的阈值电压。当将存储器单元编程为数据状态S2时,系统将测试存储器单元是否具有大于或等于Vv2的阈值电压。当将存储器单元编程到数据状态S3时,该系统将确定存储器单元是否具有它们的大于或等于Vv3的阈值电压。当将存储器单元编程到数据状态S4时,系统将测试那些存储器单元是否具有大于或等于Vv4的阈值电压。当将存储器单元编程到数据状态S5时,系统将测试那些存储器单元是否具有大于或等于Vv4的阈值电压。当将存储器单元编程到数据状态S6时,系统将测试那些存储器单元是否具有大于或等于Vv6的阈值电压。当将存储器单元编程到数据状态S7时,系统将测试那些存储器单元是否具有大于或等于Vv7的阈值电压。当将存储器单元编程到数据状态S8时,系统将测试那些存储器单元是否具有大于或等于Vv8的阈值电压。当将存储器单元编程到数据状态S9时,系统将测试那些存储器单元是否具有大于或等于Vv9的阈值电压。当将存储器单元编程到数据状态S10时,系统将测试那些存储器单元是否具有大于或等于Vv10的阈值电压。当将存储器单元编程到数据状态S11时,系统将测试那些存储器单元是否具有大于或等于Vv11的阈值电压。当将存储器单元编程为数据状态S12时,系统将测试那些存储器单元是否具有大于或等于Vv12的阈值电压。当将存储器单元编程到数据状态S13时,系统将测试那些存储器单元是否具有大于或等于Vv13的阈值电压。当将存储器单元编程到数据状态S14时,系统将测试那些存储器单元是否具有大于或等于Vv14的阈值电压。当将存储器单元编程到数据状态S15时,系统将测试那些存储器单元是否具有大于或等于Vv15的阈值电压。
在一个被称为全序列编程的实施例中,存储器单元能够从擦除数据状态S0直接地被编程到编程数据状态S1-S15中的任何一个。例如,可以首先擦除要被编程的存储器单元的群体,使得群体中的所有存储器单元都在擦除数据状态S0中。然后,编程过程用于将存储器单元直接地编程为数据状态S1、S2、S3、S4、S5、S6、S7、S8、S9、S10、S11、S12、S13、S14和/或S15。例如,在一些存储器单元正在从数据状态S0被编程到数据状态S1的同时,其他存储器单元正在从数据状态S0被编程到数据状态S2和/或从数据状态S0被编程到数据状态S3等。图8的箭头表示全序列编程。除了全序列编程(包括但不限于多阶段/相位编程)之外,本文描述的技术还能够与其他类型的编程一起使用。
图9示出了与数据状态S0-S15相对应的阈值电压分布的另一实施例,所述状态S0-S15能够部分地重叠,因为错误校正能够处理一定百分比的出错的存储器单元。因为绘图的大小,所以对数据状态的引用已经被截断,使得使用0而不是S0、使用1而不是S1、使用2而不是S2,等。
图10是描述用于执行将连接到公共字线的存储器单元编程到一个或多个目标(例如,也被称为数据状态、编程状态或阈值电压范围)的过程的一个实施例的流程图。图10的过程能够被执行一次或多次以将数据编程到一组存储器单元。例如,图10的过程能够用于将存储器单元从S0编程到图8的全序列编程中的任何编程状态S1-S15。图10的过程能够用于针对本领域已知的多相位编程过程的任何相位编程存储器单元。
典型地,在编程操作期间被施加到控制栅极的编程电压被施加为一系列编程脉冲。编程脉冲之间是一组用于执行验证的验证脉冲。在许多实施方式中,编程脉冲的量随着每个连续脉冲以预定步阶大小增加。在图10的步骤770中,将编程电压(Vpgm)初始化为起始量(例如,
Figure BDA0001599562290000211
或另一合适的电平),并且将由状态机112维持的编程计数器PC初始化为1。在步骤772中,将编程信号Vpgm的一个或多个编程(电压)脉冲施加到选择的字线(选择的用于编程的字线),使得它被施加到多个NAND串。在一个实施例中,正在被同时编程的存储器单元组都连接到相同的字线(选择的字线)。未选择的字线接收一个或多个升压电压(例如,
Figure BDA0001599562290000212
伏特)以执行本领域已知的升压方案。在步骤772中,将编程脉冲同时施加到连接到选择的字线的所有存储器单元,使得连接到选择的字线的未被禁止的存储器单元被同时编程。也就是说,它们在相同的时间或重叠时间期间被编程(两者都被认为是同时的)。以这种方式,连接到选择的字线的未被禁止的所有存储器单元将同时将它们的阈值电压改变。另外地,如在下面更加详细描述的,步骤772包括分别地基于它们各自的目标状态并且在适当的(多个)时间选择性地升压存储器单元的沟道。
在步骤774中,使用适当的一组目标电平来验证适当的存储器单元以执行一个或多个验证操作。在一个实施例中,通过测试被选择的用于编程的存储器单元的阈值电压是否已经达到适当的验证参考电压(Vv1、Vv2、Vv3,...、Vv15)来执行验证过程。被成功验证已经达到它们的目标状态的存储器单元被锁定不能进一步编程。
在步骤776中,确定所有存储器单元是否已经达到它们的目标阈值电压(通过)。如果是这样,编程过程是完整和成功的,因为所有选择的存储器单元被编程和验证到它们的目标状态。在步骤778中报告“通过(PASS)”状态。如果在776中,确定并非所有存储器单元都已经达到它们的目标阈值电压(失败),则然后编程过程继续到步骤780。
在步骤780中,系统计数未达到它们各自的目标阈值电压分布的存储器单元的数量。也就是说,系统计数验证过程已经失败的存储器单元的数量。这种计数能够由状态机、控制器或其他逻辑完成。在一个实施方式中,每个感测块将存储它们各自的单元的状态(通过/失败)。在一个实施例中,存在一个总计数,所述总计数反映当前正在被编程的、在最后验证步骤失败的存储器单元的总数。在另一实施例中,为每个数据状态保留单独的计数。
在步骤782中,确定来自步骤780的计数是否小于或等于预定限制。在一个实施例中,预定限制是在存储器单元的页面的读取过程期间能够由ECC校正的位数。如果失败单元的数量小于或等于预定限制,则编程过程能够停止并且在步骤778中报告“通过”状态。在这样的情况下,足够的存储器单元被正确地编程,使得在读取过程期间能够使用ECC来校正尚未完全地被编程的少量剩余存储器单元。在一些实施例中,步骤780将为每个扇区、每个目标数据状态或其它单元计数失败单元的数量,并且在步骤782中那些计数将单独地或共同地与阈值比较。
在另一实施例中,预定限制能够小于在读取过程期间能够由ECC校正的位数,以允许将来的错误。当编程比页面的所有存储器单元少的存储器单元,或者比较只有一个数据状态(或小于所有状态)的计数时,那么预定限制能够是存储器单元的页面的读取过程期间能够由ECC校正的位数的(比例的或非比例的)部分。在一些实施例中,限制不是预定的。相反,它基于已经为页面计数的错误数、执行的编程擦除周期数或其他标准而改变。
如果失败的存储器单元的数量不小于预定限制,则那么编程过程在步骤784处继续并且针对编程限制值(PL)检查编程计数器PC。编程限制值的示例包括20和30;但是,也能够使用其他值。如果编程计数器PC不小于编程限制值PL,则那么编程过程被认为已经失败,并且在步骤788中报告失败的状态。如果编程计数器PC小于编程限制值PL,则那么过程在步骤786处继续,在此期间编程计数器PC增加1,并将编程电压Vpgm加大到下一个量。例如,下一个脉冲将具有比先前脉冲大步阶大小(例如0.1-0.4伏特的步阶大小)的量。在步骤786之后,过程循环回到步骤772,并将另一编程脉冲施加到选择的字线。在一个实施例中,图10的过程在状态机112(和/或控制器122)指导下由解码器114/124/132、代码和参数存储装置113、功率控制模块116、感测块SB1、SB2、...,SBp、读/写电路128执行。
当在每个存储器单元中使用十六个数据状态存储四位数据时,如图8和图9所描绘的,验证过程(见图10的步骤774)能够减慢编程过程。例如,一些系统将为十五个可能的编程状态S1-S15中的每一个编程状态执行验证操作。因此,图10的过程的每个迭代(循环)在步骤774期间能够包括十五个验证操作(例如,在选择的字线上的十五个验证脉冲)。大量的验证操作会减慢编程。因此,一些系统将仅为存储器单元可能潜在地实现的编程状态的子集进行验证。在一些实施例中,在给定时间正在被验证的编程状态的数量取决于自然阈值分布的宽度。因此,建议通过减小阈值电压分布的宽度来减少验证所需要的时间量,使得在给定时间较少的数据状态需要被验证。这里,自然阈值分布是指在没有任何编程验证操作的情况下将编程脉冲施加到字线而获得的阈值分布。它描绘在其处单元编程为“自然”的阈值电压。
图11和图12示出了典型的编程操作,其中所有目标状态的编程使能单元使它们的沟道类似地偏置。(如图8所示,当每个存储器单元存储四位数据时,该示例再次用于存储器单元阵列)。如图11所显示,随着编程,波形沿选择的字线施加:对于编程使能单元,随着编程循环增加,自然阈值电压Vt逐一移动通过每个状态,每个单元在验证时锁定。因此,如上面关于图10所描述的,从擦除状态S0开始,单元的Vt增加并且被编程到编程状态分布S1-S15中。如图12所示的情况,由于无缺陷单元将以大致相同的速率编程,因此这意味着较高的目标状态将要求比较低的目标状态更多的编程循环。
图12针对编程循环数量绘制了目标状态。阴影正方形与在每个循环的编程脉冲之后验证的状态相对应,其中使用仅检查可能仍然为无缺陷单元编程的那些状态的“智能验证”布置。如图所显示,编程到S1状态的所有单元都可能在十二个循环内验证,而S15状态可能需要多达40个循环。基于典型的单元群体和编程参数,使用
Figure BDA0001599562290000231
脉冲和
Figure BDA0001599562290000232
验证操作(对于15个状态每个状态10个)使得相对长的编程操作。为了减少脉冲和验证的数量,下面的讨论呈现了基于单元的目标状态选择性地提高沟道的技术。
更具体地,在多状态编程(multi-state program,MSP)方案中,与存储器单元相关联的沟道被提高到作为单元的目标编程状态的函数(function)的电势(Vch)。取决于实施例,这能够针对所有状态或子集来完成。较低的状态获得较高的沟道电势,而较高的状态获得较低的沟道电势。由于将相同的Vpgm脉冲施加到字线上的所有单元,因此较低状态实际上感觉到减慢了它的编程的较低的VPGM。因此,实际上,能够被同时编程多个状态是大致相同的速率。
图13的表格给出了沟道升压(Vch)值的一些示例以及它们与不同的目标状态的对应,其中*S0是指属于擦除状态的单元以及来自其他目标状态的任何锁定单元。最下面的行显示了正在被施加到选择的字线的20V的实际Vpgm值的结果有效Vpgm值。如所显示,目标为最高S15目标状态的单元看到完整的Vpgm值,而其他状态的有效Vpgm减小,使得每个脉冲相对较少的编程。这允许正在被编程到不同的目标状态的单元以大约相同的速率编程,使得对于相同的Vpgm脉冲,每个状态都有它自己的自然的Vt,并且随着编程循环计数增加,所有状态或多或少同时完成编程。
如图11所示,图14的表格再次针对编程循环数量绘制目标状态,但是现在结合了基于所有状态的目标状态的沟道升压。相对于图11,编程只需要10个编程脉冲,而传统编程情况中需要38个编程脉冲,因此提高了编程性能。由于在每个循环中都验证所有状态,因此验证次数保持不变。然而,由于所有的状态验证现在都在每次验证迭代处完成,因此验证迭代的总数被减少。在每次验证迭代处,都存在一定量的开销来预充电和放电每次验证中涉及的各种信号。因此,通过减少验证迭代的总数量,多状态编程还减少在验证操作中花费的总时间,得到较快的编程性能。
图15和图16是示出用于以控制器方式偏置NAND存储器阵列以提高编程存储器单元的沟道电势的示例性实施例的一些细节的一组波形,其中图16针对每个状态分别地设置沟道,图15着眼于单个状态。看图15,调节编程存储器单元的沟道电势(Vch)的传统方法是直接地将它们的BL-电压驱动到期望的电平。这在图15的左侧部分中显示,其中(随着将漏极选择栅极SGD_SEL提高到VSG并且然后下降到VSCD)未选择的位线被提高到禁止电平VBLC_Inhibit(VBLC_禁止),并且从编程选择的位线被保持在接地的编程使能电平。这允许选择的单元看到完整的Vpgm,而当SGD_SEL下降到VSG时,漏极侧选择栅极将关闭,让未选择的单元的沟道浮动。暂时忽略该图的中央部分,然后约定过程(convention process)将继续,未选择的字线进入Vpass,然后选择的字线进入Vpgm,如图15的右侧所显示。这使得所有选择的单元具有相同的Vch,即0V。
为了通过将较高的电压直接地施加到位线来进行具有图13中所示的取决于沟道电压的目标状态的分类的多状态编程,偏置电路将需要为具有S1状态目标状态的单元施加差不多
Figure BDA0001599562290000251
的位线电压。为了维持足够的Vsgd窗口,这将需要VBLC_Inhbit上升到差不多
Figure BDA0001599562290000252
这典型地不是从感测放大器传送到位线的实际电压,因为这样的高电压可能导致感测放大器晶体管故障。此外,使用感测放大器设置这样的值将消耗大量的功率/时间以将位线充电至这样高的电平。
为了避免这些问题,同时仍将字线提高到期望的电平,这里呈现的示例性实施例使用存储器单元的自升压特性来提高沟道电势。Vpass斜坡变为多步阶斜坡。与编程单元相关联的BL保持在接地,直到Vpass电平达到第一步阶(=VPASSL),在Vpass电平达到第一步阶之后它被提高到VBLC_Inhibit_Low(VBLC_禁止_低)的电平以关闭SGD。这让沟道浮动。这里VBLC_inhibit_low的值介于接地和VBLC_inhibit之间,将被挑选为足够高以截止相应的选择栅极,但略低于VBLC_inhibit以改善功耗并要求较少的时间来充电。在其他实施例中,能够使用VBLC_inhibit而不是中间VBLC_inhibit_low以简化从感测放大器供应的电平的数量。此后,如图16所示(其中r1和r2是相应的耦合比率),Vpass斜升到最终电平(=VPASS),Vch提高的量与(VPASS-VPASSL)成比例。通过控制VPASSL电平,存储器能够控制编程存储单元的Vch。具体地,较低的VPASSL将导致编程存储器单元的较高的Vch。通过具有多步阶VPASS斜坡,这个概念能够扩展到多状态。(在这个示例中,典型的值是:
Figure BDA0001599562290000253
Figure BDA0001599562290000254
Figure BDA0001599562290000255
)
图16着眼于每单元四位的实施例中的使用受控弱升压的多状态编程。图16与图15类似,现在在(在顶部指示的)时间t_S0和t_S15之间,字线通过一系列步阶从接地斜升到VPASS,每个目标状态一个斜坡,而不是图15的单个中间状态(VPASSL)。如图16中间的波形所示,每个选择的位线然后在取决于字线斜坡的电平的目标状态处从接地提高到关闭选择栅极的电平(VBLC_Inhibit_Low):例如,对于目标状态S3,位线在时间t_S2和t_S3之间的相应步骤VPASS_S3处提高。取决于实施例,多种变化是可能的。例如,图16是“完整”实施例,因为在字线斜坡期间针对每个目标状态提高位线并且因为每个状态具有它自己的步阶:更一般地,能够使用更小数量的步阶,其中几个目标状态共享一个步阶,并非所有目标状态都使用弱升压,或者两者兼而有之。而且,虽然示例性实施例使用从接地到VPASS的步阶式斜坡,虽然这些可以使得提高位线的时序更加准确,但是也能够使用诸如恒定斜坡的其他波形。
图17显示了针对图16的布置,不同的目标状态单元的沟道电压如何随时间变化。x轴上的时间与沿图16的顶部的时间相对应。任何给定状态的最终沟道电势来自VBLC(pre_charge)+Boosting。升压量与各自的沟道的选择栅极切断之后的Vpass摆动成正比,随着字线电压随后继续斜升到VPASS而提供随后的升压。在示例性实施例中,块的所有字线都斜升。在其他实施例中,比所有字线少的字线可以斜升,但是与选择的字线相邻的字线中的至少一条字线斜升以便拉高沟道。通过变化VPASS波形的斜坡,每个目标状态的沟道电压能够被调节。通过使用这种方法,能够获得例如从一个状态到另一状态的
Figure BDA0001599562290000261
的期望的电势差。(在图15和图16的示例中,典型的值能够差不多是:VBLC_inhibit=2.2V、VBLC_inhibit_low=1.5V、VPASS_S1=2.2V、(VPASS_Sn+1VPASS_Sn)=0.45V、VPASS=10V、VPGM=20V,r1~0.9、r2~0.02。)
图18是示出在施加编程脉冲之前偏置阵列的示例性实施例的方面的流程图。返回参考图10,步骤772包括基于它们各自的目标状态选择性地升压存储器单元的沟道。在步骤801,位线偏置电路将与沿第一字线的选择的存储器单元相对应的位线设置为接地,或者更一般地,将低电源电平设置为使能编程;并且将与沿第一字线的未选择的存储器单元相对应的位线设置为编程禁止电平。在步骤803,字线驱动器或偏置电路随后将上升波形施加到选择的字线和一个或多个附加的字线,所述附加的字线包括与第一字线相邻的字线。字线从接地斜坡到VPASS电平。在位线上升的同时,在步骤805处,位线驱动器或偏置电路取决于选择的存储器单元的目标状态将与选择的存储器单元相对应的位线从在上升波形的电平处的低电源电平提高,其中位线被提高到足以截止相应的选择栅极的电压。
上述技术能够有多种变化或替代方案。例如,返回参考图16,图16显示了属于编程状态的所有位线在某一点处进入VBLC_inhibit_low;然而,在其他情况中,一种选择是一些或所有状态停留在VBL=0V处以减少升压量。此外,虽然这里的主要讨论是在每单元四位配置的背景中,但是技术容易地施加到其他多状态格式,诸如每单元2或3位,其中Vpass梯级的数量将被减小。
如上所提到的,另一变化是目标状态的子集接收公共的弱升压量。图19与图14类似,但是在只有三个最低的未擦除目标状态被弱升压相同的量的情况下,图19着眼于每单元3位的实施例。更具体地,目标状态S1-S3接收相同的弱升压量,而目标状态S4-S7不接收沟道升压。这能够允许在较高电平处开始的编程梯级波形的使用,使得在第一个脉冲之后正在被编程为S1和S4目标状态两者的单元能够更快的开始验证。在没有弱升压的典型的编程算法下,S4状态将直到比方说在第7个脉冲周围才开始验证,并且S7状态中较低的状态可能花费大约20个脉冲。
图20呈现了一个替代实施例,其中未选择的字线使用标准偏置波形,但是其中选择的字线使用修改的编程波形。图20的示例在每个实施例中使用4位,其中较低组状态(S1-S8)使用弱升压,高状态(S9-S15)不使用。如图20所显示,与禁止单元(BL禁止)相对应的位线、较高目标状态(BL(S9到S15))的位线和漏极侧选择栅极(SGD_SEL)全部用正常波形偏置。虽然未显示,但是未选择的字线和其他选择的栅极也根据正常波形偏置。选择的字线(WLn)和与较低目标状态(BL(S1至S8))相对应的位线的波形被修改以为较低目标状态引入弱升压。
在典型的编程操作中,WLn将首先与其他字线一起进入VPASS,然后VPGM被施加。在图20中,WLn代替的从VPASS进入中间电平VPGM_LOW,并且然后进入VPGM。当WLn处于VPGM_LOW中间电平时,通过将BL(S1至S8)波形从编程使能电平提高到足以关闭相应的漏极侧选择栅极的电平而将弱升压施加到较低目标状态,让沟道浮动。在这个示例中,使用VBLC_inhibit,但是,如上面关于图15和图16所讨论的,能够使用诸如VBLC_inhibit_low的更低值。用于多状态编程的VPGM和VPGM_LOW之间的差被标记为DVPGM_MSP,其中该电压摆动的量被选择为向S1-S8目标状态的沟道电压Vch提供期望的弱升压量以减慢它们的编程。
在图20中,P_MSP1与将WLn斜升到初始VPGM_LOW电平的时间相对应。P_MSP2是将BL(S1至S8)从0V斜升到VBLC_inhibit的时间,此后WLn达到完全VPGM电平。如果想要对于不同的目标状态的升压的更大数目的区别电平,则附加的中间步骤能够被引入到WLn波形中,位线在与期望的目标状态相对应的步骤处被提高。
图21描述了另一组实施例,再次针对每单元4位的示例,并且其中目标状态S1-S8接收弱提升,但是S9-S15目标状态不接收弱升压。不是像图15、图16和图20那样在一组步骤中提高字线的电平,而是基于他们的目标状态在一个步骤处提高用于弱升压的位线,字线在没有多个步骤的情况下替代地斜升到VPASS电平。在这个示例中,被禁止的单元和编程的单元两者的字线接收相同的VPASS电平,字线从接地斜坡到VPASS。对于要被禁止的单元,在提高字线之前将位线设置为VBLC_inhibit。对于正在被编程而没有弱升压的单元,位线停留在0V的编程使能电平。对于要用弱升压编程的单元,位线将被提高到VBLC_inhibit_low,但是有相对于在字线上斜坡的VPASS的开始的延迟。在图21的中间三条轨迹中显示了用于三种情况的沟道升压量的结果。由于在将位线提高到单元的VBLC_inhibit_low以接收弱升压中存在延迟,因此沟道电势(Vch:编程单元(S1-S8))小于禁止单元的正常Vboost。通过控制延迟时间,沟道电势能够变化。通过使用不同的延迟量,这种布置能够被扩展到不同的弱升压的电平,与图16所显示的类似,但是使用VPASS的非步阶式上升波形。
由于该方法依赖于升压,因此编程量的减慢量可以是字线的函数;也就是说,它可以是NAND串内的字线的位置的函数。因此,合并Vpass-stair情况偏置电平的字线依赖值可能是有用的。并且,升压量有时可能是单元Vt的函数。在这种情况下,合并取决于Vpass-stair情况偏置电平的编程循环计数可能是有用的。出于同样的原因,每个梯级情况电平之间的增量在所有目标状态之间可能不相等。
这里呈现的这种升压技术也能够被扩展以合并编程变化,诸如“快速通过写入”或“自然Vt压缩”。在快速通过写入技术中,正在被编程的单元在较低电平以及它们的目标状态的通常验证电平处被验证,并且当单元在较低电平处验证时,其编程诸如通过部分地禁止单元被减慢。在上面呈现的那种VPASS斜坡布置中,这能够通过在较早的步骤提高相应的位线来实现。
针对自然阈值电压压缩,用于多状态编程的沟道升压概念能够被扩展为包括自然Vt压缩(natural Vt compaction,NVC)以减少VPGM脉冲和验证的数量。能够针对图22A-C、图23A和图23B来说明自然Vt压缩概念。
当将单元编程到状态N时,一些单元将比其他单元编程的快,如图22A所示,图22A显示了编程操作中State_N处的期望的分布以及在某个中间点处的更宽的自然Vt分布的分布。图22A显示恰好在自然阈值分布的上尾(upper tail)通过触发点之前的情况(诸如,比方说对于状态N-2,较低的验证电平)。直到这一点,所有进入状态N的单元都已经被编程,相同的沟道电平Vch被施加到所有状态N单元上。一旦最快的几个单元通过触发点,就会完成一组附加的验证(诸如在N-3、N-5和N-7电平处),以将自然Vt分布划分为4片(对于本示例)以做自然Vt压缩。
图22B是恰好在检测触发通过之后的情况。较慢单元上的Vch被减小以加速他们的编程。减小量(=ΔNV)是自然Vt分布内单元位置的函数。图22C表示由于沟道升压量的不同而导致的在随后的脉冲之间的压缩效应。自然Vt的下尾(lower-tail)移动得更快(由于Vch较低),这在几个脉冲上压缩了自然Vt分布。这些Vch偏置能够保持不变,直到编程完成。
图23A和图23B是对于任何给定状态,使用取决于单元在自然Vt分布中的位置的Vch调节的自然Vt压缩方法的示意图。在这个示例中,自然Vt分布被划分为4片,并且Vch在较慢的单元上减小(与单元慢的量成正比),这将加速那些单元编程并且因此压缩自然Vt分配。这里State_N被显示为示例,然而在多状态编程的情况下,这能够针对多个或所有状态同时的并行发生。例如,这能够通过为给定状态的不同的压缩区域引入子步骤,在稍后状态的VPASS步骤处将位线提高到较慢的单元的VBLC_inhibit_low,或者这些的组合而被完成。
如上所述,多状态编程技术允许通过在它们各自的沟道中使用受控的状态依赖弱升压量来调节每个目标状态的编程速度来同时编程多个不同的目标状态。在基于目标状态的时间通过使用多级WL斜坡(VPASS斜坡)结合位线上的电压的提高来控制沟道升压。
一个实施例包括一种装置,其中该装置包括具有沿字线连接的存储器单元的一个或多个NAND串,并且其中每个NAND串的存储器单元通过相应的选择栅极连接到相应的位线。控制电路连接到字线和位线,并且被配置为将连接到第一字线的多个存储器单元从初始状态同时编程到多个目标状态中的相应的一个状态。位线偏置电路被配置为将与沿第一字线的未选择的存储器单元相对应的位线偏置到编程禁止电平,并且将与沿第一字线的选择的存储器单元相对应的位线偏置到低电源电平。字线偏置电路被配置为将包括第一字线的一组一条或多条字线上的电压从低电源电平提高到第一电压电平。当字线偏置电路将一组一条或多条字线上的电压从低电源电平提高到第一电压电平时,位线偏置电路被配置为将与选择的存储器单元相对应的位线上的电压从低电源电平提高到基于一组一条或多条字线上的、取决于相应的选择的存储器单元的目标状态的上升电压的电平的第二电压电平,其中第二电压电平具有足以截止对应的选择栅极的量,选择的存储器单元通过所述选择栅极连接到相应的位线。编程电路被配置为随后将编程脉冲发送到第一字线。
在一个示例性实施例中,将沿非易失性存储器阵列的第一字线的、选择的存储器单元从初始状态编程到多个目标状态中的相应的一个状态,其中非易失性存储器阵列由多个NAND串形成,在所述NAND串中存储器单元沿包括第一字线的多条字线连接并且其中每个NAND串的存储器单元通过选择栅极连接到相应的位线。编程包括将一个或多个编程脉冲的序列施加到偏置的存储器阵列的第一字线,在每个编程脉冲之前偏置存储器阵列。偏置存储器阵列包括:将与沿第一字线的选择的存储器单元相对应的位线设置为低电源电平,并将与沿第一字线的未选择的存储单元相对应的位线设置为编程禁止电平;随后将从低电源电平上升到第一电压电平的波形施加到包括第一字线的一组一条或多条字线;并且针对与沿第一字线的选择的存储器单元相对应的每条位线,将位线从低电源电平提高到基于选择的存储器单元的目标状态的波形的电平处的第二电压电平,所述第二电压电平足以截止相应的选择栅极。
其他示例性实施例呈现一个或多个NAND串的装置,在一个或多个NAND串中存储器单元沿字线连接,并且其中每个NAND串的存储器单元通过选择栅极连接到相应的位线。部件连接到字线和位线,用于将沿第一字线的多个存储器单元从初始状态同时编程到多个目标状态中的一个目标状态,其中编程包括NAND串的偏置以及随后将编程脉冲施加到偏置的NAND串的第一字线。所述偏置包括将与沿第一字线的未选择的存储器单元相对应的位线设置为编程禁止电平,并将与沿第一字线的选择的存储器单元相对应的位线设置为低电源电平。偏置还包括随后将从低电源电平上升到第一电压电平的电压施加到包括第一字线的一组一条或多条字线。对于与沿第一字线的选择的存储器单元相对应的位线,偏置还包括将位线从低电源电平提高到具有足以截止相应的选择栅极的量的电压电平,所述电压电平在施加到一组一条或多条位线的、基于选择的存储器单元的目标状态的电压的电平处。
在各种实施例中,用于同时编程多个存储器单元的部件可以包括读/写电路128、感测块129和连接以在编程和验证操作期间偏置字线、位线和其他阵列元素的其他元件,所述其他元件包括驱动器电路、电荷泵、电压调节器或其他电路。其他实施例可以包括用于同时编程多个存储器单元的类似的或等效的部件。
为了本文档的目的,应该注意的是,附图中描绘的各种特征的尺寸可能不是必然的按比例绘制。
为了本文档的目的,可以使用说明书中对“实施例”、“一个实施例”、“一些实施例”或“另一实施例”的参考来描述不同的实施例或相同的实施例。
为了本文档的目的,连接可以是直接连接或间接连接(例如,经由一个或多个其他部分)。在一些情况中,当元件被称为连接或耦合到另一元件时,元件可以直接地连接到另一元件或经由中间元件间接地连接到另一元件。当元件被称为直接地连接到另一元件时,元件与另一元件之间不存在中间元件。如果两个设备直接地或间接地连接使得它们能够在它们之间通信电子信号,那么两个设备“在通信”。
为了本文档的目的,“基于”一词可以被看作“至少部分依据”。
为了本文档的目的,在没有附加上下文的情况下,诸如“第一”对象、“第二”对象和“第三”对象的数字术语的使用可能不意味着对象的排序,而是可以替代的用于识别的目的以识别不同的对象。
为了本文档的目的,术语对象的“组”可以指一个或多个对象的“组”。
上述详细描述是为了说明和描述的目的而呈现的。它不是穷举的或限制于所公开的精确形式。鉴于以上教导,许多修改和变化是可能的。挑选所描述的实施例以便最好地解释所提出的技术及其实际应用的原理,从而使得本领域的其他技术人员可以在各种实施例中以及使用适用于预期的特定用途的各种修改来最佳地利用它们。意图是由所附权利要求限定范围。

Claims (8)

1.一种存储器装置,包括:
一个或多个NAND串,其具有沿字线连接的存储器单元,并且其中每个NAND串的存储器单元通过相应的选择栅极连接到相应的位线;和
控制电路,连接到所述字线和位线,所述控制电路被配置为将连接到第一字线的多个存储器单元从初始状态同时编程到多个目标状态中的相应的一个目标状态;
位线偏置电路,被配置为将与沿所述第一字线的未选择的存储器单元相对应的位线偏置到编程禁止电平,并且将与沿所述第一字线的选择的存储器单元相对应的位线偏置到低电源电平;
字线偏置电路,被配置为将包括第一字线的一组多于一条字线上的电压同时从低电源电平提高到第一电压电平;
其中,当所述字线偏置电路正将所述一组多于一条字线上的电压同时从所述低电源电平提高到所述第一电压电平时,所述位线偏置电路还被配置为将与选择的存储器单元相对应的位线上的电压从所述低电源电平提高到第二电压电平,所述第二电压电平基于所述一组多于一条字线上的、取决于相应的选择的存储器单元的目标状态的上升电压的电平,所述第二电压电平具有足以截止相应的选择栅极的量,所述选择的存储器单元通过所述相应的选择栅极连接到相应的位线;和
编程电路,被配置为随后将编程脉冲发送到所述第一字线,
其中,所述字线偏置电路以梯级波形将所述第一字线和一个或多个附加的字线上的电压从所述低电源电平提高到所述第一电压电平,其中所述梯级波形具有介于所述低电源电平和所述第一电压电平之间的多个步阶;
其中位线偏置电路将与选择的存储器单元相对应的位线从所述低电源电平提高到在所述多个步阶中的取决于选择的存储器单元的目标状态的一个步阶处的所述第二电压电平,并且
所述多个步阶的数量与所述目标状态的数量相同。
2.如权利要求1所述的存储器装置,其中所述一组多于一条字线包括所述第一字线和与所述第一字线相邻的字线。
3.如权利要求1所述的存储器装置,其中所述第二电压电平介于所述低电源电平和所述编程禁止电平之间。
4.如权利要求1所述的存储器装置,其中所述编程脉冲是一系列编程脉冲中的一个编程脉冲,并且所述编程还包括在偏置所述位线之前的编程验证,并且其中沿所述第一字线的未选择的存储器单元包括已经验证为被编程为相应的目标状态的一个或多个存储器单元。
5.如权利要求4所述的存储器装置,将与沿所述第一字线的选择的存储器单元相对应的位线从所述低电源电平提高到所述第二电压电平的步阶还取决于验证的结果。
6.如权利要求1所述的存储器装置,其中所述梯级波形取决于所述第一字线在所述NAND串内的位置。
7.如权利要求1所述的存储器装置,其中NAND串是其中所述存储器单元在硅衬底上方以多个物理级布置的单片三维半导体存储器器件的存储器阵列的部分并且包括电荷存储介质。
8.一种操作存储器装置的方法,包括:
将沿非易失性存储器阵列的第一字线的多个选择的存储器单元从初始状态编程到多个目标状态中的相应的一个目标状态,所述非易失性存储器阵列由多个NAND串形成,在所述NAND串中所述存储器单元沿包括所述第一字线的多条字线连接,并且其中每个NAND串的所述存储器单元通过选择栅极连接到相应的位线,所述编程包括:
将一个或多个编程脉冲的序列施加到所述存储器阵列的第一字线;以及
在每个编程脉冲之前,偏置存储器阵列,其中所述偏置存储器阵列包括:
将与沿所述第一字线的选择的存储器单元相对应的位线设置为低电源电平,并且将与沿所述第一字线的未选择的存储器单元相对应的位线设置为编程禁止电平;
随后将从所述低电源电平上升到第一电压电平的波形同时施加到包括所述第一字线的一组多于一条字线;以及
对于与沿所述第一字线的选择的存储器单元相对应的每条位线,将所述位线从所述低电源电平提高到基于选择的存储器单元的目标状态的波形的电平处的第二电压电平,所述第二电压电平足以截止相应的选择栅极,
其中,所述第一字线和一个或多个附加的字线上的电压以梯级波形从所述低电源电平提高到所述第一电压电平,其中所述梯级波形具有介于所述低电源电平和所述第一电压电平之间的多个步阶;
其中与选择的存储器单元相对应的位线从所述低电源电平提高到在所述多个步阶中的取决于选择的存储器单元的目标状态的一个步阶处的所述第二电压电平,并且
所述多个步阶的数量与所述目标状态的数量相同。
CN201810218890.1A 2017-05-18 2018-03-16 使用用于非易失性存储器的受控弱升压的多状态编程 Active CN108962317B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/599,243 2017-05-18
US15/599,243 US9842657B1 (en) 2017-05-18 2017-05-18 Multi-state program using controlled weak boosting for non-volatile memory

Publications (2)

Publication Number Publication Date
CN108962317A CN108962317A (zh) 2018-12-07
CN108962317B true CN108962317B (zh) 2022-10-25

Family

ID=60516366

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810218890.1A Active CN108962317B (zh) 2017-05-18 2018-03-16 使用用于非易失性存储器的受控弱升压的多状态编程

Country Status (3)

Country Link
US (1) US9842657B1 (zh)
CN (1) CN108962317B (zh)
DE (1) DE102018105685A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11087849B2 (en) 2018-05-08 2021-08-10 Sandisk Technologies Llc Non-volatile memory with bit line controlled multi-plane mixed sub-block programming
JP2020009509A (ja) 2018-07-03 2020-01-16 キオクシア株式会社 半導体記憶装置
US10546641B1 (en) * 2018-12-07 2020-01-28 Micron Technology, Inc. Memory devices with controlled wordline ramp rates, and associated systems and methods
CN109863557A (zh) 2019-01-23 2019-06-07 长江存储科技有限责任公司 用于对存储器系统进行编程的方法
US10839923B1 (en) * 2019-06-07 2020-11-17 Sandisk Technologies Llc Predictive boosting for 3D NAND
US11200952B2 (en) 2019-07-22 2021-12-14 Samsung Electronics Co., Ltd. Non-volatile memory device
KR20210011209A (ko) 2019-07-22 2021-02-01 삼성전자주식회사 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 프로그램 방법
US11081184B2 (en) * 2019-10-30 2021-08-03 Sandisk Technologies Llc Method of concurrent multi-state programming of non-volatile memory with bit line voltage step up
KR20210069257A (ko) * 2019-12-03 2021-06-11 에스케이하이닉스 주식회사 메모리 장치 및 그것의 동작 방법
US11004525B1 (en) * 2020-02-20 2021-05-11 Sandisk Technologies Llc Modulation of programming voltage during cycling
CN112349319B (zh) * 2020-11-09 2023-12-29 无锡舜铭存储科技有限公司 存储器读写控制电路及其操作方法
US20220231050A1 (en) * 2021-01-15 2022-07-21 Taiwan Semiconductor Manufacturing Company, Ltd. Memory device and method of forming the same
US11770934B2 (en) * 2021-01-15 2023-09-26 Taiwan Semiconductor Manufacturing Company, Ltd. Semiconductor structure and method of fabricating the same

Family Cites Families (20)

* Cited by examiner, † Cited by third party
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 不揮発性半導体記憶装置およびそのデータ書き込み方法
US7237074B2 (en) 2003-06-13 2007-06-26 Sandisk Corporation Tracking cells for a memory system
US7020026B2 (en) 2004-05-05 2006-03-28 Sandisk Corporation Bitline governed approach for program control of non-volatile memory
US7023733B2 (en) 2004-05-05 2006-04-04 Sandisk Corporation Boosting to control programming of non-volatile memory
US7286408B1 (en) 2006-05-05 2007-10-23 Sandisk Corporation Boosting methods for NAND flash memory
US20070297247A1 (en) 2006-06-26 2007-12-27 Gerrit Jan Hemink Method for programming non-volatile memory using variable amplitude programming pulses
US7508715B2 (en) * 2007-07-03 2009-03-24 Sandisk Corporation Coarse/fine program verification in non-volatile memory using different reference levels for improved sensing
US7558117B2 (en) * 2007-08-30 2009-07-07 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory device
US8233324B2 (en) * 2010-03-25 2012-07-31 Sandisk Il Ltd. Simultaneous multi-state read or verify in non-volatile storage
US8638606B2 (en) * 2011-09-16 2014-01-28 Sandisk Technologies Inc. Substrate bias during program of non-volatile storage
US8605507B2 (en) * 2012-01-12 2013-12-10 Macronix International Co., Ltd. Flash programming technology for improved margin and inhibiting disturbance
US9087601B2 (en) * 2012-12-06 2015-07-21 Sandisk Technologies Inc. Select gate bias during program of non-volatile storage
US9218874B1 (en) * 2014-08-11 2015-12-22 Sandisk Technologies Inc. Multi-pulse programming cycle of non-volatile memory for enhanced de-trapping
US9305648B2 (en) * 2014-08-20 2016-04-05 SanDisk Technologies, Inc. Techniques for programming of select gates in NAND memory
US9947682B2 (en) 2014-11-18 2018-04-17 Sandisk Technologies Llc Three dimensional non-volatile memory with separate source lines
US9530506B2 (en) * 2014-11-21 2016-12-27 Sandisk Technologies Llc NAND boosting using dynamic ramping of word line voltages
US9236128B1 (en) * 2015-02-02 2016-01-12 Sandisk Technologies Inc. Voltage kick to non-selected word line during programming
US20160314844A1 (en) 2015-04-22 2016-10-27 Sandisk Technologies Inc. Natural threshold voltage compaction with dual pulse program for non-volatile memory
JP6122478B1 (ja) * 2015-10-22 2017-04-26 ウィンボンド エレクトロニクス コーポレーション 不揮発性半導体記憶装置

Also Published As

Publication number Publication date
CN108962317A (zh) 2018-12-07
US9842657B1 (en) 2017-12-12
DE102018105685A1 (de) 2018-11-22

Similar Documents

Publication Publication Date Title
CN108962317B (zh) 使用用于非易失性存储器的受控弱升压的多状态编程
KR102327121B1 (ko) 다중 평면 혼합 서브블록 프로그래밍에 의한 비휘발성 메모리
US11081179B2 (en) Pre-charge voltage for inhibiting unselected NAND memory cell programming
CN108292519B (zh) 用于非易失性存储器的子块模式
CN106067322B (zh) 利用两阶段编程的非易失性存储器
CN109074849B (zh) 非易失性存储器和操作非易失性存储器的方法
CN108461106B (zh) 将存储器单元分组为子区块用于编程速度的统一性
US9236128B1 (en) Voltage kick to non-selected word line during programming
US10235294B1 (en) Pre-read voltage pulse for first read error handling
US10553298B1 (en) Non-volatile memory with countermeasure for select gate disturb
US10861537B1 (en) Countermeasures for first read issue
US10388390B2 (en) Word line dependent pass voltages in non-volatile memory
CN110770837B (zh) 用于减少热电子注入型读取干扰的存储器设备和方法
US20200051648A1 (en) Non-volatile memory with countermeasures for select gate disturb during program pre-charge
KR20130125754A (ko) Nand 플래시 메모리에서 워드라인들의 고속 정착을 위한 기술
KR20110121674A (ko) 비휘발성 메모리 및 인접한 교란에 대해 파이프라인식 정정으로 감지하는 방법
KR20110121676A (ko) 비휘발성 메모리 및 연속적인 스캐닝 시간-영역 감지를 이용한 방법
US20160314844A1 (en) Natural threshold voltage compaction with dual pulse program for non-volatile memory
WO2016025167A1 (en) Multi-pulse programming cycle of non-volatile memory for enhanced de-trapping
WO2021096555A1 (en) Adaptive vpass for 3d flash memory with pair string structure
US9711211B2 (en) Dynamic threshold voltage compaction for non-volatile memory
TW202312175A (zh) 未選擇子區塊之程式化相依偏壓
CN115527588A (zh) 使用选择性跳过的验证脉冲进行存储器编程以用于性能改进
US20230402111A1 (en) Sense amplifier architecture providing reduced program verification time
US20240055059A1 (en) Non-volatile memory with early dummy word line ramp down after precharge

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