具体实施方式
本发明提供了具有使用全位线感测来感测非易失性存储元件的编程状况的能力的非易失性存储器件。
适合于实现本发明的存储器系统的一个例子使用NAND闪存结构,其包括在两个选择栅极(select gate)之间串联排列多个晶体管。串联的晶体管和选择栅极被称为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串的存储器阵列中示出了三个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的控制栅极。如可见的,每个位线和相应NAND串包括存储元件的阵列或者组的列。字线(WL3、WL2、WL1和WL0)包括阵列或组的行。每个字线连接该行中的每个存储元件的控制栅极。或者,可以通过字线本身提供控制栅极。例如,字线WL2提供存储元件324、344和364的控制栅极。在实践中,在字线上可以存在数千个存储元件。
每个存储元件可以存储数据。例如,当存储一位数字数据时,该存储元件的可能的阈值电压(VTH)范围被划分成被分配了逻辑数据“1”和“0”的两个范围。在NAND型闪存的一个例子中,在存储元件被擦除后,VTH是负的,并被定义为逻辑“1”。在编程操作后的VTH是正的并被定义为逻辑“0”。当VTH是负的并尝试读取时,存储元件将导通以指示逻辑“1”正被存储。当VTH是正的并尝试读操作时,该存储元件将不导通,这指示逻辑“0”被存储。存储元件还可以存储多个电平的信息,例如多位数字数据。在此情况下,VTH值的范围被划分为多个电平的数据。例如,如果存储四个电平的信息,则将存在被分配给数据值“11”、“10”、“01”、“00”的四个VTH范围。在NAND型闪存的一个例子中,在擦除操作后的VTH是负的并被定义为“11”。正VTH值用于“10”、“01”和“00”的状态。被编程到存储元件中的数据和存储元件的阈值电压范围之间的具体关系取决于存储元件所采用的数据编码方案。例如,美国专利号6222762和美国专利申请公开2004/0255090描述了用于多状态闪存元件的各种数据编码方案,通过全部引用将两者合并于此。
在美国专利号5386422、5522580、5570315、5774397、6046935、6456528和6522580中提供了NAND型闪存及其操作的相关例子,通过引用将这些美国专利的每个合并于此。
当对闪存元件编程时,将编程电压施加到该存储元件的控制栅极,并且与该存储元件相关联的位线接地。来自沟道的电子被注入到浮置栅极中。当电子在浮置栅极中累积时,该浮置栅极变为充负电,并且该存储元件的VTH升高。为了将编程电压施加到正被编程的存储元件的控制栅极,将该编程电压施加在适当的字线上。如上所讨论的,在每个NAND串中的一个存储元件共享相同的字线。例如,当对图3的存储元件324编程时,编程电压还将被施加到存储元件344和364的控制栅极。
图4绘出在衬底上形成的NAND串的截面图。该视图被简化并且未按比例。NAND串400包括在衬底490上形成的源极侧选择栅极406、漏极侧选择栅极424和8个存储元件408、410、412、414、416、418、420和422。许多源极/漏极区、其一个例子是源极/漏极区430,被提供在每个存储元件和选择栅极406和424的任意一侧上。在一种方法中,衬底490采用三阱(triplewell)技术,这包括在n阱区494内的p阱区492,该n阱区494又在p型衬底区496内。可以至少部分地在p阱区上形成NAND串及其非易失性存储元件。除了具有电势VBL的位线426之外,还提供了具有电势VSOURCE的源极电源线404。在一种可能的方法中,可以经由端子402将电压施加到p阱区492。还可以经由端子403将电压施加到n阱区494。
在包括擦除-验证操作在内的读取或验证操作期间,其中诸如其阈值电压的、存储元件的状况是确定的,在与选择的存储元件相关联的选择的字线上提供VCGR。此外,回想可以将存储元件的控制栅极提供为字线的一部分。例如,WL0、WL1、WL2、WL3、WL4、WL5、WL6和WL7可以分别经由存储元件408、410、412、414、416、418、420和422的控制栅极而延伸。在一种可能的升压(boost)方案中,可以将读通过电压(read pass voltage)VREAD施加到与NAND串400相关联的未选择的字线。其他升压方案将VREAD施加到一些字线,并将更低的电压施加到其他字线。将VSGS和VSGD分别施加到选择栅极406和424。
图5a到5d绘出非易失性存储元件的编程。在一种可能的编程技术中,分别在如图5a、5b和5c中所绘的三个步骤中对较低页、中间页和较高页编程。当在擦除操作后对数据的较低页编程时,提供了两个VTH分布510和512。最低分布510表示擦除状态,并具有负VTH。接下来,从图5a的第一VTH分布510分别获得图5b的第一和第二VTH分布520和522,并从图5a的第二VTH分布512分别获得图5b的第三和第四VTH分布524和526。从图5b的第一VTH分布520分别获得表示最终擦除状态E和第一编程状态A的图5c的第一和第二VTH分布。从图5b的第二VTH分布522分别获得表示第二和第三编程状态B和C的图5c的第三和第四VTH分布。从图5b的第三VTH分布524分别获得表示第四和第五编程状态D和E的图5c的第五和第六VTH分布。从图5b的第四VTH分布526分别获得表示第六和第七编程状态F和G的图5c的第七和第八VTH分布。此外,码字111、011、001、101、100、000、010和110可以分别与状态E、A、B、C、D、E、F和G相关。
状态E和A是负阈值电压状态的例子。取决于实施方式,一个或多个状态可以是负阈值电压状态。
图5c还绘出用于获得所指示的分布的验证电压。具体地,验证电压VVE、VVA、VVB、VVC、VVD、VVE、VVF和VVG分别与分布E、A、B、C、D、E、F和G相关。在编程期间,要被编程到给定分布的存储元件的验证电压与相关联的验证电压比较。该存储元件经由相关字线接收编程脉冲,直到其阈值电压被验证为已经超过相关联的验证电压。
图5d绘出用于读取存储元件的编程状态的读取电压。一旦已经对该存储元件编程,就可以通过使用读取电压VRA、VRB、VRC、VRD、VRE、VRF和VRG将它们依次读出。典型地与公共字线相关联的一个或多个存储元件与每个读取电压比较以确定其阈值电压是否超过读取电压。然后,可以由被超过的最高读取电压来确定该存储元件的状态。在相邻状态之间提供读取电压。
注意,所示出的编程处理是一个可能的例子,因为其他方法也是可能的。
负阈值电压的电流感测
在包括使用NAND存储器设计的那些在内的非易失性存储器件中,还不能获得使用用于在读取或验证操作期间感测非易失性存储元件的负阈值电压状态的电流感测的满意的方法。已经使用电压感测,但是发现要花很长时间完成电压感测。此外,由于位线与位线的电容性耦合和其他影响,电压感测不适合于全位线(all bit line)感测,其中,同时对一组相邻的存储元件执行感测。一种可能的解决方案包括当使用电流感测时、在感测期间将源极电压和p阱电压调节到某个固定的正DC电平,并且将被感测的存储元件的控制栅极经由其相关字线连接到低于该源极和p阱电压的电势。源极和p阱电压不同也是可能的。利用组合将源极和p阱偏压到某个固定电势的这种方法,能够使用电流感测来感测一个或多个负阈值电压状态。此外,电流感测与全位线感测兼容,因为其避免了电压感测的许多缺点。
图6a绘出NAND串和用于感测的组件的配置。在简化的例子中,NAND串612包括分别与字线WL0、WL1、WL2和WL3通信的四个存储元件。在实践中,可以使用另外的存储元件和字线。此外,典型地,在非易失性存储元件的块或者其他组中彼此相邻地排列另外的NAND串(例如见图14)。这些存储元件被耦接到衬底的p阱区。除了感测组件600之外,绘出了具有电压VBL的位线610。具体地,BLS(位线感测)晶体管606被耦接到位线610。BLS晶体管606是高电压晶体管,并且在感测操作期间响应于控制608而接通(open)。BLC(位线控制)晶体管604是低电压晶体管,其响应于控制608而接通,以允许该位线能够与电流感测模块602通信。在诸如读取或验证操作的感测操作期间,发生预充电操作,其中电流感测模块602中的电容器被充电。BLC晶体管604可以被接通以允许预充电。而且在感测操作期间,对于具有负阈值电压状态的存储元件,将正电压施加到在操作中所涉及的一个或多个存储元件的字线。在感测负阈值电压的感测操作中对于选择的字线使用正电压是有优势的,因为不需要负电荷泵来提供负字线电压。将负电荷泵并入许多非易失性存储系统中将要求实质的工艺研究和修改。
例如,假设选择的字线是WL1。在WL1上的电压被耦接到该字线上的存储元件的控制栅极,作为控制栅极读取电压VCGR。此外,可以将正电压VSOURCE施加到NAND串630的源极侧,并可以将正电压VP-WELL施加到p阱。在一种实施方式中,VSOURCE和VP-WELL大于VCGR。VSOURCE和VP-WELL可以彼此不同,或者可以将它们耦接到相同的DC电压VDC。此外,VDC>VCGR。作为例子,VDC可以在大约0.4V到1.5V的范围内,例如是0.8V。更高的VDC允许感测更多的负阈值电压状态。例如,可以分别使用VDC=1.5V和VDC=1.0V来感测第一和第二负阈值电压状态VTH1=-1.0V和VTH2=-0.5V。可以将VDC设置在使得VDC-VTH>0V的电平。通常,为了感测负阈值电压,设置该字线和源极电压使得栅极到源极电压小于0,即VGS<0V。如果栅极到源极电压大于存储元件的阈值电压,即VGS>VTH,则选择的存储元件是导电的。为了感测正阈值电压,可以将源极和p阱保持在相同的电压,同时调整选择的字线的电压。
在NAND串630的漏极侧,BLS晶体管610导通,例如使其导电或接通。另外,将电压VBLC施加到BLC晶体管600以使其导电。在电流感测模块602中的被预充电的电容器通过该位线向该源极中放电,使得该源极用作电流宿(current sink)。在NAND串的漏极处的被预充电的电容器可以被预充电到超过该源极的电势的电势,使得该电流流经所选的非易失性存储元件,并当所选存储元件处于导电状态中时汇入该源极中。
具体地,如果由于施加VCGR导致所选存储元件处于导电状态中,则将流动相对高的电流。如果所选存储元件处于不导电状态,将没有或有相对很小的电流流动。电流感测模块602可以感测单元/存储元件电流iCELL。在一种可能的方法中,该电流感测模块确定通过关系ΔV=i·t/C与固定电流流动相联系的电压降,其中ΔV是电压降,i是固定电流,t是预定放电时间段,C是在电流感测模块中的被预充电的电容器的电容。还参见图6d,其绘出了对于固定电流的不同线的随时间的电压降。更大的电压降表示更高的电流。在给定放电时段的结束时,由于i和C是固定的,因此可以确定对于给定电流的ΔV。在一种方法中,p-mos晶体管用于确定相对于划分值(demarcation value)的ΔV的电平。在另一种可能的方法中,通过确定该导电电流是否高于或低于给定的划分电流,单元电流鉴别器用作电流水平的鉴别器或比较器。
相反,电压感测不涉及感测与固定电流相联系的电压降。而是,电压感测涉及确定是否在电压感测模块中的电容器与该位线的电容之间发生电荷共享。在该感测期间,电流不是固定或恒定的。当所选存储元件导电时,几乎没有或者没有电荷共享发生,在此情况下在电压感测模块中的电容器的电压不明显下降。当所选存储元件不导电时,不发生电荷共享,在此情况下在电压感测模块中的电容器的电压不明显下降。
因此电流感测模块602可以通过电流的水平确定所选存储元件是处于导电还是不导电状态中。通常,当所选存储元件处于导电状态时,将有更高的电流流动,而当所选存储元件处于不导电状态时,将有较低的电流流动。当所选存储元件分别处于不导电状态或者导电状态时,所选存储元件的阈值电压在诸如验证电平(见图5c)或读取电平(见图5d)之类的比较电平之上或之下。
图6b绘出了与图6a相关联的波形。波形620绘出了VSOURCE和VP-WELL、VBL和VBLC。在感测操作期间,在t1时,VSOURCE和VP-WELL被设置在升高的电平。在一种方法中,诸如当该感测操作涉及负阈值电压时,VSOURCE和VP-WELL超过VCGR。然而,例如当该感测操作涉及正阈值电压时,VSOURCE和VP-WELL不需要超过VCGR。在t1和t2之间,VBL随着VSOURCE增加。在t2时,被预充电的电容器被放电,使VBL增加。因此,与所选非易失性存储元件相关联的漏极的电势(例如VBL)在与所选非易失性存储元件相关联的源极的电势(例如VSOURCE)之上。VBLC追随VBL但是由于BLC晶体管的阈值电压而稍微更高。在实践中,在上升后,如果电流在NAND串中流动,VBL将稍微下降(未示出)。例如,当VBLC=2V并且BLC晶体管的阈值电压是1V时,VBL可以升高到1V。当感测时,如果电流流动,则例如VBL可能从1V降到0.9V。波形622绘出了被施加到BLS晶体管的电压,表示其在t0与t5之间是导电的。波形624绘出作为表示该电容器在电流感测模块中开始放电后的时间t的控制信号的感测信号。
波形626和628绘出与对于所选位线的固定电流相联系的感测电压。可以在t3时确定该电压是否超过划分电平。可以得出结论,当该电压降到划分电平以下时,所选存储元件是导电的(例如线628)。如果该电压没有下降到划分电平以下,则所选存储元件是不导电的(例如线626)。
图6c绘出与图6a和6b相关联的感测处理。提供感测处理的概况。在此以及其他流程图中,所绘出的步骤不一定作为离散的步骤和/或按绘出的顺序发生。诸如读取或者验证操作之类的感测操作开始于步骤640。步骤642包括接通BLS和BLC晶体管以对位线预充电。步骤644包括设置字线电压。步骤646包括设置VSOURCE和VP-WELL。步骤648包括使用电流感测确定该存储元件是导电还是不导电。如果要在决定步骤650处执行另一感测操作,则该控制流程在步骤640继续。否则,该处理在步骤652结束。
可以连续地执行多个感测操作,例如对于每个验证或读取电平执行一个感测操作。在一种方法中,在每个感测操作中施加相同的源极和p阱电压,但是所选字线电压改变。因此,在第一感测操作中,可以将第一电压施加到所选存储元件的控制栅极/字线,将源极电压施加到源极,将p阱电压施加到p阱。然后,在施加第一电压和源极电压的同时,使用电流感测来确定该存储元件是处于导电状态还是不导电状态。第二感测操作包括向控制栅极施加第二电压,同时施加相同的源极和p阱电压。然后,确定该存储元件是处于导电状态还是不导电状态。在使用相同的源极和p阱电压时,类似地,连续的感测操作可以改变字线电压。
此外,可以对于与公共字线和源极相关联的多个存储元件同时执行感测。多个存储元件可以在相邻或不相邻的NAND串中。先前讨论的全位线感测涉及在相邻NAND串中的存储元件的同时感测。在此情况下,该感测包括在同时感测操作中使用电流感测确定非易失性存储元件的每个是处于导电还是不导电状态。
利用源极和P阱的偏压的电流感测
在包括使用NAND存储器设计的非易失性存储器件在内的非易失性存储器件中,电流感测可以用于在读取或验证操作期间感测非易失性存储元件的阈值电压状态。然而,这种电流感测导致了源极电压尤其是在地电压处的变化或“跳动”。该跳动的程度取决于经过存储元件的电流的水平。此外,该跳动可以导致感测误差。在感测期间控制单元源极跳动的一种方法是使用至少两个选通脉冲(strobe)来感测。这可以将单元源极跳动的影响最小化。例如,利用电流感测,可以在来自控制的每个选通脉冲处感测所选存储元件的NAND串中的电流。可能在第一选通脉冲处出现相对高或者不准确的跳动电流,而由第二选通脉冲的时间处出现较低的电流,其中较低的电流更准确地表示了该存储元件的感测状态。然而,使用另外的选通脉冲来等待电流稳定下来的需要消耗了另外的电流和感测时间。见图7a,其绘出了在感测操作期间由于地电势跳动而导致电流和电压随时间的变化。
另一技术是将该源极耦接到存储元件的栅极和漏极。然而,这种技术很复杂,需要额外的电路,并导致对存储器芯片的片尺寸和功耗产生一些影响。此外,由于从存储器件的源极到栅极的RC延迟,这种技术可能不很好地工作。
通常避免这些缺点的一种方法是在感测期间将源极和p阱调节到某个固定的正DC电平,而不是地电平。通过将源极和p阱保持在固定的DC电平,避免了在源极电压中的跳动,因此我们可以只使用一个选通脉冲来感测数据。结果,减少了感测时间和功耗。此外,不需要明显增加的电路,因此裸片(die)尺寸不会受到有害影响。还能够在将源极电压调节为固定的正DC电平时将p阱接地。将源极电压调节到固定的正DC电平比将源极电压调节为接地可以更容易实现,因为调节电路仅需要感测正电压。调压器典型地通过基于例如该源极的被监视的电平与内部参考电压的比较来调整其输出而工作。如果被监视的电平下降到内部参考电压以下,则调压器可以增加其输出。类似地,如果被监视的电平增加到内部参考电压以上,则调压器可以降低其输出。调压器可以使用例如运算放大器(op-amp)。然而,如果该参考电压处于地电平(gound),则如果被监视的电平变得大于0V,调压器通常不能将其输出降到0V以下。此外,调压器可能不能区分在0V以下的被监视的电平。如此将源极电压调节到固定的正DC电平避免了地电势跳动,并且可以减少电流消耗和感测时间。见图7b,其绘出了在感测操作期间电流和电压随着被调节到过固定的正DC电平的源极电压而减少的变化。
图7c绘出了NAND串和用于感测的组件的另一配置。除了绘出了调压器720之外,该配置与在图6a中所提供的配置对应。如所述,在感测操作期间可以将源极电压和p阱电压调节到固定的正DC电平。
在存储元件的感测操作期间,诸如在读取或者验证操作期间,电压被施加到在此操作中所涉及的一个或多个存储元件的字线。例如,假设所选字线是WL1。该电压被耦接到字线上的存储元件的控制栅极,作为控制栅极读取电压VCGR。此外,可以将固定的DC电压施加到NAND串612的源极侧以及P阱,分别作为源极电压VSOURCE和p阱电压VP-WELL。在一种实施方式中,当阈值电压为负时,VCGR可以是正的,并且VSOURCE和VP-WELL可以大于VCGR。在一种实施方式中,当阈值电压为正时,VCGR可以大于VSOURCE和VP-WELL。VSOURCE和VP-WELL可以彼此不同,或者它们可以被耦接到相同的DC电压VDC。作为例子,可以通过调压器720将VDC调节为在大约0.4V到1.2V的范围内,例如0.8V。由于源极和p阱上的恒定电压,可以通过仅使用一个选通脉冲来实现准确的感测,如先前所讨论的。此外,可以执行全位线感测,其中感测与所有位线相关联的存储元件(见图14)。具体地,调压器720可以接收用于将VSOURCE调节到大于0V的电平的参考电压VREF,SOURCE、以及用于将p阱电压调节到大于或等于0V的电平的参考电压VREF,P-WELL。
图7d绘出与图7a到7c相关联的感测处理。诸如读取或验证操作之类的感测操作开始于步骤700。步骤702包括接通BLS和BLC晶体管以及对位线预充电。步骤704包括设置字线电压。步骤706包括将VSOURCE和VP-WELL调节到正DC电平。步骤708包括使用电流感测来感测所选存储元件是导电的还是不导电的。如果在决定步骤710处存在另一感测操作,则该控制流在步骤700继续。否则,处理在步骤712结束。
此外,如先前所讨论的,可以对与公共字线和源极相关联的多个存储元件同时执行感测。多个存储元件可以在相邻或不相邻的NAND串中。在此情况下,该感测包括在同时感测操作中使用电流感测来确定每个非易失性存储元件是处于导电还是不导电状态。对于每个感测操作,如上所述地调节该电压。
源极偏压全位线感测
全位线感测涉及对相邻NAND串中的存储元件(见图14)执行感测操作。一种电势感测方法在固定的时间段中使用DC存储元件电流来放电在感测模块中的固定电容上的电荷以将存储元件的阈值电压值转换成数字数据格式。然而,这需要汇入NAND串的源极侧的相对大的电流。此外,如先前所讨论的,为了感测负的阈值电压值,可以使用模拟电压电平将偏压(bias)施加到源极和p阱两者,以避免对负字线电压和负电荷泵的需要。然而,由于全位线感测对于源极偏压电平非常敏感,维持模拟电压电平需要在阵列中的相对大的电压的调压器和源极电压的均匀分布。这可能增加所需的器件面积。
全位线感测的另一方法使用先前所讨论的电压感测。该方法不需要大电压调压器,因为没有到源极侧的DC电流。然而,由于位线与位线耦合噪声,该方法还没有成功地在相同时间感测每个位线。相反,例如在奇偶感测中,在给定的时间时仅感测每个交替位线(every alternative bit line)(见图14)。因此,性能在感测时间方面还不是最佳的。具体地,由于相邻NAND串的紧密接近,全位线感测是有问题的。尤其从其中所选存储元件导电的NAND串到其中所选存储元件不导电的NAND串,可能发生电容性耦合。由此,其中所选存储元件不导电的NAND串的位线电压增加,干扰该感测操作。由与邻近位线813的电容绘出了该电容性耦合。邻近位线/NAND串可以紧密相邻或不相邻。与相邻位线/NAND串的电容性耦合是最强的,但是也可以发生与不相邻的位线/NAND串的一些电容性耦合。还绘出了与地811的电容。
为了克服这些问题,可以使用如图8a中所绘出的方案来进行感测。图8a绘出了NAND串和包括电流放电路径在内的组件的配置。在简化的例子中,NAND串812包括分别与字线WL0、WL1、WL2和WL3通信的四个存储元件。在实践中,可以使用另外的存储元件和字线。另外,典型地在非易失性存储元件的块或者其他组中彼此相邻地排列另外的NAND串。这些存储元件被耦接到衬底的p阱区域。除了感测组件800之外,绘出了具有电压VBL的位线810。具体地,最初接通或导电的BLS(位线感测)晶体管806经由感测节点814被耦接到位线810。BLS晶体管806是高电压晶体管,并且在感测操作期间响应于控制808而导电。最初不导电的BLC(位线控制)晶体管804是低电压晶体管,其响应于控制808而接通,以允许该位线与电压感测模块/电路802通信。在感测操作期间,诸如在读取或验证操作期间,发生预充电操作,其中在电压感测模块602中的电容器被充电。可以接通BLC晶体管804以允许该预充电。
此外,引入了相对较弱电流下拉器件。具体地,作为用于NAND串812的电流放电路径的一部分的路径816被耦接到感测节点814,该感测节点814又被耦接到位线810。提供了在导电状态下的称作GRS晶体管818的晶体管,使得路径816被耦接到也是电流放电路径的一部分的路径820。例如其提供iREF的电流的电流镜的电流源825与路径816、820并联地被提供,以将这些路径上的电流iCELL下拉至地。在一个例子中,提供了相对较弱的下拉,其iREF为大约150nA。然而,电流源825的强度可以根据具体实施方式而变化。
在一种可能的配置中,电流源825对于多个位线和NAND串是公共的。在此情况下,晶体管824将电流源825耦接到不同的NAND串。路径822传送用于GRS晶体管818的控制信号,该GRS晶体管818对于具体位线和NAND串是本地的,同时路径826是对于多个位线的公共地路径。
在感测期间,该位线将充电到基于所选存储元件的阈值电压和体效应(body effect)的电平。利用负的Vti,即使VGCR=0V,该存储元件也将导电。可以将VP-WELL设置为0V。
使得晶体管818和824导电以建立电流放电路径和下拉,其用于由于与相邻位线813之间的电容而从一个或多个邻近NAND串放电被耦合到NAND串812的任意电荷。因此,由邻近位线的耦合噪声产生的任意额外的电荷最终将消失。在某个时间量后,所有位线都达到其DC电平,并且BLC晶体管804被导通以允许在电压感测模块802和感测节点814之间的电荷共享,使得可以发生所选存储元件的阈值电压的电压感测。例如,电压感测模块802可以将电压感测作为读取或者验证操作期的一部分来执行。
图8b绘出了当发生感测操作时NAND串和图8a的组件的配置。在此,BLC晶体管804接通,使得除了正从NAND串812放电的电流之外,电流还从电压感测模块802朝向放电路径流动。因此,GRS晶体管保持在导电状态中,使得在电压感测期间放电继续。
图8c绘出了与图8a和图8b相关联的波形。在波形830处绘出了VSOURCE,在波形832、834和836处分别绘出了在三个相邻位线BL0、BL1和BL2上的电压。在波形838处绘出了在BLS晶体管上的电压VBLS,在波形840处绘出了在BLC晶体管上的电压VBLC,且在波形842处绘出了在GRS晶体管上电压VGRS。在波形844处绘出了在BL0和BL2上的被感测的电压。在波形846处绘出了当在BL1上的所选存储元件导电时在BL1上的被感测的电压,且在波形848处绘出了当在BL1上的所选存储元件不导电时在BL1上的被感测的电压。如上所述,在电压感测期间,当所选存储元件不导电时,在电压感测模块和位线之间发生电荷共享。该电荷共享降低了在电压感测模块处的被感测的电压。当所选存储元件导电时,在电压感测模块和位线之间发生很少的电荷共享或者不发生电荷共享,使得在电压感测模块处的被感测的电压仍然很高。由于不发生感测,因此不绘出其他时间时的被感测的电压。
在t0时,VBLS增加,使得BLS晶体管导电。在t1时,施加VSOURCE作为对于该组NAND串的公共源极电压。在此例子中,我们假设与BL1相关联的所选存储元件不导电,而与BL0和BL2相关联的所选存储元件导电。BL0在一侧与BL1相邻,并且BL2在另一侧与BL1相邻(见图14)。随着在t1时VSOURCE的增加,VBL0和VBL2将分别如波形832和836所绘地升高,引起与BL1的电容性耦合,如由VBL1的瞬时增加所绘出的。该耦合通过t2将基本消失。用于BL1的GRS晶体管在t1和t5之间仍然导电,以允许位线放电所耦合的电荷,如所讨论的。
在t3时,如波形840所绘地那样增加VBLC,接通BLC晶体管,由此允许对于在BL1上的所选存储元件发生感测。注意,可以类似地控制与BL0、BL2和其他位线相关联的相应组件,以允许对那些其他位线同时发生感测。对于BL1,如果所选存储元件不导电,则在电压感测模块处的被感测的电压将如波形846所绘地那样下降。另一方面,如果被选择的存储元件导电,则被感测的电压将如波形844所绘地那样通常保持高。这些电压感测组件可以在规定的感测时间t4时使用电压分界点(break point)来确定所选存储元件是导电还是不导电。如所述,如果被感测的电压超过分界点,则这表示该存储元件接通,而如果被感测的电压降到该分界点以下,则这表示该存储元件不导电。在t5时VSOURCE降低,在t6时BLS晶体管不导电,表示该感测操作的结束。在一种可能的方法中,在感测期间可以将VP-WELL设置为0V。根据具体的感测方案,所选字线接收VCGR,而未选择的字线可以接收读通过电压。
因此,在t1时施加源极电压之后,开始持续时间t3-t1的预定延迟,以允许用于来自邻近位线的电容性耦合全部或者至少部分地被放电的足够时间。可以基于理论和/或实验测试来设置如具体实施方式所需的适当延迟。在延迟之后,发生电压感测。在规定的时间t4,确定该存储元件处于导电还是不导电状态并因此分别具有在验证或读取比较电平以下还是以上的阈值电压。
图8d绘出与图8a-8c有关的感测处理。在步骤850,感测操作开始。在步骤852,BLS晶体管接通,同时BLC晶体管仍然不导电,且该位线被预充电。在步骤854,设置字线电压。在步骤856,设置VSOURCE和VP-WELL(VP-WELL=0V)。在步骤858,位线放电。在步骤860,使得BLC晶体管导电以允许发生感测。在步骤862,使用电压感测来确定所选存储元件导电还是不导电。如果在步骤864存在另一感测操作,则该控制流程在步骤850继续。否则,该处理在步骤868结束。
此外,如先前所讨论的,可以对于与公共字线和源极相关联的多个存储元件同时执行感测。多个存储元件可以处于相邻或不相邻的NAND串中。在此情况下,该感测包括在同时感测操作中使用电流感测来确定每个非易失性存储元件处于导电还是不导电状态中。可以对每个NAND串开始在BLC晶体管接通前的延迟,使得在感测发生前,如需要,这些NAND串可以放电。
在感测操作期间的温度补偿位线
在本非易失性存储器件、诸如NAND闪存器件中,在读取和写入数据时,温度变化带来各种问题。存储器器件基于其所位于的环境经历变化温度。例如,一些目前的存储器器件为了在-40℃与+85℃之间使用而被分级。工业、军事甚至消费者应用中的器件可能经历重大的温度变化。温度影响很多晶体管参数,在这些参数中的主要是阈值电压。具体地,温度变化可以导致读取误差,并加宽非易失性存储元件的不同状态的阈值电压分布。下面讨论用于解决非易失性存储器件中的温度影响的改进技术。
图9a绘出NAND串和用于温度补偿的感测的组件。相同标号的组件对应于图8a中提供的那些组件。在此未绘出图8a的电流放电路径。然而,图8a的配置能够与图9a的配置或者在此提供的其他图的一些配置组合。另外,提供温度依赖电路900作为控制808的一部分,用于向BLC晶体管804提供温度补偿的电压。BLC晶体管804具有被耦接到电压感测模块802的一个节点以及被耦接到与NAND串812或者非易失性存储元件的其他组相关联的漏极或者位线的另一节点。
在感测操作期间,电压VBLC被施加到BLC晶体管600,该BLC晶体管600将NAND串812的位线或漏极侧耦接到电压感测模块802。根据在此的方法,基于温度来设置VBLC,以消除或补偿VBL随温度的变化。具体地,VBLC=VBL+VTH(温度无关)+ΔV,其中ΔV是由于温度引起的电压改变。VBL也由于温度而改变了ΔV。因此,可以控制VBLC使得其根据VBL的变化随温度变化。具体地,可以通过使用温度依赖电路900将位线上的ΔV与VBLC的ΔV匹配。电流iCELL在NAND串812中流动。虚线表示电荷共享。
图9b图示阈值电压随温度的改变。例如ΔVTH/℃。典型地,非易失性存储元件的阈值电压随温度增加而降低。可以根据典型地大约是-2mV/℃的温度系数来表述相对于温度改变的电压改变。温度系数取决于存储器器件的各种特性,诸如掺杂(doping)、布局等。此外,期望温度系数的量值随着存储器尺寸减少而增加。
通常已知用于提供温度补偿信号的各种技术。例如,这些技术中的一个或多个可以用于温度依赖电路900中。这些技术的大多数不依赖于获得实际温度测量,尽管这种方法也是可能的。例如,通过引用合并与此的题为“VoltageGeneration Circuitry Having Temperature Compensation”的美国专利6801454描述了基于温度系数向非易失性存储器输出读取电压的电压生成电路。该电路使用包括温度无关的部分和随温度增加而增加的温度依赖部分的带隙电流(band gap current)。通过引用合并与此的题为“Non-Volatile Memory WithTemperature-Compensated Data Read”的美国专利6560152使用偏压被施加到数据存储元件的源极或漏极的电压的偏压发生器电路。通过引用合并与此的题为“Multi-State EEPROM Read and Write Circuits and Techniques”的美国专利5172338描述了使用以与数据存储单元相同的方式并在相同的集成电路芯片上形成的参考存储单元的温度补偿技术。参考存储单元提供了参考电平,所选单元的被测量的电流或电压与该参考电平比较。由于参考电平以与从数据存储单元读取的值相同的方式受到温度的影响,因此提供温度补偿。可以使用这些技术以及任何其他已知技术中的任意一个来向位线控制线提供温度补偿的电压,如在此所述的。
如讨论的,VBLC是控制信号的电压或者被提供给BLC晶体管804的电压,该BLC晶体管804允许感测组件感测正经历擦除-验证或者其他感测操作的所选存储元件的VTH。经由所选存储元件所位于的NAND串中的位线而发生感测。在示例实施方式中,VBLC=VBL+VTH(BLC晶体管)。因此,该控制被配置为随着增加的温度而增加VBLC以追踪VBL的增加。对于存储元件的给定的VTH,VBL将随温度增加。
图9c图示了VBLC和VBL随温度的改变。该图绘出了如何随温度增加VBLC以追踪VBL的增加。可以基于理论和实验结果,根据具体实施方式将提供了VBL相对温度的具体改变的控制曲线编程到控制808中。通常,由于存储元件的VTH随更高的温度而降低,该位线电压增加。这意味着VBLC应该依次更高以便电压感测模块802感测更高的VBL。注意,存储元件的VTH指挥(dictate)VBL。然而改变的VBLC改变了电压感测模块感测的电压,使得电压被温度补偿。此外,注意,可以通过在温度依赖电路900中提供与BLC晶体管804类似地随温度变化的晶体管来消除BLC晶体管804的VTH的改变。
图9d绘出了与图9a-9c相关联的波形。波形910绘出在感测操作期间在t1时被设置为提高的电平的VSOURCE和VP-WELL。波形912和914绘出由于VSOURCE和VP-WELL的施加而引起的VBL的增加。在更高温度时VBL的更高电平由波形912相对波形914而绘出。在实践中,在上升后,当电流在NAND串中流动时,VBL可以稍微降落(未示出)。波形916绘出施加到晶体管BLS的电压,表明其在t0时导通。波形918和920分别绘出在较高和较低温度时被施加到晶体管BLC的电压。注意,被提供的波形是用于温度补偿方案结合图8a-d的方案,其中延迟BLC晶体管的接通以允许在感测之前发生放电。然而,不需要以此方式使用温度补偿方案,并且可以将其用在不涉及在感测时的放电路径和/或延迟的其他实施方式中。
波形922绘出当所选存储元件接通时在所选位线的电压感测模块中的被感测的电压,而波形924绘出当所选存储元件不导电时的被感测的电压。可以在t2时确定被感测的电压是否超过分界点。可以分别得出结论,当被感测的电压超过该分界点或者落在该分界点以下时,所选存储元件导电或不导电。
图9e绘出与图9a-9d相关联的感测处理。诸如读取或验证操作之类的感测操作在步骤930开始。步骤932包括使BLS和BLC晶体管导电,对该位线预充电,并设置依赖温度的VBLC。步骤934包括设置字线电压,这些字线电压可选地是依赖温度的。在一种方法中,仅选择的字线电压是依赖温度的,而在其他方法中,一些或全部字线电压是依赖温度的。根据VTH的降低,可以随着增加的温度而降低字线电压(见图9b)。步骤936包括设置VSOURCE和VP-WELL。步骤938包括使用电压感测来确定所选存储元件导电还是不导电。如果在决定步骤940中要执行另一感测操作,则该控制流程在步骤930继续。否则,该处理在步骤942结束。
注意,NAND串的漏极或位线与所选存储元件的漏极通信,因为由于在相关字线上的足够高的电压,在所选存储元件的漏极侧上的存储元件处于导电状态。类似地,NAND串的源极与所选存储元件的源极通信,因为由于在相关字线上的足够高的电压,在所选存储元件的源极侧上的存储元件处于导电状态。因此,NAND串的漏极或位线的电压也主要是所选存储元件的漏极电压,并且NAND串的源极的电压也主要是所选存储元件的源极的电压。而且,该存储元件不一定在NAND串或者存储元件的其他组中被感测,因为可以利用单个存储元件来使用在此所述的技术。
此外,如先前所述,可以对与公共字线和源极相关联的多个存储元件同时执行感测。
此外,从控制808的观点,该感测处理涉及从温度依赖电路900接收信息,并响应于该信息向BLC晶体管的控制栅极提供温度补偿的电压,该BLC晶体管将NAND串或者非易失性存储元件的其他组耦接到感测电路。该控制还可以设置字线、源极和p阱电压,以及从电压感测模块802接收关于所选存储元件的被感测的编程状况的信息。
图9f绘出擦除-验证处理。步骤950包括擦除该组存储元件。步骤952包括开始将一个或多个存储元件软编程到例如期望的擦除状态。软编程通常涉及将电压脉冲施加到所选字线以升高在所选字线上的一个或多个存储元件的阈值电压。这些电压脉冲可以是在幅值上低于用于编程到更高状态的软编程脉冲的软编程脉冲(步骤954)。例如当这些存储元件经历了深擦除时可以使用这种类型的编程,以确保其阈值电压都在期望的擦除状态的阈值电压以下。步骤956包括验证例如相对于期望的擦除状态的、存储元件的编程状况。例如,这可以包括执行以上所述的图9e的步骤932-938。如果在决定步骤958要继续软编程,则例如当存储元件还没达到期望的擦除状态时,该控制流程在步骤954继续。否则,处理在步骤960结束。
此外,可以对与公共字线和源极相关联的多个存储元件同时执行擦除-验证操作。
图10a图示VSOURCE随温度的改变。在另一方法中,对VSOURCE进行温度补偿,例如使得其随温度增加。通常,VWL=VSOURCE+VTH(选择的存储元件),其中VWL是被施加到所选字线的电压。如所讨论的,VTH随温度降低。因此,在VWL固定时,可以将VSOURCE设置为随着温度增加以避免在感测期间的温度偏压。此外,在一种可能的实施方式中,可以施以限制,使得VSOURCE仅被增加到正值。例如,如果在基线温度处VSOURCE=0V,并且该温度增加,则VSOURCE保持在0V。如果温度降低,则VSOURCE根据温度系数而增加。另一方面,如果在基线温度处VSOURCE>0V,并且温度增加,则VSOURCE可以降低到大于或等于0V的值,即非负值。如果温度降低,则VSOURCE根据温度系数而增加。
图10b绘出包括不同组的NAND串在内的存储元件的阵列的例子。沿着存储器阵列1000的每列,位线1006被耦接到NAND串1050的漏极选择栅极的漏极端1026。沿着NAND串的每行,源极线1004可以连接NAND串的源极选择栅极的所有源极端1028。在美国专利号5570315、5774397以及6046935中找到作为存储器系统的一部分的、NAND体系结构阵列及其操作的例子。
存储元件的阵列被划分成存储元件的大量块。如对闪速EEPROM系统公共的,块是擦除的单位。即,每个块包含一起被擦除的存储元件的最小数量。每个块典型地被划分成多个页。页是编程的单位。在一个实施例中,各个页可以被划分成段(segment),并且这些段可以包含作为基本编程操作一次被写入的最少数量的存储元件。一个或多个页的数据典型地被存储在一行存储元件中。一页可以存储一个或多个扇区(sector)。扇区包括用户数据和系统开销数据。系统开销数据典型地包括从扇区的用户数据计算的纠错码(ECC)。当数据正被编程到阵列中时,控制器(在下文描述)的一部分计算ECC,并且当正从该阵列读取数据时,控制器的一部分还检查ECC。或者,ECC和/或其他系统开销数据被存储在与其所属的用户数据不同的页、或甚至不同的块中。
一个扇区的用户数据典型地是512字节,对应于在磁盘中的扇区的大小。系统开销数据典型地是另外的16-20字节。例如从8页直到32、64、128或更多页的大量页形成块。在一些实施例中,一行NAND串包含块。
在一个实施例中,通过将p阱升高到擦除电压(例如20V)达足够的时间段并将所选择块的字线接地,同时源极和位线浮动,来擦除存储器存储元件。由于电容性耦合,未选择的字线、位线、选择线和c源极也升高到擦除电压的大分数(significant fraction)。因此强电场被施加到所选存储元件的隧道氧化层(tunnel oxide layer),并且随着浮置栅极的电子典型地通过Fowler-Nordheim隧道机制被发射到衬底侧,所选存储元件的数据被擦除。随着电子被从浮置栅极传送到p阱区域,所选存储元件的阈值电压降低。可以对存储元件的整个存储器阵列、单独的块或者其他单位执行擦除。
图11是使用单个行/列解码器和读/写电路的非易失性存储器系统的方框图。该图图示了根据本发明的一个实施例的具有并行地读取并编程一页存储元件的读/写电路的存储器器件1196。存储器器件1196可以包括一个或多个存储器晶片(die)1198。存储器晶片1198包括存储元件1000、控制电路1110和读/写电路1165的二维阵列。在一些实施例中,存储元件的阵列可以是三维的。可由字线经由行解码器1130以及由位线经由列解码器1160对存储器阵列1000寻址。读/写电路1165包括多个感测块1100,并允许并行地对一页存储元件读取或编程。典型地,控制器1150被包括在与一个或多个存储器晶片1198相同的存储器器件1196(例如可移除存储卡)中。经由线路1120在主机与控制器1150之间以及经由线路1118在控制器与一个或多个存储器晶片1198之间传送命令和数据。
控制电路1110与读/写电路1164协作来对存储器阵列1000执行存储器操作。控制电路1110包括状态机1112、芯片上地址解码器1114和功率控制模块1116。状态机1112提供对存储器操作的芯片级控制。芯片上地址解码器1114提供在由主机或存储器控制器使用的地址与由解码器1130和1160使用的硬件地址之间的地址接口。功率控制模块1116控制在存储器操作期间被提供给字线和位线的功率和电压。
在一些实施方式中,可以组合图11的组件中的一些。在各种设计中,可以考虑不同于存储元件阵列1000的一个或多个组件(单独或组合)作为管理或控制电路。例如,一个或多个管理或控制电路可以包括控制电路1110、状态机1112、解码器1114/1160、功率控制1116、感测块1100、读/写电路1165、控制器1150等的任意一个或者组合。
图12是使用双行/列解码器和读/写电路的非易失性存储器系统的方框图。在此,提供了图11所示的存储器器件1196的另一布置。在存储器阵列1000的相对两侧以对称方式实现由各种外围电路对存储器阵列1000的存取,使得每侧的存取线路和电路的密度减少了一半。因此,行解码器被分裂为行解码器1130A和1130B,且列解码器被分裂为列解码器1160A和1160B。类似地,读/写电路被分裂为连接到来自阵列1000的底部的位线的读/写电路1165A和连接到来自阵列1000的顶部的位线的读/写电路1165B。以此方式,读/写模块的密度实质上减少了一半。图12的器件还可以包括如上所述用于图11的器件的控制器。
图13是绘出感测块的一个实施例的方框图。单独的感测块1100被分割为称为感测模块1180的核心部分和公共部分1190。在一个实施例中,将存在用于每个位线的分离的感测模块1180和用于多个感测模块1180的组的一个公共部分1190。在一个例子中,感测模块将包括一个公共部分1190和八个感测模块1180。在一组中的每个感测模块将经由数据总线1172与相关联的公共部分通信。为了进一步的细节,参考2006年6月29日公开的题为“Non-VolatileMemory and Method with Shared Processing for an Aggregate of SenseAmplifiers”的美国专利申请公开号2006/0140007,通过引用将其全部内容合并于此。
感测模块1180包括感测电路1170,其确定在连接的位线中的导电电流是在预定阈值电平以上还是以下。感测模块1180还包括位线锁存器1182,其用于设置在连接的位线上的电压条件。例如,在位线锁存器1182中锁存的预定状态将导致被连接的位线被拉至指定编程禁止的状态(例如VDD)。
公共部分1190包括处理器1192、一组数据锁存器1194以及被耦接在该组数据锁存器1194与数据总线1120之间的I/O接口1196。处理器1192执行计算。例如,其功能之一是确定在被感测的存储元件中存储的数据,并将所确定数据存储在该组数据锁存器中。该组数据锁存器1194用于在读操作期间存储由处理器1192确定的数据位。其还用于在编程操作期间存储从数据总线1120输入的数据位。输入的数据位表示意图被编程到存储器中的写数据。I/O接口1196提供在数据锁存器1194与数据总线1120之间的接口。
在读取或感测期间,该系统的操作在状态机1112的控制之下,该状态机1112控制向被寻址的存储元件供应不同的控制栅极电压。随着逐步经过与存储器所支持的各种存储器状态对应的各种预定控制栅极电压,感测模块1180可以行进(trip)到这些电压之一处,并且从感测模块1180经由总线1172向处理器1192提供输出。在该点时,处理器1192通过考虑感测模块的(一个或多个)行进事件以及关于从状态机经由输入线1193施加的控制栅极电压的信息来确定得到的存储器状态。然后其计算对于该存储器状态的二进制编码,并将得到的数据位存储到数据锁存器1194中。在核心部分的另一实施例中,位线锁存器1182用于双重任务,作为用于锁存感测模块1180的输出的锁存器以及还作为位线锁存器两者,如上所述。
一些实施方式可以包括多个处理器1192。在一个实施例中,每个处理器1192将包括输出线(未绘出),使得每个输出线一起被“或”配线(wired-OR’d)。在一些实施例中,在连接到“或”配线的线路之前,输出线被反转。该配置使能够在程序验证处理器期间快速确定何时已经完成编程处理,因为接收“或”配线的状态机可以确定正被编程的所有位线何时达到期望的电平。例如,当每个位线达到其期望的电平时,对于该位线的逻辑0将被发送到”或”配线的线路(或数据1被反转)。当所有位线输出数据0时(或者数据1被反转时),则状态机知道要终止编程处理。因为每个处理器与八个感测模块通信,所以状态机需要读取“或”配线的线路八次,或者逻辑被添加到处理器1192以累积相关位线的结果,使得状态机仅需要读取“或”配线的线路一次。类似地,通过恰当地选择逻辑电平,全局状态机可以检测第一位何时改变其状态,并可以因此改变算法。
在编程或验证期间,将要被编程的数据从数据总线1120存储在该组数据锁存器1194中。在状态机的控制下,编程操作包括被施加到被寻址的存储元件的控制栅极的一系列编程电压脉冲。每个编程脉冲后跟随回读(read back)(验证),用于确定存储元件是否已经被编程为期望的存储器状态。处理器1192相对于期望的存储器状态来监视回读的存储器状态。当两者一致时,处理器1192设置位线锁存器1182以便致使位线被拉至指定编程禁止的状态。即使编程脉冲出现在存储元件的控制栅极上,这也禁止被耦接到位线的存储元件进一步编程。在其他实施例中,处理器首先加载位线锁存器1182,并且感测电路在验证处理期间将其设置为禁止值。
数据锁存器堆栈1194包含与感测模块对应的数据锁存器的堆栈。在一个实施例中,每个感测模块1180存在三个数据锁存器。在一些实施方式中(但不是要求的),将数据锁存器实现为移位寄存器,使得存储在其中的并行数据被转换成用于数据总线1120的串行数据,并反之亦然。在优选实施例中,对应于存储元件的读/写块的所有数据锁存器可以被链接在一起以形成块移位寄存器,使得可以通过串行传送来输入或输出数据块。具体地,适配r个读/写模块的堆(bank),使得该组数据锁存器的每个将按顺序向数据总线移入数据或从数据总线移出数据,就好像它们是用于整个读/写块的移位寄存器的一部分一样。
可以在(1)题为“Non-volatile Memory And Methods With Reduced SourceLine Bias Errors”、2007年3月27日出版的美国专利7196931;(2)题为“Non-Volatile Memory And Method with Improved Sensing”、2006年4月4日出版的美国专利7023736;(3)题为“Memory Sensing Circuit And Method ForLow Voltage Operation”、2006年5月16日出版的美国专利7046568;(4)题为“Compensating for Coupling During Read Operations of Non-volatileMemory”、2006年10月5日公开的美国专利申请公开2006/0221692以及(5)题为“Reference Sense Amplifier For Non-Volatile Memory”、2006年7月20日公开的美国专利申请公开号2006/0158947中找到关于非易失性存储器件的各种实施例的结构和/或操作的另外的信息。通过全部引用将就在以上列出的所有五个专利文件合并于此。
图14图示了将存储器阵列组织成用于全位线存储器体系结构或者用于奇偶存储器体系结构的块的例子。描述了存储器阵列1400的示例结构。作为一个例子,描述了被分割成1024个块的NAND闪速EEPROM。可以同时擦除在每个块中存储的数据。在一个实施例中,块是同时被擦除的存储元件的最小单位。在此例子中,在每个块中,存在与位线BL0、BL1、......BL8511对应的8512列。在称为全位线(ABL)体系结构(体系结构1410)的一个实施例中,在读取和编程操作期间同时选择块的所有位线。可以同时对沿着公共字线并被连接到任意位线的存储元件编程。
在所提供的例子中,64个存储元件和两个哑(dummy)存储元件被串联连接以形成NAND串。存在64条数据字线和两条哑字线WL-d0和WL-d1,其中每个NAND串包括64个数据存储元件和两个哑存储元件。在其他实施例中,NAND串可以具有多余或少于64个数据存储元件和两个哑存储元件。数据存储器单元可以存储用户或系统数据。哑存储器单元典型地不用于存储用户或系统数据。
NAND串的一端经由(被连接到选择栅极漏极线SGD的)漏极选择栅极被连接到相应位线,并且另一端经由(被连接到选择栅极源极线SGS的)源极选择栅极被连接到c源极。
在称为奇偶体系结构(体系结构1400)的一个实施例中,位线被划分成偶位线(Ble)和奇位线(BLo)。在此情况下,在一个时间对沿着公共字线并被连接到奇位线的存储元件编程,而在另一时间对沿着公共字线并被连接到偶位线的存储元件编程。数据可以被编程到不同块中并同时从不同块读取。在此例子中,在每个块中,存在被划分成偶数列和奇数列的8512个列。
在读取和编程操作的一个配置中,同时选择4256个存储元件。所选的存储元件具有相同的字线和相同种类的位线(例如偶或奇)。因此,可以同时读取或编程形成逻辑页的532字节的数据,并且存储器的一个块至少可以存储8个逻辑页(四个字线,每个具有偶数页和奇数页)。对于多状态存储元件,当每个存储元件存储两位数据时,其中这两位数据的每个被存储在不同的页中,一个块存储16个逻辑页。也可以使用其他大小的块和页。
对于ABL或奇偶体系结构,可以通过将p阱拉至擦除电压(例如20V)并将所选块的字线接地来擦除存储元件。源极和位线是浮动的。可以对整个存储器阵列、分离的块或作为存储器器件的一部分的存储元件的另一单位执行擦除。将电子从存储元件的浮置栅极传送到p阱区域,使得存储元件的VTH变成负的。
图15绘出阈值电压分布的示例集。对于每个存储元件存储两位数据的情况提供了存储元件阵列的示例VTH分布。对于被擦除的存储元件提供了第一阈值电压分布E。还绘出了对于被编程的存储元件的三个阈值电压分布A、B和C。在一个实施例中,E分布中的阈值电压是负的,且A、B、C分布中的阈值电压是正的。
每个不同的阈值电压范围对应于数据位的集的预定值。在被编程到存储元件中的数据与存储元件的阈值电压电平之间的具体关系取决于适用于存储元件的数据编码方案。例如美国专利号6222762和公开于2004年12月16日的美国专利申请公开号2004/0255090描述了用于多状态闪存元件的各种数据编码方案。在一个实施例中,使用格雷码分配向阈值电压范围分配数据值,使得如果浮置栅极的阈值电压错误地移动到其邻近的物理状态,则将仅影响一位。一个例子向阈值电压范围E(状态E)分配“11”、向阈值电压范围A(状态A)分配“10”、向阈值电压范围B(状态B)分配“00”、向阈值电压范围C(状态C)分配“01”。然而,在其他实施例中,不使用格雷码。尽管示出了四个状态,但是还可以通过包括那些包括了多于或少于四个状态的那些状态在内的其他多状态结构来使用本发明。
还提供了三个读取参考电压Vra、Vrb和Vrc用于从存储元件读取数据。通过测试给定存储元件的阈值电压是在Vra、Vrb和Vrc以上还是以下,该系统可以确定存储元件处于的状态,例如编程状况。
此外,提供了三个验证参考电压Vva、Vvb和Vvc。当存储元件存储另外的状态时,可以使用另外的读取和参考值。当将存储元件编程到状态A时,该系统将测试这些存储元件是否具有大于或等于Vva的阈值电压。当将存储元件编程到状态B时,该系统将测试这些存储元件是否具有大于或等于Vvb的阈值电压。当将存储元件编程到状态C时,该系统将确定这些存储元件是否具有大于或等于Vvc的其阈值电压。
在已知为全顺序编程的一个实施例中,可以将存储元件从擦除状态E直接编程到编程状态A、B、或C的任意一个。例如,首先可以擦除要被编程的全体存储元件,使得全体中的所有存储元件处于擦除状态E。然后诸如由图19的控制栅极电压序列绘出的一系列编程脉冲将用于将存储元件直接编程到状态A、B或C。在一些存储元件正从状态E被编程到状态A的同时,其他存储元件正从状态E被编程到状态B和/或从状态E被编程到状态C。当在选择的字线WLi上从状态E编程到状态C时,与在WLi-1下的相邻浮置栅极的寄生耦合的量被最大化,这是因为与当从状态E编程到状态A或从状态E编程到状态B时的电压改变相比,在WLi下的浮置栅极上的电荷量的改变最大。当从状态E编程到状态B时,与相邻浮置栅极的耦合量减少,但仍然很大。当从状态E编程到状态A时,耦合量甚至进一步减少。从而,随后读取WLi-1的每个状态所需的校正量将取决于WLi上的相邻存储元件的状态而变化。
图16图示了对存储用于两个不同页:较低页和较高页的数据的多状态存储元件编程的两遍(two-pass)技术的例子。绘出了四个状态:状态E(11)、状态A(10)、状态B(00)和状态C(01)。对于状态E,两个页都存储了“1”。对于状态A,较低页存储“0”,较高页存储“1”。对于状态B,两个页都存储“0”。对于状态C,较低页存储“1”,较高页存储“0”。注意,尽管已经向每个状态分配了具体的位样式,但是也可以分配不同的位样式。
在第一遍编程中,根据要被编程到较低逻辑页中的位来设置存储元件的阈值电压电平。如果该位是逻辑“1”,则不改变阈值电压,因为由于较早前已经被擦除,其处于适当的状态。然而,如果要被编程的位是逻辑“0”,则增加存储元件的阈值电平以成为状态A,如箭头1600所示。这结束第一遍编程。
在第二遍编程中,根据被编程到较高逻辑页中的位来设置存储元件的阈值电压电平。如果较高逻辑页位要存储逻辑“1”,则不发生编程,因为取决于较低页位的编程,存储元件处于状态E或A之一,其两者都可以运送较高页位“1”。如果较高页位会是逻辑“0”,则阈值电压偏移。如果第一遍得到仍然处于擦除状态E的存储元件,则在第二阶段中,对存储元件编程,使得阈值电压增加为在状态C内,如箭头1620所绘。如果由于第一遍编程因此存储元件已经被编程到状态A,则在第二遍中中进一步对存储元件编程,使得阈值电压被增加为在状态B内,如箭头1610所绘。第二遍的结果是将存储元件编程到被指定为存储用于较高页的逻辑“0”的状态而不改变用于较低页的数据。在图15和图16两者中,与相邻字线上的浮置栅极的耦合量取决于最终状态。
在一个实施例中,如果要写入足够的数据以填满整个页,则可以将系统设定为执行全顺序写入。如果写入不足够填满页的数据,则该编程处理可以利用所接收的数据对较低页编程。当接收到随后的数据时,然后该系统将对较高页编程。在另一实施例中,该系统可以开始按对较低页编程的模式写入,并且如果随后接收到填满整个(或者大多数)字线的存储元件的足够数据,则转换到全顺序编程模式。在2006年6月15日公开的题为“PipelinedProgramming of Non-Volatile Memories Using Early Data”的美国专利申请公开号2006/0126390中公开了这样的实施例的更多细节,通过全部引用将其合并于此。
图17a-17c公开了用于对非易失性存储器编程的另一处理,该处理对于任何具体的存储元件,通过在向先前页的相邻存储元件写入后,相对于具体页向该具体存储元件写入,来减少浮置栅极到浮置栅极耦合的影响。在一个实施例中,非易失性存储元件使用四个数据状态每个存储元件存储两位数据。例如,假设状态E是擦除状态,状态A、B、和C是编程状态。状态E存储数据11。状态A存储数据01。状态B存储数据10。状态C存储数据00。这是非格雷编码的例子,因为两位在相邻的状态A和B之间都改变。还可以使用将数据编码为物理数据状态的其他编码。每个存储元件存储两页数据。为了引用的目的,这些页的数据将被称为较高页和较低页;然而,也可以对它们给出其他标签。参考状态A,较高页存储位0,较低页存储位1。参考状态B,较高页存储位1,较低页存储位0。参考状态C,两个页都存储位数据0。
该编程处理是两遍处理。在第一步中,对较低页编程。如果较低页要保持数据1,则该存储元件状态保持在状态E。如果数据要被编程为0,则存储元件的电压的阈值升高,使得存储元件被编程到状态B`。图17a因此示出了存储元件从状态E到状态B`的编程。状态B`是暂时状态B;因此,验证点被绘出为Vvb`,其低于Vvb。
在一个实施例中,在将存储元件从状态E编程到状态B`时,然后将相对于其较低页,对NAND串中的其相邻的存储元件(WLn+1)编程。例如,回到图2,在对存储元件106的较低页编程后,将对存储元件104的较低页编程。在对存储元件104编程后,如果存储元件104具有从状态E升高到状态B`的阈值电压,则浮置栅极到浮置栅极耦合效应将升高存储元件106的装置阈值电压。这将具有将状态B`的阈值电压分布扩宽到如图17b的阈值电压分布1750所绘的效果。当对较高页编程时,将修正阈值电压分布的这种明显扩宽。
图17c绘出对较高页编程的处理。如果存储元件处于擦除状态E,并且较高页要保持在1,则存储元件将保持在状态E。如果存储元件处于状态E,并且其较高页数据要被编程到0,则存储元件的阈值电压将升高,使得存储元件处于状态A。如果存储元件处于中间阈值电压分布1750,并且较高页数据要保持在1,则存储元件将被编程到最终状态B。如果存储元件处于中间阈值电压分布1750,并且较高页数据要变为数据0,则存储元件的阈值电压将升高,使得存储元件处于状态C。图17a-17c所绘的处理减少了浮置栅极到浮置栅极耦合的影响,因为仅相邻存储元件的较高页编程将对给定存储元件的明显阈值电压具有影响。当较高页数据是1时,替换的状态编码的例子要从分布1750移动到状态C,当较高页数据是0时,要移动到状态B。
尽管图17a-17c提供了关于四个状态和两页数据的例子,但是所教导的概念可以应用于具有比四个状态更多或更少、并且不同于两页的其他实施方式。例如,图5a-5d讨论了具有三页:较低页、中间页和较高页的实施例。
图18是描述用于对非易失性存储器编程的一个实施例的流程图。在一种实施方式中,在编程之前(按块或其他单位)擦除存储元件。在步骤1800中,由控制器发布“数据加载”命令,并由控制电路1110接收输入。在步骤1805中,指定页地址的地址数据从控制器或主机被输入到解码器1114。在步骤1810,被寻址的页的一页编程数据被输入到数据缓冲器用于编程。该数据被锁存在适当的一组锁存器中。在步骤1815,由控制器向状态机1112发布“编程”命令。
由“编程”命令触发,将使用被施加到适当的所选字线的图19的脉冲串1900的步阶编程脉冲,将在步骤1810中锁存的数据编程到由状态机1112控制的所选存储元件中。在步骤1820中,编程电压VPGM被初始化为开始脉冲(例如12V或其他值),并且由状态机1112维持的编程计数器(PC)被初始化为0。在步骤1830,第一VPGM脉冲被施加到所选字线,以开始对与所选字线有关的存储元件编程。如果逻辑“0”被存储在具体的数据锁存器中,表明应该对相应的存储元件编程,则将相应位线接地。另一方面,如果逻辑“1”被存储在具体的锁存器中,表明相应的存储元件应该保持在其当前的数据状态,则将相应位线连接到Vdd以禁止编程。
在步骤1835,验证所选存储元件的状态。如果检测到所选存储元件的目标阈值电压达到了适当的电平,则被存储在相应数据锁存器中的数据被改变为逻辑“1”。如果检测到阈值电压还没有达到适当的电平,则被存储在相应数据锁存器中的数据不改变。以此方式,具有被存储在其相应数据锁存器中的逻辑“1”的位线不需要被编程。当所有的数据锁存器都存储逻辑“1”时,状态机(经由上述的“或”配线型机制)知道所有选择的存储元件都已经被编程。在步骤1840,检查是否所有的数据锁存器都存储逻辑“1”。如果所有的数据锁存器都存储逻辑“1”,则编程处理完成并且是成功的,因为所有选择的存储元件都被编程和验证。在步骤1845中报告状态“通过(PASS)”。
如果在步骤1840中确定不是所有的数据锁存器都存储逻辑“1”,则该编程处理继续。在步骤1850,针对编程限制值PCmax检查编程计数器PC。编程限制值的一个例子是20;然而,也可以使用其他数字。如果编程计数器PC不小于PCmax,则编程处理已经失败,并且在步骤1855中报告状态“失败”。如果编程计数器PC小于PCmax,则将VPGM增加步长(step size),并且在步骤1860中递增编程计数器PC。然后该处理循环回到步骤1830以施加下一VPGM脉冲。
图19绘出了在编程期间被施加到非易失性存储元件的控制栅极的示例脉冲串1900以及在脉冲串期间出现的以升压模式的切换。脉冲串1900包括被施加到所选字线用于编程的一系列编程脉冲1905、1910、1915、1920、1925、1930、1935、1940、1945、1950、......。在一个实施例中,编程脉冲具有以12V开始并且对于每个连续的编程脉冲用增量例如0.5V来增加直到达到最大值20V为止的电压VPGM。在编程脉冲之间的是验证脉冲。例如,验证脉冲组1906包括三个验证脉冲。在一些实施例中,可能存在对于数据被编程到的例如状态A、B和C的每个状态的验证脉冲。在其他实施例中,可以存在更多或更少的验证脉冲。每个组中的验证脉冲可以具有例如Vva、Vvb和Vvc(图16)或者Vvb’(图17a)的幅度。
如所述,当发生编程时,例如在编程脉冲之前以及在编程脉冲期间,施加被施加到字线以实现升压模式的电压。在实践中,可以稍微在每个编程脉冲之前开始升压模式的升压电压,并在每个编程脉冲后移除。另一方面,例如在这些编程脉冲之间发生的验证处理期间,不施加升压电压。而是,将典型地小于升压电压的读取电压施加到未选择的字线。当将当前被编程的存储元件的阈值电压与验证电平比较时,读取电压具有足够维持在NAND串中的先前被编程的存储元件导通的幅度。
为了图示和描述的目的已经给出了在前的本发明的详细描述。并不是意要穷尽或本发明或将其限制为公开的精确形式。根据以上教导,能够进行许多修改和变更。选择所述的实施例以便最佳地说明本发明的原理及其实际应用,由此使得本领域技术人员能够在各种实施例中以及通过适合于意图的具体使用的各种修改最佳地利用本发明。意要本发明的范围由附于此的权利要求书限定。