K9F1G08U0B中文资料(部分)
128*8Bit NAND Flash存储器
工作电压范围:2.7~3.6V 存储单元:8位
特征描述
组织:存储单元为(128M+4M)*8位,数据寄存器为(2K+64)字节
自动页编程(写操作)和擦除:自动页编程(写操作)为(2K+64)字节,块擦除为(128K+4K)字节
页读操作:页大小为(2K+64)字节,任意读最大时间为25us,串行存取时间最小为:25ns
最快写操作周期:页编程(写操作)时间为200us,块擦除时间为1.5ms
命令/地址/数据I/O端口
概述
K9F1G08U0B的容量为1056Mbit(128M×8bits+64byte×64K×8bits)。K9F1G08U0B的页编程操作(写操作)在(2K+64)字节的也上执行,时间为200us,块擦除操作是在(128K+4K)字节的块上执行,时间为1.5ms。数据寄存器里的数据每字节被读出是用25ns是时间周期。I/O引脚为地址、命令和数据复用引脚。
引脚描述
引脚名称 |
引脚功能 |
I/O0~I/O7 |
命令、地址和数据复用引脚。命令和地址的输入,数据的输入输出 |
CLE |
命令锁存使能引脚 |
ALE |
地址锁存使能引脚 |
CE |
片选信号引脚(低电平有效) |
RE |
读使能引脚(低电平有效) |
WE |
写使能引脚(低电平有效) |
WP |
写保护引脚(低电平有效) |
R/B |
就绪/忙输出信号引脚(高电平表示就绪,低电平表示忙) |
Vcc |
电源引脚 |
Vss |
地引脚 |
N.C |
空脚 |
内部存储单元组织结构如图3所示。
发送地址说明
|
I/O0 |
I/O1 |
I/O2 |
I/O3 |
I/O4 |
I/O5 |
I/O6 |
I/O7 |
第一周期 |
A0 |
A1 |
A2 |
A3 |
A4 |
A5 |
A6 |
A7 |
第二周期 |
A8 |
A9 |
A10 |
A11 |
L |
L |
L |
L |
第三周期 |
A12 |
A13 |
A14 |
A15 |
A16 |
A17 |
A18 |
A19 |
第四周期 |
A20 |
A21 |
A22 |
A23 |
A24 |
A25 |
A26 |
A27 |
注释:1、第一和第二周期为列地址,第三和第四周期为行地址
2、L表示为低电平
产品描述
K9F1G08U0B的存储容量为1056MBit。由65536页(行)和2112列组成。又分为1024块,1块大小为64页(行)。每页大小为2112列(2K+64bytes(字节)),即2048bytes(字节)和附加的64bytes(字节)。附加的64bytes(即为OOB,out of band的缩写)的地址为2048~2111。
读页操作和页编程操作(写操作)都是基于页的,而擦除操作是基于块的。
K9F1G08U0B的8位I/O口为地址、命令和数据复用。这样方便以后升级到大容量。命令、地址和数据在WE和CE位低电平时写入I/O口,在WE下降沿被锁存。命令靠使能CLE来锁存,地址靠使能ALE来锁存。一些命令需要一个总线周期,例如:复位命令、状态读等。一些命令需要两个总线周期,在这两个周期里,第一个来建立,第二个来执行,例如读页、块擦除和页编程。132M字节的物理空间需要28位地址序列,28位地址序列需要4个总线周期发送到I/O端口:前两个发送列地址序列,后两个发送行地址序列。同样,页读和页编程在输入相应的命令之后再输入4个地址序列。而擦除操作只需要两个行地址。下表为K9F1G08U0B的命令
功能 |
第一周期 |
第二周期 |
忙时可接受的命令 |
读 |
00h |
30h |
|
回读 |
00h |
35h |
|
读ID |
90h |
- |
|
复位 |
FFh |
- |
O |
页编程(读页) |
80h |
10h |
|
页回写 |
85h |
10h |
|
块擦除 |
60h |
D0h |
|
任意数据输入 |
85h |
- |
|
任意数据输出 |
05h |
E0h |
|
读状态 |
70h |
|
O |
读EDC状态 |
7Bh |
|
O |
注释:1、任意数据输入/输出可在一页中执行
2、只有在Copy Back操作时才可读EDC状态
3、任何未定义命令都不可以输入
最初无效块(坏块)描述
坏块有两种:出厂时的坏块(叫最初无效块)和使用过程中出现的坏块。
最初无效块被定义为那些包含1位或多位最初无效位的块。出厂时可能会有坏块,被称为最初无效块,三星公司已标出,三星公司在最初无效块的第一和第二页的地址2048处(OOB区的第一个字节)用非FF标记,在这些坏块(最初无效块)上不得执行擦除和页编程命令。
在使用过程中也会出现坏块,即当我们擦除块或页编程失败时,我们就认为此块为坏块。当出现坏块时,我们要在该块的第一页和第二页的OOB区的第一个字节(地址2048处)用非FF标记。
对于未用块(此块中未存放数据),在擦除一块时我们要先检查一下此块是否是坏块(读该块第一页和第二页的OOB区的第一个字节,若是FF为好块,若是非FF为坏块),好块可以擦除,坏块则不可以擦除。当擦除或页编程失败时,就认为此块为坏块。此时要进行标记。
Nand flash有个特性:存储单元只能从1变为0,而不能从0变为1。所以在进行页编程时要先对此块进行擦除,擦除成功之后,存储单元变为1,之后就可以进行页编程了。对于以用块(此块中以存放数据),我们要先将存放的数据读出,再擦除,成功之后就可以将读出的数据和我们要写如的数据一块写进该块了。若失败标记该块为坏块,用其他未用好块存放我们的数据。
K9F1G08U0B的ID的读
当输入读ID命令后,我们可以连续读出5个字节
第一个字节为ECh,表示制造商号,表示是三星公司生产
第二个字节为F1h,表示机器号,表示是K9F1G08U0B
第三个、第四个和第五个字节分别为00h、95h、40h,其涵义如下
第三个字节涵义
|
描述 |
I/O7 |
I/O6 |
I/O5 I/O4 |
I/O3 I/O2 |
I/O1 I/O0 |
内部芯片数 |
1 2 4 8 |
|
|
|
|
0 0 0 1 1 0 1 1 |
存储单元类型 |
2 4 8 16 |
|
|
|
0 0 0 1 1 0 1 1 |
|
可同时进行页编程的个数 |
1 2 4 8 |
|
|
0 0 0 1 1 0 1 1 |
|
|
多片间是否可插入编程 |
不支持
支持 |
|
0
1 |
|
|
|
编程是否支持缓存 |
不支持 支持 |
0 1 |
|
|
|
|
第四个字节涵义
|
描述 |
I/O7 |
I/O6 |
I/O5 I/O4 |
I/O3 |
I/O2 |
I/O1 I/O0 |
页大小 |
1KB 2KB 4KB 8KB |
|
|
|
|
|
0 0 0 1 1 0 1 1 |
块大小 |
64KB 128KB 256KB 512KB |
|
|
0 0 0 1 1 0 1 1 |
|
|
|
多余区域大小(1) |
8 16 |
|
|
|
|
0 1 |
|
组织结构 |
×8 ×16 |
|
0 1 |
|
|
|
|
最小串行存取时间 |
50ns/30ns 25ns 保留 保留 |
0 1 0 1 |
|
|
0 0 1 1 |
|
|
(1)关于“多余区域大小”:用来计算空闲区域的大小,计算公式为:多余区域大小乘以(页大小除以512)
第五个字节涵义
|
描述 |
I/O78 |
I/O6 I/O5 I/O4 |
I/O3 I/O2 |
I/O1 |
I/O0 |
层个数 |
1 2 4 8 |
|
|
0 0 0 1 1 0 1 1 |
|
|
层大小 |
64Mb 128Mb 256Mb 512Mb 1G 2G 4G 8G |
|
0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 |
|
|
|
保留 |
|
0 |
|
|
0 |
0 |
未把全部译完,主要是坏块这一块写出来,供大家阅读,关于读写等操作,大家可以参考一下三星的英文资料。
用户377235 2013-12-23 20:00
用户377235 2012-11-15 15:51
用户1583963 2011-6-30 16:21
用户366267 2011-6-29 11:07