ECC und Ersatzblöcke tragen dazu bei, die Kingston SSD-Daten vor Fehlern zu schützen

End-to-End Datenschutz

In allen Kingston SSDs ist End-to-End Datenschutz integriert, mit dem die Daten Ihrer Kunden ab dem Moment geschützt sind, in dem das Hostsystem mit der Übertragung auf die SSD beginnt und gleichfalls, wenn sie von der SSD auf den Hostcomputer übertragen werden.

Datenübertragung innerhalb einer SSD

Alle SSDs enthalten Controller, die ihnen ermöglichen, mit dem Hostsystem, an das sie angeschlossen sind, zu kommunizieren. Unabhängig vom Formfaktor der SSD (2,5 Zoll, Erweiterungskarte, M.2, usw.) , oder dem verwendeten Protokoll (beispielsweise SATA oder NVMe), erfolgt das Schreiben auf, oder Lesen von SSDs über diesen SSD-Controller.

SSD-Controller gibt es in unzähligen Designs. In einigen SSD-Controllern ist im Rahmen Ihres Designs ein eingebauter Cache (typischerweise SRAM) integriert. Andere hingegen verwenden einen oder mehrere separate DRAM Chips, die zur temporären Speicherung interner Flash-Mapping-Tabellen und von Benutzerdaten in Verarbeitung dienen. Einige Controller-Designs verwenden keine separaten DRAM, sondern verwenden einen Teil des NAND-Flashs zur Speicherung ihrer Mapping-Tabellen.

SSDs sind für die Datenspeicherung auf NAND Flash-Chips angewiesen. NAND-Chips sind nicht-volatile Speicher, die auch dann noch Daten speichern, wenn sie bereits abgeschaltet sind. Wenn der SSD-Controller Daten speichern oder abrufen möchte, muss er diese auf die NAND Flash-Chips schreiben, oder von ihnen lesen.

Fehlerentdeckung und -korrektur

SSDs müssen dafür sorgen, dass die Integrität der Daten während der Übertragung vom Host-PC auf den NAND-Speicher erhalten bleibt. Dies erfolgt über den SSD-Controller. Daten, die vom Host auf die SSD übertragen werden, bevor sie letztendlich auf den NAND-Flashspeicher geschrieben werden, bezeichnet man auch oft als „Daten in Transit“. SSD-Controller haben eine eingebaute Technik zur Fehlerkorrektur (ECC für Error Correction Code genannt), mit der die große Mehrheit von Fehlern erkannt und korrigiert wird, die Daten in ihrer Übertragungsbahn behindern können. Flashspeicher-Chips enthalten zusätzliche Daten zur Fehlerkorrektur und zu jedem Block, in den Daten geschrieben wurden. Diese Informationen ermöglichen dem SSD-Controller beim Lesen eines Datenblocks gleichzeitig viele Fehler zu korrigieren. NAND-Flashspeicher stoßen im Normalbetrieb, genau wie Festplatten, auf Bit-Fehler, die sie mit ihren ECC-Daten während des Transfers korrigieren.

In seltenen Fällen können Datenfehler in einem Block, der gelesen wird, nicht korrigiert werden. Der SSD-Controller erkennt diese Einschränkung als Uncorrectable ECC Error (UECC - nicht korrigierbaren Fehler) und meldet dem Host-Computer den Fehler. SSDs sind für extreme Zuverlässigkeit konzipiert. UECCs kommen in Client SSDs im Normalfall in einem Verhältnis von eins zu 10

 je 15 gelesene Bits vor; und bei Enterprise SSDs im Verhältnis von eins zu 10 je 16 gelesene Bits. Unter Ansatz der JEDEC JEDS218A und JESD219 UBER-Vorgaben für SSDs der Enterprise-Klasse wird bei einem Vergleich zwischen Enterprise-SSDs und Client-SSDs erwartet, dass bei einem Verhältnis von 1 Bitfehler je 10 Billiarden Bits (~1.11 Petabytes) nur 1 nicht behebbarer Bitfehler auftritt, im Gegensatz von Client-SSDs mit 1 Bitfehler je gelesene 1 Billiarde Bits.

Im NAND-Flash von Kingston SSDs sind zudem freie Blöcke integriert. Diese Speicherbereiche liegen normalerweise im Over-Provisioned (OP) Bereich eines Laufwerks und sind für den Benutzer nicht zugänglich. Wenn ein NAND in einem Datenblock eine übermäßig hohe Anzahl Fehler hat, wird dieser Block als „fehlerhafter Block“ gekennzeichnet , entfernt und durch einen freien Block ersetzt. Die Daten werden im Laufe dieses Verfahrens erforderlichenfalls mit ECC korrigiert. Die Verwendung von freien Blöcken verlängert die Nutzungsdauer und Langlebigkeit von SSD-Laufwerken.