具体实施方式
本发明提供一种用于减少在非易失性存储器中的编程干扰的方法。
适用于实现本发明的存储器系统的一个例子使用NAND闪存结构,其包括在两个选择栅极之间串联排列多个晶体管。串联的晶体管和选择栅极被称为NAND串。图1是示出一个NAND串的俯视图。图2是其等效电路。图1和2中描述的NAND串包括串联且在第一选择栅极120和第二选择栅极122之间夹着的四个晶体管100、102、104、和106。选择栅极120选通NAND串到位线126的连接。选择栅极122选通NAND串到源极线128的连接。通过将适当的电压施加到控制栅极120CG来控制选择栅极120。通过将适当的电压施加到控制栅极122CG来控制选择栅极122。晶体管100、102、104和106中的每个具有控制栅极和浮置栅极。晶体管100具有控制栅极100CG和浮置栅极100FG。晶体管102包括控制栅极102CG和浮置栅极102FG。晶体管104包括控制栅极104CG和浮置栅极104FG。晶体管106包括控制栅极106CG和浮置栅极106FG。控制栅极100CG被连接到(或是)字线WL3,控制栅极102CG被连接到字线WL2,控制栅极104CG被连接到字线WL1,且控制栅极106CG被连接到字线WL0。在一个实施例中,晶体管100、102、104、106每个是存储元件,也称为存储器单元。在其他实施例中,存储元件可以包括多个晶体管,或可以是不同于图1和2中所示的。选择栅极120被连接到选择线SGD。选择栅极122被连接到选择线SGS。
图3是描述三个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的控制栅极。字线WL1被连接到存储元件325、345、365的控制栅极。字线WL0被连接到存储元件326、346、366的控制栅极。如可以看出的,每个位线和相应AND串构成了(comprise)存储元件的阵列或组的列。字线(WL3、WL2、WL1和WL0)构成(comprise)该阵列或组的行。每个字线连接在行中的每个存储元件的控制栅极。或者,可以由字线本身提供控制栅极。例如,在线WL2提供存储源极324、344、364的控制栅极。实际上,在一条字线上可以存在上千个存储元件。
每个存储元件可以存储数据。例如,当存储一比特的数字数据时,存储元件的可能的阈值电压(VTH)的范围被划分为被分配了逻辑数据“1”和“0”的两个范围。在NAND型闪存的一个例子中,在擦除了存储元件之后VTH是负的,且被定义为逻辑“1”。在编程操作之后VTH是正的,且被定义为逻辑“0”。当VTH是负的且尝试读时,存储元件将导通以指示正存储逻辑“1”。当VTH是正的,且尝试读操作时,存储元件将不导通,这指示存储逻辑“0”。存储元件还可以存储多层级(level)信息,例如多比特的数字数据。在这种情况下,VTH值的范围被划分成数据层级的数目。例如,如果存储了四个层级的信息,则将有被分配给数据值“11”、“10”、“01”和“00”的四个VTH范围。在NAND型存储器的一个例子中,在擦除操作之后的VTH是负的,且被定义为“11”。正的VTH值用于“10”、“01”和“00”的状态。在被编程到存储元件中的数据和该元件的阈值电压范围之间的具体关系依赖于该存储元件所采用的数据编码机制(scheme)。例如,通过引用全部而并入此的美国专利No.6222762和美国专利申请公开2004/0255090描述了用于多状态闪存元件的各种数据编码机制。
在美国专利5386422、5522580、5570315、5774397、6046935、6456528和6522580中提供了NAND型闪存和其操作的相关例子,通过引用把这些专利并于本文。
当编程闪存元件时,编程电压被施加到存储元件的控制栅极,且与该存储元件相关的位线接地。来自沟道的电子被注入浮置栅极。当电子在浮置栅极中积累时,浮置栅极变为充负电的,且存储元件的VTH升高。为了将编程电压施加到正被编程的存储元件的控制栅极,在适当的字线上施加该编程电压。如上所述,在NAND串的每个中的一个存储元件共享相同的字线。例如,当编程图3的存储元件324时,该编程电压还将被施加到存储元件344和364的控制栅极。
但是,在其他NAND串的编程期间在禁止的NAND串处且有时在被编程的NAND串本身处可能发生编程干扰。当未选择的非易失性存储元件的阈值电压由于其他非易失性存储元件的编程而偏移时发生编程干扰。编程干扰可能发生在先前编程的存储元件上以及还没有被编程的擦除的存储元件上。各种编程干扰机制可能限制诸如NAND闪存的非易失性存储设备的可用操作窗口。
例如,如果NAND串320被禁止(例如,其是未选择的NAND串,其不包含当前正被编程的存储元件),且正编程NAND串340(例如,其是选择的NAND串,其包含当前正被编程的存储元件),则可能在NAND串320处发生编程干扰。例如,如果流通(pass)电压,VPASS低,则不会很好地对禁止的NAND串的沟道升压,且可能意外地编程未选择的NAND串的所选字线。在另一可能的场景下,可以由栅极感应漏极泄漏(Gate Induced Drain Leakage,GIDL)或其他泄漏机制来降低升压的电压,导致了相同的问题。其他效应、诸如由于与后面被编程的其他相邻存储元件的电容耦合而导致的在电荷存储元件的VTH中的偏移,也可能引起编程干扰。
图4描述了示出编程干扰机制的NAND串的剖面图。在此,使用诸如图5c中描述的修正的擦除的区域自升压(revised erased area self-boosting)(REASB)模式。该示图是简化图,而不是符合比例的。该NAND串400包括在衬底490上形成的源极侧选择栅极406、漏极侧选择栅极424、和八个存储元件408、410、412、414、416、418、420、和422。可以在本身在该衬底的n-井(well)区域上形成的p-井区域上形成这些组件。可以反过来在p衬底中形成n-井。除了具有VBL的电势的位线426以外,提供具有VSOURCE的电势的源极电源线404。在编程期间,在与所选存储元件418相关的所选择字线、在这种情况下的WL5上提供VPGM。另外,回忆起存储元件的控制栅极可以被提供为字线的一部分。例如,WL0、WL1、WL2、WL3、WL4、WL5、WL6和WL7可以分别由(via)存储元件408、410、412、414、416、418、420、422的控制栅极延伸。
在一个示例升压模式中,当存储元件418是所选的存储元件时,对相邻的源极侧字线(WL3)施加相对低的电压,例如2-6V,而向被称为隔离字线的另一源极侧字线(WL2)施加隔离电压、VISO,例如0-4V,且向与NAND串400相关的剩余字线(即,WL0、WL1、WL4、WL6和WL7)施加VPASS。虽然VISO和VLOW的绝对值可能在相对大且部分重叠的范围上变化,但在一个可能的实施方式中,VISO的值总是低于VLOW。VSGS被施加到选择栅极406,且VSGD被施加到选择栅极424。字线或非易失性存储元件的源极侧指的是面向NAND的源极端、例如在电源线404的侧,而字线或非易失性存储元件的漏极侧指的是面向NAND串的漏极端、例如在位线426处的侧。
图5a-h描述了自升压模式的不同例子。注意,所描述的电压指示在于源极侧升压之后发生的漏极侧升压期间使用的电压。还请参见图6-9。还可以使用各种其他方法。通常,已经开发了各种升压模式来对抗编程干扰。在对所选字线上的存储元件进行编程期间,可以通过向与当前不被编程的存储元件通信的未选择字线施加一组电压来实现升压模式。正被编程的存储元件与所选NAND串相关,而其他存储元件与未选择的NAND串相关。
在所提供的例子中,这些字线是WL0到WLi,所选的字线是WLn,源极侧选择栅极控制线是SGS,且漏极侧选择栅极控制线是SGD。还描述了被施加到控制线的一组电压。可以按从NAND串的源极侧到漏极侧、一次一条字线的编程顺序,进行编程。但是,也可以使用其他编程顺序。例如,在两步编程技术中,可以在从NAND串的源极侧到漏极侧一次一条字线地前进的第一遍中部分编程NAND串的存储元件。然后,在同样从NAND串的源极侧到漏极侧一次一条字线地前进的第二遍中完成编程。在另一选择中,在二上、一下(two up,one down)处理中,例如按顺序:WL0(部分编程)、WL1(部分编程)、WL0(编程完成)、WL2(部分编程)、WL1(完成编程)、WL3(部分编程)等来编程存储元件。
在图5a所示的例子中,施加的电压包括施加到源极侧选择栅极控制线SGS的VSGS、施加到未选择的字线WL0到WLn-2和WLn+1到WLi的每个的VPASS、施加到所选字线WLn的编程电压VPGM、施加到在源极侧上与所选字线相邻的字线WLn-1的隔离电压VISO、经由漏极侧选择栅极控制线SGD施加的VSGD。典型地,VSGS是0V,从而源极侧选择栅极截止,可以施加在0.5-1.5V范围内的另外的源极偏压VSOURCE以进一步改进源极侧选择栅极的截止行为。VSGD大约是1.5-3V,从而由于施加了对应的低位线电压VBL诸如0-1V,漏极侧选择栅极对于所选的NAND串导通。由于施加了对应的较高VBL,诸如1.5-3V,漏极侧选择栅极对于未选择/禁止的NAND串而截止。在图5a的例子中,在0-4V的典型范围内的低隔离电压VISO被施加到在源极侧上相邻于所选字线的字线。
另外,VPASS可以是大约7-10V,且VPGM可以在大约12-25V的范围上变化。在一个编程机制中,编程电压的脉冲链被施加到所选字线。见图20。脉冲链中的每个连续编程脉冲的幅度以楼梯方式、典型地以每个脉冲大约0.3-0.5V而增加。另外,验证脉冲可以被施加在编程脉冲之间,以验证所选的存储元件是否达到了目标编程状况。还注意,每个个别的编程脉冲可以具有固定的幅度,或可以具有变化的幅度。例如,一些编程机制施加具有类似于斜坡或楼梯变化的幅度的脉冲。可以使用任何类型的编程脉冲。
以WLn作为正被编程的字线,和从每个NAND串的源极侧到漏极侧进行编程,当正编程在WLn上的存储元件时,由于上次的擦除操作,与WL0到WLn-1相关的存储元件将已经被至少部分地编程,以及与WLn+1到WLi相关的存储元件将被擦除或至少还没被完全编程。在未选择字线上的流通电压(pass voltage)耦合于与未选择的NAND串相关的沟道,导致在未选择NAND串的沟道中存在电压,这趋于通过降低跨越存储元件的隧道氧化物的电压来减少编程干扰。
图5b描述了修正的擦除的区域自升压模式。在该情况下,隔离电压VISO被施加到WLn-2,且在VISO和VPASS之间的低电压VLOW被施加到WLn-1。VLOW也可以被视为隔离电压,但是,在一个可能的实施方式中,VLOW总是高于VISO,且低于VPASS。在该方法中,VLOW用作中间电压,以便在所选字线(WLn)和相邻源极侧字线(WLn-1和WLn-2)之间的沟道中存在较少的突发电压变化。例如,VLOW可以是例如2-6V,且VISO可以是例如0-4V。在沟道电压中的较少突发变化导致了在沟道区中的较低电场和较低沟道电势,特别在与VISO字线相关的存储元件处尤其如此。在与VISO字线(如在图5a中)相关的存储元件的漏极或源极侧处的高沟道电压可能导致由栅极感应漏极泄漏(GIDL)生成电荷载流子(电子和空穴)。由GIDL生成的电子可能随后在所选字线和VISO字线之间的区域中的强电场中被加速,且可能随后被注入(经由热电子注入)到与所选字线相关的存储元件中的一些中,且因此导致编程干扰。可以通过降低电场,诸如通过增加用处于所选字线的电压和VISO之间的中间电压而偏压的一个(或更多)字线,来避免或减少该编程干扰机制。
剩余的未选择字线接收VPASS。具体地,VPASS被施加到与WL0到WLn-3相关的第一组存储元件,其中,该第一组相邻于源极侧选择栅极,且在隔离字线WLn-2的源极侧上。而且,VPASS被施加到与WLn+1到WLi相关的第二组存储元件,其中,该第二组相邻于漏极侧选择栅极,且在所选字线WLn的漏极侧上。
图5c描述了另一修正的擦除的区域自升压模式。在该情况下,与所选字线(WLn)相邻的源极侧字线(WLn-1)接收VPASS,下一字线(WLn-2)接收VLOW,且在该(WLn-3)之后的下一字线接收VISO。剩余的未选择字线接收VPASS。还结合图4来讨论该升压模式。具体地,VPASS被施加到与WL0到WLn-4相关的第一组存储元件,其中该第一组相邻于源极侧选择栅极,且在隔离字线WLn-3的源极侧上。而且,VPASS被施加于与WLn+1到WLi相关的第二组存储元件,其中,该第二组相邻于漏极侧选择栅极,且在所选字线WLn的漏极侧上。该方法的优势在于,由于被施加到该字线的高编程电压VPGM因此对编程干扰最敏感的所选字线进一步远离VISO和VLOW字线。由于负责产生热载流子的该电场进一步远离所选字线,所以与所选字线相关的存储元件较不可能被热电子注入所干扰。
图5d描述了另一修正的擦除的区域自升压模式。在该情况下,相邻于所选字线(WLn)的源极侧字线(WLn-1)接收VPASS,且下一字线(WLn-2)接收VLOW,下一字线(WLn-3)接收VISO,且下一字线接收VLOW。剩余的未选字线接收VPASS。具体地,VPASS被施加到与WL0到WLn-5相关的第一组存储元件,其中,该第一组相邻于源极侧选择栅极,且在隔离字线WLn-3的源极侧上。而且,VPASS被施加于与WLn+1到WLi相关的第二组存储元件,其中,该第二组相邻于漏极侧选择栅极,且在所选字线WLn的漏极侧上。在隔离字线的两侧处都提供VLOW可以降低由于在例如与WL0到WL5相关的沟道的一部分处的高升压的源极侧而在隔离字线处发生GIDL的可能性。
图5e描述了另一修正的擦除的区域自升压模式。在该情况下,相邻于所选字线(WLn)的源极侧字线(WLn-1)接收VPASS-HIGH,且下一字线(WLn-2)接收VPASS-MEDIUM,下一字线(WLn-3)接收VPASS-LOW,且下一字线(WLn-4)接收VLOW,且下一字线(WLn-5)接收VISO,且下一字线(WLn-6)接收VLOW。剩余的未选字线接收VPASS。具体地,VPASS被施加到与WL0到WLn-7相关的第一组存储元件,其中,该第一组相邻于源极侧选择栅极,且在隔离字线WLn-5的源极侧上。而且,VPASS被施加于与WLn+1到WLi相关的第二组存储元件,其中,该第二组相邻于漏极侧选择栅极,且在所选字线WLn的漏极侧上。
因此,可以同时使用多个VPASS电压。例如,可以对NAND处的漏极和源极侧使用不同的VPASS值。另外,可以在漏极和源极侧两者上均使用多个VPASS电压。例如,如所示,可以在所选字线的旁边使用较高VPASS,VPASS-HIGH。对于在所选位线和隔离位线之间的字线,我们可以具有被偏压到不同的VPASS值,例如VPASS-LOW、VPASS-MEDIUM和VPASS-HIGH的多个字线。在一个实施方式中,VPGM>VPASS-HIGH>VPASS-MEDIUM>VPASS-LOW>VLOW>VISO。注意VLOW和VISO的多个值也是可能的。通常,所有VISO电压都小于所有VLOW电压,该VLOW电压进而小于所有VPASS电压。通过增加在所选字线和VISO字线之间的字线的数量,且通过逐渐地减少在这些字线上的偏压,可以减少在所选字线和VISO字线之间的电场,且因此可以减少编程干扰。
图5f描述了另一修正的擦除的区域自升压模式。在该情况下,相邻于所选字线(WLn)的源极字线(WLn-1)接收VPASS-HIGH,下一字线(WLn-2)接收VPASS-MEDIUM,下一字线(WLn-3)接收VPASS-LOW,且下一字线(WLn-4)接收VLOW,且下一字线(WLn-5)接收VISO,且下一字线(WLn-6)接收VLOW,且下一字线(WLn-7)接收VPASS-LOW。剩余的未选字线接收VPASS。具体地,VPASS被施加到与WL0到WLn-8相关的第一组存储元件,其中,该第一组相邻于源极侧选择栅极,且在隔离字线WLn-5的源极侧上。而且,VPASS被施加于与WLn+1到WLi相关的第二组存储元件,其中,该第二组相邻于漏极侧选择栅极,且在所选字线WLn的漏极侧上。
图5g描述了另一修正的擦除的区域自升压模式。该情况与图5f的不同在于,相邻于所选字线(WLn)的漏极侧字线(WLn+1)接收VPASS-HIGH而不是VPASS。
图5h描述了另一修正的擦除的区域自升压模式。在该情况下,在被编程的字线的漏极侧上提供另外的隔离字线。例如,在一个可能的实施方式中,相比于图5c的升压模式,WLn+1接收VPASS-HIGH,且WLn+3接收VISO。WLn+2接收VPASS,其中VPASS-HIGH>VPASS。由于施加了升压电压和两个隔离电压,因此在NAND串中提供三个升压的沟道区。例如,第一升压的沟道区处于WL0到WLn-4的区域中,第二升压的沟道区处于WLn-1到WLn+2的区域中,且第三升压沟道区处于WLn+4到WLi的区域中。VPASS-HIGH的使用消除了诸如当WLn+1可以被较低页面数据部分地编程(见,例如,图18b的B’状态)时对WLn+1的数据依赖。可以类似地修改图5d-g的升压模式。
各种其他实施方式是可能的。例如,不同的升压的沟道区可以被升压到不同的电平。而且,在所选字线和另外的漏极侧隔离字线之间的字线的数量可以改变,如被施加到在不同升压的沟道区中的未选字线的电压可能改变一样。还可以提供多于两个隔离电压和三个升压的沟道区的实施方式。进一步细节,参考在2006年9月27日提交的题为“Reducing Program Disturb InNon-Volatile Storage”的美国专利申请no.11/535268,其律所编号为no.SAND-1120/SDK-0868,通过引用附于此。
关于不同沟道区的升压的定时,可以采用各种实施方式。考虑在WL0和WLn-4之间的第一沟道区、在WLn-1和WLn+2之间的第二沟道区和在WLn+4和WLi之间的第三沟道区。在一个方法中,一起升压第一和第三沟道区,此后,升压第二沟道区。在一个方法中,升压第一沟道区,此后一起升压第二和第三沟道区。在一个方法中,升压第一沟道区,此后升压第三沟道区,此后升压第二沟道区。通常,第二沟道区应该优选地不在第三沟道区之前升压,因为来自第三沟道区的电子将被吸引到升压的第二沟道区,如此降低了在第二沟道区中的升压的沟道电势,同时轻微地升压了第三沟道区。这是不期望的效果,因为减少的升压可能造成编程干扰。
注意,所有的上述例子仅用于例示,而其他偏压情况和偏压情况的不同组合是可能的。
再次参考图4,假设沿着NAND串400对存储元件编程按从存储元件408到存储元件422的编程顺序进行,存储元件408-416将已经被至少部分地编程了,且存储元件420和422将还没有完全被编程。因此,存储元件408-416中的所有或一些将使电子被编程到并被存储到其各自的浮置栅极中,且取决于编程模式,存储元件420和422可能被擦除或部分地编程。例如,当存储元件420和422已经先前在两步编程技术中的第一步中被编程时,存储元件420和422可以被部分地编程。
通过EASB或REASB升压模式,在开始升压之后的某时间点将VISO施加到所选字线的一个或多个源极侧邻居(neighbor),且该VISO足够低以至于隔离在衬底中的被编程且被擦除的沟道区。也就是说,在隔离字线412的源极侧上的衬底490的沟道区与在隔离字线412的漏极侧上的衬底的沟道区隔离。由于相关的存储元件中的大多数或所有已经被编程,因此该源极侧还可以被视为被编程的侧,而由于相关的存储元件还没有被编程,因此该漏极侧可以被视为未编程的侧。另外,源极侧上的沟道区是通过在WL0和WL1上施加VPASS而升压的、衬底490的第一升压区域,而在漏极侧上的沟道区是主要通过在WL5上施加VPGM、在WL4、WL6和WL7上施加VPASS而升压的、衬底490的第二升压区域。
被编程的区域通常较少地被升压,这是因为在被编程的存储元件下面的沟道电势可以仅在VPASS到达足够高的电平以导通被编程的存储元件之后才开始增加(即,升压)。另一方面,由于即使当被施加到其对应的字线的VPASS电压仍然很低(在VPASS电压的斜坡上升期间)时大部分(如果不是所有)被擦除的存储元件也将处于导通状态,因此在被擦除的状况下的存储元件的沟道电势将在施加VPASS之后(几乎)立即开始增加。因此,在隔离字线的漏极侧上的沟道区将被升压到比在隔离字线的源极侧处的沟道区更高的电势,这是由于两个区域彼此隔离。在一些实施例中,在两个沟道区均被足够升压之后,被施加到所选字线的编程电压VPGM将被施加。
虽然上述实施例可以减少特定编程干扰机制,但是其他编程干扰机制确实存在。一个另外的编程干扰故障模式区域倾向于当VPASS相对高时发生在较高字线上。该故障模式发生在正被编程的NAND串(例如,所选NAND串)上,且由在所选NAND串沟道中来自漏极侧的热载流子注入而引起。该热载流子注入是由当VPASS到达特定电平时在源极侧沟道中的高升压电势而引起的(induce)。具体地,通过所讨论的EASB和REASB,NAND串通过在所选字线下面的字线上施加隔离电压VISO而被分离为源极侧和漏极侧。在所选NAND串中,漏极侧沟道电势在升压期间将停留在例如0-1V。但是,在源极侧,由于接收VISO的存储元件被截止,例如处于非导电状态,假设VISO<VTH,其中VTH是存储元件的阈值电压,因此该沟道仍然被升压。当源极侧升压电势变为高,且漏极侧沟道电势仍然在0-1V时,创建大的横向电场,这可以引起热载流子注入到源极侧上的存储元件,并导致编程干扰故障。在图4中描述了这个情况,其中箭头描述了电子跨越隔离存储元件412下方的该沟道而移动并进入存储元件410的浮置栅极,升高了存储元件的阈值电压。
为了防止在所选NAND串中的这种编程干扰,最好不在升压期间将源极侧沟道与漏极侧沟道隔离。但是,没有隔离,在禁止的NAND串沟道中,漏极侧升压将被源极侧编程的存储元件明显地降低。尤其是,当高字线正被编程且漏极侧沟道电容比变大时,漏极侧升压效率的降低可能变得严重。为了克服这种局面,基于源极侧早升压机制提出了沟道隔离切换方法。通过该方法,隔离字线停留在相对高的电压,VCOND,诸如4V,其足够用于导通即使处于最高编程状态的该隔离存储元件,从而在源极侧升压期间连接源极和漏极侧沟道。为了进一步保证在所选NAND串中的源极和漏极侧沟通的连接,VCOND还可以被施加到在隔离存储元件的漏极侧上的字线一直到所选字线,以导通(open)该相关的存储元件,例如因此它们处于导电状态或导通。另外,如果使用如下编程技术:其中,在所选存储元件的漏极侧上的存储元件可以被至少部分地编程,则VCOND同样可以被施加到这些存储元件,以在源极侧升压期间保持它们导通。
由于源极和漏极侧沟道被连接,因此在所选NAND串中,该沟道电势将停留在0-1V,且源极侧将不被升压。因此,将消除或减少热电子从漏极侧到源极侧的转移以及漏极侧注入型干扰。为了保证当源极侧升压时源极侧沟道与漏极侧沟道连接,应该不晚于VPASS地施加VCOND。为了提供安全余量(margin),可以在VPASS开始在源极侧上向上斜之前就施加VCOND。
在源极侧升压结束之后,在漏极侧升压开始之前隔离字线电压应该被降低到VISO。以此方式,禁止的沟道的漏极侧升压(在未选NAND串中)仍然与源极侧隔离。另外,由于在源极侧升压期间,在漏极侧沟道中的许多电子将流入源极侧,有效地导致了在VPASS被施加到漏极侧字线之前的漏极侧沟道的某些升压,因此增加了禁止的沟道的升压效率。另一方面,在所选NAND串中,在源极和漏极侧上的沟道电势仍然停留在0-1V,且在此防止或减少了漏极侧注入型干扰。
图6描述了基于图5a的自升压模式的字线和其他电压的时间线。所示的时段描述了使用单一编程脉冲的升压和编程的单个循环。该循环之后典型地跟着一系列验证脉冲,以确定存储元件是否已经到达了期望的编程状态。然后使用另一编程脉冲,典型地以逐步增加的幅度,重复升压和编程的循环。见图20。还注意,可以在所示的时间段之前具有可选的预充电时间段,在该可选的预充电时间段中,由通过导通(在导电状态)漏极选择栅极而被转移到该沟道的例如1.5-3V的位线电压来部分地充电(预充电)漏极侧沟道。典型地,在预充电期间向字线施加0V。另外,所选NAND串的位线电压不总是必须为0V。例如,用于所选NAND串的VBL可以是例如0-1V。对于禁止的NAND串,在预充电该沟道的情况下,在升压开始之前,VCH-DRAIN可以高于0V,但不一定等于1.5-3V,这是由于预充电的量取决于存储元件的擦除的VTH。如果很深度地擦除了存储元件,则预充电可以实际地到达1.5-3V电平。典型的预充电电平在1-2V的范围内。
波形800以简化的表示描述了用于禁止(未选择)NAND串的VBL、作为对于一组NAND串共同的漏极选择栅极电压VSGD、和对于一组NAND串共同的源极电压VSOURCE。实际上,VSOURCE不需要等于VSGD和VBL,且还可以在这些波形之间存在定时差。波形805描述了用于所选NAND串的位线电压VBL,和对于一组NAND串共同的源极选择栅极电压VSGS。在一个替换实施方式中,所选位线的VBL可以具有不止一个电平。例如,在快速通过写(quickpass write)实施例中,典型地使用两个电平,诸如0V和较高电平,典型地为0.3-1V。首先使用0V来允许快速编程,而接下来使用较高电平以提供对已经几乎达到其目标阈值电压的正被编程的存储元件的阈值电压的更精细控制。
波形810描述了被施加到所选字线的漏极侧上的字线的电压。WLi表示第i或最高字线,且WLn+1表示漏极侧上相邻于所选字线(WLn)的字线。波形815描述被施加到所选字线(WLn)的电压。波形820描述被施加到在源极侧上相邻于所选字线的隔离字线(WLn-1)的电压。波形825描述了被施加到位于隔离字线WLn-1的源极侧上的字线(WL0到WLn-2)的电压。波形830和835描述了分别用于禁止和所选NAND串的、存在于隔离字线的源极侧上的衬底的沟道中的沟道电势(VCH-SOURCE)。波形840和845描述了分别用于禁止和所选NAND串的、存在于隔离字线的漏极侧上的衬底的沟道中的沟道电势(VCH-DRAIN)。注意VCH-DRAIN(波形840)如何跟踪漏极侧升压电压(波形810)和编程电压(波形815)。编程电压对漏极侧升压的贡献程度取决于在漏极侧处的存储元件的数量。在漏极侧处的存储元件越少,编程电压对漏极侧升压的影响越大。
另外,注意,在源极侧升压期间,由于在漏极侧沟道中的电子流入源极侧,因此VCH-DRAIN(波形840)在t1处略微增加,有效地导致了在VPASS被施加到漏极侧字线之前的漏极侧沟道的某些升压,如之前讨论的。
沿着时间线的底部的是时间点t0-t9。具体地,在t0处,如波形800所示,用于禁止(未选)NAND串的VBL和VSGD从0V增加到例如1.5-3V。而且,VSOURCE从例如0.5-1.5V增加。通过VSGS位于0V(波形805),这保证了用于所有NAND串的源极选择栅极保持截止(closed)。对于选择的NAND串,VBL=0(或对于快速通过写实施例来说略高),以便,通过VSGD=1.5-3V,漏极选择栅极导通(open)以允许发生编程。虽然,所提供的例子对应于图5a的升压模式,但实质上,在所选字线的源极侧上利用一个或多个隔离字线的任何类型的升压机制均可被采用。例如,可以结合本地自升压(local self-boosting,LSB)和/或修正的LSB(revised LSB,RLSB)升压模式来使用该例子。在类似于LSB的模式中,可能在漏极侧上也存在一个或多个隔离字线,以便相邻于所选字线的字线处于0V或其他隔离电压,且剩余未选字线被供应以在此描述的VPASS或其他电压。RLSB类似于REASB。隔离字线的紧相邻的漏极和源极侧字线被供应了中间电压VLOW,而剩余未选字线被供应了在此描述的VPASS或其他电压。
在t1处,VCOND被施加到WLn和WLn-1,以便相关的存储元件导通(例如,在导电状态)。这允许在隔离字线(WLn-1)的源极侧和所选字线(WLn)的漏极侧之间的NAND串中的电荷转移。
在t2处,通过向WL0到WLn-2施加VPASS来开始源极侧沟道的升压(波形825)。如所示的,VPASS可以相对于VCOND而延迟,以保证当源极侧升压时源极侧沟道连接到漏极侧沟道。该流通电压升压在隔离字线的源极侧上的NAND串的沟道。注意在VCH-SOURCE中的对应增加(波形830)。在所选字线的漏极侧上(其在编程顺序上位于所选字线之后)的与WLn+1到WLi相关的沟道区域中,由于所施加的诸如0V的电压而避免了升压。虽然,可能由于从漏极侧流向升压的源极侧的电子而已经发生某些升压。在t2和t3之间,发生源极侧沟道的升压。在t3之后,施加VISO以截止隔离字线(WLn-1)的相关存储元件,从而阻碍在隔离字线(WLn-1)的源极侧和所选字线(WLn)的漏极侧之间的在NAND串中的电荷转移。
在为保证WLn-1已经达到VISO电平所需的延迟之后,且在t4处开始,通过施加VPASS来开始漏极侧沟道的升压(波形810)。注意,在VCH-DRAIN中的相应增加(波形840)。源极和漏极侧沟道的升压继续直到t8。另外,在t5,VPGM1被施加到WLn,且在t6,VPGM2被施加到WLn。因此,可以初始地以第一电平施加编程电压,而随后以较高的第二电平施加编程电压。该方法避免了可能由VPGM的突发变化而引起的VCH-DRAIN的突发变化。但是,可以替换地使用单个阶梯状的(stepped)VPGM脉冲。注意,另外,在一些实施例中,VPGM1可以等于VPASS,且在一些实施例中,在t4和t5之间的时间可以等于0,以便VPGM1和VPASS基本上同时向上斜。在t7,移除编程电压,在t8,移除升压电压,且在t9,结束升压和编程循环。因此,在t1和t8之间发生源极侧升压,且在t4和t8之间发生漏极侧升压。
由于源极侧升压和在t1和t3之间的用于导通与WLn和WLn-1相关的存储元件的电压的施加,在该时间段期间,在源极侧和漏极侧沟道之间可以发生电荷转移。例如,在漏极侧沟道中的许多电子将流入源极侧,有效地导致了在VPASS被施加到漏极侧字线之前的漏极侧沟道的某种升压。另外,在漏极侧升压开始之前,在t3处移除VCOND,用于将禁止的沟道的后续漏极侧升压与源极侧隔离。
图7描述了基于图5b的自升压模式的字线和其他电压的时间线。图7的时间线与图6的不同在于,在所选字线WLn的漏极侧上且相邻于所选字线的字线WLn+1在t1和t3之间接收VCOND而不是0V(波形812)。例如当与WLn+1相关的非易失性存储元件可以被部分地编程时可以使用该方法。另外,在所选字线WLn和隔离字线WLn-2之间的字线WLn-1在t4和t8之间接收VLOW,其中VLOW>VISO(波形817)。这提供了在一个或多个中间字线上从VPGM2到VISO的逐渐转变。然后对WLn+2到WLi施加波形810,对WLn-2施加波形820,且对WL0到WLn-3施加波形825。
VCOND的电平还可能针对其所施加到的不同字线而改变。例如,可以基于对应的非易失性存储元件的编程状态来设置VCOND。当相关的非易失性存储元件具有较高编程状态时VCOND可以更高,且当相关的非易失性存储元件具有较低的编程状态时可以更低。VCOND仅需要足够高以至于在源极侧和漏极侧沟道区之间产生导电路径。提供不同电平的VCOND允许解决数据图案依赖性的灵活性。取决于背后图案(back pattern),例如数据图案,作为例子,WLn+1可以处于较低的中间状态B’(图18a),而WLn和在WLn下面的字线可以处于状态C(图18c),最高编程状态。在这种情况下,VCOND-LOW可以被施加到WLn+1,且VCOND-HIGH可以被施加到WLn-2到WLn,其中VCOND-HIGH>VCOND-LOW。
图8描述了基于图5c的自升压模式的字线和其他电压的时间线。图8的时间线与图7的不同在于,在所选字线WLn的源极侧上且相邻于所选字线的字线WLn-1在t4和t8之间接收VPASS而不是VLOW(波形816)。然后,对WLn-2施加波形817,对WLn-3施加波形820,且对WL0到WLn-4施加波形825。这提供了在一个或多个中间字线上从PGM2到VISO的甚至更多的逐渐转变。
作为例如当与WLn+1相关的非易失性存储元件不被编程时可以使用的另一替换方法,可以在t1和t3之间对WLn+1施加0V,而不是VCOND。
图9描述了作为图8的时间线的替换方法的字线和其他电压的时间线。图9的时间线与图8的不同在于,使得从VCOND到随后的电压,例如在WLn+1(波形912)和WLn-1(波形916)上从VCOND到VPASS、在WLn(波形915)上从VCOND到VPGM1和/或在WLn(波形917)上从VCOND到VLOW进行电压的逐渐转变(gradual transition)。因此,这些电压可以在t3和t4之间的时间段中,在源极和漏极侧升压转变之间,从VCOND直接向上斜或向下斜到VPASS或VLOW。
该方法的一个优点是,可以防止或减少在VISO和/或VLOW字线处的GIDL。在图7和8的上述例子中,在施加电压VLOW之前,VLOW字线被下拉到0V。尤其是结合一些升压模式,这可以导致GIDL的增加。施加VLOW的目的是为了减少在升压期间的电场。但是,当在VLOW字线上的电压从VCOND降低到0V时,在该字线的相邻处的电场由于升压的源极侧而增加,因而GIDL可能发生。可以通过将在VLOW字线上的信号直接从VCOND斜到VLOW来防止该电场的增加。
另外,如果VLOW>VCOND,可以有利地通过例如图5d的升压机制对字线施加VLOW而不是VCOND,其中,在图5d的升压机制中,对WLn-4和WLn-2施加VLOW,且对WLn-3施加VISO。在这种情况下,为了减少在WLn-3上(当字线电压从VCOND转变到VISO时)或在WLn-4上(由于VCOND)出现GIDL的可能性,可以优选地从起始起保持WLn-4偏压到VLOW。
可以使用如在此讨论的类似的时间线来类似地实现图5a-5h的剩余升压模式以及其他升压模式。例如,通过图5h的升压模式,如讨论的,可以升压三个或多个不同的沟道区域。对于一起升压第一和第三沟道区域、此后升压第二沟道区域的情况,可以在被称为图6-9中的源极侧升压中升压第一和第三沟道区域,而可以在被称为漏极侧升压中升压第二沟道区域。对于升压了第一沟道区域、此后一起升压第二和第三沟道区域的情况,可以在被称为源极侧升压中升压第一沟道区域,而可以在被称为漏极侧升压中升压第二和第三沟道区域。对于升压第一沟道区域、此后升压第三沟道区域、此后升压第二沟道区域的情况,可以在被称为源极侧升压中升压第一沟道区域,可以在被称为源极侧升压之后且在被称为漏极侧升压之前的时间段中升压第三沟道区域,且可以在被称为漏极侧升压中升压第二沟道区域。
图10描述了其中在NAND串的漏极侧之前升压NAND串的源极侧的编程处理。结合图8的升压机制来图示了该处理,虽然许多变化是可能的。编程在步骤1000开始,且在步骤1005选择用于编程的字线。在步骤1010开始源极侧升压。在步骤1015,在字线(WLn-3)到在已经被用于编程的隔离字线的漏极侧上的最远字线(WLn+1)上设置VCOND。在步骤1020,在隔离字线的源极侧上的字线上设置VPASS。在步骤1025,在剩余漏极侧字线,例如WLn+2到WLi上设置0V,且在步骤1030,源极侧升压结束。也就是说,通常,维持而不进一步升压该已被升压的源极侧电平。在步骤1035,沿着编程的漏极侧升压开始。可以如先前图示地在编程之前开始漏极侧升压。在步骤1040,根据所选升压模式对未选字线施加电压。在步骤1045,对所选字线施加编程脉冲。在步骤1050漏极侧升压和编程脉冲结束。
在步骤1055进行验证操作以确定所选存储元件是否已经编程到期望的目标阈值电压电平、例如Vva、Vvb或Vvc(图16)。在决定块1060,如果用于当前字线的编程未完成,则在步骤1010开始,重复源极侧升压继之以漏极侧升压和编程的附加循环。如果在决定步骤1065用于当前字线的编程完成但未完成用于所有字线的编程,则在步骤1075选择用于编程的下一字线。如果用于当前字线和所有字线的编程都完成,则在步骤1070编程结束。
注意,在替换的实施方式中,可以使用字线依赖性,其中,不使用源极侧升压继之以漏极侧升压的升压机制被用于较低字线,诸如在32字线NAND串中的WL0-WL22。然后,使用源极侧升压继之以漏极侧升压的升压机制可以被用于较高字线、诸如WL23-WL31,其中所解决的编程干扰更成为问题。
图11示出了诸如图1和2所示的NAND存储元件的阵列1100的例子。沿着每列,位线1106被耦合于NAND串1150的漏极选择栅极的漏极端1126。沿着NAND串的每行,源极线1104可以连接NAND串的源极选择栅极的所有源极端1128。在美国专利no.5570315、5774397、和6046935中找到作为存储器系统的一部分的NAND结构阵列和其操作的例子。
存储元件的阵列被划分为大量存储元件块。如对于闪速EEPROM系统共同的,该块是擦除的单位。也就是说,每个块包含了一起被擦除的最小数量的存储元件。每个块典型地被划分为多个页。页是编程的单位。在一个实施例中,各个页可以被划分为段,且这些段可以包含作为基本编程操作的一次被写的最小数量的存储元件。一页或多页数据典型地被存储在一行存储元件中。一页可以存储一个或多个扇区(sector)。扇区包括用户数据和负荷数据。负荷数据典型地包括以已经从扇区的用户数据计算的错误校正码(ECC)。控制器的一部分(以下描述)当将数据编程到阵列中时计算ECC,且还当从阵列读出数据时检查它。或者,ECC和/或其他负荷数据被存储在与它们相关的用户数据不同的页中,或甚至不同的块中。
一个扇区的用户数据典型地是512字节,对应于在磁盘驱动中的扇区的大小。负荷数据典型地是另外的16-20字节。大量页形成块,从例如8页到32、64、128页或更多。在一些实施例中,一行NAND串组成(comprise)一块。
在一个实施例中通过将p井升高到擦除电压(例如14-22V)持续足够的时间段并将所选块的字线接地同时源极和位线浮置,来擦除存储器存储元件。由于电容耦合,未选字线、位线、选择线和c-源极也被升高到擦除电压的显著部分(significant fraction)。因此对所选存储元件的隧道氧化物层施加强的电场,且随着典型地通过Fowler-Nordheim隧道机制将浮置栅极的电子射入衬底侧,而擦除所选存储元件的数据。随着电子从浮置栅极转移到p井区域,所选存储元件的阈值电压降低。可以在整个存储器阵列、分离的块、或存储元件的另一单位上进行擦除。
图12是使用单行/列解码器和读/写电路的非易失性存储器系统的方块图。该图示出了根据本发明的一个实施例的、具有用于并行读取和编程一页存储元件的读/写电路的存储器设备1296。存储器设备1296可以包括一个或多个存储器模(die)1298。存储器模1298包括二维存储元件阵列1100、控制电路1210、和读/写电路1265。在一些实施例中,存储元件的阵列可以是三维的。存储器阵列1100可以经由行解码器1230由字线且经由列解码器1260由位线来寻址。读/写电路1265包括多个感测块1200,且允许并行地读取或编程一页的存储元件。典型地,在作为一个或多个存储器模1298的相同存储器设备1296(例如可移动存储卡)中包括控制器1250。经由线1220在主机和控制器1250之间且经由线1218在控制器和一个或多个存储器模1298之间传输命令和数据。
控制电路1210与读/写电路1265协同以对存储器阵列1100进行存储器操作。控制电路1210包括状态机1212、芯片上(on-chip)地址解码器1214、升压控制1215、和电源控制模块1216。该状态机1212提供存储器操作的芯片级控制。芯片上地址解码器1214提供由主机或存储器控制器使用的到由解码器1230和1260使用的硬件地址之间的地址接口。升压控制1215可以被用于设置升压模式,包括确定用于开始源极侧和漏极侧升压的定时,如在此讨论的。电源控制模块1216控制在存储器操作期间被供应给字线和位线的电源和电压。
在一些实施例中,可以组合图12的一些组件。在各种设计中,除了存储元件阵列1100以外的一个或多个组件(单独或组合)可以被视为管理电路。例如,一个或多个管理电路可以包括控制电路1210、状态机1212、解码器1214/1260、电源控制1216、感测块1200、读/写电路1265、控制器1250等中的任一个或组合。
图13是使用双行/列解码器和读/写电路的非易失性存储器系统的方块图。在此,提供了图12所示的存储器设备1296的另一布置。以对称的方式,在存储器阵列1100的相对侧,来实现由各种外围电路对存储器阵列1100的访问,以便在每侧上的存取线和电路的密度被减半。因此,行解码器被分裂为行解码器1230A和1230B,且列解码器被分裂为列解码器1260A和1260B。类似地,读/写电路被分裂为连接到来自底部的位线的读/写电路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 for an Aggregate ofSense Amplifiers”,在2006年6月29日公布,且全文被引用附于此。
感测模块1280包括确定在连接的位线中的导电电流是在预定阈值水平以上还是以下的感测电路1270。感测模块1280还包括位线锁存器1282,被用于在连接的位线上设置电压状况。例如,在位线锁存器1282中锁存的预定状态将导致所连接的位线被拉到指定编程禁止的状态(例如1.5-3V)。
公共部分1290包括处理器1292、一组数据锁存器1294和在这组数据锁存器1294和数据总线1220之间的I/O接口1296。处理器1292进行计算。例如,其功能之一是确定被存储在感测的存储元件中的数据,并将所确定的数据存储在这组数据锁存器中。这组数据锁存器1294被用于在读操作期间存储由处理器1292确定的数据比特。其还被用于在编程操作期间存储从数据总线1220输入的数据比特。所输入的数据比特表示要被编程到该存储器中的写数据。I/O接口1296提供在数据锁存器1294和数据总线1220之间的接口。
在读或感测期间,系统的操作在状态机1212的控制下,状态机1212控制不同的控制栅极电压向所寻址的存储元件的供应。当其步进(step through)与由该存储器支持的各种存储器状态对应的各种预定控制栅极电压时,感测模块1280可以触发于(trip at)这些电压中的一个,且将经由总线1272从感测模块1280向处理器1292提供输出。此时,处理器1292通过考虑感测模块的触发(tripping)事件和经由输入线1293来自状态机的所施加的控制栅极电压的信息来确定得到的存储器状态。然后,其计算存储器状态的二进制编码,并将得到的数据比特存储到数据锁存器1294中。在核心部分的另一实施例中,位线锁存器1282用于双重用途,既作为用于锁存感测模块1280的输出的锁存器也用作如上述的位线锁存器。
可预见到,一些实施方式将包括多个处理器1292。在一个实施例中,每个处理器1292将包括输出线(未示出)以便各个输出线一起被配线逻辑或(wired-OR)。在一些实施例中,在被连接到配线OR线输之前反转输出线。由于接收配线OR的状态机可以确定被编程的所有位何时达到了期望的电平,该配置使能在编程验证处理期间快速确定何时完成了编程处理。例如,当每个位都达到了其期望的电平时,对于该位的逻辑0将被发送到配线OR线(或数据1被反转)。当所有位输出数据0(或反转的数据1)时,则状态机知道终止编程处理。由于每个处理器与八个感测模块通信,因此状态机需要读取配线OR线八次,或向处理器1292添加逻辑以积累相关位线的结果,以便状态机仅需要读取配线OR线一次。类似地,通过正确地选择逻辑电平,全局状态机可以检测第一位何时改变其状态且响应地改变算法。
在编程或验证期间,要被编程的数据从数据总线1220被存储在这组数据锁存器1294中。在状态机的控制下,编程操作包括被施加到所寻址的存储元件的控制栅极的一系列编程电压脉冲。每个编程脉冲之后跟随了读回(readback)(验证)来确定是否已经将存储元件编程为期望的存储器状态。处理器1292相对于期望的存储器状态监视读回的存储器状态。当两者一致时,处理器1292设置位线锁存器1282,以便使得位线被拉到指定编程禁止的状态。这禁止了耦合于该位线的存储元件进一步编程,即使在其控制栅极上出现了编程脉冲的情况下也如此。在其他实施例中,该处理器初始地装载了位线锁存器1282,且感测电路在验证处理期间将其设置为禁止值。
数据锁存堆栈1294包含对应于感测模块的数据锁存器的堆栈。在一个实施例中,每个感测模块1280存在三个数据锁存器。在一些实施方式中(但不要求),数据锁存器被实现为移位寄存器,以便在其中存储的并行数据被转换为用于数据总线1220的串行数据,且反之亦然。在优选实施例中,对应于m个存储元件的读/写块的所有数据锁存器可以被链接到一起,以形成块移位寄存器,以便可以通过串行传输来输入或输出数据块。具体地,适配(adapt)r个读/写模块的模块堆(bank),以便这组数据锁存器的每个将按顺序偏移数据输入到数据总线或从数据总线偏移出数据,好像它们是整个读/写块的移位寄存器的部分那样。
关于非易失性存储设备的各种实施例的结构和/或操作的另外的信息可以在(1)美国专利7196931,于2007年3月27日授权的题为“Non-VolatileMemory And Method With Reduced Source Line Bias Errors”;(2)美国专利7023736,2006年4月4日授权的题为“Non-Volatile Memory And Method withImproved Sensing”;(3)美国专利7046568,2006年5月16日授权的题为“Improved Memory Sensing Circuit And Method For Low Voltage Operation”;(4)美国专利申请公开No.2006/0221692,2006年8月5日公布的题为“Compensating for Coupling During Read Operations of Non-VolatileMemory”;以及(5)美国专利申请公开No.20060158947,2006年7月20日公布的题为“Reference Sense Amplifier For Non-Volatile Memory”中找到。就在上面列出的所有五个专利文献全部被引用附于此。
图15示出了针对所有位线存储器结构或用于奇偶存储器结构将存储器阵列组织为块的例子。描述了存储器阵列1100的示例结构。作为一个例子,描述了被分区为1024块的NAND闪速EEPROM。每个块中存储的数据可以同时擦除。在一个实施例中,块是同时被擦除的存储元件的最小单位。在每个块中,在该例子中,存在对应于位线BL0、BL1……BL8511的8512列。在被称为所有位线(all bit line,ABL)结构(结构1510)的一个实施例中,在读和编程操作期间可以同时选择块的所有位线。沿着共同字线且被连接到任意位线的存储元件可以同时被编程。
在提供的例子中,串联连接四个存储元件以形成NAND串。虽然示出了在每个NAND串中包括了四个存储元件,但是可以使用多于或少于四个(例如,16、32、64或另一数目)。NAND串的一端经由漏极选择栅极(连接到选择栅极漏极线SGD)被连接到对应的位线,且另一端经由源极选择栅极(连接到选择栅极源极线SGS)连接到c-源极。
在称为奇偶结构(结构1500)的另一实施例中,位线被划分为偶数位线(Ble)和奇数位线(Blo)。在奇数/偶数位线结构中,一次编程沿着共同字线且被连接到奇数位线的存储元件,而另一次编程沿着共同字线且被连接到偶数位线的存储元件。在每个块中,在该例子中,存在被划分为偶数列和奇数列的8512列。在该例子中,示出了串联连接以形成NAND串的四个存储元件。虽然示出了四个存储元件被包括在每个NAND串中,但可以使用多于或少于四个存储元件。
在读和编程操作的一个配置中,同时选择4256个存储元件。所选的存储元件具有相同字线和同种位线(例如,偶数或奇数)。因此,形成逻辑页的532字节的数据可以被同时读取和编程,且存储器的一个块可以存储至少八个逻辑页(四个字线,每个具有奇数和偶数页)。对于多状态存储元件,当每个存储元件存储两位的数据时,其中在不同页中存储这两个位中的每个,一个块存储16个逻辑页。还可以使用其他尺寸的块和页。
对于ABL或奇偶结构,可以通过升高p井到擦除电压(例如20V)并将所选块的字线接地来擦除存储元件。源极和位线浮置。可以对整个存储器阵列、分离的块、或作为存储设备的一部分的存储元件的另一单位进行擦除。电子从存储元件的浮置栅极转移到p井区域,使得存储元件的VTH变为负。
在读取和验证操作中,选择栅极(SGD和SGS)被连接到在2.5-4.5V的范围内的电压,且未选字线(例如,WL0、WL1、和WL3,当WL2是所选字线时)升压到读取流通电压,VREAD(典型地,在4.5-6V的范围内的电压),以使得晶体管用作流通门(pass gate)。所选字线WL2被连接到电压,对于每个读和验证操作指定其电平,以便确定所关心的存储元件的VTH高于还是低于这种电平。例如,在两层级存储元件的读取操作中,所选字线WL2可以接地,以便检测VTH是否高于0V。在用于两级别存储元件的验证操作中,所选字线WL2被连接到例如0.8V,以便验证VTH是否已经到达了至少0.8V。源极和p井位于0V。假设为偶数位线(Ble)的所选位线被预充电到例如0.7V的电平。如果VTH高于在字线上的读或验证电平,则与感兴趣的存储元件相关的位线(Ble)的电势电平由于非导电存储元件而维持在高电平。另一方面,如果VTH低于读或验证电平,由于导电存储元件对位线放电,因此所关心的位线(Ble)的电势电平降低到低电平,例如小于0.5V。由此可以通过连接到位线的电压比较器感测放大器来检测存储元件的状态。
根据现有技术中已知的技术进行上述擦除、读取和验证操作。因此,可以由本领域技术人员改变所述的许多细节。还可以使用现有技术中已知的其他擦除、读取和验证技术。
图16描述了阈值电压分布和一遍编程的例子组。对每个存储元件存储两位数据的情况提供用于该存储元件阵列的示例VTH分布。对于擦除的存储元件提供第一阈值电压分布E。还描述了用于编程的存储元件的三个阈值电压分布A、B、C。在一个实施例中,在E分布中的阈值电压是负的,且在A、B、C分布中的阈值电压是正的。
每个不同的阈值电压范围对应于用于这组数据位的预定值。在被编程到存储元件中的数据与该存储元件的阈值电压电平之间的具体关系取决于对于该存储元件采用的数据编码机制。例如,美国专利No.6222762和在2004年12月16日公布的美国专利申请公开No.2004/0255090,其两者全部被引用附于此,描述了用于多状态闪存元件的各种数据编码机制。在一个实施例中,使用格林(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中的任一个。例如,可以首先擦除要被编程的存储元件群,以便在该群中的所有存储元件都处于擦除状态E。将使用诸如由图20的控制栅极电压序列描述的一系列编程脉冲来将存储元件直接编程为状态A、B或C。虽然一些存储元件从状态E被编程到状态A,其他存储元件从状态E被编程到状态B,和/或从状态E被编程到状态C。当在WLn上从状态E编程到状态C时,在WLn-1下的与相邻的浮置栅极的寄生耦合的量到达最大,这是因为在WLn下的浮置栅极上的电荷量的改变与当从状态E编程到状态A或从状态E编程到状态B时的电荷的改变相比最大。当从状态E编程到状态B时,与相邻的浮置栅极的耦合的量较小。当从状态E编程到状态A时,耦合的量进一步减少。
图17图示了编程存储了用于两个不同页即较低页和较高页的数据的多状态存储元件的两通技术的例子。描述了四个状态:状态E(11)、状态A(10)、状态B(00)、状态C(01)。对于状态E,两页都存储“1”。对于状态A,较低页存储“0”且较高页存储“1”。对于状态B,两页都存储“0”。对于状态C,较低页存储“1”且较高页存储“0”。注意,虽然已经将具体位图案分配给每个状态,但是还可以分配不同的位图案(pattern)。
在第一遍编程中,根据被编程为较低逻辑页的位来设置存储元件的阈值电压电平。如果该位是逻辑“1”,则不改变阈值电压,因为它由于早前被擦除而处于适当的状态。但是,如果要编程的位是逻辑“0”,存储元件的阈值电平被增加为状态A,如箭头1700所示。这终止了第一遍编程。
在第二遍编程中,根据被编程为较高逻辑页的位来设置存储元件的阈值电压电平。如果较高逻辑页位要存储逻辑“1”,则不发生编程,这是因为取决于较低页位的编程,该存储元件处于状态E或A之一,两者都携带较高页位“1”。如果较高页位要为逻辑“0”,则偏移该阈值电压。如果在该存储元件中得到的第一遍仍然处于擦除状态E,则在第二阶段,编程该存储元件以便将阈值电压增加到状态C内,如箭头1720所示。如果该存储元件已经由于第一遍编程而被编程为状态A,则在第二遍中进一步编程该存储元件以便将阈值电压增加到状态B内,如箭头1710所示。该第二遍的结果是要将该存储元件编程为被指定为对于较高页存储逻辑“0”的状态,而不改变用于较低页的数据。在图16和图17两者中,与在相邻的字线上的浮置栅极的耦合的量取决于最终状态。
在一个实施例中,如果写足够的数据以填充整个页面,则可以设置系统以进行全顺序写。如果数据不够写到全部页面,则编程处理可以用接收到的数据来编程较低页面编程。当接收到随后的数据时,该系统将编程较高页面。在另一实施例中,该系统可以以编程较低页的模式开始写并如果随后接收到足够的数据以填充整个(或大多数)字线的存储元件则转换为全顺序编程模式。这种实施例的更多细节在美国专利申请公开No.2006/0126390,在2006年6月15日公布的题为“Pipelined Programming of Non-Volatile MemoriesUsing Early Data”中公开,其全部内容被引用附于此。
图18a-c公开了用于编程非易失性存储器的另一处理,其通过对于任意具体存储元件,在继写入前些页的相邻存储元件之后相对于具体页写入该具体存储元件来减少浮置栅极对浮置栅极耦合效应。在一个示例实施方式中,非易失性存储元件使用四个数据状态,每个存储元件存储两位数据。例如,假设状态E是擦除状态,且状态A、B、C是编程状态。状态E存储数据11。状态A存储数据01。状态B存储数据10。状态C存储数据00。这是非Gray编码的例子,因为在两个相邻状态A和B之间两个位均改变。还可以使用将数据编码为物理数据状态的其他编码。每个存储元件存储两页数据。为了引用目的,这些页数据被称为较高页和较低页;但是,可以给它们其他标签。参考状态A,较高页存储位0,且较低页存储位1。参考状态B,较高页存储位1,且较低页存储位0。参考状态C,两页都存储位数据0。
编程处理是两步处理。在第一步,编程较低页。如果较低页要维持数据1,则该存储元件状态维持在状态E。如果数据要被编程为0,则提升该存储元件的电压的阈值,以便该存储元件被编程为状态B’。因此,图18a示出了将存储元件从状态E编程到状态B’。状态B’是临时(interim)状态B;因此,验证点被描述为Vvb’,其低于Vvb。
在一个实施例中,在将存储元件从状态E编程为状态B’之后,在NAND串中的其相邻存储元件(WLn+1)相对于其较低页而被编程。例如,返回看图2,在编程了存储元件106的较低页之后,将编程存储元件104的较低页。在编程存储元件104之后,如果存储元件106具有从状态E提升到状态B’的阈值电压,浮置栅极对浮置栅极耦合效应(effect)将增加存储元件106的表观阈值电压。这将具有将状态B’的阈值电压分布扩大为图18b的阈值电压分布1850所示的那样的影响。当编程较高页时将补救该阈值电压分布的表观扩大。
图18c描述了编程较高页的处理。如果该存储元件处于擦除状态E,且较高页仍要为1,则该存储元件将仍然维持在状态E。如果该存储元件处于状态E且其较高页数据要被编程为0,则该存储元件的阈值电压将被提升以便该存储元件处于状态A。如果该存储元件处于中间阈值电压分布1850且该较高页数据仍然要为1,则该存储元件将被编程为最终状态B。如果该存储元件处于中间阈值电压分布1850且该较高页数据要变为数据0,则该存储元件的阈值电压将被提升以便该存储元件处于状态C。由图18a-c描述的处理减少了浮置栅极对浮置栅极耦合效应,因为仅相邻存储元件的较高页面编程将对给定存储元件的表观阈值电压产生影响。替换的状态编码的例子是当较高页数据为1时要从分布1850移动到状态C,且当较高页数据为0时移动到状态B。
虽然图18a-c提供了相对于四个数据状态和两页数据的例子,但该概念教导可以被应用于具有多于或少于四个状态和多于或少于两页的其他实施方式。
图19是描述用于编程非易失性存储器的方法的一个实施例的流程图。在一个实施例中,存储元件在编程之前(以块或其他单位)被擦除。在步骤1900中,通过控制器发出并由控制电路1210接收“数据负荷”命令。在步骤1905中,指定页地址的地址数据从控制器或主机被输入到解码器1214。在步骤1910中,用于被寻址的页的编程数据的页被输入到数据缓冲器用于编程。在适当的锁存器组中锁存该数据。在步骤1915中,由控制器向状态机1212发出“编程”命令。
由“编程”命令触发,在步骤1910中锁存的数据将被编程到由状态机1212使用被施加到适当的所选字线的图20的脉冲链2000的阶梯编程脉冲控制的所选存储元件中。在步骤1920中,编程电压VPGM被初始化为开始脉冲(例如12V或其他值)且由状态机1212维持的编程计数器(PC)被初始化为0。在步骤1925中,如之前讨论的施加了源极升压。在步骤1930中,第一VPGM脉冲被施加到所选字线以开始编程与所选字线相关的存储元件,且漏极侧升压发生,如先前讨论的。如果在具体数据锁存器中存储逻辑“0”指示对应的存储元件应该被编程,则对应的位线接地。另一方面,如果在具体锁存器中存储逻辑“1”,指示对应的存储元件应该仍然处于其当前数据状态,则对应的位线被连接到1.5-3V以禁止编程。
在步骤1935中,验证所选存储元件的状态。如果检测到所选存储元件的目标阈值电压已经到达了适当的电平,则在对应的数据锁存器中存储的数据被改变为逻辑“1”。如果检测到该阈值电压还没有到达适当的电平,则在对应的数据锁存器中存储的数据不改变。以此方式,具有被存储在其对应的数据锁存器中的逻辑“1”的位线不需要被编程。当所有数据锁存器都正存储逻辑“1”时,状态机(经由上述配线OR型机制)知道已经编程了所有所选存储元件。在步骤1940中,检查所有数据锁存器是否正存储逻辑“1”。如果所有数据锁存器正存储逻辑“1”,则由于所有所选存储元件都被编程和验证了,编程处理结束,且成功了。在步骤1945中报告状态“PASS(通过)”。在一些实施例中,即使不是所有所选存储元件都被验证为正被编程,也将编程处理视为结束且成功。在这种情况下,由于不足的编程的存储元件而可能发生随后读操作期间的错误。但是,可以由ECC来校正这些错误。
如果在步骤1940中,确定不是所有数据锁存器都正存储逻辑“1”,则编程处理继续。在一些实施例中,即使不是所有数据锁存器都正存储逻辑“1”该编程处理也停止。在步骤1950中,针对编程限制值PCmax检查编程计数器PC。编程限制值的一个例子是20,但是还可以使用其他数目。如果编程计数器PC不小于PCmax,则编程处理失败了,且在步骤1955中报告状态“FAIL(失败)”。如果编程计数器PC小于PCmax,则VPGM以步长增加,且在步骤1960中递增该编程计数器PC。然后,该处理循环回到步骤1930以施加下一VPGM脉冲。
图20描述了在编程期间被施加到非易失性存储元件的控制栅极的示例脉冲链2000,和在脉冲链期间发生的升压模式的切换。脉冲链2000包括被施加到所选择用于编程的字线的一系列编程脉冲2005、2010、2015、2025、2030、2040、2045、2050……。在一个实施例中,编程脉冲具有电压VPGM,其开始于12V,并对于每个连续的编程脉冲由例如0.5V的增量递增,直到到达例如20-25V的最大值。在编程脉冲之间的是验证脉冲。例如,验证脉冲组2006包括三个验证脉冲。在一些实施例中,可以存在用于数据正被编程到的每个状态例如状态A、B和C的验证脉冲。在其他实施例中,可以存在更多或更少的验证脉冲。例如,在每组中的验证脉冲可以具有幅度Vva、Vvb和Vvc(图17)或Vvb’(图18a)。
如所提到的,当编程发生时,例如在编程脉冲之前和期间,施加被施加到字线以实现升压模式的电压。另一方面,在例如发生在编程脉冲之间的验证处理期间,可以不施加升压电压。相反,典型地小于升压电压的读电压被施加到未选字线。读电压具有当当前编程的存储元件的阈值电压与验证电平相比较时足够用于导通在NAND串中的先前编程的存储元件的幅度。
已经为了例示和描述目的呈现了本发明的前述详细描述。不意图穷举或限制本发明为所公开的精确形式。在上述教导下,可以进行许多修改和变化。选择所描述的实施例以便最好地说明本发和其实际应用的原理,从而使得本领域技术人员最好地在各种实施例中且用适合于具体使用构思的各种修改来利用本发明。意图由在此附上的权利要求来限定本发明的范围。