對NVM區的合理使用

凌科芯安多款加密芯片均設置了NVM區,因其具備掉電不擦除的物理特性和防暴力破解等安全特性,衆多用戶會利用NVM區存儲重要數據。雖然使用方法簡單,但有一點技術細節容易被忽視。NVM區有10萬次擦寫壽命或10年存儲壽命,因此用戶使用時要結合自己項目的應用場景和業務邏輯進行合理分配,達到高效使用NVM區,下面展開說明。
問題一:更新數據邏輯不合理
NVM區的寫操作是按頁實現的,應多以頁爲單位進行寫操作。舉例:有些用戶將多組數據存儲於同一NVM頁內,但每更改其中一組數據時,就對該頁執行了一次寫操作,這其實是不提倡的。正確的做法是,儘量將該頁內的多組數據統一更新,這樣能有效減少扇區擦寫次數,延長NVM區壽命。
問題二:NVM區地址劃分使用不合理
同樣因爲按頁操作的原因,用戶應將不同數據分組按頁對齊,避免數據跨頁存儲的情況發生。舉例:有些用戶將一組連續數據放在了兩頁地址交界處,當對該組數據進行更新寫操作時,實際就對兩頁數據同時實行了寫操作,即使只寫了2字節數據,也會造成1024字節區域(假設目標加密芯片的NVM扇區大小是512字節)的寫壽命減少,這種操作是不提倡的。
問題三:NVM區未做安全防護引起數據丟失
NVM區的寫操作是由三步完成的,第一步讀取目標扇區內原數據,第二步擦除目標扇區內數據,第三步將修改後的新數據和未做修改的原數據寫回目標扇區。因此當意外斷電等情況發生時,加密芯片恰好執行完寫NVM區的第二步操作,且未完成寫NVM區的第三步操作,就會造成目標區域內數據發生無規律錯亂。當然也有解決辦法,下期分解。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章