キーワード

FB-DIMMに向かうサーバ向けメモリを知る

デジタルアドバンテージ 小林 章彦
2006/12/09

 2006年5月23日、インテルはIntel Xeon 5000番台(開発コード名:Dempsey)とともに、新しいデュアルプロセッサ対応のサーバ向けチップセット「Intel 5000P/V」の提供を開始した(PとVの違いは、サポートするPCI Expressの本数などにある)。Intel 5000P/Vは、Intel Xeon 5100番台(Coreマイクロアーキテクチャ採用のデュアルコア)と5300番台(クアッドコア)にも対応しており、現在のインテルのデュアルプロセッサ向けチップセットにおける主流となっている。

 このIntel 5000P/Vの最大の特徴は、メモリとして新たにFB-DIMM(Fully Buffered DIMM)を採用したことにある。FB-DIMMは、メモリ・コントローラとDIMM間のインターフェイスをシリアル化するなど、これまでのSDRAM DIMMから大きく仕様が変更されている。インテルでは、サーバ向けのメモリについては、順次FB-DIMMへ移行していくことを明らかにしており、Intel Xeon MP向けチップセットでも、次世代製品ではFB-DIMMのサポートが開始されるものと思われる。とはいえ、エントリ・サーバではデスクトップPCのチップセットが流用されるケースもあり、引き続きDDR2 DIMMが採用されることも考えられる。

 一方、AMD Opteronは、当面の間、DDR2 DIMMをサポートすることを明らかにしている。これはAMD Opteronがプロセッサにメモリ・コントローラを同梱していることと無縁ではないだろう。FB-DIMMをサポートするためには、プロセッサ自体の設計変更が必要であり、対応に時間がかかるためだ。AMD Opteronでも、FB-DIMMに対応することを明らかにしているものの、どの時点でサポートを行うかは明確にしていない。

 このようにサーバ向けメモリについては、プラットフォームごとに異なる規格が採用される状態となっている。また同じプラットフォームであっても、プロセッサのFSB(フロント・サイド・バス)の動作クロック周波数によって、要求されるメモリの性能(DDR2-533かDDR2-677かなど)が異なってくる。サーバを選択する際に、メモリの種類や違いについての知識がないと、オーバースペックのメモリを選択し、無駄に予算を使ってしまったり、逆に性能が低いメモリを選択して、メモリがボトルネックになってサーバの性能が十分に発揮できなくなってしまったりする可能性がある。

 そこで、サーバで利用されているメモリの種類や規格についてまとめることにする。サーバのカタログなどを読む際などに参考にしていただきたい。

■DDR2 SDRAM
 DDR SDRAMを改良し、より高速化したSDRAMメモリ。

 クロックの1周期で1回のデータ転送しか行わないSDR SDRAMに対し、クロック信号の立ち上がりと立ち下がりのそれぞれでデータをやりとりすることで、1クロック周期で2回のデータ転送を行えるようにしたものがDDR SDRAMである。さらにDDR2 SDRAMでは、外部クロック周波数を内部バス動作周波数の2倍とすることで、SDR SDRAMの4倍、DDR SDRAMの2倍のデータ転送速度を実現している。

 ただしメモリ・セル・アレイ自体の高速化は容易ではないため、内部インターフェイスを改良し、内部バス幅をDDR SDRAMの2倍とすることで、外部インターフェイスを内部クロックの2倍速で動作させることを可能にしている。つまり、DDR2 SDRAMの内部では一度に4bitのデータを読み出し、それを出力回路で1bitずつ外部バスへ順番に送り出すことによって、内部動作に対して4倍の外部データ転送速度を可能にしている(書き込みは、順番に受け取って、4bitずつ書き込みを行う)。

 動作電圧は、SDRAMの3.3V、DDR SDRAMの2.5Vに対し、DDR2 SDRAMは1.8Vと低電圧化している。これにより、低消費電力化も実現している。

 DDR2 SDRAMは、DDR SDRAMをベースにしているものの、両者のメモリ・モジュール形状は異なり、相互に互換性はない。

 現在、DDR2 SDRAMを搭載したDIMMは、下表が製品として提供されている(FB-DIMMについては後述)。現行のサーバでは、PC2-3200、PC2-4200、PC2-5300の各DIMMが搭載されている。Intel Xeon 3000番台ではPC2-4200、Intel Xeon MPでPC2-3200、AMD OpteronではPC2-5300の採用が多い(Intel Xeon 5100番台/5300番台はFB-DIMMへ移行している)。Intel Xeon搭載サーバであっても、若干販売開始時期が古い機種では、PC2-3200を採用するものもあるので注意が必要だ。

