(57)【要約】【課題】バスに接続されたデバイスの障害発生から復旧までの間におけるシステム全体の性能低下を抑制できるバスシステムを提供することにある。【解決手段】本発明によるバスシステムは、バス４と、バス４に接続される複数のデバイス１と、バス４とデバイス１との間に設けられ、障害の発生したデバイス１を個別にリセットし、起動時に設定された動作モードをデバイス１に設定するリセットイニシャライズ回路３とを具備する。【選択図】図２
2007249505.tif 000002
【特許請求の範囲】
【請求項１】
バスと、
前記バスに接続される複数のデバイスと、
前記バスに接続され、システムの起動時に前記複数のデバイスの各々の動作モードを設定するブリッジと、
前記複数のデバイスにそれぞれ接続される複数のリセットイニシャライズ回路とを具備し、
前記複数のリセットイニシャライズ回路の各々は、自身に接続するデバイスと前記バスとの接続を電気的に切り離し、前記デバイスの起動時に設定された動作モードを設定する
バスシステム。
【請求項２】
請求項１に記載のバスシステムにおいて、
前記複数のリセットイニシャライズ回路は、それぞれ複数のリセット信号線を介して前記ブリッジに接続され、
前記ブリッジは、前記複数のリセット信号線の各々を介して、前記リセット信号線に接続されるリセットイニシャライズ回路に対しリセット信号を発行し、
前記リセットイニシャライズ回路は、前記リセット信号に応答して、自身に接続するデバイスと前記バスとの接続を電気的に切り離し、前記デバイスの起動時に設定された動作モードを設定する
バスシステム。
【請求項３】
請求項２に記載のバスシステムにおいて、
障害が発生したデバイスは前記ブリッジに対し障害発生を通知し、
前記ブリッジは、前記障害発生通知に応答して前記デバイスに対応するリセットイニシャライズ回路に前記リセット信号を発行する
バスシステム。
【請求項４】
請求項２又は３に記載のバスシステムにおいて、
前記リセットイニシャライズ回路は、Ｉ／Ｏバッファを備え、
前記デバイスは、前記Ｉ／Ｏバッファを介して前記バスに接続され、
前記リセットイニシャライズ回路は、前記リセット信号に応答して前記Ｉ／Ｏバッファをイネーブルに設定する
バスシステム。
【請求項５】
請求項１から４いずれか１項に記載のバスシステムにおいて、
前記リセットイニシャライズ回路は、前記デバイスの起動時にイニシャライズパターンを記憶するレジスタを備え、前記イニシャライズパターンを用いて前記動作モードを設定する
バスシステム。
【請求項６】
請求項５に記載のバスシステムにおいて、
前記デバイスは、制御線を介して前記リセットイニシャライズ回路に接続され、
前記リセットイニシャライズ回路は、前記バスとの接続が切り離されたデバイスをリセットし、前記イニシャライズパターンを前記制御線にドライブして前記リセットを解除し、
前記デバイスは、リセットが解除されると、前記制御線にドライブされた前記イニシャライズパターンを取得して動作モードを設定する
バスシステム。
【請求項７】
請求項１から６いずれか１項に記載のバスシステムにおいて、
前記リセットイニシャライズ回路は、前記動作モードが設定されると、前記デバイスと前記バスとを接続し、
前記ブリッジは、前記バスを介して前記デバイスに対しコンフィグレーションサイクルを実行する
バスシステム。
【請求項８】
バスと、
前記バスに接続される複数のデバイスと、
前記バスと前記デバイスとの間に設けられ、障害の発生したデバイスを個別にリセットし、システムの起動時に前記デバイスに設定された動作モードを前記デバイスに再設定するリセットイニシャライズ回路とを具備する
バスシステム。
【請求項９】
バスシステムの起動時にデバイスに設定される動作モードを決定するためのイニシャライズパターンを記憶するレジスタと、
前記イニシャライズパターンに基づいて、障害が発生したデバイスの動作モードを前記デバイスに設定する制御回路とを具備する
リセットイニシャライズ回路。
【請求項１０】
請求項９に記載のリセットイニシャライズ回路において、
デバイスとバスとの間に設けられるＩ／Ｏバッファを更に具備し、
前記制御回路は、前記バスに接続されるブリッジから発行されるリセット信号に応答して、前記Ｉ／Ｏバッファをイネーブルに設定し、前記デバイスと前記バスとの間の接続を電気的に切り離す
リセットイニシャライズ回路。
【請求項１１】
請求項９又は１０に記載のリセットイニシャライズ回路において、
前記制御回路は、前記バスとの接続を切り離されたデバイスをリセットし、前記デバイスに前記イニシャライズパターンをドライブし、前記リセットを解除して、前記イニシャライズパターンを前記デバイスに読み込ませて前記動作モードを前記デバイスに設定する
リセットイニシャライズ回路。
【請求項１２】
請求項１０から１１いずれか１項に記載のリセットイニシャライズ回路において、
前記制御回路は、前記動作モードを前記デバイスに設定すると、前記Ｉ／Ｏバッファをディセーブルに設定して前記デバイスと前記バスとを接続する
リセットイニシャライズ回路。
【請求項１３】
障害が発生したデバイスをバスから切り離すステップと、
前記デバイスに対し、バスシステムの起動時に設定された動作モードを設定するステップと、
前記動作モードが設定された前記デバイスと前記バスとを接続するステップと、
障害復旧方法。
【請求項１４】
請求項１３に記載の障害復旧方法において、
障害が発生したデバイスがバスを介してブリッジに障害発生を通知するステップと、
前記ブリッジが前記通知に応答して、前記デバイスに接続するリセットイニシャライズ回路にリセット信号を発行するステップと、
前記リセットイニシャライズ回路が、前記リセット信号に応答して前記デバイスと前記バスとの接続を切り離すステップと、
前記リセットイニシャライズ回路が、前記デバイスに前記動作モードを設定するステップと、
前記リセットイニシャライズ回路が、前記デバイスと前記バスとを接続するステップと、
前記ブリッジが前記バスに対してコンフィグレーションサイクルを実行するステップとを具備する
障害復旧方法。
【請求項１５】
請求項１４に記載の障害復旧方法において、
起動時に前記デバイスに設定された動作モードを決定するためのイニシャライズパターンを前記リセットイニシャライズ回路が記憶するステップを更に具備し、
前記動作モードを設定するステップは、
前記リセットイニシャライズ回路が、前記デバイスをリセットするステップと、
前記リセットイニシャライズ回路が、前記イニシャライズパターンを前記デバイスに接続される制御線にドライブするステップと、
前記デバイスのリセットを解除され、前記デバイスが前記制御線にドライブされた前記イニシャライズパターンを取得するステップとを備える
障害復旧方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、拡張バスに接続する複数のデバイスを備えるバスシステム、及びバスシステムにおける障害復旧方法に関し、特にＰＣＩ−Ｘバスを利用したＰＣＩ−Ｘバスシステム、及びＰＣＩ−Ｘバスシステムにおける障害復旧方法に関する。
【背景技術】
【０００２】
現在、コンピュータ装置内のデバイス間を接続する拡張バスの標準規格として、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）規格が普及している。最新のＰＣＩ規格ではバス幅６４ビット、６６ＭＨｚ動作で最大５３３ＭＢ／ｓの高速な仕様も規定されている。しかしながら、より高速のデータ転送が必要なサーバマシンではこれ以上のデータ転送速度が要求される。このため、ＰＣＩをサーバ向けのバス規格として拡張したＰＣＩ−Ｘバスが提唱されている。現在、ＰＣＩ−Ｘバスの動作周波数は１３３ＭＨｚ、最大データ転送速度は１．０６ＧＢ／ｓに達する。
【０００３】
ＰＣＩ−Ｘ規格では、データ転送速度の向上のみならずデータ転送時のプロトコルも改良され、データ転送の効率が向上している。又、サーバ用途での信頼性を高めるため、転送するデータにＥＣＣ（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｎｇ  Ｃｏｄｅ）を付加する機能が追加されている。詳細には、ＰＣＩ−Ｘバスに接続されたデバイスがデータ転送中にパリティエラーなどの通信障害が発生した時、デバイスはバス内の制御線上のＳＥＲＲ＃信号をアサートしてホストに通知する。ＳＥＲＲ＃信号のアサートを検出したホストは、リセット信号線上のＲＳＴ＃信号をアサートし、当該バスに繋がる全デバイスのリセット及び初期化を行うことが一般的である。
【０００４】
このとき、ホストはＰＣＩ−Ｘバスに接続される全てのデバイスの動作モードを設定するため、ＰＣＩバス信号であるＰＥＲＲ＃、ＤＥＶＳＥＬ＃、ＳＴＯＰ＃、ＴＲＤＹ＃を、動作モードに対応したパターンでバス内の制御線にドライブする。各デバイスは、ＲＳＴ＃の立ち上がりエッジでこれらの値を取り込むことで、バスの動作モードが設定される。
【０００５】
図１に従来技術によるＰＣＩ−Ｘバスシステムの構成図が示される。従来技術によるＰＣＩ−Ｘバスシステムは、複数のＰＣＩデバイス１０１、１０２、複数のＰＣＩコネクタ２０１、２０２、ＰＣＩ−Ｘバス４０、ＰＣＩ−Ｘブリッジ５０、リセット信号線６０を具備する。複数のＰＣＩデバイス１０１、１０２は、それぞれ対応するＰＣＩコネクタ２０１、２０２を介して同一のＰＣＩ−Ｘバス４０及びリセット信号線６０に接続され、ＰＣＩ−Ｘブリッジ５０を経由してＣＰＵ（図示しない）に接続される。
【０００６】
従来技術によるＰＣＩ−Ｘバスシステムにおいて、例えばＰＣＩデバイス１０１に障害が発生した場合、ホストであるＰＣＩ−Ｘブリッジ５０は、リセット信号線６０を介して全てのＰＣＩデバイス１０１、１０２にリセット信号２００（ＲＳＴ＃）を発行し、バスリセットを行う。この際、ＰＣＩ−Ｘブリッジ５０は、イニシャライズパターンをバス４０内の信号線にドライブして全てのＰＣＩデバイス１０１、１０２の動作モードを設定する。その後全てのＰＣＩデバイス１０１、１０２に対して再度コンフィグレーションサイクルによるイニシャライズ処理が行われる。このように従来技術によるＰＣＩ−Ｘバスシステムでは、同一バスに接続される全デバイスに同じ動作周波数を設定するため、障害の発生したＰＣＩデバイス１０１だけではなく正常動作中の他のＰＣＩデバイス１０２に対してもリセット、動作モード設定（動作周波数設定）、及びコンフィグレーションサイクルによるイニシャライズが実行される。このため、従来技術によるＰＣＩ−Ｘバスシステムでは、１つのデバイス障害を排除するために実行される初期化処理によって、正常動作中のデバイスを停止する必要がある。すなわち、デバイスの障害復旧のためにシステム全体の性能が低下してしまうという問題が生じていた。
【０００７】
以下に、ＰＣＩバスに接続されるデバイスを備えるＰＣＩバスシステムに関する開示例が示される。特開２００２−０２４１６９号公報には、システム動作中にホットスワップで動作デバイスの実装状態を変更した場合、特別なハードウェアを必要とせずに動作周波数をＯＳ動作中に動的に切り替えるＩＯカードホットスワップ制御方法が記載されている（特許文献１参照）。又、特開２００２−２８８０４９号公報には、ＰＣＩバス上の異常なＰＣＩデバイス／ＰＣＩファンクションを論理的に切り離してシステムを立ち上げるＰＣＩバス不良個所切り離し方法が記載されている（特許文献２参照）。更に、特開２００５−３０９５５２号公報には、ＰＣＩバスに接続された複数のスロットのそれぞれに対し、個別に第１のリセット信号を送出するＢＭＣ（Ｂａｓｅｂｏａｒｄ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｎｔｒｏｌｌｅｒ）と、複数のスロット全体に第２のリセット信号を送出するバス初期化部を有する計算機が記載されている（特許文献３参照）。
【０００８】
従来のＰＣＩバスに接続されたデバイスは、それぞれ独自の動作速度で動作可能なため、動作速度を規定する動作モードを全デバイスに設定する必要がない。このため、ホストはデバイスを個別にリセットすることが可能であった。しかし、ＰＣＩ−Ｘ規格では、同一バスに接続する全デバイスは同一の動作速度に設定される仕様である。このため、障害が発生したデバイスが復旧する際、全デバイスの動作速度を再設定する必要がある。又、ＰＣＩ−Ｘ規格において動作速度を設定する仕様は以下のように規定されている。すなわち、デバイスのリセット中にＰＣＩ−Ｘイニシャライズパターンがバスにドライブされ、リセット解除によってドライブされたＰＣＩ−Ｘイニシャライズパターンがデバイスに取り込まれることにより動作速度が決定される。このため、ＰＣＩ−Ｘバス上のデバイスに障害が発生すると、ホストはバス上の全デバイスをリセットした後、イニシャライズパターンを全デバイスに送信して動作モードを設定する。このように、ＰＣＩ−Ｘバスシステムでは、一部のデバイスに障害が発生した場合、全デバイスをリセットし動作モードを設定する必要があった。
【特許文献１】特開２００２−０２４１６９号公報
【特許文献２】特開２００２−２８８０４９号公報
【特許文献３】特開２００５−３０９５５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明の目的は、バスに接続されたデバイスの障害発生から復旧までの間におけるシステム全体の性能低下を抑制できるバスシステム、イニシャライズ回路、及びバスシステムにおける障害復旧方法を提供することにある。
【課題を解決するための手段】
【００１０】
以下に、［発明を実施するための最良の形態］で使用される番号・符号を括弧付きで用いて、［課題を解決するための手段］を説明する。この番号・符号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］の記載との対応関係を明らかにするために付加されたものであるが、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１１】
本発明によるバスシステムは、バス（４）と、バス（４）に接続される複数のデバイス（１１、１２）と、バス（４）に接続され、バスシステムの起動時に複数のデバイス（１１、１２）の各々の動作モードを設定するブリッジ（５）と、複数のデバイス（１１、１２）に対応して接続される複数のリセットイニシャライズ回路（３１、３２）とを具備する。複数のリセットイニシャライズ回路（３１、３２）の各々は、自身に接続するデバイス（１１、１２）とバス（４）との接続を電気的に切り離し、デバイス（１１、１２）の起動時に設定された動作モードを設定する。このように、本発明によるバスシステムでは、デバイス（１１、１２）をバス（４）から切り離して、個別に動作モードを設定することができる。このため、他のデバイスに影響を与えることなく特定のデバイスに対し個別にイニシャライズすることができる。
【００１２】
又、複数のリセットイニシャライズ回路（３１、３２）は、それぞれ複数のリセット信号線（６１、６２）を介してブリッジ（５）に接続される。ブリッジ（５）は、複数のリセット信号線（６１、６２）の各々を介してリセット信号線（６１、６２）に接続されるリセットイニシャライズ回路（３１、３２）に対しリセット信号（１００１、１００２）を発行する。リセットイニシャライズ回路（３１、３２）は、リセット信号（１００１、１００２）に応答して、自身に接続するデバイス（１１、１２）とバス（４）との接続を電気的に切り離し、デバイス（１１、１２）の起動時に設定された動作モードを設定する。このように、本発明によるバスシステムでは、ブリッジ（５）からの制御によってデバイスを個別にリセット、及び動作モードの設定を実行できる。
【００１３】
又、障害が発生したデバイス（１１）はブリッジ（５）に対し障害発生を通知することが好ましい。この際、ブリッジ（５）は、障害発生通知に応答してデバイス（１１）に対応するリセットイニシャライズ回路（３１）にリセット信号（１００１）を発行することが好ましい。リセットイニシャライズ回路（３１）はこのリセット信号リセット信号（１００１）に応答して自身に接続するデバイス（１１）をリセットし、動作モードを設定する。すなわち、本発明によれば、障害が発生したデバイス（１００１）のみに対しイニシャライズ処理を実行することができる。
【００１４】
本発明に係るリセットイニシャライズ回路（３）は、Ｉ／Ｏバッファ（１３）を備えることが好ましい。デバイス（１）は、Ｉ／Ｏバッファ（１３）を介してバス（４）に接続される。リセットイニシャライズ回路（３）は、ブリッジ（５）からのリセット信号（１００）に応答してＩ／Ｏバッファ（１３）をイネーブルに設定し、デバイス（１）とバス（４）との間の接続を電気的に切り離すことができる。
【００１５】
又、リセットイニシャライズ回路（３）は、バスシステムの起動時にイニシャライズパターン（１０２）を記憶するレジスタ（１２）を備えることが好ましい。リセットイニシャライズ回路（３）は、このイニシャライズパターン（１０２）を用いて動作モードを設定する。このため、起動時にデバイス（１）に設定された動作モードを障害発生後にリセットされたデバイス（１）に再設定することができる。又、リセットイニシャライズ回路がイニシャライズパターン（１０２）を保有するため、バス（４）及びブリッジ（５）に影響を与えることなく動作モードを再設定することができる。
【００１６】
デバイス（１）は、制御線を介してリセットイニシャライズ回路（３）に接続される。リセットイニシャライズ回路（３１）は、バス（４）との接続が切り離されたデバイス（１１）をリセットし、イニシャライズパターン（１０２）を制御線にドライブしてリセットを解除する。デバイス（１１）は、リセットが解除されると、制御線にドライブされたイニシャライズパターン（１０２）を取得して動作モードを設定する。このように、本発明によるバスシステムは、ＰＣＩ−Ｘバス規格のような、リセット解除後にドライブされたイニシャライズパターンを取得してデバイスの動作モードが確定される仕様に対応している。
【００１７】
リセットイニシャライズ回路（３）は、動作モードが設定されると、デバイス（１）と前記バス（４）とを接続する。ブリッジ（５）は、バス（４）を介してデバイス（１）に対しコンフィグレーションサイクルを実行する。このように、ブリッジは、個別にリセット及び動作モードが再設定されたデバイス（１）を再びバスシステムに組み込むことができる。
【００１８】
以上のように、本発明によるバスシステムでは、他のデバイス（１２）に影響を与えることなく障害の発生したデバイス（１１）に対し個別にリセット及び動作モードの設定を実行してイニシャライズすることができる。このため、バス（４）への影響を最小限に抑えて復旧を行うことができる。又、障害復旧のためのバス占有時間が短縮されることになり、システムへの性能低下が最小限に抑えられる。
【発明の効果】
【００１９】
本発明によるバスシステム、イニシャライズ回路、及びバスシステムにおける障害復旧方法は、バスに接続されたデバイスの障害発生から復旧までの間におけるシステム全体の性能低下を抑制できる。
【発明を実施するための最良の形態】
【００２０】
以下、添付図面を参照して、本発明によるバスシステムの実施の形態が説明される。図面において同一、又は類似の参照符号は、同一、類似、又は等価な構成要素を示している。又、同様な構成が複数ある構成要素には、それぞれ下付き番号が付された参照符号が付与される。この場合、複数の構成要素に共通の説明がなされる場合、下付き符号が外された参照符号によって説明される。
【００２１】
（構成）
図２は、本発明によるバスシステムの実施の形態における構成図である。本実施の形態では、ＰＣＩ−Ｘ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  ｉｎｔｅｒｃｏｎｎｅｃｔ−Ｘ）バス４を使用したＰＣＩ−Ｘバスシステムを一例に説明される。図２を参照して、本発明によるＰＣＩ−Ｘバスシステムは、複数のＰＣＩデバイス１１、１２、ＰＣＩコネクタ２１、２２、リセットイニシャライズ回路３１、ＰＣＩ−Ｘバス４、ＰＣＩ−Ｘブリッジ５、リセット信号線６１、６２、及びリセット信号線７１、７２を具備する。ＰＣＩ−Ｘブリッジ５は、ＰＣＩ−Ｘバス４及びリセット信号線６１、６２に接続される。リセットイニシャライズ回路３１、３２には共通のＰＣＩ−Ｘバス４が接続されている。又、リセットイニシャライズ回路３１、３２とＰＣＩ−Ｘブリッジ５とは、それぞれ個別のリセット信号線６１、６２を介して接続される。ＰＣＩコネクタ２１、２２はそれぞれ下付き番号が対応するリセットイニシャライズ回路３１、３２を介してＰＣＩ−Ｘバス４に接続される。ＰＣＩデバイス１１、１２はそれぞれ下付き番号が対応するＰＣＩコネクタ２１、２２に接続することで、ＰＣＩ−Ｘバス４に接続される。又、ＰＣＩデバイス１１、１２とリセットイニシャライズ回路３１、３２との間にはそれぞれＰＣＩコネクタ２２、２２を経由したリセット信号線７１、７２が設けられる。このように、本発明によるＰＣＩ−Ｘバスシステムは、ＰＣＩデバイス１１、１２とＰＣＩ−Ｘバス４との間に、それぞれリセットイニシャライズ回路３１、３２が設けられた構成となっている。又、ＰＣＩ−Ｘブリッジ５とＰＣＩデバイス１１、１２とはそれぞれ個別のリセット信号線６１、６２で接続されている。
【００２２】
ＰＣＩデバイス１は、ＰＣＩ−Ｘバスに接続される周辺機器である。ＰＣＩデバイス１は、起動時、あるいは障害復旧時における初期化動作の際、ＰＣＩ−Ｘブリッジ５によって動作周波数（動作速度）が設定される。この際、ＰＣＩ−Ｘバス４に接続される全てのＰＣＩデバイス１は同じ動作周波数が設定される。詳細には、ＰＣＩ−Ｘバスシステム（ＰＣＩデバイス１）の起動時にＰＣＩ−Ｘブリッジ５から転送されるＰＣＩ−Ｘイニシャライズパターン１０２に基づいて、ＰＣＩデバイス１の動作周波数は設定される。
【００２３】
又、障害が発生したＰＣＩデバイス１はＰＣＩ−Ｘバス４内の制御線を介してＰＣＩ−Ｘブリッジ５に障害発生を通知する。ＰＣＩ−Ｘブリッジ５は、リセット信号線６にリセット信号を出力し、当該リセット信号６に接続されているＰＣＩデバイス１のリセット処理を行う。詳細には、ＰＣＩ−Ｘブリッジ５は、ＰＣＩデバイス１からの障害通知に応答して、障害が発生したＰＣＩデバイス１に接続されているリセット信号線６上のリセット信号１００をアサートする。障害が発生したＰＣＩデバイス１はリセット信号１００のアサートに応答してリセットされる。
【００２４】
リセットイニシャライズ回路３は、ＰＣＩ−Ｘバスブリッジ５によって制御され、自身に接続するＰＣＩデバイス１に対するＰＣＩ−Ｘバス４からの切り離し処理、及び初期化処理を実行する。リセットイニシャライズ回路３は、ＰＣＩ−Ｘブリッジ５から出力されるリセット信号１００に応答して、自身に接続するＰＣＩデバイス１をＰＣＩ−Ｘバス４から電気的に切り離す。又、ＰＣＩ−Ｘバス４から切り離したＰＣＩデバイス１の初期化を行う。ここで、リセットイニシャライズ回路３は、起動時にＰＣＩデバイス１に設定されたＰＣＩ−Ｘイニシャライズパターン１０２を取得している。リセットイニシャライズ回路３は、ＰＣＩデバイスの初期化の際、このＰＣＩ−Ｘイニシャライズパターン１０２を使用してＰＣＩ−Ｘデバイス１の動作モードを設定する。
【００２５】
図３は本発明に係るリセットイニシャライズ回路３の構成を示すブロック図である。以下、図３を参照して、リセットイニシャライズ回路３の構成が説明される。リセットイニシャライズ回路３は、リセット信号線６に接続される制御回路１１と、動作モード記憶用レジスタ１２と、ＰＣＩ−Ｘバス４を介してＰＣＩ−Ｘブリッジ５に接続されるＩ／Ｏバッファ１３と、ＰＣＩ−Ｘバス４及びリセット信号線６を介してＰＣＩコネクタ２に接続されるＩ／Ｏバッファ１４とを具備している。
【００２６】
制御回路１１は、ＰＣＩデバイス１の起動時にＩ／Ｏバッファ１３を介して入力されるＰＸＩ−Ｘイニシャライズパターン１０２を動作モード記憶用レジスタ１２に格納する。ＰＣＩ−Ｘイニシャライズパターン１０２には、初期化するデバイスドライバや動作周波数決定するための動作モード設定情報が含まれている。
【００２７】
又、制御回路１１は、Ｉ／Ｏバッファイネーブル信号１０１によってＩ／Ｏバッファ１３を制御し、Ｉ／Ｏバッファ１３を有効な状態（イネーブル）又は無効な状態（ディセーブル）に設定する。詳細には、制御回路１１は、リセット信号線６上のリセット信号１００がアサートされたことを検出すると、Ｉ／Ｏバッファイネーブル信号１０１をネゲートしてＩ／Ｏバッファ１３をディセーブルに設定する。すなわち、制御部１１は、ＰＣＩ−Ｘブリッジ５から発行されるリセット信号１００に応答してＩ／Ｏバッファ１３をディセーブルにすることで、ＰＣＩデバイス１とＰＣＩ−Ｘバス４との接続を電気的に切り離す。又、制御回路１１は、Ｉ／Ｏバッファイネーブル信号１０１をアサートしてＩ／Ｏバッファ１３をイネーブルに設定する。すなわち、制御部１１は、Ｉ／Ｏバッファ１３をイネーブルにすることで、ＰＣＩデバイス１とＰＣＩ−Ｘバス４との接続を電気的に接続する。
【００２８】
更に、制御回路１１は、Ｉ／Ｏバッファ１４を介してＰＣＩデバイス１に対しデバイスリセット信号１０３を発行し、ＰＣＩデバイス１のリセット処理行う。詳細には、制御回路１１は、ＰＣＩデバイス１に接続するリセット信号線７上のデバイスリセット信号１０３をアサートあるいは、ネゲートする。ＰＣＩデバイス１は、デバイスリセット信号１０３のアサートを検知するとリセットされ、ネゲートを検知するとリセットが解除される。
【００２９】
制御回路１１は、ＰＣＩデバイス１をリセットすると、動作モード記憶用レジスタ内のＰＣＩ−Ｘイニシャライズパターン１０２をＩ／Ｏバッファ１３とＩ／Ｏバッファ１４との間のバスにドライブする。詳細には、制御回路１１はＰＣＩデバイス１がリセット中に、ＰＣＩ−Ｘバス信号であるＰＥＲＲ＃、ＤＥＶＳＥＬ＃、ＳＴＯＰ＃、ＴＲＤＹ＃信号を、動作モードに対応したＰＣＩ−Ｘイニシャライズパターン１０２でバスにドライブする。ＰＣＩデバイス１は、リセットの解除をトリガとしてバスにドライブされたＰＣＩ−Ｘイニシャライズパターン１０２を取り込み、動作モードを決定する。
【００３０】
（動作）
図３から図５を参照して、本発明によるＰＣＩ−Ｘバスシステムの障害復旧動作の詳細が説明される。図４は、本発明による本発明によるＰＣＩ−Ｘバスシステムの実施の形態における障害復旧動作を示すフロー図である。図５は、本発明によるＰＣＩ−Ｘバスシステムの障害復旧処理における各種信号のタイミングチャートである。本実施の形態では、ＰＣＩデバイス１１に障害が発生した場合を一例に、障害復旧動作が説明される。
【００３１】
図４を参照して、本発明によるＰＣＩ−Ｘバスシステムが起動する際、ＰＣＩ−Ｘブリッジ５は、ＰＣＩ−Ｘバス４に接続される全ＰＣＩデバイス１１、１２に対しＰＣＩ−Ｘイニシャライズパターン１０２を転送して、動作モードを設定する（ステップＳ２）。この際、各リセットイニシャライズ回路３の制御回路１１は、対応するＰＣＩデバイス１に転送されたＰＣＩ−Ｘイニシャライズパターン１０２を動作モード記憶用レジスタ１２に格納する（ステップＳ４）。
【００３２】
ここで、ＰＣＩデバイス１１に障害が発生した場合、ＰＣＩデバイス１１はＰＣＩ−Ｘバス４内の制御線を介してＰＣＩ−Ｘブリッジ５に障害発生を通知する（ステップＳ６）。例えば、データ転送中にパリティエラーなどの通信障害が発生した場合、ＰＣＩ１１はＰＣＩバス信号であるＳＥＲＲ＃をアサートしてＰＣＩ−Ｘブリッジ５に通知する。ＰＣＩ−Ｘブリッジ５は、障害が発生したＰＣＩデバイス１１に対し、個別に接続されているリセット信号線６１上のリセット信号１００１（ＲＳＴ＿０＃）をアサートする。リセットイニシャライズ回路３１は、リセット信号１００１（ＲＳＴ＿０＃）がアサートされたことを検出すると、ＰＣＩコネクタ２１とＰＣＩ−Ｘバス４との間を電気的に切り離す（ステップＳ８）。図５を参照して、リセットイニシャライズ回路３１の制御部１１は、リセット信号１００１（ＲＳＴ＿０＃）のアサートの検出（Ｔ１）をトリガとして、Ｉ／Ｏバッファイニシャライズ信号１０１（ＩＯＢＵＦ＿ＥＮ＃）をネゲートする（Ｔ２）。Ｉ／Ｏバッファ１３は、Ｉ／Ｏバッファイニシャライズ信号１０１（ＩＯＢＵＦ＿ＥＮ＃）のネゲートを検出するとディセーブルに設定される。このため、ＰＣＩ−Ｘブリッジ５側のＰＣＩ−Ｘバス４とリセットイニシャライズ回路３１〜ＰＣＩデバイス１１は電気的に切り離される。
【００３３】
ＰＣＩ−Ｘブリッジ５側のＰＣＩ−Ｘバス４から切り離されたリセットイニシャライズ回路３１は、デバイスリセット信号１０３によってＰＣＩデバイス１１をリセットする（ステップＳ１０）。図５を参照して、リセットイニシャライズ回路３１の制御部１１はデバイスリセット信号１０３（ＲＳＴ＿ｄｅｖ３＃）をアサートする（Ｔ３）。ＰＣＩデバイス１１はデバイスリセット信号１０３（ＲＳＴ＿ｄｅｖ３＃）のアサートを検出するとリセットされる。
【００３４】
リセットイニシャライズ回路３１はＰＣＩデバイス１１をリセットした後、動作モード記憶用レジスタ１２内のＰＣＩ−Ｘイニシャライズパターン１０２を利用してＰＣＩデバイス１１の動作モードを起動時と同じモードに再設定する。図５を参照して、制御部１１は、デバイスリセット信号１０３（ＲＳＴ＿ｄｅｖ３＃）のアサート後（Ｔ３）、動作モード記憶用レジスタ１２からＰＣＩ−Ｘイニシャライズパターン１０２をロードする。更に、制御部１１は、ＰＣＩ−Ｘイニシャライズパターン１０２をＩ／Ｏバッファ１３とＩ／Ｏバッファ１４との間のバス信号線にドライブし、デバイスリセット信号１０３（ＲＳＴ＿ｄｅｖ＃）をネゲートする（Ｔ４）。デバイスリセット信号１０３（ＲＳＴ＿ｄｅｖ＃）がネゲートされるとデバイス１１はリセットが解除され、バス信号線にドライブされたＰＣＩ−Ｘイニシャライズパターン１０２を取り込み自身の動作モードが確定する。すなわち、ＰＣＩデバイス１１の動作モードが再設定され再起動が完了する。
【００３５】
再起動が完了すると、ＰＣＩデバイス１１はリセットイニシャライズ回路３１によってＰＣＩ−Ｘバス４に組み込まれる（ステップＳ１４）。図５を参照して、デバイスリセット信号１０３（ＲＳＴ＿ｄｅｖ＃）をネゲートした制御回路１１は、動作モードが確定されるまでの所定期間が過ぎると、Ｉ／Ｏバッファイネーブル信号１０１（ＩＯＢＵＦ＿ＥＮ＃）をアサートしてＩ／Ｏバッファ１４をイネーブルに設定する（Ｔ５）。これにより、ＰＣＩ−Ｘブリッジ５側のＰＣＩ−Ｘバス４とリセットイニシャライズ回路３１〜ＰＣＩデバイス１１は電気的に接続される。ＰＣＩデバイス１１がＰＣＩ−Ｘバス４に組み込まれると、ＰＣＩ−Ｘブリッジ５はコンフィグレーションサイクルを実行してＰＣＩデバイス１１に対してイニシャライズが実行される。
【００３６】
以上のように、本発明によるＰＣＩ−Ｘバスシステムは、リセットイニシャライズ回路３を用いて、障害の発生したＰＣＩデバイス１１をＰＣＩ−Ｘブリッジ５側のＰＣＩ−Ｘバス４から切り離し、個別にリセットすることができる。又、リセットイニシャライズ回路３は、起動時にＰＣＩデバイス１に設定されたＰＣＩ−Ｘイニシャライズパターン１０２を保持し、これを利用してＰＣＩデバイス１の動作モードを再設定することができる。すなわち、障害が発生したＰＣＩデバイス１１はただちにバスから切り離され、且つリセットされて動作モードが設定される。又、その間、ＰＣＩ−Ｘバス４は通常通り開放されているため他のＰＣＩデバイス１２は通常通りトランザクションを継続することができる。
【００３７】
このように、本発明によれば、同一のＰＣＩ−Ｘバス４に接続される正常動作中のＰＣＩデバイス１（ここではＰＣＩデバイス１２）の動作を停止することなく、障害が発生したＰＣＩデバイス１（ここではＰＣＩデバイス１１）の初期化処理を実行することができる。又、障害復旧のためのバス占有時間が短縮されるため、システムへの性能低下が最小限に抑えられる。
【００３８】
以上、本発明の実施の形態を詳述してきたが、具体的な構成は上記実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。本実施の形態では、２つのＰＣＩデバイス１１、１２が共通のＰＣＩ−Ｘバスに接続された形態で説明されたが、２以上の複数のＰＣＩデバイス１が接続された形態で良い。この場合、ＰＣＩデバイス１とＰＣＩ−Ｘブリッジとの間には、それぞれ個別のリセットイニシャライズ回路３及びリセット信号線６、７が設けられ、障害発生時のＰＣＩデバイス１の切り離し、リセット、及び動作モードの設定が行われる。
【図面の簡単な説明】
【００３９】
【図１】図１は、従来技術によるバスシステムの構成図である。
【図２】図２は、本発明によるバスシステムの実施の形態における構成図である。
【図３】図３は、本発明に係るリセットイニシャライズ回路の実施の形態における構成を示すブロック図である。
【図４】図４は、本発明によるバスシステムにおける起動処理及び障害復旧処理の動作を示すフロー図である。
【図５】図５は、本発明によるバスシステムの障害復旧処理の動作を示すタイムチャートである。
【符号の説明】
【００４０】
１、１１、１２、１０、１０１、１０２：ＰＣＩデバイス
２、２１、２２、２０、２０１、２０２：ＰＣＩコネクタ
３、３１、３２：リセットイニシャライズ回路
４、４０：ＰＣＩ−Ｘバス
５、５０：ＰＣＩ−Ｘブリッジ
６、６１、６２、６０、７、７１、７２：リセット信号線
１００、１００１、１００２、２００：リセット信号
１０１：Ｉ／Ｏバッファイネーブル信号
１０２：ＰＣＩ−Ｘイニシャライズパターン
１０３：デバイスリセット信号
１１：制御回路
１２：動作モード記憶用レジスタ
１３、１４：Ｉ／Ｏバッファ
【図１】
2007249505.tif 000003
【図２】
2007249505.tif 000004
【図３】
2007249505.tif 000005
【図４】
2007249505.tif 000006
【図５】
2007249505.tif 000007