1.3 YAFFS2

用于RAW Flash:

良好的安装时间

良好的读写性能

缺点:不压缩,不在主线Linux内核中

1.4. UBIFS

用于RAW Flash:

优势:

良好的读写性能(类似于YAFFS2)

其他优点:更好的磨损均衡(不仅可以在单个分区内,而且可以在整个UBI空间中使用)。

缺点:

不适用于小型分区(元数据开销过多)。请改用JFFS2或JAFFS2。

挂载时间不是很好,因为初始化UBI需要时间(UBI Attach:在引导时或在用户空间中运行ubi_attach)。

由Linux 3.7中引入的UBI Fastmap解决。

1.5. UBI Fastmap如何工作

UBI 加载:需要通过扫描所有擦除块来读取UBI元数据。时间与存储空间成正比。

UBI Fastmap将此类信息存储在几个闪存块中(通常在系统关闭期间在UBI分离时),并在引导时找到该信息。

这样可使UBI附加时间恒定。

如果Fastmap信息无效(例如,不正常的系统关闭),它将退回到扫描状态(速度较慢,但能保证正确,Fastmap在下次启动时将恢复)。

详细信息:Thomas Gleixner的ELCE 2012演讲:

http://elinux.org/images/a/ab/UBI_Fastmap.pdf

使用步骤:

使用CONFIG_UBI_FASTMAP配置编译内核

使用ubi.fm_autoconvert = 1内核参数至少引导一次系统。

以干净的方式重启系统

保证如上启动一次后可以删除ubi.fm_autoconvert = 1

UBI Fastmap性能测试举例:

在Linux 3.10的Microchip SAMA5D3 Xplained板(ARM)上测得

UBI空间:216 MB

根文件系统:已使用80 MB(Yocto)

平均加载时间:

无UBI Fastmap,加载时间:968ms

有UBI Fastmap,加载时间:238 ms

可见UBI Fastmap 改善非常显著!

1.6. ubiblock + SquashFS

对RAW Flash :