亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

用于保留存儲器的方法、系統(tǒng)及產(chǎn)品的制作方法

文檔序號:6511726閱讀:150來源:國知局
專利名稱:用于保留存儲器的方法、系統(tǒng)及產(chǎn)品的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及用于保留存儲器的方法、系統(tǒng)及產(chǎn)品。
背景技術(shù)
在許多計算設(shè)備中,輔助存儲器,例如磁盤驅(qū)動器的存儲容量會比主存儲器,例如隨機存取存儲器的存儲容量更大。在某些實現(xiàn)中,虛擬存儲器管理器可以實現(xiàn)虛擬存儲器,使得計算設(shè)備中的應(yīng)用程序可用的可尋址存儲空間不受計算設(shè)備中主存儲器存儲容量的限制。虛擬存儲器管理器可以通過使用輔助存儲器模擬附加的主存儲器來實現(xiàn)虛擬存儲器。
在虛擬存儲器的實現(xiàn)中,為了容納需要被存儲在主存儲器中的數(shù)據(jù)和指令,虛擬存儲器管理器可以從主存儲器向輔助存儲器交換數(shù)據(jù)和指令。在某些實現(xiàn)中,數(shù)據(jù)和指令可以被存儲在稱為頁的數(shù)據(jù)結(jié)構(gòu)中,而虛擬存儲器管理器可以按需從主存儲器向輔助存儲器交換頁。
操作系統(tǒng)可以允許在主存儲器中保留一定量的存儲器,使得不從主存儲器向輔助存儲器交換保留存儲器。某些類型的保留存儲器可以被稱為釘扎存儲器(pinned memory)或隱藏存儲器。存取存儲在主存儲器中的指令和數(shù)據(jù)的速度會比存取存儲在輔助存儲器中的指令和數(shù)據(jù)的速度更快。在某些實現(xiàn),例如涉及實時應(yīng)用的實現(xiàn)中,會需要這種存儲器保留以用于實時執(zhí)行指令。在某些實現(xiàn)中,這種實時應(yīng)用可在企業(yè)存儲服務(wù)器*(ESS)系統(tǒng)中執(zhí)行。在某些實現(xiàn)中,除了實時應(yīng)用之外的其他應(yīng)用也可保留部分主存儲器。
某些操作系統(tǒng)可以設(shè)定可被保留的主存儲器的總量的上限。例如,在UNIX操作系統(tǒng)的許多版本中,例如在AIX操作系統(tǒng)中,可以被保留的主存儲器的總量不會超過主存儲器總量的80%。

發(fā)明內(nèi)容
提供了一種方法,系統(tǒng)及產(chǎn)品,其中,在某些實施例中,分配對應(yīng)于可計算設(shè)備中存儲器的多個邏輯存儲器塊。屬性與至少一個邏輯存儲器塊相關(guān)聯(lián),其中,該屬性指示是否能從存儲器交換出該至少一個邏輯存儲器塊,而且其中對應(yīng)于該至少一個邏輯存儲器塊的物理塊是相連的。
在另外的實施例中,分配多個邏輯存儲器塊和將屬性關(guān)聯(lián)還包括(a)確定計算設(shè)備中的固件是否擁有關(guān)于多個邏輯存儲器塊中的哪些被配置成保留邏輯存儲器塊的信息;以及(b)響應(yīng)于確定計算設(shè)備中的固件擁有關(guān)于多個邏輯存儲器塊中的哪些被配置成保留邏輯存儲器塊的信息,根據(jù)所擁有的信息,設(shè)置與該至少一個邏輯存儲器塊相關(guān)聯(lián)的該屬性,其中在被設(shè)置的情況下,該屬性指示不能從存儲器交換出該至少一個邏輯存儲器塊,并且指示該至少一個邏輯存儲器塊是保留邏輯存儲器塊。
在另外的實施例中,分配多個邏輯存儲器塊和將屬性關(guān)聯(lián)還包括(a)確定計算設(shè)備中的固件是否擁有關(guān)于多個邏輯存儲器塊中的哪些被配置成保留邏輯存儲器塊的信息;(b)響應(yīng)于確定計算設(shè)備中的固件不擁有關(guān)于多個邏輯存儲器塊中的哪些被配置成保留邏輯存儲器塊的信息,由固件結(jié)合存儲器保留應(yīng)用程序來確定多個邏輯存儲器塊中的哪些被配置成保留邏輯存儲器塊;以及(c)由固件在計算設(shè)備的初始程序加載過程中保存關(guān)于多個邏輯存儲器塊中的那些被配置成保留邏輯存儲器塊的信息。
在另外的實施例中,將附加屬性關(guān)聯(lián)于該至少一個邏輯存儲器塊,其中該附加屬性進一步表征該至少一個邏輯存儲器塊的特性。
在另外的實施例中,將附加屬性關(guān)聯(lián)于該至少一個邏輯存儲器塊,其中該附加屬性指明在該至少一個邏輯存儲器塊中的數(shù)據(jù)是否可修改。
在另外的實施例中,虛擬存儲器管理器執(zhí)行用于交換該至少一個邏輯存儲器塊到被連接到計算設(shè)備的輔助存儲器的指令。虛擬存儲器管理器確定該至少一個邏輯存儲器塊的關(guān)聯(lián)屬性是否指示不能從存儲器交換出邏輯存儲器塊。響應(yīng)于確定該至少一個邏輯存儲器塊的關(guān)聯(lián)屬性沒有指示不能從存儲器交換出邏輯存儲器塊,從存儲器交換該至少一個邏輯存儲器塊到輔助存儲器。
在另外的實施例中,對保留邏輯存儲器塊運用第一存儲器管理策略。對非保留邏輯存儲器塊運用第二存儲器管理策略。確定該至少一個邏輯存儲器塊是否保留邏輯存儲器塊。響應(yīng)于確定該至少一個邏輯存儲器塊是保留邏輯存儲器塊,根據(jù)第一存儲器管理策略對該至少一個邏輯存儲器塊執(zhí)行存儲器管理操作。
在另外的實施例中,由計算設(shè)備中的固件執(zhí)行分配多個邏輯存儲器塊和將屬性關(guān)聯(lián)的步驟,其中計算設(shè)備包括操作系統(tǒng),該操作系統(tǒng)對能被保留用于從存儲器交換出的存儲器的量有限制,并且其中分配多個邏輯存儲器塊和將屬性關(guān)聯(lián)允許應(yīng)用程序超出對能保留的存儲器的量的限制。
在另外的實施例中,由計算設(shè)備中的應(yīng)用程序執(zhí)行分配多個邏輯存儲器塊和將屬性關(guān)聯(lián)的步驟,并且其中該應(yīng)用程序與計算設(shè)備中的操作系統(tǒng)不同。
在另外的實施例中,如果不能從存儲器交換出該至少一個邏輯存儲器塊,則對該至少一個邏輯存儲器塊執(zhí)行靜態(tài)地址翻譯。
某些實施例為每個邏輯存儲器塊提供屬性以指示該邏輯存儲器塊是保留的,并且不被允許從主存儲器換頁到輔助存儲器。操作系統(tǒng)可將存儲器分為常規(guī)池和保留池,其中常規(guī)池對應(yīng)于不被保留的存儲器,而保留池對應(yīng)于保留的存儲器。操作系統(tǒng)的虛擬存儲器管理器可以為常規(guī)池和保留池雙方提供地址翻譯。然而,虛擬存儲器管理器可以只從常規(guī)池向輔助存儲器換出存儲器。


