闪存知识科普-基本储存单元结构

概述:

闪存,即FlashMemory。其基本储存单元(Memory Cell)如下图所示。看起来有点像N沟道(N-Channel)MOS管,但比MOS管多一个悬浮闸(Floating Gate)。悬浮闸内可以储存电荷。在悬浮闸的两端,是层间绝缘膜和二氧化硅隧道氧化膜。一旦电荷进入悬浮闸内,在没有外部施加电压的情况下,可以被长期保存。常温环境下,这些电荷可以被保存10年以上。但如果环境温度过高,悬浮闸内的电子可能会因为获得热能而逃逸。电荷逃逸意味着数据丢失。悬浮闸的上方是控制闸(Control Gate),相当于MOS管的G极。悬浮闸的下方,左边是源极(Source),右边是漏极(Drian)。最下面是P阱(P-Well)。
在这里插入图片描述

闪存写入原理:

写入数据时,在G极施加较高的电压,源极接地,漏极也施加适当的电压。这时,源极和漏极导通,电子流在源极和漏极之间流动。当电子流足够强大时,会发生穿隧效应,部分电子会穿越二氧化硅氧化膜,进入悬浮闸。理论上,只要二氧化硅氧化膜不退化,移除电源之后,进入到悬浮闸内的电子也不会丢失。这样就完成了写入的动作。
在这里插入图片描述

闪存数据的读取:

电荷进入悬浮闸之后,产生一个电势。这个电势施加到G极,导致G极电压产生偏移。我们以此来判断悬浮闸内是否存在电荷。假设有电荷为“1”,则无电荷为“0”。数据就这样读取出来了。

闪存数据的擦除:

擦除数据就是清除悬浮闸内的电荷。一般有两种方式。
1 在源极加上较高的电压,G极接地,让源极和G极之间形成一个较高的电压差,强大的电势能会把悬浮闸内的电子“吸”出来,越过二氧化硅氧化膜流向源极。如下图所示。
在这里插入图片描述
2 在源极加上正电压,在G极加上较高的负电压,源极和G极之间形成一个较高的电压差,强大的电势能会把悬浮闸内的电子“挤”出来,越过二氧化硅氧化膜流向源极。如下图所示。
在这里插入图片描述

闪存数据丢失:

以上是正常擦除的方法,还有一种特殊情况,如果闪存长期存放在高温环境下,悬浮闸内的电子可能因获得热能而加速运动,并有可能突破二氧化硅氧化膜,“逃逸”出来,丢失电荷就是丢失了数据。所以大家在使用固态盘时,尽量避开热源。像M.2和mSATA这类小固态盘,不要安装在发热量大的部件附近。

分类:

以上是闪存基本储存单元的工作原理。根据基本单元的连接方式不同,闪存被分为NOR Flash和NAND Flash两大类。下次有时间我再给大家介绍。也可参阅《工业计算机硬件技术支持手册》第8章及其他相关章节。

推荐文章:

