非易失性存储器和用于高速缓存页复制的方法

xiaoxiao2020-8-1  1

【专利下载】Tel:18215660330

专利名称:非易失性存储器和用于高速缓存页复制的方法
技术领域
本发明大体上涉及非易失性半导体存储器,例如电可擦除可编程只读存储器 (EEPROM)和快闪EEPROM,且具体地说,涉及基于锁存结构在存储器操作中的有效 利用的高速缓存操作,例如将页从一个存储器位置复制到另一存储器位置。
背景技术
能够非易失性地存储电荷的固态存储器(尤其是呈经封装为小型卡的EEPROM和 快闪EEPROM的形式)近来已成为多种移动和手持式装置(特别是信息器具和消费型 电子产品)中的精选存储装置。不同于同样作为固态存储器的RAM(随机存取存储器), 快闪存储器是非易失性的,且即使在电源被切断之后仍保留其所存储的数据。尽管成本 较高,但快闪存储器正越来越多地用于大容量存储应用中。基于例如硬盘驱动器和软盘 等旋转式磁性媒体的常规大容量存储装置并不适合于移动和手持式环境。这是因为磁盘 驱动器往往体积庞大,易于遭受机械故障,且具有高等待时间和高功率要求。这些不良 属性使得基于磁盘的存储在大多数移动和便携式应用中不能实行。另一方面,嵌入式和 呈可移除式卡的形式两者的快闪存储器由于其小尺寸、低功率消耗、高速度和高可靠性 特征而理想地适合于移动和手持式环境中。EEPROM和电可编程只读存储器(EPROM)是可经擦除的非易失性存储器且使新 数据写入或"编程"到其存储器单元中。所述两者均在场效应晶体管结构中利用浮动(未 连接)导电栅极,其定位于半导体衬底中的沟道区上方在源极区与漏极区之间。接着在 浮动栅极上方提供控制栅极。晶体管的阈值电压特性由保留于浮动栅极上的电荷量来控 制。也就是说,对于浮动栅极上的给定电荷电平,存在必须在"接通"晶体管以准许在 其源极区与漏极区之间进行导电之前施加到控制栅极的对应电压(阈值)。浮动栅极可保持一电荷范围且因此可被编程到阈值电压窗内的任何阈值电压电平。 阈值电压窗的大小由装置的最小和最大阈值电平定界,所述最小和最大阈值电平又对应 于可编程到浮动栅极上的电荷的范围。阈值窗大体上依据存储器装置的特性、操作条件 和历史而定。所述窗内的每一截然不同的可解析阈值电压电平范围原则上可用以指定单 元的明确存储器状态。当将阈值电压分割为两个截然不同区时,每一存储器单元将能够 存储一个数据位。类似地,当将阈值电压窗分割为两个以上截然不同区时,每一存储器单元将能够存储一个以上数据位。在通常的二状态EEPROM单元中,建立至少一个电流断点电平以便将导电窗分割 为两个区。当通过施加预定的固定电压来读取单元时,其源极/漏极电流通过与所述断点 电平(或参考电流IREF)比较而经解析为一存储器状态。如果所读取的电流高于断点 电平的电流,则确定所述单元处于一个逻辑状态(例如,"零"状态)。另一方面,如果 所述电流小于断点电平的电流,则确定所述单元处于另一逻辑状态(例如,"一"状态)。 因此,此二状态单元存储一个数字信息位。经常提供可外部编程的参考电流源作为存储 器系统的一部分以产生断点电平电流。为了增加存储器容量,随着半导体技术的状态前进,快闪EEPROM装置正被制造 成具有越来越高的密度。用于增加存储容量的另一方法是使每一存储器单元存储两个以 上状态。对于多状态或多电平EEPROM存储器单元来说,通过一个以上断点将导电窗分割 为两个以上区,使得每一单元能够存储一个以上数据位。给定EEPROM阵列可存储的 信息因此随每一单元可存储的状态的数目而增加。具有多状态或多电平存储器单元的 EEPROM或快闪EEPROM已在第5,172,338号美国专利中描述。通常通过两个机制中的一者将充当存储器单元的晶体管编程到"经编程"状态。在 "热电子注入"中,施加到漏极的高电压加速电子越过衬底沟道区。同时,施加到控制 栅极的高电压将热电子牵拉穿过薄栅极电介质到达浮动栅极上。在"隧穿注入"中,相 对于衬底将高电压施加到控制栅极。以此方式,将电子从衬底牵拉到居间的浮动栅极。可通过多个机制来擦除存储器装置。对于EPROM来说,可通过用紫外线辐射从浮 动栅极移除电荷来成批地擦除存储器。对于EEPROM来说,可通过相对于控制栅极将 高电压施加到衬底以便诱发浮动栅极中的电子隧穿通过薄氧化物到达衬底沟道区(即, 福勒-诺德海姆隧穿(Fowler-Nordheim tunneling))来电擦除存储器单元。通常,可逐个 字节地擦除EEPROM。对于快闪EEPROM来说,可同时或一次一个或一个以上区块地 电擦除存储器,其中一区块可由512个字节或更多的存储器组成。存储器装置通常包含可安装于一卡上的一个或一个以上存储器芯片。每一存储器芯 片包含由例如解码器以及擦除、写入和读取电路等外围电路支持的存储器单元阵列。较 复杂的存储器装置通过执行智能且较高级存储器操作和介接的外部存储器控制器来操 作。现今正使用许多商业上成功的非易失性固态存储器装置。这些存储器装置可为快闪 EEPROM或可采用其它类型的非易失性存储器单元。快闪存储器和系统及其制造方法的实例在第5,070,032号、第5,095,344号、第5,315,541号、第5,343,063号和第5,661,053 号、第5,313,421号和第6,222,762号美国专利中给出。明确地说,具有NAND串结构 的快闪存储器装置在第5,570,315号、第5,903,495号、第6,046,935号美国专利中描述。 而且,还从具有用于存储电荷的介电层的存储器单元制造非易失性存储器装置。代替早 先描述的导电浮动栅极元件,使用介电层。此类利用介电存储元件的存储器装置已由艾 坦(Eitan)等人在"NROM:新颖的局部俘获式2位非易失性存储器单元(NROM: A Novel Localized Trapping, 2-Bit Nonvolatile Memory Cell)" (IEEE电子装置快报,第21巻,第 11号,2000年11月,第543到545页)中描述。ONO介电层延伸越过源极扩散与漏极 扩散之间的沟道。用于一个数据位的电荷局限于介电层中邻近于漏极处,且用于另一数 据位的电荷局限于介电层中邻近于源极处。举例来说,第5,768,192号和第6,011,725号 美国专利揭示一种具有夹于两个二氧化硅层之间的俘获电介质的非易失性存储器单元。通过单独地读取所述电介质内的空间上分离的电荷存储区的二进制状态来实施多状态 数据存储。为了改进读取和编程性能,并行地读取或编程一阵列中的多个电荷存储元件或存储 器晶体管。因此, 一起读取或编程存储器元件"页"。在现有存储器结构中, 一行通常 含有若干交错页或其可构成一个页。将一起读取或编程一页的所有存储器元件。因此,存在对高容量且高性能非易失性存储器的一般需要。明确地说,需要具有能 够以较大区块实行存储器操作的高容量非易失性存储器,其具有高性能和对装置资源的 有效利用。 发明内容根据本发明的一般方面,对用于每一存储器单元的最小数目n+l个数据锁存器的有 效利用使得n位存储器能够实施有效的数据再定位或"页高速缓存复制"。此外,数据 锁存器的相同配置还允许在对存储于邻近字线中的数据进行补偿的情况下进行读取。因 此,2位存储器将对于每一存储器单元仅需要3个数据锁存器来在对存储于邻近字线中 的数据进行补偿的情况下实施读取且用于实现有效的数据再定位。类似地,3位存储器 将对于每一存储器单元仅需要4个数据锁存器来在对存储于邻近字线中的数据进行补偿的情况下实施读取且用于实现有效的数据再定位。对于每一者存储待再定位的n位数据的一页存储器单元,这通过以下操作来实现 读取所述页的n位数据且锁存到对应页的n位锁存器中使得单一位数据的n个逻辑页(所 述n位数据中的每一者提供一个逻辑页)被锁存,按预定次序逐页地来回移出所述n个逻辑数据页中的每一者以用于数据处理且将任何经修改的位返回到初始锁存器,同时随 着其返回,同时地逐页编程所述经处理的数据。以此方式,可将用于来回双向触发数据 的时间中的至少一些隐藏于写入操作后,进而改进页复制的性能。明确地说,按预定次序来回移动逻辑数据页以用于数据处理,使得可用于编程的第 一数据页将允许编程从经擦除状态开始直到给定的经编程状态,即使当n位代码的所有 位均不可用于解析所有存储器状态时也是如此。类似地,额外可用页将允许编程继续到 甚至更高的经编程状态。当所有代码位变为可用时,所述编程可完成,因为所述页的每 个存储器单元的目标状态均被界定。因此,在自适应全序列模式下执行编程,其中只要可用位将允许,编程便可开始且最终当所有代码位均可用时完成。 本发明在至少四个相互关联的方面中具有改进性能的优点。第一,在自适应全序列模式下进行编程允许施加到字线的编程电压为单调递增函 数。可在一遍中在整个阈值窗上从最低存储器状态到最高存储器状态进行编程。这与多 遍式编程形成对比,在多遍式编程的情况下,编程电压将必须在每一遍开始时从初始编 程电压重新开始。第二,自适应特征允许编程即使在并非所有代码位均可用以充分解析存储器状态时 也可开始。编程可在所述多位代码的甚至一个位可用于所述页的每一存储器单元时立即 开始。第三,由于对每一存储器单元的编程可通过逐步地一次添加一位来进行,所以在第 二位数据群组正通过同时经数据处理来准备好的同时,第一位数据群组可用以编程所述 存储器单元群组。因此,可将数据处理周期隐藏于编程时间后。将看到,对于n位代码, 本发明性高速缓存页复制方案允许将n-l个数据处理操作隐藏于编程时间后。举例来说, 对于采用2位代码,节省了一个数据处理操作周期。对于3位代码,节省了两个数据处 理操作周期。最后,即使在对由于随后在相邻字线上编程的数据引起的扰动效应进行先行校正的 情况下,本发明性高速缓存页复制方案可用最少的数据锁存器来实施。对于n位存储器, 数据锁存器的数目为每存储器单元n+l个。将从以下对本发明优选实施例的描述内容中理解本发明的额外特征和优点,应结合 附图阅读所述描述内容。


