基于RS编解码技术Flash控制器SoC设计研究.docVIP

基于RS编解码技术Flash控制器SoC设计研究.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于RS编解码技术Flash控制器SoC设计研究

基于RS编解码技术Flash控制器SoC设计研究   摘要 在SoC设计中,通过基于RS编解码技术读写Flash存储器的数据可以降低Flash存储器失效的几率,从而能够降低硬件的消耗和提高解码的速率。   关键词 RS编解码技术;SoC设计;Flash控制器   中图分类号TP3 文献标识码A 文章编号 1674-6708(2012)71-0210-02   0 引言   随着技术的进步在SoC设计中,Flash储存器越来越小,但是储存器的密度却不断增加,为了对FLASH的存储能力及其性能的稳定性进行加强,采用纠错码的方式对FLAH存储系统进行编码,能够起到降低FLASH失误的几率。基于RS(reed solomon code;即里德-索罗门码)编解码技术对FLASH存储的数据进行编码和解码,并采用流水线结构、改进新型riBM(reformulated inversionless Berlekamp-Massey)即伯利坎普迭代算法的RS解码,通过这种方法能够提高RS解码的速度和可实现能力,对于解决Flash控制器SoC设计中的Flash存储器部分数据读写失效的问题有很好的帮助。   1 RS编码的算法简介   1.1 RS编码算法   RS编码为多元BCH编码,属于线性的循环码,将其定义于GF(galois field;伽罗华域)上,能够纠正RS编码的w个错误,对RS编码进行参数设置:   RS编码长度L=q-1 q=2n n为自然数;   采用一致性的方式对位数目L-k=2w进行检验;   RS编码中的最小码距jmin= 2w+1;   jk-1,jk-2,…,j1,j0表示的是宽度为m bit的k个数据,如果m bit的k个数据经过有限域GF(2m)进行编码,其传输的码字(cn-1,cn-2,…,c1,c0),采用多项式表示的方法表示数据为:   多项式:J(z)=jk-1zk-1+jk-2zk-2+,…,+j1z+j0;   码字多项:C(z)=ck-1zk-1+ck-2zk-2+,…,+c1z+c0;   生成G(z),定义为:G(z)=(z+αi);   式中:α是G(z)的根,因为C(z)为G(z)的倍式,得到C(z)的表达式为:   C(αi)=0,0i2w-1   对C(z)进行计算,将数据多项式向右移动k位可以得到zn-kJ(z)   设:D(z)为商式;E(z)为余式   满足方程式:zn-kJ(z)=D(z)G(z)+E(z)   式中:G(z)是2w次多项式、E(z)的次数n-k。   将方程式zn-kJ(z)=D(z)G(z)+E(z)进行改写,得出:   C(z)=D(z)G(z)=zn-kJ(z)-E(z)   对于GF域加减形式相同得出:   (cn-1,cn-2,…,c1,c0)=(jk-1,jk-2,…,j1,j0,en-k-1,en-k-2,…,e1,e0)。   1.2 RS解码算法   RS解码算法公式:R(z)=C(z)+E(z)   C(z)=ck-1zk-1+ck-2zk-2+,…,+c1z+c0为发送端的码字多项式;   R(z)=C(z)+E(z)= rn-1zn-1+rn-2zn-2+…+ r1z+r0为接收端的码字多项式;   E(z)=en-1zn-1+en-2zn-2+…+e1z+e0是传输中产生错误的码字多项式;   通过C(z)=D(z)G(z)=zn-kJ(z)-E(z) 编码过程得知:   R(z)=D(z)G(z)+S(z)=C(z)+S(z)   S(z)为伴随式多项式,S(z)的取值与传输过程中产生错误值E(z)相关联,当产生错误值E(z)=0时,伴随式多项式S(z)=0,这种情况下表示FLAH控制器无错误。在数据传输过程中,因为错误E(z)的取值并不能直接获得,所以通过RS解码能够为接收端R(z)够确定数据传输过程中产生错误E(z)值。如果数据传输过程中产生错误E(z)位置w个错误,即在设定范围内,其为可纠正性错误。如果数据传输过程中产生错误E(z)位置w个错误,即不在设定范围内,其为不可纠正性错误。正因为在数据传输过程中E(z)错误具有未知性,所以通过RS解码器采用伴随式多项式S(z)的方式进行计算,可得到E(z)的值。RS解码器的伴随式多项式S(z)=s0+s1z+…+s2w-1z2w-1。   错误位置多项式:(z)=1+1z+…+eze   错误值多项式:(z)=0+1z+…+e-1ze-1   错误位置多项式、错误值多项式与伴随多项式满方程(z)S(z)=(z)modz2w。采用riBM迭代算法求解方程,当错误数e小于w的前提下,能够找到(z)和(z)。RS解码就是求解关键方程(z)=0+1z+…+e-1ze-1。   2 RS编解码的

文档评论(0)

317960162 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档