《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 設(shè)計應(yīng)用 > 非易失性存儲器數(shù)據(jù)掉電保護的硬件解決方案
非易失性存儲器數(shù)據(jù)掉電保護的硬件解決方案
2019年電子技術(shù)應(yīng)用第2期
蘇 偉1,2,馮 曦1,2,周芝梅1,2,胡 毅1,2,唐曉柯1,2
1.北京智芯微電子科技有限公司 國家電網(wǎng)公司重點實驗室電力芯片設(shè)計分析實驗室,北京100192; 2.北京智芯微電子科技有限公司 北京市電力高可靠性集成電路設(shè)計工程技術(shù)研究中心,北京100192
摘要: 對安全芯片非易失性存儲器(NVM)的數(shù)據(jù)掉電保護原理進行分析。考慮到軟件的處理速度不能滿足安全芯片對數(shù)據(jù)存儲的性能要求等因素,提出一種以硬件方式實現(xiàn)的NVM數(shù)據(jù)掉電保護的解決方案。該方案采用乒乓結(jié)構(gòu),將兩塊同樣大小的Flash空間輪流作為目標區(qū)和備份區(qū),每次更新完成后需要對備份標志及備份次數(shù)進行更新。如果更新過程中芯片發(fā)生掉電,再次上電后通過比較兩塊區(qū)域的備份標志以及備份次數(shù),就可以判斷出哪塊區(qū)域的數(shù)據(jù)是有效的。該方案不但能保證安全芯片非易失性存儲器(NVM)的數(shù)據(jù)掉電不丟,而且能提高NVM數(shù)據(jù)更新的性能。
中圖分類號: TN41
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.181928
中文引用格式: 蘇偉,馮曦,周芝梅,等. 非易失性存儲器數(shù)據(jù)掉電保護的硬件解決方案[J].電子技術(shù)應(yīng)用,2019,45(2):20-22,26.
英文引用格式: Su Wei,F(xiàn)eng Xi,Zhou Zhimei,et al. Hardware sollution about power fail protective mechanism of non volatile memory[J]. Application of Electronic Technique,2019,45(2):20-22,26.
Hardware sollution about power fail protective mechanism of non volatile memory
Su Wei1,2,F(xiàn)eng Xi1,2,Zhou Zhimei1,2,Hu Yi1,2,Tang Xiaoke1,2
1.State Grid Key Laboratory of Power Industrial Chip Design and Analysis Technology, Beijing Smart-Chip Microelectronics Technology Co.,Ltd.,Beijing 100192,China; 2.Beijing Engineering Research Center of High-reliability IC with Power Industrial Grade, Beijing Smart-Chip Microelectronics Technology Co.,Ltd.,Beijing 100192,China
Abstract: The principle of data power failure protection for non-volatile memory(NVM) of security chip is analyzed. Considering that the processing speed of software can not meet the performance requirements of security chip for data storage, this paper proposes a NVM data implemented in hardware for power failure protection solution. The scheme adopts a ping-pong structure and takes two Flash spaces of the same size in turn as the target area and the backup area. After each update is completed, the backup flag and the number of backups need to be updated. If the chip is powered off during the update, after comparing the backup codes and backup times of the two areas after power-on again, it can be determined which area of the data is valid. This scheme can not only ensure that the data of the security chip non-volatile memory(NVM) is not lost, but also can improve the performance of NVM data update.
Key words : non volatile memory(NVM);power fail protection;ping-pong;target page;backup page

0 引言

    非易失性存儲器(NVM)具有數(shù)據(jù)掉電不丟的特性,因此安全芯片通常用NVM來存儲應(yīng)用程序、用戶數(shù)據(jù)和系統(tǒng)文件等。

    在安全芯片工作過程中,如果NVM正在進行擦除或編程操作時,因某種原因造成芯片突然掉電,NVM中的數(shù)據(jù)可能被誤改。由于安全芯片的特殊應(yīng)用,用戶的關(guān)鍵信息,如密鑰、余額等,都存儲于NVM中,如果這些關(guān)鍵信息被誤改,可能對用戶造成巨大損失。為了保證用戶信息安全,安全芯片對NVM采取了數(shù)據(jù)掉電保護機制,該機制能夠保證安全芯片無論何時掉電,再上電時儲于NVM中的數(shù)據(jù)都是可靠的。

    以往對NVM的掉電保護都是由軟件實現(xiàn)的,芯片需要執(zhí)行幾十條CPU指令才能完成一次數(shù)據(jù)備份和更新。考慮到軟件執(zhí)行的效率比較低,本文提出一種硬件實現(xiàn)方案。

1 硬件掉電保護機制

1.1 保護原理

    如圖1所示,以Flash為例,在NVM中取一個page word作為備份區(qū),目標區(qū)域和備份區(qū)域的容量均為一個page word。假定目標區(qū)域中已有數(shù)據(jù),現(xiàn)在要對其中一個page的數(shù)據(jù)進行改寫,如將A改寫為B。如果直接對目標區(qū)域進行改寫,那么在改寫過程中一旦掉電,很有可能原有數(shù)據(jù)已被破壞,但是新的數(shù)據(jù)還未完全寫入,那么目標區(qū)域中的數(shù)據(jù)就是不可靠的,也就是說既不是原始數(shù)據(jù)也不是新數(shù)據(jù),這個結(jié)果可能對用戶產(chǎn)生比較嚴重的影響,例如余額被篡改等。為了防止芯片掉電時出現(xiàn)不可靠的數(shù)據(jù),可以采用備份的方式對數(shù)據(jù)進行更新。

wdz2-t1.gif

    當(dāng)CPU發(fā)出寫Flash的操作后,硬件模塊Flash controller將按照下面的步驟進行操作:

    (1)將目標區(qū)域中的數(shù)據(jù)全部讀出,將要改寫的部分替換成新的數(shù)據(jù)再寫入安全芯片的RAM中,如①所示;

    (2)將RAM中的數(shù)據(jù)搬至備份區(qū)域,如②所示。當(dāng)要更新的數(shù)據(jù)全部寫入備份區(qū),要對剛剛寫入的數(shù)據(jù)進行完整性校驗,校驗正確則在備份頁的最后一個地址寫入表示正確的標志(特定的32位數(shù)),否則寫入表示錯誤的標志(特定的32位數(shù));

    (3)對目標區(qū)域執(zhí)行擦除操作,如③所示;

    (4)用與步驟(2)相同的方法將RAM中的數(shù)據(jù)搬至目標區(qū)域,但是不需要設(shè)置完整性校驗標志,如④所示;

    (5)對備份區(qū)域執(zhí)行擦除操作,如⑤所示。

    上述操作過程中,芯片在任何時刻掉電,重新上電后軟件首先讀取備份區(qū)域的完整性校驗標志,并根據(jù)標志的狀態(tài)來判定當(dāng)前數(shù)據(jù)是否有效。如果標志為擦除狀態(tài),則認為目標區(qū)域的數(shù)據(jù)無論是舊數(shù)據(jù)還是新數(shù)據(jù)均有效,否則需要重新執(zhí)行上一次的擦寫操作。

1.2 方案存在的問題

    該方案可以對Flash數(shù)據(jù)起到有效的掉電護作用,但是芯片執(zhí)行一次數(shù)據(jù)更新需要對Flash進行兩次擦除+兩次編程操作。眾所周之,雖然Flash的編程時間僅為微秒級,但頁擦除的時間比較長,大約需要2~5 ms(依據(jù)一次擦除的容量大小決定時間長短),那么一次數(shù)據(jù)更新操作至少需要4~10 ms,這個操作時間顯然是比較長的,這對于性能要求比較高的應(yīng)用是不能接受的。

2 乒乓式掉電保護機制

2.1 存儲器分配原則

    為了解決操作速度慢的問題,本節(jié)提出性能更高的乒乓式掉電數(shù)據(jù)保護機制。

    如圖2所示,在Flash中取兩塊同樣大小的地址空間(仍假定每塊為一個page word),這兩塊空間的對應(yīng)關(guān)系是捆綁的。

wdz2-t2.gif

    以區(qū)域1和區(qū)域1′為例,雖然它們的物理地址不同,但它們對應(yīng)的邏輯地址是相同的,也就是說CPU在對這塊邏輯地址進行擦寫時,不需要知道數(shù)據(jù)究竟寫在了區(qū)域1還是區(qū)域1′,這完全是由Flash控制器來分配的,在這種操作下區(qū)域1和區(qū)域1′輪流作為備份區(qū)和目標區(qū),也就是說當(dāng)CPU要對Flash進行第一次更新時,區(qū)域1做備份區(qū)而區(qū)域1′做目標區(qū),第二次更新時區(qū)域1′做備份區(qū)而區(qū)域1做目標區(qū),以此類推。

2.2 乒乓式掉電保護原理

    下面具體來看乒乓式掉電保護機制是如果實現(xiàn)掉電保護功能的。

    如圖3所示,區(qū)域1的最后兩個word地址分別對應(yīng)cnt1和flag1,其中cnt1表示區(qū)域1對應(yīng)的邏輯地址被更新的次數(shù),flag1表示區(qū)域1內(nèi)除flag1以外的數(shù)據(jù)是否正確,若正確寫入“32’haaaa”,若錯誤寫入“32’hbbbb”。同樣的,區(qū)域1′的最后兩個word地址也對應(yīng)了具有同樣意義的cnt1′和flag1′。

wdz2-t3.gif

    假定區(qū)域1和區(qū)域1′的初始狀態(tài)均為擦除狀態(tài),乒乓式掉電保護機制的具體操作步驟如下:

    (1)有第一次寫需求時,首先擦除區(qū)域1,然后將數(shù)據(jù)寫入?yún)^(qū)域1,同時把cnt1更新為“1”,表示第1次寫入數(shù)據(jù)。確認數(shù)據(jù)正確性后將校驗結(jié)果寫入flag1,否則不更新flag1;

    (2)有第二次寫需求時,首先擦除區(qū)域1′,然后將數(shù)據(jù)寫入?yún)^(qū)域1′。接著讀出cnt1,并將cnt1加1得到的值“2”寫入cnt1′,表示第2次寫入數(shù)據(jù)。確認數(shù)據(jù)正確后將校驗結(jié)果寫入flag2,否則不更新flag1′;

    (3)有第三次寫需求時,首先擦除區(qū)域1,然后將數(shù)據(jù)寫入?yún)^(qū)域1。接著讀出cnt1′,并將cnt1′加1得到的值“3”寫入cnt1,表示第3次寫入數(shù)據(jù)。確認數(shù)據(jù)正確性后將校驗結(jié)果寫入flag1,否則不更新flag1;

    (4)以此類推,之后每一次有更新需求時,輪流擦寫區(qū)域1和區(qū)域1′。

    綜上所述,可以看出正常情況下cnt1和cnt2永遠相差“1”。每次要更新Flash時,都選取cnt值小的那塊區(qū)域進行更新,更新后將原來的cnt值+2,得到新的值再寫回,確認數(shù)據(jù)全部正確后再更新flag。

    但是如果擦寫時芯片突然掉電,上述的過程將被打亂。芯片再次上電時,首先分別讀出兩塊存儲器的目標頁和對應(yīng)備份頁中的全部數(shù)據(jù),重新計算flag和flag1,并與存儲于兩塊存儲器中的flag和flag1進行比對。如果flag1和flag1′比對都是一致的,則說明存儲于兩塊存儲器中的flag1和flag1′均正確,那么計數(shù)值大的(非擦除值32’hFFFF)那個區(qū)域就是最后被更新的數(shù)據(jù);如果存在錯誤的flag,至多只能有一個是錯誤的,那么錯誤的flag對應(yīng)的那塊Flash一定是在更新時發(fā)生了掉電,并且掉電發(fā)生時正在更新flag又沒更新完,所以導(dǎo)致flag是錯誤的狀態(tài)。依據(jù)flag和cnt判斷數(shù)據(jù)有效性如表1所示。

wdz2-b1.gif

    該方案中備份區(qū)和目標區(qū)是交替使用的,所以每次更新時只需要對一塊區(qū)域都進行擦除和更新。那么完成一次數(shù)據(jù)只需要1次擦除+1次寫,即2~5 ms,與原有方案相比效率提高了一倍。

3 結(jié)論

    由硬件電路實現(xiàn)的乒乓式掉電保護機制,不但可以有效地防止掉電數(shù)據(jù)丟失的問題,而且對提高芯片性能有及大的幫助。

參考文獻

[1] 黃河清.Flash文件系統(tǒng)中掉電保護的分析與實現(xiàn)[J].電腦編程技巧與維護,2013(6):90-92.

[2] 張金霞,陳思婕,喬彩婷.基于Flash的智能卡數(shù)據(jù)掉電保護機制設(shè)計[J].電子技術(shù)與軟件工程,2015(14):216-218.

[3] 扶小飛,鄭善賢.一種Flash文件系統(tǒng)的設(shè)計和實現(xiàn)[J].微計算機信息,2010(5):174-176.

[4] 王兵,陳軍東.嵌入式系統(tǒng)掉電保護的一種設(shè)計方法[J].單片機與嵌入式系統(tǒng)應(yīng)用,2005(11):28-30.

[5] 李宇.基于單片機系統(tǒng)可靠性的掉電保護的研究[J].電子質(zhì)量,2004(7):53-55.

[6] 王朝輝,陸楓.一種高可靠性的單片機掉電保護設(shè)計[J].武漢科技大學(xué)學(xué)報(自然科學(xué)版),2006(4):401-403.

[7] 徐杰,唐甜,劉曉.一種嵌入式系統(tǒng)電源掉電保護方法[J].電子測試,2016(5):131-132.

[8] 陳粵初,竇振中.單片機應(yīng)用系統(tǒng)設(shè)計與實踐[M].北京:北京航空航天大學(xué)出版社,1993.



作者信息:

蘇  偉1,2,馮  曦1,2,周芝梅1,2,胡  毅1,2,唐曉柯1,2

(1.北京智芯微電子科技有限公司 國家電網(wǎng)公司重點實驗室電力芯片設(shè)計分析實驗室,北京100192;

2.北京智芯微電子科技有限公司 北京市電力高可靠性集成電路設(shè)計工程技術(shù)研究中心,北京100192)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲精品视频一区| 亚洲一区二区三区在线播放| 日韩亚洲精品视频| 亚洲国产裸拍裸体视频在线观看乱了| 国产亚洲综合精品| 国产精品永久在线| 国产日韩精品电影| 国产一区二区久久| 国产揄拍国内精品对白| 国产亚洲高清视频| 国产一区二区高清视频| 国产一区99| 国产一区二区日韩精品| 国产真实久久| 红桃视频国产一区| 精品二区视频| 亚洲国产精品高清久久久| 在线观看国产精品淫| 在线观看91精品国产麻豆| 影音先锋亚洲精品| 亚洲国产片色| 亚洲精品之草原avav久久| 亚洲精品一区二区网址| 99国产一区| 亚洲视频每日更新| 亚洲欧美在线免费观看| 西西裸体人体做爰大胆久久久| 性欧美暴力猛交69hd| 久久精品一二三| 亚洲黄色大片| 这里只有精品在线播放| 亚洲欧美日产图| 久久精品99久久香蕉国产色戒| 久久久www免费人成黑人精品| 麻豆成人av| 欧美日韩一区二区视频在线| 国产精品老女人精品视频| 国产欧美丝祙| 黄色成人免费网站| 91久久精品国产| 在线视频一区二区| 欧美一区观看| 99re热这里只有精品免费视频| 亚洲尤物精选| 久久久久国产精品人| 欧美国产在线视频| 国产精品乱码一区二三区小蝌蚪| 国产日本欧美一区二区三区在线| 黄色国产精品| 亚洲精品一区二区三区不| 亚洲欧美日韩一区二区在线 | 欧美一区二区三区男人的天堂| 欧美在线观看一二区| 你懂的国产精品| 欧美无乱码久久久免费午夜一区| 国产日韩欧美a| 亚洲欧洲日本mm| 午夜精品成人在线视频| 亚洲人成小说网站色在线| 亚洲欧美激情视频| 免费成人av在线| 国产精品久久久久91| 悠悠资源网亚洲青| 亚洲手机在线| 亚洲日本va在线观看| 欧美一级电影久久| 欧美激情视频一区二区三区在线播放 | 在线欧美三区| 亚洲无人区一区| 亚洲精品国产精品久久清纯直播 | 亚洲欧洲一区二区三区| 午夜精品偷拍| 亚洲午夜极品| 麻豆成人小视频| 国产精品美腿一区在线看| 亚洲第一精品久久忘忧草社区| 亚洲视频图片小说| 亚洲伦理一区| 另类酷文…触手系列精品集v1小说| 欧美体内she精视频在线观看| 在线观看91精品国产入口| 亚洲欧美韩国| 亚洲一品av免费观看| 美女日韩在线中文字幕| 国产九区一区在线| 99视频精品在线| 亚洲破处大片| 久久婷婷综合激情| 国产精品欧美经典| 99国产精品国产精品毛片| 91久久精品美女高潮| 久久激情一区| 国产精品区一区二区三| 99ri日韩精品视频| 日韩手机在线导航| 农村妇女精品| 极品av少妇一区二区| 欧美亚洲在线| 欧美一区二区三区视频免费播放| 欧美日韩一区国产| 亚洲精品美女91| 亚洲精品国产精品乱码不99| 久久亚洲综合网| 国产亚洲午夜| 欧美一级理论性理论a| 亚洲欧美日韩精品在线| 欧美视频免费| 夜夜爽99久久国产综合精品女不卡 | 欧美日韩国产精品| 樱桃视频在线观看一区| 久久精品一级爱片| 久久久久国产精品厨房| 国产一区激情| 欧美一区影院| 久久亚洲色图| 黄色一区二区在线观看| 久久精精品视频| 六月丁香综合| 1024亚洲| 99视频有精品| 欧美日韩免费一区| aa级大片欧美| 亚洲在线一区二区三区| 国产精品国内视频| 亚洲一区二区三区视频播放| 欧美亚洲综合久久| 国产日产欧美精品| 欧美主播一区二区三区美女 久久精品人 | 91久久久久久| 国产精品99久久久久久白浆小说| 欧美伦理视频网站| 99riav1国产精品视频| 亚洲免费人成在线视频观看| 国产精品羞羞答答| 久久aⅴ乱码一区二区三区| 麻豆精品视频在线| 亚洲国产精品高清久久久| 夜夜嗨av一区二区三区中文字幕 | 国产精品久久久久久久久动漫| 亚洲综合视频1区| 久久精品成人一区二区三区蜜臀| 韩国三级电影久久久久久| 亚洲欧洲一区| 欧美日韩精品免费在线观看视频| 中日韩午夜理伦电影免费| 欧美一区二区在线视频| 国内一区二区在线视频观看| 亚洲卡通欧美制服中文| 欧美日韩综合视频| 午夜精品99久久免费| 免费短视频成人日韩| 99在线观看免费视频精品观看| 亚洲欧美日韩电影| 激情综合色丁香一区二区| 日韩视频在线免费| 国产精品亚洲一区二区三区在线| 欧美在线三级| 欧美激情无毛| 亚洲女同精品视频| 欧美成人免费在线| 亚洲视频电影图片偷拍一区| 久久精品国内一区二区三区| 亚洲丰满少妇videoshd| 亚洲无吗在线| 狠狠色狠狠色综合日日五| 一区二区精品国产| 国产视频久久久久| 日韩亚洲欧美成人一区| 国产精品欧美一区喷水| 亚洲国产欧美另类丝袜| 欧美视频免费看| 久久激情中文| 欧美午夜精品伦理| 久久精品成人| 国产精品国产精品国产专区不蜜| 久久国产99| 国产精品劲爆视频| 91久久黄色| 国产日韩欧美精品一区| 日韩午夜电影av| 国产一区深夜福利| 亚洲性视频网站| 在线观看亚洲精品| 午夜综合激情| 亚洲区国产区| 久久久久久久一区二区三区| 夜夜爽www精品| 久久中文字幕一区| 亚洲午夜女主播在线直播| 欧美激情在线| 久久国产综合精品| 国产伦理一区| 亚洲视频中文字幕| 在线观看中文字幕亚洲| 欧美一级二区| 正在播放亚洲| 欧美日韩一区二区三区在线 | 先锋亚洲精品| 国产精品久久久久久久久| 亚洲免费成人av|