2

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

Computer memory

Computer memory stores information, such as data and programs,


for immediate use in the computer.[2] The term memory is often
synonymous with the terms RAM, main memory, or primary
storage. Archaic synonyms for main memory include core (for
magnetic core memory) and store.[3]
DDR4 SDRAM module. As of 2021,
over 90 percent of computer memory
Main memory operates at a high speed compared to mass storage
used in PCs and servers was of this
which is slower but less expensive per bit and higher in capacity.
type.[1]
Besides storing opened programs and data being actively processed,
computer memory serves as a mass storage 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.[4] 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.

Modern computer memory is implemented as semiconductor memory,[5][6] where data is stored within
memory cells built from MOS transistors and other components on an integrated circuit.[7] There are two
main kinds of semiconductor memory: volatile and non-volatile. Examples of non-volatile memory are flash
memory and ROM, PROM, EPROM, and EEPROM memory. Examples of volatile memory are dynamic
random-access memory (DRAM) used for primary storage and static random-access memory (SRAM) used
mainly for CPU cache.

Most semiconductor memory is organized into memory cells each storing one bit (0 or 1). Flash memory
organization includes both one bit per memory cell and a multi-level cell capable of storing multiple bits per
cell. The memory cells are grouped into words of fixed word length, 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 2N 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,
the ENIAC, using thousands of vacuum tubes, 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, developed by J. Presper Eckert in the Historical lowest retail price of
early 1940s. Through the construction of a glass tube filled with computer memory and storage
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 transducers 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 and Selectron
tube, originated in 1946, both using electron beams in glass tubes as
means of storage. Using cathode-ray tubes, 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 was less expensive. The
Williams tube was nevertheless frustratingly sensitive to
environmental disturbances. Electromechanical memory used in
the IBM 602, an early punch
Efforts began in the late 1940s to find non-volatile memory. multiplying calculator
Magnetic-core memory 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 and Jan A. Rajchman in
the early 1950s, before being commercialized with the Whirlwind I
computer in 1953.[8] Magnetic-core memory was the dominant
form of memory until the development of MOS semiconductor
memory in the 1960s.[9]

The first semiconductor memory was implemented as a flip-flop


circuit in the early 1960s using bipolar transistors.[9] Semiconductor
memory made from discrete devices was first shipped by Texas
Instruments to the United States Air Force in 1961. The same year,
Detail of the back of a section of
the concept of solid-state memory on an integrated circuit (IC) chip ENIAC, showing vacuum tubes
was proposed by applications engineer Bob Norman at Fairchild
Semiconductor.[10] The first bipolar semiconductor memory IC chip
was the SP95 introduced by IBM in 1965.[9] 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.[9][11]

MOS memory
The invention of the metal–oxide–semiconductor field-effect transistor
(MOSFET) enabled the practical use of metal–oxide–semiconductor
(MOS) transistors as memory cell storage elements. MOS memory was
developed by John Schmidt at Fairchild Semiconductor in 1964.[12] In
addition to higher performance, MOS semiconductor memory was cheaper
and consumed less power than magnetic core memory.[13] In 1965, J. Williams tube used as
Wood and R. Ball of the Royal Radar Establishment proposed digital memory in the IAS
storage systems that use CMOS (complementary MOS) memory cells, in computer c. 1951

