ECC 存储器或纠错码存储器RAM(随机访问存储器)使用纠错码进行检测和纠正RAM 潜在数据损坏。只能检测常见内存错误的非ECC RAM 相比,ECC RAM在内存错误导致数据损坏或事件系统崩溃之前,可以立即检测和修复它们。这就是为什么ECC 内存被用于许多企业应用程序,特别是关键任务应用程序。
是什么导致 RAM 内存数据损坏?
像 RAM 这种易失性闪存的最小部分称为单元。存储单元是一种存储电荷产生表示1的电子电路 或0 二进制信息。多个存储单元的值转换为二进制序列,并在计算机上转换为数据。每个由多位1 和0 构成的序列有其自身的唯一值,它们将转换为数据。例如,二进制序列1001011 代表数字75。
当这些存储单元中的一个不准确时,数据损坏就会发生 8 在位数据的字节中,它们的状态突然从0开始 更改为1 反之亦然。存储单元中的位错称为单位错误。单位错误导致的内存翻转可能对计算机无害,但也可能导致系统运行错误代码甚至系统关闭。以下是一个简单的单比特错误示例,以及它们是多么微妙或破坏性。
假设内存的正确信息应该是数字 七五、二进制序列为1001011。
从 1001011 (75) 到1001010 单个内存翻转代表数字74,它仍然非常接近75,对某些应用程序非常无害。
但是,从 1001011 (75) 到1101011 单次内存翻转代表数字1075 可能对某些应用程序有害。
什么会触发单位错误?
单位内存错误、硬错误和软错误有两种。不幸的是,其中一些触发器非常常见,是工业计算应用程序。这就是为什么要用 8 GB 内存在一小时内,RAM 大约五个单位很容易出错。
硬单比特错误(由物理因素引起):
电压应力
极端温度
冲击和振动影响
制造缺陷
软单比特错误(难以检测的因素):
读写过程不正确
电磁干扰 (EMI)
电干扰
磁干扰
阿尔法粒子
宇宙射线
纠错码 (ECC) 如何修复位翻转?
纠错码存储器可以检测损坏的数据并使用纠错码 (ECC) 恢复数据,实时修复错误。
![](https://img.pc-daily.com/uploads/allimg/221103/9-2211030F1480-L.jpg)
纠错码存储器可以检测损坏的数据并使用纠错码 (ECC) 恢复数据,实时修复错误。ECC 使用高级奇偶校验在数据上创建加密代码,其中使用非二进制循环纠错代码为每64 添加7位数据 奇偶校验码。与ECC 的7 与位奇偶校验码相比,基本奇偶校验通常只适用于每8个 使用奇偶校准位数据。每644个二进制字符串 位添加7 位允许ECC RAM 不仅可以检测,还可以恢复正确的数据。
实施高级奇偶校验 ECC,例如,单错误码和双错误检测(SECDED) 汉明码是最常见的纠错码之一。后者更快ECC 使用比Hamming 三重模块化冗余纠错系统更快(TMR) — 需要来自加密的额外数据ECC RAM 在RAM 卡包含一个额外的芯片来存储和计算所有这些加密代码的记忆。这就是ECC 内存有9 内存芯片的原因不是ECC 内存只有8 内存芯片。从 ECC RAM 创建了可靠的计算,但与非ECC RAM 相比之下,速度稍慢,减速约为1% -2%,与ECC RAM 与优势相比,损失折扣不大。