掌桥专利:专业的专利平台
掌桥专利
首页

具有用于慢平面上的最后状态的增强编程操作的非易失性存储器

文献发布时间:2024-07-23 01:35:12


具有用于慢平面上的最后状态的增强编程操作的非易失性存储器

相关申请的交叉引用

出于所有目的,本申请要求2022年1月20日提交且名称为“具有用于慢平面上的最后状态的增强编程操作的非易失性存储器(NON-VOLATILE MEMORY WITH ENHANCEDPROGRAM OPERATION FOR LAST STATE ON SLOW PLANE)”的美国非临时申请17/580,293号的全部内容的权益并据此将这些内容以引用方式并入本文。

背景技术

本公开涉及非易失性存储装置。

半导体存储器广泛用于各种电子设备,诸如蜂窝电话、数码相机、个人数字助理、医疗电子器件、移动计算设备、服务器、固态驱动器、非移动计算设备和其他设备。半导体存储器可以包括非易失性存储器或易失性存储器。即使当非易失性存储器未连接到电源(例如,电池)时,非易失性存储器也允许存储和保留信息。非易失性存储器的一个示例为闪存存储器(例如,NAND型闪存存储器和NOR型闪存存储器)。

非易失性存储器的用户可将数据存储在非易失性存储器中并随后读回该数据。例如,数码相机可拍摄照片并将该照片存储在非易失性存储器中。随后,数码相机的用户可通过使该数码相机从非易失性存储器读取照片来查看该照片。当将数据存储到非易失性存储器时,性能是重要的,因为用户通常不喜欢等待存储器完成编程/写入操作。

附图说明

类似编号的元件是指不同的图中的共同部件。

图1是描绘存储系统的一个实施方案的框图。

图2A是存储器管芯的一个实施方案的框图。

图2B是集成存储器组件的一个实施方案的框图。

图3A和图3B描绘了集成存储器组件的不同实施方案。

图4是单片三维存储器结构的一个实施方案的一部分的透视图。

图4A是具有两个平面的存储器结构的一个实施方案的框图。

图4B描绘了存储器单元的块的一个实施方案的一部分的顶视图。

图4C描绘了存储器单元的块的一个实施方案的一部分的剖视图。

图4D描绘了存储器单元的块的一个实施方案的一部分的剖视图。

图4E描绘了存储器单元的块的一个实施方案的一部分的剖视图。

图4F是存储器单元的竖直列的一个实施方案的剖视图。

图4G描绘了实现竖直NAND串的竖直列的横截面。

图4H描绘了实现竖直NAND串的竖直列的横截面。

图4I描绘了实现竖直NAND串的竖直列的横截面。

图4J同一个块的多个子块中的多个NAND串的示意图。

图5A描绘了阈值电压分布。

图5B描绘了阈值电压分布。

图5C描绘了阈值电压分布。

图5D描绘了阈值电压分布。

图5E描绘了阈值电压分布。

图5F描绘了阈值电压分布。

图6是描述用于对非易失性存储器进行编程的过程的一个实施方案的流程图。

图7是存储器管芯的平面的顶视图。

图8是控制管芯上的电路的顶视图。

图9是控制管芯上的电路的顶视图。

图10是非易失性存储装置的一部分的框图。

图11是用于编程的过程的一个实施方案的流程图。

图12是用于编程的过程的一个实施方案的流程图。

图13是用于编程的过程的一个实施方案的流程图。

图14是用于编程的过程的一个实施方案的流程图。

图15描绘了在编程期间施加到选定字线的电压波形。

图16描绘了在编程期间施加到选定字线的电压波形。

具体实施方式

一些非易失性存储器在相同的管芯上包括多平面。平面包含连接到相同的位线集合的多个块。在一个实施方案中,块包括连接到共同字线集合的多个非易失性存储器单元(例如,多个NAND串)。在一些实施方案中,块是擦除单位。

为了增加数据被编程(即写入或存储)的速度,数据被同时编程到多平面存储器的多平面。然而,并非所有平面都以相同速度编程数据。例如,由于制造过程中的变化(或其他变化),一些平面可以比其他平面更快地编程。当数据被同时编程到多平面时,完成编程的总时间由最慢的平面确定。因此,为了提高多平面存储器的编程速度,建议加速针对一个或多个慢平面的最后一个或多个数据状态的编程。例如,在慢平面完成对除最后数据状态以外的所有数据状态的编程之后,增强编程操作(例如,加速编程)可以被应用于慢平面的最后数据状态。由于多平面模式中的编程时间取决于最慢平面,因此所提出的技术有效地减少了编程时间。

一个实施方案包括布置在多平面中的多个非易失性存储器单元和连接到该多平面的控制电路。该控制电路被配置为执行编程过程以将数据同时编程到多平面中,包括针对多平面同时地执行该编程过程的第一部分和执行该编程过程的第二部分。该控制电路被配置为基于该编程过程的第一部分识别多平面中的慢平面,并且在编程过程的第二部分期间相对于多平面中的另一平面增加针对慢平面的编程速度。

图1是实现本文所述的本发明技术的存储系统100的一个实施方案的框图。在一个实施方案中,存储系统100是固态驱动器(“SSD”)。存储系统100还可为存储卡、USB驱动器或其他类型的存储系统。本发明的技术不限于任何一种类型的存储器系统。存储系统100连接到主机102,主机可为计算机、服务器、电子设备(例如,智能电话、平板电脑或其他移动设备)、器具或使用存储器并具有数据处理能力的另一种装置。在一些实施方案中,主机102与存储系统100分开,但连接到存储系统。在其他实施方案中,存储系统100嵌入在主机102中。

图1中描绘的存储系统100的部件为电子电路。存储系统100包括连接到非易失性存储器130和本地高速易失性存储器140(例如,DRAM)的存储器控制器120。存储器控制器120使用本地高速易失性存储器140来执行某些功能。例如,本地高速易失性存储器140将逻辑存储在物理地址转换表(“L2P表”)中。

存储器控制器120包括连接到主机102并与其通信的主机接口152。在一个实施方案中,主机接口152通过PCI Express(PCIe)实现NVM Express(NVMe)。也可使用其他接口,诸如SCSI、SATA等。主机接口152还连接到片上网络(NOC)154。NOC是集成电路上的通信子系统。NOC可跨越同步和异步时钟域,或者使用非时钟的异步逻辑。NOC技术将网络理论和方法应用于片上通信,并且与常规总线和交叉开关互连相比带来了显著的改善。与其他设计相比,NOC提高了片上系统(SoC)的可扩展性以及复杂SoC的电源效率。NOC的导线和链路由许多信号共享。由于NOC中的所有链路可在不同的数据分组上同时运行,因此实现了高度并行。因此,随着集成子系统的复杂性不断增大,与先前的通信架构(例如,专用的点对点信号线、共享总线或具有桥的分段总线)相比,NOC提供增强的性能(诸如吞吐量)和可扩展性。在其他实施方案中,NOC 154可由总线替换。处理器156、ECC引擎158、存储器接口160和DRAM控制器164连接到NOC 154并与其通信。DRAM控制器164用于操作本地高速易失性存储器140(例如,DRAM)并与其通信。在其他实施方案中,本地高速易失性存储器140可为SRAM或另一种类型的易失性存储器。

ECC引擎158执行纠错服务。例如,ECC引擎158根据实现的ECC技术执行数据编码和解码。在一个实施方案中,ECC引擎158是由软件编程的电子电路。例如,ECC引擎158可以是能够编程的处理器。在其他实施方案中,ECC引擎158是不具有任何软件的定制的专用硬件电路。在另一个实施方案中,ECC引擎158的功能由处理器156实现。

处理器156执行各种控制器存储器操作,诸如编程、擦除、读取和存储器管理过程。在一个实施方案中,处理器156由固件编程。在其他实施方案中,处理器156是不具有任何软件的定制的专用硬件电路。处理器156还实现转换模块,作为软件/固件过程或作为专用硬件电路。在许多系统中,使用与一个或多个存储器管芯相关联的物理地址将非易失性存储器向内寻址到存储系统。然而,主机系统将使用逻辑地址来寻址各种存储器位置。这使主机能够将数据分配给连续的逻辑地址,同时存储系统空闲下来按希望的那样在一个或多个存储器管芯的位置间存储数据。为了实现这种系统,存储器控制器120(例如,转换模块)在由主机使用的逻辑地址与由存储器管芯使用的物理地址之间执行地址转换。一个示例具体实施是维护识别逻辑地址与物理地址之间的当前转换的表(即,上述L2P表)。L2P表中的条目可包括逻辑地址和对应物理地址的标识。虽然逻辑地址到物理地址表(或L2P表)包括字词“表”,但它们不必是字面意义上的表。而是,逻辑地址到物理地址表(或L2P表)可为任何类型的数据结构。在一些示例中,存储系统的存储器空间非常大,以致于本地存储器140不能保存所有L2P表。在这种情况下,将整组L2P表存储在存储器管芯130中,并且将L2P表的子集高速缓存(L2P高速缓存)在本地高速易失性存储器140中。

存储器接口160与非易失性存储器130通信。在一个实施方案中,存储器接口提供切换模式接口。也可使用其他接口。在一些示例具体实施中,存储器接口160(或控制器120的另一部分)实现用于向一个或多个存储器管芯传输数据以及从一个或多个存储器管芯接收数据的调度器和缓冲器。

在一个实施方案中,非易失性存储器130包括一个或多个存储器管芯。图2A是包括非易失性存储器130的存储器管芯200的一个实施方案的功能框图。非易失性存储器130的一个或多个存储器管芯中的每一者都可以实现为图2A的存储器管芯200。图2A中描绘的部件是电路。存储器管芯200包括存储器结构202(例如存储器阵列),该存储器结构可包括非易失性存储器单元的多平面,如下文更详细地描述。存储器结构202的阵列端子线包括组织成行的一个或多个各种字线层,以及组织成列的一个或多个各种位线层。然而,也可以实现其他取向。存储器管芯200包括行控制电路220,该行控制电路的输出208连接到存储器结构202的相应字线。行控制电路220从系统控制逻辑电路206接收一组M行地址信号和一个或多个各种控制信号,并且通常可以包括诸如行解码器222、阵列端子驱动器224和块选择电路226等电路以用于读取操作和写入(编程)操作两者。行控制电路220还可以包括读取/写入电路。存储器管芯200还包括列控制电路210,该列控制电路包括感测放大器230,该感测放大器的输入端/输出端206连接到存储器结构202的相应位线。尽管针对阵列202仅示出了单个块,但是存储器管芯可以包括可以被单独访问的多个阵列。列控制电路210从系统控制逻辑部件260接收一组N个列地址信号和一个或多个各种控制信号,并且通常可包括诸如列解码器212、阵列端子接收器或驱动器电路214、块选择电路216以及读取/写入电路和I/O多路复用器之类的电路。

系统控制逻辑部件260从存储器控制器120接收数据和命令,并且向主机提供输出数据和状态。在一些实施方案中,系统控制逻辑部件260(其包括一个或多个电路)包括提供存储器操作的管芯级控制的状态机262。在一个实施方案中,状态机262能够由软件编程。在其他实施方案中,状态机262不使用软件并且完全以硬件(例如,电子电路)实现。在另一个实施方案中,状态机262由微控制器或微处理器替换,该微控制器或微处理器在存储器芯片之上或之外。系统控制逻辑部件262还可以包括功率控制模块264,该功率控制模块控制在存储器操作期间供应给存储器结构202的行和列的功率和电压,并且可包括用于产生调节电压的电荷泵和调节器电路。系统控制逻辑部件262包括存储装置366(例如,RAM、寄存器、锁存器等),该存储装置可以用于存储用于操作存储器结构202的参数。

命令和数据经由存储器控制器接口268(也称为“通信接口”)在存储器控制器120与存储器管芯200之间传输。存储器控制器接口268是用于与存储器控制器120通信的电接口。存储器控制器接口268的示例包括切换模式接口和开放NAND闪存接口(ONFI)。也可以使用其他I/O接口。

在一些实施方案中,存储器管芯200的所有元件(包括系统控制逻辑部件260)可以形成为单个管芯的一部分。在其他实施方案中,系统控制逻辑部件260中的一部分或全部可形成在不同的管芯上。

