《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 非易失性存儲器數據掉電保護的硬件解決方案
非易失性存儲器數據掉電保護的硬件解決方案
2019年電子技術應用第2期
蘇 偉1,2,馮 曦1,2,周芝梅1,2,胡 毅1,2,唐曉柯1,2
1.北京智芯微電子科技有限公司 國家電網公司重點實驗室電力芯片設計分析實驗室,北京100192; 2.北京智芯微電子科技有限公司 北京市電力高可靠性集成電路設計工程技術研究中心,北京100192
摘要: 對安全芯片非易失性存儲器(NVM)的數據掉電保護原理進行分析。考慮到軟件的處理速度不能滿足安全芯片對數據存儲的性能要求等因素,提出一種以硬件方式實現的NVM數據掉電保護的解決方案。該方案采用乒乓結構,將兩塊同樣大小的Flash空間輪流作為目標區和備份區,每次更新完成后需要對備份標志及備份次數進行更新。如果更新過程中芯片發生掉電,再次上電后通過比較兩塊區域的備份標志以及備份次數,就可以判斷出哪塊區域的數據是有效的。該方案不但能保證安全芯片非易失性存儲器(NVM)的數據掉電不丟,而且能提高NVM數據更新的性能。
中圖分類號: TN41
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.181928
中文引用格式: 蘇偉,馮曦,周芝梅,等. 非易失性存儲器數據掉電保護的硬件解決方案[J].電子技術應用,2019,45(2):20-22,26.
英文引用格式: Su Wei,Feng 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,Feng 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)具有數據掉電不丟的特性,因此安全芯片通常用NVM來存儲應用程序、用戶數據和系統文件等。

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

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

1 硬件掉電保護機制

1.1 保護原理

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

wdz2-t1.gif

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

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

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

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

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

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

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

1.2 方案存在的問題

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

2 乒乓式掉電保護機制

2.1 存儲器分配原則

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

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

wdz2-t2.gif

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

2.2 乒乓式掉電保護原理

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

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

wdz2-t3.gif

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

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

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

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

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

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

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

wdz2-b1.gif

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

3 結論

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

參考文獻

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

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

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

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

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

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

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

[8] 陳粵初,竇振中.單片機應用系統設計與實踐[M].北京:北京航空航天大學出版社,1993.



作者信息:

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

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

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

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲欧美激情四射在线日 | 午夜视频在线观看一区二区三区 | 最新国产成人av网站网址麻豆| 性欧美精品高清| 亚洲欧美视频在线观看视频| 亚洲手机成人高清视频| 99成人在线| 亚洲卡通欧美制服中文| 亚洲精品视频在线| 日韩视频在线观看免费| 亚洲免费精彩视频| 亚洲精品自在久久| 亚洲精品视频免费在线观看| 亚洲欧洲偷拍精品| 99视频国产精品免费观看| 亚洲每日更新| 99国产精品久久久久久久成人热| 亚洲伦理在线观看| 一本色道久久综合亚洲二区三区| 一本一本a久久| 亚洲在线中文字幕| 午夜综合激情| 久久精品一区二区| 亚洲精品视频一区| 在线视频日韩| 亚洲欧美日韩一区二区三区在线| 午夜久久福利| 久久久精彩视频| 美日韩精品视频免费看| 欧美激情bt| 欧美日精品一区视频| 国产精品久久99| 国产一区成人| 亚洲高清久久网| 夜夜狂射影院欧美极品| 亚洲欧美在线网| 亚洲国产高清视频| 一区二区国产精品| 香蕉久久夜色精品国产使用方法 | 欧美福利精品| 欧美视频一区二区在线观看| 国产精品久久网| 国语精品中文字幕| 91久久夜色精品国产九色| 日韩亚洲精品在线| 亚洲一区二区三区涩| 欧美一二三视频| 亚洲精品激情| 午夜精品久久久久久久久久久| 久久国产精品72免费观看| 欧美sm极限捆绑bd| 欧美视频日韩| 狠狠色伊人亚洲综合成人| 亚洲理伦在线| 欧美在线亚洲| 亚洲一级在线| 久久网站热最新地址| 欧美日韩成人激情| 国产精品无码专区在线观看| 韩日精品中文字幕| 亚洲美女性视频| 欧美在线观看视频一区二区三区 | 香蕉av777xxx色综合一区| 亚洲人成人一区二区在线观看| 亚洲午夜激情免费视频| 久久久精品午夜少妇| 欧美日韩免费观看一区| 国产视频亚洲精品| 亚洲精品男同| 久久精品日韩| 亚洲欧美日韩国产综合精品二区| 免费成人毛片| 国产欧美一区在线| 亚洲另类自拍| 亚洲国产精品成人综合| 香蕉国产精品偷在线观看不卡| 欧美激情精品| 国模精品一区二区三区| 一区二区三区四区五区视频| 久久精品视频一| 欧美一区二区视频在线观看| 欧美日韩国产影院| 一区二区在线视频| 午夜精品成人在线| 亚洲网站视频福利| 欧美韩国一区| 伊甸园精品99久久久久久| 午夜精品视频网站| 亚洲永久免费精品| 欧美日韩国产另类不卡| 在线精品视频免费观看| 午夜在线精品| 午夜国产欧美理论在线播放| 欧美日韩1区| 亚洲国产日韩欧美在线99| 久久精品三级| 久久九九免费| 国产日韩欧美精品一区| 一区二区成人精品| 日韩一二三在线视频播| 久久综合伊人| 合欧美一区二区三区| 亚洲欧美一区二区三区在线| 亚洲一区二区3| 欧美日韩网址| 亚洲精品视频在线观看免费| 亚洲日本va午夜在线电影| 久久亚洲精品伦理| 国产一区二区欧美日韩| 午夜在线a亚洲v天堂网2018| 先锋a资源在线看亚洲| 国产精品久久久久久av福利软件| 亚洲精品综合久久中文字幕| 亚洲精品国产精品国产自| 久久综合色一综合色88| 精品成人在线| 91久久精品国产91久久性色| 蜜桃av一区| 亚洲国产经典视频| 亚洲精选视频免费看| 女人香蕉久久**毛片精品| 在线成人欧美| 亚洲人成人77777线观看| 欧美 日韩 国产一区二区在线视频 | 国产目拍亚洲精品99久久精品| 亚洲影院色无极综合| 亚洲欧美日韩专区| 国产精品区一区二区三区| 亚洲性感激情| 午夜精品视频在线| 国产欧美日韩亚州综合| 欧美一区影院| 美日韩精品视频免费看| 亚洲欧洲日韩在线| 亚洲色无码播放| 国产精品mm| 亚洲一区二区三区涩| 欧美在线播放一区二区| 国产一区二区精品久久| 亚洲国产视频直播| 欧美日韩国产123区| 在线综合亚洲| 欧美怡红院视频一区二区三区| 国产日韩欧美在线一区| 久久国产精品99精品国产| 蜜乳av另类精品一区二区| 亚洲人精品午夜| 亚洲欧美在线网| 国产一区二区三区在线观看免费| 亚洲国产天堂久久综合网| 欧美日韩国产成人在线观看| 国产精品99久久久久久久久久久久| 午夜在线不卡| 伊人伊人伊人久久| 一本一本a久久| 国产精品一区二区三区久久| 久久国产夜色精品鲁鲁99| 欧美国产日韩一区二区三区| 一本到高清视频免费精品| 欧美一区二区三区四区视频| 一区在线影院| 亚洲午夜在线视频| 黑人操亚洲美女惩罚| 一区二区三区黄色| 国产午夜一区二区三区| 亚洲精品一区中文| 国产精品丝袜久久久久久app| 久久精品亚洲| 欧美午夜视频在线| 久久av一区二区三区| 欧美日韩伦理在线免费| 欧美影院成年免费版| 欧美日韩成人综合天天影院| 性伦欧美刺激片在线观看| 欧美黄色片免费观看| 亚洲欧美日韩国产一区二区| 免费亚洲电影在线| 亚洲一区影院| 欧美激情按摩在线| 翔田千里一区二区| 欧美日韩国语| 久久精品国产清高在天天线| 欧美视频精品在线| 91久久国产自产拍夜夜嗨| 国产美女精品免费电影| 一本一本久久| 亚洲电影观看| 欧美一区二区精品| 日韩一二三在线视频播| 老色鬼久久亚洲一区二区| 亚洲一区免费视频| 欧美日韩国产91| 亚洲国产精品久久久久久女王| 国产精品欧美日韩久久| 99re66热这里只有精品3直播| 国产农村妇女毛片精品久久莱园子| 亚洲国内精品在线| 国产欧美一区二区三区视频| 中文在线资源观看视频网站免费不卡| 国产一区二区三区久久久久久久久|