[[:win|{{ :WindowsLogo.png?40|}}]][[:it|{{ :xeon.png?40|}}]]
===== Advanced Format Festplatten in der Praxis =====
Langsam wird es eng für des Administrators größtenteils immer noch liebstes Kind Windows XP. Western Digital brachte bereits Ende 2009 neue Festplatten auf den Markt, welche mit einer Sektorgröße von 4096 Byte, anstatt der bislang üblichen 512 Byte arbeiten. >>Advanced Format<<((http://en.wikipedia.org/wiki/Advanced_Format)) nennt sich diese Technologie und soll in Zukunft größere Festplatten bzw. Partitionen ermöglichen. 2011 wollen alle anderen Hersteller ihre Festplatten ebenfalls auf die Advanced Format Technologie umrüsten. Damit sind bei älteren Programmen und Betriebssystemen Probleme vorprogrammiert. U.A. wird dadurch unter Windows XP (32 Bit) die Festplattengeschwindigkeit signifikant eingeschränkt. Es gibt Tipps und Tricks wie sich das verhindern lässt aber die sind nicht ohne Tücken.
==== Vom 512 B zum 4 K Sektor ====
Das Betriebssystem spricht die [[it:hd_geometrie|-> Sektoren]] einer modernen Festplatte über sogenannte LBAs (Logical Blocking Address((http://en.wikipedia.org/wiki/Logical_block_addressing))) an. Die LBAs werden mit einem Integer Wert von 0-n durchnummeriert. Die Festplattengröße ergibt sich aus der Multiplikation der Anzahl der logischen Blöcke und der Sektorgröße. Der logische Adressraum ist im Laufe der Jahre von 22 Bit (IDE) über 28 Bit (ATA-1) auf 48 Bit (ATA-6) angewachsen((http://en.wikipedia.org/wiki/Integrated_Drive_Electronics#Features_introduced_with_each_ATA_revision)), wodurch immer höhere Festplattenkapazitäten erreicht wurden.
Jetzt ergäbe ein logischer Adressraum von 48 Bit ja schon mal eine stattliche Größe, welche die derzeitigen Vorstellungen geradezu sprengt, nämlich ca. 144 PiB (248 * 512 Byte). Windows kann auch seit XP 32 Bit SP1 mit einem 48 Bit logischen Adressraum umgehen, dazu wäre keine 64 Bit Version des Betriebssystems notwendig, jedoch scheitert es daran, dass XP die Partitionstabelle in der 32 Bit Variante im MBR ([[:it:mbr|-> Master Boot Record]]((http://en.wikipedia.org/wiki/Master_boot_record))) anlegt und im MBR steht nur ein Adressfeld von maximal 32 Bit zur Verfügung, was einer maximale Größe von 2 TiB entspricht (232 * 512 Byte). Unter Anderem aus dieser Not heraus wurde die GUID-Partitionstabelle entwickelt (GPT((http://en.wikipedia.org/wiki/GUID_Partition_Table))). In der GPT steht nun wieder ein 64 Bit großes Adressfeld zur Verfügung, was auch bei einer Sektorgröße von 512 Byte immerhin schon Partitions- bzw. Festplattenkapazitäten im Exabyte Bereich zulässt. Allerdings ist hierfür eine Windows Betriebssystemversion ≥ XP 64 Bit notwendig. Vista und Windows 7 unterstützen die GPT auch in der 32 Bit Variante. Allerdings kann von einem GPT formatierten Datenträger nur gebootet werden, wenn der Rechner anstelle eines herkömmlichen BIOS((http://en.wikipedia.org/wiki/BIOS)) ein modernes EFI((http://en.wikipedia.org/wiki/Extensible_Firmware_Interface)) besitzt, wie das zB in Apple Computern schon länger der Fall ist.
Den mechanischen Teilen einer Festplatte (Magnetscheiben, Schreib/Leseköpfe) sind aber Grenzen gesetzt. Man könnte jetzt zwar einfach hergehen und mehr Magnetscheiben in eine Festplatten einbauen aber mit mehr Magnetscheiben wäre die Geräuschentwicklung höher, der Stromverbrauch würde steigen und die Ausfallrate würde sich erhöhen. Das ist aber heute in modernen Systemen nicht mehr zeitgemäß. Um aber den Druck standzuhalten, immer größere Festplatten zu bauen, ist es also sinnvoller die Datendichte der Magnetscheiben zu erhöhen aber wenn die einzelnen Sektoren näher zusammen rutschen steigt die Fehleranfälligkeit bei der Datenübertragung. Man spricht von einer schlechten >>Signal to Noise Ratio<< (SNR((http://en.wikipedia.org/wiki/Signal-to-noise_ratio))). Die Platte kann das Signal nicht mehr vom Grundrauschen (Noise) unterscheiden und es kommt zu Fehlern. Ein >>Error Correction Code<< Bereich (ECC((http://en.wikipedia.org/wiki/Error-correcting_code))) am Ende eines jeden Sektors soll das verhindern. Auch besitzt jeder Sektor Bereiche die zur Synchronisierung und Steuerung (Sync/DAM) dienen und leer stehende >>Gaps<< als Toleranzbereiche. All das reduziert die native Datengröße eines Datenträgers.
{{ :win:512c.png |}}
Mit 4096 Byte großen Sektoren lässt sich nun die Datendichte auf einer Festplatte effizient erhöhen. Auch lässt sich damit die Einschränkung bei einem 32 Bit XP vorerst umgehen und ermöglicht damit auch die Nutzung größerer Festplatten und Partitionen, allerdings erst mal nur mit signifikanten Performance Problemen (siehe unten). Durch die größeren Sektoren wird der Overhaed aus Steuerbereichen, Fehlerkorrektur und Gaps aber deutlich gesenkt. Zwar ist der ECC Bereich ca. doppelt so gross wie bei der 512 Byte Variante aber dadurch lässt sich die SNR weiter senken.
{{ :win:4096b.png |}}
==== Das Problem unter Windows XP ====
Um zu älteren Systemen, welche nur die 512 Byte Sektorgröße kennen, kompatibel zu bleiben, wird ein Emulationsmodus (512e) betrieben, welcher die Platte intern mit 4096 Byte anspricht, nach außen aber 512 Byte Sektoren vorgibt. Normalerweise wären keine Probleme zu erwarten, da 4096 ein Vielfaches von 512 ist, jedoch ist mit einer Einschränkung bei Windows XP zu rechnen. Windows XP setzt den ersten Block der Partition immer auf LBA 63, der am Ende eines physikalischen 4096 Byte Sektors liegt und nicht am Anfang. Die Blöcke der Partition sind dadurch nicht korrekt an den Sektoren ausgerichtet. Da eine Advanced Format Festplatte minimal eine Sektorgröße - also 4096 Byte - bearbeiten kann, schreibt und liest sie einzelne Datenabschnitte immer über zwei Sektoren statt über einen. Windows XP ist dadurch zwar weiterhin fehlerfrei lauffähig, doch die Festplatte arbeitet deutlich langsamer. Dafür ist das sogenannte >>Read Modify Write<< (RMW) verantwortlich. Ein Beispiel: Windows XP adressiert einen Speicherbereich von 4096 Byte. Eine Festplatte, die aus physikalischen 512-Byte-Sektoren besteht, kann die entsprechenden Daten einfach aus dem Cache auf die acht 512-Byte-Sektoren schreiben. Eine korrekt ausgerichtete Advanced Format Festplatte beschreibt stattdessen einen Sektor mit 4096 Byte. Bei einer falsch ausgerichteten Advanced Format Platte erstreckt sich ein 4096 Byte langer Speicherbereich aber über zwei Sektoren, von denen jeweils ein Teil verändert werden soll und ein Teil nicht. Die Festplatte muss also zwei Sektoren lesen, im Cache verändern, auf eine Drehung der Scheibe warten, damit sich der Sektor wieder unter dem Festplattenkopf befindet und kann dann erst die entsprechenden Sektoren schreiben.
\\ \\ \\
{{ :win:4kb_falschd.png |}}
\\ \\
Hat man das Problem unter Windows XP mal identifiziert, gibt es zwei Möglichkeiten. Western Digital Festplatten lassen sich mit einem Jumper neu ausrichten, damit Windows XP glaubt die Partition auf LBA 63 zu beginnen, intern jedoch wird der Startsektor der Partition korrekt auf LBA 64 gemappt. Das funktioniert aber nur bei der ersten Partition, des Weiteren kann es zu Problemen kommen, wenn später mal ein System installiert wird welches die Sektoren der Festplatte korrekt anspricht (zB Windows 7). Entfernen Sie den Jumper, zerstören Sie die Partitionstabelle, lassen Sie ihn stecken, hat Windows 7 das Problem mit den falsch ausgerichteten Sektoren. Western Digital bietet jedoch auch ein >>Alignment Programm<< an, welche die komplette Partition an einen physikalischen Sektor ausrichtet. Nach der Ausrichtung wird auch Windows XP ohne Leistungsverlust auf den Advanced Format Festplatten funktionieren.
\\ \\
==== Fazit ====
Ich persönlich sehe die Not auch nicht so groß, immer größere Festplatten oder gar Partitionen verwenden zu müssen. Zwar sind auch wir mittlerweile bei 1,x TB angekommen aber schon hier fühle ich mich nicht mehr wohl. Wer einmal ungeplant während der Arbeitszeit einen Linux Server neu gestartet hat und dieser beim Booten einen File System Check über 3 oder vier TB angestoßen hat, weiß wie lange so was dauern kann. Elends lang! Auch ein Dateisystemfehler kann einem Kopfzerbrechen bereiten. Ich musste schon mal einen Check Disk Lauf auf einem knapp 2 TB großen NTFS Volume abbrechen, weil absehbar war, dass dieser nicht bis zum nächsten Morgen durchgelaufen wäre. Da möchte ich gar nicht daran denken wie lange das dauert, wenn die Volumes noch größer werden.
\\
**Verwandte Artikel:**
[[:it:hd_geometrie|-> Festplattengeometrie]]
[[:it:mbr|-> Master Boot Record (MBR)]]
[[:it:check_trim|-> Die Problematik gelöschter Dateien auf SSD Festplatten]]
[[:it:cluster|-> Cluster: Zuordnungseinheit eines Datenträgers (Windows)]]
[[:win:chkdsk|-> Festplatten mit chkdsk überprüfen]]
[[:it:ssd_disk|-> Die neue Festplatten Generation Solid-State-Disk (SSD)]]
\\
--- //pronto 2010/12/19 15:04//
{{keywords>windows xp advanced format festplatten lba Logical Blocking Address MBR ECC sync dam snr signal noise ratio}}