基于Nand Flash的UBI文件系统在Android平台上的研究与应用_第1页
基于Nand Flash的UBI文件系统在Android平台上的研究与应用_第2页
基于Nand Flash的UBI文件系统在Android平台上的研究与应用_第3页
基于Nand Flash的UBI文件系统在Android平台上的研究与应用_第4页
基于Nand Flash的UBI文件系统在Android平台上的研究与应用_第5页
已阅读5页,还剩113页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于Nand Flash的UBI文件系统在Android平台上的研究与应用 秉承学校严谨的学风和优良的科学道德,本人声明所呈交的论文是我个人在 导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标 注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研究成 果;也不包含为获得西安电子科技大学或其它教育机构的学位或证书而使用过的 材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中做了明确的说 明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切的法律责任。 本人签名:盈量惑 西安电子科技大学 关于论文使用授权的说明 本人完全了解西安电子科技大学有关

2、保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。学校有权保 留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部分内 容,可以允许采用影印、缩印或其它复制手段保存论文。同时本人保证,毕业后 结合学位论文研究课题再撰写的文章一律署名单位为西安电子科技大学。 保密的 论文在解密后遵守此规定 本学位论文属于保密,在一年解密后适用本授权书。 本人签名: 导师签名: 日期互!:至:至 摘要 随着嵌入式文件系统技术的快速发展,目前主流的文件系统在功能和性能方 面已不能满足项目的需求。 Block 通过分析UBI Unsorted Image 文

3、件系统的功能需求、性能需求和设 文件系统的方案,并对其中四个模块进行了设计与实现,即u-boot引导程序模块、 坏块管理模块、系统恢复功能模块和内存参数模块。首先,针对Uboot引导程序 Device 分区和参 模块,完善适用于UBI文件系统的MTD MemoryTechnology 数传递机制,保证了系统启动过程的正确性。其次,对于坏块管理模块,设计管 理策略,解决了工厂坏块管理的问题。再次,在系统恢复功能模块中,提出一种 能自动识别恢复出厂设置模式的方法,增加了强制安装系统的功能。最后,在内 存参数模块中,通过试验找到使系统稳定运行的最优参数组合。 实验数据表明,该UBI文件系统的功能和性

4、能指标达到了设计要求。 关键词:UBI文件系统 NandFlashBootloader 坏块管理 恢复模式 Android平台 Abstract embeddedfile current the of With development systemtechnology,the rapid and cannotmeetthe infunction file requirements mainstream project system aspects performance of Block Basedonthe Image filesystemS UBI Unsorted analysis st

5、ructure article to design,theattempts requirements,and requirements,performance 1 theembedded istheiMX5 buildUBIfile on board CPUchip system systemproject from fourmodulesand the and freescale anddesign givesdesigning whichareu-bootbootloader block ofthesefourmodules module,bad ways andDDR functionm

6、odule memory recovery module,thesystem management modulethe moduleToachieve asforleu-bootbootloader parameter this,firstly a mechanismof author MTD MemoryTechnology developsgood ofthe boot? ofUBIfile toensurethecorrectness and system system passingparameters module of badblock Theninbadblock problem

7、factory managementaspect,the Canbesolved abadblocktable strategyOnce management bydesigning management methodtoachievethe article anautomaticidentification reset, more,the gives factory functioninthe function all install andadds enforcement systemrecovery system of onthebasisoftestresults oneof sets

8、 multipleparameters moduleFinally,selecting istoachievethe and of working high-efficiencysystem stability functionand ofthe Thefinal datashowthatthe targets experimental performance to UBIfile achieve system designrequirements File NandFlashBootloader System Keyword:UBI BadBlock ModeAndroidPlatform

9、Recovery Management 目录 第一章 绪论1 11选题背景及研究意义1 12国内外现状2 13主要研究内容4 14论文结构5 第二章 相关技术概述7 21嵌入式ARM体系结构介绍。7 211ARM与RISC结构7 212嵌入式ARM微处理器8 213 ARM微处理器的指令结构和运行模式8 214ARM微处理器的寄存器组织9 22 FLASH存储器介绍一11 221 Flash存储器的结构特性11 222 Flash存储器的分类及其工作原理11 223文件系统的设计思路以及两种主流文件系统简介12 第三章 UBI文件系统的需求分析与总体设计15 31整体需求分析。15 32功能性