DIMM名 チップ・タイプ 内部動作クロック周波数 外部動作クロック周波数 データ・バス速度 データ転送レート
PC2-3200 DDR2-400 100MHz 200MHz 400MHz 3.2Gbytes/s
PC2-4200 DDR2-533 133MHz 266MHz 533MHz 4.2Gbytes/s
PC2-5300 DDR2-667 166MHz 333MHz 667MHz 5.3Gbytes/s
PC2-6400 DDR2-800 200MHz 400MHz 800MHz 6.4Gbytes/s
PC2-7400 DDR2-933 233MHz 466MHz 933MHz 7.4Gbytes/s
PC2-8500 DDR2-1066 266MHz 533MHz 1066MHz 8.5Gbytes/s
PC2-9600 DDR2-1200 300MHz 600MHz 1200MHz 9.6Gbytes/s
表区切り
DDR2 SDRAM採用の主なDIMM
 
■DDR3 SDRAM
 外部クロック周波数を内部バス動作周波数の4倍とすることで、DDR2 SDRAMの2倍のデータ転送速度を実現したメモリ。内部インターフェイスを改良し、内部バス幅をDDR2 SDRAMの2倍とすることで、外部インターフェイスを内部クロックの4倍速で動作させることを可能にしている。動作電圧は1.5 Vと、DDR2 SDRAMの1.8Vからさらに低電圧化している。

 すでにエルピーダメモリなどがサンプルの出荷を開始しており、2007年中ごろには、クライアントPC向けメモリが現行のDDR2 DIMMからDDR3 DIMMへ移行する予定である。なおサーバにおいては、DDR3 SDRAMを搭載するFB-DIMMが2008年にもサポートされる予定だ。クライアントPCのチップセットを流用するエントリ・サーバでは、DDR3 DIMMが採用される可能性もある。

DIMM名 チップ・タイプ 内部動作クロック周波数 外部動作クロック周波数 データ・バス速度 データ転送レート
PC3-6400 DDR3-800 100MHz 400MHz 800MHz 6.4Gbytes/s
PC3-8500 DDR3-1066 133MHz 533MHz 1066MHz 8.5Gbytes/s
PC3-10600 DDR3-1333 166MHz 666MHz 1333MHz 10.6Gbytes/s
PC3-12800 DDR3-1600 200MHz 800MHz 1600MHz 12.8Gbytes/s
 
■FB-DIMM(Fully Buffered DIMM)
 メモリ・チップとやりとりされるコマンド、アドレス、データのすべてをバッファ・チップの「AMB(Advanced Memory Buffer)」に蓄えることで、既存のDDR2 SDRAMを利用しながら、メモリ・コントローラとDIMM間をシリアル・インターフェイスで接続するものである。

エルピーダ メモリのFB-DIMM
DIMM中央のチップがAMBである。AMBがコマンド、アドレス、データをバッファすることで、メモリ・コントローラとDIMM間のシリアル・インターフェイスによる接続が可能になっている。

 メモリ・コントローラとAMBチップ間を接続するシリアル・インターフェイスは、1レーン(1bitのデータ転送を行う1対の信号線)当たり3.2Gbits/s〜4.8Gbits/sのデータ転送レートを実現し、上り用に14レーン、下り用に10レーンを用いた非対称構成となっている。1チャネルのFB-DIMMインターフェイスは、この24組の高速信号線(合計48ピン)を含む69ピンで構成される。

 1チャネルのインターフェイスには、AMBが一種の「リレー」として動作し、信号の減衰を最小限に食い止めることができるため、ディジーチェーンによって2〜8本のFB-DIMMが接続できる。その結果、DIMMソケットの数を増やすことが可能になり、大容量のメモリの実装が可能になる。

 またシリアル・インターフェイスの採用により、配線が容易になるメリットもある。従来のDDR2 SDRAM DIMMでは、データ線の配線長をそろえるために、わざと配線を迂回させるようなことをしていた。FB-DIMMでは、このような配線に対する配慮が不要になるため、マザーボードの設計の自由度が高くなる。

 さらにAMBが、FB-DIMM上のDRAM仕様の違いを吸収することが可能であるため、例えばFB-DMM上のメモリがDDR2 SDRAMからDDR3 SDRAMに変更になっても、チップセット側は仕様を変更することなしに対応することが仕組みの上は可能である。ただ実際には、FB-DIMMの動作電圧の変更などが伴うため、チップセット側の対応も必要になると思われる。

 一方、FB-DIMMのデメリットは、DDR2 SDRAM DIMMとDDR2 FB-DIMMを比較した場合、AMBの分だけコスト・アップになること、現在のAMBは発熱量が多く、サーバのメモリ部分に十分な冷却を必要とする点が挙げられる。ただFB-DIMMが普及することで、AMBのコストが下がり、また改良が進むことで、コストや発熱の問題は解消されているものと思われる。

 現在、FB-DIMMをサポートするチップセットは、Intel Xeon 5000番台向けのIntel 5000X/P/Vのみである。Intelでは、サーバ向けのメモリは順次、FB-DIMMに移行するとしている。またAMD Opteronも、FB-DIMMへ対応することは明らかにしている。ただしAMD Opteronは、プロセッサにメモリ・コントローラを内蔵していて対応が遅れることから、FB-DIMMの対応はDDR3 FB-DIMMからになるといわれている。

関連記事:
解説:FB-DIMMがサーバのメモリを変える?
 
■レジスタードDIMM(Registered DIMM)
 メモリ・モジュール上にレジスタ・チップを持ち、コマンドとアドレスをバッファリングすることで、より多くのメモリ・チップを搭載可能にしたもの。つまりレジスタードDIMMは、通常のDIMM(アンバッファードDIMM)に比べて、より大容量のメモリ・モジュールを実現できるというメリットがある。また、1つのシステムに装着できるメモリ・モジュールの枚数も、レジスタード・DIMMの方が多い。

 レジスタードDIMMは、主に大容量のメモリ搭載が要求されるサーバ向けチップセットでサポートされている。
 
■ECCメモリ(Error Correcting Code memory)
 ECCは日本語に訳すと「誤り訂正符号」となる。メモリ・エラーの存在を検出するだけでなく、エラーが発生した個所(ビット)を特定して、これを正しいものに修正する機能を持ったメモリのこと。

 ECCメモリでは、エラーの検出を行うため、冗長ビットが必要になる。冗長ビットは、データ・バス幅に応じたハミング・コード(バス幅をNとすると、Nを底とする2の対数をとり、この結果に2を加える)により算出できる。例えば、64bitなら、8bitの冗長ビットが必要となる。

 ECC機能を使う場合は、チップセットやBIOSがECCに対応している必要があり、搭載メモリのすべてがECC対応でなければならない。最近は、メモリ自体の信頼性が高まっていることもあり、デスクトップPCではECCをサポートしていないことが多い。一方、高い信頼性が求められるサーバでは、標準でECCがサポートされており、ECCメモリの利用が可能になっている。記事の終わり
 
 
 「System Insiderのキーワード」


System Insider フォーラム 新着記事
  • Intelと互換プロセッサとの戦いの歴史を振り返る (2017/6/28)
     Intelのx86が誕生して約40年たつという。x86プロセッサは、互換プロセッサとの戦いでもあった。その歴史を簡単に振り返ってみよう
  • 第204回 人工知能がFPGAに恋する理由 (2017/5/25)
     最近、人工知能(AI)のアクセラレータとしてFPGAを活用する動きがある。なぜCPUやGPUに加えて、FPGAが人工知能に活用されるのだろうか。その理由は?
  • IoT実用化への号砲は鳴った (2017/4/27)
     スタートの号砲が鳴ったようだ。多くのベンダーからIoTを使った実証実験の発表が相次いでいる。あと半年もすれば、実用化へのゴールも見えてくるのだろうか?
  • スパコンの新しい潮流は人工知能にあり? (2017/3/29)
     スパコン関連の発表が続いている。多くが「人工知能」をターゲットにしているようだ。人工知能向けのスパコンとはどのようなものなのか、最近の発表から見ていこう
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

System Insider 記事ランキング

本日 月間