首页> 中国专利> 用于操作采用无源矩阵寻址的数据存储装置的方法

用于操作采用无源矩阵寻址的数据存储装置的方法

摘要

在用于减少与采用无源矩阵寻址的数据存储装置特别是存储器设备或传感器设备中的干扰电压相关的有害现象的方法中,符合寻址操作的电位的施加通常以时间协调的方式根据电压脉冲协议来控制。在寻址操作中,数据存储单元借助第一激活电压脉冲被设置到第一极化状态,然后根据电压脉冲协议,第二电压脉冲被施加,其可以是极性与第一电压脉冲的极性相反的第二激活电压脉冲,并用于将数据存储单元切换到第二极化状态。由此将寻址单元设置到通过寻址操作指定的预定极化状态。该装置的数据存储单元被设置在两个或更多电分隔的段中,使得对于装置来说每个段包括分开的物理地址空间。在寻址操作中,数据被引导到段,该段是根据关于在段中在先的和/或规划的施加激活电压脉冲的信息来选择的。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2012-02-08

    未缴年费专利权终止 IPC(主分类):G11C8/06 授权公告日:20100505 终止日期:20101124 申请日:20041124

    专利权的终止

  • 2010-05-05

    授权

    授权

  • 2007-03-28

    实质审查的生效

    实质审查的生效

  • 2007-01-31

    公开

    公开

说明书

技术领域

根据权利要求1的引言,本发明涉及用于降低与采用无源矩阵寻址的数据存储装置中的干扰电压相关的有害现象的方法。

背景技术

如上所述的相关构造在现有技术中是公知的,并且一般被称为无源矩阵可寻址存储器。如图1所示,它一般通过使两组并联电极通常以正交方式互相交叉来实现,以便创建交叉点矩阵,其能够通过矩阵边缘的适当电极的选择性激发而被单独地电存取。在下述中,图1中的水平和垂直电极分别被称为“字线”和“位线”。铁电或驻极体材料层设置在电极组之间或之处,使得用作存储单元的类电容器结构形成在电极的交叉之间或之处的材料中。当在两个电极之间施加电位差时,单元中的铁电或驻极体材料经受电场,该电场产生通常跟踪磁滞曲线或其部分的极化响应。通过操纵电场的方向和大小,存储单元可以保持在所希望的逻辑状态。与其中有源元件例如晶体管用于在适当的时候将存储单元与矩阵的其余部分断开的有源寻址相比,这种类型的无源寻址产生简化的制造和高密度的存储单元。

使用铁电体或驻极体作为存储材料由于它们在不存在施加到存储器设备的电压或电流的情况下保持逻辑状态的能力而赋予所讨论的存储器设备非易失性。特别地,铁电体的这种属性是已知的,并且已经试图在现有技术的存储器设备中采用它。它是基于以下事实的,即这些电可极化材料在不存在外部电场的情况下拥有自发极化矢量的至少两个平衡定向。自发极化矢量可以在这两个定向之间借助电场来切换。极化状态之一被认为是逻辑“1”,以及另一个状态是逻辑“0”。参考图2,具有磁滞回路(210)的材料在施加电场时改变其极化方向,该电场超过了矫顽场Ec(当为了方便沿横坐标轴利用电压而不是场示出磁滞回路时对应于Vc)。当存储单元经受额定切换电压Vs时,得到饱和极化Ps。随着施加的电压降低到零,极化将跟随磁滞曲线并在剩余极化值PR处终止。根据施加的电压的极性,这种零场点可以处于在图中标记为“1”或“0”的极化状态中的任一种,其代表单元的两种不同的极化方向和可存取的逻辑状态。哪个极化状态被解释为‘0’或‘1’实际上只是定义的问题,因此也可以使用更一般的名称“极化状态A”和“极化状态B”来命名这两个相反的极化状态。

受无源矩阵可寻址装置支配的激励的数量和类型取决于在矩阵中的字线和位线上如何管理电压。字线和位线上的电压、或电位的时间坐标控制,有时被称为“时序图”或“电压脉冲协议”或简单地称为“脉冲方式”,是任何无源矩阵可寻址装置的用途中的重要部分。脉冲方式将可用于无源矩阵可寻址装置中的操作转变成电极电压,以便通过该操作被寻址的单元接收适当的激励。

用在存储器上的寻址操作通常包括至少一个命令和一个地址,例如READ(地址)或WRITE(数据、地址)。从而执行寻址操作对应于执行地址上的命令。通过操作被寻址的存储单元是当执行寻址操作时作为目标的单元。

本发明的特定关注的脉冲方式限定字线和位线上的电压,以便将+Vs或-Vs的电压脉冲,之后被称为“激活电压脉冲”或简单地称为“激活脉冲”,施加到通过该操作被寻址的存储单元。除此之外,脉冲方式必须保证没有被寻址的任何单元,即“未寻址”单元,也被称为“非寻址”单元,决不经受使该单元切换极化状态的电压,一般是指脉冲方式必须保证跨越未寻址单元的电压总是小于矫顽电压Vc。

如果未寻址单元总是经受小于Vc的电压,那么-Vs或+Vs的激活脉冲不能同时施加到无源矩阵中的寻址单元,即它不可能将存储单元同时切换到相反极化状态。为此,可以根据下述一般原理来描述寻址操作:

首先,单极性激活脉冲受每一个寻址单元的支配,将那些单元设置到第一极化状态,其对应于图2中的两个剩余极化状态之一。(在寻址操作是读操作的情况下,在施加第一激活电压脉冲期间,一般在相应的位线上感测电荷。)

在施加第一激活电压脉冲之后,与第一电压脉冲极性相反的第二激活电压脉冲可选地施加到寻址单元的子集,以便该子集中的单元切换到第二极化状态,结果使得寻址单元对应于通过该操作预定的值。(在读操作的情况下,该值一般与执行读操作之前相同。)施加在不属于该子集的寻址单元上方的电压应当是未切换的,例如Vs/3。

图3示出上述使用本申请人的国际公开申请WO 02/05287中公开的脉冲方式的一般原理,其提供关于电压脉冲协议的理论和它们的用途的背景。对于图3中的第二电压脉冲,在第一激活电压脉冲之后施加激活电压脉冲的替换选择用虚线示出,即施加激活电压脉冲作为第二脉冲的替换选择是施加未切换脉冲,这里被示为未切换的Vs/3电压脉冲。

图4a示出相同的一般原理,但是使用流程图。图4b和4c示出图4a中的一般描述是这里被称为“普通写操作”和“普通读操作”的两者所共用的,其分别在图4b和4c中示出。在图4b中,存在普通写操作,其中首先在步骤403中将激活电压脉冲施加给每个寻址单元,擦除任何在前数据并将所有寻址单元设置成同一极化状态,然后在步骤404中,施加第二电压脉冲,使得只有所选单元得到所施加的第二激活电压脉冲,结果是根据通过写操作所预定的将新数据写入寻址单元。

在图4c中,存在普通读操作,其包括第一破坏性步骤405,其中将第一激活电压脉冲施加给每个寻址单元同时感测破坏性读出中的电荷,和破坏性步骤406,其中将第二电压脉冲施加给每个寻址单元,使得与第一个极性相反的第二激活电压脉冲一般施加给一些存储单元,以便改写原始数据。

普通读操作中的第一步骤405和普通写操作中的第一步骤403基本相同,即使脉冲长度可能不同,所述脉冲长度即施加激活电压脉冲的时间。读操作的持续时间可以例如较长,因为电荷必须以确信的方式被感测。本发明关注的脉冲长度一般在0.1μs-1ms的范围内。

在无源矩阵可寻址装置中,任意位线电极是所有字线所共用的,并且任意字线电极是所有位线所共用的,其暗示当寻址和施加激活电压脉冲至例如图3所示的寻址单元时非寻址单元可能受到影响。在理想情况下,一般所有未经受激活电压脉冲的单元将经受零电压,但是由于无源矩阵的性质,这并不是完全可能的,即使使用仔细设计的电压脉冲协议。出现在无源矩阵中、一般形成在未寻址单元上的不需要的电压脉冲通常被称为“干扰电压”、“干扰电压脉冲”或简单地称为“干扰脉冲”。总的来说,通常被称为“干扰”的这种现象是所有已知的无源矩阵的脉冲方式中不可避免的副作用,至少其中它是在操作中将不同值写入各个寻址单元所必需的。国际公开申请WO03/046923公开了全行寻址脉冲方式,其在施加第一激活电压脉冲期间不产生干扰电压。另外,它示出,除了特定情况之外,当将大小是Vs的电压脉冲施加给矩阵中的其它地方的寻址单元时,跨越任何未寻址单元的最小电压是Vs/3。在无源矩阵可寻址装置中,有利的是同时寻址整行存储单元,一般是沿字线的所有存储单元,其通常被称为“全行寻址”或“全字寻址”。在无源矩阵可寻址存储器中属于字寻址的数据的位置在图5中示出。

为了进一步解释字线和位线处的单元电压和电位之间的关系,以及为了示出干扰电压的来源,图6和7将用于示出当寻址字线时电极电位的可能管理的实例,以便根据图3中的前一实例将电压脉冲施加到寻址单元。

图6示出在执行全行寻址操作期间用于电极电位的种类:“寻址字线”是通过操作被寻址的字;“非寻址字线”指的是除被寻址字线之外的所有其它字线;“位线设置为逻辑1”指的是与存储单元处的被寻址字线相交的所有位线在操作之后被解释为‘1’;以及“位线设置为逻辑0”指的是与存储单元处的被寻址字线相交的所有位线在操作之后被解释为‘0’。

图7a示出电极上的电位的可能选择的一个实例,以产生电压差,形成图3中的第一激活电压脉冲-Vs。注意,图3中的所有寻址单元将被设置成相同的极化状态,在该实例中对应于‘0’,以及在非寻址单元上不存在电位差,即在实例中没有干扰电压。图7b给出电位的可能选择的实例,以获得所谓的“静态”,其中在单元上不存在电位差,例如在图3所示的脉冲之间的情况。图7c示出电极上的电位的可能选择的实例,以获得电位差,形成图3中的第二电压脉冲,即+Vs的第二激活电压脉冲或虚线Vs/3干扰脉冲。注意,只有将要切换成逻辑‘1’的寻址单元经受激活电压脉冲Vs,而保持逻辑‘0’的那些,如图7a所示,受到未切换的+Vs/3电位差,其是不希望有的干扰的实例。在施加第二电压脉冲期间,+Vs/3和-Vs/3的干扰电压也沿着非寻址字线跨越单元出现。非寻址字线处的干扰脉冲的极性取决于对于与非寻址字线交叉的位线处的寻址单元来说是否存在施加的激活电压脉冲。通过研究图7c中的电位,揭示出无论电极的电位选择是什么,干扰电压总是存在于某处,至少当期望将激活电压脉冲同时施加给一些而不是所有寻址单元时。

