EPROM
EPROMメモリセルの開発は、トランジスタのゲートの配線が壊れた集積回路を調査することから始まった。配線のない孤立したゲートに溜まった電荷により、その特性が変化したのである。EPROMは1971年にインテルのドブ・フローマン が発明し、1972年にアメリカ合衆国特許第3660189号を取得した。
EPROMで1ビットのデータが格納される場所は、1個の電界効果トランジスタである。それぞれの電界効果トランジスタは、デバイスの半導体本体中のチャネルで構成される。ソースとドレインはチャネルの両端に形成される。絶縁酸化層がチャネル上を覆い、伝導性(ケイ素またはアルミニウム)のゲート電極がその上に配置され、さらに分厚い酸化層がゲート電極の上に形成される。フローティングゲートには配線がなく集積回路内の他の部品とは繋がっておらず、周囲は酸化層によって完全に絶縁されている。コントロールゲートがその上に配置され、それをさらに酸化層で覆う。
EPROMからデータを読み出すには、EPROMのアドレスピンにアドレスを表す値を入力する。するとEPROM内でそれをデコードし、対応する1ワード(通常、8ビット)のメモリセルを出力バッファ増幅回路に接続する。ワード内の各ビットに対応するトランジスタがオン状態かオフ状態かによって1または0を示す。
電界効果トランジスタのスイッチング状態は、トランジスタのコントロールゲート上の電圧によって制御される。ゲートに電圧がかかっているとトランジスタ内に伝導経路ができ、スイッチがオンとなる。フローティングゲートに電荷を蓄えるとゲートに電圧をかけるのと同じ効果が得られ、それによってデータを記憶することができる。
大量生産する場合はマスクROMが最もコストが低くなる。しかし、ICマスク層を格納するデータに従って設計するため、数週間の準備期間が必要となる。当初EPROMは大量生産用途には高価すぎて使えないと見られ、開発途中でしか使われないと見られていた。間もなく、少量生産ならEPROMでもコスト的に見合うことが判明し、ファームウェアを素早く更新できるという利点も判明した。なお、多品種少量生産向けに、パッケージの窓を廃して廉価なプラスチックモールドとし、ワンタイムPROM(OTP:One-Time Programmable ROM)とした製品もあったが、メモリチップ自体は普通のUV-EPROMであり、プログラミングにはUV-EPROM用のライタ等をそのまま流用できる。
EEPROMやフラッシュメモリが登場する以前、プログラム格納用EPROMを内蔵したマイクロコントローラも存在した。例えば、Intel 8048、Freescale 68HC11、PICマイクロコントローラの"C"バージョンなどがある。これらのマイクロコントローラにはやや高価な石英ガラスの窓付きのバージョンがあり、EPROMのように内蔵プログラムを消去できるのでプログラム開発・デバッグに便利だった。開発後の生産用に窓のない廉価版もあった。