Computer memory
Computer memory and Computer data storage types |
---|
Volatile |
Non-volatile |
Computer memory stores information, such as data and programs, for immediate use in the
Main memory operates at a high speed compared to mass storage which is slower but less expensive per bit and higher in capacity. Besides storing opened programs and data being actively processed, computer memory serves as 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
Most semiconductor memory is organized into
History
In the early 1940s, memory technology often permitted a capacity of a few bytes. The first electronic programmable
The next significant advance in computer memory came with acoustic
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.
Efforts began in the late 1940s to find
The first
MOS memory
The invention of the metal–oxide–semiconductor field-effect transistor (
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]
The term memory is also often used to refer to
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
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
Non-volatile memory technologies under development include
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
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
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
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
References
- ^ Read, Jennifer (5 November 2020). "DDR5 Era To Officially Begin In 2021, With DRAM Market Currently Transitioning Between Generations, Says TrendForce". EMSNow. Retrieved 2 November 2022.
- ^ Encyclopedia Britannica. Retrieved 16 October 2019.
- ^ A.M. Turing and R.A. Brooker (1952). Programmer's Handbook for Manchester Electronic Computer Mark II Archived 2014-01-02 at the Wayback Machine. University of Manchester.
- ^ "Documentation for /proc/sys/vm/".
- ^ "The MOS Memory Market" (PDF). Integrated Circuit Engineering Corporation. Smithsonian Institution. 1997. Archived (PDF) from the original on 2003-07-25. Retrieved 16 October 2019.
- ^ "MOS Memory Market Trends" (PDF). Integrated Circuit Engineering Corporation. Smithsonian Institution. 1998. Archived (PDF) from the original on 2019-10-16. Retrieved 16 October 2019.
- ^ "1960 - Metal Oxide Semiconductor (MOS) Transistor Demonstrated". The Silicon Engine. Computer History Museum.
- ^ "1953: Whirlwind computer debuts core memory". Computer History Museum. Retrieved 2 August 2019.
- ^ a b c d e f "1966: Semiconductor RAMs Serve High-speed Storage Needs". Computer History Museum. Retrieved 19 June 2019.
- ^ "1953: Transistors make fast memories | The Storage Engine | Computer History Museum". www.computerhistory.org. Retrieved 2019-11-14.
- ISBN 978-0-08-096390-7.
- ^ Solid State Design - Vol. 6. Horizon House. 1965.
- ^ a b c "1970: MOS Dynamic RAM Competes with Magnetic Core Memory on Price". Computer History Museum. Retrieved 29 July 2019.
- .
- ^ "1968: Silicon Gate Technology Developed for ICs". Computer History Museum. Retrieved 10 August 2019.
- .
- ^ a b "DRAM". IBM100. IBM. 9 August 2017. Retrieved 20 September 2019.
- ^ "Spec Sheet for Toshiba "TOSCAL" BC-1411". Old Calculator Web Museum. Archived from the original on 3 July 2017. Retrieved 8 May 2018.
- ^ "Toshiba "Toscal" BC-1411 Desktop Calculator". Archived from the original on 2007-05-20.
- ^ "1966: Semiconductor RAMs Serve High-speed Storage Needs". Computer History Museum.
- Encyclopedia Britannica. Retrieved 8 July 2019.
- ^ "Intel: 35 Years of Innovation (1968–2003)" (PDF). Intel. 2003. Archived from the original (PDF) on 4 November 2021. Retrieved 26 June 2019.
- ^ a b The DRAM memory of Robert Dennard history-computer.com
- 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.
- ^ "KM48SL2000-7 Datasheet". Samsung. August 1992. Retrieved 19 June 2019.
- 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.
- ISBN 978-1-111-81079-5. Archivedfrom the original on 27 April 2018.
- ISBN 978-3-642-36318-4. Archivedfrom the original on 27 April 2018.
- ^ "1971: Reusable semiconductor ROM introduced". Computer History Museum. Retrieved 19 June 2019.
- ISSN 0018-9200.
- ^ Fulford, Benjamin (24 June 2002). "Unsung hero". Forbes. Archived from the original on 3 March 2008. Retrieved 18 March 2008.
- ^ US 4531203 Fujio Masuoka
- ^ "Toshiba: Inventor of Flash Memory". Toshiba. Retrieved 20 June 2019.
- .
- ^ "1987: Toshiba Launches NAND Flash". eWeek. April 11, 2012. Retrieved 20 June 2019.
- ^ "1971: Reusable semiconductor ROM introduced". Computer History Museum. Retrieved 19 June 2019.
- ^ ISBN 978-0-7356-3806-8. Archivedfrom 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.
- ^ Montierth, Briggs, Keithley. "Semi-volatile NAND flash memory". Retrieved 20 May 2018.
{{cite web}}
: CS1 maint: multiple names: authors list (link) - ^ Keppel, Naeimi, Nasrullah. "Method and apparatus for managing a spin-transfer torque memory". Google Patents. Retrieved 20 May 2018.
{{cite web}}
: CS1 maint: multiple names: authors list (link)
Further reading
- Miller, Stephen W. (1977), Memory and Storage Technology, Montvale.: AFIPS Press
- Memory and Storage Technology, Alexandria, Virginia.: Time Life Books, 1988