国产精品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>

      一種基于二維raid的固態(tài)硬盤數(shù)據(jù)保護(hù)方法

      文檔序號(hào):6636174閱讀:315來源:國(guó)知局
      一種基于二維raid的固態(tài)硬盤數(shù)據(jù)保護(hù)方法
      【專利摘要】本發(fā)明提供了一種基于二維RAID的固態(tài)硬盤數(shù)據(jù)保護(hù)方法,固態(tài)硬盤數(shù)據(jù)以物理頁(yè)大小的整數(shù)倍為條帶訪問單元,其特征在于同一個(gè)數(shù)據(jù)訪問單元同時(shí)屬于橫向條帶和縱向條帶,同一橫向條帶上的數(shù)據(jù)訪問單元至少有一個(gè)是存儲(chǔ)橫向校驗(yàn)數(shù)據(jù),其余存儲(chǔ)有效數(shù)據(jù);同一縱向的數(shù)據(jù)訪問單元至少有一個(gè)是存儲(chǔ)縱向校驗(yàn)數(shù)據(jù),其余存儲(chǔ)有效數(shù)據(jù);同一橫向條帶和同一縱向條帶中任意一個(gè)有效數(shù)據(jù)出錯(cuò),都可根據(jù)其它有效數(shù)據(jù)和校驗(yàn)數(shù)據(jù)進(jìn)行恢復(fù)。這樣通過橫縱兩列的二維RAID陣列對(duì)數(shù)據(jù)進(jìn)行保護(hù)。使得在至少三個(gè)數(shù)據(jù)頁(yè)出錯(cuò)的情況下,在橫向無法恢復(fù)的情況時(shí),通過縱向進(jìn)行數(shù)據(jù)恢復(fù),通過橫縱兩列的相互保護(hù)達(dá)到至少三個(gè)數(shù)據(jù)頁(yè)出錯(cuò)也能恢復(fù)數(shù)據(jù)的效果。
      【專利說明】—種基于二維RAID的固態(tài)硬盤數(shù)據(jù)保護(hù)方法

      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及信息存儲(chǔ)領(lǐng)域,尤其涉及一種基于二維RAID的固態(tài)硬盤數(shù)據(jù)保護(hù)方法。

      【背景技術(shù)】
      [0002]固態(tài)硬盤(SSD)的一個(gè)物理頁(yè)(Page)通常為讀/寫操作的最小單元,現(xiàn)有SSD內(nèi)的RAID保護(hù)方案普遍采用的是以將單個(gè)物理頁(yè)均分成若干數(shù)據(jù)塊而組成條帶或多個(gè)block內(nèi)的物理頁(yè)組成條帶來實(shí)現(xiàn)RAID4/5保護(hù),圖1是RAID5的固態(tài)硬盤數(shù)據(jù)保護(hù)方法示意圖,即實(shí)現(xiàn)一個(gè)條帶內(nèi)有N個(gè)數(shù)據(jù)(DATA)單元和X個(gè)Parity (奇偶校驗(yàn))單元,Parity單元數(shù)據(jù)通過如下公式得到,圖1中N = 3, X = I,每個(gè)條帶的Parity由本條帶內(nèi)其余數(shù)據(jù)單元的關(guān)系如下:
      [0003]Parity = DataO'Datal'Data2'Data3'Data4'...'DataN
      [0004]當(dāng)本條帶內(nèi)出現(xiàn)某個(gè)數(shù)據(jù)單元出錯(cuò)時(shí),可通過如下公式恢復(fù),以Data3出錯(cuò)為例:
      [0005]Data3 = Parity'DataO'Datal'Data2'Data4'...'DataN
      [0006]這種方案在多個(gè)數(shù)據(jù)單元出錯(cuò)時(shí)將無法進(jìn)行有效的數(shù)據(jù)恢復(fù),數(shù)據(jù)保護(hù)力度較弱。


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

      [0007]針對(duì)以上缺陷,本發(fā)明目的在于提出了一種在多個(gè)數(shù)據(jù)單元同時(shí)出錯(cuò)時(shí)可以恢復(fù)出錯(cuò)的數(shù)據(jù)單元,起到數(shù)據(jù)保護(hù)的目的。
      [0008]為了實(shí)現(xiàn)上述目的,本發(fā)明提供了一種基于二維RAID的固態(tài)硬盤數(shù)據(jù)保護(hù)方法,固態(tài)硬盤數(shù)據(jù)以物理頁(yè)大小的整數(shù)倍為數(shù)據(jù)訪問單元,其特征在于同一個(gè)數(shù)據(jù)訪問單元同時(shí)屬于橫向條帶和縱向條帶,同一橫向條帶上的數(shù)據(jù)訪問單元至少有一個(gè)是存儲(chǔ)橫向校驗(yàn)數(shù)據(jù),其余存儲(chǔ)有效數(shù)據(jù);同一縱向的數(shù)據(jù)訪問單元至少有一個(gè)是存儲(chǔ)縱向校驗(yàn)數(shù)據(jù),其余存儲(chǔ)有效數(shù)據(jù);同一橫向條帶和同一縱向條帶中任意一個(gè)有效數(shù)據(jù)出錯(cuò),都可根據(jù)其它有效數(shù)據(jù)和校驗(yàn)數(shù)據(jù)進(jìn)行恢復(fù)。
      [0009]所述的數(shù)據(jù)保護(hù)方法,其特征在于所述的校驗(yàn)數(shù)據(jù)由同一橫向條帶或同一縱向條帶的所有有效數(shù)據(jù)進(jìn)行異或計(jì)算獲得。
      [0010]所述的數(shù)據(jù)保護(hù)方法,其特征在于所述的異或計(jì)算分別在各個(gè)有效數(shù)據(jù)分別寫入固態(tài)硬盤物理頁(yè)的時(shí)候?qū)崟r(shí)計(jì)算。
      [0011]所述的數(shù)據(jù)保護(hù)方法,其特征在于當(dāng)出現(xiàn)有效數(shù)據(jù)出錯(cuò)時(shí),先判斷發(fā)生有效數(shù)據(jù)出錯(cuò)所在的橫向條帶,如果所在橫向條帶同時(shí)出現(xiàn)2個(gè)或2個(gè)以上有效數(shù)據(jù)出錯(cuò),則先對(duì)只出現(xiàn)I個(gè)有效數(shù)據(jù)出錯(cuò)的縱向條帶進(jìn)行數(shù)據(jù)恢復(fù),根據(jù)該縱向條帶的其它有效數(shù)據(jù)和校驗(yàn)數(shù)據(jù)進(jìn)行數(shù)據(jù)恢復(fù);以此規(guī)則連續(xù)或交替選擇橫向條帶或縱向條帶每次恢復(fù)一次出錯(cuò)的有效數(shù)據(jù),直到所有出錯(cuò)的有效數(shù)據(jù)都被恢復(fù)。
      [0012]所述的數(shù)據(jù)保護(hù)方法,其特征在于當(dāng)出現(xiàn)有效數(shù)據(jù)出錯(cuò)時(shí),先判斷發(fā)生有效數(shù)據(jù)出錯(cuò)所在的縱向條帶,如果所在縱向條帶同時(shí)出現(xiàn)2個(gè)或2個(gè)以上有效數(shù)據(jù)出錯(cuò),則先對(duì)只出現(xiàn)I個(gè)有效數(shù)據(jù)出錯(cuò)的橫向條帶進(jìn)行數(shù)據(jù)恢復(fù),根據(jù)該橫向條帶的其它有效數(shù)據(jù)和校驗(yàn)數(shù)據(jù)進(jìn)行數(shù)據(jù)恢復(fù);以此規(guī)則連續(xù)或交替選擇橫向條帶或縱向條帶每次恢復(fù)一次出錯(cuò)的有效數(shù)據(jù),直到所有出錯(cuò)的有效數(shù)據(jù)都被恢復(fù)。
      [0013]本發(fā)明針對(duì)SSD內(nèi)部數(shù)據(jù)進(jìn)行條帶化管理,即在寫入時(shí)在各通道下各選取一個(gè)block,各block內(nèi)相同頁(yè)號(hào)的物理頁(yè)組成一個(gè)橫向條帶,在此橫向條帶內(nèi)進(jìn)行RAID4/5的數(shù)據(jù)保護(hù),其中有一個(gè)物理頁(yè)存儲(chǔ)校驗(yàn)數(shù)據(jù)。同時(shí),各block內(nèi)部連續(xù)多個(gè)物理頁(yè)組成縱向條帶,縱向條帶進(jìn)行RAID4的數(shù)據(jù)保護(hù)。這樣通過橫縱兩列的二維RAID陣列對(duì)數(shù)據(jù)進(jìn)行保護(hù)。使得在至少三個(gè)數(shù)據(jù)頁(yè)出錯(cuò)的情況下,在橫向無法恢復(fù)的情況時(shí),通過縱向進(jìn)行數(shù)據(jù)恢復(fù),通過橫縱兩列的相互保護(hù)達(dá)到至少三個(gè)數(shù)據(jù)頁(yè)出錯(cuò)也能恢復(fù)數(shù)據(jù)的效果。

      【專利附圖】

      【附圖說明】
      [0014]圖1是RAID5的固態(tài)硬盤數(shù)據(jù)保護(hù)方法示意圖;
      [0015]圖2是基于二維RAID的固態(tài)硬盤的數(shù)據(jù)保護(hù)方法示意圖;
      [0016]圖3是為數(shù)據(jù)頁(yè)寫入示意圖;
      [0017]圖4是單個(gè)物理頁(yè)出錯(cuò)的數(shù)據(jù)修復(fù)示意圖;
      [0018]圖5是多個(gè)物理頁(yè)出錯(cuò)的數(shù)據(jù)修復(fù)示意圖;
      [0019]圖6是數(shù)據(jù)頁(yè)出錯(cuò)處理流程圖。

      【具體實(shí)施方式】
      [0020]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
      [0021]一種基于二維RAID的固態(tài)硬盤的數(shù)據(jù)保護(hù)方法,能夠在幾乎不影響SSD讀寫性能的前提下大大提高數(shù)據(jù)的可靠性。圖2是基于二維RAID的固態(tài)硬盤的數(shù)據(jù)保護(hù)方法示意圖,橫向支持N1+X1,其中NI表示數(shù)據(jù)頁(yè)個(gè)數(shù),Xl表示橫向奇偶校驗(yàn)頁(yè)個(gè)數(shù);同時(shí)支持縱向M1+X2,Ml表示有效數(shù)據(jù)頁(yè)個(gè)數(shù),X2表示縱向奇偶校驗(yàn)頁(yè)個(gè)數(shù),RAID的靜態(tài)配置。橫向N1+X1個(gè)物理頁(yè)組成一個(gè)橫向條帶,縱向M1+X2個(gè)物理頁(yè)組成一個(gè)縱向條帶。圖2中為橫向3+1RAID5、縱向M1+1RAID4,但橫向不局限于RAID5,縱向N1、Ml、X1、X2可根據(jù)需求任意配置。SSD由4個(gè)LUN組成NAND flash陣列,分別為L(zhǎng)UNO、LUNl、LUN2、LUN3,每個(gè)LUN分配一個(gè)空閑block用于并行的寫入操作,每個(gè)block中的相同頁(yè)號(hào)的物理頁(yè)組成一個(gè)橫向條帶,其中3個(gè)數(shù)據(jù)頁(yè),一個(gè)橫向奇偶校驗(yàn)頁(yè)P(yáng)arity_r。同時(shí),在各個(gè)block內(nèi)部,縱向連續(xù)的M1+1個(gè)物理頁(yè)組成一個(gè)縱向條帶,Ml個(gè)物理頁(yè)包括若干個(gè)數(shù)據(jù)頁(yè)和若干個(gè)橫向奇偶校驗(yàn)頁(yè)P(yáng)arity_r,同時(shí)包括I個(gè)縱向奇偶校驗(yàn)頁(yè)P(yáng)arity_c。
      [0022]圖3為數(shù)據(jù)頁(yè)寫入示意圖,橫向每3個(gè)數(shù)據(jù)頁(yè)計(jì)算生成并寫入一個(gè)橫向Parity_r數(shù)據(jù),此4個(gè)數(shù)據(jù)組成一個(gè)條帶寫入NAND flash中??v向原理相同,每Ml個(gè)縱向數(shù)據(jù)頁(yè)寫入生成一個(gè)縱向Parity_c數(shù)據(jù),縱向Parity_c數(shù)據(jù)可在前M個(gè)物理頁(yè)的數(shù)據(jù)寫入時(shí)同步做異或操作進(jìn)行,待前M個(gè)物理頁(yè)數(shù)據(jù)寫入完成時(shí),縱向parity數(shù)據(jù)自然生成,無需進(jìn)行額外的 NAND Flash 讀。
      [0023]圖4為單個(gè)物理頁(yè)出錯(cuò)的數(shù)據(jù)修復(fù)示意圖,當(dāng)單個(gè)物理頁(yè)出現(xiàn)數(shù)據(jù)出錯(cuò)時(shí),通過同條帶的其他數(shù)據(jù)頁(yè)數(shù)據(jù)及相應(yīng)的parity_r數(shù)據(jù)進(jìn)行異或操作,恢復(fù)出錯(cuò)的數(shù)據(jù)頁(yè)數(shù)據(jù)。
      [0024]圖5為多個(gè)物理頁(yè)出錯(cuò)的數(shù)據(jù)修復(fù)示意圖,多個(gè)數(shù)據(jù)出錯(cuò)時(shí),可通過橫縱兩向的組合處理實(shí)現(xiàn)對(duì)數(shù)據(jù)的恢復(fù)。由于page η橫向和block b縱向都有兩個(gè)物理頁(yè)出錯(cuò),所以單靠相應(yīng)條帶已無法恢復(fù)出錯(cuò)物理頁(yè)數(shù)據(jù),但通過page P之橫向,以及block c之縱向,都只有一個(gè)物理頁(yè)出錯(cuò),先恢復(fù)這兩個(gè)物理頁(yè)之?dāng)?shù)據(jù),則將出錯(cuò)狀態(tài)簡(jiǎn)化至僅block b,pageη出錯(cuò)之情況,任意通過橫縱向即可恢復(fù)其數(shù)據(jù),從而達(dá)到三個(gè)物理頁(yè)出錯(cuò)數(shù)據(jù)皆恢復(fù)的目的。
      [0025]圖6是數(shù)據(jù)頁(yè)出錯(cuò)處理流程圖,具體操作流程為:
      [0026]步驟Sll:讀數(shù)據(jù)頁(yè)出錯(cuò),將出錯(cuò)數(shù)據(jù)頁(yè)加入待處理堆棧棧頂。
      [0027]步驟S12:找出棧頂數(shù)據(jù)頁(yè)所在橫向條帶,進(jìn)行橫向條帶內(nèi)數(shù)據(jù)恢復(fù),若讀到棧內(nèi)數(shù)據(jù)頁(yè),跳至S15,若讀到新數(shù)據(jù)頁(yè)出錯(cuò),將新出錯(cuò)數(shù)據(jù)頁(yè)加入待處理堆棧棧頂,跳至S13,若恢復(fù)成功,將恢復(fù)數(shù)據(jù)頁(yè)從棧內(nèi)移除,跳至S14。
      [0028]步驟S13:找出棧頂數(shù)據(jù)頁(yè)所在縱向條帶,進(jìn)行縱向條帶內(nèi)數(shù)據(jù)恢復(fù),若讀到棧內(nèi)數(shù)據(jù)頁(yè),跳至S15,若讀到新數(shù)據(jù)頁(yè)出錯(cuò),將新出錯(cuò)數(shù)據(jù)頁(yè)加入待處理堆棧棧頂,跳至S12,若恢復(fù)成功,將恢復(fù)數(shù)據(jù)頁(yè)從棧內(nèi)移除,跳至S14。
      [0029]步驟S14:待處理堆棧非空,跳至S12,待處理堆??眨罶16。
      [0030]步驟S15:數(shù)據(jù)無法恢復(fù),交由用戶處理。
      [0031]步驟S16:處理結(jié)束。
      [0032]以上所揭露的僅為本發(fā)明一種實(shí)施例而已,當(dāng)然不能以此來限定本之權(quán)利范圍,本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例的全部或部分流程,并依本發(fā)明權(quán)利要求所作的等同變化,仍屬于本發(fā)明所涵蓋的范圍。
      【權(quán)利要求】
      1.一種基于二維RAID的固態(tài)硬盤數(shù)據(jù)保護(hù)方法,固態(tài)硬盤數(shù)據(jù)以物理頁(yè)大小的整數(shù)倍為數(shù)據(jù)訪問單元,其特征在于同一個(gè)數(shù)據(jù)訪問單元同時(shí)屬于橫向條帶和縱向條帶,同一橫向條帶上的數(shù)據(jù)訪問單元至少有一個(gè)是存儲(chǔ)橫向校驗(yàn)數(shù)據(jù),其余存儲(chǔ)有效數(shù)據(jù);同一縱向的數(shù)據(jù)訪問單元至少有一個(gè)是存儲(chǔ)縱向校驗(yàn)數(shù)據(jù),其余存儲(chǔ)有效數(shù)據(jù);同一橫向條帶和同一縱向條帶中任意一個(gè)有效數(shù)據(jù)出錯(cuò),都可根據(jù)其它有效數(shù)據(jù)和校驗(yàn)數(shù)據(jù)進(jìn)行恢復(fù)。
      2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)保護(hù)方法,其特征在于所述的校驗(yàn)數(shù)據(jù)由同一橫向條帶或同一縱向條帶的所有有效數(shù)據(jù)進(jìn)行異或計(jì)算獲得。
      3.根據(jù)權(quán)利要求2所述的數(shù)據(jù)保護(hù)方法,其特征在于所述的異或計(jì)算分別在各個(gè)有效數(shù)據(jù)分別寫入固態(tài)硬盤物理頁(yè)的時(shí)候?qū)崟r(shí)計(jì)算。
      4.根據(jù)權(quán)利要求3所述的數(shù)據(jù)保護(hù)方法,其特征在于當(dāng)出現(xiàn)有效數(shù)據(jù)出錯(cuò)時(shí),先判斷發(fā)生有效數(shù)據(jù)出錯(cuò)所在的橫向條帶,如果所在橫向條帶同時(shí)出現(xiàn)2個(gè)或2個(gè)以上有效數(shù)據(jù)出錯(cuò),則先對(duì)只出現(xiàn)I個(gè)有效數(shù)據(jù)出錯(cuò)的縱向條帶進(jìn)行數(shù)據(jù)恢復(fù),根據(jù)該縱向條帶的其它有效數(shù)據(jù)和校驗(yàn)數(shù)據(jù)進(jìn)行數(shù)據(jù)恢復(fù);以此規(guī)則連續(xù)或交替選擇橫向條帶或縱向條帶每次恢復(fù)一次出錯(cuò)的有效數(shù)據(jù),直到所有出錯(cuò)的有效數(shù)據(jù)都被恢復(fù)。
      5.根據(jù)權(quán)利要求3所述的數(shù)據(jù)保護(hù)方法,其特征在于當(dāng)出現(xiàn)有效數(shù)據(jù)出錯(cuò)時(shí),先判斷發(fā)生有效數(shù)據(jù)出錯(cuò)所在的縱向條帶,如果所在縱向條帶同時(shí)出現(xiàn)2個(gè)或2個(gè)以上有效數(shù)據(jù)出錯(cuò),則先對(duì)只出現(xiàn)I個(gè)有效數(shù)據(jù)出錯(cuò)的橫向條帶進(jìn)行數(shù)據(jù)恢復(fù),根據(jù)該橫向條帶的其它有效數(shù)據(jù)和校驗(yàn)數(shù)據(jù)進(jìn)行數(shù)據(jù)恢復(fù);以此規(guī)則連續(xù)或交替選擇橫向條帶或縱向條帶每次恢復(fù)一次出錯(cuò)的有效數(shù)據(jù),直到所有出錯(cuò)的有效數(shù)據(jù)都被恢復(fù)。
      【文檔編號(hào)】G06F12/06GK104461926SQ201410698520
      【公開日】2015年3月25日 申請(qǐng)日期:2014年11月27日 優(yōu)先權(quán)日:2014年11月27日
      【發(fā)明者】華榮, 李建, 王猛 申請(qǐng)人:記憶科技(深圳)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1