Windows11 Proの詳細を御覧ください
Windows11 Proの詳細を御覧ください
サーバー サーバー

ECCメモリとは?必要性や利用時の注意点

近年企業によるDX(デジタルトランスフォーメーション)推進の加速化や、研究機関におけるAI学習おいて長時間計算が必要となる場面が増えています。このような状況下でサーバー停止確率低減に有効になるのがECCメモリです。

本記事では、ECCメモリの概要や特徴、必要と利用する際の注意点などについてお伝えしていきます。 

目次

ECCメモリとは 

ECCメモリ.pngのサムネイル画像

1つのビット反転によるエラーを検出し訂正できる 

ECCError Checking and Correctingの略で、直訳すると「誤り訂正符号」です。メモリで発生する1つのビット反転によるエラーを検出し訂正できるメモリということです。 

ECCメモリの仕組み 

次にECCメモリの仕組みについてご説明します。 

ECC仕組み1.pngのサムネイル画像

まず、データを記録する際にビット反転を検証するために利用する「検査ビット」を計算しておきます。それを「情報ビット」と呼ばれる実際のデータとともにメモリ上に保存。これらをハミング符号といいます。 

ECC仕組み2.pngのサムネイル画像

その後、記録したデータを読み出す際に、検査ビットと照らし合わせ、データが正しく読み出せているかを検証し、反転したデータがあれば訂正をします。 このことから、検査ビットを保存しておく分だけ多くのメモリを搭載していることが一般的です。 

メモリスクラビング 

ECCメモリはいつでもエラーを検出できるわけではなく、対象のメモリ上のデータが参照された時しかエラーを検出できません。そのためメモリ上のデータが参照されないまま2ビット以上が反転してしまうとエラーが検出できなくなるという問題があります。 

その問題を防ぐ仕組みが「メモリスクラビング」です。スクラビングとは、直訳すると「磨く」という意味で、定期的にメモリ内の全データを参照し、エラーが発生していないかをチェックします。その動作は、まさにメモリを磨くような動きです。 

大容量のメモリを使用しているシステムでは、長時間参照されなくなるメモリ領域が少なからず出てきます。2ビット以上の反転を防止するためにメモリスクラビングは非常に有効な仕組みなのです。 

ECCメモリとの違い 

ECCメモリは、そのエラー検出・訂正機能からより信頼性を求められるサーバーやワークステーションなどで多く用いられます。特に前述した常時稼働の必要があるサーバーや、科学技術計算用のワークステーションにてECCメモリが多く採用されています。 

価格については、ECC対応メモリがECC非対応のメモリに比べて高価です 

ECCメモリと非ECCメモリの見分け方 

9memory.pngのサムネイル画像

ECCメモリ対応かどうかを見分けるには、基盤のメモリチップ数を確認します。黒四角のメモリチップが9つあればECCメモリ、8つならば非ECCメモリです。 

ECCメモリの必要性 

24時間フル稼働が必要なサーバー向けのPCや、科学技術分野の研究上必要となる大規模な計算・シミュレーションなど、メモリエラーに起因するサーバー停止を防ぐなどの用途に有効です。 

メモリエラーの頻度 

メモリエラーの頻度については、2009年時点の Googleのレポートによると、Googleのサーバー3台に1台ほどで、1年当たり1回の訂正可能なメモリエラーが発生し、100台に1台で1回の訂正不可能なエラーが発生するという記載があります訂正不可能なエラーが発生するとサーバーはクラッシュし、多くの場合は動作が停止してしまうのです。 

メモリにエラーが発生する原因 

メモリにエラーが起きる原因は主に下記の2つです。 

  • 高温・低温の環境や経年劣化などの影響 
  • 放射線や宇宙線などの影響

放射線や宇宙線の影響については、標高や太陽の活動周期などによってECCエラーの回数が増える可能性を示唆しています。 

常時稼働・大規模計算などはECCメモリが活躍 

server.jpgのサムネイル画像

レポートをもとに試算するとECC機能なしのメモリを使っている場合はエラーが訂正できないため、年に1回、1/3のサーバーがクラッシュするということになります。24時間365日の稼働が必要なサーバーや、時間がかかる計算を実施するため途中で止まってほしくないサーバーなどは、ECCメモリを使うべきです。 

ECCメモリが不要なケース 

