Jump to content

Computer memory

From Wikipedia, the free encyclopedia

DDR4 SDRAMmodule. As of 2021,over 90 percent of computer memory used in PCs and servers was of this type.[1]

Computer memorystores information, such as data and programs, for immediate use in thecomputer.[2]The termmemoryis often synonymous with the termsRAM,main memory,orprimary storage.Archaic synonyms for main memory includecore(for magnetic core memory) andstore.[3]

Main memory operates at a high speed compared tomass storagewhich is slower but less expensive per bit and higher in capacity. Besides storing opened programs and data being actively processed, computer memory serves as amass storage cacheandwrite bufferto improve both reading and writing performance. Operating systems borrowRAMcapacity for caching so long as it is 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 calledvirtual memory.

Modern computer memory is implemented assemiconductor memory,[5][6]where data is stored withinmemory cellsbuilt fromMOS transistorsand other components on anintegrated circuit.[7]There are two main kinds of semiconductor memory:volatileandnon-volatile.Examples ofnon-volatile memoryareflash memoryandROM,PROM,EPROM,andEEPROMmemory. Examples ofvolatile memoryaredynamic random-access memory(DRAM) used for primary storage andstatic random-access memory(SRAM) used mainly forCPU cache.

Most semiconductor memory is organized intomemory cellseach storing onebit(0 or 1).Flash memoryorganization includes both one bit per memory cell and amulti-level cellcapable of storing multiple bits per cell. The memory cells are grouped into words of fixedword length,for example, 1, 2, 4, 8, 16, 32, 64 or 128 bits. Each word can be accessed by a binary address ofNbits, making it possible to store 2Nwords in the memory.

History

[edit]
Historical lowest retail price of computer memory andstorage
Electromechanical memory used in theIBM 602,an early punch multiplying calculator
Detail of the back of a section ofENIAC,showingvacuum tubes
Williams tubeused as memory in theIAS computerc. 1951
8GBmicroSDHCcard on top of 8bytesofmagnetic-core memory(1core is 1bit.)

In the early 1940s, memory technology often permitted a capacity of a few bytes. The first electronic programmabledigital computer,theENIAC,using thousands ofvacuum 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 acousticdelay-line memory,developed byJ. Presper Eckertin the early 1940s. Through the construction of a glass tube filled withmercuryand plugged at each end with a quartz crystal, delay lines could storebits of informationin the form of sound waves propagating through the mercury, with the quartz crystals acting astransducersto 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, theWilliams tubeandSelectron tube,originated in 1946, both using electron beams in glass tubes as means of storage. Usingcathode-ray tubes,Fred Williams invented the Williams tube, which was the firstrandom-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.

Efforts began in the late 1940s to findnon-volatile memory.Magnetic-core memoryallowed for memory recall after power loss. It was developed by Frederick W. Viehe andAn Wangin the late 1940s, and improved byJay ForresterandJan A. Rajchmanin the early 1950s, before being commercialized with theWhirlwind Icomputer in 1953.[8]Magnetic-core memory was the dominant form of memory until the development ofMOSsemiconductor memoryin the 1960s.[9]

The firstsemiconductor memorywas implemented as aflip-flopcircuit in the early 1960s usingbipolar transistors.[9]Semiconductor memory made fromdiscrete deviceswas first shipped byTexas Instrumentsto theUnited States Air Forcein 1961. In the same year, the concept ofsolid-statememory on anintegrated circuit(IC) chip was proposed byapplications engineerBob Norman atFairchild Semiconductor.[10]The first bipolar semiconductor memory IC chip was the SP95 introduced byIBMin 1965.[9]While semiconductor memory offered improved performance over magnetic-core memory, it remained larger and more expensive and did not displace magnetic-core memory until the late 1960s.[9][11]

MOS memory

[edit]

The invention of the metal–oxide–semiconductor field-effect transistor (MOSFET) enabled the practical use ofmetal–oxide–semiconductor(MOS) transistors asmemory cellstorage elements. MOS memory was developed by John Schmidt atFairchild Semiconductorin 1964.[12]In addition to higher performance, MOSsemiconductor memorywas cheaper and consumed less power than magnetic core memory.[13]In 1965, J. Wood and R. Ball of theRoyal Radar Establishmentproposed digital storage systems that useCMOS(complementary MOS) memory cells, in addition to MOSFETpower devicesfor thepower supply,switched cross-coupling,switchesanddelay-line storage.[14]The development ofsilicon-gateMOS integrated circuit(MOS IC) technology byFederico Fagginat Fairchild in 1968 enabled the production of MOSmemory chips.[15]NMOSmemory was commercialized byIBMin 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 volatilerandom-access memory(RAM) arestatic random-access memory(SRAM) anddynamic 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 eachbitof data.[17]Commercial use of SRAM began in 1965, when IBM introduced their SP95 SRAM chip for theSystem/360 Model 95.[9]

