可写的跟踪单元的制作方法

文档序号:6757641阅读:378来源:国知局
专利名称:可写的跟踪单元的制作方法
技术领域
本发明涉及非易失性半导体存储器,更具体地说,涉及使用跟踪单元读取多态存储器。
背景技术
在半导体存储单元中,通过对单元编程以便具有所需的阈电压,保存数据。通过确定单元的阈电压,并把该电压转变成逻辑水平,读取保存在该单元中的数据。对于双态、二进制存储单元来说,通过利用基准电压或断点电压来提供读取点可实现这种转变阈电压高于该读取点的单元对应于一种状态,而阈电压低于该读取点的单元对应于另一种状态。当存储单元是多态单元时,需要引入许多这样的读取点来区别各种状态。
随着存储单元中保存的状态的数目的增大,在阈值范围内必定包含更多的状态。从而,该范围的对应于指定状态的部分变得更窄,读取点变得更接近。一旦存储单元已被编程,出于多种原因,可以改变存储单元的阈值,使其脱离存储单元的设计电平。这可由非易失性存储器中不太理想的电荷保持力,由保存的电荷本身产生的电场和在电介质中俘获的电荷引起。还可由对单元编程时和读取单元时操作条件的变化而引起。如果用于确定单元的数据内容的读取点不能跟随单元中的这些变化,则读取点将不再能够准确地区分不同的阈电压。当使用一组固定的全局基准电压,例如来自带隙电路的基准电压产生读取点时,情况就是这样。这样的电路不对或者难以对导致存储单元的阈电压发生变化的条件做出响应。当这种变化变得足够大时,读取点将不再准确区分在单元上查到的阈电压,不再能够准确读取编程写入的数据。
提高读取存储单元时读取点和被设计成特定数据状态的存储单元的阈电压之间对应性的准确度的一种方法是使用可写的基准或跟踪单元。这些基准或跟踪单元是一组存储单元,但是未被写入数据,而是被写成预定的基准值。随后从这些单元提取读取点,由于这些单元的表现类似于数据单元,因此它们将提供数据电平和最初被设计成该电平的单元的当前阈电压之间更准确的对应性。在美国专利5172338中说明了多态存储器中基准单元的应用,并且在美国专利申请序列号No.08/910947(申请日1997年8月7日)中进一步发展了多态存储器中基准单元的应用,所述美国专利和专利申请都被转让给了SanDisk公司,并作为参考包含于此。
随着每个单元状态数目继续增加,需要进一步提高读取过程的准确性。于是,在实际的跟踪单元方面,以及在相关电路方面都需要改进跟踪单元技术,所述改进不仅提高其准确性和使用速度,而且还降低它们所需的开销量。

发明内容
本发明提出了使用可写跟踪单元的几种技术。为存储器的每个写入块配置多个跟踪单元。每次相关写入块的用户单元被写入时,通过利用相同的固定全局基准电平设置跟踪单元编程的阈值和用户单元编程的阈值,最好同时对这些跟踪单元重新编程。每次读取用户单元时,读取跟踪单元的阈电压,这些阈电压被用于确定用户单元的保存逻辑水平。
在一组实施例中,多组一个或多个跟踪单元与多态存储器的不同逻辑水平相联系。可以只为逻辑水平的子集设置这些跟踪单元组。根据该子集,得到所有逻辑水平的用于变换阈电压的读取点。在一个实施例中,分别由多个跟踪单元组成的两个跟踪单元组与多位单元的两个逻辑水平相关。根据该对跟踪单元组的阈值,线性的逻辑水平与阈电平关系能够把用户单元的阈值变换成任意的逻辑水平。这样,可根据与非相邻逻辑水平相关的一组跟踪单元,确定数据单元的逻辑水平。通过使用更多的跟踪单元组,可获得单元阈值和逻辑水平之间的更复杂的关系。
通过利用跟踪单元读取数据单元可具有数字或模拟实现方式。在数字实现方式中,利用大于数据单元中保存的比特的数目的分辨率读取跟踪单元的阈电压。控制器或者其它电路随后转换这些高分辨率数值,以便通过在低分辨率水平下读取单元,或者通过把在高分辨率下读取的用户单元数值转换成逻辑水平,把用户单元阈值转换成较低的逻辑水平。在模拟实现方式中,直接利用跟踪单元组的模拟阈值读取用户单元,而不必首先把跟踪单元组的模拟阈值转换成数字值。例证的模拟实施例向每个写入扇区提供用于每个跟踪单元的专用模拟检测放大器,用于每组跟踪单元的平均电路,和根据平均值提供所有所需读取点的一系列电阻元件。
一组备选实施例使用不同的电压和/或计时进行跟踪单元的写操作,以便提供不定性较低的跟踪单元最终写入阈值。由于通常跟踪单元远远少于用户存储单元,因此系统写入速率总是受用户单元限制,而不是受基准单元限制。于是,可以使用不同的电压和/或计时,平均来说,所述不同的电压和/或计时对基准单元进行的写操作更缓慢,但是依然能够和最慢的用户单元一样快地对最慢的基准单元进行写操作。这可降低基准单元阈值误差,而不会显著影响整个系统的写入速度。
结合附图,根据下面对本发明优选实施例的说明,本发明的其它目的,优点和特征将是显而易见的。


