Suchen

NAND-Flash bringt Vorteile für Embedded-IoT-Anwendungen und fordert Entwickler

Seite: 2/3

Firmen zum Thema

Herausforderungen für das Dateisystem beim Einsatz von Flash-Speicher

Werden das Dateisystem oder sein Inhalt verfälscht, kann dies für ein Embedded-System ein gravierendes Qualitätsproblem darstellen. Um Tests und Verifikationen in der Design- und Implementierungsphase einzurichten, muss sich der Designer mit grundlegenden Designherausforderungen auseinandersetzen.

Unter anderem geht es um den Umgang mit Dateioperationen und Ordnerstrukturen und mit der Integrität der Daten beim Ausfall der Stromversorgung oder bei unerwarteten Resets sowie um die Verifikation, dass der Flash-Speicher ordnungsgemäß funktioniert.

Bildergalerie

Traditionell wird die Abwicklung von Datei- und Ordner-Operationen an ein eingebettetes Dateisystem delegiert. Das Dateisystem allein kann aber nicht die Integrität der Daten und des Dateisystems selbst garantieren. Ganz gleich, welche Fail-Safe-Methode verwendet wird, ist das System zur Realisierung des geforderten Service-Levels auf das Speichermedium angewiesen.

Ein System, das gesicherte Zuverlässigkeit bieten soll, muss ein klares Verständnis der kritischen Ausnahmesituationen (etwa unerwartete Resets oder Stromausfälle) beinhalten und berücksichtigen, wie jeder Teil des Systems die Anforderungen der Komponenten, von denen es genutzt wird, beim Auftreten dieser Situationen erfüllt. Die einfache Verwendung eines Dateisystems, das angeblich einen ausfallsicheren Betrieb oder Journaling bietet, kann in keiner Weise einen zuverlässigen Betrieb garantieren, solange diese Dinge nicht definiert sind.

Stromausfall, unerwarteter Reset und Systemausfall

Werden die vom Dateisystem verwalteten Daten verfälscht, können die Folgen katastrophal sein. Ein ausfallsicheres Dateisystem garantiert, dass die von ihm im Flash-Speicher verwalteten Metadaten stets konsistent sind und dass alle von einer Applikation an den Flash-Speicher gerichteten Schreibzugriff ‚atomar‘ (im Sinne von ‚nicht weiter unterteilbar‘) ausgeführt werden.

Das bedeutet also, dass die betreffende Schreiboperation entweder vollständig abgeschlossen wird oder der Speicher in dem Zustand verbleibt, in dem er sich vor der Veranlassung des Schreibzugriffs befand. So wird die Integrität der vom Dateisystem übergebenen Daten gewährleistet. Um wirkliche Ausfallsicherheit zu garantieren, muss jede Ebene von der Applikation bis zum physischen Treiber spezifizieren, was sie von der benachbarten Ebene verlangt.

(ID:44833278)