Why is my hard drive smaller than the advertised capacity?

They definitely should fix this, it really hurts on the large scale now that drives are so big. For example, my raid 5 array with 8 1TB drives is not 7TB like you'd expect, but is 6.3TB. I'm losing almost a whole TB due to this miscalculation.

Data storage should not be treated the same way as SI units. Sure the system is similar, but it's the exception. It's x1024 for unit steps and not x1000.
 
Most people don't know about this 1024 stuff and will never know, never want to know, and never be able to do the calculations (and even we aren't really able to do them by head nowadays).

So the reasonable way is to keep it simple, with multiples of 1000.
 
They can't make a drive exactly 4 trillion bytes because it still has to be divided in to 512 byte or 4KB sectors (that's 4096 bytes).

It seems the proponents of misusing the the K, M, G, T prefixes also have trouble with basic arithmetic. In retrospect, not terribly surprising.
 
Last edited:
Most people don't know about this 1024 stuff and will never know, never want to know, and never be able to do the calculations (and even we aren't really able to do them by head nowadays).

So the reasonable way is to keep it simple, with multiples of 1000.

Right. With the exception of low-level computer programmers, everyone uses only base-10 numbers. While computers use binary internally, it makes no sense to force everyone else to use binary. Computers are supposed to make things easier for people, so it only makes sense to use base-10 for counting. Only low-level computer programmers need to concern themselves with binary, and part of their job is to shield everyone else from having to deal with binary.

Claiming that we need to use binary units when talking about storage capacity is as absurd as claiming that we need to use binary numerals when specifying storage capacity.

Hey, I just got a 0b1110111.001101 GiB SSD! :rolleyes:

It is easier for almost everyone to just use base-10 numerals and prefixes.
 
For example, my raid 5 array with 8 1TB drives is not 7TB like you'd expect, but is 6.3TB.

Wrong, it is indeed 7TB like anyone who knows the 200-year-old definition of T = 10^12 would expect.

What you mean is that it is 6.366 TiB (or if you really insist on doing everything in binary, then 0b110.0101110111TiB). But why anyone should care how many TiB their RAID array stores is a mystery. Knowing how many TB is much easier.
 
. But why anyone should care how many TiB their RAID array stores is a mystery. Knowing how many TB is much easier.

Most filesystems have cluster sizes that are powers of two. Harddrives have sector sizes that are powers of two. RAID array stripe sizes are powers of 2. Files in an uncompressed file system by default will always take up a whole number of clusters which means capacity remaining is some multiple of a base2 unit (cluster size).

It seems the proponents of misusing the the K, M, G, T prefixes also have trouble with basic arithmetic. In retrospect, not terribly surprising.

You got me on that one.
 
Most filesystems have cluster sizes that are powers of two. Harddrives have sector sizes that are powers of two. RAID array stripe sizes are powers of 2. Files in an uncompressed file system by default will always take up a whole number of clusters which means capacity remaining is some multiple of a base2 unit (cluster size).

None of which is necessary for a person to know when they are talking about how many trillion bytes their RAID volume holds.

In the extremely rare case where you need to know down to the byte how many bytes the RAID volume holds, then you just write it out, for example:

7001396269056 Bytes

or, you can write it out exactly as

7.001396269056 TB

which is easy when you use base-10 numbers with base-10 prefixes.

In contrast, to write it out in TiB requires some computation, and in general it is not exact unless you include more digits:

6.36773281171918 TiB

If you use binary prefixes and want to get it exact with a fixed number of digits, then you need to use binary numerals (or hex or octal) as well:

0b110.0101111000100011101111001101 TiB

Which is ridiculous. It is much easier to just use base-10 prefixes with base-10 numerals.
 
Last edited:
When I'm writing technical documents, I'll concede that I use KiB, MiB, TiB. The purpose of course being to follow best practice of being unambiguous. However, it will be a cold day in hell before I say "Mebibyte" (nor have I ever heard it said by anyone I've encountered). I use form "binary Megabyte" when i'm trying to be specific.
 
Nope. Here in France we have a storage tax, 0,015€/GB at least (more for small capacities like in smartphones), that kills the market for NAS and other hardware sold with the hard drive(s). Fortunately internal hard drives are not taxed.
 
The money helps "creation" (mainly music but also the movie industry) and on the flip side there is no real prosecution of "pirates" even if it's illegal on the books, nobody gets millions in punitive damage and certainly not prison.
 
Back
Top