FAT文件系统在NAND Flash存储器上的改进设计

FAT文件系统在NAND Flash存储器上的改进设计FAT 文件系统在 NANDFlash 存储器上的改进设计 嵌入式系统的大量数据都存储在其 F1ash 芯片上

 

FAT文件系统在NAND Flash存储器上的改进设计

 

  嵌入式系统的大量数据都存储在其F1ash芯片上。根据Flash器件的固有特性,构建一个适合管理NAND Flash存储器的FAT文件系统,并阐述具体的设计思想。该系统改进了FAT表和FRT表的存储方式,延长了存储器的使用寿命,提高了稳定性。

       NAND Flash存储器是一种数据正确性非理想的器件,容易出现位反转现象,同时在使用中可能会有坏损单。数据写入必须在李白的区块或者擦除后的区块巾进行,其底层技术要求以块为单位进行擦除(将“Oxff”写入到要擦除的存储块中),再按页写入。Flash存储器的擦除次数是有限的,一般是次。当某块执行过度的擦除操作后,这一块的存储空间将会变为“只读”状态,不能再写入数据。根据以上特点,为了避免某些块的过度操作,而导致存储卡使用寿命降低,设计专门针对Flash存储器的文件系统是必要的。

       1 NAND FIash存储器的特点     

       在设计NAND Flash文件系统前,首先要了解其内部结构。目前市面上的NAND Flash芯片单片容量已高达lGB,存储器容量最高达4GB(由4片1GB的芯片封装而成)。知名的NAND Flash制造商有Samsung、Tashiba等公司。下面以Samsung公司的K9wAG08UlM为例,说明大容量NAND Flash芯片的组织结构。在K9WAG08U1M中,页(page)是最基本的组织单位。每页有2048+64=2112字节,64页构成一个块。(block),每块的容量是(2048+64)×64=(128KB+4KB),芯片共8192块,总存储容量为(128KB+4KB)×8192=lGB+32MB。存储器每页带有64字节的冗余字节。整个芯片共计32 MB的冗余空间,用于存放块信息和ECC校验码等。

       2 FIash文件系统的应用特点
   

       现在大多数嵌入式手持设备上的操作系统采用FAT文件系统,而DOS下通用的FAT文件系统并不适合直接移植到Flash存储器中.主要有以下3个原因:第l,嵌入式系统的应用条件恶劣,电源电压不稳定,突发性断电以及非法插拔都将对Flash的存储造成灾难性的影响;通用文件系统对于可靠性的设计考虑不足。

        针对上述情况,本设计构建了一个适合NAND Flash存储器的FAT文件系统。针对其存储特点,对FAT表和FRT表的存储方式进行了改进,延长了使用寿命,增强了可靠性,使之更有利于Flash存储器的应用。

       3 FAT文件系统的结构
   

       文件系统由以下4部分组成:
   

       O——系统记录区(System Record Region);
       1——FAT表区(FAT Region);
       2——文件登记表区(File Register Table Region);
       3——数据区(Data Region)。
   

       ①系统记录区(System Record Region,SR)存放最重要的文件系统信息,如Flash存储器的类型、容量、版本信息、数据区域的位置和大小,还包括分区表和主引导程序。主引导程序的任务是检查分区表是否正确,自动读取
FAT表和FRT表,将其复制到控制终端的内存中。
   

       考虑到文件系统在嵌入式设备上实现的方便性并权衡Flash存储器的应用规模.选择、建立FATl6文件系统。

       4 FAT文件系统的改进设计
   

       FIash第1块的分配信息区结构如图1所示。

        改进设计的文件系统把FAT表和FRT表作为可移动的数据放在某一个区块内,在Flash的系统信息区中记录着FAT表的首地址,并用指针指向它。每次FAT表存储的位置发生变化时,只需将新位置的首地址添加到系统信息区的空白区域中,再调整指针的指向。这样避免了FAT表和FRT表始终在一个区块中反复擦写,导致该区块被过度使用,缩短存储器的寿命。文件系统的操作原理框网如图2所示。

       同时,为了避免表存储区块的过度使用,当其擦除操作次数到了一个阈值(如次)时,先将FAT表和FRT表移动到其他空白区块,新区块作为表的存储区块。再把其中FAT表的首地址,写到FIash存储器的系统信息区的预留空白区域中,通过变化指针,程序在下次操作时将读取新地址。原先存放FAT表和FRT表的区块被标志为无效,最后通过Flash的垃圾回收策略,回收此区块。这样可达到将FAT表和FRT表作为移动数据存储的目的,延长了使用寿命,如图3所示。

       经过上面的改进,文件系统不仅避免了FAT表和FRT表始终在一个块中被过度使用的现象,也避免了在任何时候,发生掉电或非法插拔的情况。仍然可以根据Flash中修改过的内容重新建立新的FAT表和FRT表,使文件系统不至于遭到致命的破坏。这样虽然占用了一些Flash资源,但确保了文件系统的安全性和可靠性。通过这样的没计,即使出现了操作异常的情况,错误也只涉及当时被操作的文件,不会扩散给F1ash存储器中的其他文件,更不会因此彻底损坏FAT表和FRT表,造成整个文件系统的瘫痪。

       结语
   

       根据嵌入式系统中Flash存储器的特点没计的FAT文件系统,对FAT表和FRT表的存储方式进行了改进,使其使用寿命和可靠性都有了较大的提高。即使在嵌入式设备操作异常频发的恶劣工作条件下,文件系统也能够保证安全地工作。此文件系统出于可靠性的考虑,较通常的文件系统只多占用1个D(块(转存区块)的资源,而对于嵌入式上使用的NANE)Flash存储器,这样的耗费完全是可以接受的。

今天的文章 FAT文件系统在NAND Flash存储器上的改进设计分享到此就结束了,感谢您的阅读。
编程小号
上一篇 2024-12-30 17:21
下一篇 2024-12-30 17:17

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/92055.html