第三章 SSD存储介质:闪存

news2024/11/16 7:32:01

3.1 闪存物理结构

        闪存芯片从小到大依此是由:cell(单元)、page(页)、block(块)、plane(平面)、die(核心)、NAND flash(闪存芯片)组成的

        一个闪存页的大小主要有4KB、8KB、16KB几种。

3.1.1 闪存器件原理

  1. 闪存的特性        

(1)闪存是非易失性存储器,即掉电之后数据不会丢失;

(2)闪存块(Block)需先擦除才能写入,不能覆盖写(Update in Place);

(3)闪存块(Block)具有一定的寿命。每擦除一次闪存块,都会对闪存块造成磨损,擦除到达一定次数后,闪存块要么变成坏块,要么这块闪存块上的数据变得不可靠;

(4)闪存块读的次数是有限的。读的次数多了,会造成读干扰问题;

(5)闪存天生有坏块。同时,随着SSD、的使用,会产生新的坏块。

2. 闪存基本存储单元Cell

         闪存的物理结构 - 爱码网

        Cell:闪存基本存储单元,是闪存的 最小工作单位 ,执行数据存储的任务;它是一种类NMOS的 双层浮栅(Floating Gate)MOS管 

        闪存由源极(Source)、漏极(Drain)、浮动栅极(Floating Gate)、控制栅极(Control Gate)组成,是双栅极结构。

         

 

 

        闪存是非易失性存储器的原因:MOS管在源极(Source)和漏极(Drain)之间电流单向传导的半导体上形成了存储电子的浮栅,浮栅上下被绝缘层包围,存储在里面的电子不会因掉电而消失。因此,闪存是非易失性存储器。

        

        写操作是在 控制栅极 加正电压(Vpp),使电子(带负电)通过 绝缘层进入浮栅层 ;值得注意的是,该操作执行完之后,该闪存单元存储的是0!!即,此时,读取状态为0。

        擦除操作是在 源极 加正电压(Vpp),利用浮栅极和漏极之间的隧道效应,把电子 从浮栅层吸引  到源极,排空浮动栅极的电子。此时,读取状态为1

        问:为什么浮栅极没有电子的时候是1,有电子是0呢????

        答:闪存的工作原理_闪存原理_liukuan73的博客-CSDN博客

 3.1.2 SLC、MLC和TLC

        DIE,也称LUN,是接收和执行闪存命令的基本单元。

        闪存根据 每个单元内可存储的数据量 分成 SLC(1bit/Cell)MLC(2bit/Cell)TLC(3bit/Cell) QLC(4bit/Cell),成本依次降低,容量依次增大(同样面积的DIE上),耐用度也依次降低。

        SLC:一个存储单元存储1bit数据的闪存。

        同样面积的一个存储单元,SLC、MLC、TLC分别可以存储1bit、2bit、3bit的数据,所以在同样面积的DIE上,闪存容量依次变大

        同时,一个存储单元电子划分越多,读、写、擦所要耗费的时间就越长。故而,性能上SLC>MLC>TLC

3.1.3 闪存芯片架构

        下图是一个闪存块Block的组织架构。一个Wordline(字线)对应着一个或若干个Page。一个Page有多大,那么Wordline上面就有多少个存储单元,就有多少个Bitline(位线)。一个Block当中所有的存储单元(Cell)共用一个衬底。

        Wordline(WL)是字线,其控制读取和写入,故而Page是最小的读写单位。

        Bitline(BL)是位线。

        Wordline是将一定数量(2的n次方)的存储单元的控制栅极连接起来。当Wordline上为H时,存储单元打开,此时Bitline上就可以读或者写数据到存储单元了。

        如下图,NAND 一个plane内部MOS阵列,MOS管的漏极BL=bit line,控制栅极 WL=word line,源极都连在一起,WL连接了若干个page,通过WL加不同电压和不同时间长度进行各种操作,在BL端进行读的操作。Bit Line对应的一串MOS叫做string,Block的高度一般是一个string,但是很宽,很多个WL。

