對NVM區(qū)的合理使用
凌科芯安多款加密芯片均設(shè)置了NVM區(qū),因其具備掉電不擦除的物理特性和防暴力破解等安全特性,眾多用戶會(huì)利用NVM區(qū)存儲(chǔ)重要數(shù)據(jù)。雖然使用方法簡單,但有一點(diǎn)技術(shù)細(xì)節(jié)容易被忽視。NVM區(qū)有10萬次擦寫壽命或10年存儲(chǔ)壽命,因此用戶使用時(shí)要結(jié)合自己項(xiàng)目的應(yīng)用場景和業(yè)務(wù)邏輯進(jìn)行合理分配,達(dá)到高效使用NVM區(qū),下面展開說明。?

問題一:更新數(shù)據(jù)邏輯不合理
NVM區(qū)的寫操作是按頁實(shí)現(xiàn)的,應(yīng)多以頁為單位進(jìn)行寫操作。舉例:有些用戶將多組數(shù)據(jù)存儲(chǔ)于同一NVM頁內(nèi),但每更改其中一組數(shù)據(jù)時(shí),就對該頁執(zhí)行了一次寫操作,這其實(shí)是不提倡的。正確的做法是,盡量將該頁內(nèi)的多組數(shù)據(jù)統(tǒng)一更新,這樣能有效減少扇區(qū)擦寫次數(shù),延長NVM區(qū)壽命。
問題二:NVM區(qū)地址劃分使用不合理
同樣因?yàn)榘错摬僮鞯脑?,用戶?yīng)將不同數(shù)據(jù)分組按頁對齊,避免數(shù)據(jù)跨頁存儲(chǔ)的情況發(fā)生。舉例:有些用戶將一組連續(xù)數(shù)據(jù)放在了兩頁地址交界處,當(dāng)對該組數(shù)據(jù)進(jìn)行更新寫操作時(shí),實(shí)際就對兩頁數(shù)據(jù)同時(shí)實(shí)行了寫操作,即使只寫了2字節(jié)數(shù)據(jù),也會(huì)造成1024字節(jié)區(qū)域(假設(shè)目標(biāo)加密芯片的NVM扇區(qū)大小是512字節(jié))的寫壽命減少,這種操作是不提倡的。
問題三:NVM區(qū)未做安全防護(hù)引起數(shù)據(jù)丟失
NVM區(qū)的寫操作是由三步完成的,第一步讀取目標(biāo)扇區(qū)內(nèi)原數(shù)據(jù),第二步擦除目標(biāo)扇區(qū)內(nèi)數(shù)據(jù),第三步將修改后的新數(shù)據(jù)和未做修改的原數(shù)據(jù)寫回目標(biāo)扇區(qū)。因此當(dāng)意外斷電等情況發(fā)生時(shí),加密芯片恰好執(zhí)行完寫NVM區(qū)的第二步操作,且未完成寫NVM區(qū)的第三步操作,就會(huì)造成目標(biāo)區(qū)域內(nèi)數(shù)據(jù)發(fā)生無規(guī)律錯(cuò)亂。
了解更多相關(guān)內(nèi)容歡迎關(guān)注http://www.vecloud.com/