(57)【要約】【課題】受信コマンド及びデータを処理する内部回路の障害発生時に、原因調査の時間を短縮する。【解決手段】受信したコマンド及びデータを処理する内部回路（３４、３６Ａ〜３６Ｃ，２２，２４，２６）と、受信したコマンド及びデータを履歴格納するメモリ（４０）と、障害検出時メモリ（４０）の履歴データを読み出し、内部回路（３４、３６Ａ〜３６Ｃ，２２，２４，２６）に出力する制御回路（４２）を有する。メモリ（４０）のヒストリデータを元に、障害直前のハード動作を全く同じ様に再現出来るため、障害調査の絞り込みが可能となり、障害の原因調査の時間の短縮が図れる。【選択図】図３
2011258055.tif 000002
【特許請求の範囲】
【請求項１】
受信したコマンド及びデータを処理する情報処理システムにおいて、
受信したコマンド及びデータを処理する内部回路と、
前記受信したコマンド及びデータを履歴として格納するメモリと、
前記内部回路の障害検出に応じて、前記メモリのコマンド及びデータを読み出し、前記内部回路に出力する制御回路とを有する
ことを特徴とする情報処理システム。
【請求項２】
前記内部回路の障害を検出し、前記制御回路に読み出し指示を行う処理回路を更に有する
ことを特徴とする請求項１の情報処理システム。
【請求項３】
情報処理装置に接続され、前記情報処理装置から前記コマンド及びコマンドを受信し、前記内部回路及び前記メモリに前記受信したコマンド及びデータを出力するインターフェース回路を更に有する
ことを特徴とする請求項１の情報処理システム。
【請求項４】
受信したコマンド及びデータを処理する情報処理システムの障害処理方法において、
内部回路が受信したコマンド及びデータを処理するステップと、
前記受信したコマンド及びデータを履歴としてメモリに格納するステップと、
制御回路が前記内部回路の障害検出に応じて、前記メモリのコマンド及びデータを読み出し、前記内部回路に出力するステップとを有する
ことを特徴とする情報処理システムの障害処理方法。
【請求項５】
処理回路が前記内部回路の障害を検出し、前記制御回路に読み出し指示を行うステップを更に有する
ことを特徴とする請求項４の情報処理システムの障害処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム及び情報処理システムの障害処理方法に関する。
【背景技術】
【０００２】
情報処理システムの障害の解析のため、様々な技術が提案されている。情報処理システムにおいて、障害発生時に、障害近辺で実行された命令のログ（LOG）情報（以後、ヒストリ情報と呼ぶ）を参照する事により、どの様な状況で障害となったかを解析できる。
【０００３】
情報処理システムは、受信したコマンド等の情報をメモリ（ヒストリメモリという）に、書き込み、障害検出時にヒストリ情報への書込みを抑止する。そして、情報処理システムは、その後、ヒストリメモリに書き込まれたヒストリ情報を読み出し、障害の解析を行っている。又、ヒストリメモリを外部装置からリードし、リードした内容を解析することも行われえている。更に、システムの内部回路からテスト用のコマンドを発行し、障害個所の探索を行っている。
【０００４】
このようなヒストリ情報の解析は、シミュレーションやシステムメーカの技術者、サービスエンジニアにより行われる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−０１２０６６号公報
【特許文献２】特開２００５−２８４５４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、受信したデータを解析するのに手間がかかり、障害の原因究明まで至らないケースがある。又、シミュレーションでは、実際の回路内部の故障の再現を行っておらず、再現にも時間がかかる場合が考えられる。更に、内部回路からのコマンド発行方法では、実際に受信したコマンドやデータを使用する訳ではないため、障害の再現に時間がかかる。
【０００７】
特に、タイミング障害等は、障害再現試験を何回も行なう事があり、障害の原因調査に多大な時間が掛かる場合があった。
【０００８】
本発明の目的は、障害調査に要する時間を短縮する情報処理システム及び情報処理システムの障害処理方法を提供することにある。
【課題を解決するための手段】
【０００９】
この目的の達成のため、開示の情報処理システムは、受信したコマンド及びデータを処理する情報処理システムにおいて、受信したコマンド及びデータを処理する内部回路と、前記受信したコマンド及びデータを履歴として格納するメモリと、前記内部回路の障害検出に応じて、前記メモリのコマンド及びデータを読み出し、前記内部回路に出力する制御回路とを有する。
【００１０】
又、この目的の達成のため、開示の情報処理システムの障害処理方法は、内部回路が受信したコマンド及びデータを処理するステップと、前記受信したコマンド及びデータを履歴としてメモリに格納するステップと、制御回路が前記内部回路の障害検出に応じて、前記メモリのコマンド及びデータを読み出し、前記内部回路に出力するステップとを有する。
【発明の効果】
【００１１】
コマンド及びデータを履歴格納するメモリのヒストリデータを元に、障害直前のハード動作を全く同じ様に再現出来るため、障害調査の絞り込みが可能となり、障害の原因調査の時間の短縮が図れる。又、ヒストリメモリのデータを使用するため、外部装置と接続されていなくても，内部回路の内部動作の細かな検証が可能となる。
【図面の簡単な説明】
【００１２】
【図１】実施の形態の情報処理システムのブロック図である。
【図２】図１のポートユニットのブロック図である。
【図３】図２のヒストリ回路のブロック図である。
【図４】図３の書き込み処理フロー図である。
【図５】図４の書き込みモード１のヒストリメモリの説明図である。
【図６】図５の書き込みモード１の動作説明図である。
【図７】図４の書き込みモード２のヒストリメモリの説明図である。
【図８】図７の書き込みモード２の動作説明図である。
【図９】図７の書き込みモード２のタイムチャート図である。
【図１０】図４の書き込みモード３のヒストリメモリの説明図である。
【図１１】図１０の書き込みモード３の動作説明図である。
【図１２】図３の読み出し処理フロー図である。
【図１３】図１２の読み出し処理のタイムチャート図である。
【図１４】第２の実施の形態の情報処理システムのブロック図である。
【発明を実施するための形態】
【００１３】
以下、実施の形態の例を、情報処理システムの第１の実施の形態、ヒストリ回路の実施の形態、ヒストリ書き込み処理、ヒストリ読み出し処理、情報処理システムの第２の実施の形態、他の実施の形態の順で説明するが、開示の情報処理システム、ヒストリ回路は、この実施の形態に限られない。
【００１４】
（情報処理システムの第１の実施の形態）
図１は、実施の形態の情報処理システムのブロック図である。図２は、図１のポート回路のブロック図である。図１は、情報処理システムとして、クラスタシステムを示す。図１に示すように、クラスタシステムは、複数（ここでは、Ｎ＋１台）のクラスタ１−０〜１−Ｎと、システム記憶ユニット（ＳＳＵ：System Storage Unit）２とを有する。各クラスタ１−０〜１−Ｎは、単数又は複数の演算処理ユニット（ＣＰＵ：Central Processing Unit）１０と、メモリを有するメモリアクセスコントローラ（ＭＡＣ：Memory Access Controller）１４と、外部装置との接続を制御するチャネルユニット（ＣＨ:Channel Unit）１６と、システム記憶ユニット２と接続するポートユニット１８と、システムコントローラ（ＳＣ:System Controller）１２と、サービスプロセッサ（ＳＶＰ：Service Processor）１９とを有する。
【００１５】
演算処理ユニット（以下、ＣＰＵという）１０は、命令で指定された演算処理を実行する。チャネルユニット１６は、他のクラスタや入出力ユニットと接続する。メモリアクセスコントローラ１４は、ロード、ストア命令に応じて、メモリの指定されたアドレスのデータを読み出し、メモリにデータを書き込む。システムコントローラ１２は、ＣＰＵとメモリコントローラ１４とチャネルユニット１６とポートユニット１８間を接続し、コマンドやデータの振り分け処理を行う。サービスプロセッサ１９は、ＣＰＵ１０，メモリアクセスコントローラ１４、システムコントローラ１２、チャネルユニット１６、ポートユニット１８の状態設定、状態監視、電源制御等を行う。
【００１６】
システム記憶ユニット２は、各クラスタ１−０〜１−Ｎに転送バス９−１０〜９−１Ｎを介し接続され、共有データを保持するとともに、クラスタ間の通信を行う。システム記憶ユニット２は、各クラスタ１−０〜１−Ｎに接続された複数のポートユニット３−０〜３−Ｎと、メモリを有するメモリアクセスコントローラ（ＭＡＣ）２２と、プライオリテイ制御回路（ＰＲＩＯ：Priority）２４と、構成（ＣＮＦＧ：Configuration）制御回路２６と、サービスプロセッサ２０とを有する。
【００１７】
各ポートユニット３−０〜３−Ｎは、転送バス９−１０〜９−１Ｎを介し各クラスタ１−０〜１−Ｎのポートユニット１８と接続し、コマンド、データの送受信とコマンド解析を行う。本実施の形態では、各ポートユニット３−０〜３−Ｎは、後述するヒストリ回路を有する。メモリアクセスコントローラ１４は、ロード、ストア命令に応じて、メモリの指定されたアドレスのデータを読み出し、メモリにデータを書き込む。プライオリテイ回路２４は、メモリの同一アドレスへのアクセスの排他制御及びメモリアクセスの優先制御を行う。構成制御回路２６は、クラスタとシステム制御ユニットとの接続等のクラスタグループの動的変更を制御する。
【００１８】
サービスプロセッサ１９は、プライオリテイ回路２４，メモリアクセスコントローラ２２、構成制御回路２６、各ポートユニット３−０〜３−Ｎの状態設定、状態監視、電源制御等を行う。又、サービスプロセッサ１９は、デイスプレイ、キーボード等の入出力装置を有する。サービスプロセッサ１９は、各クラスタ１−０〜１−Ｎのサービスプロセッサ１９に制御バス９−２を介し接続し、各クラスタ１−０〜１−Ｎのサービスプロセッサ１９の状態設定、状態把握等を行う。
【００１９】
図１の情報処理システムでは、複数のクラスタ１−０〜１−Ｎが並列処理を行う。システム記憶装置２は、共有データを保持するとともに、クラスタ間の通信を行う。システム記憶装置２では、各ポートユニット３−０〜３−Ｎが、バス９−１を介し、各クラスタ１−０〜１−Ｎからのコマンド、データを受ける。プライオリテイ回路２４は、受けたコマンドに優先順位を付し、且つ排他制御して、メモリコントローラ２２をメモリアクセス制御する。即ち、メモリコントローラ２２は、優先順位の高いコマンドからメモリに対し、フェッチ（Fetch）及びストア(Store)コマンドを実行する。
【００２０】
各ポートユニット３−０〜３−Ｎは、メモリコントローラ２２からのフェッチ及びストア命令の実行結果を受け、バス９−１０〜９−１Ｎを介し、該当するクラスタ１−０〜１−Ｎに転送する。ＳＶＰ２０は、各ポートユニット３−０〜３−Ｎ、メモリコントローラ２２、プライオリテイ回路２４、構成制御回路２６の状態設定及び状態監視を行う。この例では、ＳＶＰ２０は、ＪＴＡＧ（Joint Test Action Group）仕様の制御バスを介し、各ポートユニット３−０〜３−Ｎに各種の状態設定を行う。又、ＳＶＰ２０は、ＪＴＡＧ仕様の制御バスを介し、各ポートユニット３−０〜３−Ｎ、メモリコントローラ２２、プライオリテイ回路２４、構成制御回路２６の状態を読み出す。
【００２１】
システム記憶装置２のポートユニット３―０〜３−Ｎを図２で説明する。図２では、各ポートユニット３−０〜３−Ｎは同一構成のため、各ポートユニット３−０〜３−Ｎを、記号「３」で示す。図２に示すように、ポートユニット３は、クラスタインターフェース回路３０と、ポート回路３２と、プリポート回路３４と、ＭＡＣインターフェース回路３６Ａ、ＰＲＩＯインターフェース回路３６Ｂ、ＣＮＦＧインターフェース回路３６Ｃとを有する。図２では、ポートユニット３の受信側構成のみを示す。
【００２２】
クラスタインターフェース回路３０は、バス９−１を介しコマンド（ＣＭＤ：Command）及びデータ（Data）を受信する。ポート回路３２は、ヒストリ回路４０とＳＳＵ（システム記憶装置）−ＴＥＳＴＥＲ（テスター）回路４２と、選択回路とを有する。
【００２３】
選択回路４４とヒストリ回路４０とは、クラスタインターフェース回路３０が受信したコマンド及びデータを受信する。又、ヒストリ回路４０は、プライオリテイ回路２４と構成制御回路２６トからのコマンド（ＣＭＤ）を受信する。更に、ヒストリ回路４０とＳＳＵ−ＴＥＳＴＥＲ回路４２とは、ＳＶＰ２０からのＪＴＡＧ仕様による設定情報を受ける。選択回路４４は、ＳＳＵ−ＴＥＳＴＥＲ回路４２の選択信号ＳＥＬＥＣＴにより、クラスタインターフェース回路３０とヒストリ回路４０とＳＳＵ−ＴＥＳＴＥＲ回路４２との出力の内、いずれかを選択し、出力する。
【００２４】
プリポート回路３４は、ポート回路３２の選択回路４４の出力を受け、コマンドを解析し、コマンドを振り分け、そのコマンドに対する動作シーケンスを決定する。プリポート回路３４は、決定された動作シーケンスに従い、ＭＡＣ（メモリアクセスコントローラ）インターフェース回路３６Ａ、ＰＲＩＯインターフェース回路３６Ｂ、ＣＮＦＧインターフェース回路３６Ｃを介し、プライオリテイ回路２４、メモリコントローラ２２、構成制御回路２６に内部コマンド、データを出力する。
【００２５】
この実施の形態では、非障害時には、クラスタインターフェース回路３０が受信したコマンド及びデータは、選択回路４４とヒストリ回路４０とに入力する。非障害時には、選択回路４４は、クラスタインターフェース回路３０が受信したコマンド及びデータを選択して、プリポート回路３４に出力する。又、ヒストリ回路４０は、クラスタインターフェース回路３０が受信したコマンド及びデータとプライオリテイ回路２４と構成制御回路２６のコマンドをログする。
【００２６】
図１の構成では、ＳＶＰ２０が、ＳＳＵ２のポートユニット３−０〜３−Ｎのいずれかの障害を検出した場合に、ＳＶＰ２０のデイスプレイに障害が表示される。オペレータは、ＳＶＰ２０のキーボード等の入力装置から読み出しモードを入力する。ＳＶＰ２０は、ＪＴＡＧ仕様の制御バスを介し、障害が検出されたいずれかのポートユニット３−０〜３−Ｎのポート回路３２のヒストリ回路４０とＳＳＵ−ＴＥＳＴＥＲ回路４２に読み出し設定を行う。
【００２７】
ＳＳＵ−ＴＥＳＴＥＲ回路４２は、読み出し設定に応じて、選択回路４４に選択出力を、ヒストリ回路４０からの出力又はＳＳＵ−ＴＥＳＴＥＲ回路４２の出力に切り替える。読み出し設定がヒストリ回路４０である場合には、ヒストリ回路４０は、ＳＳＵ−ＴＥＳＴＥＲ回路４２の制御に基に、ログしたコマンド及びデータを読み出し、選択回路４４を介しプリポート回路３４に出力する。
【００２８】
又、読み出し設定がＳＳＵ−ＴＥＳＴＥＲ回路４２である場合には、ＳＳＵ−ＴＥＳＴＥＲ回路４２は、予め決められたコマンド及びデータを、選択回路４４を介しプリポート回路３４に出力する。
【００２９】
ここで、障害の検出されたポートユニット３−０〜３−Ｎのいずれかは、出力を自己抑止する。このため、プリポート回路３４、ＭＡＣインターフェース回路３６Ａ、ＰＲＩＯインターフェース回路３６Ｂ、ＣＮＦＧインターフェース回路３６Ｃは、ヒストリ回路４０の読み出したコマンド及びデータにより、動作する。このため、ポートユニット３−０〜３−Ｎの障害の再現が可能となる。
【００３０】
ＳＶＰ２０は、ＪＴＡＧ仕様の制御バスを介し、ポートユニット３のレジスタや内部回路をスキャンし、状態情報を収集する。又、ＳＶＰ２０は、ＪＴＡＧ仕様の制御バスを介し、メモリコントローラ２２、プライオリテイ回路２４、構成制御回路２６のヒストリ情報も収集しても良い。
【００３１】
オペレータや保守者は、ＳＶＰ２０の収集した状態情報から、障害の原因を解析する。このように、ポートユニットの障害発生時に、ログしたコマンド及びデータで障害を再現できるため、解析の精度及び時間の短縮に有効である。後述するように、特に、本実施の形態では、タイミング障害を簡単に再現できる。
【００３２】
（ヒストリ回路の実施の形態）
図３は、図２におけるポート回路の実施の形態のブロック図である。図３において、図２で示したものと同一のものは同一の記号で示してある。図３に示すように、ヒストリ回路４０は、対応するクラスタ１−０〜１−Ｎから受信したコマンド／データと、プライオリテイ回路２４と構成制御回路２６から受信したコマンドを格納するヒストリメモリ４６を有する。好適には、ヒストリメモリ４６は、ＲＡＭ（Random Access Memory）で構成される。
【００３３】
ＳＳＵ−ＴＥＳＴＥＲ回路４２は、メモリアクセスコントローラ２２、プライオリテイ回路２４と構成制御回路２６とを動作試験する所定のコマンドを発行するハードウェアテスター機能と、ＳＶＰ２０から制御バスを介するＪＴＡＧコマンドによって指定された書き込みモードと読み出しモードによりヒストリメモリ４６を読み出し／書き込み制御する機能とを有する。
【００３４】
ヒストリメモリ４６の書き込み回路は、データ抽出回路５０と、データ選択回路５２と、ライトカウンタ５４と、データ間隔カウンタ５６とを有する。データ抽出回路５０は、ＳＳＵ−ＴＥＳＴＥＲ回路４２からの書き込みモード指定により動作し、障害再現に必要な情報を抽出する。例えば、データ抽出回路５０は、後述する書き込みモードの指定により、対応するクラスタ１−０〜１−Ｎから受信したコマンド／データ、プライオリテイ回路２４、構成制御回路２６から受信したコマンド、ポートユニット３のプリポート回路３４、ＭＡＣインターフェース回路３６Ａ，ＰＲＩＯインターフェース回路３６Ｂ,ＣＮＦＧインターフェース回路３６Ｃ内部の状態フラグ等を抽出する。
【００３５】
データ選択回路５２は、データ抽出回路５０からのデータの内、ＳＶＰ２０から制御バスを介するＪＴＡＧコマンドによって指定されたデータを選択する。データ間隔カウンタ５６は、ＳＳＵ−ＴＥＳＴＥＲ回路４２からの書き込みモード指定により動作し、データの間隔をカウントし、カウント値をヒストリメモリ４６に出力する。
【００３６】
ライトカウンタ５４は、ＳＶＰ２０から制御バスを介するＪＴＡＧコマンドによって指定された書き込みアドレスを先頭に書き込みアドレスを更新し、ヒストリメモリ４６に書き込みアドレスを出力する。
【００３７】
データ選択回路５２から選択されたデータは、ライトカウンタ５４で示すヒストリメモリ４６のアドレス位置に書き込まれる。この書き込みにより、ライトカウンタ５４を「１」カウントアップする。データ選択回路５２は、書き込む情報で有効なデータには、ＶＡＬＩＤビットを”１”として書き込み、無効なデータには、ＶＡＬＩＤビットを”０”としてヒストリメモリ４６に書き込む。  データ間隔カウンタ５６は、データ間隔を計数し、カウント値をヒストリメモリ４６に書き込む。
【００３８】
次に、読み出し回路を説明する。読み出し回路は、通常のヒストリ読み出しモードと本実施の形態の障害再現モードとを有する。読み出し回路は、通常読み出しモードのヒストリ読み出し回路４８と、リードカウンタ５８と、選択回路６０と、出力レジスタ６４とを有する。
【００３９】
ＳＳＵ−ＴＥＳＴＥＲ回路４２は、通常読み出しモードでは、ヒストリ読み出し回路４８を動作し、選択回路６０の出力をＳＶＰ２０に選択する。一方、ＳＳＵ−ＴＥＳＴＥＲ回路４２は、ＳＶＰ２０から障害再現モードを指示されると、選択回路６０を障害再現モード側、即ち選択回路４４に接続する。
【００４０】
又、ＳＳＵ−ＴＥＳＴＥＲ回路４２は、データ間隔チエック機能６２を有する。データ間隔チエック機能６２は、選択回路６０からの出力のデータ間隔をチエックする。ＳＳＵ−ＴＥＳＴＥＲ回路４２は、チエックされた間隔に従い、リードカウンタ５８に読み出し指示を与える。
【００４１】
従って、通常のヒストリ読み出しが指定されると、ＳＳＵ−ＴＥＳＴＥＲ回路４２は、選択回路６０をＳＶＰ２０側に選択し、ヒストリ読み出し回路４８の指示でリードカウンタ５８をカウントアップし、ヒストリメモリ４６のログデータをＳＶＰ２０に出力する。
【００４２】
一方、ＳＳＵ−ＴＥＳＴＥＲ回路４２は、ＳＶＰ２０から障害再現モードを指示されると、選択回路６０の出力を選択回路４４に選択し、データ間隔チエック回路６２のデータ間隔に従い、リードカウンタ５８をカウントアップし、ヒストリメモリ４６のログデータを選択回路４４及び出力レジスタ６４を介し、プリポート回路３４に出力する。又、ＳＳＵ−ＴＥＳＴＥＲ回路４２は、ＳＶＰ２０からテストモードを指示されると、予め決められたコマンド及びデータを選択回路４４からプリポート回路３４に出力する。
【００４３】
（ヒストリ書き込み処理）
図４は、本実施の形態のヒストリ書き込み処理フロー図である。図４によりヒストリ回路のデータ書き込み処理を説明する。
【００４４】
（Ｓ１０）ＳＳＵ−ＴＥＳＴＥＲ回路４２は、ＳＶＰ２０から書き込みモードを指定されている。書き込みモードは、図５乃至図１０で説明するように、３種類指定できる。ＳＳＵ−ＴＥＳＴＥＲ回路４２は、データ抽出回路５０とデータ間隔カウンタ５６に指定された書き込みモードを指示する。データ抽出回路５０は、図５乃至図１０で後述するように、必要なデータを抽出する。
【００４５】
（Ｓ１２）データ選択回路５２は、ＳＶＰ２０から指定されたデータを選択する。
【００４６】
（Ｓ１４）データ選択回路５２は、今回選択したデータと次回に選択したデータとを比較し、一致していると、データ間隔カウンタ５６のカウント値ＣＴを「１」加算する。
【００４７】
（Ｓ１６）データ選択回路５２は、今回選択したデータと次回に選択したデータとが不一致であることを検出すると、今回選択したデータとバリッドフラグとデータ間隔カウンタ５６のカウント値とを、ヒストリメモリ４８に書き込み。そして、データ選択回路５２は、ライトカウンタ５４を「１」カウントアップする。
【００４８】
この実施の形態では、３種類のデータ書き込みモード１，２，３を指定できる。以下、書き込みモード１，２，３を説明する。図５は、図４のデータ書き込みモード１のヒストリメモリの説明図である。図６は、図５のデータ書き込みモード１の動作説明図である。
【００４９】
図５のクラスタデータ書込みモード１は、対応するクラスタ１−０〜１−Ｎから受信した有効データを全てヒストリメモリ４６に書き込むモードである。図５において、ヒストリメモリ４６は、１アドレスに対し、Ｘビット幅のヒストリ（ログ）格納欄（ワード：Ｗｏｒｄ）を持つ。各ヒストリ格納欄は、バリッド（Ｖａｌｉｄ）欄（Ｖ）とコマンド／データ格納欄と、回数値格納欄（ＣＴ値）を有する。
【００５０】
バリッド欄（Ｖ）には、当該ワード（ヒストリ格納欄）が有効な場合に「１」が、無効（ＮＯＰ：Ｎｏｔ  Ｏｐｅｒｔｉｏｎ）な場合に「０」が書き込まれる。コマンド／データ格納欄において、ＣＭＤ−Ｎは、クラスタ又は他のＬＳＩ(ここでは、プライオリテイ回路２４、構成制御回路２６)からの受信したコマンドを示す。又、ＤＡＴＡ−ｎは、クラスタから受信したデータを示し、ＮＯＰは、無効データを示す。無効データは、例えば、クラスタがクラスタコマンド発行後に所定サイクル経過後クラスタデータを発行するというクラスタ転送規約の場合に、クラスタコマンドからクラスタデータまでの間に挿入されるデータである。
【００５１】
ＣＴ値は、データ書き込みモードにより異なる。図５の書き込みモード１では、無効データ（ＮＯＰ）である時は、その前後の有効データの間隔が判るように、無効データの連続した数を示す。
【００５２】
図６によりデータ書き込みモード１を具体的に説明する。図６は、図３のデータ抽出回路５０が、クラスタから３つのクラスタコマンド（ＣＭＤ）Ａ１，Ａ２，Ａ３、４つの無効データ（ＮＯＰ）、４つのクラスタデータ（ＤＡＴＡ）．２つの無効データ（ＮＯＰ），１つのプライオリテイ回路からのコマンド（ＰＲＩＯ−ＣＭＤ）Ｂ１、１つの無効データ（ＮＯＰ），１つのクラスタコマンド（ＣＭＤ）Ｂ１，８つの無効データ（ＮＯＰ）、１つの構成制御回路からのコマンド（ＣＮＦＧ−ＣＭＤ）Ｅ１、１つの構成制御回路からのコマンド（ＣＮＦＧ−ＣＭＤ）Ｅ２とクラスタコマンド（ＣＭＤ）Ｆ１、１つの構成制御回路からのコマンド（ＣＮＦＧ−ＣＭＤ）Ｅ３とクラスタコマンド（ＣＭＤ）Ｆ２、１つのクラスタコマンド（ＣＭＤ）Ｆ３を時間順で受信した受信例を示す。
【００５３】
データ抽出回路５０は、ＳＶＰ２０から書き込みモード１を指定されている。データ抽出回路５０は、受信データを解析する。データ抽出回路５０は、受信データが、クラスタ１−０〜１−Ｎ、プライオリテイ回路２４、構成制御回路２６から受信したコマンド／データであると判定すると、データ選択回路５２を介しバリッドフラグ「１」とコマンド及びデータとを全てヒストリメモリ４６に書き込む。又、データ抽出回路５０は、コマンド／データの書き込み後、ライトカウンタ５４を「１」カウントアップする。
【００５４】
データ抽出回路５０は、受信データが無効データ（ＮＯＰ）であると判断すると、次のタイミングで選択したデータが無効データであるかを判定する。次のタイミングで選択したデータが無効データである場合には、データ選択回路５２を介し間隔カウンタ５６を「１」加算する。そして、データ抽出回路５０は、次のタイミングで選択した受信データが無効データでないことを検出すると、データ選択回路５２を介しバリッドフラグ「０」と無効データとカウント値ＣＴをヒストリメモリ４６に書き込む。又、データ抽出回路５０は、ヒストリメモリ４６への書き込み後、ライトカウンタ５４を「１」カウントアップする。
【００５５】
このように書き込みモード１は、全てのコマンド／データをヒストリメモリ４６に書き込むとともに、コマンド及びデータ間の無効データを書き込む。このため、障害再現時のタイミング障害を無効データの読み出しで実現できる。又、無効データは、継続回数を書き込むため、ヒストリメモリ４６の容量の増大を防止できる。又は、ヒストリメモリ４６の容量には制限があるため、ヒストリメモリ４６により多くのデータをログすることができ、メモリの有効利用を実現できる。
【００５６】
図７は、図４のデータ書き込みモード２のヒストリメモリの説明図である。図８は、図７のデータ書き込みモード２の動作説明図である。図９は、図８のデータ書き込みモード２のタイムチャート図である。
【００５７】
図７のクラスタデータ書込みモード２は、対応するクラスタ１−０〜１−Ｎから受信したコマンドを全てヒストリメモリ４６に書き込むモードである。そして、データが連続する場合に、データの最初のみをヒストリメモリ４６に書き込み、且つデータの連続回数をヒストリメモリ４６に書き込むモードである。
【００５８】
図７において、ヒストリメモリ４６は、図５と同様に、１アドレスに対し、Ｘビット幅のヒストリ（ログ）格納欄（ワード：Ｗｏｒｄ）を持つ。各ヒストリ格納欄は、バリッド（Ｖａｌｉｄ）欄（Ｖ）とコマンド／データ格納欄と、回数値格納欄（ＣＴ値）を有する。
【００５９】
バリッド欄（Ｖ）には、当該ワード（ヒストリ格納欄）が有効な場合に「１」が、無効（ＮＯＰ：Ｎｏｔ  Ｏｐｅｒｔｉｏｎ）な場合に「０」が書き込まれる。コマンド／データ格納欄において、ＣＭＤ−Ｎは、クラスタ又は他のＬＳＩ(ここでは、プライオリテイ回路２４、構成制御回路２６)からの受信したコマンドを示す。又、ＤＡＴＡ−ｎは、クラスタから受信したデータを示し、ＮＯＰは、前述のクラスタコマンドとクラスタデータ間の無効データを示す。
【００６０】
図７の書き込みモード２では、ＣＴ値は、無効データ（ＮＯＰ）である時は、その前後の有効データの間隔が判るように、無効データの連続した数と、クラスタの有効データの連続回数を示す。
【００６１】
図８、図９によりデータ書き込みモード２を具体的に説明する。図８は、図３のデータ抽出回路５０が、図６と同一の時間順で、クラスタコマンド（ＣＭＤ）、無効データ（ＮＯＰ）、クラスタデータ（ＤＡＴＡ）、プライオリテイ回路からのコマンド（ＰＲＩＯ−ＣＭＤ）、構成制御回路からのコマンド（ＰＲＩＯ−ＣＭＤ）を受信した受信例を示す。
【００６２】
又、図９において、時間τは、受信サンプルタイミング時間を示し、ＷＴ−ＣＴ値は、ライトアドレスカウンタ５４のカウント値（ライトアドレス）を示す。クラスタ受信データは、図８の受信データＲＤであり、コマンドをＡ１〜Ａ３，Ｂ１，Ｃ１，Ｅ１で示し、データをＤ１〜Ｄ４で示す。データ間隔チエックＣＴは、データ間隔チエックカウンタ５６のカウント値を示す。
【００６３】
データ抽出回路５０は、ＳＶＰ２０から書き込みモード２を指定されている。データ抽出回路５０は、受信データを解析する。図８、図９に示すように、データ抽出回路５０は、受信データが、クラスタ１−０〜１−ＮのコマンドＡ１，Ａ２，Ａ３、Ｃ１，プライオリテイ回路２４からのコマンドＢ１、構成制御回路２６から受信したコマンドＥ１であると判定すると、データ選択回路５２を介しバリッドフラグ「１」とコマンドＡ１，Ａ２，Ａ３，Ｂ１，Ｃ１，Ｅ１をヒストリメモリ４６に書き込む。又、データ抽出回路５０は、コマンドの書き込み後、ライトカウンタ５４を「１」カウントアップする。
【００６４】
図８、図９に示すように、データ抽出回路５０は、受信データがクラスタデータＤ１，Ｄ２，Ｄ３，Ｄ４であると判断すると、次のタイミングで抽出したデータがクラスタデータであるかを判定する。次のタイミングで選択したデータがクラスタデータである場合には、間隔カウンタ５６を「１」加算する。そして、データ抽出回路５０は、次のタイミングで選択した受信データがクラスタデータでないことを検出すると、バリッドフラグ「１」とクラスタデータＤ４とカウント値ＣＴ（図９では、「３」）をヒストリメモリ４６に書き込む。又、データ抽出回路５０は、ヒストリメモリ４６への書き込み後、ライトカウンタ５４を「１」カウントアップする。
【００６５】
図８、図９に示すように、データ抽出回路５０は、受信データが無効データであると判定した場合は、図６と同様にして、バリッドフラグ「０」と無効データ（図９の「＊」印で示す）とカウント値ＣＴをヒストリメモリ４６に書き込む。
【００６６】
図８に示すように、書き込みモード２は、全てのコマンドをヒストリメモリ４６に書き込むととともに、連続したデータの代表Ｄ４と連続回数及びデータ／コマンド間の無効データと連続回数を書き込む。このため、障害再現時のタイミング障害を無効データの読み出しで実現できる。又、無効データは、継続回数を書き込むため、ヒストリメモリ４６の容量の増大を防止できる。更に、データは代表を格納するため、ヒストリメモリ４６の有効利用を実現できる。
【００６７】
図１０は、図４のデータ書き込みモード３のヒストリメモリの説明図である。図１１は、図１０のデータ書き込みモード３の動作説明図である。
【００６８】
図１０のクラスタデータ書込みモード３は、対応するクラスタ１−０〜１−Ｎから受信したコマンドを全てヒストリメモリ４６に書き込むモードである。そして、データは書き込まず、無効データの連続回数をヒストリメモリ４６に書き込むモードである。
【００６９】
図１０において、ヒストリメモリ４６は、図５、図７と同様に、１アドレスに対し、Ｘビット幅のヒストリ（ログ）格納欄（ワード：Ｗｏｒｄ）を持つ。各ヒストリ格納欄は、バリッド（Ｖａｌｉｄ）欄（Ｖ）とコマンド／データ格納欄と、回数値格納欄（ＣＴ値）を有する。
【００７０】
バリッド欄（Ｖ）には、当該ワード（ヒストリ格納欄）が有効な場合に「１」が、無効（ＮＯＰ：Ｎｏｔ  Ｏｐｅｒｔｉｏｎ）な場合に「０」が書き込まれる。コマンド／データ格納欄において、ＣＭＤ−Ｎは、クラスタ又は他のＬＳＩ(ここでは、プライオリテイ回路２４、構成制御回路２６)からの受信したコマンドを示す。ＮＯＰは、前述のクラスタコマンドとクラスタデータ間の無効データを示す。
【００７１】
図１０の書き込みモード３では、ＣＴ値は、無効データ（ＮＯＰ）である時は、その前後の有効データの間隔が判るように、無効データの連続した数を示す。
【００７２】
図１１によりデータ書き込みモード３を具体的に説明する。図１１は、図３のデータ抽出回路５０が、図６、図８と同一の時間順で、クラスタコマンド（ＣＭＤ）、無効データ（ＮＯＰ）、クラスタデータ（ＤＡＴＡ）、プライオリテイ回路からのコマンド（ＰＲＩＯ−ＣＭＤ）、構成制御回路からのコマンド（ＰＲＩＯ−ＣＭＤ）を受信した受信例を示す。
【００７３】
データ抽出回路５０は、ＳＶＰ２０から書き込みモード３を指定されている。データ抽出回路５０は、受信データを解析する。データ抽出５０は、受信データが、クラスタ１−０〜１−Ｎ、プライオリテイ回路２４、構成制御回路２６から受信したコマンドであると判定すると、バリッドフラグ「１」とコマンドを全てヒストリメモリ４６に書き込む。又、データ抽出回路５０は、コマンドの書き込み後、ライトカウンタ５４を「１」カウントアップする。
【００７４】
データ抽出回路５０は、受信データがクラスタデータであると判断すると、破棄する。又、データ抽出回路５０は、受信データが無効データであると判定した場合は、図６、図８と同様にして、バリッドフラグ「０」と無効データとカウント値をヒストリメモリ４６に書き込む。
【００７５】
このように書き込みモード３は、全てのコマンドをヒストリメモリ４６に書き込むととともに、コマンド間の無効データと継続回数を書き込む。このため、障害再現時のタイミング障害を無効データの読み出しで実現できる。又、無効データは、継続回数を書き込むため、ヒストリメモリ４６の容量の増大を防止できる。更に、データを破棄するため、ヒストリメモリ４６の有効利用をより実現できる。
【００７６】
（ヒストリ読み出し処理）
図１２は、本実施の形態のヒストリ読み出し処理フロー図である。以下、読み出し処理を、図１２により説明する。
【００７７】
（Ｓ２０）ＳＶＰ２０が、ＳＳＵ２の障害を検出すると、ＳＶＰ２０は、ＳＶＰ２０のデイスプレイからオペレータに障害検出を通知する。オペレータはＳＶＰ２０の入力装置から読み出しモードを指示する。ＳＶＰ２０は、ＪＴＡＧ等の制御バスを介し、読み出しモードをＳＳＵ−ＴＥＳＴＥＲ回路４２を設定する。この実施の形態では、読み出しモードは、通常読み出しモード、障害再現モード、テスターモードの３つある。
【００７８】
障害再現モードの指定では、前述の書き込みモード１，２，３のいずれかを指定する。更に、オペレータは必要に応じてヒストリメモリ４６の読み出し開始アドレスと読み出し終了アドレスを指定する。ＳＶＰ２０は、設定後、ＳＳＵ−ＴＥＳＴＥＲ回路４２にヒストリ読み出し指示を出力する。
【００７９】
（Ｓ２２）ＳＳＵ−ＴＥＳＴＥＲ回路４２は、データ読み出し制御を開始する。ＳＳＵ−ＴＥＳＴＥＲ回路４２は、読み出しカウンタ５８を起動する。これにより、ヒストリメモリ４６から読み出しアドレス５８で指定されたアドレス位置のヒストリデータが読みだされる。ＳＳＵ−ＴＥＳＴＥＲ回路４２は、設定された読み出しモードが障害再現モードであるか通常読み出しモードであるかに応じて、選択回路６０を制御する。
【００８０】
（Ｓ２４）選択回路６０は、読み出しモードが障害再現モードである場合には、読み出したヒストリデータをレジスタ６４とＳＳＵ−ＴＥＳＴＥＲ回路４２に出力する。ＳＳＵ−ＴＥＳＴＥＲ回路４２のデータ間隔チエック機能６２は、ヒストリデータのＣＴ値を参照し、データ間隔のチエックを行う。ＳＳＵ−ＴＥＳＴＥＲ回路４２は、データ間隔のチェック結果により、次アドレスのデータを読み出すか否かを決定する。即ち、図５〜図１１で説明したように、読みだされたヒストリデータは、バリッドビット、データ(コマンド/データ)及び、ＣＴ値である。ＳＳＵ−ＴＥＳＴＥＲ回路４２は、バリッドビットが「１」またはＣＴ値が「０」である場合には、レジスタ６４に出力指示し、リードカウンタ５８を「１」カウントアップし、ステップＳ２２に戻る。
【００８１】
ＳＳＵ−ＴＥＳＴＥＲ回路４２は、読み出したヒストリデータのバリッドビットが「０」である場合は、ＣＴ値を参照し、レジスタ６４に出力指示し、且つＣＴ値を「１」減算する。ＳＳＵ−ＴＥＳＴＥＲ回路４２は、レジスタ６４の出力指示とＣＴ値の「１」減算処理を繰り返し、ＣＴ値が「０」になったかを判定する。ＳＳＵ−ＴＥＳＴＥＲ回路４２は、ＣＴ値が「０」である場合には、レジスタ６４に出力指示し、リードカウンタ５８を「１」カウントアップし、ステップＳ２２に戻る。
【００８２】
（Ｓ２６）ＳＳＵ−ＴＥＳＴＥＲ回路４２は、障害再現モードの場合、選択回路４４にレジスタ６４の出力を選択することを指示しているため、選択回路４４からプリポート回路３４にレジスタ６４のデータが出力される。
【００８３】
（Ｓ２８）選択回路４４からのデータにより、プリポート回路３４、インターフェース回路３６Ａ，３６Ｂ，３６Ｃ、プライオリテイ回路２４、メモリアクセスコントローラ２２、構成制御回路２８が動作し、障害を再現する。ＳＶＰ２０は、ＪＴＡＧ等の制御バスを介し、ＳＳＵ２の内部回路（プリポート回路３４、インターフェース回路３６Ａ，３６Ｂ，３６Ｃ、プライオリテイ回路２４、メモリアクセスコントローラ２２、構成制御回路２８）の状態をスキャンして、収集する。ＳＶＰ２０は、収集結果を出力する。オペレータ又は保守員は、この収集結果を解析する。又、ＳＶＰ２０から図示しない遠隔監視センターに収集データを送信する。遠隔監視センターで収集データを解析しても良い。
【００８４】
この読出し制御の繰り返しにより、書込み時と全く同じタイミングで有効なデータ(バリッドビットが「１」のデータ)を読み出すことができる。従って、受信タイミングと同じタイミングで有効データを順次読み出すことが可能となる。
【００８５】
又、クラスタデータを書き込まない書き込みモード３では、ＳＳＵ−ＴＥＳＴＥＲ回路４２は、読み出したデータ（コマンド）の情報からデータ転送長が分かるため、設定されたクラスタデータを選択回路４４に出力する。このクラスタデータは、予めＪＴＡＧコマンド等により設定されたデータ、又はＳＳＵ２へのストアアドレスそのままであっても良い。
【００８６】
更に、ＳＳＵ−ＴＥＳＴＥＲ回路４２は、任意のリードアドレス間のヒストリデータの読出しをサイクリックに実行するようにしても良い。この場合、アドレスは、ＳＶＰ２０からのＪＴＡＧコマンド等により設定される。このため、障害再現時の回路の内部動作を指示により停止できる。
【００８７】
本実施の形態では、ヒストリデータを元に、障害直前のハード動作を全く同じ様に再現出来るため、障害調査の絞り込みが可能となり、障害の原因調査の時間の短縮が図れる。又、ＳＳＵ２の内部回路の動作変更が予め用意されている場合には、変更動作の検証が容易に出来る。更に、ＳＳＵ２内部のヒストリメモリのデータを使用するため、クラスタ及びＳＳＵ内の内部回路（ＬＳＩ）が論理的に接続されていなくても，ポートユニットの内部動作の細かな検証が可能となる。
【００８８】
前述の書き込みモード２の例において、更に詳細に説明する。図１３は、図８、図９書き込みモード２で書き込まれたヒストリメモリの読み出し処理のタイムチャート図である。図８、図９を参照して、図１３の読み出し処理のタイムチャートを説明する。
【００８９】
図１３において、横軸は時間を示し、ＲＤ−ＣＴ値は、リードアドレスカウンタ５８のカウント値（リードアドレス）を示す。読み出しデータは、ヒストリメモリ４６のバリッドフラグ（ＶＡＬＩＤ）と、ヒストリデータのコマンドＡ１〜Ａ３，Ｂ１，Ｃ１，Ｅ１と、データをＤ１〜Ｄ４とを示す。ＣＴ値は、ヒストリメモリ４６のデータ間隔値ＣＴを示し、データ間隔チエックＣＴは、データチエックカウント値を示す。
【００９０】
図１３に示すように、ＳＶＰ２０が、ＪＴＡＧ（ヒストリ読み出し）指示をＪＴＡＧコマンド等によりＳＳＵ−ＴＥＳＴＥＲ回路２０に発行する。ＳＳＵ−ＴＥＳＴＥＲ回路２０は、リードカウンタ５８を起動する。ここでは、リードカウンタ５８は値「０」から開始する。
【００９１】
ヒストリメモリ４８は、リードカウンタ５８の示すアドレスのヒストリデータが読みだされる。ＳＳＵ−ＴＥＳＴＥＲ回路４２は、読み出されたヒストリデータのＣＴ値を参照し、次のデータの読み出し可否を決定する。ＳＳＵ−ＴＥＳＴＥＲ回路４２は、ＣＴ値が「０」の場合は、読み出したヒストリデータをレジスタ６４を介し選択回路４４から出力する。
【００９２】
そして、ＳＳＵ−ＴＥＳＴＥＲ回路４２は、リードカウンタ５８の値を「１」加算し、ヒストリメモリ４８から次のデータを読み出す。図１３では、コマンドＡ１，Ａ２，Ａ３，Ｂ１，Ｃ１は、ＣＴ値が「０」のため、次のヒストリデータの読み出しが行われる。
【００９３】
又、ＳＳＵ−ＴＥＳＴＥＲ回路４２は、読み出されたヒストリデータのＣＴ値が「０」以外ならば、ＣＴ値を取り込んだデータチエックＣＴ値を１タイミング毎に１づつデクリメントしていく。ＳＳＵ−ＴＥＳＴＥＲ回路４２は、このタイミング毎に、読み出したヒストリデータをレジスタ６４から選択回路４４に出力する。そして、ＳＳＵ−ＴＥＳＴＥＲ回路４２は、データ間隔チエック値ＣＴが「０」となった時に、リードカウンタ５８の値を「１」加算し、ヒストリメモリ４８から次のデータを読み出す。
【００９４】
図１３では、最初の無効データ（「＊」印で示す）は、ＣＴ値が「３」のため、４回のタイミングで無効データを出力する。又、クラスタデータＤ４もＣＴ値が「３」のため、４回のタイミングで、同一のクラスタデータＤ４が出力される。上記動作が障害が再現されるまで、またはオペレータによるストップ指示まで繰り返される。
【００９５】
繰り返される範囲は、ＳＶＰ２０からアドレスポイントが設定されていた場合は、アドレスポイントの間である。
【００９６】
同様に、データ書き込みモード１では、図６、図１２で説明したように、ＳＳＵ−ＴＥＳＴＥＲ回路４２は、読み出されたヒストリデータのバリッドフラグ及びＣＴ値を参照し、次のデータの読み出し可否を決定する。ＳＳＵ−ＴＥＳＴＥＲ回路４２は、バリッドフラグが「１」の場合は、次のデータを読み出す。又、ＣＴ値が「０」以外ならば、１タイミング毎にＣＴ値を１づつデクリメントしていき、ＣＴ値が「０」となった時に、次のデータを読み出す。
【００９７】
クラスタデータ書込みモード１では、有効データを全てヒストリメモリ４６に書き込むので、有効データにＣＴ値が設定される事は無い。無効データ（NOP）のみＣＴ値が設定されるので、バリッドフラグの判定で済む。
【００９８】
更に、図１３と同様に、データ書き込みモード３は、クラスタデータ抑止モードであり、クラスタから受信したクラスタ有効データをヒストリメモリ４６に書き込まないモードである。図１１で説明したように、クラスタデータはヒストリメモリ４６に書き込まれていないので、ＳＳＵ−ＴＥＳＴＥＲ回路４２は、リードアドレスをクラスタデータとして出力する。又は、ＳＳＵ−ＴＥＳＴＥＲ回路４２は、ＳＶＰ２０からＪＴＡＧコマンドにより設定されたデータを出力する。
【００９９】
ＳＳＵ−ＴＥＳＴＥＲ回路４２は、クラスタコマンド出力後、無効データを所定数出力し、その後、クラスタデータを出力する。ヒストリメモリの有効利用のためには、障害を再現させる場合には、予め書き込みモード２または書き込みモード３の設定としておくことが望ましい。即ち、書き込みモード１の場合は、データを全てヒストリメモリにログするため、接続されたクラスタの台数が多い場合やクラスタからの有効データが多い場合には、ヒストリメモリ内がデータで埋められ、障害を再現出来ない可能性がある。
【０１００】
又、書き込みモード１の場合は、データを全てヒストリメモリにログするため、障害の再現を正確にできる。更に、障害再生モード時のポートユニットの負荷を軽減できる。
【０１０１】
（情報処理システムの第２の実施の形態）
図１４は、第２の実施の形態の情報処理システムのブロック図である。図１４において、図１、図２で示したものと同一のものは、同一の記号で示してある。図１４は、情報処理システムとして、クラスタシステムを示す。図１４に示すように、クラスタシステムは、複数（ここでは、Ｎ＋１台）のクラスタ１−０〜１−Ｎと、システム記憶ユニット（ＳＳＵ）２とを有する。各クラスタ１−０〜１−Ｎは、単数又は複数の演算処理ユニット（ＣＰＵ：Central Processing Unit）１０と、メモリを有するメモリアクセスコントローラ（ＭＡＣ：Memory Access Controller）１４と、外部装置との接続を制御するチャネルユニット（ＣＨ:Channel Unit）１６と、システム記憶ユニット２と接続するポートユニット１８と、システムコントローラ（ＳＣ:System Controller）１２と、サービスプロセッサ（ＳＶＰ：Service Processor）１９とを有する。
【０１０２】
演算処理ユニット（以下、ＣＰＵという）１０は、命令で指定された演算処理を実行する。チャネルユニット１６は、他のクラスタや入出力ユニットと接続する。メモリアクセスコントローラ１４は、ロード、ストア命令に応じて、メモリの指定されたアドレスのデータを読み出し、メモリにデータを書き込む。システムコントローラ１２は、ＣＰＵとメモリコントローラ１４とチャネルユニット１６とポートユニット１８間を接続し、コマンドやデータの振り分け処理を行う。サービスプロセッサ１９は、ＣＰＵ１０，メモリアクセスコントローラ１４、システムコントローラ１２、チャネルユニット１６、ポートユニット１８の状態設定、状態監視、電源制御等を行う。
【０１０３】
システム記憶ユニット２は、各クラスタ１−０〜１−Ｎに転送バス９−１を介し接続され、共有データを保持するとともに、クラスタ間の通信を行う。システム記憶ユニット２は、ポートユニット３と、メモリを有するメモリアクセスコントローラ（ＭＡＣ）２２と、プライオリテイ制御回路（ＰＲＩＯ：Priority）２４と、構成（ＣＮＦＧ：Configuration）制御回路２６と、サービスプロセッサ２０とを有する。
【０１０４】
ポートユニット３は、転送バス９−１を介し各クラスタ１−０〜１−Ｎのポートユニット１８と接続し、コマンド、データの送受信とコマンド解析を行う。本実施の形態では、ポートユニット３は、図２、図３で説明したヒストリ回路を有する。メモリアクセスコントローラ１４は、ロード、ストア命令に応じて、メモリの指定されたアドレスのデータを読み出し、メモリにデータを書き込む。プライオリテイ回路２４は、メモリの同一アドレスへのアクセスの排他制御及びメモリアクセスの優先制御を行う。構成制御回路２６は、クラスタとシステム制御ユニットとの接続等のクラスタグループの動的変更を制御する。
【０１０５】
サービスプロセッサ１９は、プライオリテイ回路２４，メモリアクセスコントローラ２２、構成制御回路２６、ポートユニット３の状態設定、状態監視、電源制御等を行う。又、サービスプロセッサ１９は、デイスプレイ、キーボード等の入出力装置を有する。サービスプロセッサ１９は、各クラスタ１−０〜１−Ｎのサービスプロセッサ１９に制御バス９−２を介し接続し、各クラスタ１−０〜１−Ｎのサービスプロセッサ１９の状態設定、状態把握等を行う。
【０１０６】
図１４の情報処理システムでは、複数のクラスタ１−０〜１−Ｎが並列処理を行う。システム記憶装置２は、共有データを保持するとともに、クラスタ間の通信を行う。システム記憶装置２では、ポートユニット３が、バス９−１を介し、各クラスタ１−０〜１−Ｎからのコマンド、データを受ける。プライオリテイ回路２４は、受けたコマンドに優先順位を付し、且つ排他制御して、メモリコントローラ２２をメモリアクセス制御する。即ち、メモリコントローラ２２は、優先順位の高いコマンドからメモリに対し、フェッチ（Fetch）及びストア(Store)コマンドを実行する。
【０１０７】
ポートユニット３は、メモリコントローラ２２からのフェッチ及びストア命令の実行結果を受け、バス９−１を介し、該当するクラスタ１−０〜１−Ｎに転送する。ＳＶＰ２０は、ポートユニット３、メモリコントローラ２２、プライオリテイ回路２４、構成制御回路２６の状態設定及び状態監視を行う。この例では、ＳＶＰ２０は、ＪＴＡＧ（Joint Test Action Group）仕様の制御バスを介し、ポートユニット３に各種の状態設定を行う。又、ＳＶＰ２０は、ＪＴＡＧ仕様の制御バスを介し、ポートユニット３、メモリコントローラ２２、プライオリテイ回路２４、構成制御回路２６の状態を読み出す。
【０１０８】
システム記憶装置２のポートユニット３は、図２で説明したものと同一である。従って、図２の実施の形態と同様に、非障害時には、クラスタインターフェース回路３０が受信したコマンド及びデータは、選択回路４４とヒストリ回路４０とに入力する。非障害時には、選択回路４４は、クラスタインターフェース回路３０が受信したコマンド及びデータを選択して、プリポート回路３４に出力する。又、ヒストリ回路４０は、クラスタインターフェース回路３０が受信したコマンド及びデータとプライオリテイ回路２４と構成制御回路２６のコマンドをログする。
【０１０９】
第２の実施の形態では、ＳＶＰ２０が、ＳＳＵ２のポートユニット３の障害を検出した場合に、ＳＶＰ２０のデイスプレイに障害が表示される。オペレータは、ＳＶＰ２０のキーボード等の入力装置から読み出しモードを入力する。ＳＶＰ２０は、ＪＴＡＧ仕様の制御バスを介し、ポート回路３２のヒストリ回路４０とＳＳＵ−ＴＥＳＴＥＲ回路４２に読み出し設定を行う。
【０１１０】
ＳＳＵ−ＴＥＳＴＥＲ回路４２は、読み出し設定に応じて、選択回路４４に選択出力を、ヒストリ回路４０からの出力又はＳＳＵ−ＴＥＳＴＥＲ回路４２の出力に切り替える。読み出し設定がヒストリ回路４０である場合には、ヒストリ回路４０は、ＳＳＵ−ＴＥＳＴＥＲ回路４２の制御に基に、ログしたコマンド及びデータを読み出し、選択回路４４を介しプリポート回路３４に出力する。
【０１１１】
又、読み出し設定がＳＳＵ−ＴＥＳＴＥＲ回路４２である場合には、ＳＳＵ−ＴＥＳＴＥＲ回路４２は、予め決められたコマンド及びデータを、選択回路４４を介しプリポート回路３４に出力する。
【０１１２】
プリポート回路３４、ＭＡＣインターフェース回路３６Ａ、ＰＲＩＯインターフェース回路３６Ｂ、ＣＮＦＧインターフェース回路３６Ｃ、メモリコントローラ２２、プライオリテイ回路２４、構成制御回路２６は、ヒストリ回路４０の読み出したコマンド及びデータにより、動作する。このため、ポートユニット２の障害の再現が可能となる。
【０１１３】
ＳＶＰ２０は、ＪＴＡＧ仕様の制御バスを介し、ポートユニット３、メモリコントローラ２２、プライオリテイ回路２４、構成制御回路２６のレジスタや内部回路をスキャンし、状態情報を収集する。又、ＳＶＰ２０は、ＪＴＡＧ仕様の制御バスを介し、メモリコントローラ２２、プライオリテイ回路２４、構成制御回路２６のヒストリ情報も収集しても良い。
【０１１４】
オペレータや保守者は、ＳＶＰ２０の収集した状態情報から、障害の原因を解析する。このように、障害発生時に、ログしたコマンド及びデータでポートユニットの障害を再現できるため、解析の精度及び時間の短縮に有効である。後述するように、特に、本実施の形態では、タイミング障害を簡単に再現できる。
【０１１５】
（他の実施の形態）
前述の実施の形態では、３つの書き込みモードを選択できるようにしているが、いずれか１つ又は２つの書き込みモードを設けても良い。又、ＳＶＰ２０からの書き込み、読み出し指示にＪＴＡＧ規格の信号を使用した例で説明したが、例えば、Ｉ２Ｃ(Ｉｎｔｅｒ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ)規格の信号線、信号等の他の制御信号線、信号を使用できる。更に、図１、図１４の構成において、ＳＳＵを２重化構成としても良い。この場合、障害ポートを持つ一方のＳＳＵはクラスタから切り離され、他のＳＳＵがクラスタのデータのロード／ストア等を継続する。
【０１１６】
以上、本発明を実施の形態により説明したが、本発明の趣旨の範囲内において、本発明は、種々の変形が可能であり、本発明の範囲からこれらを排除するものではない。
【０１１７】
（付記１）受信したコマンド及びデータを処理する情報処理システムにおいて、受信したコマンド及びデータを処理する内部回路と、前記受信したコマンド及びデータを履歴として格納するメモリと、前記内部回路の障害検出に応じて、前記メモリのコマンド及びデータを読み出し、前記内部回路に出力する制御回路とを有することを特徴とする情報処理システム。
【０１１８】
（付記２）前記内部回路の障害を検出し、前記制御回路に読み出し指示を行う処理回路を更に有することを特徴とする付記１の情報処理システム。
【０１１９】
（付記３）情報処理装置に接続され、前記情報処理装置から前記コマンド及びコマンドを受信し、前記内部回路及び前記メモリに前記受信したコマンド及びデータを出力するインターフェース回路を更に有することを特徴とする付記１の情報処理システム。
【０１２０】
（付記４）前記制御回路の指示に応じて、前記受信したコマンド及びデータの内、少なくとも前記コマンドと前記コマンドの間隔を示す無効データを抽出し、前記メモリに書き込む書き込み回路と、前記制御回路の指示に応じて、前記メモリの前記コマンドと無効データを読み出し、前記コマンドを受信間隔で出力する読み出し回路とを更に有することを特徴とする付記１の情報処理システム。
【０１２１】
（付記５）前記処理回路は、前記内部回路に前記コマンド及びデータを出力後、前記内部回路の状態を検出することを特徴とする付記２の情報処理システム。
【０１２２】
（付記６）前記内部回路の障害を検出し、前記制御回路に書き込みモードと読み出しモードの指示を行う処理回路を更に有することを特徴とする付記４の情報処理システム。
【０１２３】
（付記７）前記書き込み回路は、前記内部回路のコマンドを抽出し、前記メモリに書き込むことを特徴とする付記４の情報処理システム。
【０１２４】
（付記８）前記内部回路と前記メモリと前記制御回路とが、情報処理装置に接続され、前記情報処理装置からの前記コマンド及びコマンドを受信して、記憶ユニットをアクセスするシステム記憶装置に設けられたことを特徴とする付記１の情報処理システム。
【０１２５】
（付記９）前記制御回路に制御され、前記受信したコマンド及びデータを前記内部回路に出力すか前記メモリから前記コマンド及びデータを出力かを選択する選択回路を更に有することを特徴とする付記１の情報処理システム。
【０１２６】
（付記１０）受信したコマンド及びデータを処理する情報処理システムの障害処理方法において、内部回路が受信したコマンド及びデータを処理するステップと、前記受信したコマンド及びデータを履歴としてメモリに格納するステップと、制御回路が前記内部回路の障害検出に応じて、前記メモリのコマンド及びデータを読み出し、前記内部回路に出力するステップとを有することを特徴とする情報処理システムの障害処理方法。
【０１２７】
（付記１１）処理回路が前記内部回路の障害を検出し、前記制御回路に読み出し指示を行うステップを更に有することを特徴とする付記１０の情報処理システムの障害処理方法。
【０１２８】
（付記１２）情報処理装置に接続されたインターフェース回路が、前記情報処理装置から前記コマンド及びコマンドを受信し、前記内部回路及び前記メモリに前記受信したコマンド及びデータを出力するステップを更に有することを特徴とする付記１０の情報処理システムの障害処理方法。
【０１２９】
（付記１３）書き込み回路が前記制御回路の指示に応じて、前記受信したコマンド及びデータの内、少なくとも前記コマンドと前記コマンドの間隔を示す無効データを抽出し、前記メモリに書き込むステップと、読み出し回路が、前記制御回路の指示に応じて、前記メモリの前記コマンドと無効データを読み出し、前記コマンドを受信間隔で出力するステップとを更に有することを特徴とする付記１０の情報処理システムの障害処理方法。
【０１３０】
（付記１４）前記処理回路が、前記内部回路に前記コマンド及びデータを出力後、前記内部回路の状態を検出するステップを更に有することを特徴とする付記１１の情報処理システムの障害処理方法。
【０１３１】
（付記１５）処理回路が前記内部回路の障害を検出し、前記制御回路に書き込みモードと読み出しモードの指示を行うステップを更に有することを特徴とする付記１３の情報処理システムの障害処理方法。
【０１３２】
（付記１６）前記書き込み回路が、前記内部回路のコマンドを抽出し、前記メモリに書き込むステップを更に有することを特徴とする付記１３の情報処理システムの障害処理方法。
【０１３３】
（付記１７）前記内部回路と前記メモリと前記制御回路とが、情報処理装置に接続され、前記情報処理装置からの前記コマンド及びコマンドを受信して、記憶ユニットをアクセスするシステム記憶装置に設けられたことを特徴とする付記１０の情報処理システムの障害処理方法。
【０１３４】
（付記１８）選択回路が、前記制御回路に制御され、前記受信したコマンド及びデータを前記内部回路に出力するか前記メモリから前記コマンド及びデータを出力かを選択するステップを更に有することを特徴とする付記１０の情報処理システムの障害処理方法。
【産業上の利用可能性】
【０１３５】
コマンド及びデータを履歴格納するメモリのヒストリデータを元に、障害直前のハード動作を全く同じ様に再現出来るため、障害調査の絞り込みが可能となり、障害の原因調査の時間の短縮が図れる。又、ヒストリメモリのデータを使用するため、外部装置と接続されていなくても，内部回路の内部動作の細かな検証が可能となる。
【符号の説明】
【０１３６】
１−０〜１−Ｎ  クラスタ
２  システム記憶装置
３、１８  ポートユニット
１０  ＣＰＵ
１２  システムコントローラ
１４、２２  メモリアクセスコントローラ
１６  チャネルユニット
３０  クラスタインターフェース回路
３２  ポート回路
３４  プリポート回路
３６Ａ〜３６Ｃ  インターフェース回路
４０  ヒストリ回路
４２  ＳＳＵ−ＴＥＳＴＥＲ回路
４４  選択回路
４６  ヒストリメモリ
【図１】
2011258055.tif 000003
【図２】
2011258055.tif 000004
【図３】
2011258055.tif 000005
【図４】
2011258055.tif 000006
【図５】
2011258055.tif 000007
【図６】
2011258055.tif 000008
【図７】
2011258055.tif 000009
【図８】
2011258055.tif 000010
【図９】
2011258055.tif 000011
【図１０】
2011258055.tif 000012
【図１１】
2011258055.tif 000013
【図１２】
2011258055.tif 000014
【図１３】
2011258055.tif 000015
【図１４】
2011258055.tif 000016