Thoughts on politics and life from a liberal perspective

Tuesday 20 July 2010

Why Windows reports my 2TB drive as 1.81TB

Before you read on, I should warn you that this blogpost is about ways of measuring computer storage and it gets a bit mathematical.

I got a new hard drive for my computer today. It is advertised as 2TB (or terabytes) of storage space. However when I installed it and had a look in Windows Explorer to check the capacity it is reading as 1.81TB. This is before I have copied anything to it.

I expect many other people have had similar experiences like this. There is an explanation for it. the storage space has not gone anywhere. It is because there are two ways of measuring what a terabyte is.

Back in the day when I first started using computers in the early 1980s the units for measuring computer storage space were usually bytes, kilobytes or at a push megabytes. A byte is a unit of storage that contains 8 bits (a bit is either a 1 or a 0, the lowest level of storage in the computer). So a byte can hold a value anywhere from 0 to 255. This is the building block upon which the much larger storage amounts are built upon.

Because of the way computers work using binary or base 2, it is convenient for them to have things expressed in powers of 2. In the example above regarding the number of bits in a byte, the number of different configurations that a byte can hold is 256 or 2 to the power 8 (2^8). When I first started using them, a kilobyte was 1024 bytes. Again, this is a power of 2, 2^10 bytes. A megabyte was 1024 kilobytes. As computers started to need more and more space the larger units we regularly see today such as gigabyte and terabyte started to be used. A gigabyte was 1024 megabytes and a terabyte was 1024 gigabytes.

The problem is that using 1024 as a multiplier is not a very accessible way for humans to think about these levels of data storage. It's much easier for us with our ten fingers and thumbs to think about things in base 10 or decimal as we usually refer to it. So people started rounding them down. Instead of a kilobyte being 1024 bytes it became acceptable for it to denote 1000 bytes. The same went for all the other units of computer measurement so a megabyte became 1000 kilobytes (or 1,000,000 bytes) etc.

In the year 2000 it became clear that there was too much confusion so a new system was brought in whereby what used to be referred to as a kilobyte was renamed a kibibyte. So officially 1000 bytes became a kilobyte and 1024 bytes are a kibibyte. 1024 kibibytes are a mebibyte. 1024 mebibytes are a gibibyte etc. etc. This enabled people to refer to the standard units using their more easily accessible multiples of 1000.

So why is Windows reporting my storage space on my hard drive incorrectly?

Because for various reasons computers are still using the kibibyte, mebibyte etc. way of denoting storage space. So when a hard drive turns up that has what the manufacturers and the marketeers all claim is 2TB, the computer takes one look at it and says, OK, so there are 2,000,000,000,000 bytes here. It then divides this amount by 1024 4 times to work out the number of tebibytes which in this case is approximately 1.81.

This might seem like a very arcane discussion but I see this as a big problem. Most people do not understand what I have just outlined above. Therefore they buy a drive that says 2TB on the box but when they install it it says 1.81TB in Windows and there is no explanation as to why this should be.

The difference between a kilobyte and a kibibyte is about 2.35%. It's not very much. The difference between a megabyte and a mebibyte is still less than 5%. But by the time we get up to the difference between a terabyte and a tebibyte the difference is nearly 10%. And as storage space increases in the coming years this difference is only going to get worse as we scale up and all those 1024s get mulitplied together. the next two levels up, petabytes and exabytes lead to a disparity of over 11% and 13% respectively. And if you think storage will never reach those sorts of levels in domestic devices, gigabytes and terabytes seemed impossibly large to us twenty or so years ago.

I am very happy with my new drive and I knew I was only going to get about 1.8 tebibytes out of it. There will be others however who will feel ripped off by this disparity. At the very least, computer manufacturers should be a bit clearer what they actually mean and perhaps the software and operating systems should also do a better job of defining exactly what they mean by MB, GB and TB.

That way, by the time we get to PB and EB the disparity will be understood and accepted rather than being the bane of technical support lines as customers try to work out where their "missing" storage space has gone.


You can read more about this subject here if you are interested.


3 comments:

Unknown said...

Clearly it's quite sad for me to have understood every word of that article, but I never understood what the problem was with having numbers to the power of 2.

In general, people don't understand bits and bytes, but they don't need to; however I'm sure most understand that a GB is about 1000 times bigger than a MB and so on, and that's roughly close enough for the brain to comprehend.

I think -bibytes should be abolished as all they do is allow manufactures to inflate their storage numbers.

Richard Gadsden said...

RAM, for utterly tedious technical reasons, has to be packaged in round number in binary, ie whole MiB / GiB.

Disk storage doesn't, so it is correctly measured in GB / TB.

Instead of showing two different, but similar sizes, OS writers prefer to use the binary-based units for both.

Hard drive manufacturers, who don't need to use two different sizes, don't have that problem.

Unknown said...

Nice and very helpful information i have got from your post. Even your whole blog is full of interesting information which is the great sign of a great blogger.

Acer - 15.6" Touch-Screen Laptop - 4GB Memory - 500GB Hard Drive - Silky Silver

Acer - 13.3" Aspire Ultrabook - 4 GB Memory and 256 GB Solid State Drive