DRAMとは?仕組み・性能指標・世代比較(DDR4/DDR5)と選び方ガイド

動的ランダムアクセスメモリ(DRAM)とは — 概要

動的ランダムアクセスメモリ(Dynamic Random-Access Memory、略してDRAM)は、コンピュータやスマートフォンなどの主要な主記憶装置(メインメモリ)として広く使われている揮発性半導体メモリです。データは電荷としてセル(記憶素子)内のコンデンサに蓄えられ、定期的に読み出し/書き込み(リフレッシュ)して電荷を補充しないと消失します。高速な読み書きと高い集積度(1セルあたりの面積が小さい)により、大容量化が比較的容易でコスト対性能比が優れています。

DRAMセルの構造と動作原理

標準的なDRAMセルは「1トランジスタ+1コンデンサ(1T1C)」で構成されます。コンデンサに電荷を蓄えることで「1」か「0」を表し、トランジスタはそのコンデンサへのアクセスを行うスイッチの役割を果たします。

  • 読み出し(Read / Sense):一度行に(row)をアクティベートすると、行のビットラインに繋がった各セルの電荷差がセンスアンプによって増幅され、論理値が確定します。
  • 書き込み(Write):センスアンプが目的の値に駆動してビットラインを通じてセルに電荷を与えます。
  • プリチャージ(Precharge):行操作後にビットラインを初期化し、次のアクセスの準備をします。
  • リフレッシュ(Refresh):コンデンサは微少な電流漏れにより電荷が失われるため、一定間隔(通常は数十ミリ秒、JEDEC 標準では一般的に約64ms)ごとに再充電する必要があります。

メモリ内部の論理構造:行、列、バンク、チャネル

DRAMは大容量のセルアレイとして組織化され、行(row)・列(column)・バンク(bank)という階層で構成されます。複数のメモリチップが並列に動作することで帯域が稼がれ、さらにメモリコントローラは複数のチャネルを用いて並列性を高めます。

  • 行(ページ)単位のアクセス:DRAMは「行を開く(activate)」→「列アクセス(読み/書き)」→「行を閉じる(precharge)」というシーケンスで動作します。開いた行を再利用する「オープンページ」方式は、連続する列アクセスで効率的です。
  • バンク:独立して並列動作できるサブアレイをバンクといい、複数バンクがあることで同時アクセスが可能になります。
  • チャネルとランク:DIMM(モジュール)やメモリコントローラが持つチャネル数により実効帯域が増加します。ランクはモジュール内のロジカルな集合で、同一チャネル内での信号制御単位になります。

性能指標:帯域(Bandwidth)と遅延(Latency)

DRAMの性能は主に帯域(秒当たり転送量)とアクセス遅延(要求からデータ取得までの時間)で評価されます。DDR(Double Data Rate)系メモリはクロックの立ち上がりと立ち下がり両方でデータ転送することで帯域を向上させていますが、同じクロック周波数でもCASレイテンシ(CL、クロックサイクル数)が異なると実効遅延(ns)は変わります。

  • 帯域重視:高クロック(例:DDR4-3200など)で高スループットを得る用途(大規模データ転送、GPUサブシステム、科学計算)に有利。
  • 遅延重視:低レイテンシが求められるリアルタイム処理や一部のデータベース処理では、クロック周期だけでなくCLなどのタイミング(tRCD、tRP、tRAS等)が重要。

DDRの世代と主な進化点

DRAMはSDR(Single Data Rate)から始まり、現在はDDR(DDR、DDR2、DDR3、DDR4、DDR5)系列が主流です。各世代は主に次の点で進化してきました。

  • データ転送率の向上(より高いクロック/プリフェッチ幅の増加)
  • 動作電圧の低下(消費電力改善)
  • バンク数やバンクグループの増加による内部並列性の向上
  • モジュール/チャンネルのアーキテクチャ改良(例えばDDR5ではDIMM内を小さなサブチャネルに分割)
  • オンチップ機能の追加(DDR5のオンチップECCやより高度な電源管理など)

モジュール形状とサーバ向け機能

