RAM of the read-only type, ROM, instead uses a metal mask to permanently enable/disable selected transistors, instead of storing a charge in them. As both SRAM and DRAM are volatile, other forms of computer storage, such as disks and magnetic tapes, have been used as persistent storage in traditional computers. Many newer products instead rely on flash memory to maintain data when not in use, such as PDAs or small music players. Certain personal computers, such as many rugged computers and netbooks, have also replaced magnetic disks with flash drives.
With flash memory, only the NOR type is capable of true random access, allowing direct code execution, and is therefore often used instead of ROM; the lower cost NAND type is commonly used for bulk storage in memory cards and solid-state drives. Similar to a microprocessor, a memory chip is an integrated circuit (IC) made of millions of transistors and capacitors. In the most common form of computer memory, dynamic random access memory (DRAM), a transistor and a capacitor are paired to create a memory cell, which represents a single bit of data.The capacitor holds the bit of information—a 0 or a 1 . The transistor acts as a switch that lets the control circuitry on the memory chip read the capacitor or change its state.
[edit] Memory hierarchy Many computer systems have a memory hierarchy consisting of CPU registers, on-die SRAM caches, external caches, DRAM, paging systems, and virtual memory or swap space on a hard drive. This entire pool of memory may be referred to as "RAM" by many developers, even though the various subsystems can have very different access times, violating the original concept behind the random access term in RAM.Even within a hierarchy level such as DRAM, the specific row, column, bank, rank, channel, or interleave organization of the components make the access time variable, although not to the extent that rotating storage media or a tape is variable. The overall goal of using a memory hierarchy is to obtain the higher possible average access performance while minimizing the total cost of entire memory system.
(Generally, the memory hierarchy follows the access time with the fast CPU registers at the top and the slow hard drive at the bottom. In many modern personal computers, the RAM comes in an easily upgraded form of modules called memory modules or DRAM modules about the size of a few sticks of chewing gum. These can quickly be replaced should they become damaged or too small for current purposes. As suggested above, smaller amounts of RAM (mostly SRAM) are also integrated in the CPU and other ICs on the motherboard, as well as in hard-drives, CD-ROMs, and several other parts of the computer system.
edit] Swapping If a computer becomes low on RAM during intensive application cycles, many CPU architectures and operating systems are able to perform an operation known as "swapping". Swapping uses a paging file, an area on a hard drive temporarily used as additional working memory. Constant use of this mechanism is called thrashing and is generally undesirable because it lowers overall system performance, mainly because hard drives are slower than RAM.On some operating systems (such as Linux) it is possible to turn swapping off such that no memory is written to the hard disk ("swapoff -a" as superuser on startup). This can reduce latency as well as hard disk wear, but if one does not have enough RAM then the OS will freeze and perhaps kernel panic.
[citation needed] [edit] Other uses of the "RAM" term Other physical devices with read–write capability can have "RAM" in their names: for example, DVD-RAM. Random access" is also the name of an indexing method: hence, disk storage is often called "random access"( Wiki:PowerOfPlainText, Fortran language features#Direct-access files, MBASIC#Files and input/output, Java Platform, Standard Edition#Random access, indexed file ) because the reading head can move relatively quickly from one piece of data to another, and does not have to read all the data in between. However the final "M" is crucial: "RAM" (provided there is no additional term as in "DVD-RAM") always refers to a solid-state device. edit] RAM disks Software can "partition" a portion of a computer's RAM, allowing it to act as a much faster hard drive that is called a RAM disk. Unless the memory used is non-volatile, a RAM disk loses the stored data when the computer is shut down.
However, volatile memory can retain its data when the computer is shut down if it has a separate power source, usually a battery. [edit] Shadow RAM Sometimes, the contents of a ROM chip are copied to SRAM or DRAM to allow for shorter access times (as ROM may be slower).The ROM chip is then disabled while the initialized memory locations are switched in on the same block of addresses (often write-protected). This process, sometimes called shadowing, is fairly common in both computers and embedded systems. As a common example, the BIOS in typical personal computers often has an option called “use shadow BIOS” or similar.
When enabled, functions relying on data from the BIOS’s ROM will instead use DRAM locations (most can also toggle shadowing of video card ROM or other ROM sections).Depending on the system, this may or may not result in increased performance. On some systems the benefit may be hypothetical because the BIOS is not used after booting in favor of direct hardware access. Of course, somewhat less free memory is available when shadowing is enabled. [2] [edit] Recent developments Several new types of non-volatile RAM, which will preserve data while powered down, are under development.
The technologies used include ryan carbon nanotubes and approaches utilizing the magnetic tunnel effect. Amongst the 1st generation MRAM, a 128 KB (128 ? 10 bytes) magnetic RAM (MRAM) chip was manufactured with 0. 18 µm technology in the summer of 2003. In June 2004, Infineon Technologies unveiled a 16 MB (16 ? 220 bytes) prototype again based on 0. 18 µm technology.
There are two 2nd generation techniques currently in development: Thermal Assisted Switching (TAS)[3] which is being developed by Crocus Technology, and Spin Torque Transfer (STT) on which Crocus, Hynix, IBM, and several other companies are working[4]. Nantero built a functioning carbon nanotube memory prototype 10 GB (10 ? 230 bytes) array in 2004.