概要
動的ランダムアクセスメモリ(DRAM)は、コンピュータ、サーバー、スマートフォン、そして多くの組み込みシステムで主な作業用メモリとして広く使われる揮発性半導体メモリの一種である。フラッシュやハードディスクのような不揮発性ストレージとは異なり、DRAMは電源が切れると保存された情報を失う。「動的」と呼ばれるのは、各メモリセルが格納されたビットを表す電荷を保つために、定期的にリフレッシュされなければならないためである。
構造と動作
DRAMチップは、大きな二次元配列として構成される。各セルは通常、1個のコンデンサと1個のアクセストランジスタでできている。コンデンサは二値の値を表す電荷を保持し(充電されていれば「1」、放電されていれば「0」)、トランジスタは読み書き操作の際にコンデンサをビット線へ接続するゲートとして働く。コンデンサは時間とともに電荷が漏れるため、メモリコントローラまたはリフレッシュ回路が各行を定期的に読み出して再書き込みし、電荷を回復させる必要がある。この処理は通常メモリコントローラによって自動化され、アプリケーションからは見えない。リフレッシュの挙動についてはリフレッシュタイミングを参照。基本部品の図はコンデンサとトランジスタを参照。
主な特徴
- 揮発性: DRAMはデータを保持するために継続的な電力供給とリフレッシュ周期を必要とする。
- 高密度: 1ビットあたり1組のトランジスタとコンデンサを用いるため、高い密度と比較的低いビット単価を実現できる。
- 性能: アクセス遅延はSRAMより大きいが、現代のDRAMは広いデータバスと同期インターフェースにより高い帯域幅を提供する。
- エネルギー: リフレッシュとアクセス動作は電力を消費するため、モバイル機器やバッテリー駆動機器では重要な考慮点となる。
歴史と発展
DRAM技術は、半導体製造の改良によって非常に小さなコンデンサとトランジスタの実用化が可能になった1960年代後半に登場した。初期のDRAM設計は急速に発展し、標準化された同期インターフェースや、遅延と引き換えに転送速度を高めるダブルデータレート(DDR)メモリの連続的な世代につながった。長年にわたり、メーカーと設計者は、汎用計算や特化型計算の要求に応えるため、セル構造、誤り訂正機能、省電力モード、パッケージングを最適化してきた。
用途と重要性
DRAMは、事実上すべての汎用コンピュータにおける主記憶として機能し、プロセッサが処理を行う間にプログラムコード、作業データ、オペレーティングシステムのカーネルを保持する。DRAMの派生型は、グラフィックスカード(GDDR)、高性能計算、ネットワーク機器にも使われる。設計者は、ほどよい遅延、高密度、妥当なコストの組み合わせが必要な場合にDRAMを選ぶ。小容量で超高速のキャッシュには静的RAM(SRAM)が使われ、長期保存には不揮発性媒体が選ばれる。
他方式との違いと注目点
SRAMは1ビットあたり複数のトランジスタを使い、電源が供給されている間はリフレッシュなしでデータを保持するのに対し、DRAMはビット密度を重視する。リフレッシュが必要であることは、リアルタイム性能や消費電力に影響しうるため、現代のシステムではリフレッシュを慎重にスケジュールし、低電力リフレッシュモードも提供する。サーバー用メモリでは、ビット反転の検出と訂正のために誤り訂正コード(ECC)がしばしば適用される。パッケージング、チャネル構成、メモリコントローラの進歩は、DRAMが計算プラットフォームへどのように統合されるかを今も左右している。
実用的な入門や仕様については、DRAMのリフレッシュ、コンデンサの基礎、トランジスタの動作などの入門資料や技術資料を参照するとよい。