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

  • Ewan /

    23, 07 2015 01:49:03

    Excellent web site you have here.. It’s hard to find high-quality
    writing like yours nowadays. Take care!!

    Reply
  • Bryan Clare /

    27, 10 2015 11:25:00

    Very good but . . . surely your calculations give the UN-formatted capacity. So a 4GB memory card will have an actual capacity of 4*0.931=3.724GiB. I may be wrong but doesn’t the card then have to be formatted using FAT32, FAT16 or whatever which will use some memory so the usable (ie formatted) capacity wil be even lower. I’d like to know how much as I am hoping to fit 3.48G(i?)B of pics on a 4GB card.

    Reply
  • Shashank /

    08, 01 2016 09:53:05

    Excellent article! Cleared my confusion and was simple to understand.
    Great job guys.

    Reply
  • Santhana Krishnan /

    07, 02 2016 06:31:13

    Yes.

    I loved your article. It cannot be explained so simple than this to any one.

    Great Post !!

    Reply

Leave a Comment