15
RAMにおけるECCメモリとは?基本定義

エラー訂正コード(ECC)メモリは、ワークステーションやサーバーに搭載されているRAMメモリの一種です。メモリエラーを自動的に検出・訂正し、データ破損を防ぐ機能を備えているため、重要なデータを扱う専門家や企業から高く評価されています。また、非ECCメモリと比較してサーバー/ワークステーションのクラッシュ発生率が低いとされており、データ破損やシステム停止が深刻な問題となる金融機関やパブリッククラウドサービス企業など、IT専門家や企業にとって非常に魅力的です。

ECCメモリと非ECCメモリ

物理的には、ECCメモリは、一般のノートパソコンやデスクトップのRAMに使用されているようなECC非対応メモリとは異なり、8個ではなく9個のメモリチップを搭載しています(メモリチップは、CPUに呼び出されたときに送信されるデータを保存するために使用されます)。ECC RAMのボーナスメモリチップは、他の8個のメモリチップ間のエラー検出と訂正に使用されます。

クレジット: Puget Systems

(画像提供:Puget Systems)

ECCメモリを搭載したシステムはクラッシュが少ないと言われています。2014年にPuget Systemsがベンチマークを実施したところ、ECCメモリの故障率は0.09%であるのに対し、ECC非搭載メモリの故障率は0.6%でした。

ECC メモリをサポートするものは何ですか?

クレジット: Dmitri Ma/Shutterstock

(画像クレジット:Dmitri Ma/Shutterstock)

ECCメモリはエンタープライズグレードのワークロードを対象としているため、ほとんどのコンシューマー向けPCマザーボードは ECC RAMをサポートしていないか、ECC機能なしで動作します。ECCメモリのメリットを実際に享受するには、ワークステーション/サーバーレベルのマザーボードが必要です。また、ECCメモリは追加のメモリチップを搭載しているため、非ECC RAMよりも高価です。

繰り返しになりますが、ECCメモリはエンタープライズグレードのワークステーションやサーバー向けに設計されています。そのため、ECCメモリをサポートするには、同様に高性能なCPUが必要です。Intel CPUの場合、エンスージアスト向けプロセッサとエンタープライズ向けプロセッサを差別化するため、XeonシリーズのみがECCをサポートしています。一方、AMDではコアを豊富に搭載するThreadripperシリーズがECCメモリをサポートしています。 

ECCメモリの欠点

意外かもしれませんが、ECC RAMは非ECC RAMよりもわずかに遅くなります。これは、エラーチェックに時間がかかるためです。前述の2014年の調査で、Puget社はECC RAMが非ECC RAMよりも0.25%遅く、Registered ECC RAMは0.44%遅いことを明らかにしました(ただし、非ECC RAMの方がパフォーマンス面で優れているという差は「わずか」だとPuget社は結論付けています)。

ECC メモリはどのように機能しますか?

エラー訂正コードは、メモリに保存されたデータの正しさを保証する数学的なプロセスです。エラーが発生した場合、ECCによりシステムはリアルタイムで正しいデータを再生成できます。

Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。

ECCはより高度なパリティ方式を採用しており、1ビットのデータ(パリティビット)を用いて、コンピュータメモリシステムで値を表すために使用される典型的な8ビットのデータなど、より大きなデータグループ内のエラーを検出する手法です。残念ながら、パリティビットはシステムがエラーを検出することを可能にしますが、データエラーを修正するのに十分な情報を提供しません。

ほとんどのコンピューティングシステムは、データを64ビット単位(「ワード」と呼ばれる)の大きな塊で転送します。ECCは、データ8ビットごとに1ビットの追加パリティビットを生成する代わりに、データ64ビットごとに7ビットの追加ビットを生成します。システムは、追加の7ビットのデータに対して複雑な数学アルゴリズムを実行し、残りの64ビットが正しいことを確認します。1ビットでも誤り(シングルビットエラー)が発生した場合、ECCアルゴリズムはデータを再構成できますが、システムに通知できるのはより大きなエラー(2ビット以上)のみです。

レジスタード/バッファリングされたメモリ

ECCメモリは必ずしもレジスタード/バッファリングされているわけではありません。ただし、レジスタードメモリはすべてECCメモリです。

ECC RAMは、レジスタードメモリ(バッファメモリとも呼ばれます)を使用することが多いです。レジスタードメモリは、システムのRAMとメモリコントローラの間に配置された「レジスタ」を使用します。これにより、メモリコントローラの負荷が軽減され、通常よりも多くのRAMモジュールを使用できるようになります。

この記事はTom's Hardware 用語集の一部です

さらに詳しく読む:

  • 最高の思い出
  • デスクトップアプリケーションに最適なCPU
  • CPUベンチマーク
  • コア対決:Intel Xeon W-3175X vs. AMD Threadripper 2990WX

シャロン・ハーディングは、ゲーム周辺機器(特にモニター)、ノートパソコン、バーチャルリアリティなど、テクノロジー関連の報道で10年以上の経験があります。以前は、Channelnomicsでハードウェア、ソフトウェア、サイバーセキュリティ、クラウド、その他のIT関連の出来事を含むビジネステクノロジーを取材し、CRN UKにも寄稿していました。