使用极性码的不对称纠错和闪速存储器重写的制作方法

文档序号:11531159阅读:305来源:国知局
使用极性码的不对称纠错和闪速存储器重写的制造方法与工艺

相关申请的交叉引用

本申请根据35u.s.c.§119(e)要求于2014年1月17日由eyalengad、yueli、anxiaojiang、jehoshuabruck、michaellangberg和joergkliewer提交的标题为“polarcodingfornoisywrite-oncememories”的美国临时申请序列第61/928,749号的权益,以及根据35u.s.c.§119(e)要求于2014年6月27日由eyalengad、yueli、anxiaojiang、jehoshuabruck、michaellangberg和joergkliewer提交的标题为“polarcodingfornoisywrite-oncememories”的美国临时申请序列第62/018434号的权益。在此要求这些先前申请的提交日期的优先权,并且先前申请的公开内容在此通过引用的方式被并入以用于所有的用途。

关于联邦资助的研究和开发的声明

这项工作部分地得到nsf基金cif-1218005、ccf-1017632、ccf-1161774和ccf-1320785、nsfcareer奖ccf-0747415以及基金编号为2010075的美国-以色列两国科学基金会(bsf)的支持。

背景

除非本文另有说明,本节中描述的材料对于本申请中的权利要求不是现有技术,并且不允许通过包括在本节中而成为现有技术。本公开内容通常涉及数据储存设备,以及用于这种设备的系统和方法。在各种示例中,描述了诸如闪速存储设备的数据储存设备中的数据调制技术。

闪速存储器是一种类型的电子非易失性存储器(nvm),占据目前nvm市场的将近90%。现今,数以亿计的闪速存储器在被用在移动电话、嵌入式以及大容量存储系统中,这主要是由于它们的高性能和物理耐久性。闪速存储器的示例应用包括手机、数字照相机、usb闪存驱动器、计算机、传感器以及更多。闪速存储器现在有时用于代替磁盘来作为硬盘。

闪速存储器设备包括能够存储电压电荷的存储单元,其是逻辑“1”的存储单元电平或逻辑“0”的存储单元电平。也即,单元电压电平对应于逻辑电平或二进制数字的数值表示。改变单元电平(例如,改变单元电压电荷)就改变了存储的二进制数字值。传统的闪速存储器的限制是将单元电压电平从第一逻辑电平改变到第二逻辑电平(如从逻辑“1”到逻辑“0”)的高成本。为了实现这种改变,“块擦除”操作被执行。当单元或单元组中的数据值被改变以代表新值时,通常执行块擦除。根据资源(诸如,执行块擦除的时间和电力)利用率,块擦除是相对昂贵的。如果这种块擦除资源需求减少,那么闪速存储设备的操作将更高效。

概述

用于生成用于代表数据设备中的数据值的代码的技术被公开,该代码避免改变数据值时的块擦除操作。更具体地,包括二进制数字(位)的数据值可使用被称作码字的数据表示代码来编码和解码,使得码字包括块擦除避免代码。如在本文所描述的,块擦除避免代码可以是代码,其中,数据消息m的二进制数字可被编码使得编码的数据消息可被存入数据设备的多个存储单元,并且,一旦存储单元的值从第一逻辑值改变到第二逻辑值,存储单元的值可不管随后接收的消息而保持在第二逻辑值处,直到在存储单元上的块擦除操作。更具体地,码字可被配置用于由存储设备的多个单元表示,使得一旦单元值从逻辑“0”改变到逻辑“1”,即使对应的存储的数据值被改变,该单元的值可保持在逻辑“1”处。这可避免或以其他方式减少对用于改变由公开的码字表示的数据值的块擦除的需要。类似地,包括输入码字(在其中多个二进制数字的源数据值已经利用公开的块擦除避免代码被编码)的所接收的数据消息在数据设备中可被解码来恢复估计的源数据消息。因此,数据消息m在数据设备处通过通信信道可被接收,并且可在设备中被处理用于编码,使得消息m的二进制数字表示块擦除避免代码的码字,并且包括编码的多个二进制数字的数据消息可被解码以恢复原始的源数据二进制数字。

目前公开的技术很适于单电平单元(slc)型的存储设备,其是存储对应于逻辑“0”和逻辑“1”的两个单元电荷电平中的一个的一种存储单元。根据本公开的slc存储设备的一个示例可接收通信信道上的消息,并且可对组成消息的二进制数字进行编码,或者,存储设备可接收通信信道上的码字,并且生成估计的解码码字来恢复原始消息。所公开的技术也很好地与多电平单元(mlc)型的存储设备一起工作,其是利用存储多个电荷电平(通常是四个或八个电荷电平)的存储单元的一种类型的设备。

各种示例描述高效编码方案,高效编码方案可包括两个通信设置:(1)不对称信道设置,以及(2)具有通知编码器(informedencoder)的信道的设置。这些通信设置可在非易失性存储器以及光通信和广播通信中被利用。本公开描述可基于非线性极性码的编码方案,其中,所述的编码方案可提高采用上述通信设置拓扑结构的系统和设备的性能。

在以下的讨论中,示出本文公开的块擦除避免代码提供码字,使在其上传输数据消息的通信信道的数据位传输速率能够被最大化或以其他方式被提高以用于信道容量。换言之,所公开的块擦除避免代码可以提供代码的性质,其中,数据消息m的二进制数字可被编码使得编码的数据消息可被存入数据设备的多个存储单元,并且,一旦存储单元的值从第一逻辑值改变到第二逻辑值,存储单元的值可不管随后接收的消息而保持在第二逻辑值处,直到在存储单元上的块擦除操作,但除此之外,所公开的块擦除避免代码可以是使数据传输在通信信道上处于最大值或以其他方式在提高通信信道的信道容量上的代码。

前面的概述只是说明性的,并不旨在以任何方式限制。除以上所描述的说明性方面、实施例、技术、系统、操作方法和特征之外,通过参照附图和以下的详细描述,其它方面、实施例、技术、系统、操作方法和特征将变得明显。

附图简述

结合附图,本公开的前述和其他特征将从下面的描述和附加的权利要求中变得更加明显。应当理解,这些附图只是描绘根据本公开内容的几个实施例,并且因此不应视为对其范围的限制,本公开内容将通过使用附图以附加的特征和细节来描述,所有这些都根据本文提出的至少一些实施例来布置。

图1是示出在根据如本文公开的用于编码数据消息的各种示例所构造的存储设备中可被执行的操作的流程图。

图2是示出在根据如本文公开的用于解码数据消息的各种示例所构造的存储设备中可被执行的操作的流程图。

图3是示出在根据如本文公开的用于编码数据消息的各种示例所构造的存储设备中可被执行的操作的流程图。

图4是示出在根据如本文公开的用于解码数据消息的各种示例所构造的存储设备中可被执行的操作的流程图。

图5是示出在根据如本文公开的用于编码数据消息的各种示例所构造的存储设备中可被执行的操作的流程图。

图6是示出在根据如本文公开的用于解码数据消息的各种示例所构造的存储设备中可被执行的操作的流程图。

图7是根据目前公开的技术所构造的存储设备的示例的图示。

图8是用于执行与诸如图7中描绘的存储设备通信的图1-6的操作的示例计算机装置的框图。

图9是示出根据本文描述的各种方案操作的示例存储设备中的数据流的框图。

详细描述

根据下面的标题组织本详细描述的内容:

i.简介

a.纠错码和闪速存储器

b.关于以前的工作

ii.不对称点对点信道

iii.具有非因果编码器状态信息的信道

a.特殊情况

b.用于降级信道的多编码构造

c.无降级的多编码构造

iv.示例实施例

附录a(定理6的证明)

附录b(引理6a的证明)

附录c(定理7的证明)

i.简介

在下面的讨论中,纠错码和闪速存储器在“简介”这节中进行一般地描述。第ii节不对称点对点信道考虑不对称通信信道,其中用于编码和解码数据值的代码调节这种通信信道的非均匀输入分布。用于信道容量实现代码的参数将被讨论,并且被称作“构造a”的这种信道的代码生成技术将被描述。按照已知的信道编码定理(比如信道编码定理和极化定理)和bhattacharyya参数解释信道容量实现代码的推导。在第iii节具有非因果编码器状态信息的信道中,不同的信道容量实现代码被描述以用于与信道状态信息可用的通信信道一起使用。这种代码可适合于闪速存储器上下文,其中块擦除操作可以是资源密集型的并且是可避免或减少的。两个特定个的代码生成技术被讨论以用于具有信道状态信息的通信信道,为方便起见,技术被称作“构造b”和“构造c”。在第iii节中,除了那些在第ii节中的定理和定义之外的定理和定义被用于推导所公开的信道容量实现代码。第iv节示例实施例讨论硬件和软件的实现,其可实践根据本文描述的包括构造a、构造b和构造c技术的编码和解码技术。

a.纠错码和闪速存储器

不对称信道编码可用于诸如非易失性存储器的各种应用中,其中电气机构可以是主要不对称的(参见,例如,y.cassuto、m.schwartz、v.bohossian和j.bruck的“codesforasymmetriclimited-magnitudeerrorswithapplicationtomultilevelflashmemories”,ieeetrans.oninformationtheory,vol.56,no.4,pp.1582-1595,2010年4月)。不对称信道编码也可用于光通信,其中可能无法检测到光子(1→0)而创造伪光子(spuriousphoton)(0→1)是不可能的。由于在这些设备中的存储状态可影响写入尝试的命运,因此具有通知编码器的信道编码也可用于非易失性存储器。具有通知编码器的信道编码也可用于广播通信,其中信道编码可用在marton的编码方案中以实现高通信速率。

