ROM:Read Only Memory

目次
ROMとは?種類・動作原理・フラッシュとの違い
ROM(Read Only Memory)は、 コンピュータにおける基本的な不揮発性メモリの一つであり、 ファームウェアやブートコードの保存に不可欠な存在です。
近年ではフラッシュメモリの普及により、 従来のROMの役割や位置づけも変化していますが、 その基本概念と進化の流れを理解することは重要です。
本記事では、 ROMの構造・種類・動作原理・実務での利用までを 体系的に解説します。
ROMとは何か
ROMとは、
電源を切ってもデータが保持される不揮発性メモリ
です。
基本的には読み出し専用として設計されており、 書き込みは限定的または不可能です。
主な用途:
- BIOS / UEFI
- 組み込み機器のファームウェア
- マイクロコントローラのプログラム
ROMの基本構造
ROMは、 トランジスタの接続パターンによってデータを固定的に保持します。
DRAMのような電荷保持ではなく、
物理的な回路構造そのものがデータ
となる点が特徴です。
ROMの種類
Mask ROM
製造時にデータを書き込むROMです。
特徴:
- 書き換え不可
- 高速
- 低コスト(大量生産時)
用途:
- ゲームカートリッジ(旧世代)
- 組み込み機器
PROM(Programmable ROM)
一度だけ書き込み可能なROMです。
ヒューズを焼き切ることでデータを書き込みます。
特徴:
- 1回のみ書き込み可能
- 再書き込み不可
EPROM(Erasable PROM)
紫外線で消去可能なROMです。
特徴:
- UV照射で全消去
- 再書き込み可能
チップに窓があるのが特徴です。
EEPROM(Electrically Erasable PROM)
電気的に消去・書き換え可能なROMです。
特徴:
- バイト単位で書き換え可能
- 低速
用途:
- 設定情報保存
- マイコン内部メモリ
フラッシュメモリ
EEPROMを高速・大容量化したものです。
特徴:
- ブロック単位で消去
- 高速読み出し
- 高密度
用途:
- SSD
- USBメモリ
- BIOS / UEFI
ROMとRAMの違い
| 項目 | ROM | RAM |
|---|---|---|
| 揮発性 | 不揮発 | 揮発 |
| 書き込み | 制限あり | 自由 |
| 用途 | プログラム保存 | 作業領域 |
| 速度 | 比較的遅い | 高速 |
フラッシュメモリの内部構造
フラッシュメモリは、 フローティングゲートトランジスタ を利用しています。
電荷を閉じ込めることで、 電源を切っても状態を保持できます。
主な種類:
- NAND型(ストレージ用途)
- NOR型(コード実行用途)
NANDとNORの違い
| 項目 | NAND | NOR |
|---|---|---|
| 用途 | ストレージ | コード実行 |
| 速度 | 高速書き込み | 高速読み出し |
| 密度 | 高い | 低い |
書き換え回数制限
フラッシュメモリには、 書き換え回数の制限があります。
- SLC:高耐久
- MLC:中程度
- TLC / QLC:低耐久
これに対して、
ウェアレベリング
が使用されます。
ROMの役割(システム起動)
コンピュータの起動時には、 ROMに格納されたコードが実行されます。
流れ:
- 電源ON
- CPUがROMのアドレスを参照
- ブートコード実行
- OS起動
この仕組みがなければ、 OSは起動できません。
メモリマップドI/OとROM
ROMはメモリ空間にマッピングされ、 CPUから直接アクセスされます。
これにより、 命令フェッチも可能になります。
セキュリティとROM
ROMは改ざんが難しいため、 セキュリティ面でも重要です。
- Secure Boot
- ファームウェア署名
- Root of Trust
これらの基盤として利用されます。
最新動向
- SPIフラッシュによるUEFI
- Trusted Platform Module(TPM)連携
- 組み込み向けXIP(Execute In Place)
特にXIPは、 ROM上で直接コードを実行する技術です。
まとめ
ROMは、 不揮発性メモリとして システムの基盤を支える重要な要素です。
- データを電源OFFでも保持
- 用途はファームウェアやブートコード
- フラッシュメモリが主流
- セキュリティ基盤として重要
ROMの進化は、 単なる読み取り専用メモリから、 高機能な不揮発性メモリへと変化しています。
その構造と特性を理解することで、 システムの起動やストレージの仕組みを より深く理解できるようになります。