在一个实施方案中,存储器结构202包括非易失性存储器单元的三维存储器阵列,其中多个存储器级形成在单个衬底诸如晶圆上方。存储器结构可包括任何类型的非易失性存储器,该非易失性存储器在具有设置在硅(或其他类型的)衬底上方的有源区域的存储器单元的一个或多个物理级中一体地形成。在一个示例中,非易失性存储器单元包括具有电荷俘获层的垂直NAND串。

在另一实施方案中,存储器结构202包括非易失性存储器单元的二维存储器阵列。在一个示例中,非易失性存储器单元是利用浮动栅极的NAND闪存存储器单元。也可使用其他类型的存储器单元(例如,NOR型闪存存储器)。

被包括在存储器结构202中的存储器结构/阵列架构或存储器单元的确切类型不限于上述示例。许多不同类型的存储器结构/阵列架构或存储器技术可用于形成存储器结构202。实现本文提出的要求保护的新实施方案不需要特定的非易失性存储器技术。用于存储器结构202的存储器单元的合适技术的其他示例包括ReRAM存储器(电阻式随机存取存储器)、磁阻式存储器(例如,MRAM、自旋转移矩MRAM、自旋轨道转矩MRAM)、FeRAM、相变存储器(例如,PCM)等等。用于存储器结构202的存储器单元架构的合适技术的示例包括二维阵列、三维阵列、交叉点阵列、堆叠二维阵列、竖直位线阵列等等。

ReRAM交叉点存储器的一个示例包括可逆电阻切换元件,其布置在由X线和Y线(例如,字线和位线)访问的交叉点阵列中。在另一个实施方案中,存储器单元可包括导电桥存储器元件。导电桥存储器元件也可称为可编程金属化单元。基于固体电解质内的离子的物理重新定位,导电桥存储器元件可用作状态改变元件。在一些情况下,导电桥存储器元件可包括两个固体金属电极,一个是相对惰性的(例如,钨),而另一个是电化学活性的(例如,银或铜),在两个电极之间具有固体电解质的薄膜。随着温度升高,离子的迁移率也增加,这导致导电桥存储器单元的编程阈值降低。因此,导电桥存储器元件可在整个温度范围内具有宽范围的编程阈值。

另一个示例是通过磁存储元件来存储数据的磁阻随机存取存储器(MRAM)。这些元件由两个被薄绝缘层隔开的铁磁层形成,这两个铁磁层中的每一个铁磁层都可以保持磁化。这两个层中的一个层是被设置为特定极性的永磁体;另一个层的磁化可以被改变以匹配外磁场对存储存储器的磁化。存储器设备由此类存储器单元的网格构建。在用于编程的一个实施方案中,每个存储器单元位于一对写入线之间,该对写入线被布置成彼此成直角,与单元平行,一个在单元上方并且一个在单元下方。当电流通过它们时,产生感应磁场。下文将更详细地讨论基于MRAM的存储器实施方案。

相变存储器(PCM)利用了硫属化合物玻璃的独特性能。一个实施方案使用GeTe-Sb2Te3超晶格通过仅利激光脉冲(或来自另一个源的光脉冲)改变锗原子的配位状态来实现非热相变。因此,编程的剂量是激光脉冲。可以通过阻止存储器单元接收光来抑制存储器单元。在其他PCM实施方案中,存储器单元通过电流脉冲来编程。应当注意,在该文件中使用“脉冲”不需要矩形脉冲,但包括声音、电流、电压光或其他波的(连续或非连续)振动或脉冲串。各个可选择存储器单元或位内的这些存储器元件可以包括作为选择器的另外的串联元件,诸如双向阈值开关或金属绝缘体衬底。

本领域普通技术人员将认识到,本文所述的技术不限于单个特定存储器结构、存储器配置或材料构成,但涵盖了在如本文所述的以及如本领域普通技术人员所理解的技术实质与范围内的许多相关的存储器结构。

图2A的元件可被分组为两个部分:(1)存储器结构202和(2)外围电路,该外围电路包括图2A中描绘的除存储器结构202之外的所有部件。存储器电路的重要特性是其容量,该容量可以通过如下方式增加:增加留给存储器结构202的存储系统100的存储器管芯的面积;然而,这减少了可用于外围电路的存储器管芯的面积。这可以对外围电路的这些元件造成相当严重的限制。例如,需要在可用区域内装配感测放大器电路,这可是对感测放大器设计架构的重大限制。关于系统控制逻辑部件260,可用面积减小可能会限制可在芯片上实现的可用功能。因此,在存储系统100的存储器管芯的设计中,需要对存储器结构202的专用面积量以及外围电路的专用面积量进行基本权衡。

存储器结构202与外围电路通常发生冲突的另一个区域是在形成这些区域时所涉及的处理中,因为这些区域通常涉及不同的处理技术以及在单个管芯上实施不同技术时的权衡。例如,当存储器结构202是NAND闪存时,这是NMOS结构,而外围电路通常是基于CMOS的。例如,诸如感测放大器电路、电荷泵、状态机中的逻辑元件和系统控制逻辑部件260中的其他外围电路的元件通常采用PMOS设备。用于制造CMOS管芯的处理操作在许多方面将不同于针对NMOS闪存NAND存储器或其他存储器单元技术所优化的处理操作。

为了改进这些限制,下文所述的实施方案可将图2A的元件分离到单独形成的管芯上,然后将这些管芯接合在一起。更具体地,存储器结构202可以形成在一个管芯(称为存储器管芯)上,并且外围电路元件中的一些或全部(包括一个或多个控制电路)可以形成在单独的管芯(称为控制管芯)上。例如,存储器管芯可以仅由存储器元件形成,诸如闪存NAND存储器、MRAM存储器、PCM存储器、ReRAM存储器或其他存储器类型的存储器单元阵列。然后可以将一些或全部外围电路(甚至包括诸如解码器和感测放大器等元件)移到单独的控制管芯上。这允许根据其技术单独地优化存储器管芯中的每个管芯。例如,NAND存储器管芯可以针对基于NMOS的存储器阵列结构进行优化,而无需担心现在已移到可以针对CMOS处理进行优化的控制管芯上的CMOS元件。这为外围元件提供了更多空间,如果外围元件被限制于容纳了存储器单元阵列的相同管芯的边缘,则现在可结合可能不容易结合的附加能力。然后可在接合式多管芯存储器电路中将两个管芯接合在一起,其中一个管芯上的阵列连接到另一个管芯上的外围元件。例如,虽然下面将集中介绍一个存储器管芯和一个控制管芯的接合式存储器电路,但其他实施方案可使用更多管芯,诸如两个存储器管芯和一个控制管芯。

图2B示出了图2A的布置的另选布置,其可使用晶圆对晶圆接合来实现以提供接合管芯对。图2B描绘了集成存储器组件207的一个实施方案的功能框图。一个或多个集成存储器组件207可用于实现存储系统100的非易失性存储器130。集成存储器组件207包括两种类型的半导体管芯(或更简洁地,“管芯”)。存储器管芯201包括存储器结构202。存储器结构202包括非易失性存储器单元。控制管芯211包括控制电路260、210和220(如上所述)。在一些实施方案中,控制管芯211被配置为连接到存储器管芯201中的存储器结构202。在一些实施方案中,存储器管芯201和控制管芯211接合在一起。

图2B示出了外围电路的示例,其包括形成在外围电路或控制管芯211中的控制电路,这些控制电路耦接到形成在存储器管芯201中的存储器结构202。通用部件以类似于图2A的方式标记。系统控制逻辑部件260、行控制电路220和列控制电路210位于控制管芯211中。在一些实施方案中,列控制电路210的全部或一部分以及行控制电路220的全部或一部分位于存储器管芯201上。在一些实施方案中,系统控制逻辑部件260中的一些电路位于存储器管芯201上。

系统控制逻辑部件260、行控制电路220和列控制电路210可以由常规工艺(例如,CMOS工艺)形成,使得添加更常见于存储器控制器120上的元件和功能诸如ECC可能需要很少的附加工艺步骤或不需要附加工艺步骤(即,用于制造控制器120的相同工艺步骤也可以用于制造系统控制逻辑部件260、行控制电路220和列控制电路210)。因此,尽管移走管芯(诸如,存储器2管芯201)中的此类电路可减少制造此类管芯所需的步骤数量,但向管芯(诸如,控制管芯211)添加此类电路可能不需要许多附加的工艺步骤。由于使用CMOS技术来实现控制电路260、210、220中的一些或全部,因此控制管芯211也可称为CMOS管芯。

图2B示出了控制管芯211上的包括感测放大器230的列控制电路210,该列控制电路通过电路径206耦接到存储器管芯201上的存储器结构202。例如,电路径206可在列解码器212、驱动器电路214、块选择器216与存储器结构202的位线之间提供电连接。电路径可从控制管芯211中的列控制电路210延伸穿过控制管芯211上的焊盘,这些焊盘接合到存储器管芯201的对应焊盘,这些对应焊盘连接到存储器结构202的位线。存储器结构202的每条位线都可具有电路径306中的连接到列控制电路210的对应的电路径,包括一对接合焊盘。类似地,行控制电路220(包括行解码器222、阵列驱动器224和块选择器226)通过电路径208耦接到存储器结构202。电路径208中的每条电路径可以对应于字线、虚设字线或选择栅极线。也可在控制管芯211与存储器管芯201之间提供附加电路径。

出于本文档的目的,短语“控制电路”或“一个或多个控制电路”可包括存储器控制器120、状态机262、系统控制逻辑部件260的全部或一部分、行控制电路220的全部或一部分、列控制电路210的全部或一部分、微控制器、微处理器和/或其他类似功能电路中的任一者或任何组合。控制电路可以仅包括硬件或者包括硬件和软件(包括固件)的组合。例如,由固件编程以执行本文描述的功能的控制器是控制电路的一个示例。控制电路可以包括处理器、FGA、ASIC、集成电路,或其他类型的电路。

在一些实施方案中,集成存储器组件207中存在多于一个控制管芯211和多于一个存储器管芯201。在一些实施方案中,集成存储器组件207包括多个控制管芯211和多个存储器管芯201的堆叠。图3A描绘了堆叠在衬底271上的集成存储器组件207(例如,包括控制管芯211和存储器管芯201的堆叠)的一个实施方案的侧视图。集成存储器组件207具有三个控制管芯211和三个存储器管芯201。在一些实施方案中,存在多于三个存储器管芯201和多于三个控制管芯211。

每个控制管芯211附连(例如,接合)到存储器管芯201中的至少一个存储器管芯。描绘了接合焊盘282/284中的一些接合焊盘。可能有更多的接合焊盘。接合在一起的两个管芯201、211之间的空间填充有固态层280,该固态层可以由环氧树脂或其他树脂或聚合物形成。该固态层280保护了管芯201、211之间经由接合焊盘的电连接,并进一步将该管芯固定在一起。各种材料可以用作固态层280,但是在实施方案中,该材料可以是来自Henkel公司(该公司在美国加利福尼亚州设有办事处)的Hysol环氧树脂。

集成存储器组件207可以例如以阶梯式偏移堆叠,使得每一层级处的接合焊盘均不被覆盖并且能够从上方触及。连接到接合焊盘的引线接合部270将控制管芯211连接到衬底271。多个此类引线接合可跨每个控制管芯211的宽度形成(即,形成到图3A的页面中)。

存储器管芯硅通孔(TSV)276可用于将信号路由穿过存储器管芯201。控制管芯硅通孔(TSV)278可以用于将信号路由穿过控制管芯211。可以在半导体管芯201、211中的集成电路形成之前、期间或之后形成TSV 276、278。可通过蚀刻穿过晶圆的孔来形成TSV。然后,可将这些孔衬有防金属扩散的阻挡。阻挡层又可以衬有种子层,并且种子层可以镀有电导体,诸如铜,尽管可以使用其他合适的材料,诸如铝、锡、镍、金、掺杂的多晶硅以及合金或其组合。

焊球272可以可选地附连到衬底271的下表面上的接触焊盘274。焊球272可用于将集成存储器组件207以电气方式和机械方式耦接到主机设备诸如印刷电路板。在集成存储器组件207将用作LGA封装件的情况下,可以省略焊球272。焊球272可形成集成存储器组件207与存储器控制器120之间的接口的一部分。

图3B描绘了堆叠在衬底271上的集成存储器组件207的另一个实施方案的侧视图。图3B的集成存储器组件207具有三个控制管芯211和三个存储器管芯201。在一些实施方案中,存在远多于三个存储器管芯201和远多于三个控制管芯211。在该示例中,每个控制管芯211接合到至少一个存储器管芯201。任选地,控制管芯211可接合到两个或更多个存储器管芯201。

