Actualmente estoy trabajando en un proyecto que implica el registro rápido y continuo de una métrica específica de la aplicación durante una larga vida útil. Para hacer esto, terminé usando un NXP M0 y un chip flash SPI de 32MiB. El registro es continuo y debe durar muchos años en el campo (10+), y un ser humano lo revisa periódicamente para detectar tendencias. Finalmente, el búfer se llena y comienza a sobrescribir datos antiguos que están perfectamente bien. Se me ocurrió un algoritmo simple para recorrer todo el dispositivo flash para encontrar la cabeza actual después de un encendido (el dispositivo se apaga con bastante frecuencia fuera de mi control) para que el registro pueda continuar donde se quedó. Solo puedo hacer fuerza bruta a través de este paseo y hacerlo con ~ 4s como el peor de los casos.
Esto me hizo pensar, ¿hay algún sistema de archivos estructurado de registro que esté dirigido a dispositivos flash y microcontroladores? JFFS y todos los otros FS estructurados de registro bien conocidos que imagino serían un poco pesados para un microcontrolador simple (depende de la aplicación, por supuesto). Para ser más específico, me gustaría conocer cualquier algoritmo que esté diseñado específicamente para ser un registro circular con un tiempo de búsqueda rápido y / o cualquiera que esté diseñado para un sistema de archivos "tradicional" en un dispositivo flash que pueda ejecutarse en un microcontrolador Tradicional en este sentido, estar a la par con algo como JFFS donde hay una estructura de datos que representa una colección de archivos de acceso aleatorio mutable en un espacio de nombre jerárquico.