WO2015111206A1 - Computer system, server module, and storage module - Google Patents

Computer system, server module, and storage module Download PDF

Info

Publication number
WO2015111206A1
WO2015111206A1 PCT/JP2014/051608 JP2014051608W WO2015111206A1 WO 2015111206 A1 WO2015111206 A1 WO 2015111206A1 JP 2014051608 W JP2014051608 W JP 2014051608W WO 2015111206 A1 WO2015111206 A1 WO 2015111206A1
Authority
WO
WIPO (PCT)
Prior art keywords
module
failure
transfer
processing
unit
Prior art date
Application number
PCT/JP2014/051608
Other languages
French (fr)
Japanese (ja)
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/JP2014/051608 priority Critical patent/WO2015111206A1/en
Publication of WO2015111206A1 publication Critical patent/WO2015111206A1/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/0793Remedial or corrective actions
    • 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/0727Error 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 a storage system, e.g. in a DASD or network based storage system

Definitions

  • the present invention relates to a system, a server module, and a storage module that realize high-speed, high-reliability, and highly-available data transfer between a server module and a storage module.
  • Patent Document 1 a computer system in which a server and a storage are connected via a network such as a SAN (Storage Area Network) is known.
  • SAN Storage Area Network
  • a PCI express (R) (PCIe) interface described in (1) and an HBA and a TBA connected via an FC switch are connected by an FC interface.
  • protocol conversion processing is performed to convert the PCIe and FC interfaces.
  • the FC interface constitutes a SAN with optical cables, FC switches, and the like.
  • PCI-SIG PCI Express (R) Base Specification Revision 3.0
  • the computer system using the same interface that is, the PCIe interface
  • the interface of the storage device internal communication or the server device internal communication as the interface used for communication between the server and the storage device is the storage device internal communication or server.
  • the interface for internal device communication that is, an FC interface
  • communication performance is superior, but there is a problem that fault tolerance is inferior.
  • the PCIe interface it is impossible to distinguish between a component level failure such as cable disconnection or a specific port failure and a fatal failure of the entire network. Therefore, when the PCIe interface is connected between the server and the storage device, an unexpected link-down failure due to cable removal is detected as a serious failure (ERR_FATAL message) called a SuppleDown error at the PCIe root port in the disk controller of the storage device.
  • the PCIe root port converts the error into a SERROR signal defined by PCIe and propagates an error to the PCIe root complex.
  • the PCIe root complex notifies the received SERROR signal to the OS on the disk controller as a Non-Maskable Interrupt (NMI).
  • NMI Non-Maskable Interrupt
  • the server and storage device are FC, even if a link down failure occurs due to cable removal or disconnection inside the cable, the failure is detected by the TBA in the storage device to which the cable was connected, and the cause of the failure is specified. Since the NMI is not notified to the disk controller OS by processing the failure according to the failure factor identified by the device driver of the TBA operating on the OS of the storage apparatus, the failure spreads to the entire disk controller. Must not.
  • the present invention has been made in view of the above-described problems. That is, it is an object to improve fault tolerance without impairing the merit of direct connection by PCIe between a server and a storage device capable of improving performance.
  • a typical example of the invention disclosed in the present application is as follows. That is, a computer system having a first server module including a first memory and a first processor, and a storage module connected to the server module via a network and including a second memory and a second processor.
  • the server module further includes a first transfer module that controls data transfer between the first memory and the second memory, and the storage module transmits the first transfer via the network.
  • a first port connected to the module; and a failure processing module that controls processing relating to a failure of the computer system, wherein the failure processing module associates the first port with an identifier of the first transfer module.
  • a first failure message that manages configuration information and is received via the first port Is converted into a second failure message that includes an identifier of the first transfer module based on the configuration information and notifies the failure of the first transfer module, and the second failure message is converted to the storage module. It transmits to a 2nd processor, It is characterized by the above-mentioned.
  • FIG. 1 is a block diagram illustrating a configuration example of a computer system according to an embodiment of this invention.
  • the computer system includes a plurality of server modules 200, a storage module 300, and a plurality of channels 400.
  • the example shown in FIG. 1 includes a server module 200-1, a server module 200-2, a storage module 300-1, a channel 400-1, a channel 400-2, a channel 400-3, and a channel 400-4.
  • a PCIe interface is used for communication between the server module and the storage module.
  • the PCIe interface is used for storage module internal communication and server module internal communication.
  • the interface is compared with a computer system that uses an interface (that is, an FC interface) that is different from the interface of the server apparatus internal communication within the storage module. This eliminates the need for command conversion due to the difference between the two and provides a computer system with a high communication speed.
  • the server module 200 is a computer that executes a predetermined job.
  • the storage module 300 is a computer that stores data used by the server module 200. In this embodiment, the storage module 300 provides LU (Logical Unit) to each server module 200.
  • LU Logical Unit
  • the server module 200 includes a processor 210, a memory 220, a transfer module 230, a route complex 240, and an I / F 260. Each component included in the server module 200 is connected to each other via an I / O bus.
  • the I / O bus includes a PCI bus, a PCIe bus, a system bus, and the like. The present invention is not limited to the type of I / O bus that connects each configuration.
  • the processor 210 executes a program stored in the memory 220.
  • the functions of the server module 200 can be realized by the processor 210 executing the program stored in the memory 220.
  • the memory 220 stores a program executed by the processor 210 and information necessary for executing the program.
  • the program and information stored in the memory 220 will be described later with reference to FIG.
  • the transfer module 230 controls data transfer between the server module 200 and the storage module 300.
  • the detailed configuration of the transfer module 230 will be described later with reference to FIG.
  • the route complex 240 is an I / O controller that arbitrates communication between the processor 210 and the transfer module 230.
  • the root complex 240 has a plurality of root ports 241, and each root port is connected to the transfer module 230 via an I / O bus.
  • a mounting method of the transfer module 230 a method of mounting as a chip (LSI) on the substrate of the server module 200 or a method of mounting on an adapter such as an HBA can be considered.
  • the present invention is not limited to the mounting method of the transfer module 230.
  • the storage module 300 includes a disk controller 310, an I / F 360, a storage device 370, and a failure processing module 380. Each component included in the storage module 300 is connected to each other via an I / O bus.
  • the I / O bus includes a PCI bus, a PCIe bus, a SAS (Serial Attached SCSI) interface, a system bus, and the like.
  • the present invention is not limited to the type of I / O bus that connects each configuration.
  • the disk controller 310 controls the storage area and controls the correspondence between the server module 200 and the storage area.
  • the disk controller 310 includes a processor 320, a memory 330, and a root complex 340.
  • the storage module 300 has two disk controllers, a disk controller 310-1 and a disk controller 310-2. This is to improve fault tolerance by making the disk controller redundant.
  • the processor 320 executes a program stored in the memory 330.
  • the function of the storage module 300 can be realized.
  • the memory 330 stores a program executed by the processor 320 and information necessary for executing the program.
  • the program and information stored in the memory 330 will be described later with reference to FIG.
  • the program and information stored in the memory 330 may be stored in the storage device 370 or the like.
  • the processor 320 acquires a program and information from the storage device 370 and the like, and loads the acquired program and information into the memory 330.
  • the route complex 340 is an I / O controller that arbitrates communication between the processor 320 and the failure processing module 380.
  • the root complex 340 has a plurality of root ports 341, and each root port is connected to the failure processing module 380 via an I / O bus.
  • the root complex 340 corresponds to the root complex defined by PCIe
  • the root port 341 corresponds to the root port defined by PCIe. To do.
  • the I / F 360 is a connector for connecting to the channel 400.
  • the storage device 370 is a device for storing data.
  • an HDD Hard Disk Drive
  • an SSD Solid State Drive
  • the storage module 300 configures a RAID using a plurality of storage devices, generates an LU from the RAID volume, and provides the LU to the server module 200.
  • the LU stores programs such as the OS 221 (see FIG. 2) and the application 223 (see FIG. 2) and information necessary for executing the programs.
  • the channel 400 is a connection line for connecting the I / O buses of the server module 200 and the storage module 300, and a metal cable or the like is used.
  • the I / F 260-1 of the server module 200-1 and the I / F 360-1 of the storage module 300 are connected via the channel 400-1, and the server module 200-1 is connected via the channel 400-3.
  • the I / F 260-2 of 200-1 and the I / F 360-3 of the storage module 300 are connected.
  • the I / F 260-3 of the server module 200-2 and the I / F 360-2 of the storage module 300 are connected via the channel 400-2, and the server module 200-2 is connected via the channel 400-4.
  • the I / F 260-4 of 200-2 and the I / F 360-4 of the storage module 300 are connected.
  • the two disk controllers 310-1 and 310-2 are both active. For this reason, each of the two disk controllers 310-1 and 310-2 executes the I / O processing to improve the processing performance. Further, even when a failure occurs in the disk controller 310-1, the disk controller 310-2 can continue the I / O processing. This allows business to continue.
  • the OS 221 manages the server module 200.
  • the OS 221 includes a storage access unit 222 that controls access between the server module 200 and the storage module 300.
  • the storage access unit 222 may be realized using a device driver that operates the transfer module 230.
  • the OS 221 has functions such as a file system (not shown).
  • Application 223 executes a predetermined job.
  • the present invention is not limited to the type of application.
  • FIG. 3 is a block diagram illustrating the software configuration of the storage module 300 according to the embodiment of this invention.
  • the memory 330 included in the disk controller 310-1 will be described as an example.
  • the memory 330 included in the disk controller 310-2 has the same software configuration.
  • the memory 330 stores a program for realizing the storage control unit 331.
  • the storage control unit 331 controls I / O processing between the server module 200 and the storage module 300.
  • the storage control unit 331 includes an I / O processing unit 332, a storage device control unit 333, an initialization processing unit 334, and a failure processing unit 335.
  • the I / O processing unit 332 receives an I / O request from the server module 200, and controls write processing and read processing based on the I / O request.
  • the storage device control unit 333 controls writing processing and reading processing for the storage device 370.
  • the initialization processing unit 334 receives the initialization request from the server module 200 via the failure processing module 380, and controls the writing process of the ID information and initialization information of the I / O device based on the initialization request. .
  • the ID information may be control information such as Bus Number defined by PCIe, and Max Payload Size defined by PCIe.
  • the failure processing unit 335 receives a failure notification from the server module 200 or the channel 400 via the failure processing module 380, and based on the failure notification, collects and reads the log of the I / O device that has detected the failure, and The process of closing the failure occurrence port of the I / O device that has detected the failure and the blockage release notification from the failure processing module 380 are received, and the return to the normal I / O process is controlled based on the blockage release notification.
  • the I / O processing unit 332, the initialization processing unit 334, and the failure processing unit 335 can be realized by using a device driver that operates the transfer module 230, for example.
  • the storage device control unit 333 can be realized by using a device driver that operates the storage device 370.
  • FIG. 4 is a block diagram illustrating a configuration example of the transfer module 230 according to the embodiment of this invention.
  • the transfer module 230 includes a data transfer unit 231, a protocol engine 234, an end point unit 235, a plurality of connection ports 236 and 237, and a power management unit 238.
  • the data transfer unit 231 controls data transfer between the memory 220 of the server module 200 and the memory 330 of the storage module 300.
  • the data transfer unit 231 of this embodiment includes a DMA controller 232 and a data inspection unit 233.
  • the server module handles data in units of 512 bytes
  • the storage module handles data in units of 520 bytes with a data guarantee code added to the data.
  • Data handled by the server module 200 and the storage module 300 of this embodiment is the same as that of a general computer system.
  • the protocol engine 234 converts a command used by the server module 200 and a command used by the storage module 300.
  • the endpoint unit 235 outputs a register for holding control information for operating the I / O device and information from the data transfer unit 231 and the power management unit 238 to the outside through the connection ports 236 and 237. It has the function to do. For example, when the I / O bus connected to another device via the connection ports 236 and 237 is a PCIe bus, the endpoint unit 235 corresponds to an Endpoint defined by PCIe, and sets the PCIe configuration register. And output PCIe packets and control signals.
  • the endpoint unit 235-1 has a SAN HBA function, and the endpoint unit 235-2 has a SAN TBA function.
  • the endpoint unit 235-1 is controlled by the OS 221 that is software operating on the server module 200 and the storage access unit 222, and the endpoint unit 235-2 is controlled by the storage control unit 331 that is software operating on the storage module 300. Be controlled.
  • Connection ports 236 and 237 are ports for connecting to other devices.
  • the connection ports 236-1 and 236-2 are connected to the root port 241, and the connection ports 237-1 and 237-2 are connected to the I / F 260.
  • I / O bus that connects devices is a PCIe bus
  • PCIe ports are used as the connection ports 236 and 237.
  • connection port 236-1 of the transfer module 230-1 of the server module 200-1 is connected to the root port 241-1
  • the connection port 236-2 is connected to the root port 241-2
  • the connection port 237-1 is connected to the I / F 260-1
  • the connection port 237-2 is connected to the I / F 260-2
  • the connection port 236-1 of the transfer module 230-1 of the server module 200-2 is a root port.
  • connection port 236-2 is connected to root port 241-4
  • connection port 237-1 is connected to I / F 260-3
  • connection port 237-2 is connected to I / F 260-4. Is done.
  • the power management unit 238 has a function of performing power management of the transfer module 230.
  • the power management unit 238 passes through the endpoint unit 235-2. And has a function of transmitting a WAKE signal to the I / F 260.
  • the WAKE signal can be a WAKE # sideband signal defined by PCIe.
  • FIG. 5 is a block diagram illustrating a configuration example of the failure processing module 380 according to the embodiment of this invention.
  • the failure processing module 380 includes an access arbitration unit 381, an information management unit 382, a port control unit 383, a failure processing control unit 384, and a plurality of connection ports 385 and 386.
  • the access arbitration unit 381 has a function of determining whether or not to transfer the packet of the I / O bus from the connection port 385 or the connection port 386 to the opposite connection port 386 or 385 and the failure processing control unit 384; It has a function of outputting a packet generated by the failure processing control unit 384 to the outside via the connection port 385 or the connection port 386.
  • the internal structure will be described later with reference to FIG.
  • the information management unit 382 includes a plurality of information storage units 3820, and holds information necessary for processing performed by the failure processing unit 335. Access to the information storage unit 3820 is performed by the failure processing control unit 384.
  • the information storage unit 3820-1 stores related information regarding the I / O bus connected through the connection port 385-1, and the information storage unit 3820-2 is connected through the connection port 385-2. Stores information related to the I / O bus.
  • the port control unit 383 includes a WAKE signal detection unit 3830, a cable non-connection signal detection unit 3831, and a port disable control unit 3832.
  • the WAKE signal detection unit 3830 has a function of detecting the WAKE signal received at the connection port 385.
  • the cable non-connection signal detection unit 3831 detects, via the connection port 385, a cable non-connection signal indicating that the I / O bus link between the I / F 360 and the channel 400 has been disconnected due to cable disconnection or erroneous disconnection. It has the function to do.
  • the I / O bus connecting devices is a PCIe bus
  • the presence detection function of the PCIe hot plug controller can be used to detect the cable disconnection signal.
  • the port disable control unit 3832 disconnects the link of the I / O bus connected to the connection port 385 and stops the subsequent link establishment operation, and the established link establishment. It has a function of resuming the operation and restoring the link of the I / O bus.
  • the failure processing control unit 384 includes a WAKE signal generation unit 3840, a CfgWr processing unit 3841, a SupplyDown detection unit 3842, a failure notification Msg generation unit 3843, a CfgRd processing unit 3844, a reinitialization processing unit 3845, an occlusion release notification Msg generation unit 3848, An ERR_FATAL processing unit 3847 is provided.
  • the WAKE signal generation unit 3840 generates a WAKE signal based on the WAKE detection signal from the WAKE signal detection unit 3830 of the port control unit 383 and the information on the blockage from the information management unit 382 (see FIG. 8), and the connection port 386 To the root port 341.
  • the WAKE signal can be a WAKE # sideband signal defined by PCIe.
  • the CfgWr processing unit 3841 has a function of writing the write data of the write instruction to the information management unit 382 in response to the write instruction to the configuration register for the transfer module 230 transferred from the access arbitration unit 381.
  • the write instruction may be a CfgWr packet defined by PCIe. Further, it has a function of generating a Cpl packet for writing completion notification based on information (see FIG. 8) relating to a failure and blockage from the information management unit 382 and transmitting it from the connection port 386 to the root port 341.
  • the supply down detection unit 3842 stores the failure information in the information management unit 382 based on the cable disconnection signal from the cable disconnection signal detection unit 3831 of the port control unit 383, and generates the failure notification Msg in the failure notification Msg generation unit 3843. It has a function to request.
  • the failure notification Msg generation unit 3843 generates a failure notification Msg by referring to the information on the failure and ID of the information management unit 382 (see FIG. 8) based on the requests from the supply down detection unit 3842 and the ERR_FATAL processing unit 3847. It has a function of transmitting from the connection port 386 to the root port 341 via the access arbitration unit 381.
  • the failure notification Msg may be a Vendor Defined Message type Msg packet or a Message Signaled Interrupt type MWr packet defined by PCIe.
  • the CfgRd processing unit 3844 responds to the read instruction to the configuration register for the transfer module 230 transferred from the access arbitration unit 381, based on information (see FIG. 8) regarding the failure and blockage from the information management unit 382.
  • the information stored in the unit 382 is transmitted as response data from the connection port 386 to the root port 341 via the access arbitration unit 381.
  • the CfgRd packet defined by PCIe and the response data may be a CplD packet.
  • the reinitialization processing unit 3845 stores the information in the information management unit 382 based on the WAKE detection signal from the WAKE signal detection unit 3830 of the port control unit 383 and the information on the blockage from the information management unit 382 (see FIG. 8).
  • the information on the blockage (see FIG. 8) is cleared, the ID and the information on initialization (see FIG. 8) are used to generate a write instruction to the configuration register for the transfer module 230, and the access arbitration unit 381 is used.
  • a function for transmitting from the connection port 385 to the I / F 360, a function for receiving a completion notification for the above-described write instruction transferred from the access arbitration unit 381, and information on a failure stored in the information management unit 382 see FIG.
  • the block release notification Msg generation unit 3846 are requested to generate the block release notification Msg. It has the ability.
  • the write instruction may be a CfgWr packet
  • the completion notification for the write instruction may be a Cpl packet defined by PCIe.
  • the blockage release notification Msg generation unit 3846 refers to the information on the ID of the information management unit 382 (see FIG. 8), generates the blockage release notification Msg, and accesses the arbitration unit 381. And has a function of transmitting from the connection port 386 to the root port 341.
  • the shutdown release notification Msg may be a Vendor Defined Message type Msg packet or a Message Signaled Interrupt type MWr packet defined in PCIe. .
  • the ERR_FATAL processing unit 3847 stores the failure information in the information management unit 382 in response to the serious failure notification of the server module 200 or the channel 400 transferred from the access arbitration unit 381, and the failure notification Msg generation unit 3843 has a failure.
  • a function of requesting generation of the notification Msg For example, when the I / O bus connecting the devices is a PCIe bus, the notification of the serious failure may be an ERR_FATAL type Msg packet defined by PCIe.
  • Connection ports 385 and 386 are ports for connecting to other devices.
  • the connection ports 385-1 and 385-2 are connected to the I / F 360, and the connection ports 386-1 and 386-2 are connected to the root port 341.
  • the I / O bus connecting the devices is a PCIe bus
  • PCIe ports are used as the connection ports 385 and 386.
  • connection port 385-1 of the failure processing module 380-1 of the storage module 300 is connected to the I / F 360-1, and the connection port 385-2 is connected to the I / F 360-2.
  • the port 386-1 is connected to the root port 341-1
  • the connection port 386-2 is connected to the root port 341-2
  • the connection port 385-1 of the failure processing module 380-2 is connected to the I / F 360-3.
  • the connection port 385-2 is connected to the I / F 360-4
  • the connection port 386-1 is connected to the root port 341-3
  • connection port 386-2 is connected to the root port 341-4.
  • FIG. 6 is a block diagram illustrating a configuration example of the access arbitration unit 381 in the failure processing module 380 according to the embodiment of this invention.
  • the access arbitration unit 381 includes a plurality of transfer determination units 3810, a packet arbitration unit 3811, a plurality of packet buffers 3812, and a packet buffer 3813.
  • the transfer determination unit 3810 selects the packet of the I / O bus transmitted from the packet buffer 3812 or the packet buffer 3813 based on the information on the failure and blockage of the information management unit 382 (see FIG. 8). Or a function for determining whether to transfer to the packet buffer 3812, a function for determining whether to transfer to the failure processing control unit 384 via the packet arbitration unit 3811, and a packet buffer 3812 if the packet is determined to be transferred, Alternatively, it has a function of transferring to the packet buffer 3813 or the failure processing control unit 384 and discarding the packet when it is determined not to transfer. A method for determining the packet type will be described later with reference to FIG.
  • the transfer determination unit 3810-1 performs a transfer feasibility determination process in communication between the packet buffer 3812-1 and the packet buffer 3813-1
  • the transfer determination unit 3810-2 includes a packet buffer 3812-2 and a packet buffer 3813. -2 in the communication between -2 is performed.
  • the packet arbitration unit 3811 arbitrates the I / O bus packet transferred from the transfer determination unit 3810 and transmits the packet to the failure processing control unit 384, and the I / O bus generated by the failure processing control unit 384. It has a function of transmitting a packet to the packet buffer 3812 or the packet buffer 3813 based on the packet information.
  • the packet buffer 3812 is connected to the connection port 385 of the failure processing module 380, and has a function of buffering an I / O bus packet received from the connection port 385 and transmitting the packet to the transfer determination unit 3810, a transfer determination unit 3810, or , And has a function of transmitting the packet received from the packet arbitration unit 3811 to the connection port 385.
  • the packet buffer 3812-1 is connected to the connection port 385-1, and the packet buffer 3812-2 is connected to the connection port 385-2.
  • the packet buffer 3813 is connected to the connection port 386 of the failure processing module 380, and has a function of buffering an I / O bus packet received from the connection port 386 and transmitting the packet to the transfer determination unit 3810, a transfer determination unit 3810, or , And has a function of transmitting the packet received from the packet arbitration unit 3811 to the connection port 386.
  • the packet buffer 3813-1 is connected to the connection port 386-1, and the packet buffer 3813-2 is connected to the connection port 386-2.
  • the packet processed by the access arbitration unit may be a Transaction Layer Packet (TLP) defined by PCIe.
  • TLP Transaction Layer Packet
  • FIG. 7 is a chart illustrating a processing example of the transfer determination unit 3810 in the access arbitration unit 381 according to the embodiment of this invention.
  • CfgRd indicates ConfigurationReadRequest
  • CfgWr indicates ConfigurationWriteRequest
  • MRd indicates MemoryReadRequest
  • MWr indicates MemoryWriteRequest, which is a TLP for the transfer module 280 to read / write data from / to the memories 220 and 330.
  • CplD indicates CompletionData, and is a TLP for performing a data response to CfgRd and MRd.
  • Cpl indicates Completion and is a TLP for performing no data response to CfgWr.
  • the transfer determination unit 3810 has a function of performing transfer determination processing shown in Table 3815.
  • the table 3815 includes elements of a column of packet type 3816, a column of failure and blocking state 3817, a column of transfer availability 3818 to the opposite connection port, and a column of transfer availability 3819 to the failure processing control unit.
  • the transfer determination unit 3810 in the combination of each element in the column of the packet type 3816 and the element in the row failure and blocking state 3817 corresponding to each element described above, whether or not transfer to the opposite port in the row corresponding to the combination described above is possible.
  • Each process of 3818 and transfer permission / unavailability 3819 to the failure processing control unit is performed.
  • the packet when the packet is CfgRd, if no failure or blockage has occurred, the packet is transferred to the opposite connection port 385 or the connection port 386 and not transferred to the failure processing control unit 384, and a failure or blockage occurs. In the case of “medium”, the process is not transferred to the opposite connection port 385 or the connection port 386, but is transferred to the failure processing control unit 384. A description of processing examples in the case of other packet types is omitted.
  • the transfer determination process shown in Table 3815 can be realized by configuring a logic circuit as a state machine.
  • FIG. 8 is a chart for explaining an example of information stored in the information storage unit 3820 in the information management unit 382 according to the embodiment of this invention.
  • the information storage unit 3820 has a register for storing information shown in the table 3821, and is read and written via the failure processing control unit 384.
  • the information storage unit 3820 stores chart information for each of the plurality of transfer modules 230 to which the failure processing module 380 is connected.
  • the storage information includes transfer module ID information 3822, transfer module initialization information 3823, I / F failure information 3824, and I / F blocking state 3825.
  • Transfer module ID information 3822 and transfer module initialization information 3823 are control information for operating the transfer module 230.
  • the transfer module ID information 3822 indicates the correspondence between the ID of the transfer module and the identifier of the I / F 360 of the storage module 300 to which the transfer module is connected (or the identifier of the connection port 385-1 of the failure processing module). .
  • the I / F failure information 3824 is failure information related to the I / O bus between the failure processing module 380 and the server module 200 detected by the failure processing module 380.
  • the I / F blocking state 3825 is status information indicating whether the connection port 385 is blocked according to an instruction from the failure processing unit 335.
  • the register of the information storage unit 3820 is configured as a configuration register defined by PCIe.
  • processing examples in the embodiment of the present invention will be described using sequence diagrams.
  • a PCIe bus will be described as an example of an I / O bus that connects devices.
  • the description will be made using signal names and packet names defined by PCIe, but the present invention is not limited to the type of I / O bus.
  • the black circles in the sequence diagram indicate the start point of the sequence indicated by the arrow line, and the arrow at the tip of the arrow line indicates the end point of the sequence.
  • the intersection of the arrow line and the vertical line indicates that the sequence indicated by the arrow line passes through the part indicated by the vertical line and is involved in the processing.
  • the sequence indicated by the arrow line does not pass through the portion indicated by the vertical line, indicating that it is not involved in the processing. Note that the sequence progresses downward and indicates that time passes.
  • FIG. 9 is a sequence diagram illustrating an example of initialization processing in the computer system according to the embodiment of this invention.
  • FIG. 9 shows a flow of processing executed when the server module 200-1 is powered on and the transfer module 230-1 is initialized from the storage module 300.
  • the processing of the OS 221 is executed.
  • the processor 210-1 executing the processing of the OS 221 transmits a power-on signal and is received by the transfer module 230-1 (step S100).
  • the transfer module 230-1 Upon receipt of the power-on signal, the transfer module 230-1 outputs a WAKE signal and is received by the failure processing module 380-1 via the channel 400-1 (step S101).
  • the failure processing module 380-1 that has received the WAKE signal outputs the WAKE signal and receives it by the processor 320-1 of the storage module 300 (step S102).
  • the processing of the initialization processing unit 334 is executed.
  • the initialization processing unit 334 executes ID information write processing to identify the transfer module 230-1, and issues a CfgWr packet to the transfer module 230-1 (step S103).
  • the failure processing module 380-1 transfers the CfgWr packet for writing ID information in step S103 to the channel 400-1, the failure processing module 380-1 performs processing for copying the write information of the CfgWr packet and stores the ID information (step S104). .
  • the transfer module 230-1 receives the CfgWr packet for writing the ID information in step S103, writes the write information to the configuration register of the endpoint unit 235-2, and sends the Cpl packet as a write completion notification to the processor of the storage module 300. It is issued to 320-1 (step S105).
  • the processor 320-1 executes the Cpl packet in step S105 and confirms the completion of writing, the processor 320-1 then initializes to set control information of the transfer module 230-1. Information writing processing is executed, and a CfgWr packet is issued to the transfer module 230-1 (step S106).
  • step S107 The processing when the failure processing module 380-1 receives the CfgWr packet at step S106 (step S107) is step S104, and the processing when the transfer module 230-1 receives the CfgWr packet at step S106 (step S108) is step. Since the process is the same as S105, the description is omitted.
  • the processor 320-1 executing the initialization processing unit 334 receives the Cpl packet in step S108 and confirms the completion of writing, the processor 320-1 completes the initialization processing.
  • FIG. 10 is a sequence diagram illustrating an example of initialization processing in the failure processing module 380-1 according to the embodiment of this invention.
  • FIG. 10 shows a processing flow in the failure processing module 380-1 when the failure processing module 380-1 receives the WAKE signal from the transfer module 230-1.
  • the port control unit 383 receives a WAKE signal from the channel 400-1 via the connection port 385-1 (step S150).
  • the WAKE signal detection unit 3830 detects the WAKE signal in step S150 and transmits the WAKE detection signal to the failure processing control unit 384 (step S151).
  • the failure processing control unit 384 detects the WAKE detection signal at step S151, refers to the I / F blockage state 3825 of the information storage unit 3820-1 of the information management unit 382, and confirms that no blockage has occurred (step S152). ).
  • a WAKE signal is generated by the WAKE signal generation unit 3840, and is transmitted to the root complex 340-1 via the connection port 386-1 (step S153). .
  • the operation when the I / F closed state 3825 indicates a closed state will be described later with reference to FIG.
  • FIG. 11 is a sequence diagram illustrating an example of initialization processing in the failure processing module 380-1 according to the embodiment of this invention.
  • FIG. 11 shows a case where the failure processing module 380-1 receives a CfgWr packet for writing ID information from the processor 320-1 and a case where a Cpl packet for writing completion notification is received from the transfer module 230-1. The flow of processing in the failure processing module 380-1 is shown.
  • the access arbitration unit 381 receives the CfgWr packet for writing ID information from the root complex 340-1 via the connection port 386-1 (step S160).
  • the transfer determination unit 3810-1 refers to the I / F failure information 3824 and the I / F blockage state 3825 in the information storage unit 3820-1 of the information management unit 382 to determine whether the failure and blockage are not blocked. The occurrence is confirmed (step S161).
  • step S161 Since it is confirmed in step S161 that no failure or blockage has occurred, the CfgWr packet in step S160 is transferred to the opposite connection port, based on the transfer determination process (see table 3815 in FIG. 7) of the transfer determination unit 3810-1. Then, it is determined to transfer to the failure processing control unit 384 (step S162).
  • the access control unit 381 transfers the CfgWr packet for writing the ID information to the channel 400-1 via the connection port 385-1 based on the transfer permission determination in step S162 (step S163), and further performs failure processing control.
  • the data is transferred to the unit 384 (step S164).
  • the CfgWr processing unit 3841 processes the CfgWr packet for writing ID information transferred in step S164. Specifically, the write request, such as the write address and data length, is analyzed and written to the transfer module ID information 3822 of the information storage unit 3820-1 of the information management unit 382 (step S165).
  • the access arbitration unit 381 receives a Cpl packet for writing completion notification for writing ID information from the channel 400-1 via the connection port 385-1 (step S166).
  • the transfer determination unit 3810-1 refers to the I / F failure information 3824 and the I / F blockage state 3825 in the information storage unit 3820-1 of the information management unit 382 to determine whether the failure and blockage are not blocked. The occurrence is confirmed (step S167).
  • step S167 Since it is confirmed in step S167 that no failure or blockage has occurred, the Cpl packet in step S167 is transferred to the opposite connection port based on the transfer determination process of the transfer determination unit 3810-1 (see Table 3815 in FIG. 7). Then, it is determined that it is not transferred to the failure processing control unit 384 (step S168).
  • the access control unit 381 transfers the Cpl packet for writing completion notification to the root complex 340-1 via the connection port 386-1 based on the transfer permission determination in step S168 (step S169).
  • the CfgWr packet for writing ID information in FIG. Since it is the same as the process of the Cpl packet for notification, description is abbreviate
  • 12 and 13 are sequence diagrams illustrating an example of data transfer processing in the computer system according to the embodiment of this invention.
  • FIG. 12 shows the flow of read processing executed when the server module 200-1 reads data from the storage module 300.
  • FIG. 13 shows a flow of write processing executed when the server module 200-1 writes data to the storage module 300.
  • the processor 210-1 executes the storage access unit 222 (not shown).
  • the storage access unit 222 sets a buffer in the memory 220-1 for temporarily storing data to be read. In addition, the storage access unit 222 writes transfer information including an address for storing data read from the storage module 300 in a buffer, an address length, and the like in the memory 220-1 (not shown).
  • the processor 210-1 executing the process of the storage access unit 222 transmits a read request to the processor 320-1 executing the storage control unit 331 that executes the process of the storage control unit 331 (step S200).
  • the read request is a command used in the server module 200-1. Therefore, the command is different from the command used in the storage module 300. That is, the protocols handled by the server module 200-1 and the storage module 300 are different.
  • a command used by the server module 200-1 is described as a server command
  • a command used by the storage module 300 is described as a storage command.
  • the transfer module 230-1 Upon receiving a read request (server command) from the processor 210-1, the transfer module 230-1 converts the read request into a storage command, and executes the processing of the storage control unit 331 on the converted read request (storage command) It transmits to the processor 320-1 which is doing (step S201). Specifically, the following processing is executed by the transfer module 230-1.
  • the data transfer unit 231 analyzes the received read request (server command). Since the received read request (server command) is a server command transmitted to the storage module 300, the data transfer unit 231 instructs the protocol engine 234 to convert the command.
  • the protocol engine 234 converts the received read request (server command) from a server command to a storage command, and outputs the converted read request (storage command) to the data transfer unit 231.
  • the data transfer unit 231 transmits the input read request (storage command) to the processor 320-1 of the storage module 300.
  • step S201 The above is the description of the processing in step S201.
  • the processor 320-1 Upon receiving the read request (storage command), the processor 320-1 executing the processing of the storage control unit 331 reads the data to be read from the storage device 370 and copies the read data to the memory 330-1. (Not shown). Specifically, the following processing is executed by the storage control unit 331.
  • the processor 320-1 executing the processing of the I / O processing unit 332 issues a read request to the storage device 370 based on the read request (storage command), and executes the storage device control unit 333. Based on the issued read request, the processor 320-1 executing the processing of the storage device control unit 333 reads predetermined data from the storage device 370 and outputs the data to the I / O processing unit 332. The processor 320-1 executing the processing of the I / O processing unit 332 copies the input data to the memory 330-1 (not shown).
  • the I / O processing unit 332 since the read request (storage command) is converted into a storage command in advance by the transfer module 230-1, the I / O processing unit 332 does not need to execute a command conversion process.
  • the processor 320-1 executing the storage control unit 331 writes an address for reading the copied data, an address book, and the like in the memory 330-1 (not shown). Further, the storage control unit 331 transmits a DMA transfer request to the transfer module 230-1 (step S202).
  • the transfer module 230-1 When the transfer module 230-1 receives the DMA transfer request, the transfer information such as the address for storing data in the buffer and the address length is transferred from the memory 220-1 of the server module 200-1 via the processor 210-1. Read (step S203, step S204). Also, transfer information such as an address and address length for reading the copied data is read from the memory 330-1 of the storage module 300 via the processor 320-1 (steps S205 and S206).
  • the transfer module 230-1 refers to the transfer information acquired in steps S205 and S206, and reads the data copied to the memory 330-1 via the processor 320-1 (steps S207 and S208).
  • the DMA controller 232 of the data transfer unit 231 reads the data copied to the memory 330-1 via the processor 320-1 based on the addresses acquired in Step S205 and Step S206. Note that the DMA controller 232 reads data for each predetermined data unit. For example, data of 520 bytes is read.
  • the transfer module 230-1 refers to the transfer information acquired in steps S203 and S204, and writes the read data to the memory 220-1 of the server module 200-1 via the processor 210-1 (step S209).
  • the data inspection unit 233 of the data transfer unit 231 converts the read data into a data format on the server module 200-1 side. For example, the data inspection unit 233 deletes the data guarantee code assigned to the read data. As a result, the data is converted into 512-byte data handled by the server module 200.
  • the data transfer unit 231 specifies the buffer area of the memory 220-1 to which the converted data is written, based on the addresses acquired in step S203 and step S204. Further, the DMA controller 232 of the data transfer unit 231 writes the converted data in the specified buffer area of the memory 220-1.
  • the data transfer unit 231 specifies the buffer area of the memory 220-1 by adjusting the alignment. This is because the address length of the data handled by the server module 200-1 and the data handled by the storage module 300 are different, and the address of the buffer area stored in the memory 220-1 needs to be adjusted.
  • the data transfer unit 231 repeatedly executes the above-described processing until all the data to be read is read.
  • the data transfer unit 231 may confirm the consistency of the read data based on the data guarantee code.
  • the data transfer unit 23 1 may read data from the memory 330-1 of the storage module 300 again, or may notify the storage controller 331 that a data error has been detected.
  • step S208 and step S209 data is read from the memory 330 of the storage module 300 via the processor 320-1 and written to the memory 220 of the server module 200 via the processor 210-1. did.
  • the transfer module 230 may directly access the memories 330 and 220 without going through the processors 320-1 and 210-1. In this case, high-speed processing can be achieved by excluding processing in intermediate devices such as the processor 320-1 and the processor 210-1.
  • the transfer module 230-1 writes all the data to be read into the memory 220-1, and then transmits a DMA transfer completion notification to the processor 320-1 executing the storage control unit 331 (step S210). ).
  • the processor 320-1 After receiving the DMA transfer completion notification in step S210, the processor 320-1 executing the processing of the storage control unit 331 transmits a completion notification (storage command) to the transfer module 230-1 (step S211). ).
  • the transfer module 230-1 After receiving the completion notification (storage command) in step S211, the transfer module 230-1 converts the completion notification (storage command) from the storage command to the server command, and sends the converted completion notification (server command) to the OS 221. Is transmitted to the processor 210-1 executing (step S212). Note that the command conversion process is the same as that in step S201, and a description thereof will be omitted.
  • the processor 210-1 executes the storage access unit 222 (not shown).
  • the storage access unit 222 copies the write target data to the memory 220-1. Further, the storage access unit 222 writes transfer information including an address for reading data copied to the memory 220-1 and an address length to the memory 220-1 (not shown).
  • the processor 210-1 executing the processing of the storage access unit 222 transmits a write request (server command) to the processor 320-1 executing the processing of the storage control unit 331 (step S250).
  • the transfer module 230-1 Upon receiving the write request (server command) in step S250, the transfer module 230-1 converts the write request (server command) from a server command to a storage command, and the converted write request (storage command).
  • the data is transmitted to the processor 320-1 that is executing the processing of the storage control unit 331 (step S251). Specifically, the following processing is executed.
  • the data transfer unit 231 analyzes the received write request (server command). Since the received write request (server command) is a server command transmitted to the storage module 300, the data transfer unit 231 instructs the protocol engine 234 to convert the command.
  • the protocol engine 234 converts the received write request (server command) from a server command to a storage command, and outputs the converted write request (storage command) to the data transfer unit 231.
  • the data transfer unit 231 transmits the input write request (storage command) to the processor 320-1 executing the processing of the storage control unit 331 of the storage module 300.
  • the processor 320-1 executing the processing of the storage control unit 331 When the processor 320-1 executing the processing of the storage control unit 331 receives a write request (storage command), it sets a buffer for temporarily storing data to be written. Further, the processor 320-1 executing the processing of the storage control unit 331 writes transfer information such as an address and address length for storing data to be written in the buffer into the memory 330-1 (illustrated). (Omitted).
  • the processor 320-1 executing the processing of the storage control unit 331 transmits a DMA transfer request to the transfer module 230-1 (step S252).
  • the transfer module 230-1 receives the DMA transfer request in step S252
  • the transfer module 230-1 receives the transfer information including the address for reading the copied data, the address length, and the like from the memory 220-1 of the server module 200-1.
  • the processor 320-1 reads the transfer information (step S253, step S254), and the transfer information such as the address and address length for storing the write target data in the buffer from the memory 330-1 of the storage module 300. -1 is read (step S255, step S256).
  • the DMA controller 232 of the data transfer unit 231 acquires an address for reading the data copied from the server module 200-1, and stores the write target data from the storage module 300 in the buffer. Get the address.
  • the transfer module 230 refers to the transfer information acquired in steps S253 and S254, and reads the data copied to the memory 220-1 via the processor 210-1 (steps S257 and S258).
  • the DMA controller 232 of the data transfer unit 231 obtains the data copied to the memory 220-1 based on the address obtained in steps S253 and S254 for reading the copied data. Read out via the processor 210-1. Note that the DMA controller 232 reads data for each predetermined data unit. For example, 512-byte data is read out.
  • the transfer module 230-1 refers to the transfer information acquired in steps S255 and S256, and writes the read data to the memory 330-1 of the storage module 300 via the processor 320-1 (step S259). ). Specifically, the following processing is executed.
  • the data inspection unit 233 of the data transfer unit 231 converts the data read in step S257 and step S258 into a data format on the storage module 300 side.
  • the data inspection unit 233 gives a data guarantee code to the read data.
  • the data is converted into 520-byte data handled by the storage module 300.
  • the data transfer unit 231 specifies the buffer area of the memory 330-1 to which the converted data is written based on the address for storing the data to be written acquired in Step S255 and Step S256 in the buffer. Further, the DMA controller 232 of the data transfer unit 231 writes the converted data to the specified buffer area of the memory 330-1 via the processor 320-1.
  • the data transfer unit 231 specifies the buffer area of the memory 330-1 by adjusting the alignment.
  • the data transfer unit 231 repeatedly executes the above-described processing until all the write target data is written.
  • the transfer module 230 may directly access the memories 330 and 220 without going through the processors 320-1 and 210-1. In this case, high-speed processing can be achieved by excluding processing in intermediate devices such as the processor 320-1 and the processor 210-1.
  • the transfer module 230-1 writes all data to be written to the memory 330-1, and then transmits a DMA transfer completion notification to the processor 320-1 executing the processing of the storage control unit 331. (Step S260).
  • the processor 320-1 After receiving the DMA transfer completion notification in step S260, the processor 320-1 executing the processing of the storage control unit 331 transmits a completion notification (storage command) to the transfer module 230-1 (step S261). ).
  • the transfer module 230-1 After receiving the completion notification (storage command) in step S261, the transfer module 230-1 converts the completion notification (storage command) from the storage command to the server command, and converts the converted completion notification (server command) to the storage access.
  • the data is transmitted to the processor 210-1 executing the processing of the unit 222 (step S262). Note that the command conversion process is the same as that in step S251, and a description thereof will be omitted.
  • the DMA transfer completion notification in step S260, the completion notifications in step S211 and step S261 are communicated by PCIe MWr packets, the transfer information read in steps S205 and S255, and the transfer data read in step S207 are the PCIe MRd packets.
  • the transfer information acquisition in steps S206 and S256 and the transfer data acquisition in step S208 are communicated by a PCIe CplD packet.
  • FIG. 14 is a sequence diagram illustrating an example of failure detection and failure blockage processing in the computer system according to the embodiment of this invention.
  • FIG. 14 shows a case where the failure processing module 380-1 detects a failure and a port connected to the failed I / O bus is blocked when a failure occurs in the channel 400-1. Shows the flow of processing executed.
  • the cable connecting the server module 200-1 and the storage module 300 is disconnected, and the failure processing module receives a signal indicating the disconnection (step S300).
  • This cable disconnection becomes a supple down error in PCIe and a FATAL failure as an unintended link down failure.
  • the failure processing module 380-1 detects a cable break as a FATAL failure of the I / O bus (step S301), issues a failure notification Msg, and receives it by the processor 320-1 of the storage module 300 (step S302). .
  • the failure notification Msg includes the ID information of the transfer module 230-1.
  • the ID information of the transfer module 230-1 may be specified by the configuration information 3820.
  • the PCIe stipulates that a FATAL failure is notified using an ERR_FATAL type Msg packet, but the failure notification Msg in step S302 can be realized by issuing a Vender Defined Message type Msg packet. As a result, it is possible to prevent the occurrence of NMI that is caused when the processor 320-1 receives ERR_FATAL.
  • the failure processing unit 335 is executed by receiving the failure notification Msg in step S302.
  • the failure processing unit 335 executes a log collection / reading process and issues a CfgRd packet for log collection / reading to the transfer module 230-1 based on the ID information included in the received failure notification Msg (step S303). .
  • the failure processing module 380-1 that has received the CfgRd packet for log collection read in step S303 responds to the log collection read in place of the transfer module 230-1 that is unable to communicate due to cable disconnection, and receives a collection request.
  • the received log data is returned to the processor 320-1 as a CplD packet (step S304).
  • initialization information, failure information, etc. relating to the transfer module 230-1 stored in the failure processing module 380-1 can be considered.
  • the processor 320-1 executing the failure processing unit 335 receives the CplD packet in step S304 and completes the log collection, the processor 320-1 executes processing for closing the site where the failure has occurred, and notifies the failure notification in step S303. Based on the ID information included in Msg, a CfgWr packet for writing a port closing instruction is issued to the transfer module 230-1 (step S305).
  • the failure notification Msg means a FATAL failure, and the port closing finger processing is always performed regardless of the failure factor.
  • the failure notification Msg means a plurality of failure levels or factors, The failure information may be used to analyze the failure level and the failure factor to determine whether or not the blockage is possible.
  • the failure processing module 380-1 that has received the CfgWr packet for writing the port block instruction in step S305 is connected to the failure channel 400-1 in place of the transfer module 230-1 that cannot communicate due to cable disconnection.
  • a process for disabling the connection port 385-1 of the failure processing module 380-1 is performed (step S306), and a Cpl packet for a closure completion response is returned to the processor 320-1 (step S307).
  • connection port 385-1 When the connection port 385-1 is disabled in step S306, the interface between the transfer module 230-1 including the channel 400-1 connected to the connection port 385-1 is also blocked, and the server module 200-1 and the storage module I / O bus communication between 300 is disabled. That is, it can be regarded as a state in which the faulty part is disconnected from the storage module 300.
  • the processor 320-1 executing the failure processing unit 335 receives the Cpl packet in step S307 and confirms the completion of the port block write, the processor 320-1 completes the port block process.
  • failure processing module 380-1 in the processing example of FIG. 14 will be described in detail with reference to FIGS.
  • FIG. 15 is a sequence diagram illustrating an example of failure detection processing in the failure processing module 380-1 according to the embodiment of this invention.
  • FIG. 15 shows a failure when the failure processing module 380-1 detects a failure of the channel 400-1 and when the failure processing module 380-1 receives a CfgRd packet for log collection reading from the processor 320-1. The flow of processing in the processing module 380-1 is shown.
  • the port control unit 383 receives the cable non-connection signal due to the cable disconnection of the channel 400-1 via the connection port 385-1 (step S350).
  • the cable non-connection number detection unit 3831 detects the cable non-connection signal in step S350, and the information is transmitted to the failure processing control unit 384 (step S351).
  • the fault processing control unit 384 receives the cable disconnection signal from the management information in the information storage unit 3820-1 of the information management unit 382.
  • the management information of the transfer module connected to the port is specified, and the fault information indicating the occurrence of the FATAL fault and the cable disconnection is written in the I / F fault information 3824 of the management information (step S352).
  • the failure notification Msg generation unit 3843 uses the identifier (ID information) of the transfer module 230-1 connected to the connection port that has received the cable disconnection signal based on the transfer module ID information 3822 of the information storage unit 3820-1. Is acquired (step S353). Further, a failure notification Msg to which the acquired ID information is added is generated and transmitted from the connection port 386-1 to the route complex 340-1 via the access arbitration unit 381 (step S354).
  • the access arbitration unit 381 sends a CfgRd packet for log collection reading of the transfer module 230-1 specified by the ID information from the route complex 340-1 or the processor 320-1 via the connection port 386-1. Receive (step S355).
  • the route complex 340-1 and the processor 320-1 recognize that a failure has occurred in the transfer module 230-1 specified by the ID information described above based on the failure notification Msg received from the failure processing module 380-1. Because it is.
  • the transfer determination unit 3810-1 refers to the I / F failure information 3824 of the information storage unit 3820-1 of the information management unit 382 and confirms that a failure has occurred (step S356). ).
  • step S356 Since it is confirmed in step S356 that a failure has occurred, the CfgRd packet in step S355 is not transferred to the opposite connection port based on the transfer determination process (see table 3815 in FIG. 7) of the transfer determination unit 3810-1. And is determined to be transferred to the failure processing control unit 384 (step S357).
  • the access control unit 381 transfers the CfgRd packet for log collection reading to the failure processing control unit 384 based on the transfer permission / inhibition determination in step S357 (step S358).
  • the CfgRd processing unit 3844 processes the CfgRd packet for log collection and reading transferred in step S358. Specifically, the read request such as the read address and the data length is analyzed, and a request for reading the information to be read is issued from the information storage unit 3820-1 of the information management unit 382 (step S359).
  • the CfgRd processing unit 3844 acquires log information from the information management unit 382 (step S360), generates a CplD packet as log data, and connects to the connection port via the access arbitration unit 381.
  • the transmission is transmitted from 386-1 to the root complex 340-1 (step S361).
  • FIG. 16 will be described.
  • FIG. 16 is a sequence diagram illustrating an example of failure detection processing in the failure processing module 380-1 according to the embodiment of this invention, and illustrates a continuation of the sequence in FIG. FIG. 16 shows the flow of processing in the failure processing module 380-1 when the failure processing module 380-1 receives a CfgWr packet for writing a port closing instruction from the processor 320-1.
  • the access arbitration unit 381 receives the CfgWr packet for writing the port closing instruction from the route complex 340-1 via the connection port 386-1 (step S370).
  • the transfer determination unit 3810-1 refers to the I / F failure information 3824 of the information storage unit 3820-1 of the information management unit 382 and confirms that a failure has occurred (step S371). ).
  • step S371 Since it is confirmed in step S371 that a failure has occurred, the CfgWr packet in step S370 is sent to the opposite connection port 385-1 based on the transfer determination process (see table 3815 in FIG. 7) of the transfer determination unit 3810-1. Is not transferred, but is determined to be transferred to the failure processing control unit 384 (step S372).
  • the access control unit 381 transfers the CfgWr packet for writing the port closing instruction to the failure processing control unit 384 based on the transfer permission determination in step S372 (step S373).
  • the CfgWr processing unit 3841 processes the CfgWr packet for writing the port closing instruction transferred in step S373. Specifically, the write request such as the write address and data length is analyzed, and the status indicating the blocked state is written in the I / F blocked state 3825 of the information storage unit 3820-1 of the information management unit 382 (step S374).
  • the CfgWr processing unit 3841 generates a Cpl packet as a response indicating the completion of writing in step S374, and transmits the Cpl packet from the connection port 386-1 to the route complex 340-1 via the access arbitration unit 381 (step S375). ).
  • the port disable control unit 3832 of the port control unit 383 determines that the block is blocked (step S376), and the target connection The port 385-1 is disabled and blocked (step S377).
  • Port blocking can be realized by a PCIe port power-off process by the PCIe hot plug controller.
  • connection port 385-1 blocked in step S377 the I / O bus link establishment process is not performed, so the connection port 385-1 including the channel 400-1 connected to the connection port 385-1 is connected to the connection port 385-1.
  • the interface between them is also blocked (step S378). Since the port blocking process is performed for each connection port, even if the connection port 385-1 is blocked, the connection port 385-2 that is not the blocking target can perform a normal communication operation.
  • FIGS. 17 and 18 are sequence diagrams illustrating an example of failure detection and failure blocking processing when a failure of a different factor occurs from the description of FIGS. 14 to 16.
  • FIG. 17 shows that when a failure occurs in the transfer module 230-1, the failure processing module 380-1 detects the failure, and the port connected to the I / O bus where the failure has occurred is blocked. The flow of processing executed in this case is shown.
  • a hardware failure occurs, a PCIe ERR_FATAL type Msg packet for reporting a FATAL failure is issued, and the failure processing module 380-1 receives it via the channel 400-1 (step S1). S400).
  • the failure processing module 380-1 detects the ERR_FATAL reception in step S400 as an I / O bus FATAL failure (step S401), issues a failure notification Msg, and receives it in the processor 320-1 of the storage module 300. (Step S402).
  • the failure notification Msg includes the ID information of the transfer module 230-1.
  • the failure notification Msg in step S402 is the same packet as the failure notification Msg in step S302 in FIG.
  • Step S403 Processing of processor 320-1 when receiving failure notification Msg in step S402, log collection and reading (step S403), return of log data by failure processing module 380-1 (step S404), port by processor 320-1
  • step S405 The process of blocking instruction writing (step S405), failure side port disable processing (step S406) and blocking completion response (step S407) by the failure processing module 380-1 is the same processing as steps S302 to S307 in FIG. Therefore, the description is omitted.
  • the ERR_FATAL from the transfer module 230-1 is converted into a failure notification Msg by the failure processing module 380-1 and notified to the processor 320-1, so that the processor 320-1 receives the ERR_FATAL. It is possible to prevent the occurrence of NMI that is caused.
  • failure processing module 380-1 in the processing example of FIG. 17 will be described in detail with reference to FIG.
  • FIG. 18 is a sequence diagram illustrating an example of failure detection processing in the failure processing module 380-1 according to the embodiment of this invention.
  • FIG. 18 shows the flow of processing in the failure processing module 380-1 when the failure processing module 380-1 receives ERR_FATAL from the transfer module 230-1 via the channel 400-1.
  • the access arbitration unit 381 receives the ERR_FATAL Msg packet from the channel 400-1 via the connection port 385-1 (step S450).
  • the access arbitration unit 381 does not transfer the ERR_FATAL Msg packet in step S450 to the opposite connection port 386-1 based on the transfer determination process (see Table 3815 in FIG. 7) of the transfer determination unit 3810-1, and performs failure processing control. It determines with transferring to the part 384 (step S451).
  • the access control unit 381 transfers the ERR_FATAL Msg packet to the failure processing control unit 384 based on the transfer availability determination in step S451 (step S452).
  • the ERR_FATAL Msg packet transferred in step S452 is processed by the ERR_FATAL processing unit 3847. Specifically, failure information indicating the occurrence of a FATAL failure and ERR_FATAL reception is written in the I / F failure information 3824 of the information storage unit 3820-1 of the information management unit 382 (step S453).
  • the failure notification Msg generation unit 3843 acquires the ID information of the transfer module 230-1 from the transfer module ID information 3822 of the information storage unit 3820-1 (step S454). Further, a failure notification Msg to which the acquired ID information is added is generated and transmitted from the connection port 386-1 to the route complex 340-1 via the access arbitration unit 381 (step S455).
  • FIG. 19 is a sequence diagram illustrating an example of the failure block release process in the computer system according to the embodiment of this invention.
  • FIG. 19 shows that the failure processing module 380-1 re-initializes the transfer module 230-1 after the maintenance replacement of the failed part, the blocked state of the connection port is released, and the I / O processing can operate normally. The flow of processing to recover to the state is shown.
  • the transfer module 230-1 or the cable of the channel 400-1 as described in FIGS. 14 and 17 is replaced for maintenance (step S500). At this time, the server module 200-1 is powered off and the storage module 200 is powered on.
  • the server module 200-1 is powered on, and the processor 210-1 of the server module 200-1 executes the processing of the OS 221.
  • the processor 210-1 executing the processing of the OS 221 transmits a power-on signal and is received by the transfer module 230-1 (step S501).
  • the transfer module 230-1 that has received the power-on signal transmits a WAKE signal, which is received by the failure processing module 380-1 (S502).
  • the failure processing module 380-1 that has received the WAKE signal in step S502 performs processing for enabling the connection port 385-1 of the failure processing module 380-1 that has been blocked due to a failure (step S503).
  • connection port 385-1 When the connection port 385-1 is enabled in step S503, the block state of the interface with the transfer module 230-1 including the channel 400-1 connected to the connection port 385-1 is also released, and the server module 200-1 The state is restored to the state where the I / O bus communication between the storage modules 300 can be performed. That is, the storage module 300 is reconnected to the part that was previously disconnected due to a failure.
  • the failure processing module 380-1 that has received the WAKE signal transmits the WAKE signal to the processor 320-1, and the transfer module is processed by the initialization processing unit 334 of the storage control unit 331.
  • the failure processing module 380-1 uses the ID information and initialization information of the transfer module 230-1 stored during the normal initialization process to re-transfer the transfer module 230-1 on behalf of the processor 320-1. Perform initialization processing.
  • the reinitialization process will be specifically described.
  • step S503 the connection port 385-1 is enabled, the blocked state of the interface with the transfer module 230-1 is released, and the I / O bus between the server module 200-1 and the storage module 300 can communicate. Then, the failure processing module 380-1 issues a CfgWr packet for writing ID information to the transfer module 230-1 in order to re-initialize the transfer module 230-1 (step S504).
  • This CfgWr packet is the same packet as the CfgWr packet for writing ID information in step S103 of FIG.
  • the transfer module 230-1 receives the CfgWr packet for writing the ID information in step S504, writes the write information into the configuration register of the endpoint unit 235-2, and sends the Cpl packet as a write completion notification to the failure processing module 380- 1 (step S505).
  • the failure processing module 380-1 When the failure processing module 380-1 receives the Cpl packet in step S505 and confirms the completion of writing, the failure processing module 380-1 writes initialization information to the transfer module 230-1 to set control information of the transfer module 230-1.
  • a CfgWr packet for is issued (step S506). This CfgWr packet is the same packet as the CfgWr packet for writing the initialization information in step S106 of FIG.
  • step S507 The process when the transfer module 230-1 receives the CfgWr packet in step S506 (step S507) is the same as that in step S505, and thus the description thereof is omitted.
  • the failure processing module 380-1 When the failure processing module 380-1 receives the Cpl packet in step S507 and confirms the completion of the writing, the reinitialization processing is completed, and the block release notification Msg for notifying that the failure block release processing is completed is sent to the processor. It is issued to 320-1 (step S508). Note that the block release notification Msg includes the ID information of the transfer module 230-1.
  • the processor 320-1 executing the failure processing unit 335 receives the blockage release notification Msg in step S508, the processor 320-1 refers to the ID information included in the blockage release notification Msg and blocks the portion that has been blocked. After confirming that the cancellation processing has been completed, the processing of the failure processing unit 335 is completed. That is, the normal I / O processing can be resumed.
  • FIG. 20 is a sequence diagram illustrating an example of the failure block release process in the failure processing module according to the embodiment of this invention.
  • FIG. 20 shows a processing flow in the failure processing module 380-1 when the failure processing module 380-1 receives the WAKE signal from the transfer module 230-1.
  • the port control unit 383 receives a WAKE signal from the channel 400-1 via the connection port 385-1 (step S550).
  • the WAKE signal detection unit 3830 detects the WAKE signal in step S550, and transmits the WAKE detection signal to the failure processing control unit 384 (step S551).
  • the failure processing control unit 384 detects the WAKE detection signal in step S551, refers to the I / F blockage state 3825 of the information storage unit 3820-1 of the information management unit 382, and confirms the blockage occurrence state (step S552). .
  • step S552 Since it is confirmed in step S552 that the blockage has occurred, the block state of the I / F blockage state 3825 in the information storage unit 3820-1 is cleared by the process of the reinitialization processing unit 3845 (step S553).
  • the port disable control unit 3832 of the port control unit 383 determines that the block state is released (step S554), and determines the target connection port 385-1. It is enabled and the closed state is released (step S555).
  • the release of the port blockage can be realized by a power-on process of the PCIe port by the PCIe hot plug controller.
  • connection port 385-1 that has been released from the block in step S555, the interface with the transfer module 230-1 including the channel 400-1 connected to the connection port 385-1 is also released from the block (step S556). ) Since the I / O bus link establishment process between the transfer module 230-1 and the failure processing module 380-1 is performed, the I / O bus is restored to a communicable state.
  • the reinitialization processing unit 3845 obtains the transfer module I / D information 3822 of the information storage unit 3820-1 of the information management unit 382 in order to reinitialize the transfer module 230-1 (step S557). Then, a CfgWr packet for writing ID information is generated and transmitted from the connection port 385-1 to the channel 400-1 via the access arbitration unit 381 (step S558).
  • FIG. 21 is a sequence diagram illustrating an example of the failure block release process in the failure processing module 380-1 according to the embodiment of this invention.
  • FIG. 21 shows a processing flow in the failure processing module 380-1 when the failure processing module 380-1 receives a Cpl packet for writing completion notification for initialization information writing from the transfer module 230-1. .
  • the access arbitration unit 381 receives a Cpl packet for writing completion notification for initialization information writing from the channel 400-1 via the connection port 385-1 (step S560).
  • the transfer determination unit 3810-1 refers to the I / F failure information 3824 and the I / F blockage state 3825 in the information storage unit 3820-1 of the information management unit 382, and detects the occurrence of the failure. Confirmation is made (step S561).
  • step S561 Since it is confirmed in step S561 that a failure has occurred, the Cpl packet in step S561 is sent to the opposite connection port 386-1 based on the transfer determination process (see table 3815 in FIG. 7) of the transfer determination unit 3810-1. It is determined not to transfer, and it is determined to transfer to the failure processing control unit 384 (step S562).
  • the access control unit 381 transfers the Cpl packet for writing completion notification to the failure processing control unit 384 based on the transfer permission / inhibition determination in step S562 (step S563).
  • the re-initialization processing unit 3845 processes the Cpl packet for writing completion notification transferred in step S563, and the initialization information for re-initialization of the transfer module 230-1 is processed.
  • the writing process is completed (step S564).
  • the reinitialization processing unit 3845 clears all the fault information in the I / F fault information 3824 of the information storage unit 3820-1 of the information management unit 382, and completes reinitialization (step S565).
  • the ID information of the transfer module 230-1 is acquired from the transfer module ID information 3822 of the information storage unit 3820-1 by the blocking release notification Msg generation unit 3846 (step S566). Further, a blockage release notification Msg to which the acquired ID information is added is generated and transmitted from the connection port 386-1 to the root complex 340-1 via the access arbitration unit 381 (step S567).
  • the internal processing of the failure processing module 380-1 when receiving the Cpl packet for writing completion notification in step S505 in FIG. 19 is the same as the processing from step S560 to step S564 in FIG. Is omitted.
  • step S557 since the internal processing of the failure processing module 380-1 in the case of transmitting the CfgWr packet for writing initialization information in step S506 in FIG. 19 is the same processing as that in steps S557 and S558, the description will be made. Omitted. However, the information acquired by the process corresponding to step S557 is not the ID information of step S557 but the information of the transfer module initialization information 3823 of the information storage unit 3820-1.
  • the storage controller 331 is made redundant using two disk controllers 310, but the present invention is not limited to this.
  • two storage control units 331 may be realized by logically dividing one disk controller 310.
  • the server module 200 and the storage module 300 transmit a command whose protocol is not converted to the transfer module 230, and the transfer module 230 converts the protocol. Therefore, there is an effect of reducing the overhead of data transfer due to protocol conversion.
  • the transfer module 230 since the transfer module 230 directly accesses the memory 220 of the server module 200 and the memory 330 of the storage module 300, the transfer module 230 can perform high-speed processing between the memories without going through the processor 210 of the server module 200 and the processor 320 of the storage module 300. Data transfer can be realized.
  • the fault processing module 380 is mounted on the storage module 300 in order to increase the fault tolerance of the computer system including the transfer module 230 described above.
  • the storage control unit 331 that detects the failure blocks the entire disk controller 310, Since all the server modules 200 using the disk controller 310 detect a failure of the storage module 300 and the disk controller 310 becomes a non-redundant configuration, the availability of the entire system is lowered.
  • the failure processing module 380 when the failure processing module 380 is installed, if a serious failure occurs in the I / O bus such as the transfer module 230 or the channel 400, the failure processing module 380 detects the above-mentioned serious failure and separates it. By reporting the failure to the storage control unit 331, the storage control unit 331 is not blocked for the entire disk controller 310. Further, the failure processing module 380 requests blockage processing only for the failed link, and the storage control unit 331 requested to perform blockage blocks the connection port 385 connected to the failure link to the failure processing module 380. By instructing the processing, only the failed link can be blocked. Therefore, only the server module 200 related to the failure detects the failure of the storage module 300, and the deterioration of the availability of the entire system can be minimized.
  • the present invention can improve the fault tolerance of the system by the fault processing module 380 without impairing the merit of improving the I / O performance by the transfer module 230.
  • Server module 210 Processor 220 Memory 221 OS 222 storage access unit 223 application 230 transfer module 231 data transfer unit 232 DMA controller 233 data inspection unit 234 protocol engine 235 endpoint unit 236 connection port 237 connection port 238 power management unit 240 root complex 241 root port 260 I / F 300 Storage Module 310 Disk Controller 320 Processor 330 Memory 331 Storage Control Unit 332 I / O Processing Unit 333 Storage Device Control Unit 334 Initialization Processing Unit 335 Fault Processing Unit 340 Root Complex 341 Root Port 360 I / F 370 Storage Device 380 Failure Processing Module 381 Access Arbitration Unit 3810 Transfer Determination Unit 3811 Packet Arbitration Unit 3812 Packet Buffer 3813 Packet Buffer 3815 Transfer Determination Processing Table 3816 Packet Type 3817 Failure and Blocking State 3818 Transfer Enable / Disable 3819 Failure Processing Control 382 Information management unit 3820 Information storage unit 3821 Register 3822 Transfer module ID information 3823 Transfer module initialization information 3824 I / F failure information 3825 I / F block

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The present invention achieves high speed, high availability data transfer between a storage module server modules and. If a plurality of servers and storage devices are connected by PCIe interface cables or the like, which are easily erroneously inserted or erroneously removed by a user, modules which process faults are inserted between PCIe root ports and the cables. Without intervening in processing that pertains to normal PCIe commands and data transfer accompanying the normal PCIe commands, the fault-processing modules propagate the commands/data. If a fault is ever generated in a PCIe link, closing processing is requested only for the faulty link without propagating fault information (ERR_FATAL message) to a disk controller. An OS in which closing processing has been requested and a program operating on the OS perform the closing processing only on the faulty link.

