用于电流节省和快速编程的适应性选择性位线预充电的制作方法

文档序号:11161318阅读:589来源:国知局
用于电流节省和快速编程的适应性选择性位线预充电的制造方法与工艺

本技术涉及存储器装置中的编程操作。半导体存储器变得越来越流行地用于各种电子装置中。例如,非易失性半导体存储器用于蜂窝电话、数码相机、个人数字助理、移动计算装置、非移动计算装置及其他装置。闪存存储器是非易失性半导体存储器中最流行的类型。通过闪存存储器,可以在一个步骤中擦除整个存储器阵列的内容。

例如,二维NAND存储器是一个类型的闪存存储器,其中浮置栅极位于半导体基板的沟道区之上并与其绝缘。浮置栅极位于源极和漏极区之间。控制栅极设置在浮置栅极之上并与其绝缘。这样形成的晶体管的阈值电压(Vth)由保持在浮置栅极上的电荷量控制。也就是,在晶体管导通以允许其源极和漏极之间的传导之前必须施加到控制栅极的电压的最小量由浮置栅极上的电荷电平来控制。

近来,已经提出使用三维存储器结构的超高密度存储装置。一个实例是位成本可扩展(BiCS)架构,其中存储器装置由交替的导电层和介电层的阵列形成。在层中形成存储器孔且该孔填充电荷存储材料。直线NAND串在一个存储器孔中延伸,同时管形或者U形的NAND串(P-BiCS)包括在两个存储器孔中延伸且由底部背栅极接合的存储器单元的一对垂直列。由导电层提供存储器单元的控制栅极。

期望用于在存储器装置中高效地执行编程操作的技术。

附图说明

相同的附图标记引用不同图中共同的组件。

图1是非易失性存储器装置的功能框图。

图2A示出图1的存储器结构126中的NAND串的块和相关联的感测块SB0、SB0a和SB0b。

图2B示出图2A的存储器单元208-219的示例数据状态。

图2C是示出图1的感测块SB0的一个实施例的框图。

图3A示出在示例三维存储器装置中的图2A的NAND串的一部分的截面图。

图3B示出沿着图3A的线302的截面图。

图3C示出包括图3A的NAND串的三维存储器装置中的示例电路。

图4A和图4B示出其中同时写入数据的较低和较高页的示例单行程(one-pass)编程操作。

图5A到图5C示出其中分别在第一和第二行程(pass)中写入数据的较低和较高页的双行程编程操作。

图6A到图6D示出其中分别在第一、第二和第三行程中写入数据的较低、中间和较高页的三行程编程操作。

图7A示出其中根据多阶段编程操作的当前阶段出现包括位线的预充电的感测的示例处理。

图7B示出图7A的处理的示例具体实现。

图8示出诸如在图4A和图4B中示出并符合图7A和图7B的单行程编程操作的不同阶段的一个实例。

图9A示出其中设置预充电数据一次的符合图7A和图7B的编程-验证迭代的验证部分中用于设置预充电数据的序列。

图9B示出其中设置预充电数据两次的符合图7A和图7B的编程-验证迭代的验证部分中用于设置预充电数据的序列。

图9C示出与图9A对应的验证序列,其中编程阶段的知识用于减少不必要的位线预充电。

图9D是作为图9的替代的验证序列,其中编程阶段的知识不用于减少不必要的位线预充电。

图9E示出与图9B的第一和第二预充电数据对应的验证序列,其中在验证状态A-D时使用第一预充电数据并在验证状态E-G时使用第二预充电数据。

图9F示出作为图9E的替代的验证序列,其中在验证状态A-G时使用相同预充电数据。

图10A示出符合图7A和图7B的图2C的感测模块SM0的示例实现。

图10B示出用于符合图10A的SM0和符合图9C的编程-验证迭代的验证部分的控制信号和电压波形。图10C示出用于符合图10A的SM0和符合图9E的编程-验证迭代的验证部分的控制信号和电压波形。

具体实施方式

提供用于在存储器装置中高效地执行编程操作的技术。具体来说,提供避免编程操作期间的某些时间预充电某些存储器单元的位线而在感测电路中减少功耗。

在编程操作期间,一系列编程电压施加到一组所选的存储器单元,使得存储器单元的阈值电压(Vth)从诸如来自擦除状态的较低电平移动到表示每个单元的目标数据状态的较高电平。例如,在四级存储器装置中,目标数据状态可以被称为A、B和C状态。其他状态是擦除状态。为了使Vth分布紧密,在编程电压之间进行验证操作。一旦单元的Vth被感测为高于目标数据状态的目标电平,则禁止该单元在编程操作的后续编程电压期间编程。

对于验证操作,电流感测可以用于其中同时感测所有单元的所有位线架构。如果单元的Vth低于目标电平,则单元在验证操作期间处于导电状态且因此消耗实质量的电流。对于多级操作(例如,具有4、8、16或更多数据状态),不需要感测(或者预充电)其目标数据状态不与当前正被验证的特定状态匹配的存储器单元的位线。

可以通过避免位线的不必要的预充电而减小电流消耗。一个方法是在每个验证操作之前确定对于其有必要位线预充电的存储器单元。这可以通过读取与存储器单元相关联的锁存器以确定存储器单元的目标数据状态、并仅当验证操作的数据状态匹配目标数据状态才使能预充电而进行。因此,在编程-验证迭代的验证部分中在每个验证操作之前读取锁存器。例如,如果验证操作的数据状态是A状态,且相应的电压施加到所选的字线,则仅对于具有A状态作为目标数据状态的存储器单元使能预充电。其他存储器单元的位线不被预充电且保持在源极线的电平以使得它们不消耗电流。因为该方法没有不必要的位线预充电,所以它是有益的。但是,该方法将具有较长的编程时间,因为对于每个连续验证操作,电路需要在锁存器扫描操作中读取锁存器以确定预充电哪个位线。

另一方法提供较短的编程时间但是具有增加的功耗,因为存在不必要的位线预充电。该方法仅需要在验证部分、例如在第一验证操作的开始时读取锁存器一次。锁存器标识被选择用于编程的单元(例如,在当前编程-验证迭代中正在编程的单元)和未选择用于编程的单元(例如,处于擦除状态的单元或者先前已经完成编程的单元)。未选择的单元具有封锁状态。在初始读取之后在验证部分中不执行锁存器的附加读取。但是,对于每个验证操作,位线预充电对于单元的一小部分、例如感测结果不相关且被丢弃的单元来说是不必要的。例如,当执行用于A状态的验证操作时,对于A状态单元发生位线预充电,这是必要的,但是对于B状态单元则是不必要的。

另外的方法使用编程操作的不同阶段的知识以减小不必要的位线预充电的数量。例如,在编程操作的较低编程循环数期间,可能对于一个或多个较低数据状态而不是对于一个或多个较高数据状态发生位线预充电。类似地,在较高编程循环数期间,可能对于一个或多个较高数据状态而不是对于一个或多个较低数据状态发生位线预充电。在可能或者可能不包括编程操作的不同阶段的知识的另一方法中,可以读取锁存器多于一次,但是小于对于验证部分中的每个验证操作。以这种方式,可以在验证部分中最初设置位线预充电之后更新位线预充电的设置至少一次。这得到增加的编程时间和减小的功耗之间的折衷。

接下来讨论其中可以使用编程技术的示例存储器装置。

图1是非易失性存储器装置的功能框图。存储器装置100可以包括一个或多个存储器裸芯108。存储器裸芯108包括存储器单元的存储器结构126(例如,包括块BLK0和BLK1)、控制电路110和读/写电路128。存储器结构126是经由行解码器124由字线和经由列解码器132由位线可寻址的,读/写电路128包括多个感测块SB0、SB1、SBn-1(感测电路)并允许并行地读取或者编程存储器单元的页。典型地,控制器122被包括在与一个或多个存储器裸芯108相同的存储器装置100(例如,可拆卸存储卡)中。经由数据总线120在主机和控制器122之间并经由线118在控制器和一个或多个存储器裸芯108之间传送命令和数据。

