新闻  |   论坛  |   博客  |   在线研讨会
SAMSUNG Nand Flash应用
mayer | 2009-06-25 18:29:33    阅读:1887   发布文章

SAMSUNG Nand Flash应用

 

转自:http://www.wangchao.net.cn/bbsdetail_610947.html

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;     //1字节, 坏块标记
   BYTE oemReserved;  //1字节, OEM自定义的字段
   WORD reserved2;    //1字, 保留
   DWORD reserved1;   //1字, 保留
   BYTE ecc[3];       //ECC, 共3字节
   BYTE unused[5];    //未用, 共5字节
  } LB_SPARE_AREA;
  oemReserved是OEM自定义的字段
  ecc用于验证512个字节
  badBlock是用来描述block的,在下面有详细的说明
点击看大图

  Invalid Block的判别标准
  Invalid Block,就是我们常说的坏块。SAMSUNG规定在block的第一和第二个page的Spare Area的第一个字节,对于非0xFF的,就判定该block为Invalid Block。也就是上面结构体中的badBlock,如果不等于0xFF,就说明是坏块。反之,对于一般的block,badBlock==0xFF

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客