现在位置: > > IT/计算机

UBIFS 损耗均衡对系统I性能的影响

UBIFS 损耗均衡对系统I性能的影响

位反转等。文件系统模块可以集中解决特殊文件、孤立文件、

写缓存机制等文件系统相关问题。

3.1 UBI模块

UBI模块的主要功能是在一个flash设备上管理多个逻辑卷,类似Linux中的逻辑卷管理器LVM。两者的不同在于,LVM提供的是逻辑扇区号到磁盘物理扇区号的映射,UBI提供的是逻辑擦除块到物理擦除块的映射。 一个UBI逻辑卷是提供给上层的一个数据容器,由逻辑擦除块组成。收到上层写请求时,UBI根据逻辑擦除块到物理擦除块的映射关系将数据写入对应的物理擦除块。 3.2 UBI模块中的损耗均衡单元

UBI模块中包含一个负责实现损耗均衡的独立损耗均衡单元。 3.2.1 头部数据 为了方便擦除块的管理,UBI在每个擦除块的起始区域存储了头部数据,其主要作用如下:(1)记录擦除次数; (2)记录擦除块所属的逻辑卷。 头部根据上述用途分为2种类型:(1)擦除计数头部(Erase Count Header, ECH),擦除块被擦除后,将相关信息写入ECH,并此块将加入可用擦除块队列;(2)所属卷信息头部(Volume Identi er Header, VIH),当擦除块被分配给某个逻辑卷时,将其写入VIH并从可用擦除块队列中删除。 3.2.2 损耗均衡单元对物理擦除块的组织 损耗均衡单元的工作对象是物理擦除块,它不关心上层逻辑擦除块和逻辑卷。物理擦除块主要包括2种类型: (1)已使用的擦除块used,含有有效数据; (2)可用擦除块free,不含有效数据。 损耗均衡单元的主要思想如下:将擦除次数较少的已用擦除块的数据移动到擦除次数较多的可用擦除块中,从而使源擦除块被擦除后有机会得到充分使用。 损耗均衡单元采用红黑树来组织各种类型的擦除块,以保证对擦除块的操作在O(lgn)内实现,从而达到较高可扩展性,其实现步骤如下: (1)用free红黑树组织可用擦除块; (2)用used红黑树组织含有数据的擦除块; (3)用scrub红黑树组织出现位反转的擦除块; (4)用prot.pnum和prot.aec红黑树组织受保护的擦除块。 3.2.3 保护机制和触发机制 损耗均衡单元引入了保护机制,获得一个可用擦除块并写入数据后,不会立即将擦除块移动到used红黑树中,而是使其暂时加入prot红黑树。每个物理擦除块在prot红黑树中受保护的时间有限,该时间用擦除次数来度量。当擦除次数超过一个预设的阈值时,擦除块将被移动到used红黑树中。引入保护机制的原因如下:

(1)损耗均衡单元将可用擦除块交给用户,希望用户能充

分使用擦除块后再加入used红黑树,否则可能造成不必要的损耗均衡开销。 (2)如果用户写入的是频繁更新的短期数据,就能保证分配给用户的可用擦除块可以得到最大利用。如果每写入一些

数据就加入used,则擦除块无法得到充分利用,不利于系统

性能。保护机制的引入保证了在频繁更新数据时,擦除块会

很快地从prot移动到used,不会影响损耗均衡的正常进行。

可见,prot红黑树在损耗均衡和系统性能间建立了一个

缓冲区,在两者之间取得了较好的平衡。损耗均衡单元具有

很大灵活性,具体表现为用户可以定制损耗均衡操作触发的阈值。当2个物理擦除块的擦除次数之差超过该阈值时,启动损耗均衡操作。用户可以通过定制阈值在损耗均衡和系统性能之间取得较好的平衡。 3.2.4 UBI中损耗均衡的实现 wear_leveling_worker函数负责损耗均衡,其主要作用是选择损耗均衡操作的源擦除块和目的擦除块,将源擦除块的

数据复制到目的擦除块,调整逻辑擦除块到物理擦除块的映射关系,并将源擦除块擦除使之成为可用擦除块。源擦除块和目的擦除块的选择算法步骤如下:

(1)如果位反转的红黑树不为空,则优先选择一个出现位反转的块作为源擦除块,并从free红黑树中选择擦除次数较多的擦除块作为目的擦除块,开始损耗均衡操作。因为出现位反转的块急需通过擦除操作来恢复正常,所以此时不比较

2个块的擦除次数之差是否超过阈值。 (2)如果步骤(1)的条件不满足,则从used红黑树中选择擦除次数最少的擦除块作为源擦除块。