结合与可极化材料有关的一定特性的干扰电压引入一些要处理的特定问题。低于Vc的干扰电压可以例如沿根据干扰脉冲的极性给出的方向部分地切换存储单元,由此减少了单元中的净极化。结合“印记(imprint)”现象,在特定条件下,干扰脉冲甚至可以导致未寻址单元中的极化的偶然切换。印记可以产生在存储单元中,其保持在特定极化状态长达某一时间周期。它按照切换特性中的变化来表明自身,由此磁滞曲线移动以便在将极化方向切换成与在印记周期期间保留材料的方向相反的方向时增加察觉到的矫顽场。换句话说,极化具有沿允许它停止若干时间的方向被卡住的趋势。如果施加激活脉冲以切换印记的单元,那么该单元可以在一段时间沿前面的印记方向对甚至很小的电压例如干扰脉冲敏感。如果印记的单元沿新方向没有时间固定,那么这种干扰脉冲可以偶然地沿印记方向将单元切换回来。

干扰脉冲不仅可以偶然地切换存储单元,而且干扰电压还可以引起所谓的“潜行”电流,其例如可以掩蔽在读取寻址单元时感测的电荷。干扰的问题,尤其是对于潜行电流的情况,在大的无源矩阵结构中被加重,并且每一寻址单元有多个被干扰的存储单元。另一相关问题是张弛电流,即在施加电压脉冲之后保留在矩阵中的电流,以及与例如从将激活电压脉冲施加到单元的直接电荷释放相比相对缓慢的衰减。张弛电流可以延缓并且干涉连续操作,因此通常需要设计操作之间的规则的等待间隔以保证张弛电流的充足的衰减,其又例如在读和写中导致降低的数据速率的负面效应。

通常希望,甚至需要在内部将无源矩阵结构分成较小的“子矩阵”或“段”,例如以在寻址期间降低功率需求或减少被干扰的单元的数目。分段可以以多种方式来实现,例如如本申请人的国际公开申请W02/25665中所公开的,其还公开了关于无源矩阵分段的另外的现有技术。

子矩阵或段在某种程度可以被看作是它自己的无源矩阵,即使通常在段之间共享公共装置,例如基板、读出放大器、多路复用器、驱动器等等。甚至可以考虑两个基本无关的无源矩阵装置作为段,如果它们是相同存储器寻址区域的一部分并被操作为单个较大存储器的话。不存在对分段的无源矩阵或子矩阵的明确限定,因此需要限定本发明特定关注的分段的无源矩阵的类型,即使得遵从下面两个要求:

-在一段中的单元上的寻址操作在相同段中将仅产生基本干扰电压。

-在特定段中可能将唯一寻址特定地址。

图8示出属于另一段而不是寻址单元的未寻址单元的Vs/3干扰的缺少。

可能影响可极化材料的另一现象是“疲劳”,其是由于给定存储单元中的极化方向的重复切换引起的,由此剩余极化逐渐地减少并且最终变得太小而不能允许存储器正常操作。这种现象是公知的,并且在现有技术中存在补救范围。然而,一般对存储单元中的可极化材料在变得疲劳之前能够处理的切换数目存在上限。在其使用寿命期间具有达到该上限的领域的理论可能性的设备中,存在在存储器设备中特定地址处的特定单元可能经受比其它单元更多的切换的危险,导致存储器或部分存储器在比本来的情况更短的时间内变得无用,如果切换均匀分布在所有单元中的话。

发明内容

即使一些现有技术分段降低了总干扰并且现有技术中的良好设计的脉冲方式可以使干扰电压保持在低电平,但是在每个段内仍存在干扰电压,结合印记现象并由于潜行和张弛电流的出现其使得有必要降低存储器设备的数据速率以保证操作和激活电压脉冲之间的延迟,以便潜行和张弛电流可以下降,并且被切换的单元将有时间固定。

本发明的主要目的是通过改正上述问题来提高可能的数据速率。

本发明的另一目的是分配寻址操作,以便受疲劳限制的使用寿命增加。

上述目的以及另外的优点和特征利用如独立权利要求1的特征部分中所公开的根据本发明的方法来实现。

附图说明

借助实例和以下结合附图来理解的优选实施例的讨论,本发明将得到更好地理解,其中:

图1示出如现有技术中已知的和上述的具有位于位线电极和字线电极的交叉之间和之中的存储材料的无源矩阵存储器的实例,

图2是如现有技术中已知的和上述的用于可极化材料例如铁电体的磁滞曲线的原理图,

图3是如现有技术中已知的和上述的在操作期间在无源矩阵可寻址装置中的寻址单元上方的所得到的电压脉冲的实例,

图4a是如现有技术中已知的和上述的描述图3中电压脉冲的原理的流程图,

图4b是如现有技术中已知的和上述的在普通写操作的特定情况下图4a中的流程图,

图4c是如现有技术中已知的和上述的在普通读和回写操作的特定情况下图4a中的流程图,

图5是如现有技术中已知的和上述的无源矩阵可寻址装置中所存储的数据的位置的实例,

图6是如现有技术中已知的和上述的在对无源矩阵可寻址装置中的寻址单元执行操作期间用于电极的种类,

图7a是如现有技术中已知的和上述的用以使寻址单元仅经受类似图3中的第一电压脉冲的电压脉冲的电极上的可能的电位的实例,

图7b是如现有技术中已知的和上述的用以获得类似图3中的电压脉冲之间的静止状态的电极上的可能的电位的实例,

图7c是如现有技术中已知的和上述的用以使可选的部分寻址单元经受如图3中的第二电压脉冲所示的第二激活电压脉冲的电极上的可能的电位的实例,

图8是在与本发明一起使用的电分段的矩阵可寻址装置中,在未选择的段中非寻址单元上的干扰电压的缺少,

图9是施加到与本发明一起使用的无源矩阵可寻址装置中的单元并引起读出数据速率的脉冲之间的间隔,

图10是本发明的实施例的流程图,其中寻址操作指向与本发明一起使用的被分段装置中的另一段,

图11a是在本发明中使用地址映射表的存储地址映射的概念,

图11b是在本发明中使用地址映射表的存储映射和用以实现地址映射表恢复的非易失性主存储器中物理地址处的逻辑地址的存储的概念,

图12是本发明中地址映射表中的地址条目的实例,

图13是本发明中段表中的段条目的实例,

图14是本发明中段表作为队列的用途的实例,

图15是与本发明一起使用用于监控段表并在适当的时间复位段表中的任何‘锁状态’标记的支持机制的流程图,

图16是根据本发明的第一实施例使用段表和地址映射表作为队列的流程图,其将第一激活电压脉冲和可选的第二电压脉冲施加到不同的段,并且在施加第一激活电压脉冲之前有条件地引入延迟,

图17是类似于图15中的那个的实施例的流程图,但是其中有条件的延迟被使用段表时间戳的机制代替,

图18是类似于图17中的那个的实施例的流程图,但是其中使用‘锁状态’标记来代替时间戳并保证寻址操作中的第二电压脉冲不被太快地施加到段,

图19是类似于图18中的那个的实施例的流程图,但是其中有条件的延迟被检查连续操作代替并有条件地改变段以施加第二电压脉冲,

图20是类似于图15中的那个的实施例的流程图,但是其中在施加第二电压脉冲时使用关于预置单元极化状态的附加信息,

图21是类似于图17中的那个的实施例的流程图,但是其中在地址映射表中物理地址被交换而不是被代替,

图22a是系统不可见的预置单元,其中与本发明一起使用的地址映射表不包含预置单元的物理地址,

图22b是系统可见的预置单元,其中与本发明一起使用的地址映射表包含预置单元以及普通数据的物理地址,

图23是与本发明一起使用的在系统空闲时间期间将预置单元分配在段中的第二实施例的流程图,

图24是与本发明一起使用的在无存储地址处创建并分配系统可见的预置单元的第三实施例的流程图,

图25是与本发明一起使用的用于支持系统可见和系统不可见的预置单元的第四实施例的流程图,并且其通过利用系统可见预置单元提供快速写,

图26是与本发明一起使用的用于仅支持系统可见预置单元的第五实施例的流程图,其记住预置单元的总数目并且其通过利用系统可见预置单元提供快速写,

图27是与本发明一起使用的用于支持系统可见和系统不可见的预置单元的第六实施例的流程图,并且其通过利用系统可见预置单元提供快速写,

图28是装置的第一实施例,其可用于实施本发明的使用主存储器来直接处理数据的方法,

图29是装置的一个实施例,其可实施本发明的使用存储控制单元来处理数据的方法。

具体实施方式

在给出优选实施例的详细描述之前,将讨论并且更详细地分析一些先决条件以及本发明的一般背景技术的重要性的话题,以给出对本发明所实现的目的的更好理解。

图9示出消极地影响具有可极化材料例如铁电材料的存储单元的无源矩阵可寻址装置中的数据速率的间隔的实例。图9所示的这些间隔已经被确定在限制数据速率中贡献最大。参考图9,对相同段中的两个不同地址的操作序列在地址之一,地址AD1处的单元处产生电压脉冲模式。对地址AD1的操作包括施加给该地址处的每个单元的大小为-Vs的第一激活电压脉冲P1和第二电压脉冲P2,其是大小为+Vs的第二激活电压脉冲或大小为Vs/3的干扰脉冲。对于第二电压脉冲P2选择哪个电压是可选的,并且取决于通过该操作被寻址的每个单元在该操作之后将拥有的极化状态。第二电压脉冲P2是+Vs的激活电压脉冲,仅用于那些将改变通过第一激活电压脉冲P1设置的极化状态的单元。对地址AD2的操作根据用于该地址AD2操作的第二电压脉冲的电压在地址AD1上产生大小为+Vs/3或-Vs/3的干扰电压脉冲D。间隔T(P2-D),即在第二电压脉冲和来源于相同段中的另一地址处的随后操作的干扰脉冲之间,可能是一个问题,尤其是如果单元已经借助P2从被印记的方向被切换的话以及如果D沿被印记的方向出现的话。间隔T(P1-D),即在第一激活电压脉冲和来源于相同段中的另一地址处的随后操作的干扰脉冲之间,一般长于T(P2-D),但仍可能是几乎相同原因的有问题的;这里如果单元已经借助P1从被印记的方向被切换以及如果D沿P2方向出现的话。间隔T(P1-P2)是第一激活电压脉冲和可选的第二电压脉冲之间的间隔,并且由于它出现在寻址操作内且与即将到来的操作无关,因此可能是一个问题,尤其是如果单元已经借助P1从被印记的方向被切换以及如果P2脉冲没有被期望将单元切换回到被印记的方向,例如当P2是如所示实例中的未切换大小Vs/3时,其可能是一个问题。如果P1和P 2之间的间隔太小,那么由于上述印记效应,P2仍然可以偶然地沿被印记的P2方向将单元切换回来。然而存在特定利益的两个其它间隔,即T(D-P1),即在来源于相同段中的另一地址处的操作的干扰脉冲和随后操作的第一激活电压脉冲之间,和T(P2-P1),即在一个操作中的第二电压脉冲和随后操作的第一激活电压脉冲之间。由于潜行和张弛电流,这两个间隔是主要关注的,尤其是考虑在该实例中沿寻址单元的位线的所有单元将经受Vs/3的电压,其一起产生基本的潜行和张弛电流,其依次可以掩蔽将要在随后的读操作中感测的电荷。

在图4a-4c中,示出根据本发明关注的脉冲方式在无源矩阵可寻址存储器上的一般读或写操作可以被描述为包括两个步骤401、402,其中在每个步骤内激活电压脉冲可以施加给寻址单元。除了图4b和4c中所述的普通写和读操作之外,对于特定情形还可以创建操作的变型,其使得对于用户例如编程者来说可以更有效地操作存储器并由此例如提高数据速率。包括图4b和4c中的两个普通操作,主要存在六种可能的不同操作变型:

