多级存储器的编程方法

文档序号:6752999阅读:175来源:国知局
专利名称:多级存储器的编程方法
技术领域
本发明涉及半导体存储器,更具体地说涉及一种对多存储状态的存储器进行编程的方法。
背景技术
在半导体存储器发展中遇到的一个主要问题是使资料存储密度达至最大,即每单位面积可存储多少比特的资料。一般而言,最好是所开发的存储芯片有最小的外形尺寸,但可存储最大量的资料。这导致开发出的存储芯片可以在单一存储单元之中存储多比特的资料,该芯片亦称为多级存储芯片。
在一般每一存储单元的容量为一比特的存储器中,该存储单元可处于两种信息存储状态之一,即一接通状态或一断开状态。这一接通状态或一断开状态的组合定为一比特的信息。在两级的存储器中,由于该存储单元只有两个不同的临界电压值,Vt,因此在读取操作期间,只需检测是否编址晶体管处于导通状态。一般的做法是,使流过存储晶体管的电流与流过参考晶体管的电流比较,两者均加以预定的漏极对源极和栅极对源极偏压,直接以通过电流方式检测或者经电流对电压转换后,以电压方式检测。
多级存储器的编程和检测方案是较为复杂,通常需要2n-1参考电压,其中n是存储在一存储单元的比特的数量。参照图4,其所示为先有技术的一多级存储器实例,其中每一存储单元的容量为二比特;其所对应的为三参考电压、四个存储级别。由二进制11表示的第一存储级别121为存储单元没有电荷的状态。由二进制00表示的存储级别124为存储单元完全充足电的状态。(本文及本文讨论中所使用的术语“没有电荷”及“完全充足电”为解释用,不应视为限定。例如,状态(11)可代表有少量的电荷,而状态(00)可代表有比最大电荷少的电荷。)介于没有电荷的状态(11)121和完全足电的状态(00)124之间的是由二进制10表示的第一中间存储级别122,其中存储单元有小量的电荷和由二进制01表示的第二中间存储级别123,其中存储单元有较在10状态时多的电荷但并不完全充足电。存储单元的每个存储状态之间所显示的临界电压(Vt)表示存储单元状态之间转换的目标临界电压。正如对具有四个存储级别的一两比特存储单元讨论的那样,它具有三个参考电压111,112,和113。例如,在临界电压为Vt=2.5伏特,存储状态处于参考存储级别111,其中存储单元将从状态11过渡到状态10。在临界电压为Vt=3.5伏特,存储状态参考存储级别112,其中存储单元将从状态10过渡到状态01。在临界电压为Vt=4.5伏特,存储状态参考存储级别113,其中存储单元将从状态01过渡到状态00。图4所示的临界电压值仅供说明用,实际值Vt将取决于存储单元的构造。
在一典型的闪存储单元编程中,该单元的控制栅极被施加一电压(例如,大约3-12伏特),其源极端接地,而漏极端连接到大约5伏特的电压。这种编程操作可以在一阵列中实现,即选择性地把脉冲施加于连接到控制栅极的字线路,再对连接到漏极的比特线路加偏压。这在先有技术中通常称之闪存单元编程的热电子注入法。热电子注入用于使电荷移入该浮动栅极,因此改变了该晶体管浮动栅极的临界电压。由于高压施加于控制栅极,因此造成电子在通道流动,而浮动栅极上注入了一些热电子并使浮动栅极的电压变得更加负性。所以,电子注入趋向饱和,而晶体管浮动栅极的临界电压跟随同样趋向饱和。该晶体管存储单元的存储状态可这样读取或检测,即在晶体管存储单元把工作电压(例如,大约4-6伏特)施加在控制栅极上以及把大约0.5-1.0伏特电压施加在漏极上,之后检测源极和漏极之间的电流值。
实现非易失性的多级存储器中的一个主要困难在于能准确地对存储单元进行编程,即把刚好数量的电荷施加到要求获得临界电压的目标值的晶体管单元的浮动栅极上。先有技术中解决准确施加电荷问题的通常方法是采用一种逐个存储单元编程和核实的方法。在所述的逐一编程和核实方法中,编程操作划分成若干单独的步骤,并在每一步骤之后检测单元,以确定目标临界电压值是否达到,如果没有达到的话,则继续进行编程。在编程期间,每一存储单元是独立地受控的,因此这种技术能对整个字节或甚至多字节同时进行编程。这一编程确保由采用有限编程步骤中固有的量化过程所提供的精确地达到目标Vt电压值。然而,这编程是很费时的,并且必须交由芯片的逻辑电路控制。
图5所示为一种典型编程和核实技术。如图5所示,存储单元的编程是通过交替的编程和核实脉冲电压实现的。每一编程脉冲的电压130随时间132逐渐地增加,直至达到目标电压。在编程过程中,核实脉冲的电平是保持不变的。例如,如图5所示,第一核实脉冲151之后,是第一编程脉冲141,然后是第二核实脉冲152。施加一逐渐增加的电压的一编程脉冲142,跟随的是一核实脉冲153,再跟随的是第三编程脉冲143,电压从先前编程脉冲142增加,接着是第三核实脉冲154,等等,直到施加最后的一编程脉冲147,使该存储单元达到目标存储状态的临界电压。正如可从图5看到的那样,图5的形状类似楼梯,而先有技术中这个编程称为楼梯形栅极电压编程方法。这种楼梯形电压编程方法在许多专利中有叙述,例如,美国专利5,043,940;5,268,870;5,293,560;和5,434,825。
先有技术的楼梯形电压编程方法存在速度和准确性之间的权衡。坡度较小且较缓的楼梯形的精度较高,但整体编程完成需时较长;而坡度较陡的楼梯形的编程速度较快,但精确度较差。
本发明的目的在于提供一种以编程的准确性高及编程的速度快对多级存储芯片进行编程的方法。

