Andrea Danti - Fotolia

Neue Software-Architekturen mit NVMe und Direct-Flash können Grenzen überwinden

Veraltete Technologien bremsen Flash aus. Dieser Engpass kann durch neue Software-Architekturen mit NVMe und Direct-Flash überwunden werden.

Flash-Laufwerke versprechen Geschwindigkeitsvorteile, werden aber derzeit noch ausgebremst. Hilfe ist in Sicht. 

Die Speicherdichte von Solid State Drive (SSDs) wächst schnell und heute sind bereits SSDs mit 60 Terabyte (TB) verfügbar. Für 2019 erwartet Intel, dass High-End-Modelle mit einer Kapazität von 100 Terabyte kommen.

Auch Festplatten (HDDs) wurden jedes Jahr größer, aber nicht schneller, hinsichtlich Performance-pro-TB sogar langsamer. Dasselbe passiert jetzt mit SSDs. Diese großen SSDs werden über SAS-Pipes angebunden, die klein sind und nur eine einzige Warteschlange haben.

Einige Flash-Arrays bieten statt einer einzigen SAS-SSD stattdessen zwei SATA-SSDs in jedem Flash-Modul, was das Problem entschärft, aber nicht löst.

In jeder SSD steckt noch viel Festplattentechnologie. Das Array-Betriebssystem ist gezwungen, mit Flash über Festplattenprotokolle wie SCSI und Festplattenschnittstellen wie SAS und SATA zu kommunizieren. Und wenn dann endlich die Kommunikation mit Flash stattfindet, wird vorgegeben, dass der Flash-Speicher eine Festplatte ist und muss auch noch um die Ebenen der komplexen Software in der SSD herumnavigieren.

Aus dieser Problematik heraus entstand ein neuer, eleganter, aber technisch anspruchsvoller architektonischer Ansatz für direkt angesteuerten Flash-Speicher. Anstatt SSDs zu verwenden, kommt Raw-NAND-Flash mit schneller Anbindung mittels NVMe über PCIe zum Einsatz und ermöglicht es dem Flash-Speicher, direkt mit dem Array Betriebssystem zu kommunizieren.

Das NVMe-Protokoll verspricht, den bisherigen Engpass zu beseitigen, um das Leistungspotenzial von Flash voll auszuschöpfen.

NVMe ist vor allem schneller als das herkömmliche Storage-Protokoll SAS. Und es arbeitet parallel, mit bis zu 65.535 Queues (Warteschlangen), 65.535 Befehlen pro Queue sowie Locking-freien Verbindungen, um jeden CPU-Kern dedizierten Warteschlangenzugriff auf jeder SSD zu ermöglichen.

Diese hohe Parallelität beseitigt die durch serielle Verbindungen bedingten Engpässe und ermöglicht direkte Übertragungswege zu den SSDs. Daraus resultiert eine erheblich höhere Performance für zukünftige Multicore-CPUs, SSDs mit enormer Dichte, neue Speichertechnologien und Hochgeschwindigkeitsverbindungen.

Softwaredefiniertes Flash-Modul

Was den Ansatz der direkten Flash-Ansteuerung anders macht, ist die softwaredefinierte Architektur. Ein typisches All-Flash-Array kann zum Beispiel 100 SSDs im System haben, jeweils mit einem eigenen Flash-Controller-Chip, der die gesamte Flash-Management-Software implementiert.

Leider arbeitet aber jede SSD völlig „unbewusst“, separat von den anderen 99 SSDs im System, so dass es nicht möglich ist, eine Optimierung über den gesamten Flash-Pool vorzunehmen.

Das für die direkte Flash-Ansteuerung vorgesehene Modul ist ein sehr einfaches Stück Hardware, dessen einzige Aufgabe es ist, einen großen Pool von Flash über massiv-parallele NVMe-Pipes mit dem Flash-Array zu verbinden.

Die zugehörige Software kann dadurch das Flash-Management in der SSD global über den gesamten Flash-Pool ausüben. Diese Flash-Management-Software erlaubt es zudem, Consumer-Grade-SSDs zu verwenden statt teurerer Enterprise-SSDs.

