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

    文章

    1551

    浏览量

    146646
  • 非易失性存储器

    关注

    0

    文章

    106

    浏览量

    23254
收藏 人收藏

    评论

    相关推荐

    STM32L476先用仿真器擦除FLASH后在程序中不成功怎么解决?

    STM32L476FLASH必须是64位(8字节),也就是double WORD,而且要先把要写的字节部分擦除掉。 问题来了,先把整片用仿真器
    发表于 03-28 08:44

    重新烧程序不是会擦除flash吗,为什么flash最后一页写入的字节还是存在?

    尝试了重新烧程序不是会擦除flash吗,但是flash最后一页写入的字节还是存在? 怎么回事?
    发表于 03-27 07:51

    stm32g473 flash擦除失败的原因?

    flash擦除的时候有需要注意的点没有注意到。 单步调试有时一进入HAL_FLASHEx_Erase( EraseInitStruct,PAGEError),就会引起SR寄存器报下面的错误
    发表于 03-26 08:11

    STM32G0B1RET6对FLASH进行擦除擦除不了的原因?

    最近尝试用G0芯片FLASH进行擦除,发现擦除不了,代码如下: 从J-LINK回读结果来看,并未按照设想进行FLASH
    发表于 03-11 07:37

    NAND Flash的写入速度和擦除速度分别是多少

    NAND Flash的写入速度和擦除速度会受到多种因素的影响,包括Flash芯片的具体型号、制造工艺、以及操作环境等。因此,无法给出确切的数值。
    的头像 发表于 02-19 12:41 1061次阅读

    TC1728擦除FLASH需要关闭中断吗?

    TC1728擦除FLASH需要关闭中断吗
    发表于 02-04 06:57

    tle9893芯片在进行flash操作时需要先进行擦除,再进行写入吗?

    tle9893芯片在进行flash操作时需要先进行擦除,再进行写入吗
    发表于 01-24 07:00

    flash擦除后的值是多少

    擦除后,Flash存储器中的所有位都被设置为逻辑"1"的状态。 Flash擦除是通过将数据位逻辑上设置为"0"来实现的。对于普通的Flash
    的头像 发表于 01-04 15:57 706次阅读

    WT588F02B语音芯片:主控程序和Flash数据可擦除再烧写的应用优势

    Flash数据均可擦除再烧写的特性,为实际应用带来了显著的优势。首先,WT588F02B的主控程序和Flash数据可擦除再烧写功能提供了更高的灵活性。传统的语音
    的头像 发表于 12-19 08:39 179次阅读
    WT588F02B语音<b class='flag-5'>芯片</b>:主控程序和<b class='flag-5'>Flash</b>数据可<b class='flag-5'>擦除</b>再烧写的应用优势

    Nor Flash编程和擦除操作的详细流程

    Nor Flash 中的编程和擦除操作涉及写入数据和擦除存储单元的特定步骤。
    的头像 发表于 12-05 15:19 438次阅读

    Nor Flash编程和擦除操作实践与指南

    闪存编程也不涉及将数据写入存储单元,为确保准确编程,Nor Flash 支持字节级编程,允许写入或修改单个字节,而无需擦除整个块。
    的头像 发表于 12-05 14:03 521次阅读

    对STM32进行编程的时候为什么要擦除全部的flash数据?

    对STM32进行编程的时候为什么要擦除全部的flash数据
    发表于 10-10 06:34

    用MDK下载程序除错时Data Flash擦除了怎么办?

    因为程式需要先读取 Data Flash 的资料来做处理, 所以需要预先写入一些资料, 但先用 ICP Programming Tool 烧 Data
    发表于 08-24 07:38

    用ICP Programming Tool工具烧录NUC029芯片时可不可以选择不擦除数据flash

    用ICP Programming Tool工具烧录NUC029芯片时可不可以选择不擦除数据flash,我发现每次连接上芯片就直接全部擦除
    发表于 08-18 11:55

    内部flash均衡擦除实现方法

    很多时候我们的产品需要掉电存储一些重要参数,为了延长flash的寿命,我们可以在存储参数时增加均衡擦除处理。
    的头像 发表于 05-17 15:47 1487次阅读
    内部<b class='flag-5'>flash</b>均衡<b class='flag-5'>擦除</b>实现方法