
読み取り専用メモリ( ROM ) は、コンピューターやその他の電子機器で使用される不揮発性メモリの一種です。 ROM に保存されたデータは、メモリ デバイスの製造後に電子的に変更することはできません。 読み取り専用メモリは、システムの寿命中にほとんど変更されないソフトウェア(ファームウェアとも呼ばれます)を保存するのに便利です。ビデオ ゲームなどのプログラム可能なデバイス用のソフトウェア アプリケーションは、ROM を含むプラグイン カートリッジとして配布できます。
厳密に言えば、読み取り専用メモリとは、ダイオード マトリックスやマスク ROM集積回路(IC)などのハードワイヤード メモリを指し、製造後に電子的に変更することはできません。個別回路は、配線の追加やコンポーネントの削除または交換によって原理的に変更できますが、IC は変更できません。エラーの修正やソフトウェアの更新には、新しいデバイスを製造し、インストールされているデバイスを交換する必要があります。
消去可能プログラマブル読み出し専用メモリ(EPROM)、電気的に消去可能プログラマブル読み出し専用メモリ(EEPROM)、フラッシュメモリなどの形態のフローティングゲートROM半導体メモリは、消去および再プログラムが可能です。ただし、通常、これは比較的低速でしか実行できず、特別な装置が必要になる場合があり、通常は特定の回数しか実行できません。[1]
「ROM」という用語は、特定のソフトウェアを含む ROM デバイス、または書き込み可能な ROM デバイスに保存されるソフトウェアを含むファイルを指すために使用されることがあります。たとえば、Android オペレーティング システムを変更または交換するユーザーは、変更または交換したオペレーティング システムを含むファイルを、ファイルの書き込みに使用されたストレージの種類にちなんで「カスタム ROM 」と表現し、ROM (ソフトウェアとデータが保存される場所、通常はフラッシュ メモリ) と RAMを区別する場合があります。
ROMとRAMはコンピュータの重要なコンポーネントであり、それぞれ異なる役割を果たします。RAM(ランダムアクセスメモリ)は一時的な揮発性ストレージメディアであり、システムの電源を切るとデータが失われます。対照的に、ROMは不揮発性であるため、コンピュータの電源を切った後でもデータが保持されます。[2]
歴史
ディスクリートコンポーネントROM
IBM は、小型のSystem/360モデル、360/85、および初期の 2 つのSystem/370モデル ( 370/155と370/165 ) のマイクロコードを保存するために、コンデンサ読み取り専用ストレージ (CROS) とトランス読み取り専用ストレージ(TROS) を使用しました。一部のモデルには、追加の診断機能とエミュレーション サポート用の書き込み可能制御ストア(WCS)もありました。アポロ誘導コンピュータは、磁気コアにワイヤを通すことでプログラムされるコア ロープ メモリを使用しました。
ソリッドステートROM
最も単純なタイプのソリッドステートROM は、半導体技術自体と同じくらい古いものです。組み合わせ 論理ゲートを手動で結合して、nビットのアドレス入力を任意の値のmビットのデータ出力 (ルックアップ テーブル) にマッピングできます。集積回路の発明とともにマスク ROM が登場しました。マスク ROM は、ワードライン (アドレス入力) とビット ライン (データ出力)のグリッドで構成され、トランジスタスイッチで選択的に結合され、規則的な物理レイアウトと予測可能な伝播遅延を持つ任意のルックアップ テーブルを表すことができます。マスク ROM は、半導体製造中にフォトリソグラフィーでフォトマスクを使用してプログラムされます。マスクは、ROM チップで削除または追加される物理的な機能または構造を定義し、これらの機能の有無は、ROM 設計に応じて 1 ビットまたは 0 ビットを表します。[3]したがって、設計上、データは電子的に変更できない物理的な機能または構造の有無によって定義されるため、データを電子的に変更しようとすると失敗します。すべてのソフトウェア プログラムでは、同じプログラムの改訂の場合でも、マスク全体を変更する必要があり、コストがかかる可能性があります。
マスク ROM では、データは回路内に物理的にエンコードされるため、製造時にのみプログラムできます。これにより、次のようないくつかの重大な欠点が生じます。
- マスク ROM は、部品ごと、またはソフトウェアのリビジョンごとにカスタム設計を作成するためにファウンドリと契約する必要があるため、大量に購入する方が経済的です。
- 同じ理由により、マスク ROM の設計が完了してから完成品を受け取るまでの所要時間も長くなります。
- マスク ROM は、設計者が設計を改良する際にメモリの内容を頻繁にすばやく変更する必要があるため、研究開発作業には実用的ではありません。
- 製品が不良マスクROMとともに出荷された場合、それを修正する唯一の方法は、製品をリコールし、出荷されたすべてのユニットのROMを物理的に交換することです。これは、実際に一酸化炭素検出器の不良で発生しました。[4]
その後の開発により、これらの欠点は解決されました。1956年にウェン・チン・チョウが発明したプログラマブル読み取り専用メモリ(PROM) [5] [6]は、高電圧パルスを印加して物理的に構造を変更することで、ユーザーがその内容を一度だけプログラムできるようにしました。これにより、上記の問題 1 と 2 は解決されました。企業は大量の新しい PROM チップを注文し、設計者の都合に合わせて必要な内容をプログラムするだけで済むからです。
1959年にベル研究所で発明された金属酸化物半導体電界効果トランジスタ(MOSFET)の出現により[7] 、金属酸化物半導体(MOS)トランジスタを半導体メモリのメモリセルストレージ要素として実用化することが可能になりました。これは、コンピュータメモリで磁気コアが以前は果たしていた機能です。[8] 1967年、ベル研究所のDawon KahngとSimon Szeは、 MOS半導体デバイスのフローティングゲートを再プログラム可能なROMのセルに使用できることを提案し、これがIntelのDov Frohmanによる1971年の消去可能プログラマブル読み取り専用メモリ(EPROM)の発明につながりました。 [9] [10] 1971年のEPROMの発明は、問題3を本質的に解決しました。なぜなら、EPROMは(PROMとは異なり)強い紫外線にさらすことで、プログラムされていない状態に繰り返しリセットできるためです。
1972年に電気技術研究所で樽井康雄、林豊、永清子らが開発した電気的消去可能プログラム可能読み出し専用メモリ(EEPROM) [11]は、問題4の解決に大きく貢献した。EEPROMは、内蔵デバイスが外部ソース(たとえば、シリアルケーブル経由のパソコン)からプログラム内容を受信する手段を備えている場合、その場でプログラムすることができるからである。1980年代初頭に東芝の舛岡不二雄が発明し、1980年代後半に商品化されたフラッシュメモリは、チップ領域を非常に効率的に使用し、何千回も消去および再プログラムしても損傷しないEEPROMの一種である。デバイス全体ではなく、デバイスの特定の部分のみを消去およびプログラムすることができる。これは高速に実行できるため、「フラッシュ」という名前が付けられている。[12] [13]
これらのテクノロジはすべて ROM の柔軟性を向上させましたが、チップあたりのコストがかなり高かったため、大量生産の場合、マスク ROM は長年にわたって経済的な選択肢であり続けました。(再プログラム可能なデバイスのコストが下がったため、2000 年までにマスク ROM の市場はほぼ消滅しました。) 書き換え可能なテクノロジは、マスク ROM の代替として構想されました。
最も新しい開発は、これも東芝で発明されたNANDフラッシュです。その設計者は、従来のROMを不揮発性プライマリストレージとして使用するのではなく、「NANDフラッシュの目的はハードディスクを置き換えることである」と明言し、過去の慣例を明確に破りました。 [14] 2021年現在、NANDは、ハードディスクよりも高いスループット、より低いレイテンシ、物理的衝撃に対する高い耐性、極端な小型化( USBフラッシュドライブや小さなmicroSDメモリカードの形で)、およびはるかに低い消費電力を提供することで、この目標をほぼ完全に達成しています。 [update]
プログラムの保存に使用
多くのプログラム格納型コンピュータは、コンピュータの電源投入時または実行開始時(ブートストラップと呼ばれるプロセスで、「ブート」または「ブートアップ」と略されることが多い)に実行される初期プログラムを格納するために、不揮発性ストレージ(つまり、電源が切断されてもデータを保持するストレージ)形式を使用します。同様に、すべての重要なコンピュータは、実行時に状態の変化を記録するために、何らかの形式の可変メモリを必要とします。
1948年以降のENIAC など、初期のプログラム内蔵型コンピュータのほとんどでは、不揮発性のプログラム記憶装置として読み取り専用メモリの形式が採用されていた(それまではプログラム内蔵型コンピュータではなく、すべてのプログラムを手動でマシンに配線する必要があり、これには数日から数週間かかることがあった)。読み取り専用メモリは、格納された値を読み取るメカニズムのみが必要で、その場で変更する必要がないため実装が簡単で、非常に粗雑な電気機械デバイスで実装できる(下記の歴史的な例を参照)。1960年代に集積回路が登場すると、ROMとその可変対応物であるスタティックRAMはどちらもシリコンチップ内のトランジスタのアレイとして実装された。ただし、ROMメモリセルはSRAMメモリセルよりも少ないトランジスタで実装できる。これは、SRAMはその内容を保持するためにラッチ(5〜20個のトランジスタで構成)を必要とするのに対し、ROMセルはビットラインとワードラインを接続する1つのトランジスタの有無(論理0)で構成されているからである。[15]その結果、ROMは長年にわたりRAMよりも 低いビット当たりコストで実装することができました。
1980 年代のほとんどの家庭用コンピュータは、磁気ディスクドライブなどの他の形式の不揮発性ストレージが高価すぎるため、 BASICインタープリタまたはオペレーティング システムをROM に格納していました。たとえば、Commodore 64には、 64 KBの RAM と、BASIC インタープリタとKERNALオペレーティング システムを含む 20 KB の ROM が搭載されていました。その後のIBM PC XTなどの家庭用またはオフィス用のコンピュータには、磁気ディスク ドライブと大容量の RAM が搭載されることが多く、最小限のハードウェア初期化コアとブートローダのみが ROM ( IBM 互換コンピュータではBIOSとして知られています) に残り、オペレーティング システムをディスクから RAM にロードできるようになりました。この構成により、より複雑で簡単にアップグレードできるオペレーティング システムが可能になりました。
現代の PC では、「ROM」はプロセッサの基本的なブートストラップファームウェアのほか、システム内のグラフィック カード、ハード ディスク ドライブ、ソリッド ステートドライブ、光ディスク ドライブ、TFT スクリーンなどの自己完結型デバイスを内部制御するために必要なさまざまなファームウェアを格納するために使用されます。今日では、これらの「読み取り専用」メモリの多く (特にBIOS / UEFI ) は、ファームウェアのアップグレードが必要になった場合にその場で再プログラミングできるように、 EEPROMまたはフラッシュ メモリ(下記参照)に置き換えられることがよくあります。ただし、シンプルで成熟したサブシステム (たとえば、キーボードやメイン ボード上の集積回路内の一部の通信コントローラなど) では、マスク ROM またはOTP (ワンタイム プログラマブル) が使用される場合があります。
ROM やフラッシュなどの後継技術は、組み込みシステムで広く普及しています。これらは、産業用ロボットから家庭用電化製品、民生用電子機器( MP3 プレーヤー、セットトップ ボックスなど )まで、あらゆるものに搭載されています。これらはすべて特定の機能向けに設計されていますが、汎用マイクロプロセッサに基づいています。ソフトウェアは通常ハードウェアと密接に結合されているため、このようなデバイス (コスト、サイズ、消費電力などの理由から、通常ハードディスクが搭載されていません) ではプログラムの変更が必要になることはほとんどありません。2008 年現在、ほとんどの製品はマスク ROM ではなくフラッシュを使用しており、多くの製品ではファームウェアの更新のために PC に接続する手段が提供されています。たとえば、デジタル オーディオ プレーヤーは、新しいファイル形式をサポートするように更新される場合があります。一部の愛好家は、この柔軟性を利用して、民生用製品を新しい目的に再プログラムしています。たとえば、iPodLinuxプロジェクトとOpenWrtプロジェクトでは、ユーザーがそれぞれ MP3 プレーヤーとワイヤレス ルーターでフル機能のLinux ディストリビューションを実行できるようにしています。
ROM は、暗号データのバイナリ保存にも役立ちます。暗号データの置き換えが困難になるため、情報セキュリティを強化するために望ましい場合があります。
データの保存に使用する
ROM (少なくともハードワイヤード マスク形式) は変更できないため、デバイスの寿命中に変更する必要がないと予想されるデータの保存にのみ適しています。そのため、多くのコンピューターでは、数学関数や論理関数の評価用のルックアップ テーブルを保存するために ROM が使用されてきました(たとえば、浮動小数点ユニットは、より高速な計算を容易にするために正弦関数を表にまとめます)。これは、 CPUが遅く、ROM が RAM に比べて安価だったときに特に効果的でした。
特に、初期のパーソナル コンピュータのディスプレイ アダプタは、ビットマップ フォント文字のテーブルを ROM に格納していました。これは通常、テキスト表示フォントを対話的に変更できないことを意味していました。これは、IBM PC XT で使用できる CGAアダプタとMDAアダプタの両方に当てはまりました。
現代の汎用コンピュータでは、このような少量のデータを保存するために ROM を使用することはほぼ完全になくなりました。ただし、NAND フラッシュは、ファイルの大量保存や二次保存の媒体として新たな役割を引き継いでいます。
種類

