闪存基本原理

系列文章目录

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


文章目录

  • 系列文章目录
  • 三、闪存基本原理
    • 1.结构
    • 2.衍生问题


三、闪存基本原理

闪存是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,断电保存当传家宝,若干时间后再拿出来恐怕就啥也没了吧?

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

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

相关文章

centos7 怎么让命令行显示中文(英文->中文)

要让CentOS 7命令行显示中文,您需要确保您的系统支持中文字符集,并在命令行中设置正确的语言环境。以下是设置中文字符集和语言环境的步骤: 首先,确保您的系统已经安装了中文字体。在终端中运行以下命令来查看安装的中文字体&…

开源免费的流程设计器如何选型

大家在开发OA办公自动化、ERP、CRM、BPM、低代码平台等项目的时候,经常用到流程引擎,目前主流的开源流程引擎有activiti、flowable、camunda。这几个开源的流程引擎均基于BPMN2.0国际规范标准,其功能均比较强大,接口也很丰富。但涉…

关键性进展! 小米造车露真容 预计明年上市

大家好,我是极智视界,欢迎关注我的公众号,获取我的更多前沿科技分享 邀您加入我的知识星球「极智视界」,星球内有超多好玩的项目实战源码和资源下载,链接:https://t.zsxq.com/0aiNxERDq 小米在各种不同的产品上都在不断打上自己的品牌,这绝对不止于智能手机,而是有智能…

javaScript 内存管理

1 js 内存机制 内存空间:栈内存(stack)、堆内存(heap) 栈内存:所有原始数据类型都存储在栈内存中,如果删除一个栈原始数据,遵循先进后出;如下图:a 最先进栈&…

【剪枝】torch-pruning的基本使用

论文:DepGraph: Towards Any Structural Pruning 工程:https://github.com/VainF/Torch-Pruning 算法和库的使用介绍:CVPR 2023 | DepGraph 通用结构化剪枝 1 TP的简介 该算法介绍了DepGraph 如何建模结构化剪枝中的层依赖,实现任…

英国国家量子计算中心与IBM签署重要协议!英国进入实用量子时代

​(图片来源:网络) 近日,英国国家量子计算中心(NQCC)与IBM达成了一项重要协议。根据该协议,NQCC将为英国研究人员提供IBM量子高级计划的云访问权限,其中包括IBM的量子计算系统舰队。…

一文带你拿下MySQL之增删查改(基础)

✏️✏️✏️今天给各位带来的是关于数据库增删查改基础方面的知识。 清风的CSDN博客 😛😛😛希望我的文章能对你有所帮助,有不足的地方还请各位看官多多指教,大家一起学习交流! 动动你们发财的小手&#xf…

Activiti7工作流引擎:生成实时的流程图片

实时获取当前流程对应的流程图片,并对当前正在审批的节点进行高亮显示。 public class ActivitiController {Autowiredprivate ProcessEngine processEngine;Autowiredprivate RepositoryService repositoryService;Autowiredprivate RuntimeService runtimeService…

vue超好用的自定义指令封装

一、指令封装 目录结构: index.ts 统一注册 import { App, Directive } from "vue"; import auth from "./modules/auth"; import copy from "./modules/copy"; import waterMarker from "./modules/waterMarker"; impor…

OpenStack-train版安装之基础组件安装

基础组件安装 安装MariaDB(数据库)安装RabbitMQ(消息队列)安装Memcached(缓存) 安装MariaDB(数据库) 安装 # yum install mariadb mariadb-server python2-PyMySQL -y数据库配置 …

2023年中国感应电炉产业链、产量、销量及市场规模分析[图]

感应电炉行业定义是指使用电磁感应原理,通过感应电流使金属工件在短时间内达到预定温度的工业设备。广泛应用于冶金、机械、汽车、航空、航天、船舶、电子、医疗器械等领域。 感应电炉行业产业链 资料来源:共研产业咨询(共研网) …

CSS实现空心的“尖角”

大家好,我是南宫,来分享一个昨天解决的问题。 我记得之前刷面试题的时候,CSS面试题里面赫然有一题是“如何用CSS实现三角形”,我觉得这个问题确实很经典,我上的前端培训班当初就讲过。 大概思路如下: 先…

【每周一测】Java阶段三阶段考试

目录 1、SpringBoot在整合RabbitMQ时需要导入的包是 2、下列关于RabbitMQ的confirm消息确认机制解释说明正确的是 3、关于SpringBoot的配置文件,以下说法正确的是() 4、变量命名规范说法正确的是? 5、哪个关键字可以对对象加互斥锁&…

优思学院|质量管理怎样才能做好?

质量管理怎样才能做好?这是一个好问题,很多人第一时间会想到建立一个稳定的质量管理体系,例如ISO9001,又或者善用QC七大手法等等,虽然以上这些方法都是实用和正确的,绝大多数企业通常最忽略的,其…

备案信息一键查询:网站备案信息查询API的操作与优势

前言 在当今数字化的时代,企业的在线存在至关重要。而为了确保在网络空间的法规合规性,了解和管理网站备案信息变得尤为重要。为了使这一过程更为高效、便捷,网站备案信息查询API应运而生,为企业提供了一种简便的方式来获取和管理…

如何打造适用的MES管理系统解决方案

在当前的制造业领域,项目型生产企业面临着独特的挑战。尽管国外的大型软件公司提供了某些解决方案,但由于地域、文化和制度的差异,这些方案并不完全满足企业的实际需求。为了解决这一难题,我们必须以客户为中心,围绕他…

数字逻辑电路基础-时序逻辑电路之锁存器

文章目录 一、锁存器简介二、verilog源码三、综合及仿真结果一、锁存器简介 本文介绍数字逻辑电路中一种常用的基础时序逻辑电路-锁存,顾名思义,它的功能就是将输入在控制信号有效时透明传输到输出端,当控制信号无效时,输出值保持不变。它具有记忆和存储功能。这是它区别组…

处理无线debug问题

无限debug的产生 条件说明 开发者工具是打开状态 js代码中有debugger js有定时处理 setInterval(() > {(function (a) {return (function (a) {return (Function(Function(arguments[0]" a ")()))})(a)})(bugger)(de, 0, 0, (0, 0)); }, 1000); ​ #这里就…

供应链和物流的自动化新时代

今天,当大多数人想到物流自动化时,他们会想到设备。机器人、无人机和自主卡车运输在大家的谈话中占主导地位。全自动化仓库的视频在网上流传,新闻主播们为就业问题绞尽脑汁。这种炒作是不完整的,它错过了供应链和物流公司的机会。…

Talk | PSU助理教授吴清云:AutoGen-用多智能体对话开启下一代大型语言模型应用

本期为TechBeat人工智能社区第548期线上Talk! 北京时间11月21日(周二)20:00,宾夕法尼亚州立大学助理教授—吴清云的Talk已准时在TechBeat人工智能社区开播! 她与大家分享的主题是: “ AutoGen:用多智能体对话开启下一代大型语言模…