Lably
Skip to content

Non-volatile random-access memory

Type of computer memory

  • 9 min read
  • 4 chapters

Explore on Lably

ToursExplore Lably’s 3D tours

Read-only memory devices can be used to store system firmware in embedded systems such as an automotive ignition system control or home appliance. They are also used to hold the initial processor instructions required to bootstrap a computer system. Read-write memory such as NVRAM can be used to store calibration constants, passwords, or setup information, and may be integrated into a microcontroller.

If the main memory of a computer system were non-volatile, it would greatly reduce the time required to start a system after a power interruption. Current existing types of semiconductor non-volatile memory have limitations in speed (bandwidth and latency), bit density, power consumption, or operating life that make them impractical for main memory. Development is going on for the use of non-volatile memory chips as a system's main memory, as persistent memory. A standard for persistent memory known as NVDIMM-P has been published in 2021.

Early NVRAMs

Some early computers used magnetic drum, which was non-volatile as a byproduct of its construction. The industry moved to magnetic-core memory in the later 1950s, which stored data in the polarity of small magnets. Since the magnets held their state even with the power removed, core memory was also non-volatile. Other memory types required constant power to retain data, such as vacuum tube or solid-state flip-flops, Williams tube, and semiconductor memory (static or dynamic RAM).

Advances in semiconductor fabrication in the 1970s led to a new generation of solid state memories that magnetic-core memory could not match on cost or density. Today, dynamic RAM forms the vast majority of a typical computer's main memory. Many systems require at least some non-volatile memory. Desktop computers require permanent storage of the instructions required to load the operating system. Embedded systems, such as an engine control computer for a car, must retain their instructions when power is removed. Many systems used a combination of RAM and some form of ROM for these roles.

Custom ROM integrated circuits were one solution. The memory contents were stored as a pattern of the last mask used for manufacturing the integrated circuit, and so could not be modified once completed.

PROM improved on this design, allowing the chip to be written electrically by the end-user. PROM consists of a series of diodes that are initially all set to a single value, 1, for instance. By applying higher power than normal, a selected diode can be burned out (like a fuse), thereby permanently setting that bit to 0. PROM facilitated prototyping and small-volume manufacturing. Many semiconductor manufacturers provided a PROM version of their mask ROM part so that development firmware could be tested before ordering a mask ROM.

Currently, the best-known form of both NV-RAM and EEPROM memory is flash memory. Some drawbacks to flash memory include the requirement to write it in larger blocks than many computers can automatically address, and the relatively limited longevity of flash memory due to its finite number of write-erase cycles (as of January 2010, most consumer flash products can withstand only around 100,000 rewrites before memory begins to deteriorate). Another drawback is the performance limitations preventing flash from matching the response times and, in some cases, the random addressability offered by traditional forms of RAM. Several newer technologies are attempting to replace flash in certain roles, and some even claim to be a truly universal memory, offering the performance of the best SRAM devices with the non-volatility of flash. As of June 2018, these alternatives have not yet become mainstream.

Those who required real RAM-like performance and non-volatility typically have had to use conventional RAM devices and a battery backup. For example, IBM PC's and successors beginning with the IBM PC AT used nonvolatile BIOS memory, often called CMOS RAM or parameter RAM, and this was a common solution in other early microcomputer systems like the original Apple Macintosh, which used a small amount of memory powered by a battery for storing basic setup information like the selected boot volume. (The original IBM PC and PC XT instead used DIP switches to represent up to 24 bits of system configuration data; DIP or similar switches are another, primitive type of programmable ROM device that was widely used in the 1970s and 1980s for very small amounts of data—typically no more than 8 bytes.) Before industry standardization on the IBM PC architecture, some other microcomputer models used battery-backed RAM more extensively: for example, in the TRS-80 Model 100/Tandy 102, all of the main memory (8 KB minimum, 32 KB maximum) is battery-backed SRAM. Also, in the 1990s, many video game software cartridges (e.g., for consoles such as the Sega Genesis) included battery-backed RAM to retain saved games, high scores, and similar data. Also, some arcade video game cabinets contain CPU modules that include battery-backed RAM containing keys for on-the-fly game software decryption. Much larger battery-backed memories are still used today as caches for high-speed databases that require a performance level newer NVRAM devices have not yet managed to meet.

Sign in to keep reading

3 more chapters are free with a Lably account.

More in Computing and communication