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.{{Footnote.N52105}}

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 Enterprise{{Footnote.N52105}})DWPD{{Footnote.N37134}}
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 ab{{Footnote.N52105}}.
  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.