描绘了接合焊盘282、284中的一些接合焊盘。可能有更多的接合焊盘。接合在一起的两个管芯201、211之间的空间填充有固态层280,该固态层可以由环氧树脂或其他树脂或聚合物形成。与图3A中的示例相比,图3B中的集成存储器组件207没有阶梯式偏移。存储器管芯硅通孔(TSV)276可用于将信号路由穿过存储器管芯201。控制管芯硅通孔(TSV)278可以用于将信号路由穿过控制管芯211。

焊球272可以可选地附连到衬底271的下表面上的接触焊盘274。焊球272可用于将集成存储器组件207以电气方式和机械方式耦接到主机设备诸如印刷电路板。在集成存储器组件207将用作LGA封装件的情况下,可以省略焊球272。

如上面已经简要讨论的,控制管芯211和存储器管芯201可接合在一起。每个管芯201、211上的接合焊盘可用于将这两个管芯接合在一起。在一些实施方案中,在所谓的Cu-Cu接合工艺中,接合焊盘在没有焊料或其他附加材料的情况下直接彼此接合。在Cu-Cu接合工艺中,接合焊盘被控制为高度平坦的,并且形成在高度受控的环境中,该环境基本上没有环境颗粒,否则该环境颗粒可能沉积在接合焊盘上并阻止紧密接合。在这种适当控制的条件下,接合焊盘对准并彼此压靠,以基于表面张力形成相互接合。这种接合可以在室温下形成,尽管也可以施加热量。在使用Cu-Cu接合的实施方案中,接合焊盘可以是约5μm见方,并且以5μm到5μm的间距彼此隔开。虽然该工艺在本文中被称为Cu-Cu接合,但是该术语也可以适用于接合焊盘由除铜之外的材料形成的情况。

当接合焊盘的面积小时,可能难以将半导体管芯接合在一起。通过在包括接合焊盘的半导体管芯的表面上提供膜层,可以进一步减小接合焊盘的尺寸和间距。膜层设置在接合焊盘周围。当管芯被放在一起时,接合焊盘可以彼此接合,并且各个管芯上的膜层可以彼此接合。这种接合技术可以称为混合接合。在使用混合接合的实施方案中,接合焊盘可以是约5μm见方,并且以1μm到5μm的间距彼此隔开。可以使用接合技术来提供具有更小尺寸和间距的接合焊盘。

一些实施方案可以在管芯201、211的表面上包括膜。如果最初没有提供这样的膜,则可以用环氧树脂或其他树脂或聚合物在底部填充管芯之间的空间。底部填充材料可作为液体施加,然后使其硬化为固态层。该底部填充的步骤保护了管芯201、211之间的电连接,并进一步将该管芯固定在一起。各种材料可用作底部填充材料,但在实施方案中,底部填充材料可以是来自Henkel公司的Hysol环氧树脂,该公司在美国加利福尼亚州设有办事处。

图4是可包括存储器结构202的单片三维存储器阵列/结构的一个示例实施方案的一部分的透视图,该存储器结构包括被布置为竖直NAND串的多个非易失性存储器单元。例如,图4示出了一个存储器块的一部分400。所描绘的结构包括一组位线BL,其位于交替的介电层和导电层的堆叠401上方。例如,将介电层中的一个介电层标记为D,并且将导电层中的一个导电层(也被称为字线层)标记为W。交替的介电层和导电层的数量可基于特定具体实施要求而变化。如下文将解释的,在一个实施方案中,交替的介电层和导电层通过隔离区IR分成六个(或不同数量的)区域(例如,子块)。图4示出了分离两个子块的一个隔离区IR。源极线层SL位于交替的介电层和字线层下方。在交替的介电层和导电层的堆叠中形成存储器孔。例如,存储器孔被标记为MH。需注意,在图4中,介电层被描绘为透视图,使得读者可以看到位于交替的介电层和导电层的堆叠中的存储器孔。在一个实施方案中,通过用包括电荷捕集材料的材料填充存储器孔以形成存储器单元的竖直列来形成NAND串。每个存储器单元可以存储一个或多个数据位。下文提供了包括存储器结构202的三维单片存储器阵列的更多细节。

图4A是说明存储器结构202的一个示例组织的框图,该存储器结构被分为两个平面402和404。然后,将每个平面分成M个块。在一个实施方案中,平面包含连接到相同的位线集合的多个块。在一个实施方案中,块包括连接到共同字线集合的多个非易失性存储器单元(例如,多个NAND串)。在一些实施方案中,块是擦除单位。在一些实施方案中,块的NAND串一起被擦除。在一个示例中,每个平面具有约2000个块。然而,也可以使用不同数量的块。在一些实施方案中,可以将块划分为子块,并且子块可以是擦除单位。还可以出于其他原因将存储器单元分组为块,诸如为了组织存储器结构以启用信令和选择电路。尽管图4A示出了两个平面402/404,但是可以实现多于或少于两个平面。在一些实施方案中,存储器结构202包括八个或更多个平面。

图4B至图4J描绘了示例三维(“3D”)NAND结构,其对应于图4的结构并且可用于实现图2A和图2B的存储器结构202。图4B是描绘平面402的块2的一部分406的顶视图的框图。如从图4B中可见,图4B中描绘的块沿432的方向延伸。在一个实施方案中,存储器结构/阵列具有许多层;然而,图4B仅示出了顶层。

图4B描绘了表示对应于存储器孔的竖直列的多个圆。竖直列中的每一个包括多个选择晶体管(也称为选择栅极或选取栅极)和多个存储器单元。在一个实施方案中,每个竖直列实现一个NAND串。例如,图4B标记竖直列/NAND串426、432、436、446、456、462、466、472、474和476的子集。

图4B还描绘了一组位线415,包括位线411、412、413、414、……、419。图4B示出了二十四个位线,因为仅示出了该块的一部分。设想的是,多于二十四个位线连接到该块的竖直列。表示竖直列的每个圆圈都有一个“x”以指示其与一个位线连接。例如,位线411连接到竖直列426、436、446、456、466和476。

图4B中描绘的块包括一组隔离区域480、482、484、486和488,这些隔离区域由SiO

尽管图4B示出了在一个块中每个区域420、430、440、450、460和470具有四行竖直列,六个区域就有二十四行竖直列,但是这些确切数字是示例具体实施。其他实施方案可以包括每一块更多或更少的区域、每一区域更多行或更少行的竖直列、以及每一块更多行或更少行的竖直列。图4B还示出了竖直列是交错的。在其他实施方案中,可以使用不同交错模式。在一些实施方案中,竖直列不交错。

图4C描绘了三维存储器结构202的一个实施方案的一部分,示出了沿图4B的线AA的剖视图。该剖视图切穿区域470的竖直列(NAND串)472和474(参见图4B)。图4C的结构包括三个漏极侧选择层SGD0、SGD1和SGD2;三个源极侧选择层SGS0、SGS1和SGS2;三个虚设字线层DD0、DD1和DDS;用于连接到数据存储器单元的两百四十个字线层WL0至WL239,以及两百五十个介电层DL0至DL249。其他实施方案可实现多于或少于以上针对图4C所述的数字。在一个实施方案中,SGD0、SGD1和SGD2连接在一起;并且SGDS0、SGS1和SGS2连接在一起。

竖直列472和474被描绘为突出穿过漏极侧选择层、源极侧选择层、虚设字线层以及字线层。在一个实施方案中,每个竖直列都包括竖直NAND串。在竖直列和下面列出的层之下的是衬底453、该衬底上的绝缘膜454以及源极线SL。竖直列442的NAND串在堆叠的底部处具有源极端并且在堆叠的顶部处具有漏极端。与图4B一致,图4C示出了经由连接器417连接到位线414的竖直列442。

为了易于参考,漏极侧选择层、源极侧选择层、虚设字线层以及数据字线层统称为导电层。在一个实施方案中,导电层由TiN和钨的组合制成。在其他实施方案中,可以使用其他材料形成导电层,诸如掺杂的多晶硅、金属(诸如钨或金属硅化物)。在一些实施方案中,不同导电层可以由不同材料形成。在导电层之间的是介电层DL0-DL249。例如,介电层DL240在字线层WL235上方并且在字线层WL236下方。在一个实施方案中,介电层由SiO

非易失性存储器单元沿竖直列形成,该竖直列延伸穿过堆叠中的交替的导电层和介电层。在一个实施方案中,存储器单元布置在NAND串中。字线层WL0-W239连接到存储器单元(也称为数据存储器单元)。虚设字线层DD0、DD1和DS连接到虚设存储器单元。虚设存储器单元不存储主机数据并且没有资格存储主机数据(从主机或存储系统100外部的实体提供的数据,诸如来自主机用户的数据),而数据存储器单元有资格存储主机数据。主机数据可与由存储器系统100(例如,L2P表)生成的系统数据形成对比。在一些实施方案中,数据存储器单元和虚设存储器单元可具有相同结构。漏极侧选择层SGD0、SGD1和SGD2用于将NAND串与位线电连接和断开。源极侧选择层SGS0、SGS1和SGS2用于将NAND串与源极线SL电连接和断开。

需注意,字线WL0-WL239的堆叠包括堆叠的边缘处的两个边线字线,包括顶部边缘字线WL239和底部边缘字线WL0。字线WL1-WL238为非边缘字线。

图4D描绘了三维存储器结构202的一个实施方案的一部分,示出了沿图4B的线BB的剖视图。该剖视图切穿区域430的竖直列(NAND串)432和434(参见图4B)。图4D示出了与图4C相同的交替导电层和介电层。图4D还示出了隔离区482。隔离区480、482、484、486和488占据已经用于存储器孔/竖直列/NAND串的一部分的空间。例如,隔离区482占据已经用于竖直列434的一部分的空间。更具体地,竖直列434的一部分(例如,直径的一半)已在层SDG0、SGD1、SGD2和DD0中移除以容纳隔离区482。因此,虽然大部分竖直列434是圆柱形的(具有圆形横截面),但层SDG0、SGD1、SGD2和DD0中的竖直列434的部分具有半圆形横截面。在一个实施方案中,在形成交替的导电层和介电层的堆叠之后,蚀刻堆叠以产生隔离区的空间,并且该空间随后填充有SiO

图4E描绘了三维存储器结构202的一个实施方案的一部分,示出了沿图4B的线CC的剖视图。该剖视图切穿竖直列(NAND串)452和4624(参见图4B)。图4E示出了与图4C相同的交替导电层和介电层。图4E还示出了切成竖直列(NAND串)452的隔离区486。

图4F描绘了包括竖直列472的一部分的图4C的区域429的剖视图。在一个实施方案中,竖直列是圆形的;然而,在其他实施方案中,可使用其他形状。在一个实施方案中,竖直列472包括由诸如SiO

图4F描绘了介电层DLL239、DLL240、DLL241、DLL242和DLL243,以及字线层WLL234、WLL235、WLL236、WLL237和WLL238。字线层中的每个字线层包括由氧化铝层497包围的字线区域496,该氧化铝层由阻挡氧化物层498包围。在其他实施方案中,阻挡氧化物层可以是与电荷捕集层493平行并且相邻的竖直层。字线层与竖直列的物理相互作用形成存储器单元。因此,在一个实施方案中,存储器单元包括沟道491、隧穿电介质492、电荷捕集层493、阻挡氧化物层498、氧化铝层497以及字线区域496。例如,字线层WLL238和竖直列472的一部分构成存储器单元MC1。字线层WL237和竖直列472的一部分构成存储器单元MC2。字线层WLL236和竖直列472的一部分构成存储器单元MC3。字线层WLL235和竖直列472的一部分构成存储器单元MC4。字线层WLL234和竖直列472的一部分构成存储器单元MC5。在其他架构中,存储器单元可具有不同结构;然而,存储器单元仍将仍然是存储单元。

当对存储器单元进行编程时,电子存储在电荷捕集层493的与存储器单元相关联(例如,在存储器单元中)的一部分中。响应于字线区域496上的适当电压,这些电子通过隧穿电介质492从沟道491被吸引到电荷捕集层493中。存储器单元的阈值电压(Vth)与所存储的电荷量成比例地增大。在一个实施方案中,通过电子的福勒-诺得海姆(Fowler-Nordheim)隧穿到电荷捕集层中来实现编程。在擦除操作期间,电子返回到沟道或空穴被注入到电荷捕集层中以与电子重组。在一个实施方案中,使用经由诸如GIDL之类的物理机制的空穴注入到电荷捕集层中来实现擦除。