addition to MOSFET power devices for the power supply, switched cross-
coupling, switches and delay-line storage.[14] The development of silicon-
gate MOS integrated circuit (MOS IC) technology by Federico Faggin at Fairchild in 1968 enabled the
production of MOS memory chips.[15] NMOS memory was commercialized by IBM in the early 1970s.[16]
MOS memory overtook magnetic core memory as the dominant memory technology in the early 1970s.[13]
The two main types of volatile random-access memory (RAM) are
static random-access memory (SRAM) and dynamic random-access
memory (DRAM). Bipolar SRAM was invented by Robert
Norman at Fairchild Semiconductor in 1963,[9] followed by the
development of MOS SRAM by John Schmidt at Fairchild in
1964.[13] SRAM became an alternative to magnetic-core memory,
but requires six transistors for each bit of data.[17] Commercial use
of SRAM began in 1965, when IBM introduced their SP95 SRAM
chip for the System/360 Model 95.[9] 8 GB microSDHC card on top of
8 bytes of magnetic-core memory
Toshiba introduced bipolar DRAM memory cells for its Toscal BC- (1 core is 1 bit.)
1411 electronic calculator in 1965.[18][19] While it offered improved
performance, bipolar DRAM could not compete with the lower
price of the then dominant magnetic-core memory.[20] 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, 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.[17] In 1967, Dennard filed a patent for a single-transistor DRAM memory
cell based on MOS technology.[21] This led to the first commercial DRAM IC chip, the Intel 1103 in
October 1970.[22][23][24] Synchronous dynamic random-access memory (SDRAM) later debuted with the
Samsung KM48SL2000 chip in 1992.[25][26]

The term memory is also often used to refer to non-volatile memory including read-only memory (ROM)
through modern flash memory. Programmable read-only memory (PROM) was invented by Wen Tsing
Chow in 1956, while working for the Arma Division of the American Bosch Arma Corporation.[27][28] In
1967, Dawon Kahng and Simon Sze of Bell Labs proposed that the floating gate of a MOS semiconductor
device could be used for the cell of a reprogrammable ROM, which led to Dov Frohman of Intel inventing
EPROM (erasable PROM) in 1971.[29] EEPROM (electrically erasable PROM) was developed by Yasuo
Tarui, Yutaka Hayashi and Kiyoko Naga at the Electrotechnical Laboratory in 1972.[30] Flash memory was
invented by Fujio Masuoka at Toshiba in the early 1980s.[31][32] Masuoka and colleagues presented the
invention of NOR flash in 1984,[33] and then NAND flash in 1987.[34] Toshiba commercialized NAND
flash memory in 1987.[35][36][37]

Developments in technology and economies of scale have made possible so-called very large memory
(VLM) computers.[37]

Volatile memory
Volatile memory is computer memory that requires power to maintain the stored information. Most modern
semiconductor volatile memory is either static RAM (SRAM) or dynamic RAM (DRAM).[a] DRAM
dominates for desktop system memory. SRAM is used for CPU cache. SRAM is also found in small
embedded systems requiring little memory.

SRAM retains its contents as long as the power is connected and may use a simpler interface, but
commonly uses 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.[2][23][37]

Non-volatile memory
Non-volatile memory can retain the stored information even when
not powered. Examples of non-volatile memory include read-only
memory, flash memory, most types of magnetic computer storage
Various memory modules containing
devices (e.g. hard disk drives, floppy disks and magnetic tape),
different types of DRAM (from top to
optical discs, and early computer storage methods such as magnetic bottom): DDR SDRAM, SDRAM,
drum, paper tape and punched cards.[37] EDO DRAM, and FPM DRAM

Non-volatile memory technologies under development include


ferroelectric RAM, programmable metallization cell, Spin-transfer torque magnetic RAM, SONOS,
resistive random-access memory, racetrack memory, Nano-RAM, 3D XPoint, and millipede memory.

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.[38]

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.[39]

The term semi-volatile is also used to describe semi-volatile behavior constructed from other memory types,
such as nvSRAM, which combines SRAM and a non-volatile memory on the same chip, 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. Another example is battery-backed RAM, which uses an external battery to
power the memory device in case of external power loss. If power is off for an extended period of time, the
battery may run out, resulting in data loss.[37]

Management
Proper management of memory is vital for a computer system to operate properly. Modern operating
systems have complex systems to properly manage memory. Failure to do so can lead to bugs or slow
performance.

Bugs
Improper management of memory is a common cause of bugs and security vulnerabilities, including the
following types:

A memory leak occurs when a program requests memory from the operating system and
never returns the memory when it is 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 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 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.

Virtual memory
Virtual memory is a system where physical memory is managed by the operating system typically with
assistance from a memory management unit, which is part of many modern CPUs. 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 (e.g. in a swapfile), functioning as an extension of the cache hierarchy. 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, debuggers, for example, to insert breakpoints or hooks.

