(57)【要約】【課題】  ホスト・バス・アダプタからステータスを自動的に提示するための方法、装置、及びプログラム記憶装置を提供すること。【解決手段】  エラーが検出されるまで、ホスト・バス・アダプタからステータスを自動的に提示するための方法、装置、及びプログラム記憶装置が提供される。ホスト・バス・アダプタは、データをホストに伝送する。ホストはデータ伝送検査を実行し、データ伝送が満足いくものであったかどうかを判断する。ホスト・バス・アダプタは、データ伝送が満足いくものであった場合には、ステータス情報を自動的に送信し、そうでなかった場合には、該ホスト・バス・アダプタは、ホストからのデータ伝送についてのステータス形式の識別を待つ。【選択図】      図２
2007513394.tif 000002
【特許請求の範囲】
【請求項１】
媒体が、コンピュータにより実行可能な命令の１つ又はそれ以上のプログラムを実体的に具体化して、ホスト・バス・アダプタからのステータス・メッセージングを制御するための方法を行うようになったコンピュータ可読のプログラム記憶装置であって、前記方法が、
ホストにおいて、ホスト・バス・アダプタからデータを受信するステップと、
前記ホストにおいて、データ伝送検査を実行するステップと、
前記ホストにおいて、データ伝送が満足いくものであったかどうかを判断するステップと、
データ伝送が満足いくものでないと判断された場合には、前記ホスト・バス・アダプタに、前記ホストからのデータ伝送についてのステータス形式の識別を待つようにさせるステップと、
からなるプログラム記憶装置。
【請求項２】
前記ホストにおいて、データ伝送検査を実行するステップが、さらに、データがエラーなしで伝送されたかどうかを判断することを含む、請求項１に記載のプログラム記憶装置。
【請求項３】
前記ホストにおいて、データ伝送検査を実行するステップが、さらに、操作ステータス及び条件インジケータをチェックすることを含む、請求項１に記載のプログラム記憶装置。
【請求項４】
前記条件インジケータをチェックするステップが、さらに、プロセッサの例外条件及び突発的なエラー条件をチェックすることを含む、請求項３に記載のプログラム記憶装置。
【請求項５】
前記操作ステータスをチェックするステップが、さらに、データ伝送中にトラバースされる状態マシン及び中間バッファのエラーをチェックすることをさらに含む、請求項３に記載のプログラム記憶装置。
【請求項６】
前記ホストにおいて、データ伝送が満足いくものであったかどうかを判断するステップが、さらに、データがエラーなしで伝送されたかどうかを示す信号、少なくとも１つの操作ステータス・インジケータ及び少なくとも１つの条件インジケータを論理的にＯＲ処理して、前記ホスト・バス・アダプタによる自動ステータス伝送を禁止する信号を生成することを含む、請求項１に記載のプログラム記憶装置。
【請求項７】
前記ホスト・バス・アダプタに、前記ホストからのデータ伝送についてのステータス形式の識別を待つようにさせるステップが、
前記ホストから、データ伝送を取り扱う前記ホスト・バス・アダプタに、該ホスト・バス・アダプタによる自動ステータス伝送を禁止する信号を送ること、
を含む請求項１に記載のプログラム記憶装置。
【請求項８】
前記ホスト・バス・アダプタに、前記ホストからのデータ伝送についてのステータス形式の識別を待つようにさせるステップが、さらに、前記ホストから、データ伝送を取り扱う前記ホスト・バス・アダプタに、ステータス形式の識別を送信して、該ホスト・バス・アダプタがデータ伝送について提示するべきステータス形式を通信することを含む、請求項７に記載のプログラム記憶装置。
【請求項９】
媒体が、コンピュータにより実行可能な命令の１つ又はそれ以上のプログラムを実体的に具体化して、エラーが検出されるまでホスト・バス・アダプタからステータスを自動的に提示するための方法を行うようになったコンピュータ可読のプログラム記憶装置であって、前記方法が、
データをホスト・バス・アダプタからホストに伝送するステップと、
前記ホスト・バス・アダプタにおいて、前記ホストから該ホスト・バス・アダプタによる自動ステータス伝送を禁止する信号を受信するまで、該ホスト・バス・アダプタからステータス情報を自動的に送信するステップと、
を含むプログラム記憶装置。
【請求項１０】
自動ステータス伝送を禁止する前記信号を受信することが、データがエラーをもって伝送された場合に生じる、請求項９に記載のプログラム記憶装置。
【請求項１１】
自動ステータス伝送を禁止する前記信号を受信することが、操作ステータス又は条件インジケータが、前記ホストにエラー条件を示す場合に生じる、請求項９に記載のプログラム記憶装置。
【請求項１２】
自動ステータス伝送を禁止する前記信号を受信した場合に、ホストからステータス形式の識別を受信して、前記ホスト・バス・アダプタがデータ伝送について該ホストに提示するべきステータス形式を通信することをさらに含む、請求項９に記載のプログラム記憶装置。
【請求項１３】
媒体が、コンピュータにより実行可能な命令の１つ又はそれ以上のプログラムを実体的に具体化して、エラーが検出されるまでホスト・バス・アダプタからステータスを自動的に提示するための方法を行うようになったコンピュータ可読のプログラム記憶装置であって、前記方法が、
データをホスト・バス・アダプタによりホストに伝送するステップと、
前記ホストにおいて、データ伝送検査を実行するステップと、
前記ホストにおいて、データ伝送が満足いくものであったかどうかを判断するステップと、
データ伝送が満足いくものであった場合には、前記ホスト・バス・アダプタからステータス情報を自動的に送信し、そうでなかった場合には、前記ホスト・バス・アダプタに、前記ホストからのデータ伝送についてのステータス形式の識別を待つようにさせるステップと、
からなるプログラム記憶装置。
【請求項１４】
ホスト・バス・アダプタからのステータス・メッセージングを制御するホストであって、
ホスト・バス・アダプタからデータを受信するための手段と、
データ伝送検査を実行するための、前記受信するための手段に結合された手段と、
データ伝送が満足いくものではなかったと判断された場合には、前記ホスト・バス・アダプタに、データ伝送についてのステータス形式の識別を待つようにさせる信号を伝送するための、前記実行するための手段に結合された手段と、
を含むホスト。
【請求項１５】
前記実行するための手段が、前記ホストにおいて、データがエラーなしで伝送されたかどうかを判断することによりデータ伝送検査を実行する、請求項１４に記載のホスト。
【請求項１６】
前記実行するための手段が、前記ホストにおいて、操作ステータス及び条件インジケータをチェックすることによりデータ伝送検査を実行する、請求項１４に記載のホスト。
【請求項１７】
前記実行するための手段が、プロセッサ例外条件及び突発的なエラー条件をチェックすることにより条件インジケータをチェックする請求項１６に記載のホスト。
【請求項１８】
前記実行するための手段が、データ伝送中にトラバースされる状態マシン及び中間バッファのエラーをチェックする、請求項１６に記載のホスト。
【請求項１９】
データがエラーなしで伝送されたかどうかを示す信号、少なくとも１つの操作ステータス・インジケータ、及び少なくとも１つの条件インジケータを、論理的にＯＲ処理して、前記ホスト・バス・アダプタによる自動ステータス伝送を禁止する信号を生成するための論理ＯＲゲートをさらに含む、請求項１４に記載のホスト。
【請求項２０】
前記伝送するための手段が、自動ステータス伝送を禁止する前記信号を送信した後、データ伝送についてのステータス形式の識別を与える、請求項１４に記載のホスト。
【請求項２１】
ホスト・バス・アダプタであって、
データをホストに伝送するための手段と、
自動ステータス伝送を禁止する信号を受信するまで、ステータス情報を自動的に送信するための、前記伝送するための手段に結合された手段と、
を含むホスト・バス・アダプタ。
【請求項２２】
自動ステータス伝送を禁止する前記信号が、データがエラーをもって伝送された場合に示す請求項２１に記載のホスト・バス・アダプタ。
【請求項２３】
自動ステータス伝送を禁止する前記信号が、操作ステータス又は条件インジケータが前記ホストに対してエラー条件を表示したことを示す請求項２１に記載のホスト・バス・アダプタ。
【請求項２４】
前記自動的に送信するための手段が、前記ホストからステータス形式の識別を受信して、データ伝送について前記ホストに提示するステータス形式を通信する請求項２１に記載のホスト・バス・アダプタ。
【請求項２５】
入力／出力システムであって、
データを伝送するためのホスト・バス・アダプタと、
データ伝送検査を実行し、データ伝送が満足いくものであったかどうかを判断する、前記ホスト・バス・アダプタに結合されたホストと、
を備え、
前記ホストが、データ伝送が満足いくものでなかったと判断し、前記ホスト・バス・アダプタに対して、該ホスト・バス・アダプタによる自動ステータス伝送を禁止する信号を送信するまで、該ホスト・バス・アダプタがステータス情報を自動的に送信する、
入力／出力システム。
【請求項２６】
エラーが検出されるまで、ホスト・バス・アダプタからステータスを自動的に提示するための方法であって、
ホスト・バス・アダプタによりデータをホストに伝送するステップと、
前記ホストにおいて、データ伝送検査を実行するステップと、
前記ホストにおいて、データ伝送が満足いくものであったかどうかを判断するステップと、
データ伝送が満足いくものであった場合には、前記ホスト・バス・アダプタからステータス情報を自動的に送信し、そうでなかった場合には、該ホスト・バス・アダプタに、前記ホストからのデータ伝送についてのステータス形式の識別を待つようにさせるステップと、
からなる方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、入力／出力システムに関し、より具体的には、ホスト・バス・アダプタからステータスを提示するための方法、装置、及びプログラム記憶装置に関する。
【背景技術】
【０００２】
データ処理システムにおいては、通信アダプタ及び入力／出力（Ｉ／Ｏ）コントローラが、データをホスト・システムとネットワーク又は周辺装置との間で転送するために与えられる。ホスト・システムのメモリ及びプロセッサが、システム又はＩ／Ｏバスによって、又は、ネットワークによって、アダプタ又はコントローラに結合される。
【０００３】
ホスト・システムにおける中央演算処理装置が高速になるに伴って、ローカル・レジスタ又はキャッシュ・メモリを含むプロセッサの操作速度と、ホスト・システムのプロセッサとメイン・メモリ又は周辺装置との間のアクセス速度との間の差が増大している。その結果、データ処理システムがより良好に高速プロセッサを使用するためには、データをホスト・システムとネットワーク又は周辺装置との間で転送するためのより効率的な方法を与える必要性がある。
【０００４】
データは、典型的には、データ通信バス上で、ホスト・コンピュータ・システムと、ディスク・ドライブ、テープ・ドライブ、又はプリンタといった周辺装置との間で往復して伝送される。データ通信バスは、ホスト及び周辺装置を互いに結合し、システムと周辺装置との間のデータ交換を可能にする。データ通信バスの１つの種類は、小型コンピュータ・システム相互接続（ＳＣＳＩ）データバスである。ＳＣＳＩデータバスは、様々な方法で構成することができ、幾つかの操作モードを有する。
【０００５】
ＳＣＳＩプロトコルは、イニシエータ、すなわちＳＣＳＩコマンドを発行する装置と、ＳＣＳＩコマンドを実行する装置であるターゲットとの間での通信を指定する。ＳＣＳＩデータバスは、ホスト・アダプタによりイニシエータに接続しており、装置コントローラによりターゲット装置に接続されている。各々の装置コントローラは、ＳＣＳＩバスに接続された特定の種類の装置と適合される。
【０００６】
イニシエータと、複数のターゲット装置のいずれか１つとの間で、情報が往復して転送される場合には、これらの間に接続されたデータバス上のデータ転送を制御するために、ハンドシェーク・プロトコルが用いられる。
【０００７】
ＳＣＳＩを何らかの物理インターフェースにマップする多数の上方レベルのプロトコル（ＵＬＰ）がある。ＦＣＰは、ＳＣＳＩをファイバー・チャネルにマップするプロトコルである。ｉＳＣＳＩはＳＣＳＩをイーサネット（商標）にマップする。ＦＣＰ及びｉＳＣＳＩその他のプロトコルは、イニシエータ及びターゲットによって対話する。イニシエータは、交換を開始し、ＳＣＳＩコマンドをターゲットに発行するエージェントである。
【０００８】
データ・ブロックを記憶用周辺装置に書き込むためにオペレーティング・システムにより起動されたＳＣＳＩ  Ｉ／Ｏは、例えば、情報単位（ＩＵ）として知られるコマンド・フレームを用いて、ホストとターゲットとの間のＦＣＰ交換を開始することができる。しかし、上で提案されたように、ＦＣＰはほんの一例に過ぎない。交換セッションにおいては、１つ又はそれ以上のシーケンスで構成されるフレーム群を用いて、データをホストからターゲットまで移送する。ターゲットは、準備ができていることを応答する。イニシエータは、データ記述子情報単位を発行することにより応答する。イニシエータは、次いで、１つ又はそれ以上の要求されたデータ情報単位を送信する。ターゲットは、コマンド・ステータス情報単位を発行して送信要求の完了を示すことにより応答する。
【０００９】
ターゲットが応答することによるＦＣＰ交換の開始、データ記述子情報によるイニシエータの応答、及びコマンド・ステータスを発行するターゲットを様々に組み合わせて、プロトコルをより効率的なものにすることができる。ターゲットは、次いで、データを受け入れ、何らかの応答を発行しなければならない。エラーも例外も受け取られない場合には、応答は通常のステータスを示す。
【００１０】
典型的なターゲットは、何らかの記憶システムである。多くの場合、ターゲットは、ＰＣのようなホスト又は特殊なハードウェア部品と通信するプロトコルを取り扱うホスト・バス・アダプタ（ＨＢＡ）で構成される。ＨＢＡは、ＳＣＳＩコマンドについてホストに通知し、該ホストからどこでデータを取得するか又はどこにデータを置くかを知らされる。
【００１１】
書き込みコマンドに対しては、ＨＢＡは、イニシエータが書き込み操作を実行したいということをホストに通知せねばならない。ホストが複雑な記憶システムである場合には、書き込まれつつあるセクタがすでに書き込みキャッシュにあるかどうか、及びどこにデータが書き込まれるべきかを判断する必要がある。ホストは、データに対して何らかの付加的なフォーマッティングも行う必要があることがある。ホストは、どこにデータを置くかについてＨＢＡと通信し、次いで、ＨＢＡはデータを記憶する。
【発明の開示】
【発明が解決しようとする課題】
【００１２】
今日の環境においては、ホストはＨＢＡに対して、操作が満足いくものであったことを通信することが必要であり、ＨＢＡがエラーを検出しなかったと仮定すれば、応答では良好なステータスを戻すようにする。ホストとＨＢＡとの間のこの付加的な対話は、ホスト及びＨＢＡの両方にとって大量の処理及びハンドシェーキングになる。
【００１３】
エラーが検出されるまで、ホスト・バス・アダプタからステータスを自動的に提示するための方法、装置、及びプログラム記憶装置に対する必要性があることがわかる。
【課題を解決するための手段】
【００１４】
上述の従来技術の制限を克服し、本明細書を読み、理解することにより明らかになる他の制限を克服するために、本発明は、エラーが検出されるまで、ホスト・バス・アダプタからステータスを自動的に提示するための方法、装置、及びプログラム記憶装置を開示する。
【００１５】
本発明は、ＨＢＡがイニシエータに応答するようにホストが要求するのを待つことなく、該ＨＢＡが自動的にそのようにするのを可能にすることにより、上述の問題を解決する。一実施形態においては、このことは、データ及び制御論理をチェックし、ＨＢＡからホストまでのデータ伝送中にエラーが生じたかどうかを非常に迅速に判断する特殊なハードウェアを有することにより行われる。エラーが検出された場合には、その特定のポートを取り扱っているＨＢＡに対して信号が掲げられる。ＨＢＡは直ちに、ステータスを自動的にイニシエータに送信するのを停止し、今度は、各操作について別々に通信して、どのようなステータスをイニシエータに提示するかをホスト・バス・アダプタに知らせるように、ホストに対して要求する。
【００１６】
本発明の原理によるプログラム記憶装置は、ホスト・バス・アダプタによりデータをホストに伝送し、該ホストにおいてデータ伝送検査を実行し、該ホストにおいてデータ伝送が満足いくものであったかどうかを判断し、データ伝送が満足いくものであった場合には、該ホスト・バス・アダプタからステータス情報を自動的に送信し、そうでなかった場合には、該ホスト・バス・アダプタに、該ホストからのデータ伝送についてのステータス形式の識別を待つようにさせる方法を含む。
【００１７】
本発明の別の実施形態においては、別のプログラム記憶装置が提供される。このプログラム記憶装置は、ホストにおいてホスト・バス・アダプタからデータを受信し、該ホストにおいてデータ伝送検査を実行し、該ホストにおいてデータ伝送が満足いくものであったかどうかを判断し、データ伝送が満足いくものでなかった場合には、該ホスト・バス・アダプタに、該ホストからのデータ伝送についてのステータス形式の識別を待つようにさせる方法を含む。
【００１８】
本発明の別の実施形態においては、別のプログラム記憶装置が提供される。このプログラム記憶装置は、ホスト・バス・アダプタによりデータをホストに伝送し、該ホスト・バス・アダプタにおいて、該ホストから、該ホスト・バス・アダプタによる自動ステータス伝送を禁止する信号を受信するまで、該ホスト・バス・アダプタからステータス情報を自動的に送信する方法を含む。
【００１９】
本発明の別の実施形態においては、入力／出力システムが提供される。入力／出力システムは、データ伝送のためのホスト・バス・アダプタ、及びデータ伝送検査を実行し、データ伝送が満足いくものであったかどうかを判断する、該ホスト・バス・アダプタに結合されたホストを含み、該ホスト・バス・アダプタは、該ホストが、データ伝送が満足いくものではなかったと判断し、該ホスト・バス・アダプタに対して、該ホスト・バス・アダプタによる自動ステータス伝送を禁止する信号を送信するまで、ステータス情報を自動的に送信する。
【００２０】
本発明の別の実施形態においては、ホストが提供される。ホストは、ホスト・バス・アダプタからデータを受信するためのホスト・バス・アダプタ・インターフェース、データ伝送検査を実行するための、該ホスト・バス・アダプタ・インターフェースに結合されたプロセッサ、及びデータ伝送が満足いくものではないと判断された場合に、該ホスト・バス・アダプタに、データ伝送についてのステータス形式の識別を待つようにさせる信号を伝送するための、該プロセッサに結合されたポートを含む。
【００２１】
本発明の別の実施形態においては、ホスト・バス・アダプタが提供される。ホスト・バス・アダプタは、データをホストに伝送するためのプロトコル取り扱いインターフェース、及び、自動スタータス伝送を禁止する信号を受信するまで、ステータス情報を自動的に送信するための、該プロトコル取り扱いインターフェースに結合されたプロセッサを含む。
【００２２】
本発明の別の実施形態においては、エラーが検出されるまで、ホスト・バス・アダプタからステータスを自動的に提示するための方法が提供される。この方法は、ホスト・バス・アダプタによりデータをホストに伝送するステップと、該ホストにおいて、データ伝送検査を実行するステップと、該ホストにおいて、データ伝送が満足いくものであったかどうかを判断するステップと、データ伝送が満足いくものであった場合には、該ホスト・バス・アダプタからステータス情報を自動的に送信し、そうでなかった場合には、該ホスト・バス・アダプタに、該ホストからのデータ伝送についてのステータス形式の識別を待つようにさせるステップとを含む。
【００２３】
本発明の別の実施形態においては、入力／出力システムが提供される。入力／出力システムは、データを伝送するための手段、及びデータ伝送検査を実行し、データ伝送が満足いくものであったかどうかを判断するための、該データを伝送するための手段に結合された手段を含み、該データ伝送検査を実行するための手段が、データ伝送が満足いくものであったと判断した場合には、該データを伝送するための手段はステータス情報を送信し、そうでなかった場合には、該データを伝送するための手段は、ホストからのデータ伝送についてのステータス形式の識別を待つ。
【００２４】
本発明の別の実施形態においては、ホストが提供される。ホストは、ホスト・バス・アダプタからデータを受信するための手段、該ホストにおいてデータ伝送検査を実行するための、該受信するための手段と結合された手段、及び、データ伝送が満足いくものでないと判断された場合に、該ホスト・バス・アダプタに、データ伝送についてのステータス形式の識別を待つようにさせる信号を伝送するための、該実行するための手段に結合された手段を含む。
【００２５】
本発明の別の実施形態においては、ホスト・バス・アダプタが提供される。ホスト・バス・アダプタは、データをホストに伝送するための手段、及び、自動ステータス伝送を禁止する信号を受信するまで、ステータス情報を自動的に送信するための、該伝送するための手段に結合された手段を含む。
【００２６】
本発明を特徴づけるこれら及び種々の他の新規な利点及び特徴は、特に、特許請求の範囲及びに指摘される。
【発明を実施するための最良の形態】
【００２７】
ここで、本発明を、単なる一例に過ぎないものとして、添付の図面に示される好ましい実施形態を参照して述べるが、全体にわたり、同じ参照番号は対応する部品を表わす。
【００２８】
本発明は、エラーが検出されるまで、ホスト・バス・アダプタからステータスを自動的に提示するための方法、装置、及びプログラム記憶装置を提供する。本発明は、ＨＢＡがイニシエータに応答するようにホストが要求するのを待つことなく、該ＨＢＡが自動的にそのようにすることを可能にする。ホストは、データ及び制御論理をチェックし、ＨＢＡからホストまでのデータ伝送中にエラーが生じたかどうかを非常に迅速に判断する。エラーが検出された場合には、その特定のポートを取り扱っているＨＢＡに対して信号が掲げられる。ＨＢＡは直ちに、ステータスを自動的にイニシエータに送信するのを停止し、今度は、各操作について別々に通信して、どのようなステータスをイニシエータに提示するかをホスト・バス・アダプタに知らせるように、ホストに対して要求する。
【００２９】
図１は、本発明の好ましい実施形態による入力／出力（Ｉ／Ｏ）システム１００を示す。図１においては、プロセッサ１１０はキャッシュ・メモリ１２０に結合される。キャッシュ・メモリ１２０は、改良されつつあるプロセッサ性能のために与えられた高速メモリである。キャッシュ１２０は、プロセッサ１１０とメイン・システム・メモリ１５０との間に常駐する。Ｉ／Ｏ装置１３０は、記憶、グラフィック処理、ネットワーク接続、印刷などといった種々のサービスを与えるのに用いられる。通常はローカル・バスと呼ばれるシステム・バス１４０は、Ｉ／Ｏ装置１３０とプロセッサ１１０とメモリ１５０との間の接続を与える。具体的には、ローカル・バス１４０は、プロセッサ１１０をメイン・メモリ及びキャッシュ１２０に接続する。Ｉ／Ｏ装置１３０は、ホスト・バス・アダプタ（ＨＢＡ）１６０及びＩ／Ｏバス１６２を通してローカル・バス１４０に結合される。Ｉ／Ｏバス１６２は、ＨＢＡ１６０により種々の周辺装置１３０をプロセッサ１１０に接続する。
【００３０】
オペレーティング・システム１７０がプロセッサ１１０上で稼動し、図１のＩ／Ｏシステム１００における種々の構成部品を調整し、制御するのに用いられる。オペレーティング・システム１７０は、インターナショナル・ビジネス・マシーンズ・コーポレーションから入手可能なＯＳ／２（ＩＢＭ  Ｃｏｒｐｏｒａｔｉｏｎの商標）のような市販のオペレーティング・システムとすることができる。「ＯＳ／２」は、インターナショナル・ビジネス・マシーンズ・コーポレーションの商標である。オペレーティング・システム１７０及びアプリケーション又はプログラム１８０の命令は、メディア装置１８２、１８４上に配置し、プロセッサによる実行のためにメイン・メモリ１５０にロードすることができる。
【００３１】
装置１３０及びプロセッサ１１０の間の通信は、バス・プロトコル及び割り込み１４２の両方を用いる。バス・プロトコルは、バス・トランザクションの意味を定義するため、及び、バスの使用についての調停機能のために用いられる。バス・トランザクションは、少なくともアドレスを送信し、データを受信又は送信することを含む。例えば、読み込みトランザクションは、データをメモリ１５０からプロセッサ１１０又はＩ／Ｏ装置１３０に転送し、書き込みトランザクションは、データをプロセッサ１１０又はＩ／Ｏ装置１３０からメモリ１５０に転送する。
【００３２】
ホスト・バス・アダプタ（ＨＢＡ）１６０を用いて、メディア装置１８２、１８４といった入力／出力周辺装置をプロセッサ１１０に接続する。Ｉ／Ｏ装置１３０は、例えば、ＳＣＳＩ、ファイバー・チャネル、イーサネット（商標）、又はＩｎｆｉｎｉｂａｎｄ（商標）  Ｔｒａｄｅ  Ａｓｓｏｃｉａｔｉｏｎ（ｗｗｗ．ｉｎｆｉｎｉｂａｎｄｔａ．ｃｏｍ）準拠Ｉ／Ｏ装置を含むことができる。ＨＢＡ１６０は、例えば、Ｘ３Ｔ９．２  米規格協会（ＡＮＳＩ）により定義される小型コンピュータ・システム・インターフェース（ＳＣＳＩ）高速並列インターフェースを実施するのに使用することができる。インターフェースは、プロセッサ１１０をハードディスク・ドライバ、プリンタその他の装置といったメディア装置１８２、１８４に接続することができる。複数のメディア装置１８２、１８４をＩ／Ｏバス１６２により結合することができる。Ｉ／Ｏバス１６２は、データ及び制御信号を、ホスト・バス・アダプタ１６０からメディア装置１８２、１８４に運ぶ並列バスである。例えば、メディア装置１８２、１８４はＳＣＳＩ装置とすることができ、これは、ＳＣＳＩ標準を用いてプロセッサ１１０とデータ及び制御信号を交換する周辺装置である。
【００３３】
データを記憶するための周辺装置の１つのシステムは、新磁気ディスク制御機構（ＲＡＩＤ）と呼ばれるものである。ＲＡＩＤは、データが、パリティ・ビット又はハミング・コードといったエラー修正のために用いられる情報と併せて２つ又はそれ以上のハードディスク・ドライブ１８４間で分散されて、性能及び／又はデータの完全性を改善する、データ記憶方法である。ハードディスク・アレイ１８４は、アレイ管理ソフトウェア及びエラー修正を取り扱うホスト・バス・アダプタ１６０により管理することができる。
【００３４】
当業者であれば、図１のハードウェアは、実施によって異なってよいことを理解するであろう。ローカル・バス１４０に対する付加的な接続は、直接の構成部品の相互接続を通して、又は、アドイン・ボードを通して行うことができる。ネットワーク・アダプタ１８６、ホスト・バス・アダプタ１６０、及び拡張バス・インターフェース１８８は、直接の構成部品の接続によりローカル・バス１４０に接続することができる。対照的に、例えば、グラフィック・アダプタ１９０は、拡張スロットに挿入されたアドイン・ボードによりローカル・バス１４０に接続することができる。図示例においては、ホスト・バス・アダプタ１６０は、ハードディスク・ドライブ、テープ・ドライブ、ＣＤ−ＲＯＭドライブ、及びデジタル・ビデオ・ディスクの読み取り専用ドライブ（ＤＶＤ−ＲＯＭ）といったメディア装置１８２、１８４に対する接続を与える。典型的なローカル・バス１４０の実施は、例えば、３つ又は４つのＰＣＩ拡張スロット又はアドイン・コネクタ１９２を支持する。それにもかかわらず、当業者は、図示例が本発明に関する体系的な制限を含むことを意味するものではないことを認識するであろう。例えば、本発明のプロセスをマルチプロセッサのデータ処理システムに適用することができる。
【００３５】
図２は、本発明の好ましい実施形態による、エラーが検出されるまで、ホスト・バス・アダプタからステータスを自動的に提示するためのシステム２００を示す。図２は、ＰＣＩ、ＰＣＩＸなどといった標準的なバス２３０によりホスト２２０に結合されたＨＢＡ２１０を示す。ＨＢＡ２１０は、プロセッサ２１２、メモリ２１４、及びホスト２２０とＨＢＡ２１０との間のデータ伝送を取り扱うためのプロトコル取り扱いインターフェース２１６を含む。光学のようなリンク２１８が与えられる。ホスト２２０は、プロセッサ２２２、及び、直接のメモリアクセス及びフォーマッティングを与えるためのＨＢＡインターフェース２２４を含む。ＨＢＡインターフェース２２４は、さらに、ホスト２２０の他の部分に対するアクセス２２６を与える。ホスト２２０は、さらに、自動ステータス禁止信号２４０をＨＢＡ２１０に通信するためのポート２２８を含む。
【００３６】
各ホスト２２０は、ホスト・バス・アダプタ２１０といったインターフェース・カードと結合される。上述のように、ホスト・バス・アダプタ２１０は、プロセッサ２１２及びＲＡＭ又はＥＥＰＲＯＭといったメモリ２１４を有する。一実施形態においては、メモリ２１４の少なくとも一部を用いて、ホスト２２０からダウンロードしたアダプタ・コードを保持する。一実施形態においては、各ホスト・バス・アダプタ２１０は、別々の回路カード上に配置される。別の実施形態においては、１つより多いホスト・バス・アダプタ２１０が回路カード上に配置される。各ホスト・バス・アダプタ２１０は、典型的には、ＰＣＩバスといったローカル・バス２３０に接続される。
【００３７】
図２においては、ＨＢＡ２１０は、直接、プロトコルを解釈し、データを記憶し取り出すためにアプリケーション・インターフェースを与えて、リンク２１８上に送信する。何らかのホスト２２０がこのＨＢＡ２１０と通信する。このホスト２２０は、ＰＣ又はサーバであってもよいし、又は、１つ又はそれ以上のＨＢＡ２１０とインターフェースすることができ、さらに該ホスト内２２０の内部ファブリックとインターフェースすることができるマイクロプロセッサ、メモリ、及び論理をもつ一組の電子装置であってもよい。例えば、ＰＣＩカードは、ＨＢＡ２１０に、マイクロプロセッサ２１２、及び、ＨＢＡデータをさらにフォーマットし、ＰＣＩバス２３０と通信することができるようにする他のアプリケーション特有の集積回路を備えさせるように設計することができる。このようなＰＣＩカードは、次いで、他の構成部品（同様なカードを含む）と併せてサーバにつなげて、記憶装置、テープ、又はプリンタ・サーバとして作用することができる。
【００３８】
このような環境においては、性能が非常に重要であり、可能性のあるどのようなオーバヘッドも排除することは、ＰＣＩカードが実行することができる１秒当たりの操作の総数を増加させることになる。両方のホスト２２０及びＨＢＡ２１０は、典型的には、インターフェース・プロトコル並びに２つの構成部品間のプロトコルを取り扱う際に助けとなるマイクロプロセッサ２２２、２１２を含む。性能が高くなるようにするためには、並列アクティビティを行う方法を見出すこと、及び、図示のように標準的なバス２３０におけるトランザクションを最小にすることが重要である。
【００３９】
本発明の好ましい実施形態によれば、ＨＢＡ２１０は、ＳＣＳＩコマンドといったコマンドを処理した後、リンク２１８により、ステータスを自動的に送信することができる。そうでない場合には、ホストは、情報の転送がエラーなしで行われたという事実を処理せねばならず、次いで、ＨＢＡ２１０にコマンドを送信して、該ＨＢＡ２１０が通常の終了ステータスを、例えばホスト２２０のようなイニシエータに与えるべきであることを知らせねばならない。
【００４０】
図３は、本発明の好ましい実施形態によるシステムのエラー／条件検査システムを示す。本発明の好ましい実施形態は、両方のプロセッサが、或いは別の場合には実行せねばならないハンドシェーク及び処理を排除する。このシステムは、すべての良好なエラーチェック能力がホスト上に存在することを要求する。したがって、データがＨＢＡからホストに転送されるとき、該データは十分にチェックされる３１０。ホストは、さらに、状態マシン及び中間バッファのトラバースがデータ・メモリに至る途中で生じないことを保証するようにチェックしている３２０。これらのすべてのチェックは、プロセッサからの例外条件及びクロック・チェック、バス・ハングなどのような突発的なエラー条件と併せてＯＲゲート３４０により処理される３３０。したがって、アサートされるこれらのチェック３１０ないし３３０のいずれも、ホストに対し、信号をＨＢＡにアサートするように仕向け３４０、これによって自動ステータスの送信を禁止させる。次いで、上述のように、ホストはエラーの回復を実行する役割になり、各コマンドを処理し、そのコマンドについて送信するステータスを決定する。検出されるエラーに影響を受けないコマンドもあるし、不良なステータスが返されて、再試行が開始されねばならないコマンドもある。
【００４１】
図４は、本発明の好ましい実施形態による、エラーが検出されるまで、ホスト・バス・アダプタからステータスを自動的に提示するための方法４００のフローチャートを示す。第１に、コマンドの処理後、ホストは、データ伝送検査を実行する４１０。このような検査は、データのエラーをチェックし、次いで、操作ステータス及び条件インジケータのエラー条件をチェックすることを含む。エラーが検出されたかどうか、又は、条件或いはステータスが侵されたかどうかについて判断される４２０。検出されない場合には４２２、ＨＢＡは、ステータスを自動的にイニシエータに送信するように構成される４３０。検出された場合には４２４、伝送を取り扱うＨＢＡに信号が送信されて、自動ステータスが禁止される４４０。ＨＢＡは、ステータスを自動的にイニシエータに送信することを停止する４５０。ホストは、次いで、各操作について、どのようなステータスをイニシエータに提示するかを通信するように要求される４６０。
【００４２】
図５は、本発明の好ましい実施形態によるシステム５００を示し、図１ないし図４を参照して示されるプロセスは、例えば、図５に示す固定の及び／又は取り外し可能なデータ記憶装置５６８、又は他のデータ記憶装置、又はデータ通信装置の１つ又はそれ以上のようなコンピュータ可読媒体又はキャリアにより実体的に具体化することができる。取り外し可能なデータ記憶装置５６８上で具体化されるプロセスを表わすコンピュータ・プログラム５９０を、メモリ５９２、又はシステム５００に、例えば、プロセッサ５９６にロードして、図５のシステム５００を実行のために構成することができる。コンピュータ・プログラム５９０は、図５のシステム５００により読み込まれ実行された場合に、該システム５００が本発明の好ましい実施形態のステップ又は要素を実行するのに必要なステップを実行するようにさせる命令を含む。
【図面の簡単な説明】
【００４３】
【図１】本発明の好ましい実施形態による入力／出力（Ｉ／Ｏ）システムを示す。
【図２】エラーが検出されるまで、ホスト・バス・アダプタからステータスを自動的に提示するためのシステムを示す。
【図３】システムのエラー／条件検査システムを示す。
【図４】エラーが検出されるまで、ホスト・バス・アダプタからステータスを自動的に提示するための方法のフローチャートを示す。
【図５】図１ないし図４を参照して示されるプロセスをプログラム記憶装置により実体的に具体化することができるシステムを示す。
【図１】
2007513394.tif 000003
【図２】
2007513394.tif 000004
【図３】
2007513394.tif 000005
【図４】
2007513394.tif 000006
【図５】
2007513394.tif 000007
【国際調査報告】
2007513394.tif 000008
2007513394.tif 000009
2007513394.tif 000010