Was ist SSD Over-Provisioning?

Donnerstag, 8. November 2018 von Der Datenrettung Blog

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 SpeicherBenutzerspeicherOver-Provisioning in %Anwendungsklasse
64 GB60 GB7%Leseintensiv
96 GB90 GB7%Leseintensiv
128 GB120 GB7%Leseintensiv
128 GB100 GB28%Eher schreibintensiv
256 GB240 GB7%Leseintensiv
256 GB200 GB28%Eher schreibintensiv
512 GB480 GB7%Leseintensiv
512 GB400GB28%Eher schreibintensiv
1024GB960GB7%Leseintensiv
1024GB800GB28%Eher Schreibintensiv
2048GB1800GB14%Leseintensiv
2048GB1600GB28%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

Ontrack Datenrettungsblog

Das sagen unsere Kunden: