Mit Server-seitigem Flash-Speicher Latenzen verringern

Server-seitige Flash-Optionen sind SAS/SATA-Drives, PCIe-Karten und duale Inline-Memory-Module, die den Flash näher an die Anwendungs-I/Os bringen.

Dieser Artikel behandelt

SSD

ÄHNLICHE THEMEN

Damit Applikations-I/Os schneller bedient werden können, lässt sich Server-seitiger Flash-Speicher wie SAS/SATA-Drives,...

PCIe-Karten oder Duale Inline-Memory-Module (DIMM) einsetzen. Die beiden Haupttypen, die in Flash-Storage-Systemen verbaut sind, sind SSDs und PCI Express (PCIe).

SSDs verfügen über den gleichen Formfaktor wie herkömmliche Festplatten (meist 2,5 Zoll) und verbinden sich über Standard-SATA- oder SAS-Controller, was wiederum die Installation und Wartung vereinfacht. Bei zufälligen (random) Schreib-/Lese-Operationen bieten SSDs eine weitaus bessere Performance als rotierende Medien. Allerdings gewährleisten sie nicht die Leistung, die sie theoretisch erreichen könnten, da sie kompatibel zu den SAS/SATA-Controllern konzipiert wurden. SATA und SAS können hier durchaus als ältere Technologien betrachtet werden, da sie entwickelt wurden, bevor sich SSD-Storage massentauglich durchsetzte.

Bevor Flash-Storage also Mainstream-Technologie wurde, war die Festplatte der Flaschenhals für Storage-I/O-Performance. Derzeit können SSDs eine weitaus größere Anzahl an IOPS abarbeiten als der Controller, was somit den Controller zum einschränkenden Faktor macht.

Eine Möglichkeit, diese Einschränkungen zu umgehen, ist SATA Express (SATAe), welches konzipiert wurde, um sowohl mit SATA- als auch PCIe-Storage-Geräten zu arbeiten. SATAe nutzt einen Konnektor, der rückwärtskompatibel zu existierenden SATA-Laufwerken ist. Allerdings ist SATAe in den PCIe-Bus integriert, was eine höhere Transferrate als mit SATA 3.0 ermöglicht. Die genaue Performance, die erreicht werden kann, hängt von der Anzahl der PCIe-Lanes ab. So gewährleistet ein SATAe-Drive mit zwei PCIe-3.0-Lanes nahezu zwei GByte pro Sekunde.

PCIe-Flash

PCIe-Flash-Technologie wurde in rasantem Tempo populär, da sie direkt im PCIe-Bus integriert ist und den Storage-Controller umgeht. Das Resultat sind schnellere Performance-Werte.

Für ein etwas konkreteres Beispiel soll hier eine Umgebung dienen, in der viele Server mit SATA-III-Controllern ausgestattet sind. Laut Spezifikation hat SATA III eine Datentransferrate von etwa 600 MByte pro Sekunde. Im Vergleich dazu: Viele PCIe-Storage-Geräte basieren auf dem PCIe-2.0-Standard, welcher maximal 500 MByte pro Sekunde pro Lane und pro Richtung gewährleistet.

Jetzt wird deutlich, warum die Anzahl der Lanes die Gesamtgeschwindigkeit des Busses bestimmt. Ein Bus mit 16 Lanes könnte so auf Transferraten von bis zu 16 GByte pro Sekunde kommen. Die 16 GByte resultieren aus der zuvor erwähnten bidirektionalen Architektur der PCIe-Lanes.

Die Spezifikationen von PCIe 3.0 liegen noch höher und unterstützen bis zu 32 GByte pro Sekunde in einem 16-Lane-Bus. Allerdings basieren derzeit fast alle PCIe-Flash-Systeme auf dem Standard 2.0.

Nicht nur der PCIe-Bus macht den Durchsatz schneller, auch die Nähe zu CPU kann hier optimieren. SATA-Controller sind in der Regel mit einem Chip-Set verbunden, welches wiederum an die CPU angeschlossen ist. Im Gegensatz dazu sind die PCIe-Limks direkt an die CPU angebunden, was zu geringeren Latenzen führt.

Haltbarkeit von Flash

Jedes Flash-Memory unterliegt Abnutzung. Das umfasst Memory in SSDs, PCIe-Flash oder anderen Flash-basierten Storage-Systemen. Jedes Mal, wenn eine elektrische Spannung zum Schreiben oder Löschen an die Zelle geführt wird, so bleibt diese elektrische Ladung im Gate-Dielektrikum des Transistors verhaften. Die Ladung residiert so lange im Transistor bis sie von einer nachfolgenden Schreib- oder Lösch-Operation entfernt wird. Dieses „Verbleiben“ und „Entfernen“ elektrischer Spannung beschädigt und zerstört die Zelle. Nichtsdestotrotz hat sich die Haltbarkeit von Flash in den letzten Jahren drastisch verbessert.

