JP2016151907A - Core i/o fail-over control system and core i/o fail-over control method - Google Patents

Core i/o fail-over control system and core i/o fail-over control method Download PDF

Info

Publication number
JP2016151907A
JP2016151907A JP2015029226A JP2015029226A JP2016151907A JP 2016151907 A JP2016151907 A JP 2016151907A JP 2015029226 A JP2015029226 A JP 2015029226A JP 2015029226 A JP2015029226 A JP 2015029226A JP 2016151907 A JP2016151907 A JP 2016151907A
Authority
JP
Japan
Prior art keywords
core
unit
bmc
control unit
driver
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.)
Granted
Application number
JP2015029226A
Other languages
Japanese (ja)
Other versions
JP6449671B2 (en
Inventor
齋藤 寿
Hisashi Saito
寿 齋藤
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
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Abstract

PROBLEM TO BE SOLVED: To implement fail over of a core I/O function, without arranging complicated and large-scale hardware in a computer server or suspending an application that does not use a core I/O function.SOLUTION: In a core I/O fail-over control system of a computer including a system control section having a plurality of core I/O sections, and a BMC, the system control section includes a core I/O switching circuit for switching the core I/O sections, and a memory temporarily storing the contents of the core I/O sections. The BMC includes: a fault detection section which collects fault information when the core I/O sections detect a fault; and a core I/O control section for controlling the core I/O switching circuit, on the basis of the fault information.SELECTED DRAWING: Figure 1

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 more particularly to a computer in which core I / O is duplicated in order to improve the reliability of the core I / O. The present invention relates to a core I / O failover control system and a core I / O failover control method in a server.

コア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 is a computer server (hereinafter referred to as a core I / O duplex server) that improves the reliability of the core I / O by mounting two core I / Os. Among these, when a light failure occurs in the active core I / O, a control method is adopted that switches the standby core I / O to the active system while continuing the operation of the computer server. Most current computer servers 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. For this reason, most OSs (Operating Systems) do not assume a core I / O duplex server. In order to realize core I / O failover in a core I / O duplex server under such an OS compatible situation, it is necessary to provide the server with very complicated and large-scale hardware. Or there was a case where it had to be realized in the system firmware layer at the expense of application performance. Note that “failover” in the present specification means that when a failure occurs in an operating system, the function at the location where the failure has occurred is taken over by an alternative function and processing is continued.

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

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

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

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

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

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

本発明は、上記課題を解決するために、複数のコアI/O部を有するシステム制御部とBMCとを有するサーバのコアI/Oフェールオーバー制御システムにおいて、システム制御部は、コアI/O部を切り替えるコアI/O切替回路と、コアI/O部の内容を一時的に記憶するメモリとを有し、BMCは、コアI/O部が障害を検出した場合に障害情報を収集する障害検知部と、障害情報を基にコアI/O切替回路を制御するコアI/O制御部とを有することを特徴としている。   In order to solve the above problems, the present invention provides a core I / O failover control system for a server having a system control unit having a plurality of core I / O units and a BMC. A core I / O switching circuit for switching a part and a memory for temporarily storing the contents of the core I / O part, and the BMC collects fault information when the core I / O part detects a fault It has a failure detection unit and a core I / O control unit that controls the core I / O switching circuit based on the failure information.

また、本発明は、上記課題を解決するために、複数のコアI/O部を有するシステム制御部とBMCとを有するサーバのコアI/Oフェールオーバー制御方法において、システム制御部は、コアI/O部を切り替えるステップと、コアI/O部の内容を一時的に記憶するステップとを有し、BMCは、コアI/O部が障害を検出した場合に障害情報を収集するステップと、障害情報を基にコアI/O切替回路を制御するステップとを有することを特徴としている。   According to another aspect of the present invention, there is provided a core I / O failover control method for a server having a BMC and a system control unit having a plurality of core I / O units. A step of switching the / O unit and a step of temporarily storing the contents of the core I / O unit, the BMC collecting failure information when the core I / O unit detects a failure, And a step of controlling the core I / O switching circuit based on the failure information.

本発明によれば、コンピュータサーバ内に複雑かつ大規模なハードウェアを具備することなく、また、コアI/O機能を利用していないアプリケーションを一時停止させることなくコアI/O機能のフェールオーバーを実現することができる。   According to the present invention, the failover of the core I / O function can be performed without temporarily suspending an application that does not use the core I / O function without providing complicated and large-scale hardware in the computer server. Can be realized.

本発明の実施形態におけるコアI/Oフェールオーバー制御システムの構成を示すブロック図である。It is a block diagram which shows the structure of the core I / O failover control system in embodiment of this invention. 本発明の実施形態におけるシステム制御部の構成を示すブロック図である。It is a block diagram which shows the structure of the system control part in embodiment of this invention. 本発明の実施形態におけるBMCの構成を示すブロック図である。It is a block diagram which shows the structure of BMC in embodiment of this invention. 本発明の実施形態におけるコアI/O制御部の構成を示すブロック図である。It is a block diagram which shows the structure of the core I / O control part in embodiment of this invention. 本発明の実施形態におけるコアI/Oフェールオーバー制御システムの動作を示すフローチャートである。It is a flowchart which shows operation | movement of the core I / O failover control system in embodiment of this invention.

以下、本発明の実施形態について図面を参照して詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

(実施形態)
図1は、本発明の実施形態におけるコアI/Oフェールオーバー制御システムの構成を示すブロック図である。図1を用いて、本実施形態におけるコアI/Oフェールオーバー制御システムの構成について説明する。
(Embodiment)
FIG. 1 is a block diagram showing a 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 in this embodiment will be described with reference to FIG.

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

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

BMC(Base Management Controller)102は、システム制御部101を管理・制御するコントローラであり、システム制御部101と3つのインターフェースBMI150、BCI151及びBHI152を介して接続されている。   A 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上で動作する。   The OS 103 is an operating system that operates on the system control unit 101, and has a function of starting or stopping various drivers. The core I / O switching driver 104 and the core I / O driver 105 operate on the OS 103.

コアI/O切替ドライバ104は、システム制御部101からの割り込みを契機にシステム制御部101上で動きだし、OS103を介してコアI/Oドライバ105を停止または起動させる。また、システム制御部101内の運用系コアI/Oの情報を待機系コアI/O内にコピーする。   The core I / O switching driver 104 starts running 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. In addition, information on the active core I / O in the system control unit 101 is copied into the standby core I / O.

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

ホストブリッジ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 includes CPUs 200 to 202, a memory 205, an I / O bridge 210 for connecting I / O devices, a core I / O switching circuit 209, and interfaces 250 to 252, 255, 260, and 259. It is responsible for data transfer. In addition, it has a BHI 152 that is an interface with the BMC 102. The 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 A207 and the core I / O unit B208 are components having the core I / O function of the computer server, and both provide the same function. The core I / O function has an I / O function essential for operating as a computer server. As an example of a function included in the core I / O function, a CMOS / NvRAM (Non volatile
There are memories such as Random Access Memory, serial controllers, timers, USB (Universal Serial Bus) controllers, interrupt controllers, and the like.

また、コアI/O部A207及びコアI/O部B208は、BMC102とのインターフェースであるBMI150を有する。BMC102は、当該BMI150を介して、コアI/O部A207及びコアI/O部B208の障害を監視する。   The core I / O unit A 207 and the core I / O unit B 208 have a BMI 150 that is an interface with the BMC 102. The BMC 102 monitors the failure of the core I / O unit A207 and the core I / O unit B208 via the BMI 150.

コア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 that is an interface with the BMC 102, and is a component that switches between the core I / O unit A207 and the core I / O unit B208 by the BCI 151. The core I / O switching circuit 209 is connected to the core I / O unit A207 and the core I / O unit B208 via interfaces 257 and 258. One core I / O unit A207 or B208 selected by the core I / O switching circuit 209 becomes the active system, and the other core I / O unit B208 or A207 becomes the standby system.

図3は、本実施形態に係るBMC102の構成を示すブロック図であり、図4は、本実施形態に係るコアI/O制御部300の構成を示すブロック図である。図3、図4を用いて、BMC102の詳細な構成について説明する。   FIG. 3 is a block diagram illustrating a configuration of the BMC 102 according to the present embodiment, and FIG. 4 is a block diagram illustrating a configuration of the core I / O control unit 300 according to the present embodiment. A detailed configuration of the BMC 102 will be described with reference to FIGS. 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 includes a core I / O control unit 300 and a failure sign detection unit 301. The core I / O control unit 300 has a function of raising various interrupts associated with core I / O switching. In addition, the BMC 102 and the core I / O switching driver 104 can communicate with each other through the BHI 152 and the host bridge 206. As an example of the core I / O control unit 300, a configuration compliant with PCI Express Endpoint defined in “PCI Express Base Specification Revision 3.0” can be considered.

障害予兆検知部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 for monitoring and detecting failures in the core I / O unit A207 and the core I / O unit B208. Here, when the core I / O unit A 207 or the core I / O unit B 208 detects its own failure, the failure detection unit 301 of the BMC 102 is notified of the failure detection via the BMI 150. Further, when the core I / O unit A 207 or the core I / O unit B 208 detects its own failure, it sets a status flag held by itself. Therefore, the failure sign detection unit 301 of the BMC 102 can detect the presence / absence of a failure by periodically reading the set status flag via the BMI 150.

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

図4は、本実施形態のコアI/O制御部300の構成である。ドライバ停止指示フラグレジスタ401、ドライバ起動指示フラグレジスタ402、ドライバ停止完了フラグレジスタ403及びドライバ起動完了フラグレジスタ404は、BMC102及びBHI152の両方からアクセス可能である。   FIG. 4 shows the configuration of the core I / O control unit 300 of 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 activation instruction flag register 402 is set, a driver activation interrupt is transmitted to the BHI 152. An example of the interrupt control unit 400 is “PCI Express Base”.
MSI defined in Specification Revision 3.0
and a configuration conforming to MSI-X Capability Structures is conceivable.

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

図5は、本実施形態におけるコアI/Oフェールオーバー制御システムの動作を説明するためのフローチャートである。   FIG. 5 is a flowchart for 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 failure in the active core I / O function (S101). That is, in the computer server 100 operating with the core I / O unit A 207 as the active system, the failure sign detection unit 301 in the BMC 102 detects a minor failure of the active system core I / O unit A 207 via the BMI 150. In the present embodiment, a failure that can continue system operation and can be recovered is defined as a light failure. An example of a minor disorder is frequent corrections.

次に、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 in the active core I / O unit A 207 via the failure sign detection unit 301, the BMC 102 sets a flag in the driver stop instruction flag register 401 in the core I / O control unit 300. In the core I / O control unit 300, when the flag of the driver stop instruction flag register 401 is set, the flag is transmitted to the interrupt control unit 400, and a driver stop interrupt is transmitted from the interrupt control unit 400 to the BHI 152. The driver stop interrupt transmitted to the BHI 152 is sent to the CPU x 200, CPU y 201, or CPU z 202 via the host bridge 206 in the system control unit 101. Here, it is assumed that a driver stop interrupt is sent to the CPU x200. On the CPU x 200 that has received the driver stop interrupt, the OS 103 recognizes the driver stop interrupt and activates 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). The core I / O switching driver 104 activated by the OS 103 receives a driver in the core I / O control unit 300 in the BMC 102 via the host bridge 206 in the system control unit 101 in order to recognize the interrupt factor. The stop instruction flag register 401 and the driver activation instruction flag register 402 are read. At this timing, since the flag of the driver stop instruction flag register 401 is set, the core I / O switching driver 104 first clears the flag of the driver stop instruction flag register 401. Then, the core I / O driver 105 is stopped via the OS 103. As a result, access to the active core I / O unit A207 is stopped.

そして、コア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 in-core I / O function information (S104). That is, the core I / O switching driver 104 temporarily saves the information in the operational core I / O unit A 207 in the memory 205 via the host bridge 206 in the system control unit 101. Thereafter, the core I / O switching driver 104 sets the flag of 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 of the driver stop completion flag register 403 in the core I / O control unit 300 is set, the BMC 102 first clears the flag of the driver stop completion flag register 403. Then, the core I / O switching circuit 209 is instructed via the BCI 151 to select the core I / O unit B208. As a result, the core I / O unit B208 is switched 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, the BMC 102 sets the flag of the driver activation instruction flag register 402 in the core I / O control unit 300 after switching the core I / O unit B 208 to the active system. In the core I / O control unit 300, when the flag of the driver activation instruction flag register 402 is set, the flag is transmitted to the interrupt control unit 400, and a driver activation interrupt is transmitted from the interrupt control unit 400 to the BHI 152. The driver activation interrupt transmitted to the BHI 152 is sent to the CPU x 200, CPU y 201, or CPU z 202 via the host bridge 206 in the system control unit 101. Here, it is assumed that a driver activation interrupt is sent to the CPU x200. On the CPU x 200 that has received the driver activation interrupt, the OS 103 recognizes the driver activation 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). The core I / O switching driver 104 activated by the OS 103 receives a driver in the core I / O control unit 300 in the BMC 102 via the host bridge 206 in the system control unit 101 in order to recognize the interrupt factor. The flags of the stop instruction flag register 401 and the driver activation instruction flag register 402 are read. At this timing, since the flag of the driver activation instruction flag register 402 is set, the core I / O switching driver 104 first clears the flag of the driver activation 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 transferred to the new active core I / O unit B208. Write. Thereby, the information in the I / O function before and after the I / O function failover is 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. As a result, access to the new operational core I / O unit B 208 is started. Thereafter, the core I / O switching driver 104 sets a flag of the driver activation completion flag register 404.

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

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

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

