<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
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

    文章

    1562

    瀏覽量

    146818
  • 非易失性存儲器

    關注

    0

    文章

    106

    瀏覽量

    23289
收藏 人收藏

    評論

    相關推薦

    STM32G0B1RET6芯片FLASH擦除不了的原因?

    最近嘗試用G0芯片FLASH進行擦除,發現擦除不了,代碼如下: 從J-LINK回讀結果來看,并未按照設想進行FLASH
    發表于 05-27 06:38

    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 ?1531次閱讀

    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 ?876次閱讀

    WT588F02B語音芯片:主控程序和Flash數據可擦除再燒寫的應用優勢

    Flash數據均可擦除再燒寫的特性,為實際應用帶來了顯著的優勢。首先,WT588F02B的主控程序和Flash數據可擦除再燒寫功能提供了更高的靈活性。傳統的語音
    的頭像 發表于 12-19 08:39 ?222次閱讀
    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 ?569次閱讀

    Nor Flash編程和擦除操作實踐與指南

    閃存編程也不涉及將數據寫入存儲單元,為確保準確編程,Nor Flash 支持字節級編程,允許寫入或修改單個字節,而無需擦除整個塊。
    的頭像 發表于 12-05 14:03 ?674次閱讀

    對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
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>