Increasingly, the term memory refers to permanent "non-volatile" storage and not the original meaning. The "flash memory" chips used in USB drives and "memory" cards caused this change because they are both permanent storage, not temporary as explained in the following paragraph.
The Original Definition
Starting in the 1960s, memory has meant the computer's temporary workspace, which for decades has been a collection of dynamic RAM (DRAM) chips. A major resource in the computer, memory (RAM) determines the size and number of programs that can be run at the same time, as well as the amount of data that can be processed instantly.
To always be clear, avoid using the term memory, and instead use "RAM" for temporary memory and "storage" for permanent memory. RAM capacity in today's computing devices ranges from four to 32GB (gigabytes). Storage goes from 120GB to terabytes (TB). See dynamic RAM
, storage vs. memory
, USB drive
, memory card
and flash memory
It All Takes Place in Memory
All program execution and data processing takes place in memory, often called "main memory." The program's instructions are copied into memory from storage or the network and then extracted into the CPU's control unit circuit for analysis and execution. The instructions direct the computer or mobile device to input, process and output data.
Calculate, Compare and Copy
As data are entered into memory, the previous contents of that space are lost. Only in memory can data be processed (calculated, compared and copied). The results are copied from memory to a screen, printer, storage device or the network.
Memory Is an Electronic Checkerboard
Think of a checkerboard with each square holding one byte of data or instruction. Each square (each byte) has a separate address like a post office box that can be manipulated independently. As a result, the computer can break apart programs into instructions for execution and data records into fields for processing. See byte addressable
, early memory
A Checkerboard of Bytes
Once in memory (RAM), the contents of any single byte or group of bytes can be calculated, compared and copied independently. This is how fields are put together to form records and broken apart when read back in. In storage (hard drive, solid state drive, USB drive, etc.), data reside in sectors, typically 512 bytes long, they are the smallest unit that can be read from or written to the drive.
Computer Memory Does Not Remember
Oddly enough, memory does not "remember" anything when the power is turned off. So why do they call it memory? Because the first memory did "remember," but today's RAM chips do not. Although there are memory chips that do hold their content permanently (ROMs, EEPROMs, flash memory, etc.), they are used for internal control purposes and data storage, not for processing. To make it even more confusing, it appears that the next generation of memory may again "remember" (see 3D XPoint
and future memory chips
). See storage vs. memory
The main "remembering" memory in a computer system are the hard drives and solid state drives, which are sometimes called "memory devices," which only adds confusion (see storage vs. memory
Memory Can Get Clobbered!
Memory is an important resource that cannot be wasted. It must be allocated by the operating system as well as by applications and then released when no longer needed. Errant programs can grab memory and not let go, which results in less and less memory available to other programs. Restarting the computer gives memory a clean slate, which is why rebooting the computer clears up so many problems with applications.
In addition, if the operating system has bugs, a malfunctioning application can write into the same memory used by another program, causing unspecified behavior such as the system locking up. If one were able to look into and watch how fast data and instructions are written into and out of memory in the course of a single second, it would become obvious that it is a miracle it works at all.
Other terms for the computer's main memory are RAM, primary storage and read/write memory. Earlier terms were core and core storage. See dynamic RAM
, static RAM
and memory module