Description

計算機システム、サーバモジュール及びストレージモジュールComputer system, server module and storage module
本発明は、サーバモジュールとストレージモジュールとの間の高速で高信頼、高可用なデータ転送を実現するシステム、サーバモジュール及びストレージモジュールに関する。 The present invention relates to a system, a server module, and a storage module that realize high-speed, high-reliability, and highly-available data transfer between a server module and a storage module.
 従来、サーバ及び当該サーバがアクセスするストレージ装置を接続する計算機システムとしては、SAN(Storage Area Network)等のネットワークを介してサーバ及びストレージが接続された計算機システムが知られている(特許文献1)。 Conventionally, as a computer system for connecting a server and a storage device accessed by the server, a computer system in which a server and a storage are connected via a network such as a SAN (Storage Area Network) is known (Patent Document 1). .
 特許文献1には、「ホストバスアダプタ(HBA)を搭載したホストとターゲットバスアダプタ(TBA)を搭載したストレージサブシステム及び、それらHBAとTBAのインタフェースを接続するためのFibreChannel(FC)スイッチを構成し、複数のホストと複数のストレージサブシステムがFCスイッチを介して相互に接続されSANを構成する」計算機システムが記載されている。 Patent Document 1 describes “a storage subsystem having a host bus adapter (HBA) and a target bus adapter (TBA), and a FiberChannel (FC) switch for connecting the interface between the HBA and the TBA. A computer system is described in which a plurality of hosts and a plurality of storage subsystems are connected to each other via an FC switch to constitute a SAN.
 前述したようなSANの計算機システムでは、ホストとなるサーバ内部のプロセッサとHBAとなるI/Oデバイス間、ストレージ装置のディスクコントローラ内部のプロセッサとTBAとなるI/Oデバイス間は、非特許文献1に記載されているPCI express(R)(PCIe)インタフェースで接続され、FCスイッチを介して接続されたHBAとTBA間はFCインタフェースで接続されるのが一般的である。HBAとTBA内では、PCIeとFCインタフェースを変換するためにプロトコル変換処理が行われる。FCインタフェースは、光ケーブルやFCスイッチ等にてSANを構成する。 In the SAN computer system as described above, there is no connection between the processor in the server serving as the host and the I / O device as the HBA, and between the processor in the disk controller of the storage apparatus and the I / O device as the TBA. In general, a PCI express (R) (PCIe) interface described in (1) and an HBA and a TBA connected via an FC switch are connected by an FC interface. Within the HBA and TBA, protocol conversion processing is performed to convert the PCIe and FC interfaces. The FC interface constitutes a SAN with optical cables, FC switches, and the like.