ECCメモリは信頼性が求められるシステムには必要ですが、一般的なビジネス用途やゲーム・動画編集など、信頼性が特に求められない用途では不要です。またECCメモリは高価なため、機器の購入価格を抑えたい場合は避けましょう。 

ECCメモリを使う場合の注意点 

CPU、チップセット、メモリをすべてECC対応に 

すべて対応.pngのサムネイル画像

ECC対応メモリを使う場合は、CPU、チップセット、メモリを全てECC対応のものにする必要があります。また、ECCメモリは非ECCメモリよりも高価であり、複数枚使用すると相応の価格差になってしまいますので注意しましょう。 

ECCメモリに対応したCPUには例えば、IntelのXeonがあります。主にワークステーションや業務用サーバー向けに販売されているCPUです。Xeonについて詳しくは「Xeon®(ジーオン)とは。Core i7、i9との違い」をご覧ください。

ECCメモリと非ECCメモリに互換性はない 

またECCメモリと非ECCメモリの互換性はないため、マザーボード上でECCメモリと非ECCメモリを組み合わせて使用することはできません。ECCメモリ対応のマザーボード上で非ECCメモリを使用したい場合は、非ECCメモリが使用できるかどうかを確かめて、ECC機能を無効化したうえで使用しましょう。 

混在での使用は非推奨 

マザーボードによってはECCメモリと非ECCメモリを組み合わせても動く場合がありますが互換性は存在せず、またマザーボードのメーカーではECCメモリと非ECCメモリの組み合わせに対して動作保証していないことが多いため、両者を混在させての使用は避けましょう。 

ECCは計算結果には影響がない  

メモリがECCに対応していても、コンピューターの計算結果は変わりません。ECCはあくまでメモリエラーを防ぐための機能で、コンピューターの計算には影響を与えないことが確認されています。 

ECCメモリのエラーログについて 

確認には取得のためのソフトウェア・ハードウェアが必要 

メモリエラーが発生して、エラーの発生状況やエラーの詳細内容を知るには、エラーログを取得するためのソフトウェアやハードウェアが必要です。 

Linuxの場合 

OSの1種であるLinuxの場合、カーネルモジュールであるEDACモジュールや、mcelogツールなどでメモリエラーのログを取得できます。BMCと呼ばれる専用チップを搭載しているコンピューターはハードウェア側でもエラーログを取得できます。 

ECCメモリのエラーログを取得することは、ハードウェアエラーの検出やビット反転の検出などのためにも重要です。特にあるメモリアドレス上で継続的にエラーが発生している場合は、メモリに物理的な故障が発生している可能性が高いでしょう。 

ECCメモリ搭載ワークステーション/サーバーを販売中! 

当社ではECC対応メモリ搭載モデルのワークステーション・サーバーも多数取り扱っています。  

受注仕様生産(CTO)でご希望のハードウェアを生産

また、Linux OSなども受注仕様生産で対応可能です。まずはお気軽にご相談ください。

まとめ

ECCメモリは、メモリ上で発生したシングルビットエラーを検出訂正できるメモリです。停止を極力少なくしたいサーバーにECCメモリを使用すると有効ですが、CPU、チップセット、メモリを全てECC対応のものにする必要があり、購入時には合計金額が高くなってしまいます。 

一般的なパソコンには研究目的レベル、産業用途レベルの信頼性は求められないため、ECCメモリは不要です。ECCメモリの特性を理解して、必要な場合は有効に活用していきましょう。 

類似記事

購入のご相談・各種お問い合わせ

こちらは法人様向け購入のご相談・サポートのお問い合わせ窓口です。「パソコンのスペックと言われてもピンとこない」「このアプリを動かしたいんだけど」「こんなスペック・構成のパソコンがほしい」「わたしの業務にぴったりのモデルは?」
ご購入後に「購入したけどこんなことに困っている」・・などなど、お見積の作成はもちろん、製品や仕様のご相談、各種ソリューションサービスに対するご質問などなんでもお気軽にお問い合わせください。
※ご購入の前後でお問合せ連絡窓口が異なりますのでご注意ください

購入・お見積等のご相談

お急ぎの方、直接相談したい方

03-5294-2041

受付時間:平日9:00-18:00
FAX:03-3256-2532

sales_hq@twave.co.jp
その他のご相談方法はこちら

購入後のご相談

サポートのご相談、修理のご依頼

0120-892-324

受付時間:24時間 365日対応

お問い合わせフォーム














お問い合わせ 見積り履歴