JP2005122337A - バスシステム、ホストブリッジ、バスシステムのオンライン再立ち上げ方法及びプログラム - Google Patents

バスシステム、ホストブリッジ、バスシステムのオンライン再立ち上げ方法及びプログラム Download PDF

Info

Publication number
JP2005122337A
JP2005122337A JP2003354526A JP2003354526A JP2005122337A JP 2005122337 A JP2005122337 A JP 2005122337A JP 2003354526 A JP2003354526 A JP 2003354526A JP 2003354526 A JP2003354526 A JP 2003354526A JP 2005122337 A JP2005122337 A JP 2005122337A
Authority
JP
Japan
Prior art keywords
bus
reset
transaction
characteristic information
host bridge
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003354526A
Other languages
English (en)
Inventor
Hiroyuki Hagiwara
博之 萩原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2003354526A priority Critical patent/JP2005122337A/ja
Publication of JP2005122337A publication Critical patent/JP2005122337A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】 PCIバスシステム等のバスシステムにおいて、異常デバイスが発生したとき、正常動作しているデバイスに対する影響がなるべく小さくなるようにしながら、異常デバイスに対する再立ち上げを迅速に行えるようにする。
【解決手段】 PCIデバイス1に異常が発生すると、CPU4は、ホストブリッジ3に対して、マスク指示を出力する。これにより、ホストブリッジ3は、PCIデバイス1,2からのバスリクエスト信号REQ31,REQ32をマスクする。これにより、PCIデバイス1,2は新たなトランザクションを発行できなくなる。その後、CPU4は未完了のトランザクションが無いことを条件にして、リセット指示をホストブリッジ3に出力する。これにより、ホストブリッジ3は異常PCIデバイス1へリセット信号RST11を出力すると共に、PCIバス10にバス特性情報を出力する。PCIデバイス1はリセット解除時にバス特性情報を取り込む。
【選択図】 図1

Description

