專利名稱:同步控制設(shè)備、信息處理設(shè)備以及同步管理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種同步控制設(shè)備、信息處理設(shè)備以及同步管理方法。
背景技術(shù):
在當前的大規(guī)模和關(guān)鍵任務(wù)的服務(wù)器系統(tǒng)中,通過使硬件配置冗余而使得整個 系統(tǒng)不會由于硬件故障等停止是已知的。因此,對于中央處理單元(Central Processing Unit, CPU),也開發(fā)了冗余CPU技術(shù),其中具有相同配置的多個CPU被預先嵌入到系統(tǒng)中。 總有兩個CPU同時實施相同的處理,來自可選的CPU的處理結(jié)果被輸出到外部。在任意一 個CPU出錯的情況下,將出錯的CPU與系統(tǒng)隔離,而剩余的一個正常CPU繼續(xù)處理,并將來 自正常CPU的處理結(jié)果輸出到外部。 自然地,可能存在以下情況不是由于硬件故障而只是由于軟件錯誤,通過一個 CPU執(zhí)行的處理被延遲或掛起,由此造成多個CPU之間的同步延遲。在此情況下,可能出現(xiàn) 以下情況可以根據(jù)錯誤的程度,通過立即停止其中發(fā)生異常的CPU并在發(fā)生異常的CPU中 再現(xiàn)(初始化)正常CPU的內(nèi)部信息,來恢復兩個CPU彼此同步的狀態(tài)(即冗余配置)。
因此,需要一種同步控制設(shè)備,其監(jiān)視兩個CPU之間是否存在同步延遲,且在發(fā)生 同步延遲的情況下執(zhí)行和重試再同步處理,所述再同步處理通過對發(fā)生故障的CPU進行復 位和初始化來再同步該發(fā)生故障的CPU。
[專利文件1]日本專利申請公開No. 2006-302289
[專利文件2]日本專利申請公開No. 2005-285119
發(fā)明內(nèi)容
根據(jù)本發(fā)明的一個方面,提供一種同步控制設(shè)備,包括計數(shù)器,進行計數(shù)和輸出 得到的計數(shù)信息;超時時間保存裝置,保存預定超時時間和輸出所述超時時間;比較器,比 較從所述計數(shù)器輸出的計數(shù)信息和從所述超時時間保存裝置輸出的超時時間;同步控制 器,通過比較第一處理器的輸出和第二處理器的輸出來監(jiān)視第一處理器和第二處理器之間 的同步,以及當檢測到第一處理器的輸出和第二處理器的輸出失匹配時開始計數(shù);其中所 述比較器檢測到計數(shù)信息和超時時間匹配,所述比較器停止其中發(fā)生同步延遲的第一處理 器或第二處理器。 本發(fā)明的上述實施方案意在作為示例,本發(fā)明的全部實施方案不限于包括以上描 述的特征的方案。
圖1是示出服務(wù)器系統(tǒng)的總體配置的框圖; 圖2是示出系統(tǒng)板的電路配置的框圖; 圖3是示出再同步計時器和超時控制電路的內(nèi)部配置的框圖; 圖4A和4B是示出再同步處理的流程圖; 圖5是示出再同步處理的細節(jié)的流程圖;以及 圖6是示出再同步處理的細節(jié)的流程圖。
具體實施例方式
下面將詳細描述本發(fā)明的優(yōu)選實施例,在附圖中示出了其示例,其中相同的標號 在整個附圖中代表相同的部件。 此后,基于附圖,給出對作為所公開的信息處理設(shè)備的實施例的服務(wù)器系統(tǒng)的描 述。 首先,參照圖1到圖3的框圖給出服務(wù)器系統(tǒng)的硬件配置的描述。
圖1是示出服務(wù)器系統(tǒng)的示例配置的框圖。如圖1所示,服務(wù)器系統(tǒng)被實施為包 括多個系統(tǒng)板(#0到#n) 1的多處理器系統(tǒng)。多個系統(tǒng)板(#0到#n) 1通過全局地址交叉架 構(gòu)部件(crossbar) 3和全局數(shù)據(jù)交叉架構(gòu)部件4相互連接。此外,全局地址交叉架構(gòu)部件3 和全局數(shù)據(jù)交叉架構(gòu)部件4還連接到對應(yīng)于系統(tǒng)板(#0到#n) 1的具有相同的多個序列號 (#0到#n)的多個輸入輸出單元(#0到#n)2。 全局地址交叉架構(gòu)部件3是地址中繼單元,其將從每個系統(tǒng)板(#0到#n) 1發(fā)出的命 令以及作為該命令的對象的地址中繼到另一系統(tǒng)板(#0到#n) 1和輸入輸出單元(#0到#n) 2。
另外,全局數(shù)據(jù)交叉架構(gòu)部件4是處理單元,其中繼系統(tǒng)板(#0到#n) 1之間的數(shù) 據(jù)、輸入輸出單元(#0到#n)2之間的數(shù)據(jù)以及系統(tǒng)板(#0到#n) 1和輸入輸出單元(#0到 fe)2之間的數(shù)據(jù)。 此外,系統(tǒng)控制/管理設(shè)備5連接到系統(tǒng)板(#0到#n) 1和輸入輸出單元(#0到 #n) 2。系統(tǒng)控制/管理設(shè)備5是服務(wù)處理器或控制臺設(shè)備,其根據(jù)系統(tǒng)管理員輸入的控制信 號執(zhí)行整體管理,諸如每個系統(tǒng)板(#0到#n) 1和輸入輸出單元(#0到#n)2中包括的寄存 器組(下面將基于圖2和圖3描述其細節(jié))中的各種設(shè)定值的設(shè)定以及分區(qū)配置的設(shè)定。 分區(qū)是通過系統(tǒng)板(#0到#n) 1和輸入輸出單元(#0到#n)2的組合而配置的系統(tǒng)。
圖2是示出每個系統(tǒng)板(糾到fe)l上安裝的電路配置的框圖。如圖2所示,用作 第一處理器的CPUO 6和用作第二處理器的CPU1 6在連接到相應(yīng)的CPU總線07和CPU總線 17的狀態(tài)下,被安裝在系統(tǒng)板1上。CPU0 6和CPU1 6是一對實現(xiàn)冗余的CPU(冗余CPU), 除了具有相同的配置,它們也同步地操作。 通過在系統(tǒng)板1上安裝的多處理器(冗余CPU)系統(tǒng)而配置的信息處理設(shè)備包括 多個CPU (CPU 0 6和CPU 1 6)、多個總線(CPU總線0 7和CPU總線1 7)、時鐘控制電路23 和23、固件組件15、北橋6、存儲器12以及存儲器控制器10。來自全局地址交叉架構(gòu)部件 3的所通知的地址和命令通過每個CPU總線0 7和CPU總線1 7被輸入到每個CPUO 6和 CPU1 6,以及被輸入到固件組件15和存儲器控制器10。 通過或不通過時鐘控制電路23和23是由北橋6中的開關(guān)/再同步控制電路14(將在下文描述)控制。時鐘控制電路23和23是開關(guān),其允許從設(shè)置在系統(tǒng)板1之外 的未示出的時鐘產(chǎn)生裝置向CPU總線07和CPU總線17供給的時鐘(用作第一時鐘的外部 時鐘)通過或不通過。時鐘控制電路23防止連接到CPU總線0 7和CPU總線1 7的CPU 0 6和CPU1 6被供給時鐘,因為時鐘沒有被輸入到CPU 0 6和CPU1 6中,所以CPU 0 6和 CPU1 6變得不能工作和降級。 固件組件15連接到每個CPU0 6和CPU1 6以便進行讀取。固件組件15是非易失 性閃存存儲固件(例如基本輸入輸出系統(tǒng)(Basic InputOutput System, BIOS)),如上所述, 當每個CPU0 6禾PCPU1 6進行CPU復位或中斷時,首先讀取BI0S。每個CPU0 6禾P CPU1 6 基于固件來執(zhí)行再同步處理,即,在被北橋6 (開關(guān)/再同步控制電路14)中斷的情況下的 中斷處理(圖4和圖5所示的"正常CPU中斷固件處理"),參見下文描述。在進行復位的情 況下,每個CPU0 6和CPU1 6還執(zhí)行啟動處理(圖4A和4B所示的"復位固件啟動處理")。
另外,存儲器控制器10執(zhí)行寫入處理,其將從全局數(shù)據(jù)交叉架構(gòu)部件4輸入的數(shù) 據(jù)寫入到由輸入地址指示的存儲器12的存儲位置。存儲器控制器10連接到存儲各種數(shù)據(jù) 的存儲器12。存儲器控制器10還執(zhí)行讀取從存儲位置獲得的數(shù)據(jù)的讀取處理,并將該數(shù)據(jù) 發(fā)送到全局數(shù)據(jù)交叉架構(gòu)部件4或每個CPU0 6和CPU1 6。 接著,北橋6檢測到配置冗余CPU的CPU0 6和CPU1 6中的一個CPU (—個模塊 CPU)中發(fā)生了故障和降級,造成同步故障。北橋6是對應(yīng)于同步控制設(shè)備的電路組。北橋 6與按照固件組件15中存儲的固件操作的CPU0 6或CPU1 6同步地進行冗余CPU再同步處理。 在此,"同步中斷"是指配置冗余CPU的一對CPU不能同步操作,"同步中斷"由"同 步延遲"引起。在同步延遲中,由CPUO 6或CPU1 6中的一個執(zhí)行的處理落在CPU0 6或CPU1 6中的另一個執(zhí)行的處理之后。另外,"冗余CPU再同步處理"是用于使CPUO 6和CPU1 6 再次返回到冗余配置的處理。由于北橋6是通過獨立于CPU0 6和CPU1 6而操作的硬件配 置的,所以可以執(zhí)行這種冗余CPU再同步處理而不造成系統(tǒng)上運行的操作系統(tǒng)(Operation System, OS)的關(guān)閉/重啟。 在圖2中,被虛線包圍的檢查電路11和11、 CPU總線同步檢查電路13、開關(guān)/再 同步控制電路14、再同步計時器和超時控制電路16、切換開關(guān)17、復位控制寄存器18、再同 步控制寄存器19、錯誤指示寄存器20、命令解碼器21和相位同步電路(PLL0)22配置北橋 6。此后,將給出配置北橋6的這些電路中的每一個電路的功能的描述。
首先,命令解碼器21解碼從系統(tǒng)控制/管理設(shè)備5向北橋6發(fā)出的命令。接著, 命令解碼器21根據(jù)解碼的結(jié)果對再同步控制寄存器19和再同步計時器和超時控制電路 16(再同步最大時間設(shè)定寄存器163)進行設(shè)定值的寫入/讀取。 經(jīng)由對應(yīng)的CPU總線0 7和CPU總線1 7連接到CPUO 6和CPU 1 6的輸出端的 檢查電路11和11接收從CPUO 6和CPU1 6向全局地址交叉架構(gòu)部件3發(fā)出的包,進行奇 偶性、錯誤檢查及校正(Error Checking andCorrecting,ECC)等檢查。當通過檢查檢測到 錯誤時,檢查電路11和11向開關(guān)/再同步控制電路14給出錯誤通知。
連接到CPU總線0 7和CPU總線1 7的CPU總線同步檢查電路13對每個CPU總 線進行同步檢查。即,CPU總線同步檢查電路13檢查配置冗余CPU的CPU對是否進行同步 操作。由此,當檢測到非同步時,CPU總線同步檢查電路13向開關(guān)/再同步控制電路14給
6出錯誤通知。 在CPU0 6或CPU1 6中檢測到錯誤的情況下,其中被檢測到錯誤的CPUO 6或CPU1 6向開關(guān)/再同步控制電路14給出錯誤通知(內(nèi)部錯誤通知)。 除了上面描述的之外,CPUO 6和CPU1 6、檢查電路11和11、 CPU總線同步檢查電 路13、再同步計時器和超時控制電路16 (計時器/最大時間比較電路161)、復位控制寄存 器18、再同步控制寄存器19、切換開關(guān)17以及錯誤指示寄存器20連接到開關(guān)/再同步控 制電路14。 其中,切換開關(guān)17根據(jù)來自開關(guān)/再同步控制電路14的指令進行CPU總線0 7 和CPU總線17之間的切換。通過切換開關(guān)17進行CPU總線07和CPU總線1 7之間的切 換,例如可以決定通過CPU總線O 7和CPU總線1 7中的哪一個將發(fā)出的命令輸入到全局 地址交叉架構(gòu)部件3。 復位控制寄存器18是管理每個CPUO 6和CPU1 6的狀態(tài)以便在每個CPUO 6和 CPU1 6上進行復位控制的寄存器。例如,當在冗余CPU再同步處理中向存儲器12保存正常 CPUO 6或正常CPU 1 6的緩存數(shù)據(jù)完成時,基于固件組件15中存儲的固件,通過CPU0 6或 CPU1 6的正常CPU的控制(正常CPU中斷固件處理),將對應(yīng)于正常CPU的保存完成標記 設(shè)置在復位控制寄存器18中(S106和SI 10)。 再同步控制寄存器19是被設(shè)置有針對兩個CPU (CPUO 6和CPU1 6)進行的再同步 處理執(zhí)行的次數(shù)、該次數(shù)的上限(再同步可能上限)以及再同步可能性標記的寄存器。再 同步可能上限是經(jīng)由命令解碼器21通過系統(tǒng)控制/管理裝置5 (由系統(tǒng)管理員操作)設(shè)置 的。另外,再同步可能性標記是指示是否可以再同步兩個CPU (CPUO 6和CPU1 6)的標記。 由此,正常CPUO 6或正常CPU1 6根據(jù)存儲在固件組件15中的固件而操作且在再同步控制 寄存器19中記錄再同步處理執(zhí)行的實際次數(shù)(S308),正常CPUO 6或正常CPU1 6將該實際 次數(shù)與再同步控制寄存器19中設(shè)定的再同步可能上限進行比較(S306和S307)。在執(zhí)行 的次數(shù)小于再同步可能上限的情況下,CPUO 6或CPU1 6確定可以再次重試再同步處理,例 如,在再同步控制寄存器19中設(shè)定標記1作為再同步可能性標記(S308),而在執(zhí)行的次數(shù) 達到再同步可能上限的情況下,確定不能再次重試再同步處理,例如,設(shè)定標記O作為再同 步可能性標記(S309)。 錯誤指示寄存器20是存儲由北橋6 (開關(guān)/再同步控制電路14、以及再同步計時 器和超時控制電路16(計時器/最大計時器比較電路161))檢測到的各種故障的信息的寄 存器。例如,在開關(guān)/再同步控制電路14已經(jīng)接收到之前描述的每個錯誤通知的情況下, 所通知的錯誤內(nèi)容被存儲在錯誤指示寄存器20中。另外,其中發(fā)生同步延遲的異常CPU總 線0 7或異常CPU總線1 7的ID被存儲在錯誤指示寄存器20中。此外,在再同步處理執(zhí) 行的次數(shù)達到上限的情況下,或在再同步周期達到上限的情況下,同步不可能標記(對應(yīng) 于同步延遲信息)被存儲在用作同步延遲信息保存裝置的錯誤指示寄存器20中。
基于固件組件15中存儲的固件執(zhí)行復位固件初始設(shè)定處理的CPU06或CPU1 6,根 據(jù)在啟動之后同步不可能標記是否設(shè)定在錯誤指示寄存器20中,執(zhí)行再同步處理(在沒有 設(shè)定同步不可能標記的情況下在S302及之后),或獨立地開始(在設(shè)定了同步不可能標 記的情況下在S310及之后)。接著,例如通過獲取存儲在錯誤指示寄存器20中的其它錯 誤信息和向系統(tǒng)控制/管理裝置5通知該信息,來向系統(tǒng)管理員通知故障信息也是可接受的。 再同步計時器和超時控制電路16是對由系統(tǒng)控制/管理裝置5經(jīng)由命令解碼器 21設(shè)定的再同步最大時間和再同步時間進行比較的電路。在時間超過再同步最大時間的情 況下,再同步計時器和超時控制電路16請求開關(guān)/再同步控制電路14僅僅激活正常CPU0 6或正常CPU1 6的正常CPU和正常CPU總線0 7或正常CPU總線1 7的正常CPU總線,并 執(zhí)行復位。 如圖3所示,再同步計時器和超時控制電路16被配置成包括通過再同步最大時間
設(shè)定寄存器163、再同步計時器寄存器162以及計時器/最大時間比較電路161。 再同步處理時間上限(超時時間)經(jīng)由命令解碼器21通過被系統(tǒng)管理員操作的
系統(tǒng)控制/管理設(shè)備5設(shè)定在再同步最大時間設(shè)定寄存器163 (對應(yīng)于超時時間保存裝置)中。 再同步計時器寄存器162 (對應(yīng)于計數(shù)器)利用從相位同步電路(PLL0) 22提供的 時鐘(第一時鐘)通過對寄存器值(對應(yīng)于計數(shù)信息)進行計數(shù)來測量再同步時間。由此, 由于使用了來自相位同步電路(PLL0)22的時鐘(不同于CPU時鐘系統(tǒng)的系統(tǒng)時鐘),可以 測量時間而不依靠每個CPUO 6和CPU1 6的狀態(tài),也不會出現(xiàn)由于再同步的復位而使得寄 存器值被清空。在再同步計數(shù)器寄存器162以及其被清零的情況下,基于存儲在固件組件 15中的固件,通過正常CPU(CPU0 6或CPU1 6)的控制(正常CPU中斷固件處理和固件啟動 處理),可以開始(S101)和停止(S107和S305)再同步計數(shù)器寄存器162的計數(shù),另外,再 同步計數(shù)器寄存器162的計數(shù)也可以通過計時器/最大時間比較電路161來停止(S501)。
計時器/最大時間比較電路161(對應(yīng)于比較器)比較再同步最大時間設(shè)定寄存 器163的值和再同步計時器寄存器162的值,且在兩個值匹配以及清空再同步計時器寄存 器162為零和停止計數(shù)(S501)的情況下,在錯誤指示寄存器20中設(shè)置同步不可能標記 (S502),以及請求開關(guān)/再同步控制電路14僅僅激活正常CPU 6和正常CPU總線7和實施 復位(S503)。 開關(guān)/再同步控制電路14是以下的電路,其通過從每個CPU0 6和CPU1 6、每個 檢查電路11和11或CPU總線同步檢查電路13接收錯誤通知,將兩個CPU(CPUO 6和CPU1 6)中的兩個或正常的一個復位或中斷、控制切換開關(guān)17的操作以及在錯誤指示寄存器20 中設(shè)定標記。 具體地,開關(guān)/再同步控制電路14在接收到錯誤通知的情況下,通過將時鐘控制 電路23設(shè)定為停止向連接到其中發(fā)生錯誤的CPUO 6或CPU16的CPU總線0 7或CPU總線 1 7提供時鐘,以及停止從CPU總線0 7或CPU總線1 7向全局地址交叉架構(gòu)部件3發(fā)出命 令,來禁止CPU總線0 7或CPU總線17 (S002),在錯誤指示寄存器20中記錄CPU總線0 7 或CPU總線1 7中哪一個被禁止。 另外,通過接收錯誤通知而被觸發(fā)的開關(guān)/再同步控制電路14向連接到正常CPU 總線0 7或正常CPU總線1 7的正常CPUO 6或正常CPUl 6通知中斷(S003)。結(jié)果,如上 文所述,正常CPUO 6或正常CPU1 6執(zhí)行圖4和圖5所示的"正常CPU中斷固件處理"。艮卩, 其中沒有發(fā)生同步延遲的處理器(CPUO 6或CPUl 6)被啟動。 另外,開關(guān)/再同步控制電路14在監(jiān)視復位控制寄存器18和再同步控制寄存器 19并確認對正常CPUO 6或正常CPU16設(shè)置了保存完成標記時,在設(shè)置了再同步可能性標記=1的情況下向每個CPUO 6和CPU1 6發(fā)起復位(S202)。在再同步可能性標記=0被建立 的情況下,開關(guān)/再同步控制電路14在錯誤指示寄存器20中設(shè)置同步不可能標記(S401), 通過參照存儲在錯誤指示寄存器20中的被禁止的CPU總線0 7或CPU總線17的身份(ID) 和使異常CPUO 6或異常CPU1 6側(cè)的時鐘控制電路23停止向CPU總線0 7或CPU總線1 7 提供時鐘(S402),可以僅向正常CPU06或正常CPU1 6發(fā)起復位(S403),并迫使切換開關(guān)17 切換到正常CPU06或正常CPU1 6側(cè)(S404)。如上文所述,被發(fā)起復位的CPUO 6或CPU16 執(zhí)行啟動處理(圖4A和4B所示的"復位固件啟動處理")。 另外,開關(guān)/再同步控制電路14在被計時器/最大時間比較電路161請求僅僅激 活正常CPU 6和正常CPU總線7和實施復位時,通過參照存儲在錯誤指示寄存器20中的被 禁止的CPU總線0 7或CPU總線1 7的記錄和使異常CPUO 6或異常CPU1 6側(cè)的時鐘控制 電路23停止向CPU總線0 7或CPU總線1 7提供時鐘(S503),僅僅向正常CPUO 6或正常 CPU16發(fā)起復位(S504),并將切換開關(guān)17強制切換到正常CPUO 6或正常CPU1 6側(cè)(S505)。
上文描述的CPU (CPUO 6和CPU1 6)、固件組件15、 CPU總線同步檢查電路13以 及開關(guān)/再同步控制電路14對應(yīng)于同步控制器,該同步控制器通過比較來自第一處理器 (CPUO 6)的輸出和來自第二處理器(CPU1 6)的輸出,來監(jiān)視第一和第二處理器之間的同 步(CPU總線同步檢查電路13的功能)。在來自第一處理器的輸出和來自第二處理器的輸 出不匹配的情況下,同步控制器初始化計數(shù)器,使計數(shù)器開始計數(shù)(開關(guān)/再同步控制電路 14、CPU0 6以及CPU1 6固件組件15的功能)。此外,當比較器檢測到計數(shù)信息和超時時間 匹配時,同步控制器停止其中發(fā)生同步延遲的第一處理器或第二處理器(開關(guān)/再同步控 制電路14的功能)。
再同步處理 下面,基于圖4到圖6的流程圖,給出關(guān)于北橋6的操作順序和由CPUO 6或CPU1
6基于存儲在固件組件15中的固件執(zhí)行的處理的流程的描述。在每個附圖中,列a表示北
橋6的操作順序,列13表示CPUO 6或CPU1 6基于固件執(zhí)行的處理的流程。 首先,通過接通主電源,開關(guān)/再同步控制電路14開始圖4A和4B的a中的操作,
在第一步驟S001,基于來自每個CPU0 6和CPU1 6、每個檢查電路11和ll或CPU總線同步
檢查電路13的錯誤通知,來監(jiān)視任一 CPU6的同步延遲即冗余CPU同步故障。 接著,開關(guān)/再同步控制電路14當檢測到冗余CPU同步故障時,使處理從SOOl
進入S002。開關(guān)/再同步控制電路14通過停止向連接到發(fā)生同步延遲的CPU0 6或CPU1
6 (下文稱為"異常CPU 6")的CPU總線0 7或CPU總線1 7 (下文稱為"異常CPU總線7")
提供時鐘來停止a操作。 在接著的S003,開關(guān)/再同步控制電路14向位于操作沒有停止的一側(cè)的連接到 CPU總線0 7或CPU總線1 7 (下文稱為"正常CPU總線7")的CPUO 6或CPU1 6 (在下文 稱為"正常CPU 6")給出異常CPU 6停止的中斷通知,S卩"一個模塊停止"。
接著,接收了中斷通知的正常CPU 6讀取存儲在固件組件15中的固件,開始圖4A 和4B的13中示出的正常CPU中斷固件處理。因此,正常CPU 6在開始之后在第一步驟S100 中確認再同步計時器寄存器162的狀態(tài)。接著,在再同步計時器寄存器162位于計時器計 數(shù)的中部的情況下,正常CPU 6使處理直接進入S103,而在再同步計時器寄存器162停止且 計時器計數(shù)還未開始的情況下,使處理進入SlOl。
在S101,正常CPU 6在清零再同步計時器寄存器162之后開始計數(shù),使計時器/最 大時間比較電路14開始比較再同步計時器寄存器162的計數(shù)值和再同步上限設(shè)定寄存器 163的值。 在接著的S102,正常CPU 6在錯誤指示寄存器20中記錄操作已經(jīng)在S002停止的 CPU總線7的ID。當完成S102時,正常CPU 6使處理進入S103。 在S103,正常CPU 6參照在再同步控制寄存器19中設(shè)定的再同步可能性標記,判 斷是否可以執(zhí)行冗余CPU再同步。因此,在因為設(shè)置了表示再同步是可以的值(在上述示 例中的標記l)所以確定可以執(zhí)行冗余CPU再同步的情況下,正常CPU 6使處理進入S104。 與此相反,在因為設(shè)置了表示再同步是不可以的值(在上述示例中的標記O)所以確定不能 執(zhí)行冗余CPU再同步(NG)的情況下,正常CPU 6使處理進入S107,使用一個模塊(正常CPU 總線)繼續(xù)處理。 在S104,正常CPU 6將內(nèi)部信息(其可以是CPU中的寄存器的內(nèi)容等,包括直接位 于同步故障之前的地址)保存(復制)到存儲器12。然而,在再同步處理被重試的情況下 (下文描述的在執(zhí)行S309或S308之后處理進行循環(huán)的情況下),由于內(nèi)部信息已被保存到 存儲器12中,不再對存儲器進行保存。 在隨后的S105,正常CPU(CPU06或CPU16)將正常CPU 6中保持的緩存數(shù)據(jù)反映 (緩存閃存)到存儲器中。當將緩存數(shù)據(jù)保存到存儲器完成時,正常CPU(CPU06或CPU16) 使處理進入S106。 在S106,正常CPU 6在復位控制寄存器18中設(shè)置對應(yīng)于正常CPU 6的保存完成標 記。隨后,由正常CPU執(zhí)行的正常CPU中斷固件處理變?yōu)榈却?進入無限循環(huán)。
同時,開關(guān)/再同步控制電路14通過保存完成標記被設(shè)置在復位控制寄存器18 中而被觸發(fā)開始。在具有表示再同步是不允許的值(上文描述的示例中的標記O)的再同 步可能性標記未被設(shè)置在再同步控制寄存器19的情況下,開關(guān)/再同步控制電路14進行 圖4A和4B中的a中的S201及之后的操作。在具有表示再同步是不允許的值的再同步可 能性標記(上文描述的示例中的標記O)被設(shè)置在再同步控制寄存器19的情況下,開關(guān)/ 再同步控制電路14進行圖5的a中描述的S401及之后的操作。 在S201,開關(guān)/再同步控制電路14將時鐘控制電路23和23設(shè)置成向CPU總線0 7和CPU總線1 7提供時鐘。 在隨后的S202,開關(guān)/再同步控制電路14向系統(tǒng)板1中的每個CPU06和CPU1 6 發(fā)起復位。通過復位,存儲器中的內(nèi)容被保持為原樣。 作為在S202中發(fā)起復位的結(jié)果而被復位的每個CPUO 6和CPU1 6讀取存儲在固 件組件15中的固件,開始圖4A和4B的13中示出的復位固件處理。接著,在開始后第一步 驟S301中,CPU 6判斷同步不可能標記是否被設(shè)定在錯誤指示寄存器20中。接著,如果設(shè) 置了同步不可能標記,CPU 6使處理進入S310,而如果沒有設(shè)置同步不可能標記,CPU 6使 處理進入S302。在開關(guān)/再同步控制電路14通過執(zhí)行S202發(fā)起復位的情況下,沒有設(shè)置 同步不可能標記,意味著S302及之后的處理被執(zhí)行。為了方便,S310及之后的處理將在給 出圖5的描述之后描述。 在S302,CPU 6開始恢復被保存到存儲器12的正常CPU的內(nèi)部信息。即使在作為 處理對象的CPU 6是連接到異常CPU總線7的異常CPU6的情況下,由于利用正常CPU 6的
10內(nèi)部信息進行恢復,所以仍可以用正常CPU 6恢復冗余部件。 在隨后的S303,CPU 6通過配置錯誤指示寄存器20的記錄,檢查在S302中的CPU 內(nèi)部信息恢復處理開始之后是否存在不同步。由此,如果存在不同步,CPU 6使處理進入 S306,而如果CPU內(nèi)部信息恢復處理完成而沒有任何不同步,則使處理進入S304。
在S306, CPU 6比較在再同步控制寄存器19中設(shè)定的再同步處理執(zhí)行的次數(shù)和 再同步可能上限。由此,如果執(zhí)行次數(shù)達到再同步可能上限(S307:是),CPU 6確定不能進 一步地重試再同步處理,并在S309在再同步控制寄存器19中設(shè)定表示再同步不可能的值 (例如標記O)。與此相反,如果執(zhí)行的次數(shù)仍小于再同步可能上限(S307:否),CPU 6確定 可以重試再同步處理,并在S308,通過使再同步控制寄存器19中記錄的執(zhí)行次數(shù)的值增加 一,在再同步控制寄存器19中設(shè)定表示再同步可能的值(例如標記1)。由此,在任何情況 下,CPU 6通知開關(guān)/再同步控制電路14可以再次執(zhí)行S002及之后的操作。
同時,在S304, CPU 6等待冗余CPU對中之一的另一 CPU 6中通過S302進行的內(nèi) 部信息恢復完成。接著,當在另一 CPU6中也完成CPU內(nèi)部信息恢復處理時,兩個CPU被恢 復到緊接著同步故障之前的地址,因此CPU 6使處理進入S305。 在S305,CPU 6禁止計時器/最大計時器比較電路161,停止再同步計時器寄存器 162的計時器計數(shù)并將其寄存器值清零。當完成S305時,CPU 6可以在冗余CPU中重啟正 常處理(S312)。 接著,將參照圖5給出在S103確定再同步不可能的情況下在S107及之后進行的 處理。 在S107,CPU 6禁止計時器/最大時間比較電路161的比較,停止再同步計時器寄 存器162的計時器計數(shù),并將其寄存器值清零。 在隨后的S108,CPU 6將正常CPU 6的內(nèi)部信息(在CPU的寄存器等中,該內(nèi)部信
息包括緊接著同步故障之前的地址)保存(復制)到存儲器12。然而,在再同步處理被重
試的情況下,由于內(nèi)部信息已經(jīng)被保存到存儲器12,所以不再進行對存儲器的保存。 在隨后的S109,正常CPU 6將正常CPU 6中保持的緩存數(shù)據(jù)反映(緩存閃存)在
存儲器中。當將緩存數(shù)據(jù)保存到存儲器12完成時,正常CPU6使處理進入SllO。 在S110,正常CPU 6在復位控制寄存器18中設(shè)置對應(yīng)于正常CPU 6的保存完成標
記。隨后,被正常CPU執(zhí)行的正常CPU中斷固件處理等待(進入無限循環(huán))。 其間,開關(guān)/再同步控制電路14通過保存完成標記被設(shè)置在復位控制寄存器18
中而被觸發(fā)開始,在具有表示再同步是不可能的值(上文描述的示例中的標記O)的再同步
可能性標記被設(shè)置在再同步控制寄存器19的情況下,開關(guān)/再同步控制電路14進行圖5
的a中的S401及之后的處理。 在S401,開關(guān)/再同步控制電路14在錯誤指示寄存器20中設(shè)定同步不可能標記。
在隨后的S402中,為了切斷由在錯誤指示寄存器20中記錄的異常CPU總線7的 ID所指示的異??偩€7上的時鐘控制,開關(guān)/再同步控制電路14設(shè)定連接到異??偩€7的 時鐘控制電路23,由此將異??偩€7降級。 接著,開關(guān)/再同步控制電路14除了在S403僅僅向正常CPU 6(即,連接到并非 由在錯誤指示寄存器20中記錄的ID所指示的異常CPU總線7的CPU總線7的CPU 6,即, 連接到正常CPU總線7的CPU6)發(fā)起復位,還在S404將切換開關(guān)17固定到正常CPU總線
在所述復位中,在停止向異常CPU總線7和異常CPU 6的提供時鐘的狀態(tài)下,只有 正常CPU 6和正常CPU總線7開始再次操作。S卩,復位的正常CPU 6讀取固件組件15中 存儲的固件,開始圖4A和4B的13中所示的復位固件處理。由此,在開始之后的第一步驟 S301, CPU 6檢查同步不可能標記是否設(shè)置在錯誤指示寄存器20中,而這種此情況下由于 同步不可能標記被設(shè)置,所以執(zhí)行S310及之后的處理。 在S310,正常CPU 6參照錯誤指示寄存器20,向系統(tǒng)控制/管理設(shè)備5通知錯誤 集合的內(nèi)容。 在隨后的S311,正常CPU 6開始恢復被保存到存儲器12的正常CPU6的內(nèi)部信息。 當該恢復處理完成時,正常CPU 6可以在獨立操作中重啟正常處理(S312)。
如前所述,當開關(guān)/再同步控制電路14操作且每個CPU 6也按照固件執(zhí)行處理 時,在S101使計時器/最大計時器比較電路161開始比較,除非在S107比較被禁止,計時 器/最大計時器比較電路161繼續(xù)比較再同步計時器寄存器162的計數(shù)值和再同步上限設(shè) 定寄存器163的值。由此,當檢測到再同步計時器寄存器162的計數(shù)值達到再同步上限設(shè) 定寄存器163的值時,計時器/最大時間比較電路161向開關(guān)/再同步控制電路14通知該 事實。接收到該通知的開關(guān)/再同步控制電路14通過中斷來開始圖6所示的操作。在存 在這一中斷的情況下,開關(guān)/再同步控制電路14在第一步驟S501禁止計時器/最大時間 比較電路161的比較,停止再同步計時器寄存器162的計時器計數(shù),并將其寄存器值清零。
在隨后的S502,開關(guān)/再同步控制電路14在錯誤指示寄存器20中設(shè)置同步不可 能標記。 在隨后的S503,為了切斷由在錯誤指示寄存器20中記錄的異常CPU總線7的ID 所指示的異??偩€7上的時鐘控制,開關(guān)/再同步控制電路14對連接到異常總線7的時鐘 控制電路23進行設(shè)置,由此使異??偩€7降級。 接著,開關(guān)/再同步控制電路14除了在S504僅僅向正常CPU 6(即,連接到并非 由在錯誤指示寄存器20中記錄的ID所指示的異常CPU總線7的CPU總線7的CPU 6,即, 連接到正常CPU總線7的CPU6)發(fā)起復位,還在S505將切換開關(guān)17固定到正常CPU總線 在所述復位中,在停止向異常CPU總線7和異常CPU 6的提供時鐘的狀態(tài)下,只有 正常CPU 6和正常CPU總線7開始再次操作。S卩,復位的正常CPU 6讀取固件組件15中 存儲的固件,開始圖4A和4B的13中所示的復位固件處理。由此,在開始之后的第一步驟 S301, CPU 6檢查同步不可能標記是否設(shè)置在錯誤指示寄存器20中,而這種此情況下由于 同步不可能標記被設(shè)置,所以執(zhí)行S310及之后的處理。 在S310,正常CPU 6參照錯誤指示寄存器20,向系統(tǒng)控制/管理設(shè)備5通知錯誤 集合的內(nèi)容。 在隨后的S311,正常CPU 6開始恢復被保存到存儲器12的正常CPU6的內(nèi)部信息。
當該恢復處理完成時,正常CPU 6可以在獨立操作中重啟正常處理(S312)。 根據(jù)以上述方式配置的服務(wù)器系統(tǒng),在配置冗余CPU的兩個CPUO 6和CPU1 6中
的一個發(fā)生同步延遲時,嘗試再同步處理,但在再同步處理執(zhí)行中發(fā)生不同步時,則重試再
同步處理。然而,即使在由于同步延遲具有嚴重原因而使再同步處理不斷重復的情況下,通過再同步計時器寄存器162來測量從再同步開始所經(jīng)過的時間。當計時器/最大時間比較 電路161檢測到所經(jīng)過的時間達到再同步最大時間設(shè)定寄存器163中記錄的再同步處理時 間上限時,斷開連接到其中發(fā)生同步延遲的異常CPU的異常CPU總線的時鐘,之后僅僅復位 其中不發(fā)生同步延遲的正常CPU。因此,由于通過正常CPU的獨立操作實現(xiàn)了較早的正常處 理重啟,可以避免正常操作被長時間停止的缺陷。 盡管示出和描述了了本發(fā)明的多個優(yōu)選實施方案,本領(lǐng)域技術(shù)人員顯然可以認識 到,在不偏離本發(fā)明的構(gòu)思或精神的情況下,可對這些實施例進行修改,本發(fā)明的范圍由權(quán) 利要求和權(quán)利要求的等同限定。
權(quán)利要求
一種連接到第一處理器和第二處理器的同步控制設(shè)備,包括計數(shù)器,進行計數(shù)和輸出得到的計數(shù)信息;超時時間保存裝置,保存預定的超時時間和輸出所述超時時間;比較器,比較從所述計數(shù)器輸出的計數(shù)信息和從所述超時時間保存裝置輸出的超時時間;同步控制器,通過比較所述第一處理器的輸出和所述第二處理器的輸出來監(jiān)視所述第一處理器和所述第二處理器之間的同步,和當檢測到所述第一處理器的輸出和所述第二處理器的輸出不匹配時開始計數(shù);以及在所述比較器檢測到所述計數(shù)信息和所述超時時間匹配的情況下,所述比較器停止發(fā)生了同步延遲的第一處理器或第二處理器。
2. 根據(jù)權(quán)利要求1所述的同步控制設(shè)備,其中所述比較器在所述計數(shù)器開始計數(shù)之后檢測到所述計數(shù)信息和所述超時信息匹配,所述同步控制設(shè)備初始化第一處理器和第二處理器中的未發(fā)生同步延遲的一個并停止所述第一處理器的輸出和所述第二處理器的輸出之間的比較。
3. 根據(jù)權(quán)利要求l所述的同步控制設(shè)備,還包括同步延遲信息保存裝置,其中如果所述比較器在所述計數(shù)器開始計數(shù)之后檢測到所述計數(shù)信息和所述超時信息匹配,則所述同步控制設(shè)備將同步延遲信息存儲在所述同步延遲信息保存裝置中。
4. 根據(jù)權(quán)利要求l所述的同步控制設(shè)備,其中所述計數(shù)器基于從外部輸入到所述同步控制設(shè)備的第一時鐘進行計數(shù)。
5. —種信息處理設(shè)備,具有第一處理器、第二處理器和連接到所述第一處理器和所述第二處理器的同步控制設(shè)備,所述同步控制設(shè)備包括計數(shù)器,進行計數(shù)和輸出得到的計數(shù)信息;超時時間保存裝置,保存預定的超時時間和輸出所述超時時間;比較器,比較從所述計數(shù)器輸出的計數(shù)信息和從所述超時時間保存裝置輸出的超時時間;同步控制器,通過比較所述第一處理器的輸出和所述第二處理器的輸出來監(jiān)視所述第一處理器和所述第二處理器之間的同步,和當檢測到所述第一處理器的輸出和所述第二處理器的輸出不匹配時開始計數(shù);以及在所述比較器檢測到所述計數(shù)信息和所述超時時間匹配的情況下,所述比較器停止發(fā)生了同步延遲的第一處理器或第二處理器。
6. 根據(jù)權(quán)利要求5所述的信息處理設(shè)備,其中如果所述比較器在所述計數(shù)器開始計數(shù)之后檢測到所述計數(shù)信息和所述超時信息匹配,則所述同步控制設(shè)備初始化第一處理器和第二處理器中的未發(fā)生同步延遲的一個并停止所述第一處理器的輸出和所述第二處理器的輸出之間的比較。
7. 根據(jù)權(quán)利要求5所述的信息處理設(shè)備,其中所述同步控制設(shè)備還包括同步延遲信息保存裝置,其中如果所述比較器在所述計數(shù)器開始計數(shù)之后檢測到所述計數(shù)信息和所述超時信息匹配,則所述同步控制設(shè)備將同步延遲信息存儲在所述同步延遲信息保存裝置中。
8. 根據(jù)權(quán)利要求6所述的信息處理設(shè)備,其中所述計數(shù)器基于從外部輸入到所述同步控制設(shè)備的第一時鐘進行計數(shù)。
9. 一種用于通過連接到第一處理器和第二處理器的同步控制設(shè)備來管理第一處理器和第二處理器之間的同步的同步管理方法,所述方法包括比較所述第一處理器的輸出和所述第二處理器的輸出以監(jiān)視所述第一處理器和所述第二處理器之間的同步;當檢測到所述第一處理器的輸出和所述第二處理器的輸出之間的不匹配時開始計數(shù);在開始計數(shù)后將計數(shù)信息與給定的超時時間比較;以及在所述比較器檢測到所述計數(shù)信息和所述超時時間匹配的情況下,停止發(fā)生了同步延遲的所述第一處理器或所述第二處理器。
10. 根據(jù)權(quán)利要求9所述的同步控制方法,還包括在計數(shù)開始之后檢測到所述計數(shù)信息和所述超時時間之間的時間匹配的情況下,初始化第一處理器和第二處理器中的未發(fā)生同步延遲的一個,停止所述第一處理器的輸出和所述第二處理器的輸出之間的比較。
全文摘要
本發(fā)明提供同步控制設(shè)備、信息處理設(shè)備、以及同步管理方法。該同步控制設(shè)備包括計數(shù)器,進行計數(shù)和輸出得到的計數(shù)信息;超時時間保存裝置,保存預定的超時時間和輸出該超時時間;比較器,比較從計數(shù)器輸出的計數(shù)信息和從超時時間保存裝置輸出的超時時間;同步控制器,通過比較第一處理器的輸出和第二處理器的輸出來監(jiān)視第一處理器和第二處理器之間的同步,和當檢測到第一處理器的輸出和第二處理器的輸出不匹配時開始計數(shù);其中在比較器檢測到計數(shù)信息和超時時間匹配的情況下,比較器停止發(fā)生了同步延遲的第一處理器或第二處理器。
文檔編號G06F11/16GK101714108SQ20091017765
公開日2010年5月26日 申請日期2009年9月30日 優(yōu)先權(quán)日2008年10月3日
發(fā)明者阿形真司 申請人:富士通株式會社