Grundlegendes zum SSD Over-Provisioning (OP)

Prozentsatz Over-Provisioning =

Physische Speicherkapazität – Benutzerspeicherkapazität


Benutzerspeicherkapazität

Prozentformel für Over-Provisioning

Solid-State-Laufwerke (SSDs) unterscheiden sich in ihren Abmessungen (d. h. Höhe, Breite und Länge) und externen Schnittstellen (z.B. SATA- oder SAS-Schnittstelle) zwar oft nicht von Festplatten (HDDs). Aber das Innenleben einer SSD, ihre Funktionsweise und Komponenten unterscheiden sich wesentlich vom Drehmagnetplatten-Design einer HDD.

Nach dem Zusammenbau einer SSD kann der SSD-Hersteller bei der Programmierung der Firmware dem Over-Provisioning (OP) einen zusätzlichen Anteil der Gesamtkapazität des Speichers zuweisen. Over-Provisioning verbessert nicht nur die Leistung, sondern erhöht auch oft die Lebensdauer einer SSD. Da dem SSD-Controller mehr Flash NAND Speicherplatz zur Verfügung steht und die NAND-Flashabnutzung während seiner Nutzungsdauer weniger belastet wird, ist das Laufwerk langlebiger.

Physischer SpeicherBenutzerspeicherOver-Provisioning in %Anwendungsklasse
64 GB 60 GB 7% Leseintensiv
96GB 90GB 7% Leseintensiv
128GB 120GB 7% Leseintensiv
128GB 100GB 28% Eher schreibintensiv
256GB 240GB 7% Leseintensiv
256GB 200GB 28% Eher schreibintensiv
512GB 480GB 7% Leseintensiv
512GB 400GB 28% Eher schreibintensiv
1024GB 960GB 7% Leseintensiv
1024GB 800GB 28% Eher schreibintensiv
2048GB 1800GB 14% Leseintensiv
2048GB 1600GB 28% Eher schreibintensiv
Over-Provisioning auf Basis von Speicherkapazität und Anwenderklasse

Die Anwendungen können, wie beispielsweise typische Client Workloads, leseintensiv sein, in denen der Benutzer generell 20 % zum Schreiben und 80 % zum Lesen verwendet. Enterprise Anwendungen, die einen Speicher zum Lese-Caching verwenden, sind leseintensiv. Wenn diese Anwendungen mehr Daten in den Speicher schreiben würden, wären sie mehr schreibintensiv.

Der SSD-Hersteller kann die OP-Kapazität je nach der Anwenderklasse der SSD und der Gesamtkapazität des NAND-Flashspeichers unterschiedlich einrichten.

Höhere Kapazitäten und Laufwerke mit unterschiedlichen Anwenderklassen werden typischerweise mit einem proportional größeren Over-Provisioning konfiguriert. Dies beruht auf den Ressourcenanforderungen für die Verwaltung von mehr NAND-Flash und der Anwendung von Garbage Collection, freien Blöcken und erweiterten Datenschutzfunktionen.

Dieser Over-Provisioning-Speicher ist für den Benutzer nicht zugänglich und wird im Host-Betriebssystem nicht angezeigt. Er ist ausschließlich für die Verwendung des SSD-Controllers reserviert.

Vorteile des Over-Provisioning (OP)

So verbessert OP die Lebensdauer einer SSD

Jedes NAND-Flashspeicher-Die besteht aus mehreren Blöcken, die jeweils eine Vielzahl Seiten enthalten.

NAND-Flash wird auf Seitenebene beschrieben und gelesen, kann jedoch nur auf Blockebene gelöscht werden.

Wenn eine einzelne Seite auf einer programmierten Seite innerhalb eines Blocks modifiziert oder gelöscht werden soll, muss zuerst der gesamte Inhalt aller Seiten des Blocks in einen Zwischenspeicher kopiert und gelöscht werden, bevor der neue Blockinhalt auf dieselbe Blockadresse programmiert werden kann.

Eine Seite kann nur dann ohne diesen langwierigen Lesen-Modifizieren-Schreiben-Zyklus direkt in einen Block in einem NAND-Flash geschrieben werden, wenn die Seite bereits leer ist.

Wenn also viele Blöcke leer sind und über Over-Provisioning leer gehalten werden, trägt dies zu einer konstanten Leistung bei, vor allem bei zufälligen Schreibszenarien, die den höchsten Write Amplification Factor (WAF) aufweisen.1

So verbessert OP die Lebensdauer einer SSD

Wir möchten uns etwas mit der Funktionsweise einer SSD und den Grenzen nicht-volatiler NAND-Flashspeicher befassen, damit Ihnen verständlich wird, warum eine SSD mit Over-Provisioning konfiguriert ist und welche Vorteile dies für den SSD-Controller bringt.

Jede NAND-Flashzelle hat eine begrenzte Lebensdauer, die auf der Lebensdauer ihrer Programm- und Löschzyklen (P/E) basiert. Sie wird während der Herstellung durch den NAND-Hersteller festgelegt, da jede auf einer NAND-Flashzelle durchgeführte Programm- oder Löschfunktion die Fähigkeit der Zelle, eine elektrische Ladung zuverlässig zu speichern, reduziert und somit die Datenintegrität gefährden kann.

Da jedoch die NAND-Geometrie von 2D zu 3D migriert, verbessert sich die NAND-Lebensdauer, erhöhen sich die Dichten und die Produktionskosten werden gesenkt – SSDs werden einfach immer preiswerter.

