RAID Solutions made easy!
An essential element of the data availability architecture is RAID. With a RAID configuration, you…
Read MoreLast 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.
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.
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.
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
August 24, 08 2010 12:40:11This should be taught at schools 🙂
Nash
August 22, 08 2011 08:11:16Your answer was just what I neeedd. It’s made my day!
RichardS
September 03, 09 2010 05:25:28@marko
Yes should be, but some of the people still doesn’t understand it 😉
Loodienny
November 30, 11 2012 08:08:53I have signed up for any future notifications of posts. I really like this post, keep up the good blogs
Corrine Hely
June 07, 06 2015 03:36:49Very good post! We will be linking to this particularly great post on our website.
Keep up the good writing.
Ewan
July 23, 07 2015 01:49:03Excellent web site you have here.. It’s hard to find high-quality
writing like yours nowadays. Take care!!
Bryan Clare
October 27, 10 2015 11:25:00Very 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.
Shashank
January 08, 01 2016 09:53:05Excellent article! Cleared my confusion and was simple to understand.
Great job guys.
Santhana Krishnan
February 07, 02 2016 06:31:13Yes.
I loved your article. It cannot be explained so simple than this to any one.
Great Post !!