摘要:NAND Flash 具有高存储密度和高存储速率的特点,在嵌入式系统领域得到了广泛应用。但其固有的擦除机制和存在有坏块这一致命弱点,成为其在应用中的主要障碍。本文提出了一种应用于FAT文件系统上的坏块处理方法,使用Flas h上其他的空闲块或者空闲空间来代替坏块,并将坏块在 FAT 表中作出标记以后不作使用。这种方法彻底屏蔽了坏块对上层应用的影响,并对存储介质没有造成任何不良影响,从而很好地克服了上述障碍。工程项目中的应用证明了其较高的可靠性。随着嵌入式系统在消费电子,数据采集和工业控制等领域得到越来越广泛的应用。各个领域都对嵌入式系统提出了更高的要求。储存系统作为嵌入式系统中的重要组成部分,呈现出了较快的发展速度。随着各种应用对存储容量的要求不断增加,NAND Flash 以高密度、大容量、高数据存储速率,以及更多的擦除次数等特点,逐渐成为大容量嵌入式存储设备应用的主流。而将 FAT 文件系统用于 NAND Flash 的嵌入式应用环境, 由于其和 Windows 操作系统良好的兼容性而成为现阶段若干工程应用中所使用的存储系统解决方案。但是由于工艺和使用环境的问题,NAND Flash 存储器中不可避免的会出现坏块,以前也有过消除坏块的努力,但发现成品率太低,成本太高,根本不划算。所以必须在应用中进行坏块处理。本文提出一种应用于 FAT 文件系统的坏块处理方法,很好解决了坏块问题,实现了存储系统的高可靠性。 1 FLASH 存储和文件系统简介 Flash 简介 Flash 存储器是非易失存储器,可以对称为块的存储器单元块进行擦写和再编程。任何 Flash 器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除。 Flash 存储器其内部分为若干个存储单元块(block) ,每个存储单元又分为若干个页(page), 存储单元块是最小的擦除单位,页是写入数据的最小单位。Flash 存储器读取数据类似于普通存储器可以实现随机读取,且读出速度也较快。而写入数据则相对比较麻烦,必须先按存储单元块擦除,即写入 0xFF 。再按页顺序写入。其中主要耗时在于擦除步骤。采用 Flash 存储器不得不重点考虑的问题在于可靠性,对于 NAND Flash 而言,每个块的最大擦除次数大约为一百万次,NAND Flas h 中的坏块是随机分布的,可能在出厂时就存在坏块,也可能于使用过程中出现坏块。 文件系统原理文件系统在整个系统中位于设备驱动程序和上层应用程序之间,负责管理文件的创立、撤消、读写、修改、复制和存取控制等,并管理存放文件的各种资源。为上层引用程序提供统一的存储接口,透明具体的实现过程,为上层提供服务。它管理硬件上的数据存取方式和结构,以更好利用存储空间和提高存储效率。 FAT 文件系统是在微软 DOS/Window s操作系统中广泛使用的一种文件系统,一个典型的FAT文件系统分区由4个部分组成:①保留区;②FAT 表区;③根目录区;④文件数据区。第一个扇区是 BPB, 即基本输入输出参数块,其上记录每扇区的字节数(512), 每簇的扇区数,FAT 表的数目,目录项数,总扇区数,FAT 表占用的扇区数等文件系统的总体信息。然后是 FAT 表区,出于安全考虑一般存放两个 FAT 表。根目录区存放位于根目
badblock屏蔽方法 来自淘豆网m.daumloan.com转载请标明出处.