米国特許第7770208号US Pat. No. 7,770,208
 近年、サーバとストレージ装置間通信の性能向上の方法一つとして、サーバとストレージ装置間をFCで接続せずに、PCIeにて直接接続する方法が検討されている。これは、サーバとストレージ装置間の通信に際してHBAとTBAで実施されていた、FCとPCIeとの間のプロトコル変換処理を不要としたことで、性能オーバーヘッドが削減されるためである。 Recently, as a method for improving the performance of communication between a server and a storage device, a method of directly connecting the server and the storage device by PCIe without connecting by FC is being studied. This is because the performance overhead is reduced by eliminating the protocol conversion processing between the FC and PCIe, which was performed by the HBA and TBA for communication between the server and the storage apparatus.
 このように、サーバとストレージ装置間の通信に使用するインタフェースに、ストレージ装置内部通信やサーバ装置内部通信のインタフェースと同じインタフェース(つまり、PCIeインタフェース)を使用した計算機システムは、ストレージ装置内部通信やサーバ装置内部通信のインタフェースと異なるインタフェース(つまり、FCインタフェース)を使用した計算機システムと比較し、通信性能は優位であるが、耐障害性が劣ってしまうという課題がある。 As described above, the computer system using the same interface (that is, the PCIe interface) as the interface of the storage device internal communication or the server device internal communication as the interface used for communication between the server and the storage device is the storage device internal communication or server. Compared to a computer system that uses an interface different from the interface for internal device communication (that is, an FC interface), communication performance is superior, but there is a problem that fault tolerance is inferior.
 たとえば、PCIeインタフェースでは、ケーブルの抜去や特定ポートの障害といった部品レベルの障害と、ネットワーク全体の致命的な障害とを区別できない。したがって、サーバとストレージ装置間がPCIeインタフェース接続の場合、ケーブルの抜去に伴う予期せぬリンクダウン障害はSupriseDownエラーという重度障害(ERR_FATALメッセージ)としてストレージ装置のディスクコントローラ内のPCIeルートポートにて検出される。PCIeルートポートはPCIeで規定されたSERROR信号に変換し、PCIeルートコンプレックスにエラーを伝搬する。PCIeルートコンプレックスは受理したSERROR信号を、前述のディスクコントローラ上のOSに対してNon-Maskable Interrupt(NMI)として通知する。NMIを受信したOSは、ディスクコントローラ全体を閉塞させてしまう。 For example, in the PCIe interface, it is impossible to distinguish between a component level failure such as cable disconnection or a specific port failure and a fatal failure of the entire network. Therefore, when the PCIe interface is connected between the server and the storage device, an unexpected link-down failure due to cable removal is detected as a serious failure (ERR_FATAL message) called a SuppleDown error at the PCIe root port in the disk controller of the storage device. The The PCIe root port converts the error into a SERROR signal defined by PCIe and propagates an error to the PCIe root complex. The PCIe root complex notifies the received SERROR signal to the OS on the disk controller as a Non-Maskable Interrupt (NMI). The OS that has received the NMI blocks the entire disk controller.
 もし、一つのディスクコントローラに複数のPCIeポートが具備され、各ポートにサーバが接続されている場合、あるサーバとあるディスクコントローラ間のリンクダウン障害がトリガとなり、ディスクコントローラ全体を閉塞させるために、他の全サーバに対しても影響を与えてしまうことになる。 If a single disk controller has multiple PCIe ports and a server is connected to each port, a link down failure between a certain server and a certain disk controller will trigger and block the entire disk controller. This will also affect all other servers.
 サーバとストレージ装置間がFCの場合は、ケーブル抜去やケーブル内部の断線によるリンクダウン障害が発生しても、ケーブルが接続されていたストレージ装置内のTBAにて障害を検出、障害要因を特定し、ストレージ装置のOS上で動作しているTBAのデバイスドライバが特定した障害要因に応じた障害を処理することで、ディスクコントローラのOSにNMIは通知されなくなるため、ディスクコントローラ全体に波及する障害にはならない。 If the server and storage device are FC, even if a link down failure occurs due to cable removal or disconnection inside the cable, the failure is detected by the TBA in the storage device to which the cable was connected, and the cause of the failure is specified. Since the NMI is not notified to the disk controller OS by processing the failure according to the failure factor identified by the device driver of the TBA operating on the OS of the storage apparatus, the failure spreads to the entire disk controller. Must not.
 本発明は、前述した課題に鑑みてなされた発明である。すなわち、性能の向上を図ることができるサーバとストレージ装置間のPCIeによる直接接続のメリットを損なうことなく、耐障害性を向上させることを目的とする。 The present invention has been made in view of the above-described problems. That is, it is an object to improve fault tolerance without impairing the merit of direct connection by PCIe between a server and a storage device capable of improving performance.
 本願において開示される発明の代表的な一例を示せば以下のとおりである。すなわち、第1のメモリと第1のプロセッサを備える第1のサーバモジュールと、当該サーバモジュールとネットワークを介して接続され第2のメモリと第2のプロセッサを備えるストレージモジュールと、を有する計算機システムであって、前記サーバモジュールは、さらに前記第1のメモリと前記第2のメモリ間のデータ転送を制御する第1の転送モジュールを備え、前記ストレージモジュールは、前記ネットワークを介して前記第1の転送モジュールに接続する第1のポートと、前記計算機システムの障害に関する処理を制御する障害処理モジュールを備え、前記障害処理モジュールは、前記第1のポートと前記第1の転送モジュールの識別子とを対応づける構成情報を管理し、前記第1のポートを介して受信する第1の障害メッセージを、前記構成情報に基づいて前記第1の転送モジュールの識別子を含み前記第1の転送モジュールの障害を通知する第2の障害メッセージに変換し、当該第2の障害メッセージを前記ストレージモジュールの前記第2のプロセッサに送信する、ことを特徴とする。 A typical example of the invention disclosed in the present application is as follows. That is, a computer system having a first server module including a first memory and a first processor, and a storage module connected to the server module via a network and including a second memory and a second processor. The server module further includes a first transfer module that controls data transfer between the first memory and the second memory, and the storage module transmits the first transfer via the network. A first port connected to the module; and a failure processing module that controls processing relating to a failure of the computer system, wherein the failure processing module associates the first port with an identifier of the first transfer module. A first failure message that manages configuration information and is received via the first port Is converted into a second failure message that includes an identifier of the first transfer module based on the configuration information and notifies the failure of the first transfer module, and the second failure message is converted to the storage module. It transmits to a 2nd processor, It is characterized by the above-mentioned.
 本発明によれば、サーバとストレージ装置を備える計算機システムにおいて、サーバモジュールのプロセッサ及びストレージモジュールのプロセッサによるプロトコル変換処理を介することなく、サーバとストレージ装置間の高速なデータ転送を実行する。さらに当該計算機システムの耐障害性を向上させることができる。 According to the present invention, in a computer system including a server and a storage device, high-speed data transfer between the server and the storage device is executed without going through protocol conversion processing by the server module processor and the storage module processor. Furthermore, the fault tolerance of the computer system can be improved.
 上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。 Issues, configurations, and effects other than those described above will be clarified by the description of the following examples.
