用于包括耦合补偿的非易失性存储器读取操作的边际化相邻者读取的制作方法

文档序号:6781513阅读:102来源:国知局
专利名称:用于包括耦合补偿的非易失性存储器读取操作的边际化相邻者读取的制作方法
技术领域
本发明涉及用于非易失性存储器的技术。
背景技术
半导体存储器装置已变得越来越普遍用于各种电子装置中。举例来说,非易失性半 导体存储器用于蜂窝式电话、数码相机、个人数字助理、移动计算装置、非移动计算装 置及其它装置中。电可擦除可编程只读存储器(EEPROM)(包括快闪EEPROM)及电 可编程只读存储器(EPROM)属于最普遍的非易失性半导体存储器。EEPROM及快闪存储器利用定位于半导体衬底中的沟道区上方且与沟道区绝缘的 浮动栅极。所述浮动栅极定位于源极区与漏极区之间。控制栅极提供于浮动栅极上方且 与浮动栅极绝缘。晶体管的阈值电压由保持于浮动栅极上的电荷量来控制。也就是说, 在接通晶体管以准许其源极与漏极之间导通之前必须施加到控制栅极的最小电压量由 浮动栅极上的电荷电平来控制。在对EEPROM或快闪存储器装置(例如NAND快闪存储器装置)进行编程时,通 常向控制栅极施加编程电压且将位线接地。来自沟道的电子注入浮动栅极中。当电子在 浮动栅极中累积时,浮动栅极变得带负电,且存储器单元的阈值电压升高,使得存储器 单元处于已编程状态。 一些EEPROM及快闪存储器装置具有用以存储两个电荷范围的 浮动栅极,且因此,可在两个状态(已擦除状态与已编程状态)之间对存储器单元进行 编程/擦除。此类快闪存储器装置有时称为二进制快闪存储器装置。通过识别由禁止范围 分隔的多个相异允许/有效已编程阈值电压范围来实施多状态快闪存储器装置。每一相异 阈值电压范围对应于存储器装置中所编码的该组数据位的预定值。关于编程的更多信息 可参见标题为"用于非易失性存储器的源极侧自升压技术(Source Side Self Boosting Technique For Non-Volatile Memory)"的第6,859,397号美国专利及标题为"检测过编程 存储器(Detecting Over Programmed Memory)"的第6,917,542号美国专利,所述两个专利的全文均以引用的方式并入本文中。存储于浮动栅极或其它电荷区上的表观电荷的移位可能由于基于存储在邻近浮动 栅极中的电荷的电场的耦合而发生。这种浮动栅极到浮动栅极耦合现象在第5,867,429 号美国专利中描述,所述专利的全文以引用的方式并入本文中。目标浮动栅极的邻近浮 动栅极可包括位于同一位线上的相邻浮动栅极、位于同一字线上的相邻浮动栅极,或与 目标浮动栅极成对角线的浮动栅极,因为其位于相邻位线及相邻字线两者上。浮动栅极到浮动栅极耦合最显著地发生于已在不同时间处被编程的若干组邻近存 储器单元之间。举例来说,第一存储器单元可经编程以向其浮动栅极添加对应于一组数 据的电荷电平。随后, 一个或一个以上邻近存储器单元经编程以向其浮动栅极添加对应 于第二组数据的电荷电平。在对所述邻近存储器单元中的所述一者或一者以上进行编程 之后,从第一存储器单元读取的电荷电平由于邻近存储器单元上的电荷耦合到第一存储 器单元的效应而呈现为不同于所编程的电荷电平。来自邻近存储器单元的耦合可使正被 读取的表观电荷电平移位达足以导致对所存储数据的错误读取的量。浮动栅极到浮动栅极耦合的效应对于多状态装置具有较大意义,因为在多状态装置 中,所允许的阈值电压范围及禁止范围比在二进制装置中窄。因此,浮动栅极到浮动栅 极耦合可导致存储器单元从所允许的阈值电压范围移位到禁止范围。随着存储器单元在尺寸上继续縮减,预期阈值电压的自然编程及擦除分布会由于短 沟道效应、较大氧化物厚度/耦合比率变化以及较多沟道掺杂剂波动而增大,从而减小邻 近状态之间的可用分隔。与仅使用两个状态的存储器(二进制存储器)相比,此效应对 于多状态存储器要显著得多。此外,字线之间的空间的减小及位线之间的空间的减小也 将会增大邻近浮动栅极之间的耦合。发明内容为了解决浮动栅极之间的耦合,对特定存储器单元的读取过程向邻近存储器单元提 供补偿,以便减小所述邻近存储器单元对所述特定存储器单元造成的耦合效应。读取所 述邻近存储器单元以确定所述单元的电荷、状态或其它条件信息。使用来自所述邻近存 储器单元的信息来当在读取过程期间读取所述特定存储器单元时向所述邻近存储器单元提供适当补偿。在读取邻近存储器单元时,可使用边际化参考电压以解决邻近存储器 单元的表观阈值电压的移位。一个实施例包括通过以下动作来读取非易失性存储器在对选定非易失性存储元件 的读取过程期间以第一电压电平向未选定非易失性存储元件施加对应于特定状态的读8取电压以确定未选定非易失性存储元件的条件,所述选定非易失性存储元件相邻于所述 未选定非易失性存储元件;在所述读取过程期间以第二电压电平向选定非易失性存储元 件施加读取电压;在向选定非易失性存储元件施加读取电压时基于未选定非易失性存储 元件的条件而针对未选定非易失性存储元件使用特定电压;以及在所述读取过程期间感 测选定非易失性存储元件的条件。一个示范性实施方案包含多个非易失性存储元件及与所述多个非易失性存储元件 通信的管理电路,所述管理电路用于执行本发明的过程。在一个实施例中,与所述多个 非易失性存储元件通信的管理电路当验证第二非易失性存储元件的编程时向第一非易 失性存储元件提供第一通过电压,当在对第三非易失性存储元件的读取过程期间确定第 二非易失性存储元件的当前条件时向第一非易失性存储元件提供第二通过电压,当确定 所述当前条件时向第二非易失性存储元件提供对应于特定状态的第一读取电压,且在读 取过程期间向第三非易失性存储元件提供对应于所述特定状态的第二读取电压以确定 第三非易失性存储元件的条件。在一个实施例中,第一读取电压是基于第一通过电压与 第二通过电压之间的差异。


图1为NAND串的俯视图。图2为NAND串的等效电路图。图3为NAND快闪存储器单元的阵列的框图。图4为非易失性存储器系统的框图。图5为描绘感测块的一个实施例的框图。图6为在编程及编程验证期间施加到非易失性存储器单元的控制栅极的示范性波形。图7为描述用于对非易失性存储器进行编程的过程的一个实施例的流程图。 图8描绘一组示范性阈值电压分布。 图9描绘一组示范性阈值电压分布。图IOA到图IOC展示各种阈值电压分布且描述用于对非易失性存储器进行编程的过程。图IIA到图IIG为描绘各种实施例中对非易失性存储器进行编程的次序的表。图12为阐释在读取/验证操作期间某些信号的行为的时序图。图13为描述用于读取非易失性存储器的过程的一个实施例的流程图。图14为描述用于针对非易失性存储器执行读取操作的过程的一个实施例的流程图。 图15为描绘两个相邻存储器单元之间的电容性耦合的框图。 图16为描述用于恢复数据的过程的一个实施例的流程图。 图17为描述用于从多条字线恢复数据的过程的一个实施例的流程图。 图18为描述用于从下部页读取数据的过程的一个实施例的流程图。 图19为描述从上部页读取数据的过程的一个实施例的流程图。 图20为描述用于读取数据的过程的一个实施例的流程图。 图21为描述用于从上部页读取数据的过程的一个实施例的流程图。 图22为描述用于在不使用补偿的情况下读取数据的过程的一个实施例的流程图。 图23为描述用于在对浮动栅极到浮动栅极(或介电区到介电区)耦合进行补偿的 同时读取数据的过程的一个实施例的流程图。 图24为描绘用于确定数据值的过程的表。图25为描述用于使用校正来读取上部页数据的过程的一个实施例的流程图。 图26描绘一组示范性阈值电压分布(其说明阈值电压的表观移位)及两组读取参 考电压。图27为描绘用于使用不同组读取参考电压来读取相邻单元的过程的一个实施例的 流程图。图28为描绘用于使用不同组读取参考电压来读取相邻字线的过程的一个实施例的 流程图。图29描绘一组示范性阈值电压分布(其说明阈值电压的表观移位)及两组读取参 考电压。
具体实施方式
快闪存储器系统的一个实例使用NAND结构,其包括在两个选择栅极之间串联布置 多个晶体管。所述串联的晶体管及所述选择栅极称为NAND串。图1为展示一个NAND 串30的俯视图。图2为其等效电路。图1及图2描绘的NAND串包括在第一选择栅极 12与第二选择栅极22之间串联的四个晶体管10、 12、 14及16。选择栅极12将NAND 串连接到位线26。选择栅极22将NAND串连接到源极线28。通过经由选择线SGD向 控制栅极20CG施加适当电压来控制选择栅极12。通过经由选择线SGS向控制栅极22CG 施加适当电压来控制选择栅极22。晶体管10、 12、 14及16中的每一者包括控制栅极及 浮动栅极,其形成存储器单元的栅极元件。举例来说,晶体管10包括控制栅极10CG及浮动栅极IOFG。晶体管12包括控制栅极12CG及浮动栅极12FG。晶体管14包括控制栅极14CG及浮动栅极14FG。晶体管16包括控制栅极16CG及浮动栅极16FG。控制栅极IOCG连接到字线WL3,控制栅极12CG连接到字线WL2,控制栅极14CG连接到字线WL1,且控制栅极16CG连接到字线WL0。
在快闪EEPROM系统中有用的另一类型的存储器单元利用非传导性介电材料来替代传导性浮动栅极以便以非易失性方式存储电荷。此类单元在陈(Chan)等人所著的文章"真正的单晶体管氧化物-氮化物-氧化物EEPROM装置(A True Single-TransistorOxide-Nitride-Oxide EEPROM Device)" (IEEE电子装置快报,第EDL-8巻,第3号,1987年3月,第93到95页)中描述。由氧化硅、氮化硅及氧化硅("ONO")形成的三层式电介质夹在传导性控制栅极与半传导性衬底的表面之间位于存储器单元沟道上方。通过从单元沟道向氮化物中注入电子来对单元进行编程,在氮化物中将电子俘获并存储于有限区中。此存储的电荷接着以可检测的方式来改变单元的沟道的一部分的阈值电压。通过向氮化物中注入热空穴来对单元进行擦除。还请参见野崎(Nozaki)等人的"用于半导体磁盘应用的具有MONOS存储器单元的IMbEEPROM (A 1-Mb EEPROM withMONOS Memory Cell for Semiconductor Disk Application)" (IEEE固态电路杂志,第26巻,第4号,1991年4月,第497到501页),其描述具有分裂式栅极配置的类似单元,其中掺杂多晶硅栅极在存储器单元沟道的一部分上方延伸以形成单独的选择晶体管。前述两篇文章的全文以引用的方式并入本文中。在由威廉^布朗(William D. Brown)及乔.E.布鲁尔(Joe E. Brewer)编辑的"非易失性半导体存储器技术(NonvolatileSemiconductor Memory Technology)"(正EE出版社,1998年,其以引用的方式并入本文中)的章节1.2中提及的编程技术也在所述章节中经描述为可应用于介电电荷俘获装置。还可使用此段落中描述的存储器单元。因此,本文描述的技术还适用于不同存储器单元的介电区之间的耦合。
用以在每一单元中存储两个位的另一方法已由艾伊坦(Eitan)等人的"NROM:新颖的局部俘获式2位非易失性存储器单元(NROM: A Novel Localized Trapping, 2-BitNonvolatile Memory Cell) " (IEEE电子装置快报,第21巻,第11号,2000年11月,第543到545页)描述。ONO介电层延伸跨越源极扩散与漏极扩散之间的沟道。用于一个数据位的电荷局限于邻近于漏极的介电层中,且用于另一数据位的电荷局限于邻近于源极的介电层中。通过分别读取电介质内的在空间上分离的电荷存储区的二进制状态来获得多状态数据存储。还可使用此段落中描述的存储器单元。
请注意,虽然图l及图2展示NAND串中有四个存储器单元,但四个晶体管的使用仅被提供作为实例。NAND串可具有四个以下存储器单元或四个以上存储器单元。举例来说, 一些NAND串将包括八个存储器单元、16个存储器单元、32个存储器单元等。本文中的论述不限于NAND串中的任何特定数目的存储器单元。NAND型快闪存储器及其操作的相关实例在以下美国专利/专利申请案中提供,所有所述专利/专利申请案的
全文均以引用的方式并入本文中第5,570,315号美国专利;第5,774,397号美国专利;第6,046,935号美国专利;第5,386,422号美国专利;第6,456,528号美国专利;及第09/893,277号美国专利申请案(第US2003/0002348号公开案)。还可根据实施例而使用除NAND快闪存储器以外的其它类型的非易失性存储器。
使用NAND结构的快闪存储器系统的典型结构将包括若干NAND串。图3说明NAND串的示范性阵列100,所述NAND串例如为图1至U图2所示的NAND串。沿每一列,位线26耦合到NAND串的位线选择栅极的漏极端子。沿每一行NAND串,源极线可连接NAND串的源极线选择栅极的所有源极端子。
将存储器单元的阵列100划分为大量存储器单元块。如对于快闪EEPROM系统来说为常见的,块是擦除单位且可被称为擦除块或物理块。每一块可含有一起被擦除的最小数目的存储器单元,但可同时擦除多个块。在一些实施方案中,可一起擦除较小单位的单元。在图3中,块包括连接到共同组字线WL0-WL3的单元。举例来说,块90包括连接到字线WL0-WL3的每一 NAND串30。
在一个实施例中,每一存储器单元块包括形成若干列的一组位线以及形成若干行的一组字线。通常将每一块划分为许多页。页通常为编程或读取的最小单位,但可在单个操作中对一个以上页进行编程或读取。在另一实施例中,可将个别页划分为若干片段,且所述片段可含有作为基本编程操作来一次写入的最小数目的单元。通常将一个或一个以上数据页存储于一行存储器单元中。 一页可存储一个或一个以上数据扇区,所述扇区的大小通常由主机系统界定。扇区包括用户数据及额外开销数据。额外开销数据通常包括已根据扇区的用户数据而计算出的错误校正码(ECC)。控制器(下文描述)的一部分在数据正被编程到阵列中时计算ECC,且还在数据正被从阵列读取时检查ECC。或者,将ECC及/或其它额外开销数据存储于与其所属于的用户数据不同的页中或甚至不同的块中。用户数据扇区通常为512字节,其对应于通常用于磁盘驱动器中的扇区的大小。额外开销数据通常为额外的16到20字节。大量页形成块,从(例如)8个页到高达32个、64个或更多页。在一些实施例中, 一行NAND串组成一块。
在一个实施例中,将位线划分为偶数位线(BLe)及奇数位线(BLo)。在奇数/偶数位线结构中,在一个时间对沿共同字线且连接到奇数位线的存储器单元进行编程,而在另一时间对沿共同字线且连接到偶数位线的存储器单元进行编程。同时读取或编程的数 据形成逻辑页。
在其它实施例中,不将位线划分为奇数位线及偶数位线。此类结构通常称为全位线 结构。在全位线结构中,在读取及编程操作期间同时选择块的所有位线。同时对沿共同 字线且连接到任一位线的存储器单元进行编程。在其它实施例中,可将位线或块分解为 其它分组(例如,左侧及右侧、两个以上分组等等)。
图4说明具有用于并行地对存储器单元页进行读取及编程的读取/写入电路的存储 器装置110。存储器装置110可包括一个或一个以上存储器裸片或芯片112。存储器裸 片112包括二维存储器单元阵列100、控制电路120以及读取/写入电路130A及130B。 在图4的实施例中,在阵列的相对侧上以对称方式实施由各种外围电路进行的对存储器 阵列100的存取,使得每一侧上的存取线及电路的密度减半。在其它实施例中,可在阵 列的单侧上以非对称方式提供各种外围电路。读取/写入电路130A及130B包括多个感 测块200,其允许并行地读取或编程存储器单元页。存储器阵列IOO可由字线经由行解 码器140A及140B来寻址且可由位线经由列解码器142A及142B来寻址。在典型实施 例中,控制器144与所述一个或一个以上存储器裸片112包括于同一存储器装置IIO(例 如,可移除式存储卡或封装)中。经由线132在主机与控制器144之间以及经由线134 在控制器与所述一个或一个以上存储器裸片112之间传送命令及数据。
控制电路120与读取/写入电路130A及130B合作以对存储器阵列IOO执行存储器 操作。控制电路120包括状态机122、芯片上地址解码器124及功率控制模块126。状 态机122提供对存储器操作的芯片级控制。芯片上地址解码器124提供主机或存储器控 制器所使用的地址与解码器140A、 140B、 142A及142B使用的硬件地址之间的地址接 口。功率控制模块126控制在存储器操作期间供应到字线及位线的功率及电压。
图5为个别感测块200的框图,所述感测块200经分割为称为感测模块150的核心 部分及共同部分160。在一个实施例中,针对每一位线将存在单独的感测模块150且针 对一组多个感测模块150将存在一个共同部分160。在一个实例中,感测块将包括一个 共同部分160及八个感测模块150。一群组中的感测模块中的每一者将经由数据总线156 而与相关联的共同部分通信。关于进一步细节,请参看2004年12月29日申请的第 11/026,536号美国专利申请案"具有用于感测放大器集合的共享处理的非易失性存储器 及方法(Non-Volatile Memory & Method with Shared Processing for an Aggregate of Sense Amplifiers)",其全文以引用的方式并入本文中。
感测模块150包含感测电路154,其确定所连接的位线中的传导电流是高于还是低于预定阈值电平。感测模块150还包括位线锁存器152,其用以设定所连接的位线上的电压条件。举例来说,锁存于位线锁存器152中的预定状态将导致所连接的位线被拉到指示编程抑制的状态(例如,VDD)。
共同部分160包含处理器162、 一组数据锁存器164以及耦合于所述组数据锁存器164与数据总线168之间的1/0接口 166。处理器162执行计算。举例来说,其功能之一是确定存储于所感测的存储器单元中的数据及将所确定的数据存储于所述组数据锁存器中。所述组数据锁存器164用以存储在读取操作期间由处理器162确定的数据位。其还用以存储在编程操作期间从数据总线168引入的数据位。所引入的数据位表示打算被编程到存储器中的写入数据。
在读取或感测期间,系统的操作处于状态机122的控制下,所述状态机122控制将不同控制栅极电压供应到所寻址的单元。随着步进通过对应于存储器所支持的各种存储器状态的各种预定义控制栅极电压,感测模块150可在这些电压中的一者处跳脱,且输出将从感测模块150经由总线156而被提供到处理器162。在那点处,处理器162通过考虑感测模块的跳脱事件及关于从状态机经由输入线158施加的控制栅极电压的信息来确定所得存储器状态。其接着针对所述存储器状态计算二进制编码且将所得数据位存储到数据锁存器164中。在核心部分的另一实施例中,位线锁存器152服务于双重用途,作为用于锁存感测模块150的输出的锁存器且还作为如上文描述的位线锁存器。
预期一些实施方案将包括多个处理器162。在一个实施例中,每一处理器162将包括输出线(未描绘)以使得输出线中的每一者被线或在一起。在一些实施例中,输出线在被连接到线或线之前经反转。此配置使得能够在编程验证过程期间快速确定何时编程过程已完成,因为接收线或的状态机可确定何时正被编程的所有位己达到所需电平。举例来说,当每一位已达到其所需电平时,所述位的逻辑零将被发送到线或线(或者数据l被反转)。当所有位输出数据O (或经反转的数据l)时,于是状态机知道要终止编程过程。因为每一处理器与八个感测模块通信,所以状态机需要读取线或线八次,或者将逻辑添加到处理器162以累积相关联的位线的结果,使得状态机仅需要读取线或线一次。类似地,通过正确地选择逻辑电平,全局状态机可检测何时第一位改变其状态且相应地改变算法。
在编程或验证期间,从数据总线168将待编程的数据存储于所述组数据锁存器164中。处于状态机的控制下的编程操作包含施加到所寻址的存储器单元的控制栅极的一系列编程电压脉冲。每一编程脉冲之后为用以确定单元是否己被编程到所需存储器状态的读回(验证)。处理器162对照所需存储器状态监视所读回的存储器状态。当两者一致
14时,处理器162设定位线锁存器152以便致使位线被拉到指示编程抑制的状态。这抑制 经耦合到所述位线的单元使其免于进一步编程,即使编程脉冲出现于其控制栅极上。在 其它实施例中,处理器最初加载位线锁存器152,且感测电路在验证过程期间将其设定 为抑制值。
数据锁存器堆叠164含有对应于感测模块的一堆数据锁存器。在一个实施例中,每 感测模块150存在三个数据锁存器。在一些实施方案中(但并不要求),将数据锁存器 实施为移位寄存器,使得将存储于其中的并行数据转换成串行数据以用于数据总线168, 且反之亦然。在优选实施例中,对应于具有m个存储器单元的读取/写入块的所有数据 锁存器可被链接在一起以形成块移位寄存器,使得可通过串行传送来输入或输出数据 块。明确地说,具有r个读取/写入模块的组合经调适以使得它那组数据锁存器中的每一 数据锁存器将顺序地将数据移入数据总线或移出数据总线,如同所述数据锁存器为用于 整个读取/写入块的移位寄存器的部分。
关于非易失性存储装置的各种实施例的结构及/或操作的额外信息可参见以下文献 (1) 2004年3月25日公开的第2004/0057287号美国专利申请公开案"具有减少的源极 线偏置错误的非易失性存储器及方法(Non-Volatile Memory And Method With Reduced Source Line Bias Errors) " ; (2) 2004年6月10日公开的第2004/0109357号美国专利 申请公开案"具有改进的感测的非易失性存储器及方法(Non-Volatile Memory And Method with Improved Sensing) " ; (3) 2004年12月16日申请的发明人为劳尔-阿德里 安-切尔内亚(Raul-Adrian Cernea)且标题为"改进的存储器感测电路及用于低电压操 作的方法(Improved Memory Sensing Circuit And Method For Low Voltage Operation)" 的第11/015,199号美国专利申请案;(4)2005年4月5日申请的发明人为陈建(Jian Chen) 且标题为"在非易失性存储器读取操作期间补偿耦合(Compensating for Coupling During Read Operations of Non-Volatile Memory)"的第11/099,133号美国专利申请案;以及(5) 2005年12月28日申请的发明人为陈小龙(Siu Lung Chan)及劳尔-阿德里安'切尔内 亚(Raul-Adrian Cernea)且标题为"用于非易失性存储器的参考感测放大器(Reference Sense Amplifier For Non-Volatile Memory)"的第11/321,953号美国专利申请案。所有五 个以上列出的专利文献的全文均以引用的方式并入本文中。
在一个实施例中,将数据编程到沿共同字线的存储器单元。因此,在施加图9的编 程脉冲之前,选择所述字线中的一者以用于编程。此字线将被称为选定字线。块的剩余 字线被称为未选定字线。选定字线可具有一个或两个相邻字线。如果选定字线具有两个 相邻字线,则将漏极侧上的相邻字线称为漏极侧相邻字线且将源极侧上的相邻字线称为源极侧相邻字线。举例来说,如果图2的WL2为选定字线,则WL1为源极侧相邻字线且WL3为漏极侧相邻字线。
当在一个实例中对存储器单元进行编程时,漏极及p阱接收OV,而控制栅极接收具有递增量值的一系列编程脉冲。在一个实施例中,所述系列中的脉冲的量值在从12 V到24V的范围内。在其它实施例中,所述系列中的脉冲的范围可有所不同,例如,具有高于12 V的起始电平。在对存储器单元的编程期间,在编程脉冲之间的时期中实行验证操作。也就是说,在每一编程脉冲之间读取正被并行编程的一群组单元中的每一单元的编程电平,以确定其是否已达到或超过其正被编程到的验证电平。 一种验证编程的方式是在特定比较点处测试传导性。通过针对所有后续编程脉冲使位线电压从O升高到VDD (例如,1.8V到3.3V)来例如在NAND单元中封锁经验证为被充分编程的单元,以终止那些单元的编程过程。在一些情况下,将限制脉冲的数目(例如,20个脉冲),且如果给定存储器单元未由最后脉冲充分编程,则假设存在错误。在一些实施方案中,在编程之前对存储器单元进行擦除(以块或其它单位)。
图6描绘根据一个实施例的编程电压信号。此信号具有一组具有递增量值的脉冲。脉冲的量值以预定步长随每一脉冲增大。在包括存储多个数据位的存储器单元的一个实施例中,示范性步长为0.2V (或0.4V)。在编程脉冲中的每一者之间为验证脉冲。图6的信号假设四状态存储器单元,因此其包括三个验证脉冲。举例来说,在编程脉冲240与242之间为三个顺序验证脉冲。第一验证脉冲244经描绘为处于OV验证电压电平。第二验证脉冲246跟随第一验证脉冲之后处于第二验证电压电平。第三验证脉冲248跟随第二验证脉冲之后处于第三验证电压电平。举例来说,能够以八个状态存储数据的多状态存储器单元可能需要在七个比较点处执行验证操作。因此,将顺序地施加七个验证脉冲以在两个连续编程脉冲之间以七个验证电平执行七个验证操作。基于所述七个验证操作,系统可确定存储器单元的状态。 一种用于减少验证的时间负担的方式是使用(例如)如以下文献中所揭示的较有效的验证过程2002年12月5日申请的标题为"用于多状态存储器的智能验证(Smart Verify for Multi-State Memories)"的第10/314,055号美国专利申请案;2005年10月27日申请的标题为"用于使用智能验证对多状态非易失性存储器进行编程的设备(Apparatus for Programming of Multi-State Non-Volatile MemoryUsing Smart Verify)"的第11/259,799号美国专利申请案;以及2005年10月27日申请的标题为"用于使用智能验证对多状态非易失性存储器进行编程的方法(Method forProgramming of Multi-State Non-Volatile Memory Using Smart Verify)"的第11/260,658号美国专利申请案,所有所述申请案的全文均以引用的方式并入本文中。图7为描述用于对非易失性存储器进行编程的方法的一个实施例的流程图。在步骤 200处,对待编程的存储器单元进行擦除。步骤200可包括对比待编程的存储器单元多 的存储器单元进行擦除(例如,以块或其它单位)。在步骤202处,执行软编程以使己 擦除的存储器单元的已擦除阈值电压分布变窄。 一些存储器单元可能由于擦除过程而处 于比必要深的已擦除状态。软编程可施加小编程脉冲来使已擦除的存储器单元的阈值电 压移动到较靠近擦除验证电平。在步骤204处,由控制器144发布"数据加载"命令, 且将其输入到控制电路120,从而允许将数据输入到数据输入/输出缓冲器。输入的数据 被视为命令且经由输入到控制电路120的命令锁存信号(未说明)而由状态机122锁存。 在步骤206处,将指示页地址的地址数据从控制器或主机输入到行控制器或解码器140A 及140B。输入的数据被视为页地址且经由状态机122锁存,这受输入到控制电路的地 址锁存信号影响。在步骤208处,将用于所寻址页的编程数据页输入到数据输入/输出缓 冲器以用于编程。举例来说,在一个实施例中可输入532字节的数据。将所述数据锁存 于用于选定位线的适当寄存器中。在一些实施例中,还将数据锁存于用于选定位线的第 二寄存器中以用于验证操作。在步骤210处,由控制器发布"编程"命令,且将其输入 到数据输入/输出缓冲器。经由输入到控制电路的命令锁存信号而由状态机122锁存所述 命令。
当由"编程"命令触发时,将使用图6的施加到适当字线的步进脉冲把步骤208中 所锁存的数据编程到受状态机122控制的选定存储器单元中。在步骤212处,将施加到 选定字线的编程脉冲电压电平VpcM初始化为起始脉冲(例如,12 V),且将由状态机122 维持的编程计数器PC初始化为0。在步骤214处,向选定字线施加第一 Vpgm脉冲。如 果将逻辑"0"存储于特定数据锁存器中,从而指示应对对应存储器单元进行编程,则 将对应位线接地。另一方面,如果将逻辑"l"存储于特 定锁存器中,从而指示应将对 应存储器单元保持于其当前数据状态,则将对应位线连接到VDD以抑制编程。
在步骤216处,对选定存储器单元的状态进行验证。如果检测到选定单元的目标阈 值电压已达到适当电平,则将存储于对应数据锁存器中的数据改变为逻辑"1"。如果检 测到阈值电压尚未达到适当电平,则不改变存储于对应数据锁存器中的数据。以此方式, 将逻辑"1"存储于其对应数据锁存器中的位线无需被编程。当所有数据锁存器正存储 逻辑"1"时,状态机知道所有选定单元均已被编程。在步骤218处,检查是否所有数 据锁存器均正存储逻辑"1"。如果是,则编程过程完成且成功,因为所有选定存储器单 元均已被编程并被验证为达到其目标状态。在步骤220处,报告"通过"状态。
如果在步骤218处确定并非所有数据锁存器均正存储逻辑"1",则编程过程继续进行。在步骤222处,对照编程极限值而检査编程计数器PC。编程极限值的一个实例为20,然而,可使用其它值。如果编程计数器PC不小于20,则在步骤226处确定尚未经成功编程的单元的数目是否等于或小于预定数目。如果未经成功编程的位的数目等于或小于预定数目,则将编程过程标记为通过,且在步骤228处报告通过状态。可在读取过程期间使用错误校正来校正未经成功编程的位。然而,如果未经成功编程的位的数目大于预定数目,则将编程过程标记为失败,且在步骤230处报告失败状态。如果编程计数器PC小于20,则在步骤224处,使VPCM电平增大达步长的量且使编程计数器PC递增。在步骤224之后,过程循环回到步骤214以施加下一 Vpcm脉冲。
图7的流程图描绘可针对二进制存储装置所应用的单遍编程方法。举例来说,在可针对多级存储装置所应用的两遍式编程方法中,可在流程图的单个迭代中使用多个编程或验证步骤。可针对编程操作的每一遍执行步骤212到230。在第一遍中,可施加一个或一个以上编程脉冲且验证其结果以确定单元是否处于适当中间状态。在第二遍中,可施加一个或一个以上编程脉冲且验证其结果以确定单元是否处于适当最终状态。
在成功编程过程的末尾,存储器单元的阈值电压应处于已编程的存储器单元的一个或一个以上阈值电压分布内或处于已擦除的存储器单元的阈值电压分布内。可将存储器单元的可能阈值电压的范围划分为表示相异存储器状态的若干范围。举例来说,可使用两个阈值电压范围来建立被指派逻辑数据"1"及"0"的两个存储器状态。存储器单元还可通过利用两个以上阈值电压范围表示相异存储器状态来存储多个数字数据位。可将阈值电压窗划分为所述数目的所需存储器状态及用以解析个别状态的多个电压断点电平。举例来说,如果使用四个状态,则将存在表示四个相异存储器状态的四个阈值电压范围,其可被指派数据值11、 10、 Ol及OO。被编程到存储器单元中的数据与单元的阈值电压范围之间的特定关系取决于针对所述存储器单元所采用的数据编码方案。第6,222,762号美国专利及2003年6月13日申请的第10/461,244号美国专利申请案"跟踪存储器系统的单元(Tracking Cells For A Memory System)"描述用于多状态快闪存储器单元的各种数据编码方案,所述专利文献两者的全文均以引用的方式并入本文中。
图8说明在每一存储器单元存储两个数据位时的一群组存储器单元的阈值电压分布。图8展示已擦除的存储器单元的第一阈值电压分布E及已编程的存储器单元的三个阈值电压分布A、 B及C。在一个实施例中,E分布中的阈值电压为负,且A、 B及C分布中的阈值电压为正。图8的每一相异阈值电压范围对应于所述组数据位的预定值。被编程到存储器单元中的数据与单元的阈值电压电平之间的特定关系取决于针对所述单元所采用的数据编码方案。在一个实施例中,使用格雷码指派向阈值电压范围指派数据值,使得如果浮动栅极的阈值电压错误地移位到其相邻物理状态,则将仅影响一个位。 然而,在其它实施例中,不使用格雷译码。 一个实例向阈值电压范围E (状态E)指派 "11",向阈值电压范围A(状态A)指派"10",向阈值电压范围B (状态B)指派"00", 且向阈值电压范围C (状态C)指派"01"。虽然图8展示四个状态,但还可配合其它二 进制或多状态结构(包括那些包括四个以上或四个以下状态的结构)来使用根据本发明 的实施例。
图8还描绘全序列编程技术。在全序列编程中,直接将存储器单元从已擦除状态E 编程到已编程状态A、 B或C中的任一者。可首先对待编程的存储器单元群体进行擦除, 使得所有存储器单元处于已擦除状态E。接着向选定存储器单元的控制栅极施加一系列 编程电压脉冲来直接将存储器单元编程到状态A、 B或C中。在将一些存储器单元从状 态E编程到状态A的同时,将其它存储器单元从状态E编程到状态B且/或从状态E编 程到状态C。
图9说明对存储两个不同页(下部页及上部页)的数据的多状态存储器单元进行编 程的两遍式技术的实例。描绘四个状态。对于状态E,两个页均存储"l"。对于状态A, 下部页存储"0"且上部页存储"l"。对于状态B,两个页均存储"0"。对于状态C,下 部页存储l且上部页存储"0"。虽然已向所述状态中的每一者指派了特定位模式,但可 指派不同位模式。
在第一遍编程中,根据待编程到下部逻辑页中的位而设定单元的阈值电压电平。如 果所述位为逻辑"l",则不改变阈值电压,因为其由于早先已被擦除而处于适当状态。 然而,如果待编程的位为逻辑"0",则使单元的阈值电平增加到状态A,如由箭头250 所示。此使得第一遍编程结束。
在第二遍编程中,根据正被编程到上部逻辑页中的位而设定单元的阈值电压电平。 如果上部逻辑页位将存储逻辑1,则无编程发生,因为单元依据下部页位的编程而处于 状态E或A中的一者,所述两个状态均携载上部页位1。如果上部页位将为逻辑O,则 使阈值电压移位。如果第一遍导致单元保持于已擦除状态E,则在第二遍中,对单元进 行编程,使得阈值电压增大为处于状态C,如由箭头254所描绘。如果单元由于第一遍 编程而已被编程到状态A中,则在第二遍中进一步对存储器单元进行编程,使得闺值电 压增大为处于状态B,如由箭头252所描绘。第二遍的结果是在不改变下部页的数据的 情况下将单元编程到经指定以针对上部页存储逻辑"0"的状态。
图IOA到图IOC揭示用于对非易失性存储器进行编程的过程,其通过针对任一特定 存储器单元在针对先前页对邻近存储器单元进行写入之后相对于特定页对所述特定存
19储器单元进行写入来减小浮动栅极到浮动栅极耦合。此技术可在本文中称为最后最先编程模式(LM)。在图IOA到图IOC的实例中,每一单元使用四个数据状态每存储器单元存储两个数据位。已擦除状态E存储数据11,状态A存储数据Ol,状态B存储数据10,且状态C存储数据00。还可使用数据到物理数据状态的其它编码。每一存储器单元存储两个逻辑数据页的一部分。出于参考目的,将这些页称为上部页及下部页,但可给予它们其它标签。状态A经编码以针对上部页存储位O且针对下部页存储位1,状态B经编码以针对上部页存储位1且针对下部页存储位0,且状态C经编码以针对两个页存储位0。在图10A中描绘的第一步骤中对用于处于字线WLn处的存储器单元的下部页数据进行编程,且在图IOC中描绘的第二步骤中对用于所述单元的上部页数据进行编程。如果下部页数据将针对单元保持数据1,则所述单元的阈值电压在第一步骤期间保持于状态E。如果下部页数据将被编程为0,则存储器单元的阈值电压升高到状态B'。状态B'是具有低于Vvb的验证电平Vvb'的中间状态B。
在一个实施例中,在对用于存储器单元的下部页数据进行编程之后,将相对于下部页来对处于邻近字线WLn+l处的相邻存储器单元进行编程。举例来说,可在用于处于WL1处的存储器单元的下部页之后对用于图1到图3中处于WL2处的存储器单元的下部页进行编程。如果存储器单元10的阈值电压在对存储器单元12进行编程之后从状态E升高到状态B',则浮动栅极耦合可使存储器单元12的表观阈值电压升高。对处于WLn处的存储器单元的累积性耦合效应将加宽所述单元的阔值电压的表观阈值电压分布,如图10B中所描绘。可在对用于所关注字线的上部页进行编程时矫正阈值电压分布的表观加宽,如图IOC所示。
图IOC描绘对用于处于WLn处的单元的上部页进行编程的过程。如果存储器单元处于已擦除状态E且其上部页位将保持于1,则使存储器单元保持于状态E。如果存储器单元处于状态E且其上部页数据位将被编程为0,则使存储器单元的阈值电压升高以处于状态A的范围内。如果存储器单元处于中间阈值电压分布B'中且其上部页数据将保持l,则将存储器单元编程到最终状态B。如果存储器单元处于中间阈值电压分布B'中且其上部页数据将变为数据O,则使存储器单元的阈值电压升高以处于状态C的范围内。图IOA到图IOC所描绘的过程减小浮动栅极耦合的效应,因为仅相邻存储器单元的上部页编程将影响给定存储器单元的表观阈值电压。此技术的替代状态译码的实例是在上部页数据为1时从中间状态B'移动到状态C,且在上部页数据为O时移动到状态B。虽然图IOA到图IOC提供关于四个数据状态及两个数据页的实例,但可将所述概念应用于具有四个以上或四个以下状态及不同数目的页的其它实施方案。图IIA到图IIF描绘各种表,所述表描述根据图8、图9及图IOA到图10C中描述的方法的各种实施例的编程次序。
图IIA为描述用于全位线编程的对沿位线的存储器单元进行编程的次序的表。在此实施例中,具有四条字线的块包括四个页(页0到3)。首先写入页0,随后为页l,随后为页2且接着为页3。页0中的数据包括由连接到字线WLO的所有存储器单元存储的数据。页1中的数据包括由连接到字线WL1的存储器单元存储的数据。页2中的数据包括由连接到WL2的存储器单元存储的数据。页3中的数据包括由连接到字线WL3的存储器单元存储的数据。图IIA的实施例假设如上文相对于图8而描述的全序列编程。
图11B描绘在使用上文相对于图8而描述的全序列编程方法时在奇数/偶数编程期间进行编程的次序。在此实施例中,具有四条字线的块包括八个数据页。偶数位线上的连接到字线WLO的存储器单元存储页0的数据。奇数位线上的连接到字线WLO的存储器单元存储页1的数据。偶数位线上的连接到字线WL1的存储器单元存储页2的数据。奇数位线上的连接到字线WL1的存储器单元存储页3的数据。偶数位线上的连接到字线WL2的存储器单元存储页4的数据。奇数位线上的连接到字线WL2的存储器单元存储页5的数据。偶数位线上的连接到字线WL3的存储器单元存储页6的数据。奇数位线上的连接到字线WL3的存储器单元存储页7的数据。以根据页编号的数字次序(从页0到页7)来对数据进行编程。
图11C的表描述针对执行全位线编程的存储器阵列而根据图9的两阶段编程过程进行编程的次序。具有四条字线的块被描绘为包括八个页。对于连接到字线WLO的存储器单元,下部页的数据形成页O且上部页数据形成页1。对于连接到字线WL1的存储器单元,下部页的数据形成页2且上部页数据形成页3。对于连接到字线WL2的存储器单元,下部页的数据形成页4且上部页数据形成页5。对于连接到字线WL3的存储器单元,下部页的数据形成页6且上部页数据形成页7。以根据页编号的数字次序(从页0到页7)来对数据进行编程。
图11D提供描述针对执行奇数/偶数编程的存储器结构而对图9的两阶段编程过程进行编程的次序的表。具有四条字线的块包括16个页,其中以根据页编号的数字次序(从页0到页15)来对页进行编程。对于偶数位线上的连接到字线WLO的存储器单元,下部页的数据形成页0且上部页数据形成页2。对于奇数位线上的连接到字线WLO的存储器单元,下部页的数据形成页1且上部页的数据形成页3。对于偶数位线上的连接到字线WL1的存储器单元,下部页形成页4且上部页形成页6。对于奇数位线上的连接到字线WL1的存储器单元,下部页形成页5且上部页形成页7。对于偶数位线上的连接到字线WL2的存储器单元,下部页形成页8且上部页形成页10。对于奇数位线上的连接 到字线WL2的存储器单元,下部页形成页9且上部页形成页11。对于偶数位线上的连 接到字线WL3的存储器单元,下部页形成页12且上部页形成页14。对于奇数位线上的 连接到字线WL3的存储器单元,下部页形成页13且上部页形成页15。或者,如在图 14E中,偶数位线的位于每一字线下的下部页及上部页两者在对奇数位线的用于此同一 字线的两个页进行编程之前得到编程。
图IIF及图IIG描述利用图IOA到图10C的编程方法来对存储器单元进行编程的 次序。图IIF关于执行全位线编程的结构。对于连接到字线WL0的存储器单元,下部 页形成页0且上部页形成页2。对于连接到字线WL1的存储器单元,下部页形成页1 且上部页形成页4。对于连接到字线WL2的存储器单元,下部页形成页3且上部页形成 页6。对于连接到字线WL3的存储器单元,下部页形成页5且上部页形成页7。以根据 页编号的数字次序(从页0到页7)来对存储器单元进行编程。
图11G的表关于执行奇数/偶数编程的结构。对于偶数位线上的连接到字线WLO的 存储器单元,下部页形成页0且上部页形成页4。对于奇数位线上的连接到字线WLO 的存储器单元,下部页形成页l且上部页形成页5。对于偶数位线上的连接到字线WL1 的存储器单元,下部页形成页2且上部页形成页8。对于奇数位线上的连接到字线WL1 的存储器单元,下部页形成页3且上部页形成页9。对于偶数位线上的连接到字线WL2 的存储器单元,下部页形成页6且上部页形成页12。对于奇数位线上的连接到字线WL2 的存储器单元,下部页形成页7且上部页形成页13。对于偶数位线上的连接到字线WL3 的存储器单元,下部页形成页10且上部页形成页14。对于奇数位线上的连接到字线 WL3的存储器单元,下部页形成页11且上部页形成页15。以根据页编号的数字次序(从 页0到页15)来对存储器单元进行编程。最后,可实施具有偶数及奇数位线两者的结构 中的每一者,其中所有偶数位线在物理上一起定位于(例如)芯片的左侧,且所有奇数 位线一起定位于(例如)芯片的右侧。
请注意,在图11A到图11G的实施例中,沿NAND串从源极侧向漏极侧对存储器 单元进行编程。而且,所述表仅描绘具有四条字线的实施例。可将所述表内描绘的各种 方法应用于具有四条以上或四条以下字线的系统及通过适当修改次序而在不同方向(例 如,漏极到源极)上进行编程。使用奇数/偶数编程的结构的实例可参见第6,522,580号 及第6,643,188号美国专利;所述两个专利的全文以引用的方式并入本文中。关于使用 全位线编程的结构的更多信息可参见以下美国专利文献,其全文以引用的方式并入第 US 2004/0057283号美国专利申请公开案;第US 2004/0060031号美国专利申请公开案;第US 2004/0057285号美国专利申请公开案;第US 2004/0057287号美国专利申请公开案;第US 2004/0057318号美国专利申请公开案;第6,771,536号美国专利;第6,781,877
号美国专利。
在一个实施例中,通过使p阱升高到擦除电压(例如,20伏)持续充足时期且在源极线及位线为浮动的同时使选定块的字线接地来对存储器单元进行擦除。因此,向选定存储器单元的隧道氧化物层施加强电场,且在将浮动栅极的电子发射到衬底侧时擦除选定存储器单元的数据。随着电子从浮动栅极转移到p阱区,选定单元的阈值电压降低。待抑制擦除的那些单元使其字线设定为浮动条件。由于电容性耦合的缘故,未选定的字线、位线、选择线及共同源极线也升高到擦除电压的相当大部分,因此抑制对未选定单元的擦除。可对整个存储器阵列、单独块或另一单位的单元执行擦除。
为了读取非易失性存储器,通常在每一状态之间建立至少一个参考阈值电压电平以
便将存储器单元的阈值电压存储器窗分割为所使用的所述数目的范围。在通过向单元的栅极施加对应于参考阈值电压电平的预定固定电压(例如,读取参考电压)来读取单元时,通过将传导与断点电平或参考电流进行比较来建立其源极/漏极传导状态。一般来说,一起对所有位线进行编程的结构将一起从所有位线读取数据。类似地,单独地对奇数及偶数位线进行编程的结构通常将单独地读取奇数及偶数位线。然而,并不要求此类限制。本文描述的用于读取数据的技术可配合全位线编程或奇数/偶数位线编程而使用。本文描述的用于读取数据的技术还可用于图8到图9及图IOA到图IOC的编程方案中的任一者以及其它编程方案。
图8展示用于从存储器单元读取数据的三个读取参考电压VrA、 VrB及VrC。通过测试给定存储器单元的阈值电压是高于还是低于VrA、 VrB及VrC,系统可确定存储器单元处于何种状态。如果存储器单元在VrA施加到其控制栅极时传导,则存储器单元处于状态E。如果存储器单元在VrB及VrC下而非在VrA下传导,则存储器单元处于状态A。如果存储器单元在VrC下而非在VrA及VrB下传导,则存储器单元处于状态B。如果存储器单元在VrA、 VrB或VrC下不传导,则存储器单元处于状态C。图8还展示三个验证参考电压VvA、 VvB及VvC。在将存储器单元编程到状态A时,系统测试那些存储器单元是否具有大于或等于VvA的阈值电压。在将存储器单元编程到状态B时,系统将测试存储器单元是否具有大于或等于VvB的阈值电压。在将存储器单元编程到状态C时,系统将确定存储器单元是否具有大于或等于VvC的阈值电压。
图12为描绘在读取或验证过程的一个迭代期间各种信号的行为的时序图。图12的过程的每一迭代表示对每一单元存储器的单个感测操作。如果存储器单元为二进制存储
23器单元,则可执行图12的过程一次。如果存储器单元为具有四个状态(例如,E、 A、 B及C)的多状态存储器单元,则可针对每一存储器单元执行图12的过程三次(三个感 测操作)。
一般来说,在读取及验证操作期间,将选定字线(例如,图3的WL2)连接到读取 参考电压Vcgr,针对每一读取及验证操作指定所述读取参考电压的电平以便确定所关注 存储器单元的阈值电压是否已达到所述电平。使选定块的选择栅极升高到一个或一个以 上选择电压,且使选定块的未选定字线(例如,图3的WL0、 WL1及WL3)升高到读 取通过电压Vread (例如,4.5伏)以使得晶体管作为通过门来操作。在施加字线电压之 后,测量存储器单元的传导电流以确定存储器单元是否响应于施加到字线的电压而接 通。如果传导电流经测量为大于特定值,则假设存储器单元接通且施加到字线的电压大 于存储器单元的阈值电压。如果传导电流经测量为不大于特定值,则假设存储器单元未 接通且施加到字线的电压不大于存储器单元的阈值电压。
存在许多方式来在读取或验证操作期间测量存储器单元的传导电流。在一个实例 中,依据存储器单元使感测放大器中的专用电容器放电的速率来测量所述存储器单元的 传导电流。在另一实例中,选定存储器单元的传导电流允许(或未能允许)包括所述存 储器单元的NAND串使位线放电。在一段时期之后测量位线上的电荷以査看其是否已被 放电。
图12展示信号SGD、 WL—unsel、 WLn+l、 WLn、 SGS、选定BL、 BLCLAMP及源
极,所述信号开始于Vss (近似0伏)。SGD为漏极侧选择栅极的栅极选择线。SGS为 源极侧选择栅极的栅极选择线。WLn为经选择以用于读取/验证的字线。WLn+l为未选 定字线,其为WLn的漏极侧相邻字线。WL—unsd表示除漏极侧相邻字线以外的未选定 字线。选定BL为经选择以用于读取/验证的位线。源极为存储器单元的源极线(见图3)。 BLCLAMP为设定位线在从感测放大器充电时的值的模拟信号。请注意,描绘有SGS、 选定BL及BLCLAMP的两个版本。 一个组的这些信号SGS(B)、选定BL(B)及 BLCLAMP(B)描绘对存储器单元阵列的读取/验证操作,其通过确定位线是否已放电来测 量存储器单元的传导电流。另一组的这些信号SGS(C)、选定BL(C)及BLCLAMP(C)描 绘对存储器单元阵列的读取/验证操作,其依据存储器单元使感测放大器中的专用电容器 放电的速率来测量所述存储器单元的传导电流。
首先,将相对于SGS(B)、选定BL(B)及BLCLAMP(B)来论述在通过确定位线是否 已放电而测量存储器单元的传导电流中所涉及的感测电路及存储器单元阵列的行为。在 图12的时间tl处,SGD升高到Vdd (例如,近似3.5伏),未选定字线(WL—unsd)升高到Vread (例如,近似5.5伏),漏极侧相邻字线(WLn+l)升高到VreadX,选定字线WLn升高到用于读取操作的Vcgr (例如,图8、图9及图IOA到图10C的Vra、 Vrb或Vrc)或用于验证操作的验证电平Vcgv (例如,Vva、 Vvb或Vvc),且BLCLAMP(B)升高到预充电电压以对选定位线选定BL(B)进行预充电(例如,预充电到近似0.7V)。电压Vread及VreadX充当通过电压,因为其致使未选定存储器单元接通(不管物理状态或阈值电压)且充当通过门。在时间t2处,BLCLAMP(B)降低至U Vss,因此NAND串可控制位线。还在时间t2处,通过使SGS(B)升高到VDD来接通源极侧选择栅极。这提供用以耗散位线上的电荷的途径。如果经选定用于读取的存储器单元的阈值电压大于施加到选定字线WLn的Vcgr或Vcgv,则选定存储器单元将不接通且位线将不放电,如由信号线260所描绘。如果经选定用于读取的存储器单元中的阈值电压低于施加到选定字线WLn的Vcgr或Vcgv,则经选定用于读取的存储器单元将接通(传导)且位线电压将耗散,如由曲线262所描绘。在时间t2之后且在时间t3之前的某一点处(由特定实施方案所确定),感测放大器将确定位线是否已耗散充分量。在t2与t3之间,BLCLAMP(B)升高以使得感测放大器测量所评估的BL电压且接着下降。在时间t3处,所描绘的信号将降低到Vss (或用于待机或恢复的另一值)。请注意,在其它实施例中,可改变所述信号中的一些信号的时序(例如,使施加到相邻者的信号移位)。
接下来,将相对于SGS(C)、选定BL(C)及BLCLAMP(C)来论述以存储器单元使感测放大器中的专用电容器放电的速率而测量所述存储器单元的传导电流的感测电路及存储器单元阵列的行为。在图9的时间tl处,SGD升高到VDD (例如,近似3.5伏),未选定字线(WL—unsel)升高到Vread (例如,近似5.5伏),漏极侧相邻字线(WLn+l)升高到VreadX,选定字线WLn升高到用于读取操作的Vcgr (例如,图11的Vra、 Vrb或Vrc)或用于验证操作的Vcgv (例如,图11的Vva、 Vvb或Vvc),且BLCLAMP(C)升高。在此情况下,感测放大器保持位线电压恒定而不管NAND串正在做什么,因此感测放大器在使位线"箝位"到所述电压的情况下测量电流流动。因此,BLCLAMP(C)在tl处升高且从tl到t3不改变。在时间tl之后且在时间t3之前的某一点处(由特定实施方案所确定),感测放大器将确定感测放大器中的电容器是否已耗散充分量。在时间t3处,所描绘的信号将降低到Vss (或用于待机或恢复的另一值)。请注意,在其它实施例中,可改变所述信号中的一些信号的时序。
图13为描述用于从非易失性存储器单元(例如根据图8、图9或图10A到图10C的技术而编程的存储器单元)读取数据的一个实施例的流程图。图13提供系统层级的读取过程。在步骤300处,接收对读取数据的请求。在步骤302处,响应于所述对读取数据的请求而针对特定页执行读取操作。在一个实施例中,在对用于页的数据进行编程 时,系统还将创建用于错误校正码(ECC)的额外位且将那些ECC位连同数据页一起写 入。ECC技术在此项技术中是众所周知的。所使用的ECC过程可包括此项技术中己知 的任何合适ECC过程。当从页读取数据时,将在步骤304处使用ECC位来确定所述数 据中是否存在任何错误。所述ECC过程可由控制器、状态机或所述系统中的其它地方 来执行。如果数据中不存在错误,则在步骤306处将数据报告给用户。如果在步骤304 处发现错误,则在步骤308处确定错误是否可校正。错误可能归因于浮动栅极到浮动栅 极耦合或其它原因。各种ECC方法具有校正一组数据中的预定数目的错误的能力。如 果ECC过程可校正数据,则在步骤310处使用ECC过程来校正所述数据,且在步骤312 处将经校正的数据报告给用户。如果数据不能由ECC过程来校正,则在步骤314处执 行数据恢复过程。在一些实施例中,将在步骤314之后执行ECC过程。下文中描述关 于数据恢复过程的更多细节。在恢复数据之后,在步骤316处报告所述数据。在步骤318 处,过程在存在额外页待读取的情况下循环回到步骤302,或在步骤320处结束。请注 意,可配合使用全位线编程或奇数/偶数位线编程而已编程的数据来使用图13的过程。
图14为描述用于针对页执行读取操作的过程(图13的步骤302)的一个实施例的 流程图。可针对包含块的所有位线、仅包含块的奇数位线、仅包含块的偶数位线或包含 块的其它位线子集的页执行图14的过程。在步骤320处,向与所述页相关联的适当字 线施加读取参考电压Vra。在步骤322处,感测与所述页相关联的位线来确定所寻址的 存储器单元是否接通(基于将Vra施加到其控制栅极)。传导的位线指示存储器单元接 通;因此,那些存储器单元的阈值电压低于Vra (例如,在状态E中)。在步骤324处, 将位线的感测结果存储于用于那些位线的适当锁存器(例如,锁存器202)中。在步骤 326处,向与正被读取的页相关联的字线施加读取参考电压Vrb。在步骤328处,如上 文所述而感测位线。在步骤330处,将结果存储于用于所述位线的适当锁存器中。在步 骤332处,向与所述页相关联的字线施加读取参考电压Vrc。在步骤334处,感测位线 以确定哪些存储器单元接通,如上文所述。在步骤336处,将来自感测步骤的结果存储 于用于所述位线的适当锁存器中。在步骤338处,确定每一位线的数据值。举例来说, 如果存储器单元在Vra下传导,则存储器单元处于状态E。如果存储器单元在Vrb及Vrc 下而非在Vra下传导,则存储器单元处于状态A。如果存储器单元在Vrc下而非在Vm 及Vrb下传导,则存储器单元处于状态B。如果存储器单元在Vra、 Vrb或Vrc下不传导, 则存储器单元处于状态C。在一个实施例中,由处理器162确定数据值。在步骤340处, 处理器162将把所确定的数据值存储于用于每一位线的适当锁存器(例如,锁存器164)中。在其它实施例中,感测所述各种电平(Vra、 Vrb及Vrc)可以不同次序发生。
步骤320到324可包括执行图12中所描绘的操作,其中Vcgr-Vra且VreadX=Vread。步骤326到330可包括执行图12中所描绘的操作,其中Vcgr=Vrb且VreadX=Vread。步骤332到336可包括执行图12中所描绘的操作,其中Vcgr=Vrc且VreadX=Vread。
浮动栅极耦合可在读取操作期间造成错误。存储于存储器单元的浮动栅极上的电荷可由于与存储于相邻存储器单元的浮动栅极或其它电荷存储区(例如,介电电荷存储区)处的电荷相关联的电场耦合而经历表观移位。虽然在理论上,来自存储器阵列中的任何存储器单元的浮动栅极上的电荷的电场可耦合到所述阵列中的任何其它存储器单元的浮动栅极,但如先前所提及,所述效应对于邻近存储器单元最为显著且值得注意。电荷的表观移位可在读取存储器单元的存储器状态时导致错误。
浮动栅极耦合的效应在邻近于目标存储器单元的存储器单元在目标存储器单元之后被编程的情形中最为显著,但同样可在其它情形中见到其效应。放置于邻近存储器单元的浮动栅极上的电荷或所述电荷的一部分将通过电场耦合而有效地耦合到目标存储器单元,从而导致目标存储器单元的阈值电压的表观移位。存储器单元的表观阈值电压可在进行编程之后移位到这样的程度其在所施加的读取参考电压下将不会如针对处于希望被编程到的存储器状态的存储器单元所预期的情况那样而接通及断开(传导)。
通常,以邻近于源极侧选择栅极线的字线(WLO)开始来对存储器单元行进行编程。编程在其后按字线(WU、 WL2、 WL3等)顺序地前进通过单元串,使得在完成对先前字线(WLn)的编程(将字线的每一单元置于其最终状态)之后在邻近字线(WLn+l)中编程至少一个数据页。此编程模式导致存储器单元的阈值电压在进行编程之后由于浮动栅极耦合而发生表观移位。对于NAND串的除最后字线以外的待编程的每个字线,在完成对所关注字线的编程之后对邻近字线进行编程。添加到邻近的稍后被编程字线上的存储器单元的浮动栅极的负电荷使所关注字线上的存储器单元的表观阈值电压升高。
图15以图形方式阐释浮动栅极到浮动栅极耦合的概念。图15描绘处于同一NAND串上的相邻浮动栅极350及352。浮动栅极350及352位于NAND沟道/区354及阱或衬底(其具有源极/漏极区356、 358及360)上方。在浮动栅极350上方是控制栅极362,其连接到字线WLn且作为字线WLn的部分。在浮动栅极352上方是控制栅极364,其连接到字线WLn+l且作为字线WLn+l的部分。虽然浮动栅极350将有可能经受来自多个其它浮动栅极的耦合,但为了简单起见,图15仅展示来自一个相邻存储器单元的效应。图15展示从浮动栅极350的相邻者提供到浮动栅极350的三个耦合分量rl、 r2及Cr。分量rl为相邻浮动栅极(350与352)之间的耦合比率,且经计算为相邻浮动栅极的电容除以浮动栅极350到环绕其的所有其它电极的所有电容性耦合的总和。分量r2 为浮动栅极350与漏极侧相邻控制栅极364之间的耦合比率,且经计算为浮动栅极350 及控制栅极364的电容除以浮动栅极350到环绕其的所有其它电极的所有电容性耦合的 总和。分量Cr为控制栅极耦合比率,且经计算为浮动栅极352与其对应控制栅极364 之间的电容除以浮动栅极352到环绕其的所有其它电极的所有电容性耦合的总和。
在一个实施例中,可在读取选定字线WLn处的存储器单元时计算所需补偿量 △Vread,如下
<formula>formula see original document page 28</formula>
AVTn+l为漏极侧相邻存储器单元的阈值电压在WLn的编程/验证时间与目前时间 之间的变化。AVTn+l及rl是由本发明方法减轻的字线到字线寄生耦合效应的根本原因。 AVread为经运用以便对抗此效应的补偿。
可通过利用相邻浮动栅极之间的相同寄生电容以及浮动栅极与相邻控制栅极之间 的电容来实现本文所描述的耦合补偿。由于通常在一个步骤中对控制栅极/浮动栅极堆叠 进行蚀刻,所以补偿会跟踪存储器单元到存储器单元的间距的变化。因此,当两个相邻 存储器单元较远离时,耦合较小,且对此效应的所需补偿自然也将较小。当两个相邻存 储器单元较靠近时,耦合较大,且补偿也较大。这构成成比例的补偿。
上文描述的补偿还减小回蚀深度的变化的影响。在一些装置中,控制栅极部分地环 绕浮动栅极。重叠量被称为"回蚀"。回蚀深度的变化可影响耦合量。通过上文描述的 补偿方案,补偿的效应将类似地随回蚀深度而变化。
由于减小浮动栅极到浮动栅极耦合的效应的能力,可使得阈值电压分布之间的边际 较小或者存储器系统可较快速地进行编程。
本发明方法的另一重要优势是驱动WLn及/或WLn+l上的电压的数字/模拟转换器 的分辨率与通过改变施加到选定字线WLn的电压来实现补偿的一些现有技术相比不必 如此精细。在将补偿施加到选定字线时进行补偿所需的改变与本发明相比必须精确得 多,在本发明中所述改变通过寄生耦合来间接地作用且因此,Vread的粗糙得多的分辨 率将转化为WLn边际电压的精细得多的等效分辨率。
图16包括描述用于使用施加到相邻字线的读取通过电压的改变(AVread)作为补 偿来恢复数据的过程(步骤620)的一个实施例的流程图。数据可能包括归因于浮动栅极到浮动栅极耦合效应(或另一原因)的错误。图16的过程试图在补偿浮动栅极到浮动栅极耦合效应(或另一错误原因)的同时读取数据。补偿包括观察相邻字线及确定相邻字线的编程已如何产生浮动栅极到浮动栅极耦合效应。举例来说,在读取字线WLn(例如,图3的WL2)上的数据时,所述过程还将读取字线WLn+l (例如,图3的WL3)的数据。如果字线WLti+l上的数据已引起WLn上的数据的表观改变,则读取过程将补偿所述无意改变。
在根据图16的读取过程而读取特定存储器单元时,向邻近存储器单元提供补偿以便减小邻近存储器单元对所述特定存储器单元造成的耦合效应。在所述实施例中,另外称为Vread的施加到WLn+l的通过电压可从(例如)6V的典型值减小到(例如)3 V。将Vread减小到3 V可适合于如图8中所说明的全序列实施方案或如图9中所展示的上部/下部页实施方案。在使用如图IOA到图IOC所示的实施方案时,Vread可减小较小量而达到约4.5V,因为需要补偿的浮动栅极耦合量在所述实施方案中较小。
补偿包括在对WLn执行读取操作期间向WLn+l施加与在编程/验证操作的验证阶段期间所使用的电压相比较高的电压。补偿可由改变/A组成AVread-[[Vread(在WLn的读取期间WLn+l)-Vread(在WLn的验证期间WLn+l)]}。在验证期间使用较低Vread的优势在于其允许稍后在读取操作期间施加Vread的标称值,同时维持所需的AVread。倘若不是要在验证期间使用Vread的小于正常值的值,则在读取期间的将允许施加充足△Vread的Vread的必要值将为(例如)6+3=9 V,其将为可导致读取干扰条件的高电压。在图12中将此类用于稍后补偿的设置的一个实例描绘为向漏极侧相邻字线施加VreadX而其它未选定字线接收Vread。在许多现有技术装置中,所有未选定字线均将接收Vread。在图12的实施例中,除漏极侧相邻者以外的所有未选定字线接收Vread,而漏极侧相邻者接收VreadX。
图16中描绘的过程适用于上文相对于图8而描述的全序列编程,其中一个逻辑页的两个位存储于每一单元中且将被一起感测及报告。如果相邻字线上的存储器单元处于状态E,则将不存在浮动栅极到浮动栅极耦合效应。如果相邻字线上的存储器单元处于状态A,则将存在小耦合效应。如果相邻字线上的存储器单元处于状态B,则将存在中等的浮动栅极到浮动栅极耦合效应。如果相邻字线上的存储器单元处于状态C,则将存在较大的浮动栅极到浮动栅极耦合效应。由于相邻字线引起的确切耦合效应随阵列实施方案而变化且可通过对装置进行特征化来确定。
图16中的步骤370包括针对相邻字线WLn+l执行读取操作。在一个实施例中,这包括针对相邻字线执行图14的过程。举例来说,如果正在读取字线WL1中的页,则步骤370包括对字线WL2执行图14的过程。在步骤372处将步骤370的结果存储于适当 锁存器中。在一些实施例中,针对WLn+l而执行的读取操作导致确定存储于WLn+l上 的实际数据。在其它实施例中,针对WLn+l而执行的读取操作导致确定WLn+l上的电 荷电平,所述确定可能会或可能不会准确地反映存储于WLn+l上的数据。
在步骤374处,针对所关注的字线WLn执行读取过程。这包括执行图14的过程, 其中VreadX=Vreadl。在一个实施例中,Vreadl=Vread。因此,所有未选定字线(参见 图12的WL—unsel及WLn+l)均正接收Vread。这提供最大补偿,因为补偿是由现在在 读取操作期间用于WLn+l上的Vread值与早先在编程/验证的验证阶段期间所使用的 Vread值之间的差异来确定。可将补偿值compC定义为如下 compC=Vreadl-Vreadp=5.5-3=2.5 v,其中Vreadp为在编程/验证期间所使用的Vread值。 将步骤374的结果存储于适当锁存器中,所述锁存器用于具有相邻单元WLn+l经确定 为处于状态C (在步骤370处)的存储器单元的位线。因此,针对漏极侧相邻者已通过 被从状态E编程到状态C而经历最高阈值电压改变的单元采用最大补偿CompC。请注 意,这些漏极侧相邻者在WLn的编程/验证期间处于状态E,而现在处于状态C。在所 有情况下必须补偿的是WLn+l上的漏极侧相邻者的状态在WLn的写入时间与WLn的 目前读取时间之间所经历的改变。对于漏极侧相邻者目前未被检测为处于状态C的其它 位线,将不考虑在WLn+l上使用Vreadl的此WLn读取的数据。
在步骤378处,针对WLn执行读取过程。在所述读取过程期间,漏极侧相邻字线 WLn+l将接收Vread2。也就是说,VreadX=Vread2,其中Vread2与Vreadl相比在值上 较靠近在编程期间所使用的Vreadp。此传递适于漏极侧相邻者现处于状态B的单元的较 小补偿量。补偿量的一个实例为compB=Vread2-Vreadp=4.9-3=1.9 V。因此,Vread2与 Vreadp相差compB。在步骤380处,将针对带有具有处于状态B的相邻存储器单元(例 如,WLn+l)的存储器单元的位线存储步骤378的结果。将不考虑其它位线的数据。
在步骤382处,针对WLn执行读取过程。在所述读取过程期间,漏极侧相邻字线 WLn+l将接收Vread3。也就是说,VreadX=Vread3,其中Vread3与Vread2相比在值上 较靠近在编程期间所使用的Vreadp。此传递适于漏极侧相邻者现处于状态A的单元的更 小补偿量。补偿量的一个实例为compA=Vread3-Vreadp=4.3-3=1.3 V。因此,Vread3与 Vreadp相差compA。在步骤384处,将针对带有具有处于状态A的相邻存储器单元(例 如,WLn+l)的存储器单元的位线存储步骤382的结果。将不考虑其它位线的数据。
在步骤386处,针对WLn执行读取过程。在所述读取过程期间,漏极侧相邻字线 WLn+l将接收Vread4。也就是说,VreadX=Vread4,其中Vread4在值上与在编程期间
30所使用的Vreadp相同。此不传递补偿量,此适于漏极侧相邻者现处于状态E的单元,因为其处于编程/验证时间。补偿量为compE=Vread4-Vreadp=3-3=0.0 V。在步骤388处,将针对带有具有处于状态E的相邻存储器单元(例如,WLn+l)的存储器单元的位线存储步骤386的结果。将不考虑其它位线的数据。在图16的过程期间,相邻位线将接收四个电压;然而,正被读取的每一选定存储器单元将仅利用一个适当电压。
在不同实施方案中,可基于装置特征化、实验及/或模拟而确定Vreadl、 Vread2、Vread3及Vread4的不同值。
在以上论述中,图16的过程作为图13的数据恢复步骤314的一部分来执行。在另一实施例中,图16的过程可用作响应于对读取数据的请求而执行的初始读取过程。举例来说,在图13的步骤300处接收对读取数据的请求之后,系统将在步骤302处执行读取操作。在此实施例中,通过执行图16的过程来实施步骤302。使用图16的过程来实施步骤302的实施例可能不具有额外的数据恢复步骤314,因此如果错误不可校正,则系统将报告错误。
图17为指示可针对块的除最后字线以外的待编程的所有字线执行数据恢复过程(例如,图16的方法)的流程图。举例来说,如果存在x条字线,则恢复过程可用于字线WLO到WLx-l。将未必需要针对字线WLx (例如,最靠近漏极的字线)执行恢复过程,因为所述字线不具有在其之后被编程的会引起浮动栅极到浮动栅极耦合效应的相邻者。虽然图17展示针对所有字线顺序地执行恢复过程的实施例,但在上文相对于图13而描述的一个实施例中,可在单独时间处且仅在存在不可校正的ECC错误的情况下针对字线执行恢复过程。
相对于图8的存储一个逻辑页的两个位的全序列编程而论述图14及图16的上文描述的方法。可在读取根据图9的两步式过程(存储来自两个逻辑页中的每一者的一个位)而编程的数据时稍稍修改这些过程。举例来说,在执行标准读取操作(图13的步骤302)时,读取下部页将需要向存储器单元的控制栅极施加Vra及Vrc且在那些读取点处进行感测以针对下部页确定数据是处于状态E/C (数据1)还是状态A/B (数据O)。因此,将通过针对下部页读取仅执行步骤320、 322、 324以及步骤332、 334、 336、 338及340来修改图14。对于执行对上部页的读取,将使用读取比较点Vrb来确定上部页数据是关于状态E/A (数据1)还是状态B/C (数据0)。因此,对于上部页读取,将修正图14的过程以仅执行步骤326、 328、 330、 338及340。另外,在恢复数据(步骤314)时,所述过程将执行图18的方法来恢复下部页的数据且执行图19的过程来恢复上部页的数据。在图18的步骤400处,针对相邻字线WLn+l执行读取操作。在一个实施例中,在 步骤400处执行图14的方法。在一些实施例中,针对WLn+l而执行的读取操作导致确 定存储于WLn+l上的实际数据。在其它实施例中,针对WLn+l而执行的读取操作导致 确定WLn+l上的电荷电平(或另一条件),所述确定可能会或可能不会准确地反映存储 于WLn+l上的数据。在步骤402处将所述读取操作的结果存储于适当锁存器中。在步 骤404处,针对所关注的字线WLn执行读取操作,包括执行图12的过程,其中向WLn 施加Vra且VreadX=Vread4。在步骤406处,感测位线。在步骤408处,将结果存储于 适当锁存器中。在步骤404的另一实施例中,将以VreadX-Vreadl来执行读取过程。在 一个实施例中,步骤404处的VreadX的值应与在验证过程期间所使用的值相同。
在步骤410处,向字线WLn施加读取参考电压Vrc且针对所关注的字线WLn执行 读取操作,其中VreadX=Vreadl。在步骤412处,如上文所论述而感测数据。在步骤414 处,将针对与以状态C存储数据的相邻单元相关联的位线来存储感测步骤412的结果。
在步骤416处,向字线WLn施加读取参考电压Vrc且针对所关注的字线WLn执行 读取操作,其中对于WLn+l, VreadX=Vread2。在步骤418处,将如上文所论述而感测 数据。在步骤420处,将针对与以状态B存储数据的相邻单元相关联的位线来存储步骤 418的结果。将丢弃其它位线的数据。
在步骤422处,向字线WLn施加读取参考电压Vrc且针对WLn执行读取操作,其 中对于WLn+l, VreadX=Vread3。在步骤424处,将如上文所论述而感测数据。在步骤 426处,将针对与以状态A存储数据的相邻单元相关联的位线来存储步骤424的结果。
将丢弃其它位线的数据。
在步骤428处,向字线WLn施加读取参考电压Vrc且针对WLn执行读取操作,其 中对于WLn+l, VreadX=Vread4。在步骤430处,将如上文所论述而感测数据。在步骤 432处,将针对与以状态E存储数据的相邻单元相关联的位线来存储步骤430的结果。 将丢弃其它位线的数据。
在步骤434处,处理器162将基于从感测步骤所存储的数据来确定数据值。在步骤 436处,将把来自步骤434的所确定的数据值存储于锁存器中以供最终传送给请求数据 读取的用户。在另一实施例中,可在步骤432与434之间执行与状态A相关联的步骤 404到408。还可使用用于执行图18的步骤的其它次序以及其它流程图的步骤。
请注意,在图18所描述的过程中,仅对Vrc施加补偿以便区分状态B与状态C。 假设在以Vra读取时不需要补偿,因为擦除状态的通常为负的阈值(虽然受WLn+l的 影响)足够远离状态A而无需校正。虽然这是针对当代存储器的实用假设,但在下一代存储器中其可能并不成立,且相对于Vrc而描述的补偿过程可用于Vra。
当在步骤434处确定数据值时,如果存储器单元响应于Vra而传导,则下部页数据为"1"。如果存储器单元不响应于Vra而传导且不响应于Vrc而传导,则下部页数据还为"1"。如果存储器单元不响应于Vra而传导但响应于Vrc而传导,则下部页数据为"0"。
使用图19的过程来读取或恢复上部页的数据。在步骤450处,针对相邻字线WLn+l执行读取操作。在一些实施例中,针对WLn+l而执行的读取操作导致确定存储于WLn+l上的实际数据。在其它实施例中,针对WLn+l而执行的读取操作导致确定WLn+l上的电荷电平,所述确定可能会或可能不会准确地反映存储于WLn+l上的数据。在步骤452处,将步骤450的结果存储于用于位线中的每一者的适当锁存器中。
在步骤454处,向字线WLn施加读取参考电压Vrb且针对WLn执行读取操作,其中对于WLn+l, VreadX=Vreadl。在步骤456中,将如上文所论述而感测数据。在步骤458处,将针对与以状态C存储数据的相邻单元相关联的位线来存储步骤456的结果。将丢弃其它位线的数据。
在步骤460处,向字线WLn施加读取参考电压Vrb且针对WLn执行读取操作,其中对于WLn+l, VreadX=Vread2。在步骤462处,将如上文所论述而感测数据。在步骤464处,将针对与以状态B存储数据的相邻单元相关联的位线来存储步骤462的结果。将丢弃其它位线的数据。
在步骤466处,向字线WLn施加读取参考电压Vrb且针对WLn执行读取操作,其中对于WLn+l, VreadX=Vread3。在步骤468处,将如上文所论述而感测数据。在步骤470处,将针对与以状态A存储数据的相邻单元相关联的位线来存储步骤468的结果。将丢弃其它位线的数据。
在步骤472处,向字线WLn施加读取参考电压Vrb且针对WLn执行读取操作,其中对于WLn+l, VreadX=Vread4。在步骤474处,将如上文所论述而感测数据。在步骤476处,将针对与以状态E存储数据的相邻单元相关联的位线来存储步骤474的结果。将丢弃其它位线的数据。
在步骤478处,处理器162基于所存储的所感测数据而确定数据值。如果存储器单元响应于Vrb而接通,则上部页数据为"1"。如果存储器单元不响应于Vrb而接通,则上部页数据为"0"。在步骤480处,将处理器162所确定的数据值存储于数据锁存器中以供传送给用户。
在另一实施例中,可使用图18及图19的方法来用于响应于对读取数据的请求而执行的初始数据读取,而非使用图18及图19的方法来恢复数据。举例来说,在图13的步骤300处接收对读取数据的请求之后,系统将在步骤302处执行读取操作。在此实施 例中,通过执行图18及/或图19的过程来实施步骤302。使用图18及/或图19的过程来 实施步骤302的实施例可能不具有额外的数据恢复步骤314,因此如果错误不可校正, 则系统将报告错误。
图18及图19是针对读取使用图9的上部页及下部页过程而编程的数据。可使用图 18及图19的这两种方法来读取通过全位线编程或奇数/偶数位线编程而编程的数据。在 配合全位线编程而使用时,通常同时读取所有位线。在配合奇数/偶数位线编程而使用时, 通常在第一时间处同时读取偶数位线且通常可能在不同的时间处同时读取奇数位线。
图20到图25描述用以读取根据与图IOA到图IOC相关联的方法而编程的数据的过 程。图20的过程可被实施为响应于针对特定的一个或一个以上数据页(或其它分组) 的读取请求而执行的用于读取数据的整个过程,其在使用ECC之前、与使用ECC分离 及/或结合使用ECC进行。在其它实施例中,图20的过程可作为图13的数据恢复步骤 314的一部分来执行。在读取如根据图IOA到图10C的过程而编程的数据时,应在对讨 论中的存储器单元的上部页进行编程时校正来自由于对相邻单元的下部页进行编程引 起的浮动栅极到浮动栅极耦合的任何扰动。因此,在试图补偿来自相邻单元的浮动栅极 到浮动栅极耦合效应时,所述过程的一个实施例仅需考虑由于对相邻单元的上部页进行 编程引起的耦合效应。因此,在图20的步骤500中,所述过程读取用于相邻字线的上 部页数据。如果相邻字线的上部页未被编程(步骤502),则可在不对浮动栅极到浮动栅 极耦合效应进行补偿的情况下读取考虑中的页(步骤504)。如果相邻字线的上部页被编 程(步骤502),则在步骤506处应使用对于浮动栅极到浮动栅极耦合效应的某种补偿来 读取考虑中的页。在一些实施例中,针对相邻字线而执行的读取操作导致确定相邻字线 上的电荷电平,所述确定可能会或可能不会准确地反映存储于其上的数据。而且,请注 意,待读取的选定字线(即,WLn)自身可能仅具有下部页数据。这可在整个块尚未被 编程时发生。在所述情形中,始终保证WLn+l上的单元仍为已擦除的,且因此,尚无 耦合效应使WLn单元受损。这意味着不需要补偿。因此,对上部页尚未被编程的字线 的下部页读取可在无需任何补偿技术的情况下照常进行。
在一个实施例中,实施图IOA到图IOC的编程过程的存储器阵列将保留一组存储器 单元来存储一个或一个以上旗标。举例来说,可使用一列存储器单元来存储指示相应行 存储器单元的下部页是否已被编程的旗标,且可使用另一列存储器单元来存储指示相应 行存储器单元的上部页是否己被编程的旗标。在一些实施例中,可使用冗余单元来存储 旗标的复本。通过检查适当旗标,可确定相邻字线的上部页是否已被编程。关于所述旗
34标及用于编程的过程的更多细节可参见柴田(Shibata)等人的第6,657,891号美国专利"用于存储多值数据的半导体存储器装置(Semiconductor Memory Device For StoringMulti-Valued Data)",所述专利的全文以引用的方式并入本文中。
图21描述用于读取相邻字线(例如漏极侧相邻者)的上部页数据的过程(图20的步骤500)的一个实施例。在步骤510处,向与正被读取的页相关联的字线施加读取参考电压Vrc。在步骤512处,如上文所述而感测位线。在步骤514处,将步骤512的结果存储于适当锁存器中。在步骤516处,系统检查指示与正被读取的页相关联的上部页编程的旗标。在一个实施例中,存储旗标的存储器单元将在旗标未被设定的情况下以状态E存储数据且在旗标被设定的情况下以状态C存储数据。因此,当在步骤512处感测所述特定存储器单元时,如果存储器单元传导(接通),则存储器单元不以状态C存储数据且旗标未被设定。如果存储器单元不传导,则在步骤516中假设存储器单元正指示上部页已被编程。
在另一实施例中,可将旗标存储于一字节中。并非以状态C存储所有位,所述字节将包括表示旗标且为状态机312所知的唯一 8位代码,使得所述8位代码具有处于状态E的至少一个位、处于状态A的至少一个位、处于状态B的至少一个位及处于状态C的至少一个位。如果上部页尚未被编程,则存储器单元的字节将全部处于状态E。如果
上部页已被编程,则存储器单元的字节将存储所述代码。在一个实施例中,通过检査具有存储所述代码的字节的存储器单元中的任一者是否未响应于Vrc而接通来执行步骤516。在另一实施例中,步骤516包括对存储器单元的存储旗标的字节进行寻址及读取以及将数据发送到状态机,所述状态机将验证存储于存储器单元中的代码是否匹配状态机所预期的代码。如果匹配,则状态机得出上部页已被编程的结论。
如果旗标尚未被设定(步骤518),则图21的过程以上部页尚未被编程的结论而终止。如果旗标已被设定(步骤518),则假设上部页已被编程,且在步骤522处,向与正被读取的页相关联的字线施加电压Vrb。在步骤524处,如上文所论述而感测位线。在步骤526处,将步骤524的结果存储于适当锁存器中。在步骤528处,向与正被读取的页相关联的字线施加电压Vra。在步骤530处,感测位线。在步骤532处,将步骤530的结果存储于适当锁存器中。在步骤534处,处理器162基于三个感测步骤512、 524及530的结果而确定由正被读取的存储器单元中的每一者所存储的数据值。在步骤536处,将在步骤534中所确定的数据值存储于适当数据锁存器中以供最终传送给用户。在步骤534处,处理器162依据所选择的特定状态译码而使用众所周知的简单逻辑技术来确定上部页及下部页数据的值。举例来说,对于图10A到图10C中所描述的译码,下部页数据为VrW (在以Vrb读取时存储的值的补码),且上部页数据为Vra*OR(Vrb AND Vrc"。
在一个实施例中,图21的过程包括向漏极侧相邻字线施加Vread。因此,对于图21 的过程,VreadX=Vread。在图21的过程的另一实施例中,VreadX=Vread4。
图22为描述用于在系统无需补偿来自相邻字线的浮动栅极到浮动栅极耦合时读取 考虑中的字线的数据的过程(参见图20的步骤504)的一个实施例的流程图。在步骤 550处,确定所述读取是针对与考虑中的字线相关联的上部页还是下部页。如果读取是 针对下部页,则在步骤552中,向与正被读取的页相关联的字线施加电压Vrb。在步骤 554处,感测位线。在步骤556处,将感测步骤554的结果存储于适当锁存器中。在步 骤558处,检査旗标以确定页是否含有上部页数据。如果不存在旗标,则存在的任何数 据将处于中间状态,且Vrb并不是应使用的正确比较电压。所述过程在步骤560处继续 进行,在步骤560处向字线施加Vra。在步骤562处重新感测位线,且在步骤564中存 储结果。在步骤566处,处理器162确定待存储的数据值。在一个实施例中,当读取下 部页时,如果存储器单元响应于正被施加到字线的Vrb (或Vra)而接通,则下部页数 据为"1";否则,下部页数据为"0"。
如果确定页地址对应于上部页(步骤550),则在步骤570处执行上部页读取过程。 在一个实施例中,步骤570的上部页读取过程包括图21中所描述的相同方法,其包括 读取旗标及所有三个状态,因为未经写入的上部页可经寻址以用于读取,或另一原因。
在一个实施例中,图22的过程包括向漏极侧相邻字线施加Vread。因此,对于图22 的过程,VreadX=Vread。在图21的过程的另一实施例中,VreadX=Vread4。
图23描绘描述用于在补偿浮动栅极到浮动栅极耦合的同时读取数据的过程(参见 图20的步骤506)的一个实施例的流程图。在图23的步骤580处,系统确定是否将使 用对浮动栅极到浮动栅极耦合的补偿。这针对每一位线而单独地执行。适当处理器162 将基于来自相邻字线的数据而确定哪些位线需要使用补偿。如果相邻字线处于状态E或 B (或具有表观地指示状态E或B的电荷),则正被读取的特定字线无需补偿浮动栅极 到浮动栅极耦合效应。假设是这样的如果其处于状态E,则其尚未促成任何耦合,因 为自从当前字线被写入以来阈值尚未移动。如果其处于状态B,则其从B'到达此处,而 且从B'到B的移动较小且可被忽略。在另一实施例中,可通过施加成比例地小的AVread 来补偿从状态B'到状态B的小移动。
在一个实施例中,可与步骤500同时地执行步骤580的过程。举例来说,图24提 供阐释用以执行关于是否针对特定位线使用偏移的确定的步骤的图表。第一步骤是在字线上使用Vra来执行读取过程。第二步骤是使用Vrb来执行读取。当在Vra下读取时,锁存器在存储器单元处于状态E的情况下存储1且在存储器单元处于状态A、 B或C的情况下存储0。当在Vrb下读取时,锁存器将针对状态E及A存储1且针对状态B及C存储0。图24的第三步骤包括对来自第二步骤的经反转结果与来自步骤1的结果执行异或运算。在第四步骤中,在字线处使用Vrc来执行读取。锁存器针对状态E、 A及B存储1且针对状态C存储0。在第五步骤中,通过逻辑与运算而对步骤4及步骤3的结果加以运算。请注意,步骤l、 2及4可作为图21的一部分来执行。可通过专用硬件或通过处理器162来执行图24的步骤3及5。在不需要补偿的情况下通过存储1且在需要补偿的情况下通过存储0而将步骤5的结果存储于锁存器中。因此,针对具有WLn+l上的处于A或C状态的相邻存储器单元的在WLn上被读取的那些单元将需要补偿。此方法仅需要一个锁存器来确定是否将校正WLn,这与存储来自WLn+l的全部数据(从而需要两个或两个以上锁存器)的一些先前方法形成对比。
如先前所提及,在实施图10A到图10C的编程技术的一个实施例中,在用于WLn的编程验证期间施加到WLn+l的较低Vreadp可减小到约4.5 V。为了当在WLn处读取时不施加对浮动栅极耦合的补偿,例如在相邻存储器单元处于状态E或B的情况下,可向WLn+l施加VreadX=Vread4,其中Vread4等于在用于WLn的编程验证期间施加到WLn+l的Vreadp (4.5 V)。如果将在实施方案中使用小补偿来补偿处于状态B的相邻单元,则可向WLn+l施加约为5 V的VreadX以实现0.5 V的补偿。在图23及图25中,对于此移动的补偿未经说明但将如所描述而施加。为了基于处于状态A或状态C的相邻存储器单元而施加补偿,可向WLn+l施加VreadX=Vread3,其中Vread3等于约6 V。这将提供1.5V (6V-4.5V)的补偿。
返回观察图23的步骤582,确定正被读取的页是上部页还是下部页。如果正被读取的页为下部页,则在步骤1204中的读取过程期间向与正被读取的页相关联的字线WLn施加Vrb,且向漏极侧相邻字线WLn+l施加Vread4。请注意,对于图10A到图10C中所描述的状态译码,在Vrb下进行读取足以确定下部页数据。在步骤588处,将感测读出步骤586的结果存储于与位线相关联的适当锁存器中。在步骤590处,将在读取过程期间向用于正被读取的页的字线WLn施加Vrb,且向漏极侧相邻字线WLn+l施加Vread3(例如,参见图12)。在步骤592处,感测位线。在步骤594处,针对在步骤580处经确定为使用补偿的位线,使用步骤592的感测的结果来盖写在步骤588中所存储的结果。如果特定位线经确定为不必使用补偿,则不存储来自步骤592的数据。在步骤596处,处理器162将确定对于下部页,数据是1还是0。如果存储器单元响应于Vrb而接通,则下部页数据为1;否则,下部页数据为0。在步骤598处,将下部页数据存储于适当 锁存器中以供传送给用户。
如果在步骤582处确定正被读取的页为上部页,则在步骤600处执行上部页校正过 程。图25提供描述上部页校正过程的流程图。在图25的步骤610处,向与正被读取的 页相关联的字线施加读取参考电压Vrc且向漏极侧相邻字线WLn+l施加Vread4作为读 取过程的一部分。在步骤612处,感测位线。在步骤614处,将感测步骤的结果存储于 适当锁存器中。在步骤616处,向与正被读取的页相关联的字线施加Vrc且向漏极侧相 邻字线WLn+l施加Vread3作为读取过程的一部分。在步骤618处,感测位线。在步骤 620处,针对需要补偿(参见步骤580)的任何位线使用感测步骤618的结果来盖写在 步骤614中所存储的结果。
在步骤622处,在读取过程期间向字线施加Vrb,且向漏极侧相邻字线WLn+l施加 Vread4。在步骤624处,感测位线。在步骤626处,存储感测步骤624的结果。在步骤 628处,在读取过程期间向与正被读取的页相关联的字线施加Vrb且向漏极侧相邻字线 WLn+l施加Vread3。在步骤630处,感测位线。在步骤632处,针对需要补偿(参见 步骤580)的那些位线使用步骤630的结果来盖写在步骤626处所存储的结果。
在步骤634处,向与正被读取的页相关联的字线施加Vra且向漏极侧相邻字线 WLn+l施加Vread4作为读取过程的一部分。在步骤636处,感测位线。在步骤638处, 将感测步骤636的结果存储于适当锁存器中。在步骤640处,向与正被读取的页相关联 的字线施加Vra且向漏极侧相邻字线WLn+l施加Vread3作为读取过程的一部分。在步 骤642处,感测位线。在步骤644中,针对需要补偿(参见步骤580)的那些位线使用 步骤642的结果来盖写在步骤638中所存储的结果。在步骤646中,处理器162以与先 前描述的此项技术中已知的另一方法相同的方式来确定数据值。在步骤648处,将处理 器162所确定的数据值存储于适当数据锁存器中以供传送给用户。在其它实施例中,可 改变读取次序(Vrc、 Vrb、 Vra)。
在相对于图20的以上论述中,论述涉及对一数据页的读取的实例。有可能(但未 作要求)对读取数据的请求将需要读取多个数据页。在一个实施例中,为了加速读取多 个数据页的过程,将对读取过程进行管线化,使得状态机将在用户转移离开先前数据页 的同时执行下一页感测。在此类实施方案中,旗标取出过程可能中断管线式读取过程。 为了避免此类中断, 一个实施例预期在读取给定页时读取所述页的旗标且使用线或检测 过程来检查旗标(而非读取旗标并将其发送到状态机)。举例来说,在图20的步骤500 (读取相邻字线)期间,所述过程首先使用Vrc作为参考电压来读取数据。在那点处,如果线或线指示每一状态存储数据1,则上部页尚未被编程;因此,不需要补偿且系统将在不补偿浮动栅极到浮动栅极耦合的情况下进行读取(步骤504)。如果旗标为包括处于每一数据状态的数据的一字节代码,则在旗标被设定的情况下,至少所述旗标存储器单元将具有处于状态C的数据。如果线或线指示无存储器单元具有处于状态C的数据,则状态机得出旗标尚未被设定的结论;因此,相邻字线的上部页尚未被编程且不需要对浮动栅极耦合的补偿。关于执行管线式读取的更多信息可参见2005年4月5日申请的发明人为陈建(Jian Chen)的标题为"在非易失性存储器读取操作期间补偿耦合(Compensating for Coupling During Read Operations of Non-Volatile Memory)"的第11/099,133号美国专利申请案,所述申请案的全文以引用的方式并入本文中。
当目标为读取WLn上的数据时,可能不必进行对WLn+1的ECC校正读取,因为被错误读取的位最有可能为处于分布尾部的位,且将其误认为属于另一数据状态不会在确定针对读取WLn上的对应单元所需的补偿量中造成大误差。举例来说,当在无耦合补偿的情况下读取WLn+l(图16的步骤370)作为WLn的读取过程的一部分时,WLn+1上的打算被编程到状态B且随后在对WLn+2的编程期间经历电容性耦合效应的经稍微过度编程的单元现在可能被误读取为处于状态C。此误读取由于以下原因而可能不成问题1)目标并不是读取WLn+1上的数据;2)基于WLn+1上的单元的表观状态为C状态而针对读取WLn上的对应单元所施加的校正实际上是比将已基于WLn+1上的单元的校正读取(即,状态而施加的校正好的校正。这是因为将WLn+1上的单元误读取为处于C状态的所有原因(无论其最初为过度编程还是来自WLn+2单元的后续耦合)目前均起作用以诱发较强的耦合效应,所述耦合效应由WLn+1单元诱发且由WLn单元经历。面临WLn上的单元所经历的此较强耦合,施加对应于处于状态C而非状态B的WLn+1单元的校正实际上可为较佳的。
在一些情况下,误读取相邻字线WLn+1的存储器单元的当前表观状态可能不利地影响对选定字线的读取操作。因此, 一个实施例提供边际化读取参考电压以用于读取相邻字线。边际化值可当在相邻字线处进行感测时提供较准确的结果且/或当基于此信息读取选定字线时改进结果。如上文所提及,在读取WLn+1时的目标并不是确定WLn+1处的存储器单元所存储的实际数据,而是在读取WLn时存在的WLn+1处的存储器单元的表观状态。WLn+1处的单元的阈值电压的由于对WLn+1进行编程引起的任何改变可有益于在读取WLn的数据时进行检测,因为所述改变将在对WLn的紧接读取操作期间影响WLn处的单元的表观阈值电压。重要的是注意,误读取在用于针对在WLn+1处进行读取以在读取WLn时提供适当补偿的概念时指代误读取在读取WLn时存在的WLn+1
39处的单元的表观状态。这不同于误读取原先被编程到单元中的数据(其为WLn读取而 非WLn+l读取的最终目标)。重要的是在试图读取WLn时将WLn+l处的单元的表观状 态适当分类,而非将实际状态分类到其原先被编程的状态。
考虑对漏极侧相邻字线WLn+l的读取过程,其作为读取选定字线WLn的一部分而 执行。当对字线WLn+l进行编程时,在验证WLn+l时向字线WLn+2 (WLn+l的漏极 侧相邻字线)施加读取通过电压Vreadp。 Vreadp为低读取通过电压。如先前所描述,在 一些实施例中,Vreadp可等于Vread4。 Vreadp的低值使得能够在稍后读取操作期间通 过基于相邻单元的状态将读取通过电压从Vreadp增大到Vread3、 Vread2或Vreadl来进 行补偿。
Vreadp的低值可用作漏极侧上的通过电压,因为在编程验证期间,保证漏极侧相邻 字线不被完全编程。在全序列编程(图8)或标准上部/下部页编程(图9)的情况下, 将擦除WLn+2。在图IOA到图IOC的编程技术中,至多对漏极侧相邻字线进行部分编 程。因此,低读取通过电压足以保证在验证WLn+l的单元时WLn+2的存储器单元接通。
当稍后在WLn+l处执行未经补偿的读取操作以用于读取WLn时,可针对WLn+2 使用读取通过电压的较大值。自从对WLn+l进行编程以来,WLn+2上的存储器单元的 状态可能已由于其编程而改变。这些单元现可处于任一已编程状态且在编程期间存在的 保证不再适用。因此,施加较大读取通过电压以确保每个存储器单元接通,而不管状态 如何。通常,除WLn+l (其接收Vcgr)以外的每个字线将在WLn处的未经补偿的读取 期间接收Vread。 Vread将被设定为其最高值以确保所有单元的传导。举例来说,将有可 能使用等于Vreadl的Vread。
施加到WLn+2的读取通过电压在验证与读取WLn+l处的单元之间的改变可引起 WLn+l处的存储器单元的表观阈值电压的负移位。WLn+2处的字线电压的一部分将在 编程验证及读取期间耦合到WLn+l处的存储器单元的浮动栅极。因为在验证与读取之 间发生WLn+2处的字线电压的正增长,所以WLn+l处的存储器单元的阈值电压可呈现 为减小。
图26中说明表观阈值电压的此类型的改变,图26描绘一组存储器单元(例如连接 到存储器阵列的特定字线的存储器单元)的阈值电压分布。所述组存储器单元已经受编 程以将每一存储器单元置于状态E、状态A、状态B或状态C中。分布701为处于状态 E的存储器单元的阈值电压分布。分布702为处于状态A的存储器单元的阈值电压分布。 分布706为处于状态B的存储器单元的阈值电压分布。分布710为处于状态C的存储器 单元的阈值电压分布。分布701、 702、 706及710表示在编程完成时如由针对编程操作验证存储器单元的感测放大器将观察到的实际阈值电压分布。
在图26中由虚线描绘第二组分布。这些阈值电压分布表示如可由感测放大器于在编程及验证之后所进行的读取操作期间观察到的存储器单元的阈值电压。更具体地说,第二组分布表示当确定用于读取选定字线WLn的信息时在无补偿的情况下读取的相邻字线WLn+l的存储器单元的表观阈值电压。分布700为处于状态A的存储器单元的表观阈值电压分布。分布704为处于状态B的存储器单元的表观阈值电压分布。分布70S为处于状态C的存储器单元的表观阈值电压分布。未针对已擦除状态E描绘第二分布,但此状态在表观阈值电压上可经历类似移位。
第二组的表观阈值分布与第一组的实际阈值电压分布相比向下移位。在读取相邻字线WLn+l时,施加到其相邻字线WLn+2的较大读取通过电压可减小WLn+l处的存储器单元的表观阈值电压。施加到字线WLn+2的较大正偏压的一部分将电容性地耦合到WLn+l处的存储器单元的浮动栅极。基于WLn+2处的较大正电压的此电容性耦合可减小WLn+l处的存储器单元的表观阈值电压。
根据本发明的一个实施例而在图26中描绘读取参考电压的两组电平。在图26中,读取参考电压的值被边际化为低于用于读取选定字线WLn的电平。在读取选定字线时使用对应于已编程状态A的读取参考电压Vra的第一值Vral。在读取相邻字线以确定用于读取选定字线的信息时,使用读取参考电压Vra的第二值Vra2。在读取选定字线WLn时使用对应于状态B的读取参考电压Vrb的第一值Vrbl。在读取相邻字线WLn+l时,使用读取参考电压Vrb的第二值Vrb2。在读取选定字线WLn时使用对应于已编程状态C的读取参考电压Vrc的第一值Vrcl。在读取相邻字线WLn+l作为读取选定字线的过程的一部分时使用第二值Vrc2。
图27中说明使用边际化读取参考电压的对相邻字线的读取操作的原理。图27为描绘用于读取存储器单元块的选定字线WLn的步骤的流程图。在步骤660处,接收对读取数据的请求。对应于所请求的数据的地址的范围包括存储于字线WLn中的数据。在步骤662处,使用读取参考电压的第一组值来感测来自WLn+l处的存储器单元的信息。举例来说,在一个实施例中使用读取参考电压电平Vra2、 Vrb2及Vrc2。在步骤664处,向所述块的每一未选定字线施加第一通过电压。在步骤666处,以第一电平向相邻于正被读取的选定字线WLn的字线WLn+l施加第二通过电压。
接着在步骤668中使用读取参考电压的第二组电平来执行WLn处的读取操作。举例来说,可向选定字线施加分别对应于状态A、 B及C的Vral、 Vrbl及Vrcl且在每一施加下感测位线。如将在下文中较全面地描述,WLn+l处所使用的第一组电平可经边际化为高于或低于选定字线WLn处所使用的电平。
在一个实施例中通过迭代地重复步骤664、 666及668来执行四个子读取。在每一 迭代期间,在步骤666处在感测位线的传导的同时向WLn+l施加第二通过电压的不同 值,以基于字线WLn+l对字线WLn的浮动栅极耦合效应而提供补偿。第一值对应于 WLn+l的处于状态E的存储器单元。第二值对应于WLn+l的处于状态A的存储器单元。 第三值对应于字线WLn+l的处于状态B的存储器单元。第四值对应于字线WLn+l的处 于状态C的存储器单元。在步骤670处,存储WLn数据。对于具有WLn+l处的处于状 态E的相邻存储器单元的位线,存储在以第一值施加第二通过电压的同时在步骤668处 的感测结果。对于具有WLn+l处的处于状态A的相邻存储器单元的位线,存储在以第 二值施加第二通过电压的同时在步骤668处的感测结果。对于具有WLn+l处的处于状 态B的相邻存储器单元的位线,存储在以第三值施加第二通过电压的同时在步骤668处 的感测结果。对于具有WLn+l处的处于状态C的相邻存储器单元的位线,存储在以第 四值施加第二通过电压的同时在步骤668处的感测结果。
图27描绘说明在WLn处使用一组读取参考电压电平及在WLn+l处使用一组不同 读取参考电压电平的概述。图28为描绘根据一个实施例的作为对选定字线WLn的读取 过程的一部分的读取相邻字线的特定过程的流程图。在一个实施例中,可针对图16的 步骤370、图18的步骤400及图19的步骤450执行图28的方法。
在步骤750处向WLn+l施加状态A读取参考电压的边际化值Vra2。在向WLn+l 施加Vra2的同时,向选定块的每一剩余字线施加读取通过电压Vread。在读取操作期间, 将使用Vread的大值(通常为Vreadl)来确保接收到所述通过电压的任何己编程的单元 接通以启用对WLN+1处的恰好那些单元的感测。Vreadl为比在验证WLn+l的编程时 所使用的读取通过电压大的读取通过电压的值。如早先所描述,在验证期间使用Vreadp 的较低读取通过电压(例如,Vread4)。选择Vra2的电压电平以便补偿与读取通过电压 的增大相关联的耦合效应。
在步骤752处感测位线以确定所寻址的存储器单元在向其控制栅极施加Vm2的情 况下是否传导。传导性位线指示所述位线的所寻址存储器单元接通且因此具有低于Vra2 的阈值电压(例如,处于状态E)。在步骤754处,将感测位线的结果存储于用于那些位 线的适当锁存器中。
在步骤756处向WLn+l施加状态B读取参考电压的边际化值Vrb2,同时对每一个 剩余字线施加Vread。在步骤758处,如针对Vra2读取参考电压电平的施加所描述而感 测位线。在步骤760处,将结果存储于用于位线的适当锁存器中。在步骤762处,向WLn+l施加状态C读取参考电压的边际化值Vrc2,同时向每一剩余字线施加Vread。在 步骤764处再次感测位线以确定哪些位线为传导性的且因此指示具有低于所施加的电平 Vrc2的阈值电压的单元。在步骤766处,将结果存储于用于所述位线的适当锁存器中。
在步骤768处,确定每一位线的数据值。在Vrb2及Vrc2下传导但在Vra2下不传导 的单元处于状态A。在Vrc2下传导但在Vrb2或Vra2下不传导的单元处于状态B。如果 单元在所施加的读取参考电压值中的任一者下不传导,则其处于状态C。在一个实施例 中,由处理器162确定数据值。在步骤770处,处理器162将所确定的数据值存储于用 于每一位线的适当锁存器中。在图28中,确定WLn+l的实际数据值。在其它实施例中, 以边际化读取参考电压读取相邻字线可确定WLn+l的电荷电平或其它条件信息,其可 能会或可能不会准确地反映存储于WLn+l上的数据。
可在执行对相邻字线的上部页读取时使用类似技术,如相对于图21所描述。所述 对相邻字线的上部页读取可作为用于读取根据图IOA到图IOC中所说明的技术而编程的 选定字线的过程的一部分来执行。当在步骤510处施加状态C读取参考电压,在步骤 522处施加状态B读取参考电压且/或在步骤528处施加状态A读取参考电压时,使用 边际化参考电压。举例来说,在一个实施例中,可使用参考电压Vra2、 Vrb2及/或Vrc3。
在不同实施例中,用于相邻于选定字线的字线的读取参考电压可以各种方式来边际 化。举例来说,如图26中所说明,施加到相邻字线(例如,WLn+l)的读取参考电压 的值可经边际化为比施加到选定字线WLn的电平低的电平。在另一实施例中,施加到 相邻字线的值经边际化为比施加到选定字线的电平高的电平。举例来说,己擦除分布的 单元可在表观或实际阈值电压上随时间增大。对(例如,同一字线的)其它单元的编程 可无意地使已擦除单元的电压移位,从而导致与在针对这些单元执行擦除操作时相比处 于较高电压的分布。因此,在读取相邻字线时的用于状态A的读取参考电压可在与读取 选定字线时所使用的参考电压相比时向上移位。
可对一组读取参考电压(例如,Vra、 Vrb及Vrc)中的任何数目的读取参考电压进 行边际化以用于WLn+l读取。举例来说,边际化值可仅用于一个参考电压(例如,Vra) 或两个参考电压(例如,Vrb及Vrc)。还可使用其它组合,例如将一些读取参考电压边 际化到较高电平且将其它读取参考电压边际化到较低电平。
施加到相邻字线的读取参考电压的边际化值可相对于不同值或参数来边际化。举例 来说, 一个实施例通过调整施加到选定字线WLn的对应读取参考电压的值而提供用于 相邻字线的边际化读取参考电压。举例来说,Vm2将从Vral的电平偏移,等等。在其 它实施例中,相对于相邻于参考电压的状态的阈值电压而对用于相邻字线的读取参考电压进行边际化。在下文中提供关于边际化值的更多细节。
在图26中,相对于WLn处所使用的第一组电平而对读取参考电压的第二组电平进 行边际化。Vra2从Vral偏移特定量,Vrb2从Vrbl偏移特定量,且Vrc2从Vrcl偏移特 定量。所述偏移对于每一状态来说可能相同或可能不相同。举例来说,Vra2可从Vral 偏移的量大于Vrb2从Vrbl的偏移。
图29描绘用于边际化读取参考电压的一个实施例,其并不是基于当在WLn处读取 时所使用的原始读取参考电压。例如保持损失及松弛(阈值电压上的正移位)等因素可 影响从存储器单元读取的状态。当需要读取存储于WLn处的单元中的数据时,通常选 择所使用的读取参考电平以使得这些因素不影响从单元读取的状态。读取操作不希望检 测此保持损失或松弛,因为读取操作希望确定单元原先被编程到的状态。然而,当在 WLn+l处读取以提供用于WLn的适当补偿时,检测阈值电压中由于这些因素引起的改 变可能是所需的。举例来说,如果WLn+l处的单元的表观状态或阈值电压已由于其被 编程而移位,则检测此移位(或检测所述单元的当前表观状态)为有益的。此移位将影 响WLn处的单元的表观阈值电压。由于对于WLn来说实际数据为所需的,所以提供考 虑到WLn+l处的移位的补偿可产生WLn处的较佳结果。
在图29中再次描绘用于一组已编程的存储器单元的阈值电压分布701、 702、 706 及710,连同经移位分布700、 704及708。还描绘Vral状态A读取参考电压、Vrbl状 态B读取参考电压及Vrcl状态C读取参考电压。图29进一步描绘在状态的每一者之间 的平均阈值电压电平。可以各种方式来界定此平均阈值电平,如下文所描述。Vma为对 应于状态E及A的平均阈值电压。Vmb为对应于状态A及B的平均阈值电压。Vmc为 对应于状态B及C的平均阈值电压。
在Vra2处针对状态A、在Vrb2处针对状态B且在Vrc2处针对状态C描绘在感测 相邻字线WLn+l时所使用的读取参考电压电平。相对于上文所提及的平均阈值电压电 平Vma、 Vmb及Vmc而对这些读取参考电压进行边际化。这应与图26中的用于相邻字 线的第二组读取参考电压电平形成对比。在所述实施例中,相对于第一组读取参考电压 而对第二组读取参考电压电平进行边际化。这在如所描述的某些情形中可证明是有意义 的。
在读取选定字线时所使用的读取参考电压电平可能不提供于邻近存储器状态电压 分布之间的中点处。举例来说,在图21中,Vrb及Vrc各自提供于较靠近较低状态电压 分布的电平处。与状态B相比,Vrb较靠近状态A,且与状态C相比,Vrc较靠近状态 B。在一些快闪存储器系统中提供此类布置以用于数据保持。如果被编程到状态B的存
44储器单元将(例如)随时间而损失负电荷,则将Vrbl定位于较靠近状态A的电平处可 为有益的。如果单元的电荷充分减少以使得单元的阈值电压降到Vrbl以下,则可能将 单元误读取为处于状态A。因此, 一些实施方案可将读取参考电压电平定位为较靠近较 低状态以克服此类误读取。
如果相对于WLn处所使用的电平来对用于读取相邻字线的边际化读取参考电压电 平进行边际化,则在一些情况下可能发生不同类型的误读取。可能将处于较低状态的单 元误读取为处于较高状态。举例来说,如果在将Vrbl定位为相对较靠近状态A分布的 上部边缘时使用Vrb2的相对于Vrbl移位的值,则可能将状态A单元误读取为处于状态 B。如果在对WLn+l处的单元进行编程之后将相邻于WLn+l处的单元的WLn+2处的 单元编程到状态C,则WLn+l处的单元的阈值电压可由于负电荷耦合而呈现为增大。 此外,如所描述,当在WLn处读取时不希望检测的保持等等当在WLn+l处读取时可能 希望检测。
因此,图29的实施例相对于对应于两个相邻存储器状态的平均阈值电压而对第二 组读取参考电压进行边际化。相对于状态E及A的平均阈值电压而对Vra2进行边际化, 相对于状态A及B的平均阈值电压而对Vrb2进行边际化,且相对于状态B及C的平均 阈值电压而对Vrc2进行边际化。
在一个实施例中,基于两个相邻状态的阈值电压分布的下部边缘值的平均值来确定 平均阈值电压。下部边缘值对应于在编程验证期间所使用的验证电平,且可用以计算平 均值。举例来说,可使用分别在对状态A及B进行编程时所施加的验证电平Vva及Vvb 的平均值来计算平均阈值电压Vmb。在已计算验证电平的平均值之后,可将其偏移达较 低阈值电压分布的宽度的一半来确定平均阈值电压电平(例如,Vmb)。在另一实施例 中,可基于两个相邻读取参考电压来计算平均阈值电压。举例来说,可将状态A与B 之间的平均阈值电压Vmb计算为在读取那些单元时施加的读取参考电压Vra及Vrb的 平均值。在此情况下,仍相对于平均阈值电压电平而非对应于特定状态的单个阈值电压 电平来对参考电压电平进行边际化。在一个实施例中,相对于第一分布(例如,状态A) 的上部边缘与第二分布(例如,状态B)的下部边缘之间的中点来对读取参考电压进行 边际化。
在一个实施例中,基于Vread在编程验证操作与读取操作之间的改变而建立第二组 读取参考电压。可将特定状态的读取参考电压设定为等于相邻状态的平均阈值电压减去 基于AVread的补偿边际的值。
在一个实施方案中如下确定补偿边际。等式2陈述Vread的改变与给定存储器单元的表观阈值电压的改变之间的关系。
△VT" = —A -+ AVTw +1-
Cm O" 等式2
WLn处的给定存储器单元的阈值电压的改变AVTn是基于两个分量施加到单元的 相邻者的读取通过电压的改变AVread及所述相邻者的阈值电压的改变AVTn+l。更具体 地说,所述改变等于与AVTn相关联的电容性耦合效应(其基于负电荷耦合而增大阈值 电压)及与AVread相关联的电容性耦合效应(其基于正电荷耦合而减小阈值电压)之 间的差异。
为了导出对应于Vread的改变的适当边际化值,可将AVTn+l设定为0,这对应于 WLn+l存储器单元处没有VT的改变。使用Vread的己知改变,可将边际化值设定为等 于AVTn的计算所得的值以在读取漏极侧相邻字线时直接抵消表观阈值电压的改变。
考虑对选定字线WLn的读取操作,其中将使用来自漏极侧相邻字线WLn+l的信息 以在读取WLn时施加补偿。当在编程期间验证字线WLn+1时,其漏极侧相邻字线WLn+2 经受低读取通过电压Vreadp (例如,Vread4)。假设Vreadp约为3.0 V。现在,当读取 WLn+l作为对WLn的操作的一部分时,向WLn+2施加读取通过电压Vreadl以确保其 上每个存储器单元的传导。假设Vreadl约为5.5 V,使得AVread为2.5 V。进一步假设 rl、 r2及Crn (Crn+1)的值分别为0.02、 0.03及0.5。分别将来自等式2的n及n+l设 定为n+l及n+2,且将AVTn+2设定为等于零,获得等式3。可根据等式3确定在读取 WLn+l时的边际化的量。
AVT" +1 = —A VVe"d-
Cm + 1 等式3
等式3基于Vread的改变而提供针对WLn+l上的存储器单元可预期的阈值电压从 编程时到读取时的表观改变量。如果在读取WLn+l时施加的读取参考电压电平解决此 表观改变,则可实现较准确的读取操作。如果将上述假设的值替换到等式3中,则观察 到基于AVread的WLn+l处的VT的所预期改变约为-0.2 V。因此,获得-0.2的补偿读取 边际。
如先前所描述,可使用边际来以不同方式对读取参考电压进行边际化以用于读取相 邻字线。在一个实施例中,将读取参考电压设定为等于两个相邻状态的编程验证电压的平均值加上补偿边际的值。假设四状态(E、 A、 B、 C)装置,其具有分别等于0.8V、 1.6 V及3.6 V的对应验证电平Vva、 Vvb及Vvc。可将状态A参考电压Vra2维持于0 V (未经边际化)。可将状态B参考电压Vrb2设定为1.0 V:等于((0.8+1.6)/2)-0.2。可将状 态C参考电压设定为2.4 V:等于((1.6+3.6)/2)-0.2。将了解,前述值为示范性的且将随 实施方案而变化。
在另一实施例中,可将读取参考电压设定为等于两个相邻状态的标称读取参考电压 的平均值加上补偿边际的值。在又一实施例中,可将读取参考电压设定为等于两个相邻 状态的平均阈值电压的平均值加上补偿边际的值。 一个实施例在不如所描述而计算平均 值的情况下直接将补偿边际施加于标称读取参考电压。
在以上实例中,在状态A参考电压电平处不提供边际。在其它实施例中,在此电平 处也提供边际。可在各种实施方案中存在不对状态A读取参考电压进行边际化的若干原 因。通常难以提供对状态参考电压进行向下边际化可能需要的负电压。此外,有时难以 提供接近OV的准确的较小正电压。另外,由于状态A单元的阈值电压靠近电荷中性, 所以其不经历显著保持损失。因此,可使用状态处的标称读取参考电压而没有来自保持 损失的不利影响。最后,通常针对在对状态A进行编程时的编程电压脉冲使用小递增值, 其产生精确的编程电平。
已出于说明及描述的目的而呈现了对本发明的前述详细描述。其不希望为详尽的或 将本发明限于所揭示的精确形式。鉴于以上教示,许多修改及变化为可能的。选择所描 述的实施例以便最佳地阐释本发明的原理及其实践应用,以进而使得所属领域的技术人 员能够在各种实施例中且以适于所预期的特别用途的各种修改而最佳地利用本发明。希 望本发明的范围由附于本文的权利要求书来界定。
权利要求
1.一种读取非易失性存储器的方法,其包含在对选定非易失性存储元件的读取过程期间以第一电压电平向未选定非易失性存储元件施加对应于特定状态的读取电压以确定所述未选定非易失性存储元件的条件,所述选定非易失性存储元件相邻于所述未选定非易失性存储元件;在所述读取过程期间以第二电压电平向所述选定非易失性存储元件施加所述读取电压;在向所述选定非易失性存储元件施加所述读取电压时基于所述未选定非易失性存储元件的所述条件而针对所述未选定非易失性存储元件使用特定电压;及在所述读取过程期间感测所述选定非易失性存储元件的条件。
2. 根据权利要求l所述的方法,其中所述未选定非易失性存储元件连接到第一字线;所述选定非易失性存储元件连接到在第一方向上邻近于所述第一字线的第二字 线所述方法进一步包含将连接到所述第一字线的非易失性存储元件编程到所述特定状态, 在向第三字线施加第一通过电压的同时验证连接到所述第一字线的所述非易失性存储元件的编程,所述第三字线在第二方向上邻近于所述第一字线,及 在向所述未选定非易失性存储元件施加所述读取电压以确定所述条件的同时向所述第三字线施加第二通过电压。
3. 根据权利要求2所述的方法,其进一步包含以所述第一电压电平提供所述读取电压以至少部分地补偿所述未选定非易失性 存储元件的阈值电压的表观改变,所述表观改变由所述第一通过电压与所述第二通 过电压之间的差异引起。
4. 根据权利要求l所述的方法,其中所述第一电压电平低于所述第二电压电平。
5. 根据权利要求1所述的方法,其中所述针对所述未选定非易失性存储元件使用特定电压包含在向所述选定非易失 性存储元件施加所述读取电压的同时向所述未选定非易失性存储元件施加多个电 压,所述多个电压中的一者为所述特定电压,响应于所述特定电压而执行所述感测所述条件。
6. 根据权利要求1所述的方法,其中所述未选定非易失性存储元件及所述选定非易失性存储元件为多状态快闪存储 器单元;所述读取电压为第一读取电压且所述施加所述第一读取电压进一步包括施加包 括所述第一读取电压的多个读取电压以确定所述未选定非易失性存储元件处于哪 一状态;所述针对所述未选定非易失性存储元件使用所述特定电压包含向所述未选定非 易失性存储元件施加多个电压,所述多个电压包括用于所述未选定非易失性存储元 件可被编程到的每一状态的一个电压,所述多个电压中的一者为所述特定电压,所 述特定电压与所述未选定非易失性存储元件被编程到的所述状态相关联;丢弃响应于所述多个电压中不与所述未选定非易失性存储元件被编程到的所述 状态相关联的电压而感测到的数据;且响应于所述特定电压而执行所述感测条件。
7. 根据权利要求1所述的方法,其中所述选定非易失性存储元件为多状态快闪存储器装置,其存储使用全序列编程而 编程到所述选定非易失性存储元件中的至少两个数据位。
8. 根据权利要求l所述的方法,其中所述选定非易失性存储元件为多状态快闪存储器单元,其存储被编程到第一页及 第二页中的至少两个数据位;所述选定非易失性存储元件能够处于第一状态、第二状态、第三状态或第四状态;所述读取电压为处于所述第三状态与所述第四状态之间的第一读取电压,所述特 定状态为所述第四状态;所述向所述选定非易失性存储元件施加所述读取电压、使用及感测步骤是使用所 述第一读取电压读取所述第一页的过程的部分;且所述方法进一步包含响应于第二读取电压而感测所述选定非易失性存储元件的 条件而不考虑所述未选定非易失性存储元件的所述条件,所述第二读取电压处于所 述第一状态与所述第二状态之间。
9. 根据权利要求8所述的方法,其进一步包含作为确定所述未选定非易失性存储元件的所述条件的部分,以第三电压电平施加 所述第二读取电压;其中感测所述选定非易失性存储元件的所述条件包括以所述第三电压电平向所 述选定非易失性存储元件施加所述第二读取电压。
10. 根据权利要求l所述的方法,其中所述选定非易失性存储元件包括在针对第一数据分组而对相邻非易失性存储元 件进行写入之后相对于第二数据分组而编程的数据。
11. 一种非易失性存储器系统,其包含多个非易失性存储元件管理电路,其与所述多个非易失性存储元件通信,所述管理电路针对连接到选定 字线的选定非易失性存储元件执行读取过程,所述管理电路以第一电压电平向未选 定非易失性存储元件施加对应于特定状态的读取电压以确定所述未选定非易失性 存储元件的状态,在所述读取过程期间以第二电压电平向所述选定非易失性存储元 件施加所述读取电压,在向所述选定非易失性存储元件施加所述读取电压时基于所 述未选定非易失性存储元件的条件而针对所述未选定非易失性存储元件使用特定 电压,且在所述读取过程期间感测所述选定非易失性存储元件的条件。
12. 根据权利要求ll所述的非易失性存储器系统,其中所述未选定非易失性存储元件连接到第一字线;所述选定非易失性存储元件连接到在第一方向上邻近于所述第一字线的第二字 线;所述管理电路将连接到所述第一字线的非易失性存储元件编程到所述特定状态 且在向第三字线施加第一通过电压的同时验证连接到所述第一字线的所述非易失 性存储元件的编程,所述第三字线在第二方向上邻近于所述第一字线,所述管理电 路在向所述未选定非易失性存储元件施加所述读取电压以确定所述未选定非易失 性存储元件的所述状态的同时向所述第三字线施加第二通过电压。
13. 根据权利要求12所述的非易失性存储器系统,其中所述管理电路以所述第一电压电平提供所述读取电压以至少部分地补偿所述未选定非易失性 存储元件的阈值电压的表观改变,所述表观改变由所述第一通过电压与所述第二通 过电压之间的差异引起。
14. 根据权利要求ll所述的非易失性存储器系统,其中-所述第一电压电平低于所述第二电压电平。
15. 根据权利要求ll所述的非易失性存储器系统,其中-所述管理电路针对所述未选定非易失性存储元件使用特定电压包含在向所述选定非易失性存储元件施加所述读取电压的同时向所述未选定非易失性存储元件施 加多个电压,所述多个电压中的一者为所述特定电压,所述感测所述条件是响应于 所述特定电压而执行。
16. 根据权利要求ll所述的非易失性存储器系统,其中所述未选定非易失性存储元件及所述选定非易失性存储元件为多状态快闪存储 器单元;所述读取电压为第一读取电压且所述施加所述第一读取电压进一步包括施加包 括所述第一读取电压的多个读取电压以确定所述未选定非易失性存储元件处于哪 一状态;所述管理电路针对所述未选定非易失性存储元件使用所述特定电压包含向所述 未选定非易失性存储元件施加多个电压,所述多个电压包括用于所述未选定非易失 性存储元件可被编程到的每一状态的一个电压,所述多个电压中的一者为所述特定 电压,所述特定电压与所述相邻者被编程到的所述状态相关联;所述管理电路丢弃响应于所述多个电压中不与所述未选定非易失性存储元件被 编程到的所述状态相关联的电压而感测到的数据;且所述管理电路感测条件是响应于所述特定电压而执行。
17. 根据权利要求ll所述的非易失性存储器系统,其中所述选定非易失性存储元件为多状态快闪存储器装置,其存储使用全序列编程而 编程到所述选定非易失性存储元件中的至少两个数据位。
18. 根据权利要求ll所述的非易失性存储器系统,其中所述选定非易失性存储元件为多状态快闪存储器单元,其存储被编程到第一页及 第二页中的至少两个数据位;所述选定非易失性存储元件能够处于第一状态、第二状态、第三状态或第四状态;所述读取电压为处于所述第三状态与所述第四状态之间的第一读取电压,所述特 定状态为所述第四状态;作为使用所述第一读取电压来读取所述第一页的过程的部分,所述管理电路向所 述选定非易失性存储元件施加所述读取电压、使用所述特定电压且感测所述条件; 且所述管理电路进一步响应于第二读取电压而感测所述选定非易失性存储元件的 条件而不考虑所述未选定非易失性存储元件的所述条件,所述第二读取电压处于所 述第一状态与所述第二状态之间。
19. 根据权利要求18所述的非易失性存储器系统,其中作为确定所述未选定非易失性存储元件的所述条件的部分,所述管理电路以第三 电压电平施加所述第二读取电压;其中感测所述选定非易失性存储元件的所述条件包括以所述第三电压电平向所 述选定非易失性存储元件施加所述第二读取电压。
20. 根据权利要求ll所述的非易失性存储器系统,其中所述选定非易失性存储元件包括在针对第一数据分组而对相邻非易失性存储元 件进行写入之后相对于第二数据分组而编程的数据。
21. 根据权利要求ll所述的非易失性存储器系统,其中-所述管理电路包括控制器及状态机中的至少一者。
全文摘要
存储于非易失性存储器单元的浮动栅极(或其它电荷存储元件)上的表观电荷的移位可能由于基于存储于邻近浮动栅极(或其它邻近电荷存储元件)中的电荷的电场的耦合而发生。所述问题最显著地发生于已在不同时间处被编程的若干组邻近存储器单元之间。为了解决此耦合,对特定存储器单元的读取过程将向邻近存储器单元提供补偿,以便减小所述邻近存储器单元对所述特定存储器单元造成的耦合效应。在读取所述邻近单元以确定适当补偿时,可使用边际化读取电压。
文档编号G11C16/26GK101627442SQ200780051240
公开日2010年1月13日 申请日期2007年12月27日 优先权日2006年12月29日
发明者尼玛·穆赫莱斯 申请人:桑迪士克股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1