尚、本願発明は、上述の実施形態に限定されるものではなく、本願発明の要旨を逸脱しない範囲で種々変更、変形して実施することが出来る。   In addition, this invention is not limited to the above-mentioned embodiment, It can implement in various changes and deformation | transformation in the range which does not deviate from the summary of this invention.

本発明は、コアI/Oの信頼性向上のためにコアI/Oを二重化している情報機器に利用可能である。   The present invention can be used for information equipment in which the core I / O is duplicated in order 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 BHI
200 CPUx
201 CPUy
202 CPUz
205 Memory 206 Host Bridge 207 Core I / O Unit A
208 Core I / O part 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 (6)

複数のコアI/O部を有するシステム制御部とBMCとを有するコンピュータのコアI/Oフェールオーバー制御システムにおいて、
前記システム制御部は、前記コアI/O部を切り替えるコアI/O切替回路と、
前記コアI/O部の内容を一時的に記憶するメモリと、
を有し、
前記BMCは、前記コア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,
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;
Have
The BMC includes a failure detection unit that collects failure information when the core I / O unit detects a failure;
A core I / O controller that controls the core I / O switching circuit based on the failure information;
A core I / O failover control system.
前記システム制御部は、前記コアI/O制御部によって前記コアI/O切替回路を制御するコアI/O切替ドライバを有していることを特徴とする請求項1記載のコアI/Oフェールオーバー制御システム。   2. The core I / O fail according to claim 1, wherein the system control unit includes a core I / O switching driver that controls the core I / O switching circuit by the core I / O control unit. Over control system. 前記コアI/O切替ドライバは、前記コアI/O部を切り替える際に前記コアI/O部の内容を一時的に前記メモリに退避させることを特徴とする請求項1または2に記載のコアI/Oフェールオーバー制御システム。   3. The core according to claim 1, wherein the core I / O switching driver temporarily saves the contents of the core I / O unit in the memory when switching the core I / O unit. I / O failover control system. 前記コアI/O部は、自身の障害を検出することを特徴とする請求項1から3のうちいずれか1項に記載のコアI/Oフェールオーバー制御システム。   The core I / O failover control system according to any one of claims 1 to 3, wherein the core I / O unit detects its own failure. 複数のコアI/O部を有するシステム制御部とBMCとを有するコンピュータのコアI/Oフェールオーバー制御方法において、
前記BMCは、前記コアI/O部が検出した障害情報を検知するステップと、
前記システム制御部は、前記コアI/O部を切り替えるステップと、
前記障害が発生したコアI/O部の内容を一時的に待避させるステップと、
前記BMCは、運用系コアI/O部を前記障害が発生したコアI/O部から正常なコアI/O部に切り替えるステップと、
前記システム制御部は、前記一時的に待避したコアI/O部の内容を前記切り替えた正常なコアI/O部に復元させるステップと、
を有することを特徴とするコアI/Oフェールオーバー制御方法。
In 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,
The BMC detects fault information detected by the core I / O unit;
The system control unit switching the core I / O unit;
Temporarily saving the contents of the core I / O unit in which the failure has occurred;
The BMC switches the active core I / O unit from the failed core I / O unit to a normal core I / O unit;
The system control unit restores the contents of the temporarily saved core I / O unit to the switched normal core I / O unit;
A core I / O failover control method comprising:
前記システム制御部は、前記コアI/O制御部によって前記コアI/O切替回路を制御するステップを有していることを特徴とする請求項5記載のコアI/Oフェールオーバー制御方法。   6. The core I / O failover control method according to claim 5, wherein the system control unit includes a step of controlling the core I / O switching circuit by the core I / O control unit.
JP2015029226A 2015-02-18 2015-02-18 Core I / O failover control system and core I / O failover control method Active 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 true JP2016151907A (en) 2016-08-22
JP6449671B2 JP6449671B2 (en) 2019-01-09