本申请中的各种技术讨论可以涉及极性编码技术。极性编码技术在通信速率和计算复杂度方面可以是高效的并且可以相对容易地分析和理解。极性码是由arikan引入的(参见,例如,e.arikan的“channelpolarization:amethodforconstructingcapacity-achievingcodesforsymmetricbinary-inputmemorylesschannels”,ieeetrans.oninformationtheory,vol.55,no.7,pp.3051–3073,2009年7月),实现了二进制输入无记忆信道的对称容量。

最近提出了用于不对称信道的几个极性编码方案,包括使用gallager的方案(r.g.gallager,informationtheoryandreliablecommunication,wiley,1968,p.208)和两个极性码的级联(d.sutter,j.renes、f.dupuis和r.renner在informationtheoryworkshop(itw)中的“achievingthecapacityofanydmcusingonlypolarcodes”,2012ieee,2012年9月,pp.114–118)的预映射。在j.honda和h.yamamoto的“polarcodingwithoutalphabetextensionforasymmetricmodels”,ieeetrans.oninformationtheory,vol.59,no.12,pp.7829–7838,2013中提出更直接的方法,其利用非线性极性码实现不对称信道的容量,但是使用涉及块长度中呈指数的储存空间的大的布尔函数。本公开描述对这个方案的修改,其移除对布尔函数的使用,并可导致编码和解码工作的储存需求减少到块长的线性函数。

本公开内容还描述了关于在编码器处的信道的边信息的可用性的非线性方案的概括。本方案可被称为极性多编码方案,其获得具有通知编码器的信道的容量。本方案可用于诸如闪速存储器的非易失性存储器和相变存储器,以及用于广播信道。

闪速存储器的一个特性在于存储单元对于写入尝试的响应可受到存储器的以前的内容的影响。这使纠错方案的设计变得复杂,并因此促动闪存系统在写入前“擦除”单元的内容,从而通过这样来消除延迟效应。然而,闪速存储器中的擦除操作可以是资源昂贵的,因此在写入前不涉及擦除的简单的编码方案可显著提高固态驱动器的性能。本文描述的是提出的极性多编码方案的两个实例。

b.关于以前的工作

具有通知编码器的信道编码的研究是由kusnetsov和tsybakov发起的(a.kusnetsov和b.s.tsybakov,“codinginamemorywithdefectivecells”,其翻译自problemyperedachiinformatsii,vol.10,no.2,pp.52–60,1974),其中信道容量由gelfand和pinsker导出(参见上文,gelfand和pinsker,“codingforchannelwithrandomparameters”)。gelfand和pinsker的通知编码技术早先由marton使用来建立用于广播信道的容量区域的内部边界(k.marton的“acodingtheoremforthediscretememorylessbroadcastchannel”,ieeetrans.oninformationtheory,vol.25,no.3,pp.306–311,1979年5月)。使用晶格码(参见,例如,r.zamir、s.shamai和u.erez的“nestedlinear/latticecodesforstructuredmultiterminalbinning”,ieeetrans.oninformationtheory,vol.48,no.6,pp.1250–1276,2002年6月)首先提出了用于连续信道的低复杂度的容量实现代码。在离散信道中,使用极性码提出了第一个低复杂度的容量现方案以用于信息嵌入的对称的特殊情况(参见,例如,s.korada和r.urbanke的“polarcodesareoptimalforlossysourcecoding”,ieeetrans.oninformationtheory,vol.56,no.4,pp.1751–1768,2010年4月,章节viii.b)。考虑到被称为一次写入存储器的模型,d.burshtein和a.strugatski于2013年8月在ieeetrans.oninformationtheory,vol.59,no.8,pp.5088–5101上发表的“polarwriteoncememorycodes”中提出了这个方案的修改以用于闪速存储器重写的应用。基于随机抽取器用于这个应用的附加的方案最近在a.gabizon和r.shaltiel于2012年在approx-random,pp.553–564中发表的“invertiblezero-errordispersersanddefectivememorywithstuck-aterrors”中也被提出。

本公开内容的一些方面针对设置,其可与在上文中burshtein和strugatski的“polarwriteoncememorycodes”以及a.gabizon和r.shaltiel于2012年在approx-random,pp.553–564中发表的“invertiblezero-errordispersersanddefectivememorywithstuck-aterrors”中考虑的那些作比较。与两个提及的方案相比,目前公开的技术的贡献在于本文公开的方案可实现还包括噪声的重写模型的容量,而在burshtein和strugatski的“polarwriteoncememorycodes”中以及在gabizon和shaltiel的“invertiblezero-errordispersersanddefectivememorywithstuck-aterrors”中描述的方案可实现无噪声情况的容量。纠错在现代闪速存储器系统中是有用的能力。噪声容量的低复杂度的可实现性可使用多编码技术完成。

与前述gabizon和shaltiel的“invertiblezero-errordispersersanddefectivememorywithstuck-aterrors”比较,目前公开的技术可通过实现具有输入成本约束的容量导致提高的性能,这在重写模型中也是有用的以最大化或以其他方式提高在多个重写回合上的码率的和。与前述burshtein和strugatski的“polarwriteoncememorycodes”比较,目前公开的技术可通过移除或以其他方式减少编码器和解码器之间的共享的随机性的牵连(其可影响实际的编码性能)导致提高的性能。通过使用非线性极性码可实现共享的随机性的移除或减少。本文关注的附加的编码方案也不涉及共享的随机性。参见x.ma的“write-once-memorycodesbysourcepolarization”(截至2014年5月,在互联网的url[arxiv.org/abs/1405.6262]可在线获得)。然而,在前述ma的“write-once-memorycodesbysourcepolarization”中的附加的编码方案仅考虑无噪声的情况。

自从marton编码技术包含多编码技术作为组成部分,用于具有通知编码器的信道的极性编码最近也在广播信道的环境中被研究。在n.goela、e.abbe和m.gastpar于2013年7月在proc.ieeeint.symp.oninformationtheory(isit)的pp.1127-1131中发表的“polarcodesforbroadcastchannels”中,编码技术最近被提出用于广播信道。目前描述的技术是独立开发的,并且提供在前述goela等人的“polarcodesforbroadcastchannels”中未被发现、建议或以其他方式描述的至少三个新贡献。首先,通过使用非线性极性码的修改方案,目前描述的技术可导致从块长度中的指数函数到线性函数的减少的储存需求。其次,目前公开的方案可被连接到数据储存和闪速存储器重写的应用,这在以前的工作中是没有考虑的。以及第三点,在goela等人的“polarcodesforbroadcastchannels”中的分析适于显现降级的某些技术条件的信道。在本公开中,重写模型与展现降级条件的写入噪声一起被考虑,并在本文中示出方案实现考虑的模型的容量。

最近由mondelli等人公布用于广播信道的极性码的又一篇论文;参见,m.mondelli、s.h.hassani、i.sason和r.urbanke的“achievingmarton’sregionforbroadcastchannelsusingpolarcodes”(在互联网url[arxiv.org/abs/1401.6060]可在线获得,2014年1月)。那篇论文提出了被称为“链(chain)”的方法,该方法允许绕开信道降级的条件。在本公开中,链方法被连接到闪速存储器重写应用,以及连接到本文公开的新的非线性极性编码方案,并且被应用到所提出的多编码方案。这允许线性储存连同通知编码器模型和marton的内部限制的可实现性,消除或减少信道降级的牵连。此外,本公开讨论用于闪速存储器应用的链方案,并且解释这个实例对于闪速存储器的适用性。

本公开的下一个讨论章节提出用于不对称信道的非线性极性编码方案,其不涉及布尔函数的指数储存。后面的其它章节将描述用于具有通知编码器的信道极性多编码方案,包括用于闪速存储器的重写的特殊情况。

ii.不对称点对点信道

注释:对于正整数m≤n,令[m:n]表示集合{m,m+1,…,n},并且令[n]表示集合[1:n]。给定[n]的子集表示关于[n]的补集,其中,n从上下文中是明确的。令x[n]表示长度n的向量,并且令表示通过删除在中具有指数的元素而从x[n]中得到的长度的向量。

贯穿本节,具有二进制输入字母表的信道被考虑。然而,本节的结果使用在各种示例中描述的方法能够没有太大困难地被扩展到非二进制字母表,诸如r.mori和t.tanaka于2010年6月在ieeeint.symp.oninformationtheory(isit)的pp.894–898中发表的“channelpolarizationonq-arydiscretememorylesschannelsbyarbitrarykernels”;w.park和a.barg的“polarcodesforq-arychannels,q=2r”,ieeetrans.oninformationtheory,vol.59,no.2,pp.955–969,2013年2月;a.sahebi和s.pradhan于2011年9月在49thannualallertonconferenceoncommunication,control,andcomputing,pp.1718-1725的communication,control,andcomputing(allerton),2011中发表的“multilevelpolarizationofpolarcodesoverarbitrarydiscretememorylesschannels”;e.sasoglu、i.telatar和e.arikan于2009年10月在informationtheoryworkshop,2009.itw2009.ieee,pp.144–148中发表的“polarizationforarbitrarydiscretememorylesschannels”;以及e.sasoglu的“polarizationandpolarcodes”foundationtrendsincommunicationsandinformationtheory,vol.8,no.4,pp.259–381,2012(在互联网url[dx.doi.org/10.1561/0100000041]上可在线获得)。极性编码的一个方面在于极性编码可利用对随机向量的熵的hadamard变换的极化效应。考虑具有输入随机变量x∈{0,1}、输出随机变量以及关于的一对条件概率质量函数(pmf)py|x(y|0),py|x(y|1)的二进制输入无记忆信道模型。令n是2的幂,其表示使用的信道数量,也被称为块长度。信道容量可被认为是速率的上边界,其中解码误差的概率可以小到对足够大的块长度令人满意的程度。在各种示例中,信道容量可由x和y的交互信息给出。

