一次写入存储器中的联合重写和错误校正的制作方法

文档序号:9816373阅读:303来源:国知局
一次写入存储器中的联合重写和错误校正的制作方法
【专利说明】一次写入存储器中的联合重写和错误校正
[0001]相关申请的交叉引用
[0002] 本申请要求2013年1月24日提交的标题为"JOINT REWRITINGAND ERROR CORRECTION IN WRITE-ONCE MEMORIES"的美国临时专利申请第61/756,324号的权益,在此 通过引用将其整体地并入本文并且用于所有目的。
[0003] 有关政府赞助研究和开发的声明
[0004] 本文描述的主题是根据由美国国家科学基金会授予的CIF1218005至少部分地在 政府支持下进行的。美国政府可能对本文公开的主题有特定权利。 技术领域
[0005] 本领域一般地涉及具有可以在单个方向上单独地改变但是作为组被擦除的单元 的单向或只写存储器(W0M),并且更具体地但是不排他地涉及利用错误校正重写只写存储 器。 【背景技术】
[0006] 除非本文另外指示,否则此部分中描述的材料对于本申请中的权利要求而言不是 现有技术,并且不通过包括在此部分中被承认为现有技术。
[0007] 用于重写的编码是用于闪速存储器的技术。编码有基本上增加闪速存储器的寿 命、速度和功率效率的潜力。最近已提出了用于重写的编码。参见例如IEEE信息理论国际研 讨会学报2007年6月第1186-1190页中的V.Bohossian、A .Jiang和J.Bruck, "Buffer coding for asymmetric multi-level memory"以及IEEE信息理论国际研讨会学报2007年6月第 1166-1170 页中的 A. Jiang, V.Bohossian 和 J.Bruck,"Floating codes for joint information storage in write asymmetric memories",通过引用将其并入本文。自最初 提出了时间编码以来,已经在这个领域中出现了许多作品。参见例如IEEE信息理论国际研 讨会学报2010年6月第1928-1932页中的Y.Wu, "Low complexity codes for writing a write-〇nce memory twice"、Y·Wu和A·Jiang,"Position modulation code for rewriting write-once memories,"IEEE Trans.Inf.Theor·,第57卷,第6期,第3692-3697 页,2011 年 6 月、Ε· Yaakobi , S · Kayser ,P.H.Siegel,A· Vardy和J · K · Wolf , "Codes for write-once memories IEEE Trans .Inf .Theor.,第58 卷,第9期,第5985-5999 页,2012年 12月以及IEEE信息理论研究会学报2010年12第1-5页中的E.Yaakobi,S.Kayser,P.Siegel, A.Vardy和J.Wolf, "Efficient two-write wom-codes",通过引用将其并入本文。
[0008] 用于重写的模型是一次写入存储器(101〇模型。参见例如1?丄.1^¥68丨和4.311&111化, "How to reuse a write-once memory,''Information and Control,第55卷,第1-3期,第 1-19页,1982,通过引用将其并入本文。在W0M模型中,一组二进制单元被用于存储数据,并 且当数据被重写时单元电荷电平增加。对于闪速存储器,这个约束暗示重写操作可以使代 价大的块擦除延迟,这导致单元质量的更好保存和更高的写入性能。
[0009] 已存在针对W0M码的设计的许多技术。它们可以包括线性码、扁平码、基于投影几 何的码、陪集编码等。参见例如G.Cohen,P.Godlewski和F.Merkx,"Linear binary code for write-once memories," IEEE Trans · Inf · Theor.,第32卷,第5期,第697-700页,1986 年12月、Merkx,"Womcodes constructed with projective geometries"Traitement du Signal,第 1 卷,第2-2期,第227-231 页,1984以及R.L.Rivest和A.Shamir,"How to reuse a write-once memory," Information andControl,第55卷,第1-3期,第1-19页,1982,通过引 用将其并入本文。近年来发现了具有基本上更高速率的码。参见例如IEEE信息理论国际研 讨会学报2007年6月第1186-1190页中的的¥.8〇11〇881&11,六. <11&1^和<1.81'11〇1^,"811€亡6『 coding for asymmetric multi-level memory" 以及IEEE信息理论国际研讨会学报2007年 6月第1166-1170页中的A. Jiang,V.Bohossian和J.Bruck,"Floating codes forjoint information storage in write asymmetric memories",通过弓| 用将其并入本文。自最初 提出了时间这种编码以来,已经在这个领域中出现了许多作品。参见例如IEEE信息理论国 际研讨会学报20106月第1928-1 2页中的Y.Wu,"Low complexity codes for writing a write-once memory twice" 以及E.Yaakobi,S.Kayser,P.H.Siegel,A. Vardy和J.K.Wolf, "Codes for write-once memories," IEEE Trans · Inf · Theor ·,第58卷,第9期,第5985-5999页,2012年12月,通过引用将其并入本文。在2012年,实现容量的TOM码由Shpilka等人 和Burshtein等人发现。参见例如A.Shpilka,"Capacity achieving multiwrite worn codes,',CoRR,vol .abs/1209 · 1128,2012、"Capacity achieving two-write worn codes,', in LATIN 2012:TheoreticalInformatics,ser.Lecture Notes in Computer Science, vol ·7256 · Springer Berlin Heidelberg,2012,第631-642页、IEEE信息理论国际研讨会学 报2012年7月第1386-1390页中的E.Yaakobi和A· Shpilka,"High sum-rate three-write and non-binary worn codes"以及IEEE信息理论国际研讨会学报2012年7页第1972-1976页 中的D.Burshtein 和 A.Strugatski,"Polar write once memory codes",通过引用将其并 入本文。后者码使用了基于极性编码的构造。
[0010] 与对W0M码的大量工作相比,对也校正错误的W0M码的工作一直有限得多。现有工 作主要在校正几个错误(例如,1、2或3个错误)上参见例如E. Yaakobi,P.Siegel,A. Vardy 和J.Wolf,"Multiple error-correcting wom-codes,"IEEE Trans.Inf.Theor.,第58卷, 第4期,第2220-2230页,2012年4月以及G · Zemor和G · D · Cohen,"Error-correcting worn-codes," IEEE Trans. Inf .Theor.,第37卷,第3期,第730-734页,1991 年5月,通过引用将其 并入本文。
【发明内容】

[0011]讨论了将重写与错误校正组合的编码方案。在一些实施方式中,方案可以支持任 何数量的重写并且能够校正大量的错误。码构造可以使用极性编码。在一些实施方式中,可 以使用基于分别与W0M通道和错误通道(包括它们的公共降级通道和公共升级通道)对应的 冻结集合的分析技术。在一些实施方式,可以实现和速率的下界。还可以针对各种参数计算 实际的和速率。所述分析技术可以集中于二进制对称通道(BSC)。在实践中,对于相对较小 的错误概率,可以常常将用于BSC的冻结集合包含在用于W0M通道的冻结集合中,这使得一 些实施方式能够具有嵌套结构。还能够将编码方案扩展到多级单元(MLC)和更一般的噪声 模型。
[0012] -个方面是一种重写存储器的方法。该方法包括以下步骤:确定所述存储器的多 个单元中的每一个的当前单元电荷电平;以及根据线性变换生成多个下一个单元电荷电 平,其中,各个下一个单元电荷电平是基于所述当前单元电荷电平中的对应一个并且基于 输入数据生成的。各个下一个单元电荷电平大于或等于所对应的当前单元电荷电平,所述 多个下一个单元电荷电平表示所述输入数据,并且所述多个下一个单元电荷电平包括用于 错误校正的冗余。所述方法还包括以下步骤:将所述下一个单元电荷电平存储在所述存储 器中。
[0013] 另一方面是一种读取存储器的方法。方法包括以下步骤:确定所述存储器的多个 单元的当前单元电荷电平,其中所述当前单元电荷电平表示数据和错误校正信息。所述方 法还包括以下步骤:生成多个数据值,其中,所述数据值是基于所述当前单元电荷电平的线 性变换生成的;以及将所述数据值发送到数据目的地。
[0014] 另一方面是一种存储器系统。所述系统包括:存储器,该存储器包括多个单元;处 理器,该处理器耦接至所述存储器并且被配置为确定所述存储器的所述多个单元的当前单 元电荷电平;以及编码器,该编码器耦接至所述存储器并耦接至所述处理器,并且被配置为 根据线性变换生成多个下一个单元电荷电平,其中,各个下一个单元电荷电平是基于所述 当前单元电荷电平中的对应一个并且基于输入数据生成的。各个下一个单元电荷电平大于 或等于所对应的先前单元电荷电平,所述多个下一个单元电荷电平表示所述输入数据,并 且所述多个下一个单元电荷电平包括用于错误校正的冗余。所述系统还包括写入装置,该 写入装置被配置为将所述下一个单元电荷电平存储在所述存储器中。
[0015] 另一方面是一种存储器系统。所述系统包括:存储器,该存储器包括多个单元;处 理器,该处理器耦接至所述存储器并且被配置为确定所述存储器的所述多个单元的当前单 元电荷电平,其中,所述当前单元电荷电平表示数据和错误校正信息。所述系统还包括解码 器,该解码器耦接至所述处理器并且耦接至所述存储器,并且被配置为生成多个数据值,其 中,所述数据值是基于所述当前单元电荷电平的线性变换生成的。所述系统还包括发送器, 该发送器耦接至所述解码器并且被配置为将所述数据值发送到数据目的地。
[0016] 前面的
【发明内容】
仅是例示性的,并且不旨在以任何方式为限制性的。除以上所描 述的例示性方面、实施方式和特征之外,另外的方面、实施方式和特征通过参照附图和以下 【具体实施方式】将变得显而易见。 【附图说明】
[0017] 本公开的前面和其它特征从结合附图进行的以下描述和所附权利要求将变得更 加完全显而易见。理解这些附图仅描绘了根据本公开的数个实施方式并且因此将不被认为 限制其范围,将通过使用附图以附加特性和细节来描述本公开,附图中:
[0018] 图1是例示了示例性写入过程的框图。
[0019] 图2是示出了由用于在W0M重写过程中对数据值进行编码的装置执行的示例操作 的流程图。
[0020] 图3是示出了由用于在W0M读取过程中对单元电荷电平值进行解码的装置执行的 示例操作的流程图。
[0021] 图4是示出了用于在W0M重写过程中对单元电荷电平值进行编码的示例装置的框 图。
[0022] 图5是示出了用于在W0M读取过程中对单元电荷电平值进行解码的示例装置的框 图。
[0023] 图6例示了示例W0M通道W0M(a,e)。
[0024] 图7例示了以下各项的示例:
[0025] 图8例示了使通道W0M(a,,)降级到BSC(a,)的示例。在左边和在右边的两个通道 可以是等效的。
[0026] 图9例示了使通道丨>,5)降级到W〇M(a,ε )的示例。
边的两个通道可以是等效的。
[0027] 图10例示了用于通道BSC(p)、 和BSC(ae)的冻结集合的示例。 这里ρ < αε。
[0028] 图11是例示了针对不同错误概率ρ到可实现和速率的下界的示例的曲线图。
[0029]
发现的Ρ的最大值的示例的曲线图。
[0030]
时在使用码长度Ν = 8192的实验搜索中获得的 不同t的和速率的示例的曲线图。
[0031 ]图14是示例存储器装置的例示。
[0032] 图15是用于与诸如图14所描绘的存储器装置进行通信或以其它方式操作的示例 计算装置的框图。
[0033] 图16是例示了根据本文所讨论的方面操作的系统中的示例数据流的框图。
[0034] 附图所示的这些方面和其它特征中的全部是根据本文所呈现的至少一些实施方 式布置的。 【具体实施方式】
[0035] 在以下详细描述中,参照形成其一部分的附图。在附图中,除非上下文另外规定, 否则类似的符号通常标识类似的组件。在【具体实施方式】、附图和权利要求中描述的例示性 实施方式不意在为限制性的。在不脱离本文所呈现的主题的精神或范围的情况下,可以利 用其它实施方式,并且可以做出其它改变。如本文所通常描述的和图中所例示的,能够按照 各式各样的不同配置布置、取代、组合、分离并且设计本公开的方面,所述不同配置中的全 部在本文中被显式地设想到。
[0036] 本公开通常尤其致力于与一次写入存储器中的联合重写和错误校正有关的方法、 设备、系统、装置和计算机程序产品。
[0037] 简单来说,重写和错误校正这二者是可以被用于诸如闪速存储器的非易失性存储 器的技术。本公开呈现了针对一次写入存储器模型组合重写和错误校正的编码方案。在一 些实施方式中,码构造基于极性码,并且支持任何数量的重写并校正大量的错误。可以针对 二进制对称通道来分析码。能够将结果扩展到多级单元和更一般的噪声模型。
[0038] I.引言
[0039] 本公开呈现了针对纠错W0M码的码构造。码构造方案可以支持任何数量的重写并 且能够校正大量的错误。
[0040] 例如,存储器可以具有N个二进制单元,其中每个单元有两个电荷电平:0和1。单元 编程方法能够仅将单元从0改变为1,而不是从1改变为0。然而,噪声能够在两个方向上:从0 到1以及从1到0改变单元。
[0041] 针对单元编程的编码有两个功能:(1)重写数据,其意在存储替换旧数据的新数 据,以及(2)校正错误。在一些实施方式中,编码方法可以支持t次重写,其中各个写入还被 称作重写,并且其中t是大于或等于二的整数参数。
[0042]在数据的写入之后,噪声可能出现在单元电平中,并且单元编程的特定实施方式 能够校正错误并且恢复通过最后写入存储的数据。在一些实施方式中,这些写入中的每一 个可以使用基本上相同的过程。
[0043] 例如,假设(81,82,一,8幻是表示~个二进制单元在写入之前的电平的二进制向 量。假设(8'1, 8'2,一,8'《是表示~个二进制单元在这个写入之后的单元电平的二进制向 量。另外,假设(bl,b2,~,bM)是表示要写入的数据的二进制向量,其中数据有Μ个比特。注 意以下约束或条件:
[0044] 1)对于i = l,2,…,N,s' i大于或等于si。这是因为单元编程方法增加单元的电平, 但是不会降低它。
[0045] 2)M是为系统所知的整数参数。它的值对于写入可以是相同的或不同的。
[0046] 3)单元电平(si,S2,~,sN)可以与正好在前一个重写之后的单元电平不同,因为 噪声可能自前一个重写以来已改变了单元电平。
[0047] 为了写入数据(131々2,一々1〇,该方法可以具有以下输入:
[0048] (1)当前单元电平(si,s2,…,sN),以及
[0049] (2)要存储的新数据(b 1,b2,…,bM)。
[0050] 基于来自(1)和(2)的输入,该方
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1