本発明の実施例の計算機システムの構成例を示すブロック図である。It is a block diagram which shows the structural example of the computer system of the Example of this invention. 本発明の実施例のサーバモジュールのソフトウェア構成を説明するブロック図である。It is a block diagram explaining the software configuration of the server module of the Example of this invention. 本発明の実施例のストレージモジュールのソフトウェア構成を説明するブロック図である。It is a block diagram explaining the software configuration of the storage module of the Example of this invention. 本発明の実施例の転送モジュールの構成例を説明するブロック図である。It is a block diagram explaining the structural example of the transfer module of the Example of this invention. 本発明の実施例の障害処理モジュールの構成例を説明するブロック図である。It is a block diagram explaining the example of a structure of the failure processing module of the Example of this invention. 本発明の実施例の障害処理モジュール内のアクセス調停部の構成例を説明するブロック図である。It is a block diagram explaining the structural example of the access arbitration part in the failure processing module of the Example of this invention. 本発明の実施例のアクセス調停部内の転送判定部の処理例を説明する図表である。It is a graph explaining the example of a process of the transfer determination part in the access arbitration part of the Example of this invention. 本発明の実施例の情報管理部内の情報記憶部の記憶情報例を説明する図表である。It is a chart explaining the example of the memory information of the information storage part in the information management part of the Example of this invention. 本発明の実施例の計算機システムにおける初期化処理の一例を説明するシーケンス図である。It is a sequence diagram explaining an example of the initialization process in the computer system of the Example of this invention. 本発明の実施例の障害処理モジュールにおける初期化処理の一例を説明するシーケンス図である。It is a sequence diagram explaining an example of the initialization process in the failure processing module of the Example of this invention. 本発明の実施例の障害処理モジュールにおける初期化処理の一例を説明するシーケンス図である。It is a sequence diagram explaining an example of the initialization process in the failure processing module of the Example of this invention. 本発明の実施例の計算機システムにおけるデータ転送処理の一例を説明するシーケンス図である。It is a sequence diagram explaining an example of the data transfer process in the computer system of the Example of this invention. 本発明の実施例の計算機システムにおけるデータ転送処理の一例を説明するシーケンス図である。It is a sequence diagram explaining an example of the data transfer process in the computer system of the Example of this invention. 本発明の実施例の計算機システムにおける障害検出および障害閉塞処理の一例を説明するシーケンス図である。It is a sequence diagram explaining an example of failure detection and failure blockage processing in the computer system of the embodiment of the present invention. 本発明の実施例の障害処理モジュールにおける障害検出および障害閉塞処理の一例を説明するシーケンス図である。It is a sequence diagram explaining an example of failure detection and failure blockage processing in the failure processing module of the embodiment of the present invention. 本発明の実施例の障害処理モジュールにおける障害検出および障害閉塞処理の一例を説明するシーケンス図である。It is a sequence diagram explaining an example of failure detection and failure blockage processing in the failure processing module of the embodiment of the present invention. 本発明の実施例の計算機システムにおける障害検出および障害閉塞処理の一例を説明するシーケンス図である。It is a sequence diagram explaining an example of failure detection and failure blockage processing in the computer system of the embodiment of the present invention. 本発明の実施例の障害処理モジュールにおける障害検出および障害閉塞処理の一例を説明するシーケンス図である。It is a sequence diagram explaining an example of failure detection and failure blockage processing in the failure processing module of the embodiment of the present invention. 本発明の実施例の計算機システムにおける障害閉塞解除処理の一例を説明するシーケンス図である。It is a sequence diagram explaining an example of the failure obstruction | occlusion cancellation | release process in the computer system of the Example of this invention. 本発明の実施例の障害処理モジュールにおける障害閉塞解除処理の一例を説明するシーケンス図である。It is a sequence diagram explaining an example of the failure obstruction | occlusion cancellation | release process in the failure processing module of the Example of this invention. 本発明の実施例の障害処理モジュールにおける障害閉塞解除処理の一例を説明するシーケンス図である。It is a sequence diagram explaining an example of the failure obstruction | occlusion cancellation | release process in the failure processing module of the Example of this invention.
 以下、本発明の実施形態について図面を参照して詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
 図1は、本発明の実施例の計算機システムの構成例を示すブロック図である。 FIG. 1 is a block diagram illustrating a configuration example of a computer system according to an embodiment of this invention.
 実施例の計算機システムは、複数のサーバモジュール200、ストレージモジュール300、複数のチャネル400から構成される。 The computer system according to the embodiment includes a plurality of server modules 200, a storage module 300, and a plurality of channels 400.
 図1に示す例では、サーバモジュール200-1、サーバモジュール200-2、ストレージモジュール300-1、チャネル400-1、チャネル400-2、チャネル400-3、チャネル400-4を備える。図1の例では、サーバモジュールとストレージモジュール間の通信には、PCIeインタフェースを用いている。また、ストレージモジュール内部通信やサーバモジュール内部通信にも同様にPCIeインタフェースを使用している。このように、複数のモジュールを備える計算機システム内で同じインタフェースを使用することにより、ストレージモジュール内部でサーバ装置内部通信のインタフェースと異なるインタフェース(つまり、FCインタフェース)を使用した計算機システムと比較し、インタフェースの違いによるコマンド変換が不要となり、通信速度の高い計算機システムを提供することができる。 The example shown in FIG. 1 includes a server module 200-1, a server module 200-2, a storage module 300-1, a channel 400-1, a channel 400-2, a channel 400-3, and a channel 400-4. In the example of FIG. 1, a PCIe interface is used for communication between the server module and the storage module. Similarly, the PCIe interface is used for storage module internal communication and server module internal communication. In this way, by using the same interface in a computer system having a plurality of modules, the interface is compared with a computer system that uses an interface (that is, an FC interface) that is different from the interface of the server apparatus internal communication within the storage module. This eliminates the need for command conversion due to the difference between the two and provides a computer system with a high communication speed.
 サーバモジュール200は、所定の業務を実行する計算機である。ストレージモジュール300は、サーバモジュール200が利用するデータを格納する計算機である。本実施例では、ストレージモジュール300は、各サーバモジュール200にLU(Logical Unit)を提供する。 The server module 200 is a computer that executes a predetermined job. The storage module 300 is a computer that stores data used by the server module 200. In this embodiment, the storage module 300 provides LU (Logical Unit) to each server module 200.
 サーバモジュール200は、プロセッサ210、メモリ220、転送モジュール230、ルートコンプレックス240、及びI/F260を有する。サーバモジュール200が有する各構成は、I/Oバスを介して互いに接続される。I/Oバスには、PCIバス、PCIeバス、及びシステムバス等が含まれる。なお、本発明は、各構成を接続するI/Oバスの種別に限定されない。 The server module 200 includes a processor 210, a memory 220, a transfer module 230, a route complex 240, and an I / F 260. Each component included in the server module 200 is connected to each other via an I / O bus. The I / O bus includes a PCI bus, a PCIe bus, a system bus, and the like. The present invention is not limited to the type of I / O bus that connects each configuration.
 プロセッサ210は、メモリ220に格納されるプログラムを実行する。プロセッサ210がメモリ220に格納されるプログラムを実行することによって、サーバモジュール200が有する機能を実現できる。 The processor 210 executes a program stored in the memory 220. The functions of the server module 200 can be realized by the processor 210 executing the program stored in the memory 220.
 メモリ220は、プロセッサ210によって実行されるプログラム及び当該プログラムの実行に必要な情報を格納する。メモリ220に格納されるプログラム及び情報については、図2を用いて後述する。 The memory 220 stores a program executed by the processor 210 and information necessary for executing the program. The program and information stored in the memory 220 will be described later with reference to FIG.
 なお、メモリ220に格納されるプログラム及び情報は、ストレージモジュール300によって提供されるLU等に格納されてもよい。この場合、プロセッサ210が、LU等のプログラムが格納される記憶領域からプログラム及び情報を取得し、取得されたプログラム及び情報をメモリ220にロードする。 Note that the program and information stored in the memory 220 may be stored in an LU or the like provided by the storage module 300. In this case, the processor 210 acquires a program and information from a storage area in which a program such as an LU is stored, and loads the acquired program and information into the memory 220.
 転送モジュール230は、サーバモジュール200とストレージモジュール300との間のデータ転送を制御する。転送モジュール230の詳細な構成については、図4を用いて後述する。 The transfer module 230 controls data transfer between the server module 200 and the storage module 300. The detailed configuration of the transfer module 230 will be described later with reference to FIG.
 ルートコンプレックス240は、プロセッサ210と転送モジュール230間の通信を調停するI/Oコントローラである。ルートコンプレックス240は、複数のルートポート241を有し、各ルートポートがI/Oバスを介して転送モジュール230に接続される。 The route complex 240 is an I / O controller that arbitrates communication between the processor 210 and the transfer module 230. The root complex 240 has a plurality of root ports 241, and each root port is connected to the transfer module 230 via an I / O bus.
 例えば、デバイス間を接続するI/OバスがPCIeバスである場合、ルートコンプレックス240は、PCIeで規定されているRoot Complexに相当し、ルートポート241は、PCIeで規定されているRoot Portに相当する。 For example, when the I / O bus connecting the devices is a PCIe bus, the root complex 240 corresponds to a root complex defined by PCIe, and the root port 241 corresponds to a root port defined by PCIe. To do.
 I/F260は、チャネル400と接続するためのコネクタである。 The I / F 260 is a connector for connecting to the channel 400.
 なお、転送モジュール230の搭載方法としては、サーバモジュール200の基板上のチップ(LSI)として搭載する方法、又は、HBA等のアダプタに搭載する方法が考えられる。ただし、本発明は、転送モジュール230の搭載方法に限定されない。 In addition, as a mounting method of the transfer module 230, a method of mounting as a chip (LSI) on the substrate of the server module 200 or a method of mounting on an adapter such as an HBA can be considered. However, the present invention is not limited to the mounting method of the transfer module 230.
 ストレージモジュール300は、ディスクコントローラ310、I/F360、記憶装置370、及び障害処理モジュール380を有する。ストレージモジュール300が有する各構成は、I/Oバスを介して互いに接続される。I/Oバスには、PCIバス、PCIeバス、SAS(Serial Attached SCSI)インタフェース、及びシステムバス等が含まれる。なお、本発明は、各構成を接続するI/Oバスの種別に限定されない。 The storage module 300 includes a disk controller 310, an I / F 360, a storage device 370, and a failure processing module 380. Each component included in the storage module 300 is connected to each other via an I / O bus. The I / O bus includes a PCI bus, a PCIe bus, a SAS (Serial Attached SCSI) interface, a system bus, and the like. The present invention is not limited to the type of I / O bus that connects each configuration.
 ディスクコントローラ310は、記憶領域の管理、及びサーバモジュール200と記憶領域との対応関係等を制御する。ディスクコントローラ310は、プロセッサ320、メモリ330、ルートコンプレックス340を有する。 The disk controller 310 controls the storage area and controls the correspondence between the server module 200 and the storage area. The disk controller 310 includes a processor 320, a memory 330, and a root complex 340.
 本実施例では、ストレージモジュール300は、ディスクコントローラ310-1、及びディスクコントローラ310-2の二つのディスクコントローラを有する。これは、ディスクコントローラを冗長化することによって、耐障害性を向上させるためである。 In this embodiment, the storage module 300 has two disk controllers, a disk controller 310-1 and a disk controller 310-2. This is to improve fault tolerance by making the disk controller redundant.
 ディスクコントローラ310-1は障害処理モジュール380-1と接続され、ディスクコントローラ310-2は障害処理モジュール380-2と接続される。また、ディスクコントローラ310-1、310-2は、それぞれ記憶装置370に接続される。 The disk controller 310-1 is connected to the failure processing module 380-1, and the disk controller 310-2 is connected to the failure processing module 380-2. The disk controllers 310-1 and 310-2 are connected to the storage device 370, respectively.
 プロセッサ320は、メモリ330に格納されるプログラムを実行する。プロセッサ320がメモリ330に格納されるプログラムを実行することによって、ストレージモジュール300が有する機能を実現できる。 The processor 320 executes a program stored in the memory 330. When the processor 320 executes the program stored in the memory 330, the function of the storage module 300 can be realized.
 メモリ330は、プロセッサ320によって実行されるプログラム及び当該プログラムの実行に必要な情報を格納する。メモリ330に格納されるプログラム及び情報については、図3を用いて後述する。 The memory 330 stores a program executed by the processor 320 and information necessary for executing the program. The program and information stored in the memory 330 will be described later with reference to FIG.
 なお、メモリ330に格納されるプログラム及び情報は、記憶装置370等に格納されてもよい。この場合、プロセッサ320が、記憶装置370等からプログラム及び情報を取得し、取得されたプログラム及び情報をメモリ330にロードする。 Note that the program and information stored in the memory 330 may be stored in the storage device 370 or the like. In this case, the processor 320 acquires a program and information from the storage device 370 and the like, and loads the acquired program and information into the memory 330.
 ルートコンプレックス340は、プロセッサ320と障害処理モジュール380間の通信を調停するI/Oコントローラである。ルートコンプレックス340は、複数のルートポート341を有し、各ルートポートがI/Oバスを介して障害処理モジュール380に接続される。 The route complex 340 is an I / O controller that arbitrates communication between the processor 320 and the failure processing module 380. The root complex 340 has a plurality of root ports 341, and each root port is connected to the failure processing module 380 via an I / O bus.
 例えば、デバイス間を接続するI/OバスがPCIeバスである場合、ルートコンプレックス340は、PCIeで規定されているRoot Complexに相当し、ルートポート341は、PCIeで規定されているRoot Portに相当する。 For example, when the I / O bus connecting the devices is a PCIe bus, the root complex 340 corresponds to the root complex defined by PCIe, and the root port 341 corresponds to the root port defined by PCIe. To do.
 I/F360は、チャネル400と接続するためのコネクタである。 The I / F 360 is a connector for connecting to the channel 400.
 記憶装置370は、データを格納するための装置であり、例えば、HDD(Hard Disk Drive)及びSSD(Solid State Drive)等が考えられる。 The storage device 370 is a device for storing data. For example, an HDD (Hard Disk Drive) and an SSD (Solid State Drive) can be considered.
 本実施例では、ストレージモジュール300は、複数の記憶装置を用いてRAIDを構成し、RAIDボリュームからLUを生成し、さらに、サーバモジュール200にLUを提供する。なお、LUには、OS221(図2参照)及びアプリケーション223(図2参照)等のプログラム及びプログラムの実行に必要な情報が格納される。 In this embodiment, the storage module 300 configures a RAID using a plurality of storage devices, generates an LU from the RAID volume, and provides the LU to the server module 200. The LU stores programs such as the OS 221 (see FIG. 2) and the application 223 (see FIG. 2) and information necessary for executing the programs.
 なお、障害処理モジュール380の搭載方法としては、ストレージモジュール300の基板上のチップ(LSI)として搭載する方法、又は、TBA等のアダプタに搭載する方法が考えられる。ただし、本発明は、障害処理モジュール380の搭載方法に限定されない。 In addition, as a mounting method of the failure processing module 380, a method of mounting as a chip (LSI) on the substrate of the storage module 300 or a method of mounting on an adapter such as TBA is conceivable. However, the present invention is not limited to the mounting method of the failure processing module 380.
 チャネル400は、サーバモジュール200及びストレージモジュール300のI/Oバスを接続するための接続線であり、メタルケーブル等が使用される。 The channel 400 is a connection line for connecting the I / O buses of the server module 200 and the storage module 300, and a metal cable or the like is used.
 ここで、計算機システムにおける接続関係について説明する。 Here, the connection relationship in the computer system will be described.
 サーバモジュール200-1では、チャネル400-1を介して、サーバモジュール200-1のI/F260-1とストレージモジュール300のI/F360-1が接続され、チャネル400-3を介して、サーバモジュール200-1のI/F260-2とストレージモジュール300のI/F360-3が接続される。 In the server module 200-1, the I / F 260-1 of the server module 200-1 and the I / F 360-1 of the storage module 300 are connected via the channel 400-1, and the server module 200-1 is connected via the channel 400-3. The I / F 260-2 of 200-1 and the I / F 360-3 of the storage module 300 are connected.
 サーバモジュール200-2では、チャネル400-2を介して、サーバモジュール200-2のI/F260-3とストレージモジュール300のI/F360-2が接続され、チャネル400-4を介して、サーバモジュール200-2のI/F260-4とストレージモジュール300のI/F360-4が接続される。 In the server module 200-2, the I / F 260-3 of the server module 200-2 and the I / F 360-2 of the storage module 300 are connected via the channel 400-2, and the server module 200-2 is connected via the channel 400-4. The I / F 260-4 of 200-2 and the I / F 360-4 of the storage module 300 are connected.
 ストレージモジュール300の各I/F360は、I/F360-1及びI/F360-2はディスクコントローラ310-1と接続され、I/F360-3及びI/F360-4はディスクコントローラ310-2と接続される。したがって、各サーバモジュール200は、二つのディスクコントローラ310-1、310-2と一対一に接続される。 Each I / F 360 of the storage module 300 is connected to the disk controller 310-1 of the I / F 360-1 and I / F 360-2, and connected to the disk controller 310-2 of the I / F 360-3 and I / F 360-4. Is done. Accordingly, each server module 200 is connected to the two disk controllers 310-1 and 310-2 on a one-to-one basis.
 本実施例では、二つのディスクコントローラ310-1、310-2は、いずれもアクティブな状態となっている。そのため、二つのディスクコントローラ310-1、310-2のそれぞれがI/O処理を実行することによって処理性能を向上させている。また、ディスクコントローラ310-1に障害が発生した場合であっても、ディスクコントローラ310-2がI/O処理を継続することができる。これによって、業務を継続できる。 In this embodiment, the two disk controllers 310-1 and 310-2 are both active. For this reason, each of the two disk controllers 310-1 and 310-2 executes the I / O processing to improve the processing performance. Further, even when a failure occurs in the disk controller 310-1, the disk controller 310-2 can continue the I / O processing. This allows business to continue.
 図2は、本発明の実施例のサーバモジュール200のソフトウェア構成を説明するブロック図である。 FIG. 2 is a block diagram illustrating the software configuration of the server module 200 according to the embodiment of this invention.
 メモリ220は、OS221及びアプリケーション223を実現するためのプログラムを格納する。 The memory 220 stores a program for realizing the OS 221 and the application 223.
 OS221は、サーバモジュール200を管理する。OS221は、サーバモジュール200とストレージモジュール300との間のアクセスを制御するストレージアクセス部222を有する。ストレージアクセス部222は、例えば、転送モジュール230を操作するデバイスドライバを用いて実現する方法が考えられる。 The OS 221 manages the server module 200. The OS 221 includes a storage access unit 222 that controls access between the server module 200 and the storage module 300. For example, the storage access unit 222 may be realized using a device driver that operates the transfer module 230.
 なお、OS221は、図示しないファイルシステム等の機能を有している。 The OS 221 has functions such as a file system (not shown).
 アプリケーション223は、所定の業務を実行する。本発明はアプリケーションの種別に限定されない。 Application 223 executes a predetermined job. The present invention is not limited to the type of application.
 図3は、本発明の実施例のストレージモジュール300のソフトウェア構成を説明するブロック図である。 FIG. 3 is a block diagram illustrating the software configuration of the storage module 300 according to the embodiment of this invention.
 図3では、ディスクコントローラ310-1が有するメモリ330を例に説明する。なお、ディスクコントローラ310-2が有するメモリ330も同一のソフトウェア構成である。 In FIG. 3, the memory 330 included in the disk controller 310-1 will be described as an example. The memory 330 included in the disk controller 310-2 has the same software configuration.
 メモリ330は、ストレージ制御部331を実現するプログラムを格納する。 The memory 330 stores a program for realizing the storage control unit 331.
 ストレージ制御部331は、サーバモジュール200とストレージモジュール300との間のI/O処理を制御する。ストレージ制御部331は、I/O処理部332、記憶装置制御部333、初期化処理部334、及び障害処理部335を有する。 The storage control unit 331 controls I / O processing between the server module 200 and the storage module 300. The storage control unit 331 includes an I / O processing unit 332, a storage device control unit 333, an initialization processing unit 334, and a failure processing unit 335.
 I/O処理部332は、サーバモジュール200からI/O要求を受信し、当該I/O要求に基づいて、書込み処理及び読出し処理を制御する。記憶装置制御部333は、記憶装置370に対する書込み処理及び読出し処理を制御する。 The I / O processing unit 332 receives an I / O request from the server module 200, and controls write processing and read processing based on the I / O request. The storage device control unit 333 controls writing processing and reading processing for the storage device 370.
 初期化処理部334は、サーバモジュール200からの初期化要求を障害処理モジュール380経由で受信し、当該初期化要求に基づいて、I/OデバイスのID情報及び初期化情報の書込み処理を制御する。ID情報は、デバイス間を接続するI/OバスがPCIeバスである場合、PCIeで規定されているBus Number、初期化情報はPCIeで規定されているMax Payload Size等の制御情報が考えられる。 The initialization processing unit 334 receives the initialization request from the server module 200 via the failure processing module 380, and controls the writing process of the ID information and initialization information of the I / O device based on the initialization request. . If the I / O bus connecting the devices is a PCIe bus, the ID information may be control information such as Bus Number defined by PCIe, and Max Payload Size defined by PCIe.
 障害処理部335は、サーバモジュール200、または、チャネル400からの障害の通知を障害処理モジュール380経由で受信し、当該障害通知に基づいて、障害を検出したI/Oデバイスのログ採取読出し、及び障害を検出したI/Oデバイスの障害発生ポートを閉塞する処理、障害処理モジュール380からの閉塞解除通知を受信し、当該閉塞解除通知に基づいて、通常I/O処理への復帰を制御する。 The failure processing unit 335 receives a failure notification from the server module 200 or the channel 400 via the failure processing module 380, and based on the failure notification, collects and reads the log of the I / O device that has detected the failure, and The process of closing the failure occurrence port of the I / O device that has detected the failure and the blockage release notification from the failure processing module 380 are received, and the return to the normal I / O process is controlled based on the blockage release notification.
 なお、I/O処理部332、初期化処理部334、及び障害処理部335は、例えば、転送モジュール230を操作するデバイスドライバを用いて実現することが考えられる。また、記憶装置制御部333は、記憶装置370を操作するデバイスドライバを用いて実現することが考えられる。 Note that the I / O processing unit 332, the initialization processing unit 334, and the failure processing unit 335 can be realized by using a device driver that operates the transfer module 230, for example. The storage device control unit 333 can be realized by using a device driver that operates the storage device 370.
 図4は、本発明の実施例の転送モジュール230の構成例を説明するブロック図である。 FIG. 4 is a block diagram illustrating a configuration example of the transfer module 230 according to the embodiment of this invention.
 転送モジュール230は、データ転送部231、プロトコルエンジン234、エンドポイント部235、複数の接続ポート236、237、及びパワーマネージメント部238を備える。 The transfer module 230 includes a data transfer unit 231, a protocol engine 234, an end point unit 235, a plurality of connection ports 236 and 237, and a power management unit 238.
 データ転送部231は、サーバモジュール200のメモリ220とストレージモジュール300のメモリ330との間のデータ転送を制御する。本実施例のデータ転送部231は、DMAコントローラ232、及びデータ検査部233を含む。 The data transfer unit 231 controls data transfer between the memory 220 of the server module 200 and the memory 330 of the storage module 300. The data transfer unit 231 of this embodiment includes a DMA controller 232 and a data inspection unit 233.
 DMAコントローラ232は、サーバモジュール200のメモリ220とストレージモジュール300のメモリ330との間のDMA転送を制御する。データ検査部233は、データ保証コードの付加及び削除を行う。また、データ検査部233は、保証コードに基づいて、データの整合性を確認する。なお、データ保証コードは、DIF(Data Integrity Field)を用いることが考えられる。 The DMA controller 232 controls DMA transfer between the memory 220 of the server module 200 and the memory 330 of the storage module 300. The data inspection unit 233 adds and deletes the data guarantee code. Further, the data inspection unit 233 confirms data consistency based on the guarantee code. Note that the data guarantee code may be DIF (Data Integrity Field).
 一般的な計算機システムでは、サーバモジュールは512バイト単位のデータを扱い、また、ストレージモジュールは、当該データにデータ保証コードを付与した520バイト単位のデータを扱う。本実施例のサーバモジュール200及びストレージモジュール300が扱うデータは、一般的な計算機システムと同様のものとする。 In a general computer system, the server module handles data in units of 512 bytes, and the storage module handles data in units of 520 bytes with a data guarantee code added to the data. Data handled by the server module 200 and the storage module 300 of this embodiment is the same as that of a general computer system.
 プロトコルエンジン234は、サーバモジュール200が使用するコマンド及びストレージモジュール300が使用するコマンドを変換する。 The protocol engine 234 converts a command used by the server module 200 and a command used by the storage module 300.
 エンドポイント部235は、I/Oデバイスが動作するための制御情報を保持するためのレジスタ、及びデータ転送部231とパワーマネージメント部238からの情報を、接続ポート236、237を介して外部に出力する機能を有する。例えば、エンドポイント部235は、接続ポート236、及び237を介して他デバイスと接続されるI/OバスがPCIeバスである場合、PCIeで規定されているEndpointに相当し、PCIeのコンフィグレジスタを有し、PCIeのパケットや制御信号を出力する。 The endpoint unit 235 outputs a register for holding control information for operating the I / O device and information from the data transfer unit 231 and the power management unit 238 to the outside through the connection ports 236 and 237. It has the function to do. For example, when the I / O bus connected to another device via the connection ports 236 and 237 is a PCIe bus, the endpoint unit 235 corresponds to an Endpoint defined by PCIe, and sets the PCIe configuration register. And output PCIe packets and control signals.
 また、エンドポイント部235-1は、SANのHBAの機能を有し、エンドポイント部235-2は、SANのTBAの機能を有する。エンドポイント部235-1は、サーバモジュール200で動作するソフトウェアであるOS221、及びストレージアクセス部222により制御され、エンドポイント部235-2は、ストレージモジュール300で動作するソフトウェアであるストレージ制御部331により制御される。 The endpoint unit 235-1 has a SAN HBA function, and the endpoint unit 235-2 has a SAN TBA function. The endpoint unit 235-1 is controlled by the OS 221 that is software operating on the server module 200 and the storage access unit 222, and the endpoint unit 235-2 is controlled by the storage control unit 331 that is software operating on the storage module 300. Be controlled.
 接続ポート236、及び237は、他のデバイスに接続するためのポートである。接続ポート236-1、236-2は、ルートポート241と接続され、接続ポート237-1、237-2は、I/F260と接続される。例えば、デバイス間を接続するI/OバスがPCIeバスである場合、接続ポート236、及び237としてPCIeポートが用いられる。 Connection ports 236 and 237 are ports for connecting to other devices. The connection ports 236-1 and 236-2 are connected to the root port 241, and the connection ports 237-1 and 237-2 are connected to the I / F 260. For example, when an I / O bus that connects devices is a PCIe bus, PCIe ports are used as the connection ports 236 and 237.
 本実施例の計算機システムでは、サーバモジュール200-1の転送モジュール230-1の接続ポート236-1はルートポート241-1と接続され、接続ポート236-2はルートポート241-2と接続され、接続ポート237-1はI/F260-1と接続され、接続ポート237-2はI/F260-2と接続され、サーバモジュール200-2の転送モジュール230-1の接続ポート236-1はルートポート241-3と接続され、接続ポート236-2はルートポート241-4と接続され、接続ポート237-1はI/F260-3と接続され、接続ポート237-2はI/F260-4と接続される。 In the computer system of this embodiment, the connection port 236-1 of the transfer module 230-1 of the server module 200-1 is connected to the root port 241-1, the connection port 236-2 is connected to the root port 241-2, The connection port 237-1 is connected to the I / F 260-1, the connection port 237-2 is connected to the I / F 260-2, and the connection port 236-1 of the transfer module 230-1 of the server module 200-2 is a root port. 241-3, connection port 236-2 is connected to root port 241-4, connection port 237-1 is connected to I / F 260-3, and connection port 237-2 is connected to I / F 260-4. Is done.
 パワーマネージメント部238は、転送モジュール230の電源管理を行う機能を有し、サーバモジュール200のプロセッサ210からのパワーオン信号をエンドポイント部235-1経由で受信すると、エンドポイント部235-2を介して、I/F260にWAKE信号を送信する機能を有する。例えば、デバイス間を接続するI/OバスがPCIeバスである場合、WAKE信号は、PCIeで規定されたWAKE#のサイドバンド信号を使用することができる。 The power management unit 238 has a function of performing power management of the transfer module 230. When the power-on signal from the processor 210 of the server module 200 is received via the endpoint unit 235-1, the power management unit 238 passes through the endpoint unit 235-2. And has a function of transmitting a WAKE signal to the I / F 260. For example, when the I / O bus connecting the devices is a PCIe bus, the WAKE signal can be a WAKE # sideband signal defined by PCIe.
 図5は、本発明の実施例の障害処理モジュール380の構成例を説明するブロック図である。 FIG. 5 is a block diagram illustrating a configuration example of the failure processing module 380 according to the embodiment of this invention.
 障害処理モジュール380は、アクセス調停部381、情報管理部382、ポート制御部383、障害処理制御部384、複数の接続ポート385、及び386を備える。 The failure processing module 380 includes an access arbitration unit 381, an information management unit 382, a port control unit 383, a failure processing control unit 384, and a plurality of connection ports 385 and 386.
 アクセス調停部381は、接続ポート385、または、接続ポート386からのI/Oバスのパケットを対向の接続ポート386、または385、及び障害処理制御部384に転送するかどうかを判定する機能と、障害処理制御部384で生成されたパケットを、接続ポート385、または、接続ポート386を介して外部に出力する機能を有する。内部の構造については、図6で後述する。 The access arbitration unit 381 has a function of determining whether or not to transfer the packet of the I / O bus from the connection port 385 or the connection port 386 to the opposite connection port 386 or 385 and the failure processing control unit 384; It has a function of outputting a packet generated by the failure processing control unit 384 to the outside via the connection port 385 or the connection port 386. The internal structure will be described later with reference to FIG.
 情報管理部382は、複数の情報記憶部3820を備え、障害処理部335が行う処理のために必要な情報を保持する。情報記憶部3820へのアクセスは、障害処理制御部384により行われる。 The information management unit 382 includes a plurality of information storage units 3820, and holds information necessary for processing performed by the failure processing unit 335. Access to the information storage unit 3820 is performed by the failure processing control unit 384.
 情報記憶部3820-1は、接続ポート385-1を介して接続されたI/Oバスに関する関連する情報を記憶し、情報記憶部3820-2は、接続ポート385-2を介して接続されたI/Oバスに関する情報を記憶する。 The information storage unit 3820-1 stores related information regarding the I / O bus connected through the connection port 385-1, and the information storage unit 3820-2 is connected through the connection port 385-2. Stores information related to the I / O bus.
 情報記憶部3820の記憶情報の詳細については、図8で後述する。 Details of the information stored in the information storage unit 3820 will be described later with reference to FIG.
 ポート制御部383は、WAKE信号検出部3830と、ケーブル非接続信号検出部3831と、ポートDisable制御部3832を備える。 The port control unit 383 includes a WAKE signal detection unit 3830, a cable non-connection signal detection unit 3831, and a port disable control unit 3832.
 WAKE信号検出部3830は、接続ポート385にて受信したWAKE信号を検出する機能を有する。 The WAKE signal detection unit 3830 has a function of detecting the WAKE signal received at the connection port 385.
 ケーブル非接続信号検出部3831は、I/F360とチャネル400間のI/Oバスのリンクが、ケーブル断線や誤抜去等により切断したことを示すケーブル非接続信号を、接続ポート385を介して検出する機能を有する。デバイス間を接続するI/OバスがPCIeバスである場合、ケーブル非接続信号の検出は、PCIeホットプラグコントローラのプレゼンス検出機能を使用することができる。 The cable non-connection signal detection unit 3831 detects, via the connection port 385, a cable non-connection signal indicating that the I / O bus link between the I / F 360 and the channel 400 has been disconnected due to cable disconnection or erroneous disconnection. It has the function to do. When the I / O bus connecting devices is a PCIe bus, the presence detection function of the PCIe hot plug controller can be used to detect the cable disconnection signal.
 ポートDisable制御部3832は、情報管理部382からの情報に基づき、接続ポート385に接続されるI/Oバスのリンクを切断させ、その後のリンク確立動作を停止させる機能と、停止させたリンク確立動作を再開させ、I/Oバスのリンクを回復させる機能を有する。 Based on information from the information management unit 382, the port disable control unit 3832 disconnects the link of the I / O bus connected to the connection port 385 and stops the subsequent link establishment operation, and the established link establishment. It has a function of resuming the operation and restoring the link of the I / O bus.
 障害処理制御部384は、WAKE信号生成部3840、CfgWr処理部3841、SupriseDown検出部3842、障害通知Msg生成部3843、CfgRd処理部3844、再初期化処理部3845、閉塞解除通知Msg生成部3846、ERR_FATAL処理部3847を備える。 The failure processing control unit 384 includes a WAKE signal generation unit 3840, a CfgWr processing unit 3841, a SupplyDown detection unit 3842, a failure notification Msg generation unit 3843, a CfgRd processing unit 3844, a reinitialization processing unit 3845, an occlusion release notification Msg generation unit 3848, An ERR_FATAL processing unit 3847 is provided.
 WAKE信号生成部3840は、ポート制御部383のWAKE信号検出部3830からのWAKE検出信号と、情報管理部382からの閉塞に関する情報(図8参照)に基づき、WAKE信号を生成し、接続ポート386からルートポート341に出力する機能を有する。例えば、デバイス間を接続するI/OバスがPCIeバスである場合、WAKE信号は、PCIeで規定されたWAKE#のサイドバンド信号を使用することができる。 The WAKE signal generation unit 3840 generates a WAKE signal based on the WAKE detection signal from the WAKE signal detection unit 3830 of the port control unit 383 and the information on the blockage from the information management unit 382 (see FIG. 8), and the connection port 386 To the root port 341. For example, when the I / O bus connecting the devices is a PCIe bus, the WAKE signal can be a WAKE # sideband signal defined by PCIe.
 CfgWr処理部3841は、アクセス調停部381から転送された、転送モジュール230に対するコンフィグレジスタへの書込み指示に対して、その書込み指示の書込みデータを情報管理部382に書き込む機能を有する。例えば、デバイス間を接続するI/OバスがPCIeバスである場合、書込み指示は、PCIeで規定されているCfgWrパケットが考えられる。また、情報管理部382からの障害及び閉塞に関する情報(図8参照)に基づき、書込み完了通知のためのCplパケットを生成し、接続ポート386からルートポート341に送信する機能を有する。 The CfgWr processing unit 3841 has a function of writing the write data of the write instruction to the information management unit 382 in response to the write instruction to the configuration register for the transfer module 230 transferred from the access arbitration unit 381. For example, when the I / O bus connecting the devices is a PCIe bus, the write instruction may be a CfgWr packet defined by PCIe. Further, it has a function of generating a Cpl packet for writing completion notification based on information (see FIG. 8) relating to a failure and blockage from the information management unit 382 and transmitting it from the connection port 386 to the root port 341.
 SupriseDown検出部3842は、ポート制御部383のケーブル非接続信号検出部3831からのケーブル非接続信号に基づき、情報管理部382に障害情報を記憶し、障害通知Msg生成部3843に障害通知Msgの生成を要求する機能を有する。 The supply down detection unit 3842 stores the failure information in the information management unit 382 based on the cable disconnection signal from the cable disconnection signal detection unit 3831 of the port control unit 383, and generates the failure notification Msg in the failure notification Msg generation unit 3843. It has a function to request.
 障害通知Msg生成部3843は、SupriseDown検出部3842、及びERR_FATAL処理部3847からの要求に基づき、情報管理部382の障害とIDに関する情報(図8参照)を参照し、障害通知Msgを生成してアクセス調停部381経由で接続ポート386からルートポート341に送信する機能を有する。例えば、デバイス間を接続するI/OバスがPCIeバスである場合、障害通知Msgは、PCIeで規定されているVendor Defined MessageタイプのMsgパケット、または、Message Signaled InterruptタイプのMWrパケットが考えられる。 The failure notification Msg generation unit 3843 generates a failure notification Msg by referring to the information on the failure and ID of the information management unit 382 (see FIG. 8) based on the requests from the supply down detection unit 3842 and the ERR_FATAL processing unit 3847. It has a function of transmitting from the connection port 386 to the root port 341 via the access arbitration unit 381. For example, when the I / O bus connecting the devices is a PCIe bus, the failure notification Msg may be a Vendor Defined Message type Msg packet or a Message Signaled Interrupt type MWr packet defined by PCIe.
 CfgRd処理部3844は、アクセス調停部381から転送された、転送モジュール230に対するコンフィグレジスタへの読出し指示に対して、情報管理部382からの障害及び閉塞に関する情報(図8参照)に基づき、情報管理部382に記憶した情報を応答データとしてアクセス調停部381経由で接続ポート386からルートポート341に送信する機能を有する。例えば、デバイス間を接続するI/OバスがPCIeバスである場合、読出し指示は、PCIeで規定されているCfgRdパケット、応答データはCplDパケットが考えられる。 The CfgRd processing unit 3844 responds to the read instruction to the configuration register for the transfer module 230 transferred from the access arbitration unit 381, based on information (see FIG. 8) regarding the failure and blockage from the information management unit 382. The information stored in the unit 382 is transmitted as response data from the connection port 386 to the root port 341 via the access arbitration unit 381. For example, when the I / O bus connecting the devices is a PCIe bus, the CfgRd packet defined by PCIe and the response data may be a CplD packet.
 再初期化処理部3845は、ポート制御部383のWAKE信号検出部3830からのWAKE検出信号と、情報管理部382からの閉塞に関する情報(図8参照)に基づき、情報管理部382に記憶している閉塞に関する情報(図8参照)をクリアし、IDと初期化に関する情報(図8参照)を使用して、転送モジュール230に対するコンフィグレジスタへの書込み指示を生成し、アクセス調停部381を経由して接続ポート385からI/F360に送信する機能と、アクセス調停部381から転送された、前述の書込み指示に対する完了通知を受信する機能と、情報管理部382に記憶している障害に関する情報(図8参照)をクリアする機能と、閉塞解除通知Msg生成部3846に対して閉塞解除通知Msgの生成を要求する機能を有する。例えば、デバイス間を接続するI/OバスがPCIeバスである場合、書込み指示はCfgWrパケット、書込み指示に対する完了通知は、PCIeで規定されているCplパケットが考えられる。 The reinitialization processing unit 3845 stores the information in the information management unit 382 based on the WAKE detection signal from the WAKE signal detection unit 3830 of the port control unit 383 and the information on the blockage from the information management unit 382 (see FIG. 8). The information on the blockage (see FIG. 8) is cleared, the ID and the information on initialization (see FIG. 8) are used to generate a write instruction to the configuration register for the transfer module 230, and the access arbitration unit 381 is used. A function for transmitting from the connection port 385 to the I / F 360, a function for receiving a completion notification for the above-described write instruction transferred from the access arbitration unit 381, and information on a failure stored in the information management unit 382 (see FIG. 8) and the block release notification Msg generation unit 3846 are requested to generate the block release notification Msg. It has the ability. For example, when the I / O bus connecting the devices is a PCIe bus, the write instruction may be a CfgWr packet, and the completion notification for the write instruction may be a Cpl packet defined by PCIe.
 閉塞解除通知Msg生成部3846は、再初期化処理部3845からの要求に基づき、情報管理部382のIDに関する情報(図8参照)を参照し、閉塞解除通知Msgを生成してアクセス調停部381経由で接続ポート386からにルートポート341に送信する機能を有する。例えば、デバイス間を接続するI/OバスがPCIeバスである場合、閉塞解除通知Msgは、PCIeで規定されているVendor Defined MessageタイプのMsgパケット、または、Message Signaled InterruptタイプのMWrパケットが考えられる。 Based on the request from the reinitialization processing unit 3845, the blockage release notification Msg generation unit 3846 refers to the information on the ID of the information management unit 382 (see FIG. 8), generates the blockage release notification Msg, and accesses the arbitration unit 381. And has a function of transmitting from the connection port 386 to the root port 341. For example, when the I / O bus connecting the devices is a PCIe bus, the shutdown release notification Msg may be a Vendor Defined Message type Msg packet or a Message Signaled Interrupt type MWr packet defined in PCIe. .
 ERR_FATAL処理部3847は、アクセス調停部381から転送された、サーバモジュール200、またはチャネル400の重度障害の通知に対して、情報管理部382に障害情報を記憶し、障害通知Msg生成部3843に障害通知Msgの生成を要求する機能を有する。例えば、デバイス間を接続するI/OバスがPCIeバスである場合、重度障害の通知は、PCIeで規定されているERR_FATALタイプのMsgパケットが考えられる。 The ERR_FATAL processing unit 3847 stores the failure information in the information management unit 382 in response to the serious failure notification of the server module 200 or the channel 400 transferred from the access arbitration unit 381, and the failure notification Msg generation unit 3843 has a failure. A function of requesting generation of the notification Msg; For example, when the I / O bus connecting the devices is a PCIe bus, the notification of the serious failure may be an ERR_FATAL type Msg packet defined by PCIe.
 接続ポート385、及び386は、他のデバイスに接続するためのポートである。本実施例では、接続ポート385-1、385-2は、I/F360と接続され、接続ポート386-1、386-2は、ルートポート341と接続される。例えば、デバイス間を接続するI/OバスがPCIeバスである場合、接続ポート385、及び386としてPCIeポートが用いられる。 Connection ports 385 and 386 are ports for connecting to other devices. In the present embodiment, the connection ports 385-1 and 385-2 are connected to the I / F 360, and the connection ports 386-1 and 386-2 are connected to the root port 341. For example, when the I / O bus connecting the devices is a PCIe bus, PCIe ports are used as the connection ports 385 and 386.
 本実施例の計算機システムでは、ストレージモジュール300の障害処理モジュール380-1の接続ポート385-1はI/F360-1と接続され、接続ポート385-2はI/F360-2と接続され、接続ポート386-1はルートポート341-1と接続され、接続ポート386-2はルートポート341-2と接続され、障害処理モジュール380-2の接続ポート385-1はI/F360-3と接続され、接続ポート385-2はI/F360-4と接続され、接続ポート386-1はルートポート341-3と接続され、接続ポート386-2はルートポート341-4と接続される。 In the computer system of this embodiment, the connection port 385-1 of the failure processing module 380-1 of the storage module 300 is connected to the I / F 360-1, and the connection port 385-2 is connected to the I / F 360-2. The port 386-1 is connected to the root port 341-1, the connection port 386-2 is connected to the root port 341-2, and the connection port 385-1 of the failure processing module 380-2 is connected to the I / F 360-3. The connection port 385-2 is connected to the I / F 360-4, the connection port 386-1 is connected to the root port 341-3, and the connection port 386-2 is connected to the root port 341-4.
 図6は、本発明の実施例の障害処理モジュール380内のアクセス調停部381の構成例を説明するブロック図である。 FIG. 6 is a block diagram illustrating a configuration example of the access arbitration unit 381 in the failure processing module 380 according to the embodiment of this invention.
 アクセス調停部381は、複数の転送判定部3810と、パケット調停部3811と、複数のパケットバッファ3812、及びパケットバッファ3813を備える。 The access arbitration unit 381 includes a plurality of transfer determination units 3810, a packet arbitration unit 3811, a plurality of packet buffers 3812, and a packet buffer 3813.
 転送判定部3810は、パケットバッファ3812、または、パケットバッファ3813から送信されたI/Oバスのパケットを、情報管理部382の障害及び閉塞に関する情報(図8参照)に基づき、対向のパケットバッファ3813、または、パケットバッファ3812に転送するかどうかの判定機能と、パケット調停部3811経由で障害処理制御部384に転送するかどうかの判定機能と、転送すると判定された場合はパケットをパケットバッファ3812、または、パケットバッファ3813、または、障害処理制御部384に転送し、転送しないと判定された場合はパケットを破棄する機能を有する。なお、パケット種別の判定方法については、図7にて後述する。 The transfer determination unit 3810 selects the packet of the I / O bus transmitted from the packet buffer 3812 or the packet buffer 3813 based on the information on the failure and blockage of the information management unit 382 (see FIG. 8). Or a function for determining whether to transfer to the packet buffer 3812, a function for determining whether to transfer to the failure processing control unit 384 via the packet arbitration unit 3811, and a packet buffer 3812 if the packet is determined to be transferred, Alternatively, it has a function of transferring to the packet buffer 3813 or the failure processing control unit 384 and discarding the packet when it is determined not to transfer. A method for determining the packet type will be described later with reference to FIG.
 また、転送判定部3810-1は、パケットバッファ3812-1及びパケットバッファ3813-1の間の通信における転送可否判定処理を行い、転送判定部3810-2は、パケットバッファ3812-2及びパケットバッファ3813-2の間の通信における転送可否判定処理を行う。 In addition, the transfer determination unit 3810-1 performs a transfer feasibility determination process in communication between the packet buffer 3812-1 and the packet buffer 3813-1, and the transfer determination unit 3810-2 includes a packet buffer 3812-2 and a packet buffer 3813. -2 in the communication between -2 is performed.
 パケット調停部3811は、転送判定部3810から転送されたI/Oバスのパケットを調停して、障害処理制御部384に送信する機能と、障害処理制御部384で生成されたI/Oバスのパケットを、パケット情報に基づきパケットバッファ3812、または、パケットバッファ3813に送信する機能を有する。 The packet arbitration unit 3811 arbitrates the I / O bus packet transferred from the transfer determination unit 3810 and transmits the packet to the failure processing control unit 384, and the I / O bus generated by the failure processing control unit 384. It has a function of transmitting a packet to the packet buffer 3812 or the packet buffer 3813 based on the packet information.
 パケットバッファ3812は、障害処理モジュール380の接続ポート385に接続され、接続ポート385から受信したI/Oバスのパケットをバッファリングして転送判定部3810に送信する機能と、転送判定部3810、または、パケット調停部3811から受信したパケットを接続ポート385に送信する機能を有する。パケットバッファ3812-1は、接続ポート385-1、パケットバッファ3812-2は接続ポート385-2に接続される。 The packet buffer 3812 is connected to the connection port 385 of the failure processing module 380, and has a function of buffering an I / O bus packet received from the connection port 385 and transmitting the packet to the transfer determination unit 3810, a transfer determination unit 3810, or , And has a function of transmitting the packet received from the packet arbitration unit 3811 to the connection port 385. The packet buffer 3812-1 is connected to the connection port 385-1, and the packet buffer 3812-2 is connected to the connection port 385-2.
 パケットバッファ3813は、障害処理モジュール380の接続ポート386に接続され、接続ポート386から受信したI/Oバスのパケットをバッファリングして転送判定部3810に送信する機能と、転送判定部3810、または、パケット調停部3811から受信したパケットを接続ポート386に送信する機能を有する。パケットバッファ3813-1は、接続ポート386-1、パケットバッファ3813-2は接続ポート386-2に接続される。 The packet buffer 3813 is connected to the connection port 386 of the failure processing module 380, and has a function of buffering an I / O bus packet received from the connection port 386 and transmitting the packet to the transfer determination unit 3810, a transfer determination unit 3810, or , And has a function of transmitting the packet received from the packet arbitration unit 3811 to the connection port 386. The packet buffer 3813-1 is connected to the connection port 386-1, and the packet buffer 3813-2 is connected to the connection port 386-2.
 例えば、デバイス間を接続するI/OバスがPCIeバスである場合、アクセス調停部で処理するパケットは、PCIeで規定されているTransaction Layer Packet(TLP)が考えられる。 For example, when the I / O bus connecting the devices is a PCIe bus, the packet processed by the access arbitration unit may be a Transaction Layer Packet (TLP) defined by PCIe.
 図7は、本発明の実施例のアクセス調停部381内の転送判定部3810の処理例を示す図表である。 FIG. 7 is a chart illustrating a processing example of the transfer determination unit 3810 in the access arbitration unit 381 according to the embodiment of this invention.
 CfgRdはConfigurationReadRequest、CfgWrはConfigurationWriteRequestを示し、転送モジュール230および障害処理モジュール380のコンフィグレジスタを読み書きしてコンフィグレーションや初期化を行うためのTLPである。MRdはMemoryReadRequest、MWrはMemoryWriteRequestを示し、転送モジュール280がメモリ220および330に対してデータ読み書きするためのTLPである。CplDはCompletionDataを示し、CfgRdおよびMRdに対するデータ有応答を行うためのTLPである。CplはCompletionを示し、CfgWrに対するデータ無応答を行うためのTLPである。 CfgRd indicates ConfigurationReadRequest, CfgWr indicates ConfigurationWriteRequest, and is a TLP for reading and writing the configuration registers of the transfer module 230 and the failure processing module 380 to perform configuration and initialization. MRd indicates MemoryReadRequest, and MWr indicates MemoryWriteRequest, which is a TLP for the transfer module 280 to read / write data from / to the memories 220 and 330. CplD indicates CompletionData, and is a TLP for performing a data response to CfgRd and MRd. Cpl indicates Completion and is a TLP for performing no data response to CfgWr.
 転送判定部3810は、表3815で示される転送判定処理を行う機能を有する。表3815は、パケット種3816の列、障害および閉塞状態3817の列、対向接続ポートへの転送可否3818の列、障害処理制御部への転送可否3819の列の要素で構成される。 The transfer determination unit 3810 has a function of performing transfer determination processing shown in Table 3815. The table 3815 includes elements of a column of packet type 3816, a column of failure and blocking state 3817, a column of transfer availability 3818 to the opposite connection port, and a column of transfer availability 3819 to the failure processing control unit.
 転送判定部3810では、パケット種3816の列の各要素と、前述の各要素に対応する行の障害及び閉塞状態3817の要素の組み合わせにおいて、前述の組み合わせに対応する行の対向ポートへの転送可否3818、及び障害処理制御部への転送可否3819の各処理を行う。 In the transfer determination unit 3810, in the combination of each element in the column of the packet type 3816 and the element in the row failure and blocking state 3817 corresponding to each element described above, whether or not transfer to the opposite port in the row corresponding to the combination described above is possible. Each process of 3818 and transfer permission / unavailability 3819 to the failure processing control unit is performed.
 例えば、パケットがCfgRdの場合、障害および閉塞が未発生の場合は、対向接続ポート385、または、接続ポート386に転送し、障害処理制御部384には転送しない処理を行い、障害または閉塞が発生中の場合は、対向接続ポート385、または、接続ポート386には転送せず、障害処理制御部384に転送する処理を行う。その他のパケット種の場合の処理例の説明は省略する。 For example, when the packet is CfgRd, if no failure or blockage has occurred, the packet is transferred to the opposite connection port 385 or the connection port 386 and not transferred to the failure processing control unit 384, and a failure or blockage occurs. In the case of “medium”, the process is not transferred to the opposite connection port 385 or the connection port 386, but is transferred to the failure processing control unit 384. A description of processing examples in the case of other packet types is omitted.
 表3815で示される転送判定処理は、ステートマシンとして論理回路を構成するといった実現方法が考えられる。 The transfer determination process shown in Table 3815 can be realized by configuring a logic circuit as a state machine.
 図8は、本発明の実施例の情報管理部382内の情報記憶部3820の記憶情報例を説明する図表である。 FIG. 8 is a chart for explaining an example of information stored in the information storage unit 3820 in the information management unit 382 according to the embodiment of this invention.
 情報記憶部3820は、表3821で示される情報を記憶するレジスタを有し、障害処理制御部384経由で、読出し、書込みが行われる。情報記憶部3820では、障害処理モジュール380が接続する複数の転送モジュール230のそれぞれについて、図表の情報を記憶している。表3821では、記憶情報として、転送モジュールID情報3822、転送モジュール初期化情報3823、I/F障害情報3824、及びI/F閉塞状態3825で構成される。 The information storage unit 3820 has a register for storing information shown in the table 3821, and is read and written via the failure processing control unit 384. The information storage unit 3820 stores chart information for each of the plurality of transfer modules 230 to which the failure processing module 380 is connected. In the table 3821, the storage information includes transfer module ID information 3822, transfer module initialization information 3823, I / F failure information 3824, and I / F blocking state 3825.
 転送モジュールID情報3822、転送モジュール初期化情報3823は、転送モジュール230が動作するための制御情報である。転送モジュールID情報3822は、転送モジュールのIDと、その転送モジュールが接続されているストレージモジュール300のI/F360の識別子(もしくは、障害処理モジュールの接続ポート385-1の識別子)との対応を示す。 Transfer module ID information 3822 and transfer module initialization information 3823 are control information for operating the transfer module 230. The transfer module ID information 3822 indicates the correspondence between the ID of the transfer module and the identifier of the I / F 360 of the storage module 300 to which the transfer module is connected (or the identifier of the connection port 385-1 of the failure processing module). .
 I/F障害情報3824は、障害処理モジュール380が検出する、障害処理モジュール380とサーバモジュール200の間のI/Oバスに関する障害情報である。 The I / F failure information 3824 is failure information related to the I / O bus between the failure processing module 380 and the server module 200 detected by the failure processing module 380.
 I/F閉塞状態3825は、障害処理部335の指示により、接続ポート385が閉塞状態かどうかを示すステータス情報である。 The I / F blocking state 3825 is status information indicating whether the connection port 385 is blocked according to an instruction from the failure processing unit 335.
 例えば、デバイス間を接続するI/OバスがPCIeバスである場合、情報記憶部3820のレジスタは、PCIeで規定されるコンフィグレジスタとして構成するといった実現方法が考えられる。 For example, when the I / O bus connecting the devices is a PCIe bus, an implementation method may be considered in which the register of the information storage unit 3820 is configured as a configuration register defined by PCIe.
 図9から図21では、本発明の実施例における処理例を、シーケンス図を用いて説明する。これらの説明において、デバイス間を接続するI/Oバスとして、PCIeバスを例に説明する。PCIeで規定されている信号名やパケット名を用いて説明するが、本発明は、I/Oバスの種別に限定されない。なお、シーケンス図中の黒丸は、矢印線で示されるシーケンスの始点を示し、矢印線の先端の矢印はシーケンスの終点を示す。また、矢印線と縦線との交点は、その矢印線で示されるシーケンスが縦線で示される部位を通過して、処理に関与していることを示し、白丸が付与されている場合、その矢印線が示すシーケンスが縦線で示される部位を通過せず、処理に関与していないことを示す。なお、シーケンスは、下方向に向かって進み、時間が経過していくことを示す。 9 to 21, processing examples in the embodiment of the present invention will be described using sequence diagrams. In these descriptions, a PCIe bus will be described as an example of an I / O bus that connects devices. The description will be made using signal names and packet names defined by PCIe, but the present invention is not limited to the type of I / O bus. The black circles in the sequence diagram indicate the start point of the sequence indicated by the arrow line, and the arrow at the tip of the arrow line indicates the end point of the sequence. In addition, the intersection of the arrow line and the vertical line indicates that the sequence indicated by the arrow line passes through the part indicated by the vertical line and is involved in the processing. The sequence indicated by the arrow line does not pass through the portion indicated by the vertical line, indicating that it is not involved in the processing. Note that the sequence progresses downward and indicates that time passes.
 図9から図11では、本発明の実施例における初期化処理の一例を説明する。 9 to 11, an example of the initialization process in the embodiment of the present invention will be described.
 図9は、本発明の実施例の計算機システムにおける初期化処理の一例を説明するシーケンス図である。図9は、サーバモジュール200-1に電源が投入され、ストレージモジュール300から転送モジュール230-1の初期化が行われる場合に実行される処理の流れを示す。 FIG. 9 is a sequence diagram illustrating an example of initialization processing in the computer system according to the embodiment of this invention. FIG. 9 shows a flow of processing executed when the server module 200-1 is powered on and the transfer module 230-1 is initialized from the storage module 300.
 電源が投入されたサーバモジュール200-1のプロセッサ210-1では、OS221の処理が実行される。OS221の処理を実行しているプロセッサ210-1は、パワーオン信号を送信し、転送モジュール230-1にて受信される(ステップS100)。 In the processor 210-1 of the server module 200-1 that is turned on, the processing of the OS 221 is executed. The processor 210-1 executing the processing of the OS 221 transmits a power-on signal and is received by the transfer module 230-1 (step S100).
 パワーオン信号を受信した転送モジュール230-1は、WAKE信号を出力し、チャネル400-1を介して障害処理モジュール380-1にて受信される(ステップS101)。 Upon receipt of the power-on signal, the transfer module 230-1 outputs a WAKE signal and is received by the failure processing module 380-1 via the channel 400-1 (step S101).
 WAKE信号を受信した障害処理モジュール380-1は、WAKE信号を出力し、ストレージモジュール300のプロセッサ320-1にて受信される(ステップS102)。 The failure processing module 380-1 that has received the WAKE signal outputs the WAKE signal and receives it by the processor 320-1 of the storage module 300 (step S102).
 ストレージ制御部331の処理を実行しているプロセッサ320-1では、初期化処理部334の処理が実行される。初期化処理部334は、転送モジュール230-1を識別するために、ID情報の書込み処理を実行し、転送モジュール230-1に対してCfgWrパケットが発行される(ステップS103)。 In the processor 320-1, which is executing the processing of the storage control unit 331, the processing of the initialization processing unit 334 is executed. The initialization processing unit 334 executes ID information write processing to identify the transfer module 230-1, and issues a CfgWr packet to the transfer module 230-1 (step S103).
 障害処理モジュール380-1は、ステップS103のID情報書込みのためのCfgWrパケットをチャネル400-1に転送する際、CfgWrパケットの書込み情報をコピーする処理を行い、ID情報を記憶する(ステップS104)。 When the failure processing module 380-1 transfers the CfgWr packet for writing ID information in step S103 to the channel 400-1, the failure processing module 380-1 performs processing for copying the write information of the CfgWr packet and stores the ID information (step S104). .
 転送モジュール230-1は、ステップS103のID情報書込みのためのCfgWrパケットを受信し、エンドポイント部235-2のコンフィグレジスタに書込み情報を書き込み、書込み完了通知であるCplパケットをストレージモジュール300のプロセッサ320-1に対して発行する(ステップS105)。 The transfer module 230-1 receives the CfgWr packet for writing the ID information in step S103, writes the write information to the configuration register of the endpoint unit 235-2, and sends the Cpl packet as a write completion notification to the processor of the storage module 300. It is issued to 320-1 (step S105).
 初期化処理部334を実行しているプロセッサ320-1は、ステップS105のCplパケットを受信して書込み完了を確認すると、次に、転送モジュール230-1の制御情報を設定するために、初期化情報の書込み処理を実行し、転送モジュール230-1に対してCfgWrパケットが発行される(ステップS106)。 When the processor 320-1 executing the initialization processing unit 334 receives the Cpl packet in step S105 and confirms the completion of writing, the processor 320-1 then initializes to set control information of the transfer module 230-1. Information writing processing is executed, and a CfgWr packet is issued to the transfer module 230-1 (step S106).
 障害処理モジュール380-1がステップS106のCfgWrパケットを受信した際の処理(ステップS107)はステップS104と、転送モジュール230-1がステップS106のCfgWrパケットを受信した際の処理(ステップS108)はステップS105と同様の処理となるため、説明を省略する。 The processing when the failure processing module 380-1 receives the CfgWr packet at step S106 (step S107) is step S104, and the processing when the transfer module 230-1 receives the CfgWr packet at step S106 (step S108) is step. Since the process is the same as S105, the description is omitted.
 初期化処理部334を実行しているプロセッサ320-1は、ステップS108のCplパケットを受信して書込み完了を確認すると、初期化処理を完了させる。 When the processor 320-1 executing the initialization processing unit 334 receives the Cpl packet in step S108 and confirms the completion of writing, the processor 320-1 completes the initialization processing.
 以上が、初期化処理例の説明であるが、図9の初期化処理例における、障害処理モジュール380-1内部の処理について、図10、及び、図11で詳細に説明する。 The above is the description of the initialization process example, but the internal processing of the failure processing module 380-1 in the initialization process example of FIG. 9 will be described in detail with reference to FIG. 10 and FIG.
 図10は、本発明の実施例の障害処理モジュール380-1における初期化処理の一例を説明するシーケンス図である。図10は、障害処理モジュール380-1が転送モジュール230-1からのWAKE信号を受信した場合の障害処理モジュール380-1内の処理の流れを示す。 FIG. 10 is a sequence diagram illustrating an example of initialization processing in the failure processing module 380-1 according to the embodiment of this invention. FIG. 10 shows a processing flow in the failure processing module 380-1 when the failure processing module 380-1 receives the WAKE signal from the transfer module 230-1.
 ポート制御部383は、接続ポート385-1を介して、チャネル400-1からWAKE信号を受信する(ステップS150)。 The port control unit 383 receives a WAKE signal from the channel 400-1 via the connection port 385-1 (step S150).
 ポート制御部383では、WAKE信号検出部3830により、ステップS150のWAKE信号を検出し、WAKE検出信号を障害処理制御部384に送信する(ステップS151)。 In the port control unit 383, the WAKE signal detection unit 3830 detects the WAKE signal in step S150 and transmits the WAKE detection signal to the failure processing control unit 384 (step S151).
 障害処理制御部384は、ステップS151のWAKE検出信号を検出し、情報管理部382の情報記憶部3820-1のI/F閉塞状態3825を参照して、閉塞の非発生を確認する(ステップS152)。 The failure processing control unit 384 detects the WAKE detection signal at step S151, refers to the I / F blockage state 3825 of the information storage unit 3820-1 of the information management unit 382, and confirms that no blockage has occurred (step S152). ).
 ステップS152で閉塞が発生していない状態が確認されたため、WAKE信号生成部3840により、WAKE信号が生成され、接続ポート386-1を介して、ルートコンプレックス340-1に送信される(ステップS153)。なお、I/F閉塞状態3825が閉塞中の状態を示す場合の動作については、図20にて後述する。 Since it is confirmed in step S152 that no blockage has occurred, a WAKE signal is generated by the WAKE signal generation unit 3840, and is transmitted to the root complex 340-1 via the connection port 386-1 (step S153). . The operation when the I / F closed state 3825 indicates a closed state will be described later with reference to FIG.
 図11は、本発明の実施例の障害処理モジュール380-1における初期化処理の一例を説明するシーケンス図である。図11は、障害処理モジュール380-1がプロセッサ320-1からのID情報書込みのためのCfgWrパケットを受信した場合と、転送モジュール230-1から書込み完了通知のためのCplパケットを受信した場合の障害処理モジュール380-1内の処理の流れを示す。 FIG. 11 is a sequence diagram illustrating an example of initialization processing in the failure processing module 380-1 according to the embodiment of this invention. FIG. 11 shows a case where the failure processing module 380-1 receives a CfgWr packet for writing ID information from the processor 320-1 and a case where a Cpl packet for writing completion notification is received from the transfer module 230-1. The flow of processing in the failure processing module 380-1 is shown.
 まず、障害処理モジュール380-1がプロセッサ320-1からのID情報書込みのためのCfgWrパケットを受信した場合の処理について説明する。 First, processing when the failure processing module 380-1 receives a CfgWr packet for writing ID information from the processor 320-1 will be described.
 アクセス調停部381は、接続ポート386-1を介して、ルートコンプレックス340-1からID情報書込みのためのCfgWrパケットを受信する(ステップS160)
 アクセス調停部381では、転送判定部3810-1により、情報管理部382の情報記憶部3820-1のI/F障害情報3824、及びI/F閉塞状態3825を参照して、障害及び閉塞の非発生を確認する(ステップS161)。