发明内容
上述目的是通过一种多级存储芯片的编程方法来实现,该方法结合先有技术的楼梯形电压编程方法,对存储单元的倒数第二电压存储状态,及最初或最低的电压存储状态进行编程。然后,在确定所有存储单元的存储状态均进行了编程以后,除待编写到最后(最高的)存储状态的这些存储单元之外,把编程脉冲立刻上升到最后电压存储状态编程的目标电压。所述本发明的方法可精确地对存储单元进行的任何一种存储状态进行编程。然而,因为存储单元的最后状态对编程电压的精度要求较低,所述的方法可确保立即对存储单元的最后电压存储状态进行编程,因此可提高存储单元的整体编程速度。因而,在不必牺牲把准确电荷量施加在存储单元上所需的准确性的状况下,本发明能够对存储单元进行快速编程。


图1是一曲线图,其表示本发明所使用的编程和核实脉冲步骤中的电压与时间的关系。
图2是一曲线图,其表示对具有四存储状态的一个两比特存储单元编程用的编程脉冲中的电压与时间的关系。
图3是一用于测定存储单元编程状态的电路图。
图4是一在先有技术中公知的两比特存储单元状态图,其具有的四个存储状态。
图5是一在先有技术中公知的曲线图,其表示楼梯形电压编程方法之中编程和核实脉冲步骤中的电压与时间关系。
具体实施例方式
参照图1,在一具有二比特的一多级存储单元之中,其有四个存储状存储状态20代表″11″、存储状态21代表″10″、存储状态22代表″01″、和存储状态23代表″00″。如上所述,在11状态,在存储单元的浮动栅极上是没有电荷的。经存储状态10和01,在浮动栅极上的电荷一直增加,直至达到存储单元已经完全充足电的存储状态00。(再有,正如上面所指出的那样,本文中所使用的术语“没有电荷”及“完全充足电”为解释用,不应视为限定。)本发明是这样实现的在对一存储单元已编程到倒数第二电压存储状态(在图1的″01状态″22)以后,在对该存储单元的充足电状态进行编程时,便不必像之前那样准确。
由图1可见,在对存储单元进行从11状态到10状态进行编程中,使用一与先有技术相似的方法其中把一列步进式增加电压的编程脉冲40,41,42施加于存储单元的控制栅极上,以便把对应数量的电荷施加在该浮动栅极上。在每个编程脉冲之间,施加了核实脉冲50,51,52,以便检测存储单元的状态。当对存储单元的从10状态到01状态进行编程的时候,继续进行这个编程核实过程。一旦存储单元到达了01存储状态或倒数第二个存储状态(图1所示为时间32处),把一具有一电压电平的编程脉冲60施加在存储单元之上,该电压电平高于存储单元在最后存储状态(00)目标临界电压。这使存储单元能够以比先有技术快得多的方式到达最后存储状态(00)。由于通过使编程电压升到最大的临界电压,紧接着存储单元之到达倒数第二状态,当对存储单元进行最后电压存储状态编程的时侯,不需利用较缓慢的编程核实方法,因此存储单元的整体编程速度就加快。
图2所示为编程电压34的脉冲电压与时间37的关系。当对存储单元从11状态到10状态以及从10状态到01状态进行编程的时侯,图2上编程电压与时间的图形会有一段逐渐增大的斜线80,正如使用楼梯形电压编程核实方法所预期的那样。然后,当为最后状态00进行编程的时侯,编程电压升到目标临界电压。如图2中图形所示斜线85的倾斜度几乎是垂直的,而且极其迅速地达到存储单元00状态的目标编程电平90。
值得注意的是,代表中间状态10和01编程的斜线80的倾斜度可以是较陡峭或较平的,取决于对这些中间状态编程所要求的速度快慢。应用先有技术的楼梯形电压编程方法对这些中间状态进行编程,则需要在速度和准确性之间作出权衡。所以,如果要求的速度快越,则斜线80的倾斜度会较陡;如果要求的准确性越高,即需要更多的编程核实脉冲,则斜线80的倾斜度会较平。
如上所述,应用楼梯形电压编程(核实)方法对存储单元的11、10、和01存储状态进行编程。当确定已对11、10、和01存储状态的所有存储单元进行了编程,则意味只留下00存储状态的存储单元尚未进行编程。这触发编程算法的改变,即编程电压上升到存储单元的00存储状态编程的目标临界电压。参照图2,上升到最大编程电压可发生在楼梯形电压编程算法80的任何一点,取决于有关存储单元的编程速度和资料内容。例如,直线81表示在编程周期开始以后不久电压立即跃升,这表明所有存储单元待进行编程使成为00状态。直线82表示编程速度并不相当快,而直线85所示为编程速度较慢。
图2所示的不同线是由于编程速度和编程资料中的易变性所致。因而,本发明的编程方法补尝了在存储阵列中编程速度的易变性,因最后存储状态的编程是在所有非00状态达到目标状态编程水平之后立即进行。
参照图2,假如继续使用先有技术的楼梯形电压编程方法对00状态编程,则斜线87的最终倾度会不太陡以及00状态的编程直到较后期才进行。另外,应用楼梯形电压编程方法,存储单元可能在到达00状态之前已饱和了,从而不能到达最后的存储状态。通过把编程电压立即上升到存储单元00状态编程的目标临界电压,这就解决了存储单元不能到达最后存储状态00的问题。
参照图3,用一对信号线210和220来确定与存储阵列的一具体列连接的一存储单元的编程状态。把单个的存储单元配置在待编程的组中。在所述的具体化实例中,一组中有32个存储单元,每一组可存储8个字节的信息。但是,组的大小可随要求而定。
图3所示为在一组中的每个存储单元291和292-350的相应I/O控制电路201和202-250。在每一控制电路201和它相应的存储单元291之间,通常会提供一个或多个栅极晶体管375。
每一I/O控制电路包括检测电路以及为各自的存储单元编程确定具体工作程序的状态机。I/O控制电路可以许多不同方式设计。以下,将叙述本发明的I/O控制电路的具体细节。
在一组存储单元的每个I/O控制电路201-250均通过第一晶体管222与一多级准备信号线220连接以及通过第二晶体管212与一整组准备信号线210连接。每个晶体管222和212均是n类型MOS器件,其栅极端与I/O控制电路201连接,源极端与信号地线连接,而漏极端与各自的准备信号线210,220连接。晶体管222和212起拉下晶体管作用,用于降低准备信号线220,210的电压。多级准备信号线220指示该存储单元是否已准备好从楼梯形电压编程的方法转换到施加最大编程电压脉冲的方法。整组准备信号线210指示一具体组中的所有存储单元的编程是否已完成了。信号线210,220分别与一弱的p型MOS晶体管215,225连接,该晶体管的功能作为提升晶体管,用于提升信号线的电压。每个提升晶体管215和225的漏极端与各自的信号线210,220连接、其栅极与信号地线连接,而源极端与一电源电压217,227连接。
每一I/O控制电路201-250有一状态机通过多级准备号线220和整组信号线210与主存储控制器(未显示)通信。当一存储单元完成了编程,它各自的控制电路201将n型拉下晶体管222关闭,以使该存储单元与整组信号线210断开。如果任何一拉下晶体管是在导通状态,则该整组信号线210依然是在一低位或“假”的状态,因为拉下晶体管212是比提升晶体管215更强的器件。当在一组中的一列上的所有存储单元均完成其目标存储状态的编程后,所有拉下晶体管便截止,因此整组信号线210转变高位或“真”的状态。这使主存储控制器触发一重置信号,以容许主存储控制器对下一组的存储单元进行编程。当任何一存储单元的编程还没有完全达到目标电平的时侯,该整组信号线210依然是在一低位或“假”的状态。
当存储单元的任何拉下晶体管222导通,多级信号线220会在一低位。当拉下晶体管222从该I/O控制器件收到一低位控制信号,则一具体I/O控制器件207的拉下晶体管222会截止。这使I/O该控制器件201与所述多级信号线220断开。拉下晶体管222在下述两种情况之一下接受关闭信号。在第一种情况中,当对存储单元将进行编程使其达到最大电压编程状态(00)的时侯,I/O控制器件201便立刻发送释放信号,为使I/O控制器件能与多级信号线220断开。这代表不必进行进一步的多级编程。在第二种情况中,当对存储单元将进行编程使其达到除最大电压编程状态以外的不同状态(11,10,01)的时侯,在对该具体存储单元完成编程后,则I/O控制器件201便使该拉下晶体管222截止。与以上所述的整组信号线210相似,多级信号线220维持在一个低位状态,直至到所有拉下晶体管截止与及所有I/O控制电路和存储单元已与信号线220断开。然后,由提升晶体管225提升在信号线220上的电压,使多级信号线220在一个高位状态。
当整体信号线210和多级信号线220同是在一低位状态,则使用编程核实楼梯方法对存储单元组进行编程。当多级信号线220是在一高位状态,则表示对一些存储单元的目标状态(11,10或01)已完成编程,剩下的是对00状态的存储单元进行编程。这时,对所述的00状态存储单元的编程仅为非确定状态。然后,所述的00状态存储单元接受增加了的编程电压,使其成为00状态。
参照图3,一本发明编程方法如何运作的实施例,假设对控制电路201和250的存储单元进行编程使其成为最大电压存储状态00;对控制电路202的存储单元进行编程使其成为01存储状态;对剩余存储单元的组(未显示)进行编程使其成为10存储状态。
重置整组信号线210并处于一个低位状态,这表示编程尚未结束。
I/O控制电路201和208立刻发信号到多级信号线220使那些存储单元与多级信号线220断开,因为将对那些存储单元进行编程使它们成为最高的电压状态00。使用楼梯形电压编程方法对存储单元组开始编程。当那些存储单元的编程电压达到为状态10进行编程的目标电压的时侯,那些存储单元的I/O控制电路便发送信号,以使他们各自的晶体管与多级信号线220断开。但是,由于编程速度的易变性,这也许不一定同时发生的。因而,在这种情况下,很可能I/O控制电路202的拉下晶体管223仅一拉下晶体管仍然导通。楼梯形电压编程方法继续进行,直至对I/O控制电路202的存储单元进行目标状态(01)编程为止。这时,晶体管223截止,而多级信号线成为高位状态。
这表示编程方法转变为指示存储控制器提供编程00状态存储单元201,250用的最大电压脉冲。当完成存储单元201,250的编程后,则完成对该组所有存储单201-250的编程,然后各自的I/O控制电路使与整组信号线210连接的拉下晶体管212关闭。然后,整组信号线210升到高位状态,这向主存储控制器发出信号编程已完成并触发重置信号线210,220。
在本发明的一较佳实施例中,每一存储单元的比特线电压对提供给每一存储状态是不同的。低位的存储器状态11和10会利用低的比特线电压,以便减低编程算法的速度及提供更好的控制,;反之,高位的存储器状态01和00会利用高的比特线电压。
但是,本发明的实施还可使用各存储状态下的同一比特线电压,或者可使用与上述有别的其它比特线电压。
与先有技术的编程方法相比本发明的编程方法,可加快存储单元的整体编程速度。此外,本发明的编程方法并同时顾及到对中间状态01和10编程所需的准确性。因而,与先有技术的方法相比,本发明的对多级存储单元的编程方法是一种改进的方法,不仅提高编程的准确性而且加快编程的速度。上述具有二比特和四个存储状态的存储单元作为一实例,本发明的编程方法可实施在具有任何比特数目和所对应存储状态的多级存储单元。
权利要求
1.一种对多级存储器进行编程的方法,其包括以下步骤把多个编程脉冲施加于一存储器的存储单元集上,以便把一定数量的电荷加在每一所述存储单元的浮动栅极上,所述的编程脉冲的电压逐渐地增加,以增加所述浮动栅极上的电荷,直到所述浮动栅极上的电荷相等于相应于所述存储单元的一目标存储状态的电荷;把多个核实脉冲施加于所述的存储单元集上,所述的每一核实脉冲以交替方式在施加所述的每一编程脉冲以后施加,其中所述存储单元集由一存储单元的第一子集以及一存储单元的第二子集组成,第一子集具有第一目标存储状态,该第一目标存储状态相等于所述存储单元有一最多电荷的一最高存储电压状态;而在第二子集中,每一存储单元有各自比最高存储电压状态小的第二目标存储状态的;确定已对在所述第二子集中的每一存储单元完成各自的第二目标电压存储状态编程;以及把一最大编程电压脉冲施加于所述存储单元的第一子集的每一存储单元上,其中所述最大编程电压脉冲相等于一可使所述存储单元达到第一目标存储状态的临界电压。
2.根据权利要求1所述的多级存储器编程方法,其特征在于所述存储单元第二子集已达到各自的第二目标电压存储状态的确定步骤包括提供多I/O控制电路,其中每一I/O控制电路与所述存储单元集的各自存储单元连接;提供在多I/O控制电路与存储器的一存储控制器之间连接的多信号线;把自与存储单元的第一子集的一存储单元连接的每一I/O控制电路来的第一信号发送到第一信号线,以表示所述存储单元将需为达到第一目标电压存储状态而注入电荷;以及把自与存储单元的第二子集的一存储单元连接的每一I/O控制电路来的第二信号,当所述存储单元达到各自第二目标电压存储状态的时侯,发送到第一信号线,以表示完成对所述存储单元的编程。
3.根据权利要求2所述的多级存储器编程方法,其特征在于所述的方法还包括在把最大编程脉冲施加于存储单元的第一子集的每一存储单元的步骤之前,把自与存储单元的第一子集的一存储单元连接的每一I/O控制电路来的第三信号发送到第二信号线,以表示对所述存储单元的第一组的存储单元的编程尚未完成。
4.根据权利要求3所述的多级存储器编程方法,其特征在于所述的方法还包括在把最大编程脉冲施加于存储单元的第一子集的每一存储单元的步骤之后,把自所述存储单元的第一子集的每一存储单元的I/O控制电路来的第四信号发送到第二信号线,以表示完成对所述存储单元的编程。
5.根据权利要求2所述的多级存储器编程方法,其特征在于所述的第一信号能使所述I/O控制电路与所述第一信号线连接;而所述的第二信号能使所述I/O控制电路与所述第一信号线分离。
6.根据权利要求3所述的多级存储器编程方法,其特征在于所述的第三信号能使所述I/O控制电路与所述第二信号线连接。
7.根据权利要求4所述的多级存储器编程方法,其特征在于所述的第四信号能使所述I/O控制电路与所述第二信号线分离。
8.根据权利要求4所述的多级存储器编程方法,其特征在于所述的方法还包括当所述存储单元的第一子集的每一多个存储单元的所述I/O控制电路已把所述第四信号发送到所述第二信号线的时候,重置所述存储控制器。
9.根据权利要求4所述的多级存储器编程方法,其特征在于所述多个存储单元集包括32存储单元。
10.根据权利要求1所述的多级存储器编程方法,其特征在于所述多级存储器有N级电平,其中N是大于2。
11.根据权利要求10所述的多级存储器编程方法,其特征在于所述多级存储器有4级电平。
12.根据权利要求1所述的多级存储器编程方法,其特征在于所述的方法还包括提供一比特线电压给所述存储单元集的每一存储单元,所述的比特线电压值相当于所述存储单元的目标电压存储状态。
13.根据权利要求12所述的多级存储器编程方法,其特征在于所述存储单元的所述第一子集的存储单元的比特线电压比所述第二子集的存储单元的高。
全文摘要
本发明涉及一种对一多级存储芯片进行编程的方法(图1)。该方法包括通过逐渐增加电压(30)的多个编程脉冲(P;40-47)与多个交替核实脉冲(V;50-57)对存储芯片由其第一或最低的电压存储状态(11)至倒数第二电压存储状态(01)进行编程;而对所述存储芯片的最后或最高电压存储状态(00)的编程,则是通过具有临界电压相等于存储单元最高电压存储状态编程所需电压的一编程脉冲(60)进行。所述的编程方法不仅对所述存储单元的中间存储状态(10,01)编程提供编程所需的准确性而且加快对所述存储单元的最后存储状态(00)编程的速度,因而加快所述存储单元的整体编程速度。
文档编号G11C11/56GK1679117SQ03820720
公开日2005年10月5日 申请日期2003年4月30日 优先权日2002年7月2日
发明者D·I·马尼亚 申请人:爱特梅尔股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1