汉语大全>计算机理论>嵌入式系统中Flash存储管理策略

嵌入式系统中Flash存储管理策略

详细内容

1闪存Flash存储器简介 嵌人式系统中使用的Flash存储器!4,5主要分为NOR和NAND两种类型,其主要特点如下。 ①像其它ROM那样,Flash存储器可以直接读。取数据,但是写人数据操作时,其写操作只能有选择地把一些位从逻辑“1”置为逻辑“0",而无法将逻辑“0”置为逻辑“1"。由于这个特性,如果向同一个单元写入多次,那么这个单元最终的逻辑值将是曾经写入的所有逻辑值与的结果,而不是上一次写人数据的逻辑值。 ②向已经执行过写操作的单元内写人新的信息,但又不会将原来的信息改变,则必须事先对这个单元执行擦除操作。Flash存储器的擦除操作是将这个区间内的全部逻辑“0”复位到逻辑“1",擦除以区块(Block)为单位,也就是说必须进行整块擦除。

因为擦除过的区块中所有位都被置为逻辑 111,1,而任何值和逻辑“1”值相与的话都不会改变,因此写人的信息就会被正确地记录下来。 ③一般来说,对于NOR Flash存储器,区块在擦除后可以进行任意次随机写人,且写人操作以字为单位(通常为16位或32位)。但对于NAND Flash存储器来说,区块在一次擦除后只能进行有限几次写人,写人操作以页面(Page)为单位(通常一个Page为512字节或2 048字节),可以一次只写人页的一部分。NAND Flash每页都有额外的带外空间(OOB,即Out-of-band),比如说一个512字节的页面会配有16字节的OOB,而一个有着2048字节的页面配有64字节的OOBo 17期叶树梅,等:嵌入式系统中Flash存储管理策略 . Flash存储器中区块的可重复擦除次数是有限的(通常为100000次),当使用寿命达到后,则将无法对该区块进行擦除功能,也就是说,有些位将无法从逻辑“0”复位到逻辑“1"。

由于Flash读写存储的编程特点,则有必要对其进行存储过程管理以使整个系统性能得以改善。本文以TRI公司的基于NOR Flash的Flash管理软件FMM为例,下面先介绍嵌人式系统中FMM 是如何根据Flash的物理特性来进行Flash存储管理的。次数Erase count、用户标识和坏扇区表。N的取值直接与坏扇区表的大小有关,每个FMM管理的物理扇区占用表中的1位。从而在对数据进行存储时,可以通过查询表中相应位的值来确定该扇区的有效性。扇区状态有4种,用于进行掉电数据恢复: FREE一空扇区;DVALID一扇区数据无效;INUSE- 扇区数据有效;DIRTY一扇区数据无用,可擦除。对于数据扇区来说,其主要功能就是用于存放存储的数据信息。

2 FMM管理软件 首先FMM (Flash Media Manager)是由TRI公司开发的一种专门针对NOR型Flash存储器的管理软件,其主要特点如下:建立动态映射表将逻辑扇区和物理扇区进行一一对应;记录Flash存储数据时的擦写次数,从而均衡所有物理扇区的使用寿命;支持掉电数据恢复,从而保证系统的稳定性;建立坏扇区表对坏扇区进行管理,保证了系统的可靠性。FMM管理系统中扇区划分 对于大部分嵌人式操作系统来说,文件系统是建立在以扇区(sector)为单位的磁盘操作基础上的 (通常每个扇区为512字节)。针对于这个特性,因此需要一段特殊的Flash存储管理程序,来解决以扇区为单位的文件系统和以区块为单位的Flash存储物理特性之间的矛盾;并完成平衡各块之间的擦写次数和对坏块管理等工作。FMM是以扇区为基本管理单元来实现的数据管理,则FMM首先要对 Fl ash存储器中的块内存储空间逻辑进行重新定义。FMM管理系统将扇区分为ID扇区和数据扇区两部分。FMM管理系统中占用N个扇区作为标识ID (Identification)扇区,占用逻辑扇区号为0一No 然而这一部分扇区是文件系统所不能使用的,即是 FMM用来管理所占用的扇区存储空间。因此文件系统必须从N+1开始来管理逻辑扇区号。