TL;DR
- 揮発性メモリ(SRAM・DRAM)は電源を切ると消える一時作業用メモリです。
- 不揮発性メモリ(フラッシュメモリ・FRAM・MRAMなど)は電源を切ってもデータが残る保存用メモリです。
- 覚え方は「消えて困らない場所=揮発性」「消えたら困る場所=不揮発性」で用途に紐づけると忘れにくくなります。
- HDDは可動部品(プラッタ+磁気ヘッド)を持つため、構造的に衝撃・振動に弱いです。SSDは可動部品がないため衝撃に強い一方、書き換え回数の上限という別の弱点を持ちます。
エンジニアとして「暗記」ではなく「なぜそうなっているか」から理解しておくと、設計判断(キャッシュに何を使うか、永続化層に何を選ぶか)にも活きてきます。
1. 揮発性メモリと不揮発性メモリの違い
まず前提として、半導体メモリは電源を切ったときにデータが残るかどうかで大きく2種類に分かれます。
| 種類 | 電源OFF時のデータ | 代表例 |
|---|---|---|
| 揮発性メモリ | 消える | SRAM、DRAM |
| 不揮発性メモリ | 保持される | フラッシュメモリ、FRAM、MRAM、ReRAM |
この違いを丸暗記しようとすると混乱しやすいですが、「それぞれ何に使われているか」から逆算すると、性質と用途がセットで頭に入ります。
2. 揮発性RAM:電源が切れたら消えていい場所
揮発性メモリが使われるのは、共通して「速さが最優先で、消えても困らない一時領域」です。
- SRAM: CPUのキャッシュメモリ・レジスタに使用されます。フリップフロップ回路でデータを保持するためリフレッシュ動作が不要で超高速ですが、回路が複雑でコストが高く、大容量化には向きません。
- DRAM: パソコンやスマートフォンのメインメモリに使用されます。コンデンサに電荷を溜める仕組みのため、放っておくと電荷が抜けてしまい、定期的なリフレッシュ動作が必要です。安価で大容量化しやすいのが強みです。
イメージとしては「CPUに近いほど速さ最優先=SRAM」「作業スペース全体は容量最優先=DRAM」という距離感で捉えると整理しやすいです。電源を切ればメインメモリの内容は消えますが、それはDRAMが本来「今だけ使う一時領域」だからで、設計上まったく問題ありません。
3. 不揮発性メモリ:電源が切れても残ってほしい場所
一方、不揮発性メモリが使われるのは「保存しておきたいデータ」を扱う場所です。
- フラッシュメモリ(NAND型): SSD、USBメモリ、SDカードなど長期保存用ストレージに使われます。ブロック単位でまとめて消去する方式のため構造が簡素で低価格化しやすく、爆発的に普及しました。
- フラッシュメモリ(NOR型): マイコンのプログラム格納など、高速な読み出しが必要な組み込み用途に使われます。
- FRAM(強誘電体メモリ): 頻繁に書き換わる設定値やログの保存に使われます。低電力・高耐久で、電源が不安定な機器のカウンタ保存などに強いです。
- MRAM: 組み込みメモリやキャッシュ代替として使われます。高速なランダムアクセスと非破壊読み出しが特徴で、SRAMを不揮発化したいような用途に向いています。
なぜ電源を切ってもデータが消えないのか
フラッシュメモリの場合、「浮遊ゲート(フローティングゲート)MOSFET」という半導体素子の仕組みに理由があります。データを記録する際、フローティングゲートと呼ばれる部分に電子を蓄積し、その電荷の有無で0と1を判定します。フローティングゲートは絶縁体(酸化膜)で完全に囲まれているため、電源を切っても電子が逃げ出しにくく、長期間データが保持され続けます。
4. 覚え方のまとめ
「消えて困る/困らない」で分類すると、性質と用途が自然に結びつきます。
- 消えても困らない(一時作業用)→ 揮発性 → SRAM(CPUキャッシュ)、DRAM(メインメモリ)
- 消えたら困る(保存用)→ 不揮発性 → フラッシュメモリ(SSD/USB)、FRAM/MRAM(組み込み用途)
バックエンド開発の文脈で例えるなら、揮発性RAMは「アプリケーションのインメモリキャッシュ(Redisのような一時領域)」、不揮発性メモリは「PostgreSQLのディスク上のテーブルデータ」に近い感覚です。プロセスやサーバーを再起動すればキャッシュは消えますが、DBのデータは残ります。この対比で考えると、ハードウェアレベルの話とソフトウェアレベルの話がリンクして記憶に定着しやすくなります。
5. おまけ:HDDが衝撃に弱い理由
不揮発性ストレージの話が出たついでに、HDDとSSDの耐衝撃性の違いにも触れておきます。
HDDの中身は、高速回転する金属製の円盤「プラッタ」と、その表面すれすれを移動する「磁気ヘッド」で構成されています。磁気ヘッドはプラッタの表面にごくわずかな隙間を保ちながら浮遊しているため、外部からの衝撃でこのバランスが崩れると、ヘッドがプラッタに接触してしまいます。これが「ヘッドクラッシュ」と呼ばれる現象で、プラッタの磁性体を物理的に傷つけてしまうため、データ消失や故障につながります。
特に注意すべきは、HDDが最も脆弱になるのは動作中(読み書き中・スピンアップ中)だという点です。プラッタが高速回転している最中に衝撃が加わると、静止状態のときよりもはるかに壊れやすくなります。中でも「HDDを水平に置いた状態での上下方向の振動」が特に危険とされており、これはヘッドを支えるサスペンション(バネ構造)が上下に振動しやすく、プラッタを叩くような結果になりやすいためです。
これに対してSSD(NAND型フラッシュメモリ)は可動部品を一切持たないため、多少の落下や振動ではデータが壊れにくいという特性があります。ただしSSDにも書き換え回数の上限という別の弱点があり、「衝撃には強いが、ある日突然認識されなくなる」リスクがある点は覚えておく価値があります。
| 項目 | HDD | SSD |
|---|---|---|
| 構造 | 回転プラッタ+磁気ヘッド(可動部あり) | 半導体チップのみ(可動部なし) |
| 耐衝撃性 | 弱い(特に動作中は致命的) | 強い |
| 主な破損原因 | ヘッドクラッシュ(落下・振動) | 書き込み回数の上限による劣化 |
まとめ
- 揮発性メモリ(SRAM・DRAM)は「消えても困らない一時作業領域」に使われます。
- 不揮発性メモリ(フラッシュメモリ・FRAM・MRAMなど)は「消えたら困る保存領域」に使われます。
- 用途から逆算して覚えると、性質を丸暗記するより忘れにくくなります。
- HDDは可動部品があるため衝撃・振動に弱く、SSDは可動部品がないため衝撃に強い代わりに書き換え回数に制限があります。
ハードウェアの仕組みを理解しておくと、キャッシュ戦略やストレージ選定など、バックエンド設計の判断材料としても活かせます。