一、NandFlash内部结构:
不同开发板使用的NandFlash的型号可能不一样,本文只是以K9F1208U0M为例做个简单介绍。引脚描述如下所示:
NandFlash存储单元结构图如下所示:
Device、Block和Page之间的关系---1 Device = 4,096 Blocks = 4096*32 Pages = 128K Pages;1 Block = 32 Page;1 Page = 528 Byte = 512 Byte + 16 Byte。其中1 Page中包含有数据寄存器512 Byte和16 Byte的备用位用于ECC校验存储。所以有528 columns * 128K rows(Pages)。1 Page中的512 Byte的数据寄存器又分为两个部分1st 256 Bytes和 2nd 256 Bytes。用于数据存储的单元有 512 Bytes * 32 Pages * 4096 Blocks = 64 MB,用于ECC校验单元有16 Bytes * 32 Pages * 4096 Blocks = 2MB 。
二、NandFlash命令字:
操作NandFlash时,先传输命令,然后传输地址,最后进行数据的读/写。K9F1208U0M的命令字如下所示:
由于寻址需要26bit的地址,该26bit地址通过四个周期发送到NandFlash,如下图所示: