EPROM(Erasable PROM)不仅可以由用户写入程序或数据,而且允许擦除已经写入的内容。就象用铅笔在纸上写了字之后,能够用橡皮完全擦干净,又恢复成一张白纸。如图4.8所示,在源极S与漏极N之间有一个浮栅,当浮栅上充满负电荷时,源极S与漏极N之间导通,存储数据"0",否则不导通,存储数据"1"。
图 4.8 EPROM 的存储原理
由于浮栅的绝缘性能特别好,电荷不易消失,因此能够长期保存信息。
  刚买来的EPROM,浮栅上没有负电荷,因此,所有存储单元均保存"1"。
  EPROM的写入方法是:在专用的EPROM编程器上,在需要写"0"的位置,在源极与漏极之间加上高电压,把电荷加到浮栅上,于是,S极与N极之间就能够导通。
  EPROM的擦除方法是:打开芯片顶部的小窗口,放入专用的EPROM擦除器中5到20分钟,擦除器中的紫外线能够使浮栅上的电荷逐渐消失,使其恢复到"全1"状态。
  EPROM的生产厂家声称,即使在125度的高温下,浮栅上的电荷仍然能够保持原来的70%,因此,EPROM能够长时间使用。
  由于在日光灯中,甚至在太阳光中都有紫外线存在,因此,为了防止已经编程好的EPROM丢失数据,一定要用不透明的胶条,封住EPROM的小窗口。
  有些生产厂家,为了简化生产线,实际上不再生产PROM,而用EPROM来代替,只是在封装芯片时,不保留小窗口。用户在第一次写入数据之后,不能擦除。这种不保留小窗口的EPROM称为OTPROM(one time programmable ROM)。
  还有一种EPROM,它不用紫外线来擦除,直接用电信号来擦除数据,称为EEPROM(Electricity Erasable PROM),或写作E2PROM。
  EEPROM的价格通常要比EPROM贵,使用起来实际上比EPROM方便,它可以按单个字节擦除。如果把编程和擦除电路都做在机器内,就不需要象EPROM那样反复插拔芯片了。
  EEPROM能够通过电信号直接实现读或写,而且断电之后能够保存数据,那么它能否代替RAM呢?答案是否定的。主要原因有两个:一是EEPROM的写入速度特别慢,通常要比SRAM或DRAM慢1000倍左右;第二个原因是EEPROM的擦除次数是有限的,一般在几万次。