コンピューターのストレージでは、複数の種類のメモリが使われています。そのうち、RAM(Random Access Memory、ランダムアクセスメモリ)とROM(Read Only Memory、読み出し専用メモリ)は、略称こそ似ていますが、定義や特性、用途は大きく異なります。
RAMはコンピューターの短期記憶に当たります。基本的にRAMは、オペレーティングシステムやソフトウェアプログラム、プロセスの実行にCPUが必要とするデータを保存するために使われます。一方、ROMは、コンピューターの電源を入れる「ブート」の処理である起動時に必要な命令を恒久的に保存します。ROMには、基本入出力システム(BIOS)や、コンピューターのハードウェア向けのその他のファームウェアが保存されており、これらが更新されることはほとんどありません。
この記事では、2種類のメモリについて詳しく説明し、それぞれの違いを解説します。
RAMとは何か、どのように動作するのか?
RAMは、コンピューターのプロセッサーが使用している、または使用すると見込まれる情報を一時的に保存する領域を提供します。ハードディスクドライブやソリッドステートドライブなどの長期保存デバイスよりもはるかに高速なため、データの処理中にコンピューターが待たされることはありません。
RAMの速度はナノ秒単位で測定されます。非常に高速なため、RAMはタスク間をすばやく切り替えられます。また、RAMは読み書き可能なメモリでもあり、CPUはRAMから命令をすばやく読み出し、結果を書き込んで、データを迅速に変更できます。RAMはランダムアクセスメモリと呼ばれます。コンピューターがRAMメモリに対して、物理的な位置を問わず、任意の順序で直接アクセスし、ランダムに操作できるためです。
コンピューターのRAM容量は通常、およそ2GBから64GBまでです。コンピューターのマザーボード上で中央処理装置(CPU)の隣にあるメモリスロットに装着するチップによって提供されます。互換性があれば、チップを追加してRAM容量を増やすことができます。RAMを増設するとコンピューターの処理速度は向上しますが、ストレージ容量は増えません。
RAMは揮発性メモリです。つまり、電源が入っている間だけデータを保存します。コンピューターの電源を切ると、RAM内のデータは自動的に消去されます。RAMが揮発性メモリであるため、突然の電源遮断でデータが失われないよう、コンピューター上で行った作業はすべてハードドライブまたはSSDに常時保存されます。
RAMチップは基本的に、CPUの計算に使う変数を保存するプロセッサー上の半導体です。RAMは要求されたデータのメモリ位置を提供します。CPUがデータのメモリアドレスまたは位置を指定した読み出し命令を受け取ると、そのアドレスをRAMコントローラーに送ります。RAMコントローラーはアドレスを適切な経路に伝え、経路のトランジスターを開いて各コンデンサーの値を読み取ります。最終的に、読み出されたデータはCPUに送り返されます。
RAMの種類
RAMには主にスタティックRAM(SRAM)とダイナミックRAM(DRAM)の2種類があります。
SRAMはDRAMより高速で、必要な電力も少なくて済みます。ただし、価格は高くなります。一般的にはキャッシュメモリとして使われます。SRAMは6個のトランジスターで構成されるメモリセルの状態を使って1ビットのデータを保存し、一般的な速度は20~40ナノ秒(ns)です。
DRAMはSRAMより低速で、より多くの電力を必要としますが、SRAMより多くのデータを保持できます。トランジスターとコンデンサーを組み合わせたメモリセルで1ビットのデータを保存します。SRAMとは異なり、コンデンサーは電力が漏れやすいため、DRAMの各セルは定期的にリフレッシュする必要があります。DRAMの一般的な速度は60~100nsです。
最も高速なRAMはDDR5です。2021年に発売され、これまでのDDR RAMの各バージョンを大きく上回る改善を示しています。
ROMとは何か、どのように動作するのか?
ROMは不揮発性メモリです。つまり、電源が入っているときだけでなく、電源が切れているときもデータを保存します。消去されない限り、ROMはデータを失うことがありません。ほとんどのコンピューターには、マザーボードや拡張ボード上に多数のROMチップが搭載されており、システムBIOSや、起動、周辺機器の読み書き、基本的なデータの管理、一部のユーティリティの実行に不可欠な情報を保存しています。
コンピューターの電源を入れると、読み出し専用のBIOSチップが起動し、さまざまなコンポーネントを確認して、すべてが存在し正常に動作していることを確かめます。電源投入時自己診断(POST)と呼ばれるこの処理で、BIOSはCPUに対し、さまざまな場所にあるコードのチェックを開始するよう指示します。テスト中は、ハードドライブの回転音が聞こえたり、ランプが点滅したりすることがあります。テストが完了するとCPUが処理を引き継ぎ、オペレーティングシステムを起動します。
ROMはPCのほか、電卓や周辺機器、プログラム要件が変わることを想定していない組み込みシステムなどにも搭載されています。初代NintendoやGameboyなど、初期のゲーム機のゲームカートリッジにもROMチップが使われていました。
ROMが読み出し専用メモリと呼ばれるのは、CPUがROM内のデータを読み出せても、従来は変更できなかったためです。現在では、一部のROMはデータの消去や書き換えが可能になっていますが、すべての種類が対応しているわけではなく、RAMほど効率的でもありません。
ROMの種類
ROMストレージには主に3つの種類があります。
- プログラマブルROM(PROM)は、CD-ROMなどのように、空のメモリとして製造されるROMです。データは製造後に書き込まれます。
- 消去可能プログラマブルROM(EPROM)は、高強度の紫外線を照射することで消去できるROMチップです。その後、EPROMは再プログラムできます。
- 電気的消去可能プログラマブルROM(EEPROM)は、電界電子放出(Fowler–Nordheimトンネル効果とも呼ばれます)を利用して電気的に消去できます。EPROMで使われる方法よりも容易な処理です。EEPROMはおよそ1万回再プログラムできます。
RAMとROMの未来
業界では、DRAMとフラッシュメモリの両方の特性を備えたユニバーサルメモリの開発が進められています。有望な製品には次のようなものがあります。
- 磁気抵抗RAM(MRAM)は、磁気特性を利用してデータを保存するため、データ保持に電源を必要としません。一方、MRAMはすでに実用化されていますが、高価なため、一部のニッチな組織で限定的に使われています。MRAMはDRAMに取って代わると考えられています。
- 相変化メモリ(PCM)は、発熱体に電流を流してある種のガラスを素早く加熱・冷却することでデータを保存する不揮発性RAMです。
- 抵抗変化型ランダムアクセスメモリ(ReRAM)は、酸化物材料の層に物理的な欠陥を作ることで動作する不揮発性RAMです。この欠陥は酸素空孔と呼ばれ、半導体に似ていますが、酸素イオンを伴います。ReRAMはAIアプリケーションで使われています。
将来のDRAM代替技術は、現在のところすべてニッチ市場で使われており、一般向けの具体的な発売時期は決まっていません。ユニバーサルメモリの目標は、RAMとROMを同じチップセット上に搭載することです。ただし、このメモリを実現するために半導体ベンダーが取り組んでいる課題は、まだいくつもあります。
まとめ:RAMとROM
読み出し専用メモリとランダムアクセスメモリは、どちらもコンピューターが正常に機能するために必要な重要な内部メモリを提供します。RAMとROMはどちらもコンピューターのマザーボード上にありますが、別々のプラグイン式チップセットに搭載されており、どちらも技術的な進歩を遂げてきました。半導体ベンダーは代替技術の開発に取り組んでいますが、技術的な課題に直面しているため、ほとんどのコンピューターでは少なくとも今後数年間、RAMとROMが使われ続けるでしょう。
