LittleFS
詳細情報
- 開発者
- クリストファー・ヘイスター
- 所有者
- Arm(Mbed)
- 公開年
- 2017
- ライセンス
- BSD-3-Clause
- ソースコード
- github.com/littlefs-project
書き込み中に電源が落ちることを前提に設計された、マイコン向けの小型フラッシュファイルシステム。
2017年にArmでMbed OS向けに書かれた。生のフラッシュにFATを載せると相性が悪いからである。書き込みが途切れると割り当てテーブルが壊れかねず、同じセクタばかりが先に摩耗する。LittleFSはメタデータを2ブロック一組で交互に書き、データはコピーオンライトで保存するので、新しい状態が完全に確定するまで古い状態が残る。ファイルの途中でブラウンアウトが起きても、残るのは書きかけの新しいファイルではなく古いファイルだ。
RAM使用量には上限があり、事前にわかる。RAMが64KBしかない部品では重要な点だ。動的なウェアレベリングも標準で備わる。ZephyrとESP-IDFが対応し、ESP8266のArduinoコアはSPIFFSをこれに置き換えた。