LittleFs

官方文档:
https://github.com/littlefs-project/littlefs/blob/master/DESIGN.md

1.littlefs
    主要解决嵌入式小平台的三大问题:
    1、异常断电,导致数据损坏。
    2、存储设备的磨损平衡。
    3、可用的有限的RAM/ROM资源。

2.FAT和ext2,基于数据块文件系统
    简单,快速,小,
    没有断电保护,磨损平衡
3.JFFS,YAFFS,SPIFFS,环形logging文件系统。
    有断电保护,磨损平衡
    占用RAM资源
    时间复杂度高
4.ext4和NTFS,journaling文件系统,块+logging。
    没有磨损平衡
    复杂,占用ROM
5.btrfs和ZFS copy on write文件系统。block base
    自底向上创建需要修改的block副本,最后修改拓扑指针。
    占用资源。

处处透露了以空间换时间的设计思想。
增加二叉的meta block,作为最后的拓扑指针存储器,版本号管控,可空间扩展。
data block采用逆向序列,可重复利用未修改的block,且添加跳表指针,加快遍历速度。
allocator 使用小lookahead buffer,构建bitmap。
坏块在allocate的阶段处理。read 坏块推荐用ECC,但并未实现。
利用异或的属性,处理move的原子性。gstate。

断电保护,
    引入meta block,
    cobw(改进版cow),
    开局扫描文件系统分布占用,而不是从flash读取bitmap,
    引入gstate,保存上次操作
磨损均衡,
    random start addr in allocator
减衣缩食,
    共享meta block,
    inline file微文件保存在meta block里面。
    增加目录横穿链表

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值