注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

视频联网报警平台-四川安防服务专家

专业安防服务供应商—Since2008

 
 
 

日志

 
 

Flash 文件系统总结  

2006-04-04 17:31:19|  分类: OFFICE相关 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

Flash 文件系统总结
随着科学技术的不断发展,特别是微处理器的日新月异,嵌入式系统的应用领域越来越
广泛,已经深入到我们生活中的方方面面。微处理器已由原来的4 位、8 位,发展到现在的
32 位、64 位。随着系统复杂性的增加,存储器容量的扩大,为了便于嵌入式系统的开发,
使系统运行的更稳定,使用嵌入式操作系统也就成为一种必然的选择。为了进行大量的动态
数据实时的交换,文件系统也成为了嵌入式操作系统的必要组成部分,这样使得嵌入式系统
更容易管理、开发和移植。特别是Flash 文件系统已成为当今开发嵌入式系统的重要组成部
分。
Flash 作为一种可擦写的只读存储器,具有体积小,容量大,成本的,掉电数据不丢失
等一系列优点。正在被应用在手持设备和信息家电产品之类的以嵌入式系统为基础的系统
中。Flash 通常被用来存放可执行代码,变量和其他暂态数据,随着其应用的进一步深入,
如何在其上建立一种稳定可靠,便于使用的Flash 文件系统已经成为一种需要。TrueFFS 文
件系统就是WindRiver 公司推出的一款基于Vxworks 的Flash 文件系统。
1 Vxworks 操作系统简介
近年来,随着嵌入式实时操作系统RTOS(Real-Time Operating System)在各个领域
得到了广泛的应用,市场上也出现了许多非常优秀的商业化产品。在众多的实时操作系统中,
Vxworks 被认为是其中的佼佼者。Vxworks 是一个非常优秀的实时多任务操作系统,它具有
非常高的可靠性,同时它具有高性能的微内核,以适应嵌入式系统对资源的要求,具有良好
的可裁减性,良好的移植性,它采用基于优先级的抢占式调度算法和循环调度算法。兼容流
行的软件标准,有良好的开发环境Tornado 以及丰富的接口资源和大量的第三方产品,这样
都为Vxworks 的广泛应用奠定了坚实的基础。

