Einleitend möchten wir uns zunächst 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:
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.
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.
So verbessert OP (Over-Provisioning) 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.
Over-Provisioning (OP) im Detail
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.
Ein Overprovisioning von 7 Prozent ist in SSDs oftmals nicht ungewöhnlich. In nachfolgender Abbildung sehen Sie eine Aufschlüsselung des in einer SSD vorhandenen physischen Speichers versus den verfügbaren Speicher für den Benutzer nach dem Overprovisioning.
Physischer Speicher |
Benutzerspeicher |
Over-Provisioning in % |
Anwendungsklasse |
64 GB |
60 GB |
7% |
Leseintensiv |
96 GB |
90 GB |
7% |
Leseintensiv |
128 GB |
120 GB |
7% |
Leseintensiv |
128 GB |
100 GB |
28% |
Eher schreibintensiv |
256 GB |
240 GB |
7% |
Leseintensiv |
256 GB |
200 GB |
28% |
Eher schreibintensiv |
512 GB |
480 GB |
7% |
Leseintensiv |
512 GB |
400GB |
28% |
Eher schreibintensiv |
1024GB |
960GB |
7% |
Leseintensiv |
1024GB |
800GB |
28% |
Eher Schreibintensiv |
2048GB |
1800GB |
14% |
Leseintensiv |
2048GB |
1600GB |
28% |
Eher schreibintensiv |
Abbildung: 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.
Over-Provisioning (OP) leicht verständlich zusammengefasst
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.
Bildnachweis und Artikel-Copyright: Kingston Technology