<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > ARM平臺數據為何會(huì )莫名其妙丟失

ARM平臺數據為何會(huì )莫名其妙丟失

作者:ZLG致遠電子 時(shí)間:2017-12-30 來(lái)源:電子產(chǎn)品世界 收藏

  /(帶有Flash控制器的)作為一種非線(xiàn)性宏單元模式存儲器,為固態(tài)大容量存儲的實(shí)現提供了廉價(jià)有效的解決方案。存儲器具有容量大,改寫(xiě)速度快等優(yōu)點(diǎn),適用于大量數據的存儲,因而越來(lái)越廣泛地應用在如嵌入式產(chǎn)品、智能手機、云端存儲資料庫等業(yè)界各領(lǐng)域。

本文引用地址:http://dyxdggzs.com/article/201712/373799.htm

    

  圖1 Nand-Flash與芯片

  1.1存儲器件使用壽命

  使用了Nand-Flash的主板出現丟數據掉程序現象,是一個(gè)讓無(wú)數工程師毛骨悚然的事故。眼看著(zhù)程序用著(zhù)用著(zhù)就消失了,只能干著(zhù)急也無(wú)法下手。有經(jīng)驗的工程師手起刀落換上一顆新物料,熬夜補代碼繼續撐過(guò)半個(gè)項目周期?;仡^無(wú)處發(fā)泄還要大刀闊斧換廠(chǎng)商、換品牌。與其換幾片Nand-Flash還能負擔得起,但畢竟這是一個(gè)無(wú)底洞,不如去深入探明問(wèn)題原因,不然散盡家財也無(wú)法彌補虧空。

  器件數據手冊中通常描述Nand-Flash的塊擦寫(xiě)壽命達10萬(wàn)次,EMMC的塊擦寫(xiě)最高也會(huì )有1萬(wàn)次;同理,EEPROM、SD卡、CF卡、U盤(pán)、Flash硬盤(pán)等存儲介質(zhì)在都存在寫(xiě)壽命的問(wèn)題。在文件系統向寫(xiě)數據的底層存儲器塊寫(xiě)數據時(shí),常規會(huì )先將塊里的數據讀出來(lái),擦除塊干凈后,將需要寫(xiě)入的數據和之前讀出來(lái)的塊數據一起在回寫(xiě)到存儲器里面去,如果文件系統寫(xiě)平衡沒(méi)有處理好,特別是要求1分鐘以?xún)纫涗浺淮螖祿@樣頻繁的擦寫(xiě)塊操作,就有可能將Nand-Flash或EMMC的塊寫(xiě)壞。

  1.2存儲器件掉電丟數據

  文件系統向存儲器寫(xiě)數據時(shí),常規是先將塊里的數據讀出來(lái),擦除塊干凈后,將需要寫(xiě)入的數據和之前讀出來(lái)的塊數據一起在回寫(xiě)到存儲器里面去。如果設備在擦除塊過(guò)程中或者在回寫(xiě)數據過(guò)程中意外發(fā)生斷電甚至電壓不穩定,均會(huì )造出數據丟失或者損壞。如果丟失的數據是文件系統的FAT表,則會(huì )造成文件系統崩潰。這就是引起系統程序無(wú)法啟動(dòng)災難性后果的原因。

  1.3系統數據保護方案

  很多時(shí)候,產(chǎn)品在未出廠(chǎng)前燒錄程序、反復測試,無(wú)論怎樣折騰也不會(huì )出現丟程序的情況。這可能的因素是測試設備保證了穩定的運行中電源輸出,因此系統運行中正常的Flash保護機制是可靠執行的。

  相對于用戶(hù)實(shí)際使用而言,想避免Flash損壞的情況。需要嚴格遵守產(chǎn)品說(shuō)明使用,尤其注意避免在Flash擦除或寫(xiě)入過(guò)程中人為地突然掉電。這是存儲器件用法的一個(gè)大忌,即使完好的器件,如此不規范的使用也會(huì )大大縮短其壽命。而且不同環(huán)境下的電源系統五花八門(mén),在電源不滿(mǎn)足功率要求情況下程序對于電源低電量的檢測閾值較低,此時(shí)強制啟動(dòng)系統或執行寫(xiě)操作更會(huì )加劇系統耗電波動(dòng),巨大的紋波也會(huì )引起CPU對存儲的誤操作。

  解決此問(wèn)題對于軟件方面而言:

  調試系統或現場(chǎng)使用時(shí),建議使用軟件復位,避免人為頻繁的通過(guò)斷電實(shí)現復位操作;有斷電必要時(shí),將打印信息添加如“系統加載完成”、“數據保存完畢”等指示說(shuō)明后操作;

  軟件采取Flash均衡保存算法,高效地調整更改數據時(shí)擦除的Flash區域大小;

  可將數據先寫(xiě)入內存或者鐵電存儲器,然后定期的再將數據搬移到大的存儲器里面,減少直接斷Nand-Flash、EMMC擦寫(xiě)次數;

  在程序中加入或者提高電源電量檢測的閾值,程序上保證所有電源系統下的芯片在此閾值上均可以正常工作。

  讀寫(xiě)過(guò)程中仔細對壞塊表進(jìn)行維護更新,避免程序寫(xiě)入壞塊。讀取數據時(shí)對ECC校驗,確保讀取數據無(wú)誤。

  從硬件角度考慮需要注意:

  用法上避免在Flash擦除或寫(xiě)入過(guò)程中人為突然掉電;

  設計好處理控制核心的電源系統,防止CPU等在啟動(dòng)、運行中,電源系統因瞬時(shí)變化引起的紋波等情況;

  搭配掉電檢測電路,在檢測到外部電源掉電的同時(shí),及時(shí)迅速關(guān)閉文件系統,停止向文件系統內寫(xiě)數據的操作;

  添加文件系統電源域UPS電源,乃至整機掉電續航工作電源;

  對于使用EEPROM等小容量存儲的用戶(hù)而言,可以考慮使用高可靠性的鐵電材料加工制成的鐵電非易失性存儲器FRAM來(lái)替換。FRAM可以像RAM一樣快速讀寫(xiě)。數據在掉電后可以保存10年,且其讀寫(xiě)壽命高達100億次,比EEPROM和其他非易失性記憶體系統可靠性更高,結構更簡(jiǎn)單,功耗低等優(yōu)點(diǎn)。

    

  圖2 鐵電材料非易失性存儲器

  下面簡(jiǎn)介一款基于法拉電容的UPS電路設計思路,要點(diǎn)如下:

  l由于電容存在個(gè)體差異,電容存儲電荷的速率不一樣,存在過(guò)充造成電壓超過(guò)耐壓值的問(wèn)題,電路中存在多顆法拉電容時(shí)需要做均壓處理;

  為保證電容能夠充滿(mǎn)電能,源端需采用恒流源充電;

  為維持電容電壓穩定,并降低充電電路功耗,需增加過(guò)壓檢測電路;

  若對電壓高于法拉電容本身電壓上限的電源系統提供掉電續航時(shí),Vcc_backu端需通過(guò)BOOST升壓電路后以實(shí)現,且注意系統正常時(shí)(充電過(guò)程中)關(guān)斷EN腳。

    

  圖3 基于法拉電容的UPS核心電路

  系統電源正常時(shí),充電電路即給UPS充電。系統電源掉電時(shí),UPS放電給系統提供備用電能,建議UPS在掉電后能持續給文件系統供電能力不低于10秒,在10秒續航期間內,系統可以將電源異常狀態(tài)上報、及時(shí)保持臨時(shí)重要數據、關(guān)閉文件系統,保證系統穩定性,避免文件系統在掉電情況下出現損害,影響應用程序的正常啟動(dòng)。

    

  圖4 建議UPS充放電時(shí)序

  此外系統掉電情況需要掉電檢測電路實(shí)現。使用一顆比較器器件即可,注意使用Output_VCC端供電,以確保外部掉電時(shí),比較器仍然可以工作。比較器負端連接一個(gè)參考電壓,參考電壓由穩壓二極管提供。正常供電時(shí),比較器輸出電壓由升壓電路的反饋端分壓決定;掉電時(shí),比較器輸出低電平,此時(shí)處理器仍未掉電,收到狀態(tài)信息可及時(shí)響應處理。另一路掉電檢測可供其它功能使用。

    

  圖6系統掉電檢測電路

  1.4工控行業(yè)領(lǐng)導品牌

  在A(yíng)RM內核核心板、開(kāi)發(fā)板、工控機等領(lǐng)域,M6708核心板、M/A335x核心板、M/A28x核心板、EPC系列工控主板、IoT系列無(wú)線(xiàn)主板/網(wǎng)關(guān)、DCP系列經(jīng)典工控機等產(chǎn)品中,核心板產(chǎn)品針對Nand-Flash有著(zhù)完善的壞塊管理、工控主板添加掉電保護等措施。例如分別在WinCE與Linux系統下加固Flash驅動(dòng)、對操作系統進(jìn)行雙備份;軟件與硬件信號測試對Flash進(jìn)行10萬(wàn)次掉電試驗等。

  同時(shí),致遠電子配備專(zhuān)業(yè)的EMC實(shí)驗室、安規實(shí)驗室、環(huán)境實(shí)驗室等可實(shí)際模擬惡劣應用狀況試驗。結合優(yōu)質(zhì)供應商保證各產(chǎn)品分立器件均達到EMC工業(yè)三級標準,有良好的靜電抗性、雷擊浪涌抗性、電瞬變群脈沖抗性、以及極低的EMI傳導騷擾情況;可實(shí)現-40℃~+85℃的工業(yè)級環(huán)境適應性。為從Flash至整套目標系統的可靠性安全穩定提供切實(shí)保障。



關(guān)鍵詞: Nand-Flash eMMC

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>