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區數據備份方案全部介紹完畢。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章