Toshibaintroduced bipolar DRAMmemory cellsfor its Toscal BC-1411electronic calculatorin 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. Dennardat theIBM Thomas J. Watson Research Centerwas working on MOS memory. While examining the characteristics of MOS technology, he found it was possible to buildcapacitors,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, theIntel 1103in October 1970.[22][23][24]Synchronous dynamic random-access memory(SDRAM) later debuted with theSamsungKM48SL2000 chip in 1992.[25][26]

The termmemoryis also often used to refer tonon-volatile memoryincludingread-only memory(ROM) through modernflash memory.Programmable read-only memory(PROM) was invented byWen Tsing Chowin 1956, while working for the Arma Division of the American Bosch Arma Corporation.[27][28]In 1967, Dawon Kahng andSimon Szeof Bell Labs proposed that thefloating gateof a MOSsemiconductor devicecould be used for the cell of a reprogrammable ROM, which led toDov FrohmanofIntelinventingEPROM(erasable PROM) in 1971.[29]EEPROM(electrically erasable PROM) was developed by Yasuo Tarui, Yutaka Hayashi and Kiyoko Naga at theElectrotechnical Laboratoryin 1972.[30]Flash memory was invented byFujio MasuokaatToshibain the early 1980s.[31][32]Masuoka and colleagues presented the invention ofNOR flashin 1984,[33]and thenNAND flashin 1987.[34]Toshiba commercialized NAND flash memory in 1987.[35][36][37]

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

Volatility categories

[edit]

Volatile memory

[edit]
Various memory modules containing different types of DRAM (from top to bottom): DDR SDRAM, SDRAM, EDO DRAM, and FPM DRAM

Volatile memory is computer memory that requires power to maintain the stored information. Most modernsemiconductorvolatile memory is eitherstatic RAM(SRAM) ordynamic RAM(DRAM).[a]DRAM dominates for desktop system memory. SRAM is used forCPU cache.SRAM is also found in smallembedded systemsrequiring little memory.

SRAM retains its contents as long as the power is connected and may use a simpler interface, butcommonly 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

[edit]

Non-volatile memory can retain the stored information even when not powered. Examples of non-volatile memory includeread-only memory,flash memory,most types of magnetic computer storage devices (e.g.hard disk drives,floppy disksandmagnetic tape),optical discs,and early computer storage methods such asmagnetic drum,paper tapeandpunched cards.[37]

Non-volatile memory technologies under development includeferroelectric RAM,programmable metallization cell,Spin-transfer torque magnetic RAM,SONOS,resistive random-access memory,racetrack memory,Nano-RAM,3D XPoint,andmillipede memory.

Semi-volatile memory

[edit]

A third category of memory issemi-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. Aworncell 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, anSTT-RAMcan 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 asnvSRAM,which combinesSRAMand a non-volatile memory on the samechip,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 isbattery-backed RAM,which uses an externalbatteryto 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

[edit]

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

Bugs

[edit]

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

  • Amemory leakoccurs 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.
  • Asegmentation faultresults 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.
  • Abuffer overflowoccurs 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

[edit]

Virtual memory is a system wherephysical memoryis managed by the operating system typically with assistance from amemory management unit,which is part of many modernCPUs.It allows multiple types of memory to be used. For example, some data can be stored in RAM while other data is stored on ahard drive(e.g. in aswapfile), functioning as an extension of thecache 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 asthrashing.

Protected memory

[edit]

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 berebooted.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

[edit]

Notes

[edit]
  1. ^Other volatile memory technologies that have attempted to compete or replace SRAM and DRAM includeZ-RAMandA-RAM.

References

