IT用語集

ROMとは? 10分でわかりやすく解説

水色の背景に六角形が2つあるイラスト 水色の背景に六角形が2つあるイラスト
アイキャッチ
目次

コンピュータやデジタル機器を使う上で、ROM(Read-Only Memory)の理解は欠かせません。とはいえ、「ROM=読み取り専用」という言葉だけが独り歩きし、どこに使われていて、なぜ“書き換えにくい”ことが価値になるのかまで把握している人は多くないはずです。本記事では、ROMの基本概念とRAMとの違い、代表的な種類、仕組み、活用例、設計・運用で押さえるべき注意点までを整理し、用途に応じた判断ができる状態を目指します。

ROMとは何か

ROMとは、Read-Only Memory(リードオンリーメモリ)の略称で、基本的に読み出しを目的として利用される、不揮発性(電源を切っても消えない)メモリを指します。「読み取り専用」という名称から、一切書き換えできないと誤解されがちですが、実際には種類によって書き換えの可否や方法が異なります。共通するのは、機器の起動や基本動作に必要なプログラムや設定を、安全に保持する用途に向くという点です。

ROMの定義と基本概念

ROMは、電源が切れてもデータを保持できる不揮発性メモリの一種です。OSが動く前の段階で必要になる起動プログラムや、製品の基本機能を司るファームウェア、復旧用の最小構成コードなどが格納されることが一般的です。これらは改ざんや誤消去が起きると致命的になりやすいため、“勝手に変わらない”こと自体が品質になります。

ROMの「読み取り専用」という特徴

ROMの最大の特徴は、運用中にユーザーが自由に書き換える用途を想定していない点です。たとえばRAMは、OSやアプリケーションが処理を進めるための作業領域として、読み書きを高速に繰り返します。一方ROMは、起動時・制御時に参照される“土台”の情報を、意図せず変化しない形で保持します。

なお「ROMはRAMより遅い」と書かれることがありますが、これは一般化しすぎる表現です。実際の速度は、搭載方式(並列/シリアル)、バス幅、実装(オンチップか外付けか)などで変わります。重要なのは、ROMは高速な読み書きよりも、確実な保持と再現性が重視されるという点です。

ROMとRAMの違い

ROMとRAMはいずれもメモリですが、役割と性質は明確に異なります。違いを押さえると、ROMがどこに必要なのかが理解しやすくなります。

特性ROMRAM
読み取り/書き込み基本は読み出し用途(種類により更新方法が限定的)読み取りと書き込みが可能
データ保持電源が切れてもデータを保持電源が切れるとデータが消える
主な役割起動・制御の土台となるプログラムや設定の保持OSやアプリの作業領域(処理途中のデータ)
用途例ファームウェア、ブートローダ、(広義で)BIOS/UEFI設定領域などアプリ実行、キャッシュ、バッファ、描画処理など

ROMの種類と用途

ROMには用途や製造工程の違いによって複数の種類があります。ここでは代表的なものを、現場での使われ方がイメージできる粒度で整理します。

  1. マスクROM:製造時に内容が固定される方式。大量生産向きで、内容が変わらない製品に適しています。
  2. PROM(Programmable ROM):一度だけ書き込み可能なROM。試作や小ロット品で採用されることがあります。
  3. EPROM(Erasable Programmable ROM):紫外線で消去して再書き込みできる方式。開発・検証の段階で使われることがあります(現在は用途が限定的です)。
  4. EEPROM(Electrically Erasable Programmable ROM):電気的に消去・再書き込みできるROM。設定値の保持など、小容量の更新が必要な場面に向きます。
  5. フラッシュメモリ:EEPROMの考え方を拡張し、ブロック単位で高速に消去・書き込みできる方式。ファームウェア格納やストレージ(USBメモリ、SDカードなど)に広く使われます。

このように、ROMという言葉は「一切書き換え不可」だけを指すのではなく、“不揮発で、読み出しを中心に使うメモリ群”の総称として扱われることが多い点も押さえておくと、製品仕様の読み解きが楽になります。

ROMの仕組みと動作原理

