專利名稱:冗余磁盤數(shù)組系統(tǒng)的壞塊處理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種壞塊的處理方法,特別是涉及一種冗余磁盤數(shù)組系統(tǒng)的壞塊處理
方法。
背景技術(shù):
為改善硬盤的數(shù)據(jù)訪問效率,于是有人提出了一種將數(shù)據(jù)平行寫入多個硬盤的 訪問方式。這種訪問方式被稱為冗余磁盤數(shù)組系統(tǒng)(Redundant Array oflnd印endent Disks,簡稱為RAID)。簡單來說,冗余磁盤數(shù)組系統(tǒng)就是將多個硬盤組合成一個邏輯扇 區(qū)。因此,以作業(yè)系統(tǒng)的角度而言,僅會將冗余磁盤數(shù)組系統(tǒng)視為一棵獨立的硬盤。在冗余 磁盤數(shù)組系統(tǒng)中還包括各種不同的訪問方式,舉例來說其分為RAID-O、 RAID-1、 RAID-IE、 RAID-5、 RAID-6、 RAID-10與RAID_50。 因為冗余磁盤數(shù)組系統(tǒng)的數(shù)據(jù)寫入方式是將數(shù)據(jù)分布的寫入不同的硬盤中。因此
當某一個硬盤發(fā)生錯誤時,就會使得該硬盤中所存儲的數(shù)據(jù)不能被訪問,進而造成該筆數(shù)
據(jù)的破壞。為避免此一情況的發(fā)生,所以冗余磁盤數(shù)組系統(tǒng)再寫入數(shù)據(jù)的過程中會對該筆
數(shù)據(jù)做校驗碼的計算。藉以當某一硬盤發(fā)生錯誤時,冗余磁盤數(shù)組系統(tǒng)可以根據(jù)校驗碼撤
消回原始數(shù)據(jù),藉以避免因硬盤破壞導致整個冗余磁盤數(shù)組系統(tǒng)的不能運作。但是,硬盤的
破壞數(shù)量若過于龐大時,系統(tǒng)仍不能根據(jù)校驗碼的機制進行數(shù)據(jù)的修補。 當硬盤中的扇區(qū)(或磁軌)發(fā)生錯誤時,在現(xiàn)有技術(shù)直接將硬盤直接的刪除。這
樣一來,不僅難以對破壞的數(shù)據(jù)進行修補,更使得冗余磁盤數(shù)組系統(tǒng)的存儲容量受到影響。
發(fā)明內(nèi)容
鑒于以上的問題,本發(fā)明的主要目的在于提供一種對冗余磁盤數(shù)組系統(tǒng)的壞塊處
理方法,其特征為規(guī)模計算機界面磁盤所建構(gòu)的冗余磁盤數(shù)組系統(tǒng),特別是對該軟件冗余
磁盤數(shù)組系統(tǒng)中所出現(xiàn)的一損壞塊,并對該損壞塊中的數(shù)據(jù)進行備援處理。 為達上述目的,本發(fā)明所提供的一種對冗余磁盤數(shù)組系統(tǒng)的壞塊處理方法包括以
下步驟接收訪問請求,用以對冗余磁盤數(shù)組系統(tǒng)的數(shù)據(jù)塊進行數(shù)據(jù)的訪問;當對訪問的
數(shù)據(jù)塊為損壞塊時,則執(zhí)行訪問錯誤程序用以提取對數(shù)據(jù)塊的訪問請求;根據(jù)訪問請求查
找出數(shù)據(jù)塊在冗余磁盤數(shù)組系統(tǒng)中規(guī)模計算機界面磁盤的磁盤編號與數(shù)據(jù)塊的邏輯塊地
址;獲取規(guī)模計算機界面磁盤中的保留存儲本地;將上述數(shù)據(jù)塊中的存儲數(shù)據(jù)、磁盤編號
與邏輯塊地址映射至保留存儲本地。 所述的冗余磁盤數(shù)組系統(tǒng)中的壞塊處理方法,其中,在執(zhí)行該訪問錯誤程序中還 包括以下步驟 接收所有這些已完成的訪問請求; 查找出對該規(guī)模計算機界面磁盤進行數(shù)據(jù)訪問失敗的該訪問請求;以及 根據(jù)上述所查找出的該訪問請求中,再過濾出屬于對該冗余磁盤數(shù)組系統(tǒng)的該訪
問請求。
所述的冗余磁盤數(shù)組系統(tǒng)中的壞塊處理方法,其中,查找出該磁盤編號與該邏輯 塊地址還包括以下步驟 設(shè)置一數(shù)據(jù)塊尋找范圍,用以指定欲尋找的這些數(shù)據(jù)塊的數(shù)量; 以該邏輯塊地址的該數(shù)據(jù)塊為初始化,根據(jù)該數(shù)據(jù)塊尋找范圍逐一的測試這些數(shù) 據(jù)塊; 計算該數(shù)據(jù)塊尋找范圍內(nèi)的這些損壞塊的數(shù)量;以及 若該數(shù)據(jù)塊尋找范圍內(nèi)的這些損壞塊的數(shù)量小于這些預留塊的數(shù)量時,則依據(jù)這 些損壞塊的順序逐一的將其中的數(shù)據(jù)映射至這些保留存儲本地中存放。 所述的冗余磁盤數(shù)組系統(tǒng)中的壞塊處理方法,其中,在完成映射后還包括以下步 驟 執(zhí)行一確認請求,用以對該損壞塊再進行數(shù)據(jù)的訪問要求。 本發(fā)明提供了一種具有壞塊處理的冗余磁盤數(shù)組系統(tǒng)與方法,其利用規(guī)模計算機 界面磁盤中的保留存儲本地,用以存放冗余磁盤數(shù)組系統(tǒng)中部分壞塊中的數(shù)據(jù)。如此可以 避免直接刪除被破壞的磁盤,還可以確保數(shù)據(jù)的完整性。 以下結(jié)合附圖和具體實施例對本發(fā)明進行詳細描述,但不作為對本發(fā)明的限定。
圖1A為本發(fā)明的結(jié)構(gòu)示意圖; 圖1B為數(shù)據(jù)塊示意圖; 圖2為壞塊處理程序的流程示意圖; 圖3為訪問錯誤程序的步驟流程示意圖; 圖4為查找規(guī)模計算機界面磁盤的磁盤編號與數(shù)據(jù)塊的邏輯塊地址的步驟流程 示意圖。 其中,附圖標記 110 訪問界面 111 壞塊處理程序 120 存儲設(shè)備 121 規(guī)模計算機界面磁盤 122 數(shù)據(jù)塊
具體實施例方式
下面結(jié)合附圖和具體實施方式
對本發(fā)明的技術(shù)方案作進一步更詳細的描述。
請參考圖1A所示,其為本發(fā)明的結(jié)構(gòu)示意圖。本發(fā)明的具有壞塊處理的冗余磁盤 數(shù)組系統(tǒng)包括有訪問界面110與存儲設(shè)備120。存儲設(shè)備120由多個規(guī)模計算機界面磁 盤121所組成的冗余磁盤數(shù)組系統(tǒng)。本發(fā)明所應(yīng)用的范圍屬于具有校驗碼功能的冗余磁盤 數(shù)組系統(tǒng)。舉例來說,本發(fā)明可以是RAID-1、RAID-1E、RAID-5、RAID-6、RAID-10或RAID-50 的任一。 請配合參考圖1B所示,其為數(shù)據(jù)塊示意圖。每一個規(guī)模計算機界面磁盤121均指 派相應(yīng)的磁盤編號。在存儲設(shè)備120中還包括有多個數(shù)據(jù)塊122,每一個數(shù)據(jù)塊122均具有相應(yīng)的邏輯塊地址。訪問界面110連接于存儲設(shè)備120與客戶端。訪問界面110用以接收 來自客戶端的訪問請求,并根據(jù)訪問請求調(diào)用存儲設(shè)備120所存儲的數(shù)據(jù)。在訪問界面110 中還包括有一壞塊處理程序111。規(guī)模計算機界面磁盤121在出廠時會預留部分的數(shù)據(jù)塊 122用以作為保留存儲本地。保留存儲本地的占用的數(shù)據(jù)塊122數(shù)量依據(jù)不同生產(chǎn)廠商有 不同的設(shè)置。當對訪問的數(shù)據(jù)塊122為損壞塊時,訪問界面IIO執(zhí)行相應(yīng)的壞塊處理程序。
請參考圖2所示,其為壞塊處理程序的流程示意圖。壞塊處理程序111包括以下 步驟 步驟S210 :訪問界面接收訪問請求,并對存儲設(shè)備(意即冗余磁盤數(shù)組系統(tǒng))的 數(shù)據(jù)塊進行數(shù)據(jù)的訪問; 步驟S220 :當對訪問的數(shù)據(jù)塊為損壞塊時,則執(zhí)行訪問錯誤程序用以提取對數(shù)據(jù) 塊的訪問請求; 步驟S230 :根據(jù)訪問請求查找出數(shù)據(jù)塊在存儲設(shè)備中的規(guī)模計算機界面磁盤的 磁盤編號與數(shù)據(jù)塊的邏輯塊地址; 步驟S240 :獲取規(guī)模計算機界面磁盤中的保留存儲本地; 步驟S250 :將上述數(shù)據(jù)塊中的存儲數(shù)據(jù)、磁盤編號與邏輯塊地址映射至保留存儲 本地;以及 步驟S260 :執(zhí)行確認請求,用以對損壞塊再進行數(shù)據(jù)的訪問要求。 其中,當對數(shù)據(jù)塊訪問發(fā)生錯誤時,則執(zhí)行訪問錯誤程序用以提取對數(shù)據(jù)塊的訪
問請求。在執(zhí)行訪問錯誤程序中還包括以下步驟,并請同時配合圖3所示 步驟S221 :接收所有已完成的訪問請求; 步驟S222 :查找出對規(guī)模計算機界面磁盤進行數(shù)據(jù)訪問失敗的訪問請求;以及
步驟S223 :根據(jù)上述所查找出的訪問請求中,再過濾出屬于對冗余磁盤數(shù)組系統(tǒng) 的訪問請求。 如前面所述,在規(guī)模計算機界面磁盤121中會保留有若干的保留存儲本地。 一般 而言,保留存儲本地用以提供給生產(chǎn)廠商用以測試或存放相關(guān)消息的存儲空間。對于一般 用戶而言,保留存儲本地是不可視的。當規(guī)模計算機界面磁盤121的某個扇區(qū)損壞時,可以 利用壞塊重映像功能將這個邏輯塊地址指向預留空間中的一個新的扇區(qū),實現(xiàn)規(guī)模計算機 界面磁盤121的物理扇區(qū)的修復。但存儲系統(tǒng)而言,仍可以通過訪問指令對保留存儲本地 進行訪問。在步驟S230中查找規(guī)模計算機界面磁盤的磁盤編號與數(shù)據(jù)塊122的邏輯塊地 址還包括以下步驟,并請配合圖4所示 步驟S231 :設(shè)置數(shù)據(jù)塊尋找范圍,用以指定欲尋找的數(shù)據(jù)塊的數(shù)量; 步驟S232 :以邏輯塊地址的數(shù)據(jù)塊為初始化,根據(jù)數(shù)據(jù)塊尋找范圍逐一的測試數(shù)
據(jù)塊; 步驟S233 :計算數(shù)據(jù)塊尋找范圍內(nèi)的損壞塊的數(shù)量;以及 步驟S234 :若數(shù)據(jù)塊尋找范圍內(nèi)的損壞塊的數(shù)量小于預留塊的數(shù)量時,則依據(jù)損 壞塊的順序逐一的將其中的數(shù)據(jù)映射至保留存儲本地中存放。 本發(fā)明提供了一種具有壞塊處理的冗余磁盤數(shù)組系統(tǒng)與方法,其利用規(guī)模計算機 界面磁盤121中的保留存儲本地,用以存放冗余磁盤數(shù)組系統(tǒng)中部分壞塊中的數(shù)據(jù)。如此 可以避免直接刪除被破壞的磁盤,還可以確保數(shù)據(jù)的完整性。
當然,本發(fā)明還可有其他多種實施例,在不背離本發(fā)明精神及其實質(zhì)的情況下,熟 悉本領(lǐng)域的技術(shù)人員當可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變 形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護范圍。
權(quán)利要求
一種冗余磁盤數(shù)組系統(tǒng)中的壞塊處理方法,該冗余磁盤數(shù)組系統(tǒng)為一規(guī)模計算機界面磁盤所建構(gòu)的冗余磁盤數(shù)組系統(tǒng),該壞塊處理方法用于對該冗余磁盤數(shù)組系統(tǒng)中所出現(xiàn)的一損壞塊中的數(shù)據(jù)進行備援處理,其特征在于,該壞塊處理方法包括以下步驟接收一訪問請求,用以對該冗余磁盤數(shù)組系統(tǒng)的一數(shù)據(jù)塊進行數(shù)據(jù)的訪問;當對訪問的該數(shù)據(jù)塊為該損壞塊時,則執(zhí)行一訪問錯誤程序用以提取對該數(shù)據(jù)塊的該訪問請求;根據(jù)該訪問請求查找出該數(shù)據(jù)塊在該冗余磁盤數(shù)組系統(tǒng)中該規(guī)模計算機界面磁盤的一磁盤編號與該數(shù)據(jù)塊的一邏輯塊地址;獲取該規(guī)模計算機界面磁盤中的一保留存儲本地;以及將上述該數(shù)據(jù)塊中的一存儲數(shù)據(jù)、該磁盤編號與該邏輯塊地址映像至該保留存儲本地。
2. 根據(jù)權(quán)利要求1所述的冗余磁盤數(shù)組系統(tǒng)中的壞塊處理方法,其特征在于,在執(zhí)行 該訪問錯誤程序中還包括以下步驟接收所有這些已完成的訪問請求;查找出對該規(guī)模計算機界面磁盤進行數(shù)據(jù)訪問失敗的該訪問請求;以及 根據(jù)上述所查找出的該訪問請求中,再過濾出屬于對該冗余磁盤數(shù)組系統(tǒng)的該訪問請求。
3. 根據(jù)權(quán)利要求1所述的冗余磁盤數(shù)組系統(tǒng)中的壞塊處理方法,其特征在于,查找出 該磁盤編號與該邏輯塊地址還包括以下步驟設(shè)置一數(shù)據(jù)塊尋找范圍,用以指定欲尋找的這些數(shù)據(jù)塊的數(shù)量;以該邏輯塊地址的該數(shù)據(jù)塊為初始化,根據(jù)該數(shù)據(jù)塊尋找范圍逐一的測試這些數(shù)據(jù)塊;計算該數(shù)據(jù)塊尋找范圍內(nèi)的這些損壞塊的數(shù)量;以及若該數(shù)據(jù)塊尋找范圍內(nèi)的這些損壞塊的數(shù)量小于這些預留塊的數(shù)量時,則依據(jù)這些損 壞塊的順序逐一的將其中的數(shù)據(jù)映射至這些保留存儲本地中存放。
4. 根據(jù)權(quán)利要求1所述的冗余磁盤數(shù)組系統(tǒng)中的壞塊處理方法,其特征在于,在完成 映射后還包括以下步驟執(zhí)行一確認請求,用以對該損壞塊再進行數(shù)據(jù)的訪問要求。
全文摘要
本發(fā)明公開了一種冗余磁盤數(shù)組系統(tǒng)的壞塊處理方法,其特征為規(guī)模計算機界面磁盤所建構(gòu)的軟件冗余磁盤數(shù)組系統(tǒng),并對軟件冗余磁盤數(shù)組系統(tǒng)中所出現(xiàn)的損壞塊進行數(shù)據(jù)的備援處理。處理方法包括當軟件冗余磁盤數(shù)組系統(tǒng)的數(shù)據(jù)塊為損壞塊時,調(diào)用訪問錯誤程序用以截獲對數(shù)據(jù)塊的訪問指令;根據(jù)訪問指令查找出數(shù)據(jù)塊的在軟件冗余磁盤數(shù)組系統(tǒng)中的磁盤編號與邏輯塊地址;選擇規(guī)模計算機界面磁盤;將上述數(shù)據(jù)塊中的存儲數(shù)據(jù)、磁盤編號與邏輯塊地址映射至規(guī)模計算機界面磁盤中的保留存儲本地。通過上述步驟可以將損壞塊的數(shù)據(jù)映射至正常的塊,保持數(shù)據(jù)的完整性。
文檔編號G06F11/14GK101788935SQ20091000851
公開日2010年7月28日 申請日期2009年1月23日 優(yōu)先權(quán)日2009年1月23日
發(fā)明者吳清秀, 姚海挺, 陳玄同 申請人:英業(yè)達集團(天津)電子技術(shù)有限公司;英業(yè)達股份有限公司