Computer Science; Computer Engineering; Information Technology
Computer memory is the part of a computer used for storing information that the computer is currently working on. It is different from computer storage space on a hard drive, disk drive, or storage medium such as CD-ROM or DVD. Computer memory is one of the determining factors in how fast a computer can operate and how many tasks it can undertake at a time.
Computer memory is an extremely important part of configuring and using computers. Many users find themselves confused by the concepts of computer memory and computer storage. After all, both store information. Storage serves a very different purpose from memory, however. Storage is slower, because it uses a series of spinning platters of magnetic disks and a moving read/write head. These create a tiny magnetic field that can modify the polarity of tiny sections of the platters in order to record or read information. The benefit of storage is that it is nonvolatile memory, meaning that its contents remain even when the power is turned off. Computer memory, by contrast, is volatile memory because it only stores information while power is flowing through the computer.
One feature of memory that makes it much faster than other types of information storage is that it is a type of random access memory (RAM). Any address in the memory block can be accessed directly, without having to sort through all of the other entries in the memory space. This contrasts with other types of memory, such as magnetic tape, which are sequential access devices. In order to get to a certain part of the tape, one must move forward through all the other parts of the tape that come first. This adds to the time it takes to access that type of memory.
Memory, more than almost any other factor, determines how fast a computer responds to requests and completes tasks. This means that more memory is constantly in demand, as consumers want systems that are faster and can on more tasks at the same time. When a computer is running low on memory because too many operations are going on at once, it may use virtual memory to try to compensate. Virtual memory is a technique in which the computer supplements its memory space by using some of its storage space. If the computer is almost out of memory and another task comes in, the computer copies some contents of its memory onto the hard drive. Then it can remove this information from memory and make space for the new task. Once the new task is managed, the computer pulls the information that was copied to the hard drive and loads it back into memory.
Some newer types of memory straddle the line between memory and storage. Flash memory, used in many mobile devices, can retain its contents even when power to the system is cut off. However, it can be accessed or even erased purely through electrical signals. Wiping all the contents of flash memory and replacing them with a different version is sometimes called “flashing” a device.
Many newer computers have incorporated solid state disks (SSDs), which are similar in many respects to flash memory. Like flash memory, SSDs have no moving parts and can replace hard drives because they retain their contents after system power has shut down. Many advanced users of computers have adopted SSDs because they are much faster than traditional computer configurations. A system can be powered on and ready to use in a matter of seconds rather than minutes.
—Scott Zimmer, JD
Biere, Armin, Amir Nahir, and Tanja Vos, eds. Hardware and Software: Verification and Testing. New York: Springer, 2013. Print.
Englander, Irv. The Architecture of Computer Hardware and System Software: An Information Technology Approach. 5th ed. Hoboken: Wiley, 2014. Print.
Kulisch, Ulrich. Computer Arithmetic and Validity: Theory, Implementation, and Applications. 2nd ed. Boston: De Gruyter, 2013. Print.
Pandolfi, Luciano. Distributed Systems with Persistent Memory: Control and Moment Problems. New York: Springer, 2014. Print.
Patterson, David A., and John L. Hennessy. Computer Organization and Design: The Hardware/Software Interface. 5th ed. Waltham: Morgan, 2013. Print.
Soto, María, André Rossi, Marc Sevaux, and Johann Laurent. Memory Allocation Problems in Embedded Systems: Optimization Methods. Hoboken: Wiley, 2013. Print.