图4G示出了图4F的竖直列472的横截面,其中切穿MC5。因此,图4G描绘了字线层WL234、内芯490、沟道491、隧穿电介质492、电荷捕集层493、氧化铝层497和阻挡氧化物层498。

图4H示出了图4F的竖直列472的横截面,其中切穿SGD1(实施选择栅极的选择栅极层)。因此,图4H描绘了漏极侧选择线层SGD1、内芯490、沟道491、隧穿电介质492、电荷捕集层493、氧化铝层497和阻挡氧化物层498。

图4I示出了图4D的竖直列434的横截面,其中切穿SGD1。因此,图4I描绘了漏极侧选择线层SGD1、内芯490、沟道491、隧穿电介质492、电荷捕集层493、氧化铝层497和阻挡氧化物层498。图4I还示出了隔离区482的一部分。如图4I中可见,由于竖直列(NAND串)434与隔离区482相交,竖直列434的选择栅极(选择栅极层和选择线层)是半圆形的(或部分圆形的形状)。

图4J是图4至图4I中描绘的存储器结构202的一部分的示意图。图4J示出了跨整个块延伸的物理数据字线WL0-WL239。图4J的结构对应于图A的块2中的部分306,包括位线411。在该块内,在一个实施方案中,每个位线连接到六个NAND串。因此,图4J示出连接到NAND串NS0(其对应于竖直列426)、NAND串NS1(其对应于竖直列436)、NAND串NS2(其对应于竖直列446)、NAND串NS3(其对应于竖直列456)、NAND串NS4(其对应于竖直列466)、NAND串NS5(其对应于竖直列476)的位线。如上所述,在一个实施方案中,对于被隔离区(480、482、484、486和486)分开的每个子块,SGD0、SGD1和SGD2连接在一起以作为单个逻辑选择门操作,以形成SGD-s0、SGD-s1、SGD-s2、SGD-s3、SGD-s4和SGD-s5.SGS0、SG1和SGS2也连接在一起以作为在图4E中表示为SGS的单个逻辑选择栅极来操作。尽管选择栅极SGD-s0、SGD-s1、SGD-s2、SGD-s3、SGD-s4和SGD-s5由于隔离区彼此隔离,但每个子块的数据字线WL0-WL239连接在一起。

隔离区(480、482、484、486和486)用于允许单独控制子块。第一子块对应于由SGD-s0控制的那些竖直NAND串。第二子块对应于由SGD-s1控制的那些竖直NAND串。第三子块对应于由SGD-s2控制的那些竖直NAND串。第四子块对应于由SGD-s3控制的那些竖直NAND串。第五子块对应于由SGD-s4控制的那些竖直NAND串。第六子块对应于由SGD-s5控制的那些竖直NAND串。

图4J仅示出连接到位线411的NAND串。然而,块的完整示意图将示出每个位线和连接到每个位线的六个竖直NAND串。

虽然图4至图4J的示例存储器是包括具有电荷捕获材料的竖直NAND串的三维存储器结构,但是其他(2D和3D)存储器结构也可与本文所述的技术一起使用。

上面讨论的存储器系统可以被擦除、编程和读取。在成功编程过程结束时,在适当时,存储器单元的阈值电压应当在用于编程的存储器单元的阈值电压的一个或多个分布内或在经擦除的存储器单元的阈值电压的分布内。图5A是阈值电压与存储器单元数量的曲线图,并且示出了当每个存储器单元存储每存储器单元一位数据时存储器结构202阵列的示例阈值电压分布。存储每存储器单元数据一位数据的存储器单元被称为单级单元(“SLC”)。存储在SLC存储器单元中的数据被称为SLC数据;因此,SLC数据包括每存储器单元一位。作为每存储器单元一位存储的数据是SLC数据。图5A示出了两个阈值电压分布:E和P。阈值电压分布E对应于擦除数据状态。阈值电压分布P对应于编程数据状态。因此,在阈值电压分布E中具有阈值电压的存储器单元处于擦除数据状态(例如,它们被擦除)。因此,在阈值电压分布P中具有阈值电压的存储器单元处于编程数据状态(例如,它们被编程)。在一个实施方案中,被擦除的存储器单元存储数据“1”,并且被编程的存储器单元存储数据“0”。图5A描绘了读取比较电压Vr。通过测试(例如,执行一个或多个感测操作)给定存储器单元的阈值电压是高于还是低于Vr,系统可确定存储器单元是被擦除(状态E)或还是被编程(状态P)。图5A还描绘了验证参考电压Vv。在一些实施方案中,当将存储器单元编程到数据状态P时,系统将测试这些存储器单元是否具有大于或等于Vv的阈值电压。

图5B至图5F示出了当每个存储器单元存储每存储器单元数据多位时用于存储器结构202的示例阈值电压分布。存储每存储器单元数据多位的存储器单元被称为多级单元(“MLC”)。存储在MLC存储器单元中的数据被称为MLC数据;因此,MLC数据包括每存储器单元多位。作为每存储器单元多位数据存储的数据是MLC数据。在图5B的示例实施方案中,每个存储器单元存储两位数据。其他实施方案可使用每存储器单元其他数据容量(例如,诸如每存储器单元三位数据、四位数据、五位数据或六位数据)。

图5B示出用于擦除存储器单元的第一阈值电压分布E。还描绘了用于编程存储器单元的三个阈值电压分布A、B和C。在一个实施方案中,分布E中的阈值电压为负,并且分布A、B和C中的阈值电压为正。图5B的每个不同的阈值电压分布对应于一组数据位的预先确定的值。在一个实施方案中,存储在存储器单元中的两位数据中的每位数据都在不同逻辑页面中,称为下页(LP)和上页(UP)。在其他实施方案中,存储在存储器单元中的所有数据位都在共同逻辑页中。编程到存储器单元中的数据与该单元的阈值电压电平之间的具体关系取决于该单元所采纳的数据编码方案。表1提供了示例编码方案。

表1

在被称为全序列编程的一个实施方案中,可使用图6的过程将存储器单元从已擦除数据状态E直接编程到已编程数据状态A、B或C中的任一者(在下文中讨论)。例如,可以首先擦除待编程的存储器单元群体,使得群体中的所有存储器单元处于擦除数据状态E。然后,编程过程用于将存储器单元直接编程为数据状态A、B和/或C。例如,虽然一些存储器单元正在从数据状态E编程到数据状态A,但其他存储器单元正在从数据状态E编程到数据状态B和/或从数据状态E编程到数据状态C。图5B的箭头表示全序列编程。在一些实施方案中,数据状态A-C可重叠,其中存储器控制器120(或控制管芯211)依赖纠错来识别正在存储的正确数据。

图5C描绘了存储器单元的示例阈值电压分布,其中每个存储器单元存储每存储器单元三位数据(其为MLC数据的另一个示例)。图5C示出了对应于八个数据状态的八个阈值电压分布。第一个阈值电压分布(数据状态)Er表示被擦除的存储器单元。其他七个阈值电压分布(数据状态)A-G表示被编程的存储器单元,并且因此也被称为已编程状态。每个阈值电压分布(数据状态)对应于一组数据位的预确定值。编程到存储器单元中的数据与该单元的阈值电压电平之间的具体关系取决于该单元所采纳的数据编码方案。在一个实施方案中,使用格雷码分配将数据值分配到阈值电压范围,使得如果存储器的阈值电压错误地移位到其相邻物理状态,那么将仅影响一个位。表2提供了其中存储在存储器单元中的三位数据中的每位数据都在不同逻辑页中的实施方案的编码方案的示例,该逻辑页称为下页(LP)、中间页(MP)和上页(UP)。

表2

图5C示出了用于从存储器单元读取数据的七个读取比较电压VrA、VrB、VrC、VrD、VrE、VrF和VrG。通过测试(例如,执行感测操作)给定存储器单元的阈值电压是高于还是低于七个读取比较电压,系统可以确定存储器单元所处于的数据状态(即,A、B、C、D……)。

图5C还示出了七个验证比较电压VvA、VvB、VvC、VvD、VvE、VvF和VvG。在一些实施方案中,当将存储器单元编程到数据状态A时,系统将测试这些存储器单元是否具有大于或等于VvA的阈值电压。当将存储器单元编程到数据状态B时,系统将测试这些存储器单元是否具有大于或等于VvB的阈值电压。当将存储器单元编程到数据状态C时,系统将确定这些存储器单元是否具有大于或等于VvC的阈值电压。当将存储器单元编程到数据状态D时,系统将测试这些存储器单元是否具有大于或等于VvD的阈值电压。当将存储器单元编程到数据状态E时,系统将测试这些存储器单元是否具有大于或等于VvE的阈值电压。当将存储器单元编程到数据状态F时,系统将测试这些存储器单元是否具有大于或等于VvF的阈值电压。当将存储器单元编程到数据状态G时,系统将测试这些存储器单元是否具有大于或等于VvG的阈值电压。图5C还示出了Vev,其为用以测试存储器单元是否已被正确擦除的电压电平。

在利用全序列编程的实施方案中,可使用图6的过程将存储器单元从已擦除数据状态Er直接编程到已编程数据状态A-G中的任一者(在下文中讨论)。例如,可首先擦除要被编程的存储器单元群,使得该群中的所有存储器单元处于已擦除数据状态Er。然后,使用编程过程将存储器单元直接编程到数据状态A、B、C、D、E、F和/或G。例如,虽然一些存储器单元正从数据状态ER编程到数据状态A,但其他存储器单元正从数据状态ER编程到数据状态B和/或从数据状态ER编程到数据状态C,等等。图5C的箭头表示全序列编程。在一些实施方案中,数据状态A-G可重叠,其中控制管芯211和/或存储器控制器120依赖纠错来识别正在存储的正确数据。需注意,在一些实施方案中,系统可以使用本领域已知的多遍编程过程而不是使用全序列编程。

一般来讲,在验证操作和读取操作期间,将所选择的字线连接到电压(参考信号的一个示例),该电压的电平针对每个读取操作(例如,参见图5C的读取比较电压VrA、VrB、VrC、VrD、VrE、VrF和VrG)或验证操作(例如,参见图5C的验证目标电压VvA、VvB、VvC、VvD、VvE、VvF和VvG)指定,以便确定相关存储器单元的阈值电压是否已经达到这个电平。在施加字线电压之后,测量存储器单元的传导电流以确定该存储器单元是否响应于施加到字线的电压而接通(被传导电流)。如果传导电流被测量为大于特定值,那么假设存储器单元被接通并且施加到字线的电压大于存储器单元的阈值电压。如果传导电流未测量为大于特定值,那么假设存储器单元未接通并且施加到字线的电压不大于存储器单元的阈值电压。在读取或验证过程期间,未选择存储器单元在其控制栅极处被提供有一个或多个读取通过电压(也称为旁路电压),使得这些存储器单元将作为通过栅极操作(例如,不管这些存储器单元是被编程还是被擦除都传导电流)。

有许多方法来在读取或验证操作期间测量存储器单元的传导电流。在一个示例中,以存储器单元对感测放大器中的专用电容器放电或充电的速率来测量该存储器单元的传导电流。在另一个示例中,选择的存储器单元的传导电流允许(或不允许)包括存储器单元的NAND串对对应位线放电。在某时间段之后测量位线上的电压,以查看其是否已经放电。需注意,本文所述的技术可以与本领域中已知的用于验证/读取的不同方法一起使用。也可以使用本领域中已知的其他读取和验证技术。

图5D描绘了当每个存储器单元存储四位数据(其为MLC数据的另一个示例)时的阈值电压分布。图5D示出了阈值电压分布(数据状态)S0-S15之间可存在一些重叠。该重叠可由于诸如存储器单元丢失电荷(并因此阈值电压下降)的因素而发生。编程干扰可无意地增大存储器单元的阈值电压。同样,读取干扰可无意地增大存储器单元的阈值电压。随着时间的推移,阈值电压分布的位置可改变。此类改变可增大误码率,从而增加解码时间或甚至使得不可能解码。改变读取比较电压可有助于减轻此类影响。在读取过程中使用ECC可修复错误和歧义。需注意,在一些实施方案中,存储每存储器单元四位数据的存储器单元群体的阈值电压分布不重叠并且彼此分开;例如,如图5E所描绘的。图5D的阈值电压分布将包括读取比较电压和验证比较电压,如上所讨论的。