Die DirectFlash-Software übt drei Funktionen aus:

  1. Adaptive I/O-Steuerung. Bei der direkten Flash-Ansteuerung „weiß“ die Software, wo und wann Daten gespeichert werden und was im Array vor sich geht, sowohl benutzergesteuerte Vorgänge als auch vom Betriebssystem initiierte Wartungsaufgaben. Es weiß, ob jedes Flash-Element „beschäftigt“ ist und wie viele Elemente zur Verfügung stehen.
  2. Intelligentes Lebensdauer-Management. Das Flash-Speichermedium „verschlechtert“ sich bei jedem Schreibvorgang langsam, daher gilt es, die Lebensdauer zu optimieren. Mit der direkten Flash-Ansteuerung erfolgen Funktionen wie Allokation, Wear-Leveling und Garbage Collection in einem globalen Pool, was erheblich effizienter ist.
  3. Vorhersagbare Verfügbarkeit. Bei herkömmlichen SSDs kann das Flash-Array SSD-Lebensdauer und -Ausfälle nur passiv überwachen. Mit der direkten Flash-Ansteuerung wird detaillierte Telemetrie auf Flash-Block-Ebene ermöglicht. Mittels prädiktiver Analytik und maschineller Lerntechnologien lassen sich potenzielle Ausfälle besser vorhersagen und verwalten. Mehr Sichtbarkeit macht die Software intelligenter.

Direkte Flash-Ansteuerung: schnell und transparent

Der entscheidende Vorteil der direkten Flash-Anbindung ist neben dem Software-definierten Ansatz die NVMe-Anbindung. Auf diese Weise kann die leistungsfördernde Parallelität des NVMe-Protokolls genutzt werden.

Das NVMe-Protokoll selbst arbeitet mit bis zu 65.535 parallelen Warteschlangen mit jeweils 65.535 Befehlen. Im praktischen Einsatz kann ein heute verfügbares Modul für die direkte Flash-Ansteuerung 256 parallele I/O-Befehle verarbeiten.

„NVMe macht den Weg frei für eine neue Flash-Array-Architektur.“

Markus Grau, Pure Storage

xxx

Die Parallelität ermöglicht es dabei jedem Kern jedes Prozessors in den Controllern, für jedes Modul eine eigene Warteschlange zu nutzen. Zum Vergleich: In herkömmlichen SSD-basierten Flash-Modulen ist eine Warteschlangentiefe von 8 möglich, so dass Module zur direkten Flash-Ansteuerung eine 32-fache Verbesserung der Parallelität bieten. Neben der Parallelität erfolgt der I/O deterministisch, woraus eine konsistente Zugriffszeit für jeden Flash-Block resultiert und dadurch Latenzen verhindert werden.

Vor der Einführung von NVMe nutzten All-Flash-Arrays eine Architektur, die ursprünglich für Consumer-Geräte wie Notebooks entworfen wurde, um die Speicherkapazität in kleinem Maßstab lokal zu verwalten. NVMe macht den Weg frei für eine neue Flash-Array-Architektur mit einer Skalierbarkeit, die für die Cloud-Ära notwendig ist.

Auf diese Weise werden höhere Performance und Leistungsdichte sowie eine bessere Effizienz erzielt. Nun geht es darum, dass sich NVMe-Flash auf dem Massenmarkt zügig durchsetzt, damit möglichst viele Unternehmen von diesen Vorteilen in der Praxis profitieren und das Leistungspotenzial von Flash voll ausschöpfen können.

Über den Autor:
Markus Grau ist Principal Systems Engineer bei Pure Storage.

Folgen Sie SearchStorage.de auch auf Twitter, Google+, Xing und Facebook!

Nächste Schritte

Ober- oder unterhalb des Hypervisors? Performance-Tuning für hyperkonvergente IT

Die zentralen Funktionen und Features von Datenbank-Performance-Tools

Windows 10: Performance-Optimierung mit RAM- und Service-Einstellungen

Tools und Tipps zur Verbesserung der Netzwerk-Performance mit Hyper-V

Artikel wurde zuletzt im Mai 2017 aktualisiert

Pro+

Premium-Inhalte

Weitere Pro+ Premium-Inhalte und andere Mitglieder-Angebote, finden Sie hier.

Erfahren Sie mehr über Kapazitätsoptimierung von Primärspeicher

Diskussion starten

Schicken Sie mir eine Nachricht bei Kommentaren anderer Mitglieder.

Mit dem Absenden dieser Daten erklären Sie sich bereit, E-Mails von TechTarget und seinen Partnern zu erhalten. Wenn Ihr Wohnsitz außerhalb der Vereinigten Staaten ist, geben Sie uns hiermit Ihre Erlaubnis, Ihre persönlichen Daten zu übertragen und in den Vereinigten Staaten zu verarbeiten. Datenschutz

Bitte erstellen Sie einen Usernamen, um einen Kommentar abzugeben.

- GOOGLE-ANZEIGEN

SearchSecurity.de

SearchNetworking.de

SearchEnterpriseSoftware.de

SearchDataCenter.de

Close