0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

拯救NAND/eMMC:延長(zhǎng)閃存壽命

ZLG致遠(yuǎn)電子 ? 2025-03-25 11:44 ? 次閱讀

隨著電子設(shè)備的廣泛應(yīng)用,NAND閃存和eMMC作為主流存儲(chǔ)介質(zhì),其使用壽命受到廣泛關(guān)注。本文將探討其損壞的軟件原因,并提供延長(zhǎng)使用壽命的實(shí)用方法。


6fc3cf86-092b-11f0-9434-92fbcf53809c.jpg ?前言

長(zhǎng)時(shí)間運(yùn)行后出現(xiàn)NAND或者eMMC損壞,可能的原因有物理?yè)p壞如雷擊損壞,也有可能因?yàn)轭l繁擦寫操作引起壽命到期損壞。下面就應(yīng)用軟件方面的可能性進(jìn)行探討,尋求延長(zhǎng)NAND/eMMC使用壽命的方法。


6fc3cf86-092b-11f0-9434-92fbcf53809c.jpg ?閃存的壽命和計(jì)算公式

在NAND閃存中,P/E Cycle也稱為擦除次數(shù),是判斷NAND閃存壽命的關(guān)鍵參數(shù)。隨著P/E Cycle的增加,浮柵與溝道之間的氧化層被磨損的越來(lái)越嚴(yán)重,導(dǎo)致浮柵中電子的控制越來(lái)越艱難,最終結(jié)果就是:NAND的壽命走到了盡頭。每顆NAND閃存,在出廠的那一刻,壽命就固定了。

NAND閃存根據(jù)存儲(chǔ)顆粒密度和結(jié)構(gòu)差異,可分為SLC、MLC、TLC和QLC。存儲(chǔ)密度越來(lái)越高,容量越來(lái)越大,但單位可擦寫次數(shù)卻越來(lái)越少。SLC的密度最低,擦寫次數(shù)最多,使用壽命最長(zhǎng),但現(xiàn)在很少能買到了,特別是大容量閃存,基本都是MLC、TLC甚至QLC了。一般都說(shuō)MLC的擦寫壽命是3000~10000次,但實(shí)際上去咨詢半導(dǎo)體原廠,得到的答案通常都是3000次,哪怕三星、海力士以及Skyhigh這樣的國(guó)際品牌,都是這個(gè)答案。eMMC實(shí)際上是NAND閃存加了控制器,底層存儲(chǔ)還是NAND閃存,所以可在此一并討論。如何延長(zhǎng)閃存的使用壽命,確保存儲(chǔ)的數(shù)據(jù)可靠,是工業(yè)產(chǎn)品一直在試圖解決的問(wèn)題。一個(gè)NAND閃存能使用多久,我們先給出一個(gè)預(yù)測(cè)公式:

6fe60790-092b-11f0-9434-92fbcf53809c.png

對(duì)于特定的Linux系統(tǒng),文件系統(tǒng)開(kāi)銷可看成一個(gè)常數(shù),暫時(shí)不考慮。根據(jù)公式不難看出,預(yù)期使用壽命與分區(qū)容量大小、可擦寫次數(shù)正相關(guān),與寫入放大、每天寫入的次數(shù)以及每次寫入的數(shù)據(jù)量成負(fù)相關(guān)。在產(chǎn)品設(shè)計(jì)方案選型階段,容量、可擦寫次數(shù)是一個(gè)正相關(guān)變量,但對(duì)于特定的一個(gè)產(chǎn)品,閃存一旦選定,可擦寫次數(shù)也就定了,如果有條件擴(kuò)大分區(qū)容量,也是能改善使用壽命的,但改善非常有限。要想比較有效的提高閃存壽命,必須從分母的寫入放大、每天寫入的次數(shù)以及每次寫入的數(shù)據(jù)量上面來(lái)優(yōu)化。
6fc3cf86-092b-11f0-9434-92fbcf53809c.jpg ?寫入放大

