專(zhuān)利名稱(chēng):信息處理設(shè)備和操作狀態(tài)監(jiān)視方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種包括能夠彼此進(jìn)行通信的多個(gè)控制器模塊的信息處理設(shè)備和監(jiān)視能夠彼此進(jìn)行通信的多個(gè)控制器模塊的操作狀態(tài)的操作狀態(tài)監(jiān)視方法。
背景技術(shù):
在信息處理設(shè)備中,存在每一個(gè)均包括能夠彼此進(jìn)行通信的多個(gè)控制器模塊的一些設(shè)備,其中如果某一控制器模塊發(fā)生故障,則通過(guò)將這個(gè)控制器模塊從其它部分拆卸來(lái)持續(xù)操作。這種信息處理設(shè)備配置為:通常一個(gè)模塊(控制器模塊或者狀態(tài)監(jiān)視模塊)確定(判定)哪個(gè)部件(控制器模塊、控制器模塊中的電路等)發(fā)生故障。然而,在一個(gè)模塊確定每個(gè)部件是否發(fā)生故障的設(shè)備中,如果這個(gè)模塊發(fā)生故障,則出現(xiàn)“實(shí)際上正常的部件被錯(cuò)誤地確定為具有故障然后被拆卸”和“因?yàn)楣收喜考](méi)有被拆卸,所以該設(shè)備無(wú)法正常地運(yùn)行”的這樣的情況。因此,已經(jīng)開(kāi)發(fā)出這樣的信息處理設(shè)備(下文中稱(chēng)為傳統(tǒng)設(shè)備):多個(gè)控制器模塊中的每一個(gè)監(jiān)視每個(gè)部件的狀態(tài),并且指定的控制器模塊基于全部控制器模塊的監(jiān)視結(jié)果來(lái)確定哪個(gè)部件是故障部件?,F(xiàn)有技術(shù)文獻(xiàn)專(zhuān)利文獻(xiàn)1:日本專(zhuān)利公開(kāi)公報(bào)N0.2007-249741專(zhuān)利文獻(xiàn)2:日本專(zhuān)利公開(kāi)公報(bào)N0.Hl 1-249931專(zhuān)利文獻(xiàn)3:日本專(zhuān)利公開(kāi)公報(bào)N0.2001-7892如上所述的傳統(tǒng)設(shè)備是如下的設(shè)備:其中與指定的控制器模塊(下文中稱(chēng)為主控制器模塊)通信失敗的控制器模塊(下文中稱(chēng)為發(fā)送器模塊)單獨(dú)地確定主控制器模塊是否發(fā)生故障。即,傳統(tǒng)設(shè)備是如下的設(shè)備:即使當(dāng)與主控制器模塊通信失敗是由發(fā)送器模塊一側(cè)的故障所引起,并且如果發(fā)送器模塊不能識(shí)別出這個(gè)故障,則主控制器模塊被錯(cuò)誤地確定為具有故障并且然后被拆卸。
發(fā)明內(nèi)容
在這樣的情況下,根據(jù)一個(gè)方面,本發(fā)明的目的是更準(zhǔn)確地確定能夠彼此進(jìn)行通信的多個(gè)控制器模塊的狀態(tài)。根據(jù)本公開(kāi)的技術(shù)的一個(gè)方面,信息處理設(shè)備包括能夠彼此進(jìn)行通信的多個(gè)控制器模塊,每個(gè)控制器模塊包括要關(guān)于通信對(duì)方設(shè)備的控制器模塊和/或所述設(shè)備自身的控制器模塊存儲(chǔ)狀態(tài)信息的存儲(chǔ)器,所述狀態(tài)信息反映與其它控制器模塊通信期間出現(xiàn)錯(cuò)誤的狀態(tài)。當(dāng)確定所述多個(gè)控制器模塊中的某一控制器模塊中是否出現(xiàn)故障時(shí),不同于確定目標(biāo)控制器模塊的所述控制器模塊基于存儲(chǔ)在不同于所述確定目標(biāo)控制器模塊的兩個(gè)或更多個(gè)控制器模塊的所述存儲(chǔ)器上的所述確定目標(biāo)控制器模塊的狀態(tài)信息來(lái)確定在所述確定目標(biāo)控制器模塊中是否出現(xiàn)故障。此外,根據(jù)本公開(kāi)的技術(shù)的另一方面的操作狀態(tài)監(jiān)視方法是一種用于監(jiān)視能夠彼此進(jìn)行通信的多個(gè)控制器模塊的操作狀態(tài)的操作狀態(tài)監(jiān)視方法,其中每個(gè)控制器模塊包括要關(guān)于通信對(duì)方設(shè)備的控制器模塊和/或所述設(shè)備自身的控制器模塊存儲(chǔ)狀態(tài)信息的存儲(chǔ)器,所述狀態(tài)信息反映與其它控制器模塊通信期間出現(xiàn)錯(cuò)誤的狀態(tài),以及當(dāng)確定所述多個(gè)控制器模塊中的某一控制器模塊中是否出現(xiàn)故障時(shí),不同于確定目標(biāo)控制器模塊的所述控制器模塊基于存儲(chǔ)在不同于所述確定目標(biāo)控制器模塊的兩個(gè)或更多個(gè)控制器模塊的所述存儲(chǔ)器上的所述確定目標(biāo)控制器模塊的狀態(tài)信息來(lái)確定在所述確定目標(biāo)控制器模塊中是否出現(xiàn)故障。應(yīng)理解,上面的概述和以下的詳細(xì)說(shuō)明都是示例性的和說(shuō)明性的并且對(duì)本發(fā)明不是限制性的。根據(jù)一個(gè)實(shí)施例,更準(zhǔn)確地確定能夠彼此進(jìn)行通信的多個(gè)控制器模塊的狀態(tài)是可行的。
圖1是通過(guò)利用根據(jù)第一實(shí)施例的信息處理設(shè)備建立的存儲(chǔ)系統(tǒng)的配置的示例的說(shuō)明圖。圖2是配備在根據(jù)第一實(shí)施例的信息處理設(shè)備中的CM的配置的示意圖。圖3是每個(gè)CM執(zhí)行的主CM指定處理的流程圖。圖4是當(dāng)通信錯(cuò)誤出現(xiàn)時(shí)每個(gè)從CM執(zhí)行的用于從CM的錯(cuò)誤處理的流程圖。圖5是配備在每個(gè)CM中的狀態(tài)值表的說(shuō)明圖。圖6是每個(gè)CM保留的點(diǎn)增加信息的說(shuō)明圖。圖7是當(dāng)通信錯(cuò)誤出現(xiàn)時(shí)主CM執(zhí)行的用于主CM的錯(cuò)誤處理的流程圖。圖8是當(dāng)接收到狀態(tài)值表時(shí)主CM執(zhí)行的用于接收該表時(shí)的處理的流程圖。圖9是當(dāng)接收到狀態(tài)值表時(shí)下一個(gè)主CM執(zhí)行的用于接收該表時(shí)的處理的流程圖。圖10是下一個(gè)主CM執(zhí)行的生存檢查處理的流程圖。圖11是在從CM發(fā)生故障的情況下根據(jù)第一實(shí)施例的信息處理設(shè)備的操作的內(nèi)容的說(shuō)明圖。圖12是在主CM發(fā)生故障的情況下根據(jù)第一實(shí)施例的信息處理設(shè)備的操作的內(nèi)容的說(shuō)明圖。圖13是當(dāng)接收到根據(jù)第二實(shí)施例的信息處理設(shè)備中的狀態(tài)值表時(shí)下一個(gè)主CM執(zhí)行的用于接收該表格時(shí)的處理的流程圖。
具體實(shí)施例方式下文中將參考附圖來(lái)詳細(xì)描述本發(fā)明的實(shí)施例。應(yīng)注意:下文中將描述的第一和第二實(shí)施例的每一個(gè)不過(guò)是本發(fā)明的一個(gè)示例,以具體的配置和過(guò)程與各個(gè)實(shí)施例中的配置和過(guò)程不同的這樣的方式也能夠?qū)崿F(xiàn)本發(fā)明?!兜谝粚?shí)施例》首先,將利用圖1和圖2描述根據(jù)第一實(shí)施例的信息處理設(shè)備10的使用模式、其硬件配置及其基本操作(功能)。順便一提,圖1是利用信息處理設(shè)備10所建立的存儲(chǔ)系統(tǒng)的架構(gòu)的示例的說(shuō)明圖。此外,圖2是信息處理設(shè)備10所配備的CM(Controller Module,控制器模塊)11的每一個(gè)的配置的示意圖。
根據(jù)第一實(shí)施例的信息處理設(shè)備10是用于建立如圖1所示的存儲(chǔ)系統(tǒng)的設(shè)備。在這個(gè)存儲(chǔ)系統(tǒng)中的DE (Drive Enclosure,驅(qū)動(dòng)器機(jī)柜)16的每一個(gè)是配置為將多個(gè)(小于或等于指定數(shù)量的)驅(qū)動(dòng)器安裝到體單元中的單元,所述體單元能夠安裝有多達(dá)指定數(shù)量的驅(qū)動(dòng)器(硬盤(pán)驅(qū)動(dòng)器或者固態(tài)驅(qū)動(dòng)器)。EXP (expander,擴(kuò)展器)15的每一個(gè)是用于在CM 11和DE16之間建立連接的多端口交換機(jī)(在第一實(shí)施例中其是SAS(SerialAttached SCSI,串行連接 SCSI (Small Computer System Interface,小型計(jì)算機(jī)系統(tǒng)接口))。當(dāng)建立該存儲(chǔ)系統(tǒng)時(shí),通常EXP 15設(shè)置在信息處理設(shè)備10和多個(gè)DE 16之間,該EXP 15的數(shù)量和規(guī)格(端口數(shù))使信息處理設(shè)備10內(nèi)的各個(gè)CM 11能夠連接到(全部)DE 16中的任意數(shù)量的DE 16。信息處理設(shè)備10是使存儲(chǔ)系統(tǒng)(多個(gè)DE 16經(jīng)由多個(gè)EXP15連接到信息處理設(shè)備10本身)內(nèi)的所有驅(qū)動(dòng)器用作多個(gè)RAID (Redundant Array of Independent (orInexpensive) Disks,獨(dú)立(或經(jīng)濟(jì))磁盤(pán)冗余陣列)的設(shè)備。如圖1所不,信息處理設(shè)備10包括8個(gè)CM 11和4個(gè)FRT (Front-end Routers,前端路由器)12。應(yīng)注意:圖1示出了 8個(gè)CM 11,然而,信息處理設(shè)備10是可向其附接和可從其拆卸CM 11的設(shè)備并且是能夠以僅安裝有數(shù)量少于“8”的CM 11的形式而操作的設(shè)備。下文中,信息處理設(shè)備10中的各個(gè)CM 11也將以諸如CM#n(n=0到7)的符號(hào)表示。此夕卜,下文中,信息處理設(shè)備10中的各個(gè)FRT12也將以諸如FRT#m (m=0到3)的符號(hào)表示。信息處理設(shè)備10中的每個(gè)CM 11是從主機(jī)(未示出)接收對(duì)于每個(gè)RAID (任意的RAID)的讀出/寫(xiě)入請(qǐng)求的模塊,并且具有對(duì)每個(gè)RAID的具有對(duì)應(yīng)于所接收的讀出/寫(xiě)入請(qǐng)求的內(nèi)容的讀出/寫(xiě)入訪問(wèn)。應(yīng)注意:每個(gè)CM 11所接收的讀出/寫(xiě)入請(qǐng)求精確地說(shuō)不是“對(duì)于某一 RAID的讀出/寫(xiě)入請(qǐng)求”,而是“對(duì)于分配給RAID中的任何一個(gè)的某一邏輯卷的讀出/寫(xiě)入請(qǐng)求”。如圖2所示,CM 11包括4個(gè)DMA (Direct Memory Access,直接存儲(chǔ)器訪問(wèn))端口(圖 2 中的 “DMA”)21、4 個(gè) CA (Channel Adapter,信道適配器)22 和 4 個(gè) IOC (Input/Output Controller,輸入 / 輸出控制器)23。CMll 還包括 2 個(gè) CPU (Central ProcessingUnits,中央處理單元)24、存儲(chǔ)器控制器25和存儲(chǔ)器26。CM 11還進(jìn)一步包括存儲(chǔ)有IPL(Initial Program Loader,初始程序加載器)等的 ROM (Read Only Memory,只讀存儲(chǔ)器,未示出)以及高速緩沖存儲(chǔ)器(未示出)。每個(gè)CA 22是用于與主機(jī)進(jìn)行通信的接口單元。CM 11當(dāng)被實(shí)現(xiàn)時(shí)用作基于諸如FC(Fibre Channel,光纖信道)協(xié)議、iSCSI (Internet SmallComputer System Interface,因特網(wǎng)小型計(jì)算機(jī)系統(tǒng)接口)協(xié)議和SAS協(xié)議的協(xié)議來(lái)進(jìn)行通信的控制器模塊。此外,使用該存儲(chǔ)系統(tǒng)的主機(jī)用作通常包括用于與該存儲(chǔ)系統(tǒng)(信息處理設(shè)備10)進(jìn)行通信的多個(gè)接口適配器的主機(jī)。然后,各個(gè)CM 11中的每個(gè)CA 22和每個(gè)服務(wù)器之間的連接直接地或者經(jīng)由交換機(jī)(FC交換機(jī)、LAN (Local Area Network,局域網(wǎng))交換機(jī)、SAS交換機(jī))建立以使得該主機(jī)的每個(gè)接口適配器能夠與不同的CM 11進(jìn)行通信。IOC 23是用于DE 16的接口控制器(在第一實(shí)施例中是SAS控制器)。如圖1所示,CM 11內(nèi)的每個(gè)IOC 23通常經(jīng)由多個(gè)EXP 15 (在第一實(shí)施例中是8個(gè)擴(kuò)展器)連接到所有的DE 15。DMA端口 21 (圖2)是用于CM 11之間的通信的接口單元。CM 11中的每個(gè)DMA端口 21連接到限定為多端口交換機(jī)的FRT 12 (FRT#0到FRT#3的任何一個(gè))。連接到FRT#m(m=0到3)的DMA端口 21下文中也稱(chēng)為DMA端口 #m。應(yīng)注意,信息處理設(shè)備10是配置為當(dāng)某一 CM 11發(fā)生故障并且被從其它部分分離(停止使用這個(gè)CM 11)時(shí)將由這個(gè)故障的CM 11所執(zhí)行的處理移交到另一個(gè)CM 11的設(shè)備。換句話說(shuō),信息處理設(shè)備10是如下的設(shè)備:其中每個(gè)CM 11 (每個(gè)CM 11中的CPU 24)相對(duì)頻繁地向另一個(gè)CM 11通知關(guān)于由該CM 11本身執(zhí)行的處理的內(nèi)容的信息并且這個(gè)信息的通知涉及利用每個(gè)DMA端口 21。此外,CM 11被配置(編程)為周期性地執(zhí)行通過(guò)嘗試通信來(lái)檢查其它CM 11的狀態(tài)是否正常的處理。該處理也涉及使用每個(gè)DMA端口 21。存儲(chǔ)器26是用作由CPU 24根據(jù)ROM上的IPL從系統(tǒng)盤(pán)讀出的程序的存儲(chǔ)區(qū)、該程序的工作區(qū)、(稍后將詳細(xì)地說(shuō)明的)狀態(tài)值表28的存儲(chǔ)區(qū)等的DRAM (Dynamic RandomAccess Memory,動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器)。應(yīng)注意,該系統(tǒng)盤(pán)意思是在該存儲(chǔ)系統(tǒng)內(nèi)的存儲(chǔ)有被讀取到存儲(chǔ)器26上并由CPU24執(zhí)行的程序的指定的RAID。存儲(chǔ)器控制器25是控制存儲(chǔ)器26和控制CM 11內(nèi)的各個(gè)單元之間(存儲(chǔ)器26和DMA端口 21之間等)的連接的單元。下文中將具體地描述根據(jù)第一實(shí)施例的信息處理設(shè)備10的操作(功能)。應(yīng)注意,根據(jù)第一實(shí)施例的信息處理設(shè)備10的特點(diǎn)尤其在于確定主CM (稍后將說(shuō)明其細(xì)節(jié))是否發(fā)生故障的過(guò)程。因此,下面關(guān)于信息處理設(shè)備10的操作的討論將集中在與該確定過(guò)程有關(guān)的操作。信息處理設(shè)備10中的每個(gè)CM 11在啟動(dòng)時(shí)執(zhí)行圖3所示的過(guò)程的主CM指定處理。具體地說(shuō),因?yàn)閱?dòng)而開(kāi)始主CM指定處理的CM 11首先產(chǎn)生作為其中以優(yōu)先級(jí)從最高開(kāi)始的順序布置所有CM 11的名稱(chēng)(識(shí)別信息)的列表的CM列表(步驟S101)。這里,“其中以優(yōu)先級(jí)從最高開(kāi)始的順序布置所有CM 11的名稱(chēng)的列表(即CM列表)”意思是“其中所有CM 11的名稱(chēng)被布置使得具有較高優(yōu)先級(jí)的CM 11的名稱(chēng)定位在更前側(cè)的列表”。此夕卜,各個(gè)CM 11的優(yōu)先級(jí)意思是為了使主CM (和下一個(gè)主CM)能被確定而預(yù)先分配給各CM11的優(yōu)先級(jí)。已經(jīng)完成了產(chǎn)生CM列表的CM 11從所產(chǎn)生的CM列表讀出在最前側(cè)的仍未處理的名稱(chēng)(仍未讀出的名稱(chēng))(步驟S102)。接著,CM 11通過(guò)使用DMA端口 21的通信來(lái)檢查具有讀出的名稱(chēng)的CM 11的狀態(tài)(步驟S103)。然后,如果所檢查的CM 11的狀態(tài)異常(離線等)(步驟S103,異常),則該CM 11從CM列表中刪除這個(gè)CM 11的名稱(chēng)(步驟S104),并且此后執(zhí)行步驟S105中的處理(確定)。此外,反之如果所檢查的CM 11的狀態(tài)正常(步驟S103,正常),則CM 11執(zhí)行步驟S105中的處理而不進(jìn)行步驟S104中的處理。在步驟S105中,CM 11確定關(guān)于CM列表中的所有名稱(chēng)的處理是否完成(這次所處理的名稱(chēng)是否是CM列表中的最后的名稱(chēng))。然后,如果關(guān)于CM列表中的所有名稱(chēng)的處理沒(méi)有完成(步驟S105,否),則CM 11再次執(zhí)行從步驟S102向前的處理。如果關(guān)于CM列表中的所有名稱(chēng)的處理完成了(步驟S105,是),則CMll存儲(chǔ)具有在那個(gè)時(shí)間點(diǎn)的CM列表中的頂部名稱(chēng)的CM 11被限定為主CM的信息(步驟S106)。然后,CM11完成了主CM指定處理(圖3中的處理)。如果完成了主CM指定處理的每個(gè)CM 11本身是主CM,則該CM 11開(kāi)始作為主CM的操作,但是如果本身不是主CM,則該CM 11開(kāi)始作為從CM的操作。作為從CM操作的每個(gè)CM 11 (開(kāi)始作為從CM的操作的CM 11)下文中將稱(chēng)為從CM,作為主CM操作的CM 11將稱(chēng)為主CM。已經(jīng)描述過(guò):信息處理設(shè)備10中的每個(gè)CM 11 (主CM或者從CM)利用DMA端口21相對(duì)頻繁地將關(guān)于CM 11本身所執(zhí)行的處理的內(nèi)容的信息通知給另一個(gè)CM 11。此外,每個(gè)CM 11通過(guò)使用DMA端口 21來(lái)周期性地執(zhí)行檢查是否能與另一個(gè)CM 11通信的處理。如果在諸如這個(gè)的通信期間出現(xiàn)通信錯(cuò)誤,則從CM執(zhí)行圖4所示的過(guò)程中的用于從CM的錯(cuò)誤處理。S卩,如果在與另一個(gè)CM 11通信期間出現(xiàn)通信錯(cuò)誤,則從CM首先將對(duì)應(yīng)于出現(xiàn)的錯(cuò)誤的值增加到狀態(tài)值表28上的對(duì)應(yīng)于出現(xiàn)的錯(cuò)誤的類(lèi)型的每個(gè)可疑的部件(具有中斷的可能性的部件)的狀態(tài)值(步驟S201)。這里,狀態(tài)值表28意思是能夠存儲(chǔ)關(guān)于每個(gè)CM 11的狀態(tài)值和關(guān)于CMll中的每個(gè)DMA端口 21的狀態(tài)值的表格。此外,關(guān)于某一部件(CM 11、DMA端口 21)的狀態(tài)值是表示錯(cuò)誤出現(xiàn)的狀態(tài)的值并且是對(duì)應(yīng)于該出現(xiàn)的錯(cuò)誤的類(lèi)型的預(yù)定點(diǎn)的增加值。這個(gè)狀態(tài)值由每個(gè)單獨(dú)的CM 11來(lái)管理。此外,能夠從這個(gè)狀態(tài)值獲得該部件發(fā)生故障的概率(確定度,狀態(tài)值/閾值)。應(yīng)注意,狀態(tài)值表中的狀態(tài)值的初始值是“0”,當(dāng)錯(cuò)誤出現(xiàn)時(shí)更新這個(gè)值。此外,通過(guò)信息處理設(shè)備10的電源關(guān)/開(kāi)和通過(guò)重新啟動(dòng)CM 11也能將該狀態(tài)值初始化為” O”。下文中將通過(guò)利用圖5和圖6更具體地描述步驟S201中的處理的內(nèi)容。每個(gè)CM 11 (從CM/主CM)使用CM 11自身中的存儲(chǔ)器26上的指定區(qū)域作為圖5中描繪的形式的狀態(tài)值表28。應(yīng)注意,標(biāo)有“CM#n” (n=0到7)的I字節(jié)存儲(chǔ)區(qū)域是存儲(chǔ)有圖5中的“CM#n”的狀態(tài)值的區(qū)域。此夕卜,標(biāo)有“CM#nDMAm” (n=0到7,m=0到3)的I字節(jié)存儲(chǔ)區(qū)域是存儲(chǔ)有在CM#n內(nèi)的DMA端口 #m的狀態(tài)值的區(qū)域。此外,每個(gè)CM 11具有區(qū)別地確定出現(xiàn)下面五種類(lèi)型的錯(cuò)誤中哪種類(lèi)型的錯(cuò)誤(在與另一個(gè)CM 11通信期間出現(xiàn)通信錯(cuò)誤)的功能。CM超時(shí)(CM之間):2個(gè)CM 11之間通信超時(shí);CM超時(shí)(CPU之間):同一 CM 11內(nèi)的兩個(gè)CPU 24之間通信超時(shí);通信異常(在系統(tǒng)自身一側(cè)):除了通信超時(shí)之外的在CM 11自身側(cè)存在有明顯問(wèn)題的通信異常;通信異常(在相對(duì)的系統(tǒng)一側(cè)):除了通信超時(shí)之外的在另一個(gè)CM 11 (通信對(duì)方)側(cè)上存在有明顯問(wèn)題的通信異常;以及通信異常(可疑部分未知):不知道該問(wèn)題存在于哪一側(cè)(CM 11自身側(cè)或另一個(gè)CM 11側(cè))的通信異常。此外,每個(gè)CM 11保留具有圖6所示的內(nèi)容的點(diǎn)增加信息,S卩,其中按出現(xiàn)的錯(cuò)誤的逐個(gè)類(lèi)型預(yù)先確定要增加到各個(gè)部件的狀態(tài)值的值(點(diǎn))的點(diǎn)增加信息。然后,步驟S201中的處理是基于該點(diǎn)增加信息將對(duì)應(yīng)于出現(xiàn)的錯(cuò)誤的值(在點(diǎn)增加信息中的點(diǎn))增加到對(duì)應(yīng)于出現(xiàn)的錯(cuò)誤的類(lèi)型的每個(gè)可疑部件的狀態(tài)值的處理。應(yīng)注意,“O”可以增加或者可以不增加到在圖6所示的點(diǎn)增加信息中其點(diǎn)是“O”的對(duì)應(yīng)部件的狀態(tài)值。
回來(lái)參考圖4,將繼續(xù)用于從CM的錯(cuò)誤處理的描述。完成步驟S201中的處理的從CM確定該從CM本身是否作為確定主CM的狀態(tài)和進(jìn)行拆卸的狀態(tài)確定CM操作(步驟S202)。盡管稍后將描述細(xì)節(jié),但是視情況作為狀態(tài)確定CM操作的從CM可以只是指定的從CM (稍后將說(shuō)明的下一個(gè)主CM)。此外,該指定的從CM(下一個(gè)主CM)僅當(dāng)變成指定狀態(tài)時(shí)才操作。因此,該從CM通常在步驟S202中的處理(確定)后執(zhí)行步驟S205中的處理。在步驟S205中,從CM對(duì)于在步驟S201的處理中其值更新過(guò)的每個(gè)狀態(tài)值檢查該狀態(tài)值是否超過(guò)傳輸閾值。這里,該傳輸閾值意思是預(yù)定為成為比點(diǎn)增加信息(圖6)中的大多數(shù)點(diǎn)更大的值(通常是點(diǎn)增加信息中的點(diǎn)的最大值的兩倍或三倍)的值。該步驟S205中的處理是根據(jù)信息處理設(shè)備10中的正常CM 11的數(shù)量(下文中稱(chēng)為CM計(jì)數(shù))改變傳輸閾值的處理。具體地,步驟S204中的處理是如果關(guān)系“CM計(jì)數(shù)彡4”成立,則假設(shè)傳輸閾值=“48”而執(zhí)行并且反之如果關(guān)系“CM計(jì)數(shù)> 4”不成立,則也假設(shè)傳輸閾值=“32”而執(zhí)行的處理。如果不存在其狀態(tài)值超過(guò)該傳輸閾值的部件(下文中稱(chēng)為超過(guò)傳輸閾值的部件)(步驟S206,否),則完成步驟S205中的處理的從CM終止用于從CM的錯(cuò)誤處理(圖4中的處理)。然而,如果存在一個(gè)或更多個(gè)超過(guò)傳輸閾值的部件(步驟S206,是),則該從CM確定主CM是否是超過(guò)傳輸閾值的部件(超過(guò)傳輸閾值的部件中的任何一個(gè)是否是主CM)(步驟 S207)。如果主CM不是超過(guò)傳輸閾值的部件(步驟S207,否),則在步驟S208中從CM將狀態(tài)值表28 (狀 態(tài)值表28中的全部狀態(tài)值)傳輸?shù)街鰿M。此后,該從CM執(zhí)行清除狀態(tài)值表28的處理和將表格清除時(shí)間更新為“當(dāng)前時(shí)間+指定時(shí)間(例如,I分鐘)”的處理。這里,短語(yǔ)“清除狀態(tài)值表28”表示狀態(tài)值表28中的各個(gè)狀態(tài)值改寫(xiě)為“O”。此外,表格清除時(shí)間表示當(dāng)達(dá)到這個(gè)表格清除時(shí)間時(shí)從CM清除狀態(tài)值表28的時(shí)間。該從CM在執(zhí)行步驟S208中的處理后完成用于從CM的錯(cuò)誤處理。這里,在描述用于從CM的錯(cuò)誤處理中的剩余步驟的內(nèi)容前要說(shuō)明主CM的操作。如果在與另一個(gè)CM 11通信期間出現(xiàn)通信錯(cuò)誤,則主CM執(zhí)行圖7中所示的過(guò)程中的用于主CM的錯(cuò)誤處理。S卩,如果在與另一個(gè)CM 11通信期間出現(xiàn)通信錯(cuò)誤,則該主CM進(jìn)行將對(duì)應(yīng)于出現(xiàn)的錯(cuò)誤的值增加到在該主CM本身的存儲(chǔ)器26上的狀態(tài)值表28中的對(duì)應(yīng)于出現(xiàn)的錯(cuò)誤的類(lèi)型的每個(gè)可疑部件的狀態(tài)值的處理(步驟S301)。該處理是具有與利用圖5和6說(shuō)明的步驟S201中的處理的內(nèi)容相同的內(nèi)容的處理。接著,主CM對(duì)于狀態(tài)值表28中的每個(gè)狀態(tài)值檢查該狀態(tài)值是否超過(guò)拆卸閾值(步驟S302)。這里,拆卸閾值表示預(yù)定為成為比該傳輸閾值(第一實(shí)施例中的32或48)大的值(比該傳輸閾值大幾倍,例如,128)的值。完成步驟S302中的處理的主CM確定是否存在其狀態(tài)值超過(guò)該拆卸閾值的部件(下文中將稱(chēng)為超過(guò)拆卸閾值的部件)(步驟S303)。然后如果不存在超過(guò)拆卸閾值的部件(步驟S303,否),則主CM終止這個(gè)用于主CM的錯(cuò)誤處理。然而,如果存在一個(gè)或更多個(gè)超過(guò)拆卸閾值的部件(步驟S303,是),則該主CM確定該主CM本身是否是超過(guò)拆卸閾值的部件(超過(guò)拆卸閾值的部件中的任何一個(gè)是否是CM11自身)(步驟S304)。如果該主CM本身不是超過(guò)拆卸閾值的部件(步驟S304,否),則在步驟S305中該主CM進(jìn)行將每個(gè)超過(guò)拆卸閾值的部件從其它部分拆卸的處理。具體地說(shuō),在步驟S305中,主CM執(zhí)行將每個(gè)CM 11的狀態(tài)(每個(gè)CM 11中的程序)轉(zhuǎn)移為不使用每個(gè)超過(guò)拆卸閾值的部件的狀態(tài)的處理、將所拆卸的CM 11通知主機(jī)的處理等。然后,完成步驟S305中的處理的主CM終止用于主CM的錯(cuò)誤處理。然而,如果主CM本身是超過(guò)拆卸閾值的部件(步驟S304,是),則主CM終止這個(gè)用于主CM的錯(cuò)誤處理而不將該主CM本身從其它部分拆卸。此外,正如已經(jīng)說(shuō)明的那樣(見(jiàn)圖4),如果滿足了預(yù)定條件,則該從CM將狀態(tài)值表28傳輸?shù)街鰿M。當(dāng)接收到來(lái)自從CM的狀態(tài)值表28時(shí),該主CM執(zhí)行圖8中所示的過(guò)程中的用于接收表格時(shí)的處理。也就是說(shuō),接收狀態(tài)值表28的主CM首先將所接收的狀態(tài)值表28中的每個(gè)部件的狀態(tài)值增加到主CM本身的狀態(tài)值表28中的同一部件的狀態(tài)值(步驟S401)。此后,在執(zhí)行具有與用于主CM的錯(cuò)誤處理(圖7)中的步驟S302到步驟S305中的處理的那些內(nèi)容完全相同的內(nèi)容的處理(步驟S402到步驟S405)后,主CM終止用于接收表格時(shí)的處理。除上面描述的處理之外,該主CM還執(zhí)行按每一指定時(shí)間清除該CM 11自身內(nèi)的狀態(tài)值表28的處理?;貋?lái)參考圖4,將繼續(xù)用于從CM的錯(cuò)誤處理的描述。如果主CM是超過(guò)傳輸閾值的部件(步驟S207,是),則從CM在步驟S209中進(jìn)行下一個(gè)主CM指定處理。下一個(gè)主CM指定處理是如下的處理:以與主CM指定處理(圖3)的過(guò)程相同的過(guò)程從排除了主CM的CM 11內(nèi)搜索具有最高優(yōu)先級(jí)的正常CMll并且將所搜索到的CM 11指定為下一個(gè)主CM (存儲(chǔ)所搜索到的CM 11是下一個(gè)主CM的信息)。完成下一個(gè)主CM指定處理的從CM確定該從CM本身是否是下一個(gè)主CM (步驟S210)。然后,如果從CM本身不是下一個(gè)主CM(步驟S210,否),則在S211步驟中該從CM首先將狀態(tài)值表28傳輸?shù)较乱粋€(gè)主CM。接著,在執(zhí)行清除狀態(tài)值表28的處理和將表格清除時(shí)間更新為“當(dāng)前時(shí)間+指定時(shí)間”的處理后,該從CM完成步驟S211中的處理和用于從CM的錯(cuò)誤處理(圖4中的處理)。然而,如果該從CM本身是下一個(gè)主CM (步驟S210,是),則在步驟S212中,該從CM進(jìn)一步執(zhí)行將生存檢查實(shí)施計(jì)數(shù)初始化為“O”并且在實(shí)施計(jì)數(shù)清除時(shí)間中設(shè)置“當(dāng)前時(shí)間+指定時(shí)間”的處理。此外,該從CM也執(zhí)行存儲(chǔ)該從CM開(kāi)始作為狀態(tài)確定CM操作的信息(存儲(chǔ)該從CM作為狀態(tài)確定CM操作的信息)的處理。應(yīng)注意,生存檢查實(shí)施計(jì)數(shù)是用于在稍后將說(shuō)明的生存檢查處理(圖10)中存儲(chǔ)在指定時(shí)間內(nèi)的執(zhí)行計(jì)數(shù)的變量。此外,實(shí)施計(jì)數(shù)清除時(shí)間是狀態(tài)確定CM (作為狀態(tài)確定CM操作的下一個(gè)從CM)清除狀態(tài)值表28并且開(kāi)始作為普通的從CM操作的時(shí)間。完成步驟S212中的處理的從CM (開(kāi)始作為狀態(tài)確定CM的操作的下一個(gè)主CM,這個(gè)CM下文中也將簡(jiǎn)稱(chēng)為狀態(tài)確定CM)終止這個(gè)用于從CM的錯(cuò)誤處理。
如果在與另一個(gè)CM 11通信期間出現(xiàn)通信錯(cuò)誤,則狀態(tài)確定CM (作為狀態(tài)確定CM操作的下一個(gè)主CM)也開(kāi)始這個(gè)用于從CM的錯(cuò)誤處理。然后,在執(zhí)行步驟S201中的處理后,該狀態(tài)確定CM不是執(zhí)行步驟S205中的處理而是執(zhí)行步驟S203中的處理(確定),因?yàn)檫@個(gè)CM本身作為狀態(tài)確定CM操作(步驟S202,是)。在步驟S203中,狀態(tài)確定CM確定在CM 11自身中的狀態(tài)值表28中的主CM的狀態(tài)值是否超過(guò)預(yù)定生存檢查閾值(例如,96 )。然后,如果主CM的狀態(tài)值超過(guò)生存檢查閾值(步驟S203,是),則該狀態(tài)確定CM執(zhí)行生存檢查處理(稍后將對(duì)其詳細(xì)地描述)并且此后終止用于從CM的錯(cuò)誤處理。此外,相反如果主CM的狀態(tài)值小于或等于生存檢查閾值(步驟S203,否),則狀態(tài)確定CM完成用于從CM的錯(cuò)誤處理而不執(zhí)行生存檢查處理。正如已經(jīng)說(shuō)明的那樣(見(jiàn)圖4),如果主CM是超過(guò)傳輸閾值的部件(步驟S207,否),不是下一個(gè)主CM的從CM將狀態(tài)值表28傳輸?shù)较乱粋€(gè)主CM (步驟S211)。當(dāng)接收到狀態(tài)值表28時(shí),下一個(gè)主CM執(zhí)行圖9中所示的過(guò)程中的用于接收到表格時(shí)的處理。即,當(dāng)接收到狀態(tài)值表28時(shí),下一個(gè)主CM首先將所接收的狀態(tài)值表28中的每個(gè)部件的狀態(tài)值增加到該CM 11自身內(nèi)的狀態(tài)值表28中的同一部件的狀態(tài)值(步驟S501)。接著,下一個(gè)主CM確定該CM是否作為狀態(tài)確定CM操作(步驟S502)。然后,如果不是作為狀態(tài)確定CM操作(步驟S502,否),則下一個(gè)主CM在步驟S503中進(jìn)行與步驟S212(圖4)中的處理相同的處理。即,下一個(gè)主CM在步驟S503中將生存檢查實(shí)施計(jì)數(shù)初始化為“O”并且在實(shí)施計(jì)數(shù)清除時(shí)間中設(shè)置“當(dāng)前時(shí)間+指定時(shí)間”。此外,下一個(gè)主CM存儲(chǔ)開(kāi)始作為狀態(tài)確定CM操作的信息。完成步驟S503中的處理的下一個(gè)主CM確定該主CM的狀態(tài)值是否超過(guò)生存檢查閾值(步驟S504)。此外,如果已經(jīng)作為狀態(tài)確定CM操作(步驟S502,是),則下一個(gè)主CM執(zhí)行步驟S504中的處理(確定)而不進(jìn)行步驟S503中的處理。然后,如果主CM的狀態(tài)值沒(méi)有超過(guò)生存檢查閾值(步驟S504,否),則狀態(tài)確定CM(作為狀態(tài)確定CM操作的下一個(gè)主CM)終止這個(gè)用于接收表格時(shí)的處理。此外,相反如果主CM的狀態(tài)值超過(guò)生存檢查閾值(步驟S504,是),則狀態(tài)確定CM執(zhí)行步驟S505中的生存檢查處理并且此后完成用于接收表格時(shí)的處理。在步驟S505 (圖9)和步驟S204 (圖4)中執(zhí)行的生存檢查處理是在圖10中示出的過(guò)程中的處理。具體地說(shuō),主CM的狀態(tài)值超過(guò)生存檢查閾值,因此開(kāi)始這個(gè)生存檢查處理的狀態(tài)確定CM首先實(shí)施(嘗試)與主CM的通信(步驟S601)。此外,狀態(tài)確定CM也執(zhí)行清除狀態(tài)值表28和將表格清除時(shí)間更新為“當(dāng)前時(shí)間+指定時(shí)間”的處理(步驟S602)。如果在步驟S601中成功地與主CM通信(步驟S603,是),則完成步驟S601和步驟S602中的處理的狀態(tài)確定CM將“I”增加到生存檢查實(shí)施計(jì)數(shù)(步驟S604)。此后,狀態(tài)確定CM確定其值更新過(guò)的生存檢查實(shí)施計(jì)數(shù)是否超過(guò)預(yù)定的實(shí)施計(jì)數(shù)閾值(例如,“3”)(步驟 S605)。如果生存檢查實(shí)施計(jì)數(shù)超過(guò)實(shí)施計(jì)數(shù)閾值(步驟S605,是),則該狀態(tài)確定CM執(zhí)行將主CM從其它部分拆卸的處理(諸如通知每個(gè)CM 11改變了配置的處理)。然后,該狀態(tài)確定CM終止這個(gè)生存檢查處理。相反如果生存檢查實(shí)施計(jì)數(shù)沒(méi)有超過(guò)實(shí)施計(jì)數(shù)閾值(步驟S605,否),則該狀態(tài)確定CM終止這個(gè)生存檢查處理而不從其它部分拆卸主CM。此外,如果在步驟S601中與主CM通信失敗(步驟S603,否),則該狀態(tài)確定CM從其它部分拆卸主CM而不檢查生存檢查實(shí)施計(jì)數(shù)的值(步驟S606)。然后,該狀態(tài)確定CM完成這個(gè)生存檢查處理。下文中將更具體地描述根據(jù)第一實(shí)施例的信息處理設(shè)備10的操作。首先,將通過(guò)例舉在CM#0是主CM的狀態(tài)中CM#3 (從CM)發(fā)生故障的實(shí)例來(lái)描述在從CM發(fā)生故障情況下信息處理設(shè)備10的操作。在這種情況下,如圖11示意地示出,接著在從CM 11(圖11中的CM#2、CM#6、CM#7)中的每一個(gè)與CM#3通信(由虛線箭頭表示)期間出現(xiàn)通信錯(cuò)誤。因此,例如,CM#2經(jīng)由DMA端口 #0進(jìn)行與CM#3的通信,在這樣情況下,CM#2執(zhí)行用于從CM的錯(cuò)誤處理(圖4)。然后,作為執(zhí)行步驟S201中的處理的結(jié)果,接著“3”和“8”(見(jiàn)圖6)被增加到CM#2內(nèi)的狀態(tài)值表28中的與CM#3有關(guān)的狀態(tài)值和與CM#3的DMA端口#0有關(guān)的狀態(tài)值。CM#2為并不作為狀態(tài)確定CM操作的CM 11 (不是下一個(gè)主CM的CM 11)。因此,該處理轉(zhuǎn)向到在步驟S201中的處理后執(zhí)行的步驟S202中的“否”的那側(cè)。然后,其值更新過(guò)的任何狀態(tài)值沒(méi)有超過(guò)傳輸閾值(步驟S206,否),由此用于從CM的錯(cuò)誤處理完成而不將狀態(tài)值表28傳輸?shù)街鰿M。與CM#3通信失敗的CM#2通過(guò)將用于與CM#3通信的DMA端口 #21改變?yōu)槔鏒MA端口 #1來(lái)嘗試與CM#3通信。如果CM#3發(fā)生故障,則在此通信期間也會(huì)出現(xiàn)錯(cuò)誤,使得CM#2再次執(zhí)行用于從CM的錯(cuò)誤處理。作為結(jié)果,進(jìn)行步驟S201中的處理,“3”和“8”(見(jiàn)圖6)分別被增加給CM#2內(nèi)的狀態(tài)值表28中的與CM#3有關(guān)的狀態(tài)值和與CM#3的DMA端口 #1有關(guān)的狀態(tài)值。需要進(jìn)行與CM#3通信的CM#2重復(fù)上述的處理。因此,CM#3的狀態(tài)值在相對(duì)短的時(shí)段中(在隨著指定時(shí)間流逝而清除狀態(tài)值表28之前)超過(guò)傳輸閾值。然后,作為結(jié)果,接著CM#2中的狀態(tài)值表28傳輸?shù)街鰿M (CM#0)。每當(dāng)出現(xiàn)通信錯(cuò)誤,已經(jīng)嘗試與CM#3通信的其它CM 11(圖11中的CM#6和CM#7)執(zhí)行用于從CM的錯(cuò)誤處理。因此,接著每個(gè)CM 11中的狀態(tài)值表28傳輸?shù)街鰿M (CM#0)。另一方面,無(wú)論何時(shí)接收到狀態(tài)值表28,主CM (CM#0)開(kāi)始用于接收表格時(shí)的處理(圖8)并且將所接收的狀態(tài)值表28中的每個(gè)部件的狀態(tài)值增加到該主CM本身的狀態(tài)值表28中的每個(gè)狀態(tài)值(步驟S401)。因此,當(dāng)接收狀態(tài)值表28若干次時(shí),主CM (CM#0)的狀態(tài)值表28中與CM#3有關(guān)的狀態(tài)值超過(guò)拆卸閾值。然后,作為結(jié)果(步驟S403,是),接著該CM#3被拆卸。接下來(lái),通過(guò)例舉在CM#0是主CM并且CM#1是下一個(gè)主CM的情況來(lái)描述在主CM發(fā)生故障的情況下的信息處理設(shè)備10的操作。在這種情況下,如圖12示意地示出,接著在從各個(gè)CM 11 (圖12中的CM#2、CM#6、CM#7)流到主CM (CM#0)的通信(由虛線箭頭表示)期間出現(xiàn)通信錯(cuò)誤。然后,檢測(cè)通信錯(cuò)誤的出現(xiàn)的CM 11 (CM#2、CM#6、CM#7)中的每一個(gè)重復(fù)“通過(guò)在執(zhí)行用于從CM的錯(cuò)誤處理后改變用于通信的DMA端口 21來(lái)嘗試與主CM (CM#0)通信的處理”。因此,每個(gè)CM 11內(nèi)的狀態(tài)值表28中的與主CM (CM#0)有關(guān)的狀態(tài)值在相對(duì)短的時(shí)段內(nèi)超過(guò)傳輸閾值。如果與主CM (CM#0)有關(guān)的狀態(tài)值超過(guò)傳輸閾值(步驟S207,是),則不是下一個(gè)主CM的從CM將狀態(tài)值表28傳輸?shù)较乱粋€(gè)主CM (CM#1)(步驟S211)。無(wú)論何時(shí)接收狀態(tài)值表28,下一個(gè)主CM開(kāi)始用于接收表格時(shí)的處理(圖9)并且將所接收的狀態(tài)值表28中的每個(gè)部件的狀態(tài)值增加到該下一個(gè)主CM本身的狀態(tài)值表28中的每個(gè)狀態(tài)值(步驟S501)。因此,當(dāng)接收狀態(tài)值表28若干次時(shí),接著下一個(gè)主CM (CM#1)內(nèi)的狀態(tài)值表28中的與主CM (CM#0)有關(guān)的狀態(tài)值超過(guò)生存檢查閾值。如果與主CM (CM#0)有關(guān)的狀態(tài)值超過(guò)生存檢查閾值,則下一個(gè)主CM執(zhí)行生存檢查處理(圖10)。正如已經(jīng)說(shuō)明的那樣,生存檢查處理是如下的處理:如果從與主CM的通信能夠確認(rèn)主CM發(fā)生故障并且如果指定時(shí)間內(nèi)的生存檢查處理的實(shí)施計(jì)數(shù)超過(guò)實(shí)施計(jì)數(shù)閾值,則從其它部分拆卸主CM。因此,如果主CM (CM#0)實(shí)際上發(fā)生故障,則接著當(dāng)?shù)趲状螆?zhí)行生存檢查處理時(shí)從其它部分拆卸主CM。正如至今詳細(xì)描述的那樣,根據(jù)第一實(shí)施例的信息處理設(shè)備10是如果在確定主CM是否發(fā)生故障情況下確定主CM故障,則當(dāng)以下條件成立時(shí)執(zhí)行限定為拆卸主CM的處理的生存檢查處理的設(shè)備。這個(gè)條件是狀態(tài)值表28中的與主CM有關(guān)的狀態(tài)值由于所接收的狀態(tài)值表28中的各個(gè)狀態(tài)值的增加而超過(guò)生存檢查閾值。然后,這個(gè)條件是如果一個(gè)從CM錯(cuò)誤地確定主CM發(fā)生故障則通常不成立的條件。因此,根據(jù)第一實(shí)施例的信息處理設(shè)備10能夠說(shuō)是與通過(guò)其中一個(gè)從CM確定是否拆卸主CM的常規(guī)設(shè)備相比能夠更精確地確定是否拆卸主CM的設(shè)備?!兜诙?shí)施例》根據(jù)本發(fā)明的第二實(shí)施例的信息處理設(shè)備是對(duì)上述討論到的根據(jù)第一實(shí)施例的信息處理設(shè)備10軟件化改進(jìn)的設(shè)備。因此,以下討論將以使用與用于說(shuō)明第一實(shí)施例中的信息處理設(shè)備10的那些附圖標(biāo)記相同的附圖標(biāo)記的方式集中在就根據(jù)第二實(shí)施例的信息處理設(shè)備10的操作而言與根據(jù)第一實(shí)施例的信息處理設(shè)備10不同的部分。此外,在以下討論中,根據(jù)第一實(shí)施例的信息處理設(shè)備10內(nèi)的CM 11稱(chēng)為第I類(lèi)CM 11,而根據(jù)第二實(shí)施例的信息處理設(shè)備10內(nèi)的CM 11稱(chēng)為第2類(lèi)CM 11。第2類(lèi)CM 11是與第I類(lèi)CM 11僅關(guān)于作為狀態(tài)確定CM的操作的內(nèi)容不同的模塊。具體地,如果是從CM,則由第2類(lèi)CM 11所執(zhí)行的用于從CM的錯(cuò)誤處理具有與上面描述的用于從CM的錯(cuò)誤處理(圖4)的內(nèi)容基本上相同的內(nèi)容。然而,在由第2類(lèi)CM 11執(zhí)行的用于從CM的錯(cuò)誤處理的步驟S211 (如果第2類(lèi)CM 11是下一個(gè)主CM,才執(zhí)行該步驟S211)中,對(duì)于每個(gè)其它第2類(lèi)CM 11 (下文中將稱(chēng)為發(fā)送器CM)也執(zhí)行初始化接收計(jì)數(shù)的處理。此外,如果是下一個(gè)主CM,則該第2類(lèi)CM 11執(zhí)行作為用于接收表格時(shí)的處理的圖13中所示的過(guò)程中的處理。S卩,用作下一個(gè)主CM的第2類(lèi)CM 11 (下文中將簡(jiǎn)稱(chēng)為下一個(gè)主CM)在接收到狀態(tài)值表28的情況下確定該CM是否作為狀態(tài)確定CM操作(步驟S701)。然后,如果并不作為狀態(tài)確定CM操作(步驟S701,否),則在步驟S702中下一個(gè)主CM將生存檢查實(shí)施計(jì)數(shù)和與每個(gè)發(fā)送器CM相關(guān)的接收計(jì)數(shù)初始化為“O”并且在實(shí)施計(jì)數(shù)清除時(shí)間中設(shè)置”當(dāng)前時(shí)間+指定時(shí)間”。此外,下一個(gè)主CM存儲(chǔ)該CM開(kāi)始作為狀態(tài)確定CM的操作的信息。在步驟S703中,完成步驟S702中的處理的下一個(gè)主CM執(zhí)行將所接收的狀態(tài)值表28中的每個(gè)部件的狀態(tài)值增加到該CM 11自身內(nèi)的狀態(tài)值表28中的同一部件的狀態(tài)值的處理。在這個(gè)步驟S703中,下一個(gè)主CM也執(zhí)行將“I”增加到關(guān)于這次所接收的狀態(tài)值表28的發(fā)送器CM的接收計(jì)數(shù)的處理。此外,如果已經(jīng)作為狀態(tài)確定CM操作(步驟S701,是),則下一個(gè)主CM執(zhí)行步驟S703中的處理而不進(jìn)行步驟S702中的處理。完成步驟S703的處理的下一個(gè)主CM確定主CM的狀態(tài)值是否超過(guò)生存檢查閾值(步驟 S704)。然后,如果主CM的狀態(tài)值超過(guò)生存檢查閾值(步驟S704,是),則下一個(gè)主CM確定至今所接收的狀態(tài)值表28的發(fā)送器CM是否是一個(gè)CM (步驟S705)。S卩,下一個(gè)主CM確定是否只有一個(gè)不是“O”的接收計(jì)數(shù)存在于與發(fā)送器CM有關(guān)的接收計(jì)數(shù)信息中(步驟S705)。然后,如果從多個(gè)發(fā)送器CM接收狀態(tài)值表28 (步驟S705,否),則下一個(gè)主CM執(zhí)行關(guān)于主CM的生存檢查處理(圖10)(步驟S706)并且此后完成這個(gè)用于接收表格時(shí)的處理。而另一方面,如果僅從一個(gè)CM接收狀態(tài)值表28(步驟S705,是),則下一個(gè)主CM執(zhí)行關(guān)于狀態(tài)值表28的單個(gè)發(fā)送器CM的生存檢查處理(步驟S707)并且此后完成這個(gè)用于接收表格時(shí)的處理。簡(jiǎn)而言之,如關(guān)于根據(jù)第一實(shí)施例的信息處理設(shè)備10所述的那樣,限定為用于開(kāi)始生存檢查處理的條件的條件“由于在所接收的狀態(tài)值表28中的各個(gè)狀態(tài)值的增加,狀態(tài)值表28中的與主CM有關(guān)的狀態(tài)值超過(guò)拆卸閾值”是如果一個(gè)從CM錯(cuò)誤地確定主CM發(fā)生故障則通常不成立的條件。然而,該條件“由于在所接收的狀態(tài)值表28中的各個(gè)狀態(tài)值的增加,狀態(tài)值表28中的與主CM有關(guān)的狀態(tài)值超過(guò)拆卸閾值”不是如果一個(gè)從CM錯(cuò)誤地確定主CM發(fā)生故障則不能成立的條件。然后,如果采用如上所述的過(guò)程,則能夠防止主CM由于一個(gè)從CM關(guān)于主CM的狀態(tài)的錯(cuò)誤的確定而被錯(cuò)誤地拆卸。此外,這也表示做出錯(cuò)誤的確定的從CM(S卩,發(fā)生故障的從CM)很快地(在其狀態(tài)值超過(guò)拆卸閾值前)從其它部分拆卸。因此,這是因?yàn)楦鶕?jù)第二實(shí)施例的信息處理設(shè)備10的每個(gè)CM 11配置為具有如上所述的功能?!缎薷氖纠纺軌蛞愿鞣N形式修改根據(jù)上述討論的實(shí)施例的每一個(gè)的信息處理設(shè)備10。例如,每個(gè)信息處理設(shè)備10能夠被修改為其中在步驟S204、S706等中下一個(gè)主CM不執(zhí)行生存檢查處理(圖10)而是執(zhí)行“拆卸主CM的處理”的設(shè)備。此外,每個(gè)信息處理設(shè)備10也能夠被修改為其中在步驟S211 (圖4)中只有主CM的狀態(tài)值發(fā)送到下一個(gè)主CM的設(shè)備。每個(gè)信息處理設(shè)備10也能夠被修改為其中不是傳輸閾值而是拆卸閾值和生存檢查閾值根據(jù)CM計(jì)數(shù)而改變的設(shè)備。此外,根據(jù)上述討論的實(shí)施例的每一個(gè)的信息處理設(shè)備10是用于存儲(chǔ)系統(tǒng)(RAID系統(tǒng))的設(shè)備,然而,如上所述的技術(shù)能夠應(yīng)用于包括多個(gè)可拆卸單元的設(shè)備。因此,基于如上所述的技術(shù)也能夠?qū)崿F(xiàn)與存儲(chǔ)無(wú)關(guān)的設(shè)備。
權(quán)利要求
1.一種包括能夠彼此進(jìn)行通信的多個(gè)控制器模塊的信息處理設(shè)備, 其中每個(gè)控制器模塊包括要關(guān)于通信對(duì)方設(shè)備的控制器模塊和/或所述設(shè)備自身的控制器模塊存儲(chǔ)狀態(tài)信息的存儲(chǔ)器(26),所述狀態(tài)信息反映與其它控制器模塊通信期間出現(xiàn)錯(cuò)誤的狀態(tài), 當(dāng)確定所述多個(gè)控制器模塊中的某一控制器模塊中是否出現(xiàn)故障時(shí),不同于確定目標(biāo)控制器模塊的所述控制器模塊基于存儲(chǔ)在不同于所述確定目標(biāo)控制器模塊的兩個(gè)或更多個(gè)控制器模塊的所述存儲(chǔ)器上的所述確定目標(biāo)控制器模塊的狀態(tài)信息來(lái)確定在所述確定目標(biāo)控制器模塊中是否出現(xiàn)故障。
2.如權(quán)利要求1所述的信息處理設(shè)備(10),其中所述多個(gè)控制器模塊包括作為主控制器模塊操作的主模塊、作為下一個(gè)主控制器模塊操作的下一個(gè)主模塊和每一個(gè)均作為從控制器模塊操作的多個(gè)從模塊;以及 當(dāng)確定所述主模塊中是否出現(xiàn)故障時(shí),所述下一個(gè)主模塊基于在所述模塊自身內(nèi)的存儲(chǔ)器(26)上的所述主模塊的所述狀態(tài)信息和所述從模塊通知的所述主模塊的所述狀態(tài)信息來(lái)確定所述主模塊中是否出現(xiàn)故障。
3.如權(quán)利要求2所述的信息處理設(shè)備,其中所述主模塊執(zhí)行: 基于在與其它控制器模塊通信期間出現(xiàn)的錯(cuò)誤的類(lèi)型來(lái)更新所述模塊自身內(nèi)的所述存儲(chǔ)器(26)上的關(guān)于所述通信對(duì)方設(shè)備的所述控制器模塊的所述狀態(tài)信息和/或關(guān)于所述模塊自身的所述狀態(tài)信息的第一更新處理; 將從所述下一個(gè)主模塊和各個(gè)從模塊發(fā)送的關(guān)于各個(gè)控制器模塊的狀態(tài)信息的值增加到所述模塊自身內(nèi)的所述存儲(chǔ)器上的關(guān)于所述各個(gè)控制器模塊的狀態(tài)信息的值的第二更新處理;以及 基于所述模塊自身內(nèi)的所述存儲(chǔ)器上的所述狀態(tài)信息來(lái)確定所述從模塊或者所述下一個(gè)主模塊中是否出現(xiàn)故 障的第一確定處理, 每個(gè)從模塊執(zhí)行: 所述第一更新處理;以及 第一發(fā)送處理,所述第一發(fā)送處理是如下的處理:如果所述模塊自身內(nèi)的所述存儲(chǔ)器(26)上的所述從模塊或所述下一個(gè)主模塊中的任何一個(gè)的所述狀態(tài)信息的所述值變?yōu)榇笥诨虻扔诒鹊谝活A(yù)定值小的第二預(yù)定值,則將所述存儲(chǔ)器上的每個(gè)控制器模塊的所述狀態(tài)信息發(fā)送給所述主模塊;并且如果所述存儲(chǔ)器(26)上的關(guān)于所述主模塊的所述狀態(tài)信息的所述值變?yōu)榇笥诨虻扔谒龅诙A(yù)定值,則將所述存儲(chǔ)器(26)上的關(guān)于所述主模塊的所述狀態(tài)信息發(fā)送給所述下一個(gè)主模塊,以及所述下一個(gè)主模塊執(zhí)行: 所述第一更新處理; 如果所述模塊自身內(nèi)的所述存儲(chǔ)器(26 )上的所述從模塊或者所述模塊自身中的任何一個(gè)的所述狀態(tài)信息的所述值變?yōu)榇笥诨虻扔谒龅诙A(yù)定值,則將所述存儲(chǔ)器(26)上的每個(gè)控制器模塊的所述狀態(tài)信息的所述值發(fā)送給所述主模塊的第二發(fā)送處理; 將每個(gè)從模塊通知的所述主模塊的所述狀態(tài)信息的所述值增加到所述模塊自身內(nèi)的所述存儲(chǔ)器上的所述主模塊的所述狀態(tài)信息的所述值的第二更新處理;以及 如果所述模塊自身內(nèi)的所述存儲(chǔ)器上的所述主模塊的所述狀態(tài)信息的所述值變?yōu)榇笥诨虻扔诘谌A(yù)定值,則確定所述主模塊中出現(xiàn)故障的第二確定處理。
4.如權(quán)利要求3所述的信息處理設(shè)備,其中每個(gè)控制器模塊作為身份領(lǐng)會(huì)模塊操作,所述身份領(lǐng)會(huì)模塊基于所述多個(gè)控制器模塊的標(biāo)識(shí)信息和操作狀態(tài)來(lái)從所述主模塊、所述下一個(gè)主模塊和所述從模塊中領(lǐng)會(huì)所述模塊自身的身份。
5.如權(quán)利要求3或4所述的信息處理設(shè)備,其中所述第二確定處理是如下的處理:如果所述模塊自身內(nèi)的所述存儲(chǔ)器上的關(guān)于所述主模塊的所述狀態(tài)信息的所述值變?yōu)榇笥诨虻扔谒龅谌A(yù)定值則嘗試與所述主模塊通信,如果所述通信成功并且如果在預(yù)定時(shí)間段內(nèi)的通信成功計(jì)數(shù)小于預(yù)定計(jì)數(shù)則確定在所述主模塊中沒(méi)有出現(xiàn)故障,并且如果所述通信失敗并且如果在所述預(yù)定時(shí)間段內(nèi)的所述通信成功計(jì)數(shù)變?yōu)榇笥诨虻扔谒鲱A(yù)定計(jì)數(shù)則確定在所述主模塊中出現(xiàn)故障。
6.如權(quán)利要求3或4所述的信息處理設(shè)備,其中所述下一個(gè)主模塊還執(zhí)行按每一從模塊計(jì)數(shù)和管理關(guān)于所述主模塊的所述狀態(tài)信息的接收計(jì)數(shù)的計(jì)數(shù)/管理處理,以及 所述第二確定處理是如下的處理:如果所述模塊自身內(nèi)的所述存儲(chǔ)器上的關(guān)于所述主模塊的所述狀態(tài)信息的所述值變?yōu)榇笥诨虻扔谒龅谌A(yù)定值,則確定所述計(jì)數(shù)/管理處理中管理的關(guān)于所述多個(gè)從模塊的所述接收計(jì)數(shù)是否變?yōu)榇笥诨虻扔凇?”,并且限制為在關(guān)于所述多個(gè)從模塊的所述接收計(jì)數(shù)變?yōu)榇笥诨虻扔凇癐”的情況下確定所述主模塊中出現(xiàn)故障。
7.一種用于監(jiān)視能夠彼此進(jìn)行通信的多個(gè)控制器模塊的操作狀態(tài)的操作狀態(tài)監(jiān)視方法, 其中每個(gè)控制器模塊 包括要關(guān)于通信對(duì)方設(shè)備的控制器模塊和/或所述設(shè)備自身的控制器模塊存儲(chǔ)狀態(tài)信息的存儲(chǔ)器,所述狀態(tài)信息反映與其它控制器模塊通信期間出現(xiàn)錯(cuò)誤的狀態(tài),以及 當(dāng)確定所述多個(gè)控制器模塊中的某一控制器模塊中是否出現(xiàn)故障時(shí),不同于確定目標(biāo)控制器模塊的所述控制器模塊基于存儲(chǔ)在不同于所述確定目標(biāo)控制器模塊的兩個(gè)或更多個(gè)控制器模塊的所述存儲(chǔ)器上的所述確定目標(biāo)控制器模塊的狀態(tài)信息來(lái)確定在所述確定目標(biāo)控制器模塊中是否出現(xiàn)故障。
全文摘要
本發(fā)明公開(kāi)了一種信息處理設(shè)備和操作狀態(tài)監(jiān)視方法。該信息處理設(shè)備包括能夠彼此進(jìn)行通信的多個(gè)控制器模塊,每個(gè)控制器模塊包括要關(guān)于通信對(duì)方設(shè)備的控制器模塊和/或設(shè)備自身的控制器模塊存儲(chǔ)狀態(tài)信息的存儲(chǔ)器,該狀態(tài)信息反映在與其它的控制器模塊通信期間出現(xiàn)錯(cuò)誤的狀態(tài)。當(dāng)確定多個(gè)控制器模塊中的控制器模塊中是否出現(xiàn)故障時(shí),不同于確定目標(biāo)控制器模塊的控制器模塊基于存儲(chǔ)在不同于所述確定目標(biāo)控制器模塊的兩個(gè)或更多個(gè)控制器模塊的存儲(chǔ)器上的所述確定目標(biāo)控制器模塊的狀態(tài)信息來(lái)確定在所述確定目標(biāo)控制器模塊中是否出現(xiàn)故障。
文檔編號(hào)G06F11/22GK103197997SQ20121042311
公開(kāi)日2013年7月10日 申請(qǐng)日期2012年10月29日 優(yōu)先權(quán)日2011年12月20日
發(fā)明者原田經(jīng)道, 佐藤弘章, 三瓶明, 榛澤文夫 申請(qǐng)人:富士通株式會(huì)社