用于将信息写入k级存储器部件的存储器控制器和方法

文档序号:6768419阅读:199来源:国知局
专利名称:用于将信息写入k级存储器部件的存储器控制器和方法
用于将信息写入K级存储器部件的存储器控制器和方法相关申请的交叉引用本申请要求于2008年12月24日提交的题为“METHOD AND SYSTEM FOR MULT I-LEVEL MEMORY”的第61/140,627号美国临时专利申请的优先权,该临时专利申请的全部内容通过引用的方式并入本文。
背景技术
闪存是一直寻求针对更高的容量和更高效的I/O的更好的技术的巨大行业。存在几个制造商(东芝、三星等)和提供用于这些设备的技术的几家公司-晟碟、飞索、三星、东芝等。估计每年有数十亿美元的市场。闪存技术已经面向多级单元(MLC)的引入。MLC是能够存储多于一比特的信息的存储器元件。与每个单元使用单级的SLC NAND闪存技术相反,MLC NAND闪存是每个单元使用多个级以允许存储更多的比特的闪存技术。这减少了分离状态的界限(margin)量并且导致可能出现更多的错误,这导致闪存行业朝向更复杂且昂贵的控制器发展。当前可用的技术和产品使用标准误差校正方法(里德-所罗门、TCM和最近的 LDPC等)以及重复的存储器存取,但是这些解决方案很复杂,需要大量的处理,并且由于需要重复的存取而可能导致明显较慢。

发明内容
一种用于向K级存储器部件(unit)写入信息的方法,所述方法可以包括接收信息比特系列;生成表示所述信息比特系列的信息值;将第一函数应用于所述信息值,以提供第一函数结果;选择所述K级存储器部件的第一单元作为当前单元;其中,K是大于1的正整数;向所述第一单元写入第一函数结果;并且重复以下阶段(a)读取当前单元以提供当前的读取结果;(b)将第二函数应用于当前的读取结果和写入当前单元的函数结果,以提供第二函数结果;(c)选择另一单元作为当前单元;以及(d)将所述第二函数结果写入当前单元。—种用于从K级存储器部件读取信息的方法,所述方法可以包括重复以下阶段 (i)读取所述K级存储器部件的当前单元,以提供所述当前单元的读取结果;其中,K是大于1的正整数;(ii)应用响应于所述当前单元的读取结果的第三函数,以用于确定当前的中间获取结果;以及(iii)响应于单元选择规则,来选择另一单元作为当前单元;以及响应于最后的中间获取结果,来确定获取的信息比特系列。一种计算机可读介质,其具有包含在其中以用于向K级存储器部件写入信息的计算机可读代码,所述计算机可读代码可以包括用于执行以下步骤的指令接收信息比特系列;生成表示所述信息比特系列的信息值;将第一函数应用于所述信息值,以提供第一函数结果;选择所述K级存储器部件的第一单元作为当前单元,其中,K是大于1的正整数;将所述第一函数结果写入所述第一单元;以及重复以下阶段(a)读取当前单元,以提供当前的读取结果;(b)将第二函数应用于当前的读取结果和写入当前单元的函数结果,以提供第二函数结果;(C)选择另一单元作为当前单元;以及(d)将所述第二函数结果写入当前单元。一种计算机可读介质,其具有包含在其中以用于从K级存储器部件读取信息的计算机可读代码,所述计算机可读代码可以包括用于执行以下步骤的指令重复以下阶段 读取所述K级存储器部件的当前单元,以提供所述当前单元的读取结果;其中,K是大于1 的正整数;应用响应于所述当前单元的读取结果的第三函数,以用于确定当前的中间获取结果;以及响应于单元选择规则,来选择另一单元作为当前单元;以及响应于最后的中间获取结果,来确定获取的信息比特系列。一种用于向K级存储器部件写入信息的存储器控制器,所述存储器控制器包括 第一接口、处理器和第二接口,所述第一接口用于接收信息比特系列;所述处理器用于生成表示所述信息比特系列的信息值;将第一函数应用于所述信息值,以提供第一函数结果; 以及选择所述K级存储器部件的第一单元作为当前单元;所述第二接口被耦合到所述处理器和所述K级存储器部件,以用于将函数结果写入所述K级存储器部件的单元,并且用于从所述单元读取信息以提供读取结果,其中,K是大于1的正整数;其中,所述存储器控制器适用于将所述第一函数结果写入所述第一单元;其中,所述第二接口和所述处理器被配置为重复以下序列通过所述第二接口来读取当前单元以提供当前的读取结果,以及重复地将第二函数结果写入所述当前单元;通过所述处理器来将第二函数应用于当前的读取结果以及被写入当前单元的函数结果,以提供第二函数结果;以及通过所述处理器来选择另一单元作为当前单元。一种用于从K级存储器部件读取信息的存储器控制器,所述存储器控制器可以包括到所述K级存储器部件的第二接口 ;以及处理器;其中,所述第二接口和所述处理器被配置为重复以下序列直到提供最后的中间获取结果为止通过所述第二接口来读取所述K 级存储器部件的当前单元,以提供所述当前单元的读取结果;通过所述处理器应用响应于所述当前单元的所述读取结果的第三函数,以用于确定当前的中间获取结果;以及响应于单元选择规则,来通过所述处理器选择另一单元作为当前单元;其中,所述处理器被进一步配置为响应于最后的中间获取结果,来确定获取的信息比特系列。


