[發明專利]一種磁盤壞塊的自檢測方法和裝置有效
| 申請號: | 201210142205.4 | 申請日: | 2012-05-09 |
| 公開(公告)號: | CN103389920A | 公開(公告)日: | 2013-11-13 |
| 發明(設計)人: | 婁繼冰;陳杰;黃楚加 | 申請(專利權)人: | 深圳市騰訊計算機系統有限公司 |
| 主分類號: | G06F11/10 | 分類號: | G06F11/10 |
| 代理公司: | 北京派特恩知識產權代理事務所(普通合伙) 11270 | 代理人: | 張穎玲;程立民 |
| 地址: | 518057 廣東省深圳市南*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 磁盤 檢測 方法 裝置 | ||
技術領域
本發明涉及數據存儲技術,尤其涉及一種磁盤壞塊的自檢測方法和裝置
背景技術
硬盤數據存儲以塊為邏輯單位在硬盤的磁介質上,相應的的扇區不能讀寫或塊上數據產生誤碼都會導致壞塊,使得數據不可用。為了保證數據的可用性,存儲系統需要具有對磁盤壞塊的檢測能力,以避開對壞塊的讀寫,及時遷移重要數據。通常的做法根據數據存儲一定的冗余信息,在下次讀寫操作中通過冗余信息判斷是否產生了壞塊,典型的方法有ECC以及RAID5/6。
ECC是一種前向糾錯編碼(FEC,Forward?Error?Correction)方法,最初用于通信系統的誤碼檢錯和糾錯,以提高通信系統的可靠性。由于這種編碼的可靠性,該方法也應用于磁盤數據的存儲,一般已經內建于磁盤系統。
ECC的實現也是通過對數據塊進行編碼,一般是根據數據塊的行和列計算奇偶校驗信息,并把這些信息作為冗余數據存儲在磁盤中,255字節數據塊的ECC校驗原理圖如表1所示。
其中,CPi,i=0,1,2,4是對數據塊的列數據進行奇偶校驗得出冗余。
而RPi,i=0,1,2...15是對數據塊的行數據進行奇偶校驗得出冗余。
讀取數據塊時,根據數據塊的列冗余和行冗余,對數據塊進行列校驗和行校驗。從表1中可以看出,當數據出現1bit錯誤時,會導致系列奇偶校驗產生錯誤。通過列奇偶校驗冗余可以定位出具體誤碼的列,而行奇偶校驗冗余可以定位具體的行,根據行號和列號可以糾正誤比特。
表1
ECC對于數據塊有單比特突發錯誤的情況有恢復能力。但是當出現多位誤碼,ECC只能檢錯,無法恢復數據,對于數據安全要求比較高的場合并不適用,因此還需要備份文件。此外,ECC必須進行IO讀寫數據塊時才能檢測到錯誤。而且隨著塊大小增加,一個塊中出現多個位錯誤的機會也隨之增加,ECC已經無法應付這樣的情況。此外,ECC一般是由硬件實現,不具備功能擴展和定制的能力。
在空間效率方面,如表1所示,如果數據塊為n個字節,則外加的ECC位為log2n+5。如對255byte的數據而言,需要log2*255+6=22bit的冗余,有效空間利用率為22/(255*8)=98.9%。
RAID?5/6被稱為分布式奇偶校驗磁盤陣列。校驗信息并不單獨存放在一個磁盤中,而是以塊交叉的方式分布到各個磁盤中,如圖1,圖2所示。
在RAID?5中,把一個數據塊序列以及校驗塊的組合稱之為條,如圖1中的A1、A2、A3、Ap。如果需要對數據塊進行寫操作,需根據條的數據塊重新計算并重新寫入相應的奇偶校驗塊。
當有一個磁盤掉線,可通過奇偶校驗塊對一個數據塊進行推導恢復,所述奇偶校驗塊如圖1中的Ap、Bp、Cp、Dp,因此RAID?5具有一個盤掉線的容錯能力,但整體磁盤的讀寫性能將會有很大的降低,因為重建該數據塊需要讀取其他所有的數據塊和奇偶校驗塊,直到掉線的磁盤被替換并且相關數據被重建。RAID?5的空間效率為1-1/n,其中n為磁盤數。對于4個盤,每個盤1TB的數據,實際上的數據存儲空間為3TB,空間效率為75%。如果在舊數據讀取的過程中,由數據塊計算出奇偶校驗塊與磁盤中的奇偶校驗塊不一致,則可判斷有壞塊出現。因此,為了檢測壞塊,必須讀取在n個磁盤上的塊,對每個塊進行奇偶校驗運算,才能進行判斷。因此,判斷壞塊的速度和磁盤的個數相關有很大的關系。
RAID?6擴展了RAID?5,其原理基本一致,磁盤的數據分布如圖2所示,除了原來的奇偶校驗塊外,還增加了一個奇偶校驗塊,如Aq、Bq、Cq、Dq、Eq等,增強了對于壞盤的容錯能力,可以在兩個磁盤掉線的情況下,可根據冗余信息對數據進行恢復,適合高可用的應用環境。但數據寫的性能有所下降,奇偶校驗計算占用了更多的處理時間,并且降低了有效數據的空間利用率。
RAID?6空間效率為1-2/n,可容忍的磁盤掉線數為2。如有5個磁盤,每個磁盤為1TB物理存儲空間,實際可存儲3TB的數據,空間效率為60%。
目前的磁盤壞塊檢測方法,空間利用率低:在互聯網行業應用中,由于對數據的可用性有比較高的要求,一般數據會有1份或以上的備份,已足夠保證數據可用性,單盤的數據冗余糾錯方案功能在已有多份備份的情況下,作用并不明顯;
磁盤壞塊檢測的效率不高:由于數據塊和校驗塊分散在各個磁盤中,一次校驗需要操作多個磁盤;
壞塊掃描針對性不強:在進行磁盤壞塊檢測時,需要對整個磁盤進行數據查詢校驗。
發明內容
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳市騰訊計算機系統有限公司,未經深圳市騰訊計算機系統有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210142205.4/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種醬板鯢制品及其制作方法
- 下一篇:燃煤、燃生物質燃料的臥式三回程鏈條鍋爐





