Gorodenkoff/stock.adobe.com
Computational Storage: Speicher mit Datenverarbeitung
Bei Computational Storage handelt es sich um eine Speichergerätearchitektur, bei der Daten direkt auf dem Speichergerät verarbeitet werden, quasi Memory mit hoher Kapazität.
Computational Storage ist eine spezielle Speicherarchitektur. Dabei werden die Daten, die ein System verarbeiten muss, direkt im Speichergerät selbst verarbeitet. Der Vorteil dabei liegt auf der Hand: das Netzwerk und Computer werden entlastet, Transportwege für Daten reduziert und damit die Verarbeitung beschleunigt. Da die Preise für Flash-Speicherimmer weiter fallen und auch SSD immer leistungsstärker werden, macht es Sinn, dass Speichersysteme mehr Aufgaben übernehmen. Die Leistung von SSD und Flash-Speichern steigt dabei immer weiter an, sodass mit einer cleveren Architektur die Leistung bei der Verarbeitung und Sicherung von Daten deutlich verbessert werden kann.
Einstieg in Computational Storage
Computational Storage ist sicher einer der interessanten Speichertrends für 2020. Diese Art der Speicherarchitektur ist vor allem dann sinnvoll, wenn Echtzeitdaten verarbeitet werden sollen, bei denen die Verarbeitungszeit beziehungsweise die Latenz möglichst kurz sein muss. Computational Storage besteht aus mindestens zwei wichtigen Bestandteilen:
- Computational Storage Processor
- Computational Storage Drive
Computational Storage Processor (CSP) verarbeitet die Daten, die auf Computational Storage Drive (CSD) gespeichert sind. Dabei kann der CSP auch auf den flüchtigen Arbeitsspeicher im Computational Storage-System zugreifen. Auf dem CSD werden die Daten fest gespeichert, der flüchtige Speicher hat die gleiche Aufgabe wie ein Arbeitsspeicher. Dabei handelt es sich um ähnliche Datenspeicher wie Flash oder SSD. Storage-Prozessoren sind wesentlich günstiger als CPUs und können die Leistung eines Servers schon dadurch deutlich erhöhen, in dem sie der CPU einfache Arbeiten abnehmen, welche der Speicherung und dem Lesen von Daten dienen.
Computational Storage kann auch direkt in Server verbaut werden. Es muss sich dabei um kein eigenständiges Speichersystem handeln. Durch den intelligenten Datenspeicher übernimmt der Prozessor des Speichers die Berechnungen von Daten, die ansonsten zur CPU gesendet werden müssen. Hier kann also die CPU genauso entlastet werden, wie im Bedarfsfall das ganze Netzwerk. Die Leistung des Datenspeichers steigt dadurch genauso an, wie die des ganzen Servers, da die CPU weniger belastet ist. Ein solcher Speicher meldet sich im Computer als SSD oder Flash-Speicher an, kann aber eigene Aufgaben durchführen.
Neben Computational Storage in Servern, wird auch der Bereich NVMe-over-Fabrics (NVMe-oF) weiter ausgebaut. Hier sind die Storage-Einheiten im Netzwerk verteilt, und werden über Ethernet oder InfiniBand miteinander verbunden.
Aufbau von Computational Storage
Generell ist Computational Storage ähnlich aufgebaut wie ein Flash-Speicher. Die Speichergeräte verfügen über Speicherzellen, und auch über schnelle Zwischenspeicher, ähnlich wie Arbeitsspeicher. Dadurch wird die Leistung bei der Verarbeitung sichergestellt. Neben den optimierten Speicherzellen, verfügt Computational Storage auch noch über Prozessoren (CSP), mit denen die Daten verarbeitet werden können. Wir sind zu Beginn bereits darauf eingegangen.
Natürlich lassen sich mit den Prozessoren keine umfassenden Analysen durchführen, aber viele Aufgaben, für die Daten erst zu einem Server oder zur CPU geschickt werden müssen, kann das Speichergerät selbst erledigen. Beispiele dafür sind Umgebungen, in denen die Daten in Echtzeit verarbeitet werden müssen (IoT, KI), oder wenn ein Suchindex direkt auf dem Speichergerät erstellt werden soll. Auch wenn Daten direkt auf dem Endgerät verarbeitet werden müssen, um Informationen in den Daten zu suchen, ist der Weg der direkten Verarbeitung schneller. Im Bereich Machine Learningkönnen solche Speichergeräte die Verarbeitungszeit ebenfalls deutlich verbessern.
Beispiele für Computational Storage
Computational Storage wird unter anderem mit PCIe 4.0-Controllern und schnellen Flash-Chips bereitgestellt. Mit PCIe 4.0-Controller lassen sich aber auch die schnellen, verteilten Speicher im Netzwerk ansprechen.
Erreicht wird das unter anderem dadurch, dass Speicherhersteller wie Samsung die NAND-Chips immer effektiver und höher stapeln können. Aktuell gibt es bereits Flash-Speicher mit 128 und 136 Lagen von Samsung und SK Hynix. Es gibt auch andere Ansätze, zum Beispiel von Toshiba. Hier sollen Speicherzellen bis zu 5 Bit speichern können. Aktuell werden 4 Bit (QLC) eingesetzt. Dadurch lassen sich bis zu 32 Zustände speichern, anstatt 16 Zustände, wie aktuell. Das erhöht die mögliche Speichermenge von SSD und Flash-Speichern und senkt gleichzeitig den Preis und natürlich auch die maximale Speichergröße.
Computational Storage Technical Work Group schafft Praxislösungen
Das Konzept des Computational Storage findet ein immer größeres Interesse, da auch immer mehr Daten, immer schneller verarbeitet werden müssen. Vor allem im KI-/ML-Bereich spielt die Leistung des eingesetzten Speichers eine enorm wichtige Rolle, genauso wie mit Big Data. Aus diesem Grund hat die SNIA auch die Computational Storage Technical Work Group (TWG) ins Leben gerufen. Die Mitgliedunternehmen wollen Standards entwickeln und sicherstellen, dass Computational Storage-Lösungen miteinander kompatibel und interoperabel sind. Derzeit sind unter anderem NetApp, Lenovo, Western Digital, NGD Systems und weitere Unternehmen Mitglied der Computational Storage Technical Work Group.
NGD Systems und Newport Platform
Auch wenn derzeit Speichergeräte mit Computational Storage noch nicht stark verbreitet sind, gibt es bereits einige Lösungen, die in der Praxis eingesetzt werden können. Ein Mitglied der Computational Storage Technical Work Group ist das Unternehmen NGD Systems. Das Unternehmen bietet eine Computational Storage-Lösung mit der Bezeichnung Newport Platform. Das System bietet eine Kapazität von bis zu 32 TByte. Mit der Newport Platform lassen sich KI und Big Data Management innerhalb eines Speichergeräts in Echtzeit durchführen. Diese patentierte Technologie soll Unternehmen vor dem Daten-Tsunami retten, vor dem in vielen Bereichen gewarnt wird.
Die Newport-Plattform unterstützt 16 Flash-Kanäle, In-Situ-Verarbeitung mit NVMe 1.3 und PCIe Gen 3.0 x4. Es gibt eine Vielzahl von Formfaktoren einschließlich M.2 und EDSFF.