图1示意性地说明其中可实施本发明的非易失性存储器芯片的功能区块。图2示意性地说明非易失性存储器单元。图3说明对于浮动栅极在任一时间可选择性地进行存储的四种不同电荷Ql到Q4 的源极-漏极电流Io与控制栅极电压Vcci之间的关系。 图4说明NOR存储器单元阵列的实例。 图5A示意性地说明被组织成NAND串的一串存储器单元。图5B说明由NAND串50 (例如在图5A中所示的NAND串)构成的NAND存储 器单元阵列200的实例。图6示意性地说明经组织在可擦除区块中的存储器阵列的实例。 图7示意性地说明图1中所示的读取/写入电路的优选布置。 图8说明图7中所示的读取/写入电路中的读取/写入堆叠的布置。 图9为图8的读取/写入堆叠的功能框图。图IO说明正施加到选定字线的呈阶梯波形形式的一系列编程电压脉冲。 图ll(O)到图11(3)说明用优选的2位逻辑代码("LM"代码)编码的4状态存储器 的逻辑逐页编程。图12(0)到图12(2)说明用优选的2位逻辑代码("LM"代码)编码的4状态存储器 的全序列编程。图13A说明辨别用2位LM代码编码的4状态存储器的下部位所需的读取操作。 图13B说明辨别用2位LM代码编码的4状态存储器的上部位所需的读取操作。 图14(0)到图14(4)说明用优选的3位逻辑代码("LM"代码)编码的8状态存储器 的编程。图15说明具有2位存储器单元的存储器的实例,且其页按最佳顺序编程以便使邻 近字线上的存储器单元之间的余平(Yupin)效应最小化。图16说明页复制操作,其中第一位置中的存储器单元页的数据被复制到存储器阵 列中的第二位置中的存储器单元页。图17说明优选的页复制操作,其中读取数据在被复制到存储器中的目的地位置之 前由外部控制器校正任何错误。图18为根据本发明的一般实施例的高速缓存复制方案的流程图。图19(0)到图19(3)说明将2位LM代码用于图18中所示的高速缓存复制方案的编码 和编程部分的实例。图20(0)到图20(4)说明将3位LM代码用于图18中所示的高速缓存复制方案的编码 和编程部分的实例。11图21A到图21B展示描述使用3个数据锁存器对实例性2位存储器执行LA读取的 优选方法的流程图。
具体实施方式
存储器系统图1到图9说明其中可实施本发明的各种方面的实例性存储器系统。 图10到图17说明用于存储器系统的编程和读取技术的实例。 图18到图21说明本发明的高速缓存页复制技术的实施例。图l示意性地说明其中可实施本发明的非易失性存储器芯片的功能区块。存储器芯 片100包括二维存储器单元阵列200、控制电路210和外围电路,例如解码器、读取/ 写入电路和多路复用器。存储器阵列200可通过字线经由行解码器230 (分裂为230A、 230B)且通过位线经 由列解码器260 (分裂为260A、 260B)寻址(还见图4和图5)。读取/写入电路270 (分 裂为270A、 270B)允许并行地读取或编程存储器单元页。数据I/O总线231耦合到读 取/写入电路270。在优选实施例中, 一页由共享同一字线的一行邻接存储器单元构成。在将一行存储 器单元分割为多个页的另一实施例中,提供区块多路复用器250 (分裂为250A和250B) 以将读取/写入电路270多路复用到各个页。举例来说,将分别由奇数列和偶数列存储器 单元形成的两个页多路复用到读取/写入电路。图l说明优选布置,其中在阵列的相对侧上按对称型式实施各种外围电路对存储器 阵列200的存取,使得每一侧上的存取线和电路的密度减小一半。因此,行解码器经分 裂为行解码器230A和230B,且列解码器经分裂为列解码器260A和260B。在将一行存 储器单元分割为多个页的实施例中,页多路复用器250经分裂为页多路复用器250A和 250B。类似地,读取/写入电路270经分裂为从阵列200的底部连接到位线的读取/写入 电路270A和从阵列200的顶部连接到位线的读取/写入电路270B。以此方式,读取/写 入模块的密度和因此读出模块380的密度本质上减小一半。控制电路110为芯片上控制器,其与读取/写入电路270协作以对存储器阵列200执 行存储器操作。控制电路IIO通常包括状态机112和其它电路,例如芯片上地址解码器 和功率控制模块(未明确图示)。状态机112提供对存储器操作的芯片级控制。控制电 路经由外部存储器控制器而与主机通信。存储器阵列200通常经组织为以行和列布置的且可由字线和位线寻址的二维存储器单元阵列。可根据NOR型或NAND型结构形成所述阵列。图2示意性地说明非易失性存储器单元。存储器单元10可由具有电荷存储单元20 (例如浮动栅极或介电层)的场效应晶体管实施。存储器单元10还包括源极14、漏极 16和控制栅极30。现今正使用许多商业上成功的非易失性固态存储器装置。这些存储器装置可采用不 同类型的存储器单元,每一类型具有一个或一个以上电荷存储元件。典型的非易失性存储器单元包括EEPROM和快闪EEPROM。 EEPROM单元和其制 造方法的实例在第5,595,924号美国专利中给出。快闪EEPROM单元、其在存储器系统 中的使用和其制造方法的实例在第5,070,032号、第5,095,344号、第5,315,541号、第 5,343,063号、第5,661,053号、第5,313,421号和第6,222,762号美国专利中给出。明确 地说,具有NAND单元结构的存储器装置的实例在第5,570,315号、第5,903,495号、 第6,046,935号美国专利中描述。而且,利用介电存储元件的存储器装置的实例已由艾 坦(Eitan)等人在"NROM:新颖的局部俘获式2位非易失性存储器单元(NROM: A Novel Localized Trapping, 2-Bit Nonvolatile Memory Cell)" (IEEE电子装置快报,第21巻,第 11号,2000年11月,第543到545页)中描述且在第5,768,192号和第6,011,725号美 国专利中描述。实际上,通常通过在将参考电压施加到控制栅极时感测单元的源极电极和漏极电极 上的导电电流来读取所述单元的存储器状态。因此,对于单元的浮动栅极上的每一给定 电荷来说,可检测相对于固定参考控制栅极电压的对应导电电流。类似地,可编程到浮 动栅极上的电荷的范围界定对应阈值电压窗或对应导电电流窗。或者,代替检测经分割电流窗中的导电电流,有可能在控制栅极处设定用于在测试 下的给定存储器状态的阈值电压并检测导电电流是低于还是高于阈值电流。在一个实施 方案中,通过检查导电电流正通过位线的电容放电的速率来实现相对于阈值电流的对导 电电流的检测。图3说明对于浮动栅极在任一时间可选择性地进行存储的四种不同电荷Ql到Q4 的源极-漏极电流lD与控制栅极电压Vcc之间的关系。四条实线Io对Vco曲线表示可在 存储器单元的浮动栅极上编程的四个可能电荷电平,其分别对应于四个可能存储器状 态。作为实例, 一单元群体的阈值电压窗可在0.5 V到3.5 V的范围内。通过以每一者 0.5 V的间隔将阈值窗分割为五个区,可对分别表示一个经擦除状态和六个经编程状态 的七个可能存储器状态"Gr"、 "A"、 "B"、 "C"、 "D"、 "E"、 "F"进行划界。举例来说, 如果如所展示使用2 的参考电流IREF,则可将用Ql编程的单元视为处于存储器状态"A",因为其曲线与Iref相交于由VCG=0.5 V和l.OV划界的阈值窗区中。类似地, Q4处于存储器状态"E"。如可从以上描述内容中看到,使存储器单元存储的状态越多,其闺值窗被划分得就 越精细。这将在编程和读取操作中需要更高精确度以便能够实现所需解析率。图4说明NOR存储器单元阵列的实例。在存储器阵列200中,每一行存储器单元 通过其源极14和漏极16以菊链方式连接。有时将此设计称作虚拟接地设计。 一行中的 单元10使其控制栅极30连接到一字线(例如字线42)。 一列中的单元使其源极和漏极 分别连接到选定位线(例如位线34和36)。图5A示意性地说明被组织成NAND串的一串存储器单元。NAND串50包含一系 列存储器晶体管M1、 M2、、 Mn (例如,n=4、 8、 16或更高),所述存储器晶体管通 过其源极和漏极以菊链方式链接。 一对选择晶体管Sl、 S2控制存储器晶体管链分别经 由NAND串的源极端子54和漏极端子56而到外部的连接。在存储器阵列中,当接通源 极选择晶体管Sl时,源极端子耦合到源极线(见图5B)。类似地,当接通漏极选择晶 体管S2时,NAND串的漏极端子耦合到存储器阵列的位线。所述链中的每一存储器晶 体管IO充当一存储器单元。其具有电荷存储元件20以存储给定量的电荷以便表示既定 的存储器状态。每一存储器晶体管的控制栅极30提供对读取和写入操作的控制。如将 在图5B中看到, 一行NAND串的对应存储器晶体管的控制栅极30全部连接到同一字 线。类似地,选择晶体管Sl、 S2中的每一者的控制栅极32提供分别经由NAND串的 源极端子54和漏极端子56而对所述NAND串的控制存取。同样地, 一行NAND串的 对应选择晶体管的控制栅极32全部连接到同一选择线。当读取或在编程期间验证NAND串内的所寻址存储器晶体管10时,向其控制栅极 30供应适当电压。同时,NAND串50中的剩余未寻址存储器晶体管通过在其控制栅极 上施加充分电压而全部接通。以此方式,有效地创建从各个存储器晶体管的源极到 NAND串的源极端子54且同样从各个存储器晶体管的漏极到单元的漏极端子56的导电 路径。具有此类NAND串结构的存储器装置在第5,570,315号、第5,903,495号、第 6,046,935号美国专利中描述。图5B说明由NAND串50 (例如图5A中所示的NAND串)构成的NAND存储器 单元阵列200的实例。沿每一列NAND串,例如位线36的位线耦合到每一 NAND串的 漏极端子56。沿每一组NAND串,例如源极线34的源极线耦合到每一 NAND串的源 极端子54。而且,沿一组NAND串中的一行存储器单元的控制栅极连接到例如字线42 的字线。沿一组NAND串中的一行选择晶体管的控制栅极连接到例如选择线44的选择14线。 一组NAND串中的整行存储器单元可由所述组NAND串的字线和选择线上的适当 电压寻址。当正在读取NAND串内的一存储器晶体管时,所述串中的剩余存储器晶体管 经由其相关联字线而硬接通,使得流经所述串的电流本质上依据存储于正被读取的单元 中的电荷的电平而定。图6示意性地说明经组织在可擦除区块中的存储器阵列的实例。电荷存储存储器装 置的编程仅可导致将更多电荷添加到其电荷存储元件。因此,在编程操作之前,必须移 除(或擦除)存储器单元的电荷存储元件中的现有电荷。当一起(即,瞬间地)电擦除 整个单元阵列200或所述阵列的重要单元群组时,例如EEPROM的非易失性存储器被 称作"快闪"EEPROM。 一旦擦除,接着便可对所述单元群组再编程。可一起擦除的所 述单元群组可由一个或一个以上可寻址擦除单元300组成。擦除单元或区块300通常存 储一个或一个以上数据页,所述页是编程和读取的最小单位,但在单一操作中可编程或 读取一个以上页。每一页通常存储一个或一个以上数据扇区,所述扇区的大小由主机系 统界定。 一实例是遵循对磁盘驱动器所建立的标准的512字节用户数据加上关于用户数 据和/或存储有所述用户数据的区块的某数目字节的额外开销信息的扇区。在图6所示的实例中,存储器阵列200中的各个存储器单元可由字线42(例如WL0 到WLy)和位线36 (例如BL0到BLx)存取。所述存储器被组织成数个擦除区块,例 如擦除区块0、 1、…、m。还参看图5A和图5B,如果NAND串50含有16个存储器 单元,则阵列中的第一组NAND串将可由选择线44和字线42 (例如WL0到WL15) 存取。擦除区块O经组织以使第一组NAND串的所有存储器单元一起被擦除。在另一存 储器结构中,可一起擦除一组以上NAND串。图7示意性地说明图1中所示的读取/写入电路的优选布置。读取/写入电路270经 实施为一组经分割的读取/写入堆叠400且允许并行地读取或编程存储器单元群组(还称 作"页")。如早先所描述,存储器结构使得读取/写入电路集合并行地服务对应的存储器 单元集合。如将在图8中看到,每一读取/写入堆叠400为用于服务所述页的子集的读取 /写入电路的分组。如果在一页中存在p个存储器单元,则每一堆叠服务具有k个存储器 单元的子集。读取/写入堆叠的操作由堆叠控制器410控制。图8说明图7中所示的读取/写入电路中的读取/写入堆叠的布置。每一读取/写入堆 叠400并行地对一群组k个位线进行操作。如果一页具有p-"k个位线,则将存在r个 读取/写入堆叠400-1、…、400-r。并行操作的整组经分割的读取/写入堆叠400允许并行地读取或编程沿一行的具有p 个单元的区块(或页)。因此,对于整行单元将存在p个读取/写入模块。由于每一堆叠正在服务k个存储器单元,因此所述组中的读取/写入堆叠的总数由^p/k给定。举例来 说,如果r为所述组中的堆叠的数目,则p=r*k。 一个实例性存储器阵列可具有p=512 个字节(512x8个位),k=8,且因此r-512。在优选实施例中,区块为整行单元的行程。 在另一实施例中,区块为所述行中的单元子集。举例来说,单元子集可为整个行的一半 或整个行的四分之一。所述单元子集可为邻接单元或每隔一个单元的单元或每隔预定数 目单元的单元的行程。每一读取/写入堆叠(例如400-1)本质上含有并行地服务具有k个存储器单元的区 段的读出放大器212-1到212-k的堆叠。优选的读出放大器在第2004-0109357-A1号美 国专利公开案中揭示,所述公开案的全部揭示内容特此以引用的方式并入本文中。堆叠总线控制器410经由线411将控制和定时信号提供到读取/写入电路370。堆叠 总线控制器自身经由线311而依赖于存储器控制器310。每一读取/写入堆叠400中的通 信由互连堆叠总线431实行且由堆叠总线控制器410控制。控制线411将控制和时钟信 号从堆叠总线控制器410提供到读取/写入堆叠400-1的组件。在优选布置中,堆叠总线被分割为用于在共用处理器500与读出放大器堆叠212之 间进行通信的SA总线422和用于在处理器与数据锁存器堆叠430之间进行通信的D总 线423。数据锁存器堆叠430包含数据锁存器430-1到430-k,与所述堆叠相关联的每一存 储器单元使用一个数据锁存器。I/O模块440使数据锁存器能够经由I/O总线231而与 外部交换数据。共用处理器还包括输出端507,其用于输出指示存储器操作的状态(例如错误条件) 的状态信号。所述状态信号用以驱动n型晶体管550的以线或配置系接到旗标总线509 的栅极。旗标总线优选地由控制电路110预充电且将在读取/写入堆叠中的任一者断言状 态信号时被下拉。图9为图8的读取/写入堆叠的功能框图。本质上,每一读取/写入堆叠并行地服务k 个存储器单元,其为一页的子集。读取/写入堆叠含有读出放大器212-1到212-k的堆叠 和数据锁存器430-1到430-k的堆叠。读出放大器堆叠和数据锁存器堆叠共享共用处理 器500,所述共用处理器500能够处理所述堆叠中的数据。在任一时间,共用处理器500 处理与给定存储器单元相关的数据。举例来说,对于耦合到位线1的存储器单元,对应 的读出放大器212-1将从存储器单元感测的数据锁存到读出放大器锁存器一一SA锁存 器214-1中。类似地,数据锁存器430-1的对应集合存储与耦合到位线1的存储器单元 相关联的输入或输出数据。在优选实施例中,数据锁存器430-1的集合包含用于存储(q+l)位信息的数据锁存器434-0、…、434-q或分别为DL0、 DL1、…、DLq的集合。 所述存储器单元页共享一共用字线,且所述页的每一存储器单元经由位线耦合到读 出放大器。当存储器单元页被读取或写入时,其还称作从与所述存储器单元页相关联的 字线读取或写入到所述字线。类似地,与存储器单元页相关联的数据被称作数据页。此类读取/写入电路已在2006年6月29日公开的美国专利申请公开案 US-2006-0140007-A1中描述,所述公开案的全部揭示内容以引用的方式并入本文中。图10说明正被施加到选定字线的呈阶梯波形形式的一系列编程电压脉冲。当将单 元编程到给定状态时,每当试图将递增电荷添加到浮动栅极时,所述单元经受连续的编 程电压脉冲。在编程脉冲之间,所述单元经读回或验证以相对于断点电平确定其源极-漏极电流。对于一单元,当所述单元已被验证为达到所需状态时,编程停止。所使用的 编程脉冲群可具有递增的周期或振幅以便抵消经编程到存储器单元的电荷存储单元中 的不断累积的电子。编程电路通常将一系列编程脉冲施加到选定字线。以此方式,控制栅极连接到所述字线的存储器单元页可被一起编程。每当所述页的一存储器单元己被编 程到其目标状态时,所述存储器单元被禁止编程,而其它单元继续经受编程,直到所述 页的所有单元均已得到编程验证为止。单元到单元耦合("余平效应")被编程到一个存储器单元的电荷存储元件中的电荷产生一电场,所述电场干扰相邻 存储器单元的电场。如果一存储器单元在第一场环境下得到编程验证且稍后在由于相邻 单元随后被编程有不同电荷引起的不同场环境下被再次读取,则读取准确性可能受到称 作"余平效应"之物的影响。在半导体存储器中具有甚至更高集成度的情况下,随着单 元间间距收縮,存储器单元之间的由于所存储电荷引起的电场扰动(余平效应)变得越 来越明显。可通过使在编程验证时间与相邻单元己被编程后的读取时间之间的用于 一 单元的 场环境不对称性最小化来减轻余平效应。此问题影响存储器阵列的沿一行且跨越数个位 线的邻近单元(BL-BL余平效应)和沿一列跨越数个字线的邻近单元(WL-WL余平效 应)。一种用以减小BL-BL余平效应的方式是采用多位编码,其避免了每一遍二进制编程 之间的电荷的大改变。具有此类特性的优选编码由"LM"编码给出。一种用以减小WL-WL余平效应的方式是以最佳次序编程存储器阵列中的页。 一种用以校正WL-WL余平效应的方式是使用"先行"或"LA"校正来读取经编程 的页。用于2位或4状态存储器的示范性优选"LM"编码图ll(O)到图11(3)说明用优选的2位逻辑代码("LM"代码)编码的4状态存储器 的逻辑逐页编程。来自一页的每一存储器单元的2个代码位形成两个逻辑页,其中每一 页由从所述页的每个存储器单元贡献的一个代码位形成。可逐个逻辑页地执行编程,其 中下部页之后跟随上部页。此代码提供容错性且缓解BL-BL余平效应。图ll(O)说明4 状态存储器阵列的阈值电压分布。每一存储器单元的可能阈值电压跨越一阔值窗,所述 阈值窗被分割成四个区以对四个可能存储器状态"Gr"、 "A"、 "B"和"C"定界。"Gr" 为接地状态,其为紧凑分布内的经擦除状态,且"A"、 "B"和"C"为三个渐进的经编 程状态。在读取期间,所述四个状态由三个定界断点DA、 Db和Dc定界。图11(3)说明用以表示四个可能存储器状态的优选的2位LM编码。所述存储器状态 (即,"Gr"、"A"、"B"和"C")中的每一者分别由一对"上部、下部"代码位(即,"11"、 "01"、 "00"和"10")表示。LM编码与常规格雷码的不同之处是对于状态"A"和"C" 颠倒上部位和下部位。"LM"代码已在第6,657,891号美国专利中揭示,且在通过避免 需要电荷的大改变的编程操作来减小邻近浮动栅极之间的场效应耦合中是有利的。如将 在图U(2)和图11(3)中看到,每一编程操作导致电荷存储单元中的电荷的适度改变,如 从阈值电压VT的适度改变容易看到。所述编码经设计以使得可单独地编程和读取2个代码位一一 "下部"和"上部"位。 当编程下部位时,单元的阈值电平保持处于"经擦除"区中或移动到阈值窗的"下部中 间"区。当编程上部位时,处于这两个区中的任一者中的单元的阈值电平经进一步提升 到在阈值窗的"下部中等"区中的稍微较高电平。图ll(l)和图11(2)说明使用2位LM代码的下部页编程。容错LM代码经设计以避 免任何随后上部页编程经过任何中等状态。因此,第一轮下部页编程使单元在下部位为 "1"的情况下保持处于"经擦除"或"Gr"状态或在下部位为"0"的情况下编程到"下 部中等"状态。基本上,通过使经深度擦除状态编程到处于经良好界定的阈值范围内, "Gr"或"接地"状态为具有紧凑分布的"经擦除"状态。"下部中等"状态可具有跨于 存储器状态"A"与"B"之间的宽广的阈值电压分布。在编程期间,相对于粗略定界(例 如DA)验证"下部中等"状态。图11(2)和图11(3)说明使用2位LM代码的上部页编程。在第一轮下部页编程的基 础上执行上部页编程。依据下部位的值而定,给定上部位可表示不同存储器状态。在第 二轮编程中,如果单元将使上部位为"1"同时下部位为"1"(即,(l,l)),则对于所述 单元,不存在编程,且其保持处于"Gr"。如果上部位为"0"同时下部位为"1"(即,(0,1 )),则所述单元从"Gr"状态编程到"A"状态。在编程到"A"期间,验证是相对 于定界DVa。另一方面,如果单元将使上部位为"0"同时下部位为"0"(即,(O,O)), 则所述单元从"下部中等"状态编程到"B"。编程验证是相对于定界DVB。类似地,如 果单元将使上部位为"1"同时下部页为"0"(即,(l,O)),则所述单元将从"下部中等" 状态编程到"C"。编程验证是相对于定界DVc。由于上部页编程仅涉及从"Gr"状态或 "下部中等"状态编程到下一邻近存储器状态,所以从一轮到另一轮并未更改大量电荷。 而且,设计从"Gr"到粗略"下部中等"状态的下部页编程以节省时间。在每一遍编程 中,递增的编程脉冲重新开始且从初始VpgmO倾斜上升(见图IO)。在另一优选实施例中,实施"快速通过写入"编程技术。每当单元的编程接近验证 定界点时,将通过对位线电压进行合适偏置或通过修改编程脉冲来使编程切换到较慢 (即,较精细)模式。以此方式,最初可使用较大编程步骤以实现快速会聚,而没有超 越目标状态的风险。"QPW"编程算法已在2005年12月29日申请且题为"用于在非易 失性存储器中实现改进的编程验证操作的方法(Methods for Improved Program-Verify Operations in Non-Volatile Memories)"的第11/323,596号美国专利申请案中揭示,所述 申请案的全部揭示内容特此以引用的方式并入本文中。图12(0)到图12(2)说明用优选的2位逻辑代码("LM"代码)编码的4状态存储器 的全序列编程。类似于图11(0),图12(0)说明4状态存储器阵列的阈值电压分布,其具 有作为接地状态"Gr"的经擦除状态以及渐进地更经编程的存储器状态"A"、 "B"和 "C"。图12(1)到图12(2)说明全序列编程方案,其中所有2个位均可用以辨别接着直接 从"Gr"状态编程的目标状态。在一遍编程中,编程脉冲将从Vpgm0单调增加,其中 使用阈值参考DVA验证编程"11"到"A"状态,接着通过DVB验证编程"01"到"B" 状态,且最后通过DVc验证编程"10"到"C"状态。 一旦存储器单元得到编程验证, 其便被禁止编程。当最后一个单元得到编程验证时,结束对所述页的编程。图13A说明辨别用2位LM代码编码的4状态存储器的下部位所需的读取操作。解 码将依据是否上部页己被编程而定。如果上部页已被编程,则读取下部页将需要相对于 定界阈值电压DB的一遍读取读取B。另一方面,如果上部页尚未被编程,则下部页 将被编程到"中等"状态(见图11(2)),且读取B将引起错误。相反,读取下部页将需 要相对于定界阈值电压DA的一遍读取读取A。为了区分所述两种情况,当上部页正 被编程时,在上部页中(通常在额外开销或系统区域中)写入一旗标("LM"旗标)。 在读取期间,将首先假定上部页已被编程且因此将执行读取B操作。如果读取到LM旗 标,则所述假定为正确的且读取操作完成。另一方面,如果第一读取并未产生旗标,则其将指示上部页尚未被编程且因此将必须通过读取A操作来读取下部页。
图13B说明辨别用2位LM代码编码的4状态存储器的上部位所需的读取操作。如 从所述图式清晰可见,上部页读取将需要分别相对于定界阈值电压DA和Dc的2遍式读 取读取A和读取C。类似地,如果上部页尚未被编程,则上部页的解码还可能受"中 等"状态混淆。再次,LM旗标将指示是否上部页已被编程。如果上部页未被编程,则 所读取的数据将复位到"1",从而指示上部页数据未被编程。
如果所述读取将扫描穿过经定界状态的所有序列(如在"全序列"读取或"所有位" 读取中),则相对于分别通过参考阈值电压DA、 Db和Dc定界的存储器状态"Gr"、 "A"、 "B"和"C"来执行读取。因为所有可能状态均由全序列读取来区别,所以不需要检查 任何LM旗标。在此读取模式下, 一起确定所有位。
用于3位或8状态存储器的示范性优选"LM"编码
2位LM代码的实例可类似地延伸到3位或高数目的位。
图14(0)到图14(4)说明用优选的3位逻辑代码("LM"代码)编码的8状态存储器 的编程。来自一页的每一存储器单元的3个位形成三个逻辑页且可逐个逻辑页地执行编 程。此代码类似于早先描述的2位LM编码,并且是到3个位的延伸以编码八个可能存 储器状态。图14(0)说明8状态存储器阵列的阈值电压分布。每一存储器单元的可能阈 值电压跨越一阈值窗,所述阈值窗被分割为八个区以对八个可能存储器状态"Gr"、"A"、 "B"、 "C"、 "D"、 "E"、 "F"和"G"定界。"Gr"为接地状态,其为紧凑分布内的经擦 除状态,且"A"到"G"为七个渐进的经编程状态。在读取期间,八个状态由七个定 界断点Da到Dg定界。
图14(4)说明用以表示八个可能存储器状态的优选的3位LM编码。所述八个存储 器状态中的每一者分别由"上部、中部、下部"位的三元组表示,即"111"、 "011"、 "001"、 "101"、 "100"、 "000"、 "010"和"110"。如将在图14(1)和图14(4)中看到,每一编程操 作导致电荷存储单元中的电荷的适度改变,如从阈值电压Vt的造度改変容易看到。
所述编码经设计以使得可单独地编程和读取3个代码位一一"下部"、"中部"和"上 部"位。因此,第一轮下部页编程使单元在下部位为"1"的情况下保持处于"经擦除" 或"Gr"状态或在下部位为"0"的情况下编程到"下部中等"状态。基本上,通过使 经深度擦除状态编程到处于狭窄阈值范围内,"Gr"或"接地"状态为具有紧凑分布的 "经擦除"状态。"下部中等"状态可具有跨于存储器状态"B"与"D"之间的宽广的阈 值电压分布。在编程期间,可相对于粗略断点阈值电平(例如DB)验证"下部中等" 状态。当编程中部位时,单元的阈值电平将从由下部页编程产生的两个区中的一者开始且移动到四个可能区中的一者。当编程上部位时,单元的阈值电平将从由中部页编程产 生的四个可能区中的一者开始且移动到八个可能存储器状态中的一者。
一般来说,正并行地编程存储器单元页,其中每一存储器单元具有3个位。因此, 可将所述存储器单元页看作具有3个逻辑数据页,其中每一逻辑数据页从所述页的每个 单元的一个代码位贡献而来。因此,"下部位"页由所述页的每个存储器单元的下部位 形成,"中部位"页由每个单元的中部位形成,且"上部位"页由所述页的每个单元的 上部位形成。
图14(1)和图14(2)说明使用3位LM代码的下部页编程。容错LM代码经设计以避 免任何随后较高页编程经过任何中等状态。因此,第一轮下部页编程使单元在下部位为 "1"(即,(x,x,l))的情况下保持处于"经擦除"或"Gr"状态下或在下部位为"O"(即, (x,x,O))的情况下编程到"下部中等"状态。基本上,通过使经深度擦除状态编程到处 于经良好界定的阈值范围内,"Gr"或"接地"状态为具有紧凑分布的"经擦除"状态。 "下部中等"状态可具有跨于存储器状态"B"与"D"之间的宽广的阈值电压分布。在 编程期间,相对于定界(例如Db)验证"下部中等"状态。
图14(2)和图14(3)说明使用3位LM代码的中部页编程。在第一轮下部页编程的基 础上执行中部页编程。依据下部位而定,给定中部位可表示不同存储器状态。在第二轮 编程中,如果单元将使中部位为"1"同时下部位为"1"(即,(x,l,l)),则对于所述单 元,不存在编程,且其保持处于"Gr"。如果中部位为"0"同时下部位为"l"(即,(x,O,l)), 则所述单元从"Gr"状态编程到跨于"A"与"B"之间的第一 "中间中等"状态。在 编程到第一"中间中等"状态期间,验证是相对于定界DVA。另一方面,如果单元将使 中部位为"0"同时下部位为"0"(即,(x,O,O)),则所述单元从"下部中等"状态编程 到跨于"C"与"D"之间的第二 "中间中等"状态。编程验证是相对于定界DVc。类 似地,如果单元将使中部位为"1"同时下部位为"0"(即,(x,l,O)),则所述单元将从 "下部中等"状态编程到跨于"E"与"F"之间的第三"中间中等"状态。编程验证是 相対于定界DVe。
图14(3)和图14(4)说明使用3位LM代码的上部页编程。在第一轮和第二轮(即, 下部和中部页编程)的基础上执行上部页编程。依据下部位和中部位而定,给定上部位 可表示不同存储器状态。在第三轮编程中,如果单元将使上部位为"1"同时下部位和 中部位为"l"(即,(1,1,l)),则对于所述单元,不存在编程,且其保持处于"Gr"。另 一方面,如果上部位为"0"同时下部位和中部位为"1"(即,(O,l,l)),则所述单元从 "Gr"状态编程到"A"状态。在编程到"A"期间,验证是相对于定界DVA。类似地,如果单元将使上部位为"0"同时下部位和中部位分别为"0"和"1"(即, (0,0,1)),则所述单元从第一"中间中等"状态编程到"B"。编程验证是相对于定界DVB。 如果单元将使上部位为"1"同时下部位和中部位分别为"0"和"1"(即,(l,O,l)), 则所述单元从第一 "中间中等"状态编程到"C"。编程验证是相对于定界DVc。
类似地,如果单元将使上部位为"1"同时下部位和中部位分别为"0"和"0"(即, (1,0,0)),则所述单元从第二"中间中等"状态编程到"D"。编程验证是相对于定界DVD。 如果单元将使上部位为"0"同时下部位和中部位分别为"0"和"0"(即,(O,O,O)), 则所述单元从第二 "中间中等"状态编程到"E"。编程验证是相对于定界DVE。
类似地,如果单元将使上部位为"0"同时下部位和中部位分别为"1"和"0"(即, (0,1,0)),则所述单元从第三"中间中等"状态编程到"F"。编程验证是相对于定界DVF。 如果单元将使上部位为"1"同时下部位和中部位分别为"0"和"0"(即,(l,l,O)), 则所述单元从第三"中间中等"状态编程到"G"。编程验证是相对于定界DVG。
由于上部页编程仅涉及从"Gr"状态或"中间中等"状态中的一者编程到下一邻近 存储器状态,所以从一轮到另一轮并未更改大量电荷。这有助于缓解BL-BL余平效应。
对于4位、5位和较高位LM编码,相同原理适用,其中n位代码将具有n个数据 页,其中每一页从一页中的每个单元形成,每个单元贡献所述代码的给定位。更重要的 是,从较低位页到较高位页的编程招致单元的电荷的适度改变,进而限制由于存储器单 元页中的余平效应引起的扰动量。
字线之间的余平效应
对于扰动处于邻近字线上的存储器单元之间的WL-WL余平效应,可在编程期间使 用优选编程方案使其减轻。这将有效地使扰动减小一半。还可在读取期间通过使用优选 的"先行"读取方案来校正剩余一半。
优选的编程方案将使与字线相关联的页按最佳顺序来编程。举例来说,在其中每个 物理页保持二进制数据页的二进制存储器的情况下,优选地沿一致方向(例如从底部到 顶部)依次编程所述页。以此方式,当正在编程特定页时,处于其下侧的页已经被编程。 不管其可能对当前页具有什么扰动效应,在鉴于这些扰动而对当前页进行编程验证时对 其加以考虑。本质上,编程所述页的顺序应允许正被编程的当前页在其已被编程之后看 到其环境周围的最小改变。因此,每一经编程页仅受到处于其上侧的页的扰动,且通过
此编程顺序有效地使WL-WL余平效应减小一半。
在其中每一存储器单元物理页为多状态的且所得的多个逻辑数据页在不同遍中被
编程的存储器的情况下,所述顺序并不太直接。举例来说,在2位存储器中,可将与字线相关联的每一物理页看作来自每一单元的单一2位数据页或者两个单独逻辑页,其中 1位数据的下部位和上部位每一者来自每一单元。物理页可因此在一遍中用所述两个位 来编程或在两个单独遍中首先用下部位页且接着稍后用上部位页来编程。当每一物理页 将在两个单独遍中进行编程时,经修改的最佳顺序是可能的。
图15说明具有2位存储器单元的存储器的实例,且其中其页按最佳顺序进行编程 以便使邻近字线上的存储器单元之间的余平效应最小化。为了方便起见,符号使得物理 页P0、 Pl、 P2、…分别驻留于字线W0、 Wl、 W2、…上。对于2位存储器,每一物理 页具有与其相关联的两个逻辑页,即下部位逻辑页和上部位逻辑页,其每一者具有二进 制数据。 一般来说,特定逻辑页由LP(字线.逻辑—页)给出。举例来说,W0上的P0的下 部位页和上部位页将分别标记为LP(0.0)和LP(O.l),且W2上的对应者将为LP(2.0)和 LP(2.1)。
本质上,逻辑页的编程将遵循顺序n,使得正被编程的当前页在其已被编程之后将 看到其环境周围的最小改变。在此情况下,在从底部到顶部的一个一致方向上再次渐增 地移动将有助于消除来自一侧的扰动。此外,因为每一物理页可具有两遍编程,所以随 着编程在物理页上向上移动,将较佳的是使当前上部位页在其邻近下部位页己经被编程 之后进行编程,使得当编程当前上部位页时将对其扰动效应加以考虑。因此,如果编程 从LP(0.0)开始,则所述顺序将如页编程次序0、 1、 2、…、n、…标记的,这将产生 LP(O.O)、 LP(l.O)、 LP(O.l)、 LP(2.0)、 LP(l.l)、 LP(3.0)、 LP(2.1)、…。
在读取(先行或"LA"读取)期间对WL-WL余平效应的校正
LA读取方案已在2006年10月公开的题为"包括耦合补偿的用于非易失性存储装 置的读取操f乍(Read Operations for Non-Volatile Storage that Includes Compensation for Coupling)"的第US-2006-0221714-A1号美国专利申请公开案中揭示,所述公开案的全 部揭示内容以引用的方式并入本文中。具有LA ("先行")校正的读取基本上检查经编 程到邻近字线上的单元中的存储器状态,且校正其对正在当前字线上读取的存储器单元 所具有的任何扰动效应。如果所述页已根据上述优选的编程方案来编程,则邻近字线将 来自紧接在当前字线上方的字线。LA校正方案将需要在当前页之前读取邻近字线上的 数据。
举例来说,参看图15,如果待读取的当前页(m)处于WLm (例如,WL1)上,则 LA读取将首先读取下一字线WLm+1 (例如,WL2),且将数据结果保存在一个数据锁 存器中。接下来,将接着鉴于WLm+1结果来感测当前页。
如早先结合图15所描述,在具有优选的编程序列的2位LM代码中,下部页(例
23如,LP(l.O))将被编程到Db或靠近Db (中等状态)。将仅在编程WLm+l下部页(例 如,LP(2.0))之后编程上部页(例如,LP(l.l))。于是,将完全消除下部页WL-WL余 平效应。因此,将仅对"A"和"C"状态执行数据相依的校正,且不对"Gr"或"B" 状态执行。如果编程并不遵循此优化次序,则将对所有四个状态执行数据相依的校正。
在LA读取的优选实施方案中,使用锁存器来指示LA读取是发现"A"或"C"状 态还是"Gr"或"B"状态。在前者情况下,需要校正,且在后者情况下,不需要校正。 将相应地通过对感测参数的合适调整(例如在感测期间升高字线电压)来校正当前读取 S"n)中的对应单元。通过一次在调整的情况下进行感测且另一次在不调整的情况下进行 感测来对整个当前页完成此操作。接着将根据锁存器是否指示校正来从这两个感测中选 择所述页的每一单元的数据。
通过LM代码逐个逻辑页地读取将需要在最后定出读取结果(通过第二遍读取或通 过复位读取数据)之前检查LM旗标(见结合图13A和图13B的描述)。LA校正需要 在读取当前字线之前首先进行下一字线读取。因此,来自下一字线读取的LM旗标和来 自当前字线的LM旗标两者均需要由状态机检查。当I/O总线并不忙于双向触发读取数 据时,需要经由1/0总线将这两个LM旗标输出到状态机。在"所有位"或"全序列" 读取的情况下,不需要检查LM旗标。
将数据从一个字线复制到另一者
图16说明页复制操作,其中第一位置中的存储器单元页的数据被复制到存储器阵 列中的第二位置中的存储器单元页。通常,第一位置来自一个擦除区块(例如,区块O 中共享第一字线WL-1的第一存储器单元页(页1),且第二位置来自另一擦除区块(区 块2)中的在第二字线WL-2处的第二页(页2)。所述两个存储器单元页共享一共用位 线集合,且因此共享同一读取/写入电路集合(见图6和图7)。在第一擦除区块含有有 效数据与废弃数据的混合的情况下,在合并或垃圾收集操作期间,发生此情形。在擦除 并重复利用第一擦除区块之前,有效数据通过复制到第二擦除区块而得以回收。
图16说明不需要数据离开存储器芯片的页复制的常规简单实施方案。其使来自在 字线WL-1处的页1的数据由读出放大器感测且锁存到数据锁存器430 (见图9)中。所 锁存的数据接着充当编程数据且被编程回到在WL-2处的页2。所锁存的数据不需要经 由I/O 440离开存储器芯片。
图17说明优选的页复制操作,其中所读取的数据在被复制到存储器中的目的地位 置之前由外部控制器校正任何错误。所述布置类似于在图14中所示的布置,不同之处 只是在将所读取的数据锁存于数据锁存器430中之后使其传送离开I/O 440到外部存储器控制器150以使数据受到检查和错误校正。当将数据从一个位置复制到另一位置时, 经常双向触发输出数据以进行检査(例如,针对错误)或更新(例如更新标头)或两者 (此校正所检测到的错误),或者出于例如加密和解密或压縮等某其它目的而进行数据处 理。
通常,针对数据页计算ECC(错误校正码),且将所述ECC与所述数据页一起存储。 当读取所述数据页时,相对于其相关联的ECC对其进行检査,且直到预定数目的位错 误时,其可由ECC校正。通常,含有存储器阵列和外围电路的存储器芯片100 (见图1) 并不具有足够的计算能力来评估和校正ECC错误。ECC处理由外部存储器控制器150 执行。出于所述原因,需要将所读取的数据传送离开存储器芯片到存储器控制器以用于 ECC处理。将经校正的数据(如果有的话)从存储器控制器返回到数据锁存器。在数据 锁存器中的数据已受到ECC处理之后,准备好将页编程回到目的地位置。
高速缓存页复制
在数据锁存器与外部存储器控制器之间来回移动数据是花费时间的。如早先所描 述,在擦除区块含有大量页的情况下,所述擦除区块将需要在其填满时被重复利用。在 擦除且重复利用所述区块之前,将数据的最新版本复制到新的区块。对于每一代更新的 存储器装置,随着区块大小和页大小日益增加,区块复制时间可变得更长,且每一存储 器单元可存储更多位。此外,读取可涉及更多的遍次,因为其可包括读取邻近字线 ("WL")来校正WL-WL余平效应。
一般来说,为了改进区块复制性能,可通过将数据来回移动时间中的至少一些隐藏 于编程时间内部来縮短操作。高速缓存页复制经实施以使得可同时发生两个费时的操 作一一数据1/0和编程。尽管由于读取操作和编程操作均涉及存储器核心操作而所述两 个操作交错,但数据锁存器I/0和编程操作可同时发生。因此,可在先前页正被编程的 同时双向触发输出和修改当前读取数据页。
在常规读取操作中,对于单一逻辑页读取仅需要一个数据锁存器。因此,对于每一 单元,使用一个锁存器来存储来自当前读取的单一位,且将另一锁存器用于高速缓存来 自先前读取的位。以此方式,来自当前读取的位可经双向触发输出且接着在其已受到数 据处理之后返回到锁存器,同时在此时可发生对已经受到数据处理的先前位的编程。
数据再定位和高速缓存操作的各种方面在2006年10月19日公开的第 US-2006-0233026-A1号美国专利申请公开案、2006年10月5日公开的 US-2006-0221704-Al、 2005年11月17日公开的US-2005-0257120墨Al、 2006年6月22 日公开的US-2006-0136687-A1和第6,266,273号美国专利中描述,所述公开案和专利均以引用的方式并入本文中。
为了补偿WL-WL浮动栅极耦合效应,实施LA读取(先行)读取以基于由于在邻 近WLm+l中编程的状态引起的扰动来校正WLm上的读取。经补偿的读取涉及相对于 在WLm+l中出现的四个存储器状态中的每一情况而多次感测当前WLm以便补偿其扰 动效应。因此,必须提供锁存器以在可读取和相应地补偿当前WLm之前存储来自邻近 WLm+l的所读取数据。对于2位存储器系统("D2"),将需要2个额外的数据锁存器用 于WLm+l读取。对于3位存储器系统("D3"),将需要3个额外的数据锁存器用于WLm+l 读取。
尽管有可能使存储器装置建构有足够的锁存器来存储WLm+l和WLm数据两者且 还用于高速缓存,但期望针对一页的每一存储器单元使用最少的锁存器且仍能够实施 LA读取和高速缓存页复制。
根据本发明的一般方面,有效利用每一存储器单元的最小数目n+l个数据锁存器使 得n位存储器能够在对存储于邻近字线中的数据进行补偿的情况下实施读取且实现有效 的数据再定位。因此,2位存储器将针对每一存储器单元仅需要3个数据锁存器来在对 存储于邻近字线中的数据进行补偿的情况下实施读取且用于实现有效的数据再定位。类 似地,3位存储器将针对每一存储器单元仅需要4个数据锁存器来在对存储于邻近字线 中的数据进行补偿的情况下实施读取且用于实现有效的数据再定位。
对于各存储待再定位的n位数据的页存储器单元,这通过以下操作来实现读取所 述页的n位数据且锁存到对应页的n位锁存器中,使得单一位数据的n个逻辑页(所述 n位数据中的每一者提供一个逻辑页)被锁存,按预定次序逐页地来回移出所述n个逻 辑数据页中的每一者以用于数据处理且将任何经修改的位返回到初始锁存器,同时随着 其返回,同时地逐页编程所述经处理的数据。以此方式,可将用于来回双向触发数据的 时间中的至少一些隐藏于写入操作后,进而改进页复制性能。
明确地说,按预定次序来回移动逻辑数据页以用于数据处理,使得可用于编程的第 一数据页将允许编程从经擦除状态开始直到给定的经编程状态,即使当n位代码的所有 位均不可用于解析所有存储器状态时也是如此。类似地,额外可用页将允许编程继续到 甚至更高的经编程状态。当所有代码位变为可用时,所述编程可完成,因为所述页的每 个存储器单元的目标状态均被界定。
图18为根据本发明的一般实施例的高速缓存页复制方案的流程图。如早先所提及, 页复制通常由存储器装置起始作为在区块合并或垃圾收集操作期间的系统操作。其还可 为由主机请求的主机操作。在优选实施例中,所述操作处于由图1中所示的状态机112驱动的控制电路110的控制下。
步骤600:提供存储器单元阵列,其中各个存储器单元每一者可编程到多个存储器 状态中的一者,其范围从最少经编程到最多经编程状态。
步骤602:提供多位代码,其具有用于编码所述多个存储器状态中的每一者的多个 代码位。
步骤610:预定所述代码位的位次序,使得随着更多的较高阶代码位可用,更多的 较高经编程状态是可解码的。
步骤620:读取第一单元群组的存储器单元以确定其中的存储器状态。
步骤622:用多位代码将每一存储器状态编码为多位数据。 步骤624:锁存第一单元群组的每个存储器单元的多位数据。
步骤626:将所锁存的数据分组为与代码位数目一样多的数据群组,每一数据群组
收集来自第一单元群组的每个存储器单元的相同代码位。
步骤630:通过将每一数据群组的位输出到外部主机或控制器以用于数据处理且返
回任何经修改的位以更新每一数据群组,根据预定位次序逐个数据群组地处理所述数据 群组。
步骤632:如果任何数据群组已被处理,则与步骤630的任何额外数据群组处理同 时地,编程第二存储器单元群组的各个存储器单元直到可由来自经处理的数据群组的可 用代码位解码的最高存储器状态。
步骤634:重复步骤630和步骤632,直到多位代码的所有代码位均可用于完成编 程为止。
图19(0)到图19(3)说明将2位LM代码用于图18中所示的高速缓存复制方案的编码 和编程部分的实例。类似于图11(0),图19(0)说明4状态存储器阵列的阈值电压分布。 在所述情况下,步骤600中的所述存储器单元每一者可编程到四个存储器状态中的一者。 图19(3)说明如步骤602中提供的用于四个存储器状态中的每一者的实例性2位LM编 码。
如图19(3)中所示,2位LM代码具有两个代码位下部位和上部位。在页高速缓存 复制的情况下,复制目的地最初为经擦除存储器单元页,且其初始阈值分布在图19(1) 中展示。
图19(1)到图19(3)展示根据本发明优选实施例的用于2位LM代码的自适应全序列 编程。此编程模式与图ll(l)到图11(3)中所示的下部页和上部页的2遍式编程形成对比, 而且还不同于图12(1)到图12(2)中所示的全序列编程。
27在先前描述的全序列编程中,多位代码的所有位均可用于解析所有可能的存储器状 态。编程从最少经编程的"Gr"状态开始,且所有经编程状态并行地被编程。 一旦具有 "A"状态作为目标状态的那些存储器单元己被编程到"A"状态,其便将被禁止进一步 编程,而具有"B"和"C"的其它存储器单元将经受进一步编程。最终,具有"B"作 为目标状态的存储器单元也将被封锁以免受进一步编程。类似地,这最后跟随的是具有 "C"作为目标状态的存储器单元。
在优选实施例的自适应全序列编程中,并非多位代码的所有位均立刻可用。通常, 最初有一个位可用;其接着跟随有下一个位且接着为下一个位,直到最后多位代码的所 有位均处于适当位置为止。代替在编程可开始之前等待所有位变得可用,自适应编程模 式允许用少于全部的位来编程。当第一可用位能够在前两个存储器状态(即,"Gr"与 "A")之间解析时,这是可能的。可从图19(2)看到,上部位能够在最低的两个存储器状 态之间解析。当上部位为"1"时,存储器状态保持处于"Gr",其不具有编程。对于上 部位为"0"的那些存储器单元,在此早期阶段,可将其编程到不超过"A"。以此方式, 即使当2位代码的仅一个位可用时,编程也可开始,而没有过度编程的风险。最终,当 第二、下部位变得可用时,2位代码将是完整的,且将能够解析所有四个可能的存储器 状态。编程接着将继续进行,这类似于结合图12(1)到图12(2)所描述的全序列模式。
因此,对于实例性2位LM代码,图18的步骤610将使代码位的位次序预定为上 部位在下部位之前。
在步骤620中,读取存储器单元群组,且确定所述群组的每一存储器单元中的存储 器状态。
在步骤622中,通过使用经表达为"上部位下部位"的实例性2位LM代码,存储 器状态"Gr"将被编码为"11"、 "A"被编码为"01"、 "B"被编码为"00"且"C"被 编码为"10"。在一个实施例中,可在两遍中感测每一存储器单元的2位数据, 一者作 为由来自所述页的每一存储器单元的下部位组成的下部逻辑页数据,且另一者作为如分 别在图13A和图13B中所示的上部逻辑页数据。下部逻辑页读取遍涉及在DB处感测, 而上部逻辑页遍次涉及两个子遍, 一者在DA处且另一者在Dc处。在另一实施例中,可 在"全序列"模式下感测2位数据,其中通过分别在三个子遍中相对于读取定界阈值 DA、 Db和Dc进行感测来在一遍中一起感测所述两个位。
在步骤624中,锁存来自所述群组的每一存储器单元的2位数据。举例来说,图9 中所示的数据锁存器434-1和434-2可用以锁存每一存储器单元的下部位和上部位。
在步骤626中,将所锁存的数据分组为对应于2位代码中的代码位数目的两个数据
28群组。第一者为下部位数据群组,其收集来自所述存储器单元群组的所有下部位。类似 地,第二者为上部位数据群组,其收集来自所述存储器单元群组的所有上部位。
在步骤630中, 一次一个群组地对来自每一数据群组的位进行数据处理。将来自每 一数据群组的位输出到控制器以用于数据处理,且返回任何修改以更新数据群组。在此 情况下,根据步骤610中给出的预定次序(即,上部位数据群组随后为下部位数据群组) 来处理所述两个数据群组。因此,通过将上部位输出到控制器以用于数据处理且返回任 何经修改的位以更新上部位数据群组来首先处理上部位数据群组。这接着跟随的是下部 位数据群组的处理。
在步骤632中,在步骤630中的处理第一锁存器群组的第一迭代期间,尚无经处理
的数据可用于同时编程。
在步骤634中,由于并非2位代码的所有代码位均可用,所以操作返回到步骤630。 在步骤630(2)中,接下来处理下部位数据。附加到"630"的"(2)"用以表示所述
步骤的第二迭代。
在步骤632(2)中,上部位数据群组已在先前步骤632中受到处理,其中任何更新数 据处于适当位置处。可使用可用的上部位数据来继续进行编程。具有"1"的存储器单 元不被编程,且具有"0"的存储器单元将被编程直到作为可仅使用上部位解码的状态 "A"的下一经编程状态。使用上部位数据群组的编程与在步骤630(2)中的下部位数据群 组的处理同时发生。
在步骤634(2)中,由于并非2位代码的所有代码位均可用来完成编程,所以操作返 回到步骤630(3)。
在步骤630(3)中,所有上部位和下部位数据群组均已被处理,所以不存在更多群组 要处理。
在步骤632(3)中,除了上部位以外,下部位现在也可用。因此,可使用所有代码位 ("上部、下部")来在全序列模式下继续编程。图19(3)展示具有"11"的单元将保持为 "Gr",具有"10"的单元将从"Gr"编程到"C",具有"01"的单元将保持处于"A", 且具有"00"的单元将从"A"编程到"B"。
在步骤634(3)中,在2位代码的所有2个代码位均可用于完成编程之后,操作结束。 可将在步骤630中所描述的编程模式看作"自适应全序列"编程。其稍类似于在图 12中所描述的"全序列"编程。不同之处在于,在全序列情况下,所有位(在此情况下, 下部位和上部位两者)均用以辨别所述页的每一单元将被编程到什么目标状态。从经擦 除状态开始将编程应用于所有单元,且随着每一单元被编程达到其目标状态,禁止其受到进一步编程。另一方面,在自适应全序列情况下,初始、模糊或不够完整的位信息不足以用来识别所述页的每个存储器单元的目标状态,但足以区分应固持在给定存储器状态下的存储器单元与将被编程到下一状态的存储器单元。随着更多位信息变得可用,解析率变得更精细,且编程可继续进行到越来越高的存储器状态。最终,当所有位变得可用时,编程变为全序列编程。因此,在自适应全序列编程中, 一些单元的编程可获得"领先",而不等待所有位变得可用。
图20(0)到图20(4)说明将3位LM代码用于图18中所示的高速缓存复制方案的编码和编程部分的实例。类似于图14(0),图20(0)说明4状态存储器阵列的阈值电压分布。在所述情况下,步骤600中的存储器单元每一者可编程到八个存储器状态中的一者。图20(4)说明如步骤602中提供的用于所述八个存储器状态中的每一者的实例性3位LM编码。
如图20(4)中所示,3位LM代码具有三个代码位,即下部位、中部位和上部位。在页高速缓存复制的情况下,复制目的地为经擦除存储器单元页,且其初始阈值分布在图20(1)中展示。
图19(1)到图19(4)展示根据本发明优选实施例的用于3位LM代码的自适应全序列编程。
将3位LM代码应用于如图18中所示的高速缓存页复制方案类似于早先描述的2位LM代码的情况。本质上,存在由三个代码位(即,"下部、中部、上部"位)编码的八个状态。
类似于图14(0),图20(0)说明8状态存储器阵列的阈值电压分布。在页高速缓存复制的情况下,复制目的地为经擦除存储器单元页,且其初始阈值分布在图20(1)中展示。
下部、中部和上部位的3个代码位根据其从最低经编程状态解析的能力而分级。将从图20(2)看到,对于3位LM代码,上部位能够区分应固持于"Gr"状态(上部位=1)或者被允许编程到下一经编程状态(上部位=0)的单元。类似地,从图20(3)看到,上部位与中部位的组合能够区分应固持于"Gr"或"A"或者应被允许编程到"B"的单元。类似地,从图20(4)看到,使3位代码完整的上部、中部和下部位的组合能够区分所有可能的存储器状态,且可在全序列模式下继续进行编程。因此,3位LM代码经排序为上部位随后为中部位且接着为下部位。
所述3个代码位(上部位、中部位和下部位)产生三个数据群组,每一代码位产生一个群组。类似于早先描述的2位情况,首先处理上部位数据群组。这接着跟随的是中部位数据群组。随着中部位数据群组正被处理,使用上部位数据群组发生编程。稍后,随着下部位数据群组正被处理,使用上部位数据群组和中部位数据群组两者发生编程。最后,在下部位数据群组已被处理之后。所述编程将处于使用3位LM代码的所有三个代码位的全序列模式下。
结合图18描述的高速缓存页复制方案在至少三个相互关联的方面中改进性能。第一,在自适应全序列模式下进行编程允许施加到字线的编程电压为单调递增函数。可在一遍中在整个阈值窗上从最低存储器状态到最高存储器状态进行编程。这与多遍式编程形成对比,在多遍式编程的情况下,编程电压将必须在每一遍开始时从初始编程电压重新开始。
第二,自适应特征允许编程即使在并非所有代码位均可用以充分解析存储器状态时也可开始。编程可在所述多位代码中的甚至一个位可用时立即开始。
第三,由于对每一存储器单元的编程可通过逐步地一次添加一位来进行,所以在第二位数据群组正通过同时经数据处理来准备好的同时,第一位数据群组可用以编程所述存储器单元群组。因此,可将数据处理周期隐藏于编程时间后。将看到,对于n位代码,图18中所描述的发明性高速缓存页复制方案允许将n-l个数据处理操作隐藏于编程时间后。举例来说,对于采用2位代码,节省了一个数据处理操作周期。对于3位代码,节省了两个数据处理操作周期。
最后,如将在以下部分中看到,即使在对由于相邻字线上的数据引起的扰动效应进行先行校正的情况下,本发明性高速缓存页复制方案也可通过最少的数据锁存器来实施。对于n位存储器,数据锁存器的数目为每存储器单元n+l个。
具有对来自邻近字线的扰动的校正(LA读取)的高速缓存页复制
在优选实施例中,在对由于邻近字线("WL")引起的扰动进行补偿的情况下读取LM编码数据页。为了补偿WL-WL浮动栅极耦合效应,先行("LA")读取经实施以基于由于在邻近WLm+l中编程的状态引起的扰动来校正WLm上的读取。LA读取技术已在由尼玛.穆克勒斯(Nima Mokhlesi)于2006年3月17日申请的题为"具有耦合补偿的用于非易失性存储装置的读取操作(READ OPERATION FOR NON-VOLATILESTORAGE WITH COMPENSATION FOR COUPLING)"的第11/384,057号美国专利申请案中揭示,所述申请案的全部内容以引用的方式并入本文中。
除了对所读取数据的仅有双向触发外,多位编码和"LA"校正两者将似乎还需要额外的锁存器和总线活动。然而,结合图18所描述的高速缓存页复制方案仍通过用于每一 n位存储器单元的最少n+1个锁存器来实现。
在对选定字线WLm的读取操作期间,对在非易失性存储器读取操作期间的浮动栅
31极耦合效应的补偿需要存取从邻近字线WLm+l读取的数据。本质上,读取/写入电路(例如,图1的270A、 270B)需要在确定存储于WLm中的数据值的同时存取字线WLm+l数据。这可向存储器设计者提出挑战,尤其是当试图使专用于特定补偿技术的芯片空间最小化时。请考虑具有存储两个数据位的存储器单元的存储器装置。如果来自相邻字线WLm+l的数据将在对选定字线WLm的读取操作期间为可用的,则设计者可选择包括足够的数据锁存器,使得在选定字线WLm处的读取操作期间,可同时存储来自字线WLm+l和字线WLm的数据。如果每一存储器单元存储两个数据位,则用于每个位线的四个数据锁存器是必要的。两个数据锁存器可存储来自字线WLm+l的两个数据位,且另外两个数据锁存器可存储来自字线WLm的两个数据位。类似地,可针对三位装置使用三个额外锁存器,针对四位装置使用四个额外锁存器,等等。尽管此技术是有效的,但在一些实施方案中,由于空间限制的缘故,针对每一单元所存储的位的数目而在每一位线处添加数据缓存器可能是不可接受的。
使用最少数据锁存器的优选LA读取方案已在由梅文龙(Man Lung Mui)和李晟弼(Seungpil Lee)于2006年12月28日申请的题为"非易失性存储器读取操作中具有有效数据锁存器指派的完整字线先行(COMPLETE WORD LINE LOOK AHEAD WITHEFFICIENT DATA LATCH ASSIGNMENT IN NON-VOLATILE MEMORY READOPERATIONS)"的第11/617,544号美国专利申请案中描述,所述申请案的全部内容以引用的方式并入本文中。
在优选的LA读取方案中,仅需要n+1个锁存器来执行n位存储器单元的LA读取。本质上,首先读取WLm+l的扰动数据。对于n位WLm+l读取,这将占据每单元n个锁存器。每单元的额外锁存器用以存储指示给定单元的n个锁存器中的数据是属于WLm+l还是属于WLm的旗标。接着,执行对WLm的一系列补偿读取。
可通过依据扰动强度而偏置字线读取电压来实行补偿。举例来说,如果WLm+l上的邻近单元处于状态"Gr",则不存在扰动且将在没有偏压的情况下执行WLm处的读取。如果WLm+l上的邻近单元处于状态"A",则将存在第一数量的偏压。如果WLm+l上的邻近单元处于状态"B",则将存在第二数量的偏压,等等。
或者,可通过依据所需要的校正而移位用于读取给定存储器状态的定界阈值电压来实行补偿。
在每一补偿读取遍之后,确定相应存储器单元的存储器状态,且其数据替换对应锁存器中的对应WLm+l数据,并且设定旗标以指示WLm数据。 一般来说,对于n位存储器,在WLm+l上将存在2n个可能的存储器状态且因此存在相同数目的补偿值。当读取WLm时,将存在2"-1个定界点来区分四个可能的存储器状态。因此, 一般来说,将存在2n(2n-l)数目的LA读取遍来完成对WLm的补偿读取。举例来说,2位存储器将具有总共12个读取遍,且3位存储器将具有总共56个读取遍。在完成了LA读取之后,锁存器中的所有WLm+l数据将由WLn数据替换。因此,优选的LA读取技术在读取期间需要每存储器单元n+l个锁存器,且在完成读取之后需要n个锁存器。
图21A到图21B展示描述使用3个数据锁存器对实例性2位存储器执行LA读取的优选方法的流程图。针对每单元存储两个数据位的四状态装置呈现此实例,这类似于在图11(0)中所示的实例。在对由于WLm+l上的邻近存储器单元引起的耦合效应进行补偿的情况下读取字线WLm上的存储器单元群组。在状态"A"电平(介于状态"Gr"与"A"之间)、状态"B"电平(介于状态"A"与"B"之间)和状态"C"电平(介于状态"B"与"C"之间)处执行对每一存储器单元的感测。当在每一电平处感测时提供补偿以考虑在随后编程的字线WLm+l处的邻近存储器单元的四个电位状态中的每一者。
为了选择用于每一存储器单元的适当感测操作的结果,针对每一位线存储关于字线WLm+l上的邻近存储器单元的信息,同时感测WLm处的对应单元。用于位线的处理器将使用所述信息来选择适当感测操作的结果。举例来说,在2位情况下,用于每一位线的数据锁存器(DL0和DL1)集合负责存储从选定字线的存储器单元读取的数据。用于每一位线的同一数据锁存器集合还将存储关于邻近于选定字线的字线的存储器单元的信息。用于每一位线的额外数据锁存器DL2作为旗标而操作,其存储关于数据锁存器正存储选定字线还是邻近字线的数据的指示。
因此,图21A到图21B中的技术有效地利用用于每一位线的数据锁存器,使得不必将附加锁存器集合用于存储来自邻近字线WLm+l的数据。在图21A到图21B的实例中,存储器单元存储两个数据位,所以使用三个数据锁存器。将了解,所揭示的原理可延伸到每单元具有不同数目的位(例如,3、 4或4个以上)的实施方案。 一般来说,用于每一位线的所需数据锁存器的数目等于比由每一个别存储器单元所存储的位的数目多一。单一附加锁存器用于识别当前所存储的数据的起源的目的。
在图21A到图21B中,将标记为DLO禾卩DL1的两个数据锁存器用于每一位线来存储从对应位线的存储器单元读取的数据。标记为DL2的第三数据锁存器用以存储一旗标,所述旗标指示当前存储于数据锁存器DL0和DL1中的数据是否对应于来自选定字线WLm的数据,或者所述数据是否对应于来自邻近于选定字线的字线WLm+l的数据。
在步骤700处,通过读取邻近字线WLm+l来开始读取操作。可在图ll(O)中所示的
33三个正常参考电平DA、 Db和Dc处读取相邻字线。在一个实施例中,当读取WLm+l时不施加补偿。在步骤702处,确定邻近字线的存储器单元的数据值。在步骤704处,将字线WLm+l处的每一位线的存储器单元的数据值存储于用于所述位线的数据锁存器DL0和DL1的对应集合中。在步骤706处,将用于每一位线的第三数据锁存器DL2设定为逻辑0以指示数据锁存器DLO和DL1中的数据对应于来自WLm+l处的存储器单元的数据。
在定界阔值电平中的每一者处将对WLm执行一群组子读取(WLm+l的四个可能相邻状态中的每一者具有一个子读取)以区分WLm处的两个状态。
因此,在步骤708到722处,针对选定字线WLm执行在状态"A"电平(介于状态"Gr"与"A"之间)处的一群组子读取。步骤708处的第一子读取不提供针对浮动栅极耦合的补偿。
在步骤710处,用于每一位线的处理器确定是否将更新用于所述位线的数据锁存器。对于在步骤708的子读取期间选定字线的存储器单元不导电的位线,处理器不会改变存储于数据锁存器中的任何值。对于存储器单元导电的位线,处理器确定数据锁存器DLO和DL1当前是否正存储对应于状态"Gr"的数据。举例来说,如果使用图11(3)的数据指派,则处理器确定所述锁存器是否均正存储逻辑1。如果所述锁存器并非正存储逻辑11,则处理器不会改变数据锁存器中的值。如果两个锁存器均正存储11,则处理器确定第三数据锁存器DL2是否正存储逻辑0。逻辑0指示锁存器DLO和DL1正存储来自WLm+l的数据且应被覆写。在一个实施例中,处理器可首先检查锁存器DL2,且仅在DL2正存储逻辑0的情况下检査锁存器DLO和DL1。如果对于导电存储器单元来说两个条件均被满足,则将DL0和DL1设定为用于经擦除状态的预定数据值。将第三数据锁存器DL2设定为1以指示DLO和DL1现正存储字线WLm的数据。DL2中的逻辑1阻止锁存器DLO和DL1在随后的子读取期间被覆写。
在步骤712处,执行另一状态"A"子读取。此时,施加对应于在WLm+l处被编程到状态"A"的邻近存储器单元的补偿。
每一位线处的处理器执行另一逻辑序列来确定是否更新用于具有导电存储器单元的位线的锁存器。如果DL0和DL1并非正存储状态"A"的数据(例如,10),则不采取行动。如果其正存储状态"A"的数据,则处理器确定DL2是否正存储0以指示当前存储了 WLm+l数据。如果DL2被设定为0,则处理器用状态"Gr"的数据覆写DLO和DL1。处理器将DL2设定为1以指示所述锁存器现存储来自WLm的数据。
在步骤716处,在WLm处执行状态"A"子读取,同时施加基于在WLm+l处的经
34编程到状态"B"的单元的补偿。对于导电存储器单元,对应位线处理器确定DL0和DL1是否正存储对应于状态"B"的数据(例如,00)。如果否,则不采取行动。如果是,则处理器确定DL2是否正存储逻辑0。如果否,则不采取进一步行动。如果DL2被设定为0,则用状态"Gr"的预定数据覆写DLO和DL1,且将DL2设定为1以指示所述锁存器现正存储来自WLm的数据。
在步骤720处,执行状态"A"电平处的最后子读取。施加基于在WLm+l处的处于状态"C"的邻近单元的补偿。对于导电存储器单元,对应位线处理器确定所述锁存器是否正存储状态1的数据(例如,01)。如果DL2被设定为2,则不采取行动。如果DL2被设定为0,则处理器确定DL2是否正存储0。如果否,则不采取进一步行动。如果是,则处理器用状态"Gr"的预定数据覆写DL0和DL1且将DL2设定为1。
在步骤724到744处,针对字线WLm执行在状态"B"电平处的一序列子读取。
步骤724处的初始子读取不提供对浮动栅极耦合的补偿。此子读取的结果适用于具有在WLm+l处的处于经擦除状态"Gr"的邻近单元的那些单元。对于导电存储器单元,对应处理器确定用于所述位线的DLO和DL1是否正存储状态"Gr"的数据。此步骤检查以确定WLm处的当前感测是针对所述单元应存储的数据的感测。如果DLO和DL1不对应于状态"Gr",则不采取行动。如果DLO和DL1匹配状态"Gr",则处理器确定DL2是否正存储逻辑0以指示DLO和DL1中的数据是针对WLm+l且并非选定字线WLm。如果DL2被设定为1,则处理器并不覆写DLO和DL1中的数据。逻辑1指示DL0和DL1数据来自WLm,且因此不应被覆写。在步骤726处,如果DL2被设定为0,则处理器用当前子读取集合的数据覆写DLO和DL1中的数据。在此情况下,处理器将DL0禾卩DL1设定为状态"A"数据(例如,10)。处理器将还将DL2设定为1以指示DLO和DLl现正存储来自选定字线WLm的数据且在WLm处的随后子读取期间不应被覆写。
在步骤728处,在字线WLm处执行状态"B"子读取,同时施加基于在WLm+l处的处于状态"A"的邻近单元的补偿。对于导电存储器单元,用于对应位线的处理器确定DLO和DL1是否正存储状态"A"的数据。如果否,则不采取行动。如果是,则处理器确定DL2是否正存储逻辑0。如果否,则针对所述位线不采取进一步行动。如果是,则处理器用对应于状态"A"的数据覆写DLO和DL1中的数据。处理器还将DL2设定为逻辑1。
在步骤732处,读取WLm,同时施加对在WLm+l处具有处于状态"B"的邻近单元的存储器单元的补偿。如果存储器单元为导电的,则用于对应位线的处理器确定用于所述位线的DLO和DL1是否正共享状态"B"数据(例如,00)。如果它们正共享,则
35处理器确定DLO和DL2中的数据是来自WLm (DL2=1)还是WLm+l (DL2=0)。如果 数据来自WLm+l,则处理器用状态"A"的预定数据覆写DL0和DL1。处理器还将DL2 设定为1。如果不满足任一条件,则处理器不更改DL0到DL2的内容。
在步骤736处,在WLm处执行状态"B"子读取,同时施加基于在WLm+l处的处 于状态"C"的邻近单元的补偿。对于导电存储器单元,处理器确定DL0和DL1是否正 存储状态"C"的数据(例如,01)。如果否,则不采取行动。如果是,则处理器确定 DL2是否正存储逻辑0。如果否,则不采取行动。如果是,则处理器用状态"A"的数 据覆写DL0和DL1中的数据且将DL2设定为逻辑1。
步骤740到756在状态"C"读取参考电压电平下执行一集合的子读取。
在步骤740处执行第一子读取,其不包括对浮动栅极耦合的补偿。对于导电存储器 单元,对应的位线处理器确定锁存器DL0和DL1是否存储状态"Gr"的数据。如果否, 则在所述位线处不采取行动。如果是,则处理器确定DL2是否正存储逻辑0。如果否, 则不改变数据锁存器,因为它们已经共享WLm的数据。如果DL2被设定为0,则对应 处理器用对应于状态"B"的预定数据(例如,00)覆写DL0禾BDL1中的数据。处理器 还将DL2设定为1以指示DLO和DL1现正存储WLm数据。
在步骤744处,执行状态"C"子读取,同时施加基于处于状态"A"的邻近存储器 单元的补偿。对于导电单元,位线处理器确定DLO和DL1是否正存储状态"A"的数据。 如果否,则不采取行动。如果是,则处理器用状态"B"的数据覆写锁存器DL0和DL1, 且将DL2设定为逻辑1。
在步骤748处,执行状态"C"子读取,同时施加基于处于状态"B"的邻近存储器 单元的补偿。对于导电单元,位线处理器确定DL0和DL1是否正存储状态"B"的数据。 如果否,则不采取行动。如果是,则处理器用状态"B"的数据覆写锁存器DL0和DL1, 且将DL2设定为逻辑1。
在步骤752处,执行最后的状态"C"子读取,同时施加基于处于状态"C"的邻近 存储器单元的补偿。对于导电单元,位线处理器确定DLO和DL1是否正存储状态"C" 的数据。如果否,则不采取行动。如果是,则处理器用状态"C"的数据覆写锁存器DLO 和DU,且将DL2设定为逻辑1。
在步骤756处执行最后的逻辑序列。位处理器确定用于任何位线的第三数据锁存器 DL2是否被设定为0。仍将0存储于DL2中的任何位线在WLn处具有在任一状态电平 下的任一子读取期间均不导电的存储器单元。因此,这些存储器单元处于最高经编程状 态一一状态"C"。用于这些位线的处理器将DLO和DL1设定为状态"C"的数据(例如,在LM模式下的逻辑01),且接着将DL2设定为1以指示所述锁存器现存储WLn 的数据。
己相对于图21A到图21B中所示的2位实例描述了使用用于n位存储器的n+l个 锁存器执行LA读取的技术。将明白的是,类似技术容易适用于n的其它值,例如11=3 或更高。在一些存储器状态在其之间具有较宽裕度或对扰动更稳固的一些实施方案中, 并不需要施加所有补偿以节省时间。
本文中所引用的所有专利、专利申请案、文章、书籍、说明书、其它公开案、文献 和事物用于所有目的而全部以引用的方式并入本文中。就所并入的公开案、文献或事物 中的任一者与本文献的文本之间的术语定义或使用的任何不一致性或冲突来说,本文献 中的术语定义或使用应居主导地位。
尽管已相对于某些实施例描述了本发明的各种方面,但应理解,在所附权利要求书 的全部范围内给予本发明以保护。
权利要求
1. 一种在具有存储器单元阵列的非易失性存储器中将数据群组从第一存储器单元群组复制到第二存储器单元群组的方法,其中各个存储器单元每一者可编程到多个存储器状态中的一者,所述方法包含提供多位代码,所述多位代码具有用于编码所述多个存储器状态中的每一者的多个代码位;预定所述代码位的位次序,使得随着更多的较高阶代码位可用,更多的较高经编程状态是可解码的;读取所述第一存储器单元群组中的存储器单元以确定其中的所述存储器状态;用所述多位代码将每一所读取的存储器状态编码为多位数据;锁存所述第一存储器单元群组中的每个存储器单元的所述多位数据;将所述所锁存的数据分组为与代码位数目一样多的数据群组,每一数据群组收集来自所述第一存储器单元群组中的每个存储器单元的相同代码位;通过将每一数据群组的所述位输出到控制器以用于数据处理且返回任何经修改的位以更新每一数据群组,根据所述预定代码位次序而逐个数据群组地处理所述数据群组;如果任何数据群组已被处理,则与任何额外数据群组处理同时地,编程所述第二存储器单元群组中的各个存储器单元直到可由来自所述经处理的数据群组的可用代码位解码的最高存储器状态;以及重复所述处理和所述编程,直到所述多位代码的所有代码位均可用于完成所述编程为止。
2. 根据权利要求l所述的方法,其进一步包含提供锁存器集合以用于锁存所述存储器单元群组中的每一存储器单元的所述多 位数据,所述锁存器集合具有恰好用于所述多个代码位加上一额外位的容量。
3. 根据权利要求1所述的方法,其中所述读取包括校正由于相邻字线的存储器单元引 起的任何扰动效应。
4. 根据权利要求l所述的方法,其中所述多位代码含有两个位。
5. 根据权利要求l所述的方法,其中所述多代码含有三个位。
6. 根据权利要求l所述的方法,其中所述多代码含有四个位。
7. 根据权利要求1所述的方法,其中将所述存储器单元阵列组织成存储器单元的多个可擦除区块,且所述第一存储器单元群组和所述第二存储器单元群组属于不同的可 擦除区块。
8.根据权利要求1所述的方法,其中将所述存储器单元阵列组织成存储器单元的多个 可擦除区块,且所述第一存储器单元群组和所述第二存储器单元群组属于同一可擦 除区块。根据权利要求1所述的方法,其中所述非易失性存储器是快闪EEPROM。其中所述非易失性存储器具有NAND结构。 其中所述非易失性存储器处于可移除式存储卡上。 其中所述非易失性存储器具有具浮动栅极结构的存储
9.
10. 根据权利要求1所述的方法
11. 根据权利要求1所述的方法
12. 根据权利要求1所述的方法 器单元。
13. 根据权利要求1所述的方法 器单元。
14. 根据权利要求2所述的方法 起的任何扰动效应。
15. 根据权利要求2所述的方法
16. 根据权利要求2所述的方法
17. 根据权利要求2所述的方法
18. 根据权利要求2所述的方法其中所述非易失性存储器包含具有介电层结构的存储 其中所述读取包括校正由于相邻字线的存储器单元引其中所述多位代码含有两个位。 其中所述多代码含有三个位。 其中所述多代码含有四个位。其中将所述存储器单元阵列组织成存储器单元的多个 可擦除区块,且所述第一存储器单元群组和所述第二存储器单元群组属于不同的可 擦除区块。
19. 根据权利要求2所述的方法,其中将所述存储器单元阵列组织成存储器单元的多个 可擦除区块,且所述第一存储器单元群组和所述第二存储器单元群组属于同一可擦 除区块。
20. 根据权利要求2所述的方法,其中所述非易失性存储器为快闪EEPROM。
21. 根据权利要求2所述的方法,其中所述非易失性存储器具有NAND结构。
22. 根据权利要求2所述的方法,其中所述非易失性存储器处于可移除式存储卡上。
23. 根据权利要求2所述的方法,其中所述非易失性存储器具有具浮动栅极结构的存储 器单元。
24. 根据权利要求2所述的方法,其中所述非易失性存储器包含具有介电层结构的存储 器单元。
25. —种非易失性存储器,其包含存储器单元阵列,其中各个存储器单元每一者可编程到多个存储器状态中的一 者;多位代码,其具有用于编码所述多个存储器状态中的每一者的多个代码位; 所述代码位的预定位次序,使得随着更多的较高阶代码位可用,更多的较高经编 程状态是可解码的;锁存器集合,其用于锁存存储器单元群组中的每一存储器单元的多位数据,所述 锁存器集合具有恰好用于所述多个代码位加上一额外位的容量控制器,其响应于将数据群组从第一存储器单元群组复制到第二存储器单元群组 的请求,其中所述控制器执行包含以下各项的操作-读取所述第一存储器单元群组中的存储器单元以确定其中所编程的所述存储器 状态;用所述多位代码将每一所读取的存储器状态编码为多位数据; 锁存所述第一存储器单元群组中的每个存储器单元的所述多位数据; 将所述所锁存的数据分组为与代码位数目一样多的数据群组,每一数据群组收集来自所述第一存储器单元群组中的每个存储器单元的相同代码位;通过将每一数据群组的所述位输出到控制器以用于数据处理且返回任何经修改的位以更新每一数据群组,根据所述预定代码位次序而逐个数据群组地处理所述数据群组;如果任何数据群组已被处理,则与任何额外数据群组处理同时地,编程所述第二 存储器单元群组中的各个存储器单元直到可由来自所述经处理的数据群组的可用代码位解码的最高存储器状态;以及重复所述处理和所述编程,直到所述多位代码的所有代码位均可用于完成所述编 程为止。
26. 根据权利要求25所述的非易失性存储器, 多个代码位加上一额外位的容量。
27. 根据权利要求25所述的非易失性存储器, 存储器单元引起的任何扰动效应。
28. 根据权利要求25所述的非易失性存储器,
29. 根据权利要求25所述的非易失性存储器,
30. 根据权利要求25所述的非易失性存储器,
31. 根据权利要求25所述的非易失性存储器,其中所述锁存器集合具有恰好用于所述其中所述读取包括校正由于相邻字线的其中所述多位代码含有两个位。 其中所述多代码含有三个位。 其中所述多代码含有四个位。 其中所述存储器单元阵列被组织成存储器单元的多个可擦除区块,且所述第一存储器单元群组和所述第二存储器单元群组 属于不同的可擦除区块。
32. 根据权利要求25所述的非易失性存储器,其中所述存储器单元阵列被组织成存储 器单元的多个可擦除区块,且所述第一存储器单元群组和所述第二存储器单元群组 属于同一可擦除区块。
33. 根据权利要求25所述的非易失性存储器,其中所述非易失性存储器是快闪 EEPROM。
34. 根据权利要求25所述的非易失性存储器,其中所述非易失性存储器具有NAND结 构。
35. 根据权利要求25所述的非易失性存储器,其中所述非易失性存储器处于可移除式 存储卡上。
36. 根据权利要求25所述的非易失性存储器,其中所述非易失性存储器具有具浮动栅 极结构的存储器单元。
37. 根据权利要求25所述的非易失性存储器,其中所述非易失性存储器包含具有介电 层结构的存储器单元。
38. 根据权利要求26所述的非易失性存储器,其中所述读取包括校正由于相邻字线的 存储器单元引起的任何扰动效应。
39. 根据权利要求26所述的非易失性存储器,其中所述多位代码含有两个位。
40. 根据权利要求26所述的非易失性存储器,其中所述多代码含有三个位。
41. 根据权利要求26所述的非易失性存储器,其中所述多代码含有四个位。
42. 根据权利要求26所述的非易失性存储器,其中所述存储器单元阵列被组织成存储 器单元的多个可擦除区块,且所述第一存储器单元群组和所述第二存储器单元群组 属于不同的可擦除区块。
43. 根据权利要求26所述的非易失性存储器,其中所述存储器单元阵列被组织成存储 器单元的多个可擦除区块,且所述第一存储器单元群组和所述第二存储器单元群组 属于同一可擦除区块。
44. 根据权利要求26所述的非易失性存储器,其中所述非易失性存储器是快闪 EEPROM。
45. 根据权利要求26所述的非易失性存储器,其中所述非易失性存储器具有NAND结 构。
46. 根据权利要求26所述的非易失性存储器,其中所述非易失性存储器处于可移除式存储卡上。
47. 根据权利要求26所述的非易失性存储器,其中所述非易失性存储器包含具有浮动 栅极结构的存储器单元。
48. 根据权利要求26所述的方法,其中所述非易失性存储器包含具有介电层结构的存 储器单元。
49. 一种非易失性存储器,其包含存储器单元阵列,其中各个存储器单元每一者可编程到多个存储器状态中的一者;多位代码,其具有用于编码所述多个存储器状态中的每一者的多个代码位; 所述代码位的预定位次序,使得随着更多的较高阶代码位可用,更多的较高经编 程状态是可解码的;锁存器集合,其用于锁存存储器单元群组中的每一存储器单元的多位数据,所述 锁存器集合具有恰好用于所述多个代码位加上一额外位的容量;用于读取所述第一存储器单元群组中的存储器单元以确定其中所编程的所述存 储器状态的构件;用于用所述多位代码将每一所读取的存储器状态编码为多位数据的构件;用于锁存所述第一存储器单元群组中的每个存储器单元的所述多位数据的构件;用于将所述所锁存的数据分组为与代码位数目一样多的数据群组的构件,每一数据群组收集来自所述第一存储器单元群组中的每个存储器单元的相同代码位; 用于通过将每一数据群组的所述位输出到控制器以用于数据处理且返回任何经修改的位以更新每一数据群组来根据所述预定代码位次序而逐个数据群组地处理所述数据群组的构件;如果任何数据群组已被处理,则与任何额外数据群组处理同时地,用于编程第二存储器单元群组中的各个存储器单元直到可由来自所述经处理的数据群组的可用代码位解码的最高存储器状态的构件;以及用于重复所述处理和所述编程直到所述多位代码的所有代码位均可用于完成所述编程为止的构件。
50. 根据权利要求49所述的非易失性存储器,其中所述锁存器集合具有恰好用于所述 多个代码位加上一额外位的容量。
全文摘要
本发明揭示一种非易失性存储器和数种方法,其包括针对每一存储器单元使用最小数目的数据锁存器的高速缓存页复制。并行地从与第一字线相关联的群组中的每一存储器单元读取多位数据。将所述所读取的数据组织成多个数据群组以用于根据预定次序而逐个群组地从所述存储器中来回移出以进行数据处理。返回经修改的数据以用于更新相应数据群组。所述预定次序使得随着更多的所述数据群组受到处理且可用于编程,更多的较高经编程状态为可解码的。与所述处理同时地执行自适应全序列编程。所述编程将所述所读取的数据复制到与第二字线相关联的另一存储器单元群组,所述另一存储器单元群组通常在不同的擦除区块中且优选地由于邻近所述第一字线的字线引起的扰动效应而受到补偿。
文档编号G11C11/56GK101548332SQ200880000928
公开日2009年9月30日 申请日期2008年2月29日 优先权日2007年3月7日
发明者彦 李 申请人:桑迪士克股份有限公司

最新回复(0)