国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種raid5級(jí)別磁盤陣列的寫性能優(yōu)化方法

      文檔序號(hào):6423432閱讀:320來源:國(guó)知局
      專利名稱:一種raid5級(jí)別磁盤陣列的寫性能優(yōu)化方法
      技術(shù)領(lǐng)域
      本發(fā)明屬 于計(jì)算機(jī)數(shù)據(jù)存儲(chǔ)領(lǐng)域,具體涉及一種具有連續(xù)數(shù)據(jù)保護(hù)功能的RAID5 級(jí)別磁盤陣列的寫性能優(yōu)化方法。
      背景技術(shù)
      隨著計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)通信技術(shù)的發(fā)展,信息化程度越來越高,人們對(duì)數(shù)據(jù)可靠性和關(guān)鍵數(shù)據(jù)保護(hù)的要求也越來越高。磁盤陣列RAID (Redundant Array of Independent Disks)是可靠存儲(chǔ)系統(tǒng)領(lǐng)域中的一個(gè)典型裝置,磁盤陣列的工作原理與特征RAID的基本結(jié)構(gòu)特征就是組合(Striping),捆綁2個(gè)或多個(gè)物理磁盤成組,形成一個(gè)單獨(dú)的邏輯盤。連續(xù)數(shù)據(jù)保護(hù)CDPKontinuous Data Protection)是傳統(tǒng)數(shù)據(jù)保護(hù)領(lǐng)域的一個(gè)重大突破,系統(tǒng)記錄每次數(shù)據(jù)更新請(qǐng)求的相關(guān)信息,在災(zāi)難發(fā)生后可恢復(fù)到任意的數(shù)據(jù)備份時(shí)間點(diǎn)。RAID結(jié)構(gòu)已經(jīng)被劃分為幾個(gè)標(biāo)準(zhǔn),其中RAID5級(jí)別是無獨(dú)立校驗(yàn)盤的奇偶校驗(yàn)磁盤陣列,采用奇偶校驗(yàn)來檢查錯(cuò)誤,校驗(yàn)信息分布在各個(gè)磁盤驅(qū)動(dòng)器上,可以恢復(fù)任意單磁盤出錯(cuò)。RAID5磁盤陣列處理寫請(qǐng)求時(shí)都要更新校驗(yàn)信息,通常采用有讀改寫(read modifywrite)或重構(gòu)寫(reconstruct write)方式處理。讀改寫方式是先讀出寫請(qǐng)求將覆蓋的磁盤扇區(qū)內(nèi)容,再計(jì)算校驗(yàn)信息,最后更新寫請(qǐng)求數(shù)據(jù)塊和校驗(yàn)信息到磁盤;重構(gòu)寫方式是先讀出條帶中除校驗(yàn)磁盤外沒有被寫請(qǐng)求覆蓋的磁盤內(nèi)容,再與寫請(qǐng)求數(shù)據(jù)塊計(jì)算校驗(yàn),最后更新寫請(qǐng)求數(shù)據(jù)塊和校驗(yàn)信息到磁盤。目前具有連續(xù)數(shù)據(jù)保護(hù)功能的磁盤陣列往往沒有充分發(fā)揮磁盤陣列讀寫性能,美國(guó)發(fā)明專利US7730347B1提出的具有連續(xù)數(shù)據(jù)保護(hù)功能的磁盤陣列方案巧妙的將磁盤陣列寫過程中產(chǎn)生的異或值壓縮存儲(chǔ)到備份盤,但其并沒有充分利用磁盤陣列校驗(yàn)信息與連續(xù)數(shù)據(jù)保護(hù)所產(chǎn)生數(shù)據(jù)之間的關(guān)系,陣列的寫性能也有一定的降低。

      發(fā)明內(nèi)容
      本發(fā)明提出一種RAID5級(jí)別磁盤陣列的寫性能優(yōu)化方法,同時(shí)兼具連續(xù)數(shù)據(jù)保護(hù)功能,采用一種陣列與備份盤結(jié)合的架構(gòu),通過暫停校驗(yàn)位更新,使得RAID5的寫性能得到提升尤其是在負(fù)載很大的時(shí)候作用更加明顯,解決現(xiàn)有的RAID5級(jí)別磁盤陣列在負(fù)載較大時(shí)寫性能不好的問題。本發(fā)明的一種具有連續(xù)數(shù)據(jù)保護(hù)功能的RAID5級(jí)別磁盤陣列的寫性能優(yōu)化方法, 包括存儲(chǔ)系統(tǒng)構(gòu)建、數(shù)據(jù)讀寫和磁盤失效后的數(shù)據(jù)恢復(fù)這三個(gè)具體步驟,其特征如下(1)存儲(chǔ)系統(tǒng)構(gòu)建首先,在RAID5磁盤陣列結(jié)構(gòu)外加一個(gè)備份盤,以保存RAID5磁盤陣列寫請(qǐng)求數(shù)據(jù)塊與將被寫請(qǐng)求覆蓋的原數(shù)據(jù)塊通過異或計(jì)算的異或數(shù)據(jù)塊。其次,同時(shí)在內(nèi)存中設(shè)置Hash表和備份數(shù)據(jù)緩沖區(qū),其中,備份數(shù)據(jù)緩沖區(qū)存放異或數(shù)據(jù)塊,Hash表用于記錄寫請(qǐng)求數(shù)據(jù)塊對(duì)應(yīng)的磁盤號(hào)、扇區(qū)號(hào)、請(qǐng)求時(shí)間以及異或數(shù)據(jù)塊在備份數(shù)據(jù)緩沖區(qū)或備份盤中的索引信息。
      一般情況下系統(tǒng)清空備份盤數(shù)據(jù)時(shí)應(yīng)先恢復(fù)RAID5磁盤陣列校驗(yàn)信息到一致狀態(tài),同樣,使用本發(fā)明方法前應(yīng)確保RAID5磁盤陣列校驗(yàn)信息為一致狀態(tài)。對(duì)備份盤的寫操作采取順序追加的方式,寫往備份盤的數(shù)據(jù)先累積在備份數(shù)據(jù)緩沖區(qū)中,待緩沖區(qū)填滿之后再一次性寫到備份盤上。該存儲(chǔ)系統(tǒng)中RAID5磁盤陣列固定采用讀改寫方式而非重構(gòu)寫方式處理寫請(qǐng)求。(2)數(shù)據(jù)讀寫系統(tǒng)處理讀請(qǐng)求的流程一般RAID5磁盤陣列相同,處理寫請(qǐng)求時(shí)并不需要讀取校驗(yàn)塊、計(jì)算校驗(yàn)信息和更新校驗(yàn)塊,其主要步驟如下(2. 1)將上層發(fā)下來的寫請(qǐng)求按照陣列結(jié)構(gòu)進(jìn)行分解,將針對(duì)各磁盤相同扇區(qū)的寫請(qǐng)求用條帶s組織起來,假設(shè)條帶對(duì)應(yīng)的扇區(qū)號(hào)為C(S);(2.2)記錄當(dāng)前時(shí)間為T(m),m為系統(tǒng)內(nèi)部時(shí)間。采用讀改寫方式,讀出寫請(qǐng)求數(shù)據(jù)塊 (m+1)將覆蓋磁盤位置的原數(shù)據(jù)塊 (m)放入條帶緩沖區(qū);(2. 3)判斷備份緩沖區(qū)是否滿,如果緩沖區(qū)滿,轉(zhuǎn)步驟(2. 4),否則轉(zhuǎn)步驟(2. 5);(2. 4)將備份緩沖區(qū)中的數(shù)據(jù)順序?qū)懙絺浞荼P上,更新Hash表中對(duì)應(yīng)數(shù)據(jù)塊條目的位置信息L為備份盤中該數(shù)據(jù)塊的存放位置;(2.5)計(jì)算寫請(qǐng)求數(shù)據(jù)塊 (m+1)與條帶緩沖區(qū)中原數(shù)據(jù)塊 (m)的異或數(shù)據(jù)塊 Ρτ(ηι+1),艮口Ρτ(ηι+1)—Βτ(ηι+1) Θ&ω。添加異或數(shù)據(jù)塊到備份數(shù)據(jù)緩沖區(qū)中;(2. 6)假設(shè)請(qǐng)求數(shù)據(jù)塊的磁盤號(hào)為D (i),i為陣列內(nèi)部磁盤序號(hào),創(chuàng)建一個(gè)Hash表?xiàng)l目,記錄數(shù)據(jù)塊的磁盤號(hào)D (i)、扇區(qū)號(hào)C (s)、請(qǐng)求時(shí)間T (m)以及異或塊PT(m+1)在備份緩沖區(qū)中的位置L(PT(m+1)),將條目插入到Hash表中;(2. 7)將寫請(qǐng)求數(shù)據(jù)塊填充到條帶緩沖區(qū),由條帶下發(fā)到各磁盤。在條帶中各磁盤寫操作完成之后,該次寫操作即成功返回。(3)磁盤失效后的數(shù)據(jù)恢復(fù)陣列發(fā)生磁盤失效的數(shù)據(jù)恢復(fù)需要借助備份盤,將備份緩沖區(qū)中數(shù)據(jù)更新到備份盤,以RAID5磁盤陣列中條帶為單位,逐條帶恢復(fù)整個(gè)失效磁盤,其單條帶處理流程如下(3. 1)讀取磁盤數(shù)據(jù)塊到條帶s的磁盤緩沖區(qū),置條帶中失效盤緩沖區(qū)為零。假設(shè)失效磁盤為D (r),條帶處理的磁盤扇區(qū)號(hào)為C(S),條帶s的磁盤緩沖區(qū)中數(shù)據(jù)塊分別為 BT(m+k(1)) (D (1))、BT(m+k(2)) (D ⑵)、···、 (_( )) (D (η)), η 為陣列內(nèi)部磁盤總數(shù),k ⑴為磁盤 i 從時(shí)間m到當(dāng)前被寫請(qǐng)求覆蓋的次數(shù),其中(D(r)) =0;(3. 2)設(shè)臨時(shí)變量j,并賦值為1 ;(3. 3)如果j大于n,轉(zhuǎn)步驟(3. 7),否則轉(zhuǎn)步驟(3. 4);(3.4)查找Hash表中扇區(qū)號(hào)為C (s),磁盤號(hào)為D (j)的條目,根據(jù)條目中數(shù)據(jù)塊的位置信息L,從備份盤中讀取異或數(shù)據(jù)塊PT(m+1) (D(j))、PT(m+2) (D(j))、->PT(ffl+k(J)) (D(j)),計(jì)算所有塊的異或值PD(j)=PT(m+1) (D(j)) ΘΡτ(ω+2) (D(j)) Θ …ΘΡτ(ω+_ (D(j)),若無對(duì)應(yīng)條目,PD(J) =0;(3. 5)將條帶中磁盤D(j)緩沖區(qū)數(shù)據(jù)塊 (m+k(j)) (D(j))與PD(j)異或,即 Rd (j) =Βτ (m+k O)) ①⑶丨④卩!^,更新‘)到條帶中磁盤D (j)緩沖區(qū);(3. 6)臨時(shí)變量j增1,轉(zhuǎn)步驟(3. 3);(3. 7)磁盤緩沖區(qū)均完成更新,同步條帶,計(jì)算BDW=RD(1) RD(a …ΘΚω,更新Bdw到條帶失效磁盤緩沖區(qū),由于PT(m+1)=&(m+1) ΘΒτ(ω),且m時(shí)刻RAID5磁盤陣列牌校驗(yàn)一致性狀態(tài),Bdw即為失效盤D (r)最新數(shù)據(jù)塊;(3.8)寫條帶中磁盤D(r)緩沖區(qū)數(shù)據(jù)塊到恢復(fù)盤扇區(qū)C(s),完成條帶s恢復(fù)。本發(fā)明基于一個(gè)普遍存在的現(xiàn)象,即RAID5級(jí)別的磁盤陣列寫性能較差,尤其是小數(shù)據(jù)塊寫請(qǐng)求時(shí)性能更差。本發(fā)明通過利用磁盤陣列與連續(xù)數(shù)據(jù)保護(hù)的冗余信息,采用陣列與備份盤結(jié)合的架構(gòu),包括存儲(chǔ)系統(tǒng)構(gòu)建、數(shù)據(jù)讀寫和磁盤失效后的數(shù)據(jù)恢復(fù)這三個(gè)具體步驟,解決了 RAID5級(jí)別磁盤陣列寫性能不好的問題,同時(shí)兼具連續(xù)數(shù)據(jù)保護(hù)功能,極大提升了 RAID5級(jí)別磁盤陣列小數(shù)據(jù)塊寫請(qǐng)求性能。


      圖1為本發(fā)明系統(tǒng)架構(gòu)示意圖;圖2為本發(fā)明的Hash鏈表結(jié)構(gòu)示意圖;圖3為本發(fā)明的寫請(qǐng)求處理示意圖;圖4為本發(fā)明的恢復(fù)單條帶示意具體實(shí)施例方式下面結(jié)合附圖對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。本發(fā)明的一種RAID5級(jí)別磁盤陣列的寫性能優(yōu)化方法,同時(shí)兼具連續(xù)數(shù)據(jù)保護(hù)功能,包括存儲(chǔ)系統(tǒng)構(gòu)建、數(shù)據(jù)讀寫和磁盤失效后的數(shù)據(jù)恢復(fù)這三個(gè)具體步驟,其特征如下(1)存儲(chǔ)系統(tǒng)構(gòu)建步驟,組成架構(gòu)如國(guó)1所示首先,在RAID5磁盤陣列結(jié)構(gòu)外加一個(gè)備份盤,以保存RAID5磁盤陣列寫請(qǐng)求數(shù)據(jù)塊與將被寫請(qǐng)求覆蓋的原數(shù)據(jù)塊通過異或計(jì)算的異或數(shù)據(jù)塊。其次,同時(shí)在內(nèi)存中設(shè)置Hash表和備份數(shù)據(jù)緩沖區(qū),其中,備份數(shù)據(jù)緩沖區(qū)存放異或數(shù)據(jù)塊,Hash表用于記錄寫請(qǐng)求數(shù)據(jù)塊對(duì)應(yīng)的磁盤號(hào)、扇區(qū)號(hào)、請(qǐng)求時(shí)間以及異或數(shù)據(jù)塊在備份數(shù)據(jù)緩沖區(qū)或備份盤中的索引信息,Hash表具體結(jié)構(gòu)如圖2所示。一般情況下系統(tǒng)清空備份盤數(shù)據(jù)時(shí)應(yīng)先恢復(fù)RAID5磁盤陣列校驗(yàn)信息到一致狀態(tài),同樣,使用本發(fā)明方法前應(yīng)確保RAID5磁盤陣列校驗(yàn)信息為一致狀態(tài)。對(duì)備份盤的寫操作采取順序追加的方式,寫往備份盤的數(shù)據(jù)先累積在備份數(shù)據(jù)緩沖區(qū)中,待緩沖區(qū)填滿之后再一次性寫到備份盤上。該存儲(chǔ)系統(tǒng)中RAID5磁盤陣列固定采用讀改寫方式而非重構(gòu)寫方式處理寫請(qǐng)求。(2)數(shù)據(jù)讀寫系統(tǒng)處理讀請(qǐng)求的流程一般RAID5磁盤陣列相同,處理寫請(qǐng)求時(shí)并不需要讀取校驗(yàn)塊、計(jì)算校驗(yàn)信息和更新校驗(yàn)塊,具體流程如圖3所示,其主要步驟如下(2. 1)將上層發(fā)下來的寫請(qǐng)求按照陣列結(jié)構(gòu)進(jìn)行分解,將針對(duì)各磁盤相同扇區(qū)的寫請(qǐng)求用條帶s組織起來,假設(shè)條帶對(duì)應(yīng)的扇區(qū)號(hào)為C(S);(2.2)記錄當(dāng)前時(shí)間為T(m),m為系統(tǒng)內(nèi)部時(shí)間。采用讀改寫方式,讀出寫請(qǐng)求數(shù)據(jù)塊 (m+1)將覆蓋磁盤位置的原數(shù)據(jù)塊 (m)放入條帶緩沖區(qū);(2. 3)判斷備份緩沖區(qū)是否滿,如果緩沖區(qū)滿,轉(zhuǎn)步驟(2. 4),否則轉(zhuǎn)步驟(2. 5);(2. 4)將備份緩沖區(qū)中的數(shù)據(jù)順序?qū)懙絺浞荼P上,更新Hash表中對(duì)應(yīng)數(shù)據(jù)塊條目的位置信息L為備份盤中該數(shù)據(jù)塊的存放位置;(2.5)計(jì)算寫請(qǐng)求數(shù)據(jù)塊 (m+1)與條帶緩沖區(qū)中原數(shù)據(jù)塊 (m)的異或數(shù)據(jù)塊 Ρτ(ηι+1),艮口Ρτ(ηι+1)—Βτ(ηι+1) Θ&ω。添加異或數(shù)據(jù)塊到備份數(shù)據(jù)緩沖區(qū)中;(2. 6)假設(shè)請(qǐng)求數(shù)據(jù)塊的磁盤號(hào)為D (i),i為陣列內(nèi)部磁盤序號(hào),創(chuàng)建一個(gè)Hash表?xiàng)l目,記錄數(shù)據(jù)塊的磁盤號(hào)D (i)、扇區(qū)號(hào)C (s)、請(qǐng)求時(shí)間T (m)以及異或塊PT(m+1)在備份緩沖區(qū)中的位置L(PT(m+1)),將條目插入到Hash表中;(2. 7)將寫請(qǐng)求數(shù)據(jù)塊填充到條帶緩沖區(qū),由條帶下發(fā)到各磁盤。在條帶中各磁盤寫操作完成之后,該次寫操作即成功返回。(3)磁盤失效后的數(shù)據(jù)恢復(fù)陣列發(fā)生磁盤失效的數(shù)據(jù)恢復(fù)需要借助備份盤,將備份緩沖區(qū)中數(shù)據(jù)更新到備份盤,以RAID5磁盤陣列中條帶為單位,逐條帶恢復(fù)整個(gè)失效磁盤,其單條帶處理流程如圖4 所示,主要處理步驟如下(3. 1)讀取磁盤數(shù)據(jù)塊到條帶s的磁盤緩沖區(qū),置條帶中失效盤緩沖區(qū)為零。假設(shè)失效磁盤為D (r),條帶處理的磁盤扇區(qū)號(hào)為C(S),條帶s的磁盤緩沖區(qū)中數(shù)據(jù)塊分別為 BT(m+k(1)) (D (1))、BT(m+k(2)) (D ⑵)、···、 (_( )) (D (η)), η 為陣列內(nèi)部磁盤總數(shù),k ⑴為磁盤 i 從時(shí)間m到當(dāng)前被寫請(qǐng)求覆蓋的次數(shù),其中(D(r)) =0;(3. 2)設(shè)臨時(shí)變量j,并賦值為1 ;(3. 3)如果j大于n,轉(zhuǎn)步驟(3. 7),否則轉(zhuǎn)步驟(3. 4);(3.4)查找Hash表中扇區(qū)號(hào)為C (s),磁盤號(hào)為D (j)的條目,根據(jù)條目中數(shù)據(jù)塊的位置信息L,從備份盤中讀取異或數(shù)據(jù)塊PT(m+1) (D(j))、PT(m+2) (D(j))、->PT(ffl+k(J)) (D(j)),計(jì)算所有塊的異或值PD(j)=PT(m+1) (D(j)) ΘΡτ(ω+2) (D(j)) Θ …ΘΡτ(ω+_ (D(j)),若無對(duì)應(yīng)條目,PD(J) =0;(3. 5)將條帶中磁盤D(j)緩沖區(qū)數(shù)據(jù)塊 (m+k(j)) (D(j))與PD(j)異或,即 RD(j)=Bl(m+k(j)) ①⑶丨④卩!^,更新‘)到條帶中磁盤D (j)緩沖區(qū);(3. 6)臨時(shí)變量j增1,轉(zhuǎn)步驟(3. 3);(3. 7)磁盤緩沖區(qū)均完成更新,同步條帶,計(jì)算BDW=RD(1) RD(a … RD(n),更新 Bdw到條帶失效磁盤緩沖區(qū),由于PT(m+1)=BT(m+1) ΘΒτ(ω),且m時(shí)刻RAID5磁盤陣列牌校驗(yàn)一致性狀態(tài),Bdw即為失效盤D (r)最新數(shù)據(jù)塊;(3.8)寫條帶中磁盤D(r)緩沖區(qū)數(shù)據(jù)塊到恢復(fù)盤扇區(qū)C(s),完成條帶s恢復(fù)。
      權(quán)利要求
      1. 一種RAID5級(jí)別磁盤陣列的寫性能優(yōu)化方法,具有連續(xù)數(shù)據(jù)保護(hù)功能,其特征在于, 該方法包括如下具體步驟(1)存儲(chǔ)系統(tǒng)構(gòu)建首先,在RAID5磁盤陣列結(jié)構(gòu)外設(shè)置備份盤,以保存RAID5磁盤陣列寫請(qǐng)求數(shù)據(jù)塊與將被寫請(qǐng)求覆蓋的原數(shù)據(jù)塊通過異或計(jì)算得到的異或數(shù)據(jù)塊;其次,同時(shí)在內(nèi)存中設(shè)置Hash表和備份數(shù)據(jù)緩沖區(qū),其中,備份數(shù)據(jù)緩沖區(qū)存放異或數(shù)據(jù)塊,Hash表用于記錄寫請(qǐng)求數(shù)據(jù)塊對(duì)應(yīng)的磁盤號(hào)、扇區(qū)號(hào)、請(qǐng)求時(shí)間以及異或數(shù)據(jù)塊在備份數(shù)據(jù)緩沖區(qū)或備份盤中的索引信息。(2)數(shù)據(jù)讀寫,具體過程如下(2. 1)將寫請(qǐng)求按照陣列結(jié)構(gòu)進(jìn)行分解,將針對(duì)各磁盤相同扇區(qū)的寫請(qǐng)求用條帶s組織起來,設(shè)定條帶s對(duì)應(yīng)的扇區(qū)號(hào)為C(S);(2. 2)記錄當(dāng)前時(shí)間為T(m),m為系統(tǒng)內(nèi)部時(shí)間,讀出寫請(qǐng)求數(shù)據(jù)塊BT(m+1)將覆蓋磁盤位置的原數(shù)據(jù)塊Btw放入條帶緩沖區(qū);(2.3)判斷備份緩沖區(qū)是否滿,如果緩沖區(qū)滿,轉(zhuǎn)步驟(2. 4),否則轉(zhuǎn)步驟(2.5); (2. 4)將備份緩沖區(qū)中的數(shù)據(jù)順序?qū)懙絺浞荼P上,更新Hash表中對(duì)應(yīng)數(shù)據(jù)塊條目的位置信息L為備份盤中該數(shù)據(jù)塊的存放位置;(2. 5)計(jì)算寫請(qǐng)求數(shù)據(jù)塊BT(m+1)與條帶緩沖區(qū)中原數(shù)據(jù)塊Btw的異或數(shù)據(jù)塊PT(m+1),即 Ρτ(ω+ι)=Βτ(ω+1)ΘΒτ(ω),添加該異或數(shù)據(jù)塊到備份數(shù)據(jù)緩沖區(qū)中;(2. 6)假設(shè)請(qǐng)求數(shù)據(jù)塊的磁盤號(hào)為D(i),其中i為陣列內(nèi)部磁盤序號(hào),創(chuàng)建一個(gè)Hash 表?xiàng)l目,記錄該請(qǐng)求數(shù)據(jù)塊的磁盤號(hào)D (i)、扇區(qū)號(hào)C(S)、請(qǐng)求時(shí)間T (m)以及異或塊PT(m+1)在備份緩沖區(qū)中的位置L(PT(m+1)),將條目插入到Hash表中;(2. 7)將寫請(qǐng)求數(shù)據(jù)塊填充到條帶緩沖區(qū),由條帶下發(fā)到各磁盤,在條帶中各磁盤寫操作完成之后,該次寫操作即成功返回。(3)磁盤失效后的數(shù)據(jù)恢復(fù)陣列發(fā)生磁盤失效的數(shù)據(jù)恢復(fù)需要借助備份盤,將備份緩沖區(qū)中數(shù)據(jù)更新到備份盤, 以RAID5磁盤陣列中條帶為單位,逐條帶恢復(fù)整個(gè)失效磁盤,其中任一單條帶s的處理流程如下(3. 1)讀取磁盤數(shù)據(jù)塊到條帶s的磁盤緩沖區(qū),置條帶中失效盤緩沖區(qū)為零,假設(shè)失效磁盤為D(r),條帶處理的磁盤扇區(qū)號(hào)為C(S),條帶s的磁盤緩沖區(qū)中數(shù)據(jù)塊分別為BT(m+k(1)) (D(I))、BT(M+k⑵)(D(2))、…、BT(m+k(n)) (D(n)), η為陣列內(nèi)部磁盤總數(shù),k(i)為磁盤i從時(shí)間 m到當(dāng)前被寫請(qǐng)求覆蓋的次數(shù),其中BT(m+kW)(D(r)) = O ; (3. 2)設(shè)臨時(shí)變量j,并賦值為1 ; (3. 3)如果j大于η,轉(zhuǎn)步驟(3. 7),否則轉(zhuǎn)步驟(3. 4);(3. 4)查找Hash表中扇區(qū)號(hào)為C (s),磁盤號(hào)為D (j)的條目,根據(jù)條目中數(shù)據(jù)塊的位置信息L,從備份盤中讀取異或數(shù)據(jù)塊PT(m+1) (D(j))、PT(m+2) (D(j))、->PT(ffl+k(J)) (D(j)),計(jì)算所有塊的異或值PD(j)=PT(m+1) (D(j)) ΘΡτ(ω+2) (D(j)) Θ …ΘΡτ(ω+_ (D(j)),若無對(duì)應(yīng)條目, Pd(J) = O ;(3. 5)將條帶中磁盤D(j)緩沖區(qū)數(shù)據(jù)塊BT(m+_ (D(j))與異或,即RD(j)=Bl(m+k(j)) ①⑶丨④卩!^,更新‘)到條帶中磁盤D (j)緩沖區(qū);(3.6)臨時(shí)變量j增1,轉(zhuǎn)步驟(3.3);(3. 7)磁盤緩沖區(qū)均完成更新,同步條帶,計(jì)算BdW=Rd(1) Rd(2) Θ ··· ‘ ),更新Bdw 到條帶失效磁盤緩沖區(qū),Bdw即為失效盤D(r)最新數(shù)據(jù)塊;(3.8)寫條帶中磁盤D(r)緩沖區(qū)數(shù)據(jù)塊到恢復(fù)盤扇區(qū)C(s),完成條帶s恢復(fù)。
      2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述RAID5磁盤陣列校驗(yàn)信息為一致狀態(tài)。
      3.根據(jù)權(quán)利要求1和2所述的方法,其特征在于,所述的RAID5磁盤陣列采用讀改寫方式處理寫請(qǐng)求。
      全文摘要
      本發(fā)明公開了一種RAID5級(jí)別磁盤陣列的寫性能優(yōu)化方法,同時(shí)兼具連續(xù)數(shù)據(jù)保護(hù)功能,屬于計(jì)算機(jī)數(shù)據(jù)存儲(chǔ)領(lǐng)域,解決RAID5級(jí)別磁盤陣列在寫負(fù)載請(qǐng)求聚發(fā)時(shí)系統(tǒng)響應(yīng)慢的問題。本發(fā)明包括存儲(chǔ)系統(tǒng)構(gòu)建步驟、數(shù)據(jù)讀寫步驟和磁盤失效后的數(shù)據(jù)恢復(fù)步驟,采用陣列與數(shù)據(jù)備份盤組合的存儲(chǔ)系統(tǒng)組織方案,通過暫停校驗(yàn)位的更新,減少寫操作引起的磁盤I/O次數(shù)來提高系統(tǒng)的響應(yīng)速度,同時(shí)利用備份盤數(shù)據(jù)可恢復(fù)陣列至之前任一時(shí)間點(diǎn)的狀態(tài)。本發(fā)明通過暫停校驗(yàn)位更新的方法為具有連續(xù)數(shù)據(jù)保護(hù)功能的RAID5磁盤陣列提升寫負(fù)載請(qǐng)求聚發(fā)時(shí)系統(tǒng)的性能,可用于需要數(shù)據(jù)保護(hù)功能、負(fù)載突發(fā)率高的存儲(chǔ)環(huán)境,適用于構(gòu)建高性能、高可靠性的存儲(chǔ)系統(tǒng)。
      文檔編號(hào)G06F3/06GK102184079SQ20111011180
      公開日2011年9月14日 申請(qǐng)日期2011年4月29日 優(yōu)先權(quán)日2011年4月29日
      發(fā)明者馮丹, 劉建平, 劉景寧, 沙睿彬, 金超, 陳儉喜, 黃賽 申請(qǐng)人:華中科技大學(xué)
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1