computer memory
   HOME

TheInfoList



OR:

In
computing Computing is any goal-oriented activity requiring, benefiting from, or creating computer, computing machinery. It includes the study and experimentation of algorithmic processes, and development of both computer hardware , hardware and software. ...
, memory is a device or system that is used to store information for immediate use in a
computer A computer is a machine that can be programmed to carry out sequences of arithmetic or logical operations (computation) automatically. Modern digital electronic computers can perform generic sets of operations known as Computer program, pr ...
or related
computer hardware Computer hardware includes the physical parts of a computer, such as the computer case, case, central processing unit (CPU), Random-access memory, random access memory (RAM), Computer monitor, monitor, Computer mouse, mouse, Computer keyboard, ...
and digital
electronic Electronic may refer to: *Electronics, the science of how to control electric energy in semiconductor *Electronics (magazine), ''Electronics'' (magazine), a defunct American trade journal *Electronic storage, the storage of data using an electroni ...
devices. The term ''memory'' is often synonymous with the term ''
primary storage Computer data storage is a technology consisting of computer components and Data storage, recording media that are used to retain digital data (computing), data. It is a core function and fundamental component of computers. The central pro ...
'' or ''
main memory Computer data storage is a technology consisting of computer components and Data storage, recording media that are used to retain digital data (computing), data. It is a core function and fundamental component of computers. The central pro ...
''. An archaic synonym for memory is store. Computer memory operates at a high speed compared to storage that is slower but less expensive and higher in capacity. Besides storing opened programs, computer memory serves as disk cache and write buffer to improve both reading and writing performance. Operating systems borrow RAM capacity for caching so long as not needed by running software. If needed, contents of the computer memory can be transferred to storage; a common way of doing this is through a memory management technique called ''
virtual memory In computing, virtual memory, or virtual storage is a Memory management (operating systems), memory management technique that provides an "idealized abstraction of the storage resources that are actually available on a given machine" which "cr ...
''. Modern memory is implemented as
semiconductor memory Semiconductor memory is a digital electronics, digital electronic semiconductor device used for digital data storage, such as computer memory. It typically refers to devices in which data is stored within metal–oxide–semiconductor (MOS) memo ...
, where data is stored within memory cells built from
MOS transistor The metal–oxide–semiconductor field-effect transistor (MOSFET, MOS-FET, or MOS FET) is a type of field-effect transistor The field-effect transistor (FET) is a type of transistor that uses an electric field to control the flow of Electric ...
s and other components on an
integrated circuit An integrated circuit or monolithic integrated circuit (also referred to as an IC, a chip, or a microchip) is a set of electronic circuits on one small flat piece (or "chip") of semiconductor material, usually silicon. Large numbers of ti ...
. There are two main kinds of semiconductor memory, volatile and
non-volatile Non-volatile memory (NVM) or non-volatile storage is a type of computer memory that can retain stored information even after power is removed. In contrast, volatile memory needs constant power in order to retain data. Non-volatile memory typic ...
. Examples of
non-volatile memory Non-volatile memory (NVM) or non-volatile storage is a type of computer memory that can retain stored information even after power is removed. In contrast, volatile memory needs constant power in order to retain data. Non-volatile memory typic ...
are
flash memory Flash memory is an Integrated circuit, electronic Non-volatile memory, non-volatile computer memory storage medium that can be electrically erased and reprogrammed. The two main types of flash memory, NOR flash and NAND flash, are named for t ...
and
ROM Rom, or ROM may refer to: Biomechanics and medicine * Risk of mortality The risk of mortality (ROM) provides a medical classification to estimate the likelihood of inhospital death for a patient. The ROM classes are minor, moderate, major, and e ...
,
PROM A promenade dance, commonly called a prom, is a dance party for Secondary school, high school students. It may be offered in semi-formal wear, semi-formal black tie or informal wear, informal suit for boys, and evening gowns for girls. This even ...
,
EPROM An EPROM (rarely EROM), or erasable programmable read-only memory, is a type of programmable read-only memory (PROM) chip Chromatin immunoprecipitation (ChIP) is a type of immunoprecipitation experimental technique used to investigate the inter ...
and
EEPROM EEPROM (also called E2PROM) stands for electrically erasable programmable read-only memory and is a type of non-volatile memory used in computers, usually integrated in microcontrollers such as smart cards and remote keyless systems, or as a ...
memory. Examples of
volatile memory Volatile memory, in contrast to non-volatile memory Non-volatile memory (NVM) or non-volatile storage is a type of computer memory that can retain stored information even after power is removed. In contrast, volatile memory needs constant pow ...
are
dynamic random-access memory Dynamic random-access memory (dynamic RAM or DRAM) is a type of random-access memory, random-access semiconductor memory that stores each bit of data in a memory cell (computing), memory cell, usually consisting of a tiny capacitor and a tr ...
(DRAM) used for primary storage, and
static random-access memory Static random-access memory (static RAM or SRAM) is a type of random-access memory (RAM) that uses Flip-flop (electronics), latching circuitry (flip-flop) to store each bit. SRAM is volatile memory; data is lost when power is removed. The ...
(SRAM) used for
CPU cache A CPU cache is a hardware cache used by the central processing unit (CPU) of a computer to reduce the average cost (time or energy) to access data (computing), data from the main memory. A cache is a smaller, faster memory, located closer to a proc ...
. Most semiconductor memory is organized into memory cells each storing one bit (0 or 1).
Flash memory Flash memory is an Integrated circuit, electronic Non-volatile memory, non-volatile computer memory storage medium that can be electrically erased and reprogrammed. The two main types of flash memory, NOR flash and NAND flash, are named for t ...
organization includes both one bit per memory cell and
multi-level cell In electronics, a multi-level cell (MLC) is a memory cell (computing), memory cell capable of storing more than a single bit of information, compared to a single-level cell (SLC), which can store only one bit per memory cell. A memory cell typical ...
capable of storing multiple bits per cell. The memory cells are grouped into words of fixed
word length In computing Computing is any goal-oriented activity requiring, benefiting from, or creating computer, computing machinery. It includes the study and experimentation of algorithmic processes, and development of both computer hardware , hardwa ...
, for example, 1, 2, 4, 8, 16, 32, 64 or 128 bits. Each word can be accessed by a binary address of ''N'' bits, making it possible to store 2''N'' words in the memory.


