5、闪存简述

闪存基本原理

如下图所示浮栅晶体管,当判断是0或1的时候,是在源极加电,当源极和漏极能导通则为1,否则为0;源极和漏极能导通的前提是源极和漏极之间充满电子

假如在控制极加电(电子具有向电性),衬底的电子就会被吸到浮栅极,源极和漏极之间就无法导通了,此时就为0,即浮栅极充满电子为0;如在衬底加电,电子又会从浮栅极吸出,源-漏极之间就能导电,即为1。这就是浮栅晶体管能标识0/1的原理。

当随着控制极-衬底之间加电次数的增多,隧道氧化层会变得越来越薄,导致浮栅极-衬底之间电子可以相互逃逸,次数晶体管的状态就不稳定了,也就坏了。

在初始状态下,电子都集中在衬底,也就是说晶体管初始表示为1;如果向晶体管写1,则无需操作,如果写0,则要控制极加压。

另外一旦晶体管被写入后,如果再想表示为1,就需要衬底加压,这就是擦除操作;而读的话只涉及源-漏极之间的加压,不会影响电子状态,故可以直接读

如上所述,擦除操作会影响到隧道氧化层,所以晶体管是有寿命的,当擦除到一定次数,晶体管就不稳定了。

事实上在组成闪存时,固定数量的晶体管使用同一个衬底,这个固定数量的晶体管称为一个块,即闪存是按块擦除的

闪存类型

用一个存储单元有无电子来区分0和1,即一个存储单元只能存储1位数据,这样的闪存称为SLC (Single Level Cell)。通过提升存储密度,用一个存储单元存储多位数据,先后出现了MLC、TLC、QLC等类型的闪存,即在控制极加不同的电压,浮栅极就会存储不同数量的电子,以此来表示不同的数据。

假如一个存储单元共有100个电子,用0~5、20~40、50~70、80~100个电子分别表示四种状态,这四种状态就可以用两位编码,这就是MLC的概念;同理TLC是三位编码,能表示2^3次方个数据,QLC是四位编码,能表示2^4次方个数据。这样 相同数量的晶体管就能存储更多的数据。

但是存储密度提高的一个代价就是写性能会变差,因为表示的状态越多,越需要对电子数量精细化的控制,而且少量电子的流失就可能导致数据发生变化。

比如在SLC,用0~10个电子数量表示0,50~100个电子数量表示1,即使浮栅层逃逸了20个电子,也不会进入0~10表示的“1”的状态,而对于MLC,同样流失20个电子,可能就从"00"变成“01”了,当然电子的流失跟隧道氧化层相关,如果隧道氧化层越强,越会不发生电子流失,但是随着擦除次数的越来越多,隧道氧化层的能力越来越弱,比如对SLC来说擦除10万次内,对电子流失都不是那么敏感,但对MLC来说,可能擦除数千次就隧道氧化层的损伤导致的电子流失就接受不了了。所以闪存密度的提高另外的代价就是闪存的寿命和稳定性都会变差

闪存的组织结构

闪存芯片的基本组成单元从小到大依次是:cell(单元)、page(页)、block(块)、plane(平面)、Die(核心)、NAND flash(闪存芯片)。

是读写的基本单元,是擦除的基本单元;页和块是两个常用的单位;但此处的页跟操作系统中文件系统的页不是同一个。

Die等同于SCSI中的LUN的概念;在HDD中一般一个盘只有一个LUN,但SSD的闪存中一般一个盘都有多个Die,以支持更大的并发。

一个Die又分为若干个Plane(一个Plane包含若干块),每个Plane都有独立的Page Register(页缓存)和Cache Register(闪存缓存),这里页缓存的大小等于闪存的页大小(可见页大小在闪存出厂时就确定了,而文件系统的页大小是可改的),这些闪存缓存和页缓存就是闪存内部的RAM

Q:闪存的一个闪存块共用一个衬底,也就是说擦除的单位是块,但闪存的写入是以页进行的,为什么不是以块进行?

