(57)【特許請求の範囲】
【請求項１】
シリアルバス上を伝送されるトランザクションレイヤパケットのエラーを検出するエラー検出部と、
前記エラーを所定のエラー種類に分類するエラー選定部と、
分類された前記エラー種類毎に前記エラーを前記シリアルバス上で対向する回路に通知するか否かを判定し、通知すると判定した場合に送信要求を出力するエラーメッセージ送信要求制御部と、
前記送信要求に基づいて、前記エラーを前記対向する回路に通知するエラーメッセージ送信部と
を具備し、
前記エラー種類は、致命的なエラーを示すＦａｔａｌエラーと、致命的ではないエラーを示すＮｏｎ−Ｆａｔａｌエラーと、訂正可能なエラーを示すＣｏｒｒｅｃｔａｂｌｅエラーとを含む
インタフェース制御回路。
【請求項２】
前記エラーメッセージ送信要求制御部は、前記エラーを前記対向する回路に通知した後、所定の期間を経過するまで前記エラーと同種のエラーの通知を抑制する
請求項１に記載のインタフェース制御回路。
【請求項３】
前記トランザクションレイヤパケットに発生する前記エラーを分類するための情報を保持するエラー選別用レジスタをさらに具備し、
前記エラー選定部は、前記エラー選別用レジスタから提供される情報に基づいて、前記エラーを前記エラー種類に分類する
請求項１または請求項２に記載のインタフェース制御回路。
【請求項４】
前記エラーメッセージ送信部が送信したエラーメッセージの送信情報を保持するエラーメッセージ送信情報保持部をさらに具備し、
前記エラーメッセージ送信要求制御部は、前記エラーメッセージ送信情報保持部が保持する前記送信情報に基づいて、前記対向する回路に通知するか否かを判定する
請求項１から請求項３のいずれかに記載のインタフェース制御回路。
【請求項５】
前記エラーメッセージ送信要求制御部は、
前記エラー選定部から通知される分類されたエラー情報に基づいて、エラーメッセージ送信要求情報を生成する送信要求情報管理部と、
前記エラーメッセージ送信情報保持部に保持される前記エラーメッセージの情報に基づいて、送信済みか否かを示す既送信情報を生成する送信情報管理部と、
受け付け可能な前記エラーメッセージの数をカウントするカウンタを備え、前記エラーメッセージの送信動作を制御するステート管理部と、
前記ステート管理部の指示に応答して、前記送信要求情報管理部に保持される前記エラー情報に基づいて前記エラーメッセージを生成するリクエスト情報生成部と
を備える
請求項１から請求項４のいずれかに記載のインタフェース制御回路。
【請求項６】
前記送信情報管理部は、前記エラーメッセージを送信して所定の期間経過後に、前記送信済みを示す前記既送信情報の管理を解除する
請求項５に記載のインタフェース制御回路。
【請求項７】
前記所定の期間は、前記エラー種類毎に異なる
請求項６に記載のインタフェース制御回路。
【請求項８】
シリアルバス上を伝送されるトランザクションレイヤパケットのエラーを検出するエラー検出部と、
前記エラーを所定のエラー種類に分類するエラー選定部と、
分類された前記エラー種類毎に前記エラーを前記シリアルバス上で対向する回路に通知するか否かを判定し、通知すると判定した場合に送信要求を出力するエラーメッセージ送信要求制御部と、
前記送信要求に基づいて、前記エラーを前記対向する回路に通知するエラーメッセージ送信部と、
前記トランザクションレイヤパケットに発生する前記エラーを分類するための情報を保持するエラー選別用レジスタと
を具備し、
前記エラー選定部は、前記エラー選別用レジスタから提供される情報に基づいて、前記エラーを前記エラー種類に分類する
インタフェース制御回路。
【請求項９】
前記シリアルバスは、ＰＣＩ−Ｅｘｐｒｅｓｓバスである
請求項１から請求項８のいずれかに記載のインタフェース制御回路。
【請求項１０】
請求項１から請求項９のいずれかに記載のインタフェース制御回路を搭載する情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インタフェース制御回路およびインタフェース制御回路を搭載する情報処理装置に関する。
【背景技術】
【０００２】
インタフェース制御回路は、例えば、特許文献１（特開平７−２１９８５８号公報）に示されるように、情報処理装置に搭載され、装置間等のインタフェースにおけるエラーを検出し、その内容や障害を検出した場所を通知する。
【０００３】
図１に、その情報処理装置の構成を示すブロック図が示される。情報処理装置は、中央処理装置１００と障害処理装置１２０と磁気ディスク装置１３０とを具備する。中央処理装置１００は、アドレスレジスタ１０１、１０２、アドレス選択指示フラグ１０３、データレジスタ１０４、書込指示フラグ１０５、制御記憶１０６、エラー検出回路１０７、タイミング回路１０８、エラー検出フラグ１０９、１１０、セレクタ１１２を備える。
【０００４】
アドレスレジスタ１０１は、制御記憶１０６のアクセスを行うアドレスを保持するとともにアクセスを行う毎に保持する内容を１増加させるための＋１カウンタを有する。アドレスレジスタ１０２は、制御記憶１０６のアクセスを行うために他部から与えられたアドレスを保持する。アドレス選択指示フラグ１０３は、どちらのアドレスレジスタ１０１、１０２の内容を使用するかの選択を指示する。セレクタ１１２は、アドレス選択指示フラグ１０３の指示により、アドレスレジスタ１０１およびアドレスレジスタ１０２を切替える。データレジスタ１０４は、アクセスに係わるデータを保持する。書込指示フラグ１０５は、そのアクセスが書込みであることを指示する。
【０００５】
エラー検出回路１０７は、制御記憶１０６から読出した内容のエラーを検出する。タイミング回路１０８は、制御記憶１０６内の主制御以外の内容の使用時にその制御記憶１０６から読出した内容のエラー検出回路１０７によるエラー検出を有効とする。エラー検出フラグ１０９は、そのタイミング回路１０８が有効としたエラー情報を保持する。エラー検出フラグ１１０は、エラー検出回路１０７が検出したすべてのエラー情報を保持する。アドレス保持レジスタ１１１は、エラー検出回路１０７がエラーを検出したときにそのワードのアドレスを保持する。
【０００６】
制御記憶１０６の主制御以外の内容の使用時には、アドレス選択指示フラグ１０３がオンになることにより、アドレスレジスタ１０２の内容の使用が指示される。それとともに、タイミング回路１０８のエラー検出が有効になる。そのため、制御記憶１０６内の内容を読出して、エラー検出回路１０７にエラーが発生したときには、タイミング回路１０８によりエラー検出フラグ１０９がセットされる。
【０００７】
エラーが検出されると、中央処理装置１００は、エラー検出フラグ１０９から障害検出を障害処理装置１２０に通知する。障害処理装置１２０は、その状態が再試行可能の状態であれば、そのエラーを発生した制御記憶１０６のワードを磁気ディスク装置３から受取ることによって、スキャンパスでアドレスレジスタ１０２、データレジスタ１０４、書込指示フラグ１０５に必要な情報を設定し、制御記憶１０６への再書込みを行う。障害のあった制御記憶１０６のワードの再書込み後に、再度、エラーを発生したそのワードの内容をロードして改めて動作させることによって障害の救済を可能にする。
【０００８】
一方、制御記憶１０６の内容の使用時でなければ、アドレス選択指示フラグ１０３がオフになっている。したがって、アドレスレジスタ１０１の内容の使用が指示される。タイミング回路１０８は、エラー検出を無効にして制御記憶１０６の読出し内容の使用を無効にする。そのため、制御記憶１０６は、アクセスするごとに保持する内容を１増加させるアドレスレジスタ１０１が指示するアドレスから順次データを読み出す。アドレスレジスタ１０１の内容が最大のアドレスを示すと、最小のアドレスに戻ってこの動作を繰返している。
【０００９】
また、エラー検出回路１０７がエラーを検出したときには、エラー検出フラグ１１０がセットされるとともに、エラーを発生したワードのアドレスがアドレス保持レジスタ１１１に保持される。エラー検出フラグ１１０がセットされると、中央処理装置１００は、エラー検出フラグ１１０の信号とアドレス保持レジスタ１１１の内容とによって、障害処理装置１２０に対してエラー検出フラグ１０９とは異なった障害として通知する。そのため、障害処理装置１２０は、エラーを発生した制御記憶１０６のワードを磁気ディスク装置１３０内から速やかに受取り、中央処理装置１００に対してスキャンパスでアドレスレジスタ１０２、データレジスタ１０４、書込指示フラグ１０５に必要な情報を設定し、制御記憶１０６への再書込みを行っている。
【００１０】
上述の情報処理装置は、同時に複数のエラーを検出した場合に、その検出された複数のエラーを同時に通知する手段を持っていない。そのため、全てのエラーを相手側へ通知することができない。通知できたとしても、エラーの種類数分の信号線が必要となり、回路が大規模になってしまう。
【００１１】
また、エラーを検出して通知したことを保持する手段を持たないため、既に検出済みのエラーと同じエラーを再検出した場合に、エラー通知する制御ができない。
【００１２】
特許文献２（再表ＷＯ００／６５４１６号公報）には、工作機械等に用いる制御装置のエラー制御に関する技術が開示されている。この制御装置は、第１の表示手段と、エラー情報入力手段と、記憶手段と、第２の表示手段とを備える。第１の表示手段は、エラーが発生したときに第１次エラーメッセージを表示する。エラー情報入力手段は、ユーザが第１次エラーメッセージに対応したエラー情報を入力する。記憶手段は、このエラー情報入力手段により入力されたエラー情報を記憶する。第２の表示手段は、エラー情報を表示する。
【００１３】
特許文献３（特開２００１−７８００３号公報）には、ファクシミリ装置本体と外付け電話機とからなるファクシミリ装置におけるエラー制御が記載されている。このファクシミリ装置は、コーリングトーン自動検出部と、ダミープロトコル制御部と、間違い通知部とを設ける。コーリングトーン自動検出部は、電話モードまたは電話優先モードに設定された状態において、外付け電話機がオフフックの時にコーリングトーンを自動的に検出する。ダミープロトコル制御部は、コーリングトーン自動検出部がコーリングトーンを検出したときに、送信されて来るファクシミリ画像データを一時的に受信するためのダミープロトコルを実行する。間違い通知部は、ダミープロトコル制御部がダミープロトコルを実行中に、そのダミープロトコル中の信号に含めて、送信元にダイアル番号間違いであることを通知するための間違い通知情報を送信させる。
【００１４】
特許文献４（特開２００６−１７８５５７号公報）には、リンクで互いに接続され、互いに同期して動作する複数のシステムを具備するコンピュータシステムが記載されている。複数のシステムの各々は、フォールト・トレラント制御部と、ＣＰＵと、ベースボード管理コントローラと、複数のハードウェア・モジュールとを備える。ＣＰＵと、ベースボード管理コントローラと、複数のハードウェア・モジュールは、それぞれフォールト・トレラント制御部に接続される。フォールト・トレラント制御部は、複数のシステムのいずれかで発生した障害を受信したとき、障害に対応して予め設定されたＣＰＵ及びベースボード管理コントローラのうちの少なくとも一方へ、障害に関する割り込みを通知する。
【００１５】
また、特許文献５（特開２００７−６２０７６号公報）には、高速シリアルバスで接続される情報処理システムが記載されている。情報処理システムは、少なくとも２以上の画像形成装置と、スイッチと、ルートコンプレックスとを備える。少なくとも２以上の画像形成装置は、画像データに基づいて用紙などの媒体上に画像形成可能である。スイッチは、これらの画像形成装置を高速シリアルバスによりそれぞれ接続している。ルートコンプレックスは、スイッチの上位に位置し、スイッチを高速シリアルバスにより接続して画像データをスイッチに対して送信する。
【００１６】
【特許文献１】特開平０７−２１９８５８号公報
【特許文献２】再表ＷＯ００／６５４１６号公報
【特許文献３】特開２００１−７８００３号公報
【特許文献４】特開２００６−１７８５５７号公報
【特許文献５】特開２００７−６２０７６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１７】
本発明の目的は、同時に検出された複数のエラーを、回路規模を大きくすることなく確実に相手側に通知することができるインタフェース回路およびそのインタフェース回路を搭載する情報処理装置を提供することにある。
【課題を解決するための手段】
【００１８】
本発明の観点では、インタフェース制御回路は、エラー検出部と、エラー選定部と、エラーメッセージ送信要求制御部と、エラーメッセージ送信部とを具備する。エラー検出部は、シリアルバス上を伝送されるトランザクションレイヤパケットのエラーを検出する。エラー選定部は、エラーを所定のエラー種類に分類する。エラーメッセージ送信要求制御部は、分類されたエラー種類毎にエラーをシリアルバス上で対向する回路に通知するか否かを判定し、通知すると判定した場合に送信要求を出力する。エラーメッセージ送信部は、送信要求に基づいて、エラーを対向する回路に通知する。
【００１９】
本発明の他の観点では、情報処理装置は、上述のインタフェース制御回路を搭載する。
【発明の効果】
【００２０】
本発明によれば、同時に検出された複数のエラーを、回路規模を大きくすることなく確実に相手側に通知することができるインタフェース回路およびそのインタフェース回路を搭載する情報処理装置を提供することができる。
【発明を実施するための最良の形態】
【００２１】
図面を参照して本発明の実施の形態について詳細に説明する。
【００２２】
図２に、本発明の実施の形態に係る情報処理装置の構成が示される。情報処理装置１０は、中央処理装置（ＣＰＵ）１２とメモリ１４とインタフェース制御回路２０と制御装置１８とを具備する。インタフェース制御回路２０と制御装置１８との間は、ＰＣＩ−Ｅｘｐｒｅｓｓ等の高速シリアルバス２１により接続されている。中央処理装置１２、メモリ１４、インタフェース制御回路２０は、内部バスにより接続されている。
【００２３】
図３は、インタフェース制御回路２０の構成を示すブロック図である。インタフェース制御回路２０は、ＴＬＰ検出部２３、エラー選択部２４、エラー選別用レジスタ２８、エラーメッセージ送信要求制御部２５、エラーメッセージ送信部２６、エラーメッセージ送信情報保持部２７を備え、高速シリアルバス２１に接続される。
【００２４】
ＴＬＰ検出部２３は、高速シリアルバス２１から入力されるデータを監視し、トランザクションレイヤパケット（Ｔｒａｎｓａｃｔｉｏｎ  Ｌａｙｅｒ  Ｐａｃｋｅｔ：ＴＬＰ）を抽出する。抽出されたトランザクションレイヤパケットは、エラー選択部２４に送られる。エラー選別用レジスタ２８は、トランザクションレイヤパケットに発生するエラーを分類するための情報を保持する。エラー選択部２４は、ＴＬＰ検出部２３から通知されたトランザクションレイヤパケットをチェックし、エラー選別用レジスタ２８に保持されるエラー分類情報に基づいて、検出されたエラーをＣｏｒｒｅｃｔａｂｌｅエラー、Ｆａｔａｌエラー、Ｎｏｎ−Ｆａｔａｌエラーの３レベルに分類する。エラー選択部２４は、分類したエラー情報をエラーメッセージ送信要求制御部２５に通知する。
【００２５】
エラーメッセージ送信要求制御部２５は、エラー選択部２４から通知される分類されたエラー情報と、エラーメッセージ送信情報保持部２７に保持されるエラー送信情報とに基づいて、エラーメッセージの送信をエラーメッセージ送信部２６に要求する。このとき、エラーメッセージ送信要求制御部２５は、エラー選択部２４において検出されたエラー情報をエラーメッセージ送信部２６に供給する。
【００２６】
エラーメッセージ送信部２６は、高速シリアルバス２１を介して制御装置１８にエラーメッセージを送信する。エラーメッセージの送信が完了すると、エラーメッセージ送信部２６は、送信完了をエラーメッセージ送信要求制御部２５に通知し、送信したエラー情報とともに送信完了をエラーメッセージ送信情報保持部２７に通知する。エラーメッセージ送信情報保持部２７は、エラーメッセージ送信部２６が送信したエラーメッセージに対応するエラー情報を保持する。保持されたエラー情報は、エラーメッセージの送信後、あるいは、所定の時間が経過した後、保持を解除される。また、情報処理装置１０を制御する中央処理装置１２の指示により保持が解除されてもよい。
【００２７】
エラー選択部２４は、図４に示されるように、エラーチェック部２４３と、エラー選定部２４５とを備える。エラーチェック部２４３は、ＴＬＰ検出部２３で抽出されたトランザクションレイヤパケットのエラーチェックを行い、エラーがあるか否かを判定する。トランザクションレイヤパケットにエラーを検出すると、エラーチェック部２４３は、エラー選定部２４５にエラー検出を通知する。エラー選定部２４５は、エラー選別用レジスタ２８に格納されるエラー分類情報に基づいて、エラーチェック部２４３で検出されたエラーを分類する。ここでは、エラーの分類は、致命的なエラーを示すＦａｔａｌエラー、致命的ではないエラーを示すＮｏｎ−Ｆａｔａｌエラー、訂正可能なエラーを示すＣｏｒｒｅｃｔａｂｌｅエラーの３種とする。また、エラー分類情報を取り入れて、Ｕｎｃｏｒｒｅｃｔａｂｌｅエラーは、Ｆａｔａｌエラー、Ｎｏｎ−Ｆａｔａｌエラーのいずれにも分類可能とする。エラー選定部２４５は、Ｆａｔａｌエラー、Ｎｏｎ−Ｆａｔａｌエラー、Ｃｏｒｒｅｃｔａｂｌｅエラーの３種類に分類されたエラーのエラー情報をエラーメッセージ送信要求制御部２５に送り、エラーメッセージの送信を要求する。
【００２８】
エラーメッセージ送信要求制御部２５は、図５に示されるように、ステート管理部２５１、送信要求管理部２５３、送信情報管理部２５５、リクエスト情報生成部２５７を備える。
【００２９】
送信要求情報管理部２５３は、エラー選択部２４から通知される３分類されたエラー情報に基づいてエラーメッセージ送信要求情報を生成し、保持する。送信要求情報管理部２５３は、送信情報管理部２５５、ステート管理部２５１、リクエスト情報生成部２５７にエラーメッセージ送信要求情報が生成されたことを信号ＥＲＲｎ−ＲＥＱにより通知する。ここでは、エラーは３分類されているので、ｎは１から３までの整数とする。エラーメッセージ送信要求情報は、エラーメッセージが送信されると削除される。
【００３０】
送信情報管理部２５５は、エラーメッセージ送信情報保持部２７に保持される過去に送信したエラーメッセージの情報に基づいて、送信要求されたエラーが既に送信されて管理されているエラーと同じであるか否かを示す既送信情報をステート管理部２５１、リクエスト情報生成部２５７に通知する。送信情報管理部２５５は、送信されたエラーメッセージ情報を管理し、所定の期間が経過するとその情報を削除する。送信情報管理部２５５がその情報を管理している間は、管理されているエラーのエラーメッセージ送信をしないように制御される。所定の期間が経過すると、そのエラーは送信されるようになる。
【００３１】
ステート管理部２５１は、受け付け可能なエラーメッセージの数をカウントするカウンタを備え、エラーメッセージの送信動作を制御する。ここでは、エラーのないとき、カウンタは“３”を示し、送信動作は、送信状態Ｓ３として制御される。また、同時に３種類のエラーを受け付けた場合、カウンタは“０”を示し、送信状態Ｓ０として新たな送信要求は、受け付けられない。ステート管理部２５１は、エラー送信要求を受け付けると、リクエスト情報生成部２５７に対して信号ＥＲＲｎ＿ＳＥＮＤにより示されるエラーの送信を指示する。このとき、送信情報管理部２５５から通知される既送信情報に基づいて、既に送信済みのエラーの送信要求であることが判明すると、ステート管理部２５１は、信号ＥＲＲｎ＿ＳＥＮＤをアサート状態に保つ。
【００３２】
リクエスト情報生成部２５７は、送信要求情報管理部２５３から信号ＥＲＲｎ＿ＲＥＱによって示されるエラー情報に基づいて、エラーメッセージを含むトランザクションレイヤパケットを生成する。ステート管理部２５１から信号ＥＲＲｎ＿ＳＥＮＤによってエラーメッセージの送信を指示されると、リクエスト情報生成部２５７は、生成したエラーメッセージを含むトランザクションレイヤパケットをエラーメッセージ送信部２６に供給し、エラーメッセージ送信部２６に対して信号ＲＥＱによりエラーメッセージの送信を指示する。エラーメッセージ送信部２６から信号ＡＣＫによりメッセージ送信完了を通知されると、リクエスト情報生成部２５７は、信号ＳＥＮＤ＿ＥＮＤにより送信完了をステート管理部２５１に通知する。
【００３３】
次に、インタフェース制御回路２０の動作が説明される。
【００３４】
図６を参照して、エラーを１つだけ検出したときのインタフェース制御回路２０のエラーメッセージ送信制御の動作が説明される。
【００３５】
時刻Ｔ１において、エラーチェック部２４３は、エラーＥＲＲ１を検出する（図６（ａ））。エラーチェック部２４３は、検出したエラーＥＲＲ１をエラー選定部２４５に通知する。エラー選定部２４５は、エラー選別用レジスタ２８に格納されるエラー分類情報に基づいて、発生したエラーをＣｏｒｒｅｃｔａｂｌｅエラー、Ｆａｔａｌエラー、Ｎｏｎ−Ｆａｔａｌエラーの３種類に分類し、エラー情報をエラーメッセージ送信要求制御部２５に通知する。
【００３６】
通知を受けたエラーメッセージ送信要求制御部２５では、送信要求情報管理部２５３は、エラー選択部２４から通知される３分類のエラー情報に基づいてエラーメッセージ送信要求情報を生成する。送信要求情報管理部２５３は、時刻Ｔ２において、送信要求があることを送信情報管理部２５５、ステート管理部２５１、リクエスト情報生成部２５７に信号ＥＲＲ１＿ＲＥＱにより通知する（図６（ｂ））。
【００３７】
信号ＥＲＲ１＿ＲＥＱがアサートされると、送信情報管理部２５５は、送信要求されたエラーＥＲＲ１が既に送信されて管理されているエラーと同じであるか否かを確認し、ステート管理部２５１、リクエスト情報生成部２５７に既送信情報を通知する。
【００３８】
信号ＥＲＲ１＿ＲＥＱがアサートされ、送信情報管理部２５５から通知された既送信情報がエラーメッセージ送信済みを示していなければ、ステート管理部２５１は、時刻Ｔ３において信号ＥＲＲ１＿ＳＥＮＤをアサートしてリクエスト情報生成部２５７にエラーメッセージの送信を指示する（図６（ｃ））。また、受け付け可能なエラーメッセージの数を減じて、送信状態を“Ｓ３”から“Ｓ２”に変更する（図６（ｄ））。信号ＥＲＲ１＿ＳＥＮＤがアサートされると、送信要求情報管理部２５３は、信号ＥＲＲ１＿ＲＥＱをディアサートする（図６（ｂ））。
【００３９】
アサートされた信号ＥＲＲ１＿ＳＥＮＤを受けたリクエスト情報生成部２５７は、信号ＥＲＲ１＿ＲＥＱにより示されるエラー情報に基づいてトランザクションレイヤパケットのエラーメッセージを生成し、時刻Ｔ４においてエラーメッセージ送信部２６に信号ＲＥＱをアサートする（図６（ｅ））。このとき、リクエスト情報生成部２５７は、生成したエラーメッセージをエラーメッセージ送信部２６に送る。
【００４０】
エラーメッセージの送信を指示されたエラーメッセージ送信部２６は、エラーメッセージを送信する。送信を完了すると、時刻Ｔ５において、信号ＡＣＫをアサートして送信完了をリクエスト情報生成部２５７に通知する（図６（ｆ））。
【００４１】
信号ＡＣＫを受けたリクエスト情報生成部２５７は、ステート管理部２５１にエラーメッセージ送信完了を通知する。ステート管理部２５１は、送信状態を“Ｓ２”から“Ｓ３”に変更する（図６（ｄ））。また、このときまでに送信情報管理部２５５からエラーＥＲＲ１の管理解除の通知を受信していると、時刻Ｔ６において、信号ＥＲＲ１＿ＳＥＮＤをディアサートする（図６（ｃ））。エラーメッセージの送信完了までに送信情報管理部２５５からエラーＥＲＲ１の管理解除の通知を受信していなければ、ステート管理部２５１は、管理解除の通知を受信する時刻Ｔ７まで信号ＥＲＲ１＿ＳＥＮＤのアサート状態を維持する。信号ＥＲＲ１＿ＳＥＮＤがディアサートされると、インタフェース制御回路２０のエラー制御は、初期状態に戻る。
【００４２】
次に、図７を参照して、複数のエラーが同時に検出された場合のインタフェース制御回路２０の動作が説明される。
【００４３】
時刻Ｔ１１において、エラーチェック部２４３は、複数のエラーＥＲＲ１、ＥＲＲ２、ＥＲＲ３を同時に検出する（図７（ａ）〜（ｃ））。エラーチェック部２４３は、検出したエラーＥＲＲ１〜ＥＲＲ３をエラー選定部２４５に通知する。エラー選定部２４５は、エラー選別用レジスタ２８に格納されるエラー分類情報に基づいて、発生したエラーを３種類に分類し、エラー情報をエラーメッセージ送信要求制御部２５に通知する。
【００４４】
通知を受けたエラーメッセージ送信要求制御部２５では、送信要求情報管理部２５３は、エラー選択部２４から通知される３分類のエラー情報に基づいてエラーメッセージ送信要求情報を生成する。送信要求情報管理部２５３は、時刻Ｔ１２において、３種類の送信要求があることを送信情報管理部２５５、ステート管理部２５１、リクエスト情報生成部２５７に信号ＥＲＲ１＿ＲＥＱ、ＥＲＲ２＿ＲＥＱ、ＥＲＲ３＿ＲＥＱにより通知する（図７（ｄ）〜（ｆ））。
【００４５】
信号ＥＲＲ１＿ＲＥＱ〜ＥＲＲ３＿ＲＥＱがアサートされると、送信情報管理部２５５は、送信要求されたエラーＥＲＲ１〜ＥＲＲ３が既に送信されて管理されているエラーと同じであるか否かを確認し、ステート管理部２５１、リクエスト情報生成部２５７にそれぞれのエラーに対応する既送信情報を通知する。ここでは、エラーＥＲＲ１、ＥＲＲ２、ＥＲＲ３の順に優先順位が高いとする。
【００４６】
信号ＥＲＲ１＿ＲＥＱがアサートされ、送信情報管理部２５５から通知された既送信情報がエラーＥＲＲ１のエラーメッセージ送信済みを示していなければ、ステート管理部２５１は、時刻Ｔ１３において信号ＥＲＲ１＿ＳＥＮＤをアサートしてリクエスト情報生成部２５７にエラーメッセージの送信を指示する（図７（ｇ））。それとともに、受け付け可能なエラーメッセージの数を減じて、送信状態を“Ｓ３”から“Ｓ２”に変更する（図７（ｊ））。信号ＥＲＲ１＿ＳＥＮＤがアサートされると、送信要求情報管理部２５３は、信号ＥＲＲ１＿ＲＥＱをディアサートする（図７（ｄ））。
【００４７】
アサートされた信号ＥＲＲ１＿ＳＥＮＤを受けたリクエスト情報生成部２５７は、信号ＥＲＲ１＿ＲＥＱにより示されるエラー情報に基づいてトランザクションレイヤパケットのエラーメッセージを生成する。リクエスト情報生成部２５７は、時刻Ｔ１４においてエラーメッセージ送信部２６に信号ＲＥＱをアサートし、エラーＥＲＲ１のエラーメッセージを送る（図７（ｋ））。
【００４８】
エラーＥＲＲ１のエラーメッセージ送信の指示が終わると、ステート管理部２５１は、信号ＥＲＲ２＿ＲＥＱがアサートされているため、エラーＥＲＲ２のメッセージ送信の準備を始める。送信情報管理部２５５から通知された既送信情報がエラーＥＲＲ２のエラーメッセージ送信済みを示していなければ、時刻Ｔ１３において、ステート管理部２５１は、信号ＥＲＲ２＿ＳＥＮＤをアサートしてリクエスト情報生成部２５７にエラーメッセージの送信を指示する（図７（ｈ））。それとともに、受け付け可能なエラーメッセージの数を減じて、送信状態を“Ｓ２”から“Ｓ１”に変更する（図７（ｊ））。信号ＥＲＲ２＿ＳＥＮＤがアサートされると、送信要求情報管理部２５３は、信号ＥＲＲ２＿ＲＥＱをディアサートする（図７（ｅ））。
【００４９】
リクエスト情報生成部２５７は、信号ＥＲＲ２＿ＲＥＱにより示されるエラー情報に基づいてトランザクションレイヤパケットのエラーメッセージを生成し、時刻Ｔ１６において、信号ＲＥＱをアサートしてエラーＥＲＲ２のエラーメッセージをエラーメッセージ送信部２６に送る（図７（ｋ））。
【００５０】
エラーＥＲＲ２のエラーメッセージ送信の指示が終わると、ステート管理部２５１は、信号ＥＲＲ３＿ＲＥＱがアサートされているため、エラーＥＲＲ３のメッセージ送信の準備を始める。送信情報管理部２５５から通知された既送信情報がエラーＥＲＲ３のエラーメッセージ送信済みを示していなければ、時刻Ｔ１７において、ステート管理部２５１は、信号ＥＲＲ３＿ＳＥＮＤをアサートしてリクエスト情報生成部２５７にエラーメッセージの送信を指示する（図７（ｉ））。それとともに、受け付け可能なエラーメッセージの数を減じて、送信状態を“Ｓ１”から“Ｓ０”に変更する（図７（ｊ））。信号ＥＲＲ３＿ＳＥＮＤがアサートされると、送信要求情報管理部２５３は、信号ＥＲＲ３＿ＲＥＱをディアサートする（図７（ｆ））。
【００５１】
リクエスト情報生成部２５７は、信号ＥＲＲ３＿ＲＥＱにより示されるエラー情報に基づいてトランザクションレイヤパケットのエラーメッセージを生成し、時刻Ｔ１８において、信号ＲＥＱをアサートしてエラーＥＲＲ３のエラーメッセージをエラーメッセージ送信部２６に送る（図７（ｋ））。
【００５２】
エラーメッセージ送信部２６は、エラーＥＲＲ１に対応するエラーメッセージの送信が完了すると、時刻Ｔ１９において、信号ＡＣＫをアサートして送信完了をリクエスト情報生成部２５７に通知する（図７（ｌ））。信号ＡＣＫを受けたリクエスト情報生成部２５７は、ステート管理部２５１にエラーメッセージ送信完了を通知する。
【００５３】
エラーメッセージ送信完了の通知を受けたステート管理部２５１は、送信状態を“Ｓ０”から“Ｓ１”に変更する（図７（ｊ））。また、このときまでに送信情報管理部２５５からエラーＥＲＲ１の管理解除の通知を受信していると、時刻Ｔ２０において、信号ＥＲＲ１＿ＳＥＮＤをディアサートする（図７（ｇ））。エラーメッセージの送信完了までに送信情報管理部２５５からエラーＥＲＲ１の管理解除の通知を受信していなければ、ステート管理部２５１は、管理解除の通知を受信する時刻Ｔ２５まで信号ＥＲＲ１＿ＳＥＮＤのアサート状態を維持する。
【００５４】
エラーメッセージ送信部２６は、エラーＥＲＲ２に対応するエラーメッセージの送信が完了すると、時刻Ｔ２１において、信号ＡＣＫをアサートして送信完了をリクエスト情報生成部２５７に通知する（図７（ｌ））。信号ＡＣＫを受けたリクエスト情報生成部２５７は、ステート管理部２５１にエラーメッセージ送信完了を通知する。
【００５５】
エラーメッセージ送信完了の通知を受けたステート管理部２５１は、送信状態を“Ｓ１”から“Ｓ２”に変更する（図７（ｊ））。また、このときまでに送信情報管理部２５５からエラーＥＲＲ２の管理解除の通知を受信していると、時刻Ｔ２２において、信号ＥＲＲ２＿ＳＥＮＤをディアサートする（図７（ｈ））。エラーメッセージの送信完了までに送信情報管理部２５５からエラーＥＲＲ２の管理解除の通知を受信していなければ、ステート管理部２５１は、管理解除の通知を受信する時刻Ｔ２６まで信号ＥＲＲ２＿ＳＥＮＤのアサート状態を維持する。
【００５６】
エラーメッセージ送信部２６は、エラーＥＲＲ３に対応するエラーメッセージの送信が完了すると、時刻Ｔ２３において、信号ＡＣＫをアサートして送信完了をリクエスト情報生成部２５７に通知する（図７（ｌ））。信号ＡＣＫを受けたリクエスト情報生成部２５７は、ステート管理部２５１にエラーメッセージ送信完了を通知する。
【００５７】
エラーメッセージ送信完了の通知を受けたステート管理部２５１は、送信状態を“Ｓ２”から“Ｓ３”に変更する（図７（ｊ））。また、このときまでに送信情報管理部２５５からエラーＥＲＲ３の管理解除の通知を受信していると、時刻Ｔ２４において、信号ＥＲＲ３＿ＳＥＮＤをディアサートする（図７（ｉ））。エラーメッセージの送信完了までに送信情報管理部２５５からエラーＥＲＲ３の管理解除の通知を受信していなければ、ステート管理部２５１は、管理解除の通知を受信する時刻Ｔ２７まで信号ＥＲＲ３＿ＳＥＮＤのアサート状態を維持する。信号ＥＲＲ１＿ＳＥＮＤ〜ＥＲＲ３＿ＳＥＮＤの全てがディアサートされると、インタフェース制御回路２０のエラー制御は、初期状態に戻る。
【００５８】
このように、インタフェース制御回路２０は、エラーを検出すると、対向する制御装置１８に確実にエラー検出した旨を通知することができる。さらに、エラーメッセージを送信した後に同じエラーが検出された場合、図８に示されるように、そのエラーメッセージの送信をマスクすることが可能である。
【００５９】
図８は、図６に示されるシーケンスにおいて、エラーＥＲＲ１がエラーメッセージ送信直後に検出された動作状態を示している。したがって、時刻Ｔ１〜Ｔ６の動作は、図６と同じである。図８の場合、時刻Ｔ１に検出されたエラーＥＲＲ１のエラーメッセージが送信された後、送信情報管理部２５５はその送信情報を時刻Ｔ８まで破棄せずに管理している。したがって、信号ＥＲＲ１＿ＳＥＮＤは、時刻Ｔ７までアサート状態になっている（図８（ｃ））。
【００６０】
時刻Ｔ７までの期間に含まれる時刻Ｔ８において、先に検出されたエラーＥＲＲ１と同じエラーＥＲＲ１が検出されたとする（図８（ａ））。その場合、先に検出されたエラーＥＲＲ１の送信がなければ、図８（ｂ）に破線で示されるように、時刻Ｔ９において、信号ＥＲＲ１＿ＲＥＱがアサートされ、エラーメッセージ送信のシーケンスが実行される。しかし、図８の場合、信号ＥＲＲ１＿ＳＥＮＤが時刻Ｔ７までアサート状態であるため、その後のシーケンスは実行されない（図８（ｄ）〜（ｆ））。このように、通常は、検出された３種類のエラーに対するエラーメッセージは全て送信されるが、短期間の同一メッセージ送信を抑制したい場合等には、エラーメッセージ送信要求制御部２５で抑制することも可能となる。この抑制する期間は、エラーの種類に応じて異なることが好ましい。
【００６１】
以上、本実施の形態では、エラーの種類を３種類として説明したが、３種類に限定されることはない。また、ここでは説明されなかったが、インタフェース制御回路２０において検出されたエラー内容やエラーメッセージの送信状況は、ＣＰＵ１２に通知されてもよい。
【００６２】
このように、高速シリアルバス２１上で検出されたエラーを３種類に分類して制御装置１８へエラーメッセージ送信を行い、その送信制御をエラーメッセージ送信要求制御部２５が行うため、複数のエラーが同時に検出されても、回路規模を拡大することなく、対向側（制御装置１８）に確実にエラー検出した旨を通知できる。また、送信したエラーメッセージの情報を保持するため、対向側に対して既に通知済みと同様のエラーを再検出した場合に再度そのエラー情報の通知を抑制することができ、その抑制期間を設定することも可能となる。
【図面の簡単な説明】
【００６３】
【図１】関連する情報処理装置の構成を示す図である。
【図２】本発明の実施の形態に係る情報処理装置の構成を示す図である。
【図３】本発明の実施の形態に係るインタフェース制御回路の構成を示す図である。
【図４】本発明の実施の形態に係るエラー選択部の構成を示す図である。
【図５】本発明の実施の形態に係るエラーメッセージ送信要求制御部の構成を示す図である。
【図６】本発明の実施の形態に係るインタフェース制御回路の動作を説明する図である。
【図７】本発明の実施の形態に係るインタフェース制御回路の他の動作を説明する図である。
【図８】本発明の実施の形態に係るインタフェース制御回路の他の動作を説明する図である。
【符号の説明】
【００６４】
１０  情報処理装置
１２  ＣＰＵ
１４  メモリ
１８  制御装置
２０  インタフェース制御装置
２１  高速シリアルバス
２３  ＴＬＰ検出部
２４  エラー選択部
２５  エラーメッセージ送信要求制御部
２６  エラーメッセージ送信部
２７  エラーメッセージ送信情報保持部
２８  エラー選別用レジスタ
１００  中央処理装置
１０１、１０２  アドレスレジスタ
１０３  アドレス選択指示フラグ
１０４  データレジスタ
１０５  書き込み指示フラグ
１０６  制御記憶
１０７  エラー検出回路
１０８  タイミング回路
１０９、１１０  エラー検出フラグ
１１２  セレクタ
１２０  障害処理装置
１３０  磁気ディスク装置
２４３  エラーチェック部
２４５  エラー選定部
２５１  ステート管理部
２５３  送信要求情報管理部
２５５  送信情報管理部
２５７  リクエスト情報生成部
【図１】
0004947722.tif 000002
【図２】
0004947722.tif 000003
【図３】
0004947722.tif 000004
【図４】
0004947722.tif 000005
【図５】
0004947722.tif 000006
【図６】
0004947722.tif 000007
【図７】
0004947722.tif 000008
【図８】
0004947722.tif 000009