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

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

3天内不再提示

ECC校验的详细讲解

嵌入式应用开发 来源:嵌入式应用开发 作者:嵌入式应用开发 2022-06-18 20:08 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

pYYBAGKtv1mAALtpAATLzw1ZNSs002.png

定义

ECC校验是一种内存纠错原理,它是比较先进的内存错误检查和更正的手段。ECC内存即纠错内存,简单的说,其具有发现错误,纠正错误的功能,一般多应用在高档台式电脑/服务器及图形工作站上,这将使整个电脑系统在工作时更趋于安全稳定。

技术原理

内存是一种电子器件,在其工作过程中难免会出现错误,而对于稳定性要求高的用户来说,内存错误可能会引起致命性的问题。内存错误根据其原因还可分为硬错误和软错误。硬件错误是由于硬件的损害或缺陷造成的,因此数据总是不正确,此类错误是无法纠正的;软错误是随机出现的,例如在内存附近突然出现电子干扰等因素都可能造成内存软错误的发生。

为了能检测和纠正内存软错误,在ECC技术出现之前,首先出现的是内存“奇偶校验(Parity)”。内存中最小的单位是比特,也称为“位(bit)”,位有只有两种状态分别以1和0来标示,每8个连续的比特叫做一个字节(byte)。不带奇偶校验的内存每个字节只有8位,如果其某一位存储了错误的值,就会导致其存储的相应数据发生变化,进而导致应用程序发生错误。而奇偶校验就是在每一字节(8位)之外又增加了一位作为错误检测位。在某字节中存储数据之后,在其8个位上存储的数据是固定的,因为位只能有两种状态1或0,假设存储的数据用位标示为1、1、1、0、0、1、0、1,那么把每个位相加(1+1+1+0+0+1+0+1=5),结果是奇数。对于偶校验,校验位就定义为1,反之则为0;对于奇校验,则相反。当CPU读取存储的数据时,它会再次把前8位中存储的数据相加,计算结果是否与校验位相一致。从而一定程度上能检测出内存错误,奇偶校验只能检测出错误而无法对其进行修正,同时虽然双位同时发生错误的概率相当低,奇偶校验却无法检测出双位错误。

通过上面的分析我们知道Parity内存是通过在原来数据位的基础上增加一个数据位来检查当前8位数据的正确性,但随着数据位的增加Parity用来检验的数据位也成倍增加,就是说当数据位为16位时它需要增加2位用于检查,当数据位为32位时则需增加4位,依此类推。特别是当数据量非常大时,数据出错的几率也就越大,对于只能纠正简单错误的奇偶检验的方法就显得力不从心了,正是基于这样一种情况,一种新的内存技术应允而生了,这就是ECC(错误检查和纠正),这种技术也是在原来的数据位上外加校验位来实现的。不同的是两者增加的方法不一样,这也就导致了两者的主要功能不太一样。它与Parity不同的是如果数据位是8位,则需要增加5位来进行ECC错误检查和纠正,数据位每增加一倍,ECC只增加一位检验位,也就是说当数据位为16位时ECC位为6位,32位时ECC位为7位,数据位为64位时ECC位为8位,依此类推,数据位每增加一倍,ECC位只增加一位。总之,在内存中ECC能够容许错误,并可以将错误更正,使系统得以持续正常的操作,不致因错误而中断,且ECC具有自动更正的能力,可以将Parity无法检查出来的错误位查出并将错误修正。

示例

ECC(Error Checking and Correcting,错误检查和纠正)内存,它同样也是在数据位上额外的位存储一个用数据加密的代码。当数据被写入内存,相应的ECC代码与此同时也被保存下来。当重新读回刚才存储的数据时,保存下来不ECC代码就会和读数据时产生的ECC代码做比较。如果两个代码不相同,他们则会被解码,以确定数据中的哪一位是不正确的。然后这一错误位会被抛弃,内存控制器则会释放出正确的数据。被纠正的数据很少会被放回内存。假如相同的错误数据再次被读出,则纠正过程再次被执行。重写数据会增加处理过程的开销,这样则会导致系统性能的明显降低。如果是随机事件而非内存的缺点产生的错误,则这一内存地址的错误数据会被再次写入的其他数据所取代。

