# Nand flash

**LUN → CE → Die → Plane → Bank → Block → Page​**

1. Block 是**擦除操作的最小单位**
2. Page 是**读写操作的最小单位**,常见的Nand Flash多数是2KB,最新的是4KB、8KB
3. **硬件电路只支持 “一次性操作一个 Page 的所有单元”，因此读写必须以 Page 为单位**。
4. 写入前必须先擦除对应的Block
5. 栅极堆叠（Gate-Stacked） 和沟道堆叠（Channel-Stacked）两种结构均需解决 “垂直互联”，如何连接不同层的字线 WL 和位线 BL
6. WL BL SSL 三个控制线构成三维浮栅晶体管的索引信号，确定WL 和SSL，读写所有的BL，也就是一个Page
7. 不同WL的晶体管是串联在一起的，除了需要读取的管，其他的会在读取的时候被强制导通，避免影响需要读取的晶体管

##### WL（Word Line，字线）

- **位置**：WL 是平行于浮栅晶体管**控制栅**的金属或多晶硅连线，贯穿整个存储阵列的行方向（类似 “横线”）。
- **连接方式**：同一行（Row）中所有**浮栅晶体管的控制栅**都与同一条 WL 相连。**一个 Page 内的所有存储单元通常属于同一行，共享一条 WL**
- **写入**：向 WL 施加高电压（如 10-20V），通过 “热电子注入” 或 “F-N 隧穿效应”，将电子注入浮栅（存储 “0”）。
- **读取**：向 WL 施加中等电压（如 2-5V），根据晶体管是否导通判断浮栅是否带电荷（即区分 “0” 和 “1”）。
- **擦除**：擦除操作针对整个 Block（块），此时 WL 接地，衬底施加高电压，通过 F-N 隧穿效应让浮栅释放电荷（恢复为 “1”）。

##### BL（Bit Line，位线）

- **位置**：BL 是垂直于 WL 的金属连线，沿存储阵列的列方向延伸（类似 “竖线”）。
- **连接方式**：同一列（Column）中所有**浮栅晶体管的漏极**通过接触孔（Contact）与同一条 BL 相连。
- **材料**：通常采用铝或铜，以降低连线电阻，提高信号传输速度。
- BL 是**数据信号的 “传输通道”**，负责将存储单元的状态（导通 / 截止）转化为电信号并传递给外部电路
- 一条 BL 对应一列存储单元，每列中的每个单元对应一个 “位”（bit）

##### SSL GSL（源极选择，漏级选择）

- 通过TSG管选择一个string

##### MAC计算

1. input ：SSL
    1. 每个SSL表示input的一位
2. output ：BL
    1. 每个BL表示output的1位，
    2. 8个连续的BL组成一个8位的输出
    3. BL经过高精度ADC量化后，再根据每个bit的二进制单位分别进行左移，再累加，得到乘法的结果
3. weight ： cell中存储的数据
4. WL ：选中一批权重

##### 单次MAC计算规模

1. 矩阵乘法 MNK
2. SSL input: 所有乘完需要累加的input的指定位，input矩阵的一行（K个）的每个指定位
    1. 拆分input的 K
3. BL output：一个BL表示一批input的一位 和weight的位乘加的结果，一次性最多输出 N个结果的1位
    1. 拆分output的 N
4. WL weight：选中一批权重的指定位，可以用来选定权重批次，或者权重的位index
    1. 支持用于拆分权重的 N 或者 bit index

[![b81dc059-2002-4e2b-932e-073924c856af.jpg](Nand flash/b81dc059-2002-4e2b-932e-073924c856af.jpg)](Nand flash/b81dc059-2002-4e2b-932e-073924c856af.jpg)