Bei der Bewertung von Festplatten sind grundlegende Spezifikationen wie Kapazität und Übertragungsgeschwindigkeit üblicherweise die offensichtlichsten Vergleichskriterien. Ein NAS-System setzt eine Festplatte jedoch selten der konstanten, ununterbrochenen Belastung aus, die durch eine maximale sequentielle Übertragungsrate repräsentiert wird. In der Praxis umfasst der Betrieb eines NAS Aufgaben wie Datensicherungen, Dateizugriffe, Metadatenverwaltung, RAID-Aktivitäten und andere konkurrierende Anforderungen.
Die Leistung eines NAS hängt daher nicht nur von der Hardware oder den Leistungskennzahlen ab. Ebenso wichtig ist, wie effizient das Gerät gleichzeitige Arbeitslasten verarbeitet, und hier spielt die Firmware eine entscheidende Rolle. Um das zu verstehen, ist es hilfreich zu betrachten, was die in den Spezifikationen angegebenen Übertragungsgeschwindigkeiten tatsächlich bedeuten.
Die Spitzenleistung allein erklärt nur einen Teil der Geschichte.
Die für eine Festplatte angegebene sequentielle Übertragungsrate (STR) beschreibt einen bestimmten Betriebszustand: die kontinuierliche Datenübertragung zwischen benachbarten Sektoren. Bei einer anhaltenden sequentiellen Übertragung verbringen die Lese-/Schreibköpfe relativ wenig Zeit damit, zwischen verschiedenen Bereichen der Festplatte hin und her zu wechseln. Ein NAS-System arbeitet selten über längere Zeiträume unter diesen Bedingungen. Wenn Anfragen eingehen, werden kontinuierliche Übertragungen unterbrochen, und die Köpfe beginnen, sich zwischen verschiedenen Bereichen der Festplatte zu bewegen.
Auf einem NAS-System mit vier Einschüben können während des Arbeitstages die nächtlichen Backups noch laufen, während Benutzer auf freigegebene Dateien zugreifen und das Betriebssystem die Metadaten des Dateisystems aktualisiert. Wurde kürzlich eine Festplatte ausgetauscht, wird der durch den RAID-Wiederaufbau verursachte Datenverkehr in dieselbe Warteschlange eingereiht. Keine dieser Aktivitäten ist für sich genommen besonders ressourcenintensiv; die Herausforderung besteht jedoch darin, sie alle gleichzeitig zu verarbeiten.
Das Ergebnis ist nicht nur eine geringere Leistung, da jede Richtungsänderung den Datenfluss unterbricht und zusätzliche Kopfbewegungen erfordert, bevor die nächste Anfrage verarbeitet werden kann. Mit zunehmender Anzahl eingehender Anfragen wird der kontinuierliche Datentransfer aufgrund anderer Aktivitäten immer stärker fragmentiert.
Nicht alle Anfragen können warten, obwohl eine Verzögerung eines Teils einer sequenziellen Datensicherung um Bruchteile einer Sekunde kaum wahrnehmbar ist. Wenn ein Benutzer ein Dokument öffnet, erwartet er eine sofortige Antwort, während die Verarbeitung der Dateisystem-Metadaten und der durch die RAID-Rekonstruktion erzeugte Datenverkehr im Hintergrund weiterlaufen müssen. Das Laufwerk muss Lese- und Schreibanfragen unterschiedlicher Größe, Position und Dringlichkeit ausbalancieren, anstatt sie strikt in der Reihenfolge ihres Eintreffens zu verarbeiten.
Die Firmware optimiert das Hardwareverhalten.
Die Schreib-/Leseköpfe, der Spindelmotor und das Speichermedium definieren die mechanischen Grenzen einer Festplatte. Die Firmware kann diese Komponenten nicht beschleunigen, aber sie kann deren Effizienz bestimmen, indem sie steuert, wie das Laufwerk auf verschiedene Anfragen reagiert. Dazu gehört die Verwaltung von Daten im Cache und die Organisation von Befehlen vor der Ausführung.
Zwei mit ähnlicher Hardware gefertigte Festplatten können daher auf die gleiche Arbeitslast in einem NAS unterschiedlich reagieren. Der Unterschied liegt nicht im Aufzeichnungsmechanismus selbst, sondern in der ihn steuernden Firmware.
Die Arbeitslast bestimmt die Reaktion.
Auf demselben NAS mit vier Einschüben kann die nächtliche Datensicherung beispielsweise weiterlaufen, während ein Benutzer ein Dokument öffnet, das an anderer Stelle im Festplatten-Array gespeichert ist. Das Gerät könnte die Datensicherung zwar sofort unterbrechen, um die Leseanforderung zu bearbeiten, dies würde jedoch die Kopfbewegungen erhöhen und den kontinuierlichen Schreibvorgang stören. Andererseits ist das Ignorieren der Leseanforderung auch keine Option, da der Benutzer eine sofortige Antwort erwartet. Daher muss die Firmware entscheiden, wie diese widersprüchlichen Anforderungen behandelt werden, bevor sie den Schreibmechanismus erreichen.
Diese Entscheidung hängt von mehr als nur der Reihenfolge der eingehenden Anfragen ab. Eine Leseanfrage erfordert unter Umständen eine andere Behandlung als ein längerer sequenzieller Schreibvorgang, während Metadatenaktualisierungen und der durch RAID-Wiederaufbauten erzeugte Datenverkehr das Speichersystem zusätzlich belasten. Da sich die Arbeitslast ändert, bewertet die Firmware die Behandlung eingehender Anfragen kontinuierlich neu, bevor diese den Schreibmechanismus erreichen, und bestimmt so die optimale Nutzung des Caches und die optimale Organisation der Befehle.
Die Cache-Zuweisung hängt von der Arbeitslast ab.
Die Ermittlung der Arbeitslast ist nur der erste Schritt. Sobald die Firmware bestimmt hat, wie eine Anfrage behandelt werden soll, kann sie eine Cache-Richtlinie anwenden, die den Anforderungen dieser Aktivität entspricht, anstatt alle Anfragen gleich zu behandeln.
Eine sequentielle Datensicherung und das Öffnen eines Dokuments durch einen Benutzer können zwar denselben Cache nutzen, profitieren aber nicht von derselben Speicherbelegungsstrategie. Die Reservierung von Cache-Speicherplatz für gepufferte Schreibvorgänge trägt zur Aufrechterhaltung der Kontinuität einer sequentiellen Übertragung bei, während Cache-Speicherplatz für Leseanfragen die Wartezeit beim Datenabruf verkürzt.
Die Anwendung einer einheitlichen Cache-Richtlinie auf alle Anfragen kann dazu führen, dass gepufferte sequentielle Schreibvorgänge und kleinere Leseanfragen um dieselben Cache-Ressourcen konkurrieren, wenn die Arbeitslast variiert.
Die Befehlsplanung trifft Entscheidungen.
Die Erkennung der Arbeitslast und die entsprechende Cache-Zuweisung bestimmen nicht, wann Anfragen an das Speichermedium gesendet werden. Die Firmware muss auch die Reihenfolge der Ausführung ausstehender Befehle festlegen. Bei gemischter NAS-Arbeitslast beeinflusst diese Entscheidung, wie häufig sich die Lese-/Schreibköpfe zwischen verschiedenen Festplattenpositionen bewegen und wie viel Zeit für die Datenübertragung im Vergleich zur Neupositionierung des Lese-/Schreibmechanismus aufgewendet wird.
Die bisher beschriebenen Prinzipien werden von verschiedenen Festplattenherstellern auf unterschiedliche Weise umgesetzt. Toshibas Ansatz findet sich in der NASLink™-Firmware-Architektur wieder, in der die Arbeitslasterkennung, die Cache-Zuweisung und die Befehlsplanung als Komponenten eines einzigen Entscheidungsprozesses fungieren (Abbildung 1).

