Computer Memory
In computing, memory refers to the devices used to store information for use in a computer. The term primary memory is used for storage systems which function at high-speed (i.e. RAM), as a distinction from secondary memory, which provides program and data storage that is slow to access but offer higher memory capacity. If needed, primary memory can be stored in secondary memory, through a memory management technique called “virtual memory.” An archaic synonym for memory is store.
Volatile Memory
Volatile memory is computer memory that requires power to maintain the stored information. Most modern semiconductor volatile memory is either Static RAM (see SRAM) or dynamic RAM (see DRAM).
SRAM retains its contents as long as the power is connected and is easy to interface to but uses six transistors per bit.
Dynamic RAM is more complicated to interface to and control and needs regular refresh cycles to prevent its contents being lost.
However, DRAM uses only one transistor and a capacitor per bit, allowing it to reach much higher densities and, with more bits on a memory chip, be much cheaper per bit.
SRAM is not worthwhile for desktop system memory, where DRAM dominates, but is used for their cache memories.
SRAM is commonplace in small embedded systems, which might only need tens of kilobytes or less.
Forthcoming volatile memory technologies that hope to replace or compete with SRAM and DRAM include Z-RAM, TTRAM, A-RAM and ETA RAM.
Non-Volatile Memory
Non-volatile memory is computer memory that can retain the stored information even when not powered.
Examples of non-volatile memory include read-only memory (see ROM), flash memory, most types of magnetic computer storage devices (e.g. hard disks, floppy discs and magnetic tape), optical discs, and early computer storage methods such as paper tape and punched cards.
Forthcoming non-volatile memory technologies include FeRAM, CBRAM,PRAM, SONOS, RRAM, Racetrack memory, NRAM and Millipede.