本發(fā)明專(zhuān)利技術(shù)公開(kāi)了一種
【技術(shù)實(shí)現(xiàn)步驟摘要】
一種FPGA實(shí)現(xiàn)的raid6方法
[0001]本專(zhuān)利技術(shù)屬于獨(dú)立磁盤(pán)冗余陣列領(lǐng)域,具體涉及一種
FPGA
實(shí)現(xiàn)的
raid6
方法
。
技術(shù)介紹
[0002]RAID6
是獨(dú)立磁盤(pán)冗余陣列
(RAID)
的一種等級(jí),擁有兩塊冗余校驗(yàn)盤(pán),使用雙重校驗(yàn),能夠容忍兩個(gè)陣列中磁盤(pán)損壞,可靠性較高,
RAID6
盤(pán)陣結(jié)構(gòu)如圖
1。
其中
A1、A2、B1、B2、C1、C2、D1、D2
均為數(shù)據(jù)塊,
P
為異或運(yùn)算得出的異或校驗(yàn)快,
Q
為使用基于伽羅瓦域的里德
?
所羅門(mén)編碼得出的里德
?
所羅門(mén)編解碼校驗(yàn)塊
。
解碼時(shí),若只有一塊物理盤(pán)損壞,物理盤(pán)上的數(shù)據(jù)信息可通過(guò)異或校驗(yàn)塊與其他數(shù)據(jù)塊使用異或運(yùn)算得出或通過(guò)里德
?
所羅門(mén)編解碼校驗(yàn)塊與其他數(shù)據(jù)塊進(jìn)行里德
?
所羅門(mén)解碼運(yùn)算得出
。
若有兩塊物理盤(pán)損壞,則需要使用二元一次多項(xiàng)式的思想,進(jìn)行異或解碼與里德
?
所羅門(mén)解碼運(yùn)算之間的等式聯(lián)立計(jì)算得出,該計(jì)算過(guò)程復(fù)雜,也是造成能夠?qū)崿F(xiàn)
RAID6
算法的軟件運(yùn)算時(shí)間長(zhǎng)磁盤(pán)讀寫(xiě)效率低和
RAID6
專(zhuān)用硬件控制器成本高的重要因素
。
[0003]現(xiàn)有技術(shù)中
RAID6
方案存在以下問(wèn)題:由于使用軟件作為
RAID6
控制器,軟件計(jì)算性能取決于
CPU
運(yùn)算性能,而
CPU
運(yùn)算能力有限導(dǎo)致
RAID6
算法運(yùn)算較慢,性能較差,同時(shí)軟件作為
RAID6
控制器時(shí),物理盤(pán)的寫(xiě)入為串行寫(xiě)入,速度較慢;使用專(zhuān)用硬件做
RAID6
控制器雖然能夠提升性能,但造價(jià)過(guò)高成本昂貴;部分
RAID6
方案除了兩個(gè)冗余盤(pán)以外還需要兩個(gè)空盤(pán)用以存放恢復(fù)數(shù)據(jù),性?xún)r(jià)比低;數(shù)據(jù)恢復(fù)運(yùn)算復(fù)雜,導(dǎo)致
RAID6
讀性能極低;僅使用
FPGA
進(jìn)行
RAID6
算法加速,而不是由
FPGA
全權(quán)實(shí)現(xiàn)的方式,因?yàn)榇罅啃r?yàn)數(shù)據(jù)在元器件之間搬運(yùn),功耗大,性?xún)r(jià)比低,且大量的數(shù)據(jù)傳輸過(guò)程會(huì)使系統(tǒng)整體性能下降
。
技術(shù)實(shí)現(xiàn)思路
[0004]本專(zhuān)利技術(shù)的目的在于針對(duì)解決
技術(shù)介紹
中提出的問(wèn)題,提出一種
FPGA
實(shí)現(xiàn)的
raid6
方法
。
[0005]為實(shí)現(xiàn)上述目的,本專(zhuān)利技術(shù)所采取的技術(shù)方案為:
[0006]本專(zhuān)利技術(shù)提出的一種
FPGA
實(shí)現(xiàn)的
raid6
方法,包括編碼模塊
、
第一緩存
、
負(fù)載均衡模塊
、
解碼模塊
、
重排模塊
、
選擇模塊
、
第二緩存和若干個(gè)盤(pán)控模塊,以及與各盤(pán)控模塊一一對(duì)應(yīng)的物理盤(pán),
FPGA
實(shí)現(xiàn)的
raid6
方法,包括:
[0007]數(shù)據(jù)寫(xiě)入至各物理盤(pán)時(shí),用戶(hù)數(shù)據(jù)輸入至編碼模塊中分別進(jìn)行異或運(yùn)算和伽羅瓦域乘法運(yùn)算得到校驗(yàn)數(shù)據(jù),且用戶(hù)數(shù)據(jù)作為有效數(shù)據(jù),并且編碼模塊將有效數(shù)據(jù)和校驗(yàn)數(shù)據(jù)存儲(chǔ)至第一緩存中;
[0008]負(fù)載均衡模塊從第一緩存中讀取各數(shù)據(jù)并對(duì)應(yīng)轉(zhuǎn)換成數(shù)據(jù)塊和校驗(yàn)塊,并將數(shù)據(jù)塊和檢驗(yàn)塊分配至盤(pán)控模塊;
[0009]各盤(pán)控模塊將數(shù)據(jù)塊和校驗(yàn)塊寫(xiě)入至對(duì)應(yīng)的物理盤(pán)中;
[0010]從各物理盤(pán)中讀取數(shù)據(jù)時(shí),各盤(pán)控模塊從對(duì)應(yīng)物理盤(pán)上讀取數(shù)據(jù)塊和校驗(yàn)塊并發(fā)送至重排模塊,選擇模塊根據(jù)各物理盤(pán)是否損壞,選擇是否在解碼模塊中進(jìn)行數(shù)據(jù)恢復(fù);
[0011]重排模塊將數(shù)據(jù)塊和校驗(yàn)塊轉(zhuǎn)換成對(duì)應(yīng)的有效數(shù)據(jù)和校驗(yàn)數(shù)據(jù),并將各有效數(shù)據(jù)和校驗(yàn)數(shù)據(jù)分別進(jìn)行排列,然后存儲(chǔ)至第二緩存中;
[0012]解碼模塊從第二緩存中讀取數(shù)據(jù)并根據(jù)選擇模塊的選擇對(duì)數(shù)據(jù)進(jìn)行處理,最后將有效數(shù)據(jù)傳輸給用戶(hù)
。
[0013]優(yōu)選地,編碼模塊包括數(shù)據(jù)位寬拆分單元
、
用于進(jìn)行異或運(yùn)算的第一異或運(yùn)算模塊和用于進(jìn)行伽羅瓦域乘法運(yùn)算的第一伽羅瓦域運(yùn)算模塊,數(shù)據(jù)位寬拆分單元將用戶(hù)數(shù)據(jù)拆分成若干個(gè)滿足進(jìn)行異或運(yùn)算或伽羅瓦域乘法運(yùn)算的數(shù)據(jù)寬度
。
[0014]優(yōu)選地,解碼模塊包括用于進(jìn)行數(shù)據(jù)恢復(fù)的數(shù)據(jù)恢復(fù)運(yùn)算單元,數(shù)據(jù)恢復(fù)單元包括用于進(jìn)行異或運(yùn)算的第二異或運(yùn)算模塊和用于進(jìn)行伽羅瓦域運(yùn)算的第二伽羅瓦域運(yùn)算模塊
。
[0015]優(yōu)選地,解碼模塊還包括數(shù)據(jù)位寬整合單元,數(shù)據(jù)位寬整合單元將各有效數(shù)據(jù)拼接成數(shù)據(jù)流發(fā)送至用戶(hù)
。
[0016]優(yōu)選地,選擇模塊根據(jù)各物理盤(pán)是否損壞,選擇是否在解碼模塊中進(jìn)行數(shù)據(jù)恢復(fù),包括:
[0017]對(duì)于有物理盤(pán)損壞時(shí),選擇模塊使得數(shù)據(jù)通過(guò)數(shù)據(jù)恢復(fù)單元對(duì)損壞物理盤(pán)上的數(shù)據(jù)進(jìn)行恢復(fù),然后再通過(guò)數(shù)據(jù)位寬整合單元進(jìn)行拼接;
[0018]對(duì)于沒(méi)有物理盤(pán)損壞時(shí),選擇模塊使得數(shù)據(jù)在經(jīng)過(guò)解碼模塊時(shí),跳過(guò)數(shù)據(jù)恢復(fù)單元,直接經(jīng)過(guò)數(shù)據(jù)位寬整合單元進(jìn)行拼接
。
[0019]優(yōu)選地,各物理盤(pán)上均有校驗(yàn)塊和數(shù)據(jù)塊
。
[0020]與現(xiàn)有技術(shù)相比,本專(zhuān)利技術(shù)的有益效果為:
[0021]1、
本
FPGA
實(shí)現(xiàn)的
raid6
方法通過(guò)
FPGA
模塊的各盤(pán)控模塊一一對(duì)應(yīng)連接物理盤(pán),實(shí)現(xiàn)
FPGA
模塊掛載物理盤(pán),且多物理盤(pán)并行讀寫(xiě),提升
RAID6
陣列整體讀寫(xiě)速度,同時(shí)在
FPGA
模塊將
RAID6
算法運(yùn)算完畢后,直接落盤(pán)即可,減少軟硬件交互從而提升速度,有利于提高系統(tǒng)整體性能
、
降低功耗,不需要額外專(zhuān)用硬件,節(jié)約成本,使用
FPGA
模塊進(jìn)行并行運(yùn)算加速編解碼過(guò)程,解決了
RAID6
讀性能極低的問(wèn)題;
[0022]2、
在恢復(fù)數(shù)據(jù)的過(guò)程中不需要額外空白磁盤(pán)資源,通過(guò)
FPGA
模塊掛載物理盤(pán),使
RAID6
組織形式僅
FPGA
端可見(jiàn),允許軟件或用戶(hù)不需要關(guān)心數(shù)據(jù)的具體組織方式,減少上層軟件與盤(pán)之間的耦合;
[0023]3、
本
FPGA
實(shí)現(xiàn)的
raid6
方法中異或運(yùn)算部分同樣可用于
raid5、raid3
算法實(shí)現(xiàn),在實(shí)際使用中,可以根據(jù)需求靈活降級(jí)使用,相比專(zhuān)用硬件實(shí)現(xiàn)有更高的靈活性
。
附圖說(shuō)明
[0024]圖1為本專(zhuān)利技術(shù)現(xiàn)有技術(shù)中示意圖;
[0025]圖2為本專(zhuān)利技術(shù)
FPGA
實(shí)現(xiàn)的
raid6...
【技術(shù)保護(hù)點(diǎn)】
【技術(shù)特征摘要】
1.
一種
FPGA
實(shí)現(xiàn)的
raid6
方法,基于
FPGA
模塊實(shí)現(xiàn),其特征在于:所述
FPGA
模塊包括編碼模塊
、
第一緩存
、
負(fù)載均衡模塊
、
解碼模塊
、
重排模塊
、
選擇模塊
、
第二緩存和若干個(gè)盤(pán)控模塊,以及與各所述盤(pán)控模塊一一對(duì)應(yīng)的物理盤(pán),所述
FPGA
實(shí)現(xiàn)的
raid6
方法,包括:數(shù)據(jù)寫(xiě)入至各物理盤(pán)時(shí),用戶(hù)數(shù)據(jù)輸入至編碼模塊中分別進(jìn)行異或運(yùn)算和伽羅瓦域乘法運(yùn)算得到校驗(yàn)數(shù)據(jù),且用戶(hù)數(shù)據(jù)作為有效數(shù)據(jù),并且編碼模塊將有效數(shù)據(jù)和校驗(yàn)數(shù)據(jù)存儲(chǔ)至第一緩存中;所述負(fù)載均衡模塊從第一緩存中讀取各數(shù)據(jù)并對(duì)應(yīng)轉(zhuǎn)換成數(shù)據(jù)塊和校驗(yàn)塊,并將數(shù)據(jù)塊和檢驗(yàn)塊分配至盤(pán)控模塊;各所述盤(pán)控模塊將數(shù)據(jù)塊和校驗(yàn)塊寫(xiě)入至對(duì)應(yīng)的物理盤(pán)中;從各物理盤(pán)中讀取數(shù)據(jù)時(shí),各盤(pán)控模塊從對(duì)應(yīng)物理盤(pán)上讀取數(shù)據(jù)塊和校驗(yàn)塊并發(fā)送至重排模塊,所述選擇模塊根據(jù)各物理盤(pán)是否損壞,選擇是否在解碼模塊中進(jìn)行數(shù)據(jù)恢復(fù);所述重排模塊將數(shù)據(jù)塊和校驗(yàn)塊轉(zhuǎn)換成對(duì)應(yīng)的有效數(shù)據(jù)和校驗(yàn)數(shù)據(jù),并將各有效數(shù)據(jù)和校驗(yàn)數(shù)據(jù)分別進(jìn)行排列,然后存儲(chǔ)至第二緩存中;所述解碼模塊從第二緩存中讀取數(shù)據(jù)并根據(jù)選擇模塊的選擇對(duì)數(shù)據(jù)進(jìn)行處理,最后將有效數(shù)據(jù)傳輸給用戶(hù)
。2.
如權(quán)利要求1所述的
FPGA
實(shí)現(xiàn)的
raid6
方法,其特征...
【專(zhuān)利技術(shù)屬性】
技術(shù)研發(fā)人員:徐佳玥,
申請(qǐng)(專(zhuān)利權(quán))人:中國(guó)電子科技集團(tuán)公司第五十二研究所,
類(lèi)型:發(fā)明
國(guó)別省市:
還沒(méi)有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。