從eMMC到NAND,嵌入式系統存儲的軟件優(yōu)化策略

發(fā)布時(shí)間:2025-4-25 11:06    發(fā)布者:秦徹呀呀呀
關(guān)鍵詞: 系統存儲
嵌入式系統開(kāi)發(fā)領(lǐng)域,存儲器作為信息交互的核心載體,其技術(shù)特性直接影響著(zhù)系統性能與穩定性。然而,有些人在面對Linux、安卓等復雜操作系統環(huán)境時(shí),理解其存儲機制尚存局限,為突破這些技術(shù)瓶頸,飛凌嵌入式希望通過(guò)對存儲相關(guān)知識的分享,助力大家構建完整的存儲知識體系框架。
首先,嵌入式場(chǎng)景中常用來(lái)存儲數據的介質(zhì)分為兩類(lèi):
  • Managed NAND,以eMMC(embedded Multi-Media Card)TF卡、SD卡為主內部帶有存儲管理控制器。
  • Raw NAND,以NAND為主的未帶有存儲管理功能,只包含簡(jiǎn)單IO邏輯控制。
  • 上圖描述了NAND存儲和eMMC存儲的關(guān)系,NAND Controller代指核心板的CPU,NAND指實(shí)際參與存儲的區域,由此看出實(shí)際上eMMC和NAND的區別在于存儲管理控制是在eMMC內部還是核心板的 CPU。存儲管理主要包括功能:壞塊管理、ECC校驗、磨損均衡、數據保持和地址管理及映射等。

    01存儲的相關(guān)概念存儲類(lèi)型分為SLC、MLC、TLC、QLC。嵌入式常用類(lèi)型低存儲容量一般為SLC和MLC,高存儲容量一般是TLC。

    SLC (Single-Level Cell) 速度快,壽命長(cháng),價(jià)格貴,理論擦寫(xiě)次數在10萬(wàn)次左右。

    MLC (Multi-Level Cell) 速度較快,壽命較長(cháng)、價(jià)格較貴,理論擦寫(xiě)次數在3000-5000次。

    TLC (Trinary-Level Cell) 速度較慢,壽命較短、價(jià)格最便宜,理論擦寫(xiě)次數在1000-3000次。

    QLC (Quad-Level Cell) 容量可以做的更大,成本上更低,劣勢就是P/E壽命更短。

    pSLC (pseudo SLC) 以 MLC的FLASH為基礎,但在每個(gè)Cell中只存1 bit而不是2 bit數據。由于在同一個(gè)Cell中跟SLC一樣只存儲一個(gè)bit,但又不是真的 SLC,所以稱(chēng)之pSLC。依上述原理,若將MLC用做pSLC,存儲空間將減半,壽命通?梢蕴嵘3萬(wàn)次左右。


    P/E (Program/Erase Count) :擦寫(xiě)壽命。耐用性?xún)蓚(gè)指標之一。

    TBW (Total Bytes Written) :總寫(xiě)入量。是廠(chǎng)商用以界定質(zhì)保期的數值,即超過(guò)了這個(gè)數值的寫(xiě)入量之后,廠(chǎng)商就不再給予質(zhì)保服務(wù)。耐用性?xún)蓚(gè)指標之一。

    FW (Firmware) :由于eMMC內部控制器屬于軟件編程控制器,會(huì )需要固件,eMMC在存儲廠(chǎng)家出廠(chǎng)前已經(jīng)燒錄對應固件。

    WA (Write amplification) :寫(xiě)放大。表示實(shí)際寫(xiě)入的物理數據量是寫(xiě)入數據量的多少倍,即:閃存寫(xiě)入的數據量÷主控寫(xiě)入的數據量 = 寫(xiě)放大。

    GC(Garbage Collection) :垃圾回收。NAND介質(zhì)的存儲寫(xiě)入是按照頁(yè)(Page)寫(xiě)入,是按照塊(Block)擦除。

    02eMMC和NAND的差異(1)eMMC與NAND對比

  • (2) eMMC的相關(guān)特點(diǎn)

    • eMMC使用單獨的硬件控制器對存儲進(jìn)行管理,相比于Linux下NAND驅動(dòng)管理可靠性更高。

    • 內部固件集成多種功能:使用壽命等健康信息記錄、根據不同的場(chǎng)景動(dòng)態(tài)調整內部存儲策略。

    • 接口標準,各廠(chǎng)家各容量兼容性好。

    • eMMC的存儲壽命普遍不如NAND壽命長(cháng)。相比于NAND大部分使用SLC或者M(jìn)LC,eMMC大部分是MLC或者TLC,eMMC相對于NAND單位壽命會(huì )低;但是由于eMMC的存儲容量一般較大,一定程度上抵消單位壽命低的劣勢。

    (3)NAND的相關(guān)特點(diǎn)
    • 系統的驅動(dòng)主要是由SoC廠(chǎng)家及系統上游邏輯決定,針對不同的NAND存儲介質(zhì)無(wú)法發(fā)揮出最大優(yōu)勢,或者存在驅動(dòng)邏輯兼容性問(wèn)題。

    • NAND容易出現位翻轉、壞塊等情況,相比eMMC內部管理,CPU管理需要占用較大系統開(kāi)銷(xiāo)用來(lái)維護存儲內容。

    • 接口標準采用ONFI接口協(xié)議,但是不同廠(chǎng)家的NAND的頁(yè)、OOB區及塊大小等配置存在差異,如果物料停產(chǎn)需要換型會(huì )存在鏡像不兼容風(fēng)險。

    • NAND的布局控制是由CPU管理,對應的分區管理和邏輯定制會(huì )有很大的靈活性,根據實(shí)際應用場(chǎng)景制定不同的管理策略。

    • NAND單位存儲壽命較長(cháng)。

    綜上,產(chǎn)品存儲選型建議使用帶有管理功能的eMMC。
    03存儲使用建議[color=rgba(0, 0, 0, 0.9)]
    • eMMC:建議預留25%空間,避免頻繁觸發(fā)GC。

    • 由于存儲的最小寫(xiě)入單元是Page,最小的擦除單元是Block。以16K page舉例,如果單次寫(xiě)入小于 一個(gè)Page的數據,會(huì )造成寫(xiě)放大。如果單次寫(xiě)入數據遠遠小于Page的大小,寫(xiě)放大會(huì )很?chē)乐。最終會(huì )導致壽命大大縮短。建議對小數據先通過(guò)DDR內存進(jìn)行緩沖,緩沖一定數據再組合寫(xiě)入。

    • 使用中如果出現異常斷電,定期需要對文件系統使用工具掃描修復,避免由于異常斷電數據未及時(shí) 保存導致文件系統異常。如果是頻繁異常掉電場(chǎng)景,可以增加硬件加掉電保護措施,用來(lái)保證系統穩定性。

    • 產(chǎn)品設計初期,需要結合實(shí)際應用場(chǎng)景存儲數據的頻率,為保證產(chǎn)品壽命要求,評估選擇合適的存儲類(lèi)型和容量。


    04飛凌嵌入式賦能
    (1)針對eMMC,根據對壽命及健康信息讀取分析,讓?xiě)谜莆崭娴拇鎯π畔,并作出合理的調整。

    • 應用可以實(shí)時(shí)監控當前的存儲壽命,用來(lái)在設備存儲壽命降低到自定義閾值時(shí)發(fā)送報警信號做 特定處理。

    • 應用可以實(shí)時(shí)查看系統的健康信息,評估存儲的寫(xiě)放大系數,用來(lái)評估應用軟件升級對存儲帶 來(lái)的影響,進(jìn)而估算剩余壽命。


    (2)針對NAND,根據增加手段統計實(shí)際NAND的擦寫(xiě)、搬移、標記等信息,給出應用IO操作改善建議。

    (3)針對所有類(lèi)型存儲,根據對終端設備不同使用場(chǎng)景特點(diǎn)采集分析,評估出更適合場(chǎng)景的應用編寫(xiě)參考。

    • 終端實(shí)際應用場(chǎng)景主要集中在:日志循環(huán)存儲、應用關(guān)鍵數據參數存儲及緩沖數據。
    • 日志循環(huán)存儲特點(diǎn):循環(huán)擦寫(xiě),寫(xiě)入頻繁,讀取不頻繁。和文件系統同時(shí)存在,會(huì )出現寫(xiě)頻繁 和只讀混放數據,會(huì )影響整體的穩定性。舉例:大部分eMMC的損耗平衡特性是全盤(pán)范圍,軟件上的文件系統分區未實(shí)現想要的數據隔離效果,這個(gè)其實(shí)可以在初期評估階段解決。
    • 關(guān)鍵數據特點(diǎn):小數據量狀態(tài)信息,比較重要,信息量不大。
    • 緩沖數據特點(diǎn):順序寫(xiě)入,整體擦除。

    實(shí)際軟件開(kāi)發(fā)過(guò)程中,根據如上數據特點(diǎn),為保證產(chǎn)品穩定性在如下3個(gè)階段給出優(yōu)化方案:

    • 產(chǎn)品開(kāi)發(fā)前做對應存儲方案選型,能夠提前評估出風(fēng)險。通過(guò)實(shí)際應用場(chǎng)景產(chǎn)品的目標壽命, 評估出存儲類(lèi)型、文件系統類(lèi)型、應用數據讀寫(xiě)建議及燒錄方式等。


    • 產(chǎn)品開(kāi)發(fā)完成前做實(shí)際存儲的優(yōu)化。產(chǎn)品的樣機測試階段需要對系統實(shí)際讀寫(xiě)頻次、大小做接 口數據統計分析,對存儲做數據穩定性分析(例:NAND存儲變位及壞塊分析)。通過(guò)分析給 出讀寫(xiě)數據單元大小優(yōu)化建議、連續/隨機讀寫(xiě)優(yōu)化建議。

    • 產(chǎn)品部署前做最終的預估壽命評估。結合最終優(yōu)化效果給出實(shí)際應用中的一個(gè)壽命預估。


    除上述優(yōu)化策略外,不同eMMC、NAND廠(chǎng)家在滿(mǎn)足接口協(xié)議標準前提下提供了不同的優(yōu)化特性,部分優(yōu)化特性需要結合操作系統修改才能發(fā)揮出更好的效果。

    05總 結存儲穩定性直接關(guān)乎到最終產(chǎn)品的穩定性,本文圍繞eMMC和NAND的特性做了對比介紹,目的是幫助研發(fā)工程師在實(shí)際開(kāi)發(fā)產(chǎn)品過(guò)程中更簡(jiǎn)單、更高效。


本文地址:http://selenalain.com/thread-886428-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页