欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種raid6數(shù)據(jù)壞塊處理的方法

文檔序號(hào):6623198閱讀:626來(lái)源:國(guó)知局
一種raid6數(shù)據(jù)壞塊處理的方法
【專利摘要】本發(fā)明公開(kāi)一種RAID6數(shù)據(jù)壞塊處理的方法,屬于計(jì)算機(jī)系統(tǒng)存儲(chǔ)領(lǐng)域,具體步驟是:①讀取數(shù)據(jù)條帶;②建立一個(gè)壞塊信息記錄表,記錄壞塊轉(zhuǎn)移信息;③查詢記錄流程,讀寫(xiě)操作先在映射表中查詢此條帶是否被記錄;④添加記錄流程;查詢是否存在讀寫(xiě)錯(cuò)誤,如果存在讀寫(xiě)錯(cuò)誤,則判斷是否可以就行修復(fù);⑤空閑時(shí)期啟動(dòng)一個(gè)周期線程,用于掃描磁盤(pán),及時(shí)發(fā)現(xiàn)錯(cuò)誤;有益之處:把真實(shí)數(shù)據(jù)塊轉(zhuǎn)移到同條帶的校驗(yàn)數(shù)據(jù)塊上,提高數(shù)據(jù)訪問(wèn)效率,減少數(shù)據(jù)丟失概率,提高可靠性。
【專利說(shuō)明】[0001] -種RAID6數(shù)據(jù)壞塊處理的方法

【技術(shù)領(lǐng)域】
[0002] 本發(fā)明涉及一種數(shù)據(jù)壞塊處理的方法,屬于計(jì)算機(jī)系統(tǒng)存儲(chǔ)領(lǐng)域,具體地說(shuō)是一 種RAID6數(shù)據(jù)壞塊處理的方法。

【背景技術(shù)】
[0003] 在存儲(chǔ)系統(tǒng)中,磁盤(pán)陣列的可靠性直接關(guān)系到數(shù)據(jù)的安全性,因此,如何加強(qiáng)磁盤(pán) 陣列的可靠性,成為數(shù)據(jù)存儲(chǔ)的一個(gè)重要課題。而磁盤(pán)在使用過(guò)程中,會(huì)不斷出現(xiàn)損壞的數(shù) 據(jù)塊,這些數(shù)據(jù)塊一方面會(huì)降低讀寫(xiě)訪問(wèn)效率,另一方面會(huì)造成數(shù)據(jù)的丟失,大大降低了存 儲(chǔ)系統(tǒng)的可靠性。從損壞形式上來(lái)說(shuō),壞塊可分為兩類(lèi):軟損壞和物理?yè)p壞。軟損壞往往是 病毒或某些軟件造成的,不是真正的壞塊,可以通過(guò)重寫(xiě)或格式化來(lái)修復(fù)。另一種是物理?yè)p 壞引起的壞塊,數(shù)據(jù)將永遠(yuǎn)無(wú)法寫(xiě)入到這種壞塊上。這兩種形式引起的壞塊都可以通過(guò)數(shù) 據(jù)轉(zhuǎn)移來(lái)避歸。
[0004] 為了提高數(shù)據(jù)訪問(wèn)效率以及可靠性,本發(fā)明是在RAID6真實(shí)數(shù)據(jù)塊有損壞的時(shí) 候,把真實(shí)數(shù)據(jù)塊轉(zhuǎn)移到同條帶的校驗(yàn)數(shù)據(jù)塊上。對(duì)于RAID6來(lái)說(shuō),一個(gè)條帶上有兩種數(shù) 據(jù)塊,即真實(shí)數(shù)據(jù)塊和校驗(yàn)數(shù)據(jù)塊。當(dāng)同一條帶損壞的數(shù)據(jù)塊數(shù)量為一個(gè)或兩個(gè)的時(shí)候, 可以通過(guò)校驗(yàn)算法進(jìn)行修復(fù),但此時(shí)處于降級(jí)狀態(tài),冗余機(jī)制降低。如果此時(shí)損壞的是真實(shí) 數(shù)據(jù)塊,真實(shí)數(shù)據(jù)塊要比校驗(yàn)數(shù)據(jù)塊更重要,需要優(yōu)先保存,所以可以用真實(shí)數(shù)據(jù)塊直接替 代校驗(yàn)數(shù)據(jù)塊;當(dāng)同一條帶有超過(guò)兩個(gè)數(shù)據(jù)塊有損壞的時(shí)候,則無(wú)法進(jìn)行修復(fù)了。
[0005] 本發(fā)明引入一個(gè)周期線程,用于掃描磁盤(pán),及時(shí)發(fā)現(xiàn)錯(cuò)誤。為了不影響使用性能, 該線程只在設(shè)備空閑的時(shí)候進(jìn)行掃描。


【發(fā)明內(nèi)容】

[0006] 本發(fā)明針對(duì)現(xiàn)有技術(shù)存在的不足和問(wèn)題,提供一種RAID6數(shù)據(jù)壞塊處理的方法, 提出的具體方案是: 一種RAID6數(shù)據(jù)壞塊處理的方法,具體步驟是: ①讀取數(shù)據(jù)條帶,當(dāng)遇到第一個(gè)壞塊時(shí),將其轉(zhuǎn)移到第一個(gè)校驗(yàn)數(shù)據(jù)塊位置上,當(dāng)遇到 第二個(gè)壞塊時(shí),將其轉(zhuǎn)移到第二個(gè)校驗(yàn)數(shù)據(jù)塊位置上,如果該條帶有第三個(gè)數(shù)據(jù)塊損壞,則 把該條帶進(jìn)行標(biāo)記,宣告陣列失效; ②建立一個(gè)壞塊信息記錄表,記錄壞塊轉(zhuǎn)移信息; ③查詢記錄流程:讀寫(xiě)操作先在映射表中查詢此條帶是否被記錄,如果此條帶在映射 表中有記錄,如果記錄的是校驗(yàn)數(shù)據(jù)塊損壞,則可以忽略此數(shù)據(jù)塊,不需經(jīng)過(guò)校驗(yàn)計(jì)算;如 果記錄的是真實(shí)數(shù)據(jù)塊,則到映射的校驗(yàn)數(shù)據(jù)塊上讀寫(xiě)數(shù)據(jù); ④添加記錄流程:查詢是否存在讀寫(xiě)錯(cuò)誤,如果存在讀寫(xiě)錯(cuò)誤,則判斷是否可以就行修 復(fù),如果錯(cuò)誤塊數(shù)超過(guò)兩個(gè)則不可修復(fù);判斷損壞的數(shù)據(jù)塊是否為真實(shí)數(shù)據(jù)塊,如果為真實(shí) 數(shù)據(jù)塊,則把該數(shù)據(jù)塊轉(zhuǎn)移到校驗(yàn)數(shù)據(jù)塊位置,并進(jìn)行記錄;如果為校驗(yàn)數(shù)據(jù)塊,則只進(jìn)行 記錄,不把數(shù)據(jù)轉(zhuǎn)移。
[0007] 步驟②壞塊信息記錄表格的每一項(xiàng)是按照條帶為單位,以壞塊出現(xiàn)的時(shí)間先后順 序進(jìn)行記錄,每一項(xiàng)有兩部分組成,第一部分一共64位,第二部分也是64位。
[0008] 步驟②中的壞塊信息記錄表,第一位是標(biāo)志位,來(lái)表示該條帶是否有數(shù)據(jù)壞塊,緊 跟著后面的兩位表示該條帶數(shù)據(jù)塊數(shù)量,01表示有一個(gè)數(shù)據(jù)壞塊,10表示有兩個(gè)數(shù)據(jù)壞 塊,11表示有3個(gè)數(shù)據(jù)壞塊,此時(shí)宣告RAID6失效,壞塊數(shù)量再多不進(jìn)行記錄。
[0009] 一個(gè)陣列最多27塊盤(pán)。
[0010] 本發(fā)明的有益之處是:本發(fā)明是當(dāng)RAID6發(fā)生因少量數(shù)據(jù)塊損壞而產(chǎn)生的讀寫(xiě)錯(cuò) 誤的時(shí)候,引入一個(gè)周期線程,用于掃描磁盤(pán),及時(shí)發(fā)現(xiàn)錯(cuò)誤,把真實(shí)數(shù)據(jù)塊轉(zhuǎn)移到同條帶 的校驗(yàn)數(shù)據(jù)塊上,提高數(shù)據(jù)訪問(wèn)效率,減少數(shù)據(jù)丟失概率,提高可靠性,本發(fā)明根據(jù)RAID6 算法特點(diǎn),對(duì)壞塊進(jìn)行有效的記錄,并在內(nèi)存中按照條帶偏移量進(jìn)行組織,可以方便查詢和 添加記錄。