A:由于闪存的特性,即使只擦除很少的数据,也需要对整块进行擦除,这就需要先缓存块中的原有数据,并在原有数据上进行更新,介质擦除后,再把数据写入,此时的写入是以页进行的,但实际上整个块都需要写入,这就是写要经过“读-擦除-写”的过程,所以写的效率是很低的。

     但闪存实际读写的单位是页,这是为了从逻辑上能更加精细化的控制写入的部位;实际上当多个I/O操作同一个块时,可以合并成对块的一次I/O的操作,此时以页来划分块更容易控制;当然以块为单位写,我认为也是没问题的,也可以把对此块的多个I/O合并成一此操作,只是以页为单位在逻辑上更好控制而已。

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

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

相关文章

[计网初识1] TCP/UDP

学习内容 1.TCP建立链接的3次握手,断开连接的4次挥手 2.TCP报文段组成 内容 1.TCP 建立连接的3次握手? 假设主动方是客户端,被动方是服务端。 第一次 客户端给服务端发送 “hello,我是客户端” (TCP段中 SYN1) 第二次 服务端给客户端发送"我接…

一站式短视频矩阵开发,高效托管!

短视频矩阵系统源码SaaS解决方案提供全面的开发服务,包括可视化视频编辑、矩阵式内容分发托管以及集成的多功能开发支持。 短视频矩阵:引爆您的数字营销革命 短视频矩阵系统是一套多功能集成解决方案,专为提升在短视频平台上的内容创作、管理…

C语言笔记31 •单链表经典算法OJ题-3.反转链表•

反转链表 1.问题 给你单链表的头节点 head&#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 2.代码实现&#xff1a; //3.反转链表 #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <stdlib.h> #include <assert.h>typedef int …

技术成神之路:设计模式(四)工厂方法模式

1.定义 工厂方法模式&#xff08;Factory Method Pattern&#xff09;是一种创建型设计模式&#xff0c;它提供了一种创建对象的接口&#xff0c;而不是通过具体类来实例化对象。工厂方法模式的主要作用是让子类决定实例化哪一个类&#xff0c;从而实现对象创建的延迟到具体子类…

4.2 存储管理

大纲 页式存储必考&#xff0c;段式存储看运气 页式存储 概念

迅为RK3588开发板RKNPU2项目实战2SORT目标追踪

1.介绍和视频演示2.在模拟器实现图片的目标追踪3.连板推理和嵌入式部署4.视频目标追踪的实现(python)5.C实现目标追踪性能强--iTOP-3588开发板采用瑞芯微RK3588处理器&#xff0c;是全新一代ALoT高端应用芯片&#xff0c;采用8nm LP制程&#xff0c;搭载八核64位CPU&#xff0c…

飞睿智能6公里WiFi图传接收模块,低延迟、抗干扰、高速稳定传输数据,无人机、农田远距离WiFi模块

在科技日新月异的今天&#xff0c;无线通信技术正以前所未有的速度发展&#xff0c;不仅改变了我们的生活方式&#xff0c;还为企业带来了前所未有的商业机遇。今天&#xff0c;我要向大家介绍一款飞睿智能的产品——6公里WiFi图传接收模块&#xff0c;它以其高性能、稳定的传输…

ES13的4个改革性新特性

1、类字段声明 在 ES13 之前,类字段只能在构造函数中声明, ES13 消除了这个限制 // 之前 class Car {constructor() {this.color = blue;this.age = 2

SpringBoot实现简单AI问答(百度千帆)

第一步&#xff1a;注册并登录百度智能云&#xff0c;创建应用并获取自己的APIKey与SecretKey&#xff0c;参考网址&#xff1a; 点击去百度智能云 第二步&#xff1a;引入千帆的pom依赖 <dependency><groupId>com.baidubce</groupId><artifactId>q…

python库(9):prettytable库快速实现ASCII表格

下面介绍一个快速制作ASCII表格库——prettytable&#xff0c;可以方便地制作简单表格。 1 安装prettytable pip install -i https://pypi.tuna.tsinghua.edu.cn/simple prettytable 结果如下&#xff1a; 2 代码实例 from prettytable import PrettyTable table PrettyTa…

CloudCanal监控告警配置问题

