0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

写flash芯片时为什么需要先擦除?

工程师邓生 来源:未知 作者:刘芹 2023-10-29 17:24 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

写flash芯片时为什么需要先擦除?

在讲解为什么需要先擦除Flash芯片之前,先来了解一下Flash芯片的基本概念和组成部分。

Flash芯片是非易失性存储器,内部由多个块组成,每个块都是一定数量的页(Page)组成,每页又可以分成若干个扇区(Sector),扇区是Flash芯片的操作基本单位,通常为512字节或1K字节大小,而整个Flash芯片的容量则可以达到数个GB以上。Flash芯片的特点是擦写次数是有限的,每个扇区只能擦写数千次甚至更少次,而写入次数则几乎是无限的。

接下来我们就来探讨一下为什么在写入数据之前需要对Flash芯片进行擦除操作的原因。

一、Flash芯片的擦写操作是以扇区为单位进行的,每个扇区需要在擦写之前进行一次擦除,否则无法进行新的写入操作。

二、由于Flash芯片是非易失性存储器,写入和擦除操作的电压都较高,因此操作时需要耗费大量的能量,而对芯片的寿命也是有影响的。

三、每次擦写操作都会导致芯片内部原本被透明导体和钨多层结构堵塞的栅结相互打穿,这样就会导致芯片内部的漏电电流变大,从而会影响芯片的整体性能。

由于以上原因,我们就必须在进行写入操作之前对芯片进行擦除。Flash擦除操作的意义在于将芯片的闪存单元全部重置为1,相当于把Flash芯片格式化。擦除之后,扇区内的所有数据都被擦除,状态变为1,可以进行新的数据写入操作。因此,在对Flash芯片进行写入操作之前,我们就必须先对Flash芯片进行擦除操作。

擦除Flash芯片的方法可以分为硬件擦除和软件擦除两种方式:

一、硬件擦除

硬件擦除顾名思义是通过使用专门的设备,比如硬件编程器来进行擦除。硬件擦除的优点是擦除效率高、操作简单、擦除的每个扇区的状态都可以被直接检测到,然而硬件擦除也有一些缺点:

1.硬件擦除设备比较昂贵,不适合个人使用。

2.擦除操作只能通过特定的硬件设备来进行,不能在程序中使用。

二、软件擦除

软件擦除是通过CPU在程序中实现的一种擦除方式,需要注意的是,软件擦除需要对扇区内的每个字节进行擦除,操作的时间也相对较长。

软件擦除的优点是可以在程序中进行,不需要专门的擦除设备。缺点则是擦除效率相对较低,消耗的能量更大。

总结:

