编程并选择性地擦除非易失性存储器的制作方法

文档序号:6768247阅读:185来源:国知局
专利名称:编程并选择性地擦除非易失性存储器的制作方法
技术领域
本发明涉及非易失性存储器的技术。
背景技术
半导体存储器已经变得越来越流行用于各种电子设备。例如,在蜂窝电话、数码相 机、个人数字助理、移动计算设备、非移动计算设备和其他设备中使用非易失性半导体存储 器。电可擦除可编程只读存储器(EEPROM)和闪存位列最流行的非易失性半导体存储器之 间。EEPROM和闪存两者都使用在半导体衬底中的沟道区上方且与其隔离的浮置栅极。 浮置栅极位于源极和漏极区之间。在浮置栅极上且与其绝缘地提供控制栅极。晶体管的阈 值电压受浮置栅极(或其他电荷存储区)上保留的电荷量控制。也就是说,在导通晶体管 以允许其源极和漏极之间的导电之前必须被施加到控制栅极的最小量的电压受浮置栅极 (或其他电荷存储区)上的电荷的水平控制。当编程EEPROM或诸如NAND闪存器件的闪存器件时,通常向控制栅极施加编程 电压,并将位线接地。来自该沟道的电子被注入浮置栅极。当电子在浮置栅极中累积时, 浮置栅极变为充负电,且存储器单元的阈值电压升高以便存储器单元处于已编程状态 中。关于编程的更多信息可以在美国专利6,859,397、题为“Source Side Self Boosting Technique For Non-Volatile Memory” 和美国专利 6,917,545、题为 “Detecting Over Programmed Memory"中找到,两者整体被引用附于此。一些EEPROM和闪存器件具有用于擦除两个范围的电荷的浮置栅极(或其他电荷 存储区),且因此,可以在两个状态(已擦除状态和已编程状态)之间编程/擦除该存储器 单元。这种闪存器件有时称为二进制存储器器件。通过识别由禁止的范围分离的多个不同的被允许/有效的已编程阈值电压范围 来实现多状态存储器器件。每个不同的阈值范围对应于与在存储器器件中编码的该组数据 位的预定值相关的数据状态。在浮置栅极上存储的明显电荷中的偏移可能由于基于相邻浮置栅极中存储的电 荷(或电荷存储区的其他电荷类型)的电场的耦合而发生,该浮置栅极与浮置栅极耦合现 象在美国专利5,867,429中描述,其整体通过引用附于此。浮置栅极与浮置栅极耦合的影响对多状态器件考虑更大,因为在多状态器件中, 被允许的阈值电压范围和禁止范围比在二进制器件中更窄。因此,浮置栅极与浮置栅极耦 合可能导致存储器单元从被允许的阈值电压范围偏移到禁止范围或到错误的被允许阈值 电压范围。浮置栅极与浮置栅极耦合可能发生在已经在不同时间被编程了的相邻存储器单 元的组之间。例如,第一存储器单元被编程以向对应于一组数据的其浮置栅极添加一定水 平的电荷。随后,一个或多个相邻存储器单元被编程以向对应于第二组数据的其浮置栅极 添加一定水平的电荷。在一个或多个相邻存储器单元被编程之后,由于正被耦合到第一存 储器单元的相邻存储器单元上的电荷的影响,从第一存储器单元读取的电荷水平显得不同于已编程的。与相邻的存储器单元的耦合可能将正被读取的明显电荷水平偏移足够以导致 被存储的数据的错误读取的量。浮置栅极与浮置栅极耦合还可能发生在已经在同时被编程了的相邻存储器单元 的组之间。例如,两个相邻的多状态存储器单元可以被编程到不同的目标电平,以便第一存 储器单元被编程到对应于较低阈值电压的状态,且第二存储器单元被编程到对应于较高阈 值电压的状态。正被编程到对应于较低阈值电压的状态的存储器单元很可能到达该状态, 且在第二存储器单元到达对应于较高阈值电压的状态之前被锁定以不能进一步编程。在第 二存储器单元到达对应于较高阈值电压的状态之后,其将耦合于第一存储器单元,且使得 第一存储器单元具有比被已编程的更高的明显阈值电压。随着存储器单元继续在尺寸上缩小,期望阈值电压的自然编程和擦除分布由于短 沟道效应、更大的氧化物厚度/耦合率变化和更多的沟道杂质波动而增加,由此减少在相 邻数据状态/被允许的阈值电压范围之间的可用隔离。该效应对多状态存储器比对使用仅 两个状态的存储器(二进制存储器)明显得多。另外,在字线之间的空间的减小和在位线 之间的空间的减小还将增加在相邻浮置栅极之间的耦合。随着耦合增加且阈值电压分布增 加,其将变得更难以实时多状态存储器。

发明内容
在正被编程了数据的大量存储器单元中,维持已擦除的存储器单元可能潜在地经 历比正被编程的存储器单元更多的耦合。因此,提供可以选择性地擦除或调整一些存储器 单元而不擦除或调整所有存储器单元的系统。以此方式,本应该维持已擦除但由于耦合而 显得已经改变了的存储器单元可以被重新擦除或调整。一个实施例包括擦除非易失性存储元件,并对所述非易失性存储元件进行编程, 并选择性地对非易失性存储元件中的本应该保持已擦除的至少一个子集进行重新擦除,而 不有意擦除已编程的数据。一个实施例包括存储一组非易失性存储元件并接收要由该组非易失性存储元件 存储的数据。所接收的数据指示一些非易失性存储元件要被编程,且一些非易失性存储元 件要维持已擦除。该处理还包括将数据编程到该组非易失性存储元件中,且选择性地对非 易失性存储元件中本应该维持已擦除的至少一个子集进行重新擦除,而不有意擦除存储适 当编程的数据的非易失性存储元件。一个实施例包括擦除连接到第一控制线的一组非易失性存储元件和连接到第二 控制线的一组非易失性存储元件,对连接到第一控制线的非易失性存储元件进行第一多遍 编程处理中的第一遍,对连接到第二控制线的非易失性存储元件进行第二多遍编程处理中 的第一遍,(在对所述第二多遍编程处理进行所述第一遍之后),选择性地对连接到所述第 一控制线的所述非易失性存储元件中的本应该维持已擦除的至少一个子集进行重新擦除, 选择性地对连接到所述第二控制线的所述非易失性存储元件中的本应该维持已擦除的至 少一个子集进行重新擦除,(在选择性地对连接到所述第一控制线的所述非易失性存储元 件的至少一个子集进行重新擦除之后),对连接到所述第一控制线的所述非易失性存储元 件进行所述第一多遍编程处理的第二遍,以及对连接到第二控制线的非易失性存储元件进 行第二多遍编程处理中的第二遍。
一个示例实施方式包括多个非易失性存储元件和与所述多个非易失性存储元件 通信的一个或多个管理电路。所述一个或多个管理电路擦除非易失性存储元件,并对所述 非易失性存储元件进行编程,并选择性地对非易失性存储元件中的本应该保持已擦除的至 少一个子集进行重新擦除,而不有意擦除已编程的数据。一个示例实施方式包括多个非易失性存储元件,用于擦除所述非易失性存储元件 的装置,以及用于对所述非易失性存储元件进行编程,并选择性地对非易失性存储元件中 的本应该保持已擦除的至少一个子集进行重新擦除,而不有意擦除已编程的数据。


