NVMe: Mit U.2 und M.2 das Potential von SSDs voll ausschöpfen

0
172
Photo by Chris Liverani on Unsplash

Flash-Speicher etabliert sich zunehmend auch im Enterprise-Umfeld. Auf Grund des hohen Preises setzte man Enterprise-SSDs bisher fast nur als Cache-Bereich für File- oder Storage-Systeme ein. Der rapide Preisverfall und die zunehmende Kapazität von Flash-Speicher macht diese Technologie nun zunehmend für den flächendeckenden Einsatz im Rechenzentrum interessant. Flash-Speicher ist sehr viel schneller als drehende Festplatten, sowohl in der Bandbreite als insbesondere auch in der Antwortzeit: Es muss kein Schreib-/Lesekopf mehr mechanisch positioniert werden, was bei herkömmlichen Festplatten die größte Performance-Bremse darstellt. Mit dem schnellem Flash-Speicher wird nun die Schnittstelle zum Datenaustausch der Engpass: SAS und SATA wurden spezifiziert für herkömmliche Festplatten. Für SSDs ist die Schnittstelle zwar grundsätzlich geeignet. Flash-Module könnten aber noch sehr viel schneller angesprochen werden, als das die aktuellen Spezifikationen der SAS- und SATA-Schnittstellen zulassen.

Abhilfe bringt hier NVMe (Non Volattile Memory Express). Flash-Module werden direkt an den PCI-Bus angeschlossen und per PCIe angesprochen. Neben höherer Bandbreite und geringerer Latenz ist damit auch die Strecke zer, welche die Daten vom Flash-Modul zum Hauptspeicher und in die CPU zurücklegen müssen. Neben dem Performance-Gewinn beim Datenzugriff bekommt man mit NVMe nebenbei auch noch einen Performance-Gewinn in der Datenverarbeitung. PCIe und NVMe sind im wesentlichen Protokoll-Definitionen für den Datenaustausch. Sie liefern keine Definition der physischen Ausprägung des Anschlusses. Es gibt für Anbieter also eine gewisse Freiheit für NVMe-Steckverbinder.

Mit NVMe sind neue Anschluss-Typen in die Schnitt­stel­len­land­schaft ein­ge­zo­gen, man liest in dem Zusam­men­hang sehr häu­fig von U.2 und M.2.

DIE U.2-SCHNITTSTELLE

Zum Anschluss von SAS- und SATA-Festplatten in Servern gibt es einen Stecker, der häufig als SFF-8639 bezeichnet wird. Der wird typischerweise für 2,5″-Festplatten verwendet. Soll der Stecker ausschließlich SATA-Platten aufnehmen, verhindert eine Nase das Einstecken von SAS-Platten. Die Verbindungen für Strom und einige Kontroll-Signale sind für SATA- und SAS-Platten an der selben Stelle. Für die eigentliche Datenübertragung werden aber für SATA andere Pins im Steckergehäuse verwendet, als für SAS.

Das Steckergehäuse hat noch Platz für weitere Kontakte. Diesen Platz nutzen Hersteller, um auch NVMe-Devices anzusprechen. Strom und einige Kontroll-Signale sind identisch zur SATA-/SAS-Belegung Die Signalübertragung für das PCIe-Protokoll passiert über zusätzliche Pins, die ausschließlich für NVMe genutzt werden. Können an einem Port sowohl SSDs als auch NVMe-Devices eingesteckt werden, spricht Supermicro von einem Hybrid Port.

WD GOLD U.2 SSD

Diese Variante des Anschlusses — alle Pins angeschlossen und Verwendung sowohl für SATA/SAS als auch für NVMe möglich — wird als U.2 bezeichnet.

DIE M.2-SCHNITTSTELLE

Die maximal mögliche Informationsdichte ist bei Flash-Modulen sehr viel höher als bei herkömmlichen magnetisch beschichteten Festplatten. Das bedeutet, bei gleicher Speicherkapazität ist ein Flash-Modul ein vielfaches kleiner als eine Festplatte. Im Zuge weiterer Miniaturisierung ist es daher naheliegend, für NVMe-Module auf eine andere, platzsparendere Steckverbindung zu wechseln. Nach dem NVMe als Protokoll PCIe spricht, liegt die Verwendung von PCIe-Steckkarten nah. Diese Variante ist weit verbreitet, zumal so gut wie jedes Server-Mainboard PCIe-Steckplätze bereits on board hat. Eine zweite, noch mal deutlich kleinere Variante kommt von Intel. Diese Steckverbindung ist als M.2 bekannt, manch mal wird sie auch als NGFF bezeichnet.

