Dieser Blog hilft zu verstehen, warum der Übergang von einer 512-Byte-Sektorfestplatte zu einer 4096-Byte-Sektorfestplatte erfolgte. Der Blog gibt auch Antworten darauf, warum 4096 Byte (4K) Sektorfestplatte für die Betriebssysteminstallation ausgewählt werden sollte. Der Blog erläutert zunächst das Sektorlayout, um die Notwendigkeit der Migration zu verstehen, gibt dann die Gründe für die Migration an und schließlich werden die Vorteile eines 4K-Sektorlaufwerks gegenüber einem 512-Byte-Sektorlaufwerk behandelt.
Ein Sektor ist die minimale Speichereinheit eines Festplattenlaufwerks. Es handelt sich um eine Unterteilung eines Tracks auf einer Festplatte. Die Sektorgröße ist ein wichtiger Faktor bei der Entwicklung des Betriebssystems, da sie die atomare Einheit der I/O-Vorgänge auf einem Festplattenlaufwerk darstellt. Unter Linux können Sie die Größe des Festplattensektors mit dem Befehl "fdisk -l" überprüfen.
Abbildung 1: Die Sektorgröße des Datenträgers unter Linux
Wie in Abbildung 1 dargestellt, sind sowohl der logische als auch der physische Sektor für dieses Linux-System 512 Byte lang.
Das Sektorlayout ist wie folgt aufgebaut:
Jeder Sektor speichert eine feste Menge an Nutzerdaten, üblicherweise 512 Byte für Festplattenlaufwerke. Aufgrund der besseren Datenintegrität bei höheren Dichten und robusten Fehlerkorrekturfunktionen speichern neuere HDDs jetzt 4.096 Byte (4K) in jedem Sektor.
Die Anzahl der Bits, die auf einer bestimmten Spurlänge gespeichert sind, wird als räumliche Dichte bezeichnet. Die Erhöhung der Flächendichte ist ein Trend in der Festplattenindustrie, nicht nur, weil sie die Speicherung größerer Datenmengen auf demselben physischen Speicherplatz ermöglicht, sondern auch die Übertragungsgeschwindigkeit verbessert, mit der dieses Medium betrieben werden kann. Mit der Zunahme der Flächendichte verbraucht der Sektor nun immer weniger Platz auf der Festplattenoberfläche. Dies führt zu einem Problem, da die physische Größe der Sektoren auf Festplatten geschrumpft ist, Medienfehler jedoch nicht. Wenn die Daten in einem Festplattensektor weniger Bereiche einnehmen, wird die Fehlerkorrektur zu einer Herausforderung. Dies liegt daran, dass Medienfehler derselben Größe einen höheren Prozentsatz der Daten auf der Festplatte beschädigen können, die über einen kleinen Bereich für einen Sektor verfügt, als auf der Festplatte, die über einen großen Bereich für einen Sektor verfügt.
Es gibt zwei Ansätze, um dieses Problem zu lösen. Der erste Ansatz besteht darin, mehr Speicherplatz in ECC-Bytes zu investieren, um eine kontinuierliche Datenzuverlässigkeit zu gewährleisten. Wenn wir jedoch mehr Speicherplatz in ECC-Bytes investieren, führt dies zu einer geringeren Effizienz des Festplattenformats. Die Effizienz des Festplattenformats ist definiert als (Anzahl der Nutzerdatenbytes x 100) / Gesamtanzahl der Bytes auf der Festplatte. Ein weiterer Nachteil besteht darin, dass der Festplatten-Controller mehr Rechenleistung benötigt, um den ECC-Algorithmus zu verarbeiten, je mehr ECC-Bits enthalten sind.
Der zweite Ansatz besteht darin, die Größe des Datenblocks zu erhöhen und die ECC-Bytes für jeden Datenblock leicht zu erhöhen. Mit der Vergrößerung der Datenblockgröße würde sich der Overhead verringern, der für jeden Sektor erforderlich ist, um Kontrollinformationen wie Lücken, Synchronisierungen, Adressmarkabschnitte usw. zu speichern. Für jeden Sektor werden die ECC-Bytes erhöht, aber die gesamten ECC-Bytes, die für eine Festplatte erforderlich sind, werden aufgrund eines größeren Sektors reduziert. Die Reduzierung des Gesamtspeicherplatzes, der für Fehlerkorrekturcode verwendet wird, verbessert die Formateffizienz und mehr ECC-Bytes für jeden Sektor bieten die Möglichkeit, effizientere und leistungsfähigere Fehlerkorrekturalgorithmen zu verwenden. Daher hat der Wechsel zu einem größeren Sektor zwei Vorteile: verbesserte Zuverlässigkeit und größere Festplattenkapazität.
Aus Sicht des Durchsatzes sollte die ideale Blockgröße in etwa der charakteristischen Größe einer typischen Datentransaktion entsprechen. Wir müssen anerkennen, dass die durchschnittliche Dateigröße heute mehr als 512 Byte beträgt. Heutzutage verwenden Anwendungen in modernen Systemen Daten in großen Blöcken, die viel größer sind als die herkömmliche Sektorgröße von 512 Byte. Zu kleine Blockgrößen verursachen zu viel Transaktionsoverhead. Bei großen Blockgrößen überträgt jede Transaktion eine große Menge unnötiger Daten.
Die Größe einer Standardtransaktion in relationalen Datenbanksystemen beträgt 4 KB. Der Konsens in der Festplattenindustrie war, dass physische Blockgrößen von 4K-Block einen guten Kompromiss darstellen würden. Sie entspricht auch der Auslagerungsgröße, die von Betriebssystemen und Prozessoren verwendet wird.
Abbildung 3: Verbesserte Formateffizienz bei 4K-Festplatten
512-Byte-Sektorformat | 4096 Byte Sektorformat | |
Lücke, Synchronisierung und Adressmarkierung | 15 Byte | 15 Byte |
Nutzerdaten | 512 Byte | 4096 Byte |
Fehlerkorrekturcode | 50 Byte | 100 Byte |
Gesamt | 577 Byte | 4211 Byte |
Formateffizienz | 88,7 % | 97.3% |
Tabelle 1: Verbesserte Formateffizienz bei 4K-Festplatten
Wie wir in Abbildung 2 sehen, sind 4K-Sektoren achtmal so groß wie herkömmliche 512-Byte-Sektoren. Daher benötigt man für die gleiche Datennutzlast 8-mal weniger Lücken-, Synchronisierungs- und Adressmarkierungsabschnitte und 4-mal weniger Fehlerkorrekturcode-Abschnitte. Die Reduzierung des Speicherplatzes, der für Fehlerkorrekturcode und andere Nicht-Datenabschnitte verwendet wird, verbessert die Formateffizienz für das 4K-Format. Die Verbesserung der Formateffizienz ist in Abbildung 3 und Tabelle 1 dargestellt. Es gibt eine Steigerung der Formateffizienz von 8,6 % für 4K-Sektorfestplatten gegenüber 512-Byte-Sektorfestplatten.
Abbildung 4: Auswirkung eines Mediendefekts auf die Festplattendichte
Wie in Abbildung 4 gezeigt, sind die Auswirkungen eines Medienfehlers auf Laufwerken mit höherer Bereichsdichte stärker als auf Laufwerken mit geringerer Bereichsdichte. Mit zunehmender Flächendichte benötigen wir mehr ECC-Bytes, um die Fehlerkorrekturfähigkeit auf demselben Niveau beizubehalten. Das 4K-Format bietet ausreichend Speicherplatz, um das ECC-Feld von 50 auf 100 Byte zu erweitern, um neue ECC-Algorithmen zu unterstützen. Die erweiterte ECC-Abdeckung verbessert die Fähigkeit zur Erkennung und Korrektur von Fehlern bei verarbeiteten Daten, die mit der Fehlerlänge von 50 Byte verbunden sind, die mit dem 512-Byte-Sektorformat verbunden ist.
4K-Datenfestplatten werden unter Windows Server 2012 unterstützt, aber als Startlaufwerk nur im UEFI-Modus unterstützt. Für Linux erfordern 4K-Festplatten mindestens RHEL 6.1 und SLES 11 SP2. 4K-Startlaufwerke werden nur im UEFI-Modus unter Linux unterstützt. Kernel-Unterstützung für 4K-Laufwerke ist in Kernel-Versionen 2.6.31 und höher verfügbar. PERC H330-, H730-, H730P-, H830-, FD33xS- und FD33xD-Karten unterstützen 4K-Festplattenlaufwerke mit Blockgröße, wodurch Sie den Speicherplatz effizient nutzen können. 4K-Festplatten können auf den Dell PowerEdge-Servern verwendet werden, die die oben genannten PERC-Karten unterstützen.
Die physische Größe der einzelnen Sektoren auf der Festplatte ist aufgrund der Zunahme der Bereichsdichte in Festplattenlaufwerken kleiner geworden. Wenn die Anzahl der Festplattendefekte nicht mit der gleichen Geschwindigkeit skaliert, erwarten wir, dass mehr Sektoren beschädigt werden, und wir benötigen eine starke Fehlerkorrekturfunktion für jeden Sektor. Festplattenlaufwerke mit größeren physischen Sektoren und mehr ECC-Bytes für jeden Sektor bieten erweiterte Datenschutz- und Korrekturalgorithmen. Das 4K-Format trägt dazu bei, eine höhere Formateffizienz zu erzielen und verbessert die Zuverlässigkeit und Fehlerkorrekturfähigkeit. Dieser Übergang führt zu einem besseren Nutzererlebnis, daher sollte das 4K-Laufwerk für die Betriebssysteminstallation ausgewählt werden.