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 de 32MiB SPI. El registro es continuo y debe durar muchos años en el campo (10+), y un humano lo verifica periódicamente para detectar tendencias. Finalmente, el búfer se llena y comienza a sobrescribir datos antiguos, lo que está perfectamente bien. Se me ocurrió un algoritmo simple para recorrer todo el dispositivo flash para encontrar el cabezal actual después de un encendido (el dispositivo se apaga con bastante frecuencia fuera de mi control) para que el registro pueda continuar donde lo dejó. Solo puedo hacer fuerza bruta en esta caminata y hacerlo con ~ 4s como peor escenario.
Esto me hizo pensar, ¿hay algún sistema de archivos de registro estructurado que esté dirigido a dispositivos flash y microcontroladores? JFFS y todos los demás conocidos Log FS estructurados Me imagino que sería un poco pesado Para un simple microcontrolador (depende de la aplicación, por supuesto). Para ser más específicos, me gustaría conocer cualquier algoritmo que esté diseñado específicamente para ser un registro circular con un rápido tiempo de búsqueda de cabezas y / o cualquiera que esté diseñado para un sistema de archivos "tradicional" en un dispositivo flash que pueda ejecutarse en un microcontrolador En este sentido, es tradicional estar a la par con algo como JFFS, donde hay una estructura de datos que representa una colección de archivos de acceso aleatorio mutables en un espacio de nombres jerárquico.