在非易失性存储器中的读取操作期间减小功耗的制作方法

文档序号:6746592阅读:162来源:国知局
专利名称:在非易失性存储器中的读取操作期间减小功耗的制作方法
技术领域
本发明涉及非易失性存储器。
背景技术
半导体存储器用于各种电子设备中已经变得越来越流行。例如,在蜂窝电话、数字 摄像机、个人数字助理、移动计算设备、非移动计算设备和其它设备中使用非易失性半导体 存储器。电可擦除可编程只读存储器(EEPR0M)和闪存属于最流行的非易失性半导体存储 器。相比于传统的、全特性(all-featured)的EEPROM,利用闪存,其也是一种EEPR0M,可以 在一步中擦除整个存储器阵列的内容、或该存储器的一部分的内容。 传统的EEPR0M和闪存二者都使用位于半导体衬底中的沟道区域之上且与其绝缘 的浮置栅极。该浮置栅极位于源极和漏极区域之间。控制栅极位于在浮置栅极之上且与其 绝缘。如此形成的晶体管的阈值电压(VTH)由保留在浮置栅极上的电荷量来控制。也就是 说,在导通该晶体管之前必须被应用于控制栅极以允许在其源极和漏极之间传导的最小电 压量由在浮置栅极上的电荷水平来控制。 —些EEPROM和闪存设备具有被用于存储两个范围的电荷的浮置栅极,因此可以
在两个状态、例如擦除状态和编程状态之间编程/擦除该存储器元件。由于各个存储器元
件可以存储一位的数据,因此这种闪存设备有时被称为二进制闪存设备。 通过标识多个不同的允许/有效编程阈值电压范围来实现多状态(也称为多级)
闪存设备。各个不同的阈值电压范围与用于在存储器设备中编码的数据位组的预定值相对
应。例如,各个存储器元件当该元件可以被放置在与四个不同阈值电压范围相对应的四个
离散电荷能带(band)之一中时可以存储两位的数据。 典型地,在编程操作期间被施加到控制栅极的编程电压VreM被作为随时间增加幅 度的一系列脉冲施加。在一个可能的方法中,脉冲的幅度随各个连续的脉冲而增加预定的 步长大小,例如0. 2-0. 4V。 V皿可以被施加到闪存元件的控制栅极。在编程脉冲之间的时 间段中,进行验证操作。也就是说,在连续的编程脉冲之间读取并行编程的一组元件中的各 个元件的编程电平,来确定其是否等于或大于该元件被编程的验证电平。对于多状态闪存 元件的阵列,可以对于元件的各个状态进行验证步骤,以确定该元件是否已经到达了其数 据相关的验证电平。例如,能够在四个状态中存储数据的多状态存储器元件可能需要对三 个比较点进行验证操作。 另外,当编程EEPR0M或闪存设备、诸如在NAND(与非)串中的NAND闪存设备时, 典型地,VreM被施加到控制栅极,且位线接地,使得来自例如存储元件的单元或存储器元件 的沟道的电子被注入浮置栅极。当电子在浮置栅极中累积时,浮置栅极变为充负电,且存 储器元件的阈值电压升高,从而该存储器元件被考虑为处于编程状态。关于这种编程的 更多信息可以在美国专利6859397、题为"Source Side Self Boosting Technique For Non-VolatileMemory"和2005年2月3日公开的美国专利申请公开2005/0024939、题为 "Detecting Over Programmed Memory"中找至lj ;这两者通过全文弓l用并于此。
但是,存储器设备的一个问题是无论何时可能都需要减小功耗以例如减小电池消 耗和在使用非易失性存储器的便携式电子设备中产生的热。

发明内容
本发明通过提供在非易失性存储器中的读取操作期间减小功耗的方法来解决上
述和其它问题。具体地,当许多存储元件处于擦除、例如未编程状态时减小功耗。 在一个实施例中,一种用于操作非易失性存储器的方法,包括连同对与第一字线
相关的至少一个非易失性存储元件进行感测操作,确定是否存在与处于编程状态的第二字
线相关的至少一个非易失性存储元件。该方法还包括当所述确定过程确定了存在与处于
编程状态的第二字线相关的至少一个非易失性存储元件时,在进行感测操作同时向所述第
二字线施加第一电压;以及当所述确定过程确定了不存在与处于编程状态的第二字线相关
的至少一个非易失性存储元件时,在进行感测操作同时向所述第二字线施加第二电压。例
如,可以当其不包括处于编程状态的非易失性存储元件时、即当擦除了非易失性存储元件
时,向未选择字线施加较低电压。 在另一实施例中,一种用于操作非易失性存储器的方法,包括确定第一数量的字 线是否包括至少一个编程的非易失性存储元件,且对与第一字线相关的至少一个非易失性 存储元件进行感测操作,其中所述第一字线不在所述第一数量的字线中。该方法还包括当 所述确定过程确定了第一数量的字线包括至少一个编程的非易失性存储元件时,在进行感 测操作同时向所述第一数量的字线施加第一电压;以及当所述确定过程确定了第一数量的 字线不包括至少一个编程的非易失性存储元件时,在进行感测操作同时向所述第一数量的 字线施加第二电压。 在另一实施例中,一种用于操作非易失性存储器的方法,包括存储指示第一字 线是否从最后的擦除操作起已经被用在编程操作中的数据,并在与第二字线相关的至少一 个非易失性存储元件的感测操作期间,存取用于设置被施加到第一字线的电压的电平的数 据。