定理1.(信道编码定理)(参见t.m.cover和j.a.thomas的elementsofinformationtheory(第二版).wiley,2006,第7章)。离散无记忆信道p(y|x)的容量可由下式给出:

hadamard变换可以是在基数2的域上的随机向量x[n]与矩阵相乘,其中,表示kronecker幂。换言之,gn对于n≥4可由以下分块矩阵递归地描述:

在这个讨论中的一个方面涉及条件熵h(ui|u[i-1],y[n])的表现,对于i∈[n]。矩阵gn可将x[n]变换成随机向量u[n]=x[n]gn,使得条件熵h(ui|u[i-1],y[n])被极化。例如,对于指数i∈[n]的接近于的h(x|y)的一小部分,条件熵h(ui|u[i-1],y[n])接近于1,并且对于几乎所有其他的指数,条件熵h(ui|u[i-1],y[n])接近于0。这个结论由前述的e.arikan的“channelpolarization”示出。下面的“极化定理”在数学上表达极化效应。

定理2.(极化定理)(参见e.arikan于2010年在proc.ieeeint.symp.oninformationtheory(isit)中pp.899–903中发表的“sourcepolarization”;前述定理1)。令n,u[n],x[n],y[n]按照上述被提供。对于任何δ∈(0,1),在y被提供为下式的请下,令条件熵h作为x的函数。

以及将余函数l定义为:

那么:

这个极化效应可用于编码方案的设计,其可随着在块长度中是多项式的运行时间实现对称信道的容量。弱对称信道的容量可由输入字母表的均匀分布实现,例如,p(x)=1/2(参见,例如,t.m.cover和j.a.thomas的elementsofinformationtheory(第二版),wiley,2006,其中定理5.2.1)。弱对称信道可被认为具有输出字母表的均匀分布,其中给定不同输入的输出的条件分布可以相互置换。由于在本节中的输入字母表可被认为是二进制的,容量实现分布给出h(x)=1,因此下面的方程式(1)遵循:

对于在lx|y中的每个指数,条件概率p(ui|u[i-1],y[n])可以接近于0或1(由于通过集合lx|y的定义,条件熵可以是小的)。它遵循给定u[i-1]和y[n],随机变量ui可被可靠地估计。这些实现可被利用来实现以下的各种编码方案。编码器可通过将源消息分配给子向量以及将与解码器共享的均匀分布的随机位分配给子向量来创建向量u[n]。随机共享对于分析是有用的,但是概率统计方法将显示它是不必要的。方程式(1)暗示所描述的编码方案可实现信道容量。从指数1一直到n,解码可被迭代地执行。在每一次迭代中,根据迭代的集合隶属,解码器可使用共享信息或最大似然估计来估计位ui。对于i在中的位ui的估计可以是成功的,这是由于解码器提前知道这些位。剩下的位可以以相对高的概率被正确地估计,导致具有高概率的全部信息的令人满意的解码。

然而,这个推理可能不会直接转化到不对称信道。总之,不对称信道的容量实现输入分布可以是不均匀的(参见,例如,s.golomb的“thelimitingbehaviorofthez-channel(corresp.)”,ieeetrans.oninformationtheory,vol.26,no.3,pp.372–372,1980年5月,例如,px(1)≠1/2。由于hadamard变换可以是双射的,因此它遵循极化向量u[n]的容量实现分布也可以是非均匀的。一个可能的问题在于分配消息的均匀位或共享随机性可改变u[n]的分布,并且因此也可改变条件熵h(ui|u[i-1],y[n])(也记录概率链规则p(u[n])=∏i∈[n]p(ui|u[i-1]))。

为了管理上述的情况,在u[n]的分布中的改变可保持为较小,从而对于解码误差的概率的影响也可以是较小的。为了实现这个,可以考虑对于i∈[n]的条件熵h(ui|u[i-1])。由于极化可不管信道的转换概率而发生,因此无噪声的信道可被考虑,对于无噪声的信道,输出y是确定的变量,并且可由熵h(ui|u[i-1])也可被极化的定理2来推断。对于这个极化,指数h(x)的一小部分可允许高熵h(ui|u[i-1])。为了导致较小的或以其他方式减少的u[n]的分布中的改变,消息和共享随机性的均匀位的分配可被限制为具有高熵h(ui|u[i-1])的指数。

修改的编码方案可作为上述观察的结果被实现。高熵h(ui|u[i-1])的位置可被分配有均匀分布的位,而剩下的位置可被分配有p(ui|u[i-1])的概率质量函数(pmf)。类似于定理2的符号,具有高熵h(ui|u[i-1])的指数的集合可由hx表示。为了实现可靠的解码,消息位可被放在能够可靠地解码的hx的指数中,使得它们的熵h(ui|u[i-1],y[n])是低的。消息位可被放在交集hx∩lx|y中。对于可靠的解码,解码器可提前知道其指数不在lx|y中的位置。以前的工作建议共享编码器和解码器之间的随机布尔函数,其根据pmfp(ui|u[i-1])绘制,以及根据这些函数分配在lx中的指数。参见,例如,前述的goela和gastpar的“polarcodesforbroadcastchannels”;前述的honda和yamamoto的“polarcodingwithoutalphabetextensionforasymmetricmodels”。然而,本公开关注对那些布尔函数所需的储存在n中可以呈指数的,以及因此本公开提出有效的替代方案。

为了避免布尔函数,hx∩lx|y的补集可被分成三个不相交集。首先,在交集中的指数可被分配有在编码器和解码器之间能够共享的均匀分布的随机位。如在对称的情况下,这个随机性共享将不是必要的。剩下的u[n]的位(在集合中的那些)可以以概率(其中可根据pmf信道的容量实现分布来计算)被随机分配到值u。在中的指数可被可靠地解码,但是在中的那些不能被可靠地解码。幸运的是,集合可被表明是小的,因此那些分离地位置可具有对码率的零影响或以其他方式减少对码率的影响。

可以看出,通过考虑源消息被放在交集hx∩lx|y中的指数中,码率接近信道容量。这个交集的渐进分数可被推导如下:

极化定理(定理2)意味着由于对于大的n,分数可以成为零,因此,可以看出渐进率是|hx∩lx|y|/n→h(x)-h(x|y)=i(x;y),从而实现信道容量。

对于方案的更精确的定义,所谓的bhattacharyya参数代替条件熵可在u[n]的子集的选择中被利用。bhattacharyya参数可以以类似的方式被极化为熵,并且对于限制解码误差的概率可以是有用的。对于离散随机变量y和伯努利随机变量x,bhattacharyya参数z可由下式提供:

注意,对于bhattacharyya参数各种极性编码文献可使用略有不同的定义,其当随机变量x是均匀分布时可符合方程式(3)。bhattacharyya参数可被认为是熵h(x|y)和解码误差的概率两者的估计。如在以下命题1中所述,bhattacharyya参数和条件熵之间以下的关系可被观察到。

命题1.(参见e.arikan于2010年在proc.ieeeint.symp.oninformationtheory(isit)的pp.899–903上发表的“sourcepolarization”;定理2)。

(z(x|y))2≤h(x|y),(4)

h(x|y)≤log2(1+z(x|y))≤z(x|y).。(5)

高和低的battacharyya参数的集合(分别是)可被提供,并且可被利用来代替集合hx|y和lx|y。对于δ∈(0,1),以下可被提供:

如以前,通过令y[n]为确定的变量可提供用于参数z(ui|u[i-1])的集合

均匀分布的源消息m可被实现为并且对于编码器和解码器两者已知的确定的向量f可被实现为对于子集和指数函数能够用来表示在的元素的有序列表中的i的秩。概率能够通过递归方法来计算,如在honda和yamamoto的“polarcodingwithoutalphabetextensionforasymmetricmodels”,见上文;参见以下第iii节b(对于降级信道的多编码构造)中描述的。

构造a.本节描述构造,为方便随后的引用,其被称为“构造a”,构造a提供对于适于不对称信道的编码和解码方案的示例操作以产生码字作为将消息进行编码的输出,并且产生估计的消息作为将输入码字进行解码的输出。

示例消息编码方案

输入:消息

输出:码字x[n]∈{0,1}n

1)对于i从1到n,依次地设置:

2)发送码字x[n]=u[n]gn。

3)分别使用线性的、具有均匀输入分布的非容量实现极性码发送向量

示例输入解码方案

输入:噪声向量y[n]∈{0,1}n

输出:消息估计

1)通过估计向量

2)对于i从1到n,设置:

3)返回估计的消息

在构造a的该上述方案中的感兴趣的示例性质可以是容量实现的和低算法复杂性。如果解码误差的概率成为零或是以其他方式用任何速率低于容量的块长度来减少,那么一系列的编码方案据说实现了信道容量。根据对以上构造a的方案的观察提出以下的定理3。

定理3.具有上述示例编码和解码方案的构造a利用低计算复杂度实现信道容量(定理1)。

在下节中,广义的构造连同它的容量实现性质的证明进行了说明。因此,定理3遵循更一般的定理的推论。

iii.具有非因果编码器状态信息的信道

在本节中,构造a被推广到编码器处的信道状态信息的可用性。考虑在闪速存储器中的重写,并提出对于该应用的模型的两个示例情况。由于单元对单元干扰的机制,无记忆信道的假设在闪速存储器中可能无法非常准确,但是尽管如此,假设对具有有价值的实际性能的编码方案的设计是有用的。在本公开中考虑的闪速存储器的一个特性是将数据单元电平从“1”改变到“0”(在单电平单元中)是高成本的。为了实现这个改变,可实施被称为“块擦除”的操作。可以考虑重写以便避免块擦除操作。例如,对单元以电平“1”的写入尝试可能不会影响单元电平,这是因为这不是块擦除操作。在通信术语中,信道可被认为具有离散状态。状态可被认为是“无记忆的”,例如不同单元的状态可独立地被分布。由于在重写方案中的存储状态可通过对存储器的以前的写入来确定,其中码字指数可不必独立地被分布,所以该假设可能不是完全准确的。然而,由于容量实现代码可被利用,因此独立且恒等分布(i.i.d.)的假设对于表示单元输出的不同的伯努利随机变量的行为可以是合理的近似。

所有n个单元的状态在写入过程开始之前可被假设为对写入器是可用的。在通信术语中,这类状态可用性可被称为“非因果的”。这个设置对用于在广播信道上通信的marton编码方法也是有用的。因此,将遵循的多编码方案也可作为在这个设置中的贡献。被考虑的模型的一个示例情况是无噪声一次写入存储器模型。所描述的模型也可作为被称为“秩调制重写代码”(参见,例如,e.engad、e.yaakobi、a.jiang和j.bruck的“rank-modulationrewritecodingforflashmemories”(截至2013年12月,可在url[//arxiv.org/abs/1312.0972]处在线获得))的一种类型的代码的基础。因此,在本公开中提出的方案对于秩调制重写代码的设计也是有用的。

信道状态可表示为具有参数λ的伯努利随机变量s,表示概率p(s=1)。如上所述,状态为“1”(例如,逻辑“1”)的单元可被写成值“1”(避免块擦除)。当参数λ为高时,由于仅几个单元在写入过程中可被修改,因此存储器的容量可能是小的,并且从而少量的信息可被存储。作为结果,在未来写入中,存储器的容量可受到码本的选择的影响。包含高的汉明权重的许多码字的码本可使未来写入的参数λ是高的,并且由此未来写入的容量可能是低的。然而,迫使码本的所期望的汉明权重为低可能减少当前写入的容量。为了解决这个权衡,多个写入上的码率的总和可以进行调整以达到平衡的结果。在许多情况下,对码本权重的约束可确实地增加和速率(参见,例如,c.heegard于1985年1月在ieeetrans.informationtheory,vol.31,no.1,pp.34–42中发表的“onthecapacityofpermanentmemory”因此,在本文描述的模型中,可考虑输入成本约束。

当状态信息在解码器处非因果地可用时,本文考虑的一般模型可以是具有离散的无记忆状态的离散的无记忆信道和输入成本约束。信道输入、状态和输出可分别由x,s和y表示,并且它们各自的有限的字母表可由表示。随机变量可由x,s和y表示,并且随机向量由x[n],s[n]和y[n]表示,其中n是块长度。状态可被认为是根据概率质量函数(pmf)p(s)分布的,并且信道的条件pmf可由p(y|x,s)表示。输入成本约束可由下式表示:

具有通知解码器和输入成本约束的信道容量可由gelfand-pinsker定理(参见,例如,a.elgamal和y.kim的networkinformationtheory,剑桥大学出版社,2012,在第186页处的方程式7.7)的扩展确定。成本约束在gamal参考中可被略有不同地定义,但是容量可能不会被改变从本质上影响。

定理4.(具有成本约束的gelfand-pinsker定理)(参见,例如,gamal和kim的networkinformationtheory,第186页处的方程式(7.7),见上文)。当状态信息仅在解码器处非因果地可用时,具有dm状态p(y|x,s)p(s)和输入成本约束b的离散无记忆信道(dmc)的容量由下式给出:

其中,v可以是具有有限字母表v的辅助随机变量,

本文描述的示例编码方案可实现定理4中规定的容量。类似于上一节,处理可适用于其中辅助随机变量v是二进制的情况。在闪速存储器中,这种情况可对应于单电平单元(slc)型存储器。如在上述第ii节中提到的,不对称点对点信道,所描述的方案对非二进制情况(其应该对应于多电平单元(mlc)存储器)的扩展是可能的。二进制随机变量的局限可不应用在信道输出y上。因此,在解码器处的单元电压可被更准确地读取以提高编码性能,类似于在具有以低密度奇偶校验(ldpc)码而著称的代码的闪速存储器中使用的软解码方法。

可实现定理4的容量的示例方案在以下第iii节(具有非因果编码器状态信息的信道)中被描述为在以下的子节c“无需降级的多编码构造”中的构造c。容量实现结果可被总结在以下定理中(定理5)中。

定理5.构造c以低计算复杂度实现具有成本约束(定理4)的gelfand-pinsker定理的容量。

定理4的设置的示例情况是具有输入成本约束(没有状态消息)的信道编码的设置。因此,定理5也可意味着构造c可实现具有输入成本约束的信道编码的设置的容量。在这个第iii节中,描述了用于闪速存储器的重写的gelfand-pinsker模型的两种特殊情况。之后,在第iii节中,将描述对应于模型的两种特殊情况的示例构造方案的两个版本。

a.特殊情况

首先,下面将描述用于闪速存储器重写的完全自然模型的示例特殊情况。

示例1.令集合都等于{0,1},并且令状态概率质量函数(pmf)为ps(1)=β。这个模型可以对应于单电平单元闪速存储器。当s=0时,由于单元状态可以不干扰写入尝试,因此单元可表现为二进制不对称信道。当s=1时,不管所尝试的实际值,单元可表现为好像试图写入值1。然而,在写入过程或后来的任何时间期间,误差可能仍然出现。因此,可以说,当s=1时,单元可表现为输入为“1”的二进制不对称信道。形式上,信道pmf可由下式给出:

成本约束可由b(xi)=xi给出,这是由于它对限制被写入值1的单元的数量可以是有用的。

如在实现定理4的容量的gelfand和pinsker的编码方案中,本文描述的编码方案可基于辅助变量v。gelfand-pinsker的编码方案可以是在计算上低效率的。目前公开的技术的一个方面是实现相同的速率,但是具有高效的计算。对于一般的gelfand-pinsker设置,编码方案的构造可基于更有限的构造。首先将描述有限构造。接着,有限构造可被扩展到更一般的情况。限制可与选择用于代码设计的辅助变量v有关。限制可应用在如在下面提供的被称为信道降级的性质。

信道降级的示例.参见,例如,gamal和kim的networkinformationtheory,如上文,第112页。如果存在dmc使得w满足方程式那么离散无记忆信道(dmc)是关于dmc的随机地降级(或仅降级)的,表示为w1°w2。

本文描述的第一编码方案可实现以下性质所拥有的信道的容量。

容量最大化的性质.最大化在定理4中的gelfand-pinsker容量的函数p(v|s)和x(v,s)满足条件p(y|v)±p(s|v)。

不知道示例1的模型是否满足容量最大化的性质的降级条件。然而,模型可被修改,使得它将满足容量最大化的性质,同时牺牲模型的一些“准确度”。

示例2.令集合都等于{0,1}。信道和状态pmf可由ps(1)=β以及下式给出:

例如,如果s=1那么信道输出可以是1,以及如果s=0,则信道可表现为二进制对称信道。这可对应于单元电平从逻辑“0”改变到逻辑“1”的限制。超越这个限制的随机噪声模型可以不是完全自然的,并且可被选择以满足降级条件。成本约束可由b(xi)=xi给出。

以上示例2的模型可满足容量最大化的性质的降级条件。为示出这个,最大化或以其他方式增加定理4中的gelfand-pinsker容量的函数p(v|s)和x(v,s)可被确定以满足这个降级条件。那些函数可在以下定理中被建立。

定理6.示例2中的信道的容量是:

其中,ε=b/(1-β)和ε*α≡ε(1-α)+(1-ε)α。选择v={0,1}、x(v,s)=v∨s(其中,v是逻辑或(or)操作),以及:

实现这个容量。

定理6可类似于c.heegard的“onthecapacityofpermanentmemory”,ieeetrans.informationtheory,vol.31,no.1,pp.34–42,1985年1月;定理4。定理6的证明在以下附录a中描述。上边界可以通过假设状态信息在解码器处也可用来获得,并且下边界可根据定理的规定通过设置函数x(v,s)和p(v|s)来获得。示例2中的模型满足容量最大化的性质的降级条件的证明可通过以下与定理6有关的引理完成。

引理6a.用于示例2的模型的定理6的容量实现函数满足容量最大化的性质的降级条件。即,信道p(s|v)相对于信道p(y|v)被降级。

引理6a在以下附录b中被证明,并且因此,示例2中的模型的容量通过本文公开的示例编码方案可被实现。在下一个子节中,更简单的编码方案被描述,其可实现示例2的容量以及满足容量最大化的性质的任何模型的容量。

b.用于降级信道的多编码构造

在第2节讨论的不对称信道编码的设置可满足容量最大化的性质。在不对称信道编码的情况中,状态可被认为作为确定的变量,以及因此,w可按照信道降级的定义(以上)被选择为同意是确定的,并且通过那样来满足容量最大化的性质。这意味着在本节中提出的构造可以是对于不对称信道的构造a的概括。

构造可具有与gelfand-pinsker方案类似的结构。编码器可以以与构造a中描述的类似的方式首先发现向量v[n],其中随机变量x|y被替换为v|y,以及随机变量x被替换为v|s。根据最大化方程式(6)中的速率表达式的pmf的p(v|s),可采用随机变量v。接着,码字x[n]中的每一位i∈[n]可通过使方程式(6)最大化的函数xi(vi,si)来计算。使用示例2的模型,根据定理6可以使用函数p(v|s)和x(v,s)可被使用。类似地,考虑方程式(2),替换意味着代码的渐近速率将是实现定理4的gelfand-pinsker容量的(定理2到bhattacharyya参数的连接可通过命题1的考虑来被实现)。编码方案可正式地描述如下。

构造b.本节描述一种构造,其提供了用于编码和解码方案的示例操作以产生码字作为将消息进行编码的输出以及产生估计的消息作为将输入的码字进行解码的输出。

示例消息编码方案

输入:消息和状态s[n]∈{0,1}n

输出:码字x[n]∈{0,1}n

1.对于从1到n的每一个i,对变量u赋值如下:

2.计算v[n]=u[n]gn,并且对于每一个i∈[n],存储值xi(vi,si)。

3.使用线性的、具有均匀输入分布的非容量实现的极性码单独存储向量

示例输入解码方案

输入:噪声向量y[n]∈{0,1}n

输出:消息估计

1.通过估计向量

2.由估计u[n]如下:对于从1到n的每一个i,赋值:

3.返回估计的消息

在以下的定理中可规定构造b的渐进性能。

定理7.如果保持容量最大化的性质,那么构造b将实现具有低计算复杂度的定理4的容量。

附录c中提供了定理7的证明。下一个子节描述了消除容量最大化的性质的降级需求的方法。这也将允许示例1的更真实的模型的容量的实现。

c.无降级的多编码的构造

链接概念在mondelli和hassani的“achievingmarton’sregionforbroadcastchannelsusingpolarcodes”(见上文)中被提出,其实现模型的容量,而不用展现容量最大化的性质的降级条件。在modelli等人中,链接概念在广播通信和点对点通用编码的环境中被提出。此处通过示例1,链接可被连接到闪速存储器重写的应用。还要注意的是,以下的链接技术可以以较慢收敛至信道容量为代价,因此可能实现较低的非渐近码率。

用于降级信道的构造b的特征可起因于与在边信道中的解码器通信的集合如果分数和n一起成为零,那么构造b可实现信道容量。在分数不为零的情况下,那么类似于方程式(2),集合遵循:

子向量可被存储在n个单元的附加的代码块的指数的子集中。附加块可使用与原始块相同的编码技术。因此,附加块可近似地使用单元的i(v;y)-i(v;s)来存储附加的消息位,并且可接近信道容量。然而,附加块可观察到与具有集合的原始块相同的困难。为解决这个困难,相同的解决方案可被递归地应用,递送全部的k个块,k个块中的每一个块的长度是n。每一个块能够存储可接近信道容量的源消息(或其部分)。使用又一个块能够存储块k的“有问题的”位,但是这个附加块能够在无需考虑状态信息的情况下被编码,因此可不面对相同的困难。因此,最后的块可引起速率损失,但是这个损失可以是对于大的k值可为零的分数1/k。在以下的描述中,示例构造能够通过mi,j表示消息的第j个块的指数i,并且对于其他向量是类似的。向量本身也可在二维中被表示,例如x[n],[k]。

构造c.本节描述一种构造,其提供了用于编码和解码方案的示例操作以产生码字作为将消息进行编码的输出以及产生估计的消息作为将输入码字进行解码的输出。

是大小为的任意子集。

示例消息编码方案

输入:消息和状态s[n],[k]∈{0,1}kn

输出:码字x[n],[k]∈{0,1}kn

1)令u[n],0∈{0,1}n是任意的向量。对于从1到k的每一个j,并且对于从1到n的每一个i,赋值:

2)对于从1到k的每一个j,计算v[n],j=u[n],jgn,并且对于每一个i∈[n],存储值xi,j(vi,j,si,j)。

3)使用具有均匀输入分布的非容量实现的极性码单独地存储向量

示例输入解码方案

输入:噪声向量y[n],[k]∈{0,1}kn。

输出:消息估计

1)由估计向量并令