工場出荷時にプログラム済み
マスク ROM は読み取り専用メモリであり、その内容は集積回路メーカーによってプログラムされます (ユーザーによってではありません)。必要なメモリ内容は、顧客からデバイス メーカーに提供されます。必要なデータは、メモリ チップ上の相互接続の最終的な金属化のために、カスタムフォトマスク/マスク レイヤーに変換されます (これが名前の由来です)。
マスク ROM はいくつかの方法で作成できますが、そのすべては、グリッド上でアドレス指定されたときにトランジスタの電気的応答を変更することを目的としています。次に例を示します。
- NOR構成のトランジスタを備えたROMでは、フォトマスクを使用して、トランジスタのあるグリッドの特定の領域のみを定義し、金属で埋めて、ROMチップ内のすべてのトランジスタの一部のみをグリッドに接続します[3]。これにより、アドレス指定時に、接続されているトランジスタが、トランジスタが接続されていないグリッド内のスペースとは異なる電気的応答を引き起こすグリッドが作成され、接続されているトランジスタは1を表し、接続されていないトランジスタは0を表すか、またはその逆になります。これは、データを含むマスクが1つだけ必要なため、マスクROMを作成する最も安価で高速な方法です[3] 。また、メタライゼーション層で行われるため、すべてのマスクROMタイプの中で最も密度が低く、 ROMの他の部分と比較して特徴が比較的大きいメタライゼーション層で行われます[3]。これは、コンタクトプログラムROMとして知られています。 NAND構成のROMでは、これはメタルレイヤープログラミングと呼ばれ、マスクはトランジスタの周囲の領域をメタルで埋める場所を定義し、代わりにトランジスタを短絡させます。短絡していないトランジスタは0を表し、短絡しているトランジスタは1を表すか、またはその逆になります。[16]
- 2 つのマスクを使用してトランジスタの 2 種類のイオン注入領域を定義し、グリッドでアドレス指定するとトランジスタの電気的特性が変わり、2 種類のトランジスタが定義されます。[3]トランジスタの種類によって、1 ビットを表すか 0 ビットを表すかが定義されます。1 つのマスクは、1 種類のイオン注入を配置する場所 ("1" トランジスタ) を定義し、もう 1 つのマスクは、もう 1 種類のイオン注入を配置する場所 ("0" トランジスタ) を定義します。これは、異なるイオン注入タイプがトランジスタの異なる電圧しきい値を定義し、トランジスタの電圧しきい値が 0 または 1 を定義するため、電圧しきい値 ROM (VTROM) として知られています。NAND および NOR 構成で使用できます。この手法は、イオン注入領域を光学的に区別することが難しいため、コンテンツの光学読み取りに対する高いレベルの耐性を提供します。[16]これは、ROM のデキャップと顕微鏡を使用して試みることができます。
- トランジスタのゲート酸化膜に2つの厚さレベルを使用し、[3]マスクを使用して1つの厚さの酸化膜を堆積する場所を定義し、別のマスクを使用してもう1つの厚さの酸化膜を堆積します。厚さに応じて、トランジスタは異なる電気的特性を持つことができ、したがって1または0のいずれかを表します。
- 複数のマスクを使用して、グリッド上のトランジスタ自体の存在または不在を定義します。存在しないトランジスタをアドレス指定すると0と解釈され、トランジスタが存在する場合は1と解釈されるか、その逆になります。これはアクティブレイヤープログラミングとして知られています。[16]
マスクROMトランジスタは、NORまたはNAND構成のいずれかで配置することができ、各ビットが1つのトランジスタのみで表されるため、可能な限り最小のセルサイズを実現できます。NANDはNORよりも高いストレージ密度を提供します。OR構成も可能ですが、NORと比較すると、トランジスタはV ssではなくV ccにのみ接続されます。[16]マスクROMはかつて最も安価で、1つの金属層と1つのポリシリコン層のみを備えた最も単純な半導体メモリデバイスであり、製造歩留まりが最も高いタイプの半導体メモリです[3] (製造実行あたりの動作デバイス数が最も多い)。ROMは、 CMOS、nMOS、pMOS、バイポーラトランジスタなどのいくつかの半導体デバイス製造技術の1つを使用して作成できます。[17]
プロジェクトの開発段階では、UV- EPROMやEEPROMなどの書き換え可能な不揮発性メモリを使用し、コードが完成したらマスク ROM に切り替えるのが一般的です。たとえば、Atmelマイクロコントローラには、EEPROM 形式とマスク ROM 形式の両方があります。
マスク ROM の主な利点はコストです。ビットあたりでは、マスク ROM は他のどの種類の半導体メモリよりもコンパクトです。集積回路のコストはそのサイズに大きく依存するため、マスク ROM は他のどの種類の半導体メモリよりも大幅に安価です。
しかし、一度のマスキングコストは高く、設計から製品段階までのターンアラウンドタイムも長い。設計ミスはコストがかかる。データやコードにエラーが見つかった場合、マスクROMは役に立たなくなり、コードやデータを変更するために交換する必要がある。[18]
2003年現在[update]、マスクROMチップの生産量の大部分はサムスン電子、NEC、沖電気工業、マクロニクスの4社が担っている。[19] [更新が必要]
一部の集積回路にはマスク ROM のみが含まれています。その他の集積回路には、マスク ROM に加えてさまざまなデバイスが含まれています。特に、多くのマイクロプロセッサには、マイクロコードを格納するためのマスク ROM があります。一部のマイクロコントローラには、ブートローダまたはすべてのファームウェアを格納するためのマスク ROM があります。
従来のマスクプログラム ROM チップは、保存するデータを物理的にエンコードする集積回路であるため、製造後にその内容を変更することは不可能です。
レーザーROMの内容を書き込むには、マスクを使用する代わりに、レーザーを使用してROM上の一部のダイオードの電気的特性のみを変更したり、レーザーを使用して一部のポリシリコンリンクのみを切断したりすることもできます。[20] [21] [16]
フィールドプログラマブル
- プログラム可能な読み取り専用メモリ(PROM) またはワンタイム プログラマブル ROM (OTP) は、 PROM プログラマと呼ばれる特別なデバイスを使用して書き込みまたはプログラムできます。通常、このデバイスは高電圧を使用して、チップ内の内部リンク (ヒューズまたはアンチヒューズ) を永久に破壊または作成します。したがって、PROM は 1 回しかプログラムできません。
- 消去可能プログラマブル読み取り専用メモリ(EPROM) は、強い紫外線(通常 10 分以上)にさらすことで消去し、その後、通常よりも高い電圧を再度印加するプロセスで再書き込みできます。紫外線に繰り返しさらされると、EPROM は最終的に摩耗しますが、ほとんどの EPROM チップの耐久性は、消去と再プログラミングのサイクルで 1000 回を超えます。EPROM チップ パッケージは、多くの場合、紫外線が入る目立つ石英の「ウィンドウ」で識別できます。プログラミング後、ウィンドウは通常、誤って消去されないようにラベルで覆われます。一部の EPROM チップは、パッケージ化される前に工場で消去され、ウィンドウがないため、実質的に PROM です。
- 電気的に消去可能なプログラマブル読み取り専用メモリ(EEPROM) は、EPROM と同様の半導体構造に基づいていますが、その内容全体 (または選択したバンク) を電気的に消去し、その後電気的に書き換えることができるため、コンピュータ (汎用コンピュータまたはカメラ、MP3 プレーヤーなどの組み込みコンピュータ) から取り外す必要がありません。EEPROM の書き込みまたはフラッシュは、ROM からの読み取りや RAM への書き込み (どちらもナノ秒) よりもはるかに低速です (1 ビットあたり数ミリ秒)。
- 電気的に変更可能な読み取り専用メモリ(EAROM)は、 1回に1ビットまたは数ビットを変更できるEEPROMの一種です。 [22]書き込みは非常に低速なプロセスで、読み取りアクセスに使用される電圧よりも高い電圧(通常は約12 V )が必要です。EAROMは、まれにしか書き換える必要のない部分的な書き換えのみを必要とするアプリケーション向けです。EAROMは、重要なシステム設定情報用の不揮発性ストレージとして使用できます。多くのアプリケーションでは、EAROMは主電源から供給され、リチウム電池でバックアップされたCMOS RAMに置き換えられています。
- フラッシュメモリ(または単にフラッシュ)は、1984年に発明された新しいタイプのEEPROMです。フラッシュメモリは通常のEEPROMよりも高速に消去および書き換えることができ、新しい設計では非常に高い耐久性(1,000,000サイクル以上)を特長としています。最新のNANDフラッシュはシリコンチップ領域を効率的に使用し、 2007年の時点で個々のICの容量は最大32 GB[update]に達しています。この機能と耐久性および物理的耐久性により、NANDフラッシュは一部のアプリケーション( USBフラッシュドライブなど)で磁気フラッシュを置き換えることができました。NORフラッシュメモリは、古いROMタイプの代替として使用されるときにフラッシュROMまたはフラッシュEEPROMと呼ばれることがありますが、迅速かつ頻繁に変更できる機能を利用するアプリケーションではそうではありません。
書き込み保護を適用すると、一部のタイプの再プログラム可能な ROM は一時的に読み取り専用メモリになる場合があります。
その他の技術
ソリッドステート IC 技術に基づかない他の種類の不揮発性メモリには、次のようなものがあります。
- 読み取り専用のCD-ROMなどの光学式ストレージメディア(マスク ROM に類似)。CD -RはWrite Once Read Many (PROM に類似) であり、CD-RW は消去と再書き込みのサイクルに対応しています (EEPROM に類似)。どちらも CD-ROM との下位互換性を保つように設計されています。

- ダイオード マトリックスROM。1960 年代の多くのコンピューター、電子卓上計算機、端末のキーボード エンコーダーで少量使用されていました。この ROM は、プリント回路基板上のワード ライン トレースとビット ライン トレースのマトリックス間の選択された場所に個別の半導体ダイオードをインストールすることによってプログラムされました。
- 1970 年代まで多くのコンピュータで使用されていた抵抗器またはコンデンサマトリックス ROM。ダイオードマトリックス ROM と同様に、ワード ラインとビット ラインのマトリックス間の選択した場所にコンポーネントを配置することでプログラムされます。ENIACの機能テーブルは抵抗器マトリックス ROM であり、ロータリー スイッチを手動で設定することでプログラムされます。IBM System/360 のさまざまなモデルと複雑な周辺機器では、マイクロコードをコンデンサ マトリックスに保存しており、360/50 および 360/65 のバランス コンデンサ読み取り専用ストレージではBCROS、360 / 30のカードコンデンサ読み取り専用ストレージではCCROSと呼ばれるバリエーションがあります。
- トランスフォーマーマトリックス ROM は、各マトリックス要素を使用して複数のビットを保存することにより、ダイオード、抵抗、またはコンデンサ マトリックス ROM よりも高密度のストレージを実現します。
- ダイアモンドリングトランスレータは、ベル研究所の発明家トーマス・L・ダイアモンドにちなんで名付けられ、変圧器として機能する一連の大きなフェライトリングに電線が通され、駆動パルスを感知巻線に結合する。[23] [24] 1940年代初頭に発明されたダイアモンドリングトランスレータは、#5クロスバースイッチやTXE電話交換機で使用された。ダイアモンドリングは、後のほとんどの形式の変圧器結合型または「コアロープ」メモリの基礎となった。
- Transformer Read Only Storage ( TROS ) (360/20、360/40、および周辺制御ユニット上)は、ダイアモンド リング トランスレータと同じように動作するトランス マトリックス ROM テクノロジです。IBM System/360 Model 30で使用されている IBM の CCROS よりも高速でコンパクトですが、 IBM System/360 Model 50およびModel 65で使用されている IBM の BCROS よりも低速です。
- コアロープメモリは、ワイヤ編組メモリとも呼ばれ、[25]フェライトコアを介して駆動ラインと感知ラインを結合し、サイズ、重量、および/またはコストが重要な場合に使用されます。コアロープは、コアごとに複数ビットの ROM を格納し (通常の読み取り/書き込みコアメモリとは異なります)、フェライトトランスコアの内側または外側に「ワードラインワイヤ」を編み込むことによってプログラムされます。コアロープメモリには、動作中にコアの磁化が反転するかどうかによって区別される 2 種類があり、パルストランス技術とスイッチングコア技術として知られています[26]
- パルストランスフォーマー技術では、駆動ラインはフェライトコアを介してセンスラインに結合されますが、コアの磁化は反転されず、この方法は磁化ヒステリシスループに依存せず、トランスフォーマーとしてのみ使用されます。これはダイアモンドリングトランスレーターと同じように動作し、DECのPDP-9およびPDP-16コンピューター、ヒューレットパッカード 9100Aおよび 9100B 計算機、Wang計算機、その他多くのマシンで使用されました。
- スイッチングコア技術はフェライトコアの磁化を反転させる。これはダイアモンドリングトランスレータの動作とは大きく異なる。これはNASA / MITのアポロ宇宙船コンピュータで使用されていた。[27]
- 誘導結合プリント基板メモリ。誘導結合を使用するがフェライトコアは使用せず、プリント基板の別々の面にある駆動線と感知線の間の結合を使用する。これはダイアモンドリングトランスレータと同じ原理で動作し、ヒューレットパッカード9100Aおよび9100B計算機のメイン制御ストアに使用されていた(マイクロ命令デコーダに使用されるパルストランスコアロープメモリに加えて)。[28]
スピード
RAM と ROM の相対速度は時間とともに変化してきましたが、2007 年現在、[update]大容量の RAM チップはほとんどの ROM よりも高速に読み取ることができます。このため (および均一なアクセスを可能にするため)、ROM コンテンツは最初に使用される前に RAM にコピーまたはシャドウされ、その後 RAM から読み取られることがあります。
書き込み
電気的に変更できるタイプの ROM の場合、書き込み速度は従来、読み取り速度よりもはるかに遅く、異常に高い電圧、書き込み許可信号を適用するためのジャンパー プラグの移動、および特別なロック/ロック解除コマンド コードが必要になる場合があります。最新の NAND フラッシュを使用すると、書き換え可能な ROM テクノロジの中で最も高速な書き込み速度を実現でき、SSD では最高 10 GB /秒の速度を実現できます。これは、消費者向けと企業向けの両方のソリッド ステート ドライブと、ハイエンドのモバイル デバイス向けフラッシュ メモリ製品への投資の増加によって可能になりました。技術レベルでは、コントローラ設計とストレージの両方で並列処理を増やし、大容量の DRAM 読み取り/書き込みキャッシュを使用し、複数のビットを保存できるメモリ セル (DLC、TLC、MLC) を実装することで、メリットが得られました。後者のアプローチは障害が発生しやすくなりますが、オーバープロビジョニング (ドライブ コントローラにのみ表示される製品内の予備容量の組み込み) と、ドライブ ファームウェアの読み取り/書き込みアルゴリズムの高度化によって、この問題は大幅に軽減されています。
耐久性とデータ保持
.jpg/500px-4Mbit_EPROM_Texas_Instruments_TMS27C040_(1).jpg)
書き換え可能な ROM は、電子を電気絶縁層を通してフローティング トランジスタ ゲートに押し込むことで書き込むため、書き込みと消去のサイクルを限られた回数しか実行できず、それを超えると絶縁体が永久に損傷します。初期の EPROM では、わずか 1,000 回の書き込みサイクルでこの状態になる可能性がありましたが、最新のフラッシュ EEPROM では耐久性が 1,000,000 回を超える場合があります。耐久性が限られていることと、ビットあたりのコストが高いことから、フラッシュ ベースのストレージが近い将来に磁気ディスク ドライブに完全に取って代わることはまずありません。[引用が必要]
ROM が正確に読み取り可能な状態を保つ期間は、書き込みサイクルによって制限されることはありません。EPROM、EAROM、EEPROM、フラッシュのデータ保持は、メモリセルトランジスタのフローティングゲートから漏れる電荷によって時間制限される可能性があります。1980 年代半ばの初期世代の EEPROM では、一般的に 5 年または 6 年のデータ保持が挙げられていました。2020 年に提供された EEPROM のレビューでは、メーカーが 100 年のデータ保持を挙げています。環境が悪ければ保持時間が短くなります (漏れは高温や放射線によって加速されます)。マスク ROM とヒューズ/アンチヒューズ PROM では、データ保持が集積回路の電気的永続性ではなく物理的永続性に依存するため、この影響を受けませんが、ヒューズの再成長はかつて一部のシステムで問題となっていました。[29]
コンテンツ画像
ROM チップの内容は、特別なハードウェア デバイスと関連する制御ソフトウェアを使用して抽出できます。この方法は、主な例として、古いビデオゲーム コンソールの カートリッジの内容を読み取る場合によく使用されます。別の例としては、古いコンピューターやその他のデバイスからファームウェア/OS ROM のバックアップを作成することが挙げられます。アーカイブ目的の場合、多くの場合、元のチップは PROM であるため、使用可能なデータ寿命を超えるリスクがあります。
結果として得られるメモリ ダンプ ファイルはROM イメージまたは略称ROMと呼ばれ、新しいカートリッジやコンソール エミュレータでプレイするためのデジタル ファイルなど、複製 ROM を作成するために使用できます。ROMイメージという用語は、ほとんどのコンソール ゲームが ROM チップを含むカートリッジで配布されたときに生まれましたが、広く使用されるようになったため、 CD-ROMやその他の光学メディアで配布される新しいゲームのイメージにも今でも適用されています。
市販のゲームやファームウェアなどの ROM イメージには、通常、著作権で保護されたソフトウェアが含まれています。著作権で保護されたソフトウェアの無許可のコピーや配布は、多くの法域で著作権法違反となりますが、バックアップ目的での複製は、場所によっては公正使用と見なされる場合があります。いずれにしても、保存/共有の目的でこのようなソフトウェアを配布および取引するコミュニティが活発に存在しています。
タイムライン
参照
注記
- ^ 「 初期プログラムロード」(IPL)など、他の用語も使用されます。
参考文献
- ^ 「フラッシュ ROM の定義 (PC Magazine Encyclopedia より)」。pcmag.com。2013年 11 月 10 日時点のオリジナルよりアーカイブ。
- ^ https://pisiup.com/what-is-rom-in-computer/
- ^ abcdefg 「ROM、EPROM、およびEEPROMテクノロジー」(PDF)。
- ^ 「CPSC、GE Security社、一酸化炭素警報器のリコールを発表」。米国消費者製品安全委員会。 2024年11月8日閲覧。
- ^ ab Han-Way Huang (2008 年 12 月 5 日)。C805 を使用した組み込みシステム設計。Cengage Learning。p. 22。ISBN 978-1-111-81079-52018年4月27日時点のオリジナルよりアーカイブ。
- ^ Marie-Aude Aufaure、Esteban Zimányi (2013 年 1 月 17 日)。ビジネス インテリジェンス: 第 2 回ヨーロッパ サマー スクール、eBISS 2012、ブリュッセル、ベルギー、2012 年 7 月 15 日~21 日、チュートリアル講義。Springer。p. 136。ISBN 978-3-642-36318-42018年4月27日時点のオリジナルよりアーカイブ。
- ^ 「1960年 - 金属酸化物半導体 (MOS) トランジスタの実証」。シリコンエンジン。コンピュータ歴史博物館。
- ^ 「トランジスタ - 概要」。ScienceDirect。 2022年10月13日時点のオリジナルよりアーカイブ。2019年8月8日閲覧。
- ^ US3660819A、Frohman、Bentchkowsky D.、「フローティングゲートトランジスタおよびその充電および放電方法」、1972-05-02発行
- ^ abcd 「1971年:再利用可能な半導体ROMの導入」。コンピュータ歴史博物館。 2019年6月19日閲覧。
- ^ Tarui, Y.; Hayashi, Y.; Nagai, K. (1972). 「電気的に再プログラム可能な不揮発性半導体メモリ」. IEEE Journal of Solid-State Circuits . 7 (5): 369–375. Bibcode :1972IJSSC...7..369T. doi :10.1109/JSSC.1972.1052895. ISSN 0018-9200.
- ^ 「1987年:東芝がNANDフラッシュを発売」eWEEK。
- ^ Detlev Richter (2013 年 9 月 12 日)。「第 2 章 不揮発性メモリの基礎」。フラッシュ メモリ: パフォーマンス、コスト、信頼性の経済的原則。Springer Science & Business Media。6 ページ。
- ^ 「NAND フラッシュ アプリケーション設計ガイド」(PDF)。東芝。2003 年 4 月。6 ページ。2009 年 10 月 7 日のオリジナル(PDF)からアーカイブ。。
- ^ Millman & Grable 著『Microelectronics』第 2 版の「組み合わせデジタル回路」および「順次デジタル回路」の章を参照してください。
- ^ abcde 半侵入型攻撃 - ハードウェアセキュリティ分析への新しいアプローチ。SP Skorobogatov。2005 年。https://citeseerx.ist.psu.edu/pdf/2b7ba7f2db6ae96cc7869282a1ab5d25fbe02f5b
- ^ Whitaker, Jerry C. (2018年10月3日). エレクトロニクスハンドブック. CRC Press. ISBN 978-1-4200-3666-4。
- ^ ホロウィッツ、ポール、ヒル、ウィンフィールド (2011)。電子工学の芸術(第3版)。ケンブリッジ大学出版局。p. 817。ISBN 978-0-521-37095-0。
- ^ 大石 基之 (2003 年 7 月)。「技術分析: マスク ROM とフラッシュ EEPROM に代わる Oki P2ROM」。日経エレクトロニクス アジア。2007 年 10 月 21 日時点のオリジナルよりアーカイブ。
- ^ JJ Lee および NR Strader、「レーザー ビーム スキャニングによってプログラム可能な CMOS ROM アレイ」、IEEE Journal of Solid-State Circuits、vol. 22、いいえ。 4、pp.622−624、1987年8月、土井:10.1109/JSSC.1987.1052783。 https://ieeexplore.ieee.org/document/1052783
- ^ IボタンAN937。 https://pdfserv.maximintegrated.com/en/an/AN937.pdf
- ^ シアルシア、スティーブ(1981年)。シアルシアのサーキットセラー。サーキットセラー。ISBN 978-0-07-010963-6。
- ^ Dimond, TL (1951年2月). 「No. 5 クロスバー AMA トランスレータ」(PDF) .ベル研究所記録. XXIX (2): 62 ff . 2024年8月26日閲覧。
- ^ 米国特許 2,614,176、TL Dimond、「電子誘導番号グループトランスレータ」、1952年10月14日発行、ベル電話研究所に譲渡
- ^ Aldrich, WH; Alonso, RL (1966 年 8 月)。「The "Braid Transformer Memory"」。IEEE Transactions on Electronic Computers。EC -15 (4): 502 ff. doi :10.1109/PGEC.1966.264357。2024年 8 月 26 日閲覧。
- ^ 「コアロープと編みワイヤメモリシステム」。
- ^ 「アポロのためのコンピュータ」。MITサイエンスレポーター。1965年。WGBH。
- ^ 「HP 9100 の PC ボード ROM」。
- ^ “Memory Ic”. transparentc . 2016年7月12日時点のオリジナルよりアーカイブ。2016年7月22日閲覧。
- ^ abcd 「1965年:半導体の読み取り専用メモリチップが登場」。コンピュータ歴史博物館。 2019年6月20日閲覧。
- ^ 「1702A データシート」(PDF) . Intel . 2019 年7 月 6 日閲覧。
- ^ abcdefg 「Intel 製品の時系列リスト。製品は日付順に並べられています」(PDF)。Intelミュージアム。Intel Corporation。2005 年 7 月。2007 年 8 月 9 日時点のオリジナル(PDF)からアーカイブ。2007 年7 月 31 日閲覧。
- ^ 「2708 データシート」(PDF) . Intel . 2019 年7 月 6 日閲覧。
- ^ 飯塚 秀次; 増岡 文雄; 佐藤 泰; 石川 正之 (1976). 「積層ゲート構造を有する電気的に可変なアバランシェ注入型 MOS 読み取り専用メモリ」. IEEE Transactions on Electron Devices . 23 (4): 379–387. Bibcode :1976ITED...23..379I. doi :10.1109/T-ED.1976.18415. ISSN 0018-9383. S2CID 30491074.
- ^ ab μCOM-43 シングルチップマイクロコンピュータ: ユーザーズマニュアル(PDF) . NEC マイクロコンピュータ. 1978 年 1 月. 2019 年6 月 27 日閲覧。
- ^ 「Intel: 35年間のイノベーション (1968–2003)」(PDF) 。Intel。2003年。 2021年11月4日時点のオリジナル(PDF)からアーカイブ。2019年6月26日閲覧。
- ^ 「2716: 16K (2K x 8) UV ERASABLE PROM」(PDF) 。Intel。 2019年6月27日時点のオリジナル(PDF)よりアーカイブ。 2019年6月27日閲覧。
- ^ 「1982 CATALOG」(PDF) . NECエレクトロニクス. 2019年6月20日閲覧。
- ^ 「2732A データシート」(PDF) . Intel . 2019 年7 月 6 日閲覧。
- ^ コンポーネントデータカタログ(PDF) . Intel . 1978. pp. 1–3 . 2019年6月27日閲覧。
- ^ abcdefghi 「メモリ」。STOL (Semiconductor Technology Online)。2019年6月25日時点のオリジナルよりアーカイブ。2019年6月25日閲覧。
- ^ 「2764A データシート」(PDF) . Intel . 2019 年7 月 6 日閲覧。
- ^ 「27128A データシート」(PDF) 。Intel。 2017年4月29日時点のオリジナル(PDF)からアーカイブ。 2019年7月6日閲覧。
- ^ 「27256 データシート」(PDF) . Intel . 2019 年7 月 2 日閲覧。
- ^ 「富士通の半導体事業の歩み」富士通。2019年7月3日時点のオリジナルよりアーカイブ。2019年7月2日閲覧。
- ^ 「MBM 2764」(PDF)富士通1984年1月2019年6月21日閲覧。
- ^ 「D27512-30 データシート」(PDF) . Intel . 2019年7月2日閲覧。
- ^ “History: 1990年代”. SK Hynix . 2021年5月1日時点のオリジナルよりアーカイブ。2019年7月6日閲覧。
- ^ ab 「Japanese Company Profiles」(PDF)。スミソニアン協会。1996年。 2019年6月27日時点のオリジナル(PDF)よりアーカイブ。 2019年6月27日閲覧。
