已阅读5页,还剩75页未读, 继续免费阅读
(机械制造及其自动化专业论文)新型嵌入式移动存储卡标准的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京邮电大学硕士论文 摘要 近年来,随着i n t e r n e t 和计算机技术的发展,嵌入式系统正成为当前i t 产业的焦点 之一,并展现出巨大的市场需求。如今大量手持式设备越来越普及,它的应用与发展对嵌 入式系统提出了更高的性能需求。随着多媒体应用越来越多地出现在嵌入式设备中,而且 有各种不同的存储介质出现,有n o rf 1 a s h 和n a n df 1 a s h ,在n a n df l a s h 中又有c f 卡、 咖c 卡、u 盘等不同的存储对象,如何有效地存储、管理各种类型的文件成为某些不支持文 件系统的嵌入式操作系统急需解决的问题,同时如何使得各种标准的存储卡在尺寸上能够 互相兼容也成为人们关心的话题。 文件系统是操作系统最基本的资源,它是一个计算机系统内文件和目录的集合。随着 嵌入式系统硬件设备的广泛运用、价格不断降低,及嵌入式系统应用范围的不断扩大,嵌 入式文件系统的重要性显得更加突出嵌入式系统通常是无磁盘系统,为了让嵌入式系统 能够永久性保存资料,使用f l a s h 存储器是一种普遍的策略,那么如何在嵌入式系统环境 中建立f l a s h 存储器文件系统就成为了本文研究和解决的重要问题。 本课题对嵌入式多媒体应用中f 1 a s h 文件系统的应用特点与关键设计进行了分析,基 于微软公司提供的标准,设计实现了一个功能完整的基于n o rf 1 a s h 和n a n df 1 a s h 的f a t 文件系统f f s ( f l a s hf 订es y s t e m ) 。它同时支持f a t l 6 和f a t 3 2 ,满足应用所需要的读、写、 删除、格式化等等各种文件操作接口,以及对应用透明的自动坏损管理功能。经测试证明, 完全适合于存储卡对文件进行存储和管理的功能需求。 本课题同时对新代移动存储卡的机械外观进行设计,使得其体积和标准s d 高速存储 卡一样,拥有比标准s d 存储卡更高的读写效能与更大的容量,并与标准s d 和删c 卡完全 兼容。 关键字:标准f 1 a s h 文件系统f a t 机械外观 a b s t 北京邮电大学硕士论文 n e we m b e d d e dm o bll em e m o r yc a r ds t a n d a r dr e s e a r c h a n dlm p l e m e n t a tio n a b s t r a c t r e c e n t l y ,谢t l lt l l ed e v e l o p m e mo fi n t e m e ta i l dc o m p u t e r ,t l l ee m b e d d e ds y s t e m s a r eb e c o m i n gt l l ec e n t e ro fi n t e r e s ti nt h ei ti n d u s t r y 锄de x l l i b m n gt l l e i rb r o a d p 删a lm a r k e t m e a i l w i l i l e ,t l l ek m d h e l d d e v i c e sa f ei n o r e 觚dm o p o p l l l 盯觚di 乜 印p l i c a t i o i l sa r ec a l l i n gf o r 恤b e 仕c rp c 面肋锄c ca l l df i l i l c t i o l l a l 时o f 锄b 龇d s y 啪塔m o r e 锄dm o 坨m e d i aa p p l i c 砒i o 璐a 坞l l s e di n 锄b e d d e dd e v i c e s ,a l 印p c 瘢i i 培d i f e r e 毗t y p e so fs t o rm e d 斌f o ra 【锄p l en a n df l a s ha i l dn o r f l 嬲h e v e i lh o 咄d i m 糯ms t o r ed e v i c 嚣,m i l l 邱l em e d i ac a 咄c l p a c tf l a s l l u d i s k ,w l l i c ha r eb a s c do nt h es 姗em e d i a ,n a n df l 砘a p p e a r e d ni sn o te a s yt o l v e t l l ep r o b l 锄o f m 肌a g ef i l e so nt h ed i f 五;崩1 t 咖md e v i c 碱c ha 佗u s e di 王lm e o p e r a t i n g 掣s t e mn o ts u p p o r t c db yf i l es y s l e m a l s oh o w t om a k et l l em e m o r yc a r d s t a i l d 砌sc o r n p a t i b l ei ns i z eb e c o m eat o p i co f c o n c 锄 f i l es y 蹴mi so n eo f t h em o s tp r i m a r ys o u f c e si l lo p 耐i n gs y 咖m w 量l i c hi sa c o l l e c t i o no ff i l e sa n dd i r e c t o r i e si l l c o m p u t e rs y s t e l i l w i t l lt h ei n c r 娜i n go f a v a i i a b i l 崎a n dl o w e r i n go f 锄l b e d d c ds y s t e ml l a r d w a f e i sp r i c e ,锄dm ee x p a n d i n go f a p p l i c a t i o n 丘e l d s ,t l l ee m b e d d e ds y s t e m sp l a yam o r ei m p o n a mr o l ea 1 1 d 也e d e v e i o p m e n to fe m b e d d e df i l es y s t e ma t t m c sm o a 他n c i o ne m b e d d e ds y s t e m sa r e u s l l a l l y d i s k l e s s s y s 锄璐h l o r d c r t 0k e 印p e f i n a i l e m 纰i n t l l e s y s t e l l l s ,“i s a 晰d e l y a d a p t e ds n 锄e 留t 0u s e f l a s h m e m o r y d i s ka s i 协d i s ks y s 触n 也e r e 南r e h o w t o b u i l d a n a s hm e m o r yf i l es y s t e mi st h ef 如i l so f t h i st h e s i si nar e a s 0 n a b l ee m b e d d e ds y s 劬 i i lm yr e a r c hf i e l d ,ic o m p l e t e daf a l f i i es y s t e mi 瑚吡e df f sw h i c hi su s e df o r m a l l a g i n gf i l 豁l en a n df l a s hm e d i a ,t l l i sf a tf i l es y s t e mi so nt l 把b a s eo f m s d o ss t a n d a r d f f ss u p 叫s 盯1 6 姐df a t 3 2 ,a n di tc a i ls a t i s 母a l lt h es t a l l d a r d f i l e 肌) r e q u c s t sw i me n o u g h 印p l i c a t i o ni m e r f k e s ,i n c l l l d i n gr c a d i n gf i l e ,w r i 血1 9f i l e a n dd e l e t i l l gf i i e ,w h i c ha r e 细印p l i c a t i o nl l s e ,na i s u p p 叫m a l l a g i i | gb a dc l l i s t c r s o nn a n df l 部ha u t o m a t i c a l l y a n dt h i sf i | n c t i o ni n t e f f h c ci s 缸孤l s p a r e mt ou s e 墙 a f b e rp r a c t i c eo fl l s i n gf f s6 l es y s t 锄o nc e l lp h o n cs y s t e n l u s e r so ff f s9 0 ta 一 北京 邮电 大学 硕 士论 文 c o n c l l l s i o nt h a tt 1 1 i sf i l e 锣s t e mc 强s a t i s 母a l lt h er e q u e s t s 丘d ma p p l i c a t l o 璐,a n d i t1 s w e u 丘t f o r c e l l p h o n e s y s t e m n es u b j e c ta l s od e s i g 【l sn l cm 蒯c a ia p p c 缸a n c eo fan e wg c 眦l o n o t m o b i l em 锄o r yc a r d ,i t sv o l 啪ei s 血es 瓣埘m 也e s t a n d a r ds d m m cm 唧o r y c 矾,b u ti tl l a s 孵a 衙e m c i c n c ya n dc a p a c 姆t h 弛也es t a r 出r ds m m c m 锄o r y c a r d ,锄d “i s 如l l y p a t i b l ew i m t l l cs t a n d a r ds 洲c c a r d k e yw o r d s : s t a n d a r df l a s h f i i es y s t 钮lf 狐r m e c h a n i c a la p p e a r a n c e 缡 k 拶 北京邮电大学硕士论文声明 声明 独创性( 或创新性) 声明 本人声明所星交的论文是本人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了 文中特别加以标注和致谢中所罗列的内容以外。论文中不包含其他人已经发表或撰写过的研究成果,也 不包含为获得北京邮电大学或其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研 究所做的任何贡献均已在论文中作了明确地说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:辫日期。垆 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即:研究生在校攻读学位 期间论文工作的知识产权单位属北京邮电大学。学校有权保留并向国家有关部门或机构送交论文的复印 件和磁盘,允许学位论文被查阅和借阅:学校可以公布学位论文的全部或部分内容,可以允许采用影印、 缩印或其它复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在一年解密后适用本授权书。非保密论文注释:本学位论文 不属于保密范围,适用本授权书。 本人签名: 导师签名: 日期: 日期: a b s t l l 北京 邮 电大学硕 士 论 文 1 1 课题来源 第一章绪论 嵌入式系统是以应用为中心,以计算机技术为基础,软硬件均可裁剪,适应 于对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统“。1 。随着 以信息家电为中心的嵌入式系统被广泛地应用于办公自动化、消费电子、通信设 备、智能仪器和军事电子设备等各个领域,嵌入式硬件和软件的迅速发展,使得 只通过简单循环控制实现单一的管理已经远远不能满足用户需要,因此嵌入式操 作系统应运而生,用来对日益复杂的硬件资源进行系统的管理。嵌入式文件系统 是嵌入式系统的重要组成部分,是一个管理嵌入式操作系统的文件输入输出和 操作的功能模块,它提供了一系列功能强大的文件输入输出和方便的文件管理, 为办公通讯设备、工业控制、医学电子、交通设备和移动设备等嵌入式系统和 设备提供文件系统支持。 本课题来源于普天信息技术研究院的移动存储卡项目“新一代移动存储卡标 准研究”,采用了uc o s i i 内核作为底层操作系统,并在姻t o r o l a 公司设计的 基于a r m 9 芯片的高集成度开发平台一m c 9 3 2 8 姒1 开发板上进行开发。嵌入式存 储系统在骶9 3 2 8 姒l 开发板上的i n t e l 公司的2 8 f 1 2 8 j 3 a 芯片进行开发。该系统 将应用于新一代移动存储卡多媒体通信终端( 移动终端、因特网接入终端、数字 信息处理终端的集成) ,提供移动存储、新闻浏览、收发邮件、电子商务和信息 查询等服务。 1 2 研究意义和研究目标 1 ,2 1 嵌入式系统的发展趋势以及对f i a s h 存储器设备管理的需求 网络技术的广泛应用和以计算机技术、通信技术为代表的信息技术的高速发 展,使人类进入了一个崭新的信息技术大爆炸的时代,嵌入式系统正是这个时代 最有活力的代表技术之一。 传统的嵌入式系统仅仅只能提供比较单一的功能,用户接口极为简单,基本 上无网络功能,这就使产品的应用领域受到了较大的局限。如今的嵌入式系统是 将先进的计算机技术、半导体技术、电子通信技术和各个行业具体应用相结合的 产物,这就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知 蕊 业磁 北 京郏电大学硕 士论 文 识集成系统。嵌入式系统工业的基础是以应用为中心的“芯片”技术和面向应用 的软件产品开发“】。 随着应用领域的不断扩展,嵌入式系统呈现出以下几方面的发展趋势: 第一,强大的嵌入式操作系统支持。随着应用需求的不断增长,嵌入式操作 系统的功能不断丰富,复杂性日益提高。尽管嵌入式系统要求小巧、精简,但为 了满足应用领域的需求,嵌入式操作系统的代码尺寸正在不断的增大。 第二,缩短产品开发周期。封闭开发的方式会导致开发效率低下,软件可移 植性和可重用性极差,虽然大部分嵌入式系统的设备接口和应用需求都有诸多相 似之处,开发人员也不得不从头为设备编写驱动控制软件,从而增加了系统开发 的成本,并使系统可靠性、可移植性降低。 第三,提供精巧的多媒体人机界面。随着手持移动设备的不断发展,人们逐 渐要求嵌入式系统能够提供g u i 化的操作界面,以及图像、视频处理能力。为此, 嵌入式系统必须具备更大的存储空间、更高效的数据存取机制,为开发人员提供 统一、方便的系统开发架构。 第四,嵌入式文件系统和嵌入式数据库的应用。随着系统复杂性的增加、存 储器容量的扩大,嵌入式文件系统成为了一种必然趋势。嵌入式文件系统和嵌入 式数据库客观上要求操作系统提供一种方便、高效、统一的存储器管理访问技术, 从而借助它实现对底层存储设备的管理和访问,而嵌入式系统受硬件条件所限一 般不具有磁盘这样的存储设备,因此,f 1 a s h 存储器器件就成为了嵌入式系统中 最理想的非易失数据存储器。 综上所述,由于不断发展扩大的应用需求和其它支撑技术的发展,嵌入式系 统的复杂性日益提高。为了缩短产品开发周期,嵌入式系统设备管理软件代码需 要具有更好的可移植性:而随着g u i 图形界面、嵌入式文件系统及嵌入式数据库 的出现,如何管理更大容量f 1 a s h 存储器件、如何为系统提供一种统一、高效 的数据存储设备访问技术成为了目前应用领域亟待研究的一个课题。 1 2 2f i a s h 存储器设备在嵌入式系统中的应用现状 f l a s h 存储器( f l a s hm e m o r y ) 又称p e r o m ( p r o g r a 硼a b l ea n dr e a d0 n l y m e m o r y ) ,是一种非易失性固态存储器,它具有很多优点:它提供高可靠性、高 密度的固态存储;它是完全非易失性存储器,提供数据掉电保护;它可以在线写 入,存取速度快。随着闪速存储器容量、存储密度的提高及价格的不断降低,各 种f 1 a s h 存储器设备逐渐成为嵌入式系统中最主要的存储设备。 f l a s h 存储器的发展十分迅速,如今在芯片级层次上已有多种实现方式,因 此存在多种标准,主要有i n t e l 和a m d 的n o r 标准以及三星和东芝的n a n d 标准。 2 一 北京 部电大学硕士论文 多种标准在各自厂商的支持下进行技术提升和升级“。 n o r 型f 1 a s h 存储器芯片是一种可靠的技术,主要用于代码的存储鳓。n o r f l a s h 带有s r a i 接口,有足够的地址引脚来对内部每个字节进行寻址,因此n o r 支持芯片内执行( x ip ,e x e c u t ei np l a c e ) ,这样应用程序就可以直接在f 1 a s h 存 储器中直接运行,而不必再把代码读到系统r a m 中。n o rf l a s h 在卜4 m 的小容 量时具有很高的成本优势,但较低的写入和擦除速度大大影响了它的性能。n a n d f l a s h 的接口更像一个i 0 设备,它的存储单元比n o r 设备的要小4 0 ,因此 在同样大小的设备上有更大的存储量。n a n df l a s h 设备不是按字节进行编址, 其内部的单元像链状一样串行排列,一般为5 1 2 字节,这些链可进一步排列成可 擦写的块。 从总体发展趋势上看,由于嵌入式系统复杂性的不断提高及大容量存储器的 出现,如何方便、高效的管理存储设备成为了嵌入式系统开发的一个重要问题; 而日益丰富的各种嵌入式应用,尤其是移动多媒体技术m 对数据存储、访问技术 提出了更高的要求。作为嵌入式操作系统的主要组成部分,存储子系统的性能直 接决定了系统整体性能的高低,而系统的其它组件及各种应用更要求系统能够提 供一种统一、通用的存储器控制及访问机制。目前n o rf l a s h 占据了容量为 卜1 6 m bf l a s h 存储器市场的主要份额,而在综合考虑成本、内核及应用代码尺 寸等因素的基础上,大部分嵌入式系统都是使用了n o r 型f l a s h 存储器作为系 统的主要存储设备。因此,对f l a s h 存储器设备的管理及访问技术研究成为了 嵌入式系统中一个十分重要的课题,它不仅在嵌入式系统i o 管理与访问机制上 有一定学术研究意义,而且对嵌入式系统设计开发有着重要的应用指导价值。 1 2 3 研究目标 f 1 a s h 存储器芯片和传统的磁盘设备有两个重要的区别:首先,f l a s h 存储 器中的扇区只能写入一次,对扇区中数据的更新并不是在数据修改后直接覆盖原 来的扇区,而是写回到一个未使用过的新扇区中,而磁盘文件系统的更新方式是 “就地更新”( i n p l a c eu p d a t e ) 。在f 1 a s h 存储器中,包含过时数据的扇区是 无效扇区,写入新数据的扇区是有效扇区,初始化完成还没有写入数据的扇区是 空闲扇区。无效扇区只有等到该扇区所在的擦除块被重新擦除之后才能再次作为 空闲扇区写入数据,这个过程就是垃圾回收( g a r b a g ec o l l e c t i o n ) 。其次,f 1 a s h 存储器的使用寿命是以擦除次数来衡量的,其中一个数据块的生命周期大约是擦 除1 0 5 次嘲。为了保证f 1 a s h 存储器中的数据块大体上同时达到使用寿命,在 f 1 a s h 存储器上建立的文件系统会尽量采取一些策略以确保擦除操作均匀分布 在整个f 1 a s h 存储器中,这就是f l a s h 存储器的磨损均衡。正是这两个区别导 蕊 堂! 堡獬 北京邮 电 大学硕 士 论文 致了基于f l a s h 存储器文件系统和其它传统磁盘文件系统的不同。 嵌入式系统应用日益丰富,而系统的硬件和软件复杂性也不断提高。f 1 a s h 存储器作为嵌入式系统中代码和数据主要存储设备,其管理和访问技术不仅担负 着为系统其它组件和应用程序提供f l a s h 存储器访问接口的重要作用,而且对 嵌入式系统的整体性能有很大的影响,本文的主要研究目标是:结合操作系统设 计研究中的基本设计原则,对典型嵌入式操作系统的体系结构特点和工作机制进 行分析,比较嵌入式操作系统中i o 软件设计实现方案的优劣,基于对目前f l a s h 存储器设备的管理和访问技术分析,探讨了一种更加统一、高效且移植性更强的 f l a s h 存储器管理和访问设计方案,最后以嵌入式uc o s i i 为目标操作系统在 m o t o r o l a 公司设计的基于a r m 9 芯片的高集成度开发平台一m c 9 3 2 8 m x l 开发板上 进行具体实现。嵌入式存储系统在该开发板上的i n t e l 公司的2 8 f 1 2 8 j 3 a 芯片进 行开发。该系统将应用于新一代移动存储卡多媒体通信终端( 移动终端、因特网 接入终端、数字信息处理终端的集成) ,提供移动存储、新闻浏览、收发邮件、 电子商务和信息查询等服务。 1 3 本文主要工作 本文针对嵌入式系统中最主要的非易失数据存储器f 1 a s h 存储器设备,围 绕其管理技术的研究与实现,从理论、技术及设计实现三个层次进行研究,主要 工作如下: 对现有f 1 a s h 存储技术进行分析和研究,并找出其优缺点。 介绍f l a s h 文件系统理论基础,着重介绍了硬盘文件系统工作原理以及f f s 文件系统存储结构和存储原理,并对f 1 a s h 文件系统和文件管理系统进行结构设 计。 在上述分析与讨论的基础上,提出一种模块性、移植性更强并更易使用的 f l a s h 存储器设备管理实现方案,并在m c 9 3 2 8 暇1 开发板上以嵌入式uc o s i i 为操作系统平台,对设计方案进行具体开发与实现。 最后对实现方案的文件操作时间代价和数据吞吐率等典型性能指标进行测 试,并对实验结果进行分析;分别统计各层模块实现中设备相关及无关代码比例, 以验证实现方案的可移植性。 4 一 北京 邮电大 学确 士论文 第二章f l a s h 存储设备存储技术分析设计 从系统的角度看,文件系统是对存放文件的存储空间进行组织、分配,负责 文件的读写,并对存入的文件进行保护和检索的系统。它负责为用户任务建立文 件、提供读写文件的工具、控制对文件的存取、当用户任务不再使用时撤销文件; 从用户的角度看,文件系统为用户提供了按“名字”存取的机制。当用户要求系 统保存这个文件时,只要根据文件的命名规则,给定文件名,系统就可以按照用 户给定的名字,把文件存放到存储介质的合适地方,当用户要使用文件时,系统 按照用户给出的文件名从文件的存储介质中找出所需的文件。文件系统的用户只 要知道文件名就可以存取文件中的信息,而无需知道这些文件究竟存放在什么地 方以及它是如何存放的。 本课题所实现的文件系统应用于移动存储卡平台,既可以由存储卡中的应用 程序来使用此文件系统来管理存储卡,也可以把存储卡交由p c 来管理。它不仅 仅要能够满足存储卡内部本身的文件存储、管理需求,更重要的是它必须能够和 p c 进行交互,使得存储卡用户可以使用更广泛的资源,从而对采用何种文件系 统要进行合理的选择,以下是对已有f 1 a s h 存储技术的研究与分析。 1 4 技术背景 1 4 1 嵌入式系统中i 0 管理机制 在嵌入式操作系统出现之前,嵌入式系统主要用于控制领域,典型的嵌入式 系统由微控制器、r 删,r o m 和i 0 部件构成脚。由于采用处理能力低的4 位或8 位微控制器,并受限于r a m 和r o m 的大小,系统通常仅由一些简单的控制程序 来协助硬件完成特定功能。系统的r o 部件直接通过总线与微控制器相连,整个 系统由一个主程序控制负责运行。r 咖主要是用来存储控制程序和参数数据,由 于没有操作系统存在,开发人员基本上可以不受任何限制地通过端口直接访问 i 0 部件,对r o i l 的使用就如同r a m 一样方便。这种i 0 管理和访问机制对应用 程序开发来说,优点是使用方便、灵活、效率高,而缺点是需要开发人员直接控 制、管理i o 设备,这不但会增加开发难度,而且还会导致代码复用性和可移植 性降低。 v x w o r k s 是美国w i n dr i v e rs y s t e m 公司开发的嵌入式操作系统,由于其高 度模块化,因此具有很强的灵活性和适应性,能够根据应用需求的不同方便地对 隅 迎獬 北京邮 电 大 学 硕 士 论 文 操作系统进行裁剪。v x w o r k s 有两种设备管理访问方式,第一种方式与前述的早 期嵌入式系统i o 访问机制有些相似,它没有对设备进行抽象统一,而是提供给 用户直接访问i 0 端口和i 0 内存的能力,这使得开发人员能更加灵活、高效地 使用i o 设备,但同时提高了开发难度并降低了程序的可移植性。第二种方式为 用户提供了一个统一的虚拟设备层,它将各种i 0 设备抽象成文件形式,这样可 以方便开发使用,并提高了程序的可移植性。此外,由于v x w o r k s 内核结构和内 存管理的特殊性,其i o 操作实现了零拷贝,数据可以直接从用户数据缓冲区拷 贝到设备内存中,从而提高了系统i o 性能。 l i n u x 是最近几年发展最快的操作系统,其特点是开放源代码、模块性强, 支持丰富的通信协议并具备出色的网络处理能力。l i n u x 在i 0 管理机制上延用 了u n i x 的设备管理机制“。它把设备划分为字符设备和块设备两种。并将其 抽象为设备文件以方便应用开发。l i n u x 的这种i 0 管理机制与v x w o r k s 的第二 种方式非常相似,应用程序借助标准的文件访问例程对设备文件进行操作,然后 由i o 软件调用具体的设备驱动程序例程实现物理设备的控制与访问。l i n u x 的 大部分设备驱动程序是在内核空间中实现的,由于运行在内核态,因此驱动程序 可以方便地使用中断、访问i 0 端口和i o 内存,并能够利用内核提供的数据结 构和例程。这种方式的缺点是不够灵活,应用程序不能充分利用设备各自的特点, 此外,在从用户空间到设备内存拷贝数据时,必须要经过一次内核空间的数据缓 冲“,这样就势必会降低数据传输的效率。与此相对应的是用户空间驱动程序实 现,这种机制的主要思想是通过操作系统提供的某些机制,将中断、i 0 端口和 i o 内存等资源映射到用户空间,并在用户空间编写设备驱动程序,使数据可以 直接在用户数据缓冲区和设备内存之间流动,进而提高了i 0 性能o ”,但这种方 式需要操作系统支持,并且在驱动程序被换出内存时,会大大降低i 0 响应时间。 1 4 2 嵌入式系统中f i a s h 存储器设备存储管理技术 f l a s h 存储器设备具有特殊的存取特性。任何f l a s h 存储器器件的写入操 作只能在空或已擦除的单元内进行,所以在大多数情况下,在进行写入操作之前 必须先执行擦除,因此,对f l a s h 存储器器件的最基本操作包括读、写和擦除。 大部分用于控制领域的嵌入式系统仅由主程序和一些辅助功能例程构成,系统通 过串口与主机相连并提供一个标准的控制界面。用户可以通过系统提供的f 1 a s h 存储器读写例程直接按地址对f 1 a s h 存储器进行访问。在这种方式下,f l a s h 存 储器设备没有任何结构性,其地址线性分布在系统地址空间中,用户可以象访问 r a m 设备一样去访问f l a s h 存储器设各,唯一不同的是它需要用户自己控制何时 擦除f 1 a s h 存储器的某个块。这是最原始的f 1 a s h 存储器管理方式,它的优点 6 一 北京邮电大学硕士论文 是访问效率高、控制灵活;缺点是应用程序必须了解f 1 a s h 存储器的物理特性, 如尺寸、擦除块的区域和大小、地址、操作时间等,从而增加了开发难度并降低 了代码的可移植性。此外,由于存储器的无结构性,应用程序还需要自己管理存 储空间,并按需要构造数据存储格式“” r a md i s k “”是l i n u x 中经常使用的一种技术,它占用内存中一块空间,并将 其虚拟成一个硬盘分区式的设备。在嵌入式系统中,这种技术可以为系统提供一 个临时的文件系统。l i n u x 的文件系统是可以被随时挂载或卸载的,开发人员可 以将文件系统( 如e x t 2 f s ) 制作为压缩映像并存储在f 1 a s h 存储器设备中。在内 核启动时l i n u x 通过r 锄d i s k 技术在内存中虚拟出一个磁盘分区,然后将压缩 映像释放到该分区以建立文件系统并挂载。这样,系统在运行期间就可以使用可 读写的标准文件系统,在必要时将该文件系统再压缩为映像并保存回f 1 a s h 存 储器中。在这种方式下,系统只需要具备最基本的f l a s h 存储器读、写、擦除 例程,而由l i n u x 决定如何对f 1 a s h 存储器进行读写和擦除操作,应用程序面 向的是虚拟磁盘设备上的文件系统,它甚至可以不知道f 1 a s h 存储器设备的存 在。显然,f 1 a s h 存储器设备在此仅用来存放文件系统映像,而真正能够访问的 文件系统是存在于内存中的。这种方式的优点是大大提高了文件系统的速度、并 间接地利用f 1 a s h 存储器和r 麒,使嵌入式系统能够使用文件系统。此外,由于 减少了很多f l a s h 存储器擦除操作,f 1 a s h 存储器的使用寿命也得以延长”1 。 它的缺点是文件系统不能充分利用f 1 a s h 存储器空间并会受系统内存大小的限 制,而释放压缩也会耗费很多时间。此外,由于不能直接在f l a s h 存储器上使 用文件系统,修改后的数据不能立刻保存到f 1 a s h 存储器中,因而在系统异常 时容易造成数据丢失。 很多文件系统作为嵌入式系统中最经常使用的文件系统,其关键技术和实现 机制日臻完善。在嵌入式应用领域中,考虑到系统存储管理效率和具体嵌入式设 备的应用,j f f s ( j o u r n a l i n gf l a s hf i l es y s t e m ) 等文件系统在具体平台的底 层硬件驱动上需要具体的实现。同时,j f f s 文件系统也暴露出自身一些缺陷, 如垃圾收集效率不高,在系统可用f 1 a s h 存储器空间较低的时候系统性能下降 很大;耗损平衡没有同垃圾收集效率一起综合考虑等。 1 5f i a s h 文件系统设计 由于本课题来源于普天信息技术研究院的移动存储卡项目“新一代移动存储 卡标准研究”,采用了uc o s i i 内核作为底层操作系统,而uc o s i i 操作系统 本身并没有文件系统,不支持文件相关的管理功能,所以本文针对嵌入式产品的 一 北 京 邮电大学硕 士论文 应用环境和f 1 a s h 存储器的存储特性,考虑到大多数终端都对微软f a t 文件系统 的支持,从兼容性角度出发,选择了针对特定硬件平台而改进后的f a t l 6 文件系 统作为文件管理系统,同时将解决闪存文件系统驱动层原始设备驱动模块的实现 和f a t l 6 文件系统搭建过程,其次,将针对嵌入式f l a s h 文件系统对垃圾收集操 作、系统闪存耗损平衡机制的要求提供更加合理的f l a s h 存储管理系统,达到更 优化的存储管理,提高存储效率和f l a s h 使用寿命。本设计就是在将uc o s i i 操 作系统移植到a r m 嵌入式开发平台时参考f a t l 6 为该系统扩展了一个功能更加 完善的文件系统,同时针对特定的存储平台从而使该操作系统功能更强大,也符 合实际嵌入式产品开发的需要。 1 5 1 硬盘f a t 的存储结构 一个f a t 文件系统所管理的存储介质上,除了和f a t 文件系统相关的存储结 构外,还有其他引导程序的结构,也即文件系统初始化的时候,首先进入的是一 段引导程序,然后才能有相应的文件系统来管理,这一点对于f a t l 6 也毫不例外。 本文件系统采用了f a t 结构,基于n a n df 1 a s h 的f a t 文件系统在存储介质 的结构根本上是从硬盘上的f a t 文件系统继承过来的,尽管有大量不一致的地 方,差异主要体现在对存储块的管理上。这里首先对硬盘f a t 的存储结构做简单 的介绍,然后再对基于n a n df l a s h 的本f f s 文件系统从理论原理和存储结构做 出详细说明。硬盘上的f a t 文件系统结构如图2 1 所示。 图2 1 一个4 分区的基本磁盘 s 两 避够 北京邮 电 大学硕 士论文 计算机在按下p o w e r 键以后,开始执行主板b 1 0 s 程序,进行完一系列检测 和配置以后,开始按b 1 0 s 中设定的系统引导顺序引导系统。假定现在是硬盘, b 1 0 s 执行完自己的程序后如何把执行权交给硬盘昵? 交给硬盘后又执行存储在 哪里的程序昵? 其实,称为惦r 的一段代码起着举足轻重的作用。m b r ( 陋s t e r b o o tr e c o r d ) ,即主引导记录,有时也称主引导扇区,位于整个硬盘的0 柱面o 磁 头l 扇区( 可以看作是硬盘的第一个扇区) ,b 1 0 s 在执行自己固有的程序以后就 会j u m p 到船r 中的第一条指令。将系统的控制权交由惦r 来执行。在总共5 1 2 b y t e 的主引导记录中,m b r 的引导程序占了其中的前4 4 6 个字节( 偏移0 h 偏移 l b d h ) ,随后的6 4 个字节( 偏移l b e h 偏移l f d h ) 为d p t ( d i s kp a r t i t i o nt a b l e , 硬盘分区表) ,最后的两个字节“5 5 从”( 偏移l f 阻偏移1 f f i ) 是分区有效的结 束标志。 m b r 不随操作系统的不同而不同,意即不同的操作系统可能会存在相同的 船r ,即使不同,鹏r 也不会夹带操作系统的性质。具有公共引导的特性。 存储卡的存储介质中不存在硬盘上的惦r ,在这里,对鹏r 不再具体分析。 操作系统为了便于用户对磁盘的管理,加入了磁盘分区的概念,即将一块磁盘逻 辑划分为几块。磁盘分区数目的多少只受限于c z 的英文字母的数目,d p t 中 的6 4 个字节中如何表示多个分区的属性呢? m i c r o s o f t 通过链接的方法解决了 这个问题。在d p t 共6 4 个字节中,以1 6 个字节为分区表项单位描述一个分区 的属性。也就是说,第一个分区表项描述一个分区的属性,一般为基本分区。第 二个分区表项描述除基本分区外的其余空间,一般而言,就是我们所说的扩展分 区。 d b r 区( d o sb 0 0 r rr e c o r d ) 即操作系统引导记录区的意思,通常占用分区的 第o 扇区共5 1 2 个字节( 特殊情况也要占用其它保留扇区,我们先说第o 扇区) 。 在这5 1 2 个字节中,其实又是由跳转指令,厂商标志和操作系统版本号, b p b ( b 1 0 sp a r 锄e t e rb 1 0 c k ) ,扩展b p b ,o s 引导程序,结束标志几部分组成。 由于本存储卡文件系统中具有d b r ,所以会在下面文件系统f f s 的实际d b r 为例 说明d b r 各字节的含义。 扩展分区中的每个逻辑驱动器都存在一个类似于m b r 的扩展引导记录。扩展 引导记录包括一个扩展分区表和该扇区的标签。扩展引导记录只包含扩展分区中 每个逻辑驱动器的第一个柱面的第一面的信息。一个逻辑驱动器中的引导扇区一 般位于相对扇区3 2 或6 3 。但是,如果磁盘中没有扩展分区,那么就不会有扩展 引导记录和逻辑驱动器。第一个逻辑驱动器的扩展分区表中的第一项指向它自身 的引导扇区,第二项指向下一个逻辑驱动器的扩展引导记录。如果不存在进一步 9 隅 艘澎 北京邮 电 大学硕士论文 的逻辑驱动器,第一项就不会使用,而目被记录成一系列零。如果有附加的逻辑 驱动器,那么第一个逻辑驱动器的扩展分区表的第一项会指向它本身的引导扇 区。第二个逻辑驱动器的扩展分区表的第二项指向下一个逻辑驱动器的扩展引导 记录。扩展分区表的第三项和第四项永远都不会被使用。 1 5 2f f s 文件系统存储结构 在实现f f s 文件系统的时候,存储结构采取了和硬盘类似的存储结构。明显 不同的是f f s 文件系统管理的f l a s h 存储介质中不需要主引导分区i l b r ,因为 f l a s h 存储介质中只有一个f a t 文件系统,可以直接跳到f a t 的引导扇区d b r , 即d o s 引导分区。本课题开发的嵌入式移动存储卡的文件系统只是用于系统内部 的文件管理,即使采用f a t 文件系统也可以不必按照标准的存储结构,引导扇区 d b r 。但是,考虑到要和p c 进行交互,p c 上格式化后存储、管理过的文件可以 被移动终端识别、使用,同样,被移动终端系统格式化后存储、管理的文件也必 须要被p c 所识别、使用,这样的话,必须采用标准的存储结构。引导扇区d b r 中的各个指令和参数必须按照微软推出的标准。表2 1 就是f f s 文件系统在 f l a s h 中采用的f a t 文件系统的引导扇区d b r 中各部分的位置、字节数划分。 表2 1f f s 引导扇区d b r 各部分的住置划分 字节位移字段长度字段名 o x 0 0 3 字节 跳转指令 0 x 0 38 字节 厂商标志0 s 版本号 0 x 0 b 5 3 字节 b p b 0 x 4 0 2 6 字节扩展b p b 0 x 5 a 4 2 0 字节引导程序代码 0 x l f e2 字节 有效的结束标志 引导扇区d b r 的前三个字节必须是合法的跳转指令,该指令负责跳过接下来 的几个不可执行的字节( b p b 和扩展b p b ) ,跳到操作系统引导代码部分。跳转指令 之后是8 字节长的o 陇i d ,它是一个字符串,o 雕i d 标识了格式化该分区的操 作系统的名称和版本号。为了保留与惦一d o s 的兼容性,通常w i n d o w s2 0 0 0 格式 化该盘是在f a t l 6 和f a t 3 2 磁盘上的该字段中记录了“m s d 0 s 5 0 ”,通常在被 w i n d o w s9 5 格式化的磁盘上o e mi d 字段出现”m s w i n 4 0 ”,在被w i n d o w s9 5o s r 2 和w i n d o w s9 8 格式化的磁盘上o e mi d 字段出现“m s w i n 4 1 ”。 接下来的从偏移o x o b 开始的是一段描述能够使可执行引导代码找到相关参 数的信息,通常称之为b p b ( b i o sp a r 锄e t e rb 1 0 c k ) ,b p b 一般开始于相同的位移 量,因此,标准的参数都处于一个已知的位置。磁盘容量和几何结构变量都被封 l o 一 北 京 邮 电大学硕 士论文 在b p b 之中。由于引导扇区的第一部分是一个跳转指令,因此,将来通过在b p b 末端附加新的信息,可以对b p b 进行扩展,只需要对该跳转指令作一个小的调整 就可以适应b p b 的变化。b p b 在整个f a t 文件系统中是个非常重要的概念,文件 系统初始化的时候最重要的事情就是读入b p b 部分的各个参数,n a n df 1 a s l h 的 扇区大小、簇大小、每个簇有多少个扇区、整个f 1 a s h 共有多少个簇等等参数, 都是整个文件系统的基石,没有这些参数文件系统便无法运作。表2 2 以f 1 a s h 上的f a t 分区为例对b p b 各部分的参数( 包括扩展b p b 部分) 作系统介绍。 表2 2b p b 及扩展b p b 的参数 字段名称及数值( 十六进制十进制)说明 b y t e p e r s e c t o r 0 x 0 2 0 05 1 2 每扇区字节树不同产品,不同容量的f l a s h 的值不同,一般为:5 1 2 ,1 0 2 4 ,2 0 4 8 和4 0 9 6 ,本 课题的实现为5 1 2 s e c t o r p e r c l u s t e ro x 0 11每簇扇区数,本字段的合法值为 1 ,2 ,4 。6 ,8 ,1 6 ,3 2 ,6 4 ,1 2 8 本课题的实现为l r e s e n r e d s e c t o r so x 0 0 0 l1保留扇区数,第一个f a t 开始之前的扇区数, 本课题的实现为l m o f f a t s 0 x o 0 0 2 2 f t 的数量,本分区上f a t 的副本数量一般 为2 s e c t o r s o n d r i v e r0 x f 3 e o6 2 4 3 2 存储介质上总的扇区数量( 小于6 5 5 3 6 个) ,大 于6 5 5 3 6 个此值为0 m e d i a d e s c r i p t o ro x f 8用来描述存储介质 s e c t o r s p e r f a to x 0 0 f 22 4 2 每一个f a t 占用的扇区数只有f a t l 2 1 6 使 用此字段,对于f a t 3 2 ,此字段必须为0 s e c t o r s p e r t r a co
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 乡村人才培养与技能提升计划
- 安全员资格证备考指南
- 如何提升群众演员的工作质量与效率
- 提升工作效率从优化超声-UT-中级工作计划开始
- 海洋观测员初级岗位职业目标设定与行动计划
- 联通面试成功秘诀
- 健身教练国家职业技能标准三级运动计划与指导
- 广东多地停课停学通知书
- 广丰一中停学通知书
- 广安光明巷停电通知书
- DB33T 2104-2018 建筑业企业技术中心评价规范
- 《教学查房电烧伤》课件
- 大模型原理与技术-课件 chap6 大模型微调
- 《期货入门培训》课件
- 2024-2025学年广东省深圳市部分学校八年级(上)期中地理试卷
- 颈肩腰腿疼中医治疗
- 肉鸡放养回收合同(2篇)
- 【7上英WY】合肥市庐阳中学2023-2024学年七年级上学期期中英语试卷
- 创新方法TRIZ理论课件第8章技术矛盾和矛盾矩阵-两份资料
- GB/T 4008-2024锰硅合金
- 在线网课知慧《美国史(东北师大)》单元测试考核答案
评论
0/150
提交评论