首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

ECC-算法原理

  • 25-01-18 13:23
  • 2620
  • 7172
blog.csdn.net

1、ECC介绍

ECC,Error Checking and Correcting,是用于内存存储的数据不稳定时,发生错误时可以进行检查和纠正,ECC是基于奇偶校验的原理,多用于FLASH和SRAM中。

1.1 纠一检二(SEC-DED)

(1)SEC-DED可以纠正1bit错误,检查2bit错误但是不能纠正,ECC算法原理是根据汉明(Hamming)编码实现

2^k-1≥n+k(其中n位要校验的二进制位数,k是要加入的校验位)
例如以8‘b1100_0010为例,n=8,则最小k=4满足;
根据汉明编码的原理,参考下图所示
P1表示第1位为1,序号1,3,5,7,9,11;
P2表示第2位为1,序号2,3,6,7;
P3表示第3位为1,序号4,5,6,7;
P4表示第4位位1,序号8,9;
在这里插入图片描述
(2)需要注意的是,默认先把校验码P1~4设置为0,依次对上述序号的值进行校验(校验结果使其为偶数个1),那么P1=1,P2=1,P3=1,P4=0
在这里插入图片描述
(3)这里还需要加入一个总校验和PP,使得总数据1个数为偶数个,因此PP=0;

1.2 纠正步骤

(1)如果单bit错误,D3发生翻转,那么P1=1结果仍然是正确的,P2错误,P3错误,P4正确,错误为1,正确为0,P4~P0的正确/错误逻辑组合成为4‘b0110就对应序号6,也就是D3数据错误,那么可以纠正,注意PP=0也是不正确的;
在这里插入图片描述
(2)如果发生双bit错误,PP=0是正确,但是奇偶校验位报错,因此判定为双bit错误;细心的读者会发现汉明编码原理-单bit纠错类似于二分法,逼近找到错误bit,因此适用于32,64,128bit等数据校验;
(3)汉明距离就是两个码不同的数的个数;

1.3总结

(1)所有的校验位正确,则数据正确;
(2)PP错误,其他校验位错误,则出现单bit错误;
(3)PP正确,其他校验位错误,则出现双bit错误;
(4)PP错误,其他校验位正确,则PP数据错误;

注:本文转载自blog.csdn.net的漫漫长远的文章"https://blog.csdn.net/weixin_43772705/article/details/140281477"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

123
硬件开发
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top