在说明书的总结部分中特别指出并且清楚地要求视为本发明的主题。然而,可以通过参照下面结合附图给出的详细描述来最好地理解涉及操作的组织和方法的本发明及其目的、特征和优点,在这些附图中图1是根据本发明的实施方式的存储器控制器和K级存储器部件的示意图;图2A是根据本发明的实施方式用于向K级存储器部件写入信息的方法的流程图;图2B示出了根据本发明的实施方式的图2A的方法的三个阶段;图2C示出了根据本发明的实施方式的图2A的方法的一些阶段;图3是根据本发明的实施方式用于从K级存储器部件读取信息的方法的流程图; 以及图4是根据本发明的实施方式的存储器控制器和K级存储器部件的示意图。
将认识到,为了使说明简单和清楚,附图中所示的元件不必按比例绘制。例如,为了清楚起见,可以将这些元件中的一些元件的大小相对于其它元件进行放大。此外,在认为适当的情况下,可以在附图中重复参考数字以指示相应的或类似的元件。
具体实施例方式在下面的详细描述中,给出了大量具体的细节,以便提供对本发明的全面理解。然而,本领域技术人员将理解到,可以不用这些具体细节来实现本发明,在其它例子中,没有详细描述众所周知的方法、过程和部件以便不会使本发明难以理解。当结合附图,从下面给出的详细描述,本发明的前述和其它的目的、特征和优点将变得更加清楚,在附图中,相同的参考字符指示不同视角中的相同元件。图1示出了根据本发明的实施方式的存储器控制器200和K级存储器部件100。存储器控制器200适用于向K级存储器部件100写入信息。K级存储器部件100 包括多个K级存储器单元110。K是大于1的正整数。K可以大于2。存储器控制器200包括第一接口 210、处理器220、第二接口 230和内部存储器部件240。处理器220被连接到第一接口 210、第二接口 230和内部存储器部件240。内部存储器部件240还被连接到第二接口 230。第一接口 210用于接收信息比特系列。处理器220被配置为(a)生成表示信息比特系列的信息值;(b)将第一函数应用于信息值,以提供第一函数结果;以及(c)选择K级存储器部件100的第一单元110以作为当前单元。第二接口 230提供到K级存储器部件100的接口,并且被配置为(a)向K级存储器部件100的单元110写入函数结果;以及(b)从单元110读取信息以提供读取结果。存储器控制器200适用于(1)通过第二接口 230向第一单元写入第一函数结果; 并且重复以下阶段(a)通过第二接口 230读取当前单元110以提供当前的读取结果;(b) 通过处理器220向当前的读取结果和被写入当前单元的函数结果应用第二函数,以提供第二函数结果;(c)选择另一单元110作为当前单元;以及(d)通过第二接口 230向当前单元写入第二函数结果。因此,第二接口 230被配置为重复地读取当前单元110以提供当前的读取结果, 并且重复地在处理器已经选择另一单元作为当前单元并且通过向当前读取结果和被写入当前单元的函数结果应用第二函数来计算第二函数结果之后,向当前单元写入第二函数结
果 ο图1示出了存储器控制器220,其包括用于存储读取结果等的内部存储器部件 240。存储器控制器220适用于执行方法500,并且另外地或可替换地,执行下面公开的方法600。存储器控制器200合宜地是用于闪存的快速且便宜的控制器,如下面说明的。本发明有助于快速存取、低复杂性和低价格,以及较高的容量。根据本发明的实施方式,K级存储器部件100是模拟的多级存储器部件。根据本发明的实施方式,处理器220适用于生成信息值以表示单位时间内的信息比特系列。根据本发明的实施方式,处理器220适用于应用为输入分布的累积分布函数(⑶F)的反函数的第一函数。根据本发明的实施方式,被写入当前值的函数结果与当前读取结果之间的关系是通过存储器部件写入规则来管理的。可以通过重复测试存储器单元来估计用于任何特定的闪存部件的存储器部件写入规则。根据本发明的实施方式,响应于存储器部件100写入规则来选择输入分布。根据本发明的实施方式,处理器220适用于执行以下重复的阶段通过应用作为输入分布的累积分布函数(CDF)的反函数的复合函数的第二函数,来向当前读取结果和写入当前单元的函数结果应用第二函数以提供第二函数结果,其中所述第二函数被应用于反向存储器部件写入规则的累积分布函数(CDF)。根据本发明的实施方式,处理器220适用于通过以下步骤来更新反向存储器部件写入规则(i)向所选择的单元写入估计输入;(ii)读取所选择的单元以提供读取结果;以及(iii)存储响应于估计输入和读取结果的写入操作结果;以及响应于写入操作结果来更新反向存储器部件写入规则。根据本发明的实施方式,处理器220适用于将阶段(a)至(d)重复M_1个循环,并且确定M以使所述信息比特系列的比特的数量与M之间的比率接近于由在存储器部件写入规则上使用的输入分布引起的互信息。根据本发明的实施方式,处理器220适用于响应于单元选择规则来选择其他单元,并且其中,存储器控制器适用于从根据单元选择规则所选择的单元获取读取结果,并且处理器220适用于响应于多个读取结果来确定获取的信息比特系列。根据本发明的实施方式,存储器控制器200适用于重复以下阶段(i)通过第二接口 230来读取当前单元,以提供当前单元的读取结果;以及(ii)响应于单元选择规则,通过处理器220来选择另一单元作为当前单元;其中,在获取过程中所选择的单元的顺序与在读取第二函数结果期间所选择的单元的顺序相同。根据本发明的实施方式,处理器220被配置为在每次读取当前单元以后应用第三函数到(i)当前单元的读取结果;(ii)先前的中间获取结果;以及(iii)存储器部件100 写入规则,以用于确定当前的中间获取结果;其中,所获取的信息比特系列响应于最后的中间获取结果。根据本发明的实施方式,获取的信息比特系列与所述信息比特系列相同。图2A是根据本发明的实施方式用于向K级存储器部件写入信息的方法500的流程图。应当注意的是,合宜地,方法500是通过存储器控制器(例如,存储器控制器200) 来执行的。合宜地,方法500实现了向K级存储器部件写入信息以实现高容量的存储器部件的简单且快速的过程。K是大于(或等于)2的正整数。还应当注意的是,方法500可以针对离散的级的存储器部件(例如,具有四个级别)或者模拟的多级存储器部件(采用K->c 或者考虑可以在实际中使用的可行数量的级)来实现。合宜地,方法500从阶段510开始,在阶段510,接收信息比特系列。应当注意的是,信息比特系列通常是基本的信息存储部件(例如,为了写入存储器,向存储器控制器发送一个字节的8个比特的信息或者作为一组一起发送的16个字节的信息等)。还应当注意的是,虽然结合二进制位对方法500进行讨论,但是如作适当变动,,方法500也适用于所接收信息的其它形式。根据本发明的实施方式,阶段510之后紧随阶段520,在阶段520中,生成表示信息比特系列的信息值。应当注意的是,信息值还可以称作消息点。根据本发明的实施方式,阶段520包括阶段521,在阶段521中,生成信息值以表示单位时间内的信息比特系列。也即,信息值可以表示单位时间期间(0,1)的给定点,其对应于信息比特系列,其中,通过二进制展开等来实现二者之间的变换。方法500继续到阶段530,在阶段530,向信息值应用第一函数以提供第一函数结果。应当注意的是,下面讨论的第一函数和第二函数被用于确定应当写入存储器部件的K 级存储器单元的值。因此,阶段530之后紧随阶段540和阶段550,在阶段540中,选择K级存储器部件的第一单元作为当前单元,在阶段550中,向第一单元写入第一函数结果。根据本发明的实施方式,向信息值应用第一函数以提供第一函数结果的步骤包括阶段531,在阶段531中,应用为输入分布的累积分布函数(CDF)的反函数的第一函数。具体地说,第一函数是A-1M),其中,Fq是输入分布q(x)的累积分布函数(⑶F), 其中,参数A是信息值。一旦将第一函数结果写入第一单元,在阶段560就以连续的顺序将其它值写入另外的单元。本领域技术人员应当清楚的是,虽然向K级存储器部件的存储器单元进行写入的存储器控制器200 (或者其它系统)可以试图向某个单元写入某个值,但是所述写入可能是有错误的,并且将错误地写入其它值。然而,从K级存储器部件的单元读取信息较不易于出错,并且因此可以认为对于方法500的过程而言,从K级存储器单元读取的结果是有效无错的。应当注意的是,可以在另一层编码中解决可忽略的数量的错误,所述错误在读取中可能仍然出现并且可能导致可忽略的数量的错误结果。因此,可以认为存储器控制器与K级存储器部件之间的链路是具有近乎正确的反馈(读取)的有噪声的前向信道(写入到存储器单元中,其中可能发生错误)。因此,可以根据本发明的教导来利用使用反馈的新颖的连续传输方案,而不是复杂的前向纠错编码以及通常在现有技术中使用的重复的存储器存取。应当注意的是,方法500通常达到现有方法的至少相同的性能,同时具有额外的速率自适应的值、更快的存取时间和针对噪声模型失配的鲁棒性,从而实现存储介质的最佳使用。因此,阶段550之后紧随阶段560,在阶段560中,将阶段561至564重复一个或多个循环。阶段561包括读取当前单元以提供当前读取结果。阶段562包括向当前读取结果和被写入当前单元的函数结果应用第二函数,以提
供第二函数结果。阶段563包括选择另一单元作为当前单元。阶段564包括向当前单元写入第二函数结果。应当注意的是,通过具有取决于先前的第二函数结果在阶段564中的各写入操作中被写入的值(第二函数结果)一即将试图写入先前单元的值和实际写入的值(当前的读取结果),阶段560的写入步骤是连续的。然而,在阶段561至564中的每一个循环中,依赖性仅存在于先前的循环,从而与现有方法相比使计算非常简单。此外,通过仅提供在读取和解码过程中仍然不清楚的信息(这将在下面进行讨论),每个循环合宜地使在已经写入的单元中可用的信息更加精确。这是可行的,其原因在于,在编码期间(通过存储器控制器写入)和解码期间(通过存储器控制器从存储器部件读取)解码算法是公知的,并且通过在写入下一个信息值之前使每个循环中出现的误差在写入过程期间是已知的。为此,应当注意的是,根据本发明的实施方式,阶段562包括阶段5621,在阶段 5621中,应用作为输入分布的累积分布函数(CDF)的反函数的复合函数的第二函数,所述第二函数被应用于反向存储器部件写入规则的累积分布函数(CDF)。也即是说,其中,χ表示要写入的值(函数结果),并且其中,y表示针对给定的 X(即,读取结果)实际写入的值,即在写入多级存储器单元时、写入等于Fq1OFXxnI^))的值 xn+1的第n+1个单元期间实际写入的值,其中,F (x I y)是反向存储器部件写入规则f (χ | y) (概率密度函数)的累积分布函数(CDF)。实际写入第n+1个单元的值或者可选择地来自相同单元的读取结果(假设这些实际上是相等的)是7 +1。应当注意的是,虽然y和7 被认为是K级离散的,但是χ和Xn被认为是连续的值或者至少实际上具有信息值A的量级的分辨率。也即是说,在存储器部件写入规则中,向存储器单元写入y同时试图写入χ的条件概率由P(y |χ)给出(其通常取决于存储器部件的物理特征,并且也可能取决于诸如温度等外部因素)。也即是说,根据本发明的实施方式,被写入当前值的函数结果与当前读取结果之间的关系是通过存储器部件写入规则来管理的。应当注意的是,输入分布(上面标记为q(x))可以被选择为在一些期望的输入约束条件下(例如,通过选择用于写入的电压水平等)或者为了任何其它目的的容量可达到的分布。根据本发明的实施方式,方法500还包括(如图2B中所示的)阶段501,在阶段 501中,响应于存储器部件写入规则来选择输入分布。还应当注意的是,可以在写入过程中估计对存储在被写入的单元中的信息进行解码的精度,这是由于能够精确地读取存储在每个单元中的值(即使该值不是最初期望被写入的值)的反馈机制。因此,在写入期间,存储器控制器通常能够对可以读取的信息的精度进行估计(即,将来的读取器将能够精确地获取信息比特系列)。可以在阶段560的每次循环期间执行该估计。因此,根据本发明的实施方式,阶段560还包括阶段565,在阶段565中,响应于终止条件来确定是否停止重复(这可以在阶段564的写入之前甚至在阶段562的应用第二函数之前执行)。然而,应当注意的是,终止条件必须响应于从写入的所有单元读取的所有值,从而使写入过程更加复杂。此外,读取过程可能需要每次读取不同数量的单元,从而也可能使读取过程复杂。应当注意的是,可选择地,例如,可以响应于存储器部件写入规则来提前确定循环的数量(标记为M-1)。因此,根据本发明的实施方式,阶段560包括重复M-I次循环,并且其中,该方法还包括阶段503 (如图2B所示),在阶段503中,确定M以使信息比特系列的比特的数量与M的比率接近于由在存储器部件写入规则P (y Ix)上使用的输入分布q(x)引起的互信息[I(X; Y)]。这意味着(近似地)Ν/Μ= I(X;Y),从而给我们提供了将使用的M的值。应当注意的是,也可以使用其它的M值,并且可以提前(例如,在制造期间或者在任何中间时间)确定Μ。如上所述,存储器部件可能受到外部物理条件的影响,可能随着时间而老化,或者受到将改变存储器单元的特性(从而改变存储器部件写入规则)的其它改变条件的影响。 此外,存储器控制器可以不包括与特定的存储器部件有关的信息,并且可能需要使自己适应特定的存储器部件。因此,根据本发明的实施方式,方法500还包括(如图2Β所示的)阶段502,在阶段502中,更新(其还可以包括产生)反向存储器部件写入规则(其可以通过矩阵或者其它方式来进行存储)。应当注意的是,更新还可以应用于存储器部件写入规则,这是因为所述两个写入规则中的每一个写入规则可以通过另一个写入规则来唯一地得到。阶段502的更新包括重复以下阶段(i)向所选择的单元写入估计输入;(ii)读取所选择的单元以提供读取结果;以及(iii)存储响应于估计输入和读取结果的写入操作结果;以及响应于写入操作结果来更新反向存储器部件写入规则。举例而言,应当注意的是,如果噪声是加性高斯白噪声(AWGN),则该方案将变得非常简单,并且每个输入是先前输入和输出的恒定的线性组合。在离散设置(即,离散的多级存储器部件)中,存在针对我们的方案的通用版本, 并且可以在甚至没有提前知道存储器的“经验容量”的情况下获得存储器的“经验容量”。也即是说,噪声可以是任意的,但是我们的方案的性能将仍然如同提前已知了经验统计一样。 这是通过经由写入存储器部件中的随机训练序列来连续地估计“写入”的信道并且不断地适应存储器部件写入规则P (y Ix)来实现的。可以将通用方案视为另一(虽然相关的)发明。将方法500的阶段510至560作为整体来看,应当注意的是,可以针对多个系列的信息比特来重复响应于信息比特系列的信息的写入。 图2B示出了三个阶段501、502和503,其中每个阶段可以是方法500的一部分(通常在阶段510之前执行的)。根据本发明的实施方式,图2C是继续图2A的流程图的流程图。虽然可以独立地执行读取过程(并且甚至通过另一存储器控制器),但是该读取过程也可以是方法500的一部分。图2C示出了根据本发明的实施方式的读取过程。考虑写入过程,应当注意的是,在阶段563中选择的单元通常响应于定义选择顺序的单元选择规则来选择。所述单元在物理上可以相互接近,但是这并不是必须的。根据本发明的实施方式,方法500还包括阶段570和阶段580,在阶段570中,从根据单元选择规则所选择的单元获取读取结果,在阶段580中,响应于多个读取结果来确定所获取的信息比特系列。应当注意的是,除非不幸地在读取操作中的一个中出现错误,否则所获取的信息比特系列应当与在阶段510中接收的信息比特系列相同。根据本发明的实施方式,阶段570包括重复阶段571和573。阶段571包括读取当前单元以提供当前单元的读取结果(应当注意的是,阶段570 的当前单元通常与阶段560的当前单元不同)。阶段572包括响应于单元选择规则来选择另一单元作为当前单元;其中,在获取期间选择的单元的顺序与在写入第二函数结果期间选择单元的顺序是相同的。根据本发明的实施方式,阶段570还包括阶段572,其中,当前单元的每次读取(阶段571)之后紧随阶段572,在阶段572中,将第三函数应用于以下各项(i)所述当前单元的读取结果;(ii)先前的中间获取结果;以及(iii)所述存储器部件写入规则,以用于确定当前中间的获取结果;其中,所述获取的信息比特系列响应于最后的中间获取结果。当从存储器读回时,控制器简单地顺序读取M个单元,并且构造后验概率密度函数(PDF) 1(&)=^^、(&|义而,...^)以获得所获取的信息比特系列。存储器控制器现在能够确定在信息值A中体现的最可能的信息比特系列,其具有可以与互信息对应的比特率,并且具有非常低的误差概率。应当注意的是,对于小于M的每一数量的读取结果而言, 获得中间的获取结果。根据在阶段572中提到的本发明的实施方式,也递归地构造后验,并且由 Cl(a)=fA|n..j +1 (a|y!,y2,..,yn+1 )=fn(a)*p(yn+11xn+1 )/p(yn+1)给出。然后,存储器控制器能够对与二进制间隔对应的N个比特进行解码,所述二进制比特具有小于fM(a)的最大后验概率, 并且包含具有概率接近1的信息值A。阶段572还可以包括不仅获取信息值的中间结果,而且更新和存储中间的后验分布。“中间的获取结果”还可以包括给出迄今为止的一系列读取结果的信息值A的当前的后验分布。在每个时间点处,根据本发明的实施方式,阶段570包括从在单位时间间隔内一致的fo(a)开始计算当前的中间获取结果£ =^1^1 1而,...&)的后验密度函数。第一函数、第二函数和第三函数的选择将导致后验在真实信息值A附近快速集中,从而快速地减小在读取过程中的不确定性并且允许以适当的速率可靠地重新构造所获取的信息比特系列。阶段580的确定合宜地包括在已知迄今为止存取的单元的所有读取结果的条件下,计算在单位时间间隔的当前的中间获取结果位置的后验概率分布,并且找出具有任意接近于1的后验概率的(较小)间隔,其从而包括具有相同的非常高的概率的信息值A。然后,信息比特系列是通过该较小的间隔的二进制表示得到的。应当注意的是,合宜地,获取的信息比特系列与所述信息比特系列以任意接近于1 的概率相同。图3示出了根据本发明的实施方式用于从K级存储器部件读取信息的方法 600(其中,K是大于1的正整数)。应当注意的是,可以通过相同的存储器控制器或者通过另一存储器读取系统来执行方法600。方法600从阶段610开始,阶段610重复阶段611、612和613。阶段611包括读取当前单元以提供当前单元的读取结果。
阶段612包括应用响应于当前单元的读取结果的第三函数以确定当前的中间获取结果;以及阶段613包括响应于单元选择规则来选择另一单元以用作当前单元。根据本发明的实施方式,应用第三函数的步骤包括阶段6121,在阶段6121中, 将第三函数应用于以下各项(i)当前单元的读取结果;(ii)先前的中间获取结果;以及 (iii)存储器部件写入规则,以确定当前的中间获取结果。阶段610之后紧随阶段620,在阶段620中,响应于最后的中间获取结果来确定获取的信息比特系列。根据本发明的实施方式,K级存储器部件是模拟的多级存储器部件。根据本发明的实施方式,中间获取的结果表示单位时间间隔内的信息比特系列。应当注意的是,方法600通常对应于方法500的阶段570和580及其变型。图4示出了根据本发明的实施方式用于从K级存储器部件100读取信息的存储器控制器300。存储器控制器300包括到K级存储器部件100 (K是大于1的正整数)的第二接口 330和彼此连接的处理器320 (并且还可以包括内部存储器部件340和用于提供信息比特系列的第一接口 310)。存储器控制器300适用于重复以下阶段(a)通过第二接口 330读取K级存储器部件100的当前单元110以提供当前单元 110的读取结果。(b)通过处理器320来应用响应于当前单元的读取结果的第三函数以确定当前中间的获取结果;以及(C)响应于单元选择规则,通过处理器320选择另一单元110作为当前单元110。处理器320还用于响应于最后的中间获取结果来确定获取的信息比特系列。根据本发明的实施方式,其中,K级存储器部件100是模拟的多级存储器部件。根据本发明的实施方式,中间的获取结果表示单位时间间隔内的信息比特系列。根据本发明的实施方式,处理器320还用于通过将第三函数应用于以下各项来应用第三函数(i)当前单元的读取结果;(ii)先前的中间获取结果;以及(iii)存储器部件写入规则,以用于确定当前的中间获取结果。根据本发明的实施方式,公开了第一计算机可读介质,其具有包含在其中以用于向K级存储器部件写入信息的计算机可读代码,所述第一计算机可读代码包括用于执行以下步骤的指令接收信息比特系列;生成表示所述信息比特系列的信息值;将第一函数应用于所述信息值,以提供第一函数结果;选择所述K级存储器部件的第一单元作为当前单元;将所述第一函数结果写入所述第一单元;以及重复以下阶段(a)读取当前单元,以提供当前的读取结果;(b)将第二函数应用于所述当前的读取结果和写入所述当前单元的函数结果,以提供第二函数结果;(c)选择另一单元作为当前单元;以及(d)将所述第二函数结果写入所述当前单元;其中,K是大于1的正整数。根据本发明的实施方式,K级存储器部件是模拟的多级存储器部件。根据本发明的实施方式,生成的步骤包括生成信息值以表示单位时间间隔内的信息比特系列。
根据本发明的实施方式,将第一函数应用于信息值以提供第一函数结果的步骤包括应用作为输入分布的累积分布函数(CDF)的反函数的第一函数。根据本发明的实施方式,被写入所述当前值的函数结果与所述当前读取的结果之间的关系是通过存储器部件写入规则来管理的。根据本发明的实施方式,响应于所述存储器部件写入规则,来选择输入分布。根据本发明的实施方式,将所述第二函数应用于所述当前的读取结果和被写入所述当前单元的所述函数结果以提供所述第二函数结果的重复的阶段包括应用作为输入分布的累积分布函数(CDF)的反函数的复合函数的第二函数,所述第二函数被应用于反向存储器部件写入规则的累积分布函数(CDF)。根据本发明的实施方式,包括用于更新反向存储器部件写入规则的指令,其中,所述更新的步骤包括重复以下阶段(i)将估计输入写入选择的单元;( )读取所选择的单元以提供读取结果;以及(iii)存储响应于估计输入和所述读取结果的写入操作结果;以及响应于所述写入操作结果,来更新所述反向存储器部件写入规则。根据本发明的实施方式,所述重复的步骤包括重复M-I个循环,其中,所述第一计算机可读代码还包括用于确定M的指令,以使所述信息比特系列的比特的数量与M之间的比率接近于由在存储器部件写入规则上使用的输入分布引起的互信息。根据本发明的实施方式,响应于单元选择规则选择另一单元,并且其中,所述第一计算机可读代码还包括用于从根据所述单元选择规则所选择的单元来获取读取结果并且响应于多个读取结果来确定获取的信息比特系列的指令。根据本发明的实施方式,所述获取的步骤包括重复以下阶段(i)读取当前单元, 以提供所述当前单元的读取结果;以及(ii)响应于所述单元选择规则,来选择另一单元作为当前单元;其中,在获取期间选择的所述单元的顺序与在写入所述第二函数结果期间选择的所述单元的顺序相同。根据本发明的实施方式,每当读取当前单元之后将第三函数应用于以下各项(i) 所述当前单元的读取结果;(ii)先前的中间获取结果;以及(iii)所述存储器部件写入规则,以用于确定当前中间的获取结果;其中,所述获取的信息比特系列响应于最后的中间获取结果。根据本发明的实施方式,所述获取的信息比特系列与所述信息比特系列以任意接近于1的概率相同(用于增加M和N的值)。根据本发明的实施方式,公开了第二计算机可读介质,其具有包含在其中以用于从K级存储器部件读取信息的第二计算机可读代码,所述第二计算机可读代码包括用于执行以下步骤的指令重复以下阶段(i)读取当前单元,以提供所述当前单元的读取结果; (ii)应用响应于所述当前单元的所述读取结果的第三函数,以用于确定当前的中间获取结果;以及(iii)响应于单元选择规则,来选择另一单元作为当前单元;以及响应于最后的中间获取结果,来确定获取的信息比特系列;其中,K是大于1的正整数。根据本发明的实施方式,所述K级存储器部件是模拟的多级存储器部件。根据本发明的实施方式,所述中间的获取结果表示单位时间间隔内的信息比特系列。根据本发明的实施方式,所述应用第三函数的步骤包括将第三函数应用于以下各项(i)所述当前单元的读取结果;(ii)先前的中间获取结果;以及(iii)存储器部件写入规则,以用于确定当前的中间获取结果。上面提到的方法和装置的特征在于降低的复杂度和成本、提高的容量和适应性、 快速的存取时间。与通常在多级和模拟存储器中使用的复杂的前向纠错方案相反,上面提到的装置和方法可以很简单并且是顺序的。因此,期望上面提到的装置和方法较不复杂并且更加便且。上面提到的装置和方法对于噪声模型失配是鲁棒的,并且还可以使其自适应于获得经验容量。它们的特征在于更好利用地存储介质。合宜地,重复读取/写入方法以减小存取时间为代价“改善了”信道(并且增加了其容量)。这可以自动地并入我们的方案中,从而使我们能够根据需要来与存储器权衡存取时间。可以通过使用传统的工具、方法和部件来实现本发明。因此,在本文中未详细阐述这些工具、部件和方法的细节。在前面的描述中,给出了大量具体的细节,以便提供对本发明的全面理解。然而,应当认识到,可以在无需借助于具体阐述的细节的情况下实现本发明。在本发明中仅示出并描述了本发明的示例性的实施方式及其多功能性的几个实施例。应当理解的是,本发明能够在多种其它组合和环境中使用,并且能够在本文描述的发明概念的范围内进行改变或修改。虽然已经在本文中示出并描述了本发明的某些特征,但是本领域普通技术人员现在将想到很多修改、替换、改变和等同物。因此,应当理解的是,期望所附的权利要求涵盖落入本发明的真实精神内的所有这些修改和改变。
权利要求
1.一种用于向K级存储器部件写入信息的方法,所述方法包括 接收信息比特系列;生成表示所述信息比特系列的信息值;将第一函数应用于所述信息值,以提供第一函数结果;选择所述K级存储器部件的第一单元作为当前单元;其中,K是大于1的正整数; 将所述第一函数结果写入所述第一单元;以及重复以下阶段(a)读取当前单元以提供当前的读取结果;(b)将第二函数应用于所述当前的读取结果和写入所述当前单元的函数结果,以提供第二函数结果;(c)选择另一单元作为当前单元;以及(d)将所述第二函数结果写入所述当前单元。
2.根据权利要求1所述的方法,其中,所述K级存储器部件是模拟的多级存储器部件。
3.根据权利要求1所述的方法,包括生成所述信息值以表示单位时间间隔中的所述信息比特系列。
4.根据权利要求1所述的方法,其中,所述第一函数是输入分布的累积分布函数(CDF) 的反函数。
5.根据权利要求1所述的方法,其中,被写入所述当前值的函数结果与所述当前的读取结果之间的关系是通过存储器部件写入规则来管理的。
6.根据权利要求5所述的方法,包括 根据所述存储器部件写入规则来选择输入分布。
7.根据权利要求1所述的方法,包括应用作为输入分布的累积分布函数(CDF)的反函数的复合函数的第二函数,所述第二函数被应用于反向存储器部件写入规则的累积分布函数(CDF)。
8.根据权利要求7所述的方法,还包括更新所述反向存储器部件写入规则,其中,所述更新包括重复以下阶段(i)向所选择的单元写入估计输入;(ii)读取所选择的单元以提供读取结果;以及(iii)存储响应于所述估计输入和所述读取结果的写入操作结果;以及响应于所述写入操作结果,来更新所述反向存储器部件写入规则。
9.根据权利要求1所述的方法,其中,所述重复包括 重复M-I个循环,其中,所述方法还包括确定M以使所述信息比特系列的比特的数量与M之间的比率接近于由在存储器部件写入规则上使用的输入分布引起的互信息。
10.根据权利要求1所述的方法,其中,所述选择另一单元响应于单元选择规则,并且其中,所述方法还包括从根据所述单元选择规则所选择的单元来获取读取结果并且响应于多个读取结果来确定获取的信息比特系列。
11.根据权利要求10所述的方法,其中,所述获取包括 重复以下阶段(i)读取当前单元,以提供所述当前单元的读取结果;以及( )响应于所述单元选择规则,来选择另一单元作为当前单元;其中,在所述获取期间选择的单元的顺序与被选择来用于写入所述第二函数结果的单元的顺序相同。
12.根据权利要求11所述的方法,其中,每次读取当前单元之后将第三函数应用于以下各项(i)所述当前单元的读取结果;(ii)先前的中间获取结果;以及(iii)所述存储器部件写入规则,以用于确定当前的中间获取结果;其中,所述获取的信息比特系列响应于最后的中间获取结果。
13.根据权利要求10所述的方法,其中,所述获取的信息比特系列与所述信息比特系列相同。
14.一种用于从K级存储器部件读取信息的方法,所述方法包括 重复以下阶段(i)读取所述K级存储器部件的当前单元,以提供所述当前单元的读取结果;其中,K是大于1的正整数;( )应用响应于所述当前单元的读取结果的第三函数以用于确定当前的中间获取结果;以及(iii)响应于单元选择规则,来选择另一单元作为当前单元;以及响应于最后的中间获取结果,来确定获取的信息比特系列。
15.根据权利要求14所述的方法,其中,所述K级存储器部件是模拟的多级存储器部件。
16.根据权利要求14所述的方法,其中,所述中间的获取结果表示单位时间间隔内的信息比特系列。
17.根据权利要求14所述的方法,其中,所述应用第三函数包括将所述第三函数应用于以下各项(i)所述当前单元的读取结果;(ii)先前的中间获取结果;以及(iii)存储器部件写入规则,以用于确定当前的中间获取结果。
18.一种计算机可读介质,其具有包含在其中以用于向K级存储器部件写入信息的计算机可读代码,所述计算机可读代码包括用于执行以下操作的指令接收信息比特系列;生成表示所述信息比特系列的信息值;将第一函数应用于所述信息值,以提供第一函数结果;选择所述K级存储器部件的第一单元作为当前单元,其中,K是大于1的正整数; 将所述第一函数结果写入所述第一单元;以及重复以下阶段(a)读取当前单元,以提供当前的读取结果;(b)将第二函数应用于所述当前的读取结果和被写入所述当前单元的函数结果以提供第二函数结果;(c)选择另一单元作为当前单元;以及(d)将所述第二函数结果写入所述当前单元。
19.根据权利要求18所述的计算机可读介质,其中,所述K级存储器部件是模拟的多级存储器部件。
20.根据权利要求18所述的计算机可读介质,包括生成所述信息值以表示单位时间间隔中的所述信息比特系列。
21.根据权利要求18所述的计算机可读介质,包括应用为输入分布的累积分布函数(CDF)的反函数的所述第一函数。
22.根据权利要求18所述的计算机可读介质,其中,被写入所述当前值的函数结果与所述当前读取的结果之间的关系是通过存储器部件写入规则来管理的。
23.根据权利要求22所述的计算机可读介质,其中,输入分布是响应于所述存储器部件写入规则来选择的。
24.根据权利要求18所述的计算机可读介质,其中,所述将第二函数应用于所述当前的读取结果和被写入所述当前单元的函数结果以提供第二函数结果的重复的阶段包括应用为输入分布的累积分布函数(CDF)的反函数的复合函数的所述第二函数,所述第二函数被应用于反向存储器部件写入规则的累积分布函数(CDF)。
25.根据权利要求24所述的计算机可读介质,还包括用于更新所述反向存储器部件写入规则的指令,其中,所述更新包括重复以下阶段(i)将估计输入写入选择的单元;(ii)读取所选择的单元以提供读取结果;以及(iii)存储响应于所述估计输入和所述读取结果的写入操作结果;以及响应于所述写入操作结果,来更新所述反向存储器部件写入规则。
26.根据权利要求18所述的计算机可读介质,其中,所述重复包括重复M-I个循环,其中,所述第一计算机可读代码还包括用于确定M以使所述信息比特系列的比特的数量与M之间的比率接近于由在存储器部件写入规则上使用的输入分布引起的互信息的指令。
27.根据权利要求18所述的计算机可读介质,其中,所述选择另一单元响应于单元选择规则,并且其中,所述第一计算机可读代码还包括用于从根据所述单元选择规则所选择的单元来获取读取结果并且响应于多个读取结果来确定获取的信息比特系列的指令。
28.根据权利要求27所述的计算机可读介质,其中,所述获取包括重复以下阶段(i) 读取当前单元,以提供所述当前单元的读取结果;以及(ii)响应于所述单元选择规则,来选择另一单元作为当前单元;其中,在所述获取期间选择的单元的顺序与被选择来用于写入所述第二函数结果的单元的顺序相同。
29.根据权利要求28所述的计算机可读介质,其中,每次读取当前单元之后将第三函数应用于以下各项(i)所述当前单元的读取结果;(ii)先前的中间获取结果;以及(iii) 所述存储器部件写入规则,以用于确定当前的中间获取结果;其中,所述获取的信息比特系列响应于最后的中间获取结果。
30.根据权利要求27所述的计算机可读介质,其中,所述获取的信息比特系列与所述信息比特系列相同。
31.一种计算机可读介质,其具有包含在其中以用于从K级存储器部件读取信息的计算机可读代码,所述计算机可读代码包括用于执行以下操作的指令重复以下阶段(i)读取所述K级存储器部件的当前单元,以提供所述当前单元的读取结果;其中,K是大于1的正整数;(ii)应用响应于所述当前单元的读取结果的第三函数,以用于确定当前的中间获取结果;以及(iii)响应于所述单元选择规则,来选择另一单元作为当前单元;以及响应于最后的中间获取结果,来确定获取的信息比特系列。
32.根据权利要求31所述的计算机可读介质,其中,所述K级存储器部件是模拟的多级存储器部件。
33.根据权利要求31所述的计算机可读介质,其中,所述中间的获取结果表示单位时间间隔内的信息比特系列。
34.根据权利要求31所述的计算机可读介质,其中,所述应用第三函数包括将所述第三函数应用于以下各项(i)所述当前单元的读取结果;(ii)先前的中间获取结果;以及 (iii)所述存储器部件写入规则,以用于确定当前的中间获取结果。
35.一种用于向K级存储器部件写入信息的存储器控制器,所述存储器控制器包括第一接口,其用于接收信息比特系列;处理器,其用于生成表示所述信息比特系列的信息值;将第一函数应用于所述信息值,以提供第一函数结果;以及选择所述K级存储器部件的第一单元作为当前单元;以及第二接口,其被耦合到所述处理器和所述K级存储器部件,以用于将函数结果写入所述K级存储器部件的单元,并且用于从单元读取信息以提供读取结果,其中,K是大于1的正整数;其中,所述存储器控制器适用于将所述第一函数结果写入所述第一单元;其中,所述第二接口和所述处理器被配置为重复以下序列通过所述第二接口来读取当前单元以提供当前的读取结果,以及重复地将第二函数结果写入所述当前单元;通过所述处理器来将第二函数应用于所述当前的读取结果以及被写入所述当前单元的函数结果,以提供第二函数结果;以及通过所述处理器来选择另一单元作为当前单元。
36.根据权利要求35所述的存储器控制器,其中,所述K级存储器部件是模拟的多级存储器部件。
37.根据权利要求35所述的存储器控制器,其中,所述处理器适用于生成所述信息值以表示单位时间间隔中的所述信息比特系列。
38.根据权利要求35所述的存储器控制器,其中,所述处理器适用于通过应用为输入分布的累积分布函数(CDF)的反函数的所述第一函数,将所述第一函数应用于所述信息值,以提供所述第一函数结果。
39.根据权利要求35所述的存储器控制器,其中,被写入所述当前值的函数结果与所述当前的读取结果之间的关系是通过存储器部件写入规则来管理的。
40.根据权利要求39所述的存储器控制器,其中,输入分布是响应于所述存储器部件写入规则来选择的。
41.根据权利要求35所述的存储器控制器,其中,所述处理器适用于应用为输入分布的累积分布函数(CDF)的反函数的复合函数的第二函数,所述第二函数被应用于反向存储器部件写入规则的累积分布函数(CDF)。
42.根据权利要求41所述的存储器控制器,其中,所述处理器还被配置为重复地向所选择的单元写入估计输入、读取所选择的单元以提供读取结果、并存储响应于所述估计输入和所述读取结果的写入操作结果;以及响应于所述写入操作结果,来更新所述反向存储器部件写入规则。
43.根据权利要求35所述的存储器控制器,其中,所述处理器适用于将阶段(a)至(d) 重复M-I个循环,并且确定M以使所述信息比特系列的比特的数量与M之间的比率接近于由在存储器部件写入规则上使用的输入分布引起的互信息。
44.根据权利要求35所述的存储器控制器,其中,所述处理器适用于响应于单元选择规则,来选择另一单元,并且其中,所述存储器控制器适用于从根据所述单元选择规则所选择的单元来获取读取结果,并且所述处理器适用于响应于多个读取结果,来确定获取的信息比特系列。
45.根据权利要求44所述的存储器控制器,其中,所述存储器控制器适用于通过重复以下操作来获取读取结果(i)通过所述第二接口来读取当前单元,以提供所述当前单元的读取结果;以及 ( )响应于所述单元选择规则,来通过所述处理器选择另一单元作为当前单元;其中,在所述获取期间选择的单元的顺序与被选择来用于写入所述第二函数结果的单元的顺序相同。
46.根据权利要求45所述的存储器控制器,其中,所述处理器用于在每次读取当前单元之后将第三函数应用于以下各项(i)所述当前单元的读取结果;(ii)先前的中间获取结果;以及(iii)所述存储器部件写入规则,以用于确定当前的中间获取结果;其中,所述获取的信息比特系列是响应于最后的中间获取结果的。
47.根据权利要求44所述的存储器控制器,其中,所述获取的信息比特系列与所述信息比特系列相同。
48.一种用于从K级存储器部件读取信息的存储器控制器,所述存储器控制器包括 到所述K级存储器部件的第二接口 ;以及处理器;其中,所述第二接口和所述处理器被配置为重复以下序列直到提供最后的中间获取结果为止通过所述第二接口读取所述K级存储器部件的当前单元,以提供所述当前单元的读取结果;通过所述处理器应用响应于所述当前单元的读取结果的第三函数以用于确定当前的中间获取结果;响应于单元选择规则,来通过所述处理器选择另一单元作为当前单元; 其中,所述处理器还被配置为响应于最后的中间获取结果,来确定获取的信息比特系列。
49.根据权利要求48所述的存储器控制器,其中,所述K级存储器部件是模拟的多级存储器部件。
50.根据权利要求48所述的存储器控制器,其中,所述中间的获取结果表示单位时间间隔内的信息比特系列。
51.根据权利要求48所述的存储器控制器,其中,所述处理器被配置为通过将第三函数应用于以下各项来应用所述第三函数(i)所述当前单元的读取结果;(ii)先前的中间获取结果;以及(iii)存储器部件写入规则,以用于确定当前的中间获取结果。
52.根据权利要求1至12中的任意一项所述的方法,其中,K大于2。
53.根据权利要求13至17中的任意一项所述的方法,其中,K大于2。
54.根据权利要求18至30中的任意一项所述的计算机可读介质,其中,K大于2。
55.根据权利要求31至34中的任意一项所述的计算机可读介质,其中,K大于2。
56.根据权利要求35至47中的任意一项所述的存储器控制器,其中,K大于2。
57.根据权利要求48至51中的任意一项所述的存储器控制器,其中,K大于2。
全文摘要
一种方法、计算机可读介质和存储器控制器。所述方法用于向K级存储器部件写入信息,包括接收信息比特系列;生成表示所述信息比特系列的信息值;将第一函数应用于所述信息值,以提供第一函数结果;选择所述K级存储器部件的第一单元作为当前单元;其中,K是大于1的正整数;将第一函数结果写入所述第一单元;并且重复以下阶段(a)读取当前单元以提供当前的读取结果;(b)将第二函数应用于所述当前的读取结果和写入所述当前单元的函数结果,以提供第二函数结果;(c)选择另一单元作为当前单元;以及(d)将所述第二函数结果写入所述当前单元。
文档编号G11C11/56GK102292776SQ200980155063
公开日2011年12月21日 申请日期2009年12月24日 优先权日2008年12月24日
发明者奥弗·沙耶维茨, 梅厄·费德尔 申请人:雷蒙特亚特特拉维夫大学有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1