一文详解闪存flash读写的原理 - 存储技术 - 电子发烧友网 (elecfans.com) 

         上图中,Control Gate相当于MOS管的G极(控制栅极),Floating Gate是浮栅层。

 

         DIE/LUN是接收和执行闪存命令的基本单元。但在一个LUN中,一次只能独立执行一个命令,不能对其中一个page进行写操作的同时,又对另一个page进行读操作。

       闪存块Block是最小的擦除单位原因:一个闪存块Block中的的所有存储单元是共用一个衬底(Substrate)的。如果对某个衬底加电压,那么所有浮栅层的电子都会被吸出来。

        一个DIE可以分为若干个Plane,每个Plane有独立的Cache Register(高速缓冲寄存器)和Page Register(页寄存器),其大小等于一个Page的大小。

        固态硬盘在写某个Page的时候,先把数据从主控传输到该Page所对应Plane的Cache Register中,再把整个Cache Register中的数据写到闪存阵列;读则相反,即闪存介质-->Cache Register-->主控。    注意:无论是从闪存介质读取数据到Cache Register,或是从Cache Register写数据到闪存介质,都是以Page为单位!!!

 3.1.4 读、写、擦原理

一文详解闪存flash读写的原理 - 存储技术 - 电子发烧友网

        如果浮动栅极Floating Gate中没有电子(即没有执行过写操作或执行过擦除操作),那么通过阈值电压可以控制电流的通断:

(1)当控制栅极上的电压 > 阈值电压VT时,此时没有电流,相当于开关断开,对应状态为0;

(2)当控制栅极上的电压 < 阈值电压VT时,此时有电流,相当于开关合上,对应状态为1。

1. 读

        当要读某个Page时:

      (1)将该Page的Wordline(即同一个Page中所有Cell上的控制栅极CG端的导线)电势置为0(即不加电压);

      (2)其他所有Page的Wordline电势升到一个值,这个电压又不至于把浮栅极Floating Gate中的电子吸出来。

        之所以抬高电势,是为了让其他Page所有的Cell的源极和漏极处于导通状态;没加电压(要读取的Page上)的那些Cell,其源极和漏极的通断,完全取决于其浮栅极中是否存在电子:

              1)若存在电子(即该Page已执行过写操作),处于断开状态,读到0;

              2)若不存在电子(即该Page没有执行过写操作),处于导通状态,读到1。

        总结:对要读的Page加低电压使电流断开,看Floating Gate中是否有电子,有电子为0, 否则为1。

2. 写

        执行写操作是对浮栅极充电子,也称为program。

        写之前需先执行擦除操作,擦除之后,数据变成了1。所以,需要对写入0的浮栅极进行充电。

         当写入某个Cell时:

        (1)将选中Page的Wordline加高压,对应Bitline不加高压;

        (2)对Page里其他Cell的Bitline加正常电压,保持电流导通;

        (3)将其他Page的Wordline加正常电压,保持导通。

         不需要写入数据的Cell的Wordline和Bitline电压抵消,电子不动;需要写入数据(选中)的Cell,由于电势差,将电子从Bitline吸到浮栅极中进行充电。

      上面仅是示例,读写的基本单位都是Page。实际上无法对某个Cell进行写入,因为无法对同一个Page里的不同Cell既充电又放电。

   

3. 擦除

        擦除动作,就是将一大片连续的Cell全部放电。实际操作是在衬底加电压足够长时间,把电子从浮栅极中吸出来。

        擦除是以Block为基本单位,因为一个Block共用一个衬底,所以一次只能擦除一个或多个Block。擦除之后,整个Block的数据都为1。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/730869.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【动手学习深度学习--逐行代码解析合集】10Dropout暂退法

