2015-01-12 13:06:05
来 源
中存储网
文件系统
UBIFS全称Unsorted Block Image File System非排序块映像文件系统,专门解决MTD设备所遇到的瓶颈设计,较YAFFS2、JFFS2更适合MLC NAND FLASH。

在前面的FLASH闪存文件系统研究-入门篇中,我们了解了什么是闪存文件系统及常见的闪存文件系统种类,今天开始介绍其中的UBIFS闪存文件系统。

UBIFS介绍

UBIFS全称Unsorted Block Image File System,翻译过来就是非排序块映像文件系统,被认为是JFFS2文件系统的下一代产品

UBIFS最早在2006年由IBMNokia的工程师Thomas Gleixner,Artem Bityutskiy所设计,专门为了解决MTD(Memory Technology Device)设备所遇到的瓶颈。由于Nand Flash容量的暴涨,YAFFS等皆无法再去控制Nand Flash的空间。UBIFS通过子系统UBI处理与MTD device之间的动作。与JFFS2一样,UBIFS 建构于MTD device 之上,因而与一般的block device不兼容。

UBIFS在设计与性能上均较YAFFS2JFFS2更适合MLC NAND FLASH。例如:UBIFS 支持 write-back, 其写入的数据会被cache, 直到有必要写入时才写到flash, 大大地降低分散小区块数量并提高I/O效率。UBIFS UBIFS文件系统目录存储在flash上,UBIFS mount时不需要scan整个flash的数据来重新创建文件目录。支持on-the-flight压缩文件数据,而且可选择性压缩部份文件。另外UBIFS使用日志(journal),可减少对flash index的更新频率。

UBIFS 曾经是Nokia N900 智能型手机上的默认文件系统。(本段来自维基百科)

UBIFS仅为RAW flash device设计

学习UBIFS,必需牢记:UBIFS是仅为RAW flash device设备(如NAND, NOR, OneNAND等)设计的,不能运行于SSD, MMC, SD, Compact Flash, USB sticks等block device上(这些设备虽然有raw flash,但是却是block device,是不同于真正的RAW flash device的,被称为FTL device,),如图1和图2。

图一 FTL device

UBIFS系统层次图

图2 RAW FLASH device

 

图3 UBIFS系统层次图

 

 UBIFS与JFFS2相比有如下改变

● 更快的挂载速度

● 打开大文件速度更快

● 写速度更快了

不过,UBIFS仍然保留了JFFS2的一些特点

● 存储在flash介质上的数据是压缩的;

● 支持断电

● BIFS可以从index破坏后恢复( UBIFS中的每一片信息都有一个header来描述,因此可以通过扫描这个flash介质来重构文件系统) 

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。