CN103703513A - 包括以潜在大切换等待时间为特征的存储器元件的高效数据存储器件 - Google Patents

包括以潜在大切换等待时间为特征的存储器元件的高效数据存储器件 Download PDF

Info

Publication number
CN103703513A
CN103703513A CN201180072605.6A CN201180072605A CN103703513A CN 103703513 A CN103703513 A CN 103703513A CN 201180072605 A CN201180072605 A CN 201180072605A CN 103703513 A CN103703513 A CN 103703513A
Authority
CN
China
Prior art keywords
switching
data
write
data storage
memory elements
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
CN201180072605.6A
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 CN103703513A publication Critical patent/CN103703513A/zh
Pending legal-status Critical Current

Links

Images

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/04Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects
    • 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
    • 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/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • 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)
  • Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

在本申请中公开的一个示例是电子数据存储器件,其包括存储器元件的一个或多个阵列,每个存储器元件包括:数据存储介质,其通过导致切换的力或梯度向所述数据存储介质的施加而在两个不同的状态之间切换;顶部控制元件和底部控制元件,导致切换的力或梯度通过顶部控制元件和底部控制元件被施加;以及反馈信号。该数据存储器件还包括对接收的数据进行编码的错误控制编码编码器和读/写控制器,读/写控制器通过向存储器元件的所述一个或多个阵列施加导致切换的力直至反馈信号指示写操作已完成或直至导致切换的力或梯度已被施加达最大施加时间而将从错误控制编码编码器接收的已编码数据写入多个存储器元件。

Description

