K9K8G08U1M
- 512Mx8Bits
- Package Type: 48-Pin TSOP1
这是典型的NAND flash,由block组成,每一个block包含64个Pages,而一个page是2k+64=2048+64=2112字节。对于一个page,0~2047个字节用来存储数据,2048~2111,共64个字节,Spare Area,用来存储page中每个sector的信息,其中第一个16字节用于描述第一个512个字节,第二个16字节用于描述第二个512个字节,以此类推,共64个字节,用于描述前面的2048个字节。这每一个16字节,在little-endian的CPU上可以用下面的结构体表示。
typedef struct {
BYTE badBlock;
BYTE oemReserved;
WORD reserved2;
DWORD reserved1;
BYTE ecc[3];
BYTE unused[5];
} LB_SPARE_AREA;oemReserved是OEM自定义的字段
ecc用于验证512个字节
badBlock是用来描述block的,在下一节会有详细的说明
Invalid Block的判别标准
typedef struct {
BYTE badBlock;
BYTE oemReserved;
WORD reserved2;
DWORD reserved1;
BYTE ecc[3];
BYTE unused[5];
} LB_SPARE_AREA;
Invalid Block,就是我们常说的坏块。SAMSUNG规定在block的第一和第二个page的Spare Area的第一个字节,对于非0xFF的,就判定该block为Invalid Block。也就是上面结构体中的badBlock,如果不等于0xFF,就说明是坏块。反之,对于一般的block,badBlock==0xFF。
本文详细介绍了NAND Flash的基本结构,包括每个block由64个pages组成,每个page的容量为2048+64字节。文章还深入探讨了SpareArea的作用及其结构,并解释了如何通过badBlock字段来判断InvalidBlock。
4236

被折叠的 条评论
为什么被折叠?



