• 闪存基本原理


    系列文章目录

    一、SSD主控
    二、PCIe和NVMe控制器前端子系统



    三、闪存基本原理

    闪存是SSD的存储介质(NAND Flash),它是一种非易失性存储器(Non-volatile memory),所谓非易失性,也就是掉电以后数据也还是在的。
    相对应的,也有易失性存储器,我们叫它RAM,也可以说是内存,在通电时可以保存数据,掉电时数据丢失。我们常见的电脑内存DRAM就是 RAM的一种,还有一种叫做SRAM
    DRAM 动态内存
    SRAM 静态内存

    1.结构

    传统的2D闪存的基本存储单元叫做Cell,是一种类NMOS的浮栅晶体管,也叫做Floating gate
    结构图如下:
    在这里插入图片描述
    浮栅层用于存储电子,假设有电子为0,无电子为1,那就可以表示最基本的两种状态了
    衬底和控制栅分别控制擦与写,不可覆写,只能擦掉旧的再写新的

    写操作:在控制栅施加大的正电压,将游离于衬底的电子透过二氧化硅层吸到浮栅层,完成写操作
    擦除操作:与写操作相反,需要在衬底施加一个正电压,将浮栅层的电子吸出来,完成数据擦除动作

    这里引入一个概念是,衬底与浮栅层之间的二氧化硅层的构造类一个有洞的橡胶,平时的时候,电子很难透过它来往于浮栅层和衬底,但是当我们进行擦写操作的时候就像是再用力扯这块橡皮,使得孔洞变大,电子得以穿过。但是呢,我们重复的擦写操作,循环去拉扯它,会导致这个二氧化硅层老化,从而没办法很好的约束电子的游动,所以闪存是有擦写上限的,当我们擦写上限到了,浮栅层的电子没办法很好的保存,反应到SSD端就是我们存储的数据丢失

    读操作:控制栅加电压进行读取动作,这里的电压是低于写操作的电压的,也就是有一个电压阈值。

    同样引用上面带孔洞橡胶的说法,我的理解是,本身二氧化硅层隔绝了通路,当我在控制栅加电压时,相当于把原本趋于封闭的二氧化硅层,也就是这个带孔洞的橡胶层慢慢拉开,这里的阈值就是,当我拉开这块橡胶到我能看到浮栅层是否有电子,或者说电子刚好可以进入浮栅层时,我就知道里面有没有数据了,此时通路导通,我们读取到数据

    疑问是:假设这种理解是正确的,那么当我读取的时候,假设我偶尔偷跑电子进浮栅层,在进行N次读取后,浮栅层的电子越来越多。是造成read disturb的根因

    对于存储在浮栅层的电子来说,一直关闭在封闭的空间中,长时间不去读取,就会有电子流失的风险,还是刚刚那个比喻,浮栅层与衬底间的二氧化硅层类似一块带洞的橡皮,虽然平时紧绷状态可以防止电子流失,但他始终带洞,也是有可能随着时间推移不小心放跑电子的。所以保存的电子会有遗失的风险,久而久之,里面存储的电子可能就遗失过多无法判断是0还是1了。这就是 Data Retention,而擦写次数越多的闪存,其数据保持力就越差,就越容易触发Data Retention

    2.衍生问题

    1.闪存类型:

    SLC 一个Cell只能存储1位数据
    MLC 一个Cell可以存储2位数据
    TLC 一个Cell可以存储3位数据
    QLC 一个Cell可以存储4位数据
    SLC只用关心有电子还是没有电子
    后面的几种就是,在有没有电子的情况下还要关注它有多少,透过有多少电子的范围判断其数据状态

    2.read disturb:

    多次读取后造成过多电子进入浮栅层,扰乱了判断,浮栅层电子越多,读取时的阈值电压也相对变大,按照原有的阈值电压去读取就可能造成误判,造成数据错误

    3.data retention:

    存入浮栅层的电子在长时间没人管的情况下,偷偷跑掉了,电子遗失导致阈值电压减小,读取数据时造成误判,数据丢失

    4.固件如何防止:

    SSD固件在应对read disturb和data retention问题的时候,通常的做法就是设定一个阈值,当我读数据比较容易发生误判,需要多次尝试的时候,把数据再重新写一遍

    好,那问题来了,data retention是电子流失,假如我把装满学习资料的SSD,断电保存当传家宝,若干时间后再拿出来恐怕就啥也没了吧?

  • 相关阅读:
    C语言经典面试题目(十二)
    java常用集合之Set
    如何压缩视频?视频压缩变小方法汇总
    IP摄像头实现远程目标检测
    网络通信基础
    NIO和多路复用
    MySQL 行级锁(行锁、临键锁、间隙锁)
    echarts漏斗图,形状是通过value来保持金字塔形状的,添加新的字段来用真正的数据
    Flutter系列文章-Flutter进阶
    彻底搞懂Mybatis
  • 原文地址:https://blog.csdn.net/weixin_44517278/article/details/134542134