[edit]
  1. ^Read, Jennifer (5 November 2020)."DDR5 Era To Officially Begin In 2021, With DRAM Market Currently Transitioning Between Generations, Says TrendForce".EMSNow.Retrieved2 November2022.
  2. ^abHemmendinger, David (February 15, 2016)."Computer memory".Encyclopedia Britannica.Retrieved16 October2019.
  3. ^A.M. Turingand R.A. Brooker (1952).Programmer's Handbook for Manchester Electronic Computer Mark IIArchived2014-01-02 at theWayback Machine.University of Manchester.
  4. ^"Documentation for /proc/sys/vm/".
  5. ^"The MOS Memory Market"(PDF).Integrated Circuit Engineering Corporation.Smithsonian Institution.1997.Archived(PDF)from the original on 2003-07-25.Retrieved16 October2019.
  6. ^"MOS Memory Market Trends"(PDF).Integrated Circuit Engineering Corporation.Smithsonian Institution.1998.Archived(PDF)from the original on 2019-10-16.Retrieved16 October2019.
  7. ^"1960 - Metal Oxide Semiconductor (MOS) Transistor Demonstrated".The Silicon Engine.Computer History Museum.
  8. ^"1953: Whirlwind computer debuts core memory".Computer History Museum.Retrieved2 August2019.
  9. ^abcdef"1966: Semiconductor RAMs Serve High-speed Storage Needs".Computer History Museum.Retrieved19 June2019.
  10. ^"1953: Transistors make fast memories | The Storage Engine | Computer History Museum".computerhistory.org.Retrieved2019-11-14.
  11. ^Orton, John W. (2009).Semiconductors and the Information Revolution: Magic Crystals that made IT Happen.Academic Press.p. 104.ISBN978-0-08-096390-7.
  12. ^Solid State Design - Vol. 6.Horizon House. 1965.
  13. ^abc"1970: MOS Dynamic RAM Competes with Magnetic Core Memory on Price".Computer History Museum.Retrieved29 July2019.
  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.
  15. ^"1968: Silicon Gate Technology Developed for ICs".Computer History Museum.Retrieved10 August2019.
  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.
  17. ^ab"DRAM".IBM100.IBM.9 August 2017.Retrieved20 September2019.
  18. ^"Spec Sheet for Toshiba" TOSCAL "BC-1411".Old Calculator Web Museum.Archivedfrom the original on 3 July 2017.Retrieved8 May2018.
  19. ^"Toshiba" Toscal "BC-1411 Desktop Calculator".Archived fromthe originalon 2007-05-20.
  20. ^"1966: Semiconductor RAMs Serve High-speed Storage Needs".Computer History Museum.
  21. ^"Robert Dennard".Encyclopedia Britannica.Retrieved8 July2019.
  22. ^"Intel: 35 Years of Innovation (1968–2003)"(PDF).Intel. 2003. Archived fromthe original(PDF)on 4 November 2021.Retrieved26 June2019.
  23. ^abThe DRAM memory of Robert Dennardhistory-computer
  24. ^Lojek, Bo (2007).History of Semiconductor Engineering.Springer Science & Business Media.pp. 362–363.ISBN9783540342588.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".Samsung.August 1992.Retrieved19 June2019.
  26. ^"Electronic Design".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.Cengage Learning. p. 22.ISBN978-1-111-81079-5.Archivedfrom 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.Springer. p. 136.ISBN978-3-642-36318-4.Archivedfrom the original on 27 April 2018.
  29. ^"1971: Reusable semiconductor ROM introduced".Computer History Museum.Retrieved19 June2019.
  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.doi:10.1109/JSSC.1972.1052895.ISSN0018-9200.
  31. ^Fulford, Benjamin (24 June 2002)."Unsung hero".Forbes.Archivedfrom the original on 3 March 2008.Retrieved18 March2008.
  32. ^US 4531203Fujio Masuoka
  33. ^"Toshiba: Inventor of Flash Memory".Toshiba.Retrieved20 June2019.
  34. ^Masuoka, F.; Momodomi, M.; Iwata, Y.; Shirota, R. (1987). "1987 International Electron Devices Meeting".Electron Devices Meeting, 1987 International.IEDM1987.IEEE.pp. 552–555.doi:10.1109/IEDM.1987.191485.
  35. ^"1987: Toshiba Launches NAND Flash".eWeek.April 11, 2012.Retrieved20 June2019.
  36. ^"1971: Reusable semiconductor ROM introduced".Computer History Museum.Retrieved19 June2019.
  37. ^abcdeStanek, William R. (2009).Windows Server 2008 Inside Out.O'Reilly Media, Inc. p. 1520.ISBN978-0-7356-3806-8.Archivedfrom the original on 2013-01-27.Retrieved2012-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".Retrieved20 May2018.{{cite web}}:CS1 maint: multiple names: authors list (link)
  39. ^Keppel, Naeimi, Nasrullah."Method and apparatus for managing a spin-transfer torque memory".Google Patents.Retrieved20 May2018.{{cite web}}:CS1 maint: multiple names: authors list (link)

Further reading

[edit]
  • Miller, Stephen W. (1977),Memory and Storage Technology,Montvale.: AFIPS Press
  • Memory and Storage Technology,Alexandria, Virginia.: Time Life Books, 1988