Mebi the world is finally ready for Gibibytes
UNH IOL- August 9, 2012

Jeff Laird, UNH-IOL Research and Development
Have you seen the abbreviations MiB or GiB? Do you know what they mean and how to pronounce them? If not, read on.

After a couple of hundred years of fits and starts, the international metric system was officially born in 1960 in the form of SI units such as the gram, meter, and second. Included in that standard were prefixes such as kilo-, mega-, and giga- for multiples of a thousand, a million, and a billion. These prefixes worked well until the 1990s when computer engineers found themselves commonly working with powers of two rather than powers of ten. It turns out that some powers of two are conveniently close to powers of ten: 210 is about a thousand (1,024), 220 about a million (1,048,576), and 230 about a billion (1,073,741,824). However, not all computer engineers found the powers of two attractive. The communication and networking folks were fine with powers of ten. It was the memory and storage engineers who, shall we say, just had to be different. Not having their own prefixes, those engineers borrowed the SI prefixes and assumed people would know what they meant when they said a storage disk held “50 megabytes” when it really held 50 × 1,048,576 bytes, or 52,428,800 bytes.
No big deal, right? Well, not until somebody purchases a disk drive advertised as 50 megabytes and their operating system reports 47.7 megabytes. Lawsuits have been based on such differences.
The problem only worsens as the scale increases. As you can tell by repositioning the decimal point in the numbers two paragraphs above, at the thousands scale the difference is a paltry 2.4%, at the millions scale, 4.9%, and at the billions scale 7.4%. At the trillions scale (think terabyte hard drive) the difference is a solid 10.0%.
If ambiguity between communications terminology and storage terminology were not enough, the storage engineers even had trouble settling things among themselves. Remember the old 1.44 megabyte floppy disk? It stored neither 1.44 × 106 bytes (1,440,000) nor 1.44 × 220 bytes (1,509,949.44). Rather, it stored 1,474,560 bytes, which is a combination of powers of ten and powers of two (1.44 × 1,000 × 1,024).
Since the ambiguity was bound to cause more problems as time went on and scales increased, it was inevitable that standards bodies would get involved. In 1998 the International Electrotechnical Commission (IEC) devised a solution: Continue using the conventional prefixes for the powers of ten, and use new, similar prefixes for the powers of two. To form a new prefix, start with the initial syllable of the conventional prefix and add bi (reminiscent of binary but pronounced bee) as a second syllable. In this way kilo- becomes kibi- (KIH-bee), mega- becomes, mebi- (MEH-bee), giga- becomes gibi- (GIH-bee), and so on. To distinguish the abbreviations, simply insert an i after the conventional prefix abbreviation: kg → kig, MB → MiB (bytes), Gb → Gib (bits).
Incidentally, do you know why the abbreviation for kilo- is a lowercase k when all the others are uppercase? The reason is that uppercase K is used elsewhere in the SI system as the abbreviation for the temperature unit, kelvin.
How is adoption of this new terminology proceeding since the IEC first standardized it in 1998? It was adopted by Linux in 2001. The IEEE adopted it in 2005. NIST adopted it in 2008, Apple in 2009, and Ubuntu in 2010. So far Microsoft Windows has not adopted the terminology, so you will still see your 1,000,000 byte file listed in the Windows file manager with size 977 KB (sic, should be kB). How about your organization? Are you among the ambiguous or the clear?
NIST reference – http://physics.nist.gov/cuu/Units/binary.html
