解压ubi文件_ubi详解

嵌入式

环境

下以

FLASH

作为

MTD

设备使用时的技术瓶颈,

开发背景:

FLASH

特性:

FLASH

是一类电可擦出可编程存储体,在使用方式上与硬磁盘最大不同是:

FLASH

文件系统所必须的关键技术:

1.

由于

FLASH

的“先擦除后写”的特性决定,必须(或者说所被公认为)采用

异地更新策略(

out-of-place update)

。相关问题讨论可参考:

2.

采用异地更新策略就必须(或者说所被公认为)采用日志文件系统来管理。

3.

采用日志文件系统就必须(或者说所被公认为)实现垃圾回收(

garbage

collection)

4.

由于

FLASH

的物理擦除块(

Physical Erase Block

)只有有限次有效擦除,

所以必须

(或者说所被公认为)

采用“负载平衡”

(我比较喜欢翻译为“损益均

衡”——一个经济学术语)

(Wear-

Leveling)

技术,

即保证上的

(几乎)

所有

PEB

的擦除次数趋向于均衡化,从而避免小部分

PEB

大大先于其他

PEB

而”坏“掉。

当前嵌入式

FLASH

解决方案多采用:

1.

无文件系统直接使用

FLASH

:缺点很明显

2.

采用传统文件系统,如

ext2,ext3, FAT16/32, dos

Cramfs

等:这些文件

系统本来是为传统的磁盘体开发的,

他们无法高效的管理以

FLASH

作为介质的文

件系统,特别是在

FLASH

的使用寿命上。于是出现了第

3

中方案。

3.

采用

FTL

NFTL

(

flash

转换层/

nand

flash

转换层)

传统文件系统:

FTL

的使用就是针对

FLASH

的特有属性,

通过硬件的方式来实现日志管理、

损益均衡

等技术。但实践证明,由于各方面因素导致本方案有一定的局限性。

4.

FLASH

专用文件系统,

JFFS1

2

YAFFS

等,

他们从一定程度上缓解了

flash

使用上的技术瓶颈。但也仍然存在诸多问题:如内存消耗大,对

FLASH

容量、

文件系统大小、内容、访问模式等的线性依赖,损益均衡能力差活过渡损益。随

FLASH

容量逐渐暴涨(我见到的资料已经有

64GFLASH

已经实用化),

JFFS

YAFFS

几乎无法管理如此大的

FLASH

——虽然

JFFS

目前还在改进中,

但前途不看

好,一个很好的例子

JFFS

的主要开发者大多倒向了

UBIFS

。:)

UBI

:一种类似于

LVM

的逻辑卷管理层。主要实现损益均衡,逻辑擦除块、卷管

理,坏块管理等。

UBIFS

:基于

UBI

FLASH

日志文件系统。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值