Capacity of modern data storage devices:
Whereas RAM memory is typically randomly-accessed, so is virtually every other type of memory device in the computer. Nonvolatile memory integrated circuits in personal computers are commonly (and properly) referred to as ROM (Read-Only Memory), but their data contents are randomly accessed, just like the volatile memory circuits. At last, there needs to be a way to denote how much data may be stored by any particular memory device. This, luckily for us, is very simple and straightforward: only count up the number of bits (or bytes, 1 byte = 8 bits) of total data storage space. Because of the high capacity of modern data storage devices, metric prefixes are commonly affixed to the unit of bytes in order to represent storage space: 1.6 Gigabytes is equivalent to or 12.8 billion bits, 1.6 billion bytes of data storage capacity.
Here the only caveat is to be aware of rounded numbers. Because the storage mechanisms of several random-access memory devices are typically arranged so that the number of "cells" in which bits of data may be stored appears in binary progression (powers of 2), a "one kilobyte" memory device most likely contains 1024 (2 to the power of 10) locations for data bytes instead of exactly 1000. A "64 kbyte" memory device actually holds 65,536 bytes of data (2 to the 16th power), and must probably be called a "66 kbyte" device to be more precise. While we round numbers in our base-10 system, we fall out of step along the round equivalents in the base-2 system. Let us try to understand fundamental memory digital circuits for RAM and ROM.