JP2018112825A - 装置、通信制御装置、情報処理システム、通信制御方法及びプログラム - Google Patents

装置、通信制御装置、情報処理システム、通信制御方法及びプログラム Download PDF

Info

Publication number
JP2018112825A
JP2018112825A JP2017001907A JP2017001907A JP2018112825A JP 2018112825 A JP2018112825 A JP 2018112825A JP 2017001907 A JP2017001907 A JP 2017001907A JP 2017001907 A JP2017001907 A JP 2017001907A JP 2018112825 A JP2018112825 A JP 2018112825A
Authority
JP
Japan
Prior art keywords
failure
unit
buffer memory
reception
communication
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.)
Pending
Application number
JP2017001907A
Other languages
English (en)
Inventor
宗王 星
Zongwang Xing
宗王 星
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 JP2017001907A priority Critical patent/JP2018112825A/ja
Publication of JP2018112825A publication Critical patent/JP2018112825A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】障害発生時に障害情報を他の装置へ転送する専用の通信路、及び、障害発生時に障害情報を下位装置側に一旦保持する専用のメモリのいずれも設ける必要がなく、かつ、障害発生時における通信用のバッファの内容を保持できるようにする。
【解決手段】装置が、通信データをバッファするバッファメモリを備えた通信部と、障害を検知する障害検知部と、前記障害検知部が障害を検知した場合、前記通信部を制御して、障害検知時に使用していた前記バッファメモリを使用せずに通信を行わせる、通信制御部と、を備える。
【選択図】図1

Description

本発明は、装置、通信制御装置、情報処理システム、通信制御方法及びプログラムに関する。
上位装置と下位装置とがデータ転送経路によって接続された情報処理システムにおいて、データ転送経路または下位装置に障害が発生した場合、障害の原因及び復旧手段を解析するための情報を上位装置側に集約できることが好ましい。
このような故障時の情報の集約に関連して、障害発生時に障害情報を他の装置へ転送するために専用の通信路を設けておく技術がある。
例えば、特許文献1には、障害発生を検知した場合に監視対象装置からログ情報を採取して記憶装置に格納するための技術が記載されている。特許文献1に記載の技術では、監視対象のデバイスが、高速IF(Interface)によってCPUに接続されて、さらに、低速IFによってFPGA(Field-Programmable Gate Array)に接続されている。また、FPGAは不揮発性メモリに接続されている。
この構成で高速IF上に障害が発生した場合、FPGAは、低速IFを経由してデバイスからログ情報を取得し、不揮発性メモリに格納する。
また、特許文献2には、PCI(Peripheral Component Interconnect)バスコントローラ内のサービスプロセッサ用ログ収集部が、専用線で外部のサービスプロセッサと接続された形態が記載されている。
また、障害発生時に障害情報を下位装置側に一旦保持し、復旧後に障害情報を上位装置側に転送する技術がある。
例えば、上述した特許文献2には、ログ収集部がログバッファを備える形態が開示されている。この形態で、障害発生時には入出力バスのリセットが抑止され、ログ収集部がログ情報を収集してログバッファに退避する。
また、特許文献3には、障害発生時に障害情報を退避するための記憶装置を具備したリモートチャネル装置が記載されている。このリモートチャネル装置は、障害情報の退避後に上位装置からリセット信号を受信すると、リモートチャネル装置内のハードウェアのうち記憶装置を除くハードウェアを初期化する。そして、リモートチャネル装置は、初期化完了後に、上位装置の指示に従って、障害情報を通常のデータ転送経路を用いて上位装置に転送する。
また、障害発生時に収集した障害情報を、通常時の通信用のバッファに一旦保持し、復旧後に障害情報を上位装置側に転送する技術がある。
例えば、特許文献4には、チャネル制御装置が、チャネル制御装置内のデータバッファに障害情報を書き込み、復旧後に障害情報を主記憶装置に転送する技術が記載されている。
特開2015−162000号公報 特許第5151580号公報 特開平04−000649号公報 特開平10−027115号公報
上述した、障害発生時に障害情報を他の装置へ転送するために専用の通信路を設けておく技術では、この通信路専用の通信回路を設ける必要がある。この技術ではこの点で、装置のハードウェア構成が複雑になり、装置の製造コストが高くなってしまう。
また、障害発生時に障害情報を下位装置側の障害情報専用のメモリに一旦保持し、復旧後に障害情報を上位装置側に転送する技術では、下位装置側に障害情報を一旦保持するメモリを設ける必要がある。この技術ではこの点で、下位装置に必要なメモリ容量が大きくなり、下位装置の製造コストが高くなってしまう。
また、障害発生時に収集した障害情報を、通常時の通信用のバッファに一旦保持し、復旧後に障害情報を上位装置側に転送する技術では、通信用のバッファに障害情報が書き込まれることで、障害発生時における通信用のバッファの内容が書き潰される。障害発生直前の通信状況は障害の原因や復旧手段を解析するのに有用であるのに対し、この技術では、障害発生直前の通信状況の情報が失われる可能性がある。
本発明は、上述の課題を解決することのできる装置、通信制御装置、情報処理システム、通信制御方法及びプログラムを提供することを目的としている。
本発明の第1の態様によれば、装置は、通信データをバッファするバッファメモリを備えた通信部と、障害を検知する障害検知部と、前記障害検知部が障害を検知した場合、前記通信部を制御して、障害検知時に使用していた前記バッファメモリを使用せずに通信を行わせる、通信制御部と、を備える。
本発明の第2の態様によれば、通信制御装置は、障害が検知された場合、通信データをバッファするバッファメモリを備えた通信部を制御して、障害検知時に使用していた前記バッファメモリを使用せずに通信を行わせる。
本発明の第3の態様によれば、情報処理システムは、上位装置と下位装置とを備え、前記下位装置は、通信データをバッファするバッファメモリを備えて前記上位装置と通信を行う通信部と、障害を検知する障害検知部と、前記障害検知部が障害を検知した場合、前記通信部を制御して、障害検知時に使用していた前記バッファメモリを使用せずに通信を行わせる、通信制御部と、を備える。
本発明の第4の態様によれば、通信制御方法は、障害を検知する障害検知ステップと、前記障害検知ステップで障害を検知した場合、通信データをバッファするバッファメモリを備えた通信部を制御して、障害検知時に使用していた前記バッファメモリを使用せずに通信を行わせる、通信制御ステップと、を含む。
本発明の第5の態様によれば、プログラムは、通信データをバッファするバッファメモリを備えた通信部を制御するコンピュータに、障害を検知する障害検知ステップと、前記障害検知ステップで障害を検知した場合、前記通信部を制御して、障害検知時に使用していた前記バッファメモリを使用せずに通信を行わせる、通信制御ステップと、を実行させるためのプログラムである。
この発明によれば、障害発生時に障害情報を他の装置へ転送する専用の通信路、及び、障害発生時に障害情報を下位装置側に一旦保持する専用のメモリのいずれも設ける必要がなく、かつ、障害発生時における通信用のバッファの内容を保持することができる。
本発明の第一実施形態に係る情報処理システムの機能構成を示す概略ブロック図である。 第一実施形態の下位装置から上位装置へ障害情報を送信する処理の流れの例を示す図である。 通常時の通信路に加えて障害発生時に障害情報を送信する通信路を備える情報処理システムの機能構成例を示す概略ブロック図である。 障害情報用のバッファメモリを備える情報処理システムの機能構成例を示す概略ブロック図である。 送信バッファメモリに障害情報を保持する情報処理システムの機能構成例を示す概略ブロック図である。 本発明の第二実施形態に係る情報処理システムの機能構成を示す概略ブロック図である。 第二実施形態の下位装置から上位装置へ障害情報を送信する処理の流れの例を示す図である。 少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。 本発明に係る装置の最小構成の例を示す図である。 本発明に係る通信制御装置の最小構成の例を示す図である。 本発明に係る情報処理システムの最小構成の例を示す図である。
以下、本発明の実施形態を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
<第一実施形態>
図1は、本発明の第一実施形態に係る情報処理システムの機能構成を示す概略ブロック図である。図1に示すように、情報処理システム1は、上位装置100と、下位装置200とを備える。下位装置200は、デバイス機能部210と、デバイス入出力部300とを備える。デバイス入出力部300は、受信部310と、送信部320と、受信制御部330と、送信制御部340と、障害検知部350と、障害フラグメモリ360と、障害表示部370と、障害情報収集回路380とを備える。受信部310は、受信バッファメモリ311と、受信側バイパス回路312とを備える。送信部320は、送信バッファメモリ321と、送信側バイパス回路322とを備える。上位装置100と下位装置200とは、データ受信路W11及びデータ送信路W21を介して通信接続される。
情報処理システム1は、情報処理を行うシステムである。ここでいう情報処理は、特定の処理に限定されない。例えば、情報処理システム1は、汎用のコンピュータシステムであってもよいし、画像処理システムであってもよい。
上位装置100は、下位装置200と通信して情報処理を実行する。例えば情報処理システム1がコンピュータシステムである場合、上位装置100はコンピュータ装置本体であってもよい。
障害発生時には、上位装置100は障害情報を集約する。特に、上位装置100は、障害発生時に下位装置200から障害情報を受信する。ここでいう障害情報は、障害の解析を行う際に用いられる情報である。例えば、障害情報が、障害発生個所を示す情報、障害の種類を示す情報、及び、障害時の各部の状態を示す情報のうちの一部又は全部を含んでいてもよい。また、障害情報がエラーログのように時刻に対応付けられて時系列情報に構成されていてもよい。特に、後述するように情報処理システム1における障害情報は、障害発生時における下位装置200の受信バッファメモリ311、送信バッファメモリ321それぞれの内容情報を含む。
下位装置200は、上位装置100と通信を行う。例えば情報処理システム1がコンピュータシステムである場合、上位装置100は周辺機器であってもよい。下位装置200は、本発明における装置の例に該当する。
なお、1つの上位装置100に接続される下位装置200の数は1つ以上であればよい。従って、1つ上位装置100に複数の下位装置200が接続されていてもよい。
デバイス機能部210は、上位装置100に提供するための機能を実行する。例えば、下位装置200が外部記憶装置である場合、デバイス機能部210は、上位装置100からの命令に従ってデータの記憶、更新、読み出し及び削除を行う。但し、デバイス機能部210が実行する機能は特定の機能に限定されない。
デバイス入出力部300は、上位装置100と通信を行う。特に、デバイス入出力部300は、上位装置100が送信したデバイス機能部210への入力データと受信してデバイス機能部210へ供給する。また、デバイス入出力部300は、デバイス機能部210からの出力データを取得して上位装置100へ送信する。
また、デバイス入出力部300は、情報処理システム1に障害が発生したことを検知した場合、障害情報を収集して上位装置100へ送信する。デバイス入出力部300が、下位装置200、データ受信路W11、及びデータ送信路W21のうちいずれか1つ以上に障害が発生したことを検知した場合のみ、障害情報を上位装置100へ送信するようにしてもよい。あるいは、下位装置200が、上位装置100に障害が発生したことを検知した場合にも、障害情報を上位装置100へ送信するようにしてもよい。
受信部310は、データ受信路W11を介して上位装置100と接続されており、上位装置100がデータ受信路W11を介して送信したデータを受信制御部330の制御に従って受信する。受信部310は、本発明における通信部の例に該当する。
受信バッファメモリ311は、受信部310が受信したデータを受信制御部330の制御に従ってバッファする。すなわち、受信バッファメモリ311は、受信部310が受信したデータを一時的に記憶する。受信バッファメモリ311は、本発明におけるバッファメモリの例に該当する。
通常動作において、受信部310は、データ受信路W11を介して上位装置100から受信したデータを受信バッファメモリ311に格納(バッファ)する。そして受信部310は、受信バッファメモリ311に格納したデータをFIFO(First In, First Out)で読み出し、読み出したデータに対して誤り訂正及びデコードを行った後、デバイス機能部210へ出力する。
受信側バイパス回路312は、受信部310が受信したデータを、受信バッファメモリ311に格納せずに受信部310からデバイス機能部210へ直接出力させる。かかる機能を実現するために、受信側バイパス回路312は、受信バッファメモリ311と並列に設けられた受信側バイパス経路W12を構成している。
障害発生時に受信側バイパス回路312が受信部310の受信データを受信バッファメモリ311に格納せずに直接デバイス機能部210へ出力させることで、障害発生時の受信バッファメモリ311の内容を保持することができる。
送信部320は、データ送信路W21を介して上位装置100と接続されており、送信制御部340の制御に従ってデータ送信路W21を介して上位装置100へデータを送信する。送信部320は、本発明における通信部の例に該当する。
送信バッファメモリ321は、送信部320が送信するデータを送信制御部340の制御に従ってバッファする。すなわち、送信バッファメモリ321は、送信部320が送信するデータを一時的に記憶する。送信バッファメモリ321は、本発明におけるバッファメモリの例に該当する。
なお、受信部310と送信部320とがハードウェア上で一体的に構成されていてもよいし、別々に構成されていてもよい。また、受信制御部330及び送信制御部340のうちいずれか一方または両方が通信制御装置として構成されていてもよい。
通常動作において、送信部320は、上位装置100へ送信するデータを送信バッファメモリ321に格納(バッファ)する。そして送信部320は、送信バッファメモリ321に格納したデータをFIFOで読み出し、読み出したデータをパケットとして整形した後、データ送信路W21を介して上位装置100へ送信する。
通常動作では受信部310は、データを受信バッファメモリ311に保持することができるため、上位装置100と下位装置200との間で複数の要求を処理することができる。例えば受信バッファメモリ311が10個のリクエストを保持できるように構成されている場合、上位装置100は、10個のリクエストを連続して送信し、各リクエストに対するリプライを待つことができる。
このように、通常時には上位装置100は、リクエストに対するリプライを待たずに次のリクエストを送信することができる。受信バッファメモリ311及び送信バッファメモリ321を用いる通常動作では、複数のリクエスト及びリプライが短時間のうちに纏めて送信される点で、データ受信路W11及びデータ送信路W21の利用効率が高く、デバイス入出力部300の通信性能が高い。
送信側バイパス回路322は、送信部320が送信するデータを、送信バッファメモリ321に格納せずに送信部320に直接送信させる。かかる機能を実現するために、送信側バイパス回路322は、送信バッファメモリ321と並列に設けられた送信側バイパス経路W22を構成している。
障害発生時に送信側バイパス回路322が障害情報を送信バッファメモリ321に格納せずに送信部320に直接送信させることで、障害発生時の送信バッファメモリ321の内容を保持することができる。
受信制御部330は、受信部310を制御して上位装置100からのデータを受信させ、受信したデータをデバイス機能部210へ出力させる。
特に、受信制御部330は、障害検知部350が障害を検知した場合、受信部310を制御して、受信バッファメモリ311を使用せずに受信データを処理させる。この場合の受信バッファメモリ311は、障害検知時に使用していたバッファメモリの例に該当する。
第一実施形態では、受信制御部330は、障害検知部350が障害を検知した場合、受信部310を制御して、受信データを受信側バイパス経路W12を用いてデバイス機能部210へ出力させる。
これにより、上述したように障害発生時の受信バッファメモリ311の内容を保持することができる。
送信制御部340は、送信部320を制御して上位装置100へデータを送信させる。
特に、送信制御部340は、障害検知部350が障害を検知した場合、送信部320を制御して、送信バッファメモリ321を使用せずにデータを送信させる。この場合の送信バッファメモリ321は、障害検知時に使用していたバッファメモリの例に該当する。
第一実施形態では、送信制御部340は、障害検知部350が障害を検知した場合、送信部320を制御して、送信側バイパス経路W22を用いてデータを上位装置100へ送信させる。
これにより、上述したように障害発生時の送信バッファメモリ321の内容を保持することができる。
障害検知部350は、障害を検知する。例えば、障害検知部350は、下位装置200内の各種制御レジスタ及びバッファに接続されており、これらレジスタ及びバッファからデータを読み出す。障害検知部350は、読み出したデータを診断アルゴリズムに適用して障害発生を示しているか否かを判定することで、下位装置200のいずれかの部分、データ受信路W11又はデータ送信路W21に発生した障害を検知する。
また、上位装置100が障害を検知した場合は、上位装置100がデータ受信路W11及びデータ送信路W21を一時的に遮断する。この遮断によって障害検知部350が障害を検知する。
障害フラグメモリ360は、障害発生の有無を示す障害フラグを格納する。具体的には障害検知部350は、障害発生を検知した場合、障害フラグメモリ360の値を、障害有りを示す値(例えば、ビットデータの「1」)に設定する。また、障害検知部350は、障害からの復旧を検知した場合、障害フラグメモリ360の値を、障害無しを示す値(例えば、ビットデータの「0」)に設定する。
障害表示部370は、障害の有無を表示する。例えば障害表示部370は発光ダイオード等のランプを備える。そして、障害表示部370は、障害フラグメモリ360の値が障害有りを示す場合にランプを点灯させる。また、障害表示部370は、障害フラグメモリ360の値が障害無しを示す場合にランプを消灯させる。
障害情報収集回路380は、障害情報を収集する。例えば、障害情報収集回路380は、下位装置200内の各種制御レジスタ及びバッファに接続されており、これらレジスタ及びバッファからデータを読み出す。障害検知部350が障害発生を検知した場合、障害情報収集回路380は、レジスタ及びバッファから読み出したデータを纏めたエラーログを生成し出力する。
障害表示部370と障害情報収集回路380とがハードウェア上で一体に構成されていてもよいし、別々に構成されていてもよい。
障害情報収集回路380、障害検知部350、障害フラグメモリ360及び障害表示部370のうち全部又は一部が、デバイス入出力部300の外部に設けられていてもよい。例えば、これらのうち全部又は一部がデバイス機能部210に設けられていてもよい。
次に、図2を参照して情報処理システム1の動作について説明する。
図2は、第一実施形態の下位装置200から上位装置100へ障害情報を送信する処理の流れの例を示す図である。
図2に示す処理で、正常時には下位装置200の受信部310及び送信部320は、受信バッファメモリ311及び送信バッファメモリ321を用いる正常動作による送受信を行う(シーケンスS101)。
一方、下位装置200の障害検知部350が障害発生を検知すると(シーケンスS111)、障害検知部350は、障害フラグをセットする(シーケンスS112)。ここでいう障害フラグのセットは、障害フラグメモリ360の値を障害有りを示す値に更新することである。
障害フラグのセットにより、障害表示部370が障害有りを表示する。例えば、障害表示部370は、障害の有無を示すランプを点灯させることで障害有りの表示を行う。
なお、上位装置100が障害を検知した場合は、上記のように上位装置100がデータ受信路W11及びデータ送信路W21を一時的に遮断する。この遮断によって障害検知部350が障害を検知する。
また、障害フラグがセットされている場合、受信制御部330は、受信部310が受信バッファメモリ311の使用を停止し、受信側バイパス経路W12を用いて送信を行うように制御する。また、障害フラグがセットされている場合、送信制御部340は、送信部320が送信バッファメモリ321の使用を停止し、送信側バイパス経路W22を用いて送信を行うように制御する。これによって、受信バッファメモリ311、送信バッファメモリ321のいずれの内容も障害発生時の状態のまま保持される。
また、受信制御部330及び送信制御部340は、受信部310及び送信部320を一旦停止させ、データ受信路W11及びデータ送信路W21を一旦遮断する(シーケンスS113)。
その後、上位装置100と下位装置200とが再び通信接続し、下位装置200が上位装置100へ障害情報を送信する(シーケンスS120)。
具体的には、上位装置100がデータ受信路W11及びデータ送信路W21をリセットし、下位装置200に再接続する(シーケンスS121)。
上位装置100と下位装置200とが再接続されると、下位装置200が受信バッファメモリ311の記憶しているデータを読み出して上位装置100へ送信する(シーケンスS122)。具体的には、上位装置100は、デバイスドライバの指示に従って、受信バッファメモリ311の読み出しリクエストをデータ受信路W11を介して下位装置200へ送信する。受信バッファメモリ311の読み出しリクエストは、障害情報の読み出しリクエストの1つに該当する。
下位装置200では、受信部310が上位装置100からのリクエストを受信する。障害フラグメモリ360の値が障害有りを示しているため、受信部310は、受信側バイパス経路W12を用いてリクエストを受信する。これにより、受信部310は、受信バッファメモリ311内のデータを上書きすることなくリクエストを受信する。
ここでのリクエスト情報は受信バッファメモリ311の読み出しリクエストであるため、受信部310は、リクエストを障害情報収集回路380へ出力する。障害情報収集回路380は、このリクエストに従ってパス診断経路を介して受信バッファメモリ311からデータを読み出し、リプライパケットに整形して送信部320へ出力する。送信部320は、障害情報収集回路380から入力されたリプライパケットを上位装置100へ送信する。障害フラグメモリ360の値が障害有りを示しているため、送信部320は、送信側バイパス経路W22を用いてリプライパケットを送信する。これにより、送信部320は、送信バッファメモリ321内のデータを上書きすることなくリプライパケットを送信する。
下位装置200は、このリプライパケットによって受信バッファメモリ311の保持データを、データ送信路W21を介して上位装置100側へ送信する。
次に、下位装置200が送信バッファメモリ321の記憶しているデータを読み出して上位装置100へ送信する(シーケンスS123)。具体的には、上位装置100上で動作するデバイスドライバは、リプライパケットを受け取ると送信側バイパス経路W22の読み出しリクエストを送出する。送信側バイパス経路W22の読み出しリクエストは、障害情報の読み出しリクエストの例に該当する。
下位装置200では、受信部310が上位装置100からのリクエストを受信する。障害フラグメモリ360の値が障害有りを示しているため、受信部310は、受信側バイパス経路W12を用いてリクエストを受信する。
ここでのリクエスト情報は送信バッファメモリ321の読み出しリクエストであるため、受信部310は、リクエストを障害情報収集回路380へ出力する。障害情報収集回路380は、このリクエストに従ってパス診断経路を介して送信バッファメモリ321からデータを読み出し、リプライパケットに整形して送信部320へ出力する。送信部320は、障害情報収集回路380から入力されたリプライパケットを上位装置100へ送信する。障害フラグメモリ360の値が障害有りを示しているため、送信部320は、送信側バイパス経路W22を用いてリプライパケットを送信する。
下位装置200は、このリプライパケットによって送信バッファメモリ321の保持データを、データ送信路W21を介して上位装置100側へ送信する。
情報処理システム1は、このようにして受信バッファメモリ311の保持データと、送信バッファメモリ321の保持データとを、上位装置100側に退避することができる。
上記のような受信側バイパス経路W12及び送信側バイパス経路W22を経由したデータ転送では、リクエスト又はリプライを保持するための受信バッファメモリ311又は送信バッファメモリ321を利用しない。このため、上位装置100が、リクエストに対するリプライを受信した後に次のリクエストを送信するというように、リクエストを逐次的に送信する必要がある。下位装置200は、一度に一つずつしかリクエストを処理することができない。
障害時動作では、リクエストに対するリプライを待って次のリクエストが送信される点で、データ受信路W11及びデータ送信路W21の利用効率が低く、デバイス入出力部300の通信性能が低い。もっとも、この障害時の処理は情報処理システム1が本来の目的とする処理ではなく、障害発生時に一時的に実行される処理である。この点で、デバイス入出力部300の通信性能が低いことは許容範囲内であると期待される。
上位装置100は、受信バッファメモリ311の保持データ及び送信バッファメモリ321の保持データの受信を完了すると、障害フラグのリセットをリクエストする(シーケンスS131)。
具体的には、上位装置100は、障害フラグメモリ360へのデータの書き込みリクエストを送信する。この書き込みリクエストは、データ受信路W11を経由して受信部310へ到着する。
受信部310は、受信した書き込みリクエストを受信側バイパス回路312を経由して障害検知部350へ出力し、障害検知部350は、書き込みリクエストに従って障害フラグをリセットする(シーケンスS132)。ここでいう障害フラグのリセットは、障害フラグメモリ360の値を障害無しを示す値に更新することである。
障害フラグメモリ360がリセットされると、受信制御部330は、受信側バイパス経路W12を使用せず、通常の動作モードと同様に受信バッファメモリ311を用いて受信部310にデータの受信を行わせる。送信制御部340は、送信側バイパス経路W22を使用せず、通常の動作モードと同様に送信バッファメモリ321を用いて送信部320にデータの送信を行わせる。
次に下位装置200は、下位装置200のレジスタ及びバッファのうち、送信バッファメモリ321及び送信バッファメモリ321以外のレジスタ及びバッファに格納されている障害情報を読み出して上位装置100へ転送する(シーケンスS133)。
具体的には、上位装置100が下位装置200へ、これらの障害情報の読み出しリクエストを送信する。リクエストを受信した下位装置200は、受信バッファメモリ311の読み出しリクエスト及び送信バッファメモリ321の読み出しリクエストの場合と同様に、リクエストに応じてデータを読み出し、リプライを生成して上位装置100へ送信する。
但し、この時点では障害フラグがリセットされているため、受信制御部330は、受信側バイパス回路312を用いずに受信バッファメモリ311を用いてデータを受信するように受信部310を制御する。送信制御部340は、送信側バイパス回路322を用いずに送信バッファメモリ321を用いてデータを送信するように送信部320を制御する。
これにより、上位装置100は、複数の読み出し要求を連続して下位装置200に発行できる。下位装置200も複数のリプライパケットを連続して上位装置100に発行できる。この点でデータ受信路W11及びデータ送信路W21の利用効率が上昇し、下位装置200は、障害情報の読み出し処理及び送信処理を高速に実行できる。
このように、障害フラグがセットされて受信バッファメモリ311及び送信バッファメモリ321への書き込みが抑止されている間に、障害情報収集回路380が受信バッファメモリ311及び送信バッファメモリ321の保持データを低速モードで読み出す。その後、障害フラグがリセットされた後、障害情報収集回路380は、受信バッファメモリ311及び送信バッファメモリ321以外の保持データを高速モードで読み出す。これにより、下位装置200では、一時退避用の記憶装置又は障害情報採取専用のインタフェースを追加する必要なしに、通常のデータ転送経路を用いて障害情報の転送を行うことができる。障害情報として受信バッファメモリ311及び送信バッファメモリ321の内容も転送することができるため、障害発生時の解析が容易になる。
以上のように、障害検知部350が障害を検知した場合、受信制御部330は、受信部310を制御して、障害検知時に使用していた受信バッファメモリ311を使用せずにデータを受信させる。また、障害検知部350が障害を検知した場合、送信制御部340は、送信部320を制御して、障害検知時に使用していた送信バッファメモリ321を使用せずにデータを送信させる。
これにより、下位装置200は、障害発生時に障害情報を他の装置へ転送する専用の通信路、及び、障害発生時に障害情報を下位装置側に一旦保持する専用のメモリのいずれも設ける必要がなく、かつ、障害発生時における通信用のバッファの内容を保持することができる。
特に、受信制御部330は、障害検知部350が障害を検知した場合、受信部310を制御して、受信側バイパス経路W12を用いて通信を行わせる。また、送信制御部340は、障害検知部350が障害を検知した場合、送信部320を制御して、送信側バイパス経路W22を用いて通信を行わせる。
これにより、下位装置200は、障害発生時も通常時と同様、データ受信路W11及びデータ送信路W21を用いて通信を行うことができ、障害検知時専用の通信路を設ける必要は無い。かつ、下位装置200は、障害発生時のバッファの内容を、受信バッファメモリ311及び送信バッファメモリ321に保持することができ、これらのバッファの内容を保存するための専用のメモリを備える必要は無い。
ここで、図3〜5を参照して、情報処理システム1の構成及び効果についてさらに詳細に説明する。
図3は、通常時の通信路に加えて障害発生時に障害情報を送信する通信路を備える情報処理システムの機能構成例を示す概略ブロック図である。
図3に示す情報処理システム1001は、上位装置1100と、下位装置1200とを備える。下位装置1200は、デバイス機能部1210と、デバイス入出力部1300とを備える。デバイス入出力部1300は、受信部1310と、送信部1320と、受信制御部1330と、送信制御部1340と、障害情報収集回路1380とを備える。受信部1310は、受信バッファメモリ1311を備える。送信部1320は、送信バッファメモリ1321を備える。上位装置1100と下位装置1200とはデータ受信路W1011及びデータ送信路W1021を介して通信接続される。
図3に示す情報処理システム1001は特に、受信部1310、送信部1320のいずれもバイパス経路を備えていない点、及び、障害情報収集回路1380と障害情報収集装置1900とが外部診断パスW1031を介して通信接続される点で、情報処理システム1(図1)と異なる。ここでいうバイパス経路は、情報処理システム1の送信側バイパス経路W22および受信側バイパス経路W12のように、バッファメモリをバイパスする経路である。また、障害情報収集装置1900は、下位装置1200から障害情報を収集する装置である。
通常動作時には、上位装置1100がデータ受信路W1011を介してデータを送信すると、受信部1310が受信制御部1330の制御に従って受信バッファメモリ1311を用いて受信し、デバイス機能部1210へ出力する。また、デバイス機能部1210が送信部1320へデータを出力すると、送信部1320は、送信制御部1340の制御に従って送信バッファメモリ1321を用いて、データ送信路W1021を介して上位装置1100へデータを送信する。
一方、障害発生時には、下位装置1200内の障害情報収集回路1380は、下位装置1200内の各所の制御レジスタ及びRAM(Random Access Memory)等から障害情報を収集し、これを外部診断パスW1031を用いて障害情報収集装置1900に転送する。
このように情報処理システム1001では、下位装置1200は、通常動作時の通信経路とは別に障害情報転送用に設けられた外部診断パスW1031を介して障害情報を他装置へ転送する。
情報処理システム1001では、通常動作時の通信経路とは別に外部診断パスW1031を設ける必要がある。情報処理システム1001ではこの点で、下位装置1200のハードウェア構成が複雑になり、下位装置1200の製造コストが高くなってしまう。
これに対し、情報処理システム1では、通常動作時の通信路であるデータ受信路W11及びデータ送信路W21を用いて障害情報の転送処理を行う。通常動作時の通信経路とは別に障害情報転送用の通信路を設ける必要がない点で、情報処理システム1では、下位装置200ハードウェア構成を比較的簡単にすることができ、下位装置200の製造コストを比較的安くできる。
図4は、障害情報用のバッファメモリを備える情報処理システムの機能構成例を示す概略ブロック図である。
図4に示す情報処理システム1002は、上位装置1100と、下位装置1200とを備える。下位装置1200は、デバイス機能部1210と、デバイス入出力部1300とを備える。デバイス入出力部1300は、受信部1310と、送信部1320と、受信制御部1330と、送信制御部1340と、障害情報収集回路1380と、障害情報収集バッファメモリ1381とを備える。受信部1310は、受信バッファメモリ1311を備える。送信部1320は、送信バッファメモリ1321を備える。上位装置1100と下位装置1200とはデータ受信路W1011及びデータ送信路W1021を介して通信接続される。
図4に示す情報処理システム1002は特に、受信部1310、送信部1320のいずれもバイパス経路を備えていない点、及び、障害情報収集バッファメモリ1381を備える点で、情報処理システム1(図1)と異なる。
通常動作時には、上位装置1100がデータ受信路W1011を介してデータを送信すると、受信部1310が受信制御部1330の制御に従って受信バッファメモリ1311を用いて受信し、デバイス機能部1210へ出力する。また、デバイス機能部1210が送信部1320へデータを出力すると、送信部1320は、送信制御部1340の制御に従って送信バッファメモリ1321を用いて、データ送信路W1021を介して上位装置1100へデータを送信する。
一方、障害発生時には、下位装置1200内の障害情報収集回路1380が収集した障害情報を、障害情報収集バッファメモリ1381が一旦保持する。下位装置1200のリセットあるいは復旧の後、障害情報収集バッファメモリ1381が保持している障害情報を、送信部1320が送信バッファメモリ1321を用いて、データ送信路W1021を介して上位装置1100へ送信する。
情報処理システム1002では、下位装置1200側に障害情報を一旦保持する点で、下位装置1200に必要なメモリ容量が大きくなり、下位装置1200の製造コストが高くなってしまう。
これに対し情報処理システム1では、障害情報を一旦蓄えるためのバッファメモリを下位装置200に設ける必要がない。この点で、情報処理システム1では、下位装置200のメモリ容量が比較的小さくて済み、下位装置200の製造コストを比較的安くできる。
図5は、送信バッファメモリに障害情報を保持する情報処理システムの機能構成例を示す概略ブロック図である。
図5に示す情報処理システム1003は、上位装置1100と、下位装置1200とを備える。下位装置1200は、デバイス機能部1210と、デバイス入出力部1300とを備える。デバイス入出力部1300は、受信部1310と、送信部1320と、受信制御部1330と、送信制御部1340と、障害情報収集回路1380とを備える。受信部1310は、受信バッファメモリ1311を備える。送信部1320は、送信バッファメモリ1321を備える。上位装置1100と下位装置1200とはデータ受信路W1011及びデータ送信路W1021を介して通信接続される。
図5に示す情報処理システム1003は特に、受信部1310、送信部1320のいずれもバイパス経路を備えていない点で、情報処理システム1(図1)と異なる。
通常動作時には、上位装置1100がデータ受信路W1011を介してデータを送信すると、受信部1310が受信制御部1330の制御に従って受信バッファメモリ1311を用いて受信し、デバイス機能部1210へ出力する。また、デバイス機能部1210が送信部1320へデータを出力すると、送信部1320は、送信制御部1340の制御に従って送信バッファメモリ1321を用いて、データ送信路W1021を介して上位装置1100へデータを送信する。
一方、障害発生時には、下位装置1200内の障害情報収集回路1380は、収集した障害情報を送信部1320へ出力する。送信部1320は、障害情報を送信バッファメモリ1321に保持する。下位装置1200側のリセットあるいは復旧の後、送信部1320は、送信バッファメモリ1321に保持している障害情報を、データ送信路W1021を介して上位装置1100へ送信する。
情報処理システム1003では、送信バッファメモリ1321に障害情報が書き込まれることで、障害発生時における送信バッファメモリ1321の内容が書き潰される。障害発生直前の通信状況は障害の原因や復旧手段を解析するのに有用であるのに対し、情報処理システム1003では、障害発生直前の通信状況の情報が失われる可能性がある。
また、情報処理システム1003で、下位装置1200が主体的に障害情報を上位装置1100へ送信する場合は、上位装置100側の予め確保された記憶領域に障害情報を書き込むことが考えられる。しかしながら、上位装置1100内に障害情報を書き込むための記憶領域を常に確保しておくことは、資源の効率的活用の観点から好ましくない。
一方、上位装置1100が主導して下位装置1200から障害情報を読み出す場合、下位装置1200が送信バッファメモリ1321を障害情報の保持に用いているため、上位装置1100の主導では送信バッファメモリ1321を利用できない可能性がある。
これに対し、情報処理システム1では、送信部320が障害情報を送信バッファメモリ321に保持せずに上位装置100へ送信するので、障害発生直前の送信バッファメモリ321の情報が失われない。
また、情報処理システム1では、上位装置100からの障害情報のリクエストに対して送信部320が、送信バッファメモリ321を用いずに障害情報をリプライする。この点で、情報処理システム1では、送信バッファメモリ321を使用せずとも上位装置100の主導で障害情報を上位装置100へ転送することができる。
<第二実施形態>
図6は、本発明の第二実施形態に係る情報処理システムの機能構成を示す概略ブロック図である。図6に示すように、情報処理システム2は、上位装置100と、下位装置200とを備える。下位装置200は、デバイス機能部210と、デバイス入出力部300とを備える。デバイス入出力部300は、受信部410と、送信部420と、受信制御部430と、送信制御部440と、障害検知部350と、障害フラグメモリ360と、障害表示部370と、障害情報収集回路380とを備える。受信部410は、複数の受信バッファメモリ311と、受信側選択回路413とを備える。送信部420は、複数の送信バッファメモリ321と、送信側選択回路423とを備える。上位装置100と下位装置200とは、データ受信路W11及びデータ送信路W21を介して通信接続される。
図6の各部のうち、図1の各部に対応して同様の機能を有する部分には同一の符号(100、200、210、300、311、321、350、360、370、380、W11,W21)を付して説明を省略する。
情報処理システム2では、受信部410及び送信部420の構成が、情報処理システム1の受信部310及び送信部320の場合と異なる。これに伴って、情報処理システム2では、受信制御部430及び送信制御部440が行う制御が、情報処理システム1の受信制御部330及び送信制御部340の場合と異なる。それ以外は、情報処理システム1の場合と同様である。
なお、受信制御部330及び送信制御部340のうちいずれか一方または両方が通信制御装置として構成されていてもよい。
受信部410では、受信バッファが多バンク化されており、n個(nは正整数)の受信バッファメモリ311−1〜311−n及び受信側選択回路413を含んで構成されている。
受信側選択回路413は、受信制御部430の制御に従ってn個の受信バッファメモリ311−1〜311−nのうちいずれか1つを選択してデータを読み出し出力する。
通常動作時に受信制御部430が受信部410の受信バッファを制御する方法として、多バンク化されたバッファを制御する公知の方法を用いることができる。
例えば、通常動作において下位装置200は、データ受信路W11を介して上位装置100より受信したデータを受信部310内の受信バッファメモリ311に格納する。このとき、受信制御部430は、多バンク化された受信バッファのどのバンクに対して格納すべきかを制御する。受信部410が備える受信バッファメモリにおけるバンクは、個々の受信バッファメモリ311を用いて構成されている。
受信制御部430はパケットを書き込むバンクを指定する書き込みバンク指定ポインタと、バンク内の書き込み位置を指定する書き込みポインタとを有している。受信制御部430は、書き込みポインタを先頭番地から最終番地に移動させながら、書き込みポインタの指す番地にパケットを書き込む。最終番地への書き込みが完了した場合、受信制御部430は、書き込みポインタを先頭番地に移動させるとともに、書き込みバンク指定ポインタが次のバンクを指すように制御する。
さらに、受信制御部430は、多バンク化された受信バッファのどのバンクからパケットを出力すべきか否かも制御する。具体的には、受信制御部430はバンク内の読み出し位置を指定する読み出しポインタを有している。受信制御部430は、読み出しポインタを先頭番地から最終番地に移動させながら、読み出しポインタの指す番地のパケットを各バンクから読み出すように受信部410を制御する。
また、受信制御部430は、パケットを読み出すバンクを指定する読み出しバンク指定ポインタを有している。受信制御部430は、受信側選択回路413を制御して、受信バッファの複数のバンクのうち読出バンクポインタの内容によって指定されたバンクからパケットを読み出させ、受信部410から出力させる。
最終番地からの読み出しが完了した場合、受信制御部430は、読み出しポインタを先頭番地に移動させるとともに、読み出しバンク指定ポインタが次のバンクを指すように制御する。
送信部420では、送信バッファが多バンク化されており、m個(mは正整数)の送信バッファメモリ321−1〜321−m及び送信側選択回路423を含んで構成されている。mは、nと同じ数であってもよいし、異なる数であってもよい。
送信側選択回路423は、送信制御部440の制御に従ってm個の送信バッファメモリ321−1〜321−mのうちいずれか1つを選択してデータを読み出し出力する。
通常動作において送信部420及び送信制御部440は、受信部410及び受信制御部430の場合と同様に、複数のバンクを切り替えながら出力パケットの保持及び出力を行う。
このように通常動作では下位装置200は、データパケットを受信バッファや送信バッファに複数保持することができる。これにより、上位装置100と下位装置200との間では複数の要求を並列的に処理することができる。これによってデータ受信路W11及びデータ送信路W21の利用効率が上昇し、高い転送性能を発揮することができる。
次に、図7を参照して情報処理システム1の動作について説明する。
図7は、第二実施形態の下位装置200から上位装置100へ障害情報を送信する処理の流れの例を示す図である。
図7に示す処理で、正常時には下位装置200の受信部410及び送信部420は、上述したように受信バッファ及び送信バッファをバンクの除外無しに使用する正常動作にて送受信を行う(シーケンスS201)。
図7のシーケンスS211〜S213は、図2のシーケンスS111〜S113と同様である。
情報処理システム2では、障害フラグの値が障害有りを示している場合、多バンク化された受信バッファ、送信バッファそれぞれのうち、障害発生時に使用していたバンクを使用しないように除外される(シーケンスS214)。
具体的には、受信制御部430の書き込みバンク指定ポインタおよび読み出しバンク指定ポインタは、障害発生時に使用していたバンクを指定している。受信制御部430は、受信部410を制御してデータを受信させる際、書き込みバンク指定ポインタおよび読み出しバンク指定ポインタが指定しているバンクについて書き込みが行われないように制御する。
例えば受信バッファが4バンクで構成されていた場合、受信制御部430は、書き込みバンク指定ポインタおよび読み出しバンク指定ポインタが指定している1つ又は2つのバンクについては内容をそのまま保持させる。そして、受信制御部430は、残りの3つ又は2つのバンクを用いて受信部410にデータを受信させる。
同様に、送信制御部440の書き込みバンク指定ポインタおよび読み出しバンク指定ポインタは、障害発生時に使用していたバンクを指定している。送信制御部440は、送信部420を制御して障害情報を送信させる場合、書き込みバンク指定ポインタおよび読み出しバンク指定ポインタが指定しているバンクについて書き込みが行われないように制御する。
例えば送信バッファが4バンクで構成されていた場合、送信制御部440は、書き込みバンク指定ポインタおよび読み出しバンク指定ポインタが指定している1つ又は2つのバンクについては内容をそのまま保持させる。そして、送信制御部440は、残りの3つ又は2つのバンクを用いて送信部420にデータを送信させる。
このように、受信制御部430は、障害検知部350が障害を検知した場合、受信部410及を制御して、障害検知時に使用していた受信バッファメモリ311以外の受信バッファメモリ311を用いてデータを受信させる。また、送信制御部440は、障害検知部350が障害を検知した場合、送信部420及を制御して、障害検知時に使用していた送信バッファメモリ321以外の送信バッファメモリ321を用いてデータを送信させる。
下位装置200が通信路を一旦遮断した後、上位装置100と下位装置200とが再び通信接続し、下位装置200が上位装置100へ障害情報を送信する(シーケンスS220)。
シーケンスS221は、図2のシーケンスS121と同様である。
上位装置100と下位装置200とが再接続されると、下位装置200が受信バッファメモリ311の記憶しているデータを読み出して上位装置100へ送信する(シーケンスS222)。その際、障害情報収集回路380は、受信バッファの複数のバンクのうち、受信制御部430の書き込みバンク指定ポインタおよび読み出しバンク指定ポインタが指定する1つまたは2つのバンクについてのみ障害情報を収集する。そして、障害情報収集回路380は、収集した障害情報を送信部420へ出力する。送信部420は、障害情報収集回路380から出力された障害情報を、上記のように一部のバンク以外のバンクを使用して上位装置100へ送信する。
また、下位装置200は、送信バッファメモリ321の記憶しているデータを読み出して上位装置100へ送信する(シーケンスS223)。その際、送信部420は、送信バッファの複数のバンクのうち、送信制御部440の書き込みバンク指定ポインタおよび読み出しバンク指定ポインタが指定する1つまたは2つのバンクについてのみ上位装置100へ送信する。
受信バッファ、送信バッファのいずれについても、書き込みバンク指定ポインタおよび読み出しバンク指定ポインタが指定する1つまたは2つのバンク以外のバンクに保持された情報は、読み出しリクエストの受信及びリプライの送信によって上書される。これらの情報は障害解析における優先度が低いため、上書されても問題ないと考えられる。
シーケンスS231及びS232は、図1のシーケンスS131及びS132と同様である。
障害フラグがリセットされると、受信制御部430及び送信制御部440の各々は、障害検出時のバンクの使用からの除外を解除し、通常動作時の動作にて受信部410及び送信部420を制御する(シーケンスS233)。
次に下位装置200は、下位装置200のレジスタ及びバッファのうち、送信バッファメモリ321及び送信バッファメモリ321以外のレジスタ及びバッファに格納されている障害情報を読み出して上位装置100へ転送する(シーケンスS234)。
シーケンスS234の処理は、図2のシーケンスS133の場合と同様、上位装置100から下位装置200への障害情報の読み出しリクエストに応じて実行される。この点は、シーケンスS222における受信バッファデータの転送の場合、及び、シーケンスS223における送信バッファデータの転送の場合と同様である。
但し、シーケンスS234では、障害フラグがリセットされているため、受信制御部430及び送信制御部440は、それぞれ多バンク化された受信バッファ及び送信バッファの全バンクを利用して、受信部410及び送信部420にデータの送受信を行わせる。これにより、このためデータ受信路W11及びデータ送信路W21の利用効率が上昇し、この点で、障害情報読み出し処理を高速に実行できる。
第二実施形態では、障害発生時に受信バッファ及び送信バッファから障害情報を読み出して上位装置100へ送信する際、多バンク化された受信バッファおよび送信バッファの一部のバンクのみ利用禁止となるが、残りのバンクをデータ転送に利用できる。これにより、第二実施形態では、第一実施形態の場合よりも障害情報の転送処理を高速に実行できる。
以上のように、受信制御部430は、障害検知部350が障害を検知した場合、受信部410を制御して、障害検知時に使用していた受信バッファメモリ311以外の受信バッファメモリ311を用いてデータを受信させる。また、送信制御部440は、障害検知部350が障害を検知した場合、送信部420を制御して、障害検知時に使用していた送信バッファメモリ321以外の送信バッファメモリ321を用いてデータを送信させる。
これにより、下位装置200は、障害発生時も通常時と同様、データ受信路W11及びデータ送信路W21を用いて通信を行うことができ、障害検知時専用の通信路を設ける必要は無い。かつ、下位装置200は、障害発生時のバッファの内容を、受信バッファメモリ311及び送信バッファメモリ321に保持することができ、これらのバッファの内容を保存するための専用のメモリを備える必要は無い。
さらに、下位装置200は、障害発生時においても複数のバンクを使用してデータの送受信を行い得る。この点で、下位装置200は、障害情報の転送処理を高速に実行できる。
なお、少なくとも1つの実施形態におけるデバイス入出力部300の機能の全部または一部が、コンピュータを用いて構成されていてもよい。
図8は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。図5に示すコンピュータ500は、CPU(Central Processing Unit、中央処理装置)510と、記憶装置520と、インタフェース530とを備える。
第一実施形態におけるデバイス入出力部300、及び、第二実施形態におけるデバイス入出力部300は、いずれもコンピュータ500に実装される。このデバイス入出力部300の動作は、プログラムの形式で記憶装置520に記憶されている。CPU510は、プログラムを記憶装置520から読み出し、当該プログラムに従ってデバイス入出力部300の処理を実行する。
受信バッファメモリ311、送信バッファメモリ321及び障害フラグメモリ360のうち1つ以上が記憶装置520の記憶容量を用いて構成されていてもよい。あるいは、受信バッファメモリ311、送信バッファメモリ321及び障害フラグメモリ360のいずれも記憶装置520とは異なる記憶装置を用いて構成されていてもよい。
次に、図9〜図11を参照して、本発明の最小構成について説明する。
図9は、本発明に係る装置の最小構成の例を示す図である。図9に示す装置10は、通信部11と、障害検知部12と、通信制御部13とを備える。通信部11は、バッファメモリ14を備える。
かかる構成にて、バッファメモリ14は、通信データをバッファする。障害検知部12は、障害を検知する。通信制御部13は、障害検知部12が障害を検知した場合、通信部11を制御して、障害検知時に使用していたバッファメモリ14を使用せずに通信を行わせる。
これにより、装置10は、障害発生時も通常時と同様の通信路を用いて通信を行うことができ、障害検知時専用の通信路を設ける必要が無い。かつ、装置10は、障害発生時のバッファの内容を、バッファメモリ14に保持することができ、障害発生時のバッファの内容を保存するための専用のメモリを備える必要が無い。
図10は、本発明に係る通信制御装置の最小構成の例を示す図である。図10には通信制御装置20が示されている。
この通信制御装置20は、障害が検知された場合、通信データをバッファするバッファメモリを備えた通信部を制御して、障害検知時に使用していたバッファメモリを使用せずに通信を行わせる。
これにより、通信制御装置20は、通信部に障害発生時も通常時と同様の通信路を用いて通信を行わせることができ、障害検知時専用の通信路を設ける必要が無い。かつ、通信制御装置20は、障害発生時のバッファの内容を、バッファメモリに保持させることができ、障害発生時のバッファの内容を保存するための専用のメモリを備える必要が無い。
図11は、本発明に係る情報処理システムの最小構成の例を示す図である。図11に示す情報処理システム30は、上位装置31と、下位装置32とを備える。下位装置32は、通信部33と、障害検知部34と、通信制御部35とを備える。通信部33は、バッファメモリ36を備える。
かかる構成にて、バッファメモリ36は、通信データをバッファする。通信部33は、上位装置31と通信を行う。障害検知部34は、障害を検知する。通信制御部35は、障害検知部34が障害を検知した場合、通信部33を制御して、障害検知時に使用していたバッファメモリ36を使用せずに通信を行わせる。
これにより、情報処理システム30は、障害発生時も通常時と同様の通信路を用いて通信を行うことができ、障害検知時専用の通信路を設ける必要が無い。かつ、情報処理システム30は、障害発生時のバッファの内容を、バッファメモリ36に保持することができ、障害発生時のバッファの内容を保存するための専用のメモリを備える必要が無い。
なお、少なくとも1つの1つの実施形態におけるデバイス入出力部300の機能の全部または一部を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりデバイス入出力部300の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
1、2、30 情報処理システム
10 装置
11、33 通信部
12、34、350 障害検知部
13、35 通信制御部
14、36 バッファメモリ
20 通信制御装置
31、100 上位装置
32、200 下位装置
210 デバイス機能部
300 デバイス入出力部
320 送信部
321 送信バッファメモリ
322 送信側バイパス回路
423 送信側選択回路
310 受信部
311 受信バッファメモリ
312 受信側バイパス回路
413 受信側選択回路
340 送信制御部
330 受信制御部
360 障害フラグメモリ
370 障害表示部
380 障害情報収集回路

