tonda55 - Fotolia
Storage Class Memory: Kapazität mit hoher Performance
Storage Class Memory (SCM) vereint die Vorteile von Flash-, SSD- und HDD-Storage. Es soll DRAM-nahe Leistung kostengünstig anbieten und die Lücke zwischen Storage und Memory füllen.
Bei Storage Class Memory handelt es sich um Datenspeicher, in dem es unterschiedliche Speicherschichten gibt. SCM wird zwischen teurem, hochleistungsfähigem DRAM und mittlerweile relativ günstigen SSDs positioniert. Das heißt, SCM soll hybriden Speicher bieten, der performanter als SSDs ist, aber nicht den Kostenfaktor einer DRAM/SDRAM-Lösung hat.
Dabei spielen zum Beispiel auch SSD- und HDD-Technologien eine Rolle, aber auch Flash-Speicher, wie NVMe und Arbeitsspeicher. Im Fokus steht dabei, dass der Speicherplatz ausreichend zur Verfügung steht und gleichzeitig leistungsstark für die Bereiche genutzt werden kann, die einen schnellen Datenzugriff benötigen. Dabei sollen die Kosten natürlich im Rahmen bleiben. Das wird dadurch erreicht, dass schneller Speicher mit langsamerem Speicher kombiniert wird. Derzeit ist hier vor allem Intel aktiv.
Soll zum Beispiel für das Machine Learning ein schneller Datenspeicher zur Verfügung stehen, müssen in diesem nicht unbedingt die archivierten Daten abgelegt werden. Hier kann durch Speicherschichten festgelegt werden, dass häufig verwendete Daten im schnelleren Bereich des SCM abgelegt werden, während Archivierungsdaten in anderen Bereichen gespeichert werden.
Natürlich lässt sich dieser Ansatz auf moderne Storage Class Memory-Systeme, wie Intel Optane übertragen. Hier werden die Vorteile von NVMe/Flash mit SDRAM kombiniert. Das Ergebnis ist extrem schneller Speicher, der zwar etwas langsamer als SDRAM ist, dafür aber über deutlich mehr Kapazität bei geringerem Preis verfügt.
Beispiel von SCM: Storage Spaces Direct in Windows Server 2019
Ein Beispiel für eingeschränktes SCM stellen die Storage Spaces Direct von Windows Server 2019 dar. Natürlich gibt es in diesem Bereich auch zahlreiche Hardwareanbieter, die ähnlich arbeiten. Aktuelle SCM-Lösungen von Intel bestehen aus Speicherchips, die in den Arbeitsspeicher-Steckplätzen von Servern verbaut werden und SDRAM-Technologie mit NVMe kombinieren. Wir kommen dazu später noch ausführlicher.
In einem Storage Space auf einem Windows-Server werden verschiedene Speichertechnologien zusammengefasst. Der Speicher erscheint für die Anwendungen als ein gemeinsamer Pool.
In diesem Pool wird schneller NVMe-Speicher für Daten zur Verfügung gestellt, die häufig genutzt werden und schnell lese- und schreibbar sein müssen. Als zweite Schicht dienen SSD für Daten, die weniger oft genutzt werden.
Kalte Daten, also Daten, die nur sehr selten in Anspruch genommen werden, kann der Dateiserver auf den Festplattenbereich speichern. Genauso arbeiten auch andere SCM-Systeme in diesem Bereich. Es werden verschiedene Speicherschichten bereitgestellt, in einem Pool zusammengefasst, und die Vorteile der Systeme miteinander verbunden.
Die Speicherung übernimmt das SCM-System für die Anwendung. Diese speichert die Daten lediglich im Pool, der Server kümmert sich um die Verwaltung und die korrekte Ablage.
Beim Einsatz von SCM ist die Geschwindigkeit für den Zugriff nie so hoch, wie der schnellste Speicher im System, entspricht von der Speichermenge her aber dem gebündelten Storage aller Datenspeicher. Die richtige Verteilung der Daten wird durch das SCM selbst übernommen.
Flash-Speicher/NVMe mit SDRAM verbinden
Storage Class Memory besteht nicht nur aus einer Kombination von SSD, NVMe und HDD. Es gibt auch Systeme, die Arbeitsspeicher (SDRAM) mit schnellem NVMe/Flash-Speicher kombinieren. Hierbei handelt es sich um SCM-Speicher der neusten Generation. Dieser kommt vor allem von Intel.
Auch hierbei handelt es sich um Speicherschichten, bei denen schneller Speicher, in diesem Fall Memory auf Basis von SDRAM mit im Vergleich langsamerem Flash-Speicher kombiniert wird. Der Speicher ist dabei nicht flüchtig, das heißt die Daten sind auch beim Ausschalten des Servers weiterhin verfügbar.
Wichtig ist ein solches Szenario für das eingangs erwähnte Machine Learning oder andere Einsatzszenarien, bei denen auf Echtzeitverarbeitung von Daten gesetzt wird.
In Unternehmen gibt es immer mehr Anwendungen, die enorme Datenmengen in Echtzeit verarbeiten müssen. Hier kann natürlich auf den jeweils schnellsten verfügbaren Speicher gesetzt werden, also SDRAM. Dieser hat aber einen gravierenden Nachteil: Er ist sehr teuer. Ein weiterer Nachteil ist, dass dieser Speicher flüchtig (volatil) ist, bei Stromverlust sind die Daten also verloren.
Kombiniert man schnellen Datenspeicher, zum Beispiel SDRAM, mit langsameren, aber noch ausreichend schnellen Technologien wie NVMe oder anderen Flash-Speichern, erhält man einen schnellen Datenspeicher mit ausreichend Speicherplatz, der gleichzeitig auch nicht flüchtig (Non-volatil) ist. Zwar ist theoretisch noch mehr Leistung möglich, der Preis dafür ist aber sehr hoch.
Storage Class Memory mit Intel 3D XPoint Version 2
Beispiele für modernes Storage Class Memory sind Intel Optane 3D Xpoint sowie Samsungs Z-SSD. Hier werden die Vorteile von sehr schnellem Flash-Speicher und dessen dauerhafter Speichermöglichkeit mit der noch höheren Geschwindigkeit von SDRAM verbunden.
Auch hier ist der Speicher nicht so schnell als SDRAM, bietet dafür aber für einen geringeren Preis mehr Speicherplatz, da auch NVMe und anderer Flashspeicher genutzt wird.
Intels 3D XPoint verfügt in der Version 2 über die doppelte Kapazität. Das zeigt, dass die Entwicklung im Storage Class Memory-Bereich sehr schnell vorangeht, vor allem im Highend-Bereich.
Intel plant die Steigerung von 128 Gbit auf 256 Gbit. Bei den Intel Optane-Chips kann die Arbeit mit Echtzeitanwendungen und In-Memory-Datenbanken also extrem beschleunigt werden, bei akzeptablem Preis für die zu speichernde Datenmenge. Die Speicherchips lassen sich dabei auch in Memory-Steckplätze von Servern stecken, so dass auch die Schnittstelle zum Speicher über maximale Leistung verfügt.