デスクトップやサーバで使われるメモリモジュールはDIMM(デスクトップ向け)やSO‑DIMM(ノートPC向け)などがあります。サーバではECC(エラー訂正コード)付きDRAMが使われ、単一ビットのエラーを訂正することで信頼性を高めます。さらに、サーバ用途ではRegistered(RDIMM)やLoad‑Reduced(LRDIMM)のように信号負荷を減らし大容量化を可能にするモジュールも使われます。

信頼性とセキュリティ上の課題

DRAMにはいくつかの信頼性問題とそれに対する対策があります。

  • リフレッシュ漏れ/保持時間:コンデンサの漏れによりデータが失われるため定期リフレッシュが必要。高温下で保持時間が短くなるため、リフレッシュ間隔の管理が重要。
  • ソフトエラー(放射線など):宇宙線や自然放射によりビット反転が起きることがあり、特にミッションクリティカルなシステムではECCが必須。
  • Rowhammer:特定の行を高速かつ反復的にアクセスすることで隣接行のビットを反転させ得る攻撃・故障現象。ハードウェア・ファームウェア・OS側での緩和策(TRR、増分リフレッシュ、メモリコントローラの対策など)が導入されています。

設計上の課題とスケーリング限界

DRAMは微細化により容量とコスト効率が向上してきましたが、いくつかの物理的限界があります。

  • コンデンサの容量確保:プロセス微細化でコンデンサ面積が減ると電荷保持が困難になるため、トレンチ型やスタック型コンデンサなどの微細加工技術や高誘電率材料が使われます。
  • リーク電流の増加:薄膜や絶縁層の物性に依存するリークが増え、リフレッシュ負荷や電力消費が問題になる。
  • 微細化によるビット誤差増大:製造バリエーションやノイズによりエラー率が上がる可能性があり、オンチップECCや管理機能が重要になる。

用途と役割(メモリ階層における位置づけ)

DRAMはCPUキャッシュ(SRAM)と補助記憶(フラッシュやHDD)の間に位置する中間層で、実行中のプログラムデータやページキャッシュを保持します。SRAMは高速だが高コストで容量が限られるため、大容量が求められる領域ではDRAMが不可欠です。GPUやAI向けには、より高帯域かつ大容量を実現するHBM(High Bandwidth Memory、3D積層DRAM)などが採用されます。

新技術と将来展望

DRAMの進化は続いており、主なトレンドは高帯域化・低消費電力化・高信頼化です。

  • 3D積層DRAM(HBM):シリコン貫通ビア(TSV)で積層し幅広いバス幅を確保、GPUやAIアクセラレータに高帯域を提供。
  • オンチップ機能強化:オンチップECCや電力管理の高度化により、微細化で悪化する信頼性問題を緩和。
  • 代替メモリ技術との共存:MRAM、ReRAM、3D XPoint(現在は製品化の例が限定的)など不揮発性メモリが来る可能性があるが、DRAMの即時置換はコスト・性能面で困難と考えられています。

実際の運用上の注意点(選定とパフォーマンス)

システム構築やアップグレード時には以下を留意してください。

  • メモリの周波数とタイミング(例:DDR4‑3200 CL16)はトレードオフ関係にあり、同じ周波数でもCL値が小さいほど同周期あたりの遅延は少ないが、実効的なレイテンシはクロック周期にも依存します。
  • チャネル数(デュアル/トリプル/クアッドチャネル)を活かすには同容量・同規格のモジュールを推奨。
  • サーバ用途ではECC必須。消費電力や熱、最大搭載容量を考慮した選定が重要。
  • ファームウェア・BIOSやOS側のメモリ設定(XMPプロファイル、メモリ周波数設定、BIOSのメモリトレーニング)によって実性能が左右される。

まとめ

DRAMは現代のコンピューティングにおける基幹的な主記憶技術であり、1T1Cセルによる高い集積度と比較的高い速度を両立しています。リフレッシュやビット誤り、Rowhammerといった課題は存在するものの、JEDECなどの標準化やオンチップ技術、システムレベルの対策により信頼性を確保しながら進化を続けています。高帯域を必要とするAIやグラフィックス用途ではHBMのような新しいDRAMパッケージが台頭し、メモリ階層全体の最適化がますます重要になっています。

参考文献