
メモリーの話
前回まで、X-アーキテクチャーのプロセッサー(CPU)に関する話題をお届けしてきましたが、今回はメモリーの話です。
X-アーキテクチャーは、プロセッサーだけではなく、メモリーも特徴的な機能を持っています。

メモリーは、サーバーのパフォーマンスと信頼性向上のキー・ポイントです。特に科学技術計算など、ハイエンド・サーバーが得意とする分野では、データ容量自体の大きさとアクセス頻度の高さに起因するメモリー・エラーがサーバーの故障に影響を与える確率が、事務用途の数千倍に達するとも言われています。さらに、処理するデータ量が増え、メモリー・チップの数が増えると、メモリー障害の発生率はおのずから上がってしまいます。そのため、ミッション・クリティカルな業務向けに大容量のメモリーを搭載しているハイエンド・サーバーには、このメモリー障害を防ぐための特徴的な機能が搭載されています。
一般的なメモリーにもECCやChipkillといった信頼性を確保するための機能が搭載されています。例えば、ECCは従来のメモリー・データ・エラーを検知するパリティー方式に、さらにデータ訂正機能を持たせたエラー訂正技術です。データのパリティーを特定のメモリー・チップ上に保持し、シングル・ビット・エラーに対応します。
X-アーキテクチャーのActiveMemory 機能の一つである「Memory ProteXion」は、ECCでシングル・ビット・エラーが発生した際に、そのデータを別領域に書き込む機能です。この書き込みに使われる領域は、ECC領域のうち実際には使用されていない4ビット部分を使用します。エラーになったビットを使用しないため、再度メモリー・エラーが発生する確率が減り、結果として故障率を約1/200まで下げられます。

もう一つ、メモリーの信頼性を高める一般的な機能がChipkillです。Chipkillは、データを1ビットずつ異なるメモリー・チップ上に配置し、複数ビット・エラー(マルチ・ビット・エラー)を回避する技術です。今でこそ一般的な技術ですが、これを最初に開発したのも実はIBMなのです。
では、故障したメモリーはどうしたらよいでしょう?いつまでもChipkillで稼動を続けられませんので、当然、交換が必要です。
ハードディスク(HDD)では一般的になったホットスワップ(サーバーを稼働させたままコンポーネントを交換できる機能)を、メモリーでも実現可能にしたことが、X-アーキテクチャーのもう一つの特徴です。そして、メモリーの交換だけではなく、メモリーを増強したいときにも、サーバーを稼動させたままでメモリーを追加できます。
また、信頼性と並んでメモリーに求められる要件がパフォーマンス。特に、プロセッサーの能力が飛躍的に向上している昨今、メモリーのパフォーマンスをいかに向上させるかで、プロセッサーの性能を有効活用できるかどうかが決まります。
ハイエンド・サーバーでは、メモリー・バッファーの役割を持つNovaと呼ばれるチップを、メモリー・カードごとに搭載しています。プロセッサーとメモリーの間では、このNovaチップを介してデータをやりとりしますが、さらにNovaチップ一つ一つにもメモリーを配置することで、メモリー・カードとプロセッサー間の帯域を確保し、メモリーの搭載数が増えてもパフォーマンスを落とさずに稼動させられるのです。
さて、これまでメインフレーム譲りのテクノロジーを搭載したハイエンド・サーバーを主体にお届けしてきましたが、次回からはまた違った視点でIBM System x®の魅力をご紹介したいと思います。
今回の記事執筆者:
日本アイ・ビー・エム株式会社 システムx事業部
事業開発 岡田 寛子
