(57)【特許請求の範囲】
【請求項１】
（ａ）データ処理機能を実施するための、着脱可能な複数のカードと、
（ｂ）それぞれが複数のカードの１つに対応し、前記カードを入出力バスと相互接続するための複数のブリッジ・インタフェースと、
（ｃ）前記ブリッジ・インタフェース内にあって、前記複数のカードのうちの対応する１つがエラー信号を出したかどうかを判定するための手段と、
（ｄ）前記ブリッジ・インタフェース内にあって、前記複数のカードのうち、エラー信号を出した特定の１つのカードを前記入出力バスから分離させることによって、前記エラー信号が前記入出力バスに伝送されるのを防止する手段と、
（ｅ）前記ブリッジ・インタフェース内にあって、残りの複数のカードがデータ処理活動を続行している間に、前記エラー信号を出した特定の１つのカードをリセットするための手段と、
を含むことを特徴とする、コンピュータ・システム。
【請求項２】
前記ブリッジ・インタフェースの中にあって、
該ブリッジ・インタフェースに接続された前記カードがエラー信号を出したかどうかを示す状況ビットを格納するためのレジスタを、さらに含むことを特徴とする、請求項１に記載のシステム。
【請求項３】
前記ブリッジ・インタフェースが、
前記複数のカードのうち、前記エラー信号を出した前記特定の１つのカードによってデータ処理機能を実施するためのすべての要求を無視するための手段と、
前記複数のカードのうち、前記エラー信号を出した前記特定の１つのカードと、システム・メモリとの間の直接メモリ・アクセス動作を打ち切るための手段と、
をさらに含むことを特徴とする、請求項１または２に記載のシステム。
【請求項４】
前記リセット手段が、
前記複数のカードのうち、前記エラー信号を出した前記特定の１つのカードを再構成するための手段と、
を含むことを特徴とする、請求項１〜３の何れか１つに記載のシステム。
【請求項５】
前記再構成手段が、前記複数のカードのうち、前記エラー信号を出した前記特定の１つのカードを再初期設定するための手段を含むことを特徴とする、請求項４に記載のシステム。
【請求項６】
前記再構成手段が、
前記複数のカードのうち、前記エラー信号を出した前記特定の１つのカードのエラー条件を修理するためにエラー回復ルーチンを呼び出すための手段と、
前記エラー信号を出した前記特定の１つのカードで前記データ処理活動を再実施するための手段と、
を含むことを特徴とする、請求項４に記載のシステム。
【請求項７】
データ処理機能を実施するための複数のカードと、それぞれが複数のカードの１つに対応し、前記カードを入出力バスと相互接続するための複数のブリッジ・インタフェースとを備えたコンピュータ・システムが実行するコンピュータ処理方法であって、
前記ブリッジ・インタフェースが、前記複数のカードのうちの対応する１つがエラー信号を出したかどうかを判定するステップと
前記ブリッジ・インタフェースが、前記複数のカードのうち、エラー信号を出した特定の１つのカードを前記入出力バスから分離させることによって、前記エラー信号が前記入出力バスに伝送されるのを防止するステップと、
前記ブリッジ・インタフェースが、残りの複数のカードがデータ処理活動を続行している間に、前記エラー信号を出した前記特定の１つのカードをリセットするステップと、
を含むことを特徴とするコンピュータ処理方法。
【請求項８】
前記ブリッジ・インタフェースが、
前記ブリッジ・インタフェースに接続された前記カードが前記エラー信号を出したかどうかを示す状況ビットを前記ブリッジ・インタフェース内のレジスタに格納するステップを、さらに実行することを特徴とする、請求項７に記載の方法。
【請求項９】
前記ブリッジ・インタフェースが、
前記複数のカードのうち、前記エラー信号を出した前記特定の１つのカードに係るデータ処理機能を実施するためのすべての要求を無視するステップと、
前記複数のカードのうち、前記エラー信号を出した前記特定の１つのカードと、システム・メモリとの間の直接メモリ・アクセス動作を打ち切るステップと、をさらに実行することを特徴とする、請求項７または８に記載の方法。
【請求項１０】
前記リセット・ステップが、
前記複数のカードのうち、前記エラー信号を出した前記特定の１つのカードを再構成するステップと、を含むことを特徴とする、請求項７〜９の何れか１つに記載の方法。
【請求項１１】
前記再構成ステップが、前記複数のカードのうち、前記エラー信号を出した前記特定の１つのカードを再初期設定するステップを含むことを特徴とする、請求項１０に記載の方法。
【請求項１２】
前記再構成ステップが、
前記複数のカードのうち、前記エラー信号を出した前記特定の１つのカードのエラー条件を修理するためにエラー回復ルーチンを呼び出すステップと、
前記複数のカードのうち、前記エラー信号を出した前記特定の１つのカードで前記データ処理活動を再実施するステップと、
を含むことを特徴とする、請求項１０に記載の方法。
【請求項１３】
自身を覆うカバーを有するコンピュータ・システムにおいて、
（ａ）プロセッサと、
（ｂ）前記プロセッサに接続されたシステム・バスと、
（ｃ）前記システム・バスに接続されたブリッジ・チップと、
（ｄ）前記ブリッジ・チップに接続された入出力用のメザニン・バスと、
（ｅ）カードを受け入れるための複数の入出力スロットと、
（ｆ）入出力用の前記メザニン・バスに電気的に接続され、それぞれが複数の入出力スロットの１つに対応し、前記入出力スロットを入出力用の前記メザニン・バスと相互接続するための複数のブリッジ・インタフェースと、
（ｆ１）前記ブリッジ・インタフェース内にあって、前記複数のカードのうち、エラー信号を出した特定の１つのカードを前記入出力用のメザニン・バスから分離させることによって、前記エラー信号が前記入出力用のメザニン・バスに伝送されるのを防止する手段と、
（ｇ）前記プロセッサがデータ処理を遂行し、前記入出力用のメザニン・バスが作動している間に、前記エラー信号を出した特定の１つのカードに対応する前記入出力スロットを不活性化させることにより前記コンピュータ・システムのハードウェア構成を変化させる手段と、
（ｈ）前記コンピュータ・システムから前記カバーを取り外さずに前記カードを交換可能な手段と、を含み、
前記（ｇ）に示される変化手段は、
リセット制御信号を活性化させる手段と、
該リセット制御信号を検出する手段と、
前記少なくとも１つの入出力スロット内にあるカードをリセットする手段と、
をさらに含むことを特徴とするコンピュータ・システム。
【請求項１４】
前記エラー信号を出した特定の１つのカードに対応する前記入出力スロットが空であるかどうかを判定する手段を、さらに含むことを特徴とする請求項１３に記載のコンピュータ・システム。
【請求項１５】
前記（ｇ）に示される変化手段は、
前記エラー信号を出した特定の１つのカードに対応する前記入出力スロット内にある前記エラー信号を出した特定の１つのカードに係るデータ処理活動を終了させる手段を含むことを特徴とする請求項１３に記載のコンピュータ・システム。
【請求項１６】
前記（ｇ）に示される変化手段は、
前記リセット手段に応答して、前記ブリッジ・インタフェースによって、前記エラー信号を出した特定の１つのカードに対応する前記入出力スロットを入出力用の前記メザニン・バスから切り離し、前記エラー信号を出した特定の１つのカードに対応する前記入出力スロットへの電力を減少させる手段を、
さらに含むことを特徴とする請求項１３に記載のコンピュータ・システム。
【請求項１７】
前記（ｇ）に示される変化手段は、
前記エラー信号を出した特定の１つのカードに対応する前記入出力スロットが不活性化され、前記エラー信号を出した特定の１つのカードが取り除かれうる状態になったことを示すＬＥＤを、
さらに含むことを特徴とする請求項１６に記載のコンピュータ・システム。
【請求項１８】
前記（ｇ）に示される変化手段は、
前記不活性化された入出力スロット内にインストールされる新しいカードが、コネクタに挿入されたことを検出する手段と、
該新しいカードの検出に応じて、コネクタへの電力を増加させる手段と、
を、さらに含むことを特徴とする請求項１７に記載のコンピュータ・システム。
【請求項１９】
前記（ｇ）に示される変化手段は、
前記新しいカードの検出に応じて、前記ブリッジ・インタフェースによって、前記新しいカードがコネクタに挿入された入出力スロットを前記入出力用のメザニン・バスに接続する手段と、
前記リセット制御信号を不活性化させる手段と、
を、さらに含むことを特徴とする請求項１８に記載のコンピュータ・システム。
【請求項２０】
前記（ｇ）に示される変化手段は、
前記新しいカードがコネクタに挿入された入出力スロットにおいて、前記新しいカードに対するデータ処理活動を開始する手段を、
さらに含むことを特徴とする請求項１９に記載のコンピュータ・システム。
【請求項２１】
システム・バスに接続されたプロセッサと、前記システム・バスを入出力用のメザニン・バスに接続するブリッジ・チップと、複数のカードを受け入れるための複数の入出力スロットと、入出力用の前記メザニン・バスに電気的に接続され、それぞれが複数の入出力スロットの１つに対応し、前記入出力スロットを入出力用の前記メザニン・バスと相互接続するための複数のブリッジ・インタフェースと、自身を覆うカバーを有しており、前記カバーを取り外さずに前記カードを交換可能なコンピュータ・システムが実行するハードウェア構成を変化させる方法であって、
（ａ）前記ブリッジ・インタフェースが、前記複数のカードのうち、エラー信号を出した特定の１つのカードを前記入出力用のメザニン・バスから分離させることによって、前記エラー信号が前記入出力用のメザニン・バスに伝送されるのを防止するステップと、
（ｂ）前記プロセッサがデータ処理を遂行し、前記入出力用のメザニン・バスが作動している間に、前記エラー信号を出した特定の１つのカードに対応する入出力スロットを不活性化させるステップと、を含み、
さらに、前記不活性化させるステップが、
リセット制御信号を活性化させるステップと、
該リセット制御信号を検出するステップと、
前記少なくとも１つの入出力スロット内にあるカードをリセットするステップと、
を含むことを特徴とする方法。
【請求項２２】
前記エラー信号を出した特定の１つのカードに対応する入出力スロットが空であるかどうかを判定するステップを、さらに含むことを特徴とする請求項２１に記載の方法。
【請求項２３】
前記エラー信号を出した特定の１つのカードに対応する入出力スロット内にあるカードに係るデータ処理活動を終了させるステップを、含むことを特徴とする請求項２１に記載の方法。
【請求項２４】
前記リセットステップに応答して、前記ブリッジ・インタフェースによって、前記エラー信号を出した特定の１つのカードに対応する入出力スロットを前記入出力用のメザニン・バスから切り離し、前記エラー信号を出した特定の１つのカードに対応する入出力スロットへの電力を減少させるステップ、
を、さらに含むことを特徴とする請求項２３に記載の方法。
【請求項２５】
前記エラー信号を出した特定の１つのカードに対応する入出力スロットが不活性化され、前記エラー信号を出した特定の１つのカードが取り除かれうる状態になったことを表示するステップ、
を、さらに含むことを特徴とする請求項２４に記載の方法。
【請求項２６】
前記エラー信号を出した特定の１つのカードに対応する入出力スロット内にインストールされる新しいカードが、コネクタに挿入されたことを検出するステップと、
該新しいカードの検出に応じて、コネクタへの電力を増加させるステップと、
を、さらに含むことを特徴とする請求項２５に記載の方法。
【請求項２７】
前記新しいカードの検出に応じて、前記ブリッジ・インタフェースによって、前記エラー信号を出した特定の１つのカードに対応する入出力スロットを前記入出力用のメザニン・バスに接続させ、前記リセット制御信号を不活性化させるステップと、
を、さらに含むことを特徴とする請求項２６に記載の方法。
【請求項２８】
前記エラー信号を出した特定の１つのカードに対応する入出力スロットにおいて、前記新しいカードに対するデータ処理活動を開始するステップと、
を、さらに含むことを特徴とする請求項２７に記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般的には、中央演算処理装置（ＣＰＵ）と、特定のシステム機能を実行するための複数の装置またはカードとを有するコンピュータ・システムに関する。より具体的には、ＣＰＵが装置の１つのエラー条件を識別し、エラー回復のためにその装置を分離できるようにするシステムを開示する。
【０００２】
【従来の技術】
典型的なコンピュータ・システムは、配線層によって互いに電気的に接続されたメモリ制御装置、入出力制御装置などの他の特定用途向け集積回路（ＡＳＩＣ）と、マイクロプロセッサとを含む、システム・ボードを含んでいる。また、多くのコンピュータは、カード上のチップをマイクロプロセッサやシステム・ボード上の他のチップに接続してコンピュータ・システムに追加機能を提供することができる、追加のアダプタ・カード用のスロットも含んでいる。ユーザがコンピュータに追加すると思われる典型的な機能としては、拡張メモリ、ファックス／モデム機能、サウンド・カード、グラフィック・カードなどがある。一般に、システム・ボード上に含まれるスロットは、アダプタ・カード上の露出タブを受け入れるための導電ランドを有するインライン電気コネクタを含んでいる。カード上のチップの入出力は、このタブに接続される。次に、コネクタは、前述の配線層によりマイクロプロセッサなどに電気的に接続される。
【０００３】
通常、従来のコンピュータ・システムでは、アダプタ・カードの１つの装置の１つでエラー条件が発生すると、ＣＰＵはどの装置がエラー信号を発生したかを判定することができない。というのは、アダプタ・カードからのエラー信号が論理ＯＲ演算によって合成されるからである。したがって、ユーザまたはシステム管理者は、カードの１つの単一装置だけがエラー条件を持っている場合でもシステム全体のＩＰＬをリセットしなければならない。システムがサーバである場合、１つのマシン、すなわち、サーバのみのエラーによって多くのクライアント・システムが影響を受ける可能性があることが分かるだろう。さらに、マルチタスク・クライアント・システムでは、複数の機能が同時に行われている可能性があるので、システムをリセットすると、単一装置のエラーによってすべてのコンピュータ機能が終了する恐れがある。
【０００４】
したがって、特定のアダプタ・カード上のどの特定の装置がエラー信号を生成したかをＣＰＵが識別できるようなシステムの必要性が存在することが分かるだろう。また、エラー信号を生成する特定の装置に対してエラー回復技法を実施できるように、エラー信号が生成されたカードを分離することが望ましいと思われる。その結果、エラー信号を出した装置についてエラー回復動作が実施される間に、残りの装置は通常動作を続行できるはずである。これは、特定のカードが故障していると判定された後でコンピュータのハードウェア構成を変更することと、その後、コンピュータ・システムに新しいカードを取り付けることを含むことができる。このようなシステム・ハードウェア構成の変更は、コンピュータ・システムから実際のカバーを取り外し、システム全体の電力を低下させたり、またはコンピュータをオフライン化する必要もなく、実施できるはずである。
【０００５】
【発明が解決しようとする課題】
先行技術とは対照的に、本発明は、複数のカードのうちのどれがエラー信号を出したかをユーザが識別できるようにするためのコンピュータ・システムを提供する。次に、エラー信号を出した装置が分離され、エラー条件を有する装置についてのみエラー回復技法が実施される。必要であれば、本発明では、コンピュータ・システム全体の電力を低下させる必要がなく、特定のカードを取り外したり交換することができるように、個々のコネクタを使用禁止にすることもできる。
【０００６】
【課題を解決するための手段】
概して、追加の制御論理回路を有するコンピュータ・システムには、ブリッジ・チップと、入出力、メモリなどの特定の機能を実施するカードを受け入れるための少なくとも１つのコネクタ・スロットが設けられている。エラー信号が存在すると判定されると、システム・ハードウェアは、エラー信号を出した装置へのリセット信号を活動化し、保持する。さらに、ブリッジ・チップ内のレジスタの状況ビットが設定される。次に、エラー信号を出した装置に対応するデバイス・ドライバが状況ビットを読み取り、エラーが発生したことを検証し、ブリッジをリセットし、エラー条件を有する装置のみをリセットまたは初期設定する。
【０００７】
上記の概要によると、本発明の目的、特徴、および利点は、添付図面に関連して示される以下の説明および特許請求の範囲により当業者に明らかになるだろう。
【０００８】
【発明の実施の形態】
図１を参照すると、同図には、システム・ボード１と機構またはアダプタ・カード５の斜視図が示されている。ボード１は、たとえば、ＩＢＭから販売されているＰｏｗｅｒＰＣマイクロプロセッサ（ＰｏｗｅｒＰＣはＩＢＭの商標である）などのマイクロプロセッサ２や、メモリ、入出力制御装置などの他の特定用途向け集積回路３などの、様々な集積回路チップを含んでいる。また、システム・ボード１に接続されたインライン・コネクタ４および４ａも示されている。これらのコネクタは、システム・ボード内に存在する配線層によりボード１上のＩＣに電気的に接続されている。コネクタ４および４ａには導電ランド１０が存在し、これがカード上の導電タブと相互接続する。デバイス５とも呼ばれるカード５は、遠近法で示され、そこに導電タブ９を有する相互接続部８を含んでいる。これらのタブ９は、システム・ボード１上の様々な構成要素とカード５上に存在するチップとの間に電気接続ができるように、コネクタ４内のランド１０と接触する。カード５上のチップ６および７は、コンピュータ・システムに追加機能を提供するような複数の集積回路のいずれでもよい。たとえば、このようなチップ６および７は、メモリ、グラフィック・アクセレレータ、数値計算補助プロセッサ、モデムなどのＩＣにすることができる。この場合も、カード５がコネクタ４に挿入されたときにカード５上のチップ６および７をシステム・ボード上のマイクロプロセッサ２およびチップ３と接続するような、配線層がカード５に存在する。カード５とシステム・ボード１が、ＦＲ４など、複数の基板のいずれでもよく、それがバイアによって互いに接続された導電性かつ交互に絶縁する材料の層を含むことは、当業者には理解されるだろう。ボード１およびカード５の層は、表面パッドに引き出され、次に、制御済み崩壊チップ接続（Ｃ４）、はんだボール接続（ＳＢＣ）ワイヤ結合、表面実装技術（ＳＭＴ）などの数多くの相互接続方法の１つを使用して様々なチップ上の入出力点に接続される。
【０００９】
図２は、本発明のガイド手段の好ましい実施例を示している。アダプタ・カード５は、図１に関して記載したのと同じように導電タブ９を有するものとして示されている。さらに、摩擦ばめ、クランプ、ねじ、その他の取付け手段によりカード５に付加されたカード・ガイド３１が示されている。ただし、業界で一般的な半分のサイズのアダプタ・カードを収容するために、ガイド３１を短縮するか、またはその他の変更を加えることができることに留意されたい。全サイズのアダプタ・カードを使用して本発明について説明するが、本発明の範囲では半分のサイズのカードが考慮されることに留意されたい。ガイド３１は、取付け手段３０によってアダプタ・カード５の両端に付加された端部２９および２７を含んでいる。
【００１０】
図４に詳しく示すように、カード・ガイド３１をスライド式に受け入れるガイド・レール２８が設けられている。ガイド・レール２８の内部表面にぴったり合うかまたは適合する少なくとも１つの肩部３３が含まれている（図４を参照）。ガイド・レール２８には、ピボット点２４および２５がしっかり付加されている。ピボット２５は、レバー部２６を有する細長い力伝達部材２０にも回転式に取り付けられている。第２の力伝達部材２１は、一方の端ではピボット２４に回転式に取り付けられ、もう一方の端付近では部材２０にしっかり付加されたピボット２３に回転式に取り付けられている。レバー部２６の反対側にある力伝達部材２０の端部は、図５に示すようにフレーム部材４３などにしっかり付加されたピボット部材４２に回転式に取り付けられている。ただし、ピボット点２２および２３は、カード５を持ち上げたり下げたりすることによってカード５をコネクタ４から取り外したり、コネクタ４に挿入したときに（図２の矢印が示す方向に）何らかのスライド運動を行うように、そこに挿入されたピボット・ピンの周りのスロット付き開口部も含むことに留意されたい。
【００１１】
導電タブ９が図１のインライン・コネクタ４にぴったりはまり、接続するように、図２の配置は矢印Ｃが示すようにカード５の下方向垂直運動を提供することが分かるだろう。当業者は、カード５がピボットに直接取り付けられている場合、タブ９が傾斜してコネクタ４に接近し、カード５をコネクタ４に挿入して信頼性の高い機械的かつ電気的接続を行うのが極めて難しくなることを理解するだろう。
【００１２】
図２に示すように、アダプタ・カードを解除するためにレバー２６で上方向に力が加わると、ピボット２５で上方向垂直力が発生し、それが電気接続タブ９と位置合せされた点でカード５に直接伝達される。同時に、上方向の力は、ピボット２３により部材２１に印加され、ピボット点２４でカード５に伝達される。これにより、カード５にわずかな上方向の力が加わり、カードをコネクタ４から取り外すときにカードが回転するのを防止し、電気的かつ機械的にカードがコネクタから容易に解除されるようにする。カード５をシステム・ボード１上のコネクタ４に挿入する必要がある場合は、プロセスが逆になる。ガイド３１は、カード５に取り付けられた後、ガイド・レール２８にスライド挿入される。次に、レバー２６に下方向の力が印加され、この力がピボット２５によりカード５に伝達される。ピボット２５がタブ９と位置合せされているので、この下方向の力は接続タブに垂直に直接加わる。また、レバー２６上の下方向の力によって、ピボット２３を介して部材２１に下方向の力が加わる。この力は、アダプタ・カードがコネクタ４に接近したときにアダプタ・カードが回転するのを防止するため、ピボット２４によりカード５にわずかな下方向の力として伝達される。したがって、前述のように、図２の装置により、コンピュータ・システム・ボード上に存在するインライン・コネクタにアダプタ・カードを垂直に挿入し、そこから取り外す方法が分かるだろう。上記の説明は本発明の好ましい一実施例であるが、当業者は、カム・ギヤなどのその他の機構を使用して、アダプタ・カードのコネクタへの垂直挿入とコネクタからの取外しを可能にするような装置を提供する方法を容易に理解するだろう。
【００１３】
図３は、図２の線Ａ−Ａに沿って示すカード５の図であり、端部２７および２９とともにガイド部材３１がねじ３０などの取付け手段を使用してカードに取り付けられている状態を示している。図４は、図２の線Ｂ−Ｂに沿って示すカード５の側面図である。この図は、その端部２９と取付け手段３０とともにガイド部材３１を示したものである。上記の通り、ガイド部材３１の肩部３３は、カード５がそれに取り付けられたガイド３１をスライド可能な配置でガイド・レール２８に縦に挿入できるように、ガイド・レール２８の内部表面３５に適合している。図４にはピボット手段２５も示されているが、これは図２に示すのと同じ方法でガイド・レール２８に付加されている。
【００１４】
図５は、スロット４１がそこに形成されたカバー４０を有するコンピュータ・システムの斜視図である。図５には、２つのスロット４１が示されている。しかし、所望の数のアダプタ・カード５を収容するためにカバー４０には任意の数のスロット４１を形成できるものとする。コンピュータ内部のシステム・ボード１（または他の適当なサポート）に付加されたフレーム部材４３が示されている。また、フレーム部材４３上に配置され、図２のガイド手段のピボット点２２に回転式に取り付けられているピボット手段４２も示されている。また、ピボット点４５は、図２のガイド手段に追加の機械的サポートを提供するためにフレーム部材４３または他の適当なサポートに回転式に取り付けられている。図５のカバー４０が図１のシステム・ボード１を取り囲むように配置されている場合、スロット４１はコネクタ４および４ａと位置合せされた関係になる。ガイド・レール２８はフレーム部材４３にスライド挿入され、ピボット点２２はピボット４２に接続されるのに対し、ピボット点４５はピボット４６に接続される。このようにして、図２のカード・ガイド手段もシステム・ボード１のコネクタ４および４ａと位置合せされる。次に、ガイド部材３１がアダプタ・カード５に取り付けられ、アセンブリ全体がガイド・レール２８にスライド挿入され、レバー２６がスロット４１から外側に伸びる。コンピュータ・システム内にアダプタ・カード５を電気的に取り付けるためには、アダプタ・カード５の導電タブ９が、たとえば、コネクタ４のランド１０と電気接続されるまで、レバー２６に下方向の圧力が加えられる。カードを取り外すか、またはあるアダプタ・カードを他のものに交換するためには、プロセスが逆になる。すなわち、レバー２６には上方向の圧力が加えられ、カード５のタブ９がコネクタ４のランド１０から切断される。次に、ガイド・レール３１を備えたカード５がガイド・レール２８からスライドして外され、新しいカードまたは交換用カードがガイド・レール２８にスライド挿入される。この場合も、新しいカードを機械的かつ電気的に取り付けるために、下方向の圧力がレバー２６に加えられる。
【００１５】
コンピュータ・カバー４０を外す必要もなく、ファックス／モデム、グラフィック・アクセレレータなどのアダプタ・カード５をコンピュータ・システムに取り付けるかまたはコンピュータ・システムで交換できるようにすることにより、本発明によってユーザがコンピュータのハードウェア構成を変更できることは、容易に分かるだろう。コンピュータ・システム・ユーザは、ＣＰＵ２からコネクタ４を電気的に分離するかまたは切断し、次に、アダプタ・カード５の取付け、取外し、または交換を行うだけでよい。パーソナル・コンピュータにおける電気的分離とは、カードを取り付けるかまたは取り外す間に単にマシンの電源をオフにすることを含む場合もある。より高度なシステムでは、残りのコネクタを電気的に切断せずに、新しいカードまたは異なるカードを取り付ける特定のコネクタまたは複数コネクタのグループの分離を試みることが必要になる場合もある。
【００１６】
多くのパーソナル・コンピュータ、ワークステーション、サーバでは、入出力サブシステムの修理またはアップグレード・アクションの通常の手順は、電源をオフにし、入出力領域（コネクタ４）にアクセスするためにカバーを開き、不良またはアップグレード対象のアダプタ・カードの取付け、取外し、または交換を行うことである。次に、カバーを元に戻し、電源を復旧する。サーバ・システムでは、このようにして入出力修理およびアップグレード・アクションを処理することがますます受け入れがたいものになっている。というのは、多くのユーザが複雑なネットワークを越えてサーバに拘束されており、修理／アップグレード・アクション中に遮断されるからである。
【００１７】
現在、一部のメインフレームやハイエンド・サーバ・マシンでは、冗長システムを用意することによって、高価なオンライン・メンテナンス機能を提供している。本発明では、システムおよび入出力サブシステムの他の部分が処理動作を続行できるようにしながら、コンピュータのカバーを開けずに入出力カードを交換できるようにする入出力サブシステムのオンライン・メンテナンスを実行するための比較的安価かつ単純な方法を提供する。
【００１８】
図６は、コンピュータ・システムの入出力サブシステム内の様々な構成要素用の電気接続を示している。ＣＰＵ２とメモリ３は、ＩＢＭから販売されている６０Ｘまたは６ＸＸバスなどのシステム・バス１００に接続されたものとして示されている。ホスト・ブリッジ・チップ１１３が示されているが、これは、ＰＣＩバスなどの入出力用のメザニン・バス１０２とシステム・バス１００との間のインタフェースを提供する。図６はＰＣＩバスとＰＣＩホスト・ブリッジ・チップを示しているが、本発明では、いかなる入出力バスの使用も考慮している。ＰＣＩブリッジ・チップ１１３は、割込み処理、メッセージの引渡し、アービトレーション、スヌープなどを含み、システム・バス１００とバス１０２との間でバス・プロトコルを変換できるようにする論理および機能性を含む。
【００１９】
メザニン・バス１０２は、少なくとも１つのＰＣＩ間ブリッジ・チップ１０４に接続されている。このチップは、コネクタ４および追加の論理を含む実際のアダプタ・スロット１０６と入出力バスとの間のインタフェースを提供する。スロット１０６は入出力装置１０８を受け入れ、この装置はデバイス５上に存在する可能性がある。ＰＣＩのアーキテクチャおよび仕様は、PCI Special Interest Group (PCI-SIG)より入手でき、参照により本明細書に組み込まれる。本発明は、参照番号１０５で示す追加の制御論理回路を追加するが、ＰＣＩアーキテクチャの変更は必要としない。ただし、図６に示すように、多くのコンピュータ・システムが複数の入出力スロットを含むことに留意されたい。追加のスロットは、本発明の構成要素の記述に使用する参照番号に「ａ」という文字を追加することによって表す。
【００２０】
前述のように、システム・ユーザがアダプタ・カードの取付け、取外し、または交換を行うためには、そのスロットまたは複数スロットのバンクにおけるすべての処理活動が停止するように、コネクタまたはスロット（複数スロットのバンクを含む）を分離しなければならない。すべての活動を停止させる方法の１つは、マシンをオフにするだけである。しかし、これは、多くのクライアント・コンピュータを相互接続するサーバ・タイプのマシンでは実用的ではない場合が多い。特にフォールト・トレラントまたは高可用性システムでは、これが該当する。また、マルチタスク・システムが使用可能な場合には、特に重要な活動が行われるときに単一コンピュータの電源をオフにすることが望ましくない場合がある。たとえば、ファックス／モデムを備えたパーソナル・コンピュータでは、送信を受信するために電源をオンにしたままにする必要がある。この場合、残りのスロットを活動状態にして、特定の入出力スロット（複数も可）を非活動化することができれば、有利なはずである。本発明により、ユーザは、システムがサーバかパーソナル・コンピュータかにかかわらず、システムの電源をオフにする必要もなく特定のアダプタ・カードを交換することができる。
【００２１】
図７は、本発明の構成要素を示しているが、この構成要素は、システム全体の電源をオフにする必要もなく、アダプタ・カードの取付け、取外し、または交換を可能にするものである。入出力バス１０２、たとえば、ＰＣＩバスは、ＰＣＩ間ブリッジ・チップ１０４に接続され、追加の制御論理回路１０５と組み合わせて、単一ＰＣＩスロット１０６の制御に使用する。ただし、スロット１０６は、２次バス１０３とチップ１０４との間の電気的かつ機械的機能インタフェース全体であると見なされることに留意されたい。このインタフェースは、後述するように電気機械感知装置１０７など、様々な他の電気および機械構成要素とともに、一部分としてコネクタ４を含む。１組の制御論理回路１０５とともに１つの変更済みブリッジ・チップ１０４を使用して、１つのスロット１０６を制御する。当然のことながら、このような要素の組合せは、コンピュータ・システム内に存在する入出力スロットの数に応じて複製される。このため、入出力カードの取外し、交換、または取付けを行うときに、ＲＳＴ＃信号によって各スロットを選択的にリセットし、そのスロットから電力を取り除くことができる。
【００２２】
プレーナまたはシステム・ボード１は、各入出力コネクタ４用のブリッジ・チップ１０４を含むように変更される。次に、ブリッジ・チップ１０４を使用して、２次バス１０３とスロット１０６を入出力バス１０２の残りの部分から分離する。スロットが空である場合、そのスロットには電力が一切印加されていないので、新しいカードをそこに取り付けることができる。入出力カードを取り外す場合、取外し中にアダプタが活動状態にならないように保証するため、まず、そのカードをリセットする。ブリッジ・チップ１０４は、スロット１０６をオフライン化し、追加の制御論理回路によって、リセット時にそのカードから電力を取り除く。次に、前述のように、カードが機械的に取り外される。また、スロットに電力が印加されている間に入出力カードの取外しが行われるのを防止するように入出力カードをインタロックするために、ソレノイド・スイッチなどの電気機械手段を設けることもできる。
【００２３】
入出力カードの挿入の場合、カードがマシンに挿入される（前述のガイド手段などを使用することができる）。カードが所定の位置に納まると、システムは、新しい入出力アダプタ・カードを識別し初期設定するように構成される。新たに取り付けたカードが構成されるまで、カード・スロット１０６は入出力バス１０２から電気的に分離される。カードが構成されると、プレーナ上の論理回路がコネクタ４の電力ピンへの電力のランプアップに備える。アップグレード／修理アクション中は、再構成する入出力スロットだけが影響を受けるはずなので、システムと入出力サブシステムの他の部分は動作中のままになる。ただし、上記の動作では、ＰＣＩ（または他の入出力バス）の仕様またはアーキテクチャそのものの変更は必要ないことに留意されたい。すなわち、本発明は、入出力バス・アーキテクチャを変更せずに完全に実施することができる。
【００２４】
図７に示す制御論理回路１０５は、スロット・リセット検出器１１０と、ブリッジ制御論理回路１１２と、電力制御論理回路１１４と、ＬＥＤドライバ１１６とを含む。また、ＬＥＤドライバ１１６によって制御される発光ダイオード（ＬＥＤ）１１８も示されている。
【００２５】
個々のスロットを分離するものとして図７の好ましい実施例について説明してきたが、本発明の範囲は、複数の任意の数のスロット、すなわち、他のスロットまたは複数スロットのバンクからの複数スロットのバンクの分離を含む。複数スロットのバンクを分離することにより、単一ブリッジ・チップ１０４を使用してそのバンクを制御することができ、その結果、各スロット１０６ごとにブリッジ・チップ１０４を１つずつ用意する必要が解消される。当然のことながら、単一チップが複数のスロットを制御するとフレキシビリティがある程度失われるが、しかしシステム・コストを低減し、他のシステム機能を非活動化せずにカードを変更できるようにすることが必要な一部のアプリケーション・システムでは、これが望ましい場合もある。
【００２６】
図８は、本発明の電気的動作を説明するために図７とともに使用する流れ図である。
【００２７】
第１のケースでは、取り外すべき既存のアダプタ・カード５がＰＣＩ（またはその他の入出力プロトコル）１０６に存在すると想定される。図８を参照すると、ステップ１でユーザは、アダプタ・カードの取外し、交換、または追加を行うことによってシステム・ハードウェア構成を変更するためのプロセスを開始する（一連のキーストローク、マウスによるアイコンの選択などによる）。次にプロセスは、単一ブリッジ・チップ１０４によって制御される単一アダプタ・スロットまたは複数スロットのバンクがシステム内に存在するかどうかを判定する。複数スロットのバンクが存在する場合、この方法は図１３のステップ１７（後述する）に移行する。ステップ１ａで、単一スロットが存在すると判定された場合は、ステップ２により、スロット１０６にカードが存在するかどうかを判定する。電気機械感知装置１０７は、論理回路１１４にカード存在信号を提供する。この例では、カードを取り外すものを想定しているので、プロセスはカードがスロット１０６に存在すると判定することになる。ユーザは、キーボード、マウス、スタイラス、またはその他の入出力装置により、コンピュータ・システムにコマンドなどを入力することによってこのプロセスを開始する。このようなコマンドでは、ユーザが所与の情報、たとえば、複数のスロット１０６のうちのどれを再構成すべきかなどを提供しなければならない場合もある。
【００２８】
ステップ１０では、ディスク・オペレーティング・システム（ＤＯＳ）、ＯＳ／２、ＡＩＸなど（ＯＳ／２とＡＩＸはＩＢＭの商標である）などのオペレーティング・システムにより、アダプタ５とコンピュータ・システムの残りの部分との間のすべてのデータ処理活動が停止される。その後、ブリッジ・チップ１０４から入出力スロット１０６にリセット信号ＲＳＴ＃が出される（ステップ１１）。このＲＳＴ＃信号はリセット検出器１１０にも送られ、次にその検出器が制御信号をブリッジ制御論理回路１１２に伝送する。ステップ１２では、入出力ブリッジ・チップ１０４が１次入出力バス１０２から２次バス１０３を切断する。この切断は、ブリッジ制御論理回路１１２から入出力ブリッジ・チップ１０４に送られる制御信号によって実施される。ＲＳＴ＃信号の検出に基づいて、スロット・リセット検出器１１０は電力制御論理回路１１４にも制御信号を送り、スロット１０６への電力を徐々に低減（ランプ・ダウン）しなければならないことを示す。次に、ステップ１３で電力が低下する。
【００２９】
図１１は、スロット１０６への電力をランプ・アップまたはランプ・ダウンするために電力制御論理回路１１４が使用可能な回路の一実施例を示している。電圧Ｖｄｄは、レール１２１上に示され、Ｎ型トランジスタ１２０、１２２、１２１、１２３、１２４に接続されている（Ｎ型トランジスタは、電圧、すなわち、論理１がそのゲートに印加されたときに電気を伝導する）。これらのデバイスはそれぞれ異なるしきい電圧を有するので、それぞれのトランジスタでの電圧降下が異なるものになるように、オンになったときに異なる抵抗を提示する。図１１の実施例では、トランジスタ１２０の電圧降下が大きくなり、トランジスタ１２２、１２３、１２４のそれぞれの電圧降下が徐々に小さくなるように、デバイスのサイズが決定されている。たとえば、Ｖｄｄが３．３ボルトであると想定され、トランジスタ１２０が２．５ボルトの電圧降下を有する場合、ｔ＝１ではレール１２５上の電圧がＶｄｄ−２．５＝０．８ボルトになる。１．５ボルトのしきい電圧降下を示すようにトランジスタ１２２のサイズが決まっている場合、ｔ＝２ではレール１２５上の電圧が３．３−１．５＝１．８ボルトになる。この例の場合、トランジスタ１２３のしきい電圧が０．５ボルトであると想定すると、ｔ＝３ではレール１２５上の電圧が３．３−０．５＝２．８ボルトになる。また、ｔ＝４でレール１２５上の電圧が３．３−０＝３．３ボルトすなわちＶｄｄになるように、トランジスタ１２４のしきい電圧がほぼ０．０であると想定される。したがって、時間ｔ＝１からｔ＝４の間にスロット１０６に接続されたレール１２５上の電圧が０．８ボルトから３．３ボルトにどのように徐々に増加（ランプ・アップ）するかが分かるだろう。スロット１０６への電力を徐々に低下（ランプ・ダウン）することが必要な場合、プロセスはほぼ逆になる。定常状態条件では、トランジスタ１２４は、Ｖｄｄがスロット１０６に提供されるようにオンになる。レール１２５上の電圧を低下させるため、そのゲートから電圧を取り除くことによってトランジスタ１２４がオフになり、トランジスタ１２３がオンになる。その結果、デバイス１２３からのしきい電圧が０．５ボルトになるため、レール１２５上では２．８ボルトになる。次の期間中、トランジスタ１２３はオフになり、デバイス１２２はオンになるので、デバイス１２２のしきい電圧が１．５ボルトになるため、レール１２５上には１．８ボルトの電圧が存在することになる。次に、トランジスタ１２２がオフになり、トランジスタ１２０がオンになるので、トランジスタ１２０のしきい電圧が２．５ボルトになるため、レール１２５上には０．８ボルトの電圧が生じる。当然のことながら、クロック生成回路によってｔ＝１からｔ＝４までのパルスがどのように変化するか、ならびに、電力なし（電圧＝０）から電力完全（電圧＝Ｖｄｄ）までの間にスロット１０６で勾配のより緩やかな遷移を行うために追加のトランジスタを追加できることを、当業者は容易に理解するだろう。
【００３０】
さらに、電力制御論理回路１１４は、スロット１０６が実際に入出力バス１０２から切断されたことを示す確認信号をブリッジ制御論理回路１１２から受け取る。これにより、活動状態で結合された入出力カードを取り外すことによって発生しそうな損傷、データ損失などが防止される。また、スロット１０６から電力制御論理回路１１４には、カード５が実際にスロット１０６に存在することを確認するカード存在信号も提供される。スロット１０６から電力が取り除かれると、電力制御論理回路１１４からＬＥＤドライバ１１６に信号が送られ、次にこのドライバがＬＥＤ１１８を励起し、それにより、スロットがバスから切断され、スロットが励起解除され、上記の機械式ガイド手段など（図１〜５）によってカードを取り外すことができる（ステップ１５）ことをユーザに示す。好ましい実施例では、リレー、ソレノイド・スイッチなどの電気機械装置１０７を使用し、カードの電力が低下しない限り、カードが取り外されることを物理的に防止することができる。ステップ１５に続き、入出力スロットからアダプタ・カードを取り外すプロセスはステップ１６で終了する。ただし、制御論理回路１０５の実施態様は多種多様であり、本発明は特定の実施態様によって限定されないことを当業者が理解することに留意されたい。たとえば、外部制御論理回路１０５のどの部分もＰＣＩ間ブリッジ・チップ１０４に組み込むことができるが、ブリッジ・チップ１０４上に追加のピンが必要になるはずである。
【００３１】
第２の例では、コンピュータ・システム上のスロットにカードを挿入すると想定される。このケースでは、挿入すべきカードは新品であるか、またはステップ１０〜１５に従ってすでに取り外された別のアダプタ・カードの交換品になる。したがって、ステップ２では、スロット１０６のコネクタ４にアダプタ・カード５が存在しないと判定される。次にステップ３では、ＬＥＤ１１８が示すようにスロット１０６から電力が取り除かれたことと、スロットに電力が印加されている場合には電気機械装置１０７により新しいカード５をスロットに物理的に挿入できないことが確認される。ステップ４では、図１〜５に関連して説明したように本発明の機械装置を使用して、スロット１０６のコネクタ４に新しいアダプタ・カード５が挿入される。次に電気機械装置１０７は、電力制御論理回路１１４にカード存在信号を出し、それにより、新しいカード５がスロット１０６に物理的に存在することを示す（ステップ５）。論理回路１１４がカード存在信号を受け取ると、図１１に従って前述したような装置を使用して、スロット電力およびスロット・アース電力分配線により、スロット１０６に電力を徐々に印加できることを意味する（ステップ６）。スロット１０６に電力が増加されると、電力制御論理回路１１４はＬＥＤドライバ１１６に制御信号を提供し、それにより、ＬＥＤがオフになり、スロットに電力が印加され、カードを取り外すことができないことをユーザに示す。ステップ７では、電力制御論理回路がブリッジ制御回路１１２に接続バス制御信号を出し、次にこの回路が入出力ブリッジ・チップ１０４にイネーブル信号を送り、その結果、２次バス１０３が１次入出力バス１０２に結合される。次に、ステップ８でブリッジ・チップ１０４からのＲＳＴ＃信号が非活動化される。この時点で、新しいカード５はコネクタ４に物理的に存在し、スロット１０６に電力が印加され、２次バス１０３は入出力バス１０２に接続されている。残っていることは、どのタイプのカードが取り付けられ、それがどのタイプのプロトコルを使用するかの判定など、コンピュータ・システム内のソフトウェアが構成活動を開始することである（ステップ９）。構成ソフトウェアは、このような判定を行うためにアダプタ・カード上の読取り専用メモリ（ＲＯＭ）を読み取ることができる。構成に続いて、新しいカードを使用したデータ処理活動を開始することができる。これで取付けプロセスは完了し、図８の方法はステップ１０で終了する。
【００３２】
図１２は、複数スロット１０６のバンクが単一ブリッジ・チップ１０４によって制御される、本発明の一実施例のブロック図を示している。これらのスロットは、１つのグループとして制御、すなわち、非活動化することができる。図１２の参照番号が図７で使用する同一番号に対応する場合、同じ構成要素を表すことを意味し、もう一度説明しないものとする。リセット検出器１１０はリセット信号ＲＳＴ＃に基づいてアービタ１３０に制御信号を提供することが分かるだろう。このアービタは、２次バス１０３の所有権に関する要求を受け取り、そのバスに最近アクセスしていないデバイスなどの１組の所定の基準に基づいてブリッジ・チップ１０４またはスロット１０６の１つにバスを授与する、標準的な論理デバイスである。アービタ１３０は、ブリッジ・チップ１０４に接続されたものとして示されているが、ブリッジ・チップにより各スロット１０６にも接続されている。また、ブリッジ・チップ１０４によりスロット１０６からアービタ１３０にバス要求信号を伝送する要求線１３１も示されている。当業者は、バス１０３が、アービトレーション・サイクル後にそのバスが特定のスロットに授与されていることを特定のスロットに示すアービトレーション授与線など、他の多くの制御信号線を含むことを理解するだろう。データおよびアドレス信号を収容する他の線もバス１０３に含まれているが、これらは図１２には図示しない。要求線１３１内には１組のインライン・スイッチ１３３が配置され、スイッチ制御論理回路１１７によって制御される。ただし、バンク内に存在する各スロットごとにスイッチが１組ずつ存在することに留意されたい。ブリッジ・チップ１０４からのＲＳＴ＃信号を検出すると、スイッチ制御論理回路１１７はアービタ１３０に制御信号を送り、それがブリッジ・チップ１０４にバス１０３の所有権を授与する。これにより、複数スロットのバンクを非活動化するプロセスが開始されると、そのバンク内のどのスロット１０６もバス１０３の所有権を持てなくなる。同時に、アービタ１３０に送られる信号により、スイッチ制御論理回路１１７はスイッチ１３３にもスイッチを開く制御信号を送り、その結果、スロット１０６内のどのカードもバス１０３へのアクセスを要求できなくなり、アービトレーション・サイクルが開始される。アービトレーションが使用禁止になると、図７および図８に関連して前述したのと同じ技法により、複数スロット１０６のバンクを非活動化することができる。
【００３３】
次に、図１２に関連して図１３の流れ図について説明する。図８のステップ１ａで複数スロットのバンクがコンピュータ・システム内に存在すると判定された場合、図１３のステップ１７では、取外しまたは交換を行うカード（複数も可）がバンク内のスロットの１つであるかどうかを判定する。そうである場合、ステップ１８でスロット・リセット検出器１１０がスイッチ制御論理回路１１７に制御信号を提供し、次にその論理回路がアービタ１３０に信号を提供する。ステップ１９ではアービタ１３０がバス１０３の所有権をブリッジ・チップ１０４に授与する。次に、スイッチ１３３を開くことにより、スイッチ制御論理回路１１７がバス要求信号線１３１を使用禁止にする（ステップ２０）。ステップ２１で構成ソフトウェアはスロット１０６内のカードへの活動を停止する。次にブリッジ・チップ１０４はステップ２２で入出力バス１０２から２次バス１０３を切断する。次に、ステップ２３で複数スロットのバンクへの電力が徐々に低下する。ステップ２４でＬＥＤ１１８は、スロット１０６から電力が取り除かれた時期を示し、カード（複数も可）が取り外せるようになる（ステップ２５）。
【００３４】
ステップ１７で、バンク内のスロット１０６の１つにカードを挿入すると判定された場合、バンク内のスロットが非活動状態になる（ステップ２６）。というのは、ステップ１８〜２５に従ってそのバンクが前に非活動化されているからである。ステップ２７では、コンピュータ・システムに追加すべきカード（複数も可）５がコネクタ（複数も可）４に挿入される。次に電磁スイッチ（複数も可）１０７がカード（複数も可）の存在を示す（ステップ２８）。次にステップ２９で複数スロットのバンクへの電力が徐々に増加し、ブリッジ・チップ１０４によってバス１０３を入出力バス１０２に結合できるという表示が行われる。ステップ３０では、ブリッジ・チップ１０４が２次バス１０３を入出力バス１０２に再接続する。ステップ３１でリセット信号が非活動化される。これにより、スイッチ１３３を閉じることによって、スイッチ制御論理回路がバス１０３のアービトレーションを可能にする（ステップ３２）。複数スロットのバンク内の各カード用の構成ソフトウェアにより、複数スロットのバンク内のカード（複数も可）５がデータ処理活動を開始できるようになる（ステップ３３）。ステップ２５および３３の両方に続いて、プロセスはステップ１６（図８）に移行し、終了する。
【００３５】
ＰＣＩバスなど、特定のタイプの入出力バスを有するコンピュータ・システムでは、（場合によっては）入出力バス上で発生するエラーを報告し、このようなエラーからの回復に対応することが不可能である。たとえば、システム・エラー信号（ＳＥＲＲ＃）によってアドレス・パリティ・エラーが報告される。この信号は、中央演算処理装置へのマスク不能割込み（ＮＭＩ）信号を生成する。多くのシステムではＮＭＩは回復不能であり、ＮＭＩによって報告されたエラーによってコンピュータ・システムが再始動されるので、問題が発生する。すなわち、今日の複雑なプロセッサには様々なパイプライン・ステージがあるため、ＮＭＩ用のエラー回復が一切ない。したがって、コンピュータ・システムはエラー条件を解決するためにその初期プログラム・ロード（ＩＰＬ）を完了しなければならない。これは、システムの再ＩＰＬによってサーバに接続されたすべてのクライアント・システムも再始動されるようなサーバなどのコンピュータ・システムでは望ましくないことである。
【００３６】
さらに、様々なスロットに複数のカードを有するパーソナル・コンピュータなどのクライアント・システムでは、カードまたはデバイスの１つがＮＭＩを出した場合、悪影響を受けることになる。すなわち、単一カードがＣＰＵにＮＭＩを出した場合、唯一頼りになるのはＣＰＵが再ＩＰＬを行うことである。これは、ＮＭＩが出される原因となるエラー条件をどのカードが持っているかをＣＰＵが識別できないからである。
【００３７】
さらに、デバイス（すなわち、カード）によってＳＥＲＲ＃信号が励起され、サービス不能な内部エラー条件が存在することを示す場合もある。通常、様々なデバイスのＳＥＲＲ＃信号は他のＳＥＲＲ＃信号とのＯＲがまとめて取られるので、ＣＰＵは、どのデバイスがその信号を開始したか、なぜその信号が出されたか、または複数のデバイスがＳＥＲＲ＃信号を出しているかどうかなどを把握していない。回復不能エラーの他の例としては、今後の完了のためにプロセッサが実行中の動作がスレーブ装置（アダプタ・カード）によって通知された場合に発生するほぼすべてのエラーが挙げられる。このタイプのエラーは、ＰＣＩメモリ・アドレス空間向けの、多くの別のタイプの市販マイクロプロセッサとともに使用されるすべてのプログラム式入出力（ＰＩＯ）動作（ロード命令とストア命令による）に適用される。したがって、システム・ソフトウェアは入出力装置、たとえば、ＰＣＩ装置にデータを書き込むことができ、その動作はプロセッサ・バスで正常に完了するので、ソフトウェア・プログラムが動作を続行する。その後、ＰＣＩバス上で発生するエラーは遅すぎるため、ソフトウェアで問題を訂正することができなくなる。
【００３８】
本発明の他の好ましい実施例では、ＰＣＩバス（または他の同様の入出力バス）上のエラー回復を可能にするために、入出力プロトコルをわずかに変更することができる。このエラー回復を可能にするため、ＣＰＵがエラーのタイプとどのカードがエラー信号を出しているかを判定できるように、各スロットを分離しなければならない。
【００３９】
図９は、本発明のエラー回復態様の好ましい実施例のブロック図である。ただし、図９に番号で示されている構成要素は図７および図１２で使用する同一構成要素に対応するので、ここでは説明しないことに留意されたい。図９のシステム・バス１００は、ＣＰＵ２とメモリ３をブリッジ・チップ１１３に接続している。ＣＰＵ２は、ＡＩＸまたはＯＳ／２オペレーティング・システムなどのソフトウェア・オペレーティング・システム２００を有する。また、ＣＰＵ２にはデバイス・ドライバ２０１が導入されているが、これはオペレーティング・システム２００に含まれる場合もある。このようなデバイス・ドライバ２０１は、コンピュータ・システムのスロット１０６のカード５を含む、様々な構成要素を制御するために使用する。デバイス・ドライバ２０１は、このような機能および通信、エラー検出と訂正などを実行する。入出力ホスト・ブリッジ・チップ１１３はシステム・バス１００に接続され、入出力バス１０２にも接続される。次に、ブリッジ・チップ１０４は入出力バス１０２とスロット１０６に接続される。現在説明している実施例では、状況情報を格納するために少なくとも１つの追加レジスタ２０３がブリッジ・チップ１０４に追加されている。さらに、信号線１０３を使用してリセット信号ＲＳＴ＃をスロット１０６に伝送することが図９から分かるだろう。また、信号線２０４はスロット１０６からブリッジ・チップ１０４にＳＥＲＲ＃信号を提供する。図９の構成要素の残りは図７に示すものと同一なので、それに従って説明する。
【００４０】
エラー回復方式にとって重要なことは、変更済みブリッジ・チップ１０４により各入出力装置、すなわち、各入出力スロット１０６を１次入出力バス１０２から分離することである。この好ましい実施例では、前述のＰＣＩ間実施態様の変更が必要である。より具体的には、スロット１０６内のカードのうちの特定の１つにエラー条件が存在する場合に設定される回復モード構成ビットが追加される。モード構成ビットが設定されると、前述のようにシステムに対する損害が発生しないように装置５をそのリセット状態に維持するため、ＲＳＴ＃信号が活動化され、保持される。さらに、システムに外部割込みを通知するためにレジスタ２０３の状況ビットが設定される。また、構成ビットが設定されると、ストア時にＣＰＵからデータを投げ捨て、ロード操作時にすべての論理１の値を返すことにより、ＣＰＵ２から装置への追加のロードまたはストアがすべて無視される。最後に、装置５からの直接メモリ・アクセス（ＤＭＡ）データは破棄され、ＤＭＡデータを伝えそうな動作はすべて打ち切られる。
【００４１】
デバイス・ドライバ２０１は、動作がコード内の特定のポイント（実行中の命令）で正しく完了することを確認するために、ブリッジ・チップ１０４またはデバイスそのもので入出力動作の状況を検査する責任を負っている。レジスタ２０３は、たとえば、論理０であれば、エラーが一切存在せず、デバイス・ドライバが入出力装置から情報を読み取ることができることを示すような何らかのビットを含むことになる。しかし、レジスタ２０３の状況ビットが論理１を含み、ブリッジ・チップ１０４が装置５をリセット状態（ＲＳＴ＃が活動状態）に保持している場合、デバイス・ドライバが装置から情報を読み取ると、すべてのビットが論理１に設定され、その結果、動作が正しく完了していないことをドライバに示すことになる。ただし、１次入出力バス１０２上のエラーはやはりマシン・チェックを生成し、システムの再ＩＰＬの原因となることに留意されたい。しかし、本発明の分離方法を使用することにより、１次入出力バス１０２はいずれのスロット１０６もそれに直接接続していないので、したがって、その信頼性が大幅に増加している。
【００４２】
さらに、装置５のうち特定のものだけがこの「リセット」タイプのエラー回復に関与するように、コンピュータ・システムを設計することができる。この実施例のエラー回復がオンになっていない場合、エラーは装置から１次入出力バス１０２に伝えられ、その結果、おそらくマシン・チェックが生成されることになる。本発明のエラー回復方式を利用するために、システム内のデータの大部分を処理する重要装置（たとえば、サーバ・システムのＤＡＳＤおよびＬＡＮアダプタ）だけを変更すればよいように設計することは、所与のシステムにとっては受け入れられることであろう。このため、コンピュータ・システム全体を変更する必要もなく、システムの信頼性を大幅に増加することができる。
【００４３】
図１０は、本発明のエラー回復態様によって実施されるステップを示す流れ図である。ステップ１ではプロセスが開始され、ステップ２ではデバイス・ドライバが制御中の装置へのロード／ストア動作を実行する。ただし、本発明では、一連のまたは関連グループのロード／ストア動作が実施されるような状況も扱うことに留意されたい。次にステップ３では、コンピュータ・システム内のアダプタ・カード上の複数の装置の１つからのＳＥＲＲ＃信号が存在するかどうかを判定する。存在する場合、ステップ４ではＳＥＲＲ＃を槌する装置に対してリセット信号ＲＳＴ＃が活動化され（ブリッジ・チップ１０４による）、装置５をそのリセット状態にし、システムに対する損害を回避すると同時に、装置をシステムに結合された状態に維持する。すなわち、ＳＥＲＲ＃信号を出したカードを有するスロット１０６は、前述のようにリセットされる（データ処理活動が停止する）。ステップ５では、レジスタ２０３の状況ビットが、たとえば、論理１に設定される。次にステップ６では、図９に示す制御ハードウェアがすべてのロード動作とストア動作を無視し、保留中の直接メモリ・アクセス（ＤＭＡ）動作を打ち切る。ステップ３でＳＥＲＲ＃信号が一切存在していないと判定された場合、本発明のプロセスはステップ７に移行し、そこで、実施中の一連の命令に追加のロードおよびストア動作が存在するかどうかが判定される。追加のロードまたはストアあるいはその両方が存在する場合、プロセスはステップ２にループ・バックし、そこでデバイス・ドライバがロード／ストアを実施する。追加のロード／ストア動作が一切存在しない場合、ステップ８でデバイス・ドライバがブリッジ・チップ１０４のレジスタ２０３の状況ビットを読み取る。次にステップ９では、エラー条件が発生しているかどうかを判定する。ステップ５で、ＳＥＲＲ＃エラーが発生していることを示すために状況ビットが設定されていない場合、ロード／ストア動作は完了したものと見なされる（ステップ１０）。しかし、ステップ５で、ＳＥＲＲ＃信号の存在を示すために状況ビットが設定されている場合、ステップ１１でブリッジ・チップ１０４が（再初期設定により）再構成される。通常、デバイス・ドライバは、デバイスを再初期設定することにより、カードをリセットする。しかし、本発明では、デバイス・ドライバが、それ自体とデバイスとの間の情報転送を試みているバス・マスタ・デバイスに対し、転送動作をもう一度試みるように指示すると思われる再試行動作も試みることができるものとする。エラー条件が取り除かれていれば、ロード／ストア動作を正しく実施することができる。さらに、ステップ１１で、デバイス・ドライバは、デバイス内のエラー条件を訂正しようと試みる１つまたは複数のサービス・ルーチンを呼び出すことができる。このようなエラー・ルーチンは、パワー・オン自己検査（ｐｏｓｔ）コードなどの一部としてコンピュータの読取り専用メモリ（ＲＯＭ）内に常駐することができる。しかし、デバイス・ドライバがエラー条件を有するデバイスを再初期設定することが、典型的な状況である。本発明によれば、実際にエラー・コードを生成する特定のデバイスについてのみ、再ＩＰＬが行われる。コンピュータ・システム内の複数のカード上の残りのデバイスは、通常のデータ処理活動を続行することになる。したがって、本発明により、コンピュータ・システムが、異なるスロットの他のカード５上の他のデバイスの動作に影響せずに、どのように特定の入出力スロット１０６内の単一デバイスを分離できるかが分かるだろう。
【００４４】
ステップ１２では、エラー・コードを生成する特定のデバイスがデバイス・ドライバによって再初期設定される。次にデバイス・ドライバは、通常のデータ処理活動のためのチェックポイント状態に設定される（ステップ１３）。すなわち、デバイス・ドライバはすでにそのデバイスを初期設定したので、それ自体と制御中のデバイスとの間で情報を転送するためにロードおよびストア動作を実施することなどにより、通常通り、その活動を制御している。また、これは、ステップ３が示すように、制御中のデバイスでＳＥＲＲ＃信号が発生した時期を判定することも含む。ステップ１３に続き、プロセスはステップ２にループ・バックし、続行されることが分かるだろう。
【００４５】
本発明は、コンピュータ・システム全体の電力を低下させずに、個々のカード上でエラー条件を訂正できるようにすることにより、信頼性を大幅に改善するものであることが分かるだろう。
【００４６】
所与の好ましい実施例について示し説明してきたが、特許請求の範囲から逸脱せずに多くの変更および修正を行うことができることに留意されたい。たとえば、他の実施例では、その装置によるＤＭＡ転送が禁止されるが、ロードおよびストア動作は続行できるように、リセット線が装置側に引き寄せられるものと思われる（これは、デバイス・ドライバがより複雑になることを犠牲にして障害分離を改善することを考慮したものである）。
【００４７】
まとめとして、本発明の構成に関して以下の事項を開示する。
【００４８】
（１）データ処理機能を実施するための複数のカードと、
前記複数のカードのうち、エラー信号を出した特定の１つを識別するための手段と、
残りの複数のカードが前記データ処理活動を続行する間に前記複数のカードのうちの前記１つをリセットするための手段とを含むことを特徴とする、コンピュータ・システム。
（２）前記システムが、
それぞれが複数のカードの１つに対応し、前記カードをＣＰＵと相互接続するための複数のインタフェース手段と、
前記インタフェース手段内にあって、前記複数のカードのうちの対応する１つがエラー信号を出したかどうかを表示するための手段とをさらに含むことを特徴とする、上記（１）に記載のシステム。
（３）前記識別手段が、
前記複数のカードのうち、前記エラー信号を出した前記１つによってデータ処理機能を実施するためのすべての要求を無視するための手段と、
前記複数のカードのうち、前記エラー信号を出した前記１つと、システム・メモリとの間の直接メモリ・アクセス動作を打ち切るための手段とをさらに含むことを特徴とする、上記（２）に記載のシステム。
（４）前記リセット手段が、
前記複数のカードのうちのどれが前記エラー信号を出したかを判定するための手段と、
前記複数のカードのうち、前記エラー信号を出した前記１つを再構成するための手段とを含むことを特徴とする、上記（３）に記載のシステム。
（５）前記再構成手段が、前記複数のカードのうち、前記エラー信号を出した前記１つを再初期設定するための手段を含むことを特徴とする、上記（４）に記載のシステム。
（６）前記再構成手段が、
前記複数のカードのうち、前記エラー信号を出した前記１つのエラー条件を修理するためにエラー回復ルーチンを呼び出すための手段と、
前記複数のカードのうちの前記１つで前記データ処理活動を再実施するための手段とをさらに含むことを特徴とする、上記（５）に記載のシステム。
（７）前記表示手段が、前記複数のカードのうちの対応する１つによってエラー信号が出されたかどうかを示す状況ビットを格納するためのレジスタであることを特徴とする、上記（６）に記載のシステム。
（８）前記判定手段が、前記複数のカードのうちの１つに対応し、前記レジスタをポーリングするデバイス・ドライバであることを特徴とする、上記（７）に記載のシステム。
（９）データ処理機能を実施するための複数のカードの１つを分離する方法において、前記方法が、
前記複数のカードのうち、エラー信号を出した特定の１つを識別するステップと、
残りの複数のカードがデータ処理活動を続行する間に前記複数のカードのうちの前記１つをリセットするステップとを含むことを特徴とする方法。
（１０）前記方法が、
それぞれが複数のカードの１つに対応し、前記カードをＣＰＵと相互接続するための複数のインタフェース手段を設けるステップと、
前記インタフェース手段により、前記複数のカードのうちの対応する１つがエラー信号を出したかどうかを指示するステップとをさらに含むことを特徴とする、上記（９）に記載の方法。
（１１）前記識別ステップが、
前記複数のカードのうち、前記エラー信号を出した前記１つによってデータ処理機能を実施するためのすべての要求を無視するステップと、
前記複数のカードのうち、前記エラー信号を出した前記１つと、システム・メモリとの間の直接メモリ・アクセス動作を打ち切るステップとをさらに含むことを特徴とする、上記（１０）に記載の方法。
（１２）前記リセット・ステップが、
前記複数のカードのうちのどれが前記エラー信号を出したかを判定するステップと、
前記複数のカードのうち、前記エラー信号を出した前記１つを再構成するステップとを含むことを特徴とする、上記（１１）に記載の方法。
（１３）前記再構成ステップが、前記複数のカードのうち、前記エラー信号を出した前記１つを再初期設定するステップを含むことを特徴とする、上記（１２）に記載の方法。
（１４）前記リセット・ステップが、
前記複数のカードのうち、前記エラー信号を出した前記１つのエラー条件を修理するためにエラー回復ルーチンを呼び出すステップと、
前記複数のカードのうちの前記１つで前記データ処理活動を再実施するステップとをさらに含むことを特徴とする、上記（１３）に記載の方法。
（１５）前記指示ステップが、前記複数のカードのうちの対応する１つによってエラー信号が出されたかどうかを示す状況ビットをレジスタに格納するステップを含むことを特徴とする、上記（１４）に記載の方法。
（１６）前記判定ステップが、前記複数のカードのうちの１つに対応するデバイス・ドライバによって前記レジスタをポーリングするステップを含むことを特徴とする、上記（１５）に記載の方法。
【図面の簡単な説明】
【図１】システム・ボードおよびアダプタ・カードと、それらの機械的関係を示す斜視図である。
【図２】対応する接続ガイド部材を備えたアダプタ・カードの正面図である。
【図３】図２の切断線Ａ−Ａに沿って示す、本発明のアダプタ・カードおよびガイド部材の平面図である。
【図４】図２の切断線Ｂ−Ｂに沿って示す、本発明のアダプタ・カードおよびガイド部材の正面図である。
【図５】本発明のアダプタ・カードおよびガイド部材を収容するスロットを示す、コンピュータ・システム・カバーの斜視図である。
【図６】ホスト・ブリッジにより入出力バスに接続されたシステム・バスを有し、複数のアダプタ・スロットが入出力バスに電気的に接続されているコンピュータ・システムの概略図である。
【図７】複数カード・スロットのバンクを含む、本発明のアダプタ・カード・スロット態様の動作に必要な制御信号を示す概略図である。
【図８】アダプタ・カードを入出力スロットにホット・プラグするために本発明によって実施される様々なプロセス・ステップを示す流れ図である。
【図９】エラー回復を強化するために入出力アダプタ・スロットが分離された、本発明の他の態様に必要な制御信号を示す概略図である。
【図１０】本発明のエラー回復態様を実施するために必要なステップの流れ図である。
【図１１】アダプタ・カード・スロットへの電力をランプ・アップまたはランプ・ダウンするために本発明が使用可能な回路の一例を示す概略図である。
【図１２】システム全体をオフライン化する必要がなく、カードの取付け、取外し、または交換のために複数スロットのバンクを非活動化することができる、本発明の好ましい一実施例を示すブロック図である。
【図１３】複数スロットのバンクのカードの取外し、取付け、または交換を行うのに必要なステップを示す流れ図である。
【符号の説明】
１  システム・ボード
２  マイクロプロセッサ
３  特定用途向け集積回路
４  インライン・コネクタ
４ａ  インライン・コネクタ
５  機構またはアダプタ・カード
６  チップ
７  チップ
８  相互接続部
９  導電タブ
１０  導電ランド
【図１】
0003771649.tif 000002
【図２】
0003771649.tif 000003
【図３】
0003771649.tif 000004
【図４】
0003771649.tif 000005
【図５】
0003771649.tif 000006
【図６】
0003771649.tif 000007
【図７】
0003771649.tif 000008
【図８】
0003771649.tif 000009
【図９】
0003771649.tif 000010
【図１０】
0003771649.tif 000011
【図１１】
0003771649.tif 000012
【図１２】
0003771649.tif 000013
【図１３】
0003771649.tif 000014