I)READ WITH WRITE-BACK(读以及回写)。根据图4c的普通读操作,借助图4a从激活脉冲施加的观点来描述。为了在施加第一激活电压脉冲期间保持数据破坏性地读,连续的第二电压脉冲是回写脉冲,其如同以前执行该操作那样使每个寻址单元代表相同的二进制值。

II)WRITE(写)。根据图4b的普通写,通常借助图4a从激活脉冲施加的观点来描述。在该操作之前任何存储的逻辑值将在施加第一激活电压脉冲期间被破坏,其将每个寻址单元设置成相同的极化状态。然后对于所选的寻址单元第二电压脉冲可选地切换极化状态,以便使通过该操作被寻址的单元对应于由该写操作限定的二进制值。

III)READ WITH WRITE-DIFFERENT(读以及不同的写)。在施加第一激活电压脉冲期间读取数据的情形,类似于在图4c中的第一步骤405中。除了读数据之外的其它数据被写入单元中,类似于在图4b的第二步骤404中,使得读和写操作结合在一个操作中。通常借助图4a从激活脉冲施加的观点来描述。

IV)READ ONCE(读一次)。在读之后不必再存储数据的情形。可以仅通过执行图4c的第一步骤405来完成,其读取单元并将所有寻址单元设置成同一极化状态。通常借助图4a中的第一步骤401从激活脉冲施加的观点来描述。除了读取数据之外,结果都是数据被擦除并且每个寻址单元被设置成相同的极化状态。

V)ERASE/PRE-SET(擦除/预置)。数据应当从存储器被擦除但不必被读取的情形。可以仅通过执行图4b的第一步骤403来完成,其将所有寻址单元设置成同一极化状态。通常借助图4a中的第一步骤401从激活脉冲施加的观点来描述。结果是数据被擦除并且每个寻址单元被设置成相同的极化状态。

VI)WRITE TO PRE-SET(写至预置)。如果先前已经将单元设置成同一极化状态,类似于例如在根据变型IV或V的操作之后,在操作下可以对任何这种预置单元以后仅执行图4b的第二步骤404。通常借助图4a中的第二步骤402从激活脉冲施加的观点来描述,假定地址已经包含被预置到第一极化状态的单元。

即使除了普通读和写操作I-II之外,还可以创建任何所描述的特定操作变型III-VI,并且使它们是用户可用的,但是仍由用户决定选择和施加适当的操作以便能够获得任何数据速率提高。

将在下文的流程图中示出的本发明的优选实施例将主要对应于通常借助图4a描述的操作变型,即上述变型I-III。其它可能的变型III-VI,或对图中所示的引起变化的特定变型I-VI将在参考流程图和相应的操作变型即I-III的伴随文本中被单独描述。

处理根据图9的被确定的间隔并容许提高的数据速率的一个实施例将确定上述图9的间隔在使用期间的任何出现,并在那些时候增加施加的电压脉冲之间的时间间隔。与总是通过默认插入足够大的间隔的情况相比,这将提高数据速率,但要求这些特定情况在运行时间中被清楚地确定。在下面讨论的实施例中将描述这种确定间隔并由此增加电压脉冲之间的时间的“强力”解决方案的替换。

优选实施例的流程图可以与先前讨论的图4a相比较,其示出普通读或写操作的一般流程图。图4a中的步骤401、402都可以作为本发明的优选实施例的部分。

通过研究图7所示的间隔,揭示出寻址相同段的连续操作是消极影响数据速率的一个因素。

图10示出根据本发明的方法的第一实施例,其通过将通过操作被寻址的数据引导到另一段来减少相同段中的连续寻址。具体地说,图10示出I)READ WITH WRITE-BACK(读以及回写)和III)READWITH WRITE-DIFFERENT(读以及不同的写)操作。参考图10,在第一步骤1001中,取回第一物理地址,其对应于由该操作给出的地址,即逻辑地址;然后进行步骤1002,其中在第一物理地址处的每个单元经受极性A的第一激活电压脉冲,对照图4a,步骤401和图4c,步骤405,其将所有寻址单元设置成相同的极化状态A,对应于先前提到的第一极化状态。在下一步骤1003中,第一物理地址和逻辑地址之间的引用被去除,并且在这之后在步骤1004中取回第二物理地址,指向在另一段中可用的另一物理地址;然后,在步骤1005中,在第二物理地址处的每个单元经受极性A的第一激活电压脉冲,其将所有寻址单元设置成相同的极化状态A,对应于先前提到的第一极化状态。在这之后在步骤1006中施加第二电压脉冲以切换特定单元来获得由操作预定的单元极化状态,以及最后在步骤1007中在现在包含根据操作确定的数据的第二物理地址和逻辑地址之间创建引用。

上述实施例需要物理地址的改变,以便例如读操作中的数据从一个段中的第一物理地址改变位置到另一个段中的第二物理地址。为了在相同段中的操作之间获得适当的间隔,步骤1004中的其它段中的物理地址的选择应当通过下述被循环,例如总是通过选择具有自上次使用以来或者更确切地说自上次经受激活电压脉冲以来最长的时间的段。

现在参考图10描述该实施例范围内所支持的其它操作变型:

II)WRITE(写)。在操作是普通写操作的情况下,首先两个步骤1001、1002可以被绕过,因为没有数据需要被读取。

IV)或V)READ ONCE(读一次)或ERASE/PRE-SET(擦除/预置)。对于这些类型的操作变型,只有首先两个步骤1001、1002需要被执行。

VII)WRITE TO PRE-SET(写至预置)。在已知对预置单元的逻辑地址的情况下,即已经经受IV或V)操作变型的地址,可以直接对这种地址执行该操作。然而,这暗示当在步骤1004中在另一段中得到第二物理地址时,可以使用的内建“智能”,例如判定算法或类似物将被绕过。代替地,将由该操作的发出者决定选择适当的逻辑地址。尽管应当记起逻辑地址一般与段不具有明显关系,物理地址和段之间通常就是这样。因此,对于该操作变型的发出者来说可能很难避免连续寻址同一个段。如果尽管如此仍使用该操作变型,那么将要执行的步骤是第一步骤1001,然后是第六步骤1006。后者将要在如图所示的第一物理地址而不是第二物理地址上来执行。

如图10所示和上述的根据本发明的方法的实施例的一部分可以被确定作为通常所称的“存储地址映射”,其是公知的用以将逻辑地址连接到物理相似物的方法。

图11a解释了从现有技术得知的存储地址映射的一般概念。逻辑地址指向地址映射表中的位置,其包含物理地址,其又指向主存储器中的数据。包含地址映射表的存储器一般不是与地址映射表中的该物理地址所指的相同的存储器。通常,地址映射表存储器位于快速且较小的易失性RAM中或类似的易失性更硬件定向的存储器,即使什么都不能防止它位于单独的而类似主存储器的非易失性存储器中。然而,如果地址映射表位于易失性存储器中,那么不管主存储器的非易失性仍引入丢失数据的危险,例如如果电源故障擦除地址映射表内容的话。对此的解决方案是将信息存储在主非易失性存储器中,以便地址映射表可以在例如电源故障之后可以被重构。

图11b示出一种解决方案,其中逻辑地址存储在a处的主存储器中的物理地址处,在为此目的引入的“元数据区”,该名称表示引入该区域用以存储描述性的非普通数据,在这种情况下是地址。元数据区的内容通常应当是透明的,并且对存储器的用户是不可见的。在丢失地址映射表之后,可以通过单步调试主存储器的物理地址并且在读取元数据区的每个物理存储地址处建立新的正确的表以获得逻辑地址。涉及如图10所示的实施例的实例,这里是在元数据区中存储逻辑地址,将结合步骤1006中的第二电压脉冲的施加一起进行。

图12示出结合地址映射表中的物理存储地址存储附加信息的实例。附加信息可以包括‘预置’标记,哪个何时设置,表示相应物理地址处的存储单元被预置到给定的极化状态,或者,何时复位,表示存储单元包含普通数据。特定地址处的单元在该地址处的每个单元已经经受单极性的激活电压脉冲之后被预置,例如在操作中的第一激活电压脉冲之后,其将该地址处的所有单元设置成相同的极化状态,类似于在图3中,或者在图4a、4b或4c中的第一步骤之后。该‘预置’标记可以是二进制的,因此例如‘1’表示预置单元,并且‘0’表示该物理地址处的普通数据。地址映射表中的另一类型的附加信息可以是关于如图12中的‘预置极化A’标记所示的预置单元的极化的指示器。在预置单元的情况下,该附加信息表示该物理地址处的预置单元是否是极化的。由于一般仅可能存在两种不同的极化状态,因此没有处于第一极化状态A的预置单元必定处于第二极化状态B。另一可能域的附加信息是段引用,其确定物理地址属于的段;然而,应当注意,在一些情况下,段引用可以被隐含地并入物理地址本身中,例如当该物理地址分成多个范围时,其中每个范围对应于特定段。如果可以选择或限定物理地址,使得例如物理地址的采用二进制或十六进制表示的一个特定位置或多个位置将确定段,那么这可能是用以确定段的有利方式。如果并且当段引用被包括在物理地址中时,那么将不必存储关于该段引用的附加的和存储器消耗的信息。下面将进一步说明地址映射表中的附加信息的特定使用,包括概念“预置”单元。

根据上述第一实施例实施的本发明的方法必定不仅必须能够对于根据寻址存储器的操作给出的逻辑地址取回物理地址引用,而且必须能够取回其它段的地址引用。为此目的,引入另一表,即“段表”,其对于段来说包含关于属于所述段的多个预置单元或一个预置单元地址的信息。

图13示出段表中的段条目。条目通过段引用来确定,例如段的唯一数目或任何其它的标识;另一个域‘预置单元地址的数目’可以连接到段引用,涉及所述段中的预置存储单元地址的数目,即其中所有存储单元被设置成同一极化状态的地址。注意,每一预置单元地址的预置单元的数目一般与存储器的字大小相同。除了将被寻址的预置单元的数目存储在每个段中之外,还可以存在域‘上次段访问的时间戳’,其包含从上次段中任何地址被访问开始的时间戳,即自从激活电压脉冲被施加到段中的任何单元以后。时间戳一般是从采用段表的装置的时钟得到的绝对时钟值的快照。由于方便,一般每当从段表取回任何物理地址条目或将其加到段表时,将更新时间戳。可以连接到段表中的每个段条目的另一域是‘锁状态’标记。当设置它时,‘锁状态’标记指示段被锁定,并且既不能取回也不能添加物理地址条目,这暗示没有激活电压脉冲可以施加到段。‘锁状态’标记可以是二进制的,因此例如‘1’表示设置标记,即锁定状态和不可用的段,以及‘0’表示复位标记,即可用的段。这样,‘锁状态’标记提供清除对给定物理地址的访问的简单且快速的方法。‘时间戳’和‘锁状态’标记都将在下面被进一步解释。对于段表中的每个段引用条目,存在与属于所讨论的段的所有预置单元进一步相关联的物理地址列表。采用与地址映射表类似的方式,每个所列的物理地址可以链接附加信息,例如图13中给出的‘预置极化A’标记,并且以与先前对于地址映射表的描述相同的方式来解释。

类似于地址映射表,段表可以放置在快速易失性RAM中或某一其它类型的快速、或许更硬件定向的存储器中,因此它还可能需要在例如电源故障的情况下被恢复。这或者通过例如存储在地址映射表中的首先被恢复的附加信息来处理,或者通过单步调试包含预置单元的存储器和寄存器每个地址来恢复段表,由于预置单元地址处的所有单元处于单极化状态并由此是可确定的,因此其是可以的。

当选择另一段中的地址时,例如在第一实施例的图10中的第四步骤1004中,认为在自从上次经受激活电压脉冲之后最长的消逝时间的情况下使用段中的预置单元地址是有利的。获得对这种预置单元地址的引用可以通过使用段表作为队列来完成,其中最近一次经受激活脉冲的该段放置在队列最后。这样,对于具有自从上次经受激活脉冲之后最长的消逝时间的段的引用将是队列中首先可用的,并且可以在适当的时候从那里被取回。

图14示出用作队列的段表:操作可以寻址处于队列某处的段,结果是该段经受激活电压脉冲并由此被放置在队列最后。在另一种情形下,段引用可以从队列的顶部来取回,并经受激活脉冲,其后被放置在队列最后。

该队列的替换可以检查和比较段表中的段条目,并挑选具有最久的时间戳的那个,或者基于时间戳按照降序或升序来对段表条目排序,接着从所得到的被排序的段表中的第一或最后位置取回段引用。

即使例如如上所述通过使用段表作为队列,可以得到具有自从上次被寻址之后最长的消逝时间的段的引用,仍可能是最长的时间不充足的情形。当遇到这种情形时,上次段访问的时间戳可以与当前时间(一般是时钟值的快照)相比较,并且如果差小于预定值,则可以强加等于该差的延迟。然而,该比较本身可能需要大量时间或系统资源,其在执行操作期间可能是特别不希望有的。为了避免在执行操作期间比较,提出与执行操作并行或在其间进行的方法,其中自上次段访问以来的时间戳被监控,并且在当前时间下比较的情况下被复位的‘锁状态’标记在超过预定值的值之间引起差异。该过程暗示段表中的‘锁状态’标记在访问该段时被设置,例如当在执行操作期间施加激活电压脉冲之后更新段表时。

图15示出根据本发明的方法的实施例,其涉及基于自从段访问以来消逝的时间对‘锁状态’标记的复位。在图15的步骤1501中,读取段表的第一段条目,然后在图1502中检查‘锁状态‘标记是否被设置。如果情况并非如此,那么在步骤1505中读取下一段条目,并重复所述检查;如果设置了‘锁状态’标记,那么进行步骤1503,其中比较当前时间和时间戳,并且在差超过预置值的情况下,在步骤1504中该段条目的‘锁状态标记’被复位;接着在步骤1505中读取下一段条目。如果在步骤1503中得到的当前时间和‘上次段访问的时间戳’之间的差没有超过预置值,那么‘锁状态’标记将不被复位;代替地,在步骤1505中直接读取下一段条目。在从头到尾循环了所有段条目之后,重复该过程,并且在步骤1501中再次读取第一段条目等等。步骤1502、1503中的两次连续检查看来好像是消耗时间的,但由于‘锁状态’标记一般是位的大小,并遵从段表中的时间戳,例如如图14所示,因此在实施该方法的装置中步骤1502、1503中的两次检查可以容易地同时执行。由此,在没有显著速度损失的情况下,结合例如作为装置的部分规则操作的读和写操作,可以执行复位过程。另外,可以在空闲时间周期期间执行复位过程,可选地与段中的预置单元的重新定位或者与所选段中的新预置单元的创建相协调。

认为对于每个段将地址列表实施为队列是有利的,即对于每个段在地址列表最后输入新的预置单元地址,并且对于每个段从地址列表中的第一位置开始取回并去除地址。

在根据图10的第一实施例中值得注意的是,在保存读取值的读操作的情况下对于一个操作必须施加三个激活脉冲,与“两个激活电压脉冲”情形相比,其将消极地影响数据速率。通过进一步研究如图9所示的间隔,发现操作首先将所有寻址单元设置成相同的第一极化状态,并且数据速率的限制物是相同段中的脉冲之间的间隔,即不必仅是相同段中的连续操作。由于预先确定了第一极化状态,因此还可以预置它,即操作所涉及的单元可以在执行操作之前被设置成第一极化状态。现在实施例将公开这些预置单元以及地址映射的地址的可用性,使得下述成为可能,即对于操作来说获得段分开的电压脉冲,以及对于保存读取数据的普通读操作来说实现仅使用两个激活电压脉冲。

图16示出根据本发明的方法的另一实施例,其利用已知例如通过根据实施例的在前操作被预置到第一极化状态的单元的地址。可以利用该实施例来获得段分开的激活电压脉冲,甚至在操作内。具体地说,图21示出了I)READ WITH WRITE-BACK(读以及回写),II)WRITE(写)和III)READ WITH WRITE-DIFFERENT(读以及不同的写)操作。图16中的实施例使用如上所述的地址映射表和段表来实施。在图16中,根据实施例的操作处理开始于在步骤1601中从操作的逻辑地址给出的地址映射表取回第一物理地址;然后,为了处理先前解释的间隔T(D-P1)和T(P2-P1),在步骤1602、1603中引入延迟,如果第一物理地址属于在前面操作中经受可选的第二脉冲的相同段的话。延迟的大小需要相对于实施该方法的装置来限定,并依赖于体系结构、存储材料、每一段的单元数目等等。在第三步骤1603之后,在步骤1604中第一物理地址处的每个单元经受极性A的第一激活电压脉冲,其将所有寻址单元设置成相同的极化状态。对应于先前提到的第一极化状态;其后在步骤1605中第一物理地址的段条目被置于段表队列最后,并且对于该段条目更新适当的信息,这里其包括添加第一物理地址作为物理地址条目,因为第一物理地址现在包含预置单元,并将‘预置单元地址的数目’加1。为了找到特定物理地址属于哪个段,可以使用地址映射表中的段引用域或者该地址将独自是确定该段的范围的一部分。在下面的步骤1606中,对于可选的第二电压脉冲,第二物理地址利用段表队列中的可用的预置单元地址条目从第一段条目来取回,其开始于队列中的第一段条目。接着,在步骤1607中,将第二电压脉冲施加给第二物理地址处的每个预置单元,根据该操作将这些单元设置成代表二进制值的极化状态。在此之后,在步骤1608中将第二物理地址的段条目置于段表队列的最后,并且对于该段条目更新适当的信息,这里其包括去除第二物理地址,以及将‘预置单元地址的数目’减1。在图16中的最后步骤1609中,通过利用第二物理地址代替第一物理地址来更新地址映射表,即通过该操作给出的逻辑地址现在指的是第二物理地址而不是第一物理地址;因此,现在新的物理地址与逻辑地址相关,并且第一物理地址包含预置单元并被列在段表中。

现在参考图16来描述在该实施例范围内所支持的其它操作变型:

IV)或V)READ ONCE(读一次)或ERASE/PRE-SET(擦除/预置)。对于这些类型的操作变型,只有首先五个步骤1601、1602、1603、1604、1605应当被执行。在那些步骤的最后一步1605中,在适当的段信息更新的过程中,什么都没有被更新,即地址将不被置于段表中,即使在这些操作变型中的任何一个之后该地址包含预置单元。对没有将地址添加到段表的原因解释如下:通过这些操作变型来预置的单元被列在地址映射表中,其它预置单元没有。将通过这些操作变型来预置的单元也列在段表中将导致段表中的预置单元地址中的一些而不是全部将被列在地址映射表中,根据该实施例这是没有通过其它操作变型来处理的情形。它还将导致列在段表中的预置单元地址的总数目不希望地持久增加,因为在该实施例中没有其它操作变型引起减少。

VI)WRITE TO PRE-SET(写至预置)。该操作可以并应当仅对逻辑地址执行,其已经通过使用IV或V操作被预置,因为在该实施例中任何其它预置单元地址一般不可通过逻辑地址得到;以后将说明的事实,何时讨论替换物。图16中将要执行的步骤是第一步骤1601,然后可以绕过三个步骤。在下一步骤1605中,第一物理地址的段将不被置于段表队列最后。代替地,仅更新适当的段条目信息,这里其包括添加第一物理地址作为物理地址条目并将‘预置单元地址的数目’加1。下面的步骤1606-1609与在图16中已经说明的相同。

由于不能预见连续操作例如读操作将涉及哪个物理地址,因此引入图16中用以处理间隔T(D-P1)和T(P2-P1)的特定步骤1602、1603。

通过在步骤1603中引入图16中的选择性大小的延迟来提供基于稍微改变的图16实施例的变型实施例,其中该延迟大小根据当前操作变型和/或前面的操作变型和/或经受前面操作的物理地址而不同。例如,操作变型I)READ(读)可能需要比操作变型II)WRITE(写)更大的延迟等等。

图16所示的实施例利用预置单元,并且每当预置单元地址用于写数据时创建新的预置单元地址,即预置单元的数目不会降低到初始量之下。由此该实施例依赖于在系统初始化期间已经创建了一定数目的预置单元,实施该实施例,以及这些预置单元的物理地址已经被列在段表中,但是没有列在地址映射表中。下面将更详细地描述特别注意此的实施例,以及处理和保持段中预置单元地址分配的实施例。

图17示出根据本发明的方法的另一实施例。代替图16中的步骤1602的比较前面操作和步骤1603中的强加延迟,该实施例在段表中利用时间戳以更好地控制所需延迟。

具体地说,图17示出I)READ WITH WRITE-BACK(读以及回写),II)WRITE(写)和III)READ WITH WRITE-DIFFERENT(读以及不同的写)操作。现在将具体描述图17中的流程图步骤,其并不具有前面描述的实施例中同样的对应部分。在第二步骤1702中,上次段访问的时间戳从在前一步骤1701中取回的第一物理地址的段表条目来读取;下一步骤1703检查时间戳和当前时间之间的差是否超过了预置值。该预定值应当被选择,使得间隔T(D-P1)和T(P2-P1)将足够大;该预定值一般是恒定的,但是也可以使用基于装置温度、切换历史等的可变值。如果差没有超过预定值,那么在步骤1704中强加延迟,以便超过或达到预定值,一般通过将延迟选择为预定值以及时间戳和当前时间的差之间的差来完成。在随后的步骤1706中,结合被置于段队列最后的第一激活电压脉冲的段条目,更新适当的段表条目信息,其包括添加第一物理地址作为物理地址条目,利用当前时间更新‘上次段访问的时间戳’,以及将‘预置单元地址的数目’加1。在第二最后的步骤1709中,当第二电压脉冲的段条目被置于段表队列最后时,更新段表条目信息,其包括去除作为物理地址条目的第一物理地址,利用当前时间更新‘上次段访问的时间戳’,以及将‘预置单元地址的数目’减1。

现在参考图17来描述在该实施例范围内所支持的其它操作变型:

