![使用 ECC DRAM 内存是否需要特定的 CPU?为什么?](https://linux22.com/image/1466125/%E4%BD%BF%E7%94%A8%20ECC%20DRAM%20%E5%86%85%E5%AD%98%E6%98%AF%E5%90%A6%E9%9C%80%E8%A6%81%E7%89%B9%E5%AE%9A%E7%9A%84%20CPU%EF%BC%9F%E4%B8%BA%E4%BB%80%E4%B9%88%EF%BC%9F.png)
ECC DRAM 有助于避免位翻转(即由宇宙射线等引起的),否则将无法检测到。这很棒,我立即想订购一些,以替换我的非 ECC。但是......
... 在我看来这并不那么容易,确实我需要一个支持它的主板 + CPU,对吗?
如果是这样,我想知道为什么。(n 级)奇偶校验位检查需要更多内存,因为可以在内存模块上有效使用(用于允许 ECC 检查的冗余),但有人可能会认为,拥有所有信息的模块本身可以进行 ECC 纠错?
CPU 在那里扮演什么角色?
- 如果错误是可纠正的,那么它应该由模块透明地纠正,对吗?
- 仅当错误被检测到但无法纠正时,我才会看到与 CPU 交互的一些理由,以标记/通知/通知已发生错误。
答案1
然而人们可能会认为,拥有所有信息的模块本身就能进行 ECC 纠错?
从理论上来说,是的。
CPU 在那里扮演什么角色?
对于 CPU 核心本身:无。
然而这通常是在内存控制器上完成的,而在现代 CPU 上,内存控制器是 CPU 芯片的一部分。因此,从实际目的来看,您现在需要一个具有 ECC 功能的 CPU。
仅当错误被检测到但无法纠正时,我才会看到与 CPU 交互的一些理由,以标记/通知/通知已发生错误。
这确实会发生。它提出了一个麦考林当它检测到无法纠正的读取错误时。