这几天系统看完了sandisk出的一款3D NAND Flash对应技术手册,从头到尾零基础
零基础的意思是,即使最基本的很多单词或缩写都不知道什么意思,需要一边查询一边再理解,下面首先是这些单词,以及一些芯片结构上的知识
对于这样一个芯片手册,184页,通读下来感悟是,想事无巨细全部理解掌握记忆是不可能的,手册是像词典一样的东西,在需要用到的时候知道该怎么查,查哪里就好
大概分为几个部分吧
1芯片的一些参数(讲一些基本的使用条件封装什么的,静态参数动态参数以及边界)
2芯片的引脚高低电平使用(高低电平,以及edge变化时大概是怎样的)
3芯片的几种工作模式以及怎么设置不同工作模式
4对芯片的操作,设定读取,以及不同工作模式下的操作
5如何更好的使用芯片(traing)
其中2,3,4其实是交叉的,比如要在SLC存储单元下,使用CTT终端对某block进行擦除操作,应该怎么做------好像这是一个问题,其实这牵扯到很多问题
学生思维是试图理解一切,工程师思维是知道如何解决问题找到答案,要像个工程师一样学习
一、基础概念与存储单元
术语
释义
SLC
Single-Level Cell,单阶存储单元,每单元存1位,速度快、寿命长、容量密度低
TLC
Triple-Level Cell,三阶存储单元,每单元存3位,容量大、成本低、速度慢、寿命短
MLC
Multi-Level Cell,多阶存储单元,通常指每单元2位
QLC
Quad-Level Cell,四阶存储单元,每单元4位
bpc
bits per cell,每存储单元存储的比特数
Page
页,NAND读写的最小单位,逻辑概念,而非物理实体
Block
块,NAND擦除的最小单位,由多个页组成
Plane
平面,芯片内部可独立执行读写操作的基本单元,多个Plane可并行
Die
裸片,封装内的单个芯片颗粒
LUN
Logical Unit Number,逻辑单元号,相当于一个可独立操作的Die
String
串,3D NAND中垂直穿过所有层的存储单元串
Word Line (WL)
字线,3D NAND中某一层的水平导电层,连接同层所有存储单元
Bit Line (BL)
位线,连接同列存储单元的纵向导线
Shared String
共享串,多Die封装中多个NAND串共享位线或源极线,节省面积
二、接口与信号
术语
释义
Toggle Mode
一种DDR NAND接口标准,无独立时钟,利用DQS双边沿传输数据
ONFI
Open NAND Flash Interface,开放式NAND闪存接口标准
DDR
Double Data Rate,双倍数据率,时钟上下沿都传输数据
SDR
Single Data Rate,单倍数据率,仅时钟单边沿传输数据
DQS
Data Strobe,数据选通信号,DDR模式下的数据同步时钟
DQ
Data Queue,数据线(通常DQ7:0共8根)
RE# / RE
Read Enable,读使能信号
WE#
Write Enable,写使能信号
CLE
Command Latch Enable,命令锁存使能
ALE
Address Latch Enable,地址锁存使能
CE#
Chip Enable,片选信号
WP#
Write Protect,写保护引脚(低电平有效)
R/B#
Ready/Busy,就绪/忙碌状态引脚(开漏输出)
DQS_t / DQS_c
差分DQS信号对(正/负)
CTT
Center Tap Termination,中心抽头终端匹配,高性能但功耗高
LTT
Low Tap Termination,低抽头终端匹配,低功耗适合移动设备
LVSTL
Low-Voltage Swing Terminated Logic,低电压摆幅终端逻辑,LTT的JEDEC标准名称
ODT
On-Die Termination,片上终端匹配
Slew Rate
压摆率,信号电压变化速率(V/ns)
Skew
偏斜/歪斜,多路信号到达时间不一致
三、命令与操作
术语
释义
Read ID
读取芯片制造商ID和设备ID的命令
Set Features
配置芯片工作参数的命令(如接口速率、驱动强度)
Get Features
读取当前配置参数的命令
Status Read
读取状态寄存器的命令(70h)
Reset
复位命令(FFh全局复位,FDh单Die复位)
Read
读取操作
Program
编程/写入操作
Erase
擦除操作
Cache Read
缓存读,预读取下一页到缓存,流水线作业
Cache Program
缓存写,边传输数据边后台编程
Suspend / Resume
挂起/恢复,暂停耗时操作(如擦除)优先执行高优先级任务
Multi-Plane
多平面,一个命令同时操作多个Plane
Copyback
内部拷贝,不经过控制器在闪存内部直接拷贝数据
Change Read/Write Column
改变列地址,在当前页内移动读写指针
ZQ Calibration
ZQ校准,通过外接电阻校准驱动/终端阻抗
DCC
Duty Cycle Corrector,占空比校正器,将时钟占空比校准为50%
Interface Training
接口训练,校准信号延迟和相位的流程集合
四、时序与电气参数
术语
释义
tR
读取时间,从读命令到数据就绪的时间
tPROG
编程时间,写入一页所需的时间
tBERS
擦除时间,擦除一块所需的时间
tRST
复位时间,复位命令执行完成所需的时间
tRC / tWC
读/写周期时间,两次读/写操作的最小间隔
tWP / tRP
写/读脉冲宽度,WE#或RE#低电平保持的最小时间
tDS / tDH
数据建立/保持时间
tCLS / tCLH
CLE建立/保持时间
tALS / tALH
ALE建立/保持时间
tDQSQ
DQS到DQ输出偏斜,各DQ引脚相对于DQS的最大时间差
tQH
DQ输出保持时间
tRR
就绪到RE#脉冲建立时间
tRST
复位时间
tVST
电源稳定时间
tPOR
上电复位时间
tSUSP
挂起时间(如CE#拉高的最大允许时间≤1µs)
tDQSQ
DQS到DQ输出偏斜
CIO
I/O引脚电容
ICC
工作电流
VCC
核心供电电压(2.35--3.6V)
VCCQ
I/O接口供电电压(1.14--1.30V)
VIL / VIH
输入低/高电平电压
VOL / VOH
输出低/高电平电压
Vref
参考电压
五、地址与寻址
术语
释义
Column Address (CA)
列地址,页内偏移地址
Row Address (RA)
行地址,包含块地址、页地址、平面地址
Block Address (BA)
块地址
Page Address (PA)
页地址(页在块内的偏移)
Plane Address (PLA)
平面地址
First Cycle / Second Cycle
地址传输的第1/2个周期(8位/周期)
LSB / MSB
最低有效位/最高有效位
Lower / Middle / Upper Page
低/中/高逻辑页,TLC物理单元对应的3个逻辑页
Prefix Command
前缀命令(01h/02h/03h),用于TLC读前指定页面类型
六、封装与物理
术语
释义
BGA
Ball Grid Array,球栅阵列封装,底部焊球
TBD
To Be Determined,待定
Pad
焊盘
Ball
焊球
Pin
引脚
Multi-Die Package
多Die封装,一个封装内包含多个裸片
CuA / CNA
CMOS under Array(电路在阵列下)/ CMOS next to Array(电路在阵列旁)
MSL
Moisture Sensitivity Level,湿敏等级
七、可靠性与测试
术语
释义
ECC
Error Correction Code,纠错码
LDPC
Low-Density Parity-Check,低密度奇偶校验码,强纠错算法
P/E Cycle
Program/Erase Cycle,擦写循环次数,闪存寿命指标
Read Disturb
读干扰,读操作影响邻近单元可靠性
Data Retention
数据保持,断电后数据能保存的时间
Bad Block Management
坏块管理
Wear Leveling
磨损均衡
Write Amplification
写放大
Garbage Collection (GC)
垃圾回收
POR
Power-On Reset,上电复位(硬件自动)
Guaranteed by Design
由设计保证(不进行量产测试)
Guaranteed by Test
由量产测试保证
Characterization
特性化测试,系统级验证
BER
Bit Error Rate,误码率
UECC
Uncorrectable ECC,无法纠正的ECC错误
OOB / Spare Area
备用区,存放ECC、元数据的区域
Clamp Protection
钳位保护
Overshoot
过冲,信号瞬间超过正常电压范围
Eye Diagram / Eye Mask
眼图/眼罩,信号质量可视化工具
DQ Rx Mask
DQ接收端掩模,定义输入信号的"禁区"
IBIS Model
I/O Buffer Information Specification模型,用于信号完整性仿真
ATE
Automatic Test Equipment,自动测试设备
PVT
Process, Voltage, Temperature,工艺、电压、温度变化
八、电源与功耗
术语
释义
VCC
核心电源
VCCQ
I/O接口电源
Ramp Rate
斜坡速率,电压上升速度
Power Cycle
断电重启
IR-Drop
电压降
ICC
工作电流
tVST
电源稳定时间
九、其他
术语
释义
Parameter
参数,芯片电气/时序/物理特性的数值
Polling
轮询,主动反复读取状态寄存器
Interrupt
中断,芯片主动通知主控
Training
训练/校准
De-skew
消除偏斜
Termination
终端匹配
Impedance
阻抗
RZQ
ZQ校准外接电阻值(通常240Ω)
Duty Cycle
占空比
Latency
延迟
Throughput
吞吐量
Interleaving
交错,多Die交替操作
Pipeline
流水线
Atomic Operation
原子操作,不可分割的操作序列
Idle State
空闲状态
Data-Out Hold
数据输出保持(主控主动暂停)
Pause
暂停(芯片自主行为)
然后是一些芯片结构上的知识
一、核心存储单元结构
问题
核心知识点
TLC 如何在一个单元存 3 位?
通过控制浮栅中电子数量,产生 8 种不同的阈值电压(Vth),代表 3 位数据;采用"模糊-精细"两步编程
SLC vs TLC 容量为什么差 3 倍?
同一物理单元,TLC 每单元存 3 位,SLC 只存 1 位;TLC Block 的页数(3270)是 SLC(1090)的 3 倍
"3270 pages = 218 WL × 5 strings × 3 bpc"的含义
逻辑页总数 = 字线数 × 串数 × 每单元比特数;218 WL × 5 strings = 1090 个物理单元组,TLC 模式下每个贡献 3 个逻辑页
同一个存储单元怎么存 3 位?
电压窗口分为 8 段,代表 000--111;读取时施加不同参考电压,判断电压落在哪个窗口
二、3D 物理结构
问题
核心知识点
字线(WL)和串(String)在实体中怎么排列?
WL 是垂直堆叠的水平导电平面(每层一个),String 是垂直贯穿所有 WL 的柱子;二者交叉形成存储单元
218 层 WL × 5 个 String 还是 2D?
如果 WL 只有 5 个交点则是 2D;真正 3D 中,WL 是完整平面(包含数万个 String),String 垂直贯穿 218 层
Shared String 是什么?
多 Die 封装中多个 NAND 串共享位线或源极线,节省芯片面积;需特殊选通逻辑(如两个串联选择管)
Block 内 String 数量
一个 Block 包含所有 String(数万个),手册中的"5 strings"是 Page 大小的组成因子(并行操作组),而非总数
三、页、块、平面的层次关系
问题
核心知识点
Page 是逻辑页还是物理页?
Page 是
逻辑概念
,是控制器看到的读写最小单位;物理层只有 WL 和 String,没有"物理页"
Block size TLC 51MB, SLC 17MB
同一物理 Block 可配置为 TLC(高密度)或 SLC(低密度);SLC 容量是 TLC 的 1/3,页数也是 1/3
18,336 x 8 bits x 3270 pages x 687 blocks 的含义
页大小 18,336 字节 ≈ 17.9KB;每块 3270 页;每平面 687 块;4 平面总容量 ≈ 128GB(1Tb)
Block Address 与 Plane 的关系
Block Address 是平面内偏移;不同 Plane 的 Block 0 相互独立;通过地址中的 Plane 选择位(如 PA12:11)区分
四、地址与寻址
问题
核心知识点
PA12:11 后面跟 plane0--3,是不是 PA 数组存储 plane 位置?
不是数组,而是地址位字段;PA12:11 是行地址的第 11、12 位,编码 Plane 0--3
CA14:0 是什么?
列地址,共 15 位,用于页内寻址(覆盖约 32KB,足以寻址 17.9KB 页)
First Cycle 是什么意思?
地址传输的第 1 个周期,传输列地址低 8 位(CA7:0)
为什么有的命令 2 个 cycle,有的 5 个?
Change Column 只需 2 个列地址周期;Page Read 需 2 列 + 3 行 = 5 周期;Block Erase 只需 3 个行地址周期
TLC 读需要用 01h/02h/03h 前缀命令
指定要读 Lower/Middle/Upper Page,因为 TLC 一个物理单元对应 3 个逻辑页
多 Die 共享 CE# 时地址周期增加
需要额外的地址位选择 Die,周期从 3/5 增加到 4/6
五、多平面与多 Die 结构
问题
核心知识点
4-Plane 的作用
4 个独立并行单元,可同时执行操作,提升吞吐量
多平面操作时 Plane 地址规则
Multi-Block Erase 中同一 Plane 地址不能重复;不同 Plane 的 Block 地址可以不同
多 Die 封装中的状态读取
多 Die 共享 CE# 时,70h 可能导致总线冲突,必须用 78h(带地址周期)指定目标 Die
I/O driven by selected die
多 Die 共享总线时,只有被选中的 Die 驱动 I/O 总线
六、封装与物理实现
问题
核心知识点
BGA 是什么?
Ball Grid Array,球栅阵列封装,底部焊球;高密度、高性能
BGA TBD
封装规格待定,需等正式手册
VCC / VCCQ
VCC 给核心电路(2.35--3.6V),VCCQ 给 I/O 接口(1.14--1.30V);VCC 先于 VCCQ 上电
ZQ 引脚
需外接 240Ω 1% 精密电阻到地,用于阻抗校准
七、操作模式与资源管理
问题
核心知识点
Block 应固定工作在 TLC 或 SLC 模式
避免动态切换,防止磨损不均和数据残留
Erase 可被 Suspend
擦除过程中可暂停,优先执行 SLC/TLC 读或编程,之后恢复
芯片一次只能执行一个命令吗?
单 Die 物理上串行;但通过多 Plane、多 Die 交错、Cache 命令实现宏观并发
Set Features 配置驱动/终端
可配置驱动强度和 ODT 阻抗(如 30Ω/40Ω/50Ω/60Ω)
八、接口与信号完整性相关结构
问题
核心知识点
DQS 是什么?
双向数据选通信号,DDR 模式下上升沿和下降沿都锁存数据
Per-DQ-Pin
每个 DQ 引脚独立定义参数(电容、偏斜),需逐个测量眼图
CTT / LTT
CTT(中心抽头)性能好功耗高;LTT(低抽头)低功耗适合移动设备;上电默认 CTT
DDR1 单端模式不支持
此芯片只支持差分 DQS/REn,不支持单端
SDR 模式不支持
此芯片不支持传统异步 SDR,必须从启动时就工作在 DDR 模式
九、可靠性与寿命相关结构
问题
核心知识点
ECC Bytes
存放在页备用区(OOB),用于检测和纠正位错误;TLC 需要比 SLC 更强的 ECC
P/E Cycle
TLC 通常 1000--3000 次,SLC 可达 50,000--100,000 次
Read Disturb / Program Disturb
读写操作会干扰邻近单元,是 ECC 和主控算法需要处理的主要失效模式
Bad Block
出厂或使用中产生的坏块需标记和替换;不同 Plane 的坏块独立管理