0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

干货|ECC内存为什么比普通内存更稳定?

亿佰特物联网应用专家 2023-03-06 10:59 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

为什么需要ECC内存?因为硬盘的速度远远比不上CPU的速度,所以电脑在程序运行时CPU都会先把要执行的代码和各种数据从硬盘读取到内存(单片机这种小CPU除外),之后和内存交互数据,所以内存的稳定性很大程度上决定了电脑的稳定性。但是在电脑的运行环境中,存在着各式各样的干扰,包括EMI电磁干扰、电源纹波干扰等,这些干扰会导致内存在和CPU交互数据时发生比特翻转(某个0变成1),如果比特翻转发生在某些不重要的位置上,比如某张图片或者某个视频流里面,使用者很有可能会感受不到。但是一旦发生在某个代码里面,轻则导致软件报错或者闪退,重则蓝屏死机或hardfault,对于普通PC来说还算能接受,毕竟概率很小,但是对于服务器来讲,一次宕机可能会造成灾难性的损失,所以服务器往往会使用稳定性更高的ECC内存。47315808-b929-11ed-ad0d-dac502259ad0.png

汉明码原理

为什么ECC内存能纠错呢?就是因为使用了汉明码编码。更准确来说,目前绝大多数ECC内存都是使用的汉明码来发现并纠错的。汉明码在一组数据中最多只能纠错1个比特或者最多发现2个比特的错误,超过2个比特的错误就有概率通过汉明码校验,这是前提,只有在这个基础上我们才能推出后面的结论。

汉明码原理总结来说就是奇偶校验+交集排除,奇偶校验负责检测错误,交集排除负责定位错误的位置。奇偶校验:根据被传输的一组二进制代码的数位中“1”的个数是奇数或偶数来进行校验。以偶校验为例,在每组数据中增加一个奇偶校验位,若原始数据1的个数为奇数,那奇偶校验位就补1,若原始数据1的个数本身就是偶数那奇偶校验位就不用补1,用0代替。奇偶校验有个巧妙的地方,就是奇偶校验位本身也能被校验,这也是奇偶校验能和交集排除配合使用的一个必要前提。交集排除:简单来说就是元素A若同时在集合B和集合C中,如果A、B、C都存在的话,那A一定在B∩C中。下面以一个4*4的数据举例说明。4776a6e2-b929-11ed-ad0d-dac502259ad0.png1.为了使用交集排除,先把4*4的数据分成下图4个区:4796e11e-b929-11ed-ad0d-dac502259ad0.png2.在1区使用偶校验得出没有错误:47a93d00-b929-11ed-ad0d-dac502259ad0.png3.在2区使用偶校验得出有错误:47c49c80-b929-11ed-ad0d-dac502259ad0.png4.在3区使用偶校验得出有错误:47ddea96-b929-11ed-ad0d-dac502259ad0.png5.在4区使用偶校验得出没有错误:47f6a4a0-b929-11ed-ad0d-dac502259ad0.png

6.综合2、3、4、5的结论就可以得出,错误数据同时在2区和3区,并且1区和4区没有错误,所以错误数据一定在如下(2,3)的位置,所以把(2,3)的1改为0就能得到正确的一组数据。4811a516-b929-11ed-ad0d-dac502259ad0.png482acc12-b929-11ed-ad0d-dac502259ad0.png

总结


