Festplatten: Das macht NVMe anders (und besser) als Sata

Wir erklären, wie Prozessor und Speichermedien Daten austauschen, was NVMe anders macht als Sata und warum es für SSDs besser geeignet ist.

Artikel von Johannes Hiltscher veröffentlicht am
NVMe und Sata erfüllen beide denselben Zweck - und sind doch sehr verschieden.
NVMe und Sata erfüllen beide denselben Zweck - und sind doch sehr verschieden. (Bild: Johannes Hiltscher, Golem.de)

Grundsätzlich ist die Aufgabe eines Protokolls zur Kommunikation mit Festplatten einfach: Es muss mitteilen, von wo auf dem Speichermedium Daten gelesen und wo sie im RAM des Systems abgelegt werden sollen. Beim Schreiben wird nur die Richtung umgedreht, daneben müssen noch ein paar Befehle und Statusinformationen übermittelt werden. Diese einfache Funktion lässt sich aber auf ganz unterschiedliche Weisen realisieren. Wir sehen uns an, wie das beim alten Standard Sata (für Serial Advanced Technology Attachment) mit dem neueren NVMe (für Non-Volatile Memory express) funktioniert.

Inhalt:
  1. Festplatten: Das macht NVMe anders (und besser) als Sata
  2. Zirkuläre Puffer und eine Klingel
  3. NVMe ohne PCIe: Kaum denkbar

Da verschiedene Speichermedien unterschiedlich angesteuert werden, ist immer ein Controller erforderlich. Er setzt ein für den Prozessor angenehmes Protokoll in Ansteuerinformationen für das Speichermedium um. Bei klassischen HDDs und optischen Laufwerken müssen die Schreib-Lese-Köpfe positioniert, bei SSDs die passenden Flash-Chips angesprochen werden. Hier finden wir auch gleich den ersten Unterschied.

Beim klassischen Sata, dessen Geschichte bis ins Jahr 1989 zurückgeht, findet sich neben dem Controller der Festplatte noch ein sogenannter Host-Controller. Er übersetzt von einer Host-Schnittstelle, oft PCI(e), zunächst auf ein standardisiertes Protokoll zur Kommunikation mit einem oder mehreren Speichermedien über eine ebenfalls standardisierte Schnittstelle.

Nur noch ein Controller

Bei NVMe fällt der Host-Controller weg, jede SSD integriert stattdessen ein komplexeren Controller, der auch Aufgaben übernimmt, die bei Sata der Host-Controller erledigt. Dazu gehört der direkte Speicherzugriff mittels DMA (Direct Memory Access). Damit werden Daten in den RAM geschrieben oder von dort gelesen und so mit Anwendungen ausgetauscht.

Auf den ersten Blick mag es sinnvoll erscheinen, wie bei Sata sowie dessen Vorgänger mit parallelem Datenbus (PATA) nur einen komplexen Host- und viele einfache Festplatten-Controller zu verwenden. Die Vermittlung durch den Host-Controller macht allerdings ein recht komplexes Protokoll erforderlich, über das er mit dem Festplatten-Controller kommuniziert. Dabei muss der Host-Controller einige der vom Gerät erzeugten Datenstrukturen (Frame Information Structures, FISs) selbst verarbeiten, etwa um mittels DMA gelesene Daten in den RAM zu schreiben.

Andere FISs muss er hingegen in einen Puffer im Speicher schreiben, damit der Treiber sie auswerten kann. Für SSDs, die im Vergleich zu den klassischen HDDs wesentlich geringere Zugriffslatenzen haben, ist das allerdings Gift. Denn jede Kommunikation zwischen den beteiligten Controllern bedeutet eine Verlängerung der Latenz beim Zugriff auf den RAM.

Das Protokoll wird radikal einfacher