审核编辑:符乾江

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

    关注

    5209

    文章

    20657

    浏览量

    337070
  • ECC
    ECC
    +关注

    关注

    0

    文章

    104

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    32GB (x72, ECC, DR) 288 - Pin DDR4 RDIMM:技术剖析与设计考量

    32GB (x72, ECC, DR) 288 - Pin DDR4 RDIMM:技术剖析与设计考量 在当今数字化时代,内存技术的发展日新月异,DDR4内存模块凭借其高速、高效的特性,成为众多
    的头像 发表于 04-08 15:30 411次阅读

    S32K314导入ECC公钥ImportEccKeyReq函数返回错误0x055A5A399怎么解决?

    },/* HMAC key */ {HSE_ALL_MU_MASK, HSE_KEY_OWNER_CUST, HSE_KEY_TYPE_HMAC, 2U, HSE_KEY512_BITS}, /* ECC
    发表于 03-16 07:06

    一文解读CRC校验

    1、CRC是用来干嘛的? 一般都知道是用来校验的,检测数据传输过程中是否出现错误(某些位,或某几位,或者某块区域位错误),一旦检测。 2、CRC是否能校正数据传输中的错误? CRC只能检错,不能纠错
    发表于 01-26 07:20

    便携式热处理炉气校验仪开机方法

    校验
    jf_60971317
    发布于 :2026年01月16日 13:24:26

    这是谁家部将,都做到内置ECC了!

    有没有试过,设备突然宕机,查了3天才发现是DDR 比特翻转 搞的鬼;PCB尺寸卡得死死的,多一颗芯片都 没地放 ;BOM成本要求一降再降, 外置ECC DDR芯片却成了“减不下去的负担” …… 但
    的头像 发表于 12-18 16:05 334次阅读
    这是谁家部将,都做到内置<b class='flag-5'>ECC</b>了!

    UART偶校验和奇校验介绍

    校验校验位使一帧数据中数据位和校验位中“1”的总数为奇数。 偶校验校验位使一帧数据中数据位和校验
    发表于 12-15 06:02

    芯片失效分析篇 —— 浅谈MICRON Memory ECC 功能

    摘要:本文介绍了ECC(错误纠正码)在存储器中的关键作用,重点分析了其在NandFlash应用中的重要性。文章指出,ECC功能未开启可能导致系统误报"坏块"、启动
    的头像 发表于 11-25 16:12 966次阅读
    芯片失效分析篇 —— 浅谈MICRON Memory <b class='flag-5'>ECC</b> 功能

    示波器如何校验探头补偿?

    探头补偿校验是确保测量信号保真度的核心环节,通过精确调节探头补偿电容,使校准信号呈现理想方波波形。 一、校验准备 1. 工具与连接 设备:正常工作的示波器、待校准探头及配套小一字螺丝刀 连接:探头
    的头像 发表于 11-24 11:34 534次阅读
    示波器如何<b class='flag-5'>校验</b>探头补偿?

    CS校验原理与应用

    原理: CS校验对数据块中所有字节(或字)进行累加求和,最终结果取模(通常是模 256 或 65536)后取补码(或直接截断)作为校验值。 例如:8位校验和 = (所有字节之和) mod 256
    发表于 11-19 07:51

    CRC校验的原理和应用

    原理: CRC校验将数据视为一个二进制多项式,用一个预先定义好的生成多项式(Generator Polynomial) 进行模2除法,得到的余数作为CRC校验码。 例如:数据多项式 ÷ 生成多项式
    发表于 11-14 06:48

    CRC校验的本质和物理意义

    工业控制系统中,Modbus RTU协议的CRC校验如同通信网络的\"免疫系统\",某石化厂DCS系统曾因CRC计算错误导致0.3%的数据包丢失,引发连锁控制故障。 一、CRC
    发表于 11-13 07:58

    进行数据校验时如何保证场景覆盖的全面性?

    在数据校验中保证场景覆盖的全面性,核心是 从 “数据属性 - 业务逻辑 - 异常边界 - 环境交互” 多维度拆解场景 ,通过系统化梳理、优先级排序和动态迭代,避免因场景遗漏导致校验漏洞。以下是具体
    的头像 发表于 09-25 17:42 815次阅读

    怎样选择适合的数据校验系统时间同步硬件?

    在电能质量在线监测装置的数据校验系统中, 时间同步硬件的选择需紧密匹配 “数据校验准确性” 核心需求 (如多监测点数据时间戳一致性、校验结果时间溯源性),同时兼顾工业现场(如变电站、电厂)的特殊环境
    的头像 发表于 09-19 11:46 666次阅读
    怎样选择适合的数据<b class='flag-5'>校验</b>系统时间同步硬件?

    如何确保电能质量在线监测装置的数据校验的准确性?

    确保电能质量在线监测装置(以下简称 “监测装置”)数据校验的准确性,需围绕 “ 标准溯源、流程规范、环境控制、数据审核、全周期追溯 ” 五大核心环节,建立全链条管控机制,覆盖校验前准备、校验过程执行
    的头像 发表于 09-18 11:05 761次阅读
    如何确保电能质量在线监测装置的数据<b class='flag-5'>校验</b>的准确性?

    搞定英伟达 H100 ECC 报错:从原理到维修,一步到位解烦忧

    最近,捷智算GPU维修室收到了不少H100服务器需要维修,故障问题集中为ECC报错。为了帮大家更好地认识和了解情况,下面就详细分享一下ECC报错系统化排查方法和维修流程。一、ECC报错
    的头像 发表于 08-14 18:05 2689次阅读
    搞定英伟达 H100 <b class='flag-5'>ECC</b> 报错:从原理到维修,一步到位解烦忧