(计算机应用技术专业论文)基于nand+flash的嵌入式文件系统的设计与实现.pdf_第1页
(计算机应用技术专业论文)基于nand+flash的嵌入式文件系统的设计与实现.pdf_第2页
(计算机应用技术专业论文)基于nand+flash的嵌入式文件系统的设计与实现.pdf_第3页
(计算机应用技术专业论文)基于nand+flash的嵌入式文件系统的设计与实现.pdf_第4页
(计算机应用技术专业论文)基于nand+flash的嵌入式文件系统的设计与实现.pdf_第5页
已阅读5页,还剩61页未读 继续免费阅读

(计算机应用技术专业论文)基于nand+flash的嵌入式文件系统的设计与实现.pdf.pdf 免费下载

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

文档简介

摘要 随着信息技术的发展和数字产品的普及,嵌入式系统已经成为当今计算机技 术研究与应用的热点。n a n df l a s h 是嵌入式系统中主要使用的存储设备之一,以 往基于n a n df l a s h 的嵌入式文件系统专用性较强,对通用的桌面系统考虑不足, 这使得通用的桌面系统支持数字多媒体等产品的复杂性加大。 本课题设计并实现了一个基于n a n df l a s h 的嵌入式文件系统,它采用f a t 文件系统格式,非常好地实现了与通用桌面系统的兼容性。但是由于n a n df l a s h 的硬件特殊性,f a t 文件系统格式并不适合直接应用,需增加f l a s h 传输转换层来 均衡擦除带来的磨损,实现动态的地址映射。具体工作如下: ( 1 ) 研究了嵌入式文件系统的基本理论及发展现状,分析比较了目前各种流 行的文件系统格式;研究了闪速存储器的基本理论及技术分类,分析比较了目前 两大主流的闪速存储器技术。 ( 2 ) 深入研究了f a t 文件系统格式的原理,构建了逻辑文件系统层f a t 层的总体框架,分别从系统管理、目录管理和文件管理三方面设计结构和操作, 并充分考虑嵌入式系统资源有限的特点来配置缓存,实现了文件系统各种基本的 功能操作。 ( 3 ) 在f a t 层和n a n df l a s h 设备之间增加f l a s h 传输转换层f t l 层, 将n a n df l a s h 的逻辑空间依据磨损程度进行划分,设计多种记录更新数据的结构 和机制,实现了磨损均衡和逻辑到物理的地址转换。此外,还设计实现了n a n d f 1 a s h 设备的驱动程序。 本课题设计的基于n a n df l a s h 的嵌入式文件系统对兼容性和通用性有很大 的加强,具体的说:为用户提供一套标准的应用程序接口;组件化的设计不依赖 于特定的嵌入式操作系统;支持f a t 全系列的文件系统格式;支持多种类型的 n a n df 1 a s h 设备。另外,在提高系统性能方面,本课题还提出并实现了一种加速 文件定位的方法。 关键词:嵌入式文件系统;f a t ;f t l :n a n df l a s h ;磨损均衡 分类号:t p 3 6 8 1 a bs t r a c t w i t ht h ed e v e l o p m e n to fi n f o r m a t i o nt e c h n o l o g ya n dw i d eu s a g eo fd i g i t a l p r o d u c t s ,n o w a d a y se m b e d d e ds y s t e mb e c o m e sh o t s p o ti nc o m p u t e rt e c h n o l o g y r e s e a r c ha n da p p l i c a t i o n n a n df l a s hi so n eo fs t o r a g ed e v i c e sw h i c ha r ew i d e l yu s e d i ne m b e d d e df i e l d h o w e v e r , e m b e d d e df i l es y s t e mb a s e do nn a n df l a s hw a sa p p l i e d t os o m ep r o f e s s i o n a lf i e l d si nt h ep a s t ,w i t h o u tc o n s i d e r i n gm u c ho fd e s k t o ps y s t e m t h i sm a k e si tm o r ec o m p l e xt os u p p o r td i g i t a lp r o d u c t sf o rd e s k t o ps y s t e m i nt h i sp a p e r , a ne m b e d d e df i l es y s t e mb a s e do nn a n df l a s hi sd e s i g n e da n d i m p l e m e n t e d f a ti su s e dh e r et or e a l i z eg o o dc o m p a t i b i l i t yb e t w e e nt h en a n df l a s h e m b e d d e df i l es y s t e ma n dt h ed e s k t o ps y s t e m n e v e r t h e l e s s ,b e c a u s eo ft h ep h y s i c a l s t r u c t u r ei nn a n df l a s h ,w ec o u l dn o tu s ef a td i r e c t l yo nn a n df l a s h s of t li s u s e df o rw e a r - l e v e l i n ga n dd y n a m i ca d d r e s sm a p p i n g d e t a i l sa r ea sf o l l o w s : ( 1 ) b a s i ct h e o r ya n dd e v e l o p m e n ts t a t u si ne m b e d d e df i l es y s t e ma r er e s e a r c h e d a n dv a r i o u sf i l es y s t e mf o r m a t sa r ec o m p a r e d b a s i ct h e o r ya n dv a r i o u st e c h n o l o g i e si n f l a s hm e m o r ya r er e s e a r c h e da n dt w ok e yf l a s ht e c h n o l o g i e sa r ec o m p a r e d ( 2 ) a f t e rr e s e a r c h i n gf a tp r i n c i p l e ,w eb u i l df a tf r a m ea saw h o l e s t r u c t u r ea n d o p e r a t i o ni sd e s i g n e db a s e do ns y s t e mm a n a g e m e n t ,d i r e c t o r ym a n a g e m e n ta n df i l e m a n a g e m e n t w ea l s oa l l o c a t ec a c h ea c c o r d i n gt oe m b e d d e ds y s t e mr e s o u r c e f i n a l l y w ei m p l e m e n ta l lk i n d so fc o m m o nf u n c t i o n si ne m b e d d e df i l es y s t e m ( 3 ) f t li sa d d e db e t w e e nf a ta n dn a n df l a s h f t ld i v i d en a n d f l a s h s1 0 i g i c s p a c ea c c o r d i n g t ow e a rv a l u ea n dd e s i g nm u l t i p l es t r u c t u r e sa n dm e c h a n i s m st or e c o r d u p d a t i n gd a t a f t li m p l e m e n tw e a r - l e v e l i n ga n da d d r e s st r a n s i t i o n i na d d i t i o n ,a n a n df l a s hd r i v e ri sa l s od e s i g n e d t h i se m b e d d e df i l es y s t e mb a s e do nn a n df l a s he n h a n c e sb o t ht h es y s t e m c o m p a t i b i l i t ya n du n i v e r s a l i t y :p r o v i d eas u i to fs t a n d a r da p i ,d e s i g nb a s e do n g r o u p w a r ei n d e p e n d e n to fe m b e d d e do p e r a t i n gs y s t e m ,s u p p o r ta l ls e r i e so ff a ta n d s u p p o r tm a n yk i n d so fn a n df l a s hd e v i c e i na d d i t i o n ,af a s tf i l es e e km e t h o di sp u t f o r w a r da n di m p l e m e n t e df o re n h a n c i n gt h es y s t e mp e r f o r m a n c ei nt h i sp a p e r k e y w o r d s :e m b e d d e df i l es y s t e m ;f a t ;f t l ;n a n df l a s h ;w e a r - l e v e l i n g c l a s s n o :t p 3 6 8 1 学位论文版权使用授权书 本学位论文作者完全了解北京交通大学有关保留、使用学位论文的规定。特 授权北京交通大学可以将学位论文的全部或部分内容编入有关数据库进行检索, 并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校向国 家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名王彼导师签名: 签字日期:2 幻9 年6n 万日签字日期:砷妒邹月厂日 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的研 究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表或 撰写过的研究成果,也不包含为获得北京交通大学或其他教育机构的学位或证书 而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作 了明确的说明并表示了谢意。 学位论文作者签名:王名芝签字日期:2 p d 8 年衫月5 - 日 6 2 致谢 两年的研究生生活转瞬即逝,回忆过去的点点滴滴,一种难以割舍的情愫油 然而生。 衷心的感谢我的导师须德教授,本论文的工作是在他的悉心指导下完成的。 须德教授谦逊的品德、严谨的治学态度和科学的工作方法使我受益匪浅。 衷心的感谢我的项目经理高占东,从论文的选题、方案设计到论文的完成, 他都给了我有益的启迪和悉心的指导。 衷心的感谢项目组成员蒋长宏、黄磊、陈敬恩、杨亮、夏凯、朱萌、张静, 在整个毕业设计期间,他们一直给我无私的帮助。 最后要感谢我的父母,他们多年来给我的关怀和鼓励,让我能在人生的道路 上一直勇敢向前,追逐梦想! 1 1 研究背景 1 引言 随着信息技术的发展和数字产品的普及,嵌入式系统渗透到人们工作、生活 的各个方面,广泛应用于网络、手持通信设备、国防军事、消费电子和工制仿真 等各个领域,已经成为2 1 世纪计算机应用的热点之一。从八十年代起,一些国际 i t 组织和公司就开始进行商用嵌入式系统的研发,这其中涌现了一些著名的嵌入 式系统,m i c r o s o f t 公司的w i n d o w sc e 和w i n d r i v e r s y s t e m 公司的v x w o r k s 就分 别是非实时和实时嵌入式操作系统的代表。 f l a s h 存储器主要应用于智能电话、数码相机、p d a 、数字录音机、m p 3 播放 器、手机、电动玩具等相关领域。在人们不断追逐更高品质生活的过程中,f l a s h 存储器的容量和其它性能呈现飞速提升的趋势。f l a s h 存储器是一种基于半导体的 存储器,它功耗低、容量大、访问速度高、无机械故障、数据非易失、并且不需 要特殊的高电压即可电擦除和重复编程,是一种替代e e p r o m 存储介质和小型硬 盘的新型存储器。现在市场上主要的闪存底层技术有n o r 和n a n d 两种。n o r f l a s h 较早为业界采用,但其成本较高而且写入速度较慢,仅在注重执行速度或少 量数据储存的地方使用。n a n df l a s h 结构强调降低每比特的成本以及更高的性能, 是高密度数据存储的理想解决方案,被大量应用于移动存储设备、移动媒体设备 和嵌入式设备中。 1 2 研究意义 随着嵌入式系统越来越广泛的应用以及数字信号处理与人机交互界面等相关 技术的不断成熟,嵌入式多媒体应用数量逐渐上升,需要构建文件系统对不断增 加的数据组织和管理。f l a s h 存储器容量大、体积小等一系列优点,使之成为嵌入 式系统存储设备的主流。由于n o rf l a s h 更适用于代码存储的场合,而n a n df l a s h 读写速度快,容量大更适合存储数据,所以研究n a n df l a s h 上的嵌入式文件系统 更有意义。 国外有很多先进的商用嵌入式文件系统组件,但是源代码和核心技术不公开 且价格昂贵,而我国这一领域相对比较落后,也没有统一的标准。所以对嵌入式 文件系统的研究,并开发我们自己的产品有很重要的现实意义。当今有很多流行 的文件系统格式,甚至还有专门为n a n df i s h 设计的文件系统,但是它们都不能 与w i n d o w s 很好的兼容。之所以强调与w i n d o w s 的兼容性,是因为移动多媒体设 备的需求越来越占据嵌入式应用的重要地位,如数码相机、m p 3 m p 4 播放器、手 机等。为了与w i n d o w s 达到很好的兼容性,f a t 成为众多文件系统格式的首选。 但是n a n df l a s h 存在着两个主要缺陷:一是在重写之前必须进行块擦除,二 是擦除次数有限。而f a t 文件系统本身的系统信息集中存放,频繁的对相应的区 域进行擦除操作,很容易达到擦除次数上限,导致整个n a n df l a s h 无法使用。因 此,需要充分考虑n a n df l a s h 的硬件特性,重新设计以f a t 文件系统格式为基 础的嵌入式文件系统,实现系统数据的有效组织和管理以及n a n df l a s h 性能的最 大发挥。 1 3 研究内容 本文研究了嵌入式文件系统与闪速存储器的相关理论和技术,设计并实现了 一个基于n a n df l a s h 的嵌入式文件系统。设计的总体框架如图1 1 所示。 为了简化说明,下文中提到的嵌入式文件系统均指基于n a n df l a s h 的嵌入式 文件系统。 l用户程序 jl 7 、 f a t 弋夕 f t l i 之乡 l n a n df i a s h 设备 图1 1 基于n a n dm a s h 的嵌入式文件系统的总体框架 f i b r ei 1b e f m m eo f 锄b e d d e df i l es y s t e mb a s e do nn a n df l a s ha saw h o l e 嵌入式文件系统包括f a t 层和f t l 层,向上为用户提供标准的应用程序接口 ( a p i ) ,向下直接对n a n df l a s h 硬件设备进行控制。 f a t 层基于f a t 文件系统格式,核心是用簇链记录文件,主要包括系统操作、 目录操作和文件操作,实现了数据有效的组织和管理。 f t l 层的核心是动态映射,主要包括f a t 接口、读写机制、地址转换、坏块 处理、磨损均衡和物理驱动,实现了逻辑地址到物理地址的转换和底层驱动,较 好的实现了磨损均衡,延长了n a n df l a s h 的使用寿命。 2 1 4 组织结构 本文详细介绍了基于n a n df l a s h 的嵌入式文件系统的设计与实现细节,在组 织上分为七章,各章具体内容如下: 第一章课题的研究背景、研究意义、研究内容及组织结构。 第二章介绍了嵌入式文件系统的基本理论,研究了当前流行的嵌入式文件系 统及逻辑文件系统格式,并分析比较了各种文件系统格式。 第三章介绍了闪速存储器的基本理论和技术分类,并分析比较了n o r 和 n a n d 两种主流的闪存技术。 第四章详细阐述了f a t 层的设计与实现细节,先介绍总体框架,然后分模块 阐述,最后介绍f a t 层的启动与调用以及一种加速文件定位的方法。 第五章详细阐述了f t l 层的设计与实现细节,先介绍总体框架,然后分模块 阐述,最后介绍f t l 层的启动与调用。 第六章介绍了此嵌入式文件系统的测试平台及测试细节。 第七章总结全文。 3 2 1 文件系统概述 2 嵌入式文件系统 文件的含义有狭义和广义之分。狭义地说,文件是有组织有次序地存储于介 质( 包括内存) 的一组信息。广义地说,外部设备也是文件,凡是可以产生或消 耗信息的都是文件。 文件系统是一种系统软件,简单来说,它是操作系统为了存储和管理数据, 而在存储器上建立的一些结构的总和。在文件系统与操作系统的关系上,有些文 件系统位于操作系统内核,有些作为操作系统的一个服务组件。 “文件系统”在不同的环境中有不同的含义l l 】: ( 1 ) 指一种特定的文件格式。例如,l i n u x 的e x t 2 ,e x t 3 文件系统,d o s 的 f a t 文件系统,w i n d o w sn t 的n t f s 。 ( 2 ) 按指定格式进行了格式化的一块存储介质。常说的“安装 或“拆卸” 一个文件系统就是这个意思。 ( 3 ) 指操作系统中( 通常在内核中) 用来管理文件系统以及对文件进行操作 的机制及其实现。 从系统角度来看,文件系统是对文件存储器的存储空间进行组织、分配和回 收,负责文件的存储、检索、共享和保护。 从用户角度来看,文件系统主要是实现“按名取存”。当用户要求保存己命名 的文件时,文件系统根据拟定的格式把文件存放到存储器适当的地方;当用户要 使用文件时,系统根据给出的文件名,从文件存储器中找到所要的文件或文件中 某个记录。 具体来说,文件系统必须提供创建文件、删除文件、读文件、写文件等功能 的系统调用为文件操作服务。文件的存放通过目录完成,所以对目录的操作就成 了文件系统功能的一部分。而目录本身也是一种文件,也有相应的创建目录、删 除目录和层次结构组织系统调用。 2 2 嵌入式文件系统概述 在嵌入式系统中,任务运行时在其任务堆栈中存放少量信息,但是由于内存 空问有限,又不适于长期保存,而且一些公共信息需要独立于具体的任务而存在。 所以需要将这些信息存储到存储器上,建立文件系统来组织和管理。嵌入式文件 4 系统是指嵌入式系统中实现文件存取和管理等功能的模块,它提供一系列文件输 入输出的管理功能,为嵌入式系统和设备提供文件系统支持。 嵌入式文件系统以通用桌面操作系统的文件系统为基础发展而来,但两种文 件系统的应用环境和自身的要求有很大的不同: ( 1 ) 通用桌面文件系统不仅要管理文件,还要管理各种设备,支持对设备和 文件操作的一致性;由于大部分嵌入式系统都是针对特殊目的定制的,嵌入式文 件系统功能的模块化和可裁减性要满足更高的要求。 ( 2 ) 通用桌面文件系统对于可靠性和文件系统自身的安全性并没有特殊的保 障机制;嵌入式系统的应用条件往往比桌面计算机恶劣的多,系统的稳定性、安 全性要得到足够的保障。 所以,虽然有许多已经较为成熟的桌面文件系统,但这些文件系统都不能直 接适用于嵌入式系统。要想适用于嵌入式系统,在借鉴成熟的桌面文件系统基础 上,还要根据具体的硬件环境以及应用需求来设计嵌入式文件系统的体系结构和 实现方法。 对于设计的嵌入式文件系统的目标及功能,可以从以下几方面考虑和实现 z j : ( 1 ) 目录管理。把符号文件名转换成标识符,用标识符通过文件索引表访问 文件,提供文件目录的用户操作。 ( 2 ) 逻辑文件系统。处理文件的逻辑结构以及用户指定的操作,提供文件的 访问权限控制功能。 ( 3 ) 物理组织。将对文件的逻辑访问转换成物理地址,管理文件存放的外存 空间。 ( 4 ) 硬件驱动。实现对外部储存器件的操作,如f l a s h 驱动程序。 ( 5 ) 组件化。文件系统作为嵌入式系统的一个可加载组件提供给用户,由用 户决定是否需要加载它。 ( 6 ) 代码量小。嵌入式系统中的文件存储器空间相对不会太大,必须对其进 行高效的管理,以避免对资源的浪费。 ( 7 ) 安全可靠。对文件及数据有保护措施,要求系统必须有较高的可靠性。 ( 8 ) 可移植。嵌入式应用的领域相当广泛,其采用的硬件环境和操作系统也 各不相同,文件系统应降低对具体硬件环境和操作系统的依赖,具备良好的可移 植性。 2 3 流行的嵌入式文件系统 当前流行的嵌入式操作系统中,多数均具有可根据应用需求而进行定制的文 5 件系统组件,下面介绍几个流行的嵌入式操作系统的文件系统组件【3 】。 v x w o r k s 的文件系统组件 v x w o r k s 是使用最广泛的嵌入式操作系统,由w i n d r i v e r 公司设计开发,它 以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高 精尖技术及实时性要求极高的领域中。v x w o r k s 提供的文件系统组件快速文 件系统( f f s ) 不仅支持s c s i 磁带设备的本地文件系统,同时支持面向块设备( 如 i d e 磁盘) 的文件系纠4 1 ,非常适合于实时应用。v x w o r k s 借鉴了u n i x 设计中“设 备即文件”的重要思想【5 】,将外部设备作为一个特殊的数据文件进行处理,使得普 通数据文件和外部设备在用户面前有相同语法定义,使用相同的保护机制,便于 系统管理和应用设计。f f s 支持四种逻辑文件系统格式:f a t 、t r l l f s 、r a w f s 、 t a p e f s ,并使用一个标准的接口从而能够被灵活的在设备驱动程序上移植。 q n x 的文件系统组件 q n x 被称为x 8 6 平台上最好的嵌入式操作系统,由q n x 软件系统公司设计 开发,它提供包括各种文件系统和设备管理在内的多种资源管理器,文件系统可 选择并支持多个文件系统同时运行。q n x 提供完全的p o s i x 1 以及u n i x 语法的 p o s i x 文件系统,支持多种闪存设备,支持对多种文件服务器透明访问的s m b 文 件系统、d o s 文件系统、c d r o m 文件系统等。它实现了一个磁盘结构,用位图 分配空闲空间,用延伸块的链接列表来组织磁盘上的数据。设备驱动程序动态的 挂接在文件系统上,在文件系统不再使用的情况下,文件系统和它的设备驱动程 序可以从内存中除爿6 。 p s o s 的文件系统组件 p s o s 是世界上最早的实时系统之一,由i n t e g r a t e ds y s t e m si n c o r p o r a t e d 公司 设计开发,是一个由标准软组件组成的可剪裁的实时操作系统,在目前机顶盒中 应用较为普遍。p s o s 的文件系统组件称为p h i l e ,它提供文件设备和块存储设备 的管理。p s o s 通过p h i l e 访问不同的存储设备,包括本地设备和块设备,支持 c d r o m 设备、f a t 兼容的文件系统和p s o s 特有的快速文件系统【7 】。 l ac l i n u x 的文件系统组件 l ac l i n u x 是目前嵌入式l i n u x 中最流行的一种,它继承了l i n u x 完善的文件系 统性能,采用的文件系统是r o m f s 。r o m f s 相对于标准l i n u x 采用的e x t 2 文件系统 要求更少的空间,主要体现在:内核支持r o m f s 文件系统需要的代码更少;r o m f s 相对简单,在建立文件系统超级块时需要的存储空间较小。但是r o m f f 文件系统 不支持动态擦写保存。 h o p e n 的文件系统组件 h o p e n 操作系统是我国具有自主知识产权的嵌入式操作系统,由北京凯思软件 6 集团开发,是一种运行在1 6 3 2 位微处理器上的实时多任务嵌入式操作系统。h o p e n 文件系统主要针对嵌入式系统而设计,目前可支持r o m 、r a m 、设备、f l a s h 和 f a t l 6 文件系统。h o p e n 文件系统采用了统一的面向对象接口,因此具有很好的 可读性、可维护性和可扩展性1 8 j 。 这些嵌入式文件系统主要用于商用,代表了这个领域的先进技术。但是由于 商业机密的限制,源代码和核心技术不公开,购买和维护费用昂贵,加之嵌入式 系统的专用性,无法形成统一的标准。 2 4 流行的文件系统格式及比较 嵌入式文件系统的设计借鉴于成熟的通用桌面文件系统,因此,下面对当前 比较流行的文件系统的格式做一下简单的介纠引。 f a t f a t ( f i l ea l l o c a t i o nt a b l e ) 即文件分配表,它反映磁盘空间当前的使用情况, 是整个文件系统的核心。文件在磁盘的分布情况,是以簇链的方式记录在f a t 表 中。每个文件都有自己的存储簇,可以是连续的也可以是不连续的,通过f a t 表 来实现其完整性。f a t 表项的序号与文件所使用的簇号有一一对应的关系。 f a t l 2 采用了1 2 位文件分配表,并因此而得名,而以后的f a t 系统都按照这 样的方式命名。f a t l 2 可以管理4 0 9 6 个簇,每个簇大小2 k 。现在这个文件系统还 用在软盘驱动器上,f a t l 2 可以管理的磁盘容量是8 m 。 f a t l 6 采用1 6 位字长的文件分配表,其他地方和f a t l 2 都非常相似。f a t l 6 可以管理6 5 5 3 6 个簇,随着硬盘空间的发展推动文件系统的发展,簇的大小也变 大,f a t l6 现在可以管理的磁盘容量是2 g 。 f a t 3 2 文件系统是f a t 系列文件系统的最后一个产品,采用3 2 位的文件分配 表,磁盘的管理能力大大增强,突破了f a t l 6 文件系统2 g b 分区容量的限制,大 大减少了磁盘空间的浪费,提高了磁盘的利用率。但是,由于文件分配表的扩大, f a t 3 2 运行速度比f a t l 6 格式要慢,单个文件不能大于4 g ,不能保持向下兼容且 当分区小于5 1 2 m 时,f a t 3 2 没有任何优势。 n t f s n t f s 是w i n d o w sn t 的标准文件系统,同时应用于w i n d o w s2 0 0 0 x p 。它与 旧的f a t 文件系统主要区别在于n t f s 支持元数据,并且可以利用先进的数据结 构提供更好的性能、稳定性和磁盘的利用率。n t f s 的核心是主文件表( m f t ) , m f t 被组织为一个行数可变的表,每一行描述了该卷中的一个文件或文件夹。 n t f s 的优点是安全性和稳定性极其出色,在使用中不易产生文件碎片。n t f s 7 支持文件加密管理功能,对用户权限作出了非常严格的限制:同时还提供容错结 构日志,将用户的操作全部记录下来,系统能利用同志文件重做或恢复未成功的 操作。对于超过4 g b 以上的硬盘,使用n t f s 分区,可以减少磁盘碎片的数量, 大大提高硬盘的利用率。n t f s 5 0 版本还支持动态的分区,不用退出系统、格式 化或重新启动,就可以在线的改变分区的大小。 n t f s 中簇的大小并不依赖于磁盘或者分区的大小,分区格式对f a t 系列也不 兼容。而且n t f s 会因系统文件带来较大的空间开销,通常在1 0 0 m b 分区上至少 用掉4 m b 的驱动器空间。因此,n t f s 格式并不适用于文件存储器空间相对不大 的嵌入式文件系统,不利于高效管理文件的存储窄间【l 。 e x t 2 和e x t 3 e x t 2 和e x t 3 是l i n u x 系统中标准的文件系统,也是迄今为止最为成功的文件 系统。其特点为存取文件的性能极好,对于中小型的文件更显示出优势。 e x t 2 文件系统专门为l i n u x 设计,拥有较快的速度和较小的c p u 占有率,其 设计功能强大、且易于向下兼容,所以新版的文件系统代码无需重做已有的文件 系统。e x t 2 的核心是两个内部数据结构,即超块( s u p e r b l o c k ) 和索引节点( i n o d e ) 。 超块是一个包含文件系统重要信息的表格,它是对文件系统基础性、全局性的描 述。索引节点是基本的文件级数据结构,文件系统中的每一个文件都可以在其中 一个索引节点找到其描述,文件系统中所有的索引节点保存在索引节点表中。 e x t 3 是e x t 2 文件系统加上同志支持的下一代版本,和e x t 2 文件系统在硬盘布 局上是一样的,差别仅仅是e x t 3 在硬盘上多了一个记录文件系统r 志的i n o d e 。这 一结构可以详细纪录资料写入动作的每个细节,若某个过程中系统发生中断,根 据这些记录可以直接回朔并重整被中断的部分,而且不需花时间去检查。 由于e x t 2 和e x t 3 适用于l i n u x 操作系统,对广泛使用的w i n d o w s 系统支持 不够,通用性不强。 t r u e f f s t r u e f f s 是m s y s t e m s 公司独有的专利技术,最初是为v x w o r k s 操作系统定 制的,但现在最新版本的t r u e f f s 几乎对所有的操作系统都能很好的支持。它为 种类繁多的f l a s h 存储设备提供了统一的块设备接口,并支持大多数流行的c p u 架构,一定程度上克服了同志结构对兼容性带来的不良影响l 。 t r u e f f s 由一个核心层和三个功能层组成,功能层包括翻译层、m t d 层和 s o c k e t 层。翻译层主要实现t r u e f f s 和上层操作系统之问的交互,管理存储器中 各物理区块及各种智能化的处理。m t d 层实现对f l a s h 存储器进行读写、擦除及 i d 识别等,并设置与存储器相关的一些参数。s o c k e t 层提供t r u e f f s 和硬件之间 的交互,负责电源管理、检测设备插拔、硬件写保护、窗口管理和向系统注册等。 j f f s 和j f f s 2 j f f s 文件系统是瑞典的a x i sc o m m u n i c a t i o n s 公司g n ug e n e r a lp u b l i cl i c e n s e 下发布的自由软件,主要用于嵌入式l i n u x ,同时支持n o rf l a s h 和n a n df l a s h , 并且代码开源i i2 。 j f f s 是直接在f l a s h 设备上实现的文件系统,它针对f l a s h 的特性在文件系统 中做了很多修改。j f f s 是日志结构的文件系统,在f l a s h 的存储空间中,文件节 点链接信息和数据都依次存放于其中。j f f s 中只有一种文件节点j f f s,_ r a w i n o d e 每个这样的节点都关联到某个文件上,其中包含了一个简单的头部信息、辅助信 息以及存储的数据。删除文件的时候,采用的方法是在辅助信息存放的地方设置 一个删除标记。更新文件的时候,新的文件所存放的节点会添加到所有已经使用 的存储空间的末尾,旧的文件数据会被废弃,等待回收空间时重新分配利用i l 引。 j f f s 2 是参考j f f s 设计的,也是针对f l a s h 存储器直接在f l a s h 设备上实现文 件系统,并对f l a s h 进行管理。j f f s 2 的底层驱动主要完成文件系统对f l a s h 芯片 的访问控制,如读、写、擦除操作【l 4 1 。 在j f f s 2 中,f l a s h 被分成一个个擦写块。j f f s 维护了几个链表来管理擦写块, 根据擦写块上内容的不同情况,擦写块会在不同的链表上。回收废弃的块时,以 不同的概率对各个链表上的块进行选择。用概率的方法很难保证磨损均衡的确定 性。在某些情况下,可能造成对擦写块不必要的擦写操作;在某些情况下,又会 引起对磨损均衡调整的不及时。 y a f f s y a f f s 是一种和j f f s 非常类似的f l a s h 文件系统,它是目前唯一专门针对 n a n df l a s h 设计的文件系统。和j f f s 相比,它裁减了一些功能,所以速度更快, 对内存的占用更小;此外,y a f f s 自带n a n df l a s h 驱动,为直接访问文件提供 了a p i 接口,用户可以不使用操作系统接口中的m t d ,直接对文件进行操作。 虽然y a f f s 跟j f f s 都提供对n a n df l a s h 的支持,但是作为一个专门针对 n a n df l a s h 设计的文件系统,它与j f f s 的区别主要有1 15 j : ( 1 ) j f f s 是一种同志结构的文件系统,通过日志机制保证文件系统的稳定性; y a f f s 仅仅借鉴了同志系统的思想,不提供日志机能,所以稳定性比不上j f f s , 但是占用资源较少。 ( 2 ) j f f s 支持r a m 内存、n o rf l a s h 、n a n df l a s h 等多种存储器:签片,但 是对n a n df l a s h 的处理能力上还有些不足;y a f f s 是n a n df l a s h 专用的文件系 统,在对n a n df l a s h 的支持上性能更加出色。 ( 3 ) j f f s 使用链表来管理需要回收的区块,使用系统时间生成伪随机变量来 决定哪个块要收回;y a f f s 是从头到尾对块进行搜索【l6 1 ,碎片回收比j f f s 的速度 9 快,但磨损均衡j f f s 要更加出色。 ( 4 ) j f f s 文件系统在加载时需要扫描整个n a n df l a s h 查找同志文件节点, 扫描时间比较长;y a f f s 中不需要读取全部文件节点的信息,只在读取某个文件 的时候,找文件对应的i d 号即可。 ( 5 ) j f f s 支持文件压缩,适合存储容量较小的系统;y a f f s 不支持压缩, 更适合存储容量大的系纠 】。 y a f f s 在更新一个页的时候总是在一个新的物理页上写入数据,再将原先的 物理页删除,所以在断电等特殊情况下,当新的页已经写入但老的页还没有被删 除的时候用来识别j 下确的页,保证了数据的完整性。y a f f s 按顺序分配当前块中 的页,当该块中所有的页都用光后,另外一个干净的块将会被选择分配。y a f f s 的磨损均衡是块分配策略的副产品,数据总是被写在下一个空闲块中,所有的块 都是被平等对待的。但是包含那些永久数据的块却不会再回收到空闲块中,所以 磨损均衡也仅仅指那些已经空闲或者有可能变空闲的块。对整个器件来说,系统 并没有合适的搬移策略对固定文件进行搬移,整个器件做不到均匀磨耗损。 各种文件格式的比较 n t f s 格式空间开销大,对f a t 系列也不兼容,并不适用于文件存储器空间相 对不大的嵌入式文件系统;t m e f f s 是m s y s t e m s 公司专有技术,主要用作商业用 途,使用代价高并且兼容性弱于通用文件系统,难以普及;e x t 2 、e x t 3 和j f f s 主 要应用于l i n u x 系统,对w i n d o w s 产品的支持不够;y a f f s 虽然是专门针对n a n d f l a s h 的文件系统,但其也是主要针对l i n u x 系统,并且还处于成长阶段,运行不 太稳定。所以为了对w i n d o w s 通用桌面系统有良好的支持和兼容,我们采用了f a t 文件系统格式,并对f a t 文件系统格式进行了必要的改进。 l o 3 1 闪速存储器概述 3 闪速存储器 闪速存储器( f l a s hm e m o r y ) 是一类非易失性存储器n v m 1 9 1 ( n o n v o l a t i l e m e m o r y ) ,俗称闪存,以下简称f l a s h 。由于f l a s h 具有制造成本低廉、存储容量 大、体积小、功耗低、数据非易失、无机械故障等优点,因此成为嵌入式系统主 要的存储设备。 f l a s h 特点具体如下: ( 1 ) 非易失性,在供电电源关闭的条件下也能长久地保存片内数据。 ( 2 ) 随机读取,可以从任意地址读入且读取速度与地址无关。 ( 3 ) 集成密度高,f l a s h 容量比r o m 大。 ( 4 ) 可靠性高,最高一百万次以上的可靠写入【2 0 1 。 ( 5 ) 存储速度快,是普通软驱传输速度的2 0 倍以上。 ( 6 ) 写入和擦除容易,不需要特殊的电压条件,一般e e p r o m 需要较高电 压,e p r o m 需要紫外线照射擦除。 ( 7 ) 不能写重入,对于空白、已经擦除的内容可以按照一定规则写入,但已 经写入则不能重复写入,需要先进行块擦除i z 。 最后一点说明了f l a s h 是一种数据j 下确性非理想的器件,由于写之前的频繁擦 除,应用中可能会出现坏损数据单元,为嵌入式系统进行数据存储管理增添了新 的难度。 3 2 闪速存储器技术分类 n o r 技术 n o r 技术是最早出现的闪速存储器技术,也称为l i n e a r 技术,由i n t e i 于1 9 8 8 年首先开发,目前仍是多数供应商支持的技术架构。n o r 技术源于传统的e p r o m 器件,与其它f l a s h 技术相比,具有可靠性高、随机读取速度快的优势,在擦除和 编程操作较少而直接执行代码的场合广泛使用,所以基于n o r 技术的f l a s h 也称 为c o d ef l a s h ,如p c 的b i o s 固件、移动电话、硬盘驱动器的控制存储器等。n o r f l a s h 的特点是:程序和数据可存放在同一芯片上,拥有独立的数据总线和地址总 线,能快速随机读取,允许系统直接从f l a s h 中读取代码执行【2 2 1 ,而无需先将代码 下载至r a m 中再执行;可以单字节或单字编程,在对存储器进行重新编程之前, 需要对块或整片进行预编程和擦除操作。 d i n o r 技术 d i n o r 技术是m i t s u b i s h i 与h i t a c h i 公司发展的专利技术,从一定程度上改善 了n o r 技术在写性能上的不足。d i n o r 技术按字节随机编程的速度略低于n o r , 而块擦除速度快于n o r ,在执行擦除操作时无需对页进行预编程,且编程操作所 需电压低于擦除操作所需电压,这与n o r 技术相反。 n a n d 技术 n a n d 技术由东芝公司1 9 8 9 年发出,它提供极高的单元密度,可以进行高密 度存储,且写入和擦除的速度非常快。n a n d 技术强调更低的成本,更高的性能, 并且像磁盘一样可以通过接口轻松升级。由于其存储密度高,单位容量的n a n d f l a s h 比n o rf l a s h 要便宜很多,基于n a n d 技术的f l a s h 也被称为d a t af l a s h , 经常作为数码设备的数据存储介质【2 3 1 ,并正成为闪速磁盘技术的核心。n a n df l a s h 的特点是【2 4 】:读和写按页操作,擦除按块操作,具有快编程和快擦除的功能;数 据和地址采用同一总线,实现串行读取,随机读取速度慢且不能按字节随机编程; 芯片尺寸小,引脚少,是位成本最低的固态存储器;出厂时有一定比例的坏块, 它不影响有效块的性能,但需要将其在地址映射表中屏蔽起来。 u l t r a n a n d 技术 u l t r a n a n d 技术也称之为先进的n a n d 闪速存储器技术,由a m d 与f u j i s t u 共同推出。u l t r a n a n d 技术与n a n d 技术兼容,拥有比n a n d 技术更高等级的 可靠性;可用来存储代码,从而首次在代码存储的应用巾体现出n a n d 技术的成 本优势;它没有失效块,因此不用系统级的查错和校正功能,能更有效地利用存 储器容量。与d i n o r 技术一样,尽管u l t r a n a n d 技术具有优势,但在当前的市 场上仍以n a n d 技术为主流。 a n d 技术 a n d 技术是h i t a c h i 公司的专利技术,h i t a c h i 和m i t s u b i s h i 共同支持a n d 技 术的f l a s h 存储器。a n d 技术与n a n d 一样采用“大多数完好的存储器概念, 且不像其他采用m l c 技术那样写入性能严重下降,芯片尺寸小,引脚少,存储容 量大,位成本低f 2 5 1 。h i t a c h i 公司用该:芯片制造12 8 m b 的m u l t i m e d i a 卡和2 m b 的 p c a t a 卡

温馨提示

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

评论

0/150

提交评论