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

文档序号:9816373阅读:来源:国知局
元。假设ANxN=A8x8矩阵41为:
[0247] 考虑重写(编码)操作和后续错误校正(解码)操作。对于重写,假设抖动为(gl,…, 区《 = &1,~48) = (1,0,1,0,1,0,0,1)。假设& = 0:87。假设6 = 0:29。假设?冊1={1,2,4, 5,6}。假设FC={2,6}。假设M= |FW0M-FC| = | {1,4,5} | =3。并且假设要存储的数据为(bl, b2,…,bM) = (bl,b2,b3) = (1,0,1)。假定在这个重写之前的单元电平是(si,…,sN)= (si,···,sN) = (0,0,1,0,0,0,0,0)。结果,(vl,…,vN) = (vl,…,v8) = (si ? gl,···,s8 ? g8) = (1,0,0,0,1,0,0,l)〇
[0248] 考虑(vl,…,v8) = (ul,'",u8)A8x8的重写并且在图4中示出了 WOM通道42的转移概 率。重写的方法计算(ul,…,u8) = (l,0,0,0,1,0,0,0)(注意ul = bl = l,u4 = b2 = 0,u5 = b3 =1,并且112 = 116 = 0);因此(>'1,...,¥'8) = (111,...,118)厶8\8=(0,0,0,0,1,0,0,0)并且(8' 1,-",s'8) = (v'l?gl,…,v'8? g8 ) = (1,0,1,0,0,0,0,1)。结果,单元被编程为电平(s ' l,.",s,8) = (l,0,l,0,0,0,0,l)〇
[0249] 为了写入数据(b^bs,. ..,bM),我们的方法有以下输入:(1)当前单元电平(S1, S2, . . .,SN),以及(2)要存储的新数据(bl,b2, . . .,bM)。它然后计算输出以l,sS,…,S、),并 且将单元编程为那些新电平。这里我们的约束是:
[0250] 1)如之前提到的,对于i = 1,2,…,N,我们有约束Si。
[0251 ] 2)新单元电平(s' 1,s' 2,…,s' n)经由由我们的方法指定的映射来表示新数据(bi, t)2,. . .,bM) 〇
[0252] 接下来,考虑错误校正(解码)。图5例示了解码器的实施方式。噪声通道52各自是 具有错误概率P的二进制对称通道。假定在上述重写之后,噪声将单元电平从(s'1,···,8'8) =(1,0,1,0,0,0,0,1)改变为(cl,…,c8) = (0,l,l,0,0,0,0,1)。错误校正的方法使用矩阵 51来将(u 1,…,u8)的值恢复为(1,0,0,0,1,0,0,0)。因此存储数据被正确地恢复为(b 1,b2, b3) = (ul,u4,u5 ) = (1,0,1)〇
[0253] 本描述的剩余部分被组织如下。部分II包括基本模型和表示法。部分III包括码构 造的实施方式。部分IV包括码的实施方式。部分V包括码扩展的实施方式。部分VI包括对由 码实施方式实现的实际和速率的分析。部分VIII包括另外的示例实施方式。部分VIII包括 结束语。
[0254] II.基本模型
[0255] 存储器可以具有被用于存储数据的N( = 2m)个W0M单元,其中各个单元有两个电 平:0和1。单元能够仅从电平0改变为电平1,但是反之不亦然。
[0256] 可以将t个消息沁,12,'",1*的序列写入到101单元中,并且当写入了吣时,不必记 忆先前消息的值。(假设表示消息^中的比特的数量,并且假设岣e )为了简单, 假设单元在第一写入发生之前全部在电平0下。
[0257] 在对单元进行编程之后,噪声可能出现在单元电平中。噪声可以被认为是具有错 误概率p的BSC,由BSC(p)表示。这些错误可以是硬错误,即,它们物理上将单元电平从0改变 为1或从1改变为0。对于闪速存储器,这样的错误例如可能是通过读取/写入中断、干扰和电 荷泄漏引起的,并且可能是相当普通的。
[0258] A.用于重写的模型
[0259] 用于重写和错误校正的码可以包括t个编码函数Ei,E2,···,Et和解码函数Di,D2,···, Dt。对于i = 1,2,…,N和j = l,2,…,t,假设Si, {〇, 1和Y i, {〇, 1}分别表示在第i个单元 正好在第j次写入之前和之后的电平。如以上所讨论的,。假设Clue{〇,l}表示当 消息的读取可能发生时第i个单元在第j次写入之后和在第(j+Ι)次写入之前的任何时候的 电平。错误(:^$8 /^£{〇,1}是由噪声通道85(:(?)引起的第1个单元中的错误。(这里0是 X0R函数。)对于j = 1,2,…,t,解码函数%: {iUf X执1.)% - (0JF考虑到初始单元状态以和 要存储的消息1」将单元电平从8」=(81小82小'"以,』)改变为8/」=(8 /1小8/2小~,8/1』)。 (即,&(以爲)」。)当吣的读取发生时,解码函数% {(Uf - 产考虑到有噪声单元状 态Cj = (Cl, j,C2, j,…,CN, j )来恢見消息。(即,Dj (Cj ) =Mj 〇 )
[0260]
:称作第j次写入的速率。%議=巧被称作码的和速 率。当不存在噪声时,W0M码的最大和速率已知为log2(t+l),然而,对于有噪声W0M,最大和 速率仍然基本上未知。
[0261] B.极性码
[0262] 极性码的短指令由于它与本文所讨论的码构造实施方式的关联而遵循。极性码是 由Arkan提出的线性块纠错码。参见例如E.Arkan, "Channel polarization:Amethod for constructing capacity-achieving codes for symmetric binary-input memoryless channels," IEEE Trans · Inf · Theor ·,第55卷,第7期,第3051-3073期,2009年7月。它是具有 可证明地实现对称二进制输入离散无记忆通道(B-DMC)的通道容量的显式构造的第一已知 码。极性码的编码器通过线性变换将N个输入比特1 1=(111,112,一,_)变换为~个码字比特1 =
,并且每^"是&的第m个克罗内克积。) N个码字比特(Χ1,χ2,…,xn)通过B-DMC的N个独立拷贝来发送。对于解码,能够分别针对m, u2,…,uN综合处理N个变换的二进制输入通道瞬|气《|23,…,???。这些通道被极化使得对 于大N,几乎为1的索引i的小部分接近B-DMC的容量,同时针对剩余索引i的itMf)的 值几乎为0。索引的后者集合被称作冻结集合。对于错误校正,在冻结集合中具有i的u/取 固定值,并且其它u/被用作信息比特。连续消除(SC)解码算法随着N增加而实现逐渐缩小 的块错误概率。
[0263] 极性码还能够被用于有各种应用的最优无损源编码。参见例如S . Korada和 R.Urbanke,uPolar codes are optimal forlossy source coding,,! IEEE Trans. Inf. Theor.,第56卷,第4期,第1751-1768页,2010年4月。具体地,该构思可以被用于 建立实现W0M码的容量。参见例如IEEE信息理论国际研讨会学报2012年7月第1972-1976月 中的D.Burshtein和A. Strugatski,"Polarwrite once memory codes''。
[0264]所呈现的码分析使用基于冻结集合定义的升级通道和降级通道的概念。如由Tal 和Vardy所教导的,如果能够通过将W与附加通道Q:Y-Z连接起来构造 W的等效通道则通道 矿:X-Z被称作"相对于通道W: X-Y降级了",其中Q的输入与W的输出链接。参见例如I. Tal 和A.Vardy,"How to construct polar codes,"CoRR,vol.abs/1105.6164,2011。即,
[0266] 它可以被表示为r < W。等效地,通道W被称作"相对于r的升级",由W 2 W'表示。
[0267] III.码构造
[0268] 在这个部分中,描述了将重写与错误校正组合的码构造的实施方式。
[0269] A.具有嵌套结构的基本码构造
[0270] 1)总则:首先,考虑单个重写(即,t次写入中的一个)。假设S=(S1, S2,~SN)e{〇, Π 〃和3'=(3'1,3'2,一, 3、)^{〇,1}~分别表示正好在这个重写之前和之后的单元电平。假 设为具有均匀地分布的独立且同样分布的比特的伪随机比特序列。g的值 为编码器和解码器这二者所知,并且g被称作抖动。
[0271 ]对于i = l,2,···,N,假设Vi = si ? giE {〇, 1}和ν' 1 = 8' i ? giE {〇, 1}分别为第i个单 元在重写之前和之后的值。对于这个重写建立了W0M通道,诸如图6所示,由表示W0M(a,e)。
[0272]
是给定参数,
表示单元在重写之前在电 平0下的小部分,
表示通过重写从电平0改变为电平1的单元的小部分。假设 ….肩为与这个通道W0M(a,ε)对应的极性码的冻结集合。已知
参见例如I.Tal和A.Vardy, "How to construct polar codes," CoRR,vol.abs/1105.6164,2011〇
[0273] 对于噪声通道BSC(p),假设FBSC(p) £ {1,U]为与通道BSC(p)对应的极性码的冻
[0274] 在这个子部分中,。这种情况如图7(a)所例示。在这种情况下,码 有好的嵌套结构:对于任何消息《 e {8,i|气表示消息Μ的单元值% SfQjf的集合是针对噪 声通道BSC(p)的线性纠错码(ECC)的线性子空间,并且|%丨财ε微,lf^形成ECC的分区。稍后 可以将码扩展到更一般情况。
[0275] 2)编码器:假设E、4(Uf X(04产-〖{UF为用于这个重写的编码器。即,考虑到当 前单元状态s和要写入的消息M e ((U)气编码器被配置为查找表示Μ并且高于s(即,单元电 平仅增加)的新单元状态s' =E(s,M)。
[0276 ] 算法1中的编码函数遵循。这里y和u是长度N的两个向量,~咖-9 - -?W 是冻结集合Γ%)Μ(α, 〇而不是FBSC(P)中的所有比特m
是FBSC(P)中的所有
的第m个克罗内克积。
[0277] 算法1编码函数s'=E(s,M)
[0278] y-((si,vi),(S2,V2),...(SN,VN))〇
[0281 ] for i从 1 到Ndo
[0283](注释:这里能够使用E · Ar i kan,"Channe 1 po lar i zat ion : A me thod for constructing capacity-achieving codes for symmetric binary-input memoryless channels," IEEE Trans · Inf · Theor ·,第55卷,第7期,第3051-3073页,2009年7月中的公式
[0287] 3)解码器:现在跟随有解码器-{(U]气假设C=(Cl, C2,.",CN)e{〇,l}% 在写入消息之后的有噪声单元电平。考虑到c,解码器应用将消息恢复为D(c)=M。
[0288] 解码器可以被配置为按照与极性纠错码相同的方式操作。一个实施方式的解码操 作被呈现为算法2。
[0289] 算法2解码函数M = D(:c|
[0290] 将c ? g视为作为二进制对称通道BSC(p)的输出的有噪声码字。
[0291] 使用极性纠错码的解码算法对c ? g进行解码,其中冻结集合Fbsc(p)中的比特被设 定为〇。假设..?)为经恢复的码字。
[0292]
*其表不其索引在集合Fw〇M(a, 〇-Fbsc(p)中的向量
[0293] 如从极性纠错码清楚的,编码算法和解码算法可以具有时间复杂性外MogN)。
[0294] 4)用于t次写入的嵌套码:在上文中,已经描述了编码器和解码器针对一个重写的 操作。这些操作能够应用于t次写入纠错W0M码如下。对于j = l,2, ···,〖,对于第j次写入,分 别用aj-i、ej、Sj、s' j、Vj、v' j、Mj、%、Ej、Dj、Cj、l|、%替换α、ε、S、S'、v、v'、M、M、E、D、c、M、分,. 并且应用上述编码器和解码器。
[0295] 注意当N-⑴时,能够使用ε^ε〗、…、et-:来计算αι、α 2、…、at-:的值:对于BSC(p),aj = cij-1( 1-ε」)(l_p) + ( 1-aj-1( 1-ε」))p。改进码可以包括为ει、ει、…、et选取使和速率最大化或 以其它方式增加和速率的其它值。
[0296] B.扩展码构造
[0297] 迄今已讨论了针对情况的码。对于相对较小的p和(α〇,ει)、( αι, ε2)、···、(at-1,et)的典型值,上述条件成立。现在考虑Fbsc(p)未必为Fw〇M(a,〇的子集的一般情 况。
[0298] 可以修订算法1中的编码器如下。然后使用NaddMoWu个单元(针对第j次写入)在 中存储比特。(在图7(b)中例示了这个实施方式。)在本公开中,为了简单,假 中的比特仅仅使用为噪声通道BSC(p)设计的纠错码来存储。(对于更高速 率,能够使用纠错W0M码(诸如以上所呈现的纠错W0M码)来存储比特。)因此,
[0299] 可以修订算法2中的解码器如下。首先对于Nadditic^ij个附加单元使用ECC的解码 算法来恢复物r·知_^中的比特。然后执行算法2,除了FBSC(p)-Fw〇M(a, ε)中的比特作为上 述恢复值而不是〇为解码器所知。
[0300] IV.码分析
[0301]在这个部分中,示出了上述码构造的正确性,并且分析了其性能。
[0302] A ·码的正确性
[0303]首先解决码的正确性。算法1中的编码器工作类似于IEEE信息理论国际研讨会学 报2012年7月第 1972-1976页中的D.Burshtein和A· Strugatski,"Polar write once memory codes"中的WOM码编码器,除了Ftom(ci, 〇中的比特未全部被消息M占据,替代地,其子 集??M(α,ε)nFBSC(P)中的比特被设定为常数值 :全0。因此,编码器按照与IEEE信息理论国际研 讨会学报2012年7月第1972-1976页中的D.Burshtein和A· Strugatski,"Polarwrite once memory codes"中的码相同的方式成功地重写数据。接下来,算法2中的解码器按照与标准 极性ECC相同的方式从噪声中恢复单元值。然后,从其中提取存储消息M。
[0304] 要注意的一点是,尽管物理噪声可能对单元电平s = (si,S2,···,sn)起作用,但是在 构造中使用的纠错码实际上用于单元值V= (V1,V2,···,Vn) = (S1 ? gl,S2 Φ g2,···,SN Φ gN)。然 而,伪随机抖动g有独立且均匀地分布的元素,并且所以当S的噪声通道是BSC(p)时,V的对 应噪声通道也是BSC(P)。
[0305] Β· Fw〇M(a,〇nFBSC(p)的大小
[0306] 可以看到如果&50>1 W 贝码有嵌套结构。一般而言,观察到交集F\TOM(a, ε) Π FBSC(P)可以有多大。为了呈现的方便,如在部分IIΙ-A中一样考虑一次重写,其中参数是a 和ε(而不是αΗ、ε」)。
[0317] 在图10中例示了引理2的意义。
[0321] 证明:Fw〇M(a, ε) Π FbSC(p) | = | Fw〇M(a, ε) | + | FbSC(p) | ~ | Fw〇M(a, ε) U FbSC(p) | > | Fw〇M(a, ε) | + FBSC(p) Μ FBSC(a〇 I (通过引理2)。
[0322] C.到和速率的下界
[0323] 一般码构造的和速率被分析为N-⑴ 。对于j = 1, 2,···,t,在第j次写入中写入的比特的数量是
[0325]并且用了存储中的比特的附加单元的数量是
[0330] 引理5.假设0<p<cij-内。然后Xj2
[0331] 证明:通过引理3,
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1