Getty Images/iStockphoto
Kosten und Leistung: SSDs mit und ohne DRAM im Vergleich
SSDs ohne DRAM eignen sich hervorragend für Hyperscale-Rechenzentren, aber auch andere Organisationen können davon profitieren, zum Beispiel beim Kosteneinsparen.
SSDs ohne DRAM (auch DRAM-lose SSDs genannt) verwenden einen Teil des DRAMs des Host-Servers, um all das auszuführen, was normalerweise das interne DRAM einer SSDs übernimmt. Hyperscaler finden sowohl einen Kosten- als auch einen Energievorteil in diesen Medien gegenüber Standard-SSDs.
Bestimmte neue SSDs für Rechenzentren haben keinen internen DRAM. Es ist wichtig, die Funktionsweise dieser Laufwerke zu verstehen, da DRAM-lose SSDs für einige Benutzer vorteilhafter sein können als für andere.
Was ist eine DRAM-lose SSD?
Die meisten SSDs enthalten DRAM-Chips, manchmal eine größere Anzahl davon. SSDs bestehen nicht nur aus einem Controller und zahlreichem NAND-Flash. Der DRAM hilft der SSD, die Komplexität der NAND-Flash-Schreibvorgänge zu verwalten. DRAM hilft SSDs auch bei der Kommunikation mit Prozessoren über ein Protokoll, das für Festplattenentwickelt wurde, die sich von NAND-Flash völlig unterscheiden.
Der SSD-interne DRAM speichert Metadaten, puffert Schreibdaten, fasst kurze Schreibvorgänge zu längeren zusammen und puffert Daten, die sich intern bewegen, für die Garbage Collection auf der SSD.
Aufgrund dieser Unterschiede zwischen NAND-Flash und Festplatten muss die SSD gelegentlich einige langwierige generelle Prozesse im Hintergrund durchführen. Der Host weiß nichts von diesen Vorgängen, und die SSD weiß nicht, wann sie mehr oder weniger Datenverkehr vom Host erwarten muss. Infolgedessen gibt es Fälle, in denen sich die SSD und der Host gegenseitig im Weg stehen und die Gesamtleistung des Systems beeinträchtigen. Der Host und die SSD sind nur selten miteinander synchronisiert. Die Leistung, die Kosten und der Stromverbrauch des SSD steigen mit einem größeren internen DRAM.
Benutzer von Hyperscale-Rechenzentren, experimentierten mit SSDs, bei denen die meisten Steuerfunktionen entfernt wurden. Diese SSDs ersetzten den internen Arbeitsspeicher durch einen Teil des Arbeitsspeichers des Host-Computers, der jetzt als Host Memory Buffer (HMB) bezeichnet wird.
Dieser Ansatz gibt dem Host eine größere Kontrolle über das Timing und den Betrieb der SSD. Die Nutzer können die beste Leistung erzielen, indem sie die Anwendungs- und Systemsoftware auf die interne Architektur des SSD abstimmen. Dies ist für Hyperscale-Rechenzentren sinnvoll, da sie fast ihre gesamte Software selbst erstellen und kontrollieren.
Dies ist nicht der erste Versuch, den DRAM des Hosts anstelle von DRAM in der SSD verwendete. Das Unternehmen Fusion-io startete dieses Geschäft mit DRAM-losen SSDs vor mehr als einem Jahrzehnt. Viele fanden diese Implementierung damals unattraktiv, da der DRAM des Servers als Ersatz verwendet wurde, wodurch die verfügbare Menge an DRAM verringert wurde.
Diese Konfiguration bedeutete auch, dass der Server nicht von einem Fusion-io-Laufwerk booten konnte, da der Betrieb der SSD davon abhing, dass der Server zuvor gebootet wurde. Die heutigen DRAM-losen SSDs haben dieses Bootstrap-Problem jedoch überwunden, und die Einstellung zur DRAM-Nutzung in Servern hat sich seither geändert.
Wie unterscheiden sich DRAM-lose SSDs von DRAM-SSDs?
Eine DRAM-lose SSD hat niedrigere Herstellungskosten. Die SSD selbst verbraucht weniger Strom als eine SSD mit einem internen DRAM.
Die Funktion des internen DRAMs hat sich zwar von der SSD zum HMB des Servers verlagert, aber diese Funktion erfordert immer noch die gleiche Anzahl von DRAM-Bytes. Infolgedessen wird ein Anstieg des Stromverbrauchs des Servers wahrscheinlich einem Rückgang des DRAM-Stromverbrauchs der SSD entsprechen.
Der Punkt mit der Stückliste (BOM, Bill of Materials) ist jedoch gültig. Eine herkömmliche Unternehmens-SSD kann DRAM im Wert von 20 bis 100 US-Dollar verwenden. Wenn die DRAM-lose SSD ohne diese 20 bis 100 US-Dollar hergestellt werden kann, dann sollten die Kunden erwarten, dass ein Teil dieser Einsparungen an sie weitergegeben wird.
Eine SSD, die sich enger in die Anwendungssoftware einfügt, kann auch eine bessere Leistung erbringen als eine, die Befehle nach dem Zufallsprinzip empfängt, während sie versucht, ihre Interna zu verwalten. Allerdings muss die Software so eingestellt werden, dass sie die Vorteile dieser engeren Kopplung nutzen kann.
Diese engere Kopplung bietet Benutzern, die die Kontrolle über ihre Software haben, valide Vorteile. Der Host kann sein Wissen über die interne Architektur des SSD nutzen, um I/O-Anforderungen mit dem aktuellen Status der internen NAND-Flash-Chips der SSD zu synchronisieren. Wenn ein Teil des SSD-Flashs belegt ist, kann die Anwendung auf eine Aufgabe umleiten, die einen anderen Teil des SSD-Flashs verwendet.
Das Beste von allem ist, dass die Anwender die internen allgemeinen Prozesse der SSD – insbesondere den Zeitpunkt der Garbage Collection – unter den Befehl des Hosts stellen können, anstatt dass die SSD dies mit einer ungenauen Schätzung des besten Zeitpunkts initiiert.
Wie Hyperscaler DRAM-lose SSDs oder DRAM-SSDs einsetzen
All diese Kontrolle hat ihren Preis. Wenn der Host seine Anwendungssoftware mit der SSD synchronisieren soll, muss die Software für die Architektur der SSD geschrieben werden. Für die meisten Unternehmen ist dies nicht sinnvoll, da der Großteil ihrer Software nicht speziell für die Anwendung erstellt wird. Die Kosten für die Entwicklung dieser Software wären für diese Unternehmen unerschwinglich.
Aber für einen Hyperscaler, der dieselbe Software auf Zehntausenden von Servern einsetzt, ist ein millionenschwerer Entwicklungsaufwand finanziell absolut sinnvoll, wenn er zu jährlichen Einsparungen von 100 Dollar für jeden der 50.000 Server führt. Das ergibt eine Gesamteinsparung von 5 Millionen Dollar.
Es wird andere Anwendungen geben, bei denen das Gegenteil der Fall ist. Bestimmte neue SSDs wurden so konzipiert, dass sie über das CXL-Protokoll kommunizieren, um Persistenz bei hoher Bandbreite zu erreichen. Diese SSDs, die auch für Hyperscaler interessant sind, haben riesige interne DRAMs, um ihre Geschwindigkeitsmängel zu kaschieren. Sie sind für eine Schicht der Memory-Hierarchie konzipiert, die sich für nichtflüchtige Dual-Inline-Speichermodule (Dual In-line Memory Modules, DIMM) und Intels Optane-DIMMs entwickelt hat.
Andere Anwendungsszenarien
Anwendungen des unteren Segments, die nur geringe Anforderungen an die SSD stellen, können von den Kosteneinsparungen profitieren, die durch den Verzicht auf den DRAM in der SSD entstehen. Höherwertige Anwendungen profitieren am meisten, wenn sie mit kundenspezifischer Software gepaart werden. Dazu können bestimmte wissenschaftliche Anwendungen und hochgradig angepasste Anwendungen gehören, die nicht einfach kommerzielle Software und Hardware zusammenpacken, sondern eine umfangreiche Code-Entwicklung erfordern. Bei diesen Anwendungen kann eine DRAM-lose SSD die Leistung beschleunigen und die Kosten senken.
Infolgedessen bedienen DRAM-lose SSDs zwei Enden des Spektrums:
- Budgetsysteme, die im Gegenzug für Hardwarekosteneinsparungen eine etwas geringere Leistung tolerieren können.
- Hyperscale- und andere Systeme, die angepasste Software verwenden, um wichtige Leistungsgewinne herauszuholen und die Stücklistenkosten und den Energieverbrauch zu senken.
In beiden Fällen ist diese SSD-Auswahl möglicherweise nicht die erste Überlegung bei der Konfiguration des Systems. Sie kann jedoch wichtige Vorteile bieten, wenn das Unternehmen sie richtig anwendet.