Fehler korrigieren: Bad Block Management
Fehlerkorrekturverfahren (Error Correcting Code - ECC) dienen dazu, Defekte bei der Speicherung und Übertragung von Daten zu erkennen und wenn möglich, zu korrigieren. Sie kompensieren den Ausfall von Einzelbits im täglichen Betrieb und vermeiden so Datenverlust. Bei SSDs nimmt die Anzahl der Fehler zu, wenn eine Flash-Zelle in die Nähe ihrer maximalen Schreib-/Löschzyklen kommt.
Sobald der Controller einen Lesefehler registriert, wird er den ECC-Mechanismus einbinden und die Daten rekonstruieren. Wenn die Wiederherstellung nicht mehr funktionieren sollte, wird das "Bad Block Management", also die Verwaltung fehlerhafter Sektoren, den gesamten Block aus dem Speicherbereich entfernen. Dateien aus fehlerhaften Zellen werden in funktionierende Zellen verschoben. Die defekte Zelle wird dann für die künftige Speicherung von Daten ausgeschlossen, und eine neue nimmt dafür ihren Platz ein.
Bad Blocks können während des Lesens, Programmierens oder Löschens von NAND Flash festgestellt werden. Sie werden aktiv verwaltet, um zu jeder Zeit die erwartete Leistungsfähigkeit und langfristige Zuverlässigkeit von SSDs sicherzustellen. So werden Flashzellen bereits dann als fehlerhaft markiert, wenn sie stark abgenutzt sind.
Mit der Betriebsdauer einer SSD wird damit zwar theoretisch der nutzbare Speicherplatz weniger, Datensicherheit und Datentransfergeschwindigkeit bleiben aber auf gleichem Niveau. Üblicherweise werden Samsung SSDs ohne jegliche Formatierung verkauft. Der erwähnte Reservebereich befindet sich im Bereich des Over Provisionings, den jede SSD hat.