NVM區數據備份機制(二)

    上一篇文章介紹了第一種NVM區備份機制,但寫入數據長度受限於扇區大小,本文介紹第二種NVM區數據備份機制。此方法會先將NVM區劃分爲A、B兩個等大小區域,將A區做爲正式數據區,B區做爲備份區,每一個區域的最後一字節爲數據有效標誌位FLAG,1表示該區數據有效,0表示該區數據無效。更新數據過程當中若出現掉電,從新上電後先根據A、B兩區FLAG判斷哪一個區域內數據有效,進而繼續完成更新操做。本例中NVM區大小是32KB,A區大小劃分爲16KB,B區大小劃分爲16KB。舉例說明:本例假設A區已經成功寫入了數據,須要向NVM區寫入新數據。其餘狀況處理流程與下述4步同理。方法

(1)判斷A區FLAG = 1後,將A區數據讀出寫入到B區,寫入成功後,將B區 FLAG賦值爲1。數據

(2)B區FLAG修改爲功後,將A區FLAG標誌改成0。備份

(3)A區FLAG標誌修改爲功後,對A區進行數據更新操做,即寫入新數據。更新成功後,將A區FLAG標誌寫爲1。文章

(4)A區FLAG修改爲功後,將B區FLAG標誌修改成 0,至此完成數據更新操做。

至此,兩種NVM區數據備份方案所有介紹完畢。

相關文章
相關標籤/搜索