存储器结构可以包括存储器单元的一个或多个阵列,包括二维或者三维阵列。存储器结构可以包括单片三维存储器阵列,在该单片三维存储器阵列中,在单个基板、诸如晶片上(而非其中)形成多个存储器级,而没有介于其间的基板。存储器结构可以包括以具有在硅基板之上设置的有源区的存储器单元阵列的一个或多个物理级单片地形成的任何类型的非易失性存储器。该存储器结构可以在具有与存储器单元的操作相关联的电路的非易失性存储器装置中,无论相关联的电路在基板之上或者之内。

控制电路110与读/写电路128协作以执行关于存储器结构的存储器操作,并包括状态机112、片上地址解码器114和功率控制模块116。状态机112提供存储器操作的芯片级控制。片上地址解码器114提供在由主机或者存储器控制器使用的到由解码器124和132使用的硬件地址之间的地址接口。功率控制模块116控制在存储器操作期间供应到字线和位线的功率和电压。它可以包括用于字线的驱动器、漏极和源极侧选择栅极驱动器(例如,参考诸如NAND串的存储器单元的串的漏极和源极侧或者端)和源极线。在一个方法中,感测块可以包括位线驱动器。

在某些实现中,可以组合某些组件。在各种设计中,除了存储器结构126之外的一个或多个组件(单独地或者组合地)可以被认为是至少一个控制电路或者控制电路。例如,控制电路可以包括以下的任何一个或者组合:控制电路110、状态机112、解码器114/132、功率控制模块116、感测块(SB0,包括图2C中的处理器192和管理电路MC0)、读/写电路128和控制器122,等等。进一步结合图2A、图2C和图10A讨论感测块SB0。

在另一方法中,非易失性存储器系统使用双行/列解码器和读/写电路。由各种外围电路对存储器结构的访问以对称方式、在阵列的相对侧上实现,以使得每一侧上访问线和电路的密度减小一半。因此,行解码器分为两个行解码器且列解码器分为两个列解码器。类似地,读/写电路分为从底部连接到位线的读/写电路和从存储器结构126的顶部连接到位线的读/写电路。以这种方式,读/写模块的密度减小一半。

也可以使用除NAND闪存存储器之外的其他类型的非易失性存储器。

半导体存储器装置包括易失性存储器装置、诸如动态随机存取存储器(“DRAM”)或者静态随机存取存储器(“SRAM”)装置、非易失性存储器装置,诸如电阻性随机存取存储器(“ReRAM”)、电可擦可编程只读存储器(“EEPROM”)、闪存存储器(其也可以被考虑为EEPROM的子集)、铁电随机存取存储器(“FRAM”)和磁阻随机存取存储器(“MRAM”)及能够存储信息的其他半导体元件。每个类型的存储器装置可以具有不同配置。例如,闪存存储器装置可以配置为NAND或者NOR配置。

存储器装置可以以任何组合由无源和/或有源元件形成。通过非限制实例的方式,无源半导体存储器元件包括ReRAM装置元件,其在一些实施例中包括电阻率开关存储元件、诸如反熔丝或者相变材料、和可选地电流导引元件、诸如二极管或者晶体管。另外通过非限制实例的方式,有源半导体存储器元件包括EEPROM和闪存存储器装置元件,其在一些实施例中包括包含电荷存储区域的元件,诸如浮置栅极、导电纳米微粒或者电荷存储介电材料。

多个存储器元件可以配置为使得它们串联连接或者使得每个元件可单独地访问。通过非限制示例的方式,NAND配置的闪存存储器装置(NAND存储器)典型地包括串联连接的存储器元件。NAND存储器阵列可以配置为使得阵列由多个存储器串组成,其中存储器串由共享单个位线和作为整体存取的多个存储器元件组成。替代地,存储器元件可以配置为使得每个元件可单独地访问(例如,NOR存储器阵列)。NAND和NOR存储器配置是示例性的,且可以以别的方式配置存储器元件。

位于基板内和/或基板上的半导体存储器元件可以以二维或者三维布置,诸如二维存储器结构或者三维存储器结构。

在二维存储器结构中,在单个平面或者单个存储器装置级中布置半导体存储器元件。典型地,在二维存储器结构中,存储器元件以实质上平行于支撑存储器元件的基板的主要表面延伸的平面(例如,以x-z方向平面)布置。该基板可以是其上或者其中形成存储器元件的层的晶片,或者其可以是在形成存储器元件之后附于存储器元件的载体基板。作为非限制实例,基板可以包括诸如硅的半导体。

存储器元件可以以有序阵列中的单一存储器装置级布置,诸如以多个行和/或列。但是,可以以不规则或者非正交的配置布置存储器元件。存储器元件每个可以具有两个或更多电极或者接触线、诸如位线和字线。

布置三维存储器阵列以使得存储器元件占据多个平面或者多个存储器装置级,由此形成三维结构(即,以x、y和z,其中z方向实质上是垂直的,且x和y方向实质上平行于基板的主表面)。

作为非限制实例,三维存储器结构可以垂直地布置为多个二维存储器装置级的堆栈。作为另一非限制实例,三维存储器阵列可以布置为多个垂直列(例如,实质上垂直于基板的主表面,即,以y方向延伸的列),其中每个列具有多个存储器元件。列可以以二维配置布置,例如,在x-y平面中,产生具有在多个垂直地堆叠的存储器平面上的元件的存储器元件的三维布置。三维空间中的存储器元件的其他配置也可以构成三维存储器阵列。

通过非限制实例的方式,在三维NAND存储器阵列中,存储器元件可以耦合在一起以形成单个水平(例如,x-y)存储器装置级内的NAND串。替代地,存储器元件可以耦合在一起以形成跨越多个水平存储器装置级两端的垂直NAND串。可以设想其他三维配置,其中,某些NAND串包括单个存储器级的存储器元件,而其他串包括跨过多个存储器级的存储器元件。三维存储器阵列也可以以NOR配置和以ReRAM配置设计。

典型地,在单片三维存储器阵列中,在单个基板之上形成一个或多个存储器装置级。可选地,单片三维存储器阵列也可以具有至少部分地在单个基板内的一个或多个存储器层。作为非限制实例,基板可以包括诸如硅的半导体。在单片三维阵列中,构成阵列的每个存储器装置级的层典型地在阵列的下方存储器装置级的层上形成。但是,单片三维存储器阵列的相邻存储器装置级的层可以共享或者具有在存储器装置级之间的介于其间的层。

而且,可以分开地形成二维阵列且然后封装在一起以形成具有多层存储器的非单片存储器装置。例如,可以通过在分开的基板上形成存储器级且然后在彼此之上堆叠存储器级而构造非单片堆叠存储器。该基板在堆叠之前可以变薄或者从存储器装置级去除,但是当在分开的基板之上最初形成存储器装置级时,产生的存储器阵列不是单片三维存储器阵列。另外,多个二维存储器阵列或者三维存储器阵列(单片或者非单片)可以在分开的芯片上形成且然后封装在一起以形成堆叠芯片的存储器装置。

典型地对于存储器元件的操作和与存储器元件的通信需要关联的电路。作为非限定实例,存储器装置可以具有用于控制和驱动存储器元件以实现诸如编程和读取的功能的电路。该关联的电路可以在与存储器元件相同的基板上和/或在分开的基板上。例如,用于存储器读-写操作的控制器可以位于分开的控制器芯片上和/或与存储器元件相同的基板上。

本领域技术人员将认识到本技术不限于描述的二维和三维示例性结构,而是覆盖在这里描述且本领域技术人员理解的本技术的精神和保护范围内的所有相关的存储器结构。

