新四季網

一種磁碟陣列的數據讀寫方法

2023-05-30 21:46:01 1

專利名稱:一種磁碟陣列的數據讀寫方法
技術領域:
本發明涉及計算機存儲領域,尤其涉及該領域內的獨立冗餘磁碟陣列 的數據讀寫方法。
背景技術:
隨著信息技術的飛速發展,各種行業應用都對信息的存儲提出了更高 的要求,這些要求主要包括存儲系統的速度、容量、可靠性、可用性和安 全性等方面,傳統的存儲系統已經無法滿足。
RAID (Redundant Array of Independent Disk,獨立冗餘》茲盤陣列)是一 種由多塊獨立磁碟構成的,能提高讀寫性能並具備容錯能力的存儲系統。 RAID實現了多個磁碟並行讀寫的功能,將用戶的數據拆分成多個數據塊並 行寫入多個磁碟。讀取數據時先從多個磁碟並行讀出數據塊再組合成用戶 需要的數據,使得存儲系統的帶寬由多個磁碟的帶寬疊加而成,大大提高 了存儲系統的訪問速度。RAID的容錯能力是通過冗餘方式實現的,所述冗 餘的方式有磁碟鏡像和設置校驗等。除了用戶需要的數據以外,RAID中還 存儲了大量的冗餘數據,通過所述容錯方法保證磁碟在出現錯誤的情況下 可以恢復數據。
RAID按照實現存儲的原理不同分為不同的級別,常見的具備容錯能力 的RAID級別有RAIDl, RAID5, RAID10等。請參閱圖1,為現有技術中 的由四塊磁碟構成的一個RAID5級磁碟陣列的數據分布示意圖,將所述四 塊磁碟命名為磁碟1、磁碟2、磁碟3和磁碟4,每個磁碟分成N個數據塊, 所述四個磁碟分別貢獻出一個數據塊構成一個磁碟條帶(StripeD)為該磁碟陣列的一行,可以理解,該RAID5具有N個磁碟條帶,每個磁碟條帶具 有一個校驗塊,其用於存放一個校驗值,所述校驗值由該磁碟條帶的另外 三個數據塊進行異或計算而得。
具體地說,來自磁碟1的數據塊0、來自磁碟2的數據塊1、來自磁碟 3的數據塊2以及來自磁碟4的校驗塊P,構成一個磁碟條帶1 ( StripeDi), 依次類推,構成StripeD2、 StripeD3.........StripeDN。
對所述磁碟陣列執行寫操作時,用戶數據被拆分成若干個數據塊,對 應寫入所述N個磁碟條帶中的數據塊內,其校驗塊P,的數據由數據塊0異 或數據塊1,接著異或數據塊2計算得到並寫入校驗塊P,內。
因此,可以理解的是,當其中一個磁碟出錯,都可以由其他磁碟通過 異或計算從而恢復其上的數據,例如,如果i茲盤2出錯,那麼磁碟2上的 數據塊1的數據可以由數據塊O、數據塊2和校驗塊P,異或計算得到,數 據塊4的數據可以由數據塊3、才L瞼塊P2和數據塊5異或計算得到,以此 類推,磁碟2的數據都可以恢復。
很明顯,每一次對》茲盤陣列上的一個數據塊進行寫操作,都要進行一 個對其他相關數據塊的讀操作和一次異或計算以更新校驗塊的值,例如, 在完成對數據塊0的寫操作時,除了寫數據塊0以外,還需要另外完成數 據塊1的讀操作,數據塊2的讀操作,以及校驗塊Pt的重新計算和寫操作。 此時,如果用戶再請求寫教:據塊1和數據塊2,那麼還需要完成數據塊0的 讀操作,校驗塊Pi的重新計算和寫操作。具體請參閱圖2,為圖l的磁碟 陣列處理用戶讀寫請求的時序圖,可見,每一次對其中一個數據塊的寫操 作(寫0、寫01、寫012或者寫2操作)都必須完成一個寫時間和一個校 驗塊的計算寫入時間。因此,為了保證》茲盤陣列的容錯能力,需要花費大 量的時間讀取同一/F茲盤條帶中的其他數據塊到內存中分配的條帶結構,並 重新計算和寫入校驗塊。這些讀操作和異或計算大大增加了磁碟陣列的負 擔,尤其在用戶寫請求頻繁的情況下,校驗塊內數據的反覆更新會大大增加磁碟陣列的開銷,降低系統的讀寫性能,嚴重影響磁碟陣列對用戶的響 應。
中國專利CN101055512A提出一種磁碟陣列的數據存取方法,具體為 建立一個寫記錄表,該寫記錄表中的每一項對應所述》茲盤陣列的一個》茲盤
條帶;觸發一個對該寫記錄表的定時和掃描任務。系統每次進行數據的寫 操作時都要更新該寫記錄表中寫操作所對應的磁碟條帶的記錄位。所述定 時的動作結束時,所述掃描任務啟動,如果發現所述記錄位為更新標識, 表示對應磁碟條帶的數據已經更新,校驗值則已經失效。讀取所述有更新 標識的記錄位所對應的^f茲盤條帶的全部數據塊,並根據這些數據塊來計算 校驗值,最後將校驗值寫入磁碟的校驗塊並更新記錄位。重複上述步驟至 所有的記錄位處理完畢,再重新啟動定時。由於該方法將對目標數據塊的 寫操作和對校驗塊的更新操作採用一個定時和掃描任務分開來,每次執行 寫操作都僅僅更新目標數據塊,並不更新對應的校驗塊,而是在所述定時 的時間之後再進行校驗塊的更新動作。
該中國專利的技術存在以下不足首先,系統每次執行寫操作時應該 進行的校驗數據更新都淨皮延後在所述定時時間之後,即分布在磁碟各個位 置的磁碟條帶都有可能未更新校驗塊,整個條帶的數據處於不一致狀態。 如果在條帶的校驗塊更新之前磁碟出現錯誤,也即是在該定時時間內磁碟 出現錯誤,則磁碟條帶的數據將無法恢復,因此,系統的容錯能力得不到 充分保證,數據丟失的風險較大。其次,寫記錄表的項數取決於磁碟容量, 在磁碟容量較大的情況下,每次對寫記錄表的掃描均會消耗大量處理器時 間,因此,所述寫記錄表的掃描開銷較大,加重系統負擔。該專利提出的 方法, 一個記錄位對應多個條帶,卻會造成不必要的校驗塊更新,無法降 低開銷。
又有美國專利6,282,671 "Method and system for improved efficiency of parity calculation in RAID system" 提出根據寫操作對磁碟條帶的覆蓋情況來選擇計算校驗塊的方法。校驗塊可以通過目標數據塊的新數據(new data value)和條帶中其他數據塊的舊數據(all other old data within the associated data stripe)的異或計算得到,或者通過目標數據塊的新數據(new data value)、 目標數據塊的舊數據(old data value)和舊校驗塊(old parity value)的異或計算 得到,校驗塊的計算選擇上述兩種計算方法中進行讀寫次數最少(the least number of input/output operations)的一種。"i亥美國專利提供的方法通過/鹹少 在計算校驗塊時系統進行讀操作的次數,因此在一定程度上減少了計算校 驗塊數據的時間,但是其寫校驗塊的時間仍然較長,尤其在寫操作頻繁的 情況下,校驗塊反覆更新的開銷仍然很高。
可見,現有技術還存在缺陷,有待於改進和發展。

