我最近为我的家庭影院壁橱建了一个1U机架式服务器. 很快就我是否应该使用Core i7或者XEON.这引发了关于ECC RAM在我的建筑中是否重要的第二次但更加民间的辩论。很快,很明显,许多自称专家的人甚至不知道ECC RAM实际上做了什么。ECC RAM到底是什么?

什么是ECC RAM?ECC解释

第一件事,放在第一位。让我们把缩写ECC的定义弄好!许多科技界人士,甚至是经验丰富的老手都会把ECC称为错误检查和纠正RAM。这实际上是不正确的。ECC代表错误校正码记忆力

ECC内存在内存条上包含一个附加的RAM芯片,以及一个用于处理和检测内存条错误的ASIC。这与硬盘上使用的RAID 5非常相似,但实现方式不同。

计算机系统经常受到电磁干扰的轰击。这种干扰可能来自许多来源,比如宇宙射线,甚至是PC本身内部的片状组件。这种干扰偶尔会导致内存中一个看似随机的内存位翻转。这可能导致许多结果。

错误位翻转的结果

  • 电脑可能会死机–如果翻转的位是一个关键位,它可能会向处理器发送一个无效的命令,例如除以零,从而导致计算机立即完全崩溃。
  • 这台电脑发送的数据无效-如果比特翻转是数字运算算法的一部分,它可能会改变计算结果。例如,在银行业务中,这可能导致不正确地处理存款或取款,导致存款过多或过少。
  • 不显明的行为-如果位被翻转是代表屏幕上的一个像素,它可能只是稍微改变颜色或完全关闭。在许多情况下,没有人会知道发生了什么,也不会造成真正的伤害。
  • 没有什么-被翻转的位可能不会被计算机实际使用,不会造成伤害。

因此,ECC RAM在业务服务器中非常常用,特别是在银行/金融或科学用例(如绘制卫星轨迹)中。这种错误的位翻转并不经常发生,因此一般认为对家用电脑来说是不必要的。不过,一些高端工作站计算机将使用ECC。一个例子是苹果Mac Pro

ECC RAM如何工作

我想我们已经回答了这个问题“什么是ECC RAM?”“很好。让我们花一点时间来解释它是如何工作的!

如前所述,ECC RAM在内存条上有一个额外的内存芯片和ASIC,充当校验芯片和纠错的内存处理器。当数据写入内存时,ASIC根据厂商的不同,使用汉明码(Hamming Codes)或三重模块冗余码(Triple Modular Redundancy code)计算校验位。该芯片为标准芯片中的每个64位字创建一个奇偶校验位。当读发生时,再次检查该奇偶校验位,如果发现不匹配,则在数据离开内存总线之前纠正错误。

感谢阅读,我们希望这能回答“什么是ECC RAM”的问题!