Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6449671B2 - Core I/O failover control system and core I/O failover control method - Google Patents
[go: Go Back, main page]

JP6449671B2 - Core I/O failover control system and core I/O failover control method - Google Patents

Core I/O failover control system and core I/O failover control method Download PDF

Info

Publication number
JP6449671B2
JP6449671B2 JP2015029226A JP2015029226A JP6449671B2 JP 6449671 B2 JP6449671 B2 JP 6449671B2 JP 2015029226 A JP2015029226 A JP 2015029226A JP 2015029226 A JP2015029226 A JP 2015029226A JP 6449671 B2 JP6449671 B2 JP 6449671B2
Authority
JP
Japan
Prior art keywords
core
unit
control unit
driver
bmc
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP2015029226A
Other languages
Japanese (ja)
Other versions
JP2016151907A (en
Inventor
齋藤 寿
寿 齋藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Platforms Ltd
Original Assignee
NEC Platforms Ltd
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 NEC Platforms Ltd filed Critical NEC Platforms Ltd
Priority to JP2015029226A priority Critical patent/JP6449671B2/en
Publication of JP2016151907A publication Critical patent/JP2016151907A/en
Application granted granted Critical
Publication of JP6449671B2 publication Critical patent/JP6449671B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Description

本発明は、コアI/O(Input/Output)フェールオーバー制御システムおよびコアI/Oフェールオーバー制御方法に関し、特にコアI/Oの信頼性向上のためにコアI/Oを二重化しているコンピュータサーバにおけるコアI/Oフェールオーバー制御システムおよびコアI/Oフェールオーバー制御方法に関する。 The present invention relates to a core I/O (Input/Output) failover control system and a core I/O failover control method, and in particular to a core I/O failover control system and a core I/O failover control method in a computer server in which the core I/O is duplicated to improve the reliability of the core I/O.

コアI/Oを2つ搭載することで、コアI/Oの信頼性を向上させているコンピュータサーバ(以降、コアI/O二重化サーバと称す)がある。このうち、運用系コアI/Oにて軽障害が起きた際は、コンピュータサーバの運用を継続したまま、待機系コアI/Oを運用系に切り替える制御方法を採用している。現在のほとんどのコンピュータサーバは、コアI/Oを1つだけ具備しており(以降、コアI/O単一サーバと称す)、コアI/O二重化サーバは数少ない。そのため、ほとんどのOS(Operating System)は、コアI/O二重化サーバを想定していない。このようなOS対応状況下において、コアI/O二重化サーバでのコアI/Oフェールオーバーを実現するためには、サーバに非常に複雑かつ大規模なハードウェアを具備する必要があった。或いはアプリケーション性能を犠牲にしてシステムファームウェア層で実現しなければならない場合があった。なお、本明細書内で言う“フェールオーバー”とは、稼働中のシステムに障害が発生した場合、障害発生した箇所の機能を代替機能に引き継がせて処理を続行させることである。 There are computer servers (hereinafter referred to as core I/O duplex servers) that have improved the reliability of the core I/O by installing two core I/Os. Among them, when a minor failure occurs in the operational core I/O, a control method is adopted in which the standby core I/O is switched to the operational system while continuing the operation of the computer server. Most computer servers today have only one core I/O (hereinafter referred to as a core I/O single server), and there are few core I/O duplex servers. Therefore, most operating systems (OS) do not assume core I/O duplex servers. In such an OS compatibility situation, in order to realize core I/O failover in a core I/O duplex server, it was necessary to provide the server with very complex and large-scale hardware. Or, in some cases, it was necessary to realize it at the system firmware layer at the expense of application performance. In addition, "failover" as used in this specification means that when a failure occurs in a running system, the function of the part where the failure occurred is taken over by an alternative function and processing continues.

コアI/O二重化サーバの関連技術として、例えば、特許文献1には、パーティションを再起動することなく使用するコアI/Oデバイスを切り替えるため、各プロセッサノードにおけるメモリ空間に、使用中コアI/O用空間と、予備コアI/O用空間とをマップするマップ部を備えているものがある。また、それは、使用コアI/Oデバイス変更指示に応じて、複数のプロセッサノードによる新規トランザクションの発行を抑止する抑止部と、抑止された後に、使用中コアI/Oデバイスに含まれるコピー元レジスタに格納されたデータを、予備コアI/Oデバイスに含まれるコピー先レジスタにコピーするコピー部とを備えている。そして、コピー完了後に、使用中コアI/Oデバイスに対するトランザクションが予備コアI/Oデバイスに転送されるようにルーティング設定を変更するルーティング設定変更部と、変更後に新規トランザクションの発行の抑止を解除する、解除部とを備える技術が開示されている。 For example, Patent Document 1 discloses a technology related to core I/O duplex servers that includes a map unit that maps a space for used core I/O and a space for spare core I/O in the memory space of each processor node in order to switch the core I/O device to be used without restarting the partition. It also includes a suppression unit that suppresses the issuance of new transactions by multiple processor nodes in response to an instruction to change the used core I/O device, and a copy unit that copies data stored in a source register included in the used core I/O device to a destination register included in the spare core I/O device after the suppression. It also discloses a technology that includes a routing setting change unit that changes the routing setting so that transactions to the used core I/O device are transferred to the spare core I/O device after the copy is completed, and a release unit that releases the suppression of the issuance of new transactions after the change.

また、特許文献2には、ハードウェア・レベルでI/Oデバイスの二重化を実現すると共に、マスターデバイスの動的縮退を可能とするため、トランザクションルーティングコントローラが、トランザクションを受信し、ルーティングし、送出する。そして、ルーティングテーブルは、I/Oデバイスの二重化が有効であることを示す有効情報とマスターデバイス識別情報とスレーブデバイス識別情報とを有し、サービスプロセッサは、トランザクションルーティングコントローラとルーティングテーブルとを制御する技術が開示されている。 Patent Document 2 also discloses a technology in which a transaction routing controller receives, routes, and sends out transactions to achieve I/O device duplication at the hardware level and enable dynamic degeneration of the master device. The routing table has validity information indicating that I/O device duplication is valid, as well as master device identification information and slave device identification information, and a service processor controls the transaction routing controller and the routing table.

特開2012−168650号公報JP 2012-168650 A 特開2008−225534号公報JP 2008-225534 A

特許文献1に記載の技術では、システムファームウェアがコアI/Oデバイス切り替えの制御を司るので、コンピュータサーバ内の全てのプロセッサを一時停止させなければならないという課題があった。また、コアI/Oデバイス切り替え期間中、コンピュータサーバ上の全てのアプリケーションが一時停止してしまうという課題があった。また、使用コアI/Oデバイス内情報を予備コアI/Oデバイス内にコピーするために、予備コアI/Oアクセス制御回路というハードウェアが必要であるという課題があった。 In the technology described in Patent Document 1, the system firmware controls the core I/O device switching, so there is an issue that all processors in the computer server must be temporarily stopped. In addition, there is an issue that all applications on the computer server are temporarily stopped during the core I/O device switching period. There is also an issue that hardware called a spare core I/O access control circuit is required to copy information in the used core I/O device to the spare core I/O device.

特許文献2に記載の技術では、二重化されているI/Oデバイス内情報を常に同一にしておくために、メモリコントローラ内のトランザクションルーティングコントローラ及びルーティングテーブルが非常に複雑かつ大規模になってしまうという課題があった。 The technology described in Patent Document 2 had the problem that in order to keep the information in the duplicated I/O devices consistent at all times, the transaction routing controller and routing table in the memory controller became very complex and large-scale.

本発明の目的は、上述した課題を解決し、コンピュータサーバ内に複雑かつ大規模なハードウェアを具備することなく、コアI/O機能を利用していないアプリケーションを一時停止させることなくコアI/O機能のフェールオーバーを実現することである。 The object of the present invention is to solve the above-mentioned problems and realize failover of core I/O functions without equipping a computer server with complex and large-scale hardware and without temporarily suspending applications that are not using the core I/O functions.

本発明は、上記課題を解決するために、複数のコアI/O部を有するシステム制御部とBMC(Base Management Controller)とを有するコンピュータのコアI/Oフェールオーバー制御システムにおいて、前記システム制御部は、前記コアI/O部を切り替えるコアI/O切替回路と、前記コアI/O部の内容を一時的に記憶するメモリとを有し、前記BMCは、前記コアI/O部が障害を検出した場合に障害情報を収集する障害検知部と、前記障害情報を基に前記コアI/O切替回路を制御するコアI/O制御部と、を有し、前記システム制御部は、前記コアI/O部を切り替える際に前記コアI/O部の内容を一時的に前記メモリに退避させるコアI/O切替ドライバを有する。 In order to solve the above-mentioned problems, the present invention provides a core I/O failover control system for a computer having a system control unit having a plurality of core I/O units and a BMC (Base Management Controller), wherein the system control unit has a core I/O switching circuit that switches the core I/O units and a memory that temporarily stores contents of the core I/O units, the BMC has a fault detection unit that collects fault information when the core I/O unit detects a fault and a core I/O control unit that controls the core I/O switching circuit based on the fault information, and the system control unit has a core I/O switching driver that temporarily saves the contents of the core I/O units to the memory when switching the core I/O units .

本発明は、上記課題を解決するために、複数のコアI/O部を有するシステム制御部とBMC(Base Management Controller)とを有するコンピュータのコアI/Oフェールオーバー制御方法において、前記BMCは、前記コアI/O部が検出した障害を検知するステップと、前記システム制御部は、障害が発生したコアI/O部の内容を一時的にメモリへ待避させるステップと、前記BMCは、前記障害が発生したコアI/O部から正常なコアI/O部に切り替えるステップと、前記システム制御部は、前記メモリへ一時的に待避したコアI/O部の内容を切り替えた前記正常なコアI/O部に復元させるステップと、を有する。


In order to solve the above-mentioned problems, the present invention provides a core I/O failover control method for a computer having a system control unit having a plurality of core I/O units and a BMC ( Base Management Controller ), comprising the steps of: the BMC detecting a failure detected by the core I/O unit; the system control unit temporarily saving to memory the contents of the core I/O unit in which the failure has occurred; the BMC switching from the core I/O unit in which the failure has occurred to a normal core I/O unit; and the system control unit restoring to the normal core I/O unit the contents of the core I/O unit temporarily saved to memory .


本発明によれば、コンピュータサーバ内に複雑かつ大規模なハードウェアを具備することなく、また、コアI/O機能を利用していないアプリケーションを一時停止させることなくコアI/O機能のフェールオーバーを実現することができる。 According to the present invention, it is possible to realize a failover of the core I/O function without having to equip the computer server with complex and large-scale hardware, and without suspending applications that are not using the core I/O function.

本発明の実施形態におけるコアI/Oフェールオーバー制御システムの構成を示すブロック図である。1 is a block diagram showing a configuration of a core I/O failover control system according to an embodiment of the present invention. 本発明の実施形態におけるシステム制御部の構成を示すブロック図である。FIG. 2 is a block diagram showing a configuration of a system control unit in the embodiment of the present invention. 本発明の実施形態におけるBMCの構成を示すブロック図である。FIG. 2 is a block diagram showing a configuration of a BMC according to an embodiment of the present invention. 本発明の実施形態におけるコアI/O制御部の構成を示すブロック図である。2 is a block diagram showing a configuration of a core I/O control unit according to an embodiment of the present invention. 本発明の実施形態におけるコアI/Oフェールオーバー制御システムの動作を示すフローチャートである。4 is a flowchart illustrating an operation of the core I/O failover control system in the embodiment of the present invention.

以下、本発明の実施形態について図面を参照して詳細に説明する。 The following describes an embodiment of the present invention in detail with reference to the drawings.

(実施形態)
図1は、本発明の実施形態におけるコアI/Oフェールオーバー制御システムの構成を示すブロック図である。図1を用いて、本実施形態におけるコアI/Oフェールオーバー制御システムの構成について説明する。
(Embodiment)
1 is a block diagram showing the configuration of a core I/O failover control system according to an embodiment of the present invention, The configuration of the core I/O failover control system according to the embodiment will be described with reference to FIG.

図1において、コンピュータサーバ100は、システム制御部101とBMC102を有している。 In FIG. 1, the computer server 100 has a system control unit 101 and a BMC 102.

システム制御部101は、コンピュータサーバとして動作するために必要なハードウェア部品群であり、CPU、メモリ、I/Oデバイス等を含んでいる。 The system control unit 101 is a group of hardware components necessary to operate as a computer server, including a CPU, memory, I/O devices, etc.

BMC(Base Management Controller)102は、システム制御部101を管理・制御するコントローラであり、システム制御部101と3つのインターフェースBMI150、BCI151及びBHI152を介して接続されている。 The BMC (Base Management Controller) 102 is a controller that manages and controls the system control unit 101, and is connected to the system control unit 101 via three interfaces: BMI 150, BCI 151, and BHI 152.

OS103は、システム制御部101上で動作するオペレーティングシステムであり、各種ドライバを起動或いは停止させる機能を有する。コアI/O切替ドライバ104とコアI/Oドライバ105は、OS103上で動作する。 OS 103 is an operating system that runs on the system control unit 101, and has the function of starting or stopping various drivers. The core I/O switching driver 104 and the core I/O driver 105 run on OS 103.

コアI/O切替ドライバ104は、システム制御部101からの割り込みを契機にシステム制御部101上で動きだし、OS103を介してコアI/Oドライバ105を停止または起動させる。また、システム制御部101内の運用系コアI/Oの情報を待機系コアI/O内にコピーする。 The core I/O switching driver 104 starts up on the system control unit 101 in response to an interrupt from the system control unit 101, and stops or starts the core I/O driver 105 via the OS 103. It also copies information about the active core I/O in the system control unit 101 to the standby core I/O.

図2は、本発明の実施形態におけるシステム制御部101の構成を示すブロック図である。図2を用いて、システム制御部101の構成について説明する。 Figure 2 is a block diagram showing the configuration of the system control unit 101 in an embodiment of the present invention. The configuration of the system control unit 101 will be described using Figure 2.

ホストブリッジ206は、CPU200〜202、メモリ205、I/Oデバイスを接続するI/Oブリッジ210及びコアI/O切替回路209とインターフェース250〜252、255、260、259を持ち、これら部品間のデータ転送を司るものである。また、BMC102とのインターフェースであるBHI152を有する。このBHI152は、例えば、『PCI Express Base Specification Revision 3.0』にて規定されているPCI Expressインターフェースである。 The host bridge 206 has the CPUs 200-202, memory 205, an I/O bridge 210 that connects I/O devices, a core I/O switching circuit 209, and interfaces 250-252, 255, 260, and 259, and is responsible for data transfer between these components. It also has a BHI 152 that is an interface with the BMC 102. This BHI 152 is, for example, a PCI Express interface defined in "PCI Express Base Specification Revision 3.0".

コアI/O部A207及びコアI/O部B208は、コンピュータサーバのコアI/O機能を有する部品であり、双方とも全く同じ機能を提供する。コアI/O機能とは、コンピュータサーバとして稼働するために必須なI/O機能を有するものであり、コアI/O機能に含まれる機能の一例としては、CMOS/NvRAM(Non volatile
Random Access Memory)等のメモリ、シリアルコントローラ、タイマ、USB(Universal Serial Bus)コントローラ、割り込みコントローラ等がある。
The core I/O unit A 207 and the core I/O unit B 208 are components having the core I/O functions of a computer server, and both provide exactly the same functions. The core I/O functions are I/O functions that are essential for operating as a computer server, and an example of a function included in the core I/O functions is CMOS/NvRAM (Non-volatile RAM).
Examples of the memory include a random access memory (Random Access Memory), a serial controller, a timer, a Universal Serial Bus (USB) controller, and an interrupt controller.

また、コアI/O部A207及びコアI/O部B208は、BMC102とのインターフェースであるBMI150を有する。BMC102は、当該BMI150を介して、コアI/O部A207及びコアI/O部B208の障害を監視する。 In addition, core I/O unit A207 and core I/O unit B208 have a BMI150 that is an interface with BMC102. BMC102 monitors failures in core I/O unit A207 and core I/O unit B208 via the BMI150.

コアI/O切替回路209は、BMC102とのインターフェースであるBCI151を有し、BCI151によりコアI/O部A207とコアI/O部B208を切り替える部品である。コアI/O切替回路209は、インターフェース257、258を経由してコアI/O部A207とコアI/O部B208に接続されている。コアI/O切替回路209にて選択された一方のコアI/O部A207或いはB208が運用系となり、他方のコアI/O部B208或いはA207が待機系となる。 The core I/O switching circuit 209 has a BCI 151 which is an interface with the BMC 102, and is a component which switches between core I/O unit A 207 and core I/O unit B 208 via the BCI 151. The core I/O switching circuit 209 is connected to core I/O unit A 207 and core I/O unit B 208 via interfaces 257 and 258. One of the core I/O units A 207 or B 208 selected by the core I/O switching circuit 209 becomes the active system, and the other core I/O unit B 208 or A 207 becomes the standby system.

図3は、本実施形態に係るBMC102の構成を示すブロック図であり、図4は、本実施形態に係るコアI/O制御部300の構成を示すブロック図である。図3、図4を用いて、BMC102の詳細な構成について説明する。 Figure 3 is a block diagram showing the configuration of the BMC 102 according to this embodiment, and Figure 4 is a block diagram showing the configuration of the core I/O control unit 300 according to this embodiment. The detailed configuration of the BMC 102 will be described using Figures 3 and 4.

図3において、BMC102は、コアI/O制御部300を有し、障害予兆検知部301を有している。コアI/O制御部300は、コアI/O切り替えに伴う各種割り込みを挙げる機能を有する。また、BHI152とホストブリッジ206を通して、BMC102とコアI/O切替ドライバ104とが通信できる機能を有している。当該コアI/O制御部300の例としては、『PCI Express Base Specification Revision 3.0』にて規定されているPCI Express Endpointに準拠した構成が考えられる。 In FIG. 3, the BMC 102 has a core I/O control unit 300 and a failure prediction detection unit 301. The core I/O control unit 300 has a function of issuing various interrupts associated with core I/O switching. It also has a function that allows the BMC 102 and the core I/O switching driver 104 to communicate through the BHI 152 and the host bridge 206. An example of the core I/O control unit 300 is a configuration that complies with the PCI Express Endpoint defined in "PCI Express Base Specification Revision 3.0".

障害予兆検知部301は、コアI/O部A207及びコアI/O部B208の障害を監視・検知する機構である。ここで、コアI/O部A207或いはコアI/O部B208は、自身の障害を検知すると、BMI150を介してBMC102の障害予兆検知部301に障害検知を通知する。また、コアI/O部A207或いはコアI/O部B208は、自身の障害を検知すると、自身が持つステータスフラグをセットする。そのためBMC102の障害予兆検知部301は、BMI150を介して定期的にそのセットされたステータスフラグを読みこめば、障害有無を検知することができる。 The failure sign detection unit 301 is a mechanism that monitors and detects failures in core I/O unit A207 and core I/O unit B208. When core I/O unit A207 or core I/O unit B208 detects a failure in itself, it notifies the failure sign detection unit 301 of BMC 102 via BMI 150. When core I/O unit A207 or core I/O unit B208 detects a failure in itself, it sets its own status flag. Therefore, the failure sign detection unit 301 of BMC 102 can detect the presence or absence of a failure by periodically reading the set status flag via BMI 150.

コアI/O制御部300と障害予兆検知部301は、共にBMC102内のコントローラ(図示せず)で制御されるため、BMC102の内部に設置されているが、制御が可能であれば、他の場所にあってもよい。 The core I/O control unit 300 and the failure prediction detection unit 301 are both installed inside the BMC 102 because they are controlled by a controller (not shown) within the BMC 102, but may be located elsewhere as long as they are controllable.

図4は、本実施形態のコアI/O制御部300の構成である。ドライバ停止指示フラグレジスタ401、ドライバ起動指示フラグレジスタ402、ドライバ停止完了フラグレジスタ403及びドライバ起動完了フラグレジスタ404は、BMC102及びBHI152の両方からアクセス可能である。 Figure 4 shows the configuration of the core I/O control unit 300 in this embodiment. The driver stop instruction flag register 401, the driver start instruction flag register 402, the driver stop completion flag register 403, and the driver start completion flag register 404 are accessible from both the BMC 102 and the BHI 152.

割り込み制御部400は、ドライバ停止指示フラグレジスタ401のフラグがセットされると、ドライバ停止割り込みをBHI152に送信する。また、ドライバ起動指示フラグレジスタ402のフラグがセットされると、ドライバ起動割り込みをBHI152に送信する。当該割り込み制御部400の例としては、『PCI Express Base
Specification Revision 3.0』にて規定されているMSI
and MSI−X Capability Structuresに準拠した構成が考えられる。
When the flag of the driver stop instruction flag register 401 is set, the interrupt control unit 400 transmits a driver stop interrupt to the BHI 152. When the flag of the driver start instruction flag register 402 is set, the interrupt control unit 400 transmits a driver start interrupt to the BHI 152.
MSI as defined in "MSI Specification Revision 3.0"
and a configuration conforming to MSI-X Capability Structures is possible.

図1、図2、図3、図4及び図5を用いて、本実施形態におけるコアI/Oフェールオーバー制御システムの動作について説明する。 The operation of the core I/O failover control system in this embodiment will be explained using Figures 1, 2, 3, 4, and 5.

図5は、本実施形態におけるコアI/Oフェールオーバー制御システムの動作を説明するためのフローチャートである。 Figure 5 is a flowchart explaining the operation of the core I/O failover control system in this embodiment.

図5において、まず、BMC102が、運用系コアI/O機能の軽障害を検知する(S101)。すなわち、コアI/O部A207を運用系として稼働しているコンピュータサーバ100において、BMC102内の障害予兆検知部301は、BMI150を介して運用系コアI/O部A207の軽障害を検知する。本実施形態では、システム運用の継続が可能でかつ復旧が可能な障害を軽障害としている。軽障害の例としては、訂正可能障害の頻発がある。 In FIG. 5, first, the BMC 102 detects a minor fault in the operational core I/O function (S101). That is, in the computer server 100 in which the core I/O unit A207 is operating as the operational system, the fault sign detection unit 301 in the BMC 102 detects a minor fault in the operational core I/O unit A207 via the BMI 150. In this embodiment, a fault that allows the system to continue operating and can be recovered from is considered a minor fault. An example of a minor fault is the frequent occurrence of correctable faults.

次に、BMC102は、コアI/Oドライバ停止指示を行う(S102)。BMC102は、障害予兆検知部301を介して運用系コアI/O部A207の軽障害を認知すると、コアI/O制御部300内のドライバ停止指示フラグレジスタ401のフラグをセットする。コアI/O制御部300では、ドライバ停止指示フラグレジスタ401のフラグがセットされると、割り込み制御部400に伝えられ、割り込み制御部400からドライバ停止割り込みがBHI152に送信される。BHI152に送信されたドライバ停止割り込みは、システム制御部101内のホストブリッジ206を介して、CPUx200、CPUy201或いはCPUz202に送られる。ここでは、CPUx200にドライバ停止割り込みが送られたとする。ドライバ停止割り込みを受信したCPUx200上では、OS103がドライバ停止割り込みを認知し、当該割り込みに対応付けされているコアI/O切替ドライバ104を起動する。 Next, the BMC 102 issues a core I/O driver stop instruction (S102). When the BMC 102 recognizes a minor failure of the active core I/O unit A207 via the failure sign detection unit 301, it sets a flag in the driver stop instruction flag register 401 in the core I/O control unit 300. When the flag in the driver stop instruction flag register 401 is set in the core I/O control unit 300, it is notified to the interrupt control unit 400, and the interrupt control unit 400 transmits a driver stop interrupt to the BHI 152. The driver stop interrupt transmitted to the BHI 152 is transmitted to the CPUx 200, CPUy 201, or CPUz 202 via the host bridge 206 in the system control unit 101. Here, it is assumed that the driver stop interrupt is transmitted to the CPUx 200. On the CPUx 200 that receives the driver stop interrupt, the OS 103 recognizes the driver stop interrupt and starts the core I/O switching driver 104 associated with the interrupt.

次に、コアI/O切替ドライバ104が、コアI/Oドライバ105を停止させる(S103)。OS103により起動されたコアI/O切替ドライバ104は、割り込み要因を認知するために、システム制御部101内のホストブリッジ206を介して、BMC102内に在るコアI/O制御部300内のドライバ停止指示フラグレジスタ401及びドライバ起動指示フラグレジスタ402を読む。このタイミングでは、ドライバ停止指示フラグレジスタ401のフラグがセットされているので、コアI/O切替ドライバ104は、まず、ドライバ停止指示フラグレジスタ401のフラグをクリアする。そして、OS103を介してコアI/Oドライバ105を停止させる。これにより、運用系コアI/O部A207へのアクセスが停止する。 Next, the core I/O switching driver 104 stops the core I/O driver 105 (S103). In order to recognize the interrupt cause, the core I/O switching driver 104, started by the OS 103, reads the driver stop instruction flag register 401 and the driver start instruction flag register 402 in the core I/O control unit 300 in the BMC 102 via the host bridge 206 in the system control unit 101. At this timing, the flag in the driver stop instruction flag register 401 is set, so the core I/O switching driver 104 first clears the flag in the driver stop instruction flag register 401. Then, the core I/O driver 105 is stopped via the OS 103. This stops access to the active core I/O unit A 207.

そして、コアI/O切替ドライバ104は、コアI/O機能内情報を退避させる(S104)。すなわち、コアI/O切替ドライバ104は、システム制御部101内のホストブリッジ206を介して、運用系コアI/O部A207内の情報をメモリ205に一時退避させる。その後、コアI/O切替ドライバ104は、ドライバ停止完了フラグレジスタ403のフラグをセットする。 Then, the core I/O switching driver 104 saves the information in the core I/O function (S104). That is, the core I/O switching driver 104 temporarily saves the information in the active core I/O unit A 207 to the memory 205 via the host bridge 206 in the system control unit 101. After that, the core I/O switching driver 104 sets the flag in the driver stop completion flag register 403.

次に、BMCが、運用系コアI/O機能を切り替える(S105)。BMC102は、コアI/O制御部300内のドライバ停止完了フラグレジスタ403のフラグがセットされたことを検知すると、まず、ドライバ停止完了フラグレジスタ403のフラグをクリアする。そして、BCI151を介してコアI/O切替回路209に対し、コアI/O部B208を選択するように指示する。これにより、コアI/O部B208が運用系に切り替わる。 Next, the BMC switches the active core I/O function (S105). When the BMC 102 detects that the flag in the driver stop completion flag register 403 in the core I/O control unit 300 has been set, it first clears the flag in the driver stop completion flag register 403. Then, it instructs the core I/O switching circuit 209 via the BCI 151 to select core I/O unit B 208. This switches core I/O unit B 208 to the active system.

そして、BMC102は、コアI/Oドライバ105に対して再起動の指示を行う(S106)。すなわち、BMC102は、コアI/O部B208を運用系に切り替えた後、コアI/O制御部300内のドライバ起動指示フラグレジスタ402のフラグをセットする。コアI/O制御部300では、ドライバ起動指示フラグレジスタ402のフラグがセットされると、割り込み制御部400に伝えられ、割り込み制御部400からドライバ起動割り込みがBHI152に送信される。BHI152に送信されたドライバ起動割り込みは、システム制御部101内のホストブリッジ206を介して、CPUx200、CPUy201或いはCPUz202に送られる。ここでは、CPUx200にドライバ起動割り込みが送られたとする。ドライバ起動割り込みを受信したCPUx200上では、OS103がドライバ起動割り込みを認知し、当該割り込みに対応付けされているコアI/O切替ドライバ104を起動する。 Then, the BMC 102 instructs the core I/O driver 105 to restart (S106). That is, after switching the core I/O unit B208 to the active system, the BMC 102 sets the flag of the driver start instruction flag register 402 in the core I/O control unit 300. When the flag of the driver start instruction flag register 402 is set in the core I/O control unit 300, it is notified to the interrupt control unit 400, and the interrupt control unit 400 transmits a driver start interrupt to the BHI 152. The driver start interrupt transmitted to the BHI 152 is transmitted to the CPUx 200, CPUy 201, or CPUz 202 via the host bridge 206 in the system control unit 101. Here, it is assumed that the driver start interrupt is transmitted to the CPUx 200. On the CPUx 200 that receives the driver start interrupt, the OS 103 recognizes the driver start interrupt and activates the core I/O switching driver 104 associated with the interrupt.

コアI/O切替ドライバ104は、コアI/O機能内情報を復元する(S107)。OS103により起動されたコアI/O切替ドライバ104は、割り込み要因を認知するために、システム制御部101内のホストブリッジ206を介して、BMC102内に在るコアI/O制御部300内のドライバ停止指示フラグレジスタ401及びドライバ起動指示フラグレジスタ402のフラグを読む。このタイミングでは、ドライバ起動指示フラグレジスタ402のフラグがセットされているので、コアI/O切替ドライバ104は、まず、ドライバ起動指示フラグレジスタ402のフラグをクリアする。そして、システム制御部101内のホストブリッジ206を介して、上記(S104)にて、メモリ205に一時退避しておいたコアI/O機能内情報を新たな運用系コアI/O部B208に書き込む。これにより、I/O機能フェールオーバー前後のI/O機能内情報は同一になる。 The core I/O switching driver 104 restores the core I/O function information (S107). In order to recognize the interrupt cause, the core I/O switching driver 104, started by the OS 103, reads the flags of the driver stop instruction flag register 401 and the driver start instruction flag register 402 in the core I/O control unit 300 in the BMC 102 via the host bridge 206 in the system control unit 101. At this timing, the flag of the driver start instruction flag register 402 is set, so the core I/O switching driver 104 first clears the flag of the driver start instruction flag register 402. Then, via the host bridge 206 in the system control unit 101, the core I/O function information temporarily saved in the memory 205 in the above (S104) is written to the new active core I/O unit B208. As a result, the I/O function information before and after the I/O function failover becomes the same.

そして、コアI/O切替ドライバ104が、コアI/Oドライバ105を再起動させる(S108)。コアI/O切替ドライバ104は、OS103を介してコアI/Oドライバ105を再起動させる。これにより、新たな運用系コアI/O部B208へのアクセスが開始される。その後、コアI/O切替ドライバ104は、ドライバ起動完了フラグレジスタ404のフラグをセットする。 Then, the core I/O switching driver 104 restarts the core I/O driver 105 (S108). The core I/O switching driver 104 restarts the core I/O driver 105 via the OS 103. This starts access to the new active core I/O unit B208. After that, the core I/O switching driver 104 sets a flag in the driver start completion flag register 404.

最後に、BMC102は、コアI/Oドライバ105の再起動を確認する(S109)。BMC102は、コアI/O制御部300内のドライバ起動完了フラグレジスタ404のフラグがセットされたことを検知すると、ドライバ起動完了フラグレジスタ404のフラグをクリアし、一連のコアI/O機能フェールオーバー処理を終了する。 Finally, the BMC 102 checks whether the core I/O driver 105 has been restarted (S109). When the BMC 102 detects that the flag in the driver start completion flag register 404 in the core I/O control unit 300 has been set, it clears the flag in the driver start completion flag register 404 and ends the series of core I/O function failover processes.

本発明の実施形態によれば、BMC102が中心となって、予兆障害発生を契機に、コアI/O切替ドライバ104がコアI/Oドライバ105の停止・再起動を制御する。コアI/Oドライバ105が停止すれば、コアI/O機能へのアクセスは無くなるので、コアI/O機能を利用していないアプリケーションは、フェールオーバーの影響を受けることはない。また、CPU等のハードウェアが、コアI/O機能へのアクセスを一時停止させてコアI/O機能のフェールオーバーを行おうとすると、CPUを使用している他のソフトウェアも停止してしまう。しかし本実施形態によれば、CPUを使用している他のソフトウェアへの影響はなくなる。 According to an embodiment of the present invention, the BMC 102 plays a central role in controlling the core I/O switching driver 104 to stop and restart the core I/O driver 105 when a predictive failure occurs. When the core I/O driver 105 stops, there is no access to the core I/O function, so applications that do not use the core I/O function are not affected by the failover. In addition, when hardware such as a CPU temporarily suspends access to the core I/O function to perform a failover of the core I/O function, other software using the CPU also stops. However, according to this embodiment, there is no impact on other software using the CPU.

以上、述べてきたように、本実施形態によれば、コンピュータサーバ内に複雑かつ大規模なハードウェアを具備することなく、システム制御部内にコアI/O切替回路とBMC内にコアI/O制御部を追加すればいいだけで、これらは簡単な回路で規模も小さいので、コアI/O機能を利用していないアプリケーションを一時停止させることなくコアI/O機能のフェールオーバーを実現することが可能である。 As described above, according to this embodiment, it is possible to realize a failover of the core I/O function without suspending applications that do not use the core I/O function by simply adding a core I/O switching circuit to the system control unit and a core I/O control unit to the BMC, without having to equip the computer server with complex and large-scale hardware. Since these are simple circuits and small in scale, it is possible to realize a failover of the core I/O function without suspending applications that do not use the core I/O function.

尚、本願発明は、上述の実施形態に限定されるものではなく、本願発明の要旨を逸脱しない範囲で種々変更、変形して実施することが出来る。 The present invention is not limited to the above-described embodiment, and can be modified and altered in various ways without departing from the spirit and scope of the present invention.

本発明は、コアI/Oの信頼性向上のためにコアI/Oを二重化している情報機器に利用可能である。 The present invention can be used in information devices that have duplicated core I/O to improve the reliability of the core I/O.

100 コンピュータサーバ
101 システム制御部
102 BMC
103 OS
104 コアI/O切替ドライバ
105 コアI/Oドライバ
150 BMI
151 BCI
152 BHI
200 CPUx
201 CPUy
202 CPUz
205 メモリ
206 ホストブリッジ
207 コアI/O部A
208 コアI/O部B
209 コアI/O切替回路
210 I/Oブリッジ
250 インターフェース
251 インターフェース
252 インターフェース
255 インターフェース
257〜260 インターフェース
300 コアI/O制御部
301 障害予兆検知部
400 割り込み制御部
401 ドライバ停止指示フラグレジスタ
402 ドライバ起動指示フラグレジスタ
403 ドライバ停止完了フラグレジスタ
404 ドライバ起動完了フラグレジスタ
100 Computer server 101 System control unit 102 BMC
103 OS
104 Core I/O switching driver 105 Core I/O driver 150 BMI
151 BCI
152 B.H.I.
200 CPUx
201 CPUy
202 CPUz
205 Memory 206 Host bridge 207 Core I/O unit A
208 Core I/O section B
209 Core I/O switching circuit 210 I/O bridge 250 Interface 251 Interface 252 Interface 255 Interface 257 to 260 Interface 300 Core I/O control unit 301 Failure sign detection unit 400 Interrupt control unit 401 Driver stop instruction flag register 402 Driver start instruction flag register 403 Driver stop completion flag register 404 Driver start completion flag register

Claims (2)

複数のコアI/O部を有するシステム制御部とBMC(Base Management Controller)とを有するコンピュータのコアI/Oフェールオーバー制御システムにおいて、
前記システム制御部は、前記コアI/O部を切り替えるコアI/O切替回路と、
前記コアI/O部の内容を一時的に記憶するメモリとを有し、
前記BMCは、前記コアI/O部が障害を検出した場合に障害情報を収集する障害検知部と、前記障害情報を基に前記コアI/O切替回路を制御するコアI/O制御部と、を有し、
前記システム制御部は、前記コアI/O部を切り替える際に前記コアI/O部の内容を一時的に前記メモリに退避させるコアI/O切替ドライバを有することを特徴とするコアI/Oフェールオーバー制御システム。
In a core I/O failover control system for a computer having a system control unit having a plurality of core I/O units and a BMC (Base Management Controller),
the system control unit includes a core I/O switching circuit that switches the core I/O unit;
A memory for temporarily storing the contents of the core I/O unit,
The BMC includes a failure detection unit that collects failure information when the core I/O unit detects a failure, and a core I/O control unit that controls the core I/O switching circuit based on the failure information,
A core I/O failover control system characterized in that the system control unit has a core I/O switching driver that temporarily saves the contents of the core I/O unit to the memory when switching the core I/O unit.
複数のコアI/O部を有するシステム制御部とBMC(Base Management Controller)とを有するコンピュータのコアI/Oフェールオーバー制御方法において、
前記BMCは、前記コアI/O部が検出した障害を検知するステップと、
前記システム制御部は、障害が発生したコアI/O部の内容を一時的にメモリへ待避させるステップと、
前記BMCは、前記障害が発生したコアI/O部から正常なコアI/O部に切り替えるステップと、
前記システム制御部は、前記メモリへ一時的に待避したコアI/O部の内容を、切り替えた前記正常なコアI/O部に復元させるステップと、
を有することを特徴とするコアI/Oフェールオーバー制御方法。
A core I/O failover control method for a computer having a system control unit having a plurality of core I/O units and a BMC (Base Management Controller) , comprising:
the BMC detecting a failure detected by the core I/O unit;
the system control unit temporarily saves contents of the core I/O unit in which a failure has occurred in a memory ;
a step of switching the BMC from the failed core I/O unit to a normal core I/O unit;
a step of the system control unit restoring the contents of the core I/O unit temporarily saved in the memory to the normal core I/O unit that has been switched over;
13. A core I/O failover control method comprising:
JP2015029226A 2015-02-18 2015-02-18 Core I/O failover control system and core I/O failover control method Expired - Fee Related JP6449671B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015029226A JP6449671B2 (en) 2015-02-18 2015-02-18 Core I/O failover control system and core I/O failover control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015029226A JP6449671B2 (en) 2015-02-18 2015-02-18 Core I/O failover control system and core I/O failover control method

Publications (2)

Publication Number Publication Date
JP2016151907A JP2016151907A (en) 2016-08-22
JP6449671B2 true JP6449671B2 (en) 2019-01-09

Family

ID=56695360

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015029226A Expired - Fee Related JP6449671B2 (en) 2015-02-18 2015-02-18 Core I/O failover control system and core I/O failover control method

Country Status (1)

Country Link
JP (1) JP6449671B2 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4165423B2 (en) * 2004-03-16 2008-10-15 日本電気株式会社 System board with core I/O card installed
JP5931462B2 (en) * 2012-01-20 2016-06-08 三菱電機株式会社 Input/Output Control System
JP5970846B2 (en) * 2012-02-16 2016-08-17 日本電気株式会社 Computer system and computer system control method

Also Published As

Publication number Publication date
JP2016151907A (en) 2016-08-22

Similar Documents

Publication Publication Date Title
EP3173937B1 (en) Pcie network system with fail-over capability and operation method thereof
JP4585463B2 (en) Program for functioning virtual computer system
JP5347414B2 (en) Synchronization control device, information processing device, and synchronization management method
US7865782B2 (en) I/O device fault processing method for use in virtual computer system
US20130262917A1 (en) Redundant system control method
US10379931B2 (en) Computer system
CN1300393A (en) Method for switching between multiple system hosts
JP4182948B2 (en) Fault tolerant computer system and interrupt control method therefor
JP5287974B2 (en) Arithmetic processing system, resynchronization method, and farm program
US10360115B2 (en) Monitoring device, fault-tolerant system, and control method
JP2006172243A (en) Fault-tolerant computer device and synchronization method for the same
KR101038464B1 (en) Information processing device and control method
JP2004046507A (en) Information processor
JP2005215809A (en) Computer system, bus controller and bus failure processing method to be used for the same
JP6449671B2 (en) Core I/O failover control system and core I/O failover control method
JP4973755B2 (en) Stall monitoring device, stall monitoring method and program
JP4165499B2 (en) Computer system, fault tolerant system using the same, and operation control method thereof
JP5970846B2 (en) Computer system and computer system control method
JP2001175545A (en) Server system, fault diagnosing method, and recording medium
JP2008033598A (en) Dynamic substitution system, dynamic substitution method and program
WO2014068774A1 (en) Information processing device, arithmetic processing device, and counter synchronization method
WO2008072350A1 (en) System-monitoring device using dualized timer, and monitoring method
CN101201758A (en) Method for timer detection, multiprocessor switching and processor hot plug support
JP2000194677A (en) Information processing device with replacement processor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180925

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181101

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181113

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181206

R150 Certificate of patent or registration of utility model

Ref document number: 6449671

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees