nand falsh的基础知识

【Nand flash的特点】

1.Nand flash读写的最小单位是页page,而不是其他很多设备所说的位bit;

2.写入数据之前必须先进行擦除erase操作,擦除的最小单位是块block

3.由于物理特性,容易出错,所以无论是读还是写,都要采取校验,即ECC;

4.nand flash出厂时候,就有一定坏的块block,成为换块,并且做了一定标记;

5.nand flash中有个额外的空间,叫做spare area/oob,作用下面会讲到。

 

【spare area/oob】

Nand由于最初硬件设计时候考虑到,额外的错误校验等需要空间,专门对应每个页,额外设计了叫做spare area空区域,在其他地方,比如jffs2文件系统中,也叫做oob(out of band)数据。其具体用途,总结起来有:

1. 标记是否是坏快;

2. 存储ECC数据;

3. 存储一些和文件系统相关的数据,如jffs2就会用到这些空间存储一些特定信息。

 

【常见Nand Flash的大小及参数】

常见的nand flash 的大小,由最开始的小于256M,到现在的常见的1G,2G,甚至更大。

以前的nand flash的Pagesize页大小,多为512B+16B的oob,block大小为64*(512B+16B)=32KB+1KB。

现在目前市场上见到的,绝大多数,都是新的nand falsh,其Pagesize页大小多为2KB+64B的oob,block大小多为64pages页=64*(2K+64B)=128KB+4KB,一个nand flash中的芯片,一般含有4096个块,比如samsung的K9F4G08U0M,所以这个nand flash大小就是

4096 Blocks = 4096 * 64 *(2K+64B)=512MB

即:

1 Page = (2K + 64)Bytes

1 Block = (2K + 64)B x 64 Pages

= (128K + 4K) Bytes

1 Device = (2K+64)B x 64Pages x 4,096 Blocks

= 4,224 Mbits =512MB

你可能感兴趣的:(Flash,存储)