两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

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

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

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

[0008]為解決上述問題,根據(jù)本發(fā)明的一個實施例,提供一種不滿條帶寫的方法,包括:
[0009]將數(shù)據(jù)寫入鏡像條帶;以及,修改所述條帶對應的位圖中的鏡像位圖指示位和鏡像位圖;其中,鏡像位圖指示位用于指示鏡像位圖中存放的是鏡像條帶數(shù)據(jù)信息還是指向鏡像條帶數(shù)據(jù)信息的地址,鏡像條帶數(shù)據(jù)信息用于指示鏡像條帶上的哪些位置有數(shù)據(jù)。
[0010]上述方法中,所述條帶對應的位圖包括鏡像位圖指示位、鏡像位圖和小寫粒度指示位;其中,小寫粒度指示位用于指示小寫請求的寫粒度。
[0011]上述方法中,當小寫請求的寫粒度是所述條帶的數(shù)據(jù)塊粒度的整數(shù)倍時,使鏡像位圖指示位指示鏡像位圖中存放的是鏡像條帶數(shù)據(jù)信息,并且在鏡像位圖中存放鏡像條帶數(shù)據(jù)信息。
[0012]上述方法中,當小寫請求的寫粒度不是所述條帶的數(shù)據(jù)塊粒度的整數(shù)倍時,使鏡像位圖指示位指示鏡像位圖中存放的是指向鏡像條帶數(shù)據(jù)信息的地址、在鏡像位圖中存放指向鏡像條帶數(shù)據(jù)信息的地址,并且在該地址處存放鏡像條帶數(shù)據(jù)信息。
[0013]上述方法中,當所述條帶的數(shù)據(jù)塊粒度為64KB并且小寫請求的寫粒度為4KB的整數(shù)倍但不是64KB的整數(shù)倍時,還修改所述條帶對應的位圖中的小寫粒度指示位,并且鏡像位圖指向的鏡像條帶數(shù)據(jù)信息采用16bit位圖來指示鏡像條帶數(shù)據(jù)塊上的哪些位置有數(shù)據(jù)。
[0014]上述方法中,當所述條帶的數(shù)據(jù)塊粒度為64KB并且小寫請求的寫粒度為512B的整數(shù)倍但不是64KB的整數(shù)倍時,還修改所述條帶對應的位圖中的小寫粒度指示位,并且鏡像位圖指向的鏡像條帶數(shù)據(jù)信息采用128bit位圖來指示鏡像條帶數(shù)據(jù)塊上的哪些位置有數(shù)據(jù)。
[0015]上述方法中,除了將數(shù)據(jù)寫入鏡像條帶,還將數(shù)據(jù)寫入所述條帶的校驗數(shù)據(jù)所在的磁盤上。
[0016]上述方法中,鏡像位圖為24bit。
[0017]上述方法中,當鏡像條帶的不滿條帶寫積累到滿條帶時,將鏡像條帶轉(zhuǎn)化為糾刪碼條帶。
[0018]根據(jù)本發(fā)明的一個實施例,還提供一種不滿條帶寫的裝置,包括:
[0019]用于將數(shù)據(jù)寫入鏡像條帶的設備;以及用于修改所述條帶對應的位圖中的鏡像位圖指示位和鏡像位圖的設備;其中,鏡像位圖指示位用于指示鏡像位圖中存放的是鏡像條帶數(shù)據(jù)信息還是指向鏡像條帶數(shù)據(jù)信息的地址,鏡像條帶數(shù)據(jù)信息用于指示鏡像條帶上的哪些位置有數(shù)據(jù)。
[0020]本發(fā)明具有如下的有益效果:
[0021]1、小寫的數(shù)據(jù)均寫到鏡像條帶和鏡像條帶的副本節(jié)點(即豎條帶),避免了傳統(tǒng)RAID的寫懲罰問題;此外,即使上層下發(fā)不滿條帶的寫請求,在塊設備層也可以被高效地處理,降低了寫處理過程中的讀寫操作所引起的系統(tǒng)開銷。
[0022]2、采用鏡像位圖記錄鏡像條帶數(shù)據(jù)信息或者指向該信息的地址,并且使用不同的小寫位圖來記錄不同粒度的小寫,降低了元數(shù)據(jù)的開銷。
【附圖說明】
[0023]以下參照附圖對本發(fā)明實施例作進一步說明,其中:
[0024]圖1示出了三條帶結(jié)構(gòu)的示意圖;
[0025]圖2示出了根據(jù)本發(fā)明一個實施例的三條帶位圖結(jié)構(gòu)及其存儲區(qū)域的示意圖;
[0026]圖3示出了根據(jù)本發(fā)明一個實施例的不同小寫粒度對應的小寫位圖的結(jié)構(gòu)的示意圖;
[0027]圖4示出了根據(jù)本發(fā)明一個實施例的滿數(shù)據(jù)塊寫和不滿數(shù)據(jù)塊寫的示意圖。
【具體實施方式】
[0028]為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結(jié)合附圖通過具體實施例對本發(fā)明進一步詳細說明。應當理解,此處所描述的具體實施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0029]在描述本發(fā)明提供的不滿條帶寫方法之前,首先對基于三條帶技術的滿條帶寫步驟進行概括描述:
[0030]1、通過滿條帶的數(shù)據(jù)計算額外的冗余校驗;
[0031]2、根據(jù)當前三條帶的狀態(tài),確定空條帶的位置;
[0032]3、下發(fā)對空條帶的寫請求;
[0033]4、寫成功后,將該空條帶轉(zhuǎn)化為糾刪碼條帶,其余條帶清空并標為空條帶。
[0034]鑒于以上滿條帶寫過程,根據(jù)本發(fā)明的一個實施例,提供一種不滿條帶寫的方法。
[0035]概括而言,該方法包括:將數(shù)據(jù)寫入鏡像條帶;以及,修改所述條帶對應的位圖(也稱作三條帶位圖)中的鏡像位圖指示位和鏡像位圖。其中,鏡像位圖指示位用于指示鏡像位圖中存放的是鏡像條帶數(shù)據(jù)信息還是指向鏡像條帶數(shù)據(jù)信息的地址,鏡像條帶數(shù)據(jù)信息用于指示鏡像條帶上的哪些位置有數(shù)據(jù)。
[0036]下面將按步驟描述本發(fā)明提供的不滿條帶寫的方法的一個實施例。
[0037]步驟1、創(chuàng)建與條帶對應的位圖(即三條帶位圖)。
[0038]三條帶位圖包括鏡像位圖指示位和鏡像位圖,參見圖2,示出了三條帶位圖的結(jié)構(gòu)及其存放區(qū)域的一個實施例。圖2包括四個部分,其中,A部分示出了用于存放三條帶位圖的區(qū)域,該區(qū)域可分為多個4KB大小的頁,其中每個頁用于存放一項或多項三條帶位圖;B部分示出了每個頁包含的三條帶位圖的項數(shù),當三條帶位圖的大小為64bit時,每個4KB的頁可包括512項三條帶位圖;C和D部分詳細示出了三條帶位圖的結(jié)構(gòu),其中,對于該64bit的三條帶位圖,第4位是鏡像位圖指示位(用M表示),第41-63位是鏡像位圖。此外,在該實施例中,三條帶位圖的第0-3位用于指示條帶狀態(tài)、第16-40位是RS位圖,并且第6-15是保留位。
[0039]鏡像位圖指示位可用于區(qū)分不滿條帶寫是滿數(shù)據(jù)塊的小寫還是不滿數(shù)據(jù)塊的小寫。本文中,滿數(shù)據(jù)塊小寫和不滿數(shù)據(jù)塊小寫的定義如下:由于三條帶的每個邏輯條帶可劃分為多個數(shù)據(jù)塊(即chunk,以N+M的三條帶為例,每個邏輯條帶有N+M個數(shù)據(jù)塊),該數(shù)據(jù)塊具有一定的粒度(稱為條帶的數(shù)據(jù)塊粒度),如果小寫請求的寫粒度不是該數(shù)據(jù)塊粒度的整數(shù)倍,則為不滿數(shù)據(jù)塊小寫;如果小寫請求的寫粒度是數(shù)據(jù)塊粒度的整數(shù)倍,則為滿數(shù)據(jù)塊小寫。本文中,條帶的數(shù)據(jù)塊粒度通常為64KB,不滿數(shù)據(jù)塊的小寫請求的寫粒度通常為4KB的整數(shù)倍或者512B的整數(shù)倍(其中,512B的整數(shù)倍可能包括4KB的整數(shù)倍)。
[0040]對于滿數(shù)據(jù)塊的鏡像條帶,鏡像位圖指示位為0,其表示鏡像位圖存放的是鏡像條帶數(shù)據(jù)信息;對于不滿數(shù)據(jù)塊的鏡像條帶,鏡像位圖指示位為1,其表示鏡像位圖存放的是指向鏡像條帶數(shù)據(jù)信息的地址。應理解,鏡像位圖指示位也可以用I來表示鏡像位圖存放的是鏡像條帶數(shù)據(jù)信息,用O來表示鏡像位圖存放的是指向鏡像條帶數(shù)據(jù)信息的地址。
[0041]對于具有N+M個數(shù)據(jù)塊的鏡像條帶,鏡像位圖的大小可以是N+M bit,也可以大于N+M bit。當鏡像
當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
吉安市| 武乡县| 承德县| 长海县| 清徐县| 酉阳| 运城市| 武强县| 东丽区| 慈利县| 江安县| 洛南县| 昔阳县| 弥渡县| 长子县| 聊城市| 监利县| 清丰县| 莆田市| 政和县| 抚州市| 岳普湖县| 鞍山市| 依兰县| 自贡市| 军事| 毕节市| 衡阳县| 外汇| 儋州市| 沽源县| 五指山市| 阿拉善右旗| 京山县| 合阳县| 迁西县| 桃江县| 本溪市| 临西县| 九江县| 环江|