ROM is an acronym for Read Only Memory. There are a number of variants of ROMs, several of these being:
- Masked: The ROM is programmed at the factory using a metal mask, and cannot be changed. This method is falling from favor.
- PROM or Programmable Read Only Memory: These are shipped blank from the factory, and are programmable by the end user. Traditionally, these used fuses. All the fuses are intact when the PROM is manufactured, and the programming process opens a fuse. A unprogrammed PROM reads out as all 0xff's. To program a location to 0x55, the fuses for bits 2, 4, 6 and 8 would be blown to create the 0x55 pattern.
- EPROM or Erasable Programmable Read Only Memory: These are generally recognizable by the quartz window on top of the part. While still available, these are generally falling from favor. Instead of using a fuse, an EPROM uses a different technology. Ultraviolet can be used to reset a programmed cell from a 0 back to 1. Individual cells are not erasable, only the entire part.
- EEPROM or Electrically Erasable Programmable Read Only Memory: Similiar to EPROMs, only instead of using ultraviolet light to reset cells, voltage is applied to reset a cell. Like EPROMs, the part cannot be selectively erased.
The term OTP or One Time Programmable is basically using an EPROM in a package without a quartz window. EPROMs have a higher density than a PROM, and are also cheaper, since it's a simple matter to repackage the part.