【專利附圖】

【附圖說(shuō)明】
[0011] 圖1第一個(gè)據(jù)轉(zhuǎn)移示意圖;圖2第二個(gè)據(jù)轉(zhuǎn)移示意圖;圖3第一種條帶壞塊記錄單 元圖;圖4第二種條帶壞塊記錄單元圖。

【具體實(shí)施方式】
[0012] 數(shù)據(jù)壞塊主要是通過(guò)讀寫(xiě)訪問(wèn)來(lái)發(fā)現(xiàn),數(shù)據(jù)壞塊會(huì)引起讀寫(xiě)錯(cuò)誤,因此對(duì)讀寫(xiě)錯(cuò) 誤進(jìn)行分析,可知數(shù)據(jù)塊是否損壞,另一方面,除了用戶數(shù)據(jù)訪問(wèn),在空閑時(shí)期啟動(dòng)一個(gè)周 期線程,用于掃描磁盤(pán),及時(shí)發(fā)現(xiàn)錯(cuò)誤。
[0013] 當(dāng)一個(gè)條帶有數(shù)據(jù)塊損壞的時(shí)候,如果是真實(shí)數(shù)據(jù)損壞,以后每次讀寫(xiě)該數(shù)據(jù)塊, 都需要讀出其它所有數(shù)據(jù)塊,經(jīng)過(guò)校驗(yàn)來(lái)得到該數(shù)據(jù)塊,降低了讀寫(xiě)請(qǐng)求效率,當(dāng)壞塊出現(xiàn) 比較多的時(shí)候,會(huì)使得真實(shí)數(shù)據(jù)塊發(fā)生丟失。所以,當(dāng)有數(shù)據(jù)塊損壞時(shí),真實(shí)數(shù)據(jù)塊要比校 驗(yàn)數(shù)據(jù)塊更重要,為了優(yōu)先保存真實(shí)數(shù)據(jù)塊,本發(fā)明是在如果發(fā)現(xiàn)有一個(gè)真實(shí)數(shù)據(jù)塊損壞, 就把該數(shù)據(jù)塊轉(zhuǎn)移到第一個(gè)校驗(yàn)數(shù)據(jù)塊的位置上去,并進(jìn)行記錄,數(shù)據(jù)塊D1轉(zhuǎn)移到P1。如 果發(fā)現(xiàn)有第二個(gè)真實(shí)數(shù)據(jù)塊損壞,則把該數(shù)據(jù)塊轉(zhuǎn)移到第二個(gè)校驗(yàn)數(shù)據(jù)塊上,數(shù)據(jù)塊D3轉(zhuǎn) 移到Q1。兩次數(shù)據(jù)轉(zhuǎn)移是按照壞塊出現(xiàn)的時(shí)間順序進(jìn)行的,不是按照所在位置前后進(jìn)行。 如果損壞的是校驗(yàn)數(shù)據(jù)塊,只進(jìn)行記錄損壞的位置即可,不進(jìn)行數(shù)據(jù)轉(zhuǎn)移。如果該條帶有 第三個(gè)數(shù)據(jù)塊損壞,則把該條帶進(jìn)行標(biāo)記,宣告陣列失效。
[0014] 為了記錄壞塊轉(zhuǎn)移信息,需要建立一個(gè)壞塊信息記錄表,表格的每一項(xiàng)是按照條 帶為單位,以壞塊出現(xiàn)的時(shí)間先后順序進(jìn)行記錄。每一項(xiàng)有兩部分組成,第一部分一共64 位,表示條帶在整個(gè)陣列的位置以及狀態(tài)等信息。其中,第一位是標(biāo)志位,來(lái)表示該條帶是 否有數(shù)據(jù)壞塊,緊跟著后面的兩位表示該條帶數(shù)據(jù)塊數(shù)量,01表示有一個(gè)數(shù)據(jù)壞塊,10表 示有兩個(gè)數(shù)據(jù)壞塊,11表示有3個(gè)數(shù)據(jù)壞塊,此時(shí)宣告RAID6失效,壞塊數(shù)量再多不進(jìn)行記 錄。后面61位表示條帶在整個(gè)陣列的偏移,對(duì)于4TB的磁盤(pán)容量,使用34位即可表示所有 條帶位置,考慮以后磁盤(pán)容量擴(kuò)展以及標(biāo)志位,其它位作為擴(kuò)展預(yù)留。
[0015] 第二部分也是64位,記錄損壞的數(shù)據(jù)塊以及對(duì)應(yīng)轉(zhuǎn)移的校驗(yàn)數(shù)據(jù)塊載條帶內(nèi)的 偏移。一個(gè)陣列最多27塊盤(pán),所以用5位就可以表示數(shù)據(jù)塊在條帶內(nèi)的偏移,一個(gè)壞塊數(shù) 據(jù)轉(zhuǎn)移記錄用10位表示,RAID6 一個(gè)條帶兩個(gè)壞塊轉(zhuǎn)移記錄可以用20位表示??紤]位對(duì) 齊以及方便以后擴(kuò)展,該部分用64位表示。所以,RAID6的一個(gè)條帶對(duì)應(yīng)的壞塊記錄一共 需要128位來(lái)表示。
[0016] 這個(gè)條帶壞塊信息記錄表可以放到磁盤(pán)元數(shù)據(jù)空間,使用的時(shí)候放到內(nèi)存。另外, 還有個(gè)計(jì)數(shù)記錄有多少個(gè)條帶進(jìn)行了轉(zhuǎn)移,該記錄保存在超級(jí)塊中。
[0017] 考慮到內(nèi)存資源的限制,可以對(duì)信息記錄的數(shù)量進(jìn)行限制,數(shù)量的多少可以在創(chuàng) 建時(shí)候進(jìn)行設(shè)置。另外,為了提升訪問(wèn)效率,對(duì)信息記錄表的信息用紅黑樹(shù)進(jìn)行組織,以條 帶在陣列中的偏移作為關(guān)鍵字排序。
[0018] 在數(shù)據(jù)請(qǐng)求過(guò)程中,對(duì)于對(duì)于數(shù)據(jù)壞塊的操作主要有查詢記錄和添加記錄,查詢 在添加記錄之前進(jìn)行。
[0019] 查詢記錄流程,具體步驟如下: ①讀寫(xiě)操作先在映射表中查詢此條帶是否被記錄。
[0020] ②如果此條帶在映射表中有記錄,如果記錄的是校驗(yàn)數(shù)據(jù)塊損壞,則可以忽略此 數(shù)據(jù)塊,不需經(jīng)過(guò)校驗(yàn)計(jì)算;如果記錄的是真實(shí)數(shù)據(jù)塊,則到映射的校驗(yàn)數(shù)據(jù)塊上讀寫(xiě)數(shù) 據(jù)。
[0021] 添加記錄流程,具體步驟如下: 查詢是否存在讀寫(xiě)錯(cuò)誤,如果存在讀寫(xiě)錯(cuò)誤,則判斷是否可以就行修復(fù),如果錯(cuò)誤塊數(shù) 超過(guò)兩個(gè)則不可修復(fù); 判斷損壞的數(shù)據(jù)塊是否為真實(shí)數(shù)據(jù)塊,如果為真實(shí)數(shù)據(jù)塊,則把該數(shù)據(jù)塊轉(zhuǎn)移到校驗(yàn) 數(shù)據(jù)塊位置,并進(jìn)行記錄;如果為校驗(yàn)數(shù)據(jù)塊,則只進(jìn)行記錄,不把數(shù)據(jù)轉(zhuǎn)移。
【權(quán)利要求】
1. 一種RAID6數(shù)據(jù)壞塊處理的方法,其特征是具體步驟是: ①讀取數(shù)據(jù)條帶,當(dāng)遇到第一個(gè)壞塊時(shí),將其轉(zhuǎn)移到第一個(gè)校驗(yàn)數(shù)據(jù)塊位置上,當(dāng)遇到 第二個(gè)壞塊時(shí),將其轉(zhuǎn)移到第二個(gè)校驗(yàn)數(shù)據(jù)塊位置上,如果該條帶有第三個(gè)數(shù)據(jù)塊損壞,則 把該條帶進(jìn)行標(biāo)記,宣告陣列失效; ②建立一個(gè)壞塊信息記錄表,記錄壞塊轉(zhuǎn)移信息; ③查詢記錄流程:讀寫(xiě)操作先在映射表中查詢此條帶是否被記錄,如果此條帶在映射 表中有記錄,如果記錄的是校驗(yàn)數(shù)據(jù)塊損壞,則可以忽略此數(shù)據(jù)塊,不需經(jīng)過(guò)校驗(yàn)計(jì)算;如 果記錄的是真實(shí)數(shù)據(jù)塊,則到映射的校驗(yàn)數(shù)據(jù)塊上讀寫(xiě)數(shù)據(jù); ④添加記錄流程:查詢是否存在讀寫(xiě)錯(cuò)誤,如果存在讀寫(xiě)錯(cuò)誤,則判斷是否可以就行修 復(fù),如果錯(cuò)誤塊數(shù)超過(guò)兩個(gè)則不可修復(fù);判斷損壞的數(shù)據(jù)塊是否為真實(shí)數(shù)據(jù)塊,如果為真實(shí) 數(shù)據(jù)塊,則把該數(shù)據(jù)塊轉(zhuǎn)移到校驗(yàn)數(shù)據(jù)塊位置,并進(jìn)行記錄;如果為校驗(yàn)數(shù)據(jù)塊,則只進(jìn)行 記錄,不把數(shù)據(jù)轉(zhuǎn)移; ⑤空閑時(shí)期啟動(dòng)一個(gè)周期線程,用于掃描磁盤(pán),及時(shí)發(fā)現(xiàn)錯(cuò)誤。
2.根據(jù)權(quán)利要求1所述的一種RAID6數(shù)據(jù)壞塊處理的方法,其特征是步驟②壞塊信息 記錄表格的每一項(xiàng)是按照條帶為單位,以壞塊出現(xiàn)的時(shí)間先后順序進(jìn)行記錄,每一項(xiàng)有兩 部分組成,第一部分一共64位,第二部分也是64位。
3.根據(jù)權(quán)利要求2所述的一種RAID6數(shù)據(jù)壞塊處理的方法,其特征是步驟②中的壞塊 信息記錄表,第一位是標(biāo)志位,來(lái)表示該條帶是否有數(shù)據(jù)壞塊,緊跟著后面的兩位表示該條 帶數(shù)據(jù)塊數(shù)量,01表示有一個(gè)數(shù)據(jù)壞塊,10表示有兩個(gè)數(shù)據(jù)壞塊,11表示有3個(gè)數(shù)據(jù)壞塊, 此時(shí)宣告RAID6失效,壞塊數(shù)量再多不進(jìn)行記錄。
4.根據(jù)權(quán)利要求1-3任一項(xiàng)所述的一種RAID6數(shù)據(jù)壞塊處理的方法,其特征是一個(gè)陣 列最多27塊盤(pán)。
【文檔編號(hào)】G06F11/22GK104142875SQ201410393820
【公開(kāi)日】2014年11月12日 申請(qǐng)日期:2014年8月12日 優(yōu)先權(quán)日:2014年8月12日
【發(fā)明者】古世磊 申請(qǐng)人:浪潮電子信息產(chǎn)業(yè)股份有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
勐海县| 饶平县| 锡林浩特市| 涞源县| 铁岭县| 那曲县| 关岭| 湘潭县| 康乐县| 临汾市| 汶上县| 清苑县| 新余市| 惠安县| 浦东新区| 阳城县| 德兴市| 绥德县| 九龙县| 绥化市| 定结县| 屏南县| 读书| 宁国市| 长宁县| 芦山县| 抚州市| 泗洪县| 新绛县| 汉中市| 榕江县| 德庆县| 车致| 淮南市| 中西区| 宝山区| 寻甸| 浮梁县| 黄浦区| 白水县| 郧西县|