Wenn Benutzerdaten von einem Gerät zu einem anderen übertragen werden, kann es zu Problemen wie Signaldämpfung und Rauschinterferenz kommen. Um dem entgegenzuwirken wurde der „Ende-zu-Ende-Datenschutz“ eingeführt. Dieser gewährleistet die Integrität der Zugriffs- und Abrufdaten, indem bereits zu Beginn der Datenspeicherung bis hin zum letzten Endgerät Fehler ausgeschlossen werden.
Der „Ende-zu-Ende-Datenschutz“ ist eine Funktion der SSD, mit deren Hilfe sich die Datenpfade vom Computersystem, der Festplatte bis hin zur Datenübertragung verifizieren lassen, um so die Datenintegrität zu gewährleisten.
SSD-Ende-zu-Ende-Datenschutz
Jede SSD verfügt über einen Controller, der für die Kommunikation zwischen der SSD selbst und dem Hostsystem zuständig ist. Dabei spielt weder der Formfaktor (z.B. 2,5 Zoll, mSATA, M2 usw.) noch das Kommunikationsprotokoll (z.B. SATA oder NVMe) eine Rolle, sämtliche Schreib- und Lesevorgänge durchlaufen den Controller der SSD.
Sobald Daten gelesen oder geschrieben werden, durchläuft ihr Pfad verschiedene Stellen. Der Datenschreibpfad umfasst den Host -> PCIe IP -> Datenpuffer -> Flash IP -> NAND Flash, der Datenlesepfad ist entsprechend umgekehrt.
Diese Art des „Ende-zu-Ende-Datenschutzmechanismus" stellt hauptsächlich sicher, dass Daten während der Übertragung geschützt werden können. Wenn im internen RAM des Controllers Daten bewegt werden und ein Soft Error auftritt, kann das System solche Fehler ebenfalls erkennen und dadurch eine fehlerhafte Datenübertragung an den Host vermeiden. Der Hauptzweck von E2E besteht daher darin, sicherzustellen, dass jede Stelle unabhängige Debugging-Funktionen beibehält, um fehlerhafte Daten während der Übertragung zu vermeiden.
Fehlererkennung und -korrektur
Um die Integrität der Daten beim Übergang vom SSD-Controller zum NAND-Speicher zu gewährleisten, verfügt der SSD-Controller über eine „Fehlerkorrektur“-Technik (ECC = Error Correction Code) zur Erkennung und Korrektur des Großteils möglicher Fehler. Der NAND-Flash-Chip konsolidiert andere Fehlerkorrekturinformationen und schreibt die Daten jedes Blocks, so dass der SSD-Controller Fehler auch beim Lesen eines Datenblocks korrigieren kann. Darüber hinaus kann dem NAND Flash auch während des normalen Betriebs ein Bitfehler unterlaufen, der dann sofort mittels ECC korrigiert wird.
In extrem seltenen Fällen können Datenfehler im Leseblock jedoch nicht korrigiert werden. Der SSD-Controller klassifiziert diese dann als „nicht korrigierbarer ECC-Fehler“ (UECC) und gibt dem Host-Computer eine entsprechende Rückmeldung.
Auch die SSDs von ADATA sind mit Ersatzblöcken für das NAND-Flash versehen. Diese Ersatzblöcke befinden sich normalerweise im Reserveblock-Bereich (OP) der Festplatte und sind somit für den Benutzer nicht zugänglich. Sobald der NAND-Speicher zu viele Fehler in einem Datenblock aufweist, wird dieser Block als „Fehlerblock“ markiert und außer Dienst gestellt. „Ersatzblöcke“ dienen also effektiv dazu, die Lebensdauer und Haltbarkeit der SSD zu erhöhen.