前言&#xff1a; 近日有几个库需要同步到另外一台机做备份&#xff0c;想起Cloudcanal 比较方便&#xff0c;那就尝试用下 Cloudcanal 做同步&#xff0c;但是同步任务建立好之后&#xff0c;需要做监控&#xff0c;不然那天停止同步了都不知道&#xff0c;真所谓有应用必上监…

CVE-2024-6387Open SSH漏洞彻底解决举措(含踩坑内容)

一、漏洞名称 OpenSSH 远程代码执行漏洞(CVE-2024-6387) 二、漏洞概述 Open SSH是基于SSH协议的安全网络通信工具&#xff0c;广泛应用于远程服务器管理、加密文件传输、端口转发、远程控制等多个领域。近日被爆出存在一个远程代码执行漏洞&#xff0c;由于Open SSH服务器端…

高可用hadoop分布式节点的扩容

解决方案 修改hdfs-site.xml 文件 原xml文件 <?xml version"1.0" encoding"UTF-8"?> <?xml-stylesheet type"text/xsl" href"configuration.xsl"?> <!--Licensed under the Apache License, Version 2.0 (th…

华盈生物获得美国Akoya认证的PhenoCycler-Fusion(原CODEX)技术服务商

华盈生物获得美国Akoya认证的PhenoCycler-Fusion&#xff08;原CODEX&#xff09;技术服务商 华盈生物获得美国Akoya公司认证的PhenoCycler-Fusion&#xff08;原CODEX&#xff09;空间单细胞蛋白组技术服务商&#xff0c;并进入该技术的全球CRO服务提供者网络&#xff1a;htt…

java设计模式(十三)模版方法模式(Template Method Pattern)

1、模式介绍&#xff1a; 模版方法模式是一种行为型设计模式&#xff0c;定义了一个操作中的算法框架&#xff0c;将一些步骤延迟到子类中实现。模版方法使得子类可以在不改变算法结构的情况下&#xff0c;重新定义算法中的某些步骤。 2、应用场景&#xff1a; 算法框架固定…

Python酷库之旅-第三方库Pandas(013)

目录 一、用法精讲 31、pandas.read_feather函数 31-1、语法 31-2、参数 31-3、功能 31-4、返回值 31-5、说明 31-6、用法 31-6-1、数据准备 31-6-2、代码示例 31-6-3、结果输出 32、pandas.DataFrame.to_feather函数 32-1、语法 32-2、参数 32-3、功能 32-4、…

小白学c嘎嘎(第二天)入门基础下

温馨提醒&#xff1a;本篇文章起&#xff0c;文章内容排版将更新&#xff0c;层层深入 基础知识 回顾 引用的语法格式&#xff1a;类型& 引⽤别名 引⽤对象; 引用特性 1. 引⽤在定义时必须初始化 2. ⼀个变量可以有多个引⽤ 3. ⼀旦引⽤⼀个实体&#xff0c;再不…

android Dialog全屏沉浸式状态栏实现

在Android中&#xff0c;创建沉浸式状态栏通常意味着让状态栏背景与应用的主题颜色一致&#xff0c;并且让对话框在状态栏下面显示&#xff0c;而不是浮动。为了实现这一点&#xff0c;你可以使用以下代码片段&#xff1a; 1、实际效果图&#xff1a; 2、代码实现&#xff1a;…

【解读大模型(LLM)的token】

文末有福利&#xff01; 当人们谈论大型语言模型的大小时&#xff0c;参数会让我们了解神经网络的结构有多复杂&#xff0c;而token的大小会让我们知道有多少数据用于训练参数。 正像陆奇博士所说的那样&#xff0c;大型语言模型为从文本生成到问题回答的各种任务提供了令人印象…

11410-00SF 同轴连接器

型号简介 11410-00SF是Southwest Microwave的连接器。该连接器的外壳采用优质不锈钢&#xff0c;材质为 CRES ALLOY UNS-S303500&#xff0c;符合 ASTM-A582 标准。首先&#xff0c;不锈钢材料经过锻造加工&#xff0c;形成转接器的基本形状。然后&#xff0c;外壳进行精密的 C…