專利名稱:高效能虛擬磁盤管理系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種高效能虛擬磁盤管理系統(tǒng),尤指可讓實(shí)體及虛擬空間位址轉(zhuǎn)換一次性計(jì)算,以增進(jìn)虛擬磁盤存取的效能,并讓區(qū)塊層級(jí)的儲(chǔ)存媒體上實(shí)現(xiàn)像虛擬磁盤般的動(dòng)態(tài)空間配置的效用的高效能虛擬磁盤管理系統(tǒng)。
背景技術(shù):
美國(guó)專利編號(hào)US 7, 107, 385B2 提出 Storage Virtualization by LayeringVirtual Disk Objects on a File System發(fā)明,其內(nèi)容為應(yīng)用作業(yè)系統(tǒng)的檔案系統(tǒng)對(duì)于儲(chǔ) 存媒體的廣泛支援能力,將不同型態(tài)儲(chǔ)存媒體,如延伸磁盤或網(wǎng)絡(luò)儲(chǔ)存媒體,集合成檔案系統(tǒng)的卷冊(cè)區(qū)段(Volume)用于存放虛擬磁盤。中國(guó)臺(tái)灣省專利編號(hào)1307026,為提出儲(chǔ)存管理系統(tǒng)與方法,其發(fā)明使用一檔案系統(tǒng)伺服器、一檔案資訊(Metadata)伺服器與物件儲(chǔ)存裝置達(dá)成虛擬分割區(qū)進(jìn)行檔案的存取的目地。由檔案資訊伺服器儲(chǔ)存檔案的管理及索引資訊,再由物件儲(chǔ)存裝置存取檔案內(nèi)容數(shù)據(jù)。因?yàn)闄n案的管理及索引資訊與真實(shí)的檔案內(nèi)容被分離儲(chǔ)存在兩個(gè)存服器上,使得只要增加物件儲(chǔ)存裝置的儲(chǔ)存單元,即可使該虛擬分割區(qū)空間動(dòng)態(tài)成長(zhǎng)。以上現(xiàn)有的虛擬化磁盤技術(shù)皆欲提供彈性化的實(shí)體磁盤空間及虛擬磁盤空間的對(duì)應(yīng),而通過(guò)使用作業(yè)系統(tǒng)的檔案系統(tǒng)管理能力或分離檔案管理及索引資訊與真實(shí)的檔案內(nèi)容的方法達(dá)成,然而這些技術(shù)都需要一定程度的額外計(jì)算消耗才能達(dá)成,即一個(gè)檔案的存取會(huì)經(jīng)過(guò)至少兩層的位址轉(zhuǎn)換,造成需要高速的虛擬磁盤存取應(yīng)用的效能瓶頸。
發(fā)明內(nèi)容
本發(fā)明的主要目的乃在于提供一種高效能虛擬磁盤管理系統(tǒng),利用虛擬磁盤管理系統(tǒng)規(guī)劃區(qū)塊層級(jí)的儲(chǔ)存媒體成為具有動(dòng)態(tài)大小的實(shí)體區(qū)段集合,然后將虛擬磁盤分段直接寫(xiě)入于多個(gè)實(shí)體區(qū)段,以避免現(xiàn)有技術(shù)中作業(yè)系統(tǒng)的檔案系統(tǒng)所需的位址轉(zhuǎn)換,進(jìn)而成為實(shí)體及虛擬空間位址轉(zhuǎn)換一次性計(jì)算,以增進(jìn)虛擬磁盤存取的效能,并讓儲(chǔ)存媒體實(shí)現(xiàn)像虛擬磁盤般的動(dòng)態(tài)空間配置的效用。為達(dá)上述目的,本發(fā)明是在儲(chǔ)存伺服器與儲(chǔ)存媒體的間連接有虛擬磁盤管理系統(tǒng),且儲(chǔ)存伺服器通過(guò)網(wǎng)絡(luò)連接用戶端電腦,而虛擬磁盤管理系統(tǒng)設(shè)置有磁盤區(qū)段規(guī)劃器、管控區(qū)段處理器、磁盤存取及排程器、虛擬磁盤驅(qū)動(dòng)器、磁盤區(qū)段分配及回收器、虛擬磁盤儲(chǔ)存區(qū)段表暫存器、虛擬磁盤寫(xiě)入保護(hù)轉(zhuǎn)址器、虛擬磁盤存取器以及虛擬磁盤數(shù)據(jù)快取及緩沖器,其中該磁盤區(qū)段規(guī)劃器,用以規(guī)劃儲(chǔ)存媒體成為多個(gè)事先給定固定大小的實(shí)體區(qū)段,一個(gè)實(shí)體區(qū)段即為最小的使用單位,當(dāng)磁盤區(qū)段規(guī)劃器規(guī)劃儲(chǔ)存媒體后,為會(huì)產(chǎn)生一實(shí)體區(qū)段索引表存放此儲(chǔ)存媒體的實(shí)體區(qū)段被使用的狀態(tài),未配置以O(shè)表示;反之已配置以I表示,在初始狀態(tài)下,該索引表內(nèi)的值皆為O ;再者,若虛擬磁盤管理系統(tǒng)連接有多個(gè)儲(chǔ)存媒體時(shí),則磁盤區(qū)段規(guī)劃器會(huì)對(duì)每一實(shí)體儲(chǔ)存媒體會(huì)采用一致的規(guī)劃方式,并使用一儲(chǔ)存媒體群記錄表存放所有可被使用的儲(chǔ)存媒體資訊,每一儲(chǔ)存媒體會(huì)被分配唯一識(shí)別碼。該管控區(qū)段處理器會(huì)在各儲(chǔ)存媒體內(nèi)分別選定多個(gè)未配置的實(shí)體區(qū)段做為管理用途的為管控區(qū)段,一個(gè)儲(chǔ)存媒體會(huì)存放多個(gè)管控區(qū)段,但只有一個(gè)為主要,其它為備援及檢查用,以增加重要數(shù)據(jù)的安全性,且管控區(qū)段處理器會(huì)將實(shí)體區(qū)段索引表及儲(chǔ)存媒體群記錄表寫(xiě)入儲(chǔ)存媒體中的管控區(qū)段內(nèi)。該磁盤存取及排程器為存取及排程儲(chǔ)存媒體的驅(qū)動(dòng)元件,使得存取管理用途的數(shù)據(jù)指令比虛擬磁盤的數(shù)據(jù)存取指令有較優(yōu)先的執(zhí)行順序。該虛擬磁盤驅(qū)動(dòng)器為生成、刪除及掛載儲(chǔ)存媒體上的虛擬磁盤的控制器,當(dāng)用戶端電腦對(duì)儲(chǔ)存伺服器發(fā)出新建、刪除或掛載虛擬磁盤的命令時(shí),儲(chǔ)存伺服器將該指令轉(zhuǎn)發(fā)予虛擬磁盤驅(qū)動(dòng)器,虛擬磁盤驅(qū)動(dòng)器則通過(guò)磁盤區(qū)段分配及回收器得到新的實(shí)體區(qū)段、回收某個(gè)虛擬磁盤所占用的實(shí)體區(qū)段或查詢出該虛擬磁盤占用的所有實(shí)體區(qū)段。該磁盤區(qū)段分配及回收器,其為執(zhí)行并完成虛擬磁盤驅(qū)動(dòng)器所發(fā)出的新增、刪除 及查詢某個(gè)虛擬磁盤所占用的實(shí)體區(qū)段,當(dāng)磁盤區(qū)段分配及回收器執(zhí)行指令時(shí),會(huì)先由管控區(qū)段處理器得到最新的實(shí)體區(qū)段索引表,以得知有哪些實(shí)體區(qū)段可以被分配,或已被占用;再者,對(duì)于新增虛擬磁盤的指令或要求配置實(shí)體區(qū)段的請(qǐng)求而言,此磁盤區(qū)段分配及回收器會(huì)由可分配的實(shí)體區(qū)段中,以最佳化存取效能為原則選定實(shí)體區(qū)段分配,此最佳化存取效能可由優(yōu)先選擇鄰近的實(shí)體區(qū)段達(dá)成,并產(chǎn)生一個(gè)虛擬磁盤實(shí)體區(qū)段占用表,此虛擬磁盤實(shí)體區(qū)段占用表的索引為虛擬磁盤在虛擬磁盤管理系統(tǒng)內(nèi)的唯一識(shí)別碼,此識(shí)別碼對(duì)應(yīng)的值為二元串列,串列中每一組數(shù)據(jù)的組成元素由儲(chǔ)存媒體群記錄表的識(shí)別碼及實(shí)體區(qū)段索引表的實(shí)體區(qū)段索引所組成,且若磁盤區(qū)段分配及回收器因執(zhí)行新建及刪除虛擬磁盤的指令,造成虛擬磁盤實(shí)體區(qū)段占用表或?qū)嶓w區(qū)段索引表的異動(dòng),會(huì)連帶將更新的虛擬磁盤實(shí)體區(qū)段占用表或?qū)嶓w區(qū)段索引表傳送至管控區(qū)段處理器更新管控區(qū)段的記錄。該虛擬磁盤儲(chǔ)存區(qū)段表暫存器,其為加速定址虛擬磁盤于儲(chǔ)存媒體位置的快取暫存器,在空間足夠的狀況下,它會(huì)將正在使用中的虛擬磁盤的虛擬磁盤實(shí)體區(qū)段占用表內(nèi)容存放于一可高速存取(相對(duì)于磁盤存取而言)的暫存器中。使得虛擬磁盤寫(xiě)入保護(hù)轉(zhuǎn)址器在計(jì)算該虛擬磁盤可實(shí)際存取的實(shí)體區(qū)段時(shí)可以快速完成,任何虛擬磁盤實(shí)體區(qū)段占用表異動(dòng)的事件發(fā)生時(shí),管控區(qū)段處理器會(huì)更新虛擬磁盤儲(chǔ)存區(qū)段表暫存器中的擬磁盤實(shí)體區(qū)段占用表,以保持?jǐn)?shù)據(jù)一致。該虛擬磁盤寫(xiě)入保護(hù)轉(zhuǎn)址器為負(fù)責(zé)虛擬磁盤可實(shí)際存取的實(shí)體區(qū)段的位址轉(zhuǎn)換及檢查的兩種計(jì)算工作;用戶端電腦對(duì)某一虛擬磁盤進(jìn)行數(shù)據(jù)存取的指令,會(huì)轉(zhuǎn)送予虛擬磁盤寫(xiě)入保護(hù)轉(zhuǎn)址器以計(jì)算出該虛擬磁盤存放于儲(chǔ)存媒體的實(shí)體位址,之后才進(jìn)行虛擬磁盤的數(shù)據(jù)存取,然而任何對(duì)于某虛擬磁盤的存取指令不應(yīng)超出該虛擬磁盤的實(shí)體區(qū)段占用表記錄所有該虛擬磁盤可以存取的實(shí)體區(qū)段范圍以保護(hù)多個(gè)虛擬磁盤的數(shù)據(jù),避免相互讀取及寫(xiě)入數(shù)據(jù),但例外狀況為若當(dāng)虛擬磁盤將于某一尚未配置但即將取得配置的實(shí)體儲(chǔ)存空間的合法磁盤虛擬位置(未超出虛擬磁盤的容量范圍)上寫(xiě)入新的數(shù)據(jù),會(huì)向磁盤區(qū)段分配及回收器請(qǐng)求配置新的實(shí)體區(qū)段,當(dāng)加入新實(shí)體區(qū)段后,會(huì)使原存取的指令滿足保護(hù)條件,而可正常執(zhí)行,再者,若是讀取磁盤上某一未配置的實(shí)體儲(chǔ)存空間的合法虛擬位置時(shí),即此讀取指令讀取未曾寫(xiě)入數(shù)據(jù)的位址,則只要回復(fù)空白數(shù)據(jù)即可,不需配置新的實(shí)體區(qū)段。另外,不連續(xù)的實(shí)體區(qū)段配置可能引起存取指令操作多個(gè)實(shí)體區(qū)段,這類跨實(shí)體區(qū)段的操作需要將一指令分解成多個(gè)存取單一實(shí)體區(qū)段數(shù)據(jù)的指令,待此些指令完成后,才算完成原指令;更進(jìn)一步,類似傳統(tǒng)虛擬磁盤技術(shù)定義的快照磁盤或差異磁盤(Snapshot orDifferential Disks)的功能也由虛擬磁盤寫(xiě)入保護(hù)轉(zhuǎn)址器負(fù)責(zé),統(tǒng)一以差異磁盤稱之,差異磁盤實(shí)質(zhì)上亦視為一個(gè)虛擬磁盤,假設(shè)在系統(tǒng)上已存在某一虛擬磁盤甲且使用者對(duì)虛擬磁盤甲建立一差異磁盤乙,此時(shí),對(duì)虛擬磁盤甲寫(xiě)入數(shù)據(jù),會(huì)被轉(zhuǎn)存至差異磁盤乙;若對(duì)虛擬磁盤甲讀出數(shù)據(jù),會(huì)有兩種可能性第一,若為讀出曾寫(xiě)入于差異磁盤乙的數(shù)據(jù),則會(huì)由差異磁盤乙讀出;第二,若為讀出不曾寫(xiě)入于差異磁盤乙的數(shù)據(jù),則會(huì)由虛擬磁盤甲直接讀出,因此,差異磁盤會(huì)使其對(duì)應(yīng)的虛擬磁盤變成只讀的狀態(tài);為了達(dá)成上述功能,虛擬磁盤寫(xiě)入保護(hù)轉(zhuǎn)址器會(huì)建立差異磁盤關(guān)系表,差異磁盤關(guān)系表的索引欄位為某差異磁盤的唯一編號(hào),其對(duì)應(yīng)值為該差異磁盤所連結(jié)的虛擬磁盤編號(hào),若出現(xiàn)復(fù)數(shù)筆相同虛擬磁盤編號(hào)的記錄,則代表某一虛擬磁盤已建立多個(gè)差異磁盤。若要?jiǎng)h除某一差異磁盤,則只要?jiǎng)h除差異磁盤關(guān)系表內(nèi)的記錄,再重設(shè)實(shí)體區(qū)段索引表相對(duì)應(yīng)位置以釋放其所占用的實(shí)體區(qū)段,最 后再更新管控區(qū)段的內(nèi)容即可。倘若某一虛擬磁盤被刪除,則差異磁盤關(guān)系表內(nèi)所有建立于該虛擬磁盤的差異磁盤記錄必須同步刪除,并同步更新管控區(qū)段的內(nèi)容即可;最后,若為多層次的差異磁盤關(guān)連,只要在差異磁盤關(guān)系表內(nèi)的虛擬磁盤欄位填入某一差異磁盤編號(hào)即可。該虛擬磁盤存取器,其為傳統(tǒng)虛擬磁盤技術(shù)的實(shí)作元件,負(fù)責(zé)將用戶端得到的(虛擬)磁盤以傳統(tǒng)虛擬磁盤格式,如VMDK、VHD、及VDI寫(xiě)入儲(chǔ)存媒體。在計(jì)算傳統(tǒng)虛擬磁盤格式實(shí)際存取儲(chǔ)存媒體位址時(shí),只需加上由虛擬磁盤寫(xiě)入保護(hù)轉(zhuǎn)址器查表得到的實(shí)體區(qū)段的偏移量,即數(shù)據(jù)的存取只需要一次性的計(jì)算即可完成。該虛擬磁盤數(shù)據(jù)快取及緩沖器,用以加速虛擬磁盤數(shù)據(jù)存取的快取及緩沖器,以減少對(duì)儲(chǔ)存媒體的讀取次數(shù),并讓寫(xiě)入數(shù)據(jù)的動(dòng)作可以非同步完成,減少寫(xiě)入指令的回應(yīng)時(shí)間;此虛擬磁盤數(shù)據(jù)快取及緩沖器與傳統(tǒng)數(shù)據(jù)快取及緩沖器不同點(diǎn)在于,虛擬磁盤寫(xiě)入保護(hù)轉(zhuǎn)址器提供差異磁盤功能,造成一虛擬磁盤及其一至多個(gè)關(guān)連的差異磁盤有不同的存取頻率,假設(shè)向多個(gè)關(guān)連于某一虛擬磁盤的差異磁盤讀取相同的某位址,若大多數(shù)的差異磁盤未曾寫(xiě)入該位址,則轉(zhuǎn)址后真正的讀取位址將回歸于讀取虛擬磁盤上的某相同位址,基于此特性,快取被關(guān)連的虛擬磁盤比快取其差異磁盤的數(shù)據(jù),在快取的空間利用率上及擊中率上更有效率;相似的,以數(shù)據(jù)存取具地域及時(shí)間的集中性(locality)而言,剛被寫(xiě)入的數(shù)據(jù),可能立即被引用,因此,寫(xiě)入虛擬磁盤數(shù)據(jù)快取及緩沖器除了能像傳統(tǒng)作法以非同步方式完成寫(xiě)入指令,減少回應(yīng)時(shí)間外,也讓剛寫(xiě)入的數(shù)據(jù)具較高的快取機(jī)會(huì),特別是對(duì)差異磁盤寫(xiě)入的數(shù)據(jù);簡(jiǎn)單地說(shuō),虛擬磁盤數(shù)據(jù)快取及緩沖器對(duì)讀取指令而言,會(huì)加強(qiáng)被關(guān)連的虛擬磁盤數(shù)據(jù)快取,對(duì)寫(xiě)入指令而言,會(huì)加強(qiáng)差異磁盤的數(shù)據(jù)快取。
圖I為本發(fā)明連接儲(chǔ)存伺服器的示意圖。圖2為本發(fā)明的方塊圖。圖3為本發(fā)明的管控區(qū)段內(nèi)容。圖4為本發(fā)明于儲(chǔ)存媒體初始化的運(yùn)作流程圖。圖5為本發(fā)明于建立、刪除及掛載虛擬磁盤的運(yùn)作流程圖。
圖6為本發(fā)明于處理存取指令的運(yùn)作流程圖。附圖標(biāo)記說(shuō)明1、用戶端電腦;2、網(wǎng)絡(luò);3、儲(chǔ)存伺服器;4、虛擬磁盤管理系統(tǒng);41、磁盤區(qū)段規(guī)劃器;42、管控區(qū)段處理器;43、磁盤存取及排程器;44、虛擬磁盤驅(qū)動(dòng)器;45、磁盤區(qū)段分配及回收器;46、虛擬磁盤儲(chǔ)存區(qū)段表暫存器;47、虛擬磁盤寫(xiě)入保護(hù)轉(zhuǎn)址器;48、虛擬磁盤存取器;49、虛擬磁盤數(shù)據(jù)快取及緩沖器;5、儲(chǔ)存媒體;51、第一儲(chǔ)存媒體;511、實(shí)體區(qū)段;512、管控區(qū)段;5121、儲(chǔ)存媒體群記錄表;5122、第一實(shí)體區(qū)段索引表;5123、第二實(shí)體區(qū)段索引表;5124、差異磁盤關(guān)系表;5125、虛擬磁盤實(shí)體區(qū)段占用表;52、第二儲(chǔ)存媒體;521、實(shí)體區(qū)段。
具體實(shí)施例方式請(qǐng)參閱圖I以及圖2所示,由圖中可清楚看出,本發(fā)明高效能虛擬磁盤管理系統(tǒng)的使用方式為用戶端電腦I通過(guò)網(wǎng)絡(luò)2連接一臺(tái)或多臺(tái)儲(chǔ)存伺服器3,而儲(chǔ)存伺服器3通過(guò)虛擬磁盤管理系統(tǒng)4連接有一臺(tái)至多臺(tái)的儲(chǔ)存媒體5,而虛擬磁盤管理系統(tǒng)4設(shè)置有磁盤區(qū)段規(guī)劃器41、管控區(qū)段處理器42、磁盤存取及排程器43、虛擬磁盤驅(qū)動(dòng)器44、磁盤區(qū)段分配及 回收器45、虛擬磁盤儲(chǔ)存區(qū)段表暫存器46、虛擬磁盤寫(xiě)入保護(hù)轉(zhuǎn)址器47、虛擬磁盤存取器48以及虛擬磁盤數(shù)據(jù)快取及緩沖器49。請(qǐng)參閱圖I至圖4所示,當(dāng)儲(chǔ)存媒體5在進(jìn)行初始化處理流程時(shí),是由磁盤區(qū)段規(guī)劃器41、管控區(qū)段處理器42及磁盤存取及排程器43合力完成,此時(shí)磁盤存取及排程器43先偵測(cè)高效能虛擬磁盤管理系統(tǒng)所連接的儲(chǔ)存媒體5,并將儲(chǔ)存媒體5的數(shù)量傳送至磁盤區(qū)段規(guī)劃器41 ;此實(shí)施例中為以二組儲(chǔ)存媒體5進(jìn)行說(shuō)明,使磁盤存取及排程器43偵測(cè)到已連接可使用的所有儲(chǔ)存媒體5,為第一儲(chǔ)存媒體51與第二儲(chǔ)存媒體52共兩組,分別以編號(hào)O及I表示。此時(shí),磁盤區(qū)段規(guī)劃器41依照磁盤存取及排程器43所偵測(cè)的儲(chǔ)存媒體5數(shù)量,建立出儲(chǔ)存媒體群記錄表5121 (如圖3所示),并將此儲(chǔ)存媒體群記錄表5121交由管控區(qū)段處理器42,且磁盤區(qū)段規(guī)劃器41得知儲(chǔ)存媒體5數(shù)量后,磁盤區(qū)段規(guī)劃器41會(huì)以一事先給定的固定區(qū)段容量值,將第一儲(chǔ)存媒體51與第二儲(chǔ)存媒體52以一致的規(guī)劃方式,規(guī)劃成為多個(gè)實(shí)體區(qū)段511、512,并分別對(duì)第一儲(chǔ)存媒體51與第二儲(chǔ)存媒體52產(chǎn)生第一實(shí)體區(qū)段索引表5122與第二實(shí)體區(qū)段索引表5123 ;以本實(shí)施例而言,當(dāng)?shù)谝粌?chǔ)存媒體51容量大小為ITerabyte時(shí),為規(guī)畫(huà)成1024個(gè)事先給定的IGigabyte(GB)固定容量的實(shí)體區(qū)段511,每一個(gè)實(shí)體區(qū)段511即為最小的使用單位;利用區(qū)段索引值可以快速定址某一區(qū)段在第一儲(chǔ)存媒體51的實(shí)際位址,例如第i個(gè)區(qū)段起始于i X IGB的位址,終止于(i+l)x IGB I的位址,決定好實(shí)體區(qū)段51的容量后,磁盤區(qū)段規(guī)劃器41接著產(chǎn)生一個(gè)第一實(shí)體區(qū)段索引表5122存放實(shí)體區(qū)段511被使用的狀態(tài),未配置以O(shè)表不;反之已配置以I表不。在初始狀態(tài)下,該索引表內(nèi)的值皆為O。再使磁盤區(qū)段規(guī)劃器41將第一實(shí)體區(qū)段索引表5122與第二實(shí)體區(qū)段索引表5123交由管控區(qū)段處理器42,而管控區(qū)段處理器42對(duì)于每個(gè)儲(chǔ)存媒體5會(huì)選定多個(gè)(此例為第一儲(chǔ)存媒體51的第O及最后一個(gè))實(shí)體區(qū)段511成為主要及備份的管控區(qū)段512,并將第一實(shí)體區(qū)段索引表5122中第O及最后一個(gè)實(shí)體區(qū)段索引上填入I,代表已被分配使用,并讓磁盤區(qū)段規(guī)劃器41將第一實(shí)體區(qū)段索引表5122、第二實(shí)體區(qū)段索引表5123以及儲(chǔ)存媒體群記錄表5121寫(xiě)入管控區(qū)段512。請(qǐng)參閱圖I至圖3與5圖所示,初始化儲(chǔ)存媒體5的工作完成后,虛擬磁盤管理系統(tǒng)4即可處理來(lái)自用戶端電腦I通過(guò)儲(chǔ)存伺服器3執(zhí)行虛擬磁盤的建立、刪除及掛載的操作指令,如圖5所示,這類型的操作如同傳統(tǒng)的網(wǎng)絡(luò)硬碟在檔案系統(tǒng)上被掛載成可被操作的儲(chǔ)存空間的動(dòng)作相同,例如,儲(chǔ)存伺服器3可為iSCSI Target端,用戶端電腦I可為iSCSI Initiator端。執(zhí)行虛擬磁盤的建立、刪除及掛載的操作指令工作由虛擬磁盤管理系統(tǒng)4的虛擬磁盤驅(qū)動(dòng)器44、磁盤區(qū)段分配及回收器45、管控區(qū)段處理器42及磁盤存取及排程器43協(xié)力完成。當(dāng)用戶端電腦I通過(guò)儲(chǔ)存伺服器3發(fā) 出操作指令時(shí),儲(chǔ)存伺服器3為會(huì)將操作指令傳送至虛擬磁盤管理系統(tǒng)4,此時(shí)虛擬磁盤驅(qū)動(dòng)器44先判別操作指令類型,若為新建虛擬磁盤的指令,則會(huì)向磁盤區(qū)段分配及回收器45請(qǐng)求配置新的實(shí)體區(qū)段511或?qū)嶓w區(qū)段521,此實(shí)施例以第一儲(chǔ)存媒體51的I號(hào)及52號(hào)實(shí)體區(qū)段51說(shuō)明,并將新建立的虛擬磁盤給定一個(gè)唯一的流水碼,假設(shè)為編號(hào)0,并將其剛分配的實(shí)體區(qū)段511索引值記錄于虛擬磁盤實(shí)體區(qū)段占用表5125,并填入指令中新建磁盤的大小值,即最大該磁盤有效的定址空間(此例為2GB,如圖3所示),而虛擬磁盤的容量可超出實(shí)際分配的的容量,只要再使用前,完成擴(kuò)充實(shí)際實(shí)體區(qū)段511的數(shù)量即可。接著,管控區(qū)段處理器42會(huì)更新第一實(shí)體區(qū)段索引表5122相對(duì)位置為占用狀態(tài),即更新為I。再者,若為新建差異磁盤的指令,假設(shè)新建立虛擬磁盤I為虛擬磁盤O的差異磁盤,則需增加該新磁盤與由參數(shù)指定的虛擬磁盤O的關(guān)連記錄于差異磁盤關(guān)系表5124(如圖3所示),建立的差異磁盤,其磁盤的容量值等于其關(guān)連的虛擬磁盤,且差異磁盤關(guān)系表5124更新后會(huì)通過(guò)管控區(qū)段處理器42及磁盤存取及排程器43寫(xiě)入管控區(qū)段512,其過(guò)程與上述的初始化儲(chǔ)存媒體5寫(xiě)入管控區(qū)段512 —致,故往后不再贅述。若虛擬磁盤驅(qū)動(dòng)器44接收到刪除虛擬磁盤的指令,指令中必定指定刪除的目標(biāo)磁盤編號(hào)為參數(shù),首先釋放其所占用的實(shí)體區(qū)段511或?qū)嶓w區(qū)段521,并更新相關(guān)的第一實(shí)體區(qū)段索引表5122或第二實(shí)體區(qū)段索引表5123為未配置狀態(tài),接著,只需于虛擬磁盤實(shí)體區(qū)段占用表5125中找到并刪除該記錄,即可消滅該虛擬磁盤;若刪除的對(duì)象為差異磁盤,另需由差異磁盤關(guān)系表5124刪除該差異磁盤的記錄;若是曾建立差異磁盤的虛擬磁盤,其所相關(guān)連的所有差異磁盤也需一并刪除。又,對(duì)于掛載虛擬磁盤指令,虛擬磁盤驅(qū)動(dòng)器44只要通過(guò)管控區(qū)段處理器42檢查目標(biāo)虛擬磁盤是否已存在于虛擬磁盤實(shí)體區(qū)段占用表5125,并檢查差異磁盤關(guān)系表5124內(nèi)其是否有相關(guān)連的差異磁盤,然后,將其占用的實(shí)體區(qū)段511、521載入系統(tǒng)即可。若虛擬磁盤驅(qū)動(dòng)器44接收到的指令不為上述幾種類型,例如可能為儲(chǔ)存媒體5的狀態(tài)查詢指令,這些指令將與傳統(tǒng)標(biāo)準(zhǔn)的元件作業(yè)流程一致,故不于本發(fā)明中強(qiáng)調(diào)。一些因管理用途需要的功能,例如列舉所有已注冊(cè)的虛擬磁盤或差異磁盤、加入或刪除新的儲(chǔ)存媒體5等功能,雖未詳述,但可由上述內(nèi)容輕易類推,亦不于本發(fā)明中強(qiáng)調(diào)。請(qǐng)參閱圖I至圖3與圖6所示,當(dāng)虛擬磁盤被用戶端電腦I掛載后,接著即可服務(wù)虛擬磁盤的存取指令。此工作流程由管控區(qū)段處理器42、磁盤存取及排程器43、磁盤區(qū)段分配及回收器45、虛擬磁盤儲(chǔ)存區(qū)段表暫存器46及虛擬磁盤寫(xiě)入保護(hù)轉(zhuǎn)址器47完成。當(dāng)虛擬磁盤驅(qū)動(dòng)器44收到虛擬磁盤取存數(shù)據(jù)的指令后,轉(zhuǎn)交由虛擬磁盤寫(xiě)入保護(hù)轉(zhuǎn)址器47處理(如圖5所示),虛擬磁盤寫(xiě)入保護(hù)轉(zhuǎn)址器47可由虛擬磁盤儲(chǔ)存區(qū)段表暫存器46 (較快速)或磁盤區(qū)段分配及回收器45 (較慢速,因?yàn)樾枰蓛?chǔ)存媒體5上的管控區(qū)512段讀出)得知虛擬磁盤實(shí)體區(qū)段占用表5125,取得所有該虛擬磁盤可以存取的儲(chǔ)存媒體5的實(shí)體區(qū)段511、521,接著會(huì)先做合法性的檢查,任何對(duì)于該虛擬磁盤的存取指令不應(yīng)超出這些范圍,否則該指令不應(yīng)被執(zhí)行,當(dāng)虛擬磁盤將于某一未配置的實(shí)體儲(chǔ)存空間的合法虛擬位置(未超出虛擬磁盤的容量范圍)上寫(xiě)入新的數(shù)據(jù)時(shí),會(huì)先向磁盤區(qū)段分配及回收器45請(qǐng)求配置新的實(shí)體區(qū)段511、521,并更新管控區(qū)段512內(nèi)的數(shù)據(jù),使得原存取的指令仍滿足保護(hù)條件而正常執(zhí)行。上述動(dòng)作已可以計(jì)算出該虛擬磁盤存放于儲(chǔ)存媒體5的實(shí)體位址,的后由虛擬磁盤存取器48依虛擬磁盤格式進(jìn)行真正的數(shù)據(jù)存取于儲(chǔ)存媒體5上;此虛擬磁盤格式與傳統(tǒng)作法一致,故不表現(xiàn)于流程圖中。再者,存取指令受目標(biāo)磁盤是否為差異磁盤而有不同的處理方式,當(dāng)某一虛擬磁盤被建立一差異磁盤后,該虛擬磁盤呈現(xiàn)只讀狀態(tài),受到避免寫(xiě)入數(shù)據(jù)的保護(hù),寫(xiě)入的數(shù)據(jù)會(huì)被轉(zhuǎn)存至其差異磁盤;然而讀出數(shù)據(jù)則有會(huì)有兩種可能性若為讀出曾寫(xiě)入于差異磁盤的數(shù)據(jù),則會(huì)由差異磁盤讀出;若為讀出不曾寫(xiě)入于差異磁盤的數(shù)據(jù),則會(huì)由虛擬磁盤直接讀出。最后,虛擬磁盤數(shù)據(jù)快取及緩沖器49在虛擬磁盤的存取運(yùn)作原理與傳統(tǒng)快取方 法雷同的部份不加以詳述,而虛擬磁盤數(shù)據(jù)快取及緩沖器49其運(yùn)作特點(diǎn)在于對(duì)讀取的指令而言,會(huì)優(yōu)先快取曾被建立差異磁盤的虛擬磁盤數(shù)據(jù);對(duì)寫(xiě)入指令而言,會(huì)優(yōu)先快取寫(xiě)入差異磁盤的數(shù)據(jù),若快取空間不足,由讀取指令取得的數(shù)據(jù)優(yōu)先于剛被寫(xiě)入的數(shù)據(jù)。綜上所述,本發(fā)明的高效能虛擬磁盤管理系統(tǒng)能在無(wú)需作業(yè)系統(tǒng)的檔案系統(tǒng)的支援下,在多個(gè)區(qū)塊層級(jí)的儲(chǔ)存媒體5上實(shí)現(xiàn)動(dòng)態(tài)空間配置的效用,用以存放并管理多個(gè)虛擬磁盤。且因本發(fā)明能避免運(yùn)行作業(yè)系統(tǒng)及其檔案系統(tǒng)的計(jì)算效能損失,減少一層昂貴的檔案系統(tǒng)位址轉(zhuǎn)換的計(jì)算消耗,因此具備高速的存取效能。因此,利用本發(fā)明的技術(shù),可提升傳統(tǒng)儲(chǔ)存媒體5技術(shù)的儲(chǔ)存空間利用率,且不因此造成大幅的存取效能損失。以上說(shuō)明對(duì)本發(fā)明而言只是說(shuō)明性的,而非限制性的,本領(lǐng)域普通技術(shù)人員理解,在不脫離以下所附權(quán)利要求所限定的精神和范圍的情況下,可做出許多修改,變化,或等效,但都將落入本發(fā)明的保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種高效能虛擬磁盤管理系統(tǒng),其特征在于,是設(shè)置有用戶端電腦,用戶端電腦通過(guò)網(wǎng)絡(luò)連接有儲(chǔ)存伺服器,儲(chǔ)存伺服器通過(guò)虛擬磁盤管理系統(tǒng)連接有區(qū)塊層級(jí)的儲(chǔ)存媒體,而虛擬磁盤管理系統(tǒng)用于儲(chǔ)存媒體上建立及存取多個(gè)具動(dòng)態(tài)空間配置效果的虛擬磁盤,且虛擬磁盤管理系統(tǒng)使用管控用的資訊包有實(shí)體區(qū)段索引表、儲(chǔ)存媒體群記錄表、虛擬磁盤實(shí)體區(qū)段占用表及差異磁盤關(guān)系表其中 該實(shí)體區(qū)段索引表為虛擬磁盤管理系統(tǒng)以一事先給定的固定區(qū)段容量值,將每一儲(chǔ)存媒體以一致的規(guī)劃方式,規(guī)劃成為多個(gè)實(shí)體區(qū)段,進(jìn)所產(chǎn)生實(shí)體區(qū)段索引表; 該儲(chǔ)存媒體群記錄表為虛擬磁盤管理系統(tǒng)偵測(cè)虛擬磁盤管理系統(tǒng)中所有已連接并可使用的儲(chǔ)存媒體數(shù)量后,對(duì)每一儲(chǔ)存媒體會(huì)被分配唯一識(shí)別碼,所建立而成的儲(chǔ)存媒體群記錄表; 該虛擬磁盤實(shí)體區(qū)段占用表包含有虛擬磁盤編號(hào)、實(shí)體區(qū)段索引,虛擬磁盤編號(hào)為虛擬磁盤管理系統(tǒng)于處理來(lái)自用戶端電腦,通過(guò)儲(chǔ)存伺服器執(zhí)行虛擬磁盤的建立操作指令時(shí),虛擬磁盤管理系統(tǒng)將建立的虛擬磁盤給定一個(gè)唯一的流水碼所產(chǎn)生,而實(shí)體區(qū)段索引為記錄虛擬磁盤管理系統(tǒng)配置新的實(shí)體區(qū)段序列; 該差異磁盤關(guān)系表為虛擬磁盤管理系統(tǒng)于處理來(lái)自用戶端電腦,通過(guò)儲(chǔ)存伺服器執(zhí)行差異磁盤的建立操作指令時(shí),虛擬磁盤管理系統(tǒng)將建立的差異磁盤給定一個(gè)唯一的流水碼,并將其關(guān)連虛擬磁盤的流水碼與差異磁盤的流水碼記錄于差異磁盤關(guān)系表。
2.根據(jù)權(quán)利要去I所述的高效能虛擬磁盤管理系統(tǒng),其特征在于,該虛擬磁盤管理系統(tǒng)在儲(chǔ)存媒體上選定一主要及多個(gè)次要的實(shí)體區(qū)段當(dāng)作管控區(qū)段,存放實(shí)體區(qū)段索引表、儲(chǔ)存媒體群記錄表、虛擬磁盤實(shí)體區(qū)段占用表及差異磁盤關(guān)系表。
3.根據(jù)權(quán)利要去2所述的高效能虛擬磁盤管理系統(tǒng),其特征在于,該虛擬磁盤管理系統(tǒng)由管控區(qū)段得到實(shí)體區(qū)段索引表,以得知有哪些實(shí)體區(qū)段可以被分配或已被占用,當(dāng)虛擬磁盤管理系統(tǒng)執(zhí)行新建、刪除及掛載虛擬磁盤的指令時(shí),能分配實(shí)體區(qū)段給虛擬磁盤、回收虛擬磁盤所占用的實(shí)體區(qū)段或查詢出該虛擬磁盤占用的實(shí)體區(qū)段。
4.根據(jù)權(quán)利要去2所述的高效能虛擬磁盤管理系統(tǒng),其特征在于,該虛擬磁盤管理系統(tǒng)會(huì)將使用中的虛擬磁盤的虛擬磁盤實(shí)體區(qū)段占用表的記錄內(nèi)容存放于高速存取的暫存器中,且任何虛擬磁盤實(shí)體區(qū)段占用表異動(dòng)的事件發(fā)生時(shí),會(huì)同時(shí)更新管控區(qū)段與暫存器中的虛擬磁盤實(shí)體區(qū)段占用表。
全文摘要
本發(fā)明公開(kāi)一種高效能虛擬磁盤管理系統(tǒng),是設(shè)置有用戶端電腦,用戶端電腦通過(guò)網(wǎng)絡(luò)連接有儲(chǔ)存伺服器,儲(chǔ)存伺服器通過(guò)虛擬磁盤管理系統(tǒng)連接有區(qū)塊層級(jí)的儲(chǔ)存媒體,而虛擬磁盤管理系統(tǒng)用以于儲(chǔ)存媒體上建立及存取多個(gè)具動(dòng)態(tài)空間配置效果的虛擬磁盤,且虛擬磁盤管理系統(tǒng)使用管控用的資訊包有實(shí)體區(qū)段索引表、儲(chǔ)存媒體群記錄表、虛擬磁盤實(shí)體區(qū)段占用表及差異磁盤關(guān)系表,讓實(shí)體及虛擬空間位址轉(zhuǎn)換一次性計(jì)算,以增進(jìn)虛擬磁盤存取的效能。
文檔編號(hào)G06F3/06GK102841758SQ20111016554
公開(kāi)日2012年12月26日 申請(qǐng)日期2011年6月20日 優(yōu)先權(quán)日2011年6月20日
發(fā)明者黃嘉新 申請(qǐng)人:鉅貫德科技股份有限公司