(57)【要約】【課題】  ｉＳＣＳＩにおけるマルチコネクション／セッションを利用してストレージシステムにおける冗長構成を実現する。【解決手段】  ｉＳＣＳＩイニシエータ装置１は、第１順位に設定されているｉＳＣＳＩパス多重化装置１３から受信したｉＳＣＳＩパス多重化装置１３，１４のＩＰアドレスにもとづいてマルチコネクション／セッションでセッションを確立し、第１順位に設定されているｉＳＣＳＩパス制御装置１３におけるｉＳＣＳＩ／ＳＣＳＩプロトコル制御部８が、ｉＳＣＳＩイニシエータ装置１から受信されたｉＳＣＳＩのＰＤＵからＳＣＳＩののＣＤＢを抽出し、抽出したＣＤＢにもとづいてファイバーチャネルストレージユニット１２にコマンドを与える。【選択図】  図１
2006260223.tif 000002
【特許請求の範囲】
【請求項１】
ｉＳＣＳＩイニシエータとターゲットデバイスとの間のパスが多重化されたｉＳＣＳＩストレージシステムにおいて、
ｉＳＣＳＩイニシエータとターゲットデバイスとの間に複数のｉＳＣＳＩパス制御装置が設けられ、
前記ｉＳＣＳＩイニシエータは、前記複数のｉＳＣＳＩパス制御装置のそれぞれとの間にマルチコネクション／セッションでセッションを確立するコネクション／セッション制御手段と、
ｉＳＣＳＩレイヤにおける制御を行うｉＳＣＳＩレイヤ制御手段とを含み、
前記複数のｉＳＣＳＩパス制御装置は、それぞれ、
他のｉＳＣＳＩパス制御装置との間で、互いの順位を設定する状態設定手段と、
自身が第１順位に設定されている場合に、前記コネクション／セッション制御手段がディスカバリ処理を実行したときに自身のアドレスと他のｉＳＣＳＩパス制御装置のアドレスとを前記ｉＳＣＳＩイニシエータに応答するアドレス応答手段と、
前記ｉＳＣＳＩイニシエータから受信されたコマンドを前記ターゲットデバイスに与える機能を有するｉＳＣＳＩ／ＳＣＳＩプロトコル制御部とを含み、
前記コネクション／セッション制御手段は、第１順位に設定されているｉＳＣＳＩパス制御装置から受信した複数のアドレスにもとづいてセッションを確立し、
第１順位に設定されているｉＳＣＳＩパス制御装置におけるｉＳＣＳＩ／ＳＣＳＩプロトコル制御部が、前記ｉＳＣＳＩイニシエータから受信されたｉＳＣＳＩのＰＤＵからＳＣＳＩののＣＤＢを抽出し、抽出したＣＤＢにもとづいてターゲットデバイスに入出力要求を与える
ことを特徴とするｉＳＣＳＩストレージシステム。
【請求項２】
ｉＳＣＳＩパス制御装置は、ｉＳＣＳＩイニシエータから受信されたｉＳＣＳＩのＰＤＵに含まれる情報を他のｉＳＣＳＩパス制御装置に転送する機能を有するＰＤＵ経路制御手段を含み、
第１順位以外の順位に設定されているｉＳＣＳＩパス制御装置のＰＤＵ経路制御手段は、前記ｉＳＣＳＩイニシエータからｉＳＣＳＩのＰＤＵを受信したときに前記情報を、第１順位に設定されているｉＳＣＳＩパス制御装置に転送し、
第１順位に設定されているｉＳＣＳＩパス制御装置のＰＤＵ経路制御手段は、前記情報の転送を受けている場合には、ターゲットデバイスから入力したデータを、前記情報を転送したｉＳＣＳＩパス制御装置に出力する
請求項１記載のｉＳＣＳＩストレージシステム。
【請求項３】
ｉＳＣＳＩレイヤ制御手段は、コネクション／セッション制御手段がｉＳＣＳＩイニシエータとｉＳＣＳＩパス制御装置との間の伝送経路の障害に起因してエラーが発生したと判断したときにｉＳＣＳＩコマンドの再送制御を実行する
請求項１または請求項３記載のｉＳＣＳＩストレージシステム。
【請求項４】
第１順位に設定されているｉＳＣＳＩパス制御装置に障害が発生したと他のｉＳＣＳＩパス制御装置が判断した場合に、当該他のｉＳＣＳＩパス制御装置の状態設定手段は、自ｉＳＣＳＩパス制御装置を第１順位に設定する
請求項１から請求項３のうちのいずれか１項に記載のｉＳＣＳＩストレージシステム。
【請求項５】
第１順位に設定されているｉＳＣＳＩパス制御装置の状態設定手段は、自ｉＳＣＳＩパス制御装置とターゲットデバイスとの間の伝送経路に障害が発生したと判断した場合に、自ｉＳＣＳＩパス制御装置に代えて他のｉＳＣＳＩパス制御装置を第１順位に設定するための制御を行う
請求項１から請求項４のうちのいずれか１項に記載のｉＳＣＳＩストレージシステム。
【請求項６】
ｉＳＣＳＩイニシエータとターゲットデバイスとの間のパスを多重化するパス多重化方法において、
ｉＳＣＳＩイニシエータとターゲットデバイスとの間に複数のｉＳＣＳＩパス制御装置を設け、
前記複数のｉＳＣＳＩパス制御装置が、それぞれ、他のｉＳＣＳＩパス制御装置との間で、互いの順位を設定し、
前記複数のｉＳＣＳＩパス制御装置が、自身が第１順位に設定されている場合に、ｉＳＣＳＩイニシエータがディスカバリ処理を実行したときに自身のアドレスと他のｉＳＣＳＩパス制御装置のアドレスとを前記ｉＳＣＳＩイニシエータに応答し、
前記ｉＳＣＳＩイニシエータが、第１順位に設定されているｉＳＣＳＩパス制御装置から受信した複数のアドレスにもとづいてマルチコネクション／セッションでセッションを確立し、
第１順位に設定されているｉＳＣＳＩパス制御装置が、前記ｉＳＣＳＩイニシエータから受信されたｉＳＣＳＩのＰＤＵからＳＣＳＩののＣＤＢを抽出し、抽出したＣＤＢにもとづいてターゲットデバイスに入出力要求を与える
ことを特徴とするパス多重化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ｉＳＣＳＩを使用してデータが転送されるｉＳＣＳＩストレージシステム、およびｉＳＣＳＩストレージシステムにおけるパス多重化方法に関する。
【背景技術】
【０００２】
インターネットなどのＩＰ（Internet Protocol ）ネットワークの普及に伴って、サーバなどからストレージデバイスに対してＩＰネットワークを経由してデータを転送する要求が高まっている。そのようなデータ転送を実現する方法として、ｉＳＣＳＩ（internet Small Computer System Interface）を使用する方法がある。ｉＳＣＳＩでは、ＳＣＳＩのコマンドやレスポンスが、ＴＣＰ（Transmission Control Protocol ）パケットにカプセル化されて転送される。
【０００３】
ＩＰネットワークなどの広域ネットワークを介してサーバ（ｉＳＣＳＩイニシエータに相当）とｉＳＣＳＩを実装したストレージデバイス（例えば磁気ディスクと制御装置とからなる。ｉＳＣＳＩターゲットに相当）との間でデータ送受信が行われる場合、一般に、サーバとストレージデバイスとの間の距離は大きい。そのような状況において、ストレージシデバイスの信頼性、およびストレージデバイスに対するデータ転送の信頼性に対する懸念は、ローカルなＳＣＳＩ環境に比べて高い。
【０００４】
そこで、何らかの冗長構成（二重化構成）がとられる必要性がある。例えば、ＩＰネットワークとストレージデバイスとの間に２つのｉＳＣＳＩコントローラが設置されたストレージシステムがある（例えば、特許文献１参照。）。そのようなストレージシステムでは、２つのｉＳＣＳＩコントローラが通信可能に接続され、それぞれが、他のｉＳＣＳＩコントローラを監視する。そして、一方のｉＳＣＳＩコントローラにおいて故障が生ずると、そのｉＳＣＳＩコントローラに対して発行されたコマンドが、他方のｉＳＣＳＩコントローラに引き継がれる。
【０００５】
【特許文献１】特開２００３−２０３０１９号公報（段落０００５−００１０、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１に記載されているｉＳＣＳＩストレージシステムは、単に、既存の冗長化技術を流用して、他方のｉＳＣＳＩコントローラを待機させるようにしたスタンバイシステムにすぎない。
【０００７】
ｉＳＣＳＩには、１つのセッションに複数のコネクションを張ることができるマルチコネクション／セッションが規定されている。本発明は、ｉＳＣＳＩにおけるマルチコネクション／セッションを利用してストレージシステムにおける冗長構成を実現することができるｉＳＣＳＩストレージシステムおよびそのシステムにおけるパス多重化方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明によるｉＳＣＳＩストレージシステムは、ｉＳＣＳＩイニシエータとターゲットデバイス（例えば磁気ディスクと制御装置とからなる）との間に複数のｉＳＣＳＩパス制御装置が設けられ、ｉＳＣＳＩイニシエータが、複数のｉＳＣＳＩパス制御装置のそれぞれとの間にマルチコネクション／セッションでセッションを確立するコネクション／セッション制御手段と、ｉＳＣＳＩレイヤにおける制御を行うｉＳＣＳＩレイヤ制御手段とを含み、複数のｉＳＣＳＩパス制御装置が、それぞれ、他のｉＳＣＳＩパス制御装置との間で、互いの順位を設定する状態設定手段と、自身が第１順位に設定されている場合に、コネクション／セッション制御手段がディスカバリ処理を実行したときに自身のアドレスと他のｉＳＣＳＩパス制御装置のアドレスとをｉＳＣＳＩイニシエータに応答するアドレス応答手段と、ｉＳＣＳＩイニシエータから受信されたコマンド（命令またはデータ）をターゲットデバイスに与える機能を有するｉＳＣＳＩ／ＳＣＳＩプロトコル制御部とを含み、コネクション／セッション制御手段が、第１順位に設定されているｉＳＣＳＩパス制御装置から受信した複数のアドレスにもとづいてセッションを確立し、第１順位に設定されているｉＳＣＳＩパス制御装置におけるｉＳＣＳＩ／ＳＣＳＩプロトコル制御部が、ｉＳＣＳＩイニシエータから受信されたｉＳＣＳＩのＰＤＵからＳＣＳＩののＣＤＢを抽出し、抽出したＣＤＢにもとづいてターゲットデバイスに入出力要求を与えることを特徴とする。
【０００９】
ｉＳＣＳＩパス制御装置が、ｉＳＣＳＩイニシエータから受信されたｉＳＣＳＩのＰＤＵに含まれる情報（例えばＩＴＴ）を他のｉＳＣＳＩパス制御装置に転送する機能を有するＰＤＵ経路制御手段を含み、第１順位以外の順位に設定されているｉＳＣＳＩパス制御装置のＰＤＵ経路制御手段が、ｉＳＣＳＩイニシエータからｉＳＣＳＩのＰＤＵを受信したときに前記情報を、第１順位に設定されているｉＳＣＳＩパス制御装置に転送し、第１順位に設定されているｉＳＣＳＩパス制御装置のＰＤＵ経路制御手段は、前記情報の転送を受けている場合には、ターゲットデバイスから入力したデータを、前記情報を転送したｉＳＣＳＩパス制御装置に出力するように構成されていてもよい。
【００１０】
ｉＳＣＳＩレイヤ制御手段が、コネクション／セッション制御手段がｉＳＣＳＩイニシエータとｉＳＣＳＩパス制御装置との間の伝送経路の障害に起因してエラーが発生したと判断したときにｉＳＣＳＩコマンドの再送制御を実行するように構成されていてもよい。
【００１１】
第１順位に設定されているｉＳＣＳＩパス制御装置に障害が発生したと他のｉＳＣＳＩパス制御装置が判断した場合に、他のｉＳＣＳＩパス制御装置の状態設定手段が、自ｉＳＣＳＩパス制御装置を第１順位に設定するように構成されていてもよい。そのような構成によれば、一のｉＳＣＳＩパス制御装置に障害が発生してもｉＳＣＳＩイニシエータとターゲットデバイスとの間のデータ転送ができなくなることはない。
【００１２】
第１順位に設定されているｉＳＣＳＩパス制御装置の状態設定手段が、自ｉＳＣＳＩパス制御装置とターゲットデバイスとの間の伝送経路に障害が発生したと判断した場合に、自ｉＳＣＳＩパス制御装置に代えて他のｉＳＣＳＩパス制御装置を第１順位に設定する制御を行うように構成されていてもよい。そのような構成によれば、ｉＳＣＳＩイニシエータとｉＳＣＳＩパス制御装置との間では冗長構成が維持されるので、single point of failure（構成要素が１つしかないことに起因してシステムが停止）ということにはならない。
【００１３】
本発明によるパス多重化方法は、ｉＳＣＳＩイニシエータとターゲットデバイスとの間に複数のｉＳＣＳＩパス制御装置を設け、複数のｉＳＣＳＩパス制御装置が、それぞれ、他のｉＳＣＳＩパス制御装置との間で、互いの順位を設定し、複数のｉＳＣＳＩパス制御装置が、自身が第１順位に設定されている場合に、ｉＳＣＳＩイニシエータがディスカバリ処理を実行したときに自身のアドレスと他のｉＳＣＳＩパス制御装置のアドレスとをｉＳＣＳＩイニシエータに応答し、ｉＳＣＳＩイニシエータが、第１順位に設定されているｉＳＣＳＩパス制御装置から受信した複数のアドレスにもとづいてマルチコネクション／セッションでセッションを確立し、第１順位に設定されているｉＳＣＳＩパス制御装置が、ｉＳＣＳＩイニシエータから受信されたｉＳＣＳＩのＰＤＵからＳＣＳＩののＣＤＢを抽出し、抽出したＣＤＢにもとづいてターゲットデバイスに入出力要求を与えることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、ｉＳＣＳＩイニシエータがマルチコネクション／セッションでセッションを確立するだけで複数のハードウェアにまたがったｉＳＣＳＩターゲット（ｉＳＣＳＩパス制御装置）を１つのセッションに含めることができる。この結果、どれか１つのｉＳＣＳＩターゲットに障害が起きても業務を続けることができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態を図面を参照して説明する。
図１は、本発明によるｉＳＣＳＩストレージシステムの構成例をを示すブロック図である。図１に示す例では、ｉＳＣＳＩストレージシステムは、ｉＳＣＳＩおよびＴＣＰ／ＩＰプロトコル制御部（以下、プロトコル制御部という。）２を有するｉＳＣＳＩイニシエータ装置１、ｉＳＣＳＩイニシエータ装置１と２つのｉＳＣＳＩパス多重化装置（ｉＳＣＳＩパス制御装置）１３，１４とを通信可能に接続するＩＰネットワーク３、および２つのｉＳＣＳＩパス多重化装置１３，１４からファイバーチャネルでデータを受信するとともにｉＳＣＳＩパス多重化装置１３，１４にファイバーチャネルでデータを出力するファイバーチャネルストレージユニット（ターゲットデバイス）１２を含む。
【００１６】
なお、ｉＳＣＳＩイニシエータ装置１は、例えばＬＡＮ（図示せず）によって他のサーバ装置や端末装置に接続されるサーバである。従って、ｉＳＣＳＩイニシエータ装置１は、プログラムに従って動作するＣＰＵを含む。また、ｉＳＣＳＩイニシエータ装置１とＩＰネットワーク３との間に少なくとも２つの通信経路が備えられている。
【００１７】
プロトコル制御部２は、図２に示すｉＳＣＳＩ階層モデルにおける各層（レイヤ）の制御を行うハードウェアおよびソフトウェアである。プロトコル制御部２は、例えば、ｉＳＣＳＩレイヤの制御では、ＳＣＳＩレイヤからのＳＣＳＩコマンドやデータをカプセル化処理してｉＳＣＳＩのＰＤＵ（Protocol Data Unit）を作成し、ＴＣＰ／ＩＰレイヤに渡す。また、ＴＣＰ／ＩＰレイヤからのｉＳＣＳＩのＰＤＵからＳＣＳＩレスポンスやデータを抜き出してＳＣＳＩレイヤに渡す。従って、ｉＳＣＳＩパス制御装置のそれぞれとの間にセッションを確立するコネクション／セッション制御手段、およびｉＳＣＳＩレイヤにおける制御を行うｉＳＣＳＩレイヤ制御手段は、プロトコル制御部２で実現される。
【００１８】
ｉＳＣＳＩパス多重化装置１３，１４は、それぞれ、ｉＳＣＳＩターゲットとしての機能を含む。また、ｉＳＣＳＩパス多重化装置１３は、主記憶装置（図示せず）、ＩＰネットワーク３につながるＮＩＣ（Network Interface Card）４、ｉＳＣＳＩパス多重化装置１４との通信用に用いられるリモートダイレクトメモリアクセス（ＲＤＭＡ）機能を有するＲＮＩＣ（Remote  ＮＩＣ）１０、ｉＳＣＳＩパス多重化装置１３，１４の状態に応じてｉＳＣＳＩのＰＤＵの経路を設定する状態／ＰＤＵ経路制御機構（状態設定手段、ＰＤＵ経路制御手段）６、およびｉＳＣＳＩ／ＳＣＳＩプロトコル制御部８を備える。ｉＳＣＳＩパス多重化装置１３は、プログラムに従って制御を行うＣＰＵ（図示せず）が搭載され、状態／ＰＤＵ経路制御機構６の実体は、ソフトウェアである。
【００１９】
なお、ｉＳＣＳＩパス多重化装置１３，１４において、ＮＩＣ１０，１１と状態／ＰＤＵ経路制御機構６，７との間に、ＴＣＰ／ＩＰプロトコルのプロトコル制御やｉＳＣＳＩディスカバリセッション（ｉＳＣＳＩイニシエータが例えばSendTagetsコマンドでｉＳＣＳＩターゲットに問い合わせるセッション）の場合の制御を行う制御部（図示せず）が存在する。従って、そのような制御部は、アドレスをｉＳＣＳＩイニシエータに応答するアドレス応答手段を実現する。
【００２０】
ｉＳＣＳＩパス多重化装置１４は、ｉＳＣＳＩパス多重化装置１３と同様に構成されている。すなわち、主記憶装置、ＩＰネットワーク３につながるＮＩＣ５、ｉＳＣＳＩパス多重化装置１３との通信用に用いられるリモートダイレクトメモリアクセス（ＲＤＭＡ）機能を有するＲＮＩＣ１１、ｉＳＣＳＩパス多重化装置１３，１４の状態に応じてｉＳＣＳＩのＰＤＵの経路を設定する状態／ＰＤＵ経路制御機構７、およびｉＳＣＳＩ／ＳＣＳＩプロトコル制御部９を備える。
【００２１】
なお、ｉＳＣＳＩパス多重化装置１３，１４間の通信路１５は二重化され、一方のパスが切断されても、ｉＳＣＳＩパス多重化装置１３，１４間の通信が継続されるように構成されている。また、通信路１５は、死活監視のためにも用いられる。つまり、ｉＳＣＳＩパス多重化装置１３，１４は、通信路１５で、例えばハートビートの送受信を行う。また、ｉＳＣＳＩ／ＳＣＳＩプロトコル制御部８，９は、ｉＳＣＳＩレイヤおよびＳＣＳＩレイヤの制御を行う。
【００２２】
ストレージデバイスとしてのファイバーチャネルストレージユニット１２は、ｉＳＣＳＩパス多重化装置１３，１４に対して同じ論理ユニットを提供する。すなわち、ｉＳＣＳＩパス多重化装置１３から見てもｉＳＣＳＩパス多重化装置１４から見ても、ファイバーチャネルストレージユニット１２は、同じものとして見える。
【００２３】
状態／ＰＤＵ経路制御機構６，７は、ＲＮＩＣ１０，１１によって通信を行い、ｉＳＣＳＩパス多重化装置１３，１４が第１の状態（第１順位）にあるのか第２の状態にあるのかを示す情報を主記憶部に設定する。具体的には、ｉＳＣＳＩパス多重化装置１３，１４のうちのいずれかが第１の状態にあるとされ、他方が第２の状態にあるとされる。ｉＳＣＳＩパス多重化装置１３，１４がともに正常動作を行える状況にある場合には、あらかじめ決められている方のｉＳＣＳＩパス多重化装置が第１の状態に設定される。第２の状態にあるｉＳＣＳＩパス多重化装置における状態／ＰＤＵ経路制御機構は、ＲＮＩＣ１０，１１を用いてリモートダイレクトメモリアクセスによってｉＳＣＳＩのＰＤＵを、第１の状態にあるｉＳＣＳＩパス多重化装置における主記憶部に転送する。第１の状態にあるｉＳＣＳＩパス多重化装置における状態／ＰＤＵ経路制御機構は、ｉＳＣＳＩのＰＤＵをｉＳＣＳＩ／ＳＣＳＩプロトコル制御部に送る。
【００２４】
次に、図３〜図６のフローチャートを参照してｉＳＣＳＩストレージシステムの動作を説明する。図３は、ｉＳＣＳＩディスカバリセッションの場合の動作を示すフローチャートである。なお、以下の説明において、ｉＳＣＳＩパス多重化装置１３が第１の状態に設定され、ｉＳＣＳＩパス多重化装置１４が第２の状態に設定されているとする。
【００２５】
ｉＳＣＳＩイニシエータ装置１がディスカバリ処理を実行する場合、ｉＳＣＳＩパス多重化装置１３，１４は、ｉＳＣＳＩイニシエータ装置１が送信したＩＰパケットからディスカバリセッションの情報を抽出する（ステップＳ１１）。第１の状態になっているｉＳＣＳＩパス多重化装置１３は、ディスカバリセッションの応答として、自身のＩＰアドレス、第２の状態になっているｉＳＣＳＩパス多重化装置１４のＩＰアドレス、ターゲットポータルグループタグおよびターゲット名をｉＳＣＳＩイニシエータ装置１に返す（ステップＳ１２，Ｓ１３）。第２の状態になっているｉＳＣＳＩパス多重化装置１４は、ディスカバリセッションにおいて応答しない（ステップＳ１２，Ｓ１４）。
【００２６】
ｉＳＣＳＩイニシエータ装置１は、ｉＳＣＳＩディスカバリセッションで得た複数のＩＰアドレスに対して、マルチコネクション／セッションでセッションを確立する（ステップＳ１５）。一のコネクションは、ｉＳＣＳＩパス多重化装置１３についてのコネクションであり、他のコネクションは、ｉＳＣＳＩパス多重化装置１４についてのコネクションである。
【００２７】
図４および図５は、ｉＳＣＳＩパス多重化装置１３，１４の動作を示すフローチャートである。ｉＳＣＳＩパス多重化装置１３またはｉＳＣＳＩパス多重化装置１４は、ｉＳＣＳＩイニシエータ装置１が送信したＩＰパケットからｉＳＣＳＩのＰＤＵを抽出する（ステップＳ２１）。
【００２８】
第１の状態になっているｉＳＣＳＩパス多重化装置１３のコネクションを利用してｉＳＣＳＩイニシエータ装置１からｉＳＣＳＩコマンドが発行された場合には、ｉＳＣＳＩパス多重化装置１３の状態／ＰＤＵ経路制御機構６は、ｉＳＣＳＩのＰＤＵのイニシエータタスクタグ（ＩＴＴ）を抽出する。そして、ＩＴＴから主記憶装置のアドレスを生成し、生成したアドレスにｉＳＣＳＩのＰＤＵを格納する。すなわち、状態／ＰＤＵ経路制御機構６は、ＩＴＴに応じた主記憶装置のアドレスに、受信したｉＳＣＳＩのＰＤＵをマッピングする（ステップＳ２２，Ｓ２３）。
【００２９】
第２の状態になっているｉＳＣＳＩパス多重化装置１４のコネクションを利用してｉＳＣＳＩイニシエータ装置１からｉＳＣＳＩコマンドが発行された場合には、ｉＳＣＳＩパス多重化装置１４の状態／ＰＤＵ経路制御機構７は、ｉＳＣＳＩのＰＤＵのイニシエータタスクタグ（ＩＴＴ）を抽出し、ＩＴＴから主記憶装置のアドレスを生成し、生成したアドレスに、受信したｉＳＣＳＩのＰＤＵを格納するが（ステップＳ２２，Ｓ２６）、さらに、受信したｉＳＣＳＩのＰＤＵを、ＲＮＩＣ１１および通信路１５によって、ｉＳＣＳＩパス多重化装置１３の主記憶装置に転送する（ステップＳ２７）。なお、第１の状態になっているｉＳＣＳＩパス多重化装置を第１のｉＳＣＳＩパス多重化装置といい、第２の状態になっているｉＳＣＳＩパス多重化装置を第２のｉＳＣＳＩパス多重化装置という。
【００３０】
ｉＳＣＳＩパス多重化装置１３の状態／ＰＤＵ経路制御機構６は、ｉＳＣＳＩパス多重化装置１４からｉＳＣＳＩのＰＤＵが転送されてきた場合には、主記憶装置に格納されたｉＳＣＳＩのＰＤＵからＩＴＴを抽出し、抽出したＩＴＴを第２ＩＴＴとして記憶する（ステップＳ２４）。なお、ｉＳＣＳＩパス多重化装置１４からｉＳＣＳＩのＰＤＵが転送されない場合には、ステップＳ２４の処理は実行されない。
【００３１】
そして、ｉＳＣＳＩパス多重化装置１３のｉＳＣＳＩ／ＳＣＳＩプロトコル制御部８は、ｉＳＣＳＩのＰＤＵからＳＣＳＩのコマンドとしてのＣＤＢ（Command Description Block ）を抽出し（ステップＳ２５）、ファイバーチャネル（ＦＣ）を介して、抽出したコマンドをファイバーチャネルストレージユニット１２に対して実行する。すなわち、例えばファイバーチャネルストレージユニット１２に入出力要求を与える。
【００３２】
以上のように、第１の状態になっているｉＳＣＳＩパス多重化装置のコネクションを利用してｉＳＣＳＩイニシエータ装置１がｉＳＣＳＩタスクを実行した場合には、ステップＳ２１，Ｓ２２，Ｓ２３，Ｓ２５の順に処理が実行される。また、第２の状態になっているｉＳＣＳＩパス多重化装置のコネクションを利用してｉＳＣＳＩイニシエータ装置１がｉＳＣＳＩタスクを実行した場合には、ステップＳ２１，Ｓ２２，Ｓ２６，Ｓ２７，Ｓ２４，Ｓ２５の順に処理が実行される。なお、ｉＳＣＳＩでは、ｉＳＣＳＩイニシエータはｉＳＣＳＩ内のどのコネクションからでもｉＳＣＳＩコマンドを発行することができるが、ｉＳＣＳＩレスポンスは、ｉＳＣＳＩコマンドが発行されたコネクションで返送される必要がある。
【００３３】
この実施の形態では、複数のｉＳＣＳＩパスが同時に使用可能に設定されているが、例えば、ｉＳＣＳＩイニシエータ装置１は、原則として、第１の状態になっているｉＳＣＳＩパス多重化装置のコネクションを利用してｉＳＣＳＩタスクを実行する。また、ｉＳＣＳＩパス多重化装置１３，１４とファイバーチャネルストレージユニット１２との間では、第１の状態になっているｉＳＣＳＩパス多重化装置とファイバーチャネルストレージユニット１２との間でデータの入出力が行われる。
【００３４】
図５に示すように、ファイバーチャネルストレージユニット１２からｉＳＣＳＩレスポンスが出力された場合には（ステップＳ３１）、第１の状態になっているｉＳＣＳＩパス多重化装置１３のみがｉＳＣＳＩレスポンスを受信する。
【００３５】
第１の状態になっているｉＳＣＳＩパス多重化装置１３のｉＳＣＳＩ／ＳＣＳＩプロトコル制御部８は、ＳＣＳＩのＣＤＢをｉＳＣＳＩのＰＤＵに変換し主記憶装置に格納する（ステップＳ３２）。また、ｉＳＣＳＩパス多重化装置１３のｉＳＣＳＩ／ＳＣＳＩプロトコル制御部８は、変換したｉＳＣＳＩのＰＤＵからＩＴＴを抽出する。そして、抽出したＩＴＴが、記憶してある第２ＩＴＴと一致するか否か判定する（ステップＳ３３）。
【００３６】
一致した場合には、ファイバーチャネルストレージユニット１２からｉＳＣＳＩレスポンスは、第２の状態になっているｉＳＣＳＩパス多重化装置１４のコネクションを利用してｉＳＣＳＩイニシエータ装置１が発行したｉＳＣＳＩコマンドに対するレスポンスであるということになる。そこで、ｉＳＣＳＩパス多重化装置１３の状態／ＰＤＵ経路制御機構６は、ＲＮＩＣ１０および通信路１５によって、ｉＳＣＳＩパス多重化装置１４の主記憶装置に転送する（ステップＳ３４）。その場合、第２の状態になっているｉＳＣＳＩパス多重化装置１４が、ｉＳＣＳＩのＰＤＵをｉＳＣＳＩイニシエータ装置１に返送する（ステップＳ３６）。
【００３７】
一致しない場合には、ＲＮＩＣ１０および通信路１５を介する転送を行わない（ステップＳ３５）。その場合、第１の状態になっているｉＳＣＳＩパス多重化装置１３が、ｉＳＣＳＩのＰＤＵをｉＳＣＳＩイニシエータ装置１に返送する（ステップＳ３６）。
【００３８】
図６は、ｉＳＣＳＩパスにおいて障害が発生した場合のリカバリ方式を示すフローチャートである。ｉＳＣＳＩイニシエータ装置１のプロトコル制御部２は、実行中のｉＳＣＳＩタスクにおいてエラーが発生したことを検出すると（ステップＳ４１）、以下のような処理を行う。なお、ｉＳＣＳＩタスクにおけるエラーとして、ｉＳＣＳＩコマンドに対するｉＳＣＳＩレスポンスがないこと、ＰＤＵに整合性のないフィールドがあること、ＰＤＵ内のデータエラー（ダイジェストエラー）などがある。また、ＴＣＰレイヤなどでエラーが発生する可能性もある。
【００３９】
ｉＳＣＳＩイニシエータ装置１のプロトコル制御部２は、発生したエラーが、ｉＳＣＳＩイニシエータ装置１とｉＳＣＳＩパス多重化装置１３，１４との間の伝送経路の障害に起因するか否か判定する（ステップＳ４２）。具体的には、ｉＳＣＳＩコマンドに対するｉＳＣＳＩレスポンスはあるが、データエラーが生じている場合などには、伝送経路の障害に起因してエラーが発生したと判定する。伝送経路の障害に起因してエラーが発生した場合には、ｉＳＣＳＩイニシエータ装置１のプロトコル制御部２は、ｉＳＣＳＩにおいて定められているリカバリ方式に則ってｉＳＣＳＩコマンドの再送等を行う（ステップＳ４３）。
【００４０】
エラーの原因が伝送経路の障害ではないと判定した場合には、ｉＳＣＳＩイニシエータ装置１のプロトコル制御部２は、ｉＳＣＳＩパス多重化装置１３，１４に対してエラーの問い合わせを行う。ｉＳＣＳＩパス多重化装置１３，１４の状態／ＰＤＵ経路制御機構６，７は、問い合わせに応じて、ｉＳＣＳＩパス多重化装置１３，１４のインターコネクト（通信路１５による）においてハートビートの応答がなされているか否か確認する（ステップＳ４４）。
【００４１】
ｉＳＣＳＩパス多重化装置１３の状態／ＰＤＵ経路制御機構６がハートビートの応答がないことを確認したら、ｉＳＣＳＩパス多重化装置１４にハードウェア障害が発生したと判断する。また、ｉＳＣＳＩパス多重化装置１４の状態／ＰＤＵ経路制御機構７がハートビートの応答がないことを確認したら、ｉＳＣＳＩパス多重化装置１３にハードウェア障害が発生したと判断する。
【００４２】
ｉＳＣＳＩパス多重化装置１４の状態／ＰＤＵ経路制御機構７は、第１の状態になっているｉＳＣＳＩパス多重化装置１３にハードウェア障害が発生したと判断した場合、ｉＳＣＳＩイニシエータ装置１にセッションのクローズを促す（ステップＳ４５，Ｓ４６）。そして、ｉＳＣＳＩパス多重化装置１４の状態／ＰＤＵ経路制御機構７は、自身が第１の状態にあることを示す情報を主記憶部に設定する（ステップＳ４７）。また、ｉＳＣＳＩイニシエータ装置１は、シングルコネクション／セッションでセッションを再確立し、セッションリカバリを行う（ステップＳ４８）。そして、ｉＳＣＳＩイニシエータ装置１は、エラーが発生したｉＳＣＳＩタスクを再度実行する（ステップＳ４９）。なお、ｉＳＣＳＩイニシエータ装置１がディスカバリセッションを実行したときに、ｉＳＣＳＩパス多重化装置１４は、自身のＩＰアドレスのみを返す。
【００４３】
ｉＳＣＳＩパス多重化装置１３の状態／ＰＤＵ経路制御機構６は、第２の状態になっているｉＳＣＳＩパス多重化装置１４にハードウェア障害が発生したと判断した場合には、例えば、ｉＳＣＳＩイニシエータ装置１にその旨を報告する。その場合、ｉＳＣＳＩイニシエータ装置１のプロトコル制御部２は、ｉＳＣＳＩにおいて定められているリカバリ方式に則ってｉＳＣＳＩコマンドの再送等を行う（ステップＳ４３）。
【００４４】
ｉＳＣＳＩパス多重化装置１３，１４の状態／ＰＤＵ経路制御機構６，７がともにハートビートの応答があると判定した場合には、第１の状態になっているｉＳＣＳＩパス多重化装置１３とファイバーチャネルストレージユニット１２との間の伝送経路に障害が発生したと判断する。その場合、第２の状態になっているｉＳＣＳＩパス多重化装置１４の状態／ＰＤＵ経路制御機構７は、ｉＳＣＳＩイニシエータ装置１にセッションのクローズを促す（ステップＳ５０）。なお、ｉＳＣＳＩパス多重化装置１３の側がセッションのクローズを促すようにしてもよい。
【００４５】
そして、ｉＳＣＳＩパス多重化装置１３の状態／ＰＤＵ経路制御機構６は、自身が第２の状態にあることを示す情報を主記憶部に設定する。また、ｉＳＣＳＩパス多重化装置１４の状態／ＰＤＵ経路制御機構７は、自身が第１の状態にあることを示す情報を主記憶部に設定する（ステップＳ５１）。ｉＳＣＳＩイニシエータ装置１は、図３に示されたような方式で、マルチコネクション／セッションでセッションを確立する（ステップＳ５２）。また、ｉＳＣＳＩイニシエータ装置１のプロトコル制御部２は、エラーが発生したｉＳＣＳＩタスクを再度実行する（ステップＳ５３）。
【００４６】
以上に説明したように、ｉＳＣＳＩイニシエータ装置１は、ｉＳＣＳＩイニシエータ装置１とｉＳＣＳＩパス多重化装置１３，１４との間の伝送経路の障害に起因してエラーが発生したと判断したときには、ｉＳＣＳＩにおいて定められているリカバリ方式に則ってｉＳＣＳＩコマンドの再送等を行う。また、第１の状態になっているｉＳＣＳＩパス多重化装置において障害が発生したと判断された場合には、第２の状態になっていたｉＳＣＳＩパス多重化装置を第１の状態にしてｉＳＣＳＩタスクを再度実行する。さらに、第１の状態になっているｉＳＣＳＩパス多重化装置とファイバーチャネルストレージユニット１２との間の伝送経路に障害が発生したと判断された場合には、第１の状態に設定されるｉＳＣＳＩパス多重化装置と第２の状態に設定されるｉＳＣＳＩパス多重化装置とを入れ替えてｉＳＣＳＩタスクを再度実行する。
【００４７】
なお、同一論理ユニット（例えば、ファイバーチャネルストレージユニット１２）をターゲットデバイスとして持つｉＳＣＳＩターゲット（ｉＳＣＳＩパス多重化装置１３，１４に相当するもの）が複数のハードウェアにまたがる環境でｉＳＣＳＩパス多重化を実現する場合、従来は、ｉＳＣＳＩイニシエータが動作しているオペレーティングシステム（ＯＳ）上で多重化を可能にするソフトウェアを利用していた。
【００４８】
しかし、そのような構成では、ｉＳＣＳＩで規定されているパス多重化方法を活用できない。なぜなら、複数のハードウェアにまたがるターゲットデバイスを１つのＳＣＳＩセッションに含めることができず、ｉＳＣＳＩイニシエータが動作しているＯＳから論理ユニットが複数見えてしまうからである。また、パスの多重化を実現するには多重化機能を実現するためのソフトウェアを利用しなければならず、システムの価格が上昇してしまう。
【００４９】
なお、上記の実施の形態では、ｉＳＣＳＩパス多重化装置として２つのハードウェアが設けられていたが、さらに多くのハードウェアを設けてもよい。より多くのハードウェアを設けた場合には、他のｉＳＣＳＩパス多重化装置は、第１の状態に設定されているｉＳＣＳＩパス多重化装置に、受信したｉＳＣＳＩのＰＤＵを転送する。
【産業上の利用可能性】
【００５０】
本発明は、ＩＰネットワークを介してストレージデバイスに対してデータの書き込みを行うとともにストレージデバイスからデータを読み出すシステムに好適に適用される。
【図面の簡単な説明】
【００５１】
【図１】本発明によるｉＳＣＳＩストレージシステムの構成例をを示すブロック図である。
【図２】ｉＳＣＳＩ階層モデルを示す説明図である。
【図３】ｉＳＣＳＩディスカバリセッションの場合の動作を示すフローチャートである。
【図４】ｉＳＣＳＩパス多重化装置の動作を示すフローチャートである。
【図５】ｉＳＣＳＩパス多重化装置の動作を示すフローチャートである。
【図６】ｉＳＣＳＩパスにおいて障害が発生した場合のリカバリ方式を示すフローチャートである。
【符号の説明】
【００５２】
１    ｉＳＣＳＩイニシエータ
２    ＴＣＰ／ＩＰのプロトコル制御部
３    ＩＰネットワーク
４，５  ＮＩＣ
６，７  状態／ＰＤＵ経路制御機
８，９  ｉＳＣＳＩ／ＳＣＳＩプロトコル制御部
１０，１１  ＲＮＩＣ
１２  ファイバーチャネルストレージユニット
１３，１４  ｉＳＣＳＩパス多重化装置
１５    通信路
【図１】
2006260223.tif 000003
【図２】
2006260223.tif 000004
【図３】
2006260223.tif 000005
【図４】
2006260223.tif 000006
【図５】
2006260223.tif 000007
【図６】
2006260223.tif 000008