(57)【要約】【課題】  FC_SANのイニシエータとiSCSI_SANのイニシエータとを共存させて、論理ボリュームの排他的使用を行えるようにする。【解決手段】  ホスト１Ａの各HBA１Ｃは、FC_SANを介して、ストレージ装置１００のFC用CHA４Ａに接続し、ホスト１Ｂの各HBA１Ｄは、iSCSI_SANを介して、iSCSI用CHA４Ｂに接続する。共有メモリ５には、LU９Ａ，９Ｂを管理するテーブル５Ａと、これらLUを利用可能なイニシエータを特定するための情報とキー情報とを対応付けるテーブル５Ｂと、iSCSI_NAMEを管理するテーブル５Ｃとが設けられる。FCイニシエータの場合は、テーブル５Ａ，５Ｂを参照すればよく、iSCSIイニシエータの場合は、テーブル５Ａ〜５Ｃを参照すればよい。共通のテーブル群５Ａ〜５Ｃにより、異なる種類のプロトコルをそれぞれサポートできる。【選択図】        図１
2006011932.tif 000002
【特許請求の範囲】
【請求項１】
第１プロトコルに基づいて、少なくとも一つ以上の第１上位装置の通信ポートとの間のデータ授受を制御する第１上位インターフェース制御部と、
第２プロトコルに基づいて、少なくとも一つ以上の第２上位装置の通信ポートとの間のデータ授受を制御する第２上位インターフェース制御部と、
少なくとも一つ以上の記憶デバイスとのデータ授受を制御する下位インターフェース制御部と、
前記第１，第２上位インターフェース制御部及び前記下位インターフェース制御部により共用されるメモリ部と、
前記記憶デバイス上に設けられた少なくとも一つ以上の論理ボリュームと、
前記第１，第２上位装置の前記各通信ポートと前記論理ボリュームとを対応付けて構成されるアクセス管理情報を記憶するアクセス管理情報記憶部と、
前記アクセス管理情報を参照することにより、前記第１，第２上位装置から前記論理ボリュームに対するアクセス要求の実行可否を制御するアクセス制御部と、
を備えたストレージ装置。
【請求項２】
前記アクセス管理情報は、前記論理ボリュームを識別するボリューム識別情報と前記第１上位装置の前記通信ポートを識別する第１ポート識別情報とを対応付けた第１管理情報と、前記第２上位装置の前記通信ポートを識別する第２ポート識別情報を記憶する第２管理情報とを、関連付けることにより構成される請求項１に記載のストレージ装置。
【請求項３】
前記第１ポート識別情報と外形的には共通のデータ構造を備えた疑似第１ポート識別情報を前記第１管理情報に記憶させることにより、前記第１管理情報と前記第２管理情報とが対応付けられる請求項２に記載のストレージ装置。
【請求項４】
前記疑似第１ポート識別情報は、無効な前記第１ポート識別情報として取り扱われるように、前記第１ポート識別情報の生成規則とは別の規則に基づくユニークな値として生成される請求項３に記載のストレージ装置。
【請求項５】
前記第１管理情報における前記疑似第１ポート識別情報の登録位置に合わせて、前記第２管理情報に前記第２ポート識別情報を登録させる請求項３に記載のストレージ装置。
【請求項６】
前記アクセス管理情報は、第１管理テーブルと、この第１管理テーブルに対応付けられる第２管理テーブルと、この第２管理テーブルに対応付けられる第３管理テーブルとを備えて構成され、
前記第１管理テーブルは、前記論理ボリュームを識別するボリューム識別情報と前記第２管理テーブルの参照位置とを示す情報を対応付けて記憶し、
前記第２管理テーブルは、前記第１上位装置の前記通信ポートを識別する第１ポート識別情報と排他制御用のキー情報とを対応付けて記憶し、
前記第３管理テーブルは、前記第２上位装置の前記通信ポートを識別する第２ポート識別情報を記憶し、
前記第２管理テーブルにおける前記第１ポート識別情報の登録順序に合わせて、前記第２ポート識別情報を前記第３管理テーブルに登録し、
前記第２管理テーブルには、前記第３管理テーブルを参照するか否かの判別に利用可能な情報が含まれている請求項１に記載のストレージ装置。
【請求項７】
前記アクセス管理情報は、上位層側アクセス管理情報と、下位層側アクセス管理情報とを備えており、
前記上位層アクセス管理情報は、第１管理テーブルと、この第１管理テーブルに対応付けられる第２管理テーブルと、この第２管理テーブルに対応付けられる第３管理テーブルとを備えて構成され、
前記第１管理テーブルは、前記論理ボリュームを識別するボリューム識別情報と前記第２管理テーブルの参照位置とを示す情報を対応付けて記憶し、
前記第２管理テーブルは、前記第１上位装置の前記通信ポートを識別する第１ポート識別情報と排他制御用のキー情報とを対応付けて記憶し、
前記第３管理テーブルは、前記第２上位装置の前記通信ポートを識別する第２ポート識別情報を記憶し、
前記第２管理テーブルにおける前記第１ポート識別情報の登録順序に合わせて、前前記第２ポート識別情報を前記第３管理テーブルに登録し、
かつ、前記第３管理テーブルを参照する場合には、前記第３管理テーブルの参照位置を示す情報を、無効な第１ポート識別情報として取り扱われる形態で前記第２管理テーブルに記憶させ、
前記下位層アクセス管理情報は、第４管理テーブルと、この第４管理テーブルに対応付けられる第５管理テーブルとを備えて構成され、
前記第４管理テーブルは、前記第５管理テーブルを参照すべきか否かを指定する参照判別情報と、前記第１ポート識別情報または前記第５管理テーブルの参照位置を示す情報のいずれか一つとを対応付けて構成され、
前記第５管理テーブルは、前記第１，第２上位インターフェース制御部の各通信ポート毎に、該各通信ポートを利用しうる前記第１，第２上位装置の前記第１ポート識別情報または前記第２ポート識別情報のいずれか一方を対応付けて構成されている、
請求項１に記載のストレージ装置。
【請求項８】
前記アクセス管理情報記憶部は前記メモリ部に設け、前記アクセス制御部は前記第１，第２上位インターフェース制御部に設ける請求項１に記載のストレージ装置。
【請求項９】
前記第１，第２上位インターフェース制御部は、それぞれマイクロプロセッサと、プロトコル制御部と、ローカルメモリとを備え、
前記アクセス管理情報記憶部の全体は前記メモリ部に設け、前記アクセス管理情報のうち自己に関連する所定の一部は前記ローカルメモリにそれぞれ記憶し、
前記アクセス制御部は、前記マイクロプロセッサが所定のプログラムコードを実行することにより実現されるものである請求項１に記載のストレージ装置。
【請求項１０】
前記第１，第２上位装置の前記各通信ポートは、前記アクセス制御部を介して、共通の論理ボリュームにアクセス可能である請求項１に記載のストレージ装置。
【請求項１１】
前記第１プロトコルと前記第２プロトコルとは、共通のコマンド体系を有し、互いに関連性のあるプロトコルとして構成されている請求項１の記載のストレージ装置。
【請求項１２】
前記第１プロトコルはファイバチャネルプロトコルであり、前記第２プロトコルはiSCSI（Internet SCSI）プロトコルである請求項１に記載のストレージ装置。
【請求項１３】
前記第１，第２上位装置はクラスタを構成する請求項１に記載のストレージ装置。
【請求項１４】
前記第１，第２上位装置の少なくともいずれか一方または双方は、前記通信ポートを複数備えており、同一装置内で前記各通信ポートの切換が可能となっている請求項１に記載のストレージ装置。
【請求項１５】
前記第１，第２上位装置は、複数の前記通信ポートと、これら各通信ポートと前記第１，第２上位インターフェース制御部の前記通信ポートとの間のパスを管理するパス管理部とを備え、このパス管理部が少なくとも一つ以上の所定の通信ポートを指定して、前記論理ボリュームの排他的使用を要求する請求項１に記載のストレージ装置。
【請求項１６】
第１プロトコルに基づいて、少なくとも一つ以上の第１上位装置の通信ポートとの間のデータ授受を制御する第１上位インターフェース制御部と、
第２プロトコルに基づいて、少なくとも一つ以上の第２上位装置の通信ポートとの間のデータ授受を制御する第２上位インターフェース制御部と、
少なくとも一つ以上の記憶デバイスとのデータ授受を制御する下位インターフェース制御部と、
前記第１，第２上位インターフェース制御部及び前記下位インターフェース制御部により共用されるメモリ部と、
前記記憶デバイス上に設けられた少なくとも一つ以上の論理ボリュームと、を備えたストレージ装置で前記論理ボリュームの排他制御を行うための方法であって、
前記第１，第２上位装置の前記各通信ポートを特定するためのポート識別情報と前記論理ボリュームを特定するためのボリューム識別情報とを対応付けて構成される共通のアクセス管理情報を保持するステップと、
前記保持された共通のアクセス管理情報を参照することにより、前記第１，第２上位装置から前記論理ボリュームへのアクセス要求の実行可否を判断するステップと、
前記アクセス要求の実行が許可された場合は、前記アクセス要求の内容に応じた処理を実行するステップと、
を含むストレージ装置の排他制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置及びストレージ装置の排他制御方法に関し、特に、それぞれ異なる種類のプロトコルを用いて論理ボリュームへのアクセスが可能なストレージ装置及びストレージ装置の排他制御方法に関する。
【背景技術】
【０００２】
ストレージ装置は、例えば、ハードディスクドライブや半導体メモリ装置等の記憶デバイスをアレイ状に配設して構成される。ストレージ装置は、例えば、RAID1やRAID5等のようなRAID（Redundant Array of Independent Inexpensive Disks）に基づく論理的な記憶領域を提供する。この論理的な記憶領域は、論理ボリューム（LU：Logical Unit）とも呼ばれる。
【０００３】
ホストコンピュータは、ストレージ装置の通信ポートを介して論理ボリュームにアクセスし、データの読み書き（Ｉ／Ｏ）を行う。ホストコンピュータは、データの整合性等を維持するために、論理ボリュームをリザーブして、排他的に論理ボリュームを使用する場合がある。論理ボリュームの使用を終えた場合、ホストコンピュータは、リザーブ状態を解除する。
【０００４】
ここで、特定のホストコンピュータのみを特定の論理ボリュームにアクセス可能とさせる技術としては、LUN（Logical Unit Number）セキュリティが知られてる（特許文献１，特許文献２）。この技術では、各ホストコンピュータ（ホストバスアダプタ）に設定されたWWN（World Wide Name）とLUNとを対応付けて管理する。そして、ホストコンピュータがアクセスを要求した場合に、そのWWNと所望のLUNとが対応付けられているか否かを検査し、対応付けられている場合には、アクセスを許可する。
【特許文献１】特開２００１−２６５６５５号公報
【特許文献２】特願平１０−３３３８３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、ストレージ装置としては、前記文献に記載されているように、ファイバチャネルプロトコルと呼ばれるシリアルSCSI（Small Computer System Interface）を利用するSAN（Storage Area Network）が知られている。SANは、ホストコンピュータへの依存度を低下させ、複数のホストコンピュータがネットワークを介してストレージを共有するために開発された共有ストレージである。SANでは、光ファイバやメタルケーブルを介して、ブロック単位で多量のデータ転送を行うことができる。
【０００６】
一方、汎用のコンピュータ通信の分野では、IP（Internet Protocol ）ネットワークを介して、データ転送を行う技術が発展している。このような汎用のデータ通信では、例えば、インターネット等として知られているように、TCP/IP（Transmission Control Protocol/Internet Protocol）パケットを用いて、複数のノード間でデータを転送する。
【０００７】
汎用のインターネット技術を用いても、データ転送を行うことはできるが、SANのようなブロックレベルの転送を行うことはできない。しかし、近年では、インターネット技術を利用して、遠隔のノード間でブロックレベルの転送を可能とするiSCSI_SANが提案されている。iSCSI（Internet SCSI）では、SCSIコマンドやデータをTCP/IPパケットに包み込み、このパケットをIPネットワークを介して転送させる。このiSCSIに対し、従来のSANは、ファイバチャネルSAN（FC_SAN）とも呼ばれる。iSCSIの登場は、IPネットワークへのストレージの直接接続を可能とし、ルータやスイッチ等の既存のIPネットワーク製品の有効利用を可能とする。
【０００８】
ここで、FC_SANとiSCSI_SANとは、それぞれプロトコルが相違するため、例えば、論理ボリュームの排他制御を行う場合のホストコンピュータ（イニシエータ）の特定方法が問題となる。各通信プロトコルは、それぞれホストコンピュータの識別方法が異なるためである。
【０００９】
もしも、単純に、ファイバチャネルプロトコルとiSCSIとを併存させる場合は、ファイバチャネルプロトコル用のホストコンピュータ識別処理とiSCSI用のホストコンピュータ識別処理とをそれぞれ独立させて構築することになる。しかし、ストレージ装置は、年々大容量化・高性能化が進んでおり、数千個の論理ボリュームを備え、かつ、数百台のホストコンピュータと接続可能なものも珍しくはない。従って、各通信プロトコル用にそれぞれ排他制御システムを構築すると、必要なデータサイズが膨大となり、ストレージ装置のメモリ資源を圧迫する。
【００１０】
本発明は、上記の問題点に鑑みてなされたもので、その一つの目的は、異なるプロトコルに共通して、上位装置と論理ボリュームとの対応関係を管理することができるストレージ装置及びストレージ装置の排他制御方法を提供することにある。本発明の一つの目的は、必要なデータサイズを小さくして、異種プロトコルに共通する論理ボリュームの排他制御を実現できるようにしたストレージ装置及びストレージ装置の排他制御方法を提供することにある。本発明のさらなる目的は、後述する実施の形態の記載から明らかになるであろう。
【課題を解決するための手段】
【００１１】
上記課題を解決すべく、本発明のストレージ装置は、複数の異なるプロトコルで共通に使用されるためのアクセス管理情報を備えている。即ち、本発明のストレージ装置は、第１プロトコルに基づいて、少なくとも一つ以上の第１上位装置の通信ポートとの間のデータ授受を制御する第１上位インターフェース制御部と、第２プロトコルに基づいて、少なくとも一つ以上の第２上位装置の通信ポートとの間のデータ授受を制御する第２上位インターフェース制御部と、少なくとも一つ以上の記憶デバイスとのデータ授受を制御する下位インターフェース制御部と、第１，第２上位インターフェース制御部及び下位インターフェース制御部により共用されるメモリ部と、記憶デバイス上に設けられた少なくとも一つ以上の論理ボリュームと、第１，第２上位装置の各通信ポートと論理ボリュームとを対応付けて構成されるアクセス管理情報を記憶するアクセス管理情報記憶部と、アクセス管理情報を参照することにより、第１，第２上位装置から論理ボリュームに対するアクセス要求の実行可否を制御するアクセス制御部と、を備える。
【００１２】
ここで、第１プロトコルと第２プロトコルとは、共通のコマンド体系を有し、互いに関連性のあるプロトコルとして構成することができる。その一つの例として、例えば、第１プロトコルはファイバチャネルプロトコルであり、第２プロトコルはiSCSI（Internet SCSI）プロトコルである。
【００１３】
アクセス管理情報は、それぞれ異なる第１，第２プロトコルに基づいてデータ転送を行う第１，第２上位装置の各通信ポートと、論理ボリュームとを対応付けることにより構成される。そして、アクセス制御部は、各プロトコルに共通のアクセス管理情報を参照し、上位装置からのアクセス要求を許可するか否かを制御する。これにより、各プロトコル毎にそれぞれ個別にアクセス管理用の情報を備える場合に比べて、必要なデータサイズを小さくすることができ、またアクセス管理の構造を簡素化することができる。
【００１４】
アクセス管理情報は、論理ボリュームを識別するボリューム識別情報と第１上位装置の通信ポートを識別する第１ポート識別情報とを対応付けた第１管理情報と、第２上位装置の通信ポートを識別する第２ポート識別情報を記憶する第２管理情報とを、関連付けることにより構成することができる。
【００１５】
ここで、例えば、第１ポート識別情報と外形的には共通のデータ構造を備えた疑似第１ポート識別情報を第１管理情報に記憶させることにより、第１管理情報と第２管理情報とを対応付けてもよい。例えば、疑似第１ポート識別情報は、無効な第１ポート識別情報として取り扱われるように、第１ポート識別情報の生成規則とは別の規則に基づいて生成することができる。仮に、第１ポート識別情報をWWN、第２ポート識別情報をiSCSI_NAMEとすると、第１管理情報から第２管理情報に誘導するために、第２管理情報に関連づけられるWWNは、疑似WWNとする。
【００１６】
疑似WWNは、WWNと外形上のデータ構造（例えばデータサイズ等）のみが共通し、実体は相違する情報である。例えば、正規の規則に従うWWNは、上位４バイト及び下位４バイトの合わせて合計８バイトの中に、有意なビットがセットされる。これに対し、疑似WWNでは、例えば、上位４バイトにヌルデータをセットする。疑似WWNの下位４バイトには、例えば、第２管理情報におけるiSCSI_NAMEの登録位置（エントリ位置、エントリ番号）をセットする。疑似WWNは、WWN解釈上無効なものとして取り扱われる。無効なWWNの場合に、アクセス制御部が第２管理情報を参照するように構成すれば、第１プロトコルに関する第１管理情報の仕組みをそのまま利用し、若干の構成を加えるだけで第２プロトコルによるアクセス管理を行うことができる。
【００１７】
本発明に従うストレージ装置及びストレージ装置の排他制御方法を構成する各機能、手段、ステップの全部または一部は、コンピュータプログラムから構成可能である。このコンピュータプログラムは、例えば、ハードディスクや半導体メモリまたは光ディスク等の記憶媒体に固定して流通することができる。あるいは、このコンピュータプログラムは、インターネット等の通信ネットワークを介して配信することもできる。
【発明を実施するための最良の形態】
【００１８】
以下、図面に基づき、本発明の実施の形態を説明する。本実施形態では、詳細はさらに後述するが、第１プロトコルに基づいて、少なくとも一つ以上の第１上位装置の通信ポートとの間のデータ授受を制御する第１上位インターフェース制御部と、第２プロトコルに基づいて、少なくとも一つ以上の第２上位装置の通信ポートとの間のデータ授受を制御する第２上位インターフェース制御部と、少なくとも一つ以上の記憶デバイスとのデータ授受を制御する下位インターフェース制御部と、第１，第２上位インターフェース制御部及び下位インターフェース制御部により共用されるメモリ部と、記憶デバイス上に設けられた少なくとも一つ以上の論理ボリュームと、を備えたストレージ装置を用いる。
【００１９】
そして、このストレージ装置では、第１，第２上位装置の各通信ポートと論理ボリュームとを対応付けて構成される共通のアクセス管理情報を保持するステップと、保持された共通のアクセス管理情報を参照することにより、第１，第２上位装置から論理ボリュームへのアクセス要求の実行可否を判断するステップと、アクセス要求の実行が許可された場合は、アクセス要求の内容に応じた処理を実行するステップと、を実行することにより、異種プロトコル間で共通する論理ボリュームの排他制御を実現する。
【００２０】
図１は、本実施形態の全体概念を示す説明図である。このストレージシステムは、複数のホストコンピュータ（以下、「ホスト」）１Ａ，１Ｂと、これら各ホスト１Ａ，１Ｂにより利用されるストレージ装置３とを備えている。ホスト１Ａは、複数の通信ポート１Ｃ（ホストバスアダプタ）を備えており、ネットワーク２Ａ（FC_SAN）を介して、ストレージ装置３と接続されている。ホスト１Ｂは、複数の通信ポート１Ｄ（ネットワークカード）を備えており、ネットワーク２Ｂ（iSCSI_SAN）を介して、ストレージ装置３と接続されている。以下、通信ポートを「ポート」と略記する。
【００２１】
ストレージ装置３は、ファイバチャネルプロトコルに基づいて、ホスト１Ａの複数のポート１Ｃとの間のデータ授受をそれぞれ制御するチャネルアダプタ（以下、「CHA」）４Ａと、iSCSIに基づいて、ホスト１Ｂの複数のポート１Ｄとの間のデータ授受をそれぞれ制御するCHA４Ｂと、各ディスクドライブ８とのデータ授受をそれぞれ制御する複数のディスクアダプタ（以下、「DKA」）７と、各CHA４Ａ，４Ｂ及び各DKA７により共用される共有メモリ５及びキャッシュメモリ６と、各ディスクドライブ８の記憶領域上に設定された複数の論理ボリューム（以下、「LU」）９Ａ，９Ｂとを備えている。CHA４Ａは、各ポート１Ｃに対応する複数のポート４Ａ１を備え、CHA４Ｂは、各ポート１Ｄに対応する複数のポート４Ｂ１を備えている。
【００２２】
なお、図示を省略しているが、各ホスト１Ａ，１Ｂ間は、例えば、LAN（Local Area Network）、WAN（Wide Area Netwrok）、インターネット等の通信ネットワークを介して双方向のデータ通信可能に接続することができる。
【００２３】
共有メモリ５には、論理ボリューム９Ａ，９Ｂへのアクセス管理を行うためのテーブル５Ａ，５Ｂ及び５Ｃがそれぞれ予め記憶されている。テーブル５Ａには、例えば、LUNやLU番号等のような各LU９Ａ，９Ｂをそれぞれ識別するための情報が記憶されており、テーブル５Ｂには、例えば、WWN等のような各ポート１Ｃ，１Ｄをそれぞれ識別するための情報が記憶されている。
【００２４】
ここで、各ポート１Ｃは、FC_SANを利用して通信を行うため、WWNにより一意に特定することができる。これに対し、各ポート１Ｄは、iSCSI_SANを利用して通信を行うため、WWNを用いて特定することができない。
【００２５】
そこで、本実施形態では、iSCSI_NAMEを採用する。iSCSI_NAMEは、世界中で一意に特定できる情報であり、iSCSIノードの設置場所に依存せず、その全生涯にわたって不変の情報である。iSCSI_NAMEには、２種類のものが規定されている。その一つは、IQNと呼ばれるもので、IPドメイン名を使用したiSCSI Qualified Nameである。他の一つは、EUIと呼ばれるもので、IEEE（the Institute of Electrical and Electronic Engineers ）の64ビットExtended Unique Identifierを使用したIEEE EUI-64 Formatを使用する。いずれの場合も世界で一意、生涯不変の名称であり、テキストフォーマットで記述される。
【００２６】
しかし、WWNのデータサイズとiSCSI_NAMEのデータサイズとは相違する。WWNが８バイトであるのに対し、iSCSI_NAMEは、その規格上の最大サイズが２２３バイトとなっている。テーブル５Ｂのデータ登録サイズをiSCSI_NAMEに合わせて２２３バイトとすることも考えられる。しかし、この場合は、テーブル５Ｂのサイズが大きくなり、また、無駄な領域も増加する。何故なら、このストレージシステムでは、FC_SANとiSCSI_SANとが混在しており、全てのノード（イニシエータ）がiSCSI_NAMEを有しているわけではないためである。また、テーブル５Ｂの構造変化は、FC_SANに対応する他の各部（テーブルやプログラム）の変更を引き起こすため、コストも増大する。
【００２７】
そこで、本実施形態では、FC_SANに対応して構築された既存の枠組みをできるだけ変化させることなく利用すべく、新たなテーブル５Ｃを導入し、このテーブル５Ｃとテーブル５Ｂとを対応付ける。
【００２８】
つまり、WWNを管理するテーブル５Ｂ内に、テーブル５Ｃへのポインタを含め、iSCSI_NAMEはテーブル５Ｃで管理する。テーブル５Ｂに登録されるテーブル５Ｃへのポインタは、WWNのような形態で記述されるが、WWNの生成規則に準拠していないため、有効なWWNとして扱われることはない。従って、FC_SAN用のCHA４Ａがテーブル５Ｂを参照した場合に、テーブル５Ｃへのポインタとしての疑似ＷＷＮを誤って解釈するおそれはない。一方、iSCSI_SAN用のCHA４Ｂは、テーブル５Ｂを参照して無効な疑似WWNを発見すると、この疑似WWNに誘導されてテーブル５Ｃを参照し、目的とするiSCSI_NAMEを検出する。
【００２９】
このようにして、ストレージ装置３は、それぞれ異なるプロトコルに従うホスト１Ａ，１Ｂからの論理ボリューム９Ａ，９Ｂに対するアクセスを制御することができる。従って、例えば、ホスト１Ａは一方の論理ボリューム９Ａを排他的に使用可能であり、ホスト１Ｂは他方の論理ボリューム９Ｂを排他的に使用可能である。これに限らず、後述の実施例からも明らかなように、各ホスト１Ａ，１Ｂが一つまたは複数の論理ボリュームを共有することもできる。
【００３０】
以上のように、本実施形態では、FC_SAN用に構築された既存のアクセス管理システムをそのまま利用し、比較的低コストかつ簡素な構成で、iSCSI用のアクセス管理まで拡張することができる。以下、本実施形態の詳細をさらに説明する。
【実施例１】
【００３１】
図２は、ストレージシステムの全体構成の概略を示すブロック図である。このシステムは、後述のように、複数のホスト１０Ａ，１０Ｂと、少なくとも一つ以上のストレージ装置１００とを備えている。
【００３２】
各ホスト１０Ａ，１０Ｂは、例えば、サーバ、パーソナルコンピュータ、ワークステーション等として実現されるものである。各ホスト１０Ａ，１０Ｂは、図外に位置する複数のクライアント端末と図示せぬ通信ネットワークを介して接続されており、各クライアント端末に情報処理サービスを提供する。
【００３３】
ホスト１０Ａは、例えば、アプリケーションプログラム（以下、「アプリケーション」）群１１Ａと、パス管理プログラム１２Ａと、複数のホストバスアダプタ（以下、「HBA」）１３Ａとを備えて構成することができる。同様に、ホスト１０Ｂも、アプリケーション群１１Ｂと、パス管理プログラム１２Ｂと、複数のHBA１３Ｂとを備えて構成可能である。
【００３４】
アプリケーション群１１Ａ，１１Ｂは、例えば、各種のデータベースソフトウェア等のような、ストレージ装置３の記憶するデータを利用する情報処理プログラムである。パス管理プログラム１２Ａ，１２Ｂは、例えば、各HBA１３Ａ，１３Ｂを流れるデータ量を制御したり（ロードバランス機能）、各HBA１３Ａ，１３Ｂのいずれかに障害が発生した場合に通信ルートを切り換える（フェイルオーバ機能）。即ち、パス管理プログラム１２Ａ，１２Ｂは、通信パスを制御する。
【００３５】
HBA１３Ａは、ファイバチャネルプロトコルに基づいたデータ転送を行うものであり、HBA１３Ｂは、iSCSIに基づいたデータ転送を行うものである。HBA１３Ｂは、後述のように、SCSIコマンドやデータをTCP/IPパケットに包み込んだり、TCP/IPからSCSIコマンドを取り出したりする。このように、HBA１３Ｂは、HBA１３Ａに比べて、その処理負荷が大きいため、TCP/IPのプロトコル処理を専門に行うTCP/IPオフロードエンジン（TOE）を搭載するのが好ましい。なお、図中では、FC_SANに参加するホスト１０ＡとiSCSI_SANに参加するホスト１０Ｂとを、それぞれ１台ずつ示しているが、これに限らず、各ホスト１０Ａ，１０Ｂをそれぞれ複数ずつ設けることができる。
【００３６】
ホスト１０Ａとストレージ装置１００とを接続するネットワークＣＮ２Ａは、FC_SANとして構成される。ホスト１０Ｂとストレージ装置１００とを接続するネットワークＣＮ２Ｂは、iSCSI_SANとして構成される。iSCSI_SANでは、IPネットワークを利用してブロックレベルのデータ転送を行う。
【００３７】
ストレージ装置１００は、それぞれ後述するように、少なくとも一つ以上のファイバチャネル用CHA（以下、「CHF」）１１０Ａと、少なくとも一つ以上のiSCSI用CHA（以下、「CHI」）１１０Ｂと、複数のDKA１２０と、ディスクドライブ１３０と、キャッシュメモリ１４０と、共有メモリ１５０と、スイッチ部１６０と、サービスプロセッサ（以下、「SVP」）１７０とを備えている。
【００３８】
CHF１１０Ａは、ホスト１０Ａとの間のデータ転送を制御するもので、複数のポート１１１Ａを備えている。ストレージ装置１００には、複数のCHF１１０Ａを設けることができる。同様に、CHI１１０Ｂは、ホスト１０Ｂとの間のデータ転送を制御するもので、複数のポート１１１Ｂを備えている。ストレージ装置１００には、複数のCHI１１０Ｂを設けることができる。CHF１１０Ａ，CHI１１０Ｂの詳細はさらに後述するが、両者は、外部ネットワークＣＮ２Ａ，ＣＮ２Ｂに関するプロトコル処理の点で相違するだけであり、ストレージ装置１００内での処理は共通する。
【００３９】
各DKA１２０は、各ディスクドライブ１３０との間のデータ通信をそれぞれ制御するものである。各DKA１２０と各ディスクドライブ１３０とは、例えば、SAN等の通信ネットワークＣＮ３を介して接続されており、ファイバチャネルプロトコルに従ってブロック単位のデータ転送を行う。CHF１１０Ａ，CHI１１０Ｂも同様であるが、各DKA１２０は、例えば、プロセッサやメモリ等が実装されたプリント基板と、メモリに格納された制御プログラム（いずれも不図示）とをそれぞれ備えており、これらのハードウェアとソフトウェアとの協働作業によって、それぞれ所定の機能を実現する。
【００４０】
各ディスクドライブ１３０は、例えば、ハードディスクドライブ（HDD）、半導体メモリ装置、光ディスク装置、光磁気ディスク装置等として実現可能である。記憶方式の異なるディスクドライブを混在させてもよい。各ディスクドライブ１３０は、物理的な記憶デバイスである。RAID構成等によっても相違するが、例えば、４個１組のディスクドライブ１３０でRAIDグループ１３１が構築され、このRAIDグループ１３１上に、仮想的な記憶領域であるLU１３２Ａ，１３２Ｂを設定することができる。
【００４１】
なお、ストレージ装置１００の有する記憶資源が、全てストレージ装置１００内に存在している必要性は必ずしもない。ストレージ装置１００は、例えば、ストレージ装置１００の外部に存在する記憶資源のLUNを自己のLUNやLUにマッピングすることにより、外部記憶資源をあたかも自己の記憶資源であるかのように取り込むことができる。
【００４２】
キャッシュメモリ１４０は、例えば、ユーザデータ等を記憶するものである。キャッシュメモリ１４０は、例えば、揮発または不揮発のメモリから構成される。ホスト１０Ａ，１０Ｂから書き込まれたデータ（ライトデータ）や、各ホスト１０Ａ，１０Ｂに読み出されたデータ（リードデータ）は、キャッシュメモリ１４０を介して、受け渡されるようになっている。
【００４３】
共有メモリ（または制御メモリ）１５０は、例えば、揮発または不揮発のメモリから構成される。共有メモリ１５０には、例えば、制御情報や管理情報Ｔ等が記憶される。共有メモリ１５０及びキャッシュメモリ１４０は、それぞれ複数個設けることができる。また、同一のメモリ基板にキャッシュメモリ１４０と共有メモリ１５０とを混在させて実装することもできる。あるいは、メモリの一部をキャッシュ領域として使用し、他の一部を制御領域として使用することもできる。
【００４４】
スイッチ部１６０は、各CHF１１０Ａ，CHI１１０Ｂと、各DKA１２０と、キャッシュメモリ１４０と、共有メモリ１５０とをそれぞれ相互に接続する。スイッチ部１６０は、例えば、超高速クロスバスイッチ等として構成可能である。
【００４５】
SVP１７０は、例えば、LAN等の内部ネットワークＣＮ４を介して、各CHF１１０Ａ，CHI１１０Ｂ及び各DKA１２０とそれぞれ接続可能である。これに限らず、SVP１６０をCHF１１０ＡまたはCHI１１０Ｂのいずれか一方または双方にのみ接続し、CHF１１０ＡまたはCHI１１０Ｂのいずれかを介して、内部の状態を示す情報を収集するように構成してもよい。SVP１７０は、例えば、LAN等の通信ネットワークを介して、複数の管理端末（いずれも不図示）に接続可能であり、ストレージ装置１００内で収集した各種の情報を、生のままで、あるいは統計的に処理した上で、外部の管理端末に提供することができる。
【００４６】
図３は、CHI１１０Ｂの概略構成を示すブロック図である。CHI１１０Ｂは、例えば、iSCSIポート制御部１１１Ｂ（図２中では、単に「ポート」として述べた）と、チャネルプロセッサ（以下、「CHP」）１１２と、ローカルメモリ１１３と、マイクロプログラムアダプタ（以下、「MPA」）１１４と、データ転送アダプタ（以下、「DTA」）１１５とを備えて構成することができる。なお、図中では、一つのiSCSIポートに関連する構成のみを示しているが、実際には複数のポートを備えることができる。
【００４７】
iSCSIポート制御部１１１Ｂは、外部のネットワークＣＮ２Ｂで使用される外部プロトコルとしてのTCP/IPと、ストレージ装置１００の内部でデータ転送に使用される内部プロトコルとしてのファイバチャネルプロトコルとの変換処理を担当する。
【００４８】
CHP１１２は、CHI１１０Ｂの全体的な制御を行うもので、例えば、リードコマンドやライトコマンド等のSCSIコマンドを処理する。iSCSIポート制御部１１１ＢによりTCP/IPパケット内から取り出されたSCSIコマンドは、CHP１１２からMPA１１４を介して、共有メモリ１５０に記憶される。DKA１２０は、共有メモリ１５０を随時参照しており、未処理のコマンドを発見すると、そのコマンドを処理する。DKA１２０による処理結果は、共有メモリ１５０からMPA１１４を介して、CHP１１２に報告される。
【００４９】
iSCSIポート制御部１１１ＢによりTCP/IPパケットから取り出されたライトデータは、CHP１１２からDTA１１５を介して、キャッシュメモリ１４０に記憶される。また、DKA１２０によりディスクドライブ１３０から読み出されたリードデータは、キャッシュメモリ１４０に記憶される。このリードデータは、キャッシュメモリ１４０からDTA１１５を介して、CHP１１２に読み込まれる。
【００５０】
ローカルメモリ１１３は、例えば、不揮発メモリから構成される。ローカルメモリ１１３には、iSCSIポート制御部１１１ＢまたはCHP１１２により使用される管理情報や制御情報が格納されている。幾つかを紹介すると、例えば、ローカルメモリ１１３には、インデックステーブルＴ１Ｂと、KEYテーブルＴ２Ｂと、iSCSI_NAMEテーブルＴ３Ｂと、リソーステーブルＴ４Ｂ等を記憶させることができる。ここで、インデックステーブルＴ１Ｂは、後述するインデックステーブルＴ１の一部がコピーされたものである。同様に、KEYテーブルＴ２ＢはKEYテーブルＴ２の、iSCSI_NAMEテーブルＴ３ＢはiSCSI_NAMEテーブルＴ３の、それぞれ必要な一部をコピーしたものである。
【００５１】
即ち、共有メモリ１５０に記憶されたテーブルＴ１〜Ｔ３等のうち、そのCHI１１０Ｂで使用する可能性のあるデータのみがローカルメモリ１１３にコピーされる。ローカルメモリ１１３内のコピーデータは、適当なタイミングで更新される。なお、リソーステーブルＴ４Ｂは、HBA１３Ｂに割り当てられたリソースを管理するテーブルである。
【００５２】
図４は、CHF１１０Ａの概略構成を示すブロック図である。図３で述べたと同様に、図中では、一つのポートに関連する構成に注目して説明するが、実際には複数のポートを備えることができる。
【００５３】
CHF１１０Ａは、ＦＣポート制御部１１１Ａと、CHP１１２と、ローカルメモリ１１３と、MPA１１４と、DTA１１５とを備えている。CHF１１０ＡとCHI１１０Ｂとを比較すると、CHF１１０Ａでは、iSCSIポート制御部１１１Ｂに代えて、ＦＣポート制御部１１１Ａが設けられている。ＦＣポート制御部１１１Ａは、ファイバチャネルプロトコルを制御する。CHF１１０Ａのローカルメモリ１１３には、CHI１１０Ｂのそれとほぼ同様に、インデックステーブルＴ１Ａと、KEYテーブルＴ２Ａと、WWNテーブルＴ３Ａと、リソーステーブルＴ４Ａとがそれぞれ記憶されている。ここで、各テーブルＴ１Ａ，Ｔ２Ａ及びＴ４Ａは、上述した各テーブルＴ１Ｂ，Ｔ２Ｂ及びＴ４Ｂと同様のため、説明を省略する。
WWNテーブルＴ３Ａは、iSCSI_NAMEテーブルＴ３の一部ではなく、各CHF１１０Ａが各FCイニシエータのWWNを管理するために用いるテーブルである。WWNテーブルＴ３Ａは、例えば、WWNとS_IDとLUN等を対応付けることにより構成することができる。これ以外の構造で生成することもできる。
【００５４】
次に、ファイバチャネル及びiSCSIの両プロトコルについて簡単に説明する。まず、図５は、ファイバチャネルのレイヤ構成を示す説明図である。ファイバチャネルは、下から順番に、ＦＣ−０層、ＦＣ−１層、ＦＣ−２層、ＦＣ−４層から構成される。なお、ＦＣ−３層は、共通サービスを規定する層であるが、まだ標準化されていない。
【００５５】
FC−０層は、光ファイバケーブル、メタルケーブル、コネクタ等の物理メディアや、伝送速度、距離及び信号処理等を規定する。
【００５６】
ＦＣ−１層は、８Ｂ／１０Ｂ符号化方式として知られているように、データの符号化／復号化等を規定する。
【００５７】
ＦＣ−２層は、最小の伝送単位であるフレームの組立とフロー制御、データ伝送手順等を規定する。フロー制御は、例えば、クラス１，２，３，４，５，６，Ｆ等に分類されたサービスクラスによって規定される。比較的よく使用されるのは、クラス２，クラス３，，クラスＦである。幾つかのクラスについて簡単に説明する。
【００５８】
クラス１は、２つのポート間で物理帯域を全て使用可能なサービスであり、他のクラスに比べて、データ転送量が最大となる。クラス２では、２つのポートが物理帯域を占有することなくデータ伝送を行う。クラス２で接続された２つのポートのいずれか一方に対し、別のポートがクラス２で接続可能である。クラス２では、フレーム単位でデータの受信確認及び内容確認（ACK）を行う。
【００５９】
これに対し、クラス３では、クラス２とは異なり、フレームの受信は確認するが、内容の確認までは行わない。クラス３では、送信エラーの処理は、上位層（ＦＣ−４）に委ねられる。原理上、クラス３は、クラス２に比べると通信品質が低下する。しかし、ファイバチャネルでは、ＦＣ−１層において８Ｂ／１０Ｂ符号化方式を採用し、ビットエラーレート（BER）を低く抑えているため、実用上の問題はない。クラス３では、ACKフレームによる確認を省略する分だけ、クラス２よりも高速なデータ伝送を実現できる。
【００６０】
クラスFは、ファブリックトポロジの制御用データを伝送するために使用される。ファブリックスイッチ（ＦＣスイッチ）同士をＥポート（Expansion Port）を介して接続する場合、Ｅポート間のデータ伝送は、クラスＦに従う。
【００６１】
ＦＣ−３層は、ネームサービスやマルチキャスト等のファブリックサービスを規定する層である。
【００６２】
ＦＣ−４層は、FCP（Fibre Channel Protocol）やIP、FICON（Fibre Connect）等の上位プロトコルへのマッピングを担当する層である。
【００６３】
図５に示すように、ファブリックトポロジの場合、ホストとストレージ装置との間に、ファブリックスイッチが介在し、各Ｎポート（Node Port）は、ＦＣ−０層でそれぞれ接続される。各ＦＣ−０層は独立しているため、一方が光ファイバケーブル、他方がメタルケーブルであってもデータ転送を行うことができる。
【００６４】
図６は、データ構造を示す説明図である。一連の仕事を行う複数のフレーム２１０から一つのシーケンス２００が構成される。図示を省略するが、一群のシーケンス２００により、一つのエクスチェンジが構成される。例えば、ストレージ装置１００から一連のデータを読み出す一つのリードオペレーションは、一つのエクスチェンジに相当する。
【００６５】
フレーム２１０は、ファイバチャネルの最小伝送単位である。一つのフレーム２１０は、フレーム開始を示すSOF（Start of Frame）２１１と、ヘッダ２１２と、データフィールド２１３と、CRC（Cyclic Redundancy Check）２１４と、フレーム終了を示すEOF（End of Frame）２１５とから構成される。ここで、SOFは４バイト、ヘッダは２４バイト、データフィールド２１３は可変長であるが最大値は２１１２バイト、CRCは４バイト、EOFも４バイトである。
【００６６】
ヘッダ２１２には、例えば、相手先アドレスであるD_ID（Destination_ID）２１２Ａと、発信元アドレスであるS_ID（Source_ID）２１２Ｂと、F_CTL（Frame Control）２１２Ｃと、SEQ_ID（Sequence_ID）２１２Ｄと、SEQ_CNT（Sequence_Count）２１２Ｅ等が含められる。この他、エクスチェンジＩＤ等もヘッダ２１２に含まれるが省略する。
【００６７】
図７は、iSCSIのレイヤ構造を示す説明図である。下から順番に、物理層及びデータリンク層、IP層、TCP層、iSCSI層、SCSI層、SCSIアプリケーション層を積み上げて構成される。
【００６８】
IP層では、IPアドレスを指定したデータ転送が行われ、TCP層ではTCPポート番号を指定したデータ転送が行われる。iSCSI層では、iSCSI_NAMEを指定したデータ転送が行われ、SCSI層では、LU番号やLBA（Logical Block Address）を指定したデータ転送が行われる。iSCSI層は、SCSI層とTCP層との間に位置し、SCSIコマンド及びSCSIレスポンスをiSCSI_PDUと呼ばれるカプセルに収め、TCPコネクションによりデータを転送させるものである。
【００６９】
図８は、iSCSIで使用されるデータ構造を示す説明図である。ホストのSCSIアプリケーション層からSCSI層を介して出力されるコマンドは、図８に示すように、コマンド及びデータ（またはコマンドのみ）を含んだコマンドフレーム３４０である。コマンドフレーム３４０は、例えば、ライトコマンドまたはリードコマンド等のオペレーションコードが先頭バイトに含まれる６バイトのコマンドフレームである。
【００７０】
このコマンドフレーム３４０が、iSCSI層に到達すると、iSCSI層は、SCSIコマンドフレームをiSCSI_PDU（Protocol Data Unit）３３０に変換する。このPDU３３０がTCP層を通過すると、TCPパケット３２０に変換され、さらに、このTCPパケット３２０は、IP層を通過することにより、IPパケット３１０となる。そして、MAC（Media Access Control）アドレスが付加されて、可変長のMACフレーム３００が完成する。データフィールドには、１５００バイトのデータを格納可能である。
【００７１】
SCSIコマンドフレーム３４０は、例えば、ベーシックヘッダセグメント３４１と、アディショナルヘッダセグメント３４２と、データセグメント３４３とを含む。そして、ベーシックヘッダセグメント３４１には、例えば、オペレーションコード３４１Ａと、データセグメント長３４１Ｂと、LUN番号３４１Ｃと、イニシエータタスクタグ３４１Ｄと、オペレーションコード仕様フィールド３４１Ｅとを含めることができる。
【００７２】
図示したプロトコル構成の下では、物理層及びデータリンク層同士、IP層同士、TCP層同士、iSCSI層同士、SCSI層同士、及びSCSIアプリケーション層同士が順にセッションすることにより、ホストから出力されたI／O要求を、ストレージ装置１００は処理することができる。
【００７３】
例えば、物理層及びデータリンク層同士のセッションでは、ARP（Address Resolution Protocol）要求とそれに対するARP応答が行われることにより、互いのMACアドレスをそれぞれ取得する。IP層同士のセッションでは、ping要求とそれに対するping応答が行われることにより、互いに、相手（IPアドレス）が存在するかの確認が行われる。
【００７４】
TCP層同士のセッションでは、シーケンス番号を同期させるための３つのパケットが交換される。iSCSI層同士のセッションでは、ログイン要求とそれに対するログイン応答がやり取りされるログインフェーズによって、iSCSIの接続が確立される（例えば、IPアドレス、ログイン要求元ホストのiSCSI_NAME及びTCPポート番号が使用される）。SCSI層同士のセッションでは、例えば、リードコマンドやライトコマンド等のSCSIコマンドがホストからストレージ装置１００へ送信される。SCSIアプリケーション層同士のセッションでは、ライトデータがホストからストレージ装置１００に送信され、または、リードデータがストレージ装置１００からホストへ送信される。
【００７５】
次に、図９〜図１５を参照して、論理ボリュームへのアクセス制御（排他制御）を実現するための各テーブルの構造を説明する。
【００７６】
図９には、インデックステーブルＴ１と、KEYテーブルＴ２と、iSCSI_NAMEテーブルＴ３とがそれぞれ示されている。インデックステーブルＴ１は、例えば、各LUN番号毎に、そのLUNにアクセス可能なHBAが制限されているかを管理する。「１」がセットされている場合は、そのLUNには特定のHBA（イニシエータ）のみがアクセス可能であることを示す。
【００７７】
ここで、各LUN番号毎に、複数列のフラグビットが設けられている。各列の位置は、KEYテーブルＴ２のエントリ位置に対応する。つまり、インデックステーブルＴ１の最も左端のビット列は、KEYテーブルＴ２の一番上のエントリに対応し、以下同様に、インデックステーブルＴ１のビット列を右に進むに連れて、対応するKEYテーブルＴ２のエントリ位置が下がっていく。
【００７８】
従って、LUN番号にフラグが立った場合（「１」にセットされた場合）、そのフラグの位置が、KEYテーブルＴ２の対応エントリを直接的に示す。このようにして、インデックステーブルＴ１とKEYテーブルＴ２とは、相互に関連付けられる。
【００７９】
KEYテーブルＴ２には、そのLUの予約（排他的使用）に用いるキー情報（図中の「KEY１」等）と、そのLUを排他的に使用するHBAを特定するためのWWNとが対応付けられている。
【００８０】
ここで、そのLUにアクセスするHBAがファイバチャネルに従うHBA１３Ａである場合は、そのLUに対応するエントリ位置に、そのHBA１３Ａが有するＷＷＮとキー情報とが登録される。一方、そのLUにアクセスするHBAがiSCSIに従うHBA１３Ｂである場合は、そのLUに対応するエントリ位置に、そのHBA１３Ｂに間接的に対応付けられる疑似WWN及びキー情報が登録される。図９に示す例では、WWN１及びWWN４が、疑似WWNである。
【００８１】
疑似WWNとは、WWNと外形上の構造は等しく８バイトのデータサイズを備えるが、正規のWWN生成規則に準拠しない無効な値にセットされている、WWN風の情報であると定義することができる。具体的には、例えば、上位４バイトにヌルデータをセットすることにより、WWNに似せた情報を得ている。疑似WWNの下位４バイトには、iSCSI_NAMEテーブルＴ３におけるエントリ位置がセットされる。即ち、図示の例では、疑似WWN１の下位４バイトには、iSCSI_NAMEＴ３の１番目のエントリ位置を示す値がセットされる。同様に、疑似WWN４の下位４バイトには、iSCSI_NAMEテーブルＴ３の４番目のエントリ位置を示す値がセットされる。ここで、KEYテーブルＴ２とiSCSI_NAMEテーブルＴ３とを比較すると明らかなように、各テーブルＴ２，Ｔ３のエントリ位置は、それぞれ対応している。つまり、KEYテーブルＴ２の１番上のエントリ位置にセットされた疑似WWN１に対応するiSCSI_NAMEは、iSCSI_NAMEテーブルＴ３の一番上のエントリ位置に登録されている。同様に、KEYテーブルＴ２の上から４番目のエントリ位置にセットされた疑似WWN４に対応するiSCSI_NAMEは、iSCSI_NAMEテーブルＴ３の４番目のエントリ位置にセットされている。このように、KEYテーブルＴ２とiSCSI_NAMEテーブルＴ３とのエントリ位置を対応付けることにより、両テーブルＴ２，Ｔ３を相互に関連付けている。
【００８２】
インデックステーブルＴ１及びKEYテーブルＴ２は、FC_SANにおいてLUのアクセスを制御するために設けられたものである。本実施例では、FC_SAN及びiSCSI_SANの両方に対応させるべく、iSCSI_NAMEテーブルＴ３を導入し、このiSCSI_NAMEテーブルＴ３をKEYテーブルＴ２に関連付けている。これにより、FC_SAN用のアクセス制御構成を実質的に変化させることなく、iSCSI_SANに対応可能である。
【００８３】
図１０（ａ）は、リソーステーブルＴ４を示す。リソーステーブルＴ４は、例えば、リソース管理番号と、そのリソースを使用するイニシエータとを対応付けることにより、構成される。なお、図中では、イニシエータとしてiSCSI_NAMEを示すが、FC_SANの場合はWWNを用いる。
【００８４】
図１０（ｂ）は、LUNとLUとの対応付けを管理するテーブルを示す。このLUN-LUテーブルＴ５は、例えば、LUN番号とLU番号とを対応付けることにより、構成することができる。各LUは、ストレージ装置１００側のリソースLU（または「LDEV」とも呼ぶ）である。各LUは、基本的に、LUNと一対一で対応する。なお、複数のLUを連結して仮想的なLUを構築することもできる。
【００８５】
図１１は、アクセス態様を管理するためのテーブルである。図１１（ａ）は、FC_SAN用のアクセス種別管理テーブルＴ６Ａを示す。このテーブルＴ６Ａは、例えば、各イニシエータを特定するWWN毎に、それぞれのイニシエータに許されているアクセス種別が対応付けられている。アクセス種別としては、例えば、リード／ライト共に可能、リードのみ等を挙げることができる。同様に、図１１（ｂ）は、iSCSI_SAN用のアクセス種別管理テーブルＴ６Ｂを示す。このテーブルＴ６Ｂでは、WWNに代えて、iSCSI_NAMEが使用される。
【００８６】
図１２は、LUの状態を管理するための制御情報（LDCB）の構成テーブルＴ７を示している。LDCB（Ｔ７）は、例えば、連続番号と、ポート番号と、LUN番号と、LU番号と、リザーブ状態を示すフラグと、リザーブが設定されているパス情報と、パーシステントリザーブ状態を示すフラグと、パーシステントリザーブが設定されているパス情報と、ACA（Automatic Contingent Allegiance）状態を示すフラグと、ACA状態となっているパスの情報と、UA（Unit Attention）状態を示すフラグと、をそれぞれ対応付けて構成することができる。
【００８７】
ここで、ACA状態とは、例えば、あるアクセスパスに障害が発生した場合にそのアクセスパスを使用禁止にするために設定される状態である。ACA状態は、ACA状態を設定したホストからの解除コマンドにより解除可能である。UA状態とは、例えば、ストレージ装置１００の起動直後等に設定される状態である。
【００８８】
パーシステントリザーブ状態とは、予め設定された複数のアクセスパスを介して、一つまたは複数のLUをリザーブする状態である。通常のリザーブ状態では、一つのアクセスパスのみから所定のLUにアクセス可能である。パーシステントリザーブ状態では、複数のアクセスパスのそれぞれから所定のLUにアクセスすることができる。例えば、ホスト１０Ａ，１０Ｂは、それぞれが有する複数のHBA１３Ａ，１３Ｂの全部または一部をパーシステントグループとして使用可能である。グループを構成するHBAは、それぞれ異なるパスを介して、共通のLUにアクセスすることができる。これにより、ホスト内でのフェイルオーバやロードバランスを実現できる。なお、パーシステントリザーブの設定（PGRコマンドの発行）は、パス管理プログラム１２Ａ，１２Ｂが実行する。
【００８９】
このように、パーシステントリザーブを設定した場合、そのLUは、所定の複数のイニシエータグループにより共用可能となる。パーシステントリザーブを設定するコマンドを、ここでは、パーシステントグループリザーブコマンド（PGRコマンド）と呼ぶ。LDCB中のパーシステントリザーブに関する領域をPGR領域４００と呼ぶ。
【００９０】
図１３は、iSCSI_SAN用のPGR領域４００のデータ構造を示す説明図である。PGR領域４００は、４バイトの幅を有し、例えば、ジェネレーションカウンタ４１０と、レーザべーションキー４２０と、タイプコード４３１と、APTPLビット４３２と、CHIビット４３３と、予備フィールド４３４と、スリープフラグ４４０と、予備フィールド４５０と、絶対ポート番号４６１と、エントリ番号４６２と、ACA開放フラグ４７０とを含むことができる。
【００９１】
ここで、CHIビット４３３は、iSCSI_SANに対応するために、従来予備フィールドであったものに新たに設けられた情報である。CHIビット４３３に、「１」がセットされた場合（オンの場合）、フィールド４６１及び４６２には、図１５に示すLDCB用iSCSI_NAMEテーブルＴ８への参照位置を表す情報が格納されていることを示す。CHIビット４３３がオフ状態の場合、フィールド４５０，４６１及び４６２には、通常通りのWWNがセットされていることを示す。
【００９２】
先に図１４を参照する。図１４は、FC_SAN用のPGR領域４００を示す。図１３と図１４とを比較すると明らかなように、FC_SAN用のPGR領域とiSCSI_SAN用のPGR領域とでは、以下の３点で異なる。第１の相違点は、FC_SAN用PGR領域では、CHIビット４３３がオフ状態にセットされる。第２の相違点は、FC_SAN用PGR領域では、図１３中の予備フィールド４５０にWWNの上位４バイトがセットされる。第３の相違点は、FC_SAN用PGR領域では、図１３中の絶対ポート番号４６１及びエントリ番号４６２に代えて、WWNの下位４バイトがセットされる。
【００９３】
換言すれば、図１４に示す構造が通常の姿であり、本実施例では、iSCSI_SANに対応すべく、使われていなかったフィールドにCHIビット４３３を新設すると共に、WWNの上位４バイトを予備フィールドとして４バイトのヌルデータをセットし、さらに、WWNの下位４バイトを利用して、LDCB用iSCSI_NAMEテーブルＴ８へのポインタ情報（２バイトの絶対ポート番号及び２バイトのエントリ番号）を格納している。
【００９４】
CHI１１０ＢがPGR領域に情報をセットする場合、WWNの上位４バイトにはヌルデータがセットされる。従って、このPGR領域をCHF１１０Ａが参照した場合、無効なWWNであると認識される。
【００９５】
図１５は、LDCB用iSCSI_NAMEテーブルＴ８を示す。このテーブルＴ８は、例えば、各絶対ポート番号毎に、そのポートに属す可能性のあるiSCSI_NAMEが全て対応付けられている。従って、絶対ポート番号とそのポート番号におけるエントリ位置とを指定するだけで、テーブルＴ８のどこを参照すればよいかが理解できる。例えば、パーシステントリザーブを設定するHBA１３Ｂが、絶対ポート番号１を利用するiSCSI_NAME［２］である場合は、絶対ポート番号として「１」を、エントリ番号として「３」を、それぞれのフィールド４６１，４６２にセットすることにより、PGR領域４００とテーブルＴ８とを関連付けることができる。
【００９６】
なお、上述した各テーブルＴ１〜Ｔ８等は、共有メモリ１５０に記憶される。そして、各テーブルＴ１〜Ｔ８等のうち、各CHF１１０Ａ，各CHI１１０Ｂがそれぞれ必要とする所定範囲のデータが、各CHF１１０Ａ，各CHI１１０Ｂのローカルメモリ１１３にそれぞれコピーされる。
【００９７】
図１６〜図１９に基づいて、本システムの動作を説明する。図１６は、CHI１１０Ｂによって、パーシステントリザーブの設定・変更・削除を行う場合の処理を示すフローチャートである。この処理は、主としてCHI１１０ＢのCHP１１２により実行される。
【００９８】
ホスト１０Ｂのパス管理プログラム１２Ｂは、パーシステントグループを構成するHBAと、目的とするLU（LUN）及び使用予定のキー情報とをそれぞれ指定して、PGRコマンドを発行する。既に述べたように、LUNとLUとは対応付けられているので、LUNを指定することは、そのLUNに関連付けられたLUの指定を意味する。CHI１１０Ｂは、PGRコマンドを受信すると（Ｓ１１）、指定されたLUN番号を検索キーとしてインデックステーブルＴ１を参照する（Ｓ１２）。
【００９９】
CHI１１０Ｂは、指定されたLUNについて、PGRが設定済であることを示すフラグビットがセットされているか否かを判定する（Ｓ１３）。目的のLUNにフラグがセットされている場合（S13：YES）、CHI１１０Ｂは、そのフラグの設定位置に基づいて、KEYテーブルＴ２の該当箇所を参照し、設定済のキー情報（図中、「KEY」）を取得する（Ｓ１４）。さらに、CHI１１０Ｂは、KEYテーブルＴ２に登録されている疑似WWNのエントリ位置に基づいて、iSCSI_NAMEテーブルＴ３を参照し、設定済のiSCSI_NAMEを取得する（Ｓ１５）。
【０１００】
CHI１１０Ｂは、PGRコマンドの発行元ホストから指定されたキー情報とコマンド発行元を特定するiSCSI_NAMEとの組合せが、KEYテーブルＴ２に登録済のキー情報及びiSCSI_NAMEテーブルＴ３に登録済のiSCSI_NAMEの組合せに一致するか否かを判定する（Ｓ１７）。
【０１０１】
キー情報及びiSCSI_NAMEの組合せが一致する場合（S17：YES）、CHI１１０Ｂは、PGR対象として指定されたLUNについて、インデックステーブルＴ１にフラグをセットする（Ｓ１８）。また、CHI１１０Ｂは、インデックステーブルＴ１におけるフラグのセット位置に対応するエントリ位置で、KEYテーブルＴ２に、ホストから指定されたキー情報を登録する（Ｓ１９）。また、CHI１１０Ｂは、疑似WWNを生成し、これをキー情報に対応付けて、KEYテーブルＴ２に登録する（Ｓ１９）。疑似WWNの下位４バイトは、iSCSI_NAMEテーブルＴ３の参照位置を示す。CHI１１０Ｂは、iSCSI_NAMEテーブルの所定の位置に、PGRコマンド発行元を一意に特定するiSCSI_NAMEを登録する（Ｓ２１）。
【０１０２】
一方、前記Ｓ１３において、指定されたLUNについてインデックステーブルＴ１にフラグがセットされていないと判定された場合（S13：NO）、Ｓ１４〜Ｓ１６をスキップし、Ｓ１８に移る。また、前記Ｓ１７において、キー情報及びiSCSI_NAMEの組合せが不一致の場合（S17：NO）、CHI１１０Ｂは、PGRコマンドの実行不能をコマンド発行元のホストに通知する（Ｓ２２）。
【０１０３】
図１７は、CHF１１０Ａによって、パーシステントリザーブの設定・変更・削除を行う場合の処理を示すフローチャートである。この処理は、主としてCHA１１０ＡのCHP１１２により実行される。
【０１０４】
このフローチャート中、Ｓ３１〜Ｓ３４，Ｓ３６〜Ｓ３９，Ｓ４１，Ｓ４２は、上述した図１６中のＳ１１〜Ｓ１４，Ｓ１６〜Ｓ１９，Ｓ２１，Ｓ２２にそれぞれ対応し、実質的に同一の処理を行う。
【０１０５】
但し、Ｓ３６では、キー情報及びiSCSI_NAMEの組合せに代えて、キー情報及びWWNの組合せが比較される。図１７のフローチャートでは、iSCSI_NAMEテーブルＴ３を扱うステップＳ２５，Ｓ４０にそれぞれ対応するステップが省略されている。
【０１０６】
つまり、本実施例では、FC_SANとiSCSI_SANとの両方で、共通のPGR処理を可能とするが、このために新たに追加されたiSCSI_NAMEテーブルＴ３は、専らCHI１１０Ｂのみに使用され、基本的に、CHF１１０Ａは参照する必要がない。従って、CHF１１０Ａの制御論理を実質的に変化させることなく、iSCSIに対応可能となる。
【０１０７】
もしも先に、CHI１１０Ｂが同一のLUNに対してPGRを設定していた場合、KEYテーブルＴ２には疑似WWNが登録されるが、この疑似WWNは上位４バイトにヌルデータがセットされている無効な値である。従って、PGRコマンドの発行元ホストのWWNと疑似WWNとを比較すれば、必ず不一致となる。
【０１０８】
なお、パーシステントリザーブを解除する場合は、リリースコマンドを発行する。リリースコマンドが発行された場合、図１６，図１７で述べたように、キー情報及びiSCSI_NAMEの組合せ、または、キー情報及びWWNの組合せが一致するか否かが判定され、一致する場合は、所定のテーブルからPGRに関する部分が消去される。具体的には、iSCSIの場合、各テーブルＴ１〜Ｔ３，Ｔ７（PGR領域４００）から、PGRセットフラグ（Ｔ１）、キー情報及び疑似WWN（Ｔ２）、iSCSI_NAME（Ｔ３）、CHIビット，絶対ポート番号及びエントリ番号（PGR領域４００）がそれぞれ消去される。これに対し、ファイバチャネルの場合は、各テーブルＴ１，Ｔ２，Ｔ７（PGR領域４００）から、PGRセットフラグ（Ｔ１）、キー情報及びWWN（Ｔ３）、WWN（PGR領域４００）がそれぞれ消去される。
【０１０９】
PGRが設定されたLUに対するアクセス要求の可否は、図１６，図１７で述べたと同様に、キー情報及びiSCSI_NAMEの組合せ、または、キー情報及びWWNの組合せが一致するか否かが判定され、一致する場合にのみ、アクセスが許可される。そして、リードオンリー等のアクセス種別と照らし合わせて、そのLUへのアクセスが処理される。
【０１１０】
図１８は、CHI１１０Ｂにより実行されるアクセス処理のフローチャートである。図１８中のＳ５１〜Ｓ５７は、図１６中のＳ１１〜Ｓ１７にそれぞれ対応するので説明を省略する。
【０１１１】
キー情報及びiSCSI_NAMEの組合せが一致すると判定された場合（S57：YES）、CHI１１０Ｂは、アクセス種別管理テーブルＴ６Ｂを参照し（Ｓ５８）、要求されたコマンドの処理が許可されているか否かを判定する（Ｓ５９）。許可されたコマンドの場合（S59：YES）、CHI１１０Ｂは、コマンドに応じた処理を実行させ、コマンド処理の完了を応答する（Ｓ６０）。
【０１１２】
これに対し、許可されていないコマンドの場合（S59：NO）、または、キー情報及びiSCSI_NAMEの組合せが登録済のそれらと一致しない場合（S57：NO）、要求されたコマンドを処理不能である旨ホストに通知する（Ｓ６１）。
【０１１３】
図１９は、CHF１１０Ａで実行されるアクセス処理のフローチャートである。このフローチャート中、Ｓ７１〜Ｓ７４，Ｓ７６〜Ｓ８１は、図１８中のＳ５１〜Ｓ５４，Ｓ５６〜Ｓ６１にそれぞれ対応するので、説明を省略する。図１９に示す処理では、Ｓ５５に相当するステップが不要なので廃止されており、また、キー情報及びWWNの組合せが判定される（Ｓ７６）。
【０１１４】
本実施例は上述のように構成したので、以下の効果を奏する。本実施例では、それぞれ使用するプロトコルの異なるホスト１０Ａ，１０Ｂの各HBA１３Ａ，１３ＢとLUを特定するLUN番号とを対応付けて、アクセス管理情報Ｔ１〜Ｔ３を生成し、このアクセス管理情報Ｔ１〜Ｔ３を参照することにより、各HBA１３Ａ，１３Ｂが所望のLUにアクセス可能か否かを判別するアクセス制御部（CHP１１２により実行されるマイクロプログラム）を設けるため、FC用の既存のシステムを大幅に変化させることなく、iSCSIにも対応することができる。
【０１１５】
本実施例では、疑似第１ポート識別情報である疑似WWNが、無効なWWNとして取り扱われるように、WWNの正規の生成規則とは別の規則に基づくユニークな値として生成し、KEYテーブルＴ２に登録する。従って、CHF１１０Ａは、コマンド発行元のWWNとテーブルＴ２に登録されている疑似WWNとを比較する際に、必ず両者が不一致であると判定する。これにより、CHF１１０Ａの制御論理を実質的に変化させることなく、iSCSIに対応することができる。
【実施例２】
【０１１６】
図２０，図２１に基づき、第１実施例の変形例としての第２実施例を説明する。この実施例では、KEYテーブルＴ２やLDCB（Ｔ７）に登録された情報に基づいて、FCイニシエータであるかiSCSIイニシエータであるかを判別する。
【０１１７】
例えば、図２０に示すように、CHF１１０ＡまたはCHI１１０Ｂのいずれかまたは双方（以下、「CHF等」）は、KEYテーブルＴ２を参照してWWNを取得し（Ｓ９１）、このWWNが有効な値であるか否かを判定する（Ｓ９２）。CHF等は、有効なWWNの場合（S92：YES）にFCであると判定し（Ｓ９３）、無効なWWNの場合（S92：NO）にiSCSIであると判定する（Ｓ９４）。
【０１１８】
また、例えば、図２１のフローチャートに示すように、CHF等は、LDCBを参照してCHIビットを取得し（Ｓ１０１）、CHIビットがオン状態にセットされているか否かを判定する（Ｓ１０２）。CHF等は、CHIビットがオンの場合（S102：YES）にiSCSIであると判定し（Ｓ１０３）、CHIビットがオフの場合（S102：NO）にFCであると判定する（Ｓ１０４）。
【０１１９】
このように、KEYテーブルＴ２やLDCB（Ｔ７）に、iSCSIであるか否かを示すための判別情報を含ませておくことにより、イニシエータの種類を判別できる。
【実施例３】
【０１２０】
図２２，図２３は、各ホスト１０Ａ，１０Ｂによりクラスタシステムを構成する場合の実施例を示す。
【０１２１】
図２２のブロック図に示すように、各ホスト１０Ａ，１０Ｂのパス管理プログラム１２Ａ，１２Ｂには、それぞれクラスタ制御部１４Ａ，１４Ｂ（以下、特に区別しない場合は「クラスタ制御部１４」）が設けられている。これら各クラスタ制御部１４により、各ホスト１０Ａ，１０Ｂ間では互いに相手先を監視するハートビート通信が行われる。また、各ホスト１０Ａ，１０Ｂは、それぞれ複数のHBAを介して、共通のLU１３２に接続されている。
【０１２２】
図２３は、異種プロトコルに基づくホストを跨ってフェイルオーバを実行する場合の概略フローチャートである。まず、クラスタ制御部１４は、ファイルオーバを実行するか否かを監視し、フェイルオーバの実行時期が到来したか否かを判定する（Ｓ１１１）。
【０１２３】
例えば、相手先ノードとのハートビート通信が所定時間以上途絶えた場合、または、相手先ノードからファイルオーバの実行が明示的に要求された場合（計画的な停止）に、フェイルオーバが実行される。
【０１２４】
フェイルオーバ先のクラスタ制御部は、相手先ノード（フェイルオーバ元ノード）のネットワーク設定情報を継承し（Ｓ１１２）、相手先ノードに成りかわる。また、クラスタ制御部１４は、共有ボリューム１３２の使用権を確保し（Ｓ１１３）、そのボリューム１３２を排他的に使用する（Ｓ１１４）。そして、ファイルオーバ先ノード（１０Ａまたは１０Ｂのいずれか）は、情報処理サービスの提供を再開する（Ｓ１１５）。
【０１２５】
この本実施例によれば、各ホスト１０Ａ，１０Ｂ内における各HBA間でのフェイルオーバに加えて、異なる種類のプロトコルを利用するホストへのフェイルオーバも実現可能である。
【実施例４】
【０１２６】
図２４に基づいて第４実施例を説明する。先の実施例では、ホスト間を跨るフェイルオーバについて説明した。これに対し、本実施例では、同一ホスト内に、互いに異なる種類のプロトコルに基づくHBAを設け、これら異種プロトコルをサポートするHBA間で、フェイルオーバを実行する場合を説明する。
【０１２７】
図２４は、ストレージシステムの全体構成を示す概略ブロック図である。一方のホスト１０Ａの各HBA１３Ａのうち、第１HBA〜第３HBAはFC_SANに接続されており、第４HBAはiSCSI_SANに接続されている。他方のホスト１０Ｂも略同様に、各HBA１３Ｂのうち、第２HBA〜第４HBAはiSCSI_SANに接続されており、第１HBAはFC_SANに接続されている。なお、どのHBAをいずれのSANに接続するかは、任意である。また、各ホスト１０Ａ，１０Ｂ内にそれぞれ一つずつ異なる種類のHBAを装着する例を示したが、同一ホスト内にFC用HBAとiSCSI用HBAとをそれぞれ複数ずつ設けることもできる。
【０１２８】
図示のように、パス管理プログラム１２Ａは、クラスタ制御部１５Ａとパス制御部１６Ａとを備えている。同様に、パス管理プログラム１２Ｂは、クラスタ制御部１５Ｂとパス制御部１６Ｂとを備えている。各パス管理プログラム１２Ａ，１２Ｂは、例えば、自己の管理下にあるパスのいずれかに障害や過負荷状態が発生した場合等に、データ転送に使用するパス（HBA）を切り換える。このパス切換は、パス制御部１６Ａ，１６Ｂにより実行される。
【０１２９】
例えば、ホスト１０Ａが、第１HBAからFC_SANを介して、ストレージ装置１００とデータを送受信していた場合に、このパスに何らかの障害等が発生したとする。この場合、ホスト１０Ａのパス管理プログラム１２Ａは、第２〜第４HBAのいずれかまたは複数のパスに切り換えることができる。例えば、パスが第１HBAから第４HBAに切り換えられた場合、ホスト１０Ａとストレージ装置１００とは、FC_SANに代えて、iSCSI_SAN経由でデータ転送を行うことになる。ホスト１０Ｂの場合も同様である。
【０１３０】
ホスト間を跨るフェイルオーバでは、上述のようにハートビート通信の断絶に基づいて実施可能であるが、同一ホスト内でのパス間フェイルオーバの場合は、パス管理プログラム１２Ａ，１２ＢがSCSI層での応答を確認することにより、障害等の発生を検出することができ、パス切換を実施可能である。ホスト−ストレージ間のプロトコルがFCまたはiSCSIいずれの場合であっても、ホスト１０Ａ，１０ＢにはそれぞれSCSIバスとして認識されるためである。
【０１３１】
このように、同一ホスト内に異種プロトコルに基づくイニシエータを混在させ、手動または自動で、これら異種プロトコルに基づくイニシエータ間でのフェイルオーバを実行させることができる。
【０１３２】
なお、本発明は、上述した実施の形態に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。
【図面の簡単な説明】
【０１３３】
【図１】本発明の実施形態の全体概念を示す説明図である。
【図２】ストレージシステムの全体構成を示すブロック図である。
【図３】iSCSI用チャネルアダプタの概略構成を示すブロック図である。
【図４】ファイバチャネル用チャネルアダプタの概略構成を示すブロック図である。
【図５】ファイバチャネルのレイヤ構造を示す説明図である。
【図６】ファイバチャネルのフレーム構造を示す説明図である。
【図７】iSCSIのレイヤ構造を示す説明図である。
【図８】iSCSIのフレーム構造を示す説明図である。
【図９】LUをリザーブするイニシエータを検出するための管理テーブルを示し、（ａ）はインデックステーブル、（ｂ）はKEYテーブル、（ｃ）はiSCSI_NAMEテーブルの、構成例をそれぞれ示す説明図である。
【図１０】（ａ）はリソーステーブルを、（ｂ）はLUN−LU対応管理テーブルの、構成例をそれぞれ示す説明図である。
【図１１】（ａ）はファイバチャネルイニシエータのアクセス種別管理テーブルを、（ｂ）はiSCSIイニシエータのアクセス種別管理テーブルを、それぞれ示す説明図である。
【図１２】LDCBの構成例を示す説明図である。
【図１３】iSCSIイニシエータにより、パーシステントリザーブが設定された場合のLDCBの様子を示す説明図である。
【図１４】ファイバチャネルイニシエータにより、パーシステントリザーブが設定された場合のLDCBの様子を示す説明図である。
【図１５】LDCB用iSCSI_NAMEテーブルを示す説明図である。
【図１６】iSCSIイニシエータにより、パーシステントリザーブを設定等する場合のフローチャートである。
【図１７】ファイバチャネルイニシエータにより、  パーシステントリザーブを設定等する場合のフローチャートである。
【図１８】iSCSIイニシエータによるアクセス処理を示すフローチャートである。
【図１９】ファイバチャネルイニシエータによるアクセス処理を示すフローチャートである。
【図２０】ファイバチャネルとiSCSIとを判別するフローチャートである。
【図２１】ファイバチャネルとiSCSIとを判別する別のフローチャートである。
【図２２】異なる種類のイニシエータでクラスタシステムを構築するストレージシステムの全体構成図である。
【図２３】フェイルオーバ処理の概略を示すフローチャートである。
【図２４】同一ホスト内で異種類のプロトコルに基づくパスを切換可能なストレージシステムの全体構成図である。
【符号の説明】
【０１３４】
１Ａ，１Ｂ…ホスト、１Ｃ，１Ｄ…ポート、２Ａ…FC_SAN、２Ｂ…iSCSI_SAN、３…ストレージ装置、４Ａ，４Ｂ…チャネルアダプタ、４Ａ１，４Ｂ１…ポート、５…共有メモリ、５Ａ，５Ｂ，５Ｃ…テーブル、６…キャッシュメモリ、７…ディスクアダプタ、８…ディスクドライブ、９Ａ，９Ｂ…論理ボリューム、１０Ａ，１０Ｂ…ホスト、１１Ａ，１１Ｂ…アプリケーション群、１２Ａ，１２Ｂ…パス管理プログラム、１３Ａ，１３Ｂ…ホストバスアダプタ、１４Ａ，１４Ｂ，１５Ａ，１５Ｂ…クラスタ制御部、１６Ａ，１６Ｂ…パス制御部、１００…ストレージ装置、１１１Ａ，１１１Ｂ…ポート（ポート制御部）、１１２…チャネルプロセッサ、１１３…ローカルメモリ、１１４…マイクロプログラムアダプタ、１１５…データ転送アダプタ、１２０…ディスクアダプタ、１３０…ディスクドライブ、１３１…RAIDグループ、１３２，１３２Ａ，１３２Ｂ…論理ボリューム、１４０…キャッシュメモリ、１５０…共有メモリ、１６０…スイッチ部、Ｔ１…インデックステーブル、Ｔ２…KEYテーブル、Ｔ３…iSCSI_NAMEテーブル、Ｔ４…リソーステーブル、Ｔ５…LUN−LU対応管理テーブル、Ｔ６Ａ，Ｔ６Ｂ…アクセス種別管理テーブル、Ｔ７…LDCB、４００…PGR領域、Ｔ８…LDCB用iSCSI_NAMEテーブル
【図１】
2006011932.tif 000003
【図２】
2006011932.tif 000004
【図３】
2006011932.tif 000005
【図４】
2006011932.tif 000006
【図５】
2006011932.tif 000007
【図６】
2006011932.tif 000008
【図７】
2006011932.tif 000009
【図８】
2006011932.tif 000010
【図９】
2006011932.tif 000011
【図１０】
2006011932.tif 000012
【図１１】
2006011932.tif 000013
【図１２】
2006011932.tif 000014
【図１３】
2006011932.tif 000015
【図１４】
2006011932.tif 000016
【図１５】
2006011932.tif 000017
【図１６】
2006011932.tif 000018
【図１７】
2006011932.tif 000019
【図１８】
2006011932.tif 000020
【図１９】
2006011932.tif 000021
【図２０】
2006011932.tif 000022
【図２１】
2006011932.tif 000023
【図２２】
2006011932.tif 000024
【図２３】
2006011932.tif 000025
【図２４】
2006011932.tif 000026