Jump to content 日本-日本語
製品  >  HP ProLiant サーバ  >  技術情報  >  White Paper

White Paper

技術資料

HP ProLiant サーバ

目次

概要
  エラーの検出と訂正
  ホットプラグRAIDメモリ
-パフォーマンス
  ホットプラグRAIDメモリ
-基本処理
  ホットプラグRAIDメモリ
-ホットプラグ機能
-使用を容易にする ための機能
  まとめ、フィードバック

PDFファイル ダウンロード

このホワイトペーパーのPDFファイルをこちらからダウンロードしてご覧下さい。
(PDFファイル、232KB)
コンテンツに進む

フォルト トレランスとスケーラビリティのためのホットプラグRAIDメモリ テクノロジー


エラーの検出と訂正

  メモリ エラーからの真の保護は、何らかのメモリ保護または訂正プロトコルを採用することによってのみ達成されます。プロトコルによってはエラーの検出だけが可能なものもあり、またメモリの問題を綿密に検出および訂正できるものもあります。  

パリティ チェック


クライアント/サーバ コンピューティングがこれほど普及する前は、パリティ チェックがメモリ エラーの検出に使用されていました。パリティ チェックは、パリティ ビットを使用してデータが正しく伝送されたことをチェックします。

システム メモリに格納されているデータの各バイトには、8データ ビットが入っており、各ビットには0または1が入っています。メモリに1バイトが書き込まれるごとに、論理回路がそのバイトを検査して、データ バイトに1が偶数個あるか奇数個あるかを判断します。そして、そのデータを記述する各データ単位に対して値1または0のパリティ ビットを追加します。

奇数パリティ方式では、論理回路がバイトを検査して、偶数個の1が存在すると判断した場合、パリティ ビットに1が設定されます。したがって、元の8データ ビットに何個の1が入っていた場合でも、9ビット全体を眺めると常に奇数個の1が存在することになります。論理回路は、バイト内に奇数個の1が存在する判断した場合には、パリティ ビットに0を設定します。また、偶数パリティ方式を採用することも可能ですが、この場合には、論理回路は和が常に偶数になるように設定します。

データをメモリから読み戻すときには、論理回路はチェッカとして機能します。全9ビットを読み出し、奇数個または偶数個の1が存在するか確認します(図1)。奇数パリティ方式では、バイトの格納時に常に奇数個の1が存在するように論理回路によって設定されているため、偶数個の1が存在する場合には、いずれかの1ビットにエラーが存在することになります。

図1:奇数パリティを使用するパリティ エラーの論理ダイアグラム

図1:奇数パリティを使用するパリティ エラーの論理ダイアグラム
パリティ チェックは、メモリ エラー検出の最も基本的な形式です。この方法で多くのエラーを検出できますが、いくつか欠点もあります。パリティ チェックは、シングル ビット エラーが奇数個存在する場合だけ検出できます。さらに、パリティ チェックは、エラーとなったデータの位置を特定して訂正することができません。パリティ チェックでエラーを検出したとしても、そのエラーを訂正する能力を持っておらず、サーバは運用を停止することになります。

ECC(error checking and correcting)


現在、ECCメモリは、すべてのProLiantサーバで標準です。ECCメモリによって、致命的なメモリ障害の可能性を大きく低下させることができます。ECCはシングルビット エラーとマルチビット エラーを検出するだけでなく、実際にシングルビット エラーを訂正できるため、パリティ チェックと比較して優れています。

ECCは、特殊なアルゴリズムを使用してビットのブロックに十分な情報を埋め込むことにより、保護されたデータ内でシングルビット エラーの回復を可能にします。このアルゴリズムは、メモリが正しいデータを返したかどうかを判断するのにメモリ システムが使用する参照テーブルに似ています。

このアルゴリズムは、メモリにデータが格納されるたびに、データと共に格納するチェック ビットを生成します。メモリからデータを取り出すときには、チェック ビットの和(チェックサム)を再計算します。次に、書き込まれたデータのチェックサムと読み出したデータのチェックサムを比較し、壊れたデータ ビットが存在するか判断します。チェックサムが等しい場合には、データは有効であり、引き続き操作が実行されます。しかし、これらの値が異なっている場合には、データには1つまたは複数のエラーが含まれており、ECCメモリ ロジックがそのエラーを分離して、システムに報告します。訂正可能な(シングルビット)エラーの場合には、ECCメモリ ロジックはそのエラーを訂正することができ、システムを停止することなく訂正されたデータを出力します(図2)。

図2:シングルビット エラーの場所を特定して訂正するECCロジックのダイアグラム

シングルビット エラーの場所を特定して訂正するECCロジックのダイアグラム


シングルビット エラーを検出して特定するほかに、ECCは、2ビット、3ビット、さらに4ビットのエラーを検出します(訂正はしません)。ECC保護メモリ システムは、これらのマルチビット エラーを、パリティ チェックがシングルビット エラーを処理するのと同様に処理します。具体的には、システムに対してデータの破壊を回避するためにシャットダウンするように指示するNMI(Non-maskable Interrupt)を生成します。

システム障害の可能性


調査の結果、ソフト エラー数はメモリ容量に比例して増加することが知られています。これらのソフト エラーの何割かはECCでは訂正できないマルチビット エラーであり、したがってECCシステムの障害の可能性もメモリ容量に比例して増加します。実際に、ECCを使用する1 GBメモリのサーバは、パリティ チェックを使用する64 MBメモリのサーバと同等にのみ保護されます。新しい各世代のサーバでは、メモリ容量が増加しており、したがってシステム障害の可能性も増加しています。

図3:メモリ障害が原因となる、1年間のサーバ停止*

メモリ障害が原因となる、1年間のサーバ停止(2)

*出展:Timothy J. Dell、『A White Paper on the Benefits of Chipkill-Correct ECC for PC Server Main Memory』、IBM Microelectronics Division、Rev. 11/19/97。

前のページへ 次のページへ

PDFファイルをご覧いただくには、Adobe® Reader® が必要です。
アドビシステムズ社のウェブサイト より、ダウンロード(無料)の上ご覧ください。
印刷用画面へ印刷用画面へ
プライバシー ご利用条件・免責事項