SSDs ohne DRAM: Marvell 88NV1140 kann NVMe 1.2 und HMB
Solid State Drives ohne DRAM-Chip als Zwischenspeicher arbeiten oftmals erheblich langsamer als Pendants mit DRAM-Cache. Mit der NVMe-Spezifikation 1.2 hält die Funktion Host Memory Buffer (HMB) Einzug, die den Systemspeicher als Cache nutzbar macht. Marvell bietet mit dem 88NV1140 den ersten SSD-Controller mit HMB-Support an.
Die HMB-Funktion ist ein optionales Feature der NVMe-Spezifikation 1.2 (PDF) und muss daher nicht zwingend genutzt werden, um der Spezifikation zu entsprechen. Das Feature erlaubt dem Controller einen zugewiesenen Anteil des Arbeitsspeichers des Host-Computers exklusiv zu nutzen. Dies wird über Software auf dem Host-Computer gesteuert, sofern diese die Funktion unterstützt. Die Richtlinien sehen vor, dass der Controller auch ohne den bereitgestellten Speicher problemlos funktionieren muss – zum Beispiel wenn nicht genügend Systemressourcen zur Verfügung stehen. Der Controller wiederum muss dafür Sorge tragen, dass die Daten anschließend auf dem NAND-Flash landen.
Wie auch bei SSDs mit dediziertem DRAM-Cache liefert die Zwischenspeicherung nicht nur Geschwindigkeitsvorteile sondern erhöht auch potentiell die Gefahr eines Datenverlusts im Falle eines Stromausfalls. Im Verbrauchersegment spielt dieses Risiko keine große Rolle. Enterprise-SSDs besitzen wiederum oftmals eine vollwertige Power-loss Protection mit Stützkondensatoren, die auch Daten, die sich noch im Cache befinden (in-flight data), vor Verlust schützt.
Der Host Memory Buffer im Einsatz
Dem Thema Host Memory Buffer hat sich Marvell bereits auf dem Flash Memory Summit des vergangenen Jahres gewidmet. Die Präsentation (PDF) von Jeroen Dorgelo und Mike Chaowei Chen erklärt Funktionsweise und Vorteile im Detail. In einem Beispiel besitzt der als HMB reservierte Systemspeicher eine Größe von 128 MByte und dient der Look-up-Tabelle (LUT) einer SSD ohne DRAM-Cache als Unterschlupf. Das Resultat ist eine erhebliche Reduzierung der Latenz beim Zugriff auf die LUT.
Während beim sequenziellen Lesen kaum Leistungsunterschiede gegenüber einer „DRAM-losen“ NVMe-SSD ohne HMB auftreten, macht sich der schnellere Zugriff vor allem bei wahlfreien Lesevorgängen (4K Random Read) bemerkbar.
Dass die optionale NVMe-1.2-Funktion nicht ohne angepasste Software auf dem Host-Computer funktioniert, verdeutlicht eine weitere Folie. Demnach müssen sowohl das Betriebssystem als auch das BIOS HMB unterstützen. Den passenden Controller liefert Marvell in Form des 88NV1140. Den Zwei-Kanal-Controller mit PCIe 3.0 x1 und NVMe-Support hatte der Hersteller bereits im September 2014 vorgestellt. Seinerzeit war von NVMe 1.1b die Rede, inzwischen steht NVMe 1.2 und damit auch HMB im Datenblatt.
SSDs mit einem solchen Controller sind nicht auf Höchstleistung getrimmt, sondern vielmehr für das Einstiegssegment bestimmt. Anwendungsbeispiele sind kompakte BGA-SSDs oder M.2-Module. Mit PCIe 3.0 x1 werden bereits höhere Transferraten als bei SATA ermöglicht, zusätzlich sorgen NVMe und HMB für mehr Geschwindigkeit. Den langsamen SATA-Lösungen ohne DRAM ist das Gesamtpaket, bei etwa gleichen Kosten durch den Verzicht auf einen DRAM-Baustein, deutlich überlegen.
Sofern Marvell bis auf NVMe 1.2 samt HMB inzwischen nichts weiter geändert hat, lesen sich die Spezifikationen des 88NV1140-Controllers wie in der unten stehenden Tabelle aufgelistet. Dank LDPC-Fehlerkorrektur werde auch aktueller 15-nm-TLC-NAND unterstützt. Auch mit 3D-NAND soll der Chip umgehen können, den Marvell für den Einsatz in „einer neuen Generation von stromsparenden mobilen Computer-Systemen im Small Form Factor“ vorsieht. Beispielhaft werden Chromebooks und Hybrid-Geräte wie 2-in-1-Mobilcomputer genannt.
Marvell 88NV1140 | |
---|---|
Fertigung | 28 nm (CMOS, low power) |
CPU | 2 Cortex-R5-Kerne |
NAND Channel | 2 |
Cache | Embedded SRAM |
Interface (extern) | PCI Express 3.0 X1 (NVMe 1.2 oder Legacy AHCI) |
Interface (NAND) | ONFI 3, Toggle 2.0 |
Power Management | PCIe low power L1.2 |