There are two main classes of primary storage, RAM and ROM. RAM stands for Random Access Memory, while ROM stands for Read Only Memory. Generally, the difference between these two technologies is that RAM is volatile while ROM is non-volatile. Volatile memory requires a constant power supply to retain data. This means that the data is lost when the computer is turned off. Non-volatile memory does not need a continuous power supply, making it suitable for storing long-term data.
Note: The boundaries of RAM and ROM can be challenging to discern. For example, NVRAM is non-volatile, and modern types of ROM can be reprogrammed. Hard drives also don’t neatly fit into either category, secondary storage.
In early computers such as the Commodore 64, all storage was provided with only RAM and ROM. At this time frame, in the early 1980s, the magnetic hard drive was still too expensive to be used in many computers. Instead, custom programs could be run by inserting a memory cartridge containing more ROM.
Core Memory Mask ROM and PROM
The key part of ROM is that it is read-only. This is very distinctly clear in early forms of storage. Magnetic Core memory, for example, as used in NASA’s Apollo spacecraft, needed to have a conductive wire woven through or around magnetic cores. This type of ROM could theoretically be reprogrammed by disassembling it and re-weaving the wire, but in practice was read-only.
With the advent of the integrated circuit, mask ROM became the preferred choice. Mask ROM devices were custom-designed electronic circuits. They were designed by creating a circuit diagram mask and then produced to match that mask. They could not be reprogrammed as the data was physically encoded in the circuit.
Mask ROM has four core problems. Firstly, it’s only economically viable to purchase large quantities, as that offsets the design costs and the tooling costs for the foundry producing the custom design. Secondly, the turnaround time between design completion and product receipt is long because of the tooling requirements of the foundry.
Thirdly, R&D work is impractical due to the long turnaround times and high costs. Finally, suppose a fault is found after the product launch. In that case, the only solution is to recall the product and physically replace the ROM chip with an updated one.
PROM, or Programmable Read Only Memory, invented in 1956, addressed the first two issues and partly discussed the third. It did this by allowing a generic design to be produced by a foundry with the ability for each chip to be programmed at any point by precisely applying large voltages. This allowed companies to order giant batches of essentially blank PROM chips and then program them as needed.
EPROM, EEPROM, and Flash
EPROM, short for Erasable Programmable Read Only Memory, was the subsequent development in 1971. Like PROM, blank chips could be purchased in bulk and programmed as needed. Critically EPROM could also be erased. The process for doing so was a little complex. However, it requires the chip to be exposed to intense ultraviolet light.
The erasure process needed around 10 minutes under a bright UV source, one week for direct sunlight, or three years for standard room fluorescent lighting. EPROM did limit the number of times it could be erased, but this was typically thousands of times, thus efficiently solving the third problem.
EPROM chips were housed in cases with a transparent quartz window to facilitate UV exposure. A branded sticker was generally placed on top to prevent accidental disclosure and erasure. The sticker was typically foil-backed to ensure that UV light could not reach the chip. In some cases, EPROM chips were designed with the window and sold in solid packaging, essentially making them PROM chips.
EEPROM, or Electronically Erasable Programmable Read Only Memory, developed in 1972, generally solved the fourth issue. It could be erased electronically. This meant that the memory chip could be erased and reprogrammed in place with a suitable connection to a controlling device rather than requiring the chip to be removed.
Flash Memory is a form of EEPROM invented in the early 1980s. Its key advantages are that it makes chip space more efficient and reprogrammed thousands of times without damage or erasure. Reprogramming can be limited to a portion of the chip rather than the whole thing. The erasure and reprogramming process is much faster, earning the name Flash.
In Modern Computers
In modern devices, RAM is still universal. ROM maintained popularity for a long time, precisely mask ROM because it was cheap to produce. In the contemporary world, though, it is critical to be able to push firmware updates to devices. This has generally led to replacing ROM with flash memory almost completely. It performs the same functionality but can be reprogrammed as needed. Typically, reprogrammable ROM can be configured with write protection to become read-only. This isn’t a fail-proof solution, though.
Flash memory has seen further advances, with NAND flash memory being developed into SSDs as an alternative secondary storage mechanism to HDDs.
Software that has historically been found on ROM chips, including flash memory, is often referred to as a ROM. This name comes from the shortening of the term ROM images. For example, many retro gaming enthusiast communities share and trade classic games that can be played on modern computers through emulators. This terminology can also carry across to mobile operating systems, where custom builds of Android are often referred to as ROMs.
ROM stands for Read Only Memory. It originally referred to primary memory that could only ever be programmed during manufacture. With developments over time, however, it became possible to reprogram ROM with varying degrees of difficulty and hardware requirements.
In modern computing, ROM is entirely replaced with flash memory, which is cheaply available and can be reprogrammed, allowing for the installation of firmware updates. Realistically, this now leaves ROM as an outdated term as the “Read Only” memory can, in fact, be overwritten.