图2A示出图1的存储器结构126中的NAND串的块和相关联的感测块SB0、SB0a和SB0b。存储器结构可以包括许多块。示例块200包括在块当中共享的多个NAND串NSO到NS11和各自的位线,例如,BL0到BL11。每个NAND串在一端连接到漏极选择栅极(SGD)晶体管,且SGD晶体管的控制栅极经由公共的SGD线连接。每个NAND串在其另一端连接到源极选择栅极(SGS)晶体管,该源极选择栅极(SGS)晶体管又连接到公共的源极线220。例如,NS0包括SGS晶体管202和SGD晶体管201。示例存储器单元208-219分别在N0到NS11中,且分别连接到位线BL0-BL11。WL3是选择用于编程的所选的字线,且示例存储器单元包括选择用于编程的所选的存储器单元。也参见图2B。连接到WL3的其他存储器单元也可以是所选的存储器单元。例如,六十四条字线WL0-WL63在源极侧选择栅极和漏极侧选择栅极之间延伸。

在一个方法中,对于一组NAND串,诸如四个NAND串提供一个感测块。例如,SB0与BL0-BL3相关联,SB1与BL4-BL7相关联且SB2与BL8-BL11相关联。每个感测块分别包括在SB0、SB0a和SB0b中的存储器控制器,例如,MC0、MC1和MC2。每个感测块还包括用于每个NAND串的感测模块。分别在SB0、SB0a和SB0b中示出代表性的感测模块SM0、SM1和SM2。下面进一步讨论SB0和MC0。

也可以使用除NAND闪存存储器之外的其他类型的非易失性存储器。例如,对闪存EEPROM系统有用的另一类型的存储器单元利用不导电介电材料代替导电浮置栅极而以非易失性方式存储电荷。单元是电荷阱存储器单元。由二氧化硅、氮化硅和二氧化硅形成的三层电介质(“ONO”)夹在导电控制栅极和存储器单元沟道之上的半导电基板的表面之间。通过将电子从单元沟道注入氮化物中编程单元,在氮化物电子被捕获并存储在受限的区域中。该存储的电荷然后以可检测的方式改变单元的沟道的一部分的Vth。通过注入热空穴到氮化物中而擦除单元。类似的单元可以以分裂栅极配置提供,在分裂栅极配置中,掺杂的多晶硅栅极在存储器单元沟道的一部分之上延伸以分开的选择晶体管。另一类型的存储器使用NAND架构中的金属(导电)电荷存储器单元。

在另一方法中,使用NROM单元。例如,在每个NROM单元中存储两位,其中ONO介电层在源极和漏极扩散之间的沟道两端延伸。在与漏极相邻的介电层中定位用于一个数据位的电荷,且在与源极相邻的介电层中定位用于另一数据位的电荷。通过分开地读取电介质内空间地分开的电荷存储区域的二元状态来获得多状态数据存储。其他类型的非易失性存储器也是已知的。

图2B示出图2A的存储器单元208-219的示例数据状态。数据状态通常可以在一组存储器单元当中均匀地分布。在该实例中,存储器单元208、212和216处于擦除状态且不被编程,存储器单元209、213和217具有作为目标数据状态的A状态,存储器单元210、214和218具有作为目标数据状态的B状态,且存储器单元211、215和219具有作为目标数据状态的C状态。

图2C是示出图1的感测块SB0的一个实施例的框图。单独的感测块SB0被分区为被称为感测模块(例如,SM0)或者感测放大器的一个或多个核心部分、和被称为管理电路(例如,MC0)的公共部分。在一个实施例中,存在用于每个位线的分开的感测模块和用于一组多个、例如四个或者八个感测模块的一个公共的管理电路。在组中的每一感测模块经由数据总线172与相关联的管理电路通信。因此,存在与一组存储器单元的感测模块通信的一个或多个管理电路。

也参考图10A,感测模块SM0包括通过确定所连接的位线中的传导电流高于或低于预定阈值水平而执行感测的感测电路。SM0包括用于设置关于所连接的位线的电压条件的位线锁存器1007。例如,在位线锁存器中锁存的预定状态将导致所连接的位线被拉到指定编程禁止(例如,1.5-3V)的状态。作为示例,可以设置值标记=0以禁止编程(状态=封锁),同时标记=1允许编程(状态=编程)。

管理电路MC0包括处理器192、四个示例组的数据锁存器194-197以及耦合在该组数据锁存器和数据总线120之间的I/O接口196。可以对于每个感测模块提供一组数据锁存器,且可以对于每组提供由LP、UP和QPW1标识的数据锁存器在有些情况下,可以使用附加的数据锁存器。在其它情况下,可以用于更少的数据锁存器。LP存储数据的较低页的位,且UP存储数据的较高页的位。这是在每个存储器单元四级或者两位的存储器装置中。在每组锁存器中,可以提供每个存储一位数据的一个或多个附加的数据锁存器以保持当编程电压的Vth在较低和较高验证电平之间时、例如当存储器单元经历缓慢编程时施加到存储器单元的编程电压的计数。

处理器192执行计算,以致确定感测的存储器单元中存储的数据和在该组数据锁存器中存储所确定的数据。每组数据锁存器194-197用于存储在读取操作期间由处理器192确定的数据位,并存储在表示将要编程到存储器中的写入数据的编程操作期间从数据总线120输入数据位。I/O接口196提供数据锁存器194-197和数据总线120之间的接口。处理器也可以设置用于感测模块的预充电数据。

在验证操作期间,系统的操作在状态机112的控制下,该状态机112控制不同控制栅极电压到寻址的存储器单元的供应。因为它逐级通过与存储器支持的各种目标数据状态对应的各种预定义的控制栅极电压,感测模块可以在这些电压之一跳闸,且相应的输出将经由总线172从感测模块提供到处理器192。在这点,处理器192通过考虑感测模块的一个或多个调整事件和关于经由输入线193从状态机施加的控制栅极电压的信息而确定结果存储器状态。它然后计算存储器状态的二进制编码被将结果数据位存储到数据锁存器194-197中。在管理电路MC0的另一实施例中,位线锁存器1007服务双重用途,作为用于锁存感测模块的输出的锁存器且还作为如上所述的位线锁存器。

一些实现可以包括多个处理器192。在一个实施例中,每个处理器192将包括输出线(未示出)以使得每一输出线OR(“或”)连线在一起。在一些实施例中,输出线在被连接到OR连线的线之前反相。该配置使能当已经完成编程处理时的编程验证处理期间的快速确定,因为接收OR连线的状态机可以确定何时被编程的所有位已经达到期望电平。例如,当每个位已经达到其期望电平时,该为的逻辑“0”将被发送到OR连线的线(或者数据一反相)。当所有位输出数据0(或者数据一被反相)时,状态机知道要终止编程处理。因为每个处理器与八个感测模块通信,状态机读取OR连线的线八次,或逻辑被添加到处理器192以积累相关联的位线的结果,以使得状态机仅需要读取OR连线的线一次。类似地,通过正确地选择逻辑电平,全局状态机检测何时第一位改变其状态并相应地改变算法。

在编程或者验证操作期间,要编程的数据(写入数据)从数据总线120存储在该组数据锁存器194-197中。编程操作在状态机的控制下,包括施加到寻址的存储器单元的控制栅极的一系列编程电压脉冲。每个编程电压后面是读回(验证)以确定存储器单元是否已经编程到期望的存储器状态。在有些情况下,处理器192相对于期望存储器状态监控读回存储器状态。当两个状态一致时,处理器192设置位线锁存器1007以使得位线被拉到指定编程禁止的状态。即使编程电压在其控制栅极出现,这也禁止耦合到位线的存储器单元被进一步编程。在其他实施例中,处理器最初加载位线锁存器1007,且感测电路在验证处理期间将其设置为禁止值。

每组数据锁存器194-197可以实现为每个感测模块的数据锁存器的堆栈。在一个实施例中,每个感测模块存在三个数据锁存器。在某些实现中,数据锁存器实现为移位寄存器,以使得在其中存储的并行数据被转换为用于数据总线120的串行数据,反之亦然。与存储器单元的读/写块对应的全部数据锁存器可以链接在一起以形成块移位寄存器,以使得可以通过串行传送输入或者输出数据块。具体来说,可以采用读/写模块的排(bank)以使得其数据锁存器组的每一个将顺序地将数据移位到数据总线之中或者之外,就好像它们是用于整个读/写块的移位寄存器的一部分那样。

