[發明專利]一種修復出錯數據的方法和設備有效
| 申請號: | 201310381426.1 | 申請日: | 2013-08-28 |
| 公開(公告)號: | CN103455386B | 公開(公告)日: | 2016-11-23 |
| 發明(設計)人: | 鮑慧強;王大勇;王榮生 | 申請(專利權)人: | 華為技術有限公司 |
| 主分類號: | G06F11/10 | 分類號: | G06F11/10 |
| 代理公司: | 北京三高永信知識產權代理有限責任公司 11138 | 代理人: | 黃厚剛 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 修復 出錯 數據 方法 設備 | ||
技術領域
本發明涉及計算機領域,特別涉及一種修復出錯數據的方法和設備。
背景技術
SSD(Solid?State?Disk,固態硬盤)是用固態電子存儲芯片陣列制成的硬盤,由控制單元和存儲單元組成。存儲單元由Flash芯片構成,由于工藝和成本的因素,導致Flash芯片存在一定的故障率,當Flash芯片出現故障時會損壞存儲的數據,因此,修復出錯數據的方法受到了廣泛地關注。
目前,修復出錯數據的方法,具體為:當讀取SSD的Flash芯片包括的存儲塊中的數據時,對于該存儲塊中的某一個頁,檢查該頁中出錯的數據,如果出錯的數據個數沒有超過預設第一門限,則對該頁中出錯的數據進行ECC(Error?Correcting?Code,錯誤檢查和糾正)修復,并返回正確的數據;如果出錯的數據個數超過預設第一門限,則將該存儲塊標記為壞塊,后續不再使用該存儲塊,同時從預設個數個存儲塊中選擇與該頁的頁標識相同的頁,根據選擇的頁中的數據,判斷該頁的數據是否可以進行RAID(Redundant?Arrays?of?Inexpensive?Disks,獨立冗余磁盤陣列)修復,如果是,則對該頁進行RAID修復,并返回正確的數據,否則,數據讀取錯誤。
在實現本發明的過程中,發明人發現現有技術至少存在以下問題:
當某個頁中出錯的數據個數超過預設第一門限時,只能對該存儲塊進行RAID修復,而RAID修復需要根據預設個數個存儲塊中的數據進行修復,修復數據的時間較長,效率過低;并且將整個存儲塊被標記為壞塊后,SSD的容量減小,后續只能使用沒有被標記為壞塊的存儲塊,使沒有被標記為壞塊的存儲塊使用頻繁,從而降低SSD的壽命和性能。
發明內容
為了解決現有技術的問題,本發明實施例提供了一種修復出錯數據的方法和設備。所述技術方案如下:
第一方面,提供了一種修復出錯數據的方法,所述方法包括:
當讀取固態硬盤包括的存儲塊中的數據時,對所述存儲塊的某個頁中的數據進行第一次錯誤檢查,獲取所述頁中出錯的數據;
如果所述頁中出錯的數據的第一個數小于或等于預設第一門限,則對所述頁中的數據進行錯誤檢查和糾正ECC修復;
如果所述第一個數大于所述預設第一門限,則根據所述頁中出錯的數據的存儲位置和所述存儲塊對應的固定表項,從備用空間中獲取數據,并將所述頁中出錯的數據替換為獲取的數據,所述固定表項包括所述備用空間中存儲的各數據的存儲位置。
結合第一方面,在上述第一方面的第一種可能的實現方式中,所述如果所述第一個數大于所述預設第一門限,則根據所述頁中出錯的數據的存儲位置和已存儲的固定表項,從備用空間中獲取數據,并將所述頁中出錯數據替換為獲取的數據之后,還包括:
對所述頁中的數據進行第二次錯誤檢查,獲取所述頁中出錯的數據;
如果所述頁中出錯的數據的第二個數小于或等于所述預設第一門限,則對所述頁中的數據進行ECC修復;
如果所述第二個數大于所述預設第一門限,則將所述存儲塊標記為壞塊,并根據所述頁的頁標識,從預設個數個存儲塊中獲取數據;
根據獲取的數據,判斷是否對所述頁中的數據進行獨立冗余磁盤陣列RAID修復,如果是,則對所述頁中的數據進行RAID修復。
結合第一方面,在上述第一方面的第二種可能的實現方式中,所述對所述存儲塊的某個頁中的數據進行第一次錯誤檢查,獲取所述頁中出錯的數據之后,還包括:
獲取所述存儲塊中的每個頁中出錯的數據的存儲位置;
獲取存儲位置相同的出錯的數據,并統計存儲位置相同的出錯的數據的出錯個數;
選擇出錯個數最大的第一預設數值個存儲位置,并將選擇的存儲位置存儲在所述存儲塊對應的臨時表項中。
結合第一方面,在上述第一方面的第三種可能的實現方式中,所述對所述存儲塊的某個頁中的數據進行第一次錯誤檢查,獲取所述頁中出錯的數據之后,還包括:
獲取所述頁中的每個存儲位置已出錯的數據;
根據所述頁中的每個存儲位置已出錯的數據,統計所述頁中的每個存儲位置已出錯的數據的出錯個數;
選擇出錯個數最大的第一預設數值個存儲位置,并將選擇的存儲位置和所述頁的頁標識存儲在所述存儲塊對應的臨時表項中。
結合第一方面,在上述第一方面的第四種可能的實現方式中,所述對所述存儲塊的某個頁中的數據進行第一次錯誤檢查,獲取所述頁中出錯的數據之后,還包括:
獲取所述存儲塊中的每個頁中出錯的數據的存儲位置;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為技術有限公司,未經華為技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310381426.1/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種透明質酸敷料及其應用方法
- 下一篇:一種袪濕熱濕毒的中藥制劑
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





