Content deleted Content added
Citation bot (talk | contribs) Added publisher. | Use this bot. Report bugs. | Suggested by Daisytheduck | #UCB_webform |
No edit summary |
||
(34 intermediate revisions by 17 users not shown) | |||
Line 1:
{{short description|Form of computer data storage}}
{{Redirect|RAM|other uses|
{{Distinguish|Random Access Memories|Random-access machine}}
{{use dmy dates|date=August 2025}}
{{pp-protected|small=yes}}
[[File:Swissbit 2GB PC2-5300U-555.jpg|right|thumb|Example of [[read/write memory|writable]] [[volatile memory|volatile]] random-access memory: Synchronous [[
{{Memory types}}
[[File:Electronic Memory.jpg|thumb| A 64 bit memory chip die, the SP95 Phase 2
[[File:Random Access Memory HyperX.jpg|thumb|8GB [[DDR3]]
▲[[File:Swissbit 2GB PC2-5300U-555.jpg|right|thumb|Example of [[read/write memory|writable]] [[volatile memory|volatile]] random-access memory: Synchronous [[Dynamic RAM]] [[DIMM|modules]], primarily used as main memory in [[personal computers]], [[workstation]]s, and [[Server (computing)|server]]s.]]
▲[[File:Random Access Memory HyperX.jpg|thumb|8GB [[DDR3]] [[RAM]] stick with a white [[heatsink]]]]
'''Random-access memory''' ('''RAM'''; {{IPAc-en|r|æ|m}}) is a form of [[Computer memory|electronic computer memory]] that can be read and changed in any order, typically used to store working [[Data (computing)|data]] and [[machine code]].<ref>{{cite web |title=RAM |url=https://dictionary.cambridge.org/dictionary/english/ram |website=[[Cambridge English Dictionary]] |access-date=11 July 2019}}</ref><ref>{{cite web |title=RAM |url=https://www.oxfordlearnersdictionaries.com/definition/american_english/ram_2 |website=[[Oxford Advanced Learner's Dictionary]] |access-date=11 July 2019}}</ref> A [[random
In
Non-volatile RAM has also been developed<ref>{{cite magazine|last=Gallagher|first=Sean|title=Memory that never forgets: non-volatile DIMMs hit the market|url=https://arstechnica.com/information-technology/2013/04/memory-that-never-forgets-non-volatile-dimms-hit-the-market/|magazine=[[Ars Technica]]|url-status=live|archive-url=https://web.archive.org/web/20170708073138/https://arstechnica.com/information-technology/2013/04/memory-that-never-forgets-non-volatile-dimms-hit-the-market/|archive-date=July 8, 2017|date=April 4, 2013}}</ref> and other types of [[Non-volatile memory|non-volatile memories]] allow random access for read operations, but either do not allow write operations or have other kinds of limitations. These include most types of [[ROM]] and [[NOR flash memory]].
Line 20 ⟶ 21:
[[File:Early SSA accounting operations.jpg|thumb|These IBM [[tabulating machine]]s from the mid-1930s used [[mechanical counter]]s to store information.]]
Early computers used [[relay]]s, [[mechanical counter]]s<ref>{{cite web|url=http://www-03.ibm.com/ibm/history/reference/faq_0000000011.html|title=IBM Archives -- FAQ's for Products and Services|work=ibm.com|url-status=dead|archive-url=https://web.archive.org/web/20121023184527/http://www-03.ibm.com/ibm/history/reference/faq_0000000011.html|archive-date=2012-10-23}}</ref> or [[Delay-line memory|delay lines]] for main memory functions. Ultrasonic delay lines were [[bit-serial architecture|serial devices]] which could only reproduce data in the order it was written. [[Drum memory]] could be expanded at relatively low cost but efficient retrieval of memory items requires knowledge of the physical layout of the drum to optimize speed. Latches built out of [[triode vacuum tube]]s, and later, out of [[discrete transistor]]s, were used for smaller and faster memories such as [[Hardware register|registers]]. Such registers were relatively large and too costly to use for large amounts of data; generally, only a few dozen or few hundred
The first practical form of random-access memory was the [[Williams tube]]. It stored data as electrically charged spots on the face of a [[cathode-ray tube]]. Since the electron beam of the CRT could read and write the spots on the tube in any order, memory was random access. The capacity of the Williams tube was a few hundred to around a thousand bits, but it was much smaller, faster, and more power-efficient than using individual vacuum tube latches. Developed at the [[Victoria University of Manchester|University of Manchester]] in England, the Williams tube provided the medium on which the first electronically stored program was implemented in the [[Manchester Baby]] computer, which first successfully ran a program on 21 June, 1948.<ref>{{Citation | last = Napper | first = Brian | title = Computer 50: The University of Manchester Celebrates the Birth of the Modern Computer | url = http://www.computer50.org/ | access-date = 26 May 2012 | url-status = dead | archive-url = https://web.archive.org/web/20120504133240/http://www.computer50.org/ | archive-date = 4 May 2012 }}</ref> In fact, rather than the Williams tube memory being designed for the Baby, the Baby was a [[testbed]] to demonstrate the reliability of the memory.<ref>{{Citation |last1=Williams |first1=F. C. |last2=Kilburn |first2=T. |title=Electronic Digital Computers |journal=Nature |volume=162 |pages=487 |date=Sep 1948 |doi=10.1038/162487a0 |issue=4117 |postscript=. |bibcode=1948Natur.162..487W |s2cid=4110351|doi-access=free }} Reprinted in ''The Origins of Digital Computers''.</ref><ref>{{Citation |last1=Williams |first1=F. C. |last2=Kilburn |first2=T. |last3=Tootill |first3=G. C. |title=Universal High-Speed Digital Computers: A Small-Scale Experimental Machine |url=http://www.computer50.org/kgill/mark1/ssem.html |journal=Proc. IEE |date=Feb 1951 |volume=98 |issue=61 |pages=13–28 |postscript=. |doi=10.1049/pi-2.1951.0004 |url-status=dead |archive-url=https://web.archive.org/web/20131117101730/http://www.computer50.org/kgill/mark1/ssem.html |archive-date=2013-11-17|url-access=subscription }}</ref>
[[Magnetic-core memory]] was invented in 1947 and developed up until the mid-1970s. It became a widespread form of random-access memory, relying on an array of magnetized rings. By changing the sense of each ring's magnetization, data could be stored with one bit stored per ring. Since every ring had a combination of address wires to select and read or write it, access to any memory ___location in any sequence was possible. Magnetic core memory was the standard form of [[computer memory]] until displaced by [[semiconductor memory]] in [[integrated circuit]]s (ICs) during the early 1970s.<ref name="computerhistory1970"/>
Line 28 ⟶ 29:
Prior to the development of integrated [[read-only memory]] (ROM) circuits, ''permanent'' (or ''read-only'') random-access memory was often constructed using [[Diode matrix|diode matrices]] driven by [[address decoder]]s, or specially wound [[core rope memory]] planes.{{Citation needed|date=December 2016}}
[[Semiconductor memory]] appeared in the 1960s with bipolar memory, which used [[bipolar transistor]]s. Although it was faster, it could not compete with the lower price of magnetic core memory.<ref name="computerhistory1966"/
===MOS RAM===
In 1957, Frosch and Derick
Integrated bipolar [[static random-access memory]] (SRAM) was invented by Robert H. Norman at [[Fairchild Semiconductor]] in 1963.<ref>{{cite patent
Line 45 ⟶ 44:
| inventor = Robert H. Norman
| invent1 = Fairchild Camera and Instrument Corporation
}}</ref> It was followed by the development of MOS SRAM by John Schmidt at Fairchild in 1964.<ref name="computerhistory1970"/> SRAM became an alternative to magnetic-core memory, but required six MOS transistors for each
[[Dynamic random-access memory]] (DRAM) allowed replacement of a 4 or 6-transistor latch circuit by a single transistor for each memory bit, greatly increasing memory density at the cost of volatility. Data was stored in the tiny capacitance of each transistor
[[Toshiba]]'s Toscal BC-1411 [[electronic calculator]], which was introduced in 1965,<ref>[http://collection.sciencemuseum.org.uk/objects/co8406093/toscal-bc-1411-calculator-with-electronic-calculator Toscal BC-1411 calculator]. {{webarchive|url=https://web.archive.org/web/20170729145228/http://collection.sciencemuseum.org.uk/objects/co8406093/toscal-bc-1411-calculator-with-electronic-calculator |date=2017-07-29
[[File:Bundesarchiv Bild 183-1989-0406-022, VEB Carl Zeiss Jena, 1-Megabit-Chip.jpg|thumb|right|CMOS 1-[[megabit]] (Mbit) DRAM chip, one of the last models developed by [[VEB Carl Zeiss Jena]], in 1989]]
In 1966,
The earliest DRAMs were often synchronized with the CPU clock
==Types==
In general, the term ''RAM'' refers solely to solid-state memory devices, and more specifically the main memory in most computers. The two widely used forms of modern RAM are [[static RAM]] (SRAM) and [[dynamic RAM]] (DRAM). In SRAM, a
Both static and dynamic RAM are considered ''volatile'', as their state is lost
[[ECC memory]] (which can be either SRAM or DRAM) includes special circuitry to detect and/or correct random faults (memory errors) in the stored data, using [[parity bit]]s or [[Error detection and correction#Error-correcting code|error correction codes]].
==Memory cell==
{{main|Memory cell (computing)}}
The memory cell is the fundamental building block of [[computer memory]]. The memory cell is an [[electronic circuit]] that stores one
In SRAM, the memory cell is a type of [[flip-flop (electronics)|flip-flop]] circuit, usually implemented using [[FET]]s. This means that SRAM requires very low power when not being accessed, but it is complex, expensive and has low storage density.
A second type, DRAM, is based around a capacitor. Charging and discharging this capacitor can store a
{| style="text-align:center; margin: 1em auto 1em auto"
|[[File:SRAM Cell (6 Transistors).svg|thumb|class=skin-invert-image|SRAM
|}<!--[[User:Kvng/RTH]]-->
|}▼
==Addressing==
To be useful, memory cells must be readable and writable. Within the RAM device, multiplexing and demultiplexing circuitry is used to select memory cells. Typically, a RAM device has a set of address lines <math>A_0, A_1,...A_n</math>, and for each combination of bits that may be applied to these lines, a set of memory cells are activated. Due to this addressing, RAM devices virtually always have a memory capacity that is a power of two.
Usually several memory cells share the same address. For example, a 4 bit
Often more addresses are needed than can be provided by a device. In that case, external multiplexors to the device are used to activate the correct device that is being accessed. RAM is often byte addressable, although it is also possible to make RAM that is word-addressable.<ref>{{cite book |
==Memory hierarchy==
Line 105 ⟶ 104:
==Memory wall==
The
Another reason for the disparity is the enormous increase in the size of memory since the start of the PC revolution in the 1980s. Originally, PCs contained less than 1 mebibyte of RAM, which often had a response time of 1 CPU clock cycle, meaning that it required 0 wait states. Larger memory units are inherently slower than smaller ones of the same type, simply because it takes longer for signals to traverse a larger circuit. Constructing a memory unit of many gibibytes with a response time of one clock cycle is difficult or impossible.
CPU speed improvements slowed significantly partly due to major physical barriers and partly because
<blockquote>First of all, as chip geometries shrink and clock frequencies rise, the transistor [[leakage current]] increases, leading to excess power consumption and heat... Secondly, the advantages of higher clock speeds are in part negated by memory latency, since memory access times have not been able to keep pace with increasing clock frequencies. Third, for certain applications, traditional serial architectures are becoming less efficient as processors get faster (due to the so-called [[von Neumann bottleneck]]), further undercutting any gains that frequency increases might otherwise buy. In addition, partly due to limitations in the means of producing inductance within solid state devices, [[RC time constant#Delay|resistance-capacitance]] (RC) delays in signal transmission are growing as feature sizes shrink, imposing an additional bottleneck that frequency increases don't address.</blockquote>
Line 117 ⟶ 116:
A different concept is the processor-memory performance gap, which can be addressed by [[Three-dimensional integrated circuit|3D integrated circuits]] that reduce the distance between the logic and memory aspects that are further apart in a 2D chip.<ref>{{cite book |page=790 |url=https://books.google.com/books?id=1PgYS7zDCM8C&q=processor-memory+performance+gap&pg=PA790 |access-date=March 31, 2014 |title=Nanoelectronics and Information Technology |author=Rainer Waser |publisher=John Wiley & Sons |year=2012 |url-status=live |archive-url=https://web.archive.org/web/20160801114150/https://books.google.com/books?id=1PgYS7zDCM8C&pg=PA790&dq=processor-memory+performance+gap&hl=en&sa=X&ei=jeM5U93YAqTr2QWc74A4&ved=0CDYQ6AEwAg#v=onepage&q=processor-memory%20performance%20gap&f=false |archive-date=August 1, 2016 |isbn = 9783527409273|author-link = Rainer Waser}}</ref> Memory subsystem design requires a focus on the gap, which is widening over time.<ref>{{cite book |url=https://books.google.com/books?id=0IY7LW5J4JgC&q=processor-memory+performance+gap&pg=PA109 |page=109 |access-date=March 31, 2014 |title=Advances in Computer Systems Architecture: 11th Asia-Pacific Conference, ACSAC 2006, Shanghai, China, September 6-8, 2006, Proceedings |author=Chris Jesshope and Colin Egan |publisher=Springer |date=2006 |url-status=live |archive-url=https://web.archive.org/web/20160801135254/https://books.google.com/books?id=0IY7LW5J4JgC&pg=PA109&dq=processor-memory+performance+gap&hl=en&sa=X&ei=jeM5U93YAqTr2QWc74A4&ved=0CEkQ6AEwBg#v=onepage&q=processor-memory%20performance%20gap&f=false |archive-date=August 1, 2016 |isbn=9783540400561 }}</ref> The main method of bridging the gap is the use of [[Cache (computing)|caches]]; small amounts of high-speed memory that houses recent operations and instructions nearby the processor, speeding up the execution of those operations or instructions in cases where they are called upon frequently. Multiple levels of caching have been developed to deal with the widening gap, and the performance of high-speed modern computers relies on evolving caching techniques.<ref>{{cite book |url=https://books.google.com/books?id=7i9Z69lrYBoC&q=processor-memory+performance+gap&pg=PA90 |pages=90–91 |access-date=March 31, 2014 |title=Multiprocessor Systems-on-chips |author=Ahmed Amine Jerraya and Wayne Wolf |publisher=Morgan Kaufmann |year=2005 |url-status=live |archive-url=https://web.archive.org/web/20160801105357/https://books.google.com/books?id=7i9Z69lrYBoC&pg=PA90&dq=processor-memory+performance+gap&hl=en&sa=X&ei=jeM5U93YAqTr2QWc74A4&ved=0CFMQ6AEwCA#v=onepage&q=processor-memory%20performance%20gap&f=false |archive-date=August 1, 2016 |isbn=9780123852519 }}</ref> There can be up to a 53% difference between the growth in speed of processor and the lagging speed of main memory access.<ref>{{cite book |url=https://books.google.com/books?id=f0pJYJQMlmoC&q=processor-memory+performance+gap&pg=PA529 |page=529 |access-date=March 31, 2014 |title=Experimental and Efficient Algorithms: Third International Workshop, WEA 2004, Angra Dos Reis, Brazil, May 25-28, 2004, Proceedings, Volume 3 |author=Celso C. Ribeiro and Simone L. Martins |publisher=Springer |year=2004 |url-status=live |archive-url=https://web.archive.org/web/20160801092734/https://books.google.com/books?id=f0pJYJQMlmoC&pg=PA529&dq=processor-memory+performance+gap&hl=en&sa=X&ei=1eM5U7veEaTx2QXM2oDYCw&ved=0CCwQ6AEwADgU#v=onepage&q=processor-memory%20performance%20gap&f=false |archive-date=August 1, 2016 |isbn=9783540220671 }}</ref>
[[Solid-state drive|Solid-state hard drives]] have continued to increase in speed, from ~400 Mbit/s via [[Serial ATA|SATA3]] in 2012 up to ~7 GB/s via [[NVMe]]/[[PCIe]] in 2024, closing the gap between RAM and hard disk speeds, although RAM continues to be an order of magnitude faster, with single-lane [[
==Timeline==
Line 162 ⟶ 161:
|{{?}}
|{{n/a}}
|<ref>{{cite book |title=IBM first in IC memory |url=https://www.computerhistory.org/collections/catalog/102770626 |
|-
|{{?}}
Line 234 ⟶ 233:
|12,000 [[Nanometre|nm]]
|PMOS
|<ref name="Intel-Product-Timeline"/><ref name="shmj-1970s-sram">{{cite web |title=1970s: SRAM evolution |url=http://www.shmj.or.jp/english/pdf/ic/exhibi724E.pdf |website=Semiconductor History Museum of Japan |access-date=27 June 2019}}</ref><ref name="Pimbley">{{cite book |last1=Pimbley |first1=J. |title=Advanced CMOS Process Technology |date=2012 |publisher=[[Elsevier]] |isbn=9780323156806 |page=7 |url=https://books.google.com/books?id=8EUWHSqevQoC&pg=PA7}}</ref><ref>{{Cite web|url=https://www.intel-vintage.info/intelmemory.htm|title=Intel Memory|website=Intel Vintage|access-date=2019-07-06|ref=intel-memory|archive-date=2022-03-19|archive-url=https://web.archive.org/web/20220319073833/https://www.intel-vintage.info/intelmemory.htm|url-status=
|-
|1972
Line 331 ⟶ 330:
|rowspan="2" | {{?}}
|rowspan="2" | CMOS
|rowspan="2" | <ref name="
|-
|64 kbit
Line 346 ⟶ 345:
|2,500 nm
|NMOS
|<ref name="
|-
|{{dts|1981|10}}
Line 366 ⟶ 365:
|[[1.5 μm process|1,500 nm]]
|NMOS (HMOS)
|<ref name="
|-
|{{dts|1983|2}}
Line 386 ⟶ 385:
|1,200 nm
|CMOS
|<ref name="
|-
|1987
Line 396 ⟶ 395:
|{{?}}
|CMOS
|<ref name="
|-
|{{dts|1987|12}}
Line 416 ⟶ 415:
|{{?}}
|rowspan="2" | CMOS
|rowspan="2" | <ref name="
|-
|1992
Line 452 ⟶ 451:
|{{?}}
|CMOS
|<ref name="hynix90s-skhynix.com">{{cite web |title=History: 1990s |url=https://www.skhynix.com/eng/about/history1990.jsp |website=[[SK Hynix]] |access-date=6 July 2019 |archive-date=5 February 2021 |archive-url=https://web.archive.org/web/20210205032928/https://www.skhynix.com/eng/about/history1990.jsp |url-status=dead }}</ref>
|}
Line 526 ⟶ 525:
|PMOS
|10 mm<sup>2</sup>
|<ref name="Intel2003">{{cite web |title=Intel: 35 Years of Innovation (1968–2003) |url=https://www.intel.com/Assets/PDF/General/35yrs.pdf |publisher=Intel |year=2003 |access-date=26 June 2019}}</ref><ref name="HC">[http://history-computer.com/ModernComputer/Basis/dram.html ''The DRAM memory of Robert Dennard''] {{Webarchive|url=https://web.archive.org/web/20200801004808/https://history-computer.com/ModernComputer/Basis/dram.html |date=2020-08-01 }} history-computer.com</ref><ref name="Lojek-1103">{{cite book |last1=Lojek |first1=Bo |title=History of Semiconductor Engineering |date=2007 |publisher=[[Springer Science & Business Media]] |isbn=9783540342588 |pages=362–363 |url=https://books.google.com/books?id=2cu1Oh_COv8C&pg=PA362 |quote=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<sup>2</sup> memory cell size, a die size just under 10 mm<sup>2</sup>, and sold for around $21.}}</ref>
|-
| rowspan="2" |1971
Line 742 ⟶ 741:
|CMOS
|{{?}}
| rowspan="2" |<ref name="
|-
|1993
Line 771 ⟶ 770:
|CMOS
|{{?}}
|rowspan="2" |<ref name="HB19950109">{{usurped|1=[https://web.archive.org/web/20140827092848/http://business.highbeam.com/3591/article-1G1-16482653/breaking-gigabit-barrier-drams-isscc-portend-major ''Breaking the gigabit barrier, DRAMs at ISSCC portend major system-design impact. (dynamic random access memory; International Solid-State Circuits Conference; Hitachi Ltd. and NEC Corp. research and development)'']}}, January 9, 1995</ref><ref name="smithsonian-japan"/>
|-
|Hitachi
Line 796 ⟶ 795:
|CMOS
|{{?}}
|<ref name="
|-
|1998
Line 806 ⟶ 805:
|CMOS
|{{?}}
|<ref name="hynix90s-skhynix.com"/>
|{{sort|2001|February 2001}}▼
|{{?}}▼
|4 Gbit▼
|DRAM▼
|Samsung▼
|[[100 nm]]▼
|CMOS▼
|{{?}}▼
|<ref name="
|-
|{{sort|2001|June 2001}}
Line 817 ⟶ 826:
|{{?}}
|<ref>{{cite news |title=Toshiba's new 32 Mb Pseudo-SRAM is no fake |url=https://www.theengineer.co.uk/toshibas-new-32-mb-pseudo-sram-is-no-fake/ |access-date=29 June 2019 |work=The Engineer |date=24 June 2001 |language=en-UK |archive-date=29 June 2019 |archive-url=https://web.archive.org/web/20190629232051/https://www.theengineer.co.uk/toshibas-new-32-mb-pseudo-sram-is-no-fake/ |url-status=dead }}</ref>
▲|{{sort|2001|February 2001}}
▲|{{?}}
▲|4 Gbit
▲|DRAM
▲|Samsung
▲|[[100 nm]]
▲|CMOS
▲|{{?}}
▲|<ref name="stol"/><ref>{{cite web |title=A Study of the DRAM industry |url=https://dspace.mit.edu/bitstream/handle/1721.1/59138/659514510-MIT.pdf |publisher=[[MIT]] |date=8 June 2010 |access-date=29 June 2019}}</ref>
|}
|