The access arbitration unit 381 receives the CfgWr packet for writing ID information from the root complex 340-1 via the connection port 386-1 (step S160).
In the access arbitration unit 381, the transfer determination unit 3810-1 refers to the I / F failure information 3824 and the I / F blockage state 3825 in the information storage unit 3820-1 of the information management unit 382 to determine whether the failure and blockage are not blocked. The occurrence is confirmed (step S161).
 ステップS161で障害及び閉塞が発生していないことが確認されたため、転送判定部3810-1の転送判定処理(図7の表3815を参照)に基づき、ステップS160のCfgWrパケットを対向接続ポート、及び、障害処理制御部384に転送すると判定する(ステップS162)。 Since it is confirmed in step S161 that no failure or blockage has occurred, the CfgWr packet in step S160 is transferred to the opposite connection port, based on the transfer determination process (see table 3815 in FIG. 7) of the transfer determination unit 3810-1. Then, it is determined to transfer to the failure processing control unit 384 (step S162).
 アクセス制御部381は、ステップS162の転送可否判定に基づき、ID情報書込みのためのCfgWrパケットを、接続ポート385-1を介してチャネル400-1に転送し(ステップS163)、さらに、障害処理制御部384に転送する(ステップS164)。 The access control unit 381 transfers the CfgWr packet for writing the ID information to the channel 400-1 via the connection port 385-1 based on the transfer permission determination in step S162 (step S163), and further performs failure processing control. The data is transferred to the unit 384 (step S164).
 障害処理制御部384では、ステップS164で転送されたID情報書込みのためのCfgWrパケットを、CfgWr処理部3841にて処理する。具体的には、書込みアドレスやデータ長等、書込み要求を解析して、情報管理部382の情報記憶部3820-1の転送モジュールID情報3822に書き込む(ステップS165)。 In the failure processing control unit 384, the CfgWr processing unit 3841 processes the CfgWr packet for writing ID information transferred in step S164. Specifically, the write request, such as the write address and data length, is analyzed and written to the transfer module ID information 3822 of the information storage unit 3820-1 of the information management unit 382 (step S165).
 次に、転送モジュール230-1から書込み完了通知のためのCplパケットを受信した場合の障害処理モジュール380-1内の処理について説明する。 Next, processing in the failure processing module 380-1 when a Cpl packet for writing completion notification is received from the transfer module 230-1 will be described.
 アクセス調停部381は、接続ポート385-1を介して、チャネル400-1からID情報書込みに対する書込み完了通知のためのCplパケットを受信する(ステップS166)
 アクセス調停部381では、転送判定部3810-1により、情報管理部382の情報記憶部3820-1のI/F障害情報3824、及びI/F閉塞状態3825を参照して、障害及び閉塞の非発生を確認する(ステップS167)。
The access arbitration unit 381 receives a Cpl packet for writing completion notification for writing ID information from the channel 400-1 via the connection port 385-1 (step S166).
In the access arbitration unit 381, the transfer determination unit 3810-1 refers to the I / F failure information 3824 and the I / F blockage state 3825 in the information storage unit 3820-1 of the information management unit 382 to determine whether the failure and blockage are not blocked. The occurrence is confirmed (step S167).
 ステップS167で障害及び閉塞が発生していないことが確認されたため、転送判定部3810-1の転送判定処理(図7の表3815を参照)に基づき、ステップS167のCplパケットを対向接続ポートに転送すると判定し、障害処理制御部384には転送しないと判定する(ステップS168)。 Since it is confirmed in step S167 that no failure or blockage has occurred, the Cpl packet in step S167 is transferred to the opposite connection port based on the transfer determination process of the transfer determination unit 3810-1 (see Table 3815 in FIG. 7). Then, it is determined that it is not transferred to the failure processing control unit 384 (step S168).
 アクセス制御部381は、ステップS168の転送可否判定に基づき、書込み完了通知のためのCplパケットを、接続ポート386-1を介してルートコンプレックス340-1に転送する(ステップS169)。 The access control unit 381 transfers the Cpl packet for writing completion notification to the root complex 340-1 via the connection port 386-1 based on the transfer permission determination in step S168 (step S169).
 なお、図9における初期化情報書込みのためのCfgWrパケットとその書込み完了通知のためのCplパケットに関する、障害処理モジュール内の処理については、図11のID情報書込みのためのCfgWrパケットとその書込み完了通知のためのCplパケットの処理と同様であるため、説明を省略する。 For the processing in the failure processing module regarding the CfgWr packet for writing initialization information and the Cpl packet for writing completion notification in FIG. 9, the CfgWr packet for writing ID information in FIG. Since it is the same as the process of the Cpl packet for notification, description is abbreviate | omitted.
 以上が図11の説明である。 The above is the explanation of FIG.
 図12及び図13は、本発明の実施例の計算機システムにおけるデータ転送処理の一例を説明するシーケンス図である。 12 and 13 are sequence diagrams illustrating an example of data transfer processing in the computer system according to the embodiment of this invention.
 図12は、サーバモジュール200-1がストレージモジュール300からデータを読み出す場合に実行される読出し処理の流れを示す。図13は、サーバモジュール200-1がストレージモジュール300に対してデータを書き込む場合に実行される書込み処理の流れを示す。以下の説明では、ストレージモジュール300のディスクコントローラ310-1に対するI/O要求が発行された場合を例に説明する。 FIG. 12 shows the flow of read processing executed when the server module 200-1 reads data from the storage module 300. FIG. 13 shows a flow of write processing executed when the server module 200-1 writes data to the storage module 300. In the following description, a case where an I / O request is issued to the disk controller 310-1 of the storage module 300 will be described as an example.
 まず、データ読出し処理について説明する。 First, the data reading process will be described.
 OS221の処理を実行しているプロセッサ210-1は、アプリケーション223からストレージモジュール300に格納されるデータの読出要求を受け付けた場合、ストレージアクセス部222を実行する(図示省略)。 When the processor 210-1 executing the processing of the OS 221 receives a read request for data stored in the storage module 300 from the application 223, the processor 210-1 executes the storage access unit 222 (not shown).
 ストレージアクセス部222は、読出対象のデータを一時的に格納するためのバッファをメモリ220-1に設定する。また、ストレージアクセス部222は、ストレージモジュール300から読み出されたデータをバッファに格納するためのアドレス、及びアドレス長等を含む転送情報をメモリ220-1に書き込む(図示省略)。 The storage access unit 222 sets a buffer in the memory 220-1 for temporarily storing data to be read. In addition, the storage access unit 222 writes transfer information including an address for storing data read from the storage module 300 in a buffer, an address length, and the like in the memory 220-1 (not shown).
 ストレージアクセス部222の処理を実行しているプロセッサ210-1は、ストレージ制御部331の処理を実行するストレージ制御部331を実行するプロセッサ320-1に対して読出要求を送信する(ステップS200)。当該読出要求は、サーバモジュール200-1において使用されるコマンドである。したがって、ストレージモジュール300において使用されるコマンドとは異なる形式のコマンドである。すなわち、サーバモジュール200-1及びストレージモジュール300が扱うプロトコルが異なる。 The processor 210-1 executing the process of the storage access unit 222 transmits a read request to the processor 320-1 executing the storage control unit 331 that executes the process of the storage control unit 331 (step S200). The read request is a command used in the server module 200-1. Therefore, the command is different from the command used in the storage module 300. That is, the protocols handled by the server module 200-1 and the storage module 300 are different.
 以下の説明では、サーバモジュール200-1が使用するコマンドをサーバコマンドと記載し、ストレージモジュール300が使用するコマンドをストレージコマンドと記載する。 In the following description, a command used by the server module 200-1 is described as a server command, and a command used by the storage module 300 is described as a storage command.
 転送モジュール230-1は、プロセッサ210-1から読出要求(サーバコマンド)を受信すると、当該読出要求をストレージコマンドに変換し、変換された読出要求(ストレージコマンド)をストレージ制御部331の処理を実行しているプロセッサ320-1に送信する(ステップS201)。具体的には、以下のような処理が転送モジュール230-1で実行される。 Upon receiving a read request (server command) from the processor 210-1, the transfer module 230-1 converts the read request into a storage command, and executes the processing of the storage control unit 331 on the converted read request (storage command) It transmits to the processor 320-1 which is doing (step S201). Specifically, the following processing is executed by the transfer module 230-1.
 データ転送部231は、受信した読出要求(サーバコマンド)を解析する。データ転送
