 |
≫ |
|
|
 |
 |
|
 |
 |
基本処理
|
 |
 |
 |
| |
ホットプラグRAIDメモリの処理はプロセッサの処理に依存し、データのキャッシュ ラインを使用します。データのキャッシュ ラインは、DIMMのグループからのデータ ワードを使用して編成されます。メモリ
トランザクションでは、DIMMに対する1回のアクセスで各DRAMデバイスの複数のビットがアクセスされ、72ビットのデータ ワードが作成されます。たとえば、18個のデバイスが、それぞれ4ビットのデータを提供します(図5)。4つのデータ
ワードを結合して、データのキャッシュ ラインが1行編成されます。
図5:DIMMレベルのメモリ編成
メモリ書き込みの状況では、パリティはデータのキャッシュ ラインから生成されます。同時に、データのキャッシュ ラインが4つのメモリ カートリッジにわたってストライプ化され、パリティ情報が5番目のカートリッジに書き込まれます(図6)。
図6:メモリ書き込みトランザクションのダイアグラム
メモリ読み込みトランザクション(図7)では、各データ ワードは、別々のメモリ コントローラを通って別々のECCデバイスに同時に移動します。ECCデバイスは、ECCコードを使用してエラーを検出します。各ECCデバイスは、データ
ワードを検査して、データが良好か不良かを示す信号をMUXと呼ばれる論理デバイスに送ります。
図7:4つのデータ パスの1つに対するメモリ読み込みトランザクションのダイアグラム
各読み込みトランザクションの間、ECCデバイスはデータをRAIDメモリ エンジンにも渡し、RAIDアルゴリズムが他の3つのメモリ コントローラおよびパリティ コントローラからのデータ ワードを使用して同時に各データ
ワードを再生成します。たとえば、図7に示したように、RAIDメモリ エンジンはメモリ コントローラ2、3、4、およびPからのデータ ワードを使用して、メモリ コントローラ1(MC1)用のデータ ワードを再生成します。RAIDメモリ
エンジンから再生成された各データ ワードは、次に独自のMUX(図8)に渡されます。
図8:RAIDメモリ アーキテクチャ
ECCデバイスからMUXへの信号が、データが良好であることを示している場合には、MUXは元のデータを受け付けます。ECCデバイスからMUXへの信号が、データにエラーがあることを示している場合には、MUXはRAIDメモリ
エンジンから再生成されたデータを受け付けます。この時点で、ECCデバイスによって検出されたエラーが除去され、良好なデータだけが伝送されます。 |
|
 |
 |
ECCデバイスからMUXへの信号が、データが良好であることを示している場合には、MUXはECCデバイスからのデータとRAIDメモリ エンジンから再生成されたデータを比較します。読み込みトランザクション内のデータ
ワードが良好な場合には、元のデータとRAIDメモリ エンジンからのデータは一致します。一致しない場合には、ECCが検出できないエラーが発生しています。稀ではあるものの、このような状態が発生すると、不良データが良好なデータとして渡されることになります。
ホットプラグRAIDメモリでは、パリティ比較がこのような状態で失敗すると、NMIが起動されて破損したデータの伝送が防止されます。ホットプラグRAIDメモリは、この機能によって、データの破損から実質的に保護されています。 |
 |
ホットプラグRAIDメモリは、ECCまたはRAIDが検出したメモリ内のソフト エラーを実際に修復するハードウェア ルーチンを備えています。このルーチンは、スクラビングと呼ばれています。スクラビングは、メモリ読み込みで検出されたメモリ内のすべてのエラーを修復するよう試行します。スクラブは、メモリに訂正されたデータを書き戻し、ソフトエラーを修復します。ハード
エラーが発生した場合には、メモリは書き込みでは訂正されません。
スクラビングは、より深刻なエラーへとつながるソフト エラーの蓄積を防止します。従来のシステムの中には、ソフトウェア スクラビングを使用するものもありますが、ホットプラグRAIDメモリは、この作業にハードウェアを使用します。
ホットプラグRAIDメモリでは、エラーのログを採取することができ、またソフトウェアにしきい値を設定することができます。これらのしきい値によって、ソフトウェアは、一定数のメモリ エラーが記録されたときに何らかの処置を実行することができます。たとえば、エラーしきい値を超えると、ソフトウェアがLED(Light-Emitting
Diode)を点滅させます。 |
|