專利名稱:寫頁面空間分配方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明實施例涉及計算機技術(shù),尤其涉及一種寫頁面空間分配方法和裝置。
背景技術(shù):
獨立磁盤冗余陣列(Redundant Array of Independent Drive,以下簡稱 RAID)的優(yōu)點存在于三個方面,即可用性(Availability)、容量(Capacity)和性能 (Performance)。在存儲系統(tǒng)中利用RAID技術(shù)的好處主要有以下三種一是通過把多個磁盤組織在一起作為一個邏輯卷,以提供磁盤跨越功能,該多個磁盤稱為RAID的成員盤; 二是通過把數(shù)據(jù)分成多個數(shù)據(jù)塊(Block)并行寫入或讀出多個磁盤,以提高訪問磁盤的速度,該性能被稱為RAID的并發(fā)性;三是通過鏡像或校驗操作提供容錯能力。根據(jù)實際情況選擇適當?shù)腞AID級別可以滿足用戶對存儲系統(tǒng)可用性、容量和性能的要求。常用的RAID 級別有以下幾種NRAID、JB0D(Just a Bunch Of Disks,磁盤簇)、RAIDO、RAIDl、RAID0+1、 RAID3.RAID5 等。一個RAID組中的成員盤對應(yīng)一個邏輯磁盤,主機的寫請求訪問的地址為邏輯地址。主機寫請求的數(shù)據(jù)先寫在磁盤陣列的cache中,之后再從緩存中寫到RAID組中的物理磁盤。當數(shù)據(jù)存在于緩存中還未寫進硬盤時,被稱為臟數(shù)據(jù)。磁盤陣列中的cache大小受限于陣列的內(nèi)存大小。當某些邏輯磁盤寫物理磁盤的速度小于主機寫cache的速度,這些邏輯磁盤的臟數(shù)據(jù)會在cache中堆積,直到cache填滿,影響其它邏輯磁盤的數(shù)據(jù)寫入cache。 當一個磁盤陣列中存在不同訪問速度的raid組時,由于寫速度較慢的raid組的臟數(shù)據(jù)占據(jù)緩存空間的時間較長,會導(dǎo)致寫速度較快的raid組的主機寫請求,無法在cache中及時分配到寫頁面,無法得到及時的響應(yīng),導(dǎo)致寫速度較快的raid組的優(yōu)勢不能充分發(fā)揮,訪問效率較差。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種寫頁面空間分配方法和裝置,用以解決現(xiàn)有技術(shù)中寫速度較快的raid組的寫請求無法得到及時響應(yīng)的缺陷。本發(fā)明實施例提供的一種寫頁面空間分配方法,包括統(tǒng)計上一個周期內(nèi)每個邏輯磁盤的寫物理磁盤頁面數(shù),并計算所述上一個周期內(nèi)所有邏輯磁盤的寫物理磁盤總頁面數(shù);對于每個邏輯磁盤,根據(jù)所述上一個周期內(nèi)所述邏輯磁盤的寫物理磁盤頁面數(shù)、 緩存的可用總寫頁面數(shù)和所有邏輯磁盤的寫物理磁盤總頁面數(shù),確定當前周期內(nèi)所述邏輯磁盤的理論可用寫頁面數(shù);所述緩存為磁盤陣列中的緩存;在當前周期內(nèi)所述邏輯磁盤的理論可用寫頁面數(shù)大于等于所述邏輯磁盤的最小可用寫頁面數(shù)時,將所述邏輯磁盤的理論可用寫頁面數(shù)確定為邏輯磁盤的可用寫頁面數(shù);在所述當前周期內(nèi)所述邏輯磁盤的理論可用寫頁面數(shù)小于所述邏輯磁盤的最小可用寫頁面數(shù)時,將所述邏輯磁盤的最小可用寫頁面數(shù)確定為所述邏輯磁盤的可用寫頁面
根據(jù)所述當前周期內(nèi)每個邏輯磁盤的可用寫頁面數(shù),在所述緩存中為每個邏輯磁盤分配寫頁面空間。本發(fā)明實施例提供的一種寫頁面空間分配裝置,包括統(tǒng)計模塊,用于統(tǒng)計上一個周期內(nèi)每個邏輯磁盤的寫物理磁盤頁面數(shù),并計算所述上一個周期內(nèi)所有邏輯磁盤的寫物理磁盤總頁面數(shù);理論寫頁面數(shù)控制模塊,用于對于每個邏輯磁盤,根據(jù)所述上一個周期內(nèi)所述邏輯磁盤的寫物理磁盤頁面數(shù)、緩存的可用總寫頁面數(shù)和所有邏輯磁盤的寫物理磁盤總頁面數(shù),確定當前周期內(nèi)所述邏輯磁盤的理論可用寫頁面數(shù);所述緩存為磁盤陣列中的緩存;可用寫頁面數(shù)控制模塊,用于在當前周期內(nèi)所述邏輯磁盤的理論可用寫頁面數(shù)大于等于所述邏輯磁盤的最小可用寫頁面數(shù)時,將所述邏輯磁盤的理論可用寫頁面數(shù)確定為邏輯磁盤的可用寫頁面數(shù);在所述當前周期內(nèi)所述邏輯磁盤的理論可用寫頁面數(shù)小于所述邏輯磁盤的最小可用寫頁面數(shù)時,將所述邏輯磁盤的最小可用寫頁面數(shù)確定為所述邏輯磁盤的可用寫頁面數(shù);寫頁面空間分配模塊,用于根據(jù)所述當前周期內(nèi)每個邏輯磁盤的可用寫頁面數(shù), 在所述緩存中為每個邏輯磁盤分配寫頁面空間。本發(fā)明實施例提供的寫頁面空間分配方法和寫頁面空間分配裝置,為每個邏輯磁盤在磁盤陣列的緩存中分配有寫頁面空間。頁面空間分配裝置周期性統(tǒng)計每個邏輯磁盤的寫物理磁盤頁面數(shù),并且根據(jù)的是上一個周期內(nèi)每個邏輯磁盤的寫物理磁盤頁面數(shù)、緩存的可用總寫頁面數(shù)和所有邏輯磁盤的寫物理磁盤總頁面數(shù)以及每個邏輯磁盤的最小可用寫頁面數(shù),確定當前周期內(nèi)每個邏輯磁盤的可用寫頁面數(shù)。因此,上一周期寫物理磁盤頁面數(shù)大即寫物理磁盤流量大的邏輯磁盤,可以在當前周期內(nèi)獲得更多的可用寫頁面數(shù),使得緩存中有足夠的寫頁面空間及時響應(yīng)寫物理磁盤速度較快的邏輯磁盤的寫請求,因而使寫物理磁盤速度較快的邏輯磁盤和寫物理磁盤速度較慢的邏輯磁盤可以合理共享磁盤陣列的緩存。
圖1為本發(fā)明實施例提供的寫頁面空間分配方法實施例一流程圖;圖2A為本發(fā)明實施例提供的寫頁面空間分配方法中處理主機寫請求的方法實施例一流程圖;圖2B為本發(fā)明實施例提供的一種應(yīng)用場景圖;圖3為本發(fā)明實施例提供的寫頁面空間分配方法中處理主機寫請求的方法實施例二流程圖;圖4為本發(fā)明實施例提供的寫頁面空間分配裝置實施例一結(jié)構(gòu)示意圖;圖5為本發(fā)明實施例提供的寫頁面空間分配裝置實施例二結(jié)構(gòu)示意圖;圖6為本發(fā)明實施例提供的寫頁面空間分配裝置實施例三結(jié)構(gòu)示意圖。
具體實施例方式圖1為本發(fā)明實施例提供的寫頁面空間分配方法實施例一流程圖。本發(fā)明實施例中一個RAID組的所有成員盤對應(yīng)一個邏輯磁盤,每個邏輯磁盤當前周期在磁盤陣列的緩存中可占據(jù)的寫頁面空間,根據(jù)上一周期的寫物理磁盤情況動態(tài)分配。在處理主機的寫請求時,一個邏輯磁盤對應(yīng)一個寫請求等待隊列,用于等待在邏輯磁盤可占據(jù)的頁面空間中分配寫頁面。如圖1所示,本實施例包括步驟11 寫頁面空間分配裝置統(tǒng)計上一個周期內(nèi)每個邏輯磁盤的寫物理磁盤頁面數(shù),并計算上一個周期內(nèi)所有邏輯磁盤的寫物理磁盤總頁面數(shù)。其中,寫物理磁盤頁面數(shù)是一個統(tǒng)計周期內(nèi)每個邏輯磁盤寫物理磁盤成功的頁面數(shù);寫頁面空間分配裝置周期性統(tǒng)計每個邏輯磁盤的寫物理磁盤頁面數(shù),統(tǒng)計周期的范圍可以是0. 1秒至10秒。所述上一個周期可以是一個或多個讀或?qū)懖僮髡埱笾芷?,用戶可以在固定的周期?nèi)根據(jù)主機的讀IO請求或?qū)慖O請求的流量統(tǒng)計,調(diào)整每個邏輯磁盤的頁面配額。所有邏輯磁盤的寫物理磁盤總頁面數(shù)為每個邏輯磁盤的寫物理磁盤頁面數(shù)之和。步驟12 對于每個邏輯磁盤,寫頁面空間分配裝置根據(jù)上一個周期內(nèi)所述邏輯磁盤的寫物理磁盤頁面數(shù)、緩存的可用總寫頁面數(shù)和所有邏輯磁盤的寫物理磁盤總頁面數(shù), 確定當前周期內(nèi)所述邏輯磁盤的理論可用寫頁面數(shù);所述緩存為磁盤陣列中的緩存。寫頁面空間分配裝置計算每個邏輯磁盤在當前周期內(nèi)的可用寫頁面數(shù)。對于一個邏輯磁盤,根據(jù)上一個周期內(nèi)該邏輯磁盤的寫物理磁盤頁面數(shù)、緩存的可用總寫頁面數(shù)和所有邏輯磁盤的寫物理磁盤總頁面數(shù),計算該邏輯磁盤的理論可用寫頁面數(shù)。通過查詢內(nèi)存變量的記錄信息,獲取以下信息上一個周期內(nèi)所述邏輯磁盤的寫物理磁盤頁面數(shù)、緩存的可用總寫頁面數(shù)和所有邏輯磁盤的寫物理磁盤總頁面數(shù),以及邏輯磁盤的最小可用寫頁面數(shù)。之后,根據(jù)緩存的可用總寫頁面數(shù)和所述上一個周期內(nèi)該邏輯磁盤的寫物理磁盤頁面數(shù)占所有邏輯磁盤的寫物理磁盤總頁面數(shù)的比率,確定當前周期內(nèi)該邏輯磁盤的理論可用寫頁面數(shù)。上一個周期內(nèi)該邏輯磁盤的寫物理磁盤頁面數(shù)占所有邏輯磁盤的寫物理磁盤總頁面數(shù)的比率越高,表明上一周期該邏輯磁盤在緩存中訪問的寫頁面數(shù)越多。上一周期該邏輯磁盤在緩存中訪問的寫頁面數(shù)較多時,當前周期該邏輯磁盤在緩存中也可能需要訪問較多的寫頁面空間。因此,可通過該邏輯磁盤的寫物理磁盤頁面數(shù)占所有邏輯磁盤的寫物理磁盤總頁面數(shù)的比率確定當前周期內(nèi)該邏輯磁盤的理論可用寫頁面數(shù)。例如,根據(jù)緩存的可用總寫頁面數(shù)與所述上一個周期內(nèi)所述邏輯磁盤的寫物理磁盤頁面數(shù)占所有邏輯磁盤的寫物理磁盤總頁面數(shù)的比率的乘積,確定當前周期內(nèi)所述邏輯磁盤的理論可用寫頁面數(shù)。所述上一個周期內(nèi)所述邏輯磁盤的寫物理磁盤頁面數(shù)占所有邏輯磁盤的寫物理磁盤總頁面數(shù)的比率,為所述上一個周期內(nèi)所述邏輯磁盤的寫物理磁盤頁面數(shù)與所有邏輯磁盤的寫物理磁盤總頁面數(shù)的比值。其中,緩存的可用總寫頁面數(shù)為緩存的總寫頁面數(shù)中減去保留寫頁面數(shù)后的寫頁面數(shù)。邏輯磁盤的最小可用寫頁面數(shù),可為滿足最大輸入輸出請求訪問的寫頁面數(shù)量。步驟13A 在當前周期內(nèi)所述邏輯磁盤的理論可用寫頁面數(shù)大于等于所述邏輯磁盤的最小可用寫頁面數(shù)時,將所述邏輯磁盤的理論可用寫頁面數(shù)確定為邏輯磁盤的可用寫頁面數(shù)。步驟13B 在當前周期內(nèi)所述邏輯磁盤的理論可用寫頁面數(shù)小于所述邏輯磁盤的最小可用寫頁面數(shù)時,將所述邏輯磁盤的最小可用寫頁面數(shù)確定為所述邏輯磁盤的可用寫頁面數(shù)。
6
判斷當前周期內(nèi)該邏輯磁盤的理論可用寫頁面數(shù)是否大于等于該邏輯磁盤的最小可用寫頁面數(shù)。在當前周期內(nèi)該邏輯磁盤的理論可用寫頁面數(shù)大于等于該邏輯磁盤的最小可用寫頁面數(shù)時,將該邏輯磁盤的理論可用寫頁面數(shù)確定為邏輯磁盤的可用寫頁面數(shù); 在所述當前周期內(nèi)所述邏輯磁盤的理論可用寫頁面數(shù)小于所述邏輯磁盤的最小可用寫頁面數(shù)時,將該邏輯磁盤的最小可用寫頁面數(shù)確定為該邏輯磁盤的可用寫頁面數(shù)。當前周期內(nèi)邏輯磁盤的可用寫頁面數(shù),可為當前周期內(nèi)該邏輯磁盤的最優(yōu)分配頁面數(shù)。步驟14 寫頁面空間分配裝置根據(jù)所述當前周期內(nèi)每個邏輯磁盤的可用寫頁面數(shù),在所述緩存中為每個邏輯磁盤分配寫頁面空間。本發(fā)明實施例提供的寫頁面空間分配方法,寫頁面寫空間分配裝置為每個邏輯磁盤在磁盤陣列的緩存中分配有寫頁面空間。寫頁面空間分配裝置周期性統(tǒng)計每個邏輯磁盤的寫物理磁盤頁面數(shù),并且根據(jù)的是上一個周期內(nèi)每個邏輯磁盤的寫物理磁盤頁面數(shù)、緩存的可用總寫頁面數(shù)和所有邏輯磁盤的寫物理磁盤總頁面數(shù)以及每個邏輯磁盤的最小可用寫頁面數(shù),確定當前周期內(nèi)每個邏輯磁盤的可用寫頁面數(shù)。因此,上一周期寫物理磁盤頁面數(shù)大的邏輯磁盤,即寫物理磁盤流量的邏輯磁盤,可以在當前周期內(nèi)獲得更多的寫頁面空間,使得緩存中有足夠的寫頁面空間及時響應(yīng)寫物理磁盤速度較快的邏輯磁盤的寫請求,因而使寫物理磁盤速度較快的邏輯磁盤和寫物理磁盤速度較慢的邏輯磁盤可以合理共享磁盤陣列的緩存。圖2A為本發(fā)明實施例提供的寫頁面空間分配方法中處理主機寫請求的方法實施例一流程圖。如圖2A所示,本實施例包括步驟21 接收主機發(fā)送的寫頁面分配請求,所述寫頁面分配請求用于在所述緩存中為指定邏輯磁盤分配的寫頁面空間中請求N個空閑頁面,所述N為申請寫頁面數(shù);步驟22 判斷該指定邏輯磁盤的等待隊列是否為空。如果不為空,執(zhí)行步驟23,如果為空執(zhí)行步驟M。步驟23 該指定邏輯磁盤的等待隊列不為空時。將該寫頁面分配請求加入該指定邏輯磁盤的等待隊列中。步驟M 判斷該寫頁面分配請求的申請寫頁面數(shù)與該指定邏輯磁盤的已占用頁面數(shù)之和是否小于等于該指定邏輯磁盤的可用寫頁面數(shù)。如果是,執(zhí)行步驟25,否則執(zhí)行步驟26。步驟25 該指定邏輯磁盤的等待隊列為空且所述申請寫頁面數(shù)與所述指定邏輯磁盤的已占用寫頁面數(shù)之和小于等于該指定邏輯磁盤的可用寫頁面數(shù)時,在該指定邏輯磁盤的頁面空間中為該寫頁面分配請求分配寫頁面,并累加該指定邏輯磁盤的已占用寫頁面數(shù)。如圖2B所示,主機寫請求的數(shù)據(jù)先寫在磁盤陣列的cache中,之后再從緩存中寫到RAID組中的物理磁盤。因此,步驟25中在該指定邏輯磁盤的頁面空間中為該寫頁面分配請求分配寫頁面后,將主機寫請求的數(shù)據(jù)先寫在緩存中為寫請求的邏輯磁盤分配的寫頁面中,之后再從緩存中寫到RAID組中的物理磁盤。步驟沈該指定邏輯磁盤的等待隊列為空且上述申請寫頁面數(shù)與該指定邏輯磁盤的已占用寫頁面數(shù)之和大于該指定邏輯磁盤的可用寫頁面數(shù)時,將該寫頁面分配請求加入該指定邏輯磁盤的等待隊列中。
寫頁面空間分配裝置接收到主機的針對某一邏輯磁盤的寫頁面分配請求后,根據(jù)該寫頁面分配請求的申請寫頁面數(shù)與該邏輯磁盤的已占用寫頁面數(shù)之和、該邏輯磁盤的可用寫頁面數(shù),決策是立即為寫頁面分配請求分配寫頁面,還是該邏輯磁盤的置入等待隊列中等待。圖3為本發(fā)明實施例提供的頁面空間分配方法中處理主機寫請求的方法實施例二流程圖。如圖3所示,本實施例包括步驟31 確定一個邏輯磁盤的頁面中存在物理磁盤寫成功的寫頁面后,根據(jù)物理磁盤寫成功的頁面數(shù)減少該邏輯磁盤的已占用寫頁面數(shù)。步驟32 從該邏輯磁盤的等待隊列中取出隊首寫頁面分配請求。一個邏輯磁盤的寫物理磁盤請求成功處理后,該寫物理磁盤請求在緩存中占用的頁面空間可分配給該邏輯磁盤的等待隊列中其它寫物理磁盤請求,因此,減少該邏輯磁盤的已占用寫頁面數(shù)。從該邏輯磁盤的等待隊列中取出隊首寫頁面分配請求。在該隊首寫頁面分配請求符合處理條件時,為隊首寫頁面分配請求分配頁面,具體方法如下。步驟33 判斷該隊首寫頁面分配請求的申請寫頁面數(shù)與該邏輯磁盤的已占用寫頁面數(shù)之和是否小于等于該邏輯磁盤的可用寫頁面數(shù)。如果是執(zhí)行步驟34,否則執(zhí)行步驟 35。步驟34:確定該隊首寫頁面分配請求的申請寫頁面數(shù)與該邏輯磁盤的已占用寫頁面數(shù)之和小于等于該邏輯磁盤的可用寫頁面數(shù)時,在所述緩存中該邏輯磁盤的寫頁面空間中為該隊首寫頁面分配請求分配頁面,并累加該邏輯磁盤的已占用寫頁面數(shù)。步驟35 確定該隊首寫頁面分配請求的申請寫頁面數(shù)與該邏輯磁盤的已占用寫頁面數(shù)之和大于指定邏輯磁盤的可用寫頁面數(shù)時,將該隊首寫頁面分配請求放回該邏輯磁盤的等待隊列。之后,返回步驟31執(zhí)行。寫頁面空間分配裝置確定一個邏輯磁盤在緩存分配的寫頁面中存在物理磁盤寫成功的寫頁面后,根據(jù)物理磁盤寫成功的寫頁面數(shù)減少該邏輯磁盤的已占用寫頁面數(shù),重試該邏輯磁盤的等待隊列中取出隊首寫頁面分配請求。在該隊首寫頁面分配請求符合處理條件時,為隊首寫頁面分配請求分配寫頁面。圖4為本發(fā)明實施例提供的寫頁面空間分配裝置實施例一結(jié)構(gòu)示意圖。如圖4所示,寫頁面空間分配裝置包括統(tǒng)計模塊41、寫頁面數(shù)控制模塊42和寫頁面空間分配模塊 43以及可用寫頁面數(shù)控制模塊44。統(tǒng)計模塊41,用于統(tǒng)計上一個周期內(nèi)每個邏輯磁盤的寫物理磁盤頁面數(shù),并計算所述上一個周期內(nèi)所有邏輯磁盤的寫物理磁盤總頁面數(shù)。理論寫頁面數(shù)控制模塊42,用于對于每個邏輯磁盤,根據(jù)所述上一個周期內(nèi)所述邏輯磁盤的寫物理磁盤頁面數(shù)、緩存的可用總寫頁面數(shù)和所有邏輯磁盤的寫物理磁盤總頁面數(shù),確定當前周期內(nèi)所述邏輯磁盤的理論可用寫頁面數(shù);所述緩存為磁盤陣列中的緩存。進一步,理論寫頁面數(shù)控制模塊具體用于根據(jù)所述緩存的可用總寫頁面數(shù)和所述上一個周期內(nèi)所述邏輯磁盤的寫物理磁盤頁面數(shù)占所有邏輯磁盤的寫物理磁盤總頁面數(shù)的比率的乘積,確定當前周期內(nèi)所述邏輯磁盤的理論可用寫頁面數(shù)??捎脤戫撁鏀?shù)控制模塊44,用于在當前周期內(nèi)所述邏輯磁盤的理論可用寫頁面數(shù)大于等于所述邏輯磁盤的最小可用寫頁面數(shù)時,將所述邏輯磁盤的理論可用寫頁面數(shù)確定為邏輯磁盤的可用寫頁面數(shù);在所述當前周期內(nèi)所述邏輯磁盤的理論可用寫頁面數(shù)小于所述邏輯磁盤的最小可用寫頁面數(shù)時,將所述邏輯磁盤的最小可用寫頁面數(shù)確定為所述邏輯磁盤的可用寫頁面數(shù);寫頁面空間分配模塊43,用于根據(jù)所述當前周期內(nèi)每個邏輯磁盤的可用寫頁面數(shù),在所述緩存中為每個邏輯磁盤分配寫頁面空間。頁面空間分配裝置周期性統(tǒng)計每個邏輯磁盤的寫物理磁盤頁面數(shù),并且根據(jù)的是上一個周期內(nèi)每個邏輯磁盤的寫物理磁盤頁面數(shù)、緩存的可用總寫頁面數(shù)和所有邏輯磁盤的寫物理磁盤總頁面數(shù)以及每個邏輯磁盤的最小可用寫頁面數(shù),確定當前周期內(nèi)每個邏輯磁盤的可用寫頁面數(shù)。因此,上一周期寫物理磁盤頁面數(shù)大即寫物理磁盤流量大的邏輯磁盤,可以在當前周期內(nèi)獲得更多的可用寫頁面數(shù),使得緩存中有足夠的寫頁面空間及時響應(yīng)寫物理磁盤速度較快的邏輯磁盤的寫請求,因而使寫物理磁盤速度較快的邏輯磁盤和寫物理磁盤速度較慢的邏輯磁盤可以合理共享磁盤陣列的緩存。圖5為本發(fā)明實施例提供的寫頁面空間分配裝置實施例二結(jié)構(gòu)示意圖。如圖5所示,在圖4的基礎(chǔ)上還可包括寫頁面分配請求模塊61、第一寫頁面處理模塊62、第二寫頁面處理模塊63和第三寫頁面處理模塊64。寫頁面分配請求模塊61,用于接收主機發(fā)送的寫頁面分配請求,所述寫頁面分配請求用于在所述緩存中為指定邏輯磁盤請求N個空閑頁面,所述N為申請寫頁面數(shù)。第一寫頁面處理模塊62,用于所述指定邏輯磁盤的等待隊列為空且所述申請寫頁面數(shù)與所述指定邏輯磁盤的已占用寫頁面數(shù)之和小于等于所述指定邏輯磁盤的可用寫頁面數(shù)時,為所述寫頁面分配請求分配頁面,并累加所述指定邏輯磁盤的已占用寫頁面數(shù)。第二寫頁面處理模塊63,所述指定邏輯磁盤的等待隊列為空且所述申請寫頁面數(shù)與所述指定邏輯磁盤的已占用寫頁面數(shù)之和大于所述指定邏輯磁盤的可用寫頁面數(shù)時,將所述寫頁面分配請求加入所述指定邏輯磁盤的等待隊列中。第三寫頁面處理模塊64,所述指定邏輯磁盤的等待隊列不為空時。將所述寫頁面分配請求加入所述指定邏輯磁盤的等待隊列中。寫頁面空間分配裝置接收到主機的針對某一邏輯磁盤的寫頁面分配請求后,根據(jù)該寫頁面分配請求的申請寫頁面數(shù)與該邏輯磁盤的已占用寫頁面數(shù)之和、該邏輯磁盤的可用寫頁面數(shù),決策是立即為寫頁面分配請求分配寫頁面,還是該邏輯磁盤的置入等待隊列中等待。圖6為本發(fā)明實施例提供的寫頁面空間分配裝置實施例三結(jié)構(gòu)示意圖。如圖6所示,在圖4或圖5的基礎(chǔ)上還可包括寫頁面數(shù)減少模塊71、第四寫頁面處理模塊72和第五寫頁面處理模塊73。寫頁面數(shù)減少模塊71,用于確定一個邏輯磁盤的寫頁面中存在物理磁盤寫成功的頁面后,根據(jù)物理磁盤寫成功的頁面數(shù)減少所述邏輯磁盤的已占用寫頁面數(shù)。第四寫頁面處理模塊72,用于從所述邏輯磁盤的等待隊列中取出隊首寫頁面分配請求,確定所述隊首寫頁面分配請求的申請寫頁面數(shù)與所述邏輯磁盤的已占用寫頁面數(shù)之和小于等于所述邏輯磁盤的可用寫頁面數(shù)時,為所述隊首寫頁面分配請求分配頁面,并累加所述邏輯磁盤的已占用寫頁面數(shù)。第五寫頁面處理模塊73,用于確定所述隊首寫頁面分配請求的申請寫頁面數(shù)與所述邏輯磁盤的已占用寫頁面數(shù)之和大于所述邏輯磁盤的可用寫頁面數(shù)時,將所述隊首寫頁面分配請求放回所述邏輯磁盤的等待隊列隊首。寫頁面空間分配裝置確定一個邏輯磁盤在緩存分配的寫頁面中存在物理磁盤寫成功的寫頁面后,根據(jù)物理磁盤寫成功的寫頁面數(shù)減少該邏輯磁盤的已占用寫頁面數(shù),重試該邏輯磁盤的等待隊列中取出隊首寫頁面分配請求。在該隊首寫頁面分配請求符合處理條件時,為隊首寫頁面分配請求分配寫頁面。本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。最后應(yīng)說明的是以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當理解其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的范圍。
權(quán)利要求
1.一種寫頁面空間分配方法,其特征在于,包括統(tǒng)計上一個周期內(nèi)每個邏輯磁盤的寫物理磁盤頁面數(shù),并計算所述上一個周期內(nèi)所有邏輯磁盤的寫物理磁盤總頁面數(shù);對于每個邏輯磁盤,根據(jù)所述上一個周期內(nèi)所述邏輯磁盤的寫物理磁盤頁面數(shù)、緩存的可用總寫頁面數(shù)和所有邏輯磁盤的寫物理磁盤總頁面數(shù),確定當前周期內(nèi)所述邏輯磁盤的理論可用寫頁面數(shù);所述緩存為磁盤陣列中的緩存;在當前周期內(nèi)所述邏輯磁盤的理論可用寫頁面數(shù)大于等于所述邏輯磁盤的最小可用寫頁面數(shù)時,將所述邏輯磁盤的理論可用寫頁面數(shù)確定為邏輯磁盤的可用寫頁面數(shù);在所述當前周期內(nèi)所述邏輯磁盤的理論可用寫頁面數(shù)小于所述邏輯磁盤的最小可用寫頁面數(shù)時,將所述邏輯磁盤的最小可用寫頁面數(shù)確定為所述邏輯磁盤的可用寫頁面數(shù);根據(jù)所述當前周期內(nèi)每個邏輯磁盤的可用寫頁面數(shù),在所述緩存中為每個邏輯磁盤分配寫頁面空間。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,根據(jù)所述上一個周期內(nèi)所述邏輯磁盤的寫物理磁盤頁面數(shù)、所述緩存的可用總寫頁面數(shù)和所有邏輯磁盤的寫物理磁盤總頁面數(shù), 確定當前周期內(nèi)所述邏輯磁盤的理論可用寫頁面數(shù),包括根據(jù)所述緩存的可用總寫頁面數(shù)和所述上一個周期內(nèi)所述邏輯磁盤的寫物理磁盤頁面數(shù)占所有邏輯磁盤的寫物理磁盤總頁面數(shù)的比率的乘積,確定當前周期內(nèi)所述邏輯磁盤的理論可用寫頁面數(shù)。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述方法還包括接收主機發(fā)送的寫頁面分配請求,所述寫頁面分配請求用于在所述緩存中為指定邏輯磁盤請求N個空閑頁面,所述N為申請寫頁面數(shù);當所述指定邏輯磁盤的等待隊列為空且所述申請寫頁面數(shù)與所述指定邏輯磁盤的已占用寫頁面數(shù)之和小于等于所述指定邏輯磁盤的可用寫頁面數(shù)時,為所述寫頁面分配請求分配寫頁面,并累加所述指定邏輯磁盤的已占用寫頁面數(shù);當所述指定邏輯磁盤的等待隊列為空且所述申請寫頁面數(shù)與所述指定邏輯磁盤的已占用寫頁面數(shù)之和大于所述指定邏輯磁盤的可用寫頁面數(shù)時,將所述寫頁面分配請求加入所述指定邏輯磁盤的等待隊列中;當所述指定邏輯磁盤的等待隊列不為空時,將所述寫頁面分配請求加入所述指定邏輯磁盤的等待隊列中。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述方法還包括確定一個邏輯磁盤的寫頁面中存在物理磁盤寫成功的頁面后,根據(jù)物理磁盤寫成功的寫頁面數(shù)減少所述邏輯磁盤的已占用寫頁面數(shù);從所述邏輯磁盤的等待隊列中取出隊首寫頁面分配請求;如果所述隊首寫頁面分配請求的申請寫頁面數(shù)與所述邏輯磁盤的已占用寫頁面數(shù)之和小于等于所述邏輯磁盤的可用寫頁面數(shù),則在所述緩存中邏輯磁盤的寫頁面空間中為所述隊首寫頁面分配請求分配寫頁面,并累加所述邏輯磁盤的已占用寫頁面數(shù);如果所述隊首寫頁面分配請求的申請寫頁面數(shù)與所述邏輯磁盤的已占用寫頁面數(shù)之和大于所述邏輯磁盤的可用寫頁面數(shù),則將所述隊首寫頁面分配請求放回所述邏輯磁盤的等待隊列隊首。
5.一種寫頁面空間分配裝置,其特征在于,包括統(tǒng)計模塊,用于統(tǒng)計上一個周期內(nèi)每個邏輯磁盤的寫物理磁盤頁面數(shù),并計算所述上一個周期內(nèi)所有邏輯磁盤的寫物理磁盤總頁面數(shù);理論寫頁面數(shù)控制模塊,用于對于每個邏輯磁盤,根據(jù)所述上一個周期內(nèi)所述邏輯磁盤的寫物理磁盤頁面數(shù)、緩存的可用總寫頁面數(shù)和所有邏輯磁盤的寫物理磁盤總頁面數(shù), 確定當前周期內(nèi)所述邏輯磁盤的理論可用寫頁面數(shù);所述緩存為磁盤陣列中的緩存;可用寫頁面數(shù)控制模塊,用于在當前周期內(nèi)所述邏輯磁盤的理論可用寫頁面數(shù)大于等于所述邏輯磁盤的最小可用寫頁面數(shù)時,將所述邏輯磁盤的理論可用寫頁面數(shù)確定為邏輯磁盤的可用寫頁面數(shù);在所述當前周期內(nèi)所述邏輯磁盤的理論可用寫頁面數(shù)小于所述邏輯磁盤的最小可用寫頁面數(shù)時,將所述邏輯磁盤的最小可用寫頁面數(shù)確定為所述邏輯磁盤的可用寫頁面數(shù);寫頁面空間分配模塊,用于根據(jù)所述當前周期內(nèi)每個邏輯磁盤的可用寫頁面數(shù),在所述緩存中為每個邏輯磁盤分配寫頁面空間。
6.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述理論寫頁面數(shù)控制模塊具體用于根據(jù)所述緩存的可用總寫頁面數(shù)和所述上一個周期內(nèi)所述邏輯磁盤的寫物理磁盤頁面數(shù)占所有邏輯磁盤的寫物理磁盤總頁面數(shù)的比率的乘積,確定當前周期內(nèi)所述邏輯磁盤的理論可用寫頁面數(shù)。
7.根據(jù)權(quán)利要求5或6所述的裝置,其特征在于,還包括寫頁面分配請求模塊,用于接收主機發(fā)送的寫頁面分配請求,所述寫頁面分配請求用于在所述緩存中為指定邏輯磁盤請求N個空閑頁面,所述N為申請寫頁面數(shù);第一寫頁面處理模塊,用于所述指定邏輯磁盤的等待隊列為空且所述申請寫頁面數(shù)與所述指定邏輯磁盤的已占用寫頁面數(shù)之和小于等于所述指定邏輯磁盤的可用寫頁面數(shù)時, 為所述寫頁面分配請求分配頁面,并累加所述指定邏輯磁盤的已占用寫頁面數(shù);第二寫頁面處理模塊,所述指定邏輯磁盤的等待隊列為空且所述申請寫頁面數(shù)與所述指定邏輯磁盤的已占用寫頁面數(shù)之和大于所述指定邏輯磁盤的可用寫頁面數(shù)時,將所述寫頁面分配請求加入所述指定邏輯磁盤的等待隊列中;第三寫頁面處理模塊,所述指定邏輯磁盤的等待隊列不為空時。將所述寫頁面分配請求加入所述指定邏輯磁盤的等待隊列中。
8.根據(jù)權(quán)利要求5或6所述的裝置,其特征在于,還包括寫頁面數(shù)減少模塊,用于確定一個邏輯磁盤的寫頁面中存在物理磁盤寫成功的頁面后,根據(jù)物理磁盤寫成功的頁面數(shù)減少所述邏輯磁盤的已占用寫頁面數(shù);第四寫頁面處理模塊,用于從所述邏輯磁盤的等待隊列中取出隊首寫頁面分配請求, 確定所述隊首寫頁面分配請求的申請寫頁面數(shù)與所述邏輯磁盤的已占用寫頁面數(shù)之和小于等于所述邏輯磁盤的可用寫頁面數(shù)時,為所述隊首寫頁面分配請求分配頁面,并累加所述邏輯磁盤的已占用寫頁面數(shù);第五寫頁面處理模塊,用于確定所述隊首寫頁面分配請求的申請寫頁面數(shù)與所述邏輯磁盤的已占用寫頁面數(shù)之和大于所述邏輯磁盤的可用寫頁面數(shù)時,將所述隊首寫頁面分配請求放回所述邏輯磁盤的等待隊列隊首。
全文摘要
本發(fā)明實施例提供一種頁面空間分配方法和裝置。該方法包括統(tǒng)計上一個周期內(nèi)每個邏輯磁盤的寫物理磁盤頁面數(shù),并計算上一個周期內(nèi)所有邏輯磁盤的寫物理磁盤總頁面數(shù);根據(jù)上一個周期內(nèi)邏輯磁盤的寫物理磁盤頁面數(shù)、緩存的可用總寫頁面數(shù)和所有邏輯磁盤的寫物理磁盤總頁面數(shù),確定當前周期內(nèi)邏輯磁盤的理論可用寫頁面數(shù);在該理論可用寫頁面數(shù)大于等于邏輯磁盤的最小可用寫頁面數(shù)時,將該理論可用寫頁面數(shù)確定為邏輯磁盤的可用寫頁面數(shù);否則,將邏輯磁盤的最小可用寫頁面數(shù)確定為邏輯磁盤的可用寫頁面數(shù);在緩存中為每個邏輯磁盤分配寫頁面空間。本發(fā)明實施例使寫物理磁盤速度較快的邏輯磁盤和慢的邏輯磁盤合理共享磁盤陣列的緩存。
文檔編號G06F3/06GK102436356SQ20111041216
公開日2012年5月2日 申請日期2011年12月12日 優(yōu)先權(quán)日2011年12月12日
發(fā)明者李關(guān)強, 王紅雷, 陳建春 申請人:成都市華為賽門鐵克科技有限公司