サーバーでのECCラムの使用に関する議論を見てきました。なぜそれが良いのですか?
サーバーでのECCラムの使用に関する議論を見てきました。なぜそれが良いのですか?
回答:
ECC RAMは、パリティビットを利用して、ビット単位の小さなエラーから回復できます。サーバーは稼働時間と信頼性が重要な共有リソースであるため、通常、ECC RAMはわずかな価格差で使用されます。また、ECC RAMはCAD / CAMワークステーションでも使用されており、小さなビットエラーが原因で計算ミスが発生する可能性があり、設計が製造に移行する際により重大な問題となります。
優れた実世界の研究:
このホワイトペーパーは、フィールドでのDRAMメモリエラーの最初の大規模な調査を提供します。これは、2年以上にわたってGoogleのサーバー群から収集されたデータに基づいており、何百万ものDIMM日を占めています。この調査のDRAMは、複数のベンダー、DRAMの密度と技術(DDR1、DDR2、およびFBDIMM)を対象としています。
このペーパーでは、次の質問に対処します。実際のメモリエラーの頻度 それらの統計的性質は何ですか?それらは、温度やシステム使用率などの外部要因の影響をどのように受けますか?また、チップ密度、メモリテクノロジー、DIMMエージなど、チップ固有の要因によってどのように変化するのでしょうか?
多くの点で、フィールドでのDRAMエラーの動作は、一般的に想定されているものとは大きく異なります。たとえば、以前に報告されたよりも桁違いに高いDRAMエラー率を観察し、Mビットあたり25,000から70,000のFIT率(10億デバイス時間あたりの時間内故障)と、年間8%以上のDIMMが影響を受けています。メモリエラーは、ほとんどの以前の研究が焦点を当てていたソフトエラーではなく、ハードエラーによって支配されているという強力な証拠を提供します。現場でのDIMMのエラー動作に影響するすべての要因のうち、温度の影響は驚くほど小さいことがわかります。最後に、一般的に恐れられているのとは異なり、DIMMごとのエラー率が新しい世代のDIMMで増加する兆候は見られません。
興味深いことに、ほとんどのメモリエラーはハードでした。ハードメモリエラーは回復不能です。つまり、メモリを障害として物理的に交換する必要がありますが、ソフトメモリエラーはメモリを正しい値で上書きすることで修正できます。これは、ECCの価値がかなり制限されていることを示しています。
通常、メモリシステムで発生する可能性のあるエラーには2種類あります。1つ目は、反復可能エラーまたはハードエラーと呼ばれます。この状況では、ハードウェアの一部が破損しており、常に誤った結果が返されます。ビットがスタックしている場合、何が書き込まれても常に「0」を返すことがあります。ハードエラーは通常、メモリモジュールのゆるみ、破片、マザーボードの欠陥、またはその他の物理的な問題を示します。一貫性と再現性があるため、診断と修正が比較的簡単です。
ただし、調査のすべてのサーバーがECCを使用しているように聞こえるので、ECC対非ECCエラー率を知ることはできません。
このホワイトペーパーでは、多数のコモディティサーバーにおけるDRAMエラーの発生率と特性を調査しました。私たちの調査は2年以上にわたって収集されたデータに基づいており、複数のベンダー、世代、テクノロジー、容量のDIMMを対象としています。すべてのDIMMには、少なくとも1ビットのエラーを修正するためのエラー修正ロジック(ECC)が装備されていました。
ECCには、パリティよりもいくつかの利点があります。1つは、システム全体を停止することなく、シングルビットエラーを検出および修復できます。マルチビットエラーでもパリティエラーが返されますが、メモリ自体に欠陥がない限り、PCの寿命の間、この確率は天文学的に低くなります。ECCは自動車保険のようなものです。間違ってしまう可能性のあるものの大部分をカバーしますが、複数の車が積み重なるのを防ぐことはできません。
詳細はこちら:ECCメモリ:デスクトップPCではなくサーバーに必須
物事を簡単にするために、Wikipediaから引用:
コンピュータシステム内の電気的または磁気的干渉により、DRAMの1ビットが自然に反対の状態に反転する可能性があります。当初、これは主にチップパッケージング材料の汚染物質から放出されるアルファ粒子によるものと考えられていましたが、研究[5]により、DRAMチップのワンオフ(「ソフト」)エラーの大部分はバックグラウンド放射の結果として発生することが示されています
...
この問題は、追加のメモリビットを含むDRAMモジュールと、これらのビットを活用するメモリコントローラを使用することで軽減できます。これらの追加ビットは、パリティを記録したり、エラー訂正コードを使用したりするために使用されます