littlefs系列:Files

本文探讨了CTZskip-list数据存储方法在小文件存储上的效率问题,并提出两种改进措施:一是多个文件共享一个metadatapair;二是对于小于1/4blocksize的文件,采用inlinefile方式直接存储在目录的metadatapair中。

1 文件的存储

从前面的分析知道CTZ skip-list是一种高效的数据存储方法,因此在metadata pair中存储右skip-list,metadata pair的作用类似于inode。

 

然而上述结构对于小文件存储效率比较低。比如一个只有4-byte的文件,metadata pair需要两个block,data需要一个block,总共需要3个block。

 

改进点:

1)不是每个文件都对应一个metadata pair,可以多个文件对应一个metadata pair。比如一个目录对应一个metadata pair或者一个metadata pair list。这样目录中文件也都对应着这个metadata pair或者metadata pair list。

 

2)对于小于1/4 block size的文件,把文件数据和metadata pair分开存放并没有好处,可以把文件直接存储在对应目录的metadata pair中。这种文件称之为inline file。如果文件的大小超过1/4 block size,则还是使用CTZ skip-list。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值