S3C2410板的Nand Flash支持由两部分组成:Nand Flash控制器(集成在S3C2410 CPU)和Nand
Flash存储芯片(K9F1208U0B)两部分组成。当要访问Nand Flash中的数据时,必须通过Nand Flash控制器发送命令才能完成。所以Nand
Flash相当于S3C2410的一个外设,而不位于它的内存地址区.
Nand
flash芯片工作原理
------------------------------------
Nand
flash芯片型号为Samsung
K9F1208U0B,数据存储容量为64MB,采用块页式存储管理。8个I/O
引脚充当数据、地址、命令的复用端口。
芯片内部存储布局及存储操作特点:
一片Nand flash为一个设备(device), 其数据存储分层为:
1 (Device) =
4096 (Blocks)
1 (Block) -= 32 (Pages/Rows)
页与行是相同的意思,叫法不一样
1 (Page) = 528 (Bytes) = 数据块大小(512Bytes) + OOB
块大小(16Bytes)
在每一页中,最后16个字节(又称OOB)用于Nand
Flash命令执行完后设置状态用,剩余512个字节又
分为前半部分和后半部分。可以通过Nand
Flash命令00h/01h/50h分别对前半部、后半部、OOB进行定位通过
Nand Flash内置的指针指向各自的首地址。
存储操作特点:
1. 擦除操作的最小单位是块。
2. Nand
Flash芯片每一位(bit)只能从1变为0,而不能从0变为1,所以在对其进行写入操作之前要一定将相应块擦除(擦除即是将相应块得位全部变为1).
3. OOB部分的第六字节(即517字节)标志是否是坏块,如果不是坏块该值为FF,否则为坏块。
4.
除OOB第六字节外,通常至少把OOB的前3个字节存放Nand Flash硬件ECC码
阅读(2385) | 评论(0) | 转发(1) |