非易失性存储器的最高多级状态的较快编程的制作方法

文档序号:6781314阅读:117来源:国知局
专利名称:非易失性存储器的最高多级状态的较快编程的制作方法
技术领域
本发明涉及对非易失性存储器的编程。
背景技水
半导体存储器已越来越普遍地用于各种电子装置中。举例来说,非易失性半导体 存储器可用于蜂窝式电话、数码相机、个人数字助理、移动计算装置、非移动计算装 置及其它装置中。电可擦除可编程只读存储器(EEPROM)及快闪存储器即是最受欢 迎的非易失性半导体存储器。
EEPROM及快闪存储器两者利用具有位于半导体衬底中的沟道区域上方并与其 绝缘且也在源极与漏极区域之间的浮动栅极的晶体管结构。控制栅极设置在所述浮动 栅极上方并与所述浮动栅极绝缘。晶体管的闽值电压Vt由所述浮动栅极上所保持的电 荷量控制。也就是说,浮动栅极上的电荷电平控制在晶体管接通以准许其源极与漏极 之间导通之前所必须施加到控制栅极的最小电压量。
所述浮动栅极用于存储两个电荷范围,且因此所述晶体管提供具有两个可能状态 (例如,已擦除状态及已编程状态)的存储器元件。有时将此种快闪存储器装置称为 二进制快闪存储器装置,因为每一存储器元件可存储一个数据位。
通过识别多个不同的所允许/有效的编程阈值电压范围来实施多状态或多级快闪 存储器装置。每一不同的阈值电压范围对应于在所述存储器装置中编码的所述组数据 位的预定值。举例来说,当将存储器元件置于对应于四个不同阈值电压范围的四个离 散电荷带中的一者中时,每一元件可存储两个数据位。
通常,在编程操作期间施加到控制栅极的编程电压V,是作为波形或量值随时间 增加的脉冲系列来施加的。在一种可能的方法中,所述脉冲的量值随每一连续脉冲增 加大约为0.2-0.4 V的预定步长。在编程脉冲之间的周期中,实施检验操作。也就是说, 在连续的编程脉冲之间读取正被并行编程的元件群组中每一元件的编程电平,以确定 其是否等于或大于所述元件正编程到的检验电平。对于多状态快闪存储器元件阵列, 可针对元件的每一状态执行检验步骤以确定所述元件是否已达到其数据相关联的检验 电平。举例来说,能够将数据存储为四个状态的多状态存储器元件可需要针对三个比 较点执行检验操作。
此外,当编程EEPROM或快闪存储器装置(例如,NAND串中的NAND快闪存 储器装置)时,通常将V鹏施加到控制栅极并将位线接地,从而致使电子从单元或存储器元件(例如,存储元件)的沟道被注入浮动栅极中。当电子在浮动栅极中累积时, 所述浮动栅极会变成带负电荷且存储器元件的阈值电压升高,因此存储器元件可被视 为处于已编程状态。关于此种编程的更多信息可见于标题为"用于非易失性存储器的 源极侧自增压技术(Source Side Self Boosting Technique For Non-Volatile Memory)" 的美国专利第6,859,397号中及在标题为"对已编程存储器的检测(Detecting Over Programmed Memory)"的美国专利公开案第2005/0024939号中,两者的全文均以引 用方式并入本文中。
在多级存储装置中,可使用各种编程技术来增强获得较窄的编程阈值电压分布及 较高的编程速度方面的性能。举例来说,可使用粗略/精细编程技术,其中向己达到小 于最终检验电平的所规定检验电平的存储元件施加中间位线电压。此减缓编程,使得 可更精确地控制阈值电压分布。
如在其它电子装置的情况下,消费者要求尽可能快地对存储器装置进行编程。举 例来说,在快闪存储器卡上存储图像的数码相机的用户不想在照片之间等待不必要的 长时间周期。除以合理的速度进行编程以外,为实现多状态存储器单元的正确数据存 储,多状态存储器单元的多个阈值电压范围应彼此相隔充分的容限,以便可以清楚的 方式对存储器单元的电平进行编程及读取。建议使用紧凑的阈值电压分布。为实现紧 凑的阈值电压分布,通常使用小的编程步长,从而更缓慢地对所述单元的阈值电压进 行编程。所需的阈值电压分布越紧凑,所述步长越小且编程过程越缓慢。
通常,为维持合理的编程次数,并不将粗略/精细编程算法应用于最高存储器状态 (对应于最大的正阈值电压范围的状态)。最高状态不需要区别于较高状态。通常, 仅需要将用于最高状态的单元编程得高于最小阈值电平以区别于下一最低状态。因此, 这些单元的分布可以占据较宽的阈值电压范围而不会对装置性能产生不利影响。粗略/ 精细编程方法需要更多如上文所说明的检验步骤。此外,粗略/精细编程方法的使用可 增加所需编程脉冲的总数量。由于最高的阈值电压状态并不要求如多数情形中的阈值 电压分布一样紧凑,因此通常不使用粗略/精细编程以便减少总编程次数。
除增加编程次数以外,针对最高阈值电压状态使用粗略/精细编程方法可增加编程 干扰在以NAND构架实施的快闪存储器装置中的出现次数(在下文更全面说明)。为 将编程电压施加到选定NAND串上的选定单元的控制栅极,将所述编程电压施加在适 当的字线上。此字线还将连接到选定存储器单元块中的每隔一个NAND串上的存储器 单元。这些存储器单元中的某些存储器单元可能不打算用于编程。在需要编程字线上 的一个单元而不编程连接到同一字线的其它单元时会出现问题。由于所述编程电压是
施加到连接到字线的所有单元,因此连接到所述字线的未选定单元(将不被编程的单 元)可不注意地被编程。选定字线上的未选定单元的意外编程称为"编程干扰"。
尽管存在各种用于消除或限制编程干扰的技术,但某些装置设计师选择针对最高 的阈值电压存储器状态不使用粗略/精细编程算法以降低编程干扰的可能性。编程干扰 在对字线施加大的编程电压时会更频繁地出现。粗略/精细编程所需的编程脉冲数量的增加可导致编程电压达到比不使用粗略/精细编程所达到的更高的电平。因此,NAND
构架的许多实施方案针对最高的阈值电压状态并不应用粗略/精细编程以最小化编程 干扰的出现次数。

发明内容
在使用标准技术(不是粗略/精细编程)编程到最高状态的同时使用一种粗略/精 细编程技术编程到较低状态。然而,当完成所述较低状态的编程时,仍需要若干编程 脉冲来编程所述最高状态。为改善编程速度,可从最低状态己被编程的时刻起使用较 大的步长及较长的编程脉冲。同时,可将用于最高状态的编程技术改变为粗略/精细编 程技术。
参照下文对本发明的详细说明及附图将获得对本发明的特征及优点的更好了解, 附图阐述其中利用了本发明原理的说明性实施例。


