LittleFS
基本概念
LittleFS主要用在微控制器和flash上,是一种嵌入式文件系统,具有如下3个特点:
-
掉电恢复
在写入时即使复位或者掉电也可以恢复到上一个正确的状态。
-
擦写均衡
有效延长flash的使用寿命。
-
有限的RAM/ROM
节省ROM和RAM空间。
运行机制
最经典的掉电保护方法有两种,一种是使用日志,一种是通过COW方式。lfs结合了两种方法,并优化了两种方案的缺点,提供了一套掉电保护策略
日志方式
具体步骤为:
- 写入数据之前,先在日志区存储开始标志,记录要写入的数据位置和大小;
- 待写入的数据写入日志区;
- 待写入的数据写入数据区;
- 写入完成之后,在日志区记录结束标志。
模拟掉电场景:
- 步骤1完成,步骤2没有完成;重启之后,保持原来的数据,日志无效;
- 步骤1,2完成了,步骤3没有完成,尝试把步骤2的数据写入到数据区;
- 步骤1,2,3完成了,步骤4没有完成,同样尝