部231は、受信した読出要求(サーバコマンド)がストレージモジュール300に送信
されるサーバコマンドであるため、プロトコルエンジン234にコマンドの変換を指示す
る。
The data transfer unit 231 analyzes the received read request (server command). Since the received read request (server command) is a server command transmitted to the storage module 300, the data transfer unit 231 instructs the protocol engine 234 to convert the command.
 プロトコルエンジン234は、受信した読出要求(サーバコマンド)をサーバコマンド
からストレージコマンドに変換し、変換された読出要求(ストレージコマンド)をデータ
転送部231に出力する。
The protocol engine 234 converts the received read request (server command) from a server command to a storage command, and outputs the converted read request (storage command) to the data transfer unit 231.
 データ転送部231は、入力された読出要求(ストレージコマンド)をストレージモジ
ュール300のプロセッサ320-1に対して送信する。
The data transfer unit 231 transmits the input read request (storage command) to the processor 320-1 of the storage module 300.
 以上がステップS201の処理の説明である。 The above is the description of the processing in step S201.
 ストレージ制御部331の処理を実行しているプロセッサ320-1は、読出要求(ストレージコマンド)を受信すると、読出対象のデータを記憶装置370から読み出し、読み出されたデータをメモリ330-1にコピーする(図示省略)。具体的には、以下のような処理がストレージ制御部331で実行される。 Upon receiving the read request (storage command), the processor 320-1 executing the processing of the storage control unit 331 reads the data to be read from the storage device 370 and copies the read data to the memory 330-1. (Not shown). Specifically, the following processing is executed by the storage control unit 331.
 I/O処理部332の処理を実行しているプロセッサ320-1は、読出要求(ストレージコマンド)に基づいて、記憶装置370に対する読出要求を発行し、記憶装置制御部333を実行する。記憶装置制御部333の処理を実行しているプロセッサ320-1は、発行された読出要求に基づいて、記憶装置370から所定のデータを読み出し、当該データをI/O処理部332に出力する。I/O処理部332の処理を実行しているプロセッサ320-1は、入力されたデータをメモリ330-1にコピーする(図示省略)。 The processor 320-1 executing the processing of the I / O processing unit 332 issues a read request to the storage device 370 based on the read request (storage command), and executes the storage device control unit 333. Based on the issued read request, the processor 320-1 executing the processing of the storage device control unit 333 reads predetermined data from the storage device 370 and outputs the data to the I / O processing unit 332. The processor 320-1 executing the processing of the I / O processing unit 332 copies the input data to the memory 330-1 (not shown).
 本実施例では、読出要求(ストレージコマンド)は転送モジュール230-1によって予めストレージコマンドに変換されているため、I/O処理部332は、コマンドの変換処理を実行する必要がない。 In this embodiment, since the read request (storage command) is converted into a storage command in advance by the transfer module 230-1, the I / O processing unit 332 does not need to execute a command conversion process.
 次に、ストレージ制御部331を実行しているプロセッサ320-1は、コピーされたデータを読み出すためのアドレス、及びアドレス帳等をメモリ330-1に書き込む(図示省略)。また、ストレージ制御部331は、転送モジュール230-1に、DMA転送要求を送信する(ステップS202)。 Next, the processor 320-1 executing the storage control unit 331 writes an address for reading the copied data, an address book, and the like in the memory 330-1 (not shown). Further, the storage control unit 331 transmits a DMA transfer request to the transfer module 230-1 (step S202).
 転送モジュール230-1は、DMA転送要求を受信すると、サーバモジュール200-1のメモリ220-1から、データをバッファに格納するためのアドレス、及びアドレス長等の転送情報をプロセッサ210-1経由で読み出す(ステップS203、ステップS204)。また、ストレージモジュール300のメモリ330-1から、コピーされたデータを読み出すためのアドレス、及びアドレス長といった転送情報をプロセッサ320-1経由で読み出す(ステップS205、ステップS206)。 When the transfer module 230-1 receives the DMA transfer request, the transfer information such as the address for storing data in the buffer and the address length is transferred from the memory 220-1 of the server module 200-1 via the processor 210-1. Read (step S203, step S204). Also, transfer information such as an address and address length for reading the copied data is read from the memory 330-1 of the storage module 300 via the processor 320-1 (steps S205 and S206).
 転送モジュール230-1は、ステップS205、S206で取得した転送情報を参照し、当該メモリ330-1にコピーされたデータをプロセッサ320-1経由で読み出す(ステップS207、ステップS208)。 The transfer module 230-1 refers to the transfer information acquired in steps S205 and S206, and reads the data copied to the memory 330-1 via the processor 320-1 (steps S207 and S208).
 具体的には、データ転送部231のDMAコントローラ232が、ステップS205、および、ステップS206で取得したアドレスに基づいて、メモリ330-1にコピーされたデータをプロセッサ320-1経由で読み出す。なお、DMAコントローラ232は、所定のデータ単位毎にデータを読み出すものとする。例えば、520バイト単位のデータが読み出される。 Specifically, the DMA controller 232 of the data transfer unit 231 reads the data copied to the memory 330-1 via the processor 320-1 based on the addresses acquired in Step S205 and Step S206. Note that the DMA controller 232 reads data for each predetermined data unit. For example, data of 520 bytes is read.
 次に、転送モジュール230-1は、ステップS203、ステップS204で取得した転送情報を参照し、読み出されたデータをサーバモジュール200-1のメモリ220-1にプロセッサ210-1経由で書き込む(ステップS209)。 Next, the transfer module 230-1 refers to the transfer information acquired in steps S203 and S204, and writes the read data to the memory 220-1 of the server module 200-1 via the processor 210-1 (step S209).
 具体的には、以下のような処理が実行される。 Specifically, the following processing is executed.
 データ転送部231のデータ検査部233は、読み出されたデータをサーバモジュール200-1側のデータの形式に変換する。例えば、データ検査部233は、読み出されたデータに付与されるデータ保証コードを削除する。これによって、サーバモジュール200が扱う512バイトのデータに変換される。 The data inspection unit 233 of the data transfer unit 231 converts the read data into a data format on the server module 200-1 side. For example, the data inspection unit 233 deletes the data guarantee code assigned to the read data. As a result, the data is converted into 512-byte data handled by the server module 200.
 データ転送部231は、ステップS203、および、ステップS204で取得したアドレスに基づいて、変換されたデータを書き込むメモリ220-1のバッファ領域を特定する。さらに、データ転送部231のDMAコントローラ232は、特定されたメモリ220-1のバッファ領域に、変換されたデータを書き込む。 The data transfer unit 231 specifies the buffer area of the memory 220-1 to which the converted data is written, based on the addresses acquired in step S203 and step S204. Further, the DMA controller 232 of the data transfer unit 231 writes the converted data in the specified buffer area of the memory 220-1.
 例えば、データ転送部231は、アライメントを調整して、メモリ220-1のバッファ領域を特定する。これは、サーバモジュール200-1が扱うデータとストレージモジュール300が扱うデータのアドレス長が異なるため、メモリ220-1に格納するバッファ領域のアドレスを調整する必要があるためである。 For example, the data transfer unit 231 specifies the buffer area of the memory 220-1 by adjusting the alignment. This is because the address length of the data handled by the server module 200-1 and the data handled by the storage module 300 are different, and the address of the buffer area stored in the memory 220-1 needs to be adjusted.
 データ転送部231は、読出対象のデータが全て読み出されるまで前述した処理を繰り
返し実行する。
The data transfer unit 231 repeatedly executes the above-described processing until all the data to be read is read.
 なお、データ転送部231は、データ保証コードに基づいて、読み出されたデータの整
合性を確認してもよい。読み出されたデータに誤りが検出された場合、データ転送部23
1は、再度ストレージモジュール300のメモリ330-1からデータを読み出してもよいし、ストレージ制御部331にデータの誤りが検出されたことを通知してもよい。
The data transfer unit 231 may confirm the consistency of the read data based on the data guarantee code. When an error is detected in the read data, the data transfer unit 23
1 may read data from the memory 330-1 of the storage module 300 again, or may notify the storage controller 331 that a data error has been detected.
 以上が、ステップS209の処理の説明である。 The above is the description of the processing in step S209.
 本実施例では、ステップS208、ステップS209において、プロセッサ320-1経由でストレージモジュール300のメモリ330からデータを読み出し、プロセッサ210-1経由でサーバモジュール200のメモリ220へデータを書込む例を中心説明した。しかし、転送モジュール230が、プロセッサ320-1、プロセッサ210-1を経由せず直接メモリ330、220へアクセスしてもよい。この場合、プロセッサ320-1、プロセッサ210-1等の中間デバイスでの処理を除くことにより、高速処理をはかることができる。 In this embodiment, in step S208 and step S209, data is read from the memory 330 of the storage module 300 via the processor 320-1 and written to the memory 220 of the server module 200 via the processor 210-1. did. However, the transfer module 230 may directly access the memories 330 and 220 without going through the processors 320-1 and 210-1. In this case, high-speed processing can be achieved by excluding processing in intermediate devices such as the processor 320-1 and the processor 210-1.
 次に、転送モジュール230-1は、読出対象のデータを全てメモリ220-1に書き込んだ後、ストレージ制御部331を実行しているプロセッサ320-1にDMA転送の完了通知を送信する(ステップS210)。 Next, the transfer module 230-1 writes all the data to be read into the memory 220-1, and then transmits a DMA transfer completion notification to the processor 320-1 executing the storage control unit 331 (step S210). ).
 ストレージ制御部331の処理を実行しているプロセッサ320-1は、ステップS210のDMA転送の完了通知を受信した後、転送モジュール230-1に対して完了通知(ストレージコマンド)を送信する(ステップS211)。 After receiving the DMA transfer completion notification in step S210, the processor 320-1 executing the processing of the storage control unit 331 transmits a completion notification (storage command) to the transfer module 230-1 (step S211). ).
 転送モジュール230-1は、ステップS211の完了通知(ストレージコマンド)を受信した後、当該完了通知(ストレージコマンド)をストレージコマンドからサーバコマンドに変換し、変換された完了通知(サーバコマンド)を、OS221を実行しているプロセッサ210-1に送信する(ステップS212)。なお、コマンドの変換処理は、ステップS201と同様の処理であるため説明を省略する。 After receiving the completion notification (storage command) in step S211, the transfer module 230-1 converts the completion notification (storage command) from the storage command to the server command, and sends the converted completion notification (server command) to the OS 221. Is transmitted to the processor 210-1 executing (step S212). Note that the command conversion process is the same as that in step S201, and a description thereof will be omitted.
 次に、データ書込み処理について説明する。 Next, the data writing process will be described.
 OS221の処理を実行しているプロセッサ210-1は、アプリケーション223からストレージモジュール300へのデータの書込要求を受け付けた場合、ストレージアクセス部222を実行する(図示省略)。 When the processor 210-1 executing the processing of the OS 221 receives a data write request from the application 223 to the storage module 300, the processor 210-1 executes the storage access unit 222 (not shown).
 ストレージアクセス部222は、書込対象のデータをメモリ220-1にコピーする。また、ストレージアクセス部222は、メモリ220-1にコピーされたデータを読み出すためのアドレス、及びアドレス長等が含まれる転送情報をメモリ220-1に書き込む(図示省略)。 The storage access unit 222 copies the write target data to the memory 220-1. Further, the storage access unit 222 writes transfer information including an address for reading data copied to the memory 220-1 and an address length to the memory 220-1 (not shown).
 ストレージアクセス部222の処理を実行しているプロセッサ210-1は、ストレージ制御部331の処理を実行しているプロセッサ320-1に対して書込要求(サーバコマンド)を送信する(ステップS250)。 The processor 210-1 executing the processing of the storage access unit 222 transmits a write request (server command) to the processor 320-1 executing the processing of the storage control unit 331 (step S250).
 転送モジュール230-1は、ステップS250の書込要求(サーバコマンド)を受信すると、当該書込要求(サーバコマンド)をサーバコマンドからストレージコマンドに変換し、変換された書込要求(ストレージコマンド)をストレージ制御部331の処理を実行しているプロセッサ320-1に送信する(ステップS251)。具体的には、以下のような処理が実行される。 Upon receiving the write request (server command) in step S250, the transfer module 230-1 converts the write request (server command) from a server command to a storage command, and the converted write request (storage command). The data is transmitted to the processor 320-1 that is executing the processing of the storage control unit 331 (step S251). Specifically, the following processing is executed.
 データ転送部231は、受信した書込要求(サーバコマンド)を解析する。データ転送部231は、受信した書込要求(サーバコマンド)がストレージモジュール300に送信されるサーバコマンドであるため、プロトコルエンジン234にコマンドの変換を指示する。 The data transfer unit 231 analyzes the received write request (server command). Since the received write request (server command) is a server command transmitted to the storage module 300, the data transfer unit 231 instructs the protocol engine 234 to convert the command.
 プロトコルエンジン234は、受信した書込要求(サーバコマンド)をサーバコマンドからストレージコマンドに変換し、変換された書込要求(ストレージコマンド)をデータ転送部231に出力する。 The protocol engine 234 converts the received write request (server command) from a server command to a storage command, and outputs the converted write request (storage command) to the data transfer unit 231.
 データ転送部231は、入力された書込要求(ストレージコマンド)をストレージモジュール300のストレージ制御部331の処理を実行しているプロセッサ320-1に送信する。 The data transfer unit 231 transmits the input write request (storage command) to the processor 320-1 executing the processing of the storage control unit 331 of the storage module 300.
 以上がステップS251の処理の説明である。 The above is the description of the processing in step S251.
 ストレージ制御部331の処理を実行しているプロセッサ320-1は、書込要求(ストレージコマンド)を受信すると、書込対象のデータを一時的に格納するためのバッファを設定する。また、ストレージ制御部331の処理を実行しているプロセッサ320-1は、書込対象のデータをバッファに格納するためのアドレス、及びアドレス長等の転送情報を、メモリ330-1に書き込む(図示省略)。 When the processor 320-1 executing the processing of the storage control unit 331 receives a write request (storage command), it sets a buffer for temporarily storing data to be written. Further, the processor 320-1 executing the processing of the storage control unit 331 writes transfer information such as an address and address length for storing data to be written in the buffer into the memory 330-1 (illustrated). (Omitted).
 次に、ストレージ制御部331の処理を実行しているプロセッサ320-1は、転送モジュール230-1に、DMA転送要求を送信する(ステップS252)。 Next, the processor 320-1 executing the processing of the storage control unit 331 transmits a DMA transfer request to the transfer module 230-1 (step S252).
 転送モジュール230-1は、ステップS252のDMA転送要求を受信すると、サーバモジュール200-1のメモリ220-1から、コピーされたデータを読み出すためのアドレス、及びアドレス長等が含まれる転送情報を、プロセッサ210-1経由で読み出し(ステップS253、ステップS254)、ストレージモジュール300のメモリ330-1から、書込対象のデータをバッファに格納するためのアドレス、及びアドレス長等の転送情報を、プロセッサ320-1経由で読み出す(ステップS255、ステップS256)。 When the transfer module 230-1 receives the DMA transfer request in step S252, the transfer module 230-1 receives the transfer information including the address for reading the copied data, the address length, and the like from the memory 220-1 of the server module 200-1. The processor 320-1 reads the transfer information (step S253, step S254), and the transfer information such as the address and address length for storing the write target data in the buffer from the memory 330-1 of the storage module 300. -1 is read (step S255, step S256).
 具体的には、データ転送部231のDMAコントローラ232が、サーバモジュール200-1からコピーされたデータを読み出すためのアドレスを取得し、ストレージモジュール300から書込対象のデータをバッファに格納するためのアドレスを取得する。 Specifically, the DMA controller 232 of the data transfer unit 231 acquires an address for reading the data copied from the server module 200-1, and stores the write target data from the storage module 300 in the buffer. Get the address.
 転送モジュール230は、ステップS253、及び、ステップS254で取得した転送情報を参照し、当該メモリ220-1にコピーされたデータをプロセッサ210-1経由で読み出す(ステップS257、ステップS258)。 The transfer module 230 refers to the transfer information acquired in steps S253 and S254, and reads the data copied to the memory 220-1 via the processor 210-1 (steps S257 and S258).
 具体的には、データ転送部231のDMAコントローラ232が、ステップS253、及び、ステップS254で取得した、コピーされたデータを読み出すためのアドレスに基づいて、当該メモリ220-1にコピーされたデータを、プロセッサ210-1経由で読み出す。なお、DMAコントローラ232は、所定のデータ単位毎にデータを読み出すものとする。例えば、512バイト単位のデータが読み出される。 Specifically, the DMA controller 232 of the data transfer unit 231 obtains the data copied to the memory 220-1 based on the address obtained in steps S253 and S254 for reading the copied data. Read out via the processor 210-1. Note that the DMA controller 232 reads data for each predetermined data unit. For example, 512-byte data is read out.
 次に、転送モジュール230-1は、ステップS255、及び、S256で取得した転送情報を参照し、読み出されたデータをストレージモジュール300のメモリ330-1にプロセッサ320-1経由で書き込む(ステップS259)。具体的には、以下のような処理が実行される。 Next, the transfer module 230-1 refers to the transfer information acquired in steps S255 and S256, and writes the read data to the memory 330-1 of the storage module 300 via the processor 320-1 (step S259). ). Specifically, the following processing is executed.
 データ転送部231のデータ検査部233は、ステップS257、及び、ステップS258で読み出されたデータをストレージモジュール300側のデータの形式に変換する。例えば、データ検査部233は、読み出されたデータにデータ保証コードを付与する。これによって、ストレージモジュール300が扱う520バイトのデータに変換される。 The data inspection unit 233 of the data transfer unit 231 converts the data read in step S257 and step S258 into a data format on the storage module 300 side. For example, the data inspection unit 233 gives a data guarantee code to the read data. As a result, the data is converted into 520-byte data handled by the storage module 300.
 データ転送部231は、ステップS255、及び、ステップS256で取得した、書込対象のデータをバッファに格納するためのアドレスに基づいて、変換されたデータを書き込むメモリ330-1のバッファ領域を特定する。さらに、データ転送部231のDMAコントローラ232は、特定されたメモリ330-1のバッファ領域に、変換されたデータをプロセッサ320-1経由で書き込む。 The data transfer unit 231 specifies the buffer area of the memory 330-1 to which the converted data is written based on the address for storing the data to be written acquired in Step S255 and Step S256 in the buffer. . Further, the DMA controller 232 of the data transfer unit 231 writes the converted data to the specified buffer area of the memory 330-1 via the processor 320-1.
 例えば、データ転送部231は、アライメントを調整して、メモリ330-1のバッファ領域を特定する。 For example, the data transfer unit 231 specifies the buffer area of the memory 330-1 by adjusting the alignment.
 データ転送部231は、書込対象のデータが全て書き込まれるまで前述した処理を繰り