图1是NAND串的俯视图。
图2是所述NAND串的等效电路图。
图3是NAND快闪存储器单元阵列的一部分的框图。
图4是非易失性存储器系统的框图。
图5是非易失性存储器系统的框图。
图6是描绘感测块的一个实施例的框图。
图7是存储器阵列的框图。
图8描绘实例性组阈值电压分布。
图9图解说明两遍式编程技术的一组阈值电压分布。
图10A-C各自图解说明减小浮动栅极到浮动栅极耦合的编程技术的一组阈值电 压分布。
图IIA图解说明传统编程过程的阈值电压对时间关系。 图12A图解说明粗略/精细编程过程的阈值电压对时间关系。 图13A图解说明经修改粗略/精细编程过程的阈值电压对时间关系。 图IIB、 12B及13B图解说明位线电压对时间关系且分别与图IIA、图12A及图 13A相关。
图14图解说明用于编程多级非易失性存储元件的一系列编程脉冲。 图15图解说明用于编程多级非易失性存储元件的一系列编程脉冲。 图16图解说明用于在最低状态完成编程之前检验存储元件的编程的一系列检验 脉冲。
图17图解说明用于在最低状态已完成编程之后检验存储元件的编程的一系列检验脉冲。
图18及图19分别是说明根据图14-15的实施例的用于编程非易失性存储器的过 程的流程图。
具体实施例方式
半导体存储器系统的一个实施例使用NAND快闪存储器结构,其包括在NAND 串中在两个选择栅极之间串联布置多个晶体管。图1是显示一个此种NAND串150的 俯视图。图2是其等效电路。图1及2中所描绘的NAND串包括串联布置在第一选择 栅极120与第二选择栅极122之间的四个晶体管100、 102、 104及106。第一选择栅 极120将NAND串150的连接选通到位线126。第二选择栅极122将NAND串150 的连接选通到源极线128。通过向控制栅极120CG施加适当的电压来控制第一选择栅 极120。通过向控制栅极122CG施加适当的电压来控制第二选择栅极122。晶体管100、 102、104及106中的每一者具有控制栅极及浮动栅极。晶体管IOO具有控制栅极100CG 及浮动栅极100FG。晶体管102具有控制栅极102CG及浮动栅极102FG。晶体管104 具有控制栅极104CG及浮动栅极104FG。晶体管106具有控制栅极106CG及浮动栅 极画FG。
控制栅极IOOCG连接到字线WL3,控制栅极102CG连接到字线WL2,控制栅极 104CG连接到字线WL1,且控制栅极106CG连接到字线WLO。在一个实施例中,晶 体管IOO、 102、 104及106用作存储器单元。在其它实施例中,存储器单元可包括多 个晶体管或可不同于图1及2中所描绘。第一选择栅极120连接到漏极选择线SGD。 第二选择栅极122连接到源极选择线SGS。
注意,尽管图1-图2显示在NAND串中存在四个存储器单元,但使用四个晶体 管仅为说明性,且可容易地提供其它配置,包括8个存储器单元、16个存储器单元、 32个存储器单元、64个存储器单元的普通配置等。
图3图解说明例如图1-图2中所示NAND单元的NAND单元阵列的实例。沿每 一列,位线206耦合到NAND串150的每一漏极选择栅极120的漏极端子126。沿 NAND串的每一行,源极线204可连接所述NAND串的源极选择栅极122的每一源极 端子128。在以下美国专利中提供有NAND型快闪存储器及其操作的相关实例,所有 所述美国专利的全文以引用的方式并入本文中美国专利第5,386,422号;美国专利第 5,570,315号;美国专利第5,774,397号;美国专利第6,046,935号;美国专利第6,456,528 号;及美国专利第6,522,580号。
将存储器单元阵列划分为较大数量的存储器单元块。通常对于快闪EEPROM系
统来说,块是擦除单位。也就是说,每一块包含可一同擦除的最小数量的存储器单元。 每一块通常被划分为若干页。页是编程单位。在一个实施例中,可将个别页划分为多 个段且所述段可包含作为基本编程操作一次写入的最少数量的单元。在一行存储器单元中通常存储一个或一个以上数据页。 一页可存储一个或一个以上扇段。 一个扇段包 括用户数据及开销数据。开销数据通常包括依据所述扇段的用户数据计算得出的错误 校正码(ECC)。控制器(下文说明)的一部分在数据正被编程到阵列中时计算ECC, 且还在正从阵列读取数据时检查ECC。另一选择为,将ECC及/或其它开销数据存储 在与其所从属的用户数据不同的页或甚至不同的块中。用户数据扇段通常为512个字 节,相当于磁盘驱动器中扇段的大小。开销数据通常为额外的16-20字节。大量页形 成一块,例如从8个页到多达32个、64个、128个或更多个页不等。
图4图解说明具有用于并行读取及编程一页存储器单元的读取/写入电路的存储 器装置296的一个实施例。存储器装置296可包括一个或一个以上存储器裸片298。 存储器裸片298包括二维存储器单元阵列300、控制电路310及读取/写入电路365。 在某些实施例中,所述存储器单元阵列可以是三维的。存储器阵列300可由字线经由 行解码器330及由位线经由列解码器360来寻址。读取/写入电路365包括多个感测块 400且允许并行读取或编程一页存储器单元。通常,控制器350包括在与所述一个或 一个以上存储器裸片298相同的存储器装置296 (例如,可抽换式存储卡)中。命令 与数据经由线320在主机与控制器350之间及经由线318在控制器与一个或一个以上 存储器裸片298之间传送。
控制电路310与读取/写入电路365协作来对存储器阵列300执行存储器操作。控 制电路310包括状态机312、芯片上地址解码器314及功率控制模块316。状态机312 提供对存储器操作的芯片级控制。芯片上地址解码器314在主机或存储器控制器所使 用的地址与解码器330及360所使用的硬件地址之间提供地址接口 。功率控制模块316 控制在存储器操作期间供应到字线及位线的功率及电压。
在某些实施方案中,可组合图4的某些组件。在各种设计中,可将图4除存储器 单元阵列300以外的一个或一个以上组件(单独或组合)视为管理电路。举例来说, 管理电路可包括控制电路310、状态机312、解码器314/360、功率控制316、感测块 400、读取/写入电路365、控制器350等中的任一者或其组合。
图5图解说明图4中所示存储器装置296的另一布置。各个外围电路对存储器阵 列300的存取是以对称方式在所述阵列的相对侧上实施的,以便将每一侧上的存取线 及电路的密度减半。因此,行解码器分成行解码器330A及330B且列解码器分成列解 码器360A及360B。同样,读取/写入电路分成从阵列300底部连接到位线的读取/写 入电路365A及从阵列300顶部连接到位线的读取/写入电路365B。以此方式,读取/ 写入模块的密度实质上减半。图5的装置还可包括控制器,如上文针对图4的装置所 说明。
图6是分割为核心部分(称为感测模块380)及共用部分390的个别感测块400 的框图。在一个实施例中,针对每位线存在单独的感测模块380且针对一组多个感测 模块380存在一个共用部分390。在一个实例中, 一个感测块将包括一个共用部分390 及八个感测模块380。群组中的感测模块中的每一者将经由数据总线372与相关联的共用部分连通。对于其它细节,参考标题为"非易失性存储器&对感测放大器的集合 的共享处理的方法(Non-Volatile Memory & Method with Shared Processing for an Aggregate of Sense Ampl迅ers)"的美国专利公开案第2006/0140007号,其全文以引 用方式并入本文中。
感测模块380包括确定所连接位线中的传导电流在预定阈值电平以上还是以下的 感测电路370。感测模块380还包括位线锁存器382,其用于设定所连接位线上的电压 条件。举例来说,锁存在位线锁存器382中的预定状态将导致所连接位线被拉至指定 编程禁止的状态(例如,Vdd)。
共用部分390包括处理器392、 一组数据锁存器394及耦合在所述组数据锁存器 394与数据总线320之间的I/O接口 396。处理器392执行计算。举例来说,其功能之 一是确定存储在所感测存储器单元中的数据并将所确定的数据存储在所述组数据锁存 器中。在读取操作期间,所述组数据锁存器394用于存储由处理器392确定的数据位。 在编程操作期间,其还用于存储从数据总线320导入的数据位。所导入数据位表示将 要编程到存储器中的写入数据。I/O接口 396在数据锁存器394与数据总线320之间 提供接口。
在读取或感测期间,系统的操作处于状态机312的控制下,所述状态机控制向所 寻址单元供应不同的控制栅极电压。在其经历对应于存储器所支持的各种存储器状态 的各种预定义控制栅极电压时,感测模块380可在这些电压中的一者处跳闸且一输出 将被从感测模块380经由总线372提供到处理器392。此时,处理器392通过考虑感 测模块的跳闸事件及关于经由输入线393从状态机所施加的控制栅极电压的信息来确 定所得存储器状态。然后其计算存储器状态的二进制编码并将所得数据位存储在数据 锁存器394中。在所述核心部分的另一实施例中,位线锁存器382有两个用途作为 用于锁存感测模块380的输出的锁存器且还作为如上所说明的位线锁存器两者。
预期某些实施方案将包括多个处理器392。在一个实施例中,每一处理器392将 包括输出线(在图6中未描绘)以使所述输出线中的每一者线或(wired-OR)在一起。 在某些实施例中,输出线在连接到线或线之前反转。此配置使得能够在编程检验过程 期间快速确定编程过程何时完成,因为接纳线或的状态机可确定正被编程的所有位何 时达到所需电平。举例来说,当每一位已达到其所需电平时,针对所述位的逻辑零将 被发送到线或线(或反转数据一)。当所有位输出数据0 (或反转数据一)时,那么 状态机知晓终止所述编程过程。在其中每一处理器与八个感测模块连通的实施例中, 状态机需要读取线或线八次,或向处理器392添加逻辑以累加相关联位线的结果,使 得所述状态机仅需读取所述线或线一次。
在编程或检验期间,将来自数据总线320的将要编程的数据存储在所述组数据锁 存器394中。在状态机312的控制下的编程操作包含将一系列编程电压脉冲施加到所 寻址存储器单元的控制栅极,如下文进一步说明。每一编程脉冲后跟检验操作以确定 所述存储器单元是否已编程到所需状态。处理器392相对于所需存储器状态来监视被检验的存储器状态。当两者一致时,处理器392设定位线锁存器382,以致使所述位 线被拉至指定编程禁止的状态。即使在编程脉冲出现在耦合到所述位线的单元的控制 栅极上时,此仍禁止所述单元进一步编程。在其它实施例中,处理器最初加载位线锁 存器382且在检验过程期间感测电路将其设定为禁止值。
数据锁存器堆叠394包含对应于感测模块的数据锁存器堆叠。在一个实施例中, 每一感测模块380具有三个数据锁存器。在某些实施案中(但不要求),将所述数据 锁存器实施为移位寄存器以使存储在其中的并行数据转换为用于数据总线320的串行 数据,且反之亦然。在优选实施例中,可将对应于由m个存储器单元构成的读取/写入 块的所有数据锁存器链接在一起以形成块移位寄存器,以使数据块可通过串行传送来 输入或输出。特定来说,对r个读取/写入模块的库进行调适,以使其数据锁存器组中 的每一者将依序将数据移入或移出数据总线,就像其是整体读取/写入块的移位寄存器 的一部分那样。
关于非易失性存储装置的各个实施例的结构及/或操作的额外信息可见于以下专 利参考中,其全文以引用方式并入本文中标题为"具有改善的感测的非易失性存储 器及方法(Non-Volatile Memory And Method with Improved Sensing)"的美国专利第 7,023,736号;标题为"用于低电压操作的经改善存储器感测电路及方法(Improved Memory Sensing Circuit And Method For Low Voltage Operation)"的美国专禾U第 7,046,568号;标题为"具有减少的源极线偏置错误的非易失性存储器及方法
利公开案第2004/0057287号;标题为"用于非易失性存储器的参考感测放大器 (Reference Sense Amplifier For Non-Volatile Memory )"的美国专禾(J公开案第 2006/0158947号;及标题为"在非易失性存储器的读取操作期间补偿耦合 (Compensating for Coupling During Read Operations of Non- Volatile Memory)"的美 国专利申请案第11/099,133号。
参照图7,其说明存储器单元阵列300的实例性结构。作为一个实例,说明被分 割为1,024个块的NAND快闪EEPROM。可同时擦除存储在每一块中的数据。在一个 实施例中,所述块是同时被擦除的存储器单元的最小单位。在此实例中,在每一块中 存在对应于位线BL0、 BL1...BL8511的8,512列。在一个实施例中,在读取及编程操 作期间可同时选择块的所有位线。可同时编程沿共用字线且连接到任何位线的存储器 单元。
在另一实施例中,将位线划分为偶数位线及奇数位线。在奇数/偶数位线架构中, 在一个时间处编程沿共用字线且连接到奇数位线的存储器单元,而在另一时间处编程 沿共用字线且连接到偶数位线的存储器单元。
图7的下部部分显示具有四个串联连接的存储器单元以形成NAND串的块i,如 前文所说明。尽管图中显示每一NAND串中包括四个单元,但可使用多于或少于四个 单元(例如,8、 16、 32、 64个或另一数量)。所述NAND串的一个端子经由漏极选择栅极SGD连接到对应的位线,且另一端子经由源极选择栅极SGS连接到共用源极。
每一存储器单元可存储以模拟形式或数字形式表示的数据。当存储一个数字数据 位时,将存储器单元的可能阈值电压的范围划分为两个范围,为这两个范围指派逻辑
数据值"1"及"0"。在NAND型快闪存储器的一个实例中,在存储器单元被擦除之 后所述电压阈值为负且被定义为逻辑"l"。在编程操作之后阔值电压为正,且被定义 为逻辑"0"。当阈值电压为负且通过向控制栅极施加O伏来起始读取操作时,存储器 单元将接通以指示在所述单元中正存储逻辑"l"。当阈值电压为正且通过向控制栅极 施加O伏来执行读取操作时,存储器单元将不接通,此指示存储逻辑"0"。存储一个
数字数据位的存储器单元通常称为二进制存储器单元。
存储器单元还可存储多个数字数据位且可称为多状态或多级单元。多状态存储器
单元的阈值电压窗口划分为若干范围。举例来说,如果使用四个状态,那么将存在四 个被指派到逻辑数据值"11" 、 "10" 、 "01"及"00"的阈值电压范围。在NAND 型存储器的一个典型实例中,在擦除操作之后阈值电压为负且被定义为"11"。针对 状态"10" 、 "01"及"00"使用正的阈值电压。
通常,本文中所揭示的技术可与通过福勒-诺德海姆(Fowler-Nordheim)穿隧编 程及擦除的装置一同使用。本发明还可应用于使用三层电介质(例如,由氧化硅、氮 化硅及氧化硅(ONO)形成的电介质)的氮化物层来代替浮动栅极存储电荷的装置。 由ONO形成的三层电介质夹在导电控制栅极与存储器元件沟道上方的半导电衬底的 表面之间。在某些情况下,可使用三个以上电介质层。也可使用其它层,例如氧化铝。 后者的实例是Si-Oxide-SiN-Al2OrTaN (TANOS)结构,其中使用三层,即氧化硅、 氮化硅及氧化铝。本发明还可应用于使用(举例来说)小的导电材料岛(例如,纳米 晶体)作为代替浮动栅极的电荷存储区域的装置。可以与基于浮动栅极的NAND快闪
装置类似的方式来编程及擦除此类存储器装置。
在成功的编程过程的结束,存储器单元的阈值电压应适当地在已编程存储器单元 的阈值电压分布中的一者内或在已擦除存储器单元的单个阈值电压分布内。图8图解 说明当每一存储元件存储两个数据位时存储元件阵列的典型阈值电压分布,包括己擦 除存储元件的第一阈值电压分布E及已编程存储元件的三个额外阐值电压分布A、 B 及C。在一个实施例中,E分布中的阈值电压为负且A、 B及C分布中的阈值电压为 正。
图8中所示的每一不同的阈值电压范围对应于所述组数据位的预定值。编程到存 储元件中的数据与所述存储元件的阈值电压电平之间的特定关系取决于针对所述存储 元件采用的数据编码方案。举例来说,标题为"新颖多状态存储器(NovelMulti-State Memory)"的美国专利第6,222,762号及标题为"存储器系统的追踪单元(Tracking Cells For A Memory System)"的美国专利公开案第2004/0255090号(此两者的全文以引用 方式并入本文中)说明了用于多状态快闪存储元件的各种数据编码方案。在一个实施 例中,使用格雷(Gray)码指派来向阈值电压范围指派数据值,以便如果浮动栅极的阈值电压错误地变化为其相邻物理状态时仅会影响到一个位。 一个实例向阈值电压范 围E指派逻辑值"11",向阈值电压范围A指派逻辑值"10",向阈值电压范围B指 派逻辑值"00",且向阈值电压范围C指派逻辑值"01"。然而,在其它实施例中, 不使用格雷码。尽管图8显示了四个状态,但本发明还可以与其它多状态结构及配置 (包括那些包括多于或少于四个状态的多状态结构及配置) 一同使用。
图8还显示三个读取参考电压Vra、 Vrb及Vre及六个检验参考电压Vva、 Vva.L、 Vvb、 Vvb.L、 Vve及w.L。对于读取操作,测量存储元件的阈值电压且将其与相关参考电压进
行比较以确定所述存储元件处于什么状态。对于其中存储元件正被编程到状态A的标
准编程操作,测量所述阈值电压且将其与检验电压Vva进行比较。只要所述阈值电压 低于检验电压Vva,那么编程针对所述元件将继续。当使用粗略/精细编程技术时,还 使用较低的检验电压Vva_L,且当所述阈值电压在所述两个检验点之间时,将减缓(部
分禁止)编程。同样,对于其中存储元件正被编程到状态B的标准编程操作,测量所
述阈值电压且将其与检验电压Vvb进行比较。只要所述阈值电压低于检验电压Vvb,那
么编程针对所述元件将继续。当使用粗略/精细编程技术时,还使用较低的检验电压
Vvb.u且当所述阈值电压在所述两个检验点之间时,将减缓(部分禁止)编程。同样,
对于其中存储元件正被编程到状态c的标准编程操作,测量所述阈值电压且将其与检
验电压Vve进行比较。只要所述阈值电压低于检验电压Vvc,那么编程针对所述元件将 继续。当使用粗略/精细编程技术时,还使用较低的检验电压Vve丄,且当所述阈值电压 在所述两个检验点之间时,将减缓(部分禁止)编程。
在一个实施例(称为全序列编程)中,可将存储元件从擦除状态E直接编程到已
编程状态A、 B或C中的任一者。举例来说,可首先擦除将被编程的一群存储元件, 使得所述群中的所有存储元件处于已擦除状态E。当某些存储元件正从状态E编程到 状态A时,其它存储元件正从状态E编程到状态B及/或从状态E编程到状态C。
图9图解说明编程多状态存储元件的两遍式技术的实例,所述多状态存储元件存 储有两个不同页(下部页及上部页)的数据。所描绘的四个状态是状态E (11)、 状态A (10)、状态B (00)及状态C (01)。对于状态E,两个页存储"1"。对于 状态A,下部页存储"0"且上部页存储"1"。对于状态B,两个页存储"0"。对于 状态C,下部页存储"1"且上部页存储"0"。注意,尽管己将特定的位图案指派到 所述状态中的每一者,但还可指派不同的位图案。
在第一遍编程中,根据将要编程到下部逻辑页中的位来设定所述存储元件的阈值 电压电平。如果所述位是逻辑"l",那么所述阈值电压不改变,因为其处于因先前已 被擦除而得到的适当状态。然而,如果将要编程的位是逻辑"0",那么所述存储元件 的阈值电平升高到状态A,如由箭头500所示。
在第二遍编程中,根据正被编程到上部逻辑页中的位来设定所述存储元件的阈值 电压电平。如果上部逻辑页位将要存储逻辑"l",那么不会发生编程,因为所述存储 元件依据下部页位的编程而处于状态E或A (两者均携载上部页位"1")中的一者中。如果上部页位将是逻辑"0",那么所述阈值电压变化。如果所述第一遍导致所述 存储元件保持在已擦除状态E中,那么在所述第二阶段中,将所述存储元件编程,使 得阔值电压增加到处于状态C,如由箭头520所描绘。如果所述存储元件作为所述第 一遍编程的结果而已被编程到状态A,那么所述存储元件在所述第二遍中进一步被编 程以使得所述阈值电压增加到处于状态B,如由箭头510所描绘。第二遍的结果是将 所述存储元件编程到经指定以在上部页存储逻辑"O"而不改变下部页的数据的状态中。
在一个实施例中,如果写入充足的数据以填满字线,那么可设立系统以执行全序 列写入。如果未写入充足的数据,那么所述编程过程可以所接收的数据编程下部页。 当接收到后续数据时,系统随后将编程上部页。在再一实施例中,所述系统可以编程 下部页的模式开始写入且如果随后接收到足以填满整个字线的大部分或全部存储元件 的数据时,那么所述系统转换成全序列编程模式。此种实施例的更多细节揭示在标题 为"使用早期数据的非易失性存储器的管线化编程(Pipelined Programming of Non-Volatile Memories Using Early Data)"的美国专利公开案第2006/0126390号中, 其全文以引用方式并入本文中。
图10A-图10C描绘用于编程非易失性存储器的另一过程,其通过在写入先前页 的邻近存储器元件之后写入关于特定页的任何特定存储器元件来减少所述特定存储器 元件的浮动栅极到浮动栅极耦合。在一个实例性实施方案中,每一非易失性存储器元 件使用四个数据状态来存储两个数据位。举例来说,假设状态E是已擦除状态且状态 A、 B及C是已编程状态。状态E存储数据ll,状态A存储数据01,状态B存储数 据10且状态C存储数据00。此是非格雷编码的实例,因为两个位均在邻近状态A与 B之间变化。也可使用数据到物理数据状态的其它编码。每一存储器元件均存储来自 两个数据页的位。出于参考的目的,将这些数据页称为上部页及下部页;然而,还可 给予其其它称谓。对于状态A,上部页存储位O且下部页存储位1。对于状态B,上 部页存储位1且下部页存储位0。对于状态C,两个页均存储位数据0。在图10A中 描绘的第一步骤中编程字线WLn处的存储器单元的下部页数据且在图10C中描绘的第 二步骤中编程所述单元的上部页数据。如果所述下部页将要保持数据1,那么所述存 储器元件状态的阈值电压在所述第一步骤期间保持在状态E。如果将要将所述数据编 程到0,那么将所述存储器单元的阈值电压Vt升高到状态B'。状态B'是具有检验电平 Vvb'(其低于Vvb)的临时状态B。
在一个实施例中,在所述存储器元件的下部页数据从状态E编程到状态B'之后, 编程邻近字线WL^上的其相邻存储器元件(相对于其下部页)。举例来说,可在字 线WL1上的存储器单元的下部页之后编程字线WL2上的存储器单元的下部页。如果 在编程目标存储器单元之后邻近存储器单元的阚值电压从状态E升高到状态B',那么 浮动栅极耦合可升高所述目标存储器单元的视在阈值电压。对WL。处的存储器单元的 累积耦合影响将加宽所述单元的阈值电压的视在阈值电压分布,如图10B中所描绘。 可在编程所关心字线的上部页时补救所述阈值电压值分布的视在加宽。图IOC描绘编程存储器元件WLn的上部页的过程。如果存储器元件处于己擦除 状态E且上部页位将要保持处于1,那么所述存储器元件将保持处于状态E。如果所 述存储器元件处于状态E且其上部页数据将被编程到0,那么存储器元件的阈值电压 将升高以使存储器元件处于状态A。如果存储器元件处于具有中间阈值电压分布550 的状态B'且上部页数据将保持处于1,那么存储器元件将被编程到最终状态B。如果 存储器元件处于具有中间阈值电压分布550的状态B'且上部页数据将变为数据0,那 么存储器元件的阈值电压将升高以使所述存储器元件处于状态C。图10A-10C所描绘 的过程减少了浮动栅极到浮动栅极耦合的影响,因为仅相邻存储器元件的上部页编程 将对给定存储器元件的视在阈值电压具有影响。此技术的替代状态编码的实例是在上 部页数据为1时从中间状态B'移动到状态C,且在上部页数据为0时移动到状态B。 尽管图10A-10C提供关于四个数据状态及两个数据页的实例,但也可将所教示的概念 应用于具有多于或少于四个状态及多于或少于两个页的其它实施方案。关于各种编程
方案及浮动栅极到浮动栅极耦合的更多细节可见于标题为"在非易失性存储器的读取 操作期间补偿耦合(Compensating For Coupling During Read Operations Of Non-Volatile Memory)"的美国专利申请案第11/099,133号中。
图ll-图13图解说明在可用于实施图8-10的编程过程的三个不同编程技术期间 的阈值电压及位线电压。图IIA及11B图解说明标准或常规编程过程,图12A及12B 图解说明第一粗略/精细编程过程,且图13A及13B图解说明经修改的粗略/精细编程 过程。所述粗略/精细技术用于编程多级NAND存储元件,但也可用于编程二进制装 置。
图11A图解说明标准编程过程的阈值电压与时间之间的关系。将一系列编程脉冲 施加到选定控制栅极,如前文所说明。在编程期间的某些时间间隔或检验点ti、 t2、 t3 等处,实施其中测量存储元件的阈值电压Vt的检验操作。如果所述选定存储元件的所 测量阈值电压Vt低于预定的检验电平V检验p那么编程针对所述存储元件继续,且位 线电压Vbi保持为低,通常为0 V,如图11B中所示。在时间t3处,存储元件已达到 高于V&m的阈值电压电平,且位线电压Vw升高到禁止电压V禁止,以完全禁止对所 述存储元件的进一步编程。所述禁止电压V禁止通常是相对高的电压,例如电力供应电 压Vdd。此标准编程方法从而使用单个检验电平,且所述存储元件的编程将继续直到 其阈值电压Vt达到检验电平V tem,此后通过将位线电压升高到高禁止电压V禁±来禁 止进一步编程。
图12A图解说明粗略/精细编程过程的阈值电压与时间之间的关系。在此技术中, 使用两个检验电平,且在存储元件达到在上限检验电平V 与下限检验电平V检验2 之间的阈值电压电平时在时间t3处部分禁止所述存储元件编程。因此,不是将位线电 压升高到高电压电平,而是将所述位线升高中间电压电平Vt (通常约为0.5-1.0 V), 其部分禁止存储元件的编程,如图12B中所示。编程期间的沟道电压也将与Vi大约 相同。在时间U处,阈值电压Vt仍在上限检验电平与下限检验电平之间,因此位线电压Vw保持在中间电压Vi。然而,在时间t5处,阈值电压Vt已增加到高于上限检验电 平V^验i的电压,此时位线电压升高到V禁止以完全禁止编程。通过使用粗略/精细编程 过程,已编程Vt分布比在标准编程过程的情况下窄,因为一旦阈值电压Vt接近所需
己编程状态的目标阈值电压值,那么存储元件的阈值电压变化减小。
图13A图解说明经修改粗略/精细编程过程的阈值电压与时间之间的关系,在所 述粗略/精细编程过程中在位线上使用不同的部分禁止电压V2。在此实例中,如在图 12A中,当存储元件达到V检验!与V检验2之间的Vt状态时在时间t3处禁止所述存储元 件编程。在那时,位线电压升高到中间电压V2。 V2的值经选择使得在时间U处,在一 个额外编程脉冲已被施加之后,所述存储元件达到高于V检射的Vt,此时Vw从V2升 高到V祉以完全禁止编程。关于经修改粗略/精细编程的更多信息可见于美国专利公开 案2005/0157552 "编程非易失性存储器"中。
为使用经修改的粗略/精细编程技术获得最好的性能,优选地应以使得存储元件的 阈值电压Vt在下一编程脉冲期间的变化等于AV ,/2的方式来选择中间禁止电压V2。 如果以适当的方式选择检验限制V iw及V鹏2,那么存储元件的Vt在仅一个额外编 程脉冲之后应高于V&^ (目标值)。因此,仅提供一个额外编程脉冲,而不管存储 元件的阈值电压Vt在所述一个额外脉冲之后高于还是低于最终目标电平V检验"经修 改粗略/精细编程过程的优点是需要比在传统粗略/精细编程过程的情况下更少的编程 脉冲,从而导致更短的编程时间及降低的编程干扰(尤其在用于最高已编程Vt状态 时)。
在一个实施例中,使用标准技术(不是粗略/精细编程)编程到最高状态(例如, 状态C)的同时使用粗略/精细编程技术编程到较低状态(例如,状态A及B)。然而, 当完成所述较低状态的编程时,仍需要若干编程脉冲来编程所述最高状态(例如,状 态C)。为改善编程速度,可从最低状态(例如,状态A及B)己被编程的时刻起使 用较大的步长及较长的编程脉冲。同时,用于最高状态的编程技术可改变为上文所说 明或另外所属领域中已知的粗略/精细编程技术中的一者。因此,优选地,所述编程方 法在较低状态已完成编程时切换到较快的技术。此可不合理地加宽最高状态的阈值电 压分布,然而,切换到粗略/精细编程限制最高状态的电压分布的此种加宽。还应注意, 在某些情况下,没有必要一直等到所有存储器单元达到A或B状态。事实上,某些存 储器单元可能不能够成功地编程到A或B状态。因此,应在所有存储器单元已达到所 述A或B状态时或在除预定义最大数量的不规则存储器单元以外的所有存储器单元已 达到所述A或B状态时起始到较快编程方法的切换。使用错误校正可有效地校正正确 编程失败的不稳定存储器单元(假设存在不超过预定义的最大值的不稳定存储器单 元)。因此,出于本发明的目的,当所有存储器单元或除预定义最大数量的不稳定存 储器单元以外的所有存储器单元已达到B状态时,所述B状态已完成或完成编程。
图14图解说明可用于实现多级非易失性存储元件的最高级的较快编程的编程脉 冲序列,如以上紧接段落所说明。这些图显示用于四状态装置的全序列编程的编程脉冲,但可使用其它方法。所述序列的标记为"B级编程"的部分关于存储器单元被编 程到状态B时的时间。其也可被编程到状态A及C (至少在一部分时间期间)。所述 序列的标记为"C级编程"的部分关于存储器单元被编程到状态C时的时间。所述"B 级编程"在时间112之后结束,在此点上将要编程到状态A或B的所有存储元件已达 到最终目标阈值电压电平且现在被锁定以避免进一步编程。此点处的额外编程仅用于 将要编程到状态C (最高状态)的存储元件。将初始编程脉冲V,施加到选定存储元件。每一后续脉冲递增脉冲步长AV 在每一编程脉冲之间,实施一个或一个以上检验操作,从而将一系列检验脉冲(举例 来说,如图16中所示)施加到存储元件,且将阈值电压Vt与适当的检验电平进行比 较以确定针对所关心的单元继续编程还是禁止编程。当确定B状态已完成编程(例如,将要编程到状态A或B的所有或几乎所有存 储元件已达到最终目标阈值电压电平且现在被锁定以避免进一步编程)时,那么可施 加准许C状态的较快编程的脉冲序列。参照图14,下一脉冲的步长从AV鹏i (通常为 0.4 V)增加到AV编程2 (通常为0.8V)。优选地,AV编程2约为AV编程i的两倍大。另夕卜, 在调节步长的同时,增加编程脉冲的长度。举例来说,现有编程方法的典型脉冲长度 为10iisec,且增加的脉冲长度可为20(isec,但这些值将基于实施方案而变化。此外, 替代针对C状态编程使用常规编程方法(其中使用单个检验电平的标准写入方法,如 图16中所示),可使用两个检验电平的粗略/精细编程方法,如图17中所示。因此,对于正被编程到C状态的元件,将阈值电压Vt与检验电平Vve及Vve.l(其中Vve > Vv")进行比较。如果V^V^l,那么编程继续。如果Vve > Vt > Vve.l,那么将中间电压施 加到位线以减缓编程。当Vt〉Vvc时,那么将高电压施加到位线以禁止进一步编程。 注意,在某些实施例中,没有必要在增加脉冲长度及宽度的同时切换到粗略/精细编程 方法。在某些情况下,可接受使用单个检验电平而继续,因为C状态的所得较宽Vt 分布是可接受的。以此方式,可减少检验操作的数量,从而产生较快的编程。图15类似于图14,除在B状态已完成编程之后,下一脉冲增加步长AV编程3 (通 常为1.2V),但然后后跟具有步长AV编程2 (通常为0.8V)的脉冲。优选地,AV编程3 大于AV鍋2。注意,在B状态的编程期间,某些最快的单元将已经达到C状态。因此 那些C状态单元以小步长AV ,i编程,且这些单元不需要粗略/精细方法。然而,当 所有或几乎所有B状态单元已完成编程时,改变步长及检验方法两者。步长增加,且 代替使用仅使用一个检验电平的正常写入方法(如在图16中),所述编程切换到使用 两个检验电平的粗略/精细方法(如图17中所示)。优选地,使用经修改的快速一遍 写入方法来写入C状态,以限制编程干扰以及编程脉冲的数量。如前文所提及,然而, 在某些实施例中,可能没有必要改变检验方法,因为C状态的所得较宽Vt分布是可 接受的。对于时间间隔trtu,施加图16中所描绘的所述组检验脉冲。在此实例中,所述 组检验脉冲包括五个脉冲。第一脉冲591具有量值V^l以用于检査A状态的下限检验电平。第二脉冲592具有量值Vva以用于检查A状态的上限检验电平。第三脉冲593 具有量值Vvb_L以用于检查B状态的下限检验电平。第四脉冲594具有量值Vvb以用于 检查B状态的上限检验电平。第五脉冲595具有量值Vve以用于检查C状态的单个检 验电平。因此,当正编程较低状态时,使用两个检验电平的粗略/精细技术用于编程较 低状态A及B,而使用单个检验电平的标准技术用于编程最高状态C。在某些情况下, 在每一编程脉冲之后,不是所有五个检验操作被执行。举例来说,任何单元在tl处的 第一编程脉冲之后将已达到C状态的可能性非常小,因此可将C检验操作延期预定数 量的脉冲且然后在所述预定数量的编程脉冲己完成之后开始。可使用各种技术来减小 所需检验操作的总数量。在间隔tu处,系统确认较低状态A及B已完成编程,且施加不同组的检验脉冲 以实施粗略/精细检验技术以用于编程状态C,如图17中所示。由于A及B状态已完 成编程,因此仅需要检验脉冲来检查状态C,且因此经修改组的检验脉冲包括用于检 查C状态的下限检验电平的具有量值Vv化的第一脉冲596及用于检査C状态的上限 检验电平的具有量值Vve的第二脉冲597。应注意,如前文所提及,在某些实施例中, 跳过用于检査C状态的下限检验电平的第一脉冲596可为可接受的,且因此仅用脉冲 597来检验C状态。此减少所需检验操作的总数量且因此将以较宽C状态Vt分布的 代价减少总的编程时间。在每一编程脉冲之后执行多次检验操作会减缓编程过程。 一种用于减小检验的时 间负担的方法是使用更高效的检验过程。举例来说,在标题为"用于多状态存储器的 智能检验(Smart Verify for Multi-State Memories)"的美国专利第7,073,103号中,揭 示一种所谓的"智能检验"过程,所述专利的全文以引用方式并入本文中。在使用所 述智能检验过程的编程/检验序列期间,多状态存储器的写入序列的实例性实施例中, 在所述过程的开始处,在检验阶段期间仅检查多状态范围中正将选定存储器单元编程 到的最低状态(例如,状态A)。 一旦一个或一个以上存储器单元达到第一存储状态 (例如,状态A),那么将所述多状态序列中的下一状态(例如,状态B)添加到检 验过程。此下一状态可在最快单元达到所述序列中此前一状态后立即添加,或者,由 于存储器通常设计为具有若干编程步骤以从一状态移到另一状态,因此可在延迟若干 循环之后添加。延迟量既可固定或可使用基于参数的实施方案,基于参数的实施方案 允许根据装置特性来设定延迟量。如上所述继续在检验阶段中将状态添加到正被检查 的组,直到已添加最高状态。同样,当所有准备变为这些电平的存储器单元成功检验 为达到那些目标值并被锁定以避免进一步编程时,可从所述检验组中移除较低状态。在图14及15中,在B状态的编程期间,某些最快单元将已经达到C状态,且那 些0状态单元将已用较小步长么¥,1编程。因此,这些单元不需要粗略/精细方法。 然而,这些新技术的关键是当所有B状态单元已完成编程时,增加脉冲步长及脉冲长 度,且优选地,编程切换到使用两个检验电平的粗略/精细方法以维持与在现有技术方 法的情况下大致相同的C状态Vt分布宽度。如上文所提及,在某些实施例中,可能没有必要切换到粗略/精细方法,因为在某些情况下可容忍所得的较宽C状态Vt分布。 图18是说明用于编程非易失性存储器的方法(举例来说,如图14中所揭示)的 一个实施例的流程图。在某些实施方案中,存储器单元在编程之前被擦除(以块为单 位或以其它单位)。通常,通过在源极线及位线浮动的同时将p-井升高到擦除电压(例 如,18伏)达一充足的时间周期并将选定块的字线接地来擦除存储器单元。由于电容 性耦合,未选定字线、位线、选择线及c-源极也升高到占擦除电压显著分数的值。由此将强电场施加到选定存储器单元的隧道氧化物层上,且当浮动栅极的电子发射到衬 底侧时,选定存储器单元的数据通常通过福勒-诺德海姆穿隧机制擦除。当电子从浮动 栅极传送到p-井区域时,选定单元的阈值电压降低。可对整个存储器阵列、单独的块 或另一单元单位执行擦除。在图18的步骤601中,"数据加载"命令由控制器发出且由控制电路310接收。 在步骤603中,将指定页地址的地址数据从控制器或主机输入到解码器314。在步骤 605中,将所寻址页的一页编程数据输入到数据缓冲器以用于编程。所述数据锁存在 适当组的锁存器中。在步骤607中,"编程"命令由控制器发出到状态机312。由"编程"命令触发,使用施加到适当选定字线的步进式脉冲将在步骤605中锁 存的数据编程到由状态机312控制的选定存储器单元中。在步骤609中,设定编程方 法。举例来说,针对将要编程到状态A及B的存储器单元设定粗略/精细编程方法, 而针对将要编程到状态C的存储器单元设定标准方法(不是粗略/精细编程)。在步骤 611中,初始化过程变量。因此,编程电压V,被初始化为开始脉冲量值(例如,12 V 或其它值),脉冲的长度PW被设定为初始值(例如,10psec),脉冲步长AV鹏被设 定为AV编程i (例如,0.4 V)且由状态机312维持的编程计数器PC被初始化为0。在步骤613中,将编程脉冲V编程施加到选定字线,如图14。如果应编程存储器 单元,那么将对应的位线接地。另一方面,如果存储器单元应保持为其当前数据状态, 那么将对应位线连接到Vdd以禁止编程。在步骤615中,检验选定存储器单元以确定其是否已完全编程。如果检测到选定 单元的目标阈值电压已达到适当电平,那么锁定所述存储器单元以避免进一步编程。 如果检测到阈值电压尚未达到适当电平,那么锁定所述存储器单元以避免进一步编程。 在步骤617中,所述系统检查以了解较低状态是否已被编程。在一个实施例中,较低 状态是除最高状态以外的所有已编程状态。在图8的实例中,低状态是状态A及B。 因此,所述系统将确定将要编程到状态A及B的所有或几乎所有存储器单元是否已完 成其编程。在其它实施例中,所述组较低状态可包括不同组的状态。如果确定将要编 程到较低状态的所有或几乎所有存储器单元尚未完成其编程,那么在步骤618中,将 编程计数器PC与PCMAX进行比较。如果编程计数器PC小于PCMAX,那么在步骤 619中,将编程脉冲V编程的量值增加步长且将编程计数PC增加1。在步骤619之后, 所述过程循环回到步骤613且将另一编程脉冲施加到选定字线。如果编程计数器PC 不小于PCMAX,那么所述编程过程失败。所有或几乎所有存储器单元己完成其编程,那么 在步骤621中,改变编程方法,使得粗略/精细编程方法用于被编程到较高状态或状态 (例如,图8的状态C)的那些存储器单元。如前文所提及,此步骤是任选地且并非 在所有实施例中都需要。在步骤623中,改变过程变量,使得脉冲的宽度PW增加(例 如,增加到20iisec)且步长AV编程增加(例如,增加到AV编程2-例如,0.8v代替0.4v)。 在步骤625中,确定所有或几乎所有存储器单元是否被检验已完成编程。如果是,那 么所述编程过程即成功完成。如果不是,那么所述编程过程继续到步骤627,其中对 照编程限制值PCMAX来检査编程计数器PC。编程限制值的一个实例是二十;然而, 也可使用其它数量。如果编程计数器PC不小于二十,那么所述编程过程即告失败。 在许多实施例中,在达到最大循环数量之后,所述系统检査以了解是否少于预定量的 单元尚未完成编程。如果少于预定数量的单元尚未完成编程,那么仍将所述编程过程 视为一遍。如果编程计数器PC小于PCMAX,那么在步骤629中,更新过程变量。将 编程电压V编程增加步长AV编程2。递增编程计数器PC。在步骤631中,施加下一编程 脉冲且在步骤633中,检验所述存储器单元以确定其是否已完成编程。在步骤633之 后,所述过程循环回到步骤625。注意,在步骤629中,将编程计数器PC增加一。然 而,由于编程电压V,增加较大的步长,因此优选地在某些实施例中将编程计数器PC 增加二 (或更大的数量)以反映V,步长的改变。图19是说明用于编程非易失性存储器的方法(如图15中所揭示)的实施例的流 程图。步骤601-619与在图18中相同。在步骤617中,如果确定将要编程到较低状态 的所有或几乎所有存储器单元已完成其编程,那么在步骤645中确定所有或几乎所有 存储器单元是否被检验已完成编程。如果是,那么所述编程过程即成功完成。如果不 是,那么所述编程过程继续到其中改变编程方法的步骤647,使得粗略/精细编程方法 用于被编程到较高状态(例如,图8的状态C)的那些存储器单元。如前文所提及, 此是任选步骤且并非在所有实施例中都需要。在步骤649中,改变过程变量,使得脉 冲的宽度PW增加(例如,增加到20iasec)且步长AV鍋增加(例如,增加到AV编程3 例如,1.2v代替0.4v)。在步骤651中,更新过程变量。将编程电压V编程增加步长AV 编程2。递增编程计数器PC。注意,在步骤651中,将编程计数器PC增加一。然而, 由于编程电压V鹏增加较大的步长,因此可优选地在某些实施例中将PC增加二 (或 更大的数量)以反映V,步长的改变。在步骤653中,将下一编程电压脉冲(具有新 的量值)施加到选定字线。在步骤655中,检验选定存储器单元以确定其是否已完全 编程。在步骤657中,确定所有或几乎所有存储器单元是否经检验已完成编程。如果 是,那么所述编程过程即成功完成。如果不是,那么所述编程过程继续到步骤659, 在步骤659中对照编程限制值PCMAX来检查编程计数器PC。如果编程计数器PC不 小于PCMAX,那么所述编程过程失败。如果编程计数器PC小于PCMAX,那么在步 骤661中,更新过程变量。将编程电压V,增加步长AV,2。递增编程计数器PC。 注意,在步骤661中,将编程计数器PC增加一。然而,由于编程电压V编程增加较大的步长,因此可优选地在某些实施例中将PC增加二 (或更大的数量)以反映V,步 长的改变。在步骤661之后,所述过程循环回到步骤653且施加下一编程脉冲。出于图解说明及说明目的,上文己提供了对本发明的详细说明。所述说明并非打 算为穷尽性或将本发明限定于所揭示的精确形式。依据以上教示,可做出许多修改及 改变。所说明实施例的选择旨在最好地解释本发明的原理及其实际应用,从而使所属 领域的其它技术人员能够以适合于所构想的特定用途的各种实施例及使用各种修改来 最好地利用本发明。本发明的范围打算由所附权利要求书来界定。
权利要求
1、一种用于编程一组非易失性存储元件的方法,其包含将一系列编程脉冲施加到所述非易失性存储元件,其中使每一连续脉冲递增第一步长直到较低状态的编程完成,然后使每一连续脉冲递增第二步长;及当较低状态的编程完成时,增加所述编程脉冲的脉冲长度。
2、 如权利要求1所述的方法,其中所述施加一系列编程脉冲包括 使用不使用粗略/精细编程的常规技术来朝向最高状态进行编程,直到较低状态的编程完成,及在较低状态的编程完成之后,使用粗略/精细技术来朝向所述最高状态进行编程。
3、 如权利要求2所述的方法,其中使用所述常规技术进行编程包括使用单个检 验电平,且使用所述粗略/精细技术进行编程包括使用至少两个检验电平。
4、 如权利要求3所述的方法,其中所述粗略/精细技术包括将中间位线电压施加 到具有超过第一检验电平但小于第二检验电平的阈值电压的存储元件。
5、 如权利要求3所述的方法,其中所述粗略/精细技术包括将高位线电压施加到 具有超过第二检验电平的阈值电压的存储元件。
6、 如权利要求1所述的方法,其中每一存储元件能够被编程到空状态及三个已 编程状态,其中所述已编程状态中的一者是最高状态,所述方法进一步包含将第一组检验脉冲施加到所述存储元件直到所述较低状态己编程,然后将第二组 检验脉冲施加到所述存储元件,其中所述第一组检验脉冲包括用于所述较低状态的至 少两个检验电平及用于所述最高状态的单个检验电平,且其中所述第二组检验脉冲包 括用于所述最高状态的至少两个检验电平。
7、 如权利要求6所述的方法,其中所述施加一系列编程脉冲的步骤使每一连续脉冲递增所述第一步长直到较低状态的编程完成,然后使单个脉冲递增第三步长,然 后使每一连续脉冲递增所述第二步长。
8、 如权利要求1所述的方法,其中使具有增加的脉冲长度的第一编程脉冲递增第三步长,且使具有增加的脉冲长度的后续编程脉冲递增所述第二步长。
9、 一种非易失性存储系统,其包含多个非易失性存储元件;及至少一个管理电路,其与所述非易失性存储元件连通,其中所述管理电路将一系 列编程脉冲施加到所述存储元件,每一连续脉冲被递增第一步长直到较低状态的编程 完成,然后每一连续脉冲被递增第二步长,且其中所述管理电路在较低状态的编程完 成时增加所述编程脉冲的脉冲长度。
10、 如权利要求9所述的系统,其中所述管理电路使用第一技术编程最高状态直 到较低状态的编程完成,然后在较低状态的编程完成之后使用第二技术编程所述最高状态。
11、 如权利要求10所述的系统,其中所述第一技术包括单个检验电平,且所述 第二技术包括至少两个检验电平。
12、 如权利要求ll所述的系统,其中所述第一技术不使用粗略/精细编程且所述第二技术使用粗略精细编程。
13、 如权利要求11所述的系统,其中对于所述第二技术,所述管理电路将高位 线电压施加到具有超过目标检验电平的阈值电压的存储元件。
14、 如权利要求9所述的系统,其中每一存储元件能够被编程到空状态及三个已 编程状态,其中所述已编程状态中的一者是最高状态,且其中所述管理电路将第一组 检验脉冲施加到所述存储元件直到所述较低状态已编程,然后将第二组检验脉冲施加 到所述存储元件,其中所述第一组检验脉冲包括用于所述较低状态的至少两个检验电 平及用于所述最高状态的单个检验电平,且其中所述第二组检验脉冲包括用于所述最 高状态的至少两个检验电平。
15、 如权利要求14所述的系统,其中所述管理电路使每一连续编程脉冲递增所述第一步长直到较低状态的编程完成,然后使单个脉冲递增第三步长,然后使每一连 续脉冲递增所述第二步长。
16、 如权利要求15所述的系统,其中所述第三步长及所述第二步长大于所述第一步长。
17、 如权利要求16所述的系统,其中所述第三步长大于所述第二步长。
18、 如权利要求9所述的系统,其中所述管理电路使所述系列中的具有增加的脉 冲长度的第一编程脉冲递增第三步长,且使所述系列中的后续编程脉冲递增所述第二 步长。
19、 如权利要求9所述的系统,其中在较低状态的编程完成时,所述管理电路将 所述脉冲长度加倍。
20、 如权利要求9所述的系统,其中所述管理电路使用粗略/精细技术编程较低状 态,使用常规技术编程较高状态直到较低状态的编程完成,且在较低状态的编程完成 之后使用粗略/精细技术编程较高状态。
21、 如权利要求20所述的系统,其中所述管理电路使每一连续脉冲递增所述第 一步长直到较低状态的编程完成,然后使单个脉冲递增第三步长,然后使每一连续脉 冲递增所述第二步长。
全文摘要
在使用标准技术(不是粗略/精细编程)编程到最高状态的同时使用一种粗略/精细编程技术编程到较低状态。然而,当完成所述较低状态的编程时,仍需要若干编程脉冲来编程所述最高状态。为改善编程速度,可从最低状态已被编程的时刻起使用较大的步长及较长的编程脉冲。同时,可将用于最高状态的编程技术改变为粗略/精细编程技术。
文档编号G11C16/12GK101595527SQ200780040266
公开日2009年12月2日 申请日期2007年10月15日 优先权日2006年10月30日
发明者李希强, 格里特·简·赫民克 申请人:桑迪士克股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1