專(zhuān)利名稱(chēng):利用睡眠狀態(tài)進(jìn)行動(dòng)態(tài)節(jié)點(diǎn)分區(qū)的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及計(jì)算機(jī)領(lǐng)域,特別涉及多節(jié)點(diǎn)計(jì)算機(jī)。更具體地說(shuō),本發(fā)明涉及一種用于在多節(jié)點(diǎn)計(jì)算機(jī)中的另一個(gè)節(jié)點(diǎn)處于A(yíng)CPI S3睡眠狀態(tài)時(shí)允許多節(jié)點(diǎn)計(jì)算機(jī)中的主節(jié)點(diǎn)占用(appropriate)該另一個(gè)節(jié)點(diǎn)的資源的方法和系統(tǒng)。
背景技術(shù):
在多節(jié)點(diǎn)計(jì)算機(jī)例如由國(guó)際商業(yè)機(jī)器公司制造的服務(wù)器x-Series中,有可能將兩個(gè)或更多個(gè)物理節(jié)點(diǎn)配置到一個(gè)更大的邏輯分區(qū)中,其中單個(gè)操作系統(tǒng)可利用所有節(jié)點(diǎn)的資源。在該場(chǎng)景中,每個(gè)單獨(dú)的機(jī)器引導(dǎo)到通電自檢(POST)固件中的公共點(diǎn),然后確定是否應(yīng)當(dāng)將其與一個(gè)或多個(gè)其他節(jié)點(diǎn)合并。如果要合并一個(gè)或多個(gè)系統(tǒng),則典型地在不將整個(gè)系統(tǒng)復(fù)位到POST的情況下就不可能將分區(qū)分離成多個(gè)單獨(dú)的節(jié)點(diǎn)。同樣地,如果每個(gè)節(jié)點(diǎn)要作為獨(dú)立系統(tǒng)引導(dǎo)到操作系統(tǒng)中,則在不重新引導(dǎo)這些節(jié)點(diǎn)的情況下就不可能讓這些系統(tǒng)在邏輯上“加入”分區(qū)。
因此,需要一種允許多節(jié)點(diǎn)計(jì)算機(jī)中的第一節(jié)點(diǎn)能夠?qū)⒌诙?jié)點(diǎn)熱加入到邏輯分區(qū)中而不管第二節(jié)點(diǎn)所使用的操作系統(tǒng)并且不必重新引導(dǎo)整個(gè)分區(qū)的方法和系統(tǒng)。
發(fā)明內(nèi)容
本發(fā)明涉及一種用于允許多節(jié)點(diǎn)計(jì)算機(jī)中的主節(jié)點(diǎn)占用該多節(jié)點(diǎn)計(jì)算機(jī)中的節(jié)點(diǎn)的方法和系統(tǒng)。掛起要被占用的節(jié)點(diǎn)以使其進(jìn)入ACPI S3睡眠狀態(tài),從而使當(dāng)前系統(tǒng)操作狀態(tài)信息存儲(chǔ)在被占用節(jié)點(diǎn)內(nèi)的備份存儲(chǔ)器中。然后,主節(jié)點(diǎn)向被占用節(jié)點(diǎn)中的主存儲(chǔ)器填充加入包括主節(jié)點(diǎn)的邏輯分區(qū)所需的操作系統(tǒng)和其他信息。當(dāng)主節(jié)點(diǎn)不再希望使用被占用節(jié)點(diǎn)時(shí),將被占用節(jié)點(diǎn)中的備份存儲(chǔ)器鏡像回到被占用節(jié)點(diǎn)的主存儲(chǔ)器。當(dāng)被占用節(jié)點(diǎn)從S3狀態(tài)“喚醒”時(shí),它從啟動(dòng)S3睡眠狀態(tài)時(shí)的離開(kāi)處繼續(xù)執(zhí)行軟件命令。
本發(fā)明的上述和其他目的、特性和優(yōu)點(diǎn)在下面詳細(xì)的書(shū)面描述中將會(huì)變得清楚。
被認(rèn)為是本發(fā)明特征的新穎特性在所附權(quán)利要求中闡述。然而,通過(guò)參考下面結(jié)合附圖閱讀的對(duì)說(shuō)明性實(shí)施例的詳細(xì)描述,本發(fā)明本身以及優(yōu)選使用方式及其另外的目的和優(yōu)點(diǎn)將會(huì)變得更好理解,其中圖1a示出在本發(fā)明中使用的示例性多節(jié)點(diǎn)計(jì)算機(jī),其具有第一和第二節(jié)點(diǎn);圖1b示出圖1a的多節(jié)點(diǎn)計(jì)算機(jī),其中第一節(jié)點(diǎn)在備份存儲(chǔ)器中具有當(dāng)前系統(tǒng)操作狀態(tài)信息的鏡像副本;圖1c示出多節(jié)點(diǎn)計(jì)算機(jī),其中第一節(jié)點(diǎn)被占用以用于具有第二節(jié)點(diǎn)的分區(qū)中;圖2示出高級(jí)配置和功率接口(ACPI)協(xié)議的軟件組織;圖3a示出圖1a所示的狀態(tài)下多節(jié)點(diǎn)計(jì)算機(jī)的附加細(xì)節(jié);圖3b示出圖1b所示的狀態(tài)下多節(jié)點(diǎn)計(jì)算機(jī)的附加細(xì)節(jié);圖3c示出圖1c所示的狀態(tài)下多節(jié)點(diǎn)計(jì)算機(jī)的附加細(xì)節(jié);圖4a是描述通過(guò)將第一節(jié)點(diǎn)置于S3睡眠狀態(tài)來(lái)占用第一節(jié)點(diǎn)以使其加入到包括第二節(jié)點(diǎn)的分區(qū)中所采取的步驟的流程圖;以及圖4b是描述從分區(qū)中動(dòng)態(tài)移除第一節(jié)點(diǎn)所采取的步驟的流程圖。
具體實(shí)施例方式
現(xiàn)在參照附圖,特別是參照?qǐng)D1,其示出了本發(fā)明所使用的多節(jié)點(diǎn)計(jì)算機(jī)100的方框圖。多節(jié)點(diǎn)計(jì)算機(jī)100包括第一節(jié)點(diǎn)102-1(節(jié)點(diǎn)1)和第二節(jié)點(diǎn)102-2(節(jié)點(diǎn)2)。第一節(jié)點(diǎn)102-1所使用的數(shù)據(jù)以存儲(chǔ)器的起始兩吉字節(jié)的地址(0-2GB)存儲(chǔ)在子節(jié)點(diǎn)2中,而子節(jié)點(diǎn)3將數(shù)據(jù)存儲(chǔ)在存儲(chǔ)器的其次兩吉字節(jié)的地址處(2-4GB)。
類(lèi)似地,第二節(jié)點(diǎn)102-2具有子節(jié)點(diǎn)0和子節(jié)點(diǎn)1。第二節(jié)點(diǎn)102-2所使用的數(shù)據(jù)以存儲(chǔ)器的起始兩吉字節(jié)的地址(0-2GB)存儲(chǔ)在子節(jié)點(diǎn)0中,而子節(jié)點(diǎn)1將數(shù)據(jù)存儲(chǔ)在存儲(chǔ)器的其次兩吉字節(jié)地址處(2-4GB)。
耦接第一節(jié)點(diǎn)102-1與第二節(jié)點(diǎn)102-2是一對(duì)可擴(kuò)展芯片組108,其中可擴(kuò)展芯片組108-1與第一節(jié)點(diǎn)102-1相關(guān)聯(lián),并且可擴(kuò)展芯片組108-2與第二節(jié)點(diǎn)102-2相關(guān)聯(lián)。雖然被示出為單獨(dú)的可擴(kuò)展芯片組,但是可擴(kuò)展芯片組108-1和108-2可以在功能上被認(rèn)為是一個(gè)可擴(kuò)展芯片組??蓴U(kuò)展芯片組108允許通過(guò)使用可擴(kuò)展芯片組108內(nèi)的發(fā)送和接收緩沖器(未示出)將節(jié)點(diǎn)加入到分區(qū)中。這些緩沖器允許節(jié)點(diǎn)傳送形成分區(qū)所需的信息,其包括存儲(chǔ)器映射、來(lái)自“主”節(jié)點(diǎn)(例如,本發(fā)明中的第二節(jié)點(diǎn)102-2)的控制系統(tǒng)管理中斷(SMI)、要由所有節(jié)點(diǎn)使用的單個(gè)操作系統(tǒng)(O/S)等。
每個(gè)節(jié)點(diǎn)102具有專(zhuān)用于該節(jié)點(diǎn)的非易失性存儲(chǔ)器(NVM)110。每個(gè)NVM 110優(yōu)選地是被配置為直接存取存儲(chǔ)裝置(DASD)的硬盤(pán)驅(qū)動(dòng)器系統(tǒng)。例如,第一節(jié)點(diǎn)102-1具有非易失性存儲(chǔ)器110-1,其存儲(chǔ)第一節(jié)點(diǎn)102-1正在使用的操作系統(tǒng)(1-O/S),其中假定第一節(jié)點(diǎn)102-1作為獨(dú)立的節(jié)點(diǎn)而引導(dǎo)。類(lèi)似地,第二節(jié)點(diǎn)102-2具有非易失性存儲(chǔ)器110-2,其存儲(chǔ)第二節(jié)點(diǎn)102-2正在使用的操作系統(tǒng)(2-O/S),其中再次假定第二節(jié)點(diǎn)102-2作為獨(dú)立的節(jié)點(diǎn)而引導(dǎo)。當(dāng)然,湊巧地,設(shè)計(jì)2-O/S和1-O/S可以是相同類(lèi)型的O/S。
可選地,第一節(jié)點(diǎn)102-1和第二節(jié)點(diǎn)102-2可以在來(lái)自單個(gè)節(jié)點(diǎn)102的單個(gè)O/S下工作。例如,在本發(fā)明中,擔(dān)當(dāng)主節(jié)點(diǎn)的第二節(jié)點(diǎn)102-2可以發(fā)出指示第一節(jié)點(diǎn)102-1與非易失性存儲(chǔ)器110-1中的1-O/S斷開(kāi)并且作為代替在存儲(chǔ)在非易失性存儲(chǔ)器110-2中的2-O/S上運(yùn)行的SMI。通過(guò)在相同O/S下工作,第一節(jié)點(diǎn)102-1和第二節(jié)點(diǎn)102-2可以在相同的邏輯分區(qū)內(nèi)工作。
現(xiàn)在參照?qǐng)D1b,每個(gè)節(jié)點(diǎn)內(nèi)有主存儲(chǔ)器104和輔助存儲(chǔ)器106。主存儲(chǔ)器104和輔助存儲(chǔ)器106可存儲(chǔ)連續(xù)的存儲(chǔ)器地址,或者可選地,輔助存儲(chǔ)器106可用作主存儲(chǔ)器104的備份(鏡像)存儲(chǔ)器。因此,如圖1b所示,通過(guò)存儲(chǔ)第一節(jié)點(diǎn)102-1所使用的存儲(chǔ)器起始兩吉字節(jié)(0-2GB)的鏡像副本,輔助存儲(chǔ)器106-1a和b用作主存儲(chǔ)器104-1a和b的備份裝置。這樣,存儲(chǔ)器的其次兩吉字節(jié)(2-4GB)不存儲(chǔ)在系統(tǒng)存儲(chǔ)器中(但是顯然地可靜態(tài)地存儲(chǔ)在非易失性存儲(chǔ)器110-1中)。同時(shí),如圖1b所示,第二節(jié)點(diǎn)102-2使用主存儲(chǔ)器104-2a和b以及輔助存儲(chǔ)器106-2a和b存儲(chǔ)連續(xù)的存儲(chǔ)器位置0-4GB。
本發(fā)明利用1)第一節(jié)點(diǎn)102-1使用采用輔助存儲(chǔ)器106-1對(duì)主存儲(chǔ)器104-1的存儲(chǔ)器鏡像的能力,以及2)高級(jí)配置和功率接口(ACPI)S3睡眠狀態(tài)(下面詳述)的特性。這兩個(gè)特性導(dǎo)致第二節(jié)點(diǎn)102-2能夠使用將第一節(jié)點(diǎn)102-1置于A(yíng)CPI S3睡眠狀態(tài)的發(fā)向第一節(jié)點(diǎn)102-1的主SMI命令,并且當(dāng)?shù)谝还?jié)點(diǎn)102-1處于該睡眠狀態(tài)時(shí),第二節(jié)點(diǎn)102-2能夠占用第一節(jié)點(diǎn)102-1的資源,包括主存儲(chǔ)器104-1。當(dāng)?shù)谝还?jié)點(diǎn)102-1從S3狀態(tài)“喚醒”時(shí),它將沒(méi)有當(dāng)?shù)谝还?jié)點(diǎn)102-1睡眠的時(shí)候被第二節(jié)點(diǎn)102-2使用的存儲(chǔ)器。
圖1c示出當(dāng)?shù)谝还?jié)點(diǎn)102-1處于S3睡眠狀態(tài)的時(shí)候第二節(jié)點(diǎn)102-2占用了第一節(jié)點(diǎn)102-1的資源之后的多節(jié)點(diǎn)計(jì)算機(jī)100。第二節(jié)點(diǎn)102-2已將包括主存儲(chǔ)器104-1a和b的第一節(jié)點(diǎn)102-1加入到分區(qū)120中。主存儲(chǔ)器104-1的加入允許分區(qū)120使用存儲(chǔ)在主存儲(chǔ)器104-1中的系統(tǒng)存儲(chǔ)器的另一個(gè)2吉字節(jié)(以4-6GB尋址)。還要注意的是,當(dāng)?shù)谝还?jié)點(diǎn)102-1被占用以使其加入到分區(qū)120中的時(shí)候,第二節(jié)點(diǎn)102-2和分區(qū)120可能能夠使用第一節(jié)點(diǎn)102-1內(nèi)的處理邏輯電路。
注意,當(dāng)處于S3睡眠狀態(tài)的時(shí)候,第一節(jié)點(diǎn)102-1不能訪(fǎng)問(wèn)存儲(chǔ)在非易失性存儲(chǔ)器110-1中的1-O/S,以便整個(gè)分區(qū)120能夠使用存儲(chǔ)在非易失性存儲(chǔ)器110-2中的2-O/S而無(wú)沖突地工作。
本發(fā)明利用由高級(jí)配置和功率接口(ACPI)協(xié)議定義的特性。ACPI協(xié)議的詳細(xì)信息參見(jiàn)由康柏計(jì)算機(jī)公司、英特爾公司、微軟公司、鳳凰技術(shù)有限公司以及東芝公司在2003年8月25日公布的“AdvancedConfiguration and Power Interface Specification,Revision 2.0c”,在此將所引用的該版本或任何其他后繼版本的全文引作參考。ACPI提供了基于標(biāo)準(zhǔn)的平臺(tái),其使網(wǎng)絡(luò)管理器能夠遠(yuǎn)程支配和管理客戶(hù)端計(jì)算機(jī)。
ACPI協(xié)議定義了計(jì)算機(jī)中的不同功率狀態(tài)。全局系統(tǒng)狀態(tài)定義為G3到G0。
G3是“機(jī)械關(guān)斷”。該狀態(tài)通過(guò)機(jī)械裝置進(jìn)入并保持,例如,關(guān)斷計(jì)算機(jī)的功率開(kāi)關(guān)。當(dāng)從G3狀態(tài)退出時(shí),必須重新引導(dǎo)計(jì)算機(jī)。
G2是“軟關(guān)斷”。在該狀態(tài)下,計(jì)算機(jī)消耗最小量的功率。不運(yùn)行代碼,并且由于計(jì)算機(jī)的上下文不保存在硬件中,因此使計(jì)算機(jī)返回到工作(G0)狀態(tài)需要較大的延遲,并且返回到G0狀態(tài)必需重新啟動(dòng)。
G1是“睡眠”。在該狀態(tài)下,計(jì)算機(jī)使用小量的功率,不執(zhí)行用戶(hù)模式線(xiàn)程,但是保存大部分上下文狀態(tài),從而使重新啟動(dòng)更快。G1具有子級(jí)別S1到S4,其進(jìn)一步定義睡眠狀態(tài)的“深淺程度”。
G1的子級(jí)別S1是低喚醒延遲睡眠狀態(tài)。在該狀態(tài)下,保持系統(tǒng)存儲(chǔ)器中的所有系統(tǒng)操作狀態(tài)信息,因此不丟失系統(tǒng)上下文。
G1的子級(jí)別S2是低喚醒延遲睡眠狀態(tài)。除了丟失CPU和系統(tǒng)高速緩沖存儲(chǔ)器信息之外,該狀態(tài)類(lèi)似于子級(jí)別S1。
G1的子級(jí)別S3是低喚醒延遲睡眠狀態(tài),其中除了系統(tǒng)存儲(chǔ)器之外丟失所有系統(tǒng)操作狀態(tài)信息。因此,丟失CPU、高速緩沖存儲(chǔ)器和芯片組上下文。
G1的子級(jí)別S4是由ACPI支持的最低功率、最長(zhǎng)喚醒延遲睡眠狀態(tài)。由于假定硬件平臺(tái)已經(jīng)關(guān)斷了所有外圍裝置的電源,因此僅維護(hù)平臺(tái)上下文。
G1的子級(jí)別S5是除了O/S不保存任何上下文之外類(lèi)似于子級(jí)別S4的軟關(guān)斷狀態(tài)。系統(tǒng)處于“軟”關(guān)斷狀態(tài),并且當(dāng)它喚醒時(shí)需要完全的引導(dǎo)。
全局系統(tǒng)定義G0是“工作”。在該狀態(tài)下,計(jì)算機(jī)本身處于滿(mǎn)工作量,不過(guò)外圍裝置可處于減少的功率狀態(tài)。
現(xiàn)在參照?qǐng)D2,其示出了ACPI軟件202的硬件/軟件結(jié)構(gòu)的圖。ACPI軟件202在軟件與平臺(tái)硬件220之間起接口作用,其中軟件例如是應(yīng)用程序204、包括系統(tǒng)管理中斷(SMI)代碼208的操作系統(tǒng)(OS)內(nèi)核206、針對(duì)操作系統(tǒng)的功率管理(OSPM)210以及ACPI驅(qū)動(dòng)程序212,并且平臺(tái)硬件220例如但不限于在圖3a-c中所述的CPU 318。
ACPI 202包括三個(gè)運(yùn)行時(shí)組件ACPI系統(tǒng)描述表218、ACPI寄存器214、以及ACPI系統(tǒng)固件(BIOS)216。ACPI系統(tǒng)描述表218描述與平臺(tái)硬件220的接口。ACPI寄存器214包括由ACPI系統(tǒng)描述表618描述的硬件接口的限定部分。
現(xiàn)在參照?qǐng)D3a,其示出了圖1a所示的狀態(tài)下多節(jié)點(diǎn)計(jì)算機(jī)100的附加細(xì)節(jié)。如圖3a所示,多節(jié)點(diǎn)計(jì)算機(jī)100具有至少兩個(gè)節(jié)點(diǎn)102,其中每一個(gè)具有至少一個(gè)子節(jié)點(diǎn)。每個(gè)節(jié)點(diǎn)102用作分立的處理單元,其具有連接到節(jié)點(diǎn)102中的每個(gè)子節(jié)點(diǎn)的南橋320的共享外圍組件互連(PCI)322。每個(gè)節(jié)點(diǎn)102包括可擴(kuò)展芯片組108,其包括連接到該節(jié)點(diǎn)的南橋320的北橋316??蓴U(kuò)展芯片組108由多個(gè)子芯片組組成。例如,圖1a所示的可擴(kuò)展芯片組108-1包括子節(jié)點(diǎn)2中的可擴(kuò)展芯片組108-1-2和子節(jié)點(diǎn)3中的可擴(kuò)展芯片組108-1-3。優(yōu)選地是多處理器(被示出為四個(gè)處理器-“4P”)的處理器318連接到每個(gè)可擴(kuò)展芯片組108。每個(gè)可擴(kuò)展芯片組108還包括可擴(kuò)展芯片組I/O端口310。
在每個(gè)可擴(kuò)展芯片組108內(nèi)還有存儲(chǔ)器控制器314,其控制多個(gè)易失性存儲(chǔ)器如主存儲(chǔ)器104和備份/輔助存儲(chǔ)器106。主存儲(chǔ)器104和輔助存儲(chǔ)器106優(yōu)選地各自采用單內(nèi)聯(lián)存儲(chǔ)器模塊(SIMM)或雙內(nèi)聯(lián)存儲(chǔ)器模塊(DIMM)。主存儲(chǔ)器104(并且如果沒(méi)有鏡像,輔助存儲(chǔ)器106)保存子節(jié)點(diǎn)中的處理器318的系統(tǒng)存儲(chǔ)器。
PCI 322是構(gòu)成單個(gè)節(jié)點(diǎn)102的兩個(gè)子節(jié)點(diǎn)的輸入/輸出(I/O)324的公共接口。例如,只要第一節(jié)點(diǎn)102-1正常工作(未被第二節(jié)點(diǎn)102-2占用),PCI 322b和I/O 324b就為子節(jié)點(diǎn)2和子節(jié)點(diǎn)3提供輸入/輸出接口。然而,如果第一節(jié)點(diǎn)102-1被第二節(jié)點(diǎn)102-2占用而使其加入到分區(qū)中,則I/O 324b阻止與非易失性存儲(chǔ)器110-1的通信,從而將分區(qū)與存儲(chǔ)在非易失性存儲(chǔ)器110-1中的任何O/S隔離。
如圖3a所示,主存儲(chǔ)器104-1a和輔助存儲(chǔ)器106-1a用來(lái)存儲(chǔ)子節(jié)點(diǎn)2中的連續(xù)存儲(chǔ)地址塊0-2GB,如圖1a所示。同樣地,主存儲(chǔ)器104-1b和輔助存儲(chǔ)器106-1b可用來(lái)存儲(chǔ)子節(jié)點(diǎn)3中的連續(xù)存儲(chǔ)地址塊2-4GB??蛇x地,并且如在本發(fā)明中所使用的那樣,備份輔助存儲(chǔ)器106如下所述可用作備份存儲(chǔ)器。因此,在示例性圖3b中,輔助存儲(chǔ)器106-1a和輔助存儲(chǔ)器106-1b備份(鏡像)各自的主存儲(chǔ)器104-1a和104-1b,從而產(chǎn)生如圖1b所示的對(duì)主存儲(chǔ)器104-1的備份。注意,在該鏡像模式中,不能夠如在圖1a和圖3a中所做的那樣對(duì)存儲(chǔ)地址塊2-4GB的數(shù)據(jù)進(jìn)行存儲(chǔ)。
現(xiàn)在參照?qǐng)D3c,其示出了如圖1c所示的狀態(tài)下多節(jié)點(diǎn)計(jì)算機(jī)100的附加細(xì)節(jié)。主存儲(chǔ)器104-1a和104-1b被占用,以便分別以地址4-5GB和5-6GB存儲(chǔ)第二節(jié)點(diǎn)102-2所使用的數(shù)據(jù),從而導(dǎo)致第二節(jié)點(diǎn)102-2利用附加的2吉字節(jié)存儲(chǔ)器。當(dāng)?shù)谝还?jié)點(diǎn)102-1處于S3睡眠狀態(tài)時(shí),輔助存儲(chǔ)器106-1a和106-1b用來(lái)存儲(chǔ)多達(dá)2吉字節(jié)的S3數(shù)據(jù)。還注意,在第一節(jié)點(diǎn)102-1處于S3睡眠狀態(tài)時(shí),阻止了對(duì)非易失性存儲(chǔ)器110-1的訪(fǎng)問(wèn)。
現(xiàn)在參照?qǐng)D4a,其示出了根據(jù)本發(fā)明優(yōu)選實(shí)施例的占用節(jié)點(diǎn)以使其加入到分區(qū)中所采取的步驟的流程圖。在啟動(dòng)塊402開(kāi)始之后,第一步驟(塊404)需要鏡像要被占用的節(jié)點(diǎn)中的存儲(chǔ)器。在本發(fā)明的優(yōu)選實(shí)施例中需要該步驟是為了幫助在從分區(qū)釋放該節(jié)點(diǎn)之后快速地喚醒它,以及使被占用節(jié)點(diǎn)中的主存儲(chǔ)器可用于被主節(jié)點(diǎn)占用。
接下來(lái),將要被占用的節(jié)點(diǎn)(例如,在上面圖中示出的第一節(jié)點(diǎn)102-1)置于A(yíng)CPI睡眠狀態(tài)(塊406),優(yōu)選地是S3睡眠狀態(tài)。該步驟使所有當(dāng)前系統(tǒng)操作狀態(tài)信息存儲(chǔ)在主存儲(chǔ)器(例如,主存儲(chǔ)器104-1)和輔助存儲(chǔ)器(例如,輔助存儲(chǔ)器106-1)中。
接下來(lái),禁用要被占用的節(jié)點(diǎn)中的存儲(chǔ)器鏡像(塊408),并且隔離輔助存儲(chǔ)器(塊410)以防止無(wú)意地覆寫(xiě)輔助存儲(chǔ)器中的ACPI S3保存數(shù)據(jù)。為了防止被占用節(jié)點(diǎn)訪(fǎng)問(wèn)操作系統(tǒng),該操作系統(tǒng)可能與在被占用節(jié)點(diǎn)將是其一部分的新分區(qū)中使用的O/S發(fā)生沖突,還禁用被占用節(jié)點(diǎn)上的外圍裝置的輸入/輸出(I/O)。
接下來(lái),“主節(jié)點(diǎn)”如第二節(jié)點(diǎn)102-2占用被占用節(jié)點(diǎn)(例如,第一節(jié)點(diǎn)102-1),如塊414所述。該占用的目的在于將被占用節(jié)點(diǎn)加入到由第二“主”節(jié)點(diǎn)形成的分區(qū)中。第二節(jié)點(diǎn)具有“超SMI”授權(quán),這使其能夠控制第一節(jié)點(diǎn),包括將新O/S裝載到第一節(jié)點(diǎn)的系統(tǒng)存儲(chǔ)器、建立與新的分區(qū)相關(guān)聯(lián)的外圍裝置的I/O信息,以及映射(map out)第一節(jié)點(diǎn)中的被占用主存儲(chǔ)器的能力。
當(dāng)完成了占用第一節(jié)點(diǎn)的處理(塊416)時(shí),如圖1c和3c所示配置多節(jié)點(diǎn)計(jì)算機(jī)和分區(qū)。也就是,第二節(jié)點(diǎn)102-2占用了第一節(jié)點(diǎn)102-1的主存儲(chǔ)器104-2,以將數(shù)據(jù)存儲(chǔ)在可由第二節(jié)點(diǎn)102-2訪(fǎng)問(wèn)的以第4到第6吉字節(jié)的存儲(chǔ)器地址表示的存儲(chǔ)器地址。第一節(jié)點(diǎn)102-1的輔助存儲(chǔ)器106-1包含S3數(shù)據(jù),從而允許它容易地在置于睡眠時(shí)的離開(kāi)點(diǎn)重新啟動(dòng)和拾取(pick up)操作。第一節(jié)點(diǎn)102-1現(xiàn)在運(yùn)行由第二節(jié)點(diǎn)102-2選擇的O/S。
現(xiàn)在參照?qǐng)D4b,其示出了從分區(qū)釋放被占用節(jié)點(diǎn)并且允許被占用節(jié)點(diǎn)喚醒回來(lái)并且繼續(xù)執(zhí)行由睡眠命令中斷的操作時(shí)所要采取的步驟的流程圖。在啟動(dòng)塊420開(kāi)始之后,將數(shù)據(jù)從被占用節(jié)點(diǎn)中的主存儲(chǔ)器移到“主”第二節(jié)點(diǎn)中的存儲(chǔ)器(塊422)。也就是,當(dāng)(圖1a-c和2a-c所示的)第一節(jié)點(diǎn)102-1在第二節(jié)點(diǎn)102-2的控制之下的時(shí)候,向主存儲(chǔ)器104-1填充了僅用于分區(qū)120的數(shù)據(jù)。因此,當(dāng)從分區(qū)120釋放第一節(jié)點(diǎn)102-1時(shí),該數(shù)據(jù)必須由第二節(jié)點(diǎn)102-2捕獲(capture)到主存儲(chǔ)器104-2、輔助存儲(chǔ)器106-2或非易失性存儲(chǔ)器110-2中。
接下來(lái),重新啟用被占用節(jié)點(diǎn)中的存儲(chǔ)器鏡像(塊424)。將備份存儲(chǔ)器(例如,輔助存儲(chǔ)器106-1)配置為被占用節(jié)點(diǎn)的有效讀取端口(塊426),這允許熱啟動(dòng)被占用節(jié)點(diǎn),將備份存儲(chǔ)器的內(nèi)容更替到被占用節(jié)點(diǎn)的主存儲(chǔ)器中(塊428)。重新啟用被占用節(jié)點(diǎn)的I/O(塊430),從而允許被占用節(jié)點(diǎn)訪(fǎng)問(wèn)其自己的非易失性存儲(chǔ)器110-1。
接下來(lái),從S3睡眠狀態(tài)喚醒被占用節(jié)點(diǎn)(塊432)。由于此時(shí)對(duì)非易失性存儲(chǔ)器110-1的訪(fǎng)問(wèn)打開(kāi)了備份,并且由于再次啟用了存儲(chǔ)器鏡像,因此被占用節(jié)點(diǎn)的本地O/S可以繼續(xù)向被占用節(jié)點(diǎn)的主存儲(chǔ)器104-1重新填充發(fā)出S3睡眠命令之前存在的O/S和系統(tǒng)操作狀態(tài)信息(塊434)。當(dāng)該過(guò)程在塊436終止時(shí),系統(tǒng)再次如同上面圖1b和3b所示一樣。由于管道、高速緩沖存儲(chǔ)器和其他狀態(tài)數(shù)據(jù)寄存器全都被恢復(fù)成與S3睡眠命令之前一樣,因此被占用節(jié)點(diǎn)沒(méi)有在處于S3睡眠狀態(tài)時(shí)被使用的“記憶”,并且繼續(xù)如同S3睡眠狀態(tài)之前一樣處理下一指令。
應(yīng)當(dāng)理解,本發(fā)明的至少一些方面可以可選地在程序產(chǎn)品中實(shí)現(xiàn)。定義本發(fā)明功能的程序可通過(guò)各種信號(hào)承載介質(zhì)被遞送到數(shù)據(jù)存儲(chǔ)系統(tǒng)或計(jì)算機(jī)系統(tǒng),其中該信號(hào)承載介質(zhì)包括但不限于不可寫(xiě)存儲(chǔ)介質(zhì)(例如,CD-ROM)、可寫(xiě)存儲(chǔ)介質(zhì)(例如,軟盤(pán)、硬盤(pán)驅(qū)動(dòng)器、讀/寫(xiě)CDROM、光介質(zhì)或USB存儲(chǔ)裝置)、以及通信介質(zhì),例如計(jì)算機(jī)和電話(huà)網(wǎng)絡(luò)包括以太網(wǎng)。因此,應(yīng)當(dāng)理解,在該信號(hào)承載介質(zhì)承載或編碼指示本發(fā)明中的方法功能的計(jì)算機(jī)可讀指令時(shí),其代表本發(fā)明的可選實(shí)施例。此外,應(yīng)當(dāng)理解,本發(fā)明可由具有這里描述的硬件、軟件或軟硬件組合形式的裝置或其等價(jià)物的系統(tǒng)實(shí)現(xiàn)。
盡管本發(fā)明是參照優(yōu)選實(shí)施例來(lái)具體示出和描述的,但本領(lǐng)域的技術(shù)人員應(yīng)該理解,在不脫離本發(fā)明的精神和范圍的情況下,可以對(duì)其進(jìn)行形式和細(xì)節(jié)的各種修改。
權(quán)利要求
1.一種方法,包括啟用多節(jié)點(diǎn)計(jì)算機(jī)系統(tǒng)的第一節(jié)點(diǎn)中主存儲(chǔ)器與備份存儲(chǔ)器之間的存儲(chǔ)器鏡像;在第一節(jié)點(diǎn)的主和備份存儲(chǔ)器中存儲(chǔ)第一節(jié)點(diǎn)的所有當(dāng)前系統(tǒng)操作狀態(tài)信息;在存儲(chǔ)了所有當(dāng)前系統(tǒng)操作狀態(tài)信息之后,禁用第一節(jié)點(diǎn)中的存儲(chǔ)器鏡像和外圍裝置輸入/輸出(I/O);以及執(zhí)行多節(jié)點(diǎn)計(jì)算機(jī)系統(tǒng)中的第二節(jié)點(diǎn)對(duì)第一節(jié)點(diǎn)的占用操作,其中將第一和第二節(jié)點(diǎn)分區(qū)到相同的邏輯分區(qū)中,使得第二節(jié)點(diǎn)能夠利用第一節(jié)點(diǎn)的主存儲(chǔ)器和邏輯處理資源,同時(shí)第一節(jié)點(diǎn)的備份存儲(chǔ)器保持被隔離以保護(hù)先前存儲(chǔ)的系統(tǒng)操作狀態(tài)信息。
2.如權(quán)利要求1所述的方法,其中響應(yīng)第一節(jié)點(diǎn)被置于睡眠狀態(tài),存儲(chǔ)所有當(dāng)前系統(tǒng)操作狀態(tài)信息。
3.如權(quán)利要求2所述的方法,其中睡眠狀態(tài)是由高級(jí)配置和功率接口(ACPI)標(biāo)準(zhǔn)定義的S3睡眠狀態(tài)。
4.如權(quán)利要求1所述的方法,還包括通過(guò)將第一節(jié)點(diǎn)的主存儲(chǔ)器中的任何數(shù)據(jù)移到第二節(jié)點(diǎn),從包含第二節(jié)點(diǎn)的邏輯分區(qū)中移除第一節(jié)點(diǎn)。
5.如權(quán)利要求2所述的方法,還包括重新啟用第一節(jié)點(diǎn)中的存儲(chǔ)器鏡像和外圍裝置I/O;將所存儲(chǔ)的系統(tǒng)操作狀態(tài)信息從第一節(jié)點(diǎn)中的備份存儲(chǔ)器拷貝到第一節(jié)點(diǎn)中的主存儲(chǔ)器;以及從睡眠狀態(tài)重新喚醒第一節(jié)點(diǎn),其中第一節(jié)點(diǎn)從在第一節(jié)點(diǎn)進(jìn)入睡眠狀態(tài)時(shí)掛起軟件指令的點(diǎn)繼續(xù)執(zhí)行軟件指令。
6.一種計(jì)算機(jī)程序產(chǎn)品,駐留在計(jì)算機(jī)可用介質(zhì)上,該計(jì)算機(jī)程序產(chǎn)品包括用于啟用多節(jié)點(diǎn)計(jì)算機(jī)系統(tǒng)的第一節(jié)點(diǎn)中主存儲(chǔ)器與備份存儲(chǔ)器之間的存儲(chǔ)器鏡像的程序代碼;用于在第一節(jié)點(diǎn)的主和備份存儲(chǔ)器中存儲(chǔ)第一節(jié)點(diǎn)的所有當(dāng)前系統(tǒng)操作狀態(tài)信息的程序代碼;用于在存儲(chǔ)了所有當(dāng)前系統(tǒng)操作狀態(tài)信息之后禁用第一節(jié)點(diǎn)中的存儲(chǔ)器鏡像和外圍裝置輸入/輸出(I/O)的程序代碼;以及用于執(zhí)行多節(jié)點(diǎn)計(jì)算機(jī)系統(tǒng)中的第二節(jié)點(diǎn)對(duì)第一節(jié)點(diǎn)的占用操作的程序代碼,其中將第一和第二節(jié)點(diǎn)分區(qū)到相同的邏輯分區(qū)中,使得第二節(jié)點(diǎn)能夠利用第一節(jié)點(diǎn)的主存儲(chǔ)器和邏輯處理資源,同時(shí)第一節(jié)點(diǎn)的備份存儲(chǔ)器保持被隔離以保護(hù)先前存儲(chǔ)的系統(tǒng)操作狀態(tài)信息。
7.如權(quán)利要求6所述的計(jì)算機(jī)程序產(chǎn)品,其中響應(yīng)第一節(jié)點(diǎn)被置于睡眠狀態(tài),存儲(chǔ)所有當(dāng)前系統(tǒng)操作狀態(tài)信息。
8.如權(quán)利要求7所述的計(jì)算機(jī)程序產(chǎn)品,其中睡眠狀態(tài)是由高級(jí)配置和功率接口(ACPI)標(biāo)準(zhǔn)定義的S3睡眠狀態(tài)。
9.如權(quán)利要求6所述的計(jì)算機(jī)程序產(chǎn)品,還包括用于通過(guò)將第一節(jié)點(diǎn)的主存儲(chǔ)器中的任何數(shù)據(jù)移到第二節(jié)點(diǎn)從包含第二節(jié)點(diǎn)的邏輯分區(qū)中移除第一節(jié)點(diǎn)的程序代碼。
10.如權(quán)利要求7所述的計(jì)算機(jī)程序產(chǎn)品,還包括用于重新啟用第一節(jié)點(diǎn)中的存儲(chǔ)器鏡像和外圍裝置I/O的程序代碼;用于將所存儲(chǔ)的系統(tǒng)操作狀態(tài)信息從第一節(jié)點(diǎn)中的備份存儲(chǔ)器拷貝到第一節(jié)點(diǎn)中的主存儲(chǔ)器的程序代碼;以及用于從睡眠狀態(tài)重新喚醒第一節(jié)點(diǎn)的程序代碼,其中第一節(jié)點(diǎn)從在第一節(jié)點(diǎn)進(jìn)入睡眠狀態(tài)時(shí)掛起軟件指令的點(diǎn)繼續(xù)執(zhí)行軟件指令。
11.一種系統(tǒng),包括多節(jié)點(diǎn)計(jì)算機(jī)系統(tǒng)的第一節(jié)點(diǎn)中的存儲(chǔ)器控制器,該存儲(chǔ)器控制器啟用第一節(jié)點(diǎn)中主存儲(chǔ)器與備份存儲(chǔ)器之間的存儲(chǔ)器鏡像;在第一節(jié)點(diǎn)的主和備份存儲(chǔ)器中存儲(chǔ)第一節(jié)點(diǎn)的所有當(dāng)前系統(tǒng)操作狀態(tài)信息;在存儲(chǔ)了所有當(dāng)前系統(tǒng)操作狀態(tài)信息之后,禁用第一節(jié)點(diǎn)中的存儲(chǔ)器鏡像和外圍裝置輸入/輸出(I/O);以及多節(jié)點(diǎn)計(jì)算機(jī)系統(tǒng)的第一節(jié)點(diǎn)和第二節(jié)點(diǎn)中的可擴(kuò)展芯片組,用于將第一和第二節(jié)點(diǎn)分區(qū)到相同的邏輯分區(qū)中,使得第二節(jié)點(diǎn)能夠利用第一節(jié)點(diǎn)的主存儲(chǔ)器和邏輯處理資源,同時(shí)第一節(jié)點(diǎn)的備份存儲(chǔ)器保持被隔離以保護(hù)先前存儲(chǔ)的系統(tǒng)操作狀態(tài)信息。
12.如權(quán)利要求11所述的系統(tǒng),其中響應(yīng)第一節(jié)點(diǎn)被置于睡眠狀態(tài),存儲(chǔ)所有當(dāng)前系統(tǒng)操作狀態(tài)信息。
13.如權(quán)利要求12所述的系統(tǒng),其中睡眠狀態(tài)是由高級(jí)配置和功率接口(ACPI)標(biāo)準(zhǔn)定義的S3睡眠狀態(tài)。
14.如權(quán)利要求11所述的系統(tǒng),其中可擴(kuò)展芯片組還通過(guò)將第一節(jié)點(diǎn)的主存儲(chǔ)器中的任何數(shù)據(jù)移到第二節(jié)點(diǎn),從包含第二節(jié)點(diǎn)的邏輯分區(qū)中移除第一節(jié)點(diǎn)。
15.如權(quán)利要求12所述的系統(tǒng),其中第一節(jié)點(diǎn)中的存儲(chǔ)器控制器還重新啟用第一節(jié)點(diǎn)中的存儲(chǔ)器鏡像和外圍裝置I/O,并且其中第一節(jié)點(diǎn)中的存儲(chǔ)器控制器還將所存儲(chǔ)的系統(tǒng)操作狀態(tài)信息從第一節(jié)點(diǎn)中的備份存儲(chǔ)器拷貝到第一節(jié)點(diǎn)中的主存儲(chǔ)器,并且其中可擴(kuò)展芯片組還從睡眠狀態(tài)重新喚醒第一節(jié)點(diǎn),使得第一節(jié)點(diǎn)從在第一節(jié)點(diǎn)進(jìn)入睡眠狀態(tài)時(shí)掛起軟件指令的點(diǎn)繼續(xù)執(zhí)行軟件指令。
全文摘要
本發(fā)明公開(kāi)一種用于允許多節(jié)點(diǎn)計(jì)算機(jī)中的主節(jié)點(diǎn)占用該多節(jié)點(diǎn)計(jì)算機(jī)中的節(jié)點(diǎn)的方法和系統(tǒng)。掛起要被占用的節(jié)點(diǎn)以使其進(jìn)入ACPI S3睡眠狀態(tài),從而使當(dāng)前系統(tǒng)操作狀態(tài)信息存儲(chǔ)在被占用節(jié)點(diǎn)內(nèi)的備份存儲(chǔ)器中。然后,主節(jié)點(diǎn)向被占用節(jié)點(diǎn)中的主存儲(chǔ)器填充加入包括主節(jié)點(diǎn)的邏輯分區(qū)所需的OS和其他信息。當(dāng)主節(jié)點(diǎn)不再希望使用被占用節(jié)點(diǎn)時(shí),將被占用節(jié)點(diǎn)中的備份存儲(chǔ)器鏡像回到主存儲(chǔ)器。當(dāng)被占用節(jié)點(diǎn)從S3狀態(tài)“喚醒”時(shí),它從離開(kāi)處繼續(xù)執(zhí)行軟件命令,而不知道進(jìn)入S3狀態(tài)之后所發(fā)生的任何事情。
文檔編號(hào)G06F15/167GK1696921SQ20051006882
公開(kāi)日2005年11月16日 申請(qǐng)日期2005年5月11日 優(yōu)先權(quán)日2004年5月14日
發(fā)明者簡(jiǎn)森·羅伯特·阿爾梅達(dá), 斯科特·內(nèi)爾·當(dāng)哈姆, 埃里克·理查德·科恩, 威廉·布萊德利·施瓦茨 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司