数据锁存器标识在编程操作中何时相关联的存储器单元已经达到某些里程碑(milepost)。例如,锁存器可以标识存储器单元的Vth低于特定的验证电平。数据锁存器指示存储器单元当前是否存储来自数据页的一个或多个位。当使用较低和较高页位时(例如,在每个存储器单元两位的情况下),LP锁存器可以用于存储数据的较低页并当在相关联的存储器单元中存储较低页位时被翻转(例如,从0到1)。UP锁存器可以用于存储数据的较高页并当较高页位存储在相关联的存储器单元中时被翻转。当相关联的存储器单元完成编程时,例如,当其Vth超过目标或者封锁验证电平Vv时发生位的翻转。当使用较低、中间和较高页位时(例如,在每个存储器单元三位的情况下),也使用MP(中间页)锁存器。当中间页位存储在相关联的存储器单元中时翻转MP。例如,在图6B到图6D中,第一位(从右到左)是较低页位,且第二位是中间页位且第三位是较高页位。

图3A示出在示例三维存储器装置中的图2A的NAND串的一部分的截面图。在示例实施例中,在包括其中形成选择栅极和存储器单元的交替导电层和绝缘层的堆叠的三维非易失性存储器装置中提供NAND串236。NAND串在一端的SGD选择栅极和在相对端的SGS选择栅极之间延伸。NAND串的漏极端与位线通信,且NAND串的源极端与源极线通信。NAND串包括列,该列包括沿着列的侧壁沉积的多个层。这些层可以包括例如使用原子层沉积而沉积的氧化物-氮化物-氧化物和多晶硅层。例如,块氧化物(BOX)可以沉积为层296,诸如SiN的作为电荷阱层(CTL)的氮化物可以沉积为层297,隧道氧化物(TNL)可以沉积为层298,多晶硅主体或者沟道(CH)可以沉积为层299,且核心填料电介质可以沉积为区域300。

当编程存储器单元时,电子被存储在与存储器单元相关联的CTL的一部分中。例如,在CTL 297中电子由“-”符号表示。这些电子被从沟道拉到CTL中,并通过TNL,如由箭头指示的。存储器单元的阈值电压与存储的电荷量成比例地增加。

该示出的视图包括堆叠的五层,包括介电层D2、D3和D4、以及导电字线层WLL2和WLL3。该视图进一步包括示例的存储器单元M02、M12、M03和M13。该视图也示出了介电层D4的部分D4D和D4S、介电层D3的部分D3D和D3S、以及介电层D22的部分D2D和D2S。该视图也示出了导电层WLL4的部分WLL4D和WLL4S、导电层WLL3的部分WLL3D和WLL3S、以及导电层WLL2的部分WLL2D和WLL2S。

可以沿着列的侧壁并在每个字线层内沉积多个层。这些层可能可以包括例如使用原子层沉积而沉积的氧化物-氮化物-氧化物(O-N-O)和多晶硅层。例如,该列包括诸如SiN或者其他氮化物的电荷阱层或者薄膜(CTL)297、隧道氧化物(TNL)298、多晶硅主体或者沟道(CH)299和核心填料电介质300。字线层包括块氧化物(BOX)296、块高-k材料295、阻挡层(barrier)金属294和诸如W的导电金属293。在另一方法中,除了W之外的所有这些层在该列中提供。遍及该列类似地形成附加的存储器单元。

图3B示出沿着图3A的线302的截面图。在一个可能的方法中每一层是环形的,除了作为圆柱体的核心填料之外。

图3C示出包括图3A的NAND串的三维存储器装置中的示例电路。NAND串NS0、NS1、NS2和NS3与BL-SB0(位线子块)中的位线BL0(一个位线)通信,且NAND串NS0A、NS1A、NS2A和NS3A与BL-SB1(另一位线子块)中的位线BL1(另一位线)通信。圆形中的填充(the filled in circles)指示SG晶体管的控制栅极和NAND串的漏极侧上的存储器单元。空心的圆形(open circle)指示SG晶体管的控制栅极和NAND串的源极侧上的存储器单元。

例如,NS0具有包括存储器单元M00、M01、M02和M03和SGD晶体管SGD0的漏极侧、和包括存储器单元M10、M11、M12和M13和SGS晶体管SGS0的源极侧。NS1具有包括存储器单元M30、M31、M32和M33和SGD晶体管SGD1的漏极侧、和包括存储器单元M20、M21、M22和M23和SGS晶体管SGS1的源极侧。NS2已经包括存储器单元M40、M41、M42和M43和SGD晶体管SGD2的漏极侧、和包括存储器单元M50、M51、M52和M53和SGS晶体管SGS2的源极侧。NS3具有包括存储器单元M70、M71、M72和M73和SGD晶体管SGD3的漏极侧、和包括存储器单元M60、M61、M62和M63和SGS晶体管SGS3的源极侧。

类似地,NS0A具有包括存储器单元M00A、M01A、M02A和M03A和SGD晶体管SGD0A的漏极侧、和包括存储器单元M10A、M11A、M12A和M13A和SGS晶体管SGS0A的源极侧。NSIA具有包括存储器单元M30A、M31A、M32A和M33A和SGD晶体管SGD1A的漏极侧、和包括存储器单元M20A、M21A、M22A和M23A和SGS晶体管SGS1A的源极侧。NS2A具有包括存储器单元M40A、M41A、M42A和M43A和SGD晶体管SGD2A的漏极侧、和包括存储器单元M50A、M51A、M52A和M53A和SGS晶体管SGS2A的源极侧。NS3A具有包括存储器单元M70A、M71A、M72A和M73A和SGD晶体管SGD3A的漏极侧、和包括存储器单元M60A、M61A、M62A和M63A和SGS晶体管SGS3A的源极侧。

每个NAND串具有背栅极(back gate)(用于NSO的BG0、用于NS1的BG1、用于NS2的BG2、用于NS3的BG3、用于NS0A的BG0A、用于NS1A的BG1A、用于NS2A的BG2A、用于NS3A的BG3A)。电路303中的所有背栅极的控制栅极可以彼此连接。

在一个方法中,每个SGS晶体管的源极侧连接到电路303的公共源线。

在电路303的每一级,漏极侧存储器单元的控制栅极通过各公共的字线层彼此连接。例如,M03、M03A、M33、M33A、M43、M43A、M73和M73A具有三维地符合图3B的由字线层WL连接的控制栅极。M13、M13A、M23、M23A、M53、M53A、M63和M63A具有由字线层WL3S连接的控制栅极。

M02、M02A、M32、M32A、M42、M42A、M72和M72A具有由字线层WL2D连接的控制栅极。M12、M12A、M22、M22A、M52、M52A、M62和M62A具有由字线层WL2S连接的控制栅极。

M01、M01A、M31、M31A、M41、M41A、M71和M71A具有由字线层WL1D连接的控制栅极。M11、M11A、M21、M21A、M51、M51A、M61和M61A具有由字线层WL1S连接的控制栅极。

M00、M00A、M30、M30A、M40、M40A、M70和M70A具有由字线层WL0D连接的控制栅极。M10、M10A、M20、M20A、M50、M50A、M60和M60A具有由字线层WL0S连接的控制栅极。

另外,SGD晶体管的控制栅极在各个SGD线子集中彼此连接。例如,SGD0和SGD0A的控制栅极连接,SGD1和SGD1A的控制栅极连接,SGD2和SGD2A的控制栅极连接,且SGD3和SGD3A的控制栅极连接。

SGS晶体管的控制栅极在x方向上彼此连接。例如,SGS0和SGSOA的控制栅极连接,SGS1和SGS1A的控制栅极连接,SGS2和SGS2A的控制栅极连接,且SGS3和SGS3A的控制栅极连接。在编程操作中,存储器单元可以以不同的方式编程。在一个方法中,位线子集(或者多个位线子集)中的存储器单元可以以公共的编程操作编程。类似地,SG晶体管可以在SGD线子集中单独地或者同时地编程。

