Your continued donations keep Wikipedia running!    

Memory (computers)

From Wikipedia, the free encyclopedia

Jump to: navigation, search
For other uses of "memory", see memory (disambiguation).

The term computer memory refers to the parts of a digital computer which retain physical state (data) for some interval of time.

In its most common usage, "memory" refers to very fast storage which does not retain its stored data when the power is turned off. Compare this to "storage", such as hard drive space, which is slow but keeps its data even without power. An analogy is to think of the storage as human memory, with the hard disk as long-term memory, and the memory as short-term memory.

In a home computer, memory will often take the form of:

  • Random access memory, or RAM, which is used to temporarily store things such as programs and data while the computer is using them. Since RAM can be accessed at very high speeds, it is well suited for this task.
  • Cache memory is a small amount of very high speed dedicated memory. Cache memory is used to allow quicker access to data which ordinarily is slow to retrieve. Because of cache memory's high speed nature, storing data into cache memory before it is actually accessed can allow quicker response times. Cache memory is found in microprocessors, hard drives and many other places.

Contents

Different types and different purposes

Memory can be categorized in different ways by technology or properties:

  • primary access by the CPU or secondary (indirect) access by the CPU. This distinction is primarily based on the speed of access to the memory.
  • volatile or non-volatile is a distinction based on technology (magnetic vs. electrical, etc.). Volatile memory requires power to maintain its stored information.
  • Read-only memory, or read-write is a distinction based on properties of the memory. Read only memory, or "ROM", is not modifiable.
  • Random-Access or Sequential-Access, is a distinction based on the mechanism of reading the memory.
  • Mutable (Read-write) vs. Immutable (Read only) storage.

Historically, "memory" referred to "magnetic core memory" in the 1950s, and then to semiconductor-based storage in the 1970s. The evolution of memory is closely tied to the costs of various technologies, as can be seen in the history of computing hardware.

Each type of storage is suited for different purposes, and most computers contain several types: primary, secondary, and volatile.

Primary vs. secondary storage

In traditional parlance, primary storage contains data that are actively being used (for example, the programs currently being run and the data they are operating on). It is typically high-speed, relatively small, is often (but not always) volatile. It is sometimes referred to as "Main Memory." It can be accessed immediately and randomly.

Secondary storage, also known as peripheral storage, is where the computer stores information that is not necessarily in current use. It is typically slower and higher-capacity than primary storage. It is almost always non-volatile. It is slow due to serial access (thus it is also termed Serial Access Memory).

Confusingly, these terms are sometimes used differently. Primary storage can be used to refer to local random-access disk storage, which should properly be called secondary storage. If this type of storage is called primary storage, then the term secondary storage would refer to offline, sequential-access storage like tape media. This usage usually occurs in contexts where only the slower, larger forms of storage are being discussed.

Volatile storage

Volatile storage loses its contents when it loses power; non-volatile storage does not.

Mutable vs. immutable storage

Data stored in mutable storage can be overwritten at any time. Data stored in immutable storage cannot be overwritten. Systems can be made more secure by storing programs and static data in immutable storage, where they cannot be changed by an attacker. Dynamic data is stored in mutable storage because it must be changed from time to time. Most operating systems store all programs and data on hard disk drives, which are inherently mutable storage devices. File system permissions can be used to make certain areas of the hard disk logically immutable. However, the superuser is normally not affected by these permissions thus allowing some attacks to succeed.

Some operating systems, such as Linux, extend this logical immutability so data remains immutable even if an attacker gains superuser access. Attackers may be able to destroy the data but they can't change it.

A list of storage devices

Internal storage areas in the computer. The term memory identifies data storage that comes in the form of chips, and the word storage is used for memory that exists on tapes or disks. Moreover, the term memory is usually used as a shorthand for physical memory, which refers to the actual chips capable of holding data. Some computers also use virtual memory, which expands physical memory onto a hard disk.

Every computer comes with a certain amount of physical memory, usually referred to as main memory or RAM. You can think of main memory as an array of boxes, each of which can hold a single byte of information. A computer that has 1 megabyte of memory, therefore, can hold about 1 million bytes (or characters) of information.

There are several different types of memory:

  • RAM (random-access memory): This is the same as main memory. When used by itself, the term RAM refers to read and write memory; that is, you can both write data into RAM and read data from RAM. This is in contrast to ROM, which permits you only to read data. Most RAM is volatile, which means that it requires a steady flow of electricity to maintain its contents. As soon as the power is turned off, whatever data was in RAM is lost.
    • SRAM (static RAM): Stores data in flip flops. Only requires steady flow of electricity to maintain its contents.
    • DRAM (dynamic RAM): Stores data in capacitors, which gradually lose charge and "forget". Requires periodic Refresh cycles to restore the data.
  • ROM (read-only memory): Computers almost always contain a small amount of read-only memory that holds instructions for starting up the computer. Unlike RAM, ROM cannot be written to.
    • PROM (programmable ROM): A PROM is a memory chip on which you can store a program. But once the PROM has been used, you cannot wipe it clean and use it to store something else. Like ROMs, PROMs are non-volatile.
    • EPROM (erasable programmable ROM): An EPROM is a special type of PROM that can be erased by exposing it to ultraviolet light. These must be removed from the board, erased, then reprogrammed.
    • EEPROM (electrically erasable programmable ROM): An EEPROM is a special type of PROM that can be erased by electrical signals, often the same ones that program it with new data. These can stay on the board and be reprogrammed in system.

A list of memory-related software

See also

External links

Personal tools