July 5, 2013

When a Byte is not a Byte

Filed under: Main — Tags: — admin @ 12:01 am

It’s with great pride that you bring home that 3TB hard drive. It’s awesome! Three trillion bytes of storage, who could imagine? Then you install the thing and, lo and behold, the operating system reports 2.54TB are available. Huh?

You haven’t been ripped off, well not officially. Part of the reason for the missing bytes is due to the way bytes are counted in the binary dimension. The hard drive manufacturer isn’t lying as much as they’re taking advantage of the power of 2.

Computers are binary beasts, using ones and zeros for everything. Counting those ones and zeros involves a bunch of Greek. Specifically, Greek prefixes to account for large values: kilo, mega, giga, and tera.

To a human being, kilo means 1,000 of something. Mega is one million. Giga is one billion. Tera is a trillion.

To a computer, a kilobyte isn’t really 1,000 bytes. That’s because bytes, composed of bits, don’t evenly mesh out to 1,000. They mesh out to 1,024. That’s 210, with two being a binary thing and computer scientists preferring the value 210 over 1,000 with is 29 plus change.

One megabyte is actually 1,048,576 bytes, 220.

One gigabyte is actually 1,073,741,824 bytes, 230.

One terabyte is actually 1,099,511,627,776 bytes, 240.

And therein lies the rub: When you buy a hard drive, is the 3TB value really 3,000,000,000,000 bytes or 3,298,534,883,328 bytes? The first value is the way humans count, the second value the way computers prefer to count.

The hard drive industry would like you to accept that a hard drive with exactly 3,000,000,000,000 bytes of storage is a 3TG drive. The computer, however, sees it as a 2.796TB drive. That’s because when you divide the value of 3,000,000,000,000 bytes by the nearest power of two, you get the value 2.795TB.

It’s a binary thing, but it’s also grossly unfair to the consumer.

Computer nerds in white lab coats wielding clipboards have tried to rationalize the discrepancy by coming up with a new term that no one uses: kibibyte. I’ve written about it here and here before.

You see, they’d like us to believe that the term kibibyte refers to 1,024 bytes. The term kilobyte refers to exactly 1,000 bytes.

On that I say, “Bullshit.”

A byte is a byte. Computers are binary. A kilobyte has and always will be 1,024 bytes form now until infinity or n/0, whichever comes first. The only justification I can come up with for kibibyte is hard drive manufacturers who want to boast that their storage devices pack in more information than they really do.

And that explains the missing bytes on your 3TB drive.

Well, that, plus the operating system takes some overhead when the device is formatted. But that pretty much explains it.

Oh, and kibibyte isn’t even in my online spell checker, so I seriously have my doubts as to whether it really does exist. So there.

No Comments

No comments yet.

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.


Powered by WordPress