10、需求分析16 33非功能性需求分析20 331性能需求20 332非性能需求21 333编程规范22 34 UBI文件系统的总体设计23 35本章小结25 第四章 UBI文件系统的详细设计与实现27 41 411 412 MTD分区的形成31 413参数的传递34 42 UBI文件系统坏块管理的设计与实现。38 421坏块的研究38 422坏块的管理39 43 UBI文件系统恢复模式的设计与实现44 431恢复模式的研究44 432恢复模式的设计与实现44 44内存配置参数的选择方法52 441内存参数的研究52 442内存参数的配置54 45本章小结60 第五章 运行及结果验证61 51软硬

11、件环境61 1 511硬件环境6 512软件环境63 52运行与结果验证63 53结果分析及其总结69 第六章 结束语71 61论文工作。7l 62论文总结71 致i射。73 参考文献75 第一章绪论 第一章绪论 随着网络技术的广泛应用和信息技术的高速发展,人类进入了一个崭新的信 息技术大爆炸的时代。而嵌入式系统则正是这个时代最有活力的代表技术之一。 11选题背景及研究意义 由于嵌入式系统具有体积小、性能强、功耗低、可靠性高等突出特征,目前 在工业过程控制、国防军事、电子设备和现代武器、网络通信设备、消费性数码 电子产品等领域,它都发挥着举足轻重的作用,业已成为计算机领域的一个重要 组成部分,

12、并且拥有着无比广阔的市场需求和发展前景【l】。 在前期,由于所需要的功能较简单,因此嵌入式系统是不需要文件系统甚至 操作系统。但是随着具体应用开发的多样化和复杂化以及嵌入式系统在通信、消 费电子产品以及多媒体市场的广泛应用,应用嵌入式操作系统已变得十分普遍, 也是非常有必要的。一方面,文件系统是操作系统的一个重要组成部分,同时也 是操作系统的重要功能之一。另一方面,随着系统复杂性的增加,存储器容量的 不断扩大,网络通讯的高度发展,加入文件系统是一种必然的趋势。此后,上层 的应用程序更新和应用软件的设计就不必关心底层具体的设备,从而可以更方便 地利用标准接口访问存储器,这样就可以使系统更方便管理

13、,更利用嵌入式的开 发和移植,从而缩短了整个嵌入式产品的开发周期【21。 目,其最终目标是要开发一个移动上网设备 MID ,这种设备可以在各种场合通 过3G或Wifi联网,所以可以称它为3G平板电脑一种小型、方便携带的个 人电脑,以触摸屏作为基本的输入设备。 ARMll AdvancedRISC Machine 11 的处理器体系架构,最高主频可达1GHz, 可工作在多种不同的频率下,支持二级缓存,支持多种外设,如Camera、LCD、 DDR2 DoubleDataRate USB、多种Flash等等。采用的外部存储器有256M 2 、 2MNorFlash和2GNand 系统、中间件、用户

14、界面和应用软件组成。由于Linux内核是开源的,并且具有 完整的体系结构以及可以支持多种平台,这使得嵌入式系统的开发周期大幅度缩 短,因此该项目选择Linux作为其内核。 2 基丁Nand Flash的UBI文件系统在Android平台上的研究与应用 由于Flash具有容量大、速度快、成本低等特性,所以被嵌入式系统广泛应 用。Flash具有的“先擦除再写入”、“坏块”、“有限的读写次数"等特性,目前管 理Flash的方法主要有以下三种架构【3】: Translation FlashTranslation 1采用MTD+FTLNFTL Flash LayerNand Layer +传统

15、文件系统的方式。 Second 采用此方式的文件系统有FAT FileAllocationTable 、ext2 The ExtendedFile System 等。FT圳FTL的使用就是针对Flash的特有属性,通过软 件的方式来实现日志管理、坏块管理、损益均衡等技术。但实践证明,由于知识 产权、效率等各方面因素导致本方案有一定的局限性。 2采用硬件翻译层+传统文件系统的方案。 这种方法被很多存储卡产品采用,如:SD Secure Card 卡、 DigitalMemory U盘等。这种方案对于一些产品来说,成本较高。 FlashFile 12 YetAnotherFlash System