《工业计算机硬件技术支持手册》简介
AMI UEFI BIOS更新程序AFUEFIX64.EXE中文使用说明
如何使用 再生龙(Clonezilla)备份系统或还原系统,备份硬盘或还原硬盘
利用BIOS状态码(Checkpoint)及Beep声来诊断计算机启动过程中的问题
AMI aptio 5.x BIOS状态码(POST CODE)及开机Beep声含义表(Checkpoints & Beep C…

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

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

相关文章

[江科大STM32] 第五集快速建立STM32工程模板——笔记

保存,进去选芯片型号,我们是F10C8T6 一个MD,还有所有.c.h 这里所有文件 这里所有文件

Elasticsearch:基础概念

一、什么是Elasticsearch Elasticsearch是基于 Apache Lucene 构建的分布式搜索和分析引擎、可扩展数据存储和矢量数据库。它针对生产规模工作负载的速度和相关性进行了优化。使用 Elasticsearch 可以近乎实时地搜索、索引、存储和分析各种形状和大小的数据。Elasticsearch 是…

安卓播放器TVbox或影视仓软件如何链接到xiaoya小雅超集?很详细的教程

前言 这里咱们说的安卓播放器软件指的是这个: 还有这个: 这两个软件只是个壳,你需要做的仅仅是把需要的内容填写到对应的位置即可。 开始这个教程之前,你需要先部署好小雅,如果没有部署小雅,这个教程基本…

Datawhale AI冬令营 动手学AI Agent

背景——什么是Agent 在人工智能领域,agent可以指一个能够感知环境并作出决策以实现特定目标的系统。比如,一个聊天机器人(chatbot)就是一个agent,它能够理解用户的输入并给出相应的回复。 学习目标 学会使用百宝箱平…

如何在IDEA一个窗口中导入多个项目

一般在IDEA窗口中想导入一个新项目,会提示我们在当前窗口还是新窗口。如果选新窗口,就会新打开一个窗口,此时新窗口里面只有新导入的项目。 而为了浏览起来更方便,需要实现在IDEA一个窗口中导入多个项目。具体步骤如下&#xff1…

面试经典问题 —— 链表之返回倒数第k个节点(经典的双指针问题)

目录 原题思路代码实现小结 原题 leetcode链接 : https://leetcode.cn/problems/kth-node-from-end-of-list-lcci/description/ 思路 这题就是典型的双指针母题 第一个指针先移动k步,然后第二个指针再从头开始,这个时候这两个指针同时移动&am…

VMware安装配置

1、官网下载VMware16 (1)进入VMware官网https://www.vmware.com/cn.html,之后点击下载里的Workstation Pro: (2)之后选择你要下载的VMware的版本,找到合适的下载,我这里以Windows系…

【文献精读笔记】Explainability for Large Language Models: A Survey (大语言模型的可解释性综述)(五)

****非斜体正文为原文献内容(也包含笔者的补充),灰色块中是对文章细节的进一步详细解释! 五、 解释评估(Explanation Evaluation) 在前面的章节中,我们介绍了不同的解释技术和它们的用途&#…

SQL 中的 EXISTS

我们先从 SQL 中最基础的 WHERE 子句开始。 比如下面这条 SQL 语句: 很显然,在执行这条 SQL 语句的时候,DBMS 会扫描 Student 表中的每一条记录,然后把符合 Sdept IS 这个条件的所有记录筛选出来,并放到结果集里面去…

C语言链表通关文牒0.5

之前排序创建链表那里用的是哨兵法,但是有局限性,这里介绍一个补充,不创建第一个空节点进行排序 NODE *create() {int val;NODE *head NULL; // 初始化头指针为NULLNODE *pC NULL; // 初始化指针,用于遍历链表while(1) {pri…

GAN对抗生成网络(一)——基本原理及数学推导

1 背景 GAN(Generative Adversarial Networks)对抗生成网络是一个很巧妙的模型,它可以用于文字、图像或视频的生成。 例如,以下就是GAN所生成的人脸图像。 2 算法思想 假如你是《古董局中局》的文物造假者(Generator,生成器)&a…

基于Python的携程旅游景点数据分析与可视化

基于Python的携程旅游景点数据分析与可视化 爬取景点、价格、开放状态、评论、热度、优惠政策等信息。 功能列表 指定城市爬取支持登录支持筛选支持评论爬取支持数据存在数据库支持生成Excel支持可视化 部分效果演示 爬取的旅游景点信息 生成Excel 指定城市爬取 可视化 部门…

SQL-leetcode-197. 上升的温度

197. 上升的温度 表: Weather ---------------------- | Column Name | Type | ---------------------- | id | int | | recordDate | date | | temperature | int | ---------------------- id 是该表具有唯一值的列。 没有具有相同 recordDate 的不同行。 该表包…

等待事件 ‘latch: row cache objects‘ 说明及解决方法

早上刚来的时候,收到zabbix 数据库连接数增长的告警,同时应用负责人也说查询很慢、很卡 查看该时间段 最多的等待事件 SELECT event,COUNT(1) num FROM V$ACTIVE_SESSION_HISTORY A WHERE A.SAMPLE_TIME BETWEEN TO_DATE(2025-01-02 09:00:00, YYYY-M…

HAL 库------中断相关函数

HAL_SuspendTick();是对SysTick中CTRL寄存器中TICKINT位清0 HAL_ResumeTick(); 刚好与上面函数相反,对SysTick中CTRL寄存器中TICKINT位置1,恢复stick中断。

IDEA开发Java应用的初始化设置

一、插件安装 如下图所示: 1、Alibaba Java Coding Guidelines 2.1.1 阿里开发者规范,可以帮忙本地自动扫描出不符合开发者规范的代码,甚至是代码漏洞提示。 右击项目,选择《编码规约扫描》,可以进行本地代码规范扫…

QT-------------多线程

实现思路 QThread 类简介: QThread 是 Qt 中用于多线程编程的基础类。可以通过继承 QThread 并重写 run() 方法来创建自定义的线程逻辑。新线程的执行从 run() 开始,调用 start() 方法启动线程。 掷骰子的多线程应用程序: 创建一个 DiceThre…

在C语言基础上的C++(深入理解类和对象)

1:构造函数 1:为什么使用构造函数 由于类的封装性,一般来说,数据成员是不能被外界访问的,所以对象的数据成员的初始化工作就给共有函数来完成了。如果定义了构造函数,那么只要对象一建立,就可…

ESP32_H2-ESP32_H2(IDF)学习系列-安装官方组件

1、 在VS Code项目工程中添加IDF组件注册表中的组件十分便捷。您只需按下“CtrlShiftP”快捷键快速进入命令面板,或者通过菜单栏的“查看”选项,选择“命令面板”来打开它。随后,在命令面板中输入“ESP-IDF: Show Component Registry”即可展…

【UE5】UnrealEngine源码构建2:windows构建unreal engine 5.3.2

参考大神知乎的文章:UE5 小白也能看懂的源码编译指南 据说会耗费400G的空间。 代码本身并不大,可能是依赖特别多,毕竟看起来UE啥都能干,核心还是c++的, 【UE5】UnrealEngine源码构建1:tag为5.3.2源码clone 本着好奇+ 学习的态度,想着也许有机会能更为深入的熟悉UE的机制…