Why a hard drive has less storage space than promised?

It has happened to most of us. We buy a new hard drive (or maybe a flash drive) with mind boggling storage capacity only to find that it has less space than what was mentioned on the box. Angered, we start cursing the manufacturer and our dealer for false marketing thinking that they should be sued for doing this. Hey, but have you ever wondered how they continue to do this again and again without getting into legal trouble?

The answer is that they are not marketing it falsely at all. Surprised? I'll explain.
hard drive

A manufacturer considers 1 Megabyte to be 1000 Kilobytes, 1 Gigabyte to be 1000 Megabytes, 1 Terabyte to be 1000 Gigabytes and so on. This is correct considering that kilo means 1000 and mega means 1000000 (10^6). However, computers calculate on base 2 and to them, 1 MB is actually 1024 kilobytes, 1GB is 1024MB and 1 TB is 1024GB. This difference in the method of computation is responsible for this "missing space."

Let's take an example of a 500 GB hard disk.

From a manufacturer's point of view, the 500GB will have 500*1000*1000*1000 = 500000000000 bytes.

From a computer's point of view, 500GB is actually 500*1024*1024*1024 = 536870912000 bytes.

So, a hard drive that promises to have 500 GB storage space will actually display 465.66GB, 536870912000-500000000000 = 36870912000 bytes (34.34GB) less storage space when connected to a computer.

Space Promised Displayed on a computer Difference
100GB 93.13GB6.87GB
250GB 232.83GB17.17GB
500GB 465.66GB34.34GB
1TB 931.32GB92.68GB
2TB 1862.64GB185.36GB

Take a look at the table given above to see how much space is "lost" due to computers working on a base 2 system. As you can see, with the increase in capacity of the storage device, there is an increase in the missing space.

Reader Comments

Innocent Sm said...

Informative stuff.

anjan karki said...

i understand that the manufacturer takes 1000 mb as 1 gb.then why is the hard disk with 1 tb space is not 1000gb and instead it is 931 gb.
i understand the calculations done up there but why are u taking the difference between base 2 system and manufacturer specifications. as u said if the manufacturer takes 1000 gb as 1 tb then when they sell 1 tb harddisk it should have 1000gb not 931 gb. why take the difference??????

Akhilesh said...

That is because every GB of the 1TB hard drive will have 1000MB instead of 1024MB. Every MB here will too have 1000 KB instead of 1024KB. The same is true for each KB. Hence, a hard drive advertised as 1TB will have 1000,000,000,000 bytes which is ~931GB in terms of base 2 system.

Pongwut Maensamut said...

I think it has lost too much on 2TB. 185.36GB!

Abhishek Garg said...

Thanks for posting this. Great info.

goldsalltime said...

But to my surprise I use more than one of each size yet to notice that they are different in reduced size eg 100gb sometimes will be 92,93,89,94 why? At first, I just thought maybe its a reserved space in case of overdose.

Rodolofo Rubens said...

I still think that this is false advertising.

Anonymous said...

Why the hell will the manufacturers consider it like metric system and not in computer sense. They are not making or selling grocery items. They are selling computer parts and therefore should measure in the same way the computer understands it.!!!

This is simply deliberate fraud. It's like I am driving a car, my speedometer is showing 60miles per hour but my car manufacturer tells me that they consider 1 mile = 4000ft instead of 5280ft. Hence the actual speed I am getting is (60*4000)/5280 = 45.45 miles.


Anonymous said...

@Anonymous: Why the hell would you use your silly measurements like inch, yard, feet, elbows, fists, stones, and miles when you got a perfect good measurement scale like mm, cm, dm, m, km, and m.

However you would answer: Well because it makes sense to me. Same thing goes for the manufacturers, they give you a rounded down number witch is easier to remember, easier to put on the box, and easier for all sorts of people that are not interested nor know anything about computers at all.

spidermonkey903 said...

@Anonymous: "same thing goes for the manufacturers," No sorry it doesn't. They are making computer products. If you think that a 1000 KB makes 1 MB then you shouldn't be making a HD. It is completely fraudulent and the "it's easier for all sorts of people" excuse does not make this kind of BS right. With increasing demands for higher specs on computers the difference in measurement becomes incredibly noticeable. Imagine if an ISP did this when calculating costs and bandwidth.

Anonymous said...

Now I think that it is good that we are not moving up towards tertiary, because in tertiary 1 kilobyte would be equal to 2187 bytes (3^7){mathematically} but these manufacturers would take it as 1000 bytes reducing the size to the half of what it should be

Anonymous said...