(3)从free红黑树中选择擦除次数较多的擦除块作为目的擦除块,比较源块与目的块的擦除次数之差是否大于预设的阈值,如果超过阈值,则开始损耗均衡操作。 步骤(3)在选择目的擦除块时不一定选择擦除次数最多的块。如果对数据属性预测失败,例如本来是长期的静态数据如果突然发生连续的数据更新,就会导致选择的目的擦除

块的擦除次数快速增长,不利于损耗均衡。因此,在选择目的擦除块时应增加一个限制,使选择的擦除块的擦除次数与

整个flash中最低擦除次数的差不超过某个上限,从而避免上述不利于损耗均衡的情况。 综上所述,UBIFS提供了一个高效灵活的损耗均衡算法。下文以UBIFS为基础进行测试,以验证损耗均衡触发条件对系统性能的影响。

4 实验与结果分析 本测试的目的是通过设置不同损耗均衡触发条件来研究不同严格程度的损耗均衡对系统性能的影响。普通用户在设

定损耗均衡性能要求时,可能未意识到过于严格的损耗均衡要求会对系统整体性能造成不良影响,因此,本实验利用UBIFS损耗均衡机制的灵活性来设置不同损耗均衡触发条件,通过实验数据量化分析获得损耗均衡触发条件对系统性能造成的影响。

4.1 实验环境 本测试使用的实验环境如图1所示,其他未指定的参数采用默认设置。 版本 1.51 测试程序

文件数 1 000 Postmark 事务数 1 000 000 文件大小范围

50 B~50 KB 硬件平台 内存

1 GB 操作系统

Linux 2.6.23 软件平台

flash模拟器 nandsim 模拟选项 模拟延迟

挂载选项 同步挂载

图1 实验环境

4.2 实验结果与分析 本文实验分为5组,每组针对一个域值进行测试。每组测试各运行10次,每次的运行时间约为5 h。取10次运行结—261—

相关文档
UBIFS闪存文件系统分析与研究
鞠高明 俞建新 来源:《电脑知识与技术》2014 年第 04 期 摘要:该文详细介绍了无序区块映像文件系统(Ubifs)三个组成模块,并对其中使用的 垃圾回收和损耗均衡算法...
UBI关联至MTD的过程及其数据组织
(2010 年 8 月 ) Computer Knowledge and Technology 电脑知识 与技术 据的块...韩春 , 陈香兰 , 李曦 , 龚育昌 .UBIFS 损耗均衡对 I/O 性能影响的量化...
基于阈值控制的损耗均衡算法设计
从提高损耗均衡性能的角度看,垃圾回收应首先选 择擦除次数最小的块,但这样可能...UBIFS 损耗均衡对系统I性... 3页 1下载券 NAND FLASH 内存详解与读... 73...
UBIFS分析二:重要结构体
//内核通知链 /* I/O sub-system's stuff */ long long flash_size;//...ubi_ec_hdr 我们知道 UBIFS 是一个 Wear-level 的文件系统, 即均衡损耗。 我们...
BMS系统均衡及SOC简介
是流过电池的电流, 是流过并联电阻 R 的 I Ib ...从理论上讲没有损耗, 是现在电池均衡研究的主流方向...缺点:对电池模型依赖性很强,对系统处理器的速度要求...
数字基带均衡系统设计综合实践论文
数字基带均衡系统设计综合实践论文_电子/电路_工程科技...同时由于信道的迟延特性和损耗特性随时间做随机变化,...系统的重要组成部分, 其特性对通信系统的性能影响...
非线性闪存的坏块处理和损耗均衡软件算法设计
该方法具有实现简单,成本较低,开发周期短的特点,适合系统性能受限的应隐藏>> 蒜蟊 信 息科学 33 藏 端簦- 非线性 闪存 的坏块处理 和损耗均衡软 件算法设 ...
UBI文件系统分析
I A B C D E F G H I Main areal UBIFS将...损耗均衡模块使用 ubi_wl_entry结构体对PEB重新封装...高效的查找性能,这点对于提高文件 系统对文件数据读...
配电变压器三相不平衡运行带来的附加损耗
3I,Ib=Ic=0 时, Qa=(3I)2R=9I2R=3(3I2...2. 对高压线路的影响 (1)增加高压线路损耗: 低压...经常观测与分析三相电压的均衡情况,尤其是在负 荷...
温度对模拟信号的影响
二是在电缆的传输电路中加放大器和均衡器进行斜 率...温度主要影响电缆的直流电阻及介质损耗。 温度升高...三、 温度变化对电缆特性的影响 系统的工作性能随着...
降低线路损耗的方法及措施
I, 每段线路电阻为 R,则各等效负载线路电能损耗:...(2) 即 使在连接时三相负载分配很均衡, 但各个...无功经济当量给出了衡量某一负荷点的无功消耗对系统...
相关主题
返回顶部
热门文档