本発明は、PCI或いはPCI−X仕様に準拠したPCIバスシステム或いはPCI−Xバスシステムに関し、特に正常に動作しているデバイスへの影響を最小限に抑えながら被疑対象のデバイスのリセット及び再立ち上げを可能にするバスシステムに関する。
近年、コンピュータの周辺装置バスとして高速なデータ転送が可能なPCIバスが一般的に利用されるようになってきている。しかし、従来の一般的なPCIバスシステムは、PCIバスに接続されている全てのPCIデバイスに対して共通のリセット信号が1本しか用意されておらず、このため、異常の発生したデバイス等の、特定のPCIデバイスだけをリセットし、再立ち上げすることができないという問題があった。
このような問題点を解決するため、従来から図7に示すようなPCIバスシステムが提案されている(例えば、特許文献1参照)。
図7を参照すると、従来のPCIバスシステムは、複数台のPCIデバイス1、2と、ホストブリッジ3aとがPCIバス10に接続され、更に、ホストブリッジ3aにCPU4aが接続された構成を有している。
ホストブリッジ3a内には、PCIデバイス1、2に対するリセット信号RST11、RST12を出力するリセット信号生成回路31a、32aが設けられている。リセット信号生成回路31a、32aは、それぞれPCIバス10上にPCIデバイス1、2のアドレスが出力されている時にバスサイクルが異常終了すると、リセット信号RST11、RST12を出力する。例えば、CPU4aがホストブリッジ3a及びPCIバス10を介してPCIデバイス2をアクセスしている時にPCIデバイス2に異常が発生し、バスサイクルが異常終了すると、PCIバス10上にはPCIデバイス2のアドレスが出力されているので、リセット信号生成回路32aがリセット信号RST12を出力し、PCIデバイス2をリセットすることになる。このように、特許文献1に記載されている従来の技術によれば、特定のPCIデバイスだけを選択的にリセットすることが可能になる。
また、これ以外にも、PCIデバイスをリセットする従来の技術として次のような技術も知られている(例えば、特許文献2参照)。図8、図9は、それぞれ特許文献2に記載されているPCIバスシステムを説明するためのブロック図、フローチャートである。
図8のブロック図を参照すると、特許文献2に記載されているPCIバスシステムは、複数台のPCIデバイス1、2と、それらのコンフィギュレーション、エラー処理等を司るホストブリッジ3bとが同一PCIバス10に接続され、更に、ホストブリッジ3bにCPU4a及びメモリ5が接続されている。また、PCIデバイス1、2に対してはそれぞれ個別のリセット信号RST11、RST12が用意され、個別にリセットできるようになっている。
図9のフローチャートを参照すると、ホストブリッジ3b上で動作するPCIコンフィギュレーションプログラム(図示せず)は、パワーオンリセット解除を契機にし、PCIデバイス1、2の内の未処理のPCIデバイス(例えば、PCIデバイス1)を対象にしてコンフィギュレーションを実施する(ステップ200)。その後、PCIデバイス1に対するコンフィギュレーションが正常終了したか否かを判定する(ステップ201)。
そして、コンフィギュレーションが異常終了した場合(ステップ201がY)は、リセット信号RST11、RST12を出力し、全てのPCIデバイス1、2をリセットする(ステップ202)。その後、異常のあったPCIデバイスをPCIバス10から切り離し(ステップ204)、再び、ステップ200の処理を行う。このとき、PCIバス10から切り離されたPCIデバイスは、コンフィギュレーションの対象から外される。
これに対して、コンフィギュレーションが正常終了した場合(ステップ201がN)は、切り離されたPCIデバイスを除く全てのPCIデバイスに対するコンフィギュレーションが完了しているか否かを判定する(ステップ203)。そして、コンフィギュレーションが完了していないPCIデバイスが存在する場合(ステップ203がN)は、再び、ステップ200の処理を行う。そして、切り離されていない全てのPCIデバイスに対してコンフィギュレーションを実施すると(ステップ203がY)、次の処理を行う。
特開2000−259507号公報 特開2002−288049号公報
ところで、異常の発生したPCIデバイスを選択的にリセットし、その後、再立ち上げするためには、リセット時にホストブリッジからPCIバスに現在のバス特性情報(PCIバスのバス幅、動作周波数など)を出力し、リセット解除時に、PCIデバイスにバス特性情報を取り込ませなければならない。しかしながら、上述した特許文献1、2に記載されている従来の技術では、この点が全く考慮されていない。
この点を考慮すると、異常の発生したPCIデバイスを選択的にリセットし、その後、再立ち上げするためには、以下に述べるような課題が生じる。
異常の発生したPCIデバイスを再立ち上げする際には、PCIデバイスの再立ち上げを迅速に行えること、及び正常に動作しているPCIデバイスに与える影響を最小限に抑えることが重要である。
ところで、上述したように、異常の発生したPCIデバイスをリセットし、再立ち上げするためには、リセット時にPCIバスにバス特性情報を出力することが必要になる。このため、異常発生時にPCIバスが正常なPCIデバイスによって利用されていなければ、直ちに異常発生PCIデバイスに対するリセットを実施することができるが、正常なPCIデバイスによってPCIバスが使用されている場合は、異常発生PCIデバイスに対するリセットを実施することはできない。このような場合、最も速やかにリセットを実施するには、現在PCIバスの使用権を得ている正常なPCIデバイスがPCIバスを解放したタイミングで、ホストブリッジがPCIバスの使用権を得て異常発生PCIデバイスに対するリセット動作を行えば良い。
しかし、このようにすると、正常なPCIデバイスに与える影響が大きなものになってしまう場合がある。即ち、ホストブリッジでは、各PCIデバイスから自ホストブリッジに対して発行されたトランザクションをリクエストキューにスタックし、スタック順にトランザクションを処理している。従って、上述したようにすると、リクエストキューにトランザクションがスタックされている場合、既に発行済みのトランザクションに対する処理が待たされることになり、そのトランザクションを発行した正常なPCIデバイスに悪影響を与えることになってしまう。
一方、正常動作しているPCIデバイスに対する影響を最小限に抑えるためには、異常発生後にPCIデバイスから発行されたトランザクションもリクエストキューにスタックするようにし、リクエストキュー中に処理が未完了のトランザクションがなくなったタイミングで、異常発生PCIデバイスに対するリセット動作を行うようにすれば良い。しかし、このようにすると、正常なPCIデバイスからトランザクションが絶え間なく発行された場合、異常発生PCIデバイスに対するリセット動作を迅速に行うことができなくなってしまう。
〔発明の目的〕
そこで、本発明の目的は、異常デバイスが発生したとき、正常動作しているデバイスに対する影響がなるべく小さくなるようにしながら、異常デバイスに対する再立ち上げを迅速に行えるようにすることにある。
本発明にかかる第1のバスシステムは、異常デバイスが発生したとき、正常動作しているデバイスに対する影響がなるべく小さくなるようにしながら、異常デバイスに対する再立ち上げを迅速に行えるようにするため、
バス上に複数のデバイスが接続されたバスシステムにおいて、
前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスから既に発行されているトランザクションを処理する場合を除き、正常動作しているデバイスによる前記バスの利用を抑止し、その後、未完了のトランザクションがないことを条件にして、前記異常の発生したデバイスに対してリセットを実施すると共に前記バスに対してバス特性情報を出力し、リセット解除時に前記異常の発生したデバイスにバス特性情報を取り込ませる構成を有することを特徴とする。
この構成によれば、異常発生時に既に発行されていた未処理のトランザクションに対する処理が全て完了した後、異常デバイスに対するリセット動作(バス特性情報をバスに出力する処理も含む)が行われるので、正常動作しているデバイスに対する影響を少ないものにすることができる。また、異常発生時に、正常動作しているデバイスによるバスの利用を抑止しているので、異常発生後に新たなトランザクションが発行されることがなく、その結果、異常デバイスに対するリセット動作を迅速に行うことができる。
また、本発明にかかる第2のバスシステムは、簡単な構成で上記した目的を達成できるようにするため、
バス上に複数のデバイスとホストブリッジとが接続されたバスシステムにおいて、
前記ホストブリッジが、前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからのバスリクエストをマスクし、その後、未完了のトランザクションがないことを条件にして、前記異常の発生したデバイスに対してリセットを実施すると共に前記バスに対してバス特性情報を出力する構成を有し、
前記各デバイスが、リセット解除時に、前記バス上のバス特性情報を取り込む構成を有することを特徴とする。
より具体的には、本発明にかかる第3のバスシステムは、第2のバスシステムにおいて、
前記ホストブリッジが、
前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからバスアービターへのバスリクエストをマスクするマスク手段と、
自ホストブリッジ内に未完了のトランザクションがないことを条件にして、前記異常の発生したデバイスに対するリセットを実施するリセット手段と、
該リセット手段によるリセット時に、前記バスに対してバス特性情報を出力するバス特性情報出力手段とを備えたことを特徴とする。
また、本発明にかかる第4のバスシステムは、未完了のトランザクションを容易に認識できるようにするため、第3のバスシステムにおいて、
前記ホストブリッジが、前記各デバイスから自ホストブリッジに対して発行されたトランザクションを保持するリクエストキューを備え、且つ、
前記リセット手段が、前記リクエストキューに未完了のトランザクションが保持されていないことを条件にして、前記異常の発生したデバイスに対するリセットを実施する構成を有することを特徴とする。
また、本発明にかかる第5のバスシステムは、異常の発生したデバイスの再立ち上げを第2のバスシステムよりも迅速に行えるようにするため、
バス上に複数のデバイスとホストブリッジとが接続されたバスシステムにおいて、
前記ホストブリッジが、前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからのバスリクエストをマスクし、その後、未完了のトランザクションがないか、或いは未完了のトランザクションが前記障害の発生したデバイスを発行元とするトランザクションだけであることを条件にして、前記異常の発生したデバイスに対してリセットを実施すると共に前記バスに対してバス特性情報を出力する構成を有し、
前記各デバイスが、リセット解除時に、前記バス上のバス特性情報を取り込む構成を有する。
より具体的には、本発明にかかる第6のバスシステムは、第5のバスシステムにおいて、
前記ホストブリッジが、
前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからバスアービターへのバスリクエストをマスクするマスク手段と、
自ホストブリッジ内に未完了のトランザクションがないか、或いは未完了のトランザクションが前記障害の発生したデバイスを発行元とするトランザクションだけであることを条件にして、前記異常の発生したデバイスに対するリセットを実施するリセット手段と、
該リセット手段によるリセット時に、前記バスに対してバス特性情報を出力するバス特性情報出力手段とを備えたことを特徴とする。
また、本発明にかかる第7のバスシステムは、未完了のトランザクションや、異常デバイスが発行した未完了のトランザクションを容易且つ確実に確認できるようにするため、第6のバスシステムにおいて、
前記ホストブリッジが、前記各デバイスから自ホストブリッジに対して発行されたトランザクションとそのトランザクションの発行元のデバイスの識別子とを対応付けて保持するリクエストキューを備え、且つ、
前記リセット手段が、前記リクエストキューに未完了のトランザクションが保持されていないか、或いは保持されている未完了のトランザクションが前記異常が発生したデバイスから発行されたトランザクションのみであることを条件にして、前記異常の発生したデバイスに対するリセットを実施する構成を有することを特徴とする。
また、本発明にかかる第8のバスシステムは、異常デバイスが発生したとき、正常動作しているデバイスに対する影響がなるべく小さくなるようにしながら、異常デバイスに対する再立ち上げを迅速に行えるようにするため、
バス上に複数のデバイスとホストブリッジとが接続されたバスシステムにおいて、
前記ホストブリッジが、前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからの新たなトランザクションの発行を抑止し、その後、未完了のトランザクションがないことを条件にして、前記異常の発生したデバイスに対してリセットを実施すると共に前記バスにバス特性情報を出力する構成を有し、
前記各デバイスが、リセット解除時に、前記バス上のバス特性情報を取り込む構成を有する。
本発明にかかる第1のホストブリッジは、異常デバイスが発生したとき、正常動作しているデバイスに対する影響がなるべく小さくなるようにしながら、異常デバイスに対する再立ち上げを迅速に行えるようにするため、
バス上のバス特性情報をリセット解除時に取り込むデバイスが複数接続されたバスに接続されるホストブリッジであって、
前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからのバスリクエストをマスクし、その後、未完了のトランザクションがないことを条件にして、前記異常の発生したデバイスに対してリセットを実施すると共に前記バスに対してバス特性情報を出力する構成を有する。
より具体的には、本発明にかかる第2のホストブリッジは、第1のホストブリッジにおいて、
前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからバスアービターへのバスリクエストをマスクするマスク手段と、
自ホストブリッジ内に未完了のトランザクションがないことを条件にして、前記異常の発生したデバイスに対するリセットを実施するリセット手段と、
該リセット手段によるリセット時に、前記バスに対してバス特性情報を出力するバス特性情報出力手段とを備えたことを特徴とする。
また、本発明にかかる第3のホストブリッジは、未完了のトランザクションがないことを容易に認識できるようにするため、第2のホストブリッジにおいて、
前記各デバイスから自ホストブリッジに対して発行されたトランザクションを保持するリクエストキューを備え、且つ、
前記リセット手段が、前記リクエストキューに未完了のトランザクションが保持されていないことを条件にして、前記異常の発生したデバイスに対するリセットを実施する構成を有することを特徴とする。
また、本発明にかかる第4のホストブリッジは、異常の発生したデバイスの再立ち上げを第1のホストブリッジよりも迅速に行えるようにするため、
バス上のバス特性情報をリセット解除時に取り込むデバイスが複数接続されたバスに接続されるホストブリッジであって、
前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからのバスリクエストをマスクし、その後、未完了のトランザクションがないか、或いは未完了のトランザクションが前記障害の発生したデバイスを発行元とするトランザクションだけであることを条件にして、前記異常の発生したデバイスに対してリセットを実施すると共に前記バスに対してバス特性情報を出力する構成を有する。
より具体的には、本発明にかかる第5のホストブリッジは、第4のホストブリッジにおいて、
前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからバスアービターへのバスリクエストをマスクするマスク手段と、
自ホストブリッジ内に未完了のトランザクションがないか、或いは未完了のトランザクションが前記障害の発生したデバイスを発行元とするトランザクションだけであることを条件にして、前記異常の発生したデバイスに対するリセットを実施するリセット手段と、
該リセット手段によるリセット時に、前記バスに対してバス特性情報を出力するバス特性情報出力手段とを備えたことを特徴とする。
また、本発明にかかる第6のホストブリッジは、未完了のトランザクションや異常デバイスを発行元とする未完了のトランザクションを容易且つ確実に認識できるようにするため、第5のホストブリッジにおいて、
前記各デバイスから自ホストブリッジに対して発行されたトランザクションとそのトランザクションの発行元のデバイスの識別子とを対応付けて保持するリクエストキューを備え、且つ、
前記リセット手段が、前記リクエストキューに未完了のトランザクションが保持されていないか、或いは保持されている未完了のトランザクションが前記異常が発生したデバイスから発行されたトランザクションのみであることを条件にして、前記異常の発生したデバイスに対するリセットを実施する構成を有することを特徴とする。
また、本発明にかかる第7のホストブリッジは、異常デバイスが発生したとき、正常動作しているデバイスに対する影響がなるべく小さくなるようにしながら、異常デバイスに対する再立ち上げを迅速に行えるようにするため、
バス上のバス特性情報をリセット解除時に取り込むデバイスが複数接続されたバスに接続されるホストブリッジであって、
前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからの新たなトランザクションの発行を抑止し、その後、未完了のトランザクションがないことを条件にして、前記異常の発生したデバイスに対してリセットを実施すると共に前記バスにバス特性情報を出力する構成を有することを特徴とする。
また、本発明にかかる第1のバスシステムのオンライン再立ち上げ方法は、異常デバイスが発生したとき、正常動作しているデバイスに対する影響がなるべく小さくなるようにしながら、異常デバイスに対する再立ち上げを迅速に行えるようにするため、
バス上に複数のデバイスが接続されたバスシステムにおいて、
前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスから既に発行されているトランザクションを処理する場合を除き、正常動作しているデバイスによる前記バスの利用を抑止し、その後、未完了のトランザクションがないことを条件にして、前記異常の発生したデバイスに対してリセットを実施すると共に前記バスに対してバス特性情報を出力し、リセット解除時に前記異常の発生したデバイスにバス特性情報を取り込ませることを特徴とする。
また、本発明にかかる第2のバスシステムのオンライン再立ち上げ方法は、簡単な処理で上記目的を達成できるようにするため、
バス上に複数のデバイスとホストブリッジとが接続されたバスシステムにおいて、
前記ホストブリッジが、前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからのバスリクエストをマスクし、その後、未完了のトランザクションがないことを条件にして、前記異常の発生したデバイスに対してリセットを実施すると共に前記バスに対してバス特性情報を出力し、
前記各デバイスが、リセット解除時に、前記バス上のバス特性情報を取り込むことを特徴とする。
より具体的には、本発明にかかる第3のバスシステムのオンライン再立ち上げ方法は、第2のバスシステムのオンライン再立ち上げ方法において、
前記ホストブリッジが、
前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからバスアービターへのバスリクエストをマスクするマスクステップと、
自ホストブリッジ内に未完了のトランザクションがないことを条件にして、前記異常の発生したデバイスに対するリセットを実施するリセットステップと、
該リセットステップによるリセット実施時に、前記バスに対してバス特性情報を出力するバス特性情報出力ステップとを実施することを特徴とする。
また、本発明にかかる第4のバスシステムのオンライン再立ち上げ方法は、未完了のトランザクションを容易に認識できるようにするため、第3のバスシステムのオンライン再立ち上げ方法において、
前記ホストブリッジが、前記各デバイスから自ホストブリッジに対して発行されたトランザクションを保持するリクエストキューを備え、且つ、
前記リセットステップにおいては、前記リクエストキューに未完了のトランザクションが保持されていないことを条件にして、前記異常の発生したデバイスに対するリセットを実施することを特徴とする。
また、本発明にかかる第5のバスシステムのオンライン再立ち上げ方法は、第2のバスシステムのオンライン再立ち上げ方法よりも迅速に異常デバイスを再立ち上げできるようにするため、
バス上に複数のデバイスとホストブリッジとが接続されたバスシステムにおいて、
前記ホストブリッジが、前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからのバスリクエストをマスクし、その後、未完了のトランザクションがないか、或いは未完了のトランザクションが前記障害の発生したデバイスを発行元とするトランザクションだけであることを条件にして、前記異常の発生したデバイスに対してリセットを実施すると共に前記バスに対してバス特性情報を出力し、
前記各デバイスが、リセット解除時に、前記バス上のバス特性情報を取り込むことを特徴とする。
より具体的には、本発明にかかる第6のバスシステムのオンライン再立ち上げ方法は、第5のバスシステムのオンライン再立ち上げ方法において、
前記ホストブリッジが、
前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからバスアービターへのバスリクエストをマスクするマスクステップと、
自ホストブリッジ内に未完了のトランザクションがないか、或いは未完了のトランザクションが前記障害の発生したデバイスを発行元とするトランザクションだけであることを条件にして、前記異常の発生したデバイスに対するリセットを実施するリセットステップと、
該リセットステップによるリセット実施時に、前記バスに対してバス特性情報を出力するバス特性情報出力ステップとを行うことを特徴とする。
本発明にかかる第7のバスシステムのオンライン再立ち上げ方法は、未完了のトランザクションや異常デバイスを発行元とする未完了のトランザクションを容易且つ確実に認識できるようにするため、第6のバスシステムのオンライン再立ち上げ方法において、
前記ホストブリッジが、前記各デバイスから自ホストブリッジに対して発行されたトランザクションとそのトランザクションの発行元のデバイスの識別子とを対応付けて保持するリクエストキューを備え、且つ、
前記リセットステップにおいて、前記リクエストキューに未完了のトランザクションが保持されていないか、或いは保持されている未完了のトランザクションが前記異常が発生したデバイスから発行されたトランザクションのみであることを条件にして、前記異常の発生したデバイスに対するリセットを実施することを特徴とする。
また、本発明にかかる第8のバスシステムのオンライン再立ち上げ方法は、異常デバイスが発生したとき、正常動作しているデバイスに対する影響がなるべく小さくなるようにしながら、異常デバイスに対する再立ち上げを迅速に行えるようにするため、
バス上に複数のデバイスとホストブリッジとが接続されたバスシステムにおいて、
前記ホストブリッジが、前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからの新たなトランザクションの発行を抑止し、その後、未完了のトランザクションがないことを条件にして、前記異常の発生したデバイスに対してリセットを実施すると共に前記バスにバス特性情報を出力し、
前記各デバイスが、リセット解除時に、前記バス上のバス特性情報を取り込むことを特徴とする
本発明にかかる第1のプログラムは、異常デバイスが発生したとき、正常動作しているデバイスに対する影響がなるべく小さくなるようにしながら、異常デバイスに対する再立ち上げを迅速に行えるようにするため、
バス上に複数のデバイスとホストブリッジとが接続され、
前記ホストブリッジが、
デバイス制御手段からのマスク指示に従って前記各デバイスからバスアービターへのバスリクエストをマスクするマスク手段と、
前記デバイス制御手段からのリセット指示に従って前記異常の発生したデバイスに対するリセットを実施するリセット手段と、
該リセット手段によるリセット時に、バス特性情報を前記バスに出力するバス特性情報出力手段とを備え、
前記各デバイスが、リセット解除時に、前記バス上のバス特性情報を取り込む構成を有するバスシステムの構成要素である前記デバイス制御手段の処理を、コンピュータに実行させるためのプログラムであって、
前記コンピュータに、
前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記マスク手段に対してマスク指示を出力するマスクステップと、
該マスクステップの実行後、前記ホストブリッジ内に未完了のトランザクションがないことを条件にして、前記リセット手段に対してリセット指示を出力するリセットステップとを実行させることを特徴とする。
また、本発明にかかる第2のプログラムは、第1のプログラムよりも迅速に異常デバイスを再立ち上げできるようにするため、
バス上に複数のデバイスとホストブリッジとが接続され、
前記ホストブリッジが、
デバイス制御手段からのマスク指示に従って前記各デバイスからバスアービターへのバスリクエストをマスクするマスク手段と、
前記デバイス制御手段からのリセット指示に従って前記異常の発生したデバイスに対するリセットを実施するリセット手段と、
該リセット手段によるリセット時に、バス特性情報を前記バスに出力するバス特性情報出力手段とを備え、
前記各デバイスが、リセット解除時に、前記バス上のバス特性情報を取り込む構成を有するバスシステムの構成要素である前記デバイス制御手段の処理を、コンピュータに実行させるためのプログラムであって、
前記コンピュータに、
前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記マスク手段に対してマスク指示を出力するマスクステップと、
該マスクステップの実行後、未完了のトランザクションがないか、或いは未完了のトランザクションが前記障害の発生したデバイスを発行元とするトランザクションだけであることを条件にして、前記リセット手段に対してリセット指示を出力するリセットステップとを実行させることを特徴とする。
本発明にかかる第1のバスシステムは、異常デバイスが発生したとき、正常動作しているデバイスに対する影響がなるべく小さくなるようにしながら、異常デバイスに対する再立ち上げを迅速に行えるという効果を有する。
その理由は、異常デバイス発生時に、正常なデバイスによるバスの使用を抑止して、新たなトランザクションが正常なデバイスから発行されないようにし、その後、未完了のトランザクションがないことを条件にして異常デバイスに対するリセット(バスへのバス特性情報を出力する処理も含む)を行うからである。つまり、正常なデバイスは、異常発生前の既に発行しているトランザクションについては、何の遅れもなしに処理結果を得ることができ、異常デバイスは、異常発生時に未完了であったトランザクションが処理されたタイミングでリセットされるので、正常動作しているデバイスに対する影響を小さくし、且つ異常デバイスに対する再立ち上げを迅速に行うことが可能になる。
本発明にかかる第2のバスシステムは、簡単な構成で第1のバスシステムと同様の効果を得ることができる。
その理由は、各デバイスからのバスリクエストをマスクすることにより、新たなトランザクションが発行されないようにしているからである。
本発明にかかる第3のバスシステムは、簡単な構成で第1のバスシステムと同様の効果を得られる。
その理由は、マスク手段によって各デバイスからのバスリクエストをマスクすることにより、新たなトランザクションが発行されないようにしているからである。
本発明にかかる第4のバスシステムは、未完了のトランザクションを容易且つ確実に認識できるという効果を有する。
その理由は、各デバイスから発行されたトランザクションをリクエストキューで保持するようにしているからである。
本発明に第5のバスシステムは、異常の発生したデバイスの再立ち上げを第2のバスシステムよりも迅速に行えるという効果を有する。
その理由は、未完了のトランザクションがあっても、それが異常デバイスが発行したトランザクションである場合には、その完了を待たずにリセット処理を行うからである。
本発明にかかる第6のバスシステムは、簡単な構成で第5のバスシステムと同様の効果を得ることができる。
その理由は、マスク手段によって各デバイスからのバスリクエストをマスクすることにより、新たなトランザクションが発行されないようにしているからである。
本発明にかかる第7のバスシステムは、未完了のトランザクションや、異常デバイスから発行された未完了のトランザクションを容易且つ確実に確認できるという効果を有する。
その理由は、各デバイスから発行されたトランザクションとそのトランザクションの発行元のデバイスの識別子とを対応付けて保持するリクエストキューを備えているからである。
本発明にかかる第8のバスシステムは、異常デバイスが発生したとき、異常デバイスをなるべく迅速に再立ち上げできるようにすると共に、正常動作しているデバイスに対する影響をなるべく小さくできるという効果を有する。
その理由は、異常デバイスが発生したとき、各デバイスから新たなトランザクションが発行されないようにし、その後、未完了のトランザクションがないことを条件にして、異常デバイスに対するリセットを実施しているからである。
本発明にかかる第1のホストブリッジは、異常デバイスが発生したとき、正常動作しているデバイスに対する影響がなるべく小さくなるようにしながら、異常デバイスに対する再立ち上げを迅速に行えるという効果を有する。
その理由は、異常デバイス発生時に、正常なデバイスによるバスの使用を抑止して、新たなトランザクションが正常なデバイスから発行されないようにし、その後、未完了のトランザクションがないことを条件にして異常デバイスに対するリセットを実施するからである。
本発明にかかる第2のホストブリッジは、簡単な構成で第1のホストブリッジと同様の効果を得られる。
その理由は、マスク手段によって各デバイスからのバスリクエストをマスクすることにより、新たなトランザクションが発行されないようにしているからである。
本発明にかかる第3のホストブリッジは、未完了のトランザクションがないことを容易且つ確実に認識できるという効果を有する。
その理由は、各デバイスから発行されたトランザクションを保持するリクエストキューを備えているからである。
本発明にかかる第4のホストブリッジは、異常の発生したデバイスの再立ち上げを第1のホストブリッジよりも迅速に行えるという効果を有する。
その理由は、未完了のトランザクションがあっても、それが異常デバイスが発行したトランザクションである場合には、その完了を待たずにリセット処理を行うからである。
本発明にかかる第5のホストブリッジは、簡単な構成で第4のホストブリッジと同様の効果を得られる。
その理由は、マスク手段によって各デバイスからのバスリクエストをマスクすることにより、新たなトランザクションが発行されないようにしているからである。
本発明にかかる第6のホストブリッジは、未完了のトランザクションや異常デバイスを発行元とする未完了のトランザクションを容易且つ確実に認識できるという効果を有する。
その理由は、各デバイスから発行されたトランザクションとそのトランザクションの発行元のデバイスの識別子とを対応付けて保持するリクエストキューを備えているからである。
本発明にかかる第7のホストブリッジは、異常デバイスが発生したとき、異常デバイスをなるべく迅速に再立ち上げできるようにすると共に、正常動作しているデバイスに対する影響をなるべく小さくできるという効果を有する。
その理由は、異常デバイスが発生したとき、各デバイスから新たなトランザクションが発行されないようにし、その後、未完了のトランザクションがないことを条件にして、異常デバイスに対するリセットを実施しているからである。
本発明にかかる第1のバスシステムのオンライン再立ち上げ方法は、異常デバイスが発生したとき、正常動作しているデバイスに対する影響がなるべく小さくなるようにしながら、異常デバイスに対する再立ち上げを迅速に行えるという効果を有する。
その理由は、異常デバイス発生時に、正常なデバイスによるバスの使用を抑止して、新たなトランザクションが正常なデバイスから発行されないようにし、その後、未完了のトランザクションがないことを条件にして異常デバイスに対するリセット(バスへのバス特性情報を出力する処理も含む)を行うからである。
本発明にかかる第2のバスシステムのオンライン再立ち上げ方法は、簡単な処理で第1のバスシステムのオンライン再立ち上げ方法と同様の効果を得られる。
その理由は、各デバイスからのバスリクエストをマスクすることにより、新たなトランザクションが発行されないようにしているからである。
本発明にかかる第3のバスシステムのオンライン再立ち上げ方法は、簡単な処理で第1のバスシステムのオンライン再立ち上げ方法と同様の効果を得られる。
その理由は、各デバイスからバスアービターへのバスリクエストをマスクするマスクステップを含んでいるからである。
本発明にかかる第4のバスシステムのオンライン再立ち上げ方法は、未完了のトランザクションを容易且つ確実に認識できるという効果を有する。
その理由は、各デバイスから発行されたトランザクションを保持するリクエストキューを備えているからである。
本発明にかかる第5のバスシステムのオンライン再立ち上げ方法は、第2のバスシステムのオンライン再立ち上げ方法よりも迅速に異常デバイスを再立ち上げできるという効果を有する。
その理由は、未完了のトランザクションがあっても、それが異常デバイスが発行したトランザクションである場合には、その完了を待たずにリセット処理を行うからである。
本発明にかかる第6のバスシステムのオンライン再立ち上げ方法は、簡単な処理で第5のバスシステムのオンライン再立ち上げ方法と同様の効果を得ることができる。
その理由は、マスクステップによって各デバイスからのバスリクエストをマスクすることにより、新たなトランザクションが発行されないようにしているからである。
本発明にかかる第7のバスシステムのオンライン再立ち上げ方法は、未完了のトランザクションや、異常デバイスを発行元とする未完了のトランザクションを容易且つ確実に認識できるという効果を有する。
その理由は、各デバイスから発行されたトランザクションとそのトランザクションの発行元のデバイスの識別子とを対応付けて保持するリクエストキューを備えているからである。
本発明にかかる第8のバスシステムのオンライン再立ち上げ方法は、異常デバイスが発生したとき、正常動作しているデバイスに対する影響がなるべく小さくなるようにしながら、異常デバイスに対する再立ち上げを迅速に行えるという効果を有する。
その理由は、異常デバイス発生時に、各デバイスからの新たなトランザクションの発行を抑止し、その後、未完了のトランザクションがないことを条件にして異常デバイスに対するリセットを実施するからである。
本発明にかかる第1のプログラムは、異常デバイスが発生したとき、正常動作しているデバイスに対する影響がなるべく小さくなるようにしながら、異常デバイスに対する再立ち上げを迅速に行えるという効果を有する。
その理由は、異常デバイス発生時に、バスリクエストのマスクを指示するマスク指示を出力することにより、新たなトランザクションが正常なデバイスから発行されないようにし、その後、未完了のトランザクションがないことを条件にして異常デバイスに対するリセットを指示するリセット指示を出力するようにしているからである。
本発明にかかる第2のプログラムは、第1のプログラムよりも迅速に異常デバイスを再立ち上げできるという効果を有する。
その理由は、未完了のトランザクションがあっても、それが異常デバイスが発行したトランザクションである場合には、その完了を待たずにリセット指示を出力するようにしているからである。
次に本発明の実施の形態について図面を参照して詳細に説明する。
〔実施の形態の構成〕
図1は本発明の一実施の形態としてのPCIバスシステムの構成例を示すブロック図である。同図を参照すると、本実施の形態にかかるPCIバスシステムは、上位装置とのI/F部(インタフェース部)を有するPCIデバイス1と、ディスク装置とのI/F部を有するPCIデバイス2と、ホストブリッジ3とがPCIバス10に接続されている。ホストブリッジ3からPCIデバイス1、2に対しては、それぞれ個別のリセット信号RST11、RST12が用意されている。また、ホストブリッジ3には、CPU4及びメモリ5が接続されている。
CPU4は、図2に示すように、PCIデバイス制御プログラム等によって実現されるPCIデバイス制御手段41を備えている。
PCIデバイス制御手段41は、PCIデバイス1、2に異常が発生したとき、ホストブリッジ3に対してバスリクエスト信号REQ31、REQ32及びバスグラント信号GNT21、GNT22のマスクを指示するマスク指示42を出力する機能や、ホストブリッジ3内に処理が未完了のトランザクションがないことを条件にして、ホストブリッジ3に対して異常の発生したPCIデバイスの識別子を含むリセット指示43を出力する機能や、コンフィギュレーションの実施対象にするPCIデバイスの識別子を含むコンフィギュレーション指示44をホストブリッジ3に対して出力する機能などを有する。なお、PCIデバイス制御手段41をプログラムによって実現する場合には、ディスク、半導体メモリ、その他の記録媒体にPCIデバイス制御プログラムを記録しておき、CPU4に上記PCIデバイス制御プログラムを読み込ませる。CPU4は、読み込んだPCIデバイス制御プログラムに従って自身の動作を制御し、自CPU4上にPCIデバイス制御手段41を実現する。
ホストブリッジ3は、図2に示すように、バスアービター31と、マスク手段32と、リセット手段33と、リクエストキュー34と、PCIファンクション部35とを備えている。
バスアービター31は、各PCIデバイス1、2からのバスリクエスト信号REQ31、REQ32を調停し、PCIバス10の使用権を与えるPCIデバイス1、2に対してバスグラント信号GNT21、GNT22を出力する機能を有する。
マスク手段32は、PCIデバイス制御手段41からのマスク指示42が有効になっている間、全てのPCIデバイス1、2からのバスリクエスト信号REQ31、REQ32及び全てのPCIデバイス1、2に対するバスグラント信号GNT21、GNT22をマスクする機能を有する。
リセット手段33は、PCIデバイス制御手段41からPCIデバイスの識別子を含むリセット指示43が入力されたとき、上記識別子によって特定されるPCIデバイスに対してリセット信号を出力する機能を有する。例えば、上記識別子がPCIデバイス1を示すものである場合はリセット信号RST11を出力し、PCIデバイス2を示すものである場合はリセット信号RST12を出力する。更に、リセット手段33は、PCIデバイス制御手段41からリセット指示43が入力されたとき、PCIファンクション部35に対してバス特性情報出力指示331を出力する機能を有する。
リクエストキュー34は、各PCIデバイス1、2がPCIバス10上に発行したトランザクションをスタックする。図3にリクエストキュー34の構成例を示す。同図に示したリクエストキュー34は、最大4つのトランザクションをスタックできるようになっており、トランザクションをスタックする4つの領域T0〜T3を有している。各領域T0〜T3には、トランザクションコマンドを格納するコマンド領域C0〜C3と、トランザクションのアドレスを格納するアドレス領域A0〜A3と、各領域T0〜T3の有効無効を示す有効ビットが格納される有効ビット領域V0〜V3とが設けられている。有効ビットは、該当するトランザクションが本キュー34にスタックされたときに“1”(有効)にされ、該当するトランザクションがPCIバス10上で完結したとき“0”(無効)にされる。なお、リクエストキュー34の内容は、CPU4内のPCIデバイス制御手段41から参照可能になっている。
PCIファンクション部35は、バス特性情報出力手段351と、コンフィギュレーション手段352と、トランザクション処理手段353とを含んでいる。
バス特性情報出力手段351は、リセット手段33からバス特性情報出力指示331が与えられると、PCIバス10上に現在のバス特性を示すバス特性情報(バス幅、動作周波数などを含む)を出力する機能を有する。なお、本実施の形態では、リセット手段33がPCIデバイス制御手段41からリセット指示43受けたタイミングで、バス特性情報出力手段351に対してバス特性情報出力指示331を出力するようにしたが、PCIデバイス制御手段41が、リセット指示43と同一タイミングでバス特性情報出力指示331をバス特性情報出力手段351に対して出力するようにしても良い。
コンフィギュレーション手段352は、PCIデバイス制御手段41からPCIデバイスの識別子を含むコンフィギュレーション指示44が入力されたとき、上記識別子によって特定されるPCIデバイスに対してコンフィギュレーションを実施する機能を有する。
トランザクション処理手段353は、リクエストキュー34にスタックされている未完了のトランザクションを処理する機能を有する。
〔実施の形態の動作〕
次に本実施の形態の動作について詳細に説明する。
今、例えば、上位装置とのI/F部を有するPCIデバイス1において、何らかの異常が発生したとすると、システムに搭載されている異常検出手段(図示せず)からCPU4に対して異常報告(異常発生箇所、異常種別などを含む)がなされる。CPU4は、割り込みルーチンを実行し、PCIデバイスの異常であることを認識すると、PCIデバイス制御手段41に制御を渡す。
これにより、PCIデバイス制御手段41は、異常種別などに基づいて、PCIデバイス1において発生した異常がPCIリセットの対象となる異常であるか否かを判断する(図4、ステップ100)。
そして、PCIリセットの対象にならない異常であると判断した場合(ステップ100がN)は、通常のエラー処理を行う。これに対して、PCIリセットの対象になると判断した場合(ステップ100がY)は、ホストブリッジ3に対してマスク指示42を出力する(ステップ101)。これにより、ホストブリッジ3内のマスク手段32は、全てのバスリクエスト信号REQ31、REQ32及び全てのバスグラント信号GNT21、GNT22をマスクする。本処理が行われてから、マスクが解除される迄、PCIデバイス1、2からの新たなトランザクションがリクエストキュー34にスタックされる事はなくなる。
その後、PCIデバイス制御手段41は、リクエストキュー34の有効ビット領域V0〜V3を参照し、リクエストキュー34に未完了のトランザクションが保持されているか否かを調べる(ステップ102)。そして、未完了のトランザクションが保持されていなければ、次のステップ103に進む。ここで、有効ビット領域V0〜V3には、リクエストキュー34に該当するトランザクションが受け付けられたとき、“1”がセットされ、該当するトランザクションが完了したとき、“0”がセットされるので、PCIデバイス制御手段41は、有効ビット領域V0〜V3がオール“0”であれば、未完了のトランザクションがスタックされていないと判断して次のステップ103に進み、オール“0”でなければ再び有効ビット領域V0〜V3を参照して未完了のトランザクションが保持されているか否かを調べる。PCIデバイス制御手段41は、この処理を有効ビット領域V0〜V3がオール“0”となるまで繰り返す。
なお、リクエストキュー34にスタックされているトランザクションは、トランザクション処理手段353によって処理される。例えば、トランザクション領域T0に、メモリ5のアドレスAxに対するReadコマンド(PCI−X時は転送長も存在する)が格納されていた場合、トランザクション処理手段353は、メモリ5のアドレスAxに対してReadアクセスを行う。そして、Read Dataを準備できたら、PCIバス10の使用権を取得し(異常デバイスが発生している時には、各PCIデバイス1、2からのバスリクエスト信号REQ31、REQ32はマスク手段32によってマスクされているので、直ちにバス使用権を取得できる)、PCIバス10を介してトランザクションの発行元のPCIデバイスにRead Dataを転送し、Read Dataの転送が完了した時点で有効ビット領域V0を“0”とする。また、メモリ5のアドレスAxに対するライトコマンドであった場合は、トランザクション発行元のPCIデバイスから受信したデータをメモリ5に書き込み終わったら有効ビット領域V0を“0”とする。
ステップ102において、リクエストキュー34に未完了のトランザクションがないと判断すると、PCIデバイス制御手段41は、ホストブリッジ3に対して、異常の発生したPCIデバイス1の識別子を含むリセット指示43を出力する(ステップ103)。これにより、ホストブリッジ3内のリセット手段33は、リセット指示43中の識別子によって特定されるPCIデバイス1に対してリセット信号RST11を出力すると共に、バス特性情報出力手段351に対してバス特性情報出力指示331を出力し、バス特性情報出力手段351は、バス幅などのバス特性情報をPCIバス10に出力する。また、リセット対象となったPCIデバイス1は、リセット解除時にPCIバス10上のバス特性情報をラッチする。
PCIデバイス1に対するリセットが完了すると、PCIデバイス制御手段41は、ホストブリッジ3に対して、コンフィギュレーションの対象にするPCIデバイス1の識別子を含んだコンフィギュレーション指示44を出力する(ステップ104)。これにより、コンフィギュレーション手段352は、上記識別子によって特定されるPCIデバイス1に対するコンフィギュレーションを実施する。但し、この場合のPCIコンフィギュレーションはパワーオンリセット時のコンフィギュレーションを保存しておきその内容を再設定する形となる。
その後、PCIデバイス制御手段41は、マスク指示42を解除する(ステップ105)。これにより、マスク手段32は、バスリクエスト信号REQ31、REQ32及びバスグラント信号GNT21、GNT22に対するマスクを解除する。これにより、各PCIデバイス1、2は、バス使用権を獲得可能な状態となり、トランザクションを発行することが可能になる。
このように、本実施の形態によれば、同一PCIバス上に接続されたPCIデバイス同士において、一方のデバイスにPCIリセットが必要となる様な異常が発生した場合においても、正常に動作しているデバイスの動作が一時的に停止するのみという最小限の影響のみで被疑対象のPCIデバイスを再立ち上げする事が可能となる可用性の高いPCIバスシステムを構築可能となる。
〔発明の他の実施の形態〕
次に本発明の他の実施の形態について説明する。本実施の形態は、図3に示した構成を有するリクエストキュー34の代わりに図5に示す構成を有するリクエストキュー34aを使用し、且つ、PCIデバイス制御手段41に図6のフローチャートに示す処理を実行させることにより実現される。
図5を参照すると、本実施の形態で使用するリクエストキュー34aは、図3に示したリクエストキュー34に、トランザクションの発行元PCIデバイスの識別子を保持するデバイス識別子領域D0〜D3が追加された構成となっている。
次に本実施の形態の動作について、図6のフローチャートを参照して説明する。なお、前述した実施の形態との相違点は、ステップ102aだけであるので、この部分についてのみ詳細に説明する。
前述した実施の形態と同様に、PCIデバイス1において何らかの異常が発生すると、PCIデバイス制御手段41は、ステップ100、101の処理を行い、バスリクエスト信号REQ31、REQ32及びバスグラント信号GNT21、GNT22をマスクする。
その後、PCIデバイス制御手段41は、リクエストキュー34aの有効ビット領域V0〜V3及びデバイス識別子領域D0〜D3の内容に基づいて、リクエストキュー34aの状態が、未完了のトランザクションを全く保持していない状態、或いは、リセット対象のPCIデバイス1を発行元にするトランザクション以外に未完了のトランザクションを保持していない状態であるか否かを調べる(ステップ102a)。そして、リクエストキュー34aの状態が上記した2つの状態の内の何れかの状態になっている場合は、次のステップ103に進む。
このステップ102aの処理を詳しく説明すると、次のようになる。PCIデバイス制御手段41は、先ず、有効ビット領域V0〜V3を参照し、“1”がセットされている有効ビット領域があるか否かを調べる。“1”がセットされている有効ビット領域がなければ、次のステップ103に進む。これに対して、“1”がセットされている有効ビット領域Vj(0≦j≦3)が存在すれば、その有効ビット領域Vjと対応するデバイス識別子領域Djに登録されている識別子がリセット対象にしているPCIデバイス1の識別子であるか否かを調べる。そして、リセット対象にしているPCIデバイス1の識別子である場合には、有効ビット領域Vjに“0”(無効)をセットした後、次のステップ103に進む。ここで、有効ビット領域Vjに“0”をセットするのは、異常発生前にPCIデバイス1が発行したトランザクションの処理結果が、再立ち上げ後のPCIデバイス1に悪影響を及ぼさないようにするためである。これに対して、他のPCIデバイスの識別子である場合には、リクエストキュー34aの有効ビット領域V0〜V3を参照し、前述した処理を再び行う。ステップ103以降は、前述した実施の形態と同様の動作を行う。
このように、本実施の形態は、リクエストキューに未完了のトランザクションがスタックされていても、それが異常デバイスによって発行されたものである場合は、処理完了を待たずにリセット処理を行うので、前述した実施の形態に比較して、異常デバイスの再立ち上げを迅速に行うことができる。
なお、上述した各実施の形態では、PCIバスシステムを例に挙げて説明したが、PCI−Xバスシステムにも本発明を適用することができる。
本発明の一実施の形態の全体構成を示すブロック図である。 ホストブリッジ3の構成例を示すブロック図である。 リクエストキュー34の構成例を示す図である。 PCIデバイス制御手段41の処理例を示すフローチャートである。 本発明の他の実施の形態において使用するリクエストキュー34aの構成例を示す図である。 本発明の他の実施の形態におけるPCIデバイス制御手段41の処理例を示すフローチャートである。 第1の従来の技術を説明するためのブロック図である。 第2の従来の技術の構成を説明するためのブロック図である。 第2の従来の技術の処理を説明するためのフローチャートである。
符号の説明
1、2…PCIデバイス
3、3a、3b…ホストブリッジ
31…バスアービター
31a、32a…リセット信号生成回路
32…マスク手段
33…リセット手段
34、34a…リクエストキュー
35…PCIファンクション部
351…バス特性情報出力手段
352…コンフィギュレーション手段
353…トランザクション処理手段
4、4a…CPU
41…PCIデバイス制御手段
5…メモリ
10…PCIバス