16、,YAFFS FilingSystem 等。 它们大大提高了Flash的管理能力,并被广泛应用。 综上所述,Flash不适合使用一般的文件系统来管理它,而需要一种专用的文 件系统。但是JFFS2、YAFFS2等专用文件系统也存在着一些技术瓶颈,如:内 存消耗大,对Flash容量、文件系统大小、内容、访问模式等的线性依赖,还有 损益均衡能力差或过渡损益等。 Gleixner,Artem UBI文件系统是由IBM、NOKIA工程师Thomas Bityutskiy 等人于2006年发起,致力于开发性能卓越、扩展性高的Flash专用文件系统,以 解决当前嵌入式环境下以Flash作为MTD设备使用时的

17、技术瓶颈。所以,针对 UBI文件系统的架构和工作模式进行分析和研究对项目本身就显得尤为重要。通 过研究UBI文件系统,在Android操作系统上开发项目所需要的某些功能,以解 决当前所遇到的问题。这个文件系统虽然推出时间不长,但它的结构和特性为解 决以上的问题提供了一个较完美的途径。 12国内外现状 X70、viliv 国际上最著名的平板电脑是KUPA酷跑X8平板电脑、韩国的viliv EKING M5、ITC华银和汉王B10,它们都采用X86架构的英特尔ATOM系列 CPU,运行微软WindowsXPVista7操作系统,DDR2内存,固态硬盘,这些软 硬件都是与电脑一样的,具有完全电脑性能

18、。 2010年1月27日苹果公司发布iPad,定位介于苹果的智能 iPhone和笔 第一章绪论 记本电脑产品 MacBook、MacBookPro与MacBookAir 之问,iPad使用的是 基于BSD iOS touch。 储器中。iPad42将于11月推出,同时还适用于iPhone和iPod 1年早 RIM公司推出了一款平板电脑一呻layBook,称这款平板电脑在201 的双核处理器,并有1GB的RAM。至于黑莓平板电脑的操作系统则是基于QNX Neutrino实时操作系统,这是一个真正的微内核操作系统,在这个系统里的每一 个驱动程序、应用、文件系统都在内核的外部运行。 继苹果iPad发

19、布以后,在国内,掀起来XPad的浪潮,许多厂商纷纷进军平 板市场。汉王的TouchPad 操作系统平台的产品。 总之,对于嵌入式操作系统和Linux文件系统的研究,国内起步较国外略晚。 尤其是在专用文件系统方面,国内对其研究力度仍然不足。早期国内推出的几款 PDA及移动 ,由于种种原因,均没有得到广泛的普及。随着近些年来, 的流行趋势与技术的发展,带动了对平板电脑的深入研究,因此,国产 和平 板电脑已然能在市场中占有一席之地,其低廉的价格和丰富的功能也颇具竞争力。 但国内对于嵌入式理论的研究以及产品的各个方面的发展,仍需要不断加强。 当前主流的Nand Communications 的Axis

20、 File 这两种文件系统属于LFS Log-structuredSystem 。这种文件系统的特点是 一旦数据出错,容易恢复,但是系统运行是需要占用一定的内存空间,这些空间 AnotherFlashFile 就是用来存储“log”的。“Yet one的公司设计的,是第一个为NandFlash设计的文 Manning为一家名叫Alpha 件系统。共两个版本YAFFSl和YAFFS2。 Gleixner,Artem 2006年,由IBM、NOKIA工程师Thomas Bityutskiy等人致 技术瓶颈问题。到2007年底发布了UBIFS的可运行版本,目前的开发工作仍然 很活跃。UBI文件系统的

21、关键技术有:异地更新策略、日志管理、垃圾回收、损 益均衡等,虽然都已经得到较好的实现,但是这些都是基于Kernel中MTD的开 发与研究,在Bootloader中的UBI文件系统的应用和研究甚少。 目前关于UBIFS的研究课题主要集中在:UBI损益均衡算法的改进、UBI UBIFS占用内存空间大小等方面的完善与改进的研究【31。 4 基-j-NandHash的UBI文件系统在Android平台上的研究与应用 Block TOSHIBA公司通过给每个MTD分区建立BBT BadTable 表并将其 置于独立的内部卷来减少MTD驱动初始化的时间,改进了UBI挂载时速度慢的 FlashFile JF