当每个存储器单元使用四位时,可使用上面讨论的全序列编程或本领域中已知的多遍编程过程来对存储器进行编程。图5D的每个阈值电压分布(数据状态)对应于一组数据位的预先确定的值。编程到存储器单元中的数据与该单元的阈值电压电平之间的具体关系取决于该单元所采纳的数据编码方案。表3提供了其中存储在存储器单元中的四位数据中的每位数据都在不同逻辑页中的实施方案的编码方案的示例,该逻辑页称为下页(LP)、中间页(MP)、上页(UP)和顶页(TP)。

表3

图5F描绘了当每个存储器单元存储五位数据(其为MLC数据的另一个示例)时的阈值电压分布。在一个示例具体实施中,当存储器单元存储五位数据时,数据以三十二个数据状态(例如,S0-S31)中的任一个数据状态存储。

图6是描述用于对存储器单元进行编程的标准过程的一个实施方案的流程图。出于本文档的目的,术语编程(program)和编程(programming)与写入(write)和写入(writing)同义。在一个示例实施方案中,使用上文所讨论的一个或多个控制电路(例如,系统控制逻辑部件260、列控制电路210、行控制电路220)对存储器结构202执行图6的过程。在一个示例实施方案中,图6的过程由集成存储器组件207使用控制管芯211的一个或多个控制电路(例如,系统控制逻辑部件260、列控制电路210、行控制电路220)执行以对存储器管芯201上的存储器单元进行编程。该过程包括多个循环,每个循环包括编程阶段和验证阶段。执行图6的过程以实现全序列编程以及包括多遍编程的其他编程方案。当实施多遍编程时,图6的过程用于实现多遍编程过程的任一/每一遍。

通常,在编程操作期间(经由所选择的数据字线)施加到控制栅极的编程电压被施加为一系列编程电压脉冲。在编程电压脉冲之间的是一组验证脉冲(例如,电压脉冲)以执行验证。在许多具体实施中,编程电压脉冲(也称编程脉冲(program pulses)或编程脉冲(programming pulses))的幅值随每个连续脉冲而增大预确定的步长。在图6的步骤602中,将编程电压信号(Vpgm)初始化为起始幅值(例如,约12V至16V或另一个合适的电平),并且将由状态机262维持的编程计数器PC初始化为1。在一个实施方案中,被选择为编程的一组存储器单元(在本文中被称为所选择的存储器单元)被同时编程并且全部连接至相同的字线(所选择的字线)。可能有其他未选择用于编程的存储器单元(未选择的存储器单元)也连接至选择的字线。也就是说,所选择的字线也将连接至应该禁止编程的存储器单元。此外,当存储器单元达到它们预期的目标数据状态时,它们将被禁止进一步编程。这些NAND串(例如,未选择NAND串)使其沟道升压以禁止编程,这些串包括连接至所选择的字线的要被禁止编程的存储器单元。当沟道具有升高的电压时,沟道和字线之间的电压差不足以引起编程。为了帮助升压,在步骤604中,控制管芯将对包括连接到将被禁止编程的所选择的字线的存储器单元的NAND串的沟道预充电。在步骤606中,包括连接到将被禁止编程的所选择的字线的存储器单元的NAND串使其信道升压以禁止编程。此类NAND串在本文中被称为“未选择的NAND串”。在一个实施方案中,未选择字线接收一个或多个升压电压(例如,约7伏-11伏)(也称为通过电压)以执行升压方案。编程禁止电压被施加到耦接未选择NAND串的位线。例如,在一个实施方案中,在步骤604中将沟道预充电到大约2伏且随后使其浮动。在步骤606中,将沟道从2伏升压到大约8-10伏的升压电压。

在步骤608中,将编程电压信号Vpgm的编程电压脉冲施加到所选择的字线(被选择用于编程的字线)。如果NAND串上的存储器单元应该被编程,则对应的位线被偏置在编程启用电压。在步骤608中,将编程脉冲同时施加到连接到所选择的字线的所有存储器单元,使得同时对连接到所选择的字线的所有存储器单元进行编程(除非它们被禁止编程)。也就是说,它们在同一时间上或在重叠时间期间(两者都被视为是同时的)进行编程。以此方式,连接至所选择的字线的所有存储器单元将同时具有其阈值电压变化,除非它们被禁止编程。

在步骤610中,执行编程验证并且已经达到其目标状态的存储器单元被锁定而不能被控制管芯进一步编程。步骤610包括通过在一个或多个验证比较电平下感测来执行编程的验证。在一个实施方案中,通过测试被选择用于编程的存储器单元的阈值电压是否已经达到适当验证比较电压来执行验证过程。在步骤610中,在存储器单元已经被验证(通过Vt的测试)存储器单元已经达到其目标状态之后,存储器单元可以被锁定。

在步骤612中,确定以编程到最后数据状态(例如,图5C的状态G或图5D的状态S15)为目标的所有存储器单元是否已达到其目标阈值电压。例如,如果以编程到数据状态G为目标的所有存储器单元具有大于VvG的阈值电压,那么编程过程完成并在步骤614中报告状态“通过(PASS)”。否则,如果在步骤612中确定不是以最后数据状态为目标的所有存储器单元都已经达到其目标阈值电压,则该编程过程将在步骤620处继续。在一个实施方案中,步骤612包括对尚未达到其目标阈值电压的以最后数据状态为目标的存储器单元的数量进行计数,并且如果该数量足够低(小于ECC过程校正错误的能力),那么系统可以确定编程过程完成并且成功。

在另一实施方案中,在图6的过程开始处,通过对尚未达到其目标阈值电压的以第一数据状态(例如,数据状态A)为目标的存储器单元的数量进行计数来执行步骤612,并且如果该数量足够低(小于ECC过程校正错误的能力),那么系统确定针对数据状态A的编程过程完成,并且步骤612的未来执行包含通过对以下一个数据状态(例如,数据状态B)为目标的、尚未达到它们的目标阈值电压的存储器单元的数量进行计数,并且如果该数量足够低(小于ECC过程校正错误的能力),那么系统确定针对数据状态B的编程过程完成,并且步骤612的未来执行包括通过对以下一个数据状态(例如,数据状态C)为目标的存储器单元的数量进行计数,等等。

在步骤620中,对照编程极限值(PL)检查编程计数器PC。编程极限值的示例包括6、12、16、19、20和30;然而,可以使用其他值。如果编程计数器PC不小于编程极限值PL,则认为该编程过程已经失败并且在步骤624中报告“失败”状态。如果编程计数器PC小于编程极限值PL,则该过程在步骤626处继续,在此期间,编程计数器PC递增了1,并且编程电压信号Vpgm被步进到下一幅值。例如,下一脉冲将具有比前一脉冲大步长ΔVpgm(例如,0.1伏至1.0伏的步长)的幅值。在步骤626之后,该过程循环回到步骤604,并且另一个编程脉冲被(控制管芯)施加到所选择的字线,使得执行图6的编程过程的另一次迭代(步骤604-626)。

在一些实施方案中,以从源极侧到漏极侧的次序对存储器单元进行编程。例如,首先执行图6的过程以对连接到WL0的存储器单元进行编程,接着使用图6的过程来对连接到WL1的存储器单元进行编程,接着使用图6的过程来对连接到WL2的存储器单元进行编程,接着使用图6的过程来对连接到WL3的存储器单元进行编程,……接着使用图6的过程来对连接到WL239的存储器单元进行编程。

在另一实施方案中,以从漏极侧到源极侧的次序对存储器单元进行编程。例如,首先执行图6的过程以对连接到WL239的存储器单元进行编程,接着使用图6的过程来对连接到WL238的存储器单元进行编程,接着使用图6的过程来对连接到WL237的存储器单元进行编程,接着使用图6的过程来对连接到WL236的存储器单元进行编程,……接着使用图6的过程来对连接到WL1的存储器单元进行编程,接着使用图6的过程来对连接到WL0的存储器单元进行编程。

在一个实施方案中,在编程之前擦除存储器单元,并且擦除是将一个或多个存储器单元的阈值电压从编程数据状态改变为擦除数据状态的过程。例如,将一个或多个存储器单元的阈值电压从图5A的状态P改变为状态E,从图5B的状态A/B/C改变为状态E,从图5C的状态A-G改变为状态Er或从图5D的状态S1-S15改变为状态S0。

擦除一些存储器设备中的存储器单元的一种技术是将p阱(或其他类型的)衬底偏置到高电压以对NAND沟道充电。当NAND沟道处于高电压时,将擦除启用电压(例如,低电压)施加到存储器单元的控制栅极,以擦除非易失性存储元件(存储器单元)。在本文中,这称为p阱擦除。

擦除存储器单元的另一种方法是生成栅极感应漏极泄漏(GIDL)电流,以对NAND串沟道进行充电。将擦除启用电压施加到存储器单元的控制栅极,同时保持NAND串沟道电势,以擦除存储器单元。在本文中,这称为GIDL擦除。p阱擦除和GIDL擦除均可用于降低存储器单元的阈值电压(Vt)。

在一个实施方案中,通过在选择晶体管(例如,SGD和/或SGS)处引起漏极到栅极电压来产生GIDL电流。生成GIDL电流的晶体管漏极至栅极电压在本文中称为GIDL电压。当选择晶体管漏极电压显著高于选择晶体管控制栅极电压时,可产生GIDL电流。GIDL电流是载流子生成的结果,即,由于频带-频带隧穿而产生的电子空穴对生成和/或陷阱辅助生成。在一个实施方案中,GIDL电流可导致一种类型的载流子(例如,空穴)主要移动到NAND沟道中,从而升高沟道的电势。另一种类型的载流子(例如电子)通过电场沿位线的方向或沿源极线的方向从沟道提取。在擦除期间,空穴可从沟道隧穿到存储器单元的电荷存储区,并且与其中的电子重组,以降低存储器单元的阈值电压。

可在NAND串的任一端处生成GIDL电流。连接到或接近位线的选择晶体管(例如,漏极侧选择晶体管)的两个端子之间可产生第一GIDL电压,以生成第一GIDL电流。连接到或接近源极线的选择晶体管(例如,源极侧选择晶体管)的两个端子之间可产生第二GIDL电压,以生成第二GIDL电流。仅在NAND串的一端处基于GIDL电流的擦除称为单侧GIDL擦除。在NAND串的两端处基于GIDL电流的擦除称为双侧GIDL擦除。

图7描绘了包括八个平面:平面0、平面1、平面2、平面3、平面4、平面5、平面6和平面7的集成存储器组件207的存储器管芯201的顶视图。在其他实施方案中,可实现多于或少于八个平面。在一个示例具体实施中,每个平面包括一个三维非易失性存储器阵列(或其他类型的存储器结构)。三维非易失性存储器阵列/结构中的每个三维非易失性存储器阵列包括连接到非易失存储器单元的位线和字线,如上所述。

图8描绘了集成存储器组件207的控制管芯211的顶视图。具体地,图8是控制管芯211的衬底700的顶表面的顶视图。衬底的顶表面700被划分为各种区域,包括多个字线开关区770、772、774、776、778、780、782和784。这些字线开关区中的每个字线开关区包括将字线连接到电压源的多个字线开关。控制管芯211还包括多个感测放大器区702A、702B、704A、704B、706A、706B、708A、708B、710A、710B、712A、712B、714A、714B、716A和716B。这些感测放大器区中的每个感测放大器区包括感测放大器和支持电路。控制管芯211还包括多个外围电路区(也称为外围区)730、732、734、736、738、740、742、744、746、748、750和752。这些外围区中的每个外围区包括用于实现控制管芯211的各种外围电路(除了感测放大器和字线开关晶体管之外)。例如,外围区730、732、734、736、738、740、742、744、746、748、750和752可包括系统控制逻辑部件260的部件、行控制电路220的部件、和/或列控制电路210的部件(除了感测放大器230之外)(参见图2A和图2B)。控制管芯211还包括感测放大器区之间的其他电路C1至C8。

控制管芯802具有第一端802、与第一端相对的第二端804以及在第一端和第二端之间的中间部。第一端802处的外围区被称为底部外围区(例如,底部外围区734、底部外围区740、底部外围区746和底部外围区752)。第二端804处的外围区被称为顶部外围区(例如,顶部外围区730、顶部外围区736、顶部外围区742和顶部外围区748)。中间部中的外围区被称为中间外围区(例如,中间外围区732、中间外围区738、中间外围区744和中间外围区750)。需注意,存储器管芯还具有对应的第一端803、与第一端相对的第二端805以及在第一端和第二端之间的中间部(参见图7)。