2)由估计u[n],[k],如下:对于从k减到1的每一个j,并且对于从1到n的每一个i,赋值:

3)返回估计的消息

构造b和c也可用于在marton的区域中的广播信道上的通信,参见,例如,goela和gastpar的“polarcodesforbroadcastchannels”,见上文;以及mondelli等人的“achievingmarton’sregionforbroadcastchannelsusingpolarcodes,见上文。构造b和c可以改进这些以前的结果,这是因为它们可证明地实现具有线性储存需求的容量。

构造c可实现具有低复杂度的定理4的容量,而没有容量最大化的性质的降级需求。这个结果被规定在定理5中。定理5的证明直接由定理7推断以及遵循速率损失可随大的k的值而消失的事实。使用合适的容量实现函数p(v|s)和x(v,s),构造c对示例1的闪速存储器重写的现实模型可以是有用的。

iv.示例实施例

以下描述用于附图说明,其中图1是示出在根据用于如本文公开的解码数据消息的各种示例所构造的存储设备中可被执行的操作的流程图,以及,更具体地,示出根据构造a将数据值编码成码字的示例数据编码操作。在附图中,图2是示出在根据用于如本文公开的解码数据消息的各种示例所构造的存储设备中可被执行的操作的流程图,以及,更具体地,表示根据构造a从码字恢复数据值的示例解码操作。图3是示出在根据用于如本文公开的编码数据消息的各种示例所构造的存储/数据设备中可被执行的操作的流程图,以及,更具体地,表示根据示例1将数据值编码成码字的示例数据编码操作。图4是示出在根据用于如本文公开的解码数据消息的各种示例所构造的存储设备中可被执行的操作的流程图,以及,更具体地,表示根据示例1从码字恢复数据值的示例解码操作。图5是示出在根据用于如本文公开的编码数据消息的各种示例所构造的存储设备中可被执行的操作的流程图,以及,更具体地,表示根据示例2将数据值编码到码字的示例数据编码操作。图6是示出在根据用于如本文公开的解码数据消息的各种示例所构造的存储设备中可被执行的操作的流程图,以及,更具体地,表示根据示例2从码字恢复数据值的示例解码操作。图1、图2、图3、图4、图5、图6的操作可例如通过在如下面进一步描述的图7、图8、图9中示出的设备实施例来执行。

图1示出操作根据最近公开的技术所构造的数据设备的示例方法100,其用于处理器以将从通信信道上接收的消息生成码字。如上面所提到的,图1的操作可对应于上面结合构造a所描述的用于示例编码方案的技术。方法100可包括如由块105、110、115、120、125和130中的一个或多个块所示的一个或多个操作、动作或函数。尽管图1中示出为离散块,但是根据特定实现,各种块可被分成额外的块、结合成更少的块、增补更多的块、被修改或被去除。

在块105处,过程可开始。块105之后可以是下一个块110,“接收消息”,其中输入消息m可被接收。在一些示例中,接收的消息m将被编码且被存储在数据储存器中,其中消息m可包括在消息信道上接收的位的序列,并可被指定为图1的块110之后可以是块115,生成码字的操作。在一些示例中,码字u可根据在块115中示出的操作逐位地生成。

对于从1到n的i,依次地设置

块115之后可以是块120,其中值v可被计算使得码字x[n]=u[n]gn被传输。

块120之后可以是块125,其中由在前的操作形成的向量u可被存储。在一些示例中,块125的操作可包括:

向量利用线性的、具有均匀输入分布的非容量实现的极性码被单独传输。

根据本公开,本领域的技术人员将理解如何利用所提及的具有均匀输入分布的极性码存储向量u。存储设备的操作可从块125继续在块130处的额外操作。

图1的操作示出包括将被编码的值的消息的接收。如上所讨论的码字被生成,其满足所公开的约束的操作,其中码字被配置用于由多个单元表示,使得一旦单元值从逻辑“0”改变到逻辑“1”,该单元的值可保持在逻辑“1”处,即使对应的存储的数据值被改变。

图2示出操作根据最近公开的技术所构造的数据设备的示例方法200,其用于处理器以通过解码在通信信道上接收的消息(例如,噪声向量)来产生估计的消息(例如,恢复的消息)。换言之,图2示出数据设备的示例操作,其中数据设备接收包括对应于编码的数据值的二进制数字的消息。接收的消息连同表示通信信道中的误差的噪声项一起可被估计为被编码的原始源数据值。如上面所提到的,图2的操作可对应于上面结合构造a所描述的用于解码方案的技术。方法200可包括如由块205、210、215、220、225和230中的一个或多个块所示的一个或多个操作、动作或函数。尽管图2示出为离散块,但是根据特定实现,各种块可被分成额外的块、结合成更少的块、增补更多的块、被修改或被去除。

