嵌入式MCU存储器ECC工作原理
注:摘自汽车电子 expert 成长之路公众号
来简单聊一聊ECC,ECC 是“Error Correcting Code”的简写,中文名称是“错误检查和纠正”。ECC 是一种能够实现“错误检查和纠正”的技术。
1、奇偶校验技术
要了解 ECC 技术,就不能不提到 Parity(奇偶校验)。在 ECC 技术出现之前,内存中应用最多的是另外一种技术,就是 Parity(奇偶校验)。我们知道,在数字电路中,最小的数据单位就是叫“比特(bit)”,也叫数据“位”,“比特”也是内存中的最小单位,它是通过“1”和“0”表示数据高、低电平信号的。在数字电路中 8 个连续的比特是一个字节(byte),在内存中不带“奇偶校验”的内存中的每个字节只有 8 位,若它的某一位存储出了错误,就会使其中存储的相应数据发生改变而导致应用程序发生错误。而带有“奇偶校验”的内存在每一字节(8位)外又额外增加了一位用来进行错误检测。比如一个字节中存储了某一数值(1、0、1、0、1、0、1、1),把这每一位相加起来(1+0+1+0+1+0+1+1=5)。若其结果是奇数,对于偶校验,校验位就定义为 1,反之则为 0;对于奇校验,则相反。当 CPU 返回读取存储的数据时,它会再次相加前 8 位中存储的数据,计算结果是否与校验位相一致。当 CPU 发现二