Last update: July 05, 2021

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:

kB – KiB:  1000 / 1024  = 0.977

MB – MiB:  (1000 * 1000)  /  (1024 * 1024)  = 0.954

GB – GiB:  (1000 * 1000 * 1000)  /  (1024 * 1024 * 1024)  = 0.931

Now we can easy find out formatted capacity for 1TB hard disk or 16TB (16000GB) array:

1000GB * 0.931 = 931GiB

16000GB * 0.931 = 14896GiB

Typically software will display GB as the storage unit size, but actually, it is GiB. Until this is changed, there will always be this confusion about the exact size of storage devices.

9 Comments

  • marko /

    24, 08 2010 12:40:11

    This should be taught at schools 🙂

    Reply
    • Nash /

      22, 08 2011 08:11:16

      Your answer was just what I neeedd. It’s made my day!

      Reply
  • RichardS /

    03, 09 2010 05:25:28

    @marko

    Yes should be, but some of the people still doesn’t understand it 😉

    Reply
  • Loodienny /

    30, 11 2012 08:08:53

    I have signed up for any future notifications of posts. I really like this post, keep up the good blogs

    Reply
  • Corrine Hely /

    07, 06 2015 03:36:49

    Very good post! We will be linking to this particularly great post on our website.
    Keep up the good writing.

    Reply

Leave a Comment