DIMM(デュアルインラインメモリモジュール)とは
DIMM(Dual Inline Memory Module、ディム)は、複数のDRAMチップを
プリント基板上に実装したメモリ
モジュールであり、
コンピュータの主記憶装置として利用されます。また、そのピン配置や電気的特性を定めたDIMM規格自体を指すこともあります。従来の
SIMM(Single Inline Memory Module)では、基板の表裏にある対向する端子に同一の信号が送られていましたが、DIMMでは異なる信号が送られる点が大きな違いです。
現在、DIMMという言葉は、多くのパーソナル
コンピュータや
ワークステーションで使用されている
SDRAMを搭載した
モジュールを指すことが一般的です。
DIMMの規格
DIMMの規格は、JEDEC(Joint Electron Device Engineering Council)によって
標準化されており、搭載される
SDRAMチップの種類に応じて様々な規格が存在します。DIMMという名称は、メモリ基板を挿入する
スロット(
ソケット)を指す場合もありますが、これは厳密には誤用であり、「DIMM
スロット」や「DIMM
ソケット」と呼ぶのが正確です。
DIMMインターフェースは、アドレス信号、データ信号、制御信号で構成されています。一般的に、PC用には64ビットデータのDIMMが使用されますが、信頼性が求められる
サーバーでは、ECC(Error Correcting Code)8ビットを付加した72ビットデータのDIMMが使用されます。
DIMMの種類と互換性
DIMMには、大きく分けて以下の3つの形態があります。
Unbuffered DIMM (UDIMM)
Buffered (Registered) DIMM
Fully Buffered DIMM (FB-DIMM)
これらのDIMMはインターフェースが異なるため、規格上の
互換性はありません。また、各DIMM内でもDDR2やDDR3などの違い、ECCの有無、
SDRAMの動作速度、動作電圧範囲などによって細かく規格が分かれており、同一種別間では概ね上位
互換性が保たれています。実効
転送速度と接続可能な
モジュール数はトレードオフの関係にあります。
Unbuffered DIMM
Unbuffered DIMM(UDIMM)は、
チップセットからのアドレス、制御、データ信号が直接DIMM基板上の
SDRAMチップに接続される形態です。アドレス信号と制御信号は、すべての
モジュール上のすべての
SDRAMチップに分配されるため、駆動側の電流
負荷が大きくなります。例えば、4ビット
SDRAMチップが搭載されたDIMMの場合、アドレス線は16個のDRAM ICに分配されるため、1つのチャンネルあたりに接続できる
モジュール数は3〜4枚程度が上限となります。
このように、Unbuffered DIMMは1つのチャンネルに多数接続することが難しいものの、他の2つの規格と比較して伝送路に介在物が少ないため、実効
転送速度に優れており、コスト面でも有利です。
ワークステーションの中でもメモリ容量が最優先ではないものや、パーソナル
コンピュータのほとんどで使用されています。
Buffered DIMM
Buffered DIMM(Registered DIMM)は、アドレス信号と制御信号をDIMM基板上のレジスタード
バッファと呼ばれるICで一旦受け、整形・増幅してから各
SDRAMチップに分配するDIMM規格です。データ信号は
バッファされません。
バッファの存在により、アドレス信号線と制御信号線の電気的
負荷は1
モジュールあたり1ICのみとなり、1つのチャンネルに多数の
モジュールを接続できます。数GBから数十GBといった大容量の主記憶を必要とする
サーバーに適しています。ただし、
バッファを介することで、Unbuffered DIMMと比較して
アクセスタイミングが異なります。例えば、読み出し(READ)の際には、
バッファによってアドレスと制御信号が1
クロック遅れて
SDRAMチップに通知されるため、見かけ上DIMMからのデータ出力が1
クロック遅延します。
DDR2やDDR3といった
SDRAMチップが高速化するにつれて、
バッファされていないデータ信号線の
負荷や
ノイズ耐性の問題が顕在化しており、高速動作させるためには接続できるDIMMの数に制約があります。
Fully Buffered DIMM
Fully Buffered DIMM(FB-DIMM)は、アドレス、データ、制御信号のすべてを、DIMM基板上のAMB(Advanced Memory Buffer)と呼ばれる
バッファ内蔵の専用コントローラチップで受ける形態のDIMMです。CPUや
チップセットとは、
PCI Express(PCIe)に似た高速シリアルインターフェースで接続されます。従来のDIMMがスタブのあるバス接続によって複数の
モジュールを共有接続していたのに対し、FB-DIMMでは隣同士がポイントツーポイント接続によって拡張される
デイジーチェーン方式が採用されています。
従来のDIMMと比較して
チップセット側の信号が削減されており、アドレス、制御、3.2~4.0GHzで駆動する上り用14レーン/下り用10レーンの24組の高速データ信号線(合計48本)を含む全69端子で構成されています。各信号線の伝送動作はPCIeに近いですが、通常はPCIeよりも短い伝送距離で、
クロックは重畳されていません。
サーバーなどの実使用環境では、書き込みに比べて読み出しの比率が圧倒的に高いため、書き込み方向と読み出し方向で信号の本数が異なる非対称構造となっています。
各
モジュールに1つずつ備わるAMBは、上流側
モジュールまたは
チップセット(CPU)とのインターフェース、下流側
モジュール側インターフェース、および自らの汎用
SDRAMとのインターフェースという3方向へのインターフェースを備えています。各
モジュールのAMBは、
チップセット(CPU)に近い上流側から信号を受けると、自らがターゲットではない場合は隣接する下流側の
モジュールへ信号を転送します。下流側から上流側への信号転送も同様にAMB間で順次行われます。このようにローカルなメモリコントローラとも言えるAMBが互いに接続されることで、
デイジーチェーンが構築され、各チャネルあたり最大8枚のDIMMを接続できます。
各AMB間では同期転送による遅延が生じるため、CPUから見て遠い
モジュール(下流側)への
アクセスは、近い
モジュール(上流側)よりも遅くなります。各AMB内では、並列/直列変換や動作コマンドの翻訳、CRCコードの生成/確認などを高速に行うため、発熱量が多くなります。
米Intel社が主導してPC
サーバーや
ワークステーション向けに製品化されましたが、AMBチップという高機能ICを使用するため高コストであり、放熱への配慮が必要なことや、チャネルあたりの
モジュール数が増加することによってレイテンシが増大することから、エンタープライズ
サーバーのような大容量メモリと広帯域メモリ
アクセスが強く求められる用途を除いては、ミドル/ローエンドクラスの
サーバーへの採用は広がりませんでした。
また、ラムバス社の特許権により、Buffered DIMMだけでなくFB-DIMMの構造に関してもロイヤリティの支払いが発生することも不利に働きました。
このため、Intel社は次世代メモリインターフェースとして、CPUからはFB-DIMMインターフェースでDRAMに
アクセスするものの、AMBはマザーボード上に実装し、DIMM自体は従来の物に戻す計画を立てています。依然としてコンシューマー向けメモリはUnbuffered DIMMが主流であり、コンシューマーからエンタープライズ
サーバーまで幅広いSKUをカバーする次世代プロセッサNehalemのマスクバリエーションをいたずらに増やしたくないIntelの意図が伺えます。
関連項目
コンピュータ略語一覧
転送速度
類似の他種
RDRAM (Rambus
Dynamic Random Access Memory)
SIMM (Single In-line Memory Module)
外部リンク
JEDEC
* メモリ Mac Pro Retailer