ROMの価値は「消えない」「変わりにくい」にあります。ここでは、その性質がどのように実現されるのかを、理解に必要な範囲で整理します。

ROMの内部構造

ROMは、半導体素子(トランジスタなど)を用いたメモリセルの集合体として構成されます。マスクROMのように製造工程で状態を固定する方式では、回路の接続有無など“物理的に決まった状態”によって0/1を表現するため、電源断でも状態が変わりません。

一方、EEPROMやフラッシュメモリでは、メモリセル内に電荷を保持するなどして状態を保存し、専用の手順で消去・書き込みを行います。いずれの場合も、RAMのように単純な読み書きを高速に繰り返す設計とは異なり、保持と信頼性を優先した作りになっています。

ROMへのデータ書き込みと読み出し

マスクROMでは、データは製造工程で書き込まれ、出荷後に変更できません。PROM/EPROM/EEPROM/フラッシュメモリは、種類に応じた手段で書き込みや消去が可能です。ただし、EEPROMやフラッシュメモリでも、書き換えは「いつでも自由」ではなく、消去単位(バイト/ページ/ブロック)や手順、回数制限などの制約があります。

読み出しは、アドレスバス(またはシリアルインターフェース)を通じて位置を指定し、データを取得する形です。起動シーケンスでは、CPUがROM上のブートコード(起動プログラム)を参照し、RAMの初期化やOS読み込みの準備を進めます。

ROMの電源を切っても情報が保持される理由

ROMが不揮発である理由は方式により異なりますが、共通する考え方は「電源がなくても状態が維持される仕組みを持つ」ことです。マスクROMでは物理的な固定状態、EEPROM/フラッシュメモリでは電荷保持などにより、電源断後も情報が残ります。

ROMの容量と速度

ROMの容量は、保存したいプログラムやデータ量によって決められます。たとえば、起動に必要な最小コードだけを持つ場合は小容量で足りますが、複雑なファームウェアや複数機能を含む場合は大容量が必要になります。

また「ROMは高速である必要がない」と断定すると誤解を生む可能性があります。起動時間が求められる製品では、ROMの読み出し速度が体感性能に直結することもあります。実務的には、求める起動時間・消費電力・コスト・更新頻度のバランスで選定されます。

ROMの活用例

組み込みシステムでのROMの役割

組み込みシステムでは、ROMに起動プログラムや制御ロジック、初期設定などが格納されます。これらは装置の安全性や安定性に直結するため、意図しない変更や消去から守ることが前提になります。ROMがあることで、電源投入直後から一定の手順で確実に起動し、同じ動作を再現できます。

BIOS/UEFIとROMの関係

PCの起動時に動作するBIOS/UEFIは、従来はROMチップに格納されていました。現在では、更新可能なフラッシュメモリに格納されることが一般的で、「ROM領域」と呼ばれつつも実体はフラッシュメモリであるケースが多い点には注意が必要です。

いずれにせよ、起動時にはここに保存されたコードが実行され、ハードウェアの初期化、ブートデバイスの探索、OSの読み込み準備などが行われます。更新が可能である一方、更新失敗は起動不能につながるため、更新手順の設計(署名検証、二重化、復旧手段)も重要になります。

ゲーム機やデジタル家電でのROMの利用

ゲーム機のカートリッジや、家電製品の制御用プログラムは、ROMに格納される代表例です。製品としての動作仕様を確実に守るために、内容が容易に変わらない形で保持することが重視されます。

ただし、近年の家電やIoT機器では、セキュリティ更新や機能追加の必要性が高まっており、フラッシュメモリを使って更新できる設計が一般的です。この場合も、更新時の安全性確保(改ざん防止、ロールバック、電源断対策など)がセットになります。

業務システムにおけるROMの活用方法

業務システムそのものが「ROMに格納される」ケースは多くありませんが、考え方としては応用できます。たとえば、装置制御を行う業務端末や専用機では、起動コードや復旧用の最小環境を不揮発領域に保持し、障害時に確実に立ち上げられるようにする設計が有効です。

