欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

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

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

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

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


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

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

【專利附圖】

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

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