In computing, memory refers to the computer hardware integrated circuits that store information for immediate use in a computer. Computer memory operates at a high speed, for example random-access memory, as a distinction from storage that provides slow-to-access information but offers higher capacities. If needed, contents of the computer memory can be transferred to secondary storage. An archaic synonym for memory is store; the term "memory", meaning "primary storage" or "main memory", is associated with addressable semiconductor memory, i.e. integrated circuits consisting of silicon-based transistors, used for example as primary storage but other purposes in computers and other digital electronic devices. There are two main kinds of semiconductor memory and non-volatile. Examples of non-volatile memory are ROM, PROM, EPROM and EEPROM memory. Examples of volatile memory are primary storage, dynamic random-access memory, fast CPU cache memory, static random-access memory, fast but energy-consuming, offering lower memory areal density than DRAM.
Most semiconductor memory is organized into memory cells or bistable flip-flops, each storing one bit. Flash memory organization includes 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 bit. Each word can be accessed by a binary address of N bit, making it possible to store 2 raised by N words in the memory; this implies that processor registers are not considered as memory, since they only store one word and do not include an addressing mechanism. Typical secondary storage devices are solid-state drives. In the early 1940s, memory technology permitted a capacity of a few bytes; the first electronic programmable digital computer, the ENIAC, using thousands of octal-base radio vacuum tubes, could perform simple calculations involving 20 numbers of ten decimal digits which were held in the vacuum tube accumulators. The next significant advance in computer memory came with acoustic delay line 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 mercury, with the quartz crystals acting as transducers to read and write bits. Delay line memory would be limited to a capacity of up to a few hundred thousand bits to remain efficient. 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 would invent the Williams tube, which would be the first random-access computer memory; the Williams tube would prove less expensive. The Williams tube would prove to be frustratingly sensitive to environmental disturbances. Efforts began in the late 1940s to find non-volatile memory. Jay Forrester, Jan A. Rajchman and An Wang developed magnetic-core memory, which allowed for recall of memory after power loss. Magnetic core memory would become the dominant form of memory until the development of transistor-based memory in the late 1960s.
Developments in technology and economies of scale have made possible so-called Very Large Memory computers. The term "memory" when used with reference to computers refers to random-access memory. Volatile memory is computer memory. Most modern semiconductor volatile memory is either static RAM or dynamic RAM. SRAM retains its contents as long as the power is connected and is easy for interfacing, but 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. SRAM is not worthwhile for desktop system memory, where DRAM dominates, but is used for their cache memories. SRAM is commonplace in small embedded systems. Forthcoming volatile memory technologies that aim at replacing or competing with SRAM and DRAM include Z-RAM and A-RAM. Non-volatile memory is computer memory that can retain the stored information when not powered.
Examples of non-volatile memory include read-only memory, flash memory, most types of magnetic computer storage devices, optical discs, early computer storage methods such as paper tape and punched cards. Forthcoming non-volatile memory technologies include FERAM, CBRAM, PRAM, STT-RAM, SONOS, RRAM, racetrack memory, NRAM, 3D XPoint, millipede memory. A third category of memory is "semi-volatile"; the term is used to describe a memory which has some limited non-volatile duration after power is removed, but data is lost. A typical goal when using a semi-volatile memory is to provide high performance/durability/etc. Associated with volatile memories, while providing some benefits of a true non-volatile memory. For example, some non-volatile memory types can wear out, where a "worn" cell has increased volatility but otherwise continues to work. Data locations which are written
EEPROM stands for electrically erasable programmable read-only memory and is a type of non-volatile memory used in computers, integrated in microcontrollers for smart cards and remote keyless systems, other electronic devices to store small amounts of data but allowing individual bytes to be erased and reprogrammed. EEPROMs are organized as arrays of floating-gate transistors. EEPROMs can be erased in-circuit, by applying special programming signals. EEPROMs were limited to single byte operations, which made them slower, but modern EEPROMs allow multi-byte page operations. An EEPROM has a limited life for erasing and reprogramming, now reaching a million operations in modern EEPROMs. In an EEPROM, reprogrammed while the computer is in use, the life of the EEPROM is an important design consideration. Flash memory is a type of EEPROM designed for high speed and high density, at the expense of large erase blocks and limited number of write cycles. There is no clear boundary dividing the two, but the term "EEPROM" is used to describe non-volatile memory with small erase blocks and a long lifetime.
Many microcontrollers include both: flash memory for the firmware, a small EEPROM for parameters and history. In early 1970s, some studies and development for electrically re-programmable non-volatile memories were performed by various companies and organizations. In 1971, the earliest research report was presented at the 3rd Conference on Solid State Devices, Tokyo in Japan by Yasuo Tarui, Yutaka Hayashi, Kiyoko Nagai at Electrotechnical Laboratory, they continued this study for more than 10 years. These papers have been cited by papers and patents. One of their research includes MONOS technology, used Renesas Electronics' flash memory integrated in single-chip microcontrollers until today. In 1972, one of electrically re-programmable non-volatile memory was invented by Fujio Masuoka at Toshiba, known as the inventor of flash memory. Most of major semiconductor manufactures, such as Toshiba,Sanyo,IBM,Intel,NEC,Philips,Siemens,Honeywell,Texas Instruments, studied and manufactured some electrically re-programmable non-volatile devices until 1977.
The theoretical basis of these devices is Avalanche hot-carrier injection. But in general, programmable memories, including EPROM, of early 1970s had reliability problems such as the data retention periods and the number of erase/write cycle endurance. In 1975, NEC's semiconductor operations unit NEC Electronics Renesas Electronics, applied the trademark name EEPROM® to Japan Patent Office. In 1978, this trademark right is granted and registered as No.1,342,184 in Japan, still survives as of March 2018. In February 1977, Eliyahou Harari at Hughes Aircraft Company invented a new EEPROM technology using Fowler-Nordheim tunnelling through a thin silicon dioxide layer between the floating-gate and the wafer. Hughes went on to produce this new EEPROM devices, but this patent cited NEC's EEPROM® invention. In May 1977, some important research result was disclosed by Siemens, they used SONOS structure with thickness of silicon dioxide less than 30 Å, SIMOS structure for using Fowler-Nordheim tunnelling hot-carrier injection.
Around 1976 to 1978, Intel's team, including George Perlegos, made some inventions to improve this tunneling E2PROM technology. In 1978, they developed a 16K bit Intel 2816 device with a thin silicon dioxide layer, less than 200 Å. In 1980; this structure was publicly introduced as FLOTOX. The FLOTOX structure improved reliability of erase/write cycles per byte up to 10,000 times, but this device required additional 20–22V VPP bias voltage supply for byte erase, except for 5V read operations. In 1981, Perlegos and 2 other members left Intel to form Seeq Technology, which used on-device charge pumps to supply the high voltages necessary for programming E2PROMs. In 1984, Perlogos left Seeq Technology to found Atmel Seeq Technology was acquired by Atmel; as is described in former section, old EEPROMs are based on Avalanche breakdown-based hot-carrier injection with high reverse breakdown voltage. But FLOTOX's theoretical basis is Fowler–Nordheim tunneling hot-carrier injection through a thin silicon dioxide layer between the floating-gate and the wafer.
In other words, it uses tunnel junction. Theoretical basis of the physical phenomenon itself is the same as today's flash memory, but each FLOTOX structure is in conjunction with another read-control transistor because the floating gate itself is just programming and erasing one data bit. Intel's FLOTOX device structure improved EEPROM's reliability, in other words, the write and erase cycles endurance, the data retention period. A material of study for single event effect about FLOTOX is available. Today, detailed academical explanation of FLOTOX device structure can be found in various materials. Nowadays, EEPROM is used for embedded microcontrollers as well as standard EEPROM products. EEPROM still requires 2 transistors structure per bit to erase a dedicated byte in the memory, while flash memory has 1 transistor per bit to erase a region of the memory; because EEPROM technology is used for some security gadgets, such as credit card, SIM card, key-less entry, etc. some devices have security protection mechanisms.
EEPROM devices use a serial
Computer hardware includes the physical, tangible parts or components of a computer, such as the cabinet, central processing unit, keyboard, computer data storage, graphics card, sound card and motherboard. By contrast, software is instructions that can be run by hardware. Hardware is so-termed because it rigid with respect to changes or modifications. Intermediate between software and hardware is "firmware", software, coupled to the particular hardware of a computer system and thus the most difficult to change but among the most stable with respect to consistency of interface; the progression from levels of "hardness" to "softness" in computer systems parallels a progression of layers of abstraction in computing. Hardware is directed by the software to execute any command or instruction. A combination of hardware and software forms a usable computing system, although other systems exist with only hardware components; the template for all modern computers is the Von Neumann architecture, detailed in a 1945 paper by Hungarian mathematician John von Neumann.
This describes a design architecture for an electronic digital computer with subdivisions of a processing unit consisting of an arithmetic logic unit and processor registers, a control unit containing an instruction register and program counter, a memory to store both data and instructions, external mass storage, input and output mechanisms. The meaning of the term has evolved to mean a stored-program computer in which an instruction fetch and a data operation cannot occur at the same time because they share a common bus; this is referred to as the Von Neumann bottleneck and limits the performance of the system. The personal computer known as the PC, is one of the most common types of computer due to its versatility and low price. Laptops are very similar, although they may use lower-power or reduced size components, thus lower performance; the computer case encloses most of the components of the system. It provides mechanical support and protection for internal elements such as the motherboard, disk drives, power supplies, controls and directs the flow of cooling air over internal components.
The case is part of the system to control electromagnetic interference radiated by the computer, protects internal parts from electrostatic discharge. Large tower cases provide extra internal space for multiple disk drives or other peripherals and stand on the floor, while desktop cases provide less expansion room. All-in-one style designs include a video display built into the same case. Portable and laptop computers require cases. A current development in laptop computers is a detachable keyboard, which allows the system to be configured as a touch-screen tablet. Hobbyists may decorate the cases with colored lights, paint, or other features, in an activity called case modding. A power supply unit converts alternating current electric power to low-voltage DC power for the internal components of the computer. Laptops are capable of running from a built-in battery for a period of hours; the motherboard is the main component of a computer. It is a board with integrated circuitry that connects the other parts of the computer including the CPU, the RAM, the disk drives as well as any peripherals connected via the ports or the expansion slots.
Components directly attached to or to part of the motherboard include: The CPU, which performs most of the calculations which enable a computer to function, is sometimes referred to as the brain of the computer. It is cooled by a heatsink and fan, or water-cooling system. Most newer CPUs include an on-die graphics processing unit; the clock speed of CPUs governs how fast it executes instructions, is measured in GHz. Many modern computers have the option to overclock the CPU which enhances performance at the expense of greater thermal output and thus a need for improved cooling; the chipset, which includes the north bridge, mediates communication between the CPU and the other components of the system, including main memory. Random-access memory, which stores the code and data that are being accessed by the CPU. For example, when a web browser is opened on the computer it takes up memory. RAM comes on DIMMs in the sizes 2GB, 4GB, 8GB, but can be much larger. Read-only memory, which stores the BIOS that runs when the computer is powered on or otherwise begins execution, a process known as Bootstrapping, or "booting" or "booting up".
The BIOS includes power management firmware. Newer motherboards use Unified Extensible Firmware Interface instead of BIOS. Buses that connect the CPU to various internal components and to expand cards for graphics and sound; the CMOS battery, which powers the memory for date and time in the BIOS chip. This battery is a watch battery; the video card, which processes computer graphics. More powerful graphics cards are better suited to handle strenuous tasks, such as playing intensive video games. An expansion card in computing is a printed circuit board that can be inserted into an expansion slot of a computer motherboard or
Random-access memory is a form of computer data storage that stores data and machine code being used. A random-access memory device allows data items to be read or written in the same amount of time irrespective of the physical location of data inside the memory. In contrast, with other direct-access data storage media such as hard disks, CD-RWs, DVD-RWs and the older magnetic tapes and drum memory, the time required to read and write data items varies depending on their physical locations on the recording medium, due to mechanical limitations such as media rotation speeds and arm movement. RAM contains multiplexing and demultiplexing circuitry, to connect the data lines to the addressed storage for reading or writing the entry. More than one bit of storage is accessed by the same address, RAM devices have multiple data lines and are said to be "8-bit" or "16-bit", etc. devices. In today's technology, random-access memory takes the form of integrated circuits. RAM is associated with volatile types of memory, where stored information is lost if power is removed, although non-volatile RAM has been developed.
Other types of non-volatile memories exist that allow random access for read operations, but either do not allow write operations or have other kinds of limitations on them. These include most types of ROM and a type of flash memory called NOR-Flash. Integrated-circuit RAM chips came into the market in the early 1970s, with the first commercially available DRAM chip, the Intel 1103, introduced in October 1970. Early computers used relays, mechanical counters or delay lines for main memory functions. Ultrasonic delay lines could only reproduce data in the order. Drum memory could be expanded at low cost but efficient retrieval of memory items required knowledge of the physical layout of the drum to optimize speed. Latches built out of vacuum tube triodes, out of discrete transistors, were used for smaller and faster memories such as registers; such registers were large and too costly to use for large amounts of data. The first practical form of random-access memory was the Williams tube starting in 1947.
It stored data. 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 and more power-efficient than using individual vacuum tube latches. Developed at the 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 ran a program on 21 June 1948. 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. Magnetic-core memory was developed up until the mid-1970s, it became a widespread form of random-access memory. 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 memory system until displaced by solid-state memory in integrated circuits, starting in the early 1970s. Dynamic random-access memory allowed replacement of a 4 or 6-transistor latch circuit by a single transistor for each memory bit increasing memory density at the cost of volatility. Data was stored in the tiny capacitance of each transistor, had to be periodically refreshed every few milliseconds before the charge could leak away; the Toshiba Toscal BC-1411 electronic calculator, introduced in 1965, used a form of DRAM built from discrete components. DRAM was developed by Robert H. Dennard in 1968. Prior to the development of integrated read-only memory circuits, permanent random-access memory was constructed using diode matrices driven by address decoders, or specially wound core rope memory planes; the two used forms of modern RAM are static RAM and dynamic RAM. In SRAM, a bit of data is stored using the state of a six transistor memory cell.
This form of RAM is more expensive to produce, but is faster and requires less dynamic power than DRAM. In modern computers, SRAM is used as cache memory for the CPU. DRAM stores a bit of data using a transistor and capacitor pair, which together comprise a DRAM cell; the capacitor holds a high or low charge, the transistor acts as a switch that lets the control circuitry on the chip read the capacitor's state of charge or change it. As this form of memory is less expensive to produce than static RAM, it is the predominant form of computer memory used in modern computers. Both static and dynamic RAM are considered volatile, as their state is lost or reset when power is removed from the system. By contrast, read-only memory stores data by permanently enabling or disabling selected transistors, such that the memory cannot be altered. Writeable variants of ROM share properties of both ROM and RAM, enabling data to persist without power and to be updated without requiring special equipment; these persistent forms of semiconductor ROM include USB flash drives, memory cards for cameras and portable devices, solid-state drives.
ECC memory includes special circuitry to detect and/or correct random faults (mem
Read-only memory is a type of non-volatile memory used in computers and other electronic devices. Data stored in ROM can only be modified with difficulty, or not at all, so it is used to store firmware or application software in plug-in cartridges. Read-only memory refers to memory, hard-wired, such as diode matrix and the mask ROM, which cannot be changed after manufacture. Although discrete circuits can be altered in principle, integrated circuits cannot, are useless if the data is bad or requires an update; that such memory can never be changed is a disadvantage in many applications, as bugs and security issues cannot be fixed, new features cannot be added. More ROM has come to include memory, read-only in normal operation, but can still be reprogrammed in some way. Erasable programmable read-only memory and electrically erasable programmable read-only memory can be erased and re-programmed, but this can only be done at slow speeds, may require special equipment to achieve, is only possible a certain number of times.
IBM used Capacitor Read Only Storage and Transformer Read Only Storage to store microcode for the smaller System/360 models, the 360/85 and the initial two models of the S/370. On some models there was a Writeable Control Store for additional diagnostics and emulation support; the simplest type of solid-state ROM is as old as the semiconductor technology itself. Combinational logic gates can be joined manually to map n-bit address input onto arbitrary values of m-bit data output. With the invention of the integrated circuit came mask ROM. Mask ROM consists of a grid of word lines and bit lines, selectively joined together with transistor switches, can represent an arbitrary look-up table with a regular physical layout and predictable propagation delay. In mask ROM, the data is physically encoded in the circuit, so it can only be programmed during fabrication; this leads to a number of serious disadvantages: It is only economical to buy mask ROM in large quantities, since users must contract with a foundry to produce a custom design.
The turnaround time between completing the design for a mask ROM and receiving the finished product is long, for the same reason. Mask ROM is impractical for R&D work since designers need to modify the contents of memory as they refine a design. If a product is shipped with faulty mask ROM, the only way to fix it is to recall the product and physically replace the ROM in every unit shipped. Subsequent developments have addressed these shortcomings. PROM, invented in 1956, allowed users to program its contents once by physically altering its structure with the application of high-voltage pulses; this addressed problems 1 and 2 above, since a company can order a large batch of fresh PROM chips and program them with the desired contents at its designers' convenience. The 1971 invention of EPROM solved problem 3, since EPROM can be reset to its unprogrammed state by exposure to strong ultraviolet light. EEPROM, invented in 1983, went a long way to solving problem 4, since an EEPROM can be programmed in-place if the containing device provides a means to receive the program contents from an external source.
Flash memory, invented at Toshiba in the mid-1980s, commercialized in the early 1990s, is a form of EEPROM that makes efficient use of chip area and can be erased and reprogrammed thousands of times without damage. All of these technologies improved the flexibility of ROM, but at a significant cost-per-chip, so that in large quantities mask ROM would remain an economical choice for many years. Rewriteable technologies were envisioned as replacements for mask ROM; the most recent development is NAND flash invented at Toshiba. Its designers explicitly broke from past practice, stating plainly that "the aim of NAND Flash is to replace hard disks," rather than the traditional use of ROM as a form of non-volatile primary storage; as of 2007, NAND has achieved this goal by offering throughput comparable to hard disks, higher tolerance of physical shock, extreme miniaturization, much lower power consumption. Every stored-program computer may use a form of non-volatile storage to store the initial program that runs when the computer is powered on or otherwise begins execution.
Every non-trivial computer needs some form of mutable memory to record changes in its state as it executes. Forms of read-only memory were employed as non-volatile storage for programs in most early stored-program computers, such as ENIAC after 1948. Read-only memory was simpler to implement since it needed only a mechanism to read stored values, not to change them in-place, thus could be implemented with crude electromechanical devices. With the advent of integrated circuits in the 1960s, both ROM and its mutable counterpart static RAM were implemented as arrays of transistors in silicon chips.