CN104025193A - 用于在基于忆阻器的数据存储设备内减少写缓冲器容量的方法和系统 - Google Patents

用于在基于忆阻器的数据存储设备内减少写缓冲器容量的方法和系统 Download PDF

Info

Publication number
CN104025193A
CN104025193A CN201180072584.8A CN201180072584A CN104025193A CN 104025193 A CN104025193 A CN 104025193A CN 201180072584 A CN201180072584 A CN 201180072584A CN 104025193 A CN104025193 A CN 104025193A
Authority
CN
China
Prior art keywords
write
data
data storage
write request
read
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201180072584.8A
Other languages
English (en)
Inventor
E·奥尔登特利奇
G·塞鲁西
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN104025193A publication Critical patent/CN104025193A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0007Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising metal oxide memory material, e.g. perovskites
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0061Timing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0064Verifying circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3468Prevention of overerasure or overprogramming, e.g. by verifying whilst erasing or writing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/562Multilevel memory programming aspects
    • G11C2211/5624Concurrent multilevel programming and programming verification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Chemical & Material Sciences (AREA)
  • Materials Engineering (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Semiconductor Memories (AREA)

Abstract

申请中公开的一个示例是一种电子数据存储设备,包括一个或多个存储器元件的阵列。所述数据存储设备还包括错误控制编码的编码器,其编码所接收的数据;以及读/写控制器,其通过施加切换引发力或梯度至所述一个或多个存储器元件阵列而将接收自所述错误控制编码的编码器的已编码数据写入多个存储器元件,直到多于最大容许数量的写请求已经排队至所述写请求缓冲器,直到反馈信号指示所述写操作已完成,或直到所述切换引发力或梯度已经施加达最大施加时间。

Description

用于在基于忆阻器的数据存储设备内减少写缓冲器容量的方法和系统
技术领域
本申请涉及在非线性位存储介质(诸如,忆阻位存储介质)中存储数据的设备,并且尤其涉及用于通过在存储之前编码数据减少写缓冲器容量的方法和系统。
背景技术
过去半世纪以来,电子电路元件的尺寸快速缩小。熟知的电路元件,包括电阻器、电容器、电感器、二极管、及晶体管,曾经被通过手工焊接成大规模电路的大规模设备,而现在以次微米级尺寸制作在集成电路内部。基于光刻技术的半导体制造技术能够生产具有每平方厘米数以千万计的电路元件的集成电路。电路元件尺寸的稳定缩小和集成电路组件密度的增加,已使集成电路可操作的时钟速度快速增加,且使集成电路及基于集成电路的电子设备的功能、计算带宽、数据存储容量以及操作效率显著增长。
不幸地,相对于使用光刻技术的方法在集成电路内制造的组件密度进一步增加的物理极限正在趋近。最终,光刻技术方法受到通过光刻掩膜来固定与蚀刻光阻材料的射线波长所限,且随着电路线及组件尺寸的进一步缩小成纳米级尺寸,通过穿隧的电流泄漏以及因纳米级组件的相对高的电阻所导致的能耗相对于通过传统集成电路制造与设计方法进一步缩小组件大小与增强组件密度提出了挑战。这些挑战给纳米级电路及电路元件的设计与制造上带来了全新的方法。研究和开发努力当前正在耗用来通过纳米级元件的自行组装、纳米级压印以及其他相对较新的方法来产生极其紧密的纳米级电子电路。此外,已经发现以纳米级尺寸操作的新类型的电路元件,包括能够作为双稳态纳米级存储器元件使用的忆阻(memristive)切换材料。不幸地,忆阻切换材料及其他候选双稳态存储器元件材料,对被施加以改变材料状态的所施加电压、温度以及其他力及梯度具有非线性响应特征,经常具有较宽分布的非对称概率密度函数(PDF),所述非对称概率密度函数特性在于存储器元件相对于被施加切换力或梯度的不同持续时间进行切换的概率。非对称PDF可具有相对长尾特征,对应于力或梯度可能需要被施加比平均切换时间明显更长的时间段来保证切换的事实。可选地,PDF特性在于:大量存储器元件的切换行为,长尾对应于所述大量存储器元件的一小部分,相比于大量存储器元件中的大部分,所述大量存储器元件的一小部分以显著更长的力或梯度施加的持续时间来切换。这一事实又相对于具有狭窄分布的对称PDF的理论上的设备,要求显著降低的操作带宽和/或可信度,对此为保证切换高达对应于最大可容许比特错误率的概率需要施加的力或梯度的时间并不明显大于发生切换的平均施加时间。基于非线性数据存储材料(诸如,忆阻材料)的存储器设备及其他数据存储设备的理论学者、设计师以及开发者持续寻找可改进某些这种设备中的非对称展宽分布的切换时间特性的方法及设备体系结构。
附图说明
图1A-B图示了特征在于有两个稳定电子状态的纳米级单比特数据存储设备的示例。
图2显示了在图1A-B说明的双稳态纳米级电子设备的电流对电压行为。
图3A图示了对数-正态概率密度函数(PDF)。
图3B显示了在图3A所示对数-正态分布PDF的对应的累加分布函数(CDF)。
图4图示了两种方法中第一种,用于改善忆阻存储器元件及其他非线性数据存储设备材料的切换时间的对数-正态分布影响。
图5图示为忆阻存储器元件及其他双稳态数据存储材料改善对数-正态分布切换时间影响的第二种方法。
图6A-B图示了对忆阻存储器元件或其他非线性数据存储材料施加切换脉冲。
图7A-F图示了用于将数据写入包括以对数-正态分布切换时间为其特征的存储器元件的存储器设备的六种不同的数据写入方法。
图8图示了在两脉冲写入方法中,施加写电压的总预期时间Tavg对第一脉冲长度T1的依赖性。
图9图示了对于连续写入方法,施加写电压的期望累加时间Tavg对最大施加时间Tmax的依赖性。
图10提供了表格,显示用于将数据写入包括以对数-正态分布切换时间为特征的存储器元件的存储器的多种不同写入方法的比较。
图11图形化地说明了图10所提供的表格中第一水平区段的数据。
图12提供了表格,列出多脉冲写入方法的最大脉冲数量及平均脉冲数量,多脉冲写入方法针对所考虑的、作为τ的各不同分数的读时间实现期望的切换失败概率。
图13显示对于未编码的两脉冲写入方法和已编码的两脉冲写入方法,期望的等待时间相对于写入到达间隔时间的图示。
图14图示了结合反馈信号及ECC编码这二者的数据存储设备。
图15显示了写缓冲组件(图14中的1434)的操作的控制流程图。
图16提供了例程“输入”(图15的1506)的控制流程图。
图17提供了例程“输出”(图15的1508)的控制流程图。
图18提供了说明读/写控制器(图14的1430)的操作的控制流程图。
图19提供了例程“写”(图18的1806)的控制流程图。
具体实施方式
本申请涉及将数据存储于以较宽和/或非对称切换时间概率密度函数为特征的存储器元件的电子数据存储设备。这些类型的存储器元件(许多这种存储器元件包括非线性双稳态材料,包括忆阻材料)可能表现出最坏情况的切换时间,其明显大于平均切换时间。所述概率分布反映出当存储器元件重复地从第一双稳态切换至第二双稳态时观察得到的切换时间。概率分布还反映出当切换电压、电流、或其他力或梯度被施加至大量存储器元件时观察得到的大量单个存储器元件的切换时间。对于传统数据存储设备,潜在的冗长切换时间导致相对长的切换周期,并相应导致低的数据存储输入带宽。
本申请有关的电子数据存储设备以六小节讨论如下:(1)具有非对称分布的切换时间的存储器元件的概览;(2)错误控制编码;(3)假设的写入方法;(4)各种写入方法的分析;(5)各种写入方法的分析结果;及(6)本申请有关的电子数据存储设备的示例。
具有非对称分布的切换时间的存储器元件的概览
图1A-B图示了特征在于有两个稳定电子状态的纳米级单比特数据存储设备的示例。图1A显示所述设备处于相对高的电阻状态,以及图1B显示所述设备处于相对低的电阻状态。电极间的电介质材料的电阻率可被电子地感测,并且因此图1A-B所示两个不同电阻状态可用于存储单比特的信息。
图1A-B均使用相同的说明习惯。图1A中,电介质材料102夹在两个导电电极104及106之间。在所述双稳态电介质材料102上方及下方的所述电极那些部分显示在图1A。一般而言,所述电极可为纳米导线或其他导电元件,其电气互连所述纳米级电子设备与其他纳米级电子设备、纳米级电路及最终地小规模和大规模电路。在图1中,电介质材料102显示为具有两个不同部分:(1)低电阻率部分108及高电阻率部分110。所述低电阻率部分为一耗尽区域,作为一个示例,耗尽区域包括促进电流传导的氧空位。电介质材料的高电阻率部分110缺乏所述空位,并且因此具有未经掺杂半导体或电介质物质的电导。在图1A-B中,当在向上垂直方向或z方向横跨所述电介质材料施加足够大幅度的电压时,氧空位可在所述两电极间的所述电介质材料内部重新分布,如图1B所示。氧空位的重新分布导致电介质材料整体具有相对低电阻。在图1B中在相反方向施加足够大电压,或在向上垂直方向施加负电压,导致迫使空位本身分布更靠近下电极,如图1A所示。
图2显示在图1A-B说明的双稳态纳米级电子设备的电流对电压的行为。I-V曲线中具有相对大斜率的部分202为I-V曲线对应于纳米级电子设备的低电阻状态部分,如图1B所示。所述曲线斜率与两电极间的电介质材料的导电性成正比而与电阻率成反比。I-V曲线中具有小的幅度斜率的部分204对应于纳米级电子设备的高电阻状态,如图1A所示。从电压轴208及电流轴210的原点206开始,假设纳米级电子设备处于如图1A所示的高电阻状态,从下电极施加增加的正电压至上电极,导致横跨电介质材料的电流很少的增加,如I-V曲线204的右侧部分表示的,直到施加的正电压接近电压Vw +212,在所述点处氧空位贯穿电介质材料或半导性材料快速重新分布,这导致电流快速增加,如I-V曲线的近垂直部分214表示,直到表示低电阻状态的I-V曲线部分到达点216。正电压的进一步增加导致沿低电阻状态I-V曲线的远右侧部分220电流相对较大的对应增加,直到达到电压VD +222,在所述点设备因高电流流经所述设备导致电阻加热而作为结果产生过量热量而故障。一旦到达低电阻状态的点216,随着横跨电极施加电压的降低,使低电阻状态I-V曲线202向左前进,下降回原点206;并随着电压进一步减至幅度增加的负电压,电流在所述方向切换并在幅度上增加至点224,在所述点氧空位再次重新分布回接近下电极的紧密层,如图1A所示,导致流经设备的电流幅度的快速降低,并返回点226的高电阻状态。横跨设备所施加的负电压幅度的进一步增加,最终导致电压VD -230,在所述点因电阻加热而使设备再次故障。
纳米级电子设备从低电阻状态过渡至高电阻状态的电压称作Vw -232。选择高电阻状态表示布尔值“0”,以及低电阻状态表示布尔值“1”,施加正电压vw +可视为写1操作,而施加负电压Vw -可视为写0操作。施加中间幅度电压VR236可用来询问当前存储在纳米级电子设备中的值。当电压VR施加至设备时,并当相对大幅度电流因此而流经设备时,所述设备处于低电阻状态或布尔1状态;但当相对少电流流经设备时,设备处于布尔0状态。因此,图1A-B及图2说明的纳米级电子设备可作为纳米级存储器元件,而这种设备的二维或三维阵列可作为二维及三维存储器阵列。
尽管本示例及随后示例以具有两个不同稳定电子状态中的任一者的双稳态材料为特征,但根据横跨设备施加的电压历史,具有三个或更多个稳态的设备也可用于各种应用。例如,具有三个稳态的设备可存储基数为3的数值系统中三个不同值“0”、“1”或“2”中的一者,或可使用三态设备的三个稳态中的二者来存储一位值,未分配的状态提供与信息存储状态的进一步分离。多种情况下,电压被施加以改变双稳态存储器元件的状态。然而,其他类型的双稳态材料可由施加其他力和/或梯度切换,包括用于基于相变材料设备的温度。其他类型的设备可具有不同于电阻状态的状态类型的特征。
如前文讨论,图2提供了一种类型的理想化的忆阻器切换的描述。然而,忆阻存储器元件以及在施加电压或其他力或梯度下表现出非线性特性的其他类型的存储器元件不相对于时间从一个双稳态均匀地切换至另一双稳态,反而是如许多其他物理现象一样表现出概率分布的切换时间。作为一个示例,某些忆阻存储器元件的切换时间可由对数-正态概率分布模型化。图3A图示了对数-正态概率密度函数(PDF)。图3A中,纵轴302表示相对于施加力或梯度的起始时间,特定忆阻存储器元件在时间t切换的概率密度,或换言之,时间t等于施加力或梯度以把忆阻存储器元件从第一状态切换至第二状态期间设备的切换时间tsw。在图3A中横轴304表示时间t,原点对应于当开始施加力或梯度时的时间t=0。
对于图3A所示的假设的对数-正态分布,平均切换时间t为1.0,其中时间单位(诸如,如纳秒、微秒、或毫秒)依赖于特定忆阻材料且与本文讨论不相关。在正态概率分布或高斯分布中,概率密度函数峰值与随机变量的平均值一致。然而,如图3A可知,对数-正态分布的概率密度函数的峰值306移位至独立变量t的平均值左侧。PDF为非对称,与正态或高斯PDF不同,且具有扩展至右侧尾部308的特征,对应于以下以下事实:施加电压或其他力或梯度的特定忆阻存储器元件的实际切换时间有显著概率出现在明显大于平均或均值切换时间的时间。
对于多种类型电子设备,包括存储器,商业应用需要极低错误率。因此,为了保证在特定施加写电压至存储器期间写入的存储器元件的足够部分确实切换,写电压可能需要在存储器元件的平均切换时间的多倍的持续时间上施加至所述存储器,或者换言之,在这个持续时间上,对于标准化的PDF,PDF下方0至施加时间之间的面积接近1.0,且PDF下方至所述应用持续时间右侧的面积接近0。图3B显示对在图3A所示对数-正态分布PDF的对应的累加分布函数(“CDF”)。纵轴314表示忆阻存储器元件的切换时间tsw小于或等于时间t的概率,以及横轴表示时间t。CDF表现出相对延长的影线趋近310于横虚线,横虚线表示对应于PDF延伸右侧尾端的概率1.0。
为忆阻存储器元件建模PDF的合适表达式提供如下:
f t , σ ( t ) = 1 2 π tσ e - ( ln t / τ ) 2 2 σ 2
接着提供为忆阻存储器元件建模CDF的合适表达式
F t , σ ( t ) = 1 2 erfc ( - ln ( t / τ ) 2 σ )
如上表达式中,函数erfc代表互补错误函数。PDF及CDF可视为t/τ的分布表达式,其中ln(t/τ)的中间值为0及ln(t/τ)为高斯分布。比值t/τ表示由中值切换时间τ规范化的切换时间。参数τ由如下表达式而在某些类型的忆阻存储器元件中模型化为:
τ ON = a ON e - b ON | v | 3.5 V ≤ v ≤ 7 V τ OFF = a OFF e - b OFF | v | - 4.75 V ≤ v ≤ - 2.75 V
τON为施加的正电压的τ参数,其将忆阻存储器元件切换成ON或“1”态,以及τOFF为施加的负电压的参数τ,其将忆阻存储器元件从“1”或ON态切换成“0”或OFF态。常数aON、aOFF、bON和bOFF为以经验为主地确定的正实数常数,V为所施加的切换电压。
多个示例中,利用特征为对数-正态分布和/或展宽分布切换时间PDF的存储器元件和期望的数据输入带宽,采用两种方法来设计及制造具成本效益的存储器及其他数据存储设备。两种方法均可分开使用或组合使用。图4图示了两种方法中的第一者,用于改善由忆阻存储器元件及其他非线性数据存储材料所表现出的切换时间的对数-正态分布影响。图4显示夹置于两个导体404及406间的单个比特存储器元件402,读电压及写电压通过这些导体而施加至所述存储器元件。此外,存储器元件与一电路元件408相关联,电路元件408在图4中被建模为电路元件,该电路元件根据两输入信号412与414间的电压差而输出反馈信号410。例如在本模型中,当正的写电压通过导体404及406被施加且存储器元件402处于两个双稳态电阻状态中的第一者时,反馈信号可具有一个电压值;当写电压通过导体404及406被施加且存储器元件402处于两个双稳态电阻状态中的第二者时,反馈信号可具有一个不同电压值。因此反馈信号410向写控制器或其他存储器电路通知存储器元件的当前状态。作为一个示例,这允许写电压施加至存储器元件达到将存储器元件从第一状态切换至第二状态所需的时间长度之久。因此,作为一个示例,替代施加一写电压达足够时间来保证存储器元件已经切换至某个确定程度,其中所述足够时间根据表征存储器元件特性的PDF而计算出,写电压被施加足够时间来实际切换所述存储器元件。如前文参考图3A的讨论,保证切换至高肯定度所需写电压施加时间可比特定忆阻存储器元件的平均切换时间长数倍,并且因此反馈信号通常导致显著缩短的平均电压施加时间。
图5图示了为忆阻存储器元件及其他双稳态数据存储材料改进对数-正态分布切换时间的影响的第二方法。在图5中,输入的二进制数据量502以长比特值阵列表示,在阵列中的每个单元存储单比特值,输入的二进制数据量502经划分成为多个长度k的子阵列504-507。这些k个阵列然后使用多种不同类型的错误控制码(ECC)中之一来编码,这结果导致添加r个冗余位至长度k的每个子阵列510。然后,编码子阵列存储于存储器512。当存储的数据在读取操作514期间从存储器获取时,已编码的存储信息由解码逻辑516解码而产生k长度的子阵列520-523。一般而言,如下小节讨论,添加r个冗余信息位至每个K长度的子阵列,允许每个k长度子阵列内部多达一定数量的不正确存储位或不正确读取位被解码逻辑校正。因此,在写/读过程中,存储器受到一定数目的位错误而不导致错误数据。作为一个示例,使用ECC,施加写电压期间的时间长度可显著缩短,而同时达成与由使用较长时间施加写电压但写入与读取未编码信息所达成的相同错误率。
错误控制编码
错误控制编码的优秀参考文献为教科书《错误控制编码:基础与应用》,Lin和Costello,Prentice-Hall公司,新泽西州,1983年,以及《编码理论入门》,Ron M.Roth,剑桥大学出版社,2006年。下面提供了在错误控制编码中使用的错误检测及错误校正技术的简短叙述。额外细节可从前述教科书获得,或者从本领域的许多其他教科书、论文以及期刊文章获得。
错误控制编码技术系统地将补充位或符号引入纯文本信息,或比绝对需求使用更大数量的位或符号来编码纯文本信息,以编码消息形式提供信息而允许在存储或传输时出现的错误被检测且于某些情况下被校正。当码字被视为向量空间中的向量,而码字之间的距离是从码字的向量减法得出的度量时,一个补充的或超过绝对需要的位或符号的作用是将增加有效码字之间的距离。
在错误检测与校正的描述中,将传输、存储以及获取的数据描述为一个或多个消息是有用的,其中一消息μ包含一有序的符号序列μi,,它们为一域F的元素。一消息μ可表示为
μ=(μ0,μ1,…,μi1)
其中μi∈F
域F为在乘法及加法下封闭的集合,该集合包括乘法倒数及加法倒数。在计算错误检测与校正中,常见采用有限域GF(pm),包含整数子集,大小等于质数p的m次幂,加和乘运算符被定义为在阶乘m的GF(p)上以不可约多项式为模的加和乘。实际上,常采用二进制域GF(2)或二进制扩展域GF(2m),下文讨论假定采用域GF(2)。通常,原始消息被编码成消息c,所述消息c也包含域GF(2)的一有序元素序列,表示如下:
c=(c0,c1,…,cn-1)
其中ci∈GF(2)
块编码技术以块编码数据。在这个讨论中,块可视为包含固定数量的符号k的消息μ,所述消息μ被编码成包含有序序列的n个符号的消息c。编码消息c通常含有比原始消息μ更大量的符号,因此n大于k。在所述编码消息中的r个额外符号(其中r等于n-k)被使用来携带冗余检查信息,允许在传输、存储以及获取期间产生的错误以极高的检测概率被检测,且在许多情况下被校正。
在线性块码中,2k码字形成于域GF(2)上的全部n元组的向量空间的k维子空间。码字的汉明权重为所述码字中的非零元素数量,两个码字之间的汉明距离为所述两个码字相异的元素数量。例如,考虑如下两个码字a及b,假设元素来自二进制域:
a=(10011)
b=(10001)
码字a具有汉明权重3,码字b具有汉明权重2,码字a及b间的汉明距离为1,由于码字a及b在第四个元素不同。线性块码经常标示以三元素元组[n,k,d],其中n为码字长度,k为消息长度,或等价地,码字数量的底数为2的对数,d为不同码字间的最小汉明距离,等于所述代码中的非零码字最小汉明权重。
用于传输、存储以及获取的数据的编码和所述已编码数据的随后解码,当在数据的传输、存储以及获取期间未出现错误时,可以符号表示如下:
μ→c(s)→c(r)→μ
其中c(s)为传输前的已编码消息,c(r)为最初获取的或接收的消息。因此,初始消息μ被编码来产生已编码消息c(s),它然后被传输、存储、或传输且存储,然后接着被获取或接收为初步接收消息c(r)。当没有被破坏时,初步接收消息c(r)然后被解码产生原始消息μ。如上指示,当未发生错误时,原始已编码消息c(s)等于初步接收消息c(r),且初步接收消息c(r)未经错误校正而直接地解码成为原始消息μ。
当在一已编码消息的传输、存储以及获取期间产生错误时,消息编码与解码可表示如下:
μ(s)→c(s)→c(r)→μ(r)
如前述,最终消息μ(r)可能等于或可能不等于初始消息μ(s),取决于用于编码原始消息μ(s)与解码或重建初步接收消息c(r)而产生最终接收消息μ(r)的错误检测与错误校正技术的保真度。错误检测为确定下式的过程:
c(r)≠c(s)
而错误校正为从受破坏的初步接收消息而重建初始编码消息的过程:
c(r)→c(s)
编码过程为以符号μ表示的消息被变换成编码消息c的过程。可替代地,消息μ可视为是字,该字包含来自由F的元素的组成的字母表的符号的有序集合,并且编码消息c可被视为一码字,该码字也包括来自F的元素的字母表的符号的有序集合。字μ可以是选自F的元素的k个符号的任何有序组合,而码字c被定义为是通过编码处理选自F的元素的n个符号的一有序序列:
{c:μ→c}
线性块编码技术通过考虑字μ为k维向量空间中的一个向量,且将向量μ乘以生成器矩阵而编码长度k的字组,如下:
c=μ·G
以标记法扩充上式中的符号产生以下任一个可替代公式:
( c 0 , c 1 , . . . , c n - 1 ) = ( μ 0 , μ 1 , . . . , μ k - 1 ) g 0 g 1 . . . g k - 1
其中gi=(gi,0,gi,1,gi,2..gi,n1)
线性块码的生成器矩阵G具有下述形式
G k , n = p 0,0 p 0,1 . . . p 0 , r - 1 1 0 0 . . . 0 p 1,0 p 1,1 . . . 0 1 0 . . . 0 . . . . . 0 0 1 . . . 0 . . . . . . . . . . . . . . . . . . . . . . . . p k - 1,0 p k - 1,1 . . . p k - 1 , r - 1 0 0 0 . . . 1
或可替代地:
因此,生成器矩阵G可置于以k乘k单位矩阵Ik,k扩大的矩阵P的形式。可替代地,生成器矩阵G可具有下示形式:
由这种形式的生成器矩阵所产生的代码称为“系统码”。当具有如上第一形式的生成器矩阵被施加至一字μ时,所得码字c具有下示形式:
c=(c0,c1,…,cr-1,μ0,μ1,…,μk-1)
其中ci=(μ0p0,i1p1,i,…μk-1pk-,i)。使用第二形式的生成器矩阵,码字被产生有奇偶校验位的结尾。因此,在系统线性块码中,码字包含r个奇偶校验符号c;然后是包含原始字μ的k个符号,或为包含原始字μ的k个符号然后是r个奇偶校验符号。当未发生错误时,原始字或消息μ以明文形式出现在相对应码字内且容易地提取于相对应码字。奇偶校验符号结果为原始消息的符号的线性组合,或字μ。
第二有用矩阵的一个形式为奇偶校验矩阵Hr,n,定义为:
或等价地,
H r , n = 1 0 0 . . . 0 - p 0,0 - p 1,0 - p 2,0 . . . - p k - 1,0 0 1 0 . . . 0 - p 0,1 - p 1,1 - p 2,1 . . . - p k - 1,1 0 0 1 . . . 0 - p 0,2 - p 1,1 - p 2,2 . . . - p k - 1,2 . . . . . . . . . . . . . . . 0 0 0 . . . 1 - p 0 , r - 1 - p 1 , r - 1 - p 2 , r - 1 . . . - p k - 1 , r - 1
奇偶校验矩阵可用于系统性错误检测及错误校正。错误检测及错误校正涉及从初始接收的或获取的消息c(r)计算一校验子(syndrome)S如下:
S=(s0,s1,...,sr-1)=c(r)·HT
其中HT为奇偶校验矩阵Hr,n的转置,表示为:
H r , n = 1 0 0 . . . 0 0 1 0 . . . 0 0 0 1 . . . 0 . . . . . . 1 - p 0,0 - p 0,1 - p 0,2 . . . - p 0 , r - 1 - p 1,0 - p 1,1 - p 1,2 . . . - p 1 , r - 1 - p 2,0 - p 2,1 - p 2,2 . . . - p 2 , r - 1 . . . . . . . - p k - 1,0 - p k - 1,1 - p k - 1,2 . . . - p k - 1 , r - 1
注意,当采用二进制域时,x=-x,故通常并不显示如上于HT显示的负号。
校验子S用于错误检测及错误校正。当校验子S为全0向量时,在所述码字未检测到错误。当校验子包括有值“1”的位时,指示错误。具有根据校验子及码字计算估计的错误向量的技术,所述估计的错误向量当由模-2加法加至所述码字时,产生原始消息μ的最佳估计。用于产生错误向量的细节提供于前述文本中。注意,可检测到高达某个最大错误数量,而少于被检测的所述最大数量的错误可被校正。
假设的写入方法
图6A-B图示了施加切换脉冲至一忆阻存储器元件或其他非线性数据存储材料。为下文的更多的讨论,考虑施加一个切换脉冲或多个切换脉冲。一个切换脉冲可为施加正电压VON602达到持续时间t604,或施加负电压VOFF606达到持续时间t608。任一种情况下,适当的τ参数选自τON及τOFF,,用于计算合适的对数-正态切换时间PDF及对应CDF,可根据其确定一脉冲的持续时间T,T以平均切换时间的倍数为单位,合适的对数-正态切换时间PDF及对应CDF提供高于对应于最大期望比特错误率(BER)的指定最低切换概率的所述存储器元件切换的概率。
对在给定存储器元件的切换失败概率Pb(T),或多存储器元件设备的比特错误率从前文讨论的对数-正态CDF计算如下:
Pb(T)=1-Ft,σT)T≥0
其中Ft,σ(T)为前文讨论的CDF。在下文讨论中,为求简单起见,导通切换与关断切换间的非对称忽略不计,这适用下述情况:成功施加写操作不改变存储器元件状态,因此写操作失败不改变存储器元件状态。忽略这些情况不会改变下述各种方法间的比较。在下文讨论中,忆阻存储器元件及其他非线性数据存储材料的切换失败被模型化为二进制对称噪声通道。
在下文讨论中,当采用ECC时,假设代码C为[nk,d]代码,因此,在写入和/或读取每个码字中出现的高达(d-1)/2的位错误可被校正。当然,从位错误复原的能力代价在于:添加至每组长度k的二进制信息位的冗余位r,导致信息率R定义如下:
信息率=R=k/n
R<1用于已编码信息
R=1用于未编码信息
如前文讨论,当未编码信息存储于存储器并从中获取时,假设读取所存储的信息期间未发生错误,从存储器获取的信息中的错误位分数为Pb,即切换失败概率或BER。当已编码信息被存储于存储器,随后被获取且由错误校正解码器处理时,BER为:
P ^ b = 1 n Σ i = s + 1 n i n i p b i ( 1 - p b ) n - i
其中s=[(d-1)/2]=可由代码C即[n,k,d]代码校正的最大位数量。
在本表达式中,全部错误模式(包括超过可由ECC校正的最大错误数量的错误数量)的概率被求和并除以n即码字长度。
接着,考虑前文参考图4和5讨论的采用反馈信号及ECC中的一个或二者的多种不同数据写入方法。首先,概述这些讨论中所使用的各种标记法惯例。
对于单脉冲方法,施加写电压或其他力或梯度用以切换存储器元件的总时间Tt等于单一脉冲时间T。对于多脉冲方法,Tt等于多个脉冲之和:
Tt=T0+…+Ti
平均电压施加时间Tavg为期望总施加时间:
Tavg=E(Tt)
对于单一脉冲方法,Tavg=T。对于采用ECC的方法,每个位的平均电压施加时间为:
考虑到了写入增加冗余位的额外时间。最后,对于特定数据写入方法W,每个信息位的能耗或存储器带宽的增益G或期望节省为:
G = 10 log 10 T avg , r T avg , w *
其中G以分贝表示;
Tavg,r为对于如下讨论的未编码一脉冲方案的期望脉冲长度;
Tavg,w为对于特定数据写入方法的每个位平均脉冲时间。
因此,下列比较:未编码BER Pb、已编码采用于写入数据的施加电压或其他力和/或梯度的总时间Tt、多脉冲方法的平均施加时间Tavg、每个位的平均脉冲时间以及增益G被评估来促进不同数据写入法的比较。尽管为当比较不同写入方法之间的能耗与存储器带宽时使用的适合的工作系数,但Tavg和Tmax反映出设备损耗及最恶劣状况的等待时间考虑。
如前文讨论,改进为保证在具有表现出切换时间的对数-常态分布的存储器元件的设备中存储数据的高度可信度所需的潜在长的写电压施加时间的一个方法是使用反馈信号,反馈信号允许存储器控制器在选定的时间点确定是否已经切换特定存储器元件。应当注意,这种用于降低写电压平均施加持续时间的基于反馈信号的方法带来额外的电路及电路元件的显著成本。类似地,如前文讨论,通过使用ECC所提供的校正错误能力涉及存储额外冗余位,额外冗余位降低存储设备的信息率。
下文讨论中,做出了各种简化。例如,在以上对提供的表达式中,假设当一个码字多于s个位为错误时,解码器总是失败,或者换言之,解码器总是能够检测无法校正的错误模式。当解码器检测到一无法校正的错误模式时,解码器停止继续尝试解码码字,但未引入额外错误。实际上,情况并非总是如此。存在这样的小概率:对于无法校正的错误模式,解码器产生不正确解码的码字。假设这样的概率被忽略,这实际上是合理的,由于作出这样的假设并不会显著影响总的BER计算结果。
对于特征为具有对数-正态分布切换时间的存储器元件的设备,存在可被优化的多个不同参数。例如,施加写电压或其他力或梯度期间,除了改变长度T及脉冲数外,电压本身可被改变,更高的电压通常减少达到特定BER需要的平均脉冲时间,但也增加存储器或其他数据存储设备存储信息耗用的能量。但在许多情况下,结果是:在可施加的写电压范围内并无最佳写电压,反而使用通常导致耗用较少能量的更大幅度写电压。换言之,施加至存储器元件的写电压越大,则需要施加写电压的时间越短,且较少总能量耗用在切换存储器元件上。当然,在某一点上,增加写电压导致设备的故障,设备的使用寿命也可能受高写电压的使用带来负面影响。作为另一个示例,如前文讨论,由如上提供的PDF和CDF表达式建模的切换时间的自然对数的方差σ依赖于所施加的写电压。但这样的依赖性是弱的,因而这样的依赖性对于最佳化不构成参数的良好候选。
在下文讨论中,如前述,施加时间以τ为单位而报告,或换言之,随机变量为t/τ。在下文讨论中,结果以时间标度独立方式提供。在以下对各种信息写入方法的各个参数的计算中,使用二进制Bose,Ray-Chaudhuri,Hocquenghem(BCH)ECC代码C。所述代码为[4304,4096,33]ECC,R≈0.952,所述代码对每4096位代码块可校正高达16个随机错误。在下文讨论中,为在校正切换失败错误中有好的性能,这个特定代码被使用,但在实际存储器系统中,选择代码的额外考虑也包括代码故障模式类型及代码适当处理各类相关的多位错误的能力。在下文分析中,考虑两个不同目标BER水平:(1)Pb=10-12,表示当前存储设备的较低端的BER水平,且对应于存储两小时高清晰度影片而无期望错误;而且(2)Pb=10-23,表示未来期望的BER水平。
图7A-F图示了用于将数据写入包括以对数-正态分布切换时间为其特征的存储器元件的存储设备的六种不用数据写入方法。这些方法组成假设的实验,其中用于六种不同数据写入方法的各种参数由首先将数据写入存储器然后将数据从存储器读回所确定。如下文讨论,基于对数-正态分布PDF和CDF连同其他假设和考虑,可为这些假设的实验估计参数。
在第一方法中,如图7A显示,称为“单脉冲未编码写入方法”,在步骤702,数据使用长度T的单一脉冲而写入存储器;在步骤703,从所述存储器读回;并在步骤704,从所述存储器读回的数据与最初写入所述存储器的数据进行比较来确定所述单脉冲未编码写入方法的BER。当然,所述实验会重复多次,或会测试多个存储器元件,或两者都进行,以便获得具有统计学意义的结果。单脉冲未经编码写入方法表示参考点,如下采用ECC和反馈信号中的一个或多个的额外方法将与所述参考点进行比较。如图7B显示,在单脉冲已编码方法中,在步骤706,数据先编码成码字,然后在步骤707,使用长度T的单一写脉冲而写入存储器。在步骤708,数据从存储器读回,且于步骤709解码,随后在步骤710,已解码数据与初始存储在存储器的数据进行比较,以获得单脉冲已编码方法的BER。在图7C所示的多脉冲未编码方法中,数据以多个脉冲写入。在步骤712-716的for-循环中,脉冲序列用于尝试将数据写入存储器。在for-循环的每次迭代中,数据被尝试使用下一个长度为Ti的脉冲写入,其中i为一迭代变量,指示当前迭代的数目或索引。然后在步骤714,提供自反馈启用存储器元件的反馈信号被考虑以确定数据是否已经正确地写入存储器。可替代地,存储器元件可被读取以核实已经发生切换。如在步骤715确定的,当数据尚未正确地写入存储器时,并在当前迭代索引i小于迭代结束值num时,则进行for-循环的下一次迭代。否则,在步骤717,数据从存储器读回且与写入存储器的数据进行比较来确定来自所述多脉冲未编码方法的BER。如前文讨论,脉冲时间和T0+...+Ti等于总脉冲时间Tt;总脉冲时间又小于或等于指定最大电压施加持续时间Tmax。为了建模这种方法和相关方法,假设切换概率与在写操作中施加至存储器元件的一个或多个脉冲的总累加电压施加时间有关。换言之,以三个1秒脉冲施加写电压等效于施加所述写电压达单一3秒脉冲之久。图7D显示的多脉冲已编码方法类似于如上参考图7C讨论的多脉冲未编码方法,不同之处在于:在步骤720,数据首先被使用ECC编码,随后在步骤722解码。
图7E显示了连续未编码方法。所述连续未编码方法相当于对多脉冲未编码方法的极限,其中脉冲时间Tt缩短至无限小的时段,无限的小时段累加在一起高达最大电压施加时间Tmax。在步骤724,写电压施加至存储器设备,开始于将数据写入所述设备内部的存储器元件。然后,在步骤725-726的while-循环中,来自存储器元件的反馈信号被连续地监控,以确定预期要通过施加写电压切换的存储器元件实际上切换至其期望的状态的时间。当这发生时,while-循环结束,在步骤727数据从存储器读回,并在步骤728,所述数据与初始写入数据进行比较来确定连续未编码方法的BER。图7F显示的连续已编码方法类似于连续未编码方法,不同之处在于:在步骤730,数据首先使用ECC编码,并在从存储器读出后,在步骤732随后被解码。
图7A-F图示的全部方法表示假设的数据存储方法,在单脉冲未编码方法的情况下,假设的数据存储方法既未采用反馈也没有采用ECC,或采用反馈和ECC中的一者或两者。在多脉冲未编码及多脉冲已编码方法以及连续未编码和连续已编码方法中使用反馈。在单脉冲已编码方法、多脉冲已编码方法以及连续已编码方法中使用ECC。对于单脉冲方法,Tavg=Tmax=T。对于单脉冲已编码法,对于单脉冲未编码法,
各种写入方法的分析
本节中讨论参考图7A-F讨论的各种写入方法的分析方法。分析提供如上讨论的包括Tavg以及G的各个参数的估计。各个分析结果讨论于如下小节。
在单个脉冲方法中,T的选择确定所存储数据的输入BER Pb(T),其在已编码方法中假设已经用C编码。然后使用前述BCH代码的参数n=4304,s=16估计已编码方法的输出BER。
使用两脉冲的多脉冲写入方法为最简单的具有反馈的数据写入法。持续时间T1的初始脉冲被施加并且设备的状态被感测。当发现设备已经切换至期望的目标状态时,写操作被视为完成。当设备未切换时,施加持续时间Tmax-T1的额外脉冲,其中Tmax>T1。注意,虽然在时间T1中断操作会减小平均总脉冲时间,但切换失败概率仍由Tmax确定,作为结果Pb=1-Ft,σTmax)。期望总脉冲持续时间为
Tavg(Tmax-T1)=Ft,σ(T1)T1+(1-Ft,σT1))Tmax
在给定目标值Pb的情况下,可计算使Tavg最小化的T1的值。当然,容易证实=Tavg(Tmax,0)=Tavg(Tmax,Tmax)=Tmax,并且作为T1的函数,Tavg在区间(0,Tmax)具有明显的最小值。图8图示了在两脉冲写入方法中,施加写电压的总期望时间Tavg对第一脉冲长度T1的依赖性。为了找出使Tavg最小化的T1的值,在用完整表达式取代如上提供的Ft,σ后,如上表达式的右手侧被求微分,且针对导数零在数值上被求解,表示为最佳期望总脉冲长度然后用给出。
对于二进制对称噪声通道,2脉冲方法与1脉冲方法相同,但不同之处在于:期望短得多的脉冲及相应地低得多的能量被使用来获得相同BER。最坏状况下脉冲持续时间与1脉冲情况相同。与1脉冲情况相同的是,使用ECC导致期望脉冲长度及能耗的进一步降低,但此外,导致最坏情况下对脉冲长度的比值求平均上的大幅下降。
3脉冲写入方法以类似两脉冲写入方法的方式分析,不同之处在于:存储器元件状态的感测允许在离散时间T1及T2进行,0≤T1≤T2≤Tmax。期望总脉冲长度用下式给出:
Tavg(Tmax,T1,T2)=Fτ,σ(T1)T1+(Fτ,σ(T2)-Fτ,σ(T1)T2+(1-Fτ,σ(T2)Tmax.
对于对应于目标值Pb的给定值Tmax,Tavg在T1及T2上表现出深的全局最小值,该全局最小值容易通过相对于T1及T2取偏导且利用数值方法解出所得方程组来找出。
在连续反馈写入方法中,当设备状态被连续监控时,使用最大持续时间Tmax脉冲,所施加的电压在切换后即刻被切断。连续反馈写入方法的期望脉冲长度由下式给定
T avg ( T max ) = ∫ t = 0 T max tf τ , σ ( t ) dt + ( 1 - F τ , σ ( T max ) ) T max = 1 2 τe 1 2 σ 2 erfc ( - ln ( T max / τ ) + σ 2 2 σ ) + ( 1 - 1 2 erfc ( - ln ( T max / τ ) 2 σ ) ) T max .
当Tmax趋近无限大时,如所期望,以上表达式趋近即对数-正态密度ft,σ的平均。实际上,当Tmax/τ>1时,相当快速趋近这个极限。图9图示了对于连续写入方法,施加写电压的期望累加时间Tavg对最大施加时间Tmax的依赖性。
反馈在写操作的期望持续时间提供显著增益。这些增益直接地转换为期望能耗的减少及设备损耗的减少。ECC的使用进一步加强这些增益,有时达到显著裕度。此外,由于编码带来的Tmax的非常显著的缩短,导致系统吞吐量的相对应增益,即便写请求限于出现在至少间隔Tmax时间单位。为了让吞吐量也从Tavg的缩短中获益并提高超出Tmax限制的操作速率,可实现写入操作的排队或缓冲机制,因为在某些操作完成时,这些操作将耗时Tmax,达到更高速率的写请求将必须排队和等待。这种系统的缓冲需求及可靠性可使用队列理论工具分析。
考虑两脉冲方法,其具有参数T1、Tmax以及Tavg。为求简单起见,假设写请求以固定速率到达,具有A个时间单位的到达间隔时段。若A≥Tmax,则无需排队,故假定:A<Tmax。显然,对于任何其余机会受限的队列,A>T1(实际上,这来自众所周知的队列理论结果,且这也将从如下分析中透露,A>Tavg)。进一步简化的假设为,比值d=(Tmax-A)/(A-T1)为整数。因为比值Tmax/Tavg相当大,所以给定以Tmax的某个值获得目标BER的情况下,这不是非常限制性的假设。在多数情况下,Tmax可被稍微增加以使得d为整数。利用这些假设,在队列中的等待时间分析减少至研究简单整数值随机游动。
设wi表示代表第i个写请求队列中的等待时间的整数随机变量(实际等待时间为(A-T1)wi),并设p=P(ti=T1)其中ti为第i次写入的实际总脉冲长度,即第i个写请求的服务时间。设当a>b时,(a-b)+表示a-b,否则表示0。然后,使w0=0作为初始条件。
wi+1=(wi-Di)+,i≥1,
其中Di为随机变量,假设数值在{1,-d},P(Di=1)=P,及P(Di=-d)=1-p。按照先前假设,这些概率与i无关。随机游动wi为马尔科夫链,其对于足够大的p为持续性的,通常无限地返回状态wi=0。在这种假设下,所述链具有静态分布
P w = lim i → ∞ P ( w i = w ) .
显然,从wi=w+1通过Di=1可到达在1≤w≤d-1的范围中的状态wi+1=w。因此
Pw=pPw+1=p2Pw+2=...=pd-wPd==Pd-wu,1≤w≤d,
其中u=Pd。另一方面,状态w=0可从w=0或w=1且再次Di=1到达。因此,P0=PP0+pP1=pP0+pdu。对于P0求解
P 0 = p d 1 - p u
最后,对于w≥d,状态w可从w+1,Di=1到达,或从w-d,Di=-d到达,获得递归
Pw=(1-p)Pw-d+pPw+1w≥d
从以上表达式可获得生成函数的显式表达式为
G ( z ) = Σ w = 0 ∞ P w z w
从所述表达式,又可导出等待时间的期望值
E [ w ] = ( 1 - p ) ( 1 + d ) d 2 ( 1 - ( 1 - p ) ( 1 + d ) )
设W=(A-Ti)w且转换回时间单位,
E [ w ] = ( T avg - T 1 ) ( T max - A ) 2 ( A - T avg ) , T avg < A &le; T max
如所期望,当A趋近Tmax时(当A≥Tmax时无需队列),E[W]趋近于零;而当A趋近Tavg,时,E[W]接近无限大。按Little理论[3],队列大小的期望值Q由下式给定
E[Q]=E[W]/A.
从如上提供的表达式,显然变量u乘以全部概率Pw。考虑
G(z)=uG0(z)zi+uzd G1(z),
其中
G 0 ( z ) = u - 1 &Sigma; w = 0 d - 1 P w z w
G 1 ( z ) = u - 1 &Sigma; w = d &infin; P w z w - d
紧接着G0(z)的显式表达式,获得
G 0 ( z ) = p d 1 - p + pz p d - 1 - z d - 1 p - z
对于G1(z),应用G1(z)的表达式及如上提供的递归,调用u=Pd,获得如下表达式:
uG 1 ( z ) = &Sigma; w = d &infin; P w z w - d = ( 1 - p ) &Sigma; w = d &infin; P w - d z w - d + p &Sigma; w = d &infin; P w + 1 z w - d = ( 1 - p ) G ( z ) + ipz - 1 ( G 1 ( z ) - 1 ) = u ( 1 - p ) ( G 0 ( z ) + z d G 1 ( z ) ) + upz - 1 ( G 1 ( z ) - 1 ) .
重排各项,且在某些代数操作后,获得如下表达式:
G 1 ( z ) = p - ( 1 - p ) z G 0 ( z ) ( 1 - z ) - ( 1 - p ) ( 1 - z d - 1 ) = p - pz p - z ( g d ( z ) ( 1 - p ) - ( 1 - p d ) ) 1 - ( 1 - p ) g d + 1 ( z )
其中gh(z)=(1-zh)/(1-z),对于整数h≥1,从G1(z)的表达式的分子及分母消除共同因数(1-z)。如上表达式确定G(z)高达u的因数。设置G(1)=1,获得如下表达式
u=(1-p)((d+1)p-d)p-(d+1)
该表达式完成G(z)的确定。w的期望值由下式给定
E [ w ] = dG ( z ) dz | z = 1
,该表达式产生E[w]的第一提供表达式。然后,通过将d=(Tmax-A)/(A-T1)代入第一提供表达式,乘以时间标度A-T1,调用Tavg=pT1+(1-p)Tmax,而得出如上提供的E[W]的第二表达式。注意,为了使u为正,P>d/(d+1),导致A>Tavg
再次考虑离散式脉冲写入方法,中间介入读取来核实切换,但并非对脉冲数量进行明确限制,而是取而代之考虑对核实/读取操作施加惩罚,并确定遵照此惩罚的最佳脉冲方法。
设T1<T2<...<Tn-1<Tmax表示脉冲结束时间的序列,其也与读取一致,但不同之处在于:最终脉冲结束于Tmax,此处再无后续读取。因此,第一脉冲的持续时间为T1,第二脉冲的持续时间T2-T1等。如前述,假设:对于某个期望的原始比特错误率Pb=P,经由Tmax=pb -1(p),Tmax已经确定。进一步假设读操作耗时tr。因此,脉冲及读取的总期望时间惩罚可表示为
T avg ( T max , n , T 1 , . . . , T n - 1 ) = Pr ( T sw > T n - 1 ) [ T max + ( n - 1 ) t r ] + &Sigma; i = 1 n - 1 pr ( T i - 1 < T sw &le; T i ) [ T i + it r ]
其中T0=0及Tsw为用于切换的聚合脉冲持续时间的随机量。考虑
T * = min n , 0 < T 1 < . . . < T n - 1 < T max T avg ( T max , n , T 1 , . . . , T n - 1 )
在全部可能脉冲结束时间及脉冲数量上的最小平均脉冲及核实时间。
Ti限于小时间间隔t=Tmax/mmax某个正整数倍,如Tt=mit,且对mi为最优。于是,脉冲最大数量为Tmax/t=mmax。设表示在这种脉冲结束时间的约束之下所得最佳Tavg。显然,且可见
T ^ * &le; T * + t .
给定一未约束的脉冲结束时间集合T1,...,Tn-1,设为量化结束时间集合,而为T小于Tmax的元素。这个组成意味着:
n ^ &le; n
比较Tavg(Tmax,n,T1,…,Tn-1)与Tavg(Tmax,n,T1,....,Tn-1)可解译为随机变量f(Tsw)的期望值,其中f(x)为
f ( x ) = 1 ( x > T n - 1 ) [ T max + ( n - 1 ) t r ] + &Sigma; i = 1 n - 1 1 ( T i - 1 < x &le; T i ) [ T i + it r ]
并且类似地,把Tavg 解译为随机变量g(Tsw)的期望值,而g(x)为
对于任何0≤x≤Tmax,g(x)<f(x)+t,其借助于期望值解释,足以建立存在某些i使得Ti-1<x≤Ti,其中因此并且然后从意味着i>g得出i>j-1或i≥l。此外,因为在其他情况下不会在如上定义的量化结束时间T的集合中,所以属于的情况。把这两个事实结合在一起
f ( x ) = T i + it r > T ^ j - t + jt r = g ( x ) - t
对于g(x)<f(x)+t确定成立。相同的自变量几乎能够适用于
因此,目的是计算
T ^ * = min n , 0 < m 1 < . . . < m n - 1 < m max T avg ( T max , n , m 1 t , . . . , m n - 1 t ) .
这种计算的标准方法是动态规划。对于任何0≤m≤mmax及m=m0<m1<…<mn-1<mmax定义
T avg ( m , n , m 1 , . . . , m n - 1 ) = pr ( T sw > m n - 1 t ) Pr ( T sw > tm ) [ T max - tm + ( n - 1 ) t r ] + &Sigma; i = 1 n - 1 Pr ( m i - 1 t < T sw &le; m i t ) Pr ( T sw > tm ) [ ( m i - m ) t + it r ]
其对应于平均剩余写入时间,假设新脉冲开始于mt,随后脉冲结束时间{m,t},并假设在时间mt之前未发生切换。则定义
T ^ * ( m ) = min n , m < m 1 , . . . , m n - 1 < m max T avg ( m , n , m 1 , . . . , m n - 1 ) ,
作为在脉冲时间mt之后的脉冲结束时间的最佳选择(假设脉冲始于mt)。
显然,动态规划涉及:对于m’>m,基于递归地计算(m)。注意对于m=max-1,恰好有一个可能的脉冲结束时间,即结束于mmaxt的脉冲结束时间,使得
T ^ * ( m max - 1 ) = t .
对于m<mmax-1,可使用结束于mmaxt的单一脉冲,在这种情况下,
Tavg(m,1)=(mmax-m)t,
或可使用结束于中间时间的n≥2的脉冲。对于这种情况,结果表明:
min n &GreaterEqual; 2 , m < m 1 < . . . < m n - 1 < m max T avg ( m , n , m 1 , . . . , m n - 1 ) = min m < m 1 < m max m 1 t - mt + t r + Pr ( T sw > m 1 t ) Pr ( T sw > mt ) T * ( m 1 ) .
这显示如下:
min n &GreaterEqual; 2 , m < m 1 < . . . < m n - 1 < m max T avg ( m , n , m 1 , . . . , m n - 1 ) min m < m 1 < m max min n &GreaterEqual; 2 , m 2 < . . . < m max : m 2 > m 1 T avg ( m , m 1 , . . . , m n - 1 ) = min m < m 1 < m max min n &GreaterEqual; 2 , m 2 < . . . < m max : m 2 > m 1 Pr ( T sw > m n - 1 t ) Pr ( T sw > mt ) [ T max - mt + ( n - 1 ) t r ] + &Sigma; i = 1 n - 1 Pr ( m i - 1 t < T sw &le; m i t ) Pr ( T sw > mt ) [ ( m i - m ) t + ir t ] = min m < m 1 < m max min n &GreaterEqual; 2 , m 2 < . . . < m max : m 2 > m 1 m 1 t - mt + t r + Pr ( T sw > m n - 1 t ) Pr ( T sw > mt ) [ T max - m 1 t + ( n - 2 ) t r ] + &Sigma; i = 2 n - 1 Pr ( m i - 1 t < T sw &le; m i t ) Pr ( T sw > mt ) [ ( m i - m 1 ) t + ( i - 1 ) t r ] = min m < m 1 < m max m 1 t - mt + t r
+ min n &GreaterEqual; 2 , m 2 < . . . < m max m 2 > m 1 Pr ( T sw > m 1 t ) Pr ( T sw > mt ) ( Pr ( T sw > m n - 1 t ) Pr ( T sw > m 1 t ) ) [ T max - m 1 t + ( n - 2 ) t r ] + &Sigma; i = 2 n - 1 Pr ( m i - 1 t < T sw &le; m i t ) Pr ( T sw > m 1 t ) [ ( m i - m 1 ) t + ( i - 1 ) t r ] ) = min m < m 1 < m max m 1 t - mt + t r + Pr ( T sw > m 1 t ) Pr ( T sw > mt ) T * ( m 1 ) .
组合Tavg(m,1)=(mmax-m)t与初步提供的表达式 min n &GreaterEqual; 2 , m < m 1 < . . . < m n - 1 < m max T avg ( m , n , m 1 , . . . , m n - 1 ) 获得
T ^ * ( m ) = min { ( m max - m ) t , min m < m 1 < m max m 1 t - mt + t r + Pr ( T sw > m 1 t ) Pr ( T sw > mt ) T * ( m 1 ) } .
因此,对于m’>m,从可计算一直下降到m=0。对于每个m,通过保持追踪最优m1可找到最优脉冲结束时间,其中如果由第一项获得外部最小值,对应于结束于Tmax的一个脉冲,则最优m1可被视为mmax
很容易看出:所述算法的复杂度不比的运算差。相对于完整搜索,显著加速计算m1上的最小化的一种简单方式是,从m1=m+1开始对m1的每个连续较大值,计算运行最小值;并且当m1使得m1t-mt+t1超过运行最小值时,中止所述搜索。因为m1t-mt+t1随m1增加且成本的另一成分通常为非负,所以采用这种方式的中止保存了最优性。
各种写入方法的分析结果
图10提供了表格,显示用于将数据写入包括以对数-正态分布切换时间为特征的存储器元件的存储器的多种不同写入方法的比较。所述表格水平分割成两个水平区段1002和1004,水平区段1002显示对于各种写入方法的计算特性,其中不考虑结合监控来自存储器元件的反馈信号的方法的读取成本;而水平区段1004显示多脉冲写入方法的计算特性,其中读取成本被估计且包括于各种写入方法的特性计算。图10所显示的表格垂直切割成两个垂直区段,包括第一垂直区段1006,其中特性被计算以保证切换失败概率Pb=10-12;以及第二垂直区段1008,其中特性被计算以保证切换失败概率Pb=10-23。在每个水平区段的每个垂直区段中,或换言之,表格的每个单元(quadrant)象限中,对于每个所考虑的写入方法显示了Tavg、Tmax以及增益,明确被显示用于编码方法。第二水平区段1004显示为多脉冲写入方法(具有指定的Tmax,并且脉冲之间的读取成本等于τ的各个分数)所获得的特性。
如通过分析图10所提供的表格显示的数据可知的,已编码写入方法的增益G通常大于未编码写入方法的,并且已编码方法的平均或期望脉冲时间Tavg通常小于未编码方法的。在全部情况下,已编码方法的电压施加时间Tmax显著小于未编码方法的Tmax。甚至当计算中考虑读取成本时,也出现已编码方法相对于未编码方法的Tmax降低。此外,采用反馈的多脉冲方法的增益明显大于单个脉冲编码方法。
图11图形化地说明了图10所提供的表格中第一水平区段的数据。在图11中,切换失败概率相对于纵轴1102和每个位有期望的脉冲时间来绘制,相对于横轴1104来绘制。每个曲线(诸如,曲线1106)对八种不同写入方法的每一个图示了切换失败概率与间的函数关系。可见随所采用的脉冲数量的增加而显著降低;而已编码方法的值一般小于未编码方法的。
在Pb=10-23,已编码的两脉冲方法比未编码两脉冲方法提供3dB的附加增益,更值得注意的是:编码将最坏情况与平均的比率从约50∶1降至3∶1。实际上,两脉冲未编码方法具有增益只比1脉冲已编码方法多1.8dB。当比较3脉冲未编码方法与已编码方法时,编码提供期望总脉冲长度的附加增益(在Pb=10-23为1dB),以及最坏情况与平均之比的大的改进。实际上,如图11所示,对于所关注的Pb范围,3脉冲未编码曲线非常接近两脉冲已编码曲线,3脉冲未编码方法在Pb=10-23获得107∶1的最坏情况与平均之比,相对于两脉冲已编码方法的比率为3∶1。对于连续写入方法,快速收敛至对数-正态密度平均ft,σ的影响在图11可见,其中连续写入方法的曲线被视为实际上以垂直斜率下降,在未编码情况下(对于示例中使用的参数σ1),且对于已编码方法因此,平均脉冲长度实际上独立于目标BER,并在这种情况下,未编码方法与已编码方法之间的编码增益差异为-10log10R≈0.2dB,未编码方法更甚些。尽管如此,已编码方法还提供最坏情况与平均之比的大的改进:在Pb=10-23,从未编码情况的239∶1改进至已编码情况的6.9∶1。
使用连续反馈提供了优于3脉冲已编码方法的约2.3dB的附加编码增益(平均脉冲长度的比率为1.7∶1)。原则上,在离散脉冲设置中,这个间隙可通过任意增加脉冲数量而被缩小。事实上,连续脉冲情况可视为当脉冲数量趋近为无限时离散脉冲情况的极限。
概括而言,已经分析了目的在于致力解决由某些忆阻器设备的对数-正态切换行为所带来的挑战的两种机制的影响及交互。在各种设置中,编码的使用通过缩短平均和最坏情况切换时间,显著改进系统的总体性能。这些改进转化成节省能耗及设备损耗,以及显著增加写入吞吐量。采用反馈机制与错误校正编码的明智组合,忆阻器的对数-正态切换行为不应是满足现代存储系统的可靠性需求的障碍。
图12提供了表格,列出多脉冲写入方法的最大脉冲数量及平均脉冲数量,多脉冲写入方法为所考虑的、作为τ的各种不同分数的读取时间实现期望的切换失败概率。如在图12提供的表格中可见,最大脉冲数对于已编码方法比未编码方法显著地小。
图13显示对于未编码的两脉冲写入方法和已编码的两脉冲写入方法,期望的等候时间相对于写入到达间隔时间的图示。如在图13可知,对于全部写入到达间隔时间,已编码的两脉冲写入方法的期望等待时间比未编码的两脉冲写入方法期望等待时间显著地短。编码开销并入已编码方法的A*=A/R,而对于未编码方法为A*=A,其允许两种方法之间公平比较;时间Tmax及Tavg也被相似地缩放。信息写入吞吐量与1/A*成正比。这个吞吐量上编码的积极影响在所述图中是明显的,包括无队列系统和有队列系统两者。当使用队列时,期望值E[Q]提供了用于写请求的合适缓冲器的设计指导。
申请所涉及的电子数据存储设备的示例
图14图示了结合反馈信号和ECC编码这二者的数据存储设备。通过在写入之前使用反馈信号和编码数据,相对于当不采用ECC编码时所需要的Tmax(如前文讨论)最大延迟写等待时间Tmax显著降低,如图10提供的数据和如图11所示。最大写等待时间的降低及Tavg的降低导致对于数据存储设备的较短的平均及最大写周期,以及对应的较高数据输入带宽。对于全部目标存储器元件切换一完成,反馈信号就允许在存储器内切换特定存储器元件需要施加的写电压或其他力或梯度被终止或短路。使用ECC编码允许写电压施加的最大持续时间,或切换存储器元件的另一力或梯度施加持续时间显著降低,但仍对数据存储设备提供期望的比特错误率。图3A中,缩短Tmax将Tmax沿PDF的横轴向左移动,在经过TmaxPDF尾端内留下更多面积,其对应于高达Tmax的持续时间的写电压的施加期间不会发生的切换的概率。然而,使用ECC编码允许许多切换错误随后被校正,在读操作之后,把尾区域向回有效缩小至相应于期望的比特错误率水平。如下面所讨论的,同时使用反馈信号的监控和ECC编码还允许较小的缓冲器被用于引入写请求,降低数据存储设备的成本及复杂度。
表示一个示例的信息存储设备包括一个或多个二维存储器元件阵列1402。在图14中,每个存储器元件由磁盘(诸如,磁盘1404)表示。存储器元件排列成列和行,并在行内的存储器元件由一水平电极互连,而在每列的存储器元件由垂直电极或信号线互连。例如,在图14中,存储器元件1406-1413由水平信号线1414互连。存储器元件1413和1416-1423由水平信号线1424互连。第一解复器或其他控制元件1426控制施加至水平信号线的电压,并且第二解复器或其他控制元件1428控制施加至垂直信号线的电压。
如前文参考图5讨论的,每个存储器元件也产生反馈信号,所述信号输出至水平和垂直反馈信号线二者。在图14中,由存储器元件所产生的反馈信号显示为对角线段,诸如,从存储器元件1413发出的对角线段1429。在写操作期间,第一和第二控制器1426和1428监控这些反馈信号来产生返回至读/写控制器的写完成信号。当由读/写控制器1430连同要写入到数据存储设备的数据的数据存储单元的值一起提供数据存储单元地址给第一和第二控制元件1426和1428时,第一和第二控制器1426和1428施加适当电压至特定信号线以将对应于地址数据存储单元的存储器元件置到对应于要写入数据存储设备的数据内的位值的状态中。输入信息存储设备以写入1432的数据输入由写缓冲组件1434缓冲,写缓冲组件1434在环形缓冲器1436中缓冲输入数据。写缓冲组件允许由信息存储设备在短的突发间隔期间以比可随时间由信息存储设备适应的速率快的速率,接收写操作。写的突发可结束而存储在环形缓冲器内,并且于是,在接收突发的最终写操作后,写操作由读/写控制器尽可能快地处理,最终清空环形队列。读/写控制器从写缓冲组件接收写操作可用性信号1438,允许读/写控制器与写缓冲组件协作,以从环形队列解除写操作的排队,并把它们输入至ECC编码器1440。要写入所述设备的数据首先提供至ECC编码器1440,ECC编码器1440如前文讨论的编码数据成为然后传输至读/写控制器1430的一系列码字。读/写控制器不仅控制第一和第二控制器1426和1428以将数据写入数据存储设备,而且还控制第一和第二控制器1426和1428以从数据存储设备读取所存储的数据,并传输所读取的数据至ECC解码器1442,ECC解码器1442解码读取自数据存储设备的码字,且输出未编码数据1444。读/写控制器1430接收数据1446且输出数据1448,接收控制信号1450,并输出非数据信息1452,分别输出数据和控制信号1454和1456至第一和第二控制器1426和1428,并且分别从第一和第二控制器1426和1428接收数据和控制信号1458和1460。
在可替代的示例中,ECC编码器出现在写缓冲上游的输入序列中,已编码数据已经针对内部写操作而被排队,而非在之前描述的示例中未编码数据正在排队。在又一个可替代示例中,ECC编码器可并入到读/写控制器中,或出现在第一和第二控制器前面的输入序列内的附加位置。
在可替代的示例中,第一和第二控制器或读/写控制器使用前述多脉冲方法,迭代地将数据写入存储器元件,读回数据以确定写入是否已经成功。在这个可替代的示例中,存储器元件不产生反馈信号。作为替代,第一和第二控制器1426和1428施加多个写脉冲至存储器元件,在每个脉冲之后读取脉冲施加于的存储器元件的内容,以确定数据是否正确地已经写入。基于用于验证正确数据存储的多脉冲写入和介于其间读操作,第一和第二控制器产生返回至读/写控制器的写完成信号,和首次描述的示例一样,其中状态或存储器元件被连续监控。
注意:在下文讨论中,假设写操作包含高达某个最大数据量,其可在内部写操作中由第一和第二控制器写入一个或多个存储器元件阵列。因此,与写操作相关联的数据被ECC编码,并且然后传送至第一和第二控制器,以供写入一个或多个存储器元件阵列。由一个或多个存储器元件阵列提供的反馈信号指示整个内部写入已经是否成功。第一和第二控制器可向单个存储器元件以不同时间段施加写电压,或可在内部写操作期间,施加不同数量的脉冲至单个存储器元件。可替代地,更复杂的缓冲机制可用于存储与比在单次内部写操作中所能够写入数据的更大量的数据相关联的接收的写操作,并对与大量数据相关联的所接收写操作产生多种内部写操作。在内部写操作期间,第一和第二控制器通常并行控制至多个存储器元件的存储。
图15显示了写缓冲组件(图14中的1434)的操作的控制流程图。在步骤1502,初始化多个变量。变量“inPtr”设置为指向或包含环形缓冲器内的第一数据存储单元的地址。变量“outPtr”设置为等于变量“inPtr”。变量“full”设置为假(FALSE)。这个变量对应于由写缓冲组件发送至读/写控制器的信号,以指示环形缓冲器何时接近于满载。变量“avail”设置为假。这个变量相对应于由写缓冲组件发送至读/写控制器的信号,以指示何时写操作可用于递送至读/写控制器。变量“newWrite”设置为假,以及变量“writeDQ”也设置为假。变量“newWrite”对应于从外部设备发送的信号,指示写操作是期望的;而变量“writeDQ”相对应于由读/写控制器发送至写缓冲组件的信号,以指示所述读/写控制器已从所述环形缓冲器读取下一个读操作。
接着,在步骤1504-1508的连续循环中,写缓冲组件在步骤1505确定外部设备是否已经请求任何新的写操作,并在步骤1506通过调用例程“输入”处理这些写操作。在步骤1507,写缓冲组件还连续监控“writeDQ”信号;当读/写控制器已经处理下一个写操作时,通过调用例程“输出”来调整环形队列(1508)。
图16提供了例程“输入”(图15中的1506)的控制流程图。在步骤1602,例程“输入”确定所述环形队列是否已满。当存储于变量“outPtr”的值等于存储于变量“inPtr”的值递增1时,或当outPtr指向缓冲器内最末数据存储单元且inPtr指向缓冲器内第一数据存储单元时,环形队列就是满的。这决不应发生。然而,若出现这种条件,则信息存储设备会简单抛弃所接收的写操作,因为由于大量先前所接收的写操作当前存储在环形缓冲器内而引起无法处理所接收的写操作。接着,在步骤1604,例程“输入”将写操作存储在由变量“inPtr”所指向的环形队列的槽中,并且然后调整变量“inPtr”来指向随后的缓冲器槽。使用模运算来环形化线性缓冲器。其次,在步骤1605,例程“输入”将变量“avail”设置为真(TRUE),产生至读/写控制器的信号,指示下一个写操作为可用。如在步骤1606确定的,当在环形缓冲器中剩余两个或更少的空闲槽时,在步骤1608,例程“输入”将变量“full”设置为真,产生至读/写控制器的信号,指示尽可能快速地空出环形缓冲器,以防止漏掉随后接收的写操作。最后,在步骤1610,变量“newWrite”设置为假,使得随后可检测接收自外部设备的下一个写操作。
图17提供了例程“输出”(图15中的1508)的控制流程图。在步骤1702,变量“outPtr”通过模运算调整至指向读/写控制器从中接收写操作的环形缓冲器的槽之后的环形缓冲器的槽。如在步骤1704确定的,当空出环形缓冲器的槽已将空闲的环形缓冲器的槽的数量增至三个或更多时,则在步骤1706,变量“full”设置为假,以中断信号通知读/写控制器需要尽可能快地空出环形缓冲器。在步骤1708,变量“writeDQ”设置为假,来信号通知读/写控制器:在从写缓冲组件传输下一个写操作至所述读/写控制器后,所述环形队列已经被调整。在步骤1710,写缓冲组件确定环形缓冲器现在是否为空。如果如此,则在步骡1712,变量“avail”设置为假,来指示读/写控制器并无当前可用的写操作。
图18提供了控制流程图,图示了读/写控制器(图14的1430)的操作。在步骤1802,当供电启动或复位时,读/写控制器被初始化。然后在步骤1804-1808的连续循环中,读/写控制器监控由变量“avail”表示的信号及来自外部来源的读请求,当写请求可从写缓冲组件得到时,调用例程“写”(1806),而当接收到新的读请求时,调用例程“读”(1808)。
图19提供了例程“写”(图18的1806)的控制流程图。例程“写”包含步骤1902-1911的外连续循环,其包括步骤1906-1909的内循环。在步骤1903,当“avail”信号指示有写请求待处理时,例程“写”从环形缓冲器接收下一个写请求且使用ECC,编码与所述写请求相关联的数据。然后在步骤1904,例程“写”设置变量“writeDQ”为真,来信号通知写缓冲组件下一个写请求已经由读/写控制器接收,启用所述写缓冲组件来为所述写请求完成解除排队过程。在步骤1905,初始化计时器t,并且读/写控制器开始将与所述写请求相关联的数据写入存储器。当数据正被写入时,例程“写”监控对应于变量“full”的信号、来自第一和第二控制器(图14的1426和1428)的反馈指示、以及计时器t,以在无论何时结束被指示的情况下,终止写入操作。如在步骤1907确定的,当已经断言(assert)对应于变量“full”的信号时,读/写控制器立即终止尝试进行的写入,以处理且从所述环形队列中移除附加写请求,以允许引入的写请求由写缓冲组件排队。写入操作的提早结束可能导致一个或多个存储器元件切换失败。如前文讨论,当数据从存储器读回时,读/写控制器依赖于ECC编码来随后校正这些类型的数据破坏。如在步骤1908确定的,当来自第一和第二控制器(图14的1426和1428)的反馈指示写入已经成功时,则终止写入。否则,当计时器指示所述写入已经进行了等于或大于Tmax的时间时,如在步骤1909确定,则终止写入。在步骤1910,读/写控制器终止写操作,而如在步骤1911确定的,当仍有写请求待处理时,则控制返回步骤1903。否则,返回“写”。在图19中,写请求的数据由第一和第二控制器并行写入对应存储器元件。在某些示例中,写请求可能包含比单一并行写操作所能写入的数据更大量的数据,在所述种情况下,对应于图16的附加迭代循环,附加逻辑会被用于进行将与单一写请求相关联的全部数据写入对应的存储器元件所需的两个或更多的写操作。在某些可替代的示例中,存储器单元可串行而非并行写入。
在前述例程中,假设由例程“写”将与写操作对应的数据写入一个或多个存储器元件阵列比由例程“写入缓冲”来缓冲所接收的写操作明显消耗更长时间,并且因此当由例程“写”设置writeDQ为真时(在步骤1904),例程“写入缓冲”可缓冲下一个写操作,并处理缓冲器指针的调整,以及在例程写入可完成当前内部写操作且从事另一项操作前,通过调用例程“输出”,设置writeDQ为假。如果假设不能够被做出,则附加测试和步骤将用于适当地同步两个例程的操作,和/或附加同步信号将用于同步两个例程的操作。当然,总体上,上面使用的例程图示了可以采用逻辑电路实现的硬件设备的操作,其操作在较低实现层被同步。
图19提供了连续写入方法的总体描述,其中存储器元件的状态被连续监控。在前文讨论的采用多脉冲写入方法的可替代示例中,步骤1906-1909的内部循环会迭代直到写完成信号接收自读/写控制器(无论写是否成功),或直到满标志或信号被设置。
因此,通过除监控来自第一和第二控制器的反馈信号之外使用ECC,可使用比不使用ECC的情况下会被使用的环形缓冲器小的环形缓冲器。换言之,缓冲器大小可缩小至导致某个百分比的写操作提早结束的大小,在写操作期间与可接受的切换错误数量相比导致更大数量的切换错误。然而,当数据从存储器读回时,通过ECC解码器的错误校正能力,较大数量的切换错误随后被减少。
尽管已经就特定示例描述了本公开,但并非意图将本公开限于这些示例。对于本领域技术人员来说其修改将是显然的。例如,反馈信号和ECC编码二者的使用可用于多种不同类型的信息存储设备,信息存储设备包括具有非对称切换时间PDF的存储器元件,包括忆阻存储器元件、相变存储器元件以及其他类型的存储器元件。信息存储设备内采用的特定ECC代码及Tmax的特定值分别可设置为各种不同代码和计算值,以保证信息存储设备的比特错误率满足或超过比特错误率要求。在某些类型的信息存储设备中,根据依赖于动态BER要求、信息存储设备的寿命、特别是存储器元件寿命、在信息、存储设备上进行的读/写循环总数以及其他这种特性及参数,最大写电压施加时间Tmax和用于编码数据的ECC代码可被动态地复位或控制。
应当理解:所公开示例的在前描述被提供,以使任何本领域技术人员能够制造或利用本公开。对这些示例的各种修改对于本领域技术人员而言将是显然的,并且在不背离所述公开的精神和范围情形下,在此定义的通用原理可适用于其他示例。因此本公开并非意图限于在此示出的示例,而是包括了符合在此公开原理和新颖特征的最宽范围。

Claims (15)

1.一种数据存储设备,包括:
一个或多个存储器元件阵列,其均包括
材料,其通过施加切换引发的力或梯度至所述材料而在至少两个不同状态间切换,及
反馈信号;
写请求缓冲器,其缓冲所接收的写请求;
错误控制编码的编码器,其编码与所述写请求相关联的数据;及
读/写控制器,其将与从所述写请求缓冲器接收的所述写请求相关联的、由所述错误控制编码的编码器所编码的数据写入多个存储器元件,所述写入通过施加所述切换引发力或梯度至所述一个或多个存储器元件阵列直到多于最大容许数量的写请求已经排队至所述写请求缓冲器,反馈信号指示所述写操作已经完成,或所述切换引发力或梯度已经施加达最大施加时间。
2.如权利要求1所述的数据存储设备,其中所述存储器元件以对数-正态分布切换时间为特征。
3.如权利要求1所述的数据存储设备,其中所述最大施加时间比将为未编码的写操作提供指定的比特错误率的时间短。
4.如权利要求3所述的数据存储设备,进一步包括错误控制编码解码器,其解码由所述读/写控制器从所述一个或多个存储器元件阵列读取的数据。
5.如权利要求1所述的数据存储设备,其中所述写请求缓冲器的尺寸小于以下写请求缓冲器的尺寸:其将保证对应于在已接收的写请求的任何写操作不在成功完成或施加所述切换引发力或梯度达最大施加时间之前终止。
6.如权利要求5所述的数据存储设备,其进一步包括错误控制编码解码器,其解码由所述读/写控制器从所述一个或多个存储器元件阵列读取的数据,在解码过程中,尽管有作为对应于已接收写请求的写操作的终止结果发生的切换错误,也校正足够数量的错误位值来提供指定的比特错误率,所述已接收写请求在成功完成或施加切换引发力或梯度达最大施加时间之前终止。
7.如权利要求1所述的数据存储设备,其中所述数据存储介质为忆阻材料,
当横跨所述数据存储介质施加切换引发电压时,所述忆阻材料在第一电阻率状态和第二电阻率状态间切换。
8.一种写入数据至包括一个或多个存储器元件阵列的数据存储设备的方法,每个所述存储器元件阵列包括:材料,其通过施加切换引发力或梯度至所述材料而在至少两个不同态之间切换;及反馈信号,所述方法包括:
由错误控制编码的编码器编码与所接收的写请求相关联的数据;
将所述写请求排队至写请求缓冲器;及
通过施加切换引发力或梯度至所述一个或多个存储器元件阵列将所述已编码数据写入多个存储器元件,直到多于最大容许数量的写请求已经排队至所述写请求缓冲器,反馈信号指示所述写操作已经完成,或所述切换引发力或梯度已经施加了达最大施加时间。
9.如权利要求8所述的方法,进一步包括选择所述最大施加时间,其比被计算以保证用于将未编码数据写入所述一个或多个阵列的指定比特错误率的最小施加时间短,但足够长以使当所述数据随后读取自所述一个或多个阵列且由错误控制编码解码器解码时,用于将数据写入所述数据存储设备并从所述数据存储设备读回所述数据的总比特错误率小于或等于所述指定的比特错误率,其中,所述解码器校正读取自所述一个或多个阵列的数据中高达一定数量的位错误。
10.如权利要求8所述的方法,进一步包括为所述写请求缓冲器选择尺寸,所述尺寸比下述的写请求缓冲器尺寸小:其将保证对应于已接收写请求的任何写操作不在成功完成或施加所述切换引发力或梯度达最大施加时间之前终止,但足够大以使当数据随后读取自所述一个或多个阵列且由错误控制编码解码器解码时,用于将数据写入所述数据存储设备及从所述数据存储设备读回所述数据的总比特错误率小于或等于指定的比特错误率,其中,所述解码器校正读取自所述一个或多个阵列的数据中高达一定数量的位错误。
11.如权利要求8所述的方法,其中所述数据存储介质为忆阻材料,当横跨所述数据存储介质施加切换引发电压时,所述忆阻材料在第一电阻率状态与第二电阻率状态间切换。
12.如权利要求8所述的方法,其中所述存储器元件以对数-正态分布切换时间为特征。
13.如权利要求8所述的方法,其中当所述反馈信号被连续监控时,所述切换引发力或梯度连续地施加至所述一个或多个存储器元件阵列。
14.如权利要求8所述的方法,其中所述切换引发力或梯度在离散间隔期间施加至所述一个或多个存储器元件阵列,在离散间隔之间反馈信号用于确定所述数据是否已被成功写入。
15.一种数据存储设备,包括:
一个或多个存储器元件阵列,其均包括数据存储介质,所述数据存储介质被通过施加切换引发力或梯度至所述数据存储介质而在至少两个不同状态之间切换;
写请求缓冲器;
错误控制编码的编码器,其编码所接收的数据;及
读/写控制器,其通过以多个脉冲施加切换引发力或梯度至所述一个或多个存储器元件阵列而将由所述错误控制编码的编码器所编码的数据写入多个存储器元件,在每个脉冲后由读操作验证所述写操作已经成功,直到多于最大容许数量的写请求已经排队至所述写请求缓冲器,直到所述写操作已经完成,或直到最大数目的脉冲已经施加。
CN201180072584.8A 2011-07-27 2011-07-27 用于在基于忆阻器的数据存储设备内减少写缓冲器容量的方法和系统 Pending CN104025193A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2011/045529 WO2013015803A1 (en) 2011-07-27 2011-07-27 Method and system for reducing write-buffer capacities within memristor-based data-storage devices

Publications (1)

Publication Number Publication Date
CN104025193A true CN104025193A (zh) 2014-09-03

Family

ID=47601411

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180072584.8A Pending CN104025193A (zh) 2011-07-27 2011-07-27 用于在基于忆阻器的数据存储设备内减少写缓冲器容量的方法和系统

Country Status (6)

Country Link
US (1) US9405614B2 (zh)
EP (1) EP2737482A4 (zh)
KR (1) KR101620761B1 (zh)
CN (1) CN104025193A (zh)
TW (1) TWI520149B (zh)
WO (1) WO2013015803A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108427843A (zh) * 2018-03-14 2018-08-21 常州大学 一种具有隐藏共存非对称行为的三维忆阻Hindmarsh-Rose模型电路
CN112489717A (zh) * 2020-11-06 2021-03-12 苏州大学 基于蕴含逻辑的自容错忆阻存储单元纠错方法

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014108215A1 (en) * 2013-01-14 2014-07-17 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Asymmetrical memristor
US9269432B2 (en) * 2014-01-09 2016-02-23 Micron Technology, Inc. Memory systems and memory programming methods
EP3266023A4 (en) 2015-05-29 2018-10-24 Hewlett Packard Enterprise Development LP Memristance feedback tuning
WO2017010991A1 (en) 2015-07-14 2017-01-19 Hewlett Packard Enterprise Development Lp Determining first write strength
GB2562915B (en) * 2016-03-11 2021-04-07 Halliburton Energy Services Inc Bit-scrambling in differential pulse position modulation
CN105976023B (zh) * 2016-04-29 2018-03-20 华中科技大学 一种基于忆阻器的情景记忆电路及其操作方法
CN105976861B (zh) * 2016-05-17 2018-10-09 华南理工大学 一种利用spwm控制实现的大功率忆阻器电路
RU169207U1 (ru) * 2016-11-17 2017-03-09 Межрегиональное общественное учреждение "Институт инженерной физики" Устройство хранения и передачи данных с обнаружением ошибок
RU175054U1 (ru) * 2017-06-20 2017-11-16 Межрегиональное общественное учреждение "Институт инженерной физики" Устройство хранения и передачи данных с обнаружением одиночных и двойных ошибок
US11244720B2 (en) 2020-01-09 2022-02-08 Kookmin University Industry Academy Cooperation Foundation Electronic device and operating method of electronic device

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020181311A1 (en) * 2001-05-29 2002-12-05 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory unit in which power consumption can be restricted
US20060044878A1 (en) * 2004-09-02 2006-03-02 Perner Frederick A Programming of programmable resistive memory devices
CN1881455A (zh) * 2005-06-16 2006-12-20 联发科技股份有限公司 产生错误更正码的方法与系统
CN101512661A (zh) * 2006-05-12 2009-08-19 爱诺彼得技术有限责任公司 用于存储设备的失真估计与纠错编码的组合
US20100162068A1 (en) * 2008-12-19 2010-06-24 Kabushiki Kaisha Toshiba Memory device
CN101916211A (zh) * 2010-07-16 2010-12-15 中国人民解放军国防科学技术大学 一种基于反馈的动态分级数据存储设备可靠性保证方法
CN102073603A (zh) * 2009-11-24 2011-05-25 联发科技股份有限公司 多通道存储装置与访问多通道存储装置的方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100843209B1 (ko) 2006-11-02 2008-07-02 삼성전자주식회사 버퍼 메모리를 포함하는 저항형 메모리 장치, 저항형메모리 장치를 포함하는 메모리 시스템, 및 저항형 메모리장치의 데이터 기입/독출 방법
US8139432B2 (en) 2006-12-27 2012-03-20 Samsung Electronics Co., Ltd. Variable resistance memory device and system thereof
KR100855585B1 (ko) 2007-01-23 2008-09-01 삼성전자주식회사 소오스 라인 공유구조를 갖는 저항성 랜덤 억세스 메모리및 그에 따른 데이터 억세스 방법
EP1947652A1 (en) * 2007-09-13 2008-07-23 STMicroelectronics S.r.l. Phase-change memory device with error correction capability
JP5197448B2 (ja) * 2009-03-13 2013-05-15 株式会社東芝 抵抗変化メモリ装置
US8199556B2 (en) 2009-09-22 2012-06-12 Micron Technology, Inc. Methods of reading and using memory cells

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020181311A1 (en) * 2001-05-29 2002-12-05 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory unit in which power consumption can be restricted
US20060044878A1 (en) * 2004-09-02 2006-03-02 Perner Frederick A Programming of programmable resistive memory devices
CN1881455A (zh) * 2005-06-16 2006-12-20 联发科技股份有限公司 产生错误更正码的方法与系统
CN101512661A (zh) * 2006-05-12 2009-08-19 爱诺彼得技术有限责任公司 用于存储设备的失真估计与纠错编码的组合
US20100162068A1 (en) * 2008-12-19 2010-06-24 Kabushiki Kaisha Toshiba Memory device
CN102073603A (zh) * 2009-11-24 2011-05-25 联发科技股份有限公司 多通道存储装置与访问多通道存储装置的方法
CN101916211A (zh) * 2010-07-16 2010-12-15 中国人民解放军国防科学技术大学 一种基于反馈的动态分级数据存储设备可靠性保证方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108427843A (zh) * 2018-03-14 2018-08-21 常州大学 一种具有隐藏共存非对称行为的三维忆阻Hindmarsh-Rose模型电路
CN112489717A (zh) * 2020-11-06 2021-03-12 苏州大学 基于蕴含逻辑的自容错忆阻存储单元纠错方法
CN112489717B (zh) * 2020-11-06 2023-09-01 苏州大学 基于蕴含逻辑的自容错忆阻存储器单元纠错方法

Also Published As

Publication number Publication date
KR20140033215A (ko) 2014-03-17
TW201320097A (zh) 2013-05-16
TWI520149B (zh) 2016-02-01
WO2013015803A1 (en) 2013-01-31
EP2737482A1 (en) 2014-06-04
US20140149824A1 (en) 2014-05-29
KR101620761B1 (ko) 2016-05-23
US9405614B2 (en) 2016-08-02
EP2737482A4 (en) 2015-05-06

Similar Documents

Publication Publication Date Title
CN104025193A (zh) 用于在基于忆阻器的数据存储设备内减少写缓冲器容量的方法和系统
CN104246706B (zh) 使用存储器特定奇偶校验矩阵的数据编码器和解码器
CN104067233B (zh) 用于多分层错误校正的系统、方法和设备
CN104081358B (zh) 用于解码具有多个奇偶校验段的码字的系统、方法和设备
Zhou et al. Error-correcting schemes with dynamic thresholds in nonvolatile memories
CN102823141B (zh) 用于固态存储器件的两级bch码
Kayser et al. Multiple-write WOM-codes
Namba et al. Non-binary orthogonal latin square codes for a multilevel phase charge memory (PCM)
CN102436852A (zh) 一种纠正固定错误的数据校验与纠错方法
CN103929211B (zh) 一种bch编码方案自适应调整方法及系统
CN115858235B (zh) 循环冗余检验处理方法及装置、电路、电子设备和介质
US8861256B2 (en) Data storage in memory array with less than half of cells in any row and column in low-resistance states
CN103703513A (zh) 包括以潜在大切换等待时间为特征的存储器元件的高效数据存储器件
KR20160004338A (ko) 조기 디코딩 종료 검출을 갖는 디코더
US8938575B2 (en) Minimized half-select current in multi-state memories
Gad et al. Rank-modulation rewriting codes for flash memories
Zhou et al. Balanced modulation for nonvolatile memories
CN103151078B (zh) 一种存储器检错纠错码生成方法
Zhou et al. Nonuniform codes for correcting asymmetric errors in data storage
CN101431340A (zh) 一种里德-所罗门码的快速自适应置信度传播译码方法
Yi et al. Estimation of On-demand Scrubbing Points in Phase-Change Memory without Read Counter
ANUSHA et al. High Speed Fault Tolerant Architecture for Multi Level Phase Change Memory
Luo et al. Deep Learning-Aided Quantizer Design for Non-Volatile Memories with Unknown Offset
Li et al. Efficient LDPC Code Design for Combating Asymmetric Errors in STT-RAM
Machireddy et al. Guessing the Code: Learning Encoding Mappings Using the Back Propagation Algorithm

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
AD01 Patent right deemed abandoned
AD01 Patent right deemed abandoned

Effective date of abandoning: 20170524