So testete der Tech Report im Jahr 2014 sechs SSDs daraufhin, wie viele Daten sich schreiben lassen bis ein Drive ausfällt. Vier der sechs Laufwerke fielen während des Tests aus. Die SSD mit der kürzesten Lebensdauer verarbeitete 728 TByte an Schreibvorgängen. Das wiederum entsprach einer weitaus höheren Datenmenge als die, für die das Laufwerk ausgelegt war. Andere Drives verarbeiteten mehr als ein PByte an Schreiboperationen, was ebenso die Spezifikationen der Hersteller übertraf.

Der Hauptgrund für die verlängerte Lebensdauer von SSDs und anderem Flash-Speicher ist der, dass Hersteller Funktionen einsetzen, die die Haltbarkeit verlängern. Eine dieser Funktionen ist Wear Leveling. Es gibt verschiedene Arten von Wear Leveling, aber allgemein verfolgen sie die Idee, dass Schreiboperationen über das Laufwerk verteilt werden, um ein wiederholtes Beschreiben spezifischer Zellen zu verhindern. Damit wird der Drive gleichmäßig genutzt und abgenutzt, was eben zu einer optimierten Haltbarkeit führt.

Im Vergleich: Caching vs. Tiering in Flash-Storage-Systemen

Obwohl Flash-Systeme Daten wie Festplatten speichern, macht es die Kapazitätseinschränkungen von Flash eher unpraktisch, große Datenbestände vorzuhalten. Auch wenn Unternehmen Flash nicht als allgemeinen Speicher einsetzen können, so ist Flash-Storage nützlich für Caching oder Tiering. Caching und Tiering verfolgen ähnliche Zwecke und obwohl es verschiedene Technologien sind, so bieten viele Systeme beide Funktionen, wie beispielsweise Windows Server 2012 R2.

Flash-Caching wird oft mit Schreiboperationen assoziiert. Häufig wird Flash-Cache auch als Schreib-Cache bezeichnet. Diese Art des Cachings ist nutzbringend für Server, die viele Storage-I/Os erhalten. In diesen Umgebungen ist es normal, dass eine Vielzahl an Daten beim Server in einer Transferrate aufläuft, die der Server nicht abarbeiten kann. Passiert dies, so wird das Storage-Array zum Flaschenhals. Hier kann der Flash-Cache helfen und als Storage-Buffer fungieren. Ankommende Daten werden zunächst auf das Flash-Medium des Servers geschrieben und dann an das Array transferiert. Da Flash-Storage sehr schnell ist, kann es die eingehenden Daten absorbieren und später zu hochkapazitiven Speichersystemen senden, wenn der Aktivitätsgrad sinkt.

Storage-Tiering kann man als eine Art Caching betrachten. Anders als beim Schreib-Cache wird mit dieser Technologie die Lese-Performance verbessert. Jedes Unternehmen besitzt Daten, auf die häufig zugegriffen wird. Kommen Storage-Tiers zum Einsatz, so überwacht das Betriebssystem oder die Storage-Hardware die Frequenz, mit der individuelle Storage-Blocks gelesen werden. Oft gelesene Blocks werden als „hot Blocks“ gekennzeichnet und auf einen schnellen, Flash-basierten Tier verschoben. So verbleiben die anspruchsvollsten Blocks auf dem leistungsstärksten Storage. In den meisten Fällen ist dieser Prozess vollständig dynamisch. „Kühlt“ ein Block ab, so wird er wieder auf ein langsames Tier verschoben und durch einen heißen Block auf dem Flash-Storage ersetzt.

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

Artikel wurde zuletzt im Januar 2016 aktualisiert

Pro+

Premium-Inhalte

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

Erfahren Sie mehr über Solid-State-Speicher

0 Kommentare

Älteste Beiträge 

Passwort vergessen?

Kein Problem! Tragen Sie Ihre E-Mail-Adresse unten ein. Wir werden Ihnen eine E-Mail mit Ihrem Passwort schicken.

Ihr Passwort wurde an die folgende E-Mail-Adresse gesendet::

- GOOGLE-ANZEIGEN

SearchSecurity.de

SearchNetworking.de

SearchEnterpriseSoftware.de

SearchDataCenter.de

Close