16M 8 位 8M 16 位 NAND Flash 存储器 K9F28XXU0C
产品列表
器件类型 Vcc 范围 结构 PKG 类型
K9F2808U0C-Y, P TSOP1
K9F2808U0C-V, F
8
WSOP1 K9F2816U0C-Y, P
2.7 3.6V
16 TSOP1
特性
n 电源电压 2.7 3.6V n 结构
存储器单元阵列
8 器件 K9F2808U0C 16M+512K 位 8 位 16 器件 K9F2816U0C 8M+256K 位 16 位 数据寄存器
8 器件 K9F2808U0C 512+16 位 8 位 16 器件 K9F2816U0C 256+8 位 16 位 n 自动编程和擦除
页编程
8 器件 K9F2808U0C 512+16 字节 16 器件 K9F2816U0C 256+8 字 块擦除
8 器件 K9F2808U0C 16K+512 字节 16 器件 K9F2816U0C 8K+256 字节 n 页面读操作
页面规格
8 器件 K9F2808U0C 512+16 字节 16 器件 K9F2816U0C 256+8 字 随机访问 10us 最大
串行页面访问 50ns 最小 n 快速写周期时间
编程时间 200us 典型值 块擦除时间 2ms 典型值 n 命令/地址/数据复用 I/O 口 n 硬件数据保护
电源变化时编程/擦除关闭 n 可靠的 CMOS 浮闸技术 耐用性 100K 编程/擦除周期 数据保存时间 10 年 n 命令寄存器操作 n 特有的 ID 版权保护 n 封装
K9F28XXU0C-YCB0/YIB0 48 脚 TSOP 12 20/0.5 mm 间距
K9F28XXU0C-PCB0/PIB0
48 脚 TSOP 12 20/0.5mm 间距 无铅封装 K9F2808U0C-VCB0/VIB0
48 脚 WSOP 12 17 0.7mm K9F2808U0C-FCB0/FIB0
48 脚 WSOP 12 17 0.7mm 无铅封装
*除封装外 K9F2808U0C-V/F (WSOPI)和 K9F2808U0C-Y/P (TSOP1)完全相同
概述
K9F28XXU0C 是一个含有 4M 位备用容量的 128M 位 Flash 存储器 提供 16M 8 位或 8M 16 位两种 结构 它的 Vcc 为 3.3V 其 NAND 单元为固态海量存储器市场提供了最低成本的方案 528 字节 8 器 件 或 264 字 16 器件 的页编程操作时间为 200us 16K 字节 8 器件 或 8K 字 16 器件 的块 擦除操作时间为 2ms 页面的数据以每个字 8 器件或 16 器件 50ns 的速度被读出 I/O 管脚可用作地 址线 数据输入/输出口以及命令输入口 片内写控制自动实现所有编程和擦除功能 包括脉冲的周期 内 部校验和数据冗余 主要需要写操作的系统也可利用 K9F28XXU0C 的 100K 可靠的编程/擦除周期 通过提 供实时描述算法得出的 ECC 错误校验码 特性来实现
对于诸如固态文件存储和其它需要非易失性存储器的手持式应用等大量非易失性存储器应用 使用 K9F28XXU0C 器件可轻松实现
管脚配置 TSOP1
K9F28XXU0C-YCB0,PCB0/YIB0,PIB0
N.C N.C N.C N.C N.C GND R/B RE CE N.C N.C Vcc Vss N.C N.C CLE ALE WE WP N.C N.C N.C N.C N.C
Vss I/O15 I/O7 I/O14 I/O6 I/O13 I/O5 I/O12 I/O4 N.C N.C Vcc N.C N.C N.C I/O11 I/O3 I/O10 I/O2 I/O9 I/O1 I/O8 I/O0 Vss 1
2 3 4 5 6 7 8 109 11 12 13 14 15 16 1718 19 20 21 22 23 24
48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 N.C
N.C N.C N.C N.C GND R/B RE CE N.C N.C Vcc Vss N.C N.C CLE ALE WE WP N.C N.C N.C N.C N.C
N.C N.C N.C N.C I/O7 I/O6 I/O5 I/O4 N.C N.C N.C Vcc Vss N.C N.C N.C I/O3 I/O2 I/O1 I/O0 N.C N.C N.C N.C
X8
X16 X8 X16
封装尺寸
48 脚铅/无铅 TSOP 封装类型(1)
48 - TSOP1 - 1220F
Unit :mm/Inch0.787±0.008
20.00±0.20
#1
#24
#48
#25
0.039±0.002
1.00±0.05
0.002 0.05MIN
0.047 1.20MAX
0.45~0.75 0.018~0.030
0.724±0.004
18.40±0.10
0~8°
0.50 0.020
( )
管脚配置 WSOP1
1 2 3 4 5 6 7 89 10 11 12 13 14 15 1617 18 19 20 21 22 23 24
48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 N.C
N.C DNU N.C N.C N.C R/B RE CE DNU N.C Vcc Vss N.C DNU CLE ALE WE WP N.C N.C DNU N.C N.C
N.C N.C DNU N.C I/O7 I/O6 I/O5 I/O4 N.C DNU N.C Vcc Vss N.C DNU N.C I/O3 I/O2 I/O1 I/O0 N.C DNU N.C N.C
封装尺寸
48 脚铅 WSOP1 封装类型(1)
48 - WSOP1 - 1217F
Unit :mm15.40±0.10
#1
#24
#48
#25
17.00±0.20
0°~ 8°
0.45~0.75 0.58±0.04
0.70 MAX
(0.01Min)
管脚描述
管脚名称 管脚功能
I/O0 I/O7 (K9F2808U0C) I/O0 I/O15 (K9F2816U0C)
数据输入/输出
这些 I/O 口用来输入命令 地址和数据 以及在读操作时输出数据 当芯片未被选 择使用或输出禁止时 I/O 口为高阻态
I/O8 I/O15 只用在 16 器件中 由于命令和地址输入都是 8 的操作 因此 I/O8 I/O15 不能用于输入命令&地址 I/O8 I/O15 只能用作数据输入和输出口
CLE 命令锁存使能
CLE 输入控制着发送到命令寄存器的命令的有效通路 当它为有效的高电平时 命 令在 WE 信号的上升沿通过 I/O 口锁存到命令寄存器中
ALE 地址锁存使能
ALE 输入控制着地址到内部地址寄存器的有效路径 ALE 为高电平时 地址在 WE 信号的上升沿被锁存
CE 芯片使能
CE 输入是器件选择控制信号 当器件出于忙状态时 CE 的高电平被忽略 器件 在执行编程或擦除操作时不会返回到等待模式 有关 CE 控制信号对读操作的影响 请参考器件操作的 页面读 一节的内容
续上表
管脚名称 管脚功能
RE 读使能
RE 输入控制着串行数据的输出 当该信号有效时 数据被驱动到 I/O 总线上 RE 变成上升沿 tREA 后 数据有效 RE 每出现一次上升沿 内部列地址计数器就加 1
WE 写使能
WE 输入控制着写 I/O 口操作 命令 地址和数据在 WE 脉冲的上升沿被锁存
WP 写保护
WP 为电源变化时的无意写提供了写/擦除保护 当 WP 管脚为有效低电平时 内部 高电压发生器复位
R/ B 读/忙输出
R/ B 输出用来指示器件的工作状态 为低时 表明器件正在执行编程 擦除或随机 读操作 这些操作完成后 R/ B 返回高电平 该信号是一个开漏输出 当芯片未被 选择使用或输出被禁能时它不呈现高阻态
VCCQ 输出缓冲区电源
VCCQ是输出缓冲区的电源
VCCQ内部连接到 Vcc 因此其值与 Vcc 很接近
Vcc 电源
Vcc 是器件电源
Vss 地
N.C 不连接
管脚内部不连接
GND 使能备用空间的 GND 输入
当执行包括备用空间在内的连续读操作时 该输入脚连接到 Vss 或设置成静态低状 态 当执行除备用空间外的连续读操作时 该输入脚连接到 Vcc 或设置成静态高状 态
DNU 未使用
该管脚不连接 注
每个器件的所有 Vcc 和 Vss 管脚都连接到公共的电源输出 Vcc 或 Vss 不能悬空不连
V
CCX-缓冲区
128M + 4M Bit
命令寄存器
NAND Flash
阵列(512 + 16)Byte x 32768
Y-Gating
页面寄存器 & S/AI/O 缓冲区 & 锁存器
锁存器& 译码器
Y-缓冲区
锁存器& 译码器
& 高电压发生器
输出驱动器
V
SSA
9- A
23A
0- A
7命令
CE RE WE
WP
I/0 0 I/0 7 VCC/VCCQ
VSS
A8
CLE ALE 控制逻辑
总缓冲区
图 1.1 K9F2808U0C ( 8)功能框图
512Byte 16 Byte
I/O 0 I/O 1 I/O 2 I/O 3 I/O 4 I/O 5 I/O 6 I/O 7 1st Cycle A0 A1 A2 A3 A4 A5 A6 A7
2nd Cycle A9 A10 A11 A12 A13 A14 A15 A16
3rd Cycle A17 A18 A19 A20 A21 A22 A23 L*
1st half Page Register (=256 Bytes)
2nd half Page Register (=256 Bytes)
32K Pages (=1,024 Blocks)
512 Byte
8 bit
16 Byte
1 Block =32 Pages
= (16K + 512) Byte
I/O 0 ~ I/O 7
1 Page = 528 Byte
1 Block = 528 Byte x 32 Pages = (16K + 512) Byte
1 Device = 528Bytes x 32Pages x 1024 Blocks = 132 Mbits
列地址 行地址 (页面地址) 页面寄存器
注 列地址 寄存器的起始地址
00h 命令 读 定义寄存器的第一个半页的起始地址 01h 命令 读 定义寄存器的第二个半页的起始地址
*A8 通过 00h 或 01h 命令设置成 低 或 高
*器件忽略任何不需要的地址周期的输入
*L 必须设置成 低
图 2.1 K9F2808U0C ( 8)阵列结构
V
CCX-缓冲区
128M + 4M Bit
命令寄存器
NAND Flash ARRAY
(256 + 8)Word x 32768
Y-Gating
页面寄存器& S/AI/O 缓冲区 & 锁存器
锁存器& 译码器
Y-缓冲区
锁存器& 译码器
控制逻辑
&高电压发生器
总缓冲区 输出驱动器
V
SSA
9- A22
A
0- A
7命令
CE RE WE
WP
I/0 0 I/0 15 VCC/VCCQ
VSS
CLE ALE
图 1.2 K9F2816U0C ( 16)功能框图
256Word 8 Word
I/O 0 I/O 1 I/O 2 I/O 3 I/O 4 I/O 5 I/O 6 I/O 7 I/O8 to 15
1st Cycle A0 A1 A2 A3 A4 A5 A6 A7 L*
2nd Cycle A9 A10 A11 A12 A13 A14 A15 A16 L*
3rd Cycle A17 A18 A19 A20 A21 A22 L* L* L*
Page Register (=256 Words)
32K Pages (=1,024 Blocks)
256 Word
16 bit
8 Word
1 Block =32 Pages
= (8K + 256) Word
I/O 0 ~ I/O 15
1 Page = 264 Word
1 Block = 264 Word x 32 Pages = (8K + 256) Word
1 Device = 264Words x 32Pages x 1024 Blocks = 132 Mbits
列地址 行地址
(页面地址)
页面寄存器注 列地址 寄存器的起始地址
*L 必须设置成 低
*器件忽略任何不需要的地址周期的输入
图 2.2 K9F2816U0C ( 16)阵列结构
器件简介
K9F23XXU0C 是一个 132Mbit 138,412,032 bit 的存储器 组成 32,768 行 页 528 8 器件 或 264 16 器件 列 备用的 8 列位于 512 527 列 8 器件 或 256 263 列 16 器件 一个 528 字
节 8 器件 或 264 字 16 器件 的数据寄存器连接到存储器单元阵列来实现页面读和页面编程操作 中 I/O 缓冲区和存储器之间的数据传输 存储器阵列由 16 个单元组成 这 16 个单元串联到一起形成一个 NAND 结构 每个单元位于不同的页面 一个块由两个 NAND 结构的串组成 一个 NAND 结构包含 16 个 单元 全部 135168 个 NAND 单元位于一个块中 阵列的结构见图 2.1 2.2 编程和读操作是对页面的操作 而擦除操作则是对块的操作 存储器阵列由 1024 个独立的可擦除的 16K 字节 8 器件 或 8K 字 16 器件 块组成 K9F28XXU0C 禁止位擦除
K9F28XXU0C 的地址复用到 8 位的 I/O 口 16 器件 低 8 位 I/O 口 K9F2816U0C 允许 16 位宽的 数据写入页面寄存器或从页面寄存器中读出 这种方法可显著降低器件的管脚数目 提高性能 并且 允 许系统升级到更高的密度而保持系统板的固有设计不变 当 CE 为低时 将 WE 变低可使地址和数据通过 I/O 口写入 数据在 WE 的上升沿被锁存 命令锁存使能 CLE 和地址锁存使能 ALE 分别用在复用时 对通过 I/O 口的命令和地址进行处理 一些命令只需要 1 个总线周期的执行时间 例如 复位命令 读命 令 状态读命令等都只需要 1 个总线周期 一些诸如页编程和块擦除的其它命令需要 2 个周期 1 个周期 用来建立命令 另一个周期用来执行命令 16K 字节 8 器件 或 32K 字 16 器件 的物理空间需要 24 根地址线 8 器件 或 23 根地址线 16 器件 因此 字寻址方式需要 3 个周期 按照列地址 行 地址低字节和行地址高字节的顺序 页面读和页面编程需要相同的 3 个地址周期 它们在所需的命令输入 后开始执行 在块擦除操作中 只使用 2 个行地址周期 器件的操作通过将指定的命令写入命令寄存器来 选择 表 1 定义了 K9F28XXU0C 的指定命令
器件还包含一个块的 OTP 一次性可编程 可用来增强系统的安全性或提供系统识别能力 有关的详 细信息请与 Samsung 公司联系
表 1 命令
功能 第一个周期 第二个周期 忙时可接受的命令
读 1 00h/ 01h(1) -
读 2 50h -
读 ID 90h -
复位 FFh - O
页编程 80h 10h
块擦除 60h D0h
读状态 70h - O
注 1. 00h 命令定义了寄存器的第一个半页的起始地址 01h 命令定义了寄存器的第二个半页的起始地址
当使用 01h 命令访问完寄存器的第二个半页的数据后 起始指针在下个周期自动移至寄存器的第一 个半页 00h
注意 除表 1 中定义的命令外 禁止输入任何未定义的命令
绝对最大额定值
参数 符号 额定值 单位
VIN/OUT -0.6 +4.6
VCC -0.6 +4.6 相对于 VSS的任何管脚电压
VCCQ -0.6 +4.6
V
K9F28XXU0C-XCB0 -10 +125 温度
K9F28XXU0C-XIB0
TBIAS
-40 +125 K9F28XXU0C-XCB0
存储温度
K9F28XXU0C-XIB0
TSTG -65 +150
短路电流 LOS 5 mA
注
1. 输入/输出管脚上的 DC 电压最小值是-0.6V 转变过程中 这个电平在小于 30ns 的周期内可以下降到 -2.0V 输入/输出管脚上的 DC 电压最大值是 VCC+0.3V 转变过程中 这个电平在小于 20ns 的周期内 可上升到 VCC+2.0V
2. 如果超出绝对最大额定值 可能造成器件的永久损坏 功能操作的限制条件在本数据手册中有详细描 述 长期工作在最大额定值条件下会影响器件的可靠性
建议工作条件
电压以 GND 为参考点, K9F28XXU0C-XCB0 TA=0 70 K9F28XXU0C-XIB0 TA= -40 85 K9F28XXU0C 3.3V
参数 符号
最小值 典型值 最大值
单位
电源电压 VCC 2.7 3.3 3.6 V
电源电压 VCCQ 2.7 3.3 3.6 V
电源电压 VSS 0 0 0 V
DC 和工作特性
建议的工作条件 除非特别说明参数 符号 测试条件 最小值 典型值 最大值 单位
连续读
ICC1
tRC=50ns CE =VIL
IOUT=0mA
- 10 20
编程 ICC2 - - 10 20
工作 电流
擦除 ICC3 - - 10 20
等待电流 TTL ISB1 CE =VIH WP =0V/VCC - - 1
mA
等待电流 CMOS
ISB2 CE = VCC –0.2 WP =0V/VCC - 10 50
输入漏电流 ILI VIN=0 VCC 最大值 - - 10 输出漏电流 ILO VOUT=0 VCC 最大值 - - 10
uA
I/O 管脚 2.0 - VCCQ+0.3
输入高电压 VIH*
除了 I/O 管脚 2.0 - VCC+0.3
输入低电压 所有 输入
VIL* - -0.3 - 0.8
输出高电压电平 VOH IOH=-400 A 2.4 - - 输出低电压电平 VOL IOL=2.1mA - - 0.4
V
输出低电流 R/ B
IOL
(R/ B
)
VOL=0.4V 8 10 -mA
注 对于 20ns 或小于 20ns 的时间内 VIL可以降低到-0.4V VIH可以上升到 VCC +0.4V
有效块
参数 符号 最小值 典型值 最大值 单位
有效块数量 NVB 1004 - 1024 Block
注 1. 当首次出厂时 器件可能包含无效块 使用过程中可能会出现其它的无效块 有效块的数量与出 现无效块的情况有关 无效块是指含有 1 个或多个错误数据位的块 不能擦除或编程出厂时已被 屏蔽的坏的块 有关无效块的处理请参考相应的技术注意事项
2. 第 1 块的地址为 00h 这个块保证有效 整个 1k 的编程/擦除周期内都无需进行错误校验 3. 每个邻近的 64M 存储器空间至少含有 502 个有效块
AC 测试条件
K9F28XXU0C-XCB0 TA=0 70 K9F28XXU0C-XIB0 TA= -40 85
K9F28XXU0C
VCC 2.7 3.6V 除非特别说明参数 K9F28XXU0C
输入脉冲电平 0.4V 2.4V
输入上升和下降时间 5ns
输入和输出时序电平 1.5V
输出负载 VCCQ 3.0+/-10% 1 TTL GATE 和 CL=50pF 输出负载 VCCQ 3.3+/-10% 1 TTL GATE 和 CL=100pF
电容
TA=25 VCC=3.3V f=1.0MHz参数 符号 测试条件 最小值 最大值 单位
输入/输出电容 CI/O VIL=0V - 10 pF
输入电容 CIN VIN=0V - 10 pF
注 电容是采样得到的 并未经 100%测试
模式选择
CLE ALE CE WE RE GND WP Mode
H L L H X X
读模式
L H L H X X
H L L H X H
写模式
L H L H X H
L L L H L H 数据输入
L L L H L X
L L L H H L X 在K9F2808U0C_Y或P or K9F2808U0C_V,F上读操作过程中 忙
X X X X H L X 除K9F2808U0C_Y,P和 K9F2808U0C_V,F之外的其它器件的读
操作过程中
X X X X X L H
X X X X X X H
X X(1) X X X X L
X X H X X 0V 0V/VCC(2)
命令输入 地址输入 3个时钟 命令输入 地址输入 3个时钟
数据输出
编程过程中 忙 擦除过程中 忙
写保护 等待
注 1. X 可以是 VIL或 VIH
2. 备用模式下 WP 应为 CMOS 高或 CMOS 低
编程/擦除特性
参数 符号 最小值 典型值 最大值 单位
编程时间 tPROG - 200 500 us
主阵列 - - 2 周期
同一页的部分编程周期数
备用阵列
Nop
- - 3 周期
块擦除时间 tBERS - 2 3 ms
命令/地址/数据输入的 AC 时序特性
参数 符号 K9F2808U0C 单位
CLE 建立时间 tCLS 0 - ns
CLE 保持时间 tCLH 10 - ns
CE 建立时间 tCS 0 - ns
CE 保持时间 tCH 10 - ns
WE 脉冲宽度 tWP 25 - ns
ALE 建立时间 tALS 0 - ns
ALE 保持时间 tALH 10 - ns
数据建立时间 tDS 20 - ns
数据保持时间 tDH 10 - ns
写周期时间 tWC 50 - ns
WE 高电平保持时间 tWH 15 - ns
注 如果 tCS小于 10ns tWP的最小值必定为 35ns 否则 tWP的最小值可能是 25ns
AC 工作特性
参数 符号 K9F2808U0C 单位
从存储单元到寄存器的数据传输 tR - 10 us
ALE 到 RE 的延时 tAR 10 - ns
CLE 到 RE 的延时 tCLR 10 - ns
准备就绪到 RE 低电平 tRR 20 - ns
RE 脉冲宽度 tRP 25 - ns
WE 高到忙 tWB - 100 ns
读周期时间 tRC 50 - ns
CE 访问时间 tCEA - 45 ns
RE 访问时间 tREA - 30 ns
RE 高到输出高阻 tRHZ - 30 ns
CE 高到输出高阻 tCHZ - 20 ns
RE 或 CE 高到输出保持 tOH 15 - ns
RE 高电平保持时间 tREH 15 - ns
输出高阻到 RE 低 tIR 0 - ns
WE 高到 RE 低 tWHR 60 - ns
器件复位时间 读/编程/擦除 tRST - 5/10/500 1 s 上一个 RE 高到忙
连续读
tRB - 100 ns
CE 高到准备就绪 读过程 中被 CE 中途终止
tCRY - 50+tr R/ B 3 ns 只有
K9F2808U0C- Y, P, V, F
CE 高电平保持时间 上一 次串行读操作 2
tCEH 100 - ns
注 1. 如果复位命令 FFh 在准备状态被写入 器件进入忙状态 最长时间为 5us 2. 要中断连续读周期 CE 高电平的时间必须大于 tECH
3. 准备状态的时间取决于 R/ B 管脚连接的上拉电阻值
NAND Flash 技术注意事项
无效块无效块定义成包含一个或多个无效位的块 无效块的可靠性不能得到 Samsung 的保证 有关无效块的 信息被称之为无效块信息 含有无效块的器件性能和包含的块都是有效的器件的性能相同 具有相同的 AC 和 DC 特性 无效块并不影响有效块的性能 因为两者的位线和公共的电源利用一个选择晶体管隔离 系 统必须设计成无效块能通过地址映射来屏蔽 第 1 个块的开始地址为 00h 它必须是一个有效块 在高达 1K 的编程/擦除周期内都不需要进行错误检查
识别无效块
器件的所有地址单元都可被擦除 FFh 出厂前被写入无效块信息的地址单元除外 无效块的状态由 备用空间的第 6 个字节 8 器件 或第 1 个&第 6 个字 16 器件 来定义 Samsung 公司确保每个无 效块的第 1 页或第 2 页在 517 8 器件 列地址处或 256 和 261 16 列地址处会有非 FFh 8 器件 或非 FFFFh 16 器件 的数据存在 由于在大部分情况下无效块信息也被擦除 因此一旦执行擦除操作 无效块的信息就不可能再恢复了 所以 系统必须能够根据最初的无效块信息识别出无效块 再通过下面 的流程图 图 3 建立无效块表 禁止对最初的无效块信息进行刻意地擦除
*
开始
设置块地址= 0
检查 "FFh" ? 块地址递增
最后一个块 ?
结束 No
Yes
Yes 建立 或更新
无效块表
No
在每块的第1页和第2页的列地址517 8器件 或256和261 16器件 列地址处检查 FFh 数据
图 3 建立无效块表的流程图
写/读操作中的错误
在 NAND Flash 存储器的使用期限内 额外的无效块伴随出现 请参考真实数据的检查报告 在设计 一个高度可靠的系统时应该考虑可能出现的以下错误模式 当擦除或编程操作后状态读取失败时 应当执 行块代替 由于页编程操作时的编程状态出错并不影响同一块中的其它页面的内容 因此 块代替操作只 要在一个页面规格的缓冲区内进行 只需寻找一个被擦除了的空的块 将当前的目标数据重新编程写入该 空块 再把被代替的块的其余数据复制过来即可 为了提高存储器空间的使用效率 当由于一位数据出错 而导致读或校验失败时 建议通过 ECC 来修复 不需要执行任何的块代替 这里说的额外的块出错率不包 含那些被修复的块
出错模式 检测和纠正序列 擦除出错 擦除后的状态读取 块代替
写
编程出错 编程后的状态读取 块代替
读回 编程后的校验 块代替或 ECC 校验 读 一位数据出错 校验 ECC ECC 校正
ECC
错误校验码 汉明码 Hamming Code 等 例 1 位校验 & 2 位检测编程流程图
开始
I/O 6 = 1 ?
写 00h
I/O 0 = 0 ?
* No
写 80h
写地址
写数据
写 10h
读状态寄存器
写地址
等待tR时间
校验数据
No
编程结束
或 R/B = 1 ?
编程出错
Yes
No
Yes
如果使用了ECC 则不需要这部分校验操作
*
编程出错
Yes
* :
如果编程操作导致出错 找到包含错误的页面所在的块 将目标数据拷贝到另一块中擦除流程图 读流程图
起始
I/O 6 = 1 ?
I/O 0 = 0 ?
* No
写60h
写块地址
写 D0h
读状态寄存器
或 R/B = 1 ?
擦除出错
Yes
No
* :
擦除结束
Yes
起始
校验 ECC
No
写00h
写地址
读数据
ECC 产生
修复错误
页面读操作结束
Yes
如果擦除操作导致出错 找到出错的块 用另一个 块将其取代
块代替
控制器的缓冲区存储器 1st
Block A
Block B (n-1)th
nth (page)
1 2
1st (n-1)th nth (page)
出现一个错误
*第 1 步
擦除或编程操作过程中在 Block A 的第 n 页出现一个错误
*第 2 步
将缓冲存储器的 Block A 的第 n 页的数据复制到另一个空的块 Block B 的第 n 页
*第 3 步
然后 将第 1 页 第(n 1)页的数据复制到 Block B 的相同位置
*第 4 步
通过建立一个 无效块 表无需再进一步擦除 Block A 或使用其它合适的方法来实现
K9F2808U0C ( 8)指针操作
Samsung NAND Flash 有 3 个地址指针命令 可用来代替 2 个最高列地址 00h 命令将指针设置成指 向 A 区域 0 255 字节 01h 命令将指针设置成指向 B 区域 256 511 字节 50h 命令将 指针设置成指向 C 区域 512 527 字节 使用这些命令 起始列地址可被设置为整个页面 0 527 字节 内的任何一个值 00h 或 50h 保持不变 直到输入另一个地址指针命令 但是 01h 命令只 能用于一个操作 在任何读 编程 擦除 复位操作后 通过 01h 命令可执行一次上电 地址指针自动 返回到 A 区域 为了从 A 或 C 区域开始编程 在写入 80h 命令之前必须输入 50h 命令 在 80h 命令发布之前无需执行一次完整的读操作 为了从 B 区域开始编程 01h 命令必须恰好在 写入 80h 命令之前输入
表 2 指针方向
命令 指针位置 区域
00h 0 255 字节 第 1 个半阵列 A 01h 256 511 字节 第 2 个半阵列 B
50h 512 527 字节 备用阵列 C
"A" 区域
256 字节 (00h plane)
"B" 区域 (01h plane)
"C"区域 (50h plane) 256字节 16 字节
"A" "B" "C"
内部页面寄存器
指针选择命令 (00h, 01h, 50h)
指针
图 4 指针操作方框图
(1) 编程 A 区域的命令输入序列
00h
地址/数据输入
80h 10h 00h 80h 10h
地址/数据输入
’00h’可被省略 它们的规格取决于输入的数据量
’A’,’B’,’C’区域可被编程
地址指针设置成指向 ’A’区域(0~255), 并保持
(2) 编程 B 区域的命令输入序列
01h
地址/数据输入
80h 10h 01h 80h 10h
地址/数据输入
’B’, ’C’区域可被编程
它们的规格取决于输入的数据量 ’01h’命令必须在每次编程操作前再被重新写一次
地址指针设置成指向 B 区域 256 512 执行完一次
编程操作后指针被复位指向 A 区域
(3) 编程 C 区域的命令输入序列
50h
地址/数据输入
80h 10h 50h 80h 10h
地址/数据输入
只有 ’C’区域可被编程 ’50h’命令可被省略
地址指针设置成指向 C 区域 512 527) 并保持
K9F2816U0C 16 指针操作
Samsumg NAND Flash 有 2 个地址指针命令 可用作最高列地址 00h 命令将指针设置成指向 A 区域 0 255 字 50h 命令将指针设置成指向 B 区域 256 263 字 使用这些命令 起始列地址 可被设置为整个页面内的任何一个值 0 263 字 00h 或 50h 保持不变 直到输入另一个指针命令 为了从 A 或 B 区域开始编程 00h 或 50h 命令必须在 80h 命令写入之前输入 在 80h 命令发布之前无需执行一次完整的读操作
表 3 指针的方向
命令 指针位置 区域
00h 0 255 字 主阵列 A
50h 256 263 字 备用阵列 B
"A"区域
256 Word (00h plane)
"B" 区域 (50h plane)
8 Word
"A" "B"
内部页寄存器
指针选择命令 (00h, 50h)
指针
图 5 指针操作方框图
(1) 编程 A 区域的命令输入序列
00h
地址/数据输入
80h 10h 00h 80h 10h
地址/数据输入
’00h’命令可被省略
’A’,’B’区域可被编程
地址指针设置成指向'A'区域 0 255 并保持
它们的规格取决于输入的数据量
(2) 编程 B 区域的命令输入序列
50h
地址/数据输入
80h 10h 50h 80h 10h
地址/数据输入
只有 ’B’区域可被编程 ’50h’命令可被省略
地址指针设置成指向 B 区域 256 263)并保持
与
CE无关的系统接口
对于较为简单的系统接口 在数据装载或连续数据读取过程中 CE 可能无效 见下面各图 内部 528 字节 8 器件 264 字 16 器件 的页面寄存器在数据装载或数据读取操作中被用作独立的缓冲区 使得系统设计变得更加灵活 另外 视频或音频应用中的周期时间很长 以 us 来计量 在数据装载和读取 过程中使 CE 无效可大大降低功耗
CE
WE
tWP
tCH
tCS
起始地址 3个周期
80h 数据输入
CE CLE
ALE WE
数据输入 CE 不关心
10h
起始地址 3个周期 00h
CE CLE
ALE
WE
数据输出 连续的 CE 不关心
R/B
tRRE
tCEA
出 tREA
CE
RE
I/O
0~
15在 K9F2808U0C_Y,P 或 K9F2808U0C_V,F下tR期间
I/Ox
I/Ox
CE 必须保持低电平
图6 与CE无关的编程操作
图7 与CE无关的读操作
I/O 数据 器件
I/Ox 数据输入/输出
K9F2808U0C 8 器件 I/O0 I/O7 528 字节
K9F2816U0C 16 器件 I/O0 I/O151) 264 字 注 1. 输入命令或地址时 I/O8 I/O15 必须设为 0
I/O8 15 只能用作数据总线
命令锁存周期
CE
WE CLE
ALE
I/Ox
命令tCLS
tCS
tCLH
tCH
tWP
tALS tALH
tDS tDH
地址锁存周期
CE
WE CLE
ALE
I/Ox
AO~A7tCLS
tCS tWC
tWP
tALS
tDS tDH tALH tALS
tWH
tWC
tWP
tDS tDH tALH tALS
tWH
tWP
tDS tDH tALH
A17~A23 A9~A16
输入数据锁存周期
CE CLE
WE
DIN 0 DIN 1 DIN n
ALE
tALS
tCLH
tWC
tCH
tDS tDH
tDS tDH
tDS tDH tWP
tWH
tWP tWP
I/Ox
读操作后的串行访问周期 CLE=L,
WE=H, ALE=L
RE CE
R/B
Dout Dout Dout
tRC
tREA
tRR
tOH
tREA
tREH
tREA tOH
tRHZ*
I/Ox
tRHZ*
tCHZ*
tRP
注 跳变在带负载的稳定状态电压的 200mV 变化范围内测得 该参数采样得到 未经 100﹪测试
状态读周期
CE
WE CLE
RE
I/Ox 70h
状态输出tCLR
tCLH tCS
tWP tCH
tDS tDH tREA
tIR tOH
tOH tWHR
tCEA tCLS
tRHZ tCHZ
读 1 操作 读 1 页
tOH
CE CLE
R/B WE
ALE
RE
Busy
Read A0~A7 A9~A16 A17~A23 Dout N Dout N+1 Dout N+2 Dout N+3
列地址 页 行 地址
tWB
tAR
tR tRC
tRR
Dout m
tWC
tOH
tCHZ
tCEH
tRB
tCRY
N地址
CMD
1)
1)
I/Ox
在 K9F2808U0C_Y,P or K9F2808U0C_V,F 下tR期间 CE 必须保持低电平
tRHZ
8 器件 m 528 读命令 00h 或 01h 注 1) 只用在 K9F2808U0C_Y, P 或 K9F2808U0C_V, F 16 器件 m 264 读命令 00h
读 1 操作 被
CE中途阻止
CE CLE
R/B WE
ALE
RE
忙
Dout N Dout N+1 Dout N+2 Dout N+3 页 行 地址
列地址
tWB
tAR
tCHZ
tR
tRR
tRC
N 地址
读CMD
I/Ox
列地址 行地址1 行地址2On K9F2808U0C_Y,P or K9F2808U0C_V,F CE must be held
low during tR
tOH
读 2 操作 读 1 页
8 器件 A0 A3 为有效地址 & 与 A4 A7 无关 n 512 m 16 16 器件 A0 A2 为有效地址 & A3 A7 为低 n 256 m 8
连续行读操作
仅对一个块内的 K9F2808U0C_Y, P 和 K9F2808U0C_V, F 有效
CE CLE
R/B I/Ox WE
ALE
RE
00h
M
输出 Dout
N Dout N+1
Dout N+2
Dout 527
Dout 0
Dout 1
Dout 2
Dout 527
M+1
N 输出
忙 忙
就绪
列地址 行地址1 行地址 2
页面编程操作
CE CLE
R/B WE
ALE
RE
80h Din 70h I/O0
N
Din Dinm 10h N+1
连续数据 输入命令
列地址 页 行 地址 1到m个数据
串行输入
编程命令 读状态命令
tPROG tWB
tWC tWC tWC
N 地址
I/Ox
8 器件 m 528 字节 16 器件 m 264 字
块擦除操作 擦除一个块
CE CLE
R/B WE
ALE
RE
60h
擦除命令 读状态命令
I/O0=1 擦除出错
DOh 70h I/O 0
忙 tWB tBERS
I/O0=0 成功擦除 页 行 地址
tWC
自动块擦除 建立命令
I/Ox
A9~A16 A17~A23厂商&器件 ID 读操作
CE CLE
WE
ALE
RE
90h
读 ID 命令 制造商代码 设备代码
00h
tREA
地址 1个周期
tAR
I/Ox
ECh 设备代码*
器件 器件码*
K9F2808U0C 73h K9F2816U0C XX53h
器件操作
页面读操作初始上电时 器件操作默认为读 1 模式 该操作也可通过向命令寄存器和 3 个地址周期写入 00h 来启 动 只要命令被锁存 就不必再为接下来的页面读操作写入命令 操作包含 2 种类型 随机读 串行数据 读
随机读模式在页面地址变化时被使能 所选页面内的 528 字节 8 器件 或 264 字 16 器件 的 数据在 10us tR 内传输到数据寄存器 系统控制器通过 R/ B 管脚的输出状态来检测数据传输的结束 tR
一旦页面内的数据装载到寄存器 在连续的 RE 脉冲作用下 这些数据可在 50ns 的周期时间内被读出 RE 信号高到低的跳变可将从所选列地址到最高列地址 列 511/527 8 器件 或 255/263 16 器件 由 GND 输入管脚的状态来决定 范围内的数据都读出 读 1 和读 2 命令的操作就像是将一个指针分别指向主 区域或备用区域 512 527 字节 8 器件 或 256 263 字 16 器件 的备用区域可通过读 2 命令来 选择访问 此时 GND 输入管脚必须为低电平 地址线 A0 A3 8 器件 或 A0 A1 16 器件 用来 设置备用区域的起始地址 而地址线 A4 A7 在 8 器件中被忽略 A3 A7 地址线在 16 器件中必须为低 电平 可通过读 1 命令使指针移回到主区域 图 8 图 9 所示为每个读操作的典型顺序和时序
连续行读取只用于 K9F2808U0C_Y, P 或 K9F2808U0C_V, F
当最后一列地址中的数据输出后 自动选择下一页进行连续的行读取 等待 10us 来选择要读取的页面 连续的行读操作可通过 CE 的高电平来终止 除非操作被中止 否则页地址自动递增 继续执行读 1 操作 的行读取 每页的备用 16 字节的数据也可连续读出 连续的读 1 和 2 操作只允许在一个块内执行 当一个 块内的最后一页数据被读出后 通过使 CE 变为高电平来终止连续读操作 如果页地址移到下一个块 则 读命令和地址必须给出 图 8.1, 9.1 所示为连续行读取操作的典型顺序和时序
起始地址 3个周期 00h
X8 device : A0 ~ A7 & A9 ~ A23
数据输出 连续
(00h 命令)
数据区域 备用区域
CE CLE
ALE
R/B WE
RE
tR
主阵列
(01h 命令)
数据区域 备用区域
1st half array 2st half array
I/Ox
X16 device : A0 ~ A7 & A9 ~ A23
在K9F2808U0C_Y,P or K9F2808U0C_V,F 器件上 CE
1)
在tR时间内必须保持低电平
注 1)第 2 个半阵列的数据通过 01h 命令被访问后 起始指针在下个周期自动移到指向第 1 个半阵列 00h 01h 命令只适用于 8 器件 K9F2808X0C
图 8 读 1 操作
50h 数据输出 连续 备用区域
CE
CLE
ALE
R/B WE
起始地址 3个周期
RE
tR
X8 device : A0 ~ A3 & A9 ~ A23
Main array
数据区域 备用区域
X16 device : A0 ~ A2 & A9 ~ A23
X8 device : A4 ~ A7 Don’t care X16 device : A3 ~ A7 are "L"
I/Ox
在 K9F2808U0C_Y,P or K9F2808U0C_V,F 器件上 CE 在tR时间内必须保持低电平
图 9 读 2 操作
00h
01h A0 ~ A7 & A9 ~ A23
I/Ox
R/B
起始地址 3个周期) 数据输出 数据输出 数据输出
1st 2nd Nth
(528 Byte) (528 Byte)
tR tR tR
(GND输入 =L, 00h 命令)
数据区域 备用区域
(GND 输入 =L, 01h 命令)
数据区域 备用区域
(GND输入=H , 00h命令)
数据区域 备用区域
1st half array 2nd half array
1st 2nd Nth
1st half array 2nd half array
1st 2nd Nth Block
1st half array 2nd half array
1st 2nd Nth
图 8.1 连续行读 1 操作 仅对一个块内的 K9F2808U0C_Y, P 和 K9F2808U0C_V, F 有效
50h
A0 ~ A3 & A9 ~ A23
I/Ox R/B
起始地址(3个周期 数据输出 数据输出 数据输出
2nd Nth
(16Byte) (16Byte)
数据区域 备用区域
1st Block (A4 ~ A7:
Don
′
t Care)1st
tR tR tR
Nth
图 9.1 连续行读 2 操作 GND 输入 固定为低电平 仅对一个块内的 K9F2808U0C_Y, P 和 K9F2808U0C_V, F 有效
页面编程
尽管器件的编程操作是以页为单位来执行的 但它仍允许 1 个字节/字或连续的高达 528 8 器件 或 264 16 器件 的字节/字这样的多个部分页的编程 在一个编程周期内完成 如果没有擦除操作的 干扰 同一页内的可对多于 2 个连续的部分页 主阵列 进行编程 在备用阵列中可实现多于 3 个的部分 页的编程 地址可在一个块内随机选取 页编程周期由一个串行数据装载周期和之后的非易失性编程周期 两部分组成 在串行数据装载周期内 高达 528 字节 8 器件 或 264 字 16 器件 的数据被装载到 页寄存器中 在编程周期内 装载的数据编程到相应的单元 有关指针的操作 请参考有关的技术注意事 项
串行数据装载周期的操作顺序如下 先输入串行数据输入命令 80h 来启动 然后输入 3 个周期地址 再装载数据 只装载被编程的字 由页编程确认命令 10h 来启动编程过程 只写入 10h 命令而不输入串 行数据是不能启动编程过程的 编程和校验的算法和时序由内部写控制器自动执行 因此 系统控制器自 由可处理其它任务 一旦编程过程启动 执行读状态寄存器命令 RE 和 CE 为低电平 来读取状态寄存器 系统控制器通过监控 R/ B 输出或状态寄存器的状态位 I/O6 来检测编程周期的结束 在编程过程中只有 读状态命令和复位命令有效 页编程结束后 可检测写状态位 I/O0 的内容 图 10 内部写校验检测到 只有错误时为 1 编程失败时为 0 命令寄存器仍然保持读状态命令模式 直到另一个有效命令被写 入命令寄存器
80h
R/B
地址&数据输出 10h 70h I/O0 Pass
Fail
tPROG
I/Ox
图 10 编程操作
块擦除
擦除操作是以块为单位来执行的 块地址装载在 2 个周期内完成 由擦除建立命令 60h 来启动 只
有地址 A14 A23 有效 A9 A13 被忽略 块地址装载完成后写入擦除确认命令 D0h 来启动擦除过程 这种先建立命令后执行命令的顺序可确保存储器不会因为外部的噪声而被意外擦除
在擦除确认命令输入后 WE 的上升沿处 内部写控制器处理擦除和擦除校验 当擦除操作结束后 可 检测到写状态位 I/O0 详细的时序见图 11
60h
块地址 : A9 ~ A23
R/B
地址输入 2个周期 D0h 70h I/O0 Pass
Fail
tBERS
I/Ox
图 11 块擦除操作
读状态
器件含有一个状态寄存器 可通过读取该寄存器的内容来判断编程或擦除操作是否结束和编程或擦除 操作是否成功结束 当 70h 命令写入命令寄存器后 在 CE 或 RE 的下降沿 无论哪个信号先出现下降沿 读周期将状态寄存器的内容输出到 I/O 管脚 CE 或 RE 两根线控制允许系统在多个存储器连接的系统中查 询每个器件的工作过程 即使 R/ B 管脚用作公共连接线 状态更新时 RE 或 CE 不必翻转 参考表 4 的特 定状态寄存器定义 命令寄存器保持状态读模式 直到写入一个有效命令 因此 如果在随机读周期过程 中要读取状态寄存器的内容 必须在连续页读周期之前写入一个读命令 00h 或 05h
表 4 读状态寄存器定义
I/O# 状态 定义
0 成功编程/擦除
I/O0 编程/擦除
1 编程/擦除出错
I/O1 0
I/O2 0
I/O3 0
I/O4 0
I/O5
保留为将来之用
0
I/O6 器件工作 0 忙 1 准备就绪
I/O7 写保护 0 保护 1 不保护
I/O8 15 不用 可为任何值
读 ID
器件包含一个器件识别模式 通过先向命令寄存器写入 90h 再输入 00h 地址来启动 2 个读周期分别 连续输出制造商代码 ECh 和器件代码 命令寄存器保持读 ID 模式 直到写入一个有效命令 操作时序 见图 12
CE CLE
ALE
RE WE
90h 00h
地址 1个周期 制造商代码 器件代码
tCEA
tAR
tREA
tWHR
ECh Device
I/Ox
Code*图 12 读 ID 操作
器件 器件码*
K9F2808U0C 73h K9F2816U0C XX53h
复位
器件含有复位功能 通过向命令寄存器写入 FFh 来实现 当器件处于随机读 编程或擦除模式的忙状 态时 复位操作将终止器件的上述操作 存储器单元更改的内容无效 因为数据将部分被编程或擦除 命 令寄存器清零 等待下一个命令的到来 当 WP 为高电平时状态寄存器的值变为 C0h 有关复位后的器件 状态见表 5 如果器件已经处于复位状态 则命令寄存器将不会接收新的复位命令 复位命令写入后 R/ B 管 脚变为低电平并保持 tR的时间 见下面的图 13
FFh
R/B
tRSTI/Ox
图 13 复位操作
表 5 器件状态
上电后 复位后
工作模式 读 1 等待下一个命令
READY/ BUSY
器件包含一个 R/ B 输出 它实现了对页编程结束 擦除和随机读结束的硬件指示 R/ B 通常为高电平 在编程或擦除命令被写入命令寄存器或随机读操作启动 地址被装载后 后变低 内部控制器完成这些操 作后 R/ B 又返回高电平 由于管脚是一个开漏驱动器 因此允许 2 个或多个 R/ B 管脚相或 由于上拉电阻 值与 tr R/ B 和忙状态 ibusy 吸收的电流有关 利用下图可得到一个合适的电阻值 图 14 上拉电 阻值由下面的等式来决定
VCC
开漏输出R/B
器件 GND
Rp ibusy
Busy Ready Vcc
VOH
tf tr
VOL
VOL : 0.4V, VOH : 2.4V
CL
图 14 RP vs tr tf & RP vs ibusy
Rp(ohm) Ibusy
tr
@ Vcc = 3.3V, Ta = 25
°C , C
L = 100pF1K 2K 3K 4K
100n 200n
300n 3m
2m
100 1m tf
200
300
400
3.6 3.6 3.6 3.6
2.4
1.2
0.8
0.6
RP值
RP(min, 3.3v 器件)
∑
+
−
L OL
OL CC
I I
.) Max ( V .) Max (
V =
∑
+
ILmA 8
V 2 . 3
此处 IL是连接到 R/ B 管脚的所有器件的输入电流的和 RP(max)由 tr 的最大极限值决定
数据保护&上电时序
器件为电源变化时出现的任何无意编程/擦除操作提供了保护 一旦 Vcc 低至 2V 3.3V 器件 内部检 测器就禁止所有功能 WP 管脚提供了硬件保护 建议其电压在上电或掉电过程中保持在 VIL 在内部电路 准备好任何的命令时序之前至少需要 10us 的恢复时间 如图 15 所示 编程/擦除命令时序还提供了额外的 软件保护
V
CCWP
High
WE
3.3V device : ~ 2.5V 3.3V device : ~ 2.5V
10µs
图 15 电源变化时的 AC 波形