Ich arbeite derzeit an einem Projekt, bei dem eine ziemlich anwendungsspezifische Metrik über einen langen Zeitraum schnell und kontinuierlich protokolliert wird. Dazu habe ich einen NXP M0 und einen 32MiB SPI-Flash-Chip verwendet. Die Protokollierung ist kontinuierlich und muss viele Jahre im Feld (10+) dauern. Sie wird regelmäßig von einem Menschen auf Trenderkennung überprüft. Schließlich füllt sich der Puffer und beginnt, alte Daten zu überschreiben, was vollkommen in Ordnung ist. Ich habe einen einfachen Algorithmus entwickelt, mit dem das gesamte Flash-Gerät nach dem Einschalten nach dem aktuellen Kopf durchsucht werden kann (das Gerät wird außerhalb meiner Kontrolle ziemlich häufig ausgeschaltet), sodass die Protokollierung einfach dort fortgesetzt werden kann, wo sie aufgehört hat. Ich kann diesen Spaziergang nur mit brutaler Gewalt durchführen und dies mit ~ 4s als Worst-Case-Szenario tun.
Dies brachte mich zum Nachdenken, gibt es logarithmisch strukturierte Dateisysteme, die für Flash-Geräte und Mikrocontroller geeignet sind? JFFS und all die anderen bekannten log Structured FSs, die ich mir vorstelle, wären für einen einfachen Mikrocontroller etwas schwer (hängt natürlich von der Anwendung ab). Um genauer zu sein, würde ich gerne wissen, welche Algorithmen speziell als kreisförmiges Protokoll mit schneller Kopfsuchzeit konzipiert sind und / oder welche für ein "traditionelles" Dateisystem auf einem Flash-Gerät entwickelt wurden, das auf einem ausgeführt werden kann Mikrocontroller. Traditionell in diesem Sinne mit JFFS vergleichbar zu sein, wo es eine Datenstruktur gibt, die eine Sammlung veränderlicher Dateien mit wahlfreiem Zugriff in einem hierarchischen Namensraum darstellt.