专利名称:错误通知方法及信息处理装置的制作方法
技术领域:
本发明一般涉及错误通知方法及信息处理装置,特别涉及一种用于能够执行镜像操作的信息处理装置的错误通知方法以及一种执行该错误通知方法的信息处理装置。
背景技术:
当在诸如计算机系统的信息处理装置中产生错误时,检测错误的电路利用相应于错误级别(或错误程度)的中断信号,将错误通知给计算机系统内诸如CPU的处理器。用于执行处理器的错误处理的软件,即错误处理程序,根据中断信号所通知的错误的错误级别,决定是关闭计算机系统还是允许计算机系统继续运行。因而,如果错误级别高则关闭计算机系统,而如果错误级别低则允许计算机系统继续运行。通常,错误处理程序的规格由处理器的制造商决定,并且错误处理程序具有一种不能修改其软件的结构。
另一方面,在计算机系统由多个处理器系统组成的情况下,则将上述中断信号通知给计算机系统内的所有处理器系统。此外,在采用这种计算机系统的情况下,通过执行与处理器系统的存储系统有关的镜像操作能够提高计算机系统的可靠性。镜像操作有时也被称为镜像。在镜像的情况下,两个处理器系统执行相同的处理,并且通过比较和检查两个处理器系统的处理结果而提高处理结果的可靠性。
图1是解释传统错误通知方法的实例的示图。计算机系统包括在正常模式中使用的系统板1;在镜像模式中与系统板1一起使用的系统板2;以及处理系统板1和2检测的错误的主系统板3。系统板1和2中的每一个都包括一个或多个CPU(未示出)等,以形成处理器系统。系统板1和2中的每一个都包括错误显示寄存器5以及OR电路6至8。错误显示寄存器5包括与产生错误的那些部分相应的多个寄存器部分,并且每个寄存器部分存储错误级别。为了方便,假设错误级别包括严重错误级别Fat、不可纠正错误级别Un以及可纠正错误级别Cor。错误级别Fat、Un和Cor的值满足Fat>Un>Cor的关系。通过OR电路6将存储严重错误级别Fat的寄存器部分的输出作为错误中断信号ERR2输出。通过OR电路7将存储不可纠正错误级别Un的寄存器部分的输出作为错误中断信号ERR1输出。此外,通过OR电路8将存储可纠正错误级别Cor的寄存器部分的输出作为错误中断信号ERR0输出。主系统板3包括确定计算机系统的分区并且将错误中断信号ERR2、ERR1和ERR0通知给计算机系统内的每个CPU的电路。
当收到错误中断信号ERR2或ERR1的错误通知时,计算机系统内的每个CPU的错误处理程序关闭计算机系统。此外,因为可纠正错误Cor能够被ECC等纠正,所以当收到错误中断信号ERR0的错误通知时,计算机系统内的每个CPU的错误处理程序允许计算机系统继续运行。
例如,日本特许公开No.2000-276364提出了一种根据地址索引和/或故障源索引的故障恢复操作。
在镜像模式的情况下,即使从系统板1输出具有高错误级别的错误中断信号ERR2或ERR1,系统板2也能够利用镜像而避免错误。换句话说,可以从系统板2输出具有低错误级别的错误中断信号ERR0或者不输出错误中断信号。然而,如上所述,一般不能修改计算机系统内的每个CPU的错误处理程序。因此,当主系统板3收到来自系统板1的具有高错误级别的错误通知时,即使从系统板2只收到具有低错误级别的错误通知或者没有错误通知,也会与正常模式的情况一样,将具有更高错误级别的错误通知发给每个CPU,从而引起了计算机系统被关闭的问题。
可以设想,在镜像模式中,将错误处理程序转换为仅用于镜像模式的错误处理程序。但是,由于这种设想的方法需要修改CPU的软件设计,因而其并不能令人满意。
发明内容
因而,本发明的一般目的是提供一种能够抑制上述问题的新颖且实用的错误通知方法和信息处理装置。
本发明的其它和更具体的目的是提供一种在正常模式和镜像模式中都能够进行最优错误通知的错误通知方法及信息处理装置。
本发明的另一目的是提供一种错误通知方法,其运用在计算机系统中,该计算机系统包括能在正常模式中运行的第一处理器系统和能在镜像模式中与该第一处理器系统一起运行的第二处理器系统,该方法用于将所述第一和第二处理器系统中产生的错误通知给所述第一和第二处理器系统中的每个处理器,该错误通知方法的特征在于产生通过多个错误级别中的一个相应错误级别表示每个错误的错误中断信号;当在该镜像模式中能够避免该第一处理器系统中的错误时,降低相应的错误中断信号的错误级别;以及使用该错误中断信号将错误通知给所述第一和第二处理器系统中的每个处理器。根据本发明的错误通知方法,能够在正常模式和镜像模式中进行最优错误通知。
本发明的又一目的是提供一种信息处理装置,其特征在于该信息处理装置包括第一处理器系统,其能在正常模式中运行;第二处理器系统,其能在镜像模式中与该第一处理器系统一起运行,所述第一和第二处理器系统中的每一个包括存储装置,其通过多个错误级别中的一个相应级别存储内部产生的错误;第一电路,其根据所述存储装置的输出而产生具有相应的错误级别的错误中断信号;第二电路,如果在该镜像模式中能够避免该第一处理器系统中的错误,则该第二电路降低相应的错误中断信号的错误级别;以及第三电路,其使用该错误中断信号将错误通知给所述第一和第二处理器系统中的每个处理器。根据本发明的信息处理装置,能够在正常模式和镜像模式中进行最优错误通知。
当结合附图理解下面的详细说明时,将会清楚本发明的其它目和更多特征。
图1是用于解释传统错误通知方法的示图;图2是示出根据本发明信息处理装置的总体结构的系统框图;图3是示出根据本发明信息处理装置的实施例的重要部分的系统框图;图4是示出CPU的软件结构的示图;图5是示出信息处理装置的实施例的重要部分的电路图;图6是用于解释信息处理装置的硬件处理的流程图;以及图7是用于解释信息处理装置的CPU的软件处理的流程图。
具体实施例方式
通过参考图2及其后的附图,将说明根据本发明的错误通知方法及信息处理装置的实施例。
图2是示出根据本发明信息处理装置的总体结构的系统框图。根据本发明的信息处理装置的实施例采用了根据本发明的错误通知方法的实施例。在本实施例中,将本发明应用于图2所示的计算机系统中。
图2中的计算机系统10包括在正常模式中使用的系统板11;在镜像模式中与系统板11一起使用的系统板12;具有多个输入和输出(I/O)端口的输入和输出(I/O)板142;以及处理系统板11和12检测的错误的主系统板13。换句话说,系统板11可在正常模式中运行,而系统板12可在镜像模式中与系统板11一起运行。系统板11包括多个CPU 14和多个内存141。系统板12具有与系统板11结构相似的结构。此外,主系统板13也可具有与系统板11结构相似的结构。系统板11、12和13形成了处理器系统。
图3是示出根据本发明信息处理装置的该实施例的重要部分的系统框图。如图3所示,系统板11和12中的每一个都包括错误显示寄存器15,以及OR电路16至18。系统板12还包括后面将要说明的错误避免检测电路19。
错误显示寄存器15具有与产生错误的那些部分相应的寄存器部分,并且每个寄存器部分存储错误级别。为了方便,假设错误级别包括严重错误级别Fat、不可纠正错误级别Un、以及可纠正错误级别Cor。错误级别Fat、Un和Cor的值满足Fat>Un>Cor的关系。通过OR电路16将存储严重错误级别Fat的寄存器部分的输出作为错误中断信号ERR2输出。通过OR电路17将存储不可纠正错误级别Un的寄存器部分的输出作为错误中断信号ERR1输出。此外,通过OR电路18将存储可纠正错误级别Cor的寄存器部分的输出作为错误中断信号ERR0输出。错误显示寄存器15还包括将在后面说明的在镜像模式中使用的寄存器部分15A。可省略系统板11内的错误显示寄存器15的寄存器部分15A。主系统板13包括确定计算机系统10的分区并且将错误中断信号ERR2、ERR1和ERR0通知给计算机系统10内的每个CPU的电路。
错误避免检测电路19这样的功能如果在镜像模式中能够避免系统板11内的错误,则错误避免检测电路19将相应的错误中断信号的错误级别降低为允许计算机系统10继续运行的错误级别。特别的,如果错误避免检测电路19检测到通过系统板12的镜像能够避免由错误中断信号ERR2或ERR1(即,具有严重错误级别Fat或者不可纠正错误级别Un的错误中断信号)表示的系统板11中的错误,则错误避免检测电路19将错误中断信号ERR2或ERR1作为错误中断信号ERR0输出到主系统板13。
当收到错误中断信号ERR2或ERR1的错误通知时,计算机系统10内的每个CPU 14的错误处理程序14A关闭计算机系统10。此外,因为可纠正错误Cor能够被ECC等纠正,所以当收到错误中断信号ERR0的错误通知时,每个CPU 14的错误处理程序14A允许计算机系统10继续运行。
图4是示出CPU 14的软件结构的示图。如图4所示,CPU 14的软件具有分层结构,其包括最高层中的操作系统(OS),以及OS下面的层中的系统抽象层(SAL)和例如处理器抽象层(PAL)的基本输入输出系统(BIOS)。上述错误处理程序14A包含在SAL中。
图5是示出信息处理装置的该实施例的重要部分的电路图。在图5中,用相同的标号表示与图3中的相应部分相同的部分,并略去其说明。
在图5中,OR门16-1和17-1分别对应于图3中所示的系统板12内的OR门16和17,OR门16-2和17-2分别对应于图3中所示的系统板11内的OR门16和17,以及OR门18-1对应于系统板11和12内的OR门18。AND门21至24和反相器25对应于图3所示的错误避免检测电路19。从CPU 15将表示计算机系统10的操作模式的模式信号Mmode输入到错误避免检测电路19。例如,在镜像模式期间,模式信号Mmode的值为“1”,而在正常模式期间,模式信号Mmode的值为“0”。信息Mb设置在错误显示寄存器15的寄存器部分15A中,该信息Mb表示由于产生错误导致镜像模式中的镜像失败。例如,当镜像失败时,信息Mb的值为“1”,而当镜像保持时,信息Mb的值为“0”。从而,在信息Mb取值“1”之后,从下一个错误起,模式信号Mmode从值“1”变为值“0”。在系统板11内的错误显示寄存器15中也设有寄存器部分15A的情况下,可将信息Mb设置在系统板11内的错误显示寄存器15的寄存器部分15A中,以将寄存器部分15A的输出输入到OR门18-1。
在镜像模式的情况下,即使从系统板11输出具有高错误级别的错误中断信号ERR2或ERR1,系统板12也能通过镜像避免错误。换句话说,可从系统板12输出具有低错误级别的错误中断信号ERR0。当检测到错误但是能够避免错误时,仍通过输出中断信号而发出通知,以表示避免了错误。但是,在这种情况下也可以通过执行控制而不输出错误中断信号。因此,如果未修改计算机系统10内的每个CPU 14的错误处理程序14A并且将来自系统板11的错误通知按原样输出到主系统板13,则当主系统板13收到来自系统板11的具有高错误级别的错误通知时,即使从系统板12收到了只具有低错误级别的错误通知,也与在正常模式的情况下一样,将向每个CPU 14发出具有较高错误级别的错误通知,从而引起计算机系统10的关闭。但是在本实施例中,当错误避免检测电路19检测到可通过系统板12的镜像避免错误中断信号ERR2或ERR1所表示的系统板11内的错误(即,具有严重错误级别Fat或不可纠正错误级别Un)时,错误避免检测电路19将错误中断信号ERR2或ERR1作为错误中断信号ERR0输出到主系统板13,以发出与正常模式中不同的通知。因此,即使产生错误,如果通过镜像使得没有必要关闭计算机系统10,就能够使计算机系统10继续运行。
当然,也可以在主系统板13中设置至少一部分门16至18以及错误避免检测电路19。
图6是用于解释信息处理装置的硬件(系统板11和12以及主系统板13)处理的流程图。在图6中,步骤S1判断是否发生错误。如果在步骤S1中的判断结果为YES,则在步骤S2中将检测到的错误级别设置于错误显示寄存器15中与产生错误的那部分相应的寄存器部分。在步骤S3中,利用表示检测到的错误级别的错误中断信号产生对CPU 14的错误处理程序14A的中断,从而进行错误通知,然后,处理结束。
可将镜像模式设置于多个系统板的多个单元中,或设置于多个分区的多个单元中。
图7是用于解释信息处理装置的CPU 14的软件(错误处理程序14A)处理的流程图。在图7中,步骤S11判断是否通过错误中断信号从主系统板13产生中断,即,是否输入了错误通知。如果在步骤S11中的判断结果为YES,则步骤S12通过已知的方法获取错误日志并指定错误位置。步骤S13判断错误中断信号是否是错误中断信号ERR0。如果步骤S13中的判断结果为NO,则步骤S14判断错误中断信号是否是错误中断信号ERR1或ERR2。如果步骤S14中的判断结果为NO,则处理进行到与错误中断信号对应的另一错误处理。另一方面,如果步骤S14中的判断结果为YES,则步骤S15关闭计算机系统10,并处理结束。此外,如果步骤S13中的判断结果为YES,则步骤S16清空错误显示寄存器15的寄存器部分,并且处理进行到正常错误处理,从而通过已知的方法纠正具有可纠正错误级别Cor的错误。
从而,本发明适用于具有正常模式和镜像模式的信息处理装置例如计算机系统的错误通知。
此外,本发明不限于上述实施例,而是在不脱离本发明的范围下可作各种变化与修改。
权利要求
1.一种错误通知方法,其运用在计算机系统中,该计算机系统包括能在正常模式中运行的第一处理器系统和能在镜像模式中与该第一处理器系统一起运行的第二处理器系统,该方法用于将所述第一和第二处理器系统中产生的错误通知给所述第一和第二处理器系统中的每个处理器,所述错误通知方法的特征在于产生通过多个错误级别中的一个相应错误级别表示每个错误的错误中断信号;当在该镜像模式中能够避免该第一处理器系统中的错误时,降低相应的错误中断信号的错误级别;以及使用该错误中断信号将错误通知给所述第一和第二处理器系统中的每个处理器。
2.如权利要求1所述的错误通知方法,其特征在于如果在该镜像模式中能够避免该错误,则根据表示该第二处理器系统中产生的错误的错误中断信号,降低该错误级别。
3.如权利要求1所述的错误通知方法,其特征在于如果在该镜像模式中能够避免该错误,则将该错误中断信号的错误级别降低到允许该计算机系统继续运行的错误级别。
4.如权利要求1至3中的任一所述的错误通知方法,其特征在于通过硬件执行该错误中断信号的产生、该错误级别的降低以及利用该错误中断信号的错误通知,并且对每个处理器的软件进行该错误通知。
5.如权利要求4所述的错误通知方法,其特征在于该软件是系统抽象层中的错误处理程序。
6.一种信息处理装置,其特征在于第一处理器系统,其能在正常模式中运行;第二处理器系统,其能在镜像模式中与该第一处理器系统一起运行,所示第一和第二处理器系统中的每一个包括存储装置,其通过多个错误级别中的一个相应级别存储内部产生的错误;第一电路,其根据所述存储装置的输出而产生具有相应的错误级别的错误中断信号;第二电路,如果在该镜像模式中能够避免该第一处理器系统中的错误,则该第二电路降低相应的错误中断信号的错误级别;以及第三电路,其使用该错误中断信号将错误通知给所述第一和第二处理器系统中的每个处理器。
7.如权利要求6所述的信息处理系统,其特征在于如果在该镜像模式中能够避免该错误,则该第二电路根据表示在该第二处理器系统中产生的错误的错误中断信号,降低该错误级别。
8.如权利要求6所述的信息处理系统,其特征在于如果在该镜像模式中能够避免该错误,则该第二电路将该错误中断信号的错误级别降低到允许该信息处理装置继续运行的错误级别。
9.如权利要求6至8中的任一所述的信息处理装置,其特征在于该存储装置还存储表示由于错误产生而导致该镜像模式中的镜像失败的信息。
10.如权利要求6至8中的任一所述的信息处理装置,其特征在于该第二电路基于该存储装置的输出和表示该镜像模式的模式信号,降低该相应的错误中断信号的错误级别。
11.如权利要求6至8中的任一所述的信息处理装置,其特征在于该第三电路对每个处理器的软件进行该错误通知。
12.如权利要求11所述的信息处理装置,其特征在于该软件是系统抽象层中的错误处理程序。
13.如权利要求6至8中的任一所述的信息处理装置,其特征在于该第三电路确定该信息处理装置的分区。
全文摘要
本发明提供一种错误通知方法,其运用在计算机系统中,该计算机系统包括能在正常模式中运行的第一处理器系统和能在镜像模式中与第一处理器系统一起运行的第二处理器系统,该方法用于将第一和第二处理器系统中产生的错误通知给第一和第二处理器系统中的每个处理器。该错误通知方法产生通过多个错误级别中的一个相应错误级别表示每个错误的错误中断信号,当在该镜像模式中能够避免该第一处理器系统中的错误时,降低相应的错误中断信号的错误级别,并且使用该错误中断信号将错误通知给第一和第二处理器系统中的每个处理器。
文档编号G06F15/16GK1834927SQ20051009012
公开日2006年9月20日 申请日期2005年8月10日 优先权日2005年3月17日
发明者高桥仁 申请人:富士通株式会社