(57)【要約】【課題】  PCIバスシステム等のバスシステムにおいて、異常デバイスが発生したとき、正常動作しているデバイスに対する影響がなるべく小さくなるようにしながら、異常デバイスに対する再立ち上げを迅速に行えるようにする。【解決手段】  PCIデバイス1に異常が発生すると、CPU4は、ホストブリッジ3に対して、マスク指示を出力する。これにより、ホストブリッジ3は、PCIデバイス1,2からのバスリクエスト信号REQ31,REQ32をマスクする。これにより、PCIデバイス1,2は新たなトランザクションを発行できなくなる。その後、CPU4は未完了のトランザクションが無いことを条件にして、リセット指示をホストブリッジ3に出力する。これにより、ホストブリッジ3は異常PCIデバイス1へリセット信号RST11を出力すると共に、PCIバス10にバス特性情報を出力する。PCIデバイス1はリセット解除時にバス特性情報を取り込む。【選択図】      図１
2005122337.tif 000002
【特許請求の範囲】
【請求項１】
バス上に複数のデバイスが接続されたバスシステムにおいて、
前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスから既に発行されているトランザクションを処理する場合を除き、正常動作しているデバイスによる前記バスの利用を抑止し、その後、未完了のトランザクションがないことを条件にして、前記異常の発生したデバイスに対してリセットを実施すると共に前記バスに対してバス特性情報を出力し、リセット解除時に前記異常の発生したデバイスにバス特性情報を取り込ませる構成を有することを特徴とするバスシステム。
【請求項２】
バス上に複数のデバイスとホストブリッジとが接続されたバスシステムにおいて、
前記ホストブリッジが、前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからのバスリクエストをマスクし、その後、未完了のトランザクションがないことを条件にして、前記異常の発生したデバイスに対してリセットを実施すると共に前記バスに対してバス特性情報を出力する構成を有し、
前記各デバイスが、リセット解除時に、前記バス上のバス特性情報を取り込む構成を有することを特徴とするバスシステム。
【請求項３】
請求項２記載のバスシステムにおいて、
前記ホストブリッジが、
前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからバスアービターへのバスリクエストをマスクするマスク手段と、
自ホストブリッジ内に未完了のトランザクションがないことを条件にして、前記異常の発生したデバイスに対するリセットを実施するリセット手段と、
該リセット手段によるリセット時に、前記バスに対してバス特性情報を出力するバス特性情報出力手段とを備えたことを特徴とするバスシステム。
【請求項４】
請求項３記載のバスシステムにおいて、
前記ホストブリッジが、前記各デバイスから自ホストブリッジに対して発行されたトランザクションを保持するリクエストキューを備え、且つ、
前記リセット手段が、前記リクエストキューに未完了のトランザクションが保持されていないことを条件にして、前記異常の発生したデバイスに対するリセットを実施する構成を有することを特徴とするバスシステム。
【請求項５】
バス上に複数のデバイスとホストブリッジとが接続されたバスシステムにおいて、
前記ホストブリッジが、前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからのバスリクエストをマスクし、その後、未完了のトランザクションがないか、或いは未完了のトランザクションが前記障害の発生したデバイスを発行元とするトランザクションだけであることを条件にして、前記異常の発生したデバイスに対してリセットを実施すると共に前記バスに対してバス特性情報を出力する構成を有し、
前記各デバイスが、リセット解除時に、前記バス上のバス特性情報を取り込む構成を有することを特徴とするバスシステム。
【請求項６】
請求項５記載のバスシステムにおいて、
前記ホストブリッジが、
前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからバスアービターへのバスリクエストをマスクするマスク手段と、
自ホストブリッジ内に未完了のトランザクションがないか、或いは未完了のトランザクションが前記障害の発生したデバイスを発行元とするトランザクションだけであることを条件にして、前記異常の発生したデバイスに対するリセットを実施するリセット手段と、
該リセット手段によるリセット時に、前記バスに対してバス特性情報を出力するバス特性情報出力手段とを備えたことを特徴とするバスシステム。
【請求項７】
請求項６記載のバスシステムにおいて、
前記ホストブリッジが、前記各デバイスから自ホストブリッジに対して発行されたトランザクションとそのトランザクションの発行元のデバイスの識別子とを対応付けて保持するリクエストキューを備え、且つ、
前記リセット手段が、前記リクエストキューに未完了のトランザクションが保持されていないか、或いは保持されている未完了のトランザクションが前記異常が発生したデバイスから発行されたトランザクションのみであることを条件にして、前記異常の発生したデバイスに対するリセットを実施する構成を有することを特徴とするバスシステム。
【請求項８】
バス上に複数のデバイスとホストブリッジとが接続されたバスシステムにおいて、
前記ホストブリッジが、前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからの新たなトランザクションの発行を抑止し、その後、未完了のトランザクションがないことを条件にして、前記異常の発生したデバイスに対してリセットを実施すると共に前記バスにバス特性情報を出力する構成を有し、
前記各デバイスが、リセット解除時に、前記バス上のバス特性情報を取り込む構成を有することを特徴とするバスシステム。
【請求項９】
バス上のバス特性情報をリセット解除時に取り込むデバイスが複数接続されたバスに接続されるホストブリッジであって、
前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからのバスリクエストをマスクし、その後、未完了のトランザクションがないことを条件にして、前記異常の発生したデバイスに対してリセットを実施すると共に前記バスに対してバス特性情報を出力する構成を有することを特徴とするホストブリッジ。
【請求項１０】
請求項９記載のホストブリッジにおいて、
前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからバスアービターへのバスリクエストをマスクするマスク手段と、
自ホストブリッジ内に未完了のトランザクションがないことを条件にして、前記異常の発生したデバイスに対するリセットを実施するリセット手段と、
該リセット手段によるリセット時に、前記バスに対してバス特性情報を出力するバス特性情報出力手段とを備えたことを特徴とするホストブリッジ。
【請求項１１】
請求項１０記載のホストブリッジにおいて、
前記各デバイスから自ホストブリッジに対して発行されたトランザクションを保持するリクエストキューを備え、且つ、
前記リセット手段が、前記リクエストキューに未完了のトランザクションが保持されていないことを条件にして、前記異常の発生したデバイスに対するリセットを実施する構成を有することを特徴とするホストブリッジ。
【請求項１２】
バス上のバス特性情報をリセット解除時に取り込むデバイスが複数接続されたバスに接続されるホストブリッジであって、
前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからのバスリクエストをマスクし、その後、未完了のトランザクションがないか、或いは未完了のトランザクションが前記障害の発生したデバイスを発行元とするトランザクションだけであることを条件にして、前記異常の発生したデバイスに対してリセットを実施すると共に前記バスに対してバス特性情報を出力する構成を有することを特徴とするホストブリッジ。
【請求項１３】
請求項１２記載のホストブリッジにおいて、
前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからバスアービターへのバスリクエストをマスクするマスク手段と、
自ホストブリッジ内に未完了のトランザクションがないか、或いは未完了のトランザクションが前記障害の発生したデバイスを発行元とするトランザクションだけであることを条件にして、前記異常の発生したデバイスに対するリセットを実施するリセット手段と、
該リセット手段によるリセット時に、前記バスに対してバス特性情報を出力するバス特性情報出力手段とを備えたことを特徴とするホストブリッジ。
【請求項１４】
請求項１３記載のホストブリッジにおいて、
前記各デバイスから自ホストブリッジに対して発行されたトランザクションとそのトランザクションの発行元のデバイスの識別子とを対応付けて保持するリクエストキューを備え、且つ、
前記リセット手段が、前記リクエストキューに未完了のトランザクションが保持されていないか、或いは保持されている未完了のトランザクションが前記異常が発生したデバイスから発行されたトランザクションのみであることを条件にして、前記異常の発生したデバイスに対するリセットを実施する構成を有することを特徴とするホストブリッジ。
【請求項１５】
バス上のバス特性情報をリセット解除時に取り込むデバイスが複数接続されたバスに接続されるホストブリッジであって、
前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからの新たなトランザクションの発行を抑止し、その後、未完了のトランザクションがないことを条件にして、前記異常の発生したデバイスに対してリセットを実施すると共に前記バスにバス特性情報を出力する構成を有することを特徴とするホストブリッジ。
【請求項１６】
バス上に複数のデバイスが接続されたバスシステムにおいて、
前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスから既に発行されているトランザクションを処理する場合を除き、正常動作しているデバイスによる前記バスの利用を抑止し、その後、未完了のトランザクションがないことを条件にして、前記異常の発生したデバイスに対してリセットを実施すると共に前記バスに対してバス特性情報を出力し、リセット解除時に前記異常の発生したデバイスにバス特性情報を取り込ませることを特徴とするバスシステムのオンライン再立ち上げ方法。
【請求項１７】
バス上に複数のデバイスとホストブリッジとが接続されたバスシステムにおいて、
前記ホストブリッジが、前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからのバスリクエストをマスクし、その後、未完了のトランザクションがないことを条件にして、前記異常の発生したデバイスに対してリセットを実施すると共に前記バスに対してバス特性情報を出力し、
前記各デバイスが、リセット解除時に、前記バス上のバス特性情報を取り込むことを特徴とするバスシステムのオンライン再立ち上げ方法。
【請求項１８】
請求項１７記載のバスシステムのオンライン再立ち上げ方法において、
前記ホストブリッジが、
前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからバスアービターへのバスリクエストをマスクするマスクステップと、
自ホストブリッジ内に未完了のトランザクションがないことを条件にして、前記異常の発生したデバイスに対するリセットを実施するリセットステップと、
該リセットステップによるリセット実施時に、前記バスに対してバス特性情報を出力するバス特性情報出力ステップとを実施することを特徴とするバスシステムのオンライン再立ち上げ方法。
【請求項１９】
請求項１８記載のバスシステムのオンライン再立ち上げ方法において、
前記ホストブリッジが、前記各デバイスから自ホストブリッジに対して発行されたトランザクションを保持するリクエストキューを備え、且つ、
前記リセットステップにおいては、前記リクエストキューに未完了のトランザクションが保持されていないことを条件にして、前記異常の発生したデバイスに対するリセットを実施することを特徴とするバスシステムのオンライン再立ち上げ方法。
【請求項２０】
バス上に複数のデバイスとホストブリッジとが接続されたバスシステムにおいて、
前記ホストブリッジが、前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからのバスリクエストをマスクし、その後、未完了のトランザクションがないか、或いは未完了のトランザクションが前記障害の発生したデバイスを発行元とするトランザクションだけであることを条件にして、前記異常の発生したデバイスに対してリセットを実施すると共に前記バスに対してバス特性情報を出力し、
前記各デバイスが、リセット解除時に、前記バス上のバス特性情報を取り込むことを特徴とするバスシステムのオンライン再立ち上げ方法。
【請求項２１】
請求項２０記載のバスシステムのオンライン再立ち上げ方法において、
前記ホストブリッジが、
前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからバスアービターへのバスリクエストをマスクするマスクステップと、
自ホストブリッジ内に未完了のトランザクションがないか、或いは未完了のトランザクションが前記障害の発生したデバイスを発行元とするトランザクションだけであることを条件にして、前記異常の発生したデバイスに対するリセットを実施するリセットステップと、
該リセットステップによるリセット実施時に、前記バスに対してバス特性情報を出力するバス特性情報出力ステップとを行うことを特徴とするバスシステムのオンライン再立ち上げ方法。
【請求項２２】
請求項２１記載のバスシステムのオンライン再立ち上げ方法において、
前記ホストブリッジが、前記各デバイスから自ホストブリッジに対して発行されたトランザクションとそのトランザクションの発行元のデバイスの識別子とを対応付けて保持するリクエストキューを備え、且つ、
前記リセットステップにおいて、前記リクエストキューに未完了のトランザクションが保持されていないか、或いは保持されている未完了のトランザクションが前記異常が発生したデバイスから発行されたトランザクションのみであることを条件にして、前記異常の発生したデバイスに対するリセットを実施することを特徴とするバスシステムのオンライン再立ち上げ方法。
【請求項２３】
バス上に複数のデバイスとホストブリッジとが接続されたバスシステムにおいて、
前記ホストブリッジが、前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからの新たなトランザクションの発行を抑止し、その後、未完了のトランザクションがないことを条件にして、前記異常の発生したデバイスに対してリセットを実施すると共に前記バスにバス特性情報を出力し、
前記各デバイスが、リセット解除時に、前記バス上のバス特性情報を取り込むことを特徴とするバスシステムのオンライン再立ち上げ方法。
【請求項２４】
バス上に複数のデバイスとホストブリッジとが接続され、
前記ホストブリッジが、
デバイス制御手段からのマスク指示に従って前記各デバイスからバスアービターへのバスリクエストをマスクするマスク手段と、
前記デバイス制御手段からのリセット指示に従って前記異常の発生したデバイスに対するリセットを実施するリセット手段と、
該リセット手段によるリセット時に、バス特性情報を前記バスに出力するバス特性情報出力手段とを備え、
前記各デバイスが、リセット解除時に、前記バス上のバス特性情報を取り込む構成を有するバスシステムの構成要素である前記デバイス制御手段の処理を、コンピュータに実行させるためのプログラムであって、
前記コンピュータに、
前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記マスク手段に対してマスク指示を出力するマスクステップと、
該マスクステップの実行後、前記ホストブリッジ内に未完了のトランザクションがないことを条件にして、前記リセット手段に対してリセット指示を出力するリセットステップとを実行させることを特徴とするプログラム。
【請求項２５】
バス上に複数のデバイスとホストブリッジとが接続され、
前記ホストブリッジが、
デバイス制御手段からのマスク指示に従って前記各デバイスからバスアービターへのバスリクエストをマスクするマスク手段と、
前記デバイス制御手段からのリセット指示に従って前記異常の発生したデバイスに対するリセットを実施するリセット手段と、
該リセット手段によるリセット時に、バス特性情報を前記バスに出力するバス特性情報出力手段とを備え、
前記各デバイスが、リセット解除時に、前記バス上のバス特性情報を取り込む構成を有するバスシステムの構成要素である前記デバイス制御手段の処理を、コンピュータに実行させるためのプログラムであって、
前記コンピュータに、
前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記マスク手段に対してマスク指示を出力するマスクステップと、
該マスクステップの実行後、未完了のトランザクションがないか、或いは未完了のトランザクションが前記障害の発生したデバイスを発行元とするトランザクションだけであることを条件にして、前記リセット手段に対してリセット指示を出力するリセットステップとを実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＰＣＩ或いはＰＣＩ−Ｘ仕様に準拠したＰＣＩバスシステム或いはＰＣＩ−Ｘバスシステムに関し、特に正常に動作しているデバイスへの影響を最小限に抑えながら被疑対象のデバイスのリセット及び再立ち上げを可能にするバスシステムに関する。
【背景技術】
【０００２】
近年、コンピュータの周辺装置バスとして高速なデータ転送が可能なＰＣＩバスが一般的に利用されるようになってきている。しかし、従来の一般的なＰＣＩバスシステムは、ＰＣＩバスに接続されている全てのＰＣＩデバイスに対して共通のリセット信号が１本しか用意されておらず、このため、異常の発生したデバイス等の、特定のＰＣＩデバイスだけをリセットし、再立ち上げすることができないという問題があった。
【０００３】
このような問題点を解決するため、従来から図７に示すようなＰＣＩバスシステムが提案されている（例えば、特許文献１参照）。
【０００４】
図７を参照すると、従来のＰＣＩバスシステムは、複数台のＰＣＩデバイス１、２と、ホストブリッジ３ａとがＰＣＩバス１０に接続され、更に、ホストブリッジ３ａにＣＰＵ４ａが接続された構成を有している。
【０００５】
ホストブリッジ３ａ内には、ＰＣＩデバイス１、２に対するリセット信号ＲＳＴ１１、ＲＳＴ１２を出力するリセット信号生成回路３１ａ、３２ａが設けられている。リセット信号生成回路３１ａ、３２ａは、それぞれＰＣＩバス１０上にＰＣＩデバイス１、２のアドレスが出力されている時にバスサイクルが異常終了すると、リセット信号ＲＳＴ１１、ＲＳＴ１２を出力する。例えば、ＣＰＵ４ａがホストブリッジ３ａ及びＰＣＩバス１０を介してＰＣＩデバイス２をアクセスしている時にＰＣＩデバイス２に異常が発生し、バスサイクルが異常終了すると、ＰＣＩバス１０上にはＰＣＩデバイス２のアドレスが出力されているので、リセット信号生成回路３２ａがリセット信号ＲＳＴ１２を出力し、ＰＣＩデバイス２をリセットすることになる。このように、特許文献１に記載されている従来の技術によれば、特定のＰＣＩデバイスだけを選択的にリセットすることが可能になる。
【０００６】
また、これ以外にも、ＰＣＩデバイスをリセットする従来の技術として次のような技術も知られている（例えば、特許文献２参照）。図８、図９は、それぞれ特許文献２に記載されているＰＣＩバスシステムを説明するためのブロック図、フローチャートである。
【０００７】
図８のブロック図を参照すると、特許文献２に記載されているＰＣＩバスシステムは、複数台のＰＣＩデバイス１、２と、それらのコンフィギュレーション、エラー処理等を司るホストブリッジ３ｂとが同一ＰＣＩバス１０に接続され、更に、ホストブリッジ３ｂにＣＰＵ４ａ及びメモリ５が接続されている。また、ＰＣＩデバイス１、２に対してはそれぞれ個別のリセット信号ＲＳＴ１１、ＲＳＴ１２が用意され、個別にリセットできるようになっている。
【０００８】
図９のフローチャートを参照すると、ホストブリッジ３ｂ上で動作するＰＣＩコンフィギュレーションプログラム（図示せず）は、パワーオンリセット解除を契機にし、ＰＣＩデバイス１、２の内の未処理のＰＣＩデバイス（例えば、ＰＣＩデバイス１）を対象にしてコンフィギュレーションを実施する（ステップ２００）。その後、ＰＣＩデバイス１に対するコンフィギュレーションが正常終了したか否かを判定する（ステップ２０１）。
【０００９】
そして、コンフィギュレーションが異常終了した場合（ステップ２０１がＹ）は、リセット信号ＲＳＴ１１、ＲＳＴ１２を出力し、全てのＰＣＩデバイス１、２をリセットする（ステップ２０２）。その後、異常のあったＰＣＩデバイスをＰＣＩバス１０から切り離し（ステップ２０４）、再び、ステップ２００の処理を行う。このとき、ＰＣＩバス１０から切り離されたＰＣＩデバイスは、コンフィギュレーションの対象から外される。
【００１０】
これに対して、コンフィギュレーションが正常終了した場合（ステップ２０１がＮ）は、切り離されたＰＣＩデバイスを除く全てのＰＣＩデバイスに対するコンフィギュレーションが完了しているか否かを判定する（ステップ２０３）。そして、コンフィギュレーションが完了していないＰＣＩデバイスが存在する場合（ステップ２０３がＮ）は、再び、ステップ２００の処理を行う。そして、切り離されていない全てのＰＣＩデバイスに対してコンフィギュレーションを実施すると（ステップ２０３がＹ）、次の処理を行う。
【特許文献１】特開２０００−２５９５０７号公報
【特許文献２】特開２００２−２８８０４９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
ところで、異常の発生したＰＣＩデバイスを選択的にリセットし、その後、再立ち上げするためには、リセット時にホストブリッジからＰＣＩバスに現在のバス特性情報（ＰＣＩバスのバス幅、動作周波数など）を出力し、リセット解除時に、ＰＣＩデバイスにバス特性情報を取り込ませなければならない。しかしながら、上述した特許文献１、２に記載されている従来の技術では、この点が全く考慮されていない。
【００１２】
この点を考慮すると、異常の発生したＰＣＩデバイスを選択的にリセットし、その後、再立ち上げするためには、以下に述べるような課題が生じる。
【００１３】
異常の発生したＰＣＩデバイスを再立ち上げする際には、ＰＣＩデバイスの再立ち上げを迅速に行えること、及び正常に動作しているＰＣＩデバイスに与える影響を最小限に抑えることが重要である。
【００１４】
ところで、上述したように、異常の発生したＰＣＩデバイスをリセットし、再立ち上げするためには、リセット時にＰＣＩバスにバス特性情報を出力することが必要になる。このため、異常発生時にＰＣＩバスが正常なＰＣＩデバイスによって利用されていなければ、直ちに異常発生ＰＣＩデバイスに対するリセットを実施することができるが、正常なＰＣＩデバイスによってＰＣＩバスが使用されている場合は、異常発生ＰＣＩデバイスに対するリセットを実施することはできない。このような場合、最も速やかにリセットを実施するには、現在ＰＣＩバスの使用権を得ている正常なＰＣＩデバイスがＰＣＩバスを解放したタイミングで、ホストブリッジがＰＣＩバスの使用権を得て異常発生ＰＣＩデバイスに対するリセット動作を行えば良い。
【００１５】
しかし、このようにすると、正常なＰＣＩデバイスに与える影響が大きなものになってしまう場合がある。即ち、ホストブリッジでは、各ＰＣＩデバイスから自ホストブリッジに対して発行されたトランザクションをリクエストキューにスタックし、スタック順にトランザクションを処理している。従って、上述したようにすると、リクエストキューにトランザクションがスタックされている場合、既に発行済みのトランザクションに対する処理が待たされることになり、そのトランザクションを発行した正常なＰＣＩデバイスに悪影響を与えることになってしまう。
【００１６】
一方、正常動作しているＰＣＩデバイスに対する影響を最小限に抑えるためには、異常発生後にＰＣＩデバイスから発行されたトランザクションもリクエストキューにスタックするようにし、リクエストキュー中に処理が未完了のトランザクションがなくなったタイミングで、異常発生ＰＣＩデバイスに対するリセット動作を行うようにすれば良い。しかし、このようにすると、正常なＰＣＩデバイスからトランザクションが絶え間なく発行された場合、異常発生ＰＣＩデバイスに対するリセット動作を迅速に行うことができなくなってしまう。
【００１７】
〔発明の目的〕
そこで、本発明の目的は、異常デバイスが発生したとき、正常動作しているデバイスに対する影響がなるべく小さくなるようにしながら、異常デバイスに対する再立ち上げを迅速に行えるようにすることにある。
【課題を解決するための手段】
【００１８】
本発明にかかる第１のバスシステムは、異常デバイスが発生したとき、正常動作しているデバイスに対する影響がなるべく小さくなるようにしながら、異常デバイスに対する再立ち上げを迅速に行えるようにするため、
バス上に複数のデバイスが接続されたバスシステムにおいて、
前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスから既に発行されているトランザクションを処理する場合を除き、正常動作しているデバイスによる前記バスの利用を抑止し、その後、未完了のトランザクションがないことを条件にして、前記異常の発生したデバイスに対してリセットを実施すると共に前記バスに対してバス特性情報を出力し、リセット解除時に前記異常の発生したデバイスにバス特性情報を取り込ませる構成を有することを特徴とする。
【００１９】
この構成によれば、異常発生時に既に発行されていた未処理のトランザクションに対する処理が全て完了した後、異常デバイスに対するリセット動作（バス特性情報をバスに出力する処理も含む）が行われるので、正常動作しているデバイスに対する影響を少ないものにすることができる。また、異常発生時に、正常動作しているデバイスによるバスの利用を抑止しているので、異常発生後に新たなトランザクションが発行されることがなく、その結果、異常デバイスに対するリセット動作を迅速に行うことができる。
【００２０】
また、本発明にかかる第２のバスシステムは、簡単な構成で上記した目的を達成できるようにするため、
バス上に複数のデバイスとホストブリッジとが接続されたバスシステムにおいて、
前記ホストブリッジが、前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからのバスリクエストをマスクし、その後、未完了のトランザクションがないことを条件にして、前記異常の発生したデバイスに対してリセットを実施すると共に前記バスに対してバス特性情報を出力する構成を有し、
前記各デバイスが、リセット解除時に、前記バス上のバス特性情報を取り込む構成を有することを特徴とする。
【００２１】
より具体的には、本発明にかかる第３のバスシステムは、第２のバスシステムにおいて、
前記ホストブリッジが、
前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからバスアービターへのバスリクエストをマスクするマスク手段と、
自ホストブリッジ内に未完了のトランザクションがないことを条件にして、前記異常の発生したデバイスに対するリセットを実施するリセット手段と、
該リセット手段によるリセット時に、前記バスに対してバス特性情報を出力するバス特性情報出力手段とを備えたことを特徴とする。
【００２２】
また、本発明にかかる第４のバスシステムは、未完了のトランザクションを容易に認識できるようにするため、第３のバスシステムにおいて、
前記ホストブリッジが、前記各デバイスから自ホストブリッジに対して発行されたトランザクションを保持するリクエストキューを備え、且つ、
前記リセット手段が、前記リクエストキューに未完了のトランザクションが保持されていないことを条件にして、前記異常の発生したデバイスに対するリセットを実施する構成を有することを特徴とする。
【００２３】
また、本発明にかかる第５のバスシステムは、異常の発生したデバイスの再立ち上げを第２のバスシステムよりも迅速に行えるようにするため、
バス上に複数のデバイスとホストブリッジとが接続されたバスシステムにおいて、
前記ホストブリッジが、前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからのバスリクエストをマスクし、その後、未完了のトランザクションがないか、或いは未完了のトランザクションが前記障害の発生したデバイスを発行元とするトランザクションだけであることを条件にして、前記異常の発生したデバイスに対してリセットを実施すると共に前記バスに対してバス特性情報を出力する構成を有し、
前記各デバイスが、リセット解除時に、前記バス上のバス特性情報を取り込む構成を有する。
【００２４】
より具体的には、本発明にかかる第６のバスシステムは、第５のバスシステムにおいて、
前記ホストブリッジが、
前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからバスアービターへのバスリクエストをマスクするマスク手段と、
自ホストブリッジ内に未完了のトランザクションがないか、或いは未完了のトランザクションが前記障害の発生したデバイスを発行元とするトランザクションだけであることを条件にして、前記異常の発生したデバイスに対するリセットを実施するリセット手段と、
該リセット手段によるリセット時に、前記バスに対してバス特性情報を出力するバス特性情報出力手段とを備えたことを特徴とする。
【００２５】
また、本発明にかかる第７のバスシステムは、未完了のトランザクションや、異常デバイスが発行した未完了のトランザクションを容易且つ確実に確認できるようにするため、第６のバスシステムにおいて、
前記ホストブリッジが、前記各デバイスから自ホストブリッジに対して発行されたトランザクションとそのトランザクションの発行元のデバイスの識別子とを対応付けて保持するリクエストキューを備え、且つ、
前記リセット手段が、前記リクエストキューに未完了のトランザクションが保持されていないか、或いは保持されている未完了のトランザクションが前記異常が発生したデバイスから発行されたトランザクションのみであることを条件にして、前記異常の発生したデバイスに対するリセットを実施する構成を有することを特徴とする。
【００２６】
また、本発明にかかる第８のバスシステムは、異常デバイスが発生したとき、正常動作しているデバイスに対する影響がなるべく小さくなるようにしながら、異常デバイスに対する再立ち上げを迅速に行えるようにするため、
バス上に複数のデバイスとホストブリッジとが接続されたバスシステムにおいて、
前記ホストブリッジが、前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからの新たなトランザクションの発行を抑止し、その後、未完了のトランザクションがないことを条件にして、前記異常の発生したデバイスに対してリセットを実施すると共に前記バスにバス特性情報を出力する構成を有し、
前記各デバイスが、リセット解除時に、前記バス上のバス特性情報を取り込む構成を有する。
【００２７】
本発明にかかる第１のホストブリッジは、異常デバイスが発生したとき、正常動作しているデバイスに対する影響がなるべく小さくなるようにしながら、異常デバイスに対する再立ち上げを迅速に行えるようにするため、
バス上のバス特性情報をリセット解除時に取り込むデバイスが複数接続されたバスに接続されるホストブリッジであって、
前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからのバスリクエストをマスクし、その後、未完了のトランザクションがないことを条件にして、前記異常の発生したデバイスに対してリセットを実施すると共に前記バスに対してバス特性情報を出力する構成を有する。
【００２８】
より具体的には、本発明にかかる第２のホストブリッジは、第１のホストブリッジにおいて、
前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからバスアービターへのバスリクエストをマスクするマスク手段と、
自ホストブリッジ内に未完了のトランザクションがないことを条件にして、前記異常の発生したデバイスに対するリセットを実施するリセット手段と、
該リセット手段によるリセット時に、前記バスに対してバス特性情報を出力するバス特性情報出力手段とを備えたことを特徴とする。
【００２９】
また、本発明にかかる第３のホストブリッジは、未完了のトランザクションがないことを容易に認識できるようにするため、第２のホストブリッジにおいて、
前記各デバイスから自ホストブリッジに対して発行されたトランザクションを保持するリクエストキューを備え、且つ、
前記リセット手段が、前記リクエストキューに未完了のトランザクションが保持されていないことを条件にして、前記異常の発生したデバイスに対するリセットを実施する構成を有することを特徴とする。
【００３０】
また、本発明にかかる第４のホストブリッジは、異常の発生したデバイスの再立ち上げを第１のホストブリッジよりも迅速に行えるようにするため、
バス上のバス特性情報をリセット解除時に取り込むデバイスが複数接続されたバスに接続されるホストブリッジであって、
前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからのバスリクエストをマスクし、その後、未完了のトランザクションがないか、或いは未完了のトランザクションが前記障害の発生したデバイスを発行元とするトランザクションだけであることを条件にして、前記異常の発生したデバイスに対してリセットを実施すると共に前記バスに対してバス特性情報を出力する構成を有する。
【００３１】
より具体的には、本発明にかかる第５のホストブリッジは、第４のホストブリッジにおいて、
前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからバスアービターへのバスリクエストをマスクするマスク手段と、
自ホストブリッジ内に未完了のトランザクションがないか、或いは未完了のトランザクションが前記障害の発生したデバイスを発行元とするトランザクションだけであることを条件にして、前記異常の発生したデバイスに対するリセットを実施するリセット手段と、
該リセット手段によるリセット時に、前記バスに対してバス特性情報を出力するバス特性情報出力手段とを備えたことを特徴とする。
【００３２】
また、本発明にかかる第６のホストブリッジは、未完了のトランザクションや異常デバイスを発行元とする未完了のトランザクションを容易且つ確実に認識できるようにするため、第５のホストブリッジにおいて、
前記各デバイスから自ホストブリッジに対して発行されたトランザクションとそのトランザクションの発行元のデバイスの識別子とを対応付けて保持するリクエストキューを備え、且つ、
前記リセット手段が、前記リクエストキューに未完了のトランザクションが保持されていないか、或いは保持されている未完了のトランザクションが前記異常が発生したデバイスから発行されたトランザクションのみであることを条件にして、前記異常の発生したデバイスに対するリセットを実施する構成を有することを特徴とする。
【００３３】
また、本発明にかかる第７のホストブリッジは、異常デバイスが発生したとき、正常動作しているデバイスに対する影響がなるべく小さくなるようにしながら、異常デバイスに対する再立ち上げを迅速に行えるようにするため、
バス上のバス特性情報をリセット解除時に取り込むデバイスが複数接続されたバスに接続されるホストブリッジであって、
前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからの新たなトランザクションの発行を抑止し、その後、未完了のトランザクションがないことを条件にして、前記異常の発生したデバイスに対してリセットを実施すると共に前記バスにバス特性情報を出力する構成を有することを特徴とする。
【００３４】
また、本発明にかかる第１のバスシステムのオンライン再立ち上げ方法は、異常デバイスが発生したとき、正常動作しているデバイスに対する影響がなるべく小さくなるようにしながら、異常デバイスに対する再立ち上げを迅速に行えるようにするため、
バス上に複数のデバイスが接続されたバスシステムにおいて、
前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスから既に発行されているトランザクションを処理する場合を除き、正常動作しているデバイスによる前記バスの利用を抑止し、その後、未完了のトランザクションがないことを条件にして、前記異常の発生したデバイスに対してリセットを実施すると共に前記バスに対してバス特性情報を出力し、リセット解除時に前記異常の発生したデバイスにバス特性情報を取り込ませることを特徴とする。
【００３５】
また、本発明にかかる第２のバスシステムのオンライン再立ち上げ方法は、簡単な処理で上記目的を達成できるようにするため、
バス上に複数のデバイスとホストブリッジとが接続されたバスシステムにおいて、
前記ホストブリッジが、前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからのバスリクエストをマスクし、その後、未完了のトランザクションがないことを条件にして、前記異常の発生したデバイスに対してリセットを実施すると共に前記バスに対してバス特性情報を出力し、
前記各デバイスが、リセット解除時に、前記バス上のバス特性情報を取り込むことを特徴とする。
【００３６】
より具体的には、本発明にかかる第３のバスシステムのオンライン再立ち上げ方法は、第２のバスシステムのオンライン再立ち上げ方法において、
前記ホストブリッジが、
前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからバスアービターへのバスリクエストをマスクするマスクステップと、
自ホストブリッジ内に未完了のトランザクションがないことを条件にして、前記異常の発生したデバイスに対するリセットを実施するリセットステップと、
該リセットステップによるリセット実施時に、前記バスに対してバス特性情報を出力するバス特性情報出力ステップとを実施することを特徴とする。
【００３７】
また、本発明にかかる第４のバスシステムのオンライン再立ち上げ方法は、未完了のトランザクションを容易に認識できるようにするため、第３のバスシステムのオンライン再立ち上げ方法において、
前記ホストブリッジが、前記各デバイスから自ホストブリッジに対して発行されたトランザクションを保持するリクエストキューを備え、且つ、
前記リセットステップにおいては、前記リクエストキューに未完了のトランザクションが保持されていないことを条件にして、前記異常の発生したデバイスに対するリセットを実施することを特徴とする。
【００３８】
また、本発明にかかる第５のバスシステムのオンライン再立ち上げ方法は、第２のバスシステムのオンライン再立ち上げ方法よりも迅速に異常デバイスを再立ち上げできるようにするため、
バス上に複数のデバイスとホストブリッジとが接続されたバスシステムにおいて、
前記ホストブリッジが、前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからのバスリクエストをマスクし、その後、未完了のトランザクションがないか、或いは未完了のトランザクションが前記障害の発生したデバイスを発行元とするトランザクションだけであることを条件にして、前記異常の発生したデバイスに対してリセットを実施すると共に前記バスに対してバス特性情報を出力し、
前記各デバイスが、リセット解除時に、前記バス上のバス特性情報を取り込むことを特徴とする。
【００３９】
より具体的には、本発明にかかる第６のバスシステムのオンライン再立ち上げ方法は、第５のバスシステムのオンライン再立ち上げ方法において、
前記ホストブリッジが、
前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからバスアービターへのバスリクエストをマスクするマスクステップと、
自ホストブリッジ内に未完了のトランザクションがないか、或いは未完了のトランザクションが前記障害の発生したデバイスを発行元とするトランザクションだけであることを条件にして、前記異常の発生したデバイスに対するリセットを実施するリセットステップと、
該リセットステップによるリセット実施時に、前記バスに対してバス特性情報を出力するバス特性情報出力ステップとを行うことを特徴とする。
【００４０】
本発明にかかる第７のバスシステムのオンライン再立ち上げ方法は、未完了のトランザクションや異常デバイスを発行元とする未完了のトランザクションを容易且つ確実に認識できるようにするため、第６のバスシステムのオンライン再立ち上げ方法において、
前記ホストブリッジが、前記各デバイスから自ホストブリッジに対して発行されたトランザクションとそのトランザクションの発行元のデバイスの識別子とを対応付けて保持するリクエストキューを備え、且つ、
前記リセットステップにおいて、前記リクエストキューに未完了のトランザクションが保持されていないか、或いは保持されている未完了のトランザクションが前記異常が発生したデバイスから発行されたトランザクションのみであることを条件にして、前記異常の発生したデバイスに対するリセットを実施することを特徴とする。
【００４１】
また、本発明にかかる第８のバスシステムのオンライン再立ち上げ方法は、異常デバイスが発生したとき、正常動作しているデバイスに対する影響がなるべく小さくなるようにしながら、異常デバイスに対する再立ち上げを迅速に行えるようにするため、
バス上に複数のデバイスとホストブリッジとが接続されたバスシステムにおいて、
前記ホストブリッジが、前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからの新たなトランザクションの発行を抑止し、その後、未完了のトランザクションがないことを条件にして、前記異常の発生したデバイスに対してリセットを実施すると共に前記バスにバス特性情報を出力し、
前記各デバイスが、リセット解除時に、前記バス上のバス特性情報を取り込むことを特徴とする
【００４２】
本発明にかかる第１のプログラムは、異常デバイスが発生したとき、正常動作しているデバイスに対する影響がなるべく小さくなるようにしながら、異常デバイスに対する再立ち上げを迅速に行えるようにするため、
バス上に複数のデバイスとホストブリッジとが接続され、
前記ホストブリッジが、
デバイス制御手段からのマスク指示に従って前記各デバイスからバスアービターへのバスリクエストをマスクするマスク手段と、
前記デバイス制御手段からのリセット指示に従って前記異常の発生したデバイスに対するリセットを実施するリセット手段と、
該リセット手段によるリセット時に、バス特性情報を前記バスに出力するバス特性情報出力手段とを備え、
前記各デバイスが、リセット解除時に、前記バス上のバス特性情報を取り込む構成を有するバスシステムの構成要素である前記デバイス制御手段の処理を、コンピュータに実行させるためのプログラムであって、
前記コンピュータに、
前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記マスク手段に対してマスク指示を出力するマスクステップと、
該マスクステップの実行後、前記ホストブリッジ内に未完了のトランザクションがないことを条件にして、前記リセット手段に対してリセット指示を出力するリセットステップとを実行させることを特徴とする。
【００４３】
また、本発明にかかる第２のプログラムは、第１のプログラムよりも迅速に異常デバイスを再立ち上げできるようにするため、
バス上に複数のデバイスとホストブリッジとが接続され、
前記ホストブリッジが、
デバイス制御手段からのマスク指示に従って前記各デバイスからバスアービターへのバスリクエストをマスクするマスク手段と、
前記デバイス制御手段からのリセット指示に従って前記異常の発生したデバイスに対するリセットを実施するリセット手段と、
該リセット手段によるリセット時に、バス特性情報を前記バスに出力するバス特性情報出力手段とを備え、
前記各デバイスが、リセット解除時に、前記バス上のバス特性情報を取り込む構成を有するバスシステムの構成要素である前記デバイス制御手段の処理を、コンピュータに実行させるためのプログラムであって、
前記コンピュータに、
前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記マスク手段に対してマスク指示を出力するマスクステップと、
該マスクステップの実行後、未完了のトランザクションがないか、或いは未完了のトランザクションが前記障害の発生したデバイスを発行元とするトランザクションだけであることを条件にして、前記リセット手段に対してリセット指示を出力するリセットステップとを実行させることを特徴とする。
【発明の効果】
【００４４】
本発明にかかる第１のバスシステムは、異常デバイスが発生したとき、正常動作しているデバイスに対する影響がなるべく小さくなるようにしながら、異常デバイスに対する再立ち上げを迅速に行えるという効果を有する。
【００４５】
その理由は、異常デバイス発生時に、正常なデバイスによるバスの使用を抑止して、新たなトランザクションが正常なデバイスから発行されないようにし、その後、未完了のトランザクションがないことを条件にして異常デバイスに対するリセット（バスへのバス特性情報を出力する処理も含む）を行うからである。つまり、正常なデバイスは、異常発生前の既に発行しているトランザクションについては、何の遅れもなしに処理結果を得ることができ、異常デバイスは、異常発生時に未完了であったトランザクションが処理されたタイミングでリセットされるので、正常動作しているデバイスに対する影響を小さくし、且つ異常デバイスに対する再立ち上げを迅速に行うことが可能になる。
【００４６】
本発明にかかる第２のバスシステムは、簡単な構成で第１のバスシステムと同様の効果を得ることができる。
【００４７】
その理由は、各デバイスからのバスリクエストをマスクすることにより、新たなトランザクションが発行されないようにしているからである。
【００４８】
本発明にかかる第３のバスシステムは、簡単な構成で第１のバスシステムと同様の効果を得られる。
【００４９】
その理由は、マスク手段によって各デバイスからのバスリクエストをマスクすることにより、新たなトランザクションが発行されないようにしているからである。
【００５０】
本発明にかかる第４のバスシステムは、未完了のトランザクションを容易且つ確実に認識できるという効果を有する。
【００５１】
その理由は、各デバイスから発行されたトランザクションをリクエストキューで保持するようにしているからである。
【００５２】
本発明に第５のバスシステムは、異常の発生したデバイスの再立ち上げを第２のバスシステムよりも迅速に行えるという効果を有する。
【００５３】
その理由は、未完了のトランザクションがあっても、それが異常デバイスが発行したトランザクションである場合には、その完了を待たずにリセット処理を行うからである。
【００５４】
本発明にかかる第６のバスシステムは、簡単な構成で第５のバスシステムと同様の効果を得ることができる。
【００５５】
その理由は、マスク手段によって各デバイスからのバスリクエストをマスクすることにより、新たなトランザクションが発行されないようにしているからである。
【００５６】
本発明にかかる第７のバスシステムは、未完了のトランザクションや、異常デバイスから発行された未完了のトランザクションを容易且つ確実に確認できるという効果を有する。
【００５７】
その理由は、各デバイスから発行されたトランザクションとそのトランザクションの発行元のデバイスの識別子とを対応付けて保持するリクエストキューを備えているからである。
【００５８】
本発明にかかる第８のバスシステムは、異常デバイスが発生したとき、異常デバイスをなるべく迅速に再立ち上げできるようにすると共に、正常動作しているデバイスに対する影響をなるべく小さくできるという効果を有する。
【００５９】
その理由は、異常デバイスが発生したとき、各デバイスから新たなトランザクションが発行されないようにし、その後、未完了のトランザクションがないことを条件にして、異常デバイスに対するリセットを実施しているからである。
【００６０】
本発明にかかる第１のホストブリッジは、異常デバイスが発生したとき、正常動作しているデバイスに対する影響がなるべく小さくなるようにしながら、異常デバイスに対する再立ち上げを迅速に行えるという効果を有する。
【００６１】
その理由は、異常デバイス発生時に、正常なデバイスによるバスの使用を抑止して、新たなトランザクションが正常なデバイスから発行されないようにし、その後、未完了のトランザクションがないことを条件にして異常デバイスに対するリセットを実施するからである。
【００６２】
本発明にかかる第２のホストブリッジは、簡単な構成で第１のホストブリッジと同様の効果を得られる。
【００６３】
その理由は、マスク手段によって各デバイスからのバスリクエストをマスクすることにより、新たなトランザクションが発行されないようにしているからである。
【００６４】
本発明にかかる第３のホストブリッジは、未完了のトランザクションがないことを容易且つ確実に認識できるという効果を有する。
【００６５】
その理由は、各デバイスから発行されたトランザクションを保持するリクエストキューを備えているからである。
【００６６】
本発明にかかる第４のホストブリッジは、異常の発生したデバイスの再立ち上げを第１のホストブリッジよりも迅速に行えるという効果を有する。
【００６７】
その理由は、未完了のトランザクションがあっても、それが異常デバイスが発行したトランザクションである場合には、その完了を待たずにリセット処理を行うからである。
【００６８】
本発明にかかる第５のホストブリッジは、簡単な構成で第４のホストブリッジと同様の効果を得られる。
【００６９】
その理由は、マスク手段によって各デバイスからのバスリクエストをマスクすることにより、新たなトランザクションが発行されないようにしているからである。
【００７０】
本発明にかかる第６のホストブリッジは、未完了のトランザクションや異常デバイスを発行元とする未完了のトランザクションを容易且つ確実に認識できるという効果を有する。
【００７１】
その理由は、各デバイスから発行されたトランザクションとそのトランザクションの発行元のデバイスの識別子とを対応付けて保持するリクエストキューを備えているからである。
【００７２】
本発明にかかる第７のホストブリッジは、異常デバイスが発生したとき、異常デバイスをなるべく迅速に再立ち上げできるようにすると共に、正常動作しているデバイスに対する影響をなるべく小さくできるという効果を有する。
【００７３】
その理由は、異常デバイスが発生したとき、各デバイスから新たなトランザクションが発行されないようにし、その後、未完了のトランザクションがないことを条件にして、異常デバイスに対するリセットを実施しているからである。
【００７４】
本発明にかかる第１のバスシステムのオンライン再立ち上げ方法は、異常デバイスが発生したとき、正常動作しているデバイスに対する影響がなるべく小さくなるようにしながら、異常デバイスに対する再立ち上げを迅速に行えるという効果を有する。
【００７５】
その理由は、異常デバイス発生時に、正常なデバイスによるバスの使用を抑止して、新たなトランザクションが正常なデバイスから発行されないようにし、その後、未完了のトランザクションがないことを条件にして異常デバイスに対するリセット（バスへのバス特性情報を出力する処理も含む）を行うからである。
【００７６】
本発明にかかる第２のバスシステムのオンライン再立ち上げ方法は、簡単な処理で第１のバスシステムのオンライン再立ち上げ方法と同様の効果を得られる。
【００７７】
その理由は、各デバイスからのバスリクエストをマスクすることにより、新たなトランザクションが発行されないようにしているからである。
【００７８】
本発明にかかる第３のバスシステムのオンライン再立ち上げ方法は、簡単な処理で第１のバスシステムのオンライン再立ち上げ方法と同様の効果を得られる。
【００７９】
その理由は、各デバイスからバスアービターへのバスリクエストをマスクするマスクステップを含んでいるからである。
【００８０】
本発明にかかる第４のバスシステムのオンライン再立ち上げ方法は、未完了のトランザクションを容易且つ確実に認識できるという効果を有する。
【００８１】
その理由は、各デバイスから発行されたトランザクションを保持するリクエストキューを備えているからである。
【００８２】
本発明にかかる第５のバスシステムのオンライン再立ち上げ方法は、第２のバスシステムのオンライン再立ち上げ方法よりも迅速に異常デバイスを再立ち上げできるという効果を有する。
【００８３】
その理由は、未完了のトランザクションがあっても、それが異常デバイスが発行したトランザクションである場合には、その完了を待たずにリセット処理を行うからである。
【００８４】
本発明にかかる第６のバスシステムのオンライン再立ち上げ方法は、簡単な処理で第５のバスシステムのオンライン再立ち上げ方法と同様の効果を得ることができる。
【００８５】
その理由は、マスクステップによって各デバイスからのバスリクエストをマスクすることにより、新たなトランザクションが発行されないようにしているからである。
【００８６】
本発明にかかる第７のバスシステムのオンライン再立ち上げ方法は、未完了のトランザクションや、異常デバイスを発行元とする未完了のトランザクションを容易且つ確実に認識できるという効果を有する。
【００８７】
その理由は、各デバイスから発行されたトランザクションとそのトランザクションの発行元のデバイスの識別子とを対応付けて保持するリクエストキューを備えているからである。
【００８８】
本発明にかかる第８のバスシステムのオンライン再立ち上げ方法は、異常デバイスが発生したとき、正常動作しているデバイスに対する影響がなるべく小さくなるようにしながら、異常デバイスに対する再立ち上げを迅速に行えるという効果を有する。
【００８９】
その理由は、異常デバイス発生時に、各デバイスからの新たなトランザクションの発行を抑止し、その後、未完了のトランザクションがないことを条件にして異常デバイスに対するリセットを実施するからである。
【００９０】
本発明にかかる第１のプログラムは、異常デバイスが発生したとき、正常動作しているデバイスに対する影響がなるべく小さくなるようにしながら、異常デバイスに対する再立ち上げを迅速に行えるという効果を有する。
【００９１】
その理由は、異常デバイス発生時に、バスリクエストのマスクを指示するマスク指示を出力することにより、新たなトランザクションが正常なデバイスから発行されないようにし、その後、未完了のトランザクションがないことを条件にして異常デバイスに対するリセットを指示するリセット指示を出力するようにしているからである。
【００９２】
本発明にかかる第２のプログラムは、第１のプログラムよりも迅速に異常デバイスを再立ち上げできるという効果を有する。
【００９３】
その理由は、未完了のトランザクションがあっても、それが異常デバイスが発行したトランザクションである場合には、その完了を待たずにリセット指示を出力するようにしているからである。
【発明を実施するための最良の形態】
【００９４】
次に本発明の実施の形態について図面を参照して詳細に説明する。
【００９５】
〔実施の形態の構成〕
図１は本発明の一実施の形態としてのＰＣＩバスシステムの構成例を示すブロック図である。同図を参照すると、本実施の形態にかかるＰＣＩバスシステムは、上位装置とのＩ／Ｆ部（インタフェース部）を有するＰＣＩデバイス１と、ディスク装置とのＩ／Ｆ部を有するＰＣＩデバイス２と、ホストブリッジ３とがＰＣＩバス１０に接続されている。ホストブリッジ３からＰＣＩデバイス１、２に対しては、それぞれ個別のリセット信号ＲＳＴ１１、ＲＳＴ１２が用意されている。また、ホストブリッジ３には、ＣＰＵ４及びメモリ５が接続されている。
【００９６】
ＣＰＵ４は、図２に示すように、ＰＣＩデバイス制御プログラム等によって実現されるＰＣＩデバイス制御手段４１を備えている。
【００９７】
ＰＣＩデバイス制御手段４１は、ＰＣＩデバイス１、２に異常が発生したとき、ホストブリッジ３に対してバスリクエスト信号ＲＥＱ３１、ＲＥＱ３２及びバスグラント信号ＧＮＴ２１、ＧＮＴ２２のマスクを指示するマスク指示４２を出力する機能や、ホストブリッジ３内に処理が未完了のトランザクションがないことを条件にして、ホストブリッジ３に対して異常の発生したＰＣＩデバイスの識別子を含むリセット指示４３を出力する機能や、コンフィギュレーションの実施対象にするＰＣＩデバイスの識別子を含むコンフィギュレーション指示４４をホストブリッジ３に対して出力する機能などを有する。なお、ＰＣＩデバイス制御手段４１をプログラムによって実現する場合には、ディスク、半導体メモリ、その他の記録媒体にＰＣＩデバイス制御プログラムを記録しておき、ＣＰＵ４に上記ＰＣＩデバイス制御プログラムを読み込ませる。ＣＰＵ４は、読み込んだＰＣＩデバイス制御プログラムに従って自身の動作を制御し、自ＣＰＵ４上にＰＣＩデバイス制御手段４１を実現する。
【００９８】
ホストブリッジ３は、図２に示すように、バスアービター３１と、マスク手段３２と、リセット手段３３と、リクエストキュー３４と、ＰＣＩファンクション部３５とを備えている。
【００９９】
バスアービター３１は、各ＰＣＩデバイス１、２からのバスリクエスト信号ＲＥＱ３１、ＲＥＱ３２を調停し、ＰＣＩバス１０の使用権を与えるＰＣＩデバイス１、２に対してバスグラント信号ＧＮＴ２１、ＧＮＴ２２を出力する機能を有する。
【０１００】
マスク手段３２は、ＰＣＩデバイス制御手段４１からのマスク指示４２が有効になっている間、全てのＰＣＩデバイス１、２からのバスリクエスト信号ＲＥＱ３１、ＲＥＱ３２及び全てのＰＣＩデバイス１、２に対するバスグラント信号ＧＮＴ２１、ＧＮＴ２２をマスクする機能を有する。
【０１０１】
リセット手段３３は、ＰＣＩデバイス制御手段４１からＰＣＩデバイスの識別子を含むリセット指示４３が入力されたとき、上記識別子によって特定されるＰＣＩデバイスに対してリセット信号を出力する機能を有する。例えば、上記識別子がＰＣＩデバイス１を示すものである場合はリセット信号ＲＳＴ１１を出力し、ＰＣＩデバイス２を示すものである場合はリセット信号ＲＳＴ１２を出力する。更に、リセット手段３３は、ＰＣＩデバイス制御手段４１からリセット指示４３が入力されたとき、ＰＣＩファンクション部３５に対してバス特性情報出力指示３３１を出力する機能を有する。
【０１０２】
リクエストキュー３４は、各ＰＣＩデバイス１、２がＰＣＩバス１０上に発行したトランザクションをスタックする。図３にリクエストキュー３４の構成例を示す。同図に示したリクエストキュー３４は、最大４つのトランザクションをスタックできるようになっており、トランザクションをスタックする４つの領域Ｔ０〜Ｔ３を有している。各領域Ｔ０〜Ｔ３には、トランザクションコマンドを格納するコマンド領域Ｃ０〜Ｃ３と、トランザクションのアドレスを格納するアドレス領域Ａ０〜Ａ３と、各領域Ｔ０〜Ｔ３の有効無効を示す有効ビットが格納される有効ビット領域Ｖ０〜Ｖ３とが設けられている。有効ビットは、該当するトランザクションが本キュー３４にスタックされたときに“１”（有効）にされ、該当するトランザクションがＰＣＩバス１０上で完結したとき“０”（無効）にされる。なお、リクエストキュー３４の内容は、ＣＰＵ４内のＰＣＩデバイス制御手段４１から参照可能になっている。
【０１０３】
ＰＣＩファンクション部３５は、バス特性情報出力手段３５１と、コンフィギュレーション手段３５２と、トランザクション処理手段３５３とを含んでいる。
【０１０４】
バス特性情報出力手段３５１は、リセット手段３３からバス特性情報出力指示３３１が与えられると、ＰＣＩバス１０上に現在のバス特性を示すバス特性情報（バス幅、動作周波数などを含む）を出力する機能を有する。なお、本実施の形態では、リセット手段３３がＰＣＩデバイス制御手段４１からリセット指示４３受けたタイミングで、バス特性情報出力手段３５１に対してバス特性情報出力指示３３１を出力するようにしたが、ＰＣＩデバイス制御手段４１が、リセット指示４３と同一タイミングでバス特性情報出力指示３３１をバス特性情報出力手段３５１に対して出力するようにしても良い。
【０１０５】
コンフィギュレーション手段３５２は、ＰＣＩデバイス制御手段４１からＰＣＩデバイスの識別子を含むコンフィギュレーション指示４４が入力されたとき、上記識別子によって特定されるＰＣＩデバイスに対してコンフィギュレーションを実施する機能を有する。
【０１０６】
トランザクション処理手段３５３は、リクエストキュー３４にスタックされている未完了のトランザクションを処理する機能を有する。
【０１０７】
〔実施の形態の動作〕
次に本実施の形態の動作について詳細に説明する。
【０１０８】
今、例えば、上位装置とのＩ／Ｆ部を有するＰＣＩデバイス１において、何らかの異常が発生したとすると、システムに搭載されている異常検出手段（図示せず）からＣＰＵ４に対して異常報告（異常発生箇所、異常種別などを含む）がなされる。ＣＰＵ４は、割り込みルーチンを実行し、ＰＣＩデバイスの異常であることを認識すると、ＰＣＩデバイス制御手段４１に制御を渡す。
【０１０９】
これにより、ＰＣＩデバイス制御手段４１は、異常種別などに基づいて、ＰＣＩデバイス１において発生した異常がＰＣＩリセットの対象となる異常であるか否かを判断する（図４、ステップ１００）。
【０１１０】
そして、ＰＣＩリセットの対象にならない異常であると判断した場合（ステップ１００がＮ）は、通常のエラー処理を行う。これに対して、ＰＣＩリセットの対象になると判断した場合（ステップ１００がＹ）は、ホストブリッジ３に対してマスク指示４２を出力する（ステップ１０１）。これにより、ホストブリッジ３内のマスク手段３２は、全てのバスリクエスト信号ＲＥＱ３１、ＲＥＱ３２及び全てのバスグラント信号ＧＮＴ２１、ＧＮＴ２２をマスクする。本処理が行われてから、マスクが解除される迄、ＰＣＩデバイス１、２からの新たなトランザクションがリクエストキュー３４にスタックされる事はなくなる。
【０１１１】
その後、ＰＣＩデバイス制御手段４１は、リクエストキュー３４の有効ビット領域Ｖ０〜Ｖ３を参照し、リクエストキュー３４に未完了のトランザクションが保持されているか否かを調べる（ステップ１０２）。そして、未完了のトランザクションが保持されていなければ、次のステップ１０３に進む。ここで、有効ビット領域Ｖ０〜Ｖ３には、リクエストキュー３４に該当するトランザクションが受け付けられたとき、“１”がセットされ、該当するトランザクションが完了したとき、“０”がセットされるので、ＰＣＩデバイス制御手段４１は、有効ビット領域Ｖ０〜Ｖ３がオール“０”であれば、未完了のトランザクションがスタックされていないと判断して次のステップ１０３に進み、オール“０”でなければ再び有効ビット領域Ｖ０〜Ｖ３を参照して未完了のトランザクションが保持されているか否かを調べる。ＰＣＩデバイス制御手段４１は、この処理を有効ビット領域Ｖ０〜Ｖ３がオール“０”となるまで繰り返す。
【０１１２】
なお、リクエストキュー３４にスタックされているトランザクションは、トランザクション処理手段３５３によって処理される。例えば、トランザクション領域Ｔ０に、メモリ５のアドレスＡｘに対するＲｅａｄコマンド（ＰＣＩ−Ｘ時は転送長も存在する）が格納されていた場合、トランザクション処理手段３５３は、メモリ５のアドレスＡｘに対してＲｅａｄアクセスを行う。そして、Ｒｅａｄ  Ｄａｔａを準備できたら、ＰＣＩバス１０の使用権を取得し（異常デバイスが発生している時には、各ＰＣＩデバイス１、２からのバスリクエスト信号ＲＥＱ３１、ＲＥＱ３２はマスク手段３２によってマスクされているので、直ちにバス使用権を取得できる）、ＰＣＩバス１０を介してトランザクションの発行元のＰＣＩデバイスにＲｅａｄ  Ｄａｔａを転送し、Ｒｅａｄ  Ｄａｔａの転送が完了した時点で有効ビット領域Ｖ０を“０”とする。また、メモリ５のアドレスＡｘに対するライトコマンドであった場合は、トランザクション発行元のＰＣＩデバイスから受信したデータをメモリ５に書き込み終わったら有効ビット領域Ｖ０を“０”とする。
【０１１３】
ステップ１０２において、リクエストキュー３４に未完了のトランザクションがないと判断すると、ＰＣＩデバイス制御手段４１は、ホストブリッジ３に対して、異常の発生したＰＣＩデバイス１の識別子を含むリセット指示４３を出力する（ステップ１０３）。これにより、ホストブリッジ３内のリセット手段３３は、リセット指示４３中の識別子によって特定されるＰＣＩデバイス１に対してリセット信号ＲＳＴ１１を出力すると共に、バス特性情報出力手段３５１に対してバス特性情報出力指示３３１を出力し、バス特性情報出力手段３５１は、バス幅などのバス特性情報をＰＣＩバス１０に出力する。また、リセット対象となったＰＣＩデバイス１は、リセット解除時にＰＣＩバス１０上のバス特性情報をラッチする。
【０１１４】
ＰＣＩデバイス１に対するリセットが完了すると、ＰＣＩデバイス制御手段４１は、ホストブリッジ３に対して、コンフィギュレーションの対象にするＰＣＩデバイス１の識別子を含んだコンフィギュレーション指示４４を出力する（ステップ１０４）。これにより、コンフィギュレーション手段３５２は、上記識別子によって特定されるＰＣＩデバイス１に対するコンフィギュレーションを実施する。但し、この場合のＰＣＩコンフィギュレーションはパワーオンリセット時のコンフィギュレーションを保存しておきその内容を再設定する形となる。
【０１１５】
その後、ＰＣＩデバイス制御手段４１は、マスク指示４２を解除する（ステップ１０５）。これにより、マスク手段３２は、バスリクエスト信号ＲＥＱ３１、ＲＥＱ３２及びバスグラント信号ＧＮＴ２１、ＧＮＴ２２に対するマスクを解除する。これにより、各ＰＣＩデバイス１、２は、バス使用権を獲得可能な状態となり、トランザクションを発行することが可能になる。
【０１１６】
このように、本実施の形態によれば、同一ＰＣＩバス上に接続されたＰＣＩデバイス同士において、一方のデバイスにＰＣＩリセットが必要となる様な異常が発生した場合においても、正常に動作しているデバイスの動作が一時的に停止するのみという最小限の影響のみで被疑対象のＰＣＩデバイスを再立ち上げする事が可能となる可用性の高いＰＣＩバスシステムを構築可能となる。
【０１１７】
〔発明の他の実施の形態〕
次に本発明の他の実施の形態について説明する。本実施の形態は、図３に示した構成を有するリクエストキュー３４の代わりに図５に示す構成を有するリクエストキュー３４ａを使用し、且つ、ＰＣＩデバイス制御手段４１に図６のフローチャートに示す処理を実行させることにより実現される。
【０１１８】
図５を参照すると、本実施の形態で使用するリクエストキュー３４ａは、図３に示したリクエストキュー３４に、トランザクションの発行元ＰＣＩデバイスの識別子を保持するデバイス識別子領域Ｄ０〜Ｄ３が追加された構成となっている。
【０１１９】
次に本実施の形態の動作について、図６のフローチャートを参照して説明する。なお、前述した実施の形態との相違点は、ステップ１０２ａだけであるので、この部分についてのみ詳細に説明する。
【０１２０】
前述した実施の形態と同様に、ＰＣＩデバイス１において何らかの異常が発生すると、ＰＣＩデバイス制御手段４１は、ステップ１００、１０１の処理を行い、バスリクエスト信号ＲＥＱ３１、ＲＥＱ３２及びバスグラント信号ＧＮＴ２１、ＧＮＴ２２をマスクする。
【０１２１】
その後、ＰＣＩデバイス制御手段４１は、リクエストキュー３４ａの有効ビット領域Ｖ０〜Ｖ３及びデバイス識別子領域Ｄ０〜Ｄ３の内容に基づいて、リクエストキュー３４ａの状態が、未完了のトランザクションを全く保持していない状態、或いは、リセット対象のＰＣＩデバイス１を発行元にするトランザクション以外に未完了のトランザクションを保持していない状態であるか否かを調べる（ステップ１０２ａ）。そして、リクエストキュー３４ａの状態が上記した２つの状態の内の何れかの状態になっている場合は、次のステップ１０３に進む。
【０１２２】
このステップ１０２ａの処理を詳しく説明すると、次のようになる。ＰＣＩデバイス制御手段４１は、先ず、有効ビット領域Ｖ０〜Ｖ３を参照し、“１”がセットされている有効ビット領域があるか否かを調べる。“１”がセットされている有効ビット領域がなければ、次のステップ１０３に進む。これに対して、“１”がセットされている有効ビット領域Ｖｊ（０≦ｊ≦３）が存在すれば、その有効ビット領域Ｖｊと対応するデバイス識別子領域Ｄｊに登録されている識別子がリセット対象にしているＰＣＩデバイス１の識別子であるか否かを調べる。そして、リセット対象にしているＰＣＩデバイス１の識別子である場合には、有効ビット領域Ｖｊに“０”（無効）をセットした後、次のステップ１０３に進む。ここで、有効ビット領域Ｖｊに“０”をセットするのは、異常発生前にＰＣＩデバイス１が発行したトランザクションの処理結果が、再立ち上げ後のＰＣＩデバイス１に悪影響を及ぼさないようにするためである。これに対して、他のＰＣＩデバイスの識別子である場合には、リクエストキュー３４ａの有効ビット領域Ｖ０〜Ｖ３を参照し、前述した処理を再び行う。ステップ１０３以降は、前述した実施の形態と同様の動作を行う。
【０１２３】
このように、本実施の形態は、リクエストキューに未完了のトランザクションがスタックされていても、それが異常デバイスによって発行されたものである場合は、処理完了を待たずにリセット処理を行うので、前述した実施の形態に比較して、異常デバイスの再立ち上げを迅速に行うことができる。
【０１２４】
なお、上述した各実施の形態では、ＰＣＩバスシステムを例に挙げて説明したが、ＰＣＩ−Ｘバスシステムにも本発明を適用することができる。
【図面の簡単な説明】
【０１２５】
【図１】本発明の一実施の形態の全体構成を示すブロック図である。
【図２】ホストブリッジ３の構成例を示すブロック図である。
【図３】リクエストキュー３４の構成例を示す図である。
【図４】ＰＣＩデバイス制御手段４１の処理例を示すフローチャートである。
【図５】本発明の他の実施の形態において使用するリクエストキュー３４ａの構成例を示す図である。
【図６】本発明の他の実施の形態におけるＰＣＩデバイス制御手段４１の処理例を示すフローチャートである。
【図７】第１の従来の技術を説明するためのブロック図である。
【図８】第２の従来の技術の構成を説明するためのブロック図である。
【図９】第２の従来の技術の処理を説明するためのフローチャートである。
【符号の説明】
【０１２６】
１、２…ＰＣＩデバイス
３、３ａ、３ｂ…ホストブリッジ
３１…バスアービター
３１ａ、３２ａ…リセット信号生成回路
３２…マスク手段
３３…リセット手段
３４、３４ａ…リクエストキュー
３５…ＰＣＩファンクション部
３５１…バス特性情報出力手段
３５２…コンフィギュレーション手段
３５３…トランザクション処理手段
４、４ａ…ＣＰＵ
４１…ＰＣＩデバイス制御手段
５…メモリ
１０…ＰＣＩバス
【図１】
2005122337.tif 000003
【図２】
2005122337.tif 000004
【図３】
2005122337.tif 000005
【図４】
2005122337.tif 000006
【図５】
2005122337.tif 000007
【図６】
2005122337.tif 000008
【図７】
2005122337.tif 000009
【図８】
2005122337.tif 000010
【図９】
2005122337.tif 000011