本記事では、読み取り専用メモリ(ROM)についてご説明します。ROMに興味がある方は、読み続けてください。
ROMとは
ROMとは読み取り専用メモリ(Read Only Memory)の略で、あらかじめ書き込まれたデータを読み取ることができるソリッドステート半導体メモリのことです。データが一度保存されると、変更や削除ができないという特徴があります。通常、コンピュータなどの電子機器に使用され、電源を切ってもデータが消えることはありません。
主記憶装置の中で最も広く使用されている形式は、ランダム アクセス メモリ(RAM)です。これは揮発性メモリで、コンピュータの電源を切ると、RAMに含まれるコンテンツが失われることを意味します。
ROMは不揮発性メモリの一種ですが、いくつかの制限があるため、主記憶装置としての使用には適していません。一般に、揮発性ランダム アクセス メモリと比較して、不揮発性メモリはより高価であったり、性能が低かったり、寿命が限られていたりします。
では、ROMは何に使われているのでしょうか?その特性上、例えばROMに格納されているデータは通常、製造後に書き込まれるので、動作中にしか読むことができず、ランダム メモリのように迅速かつ容易に書き換えることができません。
したがって、ROMに格納されているデータは安定しており、電源を切っても格納されているデータが変化することはありません。また、その構造が比較的簡単で、読み出しに便利なので、様々な固定プログラムやデータを格納する二次記憶や長期保存用のタスクによく使われます。
ROMの種類
ここでは、基本的な理解のために、ROMの種類についてご説明します。
MROM – マスク読み取り専用メモリ
MROMとは、マスク読み取り専用メモリの略語です。これは、安価で最初のROMであり、あらかじめプログラムされたデータや命令セットを含むハードワイヤード デバイスです。
PROM – プログラマブル読み取り専用メモリ
PROMは読み取り専用メモリ チップで、ユーザーがデータを1回しか書き込むことができません。読み取り専用メモリとの違いは、ROMは製造過程でプログラムされるのに対し、PROMはブランク メモリーとして製造されるという点です。
ユーザーがPROMを購入した後、空のPROMチップに必要なデータを書き込むために、PROMプログラマーやPROMバーナーと呼ばれる特別なデバイスが必要になります。PROMをプログラミングするプロセスは、PROMの書き込みと呼ばれることもあります。メモリは製造後にヒューズを「ブロー」することで、一度だけプログラムすることができるが、これは不可逆的です。
EPROM – 消去可能プログラマブル読み取り専用メモリ
EPROMは、その名前からもわかるように、プログラムされたデータを消去できる特殊な読み取り専用メモリ チップです。プログラマブル読み取り専用メモリは、データを高電圧で書き込むようにプログラムでき、データが紫外線にさらされると、最大10分またはそれ以上保持されます。
通常は、EPROM消しゴムを使えば、EPROMチップを消去するという目的を達成でき、メモリの再プログラムが可能となります。そのため、簡単に照射できるように、メモリのパッケージには石英の透明窓が設けられております。
EEPROM – 電気的に消去可能なプログラム可能な読み取り専用メモリ
EEPROMも読み取り専用メモリの一種で、動作原理は前述のEPROMと似ていますが、プログラムや消去は電界電子放出によって行われるため、透明窓は必要ありません。
EEPROMは、約10,000回消去および再プログラムできます。消去も書き込みも4〜10ミリ秒程度で完了します。EEPROMでは、ユーザーが任意の場所を選択的に消去およびプログラムすることができ、チップ全体を消去するのではなく、一度に1バイトしか消去できません。そのため、再プログラミングのプロセスは柔軟ですが、時間がかかる場合があります。
フラッシュ メモリ
フラッシュ メモリ(flash)は、EEPROMの改良です。フラッシュ メモリは、通常のEEPROMよりも高速に消去・再書き込みが可能で、新しいデザインでは非常に高い耐久性(1,000,000サイクル以上)を持つという特徴があります。
最近のNAND型フラッシュメモリは、シリコンチップの面積を有効に活用することができ、2007年には個々のICの容量は32GBに達せるようになりました。
この特徴とその耐久性および物理的耐久性により、NANDフラッシュがUSBフラッシュ ドライブなどの一部のアプリケーションで磁気に取って代わることを可能にします。
これらの種類に加えて、CD-ROM(MROMと同様)などの光記憶媒体を含む、他の種類の不揮発性メモリがあります。CD-RとCD-RWはどちらもCD-ROMとの下位互換性を考慮して設計されています。CD-Rは1回の書き込みと複数回の読み取り(PROMと同様)で、CD-RWは消去/書き込みサイクル(EEPROMと同様)をサポートします。