【动手学习深度学习】逐行代码解析合集 10Dropout暂退法 视频链接&#xff1a;动手学习深度学习–Dropout暂退法 课程主页&#xff1a;https://courses.d2l.ai/zh-v2/ 教材&#xff1a;https://zh-v2.d2l.ai/ 1、暂退法原理 2、从零开始实现暂退法 import torch from torch i…

微服务网关技术选型:Zuul2、Gateway、OpenResty、Kong

1、简介 当使用单体应用程序架构时&#xff0c;客户端&#xff08;Web 或移动端&#xff09;通过向后端应用程序发起一次 REST 调用来获取数据。负载均衡器将请求路由给 N 个相同的应用程序实例中的一个。然后应用程序会查询各种数据库表&#xff0c;并将响应返回给客户端。微…

missing-semester————1

文章目录 shell概述echoshell如何知道去哪寻找date或echo呢&#xff1f;$PATHlsman流根用户 shell概述 root1test:~$ $表示身份不是root用户 ~表示当前所在位置是"home" root1test:~$ date Sat Jul 8 02:57:44 UTC 2023输入命令&#xff0c;会被shell解析 上述执行…

静态路由配置——Cisco Packet Tracer

这里放一个用Packet Tracer 8.0实现的配置好的静态路由文件&#xff0c;配置如下 下载链接如下&#xff1a; https://wwix.lanzoue.com/ifp5T11ksnla

内嵌tomcat报错

严重: Unable to process Jar entry [module-info.class] from Jar [jar:file:/D:/javaTools/apache-maven-bin/apache-maven-3.6.1/maven-repo/com/fasterxml/jackson/core/jackson-databind/2.10.5/jackson-databind-2.10.5.jar!/] for annotations org.apache.tomcat.util.b…

NI采集卡USB-6361多通道模拟输入采集报错解决方案

文章目录 前言一、现有例程1、前面板2、程序框图 二、采集测试1、单通道采集2、多通道采集①、错误的做法②、正确的做法1&#xff09;前面板2&#xff09;程序框图3&#xff09;运行测试 总结 前言 折腾一块 USB-6361 采集卡很久了&#xff0c;之前都是单通道采集模拟信号&am…

云原生(第六篇)k8s-kubeadmin部署

master&#xff08;2C/4G&#xff0c;cpu核心数要求大于2&#xff09; 192.168.169.10 docker、kubeadm、kubelet、kubectl、flannel node01&#xff08;2C/2G&#xff09; 192.168.169.30 docker、kubeadm、kubelet、kubect…

汇总:FlatLaf-intellij-themes皮肤效果一览

关于主题包&#xff1a; FlatLaf 是一个跨平台的 Java Swing 外观库&#xff0c;提供现代化的平面化用户界面。 导包 <dependency><groupId>com.formdev</groupId><artifactId>flatlaf</artifactId><version>3.1.1</version><sco…

机器学习28:《推荐系统-I》概述

在互联网领域&#xff0c;推荐系统&#xff08;Recommendation Systems&#xff09;的应用非常广泛。在音视频方面&#xff0c;如抖音、快手、哔哩等&#xff1b;在电商平台方面&#xff0c;如京东、淘宝、拼多多等。推荐有助于帮助用户快速发现潜在感兴趣的内容&#xff08;音…

RS485或RS232转ETHERCAT连接安川ethercat总线伺服

最近&#xff0c;生产管理设备中经常会遇到两种协议不相同的情况&#xff0c;这严重阻碍了设备之间的通讯&#xff0c;串口设备的数据不能直接传输给ETHERCAT。这可怎么办呢&#xff1f; 别担心&#xff0c;远创智控YC-ECT-RS485/232来了&#xff01;这是一款自主研发的ETHER…

使用vue ui创建vue项目失败原因

每个人的失败原因都不相同&#xff0c;因为下载NodeJS文件时&#xff0c;默认下载到c盘中&#xff0c;我改变盘符到了D盘&#xff0c;因此要删除c盘中隐藏的文件&#xff0c;注意是c盘中的.npmrc文件。具体位置如下&#xff1a; 点击查看显示隐藏文件才能看到该文件 最后创建项…