返し実行する。
The data transfer unit 231 repeatedly executes the above-described processing until all the write target data is written.
 以上が、ステップS259の処理の説明である。 The above is the description of the processing in step S259.
 本実施例では、ステップS257、ステップS258、ステップS259において、プロセッサ320-1、プロセッサ210-1経由でメモリ220、330へデータを書込み読み出しを行う例を中心説明した。しかし、転送モジュール230が、プロセッサ320-1、プロセッサ210-1を経由せず直接メモリ330、220へアクセスしてもよい。この場合、プロセッサ320-1、プロセッサ210-1等の中間デバイスでの処理を除くことにより、高速処理をはかることができる。 In this embodiment, the example in which data is written to and read from the memories 220 and 330 via the processor 320-1 and the processor 210-1 in step S257, step S258, and step S259 has been mainly described. However, the transfer module 230 may directly access the memories 330 and 220 without going through the processors 320-1 and 210-1. In this case, high-speed processing can be achieved by excluding processing in intermediate devices such as the processor 320-1 and the processor 210-1.
 次に、転送モジュール230-1は、書込対象のデータを全てメモリ330-1に書き込んだ後、ストレージ制御部331の処理を実行しているプロセッサ320-1にDMA転送の完了通知を送信する(ステップS260)。 Next, the transfer module 230-1 writes all data to be written to the memory 330-1, and then transmits a DMA transfer completion notification to the processor 320-1 executing the processing of the storage control unit 331. (Step S260).
 ストレージ制御部331の処理を実行しているプロセッサ320-1は、ステップS260のDMA転送の完了通知を受信した後、転送モジュール230-1に対して完了通知(ストレージコマンド)を送信する(ステップS261)。 After receiving the DMA transfer completion notification in step S260, the processor 320-1 executing the processing of the storage control unit 331 transmits a completion notification (storage command) to the transfer module 230-1 (step S261). ).
 転送モジュール230-1は、ステップS261の完了通知(ストレージコマンド)を受信した後、当該完了通知(ストレージコマンド)をストレージコマンドからサーバコマンドに変換し、変換された完了通知(サーバコマンド)をストレージアクセス部222の処理を実行しているプロセッサ210-1に送信する(ステップS262)。なお、コマンドの変換処理は、ステップS251と同様の処理であるため説明を省略する。 After receiving the completion notification (storage command) in step S261, the transfer module 230-1 converts the completion notification (storage command) from the storage command to the server command, and converts the converted completion notification (server command) to the storage access. The data is transmitted to the processor 210-1 executing the processing of the unit 222 (step S262). Note that the command conversion process is the same as that in step S251, and a description thereof will be omitted.
 図12、及び図13において、障害処理モジュール380-1を通過する、ステップS201の読出し要求、ステップS251の書込み要求、ステップS202、ステップS252のDMA転送要求、ステップS259の転送データ書込み、ステップS210、ステップS260のDMA転送完了通知、ステップS211、ステップS261の完了通知、は、PCIeのMWrパケットにて通信され、ステップS205、ステップS255の転送情報読出し、ステップS207の転送データ読出しは、PCIeのMRdパケットにて通信され、ステップS206、S256の転送情報取得、ステップS208の転送データ取得はPCIeのCplDパケットにて通信される。これらのPCIeパケットは、障害処理モジュール380-1を通過する際、障害処理モジュール380-1内のアクセス調停部381の転送判定部3810-1の転送判定処理(図7の表3815を参照)に基づき処理される。図12、13のような通常のデータ通信の場合、障害や閉塞が未発生の状態であるため、対向の通信路に転送される処理のみが行われる(図示省略)。 12 and FIG. 13, the read request in step S201, the write request in step S251, the DMA transfer request in step S202, the step S252, the transfer data write in step S259, the step S210, which passes through the failure processing module 380-1. The DMA transfer completion notification in step S260, the completion notifications in step S211 and step S261 are communicated by PCIe MWr packets, the transfer information read in steps S205 and S255, and the transfer data read in step S207 are the PCIe MRd packets. The transfer information acquisition in steps S206 and S256 and the transfer data acquisition in step S208 are communicated by a PCIe CplD packet. When these PCIe packets pass through the failure processing module 380-1, they are transferred to the transfer determination processing of the transfer determination unit 3810-1 of the access arbitration unit 381 in the failure processing module 380-1 (see Table 3815 in FIG. 7). Processed based on. In the case of normal data communication as shown in FIGS. 12 and 13, since no failure or blockage has occurred, only the process of transferring to the opposite communication path is performed (not shown).
 図14から図18では、本発明の実施例における障害検出および障害閉塞処理の一例を説明する。 14 to 18, an example of failure detection and failure blockage processing in the embodiment of the present invention will be described.
 図14は、本発明の実施例の計算機システムにおける障害検出および障害閉塞処理の一例を説明するシーケンス図である。図14は、チャネル400-1で障害が発生した場合に、障害処理モジュール380-1が障害を検出し、障害が発生しているI/Oバスに接続されているポートの閉塞が行われる場合に実行される処理の流れを示す。 FIG. 14 is a sequence diagram illustrating an example of failure detection and failure blockage processing in the computer system according to the embodiment of this invention. FIG. 14 shows a case where the failure processing module 380-1 detects a failure and a port connected to the failed I / O bus is blocked when a failure occurs in the channel 400-1. Shows the flow of processing executed.
 チャネル400-1では、サーバモジュール200-1とストレージモジュール300を接続しているケーブルの断線が発生し、それを示す信号を障害処理モジュールが受信する(ステップS300)。このケーブル断線は、PCIeでは、Suprise Down Errorとなり、意図しないリンクダウン障害としてFATAL障害となる。 In the channel 400-1, the cable connecting the server module 200-1 and the storage module 300 is disconnected, and the failure processing module receives a signal indicating the disconnection (step S300). This cable disconnection becomes a supple down error in PCIe and a FATAL failure as an unintended link down failure.
 障害処理モジュール380-1では、ケーブル断線をI/OバスのFATAL障害として検出して(ステップS301)、障害通知Msgを発行し、ストレージモジュール300のプロセッサ320-1にて受信する(ステップS302)。なお、障害通知Msgには、転送モジュール230-1のID情報が含まれる。転送モジュール230-1のID情報は構成情報3820により特定してもよい。 The failure processing module 380-1 detects a cable break as a FATAL failure of the I / O bus (step S301), issues a failure notification Msg, and receives it by the processor 320-1 of the storage module 300 (step S302). . The failure notification Msg includes the ID information of the transfer module 230-1. The ID information of the transfer module 230-1 may be specified by the configuration information 3820.
 PCIeでは、ERR_FATALタイプのMsgパケットを用いて、FATAL障害を通知することが規定されているが、ステップS302の障害通知Msgは、Vendor Defined MessageタイプのMsgパケットを発行することで実現できる。これにより、ERR_FATALをプロセッサ320-1が受信した場合に引き起こされるNMIの発生を防ぐことが可能となる。 The PCIe stipulates that a FATAL failure is notified using an ERR_FATAL type Msg packet, but the failure notification Msg in step S302 can be realized by issuing a Vender Defined Message type Msg packet. As a result, it is possible to prevent the occurrence of NMI that is caused when the processor 320-1 receives ERR_FATAL.
 ストレージ制御部331を実行しているプロセッサ320-1では、ステップS302の障害通知Msg受信により、障害処理部335が実行される。障害処理部335は、ログ採取読出し処理を実行し、受信した障害通知Msgに含まれるID情報に基づき、転送モジュール230-1に対してログ採取読出しのためのCfgRdパケットを発行する(ステップS303)。 In the processor 320-1, which executes the storage control unit 331, the failure processing unit 335 is executed by receiving the failure notification Msg in step S302. The failure processing unit 335 executes a log collection / reading process and issues a CfgRd packet for log collection / reading to the transfer module 230-1 based on the ID information included in the received failure notification Msg (step S303). .
 ステップS303のログ採取読出しのためのCfgRdパケットを受信した障害処理モジュール380-1は、ケーブル断線により通信できなくなっている転送モジュール230-1に代わって、ログ採取読出しに対して応答し、採取要求のあったログデータをCplDパケットとしてプロセッサ320-1に返送する(ステップS304)。読出し対象のログは、障害処理モジュール380-1が保存している転送モジュール230-1に関する初期化情報や障害情報等が考えられる。 The failure processing module 380-1 that has received the CfgRd packet for log collection read in step S303 responds to the log collection read in place of the transfer module 230-1 that is unable to communicate due to cable disconnection, and receives a collection request. The received log data is returned to the processor 320-1 as a CplD packet (step S304). As the log to be read, initialization information, failure information, etc. relating to the transfer module 230-1 stored in the failure processing module 380-1 can be considered.
 障害処理部335を実行しているプロセッサ320-1は、ステップS304のCplDパケットを受信してログ採取を完了すると、障害が発生している部位を閉塞させる処理を実行し、ステップS303の障害通知Msgに含まれるID情報に基づき、転送モジュール230-1に対して、ポート閉塞指示書込みのためのCfgWrパケットを発行する(ステップS305)。なお、本実施例では、障害通知MsgはFATAL障害を意味し、障害要因に関わらず常にポート閉塞指処理が行われるが、障害通知Msgが複数の障害レベルや要因を意味する場合、採取ログの障害情報を用いて、障害レベルや障害要因を解析し、閉塞可否を判定するような処理にしてもよい。 When the processor 320-1 executing the failure processing unit 335 receives the CplD packet in step S304 and completes the log collection, the processor 320-1 executes processing for closing the site where the failure has occurred, and notifies the failure notification in step S303. Based on the ID information included in Msg, a CfgWr packet for writing a port closing instruction is issued to the transfer module 230-1 (step S305). In this embodiment, the failure notification Msg means a FATAL failure, and the port closing finger processing is always performed regardless of the failure factor. However, if the failure notification Msg means a plurality of failure levels or factors, The failure information may be used to analyze the failure level and the failure factor to determine whether or not the blockage is possible.
 ステップS305のポート閉塞指示書込みのためのCfgWrパケットを受信した障害処理モジュール380-1は、ケーブル断線により通信できなくなっている転送モジュール230-1に代わって、障害チャネ400-1に接続している障害処理モジュール380-1の接続ポート385-1をDisableする処理を行い(ステップS306)、閉塞完了応答のためのCplパケットをプロセッサ320-1に対して返送する(ステップS307)。 The failure processing module 380-1 that has received the CfgWr packet for writing the port block instruction in step S305 is connected to the failure channel 400-1 in place of the transfer module 230-1 that cannot communicate due to cable disconnection. A process for disabling the connection port 385-1 of the failure processing module 380-1 is performed (step S306), and a Cpl packet for a closure completion response is returned to the processor 320-1 (step S307).
 ステップS306で接続ポート385-1をDisableすると、接続ポート385-1に接続されるチャネル400-1を含む転送モジュール230-1との間のインタフェースも閉塞状態となり、サーバモジュール200-1とストレージモジュール300の間のI/Oバスの通信ができない状態になる。すなわち、ストレージモジュール300から障害部位が切り離された状態とみなすことができる。 When the connection port 385-1 is disabled in step S306, the interface between the transfer module 230-1 including the channel 400-1 connected to the connection port 385-1 is also blocked, and the server module 200-1 and the storage module I / O bus communication between 300 is disabled. That is, it can be regarded as a state in which the faulty part is disconnected from the storage module 300.
 障害処理部335を実行しているプロセッサ320-1は、ステップS307のCplパケットを受信してポート閉塞書き込みの完了を確認すると、ポート閉塞処理を完了させる。 When the processor 320-1 executing the failure processing unit 335 receives the Cpl packet in step S307 and confirms the completion of the port block write, the processor 320-1 completes the port block process.
 以上が、障害検出および障害閉塞処理例の説明であるが、図14の処理例における、障害処理モジュール380-1内部の処理について、図15、及び、図16で詳細に説明する。 The above is the description of the failure detection and failure blocking processing example. The processing in the failure processing module 380-1 in the processing example of FIG. 14 will be described in detail with reference to FIGS.
 図15は、本発明の実施例の障害処理モジュール380-1における障害検出処理の一例を説明するシーケンス図である。図15は、障害処理モジュール380-1がチャネル400-1の障害を検出した場合と、障害処理モジュール380-1がプロセッサ320-1からのログ採取読出しのためのCfgRdパケットを受信した場合の障害処理モジュール380-1内の処理の流れを示す。 FIG. 15 is a sequence diagram illustrating an example of failure detection processing in the failure processing module 380-1 according to the embodiment of this invention. FIG. 15 shows a failure when the failure processing module 380-1 detects a failure of the channel 400-1 and when the failure processing module 380-1 receives a CfgRd packet for log collection reading from the processor 320-1. The flow of processing in the processing module 380-1 is shown.
 まず、障害処理モジュール380-1がチャネル400-1の障害を検出した場合の処理について説明する。 First, processing when the failure processing module 380-1 detects a failure in the channel 400-1 will be described.
 ポート制御部383は、接続ポート385-1を介して、チャネル400-1のケーブル断線によるケーブル非接続信号を受信する(ステップS350)。 The port control unit 383 receives the cable non-connection signal due to the cable disconnection of the channel 400-1 via the connection port 385-1 (step S350).
 ポート制御部383では、ケーブル非接続号検出部3831により、ステップS350のケーブル非接続信号を検出し、その情報が障害処理制御部384に伝達される(ステップS351)。 In the port control unit 383, the cable non-connection number detection unit 3831 detects the cable non-connection signal in step S350, and the information is transmitted to the failure processing control unit 384 (step S351).
 障害処理制御部384は、SupriseDown検出部3842により、ステップS351のケーブル非接続信号を検出すると、情報管理部382の情報記憶部3820-1の管理情報の中から、ケーブル非接続信号を受信した接続ポートと接続されている転送モジュールの管理情報を特定し、その管理情報のI/F障害情報3824に、FATAL障害の発生とケーブル断線を示す障害情報を書き込む(ステップS352)。 When the failure down control unit 384 detects the cable disconnection signal in step S351 by the supply down detection unit 3842, the fault processing control unit 384 receives the cable disconnection signal from the management information in the information storage unit 3820-1 of the information management unit 382. The management information of the transfer module connected to the port is specified, and the fault information indicating the occurrence of the FATAL fault and the cable disconnection is written in the I / F fault information 3824 of the management information (step S352).
 その後、障害通知Msg生成部3843により、情報記憶部3820-1の転送モジュールID情報3822に基づき、ケーブル非接続信号を受信した接続ポートと接続されている転送モジュール230-1の識別子(ID情報)が取得される(ステップS353)。さらに、取得されたID情報を付加した障害通知Msgが生成され、アクセス調停部381を経由して接続ポート386-1から、ルートコンプレックス340-1に送信される(ステップS354)。 Thereafter, the failure notification Msg generation unit 3843 uses the identifier (ID information) of the transfer module 230-1 connected to the connection port that has received the cable disconnection signal based on the transfer module ID information 3822 of the information storage unit 3820-1. Is acquired (step S353). Further, a failure notification Msg to which the acquired ID information is added is generated and transmitted from the connection port 386-1 to the route complex 340-1 via the access arbitration unit 381 (step S354).
 次に、障害処理モジュール380-1がプロセッサ320-1からのログ採取読出しのためのCfgRdパケットを受信した場合の障害処理モジュール380-1内の処理について説明する。 Next, processing in the failure processing module 380-1 when the failure processing module 380-1 receives a CfgRd packet for log collection reading from the processor 320-1 will be described.
 アクセス調停部381は、接続ポート386-1を介して、ルートコンプレックス340-1もしくはプロセッサ320-1から、前述のID情報で特定される転送モジュール230-1のログ採取読出しのためのCfgRdパケットを受信する(ステップS355)。ルートコンプレックス340-1、プロセッサ320-1は、障害処理モジュール380-1から受信した障害通知Msgにより、前述のID情報で特定される転送モジュール230-1で障害が発生していると認識しているためである。 The access arbitration unit 381 sends a CfgRd packet for log collection reading of the transfer module 230-1 specified by the ID information from the route complex 340-1 or the processor 320-1 via the connection port 386-1. Receive (step S355). The route complex 340-1 and the processor 320-1 recognize that a failure has occurred in the transfer module 230-1 specified by the ID information described above based on the failure notification Msg received from the failure processing module 380-1. Because it is.
 アクセス調停部381では、転送判定部3810-1により、情報管理部382の情報記憶部3820-1のI/F障害情報3824を参照して、障害が発生していることを確認する(ステップS356)。 In the access arbitration unit 381, the transfer determination unit 3810-1 refers to the I / F failure information 3824 of the information storage unit 3820-1 of the information management unit 382 and confirms that a failure has occurred (step S356). ).
 ステップS356で障害が発生していることが確認されたため、転送判定部3810-1の転送判定処理(図7の表3815を参照)に基づき、ステップS355のCfgRdパケットを対向接続ポートには転送しないと判定され、障害処理制御部384に転送すると判定される(ステップS357)。 Since it is confirmed in step S356 that a failure has occurred, the CfgRd packet in step S355 is not transferred to the opposite connection port based on the transfer determination process (see table 3815 in FIG. 7) of the transfer determination unit 3810-1. And is determined to be transferred to the failure processing control unit 384 (step S357).
 アクセス制御部381は、ステップS357の転送可否判定に基づき、ログ採取読出しのためのCfgRdパケットを、障害処理制御部384に転送する(ステップS358)。 The access control unit 381 transfers the CfgRd packet for log collection reading to the failure processing control unit 384 based on the transfer permission / inhibition determination in step S357 (step S358).
 障害処理制御部384では、ステップS358で転送されたログ採取読出しのためのCfgRdパケットを、CfgRd処理部3844にて処理する。具体的には、読出しアドレスやデータ長等、読出し要求を解析して、情報管理部382の情報記憶部3820-1から読出し対象の情報を読みだす要求を出す(ステップS359)。 In the failure processing control unit 384, the CfgRd processing unit 3844 processes the CfgRd packet for log collection and reading transferred in step S358. Specifically, the read request such as the read address and the data length is analyzed, and a request for reading the information to be read is issued from the information storage unit 3820-1 of the information management unit 382 (step S359).
 CfgRd処理部3844は、ステップS359の読出し要求に対する応答として、情報管理部382からログ情報を取得し(ステップS360)、ログデータとしてCplDパケットを生成して、アクセス調停部381を経由して接続ポート386-1から、ルートコンプレックス340-1に送信する(ステップS361)。 In response to the read request in step S359, the CfgRd processing unit 3844 acquires log information from the information management unit 382 (step S360), generates a CplD packet as log data, and connects to the connection port via the access arbitration unit 381. The transmission is transmitted from 386-1 to the root complex 340-1 (step S361).
 以上が図15の説明である。次に、図16について説明する。 The above is the explanation of FIG. Next, FIG. 16 will be described.
 図16は、本発明の実施例の障害処理モジュール380-1における障害検出処理の一例を説明するシーケンス図であり、図15のシーケンスの続きを示している。図16は、障害処理モジュール380-1がプロセッサ320-1からポート閉塞指示書込みのためのCfgWrパケットを受信した場合の障害処理モジュール380-1内の処理の流れを示す。 FIG. 16 is a sequence diagram illustrating an example of failure detection processing in the failure processing module 380-1 according to the embodiment of this invention, and illustrates a continuation of the sequence in FIG. FIG. 16 shows the flow of processing in the failure processing module 380-1 when the failure processing module 380-1 receives a CfgWr packet for writing a port closing instruction from the processor 320-1.
 アクセス調停部381は、接続ポート386-1を介して、ルートコンプレックス340-1からポート閉塞指示書込みのためのCfgWrパケットを受信する(ステップS370)。 The access arbitration unit 381 receives the CfgWr packet for writing the port closing instruction from the route complex 340-1 via the connection port 386-1 (step S370).
 アクセス調停部381では、転送判定部3810-1により、情報管理部382の情報記憶部3820-1のI/F障害情報3824を参照して、障害が発生していることを確認する(ステップS371)。 In the access arbitration unit 381, the transfer determination unit 3810-1 refers to the I / F failure information 3824 of the information storage unit 3820-1 of the information management unit 382 and confirms that a failure has occurred (step S371). ).
 ステップS371で障害が発生していることが確認されたため、転送判定部3810-1の転送判定処理(図7の表3815を参照)に基づき、ステップS370のCfgWrパケットを対向接続ポート385-1には転送せず、障害処理制御部384に転送すると判定する(ステップS372)。 Since it is confirmed in step S371 that a failure has occurred, the CfgWr packet in step S370 is sent to the opposite connection port 385-1 based on the transfer determination process (see table 3815 in FIG. 7) of the transfer determination unit 3810-1. Is not transferred, but is determined to be transferred to the failure processing control unit 384 (step S372).
 アクセス制御部381は、ステップS372の転送可否判定に基づき、ポート閉塞指示書込みのためのCfgWrパケットを、障害処理制御部384に転送する(ステップS373)。 The access control unit 381 transfers the CfgWr packet for writing the port closing instruction to the failure processing control unit 384 based on the transfer permission determination in step S372 (step S373).
 障害処理制御部384では、ステップS373で転送されたポート閉塞指示書込みのためのCfgWrパケットを、CfgWr処理部3841にて処理する。具体的には、書込みアドレスやデータ長等、書込み要求を解析して、情報管理部382の情報記憶部3820-1のI/F閉塞状態3825に閉塞状態を示すステータスを書き込む(ステップS374)。 In the failure processing control unit 384, the CfgWr processing unit 3841 processes the CfgWr packet for writing the port closing instruction transferred in step S373. Specifically, the write request such as the write address and data length is analyzed, and the status indicating the blocked state is written in the I / F blocked state 3825 of the information storage unit 3820-1 of the information management unit 382 (step S374).
 CfgWr処理部3841は、ステップS374の書込みの完了を示す応答として、Cplパケットを生成して、アクセス調停部381を経由して接続ポート386-1から、ルートコンプレックス340-1に送信する(ステップS375)。 The CfgWr processing unit 3841 generates a Cpl packet as a response indicating the completion of writing in step S374, and transmits the Cpl packet from the connection port 386-1 to the route complex 340-1 via the access arbitration unit 381 (step S375). ).
 ステップS374で、情報記憶部3820-1のI/F閉塞状態3825に閉塞ステータスが書き込まれると、ポート制御部383のポートDisable制御部3832にて閉塞状態と判定され(ステップS376)、対象の接続ポート385-1をDisableして閉塞させる(ステップS377)。ポート閉塞は、PCIeホットプラグコントローラによるPCIeポートの電源オフ処理等で実現できる。 When the block status is written in the I / F block state 3825 of the information storage unit 3820-1 in step S374, the port disable control unit 3832 of the port control unit 383 determines that the block is blocked (step S376), and the target connection The port 385-1 is disabled and blocked (step S377). Port blocking can be realized by a PCIe port power-off process by the PCIe hot plug controller.
 ステップS377にて閉塞された接続ポート385-1では、I/Oバスのリンク確立処理が行われなくなるため、接続ポート385-1に接続されるチャネル400-1を含む転送モジュール230-1との間のインタフェースも閉塞状態となる(ステップS378)。なお、ポート閉塞処理は接続ポート単位で行うため、接続ポート385-1が閉塞中でも、閉塞対象ではない接続ポート385-2は、正常に通信動作することが可能である。 In the connection port 385-1 blocked in step S377, the I / O bus link establishment process is not performed, so the connection port 385-1 including the channel 400-1 connected to the connection port 385-1 is connected to the connection port 385-1. The interface between them is also blocked (step S378). Since the port blocking process is performed for each connection port, even if the connection port 385-1 is blocked, the connection port 385-2 that is not the blocking target can perform a normal communication operation.
 以上が図16の説明である。 The above is the explanation of FIG.
 図17と図18は、図14から図16までの説明と、異なる要因の障害が発生した場合の、障害検出および障害閉塞処理の一例を説明するシーケンス図である。 FIGS. 17 and 18 are sequence diagrams illustrating an example of failure detection and failure blocking processing when a failure of a different factor occurs from the description of FIGS. 14 to 16.
 図17は、転送モジュール230-1で障害が発生した場合に、障害処理モジュール380-1が障害を検出し、障害が発生しているI/Oバスに接続されているポートの閉塞が行われる場合に実行される処理の流れを示す。 FIG. 17 shows that when a failure occurs in the transfer module 230-1, the failure processing module 380-1 detects the failure, and the port connected to the I / O bus where the failure has occurred is blocked. The flow of processing executed in this case is shown.
 転送モジュール230-1では、ハードウェア故障が発生し、FATAL障害を報告するためのPCIeのERR_FATALタイプのMsgパケットが発行され、チャネル400-1を介して障害処理モジュール380-1が受信する(ステップS400)。 In the transfer module 230-1, a hardware failure occurs, a PCIe ERR_FATAL type Msg packet for reporting a FATAL failure is issued, and the failure processing module 380-1 receives it via the channel 400-1 (step S1). S400).
 障害処理モジュール380-1では、ステップS400のERR_FATAL受信を、I/OバスのFATAL障害として検出して(ステップS401)、障害通知Msgを発行し、ストレージモジュール300のプロセッサ320-1にて受信する(ステップS402)。なお、障害通知Msgには、転送モジュール230-1のID情報が含まれる。 The failure processing module 380-1 detects the ERR_FATAL reception in step S400 as an I / O bus FATAL failure (step S401), issues a failure notification Msg, and receives it in the processor 320-1 of the storage module 300. (Step S402). The failure notification Msg includes the ID information of the transfer module 230-1.
 ステップS402の障害通知Msgは、図14のステップS302の障害通知Msgと同様のパケットであるため、説明を省略する。 The failure notification Msg in step S402 is the same packet as the failure notification Msg in step S302 in FIG.
 ステップS402の障害通知Msgを受信した場合のプロセッサ320-1の処理、及び、ログ採取読出し(ステップS403)、障害処理モジュール380-1によるログデータの返送(ステップS404)、プロセッサ320-1によるポート閉塞指示書込み(ステップS405)、障害処理モジュール380-1による障害側ポートDisable処理(ステップS406)および閉塞完了応答(ステップS407)の処理は、図14のステップS302からS307までと同様の処理となるため、説明を省略する。 Processing of processor 320-1 when receiving failure notification Msg in step S402, log collection and reading (step S403), return of log data by failure processing module 380-1 (step S404), port by processor 320-1 The process of blocking instruction writing (step S405), failure side port disable processing (step S406) and blocking completion response (step S407) by the failure processing module 380-1 is the same processing as steps S302 to S307 in FIG. Therefore, the description is omitted.
 図17では、転送モジュール230-1からのERR_FATALを、障害処理モジュール380-1が障害通知Msgに変換してプロセッサ320-1に対して通知するため、ERR_FATALをプロセッサ320-1が受信した場合に引き起こされるNMIの発生を防ぐことが可能となる。 In FIG. 17, the ERR_FATAL from the transfer module 230-1 is converted into a failure notification Msg by the failure processing module 380-1 and notified to the processor 320-1, so that the processor 320-1 receives the ERR_FATAL. It is possible to prevent the occurrence of NMI that is caused.
 以上が、障害検出および障害閉塞処理例の説明であるが、図17の処理例における、障害処理モジュール380-1内部の処理について、図18で詳細に説明する。 The above is the description of the failure detection and failure blocking processing example. The processing in the failure processing module 380-1 in the processing example of FIG. 17 will be described in detail with reference to FIG.
 図18は、本発明の実施例の障害処理モジュール380-1における障害検出処理の一例を説明するシーケンス図である。図18は、障害処理モジュール380-1が、転送モジュール230-1からのERR_FATALをチャネル400-1経由で受信した場合の障害処理モジュール380-1内の処理の流れを示す。 FIG. 18 is a sequence diagram illustrating an example of failure detection processing in the failure processing module 380-1 according to the embodiment of this invention. FIG. 18 shows the flow of processing in the failure processing module 380-1 when the failure processing module 380-1 receives ERR_FATAL from the transfer module 230-1 via the channel 400-1.
 アクセス調停部381は、接続ポート385-1を介して、チャネル400-1からERR_FATAL Msgパケットを受信する(ステップS450)。 The access arbitration unit 381 receives the ERR_FATAL Msg packet from the channel 400-1 via the connection port 385-1 (step S450).
 アクセス調停部381では、転送判定部3810-1の転送判定処理(図7の表3815を参照)に基づき、ステップS450のERR_FATAL Msgパケットを対向接続ポート386-1には転送せず、障害処理制御部384に転送すると判定する(ステップS451)。 The access arbitration unit 381 does not transfer the ERR_FATAL Msg packet in step S450 to the opposite connection port 386-1 based on the transfer determination process (see Table 3815 in FIG. 7) of the transfer determination unit 3810-1, and performs failure processing control. It determines with transferring to the part 384 (step S451).
 アクセス制御部381は、ステップS451の転送可否判定に基づき、ERR_FATAL Msgパケットを、障害処理制御部384に転送する(ステップS452)。 The access control unit 381 transfers the ERR_FATAL Msg packet to the failure processing control unit 384 based on the transfer availability determination in step S451 (step S452).
 障害処理制御部384では、ステップS452で転送されたERR_FATAL Msgパケットを、ERR_FATAL処理部3847にて処理する。具体的には、情報管理部382の情報記憶部3820-1のI/F障害情報3824に、FATAL障害の発生とERR_FATAL受信を示す障害情報を書き込む(ステップS453)。 In the failure processing control unit 384, the ERR_FATAL Msg packet transferred in step S452 is processed by the ERR_FATAL processing unit 3847. Specifically, failure information indicating the occurrence of a FATAL failure and ERR_FATAL reception is written in the I / F failure information 3824 of the information storage unit 3820-1 of the information management unit 382 (step S453).
 その後、障害通知Msg生成部3843により、情報記憶部3820-1の転送モジュールID情報3822から、転送モジュール230-1のID情報が取得される(ステップS454)。さらに、取得されたID情報を付加した障害通知Msgが生成され、アクセス調停部381を経由して接続ポート386-1から、ルートコンプレックス340-1に送信される(ステップS455)。 Thereafter, the failure notification Msg generation unit 3843 acquires the ID information of the transfer module 230-1 from the transfer module ID information 3822 of the information storage unit 3820-1 (step S454). Further, a failure notification Msg to which the acquired ID information is added is generated and transmitted from the connection port 386-1 to the route complex 340-1 via the access arbitration unit 381 (step S455).
 以上が、本実施例における障害検出および障害閉塞処理の例の説明である。 The above is an explanation of an example of failure detection and failure blockage processing in this embodiment.
 図19から図21では、本発明の実施例における障害閉塞解除処理の一例を説明する。 19 to 21, an example of the failure block release process in the embodiment of the present invention will be described.
 図19は、本発明の実施例の計算機システムにおける障害閉塞解除処理の一例を説明するシーケンス図である。図19は、障害箇所の保守交換後に、障害処理モジュール380-1から転送モジュール230-1に再初期化が行われ、接続ポートの閉塞状態が解除されて、I/O処理が正常に動作できる状態に回復する処理の流れを示す。 FIG. 19 is a sequence diagram illustrating an example of the failure block release process in the computer system according to the embodiment of this invention. FIG. 19 shows that the failure processing module 380-1 re-initializes the transfer module 230-1 after the maintenance replacement of the failed part, the blocked state of the connection port is released, and the I / O processing can operate normally. The flow of processing to recover to the state is shown.
 図14と図17にて説明した、障害箇所である転送モジュール230-1、または、チャネル400-1のケーブルが保守交換される(ステップS500)。このとき、サーバモジュール200-1の電源はオフ、ストレージモジュール200の電源はオンの状態である。 The transfer module 230-1 or the cable of the channel 400-1 as described in FIGS. 14 and 17 is replaced for maintenance (step S500). At this time, the server module 200-1 is powered off and the storage module 200 is powered on.
 サーバモジュール200-1に電源が投入され、サーバモジュール200-1のプロセッサ210-1では、OS221の処理が実行される。OS221の処理を実行しているプロセッサ210-1は、パワーオン信号を送信し、転送モジュール230-1にて受信される(ステップS501)。 The server module 200-1 is powered on, and the processor 210-1 of the server module 200-1 executes the processing of the OS 221. The processor 210-1 executing the processing of the OS 221 transmits a power-on signal and is received by the transfer module 230-1 (step S501).
 パワーオン信号を受信した転送モジュール230-1は、WAKE信号を送信し、障害処理モジュール380-1にて受信される(S502)。 The transfer module 230-1 that has received the power-on signal transmits a WAKE signal, which is received by the failure processing module 380-1 (S502).
 ステップS502のWAKE信号を受信した障害処理モジュール380-1は、障害のために閉塞処理されている障害処理モジュール380-1の接続ポート385-1をEnableする処理を行う(ステップS503)。 The failure processing module 380-1 that has received the WAKE signal in step S502 performs processing for enabling the connection port 385-1 of the failure processing module 380-1 that has been blocked due to a failure (step S503).
 ステップS503で接続ポート385-1をEnableすると、接続ポート385-1に接続されるチャネル400-1を含む転送モジュール230-1との間のインタフェースも閉塞状態が解除され、サーバモジュール200-1とストレージモジュール300の間のI/Oバスの通信ができる状態に回復する。すなわち、ストレージモジュール300に、以前障害が発生して切り離されていた部位が再度接続された状態となる。 When the connection port 385-1 is enabled in step S503, the block state of the interface with the transfer module 230-1 including the channel 400-1 connected to the connection port 385-1 is also released, and the server module 200-1 The state is restored to the state where the I / O bus communication between the storage modules 300 can be performed. That is, the storage module 300 is reconnected to the part that was previously disconnected due to a failure.
 図9の通常の初期化処理では、WAKE信号を受信した障害処理モジュール380-1が、プロセッサ320-1にWAKE信号を送信し、ストレージ制御部331の初期化処理部334の処理により、転送モジュール230-1が初期化されたが、障害処理モジュール380-1の接続ポート385-1が閉塞状態の場合、障害処理モジュール380-1はプロセッサ320-1に対してWAKE信号を送信しない。障害処理モジュール380-1は、通常の初期化処理の際に保存していた転送モジュール230-1のID情報および初期化情報を用いて、プロセッサ320-1に代わって転送モジュール230-1の再初期化処理を実施する。以降で、再初期処理について具体的に説明する。 In the normal initialization process of FIG. 9, the failure processing module 380-1 that has received the WAKE signal transmits the WAKE signal to the processor 320-1, and the transfer module is processed by the initialization processing unit 334 of the storage control unit 331. When 230-1 is initialized but the connection port 385-1 of the failure processing module 380-1 is blocked, the failure processing module 380-1 does not transmit a WAKE signal to the processor 320-1. The failure processing module 380-1 uses the ID information and initialization information of the transfer module 230-1 stored during the normal initialization process to re-transfer the transfer module 230-1 on behalf of the processor 320-1. Perform initialization processing. Hereinafter, the reinitialization process will be specifically described.
 ステップS503で、接続ポート385-1をEnableして、転送モジュール230-1とのインタフェースの閉塞状態が解除され、サーバモジュール200-1とストレージモジュール300の間のI/Oバスが通信できる状態になると、障害処理モジュール380-1は、転送モジュール230-1の再初期化を行うために、転送モジュール230-1に対してID情報の書込みのためのCfgWrパケットを発行する(ステップS504)。このCfgWrパケットは、図9のステップS103のID情報書込みのためのCfgWrパケットと同様のパケットである。 In step S503, the connection port 385-1 is enabled, the blocked state of the interface with the transfer module 230-1 is released, and the I / O bus between the server module 200-1 and the storage module 300 can communicate. Then, the failure processing module 380-1 issues a CfgWr packet for writing ID information to the transfer module 230-1 in order to re-initialize the transfer module 230-1 (step S504). This CfgWr packet is the same packet as the CfgWr packet for writing ID information in step S103 of FIG.
 転送モジュール230-1は、ステップS504のID情報書込みのためのCfgWrパケットを受信し、エンドポイント部235-2のコンフィグレジスタに書込み情報を書き込み、書込み完了通知であるCplパケットを障害処理モジュール380-1に対して発行する(ステップS505)。 The transfer module 230-1 receives the CfgWr packet for writing the ID information in step S504, writes the write information into the configuration register of the endpoint unit 235-2, and sends the Cpl packet as a write completion notification to the failure processing module 380- 1 (step S505).
 障害処理モジュール380-1は、ステップS505のCplパケットを受信して、書込み完了を確認すると、転送モジュール230-1の制御情報を設定するために、転送モジュール230-1に対して初期化情報書込みのためのCfgWrパケットを発行する(ステップS506)。このCfgWrパケットは、図9のステップS106の初期化情報書込みのためのCfgWrパケットと同様のパケットである。 When the failure processing module 380-1 receives the Cpl packet in step S505 and confirms the completion of writing, the failure processing module 380-1 writes initialization information to the transfer module 230-1 to set control information of the transfer module 230-1. A CfgWr packet for is issued (step S506). This CfgWr packet is the same packet as the CfgWr packet for writing the initialization information in step S106 of FIG.
 転送モジュール230-1が、ステップS506のCfgWrパケットを受信した際の処理(ステップS507)は、ステップS505と同様の処理となるため、説明を省略する。 The process when the transfer module 230-1 receives the CfgWr packet in step S506 (step S507) is the same as that in step S505, and thus the description thereof is omitted.
 障害処理モジュール380-1は、ステップS507のCplパケットを受信して書込み完了を確認すると、再初期化処理が完了となり、障害閉塞解除処理が完了したことを通知するための閉塞解除通知Msgをプロセッサ320-1に対して発行する(ステップS508)。なお、閉塞解除通知Msgには、転送モジュール230-1のID情報が含まれる。 When the failure processing module 380-1 receives the Cpl packet in step S507 and confirms the completion of the writing, the reinitialization processing is completed, and the block release notification Msg for notifying that the failure block release processing is completed is sent to the processor. It is issued to 320-1 (step S508). Note that the block release notification Msg includes the ID information of the transfer module 230-1.
 障害処理部335を実行しているプロセッサ320-1は、ステップS508の閉塞解除通知Msgを受信すると、閉塞解除通知Msgに含まれるID情報を参照して、閉塞していた部位とその部位の閉塞解除処理が完了したことを確認し、障害処理部335の処理が完了となる。すなわち、正常時のI/O処理が再開できる状態となる。 When the processor 320-1 executing the failure processing unit 335 receives the blockage release notification Msg in step S508, the processor 320-1 refers to the ID information included in the blockage release notification Msg and blocks the portion that has been blocked. After confirming that the cancellation processing has been completed, the processing of the failure processing unit 335 is completed. That is, the normal I / O processing can be resumed.
 以上が、障害閉塞解除処理例の説明であるが、図19の処理例における、障害処理モジュール380-1内部の処理について、図20から図21で詳細に説明する。 The above is the description of the failure block release processing example, but the processing inside the failure processing module 380-1 in the processing example of FIG. 19 will be described in detail with reference to FIGS.
 図20は、本発明の実施例の障害処理モジュールにおける障害閉塞解除処理の一例を説明するシーケンス図である。図20は、障害処理モジュール380-1が転送モジュール230-1からのWAKE信号を受信した場合の障害処理モジュール380-1内の処理の流れを示す。 FIG. 20 is a sequence diagram illustrating an example of the failure block release process in the failure processing module according to the embodiment of this invention. FIG. 20 shows a processing flow in the failure processing module 380-1 when the failure processing module 380-1 receives the WAKE signal from the transfer module 230-1.
 ポート制御部383は、接続ポート385-1を介して、チャネル400-1からWAKE信号を受信する(ステップS550)。 The port control unit 383 receives a WAKE signal from the channel 400-1 via the connection port 385-1 (step S550).
 ポート制御部383では、WAKE信号検出部3830により、ステップS550のWAKE信号を検出し、WAKE検出信号を障害処理制御部384に送信する(ステップS551)。 In the port control unit 383, the WAKE signal detection unit 3830 detects the WAKE signal in step S550, and transmits the WAKE detection signal to the failure processing control unit 384 (step S551).
 障害処理制御部384は、ステップS551のWAKE検出信号を検出し、情報管理部382の情報記憶部3820-1のI/F閉塞状態3825を参照して、閉塞発生状態を確認する(ステップS552)。 The failure processing control unit 384 detects the WAKE detection signal in step S551, refers to the I / F blockage state 3825 of the information storage unit 3820-1 of the information management unit 382, and confirms the blockage occurrence state (step S552). .
 ステップS552にて、閉塞が発生していると確認されたため、再初期化処理部3845の処理により、情報記憶部3820-1のI/F閉塞状態3825の閉塞状態をクリアする(ステップS553)。 Since it is confirmed in step S552 that the blockage has occurred, the block state of the I / F blockage state 3825 in the information storage unit 3820-1 is cleared by the process of the reinitialization processing unit 3845 (step S553).
 ステップS553で、I/F閉塞状態3825の閉塞ステータスがクリアされると、ポート制御部383のポートDisable制御部3832にて閉塞状態解除と判定され(ステップS554)、対象の接続ポート385-1をEnableして閉塞状態を解除する(ステップS555)。ポート閉塞解除は、PCIeホットプラグコントローラによるPCIeポートの電源オン処理等で実現できる。 When the block status of the I / F block state 3825 is cleared in step S553, the port disable control unit 3832 of the port control unit 383 determines that the block state is released (step S554), and determines the target connection port 385-1. It is enabled and the closed state is released (step S555). The release of the port blockage can be realized by a power-on process of the PCIe port by the PCIe hot plug controller.
 ステップS555にて閉塞解除された接続ポート385-1では、接続ポート385-1に接続されるチャネル400-1を含む転送モジュール230-1との間のインタフェースも閉塞解除された状態となり(ステップS556)、転送モジュール230-1と障害処理モジュール380-1の間のI/Oバスのリンク確立処理が行われるようになるため、I/Oバスが通信できる状態に回復する。 In the connection port 385-1 that has been released from the block in step S555, the interface with the transfer module 230-1 including the channel 400-1 connected to the connection port 385-1 is also released from the block (step S556). ) Since the I / O bus link establishment process between the transfer module 230-1 and the failure processing module 380-1 is performed, the I / O bus is restored to a communicable state.
 次に、再初期化処理部3845は、転送モジュール230-1の再初期化を行うため、情報管理部382の情報記憶部3820-1の転送モジュールI/D情報3822を取得し(ステップS557)、ID情報書込みのためのCfgWrパケットを生成し、アクセス調停部381を経由して接続ポート385-1から、チャネル400-1に送信する(ステップS558)。 Next, the reinitialization processing unit 3845 obtains the transfer module I / D information 3822 of the information storage unit 3820-1 of the information management unit 382 in order to reinitialize the transfer module 230-1 (step S557). Then, a CfgWr packet for writing ID information is generated and transmitted from the connection port 385-1 to the channel 400-1 via the access arbitration unit 381 (step S558).
 以上が図20の説明である。 The above is the explanation of FIG.
 図21は、本発明の実施例の障害処理モジュール380-1における障害閉塞解除処理の一例を説明するシーケンス図である。図21は、障害処理モジュール380-1が、転送モジュール230-1から、初期化情報書込みに対する書込み完了通知のためのCplパケットを受信した場合の障害処理モジュール380-1内の処理の流れを示す。 FIG. 21 is a sequence diagram illustrating an example of the failure block release process in the failure processing module 380-1 according to the embodiment of this invention. FIG. 21 shows a processing flow in the failure processing module 380-1 when the failure processing module 380-1 receives a Cpl packet for writing completion notification for initialization information writing from the transfer module 230-1. .
 アクセス調停部381は、接続ポート385-1を介して、チャネル400-1から初期化情報書込みに対する書込み完了通知のためのCplパケットを受信する(ステップS560)
 アクセス調停部381では、転送判定部3810-1により、情報管理部382の情報記憶部3820-1のI/F障害情報3824、及び、I/F閉塞状態3825を参照して、障害の発生を確認する(ステップS561)。
