《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 非易失性存儲器數據掉電保護的硬件解決方案
非易失性存儲器數據掉電保護的硬件解決方案
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網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 久久这里只有精品免费视频 | 女人张开腿让男人捅视频 | 日韩精品在线观看免费 | 欧美日韩亚洲综合久久久 | 精品亚洲成a人在线播放 | 午夜日韩| 国内免费自拍视频 | 欧美一区二区视频在线观看 | 亚洲美女黄色片 | 久艹在线观看视频 | 男人的天堂黄色 | 亚洲美女视频网 | 一个人看的日本www的免费视频 | 日韩 欧美 中文 亚洲 高清 在线 | 成 人免费va视频 | 久久精品久久久久 | 成人a毛片免费全部播放 | 一区二区三区免费视频播放器 | 狠狠色丁香婷婷久久综合考虑 | 国产精品一区伦免视频播放 | a一区二区三区视频 | 日韩精品欧美激情国产一区 | 国产日韩欧美在线一二三四 | 成人毛片手机版免费看 | 青青热在线精品视频免费 | 日本精品一区二区三区在线 | 国产一区第一页 | 手机看片日韩日韩国产在线看 | 成年人网站免费在线观看 | 四色6677最新永久网站 | 欧美激情一级欧美精品 | 日韩一区二区三区在线 | 99久久99久久精品免费看子 | 国产一区亚洲一区 | 亚洲综合天堂 | 欧美xx69| 欧美一级网站 | 亚洲成人免费在线视频 | 国产片一级 | 亚洲精品一级片 | 九九热精 |