图4A和图4B示出同时写入数据的较低和较高页的示例单行程(one-pass)编程操作。编程行程或者编程操作通常指的是包括直到一组所选的存储器单元的阈值电压达到各个目标数据状态的一个或多个各自的验证电平为止执行的编程-验证迭代的序列。某些存储器单元不编程且保持处于擦除状态,同时其它的存储器单元被编程到较高的目标数据状态。

对于每个存储器单元存储两位数据的情况提供示例Vth分布。每个曲线图在x轴上示出Vth并在y轴上Vth分布中的存储器单元的数或者总数。一位表示LP数据且另一位表示UP数据。例如,11表示UP=1且LP=1,01表示UP=0且LP=1,00表示UP=0且LP=0,且10表示UP=1且LP=0。对于擦除(Er)状态存储器单元提供第一Vth分布400。Vth分布404、406和408分别表示目标数据状态A、B和C,当存储器单元的Vth分别超过验证电平VvA、VvB或者VvC时达到目标数据状态A、B和C。

在分布之间的读取基准电压VrA、VrB和VrC用于从存储器单元读取数据。通过测试给定存储器单元的Vth高于或者低于一个或多个读取基准电压,系统可以确定由存储器单元表示的数据状态。

图5A到图5C示出双行程编程操作,其中分别使用两位、四级存储器单元在第一和第二行程中写入数据的较低和较高页。可以一次一个逻辑页地执行编程,较低页后面是较高页。最初,由图5A中的分布500表示的,所有存储器单元处于Er状态。

图5B示出数据的较低页的编程。如果较低页具有位=1,则相关联的存储器单元保持处于分布500且数据由x1表示,其中x是还不知道的较高页位。如果较低页具有位=0,则存储器单元被使用验证电平Vv_int编程到如由作为过渡分布(interim distribution)(INT)的分布502表示的较高Vth。这些存储器单元的数据由x0表示。过渡分布可以相对宽,因为它不表示数据状态。

图5C示出数据的较高页的编程。如果UP/LP=11,则处于分布500的相关联的存储器单元保持处于分布500并存储数据位11。如果UP/LP=01,则处于分布500的存储器单元被编程到分布504(状态A)。如果UP/LP=10,则处于分布502的存储器单元被编程到分布508(状态C)。如果UP/LP=00,则处于分布502的存储器单元被编程到分布506(状态B)。可选地,当Vth在目标数据状态的验证电平的余量内时使用缓慢编程模式。

编程可以类似地扩展到每个存储器单元三个或更多位。例如,图6A到图6D示出其中分别在第一、第二和第三行程中写入数据的较低、中间和较高页的三行程编程操作。

示出三位、八级存储器单元中的较低、中间和较高页的编程。在Er之外使用七个编程的数据状态A到G用于总共八个状态。最初,由分布600表示的,所有存储器单元处于Er状态。在图6B中编程较低页。如果LP=1,则处于分布600的存储器单元保持处于该分布。如果LP=0,则处于分布600的存储器单元被使用Vv1编程到过渡分布602。在图6C中编程中间页。如果MP=1,则处于分布600的存储器单元保持处于该分布,且处于分布602的存储器单元被使用验证电平Vv4编程到过渡分布608。如果MP=0,则处于分布600的存储器单元被使用验证电平Vv2编程到过渡分布604,且处于分布602的存储器单元被使用验证电平Vv3编程到过渡分布606。

在图6D中编程较高页。QPW用于该行程。如果UP=1,则处于分布600的存储器单元保持处于该分布,处于分布604的存储器单元被编程到分布614(状态C),处于分布606的存储器单元被编程到分布616(状态D),且处于分布608的存储器单元被编程到分布622(状态G)。如果UP=0,则处于分布600的存储器单元被编程到分布610(状态A),处于分布604的存储器单元被编程到分布612(状态B),处于分布606的存储器单元被编程到分布618(状态E),且处于分布608的存储器单元被编程到分布620(状态F)。

使用每个单元四位的编程(16级)可以类似地涉及四页。另外,当编程数据的多个页时,往复(back and forth)的字线次序可以用于减少来自电容耦合的可能干扰。

图7A示出其中根据多阶段编程操作的当前阶段出现包括位线的预充电的感测的示例处理。步骤700开始编程操作的开始阶段。步骤701涉及标识该阶段的所选的目标数据状态的数NS和未选择的目标数据状态的数NU。NS是一或以上的整数且可以对于每个阶段变化。NS是零或以上的整数且可以对于每个阶段变化。NS+NU=目标数据状态的总数,例如,对于4状态存储器是3,对于8状态存储器是7或者对于16状态存储器是15。在某些阶段中,NS是>=2的数且NU是>=1的数。NS个所选的目标数据状态和NU个未选择的目标数据状态是编程操作的当前阶段的函数(function)。

步骤702执行编程-验证迭代的编程部分,诸如通过经由所选的字线施加编程电压到一组存储器单元。步骤703执行编程-验证迭代的验证部分。这包括又将多个验证电压施加到所选的字线。对于每个验证电压,对于具有所选的目标数据状态的存储器单元而不是对于具有未选择的目标数据状态的存储器单元或者对于封锁的存储器单元执行包括位线的预充电的感测。每个目标数据状态的感测是验证操作。决定步骤704确定是否存在编程操作的下一阶段。如果存在下一阶段,则在步骤701标识不同的所选的目标数据状态和未选择的目标数据状态。

如果没有下一阶段,则决定步骤705确定是否存在下一编程-验证迭代。如果存在下一编程-验证迭代,则执行步骤702。如果没有下一编程-验证迭代,则编程操作在步骤706结束。

图7B示出图7A的处理的示例具体实现。在该实例中,位线预充电数据在验证部分期间设置一次。但是,其他方法是可能的。例如参见,图9A-图9F。步骤711涉及初始化编程循环#和编程电压(Vpgm)。编程循环数可以表示编程操作中编程-验证迭代的顺序位置,例如,第一、第二等。例如,初始值可以是一。编程-验证迭代的编程部分在步骤712开始。步骤713涉及读取每个存储器单元的一组锁存器,以确定是否选择单元用于编程或者未选择的,以及在相应的感测电路中设置封锁或者编程状态。例如,该状态可以在位线锁存器中设置。对于所选的存储器单元设置编程状态且对于未选择的存储器单元设置封锁状态。步骤714涉及基于封锁或者编程状态设置位线电压(Vb1)。例如,对于具有编程状态的单元,Vb1=0V,且对于具有封锁状态的单元,Vb1=禁止(inhibit)(例如,2-3V)。步骤715涉及例如经由所选的字线施加编程电压到存储器单元。

步骤716开始编程-验证迭代的验证部分。步骤717基于编程循环#来确定所选的目标数据状态的数NS和未选择的目标数据状态的数NU。例如,在较低编程循环数期间可以选择多个较低状态,且在较高编程循环数期间可以选择多个较高状态。或者,在较低编程循环数期间可以选择多个较低状态,且在较高编程循环数期间可以选择所有状态。其他选项也是可能的。

对于给定编程循环,所选的目标数据状态是可能在编程循环期间完成编程的状态。该方法通过避免在编程循环期间大不可能完成编程的存储器单元而减小感测操作的数。

步骤718涉及读取各组锁存器以标识所选的存储器单元和它们的目标数据状态。在步骤719,如果单元的目标数据状态在所选的目标数据状态当中,则预充电数据设置为使能该单元的相应的感测电路中的位线预充电。在步骤720,如果单元的目标数据状态在未选择的目标数据状态当中,或者如果单元已经封锁,则预充电数据被设置为阻止在该单元的相应的感测电路中的位线预充电。在整个该验证部分中、预充电数据被保持,除非它被再次设置。