22、FS2vs 算法。ChrisSimmonds在Linux UBIFS中详细研究了 Systems UBIFS的选择,他指出如果Flash的容量大于16M则可选择UBI。韩春晓,陈香 兰等通过对损耗均衡触发点的不同选择所造成的结果进行了测试,最后得出UBI 损益均衡的改进算法,即自适应损耗均衡算法 高效的热数据预测模型 ,从一定 意义上可以提升UBIFS的性斛4】。柳振中通过分析数据本身读写频率的特性,通 过研究表明在确保相近损耗均衡的效果下,利用数据的冷热特性动态的调节调入 内存排序的擦除块,从而优化了内存空间的消烈51。但是,针对在整个系统运行 过程中的坏块管理算法和协调性的研究很少关注。

23、另外,UBI文件系统在Android平台上的特殊功能、性能和稳定性问题的开 发和研究日益增多。虽然Android系统的恢复模式的结构已经设计成熟,但是只 是适合于某些通用的文件系统中,比如说:ext文件系统,ya凰等。当前项目所 设计的掌上平板电脑,采用与三星、索尼爱立信、Google 相同的Android操 作系统,但系统功能和稳定性会更完善,这种技术处于国外先进、国内领先的地 位。 13主要研究内容 本文主要研究在Android平台上基于NandFlash的UBI文件系统的设计与 实现,以及在此基础上的应用。利用从整体到局部的思想分析了当前UBI文件系 统的整体框架以及工作流程和目前项目对

24、此部分的需求,已经明确当前项目需要 解决的根本问题以及相对应的UBI文件系统的模块。在整个过程中主要完成以下 工作: 1UBI文件系统在Bootloader中的设计与实现。 间的信息传递问题。 对于前者可以根据Kernel中MTD的形成逻辑做适当的修改和调整即可解决, 对于后者,由于Bootloader中已经有了与Kernel相互通信的机制即内核参数的传 递机制,所以可以通过分析Bootloader与Kernel的内核参数传递的方法,从而 解决有关UBI文件系统的相关数据信息的传递。 2在UBI文件系统中,通过对坏块的合理管理来实现其在各个阶段的协同 工作。 么保证坏块的有效性以及相互的识别,

25、包括如何处理出厂坏块问题。 第一章绪论 问题。NandFlash在生产出厂后肯定会有坏块的产生,这种坏块可以用其中的某 一位来进行标识,现在只需在第一次使用NandFlash的时候加入到这个BBT中 即可,从而完善UBI坏块管理的功能。 3设计并实现基于UBI文件系统的恢复模式。 复。 件系统恢复的完整功能。 4通过测试解决内存参数的选择问题。 系统的稳定性与多种因素相关,其中内存的稳定性是衡量系统稳定性的重要 标准。况且UBl分区的挂载以及EAT 逻辑物理块映射表 的建立都严重依赖 于内存的运行。 因此,内存参数的选择主要应该考虑以下两个方面:一方面,应该使用软件 的方式尽量与内存的硬件特性

26、相匹配;另一方面,需要经过对内存参数各种配置 的测试和调试来找到一组使系统运行较为稳定的配置参数。 14论文结构 论文共分为六章,各章主要内容如下: 第一章:绪论。提出项目背景以及选题背景,介绍同类产品以及相关理论的 国内外现状,接着是本文的主要研究内容和论文结构。 第二章:相关技术概述。分类列举并描述了项目研究过程中涉及到的关键理 论和技术,其中包括:嵌入式ARM体系结构,Flash存储器的特性、分类及其 工作原理,文件系统的设计思路以及两种主流的基于Flash的嵌入式文件系统的 基本理论。 第三章:UBI文件系统的需求分析与总体设计。本章首先对分析UBI文件 系统在Android平台中的地

27、位,然后从功能性需求、非功能性需求两个方面对模 块进行分析,最后从体系结构的层次对UBI文件系统进行深入的分析与研究,给 出系统的总体设计,为后续的关键模块的设计与实现打下了基础,同时也为下一 章的详细设计与实现提供了可靠的理论基础。 6 基于NandFlash的UBI文件系统在Android平台上的研究与应用 第四章:UBI文件系统的详细设计与实现。首先是UBI文件系统在 Bootloader中的设计与实现,其次是坏块管理在整个文件系统中的设计与实现。 最后是设计并完善适合UBI文件系统的系统恢复功能。在此基础上,通过选择内 存的参数来实现系统的稳定。 第五章:UBI文件系统的运行及测试。通