Zusammengefasst wird die SSD-Lebensdauer hauptsächlich von drei Faktoren beeinflusst:
  • NAND Flash Programm-/Löschbeständigkeit und auf Geometrie bezogene Lese-/Programm-/Löschkomplexität (in diesem Fall ist 2-dimensionale vs. 3-dimensionale Herstellungstechnologie in die Geometrie einbezogen)
  • SSD-Kapazität
  • SSD-Controller-Funktion und Effizienz (Garbage Collection, Write Amplification, Blockverwaltung, Wear-Leveling, Error Correcting Code)

Gewährleistung der Leistung und Lebensdauer durch Over-Provisioning (OP)

Um Szenarien zu vermeiden, in denen der Speicher einer SSD randvoll mit ungültigen Dateien gefüllt ist, arbeitet die Garbage Collection des SSD-Controllers mit dem Over-Provisioning als Zwischenstufe. In diesem temporären Arbeitsbereich werden gültige Seiten zusammengeführt und mit ungültigen (oder gelöschten) Seiten gefüllte Blöcke wieder regeneriert.

Alle regenerierten Dateien bzw. Blöcke werden dann dem Over-Provisioning-Speicher hinzugefügt, um Schreibvorgänge aus dem SSD-Controller aufzunehmen und die Leistung während Spitzenbelastungen zu maximieren, da die Lese-, Lösch-, Modifizierungs- und Schreibvorgänge mit ungültigen Seiten gefüllte Blöcke die Leistung ansonsten beeinträchtigen könnte.

Die Garbage Collection arbeitet unabhängig vom Betriebssystem und wird automatisch in Perioden mit niedriger Aktivität ausgelöst. Dies' erfolgt in regelmäßigen Intervallen oder durch Auslösen des entsprechenden ATA Data Set Management TRIM Befehls, um eine Garbage Collection anzusetzen.

Jederzeit verfügbare, freie Blöcke des Over-Provisioning-Speichers unterstützen effektiv das Wear-Leveling auf dem NAND Flash, bei dem der SSD-Controller Schreibvorgänge intelligent und gleichmäßig über alle NAND Flash-Speicherzellen verteilt, ohne dabei die Gesamtleistung der SSD auch bei Spitzenbelastungen zu beeinträchtigen.

Zudem kann der Befehl ATA Data Set Management TRIM, mit dem ungültige Seiten und nicht verwendeter Benutzerspeicher bereinigt werden, durch die Bereinigung ungültiger Seiten und nicht verwendeter Speicherkapazitäten weiteren Speicherplatz für die SSD verfügbar machen.

Formatierte LaufwerkskapazitätOver-Provisioning GrößeSequentielle Lese-/Schreib-BandbreiteZufälliges Lesen/Schreiben-IOPS konstant bei 4KTBW (JEDEC Enterprise1)DWPD2
480GB (DC500R) 7% 550/500MB/s 98,000/12,000 IOPS 438 0.5
480GB (DC500M) 32% 555/520MB/s 98,000/58,000 IOPS 1139 1.3
960GB (DC500R) 7% 555/520MB/s 98,000/20,000 IOPS 876 0.5
960GB (DC500M) 32% 555/520MB/s 98,000/70,000 IOPS 2278 1.3
1920GB (DC500R) 7% 555/520MB/s 98,000/24,000 IOPS 1752 0.5
1920GB (DC500M) 32% 555/520MB/s 98,000/75,000 IOPS 4555 1.3
3840GB (DC500R) 7% 555/520MB/s  98,000/28,000 IOPS  3504  0.5
3840GB (DC500M)  32% 555/520MB/s  98,000/75,000 IOPS 9110  1.3
Over-Provisioning auf Basis von Speicherkapazität und Anwenderklasse

Um die Wirkungsweise von OP verständlich zu machen, werden wir zur Veranschaulichung Kingston Enterprise SSDs, die DC500R SSD, näher betrachten. Diese SSDs gibt es in Speicherkapazitäten von bis zu 3,84TB und Benutzer können ihr Over-Provisioning mit dem Kingston SSD Manager anpassen. Durch die Anpassung der OP-Größe werden mit 7 % oder höherem OP Effekte in der Leistung und Lebensdauer erzielt.

Beim Vergleich aller verbundenen Speicherkapazitäten können wir Folgendes erkennen:
  1. Die Laufwerke mit mehr Speicherkapazität (weniger OP) in jedem Paar können zwar dieselbe Übertragungsgeschwindigkeit (Bandbreite) halten, jedoch ist die Random Write IOs je Sekunde (IOPS) signifikant niedriger Das bedeutet, dass Laufwerke mit niedrigerem OP sich gut in leseintensiven Anwendungen behaupten. Sie können jedoch im Vergleich zu Laufwerken mit 32% OP in schreibintensiven Anwendungen langsamer sein.
  2. Niedrigeres Over-Provisioning bedeutet auch, dass die in Terabytes ausgedrückten Total Bytes Written (TBW) in jedem Laufwerk niedriger sind. Je höher der OP-Prozentsatz, desto länger kann eine SSD verwendet werden. Eine DC500R mit 960GB kann bis zu 876TB geschriebene Daten aufnehmen, wohingegen DC500R mit 800GB nur 860TBW erreicht. Kingston leitet die TBW-Anzahl von den JEDEC Workloads ab1.
  3. Wenn die TBW-Anzahl während der Garantiezeit in Drive Writes Per Day (DWPD) übertragen wird, können wir erkennen, dass die Laufwerke mit 32% OP nahezu die doppelte Menge der Schreibvorgänge je Tag erreichen. Dies ist der Grund dafür, dass empfohlen wird, 32% des OP für eher schreibintensive Anwendungen zu verwenden.