Family

ID=56695360

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015029226A Active 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)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005266948A (en) * 2004-03-16 2005-09-29 Nec Corp System board mounted with core i/o card
JP2013149114A (en) * 2012-01-20 2013-08-01 Mitsubishi Electric Corp Input/output control system
JP2013168064A (en) * 2012-02-16 2013-08-29 Nec Corp Computer system and method for controlling computer system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005266948A (en) * 2004-03-16 2005-09-29 Nec Corp System board mounted with core i/o card
JP2013149114A (en) * 2012-01-20 2013-08-01 Mitsubishi Electric Corp Input/output control system
JP2013168064A (en) * 2012-02-16 2013-08-29 Nec Corp Computer system and method for controlling computer system

Also Published As

Publication number Publication date
JP6449671B2 (en) 2019-01-09

Similar Documents

Publication Publication Date Title
TWI597953B (en) Pcie network system with failover capability and operation method thereof
JP5347414B2 (en) Synchronization control device, information processing device, and synchronization management method
US7441150B2 (en) Fault tolerant computer system and interrupt control method for the same
US9195553B2 (en) Redundant system control method
JP2013097553A (en) Switching control device, switching control method, information processor and switching control program
US10379931B2 (en) Computer system
JP5287974B2 (en) Arithmetic processing system, resynchronization method, and farm program
JP2006172243A (en) Fault-tolerant computer device and synchronization method for the same
KR101038464B1 (en) Information processing device and control method
JP4218538B2 (en) Computer system, bus controller, and bus fault processing method used therefor
JP2004046507A (en) Information processor
JP6449671B2 (en) Core I / O failover control system and core I / O failover control method
JP5332257B2 (en) Server system, server management method, and program thereof
JP4630023B2 (en) System control apparatus, system control method, and system control program
JP5733384B2 (en) Information processing device
JP4165499B2 (en) Computer system, fault tolerant system using the same, and operation control method thereof
JP4973755B2 (en) Stall monitoring device, stall monitoring method and program
JP5970846B2 (en) Computer system and computer system control method
WO2014068774A1 (en) Information processing device, arithmetic processing device, and counter synchronization method
JP2005208972A (en) Computer device and system
JP7056057B2 (en) Information processing equipment, information processing methods, information processing systems, and computer programs
JP2001175545A (en) Server system, fault diagnosing method, and recording medium
JP2008033598A (en) Dynamic substitution system, dynamic substitution method and program
JP2006309362A (en) Bus arbitration switching system, its method, processor device to be used for the same and program
JP2000194677A (en) Information processor equipped with alternative 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