ECC メモリはエラー訂正コード メモリとも呼ばれ、データ内のエラーを検出して修正する機能を備えています。システムの安定性と安全性を強化するために、ハイエンドのデスクトップ コンピューター、サーバー、ワークステーションで一般的に使用されています。
メモリは電子デバイスであるため、動作中にエラーが発生する可能性があります。高い安定性を求めるユーザーにとって、メモリ エラーは重大な問題につながる可能性があります。メモリ エラーは、ハード エラーとソフト エラーの 2 種類に分類できます。ハード エラーはハードウェアの損傷や欠陥によって発生し、データは常に不正確です。これらのエラーは修正できません。一方、ソフト エラーは、メモリ近くの電子的干渉などの要因によりランダムに発生し、修正することができます。
ソフト メモリ エラーを検出して修正するために、メモリの「パリティ チェック」の概念が導入されました。メモリ内の最小単位はビットであり、1 または 0 で表されます。連続する 8 ビットで 1 バイトが構成されます。パリティ チェックのないメモリには 1 バイトあたり 8 ビットしかなく、いずれかのビットに不正な値が格納されていると、誤ったデータやアプリケーションの障害が発生する可能性があります。パリティ チェックでは、エラー チェック ビットとして各バイトに余分なビットが追加されます。データをバイトに格納すると、8 ビットは固定パターンになります。たとえば、ビットにデータが 1、1、1、0、0、1、0、1 として格納されている場合、これらのビットの合計は奇数になります (1+1+1+0+0+1+0+1=5)。 )。偶数パリティの場合、パリティ ビットは 1 として定義されます。それ以外の場合は 0 です。CPU は保存されたデータを読み取るときに、最初の 8 ビットを加算し、その結果をパリティ ビットと比較します。このプロセスではメモリ エラーを検出できますが、パリティ チェックではメモリ エラーを修正できません。さらに、パリティ チェックではダブル ビット エラーを検出できませんが、ダブル ビット エラーが発生する可能性は低いです。
一方、ECC (エラー検査および訂正) メモリには、データ ビットと一緒に暗号化されたコードが保存されます。データがメモリに書き込まれると、対応する ECC コードが保存されます。保存されたデータを読み戻すとき、保存された ECC コードが新しく生成された ECC コードと比較されます。一致しない場合は、コードがデコードされて、データ内の間違ったビットが特定されます。その後、エラーのあるビットは破棄され、メモリ コントローラーは正しいデータを解放します。修正されたデータがメモリに書き戻されることはほとんどありません。再度同じ誤ったデータが読み出された場合には、修正処理が繰り返される。データを再書き込みするとオーバーヘッドが発生し、パフォーマンスが著しく低下する可能性があります。ただし、ECC メモリはエラー訂正機能を提供するため、サーバーや同様のアプリケーションにとって非常に重要です。 ECC メモリは追加機能があるため、通常のメモリよりも高価です。
ECC メモリを使用すると、システムのパフォーマンスに大きな影響を与える可能性があります。全体的なパフォーマンスが低下する可能性がありますが、重要なアプリケーションやサーバーにとってエラー修正は不可欠です。その結果、データの整合性とシステムの安定性が最優先される環境では、ECC メモリが一般的に選択されます。
投稿日時: 2023 年 7 月 19 日