The access arbitration unit 381 receives a Cpl packet for writing completion notification for initialization information writing from the channel 400-1 via the connection port 385-1 (step S560).
In the access arbitration unit 381, the transfer determination unit 3810-1 refers to the I / F failure information 3824 and the I / F blockage state 3825 in the information storage unit 3820-1 of the information management unit 382, and detects the occurrence of the failure. Confirmation is made (step S561).
 ステップS561で障害が発生していることが確認されたため、転送判定部3810-1の転送判定処理(図7の表3815を参照)に基づき、ステップS561のCplパケットを対向接続ポート386-1に転送しないと判定し、障害処理制御部384には転送すると判定する(ステップS562)。 Since it is confirmed in step S561 that a failure has occurred, the Cpl packet in step S561 is sent to the opposite connection port 386-1 based on the transfer determination process (see table 3815 in FIG. 7) of the transfer determination unit 3810-1. It is determined not to transfer, and it is determined to transfer to the failure processing control unit 384 (step S562).
 アクセス制御部381は、ステップS562の転送可否判定に基づき、書込み完了通知のためのCplパケットを、障害処理制御部384に転送する(ステップS563)。 The access control unit 381 transfers the Cpl packet for writing completion notification to the failure processing control unit 384 based on the transfer permission / inhibition determination in step S562 (step S563).
 障害処理制御部384では、ステップS563で転送された書込み完了通知のためのCplパケットを、再初期化処理部3845にて処理し、転送モジュール230-1の再初期化のための初期化情報の書込み処理を完了させる(ステップS564)。 In the failure processing control unit 384, the re-initialization processing unit 3845 processes the Cpl packet for writing completion notification transferred in step S563, and the initialization information for re-initialization of the transfer module 230-1 is processed. The writing process is completed (step S564).
 再初期化処理部3845は、情報管理部382の情報記憶部3820-1のI/F障害情報3824の障害情報を全てクリアし、再初期化を完了する(ステップS565)。 The reinitialization processing unit 3845 clears all the fault information in the I / F fault information 3824 of the information storage unit 3820-1 of the information management unit 382, and completes reinitialization (step S565).
 その後、閉塞解除通知Msg生成部3846により、情報記憶部3820-1の転送モジュールID情報3822から、転送モジュール230-1のID情報が取得される(ステップS566)。さらに、取得されたID情報を付加した閉塞解除通知Msgが生成され、アクセス調停部381を経由して接続ポート386-1から、ルートコンプレックス340-1に送信される(ステップS567)。 Thereafter, the ID information of the transfer module 230-1 is acquired from the transfer module ID information 3822 of the information storage unit 3820-1 by the blocking release notification Msg generation unit 3846 (step S566). Further, a blockage release notification Msg to which the acquired ID information is added is generated and transmitted from the connection port 386-1 to the root complex 340-1 via the access arbitration unit 381 (step S567).
 なお、図19のステップS505の書込み完了通知のためのCplパケットを受信した場合の障害処理モジュール380-1の内部の処理は、図21のステップS560からステップS564までと同様の処理となるため説明を省略する。 The internal processing of the failure processing module 380-1 when receiving the Cpl packet for writing completion notification in step S505 in FIG. 19 is the same as the processing from step S560 to step S564 in FIG. Is omitted.
 また、図19のステップS506の初期化情報書込みのためのCfgWrパケットを送信する場合の障害処理モジュール380-1の内部の処理については、ステップS557とステップS558と同様の処理となるため、説明を省略する。ただし、ステップS557に相当する処理で取得される情報は、ステップS557のID情報ではなく、情報記憶部3820-1の転送モジュール初期化情報3823の情報となる。 Further, since the internal processing of the failure processing module 380-1 in the case of transmitting the CfgWr packet for writing initialization information in step S506 in FIG. 19 is the same processing as that in steps S557 and S558, the description will be made. Omitted. However, the information acquired by the process corresponding to step S557 is not the ID information of step S557 but the information of the transfer module initialization information 3823 of the information storage unit 3820-1.
 以上が、本実施例における障害閉塞処理の例の説明である。 The above is an explanation of an example of the failure blocking process in this embodiment.
 本実施例では、二つのディスクコントローラ310を用いて、ストレージ制御部331を冗長化していたが、本発明はこれに限定されない。例えば一つのディスクコントローラ310を論理的に分割することによって二つのストレージ制御部331を実現してもよい。 In this embodiment, the storage controller 331 is made redundant using two disk controllers 310, but the present invention is not limited to this. For example, two storage control units 331 may be realized by logically dividing one disk controller 310.
 以上説明したように、実施例では、サーバモジュール200及びストレージモジュール300がプロトコル変換されていないコマンドを転送モジュール230に送信し、転送モジュール230がプロトコルを変換する。したがって、プロトコル変換によるデータ転送のオーバーヘッドを低減するという効果がある。 As described above, in the embodiment, the server module 200 and the storage module 300 transmit a command whose protocol is not converted to the transfer module 230, and the transfer module 230 converts the protocol. Therefore, there is an effect of reducing the overhead of data transfer due to protocol conversion.
 また、転送モジュール230は、サーバモジュール200のメモリ220、及びストレージモジュール300のメモリ330に直接アクセスするため、サーバモジュール200のプロセッサ210及びストレージモジュール300のプロセッサ320を介することなく、各メモリ間の高速なデータ転送を実現できる。 In addition, since the transfer module 230 directly accesses the memory 220 of the server module 200 and the memory 330 of the storage module 300, the transfer module 230 can perform high-speed processing between the memories without going through the processor 210 of the server module 200 and the processor 320 of the storage module 300. Data transfer can be realized.
 本発明では、前述の転送モジュール230を搭載した計算機システムの障害耐性を高めるために、ストレージモジュール300に障害処理モジュール380を搭載する。 In the present invention, the fault processing module 380 is mounted on the storage module 300 in order to increase the fault tolerance of the computer system including the transfer module 230 described above.
 障害処理モジュール380を搭載していない場合、転送モジュール230やチャネル400等のI/Oバスにおいて重度な障害が発生すると、それを検出したストレージ制御部331はディスクコントローラ310全体を閉塞させてしまい、そのディスクコントローラ310を使用している全てのサーバモジュール200がストレージモジュール300の障害を検出し、ディスクコントローラ310が非冗長な構成となってしまうため、システム全体の可用性が低下してしまっていた。 When the failure processing module 380 is not installed, when a serious failure occurs in the I / O bus such as the transfer module 230 or the channel 400, the storage control unit 331 that detects the failure blocks the entire disk controller 310, Since all the server modules 200 using the disk controller 310 detect a failure of the storage module 300 and the disk controller 310 becomes a non-redundant configuration, the availability of the entire system is lowered.
 一方、障害処理モジュール380を搭載している場合、転送モジュール230やチャネル400等のI/Oバスにおいて重度な障害が発生すると、障害処理モジュール380が前述の重度な障害を検出し、それを別の障害としてストレージ制御部331に報告することで、ストレージ制御部331にディスクコントローラ310全体の閉塞を行わせない。さらに、障害処理モジュール380は、障害があったリンクだけの閉塞処理を要求し、閉塞処理を要求されたストレージ制御部331は、障害処理モジュール380に障害リンクに接続されている接続ポート385の閉塞処理を指示することで、障害リンクだけを閉塞させることができる。したがって、障害に関連するサーバモジュール200のみがストレージモジュール300の障害を検出することになり、システム全体の可用性の低下を最小限にすることができる。 On the other hand, when the failure processing module 380 is installed, if a serious failure occurs in the I / O bus such as the transfer module 230 or the channel 400, the failure processing module 380 detects the above-mentioned serious failure and separates it. By reporting the failure to the storage control unit 331, the storage control unit 331 is not blocked for the entire disk controller 310. Further, the failure processing module 380 requests blockage processing only for the failed link, and the storage control unit 331 requested to perform blockage blocks the connection port 385 connected to the failure link to the failure processing module 380. By instructing the processing, only the failed link can be blocked. Therefore, only the server module 200 related to the failure detects the failure of the storage module 300, and the deterioration of the availability of the entire system can be minimized.
 以上より、本発明は、転送モジュール230によるI/O性能の向上というメリットを損なうことなく、障害処理モジュール380によりシステムの障害耐性を向上させることができる。 As described above, the present invention can improve the fault tolerance of the system by the fault processing module 380 without impairing the merit of improving the I / O performance by the transfer module 230.
200 サーバモジュール
210 プロセッサ
220 メモリ
221 OS
222 ストレージアクセス部
223 アプリケーション
230 転送モジュール
231 データ転送部
232 DMAコントローラ
233 データ検査部
234 プロトコルエンジン
235 エンドポイント部
236 接続ポート
237 接続ポート
238 パワーマネージメント部
240 ルートコンプレックス
241 ルートポート
260 I/F
300 ストレージモジュール
310 ディスクコントローラ
320 プロセッサ
330 メモリ
331 ストレージ制御部
332 I/O処理部
333 記憶装置制御部
334 初期化処理部
335 障害処理部
340 ルートコンプレックス
341 ルートポート
360 I/F
370 記憶装置
380 障害処理モジュール
381 アクセス調停部
3810 転送判定部
3811 パケット調停部
3812 パケットバッファ
3813 パケットバッファ
3815 転送判定処理表
3816 パケット種
3817 障害および閉塞状態
3818 対向接続ポートへの転送可否
3819 障害処理制御部への転送可否
382 情報管理部
3820 情報記憶部
3821 レジスタ
3822 転送モジュールID情報
3823 転送モジュール初期化情報
3824 I/F障害情報
3825 I/F閉塞状態
383 ポート制御部
3830 WAKE信号検出部
3831 ケーブル非接続信号検出部
3832 ポートDisable制御部
384 障害処理制御部
3840 WAKE信号生成部
3841 CfgWr処理部
3842 SupriseDown検出部
3843 障害通知Msg生成部
3844 CfgRd処理部
3845 再初期化処理部
3846 閉塞解除通知Msg生成部
3847 ERR_FATAL処理部
385 接続ポート
386 接続ポート
400 チャネル
200 Server module 210 Processor 220 Memory 221 OS
222 storage access unit 223 application 230 transfer module 231 data transfer unit 232 DMA controller 233 data inspection unit 234 protocol engine 235 endpoint unit 236 connection port 237 connection port 238 power management unit 240 root complex 241 root port 260 I / F
300 Storage Module 310 Disk Controller 320 Processor 330 Memory 331 Storage Control Unit 332 I / O Processing Unit 333 Storage Device Control Unit 334 Initialization Processing Unit 335 Fault Processing Unit 340 Root Complex 341 Root Port 360 I / F
370 Storage Device 380 Failure Processing Module 381 Access Arbitration Unit 3810 Transfer Determination Unit 3811 Packet Arbitration Unit 3812 Packet Buffer 3813 Packet Buffer 3815 Transfer Determination Processing Table 3816 Packet Type 3817 Failure and Blocking State 3818 Transfer Enable / Disable 3819 Failure Processing Control 382 Information management unit 3820 Information storage unit 3821 Register 3822 Transfer module ID information 3823 Transfer module initialization information 3824 I / F failure information 3825 I / F block state 383 Port control unit 3830 WAKE signal detection unit 3831 Connection signal detection unit 3832 Port disable control unit 384 Fault processing control unit 3840 WAKE signal generation unit 3841 CfgWr processing unit 3842 SupplyDown detection Part 3843 failure notification Msg generator 3844 CfgRd processor 3845 reinitializing processor 3846 unblocking notification Msg generator 3847 ERR_FATAL processor 385 connection port 386 the connection ports 400 channel

Claims (8)

  1. 第1のメモリと第1のプロセッサを備える第1のサーバモジュールと、当該サーバモジュールとネットワークを介して接続され第2のメモリと第2のプロセッサを備えるストレージモジュールと、を有する計算機システムであって、
     前記サーバモジュールは、さらに前記第1のメモリと前記第2のメモリ間のデータ転送を制御する第1の転送モジュールを備え、
     前記ストレージモジュールは、前記ネットワークを介して前記第1の転送モジュールに接続する第1のポートと、前記計算機システムの障害に関する処理を制御する障害処理モジュールを備え、
     前記障害処理モジュールは、前記第1のポートと前記第1の転送モジュールの識別子とを対応づける構成情報を管理し、前記第1のポートを介して受信する第1の障害メッセージを、前記構成情報に基づいて前記第1の転送モジュールの識別子を含み前記第1の転送モジュールの障害を通知する第2の障害メッセージに変換し、当該第2の障害メッセージを前記ストレージモジュールの前記第2のプロセッサに送信する、
     ことを特徴とする計算機システム。
    A computer system comprising: a first server module including a first memory and a first processor; and a storage module connected to the server module via a network and including a second memory and a second processor. ,
    The server module further includes a first transfer module that controls data transfer between the first memory and the second memory;
    The storage module includes a first port connected to the first transfer module via the network, and a failure processing module that controls processing related to a failure of the computer system,
    The failure processing module manages configuration information associating the first port with an identifier of the first transfer module, and receives a first failure message received via the first port as the configuration information. Based on the first transfer module, the second transfer message including the identifier of the first transfer module and notifying the failure of the first transfer module is converted to the second processor of the storage module. Send,
    A computer system characterized by that.
  2. 請求項1に記載の計算機システムであって、
     第3のメモリ、第3のプロセッサと、および前記第3のメモリと前記第2のメモリ間のデータ転送を制御する第2の転送モジュールを備える第2のサーバモジュールをさらに備え、
     前記ストレージモジュールは、前記ネットワークを介して前記第2の転送モジュールに接続する第2のポートをさらに備え、
     前記障害処理モジュールは、前記構成情報において前記第2のポートと前記第2の転送モジュールの識別子とを対応づけて管理し、前記第2のポートを介して受信する第3の障害メッセージを、前記構成情報に基づいて前記第2の転送モジュールの識別子を含み前記第2の転送モジュールの障害を通知する第4の障害メッセージに変換し、当該第4の障害メッセージを前記ストレージモジュールの前記第2のプロセッサに送信する、
     ことを特徴とする計算機システム。
    The computer system according to claim 1,
    A second server module comprising a third memory, a third processor, and a second transfer module for controlling data transfer between the third memory and the second memory;
    The storage module further comprises a second port connected to the second transfer module via the network,
    The failure processing module manages the second port and the identifier of the second transfer module in association with each other in the configuration information, and receives a third failure message received via the second port, Based on the configuration information, the second transfer module including the identifier of the second transfer module is converted into a fourth failure message notifying the failure of the second transfer module, and the fourth failure message is converted to the second of the storage module. Send to the processor,
    A computer system characterized by that.
  3. 請求項1に記載の計算機システムであって、
     前記障害処理モジュールは、前記第2の障害メッセージを前記ストレージモジュールの前記第2のプロセッサに送信した後に当該第2プロセッサから前記第1の転送モジュールへのアクセス要求を受信する場合、当該アクセス要求を前記第1の転送モジュールに送信することなく、前記第2のプロセッサに対して当該アクセス要求への応答メッセージを送信する、
     ことを特徴とする計算機システム。
    The computer system according to claim 1,
    When the failure processing module receives an access request from the second processor to the first transfer module after transmitting the second failure message to the second processor of the storage module, the failure processing module Sending a response message to the access request to the second processor without sending it to the first transfer module;
    A computer system characterized by that.
  4. 請求項3に記載の計算機システムであって、
     前記障害処理モジュールは、前記第1の転送モジュールのログ情報を管理し、前記第2プロセッサから前記第1の転送モジュールへのアクセス要求が、前記第1の転送モジュールに関するログ情報取得要求である場合、前記第2のプロセッサに対して、当該ログ情報を含む前記応答メッセージを送信する、
     ことを特徴とする計算機システム。
    The computer system according to claim 3,
    The failure processing module manages log information of the first transfer module, and the access request from the second processor to the first transfer module is a log information acquisition request related to the first transfer module. Sending the response message including the log information to the second processor;
    A computer system characterized by that.
  5. 請求項3に記載の計算機システムであって、
     前記障害処理モジュールは、前記第2プロセッサから前記第1の転送モジュールへのアクセス要求が、前記第1の転送モジュールの閉塞要求である場合、前記構成情報に基づいて前記第1の転送モジュールと対応する第1のポートを特定し、当該第1のポートを閉塞する処理を実施し、前記第2のプロセッサに対して、前記応答メッセージを送信する、
     ことを特徴とする計算機システム。
    The computer system according to claim 3,
    The failure processing module corresponds to the first transfer module based on the configuration information when the access request from the second processor to the first transfer module is a block request for the first transfer module. A first port to be identified, a process of closing the first port is performed, and the response message is transmitted to the second processor.
    A computer system characterized by that.
  6. 請求項1に記載の計算機システムであって、
     前記ストレージモジュールと前記サーバモジュールを接続するネットワークは、PCIe(PCI Express)に基づくネットワークである、
     ことを特徴とする計算機システム。
    The computer system according to claim 1,
    A network connecting the storage module and the server module is a network based on PCIe (PCI Express).
    A computer system characterized by that.
  7. 請求項1に記載の計算機システムであって、
     前記障害処理モジュールは、前記ストレージモジュールから前記第1のサーバモジュールに対する前記第1の転送モジュールの識別子通知メッセージを受信すると、当該メッセージを前記第1のサーバモジュールに転送するとともに、前記通知メッセージに含まれる前記第1の転送モジュールの識別子を用いて前記構成情報を生成する
     ことを特徴とする計算機システム。
    The computer system according to claim 1,
    Upon receiving the first transfer module identifier notification message for the first server module from the storage module, the failure processing module transfers the message to the first server module and is included in the notification message. The computer system is characterized in that the configuration information is generated using an identifier of the first transfer module.
  8. 請求項1に記載の計算機システムであって、
     前記ストレージモジュールは、複数の記憶装置を備え、前記第2のプロセッサは前記複数の記憶装置上に少なくとも1つの論理ボリュームを構成し、当該論理ボリュームを前記第1のサーバモジュールに提供する、
     ことを特徴とする計算機システム。
    The computer system according to claim 1,
    The storage module includes a plurality of storage devices, and the second processor configures at least one logical volume on the plurality of storage devices, and provides the logical volume to the first server module.
    A computer system characterized by that.
PCT/JP2014/051608 2014-01-27 2014-01-27 Computer system, server module, and storage module WO2015111206A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/051608 WO2015111206A1 (en) 2014-01-27 2014-01-27 Computer system, server module, and storage module

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/051608 WO2015111206A1 (en) 2014-01-27 2014-01-27 Computer system, server module, and storage module

Publications (1)

Publication Number Publication Date
WO2015111206A1 true WO2015111206A1 (en) 2015-07-30

Family

ID=53681034

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/051608 WO2015111206A1 (en) 2014-01-27 2014-01-27 Computer system, server module, and storage module

Country Status (1)

Country Link
WO (1) WO2015111206A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110321255A (en) * 2018-03-29 2019-10-11 广达电脑股份有限公司 It is used to check the method and system of cable mistake

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06309245A (en) * 1993-04-19 1994-11-04 Ricoh Co Ltd Scsi interface system device
JPH0720997A (en) * 1993-07-05 1995-01-24 Hitachi Ltd Common-use management system for magnetic tape library device
JP2005322027A (en) * 2004-05-10 2005-11-17 Matsushita Electric Ind Co Ltd Information terminal, storage device and storage device storing device
JP2006185386A (en) * 2004-12-28 2006-07-13 Hitachi Ltd Storage system and storage managing method
JP2007179549A (en) * 2005-12-20 2007-07-12 Silicon Image Inc Covert channel for transmitting supplemental message in protocol defined link for storage system
JP2013513137A (en) * 2010-05-13 2013-04-18 株式会社日立製作所 Information processing apparatus and data transfer method

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06309245A (en) * 1993-04-19 1994-11-04 Ricoh Co Ltd Scsi interface system device
JPH0720997A (en) * 1993-07-05 1995-01-24 Hitachi Ltd Common-use management system for magnetic tape library device
JP2005322027A (en) * 2004-05-10 2005-11-17 Matsushita Electric Ind Co Ltd Information terminal, storage device and storage device storing device
JP2006185386A (en) * 2004-12-28 2006-07-13 Hitachi Ltd Storage system and storage managing method
JP2007179549A (en) * 2005-12-20 2007-07-12 Silicon Image Inc Covert channel for transmitting supplemental message in protocol defined link for storage system
JP2013020635A (en) * 2005-12-20 2013-01-31 Silicon Image Inc Covert channel for conveying supplemental messages in protocol-defined link for storage device system
JP2013513137A (en) * 2010-05-13 2013-04-18 株式会社日立製作所 Information processing apparatus and data transfer method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110321255A (en) * 2018-03-29 2019-10-11 广达电脑股份有限公司 It is used to check the method and system of cable mistake

Similar Documents

Publication Publication Date Title
US7536584B2 (en) Fault-isolating SAS expander
EP2052326B1 (en) Fault-isolating sas expander
US8074105B2 (en) High data availability SAS-based RAID system
US9052829B2 (en) Methods and structure for improved I/O shipping in a clustered storage system
KR101455016B1 (en) Method and apparatus to provide a high availability solid state drive
US10970237B2 (en) Storage system
JP5528243B2 (en) System and method for controlling multipath
JP5903801B2 (en) Communication apparatus and ID setting method
JP4658122B2 (en) DMA controller, node, data transfer control method, and program
JP5695126B2 (en) Computer system, server module and storage module
US10027532B2 (en) Storage control apparatus and storage control method
JP2008090375A (en) Interrupt control system and storage control system using the same
JP2006302250A (en) Pci-express communication system
JP2006293863A (en) Disk array device and control method thereof
US12066961B2 (en) Method for improving reliability of storage system, and related apparatus
US20090077275A1 (en) Multiple I/O interfacing system for a storage device and communicating method for the same
JP2005196490A (en) System and method for data duplication
JP2009053946A (en) Block device controller with duplex controller configuration
JP4755050B2 (en) Data processing apparatus, mode management apparatus, and mode management method
US20240104035A1 (en) Peripheral component interconnect express device and operating method thereof
JP2010205216A (en) Bus conversion device, information processor, and control method
WO2015111206A1 (en) Computer system, server module, and storage module
JP6134720B2 (en) Connection method
US8639967B2 (en) Controlling apparatus, method for controlling apparatus and information processing apparatus
CN102081579A (en) Cache image system and method for storage equipment with dual controllers

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: 14880185

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14880185

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP