Speicherkapazität

Wenn man sich mit Informationstechnik beschäftigt, dann stellt man immer wieder fest, das die tatsächlichen Werte von Speicherkapazität, Übertragungsrate usw. nicht immer dem entspricht, wie es angegeben ist. So kommt es vor, dass von einem Kilobyte die Rede ist, wobei sowohl 1.000 Byte als auch 1.024 Byte gemeint sein können. Bei der Angabe von Speicherkapazität und Übertragungsrate kann man nie sicher sein, wie viele Bit oder Byte der angegebene Wert umfasst.

Problem

Präfix Symbol (SI) Bedeutung (SI) Bedeutung (IT) Differenz
Kilo k 103 1.000 210 1.024 2,4% 24
Mega M 106 1.000.000 220 1.048.576 4,9% 48.576
Giga G 109 1.000.000.000 230 1.073.741.824 7,4% 73.741.824
Tera T 1012 1.000.000.000.000 240 1.099.511.627.776 10,0% 99.511.627.776

Das eigentliche Problem ist der Unterschied, wie Binärzahlen berechnet werden. So kann ein Kilobyte 1.000 Byte oder 1.024 Byte sein. Der Unterschied zwischen 1.000 und 1.024 liegt bei 2,4 Prozent. Wenn sich die Zahlen vom Kilo- in den Giga-Bereich verschieben, dann wird die Differenz noch größer. Hier merkt man den Unterschied schon sehr deutlich.

Analyse

Fast überall auf der Welt rechnet man mit Dezimalzahlen im Dezimalsystem. Das heißt, 10, 100, 1.000 und so weiter. Gewichte und Entfernungen mit großen Zahlen sind mit dezimalen Maßeinheiten angegeben.

In der Welt der Informatiker ist das ein wenig anders. Hier basieren alle Zahlen auf zwei Zuständen. Wie zum Beispiel AN und AUS oder 1 und 0. Diese beiden Zustände werden in Halbleitern, zum Beispiel in Transistoren, Prozessoren und Speicher, nachgebildet. Man beziffert die Datenmenge in der binären Logik mit den zwei Zuständen und arbeitet deshalb bei Zahlen mit Dualzahlen.

Wenn Informatiker im dualen Zahlensystem mit großen Zahlen rechnen, dann verwenden Sie dafür die Präfixe Kilo, Mega, Giga und so weiter. Diese Vorgehensweise ist üblich. Leider ist das falsch, weil ein binäres Kilo 1.024 und nicht 1.000 beträgt. Die Differenz stiftet Verwirrung.

Hinweis: Die Verwendung der SI-Präfixe für binär gerechnete Werte ist nicht zulässig.

Lösung

Diesen Umstand hat die International Electrotechnical Commission (IEC) auf den Plan gerufen. Es wurde ein eigenes System für die Bezeichnung von binären Maßeinheiten entwickelte, den so genannten Binärpräfixen.

Die IEC lehnte sich dabei eng an das SI-System an. Die Präfixe Kilo, Mega, Giga usw. erhalten eine angehängte Silbe "bi" für Binär. Statt Kilobyte und Megabyte also Kibibyte und Mebibyte. 1.000 Byte bleiben dabei ein Kilobyte, während 1.024 Byte als ein Kibibyte bezeichnet wird. 10 hoch 6 Bit sind weiterhin ein Megabit, während 2 hoch 20 Bit ein Mebibit sind.
Das entsprechende Symbol für die Einheit wird um ein "i" erweitert (aus dem bi für binär). Statt kB und MB, also KiB und MiB.
Die SI-Präfixe gelten auch weiterhin, allerdings ausschließlich auf Basis des Dezimalsystems. Für das Dualsystem müssen die Binärpräfixe verwendet werden.

Präfix Symbol Bedeutung SI-Einheit Umrechnung
  b Bit   - -
  B Byte   - 8 b = 1 B
Kibi Ki 210 1.024 Kilo (k) 1 KiB = 1,02 kB
Mebi Mi 220 1.048.576 Mega (M) 1 MiB = 1,05 MB
Gibi Gi 230 1.073.741.824 Giga (G) 1 GiB = 1,07 GB
Tebi Ti 240 1.099.511.627.776 Tera (T) 1 TiB = 1,10 TB
Pebi Pi 250 1.125.899.906.842.624 Peta (P) 1 PiB = 1,13 PB
Exbi Ei 260 1.152.921.504.606.846.976 Exa (E) 1 EiB = 1,15 EB

Neues Problem

Dieses System ist seit 2000 im Standard IEC 60027-2 fest integriert. Die Akzeptanz zur Verwendung des IEC-Standards und somit zur eindeutigen Bezeichnung hält sich jedoch in Grenzen. Weder die Informatiker, noch die Fachpresse mag die neuen Bezeichnungen verwenden. Tatsache ist, dass es sich bei den IEC-Bezeichnungen um einen internationalen Standard handelt. Doch wie es nun mal so ist, Standards sind Empfehlungen. Man darf sich gerne daran halten, tut aber nicht jeder

Die Nichteinhaltung dieses Standards ist allerdings immer mal wieder ein Problem. In der Regel einigte sich die Fachwelt schnell auf eine Maßeinheit, egal ob richtig oder falsch. Im Zweifelsfall wurde einfach gerundet oder die jeweils größere Zahl verwendet. Ganz nach dem Motto: Was nicht passt, wird eben passend gemacht. Die Marketing-Abteilungen, meist technikfern, haben sicherlich ihren Beitrag dazu geleistet.

Abweichungen bei der Angabe der Speicherkapazität von Festplatten in Betriebssystemen

Wenn die Betriebssysteme Windows, macOS und so weiter für eine Speicherkapazität die Einheit "GB" verwenden, dann meinen sie eigentlich "GiB". Die Hersteller von Festplatten, Speicherkarten und USB-Sticks hingegen nutzen in der Regel das Dezimalsystem. Hier sind die Angaben in der Regel korrekt.

Hier stellt sich berechtigt die Frage, warum man nicht einfach die Betriebssysteme dem neuen Standard anpasst. Doch das ist nicht so einfach. Alte Bibliotheken und Programme nutzen von Anfang an das Binärsystem. Eine Umstellung könnte zu Problemen führen, deren Ausmaß kaum abzusehen ist. Von Datenverlust, Programmabsturz bis hin zu Systemabsturz ist alles möglich.

Speicherkapazität von Festplatten

Wenn es um die Berechnung der Speicherkapazität geht, nehmen es die Festplattenhersteller nicht ganz so genau. So sollte eine 500-GByte-Festplatte auch eine Speicherkapazität von 500 GByte haben. Doch weit gefehlt: Tatsächlich sind es nur 465,65 GByte. Die korrekte Maßeinheit wäre nämlich 500 Gibibyte (GiB). Eine Festplatte mit 1 TByte (Terrabyte) schafft es sogar nur auf rund 931 Gigabyte.

Zwischen angegebener und tatsächlicher Speicherkapazität klafft bei allen Festplatten eine Lücke von knapp 7 %. Woran liegt das?

Die Hersteller geben die Kapazität auf Grundlage des Dezimalsystems an und rechnen 1 Gigabyte = 1.000.000.000 Byte. Das rechnet sich einfach und macht auf dem Papier auch eine gute Figur. Leider ist das falsch.

Um die wahre Festplattengröße zu ermitteln, gibt es eine einfache Formel. Wer die Herstellerangabe mit 0,93 multipliziert, erhalt grob die tatsächliche Größe (etwa 93%). 500 Gigabyte (eigentlich Gibibyte) haben dann einen effek­ti­ven Spei­cher­platz von rund 465 Giga­byte (500 x 0,93).

Korrekte Berechnung der Speicherkapazität einer Festplatte

Es gibt bei der korrekten Berechnung der Speicherkapazität einer Festplatte verschiedene Probleme. Zum einen die Frage, ob die angegebenen Speicherkapazität binär oder dezimal gerechnet wurde. Es geht aber noch weiter. Denn Daten werden auf einer Festplatte in 512-Byte- bzw. 4-kByte-Blöcken gespeichert. Das bedeutet, eine binäre Speicherstruktur lässt sich nur mit Verlusten auf einem dezimalen Datenspeicher abbilden.
Zur exakten Bestimmung der tatsächlichen Speicherkapazität müsste man dann noch die Anzahl der Platten und die darauf befindlichen Spuren und Sektoren berücksichtigen. Was bei jeder Festplatte anders ist. Ohne Kenntnis der internen Strukturen ist es nicht möglich, die tatsächliche Speicherkapazität einer Festplatte korrekt nachzurechnen.

Das heißt, egal wie man rechnet, das Ergebnis wird mit dem tatsächlichen Wert nie übereinstimmen.

Berechnungsbeispiele, wie man sie oftmals im Internet findet, sind meist rechnerisch richtig, aber reine Theorie. Diese Werte orientiert sich grob an der tatsächlichen Größe (herstellerabhängig). Im Prinzip muss man sich auf die Angaben der Betriebssysteme verlassen, weil die den Wert vom Festplatten-Controller gemeldet bekommen. Den angegebenen Wert muss man dann als Anwender aber auch noch richtig interpretieren.

So steht dort manchmal "GB" für Gigabyte, obwohl es eigentlich "GiB" für Gibibyte heißen müsste.

Beispiel: Speicherbedarf für ein Bild berechnen

Szenario: Für einen Bildschirmarbeitsplatz wird ein Monitor mit einer nativen Auflösung von 1.920 x 1.080 Bildpunkten angeschafft. Die Farbtiefe wird auf 24 Bit und die Bildwiederholrate auf 60 fps eingestellt. Bei HDR würde Farbtiefe 30 Bit betragen.

a. Wie hoch ist der Speicherbedarf der Grafikkarte für die Darstellung eines Bildes in Megabyte?

b. Wie hoch ist der Speicherbedarf der Grafikkarte für die Darstellung eines Bildes in Mebibyte?

Lösung für a.

1.920 * 1.080 * 24 = 49.766.400 Bit
49.766.400 Bit / 8 = 6.220.800 Byte
6.220.800 Byte / 1.000 = 6.220,8 kByte
6.220,8 kByte / 1.000 = 6,2208 MByte
1.920 * 1.080 * 24 / 8 / 1.000 / 1.000 = 6,2208 MByte

Lösung für b.

1.920 * 1.080 * 24 = 49.766.400 Bit
49.766.400 Bit / 8 = 6.220.800 Byte
62.20.800 Byte / 1.024 = 6.075 KiByte
6.075 kByte / 1.024 = 5,933 MiByte
1.920 * 1.080 * 24 / 8 / 1.024 / 1.024 = 5,933 MiByte

Einheiten in der IT

Datenspeicher

Weitere verwandte Themen:

Frag Elektronik-Kompendium.de

Die Computertechnik-Fibel, das Computer-Buch
Computertechnik-Fibel

Alles was Sie über Computertechnik wissen müssen.

Die Computertechnik-Fibel ist ein Buch über die Grundlagen der Computertechnik, Prozessortechnik, Halbleiterspeicher, Schnittstellen, Datenspeicher, Laufwerke und wichtige Hardware-Komponenten.

Das will ich haben!

Die Computertechnik-Fibel, das Computer-Buch
Computertechnik-Fibel

Alles was Sie über Computertechnik wissen müssen.

Die Computertechnik-Fibel ist ein Buch über die Grundlagen der Computertechnik, Prozessortechnik, Halbleiterspeicher, Schnittstellen, Datenspeicher, Laufwerke und wichtige Hardware-Komponenten.

Das will ich haben!

Elektronik-Set Raspberry Pi Edition
Elektronik-Set Raspberry Pi Edition

Elektronik erleben mit dem Raspberry Pi mit Python und GPIO Zero

  • Leichter Einstieg ins Hardware-nahe Programmieren mit Python und GPIO Zero
  • Experimentieren und Programmieren ohne Vorkenntnisse
  • Sofort Loslegen mit All-in-one-Set

Elektronik-Set jetzt bestellen