在块205处,过程可开始。块205之后可以是下一个块210,“接收消息…...”,其中可包括向量y的输入消息可被接收,其将被解码以恢复数据值。向量y可被表示成包括来自在其上接收数据消息的数据信道的噪声项,其中向量y可被表示为y[n]∈{0,1}n。块210之后可以是块215,“估计向量u…...”,其中表示原始数据值的估计值u可按位方式生成。在一些示例中,向量u的估计可通过由估计向量给出。块215之后可以是块220,“估计向量u......”。在一些示例中,根据下式可以逐位地计算估计值u:

通过下式估计向量u:对于从1到n的i,设置:

块220之后可以是块225,“返回估计的消息其中估计的消息值(估计的原始源数据值)可被确定并返回。在一些示例中,估计的消息可被确定为:

返回估计的消息

存储设备的操作可继续在块230处的额外操作。

图2的数据操作可接收包括将被解码的一个或多个值的消息,使得可包括上述码字的消息被接收,其中码字在适于不对称信道的过程中生成,不对称信道具有存储单元输入x和存储单元输出y,其中存储单元的数量可以是n。对于能够通过图2的操作实现的构造a,可不考虑存储单元的以前的状态。因此,码字可被配置用于由多个单元表示,使得一旦单元值从逻辑“0”变成逻辑“1”,该单元的值可被重写为逻辑“0”或逻辑“1”,使得接收的码字可被解码并且原始存储的值的估计值m可被恢复。

图3示出操作根据最近公开的技术所构造的数据设备的示例方法300,示例方法300其用于处理器以从在通信信道上接收的消息生成码字。方法300可包括如由块305、310、315、320、325和330中的一个或多个块所示的一个或多个操作、动作或函数。尽管图3示出为离散块,但是根据特定实现,各种块可被分成额外的块、结合成更少的块、增补更多的块、被修改或被去除。

在块305处,过程可开始。块305之后可以是下一个块310,“接收消息m......和状态s......”,其中输入消息和状态可被接收。在一些示例中,消息m被编码并存储在数据存储器中,其中消息m可被指定为并且其中状态s可被指定为s[n]∈{0,1}n。块310之后可以是块315,其中可生成码字。在一些示例中,码字u可根据在块315中示出的操作逐位地生成:

对于从1到n的每一个i,赋值:

块315之后可以是块320,其中值v可根据下式被计算:

计算v[n]=u[n]gn,并且对于每一个i∈[n],存储包括码字x[n]∈{0,1}n的值xi(vi,si)。

块320之后可以是块325,其中由在前的操作形成的向量u可被存储。在一些示例中,块325的操作可包括:

使用线性的、具有均匀输入分布的非容量实现的极性码单独存储向量

根据本公开,本领域的技术人员将理解如何利用所提及的具有均匀输入分布的极性码来存储向量。存储设备的操作可从块325继续在块330处的额外操作。

图3的操作示出包括将被编码的值的消息的接收。如上所述的满足所公开的约束操作的码字可被生成,其中码字被配置用于由多个单元表示,使得一旦单元值从逻辑“0”改变到逻辑“1”,该单元的值可保持在逻辑“1”,即使对应的存储的数据值被改变。

图4示出操作根据最近公开的技术所构造的数据设备的示例方法400,其用于处理器以通过解码在通信信道上接收的消息(例如,噪声向量)来产生估计的消息(例如,恢复的消息)。例如,图4示出数据设备的示例操作,其中数据设备可接收包括对应于编码的数据值的二进制数字的消息连同表示通信信道中的误差的噪声。如上面所提到的,图4的操作可对应于上面结合示例1所描述的解码技术。方法400可包括如由块405、410、415、420、425和430中的一个或多个块所示的一个或多个操作、动作或函数。尽管图4中示出为离散块,但是根据特定实现,各种块可被分成额外的块、结合成更少的块、增补更多的块、被修改或被去除。

在块405处,过程可开始。块405之后可以是下一个块410,“接收消息......”,其中包括向量y的输入消息可被接收,其将被解码以恢复数据值。向量y可包括来自数据信道(在其上,数据消息被接收)的噪声,其中向量y可被表示为y[n]∈{0,1}n。块410之后可以是块415,“估计向量u......”,其中表示原始数据值的估计值u可按位方式生成。在一些示例中,向量u的估计可通过由估计向量给出。块415之后可以是块420,“估计向量u......”。在一些示例中,根据下式u可被逐位计算估计值:

估计u[n]如下:对于从1到n的每一个i,赋值:

块420之后可以是块425,“返回估计的消息m”,其中估计的消息值m(估计的原始源存储值)可被确定并返回。在一些示例中,估计的消息可被确定为:

估计的消息

存储设备的操作可继续在块430处的额外操作。

图4的数据操作可接收包括将被解码的一个或多个值的消息,使得可包括如上述的码字的消息被接收,其中码字在可满足公开的约束操作的过程中被生成,并且其中码字可被配置用于由多个单元表示,使得一旦单元值从逻辑“0”变到逻辑“1”,即使对应的存储的数据值被改变,该单元的值也可保持在逻辑“1”。接收的码字可被解码,并且原始存储的值的估计值m可被恢复。

图5示出操作根据目前公开的技术所构造的数据设备的示例方法500,用于执行根据用于编码数据消息的各种示例所构造的存储设备中的操作,并且更具体地,表示示例数据编码操作以根据示例2将数据值编码成码字。方法500可包括如由块505、510、515、520、525和550中的一个或多个块所示的一个或多个操作、动作或函数。尽管图5中示出为离散块,但是根据特定实现,各种块可被分成额外的块、结合成更少的块、增补更多的块、被修改或被去除。

在块505处,过程可开始。块505之后可以是下一个块510,其中输入数据消息可被接收,该消息包括值m和状态s,并且m是将被编码并被存储在数据储存器中的值,其中,

消息和状态s[n],[k]∈{0,1}kn可被接收作为输入,是大小为的任意子集。块510之后可以是块515,其中码字u可根据在块515中示出的操作逐位地生成:

令u[n],0∈{0,1}n是任意的向量。对于从1到k的每一个j,并且对于从1到n的每一个i,赋值:

块515之后可以是块520,其中值v可根据下式被计算:

对于从1到k的每一个j,计算v[n],j=u[n],jgn,并且对于每一个i∈[n],

存储值xi,j(vi,j,si,j)、码字x[n],[k]∈{0,1}kn

块520之后可以是块525,其中由在前的操作形成的向量x可被存储。块525的操作可包括:

使用具有均匀的输入分布的非容量实现的极性码单独存储向量

具有本公开的益处,本领域的技术人员将理解如何利用所提及的具有均匀输入分布的极性码存储向量。在块550处,继续存储设备的操作。

因此,图5的数据操作可接收包括将被编码的值的数据消息,而且满足公开的约束操作的如上讨论的码字可接着被生成,其中码字可被配置用于由多个单元表示,使得一旦单元值从逻辑“0”变到逻辑“1”,即使对应的存储的数据值被改变,该单元的值也可保持在逻辑“1”。

图6示出操作根据目前公开的技术所构造的数据设备的示例方法600,用于执行根据用于解码数据消息的各种示例构造的存储设备中的操作,并且更具体地,表示示例数据解码操作以根据示例2将码字解码成估计的恢复的数据值。例如,图6示出数据设备的示例操作,其中数据设备可接收包括可对应于编码的数据值的二进制数字的消息连同可表示通信信道中的误差的噪声。方法600可包括如由块605、610、615、620、625和630中的一个或多个块所示的一个或多个操作、动作或函数。尽管图6中示出为离散的块,但是根据特定实现,各种块可被分成额外的块、结合成更少的块、增补更多的块、被修改或被去除。

在块605处,过程可开始5。块605之后可以是下一个块610,其中输入数据消息可被接收,消息包括恢复数据向量值y,其将被解码以恢复数据值,其中y可包括来自在其上接收数据消息的数据信道的噪声和噪声向量y[n],[k]∈{0,1}kn,并且图6的操作可返回估计的消息或包括原始源存储的值的数据值m。块610之后可以是块615,其中表示原始数据值的估计值u可被逐位生成,其中向量u估计可通过由估计向量以及通过令给出。块615之后可以是块620,其中估计值u可根据在块620中示出的三个操作中的一个操作逐位地计算:

估计u[n],[k]如下:对于从k减到1的每一个j,并且对于从1到n的每一个i,赋值:

块620之后可以是块625,其中,估计的消息值m(估计的原始源的存储的值)可以根据计算被返回,使得估计的消息其可被返回。存储设备的操作可继续在块630处的额外操作。

因此,图6的数据操作可接收包括将被编码的值的数据消息,使得如上讨论的码字可被接收,其中码字在可满足公开的约束操作的过程中被生成,其中码字可被配置用于由多个单元表示,使得一旦单元值从逻辑“0”变到逻辑“1”,即使对应的存储的数据值被改变,该单元的值也可保持在逻辑“1”。接收的码字可被解码,并且原始存储的值的估计值m可被恢复。

图7是根据目前公开的技术构造的存储设备的一个实施例的示意图。诸如图7的数据设备708的存储设备可包括存储器702和存储器控制器704,并且可耦合到主机设备706。存储器702和主机设备706可各自耦合到存储器控制器704。存储器控制器704可包括存储器接口712、主机接口714、数据缓冲器716、纠错码(ecc)块718和处理器710。主机设备706可耦合到存储器控制器704的主机接口714。处理器710可被实现为微控制器、微处理器、处理器内核、定制设计的逻辑或根据本公开的各方面可被配置为与存储器接口712和主机接口714合作的任何其他合适的设备。

