SDRAM
最近のキャッシュを持つマイクロプロセッサは、一般にキャッシュライン単位でメモリにアクセスする。キャッシュラインが64バイト(512bit)の場合、64ビットのDIMMに8回連続アクセスする必要がある。64ビットのDIMMが8つのSDRAMチップで構成されている場合、1つのSDRAMチップは8bit単位で8回連続アクセスされることになる。それを1回のリードまたはライト・コマンドで開始するよう設定できる。すなわち、モードレジスタで8ワードのバースト転送を設定すればよい(BL=8、BLとは「バースト長」)。
キャッシュラインのフェッチは一般に特定アドレスからのリードで開始され、SDRAMは「クリティカルワード」(キャッシュラインの先頭に位置しないワード)を最初に転送することを可能としている。ここでいう「ワード」の長さは、SDRAMチップまたはDIMMのデータ出力幅であり、典型的なDIMMでは64ビットである。SDRAMチップは、キャッシュライン内の残りのワードの転送順序を2種類サポートする。
バーストは常にバースト長 (BL) でアライン(整列)されたブロック(キャッシュラインに対応)にアクセスし、ブロックの開始アドレスはBLの整数倍の位置となる。
SDR SDRAMの後継としてDDR SDRAMが普及するまでの間に、多少の技術的・政治的混沌があった。#成功しなかった後継テクノロジーの節を参照。
512MB SDRAM DIMM(正確には 512MiB = 512 × 1024 bytes = 536,870,912 bytes)は8個か9個のSDRAMチップで構成され、それぞれのチップが512Mbitを格納し、DIMMの64ビットまたは72ビットのワード幅のうちの8ビットを各チップが分担している。典型的な512Mbit SDRAMチップの内部には4つの独立した16MBメモリバンクがある。それぞれのバンクは、16,384ビットのロウ(行)が8,192個並んだアレイになっている。バンクはアイドル状態、アクティブ状態、またはそれらの間で遷移中の状態のいずれかである。
アクティブ・コマンドはアイドル状態のバンクを活性化する。2ビットのバンクアドレス (BA0–BA1) でバンクを示し、13ビットのロウアドレス (A0–A12) でロウを示し、バンクの持つ16,384個のカラム(列)のセンスアンプにそのロウの内容を送り込む。この操作を「ロウを開く」と呼ぶ。この操作の副作用として、そのロウ内のメモリセルのリフレッシュが行われる。
ロウが活性化され開かれる(オープン状態になる)と、リード・コマンドとライト・コマンドをそのロウに対して実行可能となる。
DDR3でも同様の進化の傾向が継続され、読み書きの最小単位は連続する8ワードと倍になった。これによって内部クロックレートを変更せずに外部バスの周波数と帯域幅を倍増させることが可能になった。毎秒800Mから1600M回の転送を実現するため(400-800MHzのクロックの両方のエッジで転送)、内部のメモリアレイでは毎秒100Mから200M回のフェッチを実行する。
この場合も問題はレイテンシの相対的な増大である。DDR SDRAM 全般に言えることだが、コマンドは依然としてクロックサイクルの立ち上がりに1回だけ発行できるだけで、通常言われる転送速度の半分の速度である。同じ100MHzでメモリセルが動いている、DDR3-800のCASレイテンシは 8/(400MHz) = 20ns であり、PC100の SDR SDRAM の CAS2 のレイテンシと全く同一である。メモリセルのクロック周波数はDDR以降、133MHz〜266MHzが商品の中心であり、クロック周波数は伸びていなく、1クロックで取得できるビット数が2倍ずつ増えているだけである。この傾向はDDR4でも続く予定。
DDR3メモリチップは2007年後半に出荷が開始され、2008年以降徐々に生産量が伸びている。当初のクロック周波数は400MHzと533MHzで、それぞれ DDR3-800 と DDR3-1066(DIMMモジュールは PC3-6400 と PC3-8500)と呼ばれていたが、今では DDR3-1333 と DDR3-1600(DIMMモジュールは PC3-10600 と PC3-12800)が一般的となっている。さらに高性能な DDR3-2200 までそれなりの価格で入手可能である。