Abbildung 1: Die Firmware identifiziert zunächst die Arbeitslast, bevor sie die Cache-Zuweisung und die Befehlsplanung anwendet, um eine „vorhersagbare“ Leistung zu erzielen
In NASLink™ beeinflusst der erkannte Verarbeitungstyp die Organisation ausstehender Befehle. Kleine Schreibanforderungen werden zu längeren, zusammenhängenden Schreibsequenzen zusammengefasst, um unnötige Kopfbewegungen zu vermeiden. Kleine Leseanforderungen werden nach Möglichkeit in Leerlaufphasen von Schreibvorgängen eingestreut, während Hintergrundprozesse wie RAID-Wiederherstellung oder Festplattenprüfung so angepasst werden, dass sie die Benutzerzugriffe möglichst wenig beeinträchtigen.

Abbildung 2: NASLink™ reorganisiert ausstehende Anfragen, indem Schreibvorgänge zu längeren sequenziellen Übertragungen zusammengefasst, kleinere Lesevorgänge in angemessenen Intervallen bearbeitet und die RAID-Aktivität separat im Hintergrund verwaltet wird.
Bei der Planung werden auch Faktoren berücksichtigt, die über den eigentlichen Befehl hinausgehen. So beeinflussen beispielsweise Warteschlangenlänge, Datenkontinuität, Vibrationen und Temperatur die Reihenfolge, in der Anfragen ausgeführt werden.
Die Firmware ist weiterhin von der Hardware abhängig.
Sie kann zwar Arbeitslasten erkennen, Cache zuweisen und die Befehlswarteschlange organisieren, doch diese Entscheidungen hängen nach wie vor von den physikalischen Eigenschaften des Laufwerks ab. Die Aufzeichnungstechnologie bestimmt, wie Daten auf das Medium geschrieben werden, der verfügbare Cache begrenzt den Arbeitsbereich der Firmware, und eine präzise Positionierung des Lesekopfs ist während der Befehlsausführung unerlässlich.
Aus diesem Grund wird die NAS-Firmware in Verbindung mit Hardware entwickelt, die für den Dauerbetrieb in Umgebungen mit mehreren Laufwerken ausgelegt ist, und nicht isoliert. Bei Toshiba N300-Laufwerken sorgt die konventionelle magnetische Aufzeichnungstechnologie (CMR) für die vorhersehbaren sequenziellen Aufzeichnungseigenschaften, auf denen die Firmware-Strategie basiert. Bis zu 1 GB Cache stellt den Arbeitsspeicher bereit, den NASLink™ dynamisch zuweist, und Rotationsvibrationssensoren tragen dazu bei, die präzise Positionierung des Lesekopfs beizubehalten, wenn benachbarte Laufwerke im Gehäuse Vibrationen erzeugen.
Entwicklung für gemischte Arbeitslasten:
Der maximale sequentielle Durchsatz ist nach wie vor eine wichtige Spezifikation, beschreibt aber nur einen Betriebszustand. Ein NAS verbringt einen Großteil seiner Lebensdauer damit, auf gleichzeitige Anfragen zu reagieren, die den kontinuierlichen Datentransfer unterbrechen und von der Firmware Entscheidungen zur Organisation der Speicheraktivitäten erfordern.
Die Arbeitslasten auf NAS-Systemen kombinieren sequentielle Übertragungen, zufällige Lesevorgänge und Hintergrundwartungsaufgaben, wodurch das Verhalten des Laufwerks weitgehend von der Firmware gesteuert wird. Die Erkennung der Arbeitslast, die Cache-Zuweisung und die Befehlsplanung beeinflussen, wie der Aufzeichnungsmechanismus auf diese simultanen Anforderungen reagiert, während die Hardware die stabile Plattform für diese Entscheidungen bereitstellt. NASLink™ ist ein Beispiel für die Anwendung dieser technischen Prinzipien auf ein speziell für NAS-Umgebungen entwickeltes Laufwerk.
Autorin: Eun-Kyung Hong, Produktmanagerin für Festplatten bei Toshiba Electronics Europe GmbH
