There has been confusion in the IT industry for years about how large storage devices actually are. Manufacturers say they’re selling you a two-terabyte hard drive, but then when you format it, all you get is 1.86 “terabyte”. This is in quotes for a reason we’ll get to soon. Where did all the space go? Where did the speed go? There have been several myths to this over the years, ranging from blaming overhead from the file system to manufacturers lying to the drive’s overhead.
In actuality, this all just comes down to the precision of language. There are two completely different tracks of terms for computer industry: one of those tracks is base 10 and one is base 2 (binary). Somewhere in the past, however, we started conglomerating those words together into common terms that we use for both base 10 and base 2 storage.
“Kilo” versus “kibi” prefixes
These prefixes are non-IT terms. Much of the world uses the metric system to measure the weight of things in kilograms (1000 grams), or kilometers/hour (1000 meters an hour). In IT terms, “kilo” also means one thousand, but it’s different depending on how you measure it. A kilobyte is 1,000 bytes (a byte is eight bits), whereas a kibibyte, however, is the closest binary (base 2) number to 1000, at 1,024. So, a kibibyte is 1024 bytes, but a kilobyte is 1000 bytes. This process continues up through all of the other numbers.
Marketing or just misleading?
Where this becomes a trick is when you’re marketing numbers. If you’ve ever wondered why your RAM is always in weird numbers (ex: 8 GB, 16 GB, 32 GB, 64 GB) it’s because they’re all powers of two. Storage, however, uses base 10 for its marketed storage. Storage and RAM both use the same terms, gigabytes and megabytes, but they give you different equivalent amounts. What gives?
Let’s look through a quick chart to compare the Base 2 and Base 10 terms and capacities.
|Unit||Base 10 Term||Base 10 Capacity||Base 2 Term||Base 2 Capacity|
|Base unit||Byte (B)||10 bits||Byte||8 bits|
|Thousand||Kilobyte (KB)||1,000 bytes||Kibibyte (KiB)||1024 bytes|
|Million||Megabyte (MB)||1,000 Kilobytes or 1,000,000 bytes||Mebibyte
|1024 Kibibytes or
|Billion||Gigabyte (GB)||1,000 Megabytes or 1,000,000,000 bytes||Gibibyte
|1024 Mebibytes or 1,073,741,824 bytes|
|Trillion||Terabyte (TB)||1,000 Gigabytes or 1,000,000,000,000 bytes||Tebibyte
|1024 Gibibytes or 1,099,511,627,776 bytes|
|Quadrillion||Petabyte (PB)||1,000 Terabytes or 1,000,000,000,000,000 bytes||Pebibyte
|1024 Tebibytes or 1,125,899,906,842,624 bytes|
Even though storage is marketed in base 10, computers store data in powers of two. So when a computer saves what we call one “kilobyte” of data, it actually stores 1,024 bytes. But … that’s not the proper name for it. It should be one kibibyte, which is the powers of two option. So, while RAM comes in the base 2 number, it then misnames it by calling it a gigabyte instead of a gibibyte. Storage properly calls it a gigabyte, even though it’s stored and used in gibibytes. It’s all wonderfully confusing.
|What You Buy||What You Get, Base 2||What You Get, Base 10||What’s Wrong?|
|8 Gigabytes of RAM||8 Gibibytes||8.59 Gigabytes||Sold as gigabytes, but is actually gibibytes|
|768 Gigabytes of RAM||768 Gibibytes||824.6 Gigabytes||Sold as gigabytes but is actually gibibytes|
|256 Gigabyte SD card||238.4 Gibibytes||256 Gigabytes||Sold as gigabytes, shows up in computers as Gibibytes|
|6 TB HDD||5.45 Tebibytes||6 Terabytes||Sold as terabytes, shows up in computers as Tebibytes|
It quickly becomes easy to see how the minor difference of measurement, two bits, really shows in the real world. When you’re talking the difference of one megabyte vs one mebibyte, you’re looking at only 47 kibibytes difference, which isn’t that noticeable to most people. When you’re looking at one terabyte or tebibyte, however, the gap is 92 gibibytes, which is a lot of storage. How did we get to this situation?
It starts many years ago, the terms for base 2 (kibibyte, mebibyte, etc.) didn’t actually have a standard usage until 2000, when the IEC set one. The standard was specifically created to solve the confusion between base 10 metric numbers (10, 20, 30, 40, etc.) and base 2 binary numbers (8, 16, 32, 64). By 2000, it was pretty much too late to change people over to using the new system, which is why in most of your OSes, the capacity still shows in GB, not GiB, even though technically, it is GiB that it’s using.
So, when planning your storage, always think (and ask) whether people are talking about base 2 or base 10 numbers to make sure you get what you expect. This ties directly in with the vendor practice of selling storage capacity pre-RAID. If you put together base 10 and pre-RAID capacities, you may only end up getting 60 percent of the storage you thought you were buying in the end.