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