Der eine oder andere hat sich in der jüngeren Vergangenheit eventuell schon mit den Begriffen aus der Überschrift konfrontiert gesehen. Aber was bedeuten sie eigentlich?
512N und 4kN beschreiben die physikalische Sektorgröße der Festplatte. Klassisch ist ein Festplattensektor 512 Byte groß und damit die kleinste Datenmenge, die auf einer Disk geschrieben, oder davon gelesen werden kann. Mit anderen Worten – eine 512N Festplatte hat 512 Byte Sektoren und eine 4kN Festplatte entsprechend 4 Kilobyte Sektoren. Die 4kN Festplatten werden auch als AF-Drives (Advanced-Format-Drives) bezeichnet.
Die 4kN Sektorierung wurde eingeführt, um bei gleicher Menge von Sektoren pro Platte mehr Daten darauf unterzubringen, ohne die LBA-Adressierung der Festplatten aufbohren zu müssen. Allerdings kann nicht jedes Betriebssystem und jede Applikation mit 4kN Platten umgehen, denn für Operationen kleiner als 4 Kilobyte muss ein spezielles Handling implementiert werden. Als Ausweg aus dem Dilemma hat sich die Festplattenindustrie das Format 512e einfallen lassen. Bei 512e emuliert der Controller auf der Festplatte acht 512 Byte Sektoren pro 4 Kilobyte Sektor und liefert die entsprechenden LBAs, ganz so als wäre die Disk wirklich mit 512 Byte Sektoren konstruiert.
Diese Kompatibilität hat allerdings ihren Preis. Wenn nicht alle acht emulierten Sektoren beschrieben werden, liest die Disk den 4kN Sektor in einen Zwischenpuffer, aktualisiert den Bereich der überschriebenen, emulierten Sektoren im Puffer und schreibt danach den aktualisierten 4kN Sektor zurück. So werden aus einem 512 Byte Vorgang zwei 4kN Vorgänge. Da ein Schreib-/Lesekopf entweder lesen oder schreiben kann werden zwei Plattenumläufe bei 512e benötigt, wo die 512N Disk nur einen braucht. Bei einem Schreibvorgang außerhalb des 4k Alignments werden es dann sogar 4 Umläufe, da z.B. ein 1 Kilobyte Schreibvorgang die letzten 512 Byte eines 4kN Sektors betrifft und die ersten 512 Byte des nächsten 4kN Sektors.
Was hat das jetzt mit Flash-Pages zu tun? Die SSDs arbeiten auch nach einem der obigen Standards, also 512N oder 4kN. Die Flash-Pages sind allerdings deutlich größer als 4 Kilobyte, und ähnlich wie bei Disk-Sektoren können die Pages auch nur komplett überschrieben werden. Der SSD Controller liest also eine komplette Page in einen Puffer, überschreibt die aktualisierten Daten und programmiert im Anschluss die komplette Page in die Flash-Bausteine. Da die Programmierzyklen der Flash-Zellen begrenzt sind, wird das dann noch über sogenanntes Wear-Leveling auf Zellen niedergeschrieben, die sich bereits in einem programmierfähigen Zustand befinden (Erased-State) und möglichst wenige Programmierzyklen auf dem Buckel haben.
Ähnlich wie bei den Schreib-/Leseköpfen von Festplatten können Flash-Zellen entweder programmiert, gelöscht oder gelesen werden. Kleine Schreibvorgänge außerhalb des Page-Alignments führen allerdings zu erhöhter Abnutzung der SSD und dem gefürchteten „Write-Cliff“. Das bedeutet, dass die Schreibleistung massiv einbricht, weil grade keine programmierfähigen Zellen auf „Halde“ liegen.
Aus diesen Gründen sollte man bei der Auswahl der Speicherhardware ggf. einen Blick in die Spezifikation der Hardware werfen, damit man keine Überraschungen erlebt.
Die DataCore Pools arbeiten intern immer mit einem 4 Kilobyte Alignment, egal ob eine 512N vDisk oder 4kN vDisk erzeugt wird. Die 4kN vDisk erzwingt durch ihre Geometrie eine Ablage auf 4 Kilobyte Grenzen, benötigt aber die entsprechende Betriebssystem Unterstützung auf Seite der Host Systeme.