图1表示跟踪单元阈值和用户单元阈值之间的关系。
图2是直接用于比较单个的跟踪单元阈值和用户单元阈值的差分检测的模拟结构的方框图。
图3表示跟踪单元阈值和用户单元阈值之间的备选关系。
图4示意表示了利用多个跟踪单元的差分检测的结构。
图5表示了跨越预期单元阈值的整个范围的控制栅电压的范围。
图6是使用图5的水平确定单元阈值的方案的方框图。
图7表示了在阈值和逻辑水平之间假定线性关系的系统。
图8表示了被编程为三个不同的逻辑水平,以便允许提取阈值和逻辑水平之间的非线性关系的跟踪单元。
图9表示了用于允许提取阈值和逻辑水平之间更复杂的非线性关系的四个逻辑水平。
图10表示与指定逻辑水平相关的多个跟踪单元。
图11是直接利用从跟踪单元得到的模拟电平读取用户单元的实施例的方框图。
图12是图11的细化,更详细地表示了电路AVEA1110及其跟踪单元的实施例。
图13表示了与其跟踪单元相连的模拟检测放大器的实施例。
图14是图11的读取点电路的一个具体实施例。
图15是图14中电阻器Ri的细化,表示了所述电阻器被用在何处,以便提供所使用的各种数值。
具体实施例方式
通过减小电路的各个组件的尺寸,以及通过增大单个存储单元中可存储数据的数量,提高了非易失性半导体存储器的存储容量。例如,诸如在美国专利5712189和6103573及美国专利申请序列号No.09/505555(申请日2000年2月17日)和Jack H.Yuan和JacobHaskell在2000年9月22日申请的题为“Non-Volatile Memory CellArray Having Discontinuous Drain and Source Diffusions Contactedby Continuous Bit Line Conductor and Methods of Forming”的专利申请中所述的器件,每个物理浮栅存储晶体管可保存四个逻辑位以上,所述这些专利及专利申请都被转让给SanDisk公司,并作为参考包含于此。这种存储器要求每个浮栅能够在其内对16个或者更多的可能存储状态之一编码。这些存储状态中的每一个分别对应于浮栅上存储电荷的一个唯一数值,或者更准确地说,对应于浮栅上存储电荷的一个较窄数值范围,所述数值与其相邻状态的电荷存储数值充分分离,以便清楚地将其与这些相邻状态及其它状态区分开。
借助电流检测,或者通过阈电压条件可确定单元的存储电荷电平,从而给出多种标准方案中的两种,在电流检测中,利用固定偏压条件检测其传导的幅值,在通过阈电压条件的情况下,通过利用不同的导引栅偏压条件检测这种传导的开始。在美国专利5172338和美国专利申请序列号No.08/910947中更充分地详述了电流检测方法,所述专利和专利申请作为参考包含于此,并且可和下面描述的各个实施例一同被采用。但是,下面的大部分说明使用阈电压Vth检测方法,因为该检测方法提高了检测分辨率,使与大规模并行读取操作相关的电流保持较低,从而使功率保持较低,并且使高位线阻损害性降至最低。
可以几种方式,例如通过按顺序比较单元的阈电压和各个基准电压,进行实际检测。对于多态单元来说,采用逐单元的数据条件对分查找更有效,所述逐单元的数据条件对分查找通过连续的四遍检测操作,能够按照16分辨率之一并行确定每个被检测单元的Vth。下面相对于给出的各个实施例,说明检测所需的分辨率的数量。通常,所使用的分辨率的数量是导致超出例证实施例的所需最少4位分辨率的更多可能“二进制位”的较高分辨率,与作为其代价的检测并保存这些额外的二进制位需要更多的存储区,以及消耗更多的时间之间的折衷,需要更多的存储区和消耗更多的时间都由这些额外二进制位的对分查找中附加的检测遍数,以及由传送这种额外的信息而引起。
为了提取保存在存储单元中的数据,必须足够准确地写入和保存这些数据。编程时,与正被写入的数据单元,例如一个扇区内的每个存储状态相关的数值的范围应被限制为始终如一的严格范围,并且正被写入的所述数据单元内的这些范围中每个范围的中心与它们的相关紧邻范围,即具有刚好稍高和稍低的Vth的状态之间的间隔也能够保持在始终受控的目标范围内。一旦数据被写入,所有单元内的存储电荷电平首先将随着时间保持它们的电平,随后按照共模方式偏离这些数值,最后发生离散。
当读取数据单元时,检测电路应以足够高的精确性和分辨率分辨数据单元内各个存储装置的存储状态,以便充分分辨每个存储带的范围和每个相邻存储带之间的间隔。应注意这不要求知道与这些状态中的每种状态相关的用户数据,只要求足够准确地读回包含于其中的状态即可。利用纠错码(ECC)或者其它等同的错误处理,例如在美国专利5418752中描述的错误处理,可以足够准确地处理不能读取的那些单元,或者说被编程或者保存数据的那些单元,所述美国专利作为参考包含于此。
按照这些方案,最低检测要求是只需要足够准确地分辨每个存储单元的存储空间。这样,能够重新产生每个存储单元具有的与当前被写入的存储部件或者扇区内的其它单元的电平关系。此时不需确定这些数值所代表的绝对值,只要可从该信息提取提供被分辨的存储电平和对应状态之间的映射或鉴别过滤器的密钥或转换器即可。在缺少这种密钥的情况下,这迫使额外还需要绝对引用(referencing),以便足够准确地重新产生当最初写入数据时存在的确切操作条件,从而允许准确地把电平转变成数据。必须通过提高状态的余量要求和存储窗的余量要求,保护隔离(guard-banded)这种转变中的任意不准确。由于可用的阈电压的存储窗的大小有限(这归因于可靠性和动态范围考虑因素),会限制可编码的电平的数目,从而限制在物理存储单元中保存的物理二进制位的数目。
即使被赋予绝对引用能力,在当在未来某一时刻读取时,如同在高的写周期持久水平(它易受起因于单元解俘获(detrapping)的“松弛”的攻击)下那样,回读电平相对于在初始写入时确定的电平存在共模移动的情况下,这种绝对引用也不起作用—回读电平和数据之间的转变不再相同。这种条件下,加上很难在成批生产中确保这种绝对引用能力,数年的数据存储和操作,宽的工作温度范围,以及最终产品应该满足的各种目标供电电平和相关范围,通常最好不依赖于这种“绝对”引用,而是依赖于存储介质中固有的“相对”能力。
这可通过隐藏介质内通常在数据扇区单元自身内的转变密钥来实现。在下面的实施例中,为了支持这种功能,可在每个扇区内引入额外数目的物理单元,开销基准或“跟踪”单元,例如在美国专利5172338和美国专利申请序列号No.08/910947中所述那样,所述专利和专利申请作为参考包含于此。对于多数实施例来说,除了包含在数据写入时由控制器、固件或者它们的某些组合所确定的数据或存储电平之外,这些单元在所有方面都和用户数据单元相同。如同美国专利5418752中所述,可按照类似于ECC位的方式(就定位和编程来说,尽管不是在功能上),把这些单元附加到用户数据上,所述美国专利作为参考包含于此。从而每个数据扇区既可包含用户数据单元,还可包含不直接用于存储数据的跟踪单元、纠错码单元、报头等等。在具有跟踪单元和ECC单元的实施例中,跟踪单元和ECC单元都可用于以互补方式提高存储器的可靠性,ECC单元用于纠正数据值,跟踪单元用于读取用户数据和ECC单元。
在所述的多数实施例中,得益于旋转和其它任意磨损调整策略,按照和用户数据单元相同的方式处理跟踪单元,从而最精确地反映它们的相关用户数据指定单元的历史。用户数据的循环可如下所述与跟踪单元的旋转或切换联系在一起,或者可单独处理用户数据的循环。由于通过比较跟踪单元的阈值电平,可提取跟踪单元的旋转信息,因此随后可根据跟踪单元旋转确定用户单元的旋转。由于跟踪单元旋转可被看作是用户单元旋转的函数,通过使这种信息相互关联,存储器可节省开销,因为不需分配额外的单元来保存用户单元旋转信息。下面的说明给出了关于可写跟踪单元的应用的几种变化,所述几种变化可以单独使用或者组合使用,以便改进美国专利5172338和美国专利申请序列号No.08/910947的方法。
通过每次对相关用户单元编程时对跟踪单元重新编程,跟踪单元形成相同的历史,于是形成和用户单元相同的电荷保持特性。例如,如果10年后,用户单元的阈值平均降低10mV,则跟踪单元的阈值同样将平均降低10mV。通过读取和用户单元相同时候的跟踪单元,并且利用跟踪单元确定每个逻辑水平的预期阈电压,电荷损失不会降低用户单元的有效余量。
另外,众所周知非易失性存储单元的电荷保持特性随着执行的程序/擦除循环的数目而变化。通过使跟踪单元被擦除和重新编程基本上和用户单元相同的次数,考虑了关于电荷保持力的这种循环相关性,并且不会降低有效的单元阈值余量。
可利用模拟或数字技术读取跟踪单元的阈值。模拟技术的一个例子包括如图1中示意所示,把跟踪单元设计成呈N=2n状态之一的那些用户单元之间的阈值。(图1和下面的图3都是理想化的情况,即所有单元都处于若干单元数据中的一个数值,而不是更实际的数值范围)。这样,可在施加相同的控制栅电压VCG的情况下,直接使用差分检测来比较单个跟踪单元阈值和用户单元阈值。图2表示了这种模拟方案的方框图,在向用户单元22和跟踪单元21施加区分水平i和i+1的情况下,两个单元的输出都被提供给差动放大器23,以便确定用户单元22的Vth是高于还是低于跟踪单元21的Vth。通过比较用户单元和设计成不同电平的跟踪单元,确定用户单元的逻辑状态。这些比较可以是比较每个单元和每个跟踪单元的线性搜索,或者是减少所需比较次数的对分查找。
图3中示意表示了使用被设计成和用户单元相同阈值的跟踪单元的模拟检测的另一种方法。这种情况下,如图4中所示及在美国专利申请序列号No.08/910947中更充分说明的那样,在读取操作中,多个跟踪单元被用于确定用于读取用户单元的恰当控制栅电压。这里,跟踪单元41和42具有分别对应于状态i和i+1的不同编程阈值。它们各自的检测放大器SA 43和SA 44以使检测放大器的输出是跟踪单元的阈值的方式,把输出回送给单元控制栅。随后,多个检测放大器的输出被输入电路V平均(V AVERAGE)45,所述电路确定用于读取用户单元(这里由单个单元46代表)的恰当的中间控制栅电平。检测放大器SA 47随后确定用户单元46的阈电压是高于还是低于该中间值,由输出0/1表示。在图4中,用户单元46的恰当控制栅电压是两个跟踪单元41和42的阈电压之间的中间值。通过组合恰当编程的跟踪单元,可得出代表每个编程状态之间的数值的阈值,并且可将其用于确定用户单元的逻辑水平。
数字技术在美国专利申请序列号No.08/910947中描述了涉及读取跟踪单元阈值和用户单元阈值的多个数字值,随后利用数字处理技术确定用户单元的逻辑水平的其它使用跟踪单元的方法,现在将对其进行更充分的说明。通过如图3中所示,把跟踪单元设计成和用户单元相同的阈值,开始一种这样的方法。读取操作由向跟踪单元,并且同时向用户单元施加一系列的控制栅电压VCG组成。如图5中示意所示,这些控制栅电压横跨预期的单元阈值的整个范围。通过应用如图6中所示的一系列控制栅电压VCG,确定代表单元的阈值的数字数值。例如,如果存在16个不同的控制栅电压,则可确定log2(16)=4位数字数值。如果需要7位数值,则需要27=128个不同的控制栅电压。如上所述,可按照线性序列或者按照对分查找方式应用这些控制栅电压。用于读取并保存阈值的二进制的数目m必须至少和每个用户存储单元中所保存信息的逻辑位的数目一样大。
(另一方面,与其改变控制栅电压,不如改变检测放大器跳开电流,从而确定代表单元阈值的一些或者全部数字位。在前面作为参考文献引用的美国专利5172338中说明了基于电流的读取技术。但是,当在指定浮栅上可保存的多态的数目变大时,出于上面陈述的原因,通常优选基于电压的技术)。
在美国专利申请序列号No.08/910947的图4a和4b中,非常详细地表示了分别对应于n=2和n=3的4-水平和8-水平的情况。这些附图对应于图5的更充分阐述的形式,其中状态被表示成对应于阈值的分布,并且包括余量值。具体地说,设计了对应于n=2和m=7的具有7位分辨率的4态单元。下面还将就m=7分辨率说明例证实施例的n=4,N=16态单元。
一旦确定了这些数字值,则可使用它们确定用户单元的保存的逻辑水平。一种方法是计算被编程为相邻临界状态的跟踪单元的阈值之间的数字中点。例如,被编程为逻辑水平i的一个跟踪单元可具有保存为0001110的数字阈值。被编程为逻辑水平i+1的另一跟踪单元可具有保存成0001010的数字阈值。这两个值之间的数字中点为0001100。于是,阈值大于0001100的所有用户单元被确定成具有i+1或者更高的逻辑水平。阈值小于0001100的所有用户被确定成具有i或者更低的逻辑水平。通过利用多组跟踪单元重复该过程,可确定每个用户单元的具体逻辑水平。
确定逻辑水平之间的数字断点的另一方法是把跟踪单元设计成非相邻逻辑水平。只要存储系统事先知道各个跟踪单元代表哪些逻辑水平,即可在不必把跟踪单元设计成每个逻辑水平的情况下,确定逻辑水平之间的数字临界断点。在这种方法中,作出一些关于阈值与逻辑水平的曲线形状的设想。例如,图7表示了一个这样的系统,其中阈值和逻辑水平之间被假定成线性关系。这种情况下,使用线性插值确定逻辑水平之间的临界断点。
图7表示了仅由对应于一对跟踪单元,或者更一般地说,一对跟踪单元组的两个点70和71产生的阈值-逻辑水平关系。简便起见,认为这两个单元与最低逻辑水平0和最高逻辑水平N相关(等同地,这里及在下面的说明中,可按照相反的方式安排状态,“0”对应于最高Vth,依次类推)。在数据写入时,与跟踪单元或者跟踪单元组对应的逻辑水平由控制器、固件或者它们的某些组合确定。通过读取这些单元,确定对应的Vth0和VthN,确定Vth与逻辑水平曲线,以便提供这些状态的阈电压,并提取逻辑水平区分断点BPi,i+1以及任意余量值。对于区分“0”或接地逻辑状态和较低的擦除后“擦除”状态的实施例来说,可包括低于Vth0的额外断点BP0,e。
通过利用数目少于状态数目的跟踪单元或者跟踪单元组,减少了所需跟踪单元的数目,以及这些单元所需的对应开销数量。在例证的4位实施例中,和使用与24=16状态的每种状态相关的单元相比,使用只与两种状态相关的跟踪单元可把跟踪单元的数目降低到原量的1/8。
虽然图7使用最高的和最低的逻辑状态,不过一般说来这不是优选选择。不使用这些状态的一个原因是就阈值来说,它们距离中间逻辑状态相当远,于是不能准确地反映这些数值。比方说,如果跟踪单元改为对应于位于最高水平和最低水平之间的1/4和3/4之处的一对中间逻辑水平,则对应于跟踪单元的该对逻辑水平和其它逻辑水平之间的平均距离被降低。从而导致读取过程的更好余量。
不使用最高和最低逻辑状态的另一原因是这也不对应于“典型的”数据单元。使用可写的跟踪单元的动机之一是当和用户单元相比时,跟踪单元具有相当典型的历史。为了更准确地反映它们的相关用户数据指定的单元的历史,以及提供更准确的Vth和逻辑水平的关系,使用更接近中间逻辑水平的逻辑状态一般更准确。例如,如果N=16,与逻辑水平4和12相关的状态会更有代表性。从而相同的单元,或者单元组并不是不变地被重写成状态4或者12,可使状态循环,如美国专利申请序列号08/910947中所述以及在美国专利5270979更充分阐述的那样,所述美国专利5270979作为参考包含于此。从而,虽然没有使跟踪单元在所有可能的逻辑状态内循环,但是通过使其在相当较高和相对较低的Vth状态之间循环,跟踪单元将接近典型用户单元的历史。
在多数实施例中,每次对相关写入块的用户单元进行写操作时,最好同时通过利用固定的全局基准电平设置跟踪单元编程的阈值和用户单元编程的阈值,重新对这些单元编程。这些验证基准电平可由例如带隙电压基准发生器或其它标准技术产生。它们可被用于产生所需的所有基准电压,或者数目稍少的所需基准电压,其它所需电平由根据跟踪单元产生读取断点的相同算法提供,如同下面关于模拟实施例更详细说明的那样。每次读取用户单元时,最好还读取跟踪单元的阈电压,并且使用这些阈电压来确定用户单元的保存逻辑水平。
图7假定逻辑水平和它们的对应阈值之间的线性关系。Vth与逻辑状态曲线的实际形状取决于单元是如何被编程的,以及在不断变化的读取条件下,它们是如何维持该编程电平的。一般来说,在程序/验证循环中对单元编程,所述程序/验证循环使用一系列间隔均匀的程序验证电平,在编程结束的时刻及条件下产生线性关系。当验证电平不同于它们的标称值时,会导致非线性关系。另一方面,可有意引入非线性关系,以便利用单元的已知的随电压变化的老化特性,或者压缩保存在可用阈值窗口的更稳定部分中的状态的数目。借助Vth和逻辑状态的曲线,可补偿这种有意引入的非性线,并且可在控制器中或者直接按照下面相对于模拟实施例说明的那样计算这种非线性。
如果单元被设计成特定的Vth和逻辑状态的曲线,它们将保持该曲线。具有不同阈值的单元将随着时间和不断变化的读取条件而偏离不同的数值。可利用更复杂的曲线补偿这些效果。在图8中,跟踪单元被设计成三种不同的逻辑水平,这里认为是状态2,N/2和(N-2)。这允许提出阈值和逻辑水平之间的非线性关系。在图9中,逻辑水平被用于允许提取阈值和逻辑水平之间更复杂的非线性关系。一般来说,当使用两个以上的逻辑水平时,曲线可被构造成分段线性或者更高阶数的曲线。如果采用分段线性,则可假定在每对点之间呈线性,同时超出最低和最高水平跟踪单元的任意所需外推或者只是线性延长,或者以“0”和“N”状态附近的单元的某些假想行为为基础。如果使用K组跟踪单元,每个单元与一个不同的逻辑水平相关,则可提取最高可达(K-1)阶(或者如果作出关于边界行为的假设,则可达到更高阶)的曲线。另一方面,通过利用最小二乘法,三次样条函数或者其它标准技术,可形成阶数小于(K-1)的曲线。
至此,所给出的实施例(通常隐含地)假定与特定逻辑水平相关的每组跟踪单元由单一单元组成。在其它实施例中,在每个单元组中使用多个跟踪单元,同时每个单元组被设计成两个或多个逻辑状态之一。在上面作为参考文献引用的美国专利申请序列号No.08/910947中说明了使用和指定逻辑水平相关的多个跟踪单元的优点。这种方法考虑到如图10中所示的跟踪单元的必然的非理想阈电平,这里使用了两个单元组,每个单元组有16个单元。随后可使用数学回归方法来确定阈值与逻辑水平曲线的最佳拟合。
在图10的例子中,两组跟踪单元与逻辑水平4和12相关(和实际实践相比,阈值的扩展被放大,以致它们看起来并不和使用的比例尺相符)。随后可按照多种方式求每个单元组中阈值的平均值,例如算术平均、加权平均或者忽略偏远数值的平均求值,或者均方根或者基于其它幂的平均求值。另一方面,与其首先计算单个单元组的平均值,倒不如通过利用所有跟踪单元,进行最小二乘法或其它回归,如果使用与两个以上的水平相关的单元组,则这是一个截然不同的过程。在这些变化中,一般来说,使用根据这两个单元组中的每一个得到的简单算术平均值(同时断开诸如由图10中的101所示的过编程跟踪单元之类的可能异点)是最简单和最快速的实现,而涉及更高阶曲线的计算需要更多的处理。
对不能正确编程的“坏”跟踪单元来说,可按照和对用户数据单元采用的相同方式,把所述“坏”跟踪单元变换成一个替换单元,或者更简单地,由于它不包含任何用户数据,仅仅将其变换到单元组之外。例如,如果在初始测试时,跟踪单元不能具有在测试状态附近的阈值,则供应者可去除(switch out)该缺陷单元。另外,如果在程序或擦除操作过程中,单元不能正确验证,则可在此时去除(switch out)该单元。此外,即使在“好的”跟踪单元中,也可忽略某些单元例如,可能存在不能被确定是“坏”跟踪单元的跟踪单元(同样由图10中的101表示),但是由于编程中的过冲(overshoot)的缘故,其阈值明显不同于其它跟踪单元。在跟踪单元的处理中,也可通过在断点计算中忽略其阈电压与被设计成同一电平的所有跟踪单元的平均阈值电平间隔一定距离的任意跟踪单元,除去这种具有“坏”值的“好”跟踪单元。所述距离可以是以单元的阈值的相对差或绝对差为基础的界限。
对于这些方法中的任意一种方法来说,不论跟踪单元组是由一个点还是由多个点组成,这些跟踪单元组都可只和所有逻辑状态中的一部分相关。特别地,对于用户单元可被设计成的16种可能的逻辑状态,图10的例子只具有两个跟踪单元组。其结果是用于区分一对逻辑状态的类属断点不由它所区分的逻辑状态的阈电压确定。例如,断点BP5,6由和逻辑状态5和6都无关的跟踪单元组确定。
跟踪单元的实际阈电压可用于按照基于模拟和数字的多种方法,把用户单元的阈值转换成数据值。在一组实施例中,跟踪单元和用户单元的阈值信息的全部m位被下载(off-loaded)到处理电路中,所述处理电路进行m-n位转变。该处理电路可以是包含在和实际存储单元不同的另一芯片上,或者包含在同一芯片上的控制器(取决于实施例)。除了其它功能,例如管理存储器和从主系统转移数据之外,该控制器还能够计算线性或者更高阶的Vth与逻辑状态转变的关系曲线。在上面提及的美国专利申请序列号No.08/910947中给出了对于利用m=7位分辨率的4状态用户单元的该过程的各种变化。对于4位用户单元的本例来说,都可按照7位精度读取跟踪单元和用户单元,确定断点,并且用户单元的阈值被转换成数据值。另一方面,只能按照7位精度读取跟踪单元,它们的数值被转换成4位断点电压,直接利用这些4位断点电压读取用户单元,从而确定用户单元的数据内容。
由于读取快于编程,因此以固定全局验证数值为基础,以7位精度进行读取,同时按照4位精度进行编程不会导致和把7位精度同时用于读取和编程会产生的速度损失相近的结果。特别地,当读取过程使用对分查找时,只对读取应用7位精度的代价远小于由完整7位实现产生的损失。
在上述选择的情况下,存在按照不同方式及不同数目使用可写的跟踪单元的多种不同实施例。假定关键目标是建立测量状态和保存状态之间的正确或者至少是最佳的转换,那么跟踪单元的功能就是查明这种最佳转换。
如果读出电路保持其线性,或者至少保持其一致性(如果不是线性的话),则平移转换(translation transfer)实质上变成符合两组跟踪单元确定的斜率和截距的直线,每组跟踪单元处于某一最佳状态,以使这种拟合的误差降至最小。和严格地把一组单元限定在任意指定状态内的能力无关,由于在任意组9包括跟踪单元组)中总是存在一定的跨距(spread),因此建立存在足够数目的这种单元,以便统计确定每组的中心。这样,与建立平移相关的相对于保护带的误差可被增大差不多所述跨距的一半。例如,如果存储状态由这样的两个完整跨距分隔(即,一个完整跨距被保持成每个相邻状态的分布的外缘之间的距离),则自中心或者非常接近中心确定的基准将产生区分该状态及其最近的邻近状态的最大余量(margin)。如果在跟踪单元组中使用太少的跟踪单元,则有可能自该存储单元组的极限端设置该基准值,消耗等同于状态间距离的25%的读出余量。单元的最佳数目是开销区(从而是成本)与精度之间的折衷;但是在许多应用中,即使较小的单元组(从10个单元到30个单元不等)也应是足够的。每个扇区的这种开销的成本较低。例如,在包含约1024个用户数据单元的写扇区中,在每个单元4位或者1/2字节的条件下,所述写扇区供给512个字节,图10的两个跟踪单元组每组中的16个单元只相当于大约3%的开销区成本。
但是,如果在读出操作中,固有一定量的不可忽略的可变失真,以致在写入时刻和稍后的读取时刻时不同的转换中存在非线性,则需要与两个以上的状态相关的跟踪单元。在极端情况下,要求表现每种状态。为了使相应的开销增长始终在控制之下,建议减少与状态相关的每组单元的单元数目。在多数应用中,这种极端情况不太可能的。但是使用3或4个不同的状态组,例如如图8和9中所示,可以提供这两种极限之间的合理折衷。
如前所述,可在几个不同的地方进行与建立转变相关的处理。就一种选择而言,可在控制器中进行,这种情况下,为了建立转变,需要利用在读取开始时适用的最高分辨率把跟踪单元的数字化阈值从存储器移到控制器。随着可在相同分辨率下移动剩余的数据,并且使控制器利用该转变处理所述数据,以便提取每个单元的4位数据,对于给定I/O总线宽度和时钟频率来说,这降低了信息传送速率,增大了能耗。另一方面,转变项可被移回到存储器,例如填充单片快速查寻表RAM,并被用于处理存储器芯片上的剩余数据。可在移出数据的同时进行变换,从而只移出感兴趣的4位数据,使读取速度的损失降至最小,并且降低与这种数据移位相关的能量。另一种选择是通过把控制器设置在同一芯片上,和/或通过确定哪些相关电压最好地满足了与第一读出对话期中的各个预定状态相关的跟踪单元组,并根据这些数值调整在第二读出对话期中,从用户单元读取16个水平的完整一组电压,在存储器芯片自身上进行变换。把控制器放置在和存储单元相同的芯片上既可节省时间又可节约能量,因为它避免了输入/输出总线上数据的传送。
模拟技术图11是直接利用从跟踪单元得到的模拟电平读取用户单元的实施例的方框图。虽然许多细节同样适用于上面的数字实现,不过在模拟实施例中,跟踪单元的阈电压不被转换成数字数值,而是按照它们的模拟形式被用于直接设置用于把用户单元的阈电压变换成数据的读取电压。存储器内的每个数据扇区最好配有这样的电路。
在图11中,第一组L个跟踪单元TC1,11111到TC1,L1112与平均电路AVEA1110相连。第二平均电路AVEB1120与第二组跟踪单元相连,第二组跟踪单元也被假定成具有L个跟踪单元。根据这些跟踪单元的阈值,这两个平均电路确定与逻辑水平中根据其确定各个读取点的两个逻辑水平相关的两个电压VaveA和VaveB。在更一般的使用与两个以上的逻辑水平相关的跟踪单元组的情况下,每个单元组存在一个这种平均电路。随后把VaveS提供给电路1130,以便确定用于把用户单元的阈电压变换成数据的读取点。
除了VaveS之外,电路1130还可接收几种其它输入。由于两个单元组与之对应的状态A和B被循环,以便提供更一致的历史,因此电路1130确定哪一组对应于哪一水平。例如,在对应于图10的实施例中,这两个单元组之一对应于逻辑水平4,另一个单元组对应于逻辑水平12。为了确定哪一个是哪一个,电路1130可以直接比较这些电压,或者该信息可由控制器、固件提供,在任何情况下,该信息已被保存为控制信号(这里标记为ROT)。更一般地说,该信息还可包含和这些单元组如何被联系方面的变化有关的信息。由于如下参考图14所述,随了数据提取之外,同一电路1130最好还被用于程序验证和其它读取操作,另外还向其提供和与这两个单元组相关的各个逻辑水平对应的全局固定程序验证电压VPVhI和VPVlo。随后使用控制信号PGM确定是使用VaveS还是使用VPVS来设置读取点。
随后把读取点提供给读取/验证电路1140。可以只提供用于随后进行的操作的特定读取点,或者可以同时提供参考图14说明的一组大量的电压。这些读取值随后被用于对用户数据单元进行的各种读取操作。这里,表示了单个单元1150,以表示图11的电路与之相关的整个读取扇区。读取/验证电路1140随后通过对控制栅施加不同的断点,并且如同图6的简化结构中那样,利用检测放大器监视结果,使用读取点从单元提取数据。(这里省略了跟踪单元和用户数据单元的编程电路,以便按照说明的部件简化这些附图,但是在前面作为参考文献引用的美国专利5172338或5418752,或者美国专利申请序列号No.08/910947中表示了跟踪单元和用户数据单元的编程电路)。
图12关于L=16的情况,更详细地表示了电路AVEA1110及其跟踪单元的实施例。其它平均电路的结构类似。分别构成并且类似于用户存储单元对跟踪单元TC1,1-TC1,16编程。这些跟踪单元分别与各自的模拟检测放大器相连,每个模拟检测放大器被供给相同的基准电流Iref。例如,跟踪单元TC1,11111与模拟检测放大器SA11211相连。通过利用基准电流Iref作为输入,检测放大器输出跟踪单元TC1,1的阈电压Vth1,1。在经过电阻器1241之后,该电压随后与其它阈电压Vth1,2-Vth1,16结合在一起,从而产生与逻辑水平A相关的跟踪单元的平均值VaveA。各个检测放大器的输出同样经过晶体管,例如模拟SA1的晶体管1231。这是除去任意“坏”跟踪单元的保证。例如,如果在初始测试中发现该跟踪单元未被正确编程,则芯片供应者可使用晶体管1231从该组跟踪单元中除去该跟踪单元。另一方面,如果在稍后日期对跟踪单元进行写入或擦除时,该跟踪单元不能成功验证,则可在当时除去该跟踪单元。虽然图12的实施例为每个跟踪单元提供了专用检测放大器,如果如置了恰当的开关电路,则备选实施例也允许跟踪单元共用检测放大器。当然,在跟踪单元组由单个单元组成的情况下,只提供单个阈电压,不需要求平均值。
图13中表示了与其跟踪单元相连的模拟检测放大器的一个实施例。来自带隙电压基准发生器或者其它来源的基准电压Vref被提供给晶体管1301的控制栅,以便向检测放大器1211提供基准电流Iref,产生到达跟踪单元TC1111的源极的电流。其后跟随另一对栅-阴晶体管1321和1322并且具有相应的栅-阴偏压的一对p-栅阴器件1311和1312被置于跟踪单元和晶体管1301之间。节点N1在这两组栅-阴器件之间,并且与晶体管1330的控制栅相连。在晶体管1330和接地并受偏流控制的晶体管1340之间,第二节点N2与跟踪单元1111的控制栅相连。在这种结构中,晶体管1330起源跟踪器的作用,并且把N2的电压设置成与跟踪单元的阈电压Vth1,1相同的电平。位于节点N1任一侧的一对栅-阴器件被用于放大反馈回路的增益。
图14是图11的读取点电路1130的具体实施例。在开关电路1402接收电压VaveA和VaveB,或者更一般地说来自跟踪单元组的所有平均电压。如上所述,由于通常最好在与跟踪单元组相关的逻辑状态之间循环跟踪单元组,因此需要按照当前与哪一状态相关,连接VaveS。对于两个数值的情况来说,如果停止宣称控制信号ROTAB,则简单的电路1402将把VaveA和VaveHI相连,并把VaveB和VaveLO相连,如果宣称控制信号ROTAB,则循环这两个连接。在循环确定电路1401中确定跟踪单元组和逻辑水平之间的这种对应性。输入是各个VaveS,来自控制器或保存对应性信息的任何地方的包含所述对应性的一个或多个信号,或者它们的组合。
在跟踪单元组始终和同一组逻辑水平相关的情况下,循环确定电路1401仅仅通过相互比较VaveS的值,即可确定对应性。例如,在图14中通过根据VaveA是否大于VaveB,宣称或停止宣称ROTAB。另一方面,ROTAB可直接来自于ROT。附加的控制信号CSi便于改变跟踪单元与其相关的一组状态。在不存在循环的简化实施例中,可缺少电路1402,平均值可被直接提供给对应的节点或者运算放大器。
一旦VaveS被正确连接,则它们随后可被用于在一系列的电阻器件中设置它们的对应逻辑水平的电压。不是把VaveHI和VaveLO直接提供给它们的对应节点,而是使它们分别与用作缓冲器的对应运算放大器1421和1422相连。暂时忽略晶体管1431-1436,考虑当直接与相应节点Y和X相连时,这些运算放大器的第二输入。在图14中,当与节点X和Y相连时,该对跟踪单元组与逻辑水平3和13相关。从而各个逻辑状态i对应于电阻器Ri之上的节点。如果电阻器R0-R15都相同,则将产生如图10中所示的线性关系。除非在别处得到补偿,否则电阻值的任意变化(不论是有意的电阻变化还是由过程变化引起的电阻变化)将产生非线性关系。
为了便于该组跟踪单元组对应于不同的跟踪单元组,可包括一组晶体管,例如晶体管1431-1433和1434-1436。通过利用一组控制信号CSa-CSc,与一组跟踪单元相关的较高逻辑水平可被用作逻辑水平12、13(在节点Y处)或者14。随后电路1401会供给该信号,从而打开恰当的晶体管,关闭其它的晶体管。利用晶体管1434-1436和信号CSd-CSf,按照相似的方式设置较低的水平。
为了把用于读取单元的Vth与逻辑水平的关系也用于对单元编程,可把用于数据提取的相同读取点电路用于程序验证(以及其它任意读取操作)。当运算放大器1421和1422的输入端与VaveHI和VaveLO相连时,各个电阻器Ri上的节点处于电压Vavei之下,所述电压Vavei被用作用于把用户数据单元的Vth变换成提取数据时的逻辑水平的逻辑状态i的平均阈值。相反,如果这些运算放大器的输入端与程序验证电压VPVhi和VPVlo相连,那么这些节点对应于当在写周期结束时被验证成编程状态的各级逻辑水平。在跟踪单元被设计成和用户单元处于相同的相关逻辑状态的实施例中,相同的一系列电阻器被用于对扇区中的用户单元和跟踪单元编程。例如,在编程结束时,如果跟踪单元组之一与逻辑状态3相关,则该组的跟踪单元和被设计成该逻辑水平的用户单元将对应于节点X。
为了便于该系列电阻器的多重应用,提供一个使VaveS或VPVS与恰当的运算放大器相连的开关。在图14中所述开关被示意地表示成一对开关SH1411和SL1412,所述一对开关可由任意标准方案实现,并且可以共同工作,对于数据变换读取来说,SH和SL分别与VaveHI和VaveLO相连,对于程序验证读取来说,SH和SL分别与VPVhi和VPVlo相连。随后可响应恰当的控制信号(例如图11中所示的程序信号PGM),操纵开关SH1411和SL1412,当宣称程序信号PGM时,可使电阻链与验证电压相连,当停止宣称程序信号PGM时,可使电阻链与VaveS相连。VPVhi和VPVlo可以是由芯片上的带隙电压基准发生器或者其它标准技术产生的,用于编程过程中的读取验证的全局固定电压基准值。
通过既把电路1130用于把数据放入存储单元中,又把电路1130用于从存储单元取出数据,当把阈值变回逻辑状态时,自动补偿了编程过程中引入Vth与逻辑水平关系中的非线性。不论非线性是否是有意的,都可被补偿。例如,由于过程变化而引起的器件失配会产生间距不均匀的阈值范围;但是,由于当把用户单元变回成逻辑水平时发生相同的失配,因此极大地消除了该效果。另一方面,可进行设计选择,以便更密集地把状态压缩在例如阈窗口的下部中。通过使位于电阻链底端的电阻的值取和位于顶端的电阻相比更小的值,可实现这一点。从而在编程中自动引入非线性,并在读取中自动消除非线性,而不存在计算实现会引起的一类性能损失。类似地,为了降低其它器件失配对读/写和跟踪/用户单元不对称的影响,在基准单元和数据单元的漏极,相同的器件被用于它们各自的模拟检测放大器和读取检测放大器,同时相同的电流镜象被用于基准电流。
至此,图14的说明只讨论了以电组器Ri之间的节点的电压为中心的Vth分布的中心,没有讨论用于区分状态的实际中间断点和如何产生这些实际中间断点。图15是图14的细化,表示了一个电阻器Ri,以及它被用在何处,以便提供所使用的各种数值。
每个电阻器Ri被分解成一系列的子电阻器,这里假定为8个电阻器Ri,0-Ri,7以便提供在读取过程中使用的断点读取点和其它中间值。这里断点BPi,(i-1)被设置在关于状态i和(i-1)的阈电压获得的平均值Vavei和Vave(i-1)之间。按照相同的方式实现其它读取点。状态i的低余量值和状态(i-1)的高余量值Vmli和Vmh(i-1)分别被表示成位于紧邻断点BPi,(i-1)之上和之下的节点上。余量值与对应的Vave有多接近将确定当被写入时,所述分布围绕该数值有多紧密。根据所需分辨率的数量和所需不同类别的读取点,例如在美国专利5532962中描述的各种读取点的数目确定节点的数目,所述美国专利作为参考包含于此。同样,根据所需的操作特性,如果希望间距不均匀的节点值,则可利用不相等的数值获得子链的电阻器Ri,0-Ri,7。
跟踪单元的替换编程至此描述的所有实施例在很大程度上假定按照和用户数据单元相同的方式对跟踪单元编程。随后通过利用相同密度、相同持续时间的编程脉冲,借助和用户单元相同的算法对这些基准单元进行写操作,并在相同的电平下进行验证。虽然对于跟踪单元和用户单元来说,这产生类似的历史和分布,但是在一些应用中,可使用对跟踪单元进行不同编程的实施例。
就其写入阈值来说,可写的跟踪单元具有不确定性。当使用该阈值来确定按照其对用户单元进行写操作的逻辑水平时,这种不确定性是一个重要的随机误差项。例如,考虑存储单元的写入阈值误差为105mV的情况。如果基准单元具有相同的105mV误差,则存储单元和基准单元之间的电压差可高达105mV。如果电平之间的电压间距为200mV,则存在阈数值与相邻逻辑水平的基准单元的数值的距离小于与正确逻辑水平的基准单元的数值的距离的存储单元。这会导致这种存储单元上的读取错误。
通过用更多的时间来对所有基准单元和用户单元进行写操作,可降低写入阈值误差。例如,可使用更短的写脉冲。这导致对于每个写脉冲的阈变化更小,于是在最终的阈值中得到更好的分辨率(较小的不确定性)。但是,这种方案意味着更频繁地依据目标阈值检查单元,从而读取操作需要花费更多的时间。这降低了总的写入速度,对于诸如流式视频存储之类的一些应用来说,这是不可接受的。
代替利用和存储单元相同的电压和计时对跟踪单元进行写操作,从而对于跟踪单元组得到和存储单元相同的阈值误差,可对这两种单元进行不同的写入操作。如果基准单元的阈值变化被降低,那么这降低了由基准单元阈值误差引入的读取误差项。基准单元阈值和用户单元阈值之间的平均差值和最大差值都可被减小。这可在不显著影响总的写入速度的情况下实现。
在一个例子中,较低的控制栅和/或漏极电压被用于基准单元,而不是被用于用户存储单元。较低的电压降低了多数非易失性存储单元写操作的编程速度。如果使用和用户存储单元相同的计时,则对于相同的写入时间量来说,平均基准单元经历的阈值变化小于平均用户单元。一般来说,写算法由多个写脉冲组成,同时插入单元阈值与最终目标值的比较。于是,在每个写脉冲的阈值变化更小的情况下,更慢地对单元进行写操作的结果是最终阈值的不定性较低。
但是,即使比平均用户单元更慢地写入平均基准单元,最慢的写入基准单元通常仍然能够和最慢的用户单元一样快地按照目标电平完成写入。考虑每个写入块存在1000个用户单元和20个基准单元,并且单元的写入速度呈正态分布的情况。对1000个用户单元来说,最慢的单元写入比平均单元慢σQ-1(1/1000)=3.1σ,这里Q=高斯累积分布函数,σ是其标准离差。对于20个用户单元来说,最慢的单元写入比平均单元慢σQ-1(1/20)=1.5σ。从而对于典型的分布来说,最慢跟踪单元的写入速度为最慢用户单元写入速度的3.1σ/1.5σ=2.07倍。于是,可以比用户单元慢大约1倍,从而按照大约好一倍的分辨率对基准单元进行写操作,而不会影响整个单元组的整体所需写入时间。在上面的例子中,基准单元阈值误差可从105mV降低到105/2.07=51mV。从而用户单元和基准单元阈值之间的最大差值从105mV降低到(105+51)/2=78mV,改进26%。
在另一例子中,相同的电压可用于对用户单元和基准单元编程,但是对于基准单元使用不同的写入计时。具体地说,如果用于基准单元可使用更短的写脉冲,则可按照更好的分辨率对基准单元进行写操作。再次考虑上面描述的情况1000个用户单元和20个基准单元。此外,考虑验证时间为写入时间的20%的写入/验证循环。假定希望对于最慢的用户单元和最慢的基准单元来说,总的写入+验证时间相同,得到下述等式用户单元的(写入+验证)的总时间=(Tpu+0.2Tpu)N (1)这里Tpu是用户单元写脉冲宽度,N是最慢的用户单元所需的写脉冲的数目。类似地,跟踪单元的(写入+验证)的总时间=(Tpref+0.2Tpref)M(2)这里Tpref是基准单元写脉冲宽度,M是最慢的基准单元所需的写脉冲的数目。另外最慢的用户单元所需的写入时间=TpuN (3)和最慢的基准单元所需的写入时间=TprefM(4)前面的计算表明最慢的用户单元需要的写入时间为最慢的基准单元所需时间的2倍。于是,TpuN=2.07TprefM (5)关于Tpref求解(1)、(2)和(5),得到Tpu=7.7Tpref这表明基准单元写脉冲可以比用户单元写入脉冲短7.7倍,并且在和最慢用户单元相同的时间内仍然能够完成最慢基准单元的写入。
于是,可按照7.7倍的分辨率对基准单元进行写操作。在用户单元阈值误差为105mV的情况下,这产生小于14mV的基准单元阈值误差。这把用户单元阈值和基准单元阈值之间的最大差值降低到(105+14)/2<60mV。在使用基准单元确定保存在用户单元中的正确逻辑水平的情况下,这可显著降低出错率。相反地,这可允许更紧密地把逻辑水平放置在一起,降低了所需的阈值范围,或者甚至能够允许每个单元保存更多的水平。
这些计算是概率计算,所述计算可在跟踪单元组中的特定单元不能验证时进行。正如上面的利用和用户单元相同的算法对跟踪单元编程的其它实施例的情况一样,有缺陷的基准单元或者可被变换成新的单元,或者因为它不包含任何用户数据,简单地从跟踪单元组中被除去。
把不同于用户单元的计时用于跟踪单元会导致更复杂的控制逻辑电路,通常比对所有单元使用相同计时的控制逻辑电路复杂两倍。对跟踪单元进行写操作也需要更多的AC电能,因为需要更宽的脉冲会导致更多的信号开关。另外,同时进行的用户单元的写入和跟踪单元的读取(反之亦然)可能会产生更多的噪声,产生读取单元阈值中的误差项。但是,利用跟踪单元阈值的改进分布,可消除这些缺点。
实施和方法的各种细节只是对本发明的举例说明。要明白这些细节方面的各种变化在本发明的范围之内,本发明的范围只由附加的权利要求限定。
权利要求
1.一种多态存储器,包括若干多态存储单元,每个多态存储单元用于保存N种状态之一;M组跟踪单元,M至少为1,其中每个所述跟踪单元组与所述多态之一相关,并且M小于N;和根据与所述多组跟踪单元的编程的状态相关的阈电压,利用所述若干多态中每个多态的读取点,读取所述多态存储单元的读取电路。
2.按照权利要求1所述的多态存储器,其中所述存储器单元被组织成若干扇区,其中每个所述扇区具有相关的M组跟踪单元和对应的一组读取点。
3.按照权利要求2所述的多态存储器,还包括与每个所述扇区相关的若干单元存储纠错码。
4.按照权利要求2所述的多态存储器,还包括把数据值写入所述存储单元,并对所述跟踪单元编程的程序设计电路。
5.按照权利要求4所述的多态存储器,其中所述程序设计电路包括使用用于程序验证的一组固定基准值把数据值写入所述存储单元,并使用同一组用于程序验证的固定基准值对所述跟踪单元编程的验证电路。
6.按照权利要求5所述的多态存储器,其中从所述多组跟踪单元中除去当对所述跟踪单元编程时不能被验证电路验证的跟踪单元。
7.按照权利要求5所述的多态存储器,其中所述程序设计电路同时对扇区内的所述存储单元进行写操作,和对所述跟踪单元编程。
8.按照权利要求1所述的多态存储器,其中所述读取电路包括读取与所述跟踪单元的编程的状态相关的阈电压的跟踪单元读取电路;根据从所述跟踪单元组读取的所述阈电压,建立所述若干多态中每个多态的读取点的存储器控制器。
9.按照权利要求8所述的多态存储器,其中所述存储器控制器还管理多态存储器,并且在存储器和与其相连的主系统之间传送数据。
10.按照权利要求8所述的多态存储器,其中所述存储器控制器构成和所述存储单元及所述跟踪单元组相同的集成电路的一部分。
11.按照权利要求8所述的多态存储器,其中所述存储器控制器构成和所述存储单元及所述跟踪单元组分离的集成电路的一部分。
12.按照权利要求11所述的多态存储器,其中所述读取电路还包括保存由所述存储器控制器确定的所述读取点的快速查寻表,其中快速查寻表构成和所述存储单元及所述跟踪单元组相同的集成电路的一部分,并且其中利用快速查寻表读取多态存储单元。
13.按照权利要求1所述的多态存储器,其中每个所述跟踪单元组包括若干跟踪单元。
14.按照权利要求13所述的多态存储器,其中M等于2。
15.一种多态存储器,包括若干多态存储单元,每个多态存储单元用于保存N种状态之一;M组跟踪单元,其中每个所述跟踪单元组与所述多态之一相关;和根据从所述多组跟踪单元读取的阈电压,利用读取点区分所述若干多态的相邻状态,读取所述多态存储单元的读取电路,其中至少一个所述读取点以来自一组跟踪单元的阈电压为基础,所述一组跟踪单元不和所述至少一个读取点区分的相邻状态相关。
16.按照权利要求15所述的多态存储器,其中所述存储器单元被组织成若干扇区,其中每个所述扇区具有相关的M组跟踪单元和对应的一组读取点。
17.按照权利要求16所述的多态存储器,还包括与每个所述扇区相关的若干单元存储纠错码。
18.按照权利要求16所述的多态存储器,还包括把数据值写入所述存储单元,并对所述跟踪单元编程的程序设计电路。
19.按照权利要求18所述的多态存储器,其中所述程序设计电路包括使用用于程序验证的一组固定基准值把数据值写入所述存储单元,并使用同一组用于程序验证的固定基准值对所述跟踪单元编程的验证电路。
20.按照权利要求19所述的多态存储器,其中从所述多组跟踪单元中除去当对所述跟踪单元编程时不能被验证电路验证的跟踪单元。
21.按照权利要求19所述的多态存储器,其中所述程序设计电路同时对扇区内的所述存储单元进行写操作,和对所述跟踪单元编程。
22.按照权利要求15所述的多态存储器,其中所述读取电路包括读取与所述跟踪单元的编程的状态相关的阈电压的跟踪单元读取电路;根据从所述跟踪单元组读取的所述阈电压,建立所述若干多态中每个多态的读取点的存储器控制器。
23.按照权利要求22所述的多态存储器,其中所述存储器控制器还管理多态存储器,并且在存储器和与其相连的主系统之间传送数据。
24.按照权利要求22所述的多态存储器,其中所述存储器控制器构成和所述存储单元及所述跟踪单元组相同的集成电路的一部分。
25.按照权利要求22述的多态存储器,其中所述存储器控制器构成和所述存储单元及所述跟踪单元组分离的集成电路的一部分。
26.按照权利要求25所述的多态存储器,其中所述读取电路还包括保存由所述存储器控制器确定的所述读取点的快速查寻表,其中快速查寻表构成和所述存储单元及所述跟踪单元组相同的集成电路的一部分,并且其中利用快速查寻表读取多态存储单元。
27.按照权利要求15所述的多态存储器,其中每个所述跟踪单元组包括若干跟踪单元。
28.按照权利要求27所述的多态存储器,其中M等于2。
29.一种多态存储器,包括若干多态存储单元,每个多态存储单元用于保存N种状态之一;M组跟踪单元,其中每个所述跟踪单元组与所述多态之一相关;和利用所述跟踪单元组的编程的状态的模拟值,利用所述若干多态中每个多态的读取点,读取所述多态存储单元的变换电路。
30.按照权利要求29所述的多态存储器,其中M个跟踪单元组均由若干跟踪单元组成。
31.按照权利要求30所述的多态存储器,其中所述存储器单元被组织成若干扇区,其中每个所述扇区具有相关的M组跟踪单元和对应的一组读取点。
32.按照权利要求31所述的多态存储器,还包括与每个所述扇区相关的若干单元存储纠错码。
33.按照权利要求31所述的多态存储器,还包括把数据值写入所述存储单元并对所述跟踪单元编程的程序设计电路。
34.按照权利要求33所述的多态存储器,其中所述程序设计电路包括使用用于程序验证的一组固定基准值把数据值写入所述存储单元,并使用同一组用于程序验证的固定基准值对所述跟踪单元编程的验证电路。
35.按照权利要求34所述的多态存储器,其中从所述多组跟踪单元中除去当对所述跟踪单元编程时不能被验证电路验证的跟踪单元。
36.按照权利要求34所述的多态存储器,其中所述程序设计电路同时对扇区内的所述存储单元进行写操作,和对所述跟踪单元编程。
37.按照权利要求30所述的多态存储器,其中所述变换电路包括利用来自分别来自所述M个跟踪单元组的模拟值,确定至少(N-1)个读取点的读取点电路;和接收所述至少(N-1)个读取点,并且通过比较所述读取点和所述多态存储单元的阈电压读取所述多态存储单元的读取/验证电路。
38.按照权利要求37所述的多态存储器,其中所述比较是对分查找。
39.按照权利要求37所述的多态存储器,还包括M个平均电路,每个平均电路可与所述若干跟踪单元组之一的跟踪单元相连接,从而形成所述若干跟踪单元组中所述一组的跟踪单元的模拟阈值的平均值,并把分别来自所述M个跟踪单元组的所述模拟值提供给所述读取点电路。
40.按照权利要求39所述的多态存储器,其中M等于2。
41.按照权利要求39所述的多态存储器,其中所述平均值是算术平均值。
42.按照权利要求37所述的多态存储器,还包括把数据值写入所述存储单元,并对所述跟踪单元编程的程序设计电路;和向所述读取点电路提供M个电平的基准值电路,其中所述M个电平与所述跟踪单元的阈电平无关,并且其中所述读取点电路向所述读取/验证电路提供程序验证电平,供把数据值写入所述存储单元和对所述跟踪单元编程之用。
43.按照权利要求38所述的多态存储器,其中程序验证电平包括余量电平。
44.按照权利要求29所述的多态存储器,还包括改变每个所述单元组与其相关的多态的循环电路。
45.一种非易失性存储器,包括若干存储单元,每个存储单元保存N种状态之一;若干跟踪单元,其中每个所述跟踪单元与所述N种状态之一相关;根据与所述跟踪单元的编程的状态相关的阈电压,利用所述N种状态中每种状态的读取点,读取所述存储单元的读取电路;和对所述存储单元和所述跟踪单元编程的程序设计电路,其中利用和被编程到所述N种状态中一种相关状态的存储单元不同的算法,对至少一个所述跟踪单元编程。
46.按照权利要求45所述的非易失性存储器,其中利用和用于被编程到所述N种状态中一个相关状态的存储单元的脉冲相比持续时间较短的脉冲,对所述至少一个所述跟踪单元编程。
47.按照权利要求45所述的非易失性存储器,其中通过利用和用于被编程到所述N种状态中一个相关状态的存储单元的电压相比,幅值较小的控制栅电压,对所述至少一个所述跟踪单元编程。
48.按照权利要求45所述的非易失性存储器,其中通过利用和用于被编程到所述N种状态中一个相关状态的存储单元的电压相比,幅值较小的漏极电压,对所述至少一个所述跟踪单元编程。
49.按照权利要求45所述的非易失性存储器,其中所述跟踪单元和所述存储单元同时被编程。
50.按照权利要求45所述的非易失性存储器,其中所述存储单元是多态存储单元,N大于2。
51.按照权利要求50所述的非易失性存储器,其中所述跟踪单元构成M个跟踪单元组,每个跟踪单元组由若干跟踪单元组成,每个所述跟踪单元组与所述多态之一相关。
52.按照权利要求51所述的非易失性存储器,其中M小于N。
53.按照权利要求52所述的非易失性存储器,其中M为2。
54.按照权利要求45所述的非易失性存储器,其中所述程序设计电路包括验证电路,它利用用于程序验证的一组固定基准值对所述存储单元编程,并且利用用于程序验证的同一组固定基准值对所述跟踪单元编程。
55.按照权利要求54所述的非易失性存储器,其中从所述若干跟踪单元中除去当对跟踪单元编程时不能被验证电路验证的所述跟踪单元。
56.一种操作多态存储器的方法,包括读取一个或多个多态存储单元的阈电压,每个多态存储单元用于保存N个多态之一;读取M组跟踪单元的阈电压,其中每组所述跟踪单元与所述多态之一相关,并且M小于N;和利用所述跟踪单元的阈电压,把所述存储单元的阈电压转换成所述若干多态的逻辑值。
57.按照权利要求56所述的方法,其中所述转换包括根据所述跟踪单元的阈电压,确定所述存储单元的阈电压和所述若干多态的逻辑值之间的关系;和利用所述关系,把所述存储单元的阈电压变换成所述若干多态的逻辑值。
58.按照权利要求57所述的方法,其中所述转换还包括把所述关系保存在快速查寻表中,供所述变换之用,其中所述快速查寻表包括具有所述存储单元的单一集成电路的一部分。
59.按照权利要求58所述的方法,还包括从所述集成电路中移动所述逻辑值,其中和所述移动同时进行所述变换。
60.按照权利要求57所述的方法,其中所述关系是(M-1)次的曲线。
61.按照权利要求57所述的方法,其中所述关系是分段线性关系。
62.按照权利要求57所述的方法,其中所述若干组均包含若干跟踪单元。
63.按照权利要求62所述的方法,所述确定关系的步骤包括确定与所述每组跟踪单元相关的平均阈值;和根据所述平均阈值确定所述关系。
64.按照权利要求63所述的方法,其中只根据相关跟踪单元组中其阈值与平均阈值的差别小于规定限度的那些跟踪单元,建立各个平均阈值。
65.按照权利要求63所述的方法,其中所述关系是线性关系。
66.按照权利要求65所述的方法,其中M等于2。
67.按照权利要求57所述的方法,其中所述确定包括建立对应关系,以便为所述每组跟踪单元确定与其相关的多态。
68.按照权利要求67所述的方法,其中所述变换包括根据所述对应关系,建立所述存储单元的阈电压之间所述逻辑值的循环。
69.按照权利要求56所述的方法,还包括在读取一个或多个多态存储单元的阈电压之前,对所述存储单元编程;和在读取所述跟踪单元的阈电压之前,对所述跟踪单元编程,其中利用和存储单元被编程到与其相关的多态相同的程序验证电平,对所述每组跟踪单元编程。
70.按照权利要求69所述的方法,还包括从所述多组跟踪单元中除去当对所述跟踪单元编程时不能被验证的跟踪单元。
71.按照权利要求69所述的方法,其中预先确定每组跟踪单元与其相关的多态。
72.按照权利要求56所述的方法,还包括读取一个或多个单元存储纠错码的阈电压;利用所述跟踪单元的阈电压,把所述一个或多个单元存储纠错码的阈电压转换成校正码;和利用校正码处理所述若干多态的逻辑值,以便获得所述逻辑值的已校数值。
73.一种操作多态存储器的方法,包括读取一个或多个多态存储单元的阈电压,每个多态存储单元用于保存N个多态之一;读取M组跟踪单元的阈电压,其中每组所述跟踪单元与所述多态之一相关;根据所述多组跟踪单元的阈电压,建立用于区分所述若干多态的相邻状态的读取点,其中至少一个所述读取点以来自一组跟踪单元的阈电压为基础,所述一组跟踪单元与所述至少一个读取点区分的相邻状态无关;和利用所述读取点,把所述存储单元的阈电压转换成所述若干多态的逻辑值。
74.按照权利要求73所述的方法,其中建立读取点包括根据所述跟踪单元的阈电压,确定所述存储单元的阈电压和所述若干多态的逻辑值之间的关系;和把所述关系变换成所述读取点。
75.按照权利要求74所述的方法,其中所述转换还包括把所述关系保存在快速查寻表中供所述变换之用,其中所述快速查寻表包括具有所述存储单元的单一集成电路的一部分。
76.按照权利要求75所述的方法,还包括从所述集成电路中移动所述逻辑值,其中在所述移动的同时进行所述变换。
77.按照权利要求74所述的方法,其中所述关系是(M-1)次的曲线。
78.按照权利要求74所述的方法,其中所述关系是分段线性关系。
79.按照权利要求74所述的方法,其中所述若干组均包含若干跟踪单元。
80.按照权利要求79所述的方法,所述确定关系的步骤包括建立与所述每组跟踪单元相关的平均阈值;和根据所述平均阈值确定所述关系。
81.按照权利要求80所述的方法,其中只根据相关跟踪单元组中其阈值与平均阈值的差别小于规定限度的那些跟踪单元,建立各个平均阈值。
82.按照权利要求80所述的方法,其中所述关系是线性关系。
83.按照权利要求82所述的方法,其中M等于2。
84.按照权利要求74所述的方法,其中所述确定包括建立对应关系,以便为所述每组跟踪单元确定与其相关的多态。
85.按照权利要求84所述的方法,其中所述变换包括根据所述对应关系,建立所述存储单元的阈电压之间所述逻辑值的循环。
86.按照权利要求73所述的方法,还包括在读取一个或多个多态存储单元的阈电压之前,对所述存储单元编程;和在读取所述跟踪单元的阈电压之前,对所述跟踪单元编程,其中利用和存储单元被编程到与其相关的多态相同的程序验证电平,对所述每组跟踪单元编程。
87.按照权利要求86所述的方法,还包括从所述多组跟踪单元中除去当对所述跟踪单元编程时不能被验证的跟踪单元。
88.按照权利要求86所述的方法,其中预先确定每组跟踪单元与其相关的多态。
89.按照权利要求73所述的方法,还包括读取一个或多个单元存储纠错码的阈电压;利用所述跟踪单元的阈电压,把所述一个或多个单元存储纠错码的阈电压转换成校正码;和利用校正码处理所述若干多态的逻辑值,以便获得所述逻辑值的已校数值。
90.一种操作多态存储器的方法,包括提供一个或多个多态存储单元,每个多态存储单元用于保存N个多态之一;提供M个跟踪单元组,每组跟踪单元与所述多态之一相关;利用所述跟踪单元组的编程的状态的模拟值,建立(N-1)个读取点;和利用所述读取点,把所述存储单元的阈电压转换成所述若干多态的逻辑值。
91.按照权利要求90所述的方法,其中每个跟踪单元组由若干跟踪单元组成。
92.按照权利要求91所述的方法,其中建立读取点包括根据所述跟踪单元的阈电压,确定所述存储单元的阈电压和所述若干多态的逻辑值之间的关系;和把所述关系变换成所述读取点。
93.按照权利要求92所述的方法,其中所述关系是(M-1)次的曲线。
94.按照权利要求92所述的方法,其中所述关系是分段线性关系。
95.按照权利要求91所述的方法,其中所述确定关系的步骤包括建立与所述每组跟踪单元相关的平均阈值;和根据所述平均阈值确定所述关系。
96.按照权利要求95所述的方法,其中所述关系是线性关系。
97.按照权利要求96所述的方法,其中M等于2。
98.按照权利要求91所述的方法,还包括在读取一个或多个多态存储单元的阈电压之前,对所述存储单元编程;和在读取所述跟踪单元的阈电压之前,对所述跟踪单元编程,其中利用和存储单元被编程到与其相关的多态相同的程序验证电平,对所述每组跟踪单元编程。
99.按照权利要求98所述的方法,还包括从所述多组跟踪单元中除去当对所述跟踪单元编程时不能被验证的跟踪单元。
100.按照权利要求98所述的方法,其中预先确定每组跟踪单元与其相关的多态。
101.按照权利要求90所述的方法,还包括若干单元存储纠错码;利用所述读取点,把所述一个或多个单元存储纠错码的阈电压转换成校正码;和利用校正码处理所述若干多态的逻辑值,以便获得所述逻辑值的已校数值。
102.按照权利要求90所述的方法,其中建立(N-1)个读取点包括确定每个所述跟踪单元组与其相关多态的对应关系。
103.按照权利要求102所述的方法,其中所述转换包括根据所述对应关系,建立所述存储单元的阈电压之间所述逻辑值的循环。
104.一种操作非易失性存储器的方法,包括对一个或多个存储单元编程,每个存储单元保存N种状态之一;对若干跟踪单元编程,其中每个所述跟踪单元与所述N种状态之一相关,其中利用和被编程到所述N种状态中相关状态的存储单元不同的算法,对至少一个所述跟踪单元编程;和利用所述跟踪单元的阈电压,把所述存储单元的阈电压转换成所述N种状态的逻辑值。
105.按照权利要求104所述的方法,其中利用和被编程到与其相关状态的存储单元相同的程序验证电平,对所述若干跟踪单元中的每个跟踪单元编程。
106.按照权利要求105所述的方法,还包括从所述多组跟踪单元中除去当对所述跟踪单元编程时不能被验证的跟踪单元。
107.按照权利要求104所述的方法,其中对若干跟踪单元编程使用和用于对一个或多个存储单元编程的脉冲相比持续时间较短的脉冲。
108.按照权利要求104所述的方法,其中对若干跟踪单元编程使用与用于对一个或多个存储单元编程的控制栅电压相比幅值较小的控制栅电压。
109.按照权利要求104所述的方法,其中对若干跟踪单元编程使用与用于对一个或多个存储单元编程的漏极电压相比幅值较小的漏极电压。
110.按照权利要求104所述的方法,其中同时进行对若干跟踪单元的编程和对一个或多个存储单元的编程。
111.按照权利要求104所述的方法,其中所述转换包括根据所述跟踪单元的阈电压,确定所述存储单元的阈电压和所述N个状态的逻辑值之间的关系;和利用所述关系,把所述存储单元的阈电压变换成所述N种状态的逻辑值。
112.按照权利要求111所述的方法,其中所述存储单元是多态存储单元,N大于2。
113.按照权利要求112所述的方法,其中所述跟踪单元构成M个跟踪单元组,每个跟踪单元组由若干跟踪单元组成,每个所述跟踪单元组与所述多态之一相关。
114.按照权利要求113所述的方法,其中M小于N。
115.按照权利要求114所述的方法,其中M为2。
116.一种集成电路,包括若干多态存储单元,每个存储单元用于保存N种数据状态之一;M个基准电压电路,其中每个基准电压电路与所述N种数据状态之一相关,并且每个基准电压电路包括一组跟踪单元;和用于每个所述跟踪单元的,提供和与其相连的跟踪单元的编程的状态相关的模拟电压的专用检测放大器;与所述基准电压电路相连,接收所述模拟值,并且提供源于所述平均值的至少(N-1)个电平的读取点电路;和接收所述至少(N-1)个电平,可与所述存储单元相连的读取电路,所述读取电路根据所述至少(N-1)个电平,提供与其相连的存储单元的数据状态。
117.按照权利要求116所述的集成电路,其中每个所述跟踪单元组包括若干跟踪单元,M个基准电压电路中每个还包括可与每个所述检测放大器相连,以便接收对应的模拟电压,并提供所述模拟电压的平均值的平均电路,其中读取点电路接收的模拟值是所述平均值。
118.按照权利要求117所述的集成电路,其中每个所述检测放大器包括连接在电源和第一节点之间,并且具有与基准电压相连的控制栅的第一晶体管;连接在所述电源和第二节点之间,并且具有与所述第一节点相连的控制栅的第二晶体管;连接在所述第二节点和地面之间的第三晶体管;和提供与所述第二节点相连的所述模拟电压的输出端,其中与检测放大器相连的跟踪单元连接在所述第一节点和地面之间,并且具有与所述第二节点相连的控制栅。
119.按照权利要求118所述的集成电路,检测放大器还包括连接在所述第一晶体管和所述第一节点之间的至少一个栅-阴极器件;和连接在所述第一节点和与检测放大器相连的所述跟踪单元之间的至少一个栅-阴极器件。
120.按照权利要求117所述的集成电路,其中每个基准电压电路还包括用于所述若干跟踪单元中每个的若干开关,每个开关连接在对应的一个所述专用检测放大器和所述平均电路之间,以便断开所述对应检测放大器和所述平均电路。
121.按照权利要求117所述的集成电路,其中读取点电路包括连接在第一和第二电平之间的一系列电阻元件,具有在对应于所述至少(N-1)个电平的所述电阻元件之间的至少(N-1)个节点和所述平均值可与其相连的M个节点。
122.按照权利要求121所述的集成电路,其中每个所述平均值可通过缓冲元件与所述一系列电阻元件相连。
123.按照权利要求121所述的集成电路,还包括改变所述M个节点中的哪一节点与所述平均值中的哪一平均值相连的序列的循环电路。
124.按照权利要求121所述的集成电路,其中M等于2。
125.按照权利要求124所述的集成电路,还包括与所述存储单元和所述跟踪单元相连的程序设计电路;提供一对验证电压的验证基准电压发生电路,它可与所述平均值与其相连的所述一对节点连接,其中响应编程过程中的控制信号,使所述平均值和所述一对节点断开,并连接所述验证电压,从而向所述读取电路提供至少(N-1)个程序验证电压。
126.按照权利要求125所述的集成电路,其中所述程序设计电路利用所述至少(N-1)个程序验证电压,同时对所述存储单元和所述跟踪单元编程。
127.按照权利要求126所述的多态存储器,其中从所述多组跟踪单元中除去当对所述跟踪单元编程时不能被验证的跟踪单元。
128.一种检测放大器,用于提供连接在所述检测放大器和地面之间的非易失性存储单元的模拟电平,包括连接在电源和第一节点之间,并且具有与基准电压相连的控制栅的第一晶体管;连接在所述电源和第二节点之间,并且具有与所述第一节点相连的控制栅的第二晶体管;连接在所述第二节点和地面之间的第三晶体管;和提供与所述第二节点相连的所述模拟电压的输出端,其中所述存储单元连接在所述第一节点和地面之间,并且具有与所述第二节点相连的控制栅。
129.按照权利要求128所述的检测放大器,还包括连接在所述第一晶体管和所述第一节点之间的至少一个栅-阴极器件;和连接在所述第一节点和与检测放大器相连的所述跟踪单元之间的至少一个栅-阴器件。
全文摘要
本发明提出了使用可写跟踪单元的几种技术。为存储器的每个写入块配置多个跟踪单元。每次相关写入块的用户单元被写入时,通过利用相同的固定全局基准电平设置跟踪单元编程的阈值和用户单元编程的阈值,最好同时对这些跟踪单元重新编程。每次读取用户单元时,读取跟踪单元的阈电压,这些阈电压被用于确定用户单元的保存逻辑水平。在一组实施例中,多组一个或多个跟踪单元与多态存储器的不同逻辑水平相联系。可以只为逻辑水平的子集设置这些跟踪单元组。根据该子集,得到所有逻辑水平的用于变换阈电压的读取点。在一个实施例中,分别由多个跟踪单元组成的两个跟踪单元组与多位单元的两个逻辑水平相关。在模拟实现方式中,直接利用跟踪单元组的模拟阈值读取用户单元,而不必首先把跟踪单元组的模拟阈值转换成数字值。一组备选实施例使用不同的电压和/或计时进行跟踪单元的写操作,以便提供不定性较低的跟踪单元最终写入阈值。
文档编号G11C29/04GK1466765SQ01816449
公开日2004年1月7日 申请日期2001年9月25日 优先权日2000年9月27日
发明者莎扎德·B·卡里德, 丹尼尔·C·古特曼, 杰弗里·S·宫沃, 理查德·斯穆克, 凯文·M·康雷, C 古特曼, S 宫沃, 斯穆克, M 康雷, 莎扎德 B 卡里德 申请人:三因迪斯克公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1