为了确保Flash芯片的长期可靠性和性能,我们必须在进行写入操作之前进行擦除操作。擦除操作可以通过从硬件设备到软件程序来进行,不同的擦除方式有各自的优缺点,需要根据实际需求选择合适的擦除策略。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FlaSh
    +关注

    关注

    10

    文章

    1715

    浏览量

    154735
  • 非易失性存储器

    关注

    0

    文章

    116

    浏览量

    24019
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    FPGA实现基于SPI协议的Flash驱动控制芯片擦除

    本篇博客具体包括SPI协议的基本原理、模式选择以及时序逻辑要求,采用FPGA(EPCE4),通过SPI通信协议,对flash(W25Q16BV)存储的固化程序进行芯片擦除操作。
    的头像 发表于 12-02 10:00 1908次阅读
    FPGA实现基于SPI协议的<b class='flag-5'>Flash</b>驱动控制<b class='flag-5'>芯片</b><b class='flag-5'>擦除</b>

    TLE9893是否支持在FLASH1上运行代码来擦除和编程FLASH1?

    芯片TLE9893是否支持在FLASH1上运行代码来擦除和编程FLASH1。在NVM-PROG_UCODE中,代码在FLASH1上运行,并将
    发表于 08-13 08:14

    FLASH/编程白皮书

    白皮书:如何烧Flash——不同场景不同需求下的选择认识Flash NAND vs. NOR如何烧/编程不同方案比较
    发表于 07-28 16:05 0次下载

    FLASH模拟EEPROM

    FLASH 模拟 EEPROM 原理 2.1 EERPOM 数据结构 由于 FLASH 在写入数据前,需要FLASH 数据
    发表于 07-16 15:13

    STM32F103RET6 FLASH擦除失败的原因?怎么解决?

    芯片不掉电,再进行擦除会出现擦不掉的情况,但是FLASH->SR寄存器未起任何异常状态,只有一个EOP置位。如果只是擦除->写入->
    发表于 07-10 06:40

    关于CCG5 platform Flash问题,在烧images时,如何保留产线校准数据?

    1. CCG5平台flash大小为128K,有512 row,每个row大小是256个字节 通过PSoC Programmer烧image时,会将128K的flash全部擦除,会导
    发表于 05-30 07:50

    STM32L476 Flash擦除失败的原因?

    开发板MCU型号:STM32L476RG 同样的固件在开发板中flash读写擦除操作都没问题,但在产品中擦除函数返回成功,但flash中的数据其实并没有
    发表于 04-23 08:26

    存储技术探秘 NAND Flash vs NOR Flash:藏在芯片里的&quot;门道之争&quot;

    非易失存储:断电后数据不丢失 可重复编程:支持擦写操作(需擦除后写入) 二进制操作:擦除后全为 1,操作将 1 变为 0 核心差异 一、物理结构对比 NOR 特性 独立存储单元并
    的头像 发表于 03-18 12:06 1064次阅读

    AGM FPGA/MCU烧文件类型有哪些及用途

    ,无法读取出内部程序数据。 另外,可以选择Erase功能,进行程序的擦除。 其它编程功能 烧_master.prg前需擦除FLASH,可选择Full chip erase befor
    发表于 03-14 09:54

    STM32H523中FLASH扇区擦除到0x8020000后面时擦除不干净,是什么原因导致的?

    我使用的256K Flash的产品,使用的是HAL库函数HAL_FLASHEx_Erase进行连续扇区擦除,然后工程是CUBEMX生成的,flash_lantcy是5,擦除延时也对是2
    发表于 03-07 07:55

    请问DLPC4422 flash首次烧需要离线完成烧吗?

    做了一块dlpc4422单板,flash第一次需要使用烧片机进行烧吗,烧文件是.img文件吗 还是直接贴装上,第一次就可以在线烧
    发表于 02-26 07:07

    DLPC的boot flash在上机贴片之前需要预先烧程序吗?

    您好,请问下,DLPC的boot flash在上机贴片之前需要预先烧程序吗?是否可以贴片后经过USB 烧img启动?
    发表于 02-21 16:56

    使用SIGMA STUDIO PLUS对连接在ADAU1452 SPI上的FLASH进行编程时,程序并不能成功的写入flash怎么解决?

    我尝使用SIGMA STUDIO PLUS 对连接在ADAU1452 SPI上的FLASH进行编程时,发现程序并不能成功的写入flash, 使用的FLASH芯片时M25P80,配置如下
    发表于 12-19 07:26

    Flash语音芯片相比OTP语音芯片的优势

    ‌。No.1可重复擦写Flash语音芯片的最大特点是支持多次编程和擦除,这意味着用户可以根据需要随时更新语音内容,实现定制化和灵活的语音交互。相比之下,OTP语音芯
    的头像 发表于 12-16 16:02 957次阅读
    <b class='flag-5'>Flash</b>语音<b class='flag-5'>芯片</b>相比OTP语音<b class='flag-5'>芯片</b>的优势

    Flash语音芯片相比OTP语音芯片的优势

    ‌。 1‌.可重复擦写‌:Flash语音芯片的最大特点是支持多次编程和擦除,这意味着用户可以根据需要随时更新语音内容,实现定制化和灵活的语音交互。相比之下,OTP语音
    的头像 发表于 12-16 15:44 815次阅读