History

In the early 1940s, memory technology often permitted a capacity of a few bytes. The first electronic programmable
digital computer A computer is a machine that can be programmed to Execution (computing), carry out sequences of arithmetic or logical operations (computation) automatically. Modern digital electronic computers can perform generic sets of operations known as C ...
, the
ENIAC ENIAC (; Electronic Numerical Integrator and Computer) was the first Computer programming, programmable, Electronics, electronic, general-purpose digital computer, completed in 1945. There were other computers that had these features, but the ...
, using thousands of
vacuum tube A vacuum tube, electron tube, valve (British usage), or tube (North America), is a device that controls electric current flow in a high vacuum between electrodes to which an electric voltage, potential difference has been applied. The type kn ...
s, could perform simple calculations involving 20 numbers of ten decimal digits stored in the vacuum tubes. The next significant advance in computer memory came with acoustic
delay-line memory Delay-line memory is a form of computer memory, now obsolete, that was used on some of the earliest Digital data, digital computers. Like many modern forms of electronic computer memory, delay-line memory was a memory refresh, refreshable memory, ...
, developed by J. Presper Eckert in the early 1940s. Through the construction of a glass tube filled with mercury and plugged at each end with a quartz crystal, delay lines could store bits of information in the form of sound waves propagating through the mercury, with the quartz crystals acting as
transducer A transducer is a device that Energy transformation, converts energy from one form to another. Usually a transducer converts a signal in one form of energy to a signal in another. Transducers are often employed at the boundaries of automation, M ...
s to read and write bits. Delay-line memory was limited to a capacity of up to a few thousand bits. Two alternatives to the delay line, the
Williams tube The Williams tube, or the Williams–Kilburn tube named after inventors Frederic Calland Williams, Freddie Williams and Tom Kilburn, is an early form of computer memory. It was the first Random-access memory, random-access digital storage devic ...
and
Selectron tube The Selectron was an early form of digital computer memory developed by Jan A. Rajchman and his group at the RCA, Radio Corporation of America (RCA) under the direction of Vladimir K. Zworykin. It was a vacuum tube that stored digital data as el ...
, originated in 1946, both using electron beams in glass tubes as means of storage. Using
cathode ray tube A cathode-ray tube (CRT) is a vacuum tube containing one or more electron guns, which emit electron beams that are manipulated to display images on a Phosphorescence, phosphorescent screen. The images may represent electrical waveforms (osci ...
s, Fred Williams invented the Williams tube, which was the first random-access computer memory. The Williams tube was able to store more information than the Selectron tube (the Selectron was limited to 256 bits, while the Williams tube could store thousands) and less expensive. The Williams tube was nevertheless frustratingly sensitive to environmental disturbances. Efforts began in the late 1940s to find
non-volatile memory Non-volatile memory (NVM) or non-volatile storage is a type of computer memory that can retain stored information even after power is removed. In contrast, volatile memory needs constant power in order to retain data. Non-volatile memory typic ...
.
Magnetic-core memory Magnetic-core memory was the predominant form of random access, random-access computer memory for 20 years between about 1955 and 1975. Such memory is often just called core memory, or, informally, core. Core memory uses toroids (rings) of a ...
allowed for recall of memory after power loss. It was developed by Frederick W. Viehe and An Wang in the late 1940s, and improved by
Jay Forrester Jay Wright Forrester (July 14, 1918 – November 16, 2016) was a pioneering American computer engineer and systems scientist. He is credited with being one of the inventors of magnetic core memory, the predominant form of random access, random-a ...
and Jan A. Rajchman in the early 1950s, before being commercialised with the
Whirlwind A whirlwind is a weather phenomenon in which a vortex of wind (a vertically oriented rotating column of air) forms due to instabilities and turbulence created by heating and Flux, flow (Air current, current) gradients. Whirlwinds occur all o ...
computer in 1953. Magnetic-core memory was the dominant form of memory until the development of MOS
semiconductor memory Semiconductor memory is a digital electronics, digital electronic semiconductor device used for digital data storage, such as computer memory. It typically refers to devices in which data is stored within metal–oxide–semiconductor (MOS) memo ...
in the 1960s. The first
semiconductor memory Semiconductor memory is a digital electronics, digital electronic semiconductor device used for digital data storage, such as computer memory. It typically refers to devices in which data is stored within metal–oxide–semiconductor (MOS) memo ...
was implemented as a flip-flop circuit in the early 1960s using
bipolar transistors A bipolar junction transistor (BJT) is a type of transistor file:MOSFET Structure.png, upright=1.4, Metal-oxide-semiconductor field-effect transistor (MOSFET), showing Metal gate, gate (G), body (B), source (S) and drain (D) terminals. The ...
. Semiconductor memory made from
discrete device An electronic component is any basic discrete device or physical entity in an Electronics, electronic system used to affect electrons or their associated electromagnetic field, fields. Electronic components are mostly industrial products, avail ...
s was first shipped by
Texas Instruments Texas Instruments Incorporated (TI) is an American technology company headquartered in Dallas, Texas, that designs and manufactures semiconductors and various integrated circuits, which it sells to electronics designers and manufacturers globall ...
to the
United States Air Force The United States Air Force (USAF) is the Aerial warfare, air military branch, service branch of the United States Armed Forces, and is one of the eight uniformed services of the United States. Originally created on 1 August 1907, as a part ...
in 1961. The same year, the concept of solid-state memory on an
integrated circuit An integrated circuit or monolithic integrated circuit (also referred to as an IC, a chip, or a microchip) is a set of electronic circuits on one small flat piece (or "chip") of semiconductor material, usually silicon. Large numbers of ti ...
(IC) chip was proposed by applications engineer Bob Norman at
Fairchild Semiconductor Fairchild Semiconductor International, Inc. was an American semiconductor company based in San Jose, California. Founded in 1957 as a division of Fairchild Camera and Instrument, it became a pioneer in the manufacturing of transistors and of ...
. The first bipolar semiconductor memory IC chip was the SP95 introduced by IBM in 1965. While semiconductor memory offered improved performance over magnetic-core memory, it remain larger and more expensive and did not displace magnetic-core memory until the late 1960s.


MOS memory

The invention of the metal–oxide–semiconductor field-effect transistor (
MOSFET The metal–oxide–semiconductor field-effect transistor (MOSFET, MOS-FET, or MOS FET) is a type of field-effect transistor (FET), most commonly fabricated by the controlled oxidation of silicon. It has an insulated gate, the voltage of which ...
) enabled the practical use of
metal–oxide–semiconductor The metal–oxide–semiconductor field-effect transistor (MOSFET, MOS-FET, or MOS FET) is a type of field-effect transistor (FET), most commonly fabricated by the thermal oxidation, controlled oxidation of silicon. It has an insulated gate, the ...
(MOS) transistors as memory cell storage elements. MOS memory was developed by John Schmidt at
Fairchild Semiconductor Fairchild Semiconductor International, Inc. was an American semiconductor company based in San Jose, California. Founded in 1957 as a division of Fairchild Camera and Instrument, it became a pioneer in the manufacturing of transistors and of ...
in 1964. In addition to higher performance, MOS
semiconductor memory Semiconductor memory is a digital electronics, digital electronic semiconductor device used for digital data storage, such as computer memory. It typically refers to devices in which data is stored within metal–oxide–semiconductor (MOS) memo ...
was cheaper and consumed less power than magnetic core memory. In 1965, J. Wood and R. Ball of the
Royal Radar Establishment The Royal Radar Establishment was a Science park, research centre in Malvern, Worcestershire in the United Kingdom. It was formed in 1953 as the Radar Research Establishment by the merger of the Air Ministry's Telecommunications Research Establi ...
proposed digital storage systems that use
CMOS Complementary metal–oxide–semiconductor (CMOS, pronounced "sea-moss", ) is a type of metal–oxide–semiconductor field-effect transistor (MOSFET) fabrication process that uses complementary and symmetrical pairs of p-type and n-type MOS ...
(complementary MOS) memory cells, in addition to MOSFET power devices for the
power supply A power supply is an electrical device that supplies electric power to an electrical load. The main purpose of a power supply is to convert electric current from a source to the correct voltage, electric current, current, and frequency to power ...
, switched cross-coupling,
switches In electrical engineering, a switch is an electrical component that can disconnect or connect the conducting path in an electrical circuit, interrupting the electric current or diverting it from one conductor to another. The most common type of ...
and delay-line storage. The development of silicon-gate
MOS integrated circuit file:MOSFET Structure.png, upright=1.6, MOSFET, showing metal gate, gate (G), body (B), source (S), and drain (D) terminals. The gate is separated from the body by an gate oxide, insulating layer (pink). The metal–oxide–semiconductor field- ...
(MOS IC) technology by
Federico Faggin Federico Faggin (, ; born 1 December 1941) is an Italian physicist, engineer, inventor and entrepreneur. He is best known for designing the first commercial microprocessor, the Intel 4004. He led the Intel 4004, 4004 (MCS-4) project and the desi ...
at Fairchild in 1968 enabled the production of MOS
memory chip Semiconductor memory is a digital electronics, digital electronic semiconductor device used for digital data storage, such as computer memory. It typically refers to devices in which data is stored within metal–oxide–semiconductor (MOS) memo ...
s. NMOS memory was commercialized by IBM in the early 1970s. MOS memory overtook magnetic core memory as the dominant memory technology in the early 1970s. The two main types of volatile
random-access memory Random-access memory (RAM; ) is a form of computer memory that can be read and changed in any order, typically used to store working Data (computing), data and machine code. A Random access, random-access memory device allows data items to b ...
(RAM) are
static random-access memory Static random-access memory (static RAM or SRAM) is a type of random-access memory (RAM) that uses Flip-flop (electronics), latching circuitry (flip-flop) to store each bit. SRAM is volatile memory; data is lost when power is removed. The ...
(SRAM) and
dynamic random-access memory Dynamic random-access memory (dynamic RAM or DRAM) is a type of random-access memory, random-access semiconductor memory that stores each bit of data in a memory cell (computing), memory cell, usually consisting of a tiny capacitor and a tr ...
(DRAM). Bipolar SRAM was invented by Robert Norman at Fairchild Semiconductor in 1963, followed by the development of MOS SRAM by John Schmidt at Fairchild in 1964. SRAM became an alternative to magnetic-core memory, but requires six transistors for each bit of data. Commercial use of SRAM began in 1965, when IBM introduced their SP95 SRAM chip for the System/360 Model 95.
Toshiba , commonly known as Toshiba and stylized as TOSHIBA, is a Japanese multinational corporation, multinational Conglomerate (company), conglomerate corporation headquartered in Minato, Tokyo, Minato, Tokyo, Japan. Its diversified products and serv ...
introduced bipolar DRAM memory cells for its Toscal BC-1411
electronic calculator An electronic calculator is typically a portable Electronics, electronic device used to perform calculations, ranging from basic arithmetic to complex mathematics. The first Solid-state electronics, solid-state electronic calculator was crea ...
in 1965. While it offered improved performance, bipolar DRAM could not compete with the lower price of the then dominant magnetic-core memory. MOS technology is the basis for modern DRAM. In 1966, Robert H. Dennard at the IBM Thomas J. Watson Research Center was working on MOS memory. While examining the characteristics of MOS technology, he found it was possible to build
capacitors A capacitor is a device that stores electrical energy in an electric field by virtue of accumulating electric charges on two close surfaces insulated from each other. It is a passivity (engineering), passive electronic component with two termi ...
, and that storing a charge or no charge on the MOS capacitor could represent the 1 and 0 of a bit, while the MOS transistor could control writing the charge to the capacitor. This led to his development of a single-transistor DRAM memory cell. In 1967, Dennard filed a patent for a single-transistor DRAM memory cell based on MOS technology. This led to the first commercial DRAM IC chip, the Intel 1103 in October 1970.''The DRAM memory of Robert Dennard''
history-computer.com
Synchronous dynamic random-access memory Synchronous dynamic random-access memory (synchronous dynamic RAM or SDRAM) is any Dynamic RAM, DRAM where the operation of its external pin interface is coordinated by an externally supplied clock signal. DRAM integrated circuits (ICs) produce ...
(SDRAM) later debuted with the
Samsung The Samsung Group (or simply Samsung) ( ko, 삼성 ) is a South Korean Multinational corporation, multinational manufacturing Conglomerate (company), conglomerate headquartered in Samsung Town, Seoul, South Korea. It comprises numerous affi ...
KM48SL2000 chip in 1992. The term ''memory'' is also often used to refer to
non-volatile memory Non-volatile memory (NVM) or non-volatile storage is a type of computer memory that can retain stored information even after power is removed. In contrast, volatile memory needs constant power in order to retain data. Non-volatile memory typic ...
including
read-only memory Read-only memory (ROM) is a type of non-volatile memory used in computers and other electronic devices. Data stored in ROM cannot be electronically modified after the manufacture of the memory device. Read-only memory is useful for storing soft ...
(ROM) through modern
flash memory Flash memory is an Integrated circuit, electronic Non-volatile memory, non-volatile computer memory storage medium that can be electrically erased and reprogrammed. The two main types of flash memory, NOR flash and NAND flash, are named for t ...
.
Programmable read-only memory A programmable read-only memory (PROM) is a form of digital memory where the contents can be changed once after manufacture of the device. The data is then permanent and cannot be changed. It is one type of read-only memory Read-only memory ( ...
(PROM) was invented by Wen Tsing Chow in 1956, while working for the Arma Division of the American Bosch Arma Corporation. In 1967, Dawon Kahng and Simon Sze of Bell Labs proposed that the floating gate of a MOS
semiconductor device A semiconductor device is an electronic component that relies on the electronics, electronic properties of a semiconductor material (primarily silicon, germanium, and gallium arsenide, as well as organic semiconductors) for its function. Its co ...
could be used for the cell of a reprogrammable ROM, which led to Dov Frohman of
Intel Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California, Santa Clara, California. It is the world's largest semiconductor chip manufacturer by revenue, and is one of the devel ...
inventing
EPROM An EPROM (rarely EROM), or erasable programmable read-only memory, is a type of programmable read-only memory (PROM) chip Chromatin immunoprecipitation (ChIP) is a type of immunoprecipitation experimental technique used to investigate the inter ...
(erasable PROM) in 1971.
EEPROM EEPROM (also called E2PROM) stands for electrically erasable programmable read-only memory and is a type of non-volatile memory used in computers, usually integrated in microcontrollers such as smart cards and remote keyless systems, or as a ...
(electrically erasable PROM) was developed by Yasuo Tarui, Yutaka Hayashi and Kiyoko Naga at the
Electrotechnical Laboratory The , or AIST, is a Japanese research facility headquartered in Tokyo, and most of the workforce is located in Tsukuba, Ibaraki, Tsukuba Science City, Ibaraki Prefecture, Ibaraki, and in several cities throughout Japan. The institute is managed ...
in 1972. Flash memory was invented by
Fujio Masuoka is a Japanese engineer, who has worked for Toshiba and Tohoku University, and is currently chief technical officer (CTO) of Unisantis Electronics. He is best known as the inventor of flash memory, including the development of both the NOR flash a ...
at
Toshiba , commonly known as Toshiba and stylized as TOSHIBA, is a Japanese multinational corporation, multinational Conglomerate (company), conglomerate corporation headquartered in Minato, Tokyo, Minato, Tokyo, Japan. Its diversified products and serv ...
in the early 1980s. Masuoka and colleagues presented the invention of NOR flash in 1984, and then
NAND flash Flash memory is an Integrated circuit, electronic Non-volatile memory, non-volatile computer memory storage medium that can be electrically erased and reprogrammed. The two main types of flash memory, NOR flash and NAND flash, are named for t ...
in 1987. Toshiba commercialized NAND flash memory in 1987. Developments in technology and economies of scale have made possible so-called (VLM) computers.


Volatile memory

Volatile memory is computer memory that requires power to maintain the stored information. Most modern
semiconductor A semiconductor is a material which has an electrical resistivity and conductivity, electrical conductivity value falling between that of a electrical conductor, conductor, such as copper, and an insulator (electricity), insulator, such as glas ...
volatile memory is either
static RAM Static random-access memory (static RAM or SRAM) is a type of random-access memory Random-access memory (RAM; ) is a form of computer memory that can be read and changed in any order, typically used to store working Data (computing) ...
(SRAM) or
dynamic RAM Dynamic random-access memory (dynamic RAM or DRAM) is a type of random-access semiconductor memory Semiconductor memory is a digital electronics, digital electronic semiconductor device used for digital data storage, such as computer m ...
(DRAM). DRAM dominates for desktop system memory. SRAM is used for
CPU cache A CPU cache is a hardware cache used by the central processing unit (CPU) of a computer to reduce the average cost (time or energy) to access data (computing), data from the main memory. A cache is a smaller, faster memory, located closer to a proc ...
. SRAM is also found in small
embedded system An embedded system is a computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or Electronics, electronic system. It is '' ...
s requiring little memory. SRAM retains its contents as long as the power is connected and may use a simpler interface, but requires six transistors per bit. Dynamic RAM is more complicated for interfacing and control, needing regular refresh cycles to prevent losing its contents, but uses only one transistor and one capacitor per bit, allowing it to reach much higher densities and much cheaper per-bit costs.


Non-volatile memory

Non-volatile memory can retain the stored information even when not powered. Examples of non-volatile memory include
read-only memory Read-only memory (ROM) is a type of non-volatile memory used in computers and other electronic devices. Data stored in ROM cannot be electronically modified after the manufacture of the memory device. Read-only memory is useful for storing soft ...
,
flash memory Flash memory is an Integrated circuit, electronic Non-volatile memory, non-volatile computer memory storage medium that can be electrically erased and reprogrammed. The two main types of flash memory, NOR flash and NAND flash, are named for t ...
, most types of magnetic computer storage devices (e.g.
hard disk drive A hard disk drive (HDD), hard disk, hard drive, or fixed disk is an electro-mechanical data storage device that stores and retrieves digital data using magnetic storage with one or more rigid rapidly rotating hard disk platter, platters ...
s,
floppy disk A floppy disk or floppy diskette (casually referred to as a floppy, or a diskette) is an obsolescent type of disk storage composed of a thin and flexible disk of a magnetic storage medium in a square or nearly square plastic enclosure lined wi ...
s and
magnetic tape Magnetic tape is a medium for magnetic storage made of a thin, magnetizable coating on a long, narrow strip of plastic film. It was developed in Germany in 1928, based on the earlier magnetic wire recording from Denmark. Devices that use mag ...
),
optical disc In computing and optical disc recording technologies, an optical disc (OD) is a flat, usually circular disc that encodes binary data (bits) in the form of Compact disk#Physical details, pits and lands on a special material, often aluminum, ...
s, and early computer storage methods such as
paper tape file:PaperTapes-5and8Hole.jpg, Five- and eight-hole punched paper tape file:Harwell-dekatron-witch-10.jpg, Paper tape reader on the Harwell computer with a small piece of five-hole tape connected in a circle – creating a physical program loop ...
and
punched card A punched card (also punch card or punched-card) is a piece of stiff paper that holds digital data represented by the presence or absence of holes in predefined positions. Punched cards were once common in data processing applications or to di ...
s. Non-volatile memory technologies under development include
ferroelectric RAM Ferroelectric RAM (FeRAM, F-RAM or FRAM) is a random-access memory Random-access memory (RAM; ) is a form of computer memory that can be read and changed in any order, typically used to store working Data (computing), data and machine ...
, programmable metallization cell, Spin-transfer torque magnetic RAM,
SONOS SONOS, short for "silicon–oxide–nitride–oxide–silicon", more precisely, " polycrystalline silicon"—" silicon dioxide"—" silicon nitride"—"silicon dioxide"—" silicon", is a cross sectional structure of MOSFET (metal-oxide-semico ...
, resistive random-access memory,
racetrack memory Racetrack memory or domain-wall memory (DWM) is an experimental non-volatile memory device under development at IBM's Almaden Research Center by a team led by physicist Stuart Parkin. In early 2008, a 3-bit version was successfully demonstrated. I ...
, Nano-RAM,
3D XPoint 3-D, 3D, or 3d may refer to: Science, technology, and mathematics Relating to three-dimensionality * Three-dimensional space ** 3D computer graphics, computer graphics that use a three-dimensional representation of geometric data ** 3D film, ...
, and
millipede memory Millipede memory is a form of non-volatile computer memory. It promised a data density of more than 1 terabit The bit is the most basic Units of information, unit of information in computing and digital communications. The name is a portm ...
.


Semi-volatile memory

A third category of memory is ''semi-volatile''. The term is used to describe a memory that has some limited non-volatile duration after power is removed, but then data is ultimately lost. A typical goal when using a semi-volatile memory is to provide the high performance and durability associated with volatile memories while providing some benefits of non-volatile memory. For example, some non-volatile memory types experience wear when written. A ''worn'' cell has increased volatility but otherwise continues to work. Data locations which are written frequently can thus be directed to use worn circuits. As long as the location is updated within some known retention time, the data stays valid. After a period of time without update, the value is copied to a less-worn circuit with longer retention. Writing first to the worn area allows a high write rate while avoiding wear on the not-worn circuits. As a second example, an STT-RAM can be made non-volatile by building large cells, but doing so raises the cost per bit and power requirements and reduces the write speed. Using small cells improves cost, power, and speed, but leads to semi-volatile behavior. In some applications, the increased volatility can be managed to provide many benefits of a non-volatile memory, for example by removing power but forcing a wake-up before data is lost; or by caching read-only data and discarding the cached data if the power-off time exceeds the non-volatile threshold. The term semi-volatile is also used to describe semi-volatile behavior constructed from other memory types. For example, a volatile and a non-volatile memory may be combined, where an external signal copies data from the volatile memory to the non-volatile memory, but if power is removed before the copy occurs, the data is lost. Or, a battery-backed volatile memory, and if external power is lost there is some known period where the battery can continue to power the volatile memory, but if power is off for an extended time, the battery runs down and data is lost.


Management

Proper management of memory is vital for a computer system to operate properly. Modern
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
s have complex systems to properly manage memory. Failure to do so can lead to bugs, slow performance, or takeover by
viruses A virus is a wikt:submicroscopic, submicroscopic infectious agent that replicates only inside the living Cell (biology), cells of an organism. Viruses infect all life forms, from animals and plants to microorganisms, including bacteria and ...
and malicious software.


Bugs

Improper management of memory is a common cause of bugs, including the following types: * A
memory leak In computer science Computer science is the study of computation, automation, and information. Computer science spans theoretical disciplines (such as algorithms, theory of computation, information theory, and automation) to Applied scie ...
occurs when a program requests memory from the operating system and never returns the memory when it's done with it. A program with this bug will gradually require more and more memory until the program fails as the operating system runs out. * A
segmentation fault In computing, a segmentation fault (often shortened to segfault) or access violation is a Fault (computing), fault, or failure condition, raised by hardware with memory protection, notifying an operating system (OS) the software has attempted to ...
results when a program tries to access memory that it does not have permission to access. Generally, a program doing so will be terminated by the operating system. * A
buffer overflow In information security and computer programming, programming, a buffer overflow, or buffer overrun, is an anomaly in software, anomaly whereby a computer program, program, while writing Data (computing), data to a Data buffer, buffer, overruns th ...
occurs when a program writes data to the end of its allocated space and then continues to write data beyond this to memory that has been allocated for other purposes. This may result in erratic program behavior, including memory access errors, incorrect results, a crash, or a breach of system security. They are thus the basis of many software vulnerabilities and can be maliciously exploited.


Early computer systems

In early computer systems, programs typically specified the location to write memory and what data to put there. This location was a physical location on the actual memory hardware. Early computers did not have the complex memory management systems used today. This approach has its pitfalls. If the location specified is incorrect, this will cause the computer to write the data to some other part of the program. The results of an error like this are unpredictable. In some cases, the error might overwrite memory used by the operating system.
Hacker A hacker is a person skilled in information technology who uses their technical knowledge to achieve a goal or overcome an obstacle, within a computerized system by non-standard means. Though the term ''hacker'' has become associated in popu ...
s can take advantage of this lack of protection to create viruses and malware.


Virtual memory

Virtual memory is a system where
physical memory Computer data storage is a technology consisting of computer A computer is a machine that can be programmed to carry out sequences of arithmetic or logical operations (computation) automatically. Modern digital electronic computer ...
is managed by the operating system typically with assistance from a
memory management unit A memory management unit (MMU), sometimes called paged memory management unit (PMMU), is a computer hardware unit having all computer memory, memory references passed through itself, primarily performing the translation of virtual address, virtua ...
. It allows multiple types of memory to be used. For example, some data can be stored in RAM while other data is stored on a
hard drive A hard disk drive (HDD), hard disk, hard drive, or fixed disk is an electro-mechanical data storage device that stores and retrieves digital data using magnetic storage with one or more rigid rapidly rotating hard disk platter, platters ...
(e.g. in a swapfile), functioning as an extension of the
cache hierarchy Cache hierarchy, or multi-level caches, refers to a memory architecture that uses a hierarchy of memory stores based on varying access speeds to cache data. Highly requested data is cached in high-speed access memory stores, allowing swifter access ...
. This offers several advantages. Computer programmers no longer need to worry about where their data is physically stored or whether the user's computer will have enough memory. The operating system will place actively used data in RAM, which is much faster than hard disks. When the amount of RAM is not sufficient to run all the current programs, it can result in a situation where the computer spends more time moving data from RAM to disk and back than it does accomplishing tasks; this is known as thrashing.


Protected memory

Protected memory is a system where each program is given an area of memory to use and is prevented from going outside that range. If the operating system detects that a program has tried to alter memory that does not belong to it, the program is terminated (or otherwise restricted or redirected). This way, only the offending program crashes, and other programs are not affected by the misbehavior (whether accidental or intentional). Use of protected memory greatly enhances both the reliability and security of a computer system. Without protected memory, it is possible that a bug in one program will alter the memory used by another program. This will cause that other program to run off of corrupted memory with unpredictable results. If the operating system's memory is corrupted, the entire computer system may crash and need to be rebooted. At times programs intentionally alter the memory used by other programs. This is done by viruses and malware to take over computers. It may also be used benignly by desirable programs which are intended to modify other programs,
debugger A debugger or debugging tool is a computer program used to software testing, test and debugging, debug other programs (the "target" program). The main use of a debugger is to run the target program under controlled conditions that permit the pr ...
s, for example, to insert breakpoints or hooks.


See also

*
Memory geometry In the design of modern computers, memory geometry describes the internal structure of random-access memory. Memory geometry is of concern to consumers upgrading their computers, since older memory controllers may not be compatible with later prod ...
*
Memory hierarchy In computer architecture, the memory hierarchy separates computer storage into a hierarchy based on response time. Since response time, complexity, and capacity are related, the levels may also be distinguished by their performance and controlli ...
* Memory organization *
Processor register A processor register is a quickly accessible location available to a computer's Processor (computing), processor. Registers usually consist of a small amount of fast Computer storage, storage, although some registers have specific hardware functi ...
s store data but normally are not considered as memory, since they only store one word and do not include an addressing mechanism. *
Semiconductor memory Semiconductor memory is a digital electronics, digital electronic semiconductor device used for digital data storage, such as computer memory. It typically refers to devices in which data is stored within metal–oxide–semiconductor (MOS) memo ...
*
Units of information In computing and telecommunications, a unit of information is the capacity of some standard data storage system or communication channel, used to measure the capacities of other systems and channels. In information theory, units of information ar ...


Notes


References


Further reading

* * {{Benchmark MOSFETs Digital electronics