步骤721涉及如果由感测电路中的预充电数据指示则执行位线预充电。步骤722涉及对于所选的目标数据状态将一组NS个验证电压的验证电压施加到该组存储器单元。例如,可以分别对于A或者B状态施加VvA或者VvB。步骤723涉及在验证电压期间感测所选的存储器单元的导电状态。例如,这可以包括所有选择的存储器单元而无论它们是否具有与验证电压相关联的目标数据状态。

例如,假定A和B是所选的目标数据状态且C是未选择的目标数据状态。因此,当施加VvA时,感测具有A和B状态的所有选择的(未封锁的)单元。不感测具有A和B状态的任何封锁的单元,且不感测具有Er或者C状态的任何单元。因为避免了位线预充电,通过不感测具有Er或者C状态的单元或者具有A和B状态的封锁的单元而节省功率。类似地,当施加VvB时,感测具有A和B状态的所有所选的单元。不感测具有A和B状态的任何封锁的单元,且不感测具有C状态的任何单元。

步骤724涉及将感测结果传送到管理电路,丢弃不能应用的感测结果(例如,不具有与验证电压相关联的目标数据状态的单元的结果),且封锁完成编程的单元。例如,当施加VvA时获得的感测结果可应用于A状态单元且不能应用于B状态单元,且当施加VvB时获得的感测结果可应用于B状态单元且不能应用于A状态单元。

决定步骤725确定在编程-验证迭代中是否存在下一验证电压。如果存在下一验证电压,则执行步骤721。如果没有下一验证电压,则达到决定步骤726。决定步骤726确定是否存在下一编程-验证迭代。如果存在下一编程-验证迭代,则步骤727递增编程循环#并步进增大(step up)编程电压,之后执行步骤712。如果没有下一编程-验证迭代,则编程操作在步骤728结束。

图8示出诸如在图4A和图4B中示出并符合图7A和图7B的单行程编程操作的不同阶段的一个实例。替代地,该阶段可以在双行程编程操作的第二行程,诸如在图5A到图5C中示出的,或更一般地在多阶段编程操作的任何阶段中提供。横轴示出编程循环数,且纵轴示出所选的字线WLsel上的控制栅极或者字线电压。通常,编程操作包括连续的编程-验证迭代。每个编程-验证迭代具有其中编程电压(PP)经由所选的字线施加到存储器单元的控制栅极的编程部分,后面是其中一个或多个验证电压(VP)施加到存储器单元的控制栅极同时感测至少一些存储器单元的验证部分。

电压波形800示出一系列编程电压PP1到PP10和验证电压。作为示例,基于编程阶段和正在验证的相应的目标数据状态,在每个编程电压之后提供一个或两个验证电压。0V可以在编程和验证电压之间被施加到所选的字线。例如,在涉及循环1-3的第一编程阶段中,A状态是所选的目标数据状态且B和C状态是未选择的目标数据状态。在该阶段中,在验证部分期间施加在VvA的电平的A状态验证电压(例如,VPa)。在涉及循环4-6的第二编程阶段中,A和B状态是所选的目标数据状态且C状态是未选择的目标数据状态。在该阶段中,在验证部分期间分别施加在电平VvA和VvB的A和B状态验证电压(例如,VPab)。在涉及循环7-10的第三编程阶段中,B和C状态是所选的目标数据状态且A状态是未选择的目标数据状态。在该阶段中,在验证部分期间分别施加在电平VvB和VvC的B和C状态验证电压(例如,VPbc)。

在单行程编程操作的不同阶段的另一实例中,在涉及循环7-10的第三编程阶段中,A、B和C状态是所选的目标数据状态且没有未选择的目标数据状态。在该阶段中,在验证部分期间分别施加在电平VvA、VvB和VvC的A、B和C状态验证电压。

各种其他方法也是可能的。例如,在目标数据状态是A-G的八状态存储器系统中,几个阶段是可能的。例如,可以使用五个阶段,包括这些状态组:ABC、BCD、CDE、DEF和EFG。另一实例是:ABCD、CDEF和EFG。许多其他实例是可能的。

定义阶段的编程循环数可以是基于该组存储器单元的编程进程而预定的或者在编程操作期间适应性地确定的。例如,第二阶段可以当已经完成编程A状态存储器单元指定部分、例如50%时开始,且第三阶段可以当已经完成编程B状态存储器单元的指定部分、例如50%时开始。

图9A示出其中对于验证部分设置预充电数据一次的符合图7A和图7B的编程-验证迭代的验证部分中用于设置预充电数据的序列。这里,存在存储器单元的各组锁存器(诸如图2C中的锁存器194-197)的一个读取(步骤900)。在图2C的实例中,对于每个处理器存在四个相关联的存储器单元。每一处理器可以读取相关联的各组锁存器以标识相关联的所选的存储器单元的目标数据状态。注意到,该组锁存器的读取可能在编程部分期间或者在编程-验证迭代的验证部分的开始发生。

每组锁存器存储相关联的存储器单元的位组合。位组合可以标识选择用于编程的相关联的存储器单元(例如,不封锁编程的存储器单元)的目标数据状态。例如,参考图4B,位组合01、00和10标识A、B和C状态。位组合(例如,11)可以替代地标识未选择用于编程的存储器单元(例如,封锁编程的存储器单元)。基于编程的读取和当前阶段,由存储器单元的感测电路中的处理器设置预充电数据(步骤901)。当前编程阶段指示一个或多个所选的目标数据状态。预充电数据对于每个存储器单元指示在验证部分的每个感测操作期间是否应该预充电位线。预充电数据设置为使能所选的存储器单元的位线预充电,对于所选的存储器单元,目标数据状态在当前编程阶段中是所选的目标数据状态。预充电数据设置为禁止所选的存储器单元的位线预充电,对于所选的存储器单元,目标数据状态在当前编程阶段中是未选择的目标数据状态。预充电数据也设置为禁止未选择的存储器单元的位线预充电。

例如,假定当前编程阶段的所选的目标数据状态是A和B状态,如在图8的阶段2中。因此,验证部分涉及又将VvA和VvB施加到所选的字线以分别相对于A和B状态感测存储器单元。将对于具有A或者B状态作为目标数据状态的单元在VvA和VvB两者期间预充电位线。例如,步骤902涉及相对于当前编程阶段的所选的目标数据状态的第一所选的目标数据状态,例如A状态感测所选的单元,且步骤903涉及相对于当前编程阶段的所选的目标数据状态的最后所选的目标数据状态,例如B状态感测所选的单元。

该方法的优点是通过读取各组锁存器仅一次以设置验证部分的预充电数据,并基于整个验证部分的读取维持感测电路中的预充电数据而在验证部分中节省时间。另外,通过避免在当前编程阶段中具有未选择的目标数据的存储器单元的位线的预充电而节省功率。

缺点是当目标数据状态不同于正在感测的状态时预充电存储器单元的位线消耗功率。也就是,当施加VvB且验证相对于B状态时预充电具有A状态作为目标数据状态的存储器单元的位线消耗功率。因为它用于获得不相关的感测结果,所以这是浪费的位线预充电。也就是,激活感测电路以确定当验证电压施加到单元,但是与验证电压相关联的数据状态不匹配单元的目标数据状态时单元是否处于导电状态。存在验证电压和单元的目标数据状态之间的不匹配。相反地,当在验证电压和单元的目标数据状态之间存在匹配时不浪费位线预充电。类似地,当施加VvA和验证相对于A状态时预充电具有B状态作为目标数据状态的存储器单元的位线消耗功率。这也是浪费的位线预充电。

假定排除擦除状态,存在在验证部分中验证的数K的所选的目标数据状态,且目标数据状态在存储器单元当中均匀地分布。对于K个验证电压中的每一个,不浪费位线预充电的1/K且浪费位线预充电的(K-1)/K。在上述实例中,K=2。

