nandflash

场景:Nandflash 驱动移栽 (一)

Nandflash 驱动移植 (一)

前段时间,研究了一下4G的Nandflash驱动。手头上只有飞凌6410BSP自带的Nandflash驱动,该驱动不支持K9GAG08U0D(2G)和K9LBG08U0D(4G)的Nandflash。所以就要先把这个Nandflash驱动搞成支持K9GAG08U0D(2G)的。

接下来要弄的就是支持K9LBG08U0D(4G)的Nandflash。由于TE6410板子用的是K9GAG08U0D(2G)的Nandflash,所以先移植到支持这个Nandflash的,再进一步修改成支持K9LBG08U0D的。


移植之前,先让我们来对比下K9GAG08U0D(2G)和K9LBG08U0D(4G)两个Nandflash:

K9GAG08U0D(2G):

• Organization
   - Memory Cell Array : (2G + 109M) x 8bit
   - Data Register        : (4K + 218) x 8bit  
 • Automatic Program and Erase
   - Page Program : (4K + 218)Byte
   - Block Erase     : (512K + 27.25K)Byte
 • Page Read Operation
   - Page Size : (4K + 218)Byte
   - Random Read : 60 µ s(Max.)
   - Serial  Access : 30ns(Min.)
 • Memory Cell : 2bit / Memory Cell

nandflash


K9LBG08U0D(4G):

Organization
   - Memory Cell Array : (2G + 109M) x 8bit(文档这里是写的2G,也不知道是不是三星那个写文档的人搞错了,明明是4G,怎么写的是2G)
   - Data Register        : (4K + 218) x 8bit  
 • Automatic Program and Erase
   - Page Program : (4K + 218)Byte
   - Block Erase     : (512K + 27.25K)Byte
 • Page Read Operation
   - Page Size : (4K + 218)Byte
   - Random Read : 60 µ s(Max.)
   - Serial  Access : 30ns(Min.)
    *K9MDG08U5D: 50ns(Min.)
 • Memory Cell : 2bit / Memory Cell

nandflash


两个Nandflash都是4K 页 218备用区的,这样就更好办了。而且这两个都可以直接使用8bit的ECC,刚好6410最大就能支持到8bit的ECC校验。


咱们再来看一下这个8BIT 的ECC校验流程:

nandflash


现在暂时到这里,下一篇将介绍6410中的NFCON控制寄存器部分。