Content deleted Content added
m clean up, typo(s) fixed: cm² → cm<sup>2</sup> (3) |
m unpiped links using script |
||
(23 intermediate revisions by 16 users not shown) | |||
Line 1:
{{short description|Type of computer memory}}
{{Broader|Non-volatile memory}}
{{See also|Nonvolatile BIOS memory}}
{{Memory types}}
[[File:DS1225.JPG | thumb | right | Non-volatile RAM takes various form factors including this tall IC with pins for a socket or soldering beneath.]]
'''Non-volatile random-access memory''' ('''NVRAM''') is [[random-access memory]] that retains data without applied power. This is in contrast to [[dynamic random-access memory]] (DRAM) and [[static random-access memory]] (SRAM), which both maintain data only for as long as power is applied, or
[[Read-only memory]] devices can be used to store system [[firmware]] in [[embedded system]]s such as an automotive ignition system control or home appliance. They are also used to hold the initial processor instructions required to [[Bootstrapping|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 memory size, 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]].
==Early NVRAMs==
Advances in [[semiconductor fabrication]] in the 1970s led to a new generation of [[Solid state (electronics)|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 [[
[[Programmable read-only memory|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,
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){{Citation needed|date=January 2020}}. 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
==Floating-gate MOSFET==<!-- linked here by redirect [[NOVRAM]] -->
A huge advance in NVRAM technology was the introduction of the [[floating-gate MOSFET]] transistor, which led to the introduction of ''erasable programmable read-only memory'', or [[EPROM]]. EPROM consists of a grid of transistors whose ''gate'' terminal (the
An improvement on EPROM, [[EEPROM]], soon followed. The extra
One approach to overcoming the rewrite count limitation is to have a standard [[
The basis of [[flash memory]] is identical to EEPROM
==Commercialized Alternatives==
Flash and EEPROM's limited write-cycles are a serious problem for any real RAM-like role
===Ferroelectric RAM===
To date, the only such system to enter widespread production is [[ferroelectric RAM]], or F-RAM (sometimes referred to as FeRAM). F-RAM is a [[random-access memory]] similar in construction to [[
===Magnetoresistive RAM===
Line 46 ⟶ 48:
===Phase-change RAM===
Another solid-state technology to see more than purely experimental development is [[Phase-change RAM]], or PRAM. PRAM is based on the same storage mechanism as writable [[
[[Intel]] and [[
[[STMicroelectronics]] manufactures phase-change memory devices for automotive applications.
==Researched Alternatives==
===Millipede memory===
{{Main|Millipede memory}}
Perhaps one of the more innovative solutions is [[
===FeFET memory===
|