1336TGTBSP1A 7410150051

更新时间: 2023-11-01

 1.2 NAND flash结构

  不同厂商不同型号的flash的结构都大同小异,图l所示是三星K9G8G08UOA型号的flash结构图,图l中的1个flash芯片包含4096个物理块(block),每个物理块含有128个页(page),每个页包含2112(2048+64)字节其中多出的64字节用于存放纠错码及其他信息用。

  1.3 NAND flash的特点

  Flash可支持读(Read)操作、写(Program)操作和擦除(Erase)操作。其中读操作和写操作的基本单位是页,擦除操作的基本单位是块。对flash的写入操作只能在尚未写入的空闲页上进行,并且只能按照从低地址页到高地址页的顺序进行操作,而不能写了高地址页之后,再写低地址页。如果想要修改某个已经写过的页,只能先对整个物理块进行擦除,然后才能正确写入。

  2 Flash管理算法

  2.1 逻辑物理地址映射

  由于flash具有上述特点,因此,如果不采用逻辑物理地址映射,将会存在两个问题:其一是Flash中难免会有坏块,因而某些地址空间将是不可用的;其二,Flash读写的基本单位是页,擦除的基本单位是块,故在同一个页的两次写之间,就必须要进行一次擦除操作,而擦除会擦除掉整个块,这样,为了避免其他页的数据丢失,就得先把这些页中的数据暂存到其他地方备份起来,之后再和新数据一起重新写回到该块中,因此,整个过程会比较复杂,而且会造成速度降低。这样,一般都需要对flash加入逻辑物理地址映射管理算法,该算法的逻辑地址和物理地址的对应关系是变动的。