Size units in data storage

In software, the kilobyte equals 1024 bytes, which is 2 to the power of 10. The megabyte (1024 KB) is then equal to 1,048,576 bytes, and the gigabyte is 1,073,741,824 bytes.

On the other hand, hardware vendors (specifically a hard drive vendors) use decimal scale, in which 1 gigabyte equals 1,000,000,000 bytes.

This amounts to about seven percent difference in a gigabyte capacity between what is written on the hard drive itself and what Windows tells you. The useable capacity is even less than that, because certain amount of space is reserved for a system's own purposes.

This accounts for certain limits having "unusual" values. For example, older computers may be unable to recognize drives larger than 137 GB. This is due to the software limit on a number of 512-byte sectors it can see on a drive. The actual limit, however, amounts to 128 "binary" gigabytes. Taking into account the above difference, we arrive at 137.4 "decimal" gigabytes as a limit value.

To clear the confusion, a special term was introduced, "kibi-" instead of "kilo-" to denote 1024 units. Similarly, "mebi-" is proposed for 220, and "gibi-" for 230, to be used instead of "mega-" and "giga-", respectively. However, these terms have no widespread use as of this writing.

Continue to Cluster size and slack.