我們知道,閃存在寫入數(shù)據(jù)前必須先進(jìn)行擦除,而擦除操作的粒度與寫入操作相比低得多,執(zhí)行這些操作就會(huì)多次移動(dòng)(或改寫)用戶數(shù)據(jù)和元數(shù)據(jù)。因此,要改寫數(shù)據(jù),就需要讀取閃存某些已使用的部分,更新它們,并寫入到新的位置,如果新位置在之前已被使用過(guò),還需連同先擦除;由于閃存的這種工作方式,必須擦除改寫的閃存部分比新數(shù)據(jù)實(shí)際需要的大得多,這就是寫入放大,此倍增效應(yīng)會(huì)增加請(qǐng)求寫入的次數(shù)。

寫入放大,簡(jiǎn)單的計(jì)算公式如下:

70041500-092b-11f0-9434-92fbcf53809c.png

影響寫入放大的因素:

垃圾回收,啟用垃圾回收,WA會(huì)減小。

預(yù)留空間,增大預(yù)留空間,能減小WA。

順序?qū)懭?/strong>,理論上順序?qū)懭?,WA為1,當(dāng)然其他因素會(huì)影響到WA。

隨機(jī)寫入,寫入到非連續(xù)的LBA對(duì)寫入放大的影響最大。零散寫入會(huì)帶來(lái)極大的WA影響。例如寫入一個(gè)字節(jié),實(shí)際上閃存最小寫入單位是頁(yè),擦除單位是塊,這樣會(huì)影響到在這個(gè)塊內(nèi)的所有數(shù)據(jù)的搬移和寫入,數(shù)據(jù)量會(huì)非常大。

數(shù)據(jù)壓縮,數(shù)據(jù)壓縮后再寫入,能減少數(shù)據(jù)量的寫入。

刪除重復(fù)數(shù)據(jù),這樣能減少磁盤占用,能減小WA。

從公式來(lái)看,減小WA能增加閃存壽命,具體方法有啟用垃圾回收、增大預(yù)留空間、盡量順序?qū)懭搿⑦M(jìn)行數(shù)據(jù)壓縮以及刪除重復(fù)數(shù)據(jù)等。
6fc3cf86-092b-11f0-9434-92fbcf53809c.jpg ?如何計(jì)算數(shù)據(jù)量?

寫入NAND數(shù)據(jù)量的計(jì)算,并不是按照應(yīng)用程序數(shù)據(jù)來(lái)計(jì)算的,這與NAND閃存的結(jié)構(gòu)和擦寫方式緊密相關(guān)。

一般NAND閃存內(nèi)部結(jié)構(gòu)分為多個(gè)塊(Block),每個(gè)塊包含多個(gè)頁(yè)面(page),每個(gè)頁(yè)面又是由有效個(gè)數(shù)據(jù)區(qū)和spare area區(qū)(即OOB區(qū))組成。NAND閃存以塊為單位進(jìn)行擦除,以頁(yè)為單位進(jìn)行讀寫。

7022b866-092b-11f0-9434-92fbcf53809c.png

圖1 NAND閃存結(jié)構(gòu)示意圖

圖1所示的NAND閃存,每個(gè)頁(yè)面為4096字節(jié),一個(gè)塊為64頁(yè),整個(gè)器件為2048塊,總?cè)萘繛?096*64*2048=512MB。

如果產(chǎn)品使用的NAND是這樣的結(jié)構(gòu),哪怕寫入1字節(jié)數(shù)據(jù),在計(jì)算數(shù)據(jù)量的時(shí)候,也得按4096向上取整,即4096字節(jié),而不是1字節(jié)。當(dāng)然,寫入4095字節(jié)也是按4096向上取整,4096字節(jié)。同理,寫入4097字節(jié)數(shù)據(jù),則向上取整為8192字節(jié)。

如果不清楚NAND閃存的這些具體信息,可以查看數(shù)據(jù)手冊(cè)或者內(nèi)核啟動(dòng)信息:

70385ea0-092b-11f0-9434-92fbcf53809c.png

