LittleFS
Więcej informacji
- Twórca
- Christopher Haster
- Właściciel
- Arm (Mbed)
- Rok
- 2017
- Licencja
- BSD-3-Clause
- Kod źródłowy
- github.com/littlefs-project
Maleńki system plików dla flasha w mikrokontrolerach, zaprojektowany przy założeniu, że zasilanie zaniknie w trakcie zapisu.
Powstał w Arm w 2017 roku dla Mbed OS, bo FAT na surowym flashu to kiepskie dopasowanie: przerwany zapis może uszkodzić tablicę alokacji, a te same sektory zużywają się najszybciej. LittleFS trzyma metadane w parach bloków zapisywanych na przemian, a dane przechowuje w trybie copy-on-write, więc stary stan przetrwa do pełnego zatwierdzenia nowego. Spadek napięcia (brown-out) w połowie pliku zostawia stary plik, a nie pół nowego.
Zużycie RAM-u jest ograniczone i znane z góry, co ma znaczenie przy układzie z 64 KB. Dynamiczny wear leveling jest wbudowany. Obsługują go Zephyr i ESP-IDF, a rdzeń Arduino dla ESP8266 zastąpił nim SPIFFS.