MTK地址线问题
1B(Byte)=8b(bit)
MTK 256/128/128 Mb (16/8/8 M x 16-Bit)
MTK平台的EMI接口地址线
每个地址寻找一个点,而我们一般的flash有16位的数据,所以128应该是2的23次方在乘于16,也就是128 Mbit了
我也有疑问,为什么不是从EA0---EA22呢?
1 Nand flash 工作原理
S3C2410 板的Nand Flash 支持由两部分组成:Nand Flash 控制器(集成在S3C2410 CPU)和Nand Flash 存储
芯片(K9F1208U0B)两大部分组成。当要访问Nand Flash中的数据时,必须通过Nand Flash控制器发送命
令才能完成。所以, Nand Flash相当于S3C2410的一个外设,而不位于它的内存地址区.
1.1 Nand flash 芯片工作原理
Nand flash 芯片型号为Samsung K9F1208U0B,数据存储容量为64MB ,采用块页式存储管理。8 个I/O
引脚充当数据、地址、命令的复用端口。
1.1.1 芯片内部存储布局及存储操作特点
一片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 码(关于硬件ECC 码请参看
Nandflash 控制器一节).
1.1.2 重要芯片引脚功能
I/O0-I/O7:复用引脚。可以通过它向nand flash 芯片输入数据、地址、nand flash 命令以及输出数据和操作
状态信息。
CLE(Command Latch Enable): 命令锁存允许
ALE(Address Lactch Enable): 地址锁存允许
-CE: 芯片选择
-RE: 读允许
-WE: 写允许
-WP: 在写或擦除期间,提供写保护
R/-B: 读/忙输出
1.1.3 寻址方式
Samsung K9F1208U0B Nand Flash 片内寻址采用26 位地址形式。从第0 位开始分四次通过I/O0 -I/O7 进
传送,并进行片内寻址。具体含义如下:
0 -7 位:字节在上半部、下半部及OOB 内的偏移地址
8 位:值为0 代表对一页内前256 个字节进行寻址
值为1 代表对一页内后256 个字节进行寻址
9-13位:对页进行寻址
14-25 位:对块进行寻址
当传送地址时,从位0 开始
每个地址寻找一个点,而我们一般的flash有16位的数据,所以128应该是2的23次方在乘于16,也就是128 Mbit了
是的!flash的位宽也是决定容量的因素,2^23只是寻址范围,再乘以位宽才是容量
长知识了
多谢,学习le