Claims (25)

  1. バス上に複数のデバイスが接続されたバスシステムにおいて、
    前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスから既に発行されているトランザクションを処理する場合を除き、正常動作しているデバイスによる前記バスの利用を抑止し、その後、未完了のトランザクションがないことを条件にして、前記異常の発生したデバイスに対してリセットを実施すると共に前記バスに対してバス特性情報を出力し、リセット解除時に前記異常の発生したデバイスにバス特性情報を取り込ませる構成を有することを特徴とするバスシステム。
  2. バス上に複数のデバイスとホストブリッジとが接続されたバスシステムにおいて、
    前記ホストブリッジが、前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからのバスリクエストをマスクし、その後、未完了のトランザクションがないことを条件にして、前記異常の発生したデバイスに対してリセットを実施すると共に前記バスに対してバス特性情報を出力する構成を有し、
    前記各デバイスが、リセット解除時に、前記バス上のバス特性情報を取り込む構成を有することを特徴とするバスシステム。
  3. 請求項2記載のバスシステムにおいて、
    前記ホストブリッジが、
    前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからバスアービターへのバスリクエストをマスクするマスク手段と、
    自ホストブリッジ内に未完了のトランザクションがないことを条件にして、前記異常の発生したデバイスに対するリセットを実施するリセット手段と、
    該リセット手段によるリセット時に、前記バスに対してバス特性情報を出力するバス特性情報出力手段とを備えたことを特徴とするバスシステム。
  4. 請求項3記載のバスシステムにおいて、
    前記ホストブリッジが、前記各デバイスから自ホストブリッジに対して発行されたトランザクションを保持するリクエストキューを備え、且つ、
    前記リセット手段が、前記リクエストキューに未完了のトランザクションが保持されていないことを条件にして、前記異常の発生したデバイスに対するリセットを実施する構成を有することを特徴とするバスシステム。
  5. バス上に複数のデバイスとホストブリッジとが接続されたバスシステムにおいて、
    前記ホストブリッジが、前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからのバスリクエストをマスクし、その後、未完了のトランザクションがないか、或いは未完了のトランザクションが前記障害の発生したデバイスを発行元とするトランザクションだけであることを条件にして、前記異常の発生したデバイスに対してリセットを実施すると共に前記バスに対してバス特性情報を出力する構成を有し、
    前記各デバイスが、リセット解除時に、前記バス上のバス特性情報を取り込む構成を有することを特徴とするバスシステム。
  6. 請求項5記載のバスシステムにおいて、
    前記ホストブリッジが、
    前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからバスアービターへのバスリクエストをマスクするマスク手段と、
    自ホストブリッジ内に未完了のトランザクションがないか、或いは未完了のトランザクションが前記障害の発生したデバイスを発行元とするトランザクションだけであることを条件にして、前記異常の発生したデバイスに対するリセットを実施するリセット手段と、
    該リセット手段によるリセット時に、前記バスに対してバス特性情報を出力するバス特性情報出力手段とを備えたことを特徴とするバスシステム。
  7. 請求項6記載のバスシステムにおいて、
    前記ホストブリッジが、前記各デバイスから自ホストブリッジに対して発行されたトランザクションとそのトランザクションの発行元のデバイスの識別子とを対応付けて保持するリクエストキューを備え、且つ、
    前記リセット手段が、前記リクエストキューに未完了のトランザクションが保持されていないか、或いは保持されている未完了のトランザクションが前記異常が発生したデバイスから発行されたトランザクションのみであることを条件にして、前記異常の発生したデバイスに対するリセットを実施する構成を有することを特徴とするバスシステム。
  8. バス上に複数のデバイスとホストブリッジとが接続されたバスシステムにおいて、
    前記ホストブリッジが、前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからの新たなトランザクションの発行を抑止し、その後、未完了のトランザクションがないことを条件にして、前記異常の発生したデバイスに対してリセットを実施すると共に前記バスにバス特性情報を出力する構成を有し、
    前記各デバイスが、リセット解除時に、前記バス上のバス特性情報を取り込む構成を有することを特徴とするバスシステム。
  9. バス上のバス特性情報をリセット解除時に取り込むデバイスが複数接続されたバスに接続されるホストブリッジであって、
    前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからのバスリクエストをマスクし、その後、未完了のトランザクションがないことを条件にして、前記異常の発生したデバイスに対してリセットを実施すると共に前記バスに対してバス特性情報を出力する構成を有することを特徴とするホストブリッジ。
  10. 請求項9記載のホストブリッジにおいて、
    前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからバスアービターへのバスリクエストをマスクするマスク手段と、
    自ホストブリッジ内に未完了のトランザクションがないことを条件にして、前記異常の発生したデバイスに対するリセットを実施するリセット手段と、
    該リセット手段によるリセット時に、前記バスに対してバス特性情報を出力するバス特性情報出力手段とを備えたことを特徴とするホストブリッジ。
  11. 請求項10記載のホストブリッジにおいて、
    前記各デバイスから自ホストブリッジに対して発行されたトランザクションを保持するリクエストキューを備え、且つ、
    前記リセット手段が、前記リクエストキューに未完了のトランザクションが保持されていないことを条件にして、前記異常の発生したデバイスに対するリセットを実施する構成を有することを特徴とするホストブリッジ。
  12. バス上のバス特性情報をリセット解除時に取り込むデバイスが複数接続されたバスに接続されるホストブリッジであって、
    前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからのバスリクエストをマスクし、その後、未完了のトランザクションがないか、或いは未完了のトランザクションが前記障害の発生したデバイスを発行元とするトランザクションだけであることを条件にして、前記異常の発生したデバイスに対してリセットを実施すると共に前記バスに対してバス特性情報を出力する構成を有することを特徴とするホストブリッジ。
  13. 請求項12記載のホストブリッジにおいて、
    前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからバスアービターへのバスリクエストをマスクするマスク手段と、
    自ホストブリッジ内に未完了のトランザクションがないか、或いは未完了のトランザクションが前記障害の発生したデバイスを発行元とするトランザクションだけであることを条件にして、前記異常の発生したデバイスに対するリセットを実施するリセット手段と、
    該リセット手段によるリセット時に、前記バスに対してバス特性情報を出力するバス特性情報出力手段とを備えたことを特徴とするホストブリッジ。
  14. 請求項13記載のホストブリッジにおいて、
    前記各デバイスから自ホストブリッジに対して発行されたトランザクションとそのトランザクションの発行元のデバイスの識別子とを対応付けて保持するリクエストキューを備え、且つ、
    前記リセット手段が、前記リクエストキューに未完了のトランザクションが保持されていないか、或いは保持されている未完了のトランザクションが前記異常が発生したデバイスから発行されたトランザクションのみであることを条件にして、前記異常の発生したデバイスに対するリセットを実施する構成を有することを特徴とするホストブリッジ。
  15. バス上のバス特性情報をリセット解除時に取り込むデバイスが複数接続されたバスに接続されるホストブリッジであって、
    前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからの新たなトランザクションの発行を抑止し、その後、未完了のトランザクションがないことを条件にして、前記異常の発生したデバイスに対してリセットを実施すると共に前記バスにバス特性情報を出力する構成を有することを特徴とするホストブリッジ。
  16. バス上に複数のデバイスが接続されたバスシステムにおいて、
    前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスから既に発行されているトランザクションを処理する場合を除き、正常動作しているデバイスによる前記バスの利用を抑止し、その後、未完了のトランザクションがないことを条件にして、前記異常の発生したデバイスに対してリセットを実施すると共に前記バスに対してバス特性情報を出力し、リセット解除時に前記異常の発生したデバイスにバス特性情報を取り込ませることを特徴とするバスシステムのオンライン再立ち上げ方法。
  17. バス上に複数のデバイスとホストブリッジとが接続されたバスシステムにおいて、
    前記ホストブリッジが、前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからのバスリクエストをマスクし、その後、未完了のトランザクションがないことを条件にして、前記異常の発生したデバイスに対してリセットを実施すると共に前記バスに対してバス特性情報を出力し、
    前記各デバイスが、リセット解除時に、前記バス上のバス特性情報を取り込むことを特徴とするバスシステムのオンライン再立ち上げ方法。
  18. 請求項17記載のバスシステムのオンライン再立ち上げ方法において、
    前記ホストブリッジが、
    前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからバスアービターへのバスリクエストをマスクするマスクステップと、
    自ホストブリッジ内に未完了のトランザクションがないことを条件にして、前記異常の発生したデバイスに対するリセットを実施するリセットステップと、
    該リセットステップによるリセット実施時に、前記バスに対してバス特性情報を出力するバス特性情報出力ステップとを実施することを特徴とするバスシステムのオンライン再立ち上げ方法。
  19. 請求項18記載のバスシステムのオンライン再立ち上げ方法において、
    前記ホストブリッジが、前記各デバイスから自ホストブリッジに対して発行されたトランザクションを保持するリクエストキューを備え、且つ、
    前記リセットステップにおいては、前記リクエストキューに未完了のトランザクションが保持されていないことを条件にして、前記異常の発生したデバイスに対するリセットを実施することを特徴とするバスシステムのオンライン再立ち上げ方法。
  20. バス上に複数のデバイスとホストブリッジとが接続されたバスシステムにおいて、
    前記ホストブリッジが、前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからのバスリクエストをマスクし、その後、未完了のトランザクションがないか、或いは未完了のトランザクションが前記障害の発生したデバイスを発行元とするトランザクションだけであることを条件にして、前記異常の発生したデバイスに対してリセットを実施すると共に前記バスに対してバス特性情報を出力し、
    前記各デバイスが、リセット解除時に、前記バス上のバス特性情報を取り込むことを特徴とするバスシステムのオンライン再立ち上げ方法。
  21. 請求項20記載のバスシステムのオンライン再立ち上げ方法において、
    前記ホストブリッジが、
    前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからバスアービターへのバスリクエストをマスクするマスクステップと、
    自ホストブリッジ内に未完了のトランザクションがないか、或いは未完了のトランザクションが前記障害の発生したデバイスを発行元とするトランザクションだけであることを条件にして、前記異常の発生したデバイスに対するリセットを実施するリセットステップと、
    該リセットステップによるリセット実施時に、前記バスに対してバス特性情報を出力するバス特性情報出力ステップとを行うことを特徴とするバスシステムのオンライン再立ち上げ方法。
  22. 請求項21記載のバスシステムのオンライン再立ち上げ方法において、
    前記ホストブリッジが、前記各デバイスから自ホストブリッジに対して発行されたトランザクションとそのトランザクションの発行元のデバイスの識別子とを対応付けて保持するリクエストキューを備え、且つ、
    前記リセットステップにおいて、前記リクエストキューに未完了のトランザクションが保持されていないか、或いは保持されている未完了のトランザクションが前記異常が発生したデバイスから発行されたトランザクションのみであることを条件にして、前記異常の発生したデバイスに対するリセットを実施することを特徴とするバスシステムのオンライン再立ち上げ方法。
  23. バス上に複数のデバイスとホストブリッジとが接続されたバスシステムにおいて、
    前記ホストブリッジが、前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記各デバイスからの新たなトランザクションの発行を抑止し、その後、未完了のトランザクションがないことを条件にして、前記異常の発生したデバイスに対してリセットを実施すると共に前記バスにバス特性情報を出力し、
    前記各デバイスが、リセット解除時に、前記バス上のバス特性情報を取り込むことを特徴とするバスシステムのオンライン再立ち上げ方法。
  24. バス上に複数のデバイスとホストブリッジとが接続され、
    前記ホストブリッジが、
    デバイス制御手段からのマスク指示に従って前記各デバイスからバスアービターへのバスリクエストをマスクするマスク手段と、
    前記デバイス制御手段からのリセット指示に従って前記異常の発生したデバイスに対するリセットを実施するリセット手段と、
    該リセット手段によるリセット時に、バス特性情報を前記バスに出力するバス特性情報出力手段とを備え、
    前記各デバイスが、リセット解除時に、前記バス上のバス特性情報を取り込む構成を有するバスシステムの構成要素である前記デバイス制御手段の処理を、コンピュータに実行させるためのプログラムであって、
    前記コンピュータに、
    前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記マスク手段に対してマスク指示を出力するマスクステップと、
    該マスクステップの実行後、前記ホストブリッジ内に未完了のトランザクションがないことを条件にして、前記リセット手段に対してリセット指示を出力するリセットステップとを実行させることを特徴とするプログラム。
  25. バス上に複数のデバイスとホストブリッジとが接続され、
    前記ホストブリッジが、
    デバイス制御手段からのマスク指示に従って前記各デバイスからバスアービターへのバスリクエストをマスクするマスク手段と、
    前記デバイス制御手段からのリセット指示に従って前記異常の発生したデバイスに対するリセットを実施するリセット手段と、
    該リセット手段によるリセット時に、バス特性情報を前記バスに出力するバス特性情報出力手段とを備え、
    前記各デバイスが、リセット解除時に、前記バス上のバス特性情報を取り込む構成を有するバスシステムの構成要素である前記デバイス制御手段の処理を、コンピュータに実行させるためのプログラムであって、
    前記コンピュータに、
    前記複数のデバイスの内の何れかのデバイスに異常が発生したとき、前記マスク手段に対してマスク指示を出力するマスクステップと、
    該マスクステップの実行後、未完了のトランザクションがないか、或いは未完了のトランザクションが前記障害の発生したデバイスを発行元とするトランザクションだけであることを条件にして、前記リセット手段に対してリセット指示を出力するリセットステップとを実行させることを特徴とするプログラム。
JP2003354526A 2003-10-15 2003-10-15 バスシステム、ホストブリッジ、バスシステムのオンライン再立ち上げ方法及びプログラム Pending JP2005122337A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003354526A JP2005122337A (ja) 2003-10-15 2003-10-15 バスシステム、ホストブリッジ、バスシステムのオンライン再立ち上げ方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003354526A JP2005122337A (ja) 2003-10-15 2003-10-15 バスシステム、ホストブリッジ、バスシステムのオンライン再立ち上げ方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2005122337A true JP2005122337A (ja) 2005-05-12

Family

ID=34612412

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003354526A Pending JP2005122337A (ja) 2003-10-15 2003-10-15 バスシステム、ホストブリッジ、バスシステムのオンライン再立ち上げ方法及びプログラム

Country Status (1)

Country Link
JP (1) JP2005122337A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008262538A (ja) * 2007-01-30 2008-10-30 Hewlett-Packard Development Co Lp 入出力(i/o)エラーをハンドリングするための方法及びシステム
US9411758B2 (en) 2012-01-13 2016-08-09 Renesas Electronics Corporation Semiconductor device
US9582448B2 (en) 2014-02-13 2017-02-28 Fujitsu Limited Transmission apparatus and control unit

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008262538A (ja) * 2007-01-30 2008-10-30 Hewlett-Packard Development Co Lp 入出力(i/o)エラーをハンドリングするための方法及びシステム
JP4641546B2 (ja) * 2007-01-30 2011-03-02 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. 入出力(i/o)エラーをハンドリングするための方法及びシステム
US9411758B2 (en) 2012-01-13 2016-08-09 Renesas Electronics Corporation Semiconductor device
US9582448B2 (en) 2014-02-13 2017-02-28 Fujitsu Limited Transmission apparatus and control unit

Similar Documents

Publication Publication Date Title
US7685476B2 (en) Early notification of error via software interrupt and shared memory write
US6223299B1 (en) Enhanced error handling for I/O load/store operations to a PCI device via bad parity or zero byte enables
US7890812B2 (en) Computer system which controls closing of bus
US8028190B2 (en) Computer system and bus control device
JP2006344087A (ja) 制御装置のタスク管理装置、及び、制御装置のタスク管理方法
JP3526031B2 (ja) データ転送装置
JP2005122337A (ja) バスシステム、ホストブリッジ、バスシステムのオンライン再立ち上げ方法及びプログラム
JP2005215809A (ja) コンピュータシステム、バスコントローラ及びそれらに用いるバス障害処理方法
JPH07141176A (ja) コマンドリトライ制御方式
JP4876093B2 (ja) 制御装置のタスク管理装置、及び、制御装置のタスク管理方法
US20060195849A1 (en) Method for synchronizing events, particularly for processors of fault-tolerant systems
US20240201890A1 (en) Data processing method and apparatus
JP6645467B2 (ja) マイクロコンピュータ
JP2002229811A (ja) 論理分割システムの制御方法
US20230315573A1 (en) Memory controller, information processing apparatus, and information processing method
JP4853620B2 (ja) マルチプロセッサシステムと初期立ち上げ方法およびプログラム
JP2008152665A (ja) 半導体集積回路の動作解析方法
JP4102769B2 (ja) 情報処理システム、その故障箇所特定方法、情報処理装置
JP3340284B2 (ja) 冗長システム
JP2007128435A (ja) 情報処理装置、情報処理装置におけるpciカードへのアクセス方法
JP2005010995A (ja) マルチプロセッサシステム及びそのライトバックの障害処理方法
JPH03269628A (ja) 例外処理方式
JP2009301116A (ja) 割り込み装置及びこれを備えた割り込みシステム
JP3341738B2 (ja) メモリのエラー検出方式
JP2007080183A (ja) データ処理装置、及びその制御方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061205

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070205

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071106