news 2026/5/19 4:28:12

flash为什么必须要按块来擦除?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
flash为什么必须要按块来擦除?

Flash存储器(闪存)能在断电后长期保存数据,其核心秘密在于浮栅晶体管(Floating Gate Transistor)。你可以把它想象成一个带有“电子陷阱”的特殊开关。这个“电子陷阱”(浮栅)被绝缘层包围,一旦电子被注入,即使断电也会被关在里面,从而实现数据的持久保存。

但是Flash存储器不能像RAM那样直接覆盖写入,也不能单独擦除某一个字节,其“按块擦除”的特性源于其物理设计和底层的工作原理。

Flash存储的基本原理

lash存储器的最小存储单元是浮栅晶体管。它通过浮栅中是否捕获电荷来存储信息(通常有电荷代表0,无电荷代表1)。

  • 写操作(编程):写操作只能将存储单元的电位状态从 “1”改变为“0” (即注入电子)。它不能将“0”变回“1”

  • 擦除操作:擦除操作才是将整个区块的“0”恢复为“1”(即移除电子)的过程,使该区块恢复到可写入的状态。擦除后,区块内的所有字节都会变为 0xFF(即全1)

擦除的工作原理

普遍使用 F-N隧穿 (Fowler-Nordheim Tunneling)。在控制栅施加低电压(或负电压),同时在源极或P型衬底(P-Well)施加很高的正电压,形成一个强电场,迫使浮栅中的电子穿过隧道氧化层被拉出来。

为何不能单独擦写,必须按块擦除?

Flash存储器中,多个存储单元会共享同一个衬底(P-Well)。当需要进行擦除操作时,需要在整个共享的衬底上施加一个较高的电压,才能将浮栅中的电子通过F-N隧穿效应“拉”出来。由于这个物理结构上的限制,施加的高压会作用于整个共享区域,因此无法单独擦除某一个或几个单元,必须对整个块(Block)进行擦除。

按块擦除带来的挑战

每次擦除操作都会对浮栅下方的隧道氧化层造成微小的损耗。这种损耗是累积性的,当擦写次数超过一定限度(例如1万到10万次,因芯片类型而异),该块就可能无法可靠存储数据,成为“坏块”。

为何擦除如此耗时?

  • 物理过程本质:擦除操作依赖Fowler-Nordheim (F-N) 隧穿效应。这个过程需要施加较高的电压(例如P阱+8V,控制栅-10V)以形成足够强的电场,使电子能穿过绝缘的隧道氧化层从浮栅中逃逸。这个物理过程本身就需要一定的时间(通常需要持续几十到几百毫秒)才能稳定可靠地完成。

  • 操作单位大:擦除操作必须以块(Block)为单位进行。一个Block的大小远大于写入和读取的单位页(Page)。一次擦除整个块,意味着要移动的电荷总量巨大,自然比只写入一页数据(仅改变部分位)花费的时间长得多。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/16 20:19:39

DsHidMini完整指南:让PS3手柄在Windows系统重获新生

DsHidMini是专为索尼PS3 DualShock 3手柄设计的终极Windows驱动程序解决方案。通过模拟标准HID设备,这款驱动让您的PS3手柄能够完美工作在Windows 10/11系统上,无论是通过USB有线连接还是蓝牙无线连接,都能获得出色的游戏体验。 【免费下载链…

作者头像 李华
网站建设 2026/5/16 12:10:11

终极指南:如何高效利用KITTI-360数据集进行自动驾驶研究

终极指南:如何高效利用KITTI-360数据集进行自动驾驶研究 【免费下载链接】kitti360Scripts This repository contains utility scripts for the KITTI-360 dataset. 项目地址: https://gitcode.com/gh_mirrors/ki/kitti360Scripts KITTI-360数据集是自动驾驶…

作者头像 李华
网站建设 2026/5/11 14:45:59

MediaMux视频处理工具:从零基础到精通的全方位指南

MediaMux视频处理工具:从零基础到精通的全方位指南 【免费下载链接】MediaMux A windows tool for converting/muxing/split/concat videos. 项目地址: https://gitcode.com/gh_mirrors/me/MediaMux 在数字化时代,视频内容已成为信息传播的主要载…

作者头像 李华
网站建设 2026/5/16 20:34:43

为何低压断路器的进出线方向不能反接?

低压断路器的进出线方向不能接反,是因为断路器动触头侧、静触头侧的操作机构介电性能不同,断路器动、静出头上的电弧弧根移动方式不同导致的。如果采用下部进线,则断路器可能需要采取降容措施,也即实际运行电流会小于额定电流&…

作者头像 李华
网站建设 2026/5/14 15:26:11

EmotiVoice开发者问答精选:高频问题官方回应

EmotiVoice开发者问答精选:高频问题官方回应 在虚拟主播直播时突然“变脸”发怒,或是让失语者用自己年轻时的声音重新说话——这些曾属于科幻的情节,如今正随着语音合成技术的突破逐渐变为现实。而在这场变革中,EmotiVoice 成为了…

作者头像 李华
网站建设 2026/5/11 14:46:00

qt串口助手

mainWindows.c构造函数/*---------- 1. 串口对象初始化 ----------*/serialPort new QSerialPort(this); // 创建串口对象,指定父对象自动回收/* 连接串口的“readyRead”信号到我们的自定义槽函数 */connect(serialPort, &QSerialPort::readyRead,this,&a…

作者头像 李华