优化可变阻抗存储器单元格的利记博彩app
【专利摘要】本申请公开了优化可变阻抗存储器单元格。数据存储设备可一般由至少一个可变阻抗存储器单元格构建和操作,所述至少一个可变阻抗存储器单元格由控制器配置非工厂操作参数。在至少一个可变阻抗存储器单元格中,响应于与预定阈值的所识别差异而分配非工厂操作参数。
【专利说明】优化可变阻抗存储器单元格
[0001]发明概述
[0002]各种实施例一般可涉及具有可变阻抗存储器单元格的数据存储设备的管理。
[0003]根据一些实施例,至少一个可变阻抗存储器单元格由控制器配置非工厂操作参数。在至少一个可变阻抗存储器单元格中,响应于与预定阈值的所识别差异而分配非工厂操作参数。
[0004]附图简述
[0005]图1提供根据各种实施例建造和操作的数据存储设备的框图表示。
[0006]图2示出在图1的数据存储设备中所用的存储器阵列的一部分的框图表示。
[0007]图3图形代表示例存储器单元格的多个编程状态分布。
[0008]图4显示根据一些实施例建造和操作的数据存储设备的示例部分的框图表示。
[0009]图5是根据各种实施例构造的数据存储设备的示例控制电路部的框图表示。
[0010]图6提供根据一些实施例进行的的示例存储器单元格优化的框图表示。
[0011]图7显示根据各种实施例构造和操作的示例控制电路的框图表示。
[0012]图8示出根据一些实施例执行的示例优化例程的逻辑映射。
[0013]图9显示根据各种实施例进行的示例优化例程的逻辑映射。
[0014]图10示出根据一些实施例执行的示例主动存储器单元格管理例程。
[0015]发明详述
[0016]许多现代的数据存储设备已开始单独或结合旋转数据介质利用固态存储器单元格,以提高数据存取时间和数据存储容量。使用固态存储器可以提供降低的功耗、尺寸、热产出和振动敏感性,以使得数据存储设备实施在大范围的移动和固定计算环境中。然而,对于固态存储器强调数据编程和读取时间可以对威胁准确性和存取速度的结构和运行存储器单元格条件施压。
[0017]一个该状况可是存储器单元格中的阻抗变化,该存储器单元格存储数据为不同的阻抗状态。当重复读取存储器单元格而不确认所存储逻辑值时,与预定阈值的阻抗偏差可导致增加的数据错误和数据存取时间。在测试时,已经提出错误检测和纠错码(ECC),这些活动在处理开销和临时存储器单元格无效方面是昂贵的。因此,在数据存储设备中存在和更有效管理现有和未来错误(如阻止无意的阻抗变化)相关联的持续工业目标。
[0018]因此,各种实施例使得至少一个可变阻抗存储器单元格由控制器配置非工厂操作参数,在至少一个可变阻抗存储器单元格中,响应于与预定阈值的所识别差异而分配非工厂操作参数。使用各种存储器单元格之间的各种不同结构和操作差异,使用非工厂操作参数主动和被动优化存储器单元格允许单元格操作对于特定的存储器类型、用途和条件进行定制。主动识别存储器单元格的运行条件(如阻抗变化)的能力可以允许优化操作的有效管理和调度,所述优化操作在低系统处理时间使得单元格从工厂过渡到非工厂操作参数。
[0019]可在各种非限制性的数据存储环境中利用和优化可变阻抗固态存储器单元格。图1提供其中可以实施各种实施例的示例数据存储设备100的框图表示。该设备100 (在一些实施例中被配置为固态驱动器(SSD))具有可经由无限多种电气互连(如布线、接口、总线和多路复用器)连接的顶级控制器102和非易失性数据存储阵列104。控制器102可用于促进用户数据在存储阵列104和主机设备之间的传输,所述主机设备是在存储设备100的内部或外部。
[0020]在一些实施例中,控制器102是可在至少一个接口电路中缓冲数据的可编程微控制器,所述数据有待在阵列104和主机设备之间进行传输。控制器102和存储阵列104的位置不限于图1中所示的并发存在,因为存储设备100组件的任何部分可以在物理上或逻辑上不存在而同时控制所述存储装置100的各种操作方面。即,不需要控制器102和存储阵列104的物理存在,因为任一元件可以定位于存储设备100的外部(诸如跨越使用合适协议访问的网络),并同时促进存储阵列104中的调度和非调度操作。同样地,当调度和需要时,其他的控制器和存储器阵列可以存在于存储设备100的内部或外部,用于选择性地使用。
[0021]图2 —般地示出可用于数据存储设备(如图1中的设备100)的示例非易失性存储阵列120的部分的框图表示。在可以表征为交叉点阵列的取向,多个非易失性存储器单元格122布置为与电路124和126的重叠对应的行和列(诸如位和源极线)。一个或多个读/写电路128和130可以单独或同时控制向/从在扇区132、页134、块和碎片收集单元中配置的所选存储器单元格122写入和读取的数据。可以单独或连续地相对于多个单元格(例如整行、页和块)进行该控制,以加快数据访问。
[0022]多个存储器单元格122通过控制线126耦合到X (行)读/写电路128并通过控制线124耦合到Y (列)读/写电路130,所述读/写电路130允许单独或集体地在预定数量的存储器单元格122上执行写入、重写和读取操作。在一些实施例中,读/写电路128和130可经配置以提供参考参数(诸如电压、阻抗和脉冲宽度),所述参考参数可针对一种类型以上的固态存储器单元格。换句话说,存储器的不同部分(诸如存储器的不同页134或块)可以物理上和逻辑上配置不同类型的存储器单元格,所述存储器单元格每个操作以存储数据,但对应由写/读电路128和130提供的不同参考参数,以准确地将读取输出或写入输入转换为逻辑状态。
[0023]在非限制性的示例操作中,写/读电路128和130可同时提供对于存储器单元格的页132或单元134的访问,用于调度或未调度用户和开销系统操作。一个或多个测试电路136和138可提供由估计电路140监控、记录、和评估行和列的测试功能。测试电路136和138可经配置以将存储器的一个或多个存储器单元格122和页面134置于预定状态(诸如在公共逻辑和阻抗值),所述预定状态可或不可在线在测试模式中用于用户访问,所述测试模式由一个或多个静态电流经过所选存储器单元格122表征,以识别和区分一个或多个不同类型的单元格缺陷,操作参数和存储器类型。换言之,单个存储器单元格122或更多的单元格同时或连续可以脱机并由测试电路136和138设置为测试模式,以允许多个测试电流通过单元格122以确定在评估电路140中记录并评估的多个履历、操作和缺陷特征。
[0024]因此,评估电路140可指示该测试电路136和138以及读/写电路128和130的操作,以确定哪些以及如何存储器单元格122在数据存储设备120中操作作。在一些实施例中,评估电路140在用户数据写入之前评估和测试一些或所有的存储器单元格122,该操作可以在制造过程中提供基线工厂操作参数设置。各种实施例进一步可以定期和偶尔进行各种存储器单元格122的操作特性的测试和评估。该周期性测试可以在预定和紧急情况(诸如低的系统处理和空闲时间)来进行,以确定像阻抗差异的各种运行条件。[0025]使用测试不同的存储器单元格122和单元格组合132的能力,评估电路140可以适应存储器单元格性能的各种静态和动态变化。然而,在受测试存储器器单元格的操作偏差的被动校正可以是处理密集的,并降低数据访问速度。此外,对存储器单元格122的校正的被动特性不可很快进行以确保高数据可靠性。因此,评估电路140可以配置各种功能以允许存储器单元格122对通过主动建模识别的操作编译的预测性适应。
[0026]图3绘制根据一些实施例在数据存储阵列中使用的示例固态存储器单元格的数据存储阵列。各个阻抗区域152、154、156和158分别对应于被编程为逻辑值11、10、01和00的多个存储器单元格的阻抗分布。在一些实施例中,数据存储阵列的一个或多个固态存储器单元格可通过并发将多个比特存储为2η逻辑比特值而经配置为多级单元格(MLC),该多级单元格对比于存储单个比特为逻辑值O或I的单级单元格,如图3中所示。
[0027]虽然可不受限制使用任何数量的不同逻辑值分配,但根据各种实施例的逻辑值惯例向最低阻抗值分配逻辑值11并向逐渐增高的阻抗分配逻辑值10、01和00。无论逻辑值分配,各种存储器单元格操作可导致固态存储器单元格的阻抗的不利漂移,如分段区域160、162和164所显示。例如但不是限制性地,增加减少存储器单元格的所存储阻抗的连续编程周期的数量、在存储器单元格中持续保存高阻抗状态的时间、数据存储阵列的温度、以及用于编程存储器单元格的编程电流量都导致日益复杂化数据的准确编程和检测的单比特或多比特存储器单元格的稳定阻抗状态的增加或减少。
[0028]可使用材料、分层厚度和整体尺寸构建固态存储器单元格,有利于根据编程电流重复提供多个不同阻抗。随着如区域160、162和164所示所存储的阻抗范围不必要的转移延伸经过逻辑状态阈值(诸如.3 Ω和.6 Ω ),逻辑状态精度可被影响,因为像01的逻辑状态可被理解为像00的不同状态。通过在并行读出包含许多单独阻抗的存储器单元格的页或块期间试图在所存储逻辑状态之间进行区分可进一步加重阻抗漂移,其中一些可以具有不同程度的阻抗漂移。
[0029]因为阻抗漂移的原因尚未完全明了,预防阻抗漂移并不可靠。因此,各种实施例针对被动和主动的存储器单元格的优化,用于提供适应预测的存储器单元格变化的能力。此夕卜,主动式存储器单元格的优化可以通过改变工厂操作参数(诸如,阻抗阈值、电压基准以及脉冲宽度)最大化存储器单元格的功能,以定制存储器单元格的操作,用于增加数据存储设备的性能。
[0030]图4示出了根据各种实施例的数据存储设备的示例控制部170的框图表示。控制部分170具有单独和集体通过控制电路178操作的多个不同的存储器层172、174和176。在各种实施例中,各个存储层对应具有不同的存储器单元格类型。可以使用图示的可编程金属化单元格(PMC)元件180构造和操作第一存储器层152。PMC元件180可由顶部182和底部184电极、金属层186、电解质层188以及电介质层190形成。控制电路178可用于调整第一 182和第二 184电极之间的相对电压电势,导致写入电流192通过PMC元件180以形成导电丝194,所述导电丝194将单元格阻抗从高阻抗改变为低阻抗,该低阻抗可对应于第一预定逻辑状态(诸如I)。
[0031]导电丝194通过迁移来自金属层186的离子和来自底电极164的电子建立金属层186和底部电极184之间的导电路径。介电层190集中底部电极184的小区域电子迁移,以控制所得到的导电丝194的位置。在相反的第二方向上随后应用写入电流通过PMC元件180使得离子和电子迁移返回到各自的电极182和184,以将PMC元件180重置为对应于不同的第二预定逻辑状态(诸如O)的初始高电阻抗。使用由控制电路178选择提供的不同大小和/或脉冲宽度的单极编程电流可以可替换地编程具有类似于在180所示结构的PMC元件。
[0032]所述第二存储器层174根据各种实施例被示为具有能用于数据存储阵列中的另一非排他性类型的固态存储器。该示例的相变随机存取存储器(PCRAM)单元200具有置于顶部204和底部206电极之间的相变层202。尽管不是必需地或限制性地,该相变层202可以由周期表的第VI族多晶硫属化物材料(诸如碲(Te )和硒(Se ))形成,而在一些实施例中,相变层 202 由 Ge2Sb2Te5 (GST)或 In-Ge-Te 形成。
[0033]为了将层202置于相对高阻抗的非晶相,相当高的电压电势被施加到电极204和206以加热层202超过其熔点温度。电压被迅速除去以便提供相对剧烈的冷却过渡,其可以被称为淬火处理。在这种情况下,原子可能没有足够的时间以放松并充分排列晶格结构,从而结束亚稳非晶态相和闻阻抗。
[0034]响应于相对较低幅度和较长持续时间的合适电流208通过元件200引起的焦耳加热,相变层202可以进行编程为结晶相。所施加的脉冲经配置以提高该层的温度,以使其高于其玻璃化转变温度并低于其熔点温度,以及逐渐降低温度到环境水平。这种温度梯度一般为材料提供足够的停留时间用于结晶。使用PCRAM组件200的编程操作,将层202置于各个无定形和晶相的数据写入电流可以以共同方向(均匀性)208施加,其可以提供在一些数据存储阵列中的优化数据编程性能。
[0035]虽然同一类型的固态存储器可用于多个不同的存储器层,图4显示的非限制性实施例具有在第三存储器层176单独使用或经常使用的阻抗随机存取存储器(RRAM)元件210。RRAM元件190具有由中间氧化物层216分开的相对的金属或金属合金电极层212和214。第一较高的阻抗编程状态由氧化层216的名义电阻抗确定。在整个元件210以选定方向应用合适的写入电压电势和/或写入电流可以诱导来自氧化层216的金属迁移,并通过氧化层216形成一个或多个导电金属导电丝218。
[0036]该导电丝218通常操作以降低元件210的阻抗特性,并提供可对应于不同逻辑状态的不同的高和低阻抗状态。为了将元件210的编程状态返回高阻抗状态,在电极212和214之间以去除导电丝218的方向施加合适的写入电压电势和/或电流。使用30 μ A或更少的写入电流,创建和随后去除导电丝218可小于10纳秒,这可以通过单独使用或与其它类型的固态存储器结合实施并分配到操作条件(诸如用户数据、元数据以及备用单元)而优化数据存储阵列性能,即最大化元件210的相对快速的编程时间和较低的编程电流。
[0037]在一些实施例中,氧化层216被配置为可以减轻漏电流并降低编程电流的不同材料的叠层。作为非限制性示例,非对称Ta02_x和Ta205_x可以具有不同厚度,并形成氧化覆膜。该不对称氧化叠层可以表现出优化耐力、数据保存和可扩展的访问速度,并且在无晶体管和无二极管交叉点阵列(诸如图2的阵列120)可被访问。
[0038]各种实施例也可使用其它阻抗式存储器类型(诸如碳纳米管随机存取存储器(NRAM)),它采用了由范德华力移动的碳纳米管的非织造基质,以形成高和低阻抗状态。NRAM的尺寸和可扩展性允许存储器用于各种不同的存储器阵列(像开关设备和存储器单元格)。和读数据和写数据相关的低存取电流允许NRAM单独或与其它阻抗式存储器类型组合,以为控制部分170的各种存储器层172、174和176提供不同的数据存储功能。
[0039]多种不同的存储层配置可以允许控制电路178采用复杂的数据管理方案,其中各存储器层172、174和176具有不同的存储器类型,像RRAM、PCRAM和PCM,但控制电路178可选择性使用以优化数据存储性能的类似存储器单元格功能(诸如元数据和用于数据的存储)。例如,最初被存储在被构造为相变存储器单元的第一存储器级172中的数据可以被移动以实现冗余或迁移到所述第二存储器层174的RRAM存储器单元格。
[0040]控制数据将被存储的固态存储器单元格的类型的能力使得各种存储器层以自适应方式用于主动和被动识别存储器单元格的操作偏差(诸如阻抗变化)。然而,应该指出:使用不同类型的存储器单元格可另外提供具有不同的阻抗、读、写概况的单元格,所述概况对应由至少所述控制电路178同时管理的不同测试和预测模型,以最大化存储器阵列对于电池阻抗差异的适应能力。
[0041]图5提供了根据各种实施例配置和操作的示例数据存储设备的主动部分230的框图表示。评估引擎232可以是独立的(如通过有线或无线网络),或集成在像图1中电路140的评估电路内。不论其中评估引擎232的位置,多个不同类型的数据可以被分开记录并由引擎232评估以传递到模型生成器234,所述模型生成器234可以处理该数据并识别可能的和即将发生的存储器单元格的变化(诸如,阻抗、逻辑状态),并访问时间变化。例如但不限于,传感器、处理电路和定时器可以向评估引擎232提供至少温度236、误码率238、读/写计数器240、数据年龄242和布隆过滤器244条件,用于如何执行数据存储阵列的不同映射。
[0042]一个或多个温度传感器236可以连续和间歇测量数据存储设备的周围空气温度以及存储器单元格、存储器页面和存储器页面模具的局部温度。也就是说,设备的空气温度可以同时或相继导致监测各个存储器区域,以检测特别热、或冷的位置。在一些实施例中,一旦阈值被超过,阈值温度(诸如150° F)被设定并触发存储器阵列的特定部分的检查。该检查可涉及:使得一个或多个存储器单元格脱机用于测试,以及预测性地改变暴露于预定范围之外温度的单元格的逻辑状态阻抗。该检查可导致可被提供到一个或多个存储器单元格的读出计数的额外增量。
[0043]一个或多个存储器单元格的误码率(BER)238也可以通过评估引擎232监测,以预测在预定参数之外操作的存储器单元格的物理和逻辑概率,诸如数据可靠性。例如,存储器单元格的高误码率可以触发进一步检查或调整物理上相邻所识别单元格的单元格,以及通过连续数据访问逻辑上连接到所识别单元格的单元格。在存储器层(诸如块和页)中的误比特率可受到监测,因为高层中的高BER可随后对应分析较低存储器层,因此该监测可导致更高效的分析。
[0044]存储器的各个扇区、页、块以及模具可以在延长时间内(诸如数据存储设备的寿命)和较短时间内(诸如之前的先前小时和周)连续监测,以提供对评估引擎232的数据访问次数的读/写计数器240。某些类型的存储器和运行条件(像被频繁访问的PCRAM单元格)可容易产生阻抗漂移,该阻抗漂移可以提前预测和补偿。在某些实施例中,计数器240可以使用如何访问各种存储器单元格的信息来记录大量的数据访问,像读出、写入和重写的次数,以及流经存储器单元格以向评估引擎232和模型产生器234提供数据的电流量。
[0045]虽然计数器可以监视对一个或多个存储器单元格的访问,当存储器单元格被写入、读取和改变时,年龄计数器242可以操作以记录经过的整体时间量。通过各种环境和运行存储器单元格条件(诸如读取干扰和未被发现的局部加热和创伤),数据的重新定位可以主动提高数据存储的准确性。年龄计数器242可以通过测量和估计的误码率258和读/写计数器240来补充以提供全面的存储器单元格映射,该映射允许评估引擎232和模型生成器234创建远程和精确的运营模式,用于预测何时以及哪个存储器单元格偏离像阻抗状态的预定操作阈值。
[0046]布隆过滤器244可以用于提供加权因子方法以跟踪来自温度236、读/写计数器240和数据年龄计数器242的数据,并向评估引擎232提供可由模型生成器234利用的数据,用于构建存储器单元格操作预测。在一些实施例中,加权因子可以提供调整后的读出计数,诸如:
[0047]Count (Adj)=Actual Reads+Kl(Temp)+K2(Age)+Κ3(Delta-V)(I)
[0048]其中count(Adj)为调整后的计数值,Actual Reads表示实际读取操作,Temp是温度读数/范围/区域,Age表示块的老化,以及Delta-V代表数据存取操作期间中单元格阻抗的检测或预测变化。可使用模块242以各种不同的方式跟踪老化,诸如在所选存储器单元格上写入和/或读取的总数。响应于不同的读取电压和阻抗阈值的应用,可使用Delta-V值。但是应当理解,其他因素也可使用。
[0049]通过模型生成器234产生准确的操作模式可使得:执行无限多种应主动措施以优化数据存储设备性能。一种该主动操作可以是从评估引擎232发送测试数据,以及从模型生成器234到优化引擎246的预测操作数据,所述优化引擎246随后定制工厂操作参数到非工厂操作参数,如通常图6中的示例存储器单元格优化逻辑250的框图表示。
[0050]如在图6所显示地,可以使用工厂参数254制造初始存储器单元252,工厂参数254可包括存储的比特数、逻辑状态之间的阻抗阈值、编程电压、编程脉冲宽度和读基准电压。该工厂参数254和无限多种的其它运行参数可以元数据形式存储在本地以及各种其它位置,如指示控制电路(诸如测试和读/写电路)以如何向存储器单元格252读取和写入数据的查找表。
[0051]通过单元格优化256的操作,初始存储器单元格252可以被配置在成用户数据存储器单元格258中,所述单元格258使用非出厂参数260引导的各种数据的读写操作。应当指出:非出厂参数260不需要更改每个工厂操作参数254,并可以改变仅一个操作特性以满足与单元格优化256相关的定制。非出厂参数260可以为用户数据存储器单元格258提供大量的优化操作条件,诸如性能劣化的维修、单位单元格到多位单元格的升级,以及使得逻辑阈值迎合提高的数据存取可靠性和速度。
[0052]在一些实施例中,在用户数据存储器单元格258从事现场使用最终用户本地存储的数据之后,单元格优化256发生。在用户数据存储器单元格258现场使用之前或之后,其它实施例进行单元格优化256。无论何时以及多少次进行单元格优化256,工厂参数254到定制非工厂参数的改变可以提供最大化用户数据存储器单元格258的电势并使得存储器单元格258性能配合预定数据存储特性的能力,诸如增加数据可靠性和快速的数据存取。
[0053]单元格优化256可以由图5的优化引擎246进行。所述优化引擎接收来自评估引擎232的测试数据以及来自模型生成器234的预测模型。然而,优化引擎246可以包括专用于执行特定(但非排他性)的单元格优化的若干子系统。图7显示在一些实施例中集成到数据存储设备的控制电路的示例优化部分280。优化部分280可以由一个或多个优化电路282指示,所述优化电路282评估测试和预测数据以提供优化阻抗284、恢复优化286和运行优化288,用于调整一个或多个存储器单元格的非工厂操作参数。
[0054]阻抗优化284可为读取和编程操作改变阻抗阈值基准电压,以适应当前或预测的存储器单元格的操作参数差异。各种实施例配置阻抗优化284以对于识别为偏离预定操作阈值的存储器单元格改变阻抗阈值和参考电压。也就是说,阻抗优化284可改变该已被确定偏离预定阈值的存储器单元格,以及在预定阈值内操作的存储器单元格。不论操作状态优化存储器单元格的能力可使得存储器阵列操作适应改变的存储器单元格的条件和并最大化存储器阵列中至少一个存储器单元格的电势。
[0055]示例性编程电压优化回路300提供在图8中,并开始于在步骤302扫描编程范围。该编程范围扫描可涉及测试并评估单个存储器单元格,单元格的页,以及可能或不可能偏离预定操作阈值的页的块。步骤302的扫描可以施加到各个存储器单元格并随后在步骤304中对于误码率(BER)测试的不同数量的编程电压。最低误码率的识别可对应步骤302中的编程电压修改以及步骤304中的电压验证,以验证与电压范围相关的BER。
[0056]虽然优化环路300针对编程电压,但可同样地测试读取电压以寻找最低误码率。作为阻抗优化284的一部分的编程或读取电压优化的结果,对应于不同阻抗逻辑状态的工厂操作设置(像电压)可对于最低BER进行优化,无论存储器单元格是否已被识别为当前或将来偏离预定操作参数。例如,被预测为发生阻抗漂移的第一存储器单元各和符合工厂操作参数的第二存储器单元格可具有它们各自的编程和读出电压,所述编程和读出电压经优化以适应第一单元格中阻抗状态变化,同时最大化所述第二单元格的电势。
[0057]作为另一非限制性示例,优化环路300可以通过步骤302和304逐步降低编程电压范围,以相对于预定数据存取速度找到最低BER。该活动可以允许优化回路300改变至少一个存储器单元格的阻抗、编程电压和读取电压,以优化访问数据的速度并可以同时保持高精确度。尽管根据工厂规格的操作,使用优化环路300以改变存储器单元格的能力可以处理存储器阵列的部分(诸如包含单一类型的固态存储器的单个存储器层),以最大化特定存储器单元格操作的操作条件(像更快的读取速度和多比特单元分配)。
[0058]为清楚起见,图7的优化引擎282和阻抗优化284可以利用优化回路300评估存储器阵列的部分,以改变活动的无缺陷的存储器单元格的工厂操作参数为来非工厂操作参数,所述非工厂操作参数经调整和优化为预定性能特性。因此,优化环路300可以对于各种不同的操作条件(像数据读取速度)测试和验证读取和编程参数,以利用在工厂提供规格之外可靠操作的存储器单个元之一。
[0059]通过步骤302和304对于一个或多个存储器单元格改变阻抗信息,在步骤306存储从工厂规格的优化非工厂操作增量(delta)。在一些实施例中,当系统处理被最小化以及系统能力不会因各种增量的数据转换而减少时,步骤306可以暂时保存来自多个不同的存储器单元格的非工厂操作增量,并随后在单元格开销中存储相应的增量,例如元数据和页/块查找表。
[0060]返回到图7,优化引擎282可单独或共同与其他优化方案进行恢复优化286。恢复优化286可以通过改变存储器单元格本身的运行条件而提供调谐的非工厂操作参数。与响应于存储器单元格能力调谐非工厂规格的阻抗优化284相反,恢复优化286实际上通过具有预定脉冲宽度和振幅的恢复电流通过单元格而改变存储器单元格的操作参数。[0061]虽然恢复优化286可以将经历阻抗漂移的存储器单元格返回到工厂特定操作条件,各种实施例走得更远并优化存储器单元格的性能,其可使用图8中所示的测试和验证工作范围进行。恢复优化286可以使得存储器单元格进行物理改变以符合预定的性能参数。例如,PCRAM存储器单元格可以使用一个或多个优化电流进行调节,以通过在存储器单元格中产生半无定形状态而具有较高或较低的数据读取和写入电压,其可以对应非工厂阻抗状态和参考脉冲持续时间。
[0062]当测试和验证可经调度并进行以得到非工厂操作参数时,主动预测一个或多个存储器单元格的操作条件的能力可以使得阻抗和恢复优化284和286以较高准确度和精密度地调整非工厂操作参数。而且,对于逐渐变小的存储器单元格反复进行优化操作(如优化回路300)可以提供可更宏观用于优化存储器阵列性能的模、块、页和扇区趋势。
[0063]图9提供了可对应于图1的运行优化288的运行优化环路310。运行优化环路310可以在存储器阵列的部分上持续进行以相对于存储器单元格的当前或反映阻抗而调整一个或多个运行参数(诸如,电压、电流、温度和时间)。如图所示,步骤312预测随后记录在步骤314中关注的运行参数之间的传输功能。趋于或通过预定阈值的记录操作的累积触发步骤316以使用最少的测试和验证操作修改存储器单元格的操作参数。
[0064]与步骤312、314和316相关联的相对低的处理可以允许多个运行优化环路310同时有效以产生各种特定的和一般的操作条件,所述操作条件可以由优化引擎282可以利用以使得阵列性能迎合经历的和预测的用户活动。但应注意:因为基于记录存储器阵列活动的传输功能可以被动方式使用(诸如线性和基于时间的系统),步骤312不局限于使用预测的传输功能。
[0065]各种优化方案284、286和288对于时间、处理可用性以及存储器单元格条件的适应能力示出由优化引擎282提供的多种能力。通过使用存储器单元格的预测模型计算现有存储器单元格的活动和状态,操作变化可以提供数据的强大集成,所述数据可由优化引擎282利用以多种方式(诸如,编程电压和升级到多比特存储器单元格)调整存储器单元格,用于最大限度地提高存储器阵列的潜力。
[0066]图10提供根据一些实施例执行的示例预测性单元格优化例程320的逻辑映射。最初,在步骤322产生基于评估工作条件的阻抗漂移的预测。该预测可对应各种处理数据(诸如,温度、误码率和数据访问计数器),以及未来存储器阵列活动的建模,步骤322可涉及评估关于一个或多个存储器单元格的记录操作和测试数据以识别目前还没有偏离预定阻抗阈值的单元格的未来阻抗偏离。偏离的确定可以基于过去评估和测试有缺陷的单元格,或可基于建议单元格偏离于预定阈值的识别趋势。
[0067]步骤322的预测阻抗偏离可进行到决定324,在该决定324,决定是否优化被预测偏离于预定阻抗值范围的一个或多个存储器单元格的阻抗。决定324可以评估:通过调整非工厂操作参数以适应单元格的状态或通过格对不同操作特性调节单元格是否更好地服务于存储器单元格。如果在不改变存储器单元格操作的情况下调整工厂操作参数,步骤326根据预定表格和观察的操作数据为一个或多个存储器单元格生成最佳运行参数(诸如,阻抗阈值,读出电压和编程电流),所述操作数据由评估引擎、模型生成器以及优化引擎产生。新的非工厂操作参数然后至少存储为对应于优化存储器单元格的阻抗状态的更新读写参考电压。存储器单元格的运行数据(像ECC和前进指针)的更新可以共同存储在查找表以及开销单元格(像履历元数据单元格)。
[0068]无论在步骤328结束或在决定324没有选择阻抗优化,决定330判断是否调整所选存储器单元格的操作和操作参数。判定该存储器单元格的功能将被改变用于修复当前或预测的阻抗偏离或优化存储器单元格的性能,步骤332使用预定宽度和持续时间的恢复脉冲修改存储器单元格的功能,以暂时或永久地改变存储器单元格的阻抗、电压和与读取和写入数据相关联的电流。
[0069]可替换地,步骤334预测或利用已有的传输功能以实时评估存储器单元格的操作并优化存储器单元格的非工厂操作参数。从步骤334的存储器单元格的优化结果可以是在步骤332的改变存储器单元格功能,和/或在步骤326改变操作参数。来自步骤334的存储更新后的非工厂操作参数(可包括步骤334和/或326的改变)在步骤338中进行。
[0070]从各个步骤和例程320的决定可以理解:可从工厂到非工厂操作参数调整一个或多个存储器单元格,以优化存储器单元格的性能。然而,图10所示的各个步骤和例程320的决定不要求或限制,因为各个决定和步骤可以按意愿省略、更改和添加。作为示例,可在步骤330之前评估其他决定以确定什么样的恢复脉冲将被使用,诸如高电流幅度和持续时间脉冲对于低电流幅值,长持续时间脉冲。
[0071]使用调整的非工厂操作参数,可关于一般特性(像数据读取准确性)以及存储器单元格具体特征(像多比特阻抗阈值)优化存储器阵列的性能。使用预期操作模型利用观测的存储阵列性能的能力允许被动的和主动的存储器单元格优化,以提供对于存储器单元格偏离和用户活动的储器阵列的适应能力。此外,主动和被动地评估存储器单元格可以允许利用和优化具有不同调整的非工厂操作参数的多个不同类型的固态存储器,所述操作参数最大化每个存储器类型的不同操作优势。
[0072]但是应当理解:尽管本发明的各种实施例的许多特征和配置连同各种实施例的结构和功能的详细信息已经在前面描述中进行阐述,但该详细说明仅是示例性的,并且可特别在本公开原理内的部件和配置上对细节进行改变,全部范围由其中表示所附权利要求的术语的一般含义表明。例如,在不脱离本技术的精神和范围的情况下,特定元件可以根据特定的应用进行改变。
【权利要求】
1.一种包括至少一个可变阻抗存储器单元格的装置,所述至少一个可变阻抗存储器单元格由控制器配置非工厂操作参数,在所述至少一个可变阻抗存储器单元格中,响应于与预定阈值的所识别差异而分配所述非工厂操作参数。
2.如权利要求1所述的装置,其中,在存储用户数据之前,所述非工厂操作参数不同于和所述至少一个可变阻抗存储器单元格相关联的工厂操作参数。
3.如权利要求1所述的装置,其中,所述工厂操作参数存在于第一类型的可变阻抗存储器单元格中,以及所述非工厂操作参数存在于第二类型的可变阻抗存储器单元格中。
4.如权利要求3所述的装置,其中,第一类型的可变阻抗存储器单元格包括可编程金属化元件。
5.如权利要求4所述的装置,其中,第二类型的可变阻抗存储器单元格包括相变随机存取存储器单元格。
6.如权利要求5所述的装置,其中,第三种类型的可变阻抗存储器单元格包括阻抗随机存取存储器单元格。
7.如权利要求1所述的装置,其中,所述控制器包括评估引擎,所述评估引擎经配置以同时分析多个不同的存储器单元格的操作条件,以被动识别与所述预定阈值的差异。
8.如权利要求7所述的装置,其中,所述评估引擎使用数据提供模型生成器,以主动识别与所述预定阈值的差异。
9.如权利要求8所述的装置,其中,与所述预定阈值所识别差异对应于遵守预定阈值的至少一个可变阻抗存储器单元格。
10.一种方法,包 括识别在至少一个可变阻抗存储器单元格中与预定阈值的差异,并且响应于与预定阈值的所识别差异,使用控制器的优化引擎部分向所述至少一个可变阻抗存储器单元格分配非工厂操作参数。
11.如权利要求10所述的方法,其中所述非工厂操作参数是编程电压和读取电压。
12.如权利要求10所述的方法,其中,所述优化引擎主动地生成非工厂操作参数。
13.如权利要求10所述的方法,其中,所述优化引擎被动地生成非工厂操作参数。
14.如权利要求10所述的方法,其中所述非工厂操作参数根据预测传输函数修改工厂操作参数。
15.如权利要求10所述的方法,其中所述非工厂操作参数相关于所观察比特率修改工厂操作参数。
16.如权利要求10所述的方法,其中所述优化引擎扫描通过所述至少一个可变阻抗存储器单元格的多个不同参考电压,以产生所述非工厂操作参数。
17.一种方法,包括:识别在第一可变阻抗存储器单元格中与预定阈值的差异,并响应于与预定阈值的所识别差异,使用控制器向所述第一可变阻抗存储器单元格分配第一非工厂操作参数。
18.如权利要求17所述的方法,其中所述第一可变阻抗存储器单元格在功能上由恢复电流改变,以及所述第一非工厂操作参数对应于改变的存储器单元格的功能。
19.如权利要求18所述的方法,其中,所述第一可变阻抗存储器单元具有改变的数据编程电压,作为恢复电流的结果。
20.如权利要求18所述的方法,其中第二可变阻抗存储器单元格由恢复电流改变以具有不同于所述第一非工厂操作参数的第二非工厂操作参数,所述第二可变阻抗存储器单元格物理上邻近所述 第一可变阻抗存储器单元格并与所述预定阈值没有变化。
【文档编号】G11C13/00GK103985408SQ201410045412
【公开日】2014年8月13日 申请日期:2014年2月7日 优先权日:2013年2月8日
【发明者】A·克利亚, M·A·盖尔特纳, R·J·高斯 申请人:希捷科技有限公司