- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
UBIFS文件系统说明文档
注意:在了解UBIFS之前一定要注意到UBIFS和任何传统的文件系统是不一样的:UBIFS不是运行在block device之上的(如hard disk,MMC/SD卡,USB flash等)。UBIFS是运行于raw flash之上,请在开始认识UBIFS前确保理解raw flash这个概念。UBIFS是建立在MTD device基础上的,而不是block device上的。
简介:
UBIFS是由NOKIA工程师在赛格德大学帮助下开发的新的Flash文件系统,UBIFS是JFFS2文件系统的下一代产品。JFFS2运行在MTD设备之上,而UBIFS则只能工作于UBI volume之上。UBIFS涉及三个子系统:
1.MTD子系统,提供对Flash芯片的访问接口,MTD子系统提供了MTD 设备的概念,比如/dev/mtdx,MTD可以认为是raw flash。
2.UBI子系统,为Flash设备提供了耗损均衡(wear leveling)和卷管理(volume management)功能; UBI工作在MTD设备之上,提供了UBI volume;UBI是MTD设备的高层次表示,对上层屏蔽了一些直接使用MTD设备需要处理的问题,比如???耗均衡以及坏块管理。
3.UBIFS文件系统,工作于UBI之上的文件系统。
UBIFS的主要特点:
1.可扩展性:UBIFS对Flash 尺寸有着很好的扩展性,也就是说mount时间,内存消耗以及I/O速度都不依赖于Flash 的尺寸,UBIFS可以很好的运行在GB级的 Flashe设备上,当然UBI本身还是有扩展性的问题,但是无论如何UBI/UBIFS都比JFFS2的可扩展性好。如果UBI成为瓶颈,可以改进UBI而不需改变UBIFS本身。
2.快速mount:不像JFFS2文件系统,UBIFS在mount阶段不需要扫描整个文件系统,UBIFS mount的时间只是毫秒级,时间不依赖与Flash的尺寸;然而UBI的初始化时间是依赖Flash的尺寸的,因此必须把这个时间考虑在内。
3.write back支持:回写或者延迟写,与JFFS2文件系统的立即写入内存(write through)相比可以显著的提高文件系统的吞吐量。
4.异常unmount适应度:UBIFS是日志文件系统,可以容忍突然掉电以及unclean重启; UBIFS通过replay日志来恢复unclean unmount。在这种情况下replay会消耗一些时间,因此mount时间会稍微增加,但是replay过程并不会扫描整个Flash介质,所以UBIFS的异常mount时间大概在几分之一秒。
5.快速I/O操作:即使我们不使能 write back(在unmount时使用-o sync mount选项), UBIFS的性能仍然接近JFFS2;JFFS2的同步I/O是非常惊人的,因为JFFS2不需要在flash上维护indexing data结构,所以就没有因此而带来的负担,而UBIFS恰恰是有index数据的,UBIFS之所以够快是因为UBIFS提交日志的方式:不是把数据从一个地方移动到另外一个位置,而只是把数据的地址加到文件系统的index,然后选择不同的eraseblock作为新的日志块,此外还有multi headed日志方式等技巧。
6.On the flight compression:存储在Flash介质上的数据是压缩的,同时也可以灵活的针对单个文件来打开关闭压缩。例如,可能需要针对某个特定的文件打开压缩;或者可能缺省方式下支持压缩,但是对多媒体文件则关闭压缩。
7.可恢复性:UBIFS可以从index破坏后恢复; UBIFS中的每一片信息都用一个header来描述,因此可以通过扫描整个Flash介质来重构文件系统,这点和JFFS2非常类似。想像如果你擦除FAT文件系统的FAT表,对于FAT文件系统来说是致命的错误,但是如果擦除UBIFS的index,你仍然可以重构文件系统,当然这需要使用一个用户空间程序来做恢复
8.完整性:UBIFS通过把checksum写到flash 介质上来保证数据的完整性,UBIFS不会无视损坏的文件数据或meta data;缺省的情况,UBIFS仅仅检查meta data的CRC,但是你可以通过mount选项,强制进行data CRC的检查。
UBIFS的可扩展性
UBIFS文件系统的所有数据结构都是使用tree,UBIFS对flash尺寸大小在算法上是可扩展的。然而UBI复杂度随着Flash size线性增长,因此UBI加UBIFS整体上是线性增大的。但是UBIFS的作者认为可以创建一个新的UBI2,克服当前UBI的线性增长,当前的 UBI实现适和2~16GiB
文档评论(0)