Parity(奇偶校验)和ECC(错误检查和纠正)_IC小鸽的博客-程序员宅基地_ecc错误检查与纠正的原理

技术标签: ECC  parity  IC设计  RAM  

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比特的错误不一定能检测出来

 3、ECC是如何实现的:

 

实现细节

为什么能够单比特纠错

为什么不能纠正两比特的数据

为什么不能保证检测出多比特数据?

https://blog.csdn.net/qq_30866297/article/details/52104197--ECC原理

https://blog.csdn.net/nhczp/article/details/1700031

 

Parity与ECC的应用场景

 

IC设计中RAM模块输出信号有Parity信号和ECC信号。

parity 信号表示RAM中写入的数据data_in跟读出的数据是否一致。

ECC负责纠错,能够修正1bit的数据。

Parity是同一个data所有比特的异或,在data_in写入的时候进行异或计算得到parity_in,同时写入到RAM中,读出data的得到data_out,对data_out进行异或计算得到parity_out,若parity_out与parity_in不相等,则表示数据有错误

 

 

https://blog.csdn.net/ysmz4/article/details/9309287

https://blog.csdn.net/nhczp/article/details/1700031

 

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/icxiaoge/article/details/79996456

智能推荐

springboot与dubbo整合入门(三种方式)_weixin_30752699的博客-程序员宅基地

Springboot与Dubbo整合三种方式详解整合环境:jdk:8.0dubbo:2.6.2springboot:2.1.5项目结构:1、搭建项目环境:  (1)创建父项目与三个子项目,创建项目时,都使用spring initializr,创建时,父项目中注意的一点:    (2)创建三个子项目,在已有的父项目上右键,新建模块;  (3)创建完成后:将...

Vue脚手架的swiper轮播图如何使用_jielimulu的博客-程序员宅基地_vue脚手架轮播图

vue脚手架是一个很方便的工具,通过第三方库调用swiper官网,使用轮播图。非常好用,强烈推荐!!!

java获取打印机端口名_java指定打印机名称进行打印_宇文护泰的博客-程序员宅基地

import java.awt.print.PrinterJob;import java.awt.print.Book;import java.awt.print.Printable;import java.awt.Graphics;import java.awt.print.PageFormat;import java.awt.print.PrinterException;import java...

uva10562_llljw的博客-程序员宅基地_uva 10562

#include#includechar s[201][201],tree[400];int top,row;int dfs(int deep,int left,int right){int i,l,r;    if (deep>row)return 0;//访问越界    for (i=left;i        if ((

【Linux学习笔记】解压命令及参数_RuiJey的博客-程序员宅基地_linux 解压参数

tar:1. 主要参数 -x:解压 -c:压缩 -t:查看压缩包内容 -r:向压缩包末尾追加文件 -u:更新压缩包文件2.第二个部分 -z:有gzip属性的 -j:有bz2属性的 -Z:有compress属性的 -v:显示所有过程 -O:将文件解开到标准输出 -f:使用的档案名称,此参数是最后写必须的一个,后面只能跟一个档案名称 -C:解压路径7z        x:解压文件,按照原始文件目录树 ...

2015伦敦深度学习峰会笔记(转载)_帅气的弟八哥的博客-程序员宅基地

摘要:在伦敦举行的第三届深度学习峰会由RE.WORK主办,汇集了从工业领域到学术领域不同背景的专业人士,本文是该峰会第一天的笔记。包括Koray Kavukcuoglu、Sander Dieleman等知名深度学习专家分享了自己的经验。上周,我有机会参加在伦敦举行的第三届深度学习峰会,上两届分别在旧金山和波士顿举行。深度学习峰会由 RE.WORK主办,汇集了从工业领域到学术领域

随便推点

在MyEclipse创建Filter_leokelly001的博客-程序员宅基地_myeclipse怎么创建过滤器

问题描述:                        用MyEclipse创建Filter,在New中没有Filter这一项,怎么调出来?解决方案:

idea 中创建多模块项目详解(1)_前行的道路的博客-程序员宅基地

讲一下关于使用IntelliJ IDEA基于Maven创建多模块项目的一个分布式项目的开发,详解如下:1:项目工程目录简单介绍一下目录结构: common-parent为所有项目的父项目,主要用来管理所有项目使用的jar包及其版本。 common-utils为公共的工具类项目,继承父项目,它会被打成jar包供其它项目使用。 taotao-manager为我们自己的项目,

十个摸鱼,哦,不对,是炫酷(可以玩一整天)的网站!!!_张佳伟申的博客-程序员宅基地_十个摸鱼

文章目录前言正文**1、Kaspersky Cyberthreat real-time map****2、Finding Home****3、Silk – Interactive Generative Art****4、Liquid Partic...

chrome插件上传csv_html fileupload控件不会在Chrome中上传文件_向向姐姐的博客-程序员宅基地

Chorme数据 h1>POST http://nap1557pdv:8081/Test.aspx HTTP/1.1Host: nap1557pdv:8081Connection: keep-aliveContent-Length: 1080Cache-Control: max-age=0Authorization: Negotiate YIIHxQYGKwYBBQUCoIIHuTCCB7W...

逆向工程 Easy_Keygen 用户名&序列号题目(超详细)wp_Retrovich的博客-程序员宅基地

附上下载链接Easy_Keygen.exePS:本道题目已经给出了序列号 5B134977135E7D13 求用户名下载成功后打开发现是让输入用户名和序列号的@(。・o・)@ 这样输入肯定是进不去的( ´_ゝ`)✎ 随便测试一下 发现若不正确会自动关闭这个小窗口 于是我们使用工具 IDA!!IDA下载链接:https://pan.baidu.com/s/1eMHUeA...

mina框架分析:总体结构分析_kingmicrosoft的博客-程序员宅基地

MINA based Application ArchitectureIt's the question most asked : 'How does a MINA based application look like'? In this article lets see what's the architecture of MINA based application. Have tr