Read-only memory (ROM) is a type of non-volatile memory used in computers and other electronic devices. Data stored in ROM cannot be electronically modified after the manufacture of the memory device. Read-only memory is useful for storing software that is rarely changed during the life of the system, sometimes known as firmware. Software applications for programmable devices can be distributed as plug-in cartridges containing read-only memory.
Strictly, read-only memory refers to memory that is hard-wired, such as a diode matrix or a mask ROM integrated circuit, which cannot be electronically changed after manufacture. Although discrete circuits can be altered in principle, integrated circuits (ICs) cannot. Correction of errors, or updates to the software, require new devices to be manufactured and to replace the installed device.
Erasable programmable read-only memory (EPROM) and electrically erasable programmable read-only memory (EEPROM) can be erased and re-programmed, but usually, this can only be done at relatively slow speeds, may require special equipment to achieve, and is typically only possible a certain number of times.
The term "ROM" is sometimes used to mean a ROM device containing specific software, or a file with software to be stored in EEPROM or Flash Memory. For example, users modifying or replacing the Android operating system describe files containing a modified or replacement operating system as "custom ROMs" after the type of storage the file used to be written to.