




已阅读5页,还剩74页未读, 继续免费阅读
(计算机应用技术专业论文)基于nand+flash的嵌入式文件系统的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 传统的嵌入式系统主要应用于控制领域,对数据存储的要求并不高,因此在 嵌入式系统中文件系统并没有受到足够的重视。但随着嵌入式技术在航空电子、 汽车电子和消费电子等领域应用的不断拓展,嵌入式系统对数据存储和数据管理 的要求越来越高,所以嵌入式文件系统应运而生。 嵌入式系统有其自身的特点,要求嵌入式设备必须体积小、功耗低、防震等。 显然像磁盘这样的传统存储介质并不具备这些特点,不适合在嵌入式系统中存储 数据。f l a l s h 存储器具有成本低廉、存储容量大、体积小、功耗低等特性,与磁盘 相比,更适宜在嵌入式系统中存储数据,已经成为嵌入式系统中最主要的数据存 储介质。 近年来,针对f 1 a s h 存储器的嵌入式文件系统不断涌现,主要分为三类:基于 块设备的嵌入式文件系统、通用的嵌入式f l a s h 文件系统、专用的嵌入式f l a s h 文 件系统。第一类嵌入式文件系统实际上就是基于磁盘的块设备文件系统向f l a s h 存 储器的移植;第二类嵌入式文件系统摒弃了移植的思想,是专门针对f l a s h 存储器 设计的通用文件系统,既可以在n o rf 1 a s h 上运行,又可以在n a n df l a s h 上运行; 最后一类文件系统是专门针对特定类型的f 1 a s h 而设计的,实际上是针对n a 套d f l a s h 设计的文件系统。这三类文件系统代表了嵌入式文件系统发展的三个阶段, 虽然每个阶段都较前一个阶段有了巨大的进步,但是基于n a 卜df l a s h 的嵌入式文 件系统仍存在诸多不足:启动时间过长,消耗内存过多,实时性不高等,而专门 针对n a n df l a l s h 的文件系统对磨损平衡的考虑也不充分。 针对n a n df 1 a s h 文件系统的不足,本文提出了改进的方法。在现有的n a n d f l a s h 文件系统中,一个f l a s h 擦除块同时保存了文件的属性信息和数据信息,启 动时要逐块扫描。本文改变了这种文件信息的管理方式,将文件的属性信息和数 据信息分别存储于不同的擦除块,启动时只扫描属性块,进而减少文件系统的启 动加载时间;现有的n a n df l a s h 文件系统在运行的过程中将所有的文件系统控制 信息均存储在内存中,导致内存的大量消耗,本文利用程序的局部性原理,只将 最近访问的文件信息存储在内存中,降低文件系统对内存的消耗;现有的n a n d f l a s h 文件系统并没有考虑f 1 a s h 各擦除块间的磨损平衡,本文通过将空闲块分类 管理,将系统中的冷热数据交替存储于不同类型的擦除块上,实现各擦除块间的 摘要 磨损平衡。 根据以上方法,基于已有的y a f f s 文件系统,本文实现了一个新的文件系统 s f f s 。测试结果表明,s f f s 在启动时间、内存消耗和磨损平衡三方面的性能上都 较y a f f s 有不同程度的提高。 关键词:嵌入式文件系统,n a n df l a s h ,磨损平衡,垃圾回收 a b s t m c t a b s t r a c t t r o d a t i o n a le m b e d d e ds y s t e mi sm a i l d y 印p l i e di 1 1i n d u s 仃yc o n 仃0 la r e aw k c h d o e s n tr e q u e s tt 0s t o r eal o td a t 如s o6 1 es y s t e mi sn o tan e c e s s a r yc o m p o n e n ti n 锄b e d d e ds y s t e m 灿o n ge i i l b e d d e d池l o 科 i s a d o p t c d谢d e l yi nm ea r e ao f a e r o n a u t i ce l e c 呐i l i c s ,a u t oe l e c 缸d i l i c s ,a 1 1 dc o i l s u m e re l e c 仃d i l i c sa n ds oo n ,d a t as t o r e a n dm a l l a g e m e n th 鹤b e c 0 m ev e 巧缸n p o r t a n t ,锄de m b e d d e df i l es y s t e mh 嬲e m e r g e d 黟a d u a l l y e m b e d d e ds y s t 锄h a si t so w ns p e c i f i cc h 嬲l c t 丽s t i c s :s m a l ls i z e ,s h o c kr e s i s t a i l c e , a 1 1 d1 0 wp o w e rc o n s 眦p t i o n d i s kc a nn o ts a t i s 母m e s er e q i r e m t s ,i ti sn o ta p p r o p r i a t e t os t o r ed a t a f l a s hi san e wk i n do fm e m o 巧w h i c hi su s m g 嬲e x 觚a ls t o r a g ei n e i t l b e d d e ds y s t 锄,b e c a u s ei ti sl o wc o s t ,1 a r g ec 印a c i t y ,s m a l ls i z e ,l o wp o w e r c o n s u m p t i o n c o n l p a r e dt od i s k ,i ti ss u p e r i o r i nr e c e n ty e 码s o m ef i l es y e t e m sh a v eb e e l ld e v e l o p e ds p e c i a l l yf o rf 1 a s hm e l i l o 巧 t h e yc o m ei n t o 缸l r e en a v o r s :e m b e d d e d 丘l es y s t e mb a s e do nb l o c kd e v i c e ,u m v e r s a l n a s hf i l es y s t 锄a i l ds p e c i 丘cn 袖6 1 es y s t c i n t l l ef i r s tt y p ei s 仃o d a t i o n a lf i l es y s t e i n b a s e do nb l o c kd 州c ew l l i c hi s 仃觚s p l a n tt of l a s hm e m o r y n es e c o n dt y p ei sd e s i 印e d f o rn a s hm 锄。巧s p e c i 矗c a l l y i tc a l l r u i lo nn o rn a s ha 1 1 dn a n dn a s h ,s oi ti s u n i v e r s a l 1 1 1 el a s tt y p ei ss p e c i f i c 丘l es y s t 锨,0 1 1 l yd e s i 印e df o rn a n dn 础1 1 1 e y p r e s e l l t l et i l r e es t a g e s 1 en a s hf i l es y s t e mp r o g r e s s e s 越m o u g h tf l a s hf i l es y t e mi s b e c o m i l l gb e t t e ra | 1 db e t t e r ,1 e r ea r eal o to fs h o r t c o m m ge x i s t i n 岛s u c ha st o ol o n g s t 枷n gt i m e ,h i 曲c o m s u p t i o no fm a i nm e m o r y a n di n s u f f i c i e n tc o n s i d e r a t i o no fw e a r l c v e l i n g a i l l l i n ga tm es h o r t c o m i l l g sa b o u tn a n df l a s h 丘l es y s t e l l l ,t h j sp 印e rp r o p o s e s s o m em e l o d st 0s o l v cm 锄c u m e l l tnan df l a s h 矗l es y s t e ms t o r ej e i l e 撕i b u t e i i l f o n n a t i o na 1 1 dd a t ai i l f o 肌a t i o ni i lt l l es a m eb l o c ko ff l a s h ,m e nm es y s t e mh a st os c a n a l lb l o c ko ff l a s ht 0g e tm ei n f o m 撕o na b o u t 矗l ea t t 打b u t e a b o u t l i si t e m ,m i sp a p e r c h a n g e sm em a i l a g e m e n tw a y t os t o r em et w ok i n do ff i l ei n f o n n a 矗o nmd i 行b r e i l tb l oc _ k w h e ns y s t e ms t a r tu p ,o n l yb 1 0 6 i ( sw 1 1 i c hs t o r c 砌b u t ei 1 1 f o m 撕o nn e e dt ob es c 趾 1 1 l l i sw a yw o u l dr e d u c et 1 1 es t 枷n gt i i i l e c l 盯e 1 1f l a s hf i l es y s t e m sc o 璐眦eal o to f m u s 堍t l l ea b o v em e m o d ,an e wm 埘d f 1 础丘i e 弧et e s tr e s u l t 砌i c a t et l l ep 耐i o 珊a n c eo fs f f s i s f l a s h6 1 es y s t e l i ly 公。f f s s y 8 t 啪s f f si si m p l 锄e i l 伽 a1 0 tb e t t e rt l l a n 双m e i n tn a n d 兰黧烹1 1 :竺则ks y s t 锄 n a n df 1 础,胍h 舭s y s t e l n ,w e a r1 e v e l i i l 岛 g a r b a g ec o l l e c t i o n 。 l v 姊一坝m一誉蔓嚣蠹 竺瓮一 一一一一 勺 p 琏吾娜一; 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他入已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:丝逛圣芏& 日期:年月 日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:煺导师签名:三雌 日期:年月曰 第一章引言 1 1 课题的来源与意义 第一章引言帚一早 i 旨 本课题是一个自拟课题,作者对嵌入式文件系统的发展状况进行了大量的研 究,研究发现:n a n df l 勰h 设备在各个领域得到越来越多的应用,与之相应的 n a n df l a s h 文件系统同时也得到了大力发展,但是仍存在着很多亟待解决的问题, 比如启动时间和内存消耗。本课题就是在这种背景下产生的,针对各种问题提出 解决的方法。 基于这些方法,本文实现了一个新的基于n a n df l 础的嵌入式文件系统 s f f s 。此文件系统较以往的文件系统在启动时间、内存消耗和磨损平衡三方面的 性能上都有较大的提高。s f f s 的实现对n a n df l a s h 文件系统在某些特定领域的 应用和推广大有裨益。 1 2 文件系统的发展现状 出现较早且很成熟的文件系统是块设备文件系统,包括m s d o s ,e x t 2 ,e x t 3 , s y s v 等,其中最具代表性的就是w i n d o w s 下的汀。l i i n j ) 【和u 1 1 i x 兼容多种文件 系统,他们提供的管理方式是在物理文件系统的基础上构建一层虚拟文件系统 ( v f s ) ,通过v f s 对下层的各种文件系统进行统一操作。随后,由于数字产品的 不断涌现及越来越高的普及率,嵌入式系统中的数据存储量不断增加,由此,嵌 入式文件系统也应运而生。 1 2 1 块设备文件系统f a t 3 2 r 订系列文件系统包括f m 1 2 ,f a t l 6 和f a = i 3 2 ,其中的f 觚、是f i l e a l l o c a t i o n t a b l e ( 文件分配表) 的缩写,同时也是此类文件系统中重要的数据结构。即汀3 2 是 汀文件系统中最具代表性的一种,它将磁盘的逻辑空间划分为三部分,依次是 引导区( b o o t 区) 、文件分配表区( f a t 区) 、数据区( d a t a 区) 。引导区用于 系统引导和存储分区表,数据区存储常规数据,文件分配表区用于存储文件分配 表。文件分配表存储的是文件在磁盘上的分布信息【l 】。r 玎3 2 将数据区按簇划分成 电子科技大学硕士学位论文 若干个单元,其中每个簇由固定个数的连续的扇区组成,是文件分配和回收的基 本单位。一些大的文件可能占用了很多簇,而且在磁盘上没有连续存放。f a t 表 就是为了确定文件每个簇的连接关系而设立的。文件分配表的一个表项对应于一 个簇,每一项的内容表示其对应簇的分配情况。在f a t 3 2 中,簇号用3 2 位二进制 数表示,从0 0 0 0 0 0 0 2 h 到f f f f f e f f h 。f a t 表按顺序依次记录了该盘各簇的使用 情况,是一种位示图法。每簇的使用情况用3 2 位二进制填写,未被分配簇的相应 位置填零;坏簇的相应位置填入特定值;已分配的簇相应位置填入非零值,具体 为:如果该簇是文件的最后一簇,填入的值为f f f f f f o f h ,如果该簇不是文件的 最后一簇,填入的值为该文件占用的下一个簇的簇号,这样,就将文件占用的各 个簇构成一个簇链,保存在f a t 表中。 1 2 2 虚拟文件系统v f s 一般把l i n u x 支持的各种实际的文件系统,如e x t 2 ,j f f s ,j f s 等称为物理 文件系统,l i n u ) 【对不同的物理文件系统的支持是通过虚拟文件系统v f s 实现的。 不同的物理文件系统具有不同的组织机构和不同的处理方式,为了能够处理各种 不同的物理文件系统,操作系统必须把它们所具有的特性进行抽象,建立一个面 向各种物理文件系统的转换机制,通过这种转换机制把各种物理文件系统转换为 一个具有统一共性的虚拟文件系统( v f s ) 。 i 进程1il 进程2l 一一i 进程3i ll i ll 矿锣译蹿j 。? r 矽,乎筹拳埔铲钞p7 - 名譬罗材船t 磺尘、霉t 黟矿l2 辫枞硝j 穗 一。! w 一o ,飞? 。t 一、厶,j 蕊。j ?_ ? j i ? 。 ? ? 。? 、 甏 虚拟文件系统v f s 艮: ; ,l j ? 。? 。,:,毛,7 ,“,毛,j j 乒 e x t 2 目m s d o s 翻m i n i xfjp r o cfj ;,0 一i :,j 、量能,。知。二0 i 麓。:旗缆缀缀| 荔妻臻黢荔乌渤躲蕊埘。翁翰黝笏缈秀嚣踺。执。了、i ,7 :、z ,;磁 1r 、几7 订竹一上t nr 士 i 叹曰抛训任,丁l ,一卜一卜 一1 f j 亡 - 亡 图1 1i i 删x 文件系统结构 v f s 向l i n u x 内核和系统中运行的进程提供了一个处理不同物理文件系统的 公共接口,此接口使得不同的物理文件系统在使用上看起来完全相同 2 1 。v f s 和各 2 第一章引言 种物理文件系统组成了l i n u x 的文件系统,如图1 1 所示。 严格的说,v f s 并不是一种实际的文件系统,f a t 3 2 ,e x t 2 等物理文件系统是 长期存在于外存空间的,而v f s 仅仅是一套转换机制,它在系统启动时建立,在 系统关闭时消失,存在于内存空间,只是向内核和进程提供了一个处理文件的统 一接口。在v f s 提供的接口中有一系列用于向物理文件系统转换的数据结构,包 括v f s 超级块,v f si n o d e 及各种物理文件系统操作函数的转换入口。v f s 超级 块把各种文件系统的整体结构信息转换成统一的格式,v f si 1 1 0 d e 把不同文件系统 的活动文件管理信息转换成统一的格式【3 1 。当把一个物理文件系统,如m s d o s , 挂载到l i n :u ) 【后,系统就在内存中建立m s d o s 的v f s 超级块,把m s d o s 的相 关信息写入到超级块中;当访问m s d o s 的某个文件时,系统在内存中建立该文 件的v f si n o d e ,把文件的管理信息写入其中。这样,当访问物理文件系统中的文 件时,进程并不是直接访问物理文件系统,而是通过7 s 超级块和v f si n o d e 来 间接访问磁盘上的文件,如图1 2 所示: 访问m s d o s访问e x t 2 l :77 ,v t ? a r “二r 、t 特j 二、;秘,7 ¥, , l7 ,尹删1 ,? 獬y 7 二 7 g ,7 笱 m s d o s 的m s d o s 畿 操作函 琵, e x t 2 的爹;e x t 2 ,西 j 的v f s 。 v f s ,: 数转换 v f s 磊 t + i 1 1 0 d e ,: v f s 的v f s :,蠹;i 褫,一彩铲k,么 超级块 i n o d e 入口 j 超级块 荔“口4 ;。? ,? ;哆魏黪“谢貉鬻g 免菠荔捌镪貔驴 ,嬲鳓彩强7 , ,0 i 貔彩擎耘一嵋?,彩貉蠡蓐j 彩黝荔l 锄 l i ij i i lil 引导扇区i超级块 p a t 区 o p e no p e n 目录区 c l o s e i i l o d e 表 c l o s e i i e ar e a 数据区 w r i t e 数据区 、 耐t e ( i e l e t ed e l e t e 文件组织操作函数文件组织操作函数 m s d o s 文件系统e x t 2 文件系统 图1 2v f s 实现文件系统的转换 从图中可以看出,当进程要访问其他的物理文件系统,如e x t 2 ,也要通过 v f s ,这时v f s 超级块和v f s 劬d e 记录的就是e x t 2 文件系统的相关信息。 3 电子科技大学硕士学位论文 1 2 3 嵌入式文件系统 文件系统在传统的嵌入式系统中并不是必要的组成部分,这主要是因为早期 的嵌入式系统主要集中在要求效率的小型应用上( 如信息家电、终端设备等) ,这些 应用对数据的存储和处理没有过高的要求,引入文件系统反而会降低整个系统的 效率。但随着用户需求和功能复杂度的增加及微电子领域的不断发展,嵌入式产 品正在拓展自己越来越大的市场:p d a 、手机、掌上电脑、信息家电,汽车电子, 工业控制,嵌入式产品可谓无处不在。同时它也对数据操作的灵活性和数据存储 的可靠性提出了越来越高的要求。例如,用来上网冲浪的机顶盒设备在用户浏览 过程中不断从互联网上接收数据,因为用户访问后的页面很可能再次被浏览,所 以不能将浏览后的网页立即清除。当然,系统不需要也不可能将所有浏览过的页 面保存在存储器中;在通信领域中,交换机、路由器等设备需要永久保存网络配 置信息、系统日志等数据;消费电子领域的p d a 、电子书等都需要管理大量的数 据。数据量的增加给嵌入式系统的设计提出了新的要求,开发嵌入式文件系统成 为一种必然。 嵌入式文件系统作为当前嵌入式操作系统的重要组成部分,对嵌入式系统中 的大量数据进行存储和操作管理,有着不可替代的作用,具有如下特点 4 】【5 】: ( 1 ) 独立性强。传统的文件系统是操作系统不可分割的组成部分,但在嵌入 式领域,文件系统和操作系统的耦合度很低,可以把文件系统看作一个基于操作 系统的软件模块,只与操作系统进行必要的交互。 ( 2 ) 使用简单便捷。用户只需知道文件名、文件路径等简单特征信息,就可 以方便地对文件进行操作,不必关心文件在物理空间中具体如何运作。只对文件 进行基本的操作,不实现比较复杂的功能。 ( 3 ) 安全可靠。对文件、数据的保护是文件系统的基本功能。嵌入式系统的 应用通常要求系统必须具有高可靠性,而作为操作系统的一部分,文件系统也应 该满足高可靠性的要求。 ( 4 ) 可移植性高。嵌入式系统的应用领域相当广泛,其采用的硬件环境和操 作系统也各不相同。为了适应这种差异性,文件系统应该降低对具体的硬件环境 和操作系统的依赖,具有良好的可移植性。 由于嵌入式系统要求设备具有体积小、功耗低、防震等特点【6 】【7 1 ,磁盘已经不 再适合用于嵌入式领域的数据存储,f 1 a s h 存储器成为了当今嵌入式领域主要的数 据存储介质。针对f 1 a s h 存储器的文件系统已经成为了行业研究的一个热点,各种 4 第一章引言 f l a s h 文件系统层出不穷,这几乎使得f 1 a s h 文件系统成为了嵌入式文件系统的代 名词。在各种f l a s h 文件系统中,有的是将传统的块设备文件系统移植到f l a s h 设 备上,有的则是根据f l a s h 存储器的特点开发专门的文件系统【引。但是通过这两种 方法开发出来的嵌入式文件系统仍然存在诸多不足有待改进,以进一步提高文件 系统各方面的性能。 1 3 本文的主要工作及章节安排 本文的主要工作如下:现有的n a n df l a s h 文件系统主要存在启动时间过长、 内存消耗过多、对磨损平衡考虑不充分这三个方面的不足。针对这些不足,本文 提出了改进的方法。在现有的n a n df l a s h 文件系统中,一个f l a s h 擦除块同时保 存了文件的属性信息和数据信息,启动时要逐块扫描,本文改变了这种文件信息 的管理方式,将文件的属性信息和数据信息分别存储于不同的擦除块,启动时只, 扫描属性块,进而减少文件系统的启动加载时间;现有的n a n df l a l s h 文件系统在 运行的过程中将所有的文件系统控制信息均存储在内存中,导致内存的大量消耗, 本文利用程序的局部性原理,只将最近访问的文件信息存储在内存中,降低文件 系统对内存的消耗;现有的n a n df l a s h 文件系统并没有考虑f 1 a s h 各擦除块间的 磨损平衡,本文通过将空闲块分类管理,将系统中的冷热数据交替存储于不同类 型的擦除块上,实现各擦除块间的磨损平衡。 本文的章节安排如下: 第一章引言,介绍课题的背景与意义,文件系统的发展和本文的主要工作。 第二章嵌入式文件系统概述,首先介绍f 1 2 l s h 的种类及各类f l a s h 设备的硬件 特性;在此基础上介绍f 1 a s h 文件系统的发展状况;最后提出n a 卜df l a s h 文件系 统存在的不足。 第三章n a n df l a l s h 文件系统的优化,针对n a n df 1 a s h 存在的启动时间过 长、消耗内存过多、磨损平衡考虑不足这三个问题提出自己的解决方法。 第四章s f f s 的设计与实现,在y a f f s 的基础上,使用第三章提出的方法实 现一个新的文件系统s f f s ,提高f 1 a s h 文件系统的性能。 第五章s f f s 的测试,对y = c f 心f s 和s f f s 进行对比测试,比较测试结果,验 证第三章提出的方法的有效性。 第六章结论,总结本文的主要工作,指出尚存的不足,展望n a n df 1 a s h 文 件系统未来的发展趋势及研究的热点。 电子科技大学硕士学位论文 第二章嵌入式文件系统概述 由于嵌入式系统自身的特点,f l a s h 存储器已成为嵌入式系统中最主要的数据 存储介质f 9 】。f l a s h 存储器在硬件特性上与主存及磁盘存在着较大的差异,所以在 f l 袖文件系统的设计过程中必须充分考虑这些差异,对这些差异的考虑程度也使 得f l a s h 文件系统经历了不同的发展阶段。虽然f l a s h 文件系统在各个发展阶段都 取得了进步,但仍存在许多问题。启动时间过长、内存消耗过多等问题都有待解 决,以提高f l a s h 文件系统的性能。 2 1f l a s h 存储器 f l a s h 存储器( f 1 a s hm e m o r v ) 是一种非易失性存储器俭压( n o n v o l a t i l e m 锄。巧) ,即使在电源关闭后仍能保持片内信息;而诸如d ra m 、s r a m 这类易 失性存储器,当供电电源关闭时片内信息随即丢失。f l a s h 存储器集非易失性存储 器的特点于一身:与e p r o m 相比,f 1 a s h 存储器进行擦除和编程操作不需要特殊 的高电压( 某些第一代f l a s h 存储器也要求高电压来完成擦除或编程操作) ;与 e e p r o m 相比,f l a s h 存储器具有成本低、密度大的特点。其独特的性能使其广泛 地应用于各个领域,包括嵌入式系统,如p c 及外设、电信交换机、蜂窝电话、网 络互联设备、仪器仪表和汽车器件,同时还包括新兴的语音、图像、数据存储类 产品,如数字相机、数字录音机和个人数字助理( p d a ) 。下面首先介绍f l a l s h 存 储器的主要分类,着重介绍两种主流的f l a s h :n o rf l a s h 和n a n df l a s h ,特别是 应用最广泛的n a n df 1 a s h 。 2 1 1f 1 a s h 存储器的分类 全球闪速存储器的主要供应商有a m d 、删e l 、f 嘶i s t u 、h i t a c h i 、h ”n d a i 、 i n t e l 、m i c r o n 、m i t s u b i s l l i 、s 锄s u n g 、s s t 、s h a r p 、t o s h i b a ,由于各自技术 架构的不同,分为几大阵营。 1 n o r 技术 n o r :n o r 技术( 亦称为“n e a r 技术) 闪速存储器是最早出现的n a s h 存储器, 目前仍是多数供应商支持的技术架构。它源于传统的e p r o m 器件,与其它f l a s h 6 第二章嵌入式文件系统概述 m e m o 巧技术相比,具有可靠性高、随机读取速度快的优势,在擦除和编程操作较 少而直接执行代码较多的场合,尤其是纯代码存储的应用中广泛使用【l 们,如p c 的 b i o s 固件、移动电话、硬盘驱动器的控制存储器等。 i n t d 是世界上第一个生产n o rf l 础并将其投放市场的公司。1 9 8 8 年,该公 司推出了一款2 5 6 kb i t 的n o rf l a s h 芯片。它如同鞋盒一样大小,内嵌于一个录 音机里。一个n o rf 1 a s h 芯片有若干个块( b l o c k ) 组成,每块的大小固定,一般 为6 4 k 。但是a m d 生产的f l a s h 略有不同,这类f 1 a s h 开始的四个扇区分别为1 6 k 、 8 k 、8 k 和3 2 k ,总和为6 4 k ,相当于一个普通的扇区。这几个扇区主要用于存储 系统的启动代码,防止空间浪费。 n o r 技术f 1 a s hm 锄o r y 具有以下特点:( 1 ) 程序和数据可存放在同一芯片上, 拥有独立的数据总线和地址总线,能快速随机读取,允许系统直接从f l a s h 中读取 代码执行,无需先将代码下载至洲中再执行;( 2 ) 可以单字节或单字编程,但 不能单字节擦除,必须以块为单位或对整片执行擦除操作,在对存储器进行重新 编程之前需要对块或整片进行预编程和擦除操作。由于n o r 技术f l 柚存储器的 擦除和编程速度较慢,块尺寸也较大,因此擦除和编程操作所花费的时间很长, 在纯数据存储和文件存储应用中,n o r 技术显得力不从心。不过,仍有支持者在 以进行写入为主的应用,如c o m p a c t f l a s h 卡中继续看好这种技术。 d i n o r :d 烈o r ( d i v i d e db i t 1 i n en o r ) 技术是m i t s u b i s h i 与h i t a c i l i 公司发展 的专利技术,从一定程度上改善了n o r 技术在写性能上的不足。d 烈o r 技术f l a s h 存储器和n o r 技术一样具有快速随机读取的功能,按字节随机编程的速度略低于 n o r ,但块擦除速度快于n o r 。这是因为n o r 技术f 1 a s h 存储器在编程时,存储 单元内部电荷向晶体管阵列的浮栅极移动,电荷聚集,从而使电位从1 变为o ;擦 除时,将浮栅极上聚集的电荷移开,使电位从0 变为l 。而d i n o r 技术f 1 a s h 存 储器在编程和擦除操作时电荷移动方向与前者相反。d 烈o r 技术f l a s h 存储器在 执行擦除操作时无须对块进行预编程,且编程操作所需电压低于擦除操作所需电 压,这与n o r 技术相反。尽管d i n o r 技术具有针对n o r 技术的优势,但由于自 身技术和工艺等因素的限制,在当前闪速存储器市场中,它仍不具备与发展数十 年,技术、工艺日趋成熟的n o r 技术相抗衡的能力。 m i t s u b i s l l i 公司推出的d i n o r 技术器件m 5 m 2 9 g b t 3 2 0 ,采用m i t s u b i s l l i 和h i t a c l l i 的专利b g o 技术,将f l a s h 存储器分为四个存储区,在向其中任何一个 存储区进行编程或擦除操作的同时,可以对其它三个存储区中的一个进行读操作, 用硬件方式实现了在读操作的同时进行编程和擦除操作,而无须外接e e p r o m 。 7 电子科技大学硕士学位论文 由于有多条存取通道,因而提高了系统速度。 2 n a n d 技术 n a n d :s 锄s u l l g 、1 o s h i b a 和f u i i s t u 支持n a n d 技术f l a s h 存储器。这种 结构的f l a s h 存储器适合于纯数据存储和文件存储,主要作为s m a n m c d i a ( s m 卡) 、 c o n l p a c tf l a s h ( c f 卡) 、m u l t i m e d i a c a r d ( m m c 卡) 、s e c u r ed i 酉t a l ( s d 卡) 、 m 锄o r ys t i c k ( 记忆棒) 、固态盘的存储介质,已经成为f l a s h 技术的核心。 n 龇叮df 1 a s h 于1 9 8 9 年由日本的日立( h i t a c h i ) 研制而成。n a n d 型f l a s h 的基本存储单元是页( p a g e ) ,每页的有效容量是5 1 2 字节的倍数。所谓的有效容 量是指用于数据存储的部分( d a t as p a c e ) ,实际上还要加上1 6 字节的额外空间 ( s p a r es p a c e ) ,因此f 1 a s h 厂商的技术资料当中表示为“( 5 1 2 + 1 6 ) b 。目前2 g b 以下容量的n a n d 型f 1 础绝大多数是( 5 1 2 + 1 6 ) 字节的页面容量,2 g b 以上容 量的n a n d 型f l a s h 则将页容量扩大到( 2 0 4 8 + 6 4 ) 字节。n a n d 型f l a s h 以块为 单位进行擦除操作,一般每个块包含3 2 个5 1 2 字节的页,容量1 6 k b ;而大容量 f l a s h 采用2 k b 页时,则每个块包含6 4 个页,容量1 2 8 k b 。 n a n d 技术f l a s h 存储器具有以下特点【9 1 【1 0 】:( 1 ) 以页为单位进行读取和编程 操作;以块为单位进行擦除操作。具有快编程和快擦除的功能,其块擦除时间是 2 m s ;而n o r 技术的块擦除时间达到几百m s 。( 2 ) 数据、地址采用同一总线,实 现串行读取。随机读取速度慢且不能按字节随机编程。每颗n a n d 型f l a s h 的l 接口一般是8 条,每条数据线每次传输( 5 1 2 + 1 6 ) b i t 信息,8 条就是( 5 1 2 + 1 6 ) 8 b i t , 也就是前面说的5 1 2 字节。但较大容量的n a n d 型f l a s h 也越来越多地采用1 6 条 i o 线的设计;寻址时,n a n d 型f 1 础通过8 条i o 接口数据线传输地址信息包, 每包传送8 位地址信息。由于闪存芯片容量比较大,一组8 位地址只够寻址2 5 6 个页,显然是不够的,因此通常一次地址传送需要分若干组,占用若干个时钟周 期。( 3 ) 芯片尺寸小,引脚少,是位成本彻tc o s t ) 最低的固态存储器。( 4 ) 芯片含 有失效块,其数目最大可达到3 3 5 块( 取决于存储器密度) 。失效块不会影响有效 块的性能,但设计者需要将失效块在地址映射表中屏蔽起来。 u h a n a n d :u 1 加n a n d 技术是由舢d 与f u i i 咖共同推出的,称之为先进 的n a n d 型f 1 a s h 存储器技术。它与n a n d 标准兼容:拥有比n a n d 技术更高等 级的可靠性;可用来存储代码,从而首次在代码存储的应用中体现出n a n d 技术 的成本优势;它没有失效块,因此不用系统级的查错和校正功能,能更有效地利 用存储器容量。与d 烈o r 技术一样,尽管u l 扛a n a n d 技术具有优势,但在当前 的市场上仍以n a n d 技术为主流。 第二章嵌入式文件系统概述 3 a n d 技术 a n d 技术是h i t 础l i 公司的专利技术。h i t a c l l i 和m i t s u b i s l l i 共同支持a n d 技 术的f l a l s h 存储器。a n d 技术与n a n d 一样采用“大多数完好的存储器”概念,目 前,是数据和文档存储领域中另一种占重要地位的闪速存储技术。 h i t a c l l i 和m i t s u b i s m 公司采用o 1 8 岫的制造工艺,并结合m l c 技术,生产 出芯片尺寸更小、存储容量更大、功耗更低的5 1 2 m b a n df l a s h 存储器,再利用 双密度封装技术d d p ( d o u b l ed e n s 竹p a c k a g ct e c : 1 1 1 0 l o g y ) ,将2 片51 2 m b 芯片叠 加在1 片t s o p 4 8 的封装内,形成一片1 g b 芯片。 4 e e p i 的m 派生的闪速存储器 e e p r o m 具有很高的灵活性,可以单字节读写( 不需要擦除,可直接改写数 据) ,但存储密度小,单位成本高。部分制造商生产出另一类以e e p r o m 做闪速 存储阵列的f l a s h 存储器,如a t m e l 、s s t 的小扇区结构闪速存储器( s m a ns e c t o r f l a s hm 锄o r y ) 和a 1 r m e l 的海量存储器( d a t a f 1 a s hm e m o w ) 。这类器件具有 e e p r o m 与n o r 技术f l a s h 存储器二者折衷的性能特点: ( 1 ) 读写的灵活性逊于e e p r o m ,不能直接改写数据。在编程之前需要先进 行页擦除,但与n o r 技术f 1 a s h 存储器的块结构相比,页尺寸小,具有 快速随机读取和快编程、快擦除的特点。 ( 2 ) 存储密度比e e p r o m 大,但比n o r 技术f 1 a s h 存储器小,如s m a l ls e c t o r f l a l s h 存储器的存储密度可达到4 m b ,而3 2 m b 的d a t af 1 a s h 存储器芯片 有试用样品提供。正因为这类器件在性能上的灵活性和成本上的优势, 使其在闪速存储器市场上仍能占有一席之地。 ( 3 ) 与e e p r o m 比较,具有明显的成本优势。 s m a l ls e c t o r f l 础m 锄。巧采用并行数据总线和页结构( 1 页为1 2 8 或2 5 6 b ) , 对页执行读写操作,因而既具有n o r 技术快速随机读取的优势,又没有其编程和 擦除功能的缺陷,适合代码存储和小容量的数据存储,广泛地用以替代e p r o m 。 d a t a f l a s h m e m o r y 是a t m e 的专利产品,采s p 串行接口,只能依次读取数 据,但有利于降低成本、增加系统的可靠性、缩小封装尺寸。主存储区采取页结 构,与串行接口之间有2 个与页大小一致的s r a m 数据缓冲区。特殊的结构决定 它存在多条读写通道:既可直接从主存储区读,又可通过缓冲区从主存储区读或 向主存储区写,两个缓冲区之间可以相互读或写,主存储区还可借助缓冲区进行 数据比较。适合于诸如答录机、寻呼机、数字相机等能接受串行接口和较慢读取 速度的数据或文件存储应用。 9 电子科技大学硕士学位论文 最后给出各种f 1 2 l s h 存储器的性能比较信息,如表2 1 。 表2 1f l a s h 性能对照表 n o r 技术n a n d 技术e e p r o m 派生 a n d 技术 n o rd n o r n a n du l t r a n a n ds m a ns e c t o rd a t a f l a s h m i t s u b i s h i :a m d :a t m e l : i i l t d :h i t a c h i : s 锄s u n g : a t m e l : 型号m5 m 3 0 l v 0 0 6 4a t 2 9 b v 2 8 f1 2 j 3h n 2 9 v 5 1 2 1 1 tk 9 k 1 2 0 8 u o ma t 4 5 d b 3 2 2 9 g b t 3 2 010 4 0 a 容量m b 1 2 8 3 2 5 1 25 1 26 443 2 制造工艺 一o 2 50 2 50 1 8 0 1 8o 2 5 m n 供电电压 2 7 3 6 2 7 3 62 7 3 - 32 7 3 3 2 7 3 6 ( i o 口2 7 3 6 2 7 3 6 n 允许5 v ) 地址、数据采用各自独立8 位地址数地址、数据s p i 串行总 总线结构 8 位地址,数据总线 的总线据总线独立的总线线 引导块: 页: 5 2 8 b 3 2 k b 块: 2 l ( b + 6 4 b页:5 1 2 b + 1 6 b 页:块: 参数块: 5 1 2 b + 1 6 b 页:2 5 6 b 4 k b + 12 8 b 内部结构块:1 2 8 k b内部删缓 块: 块:s r a m 数3 2 k b 存: 2 l ( b + 6 4 b 1 6 k b + 5 1 2 b 主存储块: 8 k b + 2 5 6 b 据缓存: 6 4 k b5 2 8 b 随机读取:随机读取:随机读取: 随机读取:随机读取: 5 0 岬l o 岬7 峭 随机读取:串行读取: 读操作 1 5 0 n s8 0 n s 串行读取:串行读取:串行读取:2 5 0 n s 1 2 0 邮 5 0 n s6 0 n s5 0 n s 字节编程: 字节编程: 页编程: 6 u s页编程:7 m s 编程操作块编程:4 m s块编程:l m s页编程:2 0 0 嶂 1 5 0 页编 页重新编块编程:2 0 0 邮 程:2 0 m s o 8 乏4 s程:1 0 r n s 单周期内页 页擦除: 块擦除:块擦除:块擦除:重新编程 擦除操作 块擦除:1 瞄块擦除:觚6 m s 块擦 l 6 s4 ( 1 i i l s2 m 8( 擦除+ 除:7 m s 编程) 1 0 “6 ( 差错 纠正1 擦除次数 l o 5 l o 5 l o 5 1 0 5l o 5 1 0 4 ( 无差 错纠正1 第二章嵌入式文件系统概述 2 1 2f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论