基于嵌入式Linux的UBIFS损耗均衡的研究与实现

基于嵌入式Linux的UBIFS损耗均衡的研究与实现

论文摘要

由于NAND flash的物理特性,NAND flash面临垃圾收集、损耗均衡和坏块处理三大挑战。因此,NAND flash需要采用不同的存储策略来解决这些问题,而使用专门的flash文件系统是嵌入式系统应用中使用最广泛的一种存储策略,它支持日志结构,并提供掉电保护,崩溃恢复机制和垃圾收集机制等。由于嵌入式系统中存储的数据以静态数据为主,对于频繁更新的数据一般集中在设备的某一区域,这些动态数据将使得flash设备上的擦除次数分布不均匀,包含动态数据的擦除块将比包含静态数据的擦除块具有较多被擦除的机会,从而导致flash设备因为集中被擦写的区域的损耗殆尽而结束寿命,而包含静态数据的区域却还没有得到充分使用。这样将给系统和使用者造成损失,对于嵌入式低成本、低投入的特征也是不允许的。考虑损耗均衡并拥有一个全局范围的损耗均衡机制是解决NAND flash使用寿命问题的一个重要方式,而UBIFS作为一种新型的NAND flash文件系统拥有这样的一种损耗均衡机制,并且完全对用户透明。因此,设计并实现一种针对嵌入式系统中的静态数据特征的UBIFS损耗均衡优化算法,具有现实意义与实用价值。本文首先分析NAND flash的物理特性及其面临的挑战,研究不同的损耗均衡方法和当前几种主流的损耗均衡算法,进而深入剖析UBIFS架构与其损耗均衡机制,为UBIFS损耗均衡优化算法的设计提供参考与借鉴。随后深入研究UBIFS文件系统的源代码和其损耗均衡机制的具体实现,详细分析了UBIFS中的树型组织方式和管理结构,UBI操作以及LEB和PEB之间的映射机制,为UBIFS损耗均衡优化算法的设计和实现打下了基础。‘接着文中提出了优化算法的设计要求和总体设计架构,并且给出了在UBIFS损耗均衡的基础上对损耗均衡中的保护机制作出优化,对受保护的对象收集写请求操作,空间评估功能模块以及对数据搬移功能模块的具体实现。最后设计测试方案和编写测试文件,对UBIFS的损耗均衡性能和挂载时间等进行测试与分析。

论文目录

  • 论文摘要
  • ABSTRACT
  • 第1章 引言
  • 1.1 研究背景与研究现状
  • 1.2 论文主要研究工作
  • 1.3 论文组织架构
  • 第2章 损耗均衡的分析
  • 2.1 NAND Flash
  • 2.2 损耗均衡方法
  • 2.3 损耗均衡实现
  • 2.4 损耗均衡重要性技术分析
  • 2.5 损耗均衡主流算法研究
  • 第3章 UBIFS文件系统的分析
  • 3.1 Linux文件系统架构中的UBIFS模块
  • 3.2 UBIFS架构分析
  • 第4章 UBIFS损耗均衡的研究
  • 4.1 UBIFS代码分析
  • 4.2 UBIFS损耗均衡树型管理结构
  • 4.3 UBI操作的映射机制
  • 第5章 UBIFS损耗均衡的优化设计
  • 5.1 优化目标
  • 5.2 整体设计架构
  • 5.3 优化前提
  • 5.4 优化算法的设计与分析
  • 5.5 算法的局限性
  • 第6章 UBIFS损耗均衡的实现
  • 6.1 写请求收集队列的实现
  • 6.2 主要功能函数
  • 6.3 损耗均衡的实现
  • 6.4 LEB和PEB的映射
  • 6.5 实现中遇到的问题和解决办法
  • 第7章 测试与分析
  • 7.1 测试环境与工具
  • 7.2 测试方案
  • 7.3 测试结果分析
  • 第8章 总结与展望
  • 8.1 总结
  • 8.2 进一步的工作
  • 参考文献
  • 致谢
  • 攻读硕士学位期间发表的学术论文
  • 相关论文文献

    标签:;  ;  

    基于嵌入式Linux的UBIFS损耗均衡的研究与实现
    下载Doc文档

    猜你喜欢