> 文章列表 > Nand Flash基础知识

Nand Flash基础知识

Nand Flash基础知识

1、Nand Flash组织架构

Nand Flash基础知识

  • Device(Package)就是封装好的nand flash单元,包含了一个或者多个target。
  • 一个target包含了一个或者多个LUN,一个target的一个或者多个LUN共享一组数据信号。
  • 每个target都由一个ce引脚(片选)控制,也就是说一个target上的几个LUN共享一个ce信号。

Nand Flash基础知识
Nand Flash基础知识

LUN(Die):

  • LUN是执行命令的最小单元,不同的LUN可以执行不同的命令序列
  • LUN包含一个或多个plane(通常有1 2 4 8)

Plane:

  • 一个plane包含一个或多个块(通常几百上千个)
  • 每个plane有独立的page register 和 cache register(优化闪存访问速度)

Block:

  • 块是最小的擦除单位
  • LUN中块的数量是没有限制的
  • 块包含很多个页,数量必须为32的倍数

Page:

  • 页是最小的读写单元
  • 页包含很多个字节(大小通常为2的幂不包括spare区域)

Spare:

  • 存储ECC值、坏块标记等。大小2K—> 64byte 4K —>128K 8K—>256

2、存储器原理

闪存的基本存储单元Cell,为非易失性存储器。(在源极(Source)和漏极(Drain)之间电流单向传导的半导体上形成存储电子的浮栅,浮栅上下被绝缘层包围,存储在里面的电子不会因为掉电而消失,所以闪存是非易失性存储器。)
Nand Flash基础知识

Cell是闪存的最小工作单位,执行数据存储的任务。闪存根据每个单元内可存储的数据量分成SLC(1bit/Cell)、MLC(2bit/Cell)、TLC(3bit/Cell)和QLC(4bit/Cell),成本依次降低,容量依次增大,耐用度也依次降低

2.1、写/擦除原理

Nand Flash基础知识

写操作是在控制极加正电压,使电子通过绝缘层进入浮栅极。擦除操作正好相反,是在衬
底加正电压,把电子从浮栅极中吸出来

2.2、块组织架构

Nand Flash基础知识

一个闪存芯片有若干个DIE(或者叫LUN),每个DIE有若干个Plane,每个Plane有若干个Block,每个Block有若干个Page,每个Page对应着一个Wordline,Wordline由成千上万个存储单元构成

2.3、读/写/擦除

2.3.1、擦除

Nand Flash基础知识

擦除前,浮栅上有可能有电子,Pwell加20V电压,经过足够时间后,由于量子隧道效应,电子从浮栅到沟道里面,完成一个Block的擦除 。

2.3.2、写

Nand Flash基础知识

要写的单元Wordline为高电压,Bitline=0V;由于量子隧道效应,电子从沟道到浮栅,成为“0”。不写的单元Bitline为2V,在沟道里的效应阻碍了量子隧道效应发生

2.3.3、读

Nand Flash基础知识

不读的Wordline=5V,管子保持导通;要读的单元Wordline=0V,-VT 的管子导通,Bitline端的传感器能够检测到,所以读到“1”,而经过写的+VT的管子不导通,传感器读为“0”。

3、读/写/擦除

大体流程如下:
Nand Flash基础知识

Nand Flash LUN功能框图:
Nand Flash基础知识

其中有地址寄存器、状态寄存器、命令寄存器等,后面依次介绍。

3.1、寻址

寻址方式:

  • 行地址:页内偏移
  • 列地址:在ONFI协议中,高位到低位依次表示:LUN地址、块地址、页地址
    Nand Flash基础知识

注意:
1、当需要同时发出列地址和行地址时,列地址总是在一个或多个8位地址周期中首先发出。
2、在擦除的时候,列地址不需要发送。

Nand Flash基础知识
Nand Flash基础知识

访问数据都是要先通过地址进行定位,在上图中可以看到有12根列地址线(A0-A11)和17根行地址线(A12-A28),总共29根地址线。数据线是8位,一次只能发送8bit,所以地址需要多个周期发送,上图显示的是5cycle发送

3.2、擦除

擦除以块为单位,不需要列地址。
Nand Flash基础知识

时序图如下:
Nand Flash基础知识

3.3、读

Nand Flash基础知识

时序图如下:
Nand Flash基础知识

3.4、写

Nand Flash基础知识
时序图如下:
Nand Flash基础知识

3.5、状态寄存器

Nand Flash基础知识

当SR[6]为0时,其他所有位无效(WP_n除外),主机需要忽略其状态。

  • FALL(0): 返回最近一条命令的结果。1 失败 0 成功。
  • FALLC(1): 返回上一条命令的结果。1 失败 0 成功。
  • VSP(2 3 4):厂商自定义。
  • ARDY(5):1,没有正在执行的Flash array操作。 0 ,最后一条命令的上一条命令还未执行完成。
  • RDY(6):1,表示最后一条命令执行完成并处于ready状态。0,最后一条命令还未完成,SR[5]也无效。
  • WP_n(7):1,没有开启写保护。 0 开启写保护。

4、数据接口

Nand Flash基础知识

  • NV-DDR:双边沿采样,并采用源同步时钟来精确所存数据、命令、地址信号。
  • NV-DDR2:引入了差分信号和On-Die Termination (ODT)技术来提升信号质量。
  • NV-DDR3:NV-DDR3引入了多项校准技术,包括ZQ Calibration、Duty Cycle Correction (DCC)和读/写DQ校准。
  • NV-LP-DDR4:和NV-DDR3速率相同,优势在于采用LTT技术后可大幅度降低读操作功耗

各个接口的信号线:
Nand Flash基础知识

  • R/B_n:Ready/Busy。闪存正在进行内部读的时候,Busy_n有效,当操作完成且数据准备好之后,Ready有效,用户可以来读了
  • CLK:时钟。时钟信号由用户产生,在时钟信号的上升沿和下降沿都有数据被触发,实现DDR,意味着100MHz的时钟频率数据传输速率是200MT/s
  • W/R_n:Write/Read_n。写的时候高电平,读的时候低电平
  • DQS:Data Strobe。DQS用来区分出每个数据传输周期,便于接收方准确接收数据。读数据时,DQS由闪存产生,DQS上下沿和数据对齐。写数据时,DQS由用户产生,DQS中间对应数据的中间稳定区域。所以,DQS可以看成数据的同步信号
  • DQ[7:0]:数据总线
  • WE_n:Write Enable,写使能,这个信号是用户发给闪存的,有效时意味着用户发过来的写数据可以采样了
  • RE_n:读使能。这个信号是用户发给闪存的,每发一个读使能,闪存就在数据总线上准备好数据,等用户采样