JP6475056B2 - インタフェース障害検出装置、インタフェース障害検出システム、インタフェース障害検出方法、及びインタフェース障害検出プログラム - Google Patents

インタフェース障害検出装置、インタフェース障害検出システム、インタフェース障害検出方法、及びインタフェース障害検出プログラム Download PDF

Info

Publication number
JP6475056B2
JP6475056B2 JP2015064160A JP2015064160A JP6475056B2 JP 6475056 B2 JP6475056 B2 JP 6475056B2 JP 2015064160 A JP2015064160 A JP 2015064160A JP 2015064160 A JP2015064160 A JP 2015064160A JP 6475056 B2 JP6475056 B2 JP 6475056B2
Authority
JP
Japan
Prior art keywords
interface
input
buffer
output
failure detection
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
JP2015064160A
Other languages
English (en)
Other versions
JP2016184284A (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 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 JP2015064160A priority Critical patent/JP6475056B2/ja
Publication of JP2016184284A publication Critical patent/JP2016184284A/ja
Application granted granted Critical
Publication of JP6475056B2 publication Critical patent/JP6475056B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、入出力装置とのインタフェースにおける障害を検出するインタフェース障害検出装置、インタフェース障害検出システム、インタフェース障害検出方法、及びインタフェース障害検出プログラムに関する。
装置間を接続するPCI−Express(登録商標)等のシリアル転送インタフェースにおける障害は、インタフェース制御部からの通報により認識されることが多い。しかしながら、インタフェース障害が発生してから、インタフェース制御部により障害が通報されるまでに、数十ミリ秒の遅延が発生する。この間、コンピュータ等の情報処理システム内では、インタフェース障害により、インタフェースを通過する命令およびデータ転送が処理されずに滞留する。更に、先行する命令およびデータ転送の滞留に伴い、後続の命令やデータ転送が滞留する。
この滞留による遅延時間は、コンピュータ等の情報処理システムが許容する命令やデータ転送の処理時間に許容される上限より大きいことがある。そのため、本来ならば、インタフェースの縮退または再接続等の障害復旧処理を行って運用を継続できる障害であるにもかかわらず、システム全体の停止に至ることがあるという問題があった。特に、プロセッサによる主記憶に対するアクセスにおいて、アクセス完了までに許容される上限時間(以下、「メモリアクセス上限時間」という)は、通常、十数ミリ秒程度である。
PCI(Peripheral Component Interconnect)バスのストール状態に陥ったことを示す応答をさせ、タイムアウトによるシステムダウン動作を抑止する技術の一例が、特許文献1に開示されている。
特許文献1のコンピュータシステムは、プロセッサと、I/O(Input and Output)コントローラと、複数の入出力デバイスを接続する入出力バスを制御するバスコントローラとを含む。I/Oコントローラは、エラーリプライ生成部を含む。バスコントローラは、PCIバス制御部と、ストール検出部と、障害通知制御部とを含む。
特許文献1のコンピュータシステムは、以下のように動作する。
まず、ストール検出部は、タイマを用いてPCIバス制御部から示されるPCIバスのバスビジー状態(非アイドル状態)の継続時間を計数する。なお、このタイマは、バスがアイドル状態に戻るとクリアされる。タイマが規定時間以上に到達した場合には、ストール検出部は、PCIバスがストール状態であると判断し、ストール検出信号を障害通知制御部に通知する。
障害通知制御部は、ストール検出部からのストール検出信号を受信すると、I/Oコントローラに対してバスコントローラにてストールが発生していることを示す障害通知を送信する。
エラーリプライ生成部は、バスコントローラからの障害通知を受信すると、実行中トランザクション管理テーブルに格納されている、障害通知を受けたバスコントローラ配下のPCIバスに送出済みのトランザクションに関して、発行元のプロセッサに対して異常終了を示すリプライ情報(エラーリプライ)を生成し応答として返却する。
また、エラーリプライ生成部は、未実行トランザクション管理テーブルに格納されている未実行の、障害通知を受けたバスコントローラ配下のPCIバスに送信していないトランザクションについて、ストールが発生しているバスコントローラへの送出を抑止するとともに、実行中トランザクション管理テーブルに格納する。
これにより、実行中トランザクション管理テーブルに格納されたトランザクションについて、バスコントローラ配下のPCIバスに送出済みのトランザクションと同じように、発行元のプロセッサに対してエラーリプライが返される。
上記の動作の結果、特許文献1のコンピュータシステムでは、PCIバスがストール状態に陥っても、プロセッサが例外処理を実行する。
特開2006−172218
特許文献1の技術では、PCIバスのバスビジー状態の継続時間に基づいて、PCIバスがストール状態であるか否かが判断される。ところが、PCIバスのバスビジー状態が継続しても、PCIバスにおいて回復不可能な障害の発生していなければ、必ずしもシステムダウンが発生するとは限らない。従って、特許文献1の技術には、PCIバスにおいて回復不可能な障害が発生していない場合にも、例外処理が実行されるという問題がある。
(発明の目的)
本発明の主たる目的は、入出力装置とのインタフェースにおける回復不可能な障害の発生時にシステムの性能低下を軽減するインタフェース障害検出装置、インタフェース障害検出システム、インタフェース障害検出方法、及びインタフェース障害検出プログラムを提供することにある。
本発明のインタフェース障害検出装置は、入出力インタフェースの疎通を監視するための疎通確認命令に対する疎通確認応答を発行する外部の入出力装置と、プロセッサ、主記憶、プロセッサと入出力装置との間の通信の制御を行う入出力インタフェースの制御を行う制御手段、プロセッサと主記憶及び制御手段との間で命令又は応答を一時保持する緩衝バッファ、並びに入出力装置に対する障害復旧処理を行う診断手段を含む情報処理装置とに接続されたインタフェース障害検出装置であって、疎通確認命令を定期的に発行する手段と、緩衝バッファにおける命令の滞留の有無を判定する手段と、滞留が発生し且つ入出力インタフェースが疎通しない場合に、入出力インタフェースにおける回復不可能な障害の発生を装置診断手段に通知する手段とを備えることを特徴とする。
本発明のインタフェース障害検出システムは、入出力インタフェースの疎通を監視するための疎通確認命令に対する疎通確認応答を発行する外部の入出力装置と、プロセッサ、主記憶、プロセッサと入出力装置との間の通信の制御を行う入出力インタフェースの制御を行う制御手段、プロセッサと主記憶及び制御手段との間で命令又は応答を一時保持する緩衝バッファ、並びに入出力装置に対する障害復旧処理を行う診断手段を含む情報処理装置と、入出力装置及び情報処理装置に接続され、疎通確認命令を定期的に発行する手段と、緩衝バッファにおける命令の滞留の有無を判定する手段と、滞留が発生し且つ入出力インタフェースが疎通しない場合に、入出力インタフェースにおける回復不可能な障害の発生を装置診断手段に通知する手段とを含むインタフェース障害検出装置とを備えることを特徴とする。
本発明のインタフェース障害検出方法は、入出力インタフェースの疎通を監視するための疎通確認命令に対する疎通確認応答を発行する外部の入出力装置と、プロセッサ、主記憶、プロセッサと入出力装置との間の通信の制御を行う入出力インタフェースの制御を行う制御手段、プロセッサと主記憶及び制御手段との間で命令又は応答を一時保持する緩衝バッファ、並びに入出力装置に対する障害復旧処理を行う診断手段を含む情報処理装置とに接続されたインタフェース障害検出装置において、疎通確認命令を定期的に発行し、緩衝バッファにおける命令の滞留の有無を判定し、滞留が発生し且つ入出力インタフェースが疎通しない場合に、入出力インタフェースにおける回復不可能な障害の発生を装置診断手段に通知することを特徴とする。
本発明のインタフェース障害検出プログラムは、入出力インタフェースの疎通を監視するための疎通確認命令に対する疎通確認応答を発行する外部の入出力装置と、プロセッサ、主記憶、プロセッサと入出力装置との間の通信の制御を行う入出力インタフェースの制御を行う制御手段、プロセッサと主記憶及び制御手段との間で命令又は応答を一時保持する緩衝バッファ、並びに入出力装置に対する障害復旧処理を行う診断手段を含む情報処理装置とに接続されたインタフェース障害検出装置であって、疎通確認命令を定期的に発行する処理と、緩衝バッファにおける命令の滞留の有無を判定する処理と、滞留が発生し且つ入出力インタフェースが疎通しない場合に、入出力インタフェースにおける回復不可能な障害の発生を装置診断手段に通知する処理とをコンピュータに実行させることを特徴とする。
本発明によれば、入出力装置とのインタフェースにおける回復不可能な障害の発生時にシステムの性能低下を軽減するという効果がある。
本発明の第1の実施形態におけるインタフェース障害検出装置の構成の一例を示すブロック図である。 本発明の第1の実施形態におけるインタフェース障害検出装置の動作を示すフローチャートである。 本発明の第2の実施形態における情報処理装置の構成の一例を示すブロック図である。 本発明の第2の実施形態における情報処理装置の動作を示すフローチャートである。
以下、本発明の実施形態について、図面を参照して詳細に説明する。なお、すべての図面において、同等の構成要素には同じ符号を付し、適宜説明を省略する。
(第1の実施形態)
本実施形態における構成について説明する。
図1は、本発明の第1の実施形態におけるインタフェース障害検出装置100の構成の一例を示すブロック図である。なお、理解し易いように、情報処理装置側及び入出力装置側の障害検出に関する構成と共に示している。
インタフェース障害検出装置100は、外部の情報処理装置800に接続される。情報処理装置800は、入出力インタフェース990を経由して、外部の入出力装置900に接続される。
インタフェース障害検出装置100は、命令滞留判定手段110と、疎通確認命令発行手段140と、調停手段130と、障害通知手段120とを含む。
情報処理装置800は、コンピュータ、電子機器、通信機器等の、外部の入出力装置に対するデータの読み書きを行う情報処理装置である。情報処理装置800は、プロセッサ810と、緩衝バッファ820と、調停手段830と、主記憶840と、入出力インタフェース制御手段850と、診断手段860とを含む。
入出力装置900は、入出力インタフェースを経由して外部の情報処理装置と通信を行う、記憶装置、通信装置、周辺機器等である。入出力装置900は、入出力インタフェース制御手段950と、調停手段930と、緩衝バッファ920と、入出力制御手段910と、疎通確認応答発行手段940とを含む。
命令滞留判定手段110は、情報処理装置800の緩衝バッファ820に接続される。命令滞留判定手段110は、緩衝バッファ820における命令の滞留を検出する。なお、命令滞留判定手段110は、緩衝バッファ820に存在する最古の命令の発行時刻と現在時刻との時間差を取得し、取得した時間差が所定の閾値を超える場合に、緩衝バッファ820において命令の滞留が発生していると判定する。あるいは、命令滞留判定手段110は、緩衝バッファ820に存在する命令の個数を取得し、取得した個数が所定の閾値を超える場合に、命令の滞留が発生していると判定してもよい。あるいは、命令滞留判定手段110は、緩衝バッファ820に存在する命令の個数を取得し、緩衝バッファ820の命令収容数の上限に対する、取得した個数の割合が所定の閾値を超える場合に、命令の滞留が発生していると判定してもよい。あるいは、命令滞留判定手段110は、緩衝バッファ820に関する情報を情報処理装置800側からの通知により取得してもよい。あるいは、命令滞留判定手段110は、上述の方法を組み合わせて、命令の滞留の有無を判定してもよい。いずれも方法においても、情報の取得および判定に要する時間は、メモリアクセス上限時間に比べて十分に小さくすることが可能である。
疎通確認命令発行手段140は、所定の時間間隔で疎通確認命令を発行し、調停手段130および入出力インタフェース制御手段850を経由して、入出力装置900へ、疎通確認命令を送信する。また、疎通確認命令発行手段140は、障害通知手段120へ疎通確認命令の送信を通知する。疎通確認命令は、各疎通確認命令を識別するために必要な情報(例えば、連番または識別子)を含む。
調停手段130は、情報処理装置800の、調停手段830及び入出力インタフェース制御手段850に接続される。調停手段130は、調停手段830及び入出力インタフェース制御手段850間において、入出力装置900に関する命令および応答を中継する。また、調停手段130は、疎通確認命令を通常の命令やデータ転送の間に挿入する。また、調停手段130は、疎通確認命令に対する応答の受信を障害通知手段120に通知する。
障害通知手段120は、緩衝バッファ820において滞留が発生し、且つ入出力インタフェース990が疎通しない場合に、入出力インタフェース990における回復不可能な障害の発生を、情報処理装置800の診断手段860に通知する。なお、入出力インタフェース990の疎通確認に要する時間は、疎通確認命令発行手段140による疎通確認命令の発行間隔(疎通確認命令発行間隔)を短くすることにより、短縮される。従って、入出力インタフェース990の疎通確認に要する時間は、メモリアクセス上限時間に比べて十分に小さくすることが可能である。
プロセッサ810は、命令を発行し、命令に対する応答を受け取る。
緩衝バッファ820は、プロセッサ810と調停手段830との間で命令および応答を一時的に保持する。
調停手段830は、緩衝バッファ820と、主記憶840またはインタフェース障害検出装置100の調停手段130との間で、命令および応答を転送する。
主記憶840は、受信したデータ書き込み命令に従ってデータを保持し、受信したデータ読み出し命令に従ってデータを応答する。
入出力インタフェース制御手段850は、インタフェース障害検出装置100の調停手段130から受け取った命令およびデータ転送を転送データ形式に変換し、入出力インタフェース990へ送信する。また、入出力インタフェース制御手段850は、入出力インタフェース990から受信した転送データ形式を元の命令およびデータ転送の形式に復元する。
診断手段860は、入出力インタフェース990における障害発生時の障害復旧処理を行う。障害復旧処理は、情報処理装置800から入出力装置900を切り離すための処理である。障害復旧処理は、例えば、入出力インタフェース制御手段850のビジー信号を抑止する処理である。入出力インタフェース制御手段850のビジー信号を抑止することにより、緩衝バッファ820に滞留していた、入出力インタフェース制御手段850に関する、命令および応答に対する処理は直ちに完了する。障害復旧処理に要する時間は、メモリアクセス上限時間に比べて十分に小さくすることが可能である。
入出力インタフェース制御手段950は、入出力インタフェース990から受信した転送データ形式を元の命令およびデータ転送の形式に復元する。また、入出力インタフェース制御手段950は、調停手段930から受け取った命令およびデータ転送を転送データ形式に変換し、入出力インタフェース990へ送信する。
調停手段930は、疎通確認応答を通常の命令およびデータ転送の隙間に挿入し、入出力インタフェース制御手段950へ送信する。
緩衝バッファ920は、調停手段930と入出力制御手段910との間で命令および応答を一時的に保持する。
入出力制御手段910は、記憶装置、通信装置、周辺機器等としての入出力機能を制御する。
疎通確認応答発行手段940は、入出力インタフェース制御手段950を経由して疎通確認命令を受信すると、調停手段930を経由してインタフェース障害検出装置100へ疎通確認応答を送信する。疎通確認応答は、対応する疎通確認命令を識別するために必要な情報(例えば、疎通確認命令の連番または識別子)を含む。
次に、本実施形態における動作について説明する。
図2は、本発明の第1の実施形態におけるインタフェース障害検出装置100の動作を示すフローチャートである。具体的には、図2は、インタフェース障害検出装置100が入出力インタフェース990の障害を検出する動作を示すフローチャートである。なお、図2に示すフローチャート及び以下の説明は一例であり、適宜求める処理に応じて、処理順等を入れ替えたり、処理を戻したり、又は処理を繰り返したりしてもよい。
インタフェース障害検出装置100の疎通確認命令発行手段140は、調停手段130を経由した入出力装置900に対する疎通確認命令の定期的な発行を開始する(ステップS110)。
インタフェース障害検出装置100の命令滞留判定手段110は、情報処理装置800の緩衝バッファ820における命令の滞留監視を開始する(ステップS120)。
インタフェース障害検出装置100の命令滞留判定手段110は、命令の滞留の有無を判定する(ステップS130)。
インタフェース障害検出装置100の障害通知手段120は、疎通確認命令に対する疎通確認応答が所定の時間内に受信されるか否かに基づいて、インタフェースの疎通を判定する(ステップS140)。
命令の滞留が発生しないか(ステップS130:No)又は命令の滞留が発生してもインタフェースの疎通が確認されれば(ステップS140:Yes)、インタフェース障害検出装置100は、ステップS130の処理へ戻る。
命令の滞留が発生し(ステップS130:Yes)且つインタフェースの疎通が確認されなければ(ステップS140:No)、インタフェース障害検出装置100の障害通知手段120は、ステップS150の処理へ進む。
インタフェース障害検出装置100の障害通知手段120は、入出力インタフェース990における回復不可能な障害の発生を情報処理装置800の診断手段860に通知する(ステップS150)。
以上説明したように、本実施形態のインタフェース障害検出装置100では、ステップS130及びステップS140の処理に要する時間を、メモリアクセス上限時間に比べて小さくすることができる。また、情報処理装置800からの入出力装置900の切り離し処理に要する時間は、メモリアクセス上限時間に比べて十分小さい。つまり、本実施形態のインタフェース障害検出装置100では、命令の滞留開始後、メモリアクセス上限時間に比べて短時間で入出力装置900の切り離し処理を完了することができる。従って、インタフェース障害検出装置100では、入出力装置とのインタフェースにおける回復不可能な障害の発生時にシステムの性能低下を軽減するという効果がある。
(第2の実施形態)
次に、上述した第1の実施形態におけるインタフェース障害検出装置の機能を含み、2台の入出力装置に接続され、2つのプロセッサを含む本発明の第2の実施形態における情報処理装置について説明する。以下の説明において、第1の実施形態と同等の構成要素には同じ符号を付し、適宜説明を省略する。
本実施形態における構成について説明する。
図3は、本発明の第2の実施形態における情報処理装置601の構成の一例を示すブロック図である。なお、理解し易いように、入出力装置側の障害検出に関する構成と共に示している。本実施形態では2個のプロセッサと2台の入出力装置が接続された情報処理装置601について説明する。
情報処理装置601は、コンピュータ、電子機器、通信機器等の、外部の入出力装置に対するデータの読み書きを行う情報処理装置である。情報処理装置601は、入出力装置702および入出力装置703に接続される。
情報処理装置601は、プロセッサ610および611、緩衝バッファ612および613、緩衝バッファ616および617、調停回路605、主記憶607、振り分け回路606、緩衝バッファ620および621、シリアルインタフェース制御回路626および627、装置診断回路608、ビジー検出回路214および215、命令発行経路負荷判定回路204、インタフェースパトロール命令発行回路218および219、調停回路222および223、インタフェースパトロール応答タイムアウト監視回路224および225を含む。
プロセッサ610およびプロセッサ611は、命令を発行し、命令に対する応答を受け取る。
緩衝バッファ612は、プロセッサ610と調停回路605との間で命令および応答を一時的に保持する。
緩衝バッファ613は、プロセッサ611と調停回路605との間で命令および応答を一時的に保持する。
緩衝バッファ616は、調停回路605と振り分け回路606との間で命令および応答を一時的に保持する。
緩衝バッファ617は、調停回路605と主記憶607との間で命令および応答を一時的に保持する。
調停回路605は、緩衝バッファ612または緩衝バッファ613と、緩衝バッファ616または緩衝バッファ617との間で、命令および応答を転送する。
主記憶607は、受信したデータ書き込み命令に従ってデータを保持し、受信したデータ読み出し命令に従ってデータを応答する。
振り分け回路606は、緩衝バッファ616と、緩衝バッファ620または緩衝バッファ621との間で、命令および応答を転送する。
緩衝バッファ620は、振り分け回路606と調停回路222との間で命令および応答を一時的に保持する。
緩衝バッファ621は、振り分け回路606と調停回路223との間で命令および応答を一時的に保持する。
シリアルインタフェース制御回路626は、調停回路222から受け取った命令およびデータ転送をシリアル転送のデータ形態に変換し、シリアルインタフェース700へ送信する。また、シリアルインタフェース制御回路626は、シリアルインタフェース700から受信したシリアル転送データを元の命令およびデータ転送の形式に復元する。
シリアルインタフェース制御回路627は、調停回路223から受け取った命令およびデータ転送をシリアル転送のデータ形態に変換し、シリアルインタフェース701へ送信する。また、シリアルインタフェース制御回路627は、シリアルインタフェース701から受信したシリアル転送データを元の命令およびデータ転送の形式に復元する。
装置診断回路608は、シリアルインタフェース700またはシリアルインタフェース701における障害発生時の処理を行う。
ビジー検出回路214、ビジー検出回路215は、それぞれ、緩衝バッファ612、緩衝バッファ613における命令の滞留を検出する。
命令発行経路負荷判定回路204は、ビジー検出回路214またはビジー検出回路215から緩衝バッファ612または緩衝バッファ613における命令の滞留を示す通知を受信する。また、命令発行経路負荷判定回路204は、インタフェースパトロール応答タイムアウト監視回路224およびインタフェースパトロール応答タイムアウト監視回路225の両方に命令発行経路が高負荷である事を通知する。
インタフェースパトロール命令発行回路218は、情報処理装置601と入出力装置702との間のシリアルインタフェース700に、所定の時間間隔でインタフェースパトロール命令を発行する。また、インタフェースパトロール命令発行回路218は、インタフェースパトロール命令を発行した事をインタフェースパトロール応答タイムアウト監視回路224に通知する。
インタフェースパトロール命令発行回路219は、情報処理装置601と入出力装置703との間のシリアルインタフェース701に、所定の時間間隔でインタフェースパトロール命令を発行する。また、インタフェースパトロール命令発行回路219は、インタフェースパトロール命令を発行した事をインタフェースパトロール応答タイムアウト監視回路225に通知する。
調停回路222は、インタフェースパトロール命令を通常の命令やデータ転送の隙間に挿入する。
調停回路223は、インタフェースパトロール命令を通常の命令やデータ転送の隙間に挿入する。
インタフェースパトロール応答タイムアウト監視回路224は、入出力装置702からのインタフェースパトロール応答が返るまでの時間をカウントする。また、インタフェースパトロール応答タイムアウト監視回路224は、シリアルインタフェース700における回復不可能な障害の発生を検出すると、障害の発生を装置診断回路608へ通知する。
インタフェースパトロール応答タイムアウト監視回路225は、入出力装置703からのインタフェースパトロール応答が返るまでの時間をカウントする。また、インタフェースパトロール応答タイムアウト監視回路225は、シリアルインタフェース701における回復不可能な障害の発生を検出すると、障害の発生を装置診断回路608へ通知する。
入出力装置702および入出力装置703は、シリアルインタフェースを経由して情報処理装置と通信を行う、記憶装置、通信装置、周辺機器等である。入出力装置702および入出力装置703は、情報処理装置601からシリアルインタフェース700またはシリアルインタフェース701を経由して受信する。入出力装置702および入出力装置703は、受信したインタフェースパトロール命令に対するインタフェースパトロール応答を、通常の命令およびデータ転送の隙間に挿入して情報処理装置601に送信する。また、入出力装置702および入出力装置703は、図示されない、記憶装置、通信装置、周辺機器等としての機能を有する。
入出力装置702は、シリアルインタフェース制御回路730、緩衝バッファ733、入出力制御回路734、インタフェースパトロール応答発行回路732、調停回路731を含む。入出力装置703は、シリアルインタフェース制御回路740、緩衝バッファ743、入出力制御回路744、インタフェースパトロール応答発行回路742、調停回路741を含み、入出力装置702と同様な構成を有する。
シリアルインタフェース制御回路730は、シリアルインタフェース700から受信したシリアル転送データを元の命令およびデータ転送の形式に復元する。また、シリアルインタフェース制御回路730は、調停回路731から受け取った命令およびデータ転送をシリアル転送のデータ形式に変換し、シリアルインタフェース700へ送信する。
緩衝バッファ733は、調停回路731と入出力制御回路734との間で命令および応答を一時的に保持する。
入出力制御回路734は、記憶装置、通信装置、周辺機器等としての入出力機能を制御する。
インタフェースパトロール応答発行回路732は、インタフェースパトロール命令を受信すると、インタフェースパトロール応答を発行する。
調停回路731は、インタフェースパトロール応答を通常の命令およびデータ転送の隙間に挿入し、シリアルインタフェース制御回路730へ送信する。
次に、本発明の第2の実施形態における動作について説明する。
インタフェースパトロール命令発行回路218は、インタフェースパトロール命令を、所定の時間間隔(例えば、1〜2ミリ秒)で調停回路222に対して送信する。また、インタフェースパトロール命令発行回路218は、インタフェースパトロール命令の送信の通知を、インタフェースパトロール応答タイムアウト監視回路224に対して送信する。
インタフェースパトロール応答タイムアウト監視回路224は、インタフェースパトロール命令の送信の通知を受信すると、入出力装置702からインタフェースパトロール応答が返るまでの時間(インタフェースパトロール応答時間)のカウントを開始する。
調停回路222は、他の命令または応答の間にインタフェースパトロール命令を挿入して、シリアルインタフェース制御回路626に対して送信する。
シリアルインタフェース制御回路626は、調停回路222から受信した命令または応答をシリアル転送データの形式に変換して、シリアルインタフェース700に対して送信する。
シリアルインタフェース制御回路730は、シリアルインタフェース700から受信したシリアル転送データを元の命令または応答の形式に復元して、調停回路731に対して送信する。ただし、シリアルインタフェース制御回路730は、復元した命令または応答に含まれるインタフェースパトロール命令を、インタフェースパトロール応答発行回路732に対して送信する。
インタフェースパトロール応答発行回路732は、インタフェースパトロール命令を受信すると、インタフェースパトロール応答を、調停回路731を経由してシリアルインタフェース制御回路730に対して送信する。
調停回路731は、インタフェースパトロール応答を他の命令または応答の間に挿入して、シリアルインタフェース制御回路730に対して送信する。
シリアルインタフェース制御回路730は、調停回路731から受信した命令または応答をシリアル転送データの形式に変換して、シリアルインタフェース700に対して送信する。
シリアルインタフェース制御回路626は、シリアルインタフェース700から受信したシリアル転送データを元の命令または応答の形式に復元する。シリアルインタフェース制御回路626は、復元した命令または応答を調停回路222に対して送信する。ただし、シリアルインタフェース制御回路626は、復元した命令または応答に含まれるインタフェースパトロール応答を、インタフェースパトロール応答タイムアウト監視回路224に対して送信する。
インタフェースパトロール応答タイムアウト監視回路224は、インタフェースパトロール応答を受信すると、インタフェースパトロール応答時間のカウントを停止する。
シリアルインタフェース700に異常が無ければ、所定の時間内にインタフェースパトロール応答が返るので、上記の動作を繰り返す。
ここで、シリアルインタフェース700に回復不可能な障害が発生した場合について説明する。
シリアルインタフェース700に障害が発生しても、シリアルインタフェース制御回路626は所定の時間(例えば、数十ミリ秒)、障害の通知を行わない。これは、シリアルインタフェース制御回路626が命令または応答の送信の再試行、シリアルインタフェース700の再接続等の復旧処理を行うためである。シリアルインタフェース制御回路626は、復旧処理中には、別の命令または応答の送信を行わない。インタフェースパトロール命令発行回路218により発行されたインタフェースパトロール命令についても、シリアルインタフェース制御回路626は、同様に入出力装置702に送信しない。そのため、シリアルインタフェース制御回路626は、所定の時間が経過してもインタフェースパトロール応答を受信しない。
その後、後続の命令が緩衝バッファ620に滞留し、続いて更に後続の命令が緩衝バッファ616および、緩衝バッファ612または緩衝バッファ613に滞留する。そのため、調停回路605は命令または応答の送受信の調停処理を停止する。
この時点で、プロセッサ610は、入出力装置702との間のシリアルインタフェース700で障害が発生した事を認識しておらず、命令を発行し続ける。ところが、調停回路605が調停処理を停止しているので、緩衝バッファ612に命令が滞留し続ける。
滞留した命令には、主記憶607に対する命令が含まれている。主記憶607に対する命令に対する処理は、メモリアクセス上限時間(例えば、十数ミリ秒)内に完了する必要がある。
ビジー検出回路214は、緩衝バッファ612に命令が滞留している事を検出する。ビジー検出回路214は、命令発行経路負荷判定回路204に命令の滞留を通知する。ビジー検出回路214は、シリアルインタフェース700に回復不可能な障害が発生から所定の時間(例えば、10ミリ秒)が経過する前に、命令の滞留を検出する。
命令発行経路負荷判定回路204は、命令発行経路が高負荷であることを、インタフェースパトロール応答タイムアウト監視回路224に通知する。
インタフェースパトロール応答タイムアウト監視回路224は、命令発行経路が高負荷である旨の通知を受信し、かつ、インタフェースパトロール応答を所定のタイムアウト時間(例えば、1〜2ミリ秒)内に受信していない事を検出すると、シリアルインタフェース700に障害が発生したと判断する。インタフェースパトロール応答タイムアウト監視回路224は、シリアルインタフェース700に障害が発生したと判断すると、装置診断回路608に障害を通知する。タイムアウト時間は、インタフェースパトロール命令発行回路218による疎通確認命令発行間隔を短くすることにより短縮される。
装置診断回路608は、インタフェース障害が発生した入出力装置702を切り離す等の障害復旧処理を実施する。障害復旧処理は、メモリアクセス上限時間に比べて十分短い時間内に完了する。これにより、緩衝バッファ616及び緩衝バッファ612内の不要な命令および応答が廃棄され、シリアルインタフェース700に回復不可能な障害が発生してからメモリアクセス上限時間が経過する前に、命令発行経路の負荷が低下する。
次に、シリアルインタフェース700に回復可能な障害が発生した場合について説明する。シリアルインタフェース700に回復可能な障害が発生した場合には、シリアルインタフェース制御回路626は、再接続動作を行う事がある。この場合にも、シリアルインタフェース制御回路626は、所定の時間が経過してもインタフェースパトロール応答を受信しない事がある。ところが、この場合には、回復可能な障害からの復旧は短時間(例えば、1ミリ秒未満)で完了するので、緩衝バッファ612に命令が滞留しない。従って、命令発行経路負荷判定回路204は、インタフェースパトロール応答タイムアウト監視回路224に命令発行経路が高負荷であることを通知しない。つまり、シリアルインタフェース700に回復可能な障害が発生した場合には、シリアルインタフェース700に障害が発生したと判断される事は無い。つまり、障害復旧処理は、シリアルインタフェース制御回路626内で完結する。
上記では、プロセッサ610の動作について説明したが、プロセッサ611の動作はプロセッサ610の動作と同様である。また、上記では、入出力装置702の動作について説明したが、入出力装置703の動作は入出力装置702の動作と同様である。
図4は、本発明の第2の実施形態における情報処理装置601の動作を示すフローチャートである。具体的には、図4は、インタフェースパトロール応答タイムアウト監視回路224がシリアルインタフェース700の障害を検出する動作を示すフローチャートである。なお、図4に示すフローチャート及び以下の説明は一例であり、適宜求める処理に応じて、処理順等を入れ替えたり、処理を戻したり、又は処理を繰り返したりしてもよい。
インタフェースパトロール応答タイムアウト監視回路224は、命令発行経路負荷判定回路204からの命令発行経路が高負荷である旨の通知の有無を判定する(ステップS210)。命令発行経路が高負荷である旨の通知がないと(ステップS210:No)、インタフェースパトロール応答タイムアウト監視回路224は、処理を終了する。命令発行経路が高負荷である旨の通知があると(ステップS210:Yes)、インタフェースパトロール応答タイムアウト監視回路224は、送信済みのインタフェースパトロール命令に対するインタフェースパトロール応答の受信に要した時間が所定の時間を超過したか否かを判定する(ステップS220)。応答の受信に要した時間が所定の時間を超過していなければ(ステップS220:No)、インタフェースパトロール応答タイムアウト監視回路224は、処理を終了する。応答の受信に要した時間が所定の時間を超過していれば(ステップS220:Yes)、インタフェースパトロール応答タイムアウト監視回路224は、シリアルインタフェース700に障害が発生したと判断し、その旨を装置診断回路608に通知する(ステップS230)。
なお、疎通命令発行間隔は、情報処理システムが許容する命令に対する処理時間の上限より短く設定される必要がある。そのため、疎通確認命令発行間隔は、調整可能であることが望ましい。例えば、メモリアクセス上限時間が10ミリ秒であれば、疎通命令発行間隔は1〜2ミリ秒に設定される。
以上のように、シリアルインタフェース制御回路626がインタフェース700の障害の検出にかかる時間を待つこと無く、装置診断回路608は障害の発生を認識して障害復旧処理を開始する事ができる。つまり、命令発行経路が動作しない状態になることが回避される。
以上説明したように、本実施形態の情報処理装置601では、ステップS210及びステップS220の処理に要する時間を、メモリアクセス上限時間に比べて小さくすることができる。また、情報処理装置601からの入出力装置702又は703の切り離し処理に要する時間は、メモリアクセス上限時間に比べて十分小さい。つまり、本実施形態の情報処理装置601では、命令の滞留開始後、メモリアクセス上限時間に比べて短時間で入出力装置702、703の切り離し処理を完了することができる。従って、本実施形態の情報処理装置601では、プロセッサ又は入出力装置が複数存在する場合にも、入出力装置とのインタフェースにおける回復不可能な障害の発生時にシステムの性能低下を軽減するという効果がある。
なお、シリアルインタフェース制御回路626内で復旧処理が完結する回復可能なインタフェース障害が発生した場合には、インタフェースパトロール命令に対する応答が所定の時間内に返らなくても、命令発行経路に命令の滞留が発生しなければ装置診断回路608にシリアルインタフェース700の障害が通知されない。従って、本実施形態の情報処理装置601では、無駄な障害復旧処理による性能低下が発生しない。
また、本実施形態の情報処理装置601は、2台の入出力装置に接続される。従って、1台の入出力装置又は1つのシリアルインタフェースに障害が発生しても、他方の入出力装置又はシリアルインタフェースを使用して、サービスを継続することができる。つまり、本実施形態の情報処理装置601には、1台の入出力装置又は1つのシリアルインタフェースに障害が発生しても、システムダウンが発生しないという効果がある。
なお、上述した各実施形態におけるインタフェース障害検出装置は、専用の装置又は回路によって実現してもよいが、コンピュータ(情報処理装置)によっても実現可能である。この場合、係るコンピュータは、メモリ(不図示)に格納されたソフトウェア・プログラムをCPU(Central_Processing_Unit、不図示)に読み出し、読み出したソフトウェア・プログラムをCPUにおいて実行することにより、実行結果を、例えば、ユーザ・インタフェースに出力する。上述した各実施形態の場合、係るソフトウェア・プログラムには、上述したところの、図1に示したインタフェース障害検出装置100の各手段の機能を実現可能な記述がなされていればよい。あるいは、図3に示した情報処理装置601の命令発行経路負荷判定回路204、インタフェースパトロール命令発行回路218、219、インタフェースパトロール応答タイムアウト監視回路224、225の機能を実現可能な記述がなされていればよい。そして、このような場合、係るソフトウェア・プログラム(コンピュータ・プログラム)は、本発明を構成すると捉えることができる。更に、係るソフトウェア・プログラムを格納した、コンピュータ読み取り可能な記憶媒体も、本発明を構成すると捉えることができる。
以上、本発明を、上述した各実施形態およびその変形例によって例示的に説明した。しかしながら、本発明の技術的範囲は、上述した各実施形態およびその変形例に記載した範囲には限定されない。当業者には、係る実施形態に対して多様な変更又は改良を加えることが可能であることは明らかである。そのような場合、係る変更又は改良を加えた新たな実施形態も、本発明の技術的範囲に含まれ得る。そしてこのことは、特許請求の範囲に記載した事項から明らかである。
本発明は、コンピュータ等の情報処理システムにおいて、PCI−Express等のシリアル転送インタフェースの障害発生時のシステムダウン、ストール、性能低下等を抑制する用途において利用できる。
100 インタフェース障害検出装置
110 命令滞留判定手段
120 障害通知手段
130 調停手段
140 疎通確認命令発行手段
800 情報処理装置
810 プロセッサ
820 緩衝バッファ
830 調停手段
840 主記憶
850 入出力インタフェース制御手段
860 診断手段
900 入出力装置
910 入出力制御手段
920 緩衝バッファ
930 調停手段
940 疎通確認応答発行手段
950 入出力インタフェース制御手段
990 入出力インタフェース
601 情報処理装置
610、611 プロセッサ
612、613 緩衝バッファ
605 調停回路
616、617 緩衝バッファ
607 主記憶
606 振分け回路
620、621 緩衝バッファ
626、627 シリアルインタフェース制御回路
608 装置診断回路
214、215 ビジー検出回路
204 命令発行経路負荷判定回路
218、219 インタフェースパトロール命令発行回路
222、223 調停回路
224、225 インタフェースパトロール応答タイムアウト監視回路
700、701 シリアルインタフェース
702、703 入出力装置
731、741 調停回路
733、743 緩衝バッファ
734、744 入出力制御回路
730、740 シリアルインタフェース制御回路
732、742 インタフェースパトロール応答発行回路

Claims (9)

  1. 入出力インタフェースの疎通を監視するための疎通確認命令に対する疎通確認応答を発行する外部の入出力装置と、
    プロセッサ、
    主記憶、
    前記プロセッサと前記入出力装置との間の通信の制御を行う前記入出力インタフェースの制御を行う制御手段、
    前記プロセッサと前記主記憶及び前記制御手段との間で命令及び応答を一時保持する緩衝バッファ、並びに
    前記入出力装置に対する障害復旧処理を行う診断手段
    を含む情報処理装置とに接続されたインタフェース障害検出装置であって、
    前記疎通確認命令を定期的に発行する手段と、
    前記緩衝バッファにおける命令の滞留の有無を判定する手段と、
    前記滞留が発生し且つ前記入出力インタフェースが疎通しない場合に、前記入出力インタフェースにおける回復不可能な障害の発生を前記診断手段に通知する手段と
    を備えることを特徴とするインタフェース障害検出装置。
  2. 前記命令の滞留の有無を判定する手段は、前記緩衝バッファにおける、最古の命令の発行時刻と現在時刻との差が第1の閾値を超えるか否かに基づいて、前記命令の滞留の有無を判定する
    ことを特徴とする請求項1に記載のインタフェース障害検出装置。
  3. 前記命令の滞留の有無を判定する手段は、前記緩衝バッファにおける、命令数が第2の閾値を超えるか否かに基づいて、前記命令の滞留の有無を判定する
    ことを特徴とする請求項1に記載のインタフェース障害検出装置。
  4. 前記命令の滞留の有無を判定する手段は、前記緩衝バッファにおける、命令数の前記緩衝バッファの命令格納数の上限に対する割合が第3の閾値を超えるか否かに基づいて、前記命令の滞留の有無を判定する
    ことを特徴とする請求項1に記載のインタフェース障害検出装置。
  5. 入出力インタフェースの疎通を監視するための疎通確認命令に対する疎通確認応答を発行する外部の入出力装置と、
    プロセッサ、
    主記憶、
    前記プロセッサと前記入出力装置との間の通信の制御を行う前記入出力インタフェースの制御を行う制御手段、
    前記プロセッサと前記主記憶及び前記制御手段との間で命令及び応答を一時保持する緩衝バッファ、並びに
    前記入出力装置に対する障害復旧処理を行う診断手段
    を含む情報処理装置と、
    前記入出力装置及び前記情報処理装置に接続され、
    前記疎通確認命令を定期的に発行する手段と、
    前記緩衝バッファにおける命令の滞留の有無を判定する手段と、
    前記滞留が発生し且つ前記入出力インタフェースが疎通しない場合に、前記入出力インタフェースにおける回復不可能な障害の発生を前記診断手段に通知する手段と
    を含むインタフェース障害検出装置と
    を備えることを特徴とするインタフェース障害検出システム。
  6. 前記情報処理装置は、複数の前記プロセッサを含む
    ことを特徴とする請求項5に記載のインタフェース障害検出システム。
  7. 前記情報処理装置は、複数の前記入出力装置に接続され、
    前記情報処理装置は、前記入出力装置の台数と同数の前記インタフェース障害検出装置に接続される
    ことを特徴とする請求項5又は請求項6に記載のインタフェース障害検出システム。
  8. 入出力インタフェースの疎通を監視するための疎通確認命令に対する疎通確認応答を発行する外部の入出力装置と、
    プロセッサ、
    主記憶、
    前記プロセッサと前記入出力装置との間の通信の制御を行う前記入出力インタフェースの制御を行う制御手段、
    前記プロセッサと前記主記憶及び前記制御手段との間で命令及び応答を一時保持する緩衝バッファ、並びに
    前記入出力装置に対する障害復旧処理を行う診断手段
    を含む情報処理装置とに接続され、
    疎通確認命令発行手段と、命令滞留判定手段と、障害通知手段とを備えたインタフェース障害検出装置のインタフェース障害検出方法であって、
    前記疎通確認命令発行手段によって、前記疎通確認命令を定期的に発行し、
    前記命令滞留判定手段によって、前記緩衝バッファにおける命令の滞留の有無を判定し、
    前記障害通知手段によって、前記滞留が発生し且つ前記入出力インタフェースが疎通しない場合に、前記入出力インタフェースにおける回復不可能な障害の発生を前記診断手段に通知する
    ことを特徴とするインタフェース障害検出方法。
  9. 入出力インタフェースの疎通を監視するための疎通確認命令に対する疎通確認応答を発行する外部の入出力装置と、
    プロセッサ、
    主記憶、
    前記プロセッサと前記入出力装置との間の通信の制御を行う前記入出力インタフェースの制御を行う制御手段、
    前記プロセッサと前記主記憶及び前記制御手段との間で命令及び応答を一時保持する緩衝バッファ、並びに
    前記入出力装置に対する障害復旧処理を行う診断手段
    を含む情報処理装置とに接続されたインタフェース障害検出装置が備えるコンピュータに、
    前記疎通確認命令を定期的に発行する処理と、
    前記緩衝バッファにおける命令の滞留の有無を判定する処理と、
    前記滞留が発生し且つ前記入出力インタフェースが疎通しない場合に、前記入出力インタフェースにおける回復不可能な障害の発生を前記診断手段に通知する処理と
    を実行させることを特徴とするインタフェース障害検出プログラム。
JP2015064160A 2015-03-26 2015-03-26 インタフェース障害検出装置、インタフェース障害検出システム、インタフェース障害検出方法、及びインタフェース障害検出プログラム Active JP6475056B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015064160A JP6475056B2 (ja) 2015-03-26 2015-03-26 インタフェース障害検出装置、インタフェース障害検出システム、インタフェース障害検出方法、及びインタフェース障害検出プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015064160A JP6475056B2 (ja) 2015-03-26 2015-03-26 インタフェース障害検出装置、インタフェース障害検出システム、インタフェース障害検出方法、及びインタフェース障害検出プログラム

Publications (2)

Publication Number Publication Date
JP2016184284A JP2016184284A (ja) 2016-10-20
JP6475056B2 true JP6475056B2 (ja) 2019-02-27

Family

ID=57243069

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015064160A Active JP6475056B2 (ja) 2015-03-26 2015-03-26 インタフェース障害検出装置、インタフェース障害検出システム、インタフェース障害検出方法、及びインタフェース障害検出プログラム

Country Status (1)

Country Link
JP (1) JP6475056B2 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55112624A (en) * 1979-02-23 1980-08-30 Hitachi Ltd Diagnosis unit for input and output bus and input and output device
JPH01269152A (ja) * 1988-04-20 1989-10-26 Nec Corp 分散処理システムにおけるプロセッサ障害検出方式
JPH05241980A (ja) * 1991-12-06 1993-09-21 Nec Corp データ転送方式
US8417812B1 (en) * 2010-07-12 2013-04-09 Vmware, Inc. Methods and systems for detecting anomalies during IO accesses

Also Published As

Publication number Publication date
JP2016184284A (ja) 2016-10-20

Similar Documents

Publication Publication Date Title
JP5932146B2 (ja) ピーシーアイエクスプレスのエンドポイントデバイスにアクセスするための方法、コンピューターシステム、および、装置
CN107943603B (zh) 一种运行状态检测方法、检测电路及电子设备
US8677177B2 (en) Apparatus, a recovery method and a program thereof
JP2010140361A (ja) コンピュータシステム及び異常検出回路
US20140181344A1 (en) Detection of Abnormal Operation Caused by Interrupt Processing
EP3321814B1 (en) Method and apparatus for handling outstanding interconnect transactions
JP6475056B2 (ja) インタフェース障害検出装置、インタフェース障害検出システム、インタフェース障害検出方法、及びインタフェース障害検出プログラム
JP4487756B2 (ja) コンピュータシステム及びシステム監視プログラム
WO2014112039A1 (ja) 情報処理装置、情報処理装置制御方法及び情報処理装置制御プログラム
JP4131263B2 (ja) マルチノードシステム、ノード装置、ノード間クロスバスイッチ及び障害処理方法
JP6133614B2 (ja) 障害ログ採取装置、障害ログ採取方法、及び、障害ログ採取プログラム
JP6256087B2 (ja) ダンプシステムおよびダンプ処理方法
JP6089766B2 (ja) 情報処理システム、及び情報処理装置の障害処理方法
JP4941212B2 (ja) 電子デバイス、データ処理装置、及びバス制御方法
JP6992295B2 (ja) 電子装置
JP5082147B2 (ja) マルチノードシステム、ノード間スイッチ及びデータ中継方法
JP2007026038A (ja) パス監視システム,パス監視方法,およびパス監視プログラム
JP6087540B2 (ja) 障害トレース装置、障害トレースシステム、障害トレース方法、及び、障害トレースプログラム
US11461157B2 (en) Peripheral device, method, and recording medium
JPH05224964A (ja) バス異常通知方式
JP2001175545A (ja) サーバシステムおよび障害診断方法ならびに記録媒体
US20160034365A1 (en) Information processing system, information processing apparatus, redundancy providing method, and program
CN118409908A (zh) 协处理器、主处理器、宕机检测方法和电子设备
WO2017037863A1 (ja) 計算機装置及び制御方法及び制御プログラム
JP2009130392A (ja) 電子回路および集積回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181106

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181204

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181219

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190131

R150 Certificate of patent or registration of utility model

Ref document number: 6475056

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150