与硬件无关的软件
应用程序
I/O 系统
文件系统
Vxworks 库TCP/IP
Vxworks 操作系统内核
与硬件相关的软件
驱动程序板级支持包BSP 网络驱动程序
Vxworks 操作系统的基本结构如图1,处于最顶层的是应用程序,应用程序通过Vxworks
库函数和输入输出系统完成和操作系统内核的交互,由操作系统内核完成和硬件相关代码的
接口,硬件相关代码完成和相关硬件的数据交换。将Vxworks 用于开发的过程中首先要完
成硬件相关代码,在硬件相关代码中板级支持包BSP 和硬件驱动代码是底层开发的核心,
硬件相关代码完成后,Vxworks 操作系统内核和硬件之间的接口就已经完成,在此基础上即
可在Vxworks 操作系统之上进行应用程序的开发。
2 Flash 文件系统
随着嵌入式系统复杂性的不断提高是否应该在嵌入式系统中使用文件系统,曾经在业界
引起过不小的争论。但随着系统的日益庞大,文件系统成为一种必然的选择。使用文件系统,
可将存储空间用直观的名称空间代替原始的地址空间,不用每次开发新系统都从新分配存储
器,同时它提供与底层存储器无关的编程接口,使上层应用不再关心底层具体设备,而可以
方便的利用标准接口访问存储器。由于接口标准化,也保证了程序的层次性,增加了程序的
可移植性。文件系统可以帮助系统管理大量的数据,并能提供直观接口,方便用户使用。嵌
入式系统一般不使用硬盘,大多数采用Flash 存储器来存放代码和数据,所以,在Flash 存
储器上建立文件系统具有广泛的应用价值。
2.1 Flash 文件系统的特性
根据嵌入式系统的环境比较特殊,同时Flash 芯片的特性,Flash 文件系统应包括一下
特性:
1) 掉电安全。为了在比较恶劣的运行环境下,能使嵌入式系统有较高的可靠性。Flash 文
件系统必须能够在系统崩溃或系统掉电的情况下,不影响文件系统的一致性和完整性。
同时也应该保证文件系统的写入和碎片回收的可靠性。
2) 磨损控制。因为Flash 的擦除次数有限制,所以文件系统应该对Flash 的每个页面,平均
使用,已延长Flash 的使用寿命。
3) 碎片整理。任何存储器在使用一段时间之后,都会出现空区和碎片数据,这就需要进行
碎片整理,从而保证存储器的高效利用。
4) 低空间消耗。因为嵌入式系统的存储空间有限,所以用于管理文件系统的管理模块也应
该尽可能的小。
2.2 Flash 文件系统实现的形式
1) 集中管理文件系统
当今普通的PC 机使用的文件系统大多属于这类型,如DOS、Linux 使用的文件系
统。这种文件系统的主要特点是:存储器空间的使用信息集中存放在存储器的某个地方,
如DOS 的FAT 表、Linux 的inode 表。这个关键信息区如果损坏,文件系统将无法恢
复。存储器的绝大部分用于纯数据存放,不包含任何索引信息,数据必须以来关键信息
区才能被索引和使用。
2) 顺序文件系统
顺序文件系统由称为连续存放文件系统,每个文件相关的所有信息都连续存放在存
储器中。与集中管理文件系统相比,它的实现更简单、读写更快速、最主要的它将文件
系统的关键信息分布存放。所以这种文件系统更适于Flash 存储器,它有较好的安全性,
任意部分的破坏只会损坏单个文件,不会对整个文件系统造成威胁,除非是存有关键信
息的那一部分损坏。它能保证存储器的均匀使用,文件系统中没有热点区域,各文件块
的使用是平等的,不会特别损坏某区,延长了Flash 的使用寿命。同时这种实现方法的
缺点是明显的,对文件的操作效率很低,很难实现添加、插入、删除等文件操作。
3) 日志文件系统
这种文件系统顺序写入对文件系统的修改,就像作日志记录一样,可加速文件写入
和崩溃恢复。Log 是文件系统的唯一结构。Log 包含索引信息、名称和数据。一般的文
件系统在崩溃后必须扫描整个磁盘才能恢复,但是日志文件系统只须检查最近的修改即
可。
3 TrueFFS 文件系统实现
TrueFFS(True Flash File System)文件系统是M-Systems 公司为WindRiver 开发的第
三方商用软件,可以和Vxworks 及其开发环境Tornado 无缝连接。由于Flash 的擦写有次数
限制,对于固定区域的反复擦写将导致器件的损坏不可再写入。TrueFFS 文件系统的磨损控
制(wear-leveling)功能使所有可擦除块的擦除次数在相同的时段内尽可能相同,从而在
整体上提高Flash 的寿命。
TrueFFS 文件系统的结构如图2。最顶层为DOS 文件系统,其次为解释层(Translation
Layer),再次为MTD(Memory technology driver)层,最底层为Socket 层。其中DOS 层,
解释层一般用户无需改动,只要根据自己的硬件环境进行配置即可。Socket 层的核心是一个
数据结构FLSocket,反映Flash 芯片在CPU 空间的映射。MTD 层也有一个数据结构FLFlash,
反映Flash 芯片的物理特性,一般用户需要根据自己的硬件对这两个数据结构和其相关代码
进行改动和移植。
TrueFFS
图2:TrueFFS 文件系统的结构
解释层处理TrueFFS 文件系统和DOS 文件系统的高层接口,同时处理Flash 的块映射、
磨损控制、碎块整理(garbage collection)和数据的完整性验证。TrueFFS 文件系统解释层
目前支持三种工艺的Flash 介质,分别是NOR、NAND 和SSFDC 工艺。Socket 层提供Flash
硬件介质与TrueFFS 文件系统之间的接口。MTD 层实现对具体的Flash 进行读、写、擦、
ID 识别等功能。
4 结论
TrueFFS 以其优异的性能而在嵌入式系统中广泛应用,但在使用中如果存在压缩与解压
缩运算,如使用的CPU 主频较低,会导致启动时间延长。
Dos 文件系统
解释层
MTD 层
Socket 层
Flash 存储器

  评论这张
 
阅读(636)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017