Der­zeit ist M.2 bis maxi­mal 4 PCIe-Lanes spe­zi­fi­ziert und erreicht damit Band­brei­ten bis 32 Gbit/s (zum Ver­gleich: SATA3 lie­fert 6 Gbit/s) NVMe bie­tet damit etwa fünf­mal mehr Durch­satz als SATA3. Im Stan­dard sind zahl­rei­che unter­schied­li­che Abmes­sun­gen für den Steck­ver­bin­der und das zuge­hö­rige Flash-Modul erlaubt. Aktu­ell sind aus­schließ­lich Module mit 22mm Breite im Markt. Je nach Kapa­zi­tät und ver­wen­de­ten Flash-Chips sind die Module 42mm, 60mm, 80mm oder 110mm lang. Die Bezeich­nung M.2 2260 weist auf ein M.2-Modul mit 22mm Breite und 60mm Länge hin. Die elektri­schen Kon­takte sind auf einer schma­len Seite (Stirnseite) des Moduls.

M.2-Module wer­den direkt auf dem Main­board gesteckt und haben dort auch eine Befes­ti­gungs­schraube. Dazu hat das Modul an der schma­len Seite gegen­über der Kon­takt­leiste mit­tig eine pas­sende Ein­buch­tung. Viele Main­boards sind dafür vor­be­rei­tet, min­des­tens zwei unter­schied­lich lange Module auf­neh­men zu kön­nen. Beim Kauf eines Moduls sollte man des­halb auch auf die Ein­bau­länge ach­ten, die einem das Main­board vor­gibt. Ein Modul darf ein­sei­tig oder zwei­sei­tig bestückt sein. Auch hier gibt es ver­schie­dene Vari­an­ten, maxi­mal sind 1.5mm Bau­höhe je Seite erlaubt. Die Spe­zi­fi­ka­tion des M.2-Verbinders erlaubt bis zu 60 Steck­zy­klen. Das erscheint auf den ers­ten Blick etwas wenig, aber NVMe-Module wird man im Enterprise-Bereich ähnlich sel­ten aus­tau­schen wie Festplatten.

WD BLUE M.2 SSD

Der Steckverbinder an sich wird für viele verschiedene Anwendungen und Protokolle verwendet. Die Codierung erfolgt durch Aussparungen in der Kontakleiste bzw. Stege im Stecker. Für NVMe gebräuchlich ist der sog. Key M (5 Pins von links, PCIe 4 Lanes) und Key B (6 Pins von rechts, PCIe 2 Lanes). Aktuelle NVMe-Module kommen häufig mit M+B-Codierung, haben also zwei Kerben in der Kontaktleiste. Das bedeutet gleichzeitig, dass ein Modul je nach Mainboard vielleicht nur mit zwei PCIe-Lanes angesteuert wird, und darüber nur noch 16 Gbit/s Durchsatz liefern kann, obwohl das Modul an sich schneller sein könnte. Alle Varianten der Baugrößen, Bauhöhen und die unterschiedlichen Keys des M.2-Verbinders erläutert der entsprechende Artikel in der englischen Wikipedia.

WICHTIGE INFORMATIONEN

1.) Der M.2-Anschluss darf gemäß Spe­zi­fi­ka­tion auch für SATA3 ver­wen­det wer­den. Dafür gibt es im Han­del natür­lich auch auch pas­sende Flash­mo­dule. Diese sind i. d. R. deut­lich bil­li­ger als das NVMe-Pendant. Diese Module sind deut­lich klei­ner und wesent­lich lang­sa­mer als NVMe. Das SATA3-Protokoll lie­fert nur maxi­mal 6 Gbit/s.

2.) NVMe darf nicht ver­wech­selt wer­den mit NVDIMM. Bei letz­te­rem kön­nen Flash-Module direkt in DIMM-Sockel auf dem Mother­board gesteckt wer­den. Das BIOS muss NVDIMM expli­zit unterstützen.

Dieser Artikel erschien im Original am 19. August 2016 im Boston-Blog.