RM新时代网站-首页

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

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

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

基于存儲(chǔ)器件掉電丟數(shù)據(jù)的2種解決方法以及法拉電容的UPS電路設(shè)計(jì)思路

h1654155971.7688 ? 2018-01-22 14:04 ? 次閱讀

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

圖1 Nand-Flash與eMMC芯片

存儲(chǔ)器件使用壽命

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

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

存儲(chǔ)器件掉電丟數(shù)據(jù)

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

系統(tǒng)數(shù)據(jù)保護(hù)方案

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

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

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

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

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

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

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

讀寫(xiě)過(guò)程中仔細(xì)對(duì)壞塊表進(jìn)行維護(hù)更新,避免程序?qū)懭雺膲K。讀取數(shù)據(jù)時(shí)對(duì)ECC校驗(yàn),確保讀取數(shù)據(jù)無(wú)誤。

硬件角度考慮需要注意:

用法上避免在Flash擦除或?qū)懭脒^(guò)程中人為突然掉電;

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

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

添加文件系統(tǒng)電源域UPS電源,乃至整機(jī)掉電續(xù)航工作電源;

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

圖2 鐵電材料非易失性存儲(chǔ)器

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

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

為保證電容能夠充滿電能,源端需采用恒流源充電;

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

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

基于存儲(chǔ)器件掉電丟數(shù)據(jù)的2種解決方法以及法拉電容的UPS電路設(shè)計(jì)思路

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

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

基于存儲(chǔ)器件掉電丟數(shù)據(jù)的2種解決方法以及法拉電容的UPS電路設(shè)計(jì)思路

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

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)投訴
  • UPS
    UPS
    +關(guān)注

    關(guān)注

    20

    文章

    1158

    瀏覽量

    91989
  • FlaSh
    +關(guān)注

    關(guān)注

    10

    文章

    1633

    瀏覽量

    147940
  • 存儲(chǔ)器
    +關(guān)注

    關(guān)注

    38

    文章

    7484

    瀏覽量

    163762
  • 法拉電容
    +關(guān)注

    關(guān)注

    8

    文章

    130

    瀏覽量

    18679

原文標(biāo)題:讓嵌入式工程師毛骨悚然的掉電丟數(shù)據(jù)事故可以這樣解決!

