SATAe - SATA Express

SATA Express (SATAe) ist eine Massenspeicher-Schnittstelle für SSDs und der Nachfolger von SATA 6G. Dahinter steckt die Idee, auf die SATA-Schnittstelle für SSDs zu verzichten und statt dessen den PCI Express (PCIe) an die Erfordernisse von SSDs anzupassen. Dabei entsteht eine Kombination aus SATA und PCI Express. Auf diese Weise kann man SSDs über eine eigene Steckverbindung am PCI Express anschließen.

Bei SATA Express kümmert sich nicht SATA, sondern PCI Express um die physikalische Übertragung und beschränkt sich auf die Definition von Steckverbindern und Bauformen.
An den SATAe-Anschlüssen funktionieren auch herkömmliche SATA-Laufwerke. Der dafür eingesetzte Steckverbinder kann sowohl SATA- als auch PCIe-Signale verarbeiten.

SSD-Schnittstellen Übersicht

Die per PCIe angebundenen SSDs können wahlweise die Protokolle AHCI oder NVMHCI/NVMe (NVM Express) verwenden. Momentan werden PCIe-SSDs noch als SATA-AHCI-Laufwerke erkannt. Da AHCI für herkömmliche Festplatten entwickelt wurde, wird es irgendwann von NVMe abgelöst. NVMe ist weitaus besser für die Ankopplung von Flash-Massenspeichern mit vielen internen Kanälen an Rechnern mit Multi-Core-Prozessoren ausgelegt als SATA-AHCI. Allerdings gibt es noch keine NVMe-Laufwerke für den Massenmarkt (Stand: Mitte 2014).

Übertragungsgeschwindigkeit

Vorgesehen ist, dass SATA Express wahlweise eine, zwei oder vier PCIe-3.0-Lanes (x1, x2 oder x4) nutzen und darüber Daten mit 1 GByte/s pro Lane übertragen kann. Das bedeutet eine Datenrate von bis zu 4 GByte/s. Das bedeutet aber nicht, dass jede SATAe-SSD das unterstützt. Der Grund ist schlicht und einfach, dass die Anbindung des Chipsatzes für PCIe 3.0 zu gering ist und deshalb mit 2 PCIe-Lanes (PCIe x2) Version 2.0 bspw. nur insgesamt 1 GByte/s möglich ist.
Aktuelle Chipsätze (Mitte 2014) binden die beiden Schnittstellen mit zwei PCIe-2.0-Lanes an, was eine Datenrate von 1 GByte/s ergibt. Gegenüber SATA 6G mit nur 600 MByte/s profitieren vor allem SSDs von der höheren Übertragungsgeschwindigkeit.

Steckverbinder für SATAe

SATA Express definiert einen breiten Stecker, der aus zwei nebeneinanderliegenden SATA-Buchsen und einer Zusatzbuchse für die PCIe-Taktsignale und Stromversorgung besteht. Die Idee dabei ist, dass man die beiden SATA-Buchsen für herkömmliche SATA-Laufwerke nutzen kann, so lange es noch keine Laufwerke für SATA Express gibt.
Die Anschlüsse können wahlweise mit SATA- oder PCIe-Signalen belegt werden. In die SATAe-Buchse passen auch normale SATA-Stecker. Durch die Definition des Steckverbinders SFF-8639 ist eine weitreichende Hardware-Kompatibilität hergestellt und das darüberliegende Übertragungsprotokoll unabhängig.

SATAe-Steckverbinder auf dem Mainboard

Auf dem Motherboard ist eine SATAe-Buchse vorgesehen, in die entweder ein mit zwei PCIe-Lanes (PCIe 3.0 x2 = 2 GByte/s) beschaltetes Kabel für PCIe-SSDs passt oder alternativ zwei normale SATA-Stecker. Auf dem Motherboard befindet sich deshalb eine Umschalt-Elektronik, die je nach Verwendung die Buchse mit dem richtigen Controller verbindet.

SATA Express = SATA + PCI Express 3.0

SATA Express (SATAe) ist vereinfacht ausgedrückt eine Kombination aus SATA und PCI Express.
Während einer Übergangsphase wird AHCI (Advanced Host Controller Interface) zum Einsatz kommen. AHCI ist ein herstellerunabhängiger Schnittstellen-Standard zur Ansteuerung von SATA-Adaptern.
Die Bezeichung SATA Express ist im Prinzip eine reine Marketing-Bezeichnung und hat mit SATA nicht mehr viel zu tun. Die Übertragung erfolgt per PCIe.

Weil es keine Flash-Controller mit direkter PCIe-Anbindung gibt kommt in den Controllern eine PCIe-SAS-Bridge zum Einsatz. Dafür braucht man momentan hersteller- und betriebssystemspezifische Treiber. Abhilfe soll NVMe schaffen. Was bereits unter Linux funktioniert. Unter Windows gibt es nur einen einfachen Open-Source-Treiber.

SATA Express = NVM Express + PCI Express 3.0

In Zukunft wird man auf die alten SATA-Elemente verzichten und auf die mit Non-Volatile Memory Express (NVM Express, NVMe) spezifizierten Konzepte setzen. Für PCs und Notebooks fehlen noch NVMe-Treiber in den Betriebssystemen und der UEFI-Firmware. Nur in Einzelfällen kommen in Servern oder Workstations bereits NVMe-SSDs zum Einsatz.

NVMe / NVM Express / Non-Volatile Memory Express

NVM Express oder Non-Volatile Memory Express (NVMe) ist ein Protokoll für einen nichtflüchtigen Datenspeicher. Dabei handelt es sich in der Regel um einen Flash-Speicher, der unterschiedliche Bauformen haben kann. Zum Beispiel als Steckkarte oder eine Festplatte. NVM Express ist also ein Protokoll für SSDs mit direkter PCI-Express-Anbindung, die mit Universaltreibern unter verschiedenen Betriebssystemen funktionieren. Das bedeutet, SSDs werden zukünftig nicht mehr über die SATA-Schnittstelle mit dem Chipsatz verbunden, sondern direkt mit PCI Express und dem Protokoll NVM Express.

Ein erster Schritt ist die Spezifikation von Non Volatile Memory Express. Darin ist ein Host Controller Interface (NVMHCI) definiert, der zwischen PCI Express und den Besonderheiten von SSD-Speichern vermittelt. Die physikalische Übertragung bleibt dabei dem PCI Express vorbehalten, während NVMe die darüberliegenden Protokollschichten übernimmt. Unter anderem geht es darum, die vielen kleinen Einzelzugriffe zu großen Datentransfers zusammenzufassen, damit eine hohe Übertragungsrate möglich ist. Desweiteren kümmert sich NVMe darum Strom zu sparen, CPU-Ressourcen zu schonen und einen einheitlichen Treiber bereitzustellen. Dank eines Standard-NVMHCI-Treibers wird eine SSD in jedes Betriebssystem als Massenspeicher eingebunden.

Leistungsmerkmale

SATA Express enthält optimierte Funktionen, damit PCIe-SSDs in Multi-Threading-Umgebungen mit Multi-Core-CPUs effizienter arbeiten. SATA Express stellt sicher, dass Threads auf einzelnen CPU-Kernen mit jeweils eigenen Interrupts laufen, ohne sich gegenseitig zu blockieren. Darüber hinaus legt die Spezifikation Standards für Datenverschlüsselung, Verwaltungsfunktionen und Fehlerbenachrichtigung fest.

Zusätzliche Leistungsmerkmale