图1是NAND串的顶视图。 图2是图1的NAND串的等效电路图。 图3是NAND闪存元件的阵列的方块图。 图4描述了在衬底上形成的NAND串的剖面图。 图5描述了在读取操作期间被施加到一组字线的电压。 图6描述了检查在一组字线中的未选择字线的编程状态。 图7描述了在读取操作期间被施加到一组字线的电压,包括被施加到编程的字线 的较高读行程(read pass)电压和被施加到未编程的字线的较低读行程电压。
图8是说明在读取操作期间的某些波形的动作的时序图。 图9描述了用于设置在读取操作期间被施加到一组字线的电压的处理的流程图。
图10a描述了用于确定一组字线中的未选择字线是否已经被编程的第一处理的 流程图。
6
图10b描述了用于确定一组字线中的未选择字线是否已经被编程的第二处理的 流程图。 图10c描述了用于确定一组字线中的未选择字线是否已经被编程的第三处理的 流程图。 图10d描述了用于存储指示字线是否已经被编程的数据的处理的流程图。 图11是NAND闪存元件的阵列的方块图。 图12是使用单行/列解码器和读/写电路的非易失性存储器系统的方块图。 图13是使用双行/列解码器和读/写电路的非易失性存储器系统的方块图。 图14是描述感测块的一个实施例的方块图。 图15图示了将存储器阵列组织为用于所有位线存储器架构的块或用于奇偶存储 器架构的块的例子。 图16描述了具有单行程(single pass)编程的阈值电压分布的例子组。 图17描述了具有多行程(multi-pass)编程的阈值电压分布的例子组。 图18a-c示出了各种阈值电压分布,并描述了用于编程非易失性存储器的处理。 图19是描述用于编程非易失性存储器的处理的一个实施例的流程图。 图20描述了在编程期间被施加到非易失性存储元件的控制栅极的示例脉冲链。
具体实施例方式
本发明提供在非易失性存储器中的读取操作期间减小功耗的方法。
适用于实现本发明的存储器系统的一个例子使用NAND闪存结构,其包括在两个 选择栅极之间串联地排列多个晶体管。串联的晶体管和选择栅极被称为NAND串。图l是 示出一个NAND串的顶视图。图2是其等效电路。图1和2所示的NAND串包括串联且被 夹在第一选择栅极120和第二选择栅极122之间的四个晶体管,100、102、104和106。选 择栅极120选通NAND串与位线126的连接。选择栅极122选通NAND串与源极线(source line) 128的连接。通过向控制栅极120CG施加适当的电压来控制选择栅极120。通过向控 制栅极122CG施加适当的电压来控制选择栅极122。晶体管100、 102、 104和106的各个具有 控制栅极和浮置栅极。晶体管100具有控制栅极100CG和浮置栅极IOOFG。晶体管102包 括控制栅极102CG和浮置栅极102FG。晶体管104包括控制栅极104CG和浮置栅极104FG。 晶体管106包括控制栅极106CG和浮置栅极106FG。控制栅极100CG与字线WL3相连,控 制栅极102CG与字线WL2相连,控制栅极104CG与字线WL1相连,且控制栅极106CG与字线 WLO相连。还可以提供控制栅极作为字线的部分。在一个实施例中,晶体管100、102、104和 106各个都是存储元件,也被称为存储器单元。在其它实施例中,存储元件可以包括多个晶 体管,或者可以不同于图1和2所示的晶体管。选择栅极120被连接到选择线SGD(漏极选 择栅极(drain select gate))。选择栅极122被连接到选择线SGS (源极选择栅极(source select gate))。 图3是描述三个NAND串的电路图。使用NAND结构的闪存系统的典型架构将包括 若干NAND串。例如,在具有更多NAND串的存储器阵列中示出了三个NAND串320、340和 360。 NAND串的各个包括两个选择栅极和四个存储元件。虽然为了简化而示出了四个存储 元件,但是现代的NAND串可以例如具有达32或64个存储元件。
例如,NAND串320包括选择栅极322和327和存储元件323-326, NAND串340包 括选择栅极342和347和存储元件343-346, NAND串360包括选择栅极362和367和存储 元件363-366。各个NAND串被其选择栅极(例如,选择栅极327、347或367)连接到源极 线。选择线SGS被用于控制源极侧选择栅极。各种NAND串320 、340和360被选择栅极322、 342、362等中的选择晶体管连接到相应的位线321、341和361。这些选择晶体管由漏极选择 线SGD控制。在其它实施例中,选择线不必需在NAND串之间公用;也就是说,可以对不同的 NAND串提供不同的选择线。字线WL3被连接到存储元件323、343和363的控制栅极。字线 WL2被连接到存储元件324、344和364的控制栅极。字线WLl被连接到存储元件325、345 和365的控制栅极。字线WL0被连接到存储元件326、346和366的控制栅极。如可以看出 的,各个位线和相应NAND串包括存储元件的阵列或组的列。字线(WL3、WL2、WL1和WL0)包 括阵列或组的行。各个字线连接到行中的各个存储元件的控制栅极。或者,可以通过字线 本身提供控制栅极。例如,字线WL2提供存储元件324、344和364的控制栅极。实际上,一 个字线上能够有数千存储元件。 各个存储元件可以存储数据。例如,当存储一位数字数据时,存储元件的可能的阈 值电压(VTH)的范围被分为被分配了逻辑数据"1"和"0"的两个范围。在NAND型闪存的一 个例子中,V^在存储元件擦除之后是负的,且被定义为逻辑"l"。在编程操作之后的VTH为 正,且被定义为逻辑"0"。当VTH是负的且试图读时,存储元件将导通以指示正存储逻辑"1"。 当VTH是正的且试图读取操作时,存储元件将不导通,其指示存储逻辑"O"。存储元件还可 以存储多级信息,例如多位数字数据。在这种情况下,VTH值的范围被划分数据级数。例如, 如果存储了四级的信息,将存在被分配给数据值"11 "、" 10 "、"01"和"00 "的四个VTH范围。 在NAND型存储器的一个例子中,在擦除操作之后的VTH是负的,且被定义为"11"。正的VTH 值被用于"10"、"01"和"00"的状态。在被编程到存储元件中的数据和该元件的阈值电压 范围之间的具体关系取决于存储元件采纳的数据编码方案。例如,美国专利No. 6222762和 美国专利申请公开2004/0255090,两者被全文引用合并于此,描述了用于多状态闪存元件 的各种数据编码方案。 在被引用合并于此的美国专利No. 5386422、5522580、5570315、5774397、6046935、 6456528和6522580中提供了 NAND型闪存和其操作的相关例子。 当编程闪存元件时,编程电压被施加到该存储元件的控制栅极,且与该存储元件 相关的位线接地。来自该沟道的电子被注入到该浮置栅极。当电子在浮置栅极中累积时, 该浮置栅极变为充负电,且该存储元件的V^升高。为了向正被编程的存储元件的控制栅极 施加编程电压,该编程电压被施加在适当的字线上。如上所述,在NAND串的各个中的一个 存储元件共享同一字线。例如,当编程图3的存储元件324时,该编程电压将还被施加到存 储元件344和364的控制栅极。 图4描述了在衬底上形成的NAND串的剖面图。该图被简化且不按比例。NAND串 400包括在衬底490上形成的源极侧选择栅极406、漏极侧选择栅极424、和八个存储元件 408、410、412、414、416、418、420和422。在各个存储元件和选择栅极406和424的任意侧 上提供多个源极/漏极区域,其一个例子是源极/漏极区域430。在一个方法中,衬底490 使用三势阱(triple-well)技术,其包括在n势阱区域494中的p势阱区域492,且该n势 阱区域494又位于p型衬底区域496中。可以至少部分地在p势阱区域上形成NAND串及其非易失性存储元件。除具有VBIT UNE的电势的位线426之外,还提供具有VS。UKE的电势的 源极供电线404。还可以经由端子402向p势阱区域492施加电压,以及经由端子403向n 势阱区域494施加电压。 在读取操作期间,在所选字线、在该例中是与存储元件414相关的WL3上,提供控 制栅极电压V^。另外,回想到可以提供存储元件的控制栅极作为该字线的一部分。例如, WL0、WL1、WL2、WL3、WL4、WL5、WL6和WL7可以分别经由存储元件408、410、412、414、416、418、 420和422延伸。在一个可能的提升方案中,读行程电压VKEAD被施加到与NAND串400相关 的剩余字线。Vses和VseD分别被施加到选择栅极406和424。 图5描述了在读取操作期间被施加到一组字线500的电压。在该例子中,存在n条 字线,WLO到WLn-l,其以从WLO开始到WLn-l结束的字线顺序而被编程。注意,在一个可能 的方法中,该编程可以一次进展一条字线,在这种情况下,与WLO相关的存储元件被充分编 程到期望的编程状态,然后与WL1相关的存储元件被充分地编程到期望的编程状态,等等。 在该例子中的字线编程顺序是WLO、 WL1、 WL2......。 在另一可能的方法中,在多个行程中编程与字线相关的存储元件。例如,可能发生 以下步骤l)与WL0相关的存储元件被部分地编程,2)与WL1相关的存储元件被部分地编 程,3)与WL0相关的存储元件的编程完成,4)与WL2相关的存储元件被部分地编程,5)与 WL1相关的存储元件的编程完成,6)与WL3相关的存储元件被部分地编程,7)与WL2相关的 存储元件的编程完成,等等。在该情况下的字线编程顺序是WLO、 WL1、 WLO、 WL2、 WL1、 WL3、 WL2......。各种其它编程技术和字线编程顺序是可能的。 在某些情况下,需要块中全部存储元件、或其它组存储元件来存储数据。但是,在 其它情况下,仅仅需要存储元件中的一些来存储数据。因此,当随后进行读取操作时,不知 道已经用数据编程了存储元件组的全部还是一部分。没有用数据编程的存储元件通常处于 擦除状态。例如,当WL3是被选择用于读取的字线时,知道按字线编程顺序先前出现的字 线、例如WLO到WL2已经被编程。S卩,这些字线已经被用于编程相关存储元件,以便部分或 完全地编程相关的存储元件。另一方面,按字线编程顺序在所选字线之后出现的字线、例如 WL4到WLn-l具有未知的编程状态。即,WL3可能是或可能不是这组字线中的最后编程的字 线。除了该所选字线以外的字线被称为未选择字线。在该例子中,读行程电压、、,被施加 到未选择字线的各个。 但是,对于未选择字线的固定V皿D值的使用可能导致不必要的能量消耗。例如, 考虑数据页被写到WLO而没有其它页被写入到其它字线的情况,因此WL1到WLn-l的存储 元件仍然处于擦除状态。当读取在WLO上的存储元件的状态时,各个被编程的存储元件将 处于具有若干未编程的存储元件的NAND串中。另外,当存储元件处于擦除状态时NAND串 的电阻、&細较低。以下公式表达了 RNAND作为RSD即NAND串的源极-漏极区域和选择栅极 的源极和漏极侧的电阻、Vi即所施加的字线电压、和VTH即与字线相关的存储元件的阈值电
压、以及常量k的函数^備=^ffl + &生V'".因此,当在施加的字线电压V亂和阈值
^吸一1^// q
电压VTH之间的差高时RNAm低。例如,相比于当NAND串中的所有存储元件都处于最高编程 状态时,当NAND串中的所有存储元件都处于擦除状态时RNAND可能被砍半。另外,由于关系式&y, = y^" 和P = IV,越高的RNAm导致越高的1^。越高的功耗(P)和越高的
最大瞬时电流。 还注意,当字线被编程、例如被写入时可以使用"随机化"特性来保证在存储元件 中存储的数据样式是随机的。在这种情况下,将可能在各个NAND串中存在较少的处于最高 编程状态(例如"C"状态)的存储元件。 减小功耗的一种方法是降低V亂、即被施加到未选择字线的字线电压。对于例如基 于当前所选的字线的位置和字线编程顺序而已知为被编程的未选择字线,这由于该存储元 件的一些可以被编程为最高编程状态而可能不可行。而且,期望维持足够的空余来避免读 干扰。对于未被编程的未选择字线,被施加的字线电压可以被安全地减小,结果减小了功耗 而不增加读干扰。另一个期望的好处是减小了阈值电压分布。可以以各种方式来实现这些 优点。 图6描述了当检查在一组字线中的未选择字线的编程状态时被施加到一组字线 600的电压。确定在所选字线之后的字线是否被编程的一种可能的方法是检查预定字线 WLx的编程状态。例如,n = 32条字线,且WL3作为所选字线,则可以检查例如WL23的编程 状态。可以在与WL23相关的一个或多个存储元件中,或者,指示相关存储元件是否已经被 编程的其它位置存储标记。该标记是指示该字线是否从最后的擦除操作起已经被用在编程 操作中的数据。当顺序地读取字线时,例如,可以在读取WL0之前检查WL23标记一次,在这 种情况下,当读取WL1、 WL2......时读取吞吐量将不损失。 还可能例如在规律的读取操作之前发生的预读取操作中读取WL23的存储元件以 确定相关的存储元件是否已经被编程。例如,可以在最低读电平、例如Vra(见图16)处进 行单次感测操作。如果与字线相关的非易失性存储元件的全部均导通,则可以推出,它们未 编程。否则,至少一个非易失性存储元件被编程。另外,能够同时确定一组多个字线是否包 括至少一个编程的非易失性存储元件。这可以通过例如同时向多个字线施加最低读电平、 例如Vra来实现。如果与字线相关的非易失性存储元件中的至少一个仍然是截止,则可以 推出,至少一个非易失性存储元件被编程。否则,与多个字线相关的非易失性存储元件均未 编程。例如,可以向WL23-WL31施加最低读电平作为预读电压,来确定相关的存储元件是否 已经被编程。 如果与字线相关的存储元件已经被编程,则被施加到该字线的电压没有减小。如 果相关的存储元件还没有被编程,则被施加到该字线、以及按字线编程顺序在WLx之后的 字线的电压可以被减小。当所选字线按字线编程顺序在WLx之前时,可能发生编程状态检 查。例如,当所选字线是WLO到WLx-l时能够发生该检查。如果确定第一未选择字线已经 被编程,则还能够检查其它预定字线的编程状态。例如,n = 32条字线,且WL3作为所选字 线,则首先可以检查WL23的编程状态,如果WL23被编程,则可以检查WL27的编程状态。如 果WL27未编程,但WL23被编程,则可以减小例如被施加到WL27到WL31的字线电压。如果 WL27也被编程,则可以决定不减小任何所选字线电压。在另一例子中,WL7、WL15和WL23 (n =32)是可以检查其编程状态的候选。首先检查按字线编程顺序在所选字线之后的候选字 线。 例如,WL8作为要被读取的所选字线,则首先检查的候选字线是WL15。 WL7未被检
10查,因为其按字线编程顺序在所选字线之前出现,因此被假定为将被编程。如果WL15未被 编程,则向WL15到WL31施加减小的字线电压。如果WL15被编程,则检查WL23。如果WL23 未被编程,则向WL23到WL31施加减小的字线电压。如果WL23被编程,则不进行进一步的 检查,且不施加减小的字线电压。 因此,在一组字线中处于预定位置的一个或多个字线可以被检查以确定它们的编 程状态,且可以相应地设置字线电压。 另一方法是基于在该组字线中的当前所选字线的位置来适应地选择要被检查的 一个或多个字线。例如,首先被检查用于编程的字线可以是按字线编程顺序在当前字线之 后的给定数量的字线。例如,如果WL3是当前选择的字线,则被检查的字线可以是高8个字 线,例如,WLll。如果WLll未被编程,则可以向WL11到WL31施加减小的电压。如果WLll 被编程,则被检查的下一字线可以是WL19。如果WL19未被编程,则可以向WL19到WL31施 加减小的电压。如果WL19未被编程,则被检查的下一字线可以是WL27。如果WL27未被编 程,则可以向WL27到WL31施加减小的电压。如果WL27被编程,则不使用减小的字线电压。
通常,用于检查字线的编程状态的具体技术可以基于如下观察即当所选字线位 于按编程顺序相对较早时功耗的减小最大,且存在按编程顺序在所选字线之后的巨大量未 编程字线。这可以发生在例如当在较低字线上的存储元件被读取且在较高字线上的存储元 件还没有被编程时。 进一步结合图10a-c来讨论用于检查字线的编程状态的各种选择。
图7描述了在读取操作期间被施加到一组字线700的电压,包括被施加到编程的 字线的较高读行程电压和被施加到未编程字线的较低读行程电压。在此,所选字线WL3接 收控制栅极读电压,V^。确定WLx未编程,在该情况下,推断出WLx+l至lj WLn-l也未被编程。 因此,向WLx到WLn-l施加减小的字线电压,V^,,例如2-4V。 VKEAD电压应该足够高以导通 相关存储元件以允许读取所选存储元件,但不高到导致读干扰。在一种方法中,V^, = VDD, 供电电压。不知道在所选字线之后但在WLx之前的字线,例如WL4至ljWLx-l的编程状态。因 此,向WL4到WLx-l施加较高字线电压,V鹏M列如6V,其中VffiAM > VKEAD2。这些字线被视为 被编程作为保守措施。类似地,向已知为被编程的WL0到WL2施加VKEAM,因为WL0到WL2按 字线编程顺序在所选字线WL3之前。 在此提供的技术还可以在结合编程而出现的验证操作期间使用。但是,在编程期 间,已知在所选字线之后的字线未被编程(被擦除)。因此,可以向这些字线施加减小的电 压,而不进行任何编程状态检查。 在此提供的技术还可以被扩展到减小由于在验证和读取之间的NAND链电阻的变 化而导致的阈值电压分布扩大。取代仅观察WL23,例如,还可以观察WL31、 WL16和WL8,或 使用一些其它的方案来检测多少字线已经被写入。取决于在验证期间被写入的字线的数量 和被使用的VKEAD值,可以在读取期间补偿较高字线的VKEAD。 在另 一选项中,使用在VKEAD1和VKEAD2之间的中间电压。例如,取代向WLx-l施加 VffiAM且向WLx施加VKEAD2,而是我们能够向WLx-l施加VKEAD1,向WLx施加VKEAD1.5,且向WLx+l 施加V鹏"其中VffiAM > V鹏u > V鹏"这提供了在被施加的字线电压中的逐渐过渡。
图8是说明在读取/验证操作期间的某些具体波形的动作的时序图。大体上,在 读取和验证操作期间,所选字线或其它控制线被连接到一电压,该电压的电平被指定给各个读取和验证操作,以便确定所关心的存储元件的阈值电压是否已经达到了这种电平。在 施加了字线电压之后,测量该存储元件的传导电流以确定该存储元件是否被导通。如果测 量该传导电流大于某具体值,则假设该存储元件导通,且被施加到该字线的电压大于该存 储元件的阈值电压。如果测量传导电流不大于该具体值,则假设该存储元件不导通,且被施 加到该字线的电压不大于该存储元件的阈值电压。 存在在读取或验证操作期间测量存储元件的传导电流的许多方法。在一个例子 中,通过其允许(或不允许)包含该存储元件的NAND串来放电该位线的速率,来测量存储 元件的传导电流。在一段时间之后测量在该位线上的电荷,以观察它是否被放电。在另一 实施例中,所选存储元件的传导允许电流在位线上流动或不流动,这由在感测放大器中的 电容器由于电流的流动而是否被充电来测量。讨论这两种例子。 具体地,波形800描述了漏极侧选择栅极电压(SGD),波形805描述了被施加到已 知被编程或可能被编程的未选择字线的电压,波形810描述了被施加到已知未被编程的未 选择字线的电压,波形815描述了被施加到所选字线(例如,被选择用于读取/验证的字 线)的电压,波形820描述了源极侧选择栅极(SGS)电压(选项1),波形825描述了SGS电 压(选项2),波形830描述了 (被选择用于读取/验证的位线的)所选位线(BL)电压(选 项1),波形835描述了所选BL电压(选项2),且波形840描述了源极电压。另外,时间点 t0-t3在水平方向上延伸。 注意,存在描述的SGS和所选BL的两个版本。选项1描述了通过确定该位线是否 被放电来测量存储元件的传导电流的存储元件的阵列的读取/验证操作。选项2描述了通 过存储元件放电在感测放大器中的专用电容器的速率来测量存储元件的传导电流的存储 元件的阵列的读取/验证操作。 首先,将关于选项1来讨论在通过确定该位线是否已经被放电来测量存储元件的 传导电流时涉及的感测电路和存储元件的阵列的动作。 在tl之前,电压开始于稳态电压,接近OV的Vss。在tl,SGD和SGS(选项2)分别 升高到V,和V^(例如3. 5V)。未选的、编程的字线被升高到V皿M,而未选的、未编程的字线 被升高到较低值VKEAD2。通常,VKEAD应该足够高以导通相关存储元件以允许读取所选存储元 件,而未高到导致读干扰。VKEAD由于其导致未选存储元件导通并用作通行门(pass gate), 因此用作过驱动电压(overdrive voltage)。所选字线被升高到用于读取操作的VraK(控制 栅极读电压),或升高到用于验证操作的验证电平。在tl和t3之间在所选字线上的波形 被考虑为在感测操作期间使用的读脉冲。在一个方法中,所选BL(选项1)被预充电到大约 0. 7V。 在t2,NAND串可以控制该位线。也在t2,通过将SGS (选项1)升高到V^来导通该 源极侧选择栅极。这提供了路径来耗散(dissipate)在位线上的电荷。如果被选择用于读 取的存储元件的VTH大于VraK或被施加到所选字线的验证电平,则所选存储元件将不导通, 且该位线将不放电,如线832所示。如果在被选择用于读取的存储元件中的阈值电压低于 Vra或低于被施加到所选字线的验证电平,则被选择用于读取的存储元件将导通(导电), 且位线电压将耗散,如曲线834所示。在时间t2之后且时间t3之前的某点(由具体实施 方式确定),感测放大器确定该位线是否已经耗散了足够的量。在t2和t3之间,感测放大 器测量了评估的BL电压。在时间t3,所描述的波形被降低到Vss(或用于备用或恢复的另
12一值)。 接下来关于选项2讨论的是通过存储元件充电在感测放大器中的专用电容器的 速率来测量存储元件的传导电流的感测电路和存储元件阵列的动作。在tl, SGD被升高到 VseD,未选择的字线被升高到VKEAM或VKEAD2,且所选字线被升高到用于读取操作的Vra或到升 高用于验证操作的验证电平。在这种情况下,感测放大器保持位线电压恒定,而不论NAND 串正在做什么,因此感测放大器测量在位线被"箝位(clamp)"到该电压的情况下流动的电 流。在tl之后且在t3之前的某点(由具体实施方式
来确定),该感测放大器将确定在感测 放大器中的电容器是否耗散了足够的量。在t3,描述的波形将被降低到Vss (或用于备用或 恢复的另一值)。注意,在其它实施例中,可以改变某些波形的时序。 在图8中描述的处理可以在下一读取或验证电平处重复,其中不同的V^被施加 以感测与所选字线相关的存储元件的VTH是在对应的比较点以上还是以下。
图9描述了用于在读取操作期间设置被施加到一组字线的电压的处理的流程图。 在步骤900,读取操作开始。步骤905包括选择存储元件的字线来读取例如WLi。步骤910 包括例如通过读取与一条或更多条字线相关的编程状态标记,存取在由控制使用的存储器 中存储的数据,进行预读取操作或经由另一技术,来确定按编程顺序在WLi之后的字线是 否已经被编程。步骤915包括设置用于未选的、编程的字线的第一读行程电压V^皿,步骤 920包括设置用于具有未知编程状态的未选择字线的第一读行程电压VKEAM。步骤925包括 设置用于未选的、未编程字线的第二读行程电压VKEAD2,其中VKEffl2 < VKEAD1。步骤930包括开 始第一感测操作。步骤935包括设置用于所选字线的控制栅极读电压。步骤940包括读一 个或多个存储元件,且步骤945包括存储例如指示该存储元件的阈值电压是否大于读比较 电压的结果。如果存在下一感测操作,则在决定步骤950,重复在步骤935-945的处理。例 如,第一感测操作可以使用读比较值Vra,第二感测操作可以使用读比较值Vrb,且第三感 测操作可以使用读比较值Vrc(见图16)。读取操作在步骤955结束。 图10a描述了用于确定在一组字线中的未选择字线是否已经被编程的第一处理 的流程图。如所述,一个方法包括确定在一组字线中的预定位置处的字线是否已经被编程。 具体地,步骤lOOO包括开始确定按编程顺序在所选字线WLi之后的字线是否已经被编程的 处理。步骤1002包括确定按编程顺序在WLi之后的、在一组n个字线中的预定位置处的字 线WLx是否已经被编程。在结合图6前述的一个例子中,n = 32条字线,且WLx = WL23。 例如,在步骤1002处的确定可以包括读取在WLx上的存储元件或读取先前设置的状态标记 (步骤1004)。如果在决定步骤1006确定WLx被编程,且在决定步骤1008将不进行任何进 一步的编程状态检查,则在步骤1018设置第一读行程电压VKEAM用于未选、编程的字线WLO 到WLi-l和WLi+l到WLx,且在步骤1020设置第一读行程电压VKEAD1用于具有未知编程状态 的未选择字线、WLx+l到WLn-l。也就是说,对所有未选择字线使用V鹏M。例如,WLi =WL3, 且WLx = WL23,步骤1018包括设置用于WLO到WL2和WL4到WL23的VKEAM,且步骤1020包 括设置用于WL24到WL31的VKEAM。 如果在决定步骤1008进行另一编程状态检查,则处理进行到步骤1002,在此确定 新的字线WLx(对于x的不同值)已经被编程。作为例子,第一行程WLx二WL23,第二行程 WLx = WL27。如果在步骤1006新检查的字线被编程,且在步骤1008没有进行进一步检查, 则如所讨论地,进行步骤1018和1020。例如,WLi = WL3,且WLx = WL27,步骤1018包括设置WL0到WL2和WL4到WL27的VMAD1,且步骤1020包括设置WL28到WL31的VKEAD1。
如果在步骤1006所检查的字线未编程,则进行步骤1012-1016。步骤1012包括设 置用于未选、编程的字线WLO到WLi-1的VKEAD1,步骤1014包括设置用于具有未知编程状态 的未选择字线WLi+1到WLx-1的VKEAD1,步骤1016包括设置用于未选的、未编程的字线WLx 到WLn-1的较低的、第二读行程电压V鹏2。例如,WLi = WL = 3且WLx = WL23,步骤1012 包括设置WLO到WL2的V鹏m,步骤1014包括设置用于WL4到WL22的VffiAM,且步骤1016包 括设置WL23到WL31的V鹏2。 通常,对从按编程顺序更靠近所选字线(例如WL3)的字线(例如WL23)开始进行 到远离所选字线的字线(例如WL27)直到达到未编程字线(如果有的话)的字线,进行编 程状态检查。逆过程也可能,例如从按编程顺序远离所选字线(例如WL3)的字线(例如 WL27)开始进行到更接近所选字线的字线(例如WL23),直到达到未编程字线(如果有的 话),进行编程状态检查。 图10b描述了用于确定在一组字线中的未选择字线是否已经被编程的第二处理 的流程图。该方法包括在基于在一组字线中的所选字线的位置而确定的字线上进行编程状 态检查。具体地,步骤1040包括开始确定按编程顺序在所选字线WLi之后的字线是否已经 被编程的处理。步骤1042设置变量k为常量。步骤1044包括确定作为按编程顺序在WLi 之后的k条字线的字线WLi+k是否已经被编程。例如,n = 32条字线,WLi = WL3,且k = 8。在这种情况下,步骤1044包括确定WL11是否已经被编程。在步骤1044的确定可以包 括读取在WL11上的存储元件,或读例如先前设置的状态标记(步骤1046)。如果在决定步 骤1048确定编程了 WLi+k,且在决定步骤1050将不进行进一步的编程状态检查,则在步骤 1062,为未选的、编程的字线WLO到WLi-l和WLi-l到WLi+k设置第一读行程电压V皿m,在 步骤1064,为具有未知编程状态的未选择字线WLi+k+l至ljWLn-l设置第一读行程电压VKEAM。 也就是说,VKEAD1用于所有未选择字线。例如,WLi = WL3且k = 8,步骤1062包括设置WLO 到WL2和WL4到WL11的VKEAM,且步骤1064包括设置WL12到WL31的VKEAD1。
如果在决定步骤1050将进行另一编程状态检查,则在步骤1052将变量k递增该 常量。例如,在步骤1042, k = 8,在步骤1052, k = 16。在决定步骤1054,如果k不超过 最后字线(或例如在最后字线附近的一些其它指定的字线),用k的新值重复步骤1044和 1046。因此,评估作为离开先前检查的字线k条字线的新字线的编程状态。例如,当k二16 且WLi = WL3时,可以检查WL19的编程状态。如果在步骤1048不编程新检查的字线,则进 行步骤1056-1060。步骤1056包括设置用于未选择的、编程的字线WLO到WLi-l的VKEAM, 步骤1058包括设置用于具有未知编程状态的未选择字线WLi+l到WLi+k-l的VKEAD1,且步骤 1060包括设置用于未选的、未编程的字线WLi+k到WLn-l的较低的、第二读行程电压VKEAD2。 例如,WLi = WL3,且WLi+k = WL19,步骤1056包括设置用于WLO到WL2的VKEAD1,步骤1058 包括设置用于WL4到WL18的VKEAM,且步骤1060包括设置用于WL19到WL31的VKEAD2。
图10c描述了用于确定在一组字线中的未选择字线是否已经被编程的第三处理 的流程图。该方法包括对基于在一组字线中的所选字线和在该组字线中的一些字线的位置 而确定的字线进行编程状态检查。基本上,用于检查字线编程状态的递增量被表达为在所 选字线和最后字线之间的字线的数量的分数(fraction)。 具体地,步骤1070包括开始确定按编程顺序在所选字线WLi之后的字线是否已经被编程的处理。步骤1072设置变量k二 (n-i)/常量。例如,WLi二3且n二32,且常量二 3,则k二 (32-3)/3 = 9.6。该值被四舍五入为最接近的整数、例如10。步骤1074包括确 定作为按编程顺序在WLi之后的k条字线的字线WLi+k是否已经被编程。例如,WLi = WL3 且k = 10。在这种情况下,步骤1074包括确定WL13是否已经被编程。在步骤1074的确定 可以包括读取在WL13上的存储元件,或读取例如先前设置的状态标记(步骤1076)。如果 在决定步骤1078确定编程了 WLi+k,且在决定步骤1080将不进行进一步的编程状态检查, 则在步骤1092,为未选的、编程的字线WLO到WLi-l和WLi+l到WLi+k设置VKEAD1,且在步骤 1094,为具有未知编程状态的未选择字线WLi+k+l到WLn-l设置VKEAM。也就是说,VKEAD1用 于所有未选择字线。例如,如果WLi = WL3且k = 10,步骤1092包括设置用于WLO到WL2 和WL4到WL13的VKEAM,且步骤1094包括设置用于WL14到WL31的VKEAD1。
如果在决定步骤1080将进行另一编程状态检查,则在步骤1082递增变量k。例 如,在步骤1072, k = IO,在步骤1082, k = 20。在决定步骤1084,如果k不超过最后字线 (或例如靠近最后的字线的一些其它指定的字线),则用k的新值来重复步骤1074和1076。 因此,评估作为离开先前检查的字线k条字线的新字线的编程状态。例如,当k = 20且WLi =WL3时,可以检查WL23的编程状态。如果在步骤1078未编程新检查的字线,则进行步骤 1086-1090。步骤1086包括设置用于未选的、编程的字线WLO到WLi-l的VKEAD1,步骤1088 包括用于具有未知编程状态的未选择字线WLi+l到WLi+k-l的VKEAD1,且步骤1090包括设 置用于未选的、未编程的字线WLi+k到WLn-l的较低的、第二读行程电压V皿『例如,如果 WLi = WL3且WLi+k = WL23,则步骤1086包括设置用于WLO到WL2的VMAD1,步骤1088包括 设置用于WL4到WL22的VKEAM,且步骤1090包括设置用于WL23到WL31的VMAD2。
如果通过步骤1082进行另一行程,则k接下来被递增到30。 可以使用各种其它技术来用于选择用于编程状态检查的字线。例如,在所选择的 字线之间的递增量不需要是常量,而是可以改变。作为例子,可以初始使用较大的递增量来 尝试定位未编程的字线。然后,可以使用较小的递增量。另外,递增的方向可以朝向和/或 远离所选字线。例如,如果WL3作为所选字线,且n = 32条字线,则首先选择的字线可以是 WL23,如果WL23未被编程,则然后是WL8,如果WL8未被编程,然后例如是WL16。也就是说, 如果WL23未被编程,则可期望尝试定位第一未编程的字线,或更接近于第一未编程的字线 的未编程字线。在这种情况下,WL8被选择为比WL23更接近WL3的字线。但是,如果表明 太冒进,例如,WL8表明被编程,则该技术通过检查在WL8和WL23之间的WL16来倒退。该 方法试图在第一个未编程的字线上收敛(converge)。取决于期望的精确性的程度和可以容 纳的负荷量,例如可以在少量字线内精确地或以期望的精确程度来确定该第一个未编程的 字线。 图10d描述了用于存储指示字线是否已经被编程的数据的处理的流程图。描述了 在擦除和编程非易失性存储器过程中的事件的典型顺序。步骤1092描述了在存储元件的 块或其它组中的存储元件的擦除。步骤1093描述了存储元件的编程。在步骤1094,对于各 个编程的字线,或对于所选择的编程的字线,存储指示已经编程了该字线的数据。例如,这 可以包括在编程的字线上的一个(或多个)存储元件中或其它位置设置标记(步骤1095), 所述其它位置例如在该组字线中的另一个字线中的另一存储元件中、或在另一组字线中的 存储元件中。或者,可以在由该控制所使用的存储器中的数据结构中、例如以如下形式WL=^标记=编程的,来存储数据(步骤1096)。在步骤1097,随后存取该数据以用于在读取或其它感测操作期间设置最优未选择字线电压,如所述。 图11图示了 NAND存储元件的阵列1100的例子,诸如图1和2示出的那些。沿着各个列,位线1106被耦接到NAND串1150的漏极选择栅极的漏极端子1126。沿着NAND串的每行,源极线1104可以连接NAND串的源极选择栅极的所有源极端子1128。在美国专利No. 5570315 ;5774397和6046935中发现NAND结构阵列和其操作的例子作为存储器系统的一部分。 存储元件的阵列被划分为大量存储元件块。对于闪存EEPROM系统来说公知的是,块是擦除的单位。也就是说,各个块包含了一起被擦除的最小数量的存储元件。各个块被典型地划分为多个页。页是编程的单位。在一个实施例中,各个页可以被划分为段,且段可以包含作为基本编程操作在一次写入的最小数量的存储元件。典型地在一行存储元件中存储一页或多页数据。 一页可以存储一个或多个扇区。 一个扇区包括用户数据和开销(overhead)数据。开销数据典型地包括已经从该扇区的用户数据计算的纠错码(ECC)。当数据正被编程到阵列中时,控制器的部分(以下描述)计算ECC,且当数据正从该阵列读出时也检查该ECC。或者,ECC和/或其它开销数据被存储在与它们所属的用户数据不同的页或甚至不同的块中。 用户数据的扇区典型地是512字节,对应于在磁盘驱动器中的扇区的大小。开销数据典型地是另外的16-20字节。大量页形成块,从8页起到任何位置,例如直到32、64、128或更多页。在一些实施例中,一行NAND串构成块。 在一个实施例中,通过将p势阱升高到擦除电压(例如20V)持续足够的时间段并在源极和位线浮置时将所选块的字线接地,来擦除存储器存储元件。由于电容耦接,未选择字线、位线、选择线、和c源极(c-source)也升高到擦除电压的大分数(significantfraction)。因此典型地,通过Fowler-Nordheim隧道机制,向所选存储元件的隧道氧化层施加强电场,且随着浮置栅极的电子被发射到衬底侧,擦除了所选存储元件的数据。随着电子从浮置栅极向P势阱区域传输,所选存储元件的阈值电压降低。可以对整个存储器阵列、分离的块或存储元件的另一单元进行擦除。 图12是使用单个行/列解码器和读/写电路的非易失性存储器系统的方块图。该示了根据本发明的一个实施例的具有用于并行地读和编程存储元件的页的读/写电路的存储器设备1296。存储器设备1296可以包括一个或多个存储器模(die) 1298。存储器模1298包括存储元件的二维阵列1100、控制电路系统1210、和读/写电路1265。在一些实施例中,存储元件的阵列可以是三维的。可由字线经由行解码器1230且由位线经由列解码器1260来寻址该存储器阵列1100。读/写电路1265包括多个感测块1200,并允许并行地读或编程存储元件的页。典型地,控制器1250被包括在同一存储器设备1296(例如,可移除存储卡)中,作为一个或多个存储器模1298。命令和数据经由线1220在主机和控制器1250之间传输,且经由线1218在控制器和一个或多个存储器模1298之间传输。
控制电路系统1210与读/写电路1265合作以对存储器阵列1100进行存储器操作。控制电路系统1210包括状态机1212、芯片上地址解码器1214、升压控制1215、和功率控制模块1216。状态机1212提供存储器操作的芯片级控制。芯片上地址解码器1214提供在由主机或存储器控制器使用的硬件地址与由解码器1230和1360使用的硬件地址之间的
16地址接口。升压控制1215可以用于设置升压模式,包括确定用于起始源极侧和漏极侧升压的时序,如在此讨论的。功率控制模块1216控制在存储器操作期间被供应到字线和位线的功率和电压。 在一些实施方式中,图12的组件中的一些可以被组合。在各种设计中,除了存储元件阵列1100,一个或多个组件(单独或组合的)可以被考虑为管理电路。例如,一个或多个管理电路可以包括控制电路系统1210、状态机1212、解码器1214/1260、功率控制1216、感测块1200、读/写电路1265、控制器1250等中的任何一个或组合。 图13是使用双行/列解码器和读/写电路的非易失性存储器系统的方块图。在此,提供了如图12所示的存储器设备1296的另一布置。以对称的方式,在该阵列的相对侧上实现由各种外围电路对存储器阵列1100的存取,以便将在每侧上的存取线和电路系统的密度减半。因此,行解码器被分裂为行解码器1230A和1230B,且列解码器被分裂为列解码器1260A和1260B。类似地,读/写电路被分裂为从阵列1100的底部连接到位线的读/写电路1265A和从阵列1100的顶部连接到位线的读/写电路1265B。以此方式,读/写模块的密度基本上减小了一半。图13的设备还可以包括控制器,如上对于图12的设备所述。
图14是描述感测块的一个实施例的方块图。个体的感测块1200被分为称为感测模块1280的核心部分、和公共部分1290。在一个实施例中,将存在对于各个位线的分离的感测模块1280和对于一组多个感测模块1280的一个公共部分1290。在一个例子中,感测块将包括一个公共部分1290和八个感测模块1280。在一组中的感测模块的各个将经由数据总线1272与相关的公共部分通信。关于进一步的细节,参考美国专利申请公开No. 2006/0140007,题为"Non-Volatile Memory and Method with Shared Processing foran Aggregateof Sense Amplifiers", 2006年6月29日公布,且其全部内容通过引用包含于此。 感测模块1280包括感测电路系统1270,其确定在连接的位线中的传导电流高于还是低于预定阈值电平。感测模块1280还包括被用于设置在连接的位线上的电压情况的位线锁存器1282。例如,在位线锁存器1282中锁存的预定状态将导致连接的位线被拉到状态指定编程禁止(例如Vdd)。 公共部分1290包括处理器1292、一组数据锁存器1294、和在这组数据锁存器1294和数据总线1220之间耦接的1/0接口 1296。处理器1292进行计算。例如,其功能之一是确定在被感测的存储元件中存储的数据并在这组数据锁存器中存储确定的数据。这组数据锁存器1294被用于在读取操作期间存储由处理器1292确定的数据位。其还用于在编程操作期间存储从数据总线1220输入的数据位。所输入的数据位表示意图被编程到该存储器中的写数据。1/0接口 1296提供在数据锁存器1294和数据总线1220之间的接口。
在读或感测期间,该系统的操作在状态机1212的控制下,该状态机1212控制将不同的控制栅极电压供应到寻址的存储元件。随着其经过与由该存储器支持的各种存储器状态对应的各种预定控制栅极电压来步进,感测模块1280可以途经这些电压之一,且将经由总线1272从感测模块1280向处理器1292提供输出。此时,处理器1292通过考虑感测模块的途经事件和关于经由输入线1293来自状态机的关于被施加的控制栅极电压的信息,来确定得到的存储器状态。然后,其计算该存储器状态的二进制编码,并将得到的数据位存储到数据锁存器1294中。在核心部分的另一实施例中,位线锁存器1282用于双重用途,作为用于锁存感测模块1280的输出的锁存器,以及作为如上述的位线锁存器。 预料到一些实施方式将包括多个处理器1292。在一个实施例中,各个处理器1292
将包括输出线(未示出),以便各个输出线被线或(wired-0R)连接到一起。在一些实施例
中,在被连接到线或的线之前反转该输出线。该配置使能在编程验证处理期间快速确定何
时完成编程处理,因为接收了线或的状态机可以确定正被编程的所有位何时到达期望的电
平。例如,当各个位都到达了其期望的电平时,对于该位的逻辑零将被发送到线或的线(或
数据1被反转)。当所有位输出数据0 (或被反转的数据1)时,则状态机知道要终止该编程
处理。因为各个处理器与八个感测模块通信,因此该状态机需要读取线或的线八次,或向处
理器1292添加逻辑以积累相关位线的结果,以便状态机仅需要读线或的线一次。类似地,
通过正确地选择逻辑电平,该全局状态机可以检测第一位何时改变其状态及相应地改变算法。 在编程或验证期间,将要被编程的数据从数据总线1220存储在这组数据锁存器1294中。在状态机的控制下的该编程操作包括被施加到被寻址的存储元件的控制栅极的一系列编程电压脉冲。各个编程脉冲之后跟随读回(验证),以确定该存储元件是否已经被编程到期望的存储器状态。处理器1292监视相对于期望的存储器状态的该读回的存储器状态。当这两者一致时,该处理器1292设置位线锁存器1282,以便使得该位线被拉到状态指定编程禁止。这禁止了耦接到该位线的存储元件进一步编程,即使在其控制栅极上出现了编程脉冲。在其它实施例中,该处理器初始地载入位线锁存器1282,且在验证处理期间,该感测电路系统将其设置为禁止值。 数据锁存栈1294包含对应于该感测模块的数据锁存器的栈。在一个实施例中,每个感测模块1280存在三个数据锁存器。在一些实施方式中(但不要求),数据锁存器被实现为移位寄存器,以便其中存储的并行数据被转换为用于数据总线1220的串行数据,反之亦然。在优选实施例中,对应于m个存储元件的读/写块的所有数据锁存器可以被链接到一起以形成块移位寄存器,以便可以通过串行传输来输入或输出数据块。具体地,r个读/写模块的库(bank)被适配,以便它的一组数据锁存器中的各个将顺序地将数据移位到数据总线中/或移位出数据总线,如同它们是用于整个读/写块的移位寄存器的部分。
关于非易失性存储设备的各种实施例的结构和/或操作的另外的信息可以在以下发现(l)美国专利7196931,2007年3月27日公告,题为"Non-Volatile Memory AndMethod With Reduced Source Line Bias Errors" ; (2)美国专利7023736, 2006年4月4日公告,题为"Non-Volatile MemoryAnd Method with Improved Sensing" ; (3)美国专利7046568,2006年5月16日公告,题为"Memory Sensing Circuit And Method For LowVoltage0peration" ; (4)美国专利申请公开2006/0221692, 2006年10月5日公布,题为"Compensating for Coupling During Read Operations of Non-VolatileMemory,,;禾口(5)美国专利申请公开No. 2006/0158947,2006年7月20日公布,题为"Reference SenseAmplifier For Non-Volatile Memory"。所有这五个上面列出的专利文件其全文通过引用合并于此。 图15图示了将存储器阵列组织为全位线存储器结构的块或奇偶存储器结构的块的例子。描述了存储器阵列1500的示例结构。作为一个例子,描述了被划分为1024个块的NAND闪存EEPR0M。在各个块中存储的数据可以被同时擦除。在一个实施例中,该块
18是同时被擦除的存储元件的最小单位。在各个块中,在该例子中,存在对应于位线BLO、
BL1......BL8511的8512个列。在称为全位线(ABL)结构(结构1510)的一个实施例中,
在读和编程操作期间,可以同时选择块的所有位线。沿着公共字线且被连接到任何位线的存储元件可以同时被编程。 在所提供的例子中,串联连接64个存储元件和两个哑(dummy)存储元件以形成NAND串。存在64个数据字线和两个哑字线WL-dO和WL-dl,其中,各个NAND串包括64个数据存储元件和两个哑存储元件。在其它实施例中,NAND串可以具有多于或少于64个数据存储元件和两个哑存储元件。数据存储器单元可以存储用户或系统数据。哑存储器单元典型地不用于存储用户或系统数据。 NAND串的一个端子经由(被连接到选择栅极漏极线SGD的)漏极选择栅极被连接到对应的位线,且另一端子经由(被连接到选择栅极源极线SGS的)源极选择栅极被连接到c源极。 在一个实施例中,称为奇偶结构(结构1500),位线被划分为偶数位线(BLe)和奇数位线(BLo)。在这种情况下,沿着公共字线并被连接到奇数位线的存储元件同时被编程,而沿着公共字线并连接到偶数位线的存储元件在另一时间编程。数据可以被编程到不同的块,并同时从不同的块读出。在各个块中,在该例子中,存在被划分为偶数列和奇数列的8512个列。 在读和编程操作的一个配置期间,同时选择4256个存储元件。所选的存储元件具有相同的字线和相同种类的位线(例如,偶数或奇数)。因此,形成逻辑页的532字节的数据可以同时被读取或编程,且该存储器的一个块可以存储至少八个逻辑页(四条字线,各个具有奇数和偶数页)。对于多状态存储元件,当各个存储元件存储了两位数据时,其中这两位中的各个被存储在不同的页中,一个块存储了 16个逻辑页。还可以使用其它尺寸的块和页。 对于ABL或奇偶结构,可以通过将p势阱升高到擦除电压(例如20V)并将所选块的字线接地来擦除存储元件。源极和位线浮置。可以对整个存储器阵列、分离的块、或作为存储器设备的一部分的另一单元的存储元件进行擦除。从存储元件的浮置栅极向P势阱区域传输电子,以便存储元件的VTH变为负。 在读取和验证操作中,选择栅极(SGD和SGS)被连接到在2. 5V到4. 5V的范围内的电压,且未选择字线(当WL2是所选字线时,例如是WLO、 WL1和WL3)被升高到读行程电压VKEffl(典型地,在4. 5V到6V的范围内的电压),以使得晶体管作为通行门操作。较低的VKEffl可以被用于一些字线,如讨论的。所选字线WL2被连接到一电压,该电压的电平被指定给各个读取和验证操作,以便确定所关心的存储元件的VTH高于这种电平还是低于这种电平。例如,在对于两电平的存储元件的读取操作中,所选字线WL2可以接地,以便检测V^是否高于0V。在对于两电平的存储元件的验证操作中,所选字线WL2被连接到例如0. 8V,以便验证VTH是否到达了至少0.8V。源极和p势阱处于OV。假设为偶数位线(BLe)的所选位线被预充电到例如0. 7V的电平。如果该VTH高于在该字线上的该读取或验证电平,则与所关心的存储元件相关的位线(BLe)的电势电平由于非导通的存储元件而维持在高电平。另一方面,如果该V^低于该读取或验证电平,则所关心的位线(BLe)的电势电平降低到例如低于0. 5V的低电平,因为导电存储元件对该位线放电。因此,可以通过被连接到该位线的电压比较器感测放大器来检测该存储元件的状态。 根据现有的已知技术来进行上述擦除、读取和验证操作。因此,本领域技术人员可以改变所说明的许多细节。还可以使用本领域中已知的其它擦除、读取和验证技术。
图16描述了阈值电压分布的例子组。对于各个存储元件存储两位数据的情况,提供该存储元件阵列的例子VTH分布。对于擦除的存储元件,提供第一阈值电压分布E。还描述了用于编程的存储元件的三个阈值电压分布A、B和C。在一个实施例中,在E分布中的阈值电压是负的,且在A、 B和C分布中的阈值电压是正的。 各个不同的阈值电压范围对应于用于这组数据位的预定值。在被编程到该存储元件中的数据和该存储元件的阈值电压电平之间的具体关系取决于为该存储元件而采纳的数据编码方案。例如,美国专利No. 6222762和美国专利申请公开No. 2004/0255090, 2004年12月16日公布,这两者整体通过引用合并于此,描述了用于多状态闪存存储元件的各种数据编码方案。在一个实施例中,使用Gray码分配来将数据值分配给阈值电压范围,以便如果浮置栅极的阈值电压错误地偏移到其相邻的物理状态,将仅影响一位。 一个例子将"11"分配给阈值电压范围E(状态E),将"10"分配给阈值电压范围A(状态A),将"00"分配给阈值电压范围B(状态B),且将"01"分配给阈值电压范围C(状态C)。但是,在其它实施例中,不使用Gray码。虽然示出了四个状态,但是还可以结合包括那些包括多于或少于四个状态的其它多状态结构来使用本发明。 还提供三个读参考电压,Vra、 Vrb和Vrc用于从存储元件读取数据。通过测试给定存储元件的阈值电压高于还是低于Vra、Vrb和Vrc,该系统可以确定该状态,例如该存储元件所处的编程情况。 另外,提供三个确认参考电压Vva、 Vvb和Vvc。当这些存储元件存储另外的状态时,可以使用另外的读取和参考值。当将存储元件编程为状态A时,该系统将测试那些存储元件是否具有大于或等于Vva的阈值电压。当将存储元件编程为状态B时,该系统将测试存储元件是否具有大于或等于Vvb的阈值电压。当将存储元件编程为状态C时,该系统将确定存储元件是否具有大于或等于Vvc的阈值电压。 在一个实施例中,已知为全顺序编程,存储元件可以从擦除状态E直接编程到编程状态A、B或C中的任何一个。例如,要被编程的存储元件群(population)可以首先被擦除,以便在该群中的所有存储元件处于擦除状态E。然后,诸如由图20的控制栅极电压序列描述的一系列编程脉冲将被用于将存储元件直接编程为状态A、 B或C。虽然,一些存储元件正从状态E被编程到状态A,但是其它存储元件正从状态E被编程到状态B,且/或从状态E被编程到状态C。当在所选字线WLi上将状态E编程到状态C时,与WLi-l下的相邻浮置栅极耦接的寄生量是最大化的,因为WLi下的浮置栅极上的电荷量中的改变与当从状态E编程到状态A或从状态E编程到状态B时的电压的改变相比最大。当从状态E编程到状态B时,与相邻浮置栅极耦接的量减小,但仍然显著。当从状态E编程到状态A时,耦接的量甚至进一步减小。因此,随后读WLi-l的各个状态所需要的校正量将取决于在WLi上的相邻存储元件的状态而改变。 图17图示了编程存储两个不同页即较低页和较高页的数据的多状态存储元件的二行程技术的例子。描述了四个状态状态E(11)、状态A(10)、状态B(00)和状态C(01)。对于状态E,两页都存储"1"。对于状态A,较低页存储"0",且较高页存储"1"。对于状态
20B,两页存储"0"。对于状态C,较低页存储"1",且较高页存储"0"。注意,虽然具体位样式已经被分配给各个状态,但是还可以分配不同的位样式。 在第一编程行程中,根据要被编程到较低逻辑页中的位来设置该存储元件的阈值电压电平。如果该位是逻辑"l",则由于其早前被擦除所以处于适当的状态,因此该阈值电压不改变。但是,如果要被编程的该位是逻辑"O",该存储元件的阈值电平增加到状态A,如箭头1100所示。这终止了第一编程行程。 在第二编程行程中,根据被编程到较高逻辑页中的位来设置该存储元件的阈值电压电平。如果该较高逻辑页位要存储逻辑"1 ",则由于取决于较低页位的编程,该存储元件处于状态E或A中的一个,其两者携带了较高页位"1 ",因而不发生编程。如果该较高页位是逻辑"0",则该阈值电压偏移。如果该第一行程导致了该存储元件维持在擦除状态E,则在第二阶段,该存储元件被编程以便该阈值电压被升高到状态C内,如箭头1720所示。如果该存储元件由于第一编程行程而已经被编程为状态A,则在第二行程中该存储元件被进一步编程,以便该阈值电压增加到状态B内,如箭头1710所示。该第二行程的结果是将该存储元件编程为被指定用于存储较高页的逻辑"O"的状态,而不改变较低页的数据。在图16和图17中,与在相邻字线上的浮置栅极的耦接量取决于最终状态。 在一个实施例中,如果足够的数据被写入以填满整个页,则可以建立进行全顺序写的系统。如果对于全部页没有写入足够的数据,则编程处理可以用接收的数据来编程较低页编程。当接收到随后的数据时,该系统将编程较高页。在另一实施例中,该系统可以以编程较低页的模式开始写,并且如果随后接收足够的数据以填满整个(或大部分)字线的存储元件,则转换到全顺序编程模式。这种实施例的更多细节在如下公开美国专利申请公开No. 2006/0126390,题为"Pipelined Programming of Non-Volatile MemoriesUsingEarly Data", 2006年6月15日公开,其全部内容通过引用合并于此。
图18a-c公开了用于编程非易失性存储器的另一处理,其通过对于任何具体存储元件,在写入到关于先前页的相邻存储元件之后写入到关于具体页的该具体存储元件,来减小浮置栅极对浮置栅极耦接的影响。在一个示例实施方式中,非易失性存储元件使用四个数据状态,每个存储元件存储两位数据。例如,假设状态E是擦除状态,且状态A、 B和C是编程状态。状态E存储数据ll。状态A存储数据01。状态B存储数据10。状态C存储数据00。这是非Gray编码的例子,因为两个位均在相邻状态A和B之间改变。还可以使用将数据向物理数据状态的其它编码。各个存储元件存储了两页数据。为了参考的目的,数据的这些页将被称为较高页和较低页;但是,它们可以被给予其它标签。参考状态A,较高页存储位0,且较低页存储位1。参考状态B,较高页存储位1,且较低页存储位0。参考状态C,两页都存储位数据O。 该编程处理是两步处理。在第一步中,编程较低页。如果较低页维持数据l,则该存储元件状态维持在状态E。如果该数据要被编程为O,则该存储元件的电压的阈值被升高,以便该存储元件被编程为状态B'。图18a因此示出了存储元件从状态E到状态B'的编程。状态B'是状态B的过渡状态;因此,验证点被描述为Vvb',其低于Vvb。
在一个实施例中,在将存储元件从状态E编程到状态B'之后,在NAND串中的其相邻存储元件(WLn+1)将关于其较低页而被编程。例如,回看图2,在编程了存储元件106的较低页之后,将编程存储元件104的较低页。在编程了存储元件104之后,如果存储元件104具有从状态E升高到状态B'的阈值电压,则浮置栅极对浮置栅极耦接的影响将升高存储元件106的明显的阈值电压。这将导致将状态B'的阈值电压分布扩大到如图18b的阈值电压分布1850所示的那样的效果。当编程较高页时,将补偿该阈值电压分布的这样的明显扩大。 图18c描述了编程较高页的处理。如果该存储元件处于擦除状态E且较高页维持在l,则该存储元件将维持在状态E。如果该存储元件处于状态E,且其较高页数据要被编程到0,则该存储元件的阈值电压将被升高,以便该存储元件处于状态A。如果该存储元件曾经处于中间阈值电压分布1850,且该较高页数据维持在l,则该存储元件将被编程到最终状态B。如果该存储元件处于中间阈值电压分布1850,且该较高页数据要变为数据0,则该存储元件的阈值电压将被升高以便该存储元件处于状态C。由图18a-c所示的处理减小了浮置栅极对浮置栅极耦接的影响,因为仅相邻存储元件的较高页编程将具有对给定的存储元件的明显的阈值电压的影响。交替的状态编码的例子是当较高页数据是1时从分布1850移动到状态C,且当较高页数据是0时移动到状态B。 虽然,图18a-c提供了关于四个数据状态和两页数据的例子,但是,所教导的概念可以被应用于多于或少于四个状态且不同于两页的其它实施方式。 图19是描述用于编程非易失性存储器的方法的一个实施例的流程图。在一个实施方式中,在编程之前,存储元件被擦除(以块或其它单位)。在步骤1900,"数据载入"命令由控制器发出,且由控制电路系统1210接收输入。在步骤1905,从控制器或主机向解码器1214输入指定页地址的地址数据。在步骤1910中,用于所寻址的页的编程数据的页被输入到数据缓冲器用于编程。该数据被锁存在适当的锁存器组中。在步骤1915中,由控制器向状态机1212发出"编程"命令。 由"编程"命令触发,使用被施加到适当的所选字线的图20的脉冲链2000的步进编程脉冲,在步骤1910中锁存的数据将被编程到由状态机1212控制的所选存储元件中。在步骤1920中,编程电压V皿被初始化到开始脉冲(例如,12V或其它值),且由状态机1212维持的编程计数器(PC)被初始化到0。在步骤1930,第一 V皿脉冲被施加到所选字线,以开始编程与所选字线相关的存储元件。如果逻辑"O"被存储在具体数据锁存器中,指示应该编程对应的存储元件,则对应的位线接地。另一方面,如果逻辑"l"被存储在具体锁存器中,指示该对应的存储元件应该维持在其当前的数据状态,则对应的位线被连接到Vdd以禁止编程。 在步骤1935中,验证所选存储元件的状态。如果检测到所选存储元件的目标阈值电压到达了适当的电平,则在对应的数据锁存器中存储的数据被改变为逻辑"1"。如果检测到该阈值电压还没有到达适当的电平,则在对应的数据锁存器中存储的数据没有改变。以此方式,具有在其对应的数据锁存器中存储的逻辑"l"的位线不需要被编程。当所有数据锁存器都存储逻辑"l"时,该状态机(经由上述线或类型的机制)得知已经编程了所有选择的存储元件。在步骤1940中,检查所有数据锁存器是否都存储了逻辑"1"。如果所有数据锁存器都存储了逻辑"1 ",则由于所有选择的存储元件都被编程且验证,因此编程处理完成且成功。 如果在步骤1940中确定不是所有数据锁存器都存储逻辑"l",则该编程处理继续。在步骤1950中,针对编程极限值PCmax来检查编程计数器PC。编程极限值的一个例子是20 ;但是,还可以使用其它数。如果编程计数器PC不小于PCmax,则编程处理失败,且在 步骤1955报告"失败(FAIL)"的状态。如果编程计数器PC小于PCmax,则VreM增加了该步 长,且在步骤1960递增该编程计数器PC。然后,该处理循环回到步骤1930以施加下一 VreM 脉冲。 图20描述了在编程期间被施加到非易失性存储元件的控制栅极的示例脉冲 链200、和在脉冲链期间出现的升压模式的切换。该脉冲链2000包括被施加到被选择用 于编程的字线的一系列编程脉冲2005、2010、2015、2020、2025、2030、2035、2040、2045、
2050......。在一个实施例中,该编程脉冲具有以12V开始对于各个连续的编程脉冲递增
例如0. 5V的增量,直到达到最大20V的电压VreM。在编程脉冲之间存在验证脉冲。例如,验 证脉冲组2006包括三个验证脉冲。在一些实施例中,可以存在数据被编程到的各个状态例 如状态A、 B和C的验证脉冲。在其它实施例中,可以存在更多或更少的验证脉冲。在每组 中的验证脉冲可以具有例如Vva、Vvb和Vvc(图17)或Vvb'(图18a)的幅度。
如所述,例如,在编程脉冲之前和期间,被施加到字线以实现升压模式的电压当发 生编程时被施加。实际上,升压模式的升压电压可以在各个编程脉冲略微之前开始,在各个 编程脉冲之后移除。另一方面,例如,在发生在编程脉冲之间的验证处理期间,不施加升压 电压。相反,典型地小于升压电压的读电压被施加到未选择字线。读电压具有当当前编程 的存储元件的阈值电压正与验证电平比较时足够用于维持NAND串中先前编程的存储元件 的幅度。 已经为了例示和描述的目的呈现了本发明的前述详细描述。不意图穷举或限制本 发明为公开的精确形式。在上述教导之下,许多修改和变化是可能的。选择所述实施例以 便最好地说明本发明和其实际应用的原理,以因此使得本领域技术人员能够最好地利用在 各种实施例中且具有适用于构想的具体使用的各种修改的本发明。意图本发明的范围由所 附的权利要求来限定。
2权利要求
一种用于操作非易失性存储器的方法,包括连同对与第一字线相关的至少一个非易失性存储元件进行感测操作,确定是否存在与处于编程状态的第二字线相关的至少一个非易失性存储元件;当所述确定过程确定了存在与处于编程状态的第二字线相关的至少一个非易失性存储元件时,在进行所述感测操作的同时向所述第二字线施加第一电压;以及当所述确定过程确定了不存在与处于编程状态的第二字线相关的至少一个非易失性存储元件时,在进行所述感测操作的同时向所述第二字线施加第二电压。
2. 根据权利要求l的方法,其中 所述第二电压低于所述第一 电压。
3. 根据权利要求l的方法,其中所述确定过程包括向第二字线施加电压,并确定与所述第二字线相关的至少一个非易 失性存储元件是否导通。
4. 根据权利要求1的方法,还包括当所述确定过程确定了不存在与处于编程状态的第二字线相关的至少一个非易失性 存储元件时,在进行所述感测操作的同时,向按字线编程顺序在所述第二字线之后的至少 一个另外的字线施加第二电压。
5. 根据权利要求1的方法,还包括在进行所述感测操作的同时,向按字线编程顺序在所述第一字线之前的第三字线施加 第一电压。
6. 根据权利要求1的方法,还包括在进行了所述感测操作之后,在下述操作的同时,对与第三字线相关的至少一个非易 失性存储元件进行第二感测操作(a)当所述确定过程确定了存在与处于编程状态的第二 字线相关的至少一个非易失性存储元件时,向所述第二字线施加第一电压,或(b)当所述 确定过程确定了不存在与处于编程状态的第二字线相关的至少一个非易失性存储元件时, 向所述第二字线施加第二电压。
7. 根据权利要求l的方法,其中 所述第二字线处于在一组字线中的预定字线位置。
8. 根据权利要求1的方法,其中所述第二字线处于在一组字线中的基于在该组字线中的第一字线的位置的字线位置。
9. 根据权利要求1的方法,其中所述感测操作包括读取操作。
10. 根据权利要求1的方法,其中 所述感测操作包括验证操作。
11. 根据权利要求1的方法,其中所述确定过程包括存取指示是否存在与处于编程状态的第二字线相关的至少一个非 易失性存储元件的数据。
12. 根据权利要求l的方法,其中,当所述确定过程确定存在与处于编程状态的第二字 线相关的至少一个非易失性存储元件时,所述方法还包括确定是否存在与处于编程状态的第三字线相关的至少一个非易失性存储元件;当确定了存在与处于编程状态的第三字线相关的至少一个非易失性存储元件时,在进 行所述感测操作的同时,向所述第三字线施加第一电压;以及当确定了不存在与处于编程状态的第三字线相关的至少一个非易失性存储元件时,在 进行感测操作的同时,向所述第三字线施加第二电压。
13. 根据权利要求12的方法,其中按字线编程顺序,所述第二字线在所述第一字线之后,且所述第三字线在所述第二字 线之后。
14. 根据权利要求12的方法,其中 所述第三字线与所述第二字线隔开了预定数量的字线。
15. 根据权利要求12的方法,其中所述第三字线位于一组字线中的基于在该组字线中的第一字线的位置的字线位置。
16. 根据权利要求12的方法,其中 所述第一和第三字线位于一组字线中的预定字线位置。
17. —种非易失性存储系统,包括 一组非易失性存储元件;与该组非易失性存储元件通信的一组字线;以及与该组非易失性存储元件和该组字线通信的一个或多个控制电路,所述一个或多个控 制电路a)连同对与第一字线相关的至少一个非易失性存储元件进行感测操作,确定是否 存在与处于编程状态的第二字线相关的至少一个非易失性存储元件,b)当所述一个或多个 控制电路确定了存在与处于编程状态的第二字线相关的至少一个非易失性存储元件时,在 进行感测操作的同时,向所述第二字线施加第一电压,以及c)当所述一个或多个控制电路 确定了不存在与处于编程状态的第二字线相关的至少一个非易失性存储元件时,在进行感 测操作的同时,向所述第二字线施加第二电压。
18. 根据权利要求17的非易失性存储系统,其中在进行了所述感测操作之后,在下述操作的同时,所述一个或多个控制电路对与第三 字线相关的至少一个非易失性存储元件进行第二感测操作(a)当所述一个或多个控制电路确定了存在与处于编程状态的第二字线相关的至少一 个非易失性存储元件时,向所述第二字线施加第一电压,或(b)当所述一个或多个控制电 路确定了不存在与处于编程状态的第二字线相关的至少一个非易失性存储元件时,向所述 第二字线施加第二电压。
19. 根据权利要求17的非易失性存储系统,其中 所述第二字线位于在一组字线中的预定字线位置。
20. 根据权利要求17的非易失性存储系统,其中所述第二字线位于在一组字线中的基于在该组字线中的第一字线的位置的字线位置。
21. —种非易失性存储系统,包括一组非易失性存储元件;与该组非易失性存储元件通信的一组字线;以及对与第一字线相关的至少一个非易失性存储元件进行感测操作的装置; 确定是否存在与处于编程状态的第二字线相关的至少一个非易失性存储元件的装置;当所述用于确定的装置确定了存在与处于编程状态的第二字线相关的至少一个非易 失性存储元件时,在所述感测操作期间向所述第二字线施加第一电压的装置;以及当所述用于确定的装置确定了不存在与处于编程状态的第二字线相关的至少一个非 易失性存储元件时,在所述感测操作期间向所述第二字线施加第二电压的装置。
全文摘要
通过在读取操作期间提供在未选择字线上的减小的读行程电压,来减小在非易失性存储设备中的功耗。检查其上的存储元件正被读取的所选字线之后的一个或多个未选择字线的编程状态,来确定这些未选择字线是否包括了编程的存储元件。当标识了未编程的字线时,在该字线和按编程顺序在该字线之后的其它字线上提供减小的读行程电压。可以由在例如字线中存储的标记,或通过读处于最低读状态的字线,来确定编程状态。可以在一组字线中预先确定,或基于所选字线的位置来适应地确定被检查的未选择字线。
文档编号G11C11/56GK101779247SQ200880020461
公开日2010年7月14日 申请日期2008年4月17日 优先权日2007年4月25日
发明者尼马·莫克莱西, 迪帕克·C·塞卡, 霍克·C·索 申请人:桑迪士克公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1