在一个实施方案中,图8的控制管芯211定位在存储器管芯201下方。也就是说,图7中所描绘的八个平面将定位在图8中所描绘的部件上方,如图9中所示。

如上所述,一些非易失性存储器在相同的管芯上包括多平面。为了提高操作速度,数据被同时编程到多平面存储器的多平面。然而,并非所有平面都以相同速度编程数据。例如,由于制造过程中的变化(或其他变化),一些平面可以比其他平面更快地编程。当数据被同时编程到多平面时,完成编程的总时间由最慢的平面确定。因此,为了提高多平面存储器的编程速度,提出了加速针对一个或多个慢平面的最后一个或多个数据状态的编程。例如,在慢平面的存储器单元完成对除最后数据状态以外的所有数据状态的编程之后,增强编程操作(例如,加速编程)可以被应用于慢平面的存储器单元的最后数据状态。

图10是加速针对一个或多个慢平面的最后一个或多个数据状态的编程的非易失性存储装置的一部分的框图。图10的非易失性存储装置包括连接到非易失性存储器单元的多平面1004(例如,平面0、平面1、平面2、平面3、平面4、平面5、平面6和平面7)的控制电路1002,其中,非易失性存储器单元被实施为上文所讨论的结构中的任一者或其它类型的存储器结构。控制电路1002可以是上述控制电路的任何实施方案。控制电路1002经由控制线(诸如字线、位线、源极线和/或选择线)连接到多平面的存储器单元,如上文关于图1至图4J所描述的。控制电路1002被配置为执行编程过程以将数据同时编程到多平面中,包括执行图11至图14的过程,使得在慢平面完成对除最后一个或多个数据状态以外的所有数据状态的编程之后,增强编程操作(例如,加速编程)可以被应用于慢平面的最后一个或多个数据状态。

图11是描述将数据同时编程到多平面中的过程的一个实施方案的流程图,使得在慢平面完成对除最后一个或多个数据状态以外的所有数据状态的编程之后,增强编程操作(例如,加速编程)可以被应用于慢平面的最后一个或多个数据状态应用。在一个示例实施方案中,图11的过程由上述控制电路的实施方案中的任一者执行。在一个示例实施方案中,图11的过程由集成存储器组合件207使用控制管芯211的上文所论述的控制电路的实施方案中的任一者来执行,以编程存储器管芯201上的存储器单元(例如,存储器结构202的NAND串)。在一个实施方案中,图11的过程在状态机262(或另一处理器)的指挥下执行。

在图11的步骤1102中,控制电路针对多平面同时执行编程过程的第一部分。例如,可以针对每存储器单元存储一位数据、每存储器单元存储两位数据、每存储器单元存储三位数据、每存储器单元存储四位数据等的存储器单元执行图6的过程的全部或一部分。在步骤1104中,控制电路基于编程过程的第一部分来识别多平面中的慢平面。例如,控制电路确定哪一个或多个平面比其它平面编程慢。在一个示例中,控制电路在步骤1102期间确定哪个平面的存储器单元正经历每编程脉冲的阈值电压的最小改变。可以使用许多不同的测试来识别该慢平面。下文关于图13和图14描述用于识别一个或多个慢平面的一个示例的更多细节。在步骤1106中,控制电路执行编程过程的第二部分。例如,可以执行(或继续执行)图6的过程的全部或一部分。

在步骤1108中,控制电路在编程过程的第二部分期间(例如,在步骤1106期间)相对于多平面中的另一平面增加针对慢平面的编程速度。对于本文件而言,增加针对慢平面的编程速度意味着慢平面的存储器单元比没有增加编程速度时编程更快。在一个示例中,增加针对慢平面的编程速度包括采取动作以致使慢平面的存储器单元响应于编程电压脉冲(参见例如步骤608)而经历比如果未采取动作来增加针对慢平面的编程速度时该存储器单元将具有的阈值电压的增加更大的阈值电压的增加。针对慢平面的编程速度的增加是相对于不是慢平面的其它平面,以减少慢平面对整个编程过程的减慢。在一些实施方案中,这可能意味着仅采取措施来增加针对慢平面的编程速度,并且快平面如所计划的那样继续。在其它实施方案中,这可能意味着增加针对所有平面的速度,但慢平面的速度增加大于快平面的速度增加。即,例如当使用与图6的过程(该过程在编程过程的每一编程循环/迭代(例如,步骤604到626)期间按步长增加编程电压)类似的过程编程时,以标称(或预期)的速度编程存储器单元,并且步骤1108包含控制电路以已从相应标称(或预期)的速度增加的速度编程慢平面的存储器单元,以及在编程过程的第二部分期间以尚未从相应标称速度增加的速度编程除了慢平面之外的平面的存储器单元。

当使用与图6的过程(该过程在编程过程的每一编程循环/迭代(例如,步骤604到626)期间按步长增加编程电压)类似的过程编程时,,每个编程循环/迭代将使用更高幅值的编程电压脉冲,这可论证地意味着更快的编程。除了在每个编程循环/迭代期间编程电压的按步长的标准增加之外,步骤1108的增加编程速度包括进一步加速编程。

在步骤1108的一个实施方案中,控制电路被配置为通过在编程过程的第二部分期间增加针对慢平面的编程电压脉冲的持续时间(例如,参见步骤608)而在编程过程的第二部分期间相对于多平面中的另一平面增加针对慢平面的编程速度。在另一实施方案中,控制电路被配置为通过在编程过程的第二部分期间增加针对所有平面的编程电压脉冲的持续时间并升高连接到除慢平面以外的平面的存储器单元的位线电压而在编程过程的第二部分期间相对于多平面中的另一平面增加针对慢平面的编程速度,其中升高位线电压减慢编程。在一个示例中,升高位线电压以使得将以标称速度(例如,没有此新技术实施的速度)编程快平面。在另一实施方案中,控制电路被配置为通过在编程过程的第二部分期间增加用于正被编程的慢平面的存储器单元的步长(例如,ΔVpgm,参见例如步骤626)而在编程过程的第二部分期间相对于多平面中的另一平面增加针对慢平面的编程速度。在另一实施方案中,控制电路被配置为通过在编程过程的第二部分期间增加用于所有平面的步长并升高连接到除慢平面以外的平面的存储器单元的位线电压而在编程过程的第二部分期间相对于多平面中的另一平面增加针对慢平面的编程速度。在一个示例中,升高位线电压以使得将以标称速度(例如,没有此新技术实施的速度)编程快平面。在另一实施方案中,控制电路被配置为通过在编程过程的第二部分期间将用于慢平面的正被编程的存储器单元的位线电压降低到负电压而在编程过程的第二部分期间相对于多平面中的另一平面增加针对慢平面的编程速度,使得降低位线电压用以增加编程速度。

注意,在图11的过程的一个实施方案中,编程过程的第一部分(步骤1102)包括控制电路完成针对布置在多平面中的多个非易失性存储器单元中的以第一组数据状态为目标的存储器单元的第一子集的编程过程,并且编程过程的第二部分(步骤1106)包括控制电路完成针对布置在多平面中的多个非易失性存储器单元中的以第二组数据状态为目标的存储器单元的第二子集的编程过程,该一个或多个数据状态中的第二组数据状态在阈值电压上比第一组数据状态高。例如,编程过程的第一部分可以包括开始对所有选定存储器单元(例如,存储器单元的第一子集和第二子集)进行编程以每存储器单元存储三位数据,以及完成对以数据状态A至F为目标的所有存储器单元的编程(例如参见图5C),并且编程过程的第二部分包括完成对以最后数据状态(例如,图5C的数据状态G)为目标的存储器单元的编程。最后的数据状态(例如图5C的数据状态G)在阈值电压上高于第一组数据状态(例如,图5C的数据状态A至F),如图5C中所描绘的。在一个实施方案中,编程过程的第二部分包括控制电路仅对布置在多平面中的多个非易失性存储器单元中的以最后数据状态为目标的存储器单元执行编程过程。在一个实施方案中,编程过程的第二部分包括完成以最后数据状态(例如,图5E的数据状态S15或图5F的数据状态S31)和一个或多个附加数据状态(例如,图5E的数据状态S13至S14或图5F的数据状态S28至S30)为目标的存储器单元的编程。

在一个实施方案中,控制电路被配置为通过执行多个编程循环(例如参见图6)来执行编程过程(例如,步骤1102和1106),每个编程循环包括控制电路将编程电压脉冲施加到多个非易失性存储器单元(例如,见步骤608)并且针对多个非易失性存储器单元的至少子集执行编程验证(例如,见步骤610)。控制电路被配置为基于编程过程的第一部分(步骤1102)来识别多平面中的慢平面,通过在以第一组数据状态(例如,图5C的数据状态A至F)为目标的相应平面的所有存储器单元已完成编程过程之后并且在所有平面已完成编程过程的第一部分之前对针对每一平面执行的编程循环的数量进行计数,并且将慢平面识别为具有在以第一组数据状态为目标的相应平面的所有存储器单元已完成编程过程之后并在所有平面已完成编程过程的第一部分之前所执行的最小数量的编程循环的平面。下面关于图13和图14描述更多细节。

图12是描述将数据同时编程到多平面中以使得在慢平面完成针对除最后一个或多个数据状态以外的所有数据状态的编程之后,增强编程操作(例如,加速编程)可以被应用于慢平面的最后一个或多个数据状态的过程的另一实施方案的流程图。即,图12的过程是图11的过程的另一实施方案。在一个示例实施方案中,图12的过程由上述控制电路的实施方案中的任一者执行。在一个示例实施方案中,图12的过程由集成存储器组件207使用控制管芯211的上述控制电路的实施方案中的任一者来执行,以对存储器管芯201上的存储器单元(例如,存储器结构202的NAND串)进行编程。在一个实施方案中,图12的过程在状态机262(或另一处理器)的指挥下执行。

在图12的步骤1202中,控制电路开始编程过程,该编程过程将数据组同时编程到布置于多平面中的非易失性存储器单元组中。在步骤1204中,控制电路完成针对布置在多平面中的非易失性存储器单元组的以第一组数据状态(例如,图5C的数据状态A至F)为目标的存储器单元的编程过程。步骤1202-1204类似于图11的步骤1102。在一些实施方案中,步骤1202和1204包括执行图6的过程的全部或子集。在图12的步骤1206中,控制电路基于编程过程来识别多平面中的慢平面。步骤1206类似于图11的步骤1104。在图12的步骤1208中,控制电路完成针对布置在多平面中的非易失性存储器单元组的以第二组一个或多个数据状态(例如图5C的数据状态G)为目标的存储器单元的编程过程,包括相对于多平面中的另一平面增加针对慢平面的编程速度。第二组一个或多个数据状态在阈值电压上高于第一组数据状态。步骤1208类似于图11中的步骤1106和1108。注意,可以对每存储器单元存储任何数量的数据位的存储器单元执行图11和图12的过程。在一些实施方案中,步骤1208包括继续图6的过程(即,在步骤1204之后继续执行图的过程的一部分)。

在图12的过程的一个实施方案中,第二组一个或多个数据状态为具有所有数据状态的最高阈值电压的最后数据状态(例如,图5C的数据状态G);完成针对布置在多平面中的非易失性存储器单元组的以第二组数据状态为目标的存储器单元的编程过程包括仅针对最后数据状态执行编程;并且完成针对布置在多平面中的非易失性存储器单元组的以第二组数据状态为目标的存储器单元的编程过程包括:以已经从相应标称速度增加的速度来编程慢平面的存储器单元,和以尚未从相应标称速度增加的速度编程除该慢平面以外的平面的存储器单元。

图13和14一起形成描述将数据同时编程到多平面中以使得在慢平面完成针对除最后一个或多个数据状态以外的所有数据状态的编程之后,增强编程操作(例如,加速编程)可以被应用于慢平面的最后一个或多个数据状态的过程的另一实施方案的流程图。图13和图14的过程是图11和/或图12的过程的示例具体实施。在一个示例实施方案中,图13和图14的过程由上述控制电路的实施方案中的任一者执行。在一个示例实施方案中,图13和图14的过程由集成存储器组件207使用控制管芯211的上述控制电路的实施方案中的任一者来执行,以对存储器管芯201上的存储器单元(例如,存储器结构202的NAND串)进行编程。在一个实施方案中,图13和图14的过程在状态机262(或另一处理器)的指挥下执行。

