(57)【要約】【課題】  代替パスに関する情報の事前登録なしにＩ／Ｏリトライを確実に行うことのできるコンピュータシステムを提供する。【解決手段】  少なくとも１つのファイバーチャネルカード１２０が装着されるスロット部と、このスロット部に装着されたファイバーチャネルカード１２０を介して外部の入出力装置と接続され、該接続された入出力装置に対するＩ／Ｏ命令を実行するＩ／Ｏ制御装置１１０とを有する。Ｉ／Ｏ制御装置１１０は、ファイバーチャネルカード１２０のポート毎に、接続先の全ての入出力装置から、それぞれの入出力装置を特定可能な番号（ＷＷＮ）を取得するとともに、該取得した番号が同一であるポートが複数ある場合に、それらポートの少なくとも１つを他のポートにおける上記Ｉ／Ｏ命令のリトライ用のポートとして設定する。【選択図】図１
2005208971.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのファイバーチャネルカードが装着されるスロット部と、
前記スロット部に装着された前記ファイバーチャネルカードを介して外部の入出力装置と接続され、該接続された入出力装置に対するＩ／Ｏ命令を実行するＩ／Ｏ制御装置とを有し、
前記Ｉ／Ｏ制御装置が、前記ファイバーチャネルカードのポート毎に、接続先の全ての入出力装置から、それぞれの入出力装置を特定可能な番号を取得するとともに、該取得した番号が同一であるポートが複数ある場合に、それらポートの少なくとも１つを他のポートにおける前記Ｉ／Ｏ命令のリトライ用のポートとして設定することを特徴とするコンピュータシステム。
【請求項２】
前記Ｉ／Ｏ制御装置が、前記他のポートにおいて前記Ｉ／Ｏ命令が異常終了したことを検出すると、該他のポートに代えて前記リトライ用のポートを使用して前記Ｉ／Ｏ命令を再実行する、請求項１に記載のコンピュータシステム。
【請求項３】
前記Ｉ／Ｏ制御装置は、記憶手段を有し、前記ファイバーチャネルカードのポート毎に、接続先の入出力装置の番号を格納したテーブルを作成して前記記憶手段に格納するとともに、該格納したテーブル内の番号が一致したポートの少なくとも１つに対して前記リトライ用のポートとして設定可能であることを示すリトライ可能フラグをセットする、請求項１に記載のコンピュータシステム。
【請求項４】
前記Ｉ／Ｏ制御装置が、前記他のポートにおいて前記Ｉ／Ｏ命令が異常終了したことを検出すると、該他のポートに代えて前記リトライ可能フラグがセットされたポートを使用して前記Ｉ／Ｏ命令を再実行する、請求項３に記載のコンピュータシステム。
【請求項５】
前記ファイバーチャネルカードがデュアルポートファイバーチャネルカードである、請求項１に記載のコンピュータシステム。
【請求項６】
前記Ｉ／Ｏ制御装置が、前記デュアルポートファイバーチャネルカードのポートの一方を前記リトライ用のポートとして設定する、請求項５に記載のコンピュータシステム。
【請求項７】
前記ファイバーチャネルカードが複数のシングルモードファイバーチャネルカードである、請求項１に記載のコンピュータシステム。
【請求項８】
前記Ｉ／Ｏ制御装置が、前記複数のシングルモードファイバーチャネルカードの少なくとも１つのカードのポートを前記リトライ用のポートとして設定する、請求項７に記載のコンピュータシステム。
【請求項９】
前記ファイバーチャネルカードがデュアルポートファイバーチャネルカードとシングルモードファイバーチャネルカードの組み合わせよりなる、請求項１に記載のコンピュータシステム。
【請求項１０】
前記Ｉ／Ｏ制御装置が、前記デュアルポートファイバーチャネルカードおよびシングルモードファイバーチャネルカードの一方のカードのポートを前記リトライ用のポートとして設定する、請求項７に記載のコンピュータシステム。
【請求項１１】
前記入出力装置を特定可能な番号がワールドワイドネームである、請求項１乃至１０のいずれかに記載のコンピュータシステム。
【請求項１２】
外部の入出力装置との接続のためのインターフェースである少なくとも１つのファイバーチャネルカードが装着されるスロット部を備えたコンピュータシステムにおいて行われるＩ／Ｏリトライ方法において、
前記スロット部に前記ファイバーチャネルカードが装着されると、該装着されたファイバーチャネルカードのポート毎に、接続先の全ての入出力装置から、それぞれの入出力装置を特定可能な番号を取得する第１のステップと、
前記取得した番号が同一であるポートが複数ある場合に、それらポートの少なくとも１つを他のポートにおけるＩ／Ｏ命令のリトライ用のポートとして設定する第２のステップとを含むことを特徴とするＩ／Ｏリトライ方法。
【請求項１３】
前記他のポートにおいて前記Ｉ／Ｏ命令が異常終了したことを検出すると、前記他のポートに代えて前記リトライ用のポートを使用して前記Ｉ／Ｏ命令を再実行するステップをさらに含む、請求項１２に記載のＩ／Ｏリトライ方法。
【請求項１４】
前記第２のステップは、
前記ファイバーチャネルカードのポート毎に、接続先の入出力装置の番号を格納したテーブルを作成するステップと、
前記テーブル内の番号が一致したポートの少なくとも１つに対して、前記リトライ用のポートとして設定可能であることを示すリトライ可能フラグをセットするステップとを含む、請求項１２に記載のＩ／Ｏリトライ方法。
【請求項１５】
前記他のポートにおいて前記Ｉ／Ｏ命令が異常終了したことを検出すると、該他のポートに代えて前記リトライ可能フラグがセットされたポートを使用して前記Ｉ／Ｏ命令を再実行するステップをさらに含む、請求項１４に記載のＩ／Ｏリトライ方法。
【請求項１６】
前記ファイバーチャネルカードがデュアルポートファイバーチャネルカードであり、
前記第２のステップは、前記デュアルポートファイバーチャネルカードのポートの一方を前記リトライ用のポートとして設定するステップを含む、請求項１２に記載のＩ／Ｏリトライ方法。
【請求項１７】
前記ファイバーチャネルカードが複数のシングルモードファイバーチャネルカードであり、
前記第２のステップは、前記複数のシングルモードファイバーチャネルカードの少なくとも１つのカードのポートを前記リトライ用のポートとして設定するステップを含む、請求項１２に記載のＩ／Ｏリトライ方法。
【請求項１８】
前記ファイバーチャネルカードがデュアルポートファイバーチャネルカードとシングルモードファイバーチャネルカードの組み合わせよりなり、
前記第２のステップは、前記デュアルポートファイバーチャネルカードおよびシングルモードファイバーチャネルカードの一方のカードのポートを前記リトライ用のポートとして設定するステップを含む、請求項１２に記載のＩ／Ｏリトライ方法。
【請求項１９】
前記入出力装置を特定可能な番号がワールドワイドネームである、請求項１２乃至１８のいずれかに記載のＩ／Ｏリトライ方法。
【請求項２０】
外部の入出力装置との接続のためのインターフェースである少なくとも１つのファイバーチャネルカードが装着されるスロット部を備えたコンピュータに、
前記スロット部に前記ファイバーチャネルカードが装着されると、該装着されたファイバーチャネルカードのポート毎に、接続先の全ての入出力装置から、それぞれの入出力装置を特定可能な番号を取得する第１の処理と、
前記取得した番号が同一であるポートが複数ある場合に、それらポートの少なくとも１つを他のポートにおけるＩ／Ｏ命令のリトライ用のポートとして設定する第２の処理とを実行させるプログラム。
【請求項２１】
前記他のポートにおいて前記Ｉ／Ｏ命令が異常終了したことを検出すると、前記他のポートに代えて前記リトライ用のポートを使用して前記Ｉ／Ｏ命令を再実行する処理を、前記コンピュータにさらに実行させる、請求項２０に記載のプログラム。
【請求項２２】
前記第２の処理は、
前記ファイバーチャネルカードのポート毎に、接続先の入出力装置の番号を格納したテーブルを作成する処理と、
前記テーブル内の番号が一致したポートの少なくとも１つに対して、前記リトライ用のポートとして設定可能であることを示すリトライ可能フラグをセットする処理とを含む、請求項２０に記載のプログラム。
【請求項２３】
前記他のポートにおいて前記Ｉ／Ｏ命令が異常終了したことを検出すると、該他のポートに代えて前記リトライ可能フラグがセットされたポートを使用して前記Ｉ／Ｏ命令を再実行する処理を、前記コンピュータにさらに実行させる、請求項２２に記載のプログラム。
【請求項２４】
前記ファイバーチャネルカードがデュアルポートファイバーチャネルカードであり、
前記第２の処理は、前記デュアルポートファイバーチャネルカードのポートの一方を前記リトライ用のポートとして設定する処理を含む、請求項２０に記載のプログラム。
【請求項２５】
前記ファイバーチャネルカードが複数のシングルモードファイバーチャネルカードであり、
前記第２の処理は、前記複数のシングルモードファイバーチャネルカードの少なくとも１つのカードのポートを前記リトライ用のポートとして設定する処理を含む、請求項２０に記載のプログラム。
【請求項２６】
前記ファイバーチャネルカードがデュアルポートファイバーチャネルカードとシングルモードファイバーチャネルカードの組み合わせよりなり、
前記第２の処理は、前記デュアルポートファイバーチャネルカードおよびシングルモードファイバーチャネルカードの一方のカードのポートを前記リトライ用のポートとして設定する処理を含む、請求項２０に記載のプログラム。
【請求項２７】
前記入出力装置を特定可能な番号がワールドワイドネームである、請求項２０乃至２６のいずれかに記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中央処理装置（ＣＰＵ）がチャネルを介して磁気ディスク装置や磁気テープ（ＭＴ）装置等の入出力装置（デバイス）と接続されるコンピュータシステムに関する。さらには、本発明は、そのようなコンピュータシステムにおいて行われるＩ／Ｏリトライ方法およびその制御を実現するプログラムに関する。
【背景技術】
【０００２】
一般に、ＣＰＵがチャネル（入出力チャネルと呼ぶこともある）を介してデバイスと接続されるコンピュータシステムでは、Ｉ／Ｏ動作中に何らかの原因でパス障害が生じると、ＯＳ（operating system）によるＩ／Ｏリトライ処理が行われる。このＩ／Ｏリトライ処理では、もう一度、同じＩ／Ｏ命令を実行する、または、代替パスがある場合は、経路をその代替パスに変更して同じＩ／Ｏ命令を実行することで、正常終了を期待している。特許文献１には、パス障害が発生した場合に、代替パスが存在する場合は、その代替パスを使用してＩ／Ｏ命令の再実行を行うようにしたものが提案されている。
【０００３】
代替パスを使用してＩ／Ｏ命令を再実行する形態の一例として、例えば図８に示すような高速インターフェース規格の1つであるファイバーチャネル（ＦＣ：Fibre Channel）を利用した接続形態が考えられる。この例では、デュアルポートＦＣカード１とシングルポートＦＣカード２の２枚のカードが使用される。デュアルポートＦＣカード１の一方のポートは直接、磁気ディスク装置４と接続され、他方のポートはＦＣスイッチ（ＦＣ−ＳＷ）３を介して磁気ディスク装置５と接続されている。シングルポートＦＣカード２のポートは、ＦＣ−ＳＷ３を介して磁気ディスク装置５と接続されている。
【０００４】
上記の接続形態において、デュアルポートＦＣカード１の他方のポートに接続されたファイバーチャネルケーブルの故障により、Ｉ／Ｏ命令が異常終了した場合は、ＯＳが同じＩ／Ｏ命令を同じ経路で実行しても、正常終了を期待することはできない。この場合は、シングルポートＦＣカード２を介した磁気ディスク装置５への接続経路（代替パス）を使用してＩ／Ｏ命令を再実行することで、正常終了が期待できる。
【特許文献１】特開昭６３−１０４１２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述したように、従来のＩ／Ｏリトライ手法においては、代替パスを使用してＩ／Ｏ命令を再実行することで正常終了を期待できる。しかし、代替パスを使用するためには、代替パスに関する情報をＯＳに事前に登録しておく必要がある。例えば、図８の接続形態では、デュアルポートＦＣカード１の他方のポートに接続されている磁気ディスクと、シングルポートＦＣカード２に接続されている磁気ディスク装置とが同じものであり、これらのパスが代替え可能であることをＯＳに登録しておく必要がある。この登録は、ＦＣカードを使用して磁気ディスクを接続した際にユーザ自身で行う必要があり、ユーザにとっては、非常に煩わしく不便なものとなっていた。なお、特許文献１には、パス切替を行うための具体的な手段については何も記載されていない。
【０００６】
本発明の目的は、上記の問題を解決し、代替パスに関する情報の事前登録なしにＩ／Ｏリトライを確実に行うことのできる、システム、方法およびプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明のコンピュータシステムは、少なくとも１つのファイバーチャネルカードが装着されるスロット部と、前記スロット部に装着された前記ファイバーチャネルカードを介して外部の入出力装置と接続され、該接続された入出力装置に対するＩ／Ｏ命令を実行するＩ／Ｏ制御装置とを有し、前記Ｉ／Ｏ制御装置が、前記ファイバーチャネルカードのポート毎に、接続先の全ての入出力装置から、それぞれの入出力装置を特定可能な番号を取得するとともに、該取得した番号が同一であるポートが複数ある場合に、それらポートの少なくとも１つを他のポートにおける前記Ｉ／Ｏ命令のリトライ用のポートとして設定することを特徴とする。この場合、前記Ｉ／Ｏ制御装置が、前記他のポートにおいて前記Ｉ／Ｏ命令が異常終了したことを検出すると、該他のポートに代えて前記リトライ用のポートを使用して前記Ｉ／Ｏ命令を再実行するようにしてもよい。
【０００８】
上記の構成によれば、接続先の入出力装置が全く同じポートのうちの少なくとも１つが他のポートにおけるＩ／Ｏ命令のリトライ用のポートとして設定される。このリトライ用ポートの設定は、各ポートについて、接続先の全ての入出力装置から、それぞれの入出力装置を特定可能な番号、具体的には、ワールドワイドネーム（ＷＷＮ）と呼ばれるワールドワイドに一意である番号を取得することによって行われる。このＷＷＮはファイバーチャネルを介して接続される全入出力装置がそれぞれ持っている番号であり、複数の入出力装置が同じ番号を持つことは許されていない。よって、各ポートについて、接続されている全入出力装置のＷＷＮを取得して比較することにより、代替パスとなる経路を認識することが可能となる。例えば、デュアルポートファイバーチャネルカードを使用した場合で、各ポートの接続先の全入力装置が同じであれば、これらポートについて取得した番号（ＷＷＮ）は同一となり、一方のポートを他方のポートにおけるＩ／Ｏ命令のリトライ用のポートとして設定することができる。このように、本発明では、接続先の入出力装置からＷＷＮを取得して代替パスとなる経路を認識するようになっているので、従来のような代替パスに関する情報のＯＳへの登録を行う必要はない。
【０００９】
本発明のＩ／Ｏリトライ方法は、外部の入出力装置との接続のためのインターフェースである少なくとも１つのファイバーチャネルカードが装着されるスロット部を備えたコンピュータシステムにおいて行われるＩ／Ｏリトライ方法において、前記スロット部に前記ファイバーチャネルカードが装着されると、該装着されたファイバーチャネルカードのポート毎に、接続先の全ての入出力装置から、それぞれの入出力装置を特定可能な番号を取得する第１のステップと、前記取得した番号が同一であるポートが複数ある場合に、それらポートの少なくとも１つを他のポートにおけるＩ／Ｏ命令のリトライ用のポートとして設定する第２のステップとを含むことを特徴とする。この場合も、上記のコンピュータシステムと同様な作用を奏する。
【００１０】
本発明のプログラムは、外部の入出力装置との接続のためのインターフェースである少なくとも１つのファイバーチャネルカードが装着されるスロット部を備えたコンピュータに、前記スロット部に前記ファイバーチャネルカードが装着されると、該装着されたファイバーチャネルカードのポート毎に、接続先の全ての入出力装置から、それぞれの入出力装置を特定可能な番号を取得する第１の処理と、前記取得した番号が同一であるポートが複数ある場合に、それらポートの少なくとも１つを他のポートにおけるＩ／Ｏ命令のリトライ用のポートとして設定する第２の処理とを実行させることを特徴とする。この場合も、上記のコンピュータシステムと同様な作用を奏する。
【発明の効果】
【００１１】
以上のとおりの本発明によれば、従来必要とされていた、代替パスに関する情報のＯＳへの登録が、不要であるので、ユーザの負担が軽減する、という効果がある。
【発明を実施するための最良の形態】
【００１２】
次に、本発明の実施形態について図面を参照して説明する。
【００１３】
図１は、本発明の一実施形態であるコンピュータシステムの概略構成を示すブロック図である。このコンピュータシステムは、高速インターフェースである既存のファイバーチャネル（ＦＣ）カード１２０を介して外部の入出力装置（磁気ディスク装置）と接続されるものであって、その主要部は、プログラム制御により動作する中央処理装置１００と、主記憶装置１３０と、中央処理装置１００からの命令により磁気ディスク装置との間のデータの入出力を制御するＩ／Ｏ制御装置１１０〜１１２と、ＦＣカード１２０が取り付けられるスロットとを備える。
【００１４】
スロットは例えばＰＣＩ（Peripheral Component Interconnect）スロットであって、取り付けられたＦＣカード１２０がＰＣＩローカルバスを経由してＩ／Ｏ制御装置と接続される。このスロットは、通常、複数設けられるが、１つであってもよい。図１の例では、２つのスロットが用意されており、これらスロットにＦＣカード１２０を取り付けることで、ＦＣカード１２０がＰＣＩローカルバスを介してＩ／Ｏ制御装置１１０と接続されるようになっている。
【００１５】
ＦＣカード１２０は、２つのポート「Ｐｏｒｔ０」、「Ｐｏｒｔ１」（以下、単にＰ０、Ｐ１と記す）を備えるデュアルポートＦＣカードであって、これらポートＰ０、Ｐ１のそれぞれがＦＣスイッチ（ＦＣ-ＳＷ）１２１を介して磁気ディスク装置に接続される。図１の例では、ポートＰ０、Ｐ１のそれぞれがＦＣ-ＳＷ１２１を介して２台の磁気ディスク装置１２２、１２３の双方に接続されている。各ポートＰ０、Ｐ１とＦＣ−ＳＷ１２１の間およびＦＣ−ＳＷ１２１と各磁気ディスク装置１２２、１２３の間は、光ファイバケーブルや同軸ケーブルなどからなるファイバーチャネルケーブルで接続される。このＦＣカード１２０を用いた磁気ディスク装置の接続は、ユーザが任意に行うことができ、その接続形態は、当該コンピュータシステムの仕様の範囲内で自由に変更することができる。例えば、ＦＣ−ＳＷ１２１に接続される磁気ディスク装置は１つであってもよいし、３つ以上であってもよい。
【００１６】
中央処理装置１００は、各Ｉ／Ｏ制御装置１１０〜１１２に対して、データの入出力を制御するための命令を行う。図２は、中央処理装置１００の主要部の構成および動作を説明するためのブロック図である。図２を参照すると、中央処理装置１００は、Ｉ／Ｏ制御装置１１０とのインターフェースをとるためのＩ／Ｏ命令を生成するＩ／Ｏ命令生成部１０１と、そのＩ／Ｏ命令を送信するＩ／Ｏ命令送信部１０２と、そのＩ／Ｏ命令の実行結果を取得するＩ／Ｏ命令実行結果取得部１０３とからなる。
【００１７】
Ｉ／Ｏ命令生成部１０１は、予め決められた形式で、Ｉ／Ｏ命令を実行するＩ／Ｏ制御装置の番号（Ｉ／Ｏ制御装置を特定可能な番号）、そのＩ／Ｏ制御装置の配下のチャネル番号、そのチャネルに接続されているデバイス機器の番号、処理内容、転送するデータを格納する主記憶装置１３０のアドレスとそのサイズなどのデータからＩ／Ｏ命令情報１３１を作成して主記憶装置１３０に書き込む。Ｉ／Ｏ命令送信部１０２は、主記憶装置１３０に書き込まれたＩ／Ｏ命令情報１３１のアドレスを、そのＩ／Ｏ命令情報１３１に含まれるＩ／Ｏ制御装置の番号によって特定されるＩ／Ｏ制御装置に対して通知する。Ｉ／Ｏ命令実行結果取得部１０３は、予め決められている主記憶装置１３０内の各Ｉ／Ｏ制御装置毎のＩ／Ｏ命令実行結果通知エリア１３２を参照し、Ｉ／Ｏ命令の実行が終了したか否かを監視するとともに、終了していた場合は、その終了メッセージを取り出して実行結果を判定する。この判定に基づき、中央処理装置１００では、故障パスに対応するＦＣカードのポートにおける動作の停止、代替パスに対応するＦＣカードのポートによる動作の開始などの制御処理が実行される。
【００１８】
各Ｉ／Ｏ制御装置１１０〜１１２は、中央処理装置１００からのＩ／Ｏ命令を実行する他、チャネルの初期化／組み込み処理（チャネルの二重化を含む）およびパス故障時のチャネル障害処理を行う。各Ｉ／Ｏ制御装置１１０〜１１２は、基本的には同じ構成であるため、ここでは、Ｉ／Ｏ制御装置１１０の構成および動作について具体的に説明する。
【００１９】
図３は、Ｉ／Ｏ制御装置１１０の主要部の構成および動作を説明するためのブロック図である。図３を参照すると、Ｉ／Ｏ制御装置１１０は、中央処理装置１００からのＩ／Ｏ命令情報１３１を受信して解読する受信解読部１１１と、Ｉ／Ｏ命令情報１３１に書き込まれている処理内容を実行する実行制御部１１２と、この実行制御部１１２に付属するＲＯＭ１１２ａおよびＲＡＭ１１２ｂと、専用制御プログラム格納ＲＡＭ１１３とからなる。
【００２０】
実行制御部１１２は、ＰＣＩローカルバス１４０の各スロット「ＰＣＩ  Ｓｌｏｔ０」、「ＰＣＩ  Ｓｌｏｔ１」（以下、ＰＳ０、ＰＳ１と記す）に接続されるＰＣＩチャネルカード１４１の種類によって制御の変更が可能とされており、その動作は、ＲＯＭ１１２ａ内に予め格納されている制御プログラムによって制御される。この制御プログラムにより、例えば、Ｉ／Ｏ命令情報１３１で指示されているチャネルカードがスロットＰＳ０、ＰＳ１のいずれかに接続されているか、動作可能か等の判定（故障検出を含む）を行い、Ｉ／Ｏ命令情報１３１で指示される処理を実行し、その実行結果を主記憶装置１３０内のＩ／Ｏ命令実行結果通知エリアに書き込む、といった動作が行われる。さらに、中央処理装置１００からのチャネルカードの初期化／組み込み指示により、そのチャネルカードの情報をＰＣＩローカルバス１４０の仕様に則った方法で取り出して、カードの種類を判定するとともに、そのカードに対応する専用の制御プログラムを専用制御プログラム格納ＲＡＭ１１３から読み出してＲＡＭ１１２ｂにロードし、その専用制御プログラムを起動する、といった動作が行われる。この専用制御プログラムの起動により、後述するチャネルの初期化／組み込みの処理およびパス故障時のチャネル障害処理が実行可能となる。なお、ＲＯＭ１１２ａ内に格納されている制御プログラムおよび専用制御プログラム格納ＲＡＭ１１３に格納されている専用制御プログラムは、光ディスクなどの記憶媒体またはインターネットなどを通じてコンピュータシステムに提供されるようにしてもよい。
【００２１】
次に、本実施形態のコンピュータシステムの動作について具体的に説明する。Ｉ／Ｏ命令の実行に関する処理は既存のシステムのものと基本的に同じであるので、その動作についての説明は省略することとし、ここでは、本実施形態のコンピュータシステムの特徴である、初期化／組み込みの処理（チャネルの二重化を含む）およびチャネル障害処理（Ｉ／Ｏリトライ処理）の動作を具体的に説明する。
【００２２】
（１）初期化／組み込みの処理：
図４は、Ｉ／Ｏ制御装置にて行われるチャネルの初期化／組み込みの処理を説明するためのフローチャートである。以下、図１〜４を参照して動作を説明する。
【００２３】
チャネルカードがスロットＳ０、Ｓ１のいずれかに装着されると、中央処理装置１００が、その装着されたチャネルカードを動作可能な状態にするために、チャネルの初期化／組み込み指示をＩ／Ｏ制御装置１００に送信する。Ｉ／Ｏ制御装置１００では、チャネルの初期化／組み込み指示に応じて、以下の手順で、実行制御部１１２によるチャネルの初期化／組み込みの処理が行われる。
【００２４】
まず、装着されたチャネルカードのコンフィグレーション空間から「Vender ID」と「Device ID」を取り出し、それに基づいてチャネルカードの種別を調べ（ステップＳ１０）、ＦＣカードかどうかを判断する（ステップＳ１１）。ＦＣカードでない場合は、他のサポートしているチャネルカードかを判定する処理へ移行し、必要な処理が実行される（ステップＳ１２）。ＦＣカードである場合は、専用制御プログラム格納ＲＡＭ１１３から専用制御プログラムとして予め格納されているファイバーチャネル制御用プログラムをＲＡＭ１１２ｂに読み出して起動する（ステップＳ１３）。これ以降は、起動したファイバーチャネル制御用プログラムにより以下のような処理が実行される。
【００２５】
ステップＳ１４で、ポートＰ０の初期設定（ＰＣＩベースアドレス空間の取得、設定等）を実施してＦＣカードを動作可能な状態にする。続いて、ステップＳ１５で、ポートＰ０のリンクを確立してログインを行い、ポートＰ０に接続されている全てのデバイス（磁気ディスク装置）の情報を収集するとともに、その接続デバイスを特定する番号（各デバイスに固有の番号であって、例えばＷＷＮ（Wilde Word Name））を格納したポートＰ０用ＷＷＮテーブルをＲＡＭ１１２ｂ内に作成する。
【００２６】
次に、ステップＳ１６で、ＦＣカードがデュアルポートＦＣカードであるかどうかを判断する。デュアルポートＦＣカードでない場合は、ステップＳ１７で、ＦＣカードのポートＰ０の接続デバイスに関する情報を主記憶装置１３０に格納する（接続デバイス情報のＯＳへの通知）。この後、当該処理を終了する。デュアルポートＦＣカードである場合は、ステップＳ１８で、ポートＰ１の初期設定（ＰＣＩベースアドレス空間の取得、設定等）を行ってＦＣカードを動作可能な状態にする。ポートＰ１の初期設定後、ステップＳ１９で、ポートＰ１のリンクを確立してログインを行い、ポートＰ０に接続されているデバイス（磁気ディスク装置）の情報を収集するとともに、その接続デバイスのＷＷＮを格納したポートＰ１用ＷＷＮテーブルをＲＡＭ１１２ｂ内に作成する。
【００２７】
次に、ステップＳ２０で、ポートＰ０用ＷＷＮテーブルに格納されたＷＷＮとポートＰ１用ＷＷＮテーブルに格納されたＷＷＮとが一致するか否かを確認する。両テーブルに格納されたＷＷＮが一致しない場合は、ステップＳ２１で、ポートＰ０をログアウトし、リンクダウンさせて動作を停止するとともに、ポートＰ０の接続デバイスに関する情報を主記憶装置１３０に格納する（接続デバイス情報のＯＳへの通知）。両テーブルに格納されたＷＷＮが一致した場合は、ステップＳ２２で、ポートＰ１によるリトライ可能フラグを設定し、ステップＳ２３で、ポートＰ０の接続デバイスに関する情報を主記憶装置１３０に格納する（接続デバイス情報のＯＳへの通知）。リトライ可能フラグの設定では、例えば、ポートＰ１用ＷＷＮテーブルにフラグ情報に関する欄を設け、この欄に、フラグ情報として「１」を設定する、といった処理が行われる。この場合、デフォルト状態では、フラグ情報として「０」が設定される。ステップＳ２１、ステップＳ２３の後は当該処理を終了する。
【００２８】
以上の処理により、ＦＣカード１２０のポートＰ０がＦＣ−ＳＷ１２１を介して磁気ディスク装置１２２、１２３のそれぞれと接続され、Ｉ／Ｏ命令が実行可能な状態となる。
【００２９】
（２）チャネル障害処理（Ｉ／Ｏリトライ処理）：
図５は、Ｉ／Ｏ制御装置の実行制御部によるチャネル障害処理（Ｉ／Ｏリトライ処理）を説明するためのフローチャートである。以下、図１〜３および図５を参照して動作を説明する。なお、以下に説明する動作は、ＦＣカード１２０としてデュアルポートＦＣカードがスロットＰＳ０に装着され、各ポートＰ０、Ｐ１のそれぞれがＦＣ−ＳＷ１２１を介して磁気ディスク装置１２２、１２３に接続された状態で、上述した図４のチャネルの初期化／組み込みの処理が実行された後の動作である。
【００３０】
Ｉ／Ｏ命令によるＤＭＡ転送等の動作中（データ転送中）に障害を検出した場合は、まず、ＦＣカードから障害情報を読み出し、障害の種類を調べる（ステップＳ３０）。そして、障害の種類に従って、Ｉ／Ｏ命令実行結果通知エリアに書き込む終了メッセージを作成する。終了メッセージには、異常終了と障害情報が設定される。
【００３１】
次に、リトライ可能フラグの確認を行う（ステップＳ３２）。このフラグ確認処理では、図４のチャネルの初期化／組み込みの処理におけるステップＳ２０、Ｓ２２にてデュアルポートＦＣカードの、ポートＰ１によるリトライ可能フラグが設定されているかどうかが確認される。ポートＰ１用ＷＷＮテーブルのフラグ情報の欄に「１」が設定されていれば、リトライ可能フラグが設定されていると判断し、「０」が設定されている場合は、リトライ可能フラグは設定されていないと判断する。
【００３２】
リトライ可能フラグは設定されていないと判断した場合は、ステップＳ３１で作成した終了メッセージをＩ／Ｏ命令実行結果通知エリアに書き込み（ステップＳ３３）、その後、当該処理を終了する。リトライ可能フラグが設定されていると判断した場合は、ポートＰ１を使用して同じＩ／Ｏ命令を実行する（ステップＳ３４）。
【００３３】
Ｉ／Ｏ命令実行後、正常に終了したかどうかを確認する（ステップＳ３５）。異常終了の場合は、ステップＳ３３の処理を実行した後、当該処理を終了する。正常終了の場合は、ステップＳ３１で作成した終了メッセージについて、その内容を正常終了に変更するとともにスロットＰＣ０で障害を検出したことを示す障害情報を設定し、これをＩ／Ｏ命令実行結果通知エリアに書き込む（ステップＳ３６）。そして、スロットＰＳ０をログアウトし、リンクダウンさせて動作を停止した後、ポートＰ１のみで処理を実行するように設定してリトライ可能フラグをリセットする（ステップＳ３７）。リトライ可能フラグのリセットにより、ポートＰ１用ＷＷＮテーブルのフラグ情報の欄には「０」が設定される。フラグリセット後、当該処理を終了する。
【００３４】
以上のチャネル障害処理によれば、障害の原因がＦＣカード１２０のポートＰ０のポート部、ポートＰ０に接続されているファイバーチャネルケーブル、ＦＣ−ＳＷ１２１のポート部であった場合に、ポートＰ１を使用することでＩ／Ｏ命令の正常終了を期待できる。なお、既存のシステムにおける障害処理では、終了メッセージをＩ／Ｏ命令実行結果通知エリアに書き込んだ後、そのＩ／Ｏ命令をリトライするのか、チャネルを閉鎖するのか等の判断をＯＳに委ねることになる。
【００３５】
以上の説明では、例えば図６に示すように、各ポートのそれぞれがＦＣ−ＳＷ３を介して磁気ディスク装置４、５に接続されたデュアルポートＦＣカード１がスロットに装着される接続形態を前提にしているが、本発明は、この接続形態に限定されるものではない。ＦＣカードを使用した入出力装置（磁気ディスク装置）との接続形態は、ユーザが任意に設定することができる。例えば、図７に示すように、ＦＣカード１２０の２つのポートＰ０、Ｐ１のうち、ポートＰ０をＦＣ−ＳＷ１２１を介して磁気ディスク装置１２２、１２３に接続し、ポートＰ１をＦＣ−ＳＷ１２４を介して磁気ディスク装置１２２、１２３に接続することも可能である。このような接続形態を採用した場合は、上述した障害処理により、障害の原因がＦＣカード１２０のポートＰ０のポート部、ＦＣ−ＳＷ１２１、１２４の各ポート部、磁気ディスク装置１２２、１２３の各ポート部およびこれら各ポート部を接続するファイバーチャネルケーブルのいずれかであった場合に、ポートＰ１を使用することでＩ／Ｏリトライ処理の正常終了を期待できる。
【００３６】
図４に示した初期化／組み込み処理において、デュアルポートＦＣカードのポートＰ１をＩ／Ｏリトライ用の代替パスとして設定するようになっているが、逆にポートＰ０を代替パスとして設定するようにしてもよい。また、ポートＰ０で障害を検出した場合は、ポートＰ１のみで初期化／組み込み処理を継続して実行することも可能である。さらに、ステップＳ２１で、ポートＰ１をリンクダウンさせて動作を停止するようになっているが、リンクダウンさせずに、ポートＰ０、Ｐ１の接続デバイスに関する情報をＯＳに通知するようにしてもよい。これにより、ポートを有効に利用することができる。
【００３７】
図５に示した障害処理において、障害を検出したポートＰ０を１回目の障害検出で閉鎖して、ポートＰ１のみで処理を継続させるようになっているが、一定回数のリトライをポートＰ０で行っても正常終了がなされない場合に、ポートＰ１へのパス切替を行うようにしてもよい。
【００３８】
（他の実施形態）
チャネルの２重化が可能な接続形態であれば、使用するＦＣカードの種類、枚数は特に限定されるものではない。本発明は、複数枚のデュアルポートＦＣカードを使用した第１の接続形態、デュアルポートＦＣカードとシングルモードＦＣカードを組み合せて使用した第２の接続形態（例えば図８に示した接続形態）、複数枚のシングルモードＦＣカードを使用した第３の接続形態など、種々の接続形態に適用することができる。
【００３９】
各接続形態への適用が可能な構成とする場合は、最初に、Ｉ／Ｏ制御装置の実行制御部によってスロットに装着されているＦＣカードの種類と枚数からいずれの接続形態であるかが確認される。装着されたＦＣカードがデュアルポートＦＣカードで、１枚であった場合は、上述した図４および図５に示した処理がそのまま実行される。第１乃至第３の接続形態のいずれかかの形態である場合は、初期化／組み込み処理および障害処理は以下のような動作となる。
【００４０】
（１）第１の接続形態：
一例として、図１の構成において、スロットＰＳ０に第１のデュアルポートＦＣカードを、スロットＰＳ１に第２のデュアルポートＦＣカードを装着する場合の動作を説明する。この場合は、スロットＰＳ０、ＰＳ１のそれぞれについて図４に示した初期化／組み込み処理のステップＳ１０〜Ｓ１９までの処理を実行する。そして、各ポート用ＷＷＮテーブルについて同一のＷＷＮが格納されたものがあるかを調べる。ポート用ＷＷＮテーブルに同一のＷＷＮが格納されているポートについては、これらポートのうち、少なくとも１つのポートに対してリトライ可能フラグをセットし、残りのポートの接続デバイスに関する情報をＯＳに通知する。ポート用ＷＷＮテーブルに同一のＷＷＮが格納されていないポートについては、各ポートの接続デバイスに関する情報をＯＳに通知する。
【００４１】
上記の初期化／組み込み処理によれば、第１および第２のデュアルポートＦＣカードの各ポートのうち、同じディスク装置に接続されたポートの少なくとも１つにリトライ可能フラグが設定される。例えば、第１のデュアルポートＦＣカードの一方のポートと第２のデュアルポートＦＣカードの一方のポートが同じディスク装置に接続されている場合は、これらポートの一方にリトライ可能フラグが設定される。他方のポートにおいて障害が発生した場合には、リトライ可能フラグがセットされたポートへのパス切替が行われる。
【００４２】
（２）第２の接続形態：
デュアルポートＦＣカードおよびシングルポートＦＣカードのそれぞれについて、図４に示した初期化／組み込み処理のステップＳ１０〜Ｓ１９の処理を実行する。ただし、ステップＳ１６で「Ｎｏ」となった場合は、ステップＳ１７の処理は行わずにそのままステップＳ２０に移行するものとする。ここまでの処理により、デュアルポートＦＣカードおよびシングルポートＦＣカードのそれぞれのポートに関するポート用ＷＷＮテーブルが作成される。
【００４３】
次に、ステップＳ２０で、各ポート用ＷＷＮテーブルについて同一のＷＷＮが格納されたものがあるかを調べる。ポート用ＷＷＮテーブルに同一のＷＷＮが格納されているポートについては、これらポートのうち、少なくとも１つのポートに対してリトライ可能フラグをセットし、残りのポートの接続デバイスに関する情報をＯＳに通知する。ポート用ＷＷＮテーブルに同一のＷＷＮが格納されていないポートについては、各ポートの接続デバイスに関する情報をＯＳに通知する。
【００４４】
上記の初期化／組み込み処理によれば、デュアルポートＦＣカードおよびシングルポートＦＣカードの各ポートのうち、同じディスク装置に接続されたポートの少なくとも１つにリトライ可能フラグが設定される。例えば、図１の構成において図８に示した接続形態を採用した場合は、スロットＰＳ０に装着されたデュアルポートＦＣカード１のポート１とスロットＰＳ１に装着されたシングルポートＦＣカード２のポートの一方に、リトライ可能フラグが設定される。他方のポートにおいて障害が発生した場合には、リトライ可能フラグがセットされたポートへのパス切替が行われる。
【００４５】
（３）第３の接続形態：
シングルポートＦＣカードのそれぞれについて、図４に示した初期化／組み込み処理のステップＳ１０〜Ｓ１９の処理を実行する。ただし、ステップＳ１６で「Ｎｏ」となった場合は、ステップＳ１７の処理は行わずにそのままステップＳ２０に移行するものとする。ここまでの処理により、各シングルポートＦＣカードのそれぞれのポートに関するポート用ＷＷＮテーブルが作成される。
【００４６】
次に、ステップＳ２０で、各ポート用ＷＷＮテーブルについて同一のＷＷＮが格納されたものがあるかを調べる。ポート用ＷＷＮテーブルに同一のＷＷＮが格納されているポートについては、これらポートのうち、少なくとも１つのポートに対してリトライ可能フラグをセットし、残りのポートの接続デバイスに関する情報をＯＳに通知する。ポート用ＷＷＮテーブルに同一のＷＷＮが格納されていないポートについては、各ポートの接続デバイスに関する情報をＯＳに通知する。
【００４７】
以上説明した各実施形態のコンピュータシステムによれば、ＯＳに影響を与えることなく、制御ソフトウェア内でＷＷＮにより接続デバイスの一致を確認することでリトライ可能な代替え経路を自動認識することができる（チャネルの二重化）。
【００４８】
また、ファイバーチャネルでは装置間の接続に光ケーブルを使用するケースが多いが、その光ケーブル及び、光信号を送受信する光モジュール部の光レベルの減衰等による故障を、経路が切り替わることにより回避することでき、リトライの成功が期待できることにある。
【００４９】
なお、各実施形態のコンピュータシステムにおいて、接続の仕方によっては、ポート用ＷＷＮテーブルに格納される複数の磁気ディスク装置のＷＷＮの一部が一致する場合が考えられる。例えば、図７に示した構成において、ＦＣ−ＳＷ１２４に、磁気ディスク装置１２２、１２３の他に別の磁気ディスク装置が接続されている場合には、ポートＰ１用ＷＷＮテーブルとポート２用ＷＷＮテーブルは、格納されているＷＷＮの一部が合致することとなる。このような場合は、チャネルの２重化を行うことができないため、リトライ可能フラグのセットは行わない。すなわち、ポート用ＷＷＮテーブルに格納されている全ＷＷＮが一致した場合にのみ、リトライ可能フラグのセットが行われる。
【産業上の利用可能性】
【００５０】
本発明によれば、ファイバーチャネルカードが接続可能なコンピュータシステムすべてに適用することができる。例えば、ディスクアレイなどのコンピュータシステムに本発明を適用することができる。
【図面の簡単な説明】
【００５１】
【図１】本発明の一実施形態であるコンピュータシステムの概略構成を示すブロック図である。
【図２】図１に示すコンピュータシステムの中央処理装置の主要部の構成および動作を説明するためのブロック図である。
【図３】図１に示すコンピュータシステムのＩ／Ｏ制御装置の主要部の構成および動作を説明するためのブロック図である。
【図４】図３に示すＩ／Ｏ制御装置の実行制御部によって行われるチャネルの初期化／組み込みの処理を説明するためのフローチャートである。
【図５】図３に示すＩ／Ｏ制御装置の実行制御部によって行われるチャネル障害処理を説明するためのフローチャートである。
【図６】本発明のコンピュータシステムに適用可能な接続形態の一例を示す模式図である。
【図７】本発明のコンピュータシステムに適用可能な接続形態の他の例を示す模式図である。
【図８】ファイバーチャネルカードを利用した接続形態の一例を示す模式図である。
【符号の説明】
【００５２】
１００  中央処理装置
１０１  Ｉ／Ｏ命令生成部
１０２  Ｉ／Ｏ命令送信部
１１０〜１１２  Ｉ／Ｏ制御装置
１２０  ファイバーチャネルカード
１２１  ファイバーチャネルカードスイッチ
１２２、１２３  磁気ディスク装置
１３０  主記憶装置
【図１】
2005208971.tif 000003
【図２】
2005208971.tif 000004
【図３】
2005208971.tif 000005
【図４】
2005208971.tif 000006
【図５】
2005208971.tif 000007
【図６】
2005208971.tif 000008
【図７】
2005208971.tif 000009
【図８】
2005208971.tif 000010