August 30th, 2009
When will Microsoft follow?
It is a common question: why does my computer say a 1,000 GB drive is only 932 GB? What happened to the other 68 GB I paid for?
Actually, you have every byte you bought. But because operating systems report storage capacity in base 2 rather than the official base 10 the numbers look short.
And as drives get bigger, the “shortage” gets bigger:
Table from Your capacity will vary
Main memory is measured in base 2 as well - 1 KB of RAM is actually 1024 bytes - because most processors access memory in base 2 chunks - 8, 16, 32 or 64 bits - and it simplifies the internal math to use the same base 2 that the processor uses.
But disks are just a box of bytes that can be formatted many different ways. For example, a vendor can choose to store data in 20-bit chunks - 16 for data and 4 for extra ECC - which reduces the available capacity but not the raw capacity that disk vendor shipped.
The Apple fix
In Snow Leopard MacOS 10.6 storage capacity is now reported the way storage vendors specify it: in base 10. Snow Leopard will report the same capacity that the drive vendor shipped.
Of course, some capacity is used for formatting and other capacity may be used for files that are normally kept invisible. But at least the capacity the operating system reports and the capacity you thought you were buying will now match.
The Storage Bits take
Over the last 25 years, ever since hard drives started becoming common on PCs, curious users have been confused by the capacity reporting anomaly. Apple’s simple fix is one small but important step towards making data storage user friendly.
Some may argue that this wasn’t a bug, that the reporting was correct and the people wrong. But that isn’t the way it works in a consumer-driven world: if it isn’t right for the people using the system, it isn’t right. Get over it.
Update: Many commenters are arguing that mega, giga, tera etc. are base 2 metrics. Sorry for shouting but YOU ARE WRONG!
SI, IEC and IEEE have all specified, some starting over 10 years ago, that mega, giga, tera etc. are base 10 metrics. If you want base 2 you need to specify it with prefixes like kibi.
So man up, flush your stale cache and join the 21st century. I’ll ignore the slurs on my credibility for now, but don’t let it happen again. End update.
Comments welcome, of course. That’s right, officially MB is base 10, while MiB is base 2. Read the official Apple knowledge base article here.