NAND Flash文件系统方案及其可靠性设计
随着嵌入式系统在消费电子,数据采集和工业控制等领域得到越来越广泛的应用。各个领域都对嵌入式系统提出了更高的要求。作为嵌入式系统中最重要的组成部分,存储系统呈现出了较快的发展速度。NAND FLASH作为一种安全、快速的存储体,具有体积小、容量大、成本低、以及更多的擦除次数等一系列优点,已成为嵌入式系统中数据和程序最主要的载体。由于NAND FLASH在结构和操作方式上与硬盘、E2ROM等其他存储介质有较大区别,使用NAND FLASH时必须根据其自身特性,对文件系统进行特殊设计,以保证系统的性能达到最优。同时由于工艺和使用环境的问题,NAND Flash存储器中不可避免的会出现坏块,因此必须提出有效的坏块处理方法,以解决坏块问题,实现存储系统的高可靠性。
1 NAND FLASH特点
1.1 区块结构
NAND Flash存储器内部分为若干个存储单元块(block),每个存储单元块又分为若干个页(page),存储单元块是最小的擦除单位,页是写入数据的最小单位。
1.2 先擦后写
由于FLASH的写操作只能将数据位从1写成0,不能从0写成1,所以在对存储器进行写入之前必须先执行擦操作,将预写入的数据位初始化为1。擦操作的最小单位是一个区块,而不是单个字节。
1.3 操作指令
NAND FLASH的操作不能像RAM那样,直接对目标地址进行总线操作。比如执行一次写操作,它必须完成一