
Schon als Kinder lernen wir, dass 1 km = 1000 m und 1 kg = 1000 g sind. Kaum sitzen wir jedoch im Informatikunterricht, erfahren wir, dass 1 KB = 1024 Byte sind.
Man kauft eine 1-TB-Festplatte, doch das Betriebssystem zeigt nur 931,32 GB an. Ist die Festplatte defekt? Nein, alles in Ordnung – aber warum ist das so?
Präfixe des SI-System
Wir Menschen rechnen mit dem 10er System. Dies ist für und einfach.
Wir haben 10 Finger, 10 Zehen, da liegt das zählen in 10er schritten nahe.
Tabelle zur Erklärung:
| Potenz | Ergebnis | Präfix | Name | Beispiel |
| 100 | 1 | – | Eins | Basiswert |
| 101 | 10 | – | Zehn | Zehner |
| 102 | 100 | – | Hundert | Hunderter |
| 103 | 1.000 | K | Kilo | Kilometer |
| 106 | 1.000.000 | M | Mega | Megawatt |
| 109 | 1.000.000.000 | G | Giga | Gigahertz |
| 1012 | 1.000.000.000.000 | T | Tera | Terawatt |
Die Tabelle zeigt die Präfixe mit denen wir Menschen häufig konfrontiert werden.
Warum ist 1KB = 1024B und nicht 1000?
Hierbei liegt der Grund an der Binärlogik von Computern, Computer arbeiten nicht mit Zehnerpotenzen (wie in der Tabelle 1 zu sehen), sondern mit Zweierpotenzen.
Beispiel: 210 = 1024
Deshalb haben Informatiker festgelegt, dass 1 Kilobyte 1024 Byte umfasst, da dies exakt 1024 entspricht.
So haben Informatiker die SI-Präfixe zweckentfremdet. Obwohl Kilo = 10³ (also 1000) bedeutet, nutzten frühe Informatiker Kilo für 2¹⁰ (also 1024). Ich habe dazu zwei Tabellen mit Zweierpotenzen erstellt und zu den alten sowie heute noch verwendeten SI-Präfixen die korrekten IEC-Präfixe ergänzt.
Die Tabelle für Informatiker:
| Potenz | Wert in Dezimal | SI Präfix | IEC Präfix | Name |
| 20 | 1 | – | – | Eins |
| 21 | 2 | – | – | Zwei |
| 22 | 4 | – | – | Vier |
| 23 | 8 | – | – | Acht |
| 24 | 16 | – | – | Sechzehn |
| 25 | 32 | – | – | Zweiunddreißig |
| 26 | 64 | – | – | Vierundsechzig |
| 27 | 128 | – | – | Einhundertachtundzwanzig |
| 28 | 256 | – | – | Zweihundertsehsundfünfzig |
| 29 | 512 | – | – | Fünfhunderzwölf |
| 210 | 1024 | K | Ki | Kilobyte (SI Präfix Kibibyte (IEC Präfix) |
| Potenz | Bytes | SI Präfix | IEC Präfix | Name (IEC) |
| 210 | 1024 | KB | KiB | Kibibyte |
| 220 | 148576 | MB | MiB | Mebibyte |
| 230 | 1073741824 | GB | GiB | Gibibyte |
| 240 | 1099511627776 | TB | TiB | Tebibyte |
IEC Präfixe
Wie bereits in den beiden Tabellen erwähnt, wurden 1998 die IEC-Binärpräfixe offiziell eingeführt (Norm IEC 60027-2). Die International Electrotechnical Commission (IEC) führte diese Ergänzung relativ spät ein, um die ständige Verwechslung zwischen SI-Präfixen (z. B. kilo = 1.000, mega = 1.000.000) und binären Größen (z. B. 1024, 1.048.576) zu vermeiden – insbesondere im IT-Bereich.
Warum verkaufen Festplattenhersteller 1TB Festplatten als 1000GB obwohl Windows 931GB daraus macht?
Festplattenhersteller rechnen in Dezimal, also mit SI-Einheiten.
Da ist dann:
- 1kB = 1000
- 1MB = 1000kB
- 1GB = 1000MB
- 1TB = 1000GB
Festplattenhersteller arbeiten nach dem SI-Standard und können so größere Zahlen auf ihre Etiketten drucken – Marketing liebt große Zahlen. Bietet ein Hersteller eine 931 GiB (IEC-Standard) Festplatte zum gleichen Preis an wie ein anderer Hersteller mit 1000 GB (SI-Standard), greift der Kunde eher zur 1000 GB.
Sobald die Festplatte jedoch im PC eingebaut ist, zeigt sich die wahre Größe:
1TB = 1.099.511.627.776 Byte im Betriebssystem sind 1TiB = 1.000.000.000.000 Byte beim Hersteller.
| Betriebssystem | Angabe Betriebssystem | Angabe Festplattenhersteller |
| Windows | 931GB | 1000GB |
| einige macOS Versionen | 1000GB | 1000GB |
| einige Linux Distributionen | 931GiB | 1000GB |
MacOS hält sich an die SI-Norm.
Linux zeigt entweder die SI-Norm oder IEC-Norm an, rechnet also mal binär und mal decimal, je nach Tool(Beispiele):
- lsblk -> dezimal (GB)
- df -h -> binär (GiB)
- df -H -> dezimal (GB)
- free -h -> binär (GiB)
- KDE GUI -> meist dezimal (GB)
Windows macht sein eigenes Ding, es rechnet zwar Binär, gibt aber „fälschlicherweise“ SI-Präfixe statt IEC-Präfixe an.
Warum ist das bei RAM Speicher anders?
Vielleicht ist es dir schon aufgefallen: Auf RAM-Speichern stehen tatsächlich 1024, 2048, 4096 usw. als Speicherkapazität.
Das ist kein Marketingtrick, sondern echte Elektrotechnik! Jede RAM-Zelle hat eine Adresse, die aus binären Leitungen besteht.
- 1 Leitung – 2 mögliche zustände
- 2 Leitungen – 4 mögliche Zustände
- 3 Leitungen – 8 mögliche Zustände
- n Leitungen – 2n mögliche Zustände
Die Anzahl der adressierbaren Speicherzellen ist immer eine Zweierpotenz!
Zum Beispiel hat ein RAM-Chip mit 30 Adressleitungen eine Größe von 1 GiB (2³⁰ = 1.073.741.824 Speicherzellen).
Die Hardware arbeitet dabei mit binärer, nicht mit dezimaler Dekodierung.
Warum werden SSDs oder M.2 Speicher mit SI-Einheiten angegeben?
Das ist eine Mischung aus Marketing, Normen, Geschichte und einem technischen Detail.
Die physikalische Struktur beschreibt nicht direkt die nutzbare Kapazität, wie etwa bei RAM-Speicher. RAM besteht aus exakt adressierbaren Speicherzellen, die direkt über binäre Leitungen angesprochen werden. SSDs hingegen bestehen aus NAND-Flash-Blöcken, die zwar binär organisiert sind, aber zusätzlich in Pages, Blocks, Planes, Dies und Packages unterteilt werden.
Die Gesamtgröße ergibt sich aus der Kombination der genannten Strukturen, wodurch keine perfekte Zweierpotenz entsteht.
Eine SSD arbeitet mit folgenden Ebenen:
- Der Controller verteilt die Daten auf viele Dies
- Jeder Dies hat mehrere Planes
- Daten werden in Pages geschrieben
- Pages liegen in Blocks
- Blocks müssen komplett gelöscht werden, bevor eine Page neu beschrieben werden kann.
Pages
Die kleinste adressierbare Lese- und Schreibeinheit im NAND ist typischerweise 4KB, 8KB oder 16KB groß. Gelesen und geschrieben wird seitenweise, ein Überschreiben einer Page ist jedoch nicht direkt möglich, sondern erfordert vorheriges Löschen, das nur blockweise durchgeführt werden kann.
In einer Page sind die Nutzdaten, der ECC (Error Correction Code) und Metadaten wie etwa das LBA-Mapping enthalten.
Blocks
Blöcke bestehen aus Pages, z.B. 256 Pages, was dann 256*16KB=4MB Block sein könnte.
Um eine Page zu überschreiben (Beispiel 4KB Daten) muss erst der gesamte Block gelöscht werden bevor die darin enthaltene Pages neu beschrieben werden können.
Dieser Vorgang erzeugt mehr Schreiblast als die eigentliche Nutzdatenmenge.
Dies
Ein Die ist ein physischer Siliziumchip innerhalb eines NAND-Packages. Es besitzt eine eigene interne Controller-Logik und kann unabhängig von anderen Dies arbeiten. Mehr Dies ermöglichen mehrere parallele Operationen und damit auch eine höhere Geschwindigkeit.
Packages
Das komplette physische NAND-Bauteil, das als Chip auf der SSD sichtbar ist. Ein Package enthält 1 bis 16 Dies, Bonding-Drähte, das Gehäuse und natürlich die Anschlüsse zum SSD-Controller.