图9B示出其中设置预充电数据两次的符合图7A和图7B的编程-验证迭代的验证部分中用于设置预充电数据的序列。以增加读取时间为代价,通过读取各组锁存器和在验证部分期间设置预充电数据多次可以减小功耗。在验证部分的一个或多个验证电压期间在感测电路中保存预充电数据。该方法减小浪费的位线预充电的数,因为它减小当在验证电压和单元的目标数据状态之间存在不匹配时的位线预充电的数。代替地,可以对于验证部分中的验证电压的不同子集不同地设置预充电数据。此外,无论所选的目标数据状态是否基于编程阶段而改变,该方法都可以工作。该方法特别适于涉及四个、八个或更多数据状态的编程。例如,对于七个目标数据状态A-G,如图6D中的,假定A-D在所选的目标数据状态的第一子集中且E-G在所选的目标数据状态的第二子集中。

步骤910涉及存储器单元的各组锁存器的第一读取。这涉及标识其目标数据状态在所选的目标数据状态的第一子集中的所选的存储器单元。步骤911涉及在感测电路中设置第一预充电数据,例如,以使能其目标数据状态在所选的目标数据状态的第一子集(状态A-D)中的所选的存储器单元的位线预充电,禁止其目标数据状态在所选的目标数据状态的第二子集(状态E-G)中的所选的存储器单元的位线预充电,且禁止未选择的存储器单元的位线预充电。步骤912涉及相对于所选的目标数据状态的第一子集的第一所选的目标数据状态(例如,A状态)感测所选的单元。随后的步骤涉及相对于所选的目标数据状态的第一子集的第二所选的目标数据状态(例如,B状态)感测所选的单元。后续步骤相应地进行,直到涉及相对于所选的目标数据状态的第一子集的最后所选的目标数据状态(例如,D状态)感测所选的单元的步骤913为止。

步骤914涉及存储器单元的各组锁存器的第二读取。这涉及标识其目标数据状态在所选的目标数据状态的第二子集中的所选的存储器单元。步骤915涉及设置在感测电路中的第二预充电数据,例如,以使能其目标数据状态在所选的目标数据状态的第二子集中的所选的存储器单元的位线预充电,禁止其目标数据状态在所选的目标数据状态的第一子集中的所选的存储器单元的位线预充电,且禁止未选择的存储器单元的位线预充电。步骤916涉及相对于所选的目标数据状态的第二子集的第一所选的目标数据状态(例如,E状态)感测所选的单元。随后的步骤涉及相对于所选的目标数据状态的第二子集的第二所选的目标数据状态(例如,F状态)感测所选的单元。步骤917涉及相对于所选的目标数据状态的第二子集的最后所选的目标数据状态(例如,G状态)感测所选的单元。

图9C示出与图9A对应的验证序列,其中编程阶段的知识用于减少不必要的位线预充电。时间在横轴上,且WLsel在纵轴上。当施加VvA时,感测结果对于A状态单元保留且对于B状态单元丢弃。当施加VvB时,感测结果对于B状态单元保留且对于A状态单元丢弃。丢弃的感测结果对应于浪费的位线预充电。A和B状态单元都在VvA和VvB期间预充电。

