專利名稱:用于改變層的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明示例性實(shí)施例的方面通常涉及數(shù)據(jù)存儲(chǔ)環(huán)境中的精簡(jiǎn)配置(thinprovision)和層(tier)管理,并且更具體地,涉及精簡(jiǎn)配置系統(tǒng)中分配頁(yè)的方法和裝置。
背景技術(shù):
精簡(jiǎn)配置是一種將接收寫(xiě)命令的存儲(chǔ)子系統(tǒng)的區(qū)域分配給虛擬卷(virtualvolume)中未被分配的區(qū)域的方法。頁(yè)是分配的區(qū)域的單位??梢杂妹瞰@得虛擬卷和頁(yè)大小的狀態(tài)。通過(guò)這種狀態(tài)的通知,應(yīng)用能確定一些區(qū)域是否已被分配。存儲(chǔ)子系統(tǒng)可將若干類型的介質(zhì)分配給虛擬卷中未被分配的區(qū)域。圖1和圖2是說(shuō)明用于能夠改變區(qū)域的層的應(yīng)用程序的文件、虛擬卷和邏輯卷之間關(guān)系的示例圖。文件A映射到頁(yè)0和頁(yè)I。虛擬卷的頁(yè)0映射到邏輯卷的頁(yè)100。邏輯卷的頁(yè)100和頁(yè)101是層1,以及邏輯卷的頁(yè)200和頁(yè)201是層2。文件層策略信息405示出由文件名稱701指定的文件,該文件與由層702指定的層一起存儲(chǔ)在一個(gè)區(qū)域中。應(yīng)用程序基于文件層策略信息405改變層,該文件層策略信息405是將文件名稱和層關(guān)聯(lián)的表格。因此,圖1中虛擬卷的頁(yè)0和頁(yè)I映射到邏輯卷的層I。如圖2所示,由于應(yīng)用程序?qū)⑽募﨎的層改變?yōu)閷?,因此,頁(yè)I和頁(yè)2映射到層2,并且文件A的一部分被存儲(chǔ)在層2中。由于層2與層I相比是低性能介質(zhì),因此文件A的性能下降,這在由于性能原因?qū)⑽募嗀放在層I時(shí)可能是不利。
發(fā)明內(nèi)容
示例性實(shí)施例的方面包括一種系統(tǒng),包括存儲(chǔ)子系統(tǒng);該存儲(chǔ)子系統(tǒng)接收用于將所述存儲(chǔ)子系統(tǒng)中的指定的存儲(chǔ)區(qū)域的層改變?yōu)橹付ǖ膶拥拿睿谒鲋付ǖ拇鎯?chǔ)區(qū)域內(nèi)檢查頁(yè),并且基于檢查的結(jié)果確定是否執(zhí)行所述命令,其中所述頁(yè)包括分派給與所述指定的層不同的層的文件。示例性實(shí)施例的另外方面進(jìn)一步包括一種存儲(chǔ)由中央處理單元(CPU)執(zhí)行的指令的計(jì)算機(jī)可讀介質(zhì),其包括接收用于將存儲(chǔ)子系統(tǒng)中的指定的存儲(chǔ)區(qū)域的層改變?yōu)橹付ǖ膶拥拿睿辉谒鲋付ǖ拇鎯?chǔ)區(qū)域內(nèi)檢查頁(yè),其中所述頁(yè)包括分派給與所述指定的層不同的層的文件;以及基于檢查的結(jié)果確定是否執(zhí)行所述命令。示例性實(shí)施例的另外方面進(jìn)一步包括一種系統(tǒng),該系統(tǒng)包括存儲(chǔ)子系統(tǒng);其中當(dāng)存儲(chǔ)子系統(tǒng)從應(yīng)用服務(wù)器接收到對(duì)于所述存儲(chǔ)子系統(tǒng)中的位置的狀態(tài)查詢命令時(shí),所述存儲(chǔ)子系統(tǒng)將與所述位置對(duì)應(yīng)的已分配層信息發(fā)送到所述應(yīng)用服務(wù)器。示例性實(shí)施例的另外方面進(jìn)一步包括一種系統(tǒng),該系統(tǒng)包括應(yīng)用服務(wù)器,該應(yīng)用服務(wù)器向存儲(chǔ)子系統(tǒng)發(fā)出層改變命令,其中,所述層改變命令包括文件的已指定層信息和存儲(chǔ)位置,所述文件是要被移動(dòng)到具有有資格的層的存儲(chǔ)子系統(tǒng)中的存儲(chǔ)區(qū)域的文件。
在結(jié)合附圖考慮時(shí),從下面對(duì)實(shí)施例的描述,這些和/或其它方面將變得更加容易理解,其中圖1示出了說(shuō)明精簡(jiǎn)配置系統(tǒng)的文件、虛擬卷和邏輯卷之間的關(guān)系的示例圖;圖2示出了說(shuō)明精簡(jiǎn)配置系統(tǒng)的文件、虛擬卷和邏輯卷之間的關(guān)系的另一示例圖;圖3示出了依據(jù)示例性實(shí)施例的信息系統(tǒng)的硬件配置;圖4示出了依據(jù)示例性實(shí)施例的應(yīng)用服務(wù)器中的存儲(chǔ)器;圖5示出了依據(jù)示例性實(shí)施例的存儲(chǔ)子系統(tǒng)中的存儲(chǔ)器;圖6示出了依據(jù)示例性實(shí)施例的文件位置信息;圖7示出了依據(jù)示例性實(shí)施例的文件層策略信息;圖8示出了依據(jù)示例性實(shí)施例的RAID組信息;圖9示出了依據(jù)示例性實(shí)施例的表格形式的邏輯卷信息;圖10示出了依據(jù)示例性實(shí)施例的表格形式的池信息;圖11示出了依據(jù)示例性實(shí)施例的表格形式的虛擬卷信息;圖12示出了依據(jù)示例性實(shí)施例的表格形式的層定義信息;圖13示出了依據(jù)示例性實(shí)施例的文件讀取命令;圖14示出了依據(jù)示例性實(shí)施例的文件寫(xiě)命令;圖15示出了依據(jù)示例性實(shí)施例的讀取命令;圖16示出了依據(jù)示例性實(shí)施例的寫(xiě)命令;圖17示出了依據(jù)示例性實(shí)施例的分配命令;圖18示出了依據(jù)第一示例性實(shí)施方式的文件控制程序的流程圖;圖19示出了依據(jù)第一示例性實(shí)施方式的文件控制程序的流程圖的另一示例;圖20第一示例性實(shí)施方式的磁盤控制程序的流程圖;圖21示出了依據(jù)第二示例性實(shí)施方式的獲取狀態(tài)命令;圖22示出了依據(jù)第二示例性實(shí)施方式的獲取狀態(tài)命令應(yīng)答;圖23示出了依據(jù)第二示例性實(shí)施方式的虛擬卷信息中的文件、虛擬卷和邏輯卷之間的關(guān)系的不意圖;圖24示出了依據(jù)第二示例性實(shí)施方式的文件控制程序流程圖的另一示例;圖25示出了依據(jù)第二示例性實(shí)施方式的磁盤控制程序的流程圖。
具體實(shí)施例方式因?yàn)槟壳暗木?jiǎn)配置方法使多個(gè)文件位于每個(gè)頁(yè)中,因此該方法沒(méi)有任何應(yīng)用程序來(lái)改變系統(tǒng)中區(qū)域的層。也沒(méi)有用于應(yīng)用程序獲知頁(yè)邊界的方法。示例性實(shí)施例總體上用于提供系統(tǒng)和方法來(lái)允許存儲(chǔ)區(qū)域改變采用精簡(jiǎn)配置的存儲(chǔ)系統(tǒng)中的層。在示例性實(shí)施例中,存儲(chǔ)子系統(tǒng)基于應(yīng)用程序的命令改變區(qū)域的層。在一個(gè)示例性實(shí)施中,應(yīng)用程序從存儲(chǔ)子系統(tǒng)獲取頁(yè)大小。存儲(chǔ)子系統(tǒng)的頁(yè)被限制為每頁(yè)僅包含一個(gè)文件。因此應(yīng)用服務(wù)器基于頁(yè)大小僅定位一個(gè)文件及其對(duì)應(yīng)的頁(yè)并發(fā)送命令來(lái)改變層。圖3示出了依據(jù)示例性實(shí)施例的信息系統(tǒng)的硬件配置。該系統(tǒng)包括應(yīng)用服務(wù)器300, SAN (存儲(chǔ)區(qū)域網(wǎng)絡(luò))320、LAN (局域網(wǎng))340以及存儲(chǔ)子系統(tǒng)360。應(yīng)用服務(wù)器300包括CPU (中央處理單元)301、存儲(chǔ)器302、HDD (硬盤驅(qū)動(dòng)器)303、SAN接口 304以及LAN接口 305。CPU 301從存儲(chǔ)器302讀取程序并執(zhí)行程序。當(dāng)應(yīng)用服務(wù)器300啟動(dòng)時(shí),存儲(chǔ)器302從HDD 303讀取程序和數(shù)據(jù),并且存儲(chǔ)該程序和數(shù)據(jù)。HDD 303存儲(chǔ)程序和數(shù)據(jù)。SAN接口 304連接應(yīng)用服務(wù)器300和SAN 320。LAN接口 305連接應(yīng)用服務(wù)器300和LAN 340。SAN 320連接應(yīng)用服務(wù)器300和存儲(chǔ)子系統(tǒng)360。應(yīng)用服務(wù)器300使用SAN320來(lái)與存儲(chǔ)子系統(tǒng)360接口以發(fā)送和接收應(yīng)用數(shù)據(jù)。應(yīng)用服務(wù)器300使用LAN 340來(lái)與存儲(chǔ)子系統(tǒng)360接口以發(fā)送和接收管理數(shù)據(jù)。LAN 340連接應(yīng)用服務(wù)器300和存儲(chǔ)子系統(tǒng)360。存儲(chǔ)子系統(tǒng)360包括SAN接口 361、LAN接口 362、CPU 363、存儲(chǔ)器364、磁盤接口365、一個(gè)或多個(gè)HDD 366以及一個(gè)或多個(gè)SSD (固態(tài)驅(qū)動(dòng)器)367。SAN接口 361連接存儲(chǔ)子系統(tǒng)360和SAN 320。LAN接口 362連接存儲(chǔ)子系統(tǒng)360和LAN 340。CPU 363從存儲(chǔ)器364讀取程序并執(zhí)行程序。當(dāng)存儲(chǔ)子系統(tǒng)360啟動(dòng)時(shí),存儲(chǔ)器364從HDD 366和HDD 367讀取程序和數(shù)據(jù),并且存儲(chǔ)該程序和數(shù)據(jù)。磁盤接口 365將HDD 366和SSD 367連接到存儲(chǔ)系統(tǒng)360的其它元件。HDD 366和SSD 367存儲(chǔ)程序和數(shù)據(jù)。存儲(chǔ)器302可是計(jì)算機(jī)可讀介質(zhì)的形式,該介質(zhì)可以是參與向CPU 301提供指令用于執(zhí)行的任何介質(zhì)。存儲(chǔ)器302還可以是諸如便攜式硬盤的可移動(dòng)存儲(chǔ)設(shè)備,光介質(zhì)(CD或DVD),磁盤介質(zhì)或計(jì)算機(jī)能從中讀取可執(zhí)行代碼的其它任意的介質(zhì)。圖4示出了依據(jù)示例性實(shí)施例的圖3的應(yīng)用服務(wù)器300中的存儲(chǔ)器302。存儲(chǔ)器302包括操作系統(tǒng)(OS)程序401、應(yīng)用程序402、文件控制程序403、文件位置信息404以及文件層策略信息405。OS程序401執(zhí)行應(yīng)用程序402。應(yīng)用程序402 (例如控制數(shù)據(jù)庫(kù)操作的指令)將文件讀取命令和文件寫(xiě)命令發(fā)送到文件控制程序403,以從存儲(chǔ)子系統(tǒng)360讀取數(shù)據(jù)、處理讀取的數(shù)據(jù)并將結(jié)果寫(xiě)到存儲(chǔ)子系統(tǒng)360。文件控制程序403管理文件。當(dāng)文件控制程序403從應(yīng)用程序402接收到文件讀取命令時(shí),文件控制程序403從存儲(chǔ)子系統(tǒng)360讀取數(shù)據(jù)并將結(jié)果發(fā)送到應(yīng)用程序402。當(dāng)文件控制程序403從應(yīng)用程序402接收到文件寫(xiě)命令時(shí),文件控制程序403將數(shù)據(jù)寫(xiě)到存儲(chǔ)子系統(tǒng)360并將結(jié)果發(fā)送到應(yīng)用程序402。圖5示出了依據(jù)示例性實(shí)施例的圖3的存儲(chǔ)子系統(tǒng)360中的存儲(chǔ)器364。存儲(chǔ)器364包括磁盤控制程序501、廉價(jià)/獨(dú)立磁盤冗余陣列(RAID)組信息502、邏輯卷信息503、池信息504、虛擬卷信息505以及層定義信息506。磁盤控制程序501從應(yīng)用服務(wù)器300接收讀取命令和寫(xiě)命令,從一個(gè)或多個(gè)HDD366和一個(gè)或多個(gè)SSD 367讀取數(shù)據(jù),并且利用RAID組信息502、邏輯卷信息503、池信息504、虛擬卷信息505以及層定義信息506將數(shù)據(jù)寫(xiě)到一個(gè)或多個(gè)HDD 366和一個(gè)或多個(gè)SSD 367。圖6示出了依據(jù)示例性實(shí)施例的文件位置信息404。文件位置信息404包括表格,該表格具有用于文件名稱601、文件地址602、卷名稱603和卷地址604的條目的行(例如605、606、607)。文件位置信息404示出了由文件名稱601和文件地址602指定的數(shù)據(jù)。這個(gè)數(shù)據(jù)被存儲(chǔ)在由卷名稱603和卷地址604指定的區(qū)域。圖7示出了依據(jù)示例性實(shí)施例的文件層策略信息405。文件層策略信息405包括第一表格,該第一表格具有用于文件名稱701和卷702的條目的行(例如703、704、705)。文件層策略信息405包括第二表格,該第二表格具有用于卷名稱711和優(yōu)先級(jí)712的條目的行713、714。文件層策略信息405示出了,對(duì)于第一表格,由文件名稱701指定的文件應(yīng)當(dāng)與對(duì)應(yīng)的層702存儲(chǔ)在一個(gè)區(qū)域中。在第二表格中,如果兩個(gè)或多于兩個(gè)的文件位于一個(gè)頁(yè),則優(yōu)先級(jí)712示出哪個(gè)卷名稱711具有較高或較低優(yōu)先級(jí)的層。管理員或應(yīng)用程序402可編輯文件層策略信息405。圖8示出了依據(jù)示例性實(shí)施例的RAID組信息502。RAID組信息502包括表格,該表格具有用于RAID組名稱801、介質(zhì)名稱802、RAID等級(jí)803、介質(zhì)類型804以及容量805的條目的行(例如806、807、808)。例如,行806示出了,RAID組“RG A”包括介質(zhì)“SSD A”、“SSD B” 和 “SSD C”,RAID 等級(jí) “RAID 5”、介質(zhì)類型 “SSD SLC” 以及容量 “ 100”。圖9示出了依據(jù)示例性實(shí)施例的邏輯卷信息503。邏輯卷信息503包括表格,該表格包括用于邏輯卷名稱901、邏輯卷地址902、RAID組名稱903以及RAID組地址904的條目的行(例如905、906、907)。例如,行905示出了,“L-VOL A”中的地址“0”至“99”映射至IjRAID組“ RGA”中的地址“ 0 ”至“ 99 ”。圖10不出了依據(jù)不例性實(shí)施例的池信息504。池信息504包括表格,該表格具有用于池名稱1001、邏輯卷名稱1002、虛擬卷名稱1003以及容量1004的條目的行(例如1005、1006)。例如,行 1005 示出了,池 “POOL A” 包括邏輯卷 “L-VOL A”、“L_V0L B,,和 “L-VOLC”,“POOL A”的區(qū)域被“V-V0L A”使用,并且“V-V0L A”的容量為“300”。圖11示出了依據(jù)示例性實(shí)施例的虛擬卷信息505。虛擬卷信息505包括表格,該表格具有用于虛擬卷頁(yè)號(hào)1101、虛擬卷名稱1102、虛擬卷地址1103、邏輯卷頁(yè)號(hào)1104、邏輯卷名稱1105以及邏輯卷地址1106的條目的行(例如1107、1108、1109、1110、1111)。在圖11的示例中,頁(yè)大小為10。例如,行1107示出了,“PAGE 0”的地址為“V-V0L A”上的“0”至“9”以及“PAGE 100”的地址為“L-VOL A”上的“0”至“9”,并且“PAGE 0”映射到“PAGE100”。圖12示出了依據(jù)示例性實(shí)施例的層定義信息506。層定義信息506包括表格,該表格具有用于層1201、介質(zhì)類型1202和默認(rèn)層1203的條目的行(例如1204、1205、1206)。例如,行1204示出了,層“I”的介質(zhì)類型為“SSD SLC”且該層不是默認(rèn)層,并且行1205示出了,層“2”的介質(zhì)類型為“HDD SAS 15,OOOrpm”且層“2”是默認(rèn)層。圖13示出了依據(jù)示例性實(shí)施例的文件讀取命令1300。文件讀取命令1300包括命令類型1301、文件名稱1302和文件地址1303。文件讀取命令1300被從應(yīng)用程序402發(fā)送到文件控制程序403。圖14示出了依據(jù)示意性實(shí)施例的文件寫(xiě)命令1400。文件寫(xiě)命令1400包括命令類型1401、文件名稱1402、文件地址1403和數(shù)據(jù)1404。文件寫(xiě)命令1400被從應(yīng)用程序402發(fā)送到文件控制程序403。圖15示出了依據(jù)示意性實(shí)施例的讀取命令1500。讀取命令1500包括命令類型1501、卷名稱1502和卷地址1503。讀取命令1500被從文件控制程序403發(fā)送到存儲(chǔ)子系統(tǒng) 360。圖16示出了依據(jù)示意性實(shí)施例的寫(xiě)命令1600。寫(xiě)命令1600包括命令類型1601、卷名稱1602、卷地址1603和數(shù)據(jù)1604。寫(xiě)命令1600被從文件控制程序403發(fā)送到存儲(chǔ)子系統(tǒng)360。
圖17示出了依據(jù)示意性實(shí)施例的分配命令1700。分配命令1700包括命令類型1701、卷名稱1702、卷地址1703和層1704。分配命令1700被從文件控制程序403發(fā)送到存儲(chǔ)子系統(tǒng)360。第一示例性實(shí)施方式在第一示例性實(shí)施方式中,應(yīng)用程序發(fā)送命令來(lái)改變指定的存儲(chǔ)區(qū)域的層。如果指定的存儲(chǔ)區(qū)域是頁(yè)的一部分,并且如果由該命令指定的層低于當(dāng)前分配給指定的區(qū)域的層,則存儲(chǔ)子系統(tǒng)不改變?cè)搶?。如果由該命令指定的層不低于?dāng)前分配給指定的區(qū)域的層,則存儲(chǔ)子系統(tǒng)基于該命令改變指定的存儲(chǔ)區(qū)域的層。為了明確到目的,參考前面的圖中的元件。文件控制程序403從應(yīng)用程序402接收文件讀取命令1300或文件寫(xiě)命令1400,將讀取命令1500或?qū)懨?600發(fā)送到存儲(chǔ)子系統(tǒng)360,同時(shí)將讀取或?qū)懙慕Y(jié)果發(fā)送到應(yīng)用程序402。圖18示出了依據(jù)第一示例性實(shí)施方式的,當(dāng)接收到文件讀取命令1300或文件寫(xiě)命令1400時(shí),應(yīng)用服務(wù)器300中的文件控制程序403的流程圖。在操作1801,文件控制程序403從應(yīng)用程序402接收文件讀取命令1300或文件寫(xiě)命令1400。在操作1802,如果從操作1801接收到的命令是文件寫(xiě)命令1400,則處理進(jìn)入如下所述的操作1803 ;如果不是,則處理進(jìn)入如下所述的操作1810。在操作1803,如果由文件寫(xiě)命令1400中的文件名稱1402指定的文件名稱被列在文件位置信息404的文件名稱601中,則處理進(jìn)入操作1806 ;如果不是,則處理進(jìn)入操作1804。在操作1804,文件控制程序403從由文件寫(xiě)命令1400中的文件名稱1402指定的文件層策略信息405中獲取層702。在操作1805,文件控制程序403從文件位置信息404中查找未分配給任何文件的區(qū)域,將表示與未分配區(qū)域?qū)?yīng)的卷地址1703和與操作1804中選擇的層對(duì)應(yīng)的層1704的分配命令1700發(fā)送給存儲(chǔ)子系統(tǒng)360,并更新文件位置信息404。在操作1806,如果由文件寫(xiě)命令1400中的卷地址1403指定的區(qū)域被分配在文件位置信息404的文件地址602中,則處理進(jìn)入操作1809 ;如果不是,則處理進(jìn)入操作1807。在操作1807,文件控制程序403從由文件寫(xiě)命令1400中的文件名稱1402指定的文件層策略信息405中獲取層702。在操作1808,文件控制程序403從文件位置信息404中查找未分配給任何文件的區(qū)域,將表示與未分配區(qū)域?qū)?yīng)的卷地址1703和與操作1807中選擇的層對(duì)應(yīng)的層1704的分配命令1700發(fā)送給存儲(chǔ)子系統(tǒng)360,并更新文件位置信息404。在操作1809,文件控制程序403將卷地址1603由文件寫(xiě)命令1400指定的寫(xiě)命令1600和文件位置信息404發(fā)送到存儲(chǔ)子系統(tǒng)360,并將寫(xiě)的結(jié)果發(fā)送到應(yīng)用程序402。在操作1810,文件控制程序403獲取文件名稱601和文件地址602由文件讀取命令1300中的文件名稱1302和文件地址1303指定的卷名稱603和卷地址604。在操作1811,文件控制程序403發(fā)送讀取命令1500,所述讀取命令1500的卷名稱1502和卷地址1503是操作1810中獲取的卷名稱603和卷地址604。圖19不出了依據(jù)第一不例性實(shí)施方式的,當(dāng)文件層策略信息405被修改時(shí),應(yīng)用服務(wù)器300中用于改變層的文件控制程序403的流程圖的另一示例。當(dāng)文件層策略信息405被改變時(shí),文件控制程序403將文件的層改變成不同的層。應(yīng)用程序402和管理員可以修改文件層策略信息405。在操作1901,當(dāng)應(yīng)用程序402或管理員修改文件層策略信息405時(shí),文件控制程序403獲取文件層策略信息405,在操作1902,文件控制程序403將分配命令1700發(fā)送到存儲(chǔ)子系統(tǒng)360來(lái)將層改變?yōu)橛稍诓僮?901接收的文件層策略信息405指定的層。圖20示出了依據(jù)第一示例性實(shí)施方式的存儲(chǔ)子系統(tǒng)360的磁盤控制程序501的示例性流程圖。磁盤控制程序501從文件控制程序403接收讀取命令1500、寫(xiě)命令1600或分配命令1700,并且磁盤控制程序501發(fā)送讀取或?qū)懨畹慕Y(jié)果。在操作2001,磁盤控制程序501從文件控制程序403接收讀取命令1500、寫(xiě)命令1600或分配命令1700。在操作2002,如果磁盤控制程序501在操作2001接收的命令是寫(xiě)命令1600,則處理進(jìn)入操作2003 ;如果不是,處理進(jìn)入操作2006。在操作2003,如果由寫(xiě)命令1600的卷名稱1602和卷地址1603指定的區(qū)域被分配在虛擬卷信息505中,則處理進(jìn)入操作2005 ;如果不是,則處理進(jìn)入操作2004。在操作2004,磁盤控制程序501將介質(zhì)類型由層定義信息506中的默認(rèn)層1202指定的邏輯卷的未分配區(qū)域分配給由卷名稱1602和卷地址1603指定的虛擬卷,并更新虛擬卷信息505。在操作2005,磁盤控制程序501從寫(xiě)命令1600中獲取卷名稱1602和卷地址1603、從虛擬卷信息505中獲取邏輯卷名稱1105和邏輯卷地址1106、從邏輯卷信息503中獲取RAID組名稱903和RAID組地址904,并將寫(xiě)命令1600的數(shù)據(jù)1604寫(xiě)到由RAID組名稱903和RAID組地址904指定的區(qū)域。在操作2006,如果磁盤控制程序501在操作2001接收的命令是讀取命令1500,則處理進(jìn)入操作2007 ;如果不是,則處理進(jìn)入操作2010。在操作2007,如果由讀取命令1500的卷名稱1502和卷地址1503指定的區(qū)域被分配在虛擬卷信息505中,則處理進(jìn)入操作2009 ;如果不是,則處理進(jìn)入操作2008。在操作2008,因?yàn)闆](méi)有寫(xiě)入由卷名稱1502和卷地址1503指定的區(qū)域,因此磁盤控制程序501將“0”返回給應(yīng)用服務(wù)器300。在操作2009,磁盤控制程序501從讀取命令1500中獲取卷名稱1502和卷地址1503、從虛擬卷信息505中獲取邏輯卷名稱1105和邏輯卷地址1106、從邏輯卷信息503中獲取RAID組名稱903和RAID組地址904,讀取由RAID組名稱903和RAID組地址904指定的區(qū)域,并返回該數(shù)據(jù)。在操作2010,如果包括由分配命令1700中的卷名稱1702和卷地址1703指定的區(qū)域的頁(yè)被分配在虛擬卷信息505中,則處理進(jìn)入操作2012 ;如果不是,則處理進(jìn)入操作2011。在操作2011,磁盤控制程序501從虛擬卷信息505和邏輯卷信息503中查找未分配區(qū)域(大小與頁(yè)大小相同且層是由分配命令1700中的層1704指定的),將頁(yè)分配給包括由分配命令1700中的卷名稱1702和卷地址1703指定的區(qū)域的區(qū)域,并更新虛擬卷信息505。磁盤控制程序501可以保留由層1704指定的層的、要分配的區(qū)域,并且當(dāng)磁盤控制程序501接收寫(xiě)命令1600時(shí)將層1704指定的層的區(qū)域分配給操作2004中的區(qū)域。在操作2012,如果由分配命令1700中的卷名稱1702和卷地址1703指定的區(qū)域是頁(yè)的一部分,則處理進(jìn)入操作2013 ;如果不是,則處理進(jìn)入操作2014。在操作2013,磁盤控制程序501將指定的卷名稱1702和文件層策略信息中的卷名稱711相比較,并檢查指定的卷名稱1702的相應(yīng)優(yōu)先級(jí)712。如果優(yōu)先級(jí)712是“較高層”并且指定的層1704高于具有由分配命令1700中的卷名稱1702和卷地址1703指定的地址的頁(yè)的層,則處理進(jìn)入操作2014。如果優(yōu)先級(jí)712是“較低層”并且指定的層1704低于包括由分配命令1700中的卷名稱1702和卷地址1703指定的地址的頁(yè)的層,則處理進(jìn)入操作2016 ;如果不是,則處理結(jié)束。在操作2013,如果指定的層1704高于具有由分配命令1700中的卷名稱1702和卷地址1703指定的地址的頁(yè)的層,則處理進(jìn)入操作2014 ;如果不是,則處理結(jié)束。在操作2014,磁盤控制程序501從虛擬卷信息505和邏輯卷信息503中查找具有相同的頁(yè)大小的且具有與由分配命令1700中的層1704指定的層相同的層的未分配區(qū)域,并將查找到的頁(yè)分配給由分配命令1700中的卷名稱1702和卷地址1703指定的區(qū)域。在操作2015,磁盤控制程序501將存儲(chǔ)在包括由分配命令1700中的卷名稱1702和卷地址1703指定的區(qū)域的頁(yè)中的數(shù)據(jù)復(fù)制到在操作2013中分配的頁(yè)并更新虛擬卷信息505。在操作2016,如果具有由卷名稱1702和卷地址1703指定的區(qū)域的所有頁(yè)都被處理了,則處理結(jié)束;如果不是,處理進(jìn)入操作2010。第二示意性實(shí)施方式在第二示例性實(shí)施方式中,以每個(gè)頁(yè)僅存儲(chǔ)一個(gè)文件的方式設(shè)置存儲(chǔ)系統(tǒng)。在第一示例性實(shí)施方式中,每個(gè)頁(yè)中存儲(chǔ)至少一個(gè)文件,允許多個(gè)文件存儲(chǔ)在頁(yè)中。為了明確的目的,將參考前面的圖中的元件并且下面將略去第一示例性實(shí)施方式的前述元件。圖21示出了依據(jù)第二示例性實(shí)施方式的獲取狀態(tài)命令2100。獲取狀態(tài)命令2100包括命令類型2101、卷名稱2102和卷地址2103。當(dāng)文件控制程序403開(kāi)始時(shí),獲取狀態(tài)命令2100被從文件控制程序403發(fā)送到存儲(chǔ)子系統(tǒng)360。圖22示出了依據(jù)第二示例性實(shí)施方式的獲取狀態(tài)命令應(yīng)答2200。獲取狀態(tài)命令應(yīng)答2200包括應(yīng)答類型2201、卷名稱2202、卷地址2203、分配的層2204、頁(yè)大小2205以及層數(shù)2206。作為對(duì)獲取狀態(tài)命令2100的應(yīng)答,獲取狀態(tài)命令應(yīng)答2200被從存儲(chǔ)子系統(tǒng)360發(fā)送到文件控制程序403。分配的層2204示出了分配到由卷名稱2202和卷地址2203指定的區(qū)域的層。如果由卷名稱2202和卷地址2203指定的區(qū)域沒(méi)有被分配,則返回“沒(méi)有分配”。頁(yè)大小2205示出了在由卷名稱2203指定的卷中的頁(yè)的大小。層數(shù)2206示出了由卷名稱2203指定的卷中的層數(shù)。圖23示出了依據(jù)第二示例性實(shí)施方式的虛擬卷信息505中的文件、虛擬卷和邏輯卷之間的關(guān)系的圖示。因?yàn)榛讷@取狀態(tài)命令應(yīng)答2200中的頁(yè)大小2205文件控制程序被通知了頁(yè)邊界,所以在第二示例性實(shí)施方式中對(duì)每頁(yè)僅分配一個(gè)文件。圖24示出了依據(jù)第二示例性實(shí)施方式的文件控制程序403的示例性流程圖。文件控制程序403從應(yīng)用程序402接收文件讀取命令1300和文件寫(xiě)命令1400,將讀取命令1500或?qū)懨?600發(fā)送到存儲(chǔ)子系統(tǒng)360,并且將讀取或?qū)懙慕Y(jié)果發(fā)送到應(yīng)用程序402。操作2401類似于第一示例性實(shí)施方式的操作1805。然而,在操作2401,對(duì)每頁(yè)僅分配一個(gè)文件。在操作1805,可以對(duì)每頁(yè)分配一個(gè)或多個(gè)文件。操作2402類似于第一示例性實(shí)施方式的操作1808。然而,在操作2402,對(duì)每頁(yè)僅分配一個(gè)文件。在操作1808,可以對(duì)每頁(yè)分配一個(gè)或多個(gè)文件。圖25示出了依據(jù)第二示例性實(shí)施方式的磁盤控制程序501的示例性流程圖。在第二示例性實(shí)施方式中,由于對(duì)每頁(yè)上僅分配一個(gè)文件,因此省略了操作2012和操作2013。磁盤控制程序501從文件控制程序403接收讀取命令1500、寫(xiě)命令1600或分配命令1700,并且磁盤控制程序501發(fā)送讀取或?qū)懙慕Y(jié)果。此外,通過(guò)考慮在此公開(kāi)的本發(fā)明的說(shuō)明書(shū)和實(shí)踐,本發(fā)明的其它實(shí)施方式對(duì)于本領(lǐng)域技術(shù)人員來(lái)說(shuō)將變得顯而易見(jiàn)。在允許改變存儲(chǔ)區(qū)域的層的計(jì)算機(jī)存儲(chǔ)系統(tǒng)中,上述實(shí)施例的不同方面和/或組成部分可以單獨(dú)使用或任意組合使用。說(shuō)明書(shū)和示例僅認(rèn)為是示意性的,本發(fā)明真正的范圍和精神由所附權(quán)利要求所指示。
權(quán)利要求
1.一種系統(tǒng),包括: 存儲(chǔ)子系統(tǒng),所述存儲(chǔ)子系統(tǒng)包括CPU,所述CPU接收用于將所述存儲(chǔ)子系統(tǒng)中的指定的存儲(chǔ)區(qū)域的層改變?yōu)橹付ǖ膶拥拿?,在所述指定的存?chǔ)區(qū)域內(nèi)檢查頁(yè),并且基于檢查的結(jié)果確定是否執(zhí)行所述命令,其中所述頁(yè)包括分派給與所述指定的層不同的層的文件。
2.如權(quán)利要求1所述的系統(tǒng),其中,所述存儲(chǔ)子系統(tǒng)在所述不同的層低于所述指定的層時(shí)執(zhí)行所述命令,且在所述不同的層不低于所述指定的層時(shí)不執(zhí)行所述命令。
3.如權(quán)利要求1所述的系統(tǒng),其中,所述存儲(chǔ)子系統(tǒng)通過(guò)將不同的存儲(chǔ)設(shè)備分配給所述頁(yè)來(lái)執(zhí)行用于改變層的所述命令。
4.如權(quán)利要求1所述的系統(tǒng),其中,所述存儲(chǔ)子系統(tǒng)通過(guò)拒絕用于改變層的所述命令來(lái)保持將所述文件分配給第一層。
5.如權(quán)利要求1所述的系統(tǒng),進(jìn)一步包括應(yīng)用服務(wù)器,所述應(yīng)用服務(wù)器將用于改變層的所述命令發(fā)送到所述存儲(chǔ)子系統(tǒng); 其中,當(dāng)所述存儲(chǔ)子系統(tǒng)從所述應(yīng)用服務(wù)器接收到對(duì)于所述存儲(chǔ)子系統(tǒng)中的位置的狀態(tài)查詢命令時(shí),所述存儲(chǔ)子系統(tǒng)將與所述位置對(duì)應(yīng)的已分配層信息發(fā)送到所述應(yīng)用服務(wù)器。
6.如權(quán)利要求5所述的系統(tǒng),其中,當(dāng)所述應(yīng)用服務(wù)器接收到與所述位置對(duì)應(yīng)的所述已分配層信息時(shí),所述應(yīng)用服務(wù)器確定在所述存儲(chǔ)位置中的區(qū)域,所述區(qū)域把要被存儲(chǔ)在所述存儲(chǔ)子系統(tǒng)中的文件排列到所述頁(yè)。
7.如權(quán)利要求1所述的系統(tǒng),其中,所述存儲(chǔ)子系統(tǒng)在所述不同的層高于所述指定的層時(shí)執(zhí)行所述命令,且在所述不同的層不高于所述指定的層時(shí)不執(zhí)行所述命令。
8.如權(quán)利要求1所述的系統(tǒng),其中,所述存儲(chǔ)子系統(tǒng)包括存儲(chǔ)卷,并且其中,所述指定的存儲(chǔ)區(qū)域由所述存儲(chǔ)卷中的一個(gè)存儲(chǔ)卷的存儲(chǔ)卷標(biāo)識(shí)和存儲(chǔ)地址指定。
9.一種方法,包括: 接收用于將存儲(chǔ)子系統(tǒng)中的指定的存儲(chǔ)區(qū)域的層改變?yōu)橹付ǖ膶拥拿睿? 利用所述存儲(chǔ)子系統(tǒng)中的CPU來(lái)在所述指定的存儲(chǔ)區(qū)域內(nèi)檢查頁(yè),其中所述頁(yè)包括分派給與所述指定的層不同的層的文件;以及 基于檢查的結(jié)果確定是否執(zhí)行所述命令。
10.如權(quán)利要求9所述的方法,進(jìn)一步包括:在所述不同的層低于所述指定的層時(shí)執(zhí)行所述命令,且在所述不同的層不低于所述指定的層時(shí)不執(zhí)行所述命令。
11.如權(quán)利要求9所述的方法,進(jìn)一步包括:通過(guò)將不同的存儲(chǔ)設(shè)備分配給所述頁(yè)來(lái)執(zhí)行用于改變層的所述命令。
12.如權(quán)利要求9所述的方法,進(jìn)一步包括:通過(guò)拒絕用于改變層的所述命令來(lái)保持將所述文件分配給第一層。
13.如權(quán)利要求9所述的方法,進(jìn)一步包括: 從應(yīng)用服務(wù)器接收對(duì)于所述存儲(chǔ)子系統(tǒng)中的位置的狀態(tài)查詢命令;以及 將與所述位置對(duì)應(yīng)的已分配層信息發(fā)送到所述應(yīng)用服務(wù)器。
14.如權(quán)利要求9所述的方法,進(jìn)一步包括:在所述不同的層高于所述指定的層時(shí)執(zhí)行所述命令,且在所述不同的層不高于所述指定的層時(shí)不執(zhí)行所述命令。
15.—種系統(tǒng),包括:存儲(chǔ)子系統(tǒng),該存儲(chǔ)子系統(tǒng)包括CPU,所述CPU從應(yīng)用服務(wù)器接收對(duì)于所述存儲(chǔ)子系統(tǒng)中的位置的狀態(tài)查詢命令,并且將與所述位置對(duì)應(yīng)的已分配層信息發(fā)送到所述應(yīng)用服務(wù)器。
16.如權(quán)利要求15所述的系統(tǒng),其中,所述存儲(chǔ)子系統(tǒng)接收用于將所述存儲(chǔ)子系統(tǒng)中的指定的存儲(chǔ)區(qū)域的層改變?yōu)橹付ǖ膶拥拿睿⑶以诓煌膶拥陀谒鲋付ǖ膶訒r(shí)執(zhí)行所述命令且在所述不同的層不低于所述指定的層時(shí)不執(zhí)行所述命令。
17.如權(quán)利要求16所述的系統(tǒng),其中,所述存儲(chǔ)子系統(tǒng)通過(guò)將不同的存儲(chǔ)設(shè)備分配給頁(yè)來(lái)執(zhí)行用于改變層的所述命令。
18.如權(quán)利要求16所述的系統(tǒng),其中,所述存儲(chǔ)子系統(tǒng)通過(guò)拒絕用于改變層的所述命令來(lái)保持將文件分配給第一層。
19.如權(quán)利要求15所述的系統(tǒng),其中,當(dāng)所述應(yīng)用服務(wù)器接收到與所述位置對(duì)應(yīng)的所述已分配層信息時(shí),所述應(yīng)用服務(wù)器確定在所述存儲(chǔ)位置中的區(qū)域,所述區(qū)域把要被存儲(chǔ)在所述存儲(chǔ)子系統(tǒng)中的文件排列到頁(yè)。
20.如權(quán)利要求15所述的系統(tǒng),其中,所述存儲(chǔ)子系統(tǒng)接收用于將所述存儲(chǔ)子系統(tǒng)中的指定的存儲(chǔ)區(qū)域的層改變?yōu)橹付ǖ膶拥拿?,并且在不同的層高于所述指定的層時(shí)執(zhí)行所述命令且在所述不同的層不高于所述指定的層時(shí)不執(zhí)行所述命令。
21.如權(quán)利要求16所述的系統(tǒng),其中,所述存儲(chǔ)子系統(tǒng)包括存儲(chǔ)卷,并且其中,所述指定的存儲(chǔ)區(qū)域由所述存儲(chǔ)卷中的一個(gè)存儲(chǔ)卷的存儲(chǔ)卷標(biāo)識(shí)和存儲(chǔ)地址指定。
22.—種系統(tǒng),包括: 應(yīng)用服務(wù)器,所述應(yīng)用服務(wù)器包括CPU,所述CPU向存儲(chǔ)子系統(tǒng)發(fā)出層改變命令,其中,所述層改變命令包括文件的已指定層信息和存儲(chǔ)位置,所述文件是要被移動(dòng)到具有有資格的層的存儲(chǔ)子系統(tǒng)中的存儲(chǔ)區(qū)域的文件。
23.如權(quán)利要求22所述的系統(tǒng),其中,所述應(yīng)用服務(wù)器發(fā)出對(duì)于所述存儲(chǔ)子系統(tǒng)中的所述存儲(chǔ)位置的狀態(tài)查詢命令,并且接收與所述存儲(chǔ)位置對(duì)應(yīng)的已分配層信息。
24.如權(quán)利要求23所述的系統(tǒng),其中,所述應(yīng)用服務(wù)器確定所述存儲(chǔ)位置中的區(qū)域,所述區(qū)域把要被移動(dòng)到所述存 儲(chǔ)子系統(tǒng)中的文件排列到頁(yè)。
全文摘要
本發(fā)明涉及用于改變層的方法和裝置。本發(fā)明關(guān)注于用于改變利用了精簡(jiǎn)配置的存儲(chǔ)區(qū)域的層的系統(tǒng)和方法。該系統(tǒng)和方法檢查進(jìn)行層改變命令的區(qū)域,并基于層改變命令中指定的層和當(dāng)前關(guān)聯(lián)于目標(biāo)存儲(chǔ)區(qū)域的層來(lái)改變層。該系統(tǒng)和方法的頁(yè)可進(jìn)一步限制到每頁(yè)一個(gè)文件。
文檔編號(hào)G06F12/02GK103077117SQ20121018764
公開(kāi)日2013年5月1日 申請(qǐng)日期2012年6月7日 優(yōu)先權(quán)日2011年10月19日
發(fā)明者林真一, 川口智大 申請(qǐng)人:株式會(huì)社日立制作所