DRAMとSRAMの違い:構造・速度・コスト・用途を比較

DRAMは1個のコンデンサに電荷として1ビットを記憶するので、小さく安く作れる一方、定期的なリフレッシュが必要です。SRAMはトランジスタで作るラッチに記憶するので、速くてリフレッシュも不要ですが、1ビットあたりの面積が大きくなります。そのため、大容量のメインメモリにはDRAM、小容量で高速なキャッシュにはSRAMが使われます。

項目DRAMSRAM
記憶の仕組み1個のトランジスタと1個のコンデンサ(1T1C)。コンデンサにたまった電荷の有無が0と1通常は6個のトランジスタ(6T)。2つのインバータをたすき掛けにしたラッチと、2つのアクセストランジスタ
リフレッシュ必要。電荷が漏れるため、一定時間ごと(代表的には64 ms以内)に全行の読み出しと書き直しをする不要。電源が入っている限り、ラッチがデータを保持する
電源を切ったときデータは消える(揮発性)データは消える(揮発性)
1ビットあたりの面積小さい(セル面積は約6F²。Fは最小加工寸法)大きい(DRAMの10倍以上になる)
速度遅め。行の選択(アクティベート)とプリチャージが必要で、アクセスには数十ナノ秒かかる速い。プロセッサ内のSRAMは、1ナノ秒前後(数クロック)でアクセスできる
1ビットあたりのコスト低い高い(面積が大きいため)
待機時の電力待機中もリフレッシュが必要(セルフリフレッシュで抑える)リフレッシュは不要だが、大きな配列ではトランジスタのリーク電流が積み重なる
製造プロセス深い構造のコンデンサや高誘電率(high-k)膜を使う、専用のメモリ工場で作る標準的なロジックのCMOSプロセスで作れ、プロセッサと同じチップに載せられる
代表的な容量1チップで数Gbit〜数十Gbitプロセッサの各キャッシュで、数KB〜数十MB
主な用途メインメモリ(DDR、LPDDR)、グラフィックスメモリ(GDDR、HBM)CPU・GPUのキャッシュ、レジスタファイル、チップ内の小さな高速バッファ

数値は代表的な目安で、世代や製品によって異なります。

どんなときに使うか

DRAM
コストをおさえて大容量が欲しく、多少の遅延は許せるとき。パソコン・サーバー・スマートフォンのメインメモリや、GPUのグラフィックスメモリ。
SRAM
容量は小さくてよいが、速度を最優先したいとき。CPUのキャッシュ、レジスタファイル、リフレッシュの回路を持ちたくない小さなバッファ。
組み合わせ
実際のコンピュータでは両方を使います。速いSRAMのキャッシュに、よく使うデータを置いて、遅いDRAMの遅延を隠します。

よくある質問

SRAMはDRAMより速いですか?

はい。SRAMはトランジスタで作ったラッチにビットを保持するので、チップ内のSRAMは1ナノ秒前後でアクセスできます。DRAMは先に行を選択する必要があり、数十ナノ秒かかります。そのため、CPUのキャッシュにはSRAMが使われます。

なぜDRAMはSRAMより安いのですか?

DRAMのセルは、トランジスタ1個とコンデンサ1個だけでできていますが、SRAMのセルは通常トランジスタが6個必要です。セルが小さいぶん、同じシリコン面積にずっと多くのビットを入れられ、1ビットあたりのコストが下がります。

なぜDRAMにはリフレッシュが必要ですか?

DRAMのセルのコンデンサは、電荷が少しずつ漏れるので、データが消える前に、定期的に(一般に64 ms以内に)読み出して書き直す必要があります。SRAMは電源が入っている限り値を保持するので、リフレッシュは不要です。

DRAMとSRAMは不揮発性ですか?

どちらも不揮発性ではありません。電源を切るとデータが消えます。フラッシュ、MRAM、ReRAMなどの不揮発性メモリは、電源なしでもデータを保持します。

理解度チェック

SRAMと比べたときのDRAMの特徴として正しいものはどれか。

  1. ASRAMより高速で、リフレッシュも不要である
  2. Bセルが小さくビットあたりのコストが低いが、リフレッシュが必要である
  3. C電源を切ってもデータが残る
答えと解説を見る

正解:B. セルが小さくビットあたりのコストが低いが、リフレッシュが必要である

DRAMは1T1Cの小さなセル(約6F²)で、6TのSRAM(約120〜150F²)より20倍前後高密度にでき、ビットあたりのコストが低くなります。一方、リフレッシュが必要で、アクセスには行の活性化などで数十nsかかり、SRAM(1 ns前後)より遅くなります。そのため主記憶にはDRAM、CPUのキャッシュにはSRAMを使い、両者の長所を組み合わせた記憶階層が作られています。

一般的なDRAMの1ビットのメモリセルの構成として正しいものはどれか。

  1. Aトランジスタ1個とキャパシタ1個
  2. Bトランジスタ6個
  3. Cフローティングゲートをもつトランジスタ1個
答えと解説を見る

正解:A. トランジスタ1個とキャパシタ1個

DRAMのセルはトランジスタ1個とキャパシタ1個(1T1C)で、キャパシタの電荷の有無で1ビットを記憶します。キャパシタは約10 fF前後と非常に小さく、わずか数万個の電子の差で0と1を区別しています。素子数が少ないためセル面積は約6F²と小さく、大容量化に向きます。トランジスタ6個はSRAM、フローティングゲートのトランジスタはフラッシュメモリのセル構成です。

DRAMで定期的なリフレッシュ動作が必要になる理由として正しいものはどれか。

  1. A読み出し速度を上げるため
  2. B書き込み回数に上限があるため
  3. Cキャパシタに蓄えた電荷がリーク電流によって徐々に失われるため
答えと解説を見る

正解:C. キャパシタに蓄えた電荷がリーク電流によって徐々に失われるため

キャパシタの電荷は、セルトランジスタのサブスレッショルドリークや接合リークで少しずつ失われます。データが判定できなくなる前に読み出して書き直すのがリフレッシュで、規格では通常64 ms以内に全行を一巡します。リフレッシュ中はそのバンクにアクセスできず、電力も消費するため、容量が増えるほど負担が大きくなります。書き込み回数の上限はフラッシュメモリの特徴です。

  1. 一般的な6トランジスタ型SRAMセルの構成として正しいものはどれか。
  2. SRAMの性質として正しいものはどれか。
  3. SRAMが主に使われる用途として最も適切なものはどれか。

DRAMの練習問題へ

関連する用語の解説

1T1Cセル
1個のトランジスタと1個のキャパシタで1ビットを記憶するDRAMのメモリセル。キャパシタの電荷の有無で0と1を表す。
6T SRAMセル
交差接続した2つのインバータ(4個)と、アクセス用の2個のトランジスタからなるSRAMのメモリセル。
リフレッシュ
DRAMのキャパシタの電荷がリークで失われる前に、定期的にデータを読み出して書き直す動作。
キャッシュメモリ
CPUの近くに置く高速・小容量のメモリ。よく使うデータを保持して主記憶との速度差を緩和する。主にSRAMでつくられる。

関連する比較