WO2012029147A1 - システムおよび障害処理方法 - Google Patents

システムおよび障害処理方法 Download PDF

Info

Publication number
WO2012029147A1
WO2012029147A1 PCT/JP2010/064966 JP2010064966W WO2012029147A1 WO 2012029147 A1 WO2012029147 A1 WO 2012029147A1 JP 2010064966 W JP2010064966 W JP 2010064966W WO 2012029147 A1 WO2012029147 A1 WO 2012029147A1
Authority
WO
WIPO (PCT)
Prior art keywords
failure
unit
location
information
processing unit
Prior art date
Application number
PCT/JP2010/064966
Other languages
English (en)
French (fr)
Inventor
亮大 田中
Original Assignee
富士通株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士通株式会社 filed Critical 富士通株式会社
Priority to PCT/JP2010/064966 priority Critical patent/WO2012029147A1/ja
Priority to JP2012531618A priority patent/JP5370591B2/ja
Publication of WO2012029147A1 publication Critical patent/WO2012029147A1/ja
Priority to US13/777,808 priority patent/US8832501B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0784Routing of error reports, e.g. with a specific transmission path or data flow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0745Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in an input/output transactions management context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2038Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2048Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share neither address space nor persistent storage

Definitions

  • the cause of the failure cannot be estimated specifically. For example, in order to eliminate the failure, replacement of all parts of the PCI-Card 240 connected to the switches 230-232 and 231 and 232 is performed. Is required.
  • the present invention is not limited to the above-described object, and is a function and effect derived from each configuration shown in the embodiment for carrying out the present invention, which is another object of the present invention. Can be positioned as one.
  • the fault processing method is a fault processing method in a system including a first processing unit and a second processing unit.
  • the first processing unit A first acquisition step of acquiring, via the first path, failure information held by a device connected to the first unit and the second processing unit via the first path and the second path, respectively, A first notification step in which the first processing unit notifies the second processing unit of non-response information indicating that the device is not responding when failure information cannot be acquired in one acquisition step; and the first notification step
  • the non-response information is notified by the second acquisition step
  • the second processing unit acquires failure information from the apparatus via the second route, and the failure acquired by the second acquisition step Based on the information, the second processing unit A second failure location estimating step for estimating a failure cause location; a second notification step in which the second processing unit notifies the failure location estimated in the second failure location estimation step to the first processing unit;
  • the one processing unit includes a specifying step for specifying the subject using the fault location estimated in the
  • FIG. 1 is a diagram illustrating a configuration of a system according to an example of an embodiment.
  • FIG. 2 is a diagram illustrating a detailed hardware configuration of a system according to an example of the embodiment.
  • the system 1 includes a first storage unit 2, a second storage unit 3, a CPU 10, a chip set 20, a PCI-Express switch 30-32, an MC (Micro Controller) 40, a PCI-Express bus 50-54, an I2C (Inter-Integrated). Circuit) bus 60, a plurality of PCI-Cards 80, and a plurality of PCI-Cards 81 are provided.
  • the system 1 is, for example, an IO (Input / Output) subsystem.
  • the CPU 10 and the chipset 20 are communicably connected via a QPI (Quick Path Interconnect) bus 55, for example.
  • the chip set 20 is communicably connected to the switch 30 via the PCI-Express bus 50.
  • the switch 30 is communicably connected to the switches 31 and 32 via the PCI-Express buses 51 and 52, respectively.
  • the switch 31 is connected to a plurality of (four in the example shown in FIG. 1) PCI-Cards 80 via the PCI-Express bus 53 so that they can communicate with each other.
  • the switch 32 is communicably connected to a plurality (four in the example shown in FIG. 1) of PCI-Cards 81 via the PCI-Express bus 54, respectively.
  • the CPU 10, the chipset 20, the PCI-Express switch 30-32 and the PCI-Cards 80 and 81 have the CPU 10 as the highest level and the PCI-Cards 80 and 81 as the lowest level, the QPI bus 55 and the PCI-Express bus 50-54 (first Are connected in multiple stages via an example of the above-mentioned route.
  • the switches 30-32 are communicably connected to the MC 40 via the I2C bus 60.
  • storage part 2 is connected so that communication with CPU10 is possible
  • storage part 3 is connected so that communication with MC40 is possible.
  • the MC 40 and the chip set 20 are connected to be communicable via a LAN (Local Area Network).
  • Each of the switches 30 to 32 is a communication device having a line or packet switching (switching) function.
  • Each of the switches 30-32 includes, for example, a plurality of ports connected by a PCI-Express bus, and outputs information received at a predetermined port from an arbitrary port.
  • FIG. 3 is a diagram illustrating a configuration of the switch 30 as an example of the present embodiment.
  • the switch 30 has, for example, a plurality of ports (three in the example shown in FIG. 3), and a PCI configuration register (hereinafter simply referred to as a configuration register) 33 for each port. I have it.
  • each of the plurality of ports detects the failure and records the failure information in the configuration register 33. More specifically, the failure information is recorded in an AER (Advance Error Reporting) register that is a part of the configuration register 33.
  • the failure information is information indicating the content of the failure. For example, when a link break of the PCI-Express bus connected to the port occurs, Surprise Down Error is recorded in the AER register. . Note that known information can be used as the failure information recorded in the AER register.
  • Each of the plurality of ports transmits a Fatal-Error Message packet to an IO hub 21 (described later) of the chipset 20 when a failure is detected.
  • this Fatal-Error Message packet is defined in the PCI-Express standard, and a detailed description thereof will be omitted.
  • the switches 31 and 32 have the same configuration as the switch 30 and will not be described in detail. In the example shown in FIG. 1, the switches 31 and 32 each have five or more ports.
  • Each of the plurality of ports provided in the switch 31 transmits a Fatal-Error Message packet to the IO hub 21 of the chipset 20 via the switch 30 when a failure is detected.
  • each of the plurality of ports provided by the switch 31 transmits a Fatal-Error Message packet to the switch 30, and the switch 30 that receives the Fatal-Error Message packet receives the Fatal-Error message received by the IO hub 21. Send an Error Message packet.
  • each of the plurality of ports provided in the switch 32 transmits a Fatal-Error Message packet to the IO hub 21 of the chipset 20 via the switch 30 when a failure is detected. Specifically, when a failure is detected, each of the plurality of ports provided by the switch 32 transmits a Fatal-Error Message packet to the switch 30, and the switch 30 that receives the Fatal-Error Message packet receives the Fatal-Error packet received by the IO hub 21. Send Error Message packet.
  • a processing circuit with a port executes a predetermined firmware to realize a function of detecting a fault, a function of recording fault information in an AER register, and a function of transmitting a Fatal-Error Message packet.
  • the chip set 20 is a circuit that connects the CPU 10 and the switch 30 and performs, for example, processing for converting QPI into PCI-Express.
  • the chip set 20 includes an IO hub 21, a south bridge 22, and a BMC (Baseboard Management Controller) 23.
  • the IO hub 21 and the south bridge 22 are connected to be communicable with each other via, for example, an ESI (Enterprise Southbridge Interface) bus.
  • the south bridge 22 and the BMC 23 are connected to each other via, for example, an LPC (Low Pin Count) bus.
  • the BMC 23 is connected to the MC 40 via a LAN so as to be able to communicate with each other.
  • the IO hub 21 is connected to the BMC 23 via the I2C 60 so as to be able to communicate with each other.
  • the IO hub 21 is an LSI (Large Scale Integrated) that converts QPI into PCI-Express. Further, when the IO hub 21 receives a Fatal-Error Message packet from a lower device, that is, the switch 30 or the IO hub 21 itself, the IO hub 21 issues, for example, an SMI (System Management Interrupt) interrupt to the CPU 10.
  • the IO hub 21 has a Root Complex. Root Complex is a chip set for connecting the CPU 10 to an IO device such as the switch 30 and converts QPI into PCI-Express. The root complex has at least one port and a configuration register 33 as in the switches 30-32. Note that Root Complex is the highest-level device of PCI-Express.
  • the port provided by the IO hub 21 detects the failure and records the failure information in the configuration register 33. More specifically, fault information is recorded in an AER register that is a part of the configuration register 33.
  • the port provided with the IO hub 21 transmits a Fatal-Error Message packet to the IO hub 21 when a failure is detected.
  • the IO hub 21 receives the Fatal-Error Message packet from its own failed port, it issues an SMI interrupt to the CPU 10 in the same manner as when the Fatal-Error Message packet is received from the switch 30 or the like.
  • the processing circuit of the port provided in the IO hub 21 executes a predetermined firmware, thereby transmitting a failure detection function, a failure information recording function in the AER register, and a Fatal-Error Message packet. Realize the function.
  • the south bridge 22 controls devices on the LPC bus, for example.
  • the BMC 23 monitors hardware errors in the system 1 such as monitoring the state of the CPU 10.
  • Each of the PCI-Cards 80 and 81 is an expansion card that provides various functions created in accordance with the PCI standard, for example, a network card or a sound card. Further, each of the PCI-Cards 80 and 81 has at least one or more ports and a configuration register 33 (for each port) as in the switches 30-32. When a failure occurs in each of the ports provided by the PCI-Cards 80 and 81, the failure is detected and the failure information is recorded in the configuration register 33. More specifically, fault information is recorded in an AER register that is a part of the configuration register 33.
  • Each of the ports provided by the PCI-Cards 80 and 81 transmits a Fatal-Error Message packet to the IO hub 21 via the connected switch 31/32 and the switch 30 when a failure is detected.
  • the port provided by the PCI-Card 80 transmits a Fatal-Error Message packet to the connected switch 32 when a failure is detected.
  • the switch 32 transfers the received Fatal-Error Message packet to the switch 30, and the switch 30 further transfers the Fatal-Error Message packet transferred from the switch 32 to the IO hub 21 to the IO hub 21.
  • the port provided with the PCI-Card 81 transmits a Fatal-Error Message packet to the connected switch 31 when a failure is detected.
  • the switch 31 transfers the received Fatal-Error message packet to the switch 30, and the switch 30 further transfers the fatal-error message packet transferred from the switch 32 to the IO hub 21 to the IO hub 21.
  • the processing circuit provided for each port of the PCI-Cards 80 and 81 executes a predetermined firmware to detect a failure, a function to record failure information in the AER register, a Fatal-Error Message A function to transmit packets is realized.
  • the first storage unit 2 is, for example, a ROM (Read Only Memory), and stores various types of information. Specifically, the first storage unit 2 stores a BIOS.
  • storage part 3 is ROM, for example, and memorize
  • the second storage unit 3 stores a system management firmware.
  • the CPU 10 executes an OS and various application programs stored in a BIOS stored in the first storage unit 2 or an auxiliary storage device (not shown) (an internal HDD (Hard Disk Drive) or an external storage system). It is a processing device that performs various calculations and controls to realize various functions.
  • the CPU 10 functions as a first processing unit.
  • the CPU 10 functions as a bus number assignment unit 11, a first acquisition unit 12, a first notification unit 13, a first failure location estimation unit 14, and a request unit 15 as illustrated in FIG. 1 by executing the BIOS.
  • the CPU 10 functions as a determination unit 16, an end unit 17, and a reset instruction unit 18 as illustrated in FIG. 1 by executing the OS.
  • the OS may have one or more functions among the functions as the first acquisition unit 12, the first notification unit 13, the first failure location estimation unit 14, and the request unit 15, and the determination unit 16 and the end unit. 17 and the reset instruction unit 18 may have one or more functions in the BIOS.
  • the bus number assigning unit 11 when the system 1 is started, the bus number assigning unit 11 includes a PCI-Express bus (not shown) in the IO hub 21, a PCI-Express bus 50-54, and a PCI in each switch 30-32. -Assign a bus number to each Express bus. Bus numbers are assigned in accordance with PCI bus assignment rules.
  • the PCI-Express bus, the QPI bus 55, the PCI-Express bus 50-54 in the IO hub 21, and the PCI-Express bus in each switch 30-32 correspond to an example of a first path. That is, the bus number assigning unit 11 assigns a bus number to the first route.
  • FIG. 4 is a diagram illustrating an example of a state in which a bus number is assigned to the system 1 by the bus number assigning unit 11.
  • a circled number represents a bus number.
  • Bus numbers 1, 3, and 9 are assigned to the PCI-Express buses 50, 52, and 51 by the bus number assigning unit 11, respectively.
  • the bus numbers 5 to 8 are assigned to the four PCI-Express buses 54, respectively.
  • the bus number assignment unit 11 assigns bus numbers 11-14 to the four PCI-Express buses 53, respectively.
  • bus numbers 2, 4, and 10 are assigned by the bus number assigning unit 11 to the PCI-Express buses that connect the ports of the switches 30, 32, and 31, respectively.
  • the bus number assigning unit 11 assigns a bus number 0 to the PCI-Express bus inside the IO hub.
  • the first acquisition unit 12 When the first acquisition unit 12 receives an SMI (System Management Interrupt) interrupt from the IO hub 21, the first acquisition unit 12 reads the failure information from each AER register provided in the system 1. Reading of the AER register by the first acquisition unit 12 is performed via the QPI bus 55 that connects the CPU 10 and the chipset 20, the PCI-Express bus 50-54, and the PCI-Express bus that connects the ports of the switch 30-32. It is.
  • the first acquisition unit 12 reads and acquires the value (contents) of the AER register of the configuration register 33 of the IO hub 21, the switch 30-32, and the PCI-Cards 80 and 81, for example. That is, the first acquisition unit 12 functions as a first acquisition unit that acquires failure information via the first route.
  • SMI System Management Interrupt
  • the information indicating that Master Abort has occurred is, for example, 4-byte data that is all “1”.
  • the IO hub 21 can determine whether or not a predetermined time has elapsed by using a timer that the IO hub 21 has.
  • the first acquisition unit 12 stops reading the AER register and records the bus number where the Master Abort has occurred, for example, in a register provided by the CPU 10.
  • the bus number at which Master Abort has occurred is the bus number that the first acquisition unit 12 uses to read the AER register when the first acquisition unit 12 detects Master Abort.
  • the bus number where the Master Abort has occurred is the number of the bus connected to the upper side of the AER register from which the first acquisition unit 12 could not read the information.
  • the first notification unit 13 When the first acquisition unit 12 acquires information indicating that Master Abort has occurred, the first notification unit 13 indicates that Master Abort has occurred (no response information) and information indicating where the Master Abort has occurred Is notified to the MC 40 (an example of the second processing unit). Specifically, the first notification unit 13 uses, for example, a flag indicating that Master Abort has occurred and the bus number (position information) where Master Abort has been generated, the IO hub 21, the ESI hub, the south bridge 22, the LPC hub, and the like. The MC 40 is notified via the BMC 23. The notification from the first notification unit 13 to the MC 40 is performed using, for example, IPMI (Intelligent Platform Management Interface) communication.
  • IPMI Intelligent Platform Management Interface
  • the first failure location estimation unit 14 estimates the failure cause location based on the content of the AER register acquired by the first acquisition unit 12, for example. Specifically, when the first acquisition unit 21 acquires information indicating that a failure has occurred from the AER register, for example, Surprise Down Error, the first failure location estimation unit 14 records Surprise Down Error. The location in the system 1 (corresponding to the register storing the error information) is estimated as the failure cause location. Further, the first failure location estimation unit 14 also estimates a device for which the first acquisition unit 12 cannot acquire the contents of the AER register due to the occurrence of Master Abort as the failure cause location.
  • the request unit 15 requests the MC 40 to generate system failure information described later. Specifically, the request unit 15 notifies the MC 40 of the failure cause location estimated by the first failure location estimation unit 14 and the contents of the AER register acquired by the first acquisition unit 12 from the failure cause location. The request unit 15 requests the MC 40 to generate system failure information to be described later at the same time or substantially simultaneously with the notification of the failure location and the contents of the AER register. That is, the request unit 15 functions as a third notification unit that notifies the MC 40 of the failure cause location estimated by the first failure location estimation unit 12 and the contents of the AER register of the failure cause location.
  • the notification and request by the request unit 15 are performed via, for example, the IO hub 21, the ESI hub, the south bridge 22, the LPC hub, and the BMC 23. Further, the notification and request from the request unit 15 to the MC 40 are performed using, for example, IPMI communication. Further, the request unit 15 requests the CPU 10 to generate system fault information and the CPU 10, for example. NMI (Non-Maskable Interrupt) interrupt.
  • NMI Non-Maskable Interrupt
  • the NMI interrupt is an interrupt that cannot be prohibited by software.
  • the determination unit 16 when the determination unit 16 receives an NMI interrupt and a notification from the second notification unit 43 described later, whether or not the failure point can be separated based on the failure cause point estimated by the second failure point estimation unit 42. Determine whether. If Master Abort does not occur, the determination unit 16 determines whether or not the failure location can be separated (same as above) based on the failure cause location estimated by the first failure location estimation unit 14. To do.
  • separating the fault location means that the application or the like does not use the fault cause location while the operation of the system 1 is continued (without resetting the system 1).
  • the determination unit 16 specifies a subject such as an application that uses the failure cause location estimated by the second failure location estimation unit 42 or the first failure location estimation unit 14. For example, the determination unit 16 does not use the failure cause location estimated by the second failure location estimation unit 42 or the first failure location estimation unit 14 when the subject such as all applications operating in the system 1 is used. Judge that it is possible to isolate the fault location. If it is determined that the failure location can be separated, the failure cause location estimated by the second failure location estimation unit 42 or the first failure location estimation unit 14 is used by the end unit 17 described later, for example. Application or virtual machine is terminated. In other words, the determination unit 16 uses a failure cause location estimated by the second failure location estimation unit 42 or the first failure location estimation unit 14 only in a part of all subjects operating in the system 1. Therefore, it is determined that the failure part can be separated.
  • a subject such as an application that uses the failure cause location estimated by the second failure location estimation unit 42 or the first failure location estimation unit 14.
  • the determination unit 16 does not use the failure cause location estimated by the second failure
  • the subject such as all applications operating in the system 1 uses the failure cause location estimated by the second failure location estimation unit 42 or the first failure location estimation unit 14, it is impossible to isolate the failure location.
  • the “subject” is, for example, an application, a virtual machine, or a hardware resource used by the application or virtual machine. That is, the determination unit 16 functions as a specifying unit that specifies the subject that uses the fault location.
  • moving in the system 1 it uses the failure cause location estimated by the 2nd failure location estimation part 42 or the 1st failure location estimation part 14. Applications, virtual machines, etc. can be specified using this OS function.
  • the ending unit 17 uses, for example, the failure cause location estimated by the second failure location estimation unit 42 or the first failure location estimation unit 14 when the determination unit 16 determines that the failure location can be separated. Close the application or virtual machine to be executed.
  • the termination unit 17 terminates the application A.
  • the application B can operate without stopping the system 1.
  • the reset instruction unit 18 instructs the MC 40 to reset the system 1.
  • the reset instruction unit 18 issues a reset instruction by writing a reset flag in a register provided in the MC 40.
  • the MC 40 is, for example, a processing device that performs various calculations and controls by executing a system management firmware stored in the second storage unit 3, thereby realizing various functions.
  • the MC 40 functions as a second acquisition unit 41, a second failure location estimation unit 42, a second notification unit 43, a generation unit 44, and a reset unit 45 by executing a system management firmware.
  • the second acquisition unit 41 when the second acquisition unit 41 receives a notification from the first notification unit 13 that the Master Abort has occurred and the bus number where the Master A Abort has occurred, the second acquisition unit 41 passes through the I2C bus 60 (an example of the second route). Read the contents of the AER register. Specifically, the second acquisition unit 41 could not acquire the first acquisition unit 12 among the AER registers of the configuration register 33 provided by each of the IO hub 21, the switch 30-32, and the PCI-Cards 80 and 81. Read the contents of the AER register. In other words, the second acquisition unit 41 functions as a second acquisition unit that acquires failure information via the second route.
  • the second acquisition unit 41 reads the AER register that is lower than the bus number where the master abort occurred.
  • the MC 40 can grasp how the bus number is assigned.
  • the I2C address is fixedly assigned to the device in the system 1 and the MC 40 knows the position of the device in the system 1, the MC 40 determines the position of the device in the system 1 and the I2C address. I know the correspondence. Therefore, the second acquisition unit 41 can associate the bus number with the I2C address, and can specify the position of the device in the system 1 based on the bus number. That is, the second acquisition unit 41 can specify the AER register to be read based on the bus number.
  • the second failure location estimation unit 42 estimates the failure cause location based on the content of the AER register acquired by the second acquisition unit 41, for example. Specifically, the second failure point estimation unit 42 receives information indicating that a failure has occurred from the AER register, for example, inside each device such as the IO hub 21, the switch 30-32, and the PCI-Cards 80 and 81. When the second acquisition unit 41 acquires InternalInUncorrectable Error indicating an uncorrectable error, the location in the system 1 where the Internal Uncorrectable Error was recorded is estimated as a failure cause location.
  • the second failure location estimation unit 42 can be realized by using various known methods, and detailed description thereof is omitted.
  • the second notification unit 43 notifies the CPU 10 of the content of the AER register of the failure cause location estimated by the second failure location estimation unit 42 and / or the failure cause location estimated by the second failure location estimation unit 42. To do.
  • the notification from the second notification unit 43 to the CPU 10 is performed using, for example, IPMI communication.
  • the generation unit 44 generates, for example, system failure information and records it in the second storage unit 3.
  • the system failure information is information by which the administrator of the system 1 can grasp the failure cause location, and includes at least information indicating the failure cause location.
  • the generation unit 44 includes a failure cause location estimated by each of the first failure location estimation unit 14 and the second failure location estimation unit 42, failure information acquired from these failure cause locations, Master Abort System failure information is generated in combination with the location where the error occurred.
  • the failure cause location estimated by the first failure location estimation unit 14 and the failure information acquired from this failure cause location are notified from the request unit 15 to the generation unit 44, and a bus indicating the location where Master Abort has occurred. The number is notified to the generation unit 44 by the first notification unit 13.
  • a program (OS) for realizing the functions as the determination unit 16, the end unit 17, and the reset instruction unit 18 is, for example, a flexible disk, a CD (CD-ROM, CD-R, CD-RW, etc.), Recorded on a computer-readable recording medium such as a DVD (DVD-ROM, DVD-RAM, DVD-R, DVD + R, DVD-RW, DVD + RW, HD DVD, etc.), Blu-ray disc, magnetic disc, optical disc, magneto-optical disc, etc. Provided in different forms. Then, the computer reads the program from the recording medium, transfers it to the internal storage device or the external storage device, and uses it.
  • the program may be recorded in a storage device (recording medium) such as a magnetic disk, an optical disk, or a magneto-optical disk, and provided from the storage device to the computer via a communication path.
  • the BIOS may be written in the first storage unit 2 at the time of factory shipment and shipped as a product. Further, the system management firmware may be written in the second storage unit 3 at the time of factory shipment and shipped as a product.
  • the program (BIOS) stored in the internal storage device (first storage unit 2 etc. in this embodiment) and the program (OS) stored in the auxiliary storage device (internal HDD, external storage system, etc.) are stored in the computer. It is executed by a microprocessor. At this time, the program stored in the auxiliary storage device may be executed by the computer reading the program recorded on the recording medium.
  • an internal storage device (second storage in the present embodiment) is used.
  • the program stored in the unit 3 etc. is executed by the microprocessor of the computer.
  • the computer is a concept including hardware and an operating system, and means hardware that operates under the control of the operating system. Further, when an operating system is unnecessary and hardware is operated by an application program alone, the hardware itself corresponds to a computer.
  • the hardware includes at least a microprocessor such as a CPU and a means for reading a computer program recorded on a recording medium.
  • the system 1 functions as a computer including the CPU 10.
  • the system 1 has a function as a computer having the MC 40.
  • FIG. 5 is a flowchart showing an operation of the system 1 as an example of the embodiment configured as described above.
  • the device in which the error has occurred for example, the switch 32
  • the IO hub 21 issues an SMI interrupt to the CPU 10.
  • the first acquisition unit 12 When the CPU 10 detects the SMI (step A1), the first acquisition unit 12 reads the AER register of the configuration register 33 provided by each device in the system 1 via the QPI bus 55, the PCI-Express bus 50-54, and the like. The contents are read (step A3). Whenever the first acquisition unit 12 performs the read operation of the AER register, the first acquisition unit 12 determines whether or not MasterborAbort has occurred, depending on whether or not information indicating that Master Abort has occurred has been acquired. Is determined (step A4). If it is determined that Master Abort has not occurred (see No route in Step A4), the process returns to Step A2 again (Step A5). The processing in Step A3 and Step A4 determines that Master Abort has not occurred.
  • the process is repeated for the number (n) of the configuration registers 33 in the system 1 (see steps A2 to A5).
  • the first acquisition unit 12 acquires information indicating that Master Abort has occurred (see the Yes route in step A4)
  • the first acquisition unit 12 stops reading the AER register, and Master The bus number where the Abort is generated is stored in a register provided by the CPU 10, for example.
  • the first notification unit 13 notifies the MC 40 of the fact that MasterIPAbort has occurred and the bus number where Master Abort has occurred, for example, by IPMI communication (step A6).
  • the first failure location estimation unit 14 estimates the failure cause location based on the contents of the AER register acquired in step A3 (step A7).
  • the requesting unit 15 acquires the failure cause location estimated by the first failure location estimation unit 14 and the AER register acquired by the first acquisition unit 12 from the failure cause location estimated by the first failure location estimation unit 14. Is notified to the MC 40 by, for example, IPMI communication. At the same time as this notification, the request unit 15 requests the MC 40 to generate system failure information (step A8).
  • step A6 the second acquisition unit 41 of the MC 40, which is notified of the occurrence of Master Abort and the bus number in which Master Abort is generated, uses the I2C bus 60 and the bus number in which Master Abort has occurred.
  • the lower AER register is read (step A10).
  • the processing in step A9 is repeated for the number (m) of configuration registers 33 below the bus number where Master Abort is generated (see steps A9 to A11).
  • the second failure location estimation unit 42 determines the cause of the failure based on the read contents of the AER register. The location is estimated (step A12).
  • the second notification unit 43 notifies the CPU 10 of the failure cause location estimated by the second failure location estimation unit 42 using, for example, IPMI communication (step A14).
  • the determination unit 16 determines whether or not the failure location can be separated based on the failure cause location estimated by the second failure location estimation unit 42 notified by the second notification unit 43 (step A15).
  • the end unit 17 specifies the application or virtual used by the fault location specified by the determination unit 16 and estimated by the second fault location estimation unit 42.
  • the machine is terminated (step A16). If it is not possible to isolate the failure location (see No route in step A15), the reset instruction unit 18 instructs the MC 40 to reset the system 1, for example, and the reset unit 45 The system 1 is reset (step A17).
  • the request unit 15 requests the MC 40 to generate system fault information simultaneously with this notification. Further, the requesting unit 15 may notify the MC 40 of only the highest location among the locations estimated by the first failure location estimation unit 14 as the failure cause location. That is, the request unit 15 may notify the MC 40 of only the contents of the switch 30 and the AER register of the switch 30 as the cause of failure.
  • the termination unit 17 uses the failure location estimated by the second failure location estimation unit 42. Terminate applications and virtual machines that use. For example, when the determination unit 16 specifies that all the PCI-Cards 81 connected to the lower side of the switch 32 are used by the application B, the end unit 17 ends the application B.
  • the system 1 includes the three switches 30-32.
  • the present invention is not limited to this.
  • the system 1 may have 2 or less or 4 or more switches.
  • the system 1 includes eight PCI-Cards 80 and 81, but is not limited to this.
  • the system 1 may have 7 or less or 9 or more PCI-Cards.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

 該システムにおいて障害が発生した場合、第1処理部および第2処理部とそれぞれ第1の経路および第2の経路を介して接続された装置(20,30,31,32,80,81)が保持する障害情報を、第1の経路を介して取得する第1取得部(12)と、第1取得部によって障害情報が取得できない場合に、障害情報を、第2の経路を介して取得する第2取得部(41)と、第2取得部によって取得された障害情報に基づいて、障害原因箇所を推定する第2障害箇所推定部(42)と、第2障害箇所推定部により推定された障害箇所を使用している主体を特定する特定部(16)と、特定部により特定された主体を終了させる、終了部(17)と、をそなえる。

Description

システムおよび障害処理方法
 本発明は、システムおよび障害処理方法に関する。
 システム内において障害が発生した場合に、システムにそなえられるRAM(Random Access Memory)から障害情報を読み出し、解析を行なう技術が知られている。また、障害情報を解析することで、障害原因箇所を推定する方法(Fault Location)が知られている。
 障害原因箇所を推定する方法を、図9を用いて説明する。図9は従来のシステムのハードウェア構成を示す図である。ここで、システム200は、CPU(Central Processing Unit)210,チップセット220,PCI(Peripheral Component Interconnect)-Expressスイッチ(以下、単にスイッチという場合がある)230-235およびPCI-Card240をそなえる。スイッチ230は、スイッチ231およびスイッチ232とPCI-Expressバスを介して通信可能に接続され、スイッチ233は、スイッチ234およびスイッチ235とPCI-Expressバスを介して相互に接続されている。さらに、チップセット220は、スイッチ230およびスイッチ233とPCI-Expressバスを介して通信可能に接続されている。また、スイッチ231,232,234,235のそれぞれに、PCI-Expressバスを介してPCI-Card240が接続されている。
 上記のように構成されたシステム200において、例えば、スイッチ232において障害が発生すると、チップセット220がCPU210に対して割り込みを行なうことによって障害の発生を通知する。CPU210は、このチップセット220からの割り込みを受けることで、システム200内で障害が発生したことを検知する。そして、CPU210は、障害が発生したことを検知すると、PCI-Expressバスを介して、チップセット220,スイッチ230-235およびPCI-Card240がそれぞれそなえるレジスタを読み出し、障害の要因を解析し、障害の原因箇所を推定する。
 しかしながら、PCI-Expressバスのリンク切れやPCI-Express送受信バッファのハング等の種々の理由によって、レジスタの読み出しができない状態(Master Abort)が発生する場合がある。図10は、レジスタの読み出しができない場合を説明するための図である。
 図10に示すように、例えば、チップセット220とスイッチ230との間のPCI-Expressバスがリンク切れを起こしている場合、CPU210は、スイッチ230-232や、スイッチ231,232に接続されているPCI-Card240がそれぞれそなえるレジスタの読み出しができなくなる。
 したがって、具体的に障害の原因箇所を推定することができず、例えば、障害を解消するためには、スイッチ230-232およびスイッチ231,232に接続されているPCI-Card240の全ての部品の交換が必要となる。
特開平05-282167号公報
 すなわち、Master Abort発生時には、具体的に障害の原因箇所を推定することができないという問題点があった。
 本件は、Master Abort発生時においても、高精度に障害の原因箇所を推定することを目的の一つとする。
 なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本件の他の目的の1つとして位置付けることができる。
 本システムは、第1処理部と、第2処理部と、第1処理部と第1の経路を介して接続され、第2処理部と第2の経路を介して接続される装置とをそなえたシステムであって、該第1処理部が、該システムにおいて障害が発生した場合、前記装置が保持する障害情報を、該第1の経路を介して取得する第1取得部と、該第1取得部によって該障害情報を前記装置から取得できない場合に、該障害情報が取得できない状態を示す無応答情報を該第2処理部に通知する第1通知部と、をそなえ、該第2処理部が、該第1通知部から該無応答情報の通知があった場合に、該障害情報を、該第2の経路を介して前記装置から取得する第2取得部と、該第2取得部が取得した障害情報に基づいて、障害原因箇所を推定する第2障害箇所推定部と、該第2障害箇所推定部により推定された障害箇所を、該第1処理部に通知する第2通知部と、をそなえるとともに、さらに、該第1処理部が、該第2障害箇所推定部により推定された障害箇所を使用している主体を特定する特定部と、該特定部により特定された主体を終了させる、終了部と、をそなえる。
 また、本障害処理方法は、第1処理部と、第2処理部とをそなえたシステムにおける障害処理方法であって、第1処理部が、該システムにおいて障害が発生した場合、該第1処理部および該第2処理部とそれぞれ第1の経路および第2の経路を介して接続された装置が保持する障害情報を、該第1の経路を介して取得する第1取得ステップと、該第1取得ステップによって障害情報が取得できない場合に、該装置が無応答である旨を示す無応答情報を第1処理部が該第2処理部に通知する第1通知ステップと、該第1通知ステップによって該無応答情報の通知があった場合に、第2処理部が、該第2の経路を介して障害情報を装置から取得する第2取得ステップと、該第2取得ステップによって取得された障害情報に基づいて、第2処理部が障害原因箇所を推定する第2障害箇所推定ステップと、第2処理部が、該第2障害箇所推定ステップにより推定された障害箇所を、該第1処理部に通知する第2通知ステップと、第1処理部が、該第2障害箇所推定ステップにより推定された障害箇所を使用している主体を特定する特定ステップと、該特定ステップにより特定された主体を終了させる、終了ステップと、をそなえる。
 本システムおよび障害処理方法によれば、Master Abort発生時においても、高精度に障害の原因箇所を推定することが可能となる。
実施形態の一例にかかるシステムの構成を示す図である。 実施形態の一例にかかるシステムの詳細なハードウェア構成を示す図である。 実施形態の一例にかかるスイッチの構成を示す図である。 実施形態の一例にかかる割当部の動作を説明するための図である。 実施形態の一例にかかる障害検出装置の動作を説明するためのフローチャートである。 実施形態の一例にかかるSMI割り込みを説明するための図である。 実施形態の一例にかかるMCの動作を説明するための図である。 実施形態の一例にかかるシステム障害情報を示す図である。 従来のシステムのハードウェア構成を示す図である。 従来のシステムにおいてレジスタの読み出しができない場合を説明するための図である。
 以下、図面を参照して本発明のシステムおよび障害処理方法に係る実施の形態を説明する。
 図1は、実施形態の一例に係るシステムの構成を示す図である。図2は、実施形態の一例に係るシステムの詳細なハードウェア構成を示す図である。システム1は、第1記憶部2,第2記憶部3,CPU10,チップセット20,PCI-Expressスイッチ30-32,MC(Micro Controller)40,PCI-Expressバス50-54,I2C(Inter-Integrated Circuit)バス60,複数のPCI-Card80および複数のPCI-Card81をそなえている。ここで、システム1は、例えば、IO(Input/Output)サブシステムである。
 CPU10とチップセット20とは、例えばQPI(Quick Path Interconnect)バス55を介して通信可能に接続されている。チップセット20は、PCI-Expressバス50を介してスイッチ30と通信可能に接続されている。また、スイッチ30は、PCI-Expressバス51,52を介して、スイッチ31,32とそれぞれ通信可能に接続されている。さらに、スイッチ31は、複数(図1に示す例では4つ)のPCI-Card80と、それぞれPCI-Expressバス53を介して通信可能に接続されている。また、スイッチ32は、複数(図1に示す例では4つ)のPCI-Card81と、それぞれPCI-Expressバス54を介して通信可能に接続されている。CPU10,チップセット20,PCI-Expressスイッチ30-32およびPCI-Card80,81は、CPU10を最上位、PCI-Card80,81を最下位として、QPIバス55およびPCI-Expressバス50-54(第1の経路の一例)を介して多段に接続されている。
 また、スイッチ30-32は、I2Cバス60を介して、MC40と通信可能に接続されている。なお、第1記憶部2は、CPU10と通信可能に接続され、第2記憶部3はMC40と通信可能に接続されている。さらに、MC40とチップセット20とは、LAN(Local Area Network)を介して通信可能に接続されている。
 スイッチ30-32のそれぞれは、回線やパケットの交換(スイッチング)機能を持った通信装置である。スイッチ30-32のそれぞれは、例えば、PCI-Expressバスによって接続された複数のポートをそなえ、所定のポートにおいて受信した情報を、任意のポートから出力する。
 図3は、本実施形態の一例としてのスイッチ30の構成を示す図である。図3に示すように、スイッチ30は、例えば、複数(図3に示す例では3つ)のポートをそなえ、ポートごとにPCIコンフィグレーションレジスタ(以下、単にコンフィグレーションレジスタという場合がある)33をそなえる。ここで、複数のポートそれぞれは、障害が発生した場合、障害を検出して、コンフィグレーションレジスタ33に障害情報を記録する。より具体的には、コンフィグレーションレジスタ33の一部であるAER(Advance Error Reporting)レジスタに障害情報を記録する。ここで、障害情報とは、障害の内容を示す情報であり、例えば、ポートに接続されているPCI-Expressバスのリンク切れが発生した場合には、AERレジスタに、Surprise Down Errorが記録される。なお、このAERレジスタに記録される障害情報としては、既知の情報を使用することができる。
 また、複数のポートそれぞれは、障害を検出した場合に、Fatal-Error Messageパケットをチップセット20のIOハブ21(後述)宛てに送信する。なお、このFatal-Error Messageパケットは、PCI-Expressの規格書に定義されており、その詳細な説明は省略する。
 スイッチ31,32についても、スイッチ30と同様の構成を有するものであり、その詳細な説明は省略する。なお、図1に示す例では、スイッチ31,32は、5つ以上のポートをそれぞれそなえる。スイッチ31がそなえる複数のポートそれぞれは、障害を検出した場合に、Fatal-Error Messageパケットを、スイッチ30経由で、チップセット20のIOハブ21宛てに送信する。具体的には、スイッチ31がそなえる複数のポートそれぞれは、障害を検出した場合、Fatal-Error Messageパケットをスイッチ30送信し、Fatal-Error Messageパケット受信したスイッチ30がIOハブ21に受信したFatal-Error Messageパケットを送信する。
 同様に、スイッチ32がそなえる複数のポートそれぞれは、障害を検出した場合に、Fatal-Error Messageパケットを、スイッチ30経由で、チップセット20のIOハブ21宛てに送信する。具体的には、スイッチ32がそなえる複数のポートそれぞれは、障害を検出した場合、Fatal-Error Messageパケットをスイッチ30送信し、Fatal-Error Messageパケット受信したスイッチ30がIOハブ21に受信したFatal-Error Messageパケットを送信する。
 なお、例えば、ポートがそなえる処理回路が、所定のファームウェアを実行することで、障害を検出する機能や、AERレジスタに障害情報を記録する機能や、Fatal-Error Messageパケットを送信する機能を実現する。
 チップセット20は、CPU10とスイッチ30とを接続する回路であり、例えば、QPIをPCI-Expressに変換する処理を行なう。具体的には、図2に示すように、チップセット20は、IOハブ21,サウスブリッジ22およびBMC(Baseboard Management Controller)23をそなえる。なお、IOハブ21とサウスブリッジ22とは、例えば、ESI(Enterprise Southbridge Interface)バスを介して相互に通信可能に接続される。さらに、サウスブリッジ22とBMC23とは、例えば、LPC(Low Pin Count)バスを介して相互に通信可能に接続される。また、BMC23は、LANを介してMC40と相互に通信可能に接続されている。さらに、IOハブ21は、I2C60を介してBMC23と相互に通信可能に接続されている。
 IOハブ21は、QPIをPCI-Expressに変換するLSI(Large Scale Integrated)である。また、IOハブ21は、Fatal-Error Messageパケットを下位の装置、つまりスイッチ30やIOハブ21自身から受信するとCPU10に対して、例えば、SMI(System Management Interrupt)割り込みを発行する。なお、IOハブ21は、Root Complexをそなえる。Root ComplexはCPU10をスイッチ30等のIOデバイスと接続するためのチップセットであり、QPIをPCI-Expressに変換する。このRoot Complexは、少なくとも1以上のポートをそなえるとともに、スイッチ30-32と同様にコンフィグレーションレジスタ33をそなえる。なお、Root Complexは、PCI-Expressの最も上位に位置する装置である。
 IOハブ21がそなえるポートは、障害が発生した場合、障害を検出して、コンフィグレーションレジスタ33に障害情報を記録する。より具体的には、コンフィグレーションレジスタ33の一部であるAERレジスタに障害情報を記録する。IOハブ21がそなえるポートは、障害を検出した場合に、Fatal-Error MessageパケットをIOハブ21宛てに送信する。IOハブ21は、自己の障害ポートからFatal-Error Messageパケットを受信すると、スイッチ30等からFatal-Error Messageパケットを受信した時と同様に、SMI割り込みをCPU10に対して発行する。
 なお、例えば、IOハブ21がそなえるポートの処理回路が、所定のファームウェアを実行することで、障害を検出する機能や、AERレジスタに障害情報を記録する機能や、Fatal-Error Messageパケットを送信する機能を実現する。
 サウスブリッジ22は、例えば、LPCバス上のデバイスを制御する。BMC23は、例えば、CPU10の状態を監視するなど、システム1におけるハードウェアエラーを監視する。
 PCI-Card80,81のそれぞれは、PCIの規格に従って作成された種々の機能を提供する拡張カードであり、例えば、ネットワークカードやサウンドカードである。また、PCI-Card80,81のそれぞれは、少なくとも1以上のポートをそなえるとともに、スイッチ30-32と同様にコンフィグレーションレジスタ33を(ポート毎に)そなえる。PCI-Card80,81のそれぞれがそなえるポートは、障害が発生した場合、障害を検出して、コンフィグレーションレジスタ33に障害情報を記録する。より具体的には、コンフィグレーションレジスタ33の一部であるAERレジスタに障害情報を記録する。PCI-Card80,81のそれぞれがそなえるポートは、障害を検出した場合に、Fatal-Error Messageパケットを、接続されているスイッチ31/32およびスイッチ30を介して、IOハブ21宛てに送信する。具体的には、PCI-Card80がそなえるポートは、障害を検出した場合に、Fatal-Error Messageパケットを、接続されているスイッチ32に送信する。そして、スイッチ32は受信したFatal-Error Messageパケットをスイッチ30に転送し、スイッチ30は、IOハブ21にスイッチ32から転送されたFatal-Error MessageパケットをIOハブ21に更に転送する。また、PCI-Card81がそなえるポートは、障害を検出した場合に、Fatal-Error Messageパケットを、接続されているスイッチ31に送信する。そして、スイッチ31は受信したFatal-Error Messageパケットをスイッチ30に転送し、スイッチ30は、IOハブ21にスイッチ32から転送されたFatal-Error MessageパケットをIOハブ21に更に転送する。
 なお、例えば、PCI-Card80,81のそれぞれのポートがそなえる処理回路が、所定のファームウェアを実行することで、障害を検出する機能や、AERレジスタに障害情報を記録する機能や、Fatal-Error Messageパケットを送信する機能を実現する。
 第1記憶部2は、例えば、ROM(Read Only Memory)であり、各種の情報を記憶する。具体的には、第1記憶部2はBIOSを記憶する。
 第2記憶部3は、例えば、ROMであり、各種の情報を記憶する。具体的には、第2記憶部3は、システム管理ファームを記憶する。
 CPU10は、例えば、第1記憶部2に記憶されたBIOSや図示しない補助記憶装置(内蔵HDD(Hard Disk Drive)や外付けのストレージシステム)に記憶されたOSや各種アプリケーションプログラムを実行することにより種々の演算や制御を行ない、各種機能を実現する処理装置である。CPU10は、第1処理部として機能する。
 例えば、CPU10は、BIOSを実行することにより、図1に示すように、バス番号割当部11,第1取得部12,第1通知部13,第1障害箇所推定部14および依頼部15として機能する。また、例えば、CPU10は、OSを実行することにより、図1に示すように、判断部16,終了部17およびリセット指示部18として機能する。なお、第1取得部12,第1通知部13,第1障害箇所推定部14および依頼部15としての機能のうち1以上の機能をOSに持たせてもよいし、判断部16,終了部17およびリセット指示部18として機能のうち1以上の機能をBIOSに持たせてもよい。
 バス番号割当部11は、例えば、システム1の起動時に、システム1がそなえる、IOハブ21内部のPCI-Expressバス(図示省略),PCI-Expressバス50-54および各スイッチ30-32内のPCI-Expressバスに対して、それぞれを識別するためのバス番号を割り当てる。バス番号の割当はPCIのバス割り当て規則に従い行なわれる。ここで、IOハブ21内部のPCI-Expressバス,QPIバス55,PCI-Expressバス50-54および各スイッチ30-32内のPCI-Expressバスは、第1の経路の一例に相当する。すなわち、バス番号割当部11は、第1の経路に対してバス番号を割り当てる。
 図4は、システム1に対して、バス番号割当部11によってバス番号が割り当てられた状態の一例を示す図である。図4中、丸付き数字はバス番号を表す。PCI-Expressバス50,52,51に対して、バス番号割当部11によってそれぞれバス番号1,3,9が割り当てられ、4本のPCI-Expressバス54には、それぞれバス番号5-8が、4本のPCI-Expressバス53には、それぞれバス番号11-14がバス番号割当部11によって割り当てられる。さらに、スイッチ30,32,31のポートを接続するPCI-Expressバスには、それぞれバス番号2,4,10がバス番号割当部11によって割り当てられる。また、IOハブ内部のPCI-Expressバスには、バス番号割当部11によってバス番号0が割り当てられる。
 第1取得部12は、IOハブ21からSMI(System Management Interrupt)割り込みを受けた場合、システム1内にそなえられた各AERレジスタから障害情報をそれぞれ読み出す。第1取得部12によるAERレジスタの読み出しは、CPU10とチップセット20とを接続するQPIバス55,PCI-Expressバス50-54およびスイッチ30-32のポートを接続するPCI-Expressバスを介して行なわれる。ここで、第1取得部12は、例えば、IOハブ21,スイッチ30-32およびPCI-Card80,81のコンフィグレーションレジスタ33のAERレジスタの値(内容)を読み出し、取得する。すなわち、第1取得部12は、障害情報を、第1の経路を介して取得する第1取得部として機能する。
 なお、第1取得部12が所定時間AERレジスタの内容を読み出せない場合には、IOハブ21は、Master Abortが発生している旨を示す情報をCPU10に対し出力する。言い換えれば、Master Abortが発生した場合には、第1取得部12は、IOハブ21からMaster Abortが発生していることを示す情報を取得して、Master Abortの発生を検知する。なお、Master Abortとは、例えば、PCI-Expressバスに接続された装置の不具合やPCI-Expressバスのリンク切れなどの様々な障害や、PCI-Expressバスに装置が未実装のため、コンフィグレーションレジスタ33の読み出しができない状態を指す。
 ここで、Master Abortが発生している旨を示す情報とは、例えば、全て”1”である4byteのデータである。なお、IOハブ21は、例えば、自身がそなえるタイマを用いることで所定時間が経過したか否かを判断することができる。
 Master Abortが発生した場合には、第1取得部12は、AERレジスタの読み出しを中止するとともに、Master Abortが発生したバス番号を、例えば、CPU10がそなえるレジスタに記録する。ここで、Master Abortが発生したバス番号とは、第1取得部12がMaster Abortを検知する際に、第1取得部12がAERレジスタの読み出しに使用するバス番号である。言い換えれば、Master Abortが発生したバス番号とは、第1取得部12が情報を読み出すことができなかったAERレジスタの上位側に接続されたバスの番号である。
 第1通知部13は、Master Abortが発生している旨を示す情報を第1取得部12が取得した場合、Master Abortが発生した旨(無応答情報)およびMaster Abortが発生した場所を示す情報をMC40(第2処理部の一例)に通知する。具体的には、第1通知部13は、例えば、Master Abortが発生したことを示すフラグおよびMaster Abortが発生したバス番号(位置情報)をIOハブ21,ESIハブ,サウスブリッジ22,LPCハブおよびBMC23を介してMC40に通知する。この第1通知部13からMC40への通知は、例えば、IPMI(Intelligent Platform Management Interface)通信を用いて行なわれる。
 第1障害箇所推定部14は、例えば、第1取得部12が取得したAERレジスタの内容に基づいて、障害原因箇所を推定する。具体的には、第1障害箇所推定部14は、AERレジスタから障害が発生した旨を示す情報、例えば、Surprise Down Errorを第1取得部21が取得した場合には、Surprise Down Errorが記録されていたシステム1内の箇所(エラー情報を格納していたレジスタと対応)を障害原因箇所として推定する。さらに、第1障害箇所推定部14は、Master Abortの発生により、第1取得部12がAERレジスタの内容を取得できなかった装置も障害原因箇所として推定する。
 なお、第1障害箇所推定部14は、既知の種々の手法を用いて実現可能であり、その詳細な説明は省略する。
 依頼部15は、例えば、MC40に対して、後述するシステム障害情報の生成を依頼する。具体的には、依頼部15は、MC40に対して、第1障害箇所推定部14が推定した障害原因箇所および当該障害原因箇所から第1取得部12が取得したAERレジスタの内容を通知する。依頼部15は、障害箇所とAERレジスタ内容との通知と同時または略同時に、MC40に対して後述するシステム障害情報の生成を依頼する。すなわち、依頼部15は、第1障害箇所推定部12が推定した障害原因箇所および当該障害原因箇所のAERレジスタの内容を、MC40に対して通知する第3通知部として機能する。
 なお、依頼部15による通知および依頼は、例えば、IOハブ21,ESIハブ,サウスブリッジ22,LPCハブおよびBMC23を介して行なわれる。また、この依頼部15からMC40への通知および依頼は、例えば、IPMI通信を用いて行なわれる
 さらに、依頼部15は、例えば、MC40に対してシステム障害情報の生成を依頼するとともに、CPU10に対して、NMI(Non-Maskable Interrupt)割り込みを行なう。ここで、NMI割り込みとは、ソフトウェアから禁止不可能な割り込みである。
 判断部16は、例えば、NMI割り込みおよび後述する第2通知部43からの通知を受けると、第2障害箇所推定部42が推定する障害原因箇所に基づいて、障害箇所を切り離すことが可能か否かを判断する。また、Master Abortが発生しなかった場合には、判断部16は、第1障害箇所推定部14が推定した障害原因箇所に基づいて、障害箇所を切り離す(同上)ことが可能か否かを判断する。ここで、障害箇所を切り離すとは、システム1の動作を継続させたまま(システム1のリセットを行なうことなく)、アプリケーション等が障害原因箇所を使用しない状態にすることをいう。
 具体的には、例えば、判断部16は、第2障害箇所推定部42または第1障害箇所推定部14が推定した障害原因箇所を使用するアプリケーション等の主体を特定する。そして、判断部16は、例えば、システム1において動作する全てのアプリケーション等の主体が第2障害箇所推定部42または第1障害箇所推定部14によって推定された障害原因箇所を使用していなければ、障害箇所を切り離すことが可能であると判断する。なお、障害箇所を切り離すことが可能と判断された場合には、後述する終了部17によって、例えば、第2障害箇所推定部42または第1障害箇所推定部14によって推定された障害原因箇所を使用するアプリケーションや仮想マシンが終了させられる。言い換えれば、判断部16は、システム1において動作する全ての主体のうち一部のみが第2障害箇所推定部42または第1障害箇所推定部14によって推定された障害原因箇所を使用している場合には、障害箇所を切り離すことが可能であると判断する。
 一方、システム1において動作する全てのアプリケーション等の主体が第2障害箇所推定部42または第1障害箇所推定部14によって推定される障害原因箇所を使用していれば、障害箇所を切り離すことが不可能と判断する。
ここで、「主体」とは、例えば、アプリケーションや仮想マシンや、これらのアプリケーションや仮想マシンが用いているハードウェア資源である。すなわち、判断部16は、障害箇所を使用している主体を特定する特定部として機能する。
 なお、OSは、システム1内で動作しているアプリケーションや仮想マシン等を把握しているため、第2障害箇所推定部42または第1障害箇所推定部14によって推定された障害原因箇所を使用するアプリケーションや仮想マシン等を、このOSの機能を用いて特定することができる。
 終了部17は、判断部16によって、障害箇所を切り離すことが可能と判断された場合に、例えば、第2障害箇所推定部42または第1障害箇所推定部14によって推定された障害原因箇所を使用するアプリケーションや仮想マシンを終了させる。
 例えば、図1において、PCI-Card80をアプリケーションAが使用しており、PCI-Card81をアプリケーションBが使用しているときに、PCI-Card80が接続されたスイッチ31が故障した場合には、終了部17はアプリケーションAを終了させる。これによって、システム1を停止させることなく、アプリケーションBは動作可能となる。
 リセット指示部18は、例えば、MC40に対して、システム1のリセットを行なうよう指示する。例えば、具体的には、リセット指示部18はMC40がそなえるレジスタにリセットフラグを書き込むことでリセットの指示を行なう。
 MC40は、例えば、第2記憶部3に記憶されたシステム管理ファームを実行することにより種々の演算や制御を行ない、これにより、各種機能を実現する処理装置である。
 例えば、MC40は、システム管理ファームを実行することにより、第2取得部41,第2障害箇所推定部42,第2通知部43,生成部44およびリセット部45として機能する。
 第2取得部41は、例えば、第1通知部13から、Master Abortが発生した旨およびMaster Abortが発生したバス番号の通知を受けると、I2Cバス60(第2の経路の一例)を介して、AERレジスタの内容を読み出す。具体的には、第2取得部41は、IOハブ21,スイッチ30-32およびPCI-Card80,81のそれぞれがそなえるコンフィグレーションレジスタ33のAERレジスタのうち、第1取得部12が取得できなかったAERレジスタの内容を読み出す。すなわち、第2取得部41は、障害情報を、第2の経路を介して取得する第2取得部として機能する。
 具体的には、第2取得部41は、Master Abortが発生したバス番号より下位にあるAERレジスタを読み出す。
 ここで、割当部11によるバス番号の割当は、PCIのバス割り当て規則に従うため、MC40は、どのようにバス番号が割当てられるかを把握することができる。さらに、I2Cアドレスはシステム1内の装置に固定的に割当てられ、MC40は、システム1内の装置の位置を把握しているため、MC40は、システム1内の装置の位置と、I2Cアドレスとの対応付けを把握している。したがって、第2取得部41は、バス番号とI2Cアドレスとを対応付けることが可能であり、バス番号に基づいて、システム1内の装置の位置を特定することができる。すなわち、第2取得部41は、バス番号に基づいて、読み出すべきAERレジスタを特定することができる。
 第2障害箇所推定部42は、例えば、第2取得部41が取得したAERレジスタの内容に基づいて、障害原因箇所を推定する。具体的には、第2障害箇所推定部42は、AERレジスタから、障害が発生した旨を示す情報、例えば、IOハブ21,スイッチ30-32およびPCI-Card80,81等の各装置の内部での訂正不可能なエラーを示すInternal Uncorrectable Errorを第2取得部41が取得した場合には、Internal Uncorrectable Errorが記録されていたシステム1内の箇所を障害原因箇所として推定する。
 なお、第2障害箇所推定部42は既知の種々の手法を用いて実現可能であり、その詳細な説明は省略する。
 第2通知部43は、例えば、第2障害箇所推定部42によって推定された障害原因箇所および/または第2障害箇所推定部42によって推定された障害原因箇所のAERレジスタの内容を、CPU10に通知する。この第2通知部43からCPU10への通知は、例えば、IPMI通信を用いて行なわれる。
 生成部44は、例えば、システム障害情報を生成し、第2記憶部3に記録する。ここで、システム障害情報とは、システム1の管理者が参照することで、障害原因箇所を把握できる情報であり、少なくとも障害原因箇所を示す情報を含む。具体的には、生成部44は、第1障害箇所推定部14,第2障害箇所推定部42のそれぞれにより推定された障害原因箇所と、これらの障害原因箇所から取得した障害情報と、Master Abortが発生した箇所とを組み合わせてシステム障害情報を生成する。なお、第1障害箇所推定部14により推定された障害原因箇所、および、この障害原因箇所から取得した障害情報は、依頼部15から生成部44に通知され、Master Abortが発生した箇所を示すバス番号は、第1通知部13により生成部44に通知される。
 なお、生成部44は、第2障害箇所推定部42により推定された障害原因箇所、および、この障害原因箇所から取得した障害情報のみに基づいてシステム障害情報を生成してもよい。
 また、生成部44は、Master Abortが発生しなかった場合には、例えば、依頼部15から通知される情報に基づいて、システム障害情報を生成する。
 リセット部45は、例えば、リセット指示部18からの指示を受けると、システム1をリセットする。
 なお、上述した判断部16,終了部17,リセット指示部18としての機能を実現するためのプログラム(OS)は、例えばフレキシブルディスク,CD(CD-ROM,CD-R,CD-RW等),DVD(DVD-ROM,DVD-RAM,DVD-R,DVD+R,DVD-RW,DVD+RW,HD DVD等),ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
 また、BIOSは、第1記憶部2中に、工場出荷時に書き込まれて製品出荷されることとしてもよい。さらに、システム管理ファームも、第2記憶部3中に、工場出荷時に書き込まれて製品出荷されることとしてもよい。
 バス番号割当部11,第1取得部12,第1通知部13,第1障害箇所推定部14,依頼部15,判断部16,終了部17,リセット指示部18としての機能を実現する際には、内部記憶装置(本実施形態では第1記憶部2等)に格納されたプログラム(BIOS)と補助記憶装置(内蔵HDDや外付けストレージシステム等)に格納されたプログラム(OS)がコンピュータのマイクロプロセッサによって実行される。このとき、補助記憶装置に格納されたプログラムは、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
 さらに、第2取得部41,第2障害箇所推定部42,第2通知部43,生成部44およびリセット部45としての機能を実現する際には、内部記憶装置(本実施形態では第2記憶部3等)に格納されたプログラムがコンピュータのマイクロプロセッサによって実行される。
 なお、本実施形態において、コンピュータとは、ハードウェアとオペレーティングシステムとを含む概念であり、オペレーティングシステムの制御の下で動作するハードウェアを意味している。又、オペレーティングシステムが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、CPU等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえており、本実施形態においては、システム1がCPU10をそなえたコンピュータとしての機能を有するとともに、システム1がMC40をそなえたコンピュータとしての機能を有しているのである。
 図5は、上述の如く構成された、実施形態の一例としてのシステム1の動作を示すフローチャートである。
 まず、システム1内において何らかのエラーが生じると、エラーが生じた装置(例えば、スイッチ32)が、Fatal-Error MessageパケットをIOハブ21宛てに送信する。そして、IOハブ21は、Fatal-Error Messageパケット受信すると、CPU10に対してSMI割り込みを発行する。
 CPU10がSMIを検出すると(ステップA1)、第1取得部12は、QPIバス55,PCI-Expressバス50-54等を介して、システム1内の各装置がそなえるコンフィグレーションレジスタ33のAERレジスタの内容を読み出す(ステップA3)。第1取得部12がAERレジスタの読み出し動作を行なうごとに、第1取得部12は、Master Abortが発生している旨を示す情報を取得したか否かにより、Master Abortが発生しているか否かを判断する(ステップA4)。Master Abortが発生していないと判断された場合(ステップA4のNoルート参照)、再びステップA2に戻る(ステップA5)これらのステップA3およびステップA4の処理が、Master Abortが発生していないと判断される限り(ステップA4のNoルート参照)、システム1内のコンフィグレーションレジスタ33の数(n)だけ繰り返し行なわれる(ステップA2~A5参照)。但し、第1取得部12がMaster Abortが発生している旨を示す情報を取得した場合(ステップA4のYesルート参照)には、第1取得部12は、AERレジスタの読み出しを中止し、Master Abortが発生しているバス番号を、例えば、CPU10がそなえるレジスタに格納する。そして、第1通知部13は、Master Abortが発生した旨およびMaster Abortが発生したバス番号を、例えば、IPMI通信によってMC40に通知する(ステップA6)。また、第1障害箇所推定部14は、ステップA3で取得したAERレジスタの内容に基づいて、障害原因箇所の推定を行なう(ステップA7)。
 次に、依頼部15が、第1障害箇所推定部14により推定された障害原因箇所、および、第1障害箇所推定部14により推定された障害原因箇所から第1取得部12が取得したAERレジスタの内容を、例えば、IPMI通信によってMC40に通知する。依頼部15は、この通知と同時に、システム障害情報の生成をMC40に対して依頼する(ステップA8)。
 一方、ステップA6にて、Master Abortが発生した旨およびMaster Abortが発生しているバス番号が通知されたMC40の第2取得部41が、I2Cバス60を用いて、Master Abortが発生したバス番号より下位にあるAERレジスタを読み出す(ステップA10)。このステップA9の処理が、Master Abortが発生したバス番号より下位にあるコンフィグレーションレジスタ33の数(m)だけ繰り返し行なわれる(ステップA9~A11参照)。第2取得部41がMaster Abortが発生したバス番号より下位にある全ての装置のAERレジスタを読み出すと、第2障害箇所推定部42は、読み出されたAERレジスタの内容に基づいて、障害原因箇所を推定する(ステップA12)。次に、生成部44は、システム障害情報を生成する(ステップA13)。具体的には、ステップA6において第1通知部13から通知された情報と、ステップA8において依頼部15から通知された情報と、ステップA12において推定した障害箇所にかかるAERレジスタの内容とに基づいて、生成部44はシステム障害情報を生成し、例えば、第2記憶部3に記録する。また、MC40は、生成部44が生成したシステム障害情報を、図示しない表示部に表示することもできる。
 第2通知部43は、第2障害箇所推定部42によって推定された障害原因箇所を、例えば、IPMI通信を用いてCPU10に通知する(ステップA14)。判断部16は、第2通知部43によって通知された第2障害箇所推定部42によって推定された障害原因箇所に基づいて、障害箇所を切り離すことが可能か否かを判断する(ステップA15)。
 障害箇所を切り離すことが可能ならば(ステップA15のYesルート参照)、終了部17は、判断部16によって特定された、第2障害箇所推定部42によって推定された障害箇所が使用するアプリケーションや仮想マシンを終了させる(ステップA16)。なお、障害箇所を切り離すことが可能でない場合には(ステップA15のNoルート参照)、リセット指示部18は、例えば、MC40に対して、システム1のリセットを行なうよう指示し、リセット部45は、システム1のリセットを行なう(ステップA17)。
 なお、第1取得部12がMaster Abortが発生している旨を示す情報を取得しなかった場合(ステップA4のNoルート参照)には、上述したステップA7,A8の処理が行なわれた後、判断部16によって、第1障害箇所推定部14により推定された障害原因箇所に基づいて、障害箇所を切り離すことが可能か否かが判断される(ステップA15)。そして、障害箇所を切り離すことが可能ならば(ステップA15のYesルート参照)、終了部17は、判断部16によって特定された第1障害箇所推定部14により推定された障害箇所が使用するアプリケーションや仮想マシンを終了させる(ステップA16)。なお、障害箇所を切り離すことが可能でない場合には(ステップA15のNoルート参照)、上述のステップA17の処理が行なわれる。また、Master Abortが発生しなかった場合、ステップA8において依頼部15から通知された情報に基づいて、生成部44はステップA13においてシステム障害情報を生成し、例えば、第2記憶部3に記録する。なお、Master Abortが発生しなかった場合、ステップA14の処理は行なわれない。
 次に、一例として、システム1において、スイッチ32の内部エラーが原因で、スイッチ30とスイッチ32との間のPCI-Expressバス52のリンク切れが発生した場合の動作について説明する。なお、前提として、バス番号割当部11によって、バス番号が割り当てられているものとする。
 図6は、IOハブ21が、CPU10に対してSMI割り込みを発生することを説明するための図である。なお、図6中、スイッチ31については、図示を省略している。
 図6に示すように、スイッチ30とスイッチ32との間のPCI-Expressバス52のリンク切れが発生すると、スイッチ30のport1は、PCI-Expressバス52のリンク切れを検出し、コンフィグレーションレジスタ33のAERレジスタに、例えば、Surprise Down Errorを記録する。さらに、スイッチ30のport1は、Fatal-Error MessageパケットをIOハブ21宛てに送信する。Fatal-Error Messageパケットを受信したIOハブ21は、CPU10に対してSMI割り込みを行なう。CPU10がSMI割り込みを検出することで、第1取得部12が起動する。
 第1取得部12は、IOハブ21,スイッチ30,31およびPCI-Card80内のAERレジスタを読み出すことはできる。しかし、スイッチ30とスイッチ32との間のPCI-Expressバス52のリンク切れが発生しているため、スイッチ32およびスイッチ32の下位側にあるPCI-Card81内のAERレジスタを読み出すことはできない。すなわち、PCI-Expressバス52を介して、スイッチ32内のAERレジスタを読み出そうとする際に、第1取得部12は、Master Abortが発生していることを示す情報を取得する。そして、第1取得部12は、Master Abortが発生したバス番号として、バス番号3をCPU10がそなえるレジスタに記録する。
 次に、第1通知部13が、Master Abortが発生している旨およびバス番号3をMC40に対して通知する。
 また、第1取得部12はAERレジスタの読み出しを中止し、第1障害箇所推定部14は、第1取得部12が取得したAERレジスタの内容に基づいて、障害原因箇所の推定を行なう。ここでは、スイッチ30のport1に対応するAERレジスタに記録されているSurprise Down Errorに基づいて、スイッチ30のport1およびスイッチ30の下位に接続されているスイッチ32およびPCI-Card81を障害原因箇所として推定する。次に、依頼部15が、スイッチ30のAERレジスタの内容、および、障害原因箇所としてスイッチ30,スイッチ32およびPCI-Card81をMC40に通知する。なお、依頼部15は、この通知と同時に、システム障害情報の生成をMC40に対して依頼する。また、依頼部15は、MC40に対して、第1障害箇所推定部14が障害原因箇所であると推定した箇所のうち、最上位の箇所のみを通知することとしてもよい。すなわち、依頼部15は、MC40に対して、障害原因箇所としてスイッチ30およびスイッチ30のAERレジスタの内容のみを通知することとしてもよい。
 一方、第1通知部13から通知を受け取ったMC40では、第2取得部が、バス番号に基づいて、バス番号3の下位に接続されている装置のAERレジスタを読み出す。ここでは、スイッチ32内のAERレジスタおよびPCI-Card81内のAERレジスタを読み出す。
 ここで、図7に示すように、スイッチ32のport2に対応するコンフィグレーションレジスタ33のAERレジスタに、例えば、Internal Uncorrectable Errorが記録されている場合について考えると、第2取得部41が、このAERレジスタの内容を読み出す。そして、第2障害箇所推定部42が、この第2取得部41に読み出されたAERレジスタの内容に基づいて、障害原因箇所をスイッチ32のport2であると推定する。
 そして、生成部44は、例えば、図8に示すようなシステム障害情報を生成し、第2記憶部3に記録する。図8に例示するシステム障害情報は、障害原因箇所(Source)に対して、障害の内容(Description)および障害原因箇所が属するユニット(Unit)が対応付けられている。さらに、図8に例示するシステム障害情報は、障害原因箇所(Source)に対して、第1取得部12または第2取得部41が障害の内容を取得した日時(Date/Time)および障害であることを示す情報(Severity),が対応付けられている。
 具体的には、第1障害箇所推定部14によって障害原因箇所として推定された箇所のうち、最上位の箇所であるスイッチ30のport1に対して、スイッチ30のport1のAERレジスタの内容が対応付けられている。さらに、図8に示すシステム障害情報は、スイッチ30のport1に対して、スイッチ30のport1の属するユニットと、AERレジスタが第1取得部12に取得された日時と、Severityとが対応付けられている。スイッチ30のport1の属するユニットと、AERレジスタが第1取得部12に取得された日時と、Severityとは、第1取得部12より生成される情報であり、依頼部15によりMC40に対して通知される。
 さらに、図8に示すシステム障害情報は、第1通知部13によって通知されたMaster Abortが発生したバス番号に基づいて求められたスイッチ32のport0に対して、第1通知部13によって通知されたMaster Abortである旨が対応付けられている。また、図8に示すシステム障害情報は、スイッチ32のport0に対して、スイッチ32のport0の属するユニットと、第1取得部12がMaster Abortが発生していることを示す情報を取得した日時と、Severityとが対応付けられている。スイッチ32のport0の属するユニットと、第1取得部12がMaster Abortが発生していることを示す情報を取得した日時と、Severityとは、第1取得部12より生成される情報であり、第1通知部13によりMC40に対して通知される。
 さらに、図8に示すシステム障害情報は、第2障害箇所推定部42によって障害原因箇所として推定されたスイッチ32のport2に対して、スイッチ32のport2のAERレジスタの内容が対応付けられている。さらに、図8に示すシステム障害情報は、スイッチ32のport2に対して、スイッチ32のport2の属するユニットと、AERレジスタが第2取得部41に取得された日時と、Severityとが対応付けられている。スイッチ32のport2の属するユニットと、AERレジスタが第2取得部42に取得された日時と、Severityとは、第2取得部42より生成される情報である。
 また、第2通知部43は、第2障害箇所推定部42によって推定された障害原因箇所であるスイッチ32のport2およびこの障害箇所のAERレジスタの内容であるInternal Uncorrectable ErrorをCPU10に通知する。判断部16が、スイッチ32のport2のInternal Uncorrectable Errorによる障害箇所を切り離すことが可能ではないと判断する場合には、リセット指示部18は、例えば、MC40に対して、システム1のリセットを行なうよう指示する。そして、リセット部45は、システム1のリセットを行なう。
 一方、判断部16は、スイッチ32のport2のInternal Uncorrectable Errorによる障害箇所を切り離すことが可能であると判断する場合には、終了部17が、第2障害箇所推定部42によって推定された障害箇所を使用するアプリケーションや仮想マシン等を終了させる。例えば、スイッチ32の下位に接続されている全てのPCI-Card81を、アプリケーションBが使用していると判断部16により特定された場合には、終了部17が、アプリケーションBを終了させる。
 このように、実施形態の一例にかかるシステム1によれば、Master Abort発生時においても、確実かつ高精度に障害の原因箇所を推定することができる。
 さらに、判断部16が、第2障害箇所推定部42によって推定された障害原因箇所に基づいて、障害箇所を切り離すことが可能か否かを判断するため、Master Abort発生時においても、システム1を、できるだけリセットを行なわずに運用することができる。
 また、システム1の管理者は、生成部44によって生成されたシステム障害情報を参照することで、容易に障害の要因と、この要因によって発生した副次的な障害を判断することができる。
 なお、開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。
 例えば、本実施形態の一例においては、スイッチ30は、3つのポートをそなえるが、これに限定されるものではなく、スイッチ30は、任意のポート数をそなえる。スイッチ31,32についてもスイッチ30と同様に本実施形態の一例に限定されるものではなく、任意のポート数をそなえる。
 また、本実施形態の一例では、PCI-Expressについて記載しているが、これに限定されるものではなく、PCIやPCI-Xに対しても適用可能である。
 さらに、本実施形態の一例では、システム1は、3つのスイッチ30-32をそなえているが、これに限定されるものではない。例えば、システム1は、2以下または4以上のスイッチをそなえてもよい。
 また、本実施形態の一例では、システム1は、8つのPCI-Card80,81をそなえているがこれに限定されるものではない。例えば、システム1は、7以下または9以上PCI-Cardをそなえてもよい。
 さらに、例えば、本実施形態の一例においては、第1記憶部2は、CPU10に接続されているが、これに限定されるものではない。例えば、第1記憶部2は、IOハブ21に接続されていてもよい。また、第1記憶部がCPU10に接続されている場合に、IOハブ21に接続された他の記憶部をそなえ、この他の記憶部にBIOSを記憶してもよい。
 また、本実施形態の一例においては、Master Abort発生しているか否かに関わらず、判断部16が、システム1から障害箇所を切り離すことが可能か否かを判断しているが、これに限定されるものではない。例えば、Master Abort発生しなかった場合のみ、判断部16は、システム1から障害箇所を切り離すことが可能か否かを判断することとしてもよく、この場合、第2通知部43は、CPU10に対して情報を通知しない。
 さらに、本実施形態の一例においては、判断部16は、第2障害箇所推定部42または第1障害箇所推定部14によって推定される障害原因箇所に基づいて、障害箇所を切り離すことが可能か否かを判断しているが、これに限定されるものではない。例えば、第2障害箇所推定部42または第1障害箇所推定部14によって推定される障害原因箇所と当該障害原因箇所のAERレジスタの内容とに基づいて、障害箇所を切り離すことが可能か否かを判断してもよい。この場合、システム1は、例えば、切り離すことが可能な障害箇所か否か基準となる情報を、第1記憶部2に予めそなえている。そして、判断部16は、例えば、この情報と、第2障害箇所推定部42または第1障害箇所推定部14によって推定された障害原因箇所および当該箇所のAERレジスタの内容とを比較することで、障害箇所を切り離すことが可能か否かを判断する。第1障害箇所推定部14によって推定された障害原因箇所のAERレジスタの内容についても同様である。また、同様に、第2障害箇所推定部42または第1障害箇所推定部14によって推定される障害原因箇所のAERレジスタの内容に基づいて、障害箇所を切り離すことが可能か否かを判断してもよい。
 上述した開示により本実施形態を当業者によって実施・製造することが可能である。
 1  システム
 2  第1記憶部
 3  第2記憶部
 10  CPU
 11  バス番号割当部
 12  第1取得部
 13  第1通知部
 14  第1障害箇所推定部
 15  依頼部
 16  判断部
 17  終了部
 18  リセット指示部
 20  チップセット
 21  IOハブ
 22  サウスブリッジ
 23  BMC
 30,31,32  スイッチ
 33  コンフィグレーションレジスタ
 40  MC
 50,51,52,53,54  PCI-Expressバス
 55  QPIバス
 60  I2Cバス
 80,81  PCI-Card
 

Claims (8)

  1.  第1処理部と、第2処理部と、第1処理部と第1の経路を介して接続され、第2処理部と第2の経路を介して接続される装置とをそなえたシステムであって、
     該第1処理部が、
     該システムにおいて障害が発生した場合、前記装置が保持する障害情報を、該第1の経路を介して取得する第1取得部と、
     該第1取得部によって該障害情報を前記装置から取得できない場合に、該障害情報が取得できない状態を示す無応答情報を該第2処理部に通知する第1通知部と、をそなえ、
     該第2処理部が、
     該第1通知部から該無応答情報の通知があった場合に、該障害情報を、該第2の経路を介して前記装置から取得する第2取得部と、
     該第2取得部が取得した障害情報に基づいて、障害原因箇所を推定する第2障害箇所推定部と、
     該第2障害箇所推定部により推定された障害箇所を、該第1処理部に通知する第2通知部と、をそなえるとともに、
     さらに、該第1処理部が、
     該第2障害箇所推定部により推定された障害箇所を使用している主体を特定する特定部と、
     該特定部により特定された主体を終了させる、終了部と、をそなえたことを特徴とするシステム。
  2.  該装置を複数そなえ、
     該複数の装置同士が、該第1処理部を上位として、該第1の経路を介して多段に接続され、
     該第2取得部が、該第1取得部によって取得できなかった障害情報を、該第2の経路を介して取得することを特徴とする請求項1記載のシステム。
  3.  該第1通知部は、該第1取得部によって取得できなかった障害情報の格納位置を示す位置情報を該第2処理部に通知し、
     該第2取得部は、該位置情報に基づいて、該第1取得部によって取得できなかった障害情報を取得することを特徴とする請求項2記載のシステム。
  4.  該位置情報は、該第1取得部によって取得できなかった障害情報のうち、最上位の装置が保持する障害情報の格納位置を示し、
     該第2取得部は、該位置情報に基づいて、該最上位の装置が保持する障害情報および該最上位の装置の下位に接続された装置が保持する障害情報を取得することを特徴とする請求項3記載のシステム。
  5.  該第2障害箇所推定部によって推定された障害原因箇所(以下、第2障害原因箇所という)と、該第2障害原因箇所の障害情報と、に基づいて、システム障害情報を生成する生成部をそなえたことを特徴とする請求項4記載のシステム。
  6.  該第1処理部が、
     該第1取得部が取得した障害情報に基づいて、障害原因箇所を推定する第1障害箇所推定部と、
     該第1障害箇所推定部によって推定された障害原因箇所(以下、第1障害原因箇所という)、および、該第1障害原因箇所の障害情報を、該第2処理部に通知する第3通知部と、をそなえ、
     該生成部は、該第3通知部により通知された第1障害原因箇所と、該第1障害原因箇所の障害情報と、該第2障害原因箇所と、該第2障害原因箇所の障害情報と、該無応答情報と、該位置情報とに基づいて、システム障害情報を生成することを特徴とする請求項5記載のシステム。
  7.  該第1通知部は、所定時間、該第1取得部が障害情報を取得できない場合に、該無応答情報を該第2処理部に通知することを特徴とする請求項1記載のシステム。
  8.  第1処理部と、第2処理部とをそなえたシステムにおける障害処理方法であって、
     第1処理部が、該システムにおいて障害が発生した場合、該第1処理部および該第2処理部とそれぞれ第1の経路および第2の経路を介して接続された装置が保持する障害情報を、該第1の経路を介して取得する第1取得ステップと、
     該第1取得ステップによって障害情報が取得できない場合に、該装置が無応答である旨を示す無応答情報を第1処理部が該第2処理部に通知する第1通知ステップと、
     該第1通知ステップによって該無応答情報の通知があった場合に、第2処理部が、該第2の経路を介して障害情報を装置から取得する第2取得ステップと、
     該第2取得ステップによって取得された障害情報に基づいて、第2処理部が障害原因箇所を推定する第2障害箇所推定ステップと、
     第2処理部が、該第2障害箇所推定ステップにより推定された障害箇所を、該第1処理部に通知する第2通知ステップと、
     第1処理部が、該第2障害箇所推定ステップにより推定された障害箇所を使用している主体を特定する特定ステップと、
     該特定ステップにより特定された主体を終了させる終了ステップと、をそなえたことを特徴とする障害処理方法。
     
PCT/JP2010/064966 2010-09-01 2010-09-01 システムおよび障害処理方法 WO2012029147A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2010/064966 WO2012029147A1 (ja) 2010-09-01 2010-09-01 システムおよび障害処理方法
JP2012531618A JP5370591B2 (ja) 2010-09-01 2010-09-01 システムおよび障害処理方法
US13/777,808 US8832501B2 (en) 2010-09-01 2013-02-26 System and method of processing failure

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/064966 WO2012029147A1 (ja) 2010-09-01 2010-09-01 システムおよび障害処理方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/777,808 Continuation US8832501B2 (en) 2010-09-01 2013-02-26 System and method of processing failure

Publications (1)

Publication Number Publication Date
WO2012029147A1 true WO2012029147A1 (ja) 2012-03-08

Family

ID=45772283

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/064966 WO2012029147A1 (ja) 2010-09-01 2010-09-01 システムおよび障害処理方法

Country Status (3)

Country Link
US (1) US8832501B2 (ja)
JP (1) JP5370591B2 (ja)
WO (1) WO2012029147A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015088124A (ja) * 2013-11-01 2015-05-07 富士通株式会社 情報処理装置、管理装置、監視装置、監視プログラム、及び管理装置の監視方法
EP2782013A3 (en) * 2013-03-21 2015-10-07 Fujitsu Limited Fault-spot locating method, switching apparatus, fault-spot locating apparatus, and information processing apparatus
JP2016004510A (ja) * 2014-06-19 2016-01-12 富士通株式会社 原因特定方法、原因特定プログラム、情報処理システム

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103136083A (zh) * 2011-11-29 2013-06-05 鸿富锦精密工业(深圳)有限公司 通用串行总线的测试设备及方法
CN105210043A (zh) * 2013-03-15 2015-12-30 日本电气株式会社 信息处理装置
US9146797B2 (en) * 2013-08-09 2015-09-29 American Megatrends, Inc. Method for ensuring remediation of hung multiplexer bus channels
US9256489B2 (en) * 2013-10-30 2016-02-09 International Business Machines Corporation Synchronized debug information generation
BR112016012902A2 (pt) * 2014-01-16 2017-08-08 Intel Corp Aparelho, método e sistema para um mecanismo de configuração rápida
US10489232B1 (en) * 2015-09-29 2019-11-26 Amazon Technologies, Inc. Data center diagnostic information
JP2018055337A (ja) * 2016-09-28 2018-04-05 富士通株式会社 情報処理装置およびプログラム
CN108108254B (zh) * 2016-11-24 2021-07-06 英业达科技有限公司 交换器错误排除方法
US11163659B2 (en) * 2019-04-25 2021-11-02 Intel Corporation Enhanced serial peripheral interface (eSPI) signaling for crash event notification

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008176564A (ja) * 2007-01-18 2008-07-31 Fujitsu Ltd ログメモリアクセス回路、情報処理装置および情報処理装置のログ採取システム
JP2009217435A (ja) * 2008-03-10 2009-09-24 Fujitsu Ltd 制御方法、情報処理装置及びストレージシステム
JP2010092112A (ja) * 2008-10-03 2010-04-22 Fujitsu Ltd 情報システム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05282167A (ja) 1992-04-03 1993-10-29 Hitachi Ltd 障害処理方法
JPH11259383A (ja) 1998-03-12 1999-09-24 Hitachi Ltd Ras情報取得回路及びそれを備えた情報処理システム
US7020076B1 (en) * 1999-10-26 2006-03-28 California Institute Of Technology Fault-tolerant communication channel structures
US6704812B2 (en) * 2000-11-30 2004-03-09 International Business Machines Corporation Transparent and dynamic management of redundant physical paths to peripheral devices
JP2005251078A (ja) * 2004-03-08 2005-09-15 Hitachi Ltd 情報処理装置、及び情報処理装置の制御方法
JP2005011379A (ja) 2004-09-27 2005-01-13 Ricoh Co Ltd Agpバスシステム
US7370224B1 (en) * 2005-02-17 2008-05-06 Alcatel Usa Sourcing, Inc System and method for enabling redundancy in PCI-Express architecture
US7487403B2 (en) * 2004-11-12 2009-02-03 International Business Machines Corporation Method for handling a device failure
US7779308B2 (en) * 2007-06-21 2010-08-17 International Business Machines Corporation Error processing across multiple initiator network
US8381027B1 (en) * 2010-09-28 2013-02-19 Emc Corporation Determining alternate paths in faulted systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008176564A (ja) * 2007-01-18 2008-07-31 Fujitsu Ltd ログメモリアクセス回路、情報処理装置および情報処理装置のログ採取システム
JP2009217435A (ja) * 2008-03-10 2009-09-24 Fujitsu Ltd 制御方法、情報処理装置及びストレージシステム
JP2010092112A (ja) * 2008-10-03 2010-04-22 Fujitsu Ltd 情報システム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2782013A3 (en) * 2013-03-21 2015-10-07 Fujitsu Limited Fault-spot locating method, switching apparatus, fault-spot locating apparatus, and information processing apparatus
JP2015088124A (ja) * 2013-11-01 2015-05-07 富士通株式会社 情報処理装置、管理装置、監視装置、監視プログラム、及び管理装置の監視方法
JP2016004510A (ja) * 2014-06-19 2016-01-12 富士通株式会社 原因特定方法、原因特定プログラム、情報処理システム

Also Published As

Publication number Publication date
JPWO2012029147A1 (ja) 2013-10-28
US8832501B2 (en) 2014-09-09
US20130166953A1 (en) 2013-06-27
JP5370591B2 (ja) 2013-12-18

Similar Documents

Publication Publication Date Title
JP5370591B2 (ja) システムおよび障害処理方法
JP6333410B2 (ja) 障害処理方法、関連装置、およびコンピュータ
TWI632462B (zh) 開關裝置及偵測積體電路匯流排之方法
JP6011210B2 (ja) ストレージ制御装置,プログラマブル論理回路の復旧処理方法及び制御プログラム
US9141463B2 (en) Error location specification method, error location specification apparatus and computer-readable recording medium in which error location specification program is recorded
TW440755B (en) Method and system for environmental sensing and control within a computer system
US7613861B2 (en) System and method of obtaining error data within an information handling system
JP2012203636A (ja) 仮想計算機の制御方法及び計算機
US7676701B2 (en) Computer readable medium storing an error recovery program, error recovery method, error recovery apparatus, and computer system
CN100375960C (zh) 用于调试输入/输出故障的方法和系统
US9286178B2 (en) Controller, storage apparatus, method of testing storage apparatus, and computer-readable storage medium
JP4882736B2 (ja) 情報処理装置,障害処理方法,障害処理プログラムおよび同プログラムを記録したコンピュータ読取可能な記録媒体
JP6183931B2 (ja) クラスタシステム、サーバ装置、クラスタシステムの管理方法、及びプログラム。
US20170132102A1 (en) Computer readable non-transitory recording medium storing pseudo failure generation program, generation method, and generation apparatus
US20160283305A1 (en) Input/output control device, information processing apparatus, and control method of the input/output control device
JP5689783B2 (ja) コンピュータ、コンピュータシステム、および障害情報管理方法
JP2015162000A (ja) 情報処理装置,制御装置及びログ情報収集方法
WO2014147699A1 (ja) 管理装置、方法及びプログラム
JP2011076344A (ja) 情報処理装置,情報処理装置の制御方法および制御プログラム
WO2017072904A1 (ja) 計算機システム、及び、障害検知方法
CN114564334B (zh) 一种mrpc数据处理方法、系统及相关组件
JP6212947B2 (ja) 情報処理装置、制御装置及び制御プログラム
KR102018225B1 (ko) 연결 방법
JP6897145B2 (ja) 情報処理装置、情報処理システム及び情報処理装置制御方法
JP2013196410A (ja) サーバ装置及び障害管理方法及び障害管理プログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10856698

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2012531618

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10856698

Country of ref document: EP

Kind code of ref document: A1