また、重要なのは「改ざんされないこと」をROMだけで担保するのではなく、アクセス制御、署名検証、セキュアブート、ログ監査などの対策と組み合わせることです。「ROMに入っているから安全」と短絡しない視点が、実務では重要になります。

ROMに関する注意点とまとめ

ROMの寿命と劣化

ROMは長期保持に向きますが、半導体部品である以上、環境の影響を受けます。特にEEPROMやフラッシュメモリは、書き換え回数や保持期間に上限があるため、設計時には書き換え頻度の見積もりが必要です。

「数十年持つ」といった表現は、条件(温度、保持保証期間、書き込み回数、部品仕様)によって変わります。長期運用が前提の機器では、部品仕様(データ保持保証、書き換え回数、動作温度範囲)を確認し、必要に応じて二重化や更新設計を検討します。

書き換え不可(または書き換えにくい)という制約

ROMは“変更されにくい”ことが利点ですが、仕様変更やバグ修正が必要になったときには制約になります。更新が想定される製品では、EEPROMやフラッシュメモリなどの更新可能な不揮発メモリを併用し、更新手順を含めて製品仕様として成立させることが重要です。

ROMとフラッシュメモリの使い分け

ROM(狭義のマスクROM等)は「変わらないこと」が価値であり、フラッシュメモリは「更新できること」が価値です。したがって、設計では次のような切り分けが実務的です。

  • 絶対に変わってほしくない最小コード:固定的な領域(またはセキュアブートで強固に保護)
  • 更新が必要なファームウェア:フラッシュメモリ+署名検証+二重化など
  • 設定値や小さな状態情報:EEPROM(またはフラッシュ内の専用領域)

ROMの重要性と今後の展開

IoTや組み込み機器の普及により、起動の確実性と、改ざん耐性を含むセキュリティ要求は高まっています。その中で、ROMは「消えないメモリ」としてだけでなく、起動の信頼の起点(Root of Trust)を支える要素として重要性が増しています。

ただし今後は、「より大容量で高速なROM」という方向性だけでなく、更新可能領域との役割分担や、セキュアブート・署名検証などの仕組みと一体で語られる場面が増えるでしょう。ROM単体ではなく、全体設計の中でどう位置づけるかがポイントになります。

まとめ

ROMは、不揮発性で内容が変わりにくいメモリとして、機器の起動や基本動作を支えています。「読み取り専用」という言葉の通り、運用中に自由に書き換える用途には向きませんが、その分、土台となるプログラムや設定を安全に保持できます。実務では、ROM(固定)とフラッシュメモリ(更新可能)を用途に応じて使い分け、更新手順や改ざん対策も含めて設計することが重要です。

Q.ROMとは何ですか?

ROMは電源を切っても内容が保持される、不揮発性のメモリです。

Q.ROMは「一切書き換えできない」ものですか?

種類によりますが、一般運用では書き換えを想定しないメモリとして扱われます。

Q.ROMとRAMの違いは何ですか?

ROMは起動・制御の土台情報を保持し、RAMは処理中データを一時保存します。

Q.フラッシュメモリはROMに含まれますか?

広い意味ではROM系不揮発メモリに含まれますが、書き換え可能な点が特徴です。

Q.なぜROMは電源を切ってもデータが残るのですか?

方式により異なりますが、電源がなくても状態が維持される仕組みを持つためです。

Q.PCのBIOS/UEFIはROMに入っていますか?

現在は更新可能なフラッシュメモリに格納されることが一般的です。

Q.ROMの種類には何がありますか?

マスクROM、PROM、EPROM、EEPROM、フラッシュメモリなどがあります。

Q.ROMの寿命はどのように考えればよいですか?

部品仕様や温度条件、書き換え回数の上限などを前提に設計時に見積もります。

Q.ROMを使うメリットは何ですか?

起動や制御の土台となる情報が意図せず変わりにくく、安定動作に寄与します。

Q.ROMがあるだけで改ざん対策になりますか?

十分ではないため、署名検証やセキュアブートなどと組み合わせて設計します。

記事を書いた人

ソリトンシステムズ・マーケティングチーム