计算机系统及处理错误的方法

文档序号:6651589阅读:157来源:国知局
专利名称:计算机系统及处理错误的方法
技术领域
本发明涉及在计算机系统中处理错误的方法,特别是涉及用在多路复用计算机系统中的处理错误的方法。
现有技术大家知道存在一种具有高可靠性的计算机系统例如容错计算机系统。在容错计算机系统中,构成计算机系统的所有硬件模块是双分的或多路复用的。由此可见,例如即使系统的某一部分出现故障。也能将有故障的硬件模块分离而继续正常硬件模块下的进程。所以对故障的容度能得到改善。
出现在计算机系统的错误对系统有不同的影响等级。如果使用同一种方法处理所有的错误,那么必须使用处理影响等级高的错误的方法。在这种情况下,即使错误的影响等级低,也要用不必要的周全的方法来处理。这使得系统的负担不必要地加大,可能使处理性能受到过多的影响。因此,要求能有与系统受影响的等级相对应的处理错误的技术。
与上面的描述有关,日本专利申请公报(JP-A-Heisei,7-200334)披露了一种双同步驱动方法。在这个双同步驱动方法中,采用相同的指令和相同的数据输入同步地驱动彼此基本上相同的两个处理器组。两组处理器中的一个被指定为现用组,另一个被指定为备用组。用来检测硬件故障的故障检测电路连接至两组处理器的每一组。这里,如果硬件故障出现在处理器组中,则在处理器组中的操作不能正常地继续进行。两组处理器各包含第一控制器和第二控制器。属于现用组的第一控制器基于来自现用组的故障检测电路的检测输出,执行中断处理,释放同步状态,然后停止显示现用组。属于备用组的第二控制器基于来自伙伴组的故障检测电路的检测输出,起动显示现用组,然后继续以单一方式进行操作。

发明内容
本发明的目的是提供一种计算机系统和处理错误的方法,其能基于对系统的影响等级改变多路复用计算机系统中关于错误的中断报告目的地。
本发明的另一目的是提供一种计算机系统。处理错误的方法,其能基于对系统的影响等级处理错误。
本发明的这个和其他目的,特点和优点,通过参考下面的描述和附图将很容易弄清。
为了实现本发明的一个方面,本发明提供一种计算机系统,其包括通过链路彼此连接并彼此同步地操作的多个系统。多个系统中的每个系统包括容错控制器;与容错控制器相连配置的CPU;与容错控制器相连配置的底板管理控制器;和与容错控制器相连配置的多个硬件模块。当收到多个系统中的任何一个系统出现的故障时,容错控制器向与故障相对应地预定的CPU和底板管理控制器中的至少一个,输出关于故障的中断。
在计算机系统中,容错控制器可包括为判断故障的原因和种类而配置的故障检测电路;为存储原因和种类而配置的错误原因存储单元;和中断切换电路,其配置成用于向与故障种类相对应地预定的CPU和底板管理控制器中的至少一个输出中断。
在计算机系统中,当多个系统中的另一系统出现故障时,故障检测电路可将出现故障的另一系统分离。中断切换电路可向CPU和底板管理控制器输出中断。
在计算机系统中,当CPU和作为多个硬件模块之一的存储器两者中的一个出现故障时,故障检测电路可将CPU和存储器两者中出现故障的一个分离。中断切换电路可向CPU和底板管理控制器输出中断。
在计算机系统中,当作为多个硬件模块之一的I/O设备出现故障时,故障检测电路可将出现故障的I/O设备分离。中断切换电路可向CPU输出中断。
在计算机系统中,容错控制器可进一步包括CPU模块方式存储单元,其配置为用于存储指示现用CPU和备用CPU中哪一个与容错控制器相连的CPU方式数据;当故障涉及多个系统的多路复用时,中断切换电路可基于CPU模块方式存储单元中的CPU方式数据,向与中断切换电路相连的CPU输出中断。
在计算机系统中,当故障是能通过多个硬件模块之一进行校正的轻故障时,中断切换电路可向底板管理控制器输出中断。
在计算机系统中,CPU和底板管理控制器中收到关于故障的中断的至少一个,可从错误原因存储单元读取原因并对与原因相对应的故障进行处理。
在计算机系统中,容错控制器可进一步包括可视设置存储单元,其被设置为在CPU从错误原因存储单元读取原因时,基于错误的种类屏蔽原因。
为了实现本发明的另一方面,本发明提供处理错误的方法,包括步骤(a)当包括在计算机系统中的多个系统中的任何一个系统出现故障时,判断故障的原因和种类,其中,多个系统通过链路彼此相连并彼此同步地操作;和(b)向与故障种类相对应地预定的至少一个目的地输出关于故障的中断。
处理错误的方法进一步可包括(c)通过至少一个目的地对与原因相对应的故障进行处理。
在处理错误的方法中,多个系统可各包括容错控制器;与容错控制器相连配置的CPU;与容错控制器相连配置的底板管理控制器;和与容错控制器相连配置的多个硬件模块。步骤(b)可包括(b1)通过容错控制器向与故障的种类相对应地预定的CPU和底板管理控制器中的至少一个输出中断。
在处理错误的方法中,容错控制器可包括故障检测电路;与故障检测电路相连配置的错误原因存储单元,和与错误原因存储单元相连配置的中断切换电路。步骤(a)可包括(a1)通过故障检测电路判断原因和种类,和(a2)利用错误原因存储单元存储原因和种类。步骤(b1)可包括(b11)通过中断切换电路向CPU和底板管理控制器中的至少一个输出中断。
在处理错误的方法中,当多个系统的另一系统中出现故障时,步骤(b1)可进一步包括(b12)通过故障检测电路将出现故障的另一系统分离,和(b13)通过中断切换电路向CPU和底板管理控制器输出中断。
在处理错误的方法中,当CPU和作多个硬件模块之一的存储器出现故障时,步骤(b1)可进一步包括(b14)通过故障检测电路将CPU和存储器两者中出现故障的一个分离,和(b15)通过中断切换电路向CPU和底板管理控制器输出中断。
在处理错误的方法中,当作为多个硬件模块之一的I/O设备出现故障时,步骤(b1)可进一步包括(b16)通过故障检测电路将出现故障的I/O设备分离,和(b17)通过中断切换电路向CPU输出中断。
在处理错误的方法中,容错控制器可进一步包括CPU模块方式存储单元,其配置用于存储指示现用CPU和备用CPU中哪一个与容错控制器相连的CPU方式数据。当故障涉及多个系统的多路复用时,步骤(b1)可进一步包括(b18)基于CPU模块方式存储单元中的CPU方式数据,通过中断切换电路向与中断切换电路相连的CPU输出中断。
在处理错误的方法中,当故障是能通过多个硬件模块之一进行校正的轻故障时,步骤(b1)可进一步包括(b19)通过中断切换电路向底板管理控制器输出中断。
处理错误的方法可进一步包括(c)通过收到中断的CPU和底板管理控制器中的至少一个,从错误原因存储单元读取原因并对与原因相对应的故障进行处理。
在处理错误的方法中,容错控制器可进一步包括可视设置存储单元。步骤(c)可包括(c1)在CPU从错误原因存储单元读取原因时,基于种类,通过可视设置存储单元屏蔽原因。


图1是本发明的计算机系统实施例的配置方框图;图2是本发明中的第一系统的配置方框图;图3是错误表;图4是中断切换电路的配置方块图;
图5是可视设置寄存器的方框图;图6是在出现严重错误的情况下处理错误的方法流程图;图7是处理严重错误的方法中的计算机系统的状态示意图;图8是在出现不可校正的错误[1]的情况下处理错误的方法流程图;图9是处理不可校正的错误[1]的方法中的计算机系统的状态示意图;图10是在出现不可校正的错误[2]的情况下处理错误的方法流程图;图11是处理不可校正的错误[2]的方法中的计算机系统的状态示意图;图12是在出现非严重错误的情况下处理错误的方法流程图;图13是处理非严重错误的方法中的计算机系统的状态示意图;图14是在出现可校正的错误的情况下处理错误的方法流程图;图15是处理可校正的错误的方法中的计算机系统的状态示意图。
具体实施例方式
下面,将参考附图描述本发明的计算机系统和在计算机系统中处理错误的方法的实施例。
首先说明本发明的计算机系统实施例的配置。图1是本发明计算机系统实施例的配置方框图。这里,对作为本发明计算机系统的一个示例的双重容错计算机系统进行说明。
容错计算机系统30具有第一系统10和第二系统20。第一系统10和第二系统20同步操作并通过链路31连接起来以致能够进行发送/接收。
第一系统10包括硬件模块,例如容错控制器(以下称作FT控制器)15,CPU(中央处理机)11,存储器12,I/O设备13和底板管理控制器(以下称作BMC)14。FT控制器15连接至各硬件模块(CPU11、存储器12、I/O设备13和BMC14),执行同步操作进程和出现错误时处理错误的进程。处理错误的进程,以关于中断的控制和关于切换的控制为例说明。
类似地,第二系统20包括硬件模块,例如FT控制器25、CPU21存储器22、I/O设备23和BMC24。FT控制器25连接至各硬件模块(CPU21、存储器22、I/O设备23和BMC24),执行同步操作进程和出现错误时处理错误的进程。处理错误的进程以关于中断的控制和关于切换的控制为例说明。
FT控制器15和FT控制器25通过链路31相连,执行同步操作进程和出现错误时处理错误的进程。利用关于中断的控制和关于切换的控制为例说明处理错误的进程。
下面将描述在FT控制器15中执行本发明的处理错误的方法(进程)的布局。顺便说一下,由于FT控制器25与FT控制器15的情况类似,所以省略其说明。图2是本发明中的第一系统10的配置方框图。FT控制器15包括检测错误并进行错误处理的处理电路1。处理电路1包括故障检测电路2、错误原因寄存器3、中断切换电路4、可视设置寄存器5和CPU模块方式寄存器6。
故障检测电路2接收从CPU11、存储器12、I/O设备13和另一系统的FT控制器25当中任何一个来的关于错误的数据。如果检测到错误,故障检测电路2判断所检测的错误的错误原因和错误原因的种类。然后,故障检测电路2向错误原因寄存器3报告所检测的错误原因和它的种类。此时,故障检测电路2是参照故障表35判断所检测的错误的种类的。错误表35包括错误的错误原因和错误种类之间的关系。所检测的错误原因可同时发送至中断切换电路4。
进一步,基于错误原因,如果错误出现在第二系统20中,则故障检测电路2将第二系统20与操作中的第一系统10分离;或者如果错误出现在硬件中,则将硬件模块(例如,CPU11、存储器12或I/O设备13)与第一系统10分离。当含有错误的硬件模块被分离时,除被分离的模块以外的操作仍在双重状态下继续。
这里对错误表35进行说明。图3是错误表35。错误表35涉及错误的错误原因37和种类36。考虑到对系统的影响等级不同,将错误原因分为相应的种类。
基于对系统的影响定义五种错误种类36。五种错误种类36为严重错误、不可校正的错误[1]、不可校正的错误[2]、非严重错误和可校正的错误。
引起严重错误的错误原因37指示包括FT控制器(15、25)的芯片组的重大故障。在错误表35中省略具体错误原因的通报。在严重错误的情况下,中断报告目的地38是CPU(11、21)和BMC(14、24)。OS(操作系统)在中断切换电路4中预定中断报告目的地38。
引起不可校正的错误[1]的错误原因37指示CPU(11、21)或存储器(12、22)的故障。在错误表35中省略具体错误原因的通报。在不可校正的错误[1]的情况下,中断报告目的地38是CPU(11、21)和BMC(14、24)。OS在中断切换电路4中预定中断报告目的地38。
引起不可校正的错误[2]的错误原因37指示I/O设备13的故障。错误表35中省略具体错误原因的通报。在不可校正的错误[2]的情况下,中断报告目的地38是CPU(11、21)。OS在中断切换电路4中预定中断报告目的地38。
引起非严重错误的错误原因37主要指示关于重复的故障。在错误表35中省略具体错误原因的通报。OS在中断切换电路4中预定中断报告目的地38。但是,OS预先将两个CPU(11、21)中的一个设置为主要操作的CPU(现用CPU),并将另一个设置为辅助操作的CPU(备用CPU)。在非严重错误的情况下,中断报告目的地38是现用CPU方的CPU和BMC或者是备用CPU方的CPU和BMC。
引起可校正的错误的错误原因37指示能在硬件模块中被校正的轻故障。具体错误原因的通报省略。在可校正的错误的情况下,中断报告目的地38是BMC(14、24)。OS在中断切换电路4中预定中断报告目的地38。
参考图2,CPU模块方式寄存器6存储的设置是OS预先将两个CPU(11、21)中的一个设置为主要操作的CPU(现用CPU),另一CPU设置为辅助操作的CPU(备用CPU)。
错误原因寄存器3存储从故障检测电路2发送来的错误原因(37)和它的种类(36)。从它们那里知道错误发生之处及其原因。然后,将错误种类发送至中断切换电路4。BMC14直接从错误原因寄存器3读取错误种类。CPU11经过可视设置寄存器5从错误原因寄存器3读取错误种类。
中断切换电路4基于从错误原因寄存器3输出的错误种类,并参照设置,至少向CPU11、CPU21和BMC14中的一个发送中断。
这里对中断切换电路4做进一步说明。图4是中断切换电路4的配置方框图。中断切换电路4包括BMC中断报告寄存器41、CPU中断报告寄存器46、现用/备用判断电路47和中断控制器48。CPU中断报告寄存器46包括现用SMI中断报告寄存器42、现用IRQ中断报告寄存器43、备用SMI中断报告寄存器44和备用IRQ中断报告寄存器45。
错误原因寄存器3包括与5种错误原因相对应的A至E寄存器。也就是说,与错误种类(36)相对应的错误原因(37)被输入到A至E寄存器。例如,如果错误原因的种类是严重错误,则将指示错误原因(37)的数据输入A寄存器,“0”输入其它所有寄存器。如果错误原因的种类是不可校正的错误[1],则将指示错误原因(37)的数据输入B寄存器,“0”输入其它所有寄存器。如果错误原因的种类是不可校正的错误[2],则将指示错误原因(37)的数据输入C寄存器,“0”输入其它所有寄存器。如果错误原因的种类是非严重错误,则将错误原因(37)的数据输入D寄,“0”输入其它所有寄存器。如果错误原因的种类是可校正的错误,则将指示错误原因(37)的数据输入E寄存器,“0”输入其它所有寄存器。错误原因寄存器3将A至E寄存器的数据输出至BMC中断报告寄存器41。
BMC中断报告寄存器41包括与错误原因寄存器3中的A至E寄存器相对应的L1至L5寄存器。也就是说,A寄存器的数据输入L1寄存器,B寄存器的数据输入L2寄存器,C寄存器的数据输入L3寄存器,D寄存器的数据输入L4寄存器,E寄存器的数据输入L5寄存器。在图4(用实心圆指示的,以下同)的设置中,如果“1”被输入它们当中的L1寄存器、L2寄存器和L5寄中的任何一个,则BMC中断报告寄存器41向中断控制器48输出指令。因此,如果错误原因的种类是严重错误、不可校正的错误[1]和可校正的错误之一,则中断控制器48能向BMC14报告中断。并且,BMC中断报告寄存器41将L1至L5寄存器的数据输出至CPU中断报告寄存器46的现用SMI中断报告寄存器42。
现用SMI中断报告寄存器42包括与L1至L5寄存器相对应的M1至M5寄存器。也就是说,L1寄存器的数据输入M1寄存器,L2寄存器的数据输入M2寄存器,L3寄存器的数据输入M3寄存器,L4寄存器的数据输入M4寄存器,L5寄存器的数据输入至M5寄存器。在图4的设置中,如果“1”被输入到其中的M1寄存器、M2寄存器和M3寄存器中的任何一个,则现用SMI中断报告寄存器42将中断输出至现用/备用判断电路47。因此,如果错误原因的种类是严重错误、不可校正的错误[1]和不可校正的错误[2],则现用/备用判断电路47能通过中断控制器48向现用CPU报告SMI(系统管理中断)。并且,现用SMI中断报告寄存器42将M1至M5寄存器的数据输出至现用IRQ中断报告寄存器43。
现用IRQ中断报告寄存器43包括与M1至M5寄存器相对应的N1至N5寄存器。也就是说,M1寄存器的数据输入N1寄存器,M2寄存器的数据输入N2寄存器,M3寄存器的数据输入N3寄存器,M4寄存器的数据输入N4寄存器,M5寄存器的数据输入N5寄存器。在图4的设置中,如果“1”被输入到它们当中的M4寄存器,现用IRQ中断报告寄存器43就将中断输出至现用/备用判断电路47。因此,如果错误原因的种类是非严重错误,现用/备用判断电路47就能通过中断控制器48向现用CPU报告IRQ(中断请求)。并且,现用IRQ中断报告寄存器43将N1至N5寄存器的数据输出至备用SMI中断报告寄存器44。
备用SMI中断报告寄存器44包括与N1至N5寄存器相对应的O1至O5寄存器。也就是说,N1寄存器的数据输入O1寄存器,N2寄存器的数据输入O2寄存器,N3寄存器的数据输入O3寄存器,N4寄存器的数据输入O4寄存器,N5寄存器的数据输入至O5寄存器。在图4的设置中,如果“1”被输入到它们当中的O1寄存器、O2寄存器、O3寄存器和O4寄存器,备用SMI中断报告寄存器44就将中断输出至现用/备用判断电路47。因此,如果错误原因的种类是严重错误、不可校正的错误[1]、不可校正的错误[2]和非严重错误中的任何一个,现用/备用判断电路47就能通过中断控制器48向备用CPU报告SMI。并且,备用SMI中断报告寄存器44将O1至O5寄存器的数据输出至备用IRQ中断报告寄存器45。
备用IRQ中断报告寄存器45包括与O1至O5寄存器相对应的P1至P5寄存器。也就是说,O1寄存器的数据输入P1寄存器,O2寄存器的数据输入P2寄存器,O3寄存器的数据输入P3寄存器,O4寄存器的数据输入P4寄存器,O5寄存器的数据输入P5寄存器。在图4的设置中,即使“1”被输入到任何一个寄存器,备用IRQ中断报告寄存器45也不向现用/备用判断电路47输出中断。因此,不管错误原因的种类,现用/备用判断电路47都不通过中断控制器48向备用CPU报告IRQ。
这里,图4示出BMC中断报告寄存器41和CPU中断报告寄存器46的设置示例。可以按希望的状态设置中断的报告或不报告。
现用/备用判断电路47基于存储在CPU模块方式寄存器6中的现用CPU=CPU11、备用CPU=CPU21的数据,确定是否将从CPU中断报告寄存器46来的中断(SMI、IRQ)输出至中断控制器48。也就是说,如果从现用SMI中断报告寄存器42收到中断,CPU11侧的现用/备用判断电路47就向中断控制器48输出SMI;如果从现用IRQ中断报告寄存器43收到中断,就向中断控制器48输出IRQ。如果从备用SMI中断报告寄存器44收到中断,CPU21侧的现用/备用判断电路47就向中断控制器48输出SMI;如果从备用IRQ中断报告寄存器45收到中断,就向中断控制器48输出IRQ。
如果收到从BMC中断报告寄存器41来的中断,中断控制器48就向BMC14报告中断。如果收到从现用/备用判断电路47来的中断,中断控制器48就向CPU11或CPU21报告SMI或IRQ的中断。
参考图2,可视设置寄存器5屏蔽错误原因寄存器3中的特定寄存器,以致于当CPU(11、21)读取错误原因寄存器3时,这些特定的寄存器不能被读出。
这里对可视设置寄存器5做进一步说明。图5是可视设置寄存器5的方框图。可视设置寄存器5包括Q1至Q5寄存器。当CPU(11、21)从错误原因寄存器3的A至E寄存器读取数据时,A至E寄存器和Q1至Q5寄存器的AND(与)操作结果输出至CPU(11、21)。因此,在图5这种设置的情况下,E寄存器的数据被屏蔽,从CPU(11、21)看不到。也就是说,CPU(11、21)不能识别可校正的错误的中断。
图5示出了可视设置寄存器5的设置的一个例子。其表明中断报告的屏蔽是能够按照希望的状态设置的。
下面将参考附图描述本发明的处理错误的方法(计算机系统实施例的操作)的实施例。图6、8、10、12和14是本发明的处理错误方法(计算机系统实施例的操作)的实施例流程图。图7、9、11、13和15是本发明的处理错误方法中计算机系统的状态示意图。
首先,当系统被复制时,OS以重复的使用方式设置各个中断报告寄存器。设置包括图2至4所示的部分。
下面将描述出现严重错误的情况。图6是在出现严重错误的情况下处理错误的方法流程图。
故障检测电路2检测包括FT控制器(例如25)的芯片组的重大故障(步骤S01)。故障检测电路2向错误原因寄存器3报告严重错误的错误原因(步骤S02)。故障检测电路2同时将出现故障方面的系统(例如第二系统20)与操作中的系统(例如第一系统10)分离(步骤S03)。图7是计算机系统的这种状态的略图。
接着,错误原因寄存器3向中断切换电路4输出错误原因和错误种类(步骤S04)。中断切换电路4基于图4的设置向CPU(例如11)和BMC(例如14)输出中断(SMI中断51和BMC中断52)(步骤S05、S06)。当CPU(例如11=OS的中断处理器)收到中断时,OS就读错误原因寄存器3如果它是可操作的话(步骤S07、S08)。OS基于错误原因进行预定的故障检修处理(例如记录收集、故障恢复处理)(步骤S09)。
BMC(例如14)监视CPU(例如11=OS)是否进行操作(步骤S10)。如果OS不操作(步骤S10否),则BMC(例如14)就读错误原因寄存器3(步骤S11、S12)。然后,BMC(例如14)基于错误原因只在自身的存储器(例如图2所示的非易失存储器33,以下同)中进行记录收集作为故障检修处理(步骤S13)。
上述是在出现严重错误的情况下,计算机系统对错误进行的处理。
下面将描述出现不可校正的错误[1]的情况。图8是在出现不可校正的错误[1]的情况下处理错误的方法流程图。
故障检测电路2检测CPU(例如11)或存储器(例如12)的故障(步骤S21)。故障检测电路2向错误原因寄存器3报告不可校正的错误[1]的错误原因(步骤S22)。故障检测电路2同时将出现错误的CPU(例如11)或存储器(例如12)与系统分离,仍继续进行系统中的其它部分的重复的操作(步骤S23)。图9是这种状态的示意图。这里,图9示出CPU11和存储器12同时出现故障的例子。
接着,错误原因寄存器3向中断切换电路4输出错误原因和错误种类(步骤S24)。中断切换电路4基于图4的设置向CPU(例如11)和BMC(例如14)输出中断(SMI中断51和BMC中断52)(步骤S25、S26)。当CPU(=OS的中断处理器)收到中断时,如果是可操作的话,OS就读错误原因寄存器3步骤S27、S28)。OS基于错误原因进行预定的故障检修处理(记录收集、故障恢复处理)(步骤S29)。
BMC(例如14)监视CPU(例如11=OS)是否进行操作(步骤S30)。如果OS不操作(步骤S30否),则BMC(例如14)读错误原因寄存器3(步骤S31、S32)。然后,BMC(例如14)基于错误原因只在自身的存储器中进行记录收集作为故障检修处理(步骤S33)。
上述是在出现不可校正的错误[1]的情况下,计算机系统对错误进行的处理。
下面将描述出现不可校正的错误[2]的情况。图10是在出现不可校正的错误[2]的情况下处理错误的方法流程图。
故障检测电路2检测I/O设备(例如13)的故障(步骤S41)。故障检测电路2向错误原因寄存器3报告不可校正的错误[2]的错误原因(步骤S42)。并且,故障检测电路2将出现故障的I/O设备(例如13)与系统分离,仍继续进行系统中的其它部分的双重操作(步骤S43)。图11是计算机系统这种状态的示意图。
接着,错误原因寄存器3向中断切换电路4输出错误原因和错误种类(步骤S44)。中断切换电路4基于图4的设置向CPU(例如11)输出中断(SMI中断53和SMI中断54)(步骤S45)。当CPU(=OS的中断处理器)收到中断时,OS读错误原因寄存器3(步骤S46、S47)。OS基于错误原因进行预定的故障检修处理(记录收集、故障恢复处理)(步骤S48)。
上述是在出现不可校正的错误[2]情况下,计算机系统对错误进行的处理。
下面将描述出现非严重错误的情况。图12是在出现非严重错误的情况下处理错误的方法流程图。
这里,让我们假定OS设置CPU11作为进行主要操作的CPU(现用CPU),设置CPU21作为进行辅助操作的CPU(备用CPU)。同样地,让我们假定OS向现用CPU方报告的中断设置为常规中断(IRQ),向备用CPU方报告的中断设置为SMI(系统管理中断)。
故障检测电路2检测第一系统10的操作和第二系统20的操作之间的失配(步骤S61)。故障检测电路2向错误原因寄存器3报告非严重错误的错误原因(步骤S62)。错误原因寄存器3向中断切换电路4输出错误原因和错误种类(步骤S63)。
中断切换电路4的CPU中断报告寄存器46基于图4所示的设置向现用/备用判断电路47输出现用IRQ中断报告寄存器43和备用SMI中断报告寄存器44的中断。现用/备用判断电路47基于为CPU模块方式寄存器6预定的信息,向中断控制器48报告现用IRQ中断报告寄存器43和备用SMI中断报告寄存器44中的任何一个的中断。中断控制器48向现用方的CPU(例如11)报告现用方的IRQ中断55(步骤S64),并向备用方的CPU(例如21)报告备用方的SMI中断56(步骤S65)。这样,就能够向现用方的CPU(例如11)和备用方CPU(例如21)报告不同的中断。
如果收到SMI中断,备用方的CPU(例如21=OS的中断处理器)则读错误原因寄存器3(步骤S66、S67)并进行再同步所必需的处理(步骤S68)。然后,备用方的CPU等待从现用方的CPU(例如11)来的指令。如果收到IRQ中断,现用方的CPU(例如11=OS的中断处理器)则读错误原因寄存器3(步骤S69、S70)。然后,现用方的CPU读与备用方的CPU再同步所必需的设置(步骤S71)并进行复制处理57(步骤S72)。图13是计算机系统这种状态的示意图。此后,备用方的CPU能执行再同步处理(步骤S73),双重操作再次起动。
上述是在出现非严重错误情况下,计算机系统对错误进行的处理。
下面描述可校正的错误的情况。图14是在出现可校正的错误的情况下处理错误的方法流程图。
故障检测电路2检测预定轻故障(步骤S81)。故障检测电路2向错误原因寄存器3报告可校正的错误的错误原因(步骤S82)。错误原因寄存器3向中断切换电路4输出错误原因和错误种类(步骤S83)。中断切换电路4基于图4的设置向BMC(例如14)输出中断(BMC中断58)(步骤S84)。图15是计算机系统这种状态的略图。
在收到中断时,BMC(例如14)读错误原因寄存器3(步骤S85、S86)。BMC(例如14)基于错误原因只在自身的存储器进行记录收集(步骤S87)。此时,CPU(例如11=OS)不接收中断报告。因此,CPU不认识出现的错误,不读错误原因寄存器3。于是,CPU继续操作。
这时,例如如果同时出现不同的错误,则OS读错误原因寄存器3。在这种情况下,如果没有CPU模块方式寄存器6,则在错误原因寄存器3中产生第一系统10和第二系统20之间的差别,出现不同步。为此,在本发明中装有CPU模块方式寄存器6。这样,OS预先对CPU模块方式寄存器6进行可校正的错误的屏蔽设置,如图5所示。因此,如果从CPU(OS)读错误原因寄存器3,则错误原因寄存器3和CPU模块方式寄存器6做AND(与)操作的数据回到OS。因此,被屏蔽的部分从OS中看不到。也就是说,例如,即使同时出现不同的错误并且OS读错误原因寄存器3,也不会出现不同步。
上述是在出现可校正的错误的情况下,计算机系统对错误进行的处理。
由此可见,本发明通过安装能选择多种中断的寄存器,所产生的中断能进行改变,执行处理的设备和处理的内容也能通过处理错误的进程而改变。另外,由于安装屏蔽寄存器而使CPU方看不到错误原因,除非CPU(=OS)判明错误发生,处理错误的进程能只在BMC中执行。
根据本发明,关于多路复用计算机系统中的错误,能基于对系统的影响等级改变涉及错误的中断报告目的地,因而系统能根据对系统的影响等级来处理错误。
很明显,本发明不限于上述实施例,在不违背本发明权利要求的范围和精神的情况下,可以修改和变化。
权利要求
1.一种计算机系统,包括通过链路彼此连接配置并彼此同步地操作的多个系统,其中所述多个系统中的每个系统包括容错控制器,与所述容错控制器相连配置的CPU,与所述容错控制器相连配置的底板管理控制器,与所述容错控制器相连配置的多个硬件模块,当收到所述多个系统中的任何一个系统出现的故障时,所述容错控制器向与所述故障相对应地预定的所述CPU和所述底板管理控制器中的至少一个输出关于所述故障的中断。
2.根据权利要求1所述的计算机系统,其特征在于所述容错控制器包括为判断所述故障的原因和种类而配置的故障检测电路,为存储所述原因和所述种类而配置的错误原因存储单元,和中断切换电路,其配置成用于向与所述故障的所述种类相对应地预定的所述CPU和所述底板管理控制器中的至少一个输出所述中断。
3.根据权利要求2所述的计算机系统,其特征在于当所述多个系统的另一系统中出现所述故障时,所述故障检测电路将出现所述故障的所述另一系统分离,所述中断切换电路向所述CPU和所述底板管理控制器输出所述中断。
4.根据权利要求2所述的计算机系统,其特征在于当所述CPU和作为所述多个硬件模块之一的存储器两者中的一个出现所述故障时,所述故障检测电路将所述CPU和所述存储器两者中出现所述故障的所述一个分离,所述中断切换电路向所述CPU和所述底板管理控制器输出所述中断。
5.根据权利要求2所述的计算机系统,其特征在于当作为所述多个硬件模块之一的I/O设备中出现所述故障时,所述故障检测电路将出现所述故障的所述I/O设备分离,所述中断切换电路向所述CPU输出所述中断。
6.根据权利要求2所述的计算机系统,其特征在于所述容错控制器进一步包括CPU模块方式存储单元,其配置为用于存储指示现用CPU和备用CPU中哪一个与所述容错控制器相连的CPU方式数据,当所述故障涉及所述多个系统的多路复用时,所述中断切换电路基于所述CPU模块方式存储单元中的所述CPU方式数据,向与所述中断切换电路相连的所述CPU输出所述中断。
7.根据权利要求2所述的计算机系统,其特征在于当所述故障是能通过所述多个硬件模块之一进行校正的轻故障时,所述中断切换电路向所述底板管理控制器输出所述中断。
8.根据权利要求2至7中的任一权利要求所述的计算机系统,其特征在于所述CPU和所述底板管理控制器中收到关于所述故障的所述中断的所述至少一个,从所述错误原因存储单元读取所述原因并对与所述原因相对应的所述故障进行处理。
9.根据权利要求8所述的计算机系统,其特征在于所述容错控制器进一步包括可视设置存储单元,其被设置为在所述CPU从所述错误原因存储单元读取所述原因时,基于所述种类,屏蔽所述原因。
10.一种处理错误的方法,其特征在于包括步骤(a)当包括在计算机系统中的多个系统中的任何一个系统出现故障时,判断所述故障的原因和种类,其中,所述多个系统通过链路彼此相连并彼此同步地操作,和(b)向与所述故障的种类相对应地预定的至少一个目的地输出关于所述故障的中断。
11.根据权利要求10所述的处理错误的方法,其特征在于进一步包括(c)由所述至少一个目的地,对与所述原因相对应的所述故障进行处理。
12.根据权利要求10所述的处理错误的方法,其中所述多个系统中的每一个系统包括容错控制器,与所述容错控制器相连配置的CPU,与所述容错控制器相连配置的底板管理控制器,和与所述容错控制器相连配置的多个硬件模块,其特征在于所述步骤(b)包括(b1)通过所述容错控制器向与所述故障的所述种类相对应地预定的所述CPU和所述底板管理控制器中的至少一个输出所述中断。
13.根据权利要求12所述的处理错误的方法,其中所述容错控制器包括故障检测电路,与所述故障检测电路相连配置的错误原因存储单元,和与所述错误原因存储单元相连配置的中断切换电路,其特征在于所述步骤(a)包括(a1)通过所述故障检测电路判断所述原因和所述种类,(a2)利用所述错误原因存储单元存储所述原因和所述种类,所述步骤(b)包括(b11)通过所述中断切换电路向所述CPU和所述底板管理控制器中的所述至少一个输出所述中断。
14.根据权利要求13所述的处理错误的方法,其特征在于当所述多个系统的另一系统中出现所述故障时,所述步骤(b1)进一步包括(b12)通过所述故障检测电路将出现故障的所述另一系统分离,和(b13)通过所述中断切换电路向所述CPU和所述底板管理控制器输出所述中断。
15.根据权利要求13所述的处理错误的方法,其特征在于当所述CPU和作为所述多个硬件模块之一的存储器两者中的一个出现所述故障时,所述步骤(b1)进一步包括(b14)通过所述故障检测电路将所述CPU和所述存储器两者中出现所述故障的所述一个分离,和(b15)通过所述中断切换电路向所述CPU和所述底板管理控制器输出所述中断。
16.根据权利要求13所述的处理错误的方法,其特征在于当作为所述多个硬件模块之一的I/O设备出现所述故障时,所述步骤(b1)进一步包括(b16)通过所述故障检测电路将出现所述故障的所述I/O设备分离,和(b17)通过所述中断切换电路向所述CPU输出所述中断。
17.根据权利要求13所述的处理错误的方法,其特征在于所述容错控制器进一步包括CPU模块方式存储单元,其配置用于存储指示现用CPU和备用CPU哪一个与所述容错控制器相连的CPU方式数据,当所述故障涉及多个系统的多路复用时,所述步骤(b1)进一步包括(b18)基于CPU模块方式存储单元中的CPU方式数据,通过所述中断切换电路向与所述中断切换电路相连的CPU输出所述中断。
18.根据权利要求13所述的处理错误的方法,其特征在于当所述故障是能通过所述多个硬件模块之一进行校正的轻故障时,所述步骤(b1)进一步包括(b19)通过所述中断切换电路向所述底板管理控制器输出所述中断。
19.根据权利要求13至18中的任一权利要求所述的处理错误的方法,其特征在于进一步包括(c)通过收到所述中断的所述CPU和所述底板管理控制器中的所述至少一个,从所述错误原因存储单元读取所述原因,并对与所述原因相对应的所述故障进行处理。
20.根据权利要求19所述的处理错误的方法,其特征在于所述容错控制器进一步包括可视设置存储单元,所述步骤(c)包括(c1)在所述CPU从所述错误原因存储单元读取所述原因时,通过所述可视设置存储单元,根据所述种类屏蔽所述原因。
全文摘要
一种计算机系统,包括用链路彼此连接并彼此同步操作的多个系统(10、20)。所述多个系统(10、20)各包括容错控制器(15、25)、CPU(11、21)、底板管理控制器(14、24)和多个硬件模块(12/13、22/23)。CPU(11、21)与容错控制器(15、25)相连。底板管理控制(14、24)与容错控制器(15、25)相连。多个硬件模块(12/13、22/23)与容错控制器(15、25)相连。当收到多个系统(10、20)中的任何一个系统出现故障时,容错控制器(15、25)向与一故障相对应地预定的CPU(11、21)和底板管理控制器(14、24)中的一个输出关于该故障的中断。
文档编号G06F11/00GK1794187SQ20051013381
公开日2006年6月28日 申请日期2005年12月21日 优先权日2004年12月21日
发明者竹森康 申请人:日本电气株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1