日韩成人黄色,透逼一级毛片,狠狠躁天天躁中文字幕,久久久久久亚洲精品不卡,在线看国产美女毛片2019,黄片www.www,一级黄色毛a视频直播

一種不滿條帶寫的方法及裝置的制造方法

文檔序號(hào):8412276閱讀:581來(lái)源:國(guó)知局
一種不滿條帶寫的方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及存儲(chǔ)技術(shù)領(lǐng)域,更具體地,涉及條帶化存儲(chǔ)技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002]三條帶技術(shù)是一種結(jié)合了鏡像與糾刪碼的數(shù)據(jù)分布技術(shù),用于解決數(shù)據(jù)寫入過(guò)程中若失敗而導(dǎo)致的數(shù)據(jù)不一致問(wèn)題(即write hole問(wèn)題),并且可提高系統(tǒng)性能以及提供系統(tǒng)負(fù)載均衡分布的高可靠性。三條帶技術(shù)是指對(duì)于邏輯層的每個(gè)條帶,其內(nèi)部實(shí)現(xiàn)均由三個(gè)邏輯條帶組成。參見圖1,三個(gè)邏輯條帶分別為M條帶、RS條帶和N條帶,其中:
[0003]1、M條帶(鏡像條帶):該條帶上的數(shù)據(jù)使用副本機(jī)制進(jìn)行保護(hù)。鏡像條帶用于存放不滿條帶寫(即小寫)數(shù)據(jù),用以提升數(shù)據(jù)讀寫的性能;此外,鏡像條帶的寫入不覆蓋糾刪碼條帶上的數(shù)據(jù),因此避免了寫入過(guò)程中由于節(jié)點(diǎn)失效而導(dǎo)致的數(shù)據(jù)不一致。當(dāng)鏡像條帶的小寫積累到滿條帶或者系統(tǒng)啟動(dòng)鏡像條帶到糾刪碼條帶的轉(zhuǎn)換以騰出鏡像條帶占用的空間時(shí),鏡像條帶會(huì)被轉(zhuǎn)化成糾刪碼條帶。
[0004]2、RS條帶(糾刪碼條帶):該條帶上的數(shù)據(jù)使用Reed - Solomon編碼機(jī)制保護(hù);如N+M糾刪碼,其中N為原始數(shù)據(jù)塊、M為校驗(yàn)塊。
[0005]3、N條帶(空條帶):不存放數(shù)據(jù)的條帶??諚l帶是滿條帶寫入時(shí)的短暫存放場(chǎng)所,寫完成后其狀態(tài)立即轉(zhuǎn)變?yōu)榧m刪碼條帶。空條帶的存在使得數(shù)據(jù)寫入不覆蓋原來(lái)鏡像條帶與糾刪碼條帶上的數(shù)據(jù),確保不會(huì)出現(xiàn)數(shù)據(jù)不一致的問(wèn)題。
[0006]另外,為了確保鏡像條帶上的數(shù)據(jù)具有不低于糾刪碼條帶上的數(shù)據(jù)的保護(hù)級(jí)別,鏡像條帶上的數(shù)據(jù)所對(duì)應(yīng)的副本存儲(chǔ)在該條帶的校驗(yàn)塊所在的豎條帶(或稱副本節(jié)點(diǎn))上。
[0007]盡管具備上述優(yōu)點(diǎn),但當(dāng)前的三條帶技術(shù)未具體說(shuō)明如何處理不滿條帶寫(尤其是不滿數(shù)據(jù)塊的小寫)請(qǐng)求。如果仍采用傳統(tǒng)的RAID做法,則一次小寫會(huì)涉及多次I/O (包括讀改寫、重構(gòu)寫),即具有寫懲罰(write penalty)的問(wèn)題,且大量的小寫會(huì)嚴(yán)重影響系統(tǒng)的性能。

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

