数据存储系统中的安全卫士--汉明码软.docVIP

数据存储系统中的安全卫士--汉明码软.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文档。上传文档
查看更多
数据存储系统中的安全卫士--汉明码软.doc

  数据存储系统中的安全卫士--汉明码软 毕业 摘要:汉明码是1种编码效率极高的差错控制码,汉明码及扩展汉明码广泛应用于数据存储系统中。本文在简单分析汉明码原理的基础上,详细阐述了汉明码的编码及纠错步骤,旨在使读者理解汉明码的纠错过程以及在实际中的广泛应用。 毕业 网 关键词:差错控制编码技术;汉明码;原理;编码、纠错步骤 随着PC机的日益普及,存储对象的日渐多元化,用户对存储需求不断升级,如何保证数据稳定、高速传输?RAID(“Redundant Array of Independent Disk”)独立冗余磁盘阵列解决了这个难题,并且成为目前存储的主流技术。RAID是如何实现数据高速、可靠的传输呢,1个关键的核心技术就是应用了1定的差错控制编码技术,在RAID众多系列中最复杂的RAID 2中就采用了“汉明码(Hamming Code)差错控制编码技术”,它在数据存储及移动过程中进行差错控制,对传输过程中出现的差错自动进行纠正,保证了数据传输的安全可靠性。笔者在这里将阐述汉明码的编码原理,并剖析汉明码编码纠错过程。 1:汉明码的应用与原理 汉明码是1950年由美国贝尔实验室汉明(也有译为海明)提出来的,是第1个设计用来纠错的分组码。目前,汉明码及其变形已广泛地应用在数字通信、数据通信中的数据存储系统中,尤其在计算机的内存寻址及RAM与寄存器之间来回传送比特位时经常使用。 汉明码是在原编码的基础上附加1部分代码,使其满足纠错码的条件,原编码我们可将它称为信息码,附加码称为校验码(又可称为监督码或冗余码)。汉明码码距为3,所以只能够发现2个错误或纠正1个错误,编码效率最高。它属于线性分组码,由于线性码的编码和译码容易实现,至今仍是应用最广泛的1类码。 2:汉明码编码过程 汉明码编码可遵循以下四个步骤: (作文网zw.ΝsΕAc.编辑整理) 1。 由信息位数,根据汉明不等式,确定校验位数 2。确定校验码位置 毕业 网 3。确定校验码的值 4。求出汉明码 实例:若有17位长的信息码为1001101,请求出汉明码。 步骤1:校验位数的确定 由汉明不等式2r-1≥n 或 2r≥k+r+1(其中r为检验码位数, k为信息码位数,n为编码后的码总长)可知,在本题中k=7,代入2r≥k+r+1公式中可解得r 的取值为4,即需要4位检验码(可依次编为r0、r1、r2、r3),则总码长n=k+r=7+4=11。 步骤2:确定校验码位置 从理论上讲校验码位可放在任何位置,但习惯上将它放于位置1,2,4,8……等位置,对于校验位少的可用强记法记住所在位置,而对于位数较多的强记法就不适用,在这里介绍1种公式法,不用死记硬背,即可求出各校验码的位置。 校验位rn对应的位置为2n,n的取值从0开始,则: r0=20=1 r1=21=2 r2=22=4 r3=23=8 将校验位填在表格1对应的单元格内,其余位用信息码填充。表格1中,位数是指数据存放在第几位,共11位,用In表示(n的取值从1至11)。 11 10 9 8 7 6 5 4 3 2 1 位数 1 0 0 r3 1 1 0 r2 1 r1 r0 编码 表格 1 步骤3:确定校验码的值 确定校验码的值是个较繁琐的过程,遵循以下几个步骤: 首先,将信息码所对应的位数写成2的幂之和的形式。在实例中我们知道信息码对应的位数有I11、I10、I9、I7、I6、I5、I3等7位,相应的值写成如下形式: 11=23+21+20 10=23+21 9=23+20 7=22+21+20 6=22+21 5=22+20 3=21+20 其次,校验位rn由信息码对应位数的幂之和形式中包含有n的信息码异或而得,从表格1分析可知, r0的值由I11(信息码为1)、I9(信息码为0)、I7位(信息码为1)、I5位(信息码为0)、I3(信息码为1)对应的信息码异或而得, ( lw.nseaC.编辑发布) 则r0=1○+0○+1○+0○+1=1 依此类推: r1=1○+0○+1○+1○+1=0 r2==1○+1○+0=0 r3==1○+0○+0=1 步骤4:求出汉明码 将校验位rn的值填充到表格1中,即可求出汉明码为10011100101。 11 10 9 8 7 6 5 4 3 2 1 位数 1 0 0 1 1 1 0 0 1 0 1 汉明码 表格 2 三:汉明码纠错步骤 实例1中,由7位信息码,求出了汉明码为10011100101,若该编码传输被接收时,第7位变成了0,接收端如何来判断并且纠正错误呢? 11 10 9 8 7 6 5 4 3 2 1 位数 1 0 0 1 1 1 0 0 1 0 1 汉明码 1 0 0 1 0 1 0 0 1 0

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档