(57)【特許請求の範囲】
【請求項１】
障害収集部と、複数のモジュールと、を備えた集積回路であって、
該複数のモジュールのそれぞれは、
該モジュール内の障害を検出する障害検出部と、
該障害検出部で障害を検出した場合、検出した障害に係る障害情報を生成する障害情報生成部と、
該障害情報を保持する第１保持部と、
該障害検出部で障害を検出した場合、障害を検出したことを示す障害検出通知を、該障害収集部に通知する通知部と、
送信指示に応じて、該第１保持部に保持された該障害情報を、該障害収集部に送信する第１送信部と、をそなえ、
該障害収集部は、
該障害検出通知に基づいて、該複数のモジュールのうち、最初に該障害検出通知を通知したモジュールを特定する特定部と、
該特定部によって特定されたモジュールに対して、該障害情報を送信するように該送信指示を行なう取得部と、
該第１送信部によって送信された該障害情報を保持する第２保持部と、をそなえたことを特徴とする集積回路。
【請求項２】
該障害収集部は、
該障害検出通知から、障害のレベルを判断する判断部をそなえ、
該取得部は、該判断部によって所定閾値以上のレベルの障害であると判断された場合に、該特定部によって特定されたモジュールに対して、該障害情報を送信するように指示することを特徴とする請求項１記載の集積回路。
【請求項３】
該障害情報生成部は、該障害検出部が、該モジュール内で最初に検出した障害に係る障害情報を生成することを特徴とする請求項１又は２記載の集積回路。
【請求項４】
障害収集部と、複数のモジュールと、を備えた集積回路における障害情報処理方法であって、
該複数のモジュールのそれぞれが、
該モジュール内の障害を検出する障害検出ステップと、
該障害検出ステップで障害を検出した場合、検出した障害に係る障害情報を生成する障害情報生成ステップと、
該障害情報を保持する第１保持ステップと、
該障害検出ステップで障害を検出した場合、障害を検出したことを示す障害検出通知を、該障害収集部に通知する通知ステップと、
送信指示に応じて、該第１保持ステップにおいて保持された該障害情報を、該障害収集部に送信する第１送信ステップと、をそなえ、
該障害収集部が、
該障害検出通知に基づいて、該複数のモジュールのうち、最初に該障害検出通知を通知したモジュールを特定する特定ステップと、
該特定ステップによって特定されたモジュールに対して、該障害情報を送信するように該送信指示を行なう取得ステップと、
該第１送信ステップにおいて送信された該障害情報を保持する第２保持ステップと、をそなえたことを特徴とする障害情報処理方法。
【請求項５】
障害を検出する障害検出部と、
該障害検出部で障害を検出した場合、検出した障害に係る障害情報を生成する障害情報生成部と、
該障害情報を保持する第１保持部と、
該障害検出部で障害を検出した場合、障害を検出したことを示す障害検出通知を、障害情報収集装置に通知する通知部と、
送信指示に応じて、該第１保持部に保持された該障害情報を、該障害情報収集装置に送信する第１送信部と、をそれぞれ備えた複数のモジュールから、障害を収集する該障害情報収集装置であって、
該障害検出通知に基づいて、該複数のモジュールのうち、最初に該障害検出通知を通知したモジュールを特定する特定部と、
該特定部によって特定されたモジュールに対して、該障害情報を送信するように該送信指示を行なう取得部と、
該第１送信部によって送信された該障害情報を保持する第２保持部と、をそなえたことを特徴とする障害情報収集装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、集積回路における障害情報処理方法に関する。
【背景技術】
【０００２】
ＬＳＩ(Large Scale Integration)等の内部においてエラー（障害）が発生した場合、このエラーに係る情報を収集し、収集された情報に基づいて、専門のオペレータが、エラーを解析する技術が知られている。
ここで、ＬＳＩ等の内部においてエラーが発生した場合における、システムの動作を図７および図８を用いて説明する。図７はシステム１００のハードウェア構成を示す図である。システム１００は、ＬＳＩ２００と、システムコントローラ３００とをそなえる。ＬＳＩ２００は、ＬＳＩ２００におけるエラーを検出するエラー検出モジュール２１０を複数そなえるとともに、システムコントローラ３００にエラーの発生を通知するエラー収集モジュール２２０をそなえる。なお、エラー検出モジュール２１０は、特定の機能を実現するサブモジュールにそれぞれ含まれる。【０００３】
図８は、エラーが発生した場合のシステム１００の動作を説明するためのフローチャートである。まず、ＬＳＩ２００においてエラーが発生すると、エラー検出モジュール２１０は、このエラーを検出するとともに、エラー収集モジュール２２０にエラーを検出した旨を通知する（ステップＢ１）。この通知を受けたエラー収集モジュール２２０は、ＬＳＩ２００においてエラーが発生した旨を、システムコントローラ３００に報告する（ステップＢ２）。この報告を受けたシステムコントローラ３００は、全てのエラー検出モジュール２１０のレジスタ等の記憶部から情報を採取し（ステップＢ３）、採取した情報に基づいてシステム１００の管理者等が解析を行なう（ステップＢ４）。解析終了後、システムコントローラ３００は、全てのエラー検出モジュール２２０のレジスタ等の記憶部に記憶された情報をクリアする（ステップＢ５）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平６−１４９６３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ＬＳＩ２００の回路規模が大きくなるにつれ、サブモジュールの数が増大する。すなわち、エラー検出モジュール２１０の数が増大するため、システムコントローラ３００は、エラーの解析のために、非常に多くのエラー検出モジュール２１０のレジスタから、情報を採取しなければならない。そのため、情報を採取するために多大な時間を要し、その結果、エラーの解析に多大な時間を要するという問題点があった。【０００６】
本件は、エラーの解析のための情報収集に要する時間を大幅に短縮することを目的の一つとする。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本件の他の目的の1つとして位置付けることができる。
【課題を解決するための手段】
【０００７】
このため、この集積回路は、障害収集部と、複数のモジュールと、を備えた集積回路であって、該複数のモジュールのそれぞれは、該モジュール内の障害を検出する障害検出部と、該障害検出部で障害を検出した場合、検出した障害に係る障害情報を生成する障害情報生成部と、該障害情報を保持する第１保持部と、該障害検出部で障害を検出した場合、障害を検出したことを示す障害検出通知を、該障害収集部に通知する通知部と、送信指示に応じて、該第１保持部に保持された該障害情報を、該障害収集部に送信する第１送信部と、をそなえ、該障害収集部は、該障害検出通知に基づいて、該複数のモジュールのうち、最初に該障害検出通知を通知したモジュールを特定する特定部と、該特定部によって特定されたモジュールに対して、該障害情報を送信するように該送信指示を行なう取得部と、該第１送信部によって送信された該障害情報を保持する第２保持部と、をそなえる。
【０００８】
また、この障害情報処理方法は、障害収集部と、複数のモジュールと、を備えた集積回路における障害情報処理方法であって、該複数のモジュールのそれぞれが、該モジュール内の障害を検出する障害検出ステップと、該障害検出ステップで障害を検出した場合、検出した障害に係る障害情報を生成する障害情報生成ステップと、該障害情報を保持する第１保持ステップと、該障害検出ステップで障害を検出した場合、障害を検出したことを示す障害検出通知を、該障害収集部に通知する通知ステップと、送信指示に応じて、該第１保持ステップにおいて保持された該障害情報を、該障害収集部に送信する第１送信ステップと、をそなえ、該障害収集部が、該障害検出通知に基づいて、該複数のモジュールのうち、最初に該障害検出通知を通知したモジュールを特定する特定ステップと、該特定ステップによって特定されたモジュールに対して、該障害情報を送信するように該送信指示を行なう取得ステップと、該第１送信ステップにおいて送信された該障害情報を保持する第２保持ステップと、をそなえる。
【０００９】
さらに、この障害情報収集装置は、障害を検出する障害検出部と、該障害検出部で障害を検出した場合、検出した障害に係る障害情報を生成する障害情報生成部と、該障害情報を保持する第１保持部と、該障害検出部で障害を検出した場合、障害を検出したことを示す障害検出通知を、障害情報収集装置に通知する通知部と、送信指示に応じて、該第１保持部に保持された該障害情報を、該障害情報収集装置に送信する第１送信部と、をそれぞれ備えた複数のモジュールから、障害を収集する該障害情報収集装置であって、該障害検出通知に基づいて、該複数のモジュールのうち、最初に該障害検出通知を通知したモジュールを特定する特定部と、該特定部によって特定されたモジュールに対して、該障害情報送信するように該送信指示を行なう取得部と、該第１送信部によって送信された該障害情報を保持する第２保持部と、をそなえる。
【発明の効果】
【００１０】
開示の集積回路，障害情報処理方法および障害情報収集装置によれば、障害の解析に要する時間を大幅に短縮することができる。
【図面の簡単な説明】
【００１１】
【図１】実施形態の一例としてのシステムの構成を示す図である。
【図２】実施形態の一例としてのサブモジュールおよびエラー収集モジュールの構成を示す図である。
【図３】実施形態の一例としてのサブモジュールおよびエラー収集モジュールの詳細な構成を示す図である。
【図４】実施形態の一例としての処理済エラー情報を示す図である。
【図５】実施形態の一例としてのシステムコントローラの構成を示す図である。
【図６】実施形態の一例としてのシステムの障害処理方法を説明するためのフローチャートである。
【図７】ＬＳＩを有するシステムのハードウェア構成を示す図である。
【図８】エラーが発生した場合のシステムの動作を説明するためのフローチャートである。
【発明を実施するための形態】
【００１２】
以下、図面を参照して本集積回路，障害情報処理方法および障害情報収集装置に係る実施形態の一例を説明する。
図１は、実施形態の一例としてのシステムの構成を示す図、図２は、実施形態の一例としてのサブモジュールおよびエラー収集モジュールの構成を示す図、図３は、実施形態の一例としてのサブモジュールおよびエラー収集モジュールの詳細な構成を示す図である。なお、図２において、接しているブロック同士は通信可能に接続されていることを示す。例えば、図２において、情報保持部４２と生成部４３とは通信可能に接続されていることを示す。
【００１３】
本実施形態の一例としてのシステム１は、図１に示すように、ＬＳＩ（集積回路）２とシステムコントローラ（外部装置）３とをそなえる。ＬＳＩ２とシステムコントローラ３とはバス等を介して通信可能に接続されている。
ＬＳＩ２は、例えば、特定の機能を有する処理回路であり、本実施形態の一例においては、複数の（図１に示す例では５つの）サブモジュール４と、エラー収集モジュール（障害収集部の一例）５とをそなえる。
【００１４】
サブモジュール４は、LSIの機能を実現するモジュールである。この機能を実現する回路（図示省略）の他に、サブモジュール４は、図２に例示するように、検出回路群４１，情報保持部４２，生成部４３，ローカルレジスタ４４およびエラーチャネル４５をそなえる。
なお、図２に示す例では、便宜上、２つのサブモジュール４のみを記載し、他のサブモジュール４については、図示を省略している。
【００１５】
検出回路群４１は、サブモジュール４内のエラーを検出するとともに、エラー情報を出力する。検出回路群４１は、例えば、サブモジュール４内の障害を検出する回路を複数そなえる。例えば、サブモジュール４内の障害を検出する複数の回路のそれぞれは、サブモジュール４内の異なる障害を検出し、障害を検出した場合、障害を検出した旨を示すフラグを設定する。すなわち、検出回路群４１は、障害の種類に応じて、異なる位置にフラグが立ったエラー情報を出力する。
【００１６】
図３に示す例では、エラー検出回路４１１−４１３が、図２の検出回路群４１に相当する。図３に示す例では、検出回路群４１は、３つのエラー検出回路４１１−４１３をそなえているが、これに限定されるものではない。
エラー検出回路４１１−４１３のそれぞれは、サブモジュール４における特定の障害を検出し、障害を検出した場合、その旨を示すフラグを出力する。すなわち、エラー検出回路４１１−４１３は、モジュール内の障害を検出する障害検出部として機能する。なお、特定の障害を検出する機能は、既知の種々の手法を用いて実現可能であり、その詳細な説明については省略する。
【００１７】
情報保持部４２は、例えば、レジスタであり、検出回路群４１が出力するエラー情報を保持する。図３に示す例では、情報保持部４２１が、図２の情報保持部４２に相当する。
情報保持部４２１は、例えば、レジスタであり、エラー検出回路４１１−４１３の出力を保持する。
生成部４３は、情報保持部４２に保持されたエラー情報に対して処理を行なうことで、フォーマット化されたエラー情報（以下、単に、処理済エラー情報という場合がある）を生成し、ローカルレジスタ４４に保存する。すなわち、生成部４３は、障害情報（処理済エラー情報）を生成する障害情報生成部として機能する。
【００１８】
また、生成部４３は、処理済エラー情報の一部（本実施形態の一例では、後述するエラーレベルおよびエラータイプ）をエラー収集モジュール５に通知する。以下、この通知をエラー通知もしくは障害検出通知という場合がある。すなわち、障害を検出したことを示す障害検出通知を、障害収集部に通知する通知部として機能する。
なお、生成部４３は、サブモジュール４内で最初に検出回路群４１によって検出されたエラーに対して処理を行なうことで処理済エラー情報を作成する。ここで、本願明細書中における、「最初」とは、システム１の起動後、または、後述するように、グローバルレジスタ５６およびローカルレジスタ４４が保持する各処理済エラー情報、および、情報保持部４２が保持するエラー情報がクリアされた後を指す。
【００１９】
図３に示す例では、グルーピング部４３１，プライオリティ部４３２，第１エンコード部４３３，エラーレベル出力部４３４，エラータイプ出力部４３５，モジュールコード出力部４３６および第２エンコード部４３７が、図２の生成部４３に相当する。
グルーピング部４３１は、例えば、情報保持部４２１に保持されたエラー情報のグルーピングを行なう。すなわち、グルーピング部４３１は、エラーを検出したエラー検出回路４１１−４１３に応じて、エラー情報の分類を行なう。例えば、エラー検出回路４１１とエラー検出回路４１２とが同時に障害を検出した旨を示すエラー情報が情報保持部４２に保持されている場合を考える。この場合、グルーピング部４３１は、エラー検出回路４１１が検出した障害を示すエラー情報と、エラー検出回路４１２が検出した障害を示すエラー情報とにエラー情報を分類する。
【００２０】
プライオリティ部４３２は、例えば、グルーピング部４３１によって分類されたエラー情報に対して、優先順位を付ける。例えば、プライオリティ部４３２は、エラー検出回路４１１が検出した障害を示すエラー情報に対して、エラー検出回路４１２が検出した障害を示すエラー情報より高い優先順位を付ける。
第１エンコード部４３３は、プライオリティ部４３２によって最も高い優先順位が付けられたエラー情報をエンコードして、エラーの重要度を示すエラーレベルを生成する。例えば、エラー検出回路４１１が検出した障害を示すエラー情報に対して最も高い優先順位が付けられている場合には、第１エンコード部４３３は、エラー検出回路４１１が検出した障害を示すエラー情報をエンコードする。
【００２１】
また、第１エンコード部４３３は、プライオリティ部４３２によって最も高い優先順位が付けられたエラー情報をエンコードして、エラーの種類を示すエラータイプを生成することもできる。
エラーレベル出力部４３４は、例えば、第１エンコード部４３３によって生成されたエラーレベルを出力する。
【００２２】
エラータイプ出力部４３５は、例えば、第１エンコード部４３３によって生成されたエラータイプを出力する。
モジュールコード出力部４３６は、複数のサブモジュール４のそれぞれを識別するためのモジュール番号を出力する。モジュール番号とは、サブモジュール４毎に予め定められた固定の値である。
【００２３】
第２エンコード部４３７は、情報保持部４２１に保持されたエラー情報をエンコードして詳細情報を生成し、出力する。ここで、詳細情報とは、エラーの詳細な内容を示す情報である。また、情報保持部４２１に保持されたエラー情報が、検出回路群４１が同時に複数のエラーを検出したことを示す場合には、第２エンコード部４３７は、同時に複数のエラーが発生したことを示す情報を詳細情報に含める。
【００２４】
図４は、実施形態の一例としての処理済エラー情報を示す図である。
処理済エラー情報４０は、上述したエラーレベル、エラータイプ、モジュール番号および詳細情報をそなえる。
図４に示す例では、エラーレベルは２ビット、エラータイプは４ビット、モジュール番号は８ビット、詳細情報は８ビットでそれぞれ表される。ここで、検出回路群４１が同時に複数のエラーを検出した場合には、例えば、第２エンコード部４３７は、同時に複数のエラーが発生したことを示す情報として、８ビットで表される詳細情報の所定の位置（例えば、最上位ビット）に“１”を記録する。
【００２５】
なお、テーブル６０に例示するように、２ビットで表されるエラーレベル（テーブル６０中の「コード」）は、エラーレベルを示す情報（テーブル６０中の「レベル」）とエラーレベルの詳細（テーブル６０中の「詳細」）と対応付けられている。例えば、テーブル６０に示すコード“２’ｂ０１”は、エラーレベルが“System stop L1”であり、そのエラーレベルの詳細は“１パーティションレベル”であることを示す。すなわち、テーブル６０に示すコード“２’ｂ０１”は、１のパーティション内においてエラーが発生していることを示す。また、例えば、テーブル６０に示すコード“２’ｂ００”は、エラーレベルが“System stop L０”であり、そのエラーレベルの詳細は“アクティブ”であることを示す。すなわち、テーブル６０に示すコード“２’ｂ００”は、システムコントローラ３へ通知すべきエラーが発生していないことを示す。ここで、２’ｂは、２ビットのデータを２進数で表していることを示す。
【００２６】
また、テーブル７０に例示するように、４ビットで表されるエラータイプ（テーブル７０中の「コード」）は、エラータイプを示す情報（テーブル７０中の「タイプ」）と、エラータイプの詳細（テーブル７０中の「詳細」）と対応付けられている。例えば、テーブル７０に示すコード“４’ｈ６”は、エラータイプが“int_ce”であり、そのエラータイプの詳細は“修正可能な内部エラー”であることを示している。また、例えば、テーブル７０に示すコード“４’ｈ０”は、エラータイプが“No Error”であり、そのエラータイプの詳細は”ノーエラー”であることを示す。すなわち、テーブル７０に示すコード“４’ｈ０”は、システムコントローラ３へ通知すべきエラーが発生していないことを示す。なお、テーブル７０中の符号“ce”および“ue”は、それぞれコレクタブルエラーおよびアンコレクタブルエラーを意味する。ここで、４’ｈは、４ビットのデータを１６進数で表していることを示す。
【００２７】
さらに、テーブル８０に例示するように、８ビットで表されるモジュール番号（テーブル８０中の「コード」）は、サブモジュール４へのパス（テーブル８０中の「パス」）が、対応付けられている。例えば、テーブル８０のコード“８’ｈ３２”および“８’ｈ１１”は、それぞれパス“b1aaa/b2aaa/b3ccc/b4ttt”および“b1aaa/b2aaa/b3kkk/b4sss”を示す。ここで、８’ｈは、８ビットのデータを１６進数で表していることを示す。
【００２８】
また、テーブル９０に例示するように、８ビットで表される詳細情報（テーブル９０中の「コード」）は、詳細情報の内容が（テーブル９０中の「内容」）が対応付けられている。例えば、テーブル９０のコード“８’ｈ０１”および“８’ｈ８５”は、それぞれ“xxxカウンタパリティエラー”および“yyyパケットプロトコルエラー”を示す。
なお、テーブル６０，７０，８０，９０は、これらに限定されるものではない。また、テーブル６０，７０，８０，９０は、便宜上、一部を省略している。
【００２９】
ローカルレジスタ４４はレジスタであり、生成部４３によって生成された処理済エラー情報を記憶する。すなわち、ローカルレジスタ４４は、障害情報を保持する、第１保持部として機能する。
図３に示す例では、ローカルレジスタ４４１が、図２のローカルレジスタ４４に相当する。
【００３０】
ローカルレジスタ４４１は、処理済エラー情報として、エラーレベル出力部４３４，エラータイプ出力部４３５，モジュールコード出力部４３６および第２エンコード部４３７の出力を保持する。また、ローカルレジスタ４４１は、例えば、後述する送信部４５１と通信可能に接続されており、処理済エラー情報を送信部４５１により読み出し可能に保持している。
【００３１】
エラーチャネル４５は、サブモジュール４とエラー収集モジュール５とを通信可能に接続する。
図３に示す例では、送信部４５１，Ｄフリップフロップ（Delayフリップフロップ）４５２−４５７およびデコード部４５８が、図２のエラーチャネル４５に相当する。図３に示す例では、サブモジュール４が送信部４５１およびＤフリップフロップ４５２−４５４をそなえ、エラー収集モジュール５がＤフリップフロップ４５５−４５７およびデコード部４５８をそなえる。また、送信部４５１は、Ｄフリップフロップ４５３，４５４，ローカルレジスタ４４１，情報保持部４２１と通信可能に接続されている。さらに、Ｄフリップフロップ４５２−４５４とＤフリップフロップ４５５−４５７とがそれぞれ、通信可能に接続されている。また、デコード部４５８は、Ｄフリップフロップ４５５および後述するエラーグルーピング部５３１と通信可能に接続されている。また、Ｄフリップフロップ４５２は、エラーレベル出力部４３４，およびエラータイプ出力部４３５と通信可能に接続されている。さらに、Ｄフリップフロップ４５６，４５７は、それぞれ後述するセレクタ５１１およびオア回路５１２と通信可能に接続されている。
【００３２】
送信部４５１は、例えば、後述する制御部５５１からの指示に応じて、ローカルレジスタ４４１から、処理済エラー情報を読出し、Ｄフリップフロップ４５４，４５７を介してエラー収集モジュール５に送信する。また、送信部４５１は、制御部５５１からの指示に応じて、情報保持部４２１およびローカルレジスタ４４１に保持された情報をクリアする。すなわち、送信部４５１は、障害情報を障害収集部に送信する第１送信部として機能する。
【００３３】
Ｄフリップフロップ４５２−４５７のそれぞれは、例えば、タイミング緩和を目的として設けられる。なお、本実施形態の一例においては、Ｄフリップフロップ４５２とＤフリップフロップ４５５とは、６ビット幅のバスで接続されている。さらに、例えば、Ｄフリップフロップ４５３とＤフリップフロップ４５６とや、Ｄフリップフロップ４５４とＤフリップフロップ４５７とは、それぞれ１ビット幅のバスで接続されている。なお、エラーチャネル４５は、Ｄフリップフロップ４５２−４５７をそなえなくともよい。
【００３４】
デコード部４５８は、例えば、エラーレベル出力部４３４およびエラータイプ出力部４３５から通知されるエラー通知をデコードするとともに、デコード結果を後述するエラーグルーピング部５３１および後述する制御部５５１に出力する。
エラー収集モジュール５は、サブモジュール４から処理済エラー情報を収集し、システムコントローラ３に対して送信する。具体的には、例えば、エラー収集モジュール５は、複数のサブモジュール４のうち最初にエラー通知を行なったサブモジュール４を判断し、最初にエラー通知を行なったサブモジュール４のローカルレジスタ４４が保持する処理済エラー情報を収集する。
【００３５】
エラー収集モジュール５は、本実施形態の一例においては、図２に示すように、ゲート５１，収集部５２，仕分け部５３，通知部５４，制御部５５およびグローバルレジスタ５６をそなえる。
収集部５２は、サブモジュール４からのエラー通知を束ねる。図３に示す例では、収集部５２は、エラーチャネル４５と後述するエラーグルーピング部５３１およびコントローラ５５１とをそれぞれ結ぶ経路に相当する。
【００３６】
仕分け部５３は、例えば、サブモジュール４からのエラー通知に対してグルーピングを行なう。具体的には、仕分け部５３は、例えば、エラーレベルおよびエラータイプ毎にグルーピングを行なう。
図３に示す例では、エラーグルーピング部５３１が、図２の仕分け部５３に相当する。
エラーグルーピング部５３１には、各サブモジュール４からエラー通知が入力され、これらのサブモジュール４からのエラー通知に対して、エラーレベルおよびエラータイプ毎にグルーピングを行なう。エラーグルーピング部５３１は、エラーレベル毎にグルーピングを行なった結果を後述する第１プライオリティ部５４１へ、エラータイプ毎にグルーピングを行なった結果を後述する第２プライオリティ部５４２へ出力する。図３中、符号Ｓ１−Ｓ３は、エラーグルーピング部５３１によって分類されたそれぞれ異なるエラーレベルを表す信号が伝送される経路を示す。さらに、図３中、符号Ｓ４−Ｓｎ（nは自然数）は、エラーグルーピング部５３１によって分類されたそれぞれ異なるエラータイプを表す信号が伝送される経路を示す。
【００３７】
通知部５４は、例えば、仕分け部５３によってグルーピングされたエラー通知に基づいて、システムコントローラ３および後述する制御部５５に対して処理済エラー情報を収集すべきエラーが発生した旨の通知（以下、単に収集通知という場合がある。）を行なう。
図３に示す例では、第１プライオリティ部５４１，第２プライオリティ部５４２，オア回路５４３，概要レジスタ５４４および警告レジスタ５４５が、図２の通知部５４に相当する。
【００３８】
第１プライオリティ部５４１は、例えば、エラーグルーピング部５３１によって分類された複数のエラーレベルに対して、優先順位を付ける。第１プライオリティ部５４１は、例えば、深刻なエラーに対して高い優先順位をつける。例えば、第１プライオリティ部５４１は、最も高い優先順位が付けられたエラーレベルが所定の閾値以上のエラーレベルであれば、そのエラーレベルを収集通知としてオア回路５４３および制御部５５へ出力する。また、第１プライオリティ部５４１は、最も高い優先順位を付けたエラーレベルが所定の閾値未満の場合には、処理済エラー情報を収集すべきエラーが発生していないことを示す値（例えば、“０”）をオア回路５４３および制御部５５へ出力する。すなわち、第１プライオリティ部５４１は、最も高い優先順位のエラーレベルが所定の閾値以上の場合には、収集通知をオア回路５４３および制御部５５に出力する。一方、第１プライオリティ部５４１は、最も高い優先順位のエラーレベルが所定の閾値未満の場合には、収集通知をオア回路５４３および制御部５５に出力しない。
【００３９】
したがって、システム１の管理者等は、エラーレベルの閾値を任意の値に設定することで、第１プライオリティ部５４１の出力を制御することができる。
第２プライオリティ部５４２は、例えば、エラーグルーピング部５３１によって分類された複数のエラータイプに対して優先順位を付ける。第２プライオリティ部５４２は、例えば、深刻なエラーに対して高い優先順位をつける。なお、第２プライオリティ部５４２によって優先順位が付けられたエラータイプは、エラー概要レジスタ５４４に記録される。第２プライオリティ部５４２は、例えば、最も高い優先順位のエラータイプを収集通知としてオア回路５４３および制御部５５に出力することもできる。
【００４０】
オア回路５４３は、例えば、第１プライオリティ部５４１の出力と第２プライオリティ部５４２の出力との論理和を算出し、システムコントローラ３へ通知する。なお、オア回路５４３の出力は、例えば、警告レジスタ５４５に記録される。
制御部５５は、例えば、通知部５４から収集通知を受けると、複数のサブモジュール４のうち最初にエラー通知を行なったサブモジュール４を判断する。なお、制御部５５は、複数のサブモジュール４から同時にエラー通知を受信した場合、例えば、これらのエラー通知のうち最も高いエラーレベルを含むエラー通知を行なったサブモジュール４を、最初にエラー通知を行なったサブモジュール４と判断する。すなわち、制御部５５は、障害検出通知に基づいて、複数のモジュールのうち、最初に障害検出通知を通知したモジュールを特定する特定部として機能する。
【００４１】
さらに、制御部５５は、通知部５４から収集通知を受けると、最初にエラー通知を行なったサブモジュール４のローカルレジスタ４４から処理済エラー情報を送信するように送信部４５１に対して指示を行なうことで、処理済エラー情報を取得する。すなわち、制御部５５は、特定部によって特定されたモジュールから障害情報を取得する取得部として機能する。
【００４２】
また、制御部５５は、システムコントローラ３から、処理済エラー情報をシステムコントローラ３に送信する旨の指示を受信すると、グローバルレジスタ５６から処理済エラー情報を読み出して、システムコントローラ３へ送信する。すなわち、制御部５５は、障害情報を外部装置に送信する第２送信部として機能する。
また、制御部５５は、システムコントローラ３から、グローバルレジスタ５６およびローカルレジスタ４４が保持する処理済エラー情報、および、情報保持部４２が保持するエラー情報をクリアする旨の指示（以下、単にクリア指示という場合がある）を受信する。制御部５５は、システムコントローラ３からのクリア指示を受信すると、情報保持部４２およびローカルレジスタ４４のそれぞれに保持された情報をクリアするように、送信部４５１に対して指示を行なうとともに、グローバルレジスタ５６が保持する処理済エラー情報をクリアする。
【００４３】
なお、図３に示す例では、制御部５５１および変換部５５２が、図２の制御部５５に相当する。
制御部５５１には、例えば、各サブモジュール４からエラー通知が入力される。制御部５５１は、例えば、第１プライオリティ部５４１または概要レジスタ５４４の出力すなわち第２プライオリティ部５４２の出力（収集通知）をトリガとして、複数のサブモジュール４のうち最初にエラー通知を行なったサブモジュール４を判断する。さらに、制御部５５１は、第１プライオリティ部５４１または概要レジスタ５４４の出力すなわち第２プライオリティ部５４２の出力をトリガとして、最初にエラー通知を行なったサブモジュール４の送信部４５１に対して、ローカルレジスタ４４１から処理済エラー情報を送信するように指示を行なう。
【００４４】
具体的には、制御部５５１は、後述するセレクタ５１１に対して、制御部５５１と、最初にエラー通知を行なったサブモジュール４がそなえるエラーチャネル４５と、を通信可能に接続するように指示する（チャネル指定）。その後、制御部５５１は、最初にエラー通知を行なったサブモジュール４がそなえる送信部４５１に対して、ローカルレジスタ４４１から処理済エラー情報を送信するように指示する。
【００４５】
なお、制御部５５１は、例えば、複数のサブモジュール４毎に、エラー通知を受信した際に異なる位置にフラグが立つようになっており、このフラグの位置に基づいて、複数のサブモジュール４のうち最初にエラー通知を行なったサブモジュール４を判断する。なお、制御部５５１は、例えば、フラグを設定可能なメモリをそなえる。
変換部５５２は、例えば、シリアル／パラレル変換器であり、送信部４５１から送信された処理済エラー情報に対してシリアル／パラレル変換を行ない、グローバルレジスタ５６に格納する。
【００４６】
ゲート５１は、例えば、制御部５５からの指示に応じて、制御部５５と接続するエラーチャネル４５を切り替える。
図３に示す例では、セレクタ５１１およびオア回路５１２が、図２のゲート５１に相当する。
セレクタ５１１は、制御部５５１からの指示に応じて、制御部５５１と接続するエラーチャネル４５を切り替える。
【００４７】
オア回路５１２は、各サブモジュール４から送信される処理済エラー情報の論理和を算出する。なお、処理済エラー情報は、複数のサブモジュール４から同時送信されることはないので、オア回路５１２には、１のサブモジュール４から処理済エラー情報が入力され、他のサブモジュール４からは信号は入力されない（すなわち、“０”が入力される）。
グローバルレジスタ５６はレジスタであり、送信部４５１によって、ローカルレジスタ４４から読み出され送信された処理済エラー情報を保持する。すなわち、グローバルレジスタ５６は、障害情報を保持する第２保持部として機能する。
【００４８】
図３に示す例では、グローバルレジスタ５６１が、図２のグローバルレジスタ５６に相当する。
グローバルレジスタ５６１は、変換部５５２によってシリアル信号をパラレル信号に変換された処理済エラー情報を格納する。
システムコントローラ３は、例えば、エラー収集モジュール５から処理済みエラー情報を受信し、この処理済エラー情報に基づいてエラーの解析を行なう。
【００４９】
図５は、システムコントローラ３の構成を示す図である。図５に示すように、システムコントローラ３は、処理部３１および記憶部３２をそなえる。
記憶部３２は、例えば、ROM（Read Only Memory）やRAM（Random Access Memory）等の記憶装置であり、各種の情報を記憶する。
処理部３１は、例えば、記憶部３２に記憶された各種アプリケーションプログラムを実行することにより種々の演算や制御を行ない、各種機能を実現する処理装置である。
【００５０】
例えば、処理部３１は、アプリケーションプログラムを実行することにより、図６に示すように、指示部３１１および解析部３１２として機能する。
指示部３１１は、例えば、システムコントローラ３がオア回路５４３から収集通知を受信すると、制御部５５に対して、処理済エラー情報を送信するように指示を行ない処理済エラー情報を取得する。
【００５１】
また、指示部３１１は、例えば、制御部５５に対して、グローバルレジスタ５６およびローカルレジスタ４４が保持する処理済エラー情報、および、情報保持部４２が保持するエラー情報をクリアするよう指示を行なう。
解析部３１２は、例えば、制御部５５によって送信された処理済エラー情報に基づいてエラーの解析を行なう。なお、解析部３１２は、既知の種々の手法を用いて実現可能であり、その詳細な説明は省略する。
【００５２】
上述の如く構成された実施形態の一例としてのシステム１の障害情報処理方法を、図６に示すフローチャート（ステップＡ１−Ａ２２）を参照しながら説明する。
まず、任意のサブモジュール４内でエラーが発生すると、検出回路群４１は、エラーを検出するとともにエラー情報を出力し、このエラー情報を情報保持部４２に格納する（ステップＡ１）。次に、このエラー情報に基づいて、生成部４３は、処理済エラー情報を生成する（ステップＡ２）とともに、ローカルレジスタ４４に処理済エラー情報を格納する（ステップＡ３）。さらに、生成部４３は、エラー通知をエラー収集モジュール５に対して行なう（ステップＡ４）。エラー収集モジュール５は、エラーチャネル４５においてデコードされたエラー通知を受信する（ステップＡ５）。エラー収集モジュール５がエラー通知を受信すると、通知部５４は、仕分け部５３によってエラーレベルおよびエラータイプ毎にグルーピングが行なわれたエラー通知に基づいて、収集通知を送信するか否かを判断する（ステップＡ６）。例えば、エラー通知に含まれるエラーレベルが所定の閾値以上である場合（ステップＡ６のＹＥＳルート参照）には、システムコントローラ３および制御部５５に対して、通知部５４は収集通知を行なう（ステップＡ７）。収集通知を受けた制御部５５は、複数のサブモジュール４のうち最初にエラー通知を行なったサブモジュール４を判断し、ゲート５１に対して制御部５５と最初にエラー通知を行なったサブモジュール４のエラーチャネル４５とを接続するように指示を行なう。そして、ゲート５１は、制御部５５と最初にエラー通知を行なったサブモジュール４のエラーチャネル４５とを接続する。制御部５５は、最初にエラー通知を行なったサブモジュール４がそなえる送信部４５１に対して処理済エラー情報を送信するように指示する（ステップＡ８）。送信部４５１は、制御部５５からの指示を受けると（ステップＡ９）、ローカルレジスタ４４から処理済エラー情報を読出し、エラーチャネル４５を介してエラー収集モジュール５に送信する（ステップＡ１０）。エラー収集モジュール５が処理済エラー情報を受信すると（ステップＡ１１）、制御部５５が処理済エラー情報をグローバルレジスタ５６に格納する（ステップＡ１２）。
【００５３】
一方、システムコントローラ３は、収集通知を受信すると（ステップＡ１３）、処理済エラー情報をシステムコントローラ３に送信するように制御部５５に対して指示を行なう（ステップＡ１４）。制御部５５は、システムコントローラ３からの指示を受信すると（ステップＡ１５）、グローバルレジスタ５６から処理済エラー情報を読み出して、システムコントローラ３へ送信する（ステップＡ１６）。システムコントローラ３は、処理済エラー情報を受信すると（ステップＡ１７）、処理済エラー情報の解析を行なう。その後、制御部５５に対して、グローバルレジスタ５６，ローカルレジスタ４４および情報保持部４２に保持された情報をクリアするように指示を行なう（ステップＡ１８）。制御部５５は、システムコントローラ３からの指示を受信すると（ステップＡ１９）、グローバルレジスタ５６に保持された情報をクリアするとともに、ゲート５１に対して制御部５５と全てのサブモジュール４のエラーチャネル４５とを接続するように指示を行なう。そして、制御部５５は、全てのサブモジュール４、具体的には送信部４５１に対して、ローカルレジスタ４４および情報保持部４２に保持された情報をクリアするように指示を行なう（ステップＡ２０）。送信部４５１は、制御部５５からの指示を受信すると（ステップＡ２１）、ローカルレジスタ４４および情報保持部４２に保持された情報をクリアする（ステップＡ２２）。
【００５４】
なお、ステップＡ６において、収集通知を行なわないと判断した場合（ステップＡ６のＮＯルート参照）、収集通知を行なわずに処理を終了する。
このように、実施形態の一例としてのシステム１によれば、エラー収集モジュール５が、複数のサブモジュール４のうち最初にエラー収集モジュール５に対してエラー通知を行なったサブモジュール４を判断する。そして、エラー収集モジュール５が、最初にエラー収集モジュール５に対してエラー通知を行なったサブモジュール４から、処理済エラー情報を取得する。これにより、エラーの原因解析のためには、エラー収集モジュール５が保持する処理済エラー情報を取得すればよく、不必要な情報を取得しなくともよい。したがって、エラーの解析のための情報収集に要する時間を大幅に短縮することができる。
【００５５】
さらに、システムコントローラ３は、エラー収集モジュール５から処理済エラー情報を取得し、この処理済エラー情報に基づいて、エラーの解析を行なうため、システムコントローラ３は、ＬＳＩ２内の全てのサブモジュール４のレジスタを読み出す必要がなくなり、その結果、エラーの解析に要する時間を大幅に短縮することができる。
また、実施形態の一例としてのシステム１によれば、生成部４３によって、処理済エラー情報は、検出回路群４１が最初に検出したエラーに基づいて生成される。そして、システムコントローラ３が、最初にエラー収集モジュール５にエラー通知を行なったサブモジュール４から取得した処理済エラー情報に基づいて、エラーの解析を行なう。したがって、この解析により、確実にエラーの原因を特定できる。
【００５６】
なお、上述した実施形態に関わらず、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、本実施形態の一例においては、生成部４３が、エラー通知として、エラーレベルおよびエラータイプを、エラー収集モジュール５に通知しているが、これに限定されるものではない。例えば、生成部４３は、エラー通知として、エラーレベルのみをエラー収集モジュール５に通知してもよい。
【００５７】
また、本実施形態の一例においては、生成部４３は、プライオリティ部４３２によって最も高い優先順位が付けられたエラー情報に基づいて、エラーレベルを生成し、このエラーレベルを有する処理済エラー情報を生成しているが、これに限定されるものではない。
例えば、サブモジュール４内で同時に複数のエラーが発生した場合には、例えば、プライオリティ部４３２によって付与された優先順位の上位から複数のエラーレベルを生成し、生成部４３は、複数のエラーレベル毎に処理済エラー情報を生成してもよい。なお、この場合、エラータイプについても同様に、プライオリティ部４３２によって付与された優先順位の上位から複数のエラーレベルを生成する。
【００５８】
さらに、エラー収集モジュール５は、オア回路５１２をそなえているが、オア回路５１２に代えて、エラーチャネル４５と変換部５５２とを選択的に接続するセレクタを用いてもよい。なお、セレクタの切り替えは、制御部５５からセレクタ５１１に入力されるチャネル指定に基づいて行なわれる。
また、処理済エラー情報がサブモジュール４内で同時に複数のエラーが発生したことを示す情報を含んでいる場合には、システムコントローラ３は、例えば、図示しないシステムバス等を介して、サブモジュール４の情報保持部４２からエラー情報を取得してもよい。
【００５９】
さらに、本実施形態の一例では、システムコントローラ３が、処理済エラー情報に基づいて、エラーの解析を行なうが、これに限定されるものではない。例えば、システム１の管理者が、システムコントローラ３から、処理済エラー情報を取得し、解析を行なってもよい。
以上の実施形態に関し、さらに以下の付記を開示する。
（付記１）
障害収集部と、複数のモジュールと、を備えた集積回路であって、
該複数のモジュールのそれぞれは、
該モジュール内の障害を検出する障害検出部と、
該障害検出部で障害を検出した場合、検出した障害に係る障害情報を生成する障害情報生成部と、
該障害検出部で障害を検出した場合、障害を検出したことを示す障害検出通知を、該障害収集部に通知する通知部と、をそなえ、
該障害収集部は、
該障害検出通知に基づいて、該複数のモジュールのうち、最初に該障害検出通知を通知したモジュールを特定する特定部と、
該特定部によって特定されたモジュールから、該障害情報を取得する取得部と、をそなえたことを特徴とする集積回路。
（付記２）
該取得部は、該特定部によって特定されたモジュールに対して、該障害情報を送信するように指示し、
該複数のモジュールのそれぞれは、
該取得部からの指示に応じて、該障害情報を該障害収集部に送信する第１送信部をそなえたことを特徴とする付記１記載の集積回路。
（付記３）
該障害収集部は、
該障害検出通知から、障害のレベルを判断する判断部をそなえ、
該取得部は、該判断部によって所定閾値以上のレベルの障害であると判断された場合に、該特定部によって特定されたモジュールに対して、該障害情報を送信するように指示することを特徴とする付記２記載の集積回路。
（付記４）
該複数のモジュールのそれぞれは、
該障害情報を保持する、第１保持部をそなえ、
該第１送信部は、該取得部からの指示に応じて、該第１保持部に保持された該障害情報を、該障害収集部に送信し、
該障害収集部は、
該第１送信部によって送信された該障害情報を保持する第２保持部をそなえることを特徴とする付記３記載の集積回路。
（付記５）
該障害収集部は、該判断部によって所定閾値以上のレベルの障害であると判断された場合に、該第２保持部に保持された該障害情報を外部装置に送信する第２送信部をそなえることを特徴とする付記４記載の集積回路。
（付記６）
該障害情報生成部は、該障害検出部が、該モジュール内で最初に検出した障害に係る障害情報を生成することを特徴とする付記１〜５のいずれか１項に記載の集積回路。
（付記７）
障害収集部と、複数のモジュールと、を備えた集積回路における障害情報処理方法であって、
該複数のモジュールのそれぞれが、
該モジュール内の障害を検出する障害検出ステップと、
該障害検出ステップで障害を検出した場合、検出した障害に係る障害情報を生成する障害情報生成ステップと、
該障害検出ステップで障害を検出した場合、障害を検出したことを示す障害検出通知を、該障害収集部に通知する通知ステップと、をそなえ、
該障害収集部は、
該障害検出通知に基づいて、該複数のモジュールのうち、最初に該障害検出通知を通知したモジュールを特定する特定ステップと、
該特定ステップによって特定されたモジュールから、該障害情報を取得する取得ステップと、をそなえたことを特徴とする障害情報処理方法。
（付記８）
該取得ステップは、該特定ステップによって特定されたモジュールに対して、該障害情報を送信するように指示し、
該複数のモジュールのそれぞれは、
該取得ステップによる指示に応じて、該障害情報を該障害収集部に送信する第１送信ステップをそなえたことを特徴とする付記７記載の障害情報処理方法。
（付記９）
該障害収集部は、
該障害検出通知から、障害のレベルを判断する判断ステップをそなえ、
該取得ステップは、該判断ステップによって所定閾値以上のレベルの障害であると判断された場合に、該特定ステップによって特定されたモジュールに対して、該障害情報を送信するように指示することを特徴とする付記８記載の障害情報処理方法。
（付記１０）
該複数のモジュールのそれぞれは、
該障害情報を保持する、第１保持ステップをそなえ、
該第１送信ステップは、該該取得ステップによる指示に応じて、該第１保持ステップにより保持された該障害情報を、該障害収集部に送信し、
該障害収集部は、
該第１送信ステップによって送信された該障害情報を保持する第２保持ステップをそなえることを特徴とする付記９記載の障害情報処理方法。
（付記１１）
該障害情報生成ステップは、該障害検出ステップによって、該モジュール内で最初に検出した障害に係る障害情報を生成することを特徴とする付記７〜１０のいずれか１項に記載の障害情報処理方法。
（付記１２）
障害を検出する障害検出部と、
該障害検出部で障害を検出した場合、検出した障害に係る障害情報を生成する障害情報生成部と、
該障害検出部で障害を検出した場合、障害を検出したことを示す障害検出通知を、該障害収集部に通知する通知部と、をそれぞれ備えた複数のモジュールから、障害を収集する障害情報収集装置であって、
該障害検出通知に基づいて、該複数のモジュールのうち、最初に該障害検出通知を通知したモジュールを特定する特定部と、
該特定部によって特定されたモジュールから、該障害情報を取得する取得部と、をそなえたことを特徴とする障害情報収集装置。
（付記１３）
該取得部は、該特定部によって特定されたモジュールに対して、該障害情報を送信するように指示することを特徴とする付記１２記載の障害情報収集装置。
【符号の説明】
【００６０】
１    システム
２    ＬＳＩ（集積回路）
３    システムコントローラ（外部装置）
４    サブモジュール（モジュール）
５    エラー収集モジュール（障害収集部）
３１    処理部
３２    記憶部
４０    処理済エラー情報
４１    検出回路群（障害検出部）
４２    情報保持部
４３    生成部（障害情報生成部，通知部）
４４    ローカルレジスタ（第１保持部）
４５    エラーチャネル
５１    ゲート
５２    収集部
５３    仕分け部
５４    通知部
５５    制御部（特定部，第２送信部，取得部）
５６    グローバルレジスタ（第２保持部）
６０，７０，８０，９０    テーブル
３１１    指示部
３１２    解析部
４１１−４１３    エラー検出回路
４２１    情報保持部
４３１    グルーピング部
４３２    プライオリティ部
４３３    第１エンコード部
４３４    エラーレベル出力部
４３５    エラータイプ出力部
４３６    モジュールコード出力部
４３７    第２エンコード部
４４１    ローカルレジスタ
４５１    送信部（第１送信部）
４５２−４５７    Ｄフリップフロップ
４５８    デコード部
５１１    セレクタ
５１２    オア回路
５３１    エラーグルーピング部
５４１    第１プライオリティ部（判断部）
５４２    第２プライオリティ部
５４３    オア回路
５４４    概要レジスタ
５４５    警告レジスタ
５５１    制御部
５５２    変換部
５６１    グローバルレジスタ
【図１】
0005494808.tif 000002
【図２】
0005494808.tif 000003
【図３】
0005494808.tif 000004
【図４】
0005494808.tif 000005
【図５】
0005494808.tif 000006
【図６】
0005494808.tif 000007
【図７】
0005494808.tif 000008
【図８】
0005494808.tif 000009