Die 512-Byte-Emulation ist für die Kompatibilität mit älteren Systemen gedacht. Schreibvorgänge, die nur einen Teil eines physischen 4K-Sektors betreffen, können jedoch die Leistung beeinträchtigen, da der Sektor gelesen und modifiziert werden muss, bevor er tatsächlich geschrieben werden kann.
Wenn ein älteres Betriebssystem versucht, auf einen Advanced-Format-Datenträger zu schreiben, können Leistungsprobleme auftreten, da die geschriebenen logischen Sektoren möglicherweise nicht mit den physischen Sektoren übereinstimmen.
- Wenn nur ein Teil eines physischen 4K-Sektors gelesen wird, werden die Daten einfach vom physischen Sektor abgelesen, und die Leistung wird nicht beeinträchtigt. Wenn das System jedoch versucht, in einen Teil eines physischen Sektors zu schreiben (z. B. in einen emulierten 512-Byte-Sektor und nicht in den gesamten physischen Sektor), muss die Festplatte den gesamten physischen Sektor lesen und den geänderten Teil im internen Festplattenlaufwerk ändern Speicher, und schreiben Sie es zurück zu den Platten. Dies wird als Read-Modify-Write ( RMW ) bezeichnet, eine Operation, die eine zusätzliche Rotation der Platte erfordert und daher die Leistung verringert. Seagate erklärt dies wie folgt :
[...] Die Festplatte muss zuerst den gesamten 4K-Sektor lesen, der den Zielort der Host-Schreibanforderung enthält, die vorhandenen Daten mit den neuen Daten zusammenführen und dann den gesamten 4K-Sektor neu schreiben:
In diesem Fall muss das Festplattenlaufwerk zusätzliche mechanische Schritte in der Form des Lesens eines 4K-Sektors ausführen, den Inhalt ändern und dann die Daten schreiben. Dieser Vorgang wird als Read-Modify-Write-Zyklus bezeichnet. Dies ist unerwünscht, da dies die Festplattenleistung negativ beeinflusst.
Festplattenpartitionen, die nicht an einer 4K-Grenze ausgerichtet sind, können ebenfalls die Leistung beeinträchtigen.
Traditionell beginnt die erste Partition auf einer Festplatte bei Sektor 63. Windows XP und ältere Betriebssysteme partitionierten Festplatten auf diese Weise. Neuere Versionen von Windows erstellen Partitionen auf einer 1-MB-Grenze, um eine korrekte Ausrichtung auf die physischen Sektoren sicherzustellen. Dies wird als Alignment 0 bezeichnet .
- Diese ungerade Zahl ist ein Artefakt der Zylinderkopfsektor-Adressierung (CHS), die in INT 13h verwendet wird, der älteren BIOS-API, die für den Plattenzugriff verwendet wird. Bei älteren Systemen und Bootloadern, die die INT 13h-API verwenden, müssen alle Partitionen an Zylindergrenzen beginnen und enden. Selbst nach der Einführung der logischen Blockadressierung (LBA) wurden gefälschte CHS-Werte (die nicht der tatsächlichen Plattengeometrie entsprachen) verwendet, um die Kompatibilität mit der älteren API zu gewährleisten. Da die CHS-Adressierung ursprünglich maximal 63 Sektoren pro Zylinder unterstützte, würde die erste Partition auf Sektor 63 beginnen. Windows XP (vor Service Pack 3) und frühere Windows-Versionen starten nicht, wenn sich das Systemvolume nicht an einer Zylindergrenze befindet .
Da es sich bei LBA 63 nicht um ein Vielfaches von 8 handelt (acht 512-Byte-Legacy-Sektoren passen in einen 4K-Sektor), verfügt eine Advanced-Format-Disk, die auf die alte Weise formatiert ist, über Cluster (die kleinste Einheit der Dateisystem-Datenzuweisung, normalerweise 4K,) ), die nicht an den physischen Sektoren auf einer 4K-Platte ausgerichtet sind, eine Bedingung, die als Ausrichtung 1 bezeichnet wird . Infolgedessen umfasst eine E / A-Operation, die ansonsten 4 KB Daten beinhaltet, nun zwei Sektoren, was zu einer Lese-Modifizierungs-Schreiboperation führt, die die Leistung verringert.
Während Informationen über die physische Sektorgröße nicht erforderlich sind, wenn das Betriebssystem immer Daten an einer 4K-Grenze schreibt, werden diese Informationen möglicherweise noch von Anwendungen benötigt, die E / A auf niedriger Ebene ausführen.
- Wenn ein Laufwerk meldet, dass die Größe seines physischen Sektors 4 K beträgt, kann das Betriebssystem oder die Anwendung feststellen, dass es sich um ein Laufwerk mit Advanced Format handelt. Daher müssen E / A-Vorgänge vermieden werden, die nicht die gesamten physischen Sektoren umfassen. Ein Laufwerk, das native 512-Byte-Sektoren meldet, erlegt diese Einschränkung nicht auf. Während neuere Betriebssysteme normalerweise versuchen, Daten in 4K-Einheiten zu lesen oder zu schreiben, wenn dies möglich ist (wodurch diese Informationen irrelevant werden), müssen Anwendungen, die E / A auf niedriger Ebene ausführen, möglicherweise die physikalische Sektorgröße kennen, damit sie sich entsprechend anpassen und eine falsche Ausrichtung vermeiden können oder Teilsektorschreibvorgänge, die langsame RMW-Zyklen verursachen.
Ihre SSD bietet die Möglichkeit, die gemeldete physische Sektorgröße zu ändern, da dies für die Kompatibilität mit bestimmten Speicherarrays erforderlich ist.
Datencenter verfügen häufig über Speicherarrays, die aus älteren 512n-Laufwerken bestehen. 4K-Laufwerke, selbst solche, die 512-Byte-Sektoren emulieren, sind möglicherweise nicht mit solchen Arrays kompatibel. Daher ist diese Funktion zur Gewährleistung der Kompatibilität erforderlich. Siehe diesen Forumsthread :
Wir können nicht einfach ein 4K-Laufwerk in ein Array stecken, das mit 512B-Festplatten formatiert ist. Viele Arrays (vor allem ZFS-basierter Speicher, der immer beliebter wird, da durch Software definierter Speicher Wellen erzeugt), akzeptieren keine Ersatzlaufwerke mit einem anderen physischen Sektorformat.
Beachten Sie, dass auf modernen Systemen eine bessere Leistung erzielt wird, wenn das Laufwerk für die Verwendung von 4K-Sektoren konfiguriert ist.