图1是NAND串的顶视图。图2是NAND串的等效电路图。图3是非易失性存储器系统的方框图。图4是描述存储器阵列的一个实施例的方框图。图5是描述感测块的一个实施例的方框图。图6A-C描述了阈值电压分布。图7是描述用于处理非易失性存储器的处理的一个实施例的流程图。图8是描述用于编程非易失性存储器的处理的一个实施例的流程图。图9是描述用于进行选择性擦除处理的处理的一个实施例的流程图。图10是用于选择性的擦除操作的时序图。图11描述在选择性的擦除操作期间的NAND串。图12A和12B描述在选择性擦除操作期间的NAND串的剖面部分。图13是描述用于进行选择性擦除处理的处理的一个实施例的流程图。图14是用于选择性的擦除操作的时序图。
图15描述在选择性的擦除操作期间的NAND串。图16A和16B描述在选择性擦除操作期间的NAND串的剖面部分。图17是描述用于使用多个擦除脉冲来选择性地擦除非易失性存储器、而不介入 验证操作的处理的一个实施例的流程图。图18是用于使用多个擦除脉冲来选择性地擦除非易失性存储器而不介入验证操 作的时序图。图19是描述用于两遍编程处理的一个实施例的流程图。图20描述阈值电压分布。图21是描述用于编程非易失性存储器并选择性地擦除非易失性存储器的处理的 一个实施例的流程图。图22是描述用于编程和选择性地擦除非易失性存储器的顺序的表。图23描述阈值电压分布。图M描述阈值电压分布。图25描述阈值电压分布。图26A是描述用于进行包括通过使用选择性擦除的处理来对过编程(over programming)的校正的编程的处理的一个实施例的流程图。图26B是描述用于进行包括通过使用选择性擦除的处理来对过编程(overprogramming)的校正的编程的处理的一个实施例的流程图。图27是描述用于通过使用选择性擦除的处理来进行对过编程的校正的处理的一 个实施例的流程图。图28是描述用于在编程处理期间进行对过编程的校正的处理的一个实施例的流 程图。
具体实施例方式闪存系统的一个例子使用NAND结构,其包括在两个选择门之间串联并夹着布置 多个晶体管。串联的晶体管和选择门被称为NAND串。图1是示出一个NAND串的顶视图。 图2是其等效电路。在图1和2中描述的NAND串包括串联且夹在第一(或漏极侧)选择 门(select gate) 120和第二 (或源极侧)选择门122之间的四个晶体管、100,102,104和 106。选择门120经由位线触片(bit line contact) 126将NAND串连接到位线。选择门122 将NAND串连接到源极线128。通过向选择线S⑶施加适当的电压来控制选择门120。通过 向选择线SGS施加适当的电压来控制选择门122。晶体管100,102,104和106的每个具有 控制栅极和浮置栅极。晶体管100具有控制栅极100CG和浮置栅极loore。晶体管102具 有控制栅极102CG和浮置栅极102TO。晶体管104具有控制栅极104CG和浮置栅极104TO。 晶体管106具有控制栅极106CG和浮置栅极106TO。控制栅极IOOCG连接到字线WL3,控制 栅极102CG连接到字线WL2,控制栅极104CG连接到字线WL1,且控制栅极106CG连接到字 线虬0。注意,虽然图1和2示出了在NAND串中的四个存储器单元,仅提供四个存储器单 元的使用作为例子。NAND串可以具有少于四个存储器单元或多于四个存储器单元。例如, 一些NAND串将包括八个存储器单元、16个存储器单元、32个存储器单元、64个存储器单元、 1 个存储器单元等。在此的讨论不局限于在NAND串中的任何具体数量的存储器单元。使用NAND结构的闪存系统的典型架构将包括若干NAND串。每个NAND串通过由 选择线SGS控制的其源极选择门而连接到源极线,并通过由选择线S⑶控制的其漏极选择 门而连接到其相关位线。每个位线和经由位线触片连接到该位线的相应的(一个或多个) NAND串包括存储器单元的阵列的列。位线与多个NAND串共享。典型地,位线在垂直于字线 的方向上在NAND串的顶部延伸,并连接到一个或多个感测放大器。在以下美国专利/专利申请中提供NAND型闪存和其操作的相关例子,所有被通过 引用附于此美国专利No. 5,570,315 ;美国专利No. 5,774,397 ;美国专利No. 6,046,935 ; 美国专利No. 6,456,528 ;和美国专利申请No. US2003/0002348。还可以使用除了 NAND闪存以外的其他类型的非易失性存储器件。例如,还从使 用用于存储电荷的介电层的存储器单元制造非易失性存储器器件。取代先前描述的导电 浮置栅极源极,使用介电层。使用介电存储元件的这种存储器器件已经由以下描述=Eitan ^AWnrom =A Novel Localized Trapping, 2-Bit Nonvolatile Memory Cell”, IEEE Electron Device Letters,vol. 21,no· 11,2000$ 11 月,pp. 543_545。“A Novel Localized Trapping,2-Bit NonvolatileMemory CellIEEE Electron Device Letters, vol. 21, no. 11,2000年11月,pp. 543-545 0 543-545. 0N0介电层跨越源极和漏极扩散之间的沟道而 延伸。一个数据位的电荷被定位于与漏极相邻的介电层,且另一数据位的电荷被定位于与源极相邻的介电层。例如,美国专利5,768,192和6,011, 725公开了具有在两个二氧化硅 层之间夹着的捕获电介质(trapping dielectric)的非易失性存储器单元。通过分开地读 取介电层内的空间上分开的电荷储存区的二进制状态来实现多状态数据存储。还可以使用 其他类型的非易失性存储器。图3图示了具有用于并行读取和编程一页(或其他单位的)存储器单元(例如, NAND多状态闪存)的读/写电路的存储器器件210。存储器器件210可以包括一个或多 个存储器晶片(die)或芯片212。存储器晶片212包括存储器单元的(二维或三维)阵列 200、控制电路220和读/写电路230A和230B。在一个实施例中,以对称的方式在该阵列的 相对侧上实现由各种外围电路对存储器阵列200的存取,以便在每个侧上的存取线和电路 的密度减少了一半。读/写电路230A和230B包括多个感测块300,其允许并行读取或编程 一页存储器单元。该存储器阵列200可由字线经由行解码器MOA和MOB且由位线经由列 解码器来寻址。字线和位线是控制线的例子。在一个典型的实施例中,,控制 器244被包括在与一个或多个存储器晶片212相同的存储器器件210 (例如,可移除存储卡 或包)中。经由线232在主机和控制器244之间且经由线234在控制器和一个或多个存储 器晶片212之间转移命令和数据。控制电路220与读/写电路230A和230B合作以对存储器阵列200进行存储器操 作。控制电路220包括状态机222、芯片上地址解码器2M和功率控制模块226。状态机 222提供存储器操作的芯片级控制。芯片上地址解码器2M提供由主机或存储器控制器使 用的与由解码器M0A,240B,242A,和M2B使用的硬件地址之间的地址接口。功率控制电 路2 控制在存储器操作期间供应给字线和位线的功率和电压。在一个实施例中,功率控 制模块2 包括可以创建大于供应电压的电压的一个或多个电荷泵。在一个实施例中,控 制电路220、功率控制电路226、解码器电路224、状态机电路222、解码器电路M2A、解码器 电路M2B、解码器电路Μ0Α、解码器电路240B、读/写电路230A、读/写电路230B和/或 控制器2M可以被称为一个或多个管理或控制电路。一个或多个管理或控制电路进行在此 描述的处理。图4描述了存储器单元阵列200的示例结构。在一个实施例中,存储器单元的阵 列被划分为存储器单元的大量块(例如,块0-1023或另一量)。在一个实施例中,该块是传 统擦除的单位。还可以使用其他单位的擦除。块包括经由位线(例如,位线BL0-BLX)和公共的一组字线(WL0JLUL2JL3)存 取的一组NAND串。图4示出了串联连接以形成NAND串的四个存储器单元。虽然示出了四 个存储元件以被包括在每个NAND串中,但是可以使用比四个更多或更少(例如,16、32、64、 1 或另一数量,或存储器单元可以在NAND串上)。NAND串的一端经由(连接到选择门逻 辑线SGD的)漏极选择门被连接到对应的位线,且另一端经由(连接到选择门源极线SGS 的)源极选择门连接到源极线。在一个实施例中,每个NAND串包括两个哑存储器单元,一 个在NAND串的每端。哑存储器单元不被用于存储数据。每个块通常被划分为大量页。在一个实施例中,一页是编程的单位。还可以使用 其他单位的编程。一页或多页数据通常被存储在一行存储器元件中。例如,一页或多页数 据可以被存储在与公共字线的存储器单元中。一页可以存储一个或多个扇区。扇区包括用 户数据和开销数据(overhead data)(也称为系统数据)。开销数据通常包括头部信息和已经从扇区的用户数据中计算的纠错码(ECC)。控制器(或状态机或其他组件)当数据正被 编程到阵列中时计算ECC,还当正从该阵列中读取数据时检查它。或者,ECC和/或其他开 销数据被存储在与它们所属的用户数据不同的页或甚至不同的块中。用户数据的扇区通常 是512字节,对应于在磁盘中的扇区的尺寸。大量页形成块,无论从例如8页直到32,64, 128或更多页。还可以使用其他尺寸的块、页和扇区。在一些实施例中,存储器单元包括三阱,包括P衬底、P衬底内的η阱和η阱内的P 阱。沟道区、源极区和漏极区典型地位于P阱中。P阱和η阱被认为是衬底的部分。在一个 实施例中,存储器单元的整个阵列在一个P阱内,且在P阱中的沟渠(trench)提供在NAND 串之间的电隔离。在一个实施方式中,在共享相同组的位线的相同P阱中的所有块被称为 一个平面(plane)。在其他实施例中,不同的块可以处于不同的ρ阱。另外,该器件可以具有相反的极性,以便三阱包括η衬底、η衬底内的ρ阱、和ρ阱 内的η阱。在该配置中,沟道区、源极区和漏极区典型地位于η阱中。图5是分离的感测块300的方框图,该分离的感测块300被分区为核心部分、称为 感测模块480,和公共部分490。在一个实施例中,将存在对于每个位线的分离的感测模块 480和对于多个感测模块490的一组的一个公共部分480。在一个例子中,感测块将包括一 个公共部分490和八个感测模块480。在一个分组中的感测模块的每个将经由数据总线472 与相关公共部分通信。一个例子可以在美国专利申请公开2006/0140007中发现,其整体被 引用附于此。感测模块480包括确定在连接的位线中的导电电流高于还是低于预定电平的感 测电路470。在一些实施例中,感测模块480包括统称为感测放大器的电路。感测模块480 还包括用于设置在连接的位线上的电压状况的位线锁存器482。例如,在位线锁存器482中 锁存的预定状态将导致连接的位线被拉到指示编程禁止的状态(例如Vdd)。公共部分490包括处理器492、一组数据锁存器494和在该组数据锁存器494和数 据总线420之间耦合的I/O接口 496。处理器492进行计算。例如,其功能之一是确定在 感测的存储器单元中存储的数据并在该组数据锁存器中存储确定的数据。该组数据锁存器 494被用于存储在读取操作期间由处理器492确定的数据位。其还用于存储在编程操作期 间从数据总线420输入的数据位。输入的数据位表示意欲被编程到存储器中的写数据。I/ 0接口 496提供在数据锁存器494和数据总线420之间的接口。在读取或感测期间,该系统的操作在状态机222的控制下,该状态机222 (使用功 率控制226)控制不同的控制栅极电压向被寻址的(一个或多个)存储器单元的供应。随 着其步经对应于由存储器支持的各种存储器状态的预定的控制栅极电压,感测模块480可 以停留在这些电压之一,且将经由总线472从感测模块480向处理器492提供输出。在该 点上,处理器492通过考虑感测模块的停留事件(tripping event)和关于经由输入线493 从状态机的施加的控制栅极电压的信息来确定得到的存储器状态。然后,其计算对于存储 器状态的二进制编码,并将得到的数据位存储到数据锁存器494。在核心部分的另一实施例 中,位线锁存器482用于双重任务,作为用于锁存感测模块480的输出的锁存器,还作为如 上述的位线锁存器。预期,一些实施方式将包括多个处理器492。在一个实施例中,每个处理器492将 包括使得每个输出线(未在图5中示出)被一起配线为逻辑或(wired-OR' d)的输出线(未示出)。在一些实施例中,输出线在被连接到配线为逻辑或的线之前被反转(invert)。 该配置使得能够在编程确认处理期间快速确定何时完成了编程处理,因为接收配线为或的 线的状态机可以确定正被编程的所有位何时到达了期望的电平。例如,当每个位到达了其 期望的电平时,该位的逻辑零将被发送到配线为或的线(或数据一被反转)。当所有位输出 数据0(或数据一被反转)时,然后状态机知道确定编程处理。在其中每个处理器与八个感 测模块通信的实施例中,状态机可能(在一些实施例中)需要读取配线为或的线八次,或逻 辑被添加到处理器492以累积相关位线的结果以便状态机仅需要读取配线为或的线一次。数据锁存堆栈494包含对应于感测模块的数据锁存器的堆栈。在一个实施例中, 存在每个感测模块480的三个(或四个或另一数量的)数据锁存器。在一个实施例中,锁 存器每个一位。在编程或验证期间,要被编程的数据从数据总线420被存储在该组数据锁存器 494中。在验证处理期间,处理器492针对期望的存储器状态来监视验证的存储器状态。当 两者一致时,处理器492设置位线锁存器482以便使得位线被拉到指定编程禁止的状态。这 禁止与位线耦合的存储器单元被进一步编程,即使其经历在其控制栅极上的编程脉冲。在 其他实施例中,处理器初始地加载位线锁存器482,且感测电路在确认处理期间设置其到禁 止值。在一些实施方式(但是不必要)中,数据锁存器被实施为移位寄存器以便在其中 存储的并行数据被转换为用于数据总线420的串行数据,且反之亦然。在一个优选实施例 中,对应于m个存储器单元的读/写块的所有数据锁存器可以被链接到一起以形成块移位 寄出去,以便数据的块可以被串行转移输入或输出。具体地,读/写模块的库(bank)被适 配以便其数据锁存器组的每个将顺序地偏移数据到数据总线中或数据总线以外,就好像它 们是移位寄存器的部分,用于整个读/写块。关于感测操作和感测放大器的更多信息可以在以下中找到(1)美国 专利申请公开 No. 2004/0057287, “ Non-Volatile Memory And Method With ReducedSource Line Bias Errors, “ 2004 年 3 月 25 日公布;(2)美国专利申请公开 No. 2004/0109357,“ Non-Volatile Memory And Method with Improved Sensing," 2004 年6月10日公布;(3)美国专利申请公开No. 20050169082 ; (4)美国专利申请公开 No.2006/0221692,题为"Compensating for Coupling During ReadOperations of Non-Volatile Memory,“发明人Jian Chen,2005年4月5日提交;以及(5)美国专 利申请公开 No. 2006/0158947,题为〃 Reference Sense Amplifier For Non-Volatile Memory",发明人 Siu Lung Chan 禾口 Raul-Adrian Cernea,2005 年 12 月 28 日提交。所有 五个就在上述列出的专利文档在此通过整体被引用附于此。在成功编程处理的末尾,存储器单元的阈值电压应该在已编程存储器单元的阈值 电压的一个或多个分布中,或在已擦除存储器单元的阈值电压的分布中,如适当地。图6A 图示了当每个存储器单元存储两位数据时存储器单元阵列的示例阈值电压分布(每个对 应于数据状态)。但是,其他实施例可以使用每个存储器单元比两位数据更多或更少。例 如,还可以使用每个存储器单元的三位数据、每个存储器单元的四位数据或其他量。图6A 示出了已擦除存储器单元的第一阈值电压分布/数据状态S0。还描述了已编程存储器单元 的三个阈值电压分布/数据状态Si,S2和S3。在一个实施例中,在SO中的阈值电压是负的,且在Si,S2和S3中的阈值电压是正的。在一些实施例中,多个阈值电压分布对应于负 的阈值电压。图6A的每个不同的阈值电压分布对应于具有该组数据位的预定值的数据状态。 在被编程到存储器单元中的数据和该存储器单元的阈值电压电平之间的具体关系取决于 适用于这些单元的数据编码机制。例如,两个被整体引用附于此的美国专利6,222,762和 2003年6月13日提交的美国专利申请公开No. 2004/0255090,“ Tracking Cells For A Memory System"描述了用于多状态闪存单元的各种数据编码机制。在一个实施例中,使用 格雷码分配来将数据值分配给阈值电压范围/数据状态,以便如果浮置栅极的阈值电压错 误地偏移到相邻的物理状态,仅将影响一个位。一个例子向阈值电压分布/数据状态SO分 配"11",向阈值电压分布/数据状态Sl分配"10",向阈值电压分布/数据状态S2分 配"00",且向阈值电压分布/数据状态S3分配"01"。在该例子中,如果擦除存储器单 元且要编程的数据是11,则存储器单元不需要改变其阈值电压,因为其已经在与11相关联 的SO中。如果擦除存储器单元且要被编程的数据是00,则存储器单元的阈值电压需要移动 到S2。图6A还示出三个读取参考电压,Vrl,Vr2和Vr3用于从存储器单元读取数据。通 过测试给定的存储器单元的阈值电压高于Vrl,Vr2和Vr3还是低于Vrl,Vr2和Vr3,该系 统可以确定存储器单元处于什么阈值电压分布/数据状态。图6A还示出三个验证参考电压Vvl,Vv2和Vv3。当将存储器单元编程到数据状态 Sl时,该系统将测试那些存储器单元是否具有大于或等于Vvl的阈值电压。当将存储器单 元编程到数据状态S2时,该系统将测试存储器单元是否具有大于或等于Vv2的阈值电压。 当将存储器单元编程到数据状态S3时,该系统将测试存储器单元是否具有大于或等于Vv3 的阈值电压。在已知为全序列编程的一个实施例中,可以将存储器单元从已擦除阈值电压分布 /数据状态SO直接编程到已编程阈值电压分布/数据状态Si、S2或S3中的任一。例如, 要被编程的全体存储器单元可以首先被擦除,以便在该全体中的所有存储器单元处于已擦 除阈值电压分布/数据状态SO中。虽然一些存储器单元正从阈值电压分布/数据状态SO 编程到阈值电压分布/数据状态Si,但是其他存储器单元正从阈值电压分布/数据状态SO 编程到阈值电压分布/数据状态S2以及/或者从阈值电压分布/数据状态SO编程到阈值 电压分布/数据状态S3。由图6A的三个曲线箭头图形化地描述全序列编程。存储器单元可能遭受与相同字线、相同位线或相邻字线和相邻位线上的相邻存储 器单元的电容性耦合。电容性耦合用于升高存储器单元的明显阈值电压,因为相邻存储器 单元已经被编程了 ;但是,浮置栅极可能不被增加或减少了一定量的电荷。在许多存储器单 元的明显阈值电压中的增加导致阈值电压分布扩宽,如图6B所示。在严重的电容性耦合的 一些情况下,已擦除状态的阈值电压可以被扩宽到其与第一已编程状态重叠的点。例如,图 6B示出与阈值电压分布/数据状态Sl重叠的阈值电压分布/数据状态S0,因为阈值电压 分布/数据状态SO已经由于与相邻的存储器单元的电容性耦合而被扩宽。在一些情况下, 由其阈值电压重叠的存储器单元构成的一页或扇区可能不被正确地读回,因为该系统将不 能确定这些单元是处于状态0还是状态1。在此提出的技术选择性地进行擦除操作以重新擦除应该处于已擦除状态0的那些存储器单元,但由于电容性耦合(或其他原因),具有显得在已擦除数据状态SO的阈值电 压分布之外的阈值电压。进行选择性的擦除,而不有意擦除在本应该已编程的任一存储器 单元中的已编程数据。因此,在一个实施例中,图6B的阈值电压分布/数据状态SO将被缩 紧以变得像图6C的阈值电压分布/数据状态S0,其中,在阈值电压分布/数据状态SO中 的所有存储器单元具有低于擦除验证电平Ev的阈值电压。在一个实施例中,Ev = 0伏特。 在状态Si、S2和S3中的存储器单元将不在选择性擦除期间经历擦除操作。图7是描述用于操作非易失性存储器的处理的流程图。在步骤M8中,接收要编 程的请求和要编程的数据。存储该数据。该数据可以被存储在控制器、状态机、缓冲器或其 他地方。在图7的处理的一个实施方式中,存储器单元被预编程以便维持对存储器单元的 平均损耗(步骤550)。在一个实施例中,存储器单元被预编程到状态S3 (最高状态)、随机 图案或任何其他图案。在一些实施方式中,不需要进行预编程。在步骤552中,存储元件在编程之前(以块或其他单位)被擦除。在一个实施例 中,通过将P阱升高到擦除电压(例如20伏特)达足够的时间段,并将所选块的字线接地 同时将源极和位线浮置,来擦除存储器单元。在不被选择以被擦除的块中,将字线浮置。由 于电容性耦合,未选字线、位线、选择线和公共源极线还被升高到擦除电压的大分数,由此 阻碍对未被选择以被擦除的块的擦除。在被选择以被擦除的块中,从而将强电场施加到所 选存储器单元的隧道氧化物层,且随着浮置栅极的电子通过i^owler-Nordheim遂穿机制被 发射到衬底侧,所选存储器单元被擦除。随着电子从浮置栅极转移到P阱区,所选单元的阈 值电压被降低。可以对整个存储器阵列、单元的分离的块或另一单位进行擦除。在一个实 施例中,在擦除存储器单元之后,所有已擦除的存储器单元将处于数据状态SO(见图6A)。 擦除处理的一个实施方式包括向P阱施加几个擦除脉冲,且在擦除脉冲之间验证存储器单 元是否具有低于Vev的阈值电压。在步骤554,(可选地)进行软编程以缩窄已擦除存储器单元的已擦除阈值电压的 分布。一些存储器单元由于擦除处理可以处于比所需的更深的已擦除状态。软编程可以向 控制栅极施加编程脉冲以便将更深的已擦除存储器单元的阈值电压移动到更接近于擦除 验证电平Εν。例如,看图6Α,步骤5 可以包括缩紧与状态SO相关的阈值电压分布。在步 骤556中,该块的存储器单元被编程。可以受使用上述各种电路的状态机之命进行图7的 处理。在其他实施例中,可以受使用上述各种电路的控制器之命进行图7的处理。在步骤 558中,存储器系统(受控制器和/或状态机之命)选择性地对应该处于已擦除状态但具有 显得在已擦除数据状态的阈值电压分布之外的阈值电压的那些存储器单元进行擦除操作 (例如重新擦除)。进行选择性的擦除,而不有意擦除在本应该已编程的任一存储器单元中 的已编程数据。在存储器单元已经被编程且(可能地)选择性地被重新擦除之后,可以读 取存储器单元(步骤560),且可以向与控制器通信的控制器和/或主机报告所读取的数据。图8是描述对连接到公共字线的存储器单元进行编程的处理的一个实施例的流 程图。可以在图7的步骤556期间进行图8的处理一次或多次。例如,可以使用图8的处 理来进行图6A的全序列编程,在该情况下,将对每个字线进行图8的处理一次。在一个实 施例中,以从最接近于源极线的字线开始并朝向该位线工作的次序来进行编程处理。还可 以使用图8的处理来对字线进行一页(或部分页或其他单位的)数据的编程,或多遍编程 处理中的一遍。还可以使用其他布置。受状态机222之命进行图8的处理。可以用许多不同编程机制来使用用于擦除的在此描述的技术。通常,在编程操作期间施加到控制栅极的编程电压(Vpgm)被施加为一系列编程 脉冲。在编程脉冲之间的是使能验证的一组验证脉冲。在许多实施方式中,随每个连续脉 冲将编程脉冲的量值增加预定步长。在图8的步骤608中,编程电压Vpgm被初始化到起始 的量值(例如,-12-16V或另一适当的电平),且编程计数器PC被初始化在1。在步骤610 中,编程电压Vpgm的编程脉冲被施加到所选字线(被选择用于编程的字线)。未选字线接 收一个或多个升压电压(例如, 9伏特)以进行本领域已知的升压机制。如果应该编程 存储器单元,则对应的位线接地。另一方面,如果存储器单元应该维持在其当前阈值电压, 则对应的位线被连接到Vdd(大约2. 5伏特)来禁止编程(锁止该存储器单元以不编程)。 关于升压机制的更多信息可以在美国专利6,859,397和美国专利申请公开号20080123425 中找到,其两者全部被弓丨用附于此。在步骤610中,编程脉冲同时被施加到连接到所选字线的所有存储器单元,以便 连接到被选择用于编程的所选字线的所有存储器单元被一起编程。以此方式,连接到所选 字线的所有存储器单元将同时使其阈值电压改变,除非它们已经被锁止以不编程。在步骤612中,使用适当的一组目标电平来验证所选存储器单元的状态。图8的 步骤612包括进行一个或多个验证操作。通常,在验证操作和读取操作期间,所选字线被连 接到电压,其电平被指定用于每个读取和验证操作(例如,见用于验证的图6A的Vvl,Vv2 和Vv3和用于读取的Vrl,Vr2和Vrf),以便确定所关心的存储器单元的阈值电压已经到达 了这种电平。在施加字线电压之后,存储器单元的导电电流被测量以确定该存储器单元是 否相应于施加到字线的电压而导通了。如果导电电流被测量为大于特定值,则假设存储器 单元导通了,且施加到字线的电压大于存储器单元的阈值电压。如果导电电流不被测量为 大于特定值,则假设存储器单元未曾导通,且施加到字线的电压不大于存储器单元的阈值 电压。存在在读取或验证操作期间测量存储器单元的导电电流的许多方式。在一个例 子中,通过其放电或充电在感测放大器中的专用电容器的速率来测量存储器单元的导电 电流。在另一例子中,所选存储器单元的导电电流允许(或不能允许)包括存储器单元 的NAND串对对应的位线放电,其中该位线曾被预充电到已知电压。在一段时间之后测量 在位线上的电压,以看其是否已经被放电。注意,用本领域中已知的用于验证/读取的 不同方法来使用在此描述的技术。关于验证/读取的更多信息可以在整体被引用附于 此的以下专利文档中找到(1)美国专利申请公开No. 2004/0057^7,“ Non-Volatile Memory And Method With Reduced Source Line Bias Errors ; “ (2) ^ H φ if ^ Jf No.2004/0109357, " Non-Volatile Memory And Method with Improved Sensing ; " (3) 美国专利申请公开No. 20050169082 ;以及美国专利公开2006/0221692,题 为"Compensating for Coupling During Read Operations of Non-Volatile Memory"。如果检测所选存储器单元的阈值电压已经到达了适当的目标电平,则通过例如在 随后编程脉冲期间将其位线电压升高到Vdd来将该存储器单元锁止以不进一步编程。回看图8,在步骤614中,检查所有存储器单元是否都已经到达了其目标阈值电 压。如果是,编程处理完成且成功,因为所有所选存储器单元都被编程且验证到其目标状 态。在步骤616中报告状态"PASS(通过)"。注意,在一些实施方式中,在步骤614中,检查至少预定数量的存储器单元是否已经被适当地编程了。该预定数量可以少于所有存储器 单元的数量,由此允许编程处理在所有存储器单元已经到达其适当的验证电平之前停止。 可以在读取处理期间,使用错误校正来校正不成功编程的存储器单元。如果在步骤614中,确定不是所有存储器单元已经到达其目标阈值电压,则编程 处理继续。在步骤618中,针对编程限制值(PL),来检查编程计数器PC。编程限制值的一个 例子是20,但是还可以使用其他值。如果编程计数器PC不小于编程限制值,则在步骤630中 确定还没有成功编程的存储器单元的数量是否等于或小于预定数。如果不成功编程的存储 器单元的数量等于或小于预定数,则编程处理被考虑为成功,且在步骤632中报告PASS (通 过)的状态。在许多情况下,可以在读取处理期间,使用错误校正来校正不成功编程的存储 器单元。但是,如果不成功编程的存储器单元的数量大于预定数,则编程处理被考虑为不成 功,且在步骤634中报告FAIL(失败)的状态。如果在步骤618中,确定编程计数器PC小于编程限制值PL,则处理在步骤620处 继续,在期间,编程计数器PC递增1,且编程电压Vpgm被步增到下一量值。例如,下一脉冲 将具有比先前脉冲大于步长(例如0.1-0. 4伏特的步长)的量值。在步骤620之后,该处 理循环回到步骤610,且另一编程脉冲被施加到所选字线,且该处理继续。图9是描述用于选择性地对应该是已擦除状态、但具有显得在已擦除数据状态的 阈值电压分布之外的阈值电压的那些存储器单元进行擦除操作的处理的流程图。在一个实 施例中,对一个所选字线进行图9的处理,以便对连接到一个所选字线的那些存储器单元 进行选择性擦除。在其他变型中,连接到不同字线的存储器单元可以同时经历选择性擦除 处理。在步骤650中,本应该维持已擦除的存储器单元被识别。例如,如果状态SO对应 于数据11,状态Sl对应于数据10,状态S2对应于数据00且状态S3对应于数据01,则本应 该存储数据11的所有存储器单元应该维持已擦除(例如,维持在状态SO中)。存在识别 本应该维持已擦除的存储器单元许多适当的方式。在一个例子中,当前被编程或近来被编 程的数据可以被存储在缓冲器(在RAM或闪存)中。在步骤650中可以从缓冲器读取该数 据,且该系统将使用控制器(见图幻、状态机(见图幻或处理器492(见图4)来识别本应 该存储数据11的存储器单元。在另一实施例中,可以从控制器重新发出数据到状态机或处 理器492,以便确定哪些存储器单元本应该存储数据11。在另一实施例中,当前被编程或近 来被编程的数据可以被存储在数据锁存器494中,且由处理器492使用以确定哪些存储器 单元本应该存储数据11。在步骤652中,对连接到所选字线的存储器单元进行擦除验证操作。该擦除验证 操作确定存储器单元是否已经被适当地擦除。在一个例子中,该擦除验证操作确定存储器 单元的阈值电压大于擦除验证比较电压Vev(见图6A)。所选字线接收擦除验证比较电压 Vev,且未选字线接收过有时称为Vread的驱动电压(大约8_10伏特)。如针对图8的步 骤612以上所述,在施加适当的字线电压(其向控制栅极提供电压)之后,所选存储器单元 的导电电流被观察/测量以确定存储器单元是否正导电。假设响应于擦除验证电压Vev而 导通的存储器单元具有状态SO内的阈值电压且因此被适当地擦除。响应于接收擦除验证 电压Vev而不导通且本应该处于擦除状态SO中的存储器单元被导通以具有显得在用于擦 除数据状态SO的阈值电压分布之外(例如,之上)的阈值电压。在步骤654中,如果所有存储器单元验证(即,所有存储器单元响应于Vev而导通),则图9的处理完成。在一个实 施例中,如果至少预定数量的存储器单元在步骤652中通过擦除验证处理,则图9的处理完 成。如果少于所有存储器单元适当地验证(或少于预定数量的存储器单元验证),则该处 理在步骤656处继续,且对本应该处于擦除状态SO中但未通过步骤652的验证处理的那些 存储器单元进行选择性擦除操作。在步骤652处通过了验证处理的任何存储器单元将被锁 止以不进行步骤656的选择性擦除处理,如以下所述。在进行步骤656的选择性擦除处理 之后,该处理循环回到步骤652,且进行另一擦除验证处理。进行步骤652,6 和656的循 环,直到所有存储器单元验证或预定数量的存储器单元适当地验证。在其他实施例中,可以 由最大数量的迭代来限制该循环。图10是描述图9的步骤656的选择性擦除操作的时序图。图10示出了用于连接 到将被选择性地擦除的存储器单元的位线、连接到将不被擦除的存储器单元的位线SGD、未 选字线、所选字线、SGS、源极线、具有正被选择性地擦除的存储器单元的NAND串的沟道、具 有不正被选择性地擦除的任何存储器单元的NAND串的沟道、以及ρ阱的电压信号。图10 的处理具有三个步骤。在步骤1期间,连接到将被擦除的存储器单元的位线在tl被充电到 Vdd(大约2-2. 5伏特)。连接到将不被擦除(因为它们被编程,或因为它们本应该被擦除 且它们通过了擦除验证操作)的存储器单元的位线维持在0电压。源极线和S⑶也在tl 升高到Vdd。字线、SGS和ρ阱都维持在0伏特。步骤2包括升压NAND串的沟道。在时间 t2,向未选字线施加升压电压Vpass。在一个实施例中,Vpass大约10伏特。将未选字线升 压到Vpass (至少部分地)使得沟道区升压用于具有被选择以被擦除的存储器单元的那些 NAND串。沟道区将被升压到大约6伏特(或接近6伏特的电压范围)。因为那些NAND串的 位线处于Vdd,因此在漏极侧上的选择门变得截止,其允许沟道升压。不具有被选择以被编 程的存储器单元的NAND串将使其沟道维持在0伏特(或接近0伏特的范围电压)。步骤3 包括向所选字线施加负电压以使得能够进行擦除。例如,在t3向所选字线施加Verase (大 约-10伏特)。在所选字线上的负电压和在升压的沟道中的正电压建立了大的场,其选择性 地擦除连接到所选字线且正在具有升压的沟道的NAND串上的那些存储器单元。在一个实 施例中,该擦除包括从浮置栅极移除电子以便降低阈值电压。在一个例子中,电子被转移到 源极/漏极区。在另一实施例中,不将电子移出浮置栅极,而是可以在所选字线/控制栅极 下方的接合处存在栅极感应漏极泄漏(Gate Induced Drain Leakage) (GIDL)以使得空穴 (hole)被注入浮置栅极。注意,每次进行步骤656时进行图10的处理。在一个实施例中,可以对于步骤656 的每个迭代来递增Vpass的值。图11示出在图10的步骤3期间的一组NAND串。如可以看出的,所选字线(WL2) 接收Verase,且未选字线接收Vpass。在该例子中,存储器单元7M和725被选择用于擦除。 存储器单元7M和725两者都连接到WL2、公共字线。如所描述的,未选存储器单元也连接 到公共字线。包括要被擦除的存储器单元的NAND串的字线接收Vdd。例如,包括存储器单 元724的NAND串746的位线正接收Vdd。不具有正被擦除的存储器单元的NAND串(例如 NAND串748)的位线接收0伏特。仅具有接收Vdd的位线的那些NAND串将具有升压的沟 道。具有接收OV的位线的NAND串将不具有升压的沟道。注意,图11中描述的NAND串都 在相同衬底区(例如,相同P阱)。
图12A示出了在图10中描述的擦除处理的步骤3期间的NAND串746(表示具有 将被擦除的存储器单元的NAND串)的剖面图。图12B示出了在图10中描述的擦除处理的 步骤3期间的NAND串748(表示不具有将被擦除的存储器单元的NAND串)的剖面图。图 12A的NAND串746包括五个存储器单元720,722,724,726和728。NAND串746还包括源极 侧选择门730、漏极侧选择门732、源极线736和位线738。如可以看见的,存储器单元720, 722,726和7 经由各个字线接收在其控制栅极处的Vpass。被选择用于擦除的存储器单 元7M接收Verase。源极侧选择门730接收0伏特。源极线736接收Vdd,且位线738接 收Vdd。NAND串746的各种存储器单元的源极/漏极区和浮置栅极下方(除了在存储器单 元724的浮置栅极下方)的反向层(inversion layer)形成称为NAND串746的沟道区742 的等势区。图12A中描述的该沟道区742被升压到6伏特。在ρ阱区739的顶部处图示了 升压的沟道区742。在存储器单元724的浮置栅极之下的沟道区升压区域中存在空隙。图12B示出了不包括被选择用于擦除的存储器单元的NAND串748 (见图11)。NAND 串748包括存储器单元750,752,754,756和758。NAND串748还包括源极侧选择门760、漏 极侧选择门762、源极线736、位线764和源极/漏极区770。如可以看见的,位线764接收 防止漏极侧选择门762截止的0伏特,因此NAND串的沟道区不以与图12A中描述的方式升 压。图11、12A和12B描述如何可以选择连接到公共字线的一些存储器单元用于擦除同时 连接到相同字线的其他存储器单元将不被擦除。在一些实施例中,使用负字线电压需要用于行解码器的三阱结构和供应该电压的 负泵(negative pump)。在一些情况下,这种布置可以是昂贵的。图13是描述用于对连接 到字线的存储器单元的子集进行选择性的擦除操作的处理的另一实施例的流程图。可以在 图9的步骤656期间进行的图13的处理包括四个步骤。在步骤800中,要被擦除的存储器 单元的位线将被充电到Vdd,且将不被擦除的存储器单元的位线维持在0伏特。在步骤802 中,整个平面的ρ阱和所有字线将被充电到电压Vwell (例如,大约10伏特)。这将用电压 Vwell耦合这些位线。被充电到了 Vdd的位线将维持与处于了 0伏特的位线相比的电压差。 P阱充电可以被二极管降(或多于二极管降)偏移(相比于字线),以防止位线接合的前向 偏压。在步骤804中,用于被选择以擦除的存储器单元的块将被充电到Vwell+Vpass (大约 17伏特),以便对用于具有将被擦除的存储器单元的NAND串的沟道进行升压。升压的沟道 将处于大约15伏特。在步骤806处,将通过将所选字线降低到0伏特来擦除所选存储器单兀。图14是提供图13的处理的更多细节的时序图。图14示出了与图13相同的四个 步骤。在第一步骤(预充电位线-步骤800)中,将被擦除的那些存储器单元的位线被升高 到Vdd,公共源极线被升高到Vdd,不连接到具有将被擦除的存储器单元的NAND串的位线维 持在0伏特,且图14中描述的所有其他信号也维持在0伏特。在第二步骤(电荷WL和阱-步骤802)中,未选和所选的字线在时间t2从0伏特充 电高达Vwell。另外,在t2,S⑶从0伏特升高到Vwell+2V,且SGS从0伏特升高到Vwell。将 字线升高到Vwell使得位线耦合于与要被擦除的存储器单元相关的位线的Vwell+Vdd(大 约10伏特)。不与要被擦除的存储器单元相关的位线将维持在Vwell。在t2,ρ阱还被升 高到Vwel 1,这使得NAND串的沟道升高到Vwell。在第三步骤(升压的擦除沟道-步骤804)中,整个块的未选和所选字线在时间t3被升高到Vwell+Vpass (大约17伏特),这(至少部分地)使得要被擦除的存储器单元的 NAND串的沟道区的升压被升压到Vwell+升压电压(例如,大约15伏特)或接近于该电平 的电压范围。该升压正发生,因为漏极侧选择门由于所选存储器单元的位线处于Vwell+Vdd 而截止。因为未选存储器单元的位线仅在Vwell,因此那些漏极侧选择门不截止,且不被擦 除的存储器单元的NAND串沟道将不被升压到Vwell+升压电压,但将维持在Vwell或接近 于该电平的电压范围。在步骤四中,所选字线具有在时间t4时降低到0伏特的其电压,以使能该擦除。被 选择用于擦除的存储器单元将具有跨越控制栅极和沟道的15伏特,这提供适用于擦除的 条件。在相同NAND串中的未选存储器单元将具有在字线处的17伏特,且在沟道处的15伏 特,这不提供适用于擦除的条件。在相同NAND串中的未选存储器单元将具有在控制栅极处 的0伏特,且在沟道处的10伏特,这不提供适用于擦除的条件。在一个实施例中,该擦除包 括从浮置栅极移除电子以降低阈值电压。在一个例子中,电子被转移到沟道区。在另一实施例中,不将电子移出浮置栅极,而是可以在所选字线/控制栅极下 方的接合处存在栅极感应漏极泄漏(Gate Induced Drain Leakage) (GIDL)以使得空穴 (hole)被注入浮置栅极。图15示出在图13的步骤806期间的NAND串的示例组,其中,(在NAND串830上 的)存储器单元邪4和存储器单元855被选择用于擦除。虽然图15仅示出正被选择性地擦 除的两个存储器单元,但是在其他例子中,连接到相同公共所选字线(WL2)的更多或更少 存储器单元可以被选择用于擦除。该选择性的擦除允许少于连接到所选字线的所有存储器 单元被选择用于擦除。如可以看见的,具有将被擦除的存储器单元的NAND串(例如,NAND串 830)的位线处于Vwell+Vdd,而不具有要被擦除的存储器单元的其他NAND串(例如,NAND 串832)具有在Vwell处的位线。所选字线接收0伏特,而未选字线接收Vwell+Vpass。注 意,图15中描述的NAND串都在相同衬底区域中(且因此在相同ρ阱上)。图16A示出在图13的步骤806期间的NAND串830 (表示具有将被擦除的存储器 单元的NAND串)的剖面图。NAND串830包括存储器单元850,852,邪4,856和858。NAND 串830还包括源极侧选择门860、漏极侧选择门862、源极线866和位线868。图16A示出了 升压的沟道区域872,这被升压到大约15伏特。图16B示出在图13的步骤806期间的NAND串832(表示不具有将被擦除的存储器 单元的NAND串)的剖面图。NAND串832包括存储器单元880,882,884,886和888。NAND 串832还包括源极侧选择门890、漏极侧选择门892、公共源极侧线866和位线896。NAND 串832包括升压的沟道区874。但是,该升压的沟道区仅被升压到大约10伏特,如以上所讨 论的;因此,不经意地发生擦除。看回图9,步骤656包括对被选择用于擦除的存储器单元进行一个或多个擦除操 作。在图10和14的实施例中,在步骤656的每次迭代期间对所选存储器单元进行一个擦 除操作。在其他实施例中,可以在步骤656的每个迭代中进行多个擦除操作(进行或不进 行中间的验证操作)。另外,图13和14中描述的四个步骤操作的一个变型可以包括预充电 位线(800)和充电字线(80 仅一次,且然后重复升压沟道(804)和擦除(806)多次。图17是描述用于进行多个擦除操作的处理同时预充电位线且充电字线仅一次的 一个实施例的流程图。在图17的步骤902中,位线被充电,如在图13的步骤800中进行的。在步骤904中,字线和阱被充电,如在图13的步骤802中进行的。在图17的步骤906 中,升高的沟道被升压,如在图13的步骤804中进行的。注意,未选字线在步骤906中接 收Vpass。在步骤908中,所选字线被降低到0伏特,且电子从浮置栅极移除。在步骤910 中,再次升压擦除沟道。步骤910与图13的步骤804类似;但是,未选字线和所选字线将接 收Vwell+Vpass+AVpass。在一个例子中,Δ Vpass可以任意从0. 2到0. 5伏特。在步骤 912中,所选字线被降低到0伏特,且随着电子被转移出浮置栅极,存储器单元被擦除。步 骤912类似于步骤806。在步骤914中,擦除沟道被升压(类似于步骤804);但是,字线将 接收Vwell+Vpass+2AVpass未来的迭代将使用3 Δ Vpass,4 Δ Vpass等。在步骤916中,所 选字线被降低到0伏特,且随着电子被转移出浮置栅极,所选存储器单元被擦除,类似于步 骤806。分别重复升压和擦除直到步骤918和920。图17的处理示出在预充电位线(步骤 902)和充电字线(步骤904) —次,擦除沟道的升压和擦除处理可以重复数次,而不必须再 次预充电这些字线并充电那些字线。擦除沟道的升压和擦除处理的重复可以进行两次或多 次。不存在需要的具体数量的重复。图18是图形化地描述图17的步骤902-912的时序图。本领域技术人员知道如何 使用图18的教导来推断和进行图17的其他步骤。如可以从图18中看出的,要被擦除的存 储器单元的位线在tl初始地被Vdd预充电(90 。要被擦除的存储器单元的位线在t2耦 合到Vwell+Vdd(904),且直到伪都维持在该电平。不要被擦除的存储器单元的位线在t2 耦合到Vwell,且直到伪都维持在该电平。另外,在t2,S⑶从0伏特升高到Vwell+2伏特 (或Vdd),且直到伪都维持在该电平。未选字线在t2从0伏特升高到Vwel 1,然后在t3升 高到Vwell+VpaSS(906)。在步骤908之后,在t5,未选字线被降低到Vwell,作为恢复阶段的 部分。当在步骤910中再次进行沟道的升压时,未选字线被升高到Vwell+Vpass+AVpass, 如上所述。图17的处理的未来迭代将使得未选字线升高到Vwell+Vpass+nAVpass。所选 字线在t2升高到Vwell,然后在t4降低到擦除电压0伏特(908)。在t5时的恢复阶段期 间,在擦除和下一升压之间,所选字线被再次升高到Vwell。在t7,所选字线将被降低到0 伏特,以使能选择性擦除(912)。该处理将继续使得所选字线升高到Vwell,用于升压擦除 沟道阶段,然后使得其降低到0伏特用于完成擦除操作。在t2,SGS从0伏特升高到Vwell, 且直到伪都停留在该电平。公共源极线在tl升高到Vdd,然后在t2升高到Vwell,且直到 伪都停留在该电平。在t2,ρ阱升高到Vwell,且直到伪都停留在该电平。由于在t2将 P阱升高到Vwel 1,所有NAND串的沟道在t2也升高到Vwell (904)。本应该被擦除的NAND 串的沟道将在t3被升压到Vwell+升压电压(906),在t5降低到Vwel 1,然后在t6升高到 Vwell+附加的升压电平(910)。该沟道将继续在图17的处理期间在Vwell和Vwell+升压 之间切换。在一个实施例中,可以进行选择性擦除,作为包括粗糙阶段和精细阶段的两个 (或更多)阶段性擦除处理的部分。在粗糙阶段期间,可以用在擦除擦之间不进行验证的 两个或更多擦除操作进行图17的处理。在预定数量的擦除操作之后,将完成粗糙阶段。然 后,通过进行图9的处理来开始精细阶段,其中,使用图14的处理来实现步骤656。粗糙阶 段擦除得更快,但更不精确。精细阶段擦除得更慢但更精确。在编程期间,用于实现紧密的阈值电压分布而不会不合理地减慢编程过程的一个 解决方案是使用两个(或更多)遍编程处理。第一遍、粗糙编程阶段包括试图以较快的方式升高阈值电压而较少地关注实现紧密的阈值电压分布。第二遍、精细编程阶段包括试图 以较慢的方式升高阈值电压以便达到目标阈值电压,同时还实现紧密的阈值电压分布。图19是描述用于两遍编程处理的一个实施例的流程图。在步骤932中,进行第一 遍。在一个实施例中,第一遍是粗糙编程阶段。所选存储器单元将被编程到一个或多个粗糙 验证电平。一旦所有所选存储器单元都已经到达其各自的粗糙验证电平,则将完成粗糙编 程阶段。在步骤934中,进行第二遍。在一个实施例中,第二遍是在完成了粗糙编程阶段之 后进行的精细编程阶段。所选存储器单元将被编程到一个或多个精细验证电平。一旦所有 所选存储器单元都已经到达其各自的精细验证电平,则将完成精细编程阶段。在一些实施 例中,被施加到字线的编程脉冲对于粗糙阶段将在量值上相比于精细阶段更长或更高。在 其他实施例中,对于粗糙阶段的位线电压将处于0伏特,且对于精细阶段的位线电压将处 于在0伏特和Vdd之间的电平(例如, 1伏特)。还可以使用粗糙/精细编程方法的各种 替换方式和实施例。在一些实施例中,可以存在多于一个粗糙阶段和或多于一个精细阶段。 还可以使用其他类型的多遍编程处理、包括不同于粗糙/精细的处理且包括具有多于两遍 的处理。图20示出了与数据状态SO、Si、S2和S3相关的一组阈值电压分布。对于每个数 据状态,描述了粗糙验证电平(Vvc),且描述了精细验证电平(Vvf)。例如,在存储器单元正 被编程到数据状态Sl的粗糙阶段期间,验证电平将是Vvcl,且在精细阶段期间,存储器单 元将针对Vvfl来验证。被编程到数据状态S2的存储器单元在粗糙阶段期间针对Vvc2来 验证,且在精细阶段期间,针对Vvf2来验证。正被编程到数据状态S3的存储器单元在粗糙 阶段期间针对Vvc3来验证,且在精细阶段期间,针对Vvf3来验证。图7中描述的操作的方法,如上所述,构想了其中编程存储器单元且在完成编程 之后进行选择性的擦除处理的实施例。在另一实施例中,可以以混合的方式进行编程处理 和选择性擦除处理。例如,可以在编程的粗糙阶段之后且在编程的精细阶段之前进行选择 性擦除。在另一实施例中,可以在编程某些数据之后且在编程其他数据之前进行选择性擦 除。图21是描述用于混合编程处理和选择性擦除处理的一个实施例的流程图。在一 个实施例中,两遍编程处理是粗糙/精细编程处理,其中,第一遍是粗糙阶段,且第二遍是 精细阶段。还可以使用其他两遍编程处理。在图21的实施例中,在第一遍和第二遍之间进 行选择性擦除处理,以便重新擦除已经到达其错误地偏移的阈值电压的存储器单元。在该 实施例中,还在相邻字线根据两遍编程处理中的第一遍而被编程了之后,进行选择性擦除 处理。操作的该顺序将减少来自相邻存储器单元的耦合的影响。图21说明了从字线WLn上的存储器单元的视角看来的处理。在图21的步骤952 中,连接到字线WLn的存储器单元根据两遍编程处理中的第一遍(例如,粗糙阶段)而被编 程。在步骤%4中,连接到字线WLn的存储器单元经历以上描述的选择性擦除处理,以便重 新擦除那些本应该被擦除但具有被升高到擦除阈值分布以上的阈值电压的存储器单元。那 些%4包括进行图9的处理。但是,在对连接到相邻字线WLn+Ι的存储器单元编程两遍编 程处理的第一遍之后,进行步骤卯4的处理。因此,如果步骤952包括编程在字线WLl上的 存储器单元,则将在对字线WL2上的存储器单元实行粗糙阶段之后进行步骤954的选择性 擦除。在步骤956中,在对字线WLn+Ι进行选择性擦除处理之后,将对连接到WLn的存储器单元进行两遍编程处理中的第二遍。在一个实施例中,对于在块中的所有字线进行图21的 处理。在其他实施例中,可以仅对字线的子集进行该处理。图22是示出对五个字线上的存储器单元编程两遍编程处理的第一遍、两遍编程 处理的第二遍和选择性的擦除处理的顺序的表。初始地,对WLO进行第一编程遍。随后,对 字线WLl进行第一编程遍,然后对字线mi)进行选择性擦除处理,然后对字线WL2进行第一 编程遍,然后对字线WLl进行选择性擦除处理,然后对Wi)进行第二编程遍,然后对WL3进 行第一编程遍,然后对WL2进行选择性擦除处理,然后对WLl进行第二编程遍,然后对WL4 进行第一编程遍,然后对WL3进行选择性擦除处理,然后对WL2进行第二编程遍,等等。图 22中描述的操作的顺序可以被外推到多于五个字线。图23示出了从根据图21和22的编程处理得到的一组阈值电压分布。描述了状 态S0、S1、S2和S3 (其表示在精细阶段之后的最终阈值电压分布)。在状态S1、S2和S3的 每个背后的是虚线的阈值电压分布,其表示在粗糙阶段之后的对应的阈值电压分布。如可 以看出的,最终分布(从精细阶段得到的)窄得多且稍微更高。在另一实施例中,可以使用图21和22的两遍编程技术来将数据编程到八个数据 状态S0-S7。在第一遍期间,将分别使用验证点Vintl、Vint2、和Vint3,来使得存储器单元 编程到阈值电压分布960、962、和964。在编程处理的第二遍期间,存储器单元可以移动到 两个可能的数据状态中的一个。处于数据状态SO的存储器单元可以维持在SO中,或可以 使用验证点Vfl被编程到数据状态Si。在阈值电压分布960中的存储器单元可以分别使 用验证点Vf2和Vf3被编程到数据状态S2或数据状态S3。在阈值电压分布962中的存储 器单元可以分别使用验证点Vf4和Vf5被编程到数据状态S4或数据状态S5。在阈值电压 分布964中的存储器单元可以分别使用验证点Vf6和Vf7被编程到数据状态S6或数据状 态S7。在第一遍之后且在第二遍之前,进行选择性擦除处理,如以上针对图21和/或22所 述。当编程存储器单元时,无论它们使用单遍还是多遍编程处理,一些存储器单元都 可能变得过度编程。例如,意图被编程到数据状态S2的存储器单元可能具有升高到大于状 态S2的阈值电压分布的电平的阈值电压。图25示出了具有一些过度编程的存储器单元的 一组阈值电压分布。如可以看出的,数据状态S1-S7具有在其阈值电压分布的右手侧的拖 尾(tail)。这些拖尾表示过度编程的存储器单元。还在图25的图上描述的是过度编程的 验证点(Vopl,Vop2,Vop3,Vop4,Vop5,Vop6,和Vop7)。在具有大于相关过度编程验证点的 阈值电压的具体阈值电压分布中的那些存储器单元被认为是过度编程的。在一些器件中,较低数据状态(例如,S1,S2和S; )经历比较高状态更过度的编程。 在一些器件中,较高状态不经历过度编程。在一个实施例中,可以使用针对图10-18上述的选择性擦除处理来校正过度编程 的存储器单元。图26A和26B提供用于使用上述选择性擦除方法来校正过度编程的存储器 单元的两个示例处理。在图2队的步骤1002中,存储元件被预编程(类似于图7的步骤550)。在步骤 1004中,存储器单元的块(或其他单位)被擦除(类似于图7的步骤55 。在步骤1006 中,存储器单元可以被可选地软编程(类似于图7的步骤554)。在步骤1008中,使用本领 域已知的各种适当的编程处理的任一来编程存储器单元。在步骤1010中,校正过度编程的存储器单元。因此,26A的处理将在完成步骤1008的编程之后校正过度编程的存储器单元。图^B的处理将混合对存储器单元的编程和在编程处理期间对过度编程的存储 器单元的校正。在步骤1002中,存储器单元的块被预编程。在步骤1004中,存储器单元的 该块(或其他单位)被擦除。在步骤1006中,存储器单元被可选地软编程。在步骤1020 中,存储器单元被编程,且使用选择性擦除处理来校正被过度编程的那些存储器单元,以便 以混合的方式进行编程和选择性擦除。以下提供更多细节。图27是描述用于校正过度编程的存储器单元的一个实施例的流程图。在一个实 施例中,一次对于一个数据状态进行图27的方法。例如,可以对Sl进行图27的方法。然 后,可以对S2进行图27的方法,等等。在步骤1100中,该系统将识别本应该被编程到所考 虑的数据状态的存储器单元。如上所述,可以通过从控制器获得信息,从缓冲器(RAM或非 易失性存储器)获得信息或从数据所采取494获得信息来找到该信息。在步骤1102中,使 用与所考虑的数据状态相关的适当的过度编程的验证点(例如,Vopl, Vop2, Vop3, Vop4, Vop5,Vop6,或Vop7)。来进行验证处理。例如,如果正对于数据状态Sl进行图12的处理, 则将使用VOPl进行步骤1102的验证处理。VOPl的电压将被施加到存储器单元的控制栅极 (经由字线)以确定它们是否对于数据状态1被过度编程了。如果所有存储器单元都不被 过度编程且所有都正确地验证(步骤1104),则完成图27的处理。或者,如果足够的存储器 单元适当的验证了,则该处理可以被认为完成了。如果所有存储器单元未适当地验证(步 骤1104),则进行选择性擦除操作,以便在步骤1102处不验证的那些存储器单元选择性地 经历一个或多个擦除操作以减小其阈值电压,以便该阈值电压将低于适当的过度编程的验 证电平。可以使用图10-18的处理来实现步骤1106。在步骤1108中,对于步骤1102-1108 的下一迭代,递增升压电压(Vpass),且该处理循环回到步骤1102,且进行验证处理。循环 1102-1108将重复,直到所有或预定数量的存储器单元已经成功地验证了。随着存储器单元 在步骤1102中验证,它们被锁止以不进一步擦除。在一个实施方式中,在图^A的步骤1010期间进行图27的处理。在一个实施例 中,要对每个编程状态单独进行图27的处理,以便如果存在七个编程状态(S1-S7),则将在 图26k的步骤1010期间进行图27的处理七次,且如果存在三个编程状态(S1-S3),则将在 图2队的步骤1010期间进行图27的处理三次。在另一实施例中,可以对所有数据状态同 时进行图27的处理,以便步骤1100将识别每个存储器单元应该处于什么数据状态,且步骤 1102包括对每个数据状态进行验证操作,且本地处理器482将保持跟踪要存储哪个验证操 作的结果。以此方式,可以进行图27的处理仅一次。图28提供图^B的步骤1020的实施方式的一个例子。在步骤1120中,存储器单 元的单位被编程。该包括可以包括每个存储器单元编程一位数据、每个存储器单元编程两 位数据、每个存储器单元编程三位数据等等。在一个实施例中,该存储器单元的单位可以是 连接到公共字线的所有存储器单元、一页中的所有存储器单元、一个扇区中的所有存储器 单元或其他单位。在步骤1122中,该系统将校正在步骤1120的最近迭代中编程的该存储 器单元的单位的过度编程的存储器单元。步骤1122可以使用图27的处理来实现。例如, 步骤1122可以包括对每个数据状态进行图27的处理一次。或者,步骤1122可以包括对所 有数据状态同时进行图27的处理一次,如上所述。在步骤IlM中,确定是否存在要编程的 任何更多的单位。如果否,则处理完成。如果存在要编程的更多单位,则图观的方法循环回到步骤1120,且编程下一存储器单元的单位,且然后将在步骤1122中对该存储器单元的 单位校正过度编程的存储器单元。步骤1120和1122的迭代将对于需要被编程的存储器单 元的所有单位重复。在一些实施例中,过度编程对于较低状态来说是更大的问题;因此,该系统将仅对 较低状态校正过度编程。在一些实施例中,可以使用选择性擦除处理来校正过度编程而不在选择性擦除的 每个迭代之间进行擦除-验证。例如,可以进行图27的步骤1106多次,而不进行步骤1102。 一个这种实施方式使用图17和18的处理。已经为了例示和描述的目的来呈现了本发明的前述详细描述。不意图穷举或限制 本发明到所公开的精确的形式。在上述教导下,许多修改和变化是可能的。选择所描述的 实施例以便最佳地说明本发明的原理和其实际的应用,以从而使得本领域技术人员能够在 各种实施例中且具有适合于所构思的具体用途的各种修改地最佳地使用本发明。意图本发 明的范围被附于此的权利要求所定义。
权利要求
1.一种用于操作非易失性存储器的方法,包括 擦除非易失性存储元件,以及对所述非易失性存储元件进行编程,并选择性地对非易失性存储元件中的本应该保持 已擦除的至少一个子集进行重新擦除,而不有意擦除已编程的数据。
2.根据权利要求1的方法,其中,所述选择性地对非易失性存储元件中的本应该保持 已擦除的至少一个子集进行重新擦除包括识别哪个非易失性存储元件应该维持已擦除;测试应该维持已擦除的所述非易失性存储元件是否还没有被更改超过阈值;以及 对应该维持已擦除且已经被更改超过所述阈值的非易失性存储元件进行一个或多个 擦除操作。
3.根据权利要求1或2的方法,其中,所述对所述非易失性存储元件进行编程且选择性 地对非易失性存储元件的至少所述子集进行重新擦除包括对连接到第一控制线的非易失性存储元件进行第一多遍编程处理的第一遍; 对连接到第二控制线的非易失性存储元件进行第二多遍编程处理的第一遍; 在进行所述第二多遍编程处理的所述第一遍之后,选择性地对连接到所述第一控制线 的所述非易失性存储元件中的本应该维持已擦除的至少一个子集进行重新擦除;选择性地对连接到所述第二控制线的所述非易失性存储元件中的本应该维持已擦除 的至少一个子集进行重新擦除;在选择性地对连接到所述第一控制线的所述非易失性存储元件中的至少一个子集进 行重新擦除之后,对连接到所述第一控制线的所述非易失性存储元件中的至少一些进行所 述第一多遍编程处理的第二遍;以及对连接到所述第二控制线的所述非易失性存储元件中的至少一些进行所述第二多遍 编程处理的第二遍。
4.根据权利要求3的方法,其中所述第一多遍编程处理的所述第一遍是所述第一多遍编程的粗略阶段;且 所述第一多遍编程处理的所述第二遍是所述第一多遍编程的精细阶段。
5.根据权利要求3的方法,其中所述第一多遍编程处理的所述第一遍使得连接到所述第一控制线的所述非易失性存 储元件处于第一数量的数据状态中;以及所述第一多遍编程处理的所述第二遍使得连接到所述第一控制线的所述非易失性存 储元件处于第二数量的数据状态中,所述第二数量的数据状态大于所述第一数量的数据状 态。
6.根据权利要求3的方法,还包括对连接到第三控制线的非易失性存储元件进行第三多遍编程处理的第一遍; 选择性地对连接到所述第三控制线的所述非易失性存储元件中的本应该维持已擦除 的至少一个子集进行重新擦除;以及对连接到第三控制线的非易失性存储元件进行第三多遍编程处理的第二遍; 其中,所述对连接到所述第二控制线的所述非易失性存储元件中的至少一个子集选择 性地进行重新擦除是在进行所述第三多遍编程处理的所述第一遍之后进行的。
7.根据权利要求3的方法,其中所述第一多遍编程处理的所述第一遍和所述第一遍编程处理的所述第二遍编程共同 的一组数据。
8.根据权利要求1的方法,其中,所述对所述非易失性存储元件进行编程且选择性地 对非易失性存储元件的至少一个子集进行重新擦除包括对连接到第一控制线的所述非易失性存储元件进行第一多遍编程处理的第一遍;在进行所述第一多遍编程处理的所述第一遍之后,对连接到第二控制线的所述非易失 性存储元件进行第二多遍编程处理的第一遍;在进行所述第二多遍编程处理的所述第一遍之后,选择性地对连接到所述第一控制线 的所述非易失性存储元件中的本应该维持已擦除的至少一个子集进行重新擦除;在选择性地对连接到所述第一控制线的所述非易失性存储元件的至少一个子集进行 重新擦除之后,选择性地对连接到所述第二控制线的所述非易失性存储元件中的本应该维 持已擦除的至少一个子集进行重新擦除;在选择性地对连接到所述第二控制线的所述非易失性存储元件的至少一个子集进行 重新擦除之后,对连接到所述第一控制线的所述非易失性存储元件的至少一些进行所述第 一多遍编程处理的第二遍;以及在进行所述第一多遍编程处理的所述第二遍之后,对连接到所述第二控制线的所述非 易失性存储元件的至少一些进行所述第二多遍编程处理的第二遍。
9.根据权利要求1-8中的任一的方法,其中所述选择性地对本应该维持已擦除的非易失性存储元件的至少一个子集进行重新擦 除包括选择性地降低非易失性存储元件的所述子集的阈值电压,非易失性存储元件的所述 子集是连接到公共字线的闪存器件,且是不同的NAND串的每个部分。
10.一种非易失性存储装置,包括多个非易失性存储元件;与所述多个非易失性存储元件通信的一个或多个管理电路,所述一个或多个管理电路 擦除非易失性存储元件且对所述非易失性存储元件进行编程以及选择性地对非易失性存 储元件中的本应该维持已擦除的至少一个子集进行重新擦除,而不有意擦除已编程数据。
11.根据权利要求10的非易失性存储元件,其中所述一个或多个管理电路对连接到第一控制线的非易失性存储元件进行第一多遍编 程处理的第一遍,对连接到第二控制线的非易失性存储元件进行第二多遍编程处理的第一 遍,在进行所述第二多遍编程处理的所述第一遍之后,选择性地对连接到所述第一控制线 的所述非易失性存储元件中的本应该维持已擦除的至少一个子集进行重新擦除,选择性地 对连接到所述第二控制线的所述非易失性存储元件中的本应该维持已擦除的至少一个子 集进行重新擦除,在选择性地对连接到所述第一控制线的所述非易失性存储元件中的至少 一个子集进行重新擦除之后,对连接到所述第一控制线的所述非易失性存储元件中的至少 一些进行所述第一多遍编程处理的第二遍,以及对连接到所述第二控制线的所述非易失性 存储元件中的至少一些进行所述第二多遍编程处理的第二遍。
12.根据权利要求11的非易失性存储装置,其中所述第一多遍编程处理的所述第一遍是所述第一多遍编程的粗略阶段;且所述第一多遍编程处理的所述第二遍是所述第一多遍编程的精细阶段。
13.根据权利要求11的非易失性存储装置,其中所述第一多遍编程处理的所述第一遍使得连接到所述第一控制线的所述非易失性存 储元件处于第一数量的数据状态中;以及所述第一多遍编程处理的所述第二遍使得连接到所述第一控制线的所述非易失性存 储元件处于第二数量的数据状态中,所述第二数量的数据状态大于所述第一数量的数据状 态。
14.根据权利要求11的非易失性存储装置,其中所述第一多遍编程处理的所述第一遍和所述第一遍编程处理的所述第二遍编程共同 的一组数据。
15.根据权利要求11-14中的任一的非易失性存储装置,其中 所述非易失性存储元件是连接到公共字线的闪存器件。
全文摘要
一种非易失性存储系统,并对多个非易失性存储元件进行编程,并选择性地对非易失性存储元件中的本应该保持已擦除的至少一个子集进行重新擦除,而不有意擦除已编程的数据。
文档编号G11C16/34GK102138182SQ200980133770
公开日2011年7月27日 申请日期2009年6月30日 优先权日2008年7月2日
发明者李艳, 杰弗里·E·卢茨 申请人:桑迪士克公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1