Was ist SSD Over-Provisioning?

Written By: Ontrack

Date Published: 8. November 2018 00:00:00 EST

Was ist SSD Over-Provisioning?

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

Abonnieren

KLDiscovery Ontrack GmbH, Hanns-Klemm-Straße 5, 71034 Böblingen, Deutschland (Alle standorte anzeigen)