ECC 存储器或纠错码存储器是一种RAM(随机存取存储器),它利用纠错码来检测和纠正RAM 上的潜在数据损坏。与只能检测常见内存错误的非ECC RAM 相比,ECC RAM可以在内存错误导致数据损坏或事件系统崩溃之前立即检测并修复它们。这就是为什么ECC 内存被用于众多企业应用程序,尤其是任务关键型应用程序的原因。
是什么导致 RAM 中的内存数据损坏?
像 RAM 这样的易失性闪存中的最小部分称为单元。存储单元是一种电子电路,它存储电荷以产生表示1 或0 的一位二进制信息。多个存储单元的值被转换为二进制序列,并在计算机上转换为数据。每个由多位1 和0 组成的序列都有其自己的唯一值,该值将转换为数据。例如,二进制序列1001011 代表数字75。
当这些存储单元中的一个不准确时,就会出现数据损坏问题,在 8 位数据的一个字节内突然将它们的状态从0 更改为1 或反之亦然。这种存储单元中的位错误表示被称为单位错误。单个位错误导致的内存翻转可能对计算机无害,但也可能导致系统运行错误代码甚至系统关闭。下面是一个简单的单比特错误示例,以及它们是如何微妙或具有破坏性的。
假设内存的正确信息应该是数字 75,二进制序列为1001011。
从 1001011 (75) 到1001010 的单个内存翻转代表数字74,它仍然非常接近75,并且对某些应用程序非常无害。
但是,从 1001011 (75) 到1101011 的单次内存翻转代表数字107,与75 相差甚远,可能对某些应用程序有害。
什么会触发单位错误?
有两种类型的单位内存错误,硬错误和软错误。不幸的是,其中一些触发器非常常见,尤其是对于工业计算应用程序。这就是为什么在使用 8 GB 内存的一小时内,RAM 很容易遇到大约五个单位错误。
硬单比特错误(由物理因素引起):
电压应力
极端温度
冲击和振动影响
制造缺陷
软单比特错误(难以检测的因素):
不正确的读/写过程
电磁干扰 (EMI)
电干扰
磁干扰
阿尔法粒子
宇宙射线
纠错码 (ECC) 如何修复位翻转?
纠错码存储器可以检测损坏的数据并使用纠错码 (ECC) 恢复数据,实时修复错误。ECC 使用高级形式的奇偶校验在数据上创建一段加密代码,其中它使用非二进制循环纠错码为每64 位数据添加一个7 位奇偶校验码。与ECC 的7 位奇偶校验码相比,基本奇偶校验通常只对每8 位数据使用一个奇偶校验位。为二进制字符串的每64 位添加7 位允许ECC RAM 不仅可以检测而且可以恢复正确的数据。
高级奇偶校验执行 ECC,例如单错误码和双错误检测(SECDED) 汉明码,这是最常见的纠错码之一。后一种更快的ECC 使用比Hamming 纠错系统更快的三重模块化冗余(TMR) — 具有来自加密的额外数据需要ECC RAM 在RAM 卡上包含一个额外的芯片来存储和计算所有这些加密代码记忆。这就是ECC 内存有9 个内存芯片的原因,而非ECC 内存只有8 个内存芯片。
解密和加密过程从 ECC RAM 创建了可靠的计算,但与非ECC RAM 相比,速度也稍慢,减少速度约为1% -2%,与ECC RAM 的优势相比,损失并不大优惠。- 本文固定链接: https://maimengkong.com/morejc/1581.html
- 转载请注明: : 萌小白 2023年6月21日 于 卖萌控的博客 发表
- 百度已收录