包括以潜在大切换等待时间为特征的存储器元件的高效数据存储器件
技术领域
本申请涉及将数据存储在非线性数据存储材料、包括忆阻数据存储材料中的器件,并且特别地涉及用于改善包括非线性数据存储材料的存储器元件的潜在长切换时间的效果的方法和系统。
背景技术
电子电路元件的尺寸在过去的半个世纪中已经快速地减小。现在在集成电路内以亚微尺度尺寸来制造熟悉的电路元件,包括电阻器、电容器、电感器、二极管以及晶体管,它们曾经是被用手焊接到大尺度电路中的大尺度器件。基于光刻法的半导体制造技术能够产生每平方厘米具有数千万个电路元件的集成电路。电路元件尺寸的稳定减小和集成电路的部件密度的增加已使得能够实现集成电路可以用以操作的时钟速度的快速增加以及集成电路和基于集成电路的电子器件的功能、计算带宽、数据存储容量以及工作效率的巨大增加。
遗憾的是,正在接近对使用光刻方法制造的集成电路内的部件密度的进一步增加的物理极限。最终,光刻方法受到通过光刻掩膜以对光致抗蚀剂进行定影和蚀刻的辐射波长的约束。此外,随着电路线路和部件的尺寸进一步减小至纳米级尺寸,由于纳米级部件的相对高的电阻而引起的功率损耗和通过隧道的电流泄露正在针对用传统集成电路制造和设计方法来进一步减小部件尺寸和增加部件密度提供挑战。
对增加电路密度的挑战已产生了纳米级电路和电路元件的设计和制造的全新方法。研究和开发工作目前正被花费在通过纳米级部件的自动组装、纳米级压印及其他相对新的方法来创建极其稠密的纳米级电子电路。另外,已经发现了在纳米级尺寸工作的新型电路元件,包括可以被用作双稳态纳米级存储器元件的忆阻切换材料。遗憾的是,忆阻切换材料及其他候选双稳态存储器元件材料(其以对为了改变材料的状态而施加的施加电压、温度及其他力和梯度的非线性响应为特征)常常展示出相对宽地分布的不对称概率密度函数(“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中的1430)的操作的控制流程图。
图16提供了用于例程“写”(图15中的1506)的控制流程图。
具体实施方式
本申请针对将数据存储在以相对宽和/或不对称的切换时间概率密度函数为特征的存储器元件中的电子数据存储器件。这些类型的存储器元件可展示出明显大于平均切换时间的最坏情况切换时间,这些类型的存储器元件中的许多结合了非线性、双稳态材料,包括忆阻材料。概率分布反映在存储器元件被反复地从第一双稳态状态切换至第二双稳态状态时观察到的切换时间。该概率分布还反映在向大量的存储器元件施加切换电压、电流或其他力或梯度时大量单独存储器元件的所观察到的切换时间。潜在长切换时间对于常规数据存储器件而言导致相对长的切换周期和相应地低的数据存储输入带宽。
下面在六个小节中讨论本申请所针对的电子数据存储器件:(1)具有不对称分布切换时间的存储器元件的概述;(2)错误控制编码;(3)假定写方法;(4)对各种写方法的分析;(5)对各种写方法的分析的结果;以及(6)本申请所针对的电子数据存储器件的示例。
具有不对称分布切换时间的存储器元件的概述
图1A-B图示出以两个双稳定电子状态为特征的示例纳米级单比特数据存储器件。图1A示出了处于相对高电阻状态的器件且图1B示出了处于相对低电阻状态的器件。电极之间的电介质材料的电阻率能够被以电子方式感测,并且因此图1A-B中所示的两个不同电阻状态能够用来存储单比特的信息。
图1A-B两者使用相同的图示惯例。在图1A中,电介质材料102被夹在两个导电电极104和106之间。在图1A中示出了覆盖双稳态电介质材料102和在其下面的电极的那些部分。一般地,电极可以是纳米线或其他导电元件,其将纳米级电子器件与其他纳米级电子器件、纳米级电路以及最终的微尺度和大尺度电路电互连。在图1中,将电介质材料102示为具有两个不同部分:(1)低电阻率部分108和较高电阻率部分110。低电阻率部分是耗尽区,作为一个示例,其包括促进电流传导的氧空穴。电介质材料的较高电阻率部分110缺少空穴,并且因此具有未掺杂半导体或电介质物质的传导性。当在向上垂直的方向或z方向上跨电介质材料两端施加足够大量值的电压时,在图1A-B中,能够使氧空穴在如图1B中所示的两个电极之间的电介质材料内重新分布。氧空穴的重新分布导致遍及整体具有相对低的电阻的电介质材料。在相反方向上施加足够大的电压或在图1B中的向上垂直的方向上施加负电压导致迫使空穴将其本身分布得更接近于下电极,如在图1A中那样。
图2示出了图1A-B中所示的双稳态纳米级电子器件的电流对比电压的性质。具有相对大斜率的那部分I-V曲线202是对应于图1B中所示的纳米级电子器件的低电阻状态的那部分I-V曲线。此曲线的斜率与两个电极之间的电介质材料的电导率成比例且与其电阻率成反比。具有小量值斜率的那部分I-V曲线204对应于图1A中所示的纳米级电子器件的高电阻状态。在电压轴208和电流轴210的原点206处开始,并且假设纳米级电子器件是图1A中所示的高电阻状态,从下电极向上电极的增大的正电压的施加导致跨电介质材料的电流的非常小的增加,如I-V曲线的右侧部分204所表示的,直至施加的正电压接近于电压Vw + 212为止,在该点处,氧空穴遍及整个电介质或半导电材料快速地重新分布,作为其结果,电流快速地增加,如I-V曲线的几乎垂直的部分214所表示的,直至在点216处达到表示低电阻状态的那部分I-V曲线。正电压的进一步增加导致沿着低电阻状态I-V曲线的远右侧部分220的电流的相对大的相应增加,直至达到电压VD + 222,在该点处,器件由于作为由通过器件的高电流引起的电阻性加热的结果的过度热量的产生而失灵。一旦达到低电阻状态,在点216处,然后随着跨电极两端施加的电压的减小,遵循向左侧下降回到原点206的低电阻状态I-V曲线202,并且随着电压进一步减小至具有增大的量值的负电压,电流在方向上切换并在量值方面增大至点224,在该点处,氧空穴再次重新分布回到接近于下电极的稠密层,如图1A中所示,从而导致流过器件的电流的量值的快速减小和到点226处的高电阻状态的返回。跨器件两端施加的负电压的量值的进一步增加最终导致电压VD - 230,在该点处器件再次由于电阻性加热而失灵。
纳米级电子器件从低电阻状态过渡至高电阻状态时的电压被称为Vw - 232。选择高电阻状态以表示布尔值“0”并选择低电阻状态以表示布尔值“1”,可以将正电压Vw +的施加视为写1操作,并且可以将负电压Vw -的施加视为写0操作。中间量值的电压VR 236的施加可以用来询问当前存储在纳米级电子器件中的值。当向器件施加电压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而言在0与施加时间之间的PDF下面的面积接近于1.0且在施加持续时间右侧的PDF下面的面积接近于0的持续时间。图3B示出了用于图3A中所示的对数正态分布PDF的相应累积分布函数(“CDF”)。竖直轴314表示忆阻存储器元件的切换时间tsw小于或等于时间t的概率,并且水平轴表示时间t。CDF展示出到水平短划线的相对延伸的浅接近310,该水平短划线表示对应于PDF的延伸的右侧拖尾的1.0的概率。
下面提供了对忆阻存储器元件的PDF进行建模的适当表达式:
接下来提供了对忆阻存储器元件的CDF进行建模的适当表达式:
Figure 2011800726056100002DEST_PATH_IMAGE004
在以上表达式中,函数erfc表示补余误差函数。可以将PDF和CDF视为用于
Figure 2011800726056100002DEST_PATH_IMAGE006
的分布的表达式,其中,ln(
Figure 19741DEST_PATH_IMAGE006
)的中值是0且ln()是高斯分布的。比
Figure 654302DEST_PATH_IMAGE006
表示用中值切换时间τ归一化的切换时间。在某些类型的忆阻存储器元件中,用以下表达式对参数τ进行建模:
Figure 2011800726056100002DEST_PATH_IMAGE008
τ ON是用于正施加电压的τ参数,正施加电压将忆阻存储器元件切换至ON(开)或“1”状态,并且τ OFF是用于将忆阻存储器元件从“1”或ON状态切换至“0”或OFF(关)状态的负施加电压的参数τ。常数a ONa OFFb ONb OFF是凭经验确定的正实常数且v是施加的切换电压。
存在在各种实施例中采用的两个用于使用以对数正态和/或宽分布切换时间PDF为特征的存储器元件设计并产生具有期望的数据输入带宽的成本有效的存储器及其他数据存储器件的方法。这两个方法可以每个单独地被使用或组合地被使用。图4图示出用于改善忆阻存储元件及其他非线性数据存储材料所展示的切换时间的对数正态分布的效果的两个方法中的第一个。图4示出了被夹在两个导体404和406之间的单个一比特存储器元件402,通过这两个导体404和406来向该存储器元件施加读和写电压。另外,存储器元件与电路元件408相关联,电路元件408在图4中被建模为输出取决于两个输入信号412和414之间的电压差的反馈信号410的电路元件。在此模型中,例如,当通过导体404和406来施加正写电压且存储器元件402处于两个双稳态电阻状态中的第一个时,反馈信号可具有一个电压值,并且当通过导体404和406施加写电压且存储器元件402处于两个双稳态电阻状态中的第二个时时可具有不同的电压值。反馈信号410因此将存储器元件的当前状态告知写控制器或其他存储器电路。作为一个示例,这允许向存储器元件施加写电压达到将存储器元件从第一状态切换至第二状态所需的那么长的时间。因此,作为一个示例,不是施加写电压达到足以确保存储器在某个确定度上已切换的足够时间(其中,该足够时间是根据表征存储器元件的PDF计算的),而是施加写电压达到足以实际上切换存储器元件的足够时间。如上文参考图3A所讨论的,确保在高确定度下切换所需的写电压施加时间可能是特定忆阻存储器元件的平均切换时间的许多倍,并且因此反馈信号一般地导致明显较短的平均电压施加时间。
图5图示出用以改善用于忆阻存储器元件及其他双稳态数据存储材料的对数正态分布切换时间的效果的第二种方法。在图5中,将表示为比特值的长阵列(其中阵列中的每个单元存储单个比特值)的二进制数据502的输入量分解成长度为k的多个子阵列504-507。这k个阵列然后使用许多不同类型的错误控制码(“ECC”)中的一个被编码,这导致r个冗余比特到长度为k的每个子阵列510的添加。已编码子阵列然后被存储在存储器512中。当在读操作514期间从存储器获取存储的数据时,由解码逻辑516将已编码存储的信息解码以产生k长度子阵列520-523。一般地,如在以下小节中所讨论的,信息的r个冗余比特到每个k长度子阵列的添加允许每个k长度子阵列中的达到一定数目的被不正确存储或不正确读取的比特被解码逻辑校正。因此,在写/读过程中,一定数目的比特错误可被存储器损坏而不导致错误数据。作为一个示例,通过使用ECC可显著地缩短在其期间施加写电压的时间长度,同时实现了通过使用写电压的较长施加、但写入并读取未编码的信息所实现的相同错误率。
错误控制码
用于错误控制编码的卓越参考是教科书“Error Control Coding: Fundamentals and Applications”,Lin and Costello, Prentice-Hall, Incorporated, New Jersey, 1983和“Introduction to Coding Theory”,Ron M,Roth, Cambridge University Press, 2006。接下来提供在错误控制编码中所使用的检错和纠错技术的简要描述。从上文参考的教科书或从许多其他教科书、论文以及本领域中的杂志文章可以获得附加细节。
错误控制编码技术系统地向纯文本消息中引入补充比特或符号,或者使用与绝对需要的数目相比更大数目的比特或符号对纯文本消息进行编码,以便在已编码消息中提供信息以允许检测且在某些情况下校正在存储或传输中出现的错误。当将代码字视为矢量空间中的矢量且代码字之间的距离是从代码字的矢量减法导出的度量时,补充的或超过绝对需要的比特或符号的一个效果是增加有效代码字之间的距离。
在描述检错和纠错时,描述将作为一个或多个消息被发射、存储和获取的数据是有用的,其中,消息
Figure 2011800726056100002DEST_PATH_IMAGE010
包括作为域F的元素的符号的有序序列
Figure 987194DEST_PATH_IMAGE010
i 。可以将消息
Figure 240714DEST_PATH_IMAGE010
表示为:
Figure 2011800726056100002DEST_PATH_IMAGE012
其中
Figure 2011800726056100002DEST_PATH_IMAGE014
域F是在乘法和加法下闭合且包括乘法逆元素和加法逆元素的集合。在计算检错和纠错中,常见的是采用有限域GF(p m ),包括大小等于素数p的m次幂的整数的子集,其中加法和乘法算子被定义为以度m的GF(p)上的不可约多项式为模的加法和乘法。在实践中,一般采用二元域GF(2)或二元扩展域GF(2m),并且随后的讨论假设采用域GF(2)。一般地,将原始消息编码成消息c,消息c也包括如下表示的域GF(2)的元素的有序序列:
Figure 2011800726056100002DEST_PATH_IMAGE016
其中
Figure 2011800726056100002DEST_PATH_IMAGE018
块编码技术分块地对数据进行编码。在本讨论中,可以将块视为包括固定数目的符号k的消息
Figure 876226DEST_PATH_IMAGE010
,其被编码成包括n个符号的有序序列的消息c。已编码消息c一般地包含比原始消息
Figure 143260DEST_PATH_IMAGE010
更大数目的符号,并且因此n大于k。已编码消息中的r个额外符号被用来载送冗余校验信息以允许以极高的检测概率来检测且在许多情况下校正在传输、存储以及获取期间出现的错误,其中,r等于n-k。
在线性块码中,2k个代码字形成域GF(2)上的所有n元组的矢量空间的k维子空间。代码字的汉明(Hamming)权值是代码字中的非零元素的数目,并且两个代码字之间的汉明距离是其中两个代码字不同的元素的数目。例如,考虑以下两个代码字a和b,假定元素来自二元域:
Figure 2011800726056100002DEST_PATH_IMAGE020
代码字a具有汉明权值3,代码字b具有汉明权值2,并且代码字a和b之间的汉明距离是1,因为代码字a和b在第四个元素中不同。常常用三元素元组[n,k,d]来指示线性块码,其中,n是代码字长度,k是消息长度,或者等效地是代码字的数目的以2为基数的对数,并且d是不同代码字之间的最小汉明距离,其等于最小汉明权值,代码中的非零代码字。
当在数据的传输、存储以及获取期间未出现错误时,可以如下那样以标记方式来描述用于传输、存储以及获取的数据编码以及已编码数据的后续解码:
Figure 2011800726056100002DEST_PATH_IMAGE022
其中,c(s)是传输之前的已编码消息,并且c(r)是最初获取或接收的消息。因此,初始消息被编码以产生已编码消息c(s),其随后被发射、存储或被发射和存储,并且然后随后被获取或作为初始接收的消息c(r)被接收。当未被破坏时,初始接收的消息c(r)然后被解码以产生原始消息
Figure 591427DEST_PATH_IMAGE023
。如上文所指示的,当未出现错误时,原始已编码消息c(s)等于初始接收的消息c(r),并且该初始接收的消息c(r)被直接解码成原始消息
Figure 260306DEST_PATH_IMAGE023
,而无需纠错。
当在已编码消息的传输、存储或获取期间出现错误时,可以如下那样表示消息编码和解码:
Figure DEST_PATH_IMAGE025
因此,如上所述,最后的消息
Figure 692818DEST_PATH_IMAGE023
(r)可能等于也可能不等于初始消息
Figure 447147DEST_PATH_IMAGE023
(s),这取决于用来对原始消息
Figure 121842DEST_PATH_IMAGE023
(s)进行编码并将初始接收的消息c(r)解码或重构以产生最后接收的消息
Figure 723856DEST_PATH_IMAGE023
(r)的检错和纠错技术的保真度。检错是确定下式的过程:
Figure DEST_PATH_IMAGE027
而纠错是从被破坏的初始接收的消息重构初始的已编码消息的过程:
Figure DEST_PATH_IMAGE029
该编码过程是用来将被符号化为的消息变换成已编码消息c的过程。替换地,可以将消息
Figure 628282DEST_PATH_IMAGE023
视为包括来自由F的元素组成的字母表的符号的有序集的字,并且可以将已编码消息c视为也包括来自F的元素的字母表的符号的有序集的代码字。字
Figure 903405DEST_PATH_IMAGE023
可以是选自F的元素的k个符号的任何有序组合,而代码字c被定义为经由编码过程的选自F的元素的n个符号的有序序列:
Figure DEST_PATH_IMAGE031
线性块编码技术通过将字
Figure 484559DEST_PATH_IMAGE023
视为k维矢量空间中的矢量并将矢量
Figure 819726DEST_PATH_IMAGE023
乘以生成矩阵来对长度k的字进行编码,如下所示:
Figure DEST_PATH_IMAGE033
以标记方式展开以上等式中的符号产生以下替换等式中的任一个:
Figure DEST_PATH_IMAGE037
其中 g i  = (g i,0g i,1g i,2 . . . g i,n-1)。
用于线性块码的生成矩阵G可以具有以下形式:
Figure DEST_PATH_IMAGE039
或者替换地:
Figure DEST_PATH_IMAGE041
因此,可以将生成矩阵G置于用k×k单位矩阵I k,k 补充的矩阵P的形式中。替换地,生成矩阵G可以具有以下形式:
Figure DEST_PATH_IMAGE043
由此形式的生成矩阵生成的代码被称为“系统码”。当将具有以上第一形式的生成矩阵应用于字
Figure 203692DEST_PATH_IMAGE023
时,结果得到的代码字c具有以下形式:
其中
Figure DEST_PATH_IMAGE047
。通过使用第二形式的生成矩阵,生成具有拖尾奇偶校验比特的代码字。因此,在系统线性块码中,代码字包括r个奇偶校验符号c i 、后面是包括原始字
Figure 79244DEST_PATH_IMAGE023
的k个符号,或者是包括原始字
Figure 577221DEST_PATH_IMAGE023
的k个符号、后面是r个奇偶校验符号。当未出现错误时,原始字或消息
Figure 785087DEST_PATH_IMAGE023
以明文形式出现在相应的代码字内并从相应的代码字中被容易地提取。奇偶校验符号经证明是原始消息或字
Figure 735725DEST_PATH_IMAGE023
的符号的线性组合。
第二有用矩阵的一个形式是奇偶校验矩阵H r,n ,其被定义为:
或者等价地,
Figure DEST_PATH_IMAGE051
奇偶校验矩阵可以用于系统性检错和纠错。获取和纠错涉及到根据最初接收或获取的消息c(r)来计算校验子S,如下所示:
Figure DEST_PATH_IMAGE053
其中H T 是奇偶校验矩阵H r,n 的转置矩阵,其被表示为:
Figure DEST_PATH_IMAGE055
请注意,当采用二元域时,x = -x,因此一般地不示出上文在H T 中示出的负号。
校验子S被用于检错和纠错。当校验子S是全0矢量时,在代码字中未检测到错误。当校验子包括具有值“1”的比特时,指示错误。存在用于根据校验子和代码字来计算估计的错误矢量
Figure DEST_PATH_IMAGE057
的技术,其在通过模2加法被添加到代码字时生成对原始消息
Figure 431280DEST_PATH_IMAGE023
的最佳估计。在上面提到的教科书中提供了用于生成错误矢量
Figure 222912DEST_PATH_IMAGE057
的细节。请注意,可以检测多达某个最大数目的错误,并且可以校正与比可以检测的错误的最大数目更少的错误。
假定写方法
图6A-B图示出切换脉冲到忆阻存储器元件或其他非线性数据存储材料的施加。对于大部分以下讨论而言,考虑切换脉冲或多个切换脉冲的施加。切换脉冲可以是正电压v ON 602达到持续时间t 604的施加或负电压v OFF 606达到持续时间t 608的施加。在任一情况下,从τ ON τ OFF 中选择适当的τ参数以便计算适当的对数正态切换时间PDF和相应的CDF,由其可以确定脉冲的持续时间T,其中,T以平均切换时间的倍数为单位,其提供在对应于最大期望比特错误率(“BER”)的指定最小切换概率以上的存储器元件进行切换的概率。
根据上文所讨论的对数正态CDF来计算用于给定存储器元件的切换失败概率P b (T)或用于多存储器元件器件的比特错误率,如下所示:
Figure DEST_PATH_IMAGE059
其中
Figure DEST_PATH_IMAGE061
是上文所讨论的CDF。在以下讨论中,为了简单起见,忽视开切换和关切换之间的不对称,如对于其中成功施加的写操作不改变存储器元件的状态且因此写操作的失败不改变存储器元件的状态的情况而言那样。忽视这些情况并不改变下面所讨论的各种方法之间的比较。在以下讨论中,将忆阻存储器元件及其他非线性数据存储材料的切换失败建模为二元对称有噪声通道。
在以下讨论中,当采用ECC时,假设代码C是[n,k,d]代码,并且因此可以校正在写和/或读每个代码字时发生的多达(d-1)/2个比特错误。当然,从比特错误中恢复的能力以被添加到长度为k的每组二元信息比特的冗余比特r为代价而出现,从而导致被定义为下式的信息率R:
信息率= R = k/n
对于已编码信息而言R<1
对于未编码信息而言R=1。
如上文所讨论的,当将未编码信息存储到存储器中并从存储器中获取未编码信息时,来自存储器的所获取的信息中的错误比特的分数是P b ,即切换失败的概率或BER,其中假设在存储信息的读取期间未发生错误。当已编码信息被存储到存储器中、随后被获取并被纠错解码器处理时,BER
Figure DEST_PATH_IMAGE063
是:
Figure DEST_PATH_IMAGE065
其中通过代码C、[n,k,d]代码可校正的比特的最大数目
在此表达式中,包括超过可以被ECC校正的错误的最大数目的多个错误的所有错误模式的概率被加在一起并除以n、即代码字的长度。
接下来,考虑上文参考图4和5所讨论的采用反馈信号和ECC中的一者或两者的多个不同的数据写入方法。首先,概述在这些讨论中所使用的各种标记惯例。
对于单脉冲方法而言,写电压或用来切换存储器元件的其他力或梯度的总施加时间T t 等于T,即单个脉冲的持续时间。对于多脉冲方法而言,T t 等于多个脉冲的和:
平均电压时间T avg是预期总施加时间:
Figure DEST_PATH_IMAGE071
对于单脉冲方法而言,T avg  = T。用于采用ECC的方法的每比特平均电压施加时间是:
Figure DEST_PATH_IMAGE075
脉冲时间/比特,
考虑了用来写入添加的冗余比特的附加时间。最后,用于特定数据写入方法w的每信息比特的存储器带宽或能量消耗的预期节省或增益G是:
其中G以dB为单位被表示;
T avg,r 是用于下面讨论的未编码单脉冲方案的预期脉冲长度;
T avg,w 是用于特定数据写入方法的每比特的平均脉冲时间。
因此,评估以下比较:未编码BER Pb、已编码BER 
Figure DEST_PATH_IMAGE079
、用来写入数据的电压或其他力和/或梯度的总施加时间Tt、用于多脉冲方法的平均施加时间Tavg、每比特的平均脉冲时间
Figure DEST_PATH_IMAGE081
以及增益G,以促进不同数据写入方法的比较。虽然
Figure DEST_PATH_IMAGE083
是在比较不同写方法之间的能量消耗和存储器带宽时要使用的适当品质因数,但
Figure DEST_PATH_IMAGE087
反映器件磨损和最坏情况等待时间考虑。
如上文所讨论的,将用于改善确保具有展示出切换时间的对数正态分布的存储器元件的器件中的数据存储的高可靠性所需的写电压潜在长施加时间的一个方法是使用反馈信号,其允许存储器控制器在所选时间点确定特定存储器元件是否已切换。应注意的是用于减小写电压的平均施加时间的这种基于反馈信号的方法招致附加的电路和电路元件方面的显著成本。相似地,如上文所讨论的,通过使用ECC而提供的校正错误的能力涉及到降低存储器件的信息率的附加冗余比特的存储。
在以下讨论中,进行了各种简化。例如,在上文提供的用于
Figure DEST_PATH_IMAGE089
的表达式中,假设解码器在代码字的超过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中,考虑从反馈使能的存储器元件提供的反馈信号以确定数据是否已被正确地写入存储器。替换地,可读取存储器元件以验证切换已经发生。当数据未被正确地写入存储器时且当当前迭代索引i小于迭代终止值num时,如在步骤715中确定的,则执行for循环的下一迭代。否则,在步骤717中从存储器读回数据,并且与被写入存储器的数据相比较以便确定来自多阶段未编码方法的BER。如上文所讨论的,脉冲时间的和T 0 +…+ T i 等于总脉冲时间Tt,其又小于或等于指定最大电压施加持续时间Tmax。出于对这种及相关方法进行建模的目的,假设切换的概率与在写操作中在施加到存储器元件的所述一个或多个脉冲上的电压施加的总累积时间有关。换言之,在三个一秒脉冲中的写电压的施加等效于针对单个三秒脉冲施加写电压。图7D中所示的多脉冲已编码方法类似于上文参考图7C所讨论的多脉冲未编码方法,不同的是,首先在步骤720中使用ECC对数据进行编码并随后在步骤722中对其进行解码。
图7E示出了连续未编码方法。该连续未编码方法等效于多脉冲未编码方法的极限,其中,脉冲时间Ti被缩短至多个无穷小时段,所述多个无穷小时段一起合计达最大电压施加时间Tmax。在步骤724中,向存储器件施加写电压以开始向器件内的存储器元件写入数据。然后,在步骤725-726的while循环中,连续地监视来自存储器元件的反馈信号以确定意图通过施加写电压而被切换的存储器元件事实上已被切换至其期望状态的时间。当这发生时,while循环终止,在步骤727中从存储器读回数据,并且在步骤728中将该数据与最初写入的数据相比较以确定连续未编码方法的BER。图7F中所示的连续已编码方法类似于连续未编码方法,不同的是,首先在步骤730中使用ECC对数据进行编码,并且随后在已经从存储器被读取之后在步骤732中对其进行解码。
图7A-F中所示的所有方法都表示假定数据存储方法,其在一脉冲未编码方法的情况下既不采用反馈也不采用ECC,或者采用反馈和ECC中的一者或两者。在多脉冲未编码和多脉冲已编码方法中以及在连续未编码和连续已编码方法中采用反馈。在一脉冲编码、多脉冲编码以及连续编码方法中采用ECC。对于一脉冲方法而言,T avg=T max=T。对于一脉冲已编码方法而言,
Figure DEST_PATH_IMAGE091
=T avg/R。对于一脉冲未编码方法而言,
Figure DEST_PATH_IMAGE092
=T avg
对各种写方法的分析
在本节中,讨论用以分析参考图7A-F所讨论的各种写方法的方法。该分析提供对上文所讨论的各种参数、包括Tavg
Figure DEST_PATH_IMAGE093
和G的估计。在下面的小节中讨论各种分析的结果。
在一脉冲方法中,的选择确定存储数据的输入BER,
Figure DEST_PATH_IMAGE095
,该数据在已编码方法中被假设为已被用
Figure DEST_PATH_IMAGE096
进行编码。然后通过使用上述BCH代码的参数
Figure DEST_PATH_IMAGE098
来估计已编码方法的输出BER。
使用两个脉冲的多脉冲写方法是具有反馈的最简单数据写入方法。施加持续时间为的初始脉冲,并且感测器件的状态。当发现器件已切换至期望目标状态时,认为写操作完成。当器件还未切换时,施加持续时间为
Figure DEST_PATH_IMAGE100
的附加脉冲,其中,
Figure DEST_PATH_IMAGE101
。请注意,虽然在时间中断操作减少了平均总脉冲时间,但仍由
Figure DEST_PATH_IMAGE102
来确定切换失败概率,作为其结果,
Figure DEST_PATH_IMAGE103
。预期总脉冲持续时间是
给定
Figure DEST_PATH_IMAGE106
的目标值,可以计算使
Figure DEST_PATH_IMAGE107
最小化的
Figure 167176DEST_PATH_IMAGE099
的值。事实上,很容易验证
Figure DEST_PATH_IMAGE108
,并且作为
Figure 964624DEST_PATH_IMAGE099
的函数,在区间
Figure DEST_PATH_IMAGE110
内具有急转的最小值。图8图示出双脉冲写方法中的写电压施加的总预期时间Tavg对第一脉冲的长度T1的相关性。为了找到使
Figure DEST_PATH_IMAGE111
最小化的
Figure 312560DEST_PATH_IMAGE099
的值,在用全表达式代替上文提供的
Figure DEST_PATH_IMAGE112
之后,对以上表达式的右侧求微分,并针对导数的零在数值上进行求解,其用
Figure DEST_PATH_IMAGE113
来表示。然后由
Figure DEST_PATH_IMAGE114
给出最佳预期总脉冲长度。
对于二元对称有噪声通道而言,2脉冲方法与1脉冲方法相同,不同的是期望使用远远更短的脉冲和相应地远远更少的能量来获得相同的BER。最坏情况脉冲持续时间与在1脉冲情况下相同。并且如在1脉冲情况下一样,使用ECC导致预期脉冲长度和能量消耗的进一步降低,但是另外导致最坏情况与平均脉冲长度比的大的减小。
以与双脉冲写方法类似的方式分析三脉冲写方法,不同的是,在离散时间
Figure DEST_PATH_IMAGE115
允许对存储器元件的状态的感测,其中
Figure DEST_PATH_IMAGE116
。用以下公式来给出预期总脉冲长度:
Figure DEST_PATH_IMAGE118
针对对应于
Figure DEST_PATH_IMAGE119
的目标值的
Figure DEST_PATH_IMAGE120
的给定值,展示出在
Figure 27937DEST_PATH_IMAGE099
Figure 252245DEST_PATH_IMAGE115
中的深全局最小值,其很容易通过关于
Figure 313742DEST_PATH_IMAGE099
Figure 535776DEST_PATH_IMAGE115
取偏导数并借助于数值法对结果得到的方程组进行求解而被找到。
在连续反馈写方法中,使用最大持续时间为
Figure DEST_PATH_IMAGE122
的脉冲,同时连续地监视器件的状态,其中施加的电压在切换发生之后立即关断。由下式来给出用于连续反馈写方法的预期脉冲长度
Figure DEST_PATH_IMAGE123
Figure DEST_PATH_IMAGE124
Figure 823669DEST_PATH_IMAGE120
趋向于无穷大时,如预期的那样,上述表达式趋向于
Figure DEST_PATH_IMAGE125
,即对数正态密度
Figure DEST_PATH_IMAGE126
的平均值。事实上,当
Figure DEST_PATH_IMAGE127
时相当快速地接近此极限。图9图示出用于连续写方法的写电压的施加的预期总累加时间Tavg对最大施加时间Tmax的相关性。
反馈提供写操作的预期持续时间方面的显著增益。这些增益直接地转换成减少的预期能量消耗和减少的对器件的磨损。ECC的使用有时通过显著的裕度来进一步增强这些增益。另外,由于编码而引起的
Figure 287886DEST_PATH_IMAGE120
的非常显著的减小导致系统吞吐量的相应增益,即使当写请求被局限于分开至少
Figure 407152DEST_PATH_IMAGE122
时间单位而发生时也是如此。为了让吞吐量也受益于
Figure DEST_PATH_IMAGE128
的减小,并且增加操作速率超过
Figure DEST_PATH_IMAGE129
限制,可实现用于写操作的排队或缓冲机制,因为某些操作将花费时间
Figure DEST_PATH_IMAGE130
,并且达到较高速率的写请求将必须在这些操作完成时排队并等待。可以使用排队理论的工具来分析此类系统的缓冲需要和可靠性。
考虑2脉冲方法,其具有参数
Figure 534508DEST_PATH_IMAGE099
Figure 372014DEST_PATH_IMAGE102
Figure DEST_PATH_IMAGE131
。为了简单起见,假设写请求以固定速率到达,具有
Figure DEST_PATH_IMAGE132
时间单位的到达间隔时段。如果
Figure DEST_PATH_IMAGE133
,则不需要排队,因此假设
Figure DEST_PATH_IMAGE134
。很明显,对于具有保持有界的任何机会的队列而言
Figure DEST_PATH_IMAGE135
(事实上,根据排队理论中的众所周知的结果,并且如从以下分析将得知的,
Figure DEST_PATH_IMAGE136
。另一简化假设是比
Figure DEST_PATH_IMAGE137
是整数。由于比
Figure DEST_PATH_IMAGE138
是相当大的,假定用
Figure DEST_PATH_IMAGE139
的某个值实现目标BER,这并不是非常有限制性的假设。在大多数情况下,可以略微增大以使得
Figure DEST_PATH_IMAGE140
为整数。用这些假设,对在队列中的等待时间的分析减少至研究简单整数值随机行走。
Figure DEST_PATH_IMAGE141
表示代表第
Figure DEST_PATH_IMAGE142
 写请求中的队列中的等待时间的整数随机变量(实际等待时间是
Figure DEST_PATH_IMAGE143
),并且让
Figure DEST_PATH_IMAGE144
,其中,
Figure DEST_PATH_IMAGE145
是第 个写的实际总脉冲长度,即用于第
Figure 101832DEST_PATH_IMAGE142
 个写请求的服务时间。当
Figure DEST_PATH_IMAGE146
,让表示
Figure DEST_PATH_IMAGE148
,或者否则为
Figure DEST_PATH_IMAGE149
。然后,将
Figure DEST_PATH_IMAGE150
取做初始条件
Figure DEST_PATH_IMAGE151
其中,
Figure DEST_PATH_IMAGE152
是采取
Figure DEST_PATH_IMAGE153
中的值的随机变量,其中
Figure DEST_PATH_IMAGE154
Figure DEST_PATH_IMAGE155
。通过先前的假设,这些概率与
Figure 177366DEST_PATH_IMAGE142
无关。随机行走
Figure DEST_PATH_IMAGE156
是马尔可夫链(Markov chain),其对于足够大的
Figure DEST_PATH_IMAGE157
而言是持久性的,从而常常无限地返回至状态。根据此假设,该链具有平稳分布
Figure DEST_PATH_IMAGE159
很明显,通过
Figure DEST_PATH_IMAGE160
,从
Figure DEST_PATH_IMAGE161
可以达到范围
Figure DEST_PATH_IMAGE162
中的状态。因此
Figure DEST_PATH_IMAGE164
其中,
Figure DEST_PATH_IMAGE165
。另一方面,再次地用,从
Figure DEST_PATH_IMAGE167
可以达到状态
Figure 815676DEST_PATH_IMAGE167
。因此,。求出
Figure DEST_PATH_IMAGE171
Figure DEST_PATH_IMAGE173
最后,对于而言,可以用
Figure DEST_PATH_IMAGE176
或者用
Figure DEST_PATH_IMAGE177
Figure DEST_PATH_IMAGE178
达到状态
Figure DEST_PATH_IMAGE179
,从而产生递归
Figure DEST_PATH_IMAGE180
从以上表达式可以获得用于生成函数的显式表达式,为
Figure DEST_PATH_IMAGE181
由此,又可以导出对等待时间的预期
Figure DEST_PATH_IMAGE183
Figure DEST_PATH_IMAGE184
,并转换回成时间单位
Figure DEST_PATH_IMAGE186
如预期的,当
Figure 140827DEST_PATH_IMAGE132
接近于
Figure DEST_PATH_IMAGE187
Figure DEST_PATH_IMAGE188
接近于零(当
Figure DEST_PATH_IMAGE189
时不使用队列),并且当
Figure 249466DEST_PATH_IMAGE132
接近于
Figure 795985DEST_PATH_IMAGE121
Figure 969478DEST_PATH_IMAGE188
接近于无穷大。通过Little定理[3],由下式给出对队列大小
Figure DEST_PATH_IMAGE190
的预期
Figure DEST_PATH_IMAGE191
从上文提供的表达式显而易见的是,变量
Figure DEST_PATH_IMAGE192
乘以所有概率
Figure DEST_PATH_IMAGE193
。考虑
Figure DEST_PATH_IMAGE194
其中
以及
Figure DEST_PATH_IMAGE196
随后直接是用于
Figure DEST_PATH_IMAGE197
的显式表达式,从而产生
Figure DEST_PATH_IMAGE198
关于
Figure DEST_PATH_IMAGE199
,应用用于的表达式和上文提供的递归,并且回想
Figure 75678DEST_PATH_IMAGE165
,获得以下表达式
Figure DEST_PATH_IMAGE200
Figure DEST_PATH_IMAGE201
Figure DEST_PATH_IMAGE202
重新整理各项,并且在某些代数操作之后,获得以下表达式
Figure DEST_PATH_IMAGE203
Figure DEST_PATH_IMAGE204
其中,用于整数
Figure DEST_PATH_IMAGE205
Figure DEST_PATH_IMAGE206
从用于
Figure DEST_PATH_IMAGE207
的表达式的分子和分母消除了公因子。以上表达式确定直至
Figure 797909DEST_PATH_IMAGE192
的因数的
Figure DEST_PATH_IMAGE209
。设置
Figure DEST_PATH_IMAGE210
,获得以下表达式
Figure DEST_PATH_IMAGE211
其完成对
Figure 588142DEST_PATH_IMAGE209
的确定。由下式给出对
Figure 250067DEST_PATH_IMAGE179
的预期
Figure DEST_PATH_IMAGE212
其产生用于
Figure DEST_PATH_IMAGE213
的第一提供的表达式。通过将
Figure DEST_PATH_IMAGE214
代入第一提供的表达式中、乘以时间标度
Figure DEST_PATH_IMAGE215
并且回想
Figure DEST_PATH_IMAGE216
,则得出上文提供的用于
Figure 762826DEST_PATH_IMAGE188
的第二表达式。请注意,为了使
Figure 283937DEST_PATH_IMAGE192
为正的,
Figure DEST_PATH_IMAGE217
,从而导致
Figure DEST_PATH_IMAGE218
再次地考虑具有中间读取以验证切换的离散脉冲发生写方法,但不对脉冲的数目施加明确限制,而是考虑对验证/读取操作施加惩罚(penalty)并确定经受此惩罚的最佳脉冲发生方法。
Figure DEST_PATH_IMAGE219
表示也与读取一致(除在
Figure 910484DEST_PATH_IMAGE129
结束的最后脉冲之外,在该处不存在后续读取)的脉冲结束时间序列。因此,第一脉冲具有持续时间
Figure 895757DEST_PATH_IMAGE099
,第二脉冲具有持续时间
Figure DEST_PATH_IMAGE220
,等等。假设如上所述针对某些期望的原始比特错误率
Figure DEST_PATH_IMAGE221
经由来确定
Figure 221828DEST_PATH_IMAGE129
。还假设读操作花费时间
Figure DEST_PATH_IMAGE223
。因此,可以将用于脉冲发生和读取的总预期时间惩罚表示为
Figure DEST_PATH_IMAGE224
Figure DEST_PATH_IMAGE225
其中,
Figure DEST_PATH_IMAGE226
Figure DEST_PATH_IMAGE227
是进行切换所需的聚合脉冲持续时间的随机量。考虑
Figure DEST_PATH_IMAGE229
所有可能脉冲结束时间和脉冲数范围上的最小平均脉冲和验证时间。
被约束为小时间间隔的某正整数倍数,如在
Figure DEST_PATH_IMAGE232
中一样,并且在
Figure DEST_PATH_IMAGE233
上被优化。最大脉冲数则是
Figure DEST_PATH_IMAGE234
。让
Figure DEST_PATH_IMAGE235
表示在对脉冲结束时间的此约束下的结果得到的最佳。很明显,
Figure DEST_PATH_IMAGE237
,并且其可被显示
Figure DEST_PATH_IMAGE238
假定无约束的一组脉冲结束时间
Figure DEST_PATH_IMAGE239
,让
Figure DEST_PATH_IMAGE240
为该组量化结束时间且
Figure DEST_PATH_IMAGE241
为小于
Figure 579036DEST_PATH_IMAGE187
的元素。此约束意味着
Figure DEST_PATH_IMAGE242
Figure DEST_PATH_IMAGE243
Figure DEST_PATH_IMAGE244
相比较,可以将
Figure DEST_PATH_IMAGE246
解释为对随机变量
Figure DEST_PATH_IMAGE247
的预期,其中
Figure DEST_PATH_IMAGE248
并且,相似地将解释为对随机变量
Figure DEST_PATH_IMAGE251
的预期,其中
Figure DEST_PATH_IMAGE252
Figure DEST_PATH_IMAGE253
对于任何
Figure DEST_PATH_IMAGE254
而言,
Figure DEST_PATH_IMAGE255
,其经由预期解释,足以建立
Figure DEST_PATH_IMAGE256
。假设
Figure DEST_PATH_IMAGE257
,则
Figure DEST_PATH_IMAGE258
。将存在某
Figure 973687DEST_PATH_IMAGE142
,使得
Figure DEST_PATH_IMAGE259
,其中
Figure DEST_PATH_IMAGE260
Figure DEST_PATH_IMAGE261
。因此,
Figure DEST_PATH_IMAGE262
,并且然后从
Figure DEST_PATH_IMAGE263
得出
Figure DEST_PATH_IMAGE265
。另外,这是的情况,因为否则将不在上文定义的该组量化结束时间
Figure 703615DEST_PATH_IMAGE094
中。将这两个事实放在一起
Figure DEST_PATH_IMAGE268
Figure DEST_PATH_IMAGE270
从而确定对于
Figure DEST_PATH_IMAGE272
而言,确实
Figure 451515DEST_PATH_IMAGE255
。几乎可以将相同的自变量应用于
Figure DEST_PATH_IMAGE273
因此,目标是计算
Figure DEST_PATH_IMAGE275
对此类计算的标准方法是动态编程。对于任何
Figure DEST_PATH_IMAGE276
Figure DEST_PATH_IMAGE277
,定义
Figure DEST_PATH_IMAGE278
Figure DEST_PATH_IMAGE279
其对应于平均剩余写入时间,假设新脉冲在
Figure DEST_PATH_IMAGE280
开始,具有后续脉冲结束时间
Figure DEST_PATH_IMAGE281
,并且假设在时间之前不发生切换。然后定义
作为脉冲时间
Figure 48905DEST_PATH_IMAGE280
之后的脉冲结束时间的最佳选择,假设脉冲在开始。
很明显,
Figure DEST_PATH_IMAGE283
。动态编程涉及到基于用于
Figure DEST_PATH_IMAGE285
而递归地计算
Figure DEST_PATH_IMAGE286
。请注意,对于
Figure DEST_PATH_IMAGE287
而言,精确地存在一个可能脉冲结束时间,即在结束的那个,使得
Figure DEST_PATH_IMAGE290
对于
Figure DEST_PATH_IMAGE291
,人们可以使用在结束的单个脉冲,在这种情况下
Figure DEST_PATH_IMAGE292
或者人们可以使用在中间时间处结束的
Figure DEST_PATH_IMAGE293
脉冲。对于这种情况,经证明
Figure DEST_PATH_IMAGE294
Figure DEST_PATH_IMAGE295
这被示出为如下
Figure DEST_PATH_IMAGE296
Figure DEST_PATH_IMAGE297
Figure DEST_PATH_IMAGE298
Figure DEST_PATH_IMAGE299
Figure DEST_PATH_IMAGE300
Figure DEST_PATH_IMAGE302
Figure DEST_PATH_IMAGE303
Figure DEST_PATH_IMAGE304
Figure DEST_PATH_IMAGE306
Figure DEST_PATH_IMAGE307
和用于
Figure DEST_PATH_IMAGE308
的最初提供的表达式相组合而给出
因此,人们可以针对
Figure DEST_PATH_IMAGE311
根据
Figure DEST_PATH_IMAGE312
计算
Figure DEST_PATH_IMAGE313
,直至
Figure DEST_PATH_IMAGE314
。该优化脉冲结束时间可以通过跟踪用于每个的优化来找到,其中,如果通过第一项来实现外最小值,则可以将优化取为,对应于在
Figure DEST_PATH_IMAGE318
结束的一个脉冲。
很容易看到算法的复杂性莫过于
Figure DEST_PATH_IMAGE319
运算。相对于全搜索,急剧地加速
Figure 159892DEST_PATH_IMAGE316
上的最小化的计算的简单方式是计算用于
Figure 44672DEST_PATH_IMAGE316
的每个相继更大值的运行最小值,从
Figure DEST_PATH_IMAGE320
开始,并且当
Figure 747923DEST_PATH_IMAGE316
使得
Figure DEST_PATH_IMAGE321
超过运行最小值时中止搜索。由于
Figure DEST_PATH_IMAGE322
Figure 884507DEST_PATH_IMAGE316
方面正在增大且由于成本的另一分量始终是非负的,所以以这种方式中止会保持最优性。
对各种写方法的分析的结果
图10提供了示出用于向包括以对数正态分布切换时间为特征的存储器元件的存储器中写入数据的多种不同写方法的比较的表格。该表格被水平地划分成两个水平部分1002和1004,其中水平部分1002示出了各种写方法的计算的特性,其中,不考虑结合了对来自存储器元件的反馈信号的监视的方法的读取成本,并且其中水平部分1004示出了多脉冲写方法的计算的特性,其中,估计读取成本并将其包括在对各种写方法的特性的计算中。图10中所示的表格被垂直地划分成两个垂直部分,包括其中计算特性以确保切换失败概率Pb=10-12的第一垂直部分1006和其中计算特性以确保切换失败概率Pb=10-23的第二垂直部分1008。在每个水平部分的每个垂直部分中,或者换言之在表格的每个象限中,针对每个所考虑的写方法示出了
Figure DEST_PATH_IMAGE323
、Tavg、Tmax
Figure DEST_PATH_IMAGE324
和增益,其中明确地示出了用于已编码方法的
Figure DEST_PATH_IMAGE325
。第二水平部分1004示出了用指定的Tmax且用等于τ的各种分数的脉冲之间的读取成本针对多脉冲写方法获得的特性。
如通过对在图10中提供的表格中所示的数据的分析可以看到的,用于已编码写方法的增益G一般地比用于未编码写方法的更大,并且平均或预期脉冲时间Tavg一般地对于已编码方法而言比对于未编码方法而言更小。在所有情况下,用于已编码方法的Tmax电压施加时间明显小于用于未编码方法的Tmax。即使当在计算中考虑读取成本时,也发生针对已编码方法对比未编码方法的Tmax的减小。此外,用于采用反馈的多脉冲方法的增益明显比对于一脉冲已编码方法而言更大。
图11以图表方式图示出来自在图10中提供的表格的第一水平部分的数据。在图11中,相对于竖直轴1102和每比特的预期脉冲时间绘制切换失败概率,相对于水平轴1104绘制
Figure 163172DEST_PATH_IMAGE093
。每个曲线、诸如曲线1106图示出用于八个不同写方法中的每一个的切换失败概率与
Figure DEST_PATH_IMAGE326
之间的函数关系。可看到
Figure 861263DEST_PATH_IMAGE092
随所采用的脉冲数目的增加而显著减小,并且用于已编码方法的
Figure DEST_PATH_IMAGE327
值一般地比对于未编码方法而言更小。
Figure DEST_PATH_IMAGE328
下,已编码2脉冲方法相对于未编码2脉冲方法提供
Figure DEST_PATH_IMAGE329
的附加增益,并且更特别地,编码将最坏情况与平均值比从约
Figure DEST_PATH_IMAGE330
减小至。事实上,2脉冲未编码方法相比于1脉冲已编码的那个具有仅
Figure DEST_PATH_IMAGE332
的增益。当比较3脉冲未编码和已编码方法时,编码提供预期总脉冲长度方面的附加增益(在
Figure DEST_PATH_IMAGE333
Figure DEST_PATH_IMAGE334
)和最坏情况与平均值比的大大减小。事实上,如图11中所示,3脉冲未编码曲线非常接近于用于感兴趣的的范围的2脉冲已编码曲线,其中3脉冲未编码方法在
Figure 740227DEST_PATH_IMAGE328
下导致
Figure DEST_PATH_IMAGE336
的最坏情况与平均值比对比用于2脉冲已编码方法的比。对于连续写方法而言,在图11中可以看到到对数正态密度
Figure DEST_PATH_IMAGE337
的平均值的快速收敛的效果,其中,可看到用于连续写方法的曲线几乎以垂直斜率下降,在未编码情况下以
Figure DEST_PATH_IMAGE338
(对于在示例中使用的参数
Figure DEST_PATH_IMAGE339
而言为
Figure DEST_PATH_IMAGE340
),并且对于已编码方法而言以
Figure DEST_PATH_IMAGE341
。因此,平均脉冲长度几乎与目标BER无关,并且在这种情况下的未编码和已编码方法之间的编码增益的差为有利于未编码的
Figure DEST_PATH_IMAGE342
。此外,再次地,已编码方法提供最坏情况与平均值比的大大减小:在
Figure DEST_PATH_IMAGE343
处,从未编码情况下的下降至已编码情况下的
使用连续反馈相对于3脉冲已编码方法提供约
Figure DEST_PATH_IMAGE346
的附加编码增益(平均脉冲长度方面的比为)。原则上,可以通过任意地增加脉冲的数目在离散脉冲设置中缩窄此间隙。事实上,可以将连续脉冲情况视为离散脉冲情况的极限,因为脉冲的数目趋向于无穷大。
概括地说,已经分析了旨在解决由某些忆阻器件的对数正态切换性质引起的挑战的两个机制的效果和相互作用。在各种设置下,通过减小平均和最坏情况切换时间,编码的使用显著地增大系统的总体性能。这些性能增加转化成能量消耗和器件磨损方面的节省以及写吞吐量方面的显著增加。在反馈机制与纠错编码的明智组合的情况下,忆阻器的对数正态切换性质不应是满足现代存储系统的可靠性规格的障碍。
图12提供了列出用于针对作为τ的各种不同分数的所考虑读时间实现期望的切换失败概率的多脉冲写方法的最大脉冲数和平均脉冲数的表格。如在图12中提供的表格中可以看到的,最大脉冲数对于已编码方法而言比对于未编码方法而言明显更小。
图13示出了预期等待时间相对于针对未编码双脉冲写方法和已编码双脉冲写方法的写到达间隔时间的图表。如在图13中可以看到的,对于所有写到达间隔时间而言,用于已编码双脉冲写方法的预期等待时间明显小于用于未编码双脉冲方法的预期等待时间。对于已编码方法而言编码开销被包含到中,而对于未编码方法而言
Figure DEST_PATH_IMAGE349
,其允许这两个方法之间的公平比较;时间
Figure 502088DEST_PATH_IMAGE120
相似地也被缩放。信息写吞吐量与成比例。编码对此吞吐量的正面影响在图中是显而易见的,两者都没有排队系统(
Figure DEST_PATH_IMAGE351
)且具有一个()。当使用排队时,预期
Figure DEST_PATH_IMAGE353
为用于写请求的适当缓冲器的设计提供指导。
本申请针对的电子数据存储器件的示例
图14图示出结合了反馈信号和ECC编码这两者的数据存储器件。通过使用反馈信号以及通过在写入之前对数据进行编码这两者,相对于不采用ECC编码时的Tmax而言显著地减小了最大写等待时间Tmax,如上文所讨论的,由在图10中提供且在图11中图示出的数据示出。最大写等待时间的减小和Tavg的减小导致用于数据存储器件的更短的平均和最大写周期及相应的更高的数据输入带宽。反馈信号允许一旦对于所有预定存储器元件而言完成了切换就施加使要被终止或短路的存储器内的特定存储器元件进行切换所需的写电压或其他力或梯度。ECC编码的使用允许显著地减小写电压施加的最大持续时间或用以对存储器元件进行切换的另一力或梯度的施加的持续时间,并且仍提供用于该数据存储器件的期望的比特错误率。在图3A中,缩短Tmax使Tmax沿着PDF的水平轴向左移动,在越过Tmax的PDF的拖尾内留下更多的面积,其对应于在将写电压施加多达Tmax的持续时间期间不发生切换的概率。然而,ECC编码的使用允许在读操作之后随后校正许多切换错误,从而有效地将拖尾面积减小至对应于期望比特错误率的水平。
表示一个示例的信息存储器件包括存储器元件1402的一个或多个二维阵列。在图14中,用诸如磁盘1404的磁盘来表示每个存储器元件。所述存储器元件被布置成行和列,并且一行内的存储器元件被水平电极互连且每列中的存储器元件被垂直电极或信号线互连。例如,在图14中,存储器元件1406-1413被水平信号线1414互连。存储器元件1413和1416-1423被垂直信号线1424互连。第一解复用器或其他控制元件1426控制施加于水平信号线的电压且第二解复用器或其他控制元件1428控制施加于垂直信号线的电压。
每个存储器元件还生成反馈信号,如上文参考图4所讨论的,其被输出到水平和垂直反馈信号线这两者。在图14中,由存储器元件生成的反馈信号被示为对角线段,诸如源自于存储器元件1413的对角线段1429。第一和第二控制器1426和1428在写操作期间监视这些反馈信号,以便生成被返回至读/写控制器的写完成信号。当数据存储单元地址被读/写控制器1430连同要写入数据存储器件的数据存储单元的数据值一起被读/写控制器1430供应给第一和第二控制元件1426和1428时,第一和第二控制器1426和1428向特定信号线施加适当的电压以便将对应于地址数据存储单元的存储器元件置于对应于要写入数据存储器件的数据内的比特值的状态。要写入器件的数据被首先供应给ECC编码器1440,如上文所讨论的,其将数据编码成一系列代码字,该一系列代码字然后被发射至读/写控制器1430。读/写控制器不仅控制第一和第二控制器1426和1428以向数据存储器件写入数据,而且控制第一和第二控制器1426和1428从数据存储器件读取存储的数据并将读取的数据发送给ECC解码器1442,ECC解码器1442将从数据存储器件读取的代码字解码并输出未编码数据1444。读/写控制器1430接收数据1446并输出数据1448,接收控制信号1450并输出非数据信息1450,分别地向第一和第二控制器1426和1428输出数据和控制信号1454和1456,并分别地从第一和第二控制器1426和1428接收数据和控制信号1458和1460。
在替换示例中,第一和第二控制器或读/写控制器使用上述多脉冲方法向存储器元件迭代地写入数据,从而读回数据以确定写是否已成功。在此替换示例中,存储器元件不产生反馈信号。替代地,第一和第二控制器1426和1428向存储器元件施加多个写脉冲,从而在每个脉冲之后读取被施加脉冲的存储器元件的内容,以便确定数据是否已被正确地写入。基于多脉冲写和用来验证正确数据存储的中间读操作,第一和第二控制器生成被返回到读/写控制器的写完成信号,如在其中连续地监视状态或存储器元件的所描述的第一示例中那样。
图15提供了图示出读/写控制器(图14中的1430)的操作的控制流程图。在步骤1502中,在上电或重启时,将读/写控制器初始化。然后,读/写控制器进入包括步骤1504-1508的连续循环。读/写控制器针对输入的写请求和相应的数据以及输入的读请求连续地监视输入。当在步骤1505中检测到写请求时,读/写控制器经由例程“写”1506来进行一个或多个写操作。相似地,当接收到读请求时,如在步骤1507中确定的,经由例程“读”1508来处理读请求。
图16提供了用于例程“写”(图15中的1506)的控制流程图。例程“写”包括连续循环,其包括步骤1602-1609,该连续循环包括内循环,该内循环包括步骤1605-1607。在步骤1602-1609的外连续循环中,处理待决的写请求,每次一个写请求。在步骤1603中,接收下一写请求。与写请求相关联的数据被分解成k比特的块,并且每个块被使用ECC来编码以产生用于各块的相应代码字。然后,在步骤1604中,将定时器t初始化,并且读/写控制器将代码字和控制信号发送到第一和第二控制器(图14中的1426和1428)以开始向所选存储器元件施加写电压,以便将代码字写入存储器元件的一个或多个二维阵列中。在图16中,由第一和第二控制器将用于写请求的数据并行地写入相应的存储器元件。在某些示例中,写请求可包含与可以在单个并行写操作中写入的数据量相比更大的数据量,在这种情况下,将使用在图16中对应于附加迭代循环的附加逻辑来执行将与单个写请求相关联的所有数据都写入相应存储器元件所需的两个或更多写操作。在某些替换示例中,可以连续地而不是并行地对存储单元进行写入。在步骤1605-1607的内循环中,读/写控制器监视由存储器元件以及定时器产生的反馈信号。当用于写操作中涉及到的所有存储器元件的所有反馈信号指示写操作已成功时,如在步骤1606中确定的,然后控制转到步骤1608,在那里终止写操作。否则,当定时器指示已经施加写电压达到等于或大于Tmax的持续时间时,如在步骤1607中确定的,则控制转到写终止步骤1608。否则,监视继续。一旦写已经终止,则在步骤1609中,当另一写操作待决时,控制被指引回到步骤1603。否则,例程“写”终止。如上文所讨论的,采用了ECC编码和解码的该事实,可以在不导致由数据存储器件进行的被破坏数据的返回的情况下容忍一定的写失败率。数据存储器件内的ECC数据编码和解码的使用允许使用与在没有ECC数据编码和解码的情况下将使用的相比更小量值的Tmax,来实现可接受的BER。
图16提供了对其中连续地监视存储器元件的状态的连续写方法的一般描述。在上文所讨论的替换示例中,其中采用多脉冲写方法,步骤1605-1607的内循环将重复直至从读/写控制器接收到写完成信号,无论写是否成功。如上文所讨论的,选择脉冲的数目及其他脉冲特性以便提供在ECC解码之后处于最大可接受BER或其以下的BER。一般地,可将读/写控制器实现成缓冲用于大的写请求的数据并执行一系列内部写请求中的大的写请求,其中每个内部写请涉及可以在单个内部写操作期间由第一和第二控制器接收并写入存储器元件的多个代码字。替换地,数据存储器件可接受与可以在单次操作中写入存储器元件的数据量相比多达用于每个外部写操作的数据量。第一和第二控制器一般地在内部写操作期间并行地控制到多个存储器元件的存储。由第一和第二控制器生成的反馈信号指示内部写操作中涉及到的所有存储器元件是否已被成功地执行。第一和第二控制器可向单独存储器元件施加写电压达不同的时间段,或者可在内部写操作期间向单独存储器元件施加不同数目的脉冲。
虽然已在特定示例方面描述了本公开,但意图并不在于使本公开局限于这些示例。在本公开的精神内的修改对于本领域的技术人员而言将是显而易见的。例如,可以在包括具有不对称切换时间PDF的存储器元件的多种不同类型的信息存储器件中采用反馈信号和ECC编码这两者的使用,所述具有不对称切换时间PDF的存储器元件包括忆阻存储器元件、相变存储器元件及其他类型的存储器元件。可以将所采用的特定ECC码和在信息存储器件内采用的Tmax的特定值分别地设置成各种不同的代码和计算值,以便确保满足指定最大比特错误率或下降至其以下的用于信息存储器件的比特错误率。在某些类型的信息存储器件中,根据动态确定的最大BER、信息存储器件的使用年限、特别是存储器元件的使用年限、在信息存储器件上执行的读/写循环的总数以及其他此类特性和参数,可以动态地控制或重置最大写电压施加时间Tmax和被用于对数据进行编码的ECC码。
应认识到,提供对所公开的示例的前述描述是为了使得本领域的任何技术人员能够实现或使用本公开。对这些示例的各种修改对于本领域的技术人员而言将是显而易见的,并且在不脱离本公开的精神或范围的情况下可将本文中定义的一般原理应用于其他示例。因此,本公开并不意图被局限于本文中所示的示例,而是将符合与本文中公开的原理和新颖特征一致的最宽泛范围。

Claims (15)

1.一种数据存储器件,包括:
存储器元件的一个或多个阵列,每个存储器元件包括
       数据存储介质,其通过导致切换的力或梯度向所述数据存储介质的施加而在至少两个不同的状态之间切换,
       顶部控制元件和底部控制元件,所述导致切换的力或梯度通过所述顶部控制元件和底部控制元件被施加,以及
       反馈信号;
错误控制编码编码器,其对接收的数据进行编码;以及
读/写控制器,其通过向存储器元件的所述一个或多个阵列施加导致切换的力或梯度直至反馈信号指示写操作已完成或直至导致切换的力或梯度已被施加达最大施加时间而将从所述错误控制编码编码器接收到的已编码数据写入多个存储器元件。
2.权利要求1的数据存储器件,其中,所述存储器元件的特征在于对数正态分布的切换时间。
3.权利要求1的数据存储器件,其中,所述最大施加时间短于将针对未编码写操作提供指定的比特错误率的时间。
4.权利要求3的数据存储器件,还包括将由所述读/写控制器从存储器元件的所述一个或多个阵列读取的数据解码的错误控制编码解码器。
5.权利要求1的数据存储器件,其中,所述数据存储介质是当跨所述数据存储介质两端施加导致切换的电压时在第一电阻率状态与第二电阻率状态之间切换的忆阻材料。
6.一种用于向包括存储器元件的一个或多个阵列的数据存储器件写入数据的方法,每个存储器元件包括材料、顶部控制元件和底部控制元件以及反馈信号,其中所述材料通过导致切换的力或梯度向所述材料的施加而在至少两个不同的状态之间进行切换、所述导致切换的力或梯度通过所述顶部控制元件和底部控制元件被施加,该方法包括:
由错误控制编码控制器对数据进行编码;以及
通过向存储器元件的所述一个或多个阵列施加所述导致切换的力或梯度直至反馈信号指示写操作已完成或者直到所述导致切换的力或梯度已被施加达最大施加时间,来将已编码数据写入多个存储器元件。
7.权利要求6的方法,还包括将所述最大施加时间选择成短于最小施加时间,该最小施加时间被计算为确保用于向所述一个或多个阵列写入未编码数据的指定的比特错误率,但将所述最大施加时间选择成足够长以使得当随后从所述一个或多个阵列读取所述数据并由错误控制编码解码器解码时、用于向所述数据存储器件写入数据和从所述数据存储器件读回数据的总比特错误率小于或等于所述指定的比特错误率,该解码器校正从所述一个或多个阵列读取的数据中的多达一定数目的比特错误。
8.权利要求6的方法,其中,所述数据存储介质是当跨所述数据存储介质两端施加导致切换的电压时在第一电阻率状态与第二电阻率状态之间进行切换的忆阻材料。
9.权利要求6的方法,其中,所述存储器元件的特征在于对数正态分布的切换时间。
10.权利要求6的方法,其中,在连续地监视所述反馈信号的同时连续地向存储器元件的所述一个或多个阵列施加所述导致切换的力或梯度。
11.权利要求6的方法,其中,在离散的间隔期间向存储器元件的所述一个或多个阵列施加所述导致切换的力或梯度,在所述离散的间隔之间使用所述反馈信号来确定数据是否已被成功地写入。
12.一种数据存储器件,包括:
存储器元件的一个或多个阵列,每个存储器元件包括
       数据存储介质,其通过导致切换的力或梯度向所述数据存储介质的施加而在至少两个不同的状态之间切换,以及
       顶部控制元件和底部控制元件,所述导致切换的力或梯度通过所述顶部控制元件和所述底部控制元件被施加;
错误控制编码编码器,其对接收的数据进行编码;以及
读/写控制器,其通过以下操作来将从所述错误控制编码编码器接收到的已编码数据写入多个存储器元件:在多个脉冲中向存储器元件的所述一个或多个阵列施加所述导致切换的力或梯度,通过读操作来验证在每个脉冲后写操作已经成功,直至写操作已经完成或者直至已经施加了最大数目的脉冲。
13.权利要求1的数据存储器件,其中,所述存储器元件的特征在于对数正态分布的切换时间。
14.权利要求1的数据存储器件,其中,在多个脉冲上的导致切换的力或梯度的累积施加时间短于将针对未编码写操作提供指定的比特错误率的时间。
15.权利要求3的数据存储器件,还包括将由所述读/写控制器从存储器元件的所述一个或多个阵列读取的数据解码的错误控制编码解码器。
CN201180072605.6A 2011-07-27 2011-07-27 包括以潜在大切换等待时间为特征的存储器元件的高效数据存储器件 Pending CN103703513A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2011/045549 WO2013015805A1 (en) 2011-07-27 2011-07-27 Efficient data-storage devices that include memory elements characterized by potentially large switching latencies

Publications (1)

Publication Number Publication Date
CN103703513A true CN103703513A (zh) 2014-04-02

Family

ID=47601413

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180072605.6A Pending CN103703513A (zh) 2011-07-27 2011-07-27 包括以潜在大切换等待时间为特征的存储器元件的高效数据存储器件

Country Status (6)

Country Link
US (1) US20140164869A1 (zh)
EP (1) EP2737483A4 (zh)
KR (1) KR101574912B1 (zh)
CN (1) CN103703513A (zh)
TW (1) TWI489480B (zh)
WO (1) WO2013015805A1 (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模型电路
CN109952600A (zh) * 2016-06-30 2019-06-28 奥克托信息技术股份公司 一种用于基于车辆的状态的确定来估计车辆的行驶时间的方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10388370B2 (en) * 2016-04-07 2019-08-20 Helmholtz-Zentrum Dresden—Rossendorf E.V. Method and means for operating a complementary analogue reconfigurable memristive resistive switch and use thereof as an artificial synapse
US10120749B2 (en) 2016-09-30 2018-11-06 Intel Corporation Extended application of error checking and correction code in memory

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060044878A1 (en) * 2004-09-02 2006-03-02 Perner Frederick A Programming of programmable resistive memory devices
CN101512661A (zh) * 2006-05-12 2009-08-19 爱诺彼得技术有限责任公司 用于存储设备的失真估计与纠错编码的组合
CN101828235A (zh) * 2007-10-17 2010-09-08 株式会社东芝 非易失性半导体存储器件

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3673431A (en) * 1971-05-28 1972-06-27 Owens Illinois Inc Low voltage pulser circuit for driving row-column conductor arrays of a gas discharge display capable of being made in integrated circuit form
US7079436B2 (en) * 2003-09-30 2006-07-18 Hewlett-Packard Development Company, L.P. Resistive cross point memory
US7057258B2 (en) * 2003-10-29 2006-06-06 Hewlett-Packard Development Company, L.P. Resistive memory device and method for making the same
US8045651B2 (en) * 2004-08-20 2011-10-25 Broadcom Corporation Method and system for redundancy-based decoding in 8-PSK GSM systems
EP1947652A1 (en) 2007-09-13 2008-07-23 STMicroelectronics S.r.l. Phase-change memory device with error correction capability
US7719876B2 (en) * 2008-07-31 2010-05-18 Unity Semiconductor Corporation Preservation circuit and methods to maintain values representing data in one or more layers of memory
JP2010146654A (ja) * 2008-12-19 2010-07-01 Toshiba Corp メモリ装置
JP5197448B2 (ja) * 2009-03-13 2013-05-15 株式会社東芝 抵抗変化メモリ装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060044878A1 (en) * 2004-09-02 2006-03-02 Perner Frederick A Programming of programmable resistive memory devices
CN101512661A (zh) * 2006-05-12 2009-08-19 爱诺彼得技术有限责任公司 用于存储设备的失真估计与纠错编码的组合
CN101828235A (zh) * 2007-10-17 2010-09-08 株式会社东芝 非易失性半导体存储器件

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109952600A (zh) * 2016-06-30 2019-06-28 奥克托信息技术股份公司 一种用于基于车辆的状态的确定来估计车辆的行驶时间的方法
CN109952600B (zh) * 2016-06-30 2021-09-24 奥克托信息技术股份公司 一种用于基于车辆的状态的确定来估计车辆的行驶时间的方法
CN108427843A (zh) * 2018-03-14 2018-08-21 常州大学 一种具有隐藏共存非对称行为的三维忆阻Hindmarsh-Rose模型电路

Also Published As

Publication number Publication date
EP2737483A4 (en) 2015-05-06
KR101574912B1 (ko) 2015-12-04
KR20140025608A (ko) 2014-03-04
EP2737483A1 (en) 2014-06-04
TWI489480B (zh) 2015-06-21
US20140164869A1 (en) 2014-06-12
WO2013015805A1 (en) 2013-01-31
TW201322273A (zh) 2013-06-01

Similar Documents

Publication Publication Date Title
US9405614B2 (en) Method and system for reducing write-buffer capacities within memristor-based data-storage devices
Joshi et al. Mercury: A fast and energy-efficient multi-level cell based phase change memory system
Xu et al. A time-aware fault tolerance scheme to improve reliability of multilevel phase-change memory in the presence of significant resistance drift
US9164829B2 (en) Read bias management to reduce read errors for phase change memory
US8510628B2 (en) Method and apparatuses for customizable error correction of memory
KR20160091080A (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
US8638600B2 (en) Random-access memory with dynamically adjustable endurance and retention
Ghofrani et al. Towards data reliable crossbar-based memristive memories
CN103703513A (zh) 包括以潜在大切换等待时间为特征的存储器元件的高效数据存储器件
Hayakawa et al. Resolving endurance and program time trade-off of 40nm TaOx-based ReRAM by co-optimizing verify cycles, reset voltage and ECC strength
US20240194272A1 (en) Method and system for accessing memory cells
US8861256B2 (en) Data storage in memory array with less than half of cells in any row and column in low-resistance states
Zorgui et al. Non-stationary polar codes for resistive memories
Pozidis et al. Phase change memory reliability: A signal processing and coding perspective
Ning Advanced bit flip concatenates BCH code demonstrates 0.93% correctable BER and faster decoding on (36 864, 32 768) emerging memories
US8938575B2 (en) Minimized half-select current in multi-state memories
Chen et al. Coding assisted adaptive thresholding for sneak-path mitigation in resistive memories
Kim et al. Locally rewritable codes for resistive memories
Chen et al. Channel Models and Coding Solutions for 1S1R Crossbar Resistive Memory with High Line Resistance
Engel et al. Capacity optimization of emerging memory systems: A shannon-inspired approach to device characterization
Luo et al. Compensating for sneak currents in multi-level crosspoint resistive memories
Chen et al. Coding Schemes for Crossbar Resistive Memory with High Line Resistance in SCM Applications
Engel et al. Opportunities for analog coding in emerging memory systems
US11190219B1 (en) Decoder for irregular error correcting codes
WO2012015438A1 (en) Memory element and method for determining the data state of a memory element

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

Effective date of abandoning: 20170510

AD01 Patent right deemed abandoned