See also
Memory geometry
Memory hierarchy
Memory organization
Processor registers store data but normally are not considered as memory, since they only
store one word and do not include an addressing mechanism.

Notes
a. Other volatile memory technologies that have attempted to compete or replace SRAM and
DRAM include Z-RAM and A-RAM.

References
1. Read, Jennifer (5 November 2020). "DDR5 Era To Officially Begin In 2021, With DRAM
Market Currently Transitioning Between Generations, Says TrendForce" (https://www.emsno
w.com/ddr5-era-to-officially-begin-in-2021-with-dram-market-currently-transitioning-between-
generations-says-trendforce/). EMSNow. Retrieved 2 November 2022.
2. Hemmendinger, David (February 15, 2016). "Computer memory" (https://www.britannica.co
m/technology/computer-memory). Encyclopedia Britannica. Retrieved 16 October 2019.
3. A.M. Turing and R.A. Brooker (1952). Programmer's Handbook for Manchester Electronic
Computer Mark II (http://www.alanturing.net/turing_archive/archive/m/m01/M01-005.html)
Archived (https://web.archive.org/web/20140102231704/http://www.alanturing.net/turing_arc
hive/archive/m/m01/M01-005.html) 2014-01-02 at the Wayback Machine. University of
Manchester.
4. "Documentation for /proc/sys/vm/" (https://www.kernel.org/doc/html/latest/admin-guide/sysctl/
vm.html).
5. "The MOS Memory Market" (http://smithsonianchips.si.edu/ice/cd/MEMORY97/SEC01.PDF)
(PDF). Integrated Circuit Engineering Corporation. Smithsonian Institution. 1997. Archived (h
ttps://web.archive.org/web/20030725103322/http://smithsonianchips.si.edu/ice/cd/MEMORY
97/SEC01.PDF) (PDF) from the original on 2003-07-25. Retrieved 16 October 2019.
6. "MOS Memory Market Trends" (http://smithsonianchips.si.edu/ice/cd/STATUS98/SEC07.PD
F) (PDF). Integrated Circuit Engineering Corporation. Smithsonian Institution. 1998. Archived
(https://web.archive.org/web/20191016225542/http://smithsonianchips.si.edu/ice/cd/STATU
S98/SEC07.PDF) (PDF) from the original on 2019-10-16. Retrieved 16 October 2019.
7. "1960 - Metal Oxide Semiconductor (MOS) Transistor Demonstrated" (https://www.computer
history.org/siliconengine/metal-oxide-semiconductor-mos-transistor-demonstrated/). The
Silicon Engine. Computer History Museum.
8. "1953: Whirlwind computer debuts core memory" (https://www.computerhistory.org/storageen
gine/whirlwind-computer-debuts-core-memory/). Computer History Museum. Retrieved
2 August 2019.
9. "1966: Semiconductor RAMs Serve High-speed Storage Needs" (https://www.computerhisto
ry.org/siliconengine/semiconductor-rams-serve-high-speed-storage-needs/). Computer
History Museum. Retrieved 19 June 2019.
10. "1953: Transistors make fast memories | The Storage Engine | Computer History Museum"
(https://www.computerhistory.org/storageengine/transistors-make-fast-memories/).
www.computerhistory.org. Retrieved 2019-11-14.
11. Orton, John W. (2009). Semiconductors and the Information Revolution: Magic Crystals that
made IT Happen (https://books.google.com/books?id=6YLL9197NfMC&pg=PA104).
Academic Press. p. 104. ISBN 978-0-08-096390-7.
12. Solid State Design - Vol. 6 (https://books.google.com/books?id=kG4rAQAAIAAJ&q=John+S
chmidt). Horizon House. 1965.
13. "1970: MOS Dynamic RAM Competes with Magnetic Core Memory on Price" (https://www.co
mputerhistory.org/siliconengine/mos-dynamic-ram-competes-with-magnetic-core-memory-on
-price/). Computer History Museum. Retrieved 29 July 2019.
14. Wood, J.; Ball, R. (February 1965). "The use of insulated-gate field-effect transistors in digital
storage systems". 1965 IEEE International Solid-State Circuits Conference. Digest of
Technical Papers. 1965 IEEE International Solid-State Circuits Conference. Digest of
Technical Papers. Vol. VIII. pp. 82–83. doi:10.1109/ISSCC.1965.1157606 (https://doi.org/10.
1109%2FISSCC.1965.1157606).
15. "1968: Silicon Gate Technology Developed for ICs" (https://www.computerhistory.org/silicone
ngine/silicon-gate-technology-developed-for-ics/). Computer History Museum. Retrieved
10 August 2019.
16. Critchlow, D. L. (2007). "Recollections on MOSFET Scaling". IEEE Solid-State Circuits
Society Newsletter. 12 (1): 19–22. doi:10.1109/N-SSC.2007.4785536 (https://doi.org/10.110
9%2FN-SSC.2007.4785536).
17. "DRAM" (https://www.ibm.com/ibm/history/ibm100/us/en/icons/dram/). IBM100. IBM. 9
August 2017. Retrieved 20 September 2019.
18. "Spec Sheet for Toshiba "TOSCAL" BC-1411" (http://www.oldcalculatormuseum.com/s-tosh
bc1411.html). Old Calculator Web Museum. Archived (https://web.archive.org/web/20170703
071307/http://www.oldcalculatormuseum.com/s-toshbc1411.html) from the original on 3 July
2017. Retrieved 8 May 2018.
19. "Toshiba "Toscal" BC-1411 Desktop Calculator" (https://web.archive.org/web/200705202024
33/http://www.oldcalculatormuseum.com/toshbc1411.html). Archived from the original (http://
www.oldcalculatormuseum.com/toshbc1411.html) on 2007-05-20.
20. "1966: Semiconductor RAMs Serve High-speed Storage Needs" (https://www.computerhisto
ry.org/siliconengine/semiconductor-rams-serve-high-speed-storage-needs/). Computer
History Museum.
21. "Robert Dennard" (https://www.britannica.com/biography/Robert-Dennard). Encyclopedia
Britannica. Retrieved 8 July 2019.
22. "Intel: 35 Years of Innovation (1968–2003)" (https://web.archive.org/web/20211104070452/ht
tps://www.intel.com/Assets/PDF/General/35yrs.pdf) (PDF). Intel. 2003. Archived from the
original (https://www.intel.com/Assets/PDF/General/35yrs.pdf) (PDF) on 4 November 2021.
Retrieved 26 June 2019.
23. The DRAM memory of Robert Dennard (http://history-computer.com/ModernComputer/Basis/
dram.html) history-computer.com
24. Lojek, Bo (2007). History of Semiconductor Engineering (https://books.google.com/books?id
=2cu1Oh_COv8C&pg=PA362). Springer Science & Business Media. pp. 362–363.
ISBN 9783540342588. "The i1103 was manufactured on a 6-mask silicon-gate P-MOS
process with 8 μm minimum features. The resulting product had a 2,400 µm, 2 memory cell
size, a die size just under 10 mm², and sold for around $21."
25. "KM48SL2000-7 Datasheet" (https://www.datasheetarchive.com/KM48SL2000-7-datasheet.
html). Samsung. August 1992. Retrieved 19 June 2019.
26. "Electronic Design" (https://books.google.com/books?id=QmpJAQAAIAAJ). Electronic
Design. 41 (15–21). Hayden Publishing Company. 1993. "The first commercial synchronous
DRAM, the Samsung 16-Mbit KM48SL2000, employs a single-bank architecture that lets
system designers easily transition from asynchronous to synchronous systems."
27. Han-Way Huang (5 December 2008). Embedded System Design with C805 (https://books.go
ogle.com/books?id=3zRtCgAAQBAJ&pg=PA22). Cengage Learning. p. 22. ISBN 978-1-
111-81079-5. Archived (https://web.archive.org/web/20180427092847/https://books.google.c
om/books?id=3zRtCgAAQBAJ&pg=PA22) from the original on 27 April 2018.
28. Marie-Aude Aufaure; Esteban Zimányi (17 January 2013). Business Intelligence: Second
European Summer School, eBISS 2012, Brussels, Belgium, July 15-21, 2012, Tutorial
Lectures (https://books.google.com/books?id=7iK5BQAAQBAJ&pg=PA136). Springer.
p. 136. ISBN 978-3-642-36318-4. Archived (https://web.archive.org/web/20180427092847/ht
tps://books.google.com/books?id=7iK5BQAAQBAJ&pg=PA136) from the original on 27 April
2018.
29. "1971: Reusable semiconductor ROM introduced" (https://www.computerhistory.org/storagee
ngine/reusable-semiconductor-rom-introduced/). Computer History Museum. Retrieved
19 June 2019.
30. Tarui, Y.; Hayashi, Y.; Nagai, K. (1972). "Electrically reprogrammable nonvolatile
semiconductor memory". IEEE Journal of Solid-State Circuits. 7 (5): 369–375.
Bibcode:1972IJSSC...7..369T (https://ui.adsabs.harvard.edu/abs/1972IJSSC...7..369T).
doi:10.1109/JSSC.1972.1052895 (https://doi.org/10.1109%2FJSSC.1972.1052895).
ISSN 0018-9200 (https://www.worldcat.org/issn/0018-9200).
31. Fulford, Benjamin (24 June 2002). "Unsung hero" (https://www.forbes.com/global/2002/0624/
030.html). Forbes. Archived (https://web.archive.org/web/20080303205125/http://www.forbe
s.com/global/2002/0624/030.html) from the original on 3 March 2008. Retrieved 18 March
2008.
32. US 4531203 (https://worldwide.espacenet.com/textdoc?DB=EPODOC&IDX=US4531203)
Fujio Masuoka
33. "Toshiba: Inventor of Flash Memory" (http://www.flash25.toshiba.com). Toshiba. Retrieved
20 June 2019.
34. Masuoka, F.; Momodomi, M.; Iwata, Y.; Shirota, R. (1987). "1987 International Electron
Devices Meeting". Electron Devices Meeting, 1987 International. IEDM 1987. IEEE.
pp. 552–555. doi:10.1109/IEDM.1987.191485 (https://doi.org/10.1109%2FIEDM.1987.19148
5).
35. "1987: Toshiba Launches NAND Flash" (https://www.eweek.com/storage/1987-toshiba-laun
ches-nand-flash). eWeek. April 11, 2012. Retrieved 20 June 2019.
36. "1971: Reusable semiconductor ROM introduced" (https://www.computerhistory.org/storagee
ngine/reusable-semiconductor-rom-introduced/). Computer History Museum. Retrieved
19 June 2019.
37. Stanek, William R. (2009). Windows Server 2008 Inside Out (https://books.google.com/book
s?id=SbxixF4iAEcC). O'Reilly Media, Inc. p. 1520. ISBN 978-0-7356-3806-8. Archived (http
s://web.archive.org/web/20130127064935/http://books.google.com/books?id=SbxixF4iAEc
C) from the original on 2013-01-27. Retrieved 2012-08-20. "[...] Windows Server Enterprise
supports clustering with up to eight-node clusters and very large memory (VLM)
configurations of up to 32 GB on 32-bit systems and 2 TB on 64-bit systems."
38. Montierth, Briggs, Keithley. "Semi-volatile NAND flash memory" (https://patents.google.com/
patent/US7710777B1/). Retrieved 20 May 2018.
39. Keppel, Naeimi, Nasrullah. "Method and apparatus for managing a spin-transfer torque
memory" (https://patents.google.com/patent/US9342403B2/). Google Patents. Retrieved
20 May 2018.
Further reading
Miller, Stephen W. (1977), Memory and Storage Technology, Montvale.: AFIPS Press
Memory and Storage Technology, Alexandria, Virginia.: Time Life Books, 1988

Retrieved from "https://en.wikipedia.org/w/index.php?title=Computer_memory&oldid=1225708170"

You might also like