專利名稱:為計(jì)算機(jī)系統(tǒng)組件的并發(fā)安裝提供位置代碼的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明 一般涉及計(jì)算機(jī)系統(tǒng),尤其涉及計(jì)算機(jī)系統(tǒng)中的組件的并發(fā)安 裝。更具體地,本發(fā)明涉及用于為計(jì)算機(jī)系統(tǒng)中的組件的并發(fā)安裝提供位置 代碼的方法和系統(tǒng)。
背景技術(shù):
在某些傳統(tǒng)的計(jì)算機(jī)系統(tǒng)中,有關(guān)已出故障或正出故障的組件的信息,可以經(jīng)由使用可靠性(serviceability)應(yīng)用程序(如修復(fù)和驗(yàn)證(R&V))檢 索(或監(jiān)視)。使用可靠性應(yīng)用程序可以在分開的硬件管理控制臺(tái)(HMC) 上運(yùn)行。使用可靠性應(yīng)用程序提供硬件資源的列表,如現(xiàn)場(chǎng)可替換單元 (FRU ),其安裝在計(jì)算機(jī)系統(tǒng)以及將來可并發(fā)地安裝到計(jì)算機(jī)系統(tǒng)中的其 它的FRU內(nèi)。該硬件資源列表用相對(duì)應(yīng)的位置代碼索引,該位置代碼在故典型地,硬件資源中檢測(cè)的故障將導(dǎo)致服務(wù)處理器的固件日志記錄(log ) 描述組件問題的錯(cuò)誤。在這些錯(cuò)誤日志記錄中記錄的數(shù)據(jù)字段之一是硬件資 源的位置代碼。位置代碼是獨(dú)特的ASCII字符串,其提供哪個(gè)組件已出故障 以及該組件物理地位于計(jì)算機(jī)系統(tǒng)中的何處的一些標(biāo)識(shí)。裝備了已出故障/ 正出故障的硬件資源、以及如查明計(jì)算機(jī)系統(tǒng)內(nèi)的資源的實(shí)際安裝位置的位 置代碼的信息的標(biāo)識(shí),然后系統(tǒng)管理器(或用戶)能夠開始新的FRU的并 發(fā)更新/安裝過程。其它事情當(dāng)中,并發(fā)維護(hù)過程(也稱為"并發(fā)安裝")允許客戶將新的 FRU添加到系統(tǒng)、配置并激活新的FRU、并且開始在操作系統(tǒng)(OS)過程 內(nèi)使用新的FRU,所有都在所述系統(tǒng)運(yùn)行時(shí)并且不要求任何系統(tǒng)停用 (outage )。盡管功能強(qiáng)大,但用于完成該并發(fā)安裝的能力對(duì)于支持軟件創(chuàng)建 了這樣的問題支持軟件被要求將正確的位置代碼信息報(bào)告給使用可靠性應(yīng) 用程序,使得應(yīng)用程序可執(zhí)行并發(fā)硬件安裝。然而,位置代碼信息通常不可 用直到系統(tǒng)管理器執(zhí)行并發(fā)安裝操作。
這種問題出現(xiàn)是因?yàn)樵谠S多情形中,服務(wù)處理器的固件產(chǎn)生位置代碼而 不知道有關(guān)后來能夠在該特定位置安裝的硬件的任何事情。例如,固件可以 為給定的GX適配器插槽建立位置代碼,即使在產(chǎn)生相對(duì)應(yīng)的位置代碼時(shí)沒 有GX適配器占用該特定插槽。然而,在一些實(shí)例中,固件必須從在組件自身上包括的重要(vital)產(chǎn)品數(shù)據(jù)(VPD)(例如FRU的VPD)動(dòng)態(tài)建立組 件的位置代碼。從VPD建立位置代碼的需要呈現(xiàn)了并發(fā)安裝情形的問題, 因?yàn)榉?wù)處理器的固件必須首先知道將來資源的正確位置代碼,以推薦安裝 位置并且裝配FRU用于操作。然而,固件沒有發(fā)現(xiàn)該信息直到客戶實(shí)際上 執(zhí)行該資源的安裝。因此本發(fā)明認(rèn)識(shí)到,存在對(duì)這樣的機(jī)制(或方法)的需求,其有效處理 對(duì)在產(chǎn)生/分配初始位置代碼之后,在某個(gè)將來時(shí)間并發(fā)安裝的硬件資源分配 不正確位置代碼的問題。發(fā)明內(nèi)容公開了一種方法和系統(tǒng),用于當(dāng)由系統(tǒng)的服務(wù)處理器提供別名(alias) 位置代碼作為初始位置代碼時(shí),能夠?yàn)椴l(fā)安裝的硬件資源實(shí)時(shí)產(chǎn)生并分配 正確位置代碼。當(dāng)運(yùn)行在硬件管理控制臺(tái)(HMC)上的使用可靠性應(yīng)用程序 (如修復(fù)和驗(yàn)證(R&V)),請(qǐng)求將來能夠安裝的FRU的位置代碼時(shí),所述 服務(wù)處理器產(chǎn)生別名位置代碼。為了響應(yīng)該請(qǐng)求,服務(wù)處理器在隨后的安裝 之前,返回其正確位置代碼還未知的FRU的別名位置代碼。然后,當(dāng)系統(tǒng) 管理器決定隨后安裝該FRU時(shí),所述F&V應(yīng)用程序?qū)RU的別名位置代 碼(與其它相關(guān)數(shù)據(jù)一起)發(fā)送到服務(wù)處理器,用來指示該硬件將被安裝在 何處。所述R&V應(yīng)用程序指令服務(wù)處理器激活FRU。該服務(wù)處理器然后發(fā) 現(xiàn)新的硬件,計(jì)算真實(shí)位置代碼,并且將該真實(shí)位置代碼傳播給各種內(nèi)部過 程、數(shù)據(jù)結(jié)構(gòu)和利用該正確位置代碼的任何其它組件/設(shè)備/邏輯/應(yīng)用程序, 以便正確? 1用和訪問FRU。真實(shí)位置代碼的傳播防止主要的系統(tǒng)組件由于位置代碼錯(cuò)配產(chǎn)生錯(cuò)誤。 在完成硬件激活之后,該服務(wù)處理器通知R&V應(yīng)用程序FRU位置代碼已經(jīng) 改變。該R&V應(yīng)用程序然后使用正確的位置代碼來完成并發(fā)安裝流中的剩余的并發(fā)安裝命令。在下面詳細(xì)的書面描述中,本發(fā)明的上面以及其它的目的、特征和優(yōu)點(diǎn)
將變得明顯。
當(dāng)結(jié)合附圖閱讀時(shí)通過參照下面的說明性實(shí)施例的詳細(xì)描述,本發(fā)明自 身及使用的優(yōu)選模式、進(jìn)一步的目標(biāo)及其優(yōu)點(diǎn)將會(huì)被最好地理解,在附圖中 圖l是示例計(jì)算機(jī)系統(tǒng),在該系統(tǒng)中,本發(fā)明的各種特征可以根據(jù)本發(fā)明描述的實(shí)施例有利地實(shí)現(xiàn);圖2是根據(jù)本發(fā)明的說明性實(shí)施例的、用于更新由圖1的計(jì)算機(jī)系統(tǒng)利 用的位置代碼的子系統(tǒng)內(nèi)的、各種具體硬件和軟件資源的擴(kuò)展視圖;以及圖3-5是根據(jù)本發(fā)明的描述的各實(shí)施例的過程的各個(gè)部分的流程圖,通 過該過程,硬件資源并發(fā)地安裝到計(jì)算機(jī)系統(tǒng),并且硬件資源的正確位置代 碼被產(chǎn)生并且被傳播到計(jì)算機(jī)系統(tǒng)內(nèi)的各種組件。
具體實(shí)施方式
本發(fā)明提供了一種方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品,用于當(dāng)由系統(tǒng)的服務(wù) 處理器最初提供別名位置代碼時(shí),能夠在硬件資源的并發(fā)安裝期間動(dòng)態(tài)產(chǎn)生 正確的位置代碼。在為附接和/或可能附接到計(jì)算機(jī)系統(tǒng)的現(xiàn)場(chǎng)可替換單元 (FRU)最初產(chǎn)生/分配位置代碼期間,服務(wù)器處理器為當(dāng)前沒有附接/連接 到系統(tǒng)的每個(gè)FRU提供別名位置代碼。當(dāng)服務(wù)處理器隨后檢測(cè)到FRU的并 發(fā)安裝時(shí),服務(wù)處理器的固件從由FRU檢索的數(shù)據(jù)產(chǎn)生正確的位置代碼,置代碼。該固件還將正確的位置代碼轉(zhuǎn)發(fā)回到使用可靠性應(yīng)用程序,并且該 應(yīng)用程序在所有剩余的并發(fā)安裝命令中利用新的位置代碼,以維護(hù)系統(tǒng)的單 一、 一致的形象(view)。在由附示并且以下更詳細(xì)描述的實(shí)施例中,當(dāng)運(yùn)行在硬件管理控制 臺(tái)(HMC)上的使用可靠性應(yīng)用程序(如修復(fù)和驗(yàn)證(R&V))、請(qǐng)求將來 能夠安裝的FRU的位置代碼時(shí),所述服務(wù)處理器產(chǎn)生別名位置代碼。為了 響應(yīng)該請(qǐng)求,服務(wù)處理器在隨后的FRU安裝之前,返回其正確位置代碼還 未知的FRU的別名位置代碼。然后,當(dāng)系統(tǒng)管理器(或用戶)隨后決定安 裝該FRU時(shí),所述R&V使用可靠性應(yīng)用程序?qū)RU的別名位置代碼(與 其它相關(guān)數(shù)據(jù)一起)發(fā)送到服務(wù)處理器,用來指示該硬件將被安裝在何處。
所述R&V應(yīng)用程序指令服務(wù)處理器激活FRU。該服務(wù)處理器然后發(fā)現(xiàn)新的 硬件,計(jì)算真實(shí)位置代碼,并且將該真實(shí)位置代碼傳播給各種內(nèi)部過程、數(shù) 據(jù)結(jié)構(gòu)和利用該正確位置代碼的任何其它組件/設(shè)備/邏輯/應(yīng)用程序,以便正 確引用和訪問FRU。真實(shí)位置代碼的傳播防止主要的系統(tǒng)組件由于位置代碼錯(cuò)配產(chǎn)生錯(cuò)誤。 在完成硬件激活之后,該服務(wù)處理器通知R&V應(yīng)用程序FRU的位置代碼已 經(jīng)改變。該R&V應(yīng)用程序然后將別名位置代碼更新為正確的位置代碼,并 使用該正確的位置代碼來完成并發(fā)安裝流中的剩余的命令。在下面的本發(fā)明的示范性實(shí)施例的詳細(xì)描述中,充分詳細(xì)地描述了可以 實(shí)施本發(fā)明的具體示范性實(shí)施例,使得本領(lǐng)域技術(shù)人員能夠?qū)嵤┍景l(fā)明,并 且要理解,可以利用其它實(shí)施例,而且可以進(jìn)行邏輯、結(jié)構(gòu)、程序、機(jī)械、電和其它的改變而不偏離本發(fā)明的精神或范圍。因此,不以限制的含義進(jìn)行 下面的詳細(xì)描述,并且本發(fā)明的范圍僅僅由權(quán)利要求定義。在附圖的描述中,給類似元件提供了與之前附圖的名稱和標(biāo)號(hào)類似的名 稱和標(biāo)號(hào)。其中隨后的附圖利用在不同環(huán)境中的或者具有不同功能的元件, 給該元件提供表示附圖號(hào)碼的不同的引導(dǎo)數(shù)字(例如,用于圖1的lxx和用 于圖2的2xx)。分配給各元件的具體標(biāo)號(hào)只提供來幫助描述,并且不意味著 暗示對(duì)本發(fā)明的(結(jié)構(gòu)或功能的)任何限制。在本發(fā)明的描述中提供并且利用了某些術(shù)語。這些術(shù)語和它們相應(yīng)的定 義包括如下CM(并發(fā)維護(hù))在計(jì)算機(jī)系統(tǒng)運(yùn)行時(shí),安裝、修復(fù)或移除硬件;HMC (硬件管理控制臺(tái))獨(dú)立控制臺(tái),其經(jīng)由連接到計(jì)算機(jī)的(各) 服務(wù)處理器(用于R&V應(yīng)用程序的代碼運(yùn)行在該處理器上)的網(wǎng)絡(luò)連接, 接口和控制一個(gè)或多個(gè)計(jì)算機(jī)系統(tǒng);R&V(修復(fù)和驗(yàn)證)運(yùn)行在HMC上的應(yīng)用程序,其通過計(jì)算機(jī)系統(tǒng) 的資源的并發(fā)硬件修復(fù)或升級(jí)指導(dǎo)系統(tǒng)管理器;計(jì)算機(jī)系統(tǒng)包括一個(gè)或多個(gè)主管CPU/存儲(chǔ)器/IO資源的節(jié)點(diǎn)、以及用 于為一個(gè)或多個(gè)節(jié)點(diǎn)引導(dǎo)和提供額外服務(wù)的一個(gè)或多個(gè)服務(wù)處理器的系統(tǒng) (見圖1);VPD (重要產(chǎn)品數(shù)據(jù))關(guān)于存儲(chǔ)在嵌入式模塊中的硬件的特定塊的關(guān) 鍵信息; FRU (現(xiàn)場(chǎng)可替換單元)在服務(wù)行為中能夠被替換的、計(jì)算機(jī)系統(tǒng)中 的最小的分開的實(shí)體;以及CM服務(wù)鎖由服務(wù)處理器管理的軟件鎖,用于串行化對(duì)并發(fā)維護(hù)功能 的訪問。要理解,具體術(shù)語和/或參數(shù)名稱的使用僅僅是為了示例,并且不意味著 暗示對(duì)本發(fā)明的任何限制。本發(fā)明因此可以用不同的專門術(shù)語/專門名詞實(shí)現(xiàn)而沒有限制,該專門術(shù)語/專門名詞被利用來描述上面和其它的參數(shù)?,F(xiàn)在參照附圖,圖1描繪了其中本發(fā)明的各特征可以有利地實(shí)現(xiàn)的計(jì)算 機(jī)系統(tǒng)的框圖表示。計(jì)算機(jī)系統(tǒng)100包括中央電子綜合體(CEC) 102, 其包括主機(jī)處理器嵌套(nest) 105、輸入/輸出(I/O)嵌套110、主機(jī)存儲(chǔ) 器112和系統(tǒng)重要產(chǎn)品數(shù)據(jù)(VPD) 115。主機(jī)處理器嵌套105被圖示具有 系統(tǒng)固件140。在系統(tǒng)操作期間,系統(tǒng)固件140被加載到主機(jī)存儲(chǔ)器112中, 并且由主機(jī)處理器嵌套105內(nèi)的一個(gè)或多個(gè)處理器執(zhí)行。系統(tǒng)VPD 115包括 系統(tǒng)序列號(hào)(S/N) 130和服務(wù)處理器(SP) S/N135,其是最后與系統(tǒng)固件 140通信的SP的SN。除了上面的組件外,計(jì)算機(jī)系統(tǒng)IOO還包括至少一個(gè)SP即SP 120,其 連接到1/0嵌套IIO和系統(tǒng)VPD 115。SP 120包括專用CPU 134和存儲(chǔ)器148 (即,閃存或DRAM),其存儲(chǔ)各種SP實(shí)用程序(utility)和其它SP信息, 包括(a) SP自己的S/N 131; ( b )最后的系統(tǒng)S/N 136,其是在SP150最 后一次供電時(shí)SP 150插入的系統(tǒng)的S/N;以及(c) AFLCU實(shí)用程序150, 其在下面描述。此外,SP 120包括SP系統(tǒng)固件142,其執(zhí)行在此描述的并 且一般歸因于SP 120的幾個(gè)功能性特征。SP 120被利用來控制CEC 102內(nèi) 的各組件,并且還初始化并聯(lián)機(jī)(on-line)在并發(fā)安裝操作期間隨后連接到 CEC 102的FRU。圖1還描繪了示例FRU 160,其連接到I/O嵌套105和系 統(tǒng)VPD 115。 FRU 160可以是能夠連接到I/O嵌套105的I/O端口 、并且用 CEC 102的各組件操作的任何設(shè)備。本領(lǐng)域普通技術(shù)人員將意識(shí)到,在圖1中描繪的硬件可以變化。例如, 除了或替代描繪的硬件,也可以使用其它外圍設(shè)備(如光盤驅(qū)動(dòng)器等)。因 此,描繪的示例不意味著暗示對(duì)于本發(fā)明的結(jié)構(gòu)性限制。計(jì)算機(jī)系統(tǒng)IOO可 以被描述為計(jì)算機(jī)系統(tǒng)的具體配置;然而,本發(fā)明的特征可充分應(yīng)用于任何 計(jì)算機(jī)系統(tǒng),并且不局限于描述的計(jì)算機(jī)系統(tǒng)100的配置。因此,計(jì)算機(jī)系
統(tǒng)100可以是例如IBM eServer pSeries系統(tǒng),國際商業(yè)機(jī)器公司(Armonk, N.Y.)的產(chǎn)品。如圖l所示,除了上述的硬件組件外,CEC 102還包括許多軟件組件, 包括操作系統(tǒng)(OS) 155 (例如,高級(jí)交互執(zhí)行體(AIX )(國際商業(yè)機(jī)器 公司的商標(biāo))或GNU /Linux (自由軟件基金會(huì)和Linux標(biāo)記協(xié)會(huì)的注冊(cè) 商標(biāo))和一個(gè)或多個(gè)軟件應(yīng)用程序,包括客戶端實(shí)用程序152??蛻舳藢?shí)用 程序152控制激活電力域(Activate Power Domain )過程,用于提供電力給 各種組件/設(shè)備(如FRU160),如下所述。此外,提供了本發(fā)明的各種特征作為存儲(chǔ)在SP存儲(chǔ)器148內(nèi)、并由SP 的CPU134執(zhí)行的軟件指令。在本發(fā)明特有的軟件指令中是包括用于能夠產(chǎn) 生別名位置代碼的指令、以及用于隨后確定連接的FRU的正確位置代碼并 用正確位置代碼更新系統(tǒng)的指令。為了筒單,將啟用上面的位置代碼特征的 代碼集合體稱為"自動(dòng)FRU位置代碼更新"(AFLCU)實(shí)用程序。在實(shí)際的 實(shí)現(xiàn)中,AFLCU實(shí)用程序可以添加到現(xiàn)有的服務(wù)處理器操作代碼(或固件), 以提供下面描述的各種功能。在實(shí)現(xiàn)中,AFLCU實(shí)用程序150在CPU 134上執(zhí)行。根據(jù)說明性實(shí)施 例,當(dāng)SP的CPU 134執(zhí)行AFLCU實(shí)用程序150時(shí),AFLCU實(shí)用程序150 啟用計(jì)算機(jī)系統(tǒng)100 (圖1),尤其是子系統(tǒng)200 (圖2)以完成各種功能過 程,包括下面描述的和由圖3-5圖示的那些特征和功能。現(xiàn)在特定地回到圖2,根據(jù)說明性實(shí)施例圖示了示例子系統(tǒng)的框圖表示, 在該子系統(tǒng)中產(chǎn)生了 FRU的正確位置代碼,并且FRU當(dāng)前被安裝并且提供 了電力。如所示的,CEC 102包括系列軟件邏輯組件即客戶端152,其連接 到激活電力域265。激活電力域265控制從CEC 102的主電源對(duì)FRU的電 力提供。兩個(gè)FRU被圖示分別連接到多個(gè)電力端口之一。第一FRU,即遺 留(legacy) FRU 240假定在系統(tǒng)設(shè)立(或產(chǎn)生)初始位置代碼組(包括將 來可能連接的FRU的別名位置代碼)時(shí)、連接到CEC 102。這些位置代碼 被存儲(chǔ)在本地位置代碼表267內(nèi)并且還維持在R&V應(yīng)用程序230內(nèi)。第二 FRU,即新的FRU 245假定在已經(jīng)建立初始位置代碼組之后的某個(gè)將來時(shí) 間、連接到CEC 102。每個(gè)FRU 240和245包括對(duì)應(yīng)的VPD。當(dāng)FRU連接到激活電力域265的電力端口之一時(shí),涉及客戶端260和 SP120的系列過程,使得電力能夠經(jīng)由端口提供給FRU。在激活電力域265
內(nèi),與遺留FRU 240連接的第一端口用邏輯"1"標(biāo)注。該邏輯l標(biāo)注指示 哪些端口具有連接的和功能FRU(即,從激活電力域接收電力的安裝的 FRU)。同時(shí)邏輯"0"指示沒有FRU連接到其它端口。這些端口最初被分 配了在此描述的別名位置代碼。要注意的是,新FRU245的端口被顯示為從 邏輯O轉(zhuǎn)換到l,因?yàn)樾碌腇RU連接并且經(jīng)受并發(fā)安裝的過程,其中新的 FRU245被初始化并設(shè)立來在分配了正確的位置代碼之后接收電力。該過程 在下面將進(jìn)一步詳細(xì)描述。圖2還圖示了在SP 120內(nèi)的相關(guān)軟件結(jié)構(gòu)的擴(kuò)展視圖,該SP 120除了 固件142外,還包括AFLCU實(shí)用程序150、 VPD位置代碼244和CM服務(wù) 鎖250.的代碼。AFLCU 150駐留在SP的存儲(chǔ)器(閃存/DRAM)上并且在專 用的SP CPU 134上執(zhí)行。當(dāng)實(shí)施AFLCU功能時(shí),固件142與CEC硬件和 軟件尤其是客戶端152相互作用。下面提供了使用這些軟件組件的更詳細(xì)的 描述。HMC 225經(jīng)由網(wǎng)絡(luò)220耦合到SP 120,從該HMC 225可以激活/啟動(dòng)本 發(fā)明的幾個(gè)特征。HMC 225包括R&V實(shí)用程序230,其是可以在HMC225 內(nèi)提供的不同的使用可靠性應(yīng)用程序的一個(gè)示例。在描述的實(shí)施例中,R&V 實(shí)用程序230 (在此也稱為R&V應(yīng)用程序230 )完成本發(fā)明的描述內(nèi)的、歸 因于HMC 225的特定功能。在流程圖的描述中描述了這樣的方法,通過該 方法,圖示的各組件在整個(gè)系統(tǒng)200內(nèi)相互作用以提供更新本發(fā)明的特征的 位置代碼。圖3-5是根據(jù)說明性實(shí)施例的流程圖,其圖示由AFLCU實(shí)用程序150 和系統(tǒng)200內(nèi)的其它組件完成、以使得新的FRU 245能夠并發(fā)安裝在系統(tǒng) 200上的整組過程的各個(gè)部分。圖3尤其描述了產(chǎn)生和分配別名位置代碼以 響應(yīng)來自R&V應(yīng)用程序230的初始查詢的過程。該過程在塊302開始,在 該塊服務(wù)處理器固件142為每個(gè)(隨后添加的)FRU產(chǎn)生別名位置代碼,該 FRU的位置代碼必須在實(shí)際設(shè)備安裝期間動(dòng)態(tài)地產(chǎn)生。根據(jù)說明性實(shí)施例,別名總是由系統(tǒng)平臺(tái)預(yù)先定義,使得該別名不依賴 于包括在要安裝的FRU內(nèi)的任何信息。如在塊304提供的,服務(wù)處理器120 提供響應(yīng),以查詢用于使用可靠性應(yīng)用程序(如在HMC 225上運(yùn)行的R&V 應(yīng)用程序230 )的命令,來讀取關(guān)于將來可能安裝的FRU的信息。該信息包 括用于這樣的硬件的別名位置代碼。在塊306處確定用戶/系統(tǒng)管理器是否隨后決定安裝由別名位置代碼引用的硬件。如果需要這樣的安裝,則R&V應(yīng)用程序230指令服務(wù)處理器120開始用于要安裝的特定FRU的并發(fā)維護(hù)過 程,如在塊308所示。圖4圖示了這樣的過程,通過該過程,AFLCU實(shí)用程序150用真實(shí)位 置代碼替代最初的別名位置代碼。為了串行化對(duì)并發(fā)維護(hù)功能的訪問,服務(wù) 處理器120維持在此稱為"CM服務(wù)鎖"250的軟件鎖。如在塊402所示, 客戶端152通過傳遞(pass in)位置代碼(除了其它信息/數(shù)據(jù)外),在CM 操作的開始處獲得CM服務(wù)鎖250。因?yàn)榭蛻舳?52在并發(fā)安裝過程中對(duì)所 有其它CM命令發(fā)送相同位置代碼,所以本發(fā)明的一個(gè)重要要求是客戶端 的位置代碼匹配包括在CM服務(wù)鎖250中的位置代碼(即,CM位置代碼)。 另 一個(gè)重要要求是客戶端的位置代碼和CM位置代碼都為正被安裝的FRU 引用最準(zhǔn)確(即正確)的位置代碼。返回到附圖的描述,在通過發(fā)送別名位置代碼獲得CM服務(wù)鎖250之后 (塊402),客戶端260發(fā)出"激活電力域"命令,如在塊404所示。該激活 電力域命令激活主初始化例行程序,以使最近安裝的資源(例如,F(xiàn)RU245 ) 聯(lián)機(jī)。當(dāng)觸發(fā)激活電力域命令時(shí),如在塊406確定的,過程將異步事件返回 到R&V應(yīng)用程序230以指示所述命令是否成功完成,如在塊408所示。命 令的成功完成指示FRU正確地安裝并且正在接收電力。圖5現(xiàn)在圖示這樣的過程,通過該過程,AFLCU實(shí)用程序150(與客戶 端152—起操作,該客戶端152控制激活電力域命令),用FRU的真實(shí)位置 代碼替代它的別名位置代碼。在該描述中,通過執(zhí)行AFLCU實(shí)用程序150 提供的某些過程觸發(fā)其它過程(如客戶端152的操作)的執(zhí)行。為了描述的 清楚,過程的主要部分被描述為由AFLCU實(shí)用程序150完成,盡管要意識(shí) 到,其它組件可以有助于完成AFLCU實(shí)用程序150的次要過程。由圖5描述的過程在塊502處開始,其圖示了系統(tǒng)管理器以及使用R&V 應(yīng)用程序230開始新FRU (例如,F(xiàn)RU 245 )的安裝。在描述的實(shí)施例中, 該安裝由將FRU連接到系統(tǒng)的端口之一的系統(tǒng)管理器的觸發(fā)。R&V應(yīng)用程 序230然后指令服務(wù)處理器激活FRU,并且R&V應(yīng)用程序230在激活請(qǐng)求 內(nèi)轉(zhuǎn)送別名位置代碼。在檢測(cè)到新的FRU安裝時(shí),客戶端260開始"激活 電力域"命令處理,如在塊504所示。當(dāng)服務(wù)處理器接收激活請(qǐng)求以及別名位置代碼時(shí),服務(wù)處理器執(zhí)行
AFLCU實(shí)用程序150,其從最近安裝的FRU的VPD模塊讀取相關(guān)的數(shù)據(jù)字 段,如在506塊所示。然后,如在塊508描繪的,AFLCU實(shí)用程序150利 用來自數(shù)據(jù)字段的信息來動(dòng)態(tài)構(gòu)造/產(chǎn)生正確的位置代碼。在構(gòu)造/產(chǎn)生正確 的位置代碼之后,AFLCU實(shí)用程序150用正確的位置代碼替代服務(wù)處理器 的內(nèi)部VPD表144中的別名位置代碼,如在塊510提供的。在塊512 , AFLCU 實(shí)用程序150確定所述正確的位置代碼是否不同于別名位置代碼。如果正確 的位置代碼沒有不同,則AFLCU實(shí)用程序150啟用客戶端152和固件,以 完成并發(fā)安裝而不更新(別名)位置代碼,如在塊516所示。然而,如果正確的位置代碼不同于別名位置代碼,則AFLCU實(shí)用程序 首先用正確的位置代碼替代VPD位置代碼表244中的別名位置代碼,如在 塊514提供的。接著,在塊518, AFLCU實(shí)用程序150鎖定CM服務(wù)鎖數(shù) 據(jù)結(jié)構(gòu)(250 ),并且用正確的位置代碼替換在CM服務(wù)鎖數(shù)據(jù)結(jié)構(gòu)(250 ) 內(nèi)的別名位置代碼。根據(jù)本發(fā)明,該替換對(duì)防止所有將來的CM命令的故障 是必要的,因?yàn)镃M服務(wù)鎖的位置代碼否則將不匹配VPD表內(nèi)的位置代碼。 替換過程還要求鎖定CM服務(wù)鎖數(shù)據(jù)結(jié)構(gòu)以確保極小的(atomic)更新。一旦AFLCU實(shí)用程序150完成對(duì)CM服務(wù)鎖數(shù)據(jù)結(jié)構(gòu)的更新,AFLCU 實(shí)用程序150就解鎖CM服務(wù)鎖數(shù)據(jù)結(jié)構(gòu),如在塊520所示。此外,因?yàn)樵?激活電力域命令內(nèi)的本地位置代碼表267還包括別名位置代碼,所以AFLCU 實(shí)用程序150將本地位置代碼表267 (或CM位置代碼)更新為正確的位置 代碼,如在塊522所示。該本地位置代碼表267的更新確保當(dāng)前正在執(zhí)行的 激活電力域命令實(shí)例內(nèi)的將來操作,不與現(xiàn)在更新的CM服務(wù)鎖250沖突。在FRU已經(jīng)被初始化后,AFLCU實(shí)用程序150將新位置代碼返回給激 活電力域命令已完成的異步事件中的R&V230,如塊524所示。該激活電力 域命令然后對(duì)CM流中的剩余的命令利用新位置代碼(代替所述別名),包 括提供電力給FRU,如在塊526所示。通過利用新位置代碼,激活電力域 265因此避免與更新的CM服務(wù)鎖250沖突。激活電力域命令處理和并發(fā)安 裝操作然后在終止塊528結(jié)束。除了上述的方法外,本發(fā)明的延伸涉及在某些情形中的不同方法的使 用。現(xiàn)在提供兩種這樣的方法在第一種更簡(jiǎn)單的方法中,在所有環(huán)境中甚至當(dāng)真實(shí)位置代碼可以確定 時(shí)利用別名位置代碼。該解決方案在一定程度有效,但是可能引入關(guān)于使用
可靠性的問題。因?yàn)槲恢么a將經(jīng)常不正確,所以由于由別名引用的硬件中 的故障產(chǎn)生的任何錯(cuò)誤日志記錄將不會(huì)被正確地報(bào)告。在第二種方法中,服務(wù)處理器的固件142在并發(fā)安裝期間和之后,簡(jiǎn)單 地維護(hù)別名位置代碼到真實(shí)位置代碼的映射(因?yàn)檎鎸?shí)位置代碼被動(dòng)態(tài)發(fā) 現(xiàn))。該第二種方法從功能性角度比第一種方法更好。然而,第二種方法要 求設(shè)計(jì)的復(fù)雜度大得多,因?yàn)樗邢嚓P(guān)的組件必須能夠處理多個(gè)位置代碼和 相對(duì)應(yīng)的別名位置代碼的映射。給定上面的方法和傳統(tǒng)的方法,在實(shí)現(xiàn)本發(fā)明時(shí)認(rèn)識(shí)到某些優(yōu)點(diǎn)。這些優(yōu)點(diǎn)中的3個(gè)包括(1 )本發(fā)明的應(yīng)用范圍在本地,其降低了系統(tǒng)復(fù)雜度。 與如上所述的第二種替代方法相比,代碼實(shí)現(xiàn)僅僅影響少數(shù)的內(nèi)部組件,這 實(shí)際上是普遍的;(2)該應(yīng)用實(shí)現(xiàn)了最高可能的位置代碼精確度,因?yàn)樵撍?法更新了所有組件,其一旦確定了正確位置代碼時(shí)就利用該位置代碼。精確 的程度超過了由如上所述的第一種替代方法提供的程度;(3)最后,本發(fā)明 的應(yīng)用確保錯(cuò)誤報(bào)告將為試圖重新安裝的硬件的任何故障,提供準(zhǔn)確的使用 可靠性信息。本發(fā)明解決了現(xiàn)有的并發(fā)維護(hù)過程發(fā)現(xiàn)的問題,其允許在系統(tǒng)正在運(yùn)行 時(shí)將新硬件現(xiàn)場(chǎng)可替換單元(FRU)添加到系統(tǒng)。計(jì)算機(jī)系統(tǒng)因此能夠激活 FRU并且開始在操作系統(tǒng)內(nèi)使用FRU,根本不要求任何系統(tǒng)停用。本發(fā)明 通過提供別名位置代碼來觸發(fā)并發(fā)安裝、然后利用服務(wù)處理器內(nèi)以及使用可 靠性應(yīng)用程序內(nèi)的正確位置代碼動(dòng)態(tài)更新別名位置代碼,消除了在應(yīng)用程序 支持/執(zhí)行并發(fā)硬件安裝之前、要求固件將正確的位置代碼信息報(bào)告給使用可 靠性應(yīng)用程序的問題。作為最后的問題,重要的是,盡管已經(jīng)并且將繼續(xù)在安裝了軟件的完全 功能的計(jì)算機(jī)系統(tǒng)的環(huán)境中描述本發(fā)明的說明性實(shí)施例,但是本領(lǐng)域技術(shù)人 員將意識(shí)到,本發(fā)明的說明性實(shí)施例的軟件方面能夠分發(fā)為各種形式的程序 產(chǎn)品,并且本發(fā)明的說明性實(shí)施例同等地應(yīng)用,而不管用來實(shí)際實(shí)現(xiàn)該分發(fā) 的信號(hào)承載介質(zhì)的特定類型。信號(hào)承載介質(zhì)的示例包括可記錄類型介質(zhì)(如 軟盤、硬盤驅(qū)動(dòng)器、CD ROM)和傳輸類型介質(zhì)(如數(shù)字和模擬通信鏈路)。盡管已經(jīng)參照優(yōu)選實(shí)施例特定地顯示并描述了本發(fā)明,但是本領(lǐng)域技術(shù) 人員將理解,在其中可以進(jìn)行各種形式和細(xì)節(jié)的改變,而不偏離本發(fā)明的精神和范圍。
權(quán)利要求
1.在包括服務(wù)處理器(SP)、系統(tǒng)固件、以及控制將電力分配到連接的各硬件設(shè)備的激活電力域的計(jì)算機(jī)系統(tǒng)中,一種方法包括為可能隨后連接到所述計(jì)算機(jī)系統(tǒng)的設(shè)備分配別名位置代碼;以及當(dāng)在并發(fā)安裝過程期間該設(shè)備隨后連接時(shí)自動(dòng)確定設(shè)備的正確位置代碼;以及在利用設(shè)備的正確位置代碼的每個(gè)過程和系統(tǒng)組件,動(dòng)態(tài)地用正確位置代碼替換別名位置代碼,以完成涉及該設(shè)備的隨后操作和并發(fā)安裝。
2. 如權(quán)利要求1所述的方法,其中所述分配包括經(jīng)由服務(wù)處理器固件 產(chǎn)生該設(shè)備的別名位置代碼,該設(shè)備的正確位置代碼在將來時(shí)間的并發(fā)安裝 期間動(dòng)態(tài)產(chǎn)生,其中所述別名位置代碼由系統(tǒng)平臺(tái)預(yù)先定義,并且不依賴于 隨后安裝的設(shè)備中包括的信息。
3. 如權(quán)利要求2所述的方法,還包括響應(yīng)于從修復(fù)和驗(yàn)證(R&V)使用可靠性應(yīng)用程序接收查詢,將回答消 息提供給使用可靠性應(yīng)用程序,所述查詢請(qǐng)求有關(guān)安裝的設(shè)備和其它可能隨 后安裝的設(shè)備的信息,所述回答消息包括可能隨后安裝的每個(gè)其它設(shè)備的別 名位置代碼。
4. 如權(quán)利要求3所述的方法,其中,當(dāng)對(duì)其它設(shè)備之一請(qǐng)求并發(fā)安裝 時(shí),所述自動(dòng)確定正確位置代碼包括檢測(cè)設(shè)備的物理耦合;從設(shè)備的重要產(chǎn)品數(shù)據(jù)(VPD)模塊讀取相關(guān)數(shù)據(jù)字段;以及 使用來自數(shù)據(jù)字段的信息動(dòng)態(tài)地構(gòu)造正確位置代碼。
5. 如權(quán)利要求l所述的方法,其中所述動(dòng)態(tài)替代別名位置代碼包括 用正確位置代碼替換SP的內(nèi)部VPD位置表中的別名位置代碼; 確定正確位置代碼是否不同于別名位置代碼;以及當(dāng)正確位置代碼不同于別名位置代碼時(shí)鎖定CM服務(wù)鎖數(shù)據(jù)結(jié)構(gòu)以確保極小的更新;用正確位置代碼替換CM服務(wù)鎖數(shù)據(jù)結(jié)構(gòu)內(nèi)的別名位置代碼;以及解鎖CM服務(wù)鎖數(shù)據(jù)結(jié)構(gòu)。
6. 如權(quán)利要求5所述的方法,還包括 將激活電力域的本地位置代碼表更新為正確位置代碼;利用正確位置代碼動(dòng)態(tài)開始激活電力域命令處理;以及 利用從本地位置代碼表接收的正確位置代碼激活電力從激活電力域到 設(shè)備,其中在所述設(shè)備連接的正確位置處給所述設(shè)備供電用于操作。
7. 如權(quán)利要求6所述的方法,其中所述自動(dòng)開始包括在SP的CM服務(wù)鎖處接收請(qǐng)求的信息,該信息包括由CM服務(wù)鎖操作 請(qǐng)求來開始并發(fā)維護(hù)功能的位置代碼,其中所述SP通過維護(hù)CM服務(wù)鎖串 行化對(duì)并發(fā)維護(hù)功能的訪問;通過傳遞包括位置代碼的SP的請(qǐng)求的信息,使得客戶端過程在CM操 作的開始能夠獲得CM服務(wù)鎖;當(dāng)CM服務(wù)鎖傳遞所述設(shè)備的正確位置代碼并且由客戶端過程獲取時(shí), 發(fā)出激活電力域命令以激活使得該設(shè)備聯(lián)機(jī)的初始化例行程序;以及當(dāng)設(shè)備的初始化例行程序完成時(shí)將正確位置代碼轉(zhuǎn)發(fā)給在"激活電力域命令完成"的異步事件中的R&V 應(yīng)用程序,以在R&V應(yīng)用程序處替換別名位置代碼;以及使得激活電力域命令能夠?qū)M流中的隨后的命令利用正確位置代碼, 包括給FRU提供電力。
8. —種系統(tǒng),包括服務(wù)處理器(SP),其具有專用處理器和服務(wù)處理器固件; 互連組件的集合,包括耦合到SP并且由SP監(jiān)視和控制的1/0、處理器 和存儲(chǔ)器;用于將設(shè)備并發(fā)安裝到處理組件的集合的裝置;以及 位置代碼更新(AFLCU)實(shí)用程序,其由SP的專用處理器執(zhí)行以提供 下面的功能過程為可能隨后連接到計(jì)算機(jī)系統(tǒng)的設(shè)備分配別名位置代碼;以及 當(dāng)在并發(fā)安裝過程期間設(shè)備隨后連接時(shí) 自動(dòng)確定設(shè)備的正確位置代碼;以及在利用設(shè)備的正確位置代碼的每個(gè)過程和系統(tǒng)組件,動(dòng)態(tài)地用正確 位置代碼替換別名位置代碼,以完成涉及該設(shè)備的隨后操作和并發(fā)安裝。
9. 如權(quán)利要求8所述的系統(tǒng),其中所述分配由AFLCU實(shí)用程序的程序 方法提供,其還包括 用于經(jīng)由服務(wù)處理器固件產(chǎn)生每個(gè)設(shè)備的不同的別名位置代碼的程序 方法,該設(shè)備的正確位置代碼在將來時(shí)間的并發(fā)安裝期間動(dòng)態(tài)產(chǎn)生,其中所 述別名位置代碼由系統(tǒng)平臺(tái)預(yù)先定義,并且不依賴于隨后安裝的設(shè)備中包括 的信息;以及用于響應(yīng)于從修復(fù)和驗(yàn)證(R&V)使用可靠性應(yīng)用程序接收查詢、將回答消息提供給使用可靠性應(yīng)用程序的程序方法,所述查詢請(qǐng)求有關(guān)安裝的設(shè) 備和其它可能隨后安裝的設(shè)備的信息,所述回答消息包括可能隨后安裝的每 個(gè)其它設(shè)備的別名位置代碼。
10. 如權(quán)利要求9所述的系統(tǒng),其中所述AFLCU實(shí)用程序還包括 用于接收請(qǐng)求其它設(shè)備之一的并發(fā)安裝請(qǐng)求的程序方法; 用于檢測(cè)其它設(shè)備的物理耦合的程序方法;以及 利用下面用于完成所述動(dòng)態(tài)確定正確位置代碼的程序方法從其它設(shè)備的重要產(chǎn)品數(shù)據(jù)(VPD)模塊讀取相關(guān)數(shù)據(jù)字段;以及 使用來自數(shù)據(jù)字段的信息動(dòng)態(tài)構(gòu)造正確位置代碼。
11. 如權(quán)利要求8所述的系統(tǒng),其中用于動(dòng)態(tài)替代別名位置代碼的所述 AFLCU實(shí)用程序內(nèi)的程序方法還包括用于用正確位置代碼替換SP的內(nèi)部VPD位置表中的別名位置代碼的程 序方法;用于確定正確位置代碼是否不同于別名位置代碼的程序方法;以及當(dāng)正確位置代碼不同于別名位置代碼時(shí)用于鎖定CM服務(wù)鎖數(shù)據(jù)結(jié)構(gòu)以確保極小的更新的程序方法; 用于用正確位置代碼替換CM服務(wù)鎖數(shù)據(jù)結(jié)構(gòu)內(nèi)的別名位置代碼的程序方法;以及用于解鎖CM服務(wù)鎖數(shù)據(jù)結(jié)構(gòu)的程序方法。
12. 如權(quán)利要求11所述的系統(tǒng),其中所述互連組件的集合包括控制給一 個(gè)或多個(gè)連接的設(shè)備分配電力的激 活電力域;以及所述AFLCU實(shí)用程序還包括用于將激活電力域的本地位置代碼表更新為正確位置代碼的程序 裝置;用于自動(dòng)開始激活電力域命令處理以響應(yīng)用所述正確位置代碼更新的程序裝置;以及用于利用從本地位置代碼表接收的正確位置代碼激活電力從激活 電力域到設(shè)備的程序方法,其中在所述另 一設(shè)備連接的正確位置處給所述設(shè)備供電用于操作。
13.如權(quán)利要求12所述的系統(tǒng),其中所述用于自動(dòng)開始的程序方法包括用于在SP的CM服務(wù)鎖處接收包括由CM服務(wù)鎖操作請(qǐng)求的位置代碼 的信息、用來啟動(dòng)并發(fā)維護(hù)功能的程序方法,其中所述SP通過維護(hù)CM服 務(wù)鎖串行化對(duì)并發(fā)維護(hù)功能的訪問;用于通過傳遞包括正確位置代碼的請(qǐng)求的信息、使得客戶端過程能夠在 CM操作的開始獲得CM服務(wù)鎖的程序方法;當(dāng)CM服務(wù)鎖接收所述設(shè)備的正確位置代碼并由客戶端過程獲取時(shí),用 于發(fā)出激活電力域命令以激活使得該另 一設(shè)備聯(lián)機(jī)的初始化例行程序的程 序方法;以及當(dāng)設(shè)備的初始化例行程序完成時(shí)用于將正確位置代碼轉(zhuǎn)發(fā)給在"激活電力域命令完成"的異步事件中的 R&V應(yīng)用程序、以在R&V應(yīng)用程序處替換別名位置代碼的程序方法;以及用于使得激活電力域命令能夠?yàn)镃M流中的隨后的命令利用正確位置 代碼的程序方法,所述隨后的命令包括提供電力給FRU。
全文摘要
在為附接到和/或可能附接到計(jì)算機(jī)系統(tǒng)的現(xiàn)場(chǎng)可替換單元(FRU)最初產(chǎn)生/分配位置代碼期間,服務(wù)處理器為每個(gè)當(dāng)前沒有附接的FRU提供別名位置代碼。當(dāng)服務(wù)處理器隨后檢測(cè)到FRU的并發(fā)安裝時(shí),服務(wù)處理器的固件根據(jù)從FRU檢索的數(shù)據(jù)產(chǎn)生正確位置代碼,并且用正確位置代碼替換存儲(chǔ)在服務(wù)處理器的內(nèi)部數(shù)據(jù)結(jié)構(gòu)內(nèi)的別名位置代碼。該固件還將正確位置代碼轉(zhuǎn)發(fā)回給使用可靠性應(yīng)用程序,并且該應(yīng)用程序在所有剩余的并發(fā)安裝命令中利用新位置代碼,以維護(hù)系統(tǒng)的單一、一致的形象。
文檔編號(hào)G06F9/445GK101162431SQ20071014964
公開日2008年4月16日 申請(qǐng)日期2007年9月10日 優(yōu)先權(quán)日2006年10月10日
發(fā)明者卡尼沙·帕特爾, 厄蘭德·洛, 尼古拉斯·E·博費(fèi)丁 申請(qǐng)人:國際商業(yè)機(jī)器公司