Fehlererkennung und -korrektur auf Softwareebene für Rohdatenspeicher

Fehlererkennung und -korrektur auf Softwareebene für Rohdatenspeicher

Wenn ich die Datenspeicherung richtig verstehe, sind alle Speichergeräte bis zu einem gewissen Grad unzuverlässig, weshalb die meisten über Abstraktionsschichten auf Hardwareebene verfügen. Festplatten verwenden Fehlerkorrektur. Wenn ein Sektor gelesen wird und ECC einen Fehler erkennt (ob dieser nun beim ursprünglichen Schreiben oder durch zufälliges Bit-Flipping im Laufe der Zeit entstanden ist), wird ECC verwendet, um zu versuchen, den Fehler zu beheben, und dieser Sektor wird möglicherweise als fehlerhaft markiert und dem Ersatzsektorpool neu zugeordnet. Einige Hardwaregeräte verfügen jedoch nicht über solche Funktionen, insbesondere Dinge wie Flash-Speicher auf eingebetteten Systemen, auf die direkt zugegriffen wird, ohne dass sich zwischen ihm und dem Kernel eine Fehlerprüfungsschicht auf Hardwareebene befindet.

Bietet Linux Methoden wie spezielle Dateisysteme oder logische Datenträger (mit logischen Datenträgern meine ich Dinge wie Cryptsetup oder LVM2), die direkt mit solchen „rohen“ Geräten umgehen können und alle Prüfsummen, die Neuzuordnung fehlerhafter Sektoren, die Fehlerkorrektur usw. auf Softwareebene durchführen? Hängt die Methode der Fehlerüberprüfung vom Typ oder den Eigenschaften des Rohspeichers ab?

verwandte Informationen