文章出處:【微信號(hào):weixin21ic,微信公眾號(hào):21ic電子網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于lm358單片機(jī)掉電保護(hù)電路設(shè)計(jì)

    電池,把掉電時(shí)需要保護(hù)的數(shù)據(jù)存儲(chǔ)在非易失性存儲(chǔ)器中,如FLASH和EEPROM。 第一種方法器件體積大、費(fèi)用高并且蓄電池壽命短;第二
    的頭像 發(fā)表于 12-05 07:31 ?1.1w次閱讀
    基于lm358單片機(jī)<b class='flag-5'>掉電</b>保護(hù)<b class='flag-5'>電路設(shè)計(jì)</b>

    鐵電存儲(chǔ)器的技術(shù)原理

    而言,鐵電存儲(chǔ)器具有一些獨(dú)一無(wú)二的特性。傳統(tǒng)的主流半導(dǎo)體存儲(chǔ)器可以分為兩類--易失性和非易失性。易失性的存儲(chǔ)器包括靜態(tài)存儲(chǔ)器SRAM和動(dòng)態(tài)存儲(chǔ)器
    發(fā)表于 11-19 11:53

    鐵電存儲(chǔ)器的技術(shù)原理

    而言,鐵電存儲(chǔ)器具有一些獨(dú)一無(wú)二的特性。傳統(tǒng)的主流半導(dǎo)體存儲(chǔ)器可以分為兩類--易失性和非易失性。易失性的存儲(chǔ)器包括靜態(tài)存儲(chǔ)器SRAM和動(dòng)態(tài)存儲(chǔ)器
    發(fā)表于 11-21 10:49

    法拉電容從容實(shí)現(xiàn)單片機(jī)掉電數(shù)據(jù)保存

    公式Q = I*t;Q = C*U;今天,因?yàn)镸CU內(nèi)部一般都帶FLASH ROM和伴隨著法拉級(jí)電容的出現(xiàn),事實(shí)上已經(jīng)宣布背掉電電池或者用達(dá)拉斯DS存儲(chǔ)器實(shí)現(xiàn)
    發(fā)表于 08-08 10:17

    讓嵌入式工程師毛骨悚然的掉電數(shù)據(jù)事故可以這樣解決!

    基于法拉電容UPS電路設(shè)計(jì)思路,要點(diǎn)如下:由于電容存在個(gè)體差異,
    發(fā)表于 12-28 16:40

    STM32F4掉電檢測(cè)想加個(gè)法拉電容

    STM32F4掉電檢測(cè)到后想存儲(chǔ)一些數(shù)據(jù),但是時(shí)間太短了,所以得加個(gè)法拉電容,不知道加多少合適,差不多50~100ms的時(shí)間。有參考
    發(fā)表于 03-18 08:17

    STM32系統(tǒng)中的2種數(shù)據(jù)掉電保護(hù)方法!

    STM32系統(tǒng)中的2種數(shù)據(jù)掉電保護(hù)方法!在嵌入式設(shè)備開(kāi)發(fā)中,往往需要保存一些掉電不易失性的數(shù)據(jù),
    發(fā)表于 04-17 15:16

    避免存儲(chǔ)器件掉電數(shù)據(jù),我們要怎么做?

    記憶體系統(tǒng)可靠性更高,結(jié)構(gòu)更簡(jiǎn)單,功耗低等優(yōu)點(diǎn)。圖 2 鐵電材料非易失性存儲(chǔ)器下面簡(jiǎn)介一款基于法拉電容UPS
    發(fā)表于 09-16 10:58

    幾種掉電數(shù)據(jù)存儲(chǔ)設(shè)備的區(qū)別

    首先談一下幾種掉電數(shù)據(jù)存儲(chǔ)設(shè)備的區(qū)別:1.Norflash:可擦寫(xiě),貴,在Norflash上可以直接運(yùn)行代碼!2.Nandflash:
    發(fā)表于 11-03 07:02

    RAM掉電保護(hù)電路的設(shè)計(jì)

    摘要:本文介紹了在單片機(jī)應(yīng)用領(lǐng)域中RAM讀寫(xiě)存儲(chǔ)器數(shù)據(jù)掉電時(shí)的三保護(hù)方法及相應(yīng)的設(shè)計(jì)電路
    發(fā)表于 05-31 09:47 ?30次下載

    單片機(jī)掉電檢測(cè)與保存

    本文主要介紹了單片機(jī)掉電檢測(cè)與保存方法,單片機(jī)在正常工作時(shí),因某種原因造成突然掉電,將會(huì)丟失數(shù)據(jù)存儲(chǔ)器(RAM)里的
    發(fā)表于 01-14 11:51 ?1w次閱讀
    單片機(jī)<b class='flag-5'>掉電</b>檢測(cè)與保存

    一款基于法拉電容UPS電路設(shè)計(jì)思路

    您是否有遇到使用中的程序無(wú)故丟失?產(chǎn)品調(diào)試非常穩(wěn)定,布置到現(xiàn)場(chǎng)后頻繁系統(tǒng)崩潰和數(shù)據(jù)遺失,亦或產(chǎn)品應(yīng)用一年后批量涌現(xiàn)存儲(chǔ)器件損壞?本文將深入探明這些問(wèn)題的原因及提供參考解決方案。
    的頭像 發(fā)表于 01-15 09:06 ?9046次閱讀

    存儲(chǔ)器件如何延長(zhǎng)使用壽命及如何避免損壞損失數(shù)據(jù)

    記錄數(shù)據(jù)的可靠性,通常只考慮到突然掉電、寫(xiě)入不完全等,往往忽略了存儲(chǔ)器件的使用壽命。存儲(chǔ)器件的擦除次數(shù)壽命是行業(yè)公認(rèn)的客觀事實(shí),工程師只能盡量的符合
    的頭像 發(fā)表于 10-08 14:34 ?3849次閱讀
    <b class='flag-5'>存儲(chǔ)器件</b>如何延長(zhǎng)使用壽命及如何避免損壞損失<b class='flag-5'>數(shù)據(jù)</b>

    什么是法拉電容?法拉電容的作用是什么?

    說(shuō)起電容器很多人或多或少都知道是什么東西,但是提到法拉電容可能就有少許陌生。其實(shí)在咱們的日常生活中,法拉電容也非常常見(jiàn),比如說(shuō):計(jì)算機(jī)
    的頭像 發(fā)表于 12-14 15:56 ?1.1w次閱讀
    什么是<b class='flag-5'>法拉</b><b class='flag-5'>電容</b>?<b class='flag-5'>法拉</b><b class='flag-5'>電容</b>的作用是什么?

    法拉電容器正確充電方法是什么?

    法拉電容器正確充電方法是什么? 法拉電容器是一能夠存儲(chǔ)
    的頭像 發(fā)表于 02-02 11:33 ?2661次閱讀
    RM新时代网站-首页