在图13的步骤1302中,将编程电压信号(Vpgm)初始化为起始幅值(例如,约12V至16V或另一个合适的电平),并且将编程计数器PC初始化为1。在一个实施方案中,被选择为编程的存储器单元组(在本文中被称为所选择的存储器单元)被同时编程并且相同平面中的所有存储器单元被连接至相同的字线(所选择的字线)。图13和图14的过程将数据同时编程到多平面中的存储器单元中。在步骤1304中,控制管芯对包括连接到将被禁止编程的所选择的字线的存储器单元的NAND串的沟道预充电。在步骤1306中,包括连接到将被禁止编程的(每个平面的)所选择的字线的存储器单元的NAND串的沟道被升压以禁止编程。在一个实施方案中,未选择字线接收一个或多个升压电压(例如,约7伏-11伏)(也称为通过电压)以执行升压方案。编程禁止电压被施加到耦接未选择NAND串的位线。例如,在一个实施方案中,在步骤1304中将沟道预充电到大约2伏且随后使其浮动。在步骤1306中,将沟道从2伏升压到大约8-10伏的升压电压。在步骤1308中,将编程电压信号Vpgm的编程电压脉冲施加到每个平面的所选择的字线。如果NAND串上的存储器单元应该被编程,则对应的位线被偏置在编程启用电压。在步骤1308中,将编程脉冲同时施加到连接到所选择的字线的所有存储器单元,使得同时对连接到所选择的字线的所有存储器单元进行编程(除非它们被禁止编程)。在步骤1310中,执行编程验证并且已经达到其目标状态的存储器单元被锁定而不能被控制电路进一步编程。步骤1310包括通过在一个或多个验证比较电平下感测来执行编程的验证。在一个实施方案中,通过测试被选择用于编程的存储器单元的阈值电压是否已经达到适当验证比较电压来执行验证过程。在步骤1310中,在存储器单元已经被验证(通过阈值电压的测试)存储器单元已经达到其目标状态之后,存储器单元可以被锁定。图13的步骤1302-1310类似于图6的步骤602-610。

在步骤1312中,确定是否以编程到状态G为目标的所有存储器单元都已被成功验证。如果是,则编程过程已经成功完成并且在步骤1314中报告状态=通过。如果并非所有以编程到状态G为目标的存储器单元均已被成功验证,那么该过程在步骤1320处继续。在一些实施方案中,步骤1312类似于步骤612。在一个实施方案中,针对每个平面单独地执行步骤1312。

在一个实施方案中,步骤1312包括确定以编程到状态G为目标的所有存储器单元均具有大于Vvg的阈值电压。在另一实施方案中,步骤1312包括对不具有大于Vvg的阈值电压的、以编程到状态G为目标的存储器单元的数量进行计数,并确定该数量是否足够低(例如,小于ECCC校正错误的能力)。如果该数量足够低,则认为编程过程被成功完成。

在步骤1320中,对照编程极限值(PL)检查编程计数器PC。编程极限值的示例包括6、12、16、19、20和30;然而,可以使用其他值。如果编程计数器PC不小于编程极限值PL,则认为该编程过程已经失败并且在步骤1322中报告“失败”状态。如果编程计数器PC小于编程极限值PL,则过程在步骤1326处继续。

控制电路将为每个平面维持单独的额外循环计数(ELC)。ELC指示在完成针对除最后数据状态之外的所有数据状态的编程之后所执行的编程过程的循环的数量。例如,ELC可以指示在完成针对图5C的实施方案的数据状态A至F的编程之后所执行的编程过程的循环的数量(存储器单元每存储器单元存储3个数据位)。在步骤1326中,对于已成功完成针对数据状态A至F的编程的每个平面(在步骤1310中成功验证了以编程到数据状态A至F为目标的所有存储器单元),控制电路递增针对该相应平面的ELC。例如,如果在步骤1310的最近执行中,平面2已经成功地验证了其以编程到数据状态A至F为目标的所有存储器单元,则在步骤1326中,针对平面3的ELC从零递增到一,并且在随后的循环中(针对该编程过程的步骤1326的随后执行)针对平面2的ELC将再次递增。

在步骤1328中,控制电路确定是否所有平面均已成功地完成对数据状态A至F的编程(成功地验证了以编程到数据状态A至F为目标的所有存储器单元)。如果否,则该过程在步骤1330处继续,在此期间,编程计数器PC递增了1,并且编程电压信号Vpgm被步进到下一幅值。例如,下一编程电压脉冲将具有比前一脉冲大步长ΔVpgm(例如,0.1伏至1.0伏的步长)的幅值。在步骤1330之后,该过程循环回到步骤1304,并且将另一个编程电压脉冲施加给所选择的字线,以便执行图13的编程过程的另一次循环/迭代(步骤1304至1326以及步骤1330)。图13的步骤1302至步骤1322和步骤1330类似于图6的步骤602至步骤626。

如果在步骤1328中确定所有平面均已成功完成针对数据状态A至F的编程,那么控制电路在步骤1340中执行最后状态增强编程。图14是描述用于执行最后状态增强编程的过程的一个实施方案的流程图。即,图14的过程是图13的步骤1340的示例具体实施。

在图14的步骤1402中,控制电路识别一个或多个慢平面。如上文所述,控制电路将针对每个平面维持单独的ELC,使得ELC指示在完成针对除相应平面的最后数据状态之外的所有数据状态的编程之后所执行的编程过程的循环的数量。在一个实施方案中,步骤1402包括确定哪个平面具有最低ELC,使得具有最低ELC的平面是慢平面。在一些情况下,可以针对最低ELC绑定多于一个平面,因此,针对最低ELC绑定的多平面将全部被识别为慢平面并且针对最后一个或多个数据状态增强/加速它们的编程。在一些实施方案中,在步骤1402处,最低数据状态将总是具有ELC=1。

在步骤1404中,控制电路对包括连接到将被禁止编程的所选择的字线的存储器单元的NAND串的沟道预充电。步骤1404类似于步骤1304。在步骤1406中,包括连接到将被禁止编程的所选择的字线的存储器单元的NAND串的沟道被升压以禁止编程。步骤1406类似于步骤1306。

在步骤1408中,确定是否已经满足了触发。在一个示例具体实施中,使用触发可以将针对慢平面的增强/加速编程延迟一个或多个编程电压脉冲。即,在一个实施方案中,控制电路被配置为在编程过程的第二部分期间、在预定数量个编程电压脉冲之后,在编程的第二部分期间相对于多平面中的另一平面增加针对慢平面的编程速度。例如,可以将系统配置参数TRIGGER设置为大于零的整数,并且步骤1408包括确定针对慢平面的ELC(定义为ELC_S)是否大于或等于TRIGGER(ELC_S≥TRIGGER)。如果TRIGGER=1,则针对编程过程ELC_S=TRIGGER=1第一次执行步骤1408,因此触发被满足(ELC_S≥TRIGGER)并且过程在步骤1414处继续。如果TRIGGER=2,则针对编程过程ELC_S=1第一次执行步骤1408。TRIGGER=2且ELC_S

如果触发不被满足(即针对慢平面的增强/加速编程应被延迟),则在步骤1410中编程电压脉冲被同时施加到连接到所选择的字线的所有存储器单元,使得连接到所选择的字线的所有存储器单元被同时编程(除非它们被禁止编程)。步骤1410包括执行标准编程而无需针对慢平面的增强/加速编程。步骤1410类似于步骤1308。在步骤1412中,针对数据状态G(最后数据状态)执行编程验证并且已经达到其数据状态G的存储器单元被锁定而不能被控制管芯进一步编程。

