專(zhuān)利名稱(chēng):用于計(jì)算機(jī)系統(tǒng)中的多個(gè)分區(qū)的錯(cuò)誤監(jiān)視的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)系統(tǒng)中的分區(qū)的錯(cuò)誤監(jiān)視。
背景技術(shù):
在具有多個(gè)分區(qū)的數(shù)據(jù)處理系統(tǒng)中,如果分區(qū)由于一個(gè)或多個(gè)錯(cuò)誤而停止,則不能立即或很快地獲得有關(guān)一個(gè)或多個(gè)錯(cuò)誤的性質(zhì)和起因的信息。因此,從一個(gè)或多個(gè)錯(cuò)誤成功地恢復(fù)可能很困難,或者不得不被推遲到分區(qū)的下一次成功重新引導(dǎo)時(shí)。因此,需要一種促進(jìn)從一個(gè)或多個(gè)錯(cuò)誤及時(shí)恢復(fù)分區(qū)的方法。
發(fā)明內(nèi)容
本發(fā)明提供了一種用于計(jì)算機(jī)系統(tǒng)中的多個(gè)分區(qū)的錯(cuò)誤監(jiān)視的方法,每個(gè)分區(qū)都具有其自己的操作系統(tǒng),所述計(jì)算機(jī)系統(tǒng)包括在所述操作系統(tǒng)之間或之中調(diào)停的系統(tǒng)管理程序,所述方法包括執(zhí)行存儲(chǔ)在所述計(jì)算機(jī)系統(tǒng)的至少一個(gè)計(jì)算機(jī)可用介質(zhì)上的計(jì)算機(jī)可讀程序代碼,所述執(zhí)行包括提供以一對(duì)一映射的方式將每個(gè)分區(qū)與從所述多個(gè)分區(qū)選擇的監(jiān)控者分區(qū)相關(guān)聯(lián)的全局監(jiān)控者映射(GSM);為所述多個(gè)分區(qū)中的每個(gè)分區(qū)提供分區(qū)狀態(tài)緩沖區(qū)(PSB),所述分區(qū)狀態(tài)緩沖區(qū)指示所述分區(qū)的狀態(tài),所述狀態(tài)從包括BAD狀態(tài)和NOCARE狀態(tài)的狀態(tài)組來(lái)選擇,所述BAD狀態(tài)表示所述分區(qū)遇到了至少一個(gè)當(dāng)前未修復(fù)的錯(cuò)誤;由所述監(jiān)控者分區(qū)中的第一監(jiān)控者分區(qū)確定與所述全局監(jiān)控者映射中的所述第一監(jiān)控者分區(qū)關(guān)聯(lián)的分區(qū),該分區(qū)與被表示為受監(jiān)控分區(qū)的所述第一監(jiān)控者分區(qū)關(guān)聯(lián);
從所述分區(qū)狀態(tài)緩沖區(qū)確定所述受監(jiān)控分區(qū)的狀態(tài);如果所述確定步驟確定所述受監(jiān)控分區(qū)的狀態(tài)不是BAD狀態(tài),則退出所述方法,否則執(zhí)行恢復(fù)過(guò)程,所述恢復(fù)過(guò)程包括由所述第一監(jiān)控者分區(qū)獲得訪(fǎng)問(wèn)所述受監(jiān)控分區(qū)的物理和邏輯資源的許可;由所述第一監(jiān)控者分區(qū)收集與所述受監(jiān)控分區(qū)有關(guān)的錯(cuò)誤數(shù)據(jù),從所述受監(jiān)控分區(qū)的所述物理和邏輯資源進(jìn)行所述收集;以及在所述分區(qū)狀態(tài)緩沖區(qū)中將所述受監(jiān)控分區(qū)的狀態(tài)設(shè)置為NOCARE狀態(tài)。
本發(fā)明提供了一種計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品包括至少一個(gè)其中包含計(jì)算機(jī)可讀程序代碼的計(jì)算機(jī)可用介質(zhì),所述計(jì)算機(jī)可讀程序代碼包括算法,所述算法適合于實(shí)現(xiàn)用于監(jiān)視計(jì)算機(jī)系統(tǒng)中的多個(gè)分區(qū)的方法,每個(gè)分區(qū)都具有其自己的操作系統(tǒng),所述計(jì)算機(jī)系統(tǒng)包括在所述操作系統(tǒng)之間或之中調(diào)停的系統(tǒng)管理程序,所述方法包括提供以一對(duì)一映射的方式將每個(gè)分區(qū)與從所述多個(gè)分區(qū)選擇的監(jiān)控者分區(qū)相關(guān)聯(lián)的全局監(jiān)控者映射(GSM);為所述多個(gè)分區(qū)中的每個(gè)分區(qū)提供分區(qū)狀態(tài)緩沖區(qū)(PSB),所述分區(qū)狀態(tài)緩沖區(qū)指示所述分區(qū)的狀態(tài),所述狀態(tài)從包括BAD狀態(tài)和NOCARE狀態(tài)的狀態(tài)組來(lái)選擇,所述BAD狀態(tài)表示所述分區(qū)遇到了至少一個(gè)當(dāng)前未修復(fù)的錯(cuò)誤;由所述監(jiān)控者分區(qū)中的第一監(jiān)控者分區(qū)確定與所述全局監(jiān)控者映射中的所述第一監(jiān)控者分區(qū)關(guān)聯(lián)的分區(qū),該分區(qū)與被表示為受監(jiān)控分區(qū)的所述第一監(jiān)控者分區(qū)關(guān)聯(lián);從所述分區(qū)狀態(tài)緩沖區(qū)確定所述受監(jiān)控分區(qū)的狀態(tài);如果所述確定步驟確定所述受監(jiān)控分區(qū)的狀態(tài)不是BAD狀態(tài),則退出所述方法,否則執(zhí)行恢復(fù)過(guò)程,所述恢復(fù)過(guò)程包括由所述第一監(jiān)控者分區(qū)獲得訪(fǎng)問(wèn)所述受監(jiān)控分區(qū)的物理和邏輯資源的許可;由所述第一監(jiān)控者分區(qū)收集與所述受監(jiān)控分區(qū)有關(guān)的錯(cuò)誤數(shù)據(jù),從所述受監(jiān)控分區(qū)的所述物理和邏輯資源進(jìn)行所述收集;以及在所述分區(qū)狀態(tài)緩沖區(qū)中將所述受監(jiān)控分區(qū)的狀態(tài)設(shè)置為NOCARE狀態(tài)。
本發(fā)明有利地促進(jìn)了從與分區(qū)有關(guān)的錯(cuò)誤及時(shí)地恢復(fù)計(jì)算機(jī)系統(tǒng)的所述分區(qū)。
圖1示出了根據(jù)本發(fā)明的實(shí)施例的計(jì)算機(jī)系統(tǒng)的分區(qū)、系統(tǒng)管理程序和共享存儲(chǔ)器資源;圖2示出了根據(jù)本發(fā)明的實(shí)施例的圖1的系統(tǒng)管理程序;圖3示出了根據(jù)本發(fā)明的實(shí)施例的圖1的一個(gè)分區(qū);圖4示出了根據(jù)本發(fā)明的實(shí)施例的包括全局監(jiān)控者映射和錯(cuò)誤日志區(qū)域的圖1的共享存儲(chǔ)器資源;圖5示出了根據(jù)本發(fā)明的實(shí)施例的其中具有錯(cuò)誤表項(xiàng)的圖4的錯(cuò)誤日志區(qū)域;圖6示出了根據(jù)本發(fā)明的實(shí)施例的圖5的錯(cuò)誤表項(xiàng)中的內(nèi)容;圖7示出了根據(jù)本發(fā)明的實(shí)施例的圖4的全局監(jiān)控者映射;圖8示出了根據(jù)本發(fā)明的實(shí)施例的圖2的分區(qū)狀態(tài)緩沖區(qū);圖9示出了根據(jù)本發(fā)明的實(shí)施例的與分區(qū)的錯(cuò)誤監(jiān)視結(jié)合使用的計(jì)算機(jī)系統(tǒng);圖10-13示出了根據(jù)本發(fā)明的實(shí)施例的共同描述了用于分區(qū)的錯(cuò)誤監(jiān)視的方法的流程圖。
具體實(shí)施例方式
本發(fā)明描述了一種包括檢測(cè)和報(bào)告分區(qū)錯(cuò)誤的分區(qū)錯(cuò)誤監(jiān)視方法。所述錯(cuò)誤可以導(dǎo)致分區(qū)出現(xiàn)故障(即,變得不能工作)。圖1-9描述了作為本發(fā)明的基礎(chǔ)的硬件、軟件和數(shù)據(jù)結(jié)構(gòu)。圖10-13示出了共同描述了用于計(jì)算機(jī)系統(tǒng)中的分區(qū)的錯(cuò)誤監(jiān)視的本發(fā)明的方法的流程圖。
圖1示出了根據(jù)本發(fā)明的實(shí)施例的計(jì)算機(jī)系統(tǒng)10的N個(gè)分區(qū)、系統(tǒng)系統(tǒng)管理程序12和共享存儲(chǔ)器資源36。計(jì)算機(jī)系統(tǒng)10還具有硬件配置(即,處理器、存儲(chǔ)設(shè)備、輸入/輸出設(shè)備等),其中例如以下描述的圖9中的計(jì)算機(jī)系統(tǒng)90中示出的硬件配置。在圖1中,所述分區(qū)被表示為分區(qū)1、分區(qū)2、…、分區(qū)N,其中N至少是2。每個(gè)分區(qū)都共享整個(gè)計(jì)算機(jī)系統(tǒng)10的資源(處理器、存儲(chǔ)器、輸入/輸出等)以便所述分區(qū)適合于用作具有其自己的操作系統(tǒng)的自主計(jì)算機(jī)系統(tǒng)。系統(tǒng)管理程序12調(diào)停分區(qū)之間的數(shù)據(jù)移動(dòng)、控制分區(qū)之間的數(shù)據(jù)訪(fǎng)問(wèn)以及防止某一分區(qū)的存儲(chǔ)器由于其他分區(qū)中錯(cuò)誤而受到損害。如以下將描述的,結(jié)合本發(fā)明的分區(qū)錯(cuò)誤監(jiān)視方法來(lái)使用系統(tǒng)管理程序12。
共享存儲(chǔ)器資源36可以包括非易失性隨機(jī)存取存儲(chǔ)器(NVRAM)。共享存儲(chǔ)器資源36位于所述N個(gè)分區(qū)之外并被所述N個(gè)分區(qū)所共享。共享存儲(chǔ)器資源36的內(nèi)容將結(jié)合圖4在以下進(jìn)行描述。
每個(gè)分區(qū)都具有從包括GOOD狀態(tài)、BAD狀態(tài)和NOCARE狀態(tài)的一組狀態(tài)中選擇的狀態(tài)。在任意給定時(shí)刻,分區(qū)只具有一個(gè)狀態(tài)。如以下描述的,每個(gè)分區(qū)的狀態(tài)被存儲(chǔ)在圖2和8的分區(qū)狀態(tài)緩沖區(qū)(PSB)26中。具有GOOD狀態(tài)的分區(qū)沒(méi)有遇到當(dāng)前未修復(fù)的錯(cuò)誤。具有BAD狀態(tài)的分區(qū)遇到了至少一個(gè)當(dāng)前未修復(fù)的錯(cuò)誤。具有NOCARE狀態(tài)的分區(qū)被指派了NOCARE狀態(tài)(如下所述,參見(jiàn)圖12的步驟64)以響應(yīng)判定該分區(qū)具有BAD狀態(tài)(如下所述,參見(jiàn)圖11的步驟53)。具有NOCARE狀態(tài)的分區(qū)的事件掃描例程將不會(huì)執(zhí)行圖13的算法,其中圖13將在以下進(jìn)行描述。因此,遇到至少一個(gè)當(dāng)前未修復(fù)的錯(cuò)誤的分區(qū)可以具有BAD狀態(tài)(在圖12的步驟64的執(zhí)行之前)或NOCARE狀態(tài)(在圖12的步驟64的執(zhí)行時(shí))。當(dāng)修復(fù)具有NOCARE狀態(tài)的分區(qū)遇到的所述至少一個(gè)錯(cuò)誤時(shí),該分區(qū)被指派GOOD狀態(tài)(其替代了NOCARE狀態(tài))。
每個(gè)分區(qū)的狀態(tài)被存儲(chǔ)在系統(tǒng)管理程序12(參見(jiàn)圖2,將在以下描述)內(nèi)的分區(qū)狀態(tài)緩沖區(qū)26中。分區(qū)狀態(tài)緩沖區(qū)26包括分別對(duì)應(yīng)于N個(gè)分區(qū)的N個(gè)存儲(chǔ)區(qū)域,以便N個(gè)存儲(chǔ)區(qū)域的存儲(chǔ)區(qū)域K存儲(chǔ)分區(qū)K的狀態(tài),K=1、2、…、N。圖8示出了20個(gè)分區(qū)(即,N=20)的情況下的分區(qū)狀態(tài)緩沖區(qū)26的一個(gè)實(shí)例,其中根據(jù)本發(fā)明的實(shí)施例來(lái)存儲(chǔ)20個(gè)分區(qū)中的每個(gè)分區(qū)的狀態(tài)(GOOD、BAD或NOCARE)。存儲(chǔ)在分區(qū)狀態(tài)緩沖區(qū)26中的狀態(tài)可以是任何格式。例如,N個(gè)存儲(chǔ)區(qū)域中的每個(gè)存儲(chǔ)區(qū)域都可以包括用于每個(gè)分區(qū)的一個(gè)字節(jié)的存儲(chǔ)器。每個(gè)這樣的存儲(chǔ)器字節(jié)都包括足夠的位來(lái)表示最大的可能狀態(tài)數(shù)(例如,每個(gè)字節(jié)包括至少2個(gè)位以用于3種狀態(tài)GOOD、BAD和NOCARE,這3種狀態(tài)可以分別被表示為00、01和02)。作為另一個(gè)實(shí)例,可以通過(guò)字符串來(lái)表示所述狀態(tài)(例如,狀態(tài)GOOD、BAD和NOCARE可以被分別表示為“G”、“B”或“N”,或被分別表示為“GOOD”、“BAD”或“NOCARE”)。當(dāng)計(jì)算機(jī)系統(tǒng)10(參見(jiàn)圖1)引導(dǎo)時(shí),由系統(tǒng)管理程序12將N個(gè)分區(qū)的狀態(tài)初始地指派給分區(qū)狀態(tài)緩沖區(qū)26。當(dāng)系統(tǒng)管理程序12檢測(cè)到分區(qū)狀態(tài)的更改時(shí),分區(qū)狀態(tài)緩沖區(qū)26被更新。
在本發(fā)明中,每個(gè)分區(qū)都被另一個(gè)稱(chēng)為“監(jiān)控者分區(qū)”的分區(qū)所監(jiān)控(即,監(jiān)視)。換言之,“監(jiān)控者分區(qū)”監(jiān)控(即,監(jiān)視)“受監(jiān)控分區(qū)”以確定所述受監(jiān)控分區(qū)具有何種狀態(tài)(例如,GOOD、BAD或NOCARE)。如下文所述,如圖4的共享存儲(chǔ)器資源36內(nèi)的全局監(jiān)控者映射(GSM)24中所指定的,受監(jiān)控分區(qū)與關(guān)聯(lián)的監(jiān)控者分區(qū)之間存在一對(duì)一的對(duì)應(yīng)(即,映射)。全局監(jiān)控者映射24可以以任何格式(如算法或數(shù)據(jù)結(jié)構(gòu))來(lái)表達(dá)。所述算法適合于生成全局監(jiān)控者映射24中受監(jiān)控分區(qū)與對(duì)應(yīng)的監(jiān)控者分區(qū)之間的映射關(guān)系。所述數(shù)據(jù)結(jié)構(gòu)可以包括文件、表、算法等。例如,圖7示出了根據(jù)本發(fā)明的實(shí)施例的作為表的全局監(jiān)控者映射24,該表顯示了受監(jiān)控分區(qū)與關(guān)聯(lián)的監(jiān)控者分區(qū)之間的示例性一對(duì)一關(guān)系。圖7中示出的全局監(jiān)控者映射24是“升序順序分區(qū)號(hào)映射”的一個(gè)實(shí)施例。圖7中的全局監(jiān)控者映射24可以出于任何原因(例如,其中包括為說(shuō)明被破壞并且不再用作監(jiān)控者分區(qū)的分區(qū))而被動(dòng)態(tài)地更改。例如,當(dāng)分區(qū)獲得BAD狀態(tài)時(shí),圖7中的全局監(jiān)控者映射24可以被動(dòng)態(tài)地更改。作為另一個(gè)實(shí)例,圖7中的全局監(jiān)控者映射24可以被動(dòng)態(tài)地更改為“升序順序分區(qū)號(hào)映射”的更通用的實(shí)施例,其中監(jiān)控者分區(qū)被動(dòng)態(tài)地指派從低到高的編號(hào),使得下一個(gè)較高編號(hào)的分區(qū)成為先前較低編號(hào)的GOOD分區(qū)(即,具有GOOD狀態(tài)的分區(qū))的監(jiān)控者,并且最高編號(hào)的GOOD分區(qū)使最低編號(hào)的GOOD分區(qū)作為其監(jiān)控者。
圖2示出了根據(jù)本發(fā)明的實(shí)施例的圖1的系統(tǒng)管理程序12。系統(tǒng)管理程序12包括分區(qū)狀態(tài)緩沖區(qū)26(如上所述)、分區(qū)狀態(tài)固件例程16以及訪(fǎng)問(wèn)許可固件例程14。分區(qū)狀態(tài)緩沖區(qū)26根據(jù)以下描述的圖11的步驟52來(lái)確定分區(qū)1、2、…、N的狀態(tài)(GOOD、BAD、NOCARE)。系統(tǒng)管理程序12還包括訪(fǎng)問(wèn)許可固件例程14,該例程14根據(jù)以下描述的圖12的步驟61許可“監(jiān)控者”分區(qū)(其可以是分區(qū)1、2…、N中的任何分區(qū))訪(fǎng)問(wèn)“受監(jiān)控”分區(qū)的資源。
圖3示出了根據(jù)本發(fā)明的實(shí)施例的表示圖1的N個(gè)分區(qū)中的任何分區(qū)的分區(qū)30。分區(qū)30包括硬件32、操作系統(tǒng)33和事件掃描例程34。硬件32(即,處理器、存儲(chǔ)器、輸入/輸出等)與必要的軟件一起足以使得分區(qū)30能夠用作自主的計(jì)算機(jī)系統(tǒng)。在以下對(duì)圖9的討論中,分區(qū)30的硬件32將涉及計(jì)算機(jī)系統(tǒng)90的硬件。操作系統(tǒng)33是軟件包的一部分,其與硬件32一起使得分區(qū)30能夠用作自主的計(jì)算機(jī)系統(tǒng)。如以下將描述的,事件掃描例程34與本發(fā)明的分區(qū)錯(cuò)誤監(jiān)視方法結(jié)合使用。
圖4示出了圖1的共享存儲(chǔ)器資源36。根據(jù)本發(fā)明的實(shí)施例,共享存儲(chǔ)器資源36包括全局監(jiān)控者映射24和N個(gè)錯(cuò)誤日志區(qū)域(ELA)。共享存儲(chǔ)器資源36可以包括一個(gè)物理數(shù)據(jù)存儲(chǔ)設(shè)備的存儲(chǔ)區(qū)域以便存儲(chǔ)全局監(jiān)控者映射24和N個(gè)錯(cuò)誤日志區(qū)域。共享存儲(chǔ)器資源36可以可替代地將全局監(jiān)控者映射24和N個(gè)錯(cuò)誤日志區(qū)域存儲(chǔ)在多個(gè)物理數(shù)據(jù)存儲(chǔ)設(shè)備的存儲(chǔ)區(qū)域中。如上所述,圖7提供了示出了全局監(jiān)控者映射24的一個(gè)實(shí)例。
在圖4中,N個(gè)錯(cuò)誤日志區(qū)域被表示為錯(cuò)誤日志區(qū)域(1)、錯(cuò)誤日志區(qū)域(2)、…、錯(cuò)誤日志區(qū)域(N),其分別與圖1的分區(qū)1、分區(qū)2…分區(qū)N相關(guān)聯(lián)。錯(cuò)誤日志區(qū)域(I)包括與為分區(qū)I(其中I=1、2…、N)先前檢測(cè)的一個(gè)或多個(gè)錯(cuò)誤有關(guān)的信息和/或與以下描述的分區(qū)I監(jiān)控的故障分區(qū)有關(guān)的一個(gè)或多個(gè)錯(cuò)誤。圖4中的N個(gè)錯(cuò)誤日志區(qū)域中的每個(gè)區(qū)域都可以是存儲(chǔ)數(shù)據(jù)的任何數(shù)據(jù)格式(如,文件格式、記錄格式等)。圖4中的N個(gè)錯(cuò)誤日志區(qū)域中的每個(gè)區(qū)域都可以被相鄰地存儲(chǔ)在共享存儲(chǔ)器資源36中。圖4中的N個(gè)錯(cuò)誤日志區(qū)域可以可替代地被不相鄰地存儲(chǔ)在共享存儲(chǔ)器資源36中(例如,對(duì)于連續(xù)的錯(cuò)誤表項(xiàng)具有固定的地址偏移量,通過(guò)從某個(gè)錯(cuò)誤表項(xiàng)指向下一個(gè)連續(xù)錯(cuò)誤表項(xiàng)的指針等)。以下將結(jié)合圖5和6披露N個(gè)錯(cuò)誤日志區(qū)域中的每個(gè)區(qū)域的內(nèi)容。
圖5示出了根據(jù)本發(fā)明的實(shí)施例的表示圖4的N個(gè)錯(cuò)誤日志區(qū)域中的任何區(qū)域的錯(cuò)誤日志區(qū)域(ELA)38。錯(cuò)誤日志區(qū)域38具有M個(gè)錯(cuò)誤表項(xiàng),表項(xiàng)(1)、表項(xiàng)(2)、…、表項(xiàng)(M),其中M=0或M是正整數(shù)。如果M=0,則錯(cuò)誤日志區(qū)域38為空;即,錯(cuò)誤日志區(qū)域38不包括任何錯(cuò)誤表項(xiàng)。圖5中的M個(gè)錯(cuò)誤表項(xiàng)可以是存儲(chǔ)數(shù)據(jù)的任何數(shù)據(jù)格式(即,文件格式、記錄格式、公共硬件參考平臺(tái)(CHRP)格式等)并且可以相鄰地或不相鄰地分布在錯(cuò)誤日志區(qū)域38內(nèi)。錯(cuò)誤日志區(qū)域38中的每個(gè)錯(cuò)誤表項(xiàng)都屬于與錯(cuò)誤日志區(qū)域38關(guān)聯(lián)的分區(qū)中的單個(gè)檢測(cè)的錯(cuò)誤情況。所述單個(gè)檢測(cè)的錯(cuò)誤情況可以屬于分區(qū)中導(dǎo)致分區(qū)發(fā)生故障的錯(cuò)誤,或?qū)儆诜謪^(qū)中不會(huì)導(dǎo)致分區(qū)發(fā)生故障的錯(cuò)誤。
圖6示出了根據(jù)本發(fā)明的實(shí)施例的圖5的M個(gè)錯(cuò)誤表項(xiàng)中的任何表項(xiàng)的數(shù)據(jù)內(nèi)容。圖6示出了錯(cuò)誤表項(xiàng)包括以下項(xiàng)分區(qū)標(biāo)識(shí)符(PI)和錯(cuò)誤描述符(ED)。PI和ED項(xiàng)可以相鄰地或不相鄰地分布在錯(cuò)誤日志區(qū)域38內(nèi)。分區(qū)標(biāo)識(shí)符(PI)標(biāo)識(shí)了具有檢測(cè)到的錯(cuò)誤的分區(qū)。錯(cuò)誤描述符(ED)描述了所述分區(qū)的檢測(cè)到的錯(cuò)誤。錯(cuò)誤描述符可以是用于描述檢測(cè)到的錯(cuò)誤的任何格式。例如,錯(cuò)誤描述符可以包括代表特定錯(cuò)誤情況的單個(gè)ASCII字符。作為另一個(gè)實(shí)例,錯(cuò)誤描述符可以包括一般地標(biāo)識(shí)錯(cuò)誤(例如,輸入/輸出錯(cuò)誤)的第一部分和包含更具體地描述錯(cuò)誤(例如,諸如光盤(pán)驅(qū)動(dòng)器之類(lèi)的指定輸入/輸出數(shù)據(jù)存儲(chǔ)設(shè)備的電源被禁用)的文本的第二部分。
圖9示出了根據(jù)本發(fā)明的實(shí)施例的與分區(qū)的錯(cuò)誤監(jiān)視結(jié)合使用的計(jì)算機(jī)系統(tǒng)。計(jì)算機(jī)系統(tǒng)90包括圖3的分區(qū)30的硬件32。計(jì)算機(jī)系統(tǒng)90包括處理器91、與處理器91相連的輸入設(shè)備92、與處理器91相連的輸出設(shè)備93以及都與處理器91相連的存儲(chǔ)設(shè)備94和95。輸入設(shè)備92可以是鍵盤(pán)、鼠標(biāo)等。輸出設(shè)備93可以是打印機(jī)、繪圖儀、計(jì)算機(jī)屏幕、磁帶、可移動(dòng)硬盤(pán)、軟盤(pán)等。存儲(chǔ)設(shè)備94和95可以是硬盤(pán)、軟盤(pán)、磁帶、光學(xué)存儲(chǔ)裝置(如光盤(pán)(CD)或數(shù)字視頻光盤(pán)(DVD))、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)、只讀存儲(chǔ)器(ROM)等。存儲(chǔ)設(shè)備95包括計(jì)算機(jī)代碼97。計(jì)算機(jī)代碼97包括與分區(qū)的錯(cuò)誤監(jiān)視結(jié)合使用的算法。處理器91執(zhí)行計(jì)算機(jī)代碼97。存儲(chǔ)設(shè)備94包括輸入數(shù)據(jù)96。輸入數(shù)據(jù)96包括計(jì)算機(jī)代碼97所需的輸入。輸出設(shè)備93顯示來(lái)自計(jì)算機(jī)代碼97的輸出。存儲(chǔ)設(shè)備94和95之一或兩者(或者一個(gè)或多個(gè)圖9中未示出的其他存儲(chǔ)設(shè)備)可以被用作其中包含計(jì)算機(jī)可讀程序代碼和/或其中存儲(chǔ)有其他數(shù)據(jù)的計(jì)算機(jī)可用介質(zhì)(或計(jì)算機(jī)可讀介質(zhì)或程序存儲(chǔ)設(shè)備),其中所述計(jì)算機(jī)可讀程序代碼包括計(jì)算機(jī)代碼97。通常,計(jì)算機(jī)系統(tǒng)90的計(jì)算機(jī)程序產(chǎn)品(或者,可替代地,制品)可以包括所述計(jì)算機(jī)可用介質(zhì)(或所述程序存儲(chǔ)設(shè)備)。雖然圖9示出了作為硬件和軟件的特定配置的計(jì)算機(jī)系統(tǒng)90,但是出于上述目的,如本領(lǐng)域的技術(shù)人員公知的硬件和軟件的任何配置都可以與圖9的特定計(jì)算機(jī)系統(tǒng)90結(jié)合使用。例如,存儲(chǔ)設(shè)備94和95可以是單個(gè)存儲(chǔ)設(shè)備的一部分,而不是單獨(dú)的存儲(chǔ)設(shè)備。
圖9的計(jì)算機(jī)系統(tǒng)90描述了圖1的總體計(jì)算機(jī)系統(tǒng)10的硬件配置,其中圖1的總體計(jì)算機(jī)系統(tǒng)10包括N個(gè)分區(qū),并且其中圖9中的計(jì)算機(jī)代碼97表示圖1的總體計(jì)算機(jī)系統(tǒng)10所使用的任何軟件(例如,圖1的系統(tǒng)管理程序12)。圖9的計(jì)算機(jī)系統(tǒng)90還描述了圖3的分區(qū)30的硬件32,其中圖9中的計(jì)算機(jī)代碼97表示圖3的分區(qū)30所使用的任何軟件(例如,圖3中的操作系統(tǒng)33和事件掃描例程34)。因此,共同實(shí)現(xiàn)本發(fā)明的分區(qū)錯(cuò)誤監(jiān)視方法的總體計(jì)算機(jī)代碼或軟件可以位于至少一個(gè)計(jì)算機(jī)可用介質(zhì)上。圖1的N個(gè)分區(qū)可以共享圖9中示出的某些硬件資源(例如,圖1中的共享存儲(chǔ)器資源36,其可以由圖9的存儲(chǔ)設(shè)備94和95中的至少一個(gè)來(lái)表示)。
圖10-13示出了根據(jù)本發(fā)明的實(shí)施例的共同描述了用于計(jì)算機(jī)系統(tǒng)中的分區(qū)的錯(cuò)誤監(jiān)視的方法的流程圖。由圖7的一個(gè)或多個(gè)計(jì)算機(jī)代碼97來(lái)實(shí)現(xiàn)與圖10-13關(guān)聯(lián)的算法。
圖10是包括初始化本發(fā)明的分區(qū)錯(cuò)誤監(jiān)視方法的步驟41-43的流程圖。步驟41提供了已經(jīng)結(jié)合圖4和7在以上描述的全局監(jiān)控者映射24。如以上說(shuō)明的,在步驟41中被最初地生成之后,全局監(jiān)控者映射24可以被動(dòng)態(tài)地更改。步驟42提供了已經(jīng)結(jié)合圖2和8在以上描述的分區(qū)狀態(tài)緩沖區(qū)26。如以上說(shuō)明的,當(dāng)系統(tǒng)管理程序12檢測(cè)到分區(qū)的狀態(tài)時(shí),分區(qū)狀態(tài)緩沖區(qū)26被更新。步驟43提供了已經(jīng)結(jié)合圖4-6在以上描述的N個(gè)錯(cuò)誤日志區(qū)域(即,錯(cuò)誤日志區(qū)域(1)、錯(cuò)誤日志區(qū)域(2)、…、錯(cuò)誤日志區(qū)域(N))。在執(zhí)行了圖10的初始化步驟41-43后,每個(gè)監(jiān)控者分區(qū)被定期地執(zhí)行,或按照?qǐng)D11根據(jù)調(diào)度算法來(lái)執(zhí)行。
圖11是包括由每個(gè)監(jiān)控者分區(qū)執(zhí)行的步驟51-53的流程圖。在步驟51中,監(jiān)控者分區(qū)調(diào)用其事件掃描例程來(lái)確定該監(jiān)控者分區(qū)被指派進(jìn)行監(jiān)控的受監(jiān)控分區(qū)。所述監(jiān)控者分區(qū)通過(guò)直接分析全局監(jiān)控者映射24來(lái)從全局監(jiān)控者映射24(參見(jiàn)圖4和7)確定受監(jiān)控分區(qū),或者通過(guò)調(diào)用方法(例如,調(diào)用圖1的系統(tǒng)管理程序12的子程序)從全局監(jiān)控者映射24的分析來(lái)確定受監(jiān)控分區(qū)。
在圖11的步驟52中,監(jiān)控者分區(qū)確定受監(jiān)控分區(qū)的狀態(tài)(例如,GOOD、BAD或NOCARE狀態(tài))。為了確定受監(jiān)控分區(qū)的狀態(tài),監(jiān)控者分區(qū)的事件掃描例程調(diào)用系統(tǒng)管理程序12的分區(qū)狀態(tài)固件例程16(參見(jiàn)圖2)。分區(qū)狀態(tài)固件例程16從分區(qū)狀態(tài)緩沖區(qū)26(參見(jiàn)圖2和8)的分析來(lái)確定受監(jiān)控分區(qū)的狀態(tài)。
步驟53判定受監(jiān)控分區(qū)的狀態(tài)是否為BAD狀態(tài)。如果判定受監(jiān)控分區(qū)的狀態(tài)不是BAD狀態(tài),則退出圖12的方法。如果判定受監(jiān)控分區(qū)的狀態(tài)是BAD狀態(tài),則接著執(zhí)行圖12的恢復(fù)過(guò)程。
圖12是包括用于實(shí)現(xiàn)恢復(fù)過(guò)程(由于圖11的步驟53中的受監(jiān)控分區(qū)具有BAD狀態(tài)的判定,其意味著受監(jiān)控分區(qū)遇到了至少一個(gè)當(dāng)前未修復(fù)的錯(cuò)誤)的步驟61-64的流程圖。圖12的恢復(fù)過(guò)程通過(guò)使監(jiān)控者分區(qū)訪(fǎng)問(wèn)來(lái)自受監(jiān)控分區(qū)的資源的有關(guān)數(shù)據(jù)來(lái)促進(jìn)所述至少一個(gè)錯(cuò)誤的修復(fù)。
在步驟61中,監(jiān)控者分區(qū)調(diào)用系統(tǒng)管理程序12(參見(jiàn)圖2)的訪(fǎng)問(wèn)許可固件例程14以獲得訪(fǎng)問(wèn)受監(jiān)控分區(qū)的物理和邏輯資源(例如,存儲(chǔ)器、硬件寄存器等)的許可。在被許可所述訪(fǎng)問(wèn)時(shí),受監(jiān)控分區(qū)進(jìn)入監(jiān)控模式,使得監(jiān)控者分區(qū)被系統(tǒng)管理程序12看作受監(jiān)控分區(qū)。
在步驟62中,處于監(jiān)控模式中的監(jiān)控者分區(qū)通過(guò)查看具有BAD狀態(tài)的受監(jiān)控分區(qū)的物理和邏輯資源(例如,存儲(chǔ)器和寄存器)來(lái)執(zhí)行錯(cuò)誤檢查。在從受監(jiān)控分區(qū)的物理和邏輯資源(例如,存儲(chǔ)器數(shù)據(jù)和寄存器轉(zhuǎn)儲(chǔ))收集了相關(guān)的錯(cuò)誤數(shù)據(jù)后,監(jiān)控者分區(qū)退出監(jiān)控模式并將所述錯(cuò)誤數(shù)據(jù)傳送給自身(即,傳送給監(jiān)控者分區(qū))。
在步驟63中,監(jiān)控者分區(qū)在所述監(jiān)控者分區(qū)的錯(cuò)誤日志區(qū)域中生成錯(cuò)誤日志(例如,以CHRP格式或其他適合的格式)。所述生成的錯(cuò)誤日志包括與發(fā)生故障的受監(jiān)控分區(qū)有關(guān)的、從步驟62中收集(從受監(jiān)控分區(qū)的物理和邏輯資源)的相關(guān)錯(cuò)誤數(shù)據(jù)得出的信息。例如,生成的日志可以包括在步驟62中收集的相關(guān)錯(cuò)誤數(shù)據(jù)的子集和/或其標(biāo)識(shí)。如以下描述的,生成的錯(cuò)誤日志被與圖13的步驟71-72結(jié)合使用。
在步驟64中,監(jiān)控者分區(qū)將受監(jiān)控分區(qū)的狀態(tài)設(shè)置為NOCARE狀態(tài)以防止監(jiān)控者分區(qū)進(jìn)入監(jiān)控模式。
圖13是包括步驟71-72的流程圖,所述步驟由監(jiān)控者分區(qū)的錯(cuò)誤掃描例程執(zhí)行以獲得和報(bào)告來(lái)自監(jiān)控者分區(qū)(與以上所述的圖12中的恢復(fù)過(guò)程的步驟63中生成的錯(cuò)誤日志有關(guān))的錯(cuò)誤日志區(qū)域中的表項(xiàng)的內(nèi)容。
圖13的步驟71掃描監(jiān)控者分區(qū)的錯(cuò)誤日志區(qū)域以查找已經(jīng)在圖12的步驟63中的監(jiān)控者分區(qū)的錯(cuò)誤日志區(qū)域中生成的受監(jiān)控分區(qū)的錯(cuò)誤日志。步驟71標(biāo)識(shí)與受監(jiān)控分區(qū)有關(guān)的錯(cuò)誤表項(xiàng)。
圖13的步驟72將與受監(jiān)控分區(qū)(如從步驟71確定的)有關(guān)的每個(gè)錯(cuò)誤表項(xiàng)報(bào)告給監(jiān)控者分區(qū)的操作系統(tǒng)。所述錯(cuò)誤表項(xiàng)的報(bào)告使得管理員或用戶(hù)能夠采取糾正操作來(lái)修復(fù)導(dǎo)致受監(jiān)控分區(qū)獲得BAD狀態(tài)的錯(cuò)誤。這使得錯(cuò)誤表項(xiàng)(參見(jiàn)圖6)的錯(cuò)誤描述符(ED)中的錯(cuò)誤的詳細(xì)信息在受監(jiān)控分區(qū)遇到錯(cuò)誤后不久就可用。
盡管出于示例目的在此描述了本發(fā)明的各實(shí)施例,但是對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),許多修改和變化將是顯而易見(jiàn)的。因此,所附權(quán)利要求旨在包括落入本發(fā)明的真實(shí)精神和范圍內(nèi)的所有這些修改和變化。
權(quán)利要求
1.一種用于計(jì)算機(jī)系統(tǒng)中的多個(gè)分區(qū)的錯(cuò)誤監(jiān)視的方法,每個(gè)分區(qū)都具有其自己的操作系統(tǒng),所述計(jì)算機(jī)系統(tǒng)包括在所述操作系統(tǒng)之間或之中調(diào)停的系統(tǒng)管理程序,所述方法包括執(zhí)行存儲(chǔ)在所述計(jì)算機(jī)系統(tǒng)的至少一個(gè)計(jì)算機(jī)可用介質(zhì)上的計(jì)算機(jī)可讀程序代碼,所述執(zhí)行包括提供以一對(duì)一映射的方式將每個(gè)分區(qū)與從所述多個(gè)分區(qū)選擇的監(jiān)控者分區(qū)相關(guān)聯(lián)的全局監(jiān)控者映射;為所述多個(gè)分區(qū)中的每個(gè)分區(qū)提供分區(qū)狀態(tài)緩沖區(qū),所述分區(qū)狀態(tài)緩沖區(qū)指示所述分區(qū)的狀態(tài),所述狀態(tài)從包括BAD狀態(tài)和NOCARE狀態(tài)的狀態(tài)組來(lái)選擇,所述BAD狀態(tài)表示所述分區(qū)遇到了至少一個(gè)當(dāng)前未修復(fù)的錯(cuò)誤;由所述監(jiān)控者分區(qū)中的第一監(jiān)控者分區(qū)確定與所述全局監(jiān)控者映射中的所述第一監(jiān)控者分區(qū)關(guān)聯(lián)的分區(qū),該分區(qū)與被表示為受監(jiān)控分區(qū)的所述第一監(jiān)控者分區(qū)關(guān)聯(lián);從所述分區(qū)狀態(tài)緩沖區(qū)確定所述受監(jiān)控分區(qū)的狀態(tài);如果所述確定步驟確定所述受監(jiān)控分區(qū)的狀態(tài)不是BAD狀態(tài),則退出所述方法,否則執(zhí)行恢復(fù)過(guò)程,所述恢復(fù)過(guò)程包括由所述第一監(jiān)控者分區(qū)獲得訪(fǎng)問(wèn)所述受監(jiān)控分區(qū)的物理和邏輯資源的許可;由所述第一監(jiān)控者分區(qū)收集與所述受監(jiān)控分區(qū)有關(guān)的錯(cuò)誤數(shù)據(jù),從所述受監(jiān)控分區(qū)的所述物理和邏輯資源進(jìn)行所述收集;以及在所述分區(qū)狀態(tài)緩沖區(qū)中將所述受監(jiān)控分區(qū)的狀態(tài)設(shè)置為NOCARE狀態(tài)。
2.根據(jù)權(quán)利要求1的方法,其中所述方法還包括在所述第一監(jiān)控者分區(qū)的錯(cuò)誤日志區(qū)域中存儲(chǔ)與從所述受監(jiān)控分區(qū)的所述物理和邏輯資源收集的所述錯(cuò)誤數(shù)據(jù)有關(guān)的信息,所述存儲(chǔ)由所述第一監(jiān)控者分區(qū)來(lái)執(zhí)行。
3.根據(jù)權(quán)利要求2的方法,其中所述方法還包括掃描所述第一監(jiān)控者分區(qū)的所述錯(cuò)誤日志區(qū)域以查找一個(gè)或多個(gè)錯(cuò)誤表項(xiàng)的存在,所述錯(cuò)誤表項(xiàng)包括與從所述受監(jiān)控分區(qū)的所述物理和邏輯資源收集的所述錯(cuò)誤數(shù)據(jù)有關(guān)的信息;以及報(bào)告包括由所述掃描確定為存在的所述一個(gè)或多個(gè)錯(cuò)誤表項(xiàng)中的每個(gè)錯(cuò)誤表項(xiàng)的信息。
4.根據(jù)權(quán)利要求3的方法,其中所述多個(gè)分區(qū)中的每個(gè)分區(qū)都具有事件掃描例程,并且其中所述掃描和報(bào)告由所述第一監(jiān)控者分區(qū)的所述事件掃描例程來(lái)執(zhí)行。
5.根據(jù)權(quán)利要求3的方法,其中所述報(bào)告包括將所述信息報(bào)告給所述第一監(jiān)控者分區(qū)的所述操作系統(tǒng)。
6.根據(jù)權(quán)利要求1的方法,其中所述方法還包括在所述多個(gè)分區(qū)引導(dǎo)時(shí)初始化所述分區(qū)狀態(tài)緩沖區(qū)。
7.根據(jù)權(quán)利要求1的方法,其中所述方法還包括在所述多個(gè)分區(qū)中的一個(gè)分區(qū)的狀態(tài)被更改時(shí)更新所述分區(qū)狀態(tài)緩沖區(qū)。
8.根據(jù)權(quán)利要求1的方法,其中對(duì)于所述多個(gè)分區(qū)中的每個(gè)分區(qū),所述分區(qū)狀態(tài)緩沖區(qū)都包括一個(gè)字節(jié)的存儲(chǔ)器。
9.根據(jù)權(quán)利要求1的方法,其中所述確定包括由所述第一監(jiān)控者分區(qū)調(diào)用所述系統(tǒng)管理程序的分區(qū)狀態(tài)固件例程。
10.根據(jù)權(quán)利要求9的方法,其中所述多個(gè)分區(qū)中的每個(gè)分區(qū)都具有事件掃描例程,并且其中所述調(diào)用由所述第一監(jiān)控者分區(qū)的所述事件掃描例程來(lái)執(zhí)行。
11.根據(jù)權(quán)利要求1的方法,其中所述全局監(jiān)控者映射是升序順序分區(qū)號(hào)映射。
12.根據(jù)權(quán)利要求1的方法,其中所述方法還包括當(dāng)所述多個(gè)分區(qū)中的一個(gè)分區(qū)獲得所述BAD狀態(tài)時(shí)更改所述全局監(jiān)控者映射。
13.根據(jù)權(quán)利要求1的方法,其中所述獲得訪(fǎng)問(wèn)許可包括調(diào)用所述系統(tǒng)管理程序的訪(fǎng)問(wèn)許可固件例程。
14.根據(jù)權(quán)利要求1的方法,其中所述全局監(jiān)控者映射包含在數(shù)據(jù)結(jié)構(gòu)中,并且其中所述數(shù)據(jù)結(jié)構(gòu)位于所述計(jì)算機(jī)系統(tǒng)的共享存儲(chǔ)器資源中。
15.根據(jù)權(quán)利要求14的方法,其中所述共享存儲(chǔ)器資源包括非易失性隨機(jī)存取存儲(chǔ)器。
16.一種計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品包括至少一個(gè)其中包含計(jì)算機(jī)可讀程序代碼的計(jì)算機(jī)可用介質(zhì),所述計(jì)算機(jī)可讀程序代碼包括算法,所述算法適合于實(shí)現(xiàn)用于監(jiān)視計(jì)算機(jī)系統(tǒng)中的多個(gè)分區(qū)的方法,每個(gè)分區(qū)都具有其自己的操作系統(tǒng),所述計(jì)算機(jī)系統(tǒng)包括在所述操作系統(tǒng)之間或之中調(diào)停的系統(tǒng)管理程序,所述方法包括提供以一對(duì)一映射的方式將每個(gè)分區(qū)與從所述多個(gè)分區(qū)選擇的監(jiān)控者分區(qū)相關(guān)聯(lián)的全局監(jiān)控者映射;為所述多個(gè)分區(qū)中的每個(gè)分區(qū)提供分區(qū)狀態(tài)緩沖區(qū),所述分區(qū)狀態(tài)緩沖區(qū)指示所述分區(qū)的狀態(tài),所述狀態(tài)從包括BAD狀態(tài)和NOCARE狀態(tài)的狀態(tài)組來(lái)選擇,所述BAD狀態(tài)表示所述分區(qū)遇到了至少一個(gè)當(dāng)前未修復(fù)的錯(cuò)誤;由所述監(jiān)控者分區(qū)中的第一監(jiān)控者分區(qū)確定與所述全局監(jiān)控者映射中的所述第一監(jiān)控者分區(qū)關(guān)聯(lián)的分區(qū),該分區(qū)與被表示為受監(jiān)控分區(qū)的所述第一監(jiān)控者分區(qū)關(guān)聯(lián);從所述分區(qū)狀態(tài)緩沖區(qū)確定所述受監(jiān)控分區(qū)的狀態(tài);如果所述確定步驟確定所述受監(jiān)控分區(qū)的狀態(tài)不是BAD狀態(tài),則退出所述方法,否則執(zhí)行恢復(fù)過(guò)程,所述恢復(fù)過(guò)程包括由所述第一監(jiān)控者分區(qū)獲得訪(fǎng)問(wèn)所述受監(jiān)控分區(qū)的物理和邏輯資源的許可;由所述第一監(jiān)控者分區(qū)收集與所述受監(jiān)控分區(qū)有關(guān)的錯(cuò)誤數(shù)據(jù),從所述受監(jiān)控分區(qū)的所述物理和邏輯資源進(jìn)行所述收集;以及在所述分區(qū)狀態(tài)緩沖區(qū)中將所述受監(jiān)控分區(qū)的狀態(tài)設(shè)置為NOCARE狀態(tài)。
17.根據(jù)權(quán)利要求16的計(jì)算機(jī)程序產(chǎn)品,其中所述方法還包括在所述第一監(jiān)控者分區(qū)的錯(cuò)誤日志區(qū)域中存儲(chǔ)與從所述受監(jiān)控分區(qū)的所述物理和邏輯資源收集的所述錯(cuò)誤數(shù)據(jù)有關(guān)的信息,所述存儲(chǔ)由所述第一監(jiān)控者分區(qū)來(lái)執(zhí)行。
18.根據(jù)權(quán)利要求17的計(jì)算機(jī)程序產(chǎn)品,其中所述方法還包括掃描所述第一監(jiān)控者分區(qū)的所述錯(cuò)誤日志區(qū)域以查找一個(gè)或多個(gè)錯(cuò)誤表項(xiàng)的存在,所述錯(cuò)誤表項(xiàng)包括與從所述受監(jiān)控分區(qū)的所述物理和邏輯資源收集的所述錯(cuò)誤數(shù)據(jù)有關(guān)的信息;以及報(bào)告包括由所述掃描確定為存在的所述一個(gè)或多個(gè)錯(cuò)誤表項(xiàng)中的每個(gè)錯(cuò)誤表項(xiàng)的信息。
19.根據(jù)權(quán)利要求18的計(jì)算機(jī)程序產(chǎn)品,其中所述多個(gè)分區(qū)中的每個(gè)分區(qū)都具有事件掃描例程,并且其中所述掃描和報(bào)告由所述第一監(jiān)控者分區(qū)的所述事件掃描例程來(lái)執(zhí)行。
20.根據(jù)權(quán)利要求18的計(jì)算機(jī)程序產(chǎn)品,其中所述報(bào)告包括將所述信息報(bào)告給所述第一監(jiān)控者分區(qū)的所述操作系統(tǒng)。
21.根據(jù)權(quán)利要求16的計(jì)算機(jī)程序產(chǎn)品,其中所述方法還包括在所述多個(gè)分區(qū)引導(dǎo)時(shí)初始化所述分區(qū)狀態(tài)緩沖區(qū)。
22.根據(jù)權(quán)利要求16的計(jì)算機(jī)程序產(chǎn)品,其中所述方法還包括在所述多個(gè)分區(qū)中的一個(gè)分區(qū)的狀態(tài)被更改時(shí)更新所述分區(qū)狀態(tài)緩沖區(qū)。
23.根據(jù)權(quán)利要求16的計(jì)算機(jī)程序產(chǎn)品,其中對(duì)于所述多個(gè)分區(qū)中的每個(gè)分區(qū),所述分區(qū)狀態(tài)緩沖區(qū)都包括一個(gè)字節(jié)的存儲(chǔ)器。
24.根據(jù)權(quán)利要求16的計(jì)算機(jī)程序產(chǎn)品,其中所述確定包括由所述第一監(jiān)控者分區(qū)調(diào)用所述系統(tǒng)管理程序的分區(qū)狀態(tài)固件例程。
25.根據(jù)權(quán)利要求24的計(jì)算機(jī)程序產(chǎn)品,其中所述多個(gè)分區(qū)中的每個(gè)分區(qū)都具有事件掃描例程,并且其中所述調(diào)用由所述第一監(jiān)控者分區(qū)的所述事件掃描例程來(lái)執(zhí)行。
26.根據(jù)權(quán)利要求16的計(jì)算機(jī)程序產(chǎn)品,其中所述全局監(jiān)控者映射是升序順序分區(qū)號(hào)映射。
27.根據(jù)權(quán)利要求16的計(jì)算機(jī)程序產(chǎn)品,其中所述方法還包括當(dāng)所述多個(gè)分區(qū)中的一個(gè)分區(qū)獲得所述BAD狀態(tài)時(shí)更改所述全局監(jiān)控者映射。
28.根據(jù)權(quán)利要求16的計(jì)算機(jī)程序產(chǎn)品,其中所述獲得訪(fǎng)問(wèn)許可包括調(diào)用所述系統(tǒng)管理程序的訪(fǎng)問(wèn)許可固件例程。
29.根據(jù)權(quán)利要求16的計(jì)算機(jī)程序產(chǎn)品,其中所述全局監(jiān)控者映射包含在數(shù)據(jù)結(jié)構(gòu)中,并且其中所述數(shù)據(jù)結(jié)構(gòu)位于所述計(jì)算機(jī)系統(tǒng)的共享存儲(chǔ)器資源中。
30.根據(jù)權(quán)利要求29的計(jì)算機(jī)程序產(chǎn)品,其中所述共享存儲(chǔ)器資源包括非易失性隨機(jī)存取存儲(chǔ)器。
全文摘要
一種用于計(jì)算機(jī)系統(tǒng)中的分區(qū)的錯(cuò)誤監(jiān)視的方法和計(jì)算機(jī)程序產(chǎn)品。全局監(jiān)控者映射(GSM)將每個(gè)受監(jiān)控分區(qū)與監(jiān)視所述受監(jiān)控分區(qū)的監(jiān)控者分區(qū)相關(guān)聯(lián)。分區(qū)狀態(tài)緩沖區(qū)(PSB)指示所述分區(qū)的狀態(tài)(GOOD、BAD、NOCARE)。所述BAD狀態(tài)表示所述分區(qū)遇到了至少一個(gè)當(dāng)前未修復(fù)的錯(cuò)誤。所述監(jiān)控者分區(qū)從所述全局監(jiān)控者映射來(lái)確定其受監(jiān)控分區(qū)并從所述分區(qū)狀態(tài)緩沖區(qū)來(lái)確定其受監(jiān)控分區(qū)的狀態(tài)。如果所述受監(jiān)控分區(qū)的狀態(tài)為BAD,則所述監(jiān)控者分區(qū)執(zhí)行恢復(fù)過(guò)程。所述恢復(fù)過(guò)程包括獲得訪(fǎng)問(wèn)所述受監(jiān)控分區(qū)的物理和邏輯資源的許可,所述資源包含所述受監(jiān)控分區(qū)的錯(cuò)誤數(shù)據(jù);收集所述錯(cuò)誤數(shù)據(jù);以及將所述受監(jiān)控分區(qū)的狀態(tài)設(shè)置為所述NOCARE狀態(tài)。
文檔編號(hào)G06F11/14GK1801106SQ20061000032
公開(kāi)日2006年7月12日 申請(qǐng)日期2006年1月4日 優(yōu)先權(quán)日2005年1月4日
發(fā)明者P·R·孔達(dá)耶里, R·K·庫(kù)爾卡尼, M·米斯拉 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司