以上就是汉明码最基础的原理,但这并不是汉明码被广泛运用在内存纠错的全部原因,因为单纯比纠错能力,它远远没有LDPC低密度校验码强,能被广泛运用的原因是汉明码能用极少的硬件电路实现(4*4的数据只需要5级异或门),而且有效数据比很高(一组数据只需要在2的整数次方的比特位置插入一个比特的校验位,有效数据比成指数级提高,当然一组数据越长超过2比特错误的概率也就越大),具体原理后面再分析。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 内存
    +关注

    关注

    9

    文章

    3263

    浏览量

    76618
  • ECC
    ECC
    +关注

    关注

    0

    文章

    104

    浏览量

    21800
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    探秘ADVANTECH 288Pin DDR4 2133 ECC SODIMM 8GB内存模块

    探秘ADVANTECH 288Pin DDR4 2133 ECC SODIMM 8GB内存模块 在当今数字化飞速发展的时代,内存模块作为计算机系统的关键组件,其性能和稳定性直接影响着整
    的头像 发表于 05-13 11:05 285次阅读

    探索ADVANTECH AQD - SD3L8GE16 - MG:高性能DDR3L SODIMM内存模块

    探索ADVANTECH AQD - SD3L8GE16 - MG:高性能DDR3L SODIMM内存模块 在当今的电子设备中,内存模块的性能和稳定性对系统的整体表现起着关键作用。今天,我们将深入探讨
    的头像 发表于 05-13 09:40 409次阅读

    Advantech 204Pin DDR3 1600 1.35V ECC SO - DIMM 4GB内存模块解析

    Advantech 204Pin DDR3 1600 1.35V ECC SO - DIMM 4GB内存模块解析 在电子设备的设计中,内存模块是至关重要的组件,它直接影响着系统的性能。今天我们来深入
    的头像 发表于 05-13 09:40 345次阅读

    深入解析ADVANTECH AQD - D4U4GE21 - SG:288Pin DDR4 2133 ECC UDIMM内存模块

    深入解析ADVANTECH AQD - D4U4GE21 - SG:288Pin DDR4 2133 ECC UDIMM内存模块 在当今的电子设备中,内存模块的性能和稳定性至关重要
    的头像 发表于 05-13 09:15 445次阅读

    深入解析Advantech AQD - D3L2GE16 - SQ DDR3内存模块

    深入解析Advantech AQD - D3L2GE16 - SQ DDR3内存模块 在硬件设计领域,内存模块的性能与稳定性对整个系统的运行起着至关重要的作用。今天我们就来详细解析Advantech
    的头像 发表于 05-12 16:30 162次阅读

    深入解析Advantech AQD-D31GN13-SX DDR3内存模块

    深入解析Advantech AQD-D31GN13-SX DDR3内存模块 在当今的电子设备中,内存模块的性能和稳定性至关重要。Advantech的AQD-D31GN13-SX DDR3内存
    的头像 发表于 05-12 16:15 187次阅读

    探秘ADATA工业级DDR4 ECC U-DIMM内存模块

    探秘ADATA工业级DDR4 ECC U-DIMM内存模块 在电子设计领域,内存模块的性能、稳定性和兼容性是工程师们关注的重点。今天,我们就来深入了解一下ADATA工业级DDR4
    的头像 发表于 05-09 13:40 185次阅读

    探秘ADATA工业级DDR4 ECC SO - DIMM内存模块

    探秘ADATA工业级DDR4 ECC SO - DIMM内存模块 在当今数字化飞速发展的时代,服务器、数据中心、边缘计算等领域对内存的性能、稳定性和可靠性提出了更高的要求。ADATA工
    的头像 发表于 05-09 12:15 310次阅读

    LuatOS的内存分配机制

    不同 LuatOS 硬件平台在内存布局上存在差异,Lua 运行内存、系统内存与 PSRAM 扩展内存的分配方式各有区别。部分型号将系统与脚本内存
    的头像 发表于 04-16 12:37 237次阅读
    LuatOS的<b class='flag-5'>内存</b>分配机制

    德明利推出CKD DDR5内存条 为AI PC提供稳定高频内存解决方案

    德明利推出CKD DDR5内存条,为AI PC提供稳定高频内存解决方案 (高频带宽释放性能潜力)
    的头像 发表于 04-03 11:23 2293次阅读
    德明利推出CKD DDR5<b class='flag-5'>内存</b>条 为AI PC提供<b class='flag-5'>稳定</b>高频<b class='flag-5'>内存</b>解决方案

    DDR5内存断崖式下跌或引发踩踏式抛货?

    内存
    芯广场
    发布于 :2026年03月30日 15:35:23

    MangoTree Halo Ultra「全新PXI」,标配自动纠错内存#

    内存
    芒果树数字
    发布于 :2026年03月06日 15:59:34

    内存条崩了?涨了十倍的内存颗粒卖给谁?内存芯片接下来怎么玩?

    内存
    芯广场
    发布于 :2026年01月26日 17:48:21

    内存持续涨价,多重信号预警成本压力#内存芯片#涨价#行业#消费电子#AI#

    内存芯片
    jf_15747056
    发布于 :2026年01月08日 18:38:35

    rk基于linux/android内存管理

    一、内存分布   U-Boot 由前级 Loader 加载到 CONFIG_SYS_TEXT_BASE 地址,初始化时会探明当前系统的总内存容 量, 32 位平台上认为最大 4GB 可用(但是不影响
    的头像 发表于 12-15 10:42 363次阅读
    rk基于linux/android<b class='flag-5'>内存</b>管理