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, mega means 1000000 (10^6), giga means 1000000000 (10^9) and tera means 1000000000000 (10^12). However, computers calculate storage space 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, 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
4TB 3725.29GB370.71GB

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.

RIDICULOUS!!!

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.
RIDICULOUS!!

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!

Anonymous said...

This was all litigated and decided in the courts in the early 1990s. Let's say manufacturers suddenly are compelled to report it differently or do so voluntarily. It won't change the price of the drives and all manufacturers will sell a 1.8TB drive instead of a 2TB. How does this change your purchasing behavior?

Anonymous said...

Manufacturers should calculate like the computer like 1MB = 1024KB and NOT 1MB = 1000KB as see in the 2TB, 185.36GB is lost because of that calculation they make and we could store so much data in that lost space like I am a gamer and as you might know games these days are above 100GB so we could have stored 1 100GB and another 50GB game! For example we could store GTA 5 and Fortnite and they are 95GB and 47GB respectively. That's all I had to say and I hope the HDD and SSD manufacturers see to it and calculate as the computer and not the way humans calculate.

Guyfranke said...

Why don't they just produce the SSD's capacity at that 6.87% higher base 2 number calculation necessary then sell it at the real marketed capacity of 256G available to the consumer ? ie a 256G SSD would then have 17G more = 273 G which is 17 GB more but has the 256G available for the consumer or the 500G SSD available and marketed to consumer actually is made with again 6.87% higher capacity of 34G more = 534G and has 500G marketed and available to the consumer. Everyone is happy and don't feel cheated. ;) Cheers !!

Anonymous said...

this thing working ? ie. a 256G SSD should be made with 17G more (6.87%) so that the full 256G is available to consumer. That's all.
Cheers !!

Tyler Worgan 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. If they want to put 1 tb exactly, the hard drive must have 1,093.32 gb. Stupid business! 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...

Why can't they just increase the storage a little more so that it would be 1TB?

Anonymous said...

I still think this is mis-selling, regardless of what was agreed in 1990. I perfectly understand the binary system since I program ECU's in new model vehicles which as yet have not gone into production. all the coding is done with bits and hexadecimal. The issue is not the cpu's data structure nor is it the missing amount of storage. The issue is as mentioned, the amount of available storage based on what is advertised to the customer. I am fine with purchasing a 931.32Gb ssd/hdd if that's exactly what I get for the money. Because I the know if the device is large enough for my purpose. However if I buy a 1Tb drive believing I can fit the data I wish to save on the drive is a little under the stated capacity, only to find I cannot get all the data on because I don't have actually 1Tb but instead 931.32Gb's which is say 30Gb's less than I needed, then I would be annoyed. So either quote the true storage capacity of the drive or increase the capacity and I will pay the extra cost and get what I was requiring in the first place. I believe this dosen't stand up in court because it is blatant miss-selling. In the uk this would come under the miss-selling of goods ie: not fit for purpose or does not match the descriptsion. Or so I'm told. Either way I should get what I've paid for. Just saying!!!

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.

read more >>
Featured Posts