[發明專利]一種固態硬盤啟用TRIM命令后的數據恢復方法有效
| 申請號: | 202011172568.3 | 申請日: | 2020-10-28 |
| 公開(公告)號: | CN112286717B | 公開(公告)日: | 2023-08-01 |
| 發明(設計)人: | 梁效寧;許超明;董超;彭煉 | 申請(專利權)人: | 四川效率源信息安全技術股份有限公司 |
| 主分類號: | G06F11/10 | 分類號: | G06F11/10;G06F11/14;G06F11/07 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 641000 四*** | 國省代碼: | 四川;51 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 固態 硬盤 啟用 trim 命令 數據 恢復 方法 | ||
1.一種固態硬盤啟用TRIM命令后的數據恢復方法,其特征在于包括以下步驟:
S100:判斷所述固態硬盤是否可以正常就緒,如果是,執行步驟S200,否則結束流程;
S200:生成新的譯碼表項,包括以下步驟:
S201:獲取所有譯碼表項;
S202:過濾譯碼表項,步驟S202包括以下步驟:
S2021:將所獲取的譯碼表項的各自邏輯地址按升序排序,按升序順序每次取出邏輯地址相同的譯碼表項;
S2022:執行第一過濾:各個譯碼表項包括各自譯碼表項的塊號和頁號,將相同塊號的譯碼表項劃分在同一組,各組中頁號最大的譯碼表項為有效的譯碼表項,將各組中頁號最大的譯碼表項記入第一譯碼表項,將各組中頁號次大的譯碼表項記入第二譯碼表項;
S2023:針對所述第一譯碼表項及所述第二譯碼表項中相同邏輯地址的譯碼表項,采用所述第二譯碼表項中的邏輯地址的譯碼表項替換所述第一譯碼表項中對應邏輯地址的譯碼表項,用以生成第三譯碼表項;
S2024:執行第二過濾,將所述第三譯碼表項中未過濾的相同邏輯地址的譯碼表項進行過濾,使得相同邏輯地址的譯碼表項僅保留一個,并生成第四譯碼表項,步驟S2024包括:獲取所述固態硬盤的固件信息,包括SMART數據、未使用數據、故障頁,所述固件信息用于管理所述固態硬盤的底層數據,通過所述固件信息及譯碼表項的參數中所包含的校驗值,對譯碼表項進行檢驗過濾,排除無效的譯碼表項,并生成第四譯碼表項;
S300:創建新的譯碼表文件,步驟S300包括:根據所述第四譯碼表項計算物理地址與邏輯地址的映射關系,并將對應關系保存在譯碼表文件中;
S400:恢復所述固態硬盤啟用TRIM后被刪除的數據,步驟S400包括:根據所述譯碼表文件,查找被刪除數據的邏輯地址段,并將各個邏輯地址轉換成相應的物理地址,通過各個所述相應物理地址提取TRIM開啟后被刪除的數據。
2.根據權利要求1所述的一種固態硬盤啟用TRIM命令后的數據恢復方法,其特征在于,所述步驟S100包括以下步驟:
S101:采用SATA接口將所述固態硬盤連接至電腦;
S102:判斷所述固態硬盤是否就緒,如果是,執行步驟S200,否則結束流程。
3.根據權利要求1所述的一種固態硬盤啟用TRIM命令后的數據恢復方法,其特征在于,所述步驟S201包括以下步驟:
S2011:按頁讀取所述固態硬盤各個物理塊的第一頁;
S2012:根據譯碼表項標識,判斷當前頁是否具有譯碼表項,如果是,執行步驟S2013,否則,執行步驟S2012;
S2013:標記當前頁所在的塊的塊號,將所標記的塊號計入塊號文件中;
S2014:掃描所述塊號文件的所計入塊號中各頁并獲取各頁的數據,如果當前頁中具有譯碼表項,則提取當前譯碼表項。
4.根據權利要求3所述的一種固態硬盤啟用TRIM命令后的數據恢復方法,其特征在于,所述步驟S2012中判斷當前頁是否具有譯碼表項包括以下步驟:
情況一:當前主控芯片為PS系列,按如下步驟進行判斷:
對于PS3111主控芯片,判斷當前頁管理區第27、第28字節的數據是否為0xFFAB,如果是,則當前頁具有譯碼表項;
對于PS3108主控芯片,判斷當前頁管理區第3、第4字節的數據是否為0xC5C5,如果是,則當前頁具有譯碼表項;
對于PS3105主控芯片,判斷當前頁管理區第3、第4字節的數據是否為0xC2C2,如果是,則當前頁具有譯碼表項;
對于PS3109主控芯片,判斷當前頁管理區第1、第2字節的數據是否為0xC2DF,如果是,則當前頁具有譯碼表項;或者判斷當前頁管理區第2、第3字節的數據是否為0x80FF且第5字節的數據是否為0xFFFF,如果是,則當前頁具有譯碼表項;
情況二:當前主控芯片為SM系列,按如下步驟進行判斷:
對于SM2258G主控芯片,判斷當前頁管理區第1、第2字節的數據是否不等于0xFFFF且不等于0x0000,同時,第3字節是否等于0x64,如果是,則當前頁具有譯碼表項;
對于SM2246XT主控芯片,判斷當前頁管理區第39、第40字節的數據是否不等于0xFFFF且不等于0x0000,同時,第17字節是否等于0x03,如果是,則當前頁具有譯碼表項;
對于SM2246EN主控芯片,判斷當前頁管理區第1、第2字節的數據是否不等于0xFFFF且不等于0x0000,同時,第3字節是否等于0x64,如果是,則當前頁具有譯碼表項;
對于SM2256主控芯片,判斷當前頁管理區第1、第2字節的數據是否不等于0xFFFF且不等于0x0000,同時,第3字節是否等于0x64,如果是,則當前頁具有譯碼表項。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于四川效率源信息安全技術股份有限公司,未經四川效率源信息安全技術股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011172568.3/1.html,轉載請聲明來源鉆瓜專利網。