[0008]為解決上述問(wèn)題,根據(jù)本發(fā)明的一個(gè)實(shí)施例,提供一種不滿條帶寫的方法,包括:
[0009]將數(shù)據(jù)寫入鏡像條帶;以及,修改所述條帶對(duì)應(yīng)的位圖中的鏡像位圖指示位和鏡像位圖;其中,鏡像位圖指示位用于指示鏡像位圖中存放的是鏡像條帶數(shù)據(jù)信息還是指向鏡像條帶數(shù)據(jù)信息的地址,鏡像條帶數(shù)據(jù)信息用于指示鏡像條帶上的哪些位置有數(shù)據(jù)。
[0010]上述方法中,所述條帶對(duì)應(yīng)的位圖包括鏡像位圖指示位、鏡像位圖和小寫粒度指示位;其中,小寫粒度指示位用于指示小寫請(qǐng)求的寫粒度。
[0011]上述方法中,當(dāng)小寫請(qǐng)求的寫粒度是所述條帶的數(shù)據(jù)塊粒度的整數(shù)倍時(shí),使鏡像位圖指示位指示鏡像位圖中存放的是鏡像條帶數(shù)據(jù)信息,并且在鏡像位圖中存放鏡像條帶數(shù)據(jù)信息。
[0012]上述方法中,當(dāng)小寫請(qǐng)求的寫粒度不是所述條帶的數(shù)據(jù)塊粒度的整數(shù)倍時(shí),使鏡像位圖指示位指示鏡像位圖中存放的是指向鏡像條帶數(shù)據(jù)信息的地址、在鏡像位圖中存放指向鏡像條帶數(shù)據(jù)信息的地址,并且在該地址處存放鏡像條帶數(shù)據(jù)信息。
[0013]上述方法中,當(dāng)所述條帶的數(shù)據(jù)塊粒度為64KB并且小寫請(qǐng)求的寫粒度為4KB的整數(shù)倍但不是64KB的整數(shù)倍時(shí),還修改所述條帶對(duì)應(yīng)的位圖中的小寫粒度指示位,并且鏡像位圖指向的鏡像條帶數(shù)據(jù)信息采用16bit位圖來(lái)指示鏡像條帶數(shù)據(jù)塊上的哪些位置有數(shù)據(jù)。
[0014]上述方法中,當(dāng)所述條帶的數(shù)據(jù)塊粒度為64KB并且小寫請(qǐng)求的寫粒度為512B的整數(shù)倍但不是64KB的整數(shù)倍時(shí),還修改所述條帶對(duì)應(yīng)的位圖中的小寫粒度指示位,并且鏡像位圖指向的鏡像條帶數(shù)據(jù)信息采用128bit位圖來(lái)指示鏡像條帶數(shù)據(jù)塊上的哪些位置有數(shù)據(jù)。
[0015]上述方法中,除了將數(shù)據(jù)寫入鏡像條帶,還將數(shù)據(jù)寫入所述條帶的校驗(yàn)數(shù)據(jù)所在的磁盤上。
[0016]上述方法中,鏡像位圖為24bit。
[0017]上述方法中,當(dāng)鏡像條帶的不滿條帶寫積累到滿條帶時(shí),將鏡像條帶轉(zhuǎn)化為糾刪碼條帶。
[0018]根據(jù)本發(fā)明的一個(gè)實(shí)施例,還提供一種不滿條帶寫的裝置,包括:
[0019]用于將數(shù)據(jù)寫入鏡像條帶的設(shè)備;以及用于修改所述條帶對(duì)應(yīng)的位圖中的鏡像位圖指示位和鏡像位圖的設(shè)備;其中,鏡像位圖指示位用于指示鏡像位圖中存放的是鏡像條帶數(shù)據(jù)信息還是指向鏡像條帶數(shù)據(jù)信息的地址,鏡像條帶數(shù)據(jù)信息用于指示鏡像條帶上的哪些位置有數(shù)據(jù)。
[0020]本發(fā)明具有如下的有益效果:
[0021]1、小寫的數(shù)據(jù)均寫到鏡像條帶和鏡像條帶的副本節(jié)點(diǎn)(即豎條帶),避免了傳統(tǒng)RAID的寫懲罰問(wèn)題;此外,即使上層下發(fā)不滿條帶的寫請(qǐng)求,在塊設(shè)備層也可以被高效地處理,降低了寫處理過(guò)程中的讀寫操作所引起的系統(tǒng)開銷。
[0022]2、采用鏡像位圖記錄鏡像條帶數(shù)據(jù)信息或者指向該信息的地址,并且使用不同的小寫位圖來(lái)記錄不同粒度的小寫,降低了元數(shù)據(jù)的開銷。
【附圖說(shuō)明】
[0023]以下參照附圖對(duì)本發(fā)明實(shí)施例作進(jìn)一步說(shuō)明,其中:
[0024]圖1示出了三條帶結(jié)構(gòu)的示意圖;
[0025]圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的三條帶位圖結(jié)構(gòu)及其存儲(chǔ)區(qū)域的示意圖;
[0026]圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的不同小寫粒度對(duì)應(yīng)的小寫位圖的結(jié)構(gòu)的示意圖;
[0027]圖4示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的滿數(shù)據(jù)塊寫和不滿數(shù)據(jù)塊寫的示意圖。
【具體實(shí)施方式】
[0028]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖通過(guò)具體實(shí)施例對(duì)本發(fā)明進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0029]在描述本發(fā)明提供的不滿條帶寫方法之前,首先對(duì)基于三條帶技術(shù)的滿條帶寫步驟進(jìn)行概括描述:
[0030]1、通過(guò)滿條帶的數(shù)據(jù)計(jì)算額外的冗余校驗(yàn);
[0031]2、根據(jù)當(dāng)前三條帶的狀態(tài),確定空條帶的位置;
[0032]3、下發(fā)對(duì)空條帶的寫請(qǐng)求;
[0033]4、寫成功后,將該空條帶轉(zhuǎn)化為糾刪碼條帶,其余條帶清空并標(biāo)為空條帶。
[0034]鑒于以上滿條帶寫過(guò)程,根據(jù)本發(fā)明的一個(gè)實(shí)施例,提供一種不滿條帶寫的方法。
[0035]概括而言,該方法包括:將數(shù)據(jù)寫入鏡像條帶;以及,修改所述條帶對(duì)應(yīng)的位圖(也稱作三條帶位圖)中的鏡像位圖指示位和鏡像位圖。其中,鏡像位圖指示位用于指示鏡像位圖中存放的是鏡像條帶數(shù)據(jù)信息還是指向鏡像條帶數(shù)據(jù)信息的地址,鏡像條帶數(shù)據(jù)信息用于指示鏡像條帶上的哪些位置有數(shù)據(jù)。
[0036]下面將按步驟描述本發(fā)明提供的不滿條帶寫的方法的一個(gè)實(shí)施例。
[0037]步驟1、創(chuàng)建與條帶對(duì)應(yīng)的位圖(即三條帶位圖)。
[0038]三條帶位圖包括鏡像位圖指示位和鏡像位圖,參見圖2,示出了三條帶位圖的結(jié)構(gòu)及其存放區(qū)域的一個(gè)實(shí)施例。圖2包括四個(gè)部分,其中,A部分示出了用于存放三條帶位圖的區(qū)域,該區(qū)域可分為多個(gè)4KB大小的頁(yè),其中每個(gè)頁(yè)用于存放一項(xiàng)或多項(xiàng)三條帶位圖;B部分示出了每個(gè)頁(yè)包含的三條帶位圖的項(xiàng)數(shù),當(dāng)三條帶位圖的大小為64bit時(shí),每個(gè)4KB的頁(yè)可包括512項(xiàng)三條帶位圖;C和D部分詳細(xì)示出了三條帶位圖的結(jié)構(gòu),其中,對(duì)于該64bit的三條帶位圖,第4位是鏡像位圖指示位(用M表示),第41-63位是鏡像位圖。此外,在該實(shí)施例中,三條帶位圖的第0-3位用于指示條帶狀態(tài)、第16-40位是RS位圖,并且第6-15是保留位。
[0039]鏡像位圖指示位可用于區(qū)分不滿條帶寫是滿數(shù)據(jù)塊的小寫還是不滿數(shù)據(jù)塊的小寫。本文中,滿數(shù)據(jù)塊小寫和不滿數(shù)據(jù)塊小寫的定義如下:由于三條帶的每個(gè)邏輯條帶可劃分為多個(gè)數(shù)據(jù)塊(即chunk,以N+M的三條帶為例,每個(gè)邏輯條帶有N+M個(gè)數(shù)據(jù)塊),該數(shù)據(jù)塊具有一定的粒度(稱為條帶的數(shù)據(jù)塊粒度),如果小寫請(qǐng)求的寫粒度不是該數(shù)據(jù)塊粒度的整數(shù)倍,則為不滿數(shù)據(jù)塊小寫;如果小寫請(qǐng)求的寫粒度是數(shù)據(jù)塊粒度的整數(shù)倍,則為滿數(shù)據(jù)塊小寫。本文中,條帶的數(shù)據(jù)塊粒度通常為64KB,不滿數(shù)據(jù)塊的小寫請(qǐng)求的寫粒度通常為4KB的整數(shù)倍或者512B的整數(shù)倍(其中,512B的整數(shù)倍可能包括4KB的整數(shù)倍)。
[0040]對(duì)于滿數(shù)據(jù)塊的鏡像條帶,鏡像位圖指示位為0,其表示鏡像位圖存放的是鏡像條帶數(shù)據(jù)信息;對(duì)于不滿數(shù)據(jù)塊的鏡像條帶,鏡像位圖指示位為1,其表示鏡像位圖存放的是指向鏡像條帶數(shù)據(jù)信息的地址。應(yīng)理解,鏡像位圖指示位也可以用I來(lái)表示鏡像位圖存放的是鏡像條帶數(shù)據(jù)信息,用O來(lái)表示鏡像位圖存放的是指向鏡像條帶數(shù)據(jù)信息的地址。
[0041]對(duì)于具有N+M個(gè)數(shù)據(jù)塊的鏡像條帶,鏡像位圖的大小可以是N+M bit,也可以大于N+M bit。當(dāng)鏡像
當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1