图9D是作为图9的替代的验证序列,其中编程阶段的知识不用于减少不必要的位线预充电。在该实例中,没有未选择的目标数据状态,以使得对于所有目标数据状态的单元发生位线预充电。在验证状态A-C时使用预充电数据。时间在横轴上,且WLsel在纵轴上。当施加VvA时,感测结果对于A状态单元保留且对于B和C状态单元丢弃。当施加VvB时,感测结果对于B状态单元保留且对于A和C状态单元丢弃。当施加VvC时,感测结果对于C状态单元保留且对于A和B状态单元丢弃。在VvA-VvC期间预充电A-C状态单元。但是,如果当前编程循环在编程操作中的早期(例如,图8中循环#1-6),在该情况下没有C状态单元已经达到C状态,则来自C状态单元的感测结果可能是不相关的。

在图9D的序列中,浪费的位线预充电的数与每个验证电压的丢弃状态的数(2)和验证电压的数(3),或者6成正比。相反地,在图9的序列中,浪费的位线预充电的数与每个验证电压的丢弃状态的数(1)和验证电压的数(2)或者2成正比。因此,与图9D相比在图9中存在浪费的位线预充电的数,和相应的功耗的显著减少。

图9E示出与图9B的第一和第二预充电数据对应的验证序列,其中在验证状态A-D时使用第一预充电数据并在验证状态E-G时使用第二预充电数据。时间在横轴上且WLsel在纵轴上。当施加VvA时,感测结果对于A状态单元保留且对于B-D状态单元丢弃。当施加VvB时,感测结果对于B状态单元保留且对于A、C和D状态单元丢弃。当施加VvC时,感测结果对于C状态单元保留且对于A、B和D状态单元丢弃。当施加VvD时,感测结果对于D状态单元保留且对于A-C状态单元丢弃。A-D状态单元在VvA-VvD期间全部预充电。因为在VvA-VvD期间不预充电E-G状态单元,所以实现实质的功率节省。

当施加VvE时,感测结果对于E状态单元保留且对于F和G状态单元丢弃。当施加VvF时,感测结果对于F状态单元保留且对于E和G状态单元丢弃。当施加VvG时,感测结果对于G状态单元保留且对于E和F状态单元丢弃。E-G状态单元在VvE-VvG期间全部预充电。因为在VvE-VvG期间不预充电A-D状态单元,所以实现了实质的功率节省。

图9F示出作为图9E的替代的验证序列,其中在验证状态A-G时使用相同预充电数据。时间在横轴上且WLsel在纵轴上。当施加VvA时,感测结果对于A状态单元保留且对于B-G状态单元丢弃。当施加VvB时,感测结果对于B状态单元保留且对于A和C-G状态单元丢弃。当施加VvC时,感测结果对于C状态单元保留且对于A、B和D-G状态单元丢弃。当施加VvD时,感测结果对于D状态单元保留且对于A-C和E-G状态单元丢弃。当施加VvE时,感测结果对于E状态单元保留且对于A-E、F和G状态单元丢弃。当施加VvF时,感测结果对于F状态单元保留且对于A-E和G状态单元丢弃。当施加VvG时,感测结果对于G状态单元保留且对于A-F状态单元丢弃。A-G状态单元在VvA-VvG期间全部预充电。

在图9F的序列中,浪费的位线预充电的数与每个验证电压的丢弃状态的数(6)和验证电压的数(7),或者42成正比。相反地,在图9E的序列中,浪费的位线预充电的数与使用第一预充电数据的每个验证电压的丢弃状态的数(3)和验证电压的数(4),加上使用第二预充电数据的每个验证电压的丢弃状态的数(2)和验证电压的数(3),或者3x4+2x3=18成正比。因此,与图9F相比在图9E中存在浪费的位线预充电的数,和相应的功耗的显著减少。验证部分期间预充电数据的更新提供该优点。

通常,可以基于所选的目标数据状态的第i子集中的所选的目标数据状态的数(Ni),和所选的目标数据状态的子集的数(S)(例如,在验证部分中确定预充电数据的次数)确定功耗,为在图9E中,S=2,N1=4(状态A-D)且N2=3(状态E-G),所以和是4×3+3×2=18。在另一实例中,S=3,N1=3(状态A-C),N2=2(状态D和E)且N3=2(状态E和F),因此和是3×2+2×1+2×1=10。在另一实例中,S=4,N1=2(状态A、B),N2=2(状态C、D),N3=2(状态E、F)且N4=1(状态G),因此,和是2×1+2×1+2×1+2×0=6。如可以看到的,随着在验证部分中确定预充电数据的次数增加,功耗减小。

图10A示出符合图7A和图7B的图2C的感测模块SM0的示例实现。感测模块包括预充电电路1005、感测节点1004、由BLC的控制栅极电压控制的晶体管1002、由BLS的控制栅极电压控制的晶体管1001、由信号TG控制的传输门1008、比较电路1006、到地的拉低1008和由BLL信号控制的位线锁存器(BLL)。晶体管1001连接到位线BL0和NAND串NS0。

图10B示出用于符合图10A的SM0和符合图9C的编程-验证迭代的验证部分的控制信号和电压波形。在该实例中,对于具有目标数据状态A和B的所选的存储器单元发生感测。在时间t1,未选择的字线上的电压WLunsel增加到设置相关联的存储器单元处于导电状态的电平Vread。此外,所选的字线上的电压WLsel设置为VvA以用于相对于A状态感测。从t1-t12,在字线电压稳定之后,BLC提升以使得晶体管1002导通,且BLS提升以使得晶体管1001导通。另外,取决于在预充电电路中先前已经提供的预充电数据,预充电使能信号提升以使得预充电电路充电位线。因此,某些预充电电路先前已经配置有预充电数据,该预充电数据指示当预充电使能信号为高时它们应该提供预充电。在先前已经配置有指示当预充电使能信号为高时它们不应该提供预充电的数据的其他预充电电路中不发生预充电。在一个实例中,不处于封锁状态的所有A和B状态单元在VvA期间它们的位线被预充电。

例如,具有允许或者阻止位线预充电的预充电数据的预充电电路的配置可以在编程验证迭代的编程部分期间,或者在编程验证迭代的验证部分的开始发生。该实例示出了预充电数据从处理器传送到预充电电路。该数据可以遍及编程-验证迭代的验证部分保存在预充电电路中,如在该实例中,或者遍及编程-验证迭代的验证部分数据可以被更新另外的一次或多次,如先前讨论的。

在预充电电路提供电流到位线时,晶体管1002钳位位线上的电压。电压设置在感测节点,作为正在感测的存储器单元的导电状态的函数。从t2-t3,信号ST提升以使得晶体管1003导通,以使得感测节点与电流比较电路1006通信。电流比较电路1006确定感测的电流水平是否高于基准水平。如果感测的电流高于基准水平,则存储器单元处于导电状态且没有完成编程。在该情况下,电流比较电路不指示位线锁存器1007进入封锁状态。如果感测的电流低于基准水平,则存储器单元处于不导电状态且已经完成编程。在该情况下,电流比较电路指示位线锁存器1007对于剩余的编程操作进入封锁状态。在封锁状态中,激活拉低电路1008以将感测节点接地。在t4和t5之间,TG提升以允许经由总线172由处理器192读出感测节点的电平。如果感测节点接地,则处理器知道存储器单元处于封锁状态。如果感测节点不接地,则处理器知道存储器单元不处于封锁状态。

在t5,再次提升预充电使能信号。在一个实例中,不处于封锁状态的所有A和B状态单元在VvB期间它们的位线被预充电。也在t6,通过施加VvB到WLsel开始相对于B状态的感测。从t6-t7,ST提升且电流比较电路1006确定感测的电流水平是否高于基准水平。如果感测的电流水平低于基准水平,则位线锁存器1007进入封锁状态且激活拉低电路1008以将感测节点接地。在t6和t7之间,TG提升以允许经由总线172由处理器192读出感测节点的电平。

图10C示出用于符合图10A的SM0和符合图9E的编程-验证迭代的验证部分的控制信号和电压波形。在该实例中,预充电数据基于在t1的各组锁存器的读取在t0-t1之间第一次设置,且基于在t9的各组锁存器的读取在t9-t10之间第二次设置。相对于A、B、C或者D状态的位线的预充电分别从t2-t3、t4-t5、t6-t7和t8-t9发生。相对于E、F或者G状态的位线的预充电分别从t11-t12、t13-t14和t15-t16发生。

因此,可以看出,在一个实施例中,用于操作存储器装置的方法包括:在编程操作的多个编程-验证迭代的一个编程-验证迭代中施加编程电压到连接到一组存储器单元的字线,同时允许该组存储器单元中所选的存储器单元的编程和禁止该组存储器单元中未选择的存储器单元的编程;基于多个编程-验证迭代中的一个编程-验证迭代的位置,确定NS个所选的目标数据状态、和NU个未选择的目标数据状态,NS是>=2的数,NU是>=1的数;在所选的存储器单元当中标识具有NS个所选的目标数据状态的存储器单元和具有NU个未选择的目标数据状态的存储器单元;以及执行一个编程-验证迭代的验证部分,所述执行所述验证部分包括施加数目NS个验证电压到该组存储器单元同时感测具有NS个所选的目标数据状态的存储器单元、而不感测具有NU个未选择的目标数据状态的存储器单元,感测具有NS个所选的目标数据状态的存储器单元包括预充电与具有NS个所选的目标数据状态的存储器单元相关联的位线,且不感测具有NU个未选择的目标数据状态的存储器单元包括不预充电与具有NU个未选择的目标数据状态的存储器单元相关联的位线。

在另一实施例中,一种存储器装置包括:连接到一组存储器单元的字线;包括该组存储器单元的每个存储器单元一个位线的多个位线;与多个位线相关联的感测电路;以及控制电路。该控制电路在编程操作存储器单元多个编程-验证迭代的一个编程-验证迭代中,施加编程电压到字线、同时允许该组存储器单元中所选的存储器单元的编程并禁止该组存储器单元中未选择的存储器单元的编程;基于多个编程-验证迭代中的一个编程-验证迭代的位置,确定NS个所选的目标数据状态、和NU个未选择的目标数据状态,NS是>=2的数,NU是>=1的数;在所选的存储器单元当中标识具有NS个所选的目标数据状态的存储器单元和具有NU个未选择的目标数据状态的存储器单元;以及执行一个编程-验证迭代的验证部分,施加数目NS个验证电压到该组存储器单元同时感测具有NS个所选的目标数据状态的存储器单元、而不感测具有NU个未选择的目标数据状态的存储器单元,感测具有NS个所选的目标数据状态的存储器单元包括预充电与具有NS个所选的目标数据状态的存储器单元相关联的位线,且不感测具有NU个未选择的目标数据状态的存储器单元包括不预充电与具有NU个未选择的目标数据状态的存储器单元相关联的位线。

在另一实施例中,用于在存储器装置中感测的方法包括:对于一组存储器单元的编程操作的多个编程-验证迭代的一个编程-验证迭代,确定一个或多个所选的目标数据状态和一个或多个未选择的目标数据状态;对于多个编程-验证迭代的另一编程-验证迭代,确定一个或多个所选的目标数据状态和一个或多个未选择的目标数据状态,该一个编程-验证迭代中的一个或多个所选的目标数据状态至少部分地不同于该另一编程-验证迭代中的一个或多个所选的目标数据状态,且该一个编程-验证迭代中的一个或多个未选择的目标数据状态至少部分地不同于该另一编程-验证迭代中的一个或多个未选择的目标数据状态;在一个编程-验证迭代期间,在该组存储器单元当中标识要编程到该一个编程-验证迭代中的一个或多个所选的目标数据状态的存储器单元和要编程到该一个编程-验证迭代中的一个或多个未选择的目标数据状态的存储器单元,和感测(包括预充电)与要编程到该一个编程-验证迭代中的一个或多个所选的目标数据状态的存储器单元相关联的位线同时阻止与要编程到该一个编程-验证迭代中的一个或多个未选择的目标数据状态的存储器单元相关联的位线的感测(包括预充电);在在另一编程-验证迭代期间,在该组存储器单元当中标识要编程到该另一编程-验证迭代中的一个或多个所选的目标数据状态的存储器单元和要编程到该另一编程-验证迭代中的一个或多个未选择的目标数据状态的存储器单元,和感测(包括预充电)与要编程到该另一编程-验证迭代中的一个或多个所选的目标数据状态的存储器单元相关联的位线同时阻止与要编程到该另一编程-验证迭代中的一个或多个未选择的目标数据状态的存储器单元相关联的位线的感测(包括预充电)。

已经呈现前述具体实施方式以用于说明和描述的目的。其不意在为排他的或者限制本发明到所公开的确切形式。根据上述教导,多个修改和变更是可能的。选择描述的实施例以最好地解释本发明的原理和其实际应用,以由此使本领域技术人员能够最好地利用各种实施例中和具有各种修改的本发明,以适合于考虑的特定使用。本发明的范围意在由附于此的权利要求限定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1