You guys are wrong. Windows/Mac calculates the space in units of 1024, so you would have 500 GB = 500,000,000,000 bytes * (1 GiB/1024^3 bytes) = 465.66 GiB. Unfortunately, the people who make the OS label this as 465.66 GB. THAT is the issue. The hard drive manufacturers are correctly labeling 500 trillion bytes as 500 GB. The Windows OS is displaying a number which is NOT incorrect, but with the wrong units. If the OS instead reported 465.66 GiB, then we'd have no issue -- 465.66 GiB is INDEED 500 GB. But 1 GiB = (1.024)^3 GB = 1.07374 GB, so that's where the discrepancy comes from.

Don't believe me? Invert the result to get 1 GB = 0.93132415668 GiB. Multiply by 500 and you get 500 GB = 465.66 GiB.

TL;DR: Blame the computer operating system coders, NOT the hard drive manufacturers.

Anonymous said...

@Anonymous: Why can't the manufacturers and OS developers use the same method to calculate storage space?

Bernd Eckenfels said...

It helps to refer to the base-2 units as GiB/MiB/KiB as officially defined by the IEC. This also is the argument of the manufacturers, MB is defined base-10 in ISO unit systems. BTW: some even do things like 1MB = 1000 * 1 kiB (i.e. mixing both for floppy sizes).

Heegee said...

My understanding is that the operating system uses up a portion of the memory storage and that's why we get less storage than advertised.

AB said...

I dread for the future of a 100TB hdd because it will only show 90TB on a computer that's a 10TB difference!

Cliff Jenkins said...

I recently purchased 1TB USB Flash Drives from the same vendor. The first time, they were recognized as 976GB. The second batch, all of them are 917GB. Any idea why?

Anonymous said...

If I were a manufacturer, I would advertise that my drive is actually 1TB and actually do the math to make up the difference in measurement. Sure, my math would be wrong, but the customer would plug in a drive that actually says 1000GB in the OS. Wouldn't that be fantastic?

Loki Fenrir said...

The answer? BINARY! All about counting the bits... (& when you truly understand computers you understand why 8 is important) What are we working with? Data? okay cool... 1: "byte is a unit of data that is eight binary digits long" 2: "a bit is a unit that can have one of -2- values 1 or 0". Science - Computing dispute: To scientists, kilo,mega,giga... translates into thousandfold its predecessor (SI units) To computing the kilo,mega,giga... translates into 2 to the power of tenfold ie. 2^10 = 1024 (kilo), 2^20 = 1048576 (mega), 2^30 = 1073741824 (giga) etc. Okay so whose head hurts yet? Whats easier to monitor when producing goods? 1000 + 1000 + 1000 or 2^10 * 2^10 * 2^10? But here is the clincher you must absolutely be 100% accurate even when going into 1000,000,000,000,000 times the unit you need to monitor to be correct!!! This is why Hard drive manufacturers use the SI unit of data.

Anonymous said...

The manufacturers decided to switch to decimal as a marketing tool - no more, no less. They wanted to claim that drives were bigger than they actually were, and sell them based upon their size instead of the standard measurement.

This is not something that has been around 'forever' - I can remember the brou, and the haha when they started the changeover.

Anonymous said...

Guys, it is a very critical thing. It should be addressed by both manufacturers and OS coders instead of providing misleading info, no matter how profoundly one would try to explain the loophole, but again reserved spaces are inevitable, therefore reserved spaces should be declared and provided by default such that we have actual space provided by manufacturers regardless of PC or OS.

Anonymous said...

Sadly they do now. With my mobile carrier usage is based on 1024 yet limits are 1000.

U said...

It is not a matter of coding/manufacturing. This is a matter of how a computer interprets space based on the information the CPU knows in a binary sequence. This has nothing to do with what the manufacturer of the OS or the hard drive is providing. Everything is interpreted by the binary structure of what the CPU registers. CPU's are nothing more than giant calculators that speak in binary. the CPU would need to be completely restructured and redesigned.

Anonymous said...

All I want is the actual size not the difference. They should sell hard drives like 1 tb to be 1 tb rather than 931.32GB as mentioned. I know how the information works, binary and etc. The manufacturers must do it accurately, if they sell a hard drive - they must put 931.32gb rather than 1 tb, because it sucks! If they want to put 1 tb exactly, the hard drive must have 1,093.32 gb. Stupid business!

Post a Comment

Make your opinion count by posting a comment.

Author About
Akhilesh Sharma maintains and writes Tweak And Trick. He is a technology enthusiast and a science student.
You can contact him at tweakandtrick@gmail.com.

Featured Posts