IV)或V)READ ONCE(读一次)或ERASE/PRE-SET(擦除/预置)。对于这些类型的操作变型,只有首先六个步骤1701-1706应当被执行。在这些步骤的最后一步1706中,在适当的段信息更新的过程中,利用当前时间仅更新了‘上次段访问的时间戳’。通过下述来解释没有将地址添加到段表的原因:通过这些操作变型来预置的单元被列在地址映射表中,其它预置单元没有。将通过这些操作变型来预置的单元也列在段表中将导致段表中的预置单元地址中的一些而不是全部将被列在地址映射表中,根据该实施例这是没有通过其它操作变型来处理的情形。它还将导致列在段表中的预置单元地址的总数目不希望地持久增加,因为在该实施例中没有其它操作变型引起减少。

VIII)WRITE TO PRE-SET(写至预置)。该操作可以并应当仅对逻辑地址执行,其已经通过使用IV或V操作被预置,因为在该实施例中任何其它预置单元地址一般不可通过逻辑地址得到;以后将说明的事实,何时讨论替换物。图17中将要执行的步骤是第一步骤1701,然后可以绕过四个接连步骤1702-1705。在下一步骤1706中,第一物理地址的段将不被置于段表队列最后。代替地,仅更新适当的段条目信息,这里其包括添加第一物理地址作为物理地址条目并将‘预置单元地址的数目’加1。下面的步骤1707-1710与在图17中已经说明的相同。

如上所述,在一些情形下,当执行操作时,计算运行时间的差可能是有利的,例如如同在图17中的第二和第三步骤1702、1703中那样,并且代替地,使用类似图15中的并行机制来记住时间戳,并设置‘锁状态’标记。在图18所示的下一实施例中描述在操作执行过程中‘锁状态’标记的使用。在图16或17中没有处理,但其可能发生在非常情形下的情况是仅很少的段或单个段包含所有预置单元,其可能导致从段表队列取回的物理地址在时间上仍可能太接近,即该物理地址可以属于最近一次经受前面操作或激活电压脉冲的段。因此,需要能够处理这种情形的机制。这种机制的实例被包括在图18中的使用‘锁状态’标记的实施例中。

图18提供利用例如如前面在图15中公开的过程的实施例,并且其更新‘锁状态’标记。具体地说,图18示出I)READ WITH WRITE-BACK(读以及回写),II)WRITE(写)和III)READ WITH WRITE-DIFFERENT(读以及不同的写)操作。利用‘锁状态’标记来代替图17中的时间戳标记的使用,并保证可选的第二电压脉冲不被太快地施加到最近一次经受激活电压脉冲的段中,即使它是从段表中被取回的。现在将具体描述图18中的流程图步骤,其并不具有前面描述的实施例中同样的对应部分。在第二步骤1802中,‘锁状态’标记从包含第一物理地址的段的段表条目来读取。然后在步骤1803中,检查是否设置了读取的‘锁状态’标记;在该标记被设置的情况下,不允许在连续步骤中施加第一激活电压脉冲;代替地,在步骤1802、1803中沿循环连续监控并读取该标记直到该标记被复位为止,然后在步骤1804中施加第一激活电压脉冲。在下一步骤1805中,适当的段表条目信息的更新包括添加第一物理地址作为物理地址条目,利用当前时间更新‘上次段访问的时间戳’,设置‘锁状态’标记,以及将‘预置单元地址的数目’加1。采用与以前施加第一激活电压脉冲类似的方式,在施加可选的第二电压脉冲之前使用‘锁状态’标记:在步骤1807中从包含第二物理地址的段的段表条目读取‘锁状态’标记,然后在步骤1808中检查是否设置了读取的‘锁状态’标记。在该标记被设置的情况下,连续步骤中的第一激活电压脉冲被暂时阻挡,然后在步骤1807、1808中沿循环连续监控并读取该标记直到该标记被复位为止,并且在步骤1809中施加第二电压脉冲。在下面的步骤1810、1811中,适当的段表条目信息的更新包括去除作为物理地址条目的第二物理地址,利用当前时间更新‘上次段访问的时间戳’,设置‘锁状态’标记,以及将‘预置单元地址的数目’减1。

现在参考图18来描述在该实施例范围内所支持的其它操作变型:

IV)或V)READ ONCE(读一次)或ERASE/PRE-SET(擦除/预置)。对于这些类型的操作变型,只有首先五个步骤1801-1805应当被执行。在这些步骤的最后一步即步骤1805中,在适当的段信息更新的过程中,利用当前时间和设置的‘锁状态’标记仅更新了‘上次段访问的时间戳’。对没有将地址添加到段表的原因解释如下。通过这些操作变型来预置的单元被列在地址映射表中,其它预置单元没有。将通过这些操作变型来预置的单元也列在段表中将导致段表中的预置单元地址中的一些而不是全部将被列在地址映射表中,根据该实施例这是没有通过其它操作变型来处理的情形。它还将导致列在段表中的预置单元地址的总数目不希望地持久增加,因为在该实施例中没有其它操作变型引起减少。

VI)WRITE TO PRE-SET(写至预置)。该操作可以并应当仅对逻辑地址执行,已知其已经通过使用IV或V操作被预置,因为在该实施例中任何其它预置单元地址一般不可通过逻辑地址得到;以后将说明的事实,何时讨论替换物。图18中将要执行的步骤是第一步骤1801,然后可以绕过三个接连步骤1802-1804。在下一步骤1805中,第一物理地址的段将不被置于段表队列最后。代替地,仅更新适当的段条目信息;这里上述包括添加第一物理地址作为物理地址条目并将‘预置单元地址的数目’加1。下面的步骤1806-1811与在图18中已经说明的相同。

在图18的步骤1809中施加第二电压脉冲之前在步骤1807、1808中使用‘锁状态’标记,可以通过下述来代替,即通过使用类似于在图17的步骤1703、1704中施加第一激活电压脉冲之前所使用的那个的时间戳标记检查,以及甚至通过仅执行关于在前面步骤1804中施加的第一激活电压脉冲是否寻址与被取回的第二物理地址相同的段的检查的更基本的解决方案。如果情况是这样,那么在步骤1809中施加第二电压脉冲之前强加延迟。

图19提供处理间隔T(D-P1)和T(P2-P1)的替换实施例。具体地说,图21示出了I)READ WITH WRITE-BACK(读以及回写),II)WRITE(写)和III)READ WITH WRITE-DIFFERENT(读以及不同的写)操作。代替比较前面被寻址的操作,在执行当前操作之前分析即将到来的操作,由此能够选择适当的段,使得相同段中的激活电压脉冲之间的间隔将足够大。在图19中,在图18的步骤1802、1803中强加有条件的延迟被步骤1905、1906中的对连续操作的检查代替。现在将具体讨论图19中的流程图步骤,其并不具有前面描述的实施例中同样的对应部分。在步骤1903中的段表的第一次更新中,适当的段条目信息的更新包括添加第一物理地址作为物理地址条目,利用当前时间更新‘上次段访问的时间戳’,设置‘锁状态’标记,以及将‘预置单元地址的数目’加1。在已经取回第二物理地址之后,在步骤1905中检查连续操作即连续操作的第一物理地址是否寻址与当前操作的第二物理地址相同的段。如果情况是这样,那么在步骤1906中从段表队列中的下一段条目即第二第一段条目取回新的第二物理地址,然后在步骤1905中再次执行检查。在仅分析一个连续操作的情况下,如同在图19的实施例中那样,步骤1905中的检查导致不同的答复第二时间。其中分析一个以上的连续操作的替换变型实施例是可以的,由于分析了连续操作,因此其可以产生与步骤1905、1906给出的一样多的循环。在段表的第二次更新1910中,适当的段表条目信息的更新包括去除作为物理地址条目的第二物理地址,利用当前时间更新‘上次段访问的时间戳’,设置‘锁状态’标记,以及将‘预置单元地址的数目’减1。

现在参考图19来描述在该实施例范围内所支持的其它操作变型:

IV)或V)READ ONCE(读一次)或ERASE/PRE-SET(擦除/预置)。对于这些类型的操作变型,只有首先三个步骤1901-1903应当被执行。在这些步骤的最后一步即1903中,在适当的段信息更新的过程中,利用当前时间和设置的‘锁状态’标记仅更新了‘上次段访问的时间戳’。对没有将地址添加到段表的原因解释如下。通过这些操作变型来预置的单元被列在地址映射表中,其它预置单元没有。将通过这些操作变型来预置的单元也列在段表中将导致段表中的预置单元地址中的一些而不是全部将被列在地址映射表中,根据该实施例这是没有通过其它操作变型来处理的情形。它还将导致列在段表中的预置单元地址的总数目不希望地持久增加,因为在该实施例中没有其它操作变型引起减少。

VI)WRITE TO PRE-SET(写至预置)。该操作可以并应当仅对逻辑地址执行,已知其已经通过使用I V或V操作被预置,因为在该实施例中任何其它预置单元地址一般不可通过逻辑地址得到;以后将说明的事实,何时讨论替换物。图19中将要执行的步骤是第一步骤1901,然后可以绕过下一步骤1902。在第三步骤1903中,第一物理地址的段将不被置于段表队列最后。代替地,仅更新适当的段条目信息,这里其包括添加第一物理地址作为物理地址条目并将‘预置单元地址的数目’加1。下面的步骤1905-1911与在图19中已经说明的相同。

图19中的‘流水线’类型将引入一些等待时间,其中在执行当前操作之前分析连续操作或一些操作。在这种情况下,这一般将不引起任何问题,因为连续操作或一些操作仅必须被推迟很有限的时间周期。如果在该时间周期内不进行连续操作或一些操作,那么在等待时间周期本身已经引入足够的延迟之后当前操作的执行可以继续。

如上所述,对哪个极化状态代表逻辑‘0’以及哪个极化状态代表逻辑‘1’的解释仅是定义的问题。这通常用于本发明相关的装置中,例如由于上述印记效应而结合给单元定条件,其可能涉及在不改变数据的情况下切换极化状态。如果这种极化切换导致存储单元保持在相反的极化状态,那么所谓的“极化切换”发生,并且因此极化状态的二进制解释必须相应地改变。这影响前面实施例所述的本发明的方法,因为自从其中可选的第二电压脉冲的施加以来假定预置单元处于第一极化状态A。由于不能有效地首先读取预置单元以确定极化状态,因此将代替地使用存储在地址映射表和/或段表中的‘预置极化A’标记中的信息。

图20示出根据本发明的方法的实施例,其包括预置单元处理并处理由于上述原因产生的预置单元的可能的极性切换。具体地说,图20示出了I)READ WITH WRITE-BACK(读以及回写),II)WRITE(写)和III)READ WITH WRITE-DIFFERENT(读以及不同的写)操作。现在将集中在图20中的步骤上,其是新的,并且其在前面的实施例中没有被描述。在步骤2004中在施加第一激活脉冲之后,在步骤2005中第一物理地址的段被置于段表队列最后,并且更新适当的段条目信息。这里其包括利用设置的‘预置极化A’标记添加第一物理地址作为物理地址条目,以指示这些单元已经被预置到极化状态A,并将预置单元地址的数目’加1。在此之后,在步骤2006中,从段表队列中的第一位置取回第二物理地址,以及任何附加信息,例如‘预置极化A’标记。然后,在施加第二电压脉冲之前,在步骤2007中进行检查,其中分析第二物理地址的‘预置极化A’标记。如果‘预置极化A’标记指示极化状态A,那么步骤2008所进行的与前面描述的实施例中的对应步骤相同。如果‘预置极化A’标记没有指示极化状态A,那么极化状态必定是B,并且在步骤2009中引入不同的过程,其中第二电压脉冲是极性A。通过在预置操作中施加到相关物理地址处的所有单元的第二激活脉冲来实现将单元预置到极化状态B,并且在段表中相应地设置相关的‘预置极化B’标记。在接连的步骤2010中,适当的段条目信息的更新包括去除作为物理地址条目的第二物理地址,并将‘预置单元地址的数目’减1。应当注意,在步骤2005中施加第一激活电压脉冲与对极化状态的解释无关地进行,即单元总是被预置到极化状态A。因此任何处理极性和结合本发明使用的过程都将注意此,并保持被更新的‘预置极化A’标记。