6fc3cf86-092b-11f0-9434-92fbcf53809c.jpg ?改善措施

綜合上述信息,要延長(zhǎng)NAND/eMMC的讀寫壽命,就要盡量減少對(duì)閃存的擦寫次數(shù),特別是零散數(shù)據(jù)寫入。歸納一下,可以采取以下措施:

1. 合理分區(qū),動(dòng)靜分離

動(dòng)靜數(shù)據(jù)分離,將數(shù)據(jù)按修改頻率分組。一般可將系統(tǒng)分區(qū)與數(shù)據(jù)分區(qū)分開(kāi),確保系統(tǒng)分區(qū)不受數(shù)據(jù)寫的影響。

有效地使用RAM文件系統(tǒng)。系統(tǒng)log信息,以及應(yīng)用程序的log信息,不要直接寫入閃存,盡量寫在RAM文件系統(tǒng)中,僅對(duì)異常log定期寫入閃存,減少閃存寫入次數(shù)。

2. 減少數(shù)據(jù)寫入次數(shù)

  • 先將數(shù)據(jù)寫在內(nèi)存里,可以在系統(tǒng)中生成一個(gè)Ramdisk并掛載到某個(gè)目錄,將需要寫入到閃存的數(shù)據(jù)先暫存在這個(gè)目錄,到一定時(shí)間再寫到閃存里面去。也可以使用系統(tǒng)的ramfs目錄存放暫存數(shù)據(jù)。
  • 將頻繁修改的數(shù)據(jù)存儲(chǔ)在一塊連續(xù)的區(qū)域中,并定期將數(shù)據(jù)遷移到新的區(qū)域,以避免在同一區(qū)域反復(fù)擦寫。
  • 進(jìn)行數(shù)據(jù)壓縮,減小寫入的數(shù)據(jù)量,特別是對(duì)于海量數(shù)據(jù)的應(yīng)用,數(shù)據(jù)壓縮尤為重要。

3. 避免零碎散數(shù)據(jù)寫入

確保在寫入數(shù)據(jù)時(shí),數(shù)據(jù)塊的大小是擦除塊大小的整數(shù)倍,以避免無(wú)效的擦除操作。

4. 維持合理的分區(qū)占用率

不要寫滿分區(qū),維持較低的磁盤占用率,能有效地提高閃存使用壽命。磁盤占用率管理分兩種情況,采用系統(tǒng)的磁盤配額管理或者應(yīng)用程序自行管理。

對(duì)于eMMC閃存,在使用Ext3/4文件系統(tǒng)的時(shí)候,啟用磁盤配額管理,確保磁盤使用率在一個(gè)合理的范圍之內(nèi)。注意,啟用磁盤配額管理,需要普通用戶,建議產(chǎn)品應(yīng)用程序都運(yùn)行在普通用戶模式,而不是root用戶來(lái)運(yùn)行。

對(duì)于NAND閃存,一般都會(huì)使用Yaffs/Yaffs2文件系統(tǒng),支持不了磁盤配額。這種情況要想維持合理的磁盤占用率的話,可以寫一個(gè)磁盤占用率監(jiān)控程序,當(dāng)磁盤占用率超過(guò)某個(gè)閾值,就進(jìn)行磁盤清理工作,刪除不重要或者陳舊的文件,以保持閃存處于比較健康的狀態(tài)。

無(wú)論是NAND還是eMMC,都要定期進(jìn)行數(shù)據(jù)處理,對(duì)于過(guò)期的數(shù)據(jù)要及時(shí)刪除,減小無(wú)用數(shù)據(jù)在閃存使用中的搬運(yùn)和寫入次數(shù)。

5. 閃存健康管理

對(duì)于eMMC,可以在系統(tǒng)中通過(guò)mmc_erase_info文件查看eMMC的擦寫次數(shù),以判斷eMMC的健康狀況。一旦eMMC的擦寫次數(shù)已經(jīng)接近廠商理論值,就要特別留意此閃存上的數(shù)據(jù),并做好預(yù)案處理。

7058e594-092b-11f0-9434-92fbcf53809c.png

對(duì)于NAND閃存,不能像eMMC這樣方便的查看NAND閃存的擦寫次數(shù),則可以自行統(tǒng)計(jì)NAND擦寫次數(shù),并結(jié)合壽命預(yù)測(cè)公式對(duì)NAND閃存的健康狀況進(jìn)行大致判斷。

6. 壞塊檢查和替換

定期進(jìn)行壞塊檢測(cè)和替換,以防止使用壞塊導(dǎo)致的數(shù)據(jù)丟失和寫失敗。一旦發(fā)現(xiàn)NAND壞塊數(shù)量超過(guò)一定數(shù)值,就要對(duì)NAND整體健康做重新評(píng)估,并啟動(dòng)數(shù)據(jù)安全性預(yù)案處理。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 閃存
    +關(guān)注

    關(guān)注

    16

    文章

    1823

    瀏覽量

    115440
  • NAND
    +關(guān)注

    關(guān)注

    16

    文章

    1708

    瀏覽量

    137220
  • emmc
    +關(guān)注

    關(guān)注

    7

    文章

    223

    瀏覽量

    53382
收藏 0人收藏

    評(píng)論

    相關(guān)推薦

    Flash存儲(chǔ)芯片:NOR Flash、NAND Flash、UFS和eMMC的比較與解析

    。   不易升級(jí)。eMMC儲(chǔ)存無(wú)法更換或升級(jí),因此需要在選擇時(shí)考慮到后續(xù)升級(jí)和擴(kuò)展的需求。   壽命有限。eMMC閃存儲(chǔ)存有一定的寫入次數(shù)限制,對(duì)于長(zhǎng)時(shí)間高負(fù)荷使用的設(shè)備,可能會(huì)出現(xiàn)
    發(fā)表于 04-03 12:05

    從NOR到NAND閃存,從Intel到英偉達(dá),閃存的發(fā)展史由誰(shuí)來(lái)續(xù)寫?

    閃存NAND
    電子學(xué)習(xí)
    發(fā)布于 :2023年02月08日 11:35:47

    于SD卡測(cè)試結(jié)構(gòu)的EMMC測(cè)試座,nand flashEMMC測(cè)試治具說(shuō)明書(shū)

    :  A、 為了降低成本,我們推出外形跟說(shuō)明書(shū)的一樣,但夾具只能測(cè)試有錫球的芯片,壽命在2萬(wàn)次以上,價(jià)格¥550.00/套!限位框另購(gòu)!  B、 eMMC閃存記憶體再利用:比如說(shuō)eMMC
    發(fā)表于 05-27 22:01

    【BeagleBone Black試用體驗(yàn)】進(jìn)階設(shè)置(性能優(yōu)化以及延長(zhǎng)板載eMMC存儲(chǔ)壽命

    關(guān)于板載eMMC存儲(chǔ)關(guān)于eMMC存儲(chǔ)的基本知識(shí)可以看我之前的文章《板載eMMC初探》,總而言之就是:eMMC讀寫速度比一般的MicroSD卡快很多e
    發(fā)表于 09-16 02:10

    NOR閃存/NAND閃存是什么意思

    NOR閃存/NAND閃存是什么意思 NAND閃存芯片和NOR閃存芯片的不同主要表現(xiàn)在: 1
    發(fā)表于 03-24 16:34 ?8472次閱讀

    NAND閃存的自適應(yīng)閃存映射層設(shè)計(jì)

    NAND閃存的自適應(yīng)閃存映射層設(shè)計(jì) 閃存存儲(chǔ)器主要分為NAND和XOR兩種類型,其中NAND
    發(fā)表于 05-20 09:26 ?1046次閱讀
    <b class='flag-5'>NAND</b><b class='flag-5'>閃存</b>的自適應(yīng)<b class='flag-5'>閃存</b>映射層設(shè)計(jì)

    eMMC改寫內(nèi)嵌閃存卡格局

    eMMC卡集成控制器與Nand閃存,具有快速的主機(jī)響應(yīng)速度和讀寫速度,可以大幅提升智能機(jī)/平板電腦的開(kāi)機(jī)速度。
    發(fā)表于 08-23 11:11 ?3497次閱讀
    <b class='flag-5'>eMMC</b>改寫內(nèi)嵌<b class='flag-5'>閃存</b>卡格局

    移動(dòng)與嵌入存儲(chǔ)市場(chǎng)觀察:UFS力扳eMMC NAND閃存

      雖然符合新的通用閃存卡(UFS)規(guī)范的產(chǎn)品出現(xiàn),2013年將在移動(dòng)NAND閃存市場(chǎng)引發(fā)新的技術(shù)競(jìng)爭(zhēng),但較舊的嵌入多媒體存儲(chǔ)卡(eMMC)標(biāo)準(zhǔn)在許多手機(jī)和平板電腦中仍將保持統(tǒng)治地位
    發(fā)表于 03-30 08:46 ?1673次閱讀

    熱能的應(yīng)用 大幅度延長(zhǎng)閃存壽命周期

    現(xiàn)在已經(jīng)有了一種新方法使得 NAND 閃存壽命時(shí)間比現(xiàn)在更長(zhǎng)。延長(zhǎng) NAND 閃存
    發(fā)表于 12-03 13:49 ?900次閱讀

    使用基于其Arria 10 SoC的存儲(chǔ)參考設(shè)計(jì),NAND閃存的使用壽命將加倍

    Altera公司開(kāi)發(fā)了基于其Arria 10 SoC的存儲(chǔ)參考設(shè)計(jì),與目前的NAND閃存相比,NAND閃存的使用壽命將加倍,程序擦除周期數(shù)
    發(fā)表于 08-24 16:47 ?879次閱讀

    eMMC NAND閃存技術(shù)和用例需求

    eMMC模塊因?yàn)槭且?b class='flag-5'>NAND閃存技術(shù)為基礎(chǔ)而具有預(yù)定的使用壽命。它們具備有限的程序/擦除(P/E)周期,即使公司最初按照這些規(guī)范進(jìn)行設(shè)計(jì),他們也必須預(yù)見(jiàn)到同一系統(tǒng)隨著時(shí)間的推移必須應(yīng)對(duì)
    的頭像 發(fā)表于 01-18 16:21 ?2216次閱讀

    正點(diǎn)原子emmcnand的區(qū)別

    )和NANDNAND Flash Memory)。 eMMC是一種嵌入式多媒體控制器,它為移動(dòng)設(shè)備(如智能手機(jī)和平板電腦)提供了一種高性能的存儲(chǔ)解決方案。它包括一個(gè)閃存控制器、一個(gè)
    的頭像 發(fā)表于 01-08 13:51 ?3276次閱讀

    NAND閃存是什么意思

    NAND閃存,又稱之為“NAND Flash”,是一種基于Flash存儲(chǔ)技術(shù)的非易失性閃存芯片。下面將從NAND
    的頭像 發(fā)表于 08-10 15:57 ?5958次閱讀

    EMMCNAND閃存的區(qū)別

    在現(xiàn)代電子設(shè)備中,存儲(chǔ)技術(shù)扮演著至關(guān)重要的角色。隨著技術(shù)的發(fā)展,存儲(chǔ)解決方案也在不斷進(jìn)步,以滿足日益增長(zhǎng)的數(shù)據(jù)存儲(chǔ)需求。EMMC(嵌入式多媒體卡)和NAND閃存是兩種廣泛使用的存儲(chǔ)技術(shù),它們?cè)?/div>
    的頭像 發(fā)表于 12-25 09:37 ?2367次閱讀

    EMMC閃存的工作原理解析 EMMC存儲(chǔ)的讀寫速度測(cè)試

    EMMC閃存的工作原理解析 結(jié)構(gòu)組成 EMMC是一種基于NAND閃存的存儲(chǔ)解決方案,它集成了控制器和NA
    的頭像 發(fā)表于 12-25 09:46 ?2362次閱讀

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品