图7示出存储器702可由存储器控制器704访问,存储器控制器704也被布置为与主机设备706通信。存储器702可被用于存储根据如本文描述的块擦除避免方案所表示的数据。存储器702可被实现为例如闪速存储器设备,其具有多个存储单元,其中可存储包括一个或多个二进制数字(位)的数据。

存储器702和存储器控制器704可相配合地作为数据设备708操作,其可在主机设备706的外部或可与主机设备706集成成为单个组件或系统。例如,数据设备708可包括经由usb连接与体现为主机计算机的主机设备706通信的闪速存储器设备(如“拇指驱动器”),或者数据设备708可包括为主机计算机存储数据的固态硬盘(ssd)设备。可选地,数据设备708可与合适的主机设备706集成,以包括具有采用块擦除避免方案的存储器的单个系统或组件,如智能手机、网络路由器、mp3播放器或其他设备。

存储器控制器704在处理器710的控制下可以是可操作的,处理器710可被配置为经由存储器接口712管理与存储器702的通信。处理器710还可被配置为经由主机接口714管理与主机设备706的通信。因此,存储器控制器704可被配置为管理主机设备706之间以及存储器702和主机设备706之间的数据交换。存储器控制器704也包括数据缓冲器716,其中数据值可暂存以用于在存储器702和主机设备706之间传输。存储器控制器704也可包括纠错码(ecc)块718,在其中数据可被维持。例如,ecc块718可体现为可包括数据和程序代码以执行用于块擦除避免方案的纠错和数据编码/解码操作的储存设备。ecc块718可包含将用于存储器702的纠错码的参数,如用于在接收的符号和纠错符号之间转换的程序化的操作,或ecc块可包含用于码字或其他数据的查找表等。如本文所述,在本文描述的组件间传输和传递的符号、码字、数据等可包括多个二进制数字(“位”)。存储器控制器704可执行上述的操作用于解码数据和用于编码数据。数据缓冲器716、ecc718和处理器710可以是与主机接口714和存储器接口712互相连接的,并且链接到主机接口714和存储器接口712。接口712、714和结合实施例描述的组件间的所有的连接可包括例如多个物理电路连接,如多个导电连接。组件间的连接也可或可选地包括例如光连接、射频连接和用于在组件间传达、传输和传递位的其他技术。

上述用于操作数据设备、用于从设备读取数据、用于给数据设备编程以及编码和解码的操作可通过在图1-图6中描绘的操作和/或通过由处理器710及数据设备708的相关联的组件可执行的其他操作来实现。例如,在块擦除避免方案在usb拇指驱动器中的实现中,图7中描绘的数据设备708的所有的组件可被包含在usb拇指驱动器内。

诸如存储器控制器704和处理器710的处理组件可根据各种实施例以控制逻辑的形式在软件或硬件或两者的组合中被实现,并且可包括执行来自程序存储器或如固件等的软件程序指令的处理器。主机设备706可包括计算机装置。计算机装置也可执行图1-图6的操作和/或在一些实施例中的其他操作。

图8是用于执行与诸如图7中描绘的存储设备进行通信的图1-6的操作的示例计算机装置的框图。例如,图8是足以作为主机设备(如主机设备706)执行以及足以执行图1-图6的操作和/或其他操作的计算机系统800的框图。计算机系统800可结合目前公开的技术的实施例并且执行本文描述的操作。计算机系统800通常可包括一个或多个处理器805、系统总线810、包括内存子系统820和文件储存子系统825的储存子系统815、用户接口输出设备830、用户接口输入设备835、通信子系统840和其他组件,所有上述组件可以可操作地相互耦合。

在各种实施例中,计算机系统800可包括诸如一个或多个处理器805的计算机组件。文件储存子系统825可包括诸如内存子系统820中的只读存储器(rom)845和随机存取存储器(ram)850的各种存储储存设备以及诸如磁盘驱动器之类的直接存取储存设备。如所提到的,直接存取储存设备可包括如本文描述而操作的块擦除避免数据设备。

用户接口输出设备830可包括包含平板显示器、触摸屏、指示灯、音频设备、力反馈设备或其他设备的各种设备。用户接口输入设备835可包括包含计算机鼠标、轨迹球、触控板、游戏杆、无线遥控、绘画板、语音命令系统、眼睛追踪系统或其他设备的各种设备。用户接口输入设备835通常可允许用户选择对象、图标、文本等,其经由如单击按钮等的命令在用户接口输出设备上出现。

通信子系统840的实施例通常包括以太网卡、调制解调器(电话、卫星、电缆、isdn)、(异步的)数字用户线(dsl)单元、火线(ieee1394)接口、usb接口或其他设备。例如,通信子系统840可耦合到通信网络和其他外部系统855(例如,诸如lan或互联网的网络)、耦合到火线总线等。在其他实施例中,通信子系统840可物理地集成在计算机系统800的母板上,可包括诸如软dsl等的软件程序。

ram850和文件储存子系统825是有形的非暂时性介质的示例,其被配置为存储诸如纠错码参数、码字的数据以及和程序指令以响应于由一个或多个处理器的执行来实现本文描述的操作,包括可执行计算机代码、人类可读代码等等。其他类型的有形的非暂时介质可包括程序产品介质,如软盘、可移动硬盘、光学存储介质(如cd、dvd和条形码介质)、半导体存储器(如闪速存储器、只读存储器(rom)、电池支持的易失性存储器、网络储存设备)等等。文件储存子系统825可包括阅读器子系统,其可将数据从程序产品介质传输到储存子系统815以用于由处理器805操作和执行。

计算机系统800也可包括能够在网络(例如,通信网络和其他系统855)上通信的软件,诸如dns、tcp/ip、udp/ip和http/https协议等等。在其他实施例中,也可使用其他通信软件和传输协议,例如ipx等。

许多其他硬件和软件配置适合于与目前公开的技术一起使用。例如,计算机系统800可具有台式、便携式、机架安装式或平板电脑配置。此外,计算机系统800可以是一系列网络计算机。另外,各种微处理器都是可预期的,并且适合于一个或多个处理器805,如来自美国加利福尼亚州圣克拉拉市的英特尔公司的pentiumtm微处理器;来自美国加利福尼亚州森尼韦尔市的advancedmicrodevices公司的opterontm或athlonxptm微处理器;或其他。另外,各种操作系统是可预期的并且是合适的,如来自美国华盛顿州雷德蒙德市的微软公司的windowswindows等等,来自美国加利福尼亚州圣克拉拉市的sunmicrosystems公司的各种linux和unix分布或其他。仍然在其他实施例中,上述的技术可在芯片上或辅助处理板(例如,可编程逻辑设备或图形处理器单元)上实现。

目前公开的技术可以以控制逻辑的形式在软件或硬件或两者结合中实现。控制逻辑可被存储在信息储存介质中作为适合于使信息处理设备执行目前公开的技术的实施例中公开的一组操作的多个指令。基于本文提供的公开内容和教导,实现目前公开的技术的其他方式和/或方法是可能的。

本文描述的块擦除避免方案可在用于编码和解码用于传输和储存的数据的各种系统中实现。换言之,码字可根据块擦除避免方案在信息信道上从源接收,并且被解码成它们对应的数据值,并且可被提供给如存储器或处理器之类的目标,以及用于储存或传输的数据值可在信息信道上从源接收,并且可被编码成块擦除避免方案。

根据块擦除避免方案的编码和解码数据的操作可如图9中所示,图9示出根据本文描述的块擦除避免方案操作的存储设备902中的数据流。在图9中,设备包括数据调制(dm)控制器904,其可被配置为使用块擦除避免方案来存储和检索信息值906。dm控制器904可包括用于将数据值编码成码字及将码字解码成数据值的编码器/解码器908。dm控制器904可编码数据值并且可将码字提供给源/目标块910,以及可将来自源/目标块910的码字解码并可提供对应的数据值。数据流的双向性质由标有“数据值”912和“码字”914的双端箭头指示。dm控制器904可包括接口,通过该接口dm控制器904可接收以及可提供数据值和信息值(码字)。箭头912、914表示接口,通过该接口数据值和码字可被接收和提供,并且箭头912、914可共同地包括通信信道。

信息值906可包括用于物理地表示包括数据值和码字的数据的组件。例如,信息值906可表示存储单元的电荷电平,使得多个单元可被配置为作为虚拟单元操作,其中单元的电荷电平可确定块擦除避免方案的置换。数据值可被接收并且由编码器/解码器908编码成块擦除避免方案的置换,并且单元的电荷电平可被相应地调整,并且根据单元电荷电平码字可由编码器/解码器908确定,从而对应的数据值可被确定。可选地或额外地,信息值906可表示发送的信号的特征,如信号频率、大小或持续时间,使得单元或二进数(bin)可由信号特征限定并确定块擦除避免方案的置换。鉴于本文的描述,用于单元的物理表示的其他方案是可能的。

本公开不限于根据本申请中描述的具体的实施例,,其旨在作为各个方面的说明。在不背离本发明的精神和范围的情况下可以进行很多修改和变型。通过前文的描述,除了本文列举的方法和装置之外,本公开的范围内的功能上等效的方法和装置是可能的。这样的修改和变型旨在落入所附的权利要求的范围内。本公开仅由所附的权利要求连同这些权利要求有权要求的等效形式的全部范围来限定。本公开不被限制于具体的方法、试剂、混合物组成或生物系统,当然这些都是可以改变的。本文所用的术语只是为了描述具体的实施例的目的,并不旨在进行限制。