Claims (7)

  1. 通信データをバッファするバッファメモリを備えた通信部と、
    障害を検知する障害検知部と、
    前記障害検知部が障害を検知した場合、前記通信部を制御して、障害検知時に使用していた前記バッファメモリを使用せずに通信を行わせる、通信制御部と、
    を備える装置。
  2. 前記通信部は、前記バッファメモリと並列に設けられたバイパス経路を備え、
    前記通信制御部は、前記障害検知部が障害を検知した場合、前記通信部を制御して、前記バイパス経路を用いて通信を行わせる、
    請求項1に記載の装置。
  3. 前記通信部は、複数の前記バッファメモリを備え、
    前記通信制御部は、前記障害検知部が障害を検知した場合、前記通信部を制御して、障害検知時に使用していたバッファメモリ以外のバッファメモリを用いて通信を行わせる、
    請求項1に記載の装置。
  4. 障害が検知された場合、通信データをバッファするバッファメモリを備えた通信部を制御して、障害検知時に使用していた前記バッファメモリを使用せずに通信を行わせる、通信制御装置。
  5. 上位装置と下位装置とを備え、
    前記下位装置は、
    通信データをバッファするバッファメモリを備えて前記上位装置と通信を行う通信部と、
    障害を検知する障害検知部と、
    前記障害検知部が障害を検知した場合、前記通信部を制御して、障害検知時に使用していた前記バッファメモリを使用せずに通信を行わせる、通信制御部と、
    を備える情報処理システム。
  6. 障害を検知する障害検知ステップと、
    前記障害検知ステップで障害を検知した場合、通信データをバッファするバッファメモリを備えた通信部を制御して、障害検知時に使用していた前記バッファメモリを使用せずに通信を行わせる、通信制御ステップと、
    を含む通信制御方法。
  7. 通信データをバッファするバッファメモリを備えた通信部を制御するコンピュータに、
    障害を検知する障害検知ステップと、
    前記障害検知ステップで障害を検知した場合、前記通信部を制御して、障害検知時に使用していた前記バッファメモリを使用せずに通信を行わせる、通信制御ステップと、
    を実行させるためのプログラム。
