Mit NVMe startet Flash richtig durch
Die Roboter-Analogie
Cisco-Manager J. Michael Metz schlägt in diesem Zusammenhang vor, von einer Analogie mit einem Roboter in einer Fabrik auszugehen: Die Fabrik verfügt über eine Reihe von Transportbändern für bestimmte Gegenstände, die der Roboter erfassen soll. Der Roboter befindet sich seitwärts auf einer Schiene und muss sich vor und zurück bewegen und warten, bis er einzelne Gegenstände auf den Transportbändern erfassen kann. Zudem muss man sich vorstellen, dass einige Transportbänder langsamer als andere sind – zum Beispiel ist Band 1 das schnellste, Band 2 etwas langsamer und so weiter.
Etwa auf diese Weise arbeitet laut Metz eine sich drehende Festplatte. Der Roboterarm – Read/Write Head – bewegt sich über der sich drehenden Festplatte von Sektor zu Sektor, um einzelne Datenblöcke auszuwählen. Je nach Länge der Blöcke und verfügbarem Platz in den Sektoren ist die Performance dabei sehr unterschiedlich. Um den Roboter, um im Beispiel zu bleiben, zu programmieren und seine Arbeit vorzubereiten, müssen Befehle an ihn gesendet werden – bei den traditionellen Speichermedien übernimmt SCSI das.
SCSI gilt als bewährte Kommandostruktur. Folgt man Metz, ist es das zentrale Protokoll, das die meisten Geräte auf der Welt kontrolliert. In der IT wird es bei den Protokollen Fibre Channel, Fibre Channel over Ethernet (FCoE), iSCSI und InfiniBand benutzt sowie bei Festplatten in Desktop-PCs und Notebooks. Rotierende Medien galten linearen Medien (zum Beispiel Tapes) zwar lange Zeit als überlegen, aber die Kommandostruktur war wegen der unterschiedlichen Zugriffsgeschwindigkeiten schwierig zu gestalten – in der Mitte der rotierenden Festplatte sind sie geringer als an den Aussenseiten. Und weil sich der Roboterarm – oder Read/Write Head – hin und her bewegt, kann er immer nur eine Reihe von Befehlen nacheinander (sequenziell) abarbeiten. Eine parallele Bearbeitung ist wegen der physikalischen Struktur nicht möglich.
Mit dem Aufkommen von Flash als Alternative ist jedoch einiges in Bewegung geraten. Die Roboter-Analogie fortsetzend, hat man es nicht mehr mit verschiedenen Transportbändern zu tun, sondern nur mit einer einzigen gemeinsamen Fläche, auf der sich alle Gegenstände oder Blöcke befinden.Von seinem übergeordneten Standpunkt aus kann der Roboter alle Blöcke auf einmal sehen. Nichts bewegt sich, es handelt sich um einen «soliden Status». Bei diesem Stand der Dinge würde man immer noch den Roboterarm, der SCSI-Kommandos ausführt, benutzen: Alle Kommandos werden eins nach dem anderen umgesetzt. Da es sich aber nicht mehr um sich bewegende Medien handelt, könnte der Roboterarm sehr schnell sein.
Vor diesem Hintergrund wurde auf Initiative der NVM-Express-Organisation (siehe Kasten auf Seite 82) deshalb eine von Grund auf neue Technologie für Flash und NVM entwickelt, die einen prinzipiell anderen und sehr schnellen Daten- oder Blockzugriff ermöglicht.
Die wesentlichen Merkmale von NVMe sind: Während SCSI nur eine Reihe von Kommandos kennt, kann NVMe mit bis zu 64'000 Befehlsserien arbeiten. Darüber hinaus kann jede Serie bis zu 64.000 Befehle enthalten – gleichzeitig und nebeneinander.
Auf der Ebene der Analogie bleibend, würde das bedeuten, jeder Roboter hätte 64.000 ausführende Arme und jeder Roboterarm allein könnte 64.000 Kommandos abarbeiten. Aus Gründen der praktischen Umsetzung hat man die Anzahl der Kommandos auf 13 begrenzt, was für Flash ausreichend sein soll, sagt man bei Cisco.