基于非易失性存储器的性能来优化通过电压和初始编程电压的制作方法

文档序号:10475991阅读:654来源:国知局
基于非易失性存储器的性能来优化通过电压和初始编程电压的制作方法
【专利摘要】提供了基于存储器单元组的编程速度自适应地设定通过电压和初始编程电压的编程技术。在多道次编程操作的一个道次中,获得指示编程速度的编程电压。例如,这可以是最终编程电压或在另一编程里程碑处的编程电压。通过提供对参考通过电压的调整来针对多道次编程操作的另一编程道次确定通过电压。基于相对于指示编程速度的编程电压的偏移来针对另一编程道次确定初始编程电压。还调整初始编程电压以抵消对参考通过电压的调整的效应。对初始编程电压的调整在极性上与对参考通过电压的调整相反,并且在量值上小于对参考通过电压的调整。
【专利说明】
基于非易失性存储器的性能来优化通过电压和初始编程电压
【背景技术】
[0001]本技术涉及非易失性存储器。
[0002]半导体存储器装置已变得越来越普遍地用于各种电子设备中。例如,在蜂窝电话、数码相机、个人数字助理、移动计算设备、非移动计算设备和其他设备中使用非易失性半导体存储器。电可擦除可编程只读存储器(EEPROM)和闪速存储器是非易失性半导体存储器中最普遍的存储器。
[0003]在这样的存储器装置中,存储器单元可以包括位于半导体基板中的沟道区的上方并且与半导体基板中的沟道区绝缘的以二维(2D)NAND配置的浮置栅极。浮置栅极位于源极区与漏极区之间。控制栅极被提供于浮置栅极上并且与浮置栅极绝缘。由此形成的晶体管的阈值电压(Vth)通过被保持在浮置栅极上的电荷量进行控制。也就是说,在晶体管被接通以允许在其源极与漏极之间导电之前通过浮置栅极上的电量水平对必须施加于控制栅极的电压的最小量进行控制。
[0004]存储器单元可以具有用来存储两个或更多个范围的电荷的浮置栅极,其中每个范围表示数据状态。
[0005]此外,已经建议超高密度存储装置使用根据对导电层和电介质层进行交替的阵列而形成的3D堆叠存储器结构。一个示例是位成本可伸缩(BiCS)架构。在层中钻出存储器孔,并且通过采用合适的材料填充存储器孔来形成NAND串。直NAND串在一个存储器孔中延伸,同时管型或U型NAND串(P-BiCS)包括一对竖直列的存储器单元,所述存储器单元在两个存储器孔中延伸并且由底部背栅接合。存储器单元的控制栅极由导电层提供。
[0006]需要用于对存储器装置进行准确编程的技术。
【附图说明】
[0007]图1是使用单行/列解码器和读/写电路的非易失性存储器系统的框图。
[0008]图2描绘了图1的存储器阵列155中的NAND闪速存储器单元的块以及相关联的感测块SBO、感测块SBl和感测块SB2。
[0009]图3是描绘图1的感测块SBO的一个实施方式的框图。
[0010]图4描绘了失效位的数目与Vpass的曲线图,示出了存储器装置的扩展的效应。
[0011]图5A描绘了选中的NAND串,示出了施加于选中字线的编程电压(Vpgm),以及施加于未选中字线的低通过电压和高通过电压(VpassL和VPassH)。
[0012]图5B描绘了未选中的NAND串,示出了施加于选中字线的编程电压,以及施加于未选中字线的通过电压。
[0013]图5C描绘了沟道电势与沿着图5B的NAND串的位置的曲线图。
[0014]图6A描绘了针对低温以及针对不同电平的编程擦除周期的失效位的数目与Vpass的曲线图。
[0015]图6B描绘了针对室温以及针对不同电平的编程擦除周期的失效位的数目与Vpass的曲线图。
[0016]图6C描绘了针对高温以及针对不同电平的编程擦除周期的失效位的数目与Vpass的曲线图。
[0017]图6D描绘了针对给定电平的编程擦除周期的最佳Vpass与温度的曲线图。
[0018]图7描绘了三道次编程序列的示例性字线顺序。
[0019]图8A描绘了示例性两道次编程操作的开始阈值分布。
[0020]图SB描绘了图8A的示例性两道次编程操作的第一道次之后产生的阈值分布。
[0021]图SC描绘了图8A的示例性两道次编程操作的第二道次之后产生的阈值分布。
[0022]图9A描绘了示例性三道次编程操作的开始阈值分布。
[0023]图9B描绘了图9A的示例性三道次编程操作的第一道次之后产生的阈值分布。
[0024]图9C描绘了图9A的示例性三道次编程操作的第二道次之后产生的阈值分布。
[0025]图9D描绘了图9A的示例性三道次编程操作的第三道次之后产生的阈值分布。
[0026]图1OA描绘了另一示例性三道次编程操作的开始阈值分布。
[0027]图1OB描绘了图1OA的示例性三道次编程操作的第一道次之后产生的阈值分布。
[0028]图1OC描绘了图1OA的示例性三道次编程操作的第二道次之后产生的阈值分布。
[0029]图1OD描绘了图1OA的示例性三道次编程操作的第三道次之后产生的阈值分布。
[0030]图1lA描绘了另一示例性三道次编程操作的开始阈值分布。
[0031]图1lB描绘了图1lA的示例性三道次编程操作的第一道次之后产生的阈值分布。
[0032]图1lC描绘了图1lA的示例性三道次编程操作的第二道次之后产生的阈值分布。
[0033]图1lD描绘了图1lA的示例性三道次编程操作的第三道次之后产生的阈值分布。
[0034]图12A描绘了其中初始Vpgm和通过电压被优化的编程操作。
[0035]图12B描绘了与图12A—致的示例性编程操作的细节。
[0036]图12C描绘了在图12B的第一编程道次和第二编程道次之后执行的第三编程道次。
[0037]图13A描绘了与图8A、图9B、图1OB和图11B—致的、针对数据的低页的编程道次的示例中的一系列编程验证循环。
[0038]图13B描绘了与图13A—致的、被编程为INT状态的存储器单元的Vth。
[0039]图14描绘了与图9C一致的、模糊编程道次的示例中的一系列编程验证循环。
[0040]图15描绘了与图9D—致的、精细编程道次的示例中的一系列编程验证循环。
[0041]图16A描绘了新的(fresh)存储器单元组的编程操作中的示例性电压。
[0042]图16B描绘了适度循环的存储器单元组的编程操作中的示例性电压。
[0043]图16C描绘了重度循环的存储器单元组的编程操作中的示例性电压。
[0044]图17描绘了Vpass对选中存储器单元MCn的编程的效应。
[0045]图18A是示出与图6A至图6C—致的、初始Vpgm和Vpass最佳之间的对应关系的曲线图。
[0046]图18B是图18A的室温情况下的曲线图,示出了针对代表性Vpgm与参考Vpgm之差的检测电平如何调整Vpass和Vpgm。
[0047]图18C是示出根据图18B的差值D或PE周期在多道次编程操作中使用的各种电压的曲线图。
【具体实施方式】
[0048]提供了可以最大限度地减少存储器装置中的编程干扰的编程技术。所述技术导致由于因素如循环而引起的存储器单元组的性能变化以及不同存储器单元组之间的性能变化。
[0049]在编程操作期间,可以将数据以多个编程道次(programming pass)编程到存储器单元中。编程根据待被编程到单元中的数据状态来增大存储器单元的阈值电压。在一些情况下,使用来回字线顺序,其中一个字线被部分地编程,然后另一字线被部分地编程并且依此类推,直到所有字线都被编程为止。这种方法可以最大限度地减少无意中改变存储器单元的阈值电压的电容耦合效应。此外,在给定的编程验证循环中,选择一些存储器单元用于编程,同时其他存储器单元未被选择。通过对NAND串下方的基板沟道区进行升压来阻止未选中存储器单元的NAND串被编程。通过对未选中字线施加被称为通过电压(pass voltage)的电压来实现该升压。通过电压应该足够高以将沟道升压至下述电平:防止未选中存储器单元的无意编程通过电容耦合对选中字线施加编程电压的电平。然而,如果通过电压过高,则可能对未选中存储器单元无意地编程。可选择最佳通过电压。
[0050]然而,存储器单元的性能可以由于因素如循环随着时间的推移而变化,例如,编程擦除周期的累积是存储器装置所使用的。此外,不同的存储器单元组之间如不同的字线上可以存在性能变化。在一些情况下,编程电压如初始编程电压是基于这些变化被调整以避免过度编程并且实现窄的Vth分布。本文提供的编程技术基于存储器单元组的当前性能对初始编程电压和通过电压两者进行了修改。此外,初始编程电压被进一步修改以补偿通过电压的变化。
[0051]图1是使用单行/列解码器和读/写电路的非易失性存储器系统的框图。该图示出了根据一个实施方式的具有用于对存储器单元的页面并行进行读取和编程的读/写电路的存储器装置190。存储器装置190可以包括一个或更多个存储器管芯198。存储器管芯198包括存储元件或存储器单元的二维存储器阵列155、控制电路110以及读/写电路165。
[0052]在一些实施方式中,存储器单元的阵列可以是三维的。存储器阵列155是经由行解码器130通过字线可寻址的以及经由列解码器160通过位线可寻址的。读/写电路165包括多个感测块100并且使得存储器单元的页面能够被并行读取或编程。通常,控制器150包括在与一个或更多个存储器管芯198相同的存储器装置190(例如,可移除存储卡)中。命令和数据经由总线120在主机和控制器150之间传送以及经由线118在控制器与一个或更多个存储器管芯198之间传送。
[0053]控制电路110与读/写电路165协作对存储器阵列155执行存储操作,并且包括状态机112、片上地址解码器114和功率控制模块116。状态机112提供存储操作的芯片级控制。片上地址解码器114提供由主机或存储器控制器使用的地址与由解码器130和解码器160使用的硬件地址之间的地址接口。功率控制模块116对在存储操作期间施加于字线和位线的电压和功率进行控制。存储器113可以对原始写入数据、修改了的写入数据和状态位进行存储以如下面进一步讨论的供状态机使用。
[0054]存储位置115如数据寄存器可用于存储数据以便编程。温度电路117提供存储器装置中的温度的指示。在一个可能的方法中,使用带隙电路。
[0055]除了存储器阵列155以外,部件的一个或更多个(单独或组合的)可以被认为是管理或控制电路。例如,一个或更多个控制电路可以包括下述中的任何一个或其组合:控制电路110、状态机112、地址解码器114、列解码器160、功率控制模块116、温度电路117、感测块100(包括图3中的处理器192和管理电路MC0)、读/写电路165和控制器150等。结合图3进一步讨论感测块100。
[0056]在另一实施方式中,非易失性存储器系统使用双行/列解码器和读/写电路。各种外围电路对存储器阵列155的相对侧进行访问以使得每侧上的访问线和电路的密度减少一半。因此,行解码器被分为两个行解码器以及列解码器分成两个列解码器。类似地,读/写电路被分成从底部连接至位线的读/写电路和从阵列155的顶部连接至位线的读/写电路。以此方式,读/写模块的密度实质上减少了一半。
[0057]图2描绘了图1的存储器阵列155中的NAND闪速存储器单元的块以及相关联的感测块SB0、感测块SBl和感测块SB2。存储器阵列可以包括许多块。示例性块200包括在这些块之间共享的一些NAND串NSO至NSl I和相应的位线如BLO至BLl I。每个NAND串在一端连接至漏极选择栅(SGD),以及漏极选择栅的控制栅极经由公共SGD线连接。每个NAND串在其另一端连接至源极选择栅,源极选择栅转而连接至公共源极线230。例如,NSO包括源极侧选择栅晶体管202和漏极侧选择栅晶体管201。包括存储器单元210的示例性存储器单元组205连接至WL2。例如,WL2可以是当前针对编程选择的选中字线以及示例性存储器单元可以是当前针对编程选择的选中存储器单元。连接至WL3的其他存储器单元也可以是选中存储器单元。示例性未选中存储器单元211连接至未选中字线WL3。六十四个字线例如WLO至WL63在源极侧选择栅与漏极侧选择栅之间延伸。
[0058]在一种方法中,对于一组NAND串如四个NAND串提供一个感测块。例如,SBO与BLO-BL3相关联,SBl与BL4-BL7相关联以及SB2与BL8-BL11相关联。每个感测块包括存储器控制器,例如,分别在SBO、SB0PSB2中的MCO、MC1和MC2。每个感测块还包括用于每个NAND串的感测模块。代表性感测模块SM0、SM1和SM2分别描绘在SB0、SB1和SB2中。结合图3进一步讨论SBO和MCO。
[0059]还可以使用除了NAND闪速存储器以外的其他类型的非易失性存储器。例如,在闪速EEPROM系统中使用的另一类型的存储器单元利用非导电电介质材料代替导电浮置栅极来以非易失性的方式存储电荷。由氧化硅、氮化硅和氧化硅(“0N0”)形成的三层电介质夹在导电控制栅极与存储器单元沟道上方的半导电基板的表面之间。通过将来自单元沟道的电子注入到氮化物中来对单元进行编程,其中电子被捕获并且存储在有限区域中。然后,被存储的电荷以可检测的方式改变一部分单元的沟道的Vth。通过将热空穴注入到氮化物中来擦除单元。可以以分离式栅极配置来提供类似的单元,其中掺杂多晶硅栅极在一部分存储器单元沟道上方延伸以形成单独的选择晶体管。另一类型的存储器在NAND架构中使用金属(导电)电荷存储器单元。
[0060]在另一种方法中,使用NROM单元。例如,两个位存储在每个NROM单元中,其中ONO电介质层横穿源扩散与漏扩散之间的沟道延伸。用于一个数据位的电荷位于与漏极相邻的电介质层中,以及用于另一数据位的电荷位于与源极相邻的电介质层中。通过分开读取电介质内的空间上分离的电荷存储区域的二进制状态来获得多状态数据存储。其他类型的非易失性存储器也是已知的。
[0061]图3是描绘图1的感测块SBO的一个实施方式的框图。感测块SBO被划分成被称为感测模块(例如,SM0)或感测放大器的一个或更多个核心部分和被称为管理电路(例如,MC0)的公共部分。在一个实施方式中,存在用于每个位线的单独的感测模块和用于一组多个如四个或八个感测模块的公共管理电路。组中的感测模块的每个感测模块经由数据总线172与相关联的管理电路通信。因此,存在与存储器单元组的感测模块通信的一个或更多个管理电路。
[0062]感测模块SMO包括通过确定所连接的位线中的导电电流是高于还是低于预定阈值水平来执行感测的感测电路HO13SMO包括用于设定所连接的位线上的电压条件的位线锁存器182。例如,被锁存在位线锁存器182中的预定状态会导致所连接的位线被拉到指定编程禁止的状态(例如,1.5-3V)。作为示例,标记=O可禁止编程,而标记=I允许编程。
[0063]管理电路MCO包括处理器192、四个示例性数据锁存器组194-197以及耦合在数据锁存器组194和数据总线120之间的I/O接口 196。对于每个感测模块可以提供一个数据锁存器组,对于每组可以提供由SDL、LDL和UDL识别的数据锁存器。LDL将写入数据的低页(LP)的位存储在存储器中,以及UDL将写入数据的高页(UP)的位存储在存储器中,其中将两个数据位存储在每个存储器单元中。SDL对从存储器单元读取的位进行存储。在读操作期间,SDL锁存器首先接收位并且可选地将位传送到其他数据锁存器。此外,在一种方法中,LDL是控制电路可以访问的唯一的数据锁存器,以使得在读取期间LP和UP数据从LP锁存器中切换出来。
[0064]也可以使用附加的数据锁存器。例如,在每个存储器单元三个位的实现方式中,一个额外的数据锁存器可以用来存储数据的中间页(MP)。每个存储器单元四位的实现方式可使用下中数据锁存器和上中数据锁存器。
[0065]处理器192执行计算例如以确定存储在感测存储器单元中的数据并且将所确定的数据存储在数据锁存器组中。每个数据锁存器组194-197用来在读取操作期间存储由处理器192确定的数据位,并且在编程操作期间存储从数据总线120输入的表示写入数据注定待被编程到存储器中的数据位。I/O接口 196在数据锁存器194-197与数据总线120之间提供接
□ O
[0066]在读取期间,系统的工作在状态机112的控制之下,状态机112控制不同控制栅极电压向寻址存储器单元的供给。因为感测模块阶跃式通过与由存储器支持的各种存储器状态对应的各种预限定的控制栅极电压,所以感测模块可以在这些电压中的一个电压下断开以及将相应的输出从感测模块经由总线172提供给处理器192。在这一点上,处理器192通过考虑感测模块的一个或多个断开事件以及关于经由输入线193来自状态机的所施加的控制栅极电压的信息确定所得的存储器状态。然后,处理器192对存储器状态的二进制编码进行计算,并且将所得的数据位存储到数据锁存器194-197中。在管理电路MCO的另一实施方式中,位线锁存器182既用作用于对感测模块的输出进行锁存的锁存器,也可以用作如上所述的位线锁存器。
[0067]—些实施方式可以包括多个处理器192。在一个实施方式中,每个处理器192包括输出线(未示出)以使得输出线中的每个输出线以“接线或”(wired-OR)方式连接在一起。在一些实施方式中,输出线在连接至“接线或”(wired-OR)线之前反向。因为接收“接线或”的状态机可以确定被编程的所有位何时达到期望的电平,所以该配置使得能够在编程验证处理期间快速确定编程处理何时完成。例如,当每个位达到其期望电平时,针对该位的逻辑零将被发送到“接线或”线(或者数据一被反转)。当所有位输出数据0(或数据I被反转)时,则状态机知道要终止编程处理。因为每个处理器与八个感测模块通信,所以状态机需要读取“接线或”线八次,或者逻辑被添加到处理器192以对相关联的位线结果进行累积,使得状态机仅需要读取“接线或”线一次。类似地,通过正确地选择逻辑电平,全局状态机可以检测第一位何时改变其状态并且相应地改变算法。
[0068]在编程或验证操作期间,待被编程的数据(写入数据)从数据总线120被存储在数据锁存器组194-197中,被存储在LP和UP数据锁存器中。在状态机的控制下,编程操作包括被施加于寻址存储器单元的控制栅极的一系列编程电压脉冲。每个编程脉冲接着是读回(验证)以确定存储器单元是否已经被编程到期望存储器状态。在一些情况下,处理器192对读回存储器状态相对于期望存储器状态进行监测。当两种状态一致时,处理器192设置位线锁存器182以使位线被拉到指定编程禁止的状态。即使编程脉冲出现在其控制栅极上,这也禁止耦合至位线的存储器单元进行进一步编程。在其他实施方式中,处理器最初加载位线锁存器182并且感测电路在验证处理期间将位线锁存器182设定为禁止值。
[0069]每个数据锁存器组194-197可以被实现为针对每个感测模块的数据锁存器的堆叠。在一个实施方式中,每个感测模块有三个数据锁存器。在一些实现方式中,数据锁存器被实现为移位寄存器以使得存储在其中的并行数据被转换为数据总线120的串行数据,反之亦然。与存储器单元的读/写块对应的所有数据锁存器可以链接在一起以形成块移位寄存器,以使得数据块可以通过串行传送来输入或输出。特别地,读/写模块的库是适合的以使得其每个数据锁存器组按顺序将数据移位进或移位出数据总线,就好像它们是整个读/写块的移位寄存器的一部分。
[0070]数据锁存器识别相关联的存储器单元在编程操作中何时达到特定的里程碑(milestone)。例如,数据锁存器可以识别存储器单元的Vth为低于特定验证电平。数据锁存器指示存储器单元当前是否存储来自数据页的一个或更多个位。例如,当低页位被存储在相关联的存储器单元中时,LP数据锁存器被翻转(例如,从O到I)。当高页位被存储在相关联的存储器单元中时,UP数据锁存器被翻转。当相关联的存储器单元完成编程例如当其Vth超过目标验证电平时,发生位的翻转。当使用低页位、中间页位和高页位时(例如,在每个存储器单元存储三个位的情况下),当中间页位被存储在相关联的存储器单元中时,MP数据锁存器也翻转。
[0071]图4描绘了失效位的数目与Vpass的曲线图,示出了存储器装置的扩展的效应。实线表示被较少扩展(例如,具有较大尺寸)的存储器装置的情况。这是较为宽松的情况,因为存在导致最小数目的失效位的大范围的Vpass值。虚线表示被较多扩展(例如,具有较小尺寸)的存储器装置的情况。这是更复杂的情况,因为应该更仔细地控制Vpass以最大限度地减少失效位的数目。失效位是由于编程干扰未被准确编程的存储器单元,以使得单元的预期数据状态不能从单元中读取。通常情况下,下一个较高的数据状态被读取为如Er或A状态失效,其中,旨在保持在被擦除状态的单兀无意中被编程为A状态。
[0072]对于较多扩展的情况,在区域400中,Vpass低并且在选中的NAND串的沟道区中提供了足够的沟道升压。在区域401中,Vpass高并且可以使得编程干扰针对未选中存储器单元。这是针对扩展的NAND装置Vpass裕度不充足的问题。Vpass对于实现连接至NAND闪速存储器中的单个字线的例如表示数据页(写入数据的单元)的多个单元的同时编程十分重要。因为页面包括编程“O”单元和编程抑制“I”单元两者,所以Vpass在编程操作中起着重要作用。Vpass不能太低或太高因为这两种情况会导致明显的编程抑制失效。Vpass的安全操作裕度将随着存储器装置按比例缩小而变得越来越小。
[0073]图5A描绘了选中的NAND串,示出了施加于选中字线的编程电压(Vpgm),以及施加于未选中字线的低通过电压和高通过电压(VpassL和VPassH) AAND串500包括分别连接至字线WL0-WL7的一些存储器单元MC0a-MC7a。源极侧选择栅(SGSa)晶体管在NAND串的一端以及漏极侧选择栅(SGDa)晶体管在NAND串的另一端。基板(SUB)中的源极/漏极区(SD)被提供于晶体管之间。可以在编程期间通过对每个字线提供使存储器单元呈现导电状态或导通状态的电压来将沟道区(CHa)形成在基板中。例如,选中字线(在这个示例中WL2)接收编程电压Vpgm,与选中字线相邻的未选中字线(在这个示例中WLl和WL3)接收高通过电压VpassH,以及与选中字线不相邻的其余字线(在这个示例中WLO和WL4-WL7)接收低通过电压VpassL。
[0074]在一个示例中,VpassH为约9-10V,VpassL为约4-7V以及Vpgm的范围为约10-25V。SG Sa可以在OV同时源极线SL可以为约1.5V,以使得SG Sa晶体管是不导电的。S⑶a在约2V同时BLa在0V,以使得S⑶a晶体管是导电的并且沟道区与位线BLa通信。因此,沟道电压可等于位线电压。由于高的Vpass,针对选中字线中的未选中存储器单元可以出现编程干扰。特别地,相邻字线的Vpass电平可以导致针对MCla、与选中的单元MC2a邻近的源极侧、以及MC3a,与选中的单元邻近的漏极侧的无意的福勒诺德海姆(Fowler-Nordheim)编程。该无意编程由MCla和MC3a下方的短虚线箭头表示。该编程涉及从基板到单元的浮置栅极FGla和FG3a的电子注入。MC2a的有意编程由MC2a下方的长虚线箭头表示。该编程涉及从基板到单元的浮置栅极FG2a的电子注入。
[0075]图5B描绘了未选中的NAND串,示出了施加于选中字线的编程电压以及施加于未选中字线的通过电压。NAND串520包括分别连接至字线WL0-WL7的一些存储器单元MC0b-MC7b。源极侧选择栅(SGSb)晶体管在NAND串的一端以及漏极侧选择栅(SGDb)晶体管在NAND串的另一端。可以在编程期间通过对每个字线提供使存储器单元呈现导电状态或导通状态的电压来将沟道区(CHb)形成在基板中。SGSb可以处于与SGSa相同的电压,而源极线SL对于块中的NAND串是公用的,使得SGSb晶体管是不导电的。SGDb可以在与SGDa相同的电压,而BLa在0V,使得SGDb晶体管是不导电的并且沟道区与位线BLb不通信。沟道区因此浮动并且可由于根据通过电压和Vpgm的电容親合而被升压。
[0076]图5C描绘了沟道电势与沿着图5B的NAND串的位置的曲线图。实线表示选中字线的相邻字线上的高Vpass的情况。虚线表示选中字线的相邻字线上的低Vpass的情况。对于低Vpass的情况,由于不充足的沟道升压,针对MC2b、连接至选中字线的未选中单元可以出现编程干扰。本质上,MC2b下方的沟道升压电平没有高到足以抵消Vpgm的编程效应。因此,可以出现至MC2b的浮置栅极FG2b的无意地电子注入。这示出了为什么Vpass和Vpgm的精确控制是非常重要的。
[0077]图6A描绘了针对低温以及针对不同电平的编程擦除周期的失效位的数目与Vpass的曲线图。“循环”表示编程擦除周期(编程接着擦除的周期)的累积,以使得底部曲线表示新的装置,顶部曲线表示重度循环的装置以及中部曲线表示编程擦除周期的中部电平。每个曲线都有由方形符号表示的最小值。这是编程擦除周期的该电平的最佳Vpass。最佳Vpass转移到低电平,与编程擦除周期的电平的增大成比例。这种现象被理解为是因为增大了由于通过循环而导致的应力引起的中性阈值电压。这个窗口缩小效应是通过浮置栅极周围如隧道氧化物界面、沟道边缘和栅极边缘拐角内的过度电荷捕捉来增强的。理想地,基于存储器单元由于循环、温度或其他因素的当前性能水平对于编程操作动态地选择Vpass。
[0078]如下面进一步描述的,增大的循环与指示编程速度的编程电压和参考编程电压之间增大的差(D)对应。在图6A至图6C中,PEl表示新的存储器装置(例如,零周期)以及Dl表示对应的差。PE2、PE3和PE4表示增大的周期以及D2、D3和D4分别表示对应的差。
[0079]图6B描绘了针对室温以及针对不同电平的编程擦除周期的失效位的数目与Vpass的曲线图。趋势类似于图6A但是具有运动到更高数目的失效位和更高的Vpass。
[0080]图6C描绘了针对高温以及针对不同电平的编程擦除周期的失效位的数目与Vpass的曲线图。趋势类似于图6B但是具有运动到更高数目的失效位和更高的Vpass。
[0081]图6D描绘了针对给定电平的编程擦除周期的最佳Vpass与温度的曲线图。通常,最佳Vpass可以随着温度的升高而增大。
[0082]图7描绘了三道次编程序列的示例性字线顺序。这是对每个单元三个位进行编程的示例。在该示例中,每个字线以所描绘的顺序在三个道次中被编程。例如,第一道次针对WLO执行(步骤I),第一道次针对WLl执行(步骤2),第二道次针对WLO执行(步骤3)等。使用这样的来回字线编程顺序可以减少浮置栅极至浮置栅极的耦合。
[0083]在下面讨论多道次编程方案的示例。在一种方法中,第一道次是模糊编程道次,并且第二道次是精细编程道次。在另一种方法中,第一道次是中部道次,第二道次是模糊编程道次,并且第三道次是精细编程道次。
[0084 ]本文所提供的技术可以与例如具有两个或更多个编程道次的编程操作一起使用。
[0085]在三道次编程序列下,在一种方法中,可以从第一、粗略编程道次获取每个字线的存储器单元的编程速度。可以通过对Vth分布所需要的Vpgm进行识别以达到一定的验证Vth或检查点Vth从第一编程道次同时获取每个WL在每个编程事件的编程速度。针对WLn的Vpgm被存储在锁存器中以在后续的第二编程道次和第三编程道次中使用。这使得能够精确优化针对第二编程道次和第三编程道次的Vpgm开始偏置。这个方法解决了两个问题。首先,可以优化每个WL的编程速度的变化,以使得可以抑制编程和编程速度变化。其次,由于编程擦除窗口缩小效应引起的编程速度的增大可以通过Vpgm随着存储器单元的降级而降低来进行补偿。每个单元两个位的实现方式类似于每个单元三个位的实现方式,但是可以忽略模糊道次编程。
[0086]图8A描绘了示例性两道次编程操作的开始阈值分布。最初,单元都处于如由阈值分布(Vth)分布800表示的擦除(Er)状态。竖直轴表示单元的数目,且水平轴表示Vth。
[0087]图SB描绘了图8A的示例性两道次编程操作的第一道次之后产生的阈值分布。基于写入数据,仍处于Er状态的单元由Vth分布800表示,同时待被编程到A、B和C状态的单元分别由Vth分布810、Vth分布812和Vth分布814表示。此编程道次可以被称为其中使用VvA_foggy、VvB_foggy和VvC_foggy的验证电平的模糊道次。在这个道次中,Vth分布比较广泛,但接近最终电平。
[0088]图SC描绘了图8A的示例性两道次编程操作的第二道次之后产生的阈值分布。基于写入数据,仍处于Er状态的单元由Vth分布800表示,同时待被编程到A、B和C状态的单元分别由Vth分布811、Vth分布813和Vth分布815表示。此编程道次可以被称为其中使用VvA,VvB和VvC的验证电平的精细道次。在这个道次中,Vth分布相对窄并且已经达到最终电平。从模糊电平到精细电平的编程表示Vth的小幅增加从而避免干扰。读取电平VrA、VrB和VrC用于读取单元。每个数据状态表示所指示的数据的两个位。
[0089]图9A描绘了示例性三道次编程操作的开始阈值分布。最初,单元都处于如由阈值分布(Vth)分布900表示的擦除(Er)状态。竖直轴表示单元的数目,且水平轴表示Vth。
[0090]图9B描绘了图9A的示例性三道次编程操作的第一道次之后产生的阈值分布。基于所指示的写入数据,仍处于Er状态,或被编程到A状态的单元由Vth分布900表示,同时待被编程到B和C状态的单元被编程到中部(INT)分布902。此编程道次可以被称为其中使用VvINT的验证电平的中部道次。
[0091]图9C描绘了图9A的示例性三道次编程操作的第二道次之后产生的阈值分布。基于所指示的写入数据,仍处于Er状态的单元由Vth分布900表示。待被编程到A状态的单元由分布910表示。待被编程到B和C状态的单元分别由分布912和分布914表示。此编程道次可以被称为其中使用^^^_;^887、'\^^_;^887和\^(:_;^887的验证电平的模糊道次。每个数据状态表示所指示的数据的两个位。
[0092]图9D描绘了图9A的示例性三道次编程操作的第三道次之后产生的阈值分布。基于所指示的写入数据,仍处于Er状态的单元由Vth分布900表示,同时待被编程到A、B和C状态的单元分别由Vth分布911、Vth分布913和Vth分布915表示。此编程道次可以被称为其中使用VvA、VvB和VvC的验证电平的精细道次。
[0093]在两道次编程操作中,可以省略图9C,以使得图9D的分布直接接着图9B的分布。
[0094]图1OA描绘了另一示例性三道次编程操作的开始阈值分布。最初,单元都处于如由阈值分布(Vth)分布1000表示的擦除(Er)状态。竖直轴表示单元的数目,且水平轴表示Vth。
[0095]图1OB描绘了图1OA的示例性三道次编程操作的第一道次之后产生的阈值分布。基于所指示的写入数据,仍处于Er状态,或被编程到A、B和C状态的单元由Vth分布1000表示,同时待被编程到D、E、F和G状态的单元被编程到中部(INT)分布1002。此编程道次可以被称为其中使用VvINT的验证电平的第一中部道次。
[0096]图1OC描绘了图1OA的示例性三道次编程操作的第二道次之后产生的阈值分布。基于所指示的写入数据,仍处于Er状态,或被编程到A状态的单元由Vth分布1000表示。待被编程到B和C状态的单元被编程到第一中部(INTl)分布1004。待被编程到D和E状态的单元被编程到第二中部(INT2)分布1006。待被编程到F和G状态的单元被编程到第三中部(INT3)分布1008。此编程道次可以被称为其中使用VvINTl、VvINT2和VvINT3的验证电平的第二中部道次。
[0097]图1OD描绘了图1OA的示例性三道次编程操作的第三道次之后产生的阈值分布。基于所指示的写入数据,仍处于Er状态的单元由Vth分布1000表示,同时待被编程到A、B、C、D、E、F和G状态的单元分别由Vth分布11、Vth分布1012、Vth分布1014、Vth分布1016、Vth分布1018、Vth 分布 1020 和 Vth 分布 1022 表示。此编程道次使用 VvA、VvB、VvC、VvD、VvE、VvF 和 VvG的验证电平。每个数据状态表示所指示的数据的三个位。
[0098]图1OA至1D的编程操作可以被修改为在图1OC的分布与图1OD的分布之间包括附加的编程道次。此附加的编程道次会导致针对每个数据状态的模糊Vth分布,在这种情况下图1OD将表示精细Vth分布。这将是四道次编程操作。
[0099]图1lA描绘了另一示例性三道次编程操作的开始阈值分布。最初,单元都处于如由阈值分布(Vth)分布1100表示的擦除(Er)状态。竖直轴表示单元的数目,且水平轴表示Vth。
[0100]图1lB描绘了图1lA的示例性三道次编程操作的第一道次之后产生的阈值分布。基于所指示的写入数据,仍处于Er状态,或被编程到A、B和C状态的单元由Vth分布1100表示,同时待被编程到D、E、F和G状态的单元被编程到中部(INT)分布1102。此编程道次可以被称为其中使用VvINT的验证电平的中部道次。
[0101]图1lC描绘了图1lA的示例性三道次编程操作的第二道次之后产生的阈值分布。基于所指示的写入数据,仍处于Er状态的单元由Vth分布1100表示。待被编程到A、B和C状态的单元分别由Vth分布1110、Vth分布1112和Vth分布1114表示。待被编程到D、E、F和G状态的单元分别由Vth分布1116、Vth分布1118、Vth分布1120和Vth分布1122表示。此编程道次可以被称为其中使用VvA_foggy_VvG_foggy的验证电平的模糊道次。每个数据状态表示所指示的数据的三个位。
[0102]图1lD描绘了图1lA的示例性三道次编程操作的第三道次之后产生的阈值分布。基于所指示的写入数据,仍处于Er状态的单元由Vth分布1100表示,同时待被编程到A、B、C、D、E、F和G状态的单元分别由Vth分布1111、Vth分布1113、Vth分布1115、Vth分布1117、Vth分布1119、¥他分布1121和¥他分布1123表示。此编程道次可以被称为其中使用¥¥六、¥¥8、¥¥(:、VvD、VvE、VvF和VvG的验证电平的精细道次。
[0103]图12A描绘了其中编程电压和通过电压被优化的编程操作。步骤1200包括通过将第一组阶跃式增大的编程电压施加于选中字线并且将第一 Vpass(通过电压)施加于未选中字线来针对存储器单元组执行一个编程道次。例如,编程道次可以包括一系列编程验证循环,其中每个循环包括其中将编程脉冲施加于选中字线同时将第一通过电压施加于未选中字线的一个或更多个的编程部分,接着是其中通过将验证脉冲施加于选中字线并且激活感测电路来执行验证(感测)操作的验证部分。步骤1201包括确定来自第一编程道次的指示编程速度的Vpgm。这是存储器单元组的性能度量或代表性Vpgm的示例。例如,如下面进一步讨论的,这可以是第一组阶跃式增大的编程电压的最终Vpgm(最终编程电压),或者在该编程道次的编程里程碑处的Vpgm。当指定数目的存储器单元具有超过阈值的Vth时,编程里程碑可出现。
[0104]第一组阶跃式增大的编程电压的指示编程速度的Vpgm指示在一个编程道次期间存储器单元组的编程速度。例如,在最终Vpgm的情况下,较高的最终Vpgm表示发生相对较慢的编程,例如,存储器单元相对难以编程。这可能是具有几个周期的新的存储器装置的情况。较低的最终Vpgm表示发生相对较快的编程,例如,存储器单元相对容易编程。这可能是中度或重度循环的存储器装置的情况。编程速度还可以基于其他因素如其他环境因素的温度变化。
[0105]指示编程速度的Vpgm可以在一个编程道次中获得,存储在存储位置如锁存器中,并且在后续的编程道次中被检索。
[0106]步骤1202包括通过基于指示编程速度的Vpgm调整参考Vpass来确定用于另一编程道次的经调整的Vpass (经调整的通过电压)。参考Vpass可以是,例如,第一 Vpass或从第一Vpass不同于一些其他的预设值。参考Vpass可以独立于指示编程速度的Vpgm。
[0107]可以如下面进一步讨论的确定对参考Vpass的调整。在一种方法中,调整基于参考Vpgm与指示编程速度的Vpgm之差。参考Vpgm可以是指示编程速度的参考电平的预设电平。参考Vpgm可以独立于指示编程速度的Vpgm。例如,参考Vpgm可以表示对于平均新的存储器单元组而言所预期的最终或其他里程碑电压。
[0108]如果指示编程速度的Vpgm大于参考Vpgm,则这指示存储器单元组比平均新的存储器单元组的编程速度慢。如果指示编程速度的Vpgm小于参考Vpgm,则这指示存储器单元组比平均新的存储器单元组的编程速度快。对参考Vpass的调整可以基于参考Vpgm与指示编程速度的Vpgm之差,因为这指示出当前编程速度与新的存储器单元组的速度相差多远。调整可以是该差的线性或非线性函数。在一种方法中,调整是通过该差与小于一的乘数的乘积获得的。
[0109]步骤1203包括基于指示编程速度的Vpgm确定用于另一编程道次的第一初始Vpgm。例如,可以通过从指示编程速度的Vpgm减去偏移或者基于指示编程速度的Vpgm的一些其他线性或非线性函数来获得第一初始Vpgm。
[0110]步骤1204包括基于对参考Vpass的调整来确定对第一初始Vpgm的调整以提供第二初始Vpgmο例如,对第一初始Vpgm的调整可以是对参考Vpass的调整的小部分、小于I。一般地,对第一初始值的调整的量值比对参考通过电压的调整的量值小,因为Vpass的相对大的变化可以通过Vpgm的相对小的变化抵消。在一种方法中,对参考Vpass的调整与对第一初始值的调整具有相反极性。也就是说,如果对Vpass的调整是正的,则对Vpgm的调整应该是负的。如果对Vpass的调整是负的,则对Vpgm的调整应该是正的。随后,可以使用第二初始Vpgm执行另一编程道次。
[0111]这种方法认识到Vpass和初始Vpgm可以基于先前编程道次中的编程速度在每个编程道次中被自适应地设定。此外,初始Vpgm可以基于对Vpass的调整进行自适应地调整。
[0112]应该注意的是,一般地,指示编程速度的Vpgm可以在编程操作中从任何编程道次中获得并且用于相同的编程操作或者甚至另一个、后续的编程操作的后续任何后续编程道次中。
[0113]对Vpass和初始Vpgm的调整的最大量有所限制。这提供针对第二道次和第三道次的偏置偏移依从性。通常,具有依从性以避免过补偿是有用的。例如,作为示例,第一道次可以在非常低的最终Vpgm由于非常紧的处理控制字线而停止编程。在这种情况下,在没有限制的情况下,Vpass偏置将大大低于第二道次和第三道次所期望的。与没有任何补偿的情况相比,这可以导致更多的编程干扰。在另一示例中,可以存在通常难以编程的单元,以使得Vpass比所需的更高。在这种情况下,偏置偏移依从性有助于避免这个问题。
[0114]图12B描绘了与图12A—致的示例性编程操作的细节。步骤1210包括使用在编程处理中使用的参数配置存储器装置。可以根据测试来确定这些参数的合适的值。例如,参数可以包括针对第一编程道次的初始Vpgm、参考Vpgm、针对一个或更多个后续编程道次的偏移(例如,Voff set_第二道次、Voff 86丨_第三道次)、针对一个或更多个后续编程道次的参考Vpass、以及用于自适应实时确定的表或公式、后续的编程道次中的初始Vpgm和Vpass。如果针对第一编程道次的第一 Vpass不同于参考Vpass,则还可以配置针对第一编程道次的第一Vpass0
[0115]这些是可以被存储在存储器装置如存储位置115中的参数。然而,可以针对每个不同的存储器单元组例如针对块中的每个字线和/或针对存储器装置中的每个块提供这些参数。以此方式,可以针对存储器单元的每个组、块或其他单元自定义编程。此外,可以对存储器单元组的每个编程道次提供这些参数。以此方式,可以针对每个编程道次自定义编程。
[0116]—般地,可以通过存储器装置的控制电路以各种方式实现步骤。在一种方法中,通过访问体现编程参数之间的期望关系的表和/或通过评估方程实现步骤。
[0117]步骤1211开始多道次编程操作。步骤1212使用用于选中字线WLn的第一组阶跃式增大的编程电压、并且使用WLn的相邻的未选中字线WLn-1和WLn+Ι上的第一 Vpass来执行第一编程道次。在一种方法中,相同的Vpass或低Vpass还可以用在其他未选中字线上。步骤1213确定第一编程道次的指示编程速度的Vpgm(例如,最终Vpgm或在编程里程碑处的Vpgm)。步骤1214确定参考Vpgm与指示编程速度的Vpgm之差。在一种方法中,从指示编程速度的Vpgm减去参考Vpgm。
[0118]步骤1215基于该差确定对参考通过电压的调整以提供经调整的Vpass。例如,可以获得调整作为该差的指定小部分。因此,基于存储器单元在编程道次中的如由指示编程速度的Vpgm所指示的性能来优化Vpass。
[0119]作为示例,步骤1216确定用于第二编程道次的Vpgm的第一初始值为:指示编程速度的Vpgm-Vof €861:_第二道次。一般地,该第一初始值是指示编程速度的Vpgm的一小部分。因此该第一初始值是基于单元组的编程速度而不是基于Vpass的值。
[0120]步骤1217基于对参考Vpass的调整来确定Vpgm的第二初始值。通常,该值是对参考Vpass的调整的函数,并且比调整小。在一种方法中,对第一初始值的调整与对参考通过电压的调整(在量值上)与以下两个耦合率之比的乘积成比例:(a)至少一个未选中字线与存储器单元组中的存储器单元的浮置栅极的耦合率(CRn-1,CRn+l),(b)选中字线与存储器单元组中的存储器单元的浮置栅极的耦合率(CRs),如下面进一步讨论的(参见,例如,图17)。因此,基于存储器单元在先前编程道次中的如由指示编程速度的Vpgm所指示的性能来优化存储器单元组的初始Vpgm。
[0121]步骤1218使用开始于Vpgm的第二初始值的用于WLn的第二组阶跃式增大的编程电压、并且使用WLn-1和WLn+Ι上的经调整的Vpass来执行第二编程道次。用在其他未选中字线上的Vpass可以与第一道次中的Vpass相同,与参考电压或一些其他值相同。
[0122]应该注意的是,经调整的通过电压可以在第二组阶跃式增大的编程电压中的一个或更多个编程电压期间施加于至少一个未选中字线。在第二组阶跃式增大的编程电压的每个编程电压期间施加经调整的通过电压是有益的但不是必需的。
[0123]图12C描绘了在图12B的第一编程道次和第二编程道次之后执行的第三编程道次。可选地,可以执行第三道次或其他附加道次。在一种方法中,来自第一道次的指示编程速度的Vpgm用于每个连续的道次中以用于优化Vpass和初始Vpgm。步骤1220将用于第三编程道次的未经调整的初始Vpgm确定为:指示编程速度的Vpgm-偏移。偏移可以与第二道次中的偏移相同或不同。步骤1221将用于第三编程道次的Vpgm的第一初始值确定为:指示编程速度的\^^!11-(^€861:_第三道次。参数<^€861:_第三道次可以与¥(^€861:_第二道次相同或不同。类似于步骤1217,步骤1222基于对参考Vpass的调整来确定Vpgm的第二初始值。调整可以与步骤1217中的调整相同或不同。步骤1223使用开始于Vpgm的第二初始值的用于WLn的第三组阶跃式增大的编程电压、并且使用WLn-1和WLn+Ι上的经调整的Vpass来执行第三编程道次。用在其他未选中字线上的Vpass可以与第一道次中的Vpass相同,与参考电压或一些其他值相同。
[0124]图13A描绘了与图9B—致的、针对数据的低页的编程道次的示例中的一系列编程验证循环。水平轴描绘编程验证(PV)循环次数或时间,以及竖直轴描绘电压。脉冲串1300包括一系列编程脉冲1301-1309。示例性验证脉冲包括INT状态验证脉冲1310(VvINT)。脉冲串1300是第一组阶跃式增大的编程电压的示例。Vpgm_initl是第一组阶跃式增大的编程电压的初始值的示例。
[0125]脉冲串通常包括在编程道次的一个或更多个编程验证循环中使用固定或变化的步长在幅度上阶跃式增大的编程脉冲。在一些情况下,编程脉冲在第一个编程验证循环之后在每个编程验证循环中增加。可以在每个编程道次中施加新的脉冲串,在初始电平处开始并且在不超过最大允许电平的最终电平处结束。初始电平可以与不同的编程道次中的初始电平相同或不同。最终电平也可以与不同的编程道次中的最终电平相同或不同。步长可以与不同的编程道次中的步长相同或不同。在一些情况下,较小的步长用在最终编程道次中以用于降低Vth分布宽度。
[0126]图13B描绘了与图13A—致的、被编程为INT状态的存储器单元的Vth。被编程的单元具有在编程道次中从Er状态(分布1320)至INT状态(分布1322)逐渐增大的Vth。在该编程道次完成之前,例如当单元的至少一个指定部分(例如,10% )的Vth达到验证电平VvINT(分布1321)时,Vth分布将达到编程里程碑。作为示例,这可以是在图13A的第五个PV循环,在施加编程脉冲1305之后。在这种情况下,如结合图12A的步骤1201中所讨论的,编程脉冲1305的量值可以是指示编程速度的Vpgm(Vrep)。或者,如由编程脉冲1309表示的最终Vpgm的量值可以是指示编程速度的Vpgm。在施加最终编程脉冲之后达到分布1322。其他变型也是可能的。
[0127]图14描绘了与图9C一致的、模糊编程道次的示例中的一系列编程验证循环。水平轴描绘编程验证循环次数(PV),以及竖直轴描绘控制栅极或字线电压。脉冲串1400包括施加于被选择以用于编程的字线的一系列编程脉冲1401-1413。脉冲串1400是第二组阶跃式增大的编程电压的示例。Vpgm_init2是第二组阶跃式增大的编程电压的初始值的示例。
[0128]在每个编程脉冲之后作为示例基于被验证的目标数据状态提供一个、二个或三个验证脉冲。例如,示例性A状态模糊验证脉冲1420(VvA_fOggy)、B状态模糊验证脉冲1421(VvB_f oggy)和C状态模糊验证脉冲1422( VvC_f oggy)中的一个或更多个可以被施加在不同的编程验证循环中。在这种方法中,基于其中A状态单元在B状态单元之前完全编程以及B状态单元在C状态单元之前完全编程的编程进展设定验证脉冲。编程时间通过该方法最小化。
[0129]此外,使用每个验证脉冲执行验证测试来确定单元是具有高于验证电平的Vth还是具有低于验证电平的Vth。在验证测试中,沿字线针对单元进行感测操作。对每个NAND串中的电流与在感测时的参考电流进行比较。如果电流超过参考电流,则NAND串中的单元被认为是处于导电状态并且Vth低于验证电平(验证测试失败)。如果电流小于参考电流,则NAND串中的单元被认为是处于非导电状态并且Vth高于验证电平(验证测试通过)。当感测到单元并且进行验证测试时,数据锁存器可以基于验证测试的结果进行更新。
[0130]图15描绘了与图9D—致的、精细编程道次的示例中的一系列编程验证循环。水平轴描绘编程验证循环次数(PV),以及竖直轴描绘控制栅极或字线电压。脉冲串1500包括施加于被选择以用于编程的字线的一系列编程脉冲1501-1515。脉冲串1500是第二组阶跃式增大的编程电压或第三组阶跃式增大的编程电压的示例。Vpgm_init3是第三组阶跃式增大的编程电压的初始值的示例。在每个编程脉冲之后作为示例基于被验证的目标数据状态提供一个、二个或三个验证脉冲。例如,示例性A状态验证脉冲1520 (VvA)、B状态验证脉冲1521(VvB)和C状态验证脉冲1522(VvC)中的一个或更多个可以被施加在不同的编程验证循环中。
[0131]图16A描绘了新的存储器单元组的编程操作中的示例性电压。这提供了图12B的处理的示例。使用三个编程道次,如INT道次接着是模糊通和精细道次,与图9A至图9D—致。在第一道次中,Vpgm initial是1V的预设值以及VpassH是9V的预设值。作为示例,这也是参考Vpass。在该示例中,在编程道次完成之后,确定Vpgm final为16V,这是步骤1213的指示编程速度的Vpgm。针对第一道次(在该示例中,以及同样针对在第二道次和第三道次),Vref是16V的预设值。或者,Vref在每个道次中不同。“差”(D)被确定为Vpgm final-Vref = 16-16= 0V,与步骤1214—致。偏移电压(Voffset)在第一道次中未被使用。符号“X”表示条目在该示例中不适用或并不重要。由于第一编程道次是粗略编程,所以对于在第一编程道次期间优化VpassH存在较少的需求。
[0132]在第二道次中,根据(16-5.7) = 10.3V(Vpgm final-Voff86乙第二道次)确定用于第二编程道次的初始Vpgm,与图12B的步骤1216—致。根据存储器装置的测试,在针对Vpass的电平进行校正之前,确定第二编程道次中的Vpgm initial最优为5.7V,低于第一编程道次中的Vpgm final。因为差(D)为零,所以Vpass在此道次中未被调整。
[0133]在第三道次中,根据(16-6.2)=9.8¥(¥代卜¥(^€86丨_第三道次)确定第一初始Vpgm。根据存储器装置的测试,确定第三编程道次中的Vpgm initial最优为6.2V,低于第一编程道次中的Vpgm finaI。因为差(D)为零,所以Vpass在此道次中未被调整。
[0134]初始Vpgm可以在不同的编程道次中变化。应该注意的是,对于新的存储器管芯中新的存储器单元组,编程速度仍可以针对不同的存储器单元组如在不同的字线上变化。因此,尽管在图16A的示例中没有描绘,但是对于新的存储器管芯可以在第二道次或第三道次中提供对Vpas s的调整。
[0135]图16B描绘了适度循环的存储器单元组的编程操作中的示例性电压。如前,在第一道次中,Vpgm initial是1V的预设值以及VpassH是9V的预设值。在该示例中,在编程道次完成之后,确定Vpgm final为15.5V,这是步骤1213的指示编程速度的VpgmJref是16V的预设值。差(D)被确定为Vpgm final-Vref = 15.5-16 = -0.5V,与步骤 1214—致。
[0136]在第二道次中,根据(15.5-5.7-0.5) = 9.3¥确定第一初始¥?8111,其中¥(^€861第二道次=5.7V,与步骤1216—致。作为示例,对Vpass参考的调整是Dx20 %或0.5x20 % =
0.1V。在这种情况下,20%是已被确定以对与Vpgm final成比例的Vpass进行最佳修改的乘数。如果使用除了Vpgm final以外的另一指示编程速度的电压,乘数可以是不同的,例如,更小。在该示例中,对Vpass参考的调整与Vpgm f inal和D是线性关系。另外,例如,对Vpass参考的调整可以与Vpgm final和D是非线性关系,并且使用表进行查询,或者使用方程式进行计算。
[0137]此外,对第一初始Vpgm的调整是基于对Vpass参考的调整。在该示例中,对第一初始Vpgm的调整是对Vpass参考的调整的线性函数。使用25/75的乘数获得调整,其表示以下两个耦合率之比:(a)至少一个未选中字线与存储器单元组中的存储器单元的浮置栅极的耦合率(例如,25%),(b)选中字线与存储器单元组中的存储器单元的浮置栅极的耦合率(例如,75 % )。文中,对第一初始Vpgm的调整是.1x25/75 =.1x.3 =.03V并且小于对参考Vpass的调整(.1V)。换言之,在该示例中,选中的单元的浮置栅极从选中字线的.03V变化与两个相邻的未选中字线的.1V变化预计经历相同的编程效应。因此,针对第二编程道次的第二(最终)初始Vpgm是9.3+.03 = 9.33V。如所讨论的,调整相当小但是由于需要小心地控制存储器装置的电压而很重要。
[0138]此外,对Vpass的调整是负的,因为差(D)指示编程速度高于新的设备的编程速度。因此,较低的初始Vpgm将在下一道次中使用,所以Vpass也可以较低。一般地,对参考Vpass的调整可以是正的或负的。在该示例中,对第一初始Vpgm的调整是正的,与对参考Vpass的调整的极性相反。
[0139]可选地,可以针对不同的未选中字线、根据其相对于选中字线的耦合率来确定不同的Vpass电平。
[0140]在第三道次中,根据(15.5-6.2-0.5) = 8.8¥确定第一初始¥?8111,其中¥(^€861第三道次=6.2V,与步骤1221—致。在该示例中,将Vpass设定为与第二道次中的Vpass相同。根据8.8+.1x25/75 = 8.8+.03 = 8.83V获得第二初始Vpgm。对第一初始Vpgm的调整与第二编程道次中的对第一初始Vpgm的调整相同。
[0141 ] 通常,参考Vpass被调整以获得针对第二编程道次和第二编程道次的经调整的Vpass,其中参考Vpass可以或可以不与第一编程道次中的Vpass相同。
[OH2] 在另一种选项中,针对编程道次中的不同编程验证循环,Vpass不同。例如,当Vpgm较高时,Vpass可以较高。
[0143]图16C描绘了重度循环的存储器单元组的编程操作中的示例性电压。在第一道次中,Vpgm initial是1V的预设值以及VpassH是9V的预设值。在该示例中,在编程道次完成之后,确定Vpgm final为15.0V,这是步骤1213的指示编程速度的VpgmJref是16V的预设值。差(D)被确定为Vpgm final-Vref = 15.0-16 = -1.0V,与步骤 1214—致。
[0144]在第二道次中,根据(15.5-5.7-1.0) = 8.3¥确定第一初始¥?8111,其中¥(^€861第二道次=5.7V,与步骤1216—致。对参考Vpass的调整是Dx20% =-1x20% =-0.2V,所以经调整的Vpass是9-0.2 = 8.8V。对第一初始Vpgm的调整是0.2x25/75=.06V以及第二初始Vpgm 是8.3+.06 = 8.36V,与步骤 1217—致。
[0145]在第三道次中,根据(15.5-6.2-1.0) = 7.8¥确定第一初始¥?8111,其中¥(^861第三道次=6.2V,与步骤1221—致。经调整的Vpass为8.8V。对第一初始Vpgm的调整是0.2x25/75=.06V 且第二初始 Vpgm 是 7.8+.06 = 7.86V,与步骤 1222—致。
[0146]对Vpass的调整在量值上大于针对适度循环的装置的对Vpass的调整,因为差D指示编程速度高于针对适度循环的装置的编程速度。
[0147]图17描绘了Vpass对选中存储器单元MCn的编程的效应。MCn-1是在WLn-1上相邻的单元以及MCn+Ι是在WLn+Ι上相邻的单元。VpassH(高Vpass)被施加于MCn-1和MCn+10 FGn-1、FGn和FGn+1分别是101-1、101和101+1的浮置栅极。浮置栅极受到基于¥?8111和¥?&88!1的有效或总编程电压。特别地,相对高的耦合率如75 % (CRs)描述了从WLn至FGn的电容耦合。因此,由于Vpgm,通过FGn看到的编程电压为Vpgmx0.75。相对低的耦合率如12.5% (CRn-1,CRn+l)描述了从WLn-1和WLn+Ι中的每个至FGn的电容親合。因此,由于WLn-1上的VpassH,通过FGn看到的编程电压是VpassHx0.125。类似地,由于WLn+Ι上的VpassH,通过FGn看到的编程电压是VpassHx0.125。因此,由于WLn-1和WLn+Ι上的VpassH,通过FGn看到的总编程电压为VpassHX0.25,表示25%的耦合率。还可以考虑从非相邻的字线的耦合,但是效应小于针对相邻字线的耦合。因为相邻字线最靠近选中字线,所以针对相邻字线的耦合最大。因为第二相邻字线第二最接近选中字线,所以针对第二相邻字线的耦合第二最大,以此类推。通常,针对两个相邻字线的耦合是相同的。
[0148]耦合率的总和可以用于其中通过电压待被调整的每个未选中字线。例如,如果Vpass针对仅两个相邻的未选中字线待被调整,并且每个相邻的未选中字线的耦合率为12.5%,则未选中字线与选中存储器单元的总耦合率为25%。如在图16B和图16C的示例中所讨论的,耦合率之比为25/75或1/3。该比值可用于基于对Vpass的调整设定对Vpgminitial的调整。
[OH9]親合率由于未选中字线对有效Vpgm有显著影响。因此,当Vpass被调整例如优化Vpass时,有效Vpgm变化。Vpgm应该被调整为抵消有效Vpgm的变化。例如,当Vpass减小时,如果Vpgm不增大则通过FGn看到的有效Vpgm将会减小。通过增大Vpgm,有效Vpgm的减小可以被抵消。因此,可以采用所需的有效Vpgm进行编程,同时允许其最佳地减少失效位的Vpass的变化。
[0?50]理论上,针对存储器单元组的最佳Vpgm应该与最佳VpassH有很强的相关性。这是因为中性Vth和单元耦合率是如何对单元进行容易地编程(Vch = OV,WLn = VPGM)和编程干扰(Vch = OV,WLn-l/n+l =VpassH)的重要指标。换言之,对于那些通过Vpgm易于编程的单元,类似地通过VpassH易于编程。最佳Vpgm与最佳VpassH良好相关。
[0151]图18A是示出与图6A至图6C—致的、初始Vpgm和Vpass最佳之间的对应关系的曲线图。如所提到的,低Vpass最佳与增大的循环或指示编程速度的Vpgm与参考Vpgm之差(D)的量值相关。对于给定的温度,Vpass最佳和初始Vpgm在循环的情况下减小。减小斜率针对不同的温度是一致的。对于给定的Vpass最佳,初始Vpgm随着温度的升高而减小。
[0152]图18B是图18A的室温情况下的曲线图,示出了针对指示编程速度的Vpgm与参考Vpgm之差的检测电平如何调整Vpass和Vpgm。数据点表示图6B的数据点PE1/D1、PE2/D2、PE3/D3和PE4/D4的最小失效位计数。例如,PE1、PE2、PE3和PE4的值可以分别是0、100、300和500个循环。例如,Dl、D2和D3的值可以分别是0V、- 0.5V、-1V,分别与图16A、图16B和图16C—致。D4的值可以是-1.5V作为另一数据点。对于结合图16B所讨论的适度循环的装置,经调整的Vpass是8.9V,是从9V的参考Vpass下降0.1V。此外,初始Vpgm的调整是.03V,从9.3V至9.33V。
[0153]图18C是示出根据图18B的差值D或PE周期在多道次编程操作中使用的各种电压的曲线图。水平轴描绘周期或指示编程速度的Vpgm与参考Vpgm之差。竖直轴描绘电压。在该示例中,参考Vpgm是固定值。指示编程速度的Vpgm等于在PE处的参考Vpgm或D = O,并且随着PE或D的增大而减小。因此,假设相对于指示编程速度的Vpgm的固定偏移用于获得第一初始Vpgm,第一初始Vpgm还随着PE或D的增大而减小。对Vpass的调整在量值上随着PE或D的增大而增大。因此,对初始Vpgm的调整在量值上也随着PE或D的增大而增大。第二初始Vpgm随着PE或D的增大而减小,但是比第一初始Vpgm减小的程度较轻。
[0154]—般地,随着周期的增大,存储器单元组变得更易于编程,使得较低的编程电压足以完成编程道次或者在编程道次的结束之前达到编程里程碑。然而,不管变化是通过循环还是其他因素引起的,本文所提供的技术都基于如通过D反映的性能的任何变化来优化编程。例如,可以发生性能的暂时改变,这与PE周期不相关。
[0155]因此,可以看出,在一个实施方式中,提供了一种用于对连接至存储器装置(190)中的选中字线(WL2)的存储器单元组(205)进行编程的方法。该方法包括:针对存储器单元组执行多道次编程操作的一个编程道次,其中,在一个编程道次期间将第一组阶跃式增大的编程电压(1300)施加于选中字线;确定第一组阶跃式增大的编程电压中的指示编程速度的编程电压(Vrep),指示编程速度的编程电压指示在一个编程道次期间存储器单元组的编程速度;基于对参考通过电压的调整来确定待被用于多道次编程操作的另一编程道次的经调整的通过电压(VpassH),对参考通过电压的调整基于指示编程速度的编程电压;基于指示编程速度的编程电压来确定用于另一编程道次的第二组阶跃式增大的编程电压(1400,1500)的第一初始值;基于对参考通过电压的调整来确定对第一初始值的调整以提供第二初始值(Vpgm_init2,Vpgm_init3),对第一初始值的调整具有与对参考通过电压的调整相反的极性;以及针对存储器单元组执行另一编程道次,其中,在另一编程道次期间将第二组阶跃式增大的编程电压施加于选中字线,第二组阶跃式增大的编程电压具有第二初始值,并且在第二组阶跃式增大的编程电压中的一个或更多个编程电压(1401-1413; 1501-1515)期间将经调整的通过电压施加于至少一个未选中字线。
[0156]在另一实施方式中,一种存储器装置(190)包括:连接至选中字线(WL2)的存储器单元组(205),以及控制电路(100,110,112,114,116,117,150,160,165,192,MC0)。控制电路:针对存储器单元组执行多道次编程操作的一个编程道次,其中,在一个编程道次期间将第一组阶跃式增大的编程电压(1300)施加于选中字线;确定第一组阶跃式增大的编程电压中的编程电压(Vrep),编程电压(Vrep)指示在一个编程道次期间存储器单元组的编程速度;确定编程电压与参考编程电压之差;基于差确定对参考通过电压的调整;基于由对参考通过电压的调整修改了的参考通过电压来确定待被用于多道次编程操作的另一编程道次的经调整的通过电压(VpassH);基于编程电压来确定用于另一编程道次的第二组阶跃式增大的编程电压(1400,1500)的第一初始值;和基于对参考通过电压的调整来提供对第一初始值的调整以提供用于另一编程道次的第二组阶跃式增大的编程电压的第二初始值(Vpgm_init2,Vpgm_init3)。
[0157]在另一实施方式中,提供了一种用于对连接至存储器装置(100)中的选中字线(WL2)的存储器单元组(205)进行编程的方法。该方法包括:针对存储器单元组执行多道次编程操作的一个编程道次,其中,在一个编程道次期间将第一组阶跃式增大的编程电压(1300)施加于选中字线;基于一个编程道次确定存储器装置的性能度量(Vrep);以及针对存储器单元组执行多道次编程操作的另一编程道次,其中,在另一编程道次期间将第二组阶跃式增大的编程电压(1400,1500)施加于选中字线,当第二组阶跃式增大的编程电压被施加于选中字线时将经调整的通过电压(VpassH)施加于至少一个未选中字线,根据性能度量通过提供对参考通过电压的调整来设定经调整的通过电压,以及第二组阶跃式增大的编程电压的初始值(Vpgm_init2,Vpgm_init3)基于对参考通过电压的调整和性能度量。
[0158]提供了用于执行本文中所提供的方法的相应方法、系统以及计算机或处理器可读存储装置。
[0159]出于说明和描述的目的呈现了前面的详细描述。这不旨在是穷尽于或限于所公开的精确形式。根据上述教导可以进行许多修改和变化。选择所描述的实施方式是为了最好地解释本技术的原理及其实际应用,从而使本领域技术人员能够在各种实施方式中最好地利用该技术并且具有适于预期的特定用途的各种修改。该技术的范围由所附的权利要求限定。
【主权项】
1.一种用于对连接至存储器装置中的选中字线的存储器单元组进行编程的方法,包括: 针对存储器单元组(205)执行多道次编程操作的一个编程道次,其中,在所述一个编程道次期间将第一组阶跃式增大的编程电压(1300)施加于选中字线(WL2); 确定所述第一组阶跃式增大的编程电压中的指示编程速度的编程电压(Vrep),所述指示编程速度的编程电压(Vrep)指示在所述一个编程道次期间所述存储器单元组的编程速度; 基于对参考通过电压的调整来确定待被用于所述多道次编程操作的另一编程道次的经调整的通过电压(VpassH),所述对参考通过电压的调整基于所述指示编程速度的编程电压; 基于所述指示编程速度的编程电压来确定用于所述另一编程道次的第二组阶跃式增大的编程电压(1400,1500)的第一初始值; 基于所述对参考通过电压的调整来确定对所述第一初始值的调整以提供第二初始值(Vpgm_init2,Vpgm_init3),所述对所述第一初始值的调整具有与所述对参考通过电压的调整相反的极性;以及 针对所述存储器单元组执行所述另一编程道次,其中,在所述另一编程道次期间将所述第二组阶跃式增大的编程电压施加于所述选中字线,所述第二组阶跃式增大的编程电压具有所述第二初始值,并且在所述第二组阶跃式增大的编程电压中的一个或更多个编程电压(1401-1413; 1501-1515)期间将所述经调整的通过电压施加于至少一个未选中字线(WLl,WL3)o2.根据权利要求1所述的方法,其中: 对所述第一初始值的调整与所述对参考通过电压的调整与以下两个耦合率之比的乘积成比例:(a)所述至少一个未选中字线与所述存储器单元组中的存储器单元的浮置栅极的耦合率,(b)所述选中字线与所述存储器单元组中的存储器单元的浮置栅极的耦合率。3.根据权利要求2所述的方法,其中: 所述对所述第一初始值的调整的量值小于所述对参考通过电压的调整的量值。4.根据权利要求1至3中的任一项所述的方法,其中: 所述对参考通过电压的调整基于所述指示编程速度的编程电压与参考编程电压之差与小于一的乘数的乘积。5.根据权利要求4所述的方法,其中: 所述参考编程电压是当所述存储器装置是新的时用于所述存储器装置的编程电压。6.根据权利要求1至5中的任一项所述的方法,其中: 所述指示编程速度的编程电压是所述第一组阶跃式增大的编程电压的最终编程电压(1309)。7.根据权利要求1至6中的任一项所述的方法,其中: 所述指示编程速度的编程电压是所述第一组阶跃式增大的编程电压(1304)中的在所述第一编程道次完成之前在所述第一编程道次期间达到编程里程碑时的编程电压。8.根据权利要求1至7中的任一项所述的方法,其中: 所述第一初始值是通过从所述指示编程速度的编程电压减去偏移(V0fTSet_第二道次)来确定的。9.根据权利要求1至8中的任一项所述的方法,其中: 所述至少一个未选中字线与所述选中字线相邻。10.根据权利要求1至9中的任一项所述的方法,还包括: 限制所述对参考通过电压的调整和所述对所述第一初始值的调整。11.根据权利要求1至10中的任一项所述的方法,其中: 所述一个编程道次是所述多道次编程操作的第一编程道次,并且所述另一编程道次是所述多道次编程操作的第二编程道次。12.根据权利要求1至11中的任一项所述的方法,其中: 所述一个编程道次是所述多道次编程操作的第一编程道次,并且所述另一编程道次是所述多道次编程操作的第三编程道次。13.—种存储器装置,包括: 连接至选中字线(WL2)的存储器单元组(205);以及 控制电路(100,110,112,114,116,117,150,160,165,192,MC0),所述控制电路: 针对所述存储器单元组执行多道次编程操作的一个编程道次,其中,在所述一个编程道次期间将第一组阶跃式增大的编程电压(1300)施加于所述选中字线; 确定所述第一组阶跃式增大的编程电压中的编程电压(Vrep),所述编程电压(Vrep)指示在所述一个编程道次期间所述存储器单元组的编程速度; 确定所述编程电压与参考编程电压之差; 基于所述差确定对参考通过电压的调整; 基于由所述对参考通过电压的调整修改了的参考通过电压来确定待被用于所述多道次编程操作的另一编程道次的经调整的通过电压(VpassH); 基于所述编程电压来确定用于所述另一编程道次的第二组阶跃式增大的编程电压(1400,1500)的第一初始值;以及 基于所述对参考通过电压的调整来提供对所述第一初始值的调整以提供用于所述另一编程道次的所述第二组阶跃式增大的编程电压的第二初始值(Vpgm_init2,Vpgm_init3)ο14.根据权利要求13所述的存储器装置,其中: 所述控制电路基于温度确定所述经调整的通过电压,当所述温度相对较高时所述经调整的通过电压相对较高。15.根据权利要求13或14所述的存储器装置,其中: 所述对参考通过电压的调整具有与所述对所述第一初始值的调整相反的极性。
【文档编号】G11C11/56GK105830165SQ201480068259
【公开日】2016年8月3日
【申请日】2014年12月3日
【发明人】大和田宪, 村井昭太
【申请人】桑迪士克科技有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1