双存储单元读取和写入技术 【技术领域】
本发明涉及对浮动栅存储单元进行编程的技术,具体来说涉及对双浮动栅存储单元进行读取和写入的改进的技术。
背景技术
当今有许多商业上成功的非易失性存储器产品正在使用,特别以小型卡的形式,这些卡使用快闪EEPROM存储单元的阵列。单个EEPROM存储单元的基本体系结构包括源和漏极扩散层,由一个通道耦合,在半导体衬底中形成。存储元件本身位于通道上方,由介电层与它分开。此存储元件常常被称为浮动栅。在存储元件上面可以有一个选择门,用于对单个存储单元进行寻址,以便进行编程和读取。
某些设计包括分开的通道体系结构,如在授予E.Harari地美国专利No.5,095,344中所描述的,此处全部引用了该专利。在分开的通道存储单元中,存储元件和选择门两者都部分地叠加在通道上。此设计具有简洁的优点,但选择门执行多个功能,例如,对将要被编程或读取的单个存储单元进行寻址,以及加入对存储单元进行实际编程或读取的功能。
另外一种设计引入了更多的导引门,位于存储元件和选择门之间。选择门继续执行寻址功能,甚至还有助于编程,但主要的编程和读取功能是由导引门执行的,如授予D.Guterman等人的美国专利No.5,313,421中所描述的,此处全部引用了该专利。
可以通过双存储单元设计获得较高的存储密度,如授予D.Guterman等人的美国专利No.5,712,180中所描述的,此处全部引用了该专利。在双存储单元体系结构中,每个存储单元有两个浮动栅,位于同一通道的一部分上面。对应的导引门位于浮动栅的上方。在导引门的上方形成了选择门,也叠加在通道本身的上面。
在存储单元的阵列中,沿着行的存储单元的选择门耦合起来,以沿着该行形成字线。不同行中的扩散层对齐并耦合,以在不同的行之间形成位线。此外,不同行中的导引门对齐并耦合,以形成导引线。在授予E.Harari的美国专利No.6,151,248中介绍了存储单元阵列的最新设计,此处全部引用了该专利。
快闪EEPROM存储器与其他类型的存储系统相比具有一些主要优点。这些优点中的其中一个优点是数据存储的非易失性,使得这些系统成为各种应用的主要候选,包括数码相机、录制音乐和在移动通信中的应用。
然而,闪存系统的一个特征是,它对存储单元进行编程所花的时间相对较长。编程可能要花10-1000微秒,比当今的DRAM时间长。
在存储系统中是对许多存储单元同时进行编程的。以某一方案选择阵列的存储单元进行编程。编程的速度受此方案的影响。在一些阵列中,在每四个或每七个存储单元上同时进行编程。因此,这些方案要求四个或七个编程周期,以分别对阵列的所有存储单元进行编程。
因此,需要以较少的周期对存储器阵列进行编程的编程方案。
编程速度还受涉及的单个电路元件的运算速度的影响。例如,如果输入/输出电路比内部阵列电路慢,那么存储系统的总体运算速度将受到输入/输出电路的速度的限制。输入/输出电路可能会因为必须施加相对高的电压才能对一些阵列进行编程而变慢。为了处理较高的电压,编程电路元件的氧化层的厚度必须增大。这又会减慢这些电路元件的运算速度。
因此需要改善存储器阵列中的编程电压分配。
与快闪EEPROM相关的产品的质量的另一个方面是它们的预期寿命。寿命受多个因素的影响。其中之一与对存储单元进行编程所需要的相对较高的电压相关。每次施加这些相对较高的编程电压时,在存储单元中都会发生一定程度的磨损,从而限制存储单元的有用的寿命。
因此,减少必须施加的高编程电压的情况的数量的编程方案具有延长基于闪存的产品的寿命的可能性。
【发明内容】
一般来讲,是以一个新的成对的编程方案来对存储器阵列的存储单元进行编程的。是通过施加不依赖于数据的高电压和依赖于数据的低电压来对存储单元进行编程的。这种新颖的编程方案和电压分配具有提高编程的速度和延长存储单元阵列的寿命的优点。
根据本发明的一个方面,引入了一个新编程方案。是以一个新颖的成对方案来对存储单元阵列的存储单元进行编程的。存储单元的编程对至少由一个存储单元分开,降低了在编程期间在对之间发生干扰的可能性。此方案能够以三个编程周期对阵列的所有存储单元进行编程。以前的方法在一个周期中对阵列的每四个或者每七个存储单元进行编程,只能够分别在四个或七个周期中对阵列的所有存储单元进行编程。
根据本发明的另一个方面,引入了新的编程电压分配。一个阵列的存储单元通常与两个位线关联。在现有的存储系统中,如果将要对存储单元进行编程,向存储单元的其中一个位线施加相对较高的电压,而向存储单元的第二位线施加一个较低的电压,不管是否将要对存储单元进行编程。编程电路元件,包括输入/输出电路、总线和驱动器,必须能够处理这些相对较高的电压。这是通过增大涉及的半导体设备的氧化层的厚度来达到的。然而,氧化层较厚的设备的操作速度较慢,最终降低了整个阵列的读取速度。
根据本发明的一个方面的新的编程电压分配消除了在编程电路元件中使用较厚的半导体层的必要性,因为是通过向其中一个位线施加相对较高的电压来对存储单元进行编程的,不管是否将要对存储单元进行编程。相反,对存储单元的编程受向存储单元的第二位线施加的电压的控制。向第二位线施加的编程电压和非编程电压两者都低于向第一位线施加的相对较高的电压。因此,编程电路元件,包括输入/输出电路、总线和驱动器,都可以以较低的电压操作。这样就可以利用较薄的氧化层,因此可提高编程电路元件的运算速度,最终可以提高电路的总体性能。
存储单元的寿命也受上述编程方案和编程电压分配的影响。如上文所提及的,每次向位线施加高电压时,都会发生一定程度的磨损,从而会缩短存储单元的寿命。然而,在成对的编程方案中,向一个位线施加高编程电压会对两个存储单元进行编程。因此,高编程电压只需要以以前的方案的一半的频率对阵列的所有存储单元进行编程,从而提高了存储系统的寿命。
【附图说明】
图1。带有闪存存储单元阵列的存储系统的方框图。
图2。存储单元阵列的示意图。
图3a-d。选择门位于存储元件上面的存储单元和用于编程和读取的电压电平。
图4a-d。选择门部分地位于存储元件上面的存储单元和用于编程和读取的电压电平。
图5a-d。双存储单元和用于编程和读取第二存储元件的电压电平。
图6a-h。双存储单元的阵列和用于编程和读取的电压电平。
【具体实施方式】
图1显示了控制和驱动存储元件阵列的方框图。大量的分别可寻址的存储单元11以普通的行和列的阵列排列。单个存储单元可以由位线、选择门和导引门进行控制。位线此处被指定为沿着阵列11的列延伸,字线被指定为沿着阵列11的行延伸。位线单元13可以包括位线解码器、存储元件、驱动电路和读出放大器。位线单元13可以由线15耦合到存储单元阵列11,由位控制线29和由读取线41耦合到控制器27。字线单元19可以包括选择门解码器和驱动电路。字线单元19可以由线17耦合到存储单元阵列11,由字控制线31耦合到控制器27。导引线单元21可以包括导引门解码器和驱动电路。导引单元21可以由线23耦合到存储单元阵列11,由导引控制线33耦合到控制器27,由线22耦合到位线单元13。位线单元13、字线单元19和导引单元21可以耦合到总线25,该总线又耦合到控制器27。控制器27可以由线35耦合到主机。
当要对预先选择的存储单元进行编程时,可以向对应于预先选择的存储单元的位线、字线和导引门以足以用于对预先选择的存储单元进行编程的预先确定的电平施加电压。控制器27通过总线25将预先选择的存储单元的地址分别通过线26a、26b和26c发送到位线单元13、字线单元19和导引门单元21中的相应的解码器。位线单元13、字线单元19、导引门单元21和控制器27之间的状态和控制命令通过位控制线29、字控制线31和导引线33进行传递。
当要对预先选择的存储单元进行读取时,可以向对应于预先选择的存储单元的对应的位线、字线和导引门以足以能对预先选择的存储单元进行读取的预先确定的电平施加电压。控制器27能够通过位控制线29施加位线的电压,通过字控制线31施加字线的电压,通过导引线33施加导引门的电压。通过预先选择的存储单元由这些电压可以生成电流。电流表示是否已经对预先选择的存储单元进行编程。电流的值可以由位线单元13中的读出放大器放大,并临时存储在锁存器或寄存器中。从预先选择的存储单元读出的数据可以通过读取线41发送到控制器27。
图2显示了存储单元50-1到50-p的阵列的布局。存储单元耦合到位线54-1到54-r和字线58-1到58-s。这里p、r和s是正整数。通过向预先选择的存储单元所在的对应的位线施加电压来选择存储单元,以便进行编程或读取。例如,通过在位线54-1和54-2之间施加电压,并向字线58-s施加另一个电压,可以选择存储单元50-1。
图3说明了涉及单个存储单元50的本发明的实施例。图3a显示了存储单元的体系结构。在可以用硅制成的半导体衬底60中,可以通过进行离子注入然后将掺杂物扩散到衬底60中形成第一扩散层64和第二扩散层68。掺杂物可以n类型或p类型,从而在衬底60内形成导电区域。在衬底60中在第一扩散层64和第二扩散层68之间形成通道70,以便进行导电。至少部分地位于通道70上面的是存储元件72,该存储元件可以通过堆积随后蚀刻多晶硅层来形成。存储元件72可以是,例如,浮动栅,该浮动栅可以由介电层71a与衬底60分开。可以在存储元件72上面堆积和蚀刻另一个多晶硅层76,以形成选择门76,由介电层71b与存储元件72分开。
下面将介绍编程和读取电压分配。为n类型的掺杂情况指定电压电平。本发明还可包括p类型掺杂的情况,在这种情况下,必须相应地修改电压。此外,电压的大小只是为了说明,实际的电压值可以各不相同。
图3b显示了根据本发明的此实施例的存储单元50的编程电压。电压VD施加到第二扩散层68,该扩散层充当漏极的角色。同时VsPGM电压被施加到第一扩散层64,该扩散层充当源的角色,如果存储单元将要被编程,或者VsNPGM电压被施加到第一扩散层64,如果存储单元将不被编程。例如,可以通过将第一扩散层64的电压设置为VsNPGM电平,或者通过将第一扩散层64与电路断开来“浮动”电压,以施加VsNPGM电压。
根据存储单元50的电流-电压特征,当第二扩散层电压VD和第一扩散层电压Vs之间的差VD-VS,以选择门76的某些固定电压VG从零提高。在VG比阈值电压VT大的情况下,第一和第二个扩散层64和68之间的电流IDS增大,直到VD-Vs超过VP,其中,VP是产生热电子所需要的电压。对于VD-VS大于VP的情形,尽管电流不会显著地增大,电子仍能在传输过程中获得较高的能量,成为“热电子”。选择门76的电压VG的极性被选择,以将这些热电子吸引到存储元件72。电流转向到存储元件72具有降低到达第二扩散层68的电流IDS的效果。它还会导致在存储元件72上产生电荷。这种使存储元件72产生电荷的现象叫做“编程”。因此,对于对存储元件72进行编程,选择第一扩散层64的电压Vs,以使第二和第一扩散层之间的电压差VD-VsPGM超过VP,而对于不对存储元件72进行编程,选择Vs以使第二和第一扩散层之间的电压差VD-VsNPGM小于VP。在图3b中,两种情况由虚线分开。编程电压以实心符号显示,而非编程电压以虚线符号显示。施加VsNPGM电压的方式可以是,将Vs设置为值VsNPGM,或通过将Vs与电路的其余部分断开来让Vs浮动。施加VsPGM电压包括将Vs设置到接地电压VGND。在其他实施例中,还可以利用其他方法进行编程,如从通道70通过隧道发射到存储元件72。
在没有为扩散层预先分配功能的虚拟接地体系结构中,第一或第二扩散层的电压VD或Vs必须超过VP,以具有大于VP的差。在过去的存储器编程方案中,选择了依赖于数据的电压,以超过VP。然而,存储系统的输入常常耦合到计算机逻辑,或者它由使用电池的电压源驱动,两者都以比对存储单元进行编程所需要的VP电压差低的电压操作。因此,必须形成电压泵,以逐步将依赖于数据的电压提高到等于或高于VP的值。此外,必须形成传输数据的电路以便能够在较高的电压下工作。这就要求形成较厚的氧化物层,这些氧化物层可以减慢电路的响应时间。
本发明的各个实施例在通过在电压VD和Vs中的较低电压下引入数据依赖性而在这些方面进行了改善。这种编程方案消除了电压泵,允许在数据传输电路中使用较薄的半导体层,从而加快了编程或读取进程。
图3c显示了导引门的工作电压VG。对于VG的较低的值,通道70本质上不允许导电,它处于“关闭”状态。随着VG的增大,通道70可以导电。
在编程期间,必须向开路通道70施加足够高的VGP。图3c显示了VG与在非编程期间采用相同的值:这样,栅压VG不必依赖于数据,从而简化了电路。
对存储元件27的状态的读取基于这样的现象:存储元件72的充电生成一个电压,该电压有助于通道70的导电。因此,通过适当地选择栅压VG,通道70将被关闭或打开,分别取决于存储元件72是否将要编程。当VD-Vs电压差被沿着第一和第二个扩散层64和68之间的通道70施加时,在通道70打开的情况下生成的电流IDS比在通道70关闭的情况下更大。通过测量电流IDS,存储单元50的编程状态可以很快地读出。图3d概要地表示了第一和第二个扩散层64和68的电压值,以及用于读取存储单元50的导引门76,它们遵循这些原理。
如图3d所示,对于读取,第一和第二个扩散层电压的极性可以相对于编程保持相同(I),或可以相反(II)。在整个申请中,将遵循这样的约定:两个扩散层电压中的较高的被标识为VD,较低的被标识为Vs。因此,取决于较高的电压将施加到哪一个扩散层,“漏极”和“源”的分配可以变化,与本读取操作中的相同。
图4说明了本发明的另一个实施例。图4a显示了存储单元50的体系结构,该体系结构与图3的不同之处在于存储元件72只部分地叠加在通道70上面,并且选择门76本身现在部分地叠加在通道70上面。
图4b说明了编程的方法,该方法类似于前面的实施例的方法。差异在于选择门76的电压VG现在本身有助于通道70的电压,因此,它提高了通道部分70a中的电子的能量,在通道部分70a中,选择门76叠加在通道70上面。沿着通道部分70a,沿着通道70的电压变化是适度的,因此,总的VD-VS电压差的大部分沿着通道部分70b集中,如图4b所示。随着电子在选择门电压76和电压差VD-VS的联合影响下沿着通道70移动,它们的能量提高,它们变成热电子。然后,通道部分70b中的热电子被栅压VG转向到存储元件72。根据与前面的实施例相同的原理,设置VsPGM和VsNPGM电压。
此实施例提供了有效地生成热电子的优点,还提供了另外一种控制存储单元70的编程的方法。
图4c显示了向选择门76施加VG电压,以为编程和非编程打开通道70。因此,施加到选择门76的电压不依赖于数据,从而简化了电路。
图4d显示了在读取期间施加的扩散层和选择门电压,与图3d类似。
图5显示了本发明的一些其他实施例。图5a显示了根据本实施例的存储单元50的体系结构,名为双存储单元。在半导体衬底60中,在第一扩散层64和第二扩散层68之间形成了通道70。部分地在通道70上面形成了第一存储元件72a和第二存储元件72b,被介电层与通道70隔开。存储元件72a和72b可以是浮动栅。在存储元件72a和72b上面分别有第一导引门74a和第二导引门74b。在第一和第二个导引门74a和74b上面,部分地在通道70上面形成了选择门76。可以通过n或p类型的掺杂、离子注入和蚀刻,在硅上形成扩散层64和68、存储元件72a和72b、导引门74a和74b和选择门76。
图5b说明了将数据编程到存储单元50,特别是编程到第二存储元件72b的情形。VGOD(“过压”)电压可以被施加到第一导引门74a以无条件地打开通道部分70a,以便进行传输。由于设备的非线性电流电压特征,以VGOD电压,大IDS电流可以沿着通道部分70a以适度的电压差来加以保持,如图5b所示。然后,电流IDS进入通道部分70b。这里,选择选择门76的电压,以便相同电流IDS沿着通道部分70b比沿着通道部分70a体验到更大的电压差,因此,电子的能量提高,它们变成热电子。如果将要对第二存储元件72b进行编程,在通道部分70c,热电子可以被第二导引门74b的电压转向到存储元件72b。转向的电子可以给存储元件72b充电,从而对它进行编程。
热电子的产生还要求第二和第一扩散层68和64之间的电压差VD-VS超过VP,VP是产生热电子所需要电压。如图5b所示,在此实施例中,根据数据施加两个电压中的较低的电压VS。因此,此实施例提供了如上文详细描述的优点。如果Vs电压被以值VsPGM施加以使VD-VsPGM超过VP,则存储元件72b将被编程,如果Vs电压被以值VsNPGM施加以使VD-VsNPGM小于VP,则它将不被编程。施加VsNPGM电压的方式可以是,将Vs设置为值VsNPGM,或通过将Vs与电路的其余部分断开来让Vs浮动。施加VsPGM电压包括将Vs设置到接地电压VGND。此外,编程还可以通过热电子之外的方法来实现,包括从通道部分70c将电子通过隧道发射到存储元件72b。
图5c显示了根据本实施例施加到导引门74a和74b的编程电压。如上文所述,过压电压VGOD可以被施加到第一导引门74a,该导引门能够无条件地打开通道部分70a。如果将要对存储元件72b进行编程,编程电压VGP可以被施加到第二导引门74b,该导引门能够将电流IDS的一部分转向到存储元件72b。向能够生成热电子的选择门76施加一个电压。
图5d显示了用于读取存储元件72b的电压。VGOD电压可以被施加到能够打开通道部分70a的第一导引门74a。对沿着通道部分70c的电压差的影响来自存储元件72b。因此,沿着通道部分70c的总电压差将取决于是否将对存储元件72b进行编程。为了读取存储元件72b的编程状态,如果将对存储元件72b进行编程,电压VGP可以被施加到能够打开通道部分70c的第二导引门74b,如果将不对存储元件72b进行编程,不能打开通道部分70c。
VDR和VSR电压被分别施加到第一和第二个扩散层72a和72b,以跨通道70生成电流IDS,该电流表示是否要对存储元件72b进行编程。
如图5d所示,对于读取,第一和第二个扩散层电压的极性可以相对于编程而相反。此外还遵循这样的约定,两个扩散层电压中的较高的被标识为VD,较低的被标识为VS。
电压差VDR-VSR可以小于VD-VsPGM,从而生成较小的IDS。在某些实施例中,读出放大器可以耦合到第一或第二扩散层64或68,以便用于放大电流IDS。这样就可以更容易地评估IDS,相应地容易评估存储元件72b的编程状态。
图6显示了本发明的一些其他实施例。如图6a所示,存储单元50-1到50-p是以行和列的普通阵列排列的。图6a显示了图5所示的类型的双存储单元的阵列,但图3和图4中所示的存储单元的阵列也包括在本发明的范围内。
下面将以存储单元50-1为例介绍存储单元的体系结构。双存储单元50-1包括半导体衬底60、半导体通道70-1、第一扩散层64-1和第二扩散层68-1,所有这些都是在衬底60中形成的。第一存储元件72a-1和第二存储元件72b-1部分地位于通道70-1上面,由介电层与通道70-1绝缘。至少部分地位于第一存储元件72a-1和第二存储元件72b-1上面的分别有第一导引门74a-1和第二导引门74b-1,由介电层与存储元件72a-1和72b-1绝缘。存储单元的上述元件可以在硅上通过离子注入、扩散和蚀刻方法来形成,以产生导电掺杂多晶硅。掺杂可以是n或p类型。相邻的行中的导引门可以通过导引线80-1到80-t来对齐和耦合。此外,相邻的行中的扩散层可以通过位线84-1到84-u来对齐和耦合,相邻的列中的选择门可以通过字线88-1到88-v来对齐和耦合,其中t、u和v是正整数。在某些相关的实施例中,导引门74b-1和74a-2在行之间形成单独的导引线,因此,对于一行中的每个存储单元都有两个导引线。
图6b用实心符号显示了用于对存储单元50-1到50-p进行编程的电压,用虚线符号显示了非编程的电压。根据本实施例,对存储单元50-1到50-p进行编程包括通过向对应的字线施加电压来选择行,然后成对地对存储单元50-1到50-p进行编程,至少由一个存储单元分开。虽然图6b显示了由单个存储单元分隔的对,对由多个存储单元分隔的实施例也在本发明的范围内。
根据本实施例,可以同时对两个存储单元进行编程。这种方法具有比前面的存储系统编程步骤少的优点,在前面的存储系统中是分别对存储单元进行编程的。以较少的步骤进行编程使得对阵列的编程更快。第二个优点是,施加较高的编程电压导致存储单元和对应的电路产生磨损。因此,只用一个被提高到较高的编程电压的位线对两个存储单元进行编程延长了存储器阵列的寿命。作为示例,现在将介绍对存储单元50-1和50-2中的存储元件72b-1和72a-2进行成对编程的情况。此外,虚线符号表示非编程电压,实心符号表示编程电压。如图6b所示,VD电压可以被施加到位线84-2,不管是否将要对存储单元50-1和50-2进行编程。电压Vs-1可以通过位线84-1被施加到第一扩散层64-1,电压Vs-2可以通过位线84-3被施加到第二扩散层68-2。根据将要被编程的数据,分别选择存储单元50-1和50-2的Vs-1和Vs-2电压。由于Vs-1和Vs-2电压低于VD,如上文所述,此实施例再次提供了与以低电压对数据进行编程关联的优点。
如果Vs-1电压被以值VsPGM施加到位线84-1以使VD-VsPGM超过VP,则存储元件72b-1将被编程,如果Vs-1电压被以值VsNPGM施加以使VD-VsNPGM小于VP,则它将不被编程。施加VsNPGM电压的方式可以是,将Vs-1设置为值VsNPGM,或通过将对应的位线84-1与电路的其余部分断开来让Vs-1浮动。根据相同的方案,通过将Vs-2电压施加到位线84-3,可以同时对存储元件72a-2进行编程。值得注意的是,根据本实施例,位线84-3和84-4的电压在编程期间都比VD低。因此这些电压的差不超过VP,因此它不足以在位线84-3和84-4之间生成可感测的电流。由于没有可感测的电流,因此在编程的存储单元对之间没有干扰,这种情况叫做“无干扰”状况。借助于此概念,向位线84-1和84-3施加VsNPGM电压可以被描述为在位线84-1和84-3上实现无干扰状况。此外,编程还可以通过热电子之外的方法来实现,包括利用从通道70-1将电子通过隧道发射到存储元件72b-1。
如图6c所示,VGOD过压电压可以分别通过导引线80-1和80-3施加到导引门74a-1和74b-2,以无条件地打开通道部分70a-1和70c-2,以便进行传输。如图6b所示,由于设备的非线性电流电压特征,以VGOD电压,大IDS-1和IDS-2电流可以沿着通道部分70a-1和70c-2以适度的电压变化来加以保持。值得注意的是,电流IDS-1和IDS-2向共享位线84-2流动。然后,电流IDS-1和IDS-2进入通道部分70b-1和70b-2。可以通过字线88-1向选择门76-1和76-2施加共同的电压,以便电流IDS-1和IDS-2在通道部分70b-1和70b-2比在通道部分70a-1和70c-2体验到更大的电压差,因此在这些通道部分电子的能量提高,它们变成热电子。在通道部分70c-1和70a-2,这些热电子可以由分别导引门74b-1和74a-2被转向到存储元件72b-1和72a-2。在某些实施例中,导引门74b-1和74a-2可以通过导引线80-2以电的方式耦合,因此体验到相同的电压。如果存储元件72b-1或72a-2将要被编程,那么转向的电子可以给存储元件72b-1或72a-2充电,从而对它们进行编程。电压被通过字线88-1施加到共享选择门76-1和76-2,以生成热电子。
存储单元50-1和50-2共享位线84-2、导引线80-2,以及字线88-1。根据本实施例,在编程期间,这些共享线的电压都不依赖于将编程到存储单元50-1和50-2的数据。这是一个特点,通过该特点,能对两个存储单元同时进行编程。
图6d和6e显示了另一个实施例,其中,对存储单元50-1到50-p成对地进行编程。然而,在此实施例中,向导引门施加依赖于数据的电压,以对存储单元进行编程。如上文所述,成对编程的优点是,对存储单元的阵列进行编程的步骤可以比在前面的存储系统中的步骤少。这一方面可以对存储系统更快地进行编程,另一方面,位线必须提高到较高的编程电压的情况较少,从而延长了存储系统的寿命。至于前面的实施例,下面介绍的示例在编程的存储单元对之间有一个存储单元,然而,本发明的范围计划包括其他实施例,其中,多个存储单元位于编程的存储单元之间。
在图6d中,第一和第二个扩散层的电压不依赖于是否将对存储单元进行编程而变化。VD电压通过共享位线84-2被施加到第二扩散层74b-1和第一扩散层74a-2。电压VsPGM被分别通过位线84-1施加到第一扩散层74a-1,并通过位线84-3施加到第二扩散层74b-2,以便对存储元件72b-1和72a-2进行编程。这要求VD-VsPGM超过VP。施加VsPGM电压包括将VsPGM电压设置到接地电压VGND。在对存储元件72b-1和72a-2进行编程的情况下,沿着通道70-1和70-2的电压的变化与前面的实施例类似。
在图6e中,电压VGP被通过导引线80-2施加到导引门74b-1和74a-2。在某些实施例中,导引门74b-1和74a-2可以耦合起来,因此电压相同。选择VGP电压,以使它能够将电流IDS-1和IDS-2分别转向到存储元件72b-1和72a-2。是否将对存储元件72b-1和72a-2进行编程可以由导引门74a-1和74b-2的电压进行控制。如果电压VGPOM被分别通过导引线80-1或80-3施加到导引门74a-1或74b-2,能够打开通道部分70a-1或70c-2,那么电流IDS-1或IDS-2将能够在通道70-1或70-2中流动,导致分别对存储元件72b-1或72a-2进行充电或编程。然而,如果电压VGNPGM被分别通过导引线80-1或80-3施加到导引门74a-1或74b-2,不能够打开通道部分70a-1或70c-2,那么电流IDS-1或IDS-2将不能够在通道70-1或70-2内流动,导致存储元件72b-1或72a-2分别不被充电或编程。施加VGNPGM电压包括将VG电压设置到接地电压VGND。
图6f显示了存储单元50-1到50-p的相同阵列,具有耦合到位线84-1到84-u的读出放大器90-1到90-u的附加功能。
图6g和6h说明了从存储单元50-1到50-p读取编程数据的过程。与编程类似,读取可以成对地执行,从而使读取更快。读取将以存储元件72b-1和72a-2的电压的示例来演示,读取电压将用渐变符号来表示。如图6g所示,VGOD电压可以分别通过导引线80-1和80-3施加到导引门74a-1和74b-2,以无条件地打开通道部分70a-1和70c-2。如上文所讨论的,充电存储元件的电子调制通道70-1或70-2的电流。因此,VGR电压可以通过导引线80-2施加到导引门74b-1和74a-2以使如果存储元件72b-1或72a-2不被编程,VGR打开通道部分70c-1或70a-2,如果存储元件72b-1或72a-2被编程,VGR不打开通道部分70c-1或70a-2。
图6g-6h显示了图6b-6c和图6d-6e的实施例的读取电压。VDR电压被通过位线84-1和84-3施加到第一扩散层74a-1和第二扩散层74b-2,VSR电压被通过共享位线84-2施加到第二扩散层74b-1和第一扩散层74a-2。选择了VDR和VSR,由VDR-VSR电压差生成的电流IDS-1和IDS-2的值,表示通道70-1或70-2是否打开。通道70-1或70-2打开与否又表示存储元件72b-1或72a-2是否编程。由于VDR-VSR电压差生成的电流IDS-1和IDS-2可以比较小,读出放大器90-1到90-t可以耦合到位线80-1到804,以放大生成的电流。
在上面的实施例中,信息是以存储在存储元件上的充电量来编码的。在一些实施例中,使用正的和负的充电状态来以二进制形式存储信息。然而,在其他实施例中,可以将存储元件充电到多个不同的充电电平,因此存储多值信息。某些实施例最多可以利用十六个不同的充电电平。将存储元件充电到不同的充电电平的一种方式是在不同的时间间隔内执行充电进程。
虽然是以某些首选实施例对本发明的各个方面进行描述的,但是,可以理解,在所附的权利要求的范围内对本发明进行保护。