Kupujesz dysk z dużą etykietą 1 TB, podłączasz go do komputera, otwierasz właściwości — i widzisz 931 GB. Prawie 70 gigabajtów jakby wyparowało, zanim zdążyłeś zapisać choćby jeden plik. Odruch jest zawsze ten sam: dysk jest wadliwy albo producent oszukał. W rzeczywistości nie zginął ani jeden bajt. To, co widzisz, to efekt trzech nakładających się zjawisk: dwóch różnych systemów liczbowych, ukrytej rezerwy w architekturze pamięci oraz kosztu, jaki system operacyjny płaci za samo przygotowanie dysku do pracy.
Dwa systemy, jeden skrót
Sedno problemu to spór o to, ile bajtów mieści się w „gigabajcie". Producenci nośników liczą dziesiętnie, zgodnie z układem SI: 1 kB = 1000 bajtów, a każdy kolejny przedrostek to następna potęga tysiąca. Dysk „1 TB" ma więc dokładnie 1 000 000 000 000 bajtów — i to jest uczciwa, precyzyjna liczba.
Problem w tym, że komputery liczą binarnie. W ich świecie naturalną „okrągłą" wartością jest nie 1000, lecz 2¹⁰ = 1024. Historycznie te dwie liczby są tak blisko siebie, że we wczesnym żargonie informatyki zaczęto nazywać 1024 bajty „kilobajtem" — pożyczając metryczny przedrostek do binarnej wartości. Na poziomie kilobajtów rozjazd wynosił marne 2,4% i nikomu nie przeszkadzał. Kłopot w tym, że przy każdym kolejnym rzędzie wielkości błąd się mnoży.
Żeby zrobić porządek z nazwami, Międzynarodowa Komisja Elektrotechniczna (IEC) wprowadziła w 1998 roku osobne przedrostki binarne: kibibajt (KiB), mebibajt (MiB), gibibajt (GiB) i tebibajt (TiB) — właśnie dla wartości opartych na 1024. Standard istnieje od ćwierćwiecza, ale wiele systemów operacyjnych dalej go ignoruje, dzieląc przez 1024, a wynik podpisując dziesiętnym skrótem „GB".
| Rząd | Dziesiętnie (SI) | Binarnie (IEC) | O ile „kurczy się" liczba |
|---|---|---|---|
| kilo | 1 000 B (kB) | 1 024 B (KiB) | 2,34% |
| mega | 1 000 000 B (MB) | 1 048 576 B (MiB) | 4,63% |
| giga | 1 000 000 000 B (GB) | 1 073 741 824 B (GiB) | 6,87% |
| tera | 1 000 000 000 000 B (TB) | 1 099 511 627 776 B (TiB) | 9,05% |
| peta | 10¹⁵ B (PB) | 1 125 899 906 842 624 B (PiB) | 11,18% |
Stąd nasze 931 GB. Dysk ma 10¹² bajtów; system dzieli je przez 1 073 741 824 (czyli przez gibibajt) i dostaje 931,32 — ale wyświetla przy tym skrót „GB", a nie „GiB". Fizyczna liczba bajtów jest cały czas ta sama; zmienia się tylko linijka, którą przez nią dzielimy. Im większy dysk, tym większy pozorny ubytek: przy petabajtach różnica przekracza już 11%.
To nie jest nowy problem. W czasach DOS-u limit pojedynczej partycji FAT wynosił 2 GB, a wczesne BIOS-y potrafiły „zobaczyć" tylko 504 MB albo 528 MB dysku — wszystko dlatego, że sprzęt i oprogramowanie liczyły pojemność w niezgodnych jednostkach.
Windows liczy inaczej niż macOS
Ile „zniknie", zależy więc nie od dysku, lecz od tego, kto pokazuje liczbę.
Windows dzieli przez kolejne potęgi 1024, ale w interfejsie konsekwentnie podpisuje wynik dziesiętnymi skrótami (KB, MB, GB, TB). To najgorszy z możliwych światów: liczba jest binarna, a etykieta dziesiętna — i to właśnie Windows straszy użytkownika komunikatem „931 GB".
macOS poszedł w drugą stronę. Od wersji Snow Leopard (10.6) Apple raportuje pojemność czysto dziesiętnie, zgodnie z SI. Ten sam dysk 10¹² bajtów Finder pokaże po prostu jako 1,0 TB — dokładnie tak, jak na pudełku.
Linux jest niejednorodny: instalator Debiana i GNOME Disks liczą dziesiętnie (SI), natomiast narzędzia do partycjonowania jak GParted uczciwie używają jednostek IEC i podpisują je „MiB" oraz „GiB". Ta sama pojemność, trzy różne odczyty — w zależności od filozofii twórców.
| Etykieta | Rzeczywiste bajty | macOS / Linux (SI) | Windows (binarnie) |
|---|---|---|---|
| 120 GB | 120 000 000 000 | 120 GB | ~111,8 GB |
| 500 GB | 500 000 000 000 | 500 GB | ~465,7 GB |
| 1 TB | 1 000 000 000 000 | 1,0 TB | ~931,3 GB |
| 2 TB | 2 000 000 000 000 | 2,0 TB | ~1862,6 GB |
| 4 TB | 4 000 000 000 000 | 4,0 TB | ~3,64 TB |
| 20 TB | 20 000 000 000 000 | 20,0 TB | ~18,2 TB |
Znikające miejsce, którego nie widać: over-provisioning
Na dyskach SSD do gry wchodzi drugi, zupełnie inny mechanizm — tym razem nie kosmetyczny, lecz fizyczny. Pamięć flash NAND ma nieprzyjemną właściwość: nie da się w niej nadpisywać danych w miejscu. Odczyt i zapis odbywają się w małych stronach (zwykle 4 KB), ale kasować można wyłącznie całe, znacznie większe bloki (np. po 128 stron). Żeby nadpisać jeden plik, kontroler musi przenieść wszystkie wciąż aktywne strony z bloku gdzie indziej, wyczyścić cały blok i dopiero wtedy zapisać.
Żeby taka żonglerka była płynna, a komórki nie zużywały się nierówno, inżynierowie rezerwują dodatkową przestrzeń — niewidoczną ani dla systemu, ani dla użytkownika. To over-provisioning (OP), roboczy bufor kontrolera, w którym w tle działają odśmiecacz pamięci (garbage collection) i mechanizm równoważenia zużycia (wear leveling).
Najciekawsze jest to, skąd bierze się jego podstawowy poziom. Weźmy dysk, którego kości NAND mają fizycznie 128 GiB, czyli 128 × 2³⁰ = 137,44 miliarda bajtów. Producent sprzedaje go jako model „128 GB" w rozumieniu dziesiętnym (128 × 10⁹ bajtów). Nadwyżka — około 9,4 GB, czyli równo 7,37% — nie znika. Kontroler zatrzymuje ją dla siebie. Innymi słowy: sama różnica między binarną a dziesiętną definicją gigabajta staje się darmową rezerwą pamięci. W dyskach serwerowych tę rezerwację podnosi się świadomie, nawet do 28%, kupując wyższą stabilność IOPS i dłuższą żywotność (mierzoną wskaźnikiem TBW) kosztem widocznej pojemności.
Warto dodać, że tańsze konstrukcje bez własnej pamięci podręcznej DRAM (tzw. DRAMless) muszą trzymać mapę adresów w samej pamięci flash, co spowalnia zapis i szybciej ją zużywa — to jednak temat na osobny artykuł.
Podatek od formatowania
Ostatnia rata „ubytku" schodzi w momencie, gdy system operacyjny w ogóle bierze dysk do ręki. Zanim zapiszesz pierwszy plik, nośnik musi dostać tablicę partycji i system plików — a jedno i drugie zajmuje miejsce na własne struktury administracyjne.
Nowoczesny Windows 11 na dysku systemowym GPT tworzy kilka partycji, które nigdy nie zobaczą Twoich plików: rozruchową partycję EFI (ESP, zwykle 100–300 MB), 16-megabajtową Microsoft Reserved Partition oraz partycję odzyskiwania WinRE (zalecane ok. 990 MB, żeby zmieściły się rosnące obrazy aktualizacji). Samo przygotowanie takiego dysku potrafi zjeść ponad 1 GB, zanim zainstalujesz cokolwiek.
Do tego dochodzi narzut samego systemu plików, który zależy od jego konstrukcji:
| System plików | Maks. rozmiar pliku | Maks. partycja | Charakter narzutu |
|---|---|---|---|
| FAT32 | 4 GB | 2 TB (do ~16 TB) | minimalny; brak księgowania — podatny na uszkodzenia przy zaniku zasilania |
| exFAT | 16 EB | 128 PB | mały; zoptymalizowany pod flash, bez księgowania i uprawnień |
| NTFS | 8 PB | 8 PB | księgowanie transakcyjne, dynamicznie rosnąca tablica MFT, odporny na awarie |
| ext4 | 16 TB | 1 EB | prealokowana tablica i-węzłów + domyślne 5% bloków rezerwowanych dla roota |
Każdy z tych systemów płaci za coś innego. NTFS rezerwuje miejsce na dziennik transakcji i tablicę MFT. Linuksowy ext4 od razu przy formatowaniu tworzy pełną tablicę i-węzłów i domyślnie odkłada 5% pojemności „dla administratora". APFS w macOS współdzieli przestrzeń między wolumeny w kontenerze, przez co „wolne miejsce" bywa pojęciem płynnym — zależnym od migawek i klonów, które system zwalnia z opóźnieniem.
Gigabajty w sądzie
Rozbieżność dziesiętne kontra binarne nie została rozwiązana w laboratorium, lecz w sali sądowej. Konsumenci wielokrotnie argumentowali, że reklamowanie pojemności dziesiętnie bez wyraźnego wyjaśnienia to nieuczciwa praktyka.
Przełomem była ugoda Western Digital z 2006 roku: kupujący dyski (np. 80 GB, które w Windowsie pokazywały ok. 74,5 GB — 7% mniej) dostali darmowe oprogramowanie do kopii zapasowych, a firma została zobowiązana do umieszczania na opakowaniach jasnej informacji, że 1 GB = 1 000 000 000 bajtów. Cztery lata później podobny proces, Cho v. Seagate, zakończył się ugodą rzędu 5,4 mln USD — klienci z lat 2001–2007 mogli odzyskać 5% ceny dysku. Te dwie sprawy na dobre ugruntowały obowiązek jednolitego informowania o pojemności.
Problem wrócił na urządzeniach mobilnych: pozew Orshan v. Apple z 2014 roku zarzucił, że po aktualizacji do iOS 8 sam system zajmował na 16-gigabajtowym iPhonie ponad 3 GB — do 23% deklarowanej pamięci — spychając użytkownika ku płatnej chmurze iCloud. Litygacja ciągnęła się latami, pokazując, że kwestia transparentności pojemności wciąż jest żywa.
Osobny wątek to jakość, nie liczby. Producenci, w tym Western Digital, po cichu wprowadzili do zwykłych dysków twardych technologię zapisu SMR (nakładające się ścieżki, jak dachówki), która drastycznie spowalnia losowy zapis — nie zmieniając przy tym oznaczeń. To wywołało pozew zbiorowy Brown v. Western Digital wokół dysków serii WD Red. Wniosek dla kupującego jest ten sam: liczba na pudełku nie mówi całej prawdy o tym, co dostajesz.
Nic nie znika
„Znikające gigabajty" to nie usterka i nie oszustwo, lecz cena, jaką płacimy za to, że fizyka pamięci i logika oprogramowania mówią różnymi językami. Część ubytku jest czysto pozorna — to ten sam zbiór bajtów podzielony przez 1024 zamiast przez 1000. Reszta jest realna, ale celowa: over-provisioning kupuje trwałość SSD, partycje systemowe i księgowanie kupują odporność na awarie. Żadna z tych rezerw nie jest marnotrawstwem — to koszt integralności danych.
Prawdziwym rozwiązaniem nie jest zmiana architektury dysków, lecz uczciwe interfejsy. Gdyby każdy system operacyjny robił to, co macOS — pokazywał albo szczere SI, albo szczere „GiB" — cała ta dezorientacja i połowa procesów sądowych po prostu by zniknęły. Dopóki tak się nie stanie, warto pamiętać jedno: Twój dysk 1 TB ma dokładnie tyle bajtów, ile obiecuje etykieta. Po prostu Windows liczy je po swojemu.
Dalsza lektura
- Seagate, Storage capacity measurement standards — oficjalne wyjaśnienie producenta, dlaczego etykieta różni się od odczytu systemu.
- Kingston, Understanding SSD Over-provisioning (OP) — jak i po co kontroler rezerwuje ukrytą przestrzeń flash.
- Wikipedia, Binary prefix — historia przedrostków binarnych i standardu IEC 1998.
- ClassAction.org, Brown v. Western Digital Corporation (4:20-cv-08102) — akta pozwu w sprawie ukrytej technologii SMR.