發明內容
本發明的目的在於,提供一種磁碟陣列的自適應延遲校驗方法,在充 分保證磁碟陣列的容錯能力的同時,加快寫操作的處理速度,有效降低更 新校驗塊的開銷,提高磁碟陣列系統的讀寫性能。
為解決上述技術問題,本發明的技術方案如下
一種磁碟陣列的數據讀寫方法,所述磁碟陣列的每個磁碟條帶具有一 個狀態屬性,所述狀態屬性為寫操作頻繁狀態、寫操作不頻繁狀態或者延 遲更新校驗塊狀態,所述i茲盤陣列的數據讀寫方法包括以下步驟
A、 內存分配多個條帶結構,創建一個磁碟條帶狀態位圖,以記錄全部 磁碟條帶的狀態屬性;初始化所述磁碟條帶狀態位B、 接收用戶讀寫請求,並更新所述磁碟條帶狀態位圖上的目標磁碟條 帶的狀態屬性;
C、 執行用戶的讀寫請求,如果是寫請求,則執行寫目標磁碟條帶並根 據目標磁碟條帶的狀態屬性執行更新校驗塊或者延遲更新校驗塊,如果是 讀請求,則執行一讀請求處理流程。所述的》茲盤陣列的數據讀寫方法,其中,所述步驟c中,如果是寫請
求,則在執行所述寫目標磁碟條帶的同時檢查其狀態屬性是否為寫操作不 頻繁狀態,如果是則選擇執行所述更新校驗塊,如果不是則選擇執行所述 延遲更新校驗塊。
所述的萬茲盤陣列的翁:據讀寫方法,其中,所述步驟A中,所述初始化 ,茲盤條帶狀態位圖為將其上記錄的每個石茲盤條帶的狀態初始化為寫操作不 頻繁狀態。
所述的磁碟陣列的數據讀寫方法,其中,所述磁碟條帶的狀態屬性以 一個標記值記錄在所述》茲盤條帶狀態位圖上,所述標記值為2位二進位值, 所述寫操作頻繁狀態、寫操作不頻繁狀態或者延遲更新校驗塊狀態的標記 值不同。
所述的磁碟陣列的數據讀寫方法,其中,所述步驟C中,所述讀請求 處理流程包括以下步驟
將目標數據塊讀入對應條帶結構的數據緩沖區;
判斷所述對應的條帶結構的所有數據緩衝區是否完全更新,如果是, 則執行步驟A5;
所述步驟A5為檢查目標磁碟條帶的狀態屬性是否為延遲更新校驗塊 狀態,如果是,則更新目標磁碟條帶的校驗塊並更新所述目標磁碟條帶的 狀態屬性為寫操作不頻繁狀態。
所述的磁碟陣列的數據讀寫方法,其中,在執行步驟A中,在所述初 始化每個磁碟條帶的狀態屬性之前執行一個步驟D,所述步驟D為檢查 所述磁碟條帶狀態位圖是否記錄有延遲狀態,如果有則更新其相應^茲盤條 帶的校驗塊。
所述的磁碟陣列的數據讀寫方法,其中,步驟A中,所述條帶結構具 有一個寫計數屬性,其由一個寫計數屬性維護線程維護,^沒定所述計數屬 性維護線程一個計數周期,並設定一個閾值,初始化所述^茲盤條帶狀態位圖的同時對每個條帶結構的寫計數屬性清O,並開始一個計數周期;步驟B 中,接收用戶讀寫請求,每接收一個寫請求則所述寫計數屬性維護線程對 所述目標磁碟條帶所對應條帶結構的寫計數屬性加1,在所述計數周期結束 時,所述條帶結構的寫計數屬性大於所述閾值,則更新其對應的目標磁碟 條帶的狀態屬性為所述寫操作頻繁狀態,所述寫計數屬性小於或者等於所 述閾值,則更新其對應的目標磁碟條帶的狀態屬性為寫操作不頻繁狀態。
所述的磁碟陣列的數據讀寫方法,其中,所述更新校驗塊的步驟為讀 取目標^磁碟條帶的數據塊並依次進行異或計算,將所述異或計算的結果寫 入所述校-瞼塊。
所述的;茲盤陣列的數據讀寫方法,其中,所述步驟C中,所述執行延 遲更新校驗塊包括以下步驟
判斷所述目標磁碟條帶的狀態屬性為寫操作頻繁狀態還是延遲更新校 驗塊狀態,如果是寫操作頻繁狀態,則執行步驟A3,如果是延遲更新校驗 塊狀態,則執行步驟B3;
所述步驟A3為更新所述目標磁碟條帶的狀態屬性為延遲更新校驗塊 狀態,並開始計時一個延遲時間,在所述延遲時間內,延遲更新校驗塊;
所述步驟B3為判斷所述延遲時間是否結束,如果是,則執行更新校 驗塊並將目標^茲盤條帶的狀態屬性更新為寫操作不頻繁狀態。
所述的磁碟陣列的數據讀寫方法,其中,所述目標磁碟條帶的狀態屬 性由 一個狀態訪問線程訪問所述^f茲盤條帶位圖獲得,所述寫計數屬性維護 線程與狀態訪問線程互斥。
本發明提供了 一種磁碟陣列的自適應延遲校驗方法,動態地檢測並記 錄磁碟陣列中的寫操作頻率高的磁碟條帶,並延遲處理處於所述寫操作頻 率高的磁碟條帶的校驗塊更新。在保證系統容錯功能的前提下,本發明有 效減少了寫操作頻繁的情況下校驗塊的更新次數即校驗數據的計算和寫入 的次數,大大提高系統的讀寫處理速度,加快對用戶讀寫請求的響應,顯著改善》茲盤陣列的讀寫性能。