关于本文大量使用的任何复数和/或单数术语,本领域技术人员可针对关于上下文和/或应用适当的将复数转化为单数和/或将单数转化为复数。出于清晰起见,本文可以不明确地阐述各个单数/复数的置换。

通常,本文所用的术语,尤其在所附的权利要求(例如,所附权利要求的正文)中所使用的术语通常意为“开放式”术语(例如,术语“包括”应解释为“包括但不局限于”,术语“具有”应解释为“至少具有”,术语“包含”应解释为“包含但不局限于”,等等)。如果想要指明所引入的权利要求记载的特定数目,这样的意图将在权利要求中明确地陈述出来,并且在缺少这样的记载时,没有这样的意图。例如,为了帮助理解,下面所附的权利要求可包含使用引导性的短语“至少一个”和“一个或多个”来引入权利要求的记载。然而,这种短语的使用不应该被解释为暗示通过不定冠词“一(a)”或“一(an)”记载的权利要求的引入将含有这样引入的权利要求记载的任何具体的权利要求限制为只包含一个这种记载的实施例,即使在相同的权利要求包括引导性短语“一个或多个”或“至少一个”和诸如“一(a)”或“一(an)”的不定冠词(例如,“一(a)”和/或“一(an)”应该被解释为意指“至少一个”或“一个或多个”);这也适用于使用定冠词来引入权利要求记载。此外,即使明确地记载了引入的权利要求记载的特定数量,这种记载应被解释为意指至少所记载的数量(例如,在没有其他修饰语的情况下,“两个记载”的表述意指至少两个记载或者两个或更多个记载)。另外,在使用类似于“a、b和c等中的至少一个”的惯例的那些实例中,通常这种句法构造旨在这个意义上将被理解为惯例(例如,“具有a、b和c中的至少一个的系统”将包括但不限于仅具有a、仅具有b、仅具有c、具有a和b、a和c、b和c、和/或具有a、b和c等的系统)。在其中使用类似于“a、b或c等中的至少一个”的惯例的那些实例中,通常这种句法构造旨在这个意义上将被理解为惯例(例如,“具有a、b或c中的至少一个的系统”将包括但不限于仅具有a、仅具有b、仅具有c、具有a和b、a和c、b和、c和/或具有a、b和c等的系统)。呈现两个或更多个可选项的任何转折连词和/或短语,无论是在说明书、权利要求书还是附图中,应当被理解为是为了构想包括这些项中的一个、这些项中的任一个或两者皆然的可能性。例如,短语“a或b”将被理解为包括“a”或“b”或“a和b”的可能性。

此外,在本公开的特征或方面根据马库什组(markushgroup)被描述时,本公开也因此根据马库什组的任何个体成员或子组成员被描述。

对于任何和所有目的,如在提供书面描述方面,本文公开的所有的范围也包含任何和所有可能的子范围和其子范围的组合。任何列出的范围都可容易的被认为已经充分描述并使得同一范围可被分成至少相等的两等份、三等份、四等份、五等份、十等份等等。作为非限定性的示例,本文讨论的每个范围可容易地分解成下面三分之一(lowerthird)、中间三分之一(middlethird)和上面三分之一(upperthird),等等。所有语言例如“高达”、“至少”、“大于”、“小于”等等包括所记载的数字并且是指随后可被分解成上述子范围的范围。最终,范围包括每一个独立的成员。因此,例如,具有1-3个单元的组指具有1个、2个或3个单元的组。类似地,以此类推,具有1-5个单元的组指具有1个、2个、3个、4个或5个单元的组。

虽然本文已经公开各个方面和实施例,但是其他方面和实施例是可能的。本文中所公开的各个方面和实施例仅仅出于说明的目的,并且不旨在限制,其中真正的保护范围和精神由所列出的权利要求指明。

附录a

在本附录中,证明定理6。类似的结果在heegard的“onthecapacityofpermanentmemory”中被证明,见上文;定理4。这里示出不同的证明。容量的上边界通过假设状态消息对于解码器也是可用的来获取。在这种情况下,编码方案可忽略单元的分数β部分,并且剩下的单元根据具有输入成本约束的二进制对称信道可被编码。对于这个信道:

h(y|x)=h(α)p(x=0)+h(α)p(x=1)=h(α)。

此外:

py(1)=py|x(1|0)px(0)+px|y(1|1)px(1)

=α(1-px(1))+(1-α)px(1)

=α*px(1).。

为了提高对于具有状态si=0的单元的成本约束,能够赋值对于具有状态si=1的单元的信道输入xi=0。这样,对于具有状态si=0的单元的成本约束可变成ε=b/(1-β)。由于px(1)≤ε≤1/2且α*px(1)可在px(1)中增加低于1/2,其遵循py(1)≤α*ε≤1/2,并且,因此也遵循h(y)≤h(α*ε)。因此,作为结果:

这完成上边界的证明。

通过考虑选择v={0,1}、x(v,0)=v、x(v,1)=0以及下式可得到下边界:

并且直接计算速率表达式。首先注意,成本约束可被满足,由于:

px(1)=px(1|0)ps(0)=pv(1|0)ps(0)=ε(1-β)=b.。

接着,示出h(v|s)-h(v|y)=(1-β)[h(α*ε)-h(α)]。给出分布ps和pv|s,条件熵h(v|s)可以是:

为了计算条件熵h(v|y),首先计算存储器输出y的概率分布如下:

条件分布pv|y由下式给出:

因此:

并且于是:

附录b

在本附录中,证明引理6a。可以证明,使用定理6的函数,可存在dmcw:{0,1}2→{0,1}2,使得:

为了标识这种信道w,首先注意到:

py|v,s(1|v,0)pv|s(x|0)=(ε*α)pv|s(x|1)。(16)

方程式(16)可直接从方程式(9)推导出,由于:

接着,对于任何v∈{0,1},假设并因此这从下式可推出:

其中,(a)从总概率的定律推出,(b)从条件概率的定义推出,以及(c)从方程式(8)和(16)推出。

由于可以不是x的函数,并且可能在[0,1]中,因此w可按下式被提供:

接着,示出方程式(15)适用于以上提供的w:

因此,信道w可满足方程式(15),从而引理成立。

附录c

在本附录中,证明定理7。定理7的复杂度要求在honda和yamamoto的“polarcodingwithoutalphabetextensionforasymmetricmodels”中被解释,见上文,在第iii节b处。证明可开始于构造b的渐近率。它的目的是显示由于ps|v可相对于py|v被降级,所以它可以从n.goela、e.abbe和m.gastpar于2013年7月在proc.ieeeint.symp.oninformationtheory(isit)的pp.1127-1131发表的“polarcodesforbroadcastchannels”的引理4推出以及因此所以接着,下式可以是真的:

其中,等式遵循集合的定义。为了完成定理的证明,在下个子节中,示出可满足约束的成本,并且然后在子节b(解码误差的概率)中,示出解码误差概率可为零。

a.所期望的输入成本

假设:

对于状态向量s[n]和编码规则(10),每个向量u[n]以下式的概率出现:

冷冻向量的所期望的成本被表示为:

现在假设冷冻向量被均匀绘制,并且由表示它的随机向量字符。接着,计算在随机冷冻向量上的成本的期望,并显示这个期望满足约束。对误差的概率可显示相同的结果,并且其表明存在至少一个冷冻向量可满足约束和低的误差概率两者。期望值可如下式获得:

假设联合pmf:

那么:

为了证明其接下来示出:

为了显示这个,略微更强的关系被证明,其也可用于解码误差的概率的证明。首先,提供联合pmf:

那么,注意:

其中,不等式可从三角不等式推出。并且,所期望的成本的证明可利用以下引理完成,在这个证明中被指定为可与定理7相关的引理7a。引理7a也可用于解码误差的概率。

引理7a。

证明:令d(·||·)表示相对熵。那么:

其中:

(a)从p(s[n])=q(s[n])andp(y[n]|u[n],s[n])=q(y[n]|u[n],s[n])的论据推出,

(b)由链式法则推出,

(c)由伸缩扩展推出

其中,a[j:k]和b[j:k]分别表示乘积

(d)对于所有的由三角不等式和论据p推出,

(e)再由链式法则推出,

(f)由pinsker不等式推出(参见,例如,见上文、cover和thomas的elementsofinformationtheory,引理11.6.1),

(g)由jensen不等式推出,以及

(h)从对于的q(ui|u[i-1])=1/2的论据推出并且从goela和abbe的“polarcodesforbroadcastchannels”推出,见上文,引理10。

现在,如果那么:

其中第一不等式可从命题3推出,并且第二不等式可从i是在中的论据推出。这完成引理的证明。

b.解码误差的概率

令εi是向量对(u[n],y[n])的集合,使得可以是对y[n]解码的结果,并且可满足两者。通过εi可给出块解码误差事件。根据在具有任意的平局打破(tie-breaking)规则的(11)中给出的解码,每对(u[n],y[n])∈εi可满足:

考虑对于冰冻向量的块解码误差概率对于状态向量s[n]和编码规则(10),每个向量u[n]可以以下式的概率出现:

通过条件概率的定义和总概率的定律,误差的概率可通过下式给出:

正如成本约束,可假定冰冻向量可被均匀地绘制,由将它的字符表示为随机向量。期望值可从下式得到:

那么:

其中,第一不等式可从三角不等式推出。求和中的每一项可被下式界定:

其中,最后的不等式可从i可属于集合的论据推出。

为了证明可以显示:

可以注意:

其中,不等式可从三角不等式推出。现在引理7a完成的证明。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1