1.从闪存架构上来梳理1.1 PackagePackage上可能是封装单Die或者多Die堆叠的。1.2 Target/LUN/DieTarget中有多LUN堆叠或者单DieLUN是Die的逻辑对应Volume 是host对LUN操作的地址对象可以通过操作Volume来实现操作CE选中Die等所以可以理解为Volume是LUN的逻辑寻址单元。1.3 Plane为了提升闪存的读写速度在每个闪存中设置了一个或者多个寄存器例如镁光的data register和cache register能够提升并行传输的速度。1.3.1 multi-planemulti-plane是在一个Die里面进行的主要目的是加速通过对多plane操作传输速度思考问题可以使用任意个plane做multi-plane吗可以使用任意个Plane进行multi-plane操作擦除也有multi-plane吗擦出也有multi-plane而且擦除multi-plane必须对同一编号的Block进行擦除这是物理结构导致的因为擦除就是施加大电压大电流有物理结构上来看NAND会把所有 Plane 的同编号 Block连接到同一个高压驱动模块上当执行 Multi-Plane 擦除时只需要给这个高压模块加一次电就可以同时给所有 Plane 的同编号 Block 施加擦除高压读/写/擦除的multi-plane有什么区别写操作的页需要有相同的chip地址die地址不同block地址page地址但plane地址不同。读planeblock和page地址都可以不同。擦除操作的块需要有相同的chip地址die地址block地址但plane地址不同。1.3.2 Cache写和正常写这个也是为了加速由于SSD缓存写到Cache中的速度和Cache写到flash的Page中的速度不匹配可以使用Cache写加快数据传输。1.3.3 读干扰写干扰会作用到整个Plane层面读干扰和写干扰的的底层逻辑都是由于读写过程中对一些不需要读写的WL施加了导通电压造成了不必要的写入这样的干扰会对Plane中的所有block造成影响。有没有硬件隔离例如同一个Plane上的每一个Block都有属于自己的WL。1.3.4 擦除会作用到plane上去擦除是对整个Block而言的整个Plane都共用一套物理衬底但在这块基底上会通过离子注入工艺划分出一个个独立的 P 型阱区P-Well这种电气隔离特性可以控制某一块Block的擦除但是擦除高压会通过硅基底的寄生电容耦合到相邻 Block 的 P-Well 上也就是擦除A‘block的时候Plane里面的所有Block都会收到影响。1.3.5 Plane的寻址选地址在哪Plane的寻址地址在Block的最低位1.4 Block1.4.1 block是最小的擦除单元1.4.2 写数据;先擦后写1.4.3 Block内部的Page需要执行顺序写的规则在物理地址上Block内部的Page是必须执行循序写的要求也就是Page -Page1 写到Page x但是对host端输入的逻辑地址而言可以是随机写的也就是逻辑1到逻辑100可以是逻辑1对应物理地址的block 4Page 3偏移地址 41.4.4 Block里面所存的Cell单元的类型要一致例如都是TLC的类型的Cell1.4.5 闪存寻址中Block本身无需按照循序读写。1.5 Page1.5.1 Page是最小的读写单元Page的读写寻址是从按顺序Page 0-Page1-Page x的。1.5.2 Page中空间的划分用户空间和OOB区的划分是在Page中OOB区存在坏块标记表ECC纠错校验码等。1.5.3 Block结构中一条WL代表着1个Page。1.5.4 XLC对应的Page都在同一个Block里面。读取XLC的Page可以是任意顺序但是写入XLC必须按Lower-upper Page 顺序实现。1.5.5 column地址是Page内的最小偏移地址也是Page内某一个字节的读写起始地址这个地址覆盖了用户数据区和OOB区。1.5.6 Page下逻辑存在的FramePage下逻辑存在frame是一种数据形式分为DatasparecrcEccbcm1.6 CellCell是最小的储存单元Cell里存储数据为123bit分别对应的闪存类型是SLCMLCTLC.例如MLC的一个Cell对应着2个Page。1.6.1 读写擦除的电气原理读通过阈值电压来判断写正常都是先擦后写擦过的Block中每个Cell都是”1“给想要写入的WL上加入高压实现数据”0“写入。擦除在衬底上施加高压2.名词梳理2.1 tPROG就是Flash编程时间发生在Cache缓存和Page的交互过程中速度慢是影响Flash性能的主要时间因素。2.2 写放大写放大flash实际写入量/host写入量垃圾回收磨损均衡读写干扰各类搬移的情况。3.闪存的特性3.1.读干扰写干扰和擦除干扰的区别读干扰和写干扰是在读写过程中由于在非读写Page上添加的导通电压导致的轻微写入这种损伤是非永久性损伤可以通过定期重读写消除擦除干扰是由于擦除次数过多导致绝缘氧化层变薄电子更容易泄漏这种是永久性损伤长期用以形成坏块。3.2.闪存坏点(bcm坏点管理)闪存坏点就是数据的某个bit发生了错误而bcm就是如果对坏点进行管理的方式例如使用ECC纠错管理怎么进行坏点管理3.3.闪存坏块坏块就是当闪存块接近擦写最大次数的时候会导致Cell永久性损伤而且使用的越久损伤的单元越来越多而且ECC纠错都难以纠正过来这样的闪存块就形成了坏块ECC纠错的单位是什么3.4.闪存的时序图3.4.1 时序图上数据发送的顺序按顺序是命令--地址--数据3.4.1 warmup在高速数据的传输过程中不做Warmup容易出错做warmup表现是数据采样之前就多发几个DQS这几个DQS是带着数据的。3.4.2 采样过程在DQS的双边沿对稳定的数据进行采样。但是也分读和写写的时候DQS双边沿对齐数据中心读的时候双边沿对齐数据边沿。