磁性材料在使用时需要注意什么

为了不引起人身损伤及磁体性能不良&#xff0c;请遵循以下注意事项&#xff1a; 1、 磁体在使用过程中应确保工作场所干净&#xff0c;否则容易吸附铁屑等磁性小颗粒影响使用。 2、 磁体在充磁时&#xff0c;磁体必须固定&#xff0c;且充磁场必须大于磁体材料矫顽力的2.5倍&…

CEC2023动态多目标优化算法:基于自适应启动策略的混合交叉动态约束多目标优化算法(MC-DCMOEA)求解CEC2023(提供MATLAB代码)

一、动态多目标优化问题 1.1问题定义 1.2 动态支配关系定义 二、 基于自适应启动策略的混合交叉动态多目标优化算法 基于自适应启动策略的混合交叉动态多目标优化算法&#xff08;Mixture Crossover Dynamic Constrained Multi-objective Evolutionary Algorithm Based on Se…

【ElasticSearch】JavaRestClient实现文档查询、排序、分页、高亮

文章目录 1、入门案例2、全文检索3、精确查询4、复合查询-boolean query5、排序和分页6、高亮 1、入门案例 先初始化JavaRestClient对象&#xff1a; SpringBootTest public class HotelSearchTest {private RestHighLevelClient client;Testvoid testInit() {System.out.pri…

uniapp如何给空包进行签名操作

这里给大家分享我在网上总结出来的一些知识&#xff0c;希望对大家有所帮助 首先安装sdk https://www.oracle.com/java/technologies/downloads/ 正常下一步即可~安装完毕后&#xff0c;进入在sdk根目录执行cmd C:\Program Files\Java\jdk-18.0.1.1\bin生成keystore 例&#xf…

数据结构--线索二叉树找前驱后继

数据结构–线索二叉树找前驱后继 中序线索二叉树找中序后继 在中序线索二叉树中找到指定结点*p的 中序后继 \color{red}中序后继 中序后继next ①若p->rtag 1&#xff0c;则next p->rchild ②若p->rtag 0 中序遍历――左根右 左根(左根右) 左根((左根右)根右) next …

PVT、OCV、工艺偏差、CPPRCRPR、ld漏级电流计算

文章目录 PVT&OCV(local variation)Sources of variation1) Etching2) Oxide Thickness propagation delay、ld、drain currentCPPR&CRPRsetup checkHold check 芯片的delay由两部分影响因素构成 cell delay&#xff1a;library set pvt_cornernet delay: rc tech fil…

电风扇自动温控调速器电路设计

这是一个电风扇自动温控调速器&#xff0c;可根据温度变化情况自动调节电风扇的转速&#xff0c;电路加以调整&#xff0c;也可用于其它电气设备的控制。 一、电路工作原理 电路原理如图 37 所示。 图中 IC 是 555 时基电路&#xff0c;与R2、R3 和 C2 等元件构成多谐振荡器…

前端Vue自定义暂无数据组件nodata 用于页面请求无数据时展示

随着技术的发展&#xff0c;开发的复杂度也越来越高&#xff0c;传统开发方式将一个系统做成了整块应用&#xff0c;经常出现的情况就是一个小小的改动或者一个小功能的增加可能会引起整体逻辑的修改&#xff0c;造成牵一发而动全身。通过组件化开发&#xff0c;可以有效实现单…

【Cesium 安装+Cesium 加载b3dm】

Cesium 安装 一、安装的方式大致有三种&#xff1a; 1、引入ceisum源码包使用&#xff1b; 2、安装cesium插件&#xff1b; 3、安装Vue-cesium插件 我这里只尝试了第一种和第二种。 引入ceisum源码包使用 可以使用直接下载官方压缩包来引入也可以npm i cesium包&#xff0c;把…