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

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

Info

Publication number
JP7435035B2
JP7435035B2 JP2020036050A JP2020036050A JP7435035B2 JP 7435035 B2 JP7435035 B2 JP 7435035B2 JP 2020036050 A JP2020036050 A JP 2020036050A JP 2020036050 A JP2020036050 A JP 2020036050A JP 7435035 B2 JP7435035 B2 JP 7435035B2
Authority
JP
Japan
Prior art keywords
pcie
pcie device
software
virtual
request
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.)
Active
Application number
JP2020036050A
Other languages
English (en)
Other versions
JP2021140337A (ja
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 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)

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スイッチはAttention Button Pressedレジスタをセットして、ソフトウェアからの動的な切り離し要求を行う。ソフトウェアからの動的な切り離し完了後、障害管理部は外部デバイスに対して再初期化指示を行って障害復旧処理を実行させる。外部デバイスによる障害復旧処理後、障害管理部は仮想PCIeスイッチに対して再接続を通知し、仮想PCIeスイッチはAttention Button Pressedレジスタを再度セットしてソフトウェアとの動的な再接続の要求を行う。
本発明の第2の態様によれば、PCIeデバイスの障害復旧方法は、PCIeデバイスの障害を検出し、PCIeデバイスに搭載される仮想PCIeスイッチのAttention Button Pressedレジスタをセットして、PCIeデバイスの動的な切り離し要求を行う。また、PCIeデバイスの障害復旧処理を行うためにPCIeデバイスの再初期化処理を実行する。その後、仮想PCIeスイッチのAttention Button Pressedレジスタを再度セットして、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スイッチはAttention Button Pressedレジスタをセットして、ソフトウェアからの動的な切り離し要求を行い、
    前記ソフトウェアからの動的な切り離し完了後、前記障害管理部は外部デバイスに対して再初期化指示を行って障害復旧処理を実行させ、
    前記外部デバイスによる障害復旧処理後、前記障害管理部は前記仮想PCIeスイッチに対して再接続を通知し、
    前記仮想PCIeスイッチは前記Attention Button Pressedレジスタを再度セットして前記ソフトウェアとの動的な再接続の要求を行う、
    PCIeデバイス。
  2. 前記ソフトウェアからの動的な切り離し要求はHotRemoval要求であり、前記ソフトウェアでのHotRemoval処理完了が前記Attention Button Pressedレジスタに反映され、その後、前記PCIeデバイスは前記ソフトウェアから切り離されたように振る舞う、請求項1に記載のPCIeデバイス。
  3. 前記ソフトウェアとの動的な再接続の要求はHotInsertion要求であり、前記ソフトウェアでのHotInsertion処理完了が前記Attention Button Pressedレジスタに反映され、その後、前記PCIeデバイスは前記ソフトウェアと再接続されたように振る舞う、請求項1に記載のPCIeデバイス。
  4. PCIeデバイスの障害復旧方法であって、
    前記PCIeデバイスの障害を障害管理部が検出し、
    前記PCIeデバイスに搭載される仮想PCIeスイッチのAttention Button Pressedレジスタを前記仮想PCIeスイッチがセットして、前記PCIeデバイスの動的な切り離し要求を行い、
    前記PCIeデバイスの障害復旧処理を行うために前記PCIeデバイスの再初期化処理を前記障害管理部が実行し、
    前記仮想PCIeスイッチの前記Attention Button Pressedレジスタを前記仮想PCIeスイッチが再度セットして、前記PCIeデバイスの動的な組み込み要求を行い、
    前記PCIeデバイスを障害状態から前記障害管理部が復帰させる、
    障害復旧方法。
  5. PCIeデバイスの障害を検出する処理過程と、
    前記PCIeデバイスに搭載される仮想PCIeスイッチのAttention Button Pressedレジスタをセットして、前記PCIeデバイスの動的な切り離し要求を行う処理過程と、
    前記PCIeデバイスの障害復旧処理を行うために前記PCIeデバイスの再初期化処理を実行する処理過程と、
    前記仮想PCIeスイッチの前記Attention Button Pressedレジスタを再度セットして、前記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 JP2021140337A (ja) 2021-09-16
JP7435035B2 true 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)

Families Citing this family (1)

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

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008046722A (ja) 2006-08-11 2008-02-28 Nec Corp I/o装置及び方法
JP2010191814A (ja) 2009-02-19 2010-09-02 Hitachi Ltd 計算機システム、管理方法及び管理サーバ
JP2013117930A (ja) 2011-12-05 2013-06-13 Hitachi Ltd 計算機及び計算機の制御方法
JP2019159439A (ja) 2018-03-08 2019-09-19 日本電気株式会社 コンピュータシステム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008046722A (ja) 2006-08-11 2008-02-28 Nec Corp I/o装置及び方法
JP2010191814A (ja) 2009-02-19 2010-09-02 Hitachi Ltd 計算機システム、管理方法及び管理サーバ
JP2013117930A (ja) 2011-12-05 2013-06-13 Hitachi Ltd 計算機及び計算機の制御方法
JP2019159439A (ja) 2018-03-08 2019-09-19 日本電気株式会社 コンピュータシステム

Also Published As

Publication number Publication date
JP2021140337A (ja) 2021-09-16

Similar Documents

Publication Publication Date Title
US11360842B2 (en) Fault processing method, related apparatus, and computer
US7519856B2 (en) Fault tolerant system and controller, operation method, and operation program used in the fault tolerant system
US20120144231A1 (en) Arrangements detecting reset pci express bus in pci express path, and disabling use of pci express device
WO2021212943A1 (zh) 一种服务器电源的维修方法、装置、设备及介质
KR20040047209A (ko) 네트워크 상의 컴퓨터 시스템의 자동 복구 방법 및 이를구현하기 위한 컴퓨터 시스템의 자동 복구 시스템
US8819483B2 (en) Computing device with redundant, dissimilar operating systems
JP7435035B2 (ja) PCIeデバイス、障害復旧方法、プログラム
JP4487260B2 (ja) 多重系システム
JP2012003651A (ja) 仮想化環境監視装置とその監視方法およびプログラム
US8028189B2 (en) Recoverable machine check handling
JP6962243B2 (ja) コンピュータシステム
WO2017072904A1 (ja) 計算機システム、及び、障害検知方法
JP4915113B2 (ja) バスシステム、リセットイニシャライズ回路、及びバスシステムにおける障害復旧方法
JP2790204B2 (ja) マルチプロセッサシステム
JP3266841B2 (ja) 通信制御装置
JPH08287030A (ja) 多重系計算機システムの自動再起動装置および方法
US20230251947A1 (en) Information processing device and recovery method therefor
TWI715005B (zh) 用於監控基板管理控制器之常駐程序的方法
JP2022185768A (ja) 情報処理装置及び復旧方法
JP2001175545A (ja) サーバシステムおよび障害診断方法ならびに記録媒体
JP2020086805A (ja) 情報処理システム及び情報処理装置
TW202409835A (zh) 快速周邊組件互連裝置的錯誤回報優化方法以及快速周邊組件互連裝置的錯誤回報優化系統
US20190324839A1 (en) Peripheral device, method, and recording medium
JPH05224964A (ja) バス異常通知方式
CN112084049A (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