[發明專利]一種智能卡及其恢復數據方法有效
| 申請號: | 201110439718.7 | 申請日: | 2011-12-23 |
| 公開(公告)號: | CN102541690A | 公開(公告)日: | 2012-07-04 |
| 發明(設計)人: | 張楠 | 申請(專利權)人: | 北京握奇數據系統有限公司 |
| 主分類號: | G06F11/14 | 分類號: | G06F11/14;G06K19/07 |
| 代理公司: | 北京同達信恒知識產權代理有限公司 11291 | 代理人: | 黃志華 |
| 地址: | 100015 北京市朝陽區*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 智能卡 及其 恢復 數據 方法 | ||
技術領域
本發明涉及數據備份技術領域,尤其涉及一種智能卡及其恢復數據方法。
背景技術
智能卡的事務操作具有原子性,即一個事務在對一批數據執行修改操作時,要么全部完成,并使用修改后的數據去替代原來的數據,要么一個數據也不修改。然而智能卡的斷電情況卻經常會破壞智能卡事務操作的原子性,例如:完成一次寫操作后智能卡突然斷電,數據區的更新操作只是部分被完成;或者一次寫操作需要較長的時間,寫操作的過程中間智能卡突然斷電,導致寫操作不能完整結束。
為了保證事務操作的原子性,智能卡引用了備份機制,即在寫操作進行時,先將該段地址的原數據備份到指定的備份區,再行寫入,如果在這期間智能卡出現斷電,則在智能卡下次上電初始先檢查備份區并恢復數據,整個智能卡斷電保護的過程如下:將數據區的原數據寫入備份區中形成對應的備份項,備份項的數據結構如圖1所示包括以下字段:標記Tag、長度Length、數據Data、地址Address和校驗值,其中校驗值是對該備份項中理論上應該寫入的標記Tag、長度Length、數據Data和地址Address這四個字段內的值進行一定運算得到的值;在下次智能卡上電初始,首先對該備份項中除校驗值以外實際寫入其他字段的值進行相同的運算得到一個期望值,如果該期望值與對應的校驗值相同,則說明該備份項有效,可以利用該備份項對數據區的相應數據進行恢復,否則,該備份項無效,不能利用該備份項對數據區進行恢復。這是因為在寫備份項時,只有當備份項的所有字段都正常寫入的情況下,即在寫備份項的過程中沒有出現斷電的情況下,重新上電初始計算出的期望值才會與校驗值相同,說明此時的備份項記錄是可靠的,可以用來作為恢復數據使用,否則就說明寫入備份項的過程中出現了斷電情況,備份項記錄是不可靠的,不能用作恢復數據使用。
智能卡的備份區一般位于FLASH?ROM(FLASH?Read-Only?Memory,閃速只讀存儲器)內,而目前常見的閃存中寫操作往往不支持對單個字節進行修改,而是只支持頁擦頁寫型的修改,即只要進行修改,都需要先擦除一整頁的存儲空間,然后再將舊數據及新數據一起寫入該頁內,這樣在備份區中添加新的備份項時,就會出現舊的備份項被擦除的操作。
閃存通常采用反向讀取的方式進行讀操作,對于每一bit進行讀取時,源極和漏極的方向已經和寫操作不同,發生了互換,此時,若某一bit內存有電荷,則器件的閾值電壓大,器件無法導通,可判斷該bit的數值為1;若該bit內沒有存儲電荷,則器件的閾值電壓小,器件可以導通,可判斷該bit的數值為0。因此,根據器件的導通與否便可獲取閃存內的數據。
然而由于目前閃存制造工藝的特殊,使得如果在對閃存進行頁擦頁寫的過程中出現異常斷電,就會有不穩定的現象出現,這主要體現在讀操作上。例如,如果在對某一bit進行寫操作的過程中出現異常斷電,則該bit就可能會因為沒有充滿足夠電荷量或放掉全部電荷量而處于一個臨界值,也就是器件處于導通和非導通的邊緣,并且由于臨界值通常不是一個定值,有一定的誤差,因此,這個時候對該bit進行多次讀操作,就有可能讀出不一樣的值,有時是0,有時就可能是1。
這種不穩定現象的存在使得閃存內進行數據恢復存在相當大的漏洞,因為智能卡可能正是在對備份區進行寫操作的過程中斷了電,那么在上電后對備份項數據進行有效性驗證時,某一bit的值可能與期望值相符而被判作有效,但是當使用該備份項進行數據恢復的時候,會進行第二次讀操作,而由于該bit內電荷量的特殊性,讀出的值與之前的值不同,則此時將把錯誤的數據恢復回去,造成數據區的數據發生跳變,即恢復的數據與原始數據不一致,導致卡片的數據完整性和安全性受到了破壞。
發明內容
本發明提供一種智能卡及其恢復數據方法,用以解決目前智能卡如果在操作備份區時發生異常斷電,對備份區數據進行多次讀操作時可能會得到不同的結果而導致不能正確恢復智能卡數據區數據的問題。
本發明方法包括:
一種智能卡恢復數據方法,包括:
將所述智能卡閃存內備份區中的備份項一次讀入到所述備份區外的預設存儲空間中,若所述讀入到預設存儲空間未能完成,則在智能卡再次上電時重新讀入直到完成;
所述讀入到預設存儲空間完成后,在所述預設存儲空間中對讀出的備份項進行有效性驗證,根據驗證成功后的有效備份項對智能卡進行數據恢復。
一種智能卡,包括:
讀入模塊,用于將所述智能卡閃存內備份區中的備份項一次讀入到所述備份區外的預設存儲空間中,若所述讀入到預設存儲空間未能完成,則在智能卡再次上電時重新讀入直到完成;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京握奇數據系統有限公司,未經北京握奇數據系統有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110439718.7/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種應用于移動存儲SOC芯片的仿真驗證方法
- 下一篇:基準電源電路
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