圖1是現有技術中的一種RAID系統的磁碟結構示意圖2是現有技術中的RAID系統處理用戶的讀寫請求的時序圖3是本發明第一實施例提供的一種磁碟陣列數據分布及其磁碟條帶
狀態位圖的示意圖4是本發明第一實施例提供的磁碟陣列的數據讀寫方法的流程圖; 圖5是本發明第一實施例提供的磁碟陣列的數據讀寫方法中的延遲校
驗處理的流程圖6是本發明第一實施例提供的磁碟陣列的數據讀寫方法中的讀請求 處理的流程圖7是採用本發明第一實施例提供的磁碟陣列的數據讀寫方法處理讀 寫請求的時序具體實施例方式
下面結合附圖和具體實施方式
對本發明進行詳細說明。 請參閱圖3,為本發明第一實施例提供的一種由四塊磁碟組成的一種 RAID5敘Jf茲盤陣列以及為所述磁碟陣列創建的一個磁碟條帶狀態為圖,所 述四塊磁碟分別為磁碟1、磁碟2、磁碟3以及磁碟4。所述磁碟陣列的數 據塊按照左旋不對稱方式分布。
每個磁碟被劃分為N個數據塊,所述四個磁碟分別貢獻出一個數據塊 構成該磁碟陣列中的一個磁碟條帶(StripeD),每個磁碟條帶為所述磁碟陣列 的一個行,可以理解所述磁碟陣列有N個磁碟條帶,來自磁碟I的一個數 據塊0、來自磁碟2的數據塊1、來自磁碟3的數據塊2以及來自磁碟4的 校驗塊Pl構成一個磁碟條帶1 (StripeDj ,依次類推,構成StripeD2、StripeD3.........StripeDN。
所述磁碟陣列的每個磁碟條帶具有一個狀態屬性,所述狀態屬性為寫 操作頻繁狀態、寫操作不頻繁狀態或者延遲更新校驗塊狀態。所述延遲更 新校驗塊狀態即是目標數據塊處於被寫中,而校驗塊未更新,校驗塊更新 操作被延遲至一延遲時間之後進行。
定義所述f茲盤條帶處於寫操作頻繁狀態為熱點狀態;定義所述磁碟條
帶處於寫操作不頻繁狀態為冰點狀態;定義所述磁碟條帶處於延遲更新檢
驗塊的狀態為延遲狀態。
優選地,在本實施例中,預先設定一個閾值,在一個計數周期內,目 標磁碟條帶被執行寫操作次數大於所述閾值時,標記該目標磁碟條帶處於
熱點狀態;目標磁碟條帶寫^:作次數小於或者等於該閾值時,標記該目標
磁碟條帶處於冰點狀態。
請參閱表l,優選地,本實施例提供的所述熱點狀態、冰點狀態以及延 遲狀態分別對應的標記值按照表1的對應關係。優選地,本實施例的所述 磁碟條帶狀態標記值採用2bit (位)。
表1
磁碟條帶狀態標記值磁碟條帶狀態
00冰點狀態
01熱點狀態
11延遲狀態
因此,可以理解的是,對於本實施例的磁碟陣列,StripeDl、 StripeD3 和StripeD5對應的狀態位圖標記為00,表示在目前的一個計數周期內, StripeDl、 StripeD3和StripeD5這些磁碟條帶作為目標的寫請求較少,即其 處於水點狀態;
StripeD2的狀態位圖為01,表示在該計數周期內,已接收到較多針對
12StripeD2的寫請求,此時StripeD2校驗塊的內容需要頻繁更新,但是這些 更新目前並未延遲處理,磁碟條帶處於熱點狀態;StripeD4的狀態位圖為 11,表示系統判定針對StripeD4的寫請求十分密集,處理寫請求時對 StripeD4的校驗塊更新做出延遲處理來提升性能,磁碟條帶處於延遲狀態。 當然,所述磁碟條帶狀態標記值不限於所述2bit格式,其只要能夠區 分所述三種磁碟條帶狀態且可以適合計算機存儲及辨識的值的形式都可 以。
當然,所述三種磁碟條帶狀態與標記值"00、 01、 11"的對應關係不 限於表1給出的對應關係,還可以為水點狀態對應"01"、熱點狀態對應 "00"以及延遲狀態對應"11"的對應關係等。
在實際情況中,由於寫請求通常具備連續性,則》茲盤陣列中的多個相 鄰磁碟條帶的狀態位圖標記相同。
在本實施例中,預先創建所述磁碟條帶狀態位圖,所述磁碟條帶狀態 位圖具有N個狀態塊,分別對應所述N個石茲盤條帶,記錄所述N個磁碟條 帶的狀態值,以標記其處於寫操作頻繁狀態、寫操作不頻繁狀態或者是延 遲更新校驗塊狀態。
優選地,在本實施例中,內存中每個條帶結構具有一個寫計數屬性, 系統分配一個寫計數屬性維護線程以維護所述寫計數屬性。具體地,系統 每接收一個寫請求,所迷寫計數維護線程對所述寫計數屬性加1,所述寫計 數維護線程採用定時機制,即設定一個計數周期,在所述一個計數周期內, 所述寫技術維護線程掃描該內存中正在使用(或者稱為被激活)的條帶結 構的寫計數屬性,判斷其是否超過一個閾值,如果超過所述閾值,則將其 對應的磁碟條帶對應的狀態塊更新為熱點狀態值;否則將其更新為水點狀 態值,如果所述狀態塊的位圖標記為延遲狀態,則不進^f亍更新。
上述判斷完畢,將所述寫計數屬性清O,所有被激活的條帶結構掃描完 成之後進入下一個周期。下面結合圖4詳細說明本發明第一實施例提供的》茲盤陣列的數據讀寫方法。
圖4為本發明第一實施例的磁碟P牟列的數據讀寫方法流程圖,包括步 驟一、步驟二和步驟三
步驟一 內存分配多個條帶結構,創建所述^f茲盤條帶狀態位圖,以記錄 所述^f茲盤條帶的狀態屬性;初始化所述磁碟條帶狀態位本領域的技術人員可以理解,內存分配出多個條帶結構(Stripe)。激 活其中一個條帶結構用於對應所述磁碟陣列的一個目標磁碟條帶StripeD, 所述目標磁碟條帶即為被請求讀操作或者寫操作的目標磁石茲盤條帶。所述 StripeD和Stripe中的數據塊大小是相同的。所述內存的條帶結構的數目遠 遠低於所述磁碟陣列中的磁碟條帶的數目,內存的條帶結構只分配給被用 戶請求到的StripeD即目標磁碟陣列,所述分配出的對應目標磁碟條帶的條 帶結構稱為被激活的條帶結構。
所述初始化所述磁碟條帶狀態位圖,具體為,將其上記錄的每個磁碟 條帶的狀態值初始化為所述冰點狀態。
設定所述計數屬性維護線程的計數周期,並設定所述闞值,初始化所 述磁碟條帶狀態位圖的同時對每個條帶結構的寫計數屬性清0,並開始所述 計數周期;
步驟二接收讀寫請求,並更新所述磁碟條帶狀態位圖。
本實施例中,在接收讀寫請求時執行一個寫計數以更新所述磁碟條帶
狀態位圖,所述執行寫計數為每接收一個寫請求,所述寫計數屬性維護
線程對目標磁碟條帶對應的條帶結構的寫計數屬性加1,並根據所述執行寫
計數的結果更新所述磁碟條帶狀態位圖。
具體地,在所述計數周期內,所述寫計數屬性大於所述閾值,更新所
述磁碟條帶的狀態屬性為所述熱點狀態,所述寫計數屬性小於或者等於所
述閾值,所述磁碟條帶的狀態屬性保持為冰點狀態。步驟三執行用戶的讀寫請求,如果是寫請求,則進入一個寫請求處理 流程,如果是讀請求,則進入一讀請求處理流程。
所述寫請求處理流程包括以下步驟判斷目標》茲盤條帶的狀態屬性是 否為水點狀態,如果是,則寫入目標數據塊並更新校驗塊,然後將目標磁 盤條帶的狀態位圖更新為水點狀態"00",如果否,則寫入目標數據塊, 然後進入一個校驗延遲處理流程。
所述寫請求處理流程中的更新校驗塊的步驟為讀取目標數據塊所在 磁碟條帶的其他數據塊並與目標數據塊進行依次異或計算,將所述異或計 算的結果寫入所述校驗塊;
下面結合圖5詳細說明所述寫請求處理流程中的校驗延遲處理流程, 所述校-險延遲處理流程的步驟為
判斷所述目標》茲盤條帶的狀態為熱點狀態還是延遲狀態;
如果所述目標》茲盤條帶的狀態是熱點狀態"01",則執行步驟A3,如 果所述目標磁碟條帶的狀態是延遲狀態"11",則執行步驟B3;
所述步驟A3為更新所述目標》茲盤條帶的狀態為延遲狀態,並開始計 時一個延遲時間。
所述步驟B3為首先判斷所述延遲狀態的延遲時間是否結束,如果所 述延遲時間結束,則執行更新校驗塊,並將目標磁碟條帶的狀態位圖更新 為水點狀態"00"。
可以理解的是,所述延遲時間的時間長度根據實際需要在系統初始化 時進行設定,不限於一個固定的值。當然,所述延遲時間越長,校驗更新 的次數會越少,磁碟陣列的讀寫效率會越高,而數據丟失的風險相對於延 遲時間較短的磁碟陣列而言則越大。
下面結合圖6詳細說明所述步驟三中的讀請求處理流程。
首先,讀取目標數據塊並寫入數據緩衝區;
具體地,將目標數據塊的數據讀入其所在^i盤條帶所對應的內存的條帶結構的數據緩衝區中。
然後,判斷目標數據塊所在磁碟條帶對應的條帶結構是否更新,是則
執行步驟A5,否則結束所述讀請求處理並返回;
所述步驟A5為查看所述^f茲盤條帶的狀態是否為延遲狀態,是則更新 校驗塊並結束所述校驗延遲時間,否則結束所述讀請求處理並返回。
在本實施例中,所述磁碟條帶的狀態屬性由一個狀態訪問線程訪問所 述磁碟條帶位圖獲得,所述寫計數屬性維護線程與狀態訪問線程互斥。優 選地,設定所述寫計數屬性維護線程的優先級高於所述磁碟條帶狀態位圖 訪問的優先級。
請參閱圖7,為圖3的磁碟陣列採用本發明第一實施例提供的磁碟陣列 數據讀寫方法的讀寫請求處理時序圖。
所述磁碟陣列執行對磁碟條帶StripeD,中數據塊的讀寫操作,包括寫數 據塊0,寫數據塊O和數據塊l,讀數據塊l,寫數據塊0、數據塊l和數 據塊2,以及寫數據塊2共計六次讀寫操作。
採用本發明第一實施例給出的磁碟陣列的數據讀寫方法後,如圖7所 示,計算和寫入校驗塊Pl的操作被延遲,在此之前針對StripeD,中數據塊 的寫操作處理都沒有更新Pl,節省了寫請求的處理時間,加快了磁碟陣列 處理讀寫的速度。
可見,採用本發明第一實施例提供的磁碟陣列的數據讀寫方法,在一 個計數周期內,讀寫處理時序明顯比現有技術的讀寫處理時序減少了多個 更新校驗的時間,提高了數據讀寫效率。在保證磁碟陣列容錯能力的前提 下,有效減少了寫操作頻繁的情況下校驗數據的更新次數,大大提高系統 的讀寫處理速度,加快磁碟陣列對用戶的響應,有效改善磁碟陣列的讀寫性能。
下面詳細說明本發明第二實施例的磁碟陣列的數據讀取方法,其與本 發明第一實施例的不同點在於,在步驟一中,在所述初始化每個i茲盤條帶
16的狀態屬性之前執行一個步驟D,所述步驟D為檢查所述磁碟條帶狀態 位圖是否記錄有延遲狀態,如果有則更新其相應磁碟條帶的校驗塊。
可以理解的是,本發明第二實施例的磁碟陣列,在當磁碟陣列意外被 停止運行,系統在下一次啟動時,在所述初始化每個磁碟條帶的狀態屬性 之前,執行步驟D,可以恢復磁碟陣列被停止運行時的數據,在具備本發 明第一實施例的有益效果基礎上,數據安全性更高。
以上說明書中的具體實施部分,僅是本發明的較佳實施例而已,並非 對本發明作任何形式上的限制,雖然本發明已以較佳實施例揭露如上,然 而並非用以限定本發明,任何熟悉本專業的技術人員,在不脫離本發明技 術方案範圍內,當可利用上述揭示的方法及技術內容做出些許的更動或修 飾為等同變化的等效實施例,但是凡是未脫離本發明技術方案的內容,依 據本發明的技術實質對以上實施例所作的任何簡單修改、等同變化與修飾, 均仍屬於本發明技術方案的範圍內。
權利要求
1、一種磁碟陣列的數據讀寫方法,所述磁碟陣列的每個磁碟條帶具有一個狀態屬性,所述狀態屬性為寫操作頻繁狀態、寫操作不頻繁狀態或者延遲更新校驗塊狀態,所述磁碟陣列的數據讀寫方法包括以下步驟A、內存分配多個條帶結構,創建一個磁碟條帶狀態位圖,以記錄全部磁碟條帶的狀態屬性;初始化所述磁碟條帶狀態位圖;B、接收用戶讀寫請求,並更新所述磁碟條帶狀態位圖上的目標磁碟條帶的狀態屬性;C、執行用戶的讀寫請求,如果是寫請求,則執行寫目標磁碟條帶並根據目標磁碟條帶的狀態屬性執行更新校驗塊或者延遲更新校驗塊,如果是讀請求,則執行一讀請求處理流程。
2、 如權利要求1所述的磁碟陣列的數據讀寫方法,其特徵在於,所述 步驟C中,如果是寫請求,則在執行所述寫目標磁碟條帶的同時檢查其狀 態屬性是否為寫操作不頻繁狀態,如果是則選擇執行所述更新校驗塊,如 杲不是則選擇執行所述延遲更新校驗塊。
3、 如權利要求1所述的磁碟陣列的數據讀寫方法,其特徵在於,所述 步驟A中,所述初始化》茲盤條帶狀態位圖為將其上記錄的每個磁碟條帶的 狀態初始化為寫操作不頻繁狀態。
4、 如權利要求1所述的磁碟陣列的數據讀寫方法,其特徵在於,所述 磁碟條帶的狀態屬性以一個標記值記錄在所述磁碟條帶狀態位圖上,所述 標記值為2位二進位值,所述寫操作頻繁狀態、寫操作不頻繁狀態或者延 遲更新校驗塊狀態的標記值不同。
5、 如權利要求1所述的磁碟陣列的數據讀寫方法,其特徵在於,所述步驟C中,所述讀請求處理流程包括以下步驟將目標數據塊讀入對應條帶結構的數據緩衝區;判斷所述對應的條帶結構的所有數據緩衝區是否完全更新,如果是, 則執行步驟A5;所述步驟A5為檢查目標磁碟條帶的狀態屬性是否為延遲更新校驗塊 狀態,如果是,則更新目標磁碟條帶的校驗塊並更新所述目標磁碟條帶的 狀態屬性為寫操作不頻繁狀態。
6、 如權利要求1所述的磁碟陣列的數據讀寫方法,其特徵在於,在執 行步驟A中,在所述初始化每個磁碟條帶的狀態屬性之前執行一個步驟D, 所述步驟D為檢查所述磁碟條帶狀態位圖是否記錄有延遲狀態,如果有 則更新其相應磁碟條帶的校驗塊。
7、 如權利要求1所述的磁碟陣列的數據讀寫方法,其特徵在於,步驟 A中,所述條帶結構具有一個寫計數屬性,其由一個寫計數屬性維護線程 維護,設定所述計數屬性維護線程一個計數周期,並設定一個閾值,初始 化所述磁碟條帶狀態位圖的同時對每個條帶結構的寫計數屬性清0,並開始 一個計數周期;步驟B中,接收用戶讀寫請求,每接收一個寫請求則所述 寫計數屬性維護線程對所述目標磁碟條帶所對應條帶結構的寫計數屬性加 1,在所述計數周期結束時,所述條帶結構的寫計數屬性大於所述閾值,則 更新其對應的目標磁碟條帶的狀態屬性為所述寫操作頻繁狀態,所述寫計 數屬性小於或者等於所述閾值,則更新其對應的目標磁碟條帶的狀態屬性 為寫操作不頻繁狀態。
8、 如權利要求1或2所述的磁碟陣列的數據讀寫方法,其特徵在於, 所述更新校驗塊的步驟為讀取目標磁碟條帶的數據塊並依次進行異或計 算,將所述異或計算的結果寫入所述校驗塊。
9、 如權利要求2所述的磁碟陣列的數椐讀寫方法,其特徵在於,所述 步驟C中,所述執行延遲更新校驗塊包括以下步驟判斷所述目標磁碟條帶的狀態屬性為寫操作頻繁狀態還是延遲更新校 驗塊狀態,如果是寫操作頻繁狀態,則執行步驟A3,如果是延遲更新校驗 塊狀態,則執行步驟B3;所述步驟A3為更新所述目標^茲盤條帶的狀態屬性為延遲更新校驗塊 狀態,並開始計時一個延遲時間,在所述延遲時間內,延遲更新校驗塊;所述步驟B3為判斷所述延遲時間是否結束,如果是,則執行更新校 驗塊並將目標磁碟條帶的狀態屬性更新為寫操作不頻繁狀態。
10、 如權利要求2或9所述的磁碟陣列的數據讀寫方法,其特徵在於, 所迷目標磁碟條帶的狀態屬性由一個狀態訪問線程訪問所述磁碟條帶位圖 獲得,所述寫計數屬性維護線程與狀態訪問線程互斥。
全文摘要
本發明提供了一種磁碟陣列的數據讀寫方法,其包括以下步驟內存分配多個條帶結構,創建一個磁碟條帶狀態位圖,以記錄全部磁碟條帶的狀態屬性;初始化所述磁碟條帶狀態位圖;接收用戶讀寫請求,並更新所述磁碟條帶狀態位圖;執行用戶的讀寫請求,如果是寫請求,則執行寫目標數據塊並根據所述目標數據塊所在磁碟條帶的狀態屬性執行更新校驗塊或者延遲執行更新校驗塊,如果是讀請求,則執行一讀請求處理流程。本發明的磁碟陣列的數據讀寫方法,採用磁碟條帶狀態位圖自適應檢測其被寫操作頻度,對於寫操作頻率高的磁碟條帶,延遲更新檢驗塊,加快所述磁碟陣列的讀寫處理效率。
文檔編號G06F3/06GK101566924SQ20081006700
公開日2009年10月28日 申請日期2008年4月23日 優先權日2008年4月23日
發明者佳 王 申請人:中興通訊股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