现在参考图20来描述在该实施例范围内所支持的其它操作变型。

IV)或V)READ ONCE(读一次)或ERASE/PRE-SET(擦除/预置)。对于这些类型的操作变型,只有首先六个步骤2001-2005需要被执行。在这些步骤的最后一步2005中,在适当的段信息更新的过程中,什么都没有被更新。对没有将地址添加到段表的原因解释如下:通过这些操作变型来预置的单元被列在地址映射表中,其它预置单元没有。将通过这些操作变型来预置的单元也列在段表中将导致段表中的预置单元地址中的一些而不是全部将被列在地址映射表中,根据该实施例这是没有通过其它操作变型来处理的情形。它还将导致列在段表中的预置单元地址的总数目不希望地持久增加,因为在该实施例中没有其它操作变型引起减少。

VI)WRITE TO PRE-SET(写至预置)。该操作可以并应当仅对逻辑地址执行,其已经通过使用IV或V操作被预置,因为在该实施例中任何其它预置单元地址一般不可通过逻辑地址得到;以后将说明的事实,何时讨论替换物。图20中将要执行的步骤是第一步骤2001;然后可以绕过接连的三个步骤2002、2003、2004。在绕过之后的下一步骤2005中,第一物理地址的段将不被置于段表队列最后。代替地,仅更新适当的段条目信息,这里其包括添加第一物理地址作为物理地址条目并将‘预置单元地址的数目’加1。下面的步骤2006-2011与在图20中已经说明的相同。

在至此的实施例中,最后的步骤包括利用地址映射表中的第二物理地址代替第一物理地址,即链接到通过操作给出的逻辑地址的地址。这导致地址映射表仅包含数据的物理地址,而预置单元的物理地址仅列在段表中。例外是通过特定操作变型IV或V预置的地址,其仅作为普通数据列在地址表中。然而,可以将预置单元列在地址映射表和段表两者中。只要预置单元保持对用户不可见,即不被表现在逻辑地址空间中,最初创建的预置单元的数目就可以保持恒定,由于本发明非常依赖于预置单元的可用性,因此这可能是优点。另一方面,如果预置单元地址也列在地址映射表中,那么可以动态地增加和减少运行时间内的预置单元地址的数目,而不是固定在结构的任何点处最初设置或明确设置的预置单元的数目。即使在地址映射表中的动态预置单元地址的情形下,仍将建议在系统的初始化过程中设置一定数目的预置单元,但是数量不必要必须在后来保持恒定。在下一实施例中,示出图20所示的实施例能够被怎样改变来处理地址映射表以及段表中的预置单元地址的存储。

图21示出根据本发明的方法的另一实施例,其包括类似于图20的预置单元处理,但是其中图20中的在通过交换地址映射表中的物理地址而不是恢复以代替物理地址期间处理预置单元的最后的步骤2011就是步骤2011的情况。具体地说,图21示出了I)READ WITHWRITE-BACK(读以及回写),II)WRITE(写)和III)READ WITHWRITE-DIFFERENT(读以及不同的写)操作。现在仅描述在图20中不具有对应部分的步骤2111。在图21中的步骤2111中,如同前面实施例那样,第二和第一物理地址的位置在地址映射表中被交换而不是被代替。这暗示通过操作给出的逻辑地址,其首先指的是第一物理地址,而现在指的是第二物理地址,并且另一逻辑地址,其首先指的是预置单元的第二物理地址,而现在指的是预置单元的第一物理地址。即使该交换包括改变并不包括在该操作中的逻辑地址的物理地址,其通常是不被建议的,地址的内容,即预置单元,仍是相同的,因此不应当有负面效应。在最后的步骤2111中,结合物理地址交换,地址映射表中的适当的地址条目信息应当被更新,其包括设置第一物理地址处的‘预置’标记和‘预置极化A’标记以指示第一物理地址现在包含极化状态A的预置单元,以及复位第二物理地址处的‘预置标记’以指示第二物理地址不再包含预置单元。

现在参考图21来描述在该实施例范围内所支持的其它操作变型。

IV)或V)READ ONCE(读一次)或ERASE/PRE-SET(擦除/预置)。对于这些类型的操作变型,只有首先六个步骤2101-2105需要被执行。如果经受这些操作变型中的任何一个的地址不应被存储在系统中作为预置单元地址,那么在这些步骤的最后一步2105中,在适当的段信息更新的过程中,什么都不需要被更新。然而,如果该地址应当被认可,并且以后可以用作任何其它预置单元地址,那么在最后的步骤2105中适当的段信息的更新应当以与上面对于普通操作所描述的相同的方式来处理,即添加第一物理地址作为物理地址条目以及‘预置极化A’标记被设置用以指示单元已经被预置到极化状态A,并且将‘预置单元地址的数目’加1。除此之外,还需要增加两个额外的步骤:1)通过设置‘预置’标记和‘预置极化A’标记来更新地址映射表中的地址条目信息,以及2)将任何记住预置单元地址的总数目的变量加1。该变量的使用将结合下面讨论的操作变型来解释。

VI)WRITE TO PRE-SET(写至预置)。该操作变型可以对任何已知用以存储预置单元的逻辑地址执行。在图20中,应当执行第一步骤2101,然后可以绕过接连的四个步骤2102-2105。下面的步骤2106-2111与对于普通操作所描述的相同。该操作变型将导致用于写的预置单元并不与链接到通过操作给出的逻辑地址的第一个相同;另一结果是由于没有创建新的预置单元,因此预置单元地址的总数目减少。因此该操作变型的连续施加必然伴有消耗系统中的所有预置单元的危险。由于本发明的施加是基于适当数目的被预置的单元的可用性的,因此如果预置单元地址的总数目低于一定限制,那么该操作变型不应当被施加。为了能够记住这个,可以使用存储预置单元地址的总数目的变量。只要该变量超过预定值,就允许这种施加,操作变型IV。

由于如图21所示和上述的该实施例,当使用操作变型IV)-VI)时仅可以减少/增加预置单元的总数目,上述用于存储和记住预置单元地址的总数目的变量仅当施加所提供的实施例的操作变型IV)-VI)时必须被更新,以便当开始施加根据实施例的本发明时,该变量最初包含正确计数。可以在已知预置单元的数目时之前的任何时候设置该变量的初始计数,例如在制造时或者在例如通过相加段表中的所有段的‘预置单元地址的数目’配置或初始化采用本发明的装置之后。

例如在图20中的步骤2011中的物理地址的替换,而不是在图21中的步骤2111中的交换地址,产生隐藏预置单元地址的系统,即预置单元并不用逻辑地址表示,其可以被转换成或者被解释为没有列在地址映射表中的预置单元的物理地址。这种隐含在图22A中示出,其将与图22B所示的系统可见预置单元相比较。采用系统可见预置单元的主要优点在于容易增加预置单元地址数目的可能性,只要没有可用的存储器。这能够实现更动态地处理预置单元。仅使用系统可见预置单元的一个危险在于所有存储地址可以借助普通数据得到分配;如果这发生了,那么将不存在被预置的可用单元,并且因此本发明将不太有用。然而,这可以通过不允许系统可见预置单元降低到一定值以下来解决。尽管如此,还是难以在所有情形下保证上述,因为可访问的或者不可访问的预置单元仍用逻辑地址表示,并由此对用户是可见的。另一方面,系统可见单元的储存使得预置单元的数目保持默认固定,即该数目不能改变,因为不存在使预置单元变成普通数据访问可用的逻辑地址。应当注意,如果操作变型IV-V用作地址上,并且不存在涉及地址映射表或段表中的预置单元的信息的更新,那么该系统在这些操作变型之后将不知道该地址包含预置单元,尽管该地址具有被连接的逻辑地址,并且因此根据上述限定是系统可见的。

本发明的一个结果是预置单元将改变物理地址,其可能导致预置单元在段中的不均匀分配。这样,所有预置单元可以在单个段或很少的段中结束,其会降低本发明的效应。例如,如果所有预置单元结束于单个段中,那么第二电压脉冲必须施加在与第一激活电压脉冲相同的段中。因此,将需要在脉冲之间引入延迟,如图18的实施例所述,其又将消极地影响数据速率。因此,根据本发明的方法应当支持预置单元在段中的分配或再分配,例如当在存储器设备中没有较高优先级的操作正在进行时,即一般在系统空闲时间期间。

图23示出根据本发明的方法的实施例,其处理系统空闲时间期间的预置单元的分配。首先,在步骤2301中使用关于‘预置单元地址的数目’的段表附加信息对具有最少数目的预置单元的段取回引用。属于给定段的物理地址的范围或者是默认已知的,对照如前面结合图12所讨论的段表中归档的段引用的替换物,或者在地址映射表中存在可用的明确的段引用。这用于下一步骤2302中,其中在具有最少数目的预置单元的段中挑选非预置单元的物理地址;然后,在步骤2303中,对于被取回的第一物理地址发出擦除/预置操作。根据前面的实施例,对于逻辑地址发出操作,但是在这种情况下,可以绕过通过逻辑地址得到第一物理地址的第一步骤,例如绕过图20中的第一步骤2001,并且代替地,直接使用物理地址,如果这样是可用的话,直接开始第二步骤2002,或者进行与任何处理操作执行的其它实施例相似的操作。当这样是可用的时,直接在物理地址上施加操作的可能性用于最后的步骤2303中,其中隐含地假定所使用的擦除操作支持直接使用物理地址的执行。然而,如果不可以或可取地允许直接在物理地址上的操作,那么还可以利用替换实施例,类似于图23中的那个,但是其中在第二步骤2302之后,通过地址映射表取回逻辑地址。然后使用该逻辑地址发出擦除操作,即使从地址映射表向后取回物理地址是执行操作中将要进行的第一件事。

由于在段中的地址上发出的读操作将引起所述段中的预置单元的创建和所读取的数据的位置改变到另一个段,因此图23所示的方法的重复施加将产生向着预置单元的均匀分配的趋势。

如图23所示和如上所述的分配预置单元的方法适于系统可见预置单元以及系统不可见预置单元两者。然而,它不支持附加预置单元的创建,并且因此系统可见预置单元的数目一般将保持稳定,对应于在制造阶段和/或在系统的初始化/构造期间被创建和被预置的单元的数目。最初系统不可见预置单元一般通过在每个段中保存一定的物理地址(一般是一个范围)来创建,并且通过给每个单元施加单极性激活电压脉冲,将那些物理地址处的单元预置到相同的极化状态,并且在地址映射表中没有列出所述物理地址。在这种系统的初始化和/或创建期间,当然还可以创建另外的系统可见预置单元。然而,系统可见预置单元的创建不仅可以在系统的创建或初始化期间进行,而且还可以在当没有操作正在进行或即将发生的空闲时间期间和/或结合在段中分配预置单元来进行。

