ECC
「Error Correction Code」の略です。
ECCは、システムのメモリに書き込まれたり、そこから読み出されたりするデータの整合性を検証する方法です。ECC RAMと呼ばれる専用のRAMモジュールは、ECCを使ってデータの破損を防ぎ、信頼性と稼働時間が重要なシステムでよく使用されます。通常、ワークステーション、サーバー、医療機器や科学機器、航空機の制御コンピューターではECC RAMが使用されます。
コンピューターのメモリエラーの大半は、何らかの電磁干渉によって個々のビットの値が0から1(またはその逆)に反転することで発生する、単一ビットエラーです。こうしたエラーは、システムの不安定化やデータの破損につながることがあります。たとえば、テキストの1つの文字やピクセルの色の値が変わることがあります。ECCメモリは、単一ビットエラーを検出して修正し、影響を受けたビットを元の値に戻せます。
システムがECCメモリモジュールにデータを書き込むとき、エラーを追跡するために役立つ2つの処理を行います。まず、各ワード(またはビットのグループ)に、パリティビットと呼ばれる追加のデータビットを加え、特定のワード内で値が1になっているビットの数を記録します。また、ワード内の0と1の位置に基づく、組み込みのアルゴリズムを使って誤り訂正符号も生成します。単一ビットエラーによって1の数が変わると、パリティビットが一致しなくなります。メモリモジュールのECC回路は、生成した誤り訂正符号を参照して、どのビットが反転したかを特定し、そのビットを元の状態に戻します。
ECCメモリモジュールは追加の回路を備えているため構造が複雑で、非ECCメモリより高価です。パリティビットを保存するために、非ECCメモリモジュールより多くのメモリチップが必要です。また、誤り訂正符号の生成やパリティビットの確認に追加の手順が必要なため、ECCメモリは非ECCメモリより処理速度も低くなります。コストと性能低下のため、一般的なデスクトップコンピューターやノートパソコンでは非ECC RAMが使用され、ECC RAMは高い稼働率が求められるサーバーやワークステーション向けとなっています。
知識をテストする