在步骤1416中,确定是否以编程到状态G(最后数据状态)为目标的所有存储器单元都已被成功地验证。如果是,则编程过程已经成功完成并且在步骤1418中报告状态=通过。如果不是所有以编程到状态G为目标的存储器单元均已被成功验证,那么该过程在步骤1424处继续。在一个实施方案中,针对每个平面单独地执行步骤1416。在一个实施方案中,步骤1416包括确定是否以编程到状态G为目标的所有存储器单元均具有大于Vvg的阈值电压。在另一个实施方案中,步骤1416包括对不具有大于Vvg的阈值电压的、以编程到状态G为目标的存储器单元的数量进行计数,并确定该数量是否足够低(例如,小于ECCC校正错误的能力。如果该数量足够低,则认为编程过程被成功完成。

在步骤1424中,对照编程极限值(PL)检查编程计数器PC。编程极限值的示例包括6、12、16、19、20和30;然而,可以使用其他值。如果编程计数器PC不小于编程极限值PL,则认为该编程过程已经失败并且在步骤1426中报告“失败”状态。

如果编程计数器PC小于PL,则该过程在步骤1428处继续,在此期间,编程计数器PC递增了1,编程电压信号Vpgm被步进到下一幅值,并且对于每个平面ELC递增了1。例如,下一脉冲将具有比前一脉冲大步长ΔVpgm(例如,0.1伏至1.0伏的步长)的幅值。在步骤1428之后,该过程循环回到步骤1404,并且将另一个编程电压脉冲施加给所选择的字线,以便执行图14的编程过程的另一次循环(步骤1404至步骤1428)。

如果(在步骤1408中)满足触发(例如,ELC_S≥触发),则控制电路在步骤1414中针对一个或多个慢平面执行增强的(例如,加速的)编程。在一个实施方案中,步骤1414包括对不是慢平面的平面执行标准编程。在执行步骤1414的增强编程之后,过程在步骤1412处继续,以执行如上文所述的编程验证。

步骤1414的增强编程包括相对于一个或多个其他平面(例如,快速编程平面),增加针对一个或多个慢平面的编程速度。在步骤1414的一个实施方案中,将编程脉冲同时施加到连接到所选择的字线的所有存储器单元,使得同时对连接到所选择的字线的所有存储器单元进行编程(除非它们被禁止编程),并且有意采取一个或多个动作以相对于一个或多个其它平面增加针对一个或多个慢平面的编程速度。在一个实施方案中,控制电路被配置为通过增加施加到连接到慢平面的存储器单元的字线的编程电压脉冲的持续时间来相对于其它平面增加针对一个或多个慢平面的编程速度。在另一实施方案中,控制电路被配置为通过增加针对所有平面的编程电压脉冲的持续时间和升高连接到不同于慢平面的平面的存储器单元的位线电压来相对于其它平面增加针对慢平面的编程速度。在另一实施方案中,控制电路被配置为通过增加用于慢平面的存储器单元的步长(例如,ΔVpgm)来相对于其它平面增加针对慢平面的编程速度。在另一个实施方案中,控制电路被配置为通过增加用于所有平面的步长和升高连接到不同于慢平面的平面的存储器单元的位线电压来相对于其它平面增加针对慢平面的编程速度。在另一实施方案中,控制电路被配置为通过将用于正被编程的慢平面的存储器单元的位线电压降低到负电压来相对于其它平面增加针对慢平面的编程速度。即,在一个实施方案中,将负电压施加到连接到包含正被编程到数据状态G的存储器单元的慢平面的NAND串的位线。在步骤1414的一个实施方案中,当慢平面的存储器单元经历增强的(例如,加速的)编程时,其它平面(未被识别为慢平面的平面)的存储器单元将接收/经历标准编程(不采取额外动作来加速编程),因此增强的编程仅由慢平面的存储器单元经历。在步骤1414的另一实施方案中,当慢平面的存储器单元经历增强的(例如,加速的)编程时,其它平面(未被识别为慢平面的平面)的存储器单元将接收/经历稍微更快的编程,但其它平面的编程速度的增加小于慢平面的编程速度的增加。

图13和图14的过程是图11和/或图12的过程的示例具体实施。例如,图13的步骤1302至步骤1330是图11的步骤1102和图12的步骤1202至步骤1204的示例具体实施。图14的步骤1402是图11的步骤1104和图12的步骤1206的示例具体实施。图14的步骤1404至步骤1428是图11的步骤1106和图12的步骤1208的示例具体实施。图14的步骤1414实施图11的步骤1108和图12的步骤1208的一部分。在一个实施方案中,图13的步骤1302至步骤1330是编程过程的第一部分的示例具体实施,并且图14的步骤1404至步骤1428是编程过程的第二部分的示例具体实施。

图15描绘了在使用图6的标准编程过程进行编程期间施加到所选择的字线的示例电压波形。图16描绘了在使用图13和图14的过程进行编程期间施加到所选择的字线的示例电压波形,以将数据同时编程到多平面中,使得在慢平面完成对除最后一个或多个数据状态以外的所有数据状态的编程之后,增强编程操作(例如,加速编程)可以被应用于慢平面的最后一个或多个数据状态。图16提供了图13和图14的过程的使用的示例,并且演示了使用图13和图14的过程如何减少将数据组编程到多平面中所需的时间。

图15示出了14个编程电压脉冲P1-P14(参见例如图6的步骤608)。在编程电压脉冲P1-P14之间以及在P14之后是用于数据状态A至G的验证电压脉冲(参见图5C)。使用智能验证算法,控制电路基于需要验证的预期数据状态在每个编程电压脉冲之后仅施加验证电压脉冲的子集(针对数据状态A至G的子集)(例如,参见图6的步骤610)。智能验证算法的一个实施方案使用状态N-1的验证电平作为检测电平来判断自然Vt是否已经接近状态N的验证电平,并且如果通过状态N-1验证的存储器单元大于位忽略数,则状态N的验证将在下一个验证序列中开始。例如,在P1和P2之间以及在P2和P3之间,控制电路仅施加验证脉冲以验证数据状态A;在P3和P4之间,控制电路仅施加验证脉冲以验证数据状态A和B;在P4和P5之间,控制电路仅施加验证脉冲以验证数据状态A和B和C;在P5和P6之间,控制电路仅施加验证脉冲以验证数据状态B和C;在P6和P7之间,控制电路仅施加验证脉冲以验证数据状态C和D;在P7和P8之间,控制电路仅施加验证脉冲以验证数据状态C和D和E;在P8和P9之间,控制电路仅施加验证脉冲以验证数据状态D和E;在P9和P10之间,控制电路仅施加验证脉冲以验证数据状态E和F;在P10和P11之间,控制电路仅施加验证脉冲以验证数据状态E和F;在P11和P12之间,控制电路仅施加验证脉冲以验证数据状态F和G;在P12和P13之间,控制电路仅施加验证脉冲以验证数据状态G;在P13和P14之间,控制电路仅施加验证脉冲以验证数据状态G;并且在P14之后,控制电路仅施加验证脉冲以验证数据状态G。

在图15和图16的示例中,平面0至平面6是快平面,而平面7是慢平面(参见图7和图9);并且平面0至平面6在编程电压脉冲P10之后完成对数据状态A至F的编程。即,当在编程电压脉冲P10之后执行编程验证时(见例如步骤610)平面0至平面6的目标为编程到数据状态E和F的所有存储器单元均成功验证(例如,阈值电压分别达到VvE和VvF),并且平面0至平面6的目标为被编程到数据状态A至D的所有存储器单元在编程电压脉冲P10之前被成功验证。当在编程电压脉冲P13之后验证用于数据状态G的平面0至平面6的存储器单元时,控制电路确定平面0至平面6的目标为被编程到数据状态G的所有存储器单元均已经被成功地编程和验证;因此,在平面0至平面6中被选择用于编程的所有存储器单元均已经在编程电压脉冲P13处完成编程。

平面7是慢平面。平面7在编程电压脉冲P11之后完成数据状态A至F的编程并在编程电压脉冲P14之后完成数据状态G的编程。因此,在平面7中被选择用于编程的所有存储器单元均已在编程电压脉冲P14处完成编程。由于在平面0至平面7中和跨过平面0至平面7同时编程数据组,所以用于编程的时间包括十四个编程电压脉冲(例如,图6的过程的十四个循环),因为用于编程的时间是基于最慢平面确定的。

图16示出了十三个编程电压脉冲P1至P14。在编程电压脉冲P1-P13之间以及在P3之后是用于数据状态A至G的验证电压脉冲(参见图5C)。使用智能验证算法,控制电路基于需要验证的预期数据状态在每个编程电压脉冲之后仅施加验证电压脉冲的子集(针对数据状态A至G的子集),正如上文关于图15所述。例如,在P1和P2之间以及在P2和P3之间,控制电路仅施加验证脉冲以验证数据状态A;在P3和P4之间,控制电路仅施加验证脉冲以验证数据状态A和B;在P4和P5之间,控制电路仅施加验证脉冲以验证数据状态A和B和C;在P5和P6之间,控制电路仅施加验证脉冲以验证数据状态B和C;在P6和P7之间,控制电路仅施加验证脉冲以验证数据状态C和D;在P7和P8之间,控制电路仅施加验证脉冲以验证数据状态C和D和E;在P8和P9之间,控制电路仅施加验证脉冲以验证数据状态D和E;在P9和P10之间,控制电路仅施加验证脉冲以验证数据状态E和F;在P10和P11之间,控制电路仅施加验证脉冲以验证数据状态E和F;在P11和P12之间,控制电路仅施加验证脉冲以验证数据状态F和G;在P12和P13之间,控制电路仅施加验证脉冲以验证数据状态G;并且在P13之后,控制电路仅施加验证脉冲以验证数据状态G。

如上文关于图15所述,平面0至平面6在编程电压脉冲P10之后完成数据状态A至F的编程。即,执行步骤1304至步骤1330的循环(参见图13)十次,对于P1至P10各一次。在编程电压脉冲P10之后,对于平面0至平面6,ELC被设置为1。如上文关于图15所述,平面7在编程电压脉冲P11之后完成数据状态A至F的编程。在编程电压脉冲P11之后,对于平面0至平面6,ELC被设置为2,而对于平面7,ELC被设置为1(因为每个平面对于ELC具有单独的值)。在编程电压脉冲P11之后,执行步骤1402,并且控制电路确定平面7是慢平面,因为它具有最低ELC。在此示例中,TRIGGER=2,因此对于平面7的编程过程ELC_S=1,第一次执行步骤1408,并且ELC_S

在编程电压脉冲P12之后,对于平面0至平面6,ELC被设置为3,并且对于平面7,ELC被设置为2(ELC_S=2)。在编程电压脉冲P12之后,因为ELC_S=2(对于慢平面Plane 7)并且ELC_S≥TRIGGER,所以满足触发(步骤1408),因此满足触发并且过程在步骤1414处继续,在此期间以数据状态G为目标的平面7的存储器单元接收对于编程电压脉冲P13的增强/加速编程,而以数据状态G为目标的平面0至平面6的存储器单元不接收增强/加速编程。在图16的示例中,增强/加速编程包括通过增加用于所有平面的编程电压脉冲的步长(见P13的部分1602)和升高连接到平面0至平面7的存储器单元的位线电压来相对于平面0至平面6增加针对平面7的编程速度。增加用于平面7的编程电压脉冲的步长(见P13的部分1602)增加了以数据状态G为目标的平面7的存储器单元的编程速度。升高连接到平面0至平面6的存储器单元的位线电压抵消了针对平面0至平面6的编程电压脉冲的步长的增加,因此平面0至平面6的编程速度没有提高。

一个实施方案还包括MAX_PLANE参数,其指示可被增强的慢平面的最大数量。如果在步骤1104/1206/1402中,控制电路确定慢平面的数量小于或等于MAX_PLANE参数,则如上所述执行针对慢平面的最后数据状态的增强/加速编程。如果在步骤1104/1206/1402中,控制电路确定慢平面的数量大于MAX_PLANE参数,则不执行针对慢平面的最后数据状态的增强/加速编程,并且以传统方式(例如,与快平面相同)编程慢平面。

已经公开了用于编程多平面存储器的更快的编程过程。

一个实施方案包括非易失性存储装置,该非易失性存储装置包括布置在多平面中的多个非易失性存储器单元和连接到该多平面的控制电路。该控制电路被配置为执行编程过程以将数据同时编程到多平面中,包括针对多平面同时地执行该编程过程的第一部分和执行该编程过程的第二部分。该控制电路被配置为基于该编程过程的第一部分识别多平面中的慢平面,并且在编程过程的第二部分期间相对于多平面中的另一平面增加针对慢平面的编程速度。

一个实施方案包括一种方法,该方法包括:开始编程过程,该编程过程将数据组同时编程到布置在多平面中的非易失性存储器单元组中;完成针对布置在多平面中的该非易失性存储器单元组的以第一组数据状态为目标的存储器单元的编程过程;基于编程过程识别多平面中的慢平面;完成针对布置在多平面中的非易失性存储器单元组的以第二组数据状态为目标的存储器单元的编程过程,包括相对于多平面中的另一平面增加针对慢平面的编程速度,该第二组一个或多个数据状态在阈值电压上高于第一组数据状态。

一个实施方案包括:非易失性存储装置,该非易失性存储装置包括非易失性存储器单元的多个平面。该非易失性存储器单元被布置成竖直NAND串。每个平面包括连接到非易失性存储器单元的位线和字线。该非易失性存储器单元以块布置。每个平面包括连接到相同组位线的多个块。每个块包括连接到相同组字线的多个NAND串。该非易失性存储装置进一步包括连接到多个平面的用于执行编程过程(例如,图11到图14)的器件,该编程过程通过以下步骤将数据组同时编程到布置在多个平面中的多平面中的非易失性存储器单元中:对布置在多平面中的非易失性存储器单元同时执行编程过程的第一部分(例如,步骤1102、1104、1202、1302-1330);通过在多平面中以第一组数据状态为目标的非易失性存储器单元成功地完成对该数据组的编程来完成编程过程的第一部分(例如,步骤1102、1104、1204、1302-1330);基于编程过程的第一部分识别多个平面中的慢平面(例如,步骤1104、1206、1402);相对于多平面中的另一平面增加针对慢平面的编程速度(例如,步骤1108、1208、1414);以及执行仅对目标为最后数据状态的多平面中的非易失性存储器单元进行编程的编程过程的第二部分,最后数据状态在阈值电压上高于第一组数据状态(例如,步骤1106、1208、1340、1402到1428)。

用于执行将数据组同时编程到布置在多个平面中的多平面中的非易失性存储器单元中的编程过程的器件的示例包括存储器控制器120、状态机262、系统控制逻辑260的全部或一部分、行控制电路220的全部或一部分、列控制电路210的全部或一部分、控制电路1002、微控制器、微处理器和/或其它类似功能电路中的任一者或任何组合。用于执行将数据组同时编程到布置在多个平面中的多平面中的非易失性存储器单元中的编程过程的器件可以包括仅硬件或硬件与软件(包含固件)的组合。例如,由固件编程以执行本文描述的功能的控制器是一个示例。用于执行将数据组同时编程到布置在多个平面中的多平面中的非易失性存储器单元中的编程过程的器件可以包括处理器、FGA、ASIC、集成电路或其它类型的电路。用于执行将数据组同时编程到布置在多个平面中的多平面中的非易失性存储器单元中的编程过程的器件执行图11的过程、图12的过程和/或图13和图14的过程中的任一者或多者。

出于本文件的目的,说明书中提到“实施方案”、“一个实施方案”、“一些实施方案”或“另一个实施方案”可用于描述不同的实施方案或相同的实施方案。

出于本文件的目的,连接可为直接连接或间接连接(例如,经由一个或多个其他部件)。在一些情况下,当提到元件连接或耦接到另一个元件时,该元件可直接连接到另一个元件,或者经由中间元件间接连接到另一个元件。当元件被提及直接连接至另一个元件时,则在该元件与另一个元件之间没有居间元件。如果两个设备是直接连接或间接连接的,则两个设备是“通信”的,使得它们能够在它们之间进行电子信号通信。

出于本文档的目的,术语“基于”可理解为“至少部分地基于”。

出于本文档的目的,在没有附加上下文的情况下,诸如“第一”对象、“第二”对象和“第三”对象的数字术语的使用可能不意味着对象的排序,而是可用于识别目的以识别不同的对象。

出于本文档的目的,对象的术语“组”可指一个或多个对象的“组”。

出于说明和描述的目的,已提供了上述详细描述。其并非旨在详尽的或旨在限制本发明所公开的精确形式。根据以上教导内容,很多修改和变型都是可能的。选择所述实施方案以便最好地解释所建议的技术的原理及其实际应用,从而使本领域的其他技术人员能够在各种实施方案中和适合于设想的具体使用的各种修改中最好地利用它。本发明的范围旨在由所附权利要求书限定。

相关技术
  • 执行编程操作的非易失性存储器件及其操作方法
  • 具有支持存储器操作的虚拟行的非易失性存储器
  • 对非易失性存储器件编程的方法和操作具有非易失性存储器件的系统的方法
  • 编程不同大小的容限及在选择状态下使用补偿进行感测以改进非易失性存储器中的读取操作
技术分类

06120116669017