ECC DRAM は、ビット反転 (宇宙線などによって誘発されるもの) を回避するのに役立ちます。ビット反転は、他の方法では検出されません。これは素晴らしいことなので、すぐに ECC 非対応の DRAM と交換するために、いくつか注文したいと思いました。しかし...
... それはそれほど簡単ではないように思えます。実際、それをサポートするボードと CPU が必要になりますよね?
もしそうなら、なぜか疑問に思います。(n レベルの) パリティ ビット チェックには、メモリ モジュールで効果的に使用できるほど多くのメモリが必要です (ECC チェックを可能にする冗長性のため)。しかし、すべての情報を持つモジュールがそれ自体で ECC エラー訂正を実行できると考える人もいるかもしれません。
CPU がそこで果たす役割は何でしょうか?
- エラーが修正可能な場合は、モジュールによって透過的に修正されるはずですよね?
- エラーが検出されたが修正できない場合にのみ、エラーが発生したことをフラグ/通知/通知するために CPU と対話する理由があると考えられます。
答え1
しかし、すべての情報を持つモジュールがそれ自体で ECC エラー訂正を実行できると考える人もいるかもしれません。
理論的には、はい、可能です。
CPU がそこで果たす役割は何でしょうか?
CPU コア自体の場合: なし。
ただし、これは通常メモリ コントローラ上で行われ、最新の CPU ではメモリ コントローラは CPU ダイの一部になっています。そのため、実用的な目的のためには、ECC 対応の CPU が必要になります。
エラーが検出されたが修正できない場合にのみ、エラーが発生したことをフラグ/通知/通知するために CPU と対話する理由があると考えられます。
これは実際に起こります。MCEE修正不可能な読み取りエラーを検出した場合。