Die lange Geschichte von Sata geht mit einem immer weiter gewachsenen Protokoll mit über 100 ATA-Befehlen einher, dazu kommen noch die ATAPI-Befehle, die etwa für optische Laufwerke erforderlich sind. Die meisten der vielen Befehle sind für SSDs irrelevant. NVMe markiert hier einen kompletten Neuanfang mit dem Ziel, einen möglichst kompakten Befehlssatz zu schaffen. Der führt zu einfacheren Datenstrukturen und lässt sich zudem effizienter übertragen.

Während bei Sata mehrere Zugriffe auf Register des Host-Controllers erforderlich sind, um ein Kommando zum Festplatten-Controller zu schicken, genügt bei NVMe laut Spezifikation (PDF) einer. Die Register, die etwa das von Intel entwickelte Advanced Host Controller Interface (AHCI, PDF) definiert, können zudem nicht gecached werden. Der Grund dafür ist, dass sie sowohl vom Prozessor als auch vom Host-Controller beschrieben werden. Das führt dazu, dass jeder Zugriff eine kleine und mit paketbasierten Schnittstellen wie PCIe (g+) ineffiziente Transaktion auslöst.

Die Schnittstelle zum Senden von Kommandos zur SSD (und zum Empfangen ihrer Antworten) ist bei NVMe ebenfalls deutlich einfacher.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
Zirkuläre Puffer und eine Klingel 
  1. 1
  2. 2
  3. 3
  4.  


RienSte 16. Mär 2023 / Themenstart

Wohl eher 2 Minuten (HDD) vs. 20 Sekunden (SATA SSD) vs. 18 Sekunden (NVMe SSD). 1...

mgutt 11. Mär 2023 / Themenstart

Setzt ja leider voraus, dass man einen Chipsatz hat, der auf mehreren PCIe Steckplätzen...

Brian Kernighan 11. Mär 2023 / Themenstart

Was ist da attraktiv? Grade bei größeren Kapazitäten sind SATA SSDs bedeutend...

charlemagne 11. Mär 2023 / Themenstart

Der Artikel weist auf die historisch bedingten Unzulänglichkeiten von SATA hin. Zahlen...

Kommentieren



Aktuell auf der Startseite von Golem.de
O.MG Cable im Test
Außen USB-Kabel, innen Hackertool

Das O.MG Cable kommt wie ein Standard-USB-Kabel daher. Dass es auch ein Hackertool ist, mit dem sich gruselige Dinge anstellen lassen, sieht man ihm nicht an. Obendrein ist es auch noch leicht zu bedienen.
Ein Test von Moritz Tremmel

O.MG Cable im Test: Außen USB-Kabel, innen Hackertool
Artikel
  1. Entlassungen: Vodafone Deutschland will nicht mehr giga sein
    Entlassungen
    Vodafone Deutschland will nicht mehr giga sein

    Vodafone hat den Stellenabbau in Deutschland bestätigt. Ziel sei ein Unternehmen, dem man wieder vertrauen könne, sagt der neue Chef.

  2. Stormbreaker: Smarte Gleitbombe priorisiert Ziele
    Stormbreaker
    Smarte Gleitbombe priorisiert Ziele

    Raytheon hat einen Millionenauftrag zur Herstellung von 1.500 computergesteuerten Gleitbomben des Typs Stormbreaker für die US-Luftwaffe erhalten.

  3. Weltgrößter Kabelnetzbetreiber: Liberty Global legt sich nicht auf DOCSIS 4.0 fest
    Weltgrößter Kabelnetzbetreiber
    Liberty Global legt sich nicht auf DOCSIS 4.0 fest

    In den USA sind die Kabelnetzbetreiber sehr schnell mit dem DOCSIS 4.0 Rollout. Liberty Global hält sich Glasfaserüberbau und den neuen Standard gleichermaßen offen.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    • Daily Deals • Nur noch heute: Amazon Frühlingsangebote • MindStar: MSI RTX 4080 1.249€, Powercolor RX 7900 XTX OC 999€ • Fernseher Samsung & Co. bis -43% • Monitore bis -50% • Bosch Prof. bis -59% • Windows Week • Logitech bis -49% • Alexa-Sale bei Amazon • 3 Spiele kaufen, 2 zahlen [Werbung]
    •  /