EDN China > 技术文章 > 嵌入式系统 > 存储器 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

(多图) 适宜于嵌入式多媒体应用的Flash文件系统

来源:中电网 / 作者:清华大学电子工程系 董明 刘加 刘润生?? 2006年10月22日 ?? 收藏0

?????? 随着电子技术的不断发展,嵌入式系统越来越多地在控制类、消费类、通讯类等电子产品中广泛应用,并且随着数字信号处理与人机交互界面等相关技术的不断成熟,嵌入式多媒体应用数量也逐渐上升。多媒体业务的数据量大,数据内容复杂,在多媒体应用中数据的存储与管理是不容回避的问题。FLASH存储器因制造成本低廉、存储容量大、数据非易失、无机械故障,在目前的嵌入式系统中被广泛用作外存储器件。然而Flash存储器却是一种数据正确性非理想的器件,应用中可能会出现坏损数据单元,这又给应用Flash存储器的嵌入式系统进行数据存储管理增添了新的难度[1]。

?????? 在嵌入式系统中应用Flash存储器最好的办法是在其上构造一个文件系统,对Flash存储器中的数据内容进行基于文件代号的存储管理,同时对于Flash存储器本身的坏损单元自动进行应用透明的坏损管理。目前在通用计算机上已经有很多成熟的文件系统,如DOS下的FAT文件系统、Windows NT下的NTFS文件系统及UNIX文件

系统等[2]。

?????? 但是这些文件系统并不适合直接用到嵌入式系统中进行多媒体数据内容的存储:第一,嵌入式系统的应用条件远比计算机恶劣,电源电压的不稳定以及突发性断电将对Flash的存储造成灾难性的影响,通用文件系统对于可靠性的设计考虑不足;第二,通用文件系统是针对系统资源非常丰富的计算机平台并基于速度较慢的磁盘驱动器,它们常常大量使用缓存技术,如注重文件系统的速度特性,要耗费比较多的系统资源。这与嵌入式系统中系统资源十分有限,Flash存储器又相对于磁盘驱动器较快的应用情况不同;第三,嵌入式系统中存储于Flash上的内容很多是多媒体数据资料,这些数据内容往往允许一定程度的误码损伤,未必需要如通用文件系统那样严格保证存储的正确性。通过灵活的校验机制与坏损管理,达到更优化的存储速度与更高效的存储空间利用,这对成本敏感的嵌入式系统来说尤其具有帮助。

?????? 基于上述考虑,设计了一个适合嵌入式多媒体应用的Flash文件系统。它不仅支持文件代号管理、文件指针存取以及对应用透明的自动坏损管理这些通用文件系统所具有的功能,并且在文件系统的可靠性以及文件系统的额外资源消耗方面进行了改善;此外还引入了基于存储内容自适应的坏损管理策略,从而使该Flash文件系统更加适合嵌入式多媒体应用。

?????? 1 Flash存储器的操作特点

?????? Flash存储器在读取方面与普通的SRAM存储器类似,一般可以实现完全随机的读取。Flash存储器最大的不同在于写操作方面。Flash存储器的写操作需要经过"擦除-写入"两个操作过程。当希望对Flash存储器的某一个单元进行写入时,首先必须对这个存储单元所在的区块(Block)执行擦除操作,擦除操作成功完成后,整个区块的数据内容都被清空(一般被设置成0xFF);然后对目的单元所在的页面(Page)执行写入操作,需要一次写入整个页面的全部数据内容(也有一些Flash存储器支持部分页的写入,这样可以分多次写完一个页面,但是一旦写过的存储单元数据就不能再被更改),操作成功后要进行数据正确性的校验。

?????? 一个区块(Block)包含一个或多个页面(Page),一个页面包含多个数据存储单元(字节或字)。为了增强所设计Flash文件系统在不同Flash存储器上的移植能力,选取了3个最基本的操作作为本Flash文件系统与Flash存储器设备的应用接口:区块擦除(Block_Erase)、页面写入(Page_Write)、页面读出 ( Page _ Read )。这样虽然可能会忽略某些Flash存储器产品的独有特性,但却增加了所设计的Flash文件系统对不同Flash存储器产品的适应能力。另外,Flash存储器写入的时间瓶颈并不在于数据传递,而是Flash存储器内部的擦除和写操作等待;Flash存储器读出的速度和微处理器处理数据的速度都很快,因此虽然将读和写的基本单位扩大到了页面,但额外增加的操作时间是很短的。


?????? 2 Flash文件系统的基本结构

?????? 本Flash文件系统

上一页1234下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

闪存? 嵌入式?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