我有一个带有 ECC RAM 和 Xeon E3 CPU 的系统。
我的理解是,RAM 上的 ECC 电路将检测 RAM 芯片中随机位错误的损坏。
但是,英特尔 CPU 中存储的内存中的随机位错误会发生什么情况?例如缓存和/或寄存器?
是否存在一个覆盖漏洞,即好的 RAM 被缓存到 CPU 中,然后这个缓存的 RAM 被损坏,然后被 CPU 稍后使用(而不检查 ECC RAM)?
除了顶级 Xeon E7 之外,我在英特尔网站上找不到有关缓存 ECC 保护的任何信息。
这是否意味着无论您是否使用 ECC RAM,Xeon E7 系列以下的任何英特尔 CPU 都容易受到内存损坏?
答案1
您所写的一切都是正确的,只是您没有列出 ECC 校正的实际原因。我建议阅读下面的文章。现在在实际应用中,系统使用内存校正来实际提高性能,因为某些硬件和软件能够检测数据中的不一致并请求重新处理事务。此外,常见的单比特错误不太可能影响您的工作。事实上,更有可能的是,计算机上的任何电子芯片过热都可能导致绝缘体允许电子跳跃(超频导致计算机故障的原因)。内存校正在大规模计算中非常重要,因为大规模计算不会拥有其他校正手段,例如科学计算的天气建模。任何损坏的数据会重复数十亿次或处理长浮点数的地方。因此,据我记得,所有可以组合单个内核来处理 256 位长浮点数的 PileDriver 和 SteamRoller AMD 内核都在 CPU 的内存中使用 ECC。
一些阅读这里