From time to time, some meticulous customer asks us how come a fresh formatted hard disk or RAID array volume is smaller than the nominal capacity. For example, when you format a 1TB hard disk, the resulting drive appears to have 931 GB even though the hard disk label claims 1000GB.
Where are the “missing” gigabytes?
The problem is much more pronounced if someone formats a 16TB RAID volume and, instead of the expected 16000 GB, they only see 14896GB. This looks like a significant loss: 1104 GB. “We paid for 16000GB!” exclaimed one company controller.
This phenomenon arises because hard-disk manufacturers and RAID array controllers count the capacity differently than the file system does. The prefixes kilo, mega, giga, and tera are used to state powers of ten. However, the data being handled in computer software is typically organized based on powers of 2, so it became customary to call 2**10 a kilobyte, which was really 1024 bytes, not exactly 1000.
Storage hardware is using the base-ten 10 numeral system capacity units, while the software – the base-two numeral system. So no storage is actually lost, and it is just a question of how the information is represented.
IEC System of Prefixes
The IEC has created a system of prefixes to differentiate between the base 10 and the base 2 systems. In base 2, the proper terms are kibibyte, mebibyte, gibibyte, and tebibyte. The “-bi-” refers to binary. In short, they are KiB, MiB, GiB, TiB. But these are not frequently used.
However, in order to get exact proof, we have to know the math behind it.
How to Calculate the Binary Factors?
Hard disk manufacturers assume: Kilo = 10 3 = 1000 (kB)
File system assumes: Kilo = 2 10 = 1024 (KiB)
Let us calculate kB, MB, and GB to KiB, MiB and GiB factors: