iv
目录
缩略词 ...................................................................................................................................... 1
正文之前 .................................................................................................................................. iii
1. 目的 ............................................................................................................................ iii
2. 目标读者和阅读此文的前提 ........................................................................................... iii
3. 说明 ............................................................................................................................ iii
4. 声明 ............................................................................................................................ iii
1. 编写驱动之前要了解的知识 .................................................................................................... 4
1.1. 一些相关的名词的解释 ................................................................................................ 4
1.1.1. Non-Volatile Memory非易失性存储器 ............................................................. 4
1.1.2. OTP一次性可编程存储器 .................................................................................. 4
1.1.3. NDA 保密协议 ................................................................................................ 4
1.1.4. Datasheet数据手册和Specification规范 ........................................................... 4
1.1.5. Nand Flash相关的一些名词解释 ....................................................................... 4
1.1.5.1. (Bad) Block Management(坏)块管理 ........................................... 4
1.1.5.2. Wear-Leveling负载平衡 ........................................................................ 5
1.1.5.3. ECC错误校验码 ..................................................................................... 5
1.2. 硬件特性 .................................................................................................................... 5
1.2.1. 什么是Flash .................................................................................................... 5
1.2.1.1. Flash的硬件实现机制 ............................................................................ 5
1.2.2. 什么是Nand Flash .......................................................................................... 6
1.2.2.1. Nand Flash的详细分类 ......................................................................... 6
1.2.3. SLC和MLC的实现机制 ...................................................................................... 7
1.2.3.1. SLC(Single Level Cell) ..................................................................... 7
1.2.3.2. MLC(Multi Level Cell) ..................................................................... 7
1.2.3.3. 关于如何识别SLC还是MLC .................................................................... 7
1.2.4. Nand Flash数据存储单元的整体架构 ................................................................ 8
1.2.5. Nand Flash的物理存储单元的阵列组织结构 ...................................................... 9
1.2.5.1. Block块 .............................................................................................. 10
1.2.5.2. Page页 .............................................................................................. 10
1.2.5.3. oob / Redundant Area / Spare Area ................................................. 10
1.2.6. Flash名称的由来 ............................................................................................ 11
1.2.7. Flash相对于普通设备的特殊性 ........................................................................ 11
1.2.8. Nand Flash的位反转特性 ............................................................................... 11
1.2.8.1. Nand Flash位反转的原因 .................................................................... 12
1.2.8.2. Nand Flash位反转的影响 .................................................................... 12
1.2.8.3. Nand Flash位反转的类型和解决办法 .................................................... 12
1.2.9. Nand Flash引脚(Pin)的说明 ........................................................................... 13
1.2.9.1. 为何需要ALE和CLE ............................................................................. 14
1.2.9.2. Nand Flash只有8个I/O引脚的好处 ...................................................... 14
1.2.9.2.1. 减少外围连线 ........................................................................... 14
1.2.9.2.2. 提高系统的可扩展性 ................................................................. 14
1.2.10. Nand Flash的一些典型(typical)的特性 .......................................................... 14
1.2.11. Nand Flash控制器与Nand Flash芯片 ........................................................... 15
1.2.12. Nand Flash中的特殊硬件结构 ...................................................................... 15
1.2.13. Nand Flash中的坏块(Bad Block) ................................................................. 16
1.2.13.1. 坏块的分类 ....................................................................................... 16
1.2.13.2. 坏块的标记 ....................................................................................... 16
1.2.13.3. 坏块的管理 ....................................................................................... 17
1.2.13.4. 坏块的比例 ....................................................................................... 17
1.2.14. Nand Flash中页的访问顺序 ......................................................................... 17
1.2.15. 常见的Nand Flash的操作 ............................................................................. 17
1.2.15.1. 页编程(Page Program)注意事项 .................................................... 18
1.2.15.2. 读(Read)操作过程详解 .................................................................. 19
1.2.15.2.1. 需要使用何种命令 ................................................................... 19
1.2.15.2.2. 发送命令前的准备工作以及时序图各个信号的具体含义 .............. 19
评论0