專利名稱:一種基于雙硬盤冗余的硬盤陣列控制器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于雙硬盤冗余的硬盤陣列控制器。
背景技術(shù):
在高速硬盤陣列數(shù)據(jù)存儲(chǔ)領(lǐng)域,隨著單塊硬盤讀寫速率和容量的不斷提高,硬盤陣列的存儲(chǔ)速率和存儲(chǔ)帶寬也在不斷提升,高速率、大帶寬、大容量已經(jīng)成為硬盤陣列數(shù)據(jù)存儲(chǔ)領(lǐng)域主流發(fā)展趨勢(shì)。但隨之而來的硬盤陣列數(shù)據(jù)安全問題也突顯出來,在很多場(chǎng)合下, 人們對(duì)數(shù)據(jù)安全問題的關(guān)注甚至超過了對(duì)數(shù)據(jù)存儲(chǔ)速率的關(guān)注。特別是在航天領(lǐng)域中,數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)安全問題尤為重要,每執(zhí)行一次任務(wù)所花費(fèi)的人力、物力和財(cái)力都相當(dāng)巨大, 因此任務(wù)過程中獲得的數(shù)據(jù)信息也十分珍貴,如果不能把這些信息安全妥善的保存下來, 損失將難以估量,甚至?xí)?dǎo)致整個(gè)任務(wù)的失敗。在硬盤陣列中加入冗余數(shù)據(jù)盤,當(dāng)陣列中有硬盤失效時(shí),可以根據(jù)冗余信息將失效硬盤數(shù)據(jù)恢復(fù)出來已經(jīng)成為提高硬盤陣列安全性的主要手段,但現(xiàn)有商用硬盤陣列存儲(chǔ)解決方案中一旦出現(xiàn)陣列中有硬盤損壞情況,整個(gè)硬盤陣列讀寫性能將會(huì)受到很大影響,甚至無法達(dá)到執(zhí)行任務(wù)的最低存儲(chǔ)性能要求。
發(fā)明內(nèi)容
本發(fā)明的技術(shù)解決問題是針對(duì)現(xiàn)有技術(shù)的不足,提供了一種基于雙硬盤冗余的硬盤陣列控制器。采用本發(fā)明可以在硬盤陣列中任意一塊或兩塊硬盤失效的情況下仍然能夠保持存儲(chǔ)和讀取速率不變,且當(dāng)陣列中有硬盤失效時(shí)仍然能夠?qū)崿F(xiàn)邊記錄邊回放、邊回放邊重建的功能,同時(shí)硬盤陣列安全性得到極大提升。本發(fā)明的技術(shù)解決方案是一種基于雙硬盤冗余的硬盤陣列控制器,包括數(shù)據(jù)緩沖區(qū)一、數(shù)據(jù)緩沖區(qū)二、數(shù)據(jù)緩沖區(qū)三、數(shù)據(jù)緩沖區(qū)四、數(shù)據(jù)回放校驗(yàn)?zāi)K、冗余數(shù)據(jù)生成模塊、損壞硬盤重建模塊、數(shù)據(jù)選通、硬盤控制接口和硬盤陣列,其中,在記錄數(shù)據(jù)時(shí),數(shù)據(jù)緩沖區(qū)一對(duì)輸入前端數(shù)據(jù)進(jìn)行緩沖后輸出到冗余數(shù)據(jù)生成模塊;冗余數(shù)據(jù)生成模塊根據(jù)輸入的前端數(shù)據(jù)生成校驗(yàn)信息,并經(jīng)過數(shù)據(jù)選通輸出到數(shù)據(jù)緩沖區(qū)三;數(shù)據(jù)緩沖區(qū)三對(duì)將前端數(shù)據(jù)和校驗(yàn)信息通過硬盤控制接口存儲(chǔ)到硬盤陣列中;在回放數(shù)據(jù)時(shí),數(shù)據(jù)緩沖區(qū)二將硬盤陣列輸出的記錄數(shù)據(jù)進(jìn)行緩沖后輸出到數(shù)據(jù)回放校驗(yàn)?zāi)K;數(shù)據(jù)回放校驗(yàn)?zāi)K在硬盤陣列中無損壞硬盤時(shí),通過數(shù)據(jù)緩沖區(qū)四將記錄數(shù)據(jù)直接輸出。所述冗余數(shù)據(jù)生成模塊,按條帶對(duì)前端數(shù)據(jù)進(jìn)行校驗(yàn)處理生成與每個(gè)條帶相對(duì)應(yīng)的校驗(yàn)數(shù)據(jù),并按條帶中數(shù)據(jù)包的順序?qū)⑶岸藬?shù)據(jù)以及生成的校驗(yàn)數(shù)據(jù)分別存儲(chǔ)到硬盤陣列中的數(shù)據(jù)盤和校驗(yàn)盤中;所述數(shù)據(jù)回放校驗(yàn)?zāi)K,在硬盤陣列存在降級(jí)數(shù)據(jù)盤時(shí),按條帶讀取硬盤陣列中工作正常的數(shù)據(jù)盤內(nèi)存儲(chǔ)的數(shù)據(jù)包和校驗(yàn)盤中與條帶對(duì)應(yīng)的校驗(yàn)數(shù)據(jù),通過恢復(fù)處理獲得一個(gè)條帶中降級(jí)數(shù)據(jù)盤內(nèi)存儲(chǔ)的數(shù)據(jù)包,然后按冗余數(shù)據(jù)生成模塊的記錄順序?qū)⒂涗浀臄?shù)據(jù)包輸出;所述恢復(fù)處理與校驗(yàn)處理為相逆處理;
所述損壞硬盤重建模塊,在硬盤陣列存在降級(jí)數(shù)據(jù)盤時(shí),按條帶讀取硬盤陣列中正常工作的數(shù)據(jù)盤內(nèi)存儲(chǔ)的數(shù)據(jù)包和校驗(yàn)盤中與條帶對(duì)應(yīng)的校驗(yàn)數(shù)據(jù),通過恢復(fù)處理獲取一個(gè)條帶中降級(jí)盤內(nèi)存儲(chǔ)的數(shù)據(jù)包,并將恢復(fù)出的數(shù)據(jù)包存儲(chǔ)到硬盤陣列新加入的數(shù)據(jù)盤中。所述冗余數(shù)據(jù)生成模塊通過下式對(duì)前端數(shù)據(jù)進(jìn)行校驗(yàn)處理生成校驗(yàn)數(shù)據(jù)^=Ι)(Α:,0)Θ£>(Α:,1)Φ£)(Α:,2)·..ΘΙ)(Α:,《-1)Qk=Ia D(k,0)十 21 D(k, 1)十…十2""1 (8)D(k,n-\)其中,Pk和&為根據(jù)第k個(gè)條帶的校驗(yàn)數(shù)據(jù);η為硬盤陣列中的硬盤總數(shù)。所述數(shù)據(jù)回放校驗(yàn)?zāi)K或損壞硬盤重建模塊通過下式對(duì)前端數(shù)據(jù)進(jìn)行恢復(fù)處理恢復(fù)降級(jí)數(shù)據(jù)盤中的數(shù)據(jù)
權(quán)利要求
1.一種基于雙硬盤冗余的硬盤陣列控制器,包括數(shù)據(jù)緩沖區(qū)一、數(shù)據(jù)緩沖區(qū)二、數(shù)據(jù)緩沖區(qū)三、數(shù)據(jù)緩沖區(qū)四、數(shù)據(jù)回放校驗(yàn)?zāi)K、冗余數(shù)據(jù)生成模塊、損壞硬盤重建模塊、數(shù)據(jù)選通、硬盤控制接口和硬盤陣列,其中,在記錄數(shù)據(jù)時(shí),數(shù)據(jù)緩沖區(qū)一對(duì)輸入前端數(shù)據(jù)進(jìn)行緩沖后輸出到冗余數(shù)據(jù)生成模塊;冗余數(shù)據(jù)生成模塊根據(jù)輸入的前端數(shù)據(jù)生成校驗(yàn)信息, 并經(jīng)過數(shù)據(jù)選通輸出到數(shù)據(jù)緩沖區(qū)三;數(shù)據(jù)緩沖區(qū)三對(duì)將前端數(shù)據(jù)和校驗(yàn)信息通過硬盤控制接口存儲(chǔ)到硬盤陣列中;在回放數(shù)據(jù)時(shí),數(shù)據(jù)緩沖區(qū)二將硬盤陣列輸出的記錄數(shù)據(jù)進(jìn)行緩沖后輸出到數(shù)據(jù)回放校驗(yàn)?zāi)K;數(shù)據(jù)回放校驗(yàn)?zāi)K在硬盤陣列中無損壞硬盤時(shí),通過數(shù)據(jù)緩沖區(qū)四將記錄數(shù)據(jù)直接輸出;其特征在于所述冗余數(shù)據(jù)生成模塊,按條帶對(duì)前端數(shù)據(jù)進(jìn)行校驗(yàn)處理生成與每個(gè)條帶相對(duì)應(yīng)的校驗(yàn)數(shù)據(jù),并按條帶中數(shù)據(jù)包的順序?qū)⑶岸藬?shù)據(jù)以及生成的校驗(yàn)數(shù)據(jù)分別存儲(chǔ)到硬盤陣列中的數(shù)據(jù)盤和校驗(yàn)盤中;所述數(shù)據(jù)回放校驗(yàn)?zāi)K,在硬盤陣列存在降級(jí)數(shù)據(jù)盤時(shí),按條帶讀取硬盤陣列中工作正常的數(shù)據(jù)盤內(nèi)存儲(chǔ)的數(shù)據(jù)包和校驗(yàn)盤中與條帶對(duì)應(yīng)的校驗(yàn)數(shù)據(jù),通過恢復(fù)處理獲得一個(gè)條帶中降級(jí)數(shù)據(jù)盤內(nèi)存儲(chǔ)的數(shù)據(jù)包,然后按冗余數(shù)據(jù)生成模塊的記錄順序?qū)⒂涗浀臄?shù)據(jù)包輸出;所述恢復(fù)處理與校驗(yàn)處理為相逆處理;所述損壞硬盤重建模塊,在硬盤陣列存在降級(jí)數(shù)據(jù)盤時(shí),按條帶讀取硬盤陣列中正常工作的數(shù)據(jù)盤內(nèi)存儲(chǔ)的數(shù)據(jù)包和校驗(yàn)盤中與條帶對(duì)應(yīng)的校驗(yàn)數(shù)據(jù),通過恢復(fù)處理獲取一個(gè)條帶中降級(jí)盤內(nèi)存儲(chǔ)的數(shù)據(jù)包,并將恢復(fù)出的數(shù)據(jù)包存儲(chǔ)到硬盤陣列新加入的數(shù)據(jù)盤中。
2.如權(quán)利要求1所述的一種基于雙硬盤冗余的硬盤陣列控制器,其特征在于所述冗余數(shù)據(jù)生成模塊通過下式對(duì)前端數(shù)據(jù)進(jìn)行校驗(yàn)處理生成校驗(yàn)數(shù)據(jù)Pk = D(k, 0)十雄’1) Θ D(k, 2)…十 -1)Qk=2°<8> D(k, 0)十 21 D(k, 1)十…十 2"_1 D(k, n-\)其中,Pk和A為根據(jù)第k個(gè)條帶的校驗(yàn)數(shù)據(jù);η為硬盤陣列中的硬盤總數(shù)所述數(shù)據(jù)回放校驗(yàn)?zāi)K或損壞硬盤重建模塊通過下式對(duì)前端數(shù)據(jù)進(jìn)行恢復(fù)處理恢復(fù)降級(jí)數(shù)據(jù)盤中的數(shù)據(jù)
全文摘要
本發(fā)明公開了一種基于雙硬盤冗余的硬盤陣列控制器,包括數(shù)據(jù)緩沖區(qū)一、數(shù)據(jù)緩沖區(qū)二、數(shù)據(jù)緩沖區(qū)三、數(shù)據(jù)緩沖區(qū)四、數(shù)據(jù)回放校驗(yàn)?zāi)K、冗余數(shù)據(jù)生成模塊、損壞硬盤重建模塊、數(shù)據(jù)選通、硬盤控制接口和硬盤陣列。采用本發(fā)明可以在硬盤陣列中任意一塊或兩塊硬盤失效的情況下仍然能夠保持存儲(chǔ)和讀取速率不變,且當(dāng)陣列中有硬盤失效時(shí)仍然能夠?qū)崿F(xiàn)邊記錄邊回放、邊回放邊重建的功能,同時(shí)硬盤陣列安全性得到極大提升。
文檔編號(hào)G06F11/16GK102567147SQ20111046098
公開日2012年7月11日 申請(qǐng)日期2011年12月29日 優(yōu)先權(quán)日2011年12月29日
發(fā)明者余衛(wèi)國, 楊先博, 蘇麗 申請(qǐng)人:北京遙測(cè)技術(shù)研究所