[發(fā)明專利]一種基于N-Code的RAID6磁盤(pán)陣列擴(kuò)容方法及數(shù)據(jù)填充方法有效
| 申請(qǐng)?zhí)枺?/td> | 202110288850.6 | 申請(qǐng)日: | 2021-03-18 |
| 公開(kāi)(公告)號(hào): | CN112799604B | 公開(kāi)(公告)日: | 2022-06-17 |
| 發(fā)明(設(shè)計(jì))人: | 劉靖宇;李蕭言;牛秋霞;李浩鵬;顏鈺瑩;曹興旺;武優(yōu)西 | 申請(qǐng)(專利權(quán))人: | 河北工業(yè)大學(xué) |
| 主分類號(hào): | G06F3/06 | 分類號(hào): | G06F3/06 |
| 代理公司: | 天津翰林知識(shí)產(chǎn)權(quán)代理事務(wù)所(普通合伙) 12210 | 代理人: | 王瑞 |
| 地址: | 300130 天津市紅橋區(qū)*** | 國(guó)省代碼: | 天津;12 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 code raid6 磁盤(pán)陣列 擴(kuò)容 方法 數(shù)據(jù) 填充 | ||
1.一種基于N-Code的RAID6磁盤(pán)陣列擴(kuò)容方法,其特征在于,該擴(kuò)容方法包括以下步驟:
第一步、在磁盤(pán)陣列中添加新磁盤(pán):
基于N-Code的RAID6磁盤(pán)陣列中,每個(gè)磁盤(pán)分成C個(gè)大小相同的塊,具有相同塊號(hào)的塊組成一個(gè)條帶,若干個(gè)條帶組成一個(gè)編碼陣列;N-Code的編碼陣列滿足(pk-1)×(pk+1)的布局,其中pk為磁盤(pán)陣列第k次擴(kuò)容時(shí)的參數(shù),k為正整數(shù),pk為大于3的質(zhì)數(shù),pk-1為條帶數(shù)量,pk+1為磁盤(pán)數(shù)量;一個(gè)編碼陣列中共有(pk-1)×(pk+1)個(gè)塊,RAID6磁盤(pán)陣列有(pk-1)2個(gè)數(shù)據(jù)塊和2×(pk-1)個(gè)校驗(yàn)塊;校驗(yàn)塊分為對(duì)角校驗(yàn)塊和水平校驗(yàn)塊;
增加的新磁盤(pán)數(shù)n=pk-pk-1;舊磁盤(pán)陣列中共有m個(gè)磁盤(pán),m=pk+1,舊磁盤(pán)的磁盤(pán)號(hào)為di(0≤i≤m-1);將新磁盤(pán)插入舊磁盤(pán)陣列的中間位置處,則第j(0≤j≤n-1)塊新磁盤(pán)的磁盤(pán)號(hào)dj=(pk-1+1)/2+j;
新磁盤(pán)添加后,根據(jù)式(1)將舊磁盤(pán)的磁盤(pán)號(hào)di調(diào)整為di’,得到新磁盤(pán)陣列;
第二步、調(diào)整編碼陣列;
檢測(cè)并記錄新磁盤(pán)陣列中每個(gè)磁盤(pán)的空白塊數(shù)量Bi并存儲(chǔ)在數(shù)組中,遍歷數(shù)組,找到新磁盤(pán)陣列中空白塊數(shù)量最少的磁盤(pán)dmin,磁盤(pán)dmin的空白塊數(shù)記為Bmin;
采用式(2)計(jì)算擴(kuò)容閾值CT;若每個(gè)磁盤(pán)的空白塊數(shù)均超過(guò)CT,則說(shuō)明新磁盤(pán)陣列有超過(guò)CT條空白條帶;
式(2)中,C為單個(gè)磁盤(pán)中的塊總數(shù);Sad為添加新磁盤(pán)后每個(gè)編碼陣列增加的條帶數(shù);Sk為添加新磁盤(pán)后每個(gè)編碼陣列的條帶總數(shù);
情況一、當(dāng)0≤Bmin≤CT時(shí),調(diào)整編碼陣列的具體步驟如下:
步驟1、編碼陣列標(biāo)準(zhǔn)化:將新磁盤(pán)陣列的一個(gè)操作單位的最后(L/Sk-1)-(L/Sk)個(gè)條帶集中的每n個(gè)條帶分為一組得到拼接條帶組,這些被分組拼接到其它條帶集中的條帶為拼接條帶;將每個(gè)拼接條帶組分別邏輯拼接到同一個(gè)操作單位的前L/Sk個(gè)條帶集的第(m-2)/2個(gè)條帶之后;
一個(gè)操作單位中包含L個(gè)條帶;添加新磁盤(pán)前一個(gè)操作單位有L/Sk-1個(gè)條帶集,添加新磁盤(pán)后一個(gè)操作單位有L/Sk個(gè)條帶集;L為Sk-1和Sk的最小公倍數(shù);Sk-1表示添加新磁盤(pán)前每個(gè)編碼陣列的條帶總數(shù);
步驟2、數(shù)據(jù)遷移:數(shù)據(jù)遷移分為校驗(yàn)塊遷移和數(shù)據(jù)塊遷移;新磁盤(pán)將添加新磁盤(pán)前的編碼陣列分為左側(cè)遷移區(qū)域和右側(cè)遷移區(qū)域;
對(duì)于校驗(yàn)塊,對(duì)角校驗(yàn)塊在編碼陣列標(biāo)準(zhǔn)化時(shí)已經(jīng)移動(dòng)到相應(yīng)位置,因此不需要遷移;需要遷移的水平校驗(yàn)塊為拼接條帶中的n個(gè)水平校驗(yàn)塊;遷移時(shí),將拼接條帶中的n個(gè)水平校驗(yàn)塊分別水平移動(dòng),使得拼接后的條帶集中的水平校驗(yàn)塊位于同一對(duì)角線上;在同一校驗(yàn)鏈中遷移不需要重新計(jì)算校驗(yàn)值,塊號(hào)不變,只改變磁盤(pán)號(hào);
對(duì)于數(shù)據(jù)塊,需要遷移的數(shù)據(jù)塊為左側(cè)遷移區(qū)域和右側(cè)遷移區(qū)域中邊長(zhǎng)為min=MIN[n,(m-2)/2]的等腰三角形區(qū)域中的數(shù)據(jù)塊;遷移時(shí),數(shù)據(jù)遷移按照水平遷移規(guī)則和數(shù)據(jù)遷移量最小規(guī)則,將被選擇的遷移數(shù)據(jù)塊向新磁盤(pán)方向水平移動(dòng)n個(gè)磁盤(pán),塊號(hào)不變,僅改變磁盤(pán)號(hào);
所述水平遷移規(guī)則是:數(shù)據(jù)遷移始終保持在同一行中進(jìn)行;所述數(shù)據(jù)遷移量最小規(guī)則是:盡可能多地將遷移的數(shù)據(jù)塊移動(dòng)到原對(duì)角校驗(yàn)鏈中,并保證數(shù)據(jù)只從舊磁盤(pán)移動(dòng)到新磁盤(pán),使得一個(gè)條帶集中維持2×min條原校驗(yàn)鏈;
步驟3、負(fù)載均衡:先從左側(cè)遷移區(qū)域和右側(cè)遷移區(qū)域分別選擇n/2條對(duì)角校驗(yàn)鏈作為犧牲對(duì)角校驗(yàn)鏈;再按照磁盤(pán)號(hào)的順序依次為犧牲對(duì)角校驗(yàn)鏈中的數(shù)據(jù)塊尋找寫(xiě)入位置,使數(shù)據(jù)塊當(dāng)前所在的磁盤(pán)號(hào)與目標(biāo)磁盤(pán)的距離最小,進(jìn)而實(shí)現(xiàn)負(fù)載均衡;距離通過(guò)取余函數(shù)計(jì)算得到;
犧牲對(duì)角校驗(yàn)鏈的選取原則是:按照各個(gè)對(duì)角校驗(yàn)鏈中包含的空白塊的數(shù)量,將所有對(duì)角校驗(yàn)鏈從多至少順序排列,并從包含最多空白塊的對(duì)角校驗(yàn)鏈開(kāi)始選擇,直至達(dá)到需要的對(duì)角校驗(yàn)鏈條數(shù);
情況二、當(dāng)CT<Bmin≤C時(shí),調(diào)整編碼陣列的具體步驟如下:
步驟1、編碼陣列標(biāo)準(zhǔn)化:條帶拼接時(shí),從dmin中的第一個(gè)空白塊所在的條帶開(kāi)始,將新磁盤(pán)陣列中每n條空白條帶分為一組,邏輯拼接到前面每個(gè)條帶集的第(m-2)/2個(gè)條帶之后;
步驟2、數(shù)據(jù)遷移:新磁盤(pán)將添加新磁盤(pán)前的編碼陣列分為左側(cè)遷移區(qū)域和右側(cè)遷移區(qū)域,需要遷移的數(shù)據(jù)塊為左側(cè)遷移區(qū)域和右側(cè)遷移區(qū)域中邊長(zhǎng)為(m-2)/2的等腰三角形區(qū)域中的數(shù)據(jù)塊;
遷移時(shí),將左側(cè)遷移區(qū)域和右側(cè)遷移區(qū)域中的數(shù)據(jù)塊向新磁盤(pán)方向水平移動(dòng)n個(gè)磁盤(pán),即塊號(hào)不變,只改變磁盤(pán)號(hào);數(shù)據(jù)遷移之后水平校驗(yàn)鏈和對(duì)角校驗(yàn)鏈都保持原鏈。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于河北工業(yè)大學(xué),未經(jīng)河北工業(yè)大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110288850.6/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F3-00 用于將所要處理的數(shù)據(jù)轉(zhuǎn)變成為計(jì)算機(jī)能夠處理的形式的輸入裝置;用于將數(shù)據(jù)從處理機(jī)傳送到輸出設(shè)備的輸出裝置,例如,接口裝置
G06F3-01 .用于用戶和計(jì)算機(jī)之間交互的輸入裝置或輸入和輸出組合裝置
G06F3-05 .在規(guī)定的時(shí)間間隔上,利用模擬量取樣的數(shù)字輸入
G06F3-06 .來(lái)自記錄載體的數(shù)字輸入,或者到記錄載體上去的數(shù)字輸出
G06F3-09 .到打字機(jī)上去的數(shù)字輸出
G06F3-12 .到打印裝置上去的數(shù)字輸出
- 一種定位編碼圖像標(biāo)識(shí)的方法
- 交換處理編碼的位片到字節(jié)的轉(zhuǎn)換裝置及其方法
- 一種識(shí)別網(wǎng)絡(luò)中設(shè)備的方法和裝置
- 一種借助無(wú)線報(bào)文長(zhǎng)度進(jìn)行數(shù)據(jù)交換的方法
- 一種自動(dòng)獲取Code碼在線校驗(yàn)的方法及系統(tǒng)
- 一種基于平面圖形編碼技術(shù)的核電廠操作規(guī)程設(shè)計(jì)方法
- 用于向細(xì)胞外囊泡裝載化學(xué)和生物試劑/分子的組合物和方法
- 卡券管理方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 自動(dòng)識(shí)別試紙CODE碼的方法
- 系統(tǒng)崩潰狀態(tài)下網(wǎng)址恢復(fù)的方法和裝置
- 一種RAID6磁盤(pán)陣列寫(xiě)性能的優(yōu)化方法
- 一種固態(tài)盤(pán)陣列的重建方法
- 一種維護(hù)主從式雙控軟Raid6一致性的方法及系統(tǒng)
- 一種雙層冗余存儲(chǔ)系統(tǒng)及其數(shù)據(jù)寫(xiě)入、讀取及恢復(fù)方法
- 磁盤(pán)陣列的掛載方法、Android設(shè)備和存儲(chǔ)介質(zhì)
- RAID管理方法、裝置及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 基于飛騰平臺(tái)的RAID6數(shù)據(jù)恢復(fù)優(yōu)化方法
- 一種raid6缺失磁盤(pán)后的數(shù)據(jù)恢復(fù)方法
- 一種邏輯卷管理中raid6缺失磁盤(pán)的數(shù)據(jù)恢復(fù)方法
- 一種基于N-Code的RAID6磁盤(pán)陣列擴(kuò)容方法及數(shù)據(jù)填充方法
- 磁盤(pán)陣列在線容量擴(kuò)展方法
- 取得磁盤(pán)陣列信息的方法及系統(tǒng)
- 磁盤(pán)陣列處理方法
- 磁盤(pán)陣列設(shè)定方法
- 磁盤(pán)陣列卡以及具有擴(kuò)充功能的磁盤(pán)陣列系統(tǒng)
- 磁盤(pán)陣列的掛載方法、Android設(shè)備和存儲(chǔ)介質(zhì)
- 磁盤(pán)陣列的掛載方法、Android設(shè)備和存儲(chǔ)介質(zhì)
- 磁盤(pán)陣列的掛載方法、Android設(shè)備和存儲(chǔ)介質(zhì)
- 磁盤(pán)陣列的掛載方法、Android設(shè)備和存儲(chǔ)介質(zhì)
- 磁盤(pán)陣列配置管理方法、裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)