現(xiàn)在參照附圖,其中,同樣的引用數(shù)字表示對應(yīng)的部分圖1根據(jù)某些所描述的本發(fā)明的實施例,圖解了計算環(huán)境的模塊圖;圖2根據(jù)某些所描述的本發(fā)明的實施例,圖解了計算環(huán)境中實現(xiàn)的數(shù)據(jù)結(jié)構(gòu)的模塊圖;圖3根據(jù)某些所描述的本發(fā)明的實施例,圖解了在計算環(huán)境中實現(xiàn)的示例邏輯存儲器塊的模塊圖;圖4根據(jù)某些所描述的本發(fā)明的實施例,圖解了用于保留存儲器的邏輯;圖5根據(jù)某些所描述的本發(fā)明的實施例,圖解了用于從存儲器交換到輔助存儲器的邏輯;圖6根據(jù)某些所描述的本發(fā)明的實施例,圖解了計算環(huán)境中實現(xiàn)的存儲器管理策略的模塊圖;圖7根據(jù)某些所描述的本發(fā)明的實施例,圖解了用于應(yīng)用存儲器管理策略的邏輯;而圖8圖解了其中實現(xiàn)了本發(fā)明某些所述方面的計算機體系結(jié)構(gòu)模塊圖。
具體實施例方式
在以下描述中,參照了附圖,這些附圖形成描述的一部分,并且圖解了幾個實施例??梢岳斫猓诓黄x本發(fā)明范圍的情況下,可以利用其它實施例,并且可以進行結(jié)構(gòu)和操作的改變。
圖1根據(jù)本發(fā)明的某些實施例,圖解了計算環(huán)境的模塊圖。所示計算設(shè)備100被連接到輔助存儲器102。盡管對于計算設(shè)備100,所示輔助存儲器102是外部的,然而在某些實施例中,輔助存儲器102可以是計算設(shè)備100內(nèi)部的。在另外的實施例中,可以實現(xiàn)另外的計算設(shè)備(沒有示出),例如,執(zhí)行關(guān)于計算設(shè)備100的輸入/輸出(I/O)操作的主機系統(tǒng)。
計算設(shè)備100可以包括個人計算機,工作站,服務(wù)器,大型機,手持計算機,掌上型計算機(palm top computer),電話設(shè)備,網(wǎng)絡(luò)裝置,刀片計算機,存儲控制器,等等。輔助存儲器102可以包括直接存取存儲設(shè)備,例如磁盤,磁帶,讀/寫DVD,讀/寫CDROM,獨立磁盤冗余陣列(RAID),磁盤束(JBOD),等等,或者任何其他存儲設(shè)備??梢酝ㄟ^網(wǎng)絡(luò)(沒有示出),例如因特網(wǎng),企業(yè)內(nèi)部網(wǎng),局域網(wǎng)(LAN),存儲區(qū)域網(wǎng)(SAN),廣域網(wǎng)(WAN),無線網(wǎng)等等連接計算設(shè)備100和輔助存儲器102??蛇x地,可以在沒有網(wǎng)絡(luò)的情況下連接計算設(shè)備100和輔助存儲器102,例如通過直連線,公共總線系統(tǒng),等等。
計算設(shè)備100可以包括中央處理單元(CPU)104,存儲器106,固件108,操作系統(tǒng)110以及存儲器保留應(yīng)用程序112。
CPU104可以包含復(fù)雜指令集計算(CISC)處理器,精簡指令集計算(RISC)處理器,或任何其他處理器。雖然只示出了單CPU104,然而在某些實施例中,計算設(shè)備100可以包括附加的CPU,以形成多處理系統(tǒng)。
存儲器106可以包含隨機存取存儲器(RAM)。存儲器106還可以被稱為物理存儲器。在某些實施例中,計算設(shè)備100中連接到總線的芯片中可以包括存儲器106。存儲器106可以是易失的,這表示存儲器106可能需要穩(wěn)定的電流以保持存儲器106中的內(nèi)容。響應(yīng)關(guān)閉電源,可能失去存儲器106中已經(jīng)存在的數(shù)據(jù)。可以在CPU104中執(zhí)行存儲器106中所裝載的指令。當在CPU104中執(zhí)行指令時,存儲器106中所裝載的指令可以存取存儲器106中存在的數(shù)據(jù)。存儲器106的量可以小于輔助存儲器102的數(shù)量。
固件108可以包括可能已經(jīng)被寫到只讀存儲器(ROM),可編程只讀存儲器(PROM),可擦除可編程只讀存儲器(EEPROM)等等的程序或者數(shù)據(jù)。固件108可以是硬件和軟件的結(jié)合。
操作系統(tǒng)110可以是控制在計算設(shè)備100中執(zhí)行的系統(tǒng)和應(yīng)用程序的執(zhí)行的軟件。操作系統(tǒng)110可以向在計算設(shè)備100中執(zhí)行的系統(tǒng)和應(yīng)用程序提供各種服務(wù)。在某些實施例中,操作系統(tǒng)110可以包括UNIX操作系統(tǒng),AIX操作系統(tǒng),或者一些其他操作系統(tǒng)。操作系統(tǒng)110可以包括虛擬存儲器管理器114,在這里,虛擬存儲器管理器114可以從存儲器106交換數(shù)據(jù)到輔助存儲器102。例如,如果當存儲器106滿時存儲器106中必須容納新指令或者數(shù)據(jù),虛擬存儲器管理器114可以從存儲器106交換某些頁到輔助存儲器102。
存儲器保留應(yīng)用程序112是在計算設(shè)備100中實現(xiàn)的應(yīng)用程序。存儲器保留應(yīng)用程序112可以確定存儲器106中的哪些邏輯存儲器塊要被配置為保留存儲器。可以通過軟件,硬件或固件實現(xiàn)存儲器保留應(yīng)用程序112。在某些實施例中,存儲器保留應(yīng)用程序112可以結(jié)合固件108來在存儲器106中實現(xiàn)保留存儲器。
因此,圖1圖解了某些實施例,其中存儲器保留應(yīng)用程序112結(jié)合固件108可以保留一定量的存儲器106,使得虛擬存儲器管理器114不能將保留存儲器交換到輔助存儲器102。
圖2根據(jù)本發(fā)明的某些實施例,圖解了計算設(shè)備100中實現(xiàn)的數(shù)據(jù)結(jié)構(gòu)的模塊圖。
可以用多個邏輯存儲器塊200a...200n表示存儲器106。除了邏輯存儲器塊200a...200n之外的附加邏輯存儲器塊位于輔助存儲器102中。位于存儲器106中的邏輯存儲器塊200a...200n以及位于輔助存儲器102中的邏輯存儲器塊一起可以形成在計算設(shè)備100中執(zhí)行的應(yīng)用程序的虛擬地址空間。邏輯存儲器塊,例如邏輯存儲器塊200a可以包括若干字節(jié)的存儲器。
與多個邏輯存儲器塊200a...200n相關(guān)聯(lián)的是多個屬性202a...202n。例如,屬性202a與邏輯存儲器塊200a相關(guān)聯(lián),屬性202b與邏輯存儲器塊200b相關(guān)聯(lián),而屬性202n與邏輯存儲器塊200n相關(guān)聯(lián)。在某些實施例中,屬性可以定義存儲器塊的一個或多個特性。例如,屬性可以指明存儲器塊是否為保留存儲器塊,即,不能從存儲器106交換出的存儲器塊。在某些實施例中,輔助存儲器102中包括的邏輯存儲器塊也可以包括與屬性200a...200n相似的屬性。在某些實施例中,如果從存儲器106交換邏輯存儲器塊到輔助存儲器102,則對應(yīng)的屬性也被交換到輔助存儲器。
在圖2中,所示屬性202a...202n對于邏輯存儲器塊而言是外部的。然而,在某些實施例中,可以作為邏輯存儲器塊202a...202n的一部分來實現(xiàn)屬性202a...202n。
在某些實施例中,屬性202a...202n可以包括保留屬性204a...204n以及一個或多個其他屬性206a...206n。例如,屬性202a可以包括保留屬性204a和其他屬性206a,屬性202b可以包括保留屬性204b和其他屬性206b,而屬性202n可以包括保留屬性204n和其他屬性206n。
保留屬性204a...204n可以指明相應(yīng)的邏輯存儲器塊200a是否為保留的。例如,如果保留屬性204a具有布爾值“真”,則相應(yīng)的邏輯存儲器塊200a是保留存儲器,即虛擬存儲器管理器114不能將邏輯存儲器塊200a交換到輔助存儲器102。
其他屬性206a...206n可以包括除了保留屬性之外的其他屬性,其中,其他屬性206a...206n定義邏輯存儲器塊200a...200n的附加特征。例如,其他屬性206a可以指明邏輯存儲器塊200a是否包括用戶已經(jīng)修改的數(shù)據(jù)。
因此,圖2的圖解實施例中,構(gòu)成存儲器106的邏輯存儲器塊200a...200n具有相應(yīng)的屬性202a...202n。某些屬性,例如保留屬性204a...204n可以指明虛擬存儲器管理器114是否能從存儲器106交換出相應(yīng)邏輯存儲器塊。
圖3根據(jù)本發(fā)明的某些實施例,圖解了計算設(shè)備100中實現(xiàn)的示例邏輯存儲器塊200a...200n和示例屬性202a...202n的模塊圖。
在某些實施例中,示例邏輯存儲器塊200a...200n可以包括可交換數(shù)據(jù),用戶未修改數(shù)據(jù),和用戶已修改數(shù)據(jù)。在其它實施例中,邏輯存儲器塊可以包括具有附加的或者不同的特征的數(shù)據(jù)??山粨Q數(shù)據(jù)可以包括可從存儲器106交換到輔助存儲器102的數(shù)據(jù)。用戶已修改數(shù)據(jù)可以包括已經(jīng)被用戶修改的數(shù)據(jù)。用戶未修改數(shù)據(jù)可以包括還沒有被用戶修改的數(shù)據(jù)。在某些實施例中,在計算設(shè)備100是存儲控制器的情況下,在與計算設(shè)備100相連的主機系統(tǒng)上運行的應(yīng)用程序可以將用戶數(shù)據(jù)寫到計算設(shè)備100。例如,邏輯存儲器塊200a可以包括用戶未修改數(shù)據(jù)208a,邏輯存儲器塊200b可以包括用戶已修改數(shù)據(jù)208b,而邏輯存儲器塊200n可以包括可交換數(shù)據(jù)208n。
還在圖3中示出了對應(yīng)于示例邏輯存儲器塊200a...200n的屬性202a...202n的示例值。例如,邏輯存儲器塊200a包括用戶未修改數(shù)據(jù)208a。在某些實施例中,虛擬存儲器管理器114不向輔助存儲器102交換用戶數(shù)據(jù),無論是用戶未修改數(shù)據(jù),還是用戶已修改數(shù)據(jù)。在這樣的實施例中,相應(yīng)保留屬性204a可以具有布爾值“真”,而相應(yīng)的其他屬性206a可以指明邏輯存儲器塊200a包含用戶未修改數(shù)據(jù)。
為提供進一步的示例,邏輯存儲器塊200b包括用戶已修改數(shù)據(jù)208b。相應(yīng)保留屬性204b可以具有布爾值“真”,并且相應(yīng)的其他屬性206b可以指明邏輯存儲器塊200b包含用戶已修改數(shù)據(jù)。為提供附加例子,邏輯存儲器塊200n可以包括可交換數(shù)據(jù)208n。相應(yīng)保留屬性204n可以有布爾值“假”,并且相應(yīng)的其他屬性206n可為“空”。
因此,圖3描述了某些示例實施例,其中,屬性202a...202n指明邏輯存儲器塊200a...200n是否為保留存儲器。屬性202a...202n還可指明與邏輯存儲器塊200a...200n相關(guān)的其他特征。
圖4根據(jù)本發(fā)明的某些實施例,圖解了計算設(shè)備100中實現(xiàn)的用于保留存儲器的邏輯。
控制起始于模塊400,在其中,計算設(shè)備100執(zhí)行計算設(shè)備100的初始程序加載(IPL)或重新初始化程序加載(重新IPL),其中,重新IPL是計算設(shè)備100的第二次或后續(xù)的IPL。在某些實施例中,在IPL或者重新IPL中,計算設(shè)備100可以經(jīng)歷引導(dǎo)序列。例如,IPL或者重新IPL過程可以包括檢查存儲器106并裝載操作系統(tǒng)100,設(shè)備驅(qū)動程序,以及其他居于計算設(shè)備100中的應(yīng)用程序。
固件108確定(在模塊402)固件108是否擁有關(guān)于存儲器206中的哪些邏輯存儲器塊200a...200n被配置成保留存儲器的信息。在某些實施例中,這種信息可位于計算設(shè)備100中駐留的文件中,或者已經(jīng)由固件108通過之前的IPL而保存。
如果固件108確定(在模塊402)固件108不擁有關(guān)于哪些邏輯存儲器塊200a...200n被配置成保留存儲器的信息,則固件108將全部邏輯存儲器塊200a...200n配置(在模塊404)為常規(guī)存儲器,即可以被交換到輔助存儲器102的存儲器。在某些實施例中,全部邏輯存儲器塊200a...200n在此情況下可以被稱為屬于常規(guī)存儲器池。保留屬性204a...204n可以被設(shè)定為布爾值“假”。
固件108輸出(在模塊406)接口給存儲器保留應(yīng)用程序112,以確定哪些邏輯存儲器塊要被設(shè)置為保留存儲器。根據(jù)存儲器保留應(yīng)用程序112返回的信息,固件設(shè)置(在模塊408)與邏輯存儲器塊200a...200n相關(guān)的保留屬性204a...204n。例如,如果邏輯存儲器塊200a要被設(shè)置為保留存儲器,則保留屬性204a會被設(shè)定為布爾值“真”。存儲器保留應(yīng)用程序112可能已經(jīng)由用戶指定的輸入,計算設(shè)備100中所存儲的數(shù)據(jù),計算設(shè)備100中所存儲的策略等等返回關(guān)于哪些邏輯存儲器塊要被設(shè)置為保留存儲器的信息。
固件108保存(在模塊410)隨后IPL的保留存儲器的范圍。因為固件108擁有關(guān)于哪些邏輯存儲器塊被配置為保留存儲器的信息,固件108可以以本領(lǐng)域已知的任何方式保存信息,例如,通過在后續(xù)IPL期間讀取的文件中存儲該信息。因此,保留存儲器的范圍在計算設(shè)備100的重復(fù)IPL的過程中可以是持久的。
如果固件108確定(在模塊402)固件108擁有關(guān)于哪些邏輯存儲器塊200a...200n被配置為保留存儲器的信息,則固件108根據(jù)所擁有的信息,設(shè)置(在模塊412)對應(yīng)于邏輯存儲器塊的保留屬性204a...204n,并返回控制到模塊400,在模塊400中,計算設(shè)備100執(zhí)行重新IPL。
因此,圖5圖解了某些實施例,其中,固件108執(zhí)行存儲器106的保留,使得保留存儲器不能被交換到輔助存儲器102。在某些實施例中,在相連的物理塊中保存邏輯存儲器塊的內(nèi)容,即,在存儲器106中的相連物理存儲中保存邏輯存儲器塊的實際內(nèi)容。如果邏輯存儲器塊的實際內(nèi)容被保存在存儲器106中的相連物理存儲中,則與邏輯存儲器塊的實際內(nèi)容沒有被保存在相連物理存儲中的情況下的實際數(shù)據(jù)內(nèi)容的存取時間相比,可更快地存取邏輯存儲器塊的實際數(shù)據(jù)內(nèi)容。
通過在固件中實現(xiàn)實施例,以及在某些實施例中,通過在IPL時執(zhí)行存儲器保留,可以避開在操作系統(tǒng)中可能存在的對存儲器保留的限制。例如,相對于存儲器總量,即使操作系統(tǒng)110設(shè)置的保留存儲器數(shù)量的上限為80%,實施例仍然能允許保留存儲器超出操作系統(tǒng)110所設(shè)定的80%的上限。
圖5根據(jù)本發(fā)明的某些實施例,圖解了用于將邏輯存儲器塊200a...200n交換到輔助存儲器102的邏輯??梢栽谟嬎阍O(shè)備100中實現(xiàn)此邏輯。
控制起始于模塊500,其中操作系統(tǒng)110的虛擬存儲器管理器114執(zhí)行將邏輯存儲器塊從存儲器106交換到輔助存儲器102的指令。
虛擬存儲器管理器114檢查(在模塊502)邏輯塊并確定(在模塊504)對應(yīng)于所檢查邏輯塊的保留屬性204a...204n是否具有布爾值“真”。如果布爾值為“真”,則虛擬存儲器管理器114不將所檢查的存儲器塊從存儲器106移到輔助存儲器102(在模塊506)。
虛擬存儲器管理器114確定(在模塊508)是否有更多的邏輯存儲器塊必須被交換到輔助存儲器102。如果必須交換更多的邏輯存儲器塊,則虛擬存儲器管理器114檢查(在模塊502)下一個邏輯存儲器塊。如果不必交換更多的邏輯存儲器塊,則進程停止(在模塊510)。
如果虛擬存儲器管理器114確定(在模塊504)所檢查的邏輯塊的保留屬性204a...204n不是布爾值“真”,則虛擬存儲器管理器114可將所檢查的邏輯存儲器塊從存儲器106移動(在模塊512),即交換到輔助存儲器102。虛擬存儲器管理器114確定(在模塊508)附加邏輯存儲器塊是否必須被交換到輔助存儲器102。
因此,圖5示出了某些實施例,其中虛擬存儲器管理器114可以只將還沒有保留的存儲器換頁到輔助存儲器102。另外,虛擬存儲器管理器114也可以對已經(jīng)保留的存儲器,以及還沒有保留的存儲器提供地址翻譯。
圖6根據(jù)本發(fā)明的某些實施例,圖解了操作系統(tǒng)110實現(xiàn)的存儲器管理策略的模塊圖。在某些實施例中,操作系統(tǒng)110可以具有常規(guī)存儲器管理策略600,用于管理還沒有保留的存儲器,以及保留存儲器管理策略602,用于管理已經(jīng)保留的存儲器。
例如,示例的常規(guī)存儲器管理策略600可以包括周期性廢物收集,而在某些實施例中,示例的保留存儲器管理策略602可以不包括周期性廢物收集的措施。
圖7根據(jù)本發(fā)明的某些實施例,圖解了用于應(yīng)用存儲器管理策略600,602的邏輯。
控制起始于模塊700,其中操作系統(tǒng)110準備好對邏輯存儲器塊200a...200n執(zhí)行存儲器管理操作。操作系統(tǒng)110確定(在模塊702)邏輯存儲器塊200a...200n的相應(yīng)保留屬性204a...204n是否指明邏輯存儲器塊200a...200n為保留存儲器塊。如果指明邏輯存儲器塊200a...200n是保留存儲器塊,則操作系統(tǒng)110以保留存儲器管理策略602執(zhí)行(在模塊704)存儲器管理操作。如果未指明邏輯存儲器塊200a...200n是保留存儲器塊,則操作系統(tǒng)110以常規(guī)存儲器管理策略執(zhí)行(在模塊706)存儲器管理操作。在某些附加實施例中,還可以使用其他屬性206a...206n確定特定的存儲器管理策略。
因此,圖6和圖7圖解了某些實施例,其中,根據(jù)邏輯存儲器塊200a...200n是保留存儲器,還是不保留的存儲器,可以針對邏輯存儲器塊200a...200n應(yīng)用不同的存儲器管理策略。
實施例為每個邏輯存儲器塊200a...200n提供保留屬性204a...204n,以指明邏輯存儲器塊是保留的,并且不允許被換出到輔助存儲器102。在某些實施例中,操作系統(tǒng)110可以將存儲器106中的邏輯存儲器塊200a...200n分到常規(guī)池和保留池中。操作系統(tǒng)110的虛擬存儲器管理器114可以對常規(guī)池和保留池兩者提供地址翻譯。然而,虛擬存儲器管理器114可以只從常規(guī)池向輔助存儲器102換出存儲器。
在某些實施例中,可以使用保留存儲器緩沖用戶數(shù)據(jù),使得虛擬存儲器管理器不向輔助存儲器換出用戶數(shù)據(jù)。對于操作系統(tǒng)的現(xiàn)有存儲器保留方案,實施例可以不需要作任何修改。然而,如果操作系統(tǒng)對允許保留的存儲器的量有限制,則實施例可以允許應(yīng)用程序超出此限制。
與不保留的存儲器相比,某些實施例可允許操作系統(tǒng)110對保留存儲器應(yīng)用不同的存儲器管理策略。某些實施例也可以允許操作系統(tǒng)110為其他應(yīng)用程序提供標準翻譯,以便存取保留存儲器。某些實施例可進一步實現(xiàn)保留存儲器為相連物理塊,以進行更快速的地址翻譯。保留存儲器不可以被換出到輔助存儲器,并且保留存儲器的地址翻譯可以是靜態(tài)的。在某些實施例中,應(yīng)用程序可以在不查詢關(guān)聯(lián)頁表項的情況下,計算地址翻譯。另外,在計算設(shè)備100的重復(fù)IPL的過程中,保留存儲器的范圍和身份標識可以是持久的。
附加實現(xiàn)細節(jié)可使用標準編程和/或工程化技術(shù)生成軟件,固件,硬件或其任何結(jié)合,所述技術(shù)可以被實現(xiàn)為方法,裝置或產(chǎn)品。這里所使用的術(shù)語“產(chǎn)品”是指代碼或邏輯,其在硬件電路(例如,集成電路芯片,可編程門陣列(PGA),專用集成電路(ASIC),等等)中實現(xiàn),或計算機可讀介質(zhì)(例如,磁存儲介質(zhì),例如硬盤驅(qū)動器,軟盤驅(qū)動器,磁帶),光存儲器(例如,CD-ROM,光盤,等等),易失和非易失存儲器設(shè)備(例如,EEPROM,ROM,PROM,RAM,DRAM,SRAM,固件,可編程邏輯,等等)。由處理器存取并執(zhí)行計算機可讀取介質(zhì)中的代碼。還可以通過傳輸介質(zhì),或者通過網(wǎng)絡(luò)從文件服務(wù)器存取其中實現(xiàn)實施例的代碼。在這些情況下,其中實現(xiàn)代碼的產(chǎn)品可以包含傳輸介質(zhì),例如網(wǎng)絡(luò)傳輸線路,無線傳輸介質(zhì),通過空間傳播的信號,無線電波,紅外信號,等等。當然,本領(lǐng)域的技術(shù)人員會認識到,在不偏離實施例范圍的情況下,可以對此配置作出許多修改,并且產(chǎn)品可以包括本領(lǐng)域已知的任何信息承載介質(zhì)。
圖8圖解了其中實現(xiàn)本發(fā)明的某些方面的計算機體系結(jié)構(gòu)的模塊圖。圖8圖解了計算設(shè)備100的一個實現(xiàn)。計算設(shè)備100可以實現(xiàn)計算體系結(jié)構(gòu)800,計算體系結(jié)構(gòu)800具有處理器802(例如,CPU104),存儲器804(例如,易失性存儲器設(shè)備,例如,存儲器106),以及存儲設(shè)備806(例如,非易失性存儲設(shè)備,磁盤驅(qū)動器,光盤驅(qū)動器,磁帶驅(qū)動器,等等)。在某些實施例中,存儲設(shè)備806可以包括輔助存儲器102。存儲設(shè)備806可以包括內(nèi)部存儲設(shè)備,附連的存儲設(shè)備或者網(wǎng)絡(luò)可存取存儲設(shè)備。存儲設(shè)備806中的程序可以被裝載進存儲器804,并可由處理器802以本領(lǐng)域已知的方式執(zhí)行。該體系結(jié)構(gòu)可進一步包括網(wǎng)卡808,以便能與網(wǎng)絡(luò)進行通信。該體系結(jié)構(gòu)還可以包括至少一個輸入810,例如鍵盤,觸摸屏,筆,語音激活輸入,等等,以及至少一個輸出812,例如顯示設(shè)備,揚聲器,打印機,等等。
圖4,圖5和圖7的邏輯描述了以特定的順序發(fā)生的特定操作。此外,可以順序執(zhí)行操作,也可以并行地執(zhí)行操作。在可選實施例中,某些邏輯操作可以以不同的順序,可以被修改或者刪除,并且仍然可以實現(xiàn)本發(fā)明的實施例。此外,可以添加步驟到上述邏輯中,并且仍然符合實施例要求。還可以通過單進程或者分布式進程執(zhí)行其它步驟。
為了說明的目的,已經(jīng)在單獨的模塊中描述了許多軟件和硬件部分。這樣的部分可以被集成到較少量的部分中,或者被分成較大數(shù)量的部分。另外,被描述為由特定部分執(zhí)行的某些操作可以由其他部分執(zhí)行。
因此,上述實施例是為圖解和說明目的而提供的。其目的不是窮舉本發(fā)明或?qū)⒈景l(fā)明限制到所公開的具體形式上。根據(jù)上述教導(dǎo),可想到許多修改和變化。不希望通過這里的具體說明來限制本發(fā)明的范圍,而是希望通過附加的權(quán)利要求來限制本發(fā)明的范圍。以上說明,示例和數(shù)據(jù)提供了本發(fā)明的組成的制造和使用的完整說明。因為可以在不偏離本發(fā)明實質(zhì)和范圍的情況下得到本發(fā)明的許多實施例,本發(fā)明由下文中所附加的權(quán)利要求來限定。
注*AIX,Enterprise Storage Server(企業(yè)存儲服務(wù)器)(ESS)是國際商用機器公司的商標。
*UNIX是Open Group(開放組織)的商標。
權(quán)利要求
1.一種方法,包括分配對應(yīng)于計算設(shè)備中存儲器的多個邏輯存儲器塊;以及將屬性關(guān)聯(lián)于至少一個邏輯存儲器塊,其中該屬性指明是否能從存儲器交換出至少一個邏輯存儲器塊,并且其中對應(yīng)于該至少一個邏輯存儲器塊的物理塊是相連的。
2.如權(quán)利要求1所述的方法,其中分配多個邏輯存儲器塊和將屬性關(guān)聯(lián)還包括確定計算設(shè)備中的固件是否擁有關(guān)于多個邏輯存儲器塊中的哪些被配置成保留邏輯存儲器塊的信息;以及響應(yīng)于確定計算設(shè)備中的固件擁有關(guān)于多個邏輯存儲器塊中的哪些被配置成保留邏輯存儲器塊的信息,根據(jù)所擁有的信息,設(shè)置與該至少一個邏輯存儲器塊相關(guān)聯(lián)的該屬性,其中在被設(shè)置的情況下,該屬性指明不能從存儲器交換出該至少一個邏輯存儲器塊,并且指明該至少一個邏輯存儲器塊是保留邏輯存儲器塊。
3.如權(quán)利要求1所述的方法,其中分配多個邏輯存儲器塊和將屬性關(guān)聯(lián)還包括確定計算設(shè)備中的固件是否擁有關(guān)于多個邏輯存儲器塊中的哪些被配置成保留邏輯存儲器塊的信息;響應(yīng)于確定計算設(shè)備中的固件不擁有關(guān)于多個邏輯存儲器塊中的哪些被配置成保留邏輯存儲器塊的信息,由固件結(jié)合存儲器保留應(yīng)用程序來確定多個邏輯存儲器塊中的哪些被配置成保留邏輯存儲器塊;以及由固件在計算設(shè)備的初始程序加載過程中保存關(guān)于多個邏輯存儲器塊中的那些被配置成保留邏輯存儲器塊的信息。
4.如權(quán)利要求1所述的方法,還包括將附加屬性關(guān)聯(lián)于該至少一個邏輯存儲器塊,其中該附加屬性進一步表征該至少一個邏輯存儲器塊的特性。
5.如權(quán)利要求1所述的方法,還包括將附加屬性關(guān)聯(lián)于該至少一個邏輯存儲器塊,其中該附加屬性指明在該至少一個邏輯存儲器塊中的數(shù)據(jù)是否可修改。
6.如權(quán)利要求1所述的方法,還包括由虛擬存儲器管理器執(zhí)行用于交換該至少一個邏輯存儲器塊到被連接到計算設(shè)備的輔助存儲器的指令;由虛擬存儲器管理器確定該至少一個邏輯存儲器塊的關(guān)聯(lián)屬性是否指明不能從存儲器交換出邏輯存儲器塊;以及響應(yīng)于確定該至少一個邏輯存儲器塊的關(guān)聯(lián)屬性沒有指明不能從存儲器交換出邏輯存儲器塊,從存儲器交換該至少一個邏輯存儲器塊到輔助存儲器。
7.如權(quán)利要求1所述的方法,還包括對保留邏輯存儲器塊運用第一存儲器管理策略;對非保留邏輯存儲器塊運用第二存儲器管理策略;確定該至少一個邏輯存儲器塊是否保留邏輯存儲器塊;以及響應(yīng)于確定該至少一個邏輯存儲器塊是保留邏輯存儲器塊,根據(jù)第一存儲器管理策略對該至少一個邏輯存儲器塊執(zhí)行存儲器管理操作。
8.如權(quán)利要求1所述的方法,其中,由計算設(shè)備中的固件執(zhí)行分配多個邏輯存儲器塊和將屬性關(guān)聯(lián)的步驟,其中計算設(shè)備包括操作系統(tǒng),該操作系統(tǒng)對能被保留用于從存儲器交換出的存儲器的量有限制,并且其中分配多個邏輯存儲器塊和將屬性關(guān)聯(lián)允許應(yīng)用程序超出對能保留的存儲器的量的限制。
9.如權(quán)利要求1所述的方法,其中由計算設(shè)備中的應(yīng)用程序執(zhí)行分配多個邏輯存儲器塊和將屬性關(guān)聯(lián)的步驟,并且其中該應(yīng)用程序與計算設(shè)備中的操作系統(tǒng)不同。
10.如權(quán)利要求1所述的方法,還包括如果不能從存儲器交換出該至少一個邏輯存儲器塊,則對該至少一個邏輯存儲器塊執(zhí)行靜態(tài)地址翻譯。
11.一種系統(tǒng),包括計算設(shè)備;連接到計算設(shè)備的存儲器;用于分配對應(yīng)于計算設(shè)備中存儲器的多個邏輯存儲器塊的裝置;和用于將屬性關(guān)聯(lián)于至少一個邏輯存儲器塊的裝置,其中該屬性指明是否能從存儲器交換出該至少一個邏輯存儲器塊,并且其中對應(yīng)于該至少一個邏輯存儲器塊的物理塊是相連的。
12.如權(quán)利要求11所述的系統(tǒng),還包括在計算設(shè)備中實現(xiàn)的固件,其中用于分配多個邏輯存儲器塊的裝置以及用于關(guān)聯(lián)屬性的裝置還執(zhí)行(i)確定該固件是否擁有關(guān)于多個邏輯存儲器塊中的哪些被配置成保留邏輯存儲器塊的信息;以及(ii)響應(yīng)于確定計算設(shè)備中的固件擁有關(guān)于多個邏輯存儲器塊中的哪些被配置成保留邏輯存儲器塊的信息,根據(jù)所擁有的信息,設(shè)置與該至少一個邏輯存儲器塊相關(guān)聯(lián)的屬性,其中在被設(shè)置的情況下,該屬性指明不能從存儲器交換出該至少一個邏輯存儲器塊,并且指明該至少一個邏輯存儲器塊是保留邏輯存儲器塊。
13.如權(quán)利要求11所述的系統(tǒng),還包括在計算設(shè)備中實現(xiàn)的存儲器保留應(yīng)用程序;和在計算設(shè)備中實現(xiàn)的固件,其中用于分配多個邏輯存儲器塊的裝置以及用于關(guān)聯(lián)屬性的裝置還執(zhí)行(i)確定固件是否擁有關(guān)于多個邏輯存儲器塊中的哪些被配置成保留邏輯存儲器塊的信息;(ii)響應(yīng)于確定計算設(shè)備中的固件不擁有關(guān)于多個邏輯存儲器塊中的哪些被配置成保留邏輯存儲器塊的信息,該固件結(jié)合存儲器保留應(yīng)用程序確定多個邏輯存儲器塊中的哪些被配置成保留邏輯存儲器塊;以及(iii)由固件在計算設(shè)備的初始程序加載過程中保存關(guān)于多個邏輯存儲器塊中的那些被配置成保留邏輯存儲器塊的信息。
14.如權(quán)利要求11所述的系統(tǒng),還包括用于將附加屬性關(guān)聯(lián)于該至少一個邏輯存儲器塊的裝置,其中該附加屬性進一步表征該至少一個邏輯存儲器塊的特性。
15.如權(quán)利要求11所述的系統(tǒng),還包括用于將附加屬性關(guān)聯(lián)于該至少一個邏輯存儲器塊的裝置,其中該附加屬性指明在該至少一個邏輯存儲器塊中的數(shù)據(jù)是否可修改。
16.如權(quán)利要求11所述的系統(tǒng),還包括連接到計算設(shè)備的虛擬存儲器管理器;連接到計算設(shè)備的輔助存儲器;用于通過虛擬存儲器管理器執(zhí)行用來交換該至少一個邏輯存儲器塊到被連接到計算設(shè)備的輔助存儲器的指令的裝置;用于通過虛擬存儲器管理器確定該至少一個邏輯存儲器塊的關(guān)聯(lián)屬性是否指明不能從存儲器交換出邏輯存儲器塊的裝置;以及用于響應(yīng)于確定該至少一個邏輯存儲器塊的關(guān)聯(lián)屬性沒有指明不能從存儲器交換出邏輯存儲器塊,交換該至少一個邏輯存儲器塊到輔助存儲器的裝置。
17.如權(quán)利要求11所述的系統(tǒng),還包括用于保留邏輯存儲器塊的第一存儲器管理策略;用于非保留邏輯存儲器塊的第二存儲器管理策略;用于對保留邏輯存儲器塊運用第一存儲器管理策略的裝置;用于對非保留邏輯存儲器塊運用第二存儲器管理策略的裝置;用于確定該至少一個邏輯存儲器塊是否保留邏輯存儲器塊的裝置;以及用于響應(yīng)于確定該至少一個邏輯存儲器塊是保留邏輯存儲器塊,根據(jù)第一存儲器管理策略,對該至少一個邏輯存儲器塊執(zhí)行存儲器管理操作的裝置。
18.如權(quán)利要求11所述的系統(tǒng),還包括在計算設(shè)備中實現(xiàn)的應(yīng)用程序;連接到計算設(shè)備的操作系統(tǒng),其中操作系統(tǒng)對能保留用于從存儲器交換出的存儲器的量有限制;以及計算設(shè)備中的固件,其中在固件中實現(xiàn)用于分配多個邏輯存儲器塊的裝置以及用于關(guān)聯(lián)屬性的裝置,并且其中用于分配多個邏輯存儲器塊的裝置和用于關(guān)聯(lián)屬性的裝置允許該應(yīng)用程序超出對能保留的存儲器的量的限制。
19.如權(quán)利要求11所述的系統(tǒng),還包括連接到計算設(shè)備的操作系統(tǒng);和計算設(shè)備中實現(xiàn)的應(yīng)用程序,其中由該應(yīng)用程序?qū)嵤┯糜诜峙涠鄠€邏輯存儲器塊的裝置和用于關(guān)聯(lián)屬性的裝置,并且其中該應(yīng)用程序與操作系統(tǒng)不同。
20.如權(quán)利要求11所述的系統(tǒng),還包括用于在不能從存儲器交換出該至少一個邏輯存儲器塊的情況下,對該至少一個邏輯存儲器塊執(zhí)行靜態(tài)地址翻譯的裝置。
21.一件產(chǎn)品,其中該產(chǎn)品能導(dǎo)致操作,該操作包括分配對應(yīng)于計算設(shè)備中存儲器的多個邏輯存儲器塊;以及將屬性關(guān)聯(lián)于至少一個邏輯存儲器塊,其中該屬性指明是否能從存儲器交換出至少一個邏輯存儲器塊,并且其中對應(yīng)于該至少一個邏輯存儲器塊的物理塊是相連的。
22.如權(quán)利要求21所述的產(chǎn)品,其中分配多個邏輯存儲器塊和將屬性關(guān)聯(lián)還包括確定計算設(shè)備中的固件是否擁有關(guān)于多個邏輯存儲器塊中的哪些被配置成保留邏輯存儲器塊的信息;以及響應(yīng)于確定計算設(shè)備中的固件擁有關(guān)于多個邏輯存儲器塊中的哪些被配置成保留邏輯存儲器塊的信息,根據(jù)所擁有的信息,設(shè)置與該至少一個邏輯存儲器塊相關(guān)聯(lián)的該屬性,其中在被設(shè)置的情況下,該屬性指明不能從存儲器交換出該至少一個邏輯存儲器塊,并且指明該至少一個邏輯存儲器塊是保留邏輯存儲器塊。
23.如權(quán)利要求21所述的一件產(chǎn)品,其中分配多個邏輯存儲器塊和將屬性關(guān)聯(lián)還包括確定計算設(shè)備中的固件是否擁有關(guān)于多個邏輯存儲器塊中的哪些被配置成保留邏輯存儲器塊的信息;響應(yīng)于確定計算設(shè)備中的固件不擁有關(guān)于多個邏輯存儲器塊中的哪些被配置成保留邏輯存儲器塊的信息,由固件結(jié)合存儲器保留應(yīng)用程序來確定多個邏輯存儲器塊中的哪些被配置成保留邏輯存儲器塊;以及由固件在計算設(shè)備的初始程序加載過程中保存關(guān)于多個邏輯存儲器塊中的那些被配置成保留邏輯存儲器塊的信息。
24.如權(quán)利要求21所述的產(chǎn)品,其中所述操作還包括將附加屬性關(guān)聯(lián)于該至少一個邏輯存儲器塊,其中該附加屬性進一步表征該至少一個邏輯存儲器塊的特性。
25.如權(quán)利要求21所述的產(chǎn)品,其中所述操作還包括將附加屬性關(guān)聯(lián)于該至少一個邏輯存儲器塊,其中該附加屬性指明在該至少一個邏輯存儲器塊中的數(shù)據(jù)是否可修改。
26.如權(quán)利要求21所述的產(chǎn)品,其中所述操作還包括由虛擬存儲器管理器執(zhí)行用于交換該至少一個邏輯存儲器塊到被連接到計算設(shè)備的輔助存儲器的指令;由虛擬存儲器管理器確定該至少一個邏輯存儲器塊的關(guān)聯(lián)屬性是否指明不能從存儲器交換出邏輯存儲器塊;以及響應(yīng)于確定該至少一個邏輯存儲器塊的關(guān)聯(lián)屬性沒有指明不能從存儲器交換出邏輯存儲器塊,從存儲器交換該至少一個邏輯存儲器塊到輔助存儲器。
27.如權(quán)利要求21所述的產(chǎn)品,其中所述操作還包括對保留邏輯存儲器塊運用第一存儲器管理策略;對非保留邏輯存儲器塊運用第二存儲器管理策略;確定該至少一個邏輯存儲器塊是否保留邏輯存儲器塊;以及響應(yīng)于確定該至少一個邏輯存儲器塊是保留邏輯存儲器塊,根據(jù)第一存儲器管理策略對該至少一個邏輯存儲器塊執(zhí)行存儲器管理操作。
28.如權(quán)利要求21所述的產(chǎn)品,其中,由計算設(shè)備中的固件執(zhí)行分配多個邏輯存儲器塊和將屬性關(guān)聯(lián)的步驟,其中計算設(shè)備包括操作系統(tǒng),該操作系統(tǒng)對能被保留用于從存儲器交換出的存儲器的量有限制,并且其中分配多個邏輯存儲器塊和將屬性關(guān)聯(lián)允許應(yīng)用程序超出對能保留的存儲器的量的限制。
29.如權(quán)利要求21所述的產(chǎn)品,其中由計算設(shè)備中的應(yīng)用程序執(zhí)行分配多個邏輯存儲器塊和將屬性關(guān)聯(lián)的步驟,并且其中該應(yīng)用程序與計算設(shè)備中的操作系統(tǒng)不同。
30.如權(quán)利要求21所述的產(chǎn)品,其中所述操作還包括如果不能從存儲器交換出該至少一個邏輯存儲器塊,則對該至少一個邏輯存儲器塊執(zhí)行靜態(tài)地址翻譯。
全文摘要
提供了一種方法、系統(tǒng)及產(chǎn)品,其中,在某些實施例中,分配對應(yīng)于計算設(shè)備中存儲器的多個邏輯存儲器塊。屬性與至少一個邏輯存儲器塊相關(guān)聯(lián),其中屬性指明是否能從存儲器交換出至少一個邏輯存儲器塊,并且其中對應(yīng)于至少一個邏輯存儲器塊的物理塊是相連的。
文檔編號G06F12/08GK1637725SQ200510004139
公開日2005年7月13日 申請日期2005年1月7日 優(yōu)先權(quán)日2004年1月9日
發(fā)明者蘇玉成, 約翰·諾伯特·邁克考利, 宋正中, 威廉·格里斯伍爾德·西爾曼 申請人:國際商業(yè)機器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1