Parity(奇偶校验)和ECC(错误检查和纠正)

Parity(奇偶校验)

1、什么是parity?

奇偶校验是一种数据校验机制,用于判断数据在存储过程中是否发生了比特位错误。常用于存储结构中,如RAM。存储结构的最小单元为“字节”,即Byte。每个字节含有8比特,另外增加1比特作为校验位。如下图(1)所示,校验位为所以比特位异或产生,即当8比特有奇数个1时,校验位为1,当有偶数个1时校验位为0。

存储数据时,会对8比特数据进行异或运算得到校验位y0,并且随8比特数据一块存到RAM中。

当读取存储数据时,会对读出的8比特数据进行异或运算得到新的校验位y1,并与校验位y0进行对比,如果y1和y0不一致,则表示数据存取不一致,出现错误。

 

校验位:         y=x0^x1^x2^x3^x4^x5^x6^x7

2、parity有什么特点:

优点:

结构简单,只需异或计算就可以实现,数据量小时(8比特)实现代价小。

缺点:

1、不能修正错误:只知道8比特中有部分比特发生错误,无法判断哪几个比特发送错误。

2、有偶数个比特位时,无法判断出错。如下图所示,x5和x2均发生变化时,校验位仍未1,无法检测出错误。

3、数据位宽较大时实现代价大:如1024比特数据,需要256bit的校验位。

 

X7

X6

X5

X4

X3

X2

X1

X0

y

 

1

0

1

1

0

1

1

0

1

 

1

0

0

1

0

0

1

0

1

 

 

ECC(错误检查和纠正)

 

1、什么是ECC

通过上面的分析我们知道Parity机制是通过在原来数据位的基础上增加一个数据位来检查当前8位数据的正确性,随着数据位每增加8比特,检验位需要增加1比特。当数据量为256字节时,需要256个比特位,并且出错的数据无法恢复。由此,一种存储检错纠错机制出现了,这就是ECC。ECC同样通过增加校验位来进行错误判断,但是能够进行错误纠正。

2、ECC有什么特点:

优点:

1):大量数据位实现代价低:8比特数据需要5个校验位,256字节(256*8比特)的数据值需要5个列校验位和11行校验位

2)能够纠正错误:在内存中ECC能够容许错误,并可以将错误更正,使系统得以持续正常的操作,不致因错误而中断

缺点:

1):只能修复1比特错误

当数据只有单比特错误时,ECC能够进行错误修复;超过2比特的数据错误,将无法修复,ECC只能输出多比特错误信号。

2):不保证能检测超过2比特的错误

超过2比特的错误不一定能检测出来
————————————————
版权声明:本文为CSDN博主「IC小鸽」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/icxiaoge/article/details/79996456

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值