UBI是一个通用的FLASH管理层类似于逻辑卷管理器。
基本的功能是UBI层提供了管理多逻辑卷包括静态数据或者动态文件系统。
管理一个或者多个FLASH设备的多逻辑卷功能是相同的:
l 坏块管理
l 访问设备磨损平衡
l 逻辑到物理块的映射
l 卷存储信息
l 设备信息
UBI不是传统意义上的用于块设备模拟的FLASH交换层。UBI封装来自文件系统和用户空间接口FLASH的芯片管理。一个传统意义上的FLASH转换层能容易在UBI卷最高层上建立。
UBI地址通用的FLASH处理机制用于大量的执行FTL和FLASH文件系统。这样允许FLASH文件系统开发者专注于文件系统设计同时不断的参与改进UBI。
分开的FLASH管理和文件系统,FTL和其他可能用于提供更好的层次概念比混合处理。于更换多余的和简单目的执行提供可测试性和错误分析。
UBI卷
UBI卷包含各种不同的数据内容。UBI的客户端能访问数据内容不用UBI元数据。UBI处理两个卷类型:
l 静态卷
l 动态卷
静态卷
静态卷包括静态数据启动代码,操作系统镜像文件,初始化ramdisk或者只读文件系统。先前写块是静态的这个数据会被写到块里是完全只读的。静态卷有:
l 线性的逻辑擦除块
l 用于擦除块的号码
l CRC保护
静态卷有一个线性的逻辑擦除块是简单的检查并且允许快速访问这些数据内容。这些使用方式在UBI设备上通过bootloader引导内核镜像。一个静态卷不是所有块都可用的。
动态卷
这个动态卷包括操作时候的改变。动态卷被要求提供可写文件系统的支持。动态卷有:
l 非线性逻辑擦除块
l 不可知的擦除块号
l CRC保护只有在块移除时
动态卷使用者有执行他们自己的机制数据完整。UBI不提供因为这些块的内容不是可知的当UBI头被写了以后。这个使用逻辑擦除块的模式不能被缩小并且UBI处理已经已分配的块。比如一个块。