JP2017001907A 2017-01-10 2017-01-10 装置、通信制御装置、情報処理システム、通信制御方法及びプログラム Pending JP2018112825A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017001907A JP2018112825A (ja) 2017-01-10 2017-01-10 装置、通信制御装置、情報処理システム、通信制御方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017001907A JP2018112825A (ja) 2017-01-10 2017-01-10 装置、通信制御装置、情報処理システム、通信制御方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2018112825A true JP2018112825A (ja) 2018-07-19

Family

ID=62912447

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017001907A Pending JP2018112825A (ja) 2017-01-10 2017-01-10 装置、通信制御装置、情報処理システム、通信制御方法及びプログラム

Country Status (1)

Country Link
JP (1) JP2018112825A (ja)

Similar Documents

Publication Publication Date Title
US10996892B2 (en) Apparatus and method for controlling data acceleration
CN102209103B (zh) 向多个存储控制器多播写请求
CN100538684C (zh) Dma控制器、节点、数据传送控制方法
JP5186382B2 (ja) メモリ・システム内で不確定な読み取りデータ待ち時間を可能にする方法及びシステム
KR100985926B1 (ko) 메모리 시스템 컴포넌트들 사이에서 신호들을 리라우팅하는시스템 및 방법
US10459875B2 (en) Hybrid remote direct memory access
US10489069B2 (en) Address/command chip synchronized autonomous data chip address sequencer for a distributed buffer memory system
US20070220361A1 (en) Method and apparatus for guaranteeing memory bandwidth for trace data
US11500542B2 (en) Generation of a volume-level of an IO request
US20070079065A1 (en) Advanced dynamic disk memory module
US20140006742A1 (en) Storage device and write completion notification method
US9892071B2 (en) Emulating a remote direct memory access (‘RDMA’) link between controllers in a storage array
CN108733594B (zh) 存储器控制器与数据储存装置
US9003077B2 (en) Sharing IOMMU mappings across devices in a DMA group
US9626241B2 (en) Watchdogable register-based I/O
US10157005B2 (en) Utilization of non-volatile random access memory for information storage in response to error conditions
US8244930B1 (en) Mechanisms for synchronizing data transfers between non-uniform memory architecture computers
US10430356B2 (en) Low overhead copy engine fault and switch mechanism
CN109614264B (zh) 一种数据备份方法、装置及系统
US8812787B2 (en) Router and many-core system
US20200358637A1 (en) Information processing system, and platform
JP2018112825A (ja) 装置、通信制御装置、情報処理システム、通信制御方法及びプログラム
US7698500B2 (en) Disk array system, host interface unit, control method for disk array system, and computer program product for disk array system
US20060129714A1 (en) Method and apparatus for transferring data
US10216625B2 (en) Hardware integrity verification