LittleFS
Más información
- Creador
- Christopher Haster
- Propietario
- Arm (Mbed)
- Lanzamiento
- 2017
- Licencia
- BSD-3-Clause
- Código fuente
- github.com/littlefs-project
Un sistema de archivos diminuto para la flash de los microcontroladores, diseñado partiendo de que la alimentación fallará a mitad de una escritura.
Se escribió en Arm en 2017 para Mbed OS, porque FAT sobre flash en bruto es mala pareja: una escritura interrumpida puede dejar la tabla de asignación corrupta, y siempre se desgastan primero los mismos sectores. LittleFS guarda los metadatos en pares de bloques que se escriben de forma alterna y almacena los datos con copy-on-write, así que el estado antiguo sobrevive hasta que el nuevo está completo. Un brown-out a mitad de un archivo deja el archivo viejo, no medio archivo nuevo.
El consumo de RAM está acotado y se conoce de antemano, algo que importa cuando el chip tiene 64 KB en total. Incluye wear leveling dinámico. Zephyr y ESP-IDF lo soportan, y el núcleo Arduino para ESP8266 sustituyó SPIFFS por él.