summary:
DIMMは一般に64ビット幅のデータバスを持ち,追加のECC[Error Correcting Code]ビットを含む構成[たとえば72ビット幅]も存在する.DIMM基板上には,直列的または並列的に複数のDRAMチップが実装されており,各チップはJEDEC規格に従って配置される.初期のDIMMはSDRAM[Synchronous DRAM]を基盤としていたが,その後DDR[Double Data Rate]系のメモリ技術の進化とともに,DDR,DDR2,DDR3,DDR4,そして現在主流となるDDR5へと世代交代してきた.各世代は,動作電圧の低減,転送レートの向上,バンク数の増加,プリフェッチ長の延伸など,帯域幅と省電力性を主軸に改良されている.さらに最新技術として,MRDIMM[Multiplexed Rank DIMM]が開発されており,これはマルチプレクサバッファとメモリコントローラを組み合わせることで,従来のDDR5仕様を超えた高速化を実現している.
DIMMの起源は1990年代半ばに遡る.Pentiumプロセッサが64ビットバス幅を持つようになったことで,32ビット幅のデータバスしか提供できないSIMMでは2枚1組で使用する必要があったこの非効率性を解消するために開発されたのがDIMMである.最初に広く普及したのはSDRAM DIMMであり,1996年前後からIntelのチップセットとともに市場に登場した.その後,PC133 SDRAM DIMMが登場し,次いで2000年代初頭にDDR DIMMが主流となった.以後,各DDR世代のメモリモジュールは,ピン数やキー位置の変更を通じて物理的な互換性を防ぎつつ,接続規格[例:DIMMスロット]を継承してきた.さらにサーバ用途では,Registered DIMM[RDIMM]やLoad Reduced DIMM[LRDIMM]といった,バッファやレジスタを介して負荷を低減する派生形式も開発されている.加えて,ラップトップやコンパクトなシステム向けには,物理的に小型化されたSO-DIMM[Small Outline DIMM]も広く使用されている.
コンピュータシステムにおけるDIMMの役割を理解するためには,メモリ階層との関係を把握することが重要である.CPUに最も近い位置にはレジスタとキャッシュメモリ[L1,L2,L3]が配置され,これらは極めて高速だが容量が限られている.DIMMとして実装される主記憶装置[RAM]は,これらキャッシュメモリよりも低速だが大容量であり,ストレージデバイスよりもはるかに高速という中間的な位置を占める.CPUがデータを必要とする際は,まずキャッシュを確認し,そこに目的のデータがない場合[キャッシュミス]にDIMMから必要なデータを読み込む.この階層構造により,メモリアクセスのレイテンシがCPUコアのパフォーマンスのボトルネックとなることを最小限に抑えている
CPUとの関係において,DIMMの性能は全体的なシステムパフォーマンスに直接影響する.CPUの処理速度がメモリアクセス速度を上回る場合,CPUは待機時間を強いられ,計算効率が低下する.そのため,現代のシステムではDDR5のような高速メモリ技術と,複数チャネル構成[デュアルチャネル,クアッドチャネル]を組み合わせることで,メモリ帯域幅を最大化している.また,ECCメモリは,重要なデータ処理における信頼性を確保するため,サーバやワークステーションで標準的に採用されている.
ストレージとの関係では,DIMMは揮発性メモリとして,電源が切れるとデータが失われる特性を持つ.一方,SSDやHDDなどの不揮発性ストレージは,電源が切れてもデータを保持するが,アクセス速度は大幅に劣る.この特性の違いにより,RAMは主要な作業領域として機能し,速度とコストのバランスを取っているオペレーティングシステムは,ストレージからプログラムやデータをRAMに読み込み,CPUがこれらに高速アクセスできるようにする.また,RAMの容量が不足した場合には,仮想メモリ機能により一時的にストレージを代替メモリとして使用するが,その際の性能低下は顕著である.
現代のコンピュータアーキテクチャにおいて,DIMMは単なる記憶装置を超えた重要な役割を担っている.マルチコアプロセッサの普及により,複数のCPUコアが同時にメモリにアクセスする状況が一般的となり,メモリコントローラの設計やNUMA[Non-Uniform Memory Access]アーキテクチャとの連携が重要となっている.さらに,人工知能や機械学習の分野では,大容量かつ高帯域幅のメモリが要求されており,HBM[High Bandwidth Memory]などの新技術も登場している.
DIMMは,主記憶装置の高密度化と高速化,ならびに信頼性確保のための基本的なインタフェース形式として,現代の計算機アーキテクチャにおいて不可欠な要素であり続けている.技術の進歩とともに,より高速で省電力,かつ大容量のメモリモジュールが開発され,コンピュータシステム全体の性能向上に寄与している.
Mathematics is the language with which God has written the universe.