(57)【要約】【課題】推奨パスの更新に係る処理負荷を低減すること。【解決手段】１つ又は複数の記録媒体に割り当てられた複数の第１記憶領域Ｒｄ１、Ｒｄ２、Ｒｄ３にそれぞれ対応し、対応する第１記憶領域Ｒｄ１、Ｒｄ２、Ｒｄ３にアクセス可能な複数の制御部２１、２２と、制御部２１、２２毎に、対応する１つ又は複数の第１記憶領域Ｒｄ１、Ｒｄ２、Ｒｄ３内で確保された単位記憶領域Ｃｈ１、Ｃｈ２、…が割り当てられる第２記憶領域２３Ａを記憶する記憶部２３と、を有し、制御部２１は、対応する第１記憶領域Ｒｄ１、Ｒｄ２とは異なる第１記憶領域Ｒｄ３に確保された単位記憶領域Ｃｈ３へのアクセス要求を受けた場合に、当該単位記憶領域Ｃｈ３へのアクセス経路として異なる第１記憶領域Ｒｄ３に対応する制御部２２の情報を提供するストレージ制御装置２０が提供される。【選択図】図１
2015097006.tif 000002
【特許請求の範囲】
【請求項１】
１つ又は複数の記録媒体に割り当てられた複数の第１記憶領域にそれぞれ対応し、対応する前記第１記憶領域にアクセス可能な複数の制御部と、
前記制御部毎に、対応する１つ又は複数の前記第１記憶領域内で確保された単位記憶領域が割り当てられる第２記憶領域を記憶する記憶部と、
を有し、
前記制御部は、対応する前記第１記憶領域とは異なる前記第１記憶領域に確保された前記単位記憶領域へのアクセス要求を受けた場合に、当該単位記憶領域へのアクセス経路として前記異なる第１記憶領域に対応する前記制御部の情報を提供する
ストレージ制御装置。
【請求項２】
前記単位記憶領域へのアクセス経路として提供される情報は、前記第２記憶領域における前記単位記憶領域のアドレスと前記異なる第１記憶領域に対応する前記制御部との対応関係を示す情報である
請求項１に記載のストレージ制御装置。
【請求項３】
前記制御部は、前記第２記憶領域毎に前記情報の提供回数を保持し、設定した閾値よりも前記提供回数が小さい場合に当該第２記憶領域に関する前記情報を提供する
請求項１又は２に記載のストレージ制御装置。
【請求項４】
前記制御部は、前記第２記憶領域に割り当てられた前記単位記憶領域が変更された場合又は当該単位記憶領域と前記第１記憶領域との対応関係が変更された場合、当該第２記憶領域に関する前記情報の提供回数をリセットする
請求項３に記載のストレージ制御装置。
【請求項５】
１つ又は複数の記録媒体に割り当てられた複数の第１記憶領域にそれぞれ対応し、対応する前記第１記憶領域にアクセス可能な複数の制御部と、前記制御部毎に、対応する１つ又は複数の前記第１記憶領域内で確保された単位記憶領域が割り当てられる第２記憶領域を記憶する記憶部と、を有するコンピュータの前記制御部が、対応する前記第１記憶領域とは異なる前記第１記憶領域に確保された前記単位記憶領域へのアクセス要求を受けた場合に、当該単位記憶領域へのアクセス経路として前記異なる第１記憶領域に対応する前記制御部の情報を提供する
制御方法。
【請求項６】
１つ又は複数の記録媒体に割り当てられた複数の第１記憶領域にそれぞれ対応し、対応する前記第１記憶領域にアクセス可能な複数の制御部と、前記制御部毎に、対応する１つ又は複数の前記第１記憶領域内で確保された単位記憶領域が割り当てられる第２記憶領域を記憶する記憶部と、を有するコンピュータに、
前記制御部が、対応する前記第１記憶領域とは異なる前記第１記憶領域に確保された前記単位記憶領域へのアクセス要求を受けた場合に、当該単位記憶領域へのアクセス経路として前記異なる第１記憶領域に対応する前記制御部の情報を提供する
処理を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ制御装置、制御方法、及びプログラムに関する。
【背景技術】
【０００２】
業務サーバなどのコンピュータ（以下、サーバ）が扱う大量のデータは、複数のＨＤＤ（Hard Disk Drive）を有する信頼性の高いＲＡＩＤ（Redundant Arrays of Inexpensive Disks）装置などのストレージ装置を用いて管理される。最近では、ＳＡＮ（Storage Area Network）と呼ばれるネットワークでサーバと複数のストレージ装置とを接続したストレージシステムなども広く利用されている。
【０００３】
ストレージ装置の記憶領域（以下、物理領域）は、論理的な記憶領域の単位（以下、ＬＵ：Logical Unit）に分割され、ＬＵ単位でサーバに認識される。例えば、各ＬＵにはＬＵＮ（Logical Unit Number）と呼ばれる識別情報が付されており、サーバは、ＬＵＮを参照して各ＬＵを認識することができる。なお、ＲＡＩＤグループ毎に設定したＬＵをＲＬＵ（RAID LU）と呼ぶ場合がある。
【０００４】
近年、ストレージの仮想化に注目が集まっている。ストレージの仮想化は、ストレージ装置とサーバとの間に仮想化エンジンを設け、サーバに対して仮想化エンジンを１台の仮想的なストレージ装置に見せる技術である。仮想化エンジンは、物理領域を分割したＬＵ（以下、物理ＬＵ）とは異なる仮想的なＬＵ（以下、仮想ＬＵ）を用意し、１つ又は複数の物理ＬＵから選定した記憶領域を仮想ＬＵに割り当てる。
【０００５】
仮想ＬＵの導入により、サーバが認識する記憶領域と物理領域との関係が高度に抽象化され、利用効率や運用形態の柔軟性などを向上させる効果が期待できる。ストレージの仮想化を適用した場合、サーバは、データを読み書きする場合、仮想ＬＵにアクセスする。つまり、サーバは、仮想化エンジンを介して物理ＬＵへのアクセスを実現する。このような仕組みを有するストレージシステムに関し、信頼性向上のためにサーバから物理ＬＵへのアクセスパスを冗長化したマルチパス環境を構築する方法が提案されている。
【０００６】
マルチパス環境では一部のアクセスパスに障害が発生しても正常なアクセスパスを利用して運用を継続することができるため、ストレージシステムの信頼性向上に寄与する。マルチパス環境におけるアクセスパスの選定は、例えば、ＲＴＰＧ（REPORT TARGET PORT GROUPS）コマンドを利用して実現することができる。なお、ＲＴＰＧコマンドは、ＳＣＳＩ（Small Computer System Interface）コマンドの１つである。サーバがＲＴＰＧコマンドを発行すると、ＲＴＰＧコマンドを受けたストレージ装置は、推奨するアクセスパス（以下、推奨パス）をサーバに通知する。そして、サーバは、通知を受けた推奨パスを利用してデータを読み書きする。
【０００７】
ところで、仮想化したストレージシステムにおける物理領域の利用率を高める技術の１つにシンプロビジョニングと呼ばれる技術がある。通常、仮想ＬＵには、サーバから要求されたサイズの物理領域が割り当てられる。一方、シンプロビジョニングを適用したストレージシステムでは、要求サイズの仮想ＬＵ（以下、ＴＰＶ（Thin Provisioning Volume））が設定されるものの、要求サイズを上限として利用量に応じたサイズの物理領域が割り当てられる。そのため、現実の運用に即したストレージ容量で運用することが可能になり、利用率の向上や運用開始時のコスト低減などの効果が期待できる。
【０００８】
なお、仮想化したストレージシステムに関し、フラグメンテーションの回避及び物理領域の使用効率向上を目的として仮想ＬＵへの物理領域の割り当てを好適に制御する方法が提案されている。また、ＴＰＶへの物理領域の割り当てに関し、未割り当ての物理領域を管理情報から特定し、特定された未割り当ての物理領域を複数のサブ領域に分割し、ＴＰＶ内で規則的に並んだ連続領域にサブ領域を割り当てる方法が提案されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００７−１５７０８９号公報
【特許文献２】特開２００４−１６４３７０号公報
【特許文献３】特開２００８−５９３５３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上記のように、マルチパス環境におけるアクセスパスの選定は、ストレージ装置からサーバへと推奨パスを通知することにより実現される。１つの物理ＬＵに対して推奨パスが１つに定まる場合、上述したようにＲＴＰＧコマンドを利用した推奨パスの通知が可能である。推奨パスが１つに定まらない場合（例えば、ＴＰＶを利用する場合）には、ＲＲ（REPORT REFERRALS）コマンドを利用することで仮想ＬＵのＬＢＡ（Logical Block Addressing）範囲毎に推奨パスの通知を受けることが可能である。なお、ＲＲコマンドは、ＳＣＳＩコマンドの１つである。
【００１１】
推奨パスの通知方法としては、例えば、仮想ＬＵに物理ＬＵの領域が割り当てられ、アクセスパスが確定したタイミングで即座に推奨パスの通知が行われるようにする方法が考えられる。しかし、シンプロビジョニングを適用する場合、ＴＰＶの未使用ＬＢＡ範囲にアクセスがある度にアクセスパスが確定する。そのため、シンプロビジョニングを適用したストレージシステムに上記の通知方法を適用すると、推奨パスの通知が頻繁に発生し、推奨パスの管理情報を更新する処理の負荷が増大する可能性がある。
【００１２】
そこで、１つの側面によれば、本発明の目的は、推奨パスの更新に係る処理負荷を低減したストレージ制御装置、制御方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【００１３】
本開示の１つの側面によれば、１つ又は複数の記録媒体に割り当てられた複数の第１記憶領域にそれぞれ対応し、対応する第１記憶領域にアクセス可能な複数の制御部と、制御部毎に、対応する１つ又は複数の第１記憶領域内で確保された単位記憶領域が割り当てられる第２記憶領域を記憶する記憶部と、を有し、制御部は、対応する第１記憶領域とは異なる第１記憶領域に確保された単位記憶領域へのアクセス要求を受けた場合に、当該単位記憶領域へのアクセス経路として異なる第１記憶領域に対応する制御部の情報を提供するストレージ制御装置が提供される。
【００１４】
また、本開示の他の１つの側面によれば、１つ又は複数の記録媒体に割り当てられた複数の第１記憶領域にそれぞれ対応し、対応する第１記憶領域にアクセス可能な複数の制御部と、制御部毎に、対応する１つ又は複数の第１記憶領域内で確保された単位記憶領域が割り当てられる第２記憶領域を記憶する記憶部と、を有するコンピュータの制御部が、対応する第１記憶領域とは異なる第１記憶領域に確保された単位記憶領域へのアクセス要求を受けた場合に、当該単位記憶領域へのアクセス経路として異なる第１記憶領域に対応する制御部の情報を提供する制御方法が提供される。
【００１５】
また、本開示の他の１つの側面によれば、１つ又は複数の記録媒体に割り当てられた複数の第１記憶領域にそれぞれ対応し、対応する第１記憶領域にアクセス可能な複数の制御部と、制御部毎に、対応する１つ又は複数の第１記憶領域内で確保された単位記憶領域が割り当てられる第２記憶領域を記憶する記憶部と、を有するコンピュータに、制御部が、対応する第１記憶領域とは異なる第１記憶領域に確保された単位記憶領域へのアクセス要求を受けた場合に、当該単位記憶領域へのアクセス経路として異なる第１記憶領域に対応する制御部の情報を提供する処理を実行させるプログラムが提供される。
【発明の効果】
【００１６】
本発明によれば、推奨パスの更新に係る処理負荷を低減することが可能になる。
【図面の簡単な説明】
【００１７】
【図１】第１実施形態に係るストレージシステムの一例を示した図である。
【図２】第２実施形態に係るストレージシステムについて説明するための第１の図である。
【図３】第２実施形態に係るストレージシステムについて説明するための第２の図である。
【図４】第２実施形態に係る推奨パスの管理方法について説明するための第１の図である。
【図５】第２実施形態に係る推奨パスの管理方法について説明するための第２の図である。
【図６】第２実施形態に係る推奨パスの管理方法について説明するための第３の図である。
【図７】第２実施形態に係るサーバが有する機能を実現することが可能なハードウェアの一例を示した図である。
【図８】第２実施形態に係るストレージ制御装置が有する機能について説明するための図である。
【図９】第２実施形態に係るストレージ制御装置が保持するパス状態管理テーブルの一例を示した図である。
【図１０】第２実施形態に係るストレージ制御装置が保持する論理ボリューム管理テーブルの一例を示した図である。
【図１１】第２実施形態に係るストレージ制御装置が保持する論理ブロック管理テーブルの一例を示した図である。
【図１２】第２実施形態に係るストレージ制御装置が保持するセンス通知統計管理テーブルの一例を示した図である。
【図１３】第２実施形態に係るストレージシステムの動作例（認識時の動作）を示した図である。
【図１４】第２実施形態に係るストレージシステムの動作例（クロスアクセス検出時の動作）を示した第１の図である。
【図１５】第２実施形態に係るストレージシステムの動作例（クロスアクセス検出時の動作）を示した第２の図である。
【発明を実施するための形態】
【００１８】
以下に添付図面を参照しながら、本発明の実施形態について説明する。なお、本明細書及び図面において実質的に同一の機能を有する要素については、同一の符号を付することにより重複説明を省略する場合がある。
【００１９】
＜１．第１実施形態＞
図１を参照しながら、第１実施形態に係るストレージシステムについて説明する。なお、図１は、第１実施形態に係るストレージシステムの一例を示した図である。
【００２０】
図１に示すように、第１実施形態に係るストレージシステムは、サーバ１０、ストレージ制御装置２０、及びストレージ装置３０を含む。
サーバ１０は、ストレージ制御装置２０を介してストレージ装置３０が有する１つ又は複数の記録媒体にアクセスする。記録媒体としては、例えば、ＨＤＤや磁気テープなどの磁気記録媒体、光ディスクなどの光記録媒体、ＳＳＤ（Solid State Drive）などの半導体メモリが利用可能である。ＲＡＩＤ装置は、ストレージ装置３０の一例である。
【００２１】
ストレージ制御装置２０は、制御部２１、２２と、記憶部２３とを有する。なお、図１の例では、ストレージ制御装置２０が有する制御部の数は２つ（制御部２１、２２）であるが、３つ以上の制御部がストレージ制御装置２０に設けられていてもよい。また、図１の例では、制御部２１をＣＭ＃１と表記し、制御部２２をＣＭ＃２と表記している。
【００２２】
記憶部２３は、ＲＡＭ（Random Access Memory）などの揮発性記憶装置、或いは、ＨＤＤやフラッシュメモリなどの不揮発性記憶装置である。制御部２１、２２は、例えば、ＣＰＵ（Central Processing Unit）やＤＳＰ（Digital Signal Processor）などのプロセッサである。但し、制御部２１、２２は、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field Programmable Gate Array）などの電子回路であってもよい。制御部２１、２２は、例えば、記憶部２３又は他のメモリに記憶されたプログラムを実行する。
【００２３】
制御部２１、２２は、ストレージ装置３０が有する１つ又は複数の記録媒体に割り当てられた複数の第１記憶領域Ｒｄ１、Ｒｄ２、Ｒｄ３にそれぞれ対応付けられている。なお、上述した物理ＬＵやＲＬＵは、第１記憶領域の一例である。また、複数の第１記憶領域Ｒｄ１、Ｒｄ２、Ｒｄ３は、制御部２１、２２が管理するストレージプール２３Ｂに登録されている。図１の例では、ストレージプール２３Ｂに登録されている第１記憶領域の数は３つ（第１記憶領域Ｒｄ１、Ｒｄ２、Ｒｄ３）であるが、ストレージプール２３Ｂに登録可能な第１記憶領域の数は２以下又は４以上であってもよい。
【００２４】
制御部２１、２２は、それぞれ自身に対応する第１記憶領域Ｒｄ１、Ｒｄ２、Ｒｄ３にアクセスすることが可能である。図１の例では、制御部２１（ＣＭ＃１）と第１記憶領域Ｒｄ１、Ｒｄ２とが対応付けられ、制御部２２（ＣＭ＃２）と第１記憶領域Ｒｄ３とが対応付けられている。従って、制御部２１は、第１記憶領域Ｒｄ１、Ｒｄ２にアクセス可能である。また、制御部２２は、第１記憶領域Ｒｄ３にアクセス可能である。
【００２５】
記憶部２３には、ストレージプール２３Ｂの情報、及びストレージプール２３Ｂに登録された第１記憶領域Ｒｄ１、Ｒｄ２、Ｒｄ３の情報が格納される。また、記憶部２３には、第２記憶領域２３Ａの情報が格納される。第２記憶領域２３Ａは、論理的な記憶領域（論理ボリューム）である。上述したＴＰＶは、第２記憶領域の一例である。なお、図１の例では１つの第２記憶領域２３Ａしか記載されていないが、２以上の第２記憶領域を設けることも可能である。
【００２６】
第２記憶領域２３Ａには、設定したサイズの単位記憶領域Ｃｈ１、Ｃｈ２、…が割り当てられる。また、単位記憶領域Ｃｈ１、Ｃｈ２、…のそれぞれには、第１記憶領域Ｒｄ１、Ｒｄ２、Ｒｄ３が有する物理領域の一部又は全部が割り当てられる。図１の例では、第１記憶領域Ｒｄ１が有する物理領域の一部又は全部が単位記憶領域Ｃｈ１に割り当てられている。また、第１記憶領域Ｒｄ２が有する物理領域の一部又は全部が単位記憶領域Ｃｈ２に割り当てられている。また、第１記憶領域Ｒｄ３が有する物理領域の一部又は全部が単位記憶領域Ｃｈ３に割り当てられている。なお、上述したＴＰＶに割り当てられる単位ブロック（チャンク）は、単位記憶領域の一例である。
【００２７】
上記のように、第２記憶領域２３Ａには、制御部２１、２２毎に、対応する１つ又は複数の第１記憶領域Ｒｄ１、Ｒｄ２、Ｒｄ３内で確保された単位記憶領域Ｃｈ１、Ｃｈ２、…が割り当てられる。
【００２８】
図１の例では、制御部２１がアクセス可能な第１記憶領域Ｒｄ１、Ｒｄ２内で確保された単位記憶領域Ｃｈ１、及び制御部２２がアクセス可能な第１記憶領域Ｒｄ３内で確保された単位記憶領域Ｃｈ２が第２記憶領域２３Ａ内で混在している。つまり、ストレージ制御装置２０は、制御部２１を経由するアクセスパスを与える単位記憶領域Ｃｈ１と、制御部２２を経由するアクセスパスを与える単位記憶領域Ｃｈ２とが１つの第２記憶領域２３Ａに混在する状態を許容する。
【００２９】
制御部２１は、対応する第１記憶領域Ｒｄ１、Ｒｄ２とは異なる第１記憶領域Ｒｄ３に確保された単位記憶領域Ｃｈ３へのアクセス要求を受けた場合に、当該単位記憶領域Ｃｈ３へのアクセス経路として第１記憶領域Ｒｄ３に対応する制御部２２の情報を提供する。例えば、制御部２１は、単位記憶領域Ｃｈ３にデータを書き込むコマンド（Ｗｒｉｔｅコマンド）をサーバ１０から受けた場合、単位記憶領域Ｃｈ３に対応する制御部２２の情報をサーバ１０に提供する。
【００３０】
制御部２１は、第１記憶領域Ｒｄ３にアクセスする場合、第１記憶領域Ｒｄ３にアクセス可能な制御部２２を介して第１記憶領域Ｒｄ３へアクセスする。例えば、第１記憶領域Ｒｄ３の物理領域が割り当てられた単位記憶領域Ｃｈ３に対するＷｒｉｔｅコマンドを受けた制御部２１は、制御部２２を介して第１記憶領域Ｒｄ３へデータを書き込む。このように、一の制御部が他の制御部を介して物理領域へとアクセスすることをクロスアクセスと呼ぶ。クロスアクセスの発生は、アクセス性能を低下させる原因となりうる。
【００３１】
そこで、制御部２１、２２は、クロスアクセスの発生を抑制するアクセスパス（以下、推奨パス）の情報をサーバ１０へと提供する。サーバ１０が推奨パスの情報を利用することで、クロスアクセスの発生を抑制することが可能になり、アクセス性能の向上が期待できる。推奨パスの情報は、単位記憶領域Ｃｈ１、Ｃｈ２、Ｃｈ３、…のそれぞれについて管理される。また、新たな単位記憶領域が第２記憶領域２３Ａに設けられた場合、新たな単位記憶領域の推奨パスをサーバ１０へと提供する処理が発生する。
【００３２】
ストレージシステムの運用開始時など、頻繁に単位記憶領域が作成されるような状況では、推奨パスの情報をサーバ１０へと提供する処理が頻発する可能性がある。このような処理が頻発すると、制御部２１、２２の処理負荷やサーバ１０とストレージ制御装置２０との間の通信負荷が増大する可能性が懸念される。そのため、第１実施形態に係る制御部２１、２２は、クロスアクセスが発生した場合に推奨パスの情報をサーバ１０へと提供する。その際、制御部２１、２２は、第２記憶領域２３Ａに登録されている全ての単位記憶領域Ｃｈ１、Ｃｈ２、Ｃｈ３、…に関する推奨パスの情報ではなく、発生したクロスアクセスが発生したアクセスパスに対する推奨パスの情報をサーバ１０へ提供する。
【００３３】
上記のような仕組みを有することで、ストレージ制御装置２０は、クロスアクセスによるアクセス性能の低下を抑制することができる。さらに、ストレージ制御装置２０は、推奨パスの情報をサーバ１０へと提供する処理の処理負荷（推奨パスの更新に係る処理負荷）を低減することが可能になる。
【００３４】
以上、第１実施形態について説明した。
＜２．第２実施形態＞
次に、第２実施形態について説明する。
【００３５】
［２−１．システム］
まず、図２及び図３を参照しながら、第２実施形態に係るストレージシステムについて説明する。なお、図２は、第２実施形態に係るストレージシステムについて説明するための第１の図である。また、図３は、第２実施形態に係るストレージシステムについて説明するための第２の図である。
【００３６】
図２に示すように、第２実施形態に係るストレージシステムは、サーバ１００、ストレージ制御装置２００、及びディスクアレイ３０１、３０２を含む。
サーバ１００は、ストレージ制御装置２００を介してディスクアレイ３０１、３０２にアクセスする。ディスクアレイ３０１は、複数の記録媒体Ｄ１、Ｄ２、Ｄ３、Ｄ４を有する。また、ディスクアレイ３０２は、複数の記録媒体Ｄ５、Ｄ６、Ｄ７、Ｄ８を有する。記録媒体としては、例えば、ＨＤＤや磁気テープなどの磁気記録媒体、光ディスクなどの光記録媒体、ＳＳＤなどの半導体メモリが利用可能である。ＲＡＩＤ装置は、ディスクアレイ３０１、３０２の一例である。
【００３７】
ストレージ制御装置２００は、コントローラ２０１、２０２を有する。なお、図２の例では、ストレージ制御装置２００が有するコントローラの数は２つ（コントローラ２０１、２０２）であるが、３つ以上のコントローラがストレージ制御装置２００に設けられていてもよい。また、以下では、コントローラ２０１をＣＭ＃１と表記し、コントローラ２０２をＣＭ＃２と表記する場合がある。
【００３８】
図３に示すように、サーバ１００は、ストレージ制御装置２００を介してディスクアレイ３０１、３０２の物理領域へとアクセスするためのアクセスパスを管理するマルチパスドライバ１０１を有する。サーバ１００には複数のホストバスアダプタ（ＨＢＡ：Host Bus Adapter）が設けられており、それぞれがストレージ制御装置２００のコントローラ２０１、２０２に設けられたポート（Ｐｏｒｔ）に接続される。マルチパスドライバ１０１は、ＨＢＡを介してコントローラ２０１、２０２にアクセスする。また、マルチパスドライバ１０１は、物理領域へとアクセスする際に用いる好適なアクセスパス（推奨パス）の情報を管理する。
【００３９】
コントローラ２０１、２０２は、サーバ１００に提供される論理的な記憶領域を格納する論理ボリューム、及び、ディスクアレイ３０１、３０２の物理領域を割り当てるディスクプールを管理する。以下、簡単のために、コントローラ２０１、２０２により管理される論理ボリュームがＴＰＶである場合について考える。また、ディスクアレイ３０１、３０２の物理領域をグループ分けしたＲＡＩＤグループＲ１、Ｒ２、Ｒ３がディスクプールに登録されている場合について考える。以下、ＲＡＩＤグループＲｋ（ｋ＝１，２，３）の物理領域をＲＬＵ領域Ｒｋと表記する。
【００４０】
コントローラ２０１はＲＬＵ領域Ｒ１、Ｒ２に対してアクセス可能に設定され、コントローラ２０２はＲＬＵ領域Ｒ３にアクセス可能に設定されているものとする。つまり、コントローラ２０１はＲＬＵ領域Ｒ１、Ｒ２の担当コントローラであり、コントローラ２０２はＲＬＵ領域Ｒ３の担当コントローラである場合について考える。以下、担当コントローラを担当ＣＭと表記する場合がある。
【００４１】
ＴＰＶには、チャンクと呼ばれる論理的な記憶領域の単位が割り当てられる。チャンクには、ＲＬＵ領域の一部又は全部が割り当てられる。図３の例では、ＴＰＶにチャンクＣ１、Ｃ２、Ｃ３、…が割り当てられ、チャンクＣ１にＲＬＵ領域Ｒ１、チャンクＣ２にＲＬＵ領域Ｒ２、チャンクＣ３にＲＬＵ領域Ｒ３が割り当てられている。
【００４２】
チャンクは、コントローラ２０１、２０２がサーバ１００からデータの書き込みを要求するコマンド（Ｗｒｉｔｅコマンド）を受けた場合に生成される。例えば、既存のチャンクに割り当てられたＲＬＵ領域を超えてデータの書き込みが行われる場合、新たなチャンクが生成され、そのチャンクに割り当てられたＲＬＵ領域に対してデータの書き込みが行われる。
【００４３】
サーバ１００は、ＴＰＶのデータにアクセスする場合、マルチパスドライバ１０１によりアクセスパスの選定処理を実行する。例えば、コントローラ２０２が担当するＲＬＵ領域Ｒ３を割り当てたチャンクＣ３へのアクセス要求をコントローラ２０１に送信すると、コントローラ２０１がコントローラ２０２を介してＲＬＵ領域Ｒ３へとアクセスするクロスアクセスが発生する。そのため、マルチパスドライバ１０１は、チャンクＣ３へのアクセス要求がコントローラ２０２へと送信されるようなアクセスパス（推奨パス）を選定し、クロスアクセスの発生を抑制する。
【００４４】
マルチパスドライバ１０１は、例えば、ＲＲコマンドを利用してＴＰＶのＬＢＡ範囲毎に推奨パスの情報を取得する。マルチパスドライバ１０１は、取得した推奨パスの情報を保持し、保持している推奨パスの情報をアクセスパスの選定に利用する。このようにＬＢＡ範囲毎に推奨パスの情報を管理することで、ＲＬＵ領域の担当ＣＭが異なる複数のチャンクが１つのＴＰＶ内に混在してもマルチパスドライバ１０１による推奨パスの選定が可能になる。
【００４５】
（推奨パスの管理方法について）
ここで、図４〜図６を参照しながら、第２実施形態に係るストレージシステムによる推奨パスの管理方法について、さらに説明する。
【００４６】
なお、図４は、第２実施形態に係る推奨パスの管理方法について説明するための第１の図である。また、図５は、第２実施形態に係る推奨パスの管理方法について説明するための第２の図である。また、図６は、第２実施形態に係る推奨パスの管理方法について説明するための第３の図である。
【００４７】
推奨パスの管理方法としては、例えば、上述したＲＴＰＧコマンドを利用する論理ボリューム単位の管理方法（以下、管理方法＃１）や、上述したＲＲコマンドを利用するＬＢＡ単位の管理方法（以下、管理方法＃２）などがある。図４には、論理ボリューム単位で推奨パスを管理する方法を示している。例えば、１つの論理ボリュームに担当ＣＭの異なる複数のＲＬＵ領域が割り当てられないような場合には管理方法＃１が適用可能である。
【００４８】
管理方法＃１の場合、推奨パスを管理するためのパス管理情報は、アクセス対象とする論理ボリューム（Ｌ１、…、Ｌ４）と推奨パスとを対応付ける情報となる。図４の例では、論理ボリュームＬ１に割り当てられたＲＬＵ領域Ｒ１の担当ＣＭがＣＭ＃１である。そのため、論理ボリュームＬ１へアクセスする場合の推奨パスは、ＣＭ＃１を経由するアクセスパス（Ｐ１）に設定される。同様に、論理ボリュームＬ２に割り当てられたＲＬＵ領域Ｒ２の担当ＣＭがＣＭ＃１であるため、論理ボリュームＬ２へアクセスする場合の推奨パスは、ＣＭ＃１を経由するアクセスパス（Ｐ１）に設定される。
【００４９】
また、論理ボリュームＬ３に割り当てられたＲＬＵ領域Ｒ３の担当ＣＭはＣＭ＃２であるため、論理ボリュームＬ３へアクセスする場合の推奨パスは、ＣＭ＃２を経由するアクセスパス（Ｐ２）に設定される。同様に、論理ボリュームＬ４に割り当てられたＲＬＵ領域Ｒ３の担当ＣＭがＣＭ＃２であるため、論理ボリュームＬ４へアクセスする場合の推奨パスは、ＣＭ＃２を経由するアクセスパス（Ｐ２）に設定される。このように、１つの論理ボリュームと１つの担当ＣＭとを対応付ける場合、論理ボリューム毎に推奨パスを確定させることができる。そのため、ＲＴＰＧコマンドを利用して推奨パスが得られる。
【００５０】
一方、ＴＰＶのような論理ボリュームの場合、図５に示すように、担当ＣＭが異なる複数のＲＬＵ領域が１つのＴＰＶに割り当てられることがある。図５の例では、論理ボリュームとして２つのＴＰＶ（ＴＰＶ１、ＴＰＶ２）が設けられており、ＴＰＶ１に２つのチャンクが含まれている。チャンクＣ１にはＲＬＵ領域Ｒ１が割り当てられ、チャンクＣ２にはＲＬＵ領域Ｒ３が割り当てられている。そのため、チャンクＣ１へアクセスする場合の推奨パスは、ＲＬＵ領域Ｒ１の担当ＣＭであるＣＭ＃１を経由するアクセスパスになる。一方、チャンクＣ２へアクセスする場合の推奨パスは、ＲＬＵ領域Ｒ３の担当ＣＭであるＣＭ＃２を経由するアクセスパスになる。
【００５１】
例えば、管理方法＃１と同様にＴＰＶ単位で推奨パスを管理し、ＣＭ＃１を経由するアクセスパスをＴＰＶ１の推奨パスに設定した場合、チャンクＣ２にアクセスする際にクロスアクセスが発生する。このような場合、図６に示すように、ＴＰＶのＬＢＡ範囲毎に推奨パスを管理できる管理方法＃２を適用すれば、クロスアクセスの発生を抑制することができる。図６の例では、アクセス対象をＴＰＶ単位とせず、ＴＰＶに割り当てられたチャンクのＬＢＡ範囲を単位に推奨パスを対応付けるパス管理情報を利用している。
【００５２】
管理方法＃２を適用すると、同じＴＰＶ１にアクセスする場合でも、チャンクＣ１へのアクセスにはＣＭ＃１を経由する推奨パスが選定され、チャンクＣ２へのアクセスにはＣＭ＃２を経由する推奨パスが選定される。その結果、図５に例示したようなクロスアクセスの発生が抑制される。但し、新たなチャンクが生成され、ＲＬＵ領域が割り当てられる度に推奨パスの情報がストレージ制御装置２００からマルチパスドライバ１０１へと通知されると、通知処理の負担やパス管理情報の更新処理にかかる負担が大きくなる。例えば、ＴＰＶの運用開始時など、チャンクが頻繁に生成される状況では負荷が高くなる。
【００５３】
そこで、第２実施形態に係るストレージシステムは、クロスアクセスの発生を検知し、クロスアクセスの発生時にパス管理情報の更新に係る処理を実行する。このような仕組みにすることで、新たなチャンクの生成が頻繁に発生する運用開始時などであっても、負荷の増大によるアクセス性能の低下を抑制することができる。以下では、この仕組みを実現するストレージ制御装置２００の機能などについて、さらに説明する。
【００５４】
以上、第２実施形態に係るストレージシステムについて説明した。
［２−２．ハードウェア］
次に、図７を参照しながら、サーバ１００のハードウェアについて説明する。なお、図７は、第２実施形態に係るサーバが有する機能を実現することが可能なハードウェアの一例を示した図である。
【００５５】
サーバ１００が有する機能は、例えば、図７に示す情報処理装置のハードウェア資源を用いて実現することが可能である。つまり、サーバ１００が有する機能は、コンピュータプログラムを用いて図７に示すハードウェアを制御することにより実現される。
【００５６】
図７に示すように、このハードウェアは、主に、ＣＰＵ９０２と、ＲＯＭ（Read Only Memory）９０４と、ＲＡＭ９０６と、ホストバス９０８と、ブリッジ９１０とを有する。さらに、このハードウェアは、外部バス９１２と、インターフェース９１４と、入力部９１６と、出力部９１８と、記憶部９２０と、ドライブ９２２と、接続ポート９２４と、通信部９２６とを有する。
【００５７】
ＣＰＵ９０２は、例えば、演算処理装置又は制御装置として機能し、ＲＯＭ９０４、ＲＡＭ９０６、記憶部９２０、又はリムーバブル記録媒体９２８に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ＲＯＭ９０４は、ＣＰＵ９０２に読み込まれるプログラムや演算に用いるデータなどを格納する記憶装置の一例である。ＲＡＭ９０６には、例えば、ＣＰＵ９０２に読み込まれるプログラムや、そのプログラムを実行する際に変化する各種パラメータなどが一時的又は永続的に格納される。
【００５８】
これらの要素は、例えば、高速なデータ伝送が可能なホストバス９０８を介して相互に接続される。一方、ホストバス９０８は、例えば、ブリッジ９１０を介して比較的データ伝送速度が低速な外部バス９１２に接続される。また、入力部９１６としては、例えば、マウス、キーボード、タッチパネル、タッチパッド、ボタン、スイッチ、及びレバーなどが用いられる。さらに、入力部９１６としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラが用いられることもある。
【００５９】
出力部９１８としては、例えば、ＣＲＴ（Cathode Ray Tube）、ＬＣＤ（Liquid Crystal Display）、ＰＤＰ（Plasma Display Panel）、又はＥＬＤ（Electro-Luminescence Display）などのディスプレイ装置が用いられる。また、出力部９１８として、スピーカやヘッドホンなどのオーディオ出力装置、又はプリンタなどが用いられることもある。つまり、出力部９１８は、情報を視覚的又は聴覚的に出力することが可能な装置である。
【００６０】
記憶部９２０は、各種のデータを格納するための装置である。記憶部９２０としては、例えば、ＨＤＤなどの磁気記憶デバイスが用いられる。また、記憶部９２０として、ＳＳＤ（Solid State Drive）やＲＡＭディスクなどの半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイスなどが用いられてもよい。
【００６１】
ドライブ９２２は、着脱可能な記録媒体であるリムーバブル記録媒体９２８に記録された情報を読み出し、又はリムーバブル記録媒体９２８に情報を書き込む装置である。リムーバブル記録媒体９２８としては、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどが用いられる。
【００６２】
接続ポート９２４は、例えば、ＵＳＢ（Universal Serial Bus）ポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ（Small Computer System Interface）、ＲＳ−２３２Ｃポート、又は光オーディオ端子など、外部接続機器９３０を接続するためのポートである。外部接続機器９３０としては、例えば、プリンタなどが用いられる。
【００６３】
通信部９２６は、ネットワーク９３２に接続するための通信デバイスである。通信部９２６としては、例えば、有線又は無線ＬＡＮ（Local Area Network）用の通信回路、ＷＵＳＢ（Wireless USB）用の通信回路、光通信用の通信回路やルータ、ＡＤＳＬ（Asymmetric Digital Subscriber Line）用の通信回路やルータ、携帯電話ネットワーク用の通信回路などが用いられる。通信部９２６に接続されるネットワーク９３２は、有線又は無線により接続されたネットワークであり、例えば、インターネット、ＬＡＮ、放送網、衛星通信回線などを含む。
【００６４】
以上、サーバ１００のハードウェアについて説明した。なお、ストレージ制御装置２００が有する機能も、図７に例示したハードウェアの一部又は全部を用いて実現することができる。そのため、ストレージ制御装置２００のハードウェアについては説明を省略する。
【００６５】
［２−３．ストレージ制御装置の機能］
次に、図８を参照しながら、ストレージ制御装置２００が有する機能について説明する。なお、図８は、第２実施形態に係るストレージ制御装置が有する機能について説明するための図である。
【００６６】
図８に示すように、ストレージ制御装置２００は、記憶部２１１と、物理ボリューム管理部２１２と、論理ボリューム管理部２１３と、推奨パス情報提供部２１４とを有する。
なお、記憶部２１１の機能は、上述したＲＡＭ９０６や記憶部９２０などを用いて実現できる。物理ボリューム管理部２１２、論理ボリューム管理部２１３、及び推奨パス情報提供部２１４の機能は、上述したＣＰＵ９０２などを用いて実現できる。
【００６７】
（記憶部２１１）
記憶部２１１には、プール情報２１１Ａ、パス管理情報２１１Ｂ、ＴＰＶ情報２１１Ｃ、及び統計情報２１１Ｄが格納される。プール情報２１１Ａは、管理対象のディスクプールに関する情報及びディスクプールに登録されたＲＬＵ領域に関する情報を含む。パス管理情報２１１Ｂは、サーバ１００のポートとコントローラ２０１、２０２との接続状態（アクセスパスの有効性）を管理する情報を含む。
【００６８】
ＴＰＶ情報２１１Ｃは、管理対象のＴＰＶに関する情報及びＴＰＶに割り当てられたチャンクに関する情報を含む。また、ＴＰＶ情報２１１Ｃは、チャンクとＲＬＵ領域とを対応付ける情報、及びＲＬＵ領域の担当ＣＭに関する情報を含む。統計情報２１１Ｄは、ストレージ制御装置２００からサーバ１００へ通知したセンスの統計値（合計値など）を管理する情報を含む。例えば、統計情報２１１Ｄには、マルチパスの再構成を要求するセンスの通知回数を示す情報が含まれる。
【００６９】
ここで、図９〜図１２を参照しながら、パス管理情報２１１Ｂ、ＴＰＶ情報２１１Ｃ、及び統計情報２１１Ｄについて、さらに説明する。
なお、図９は、第２実施形態に係るストレージ制御装置が保持するパス状態管理テーブルの一例を示した図である。また、図１０は、第２実施形態に係るストレージ制御装置が保持する論理ボリューム管理テーブルの一例を示した図である。また、図１１は、第２実施形態に係るストレージ制御装置が保持する論理ブロック管理テーブルの一例を示した図である。また、図１２は、第２実施形態に係るストレージ制御装置が保持するセンス通知統計管理テーブルの一例を示した図である。
【００７０】
（パス管理情報２１１Ｂ）
図９に例示したパス状態管理テーブルは、パス管理情報２１１Ｂの一例である。また、パス状態管理テーブルは、ＴＰＶなどの論理ボリューム毎に設けられる。
【００７１】
図９に示すように、パス状態管理テーブルは、コントローラの情報と、ポート（コントローラ側）の情報と、サーバＷＷＮ（World Wide Name）の情報と、パス状態とを対応付ける。なお、ＷＷＮは、ファイバーチャネルなどを用いるストレージエリアネットワークにおいて機器を一意に識別するための識別子である。サーバＷＷＮは、サーバ１００に搭載されたＨＢＡを識別する識別子である。パス状態は、ポートとサーバ１００に搭載されたＨＢＡとの接続状態を表す。
【００７２】
例えば、サーバＡからＣＭ＃１のポート０へとログインがあった場合、ＣＭ＃１、ポート０、サーバＡに対応するパス状態は「オン」となる。また、サーバポートのリンクダウンなどにより、サーバＡとＣＭ＃１のポート０との接続が切れた場合、ＣＭ＃１、ポート０、サーバＡに対応するパス状態は「オフ」となる。
【００７３】
図９の例では、ＣＭ＃１のポート０とサーバＡとの間のパス状態が「オン」、ＣＭ＃１のポート１とサーバＢとの間のパス状態が「オフ」となっている。また、ＣＭ＃２のポート０とサーバＣとの間のパス状態が「オン」、ＣＭ＃２のポート１とサーバＤとの間のパス状態が「オン」となっている。例えば、あるコントローラがサーバ１００からコマンドを受信したとき、コマンドを受信したポートとは異なるポートが全てオフ状態である場合にはセンスの通知が抑止される。
【００７４】
（ＴＰＶ情報２１１Ｃ）
図１０に例示した論理ボリューム管理テーブル、及び図１１に例示した論理ブロック管理テーブルは、ＴＰＶ情報２１１Ｃの一例である。なお、ＴＰＶは、論理ボリュームの一例である。また、チャンクは、論理ブロックの一例である。また、ＲＬＵ領域は、物理ボリュームの一例である。また、各チャンクに割り当てられるＲＬＵ領域の一部又は全部の物理領域は、物理ブロックの一例である。
【００７５】
図１０に示すように、論理ボリューム管理テーブルは、論理ボリュームを識別するＬＶ（Logical Volume）番号と、論理ボリュームの先頭ＬＢＡ及び終了ＬＢＡと、エントリ数とを対応付ける。エントリ数は、後述するセンス通知統計管理テーブルにエントリされているＬＢＡ範囲の数を表す。このエントリ数は、後述する推奨パス情報提供部２１４がセンス通知統計管理テーブルを参照する際に利用される。例えば、エントリ数が０の場合、推奨パス情報提供部２１４は、センス通知統計管理テーブルを参照しない。
【００７６】
図１０の例では、００００００００ｈから００００１０００ｈまでのＬＢＡ範囲を有するＬＶ番号００００ｈの論理ボリュームが設けられている。また、ＬＶ番号００００ｈの論理ボリュームについて、センス通知統計管理テーブル内に２つのエントリが存在する。また、００００００００ｈから００００２０００ｈまでのＬＢＡ範囲を有するＬＶ番号０００１ｈの論理ボリュームが設けられている。また、ＬＶ番号０００１ｈの論理ボリュームについては、センス通知統計管理テーブル内にエントリが存在しない。このように、論理ボリューム管理テーブルには、論理ボリュームに関する情報が格納される。
【００７７】
一方、図１１に示すように、論理ブロック管理テーブルは、論理ブロックを識別する論理ブロック番号と、物理ボリューム番号及び物理ブロック番号と、担当ＣＭとを対応付ける。つまり、論理ブロック管理テーブルは、論理ブロック番号が示す論理ブロックに割り当てた物理ブロックについて、物理ブロックを含む物理ボリュームと、その物理ボリュームの担当ＣＭとを対応付ける。なお、論理ブロック管理テーブルは、論理ボリューム毎に設けられる。
【００７８】
図１１の例では、論理ブロック番号が００００００００ｈの論理ブロックに対し、物理ブロック番号が０００００１００ｈの物理ブロックが割り当てられている。この物理ブロックは、物理ボリューム番号が０１００ｈの物理ボリュームに含まれる。さらに、この物理ボリュームの担当ＣＭはＣＭ＃１である。例えば、論理ブロック番号が００００００００ｈの論理ブロックへのアクセスを要求するコマンドを担当ＣＭ（ＣＭ＃１）とは異なるＣＭ＃２が受けた場合、そのアクセスがクロスアクセスであると判断される。つまり、論理ブロック管理テーブルを参照することにより、クロスアクセスの発生を検出することができる。
【００７９】
（統計情報２１１Ｄ）
図１２に例示したセンス通知統計管理テーブルは、統計情報２１１Ｄの一例である。
図１２に示すように、センス通知統計管理テーブルは、ＬＶ番号と、論理ボリュームの先頭ＬＢＡ及び終了ＬＢＡと、センス統計値とを対応付ける。センス統計値は、ストレージ制御装置２００からサーバ１００に対して通知されたセンスの数を示す。例えば、センス統計値が予め設定した閾値を超えた場合、対応する論理ボリュームを割り当てたサーバ１００に対するセンスの通知が抑止される。また、対応するＬＢＡ範囲に割り当てた物理ブロックが移動した場合など、論理ボリュームに変更が生じた場合には該当するエントリが削除される。
【００８０】
（物理ボリューム管理部２１２）
再び図８を参照する。物理ボリューム管理部２１２は、プール情報２１１Ａを管理する。例えば、物理ボリューム管理部２１２は、ディスクプールに対してＲＬＵ領域を登録する処理や、ＲＬＵ領域の利用状況を管理する処理などを実行する。
【００８１】
（論理ボリューム管理部２１３）
論理ボリューム管理部２１３は、ＴＰＶ情報２１１Ｃを管理する。例えば、論理ボリューム管理部２１３は、ＴＰＶにチャンクを登録する処理や、チャンクへＲＬＵ領域を割り当てる処理などを実行する。例えば、新たなＴＰＶを設けた場合、論理ボリューム管理部２１３は、新たに設けたＴＰＶに関する情報をＴＰＶ情報２１１Ｃに追加する。また、ＴＰＶに新たなチャンクを登録した場合、論理ボリューム管理部２１３は、新たに登録したチャンクについてＴＰＶ情報２１１Ｃを更新する。
【００８２】
（推奨パス情報提供部２１４）
推奨パス情報提供部２１４は、クロスアクセスを検出した場合にマルチパスの再構成を促すセンスをサーバ１００に通知する。また、推奨パス情報提供部２１４は、センスに応じてサーバ１００から送信されたＲＲコマンドを受信した場合にＬＢＡ範囲毎に設定された推奨パスの情報をサーバ１００に提供する。これらの機能を実現するために、推奨パス情報提供部２１４は、クロスアクセス検出部２３１、及び情報提供部２３２を有する。
【００８３】
クロスアクセス検出部２３１は、ＴＰＶ情報２１１Ｃ（例えば、論理ブロック管理テーブル）を参照し、コマンドが示すアクセス対象の論理ブロックに対応する担当ＣＭを特定する。また、クロスアクセス検出部２３１は、コマンドを受けたコントローラと担当ＣＭとが同じであるか否かを判定する。コマンドを受けたコントローラと担当ＣＭとが異なる場合、クロスアクセス検出部２３１は、クロスアクセスが発生したと判定する。このように、クロスアクセス検出部２３１は、クロスアクセスの発生を検出する。
【００８４】
例えば、論理ブロック番号が００００１０００ｈの論理ブロックに対するＷｒｉｔｅコマンドを受けた場合、クロスアクセス検出部２３１は、図１１に例示した論理ブロック管理テーブルを参照して担当ＣＭ（ＣＭ＃２）を特定する。また、クロスアクセス検出部２３１は、Ｗｒｉｔｅコマンドを受けたコントローラがＣＭ＃２であるか否かを判定する。Ｗｒｉｔｅコマンドを受けたコントローラがＣＭ＃１である場合、クロスアクセス検出部２３１は、クロスアクセスが発生したと判定する。クロスアクセスを検出したクロスアクセス検出部２３１は、クロスアクセスの発生を情報提供部２３２に通知する。
【００８５】
クロスアクセスの発生を通知された情報提供部２３２は、サーバ１００に対してマルチパスの再構築を促すセンスを通知する。また、情報提供部２３２は、統計情報２１１Ｄ（例えば、センス通知統計管理テーブル）のセンス統計値を更新する。なお、センス通知統計管理テーブルのエントリ数が変更された場合、情報提供部２３２は、論理ボリューム管理テーブルのエントリ数も更新する。通知したセンスに応じてＲＲコマンドが発行された場合、情報提供部２３２は、ＴＰＶ情報２１１Ｃ（例えば、論理ブロック管理テーブル）を参照して担当ＣＭを経由するアクセスパス（推奨パス）の情報をサーバ１００に提供する。
【００８６】
以上、ストレージ制御装置２００が有する機能について説明した。
［２−４．処理フロー］
次に、図１３〜図１５を参照しながら、第２実施形態に係るストレージシステムが実行する処理の流れについて説明する。なお、マルチパスドライバ１０１がストレージ制御装置２００を認識する際（認識時）に実行される処理の流れと、クロスアクセスが検出された際（クロスアクセス検出時）に実行される処理の流れとを分けて説明する。
【００８７】
（認識時の動作）
まず、図１３を参照しながら、ストレージ制御装置２００をマルチパスドライバ１０１が認識した時に実行される処理の流れについて説明する。なお、図１３は、第２実施形態に係るストレージシステムの動作例（認識時の動作）を示した図である。
【００８８】
（Ｓ１０１）マルチパスドライバ１０１は、ＲＲコマンドを発行する。このとき、マルチパスドライバ１０１は、ストレージ制御装置２００が管理するＴＰＶに登録された全てのチャンクに関するＬＢＡ範囲毎の推奨パスを通知させるＲＲコマンド（ａｌｌ）を発行する。
【００８９】
（Ｓ１０２）ＲＲコマンド（ａｌｌ）を取得したストレージ制御装置２００は、ＲＥＦＥＲＲＡＬＳデータ（ａｌｌ）をサーバ１００に提供する。ＲＥＦＥＲＲＡＬＳデータ（ａｌｌ）は、ストレージ制御装置２００が管理するＴＰＶに登録された全てのチャンクに関するＬＢＡ範囲毎の推奨パスを示す情報を含む。例えば、ストレージ制御装置２００は、推奨パス情報提供部２１４の機能により、ＴＰＶ情報２１１Ｃを参照し、ＴＰＶのＬＢＡ範囲と担当ＣＭとの関係を示す情報をサーバ１００に提供する。
【００９０】
（Ｓ１０３）ＲＥＦＥＲＲＡＬＳデータ（ａｌｌ）を取得したマルチパスドライバ１０１は、取得したＲＥＦＥＲＲＡＬＳデータ（ａｌｌ）に基づいて推奨パス管理テーブルを作成する。推奨パス管理テーブルには、ＴＰＶのＬＢＡ範囲と推奨パス（担当ＣＭ）とを対応付ける情報がＴＰＶ毎に格納されている。推奨パス管理テーブルは、サーバ１００がＴＰＶへアクセスする際に参照され、アクセス時にコマンドを通知するコントローラ（アクセスパス）の選定に利用される。
【００９１】
以上が認識時に実行される処理の流れである。
（クロスアクセス検出時の動作）
次に、図１４及び図１５を参照しながら、クロスアクセス検出時に実行される処理の流れについて説明する。なお、図１４は、第２実施形態に係るストレージシステムの動作例（クロスアクセス検出時の動作）を示した第１の図である。また、図１５は、第２実施形態に係るストレージシステムの動作例（クロスアクセス検出時の動作）を示した第２の図である。
【００９２】
（Ｓ１１１）マルチパスドライバ１０１は、ストレージ制御装置２００に対するコマンド（Ｒｅａｄコマンド又はＷｒｉｔｅコマンド）を発行する。
（Ｓ１１２）マルチパスドライバ１０１からコマンドを受けたストレージ制御装置２００は、推奨パス情報提供部２１４の機能により、クロスアクセスの検出処理を実行する。例えば、推奨パス情報提供部２１４は、ＴＰＶ情報２１１Ｃ（論理ブロック管理テーブル）を参照し、コマンドを受けたコントローラが担当ＣＭと同じであるか否かを判定する。コマンドを受けたコントローラと担当ＣＭとが異なる場合、推奨パス情報提供部２１４は、クロスアクセスが発生したと判定する。
【００９３】
（Ｓ１１３）クロスアクセスが検出された場合、ストレージ制御装置２００は、推奨パス情報提供部２１４の機能により、推奨パスの状態変更（マルチパスの再構成）を通知するためのセンスをマルチパスドライバ１０１に通知する。このとき、推奨パス情報提供部２１４は、クロスアクセスを検出したＬＢＡ範囲について推奨パスの状態変更を通知するためのセンスをマルチパスドライバ１０１に通知する。
【００９４】
（Ｓ１１４）ストレージ制御装置２００から推奨パスの状態変更が通知されたマルチパスドライバ１０１は、ＲＲコマンド（ＬＢＡ）を発行する。ＲＲコマンド（ＬＢＡ）は、上述したＲＲコマンド（ａｌｌ）とは異なり、特定のＬＢＡ範囲（この場合、クロスアクセスが検出されたＬＢＡ範囲）について推奨パスの情報を通知するように要求するコマンドである。このとき、マルチパスドライバ１０１は、ストレージ制御装置２００から受けたセンスが示すＬＢＡ範囲を特定したＲＲコマンド（ＬＢＡ）を発行する。
【００９５】
（Ｓ１１５）ＲＲコマンド（ＬＢＡ）を取得したストレージ制御装置２００は、ＲＥＦＥＲＲＡＬＳデータ（ＬＢＡ）をサーバ１００に提供する。ＲＥＦＥＲＲＡＬＳデータ（ＬＢＡ）は、クロスアクセスが発生したＬＢＡ範囲の推奨パスを示す情報を含む。例えば、ストレージ制御装置２００は、推奨パス情報提供部２１４の機能により、ＴＰＶ情報２１１Ｃを参照し、ＲＲコマンド（ＬＢＡ）により特定されるＬＢＡ範囲と担当ＣＭとの関係を示す情報をサーバ１００に提供する。
【００９６】
（Ｓ１１６）ＲＥＦＥＲＲＡＬＳデータ（ＬＢＡ）を取得したマルチパスドライバ１０１は、取得したＲＥＦＥＲＲＡＬＳデータ（ＬＢＡ）に基づいて推奨パス管理テーブルを更新する。更新後の推奨パス管理テーブルは、サーバ１００がＴＰＶへアクセスする際に参照され、アクセス時にコマンドを通知するコントローラ（アクセスパス）の選定に利用される。
【００９７】
ここで、図１５を参照しながら、Ｓ１１２及びＳ１１３の処理に係るストレージ制御装置２００の動作について、さらに説明する。図１５に示した一連の処理は、主にストレージ制御装置２００が有する推奨パス情報提供部２１４により実行される。
【００９８】
（Ｓ１２１）推奨パス情報提供部２１４は、ＲＲコマンドを利用するためのＲＥＦＥＲＲＡＬＳ機能が有効か否かを判定する。ＲＥＦＥＲＲＡＬＳ機能が有効な場合、処理はＳ１２２に進む。一方、ＲＥＦＥＲＲＡＬＳ機能が有効ではない場合、図１３〜図１５に示した一連の処理は終了する。
【００９９】
（Ｓ１２２）推奨パス情報提供部２１４は、パス管理情報２１１Ｂ（例えば、パス状態管理テーブル）を参照し、全対向パス（コマンドを受けたポート以外の全ポートを通るパス）がオフライン（パス状態が「オフ」）であるか否かを判定する。全対向パスがオフラインである場合、図１３〜図１５に示した一連の処理は終了する（センス通知を抑止する。）。一方、少なくとも１つの対向パスがオフラインではない場合、処理はＳ１２３へと進む。
【０１００】
（Ｓ１２３）推奨パス情報提供部２１４は、統計情報２１１Ｄ（例えば、センス通知統計管理テーブル）を参照し、コマンドによりアクセスされるＬＢＡ範囲のセンス統計値が、予め設定した閾値に達しているか（センス統計値が閾値以上であるか）否かを判定する。センス統計値が閾値に達している場合、処理はＳ１２４へ進む。一方、センス統計値が閾値に達していない場合、処理はＳ１２６へ進む。
【０１０１】
（Ｓ１２４）推奨パス情報提供部２１４は、物理領域の割り当て状況（例えば、チャンクに対するＲＬＵ領域の割り当て状況など）が変更されたか否かを判定する。割り当て状況が変更された場合、処理はＳ１２５へ進む。一方、割り当て状況が変更されていない場合、図１３〜図１５に示した一連の処理は終了する（センス通知を抑止する。）。
【０１０２】
（Ｓ１２５）推奨パス情報提供部２１４は、統計情報２１１Ｄ（センス通知統計管理テーブル）のエントリをクリアする。Ｓ１２５の処理が完了すると、図１３〜図１５に示した一連の処理は終了する（センス通知を抑止する。）。
【０１０３】
（Ｓ１２６）推奨パス情報提供部２１４は、クロスアクセスの検出処理を実行する。例えば、推奨パス情報提供部２１４は、ＴＰＶ情報２１１Ｃ（論理ブロック管理テーブル）を参照し、コマンドを受けたコントローラが担当ＣＭと同じであるか否かを判定する。コマンドを受けたコントローラと担当ＣＭとが異なる場合、推奨パス情報提供部２１４は、クロスアクセスが発生したと判定する。
【０１０４】
（Ｓ１２７）Ｓ１２６の処理でクロスアクセスが検出された場合、処理はＳ１２８に進む。一方、Ｓ１２６の処理でクロスアクセスが検出されなかった場合、図１３〜図１５に示した一連の処理は終了する（センス通知を抑止する。）。
【０１０５】
（Ｓ１２８）推奨パス情報提供部２１４は、推奨パスの状態変更（マルチパスの再構成）を通知するためのセンスをマルチパスドライバ１０１に通知する。このとき、推奨パス情報提供部２１４は、クロスアクセスを検出したＬＢＡ範囲について推奨パスの状態変更を通知するためのセンスをマルチパスドライバ１０１に通知する。
【０１０６】
（Ｓ１２９）推奨パス情報提供部２１４は、統計情報２１１Ｄ（センス通知統計管理テーブル）を更新する。Ｓ１２９の処理が完了すると、図１３〜図１５に示した一連の処理は終了する（センス通知を抑止する。）。
【０１０７】
以上がクロスアクセス検出時に実行される処理の流れである。
以上、第２実施形態に係るストレージシステムが実行する処理の流れについて説明した。
【０１０８】
以上説明したように、第２実施形態に係る技術を適用すれば、ＴＰＶにチャンクが割り当てられていない初期状態でサーバ１００からアクセスを受ける度に推奨パスの変更通知が行われる状況を回避することが可能になり、アクセス性能の低下を抑制できる。また、推奨パスの変更通知時にＬＢＡ範囲を指定するため、全てのＬＢＡ範囲について推奨パスの変更処理を実行する場合に比べて通信負荷及び処理負荷を低減することができる。
【０１０９】
また、割り当て状況の変更時にセンス通知を抑制することで、パス閉塞などにより一時的に推奨パスが使用できない状況で不要なセンス通知が行われることを回避し、推奨パスの変更処理に係る処理負荷を低減することができる。また、クロスアクセスの検出時に推奨パスの情報がサーバ１００に提供されるため、何らかの理由で情報提供時に一部の情報漏れが生じてもクロスアクセスの発生に応じて情報の再提供が行われる。そのため、通知漏れによるアクセス性能の低下を抑制することができる。
【０１１０】
以上、第２実施形態について説明した。
以上、添付図面を参照しながら好適な実施形態について説明したが、本発明は係る例に限定されない。当業者であれば、特許請求の範囲に記載された範疇内において、様々な変形例や修正例に想到し得ることは明らかであり、こうした変形例や修正例についても当然に本発明の技術的範囲に属することは言うまでもない。
【０１１１】
＜３．付記＞
以上説明した実施形態に関し、さらに以下の付記を開示する。
（付記１）  １つ又は複数の記録媒体に割り当てられた複数の第１記憶領域にそれぞれ対応し、対応する前記第１記憶領域にアクセス可能な複数の制御部と、
前記制御部毎に、対応する１つ又は複数の前記第１記憶領域内で確保された単位記憶領域が割り当てられる第２記憶領域を記憶する記憶部と、
を有し、
前記制御部は、対応する前記第１記憶領域とは異なる前記第１記憶領域に確保された前記単位記憶領域へのアクセス要求を受けた場合に、当該単位記憶領域へのアクセス経路として前記異なる第１記憶領域に対応する前記制御部の情報を提供する
ストレージ制御装置。
【０１１２】
（付記２）  前記単位記憶領域へのアクセス経路として提供される情報は、前記第２記憶領域における前記単位記憶領域のアドレスと前記異なる第１記憶領域に対応する前記制御部との対応関係を示す情報である
付記１に記載のストレージ制御装置。
【０１１３】
（付記３）  前記制御部は、前記第２記憶領域毎に前記情報の提供回数を保持し、設定した閾値よりも前記提供回数が小さい場合に当該第２記憶領域に関する前記情報を提供する
付記１又は２に記載のストレージ制御装置。
【０１１４】
（付記４）  前記制御部は、前記第２記憶領域に割り当てられた前記単位記憶領域が変更された場合又は当該単位記憶領域と前記第１記憶領域との対応関係が変更された場合、当該第２記憶領域に関する前記情報の提供回数をリセットする
付記３に記載のストレージ制御装置。
【０１１５】
（付記５）  １つ又は複数の記録媒体に割り当てられた複数の第１記憶領域にそれぞれ対応し、対応する前記第１記憶領域にアクセス可能な複数の制御部と、前記制御部毎に、対応する１つ又は複数の前記第１記憶領域内で確保された単位記憶領域が割り当てられる第２記憶領域を記憶する記憶部と、を有するコンピュータの前記制御部が、対応する前記第１記憶領域とは異なる前記第１記憶領域に確保された前記単位記憶領域へのアクセス要求を受けた場合に、当該単位記憶領域へのアクセス経路として前記異なる第１記憶領域に対応する前記制御部の情報を提供する
制御方法。
【０１１６】
（付記６）  前記単位記憶領域へのアクセス経路として提供される情報は、前記第２記憶領域における前記単位記憶領域のアドレスと前記異なる第１記憶領域に対応する前記制御部との対応関係を示す情報である
付記５に記載の制御方法。
【０１１７】
（付記７）  前記制御部は、前記第２記憶領域毎に前記情報の提供回数を保持し、設定した閾値よりも前記提供回数が小さい場合に当該第２記憶領域に関する前記情報を提供する
付記５又は６に記載の制御方法。
【０１１８】
（付記８）  前記制御部は、前記第２記憶領域に割り当てられた前記単位記憶領域が変更された場合又は当該単位記憶領域と前記第１記憶領域との対応関係が変更された場合、当該第２記憶領域に関する前記情報の提供回数をリセットする
付記７に記載の制御方法。
【０１１９】
（付記９）  １つ又は複数の記録媒体に割り当てられた複数の第１記憶領域にそれぞれ対応し、対応する前記第１記憶領域にアクセス可能な複数の制御部と、前記制御部毎に、対応する１つ又は複数の前記第１記憶領域内で確保された単位記憶領域が割り当てられる第２記憶領域を記憶する記憶部と、を有するコンピュータに、
前記制御部が、対応する前記第１記憶領域とは異なる前記第１記憶領域に確保された前記単位記憶領域へのアクセス要求を受けた場合に、当該単位記憶領域へのアクセス経路として前記異なる第１記憶領域に対応する前記制御部の情報を提供する
処理を実行させる、プログラム。
【０１２０】
（付記１０）  １つ又は複数の記録媒体に割り当てられた複数の第１記憶領域にそれぞれ対応し、対応する前記第１記憶領域にアクセス可能な複数の制御部と、前記制御部毎に、対応する１つ又は複数の前記第１記憶領域内で確保された単位記憶領域が割り当てられる第２記憶領域を記憶する記憶部と、を有するコンピュータに、
前記制御部が、対応する前記第１記憶領域とは異なる前記第１記憶領域に確保された前記単位記憶領域へのアクセス要求を受けた場合に、当該単位記憶領域へのアクセス経路として前記異なる第１記憶領域に対応する前記制御部の情報を提供する
処理を実行させるプログラムが記録された、コンピュータにより読み取り可能な記録媒体。
【符号の説明】
【０１２１】
１０  サーバ
２０  ストレージ制御装置
２１、２２  制御部
２３  記憶部
２３Ａ  第２記憶領域
２３Ｂ  ストレージプール
３０  ストレージ装置
Ｃｈ１、Ｃｈ２、Ｃｈ３  単位記憶領域
Ｒｄ１、Ｒｄ２、Ｒｄ３  第１記憶領域
【図１】
2015097006.tif 000003
【図２】
2015097006.tif 000004
【図３】
2015097006.tif 000005
【図４】
2015097006.tif 000006
【図５】
2015097006.tif 000007
【図６】
2015097006.tif 000008
【図７】
2015097006.tif 000009
【図８】
2015097006.tif 000010
【図９】
2015097006.tif 000011
【図１０】
2015097006.tif 000012
【図１１】
2015097006.tif 000013
【図１２】
2015097006.tif 000014
【図１３】
2015097006.tif 000015
【図１４】
2015097006.tif 000016
【図１５】
2015097006.tif 000017