28、过系统在主板的实际运行来验证 UBI文件系统的相关功能和有效性,于此同时根据测试结果来调整内存参数的 值。 第六章:总结和展望,对全篇内容进行总结,并对相关问题进行展望。 第二章相关技术概述 7 第二章相关技术概述 本章分类列举并描述了项目研究过程中涉及到的关键理论和技术,其中包括: 嵌入式ARM体系结构,Flash存储器的特性、分类及其工作原理,文件系统的 设计思路以及两种主流的基于Flash的嵌入式文件系统的基本理论。 21嵌入式ARM体系结构介绍 从ARM体系结构、处理器结构、ARM指令以及寄存器等方面描述了嵌入 式ARM的独有体系结构。 211ARM与RISC结构 RISC ARM是A

29、dvancedMachine的缩写,由英国AdvancedRISCMachines 识产权【61。 InstructionSet 传统的CISC ComplexComputer 结构有其固有的缺点,即随 着计算机技术的发展而不断引入新的复杂的指令集,这样会造成计算机的体系结 构越来越复杂,而在CISC指令集的各种指令中,其使用频率却相差悬殊,大约 有20的指令会被反复使用,这些指令在整个程序代码中占80,而余下的80 不经常使用指令,在程序设计中只占20。 基于以上的不合理性,1979年美国加州大学伯克利分校研究提出了RISC ReducedInstructionSet 把着眼点放在了如何使计

30、算机的结构更加简单合理地提高运算速度上,它优先选 取使用频率最高的简单指令,避免复杂指令;将指令长度固定,指令格式和寻址 方式种类减少;以控制逻辑为主,不用或少用微码控制等措施来达到精简指令的 目的。 采用RISC体系结构的ARM技术具有如下设计特色: 1使用的32位指令长度,指令类型很少、基本寻址方式有23种。 器的指令是分开的,使用单周期指令,便于流水线执行,以提高指令的效率,并 且是使用硬件连线指令译码逻辑,而非微码ROM ReadMemory 指令译 Only 码。 基于Nand Hash的UBI文件系统在Android平台上的研究与应用 3由32个32位寄存器构成的寄存器堆,且所有寄

31、存器是通用的。 因此采用RISC结构的ARM取得了一些优点:如芯片面积小,可省下更多面 积制作缓存或浮点硬件,开发时间短,性能高,可获较高的时钟频率。 当然,和CISC架构相比较,RISC架构还存在一些缺点,如与CISC相比RISC 的代码密度低,这是指令集固定长度的结果,ARM公司采用了Thumb结构 即 将32位指令集压缩为16位,并在指令流水线中使用硬件动态解压缩 ,另外RISC 不能执行X86的代码,这个移植时必须注意。 下面简要介绍一下ARM独特的处理器模式和寄存器组织结构。 212嵌入式ARM微处理器 ARM公司是32位嵌入式RISC微处理器领域的领先供应商,目前被公认为 是业界领

32、先的32位嵌入式RISC微处理器结构,所有ARM处理器共享这一体系 结构,这可确保当开发者转向更高性能的ARM处理器时,在软件开发上可获得 最大的回报。 ARM芯片除了具有RISC系统的一般特点外,ARM系统还采用了一些特别 的技术,在保证高性能的同时尽量减小芯片体积,降低芯片的功耗。这些技术包 括【6】: 1在同一条数据处理指令中包括算术逻辑处理和移位处理。 2使用地址自动增加 减少 来优化程序中的循环处理。 3LoadStore指令可以批量传输数据,从而提供数据传输的效率。 4所有指令都可以根据前面指令执行结果,决定是否执行,以提高指令执行 的效率。 800MIPS,功耗数量级为MwMHz

33、。对于支持同样ARM体系版本的处理器,其 软件是兼容的。 213ARM微处理器的指令结构和运行模式 ARM微处理器的在较新的体系结构中支持两种指令集:ARM指令集和 指令集为ARM指令集的功能子集,但与等价的ARM代码相比较,可节省 30-40以上的存储空间,同时具备32位代码的所有优点。 从编程的角度看,ARM微处理器的工作状态一般有两种,并可在两种状态 第二章相关技术概述 9 之间切换: 第一种为ARM状态,此时处理器执行32位的字对齐的ARM指令; ARM支持7种运行模式,见表21,分别处理不同的需求。 表21ARM类处理器的7运行模式 处理器模式 描述 一 正常程序执行的模式 用户模式 User,usr 快速中断模式 FIQ,fiq 用于高速数据传输和通道处理 外部中断模式 IRQ,irq 用丁通常的中断处理 特权模式 Supervisor,sve 供操作系统使用的一种保护模式

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论