JP2021140337A - PCIeデバイス、障害復旧方法、プログラム - Google Patents

PCIeデバイス、障害復旧方法、プログラム Download PDF

Info

Publication number
JP2021140337A
JP2021140337A JP2020036050A JP2020036050A JP2021140337A JP 2021140337 A JP2021140337 A JP 2021140337A JP 2020036050 A JP2020036050 A JP 2020036050A JP 2020036050 A JP2020036050 A JP 2020036050A JP 2021140337 A JP2021140337 A JP 2021140337A
Authority
JP
Japan
Prior art keywords
pcie
pcie device
failure
software
virtual
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
JP2020036050A
Other languages
English (en)
Other versions
JP7435035B2 (ja
Inventor
潤一 松下
Junichi Matsushita
潤一 松下
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 Corp
Original Assignee
NEC Corp
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 Corp filed Critical NEC Corp
Priority to JP2020036050A priority Critical patent/JP7435035B2/ja
Publication of JP2021140337A publication Critical patent/JP2021140337A/ja
Application granted granted Critical
Publication of JP7435035B2 publication Critical patent/JP7435035B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Information Transfer Systems (AREA)

Abstract

【課題】専用のHotPlug機構を必要とせずに、障害時におけるPCIeデバイスの動的な切り離しや、復旧時におけるPCIeデバイスの動的な接続を行うPCIeデバイスの障害復旧方法を提供する。【解決手段】PCIeデバイスの障害復旧方法では、PCIeデバイスの障害を検出し、PCIeデバイスに搭載される仮想PCIeスイッチのコンフィギュレーションレジスタをセットして、PCIeデバイスの動的な切り離し要求を行い、PCIeデバイスの障害復旧処理を行うためにPCIeデバイスの再初期化処理を実行し、仮想PCIeスイッチのコンフィギュレーションレジスタを再度セットして、PCIeデバイスの動的な組み込み要求を行い、PCIeデバイスを障害状態から復帰させる。【選択図】図2

Description

本発明は、PCIeデバイス、障害復旧方法、プログラムに関する。
近年、IoT(Internet of Things)機器の開発に伴い、センサやIT(Information Technology)機器と連携するためにイーサネット(登録商標)を拡張する技術が開発されており、PCIエクスプレス(Peripheral Component Interconnect Express、以下「PCIe」と称する)が活用されている。また、PCI―SIG(PCI Special Interest Group)により種々の仕様書(PCI Express Base Specification)が策定されている。
PCIeデバイスの障害復旧方法に関する文献として、特許文献1は、計算機システムにおけるI/Oアダプタの障害処理方法を開示している。この技術は、ファームウェアで検出されないドライバ検出障害をオペレーティングシステム(OS)のログを監視することで検出し、さらに、BIOS(Basic Input/Output System)を起動して障害発生部位を閉塞処理することで、ドライバ検出障害後のPCIeデバイスをI/Oアクセスに対して無応答を実現するものである。
特開2013−222360号公報
近年のPCIeデバイスでは、独自のRAS(Reliability Availability Serviceability)機能を搭載しているものが増えている。例えば、PCIeデバイスにて致命的な障害を検出した場合でも、PCIeデバイス自体の再初期化を独自に行うことにより、致命的な障害から復帰させるものがある。PCIeデバイスの再初期化を行うとき、PCIeは一旦リンクダウンすることが考えられるが、ソフトウェア(OSなど)がPCIeデバイスの再初期化を認識していない状況では、サプライズリンクダウンに繋がり、OSパニックなどの問題が発生する。しかし、ソフトウェア(OSやBIOS)に依拠した特許文献1の技術ではこの問題に対応できない。
一方、PCI−SGによりPCIeデバイスの動的な切り離し/接続について仕様書が策定されているが、例えば、専用のHotPlug機構をPCIeデバイスに接続されるサーバ本体装置に搭載する必要がある。しかし、一般的に用いられる安価なサーバ本体装置では、専用のHotPlug機構を備えているものが少なく、PCIeデバイスの障害復旧を目的としたPCIeデバイスの動的な切り離し/接続を安全に行うことができないという課題がある。
本発明は、上述の課題を解決するPCIeデバイス、障害復旧方法、プログラムである。
本発明の第1の態様によれば、PCIeデバイスは障害管理部と仮想PCIeスイッチを備える。障害管理部にて障害を検出すると、仮想PCIeスイッチはコンフィグレーションレジスタをセットして、ソフトウェアからの動的な切り離し要求を行う。ソフトウェアからの動的な切り離し完了後、障害管理部は外部デバイスに対して再初期化指示を行って障害復旧処理を実行させる。外部デバイスによる障害復旧処理後、障害管理部は仮想PCIeスイッチに対して再接続を通知し、仮想PCIeスイッチはコンフィギュレーションレジスタを再度セットしてソフトウェアとの動的な再接続の要求を行う。
本発明の第2の態様によれば、PCIeデバイスの障害復旧方法は、PCIeデバイスの障害を検出し、PCIeデバイスに搭載される仮想PCIeスイッチのコンフィギュレーションレジスタをセットして、PCIeデバイスの動的な切り離し要求を行う。また、PCIeデバイスの障害復旧処理を行うためにPCIeデバイスの再初期化処理を実行する。その後、仮想PCIeスイッチのコンフィギュレーションレジスタを再度セットして、PCIeデバイスの動的な組み込み要求を行い、PCIeデバイスを障害状態から復帰させる。
本発明によれば、障害時におけるPCIeデバイスの動的な切り離しや、復旧時におけるPCIeデバイスの動的な接続を安全に行うことができるという効果が得られる。
本発明の一実施形態に係るPCIeデバイスの構成を示すブロック図である。 本発明の一実施形態に係るPCIeデバイスの障害復旧処理を示すフローチャートである。 本発明に係るPCIeデバイスの基本構成例を示すブロック図である。 本発明に係るPCIeデバイスの障害復旧方法の基本手順を示すシーケンス図である。
以下、本発明の一実施形態によるPCIeデバイスおよびPCIeデバイスの障害復旧方法について添付図面を参照して詳細に説明する。図1は、本発明の一実施形態に係るPCIeデバイスの構成を示すブロック図である。PCIeデバイス4は、障害管理部1と、仮想PCIeスイッチ2と、PCIeインタフェース(I/F)3と、を具備して、外部デバイス(例えば、マイクロコンピュータ)5と通信接続される。また、PCIeデバイス4は、PCIeインタフェース3を介してソフトウェアと連携している。
次に、PCIeデバイス4の動作について説明する。障害管理部1は、PCIeデバイス4の障害を監視する。障害管理部1がPCIeデバイス4において発生した障害を検出すると、仮想PCIeスイッチ2に対して障害検出通知aを送出する。仮想PCIeスイッチ2は、複数のコンフィギュレーションレジスタを備えており、その内の「Attention Button Pressedレジスタ」をセットすることで、仮想的にAttentionボタンが押された状態を実現し、PCIeインタフェース3を介してソフトウェアに対してPCIeデバイス4のHotPlug要求(又は、HotRemoval要求)bを送出する。ソフトウェアでのHotRemoval処理が終了すると、その処理結果がコンフィグレーションレジスタに反映され、仮想PCIeスイッチ2は障害管理部1に対してHotPlug完了通知(または、HotRemoval完了通知)cを送出する。これ以降、仮想PCIeスイッチ2は、PCIeデバイス4が切り離されたように振る舞う。
HotPlug完了通知cを受けた障害管理部1は、外部デバイス5に対してPCIeデバイス4の再初期化指示dを送出する。再初期化指示dを受けた外部デバイス5は、PCIeデバイス4の障害復旧処理を行う。その後、外部デバイス5は、PCIeデバイス4の障害復旧の完了を示す障害復旧完了通知eを障害管理部1へ送出する。障害復旧完了通知eを受けた障害管理部1は、PCIeデバイス4の再接続のために、仮想PCIeスイッチ2に対して再接続通知fを送出する。再接続通知fを受けた仮想PCIeスイッチ2は、コンフィギュレーションレジスタ内の「Attention Button Pressedレジスタ」を再度セットすることで、仮想的にAttentionボタンが押された状態を実現し、PCIeインタフェース3を介してソフトウェアに対してPCIeデバイス4のHotPlug要求(または、HotInsertion要求)gを送出する。これにより、ソフトウェアにおいてHotInsertion処理が実行される。ソフトウェアにおいてHotInsertion処理が終了すると、その処理結果がコンフィギュレーションレジスタに反映さる。これ以降、仮想PCIeスイッチ2は、PCIeデバイス1が再接続されたように振る舞う。
次に、図2を参照して、PCIeデバイス4の障害復旧処理について詳細に説明する。図2の障害復旧処理は、ステップS1乃至S9を含んでいる。まず、障害管理部1がPCIeデバイス4の障害を検出すると(S1、Yes)、仮想PCIeスイッチ2に対してPCIeデバイス4のソフトウェアからの切り離し要求(または、削除要求)を行う(S2)。ソフトウェアからの切り離し要求を受けた仮想PCIeスイッチ2は、コンフィギュレーションレジスタ内の「Attention Button Pressedレジスタ」をセットすることで、仮想的にAttentionボタンが押された状態とし、ソフトウェアに対し切り離し要求に係る通知(割り込み通知)を行う(S3)。
その後、ソフトウェアによる切り離し処理が完了したことを確認(または、削除確認)すると(S4、Yes)、障害管理部1は、障害復旧を行うために、仮想PCIeスイッチ2を除いて、PCIeデバイス4の再初期化処理を指示する(S5)。障害管理部1がPCIeデバイス4の再初期化の完了を確認すると(S6、Yes)、仮想PCIeスイッチ2は、再度コンフィグレーションレジスタ内の「Attention Button Pressedレジスタ」をセットすることで仮想的にAttentionボタンが押された状態とし、ソフトウェアに対して組み込み要求(S7)や割り込み通知(S8)を行う。
障害管理部1は、ソフトウェアによる組み込み処理が完了したことを確認すると(S9、Yes)PCIeデバイス4を障害状態から復帰させる。このようにして、専用のHotPlug機構を有しない外部デバイス5と接続されたPCIeデバイス4に障害が発生しても、仮想PCIeスイッチ2のコンフィグレーションレジスタを設定することにより、PCIeデバイス4をソフトウェアから動的に切り離した後に、障害復旧後に、PCIeデバイス4をソフトウェアに動的に再接続することができる。
上述の実施形態では、外部デバイス5をPCIeデバイス4に接続して再初期化を行うものとしたが、これは、再初期化処理を制限するものではない。例えば、PCIeデバイス4にLED(Light−Emitting Diode)やボタンなどを実装し、管理者がLEDを目視することにより、ボタンを押して手動で再初期化処理を実行するようにしてもよい。
次に、本発明に係るPCIeデバイスの構成について図3を参照して説明する。図3は、PCIeデバイス4の基本的な構成例を示すブロック図である。PCIeデバイス4は、障害管理部1と仮想PCIeスイッチ2とを備えている。仮想PCIeスイッチ2には、コンフィグレーションレジスタとして「Attention Button Pressedレジスタ」が備えられている。
次に、本発明に係るPCIeデバイス4の障害復旧処理について図4を参照して説明する。図4は、PCIeデバイス4の障害管理部1と仮想PCIeスイッチ2の動作を示すシーケンス図であり、大別すると、3つの手順(I)乃至(III)より構成される。
(I)障害管理部1は、PCIeデバイス4において発生した障害を検出すると、仮想PCIeスイッチ2に対して障害検出通知aを送出する。仮想PCIeスイッチ2は、仮想的にAttentionボタンが押された状態を実現し、ソフトウェアに対してPCIeデバイス4のHotPlug要求(又は、HotRemoval要求)bを送出する。
(II)ソフトウェアでのHotRemoval処理が終了すると、その処理結果がコンフィグレーションレジスタに反映され、仮想PCIeスイッチ2は障害管理部1に対してHotPlug完了通知(または、HotRemoval完了通知)cを送出する。HotPlug完了通知cを受けた障害管理部1は、外部デバイスに対してPCIeデバイス4の再初期化指示dを送出する。
(III)外部デバイスは障害復旧処理を実行し、その後、PCIeデバイス4の障害復旧の完了を示す障害復旧完了通知eを障害管理部1へ送出する。障害復旧完了通知eを受けた障害管理部1は、PCIeデバイス4の再接続のために、仮想PCIeスイッチ2に対して再接続通知fを送出する。再接続通知fを受けた仮想PCIeスイッチ2は、再度、仮想的にAttentionボタンが押された状態を実現し、ソフトウェアに対してPCIeデバイス4のHotPlug要求(または、HotInsertion要求)gを送出する。これにより、ソフトウェアにおいてHotInsertion処理が実行される。ソフトウェアにおいてHotInsertion処理が終了すると、その処理結果がコンフィギュレーションレジスタに反映される。
この結果、(I)障害が発生したPCIeデバイス4を動的にソフトウェアから切り離し、(II)PCIeデバイス4の再初期化処理を行い、(III)障害復旧したPCIeデバイス1を動的にソフトウェアに再接続する。このような手順により、PCIeデバイスの障害復旧処理を実現することができる。
上述のPCIeデバイスは、プロセッサやメモリを備えており、PCIeデバイスの障害復旧処理がプログラムとしてメモリに記憶され、プロセッサは、該プログラムをメモリから読み出して実行することにより、上述の実施形態にて説明した障害管理部やPCIeスイッチ(コンフィギュレーションレジスタ)の機能を実現するとともに、PCIeデバイスの障害復旧処理を実現することができる。
最後に、本発明は上述の実施形態や変形例に限定されるものではなく、特許請求の範囲に規定した発明の保護範囲内における種々の設計変更や改変をも包含するものである。
本発明は、本実施形態で説明したPCIeデバイスのみならず、他のIoT機器やリモート制御装置などにも適用可能であり、障害が発生した機器を動的に切り離し、障害復旧処理後に、該機器を動的に再接続するという手順を実施することにより、安全かつ迅速な障害復旧を実現することができる。
1 障害管理部
2 仮想PCIeスイッチ
3 PCIeインタフェース
4 PCIeデバイス
5 外部デバイス

Claims (5)

  1. 障害管理部と仮想PCIeスイッチを備えるPCIeデバイスであって、
    前記障害管理部にて障害を検出すると、前記仮想PCIeスイッチはコンフィグレーションレジスタをセットして、ソフトウェアからの動的な切り離し要求を行い、
    前記ソフトウェアからの動的な切り離し完了後、前記障害管理部は外部デバイスに対して再初期化指示を行って障害復旧処理を実行させ、
    前記外部デバイスによる障害復旧処理後、前記障害管理部は前記仮想PCIeスイッチに対して再接続を通知し、
    前記仮想PCIeスイッチはコンフィギュレーションレジスタを再度セットして前記ソフトウェアとの動的な再接続の要求を行う、
    PCIeデバイス。
  2. 前記ソフトウェアからの動的な切り離し要求はHotRemoval要求であり、前記ソフトウェアでのHotRemoval処理完了が前記コンフィギュレーションレジスタに反映され、その後、前記PCIeスイッチは前記ソフトウェアから切り離されたように振る舞う、請求項1に記載のPCIeデバイス。
  3. 前記ソフトウェアとの動的な再接続の要求はHotInsertion要求であり、前記ソフトウェアでのHotInsertion処理完了が前記コンフィギュレーションレジスタに反映され、その後、前記PCIeスイッチは前記ソフトウェアと再接続されたように振る舞う、請求項1に記載のPCIeデバイス。
  4. PCIeデバイスの障害復旧方法であって、
    前記PCIeデバイスの障害を検出し、
    前記PCIeデバイスに搭載される仮想PCIeスイッチのコンフィギュレーションレジスタをセットして、前記PCIeデバイスの動的な切り離し要求を行い、
    前記PCIeデバイスの障害復旧処理を行うために前記PCIeデバイスの再初期化処理を実行し、
    前記仮想PCIeスイッチのコンフィギュレーションレジスタを再度セットして、前記PCIeデバイスの動的な組み込み要求を行い、
    前記PCIeデバイスを障害状態から復帰させる、
    障害復旧方法。
  5. PCIeデバイスの障害を検出する処理過程と、
    前記PCIeデバイスに搭載される仮想PCIeスイッチのコンフィギュレーションレジスタをセットして、前記PCIeデバイスの動的な切り離し要求を行う処理過程と、
    前記PCIeデバイスの障害復旧処理を行うために前記PCIeデバイスの再初期化処理を実行する処理過程と、
    前記仮想PCIeスイッチのコンフィギュレーションレジスタを再度セットして、前記PCIeデバイスの動的な組み込み要求を行う処理過程と、
    前記PCIeデバイスを障害状態から復帰させる処理過程と、
    を実行するプログラム。
JP2020036050A 2020-03-03 2020-03-03 PCIeデバイス、障害復旧方法、プログラム Active JP7435035B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020036050A JP7435035B2 (ja) 2020-03-03 2020-03-03 PCIeデバイス、障害復旧方法、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020036050A JP7435035B2 (ja) 2020-03-03 2020-03-03 PCIeデバイス、障害復旧方法、プログラム

Publications (2)

Publication Number Publication Date
JP2021140337A true JP2021140337A (ja) 2021-09-16
JP7435035B2 JP7435035B2 (ja) 2024-02-21

Family

ID=77668650

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020036050A Active JP7435035B2 (ja) 2020-03-03 2020-03-03 PCIeデバイス、障害復旧方法、プログラム

Country Status (1)

Country Link
JP (1) JP7435035B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116582471A (zh) * 2023-07-14 2023-08-11 珠海星云智联科技有限公司 Pcie设备、pcie数据捕获系统和服务器

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4810349B2 (ja) 2006-08-11 2011-11-09 日本電気株式会社 I/o装置及び方法
JP5401679B2 (ja) 2009-02-19 2014-01-29 株式会社日立製作所 計算機システム、管理方法及び管理サーバ
JP2013117930A (ja) 2011-12-05 2013-06-13 Hitachi Ltd 計算機及び計算機の制御方法
JP6962243B2 (ja) 2018-03-08 2021-11-05 日本電気株式会社 コンピュータシステム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116582471A (zh) * 2023-07-14 2023-08-11 珠海星云智联科技有限公司 Pcie设备、pcie数据捕获系统和服务器
CN116582471B (zh) * 2023-07-14 2023-09-19 珠海星云智联科技有限公司 Pcie设备、pcie数据捕获系统和服务器

Also Published As

Publication number Publication date
JP7435035B2 (ja) 2024-02-21

Similar Documents

Publication Publication Date Title
US7519856B2 (en) Fault tolerant system and controller, operation method, and operation program used in the fault tolerant system
JP6333410B2 (ja) 障害処理方法、関連装置、およびコンピュータ
KR20040047209A (ko) 네트워크 상의 컴퓨터 시스템의 자동 복구 방법 및 이를구현하기 위한 컴퓨터 시스템의 자동 복구 시스템
KR101284403B1 (ko) 저장 네트워크 환경에서 scsi 타겟으로부터 scsi 에러 응답을 커스터마이징하는 방법, 비-일시적 컴퓨터 판독 가능한 저장 매체, 저장 네트워크 환경에서 scsi 타겟으로부터 수신된 scsi 에러 응답을 커스터마이징하는 시스템
JP2021140337A (ja) PCIeデバイス、障害復旧方法、プログラム
US8028189B2 (en) Recoverable machine check handling
JP6962243B2 (ja) コンピュータシステム
CN109885420B (zh) 一种PCIe链路故障的分析方法、BMC及存储介质
WO2017072904A1 (ja) 計算機システム、及び、障害検知方法
JP6357879B2 (ja) システムおよび障害処理方法
US11954509B2 (en) Service continuation system and service continuation method between active and standby virtual servers
JP4915113B2 (ja) バスシステム、リセットイニシャライズ回路、及びバスシステムにおける障害復旧方法
JP2790204B2 (ja) マルチプロセッサシステム
JP3266841B2 (ja) 通信制御装置
JP2001175545A (ja) サーバシステムおよび障害診断方法ならびに記録媒体
JP2022185768A (ja) 情報処理装置及び復旧方法
TWI715005B (zh) 用於監控基板管理控制器之常駐程序的方法
JPH07321799A (ja) 入出力機器管理方法
KR102433222B1 (ko) 서버 비상백업 시스템
US20190324839A1 (en) Peripheral device, method, and recording medium
TW202409835A (zh) 快速周邊組件互連裝置的錯誤回報優化方法以及快速周邊組件互連裝置的錯誤回報優化系統
JPH08147255A (ja) 障害監視方式
CN112084049A (zh) 用于监控基板管理控制器的常驻程序的方法
JP2017054347A (ja) コンピュータシステムとコンピュータおよびネットワーク接続回復方法とプログラム
CN117640349A (zh) 网络附加存储系统集群的故障恢复方法、装置及主机设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231024

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231025

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231222

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240122

R151 Written notification of patent or utility model registration

Ref document number: 7435035

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151