具有编程时间控制的非易失性存储器系统的制作方法

文档序号:6784534阅读:204来源:国知局
专利名称:具有编程时间控制的非易失性存储器系统的制作方法
技术领域
本发明大体上涉及非易失性存储器系统,且明确地说涉及一种具有编程时间控制的非易失性存储器系统。
背景技术
非易失性存储器的存储器单元或电荷存储元件(这两个术语在本文中可互换使用)通常一次性并行编程一部分或整行的单元。将编程电压脉冲施加到选定行的存储器单元,直到在编程循环中行中选定单元的每一者的阈值电压已被编程为预定电压范围内的值为止(其可能是或可能不是所述单元的最终期望状态)。在每一编程循环期间,以预定时间间隔(例如周期性时间间隔)施加一时间序列的编程电压脉冲,其中与序列中紧接前方的编程脉冲的振幅相比,每一编程脉冲的振幅已增加的固定电压阶跃。
编程电压脉冲之间的时间周期中,实施编程验证操作。也就是说,在每一编程脉冲之后读取正被并行编程的每一电荷存储元件的编程电平,以确定其是否不小于其将被编程达到的验证电压电平。如果确定给定电荷存储元件的阈值电压已超过验证电压电平,那么在下文称为锁定(locking out)的过程中,通过将与特定电荷存储元件连接的位线的电压从低电压(通常为0伏)升高到高电平或抑制电平(通常为Vdd)来停止对这一电荷存储元件的编程。正被并行编程的其它电荷存储元件的编程继续进行,直到其接着达到其验证电压电平为止。在每一编程验证操作之后,如果仍然存在一个或一个以上正被并行编程的电荷存储元件的阈值电压仍未达到验证电压电平,那么编程脉冲的振幅增加预定步长并再次施加到正被并行编程的电荷存储元件,之后再次是编程验证操作。如果在下一编程操作之后,增加的编程脉冲仍未促使正被并行编程的所有充电存储元件的阈值电压达到验证电压电平,那么在下一时间间隔期间编程脉冲的振幅又一次增加相同的预定步长,且重复此过程直到正被并行编程的所有电荷存储元件的阈值电压已达到验证电压电平为止。这标志着特定编程循环结束。
在电荷是由Fowler-Nordheim穿隧引入的浮栅电荷存储元件中,可使用众所周知的穿隧等式将浮栅上的电荷量计算为电压脉冲特性的函数。图5A展示阈值电压(从控制栅极测量得到)作为施加到控制栅极的电压脉冲的数目的函数。此模拟中使用的各种Fowler-Nordheim参数选择为对于90nm NAND过程来说是典型的,且假定电压脉冲以15伏开始且每个脉冲增加0.2伏。两条曲线展示对于两种不同脉冲持续时间(10μsec和15μsec)来说,阈值相对于电压的斜率几乎相同。较长的脉冲持续时间产生初始较高的阈值电压(较长时间期间具有较多电荷隧道),但阈值随着每一脉冲的变化与电压的绝对值成比例。这意味着只要我们针对每一编程步骤使用固定的脉冲持续时间,我们就可预期在每一脉冲期间阈值将增加的量不会大于给定量(此情况下为0.2伏),且如果我们如上所述以单元为基础抑制对单元的编程,那么我们预期编程到给定逻辑状态的所有单元的最终阈值分布处于近似等于电压脉冲步长的较窄范围内。
所观察到的问题是,如果在编程序列期间允许脉冲持续时间发生变化,那么所述阈值分布的宽度将不良地较大。图5B展示以10μsec的恒定编程持续时间施加第一4个脉冲的模拟,其中每一脉冲增加0.2伏,且接着之后是可变的编程脉冲宽度。系列1展示在第5个脉冲和所有后续脉冲均为15μsec的情况下阈值电压的变化。在另外5-10个脉冲之后,根据图5A中所示的结果,后续阈值电压的变化接近先前利用较窄脉冲获得的阈值电压的变化。注意,仅一个较长脉冲便可增加在所述脉冲之后被锁定的任何单元的阈值,使得其可超过当脉冲宽度不增加时所预期的阈值。系列2展示在每一脉冲之后脉冲持续时间在10μsec与15μsec之间振荡的情况下阈值电压的预期变化脉冲5为10μsec且脉冲6为15μsec,脉冲7为10μsec且脉冲8为15μsec等等。在此情况下,已编程状态的阈值分布将大于通过始终施加10μsec或15μsec而获得的阈值分布,或大于从脉冲宽度有一次变化中获得的阈值分布。尽管一些脉冲导致小于0.2伏的阈值电压变化,但这并不一定有帮助,因为如果所述脉冲未能锁定但恰好在验证电平以下,那么将只需要有一个预期阈值变化较大的脉冲来导致加宽的阈值分布。
以上编程操作适用于多电平电荷存储元件以及双电平电荷存储元件或存储器单元。美国专利6,522,580中描述了对以上对于多电平电荷存储元件的编程和编程验证操作的说明,所述专利的全文以引用的方式并入本文中。
如从以上描述将了解,上述编程过程需要以编程脉冲之后进行编程验证操作的方式重复地对单元编程。因此,此过程可能比较耗时。因此,需要用于施加每一编程脉冲的编程时间具有短持续时间,使得可在尽可能短的时间内将存储器单元或电荷存储元件编程为期望的阈值电压,以便改进性能。
用于对存储器单元编程的编程脉冲通常由电荷泵产生,电荷泵中容易经由DAC控制来改变输出电压。电荷泵的电压输出通常与参考电压进行比较。当电荷泵的输出达到参考电压的值时,产生编程旗标信号FLGPGM以指示泵输出电压已达到期望的编程电压电平。一旦编程旗标FLGPGM为高,就将开始测量选定行中选定单元的编程时间。当此编程时间开始时,电荷泵的编程电压输出(也称为泵脉冲)并行施加到存储器单元或电荷存储元件以便改变其阈值电压。在编程旗标FLGPGM延迟的情况下,例如在如下所述电荷泵较弱的情况下,当编程旗标FLGPGM尚未到达时编程将在旗标FLGPGM的预期时间之后一预定时间开始,从而导致脉冲之间可变的编程持续时间。
当编程电压电平增加某一步长电压时,参考电压增加相同步长且在编程脉冲增加了步长之后用于与编程脉冲进行比较。以此方式,用于产生编程旗标FLGPGM的参考电压将与不断增加的编程电压电平保持同步。
许多电荷泵的强度是温度和输入电压电平两者的函数。在较冷温度下,(例如)一些类型的电荷泵趋向于变弱,使得其需要更多时间来使电荷泵的输出电压达到特定预期电压值。与需要低振幅电压输出的情况相比,在要求高振幅电压输出的情况下,弱电荷泵也可能花费较长时间来提供电压输出。因此,当泵较弱以使得编程旗标FLGPGM延迟时,即使当编程电压脉冲振幅尚未达到其希望或预期值时,也将在周期性时间开始编程。据观察,在这些情形下,在编程循环内,实际编程有时由于编程旗标FLGPGM的到来而被触发,且有时当编程旗标FLGPGM延迟时在周期性时间被触发。因此有效编程时间(其间编程脉冲处于期望的电压电平的编程时间周期部分)将发生变化。这可促使存储器单元的阈值电压分布加宽。
一种解决方案是增加分配给编程的时间,使得尽管在编程时间周期开始时电荷泵的电压输出尚未达到期望的电压电平,但分配给编程的较长编程时间周期仍允许弱电荷泵在某一时间延迟之后达到期望的电压电平,使得所产生的有效编程时间仍将足以将存储器单元编程为预期的阈值电压值。然而,如上文所注释,为了获得增加的性能,将需要最小化其中施加编程脉冲的编程时间。因此,分配较长编程时间将使非易失性存储器系统的性能下降。由于仅在某些有限状况下需要较长编程时间,所以情况尤其如此。因此,需要提供一种其中减轻了上文描述的困难的非易失性存储器系统。

发明内容
理想地,当电荷泵较强时(例如,当电荷泵在室温下操作时),需要使所分配的编程时间周期尽可能短,且仅当必须补偿较慢的电荷泵时较长的编程时间周期才将为优选。同样,在编程循环的开始部分期间当要求电荷泵为编程脉冲供应低到中等电压输出时,可使用短编程时间周期。在编程循环快要结束时,当要求高振幅电压时,可使用较长编程时间周期而不是最初使用的较短时间周期。
本发明基于以下认识当发现由电荷泵提供的电压泵脉冲与参考电压不匹配时,将电压泵脉冲的编程时间周期调节为一值,所述值保持大体上不变直到编程循环结束为止。以此方式,在编程循环的其余部分期间防止编程脉冲的有效编程时间周期中的波动,使得将不发生或将减小阈值电压分布的加宽。此特征允许为编程脉冲指定短编程时间周期以便增强性能,同时当电荷泵正在促使其变慢且/或变弱的状况下操作时允许增加编程时间周期的灵活性。


图1说明计算机系统的方框图,所述计算机系统包含主机计算机和连接到主机计算机的快闪EEPROM系统。
图2是图1的快闪EEPROM系统的控制器和电压产生部分的方框图,其用于说明本发明一个实施例。
图3是图2中的电路元件中的一些元件的示意电路图,其用于说明本发明一实施例。
图4是说明图3的电路的操作的时序图。
图5A是对于两种不同脉冲持续时间,将单元阈值电压作为施加到电荷存储单元的脉冲数目的函数的计算机模拟。
图5B是对于两种不同脉冲持续时间序列,将单元阈值电压的变化作为施加到电荷存储单元的脉冲数目的函数的计算机模拟。
为了描述的简洁性,本申请案中相同组件由相同标号标记。
具体实施例方式
图1是经由系统总线15与主机计算机10通信的快闪存储器系统20(其可采取插入式卡或模块的形式)的方框图。快闪存储器系统20包含快闪EEPROM模块30和控制器40,控制器40进而包含存储器41和处理器43。控制器40解译从主机计算机10接收到的命令并以对主机计算机10透明的方式将其转译为针对快闪EEPROM模块30的相应读取、写入和其它操作。
图2说明(作为实例)与电荷泵电压脉冲的产生相关的快闪EEPROM系统20的部分的简化方框图。如图2所示,主机将电源电压Vsys施加到控制器40,并经由任选电压调节器45将可能不同的电压电平Vdd施加到模块30。处理器43将命令和时序信号施加到模块30,且电荷泵32响应于来自处理器43的控制信号从电压Vdd中产生编程脉冲Vpp。实践中,非易失性存储器30中的接口和控制模块56中通常具有充分的逻辑以控制存储器的详细操作,从而将处理器43从此责任中解除出来。通常控制56由充分的逻辑和专用逻辑状态机组成,所述逻辑使用预定义的协议来解译来自处理器43的命令,可能在控制56或阵列54内的独立ROM中存储有一些参数且当启动时这些参数被读出。然而,本发明不取决于控制器的实体位置,且可使用处理器43或接口和控制56。将编程脉冲Vpp施加到编程时间控制电路52并施加到存储器单元阵列54。阵列54包括存储器单元的行和列。为了描述的简洁性,已从图2中省略用于行和列控制的各种控制电路以及用于存储器阵列的其它控制。编程时间控制电路52检测编程脉冲Vpp的振幅何时低于参考电压。当此发生时,电路52设定编程时间旗标并将旗标发送到控制56。控制56进而增加由电荷泵32产生的后续脉冲Vpp的编程时间。电路52如此操作在编程脉冲Vpp的时间序列中,当遇到Vpp下降到相应参考电压(其逐步增加以跟上编程脉冲Vpp的步长电压增加)以下的第一实例时,在编程循环的其余部分设定编程时间旗标,使得增加的编程时间将被用于在编程循环的其余部分期间所产生的所有后续编程脉冲Vpp。
图3是更详细展示图2的编程时间控制电路52的示意电路图。如图3所示,电荷泵32的输出Vpp连接到分压器62,分压器62包括两个连接在节点65处的电阻器64a、64b。电阻器64b还接地。节点65连接到比较器66的输入之一,比较器66的另一输入从控制56接收电压aV(其中V是参考电压)。比较器66将节点65处的电压与电压aV进行比较。a的值已经过调节以虑及来自Vpp的跨电阻器64a的电压下降,以使得比较器66在节点65处的电压与aV之间进行的比较将指示Vpp在参考电压V以上还是以下。因此,当电荷泵32的电压输出Vpp在V以上时,比较器66将把旗标信号FLGPGM的值设定为高(即,“1”)。将旗标信号FLGPGM施加到SR触发器70的Sn输入。触发器70的输入Sn为“有效低”,这意味着触发器70的Sn输入响应在输入Sn处由旗标信号FLGPGM反相的信号。触发器70的输入Rn也为“有效低”。当激活CLKp时Vpp在参考电压以下时,将设定触发器70。
图4是说明图3的电路的操作的时序图,其中时间t0指示编程循环的开始。SR触发器70是时钟控制的触发器,使得当来自控制56的时钟脉冲CLKp有效(例如,高)时其响应输入Sn和Rn处的信号。如图4所说明,接近编程循环的开始t0时,控制56促使电荷泵32提供标记为1的第一泵脉冲,且将初始默认编程时间周期设定为较小值pt1(例如,约11或12μs)以优化图2所示的系统20的性能。如图4所示,编程时间pt1大体上与标记为1的第一泵脉冲的脉冲宽度相同。以上文描述的方式将此泵脉冲的振幅与由控制56供应的参考电压进行比较。
最初(即,在时间t0处)将编程时间旗标设定为低或“0”。假定第一编程脉冲1的Vpp的振幅高于参考电压的振幅,在如图4所示的时间t1之前确立旗标信号FLGPGM为高。触发器70接着在时间t1处从控制56接收第一时钟脉冲CLKp。如图4所示,在编程循环的开始t0处,从控制56施加到触发器70的输入Rn的操作结束时重设信号72被确立为高。因此,在时间t1处当将第一时钟脉冲(CLKp)施加到触发器时,输入Sn和Rn均为高。由于触发器响应旗标信号FLGPGM和操作结束时重设信号的反相信号,所以这指示触发器70的Q输出应保持在其在编程循环开始时设定的初始值,或保持为低或“0”。在时间t2处当将第二时钟脉冲(CLKp)施加到触发器70时,重复相同过程。在时间t2之前,编程脉冲Vpp高于参考电压,使得再次将旗标信号确立为高,且触发器的Q输出再次保持为低。
然而,时间t3处,电荷泵32的输出编程脉冲Vpp比之前升高得缓慢,使得直到t3之后的时间才达到期望的峰值振幅。这可能是由于许多不同原因造成的,其中之一是较低温度。另一可能原因是要求电荷泵32在时间t3处比早先时间供应更高的电压电平。由于到Sn的输入为低,所以在时间t3处触发器70将其Q处的输出重设为高。这是编程时间旗标信号,其被施加到控制56,控制56接着立即将编程时间从pt1增加到pt2,且将如此改变其施加到EEPROM模块30的控制信号以反映编程时间中的这种变化。这将允许泵脉冲有充分时间升高到预期的峰值振幅,且仍然允许在此峰值振幅下施加泵脉冲持续期望的编程时间pt1,如图4所指示。理想地,设定pt2的值以使得其比pt1长某一量,所述量刚好足以允许泵脉冲的较慢升高时间,以便即使当泵较弱时也不会不必要地使性能降级。在pt1为约11或12μs的上述实例中,pt2的值可为约14μs。
触发器70的Q输出74或编程时间旗标信号在编程循环的其余部分期间保持不变,使得处理器43和/或控制56继续控制模块30,使得在编程循环的其余部分期间使用此增加的编程时间pt2来代替pt1。因此,分配给下一泵脉冲Vpp的编程时间是pt2而不是pt1(如图4所示)。即使在时间t4处由于任何原因编程脉冲的振幅超过参考电压,使得旗标信号FLGPGM为高的情况下(如图4所示在时间t4处的情况),分配给泵脉冲Vpp的编程时间保持为pt2。在时间t6处编程循环结束时,操作结束时重设信号降低为“0”。如所属领域的技术人员已知,SR触发器可经设计以使得Rn处的重设输入比设定输入Sn具有更高优先权。因此在时间t6处时钟信号到来时,触发器70将其Q输出重设为低或“0”。这促使控制56将编程时间返回为较小的默认值pt1,准备进行下一编程循环。
虽然上文已参照各种实施例描述本发明,但将了解,可在不脱离本发明范围的情况下作出变化和修改,本发明范围将仅由附加权利要求书及其等效物界定。本文提到的所有参考以引用的方式并入本文中。
权利要求
1.一种非易失性存储器系统,其包括复数个电荷存储元件;一电荷泵,其连续提供电压泵脉冲,其中在一用于对所述复数个电荷存储元件编程的编程循环期间,所述脉冲中的至少一些脉冲的每一者的振幅相对于一先前脉冲而增加;一比较器,其具有一第一输入,所述第一输入接收所述电压泵脉冲序列;一第二输入,所述第二输入接收一其振幅以预定时间间隔增加的参考电压;和一输出,所述输出提供一指示所述电压泵脉冲与所述参考电压的一比较的输出信号;和一电路,其响应于所述输出信号而产生一编程时间控制信号,所述编程时间控制信号促使将一分配用于将所述电压泵脉冲施加到所述电荷存储元件的编程时间调节为一值,所述值保持大体上不变直到所述编程循环结束为止。
2.根据权利要求1所述的系统,所述电路包括一存储所述编程时间控制信号的锁存器。
3.根据权利要求2所述的系统,其中所述锁存器可在所述编程循环结束时重设。
4.根据权利要求2所述的系统,其进一步包括一控制器,所述控制器控制由所述电荷泵提供的所述电压泵脉冲的所述编程时间,其中所述控制器在所述编程循环结束时重设所述锁存器。
5.根据权利要求2所述的系统,其中所述锁存器包括一SR触发器。
6.根据权利要求1所述的系统,其进一步包括一将所述参考电压供应到所述比较器的控制器。
7.根据权利要求6所述的系统,其中所述控制器控制由所述电荷泵提供的所述电压泵脉冲的编程时间。
8.根据权利要求1所述的系统,所述脉冲宽度控制信号促使将所提供的所述电压泵脉冲的一脉冲宽度增加到一预定值,所述预定值保持大体上不变直到所述编程循环结束为止。
9.根据权利要求1所述的系统,其中所述编程时间被设定为一第一值,且所述编程时间控制信号促使将所述编程时间增加到一高于所述第一值的第二值。
10.一种用于对非易失性存储器系统进行编程的方法,所述系统包括复数个电荷存储元件;所述方法包括连续提供电压泵脉冲,其中在一用于对所述复数个电荷存储元件编程的编程循环期间,所述脉冲中的至少一些脉冲的每一者的振幅相对于一先前脉冲而增加;将所述电压泵脉冲序列与一其振幅以预定时间间隔增加的参考电压进行比较,并提供一输出信号,所述输出信号指示所述电压泵脉冲与所述参考电压的一比较;和响应于所述输出信号而产生一编程时间控制信号,所述编程时间控制信号促使将所提供的所述电压泵脉冲的一编程时间调节为一值,所述值保持大体上不变直到所述编程循环结束为止。
11.根据权利要求10所述的方法,其进一步包括存储所述编程时间控制信号。
12.根据权利要求10所述的方法,其进一步包括在所述编程循环结束时重设所述电压泵脉冲的编程时间。
13.根据权利要求10所述的方法,所述编程时间控制信号促使将所提供的所述电压泵脉冲的所述编程时间增加到一预定值,所述预定值保持大体上不变直到所述编程循环结束为止。
14.根据权利要求10所述的方法,其进一步包括将所述编程时间设定为一初始第一值,其中所述编程时间控制信号促使将所述编程时间增加到一高于所述第一值的第二值。
全文摘要
在一种非易失性存储器系统(20)中,当发现由一电荷泵(32)提供的用于编程存储器单元的电压泵脉冲与一参考电压不匹配时,将所述电压泵脉冲的编程时间周期调节为一值,所述值保持大体上不变直到编程循环结束为止。以此方式,在所述编程循环的其余部分期间防止编程脉冲的有效编程时间周期中的波动,使得将不发生或减小阈值电压分布的一加宽。此特征允许为所述编程脉冲指定一短编程时间周期以便增强性能,同时当所述电荷泵正在促使其变慢且/或变弱的状况下操作时允许增加的编程时间周期的灵活性。
文档编号G11C16/30GK101031978SQ200580030164
公开日2007年9月5日 申请日期2005年7月8日 优先权日2004年7月20日
发明者法鲁克·莫加特, 李彦, 亚历山大·K·马克 申请人:桑迪士克股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1