LittleFS
Altre info
- Creatore
- Christopher Haster
- Proprietario
- Arm (Mbed)
- Anno
- 2017
- Licenza
- BSD-3-Clause
- Codice sorgente
- github.com/littlefs-project
Un minuscolo filesystem per flash destinato ai microcontrollori, progettato partendo dal presupposto che l'alimentazione si interromperà a metà scrittura.
Scritto in Arm nel 2017 per Mbed OS, perché FAT sulla flash grezza è una scelta infelice: una scrittura interrotta può corrompere la tabella di allocazione e sono sempre gli stessi settori a consumarsi per primi. LittleFS conserva i metadati in coppie di blocchi scritti alternativamente e memorizza i dati in modalità copy-on-write, così il vecchio stato sopravvive finché il nuovo non è completamente confermato. Un brown-out a metà file lascia il file precedente, non metà di uno nuovo.
L'uso di RAM è limitato e noto in anticipo, il che conta su un chip che ne ha 64 KB. Il wear leveling dinamico è integrato. Lo supportano Zephyr ed ESP-IDF, e il core Arduino per ESP8266 ha sostituito SPIFFS con esso.