Where do the missing gigabytes on a new drive go?

A one-terabyte drive, and the system reports 931 gigabytes. The manufacturer counts a gigabyte as a billion bytes, the system counts it as 2³⁰, and the system's division mark is 7.4 % longer. The gap is constant, it can be calculated, and it grows with capacity.

The capacity is printed right on the lid of the drive, in the largest type on the label — and it was counted on the manufacturer's scale.
The capacity is printed right on the lid of the drive, in the largest type on the label — and it was counted on the manufacturer's scale.Photo: TheDragonFire300 / Wikimedia Commons, licence CC BY 4.0 (creativecommons.org/licenses/by/4.0), downscaled.

A new one-terabyte drive — spinning or solid-state, it makes no difference here. You put it in the computer, open the properties and see 931 gigabytes. Sixty-nine of them went somewhere before you wrote your first file.

The first thought is that the manufacturer rounded in its own favour. The second is that the housekeeping structures took the space. One sounds like fraud, the other is nearly right but does not explain the scale: 69 gigabytes of overhead on an empty drive does not happen. Both guesses miss by a single step, because the discrepancy arises earlier — in the fact that the word “gigabyte” means two different numbers to the manufacturer and to the system.

One prefix, two meanings

NIST puts it without diplomacy: “Today ‘everybody’ does not ‘know’ what a megabyte is… most manufacturers use megabyte to mean 2²⁰ = 1 048 576 bytes” — while the makers of storage devices mean exactly a million by the same word.

This is not a split between the honest and the dishonest but between two industries, each of them consistent within itself. Memory is addressed in binary, so its natural step is a power of two. Drives are sold by capacity, so their step is a power of ten. One word covers both.

So that the two meanings can be told apart in writing, the binary ones have names of their own. NIST sets them out in a table; the first two letters match the decimal prefix, and after that the names part company:

MultiplierNameSymbolValue
2¹⁰kibiKi1 024
2²⁰mebiMi1 048 576
2³⁰gibiGi1 073 741 824
2⁴⁰tebiTi1 099 511 627 776

The third row is your case: the proper name for what the system shows is not a gigabyte but a gibibyte. The system writes “GB” and counts GiB.

The gap widens at every rung

At the kilobyte the discrepancy comes to 2.4 %, which nobody has ever noticed. At the megabyte it is already 4.9 %, at the gigabyte 7.4 %, because the rungs multiply into one another.

Next in the table comes the tebibyte, and there the gap is already close to a tenth:

10¹² ÷ 2⁴⁰ = 1 000 000 000 000 ÷ 1 099 511 627 776 = 0.909

The manufacturer's terabyte is 0.909 of the system's tebibyte. Those same 69 gigabytes come out of the same division, one rung lower:

10¹² ÷ 1 073 741 824 = 931.32

Exactly the number on screen. Nothing vanished: 931 gibibytes are that very terabyte under a different unit.

A check that takes a minute

Take any drive or memory stick you own and multiply the figure from the box by 0.909; out comes what the system will show. For a gigabyte-sized stick the multiplier is 0.931, for a megabyte-sized file 0.954. The agreement is exact to the first decimal, and once the number matches there is no missing space left to look for.

A black memory stick with the cap off, its capacity printed in small letters on the body
A memory stick with the capacity printed on the body is the quickest way to test the multiplier: what is written on the side, times 0.931, is what the system will show. Photo: Peter Hosey / flickr, licence CC BY 2.0 (https://creativecommons.org/licenses/by/2.0/), unmodified.

The same mismatch works in the other direction too. An internet provider counts speed in decimal megabits while the browser reports a download in mebibytes per second — and there a division by eight is piled on top of the difference between the two counting systems.

The rest went to something else

This arithmetic accounts for the constant part of the gap, and it accounts for it exactly, down to the last byte. What it does not account for is the whole gap on a real device.

On a phone or a laptop that arrives with the operating system already installed, part of the capacity is taken by the system itself, and that is a separate loss with a separate cause. An SSD adds the controller's own reserve on top, which is not shown anywhere at all.

An SSD in a 2.5-inch case with a label and a SATA connector
An SSD in the usual 2.5-inch case: the capacity is on the label, and how many cells the controller kept back in reserve is not — nor is it visible in the system. Photo: D-Kuru / wikimedia, licence CC BY-SA 3.0 (https://creativecommons.org/licenses/by-sa/3.0/), unmodified.

Neither quantity follows from any table of prefixes. Both depend on the model and the firmware, and on how much room the system was taking up on the day of sale.

Hence a simple rule: if your terabyte drive shows 931 GB, that is units of measure and there is nothing to ask about. If it shows 880, something else ate the rest, and that something is no longer a question of arithmetic.

The sources this article was written from

  • NIST, Prefixes for binary multiples — the table of binary prefixes set against the decimal ones; verbatim: «Today "everybody" does not "know" what a megabyte is… most manufacturers use megabyte to mean 2²⁰ = 1 048 576 bytes, but manufacturers of computer storage devices usually use the term to mean 1 000 000 bytes»
    NIST Reference on Constants, Units and Uncertainty — https://physics.nist.gov/cuu/Units/binary.html
  • NIST Special Publication 811, the section on binary multiples
    NIST SP 811 (2008) — https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication811e2008.pdf

Read next