图24示出根据本发明的方法的另一实施例,其支持在空闲时间期间创建和分配预置单元。首先的步骤2401、2402与图23相同,但是接着在步骤2403中,从地址映射表取回对应于第一物理地址的逻辑地址。其原因在于下面的步骤2404,其中检查非预置的地址是否是‘空闲的’。这将被解释为包含可任意处理的数据的地址,即存储地址是通常被命名为‘空闲存储器’的部分。记住可用的‘空闲存储器’地址是现有技术中公知的问题,并且这里将不再详细讨论。应当认为下述对于本领域技术人员来说是显而易见的:管理存储器如何记住并引用‘空闲存储器’地址,使得由该系统分配的数据不会例如由于偶然的改写而被破坏。通常在逻辑地址空间中处理高级存储管理,其是上述第三步骤2403的原因。然而,在可以在物理地址空间中直接得到关于空闲存储地址的信息的系统中,该步骤2403是不必要的,并且步骤2404中的检查可以直接对物理地址执行。仍参考图24;如果步骤2404中的检查导致地址不是‘空闲的’,那么在步骤2405中取回非预置单元的第一物理地址;然后由步骤2404、2405产生的回路被重复直到发现‘空闲’地址为止。在此之后,物理地址处的每个单元经受极性A的第一激活电压脉冲,其将所有寻址单元设置到相同的极化状态。在下一步骤2407中,在地址映射表中更新适当的地址条目信息;将被更新的哪种类型的地址条目信息取决于用于执行操作的特定方法。这种方法所使用的任何信息当然应当被更新,即该更新可以包括对物理地址设置‘预置’标记和‘预置极化A’标记。在下一步骤2408中,物理地址的段被置于段表队列最后(2408),并且结合此,添加物理地址作为段表中的条目,并更新适当的段条目信息,其包括将‘预置单元地址的数目’加1。将要更新的可能的附加段条目信息取决于用于执行操作的特定方法;这种方法所使用的任何信息当然应当被更新,即该更新可以进一步包括利用当前时间更新‘上次段访问的时间戳’,对物理地址设置‘预置’标记和‘预置极化A’标记。在最后的步骤2409中,将包含预置单元地址的总数目的变量加1,其仅在该变量被执行诸如前面图21中的实施例描述中的操作变型IV)、V)或VI)之类的操作的任何方法使用的情况下才不得不被执行。

只要在具有最少数目的预置单元的段中存在‘空闲’存储地址,图24所述的实施例就将除了创建新的预置单元之外还支持每个段中相等数目的预置单元地址的趋势。

利用系统可见预置单元,并且特别地如果在空闲时间期间创建了大量这种单元,那么通常可以使用根据前面实施例的特定的操作变型VI),即对预置单元直接写。这种操作潜在地比普通写操作快一倍,因为执行仅可以包括施加一个激活电压脉冲。然而,代替需要用户有效地选择操作类型VI,如果自动获得相同效应则更加清楚。现在将描述示例这种进一步提高数据速率的解决方案的实施例。

图25给出根据本发明的方法的优选实施例的实例,除了系统不可见预置单元之外其还利用系统可见预置单元,即系统可见和系统不可见预置单元都被使用。具体地说,图25示出了I)READ WITHWRITE-BACK(读以及回写),II)WRITE(写)和III)READ WITHWRITE-DIFFERENT(读以及不同的写)操作。为了便于描述,在图25中去除前面实施例中的处理极性切换的步骤,例如在图20中,步骤2007、2008、2009;另外,下面的描述仅将详细描述不具有与前面描述的实施例和图的同样对应部分的步骤。参考图25,在第一步骤2501之后,在步骤2502中检查第一物理地址的‘预置’标记是否被设置。如果已经在第一物理地址处发现预置单元,则不需要施加第一激活电压脉冲,并且将绕过步骤2503、2504、2505、2506。代替地,在步骤2507中从段表队列中的第一位置直接取回第二物理地址。如果步骤2502中的检查示出复位的‘预置’标记,则根据前面描述的实施例执行连续步骤2503、2504、2505、2506、2507、2508、2509。然后在步骤2510中检查第二物理地址是否在地址映射表中具有条目,其将指示第二物理地址处的预置单元是系统可见的。在第二物理地址处发现系统可见单元的情况下,在地址映射表中第一物理地址条目和第二物理条目的位置在步骤2511中被交换,并且根据与图21中类似的步骤设置附加信息。在第二物理地址处发现系统不可见单元的情况下,在步骤2512中地址映射表中的第一物理地址用第二物理地址代替,类似于例如图20中的步骤2011。步骤2510、2511、2512中的选择性处理的一个结果是可以保持固定数目的系统不可见预置单元同时仍支持系统可见单元。

现在参考图25来描述在该实施例范围内所支持的其它操作变型。

IV)或V)READ ONCE(读一次)或ERASE/PRE-SET(擦除/预置)。对于这些类型的操作变型,只有首先六个步骤2501-2506需要被执行。如果经受这些操作变型中的任何一个的地址不应被存储在系统中作为预置单元地址,那么在这些步骤的最后一步2506中,在适当的段信息更新的过程中,什么都不需要被更新。然而,如果该地址应当被认可,并且以后可以用作任何其它预置单元地址,那么在最后的步骤2506中适当的段信息的更新应当以与上面对于普通操作所描述的相同的方式来处理,即添加第一物理地址作为物理地址条目以及‘预置极化A’标记被设置用以指示单元已经被预置到极化状态A,并且将‘预置单元地址的数目’加1。除此之外,还需要通过对第一物理地址设置‘预置’标记和‘预置极化A’标记来更新地址映射表中的地址条目信息。

VI)WRITE TO PRE-SET(写至预置)。由于图25中的第二步骤2502,已经包括该操作变型的处理,即不需要对预置操作明确地写。

通过仅使用系统可见预置单元,还可以获得类似于在前面实施例和图25的实施例中获得的效应的效应,即应当总是存在最少数目的可用的预置单元。包含预置单元地址的总数目的变量可用于控制预置单元的总数目不减少到一定限制以下,例如所提到的用于如同结合图21描述的实施例中所描述的那样存储预置单元地址的总数目的变量。类似于地址映射表和段表,该变量可以被限定在控制/管理无源矩阵可寻址存储器的装置中所使用的软件中并存储在小RAM或类似存储器中,或者该变量可以被限定在较低的、更硬件定向的水平上,并存储在例如寄存器中。如上所述,该变量最初必须被设置用以存储预置单元地址的总数目,然后该变量必须与任何改变可用预置单元的数目的机制或方法相一致地被更新。

现在将描述仅使用系统可见预置单元并且利用预置单元的消耗来实现快速写操作的实施例。如果预置单元地址的总数目降到预定值以下,那么不允许预置单元地址的另外的消耗。

图26提供对根据本发明的方法的实施例的说明,其利用预置单元的消耗,并且其仅使用系统可见预置单元。具体地说,图26示出了I)READ WITH WRITE-BACK(读以及回写),II)WRITE(写)和III)READ WITH WRITE-DIFFERENT(读以及不同的写)操作。为了便于描述,在图26中去除前面实施例中的处理极性切换的步骤,例如在图21中,步骤2107、2108、2109。另外,下面的描述仅将详细描述不具有与前面描述的实施例和图的同样对应部分的步骤。在图26中的第一步骤2602、2603中,检查跳过施加第一激活电压脉冲以节省时间并由此获得更高的数据速率的可能性。在图26的第二步骤2602中,检查操作是否仅是写,即操作变型II,并且如果预置单元的总数目超过了预定值,那么在步骤2604中将预置单元地址的总数目减1,以及可以绕过第一激活电压脉冲。然后下一步骤2607包括从段表中的第一位置得到第二物理地址,但是如果第二步骤2602中的检查指示仅是未写操作,和/或未超过预定值,那么第一激活电压脉冲可以仍不必施加,如果第三步骤2603中的检查显示第一物理地址已经包含预置单元的话。如果是那种情况,即在第一物理地址处的预置单元,那么在步骤2604中将预置单元的总数目减1。然后下一步骤2607包括取回第二物理地址。如果不允许施加第一激活电压脉冲,那么执行图26中的第五和第六步骤2605、2606。在这些步骤中的最后一步2606中适当的段条目信息的更新包括添加第一物理地址作为物理地址条目,并且设置‘预置极化A’标记以指示单元已经被预置到极化状态A,以及将‘预置单元地址的数目’加1。图26中的四个最后步骤2607-2610,除了最后的步骤2610之外,都是根据图21的描述中的相应步骤的。然而,最后的步骤2610在更新适当的地址条目信息的过程中需要是更有选择性的。例如在图21的描述中,不能假定第一物理地址包含预置单元,因为其取决于前面步骤2602中的检查的结果。因此,当更新地址映射表中的第一物理地址的地址条目信息时2610,应当首先检查‘预置’标记是否已经被设置用于第一物理地址,并且如果是那种情况,那么也应当设置‘预置极化A’标记,即与前面相同的更新处理。但是,如果没有在第一物理地址处设置‘预置’标记,那么应当确定‘预置’标记对于地址映射表中的第一物理地址条目保持复位。当到达最后的步骤2610时第二物理地址条目将不包含预置单元,并且在所述步骤中适当的地址条目信息的更新应当如同前面那样复位地址映射表中的第二物理地址条目的‘预置’标记。

现在参考图26来描述在该实施例范围内所支持的其它操作变型。

IV)或V)READ ONCE(读一次)或ERASE/PRE-SET(擦除/预置)。这些操作变型应当仅对非预置单元地址执行。只有首先的包括第一物理地址的步骤2607-2610需要被执行。如果经受这些操作变型中的任何一个的地址不应被存储在系统中作为预置单元地址,那么在这些步骤的最后一步2606中,在适当的段信息更新的过程中,什么都不需要被更新。然而,如果该地址应当被认可,并且以后可以用作任何其它预置单元地址,那么在最后的步骤2606中适当的段信息的更新应当以与上面对于普通操作所描述的相同的方式来处理,即添加第一物理地址作为物理地址条目以及‘预置极化A’标记被设置用以指示单元已经被预置到极化状态A,并且将‘预置单元地址的数目’加1。除此之外,还需要增加两个额外的步骤,即1)通过设置‘预置’标记和‘预置极化A’标记来更新地址映射表中的地址条目信息,以及2)将任何记住预置单元地址的总数目的变量加1。

VI)WRITE TO PRE-SET(写至预置)。由于图26中的第二步骤2602,已经包括该操作变型的处理,即不需要对预置操作明确地写。

图27示出根据本发明的方法的另一实施例,其利用动态数目的系统可见预置单元以及固定数目的系统不可见预置单元。对于写操作为了获得较高的操作数据速率,图27中的实施例利用以下事实:系统可见预置单元可以被消耗并且在数量方面可以减少。具体地说,图27示出了I)READ WITH WRITE-BACK(读以及回写),II)WRITE(写)和III)READ WITH WRITE-DIFFERENT(读以及不同的写)操作。基本地,图27是图26中描述的实施例的扩充除了步骤2603、2604之外,为了便于描述,其对应部分不被包括在图27中。然而,现在将仅集中在不同的步骤上:如果第二步骤2702中的‘预置’标记的检查产生复位标记,即在第一物理地址处发现非预置单元,那么在步骤2703中从段表队列中的第一位置取回第二物理地址2703。在下一步骤2704中,检查当前操作是否是写操作,并且第二物理地址是否列在地址映射表中,即系统可见。如果情况不是这样,那么所继续的与图25中的相应步骤相同,但是在操作是写操作的情况下并且如果第二物理地址处的预置单元是系统可见的,那么可以绕过一些步骤2705、2706、2707,并且在步骤2708中可以直接进行第二电压脉冲的施加。注意,如果需要在步骤2703、2707中两次取回第二物理地址,那么最迟取回的第二物理地址将用于连续步骤2708、2709、2710、2711、2712中。图27中的最后的步骤2709、2710、2711、2712与图25中的步骤2509、2510、2511、2512中描述的那些相同,除了最后的步骤2712之外,其中不能假定在适当的地址条目信息的更新过程中第一物理地址包含预置单元。代替地,该更新应当对应于图26中的相应步骤2610的描述来处理。

在图27中的步骤2704中所引入的附加检查不仅使得在第一物理地址处发现系统可见预置单元的情况下绕过消耗时间的步骤成为可能,例如当在空闲时间期间已经被预置的‘空闲’地址上发出写操作时,而且在写操作过程中在第二物理地址处发现系统可见预置单元的情况下也成为可能。前面所述将每一段的地址列表实施为队列是有利的,其在该实施例的情况下受益于一些调节。所有系统可见预置单元地址都将在队列中得到优先级,并且在队列中被置于所有系统不可见预置单元地址的前面。结果是系统可见预置单元地址是首先从段表中的段条目被取回的,并且系统不可见单元只有在系统可见预置单元地址已经被消耗用于段之后才被使用。这使得图27中的实施例更加有效,因为将首先对系统可见预置单元地址进行将第二电压脉冲连续施加到段,其又将通过步骤2704中的检查对第二物理地址处的系统可见预置单元实现更频繁的绕过消耗时间的步骤。

现在参考图27来描述在该实施例范围内所支持的其它操作变型。

IV)或V)READ ONCE(读一次)或ERASE/PRE-SET(擦除/预置)。这些操作变型应当仅对非预置单元地址执行,在这些操作变型用于包含预置单元的地址上的情况下,在图27的流程图中什么都不应当并且不需要被执行。对于在非预置单元地址上的使用,不应当包括第二物理地址,即应当绕过第三和第四步骤2703、2704,并且直接在第二步骤2702之后,应当施加第五步骤2705,其后对于该操作变型的最后的步骤是第六步骤2706。如果经受这些操作变型中的任何一个的地址不应被存储在系统中作为预置单元地址,那么在这些步骤的最后一步2706中,在适当的段信息更新的过程中,什么都不需要被更新。然而,如果该地址应当被认可,并且以后可以用作任何其它预置单元地址,那么在最后的步骤2706中适当的段信息的更新应当以与上面对于普通操作所描述的相同的方式来处理,即添加第一物理地址作为物理地址条目以及‘预置极化A’标记被设置用以指示单元已经被预置到极化状态A,并且将‘预置单元地址的数目’加1。除此之外,还需要通过设置‘预置’标记和‘预置极化A’标记来更新地址映射表中的地址条目信息。

VI)WRITE TO PRE-SET(写至预置)。由于图27中的第二步骤2702,已经包括该操作变型的处理,即不需要对预置操作明确地写。

在系统空闲时间期间,例如根据先前描述的图24中的实施例,可以创建系统可见预置单元的缓冲器。该缓冲器可以用于在根据图25或图27中的实施例的写操作时逼近两倍的数据速率。通过结合图26描述的实施例也可以获得相同的效应,其仅使用系统可见预置单元工作,即当使用该实施例时类似图23中那样不需要首先分配系统不可见预置单元。代替地,在空闲时间期间,例如根据图24可以创建新的系统可见预置单元。还可以是当读取存储器时用户通过例如使用图26实施例中的实施例中的操作变型IV来创建新的预置单元,或者在可用的预置单元地址的数目降到一定值以下的情况下,或者可以被预测这样做,用户有效地不得不在空闲时间期间使用操作变型V来创建更多的预置单元。

在具有与运行时间周期近似相同大小或比其大的空闲时间周期的系统中,并且其中在空闲周期的开始处可用的空闲存储器近似相同于或等于将要在连续的运行时间周期期间被写入的数据的大小,对于所有写操作获得基本两倍的数据速率的前景是特别好的,甚至在只有写操作的周期的极端情况下。这里“两倍”数据速率是与包括两个激活电压脉冲并由此具有双倍总脉冲长度的操作的情况相比较的。

在不具有或具有太短的空闲时间的长运行时间周期的情况下,存在预置单元在段中的不均匀分配的危险。然而,甚至在消耗所有系统可见预置单元的情况下,并且所有系统不可见预置单元将在单个段中结束,本发明的方法仍可以改善每个操作的性能而不寻址支持所有预置单元的段。在不具有任何空闲时间的绝对最坏的情况下,没有系统可见预置单元,同一段中的所有预置单元以及在寻址该段的所有操作的情况下,数据速率将至少匹配在不应用本发明的情况下的可获得的那个。换句话说,应用本发明的方法在任何情况下对于数据速率都不是有害的。

实施本发明的方法的装置的实例在图28中示出。该装置分成两个不同部分,即标准无源矩阵可寻址主存储器和存储控制单元。该控制单元解释为存储器规划的操作,并将逻辑地址上的高级操作,例如在逻辑地址Y处写字X,转换成物理地址上的低级脉冲方式指令,其可以被主存储部分理解和处理。操作发出者,一般是系统,或者采用该装置的系统的一部分,通过将命令发送到存储控制单元,例如WRITE,来规划用于存储器的操作。一般该操作是软件程序的一部分。该操作发出者还不得不使将要写入的地址在地址总线上变得可用,并且使将要写入的数据在数据总线上变得可用。在已经接收到命令之后,存储控制单元获得逻辑地址以用于从地址总线执行写操作。然后,根据前面描述的实施例中的任何一个,存储控制单元使用地址映射表来得到物理地址等等。通过主存储器直接从数据总线取回将要写入的数据。当存储控制单元采取适当的动作并且数据已经被写入逻辑地址时,完成该操作。如虚线所示,两部分,存储控制单元和主存储器,可以不必物理地分开,类似于例如两个不同的集成电路,但是也可以被集成在相同的单元中。然而,对于一些情形来说,具有分开单元是有利的,因为这便于一个存储控制单元可以同时控制主存储器的一个以上的物理单元,即一个逻辑存储空间在两个或更多主存储单元之中。

实施根据本发明的方法的装置的另一实施例在图29中示出,其中与图28相比主要不同在于主存储器通过存储控制单元传送数据,即主存储器或者主存储单元仅连接存储控制单元,其又处理与采用该装置的系统的剩余部分的所有通信。采用该解决方案的一个好处是可量测性;一般在系统中它更易于具有与存储器的一个静态接口,其中存储单元的任何交换、增加、减少等由存储控制单元来处理,并且仅间接地影响系统的剩余部分。

为了尽可能地有效,对于应用本发明的系统来说,系统不可见预置单元和/或系统可见预置单元和/或所允许的最少数目的总的可用预置单元地址的数目应当根据存储器的大小、存储器的用途。段的数目等来选择和设置。

为了优化根据本发明给出的存储器设备的性能,可见与不可见预置单元的比率可以根据装置被或将被如何操作来选择。例如,下面的操作模式可以是特别令人感兴趣的:

-在具有大约相同数目的读和写访问的存储器中,即与典型存储情形相比具有相对大量的写操作,支持大量系统可见预置单元而不是大量系统不可见预置单元可能是有利的。因此,系统可以被设计成这样,即在平均空闲时间周期期间,时间的一半将花费在在段中分配系统不可见预置单元上,并且另一半花费在在段中创建系统可见预置单元上。或者,如果仅使用系统可见预置单元,那么在禁止预置单元地址的总数目的任何进一步减少之前允许相对少量的保持可用的预置单元地址可能是有利的。

-在其特征在于大量用于写的空闲和可用的存储地址以及与运行时间周期相比长的空闲时间周期的存储器中,仅采用系统可见预置单元可能是有利的。在很少的情况下,如果存储器无论如何被填充,并且达到了对可用的预置单元的总数目的限制,那么数据速率将仅仅减少直到存在时间和可能性来创建新的预置单元为止。

-在每一写操作具有多个读操作的存储器中,采用系统可见预置单元的好处不太明显。在这些情形下,这样设计系统可能是有利的,即在平均空闲时间周期期间,系统不可见预置单元可以平均分配,并且在额外长的空闲期期间创建系统可见预置单元。一般具有少量写的存储器,例如长时间存储的存储器,具有占用大量总存储器的高可能性,并且仅依赖于系统可见预置单元可能不是好主意,或者用于保持预置单元的总数目的至少最少允许的值应当被设置得相当高。在这种长时间存储的装置中,本发明的方法可用于在平均使用期间提高整个数据速率,并且在相当大量的空闲存储器的情形下进一步提高写速度,其有利于建立预置单元的缓冲器以用于快速写操作的可能性。

关于系统可见、系统不可见预置单元的分别的创建和分配,本发明教导了两个用于装置优化的基本方法:

i)在这种情况下,装置的另一使用模式是公知的或者至少被约束在特定外壳内,其允许用于处理系统可见和系统不可见预置单元的被优化的过程,以及对总的可用预置单元的数目的可能允许的限制,从开始被限定和被编程在装置中。所述开始可能是在制造时或者在首先使用、安装或重新安装的时候,或者在装置的任何其它重新构造的时候。

ii)在这种情况下,装置的另一使用模式是未知的或者可以随时间而改变。这通过使装置自动地可适配来处理:装置的该使用模式被监控并且预置单元根据被编程到装置中的优化算法来配置。

当制造实施本发明的方法的装置时,一般将所有存储单元设置到相同的极化状态。然而,这些单元将是系统可见和系统不可见的,其数目、将要使用的特定操作模式等不必被同时配置和设置,即使是可以的。代替地,可以在较迟的阶段进行装置的构造,例如当首先使用或安装该装置时,或者它可以是在安装之后用户初始化的。

根据本发明的方法的优点包括通过在被切换的存储单元中提供足够的稳定时间(settle time)而不需要按常规在操作和电压脉冲之间引入延迟来总体上提高数据速率。

根据本发明的方法的另外的优点已经结合前面优选实施例的讨论被叙述。然而,特别地,应当强调以下要点:

-存储单元访问将分配在段中,由于疲劳其又将降低时间直到单元达到切换的关键数目为止。

-通过利用系统可见预置单元对于写操作高达两倍的数据速率。

这里公开的以及所附权利要求和附图中的优选实施例的所有特征和步骤可以以任何关系来组合,除了当这些特征/步骤是互相排他的或者不可以同时应用或彼此结合时以外。这些优选实施例必须被认为是根据本发明的方法的一般和原理方面的示例。因此,其给定实例的任何部分、所描述的实施例、所描述的特征和步骤可以被起相同、等效或类似目的替换物代替。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号