White Paper
ISS Technology Update Volume 9, Number 1
2
How many bytes are in a GB?
Storage device manufacturers and operating system developers answer this question differently. This is the reason why a
number of lawsuits have sprung up around the country, typically between storage device manufacturers and disgruntled
customers. For example, the capacity of a 300,000,000,000 byte drive is reported as 300 GB by storage device
manufacturers but is often reported as 279.4 GB or 286,102 MB by the OS. The variation stems from different interpretations
of the “prefixes” G and M.
Prefixes are the set of letters that precede units such as “bit” (b) and “byte” (B). The computing industry uses prefixes like kilo
(k), mega (M), giga (G), and tera (T) to describe disk storage capacity, file size, memory size, and data transmission rates (10
Gigabit Ethernet, 6 Gb/s SAS). The prefixes k, M, G, and T are from the International System of Units (SI), and they are
defined as powers of ten: 10
3
, 10
6
, 10
9
, and 10
12
, respectively. In many instances, however, the computer industry has
erroneously used these SI decimal prefixes to quantify binary multiples, which are based on powers of two: 2
10
, 2
20
, 2
30
, and
2
40
(see the note “How it started”). The error, and resulting confusion, due to the incorrect use of SI decimal prefixes for binary
multiples becomes more significant for larger multiples (see Table 1-1).
Disk drive manufacturers correctly use SI prefixes and power of ten values because drive capacity is not intrinsically a power of
two. Although drive capacity is a multiple of 512 bytes (n2
9
), it is not restricted to being 2
n
bytes. Software often reports drive
and file capacity by misusing SI prefixes with power of two values. This difference has resulted in lawsuits against some storage
product manufacturers since the OS may report the capacity of a 300 GB drive as "279.4 GB". To protect against legal
action, manufacturers typically include unnecessary disclaimers such as "When referring to hard drive capacity, one gigabyte,
or GB, equals one billion bytes and one terabyte, or TB, equals one trillion bytes."
Table 1-1. The difference (error) between decimal and binary is more significant as binary multiples increase.
Correct SI usage
Incorrect binary usage
Factor Value
Name Prefix
Factor Value
Error
10
3
1,000
kilo k 2
10
1,024
2%
10
6
1,000,000
mega M 2
20
1,048,576
5%
10
9
1,000,000,000
giga G 2
30
1,073,741,824
7%
10
12
1,000,000,000,000
tera T 2
40
1,099,511,627,776
10%
10
15
1,000,000,000,000,000
peta P 2
50
1,125,899,906,842,624
13%
10
18
1,000,000,000,000,000,000
exa E 2
60
1,152,921,504,606,846,976
15%
10
21
1,000,000,000,000,000,000,000
zetta Z 2
70
1,180,591,620,717,411,303,424
18%
10
24
1,000,000,000,000,000,000,000,000
yotta Y 2
80
1,208,925,819,614,629,174,706,17
6
21%
How it started
The size of a byte—the smallest amount of data a computer can access at once—is hardware dependent. The
modern de facto standard of 8 bits per byte is partly due to the IBM System/360 architecture introduced in the
1960s and the 8-bit microprocessors introduced in the 1970s. The IBM System/360 team was the first to
misuse SI prefixes to describe RAM capacity. They used the value "32k" to describe 321024 bits because it
was approximately 321000.
New binary prefixes
In 1998, the standards organization International Electrotechnical Commission (IEC) adopted new prefixes for binary powers
based on recommendations by the International Union of Pure and Applied Chemistry (IUPAC) and the National Institute of
Standards and Technology (NIST). The binary prefixes are defined in the international standard IEC 60027-2:2005, third