ROM memory is a type of integrated circuit containing a program inside. This program cannot be modified during its usage, hence the name ”read-only“. Another characteristic of ROM memories is that their contents aren’t lost when the power goes off, contrary to what happens to RAM memories.
Software stored inside a ROM memory is called ”firmware“.
ROM memories have several applications, like videogame cartridges (the ”game“, i.e. the program is stored inside a ROM memory).
On the PC a ROM memory chip is used to store three programs: BIOS, POST and Setup. It became normal to call the PC ROM memory as ”BIOS“ while in reality BIOS is just one of the programs stored inside the PC ROM. This nickname became so popular that ROM memory located on other devices are informally called BIOS as well, like saying ”video card BIOS“ while referring to the ”video card ROM“.
ROM memory circuits are classified accordingly to how their data are programmed or re-programmed:
- Mask-ROM: The program is recorded inside the chip in the chip manufacturing process.
- PROM: The ROM memory chip is sold ”virgin“ and the program is recorded through an appropriate recorder, and you cannot erase the program after the chip is recorded, i.e. you cannot re-program the chip.
- EPROM: The ROM memory chip is sold ”virgin“ and the program is recorded through an appropriate recorder. It is possible to erase the chip to record a new program. To erase it you must expose the chip to ultraviolet light during some time (15 to 45 minutes, depending on how old the chip is). This chip has a small window on top of it to allow it to be erased. After erasing its contents, the memory is ”virgin“ again.
- EEPROM or E2PROM: The erasing procedure is done electrically and not through the use of ultraviolet light.
- Flash-ROM: The erasing procedure is done electrically and not through the use of ultraviolet light. The difference between Flash-ROM and EEPROM is that on Flash-ROM is not possible to erase just one given address inside the memory chip and reprogram just one piece of data, i.e. on Flash-ROM you need to erase the entire memory even when you need to change just one value inside of it.
It is important to notice that even though some ROM memories can have their contents erased and be reprogrammed, this doesn’t transform these memories from ROM to RAM, because the recording procedure on ROM memories takes a lot of time, contrary to RAM memories where storing data is really fast.