ECCメモリと非ECCメモリについて
概要
メモリ(RAM)は、コンピューターの性能と信頼性に大きな影響を与える重要なコンポーネントです。特にECCメモリ(Error-Correcting Codeメモリ)と非ECCメモリの違いは、データの整合性とシステムの安定性に直結します。本記事では、ECCメモリと非ECCメモリの見分け方、特徴、エラー検出方法の違いについて解説します。
見分け方
メモリモジュールを見て、黒四角のメモリチップの数でECCメモリか非ECCメモリかを見分けることができます。
- ECCメモリ: メモリチップが9つあります。
- 非ECCメモリ: メモリチップが8つあります。
ECCメモリとは?
ECCメモリ(Error-Correcting Codeメモリ)は、コンピューターのメインメモリ(RAM)に使用されるメモリの一種です。主にサーバーやミッションクリティカルなシステムで使用されます。ECCメモリは、9番目のメモリチップを追加することで、データの誤りを検知し訂正する機能を持っています。
特徴
- 潜在的な脅威からシステムを保護します。
- データの誤りを検知し訂正する機能があります。
- 主にサーバーで使用されます。
エラー検出方法の違い
非ECCメモリ
非ECCメモリは、パリティビットを使用してエラーを検出します。
- 8ビットのデータにつき1ビットのパリティを加えて、合計が偶数になるようにします。
- 合計が奇数となることで、エラーが発生したことが分かります。
パリティ | 判定 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
ビット | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 偶数 |
1bitエラーが発生すると...
パリティ | 判定 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
ビット | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 奇数 |
しかし、これだとどのビットがエラーなのかわからず修正できません。
また、偶数箇所エラーが発生した際に、エラーを検知できない点も挙げられます。
ECCメモリ
ECCメモリは、パリティの欠点を補うために、垂直パリティと水平パリティを組み合わせてエラーを検出し訂正します。
- 1つのエラーが発生した場合、修復が可能です。
- 2つ以上のエラーが偶数で発生した場合でも、高い確率で発見することができます。
パリティ | 判定 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 偶数 | |
1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 偶数 | |
0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 偶数 | |
1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 偶数 | |
0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 偶数 | |
1 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 偶数 | |
1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 偶数 | |
0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 偶数 | |
パリティ | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 偶数 |
判定 | 偶数 | 偶数 | 偶数 | 偶数 | 偶数 | 偶数 | 偶数 | 偶数 | 偶数 | 偶数 |
1bitエラーが発生すると...
パリティ | 判定 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 偶数 | |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 奇数 | |
0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 偶数 | |
1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 偶数 | |
0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 偶数 | |
1 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 偶数 | |
1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 偶数 | |
0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 偶数 | |
パリティ | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 偶数 |
判定 | 偶数 | 偶数 | 偶数 | 奇数 | 偶数 | 偶数 | 偶数 | 偶数 | 偶数 | 奇数 |
これにより、どこのビットでエラーが発生したかを検知でき、修正することができます。
まとめ
ECCメモリは、データの誤りを検知し訂正する機能を持つため、サーバーやミッションクリティカルなシステムで重要です。非ECCメモリは、パリティビットを使用してエラーを検出するため、一般的なデスクトップPCやラップトップに使用されます。それぞれの用途に応じたメモリを選ぶことが、システムの信頼性と安定性を確保するために重要です。
参考文献