(57)【特許請求の範囲】
【請求項１】
上位装置からの複数のデバイスへのアクセスを制御する複数の制御装置のうちの第１の制御装置であって、
前記複数の制御装置の各々と、前記複数のデバイスの各々と、の間の接続関係に関する接続情報を格納する第１の情報格納部と、
前記複数の制御装置間の通信におけるデータ格納に用いられる第２の情報格納部と、
前記上位装置との通信におけるデータ格納に用いられる第３の情報格納部と、
前記複数のデバイスのうちの第１のデバイスに対する第１のアクセス要求に応じて、前記第１の情報格納部が格納する前記接続情報に基づき、前記第１のデバイスを担当する第２の制御装置を特定する特定部と、
前記特定部が特定した前記第２の制御装置が自制御装置である場合、前記第１のアクセス要求に基づく前記第１のデバイスへのアクセス指示が通知され、前記第１のデバイスとの通信を行なうデバイス側通信部と、
前記特定部が特定した前記第２の制御装置が自制御装置ではない場合、前記第１のアクセス要求に基づく前記第１のデバイスへのアクセス指示が通知され、前記複数の制御装置の各々が相互に送受信する情報を中継する中継装置を介して、前記特定部が特定した前記第２の制御装置に対し、前記第１の制御装置が受信した前記第１のアクセス要求に基づく前記第１のデバイスへのアクセスを指示するとともに、前記第３の情報格納部と前記第２の制御装置がそなえる第２の情報格納部との間で当該アクセスに関連するデータの転送制御を行なう制御装置間通信部と、をそなえることを特徴とする、制御装置。
【請求項２】
前記第３の情報格納部は、前記第１のアクセス要求に基づく情報をさらに格納し、
前記第１のアクセス要求に基づく情報は、前記第２の制御装置が前記第１のデバイスへ送信する制御コマンドであって前記第１のアクセス要求に応じた制御コマンドを含み、
前記制御コマンドを生成し、生成した前記制御コマンドを前記第３の情報格納部へ格納する生成部をさらにそなえ、
前記制御装置間通信部は、前記第２の制御装置に対して、前記生成部が生成した前記制御コマンドを用いた前記第１のデバイスへのアクセスを指示することを特徴とする、請求項１記載の制御装置。
【請求項３】
前記第１のアクセス要求は、前記複数のデバイスの各々がそなえる複数の記憶装置へのアクセスを行なう前記上位装置から発行され、
前記制御装置間通信部は、前記第１のアクセス要求に対する前記第１のデバイスからの第１の応答データを前記中継装置を介して前記第２の制御装置から受信すると、受信した前記第１の応答データを前記第３の情報格納部に格納し、前記第１のアクセス要求に対する応答結果を前記上位装置へ送信することを特徴とする、請求項１又は請求項２記載の制御装置。
【請求項４】
前記制御装置間通信部は、前記第１の応答データが前記第２の制御装置のそなえる第２の情報格納部に格納されているか否かを判定し、前記第１の応答データが前記第２の情報格納部に格納されていないと判定した場合に、前記中継装置を介して、前記第２の制御装置に対し、前記第１のアクセス要求に基づく前記第１のデバイスへのアクセスを指示することを特徴とする、請求項３記載の制御装置。
【請求項５】
前記第３の情報格納部は、前記第１のアクセス要求に基づく情報をさらに格納し、
前記第１のアクセス要求に基づく情報が、前記第１のアクセス要求に係る書込データを含む場合、前記制御装置間通信部は、前記第２の制御装置がそなえる第２の情報格納部に対して、前記第３の情報格納部が格納する前記書込データを、前記中継装置を介して直接的に転送し、
前記第１のアクセス要求に基づく情報が、前記第１のアクセス要求に係る読出要求を含む場合、前記制御装置間通信部は、前記第２の制御装置がそなえる第２の情報格納部に格納された前記読出要求に係る読出データを、前記中継装置を介して前記第３の情報格納部に直接的に転送する前記転送制御を前記第２の制御装置との間で行なうことを特徴とする、請求項１〜４のいずれか１項記載の制御装置。
【請求項６】
複数のデバイスと、
上位装置からの前記複数のデバイスへのアクセスを制御する複数の制御装置と、をそなえ、
前記複数の制御装置のうちの第１の制御装置は、
前記複数の制御装置の各々と、前記複数のデバイスの各々と、の間の接続関係に関する接続情報を格納する第１の情報格納部と、
前記複数の制御装置間の通信におけるデータ格納に用いられる第２の情報格納部と、
前記上位装置との通信におけるデータ格納に用いられる第３の情報格納部と、
前記複数のデバイスのうちの第１のデバイスに対する第１のアクセス要求に応じて、前記第１の情報格納部が格納する前記接続情報に基づき、前記第１のデバイスを担当する第２の制御装置を特定する特定部と、
前記特定部が特定した前記第２の制御装置が自制御装置である場合、前記第１のアクセス要求に基づく前記第１のデバイスへのアクセス指示が通知され、前記第１のデバイスとの通信を行なう第１のデバイス側通信部と、
前記特定部が特定した前記第２の制御装置が自制御装置ではない場合、前記第１のアクセス要求に基づく前記第１のデバイスへのアクセス指示が通知され、前記複数の制御装置の各々が相互に送受信する情報を中継する中継装置を介して、前記特定部が特定した前記第２の制御装置に対し、前記第１の制御装置が受信した前記第１のアクセス要求に基づく前記第１のデバイスへのアクセスを指示するとともに、前記第３の情報格納部と前記第２の制御装置がそなえる第２の情報格納部との間で当該アクセスに関連するデータの転送制御を行なう第１の制御装置間通信部と、をそなえ、
前記第２の制御装置は、
前記複数の制御装置間の通信におけるデータ格納に用いられる前記第２の情報格納部としての情報格納部と、
前記第１の制御装置がそなえる前記第３の情報格納部と、前記第２の制御装置がそなえる前記第２の情報格納部との間で、前記第１の制御装置間通信部からの指示に係るアクセスに関連するデータの転送制御を行なう第２の制御装置間通信部と、
前記第１の制御装置間通信部からの指示に基づく前記第１のデバイスへのアクセス指示が通知され、前記第１のデバイスとの通信を行なう第２のデバイス側通信部と、をそなえることを特徴とする、ストレージ装置。
【請求項７】
前記第３の情報格納部は、前記第１のアクセス要求に基づく情報をさらに格納し、
前記第１のアクセス要求に基づく情報は、前記第２の制御装置が前記第１のデバイスへ送信する制御コマンドであって前記第１のアクセス要求に応じた制御コマンドを含み、
前記制御コマンドを生成し、生成した前記制御コマンドを前記第３の情報格納部へ格納する生成部をさらにそなえ、
前記第１の制御装置間通信部は、前記第２の制御装置間通信部に対して、前記生成部が生成した前記制御コマンドを用いた前記第１のデバイスへのアクセスを指示することを特徴とする、請求項６記載のストレージ装置。
【請求項８】
上位装置からの複数のデバイスへのアクセスを制御する複数のコンピュータのうちの第１のコンピュータに、
前記複数のデバイスのうちの第１のデバイスに対する第１のアクセス要求に応じて、前記複数のコンピュータの各々と、前記複数のデバイスの各々と、の間の接続関係に関する接続情報を格納する第１の情報格納部が格納する前記接続情報に基づき、前記第１のデバイスを担当する第２のコンピュータを特定し、
前記複数のコンピュータ間の通信におけるデータ格納に第２の情報格納部を用い、
前記上位装置との通信におけるデータ格納に第３の情報格納部を用い、
前記特定した前記第２のコンピュータが自コンピュータである場合、前記第１のアクセス要求に基づく前記第１のデバイスへのアクセス指示が通知され、前記第１のデバイスとの通信を行ない、
前記特定した前記第２のコンピュータが自コンピュータではない場合、前記第１のアクセス要求に基づく前記第１のデバイスへのアクセス指示が通知され、前記複数のコンピュータの各々が相互に送受信する情報を中継する中継装置を介して、前記特定した前記第２のコンピュータに対し、前記第１のコンピュータが受信した前記第１のアクセス要求に基づく前記第１のデバイスへのアクセスを指示するとともに、前記第３の情報格納部と前記第２のコンピュータがそなえる第２の情報格納部との間で当該アクセスに関連するデータの転送制御を行なう
処理を実行させることを特徴とする、制御プログラム。
【請求項９】
前記第３の情報格納部は、前記第１のアクセス要求に基づく情報をさらに格納し、
前記第１のアクセス要求に基づく情報は、前記第２のコンピュータが前記第１のデバイスへ送信する制御コマンドであって前記第１のアクセス要求に応じた制御コマンドを含み、
前記第１のコンピュータに、
前記制御コマンドを生成し、生成した前記制御コマンドを前記第３の情報格納部へ格納し、
前記指示において、前記第２のコンピュータに対して、前記生成した前記制御コマンドを用いた前記第１のデバイスへのアクセスを指示することを特徴とする、請求項８記載の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、ストレージ装置、制御プログラムに関する。
【背景技術】
【０００２】
ストレージ装置では、Hard Disk Drive（ＨＤＤ）やSolid State Drive（ＳＳＤ）等の複数の記憶装置を格納した筐体を複数搭載して、ホスト装置へ記憶装置の記憶領域を提供するものが知られている。また、このようなストレージ装置では、ホスト装置とこれらの記憶装置との間のアクセス制御を行なう制御装置が複数そなえられることがある。
【０００３】
図１５はストレージ装置１００の構成例を示す図である。ストレージ装置１００は、各々が複数の記憶装置５１０を搭載する複数のDrive Enclosure（ＤＥ）５００−０〜５００−３１と、ホスト装置と記憶装置５１０との間に設けられる複数のController Module（ＣＭ）４００−０〜４００−７とをそなえることができる。なお、ＣＭ４００−０〜４００−７は、１つのController Enclosure（ＣＥ）３００等の制御筐体にそなえられる。
【０００４】
以下の説明において複数の装置を区別しない場合には、符号のハイフン“−”以降の数字を省略して表記する。例えばＣＭ４００−０〜４００−７を区別しない場合には単にＣＭ４００と表記する。
【０００５】
各ＣＭ４００は、ホスト装置と複数のChannel Adapter（ＣＡ）４００ａを介して相互に通信可能に接続されるとともに、複数のInput Output Controller（ＩＯＣ）４００ｂを介して複数のＤＥ５００の各々と接続される。また、各ＣＭ４００は、冗長化された２つのFront End Router（ＦＲＴ）２００−０及び２００−１に接続され、ＦＲＴ２００を介して、ＣＭ４００間で装置の構成情報等の同期を取ったり、他のＣＭ４００への処理の依頼等を行なうことができる。
【０００６】
各ＣＭ４００にそなえられる複数のＩＯＣ４００ｂと、各ＤＥ５００との間には、冗長化された複数のBack End Router（ＢＲＴ）６００−０〜６００−７が介設される。各ＢＲＴ６００は、全てのＣＭ４００に接続されるとともに、全てのＤＥ５００に接続される。なお、各ＢＲＴ６００とＩＯＣ４００ｂ及びＤＥ５００とを接続するケーブルは冗長化されてもよい。
【０００７】
これにより、各ＢＲＴ６００は、アクセス元／先のＩＯＣ４００ｂと、アクセス先／元の記憶装置５１０を格納するＤＥ５００との間の経路を選択的に切り替えることができる。従って、ＢＲＴ６００により、ＩＯＣ４００ｂとアクセス先の記憶装置５１０との間でやり取りされるコマンドやデータ等の情報を適切な経路へ切り替えて転送することができる。
【０００８】
このように、図１５に例示するストレージ装置１００では、同種の装置やケーブル等を複数設けて、各装置や装置間のパス等を冗長化することにより、システムの可用性や性能の向上を図ることができる。
【０００９】
例えば、複数のＣＭ４００の各々と複数の記憶装置５１０（複数のＤＥ５００）の各々とが冗長化されたＢＲＴ６００を介して直接的に結線されており、いずれのＣＭ４００からも所望の記憶装置５１０へアクセス可能である。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００６−１５５３９２号公報
【特許文献２】特開２０１１−１３８００号公報
【特許文献３】特開２００８−１７１４２０号公報
【特許文献４】特開２００７−２００１７１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、上述したストレージ装置１００では、その規模が大きくなるほどＣＭ４００とＤＥ５００との間を接続するためのケーブルやＢＲＴ６００の数が増加し、ストレージ装置１００の導入やＣＭ４００又はＤＥ５００の増設の際のコストが増大し得る。
【００１２】
また、ストレージ装置１００では、ＢＲＴ６００における全ての経路が有効であることを前提としている。このため、例えばＣＭ４００を新たに追加（増設）する際には、増設するＣＭ４００と全てのＢＲＴ６００との間を結線することになる。また、ＤＥ５００を新たに追加（増設）する際には、必要に応じて新たにＢＲＴ６００も増設するとともに、増設するＢＲＴ６００と全てのＣＭ４００との間を結線することになる。
【００１３】
このように、ストレージ装置１００では、コストがかかる点や増設作業が煩雑となる点から、ＣＭ４００やＤＥ５００を拡張する（増設する）運用には適さない（スケールアウトに適さない）という課題がある。
【００１４】
１つの側面では、本発明は、ストレージ装置の可用性の低下を抑制しつつ拡張性を向上させることを目的とする。
【課題を解決するための手段】
【００１５】
１つの態様では、本件の制御装置は、複数のデバイスへのアクセスを制御する複数の制御装置のうちの第１の制御装置であって、前記複数の制御装置の各々と、前記複数のデバイスの各々と、の間の接続関係に関する接続情報を格納する第１の情報格納部をそなえる。また、前記制御装置は、前記複数のデバイスのうちの第１のデバイスに対する第１のアクセス要求に応じて、前記第１の情報格納部が格納する前記接続情報に基づき、前記第１のデバイスを担当する第２の制御装置を特定する特定部をそなえる。さらに、前記制御装置は、前記複数の制御装置の各々が相互に送受信する情報を中継する中継装置を介して、前記特定部が特定した前記第２の制御装置に対し、前記第１の制御装置が受信した前記第１のアクセス要求に基づく前記第１のデバイスへのアクセスを指示する通信部をそなえる。
【発明の効果】
【００１６】
１つの側面では、ストレージ装置の可用性の低下を抑制しつつ拡張性を向上させることができる。
【図面の簡単な説明】
【００１７】
【図１】一実施形態の一例としてのストレージ装置の構成例を示す図である。
【図２】ＣＭのハードウェア構成例を示す図である。
【図３】ＣＭのインタフェースに着目したハードウェア構成例を示す図である。
【図４】ＣＭのアクセス処理の一例を説明する図である。
【図５】ＣＭのアクセス処理に係る機能構成の一例を示す図である。
【図６】図５に示すディスクグループ情報の一例を示す図である。
【図７】図５に示す論理ボリューム情報の一例を示す図である。
【図８】通信元ＣＭ及び通信先ＣＭの各々におけるＣＭ側通信部の処理の一例について説明する図である。
【図９】ホスト装置からライト要求が発行される場合の通信元ＣＭの処理の一例を説明するフローチャートである。
【図１０】ホスト装置からライト要求が発行される場合の通信先ＣＭの処理の一例を説明するフローチャートである。
【図１１】図９及び図１０に示す処理の手順の一例を説明するシーケンス図である。
【図１２】ホスト装置からリード要求が発行される場合の通信元ＣＭの処理の一例を説明するフローチャートである。
【図１３】ホスト装置からリード要求が発行される場合の通信先ＣＭの処理の一例を説明するフローチャートである。
【図１４】図１２及び図１３に示す処理の手順の一例を説明するシーケンス図である。
【図１５】ストレージ装置の構成例を示す図である。
【発明を実施するための形態】
【００１８】
以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。なお、以下の実施形態で用いる図面において、同一符号を付した部分は、特に断らない限り、同一若しくは同様の部分を表す。
【００１９】
〔１〕一実施形態
〔１−１〕ストレージ装置の構成例
図１は一実施形態の一例としてのストレージ装置１の構成例を示す図である。図１に示すように、ストレージ装置１は、例示的に、中継装置２、１以上（図１では４つ）のＣＥ３−０〜３−３、及び複数のＤＥ５−０〜５−３１をそなえることができる。なお、以下の説明において複数の装置を区別しない場合には、符号のハイフン“−”以降の数字を省略して表記する場合がある。例えばＣＥ３−０〜３−３を区別しない場合には単にＣＥ３と表記する。
【００２０】
ストレージ装置１は、ＤＥ５に複数の記憶装置５１を搭載し、ホスト装置６に対して記憶装置５１の記憶領域を提供することができる。例えばストレージ装置１は、Redundant Arrays of Inexpensive Disks（ＲＡＩＤ）を用いて複数の記憶装置５１にデータを分散又は冗長化した状態で保存することができる。なお、ＣＥ３が記憶装置５１をそなえてもよい。
【００２１】
ＤＥ５は、複数の記憶装置５１をそなえ、ＣＥ３（ＣＭ４）からの要求に応じて記憶装置５１に対するデータ等の書き込み又は読み出し等の種々のアクセスを行なう装置（デバイス）の一例である。なお、図１の例において、ＤＥ５−０〜５−３１の各々は、４つのＤＥがグループ化されて（纏められて）１つのＤＥ５として示されているが、各ＤＥ５におけるこれらのグループ化された４つのＤＥは、互いにカスケード状に接続（縦列接続）されてもよい。換言すれば、ストレージ装置１は、縦列接続された複数段（例えば４段の）のＤＥの組（ＤＥ５）を複数（例えば３２組）搭載することができるといえる。
【００２２】
なお、ＤＥ５は、配下の記憶装置５１へのアクセスの制御や生存確認等を行なう制御部の一例としてのInput Output Module（ＩＯＭ）（図示省略）をそなえることができる。ＩＯＭは、ＤＥ５を統括的に制御することができるとともに、自身のＤＥ５に接続されたＣＭ４（例えば図１のＤＥ５−０の場合はＣＭ４−０及び４−１）と記憶装置５１との間でデータを中継するスイッチ装置としての処理を実行することができる。このようなスイッチ装置の一例として、ＳＡＳエクスパンダが挙げられる。ＳＡＳは、Serial Attached SCSI（Small Computer System Interface）の略称である。また、ＩＯＭは、他のＤＥ５のＩＯＭと接続することも可能である。
【００２３】
記憶装置５１は、種々のデータやプログラム等を格納するハードウェアの一例である。記憶装置５１としては、例えばＨＤＤ等の磁気ディスク装置や、ＳＳＤ等の半導体ドライブ装置等の各種記憶装置が挙げられる。
【００２４】
ＣＥ３は、中継装置２及びＤＥ５とそれぞれ接続され、種々の制御を行なう制御筐体の一例である。ＣＥ３は複数のＣＭ４をそなえることができる。図１ではＣＥ３が２つのＣＭ４をそなえる例を示している。
【００２５】
ＣＭ４は、ホスト装置６から複数の記憶装置５１へのアクセスを制御する制御装置（コントローラ）又は情報処理装置（コンピュータ）の一例である。
【００２６】
図１の例では、一実施形態に係るＣＭ４は、ＣＥ３内の他のＣＭ４との間で冗長化（例えば二重化）されている。これらのＣＭ４は、例えばＳＡＳ等のケーブルにより接続されてもよい。
【００２７】
ＣＥ３内の各ＣＭ４は、それぞれＣＥ３に対応するＤＥ５の各々に直接的に又は間接的に接続されてよく、アクセス経路の冗長化を図ることができる。一例として、図１においては、ＣＭ３−０内のＣＭ４−０及び４−１が、それぞれＤＥ５−０〜５−７の各々とＳＡＳ等のケーブルにより直接的に接続されてよく、これらのＤＥ５−０〜５−７内で縦列接続された２段目以降のＤＥとはＳＡＳ等のケーブルにより間接的に接続されてもよい。
【００２８】
また、ストレージ装置１における複数のＣＭ４は、相互に情報の通信（以下、ＣＭ間情報通信と表記する）を行なうことで、ストレージ装置１の制御や複数の記憶装置５１へのアクセス等に関する情報の共有（同期）又は通知等を行なうことができる。
【００２９】
なお、ＣＥ３−０〜３−３はそれぞれ同様の構成とすることができ、ＣＭ４−０〜４−７についてもそれぞれ同様の構成とすることができるため、以下、任意のＣＭ４を例に挙げて説明する。ＣＭ４の詳細については後述する。
【００３０】
中継装置２は、複数のＣＭ４の各々を相互に通信可能に接続して複数のＣＭ４の各々が相互に送受信する情報を中継する装置の一例である。中継装置２は、例示的に、冗長化された複数（図１では４つ）のＦＲＴ２１−０〜２１−３と、冗長化された複数（図１では２つ）のService Controller（ＳＶＣ）２２−０及び２２−１とをそなえることができる。
【００３１】
ＦＲＴ２１は、複数のＣＭ４の各々を互いに通信可能に接続する接続部の一例である。ＦＲＴ２１は、例えばPeripheral Component Interconnect (PCI) Express（ＰＣＩｅ）に準拠したアダプタを複数そなえ、複数のＣＭ４の各々とＰＣＩｅに対応したケーブル等によって接続されてもよい。
【００３２】
ＳＶＣ２２は、ストレージ装置１の監視を行なう監視部又は情報処理装置（コンピュータ）の一例である。また、ＳＶＣ２２は、複数のＣＥ３の電源制御、例えば電源のオン／オフの制御等を行なうことができる。ＳＶＣ２２は、例えばＣＭ４との接続用のインタフェースを複数そなえ、複数のＣＭ４の各々とケーブル等によって接続されてもよい。なお、ＳＶＣ２２は、ストレージ装置１の他のコンポーネントについても監視及び電源制御を行なってもよい。
【００３３】
ホスト装置（Host Device；ＨＤ）６は、複数のＣＭ４に接続された上位装置の一例である。ホスト装置６は、複数のＤＥ５（記憶装置５１）に対して種々のアクセスを行なうためのアクセス要求を、後述する論理ボリューム情報４３０（図７参照）に基づき選択したＣＭ４へ発行することができる。
【００３４】
なお、図１の例では図示を省略しているが、ホスト装置６は、ホスト装置６と複数のＣＭ４との間の経路を切り替えるスイッチや、Local Area Network（ＬＡＮ）やインターネット等のネットワーク等を介して複数のＣＭ４と接続されてもよい。
【００３５】
また、図１の例では、複数のホスト装置６−０〜６−７がそれぞれ対応するＣＭ４−０〜４−７に接続されている。さらに、ホスト装置６−０〜６−７の各々は、４つのホスト装置がグループ化されて（纏められて）１つのホスト装置６として示されており、これらのグループ化された４つのホスト装置は、各々がＣＭ４と接続されている。このように、図１ではストレージ装置１に複数のホスト装置６が接続される例を示しているが、これに限定されるものではない。
【００３６】
例えばストレージ装置１には、冗長化された複数の経路を介して少なくとも１つのホスト装置６が接続されればよい。以下、説明の簡略化のため、ＣＭ４に対してアクセス要求を発行するホスト装置６が１つであるものとする。
【００３７】
なお、ストレージ装置１は、上述した中継装置２、ＣＥ３、及びＤＥ５を搭載するために、例えばラック（図示省略）をそなえ、このラック内に中継装置２、ＣＥ３、及びＤＥ５を抜き挿し可能に搭載することができる。
【００３８】
以下、ストレージ装置１におけるＣＭ４の詳細について説明する。
【００３９】
〔１−２〕ＣＭのハードウェア構成例
まず、図１〜図３を参照して、図１に示すＣＭ４のハードウェア構成例について説明する。図２はＣＭ４のハードウェア構成例を示す図であり、図３はＣＭ４のインタフェースに着目したハードウェア構成例を示す図である。図２に示すように、ＣＭ４は、例示的に、Central Processing Unit(ＣＰＵ）４ａ、メモリ４ｂ、記憶部４ｃ、インタフェース部４ｄ、及び入出力部４ｅをそなえることができる。
【００４０】
ＣＰＵ４ａは、種々の制御や演算を行なう演算処理装置（プロセッサ）の一例である。ＣＰＵ４ａは、ＣＭ４内の各ブロックとバスで相互に通信可能に接続されてもよい。なお、演算処理装置としては、ＣＰＵ４ａに代えて、電子回路、例えばMicro Processing Unit（ＭＰＵ）、Application Specific Integrated Circuit（ＡＳＩＣ）、Field Programmable Gate Array（ＦＰＧＡ）等の集積回路（Integrated Circuit；ＩＣ）が用いられてもよい。
【００４１】
メモリ４ｂは、種々のデータやプログラムを格納するハードウェアの一例である。メモリ４ｂは、ＤＥ５に対するアクセス等に用いられるデータやプログラムを一時的に記憶するキャッシュメモリとしても用いられてもよい。メモリ４ｂとしては、例えばRandom Access Memory（ＲＡＭ）等の揮発性メモリが挙げられる。
【００４２】
記憶部４ｃは、種々のデータやプログラム等を格納するハードウェアの一例である。記憶部４ｃとしては、例えばＨＤＤ等の磁気ディスク装置、ＳＳＤ等の半導体ドライブ装置、フラッシュメモリやRead Only Memory（ＲＯＭ）等の不揮発性メモリ等の各種記憶装置が挙げられる。
【００４３】
例えば記憶部４ｃは、ＣＭ４の各種機能の全部若しくは一部を実現する制御プログラム１０を格納することができる。ＣＰＵ４ａは、例えば記憶部４ｃに格納された制御プログラム１０をメモリ４ｂに展開して実行することにより、ＣＭ４の機能を実現することができる。
【００４４】
インタフェース部４ｄは、ホスト装置６、ＤＥ５、他のＣＥ３内のＣＭ４（中継装置２のＦＲＴ２１経由）、ＣＥ３内の他のＣＭ４、ＳＶＣ２２、並びに作業者の作業端末等との間の接続及び通信の制御等を行なう通信インタフェースの一例である。例えばインタフェース部４ｄは、図１及び図３に示すＩＦ４ｄ−１〜４ｄ−３や、作業端末を接続するためのアダプタ（ポート）等をそなえてもよい。なお、制御プログラム１０は、図示しないネットワークからインタフェース部４ｄを介してＣＭ４にダウンロードされてもよい。
【００４５】
図１及び図３に示す例において、ＩＦ４ｄ−１は、中継装置２との間の接続及び通信の制御等を行なう通信インタフェースの一例である。ＩＦ４ｄ−１としては、例えばＰＣＩｅ等に準拠したアダプタをそなえるNon Transparent Bridge（ＮＴＢ）が挙げられる。
【００４６】
ＩＦ４ｄ−２は、ホスト装置との間の接続及び通信の制御等を行なう通信インタフェース（ホストインタフェース）の一例である。ＩＦ４ｄ−２としては、例えばＬＡＮ、Storage Area Network（ＳＡＮ）、Fibre Channel（ＦＣ）、InfiniBand（インフィニバンド）等に準拠したアダプタをそなえるＣＡが挙げられる。ＩＦ４ｄ−２は、これらに準拠したケーブル等によってホスト装置６と接続されてもよい。なお、図１の例では、ＩＦ４ｄ−２はＣＭ４に４つ設けられている。
【００４７】
ＩＦ４ｄ−３は、ＤＥ５（記憶装置５１）との間の接続及び通信の制御等を行なう通信インタフェースの一例である。ＩＦ４ｄ−３は、例えば複数（図３の例では２つ）のＩＯＣ４ｇと、Expander（ＥＸＰ）４ｈとをそなえることができる。
【００４８】
ＩＯＣ４ｇは、ＤＥ５へのアクセス（Ｉ／Ｏ）を制御するＩ／Ｏ制御部の一例である。また、ＥＸＰ４ｈは、ＣＭ４配下に接続（例えばＳＡＳ接続）可能なデバイス数の拡張を行なうためのモジュールの一例である。ＥＸＰ４ｈは、ＳＡＳに対応したケーブル等によってＤＥ５と接続されてもよい。なお、ＥＸＰ４ｈからの配線（ケーブル）は、ＤＥ５において、例えばアダプタを介してＩＯＭに接続されてもよい。
【００４９】
なお、図３の例では、複数のＩＯＣ４ｇがそれぞれ自身のＣＭ４のＥＸＰ４ｈとＣＥ３内の他のＣＭ４のＥＸＰ４ｈとに接続され、これらのＥＸＰ４ｈはそれぞれＣＥ３に対応するＤＥ５に接続されている。
【００５０】
例えばホスト装置６からＩＦ４ｄ−２を介して入力されたＤＥ５（記憶装置５１）へのアクセス要求は、ＣＰＵ４ａ及びＩＯＣ４ｇによりパケット生成が行なわれ、ＥＸＰ４ｈを介してＤＥ５へ発行される。また、ＤＥ５からの応答はＥＸＰ４ｈ及びＩＯＣ４ｇを介してＣＰＵ４ａに受信され、ＩＦ４ｄ−２を介してホスト装置６へ返される。
【００５１】
図２の説明に戻り、インタフェース部４ｄは、記録媒体４ｆに記録されたデータやプログラムを読み出す読取部をそなえてもよい。読取部は、コンピュータ読取可能な記録媒体４ｆを接続又は挿入可能な接続端子又は装置を含んでよい。読取部としては、例えばUniversal Serial Bus（ＵＳＢ）等に準拠したアダプタ、記録ディスクへのアクセスを行なうドライブ装置、ＳＤカード等のフラッシュメモリへのアクセスを行なうカードリーダ等が挙げられる。なお、記録媒体４ｆには制御プログラム１０が格納されてもよい。
【００５２】
入出力部４ｅは、マウス、キーボード、操作ボタン等の入力部、並びにディスプレイ等の出力部の少なくとも一部を含むことができる。例えば入力部は、使用者又はオペレータ等による設定の登録や変更、システムのモード選択（切替）等の各種操作やデータの入力等の作業に用いられてもよく、出力部は、作業者等による設定の確認や各種通知等の出力に用いられてもよい。
【００５３】
上述したＣＭ４のハードウェア構成は例示である。従って、ＣＭ４内でのハードウェアの増減（例えば任意のブロックの追加や省略）、分割、任意の組み合わせでの統合、バスの追加又は省略等は適宜行なわれてもよい。
【００５４】
〔１−３〕ＣＭの機能構成例
次に、図４及び図５を参照して、一実施形態に係るＣＭ４の機能構成例について説明する。図４は図１に示すＣＭ４のアクセス処理の一例を説明する図であり、図５はＣＭ４のアクセス処理に係る機能構成の一例を示す図である。なお、図４の例では、図１に示すストレージ装置１における各装置の数、ケーブルの本数等を簡略化して示している。また、図４の例では、１つのホスト装置６が複数のＣＭ４に接続された状態を示している。
【００５５】
以下の説明において、図４に示す各ＣＥ３、ＣＭ４、ＤＥ５、及び記憶装置５１を特定する場合、符号に代えて＃０、＃１を用い、例えばＣＥ＃０及び＃１と表記する場合がある。
【００５６】
図４に例示するように、一実施形態に係るストレージ装置１では、特定のＣＭ４と特定のデバイス、例えばＤＥ５（記憶装置５１やＩＯＭ（図示省略）等）とが直接結線されている。例えばＣＥ＃０のＣＭ＃０及びＣＭ＃１とＤＥ＃０とが直接的に結線されている一方、ＣＥ＃０のＣＭ＃０及びＣＭ＃１とＤＥ＃１とは直接的には結線されていない。
【００５７】
このようなストレージ装置１において、例えばＣＥ＃０のＣＭ＃０が、担当するディスクグループを構成する、自ＣＭ４に直接的に結線されていないデバイス、例えばＤＥ＃１の記憶装置＃０へアクセスを行なう場合を想定する。
【００５８】
この場合、ＣＥ＃０のＣＭ＃０は、ＤＥ＃１の記憶装置＃０に直接的に結線されたＣＥ＃１のＣＭ＃０との間で通信を行ない、ＣＥ＃１のＣＭ＃０は、ＤＥ＃１の記憶装置＃０へアクセス要求に基づくアクセスを行なうことができる。一例として、図４の太線の矢印（実線）で示すように、各ＣＭ４は、以下の処理を行なうことができる。
【００５９】
ＣＥ＃０のＣＭ＃０は、ＩＦ４ｄ−２によりホスト装置６からＤＥ＃１の記憶装置＃０へのアクセス要求（Request、Ｉ／Ｏ）を受信すると、当該要求がライトＩ／Ｏの場合にはＣＰＵ４ａによりライトデータをキャッシュメモリ７に格納する。次いで、ＣＰＵ４ａは、アクセス要求に係るアクセス先のデバイスの位置情報をストレージ装置１の後述する構成情報を用いて認識し、他のＣＭ４との通信の有無を判断する。
【００６０】
ＣＥ＃０のＣＭ＃０は、自身がアクセス先のデバイスと直接的に接続されていない場合、アクセス先のデバイスと直接的に接続されている他のＣＭ４（この場合ＣＥ＃１のＣＭ＃０）を特定する。そして、ＣＥ＃０のＣＭ＃０（以下、通信元ＣＭ４と表記する場合がある）は、特定したＣＥ＃１のＣＭ＃０（以下、通信先ＣＭ４と表記する場合がある）との間でＩＦ４ｄ−１により通信を行なう。このとき、通信元ＣＭ４と通信先ＣＭ４との間で、中継装置２を介してアクセス要求に基づく情報が転送される。
【００６１】
通信先ＣＭ４は、通信元ＣＭ４から受信した情報をＣＰＵ４ａにより通信用メモリ８に格納する。そして、通信先ＣＭ４は、通信用メモリ８に格納した情報を用いて、ＣＰＵ４ａからＩＦ４ｄ−３（ＩＯＣ４ｇ及びＥＸＰ４ｈ）を介してアクセス先のデバイスであるＤＥ＃１の記憶装置＃０へアクセス要求に基づくアクセスを行なう。
【００６２】
通信先ＣＭ４による記憶装置＃０へのアクセスが完了すると、図４の太線の矢印（一点鎖線）で示すように、通信先ＣＭ４は、ＣＰＵ４ａによりＩＦ４ｄ−１及び中継装置２を介して通信元ＣＭ４のＣＰＵ４ａへアクセスの完了を通知し、アクセス処理が完了する。
【００６３】
なお、アクセス先のデバイスがＣＥ＃０のＣＭ＃０と直接的に接続されているデバイス、例えばＤＥ＃０の記憶装置＃０である場合には、既知の手法によりアクセス先のデバイスへアクセスを行なうことができる。
【００６４】
例えば、図４の太線の矢印（破線）で示すように、ＣＥ＃０のＣＭ＃０のＣＰＵ４ａは、キャッシュメモリ７に格納した情報を用いて、ＣＰＵ４ａからＩＦ４ｄ−３を介してアクセス先のデバイスであるＤＥ＃０の記憶装置＃０へアクセス要求に基づくアクセスを行なう。
【００６５】
なお、アクセス要求がリード要求である場合、アクセス先のデバイスから読み出されたデータは、図４の太線の矢印（実線）の向きとは逆の方向に、通信先ＣＭ４の通信用メモリ８から通信元ＣＭ４のキャッシュメモリ７へ転送され、ホスト装置６へ送信される。
【００６６】
以上のように、一実施形態に係るストレージ装置１では、図１５に例示するストレージ装置１００と同様に、いずれのＣＭ４からも全ての（任意の）デバイスへアクセスを行なうことができる。
【００６７】
図５に示すように、ＣＭ４は、上述したアクセス処理を実現するため、例示的に、情報格納部４０、ホスト側通信部４１、転送判定部４２、コマンド生成部４３、ＣＭ側通信部４４、及びデバイス側通信部４５をそなえることができる。これらの機能は、ＣＰＵ４ａが実行する制御プログラム１０により実現されてもよい。
【００６８】
情報格納部４０は、ＣＭ４のアクセス処理に係る種々の情報を格納することができる。情報格納部４０は、例えば図１〜図３に示すメモリ４ｂの少なくとも一部の記憶領域を用いることにより実現されてもよい。
【００６９】
図５に示すように、情報格納部４０は、例示的に、キャッシュメモリ４０ａ、構成情報格納部４０ｂ、コマンド格納部４０ｃ、及び通信用メモリ４０ｄとして用いられる記憶領域を確保することができる。キャッシュメモリ４０ａ、構成情報格納部４０ｂ、コマンド格納部４０ｃ、及び通信用メモリ４０ｄの説明は、ＣＭ４の各機能ブロックの説明の中で行なう。
【００７０】
ホスト側通信部４１は、ホスト装置６との間で種々のコマンドやデータ等の情報の通信を行なうことができる。ホスト側通信部４１は、例えば図３に示すＣＰＵ４ａ及びＩＦ４ｄ−２の少なくとも一部の機能により実現することができる。
【００７１】
例えば、ホスト側通信部４１は、ホスト装置６からのアクセス要求を受信する受信処理、及び、ホスト装置６へのアクセス要求に対する応答を行なう送信処理を行なうことができる。なお、ホスト装置６からのアクセス要求には、ライトＩ／ＯやリードＩ／Ｏ等のアクセス種別、アクセス先の論理ボリューム及びアドレス、並びにライトＩ／Ｏの場合はライトデータが含まれてもよい。
【００７２】
ホスト側通信部４１は、ホスト装置６との間の通信においてキャッシュメモリ４０ａを用いることができる。キャッシュメモリ４０ａは、例えばホスト側通信部４１とホスト装置６との間で送受信される情報を格納することができる。
【００７３】
一例として、ホスト側通信部４１は、受信処理においてホスト側通信部４１からアクセス要求を受信すると、当該アクセス要求を転送判定部４２へ通知することができる。このとき、ホスト側通信部４１は、ホスト装置６から受信したＤＥ５へのアクセス要求がライトＩ／Ｏの場合はデータ（ライトデータ）４１０をキャッシュメモリ４０ａに格納することができる。
【００７４】
なお、ＣＭ４が例えばライトバック（Write Back）による記憶装置５１への書き込みを行なう場合、ホスト側通信部４１は、アクセス要求を受信しライトデータをキャッシュメモリ４０ａへ格納すると、ホスト装置６へ応答を返してもよい。
【００７５】
また、ホスト側通信部４１は、送信処理において、アクセス要求がリードＩ／Ｏの場合は後述する処理によってキャッシュメモリ４０ａに格納されたデータ（リードデータ）４１０を、アクセス要求に対する応答とともにホスト装置６へ送信することができる。
【００７６】
さらに、ホスト側通信部４１は、アクセス先に対する処理が完了したことをＣＭ側通信部４４又はデバイス側通信部４５から通知されると、キャッシュメモリ４０ａに格納されたデータ４１０を解放可能状態とすることができる。解放可能状態は、キャッシュメモリ４０ａにおいてこれらの情報が削除（上書き）され得る状態である。解放可能状態になった情報は、例えばキャッシュメモリ４０ａの運用におけるLeast Recently Used（ＬＲＵ）やラウンドロビン等のキャッシュ制御において削除対象となり得る。
【００７７】
転送判定部４２は、ホスト側通信部４１から通知されたアクセス要求に基づく情報を他のＣＭ４へ転送するか否かを判定する判定処理を行なうことができる。判定処理は、転送すると判定した場合に転送先のＣＭ４（通信先ＣＭ４）を特定する処理を含んでよい。転送判定部４２は、判定処理において、構成情報格納部４０ｂが格納する情報を用いることができる。
【００７８】
構成情報格納部４０ｂは、例示的に、ディスクグループ情報４２０及び論理ボリューム情報４３０を保持（格納）することができる。
【００７９】
ディスクグループ情報４２０は、ストレージ装置１において設定された複数の記憶装置５１のグループを管理する情報の一例である。例えばディスクグループ情報４２０には、ＲＡＩＤグループを管理する情報が設定されてもよい。以下、ディスクグループがＲＡＩＤグループであるものとして説明する。
【００８０】
図６にディスクグループ情報４２０の一例を示す。ディスクグループ情報４２０には、例示的に、ＲＡＩＤグループ番号、ＲＡＩＤレベル、ＲＡＩＤグループの構成ディスク数、構成ディスク、Logical Unit Number（ＬＵＮ）数、及びＬＵＮ番号が含まれてもよい。なお、ディスクグループ情報４２０は、ＲＡＩＤグループごとに設定されてもよい。
【００８１】
一例として、図６に示すディスクグループ情報４２０の各項目には、それぞれ“ＲＡＩＤグループ＃００”、“ＲＡＩＤ１”、“２台”、“ＤＥ＃００  Ｓｌｏｔ＃００及びＤＥ＃１０  Ｓｌｏｔ＃０１”、“２個”、並びに“ＬＵＮ＃００及びＬＵＮ＃０１”が設定されている。
【００８２】
ＲＡＩＤグループ番号はＲＡＩＤグループを識別するための情報であり、ＲＡＩＤレベルはＲＡＩＤグループがどのＲＡＩＤレベルで構築されているかを示す。構成ディスク数はＲＡＩＤグループを構成するディスク、例えば記憶装置５１の数を示し、構成ディスクはＲＡＩＤグループを構成するディスクの設置場所（アドレス）を示す情報である。例えば構成ディスクは、記憶装置５１を格納するＤＥ５番号と当該ＤＥ５において記憶装置５１が搭載されるスロットの番号（スロット位置）とにより表されてもよい。ＬＵＮ数はＲＡＩＤグループに設定されたＬＵＮの数を示し、ＬＵＮ番号はＬＵＮを識別するための情報である。なお、ＬＵＮは論理ボリュームの一例であり、ＲＡＩＤグループを分割して得られる管理上のボリューム単位である。
【００８３】
論理ボリューム情報４３０は、ディスクグループに設定された論理ボリュームを管理する情報の一例である。例えば論理ボリューム情報４３０には、ＬＵＮを管理する情報が設定されてもよい。以下、論理ボリュームがＬＵＮであるものとして説明する。
【００８４】
図７に論理ボリューム情報４３０の一例を示す。論理ボリューム情報４３０には、例示的に、ＬＵＮ番号、ＲＡＩＤグループ番号、及びホストＩ／Ｆが含まれてもよい。なお、論理ボリューム情報４３０は、ＬＵＮごとに設定されてもよい。
【００８５】
一例として、図７に示す論理ボリューム情報４３０の各項目には、それぞれ“ＬＵＮ＃００”、“ＲＡＩＤグループ＃００”、並びに“ＣＥ＃００  ＣＭ＃００  ＣＡ＃００及びＣＥ＃０１  ＣＭ＃００  ＣＡ＃００”が設定されている。
【００８６】
ＬＵＮ番号はＬＵＮを識別するための情報であり、ディスクグループ情報４２０に設定されたＬＵＮ番号に対応する。ＲＡＩＤグループ番号はＬＵＮに対応するＲＡＩＤグループのＲＡＩＤグループ番号（図６参照）を示す。ホストＩ／Ｆは、ＬＵＮへアクセスするためのアクセス要求の宛先のインタフェースを示す情報である。ホストＩ／Ｆは、例えばＣＭ４のインタフェース部４ｄ−２の一例であるチャネルアダプタ（ＣＡ）であってもよい。
【００８７】
また、ＣＭ４は、論理ボリューム情報４３０又はこれに類する情報をホスト装置６に提供することができる。これにより、ホスト装置６はアクセスを行ないたいディスクグループの論理ボリュームについて、アクセス要求を発行する宛先となるインタフェース（ＣＥ３、ＣＭ４、及びインタフェース部４ｄ（例えばＣＡ））を特定することができる。一例として、ホスト装置６は、論理ボリューム情報４３０に基づき、ＣＥ＃００のＣＭ＃００（論理ボリュームの担当ＣＭ４）のＣＡ＃００に対して、ＬＵＮ＃００へのアクセスを行なうためのアクセス（Ｉ／Ｏ）を要求することができる。
【００８８】
なお、上述したディスクグループ情報４２０及び論理ボリューム情報４３０は、図６及び図７の例ではテーブル形式で表しているが、実際にはＣＰＵ４ａにより配列等の形式で扱われてもよい。
【００８９】
ＣＭ４は、ディスクグループ情報４２０及び論理ボリューム情報４３０により、複数のＣＭ４の各々と複数のＤＥ５の各々との間の接続関係を管理することができる。なお、ディスクグループ情報４２０及び論理ボリューム情報４３０は、ストレージ装置１においてディスクグループや論理ボリュームの作成、変更、削除等が行なわれる際に、例えばＣＭ４等によって作成や更新が行なわれてもよい。
【００９０】
図５の説明に戻り、転送判定部４２は、ホスト側通信部４１から通知されたアクセス要求と、構成情報格納部４０ｂに格納されたディスクグループ情報４２０及び論理ボリューム情報４３０とに基づき、判定処理を行なうことができる。
【００９１】
例えば転送判定部４２は、判定処理において、論理ボリューム情報４３０を参照し、アクセス要求に含まれるＬＵＮの情報、例えばＬＵＮ番号に対応するＲＡＩＤグループ番号を取得することができる。そして、転送判定部４２は、取得したＲＡＩＤグループ番号に対応するディスクグループ情報４２０から構成ディスクの情報を取得し、アクセス要求に係るアクセス先の記憶装置５１の情報を取得することができる。
【００９２】
以上のような処理により、転送判定部４２は、アクセス先の記憶装置５１に係る構成情報等を参照して、自身のＣＭ４に当該記憶装置５１が接続されているか否かを判定することができる。例えば転送判定部４２は、自身のＣＭ４にアクセス先の記憶装置５１が接続されていると判定した場合、他のＣＭ４への通信（転送）は行なわないと判定すればよい。また、転送判定部４２は、自身のＣＭ４に当該記憶装置５１が接続されていないと判定した場合、当該記憶装置５１に接続された他のＣＭ４への通信（転送）を行なうと判定すればよい。
【００９３】
一例として、ホスト装置６がＣＥ＃００のＣＭ＃００に対してＬＵＮ＃００へのアクセス要求を発行した場合、ＣＥ＃００のＣＭ＃００の転送判定部４２は、論理ボリューム情報４３０を参照し、ＬＵＮ＃００からＲＡＩＤグループ＃００を割り出す。そして、転送判定部４２は、ＲＡＩＤグループ＃００に対応するディスクグループ情報４２０を参照して、“ＤＥ＃００  Ｓｌｏｔ＃００”及び“ＤＥ＃１０  Ｓｌｏｔ１０”を取得する。このとき、転送判定部４２は、アクセス先が“ＤＥ＃００  Ｓｌｏｔ＃００”の記憶装置５１である場合、例えば自身のＣＭ４と結線されていると判断し、他のＣＭ４との通信は不要と判定する。一方、アクセス先が“ＤＥ＃１０  Ｓｌｏｔ＃１０”の記憶装置５１である場合、例えば自身のＣＭ４と結線されていないと判断し、他のＣＭ４との通信を行なうと判定する。
【００９４】
また、転送判定部４２は、判定処理が完了すると、判定処理において取得したアクセス先の記憶装置５１の情報をコマンド生成部４３に通知することができる。この通知には、判定処理に用いたアクセス要求の情報の少なくとも一部が含まれてもよい。なお、判定処理において当該記憶装置５１が他のＣＭ４と結線されていると判定した場合、この通知には、当該他のＣＭ４（通信先ＣＭ４）の情報が含まれてもよい。
【００９５】
このように、転送判定部４２によれば、図１に示すようにＤＥ５に接続されるＣＥ３（ＣＭ４）が限定されている（全てのＣＭ４に接続されていない）状態であっても、各ＣＭ４はＤＥ５にいずれのＣＭ４が接続されているかを判断することができる。
【００９６】
以上のことから、構成情報格納部４０ｂに格納されたディスクグループ情報４２０及び論理ボリューム情報４３０は、複数のＣＭ４の各々と、複数のＤＥ５の各々との間の接続関係に関する接続情報の一例である。
【００９７】
また、転送判定部４２は、複数のＤＥ５のうちの第１のＤＥ５に対する第１のアクセス要求に応じて、情報格納部４０が格納する接続情報に基づき、第１のＤＥ５を担当する第２のＣＭ４を特定する特定部の一例である。なお、「担当する」とは、一実施形態においては、当該第２のＣＭ４が当該第１のＤＥ５に直接的に又は縦列接続された他のＤＥ５を介して間接的に、ケーブル等を介して物理的に接続されていることが含まれ得る。
【００９８】
コマンド生成部４３は、ＣＭ４からＤＥ５へ発行される制御コマンド４４０を生成して情報格納部４０へ格納する生成部の一例である。例えばコマンド生成部４３は、生成した制御コマンド４４０をコマンド格納部４０ｃに格納してもよい。
【００９９】
制御コマンド４４０は、ライトＩ／Ｏの場合のデータ４１０とともに、アクセス要求に基づく情報の一例である。制御コマンド４４０は、ＣＭ４から記憶装置５１へのライト指示やリード指示を行なうために用いられるコマンドであってもよい。制御コマンド４４０としては、記憶装置５１で用いられる仕様に準拠したコマンド、例えばＳＣＳＩコマンドが挙げられる。
【０１００】
制御コマンド４４０には、ライトＩ／Ｏ又はリードＩ／Ｏ等の種々の制御内容、アクセス先のアドレス等の少なくとも１つが含まれてもよい。なお、ライト要求の場合、制御コマンド４４０には、ライトデータ（データ４１０）の情報、例えばキャッシュメモリ４０ａ内でのデータ４１０の格納アドレス等の情報がリンク（対応付け）されてもよい。
【０１０１】
コマンド生成部４３は、例えばホスト装置６からＤＥ５（記憶装置５１）へのアクセス要求を受信した場合等に、制御コマンド４４０を生成することができる。
【０１０２】
一例として、コマンド生成部４３は、転送判定部４２において判定処理が完了した場合に転送判定部４２から通知される情報に基づき、アクセス先の記憶装置５１に対する制御コマンド４４０を生成することができる。このとき、コマンド生成部４３は、アクセス先の記憶装置５１が自身のＣＭ４と結線されているか否かの判定結果に関わらず（他のＣＭ４との通信の有無に関わらず）、制御コマンド４４０を生成してもよい。
【０１０３】
換言すれば、コマンド生成部４３は、自身のＣＭ４に接続されたＤＥ５へ送信する制御コマンド４４０の他に、他のＣＭ４が当該他のＣＭ４に接続されたＤＥ５へ送信する制御コマンドであってアクセス要求に応じた制御コマンドを生成することができる。
【０１０４】
コマンド生成部４３は、制御コマンド４４０を生成してコマンド格納部４０ｃに格納すると、制御コマンド４４０の情報（例えばコマンド格納部４０ｃでの格納アドレス）をＣＭ側通信部４４又はデバイス側通信部４５へ通知することができる。例えばコマンド生成部４３は、制御コマンド４４０の情報を、自身のＣＭ４に接続された記憶装置５１宛であればデバイス側通信部４５へ通知し、他のＣＭ４に接続された記憶装置５１宛であればＣＭ側通信部４４へ通知することができる。
【０１０５】
なお、ここまで、制御コマンド４４０がコマンド格納部４０ｃに格納されるものとして説明したが、これに限定されるものではなく、例えば制御コマンド４４０はキャッシュメモリ４０ａに格納されてもよい。換言すれば、キャッシュメモリ４０ａ及びコマンド格納部４０ｃは、図４に示すキャッシュメモリ７の一例である。
【０１０６】
ＣＭ側通信部４４は、ストレージ装置１における他のＣＥ３にそなえられたＣＭ４との間で、中継装置２を介した情報の通信を行なうことができる。ＣＭ側通信部４４は、例えば図３に示すＣＰＵ４ａ及びＩＦ４ｄ−１の少なくとも一部の機能により実現することができる。
【０１０７】
例えばＣＭ側通信部４４は、図１５に例示するストレージ装置１００と同様に、ＦＲＴ２１を介して、ＣＭ間情報通信により、ＣＭ４間で装置の構成情報等の同期を取ったり、他のＣＭ４への処理の依頼等を行なうことができる。なお、ＣＭ間情報通信は、例えばDirect Memory Access（ＤＭＡ）転送の技術を用いた通信機能により実現されてもよい。
【０１０８】
また、一実施形態に係るストレージ装置１において、ＣＭ側通信部４４は、ＣＭ４間でアクセス要求に基づく情報の転送（通信）を行なうことができる。例えばＣＭ側通信部４４は、当該情報の転送において、ＣＭ間情報通信と同様のＤＭＡを用いた通信を行なうことで、ＣＭ４間でのユーザデータの移行を実現することができる。
【０１０９】
ここで、ＣＭ側通信部４４は、アクセス要求に基づく情報を送信する側（通信元）、及び、当該情報を受信する側（通信先）の少なくとも一方、好ましくは双方の機能を有することができる。
【０１１０】
以下、図８を参照して、通信元ＣＭ４及び通信先ＣＭ４の各々におけるＣＭ側通信部４４の処理の一例について説明する。なお、図８では、図の簡略化のため、図４と比較して一部の構成、例えばホスト装置６、ＣＭ＃１、ＣＭ＃０内のメモリ４ｂ以外の構成、並びに装置間の冗長化された配線等の図示を省略している。
【０１１１】
・通信元ＣＭ４のＣＭ側通信部４４について
通信元ＣＭ４のＣＭ側通信部４４は、コマンド生成部４３からの通知に応じて、コマンド格納部４０ｃに格納された制御コマンド４４０及びライトＩ／Ｏの場合はデータ４１０を通信先ＣＭ４へ転送する通信元処理を行なうことができる。
【０１１２】
通信元処理には、通信先ＣＭ４に対し制御コマンド４４０及びライトＩ／Ｏの場合はデータ４１０を中継装置２を介して転送する転送制御と、制御コマンド４４０に基づくアクセスの完了通知を通信先ＣＭ４から受信する受信制御とが含まれてもよい。
【０１１３】
上述のように、ＣＭ側通信部４４は、ＣＭ間情報通信のようにアクセス要求に基づく情報を通信先ＣＭ４へＤＭＡを用いて転送することができる。従って、ＣＭ側通信部４４による通信先ＣＭ４との通信では、通信元ＣＭ４又は通信先ＣＭ４の情報格納部４０に対する、通信相手のＣＭ４によるＤＭＡを用いたアクセスが許容されてもよい。
【０１１４】
例えばＣＭ側通信部４４は、データの転送元として、データの転送先のメモリに対してデータを直接的に書き込む（ＤＭＡ転送する）ことができる。なお、ＣＭ側通信部４４は、データの転送先として、データの転送元のメモリから転送された（ＤＭＡ転送された）当該データを自身のＣＭ４内のメモリに書き込んでもよい。以下、図８に示すように、ＣＭ側通信部４４が転送制御においてＤＭＡ転送により通信先ＣＭ４のメモリ４ｄにデータを書き込む場合を例に挙げて説明するが、いずれの機能が用いられてもよい。
【０１１５】
一例として、ＣＭ側通信部４４は、転送制御において、通信先ＣＭ４に対して、中継装置２を介して情報の送信通知を送信することができる。送信通知は、例えば、コマンド格納部４０ｃが格納する制御コマンド４４０及びライトＩ／Ｏの場合はキャッシュメモリ４０ａが格納するデータ４１０を中継装置２を介して転送することを通知するものであってもよいし、これらの情報を取得することを通信先ＣＭ４へ指示するものであってもよい。また、送信通知は、取得した制御コマンド４４０を用いてアクセス先の記憶装置５１へアクセスすることを通信先ＣＭ４へ指示することを含んでもよい。
【０１１６】
なお、送信通知には、コマンド格納部４０ｃにおいて制御コマンド４４０が格納されたアドレス、及びアクセス要求がライトＩ／Ｏの場合には制御コマンド４４０にリンクされたキャッシュメモリ４０ａ内のデータ４１０の格納アドレスが含まれてもよい。
【０１１７】
或いは、ＣＭ側通信部４４は、制御コマンド４４０を送信通知に含めて通信先ＣＭ４へ送信してもよい。この場合、送信通知には、コマンド格納部４０ｃが格納する制御コマンド４４０を取得することの指示を含まなくてもよい。
【０１１８】
このように、ＣＭ側通信部４４は、中継装置２を介して、転送判定部４２が特定した通信先ＣＭ４に対し、第１のアクセス要求に基づくＤＥ５へのアクセスを指示する通信部の一例である。
【０１１９】
また、ＣＭ側通信部４４は、通信先ＣＭ４に対して中継装置２を介し、通信元ＣＭ４が生成した制御コマンド４４０を用いた記憶装置５１へのアクセスを指示することができるため、ＣＭ４と結線されていない記憶装置５１に対するアクセスを間接的に実現することができる。
【０１２０】
さらに、ＣＭ側通信部４４は、通信元ＣＭ４が格納する情報を通信先ＣＭ４がそなえる後述する通信用メモリ４０ｄに直接的に転送して（ＤＭＡ転送して）書き込むことができる。これにより、通信元ＣＭ４は、送信通知（及び情報）の送信後は通信先ＣＭ４から完了通知を受信するまでリソースを他の処理に割り当てることができる。また、通信先ＣＭ４は、ＤＭＡ転送により情報を取得するため、ＣＰＵ４ａ等は転送の完了を待つといった待機時間を減少させ、効率的に記憶装置５１へのアクセスを行なうことができる。
【０１２１】
ＣＭ側通信部４４は、転送制御において、上述した送信通知を通信先ＣＭ４へ送信すると、通信先ＣＭ４からの制御コマンド４４０に基づくアクセスの完了通知の受信を待ち受ける受信制御に遷移してもよい。
【０１２２】
アクセス要求がライトＩ／Ｏである場合、ＣＭ側通信部４４は、受信制御において、通信先ＣＭ４から制御コマンド４４０に基づく記憶装置５１へのアクセスの完了通知を受信すると、ホスト側通信部４１へ通知を行ない、キャッシュメモリ４０ａに格納されたデータ４１０を解放可能状態にさせてもよい。
【０１２３】
アクセス要求がリードＩ／Ｏである場合、ＣＭ側通信部４４は、受信制御において、通信先ＣＭ４から応答データ（リードデータ）を受信することができる。通信先ＣＭ４から通信元ＣＭ４へのリードデータの転送も、上述したＣＭ間情報通信のように、ＤＭＡを用いて行なわれてもよい。
【０１２４】
リードデータの転送は、ＣＭ側通信部４４が、通信先ＣＭ４の通信用メモリ４０ｄ内のデータ４５０を転送により（ＤＭＡ転送により）キャッシュメモリ４０ａに直接的に書き込んでもよい。また、通信先ＣＭ４が通信元ＣＭ４のキャッシュメモリ４０ａにリードデータを直接的に転送して（ＤＭＡ転送して）書き込んでもよい。なお、転送されたリードデータは、データ４１０としてキャッシュメモリ４０ａに格納されてもよい。
【０１２５】
例えばＣＭ側通信部４４は、通信先ＣＭ４から通信先ＣＭ４の情報格納部４０（通信用メモリ４０ｄ）におけるリードデータ（データ４５０）の格納アドレスを通知されると、当該格納アドレスからＤＭＡ転送されたリードデータをキャッシュメモリ４０ａに書き込んでもよい。
【０１２６】
或いは、通信先ＣＭ４が、通信元ＣＭ４のキャッシュメモリ４０ａのアドレス（リードデータの格納（予定）アドレス）に対して、ＤＭＡ転送によりリードデータを書き込んでもよい。このＤＭＡ先のアドレスは、例えば通信元ＣＭ４が予め（例えば送信通知で）通信先ＣＭ４へ指示されてもよい。
【０１２７】
リードデータが転送され、完了通知を受信すると、ＣＭ側通信部４４は、ホスト側通信部４１に対して、キャッシュメモリ４０ａのデータ４１０を応答データとしてホスト装置６へ送信（応答）することの指示を行なうことができる。
【０１２８】
なお、ＣＭ４が例えばライトスルー（Write Through）による記憶装置５１への書き込みを行なう場合、ＣＭ側通信部４４は、通信先ＣＭ４から完了通知を受信すると、ホスト側通信部４１にアクセス要求に対するホスト装置６への応答を指示してもよい。
【０１２９】
このように、通信元ＣＭ４では、通信先ＣＭ４へアクセス要求に基づく情報を転送しても、ホスト装置６への応答は自身のＣＭ４で行なうことができる。これにより、ストレージ装置１は、ホスト装置６に対して、例えば図１５に示すストレージ装置１００と同様のインタフェースを提供することができる。
【０１３０】
・通信先ＣＭ４のＣＭ側通信部４４について
通信先ＣＭ４のＣＭ側通信部４４は、通信元ＣＭ４から受信する送信通知に応じて、通信元ＣＭ４から制御コマンド４４０等を取得し、取得した制御コマンド４４０等に基づきアクセス先の記憶装置５１へアクセスする通信先処理を行なうことができる。
【０１３１】
通信先処理には、通信元ＣＭ４から受信する送信通知に応じて、通信元ＣＭ４から制御コマンド４４０と、データ４１０（ライトＩ／Ｏの場合）とを取得する取得制御が含まれてもよい。また、通信先処理には、取得した制御コマンド４４０を用いてアクセス先の記憶装置５１へアクセスし、アクセス結果に基づき完了通知（応答）を通信元ＣＭ４へ送信するアクセス制御が含まれてもよい。
【０１３２】
ＣＭ側通信部４４は、取得制御において、通信元ＣＭ４から受信する送信通知に応じて、送信通知に含まれるコマンド格納部４０ｃのアドレスへ中継装置２を介してＤＭＡを用いたアクセスを行なうことができる。これにより、ＣＭ側通信部４４は、通信元ＣＭ４から制御コマンド４４０を取得することができる（図８の「送信通知orＤＭＡ」の矢印参照）。
【０１３３】
また、アクセス要求がライトＩ／Ｏの場合には、ＣＭ側通信部４４は、取得制御において、通信元ＣＭ４からデータ４１０がＤＭＡ転送され、通信元ＣＭ４によって、通信先ＣＭ４の通信用メモリ４０ｄにデータ４１０を書き込まれてもよい。または、ＣＭ側通信部４４は、取得制御において、制御コマンド４４０にリンクされたキャッシュメモリ４０ａのアドレスから、中継装置２を介してＤＭＡ転送されたデータ４１０を通信用メモリ４０ｄに書き込むことができる。これにより、ＣＭ側通信部４４は、通信元ＣＭ４からデータ４１０を取得することができる（図８の「ＤＭＡ（Ｗｒｉｔｅ  Ｉ／Ｏの場合）」の矢印参照）。いずれにおいても、ＣＭ側通信部４４では、例えばＩＦ４ｄ−１等のインタフェース部４ｄによって、通信用メモリ４０ｄへのデータ４１０の書き込み制御が行なわれ得るため、データ転送に係るＣＰＵ４ａの介在を省略できる。
【０１３４】
なお、ＣＭ側通信部４４は、通信元ＣＭ４から受信した送信通知に制御コマンド４４０が含まれている場合には、コマンド格納部４０ｃが格納する制御コマンド４４０を取得しなくてもよい。
【０１３５】
ＣＭ側通信部４４は、取得制御において、取得した制御コマンド４４０を通信先ＣＭ４のコマンド格納部４０ｃに格納することができる。通信用メモリ４０ｄは、例えば図４に示す通信用メモリ８の一例であって、通信元ＣＭ４と通信先ＣＭ４のＣＭ側通信部４４との間で送受信される情報を格納するバッファメモリの一例である。
【０１３６】
なお、制御コマンド４４０は、通信元ＣＭ４の環境で作成されたコマンドであるため、ライト要求の場合には、制御コマンド４４０にリンク（対応）付けられたキャッシュメモリ４０ａ内のデータ４１０のアドレスが、通信先ＣＭ４における通信用メモリ４０ｄ内のデータ４５０のアドレスと異なる場合がある。そこで、ＣＭ側通信部４４は、制御コマンド４４０に係る少なくとも一部の情報、例えばリンクするデータ４５０のアドレスを更新することが好ましい。
【０１３７】
例えば、図８に示すように、通信元ＣＭ４で生成された制御コマンド４４０は、ＣＭ＃０のキャッシュメモリ４０ａ内のデータ４１０を指定した（リンクされた）ものとなっている。この制御コマンド４４０が通信先ＣＭ４であるＣＭ＃１に転送されたとしても、リンクがＣＭ＃０のキャッシュメモリ４０ａ内のデータ４１０のままである。そこで、ＣＭ＃１のＣＭ側通信部４４は、ＣＭ＃１の通信用メモリ４０ｄ内のデータ４５０を指定するように制御コマンド４４０のリンクを修正し、リンクを修正したメモリ（コマンド格納部４０ｃ）を転送、例えば制御コマンド４４０を発信することができる。
【０１３８】
なお、図８に示すように、ＣＭ＃０で生成された制御コマンド４４０では、アクセス先としてＤＥ＃１の記憶装置＃０のアドレスが指定されている。ＣＭ＃０においては、ＣＭ＃０とＤＥ＃１とが結線されていないため実際には制御コマンド４４０に基づきアクセスできないが、当該制御コマンド４４０がＣＭ＃１に転送されることで、ＣＭ＃１において実際にＤＥ＃１の記憶装置＃０のアドレスへのアクセスが可能となっている。
【０１３９】
ＣＭ側通信部４４は、取得制御において、制御コマンド４４０（及びデータ４５０）を取得しコマンド格納部４０ｃ（及び通信用メモリ４０ｄ）に格納すると、アクセス制御に遷移してもよい。
【０１４０】
ＣＭ側通信部４４は、アクセス制御において、コマンド格納部４０ｃに格納した制御コマンド４４０等の情報、例えばコマンド格納部４０ｃ内の格納アドレスをデバイス側通信部４５へ通知し、記憶装置５１へのアクセスを指示することができる。
【０１４１】
また、ＣＭ側通信部４４は、アクセス制御において、デバイス側通信部４５による記憶装置５１へのアクセスが完了すると、中継装置２を介して完了通知とともにアクセス結果を通信元ＣＭ４へ通知することができる。
【０１４２】
なお、アクセス結果には、デバイス側通信部４５によるアクセスの実行結果の情報や、リードＩ／Ｏの場合はデバイス側通信部４５により通信用メモリ４０ｄに格納されたデータ４５０（リードデータ）等が含まれてもよい。
【０１４３】
リードＩ／Ｏの場合、ＣＭ側通信部４４は、上述のようにＤＭＡ転送を用いて、通信元ＣＭ４との間で中継装置２を介したリードデータの転送を行なうことができる。
【０１４４】
さらに、リードＩ／Ｏの場合、ＣＭ側通信部４４は、リードデータの転送が完了すると、通信用メモリ４０ｄにおいて当該リードデータ（４５０）が格納された領域を解放（例えば解放可能状態で管理）し、通信元ＣＭ４からの新規要求を受付可能な状態に管理することができる。
【０１４５】
デバイス側通信部４５は、ＣＭ４に接続された装置、例えばＤＥ５との間で、制御コマンド４４０に基づく情報の通信（アクセス）を行なうことができる。デバイス側通信部４５は、例えば図３に示すＣＰＵ４ａ及びＩＦ４ｄ−３の少なくとも一部の機能により実現することができる。
【０１４６】
例えばデバイス側通信部４５は、コマンド生成部４３又はＣＭ側通信部４４からの通知に応じて、コマンド格納部４０ｃに格納された制御コマンド４４０に基づき自身のＣＭ４に接続されたＤＥ５へのアクセスを行なうことができる。
【０１４７】
一例として、デバイス側通信部４５は、転送判定部４２において通信が不要と判定され、コマンド生成部４３から通知を受けた場合、コマンド生成部４３が生成した制御コマンド４４０（及びライトＩ／Ｏの場合はキャッシュメモリ４０ａ内のデータ４１０）を、アクセス先の記憶装置５１へ送信することができる。また、デバイス側通信部４５は、アクセス先の記憶装置５１から応答を受信すると（アクセスが完了すると）、その旨をホスト側通信部４１へ通知するとともに、リードＩ／Ｏの場合はリードデータをデータ４１０としてキャッシュメモリ４０ａに格納することができる。
【０１４８】
また、デバイス側通信部４５は、自身のＣＭ４が通信先ＣＭ４として動作し、ＣＭ側通信部４４から通知を受けた場合、コマンド格納部４０ｃに格納された制御コマンド４４０（及びライト要求の場合は通信用メモリ４０ｄ内のデータ４５０）を、アクセス先の記憶装置５１へ送信することができる。また、デバイス側通信部４５は、アクセス先の記憶装置５１から応答を受信すると（アクセスが完了すると）、その旨をＣＭ側通信部４４へ通知するとともに、リード要求の場合はリードデータをデータ４５０として通信用メモリ４０ｄに格納することができる。
【０１４９】
以上のように、一実施形態に係るストレージ装置１では、いずれのＣＭ４からも全ての（任意の）デバイスへアクセスを行なうことができる。
【０１５０】
なお、図５に示す構成は、ストレージ装置１内の複数、例えば全てのＣＭ４がそなえてもよい。これにより、いずれのＣＭ４がホスト装置６からアクセス要求を受領しても、アクセス先のＤＥ５に接続された適切なＣＭ４によって対応することができる。換言すれば、ストレージ装置１内の複数のＣＭ４は、いずれのＣＭ４も、ホスト装置６からのアクセス要求を受信可能であり、通信元ＣＭ４又は通信先ＣＭ４として機能することができる。
【０１５１】
上述したように、一実施形態に係るストレージ装置１では、通信元ＣＭ４から通信先ＣＭ４へのアクセス要求に基づく情報の通信は、中継装置２を介して行なうことができる。この中継装置２は、図１５に示すストレージ装置１００と比較して、装置（モジュール）として新たに追加されたものである。また、中継装置２の用途としても、異なるＣＥ３のＣＭ４間でのアクセス処理に係るデータ、例えばアクセス要求に基づく情報やデータ４１０又は４５０の通信を行なうことが可能となっている。
【０１５２】
これにより、ストレージ装置１では、図１５に示すストレージ装置１００と比較して、ＢＲＴ６００及びＢＲＴ６００−ＣＭ４００間の配線を省略することができ、これらの装置やケーブル等の導入や増設のコストを削減することができる。
【０１５３】
また、ＣＥ３（ＣＭ４）やＤＥ５の増設の作業では、ＣＭ４とＤＥ５とを接続し、ＣＭ４を中継装置２に接続すればよく、図１５に示すストレージ装置１００と比較して、ＣＭ４００とＢＲＴ６００との間の煩雑な接続作業等を省略し、簡単化することができる。また、ＣＭ４及びＤＥ５を同じタイミングで拡張することも容易となる。従って、ストレージ装置１は、ＣＭ４やＤＥ５を拡張する（増設する）運用（スケールアウト）に適した構成であるといえる。
【０１５４】
さらに、ストレージ装置１では、図１５に示すストレージ装置１００と比較して、ＢＲＴ６００及びＢＲＴ６００−ＣＭ４００間の配線を省略することで、ＣＭ４と一部のＤＥ５（のみ）とが直接的に接続される構成となる。このような構成においても、通信元ＣＭ４は、アクセス先の装置（例えばＤＥ５）へ、上述の如く中継装置２及び通信先ＣＭ４を介して間接的にアクセスすることができる。従って、ＣＭ４とバックエンドのデバイス（例えばＤＥ５）との接続が制限された環境においても、可用性の低下を抑制することができる。
【０１５５】
このように、一実施形態に係るストレージ装置１は、図１５に例示するストレージ装置１００と比較して、バックエンドの経路を最小限とした（簡素化した）装置構成としながら、いずれのＣＭ４からも全ての（任意の）バックエンドデバイスへ直接的に、又は、中継装置２を介して間接的にアクセスを行なうことができる。
【０１５６】
なお、図１５に例示するストレージ装置１００では、ＤＥ５００へのアクセスは対応する（冗長化された）ＢＲＴ６００を介して行なわれるため、ＢＲＴ６００の多重（二重）故障が発生した場合には、対応するＤＥ５００のアクセスが困難となり得る。
【０１５７】
これに対し、ストレージ装置１では、ＢＲＴ６００を省略できるため、ＢＲＴ６００の故障の影響を無視することができる。一方、ストレージ装置１では、上述の如く一部のアクセス経路が他のＣＥ３内のＣＭ４を経由するものとなり、当該アクセス経路の耐障害性が可用性に影響してくる。しかし、当該アクセス経路の耐障害性は、中継装置２内のＦＲＴ２１やＣＥ３内のＣＭ４の冗長度に応じて高めることができるため、ストレージ装置１００と同等の可用性とすることが可能である。
【０１５８】
例えばＣＥ３によっては３つ以上のＣＭ４を搭載することもでき、図１５に例示するストレージ装置１００においてＢＲＴ６００及び配線を１つのＤＥ５００につき３つ以上設けるよりも容易に可用性を高めることができる。また、中継装置２は装置（モジュール）としてストレージ装置１にそなえられるため、ＦＲＴ２１等の障害発生時には、該当ＦＲＴ２１の交換等を行なうことで復旧を容易に行なうことができ、保守性が高いといえる。
【０１５９】
以上のように、一実施形態に係るストレージ装置１によれば、ストレージ装置１の可用性の低減を抑制しつつ拡張性を向上させることができる。
【０１６０】
また、一実施形態に係るＣＭ４は、ホスト装置６からアクセス要求を受信した場合に用いるキャッシュメモリ４０ａと、自身のＣＭ４が通信先ＣＭ４として機能する場合に用いる通信用メモリ４０ｄとをそなえることができる。このように、ＣＭ４は、通信用のバッファとして用いる通信用メモリ４０ｄを、キャッシュメモリ４０ａとは別のメモリ領域で管理することができる。
【０１６１】
従って、ＣＭ４間の通信でキャッシュメモリ４０ａを占有し、ホスト装置６からのアクセス要求を受け付けできない（Ｉ／Ｏ性能を低下させる）といった事態を避けることができ、Ｉ／Ｏ性能の低下を抑制することができる。なお、キャッシュメモリ４０ａ及び通信用メモリ４０ｄは、いずれもメモリ４ｂの記憶領域上に確保することができる。従って、ＣＭ４では、比較的大容量のメモリ４ｂを搭載することが好ましい。
【０１６２】
さらに、一実施形態に係るストレージ装置１では、ホスト装置６からのＩ／Ｏを受信した（主担当の）ＣＭ４（通信元ＣＭ４）が、自身のＣＭ４に直接接続されたデバイスか、他のＣＭ４に接続されたデバイスかに関わらず、デバイスにアクセスするためのコマンド（制御コマンド４４０）を生成することができる。また、他のＣＭ４（通信先ＣＭ４）は、主担当のＣＭ４が生成したコマンドをデバイスに発行することができる。これにより、以下の（ｉ）及び（ii）に示す効果を奏することができる。
【０１６３】
（ｉ）シーケンシャルアクセスの判断を行なう主体を一元化することができる。
ホスト装置６からシーケンシャルリードのＩ／Ｏを受信した場合、ＣＭ４は、シーケンシャル性を検知しデータを先読みするプリフェッチリードを行なうことができる。
【０１６４】
例えば通信先ＣＭ４が制御コマンド４４０を生成する場合を想定する。この場合、シーケンシャルリードＩ／Ｏのアクセス範囲によっては、通信元ＣＭ４及び通信先ＣＭ４の各々でプリフェッチリードを判断することになり、効率的なリードを行なうことが困難となる。
【０１６５】
これに対し、一実施形態に係るストレージ装置１では、制御コマンド４４０を生成するＣＭ４がプリフェッチリードの判断を一括で（一元化して）管理することができるため、効率的なリードを実現することができる。
【０１６６】
（ii）ディスク性能情報の管理を一元化することができる。
ＲＡＩＤ装置においては、ＲＡＩＤグループの性能をチューニングできる機能をそなえていることが多い。このようなチューニングでは、ＲＡＩＤグループの性能がディスクアクセスを行なうＣＭ４に集約される（一元管理される）ことが好ましい。
【０１６７】
例えばストレージ装置外へのＩ／Ｆ（経路）によってＣＥ間の通信を行なうような場合、通信元のＣＥは一般規格、例えばＳＣＳＩ等に従った必要最小限のコマンドを発行することになり、ディスク性能情報のような多くの情報をＣＥ（ＣＭ）間で交換することが困難になり得る。
【０１６８】
これに対し、一実施形態に係るストレージ装置１では、複数のＣＥ３間（筐体間）の通信が中継装置２を介して行なわれる。これにより、ＣＭ４間で自由なフォーマットでの通信を行なうことができるため、制御コマンド４４０を生成する（主担当の）ＣＭ４にディスク性能情報をまとめることができ、ＲＡＩＤグループの性能チューニングを容易に行なうことができる。
【０１６９】
〔１−４〕ストレージ装置の動作例
次に、上述の如く構成されたストレージ装置１においてホスト装置６からアクセス要求が発行された場合の動作例を、図９〜図１４を参照して説明する。なお、以下の説明では、処理を行なうＣＭ４を、他のＣＭ４へ通信を行なわない場合でも、便宜上、通信元ＣＭ４と表記する。
【０１７０】
〔１−４−１〕ライト要求に対する処理
はじめに、図９〜図１１を参照して、ホスト装置６からライト要求が発行される場合のＣＭ４の処理について説明する。図９及び図１０は、それぞれホスト装置６からライト要求が発行される場合の通信元ＣＭ４及び通信先ＣＭ４の処理の一例を説明するフローチャートであり、図１１は、図９及び図１０に示す処理の手順の一例を説明するシーケンス図である。なお、以下の図９及び図１０に示す各処理ステップの説明において、対応する図１１の処理シーケンスを併記する場合がある。
【０１７１】
図９に示すように、通信元ＣＭ４のホスト側通信部４１は、ホスト装置６からアクセス要求（ライト要求）を受信すると（ステップＳ１；図１１の処理Ｔ１及びＴ２）、キャッシュメモリ４０ａへライト要求に係るデータ４１０を格納する（ステップＳ２；処理Ｔ３）。また、ＣＭ４がライトバックを行なう場合、ホスト側通信部４１はホスト装置６へ応答を返す（ステップＳ３；処理Ｔ４）。
【０１７２】
次いで、ホスト側通信部４１は、ライト要求に応じて、キャッシュメモリ４０ａからアクセス先のデバイス（例えば記憶装置５１）へのデータ転送処理（Writeback；ライトバック）を起動する（ステップＳ４；処理Ｔ５）。データ転送処理では、転送判定部４２がライト要求と、ディスクグループ情報４２０及び論理ボリューム情報４３０とに基づき、他のＣＭ４へ通信を行なうか否かを判定する（ステップＳ５）。
【０１７３】
転送判定部４２が他のＣＭ４への通信を行なわないと判定した場合（ステップＳ５のＮｏルート）、通信元ＣＭ４にはアクセス先の記憶装置５１が結線されていることを意味する。この場合、コマンド生成部４３が制御コマンド４４０を生成し、デバイス側通信部４５が制御コマンド４４０を記憶装置５１へ発行することで、記憶装置５１へのライト要求の送信が行なわれ（ステップＳ６）、処理がステップＳ８に移行する。
【０１７４】
一方、転送判定部４２が他のＣＭ４への通信を行なうと判定した場合（ステップＳ５のＹｅｓルート）、通信元ＣＭ４にはアクセス先の記憶装置５１が結線されていないことを意味する。この場合、転送判定部４２は、アクセス先の記憶装置５１が結線されている通信先ＣＭ４を特定する。そして、コマンド生成部４３が制御コマンド４４０を生成し、ＣＭ側通信部４４が通信先ＣＭ４へ通信を行なう（ライト要求（送信通知）を送信する）（ステップＳ７；処理Ｔ６）。このとき、ＣＭ側通信部４４は送信通知に制御コマンド４４０を含めてもよい。
【０１７５】
図１０に示すように、ステップＳ７においては、通信先ＣＭ４の処理が行なわれる。通信先ＣＭ４のＣＭ側通信部４４は、ステップＳ７で通信元ＣＭ４から送信されたライト要求を受信する（ステップＳ１１；処理Ｔ７）。
【０１７６】
このライト要求の受信では、通信元ＣＭ４と通信先ＣＭ４との間でライトデータのＤＭＡ転送が行なわれてもよい。
【０１７７】
そして、ＣＭ側通信部４４は、通信元ＣＭ４から取得したデータ４１０をデータ４５０として通信用メモリ４０ｄへ格納する（ステップＳ１２；処理Ｔ８）。このとき、ＣＭ側通信部４４は、取得した制御コマンド４４０についてもコマンド格納部４０ｃへ格納してもよい。
【０１７８】
次いで、ＣＭ側通信部４４は、デバイス側通信部４５へ通知を行ない、デバイス側通信部４５がライト要求（制御コマンド４４０）を記憶装置５１へ送信し（ステップＳ１３；処理Ｔ９）、記憶装置５１においてデータ４５０の書き込みが行なわれる。
【０１７９】
このように、図１１の処理Ｔ６〜Ｔ９において、通信元ＣＭ４は、ＤＭＡ転送により、アクセス先の記憶装置５１への直接的なライト指示を行ない、ライトデータ４１０の格納を実行させることができる。このとき、記憶装置５１にデータ４１０が書き込まれる前に、一時的に通信先ＣＭ４においてライトデータ４１０（４５０）を通信用メモリ４０ｄに格納している。換言すれば、通信先ＣＭ４の通信用メモリ４０ｄへのアクセスを制御するキャッシュ制御部では通信用メモリ４０ｄへのライトデータ４５０の書き込み処理が行なわれ、ＩＯＣ４ｇでは制御コマンド４４０を用いた記憶装置５１へのライトデータ４２０の書き込み処理が行なわれる。
【０１８０】
これにより、通信先ＣＭ４は、通信元ＣＭ４が生成した制御コマンド４４０を用いて、通信元ＣＭ４からＤＭＡ転送されたデータ４５０を記憶装置５１へ書き込むことができる。換言すれば、アクセス要求を受領した通信元ＣＭ４は、基本的にアクセス要求に係る処理・制御を実行し、アクセス先の記憶装置５１を担当する通信先ＣＭ４は、アクセス先の記憶装置５１に対して通信元ＣＭ４に代わってアクセスを行なうものであるといえる。
【０１８１】
デバイス側通信部４５は、記憶装置５１から応答を受信すると、ＣＭ側通信部４４へ通知を行ない、ＣＭ側通信部４４は、通信用メモリ４０ｄを解放（例えば解放可能状態で管理）するとともに（ステップＳ１４；処理Ｔ１０）、通信元ＣＭ４へ通信を行なう（応答する）（ステップＳ１５；処理Ｔ１１）。そして、処理が図９に示す通信元ＣＭ４によるステップＳ８の処理に移行する。
【０１８２】
図９に示すように、ステップＳ８において、通信元ＣＭ４のＣＭ側通信部４４では、ＣＭ側通信部４４又はデバイス側通信部４５からの通知に基づき、ホスト側通信部４１がキャッシュメモリ４０ａ内のデータ４１０を解放可能状態として管理し（処理Ｔ１２）、処理が終了する。
【０１８３】
〔１−４−２〕リード要求に対する処理
次に、図１２〜図１４を参照して、ホスト装置６からリード要求が発行される場合のＣＭ４の処理について説明する。図１２及び図１３は、それぞれホスト装置６からリード要求が発行される場合の通信元ＣＭ４及び通信先ＣＭ４の処理の一例を説明するフローチャートであり、図１４は、図１２及び図１３に示す処理の手順の一例を説明するシーケンス図である。なお、以下の図１２及び図１３に示す各処理ステップの説明において、対応する図１４の処理シーケンスを併記する場合がある。
【０１８４】
図１２に示すように、通信元ＣＭ４のホスト側通信部４１は、ホスト装置６からアクセス要求（リード要求）を受信する（ステップＳ２１；図１４の処理Ｔ２１及びＴ２２）。次いで、ホスト側通信部４１は、リード要求に応じて、アクセス先のデバイス（例えば記憶装置５１）からキャッシュメモリ４０ａへのデータ転送処理（Staging；ステージング）を起動する（ステップＳ２２；処理Ｔ２３）。データ転送処理では、転送判定部４２がリード要求と、ディスクグループ情報４２０及び論理ボリューム情報４３０とに基づき、他のＣＭ４へ通信を行なうか否かを判定する（ステップＳ２３）。
【０１８５】
転送判定部４２が他のＣＭ４への通信を行なわないと判定した場合（ステップＳ２３のＮｏルート）、通信元ＣＭ４にはアクセス先の記憶装置５１が結線されていることを意味する。この場合、コマンド生成部４３が制御コマンド４４０を生成し、デバイス側通信部４５が制御コマンド４４０を記憶装置５１へ発行することで、記憶装置５１へのリード要求の送信が行なわれ（ステップＳ２４）、処理がステップＳ２６に移行する。
【０１８６】
一方、転送判定部４２が他のＣＭ４への通信を行なうと判定した場合（ステップＳ２３のＹｅｓルート）、通信元ＣＭ４にはアクセス先の記憶装置５１が結線されていないことを意味する。この場合、転送判定部４２は、アクセス先の記憶装置５１が結線されている通信先ＣＭ４を特定する。
【０１８７】
そして、コマンド生成部４３が制御コマンド４４０を生成し、ＣＭ側通信部４４が通信先ＣＭ４へ通信を行なう（リード要求（送信通知）を送信する）（ステップＳ２５；処理Ｔ２４）。このとき、ＣＭ側通信部４４は送信通知に制御コマンド４４０を含めてもよい。或いは、通信先ＣＭ４のＣＭ側通信部４４は、通信元ＣＭ４のコマンド格納部４０ｃからＤＭＡ転送により制御コマンド４４０を取得してもよい。
【０１８８】
ステップＳ２４においては、図１３に示すように、通信先ＣＭ４の処理が行なわれる。通信先ＣＭ４のＣＭ側通信部４４は、ステップＳ２５で通信元ＣＭ４から送信されたリード要求を受信する（ステップＳ３１；処理Ｔ２５）。このとき、ＣＭ側通信部４４は、取得した制御コマンド４４０をコマンド格納部４０ｃへ格納してもよい。
【０１８９】
次いで、ＣＭ側通信部４４は、デバイス側通信部４５へ通知を行ない、デバイス側通信部４５がリード要求（制御コマンド４４０）を記憶装置５１へ送信し（ステップＳ３２；処理Ｔ２６）、記憶装置５１においてリードデータの読み出しが行なわれる。
【０１９０】
デバイス側通信部４５は、記憶装置５１から応答（リードデータ）を受信すると、リードデータをデータ４５０として通信用メモリ４０ｄへ格納し（ステップＳ３３；処理Ｔ２７）、ＣＭ側通信部４４へ通知を行なう。
【０１９１】
ＣＭ側通信部４４は、例えば通信元ＣＭ４のキャッシュメモリ４０ａに対して、中継装置２を介したＤＭＡ転送により、リードデータを書き込むことができる（ステップＳ３４；処理Ｔ２８）。通信元ＣＭ４−通信先ＣＭ４間でのデータ４５０の転送が完了すると、ＣＭ側通信部４４は、通信元ＣＭ４へ応答を返す。
【０１９２】
そして、ＣＭ側通信部４４は、通信用メモリ４０ｄを解放（例えば解放可能状態で管理）し（ステップＳ３５；処理Ｔ２９）、処理が図１２に示す通信元ＣＭ４によるステップＳ２６の処理に移行する。
【０１９３】
図１２に示すように、ステップＳ２６において、通信元ＣＭ４のＣＭ側通信部４４又はデバイス側通信部４５は、通信先ＣＭ４又は記憶装置５１から取得したリードデータをデータ４１０としてキャッシュメモリ４０ａへ格納する（処理Ｔ３０）。そして、ＣＭ側通信部４４又はデバイス側通信部４５は、ホスト側通信部４１へリード要求に対する処理の完了を通知する。
【０１９４】
ホスト側通信部４１は、ＣＭ側通信部４４又はデバイス側通信部４５からの通知に基づき、ホスト装置６へリードデータとともに応答を返す（ステップＳ２７；処理Ｔ３１）。そして、ホスト側通信部４１は、キャッシュメモリ４０ａ内のデータ４１０を解放可能状態として管理し（ステップＳ２８；処理Ｔ３２）、処理が終了する。
【０１９５】
〔１−５〕変形例
〔１−５−１〕第１変形例
一実施形態に係るストレージ装置１において、通信先ＣＭ４は、通信元ＣＭ４から要求されたリードＩ／Ｏ及びライトＩ／Ｏについて、情報格納部４０にアクセス先の履歴を格納してもよい。これにより、通信元ＣＭ４から、履歴に格納されているリードＩ／Ｏ又はライトＩ／Ｏのアクセス先の領域と同じ領域へのアクセス要求（リード要求）を受信した場合、通信先ＣＭ４は、記憶装置５１へのアクセスを行なわず、通信用メモリ４０ｄから該当するデータを読み出して応答することができる。
【０１９６】
例えばＤＭＡには、問い合わせを行なう機能が含まれている。そこで、通信元ＣＭ４のＣＭ側通信部４４は、転送制御において送信通知を行なう際に、ＤＭＡの問い合わせ機能を用いて、通信先ＣＭ４に対してリード要求に対応するデータが通信用メモリ４０ｄに格納されているか否かを問い合わせる（履歴を参照して判定する）ことができる。
【０１９７】
換言すれば、通信元ＣＭ４のＣＭ側通信部４４は、通信先ＣＭ４に対して、リード要求で要求するリードデータが情報格納部４０（通信用メモリ４０ｄ）に格納されているか否かを判定することができる。そして、通信元ＣＭ４のＣＭ側通信部４４はリードデータが通信用メモリ４０ｄに格納されていないと判定した場合に、中継装置２を介して、通信先ＣＭ４に対し、リード要求に基づくアクセス対象の記憶装置５１へのアクセスを指示することができる。
【０１９８】
これにより、通信先ＣＭ４は、通信用メモリ４０ｄにリードデータが格納されている場合、リード要求に係る記憶装置５１への制御コマンド４４０の送信から、記憶装置５１からのリードデータを受信するまでの処理を省略でき、処理時間の短縮を図ることができる。従って、ホスト装置６に対するＩ／Ｏ性能を向上させることができる。
【０１９９】
〔１−５−２〕第２変形例
上述した説明では、ホスト装置６から記憶装置５１へのアクセス要求を受信した場合におけるＣＭ４間の通信について説明したが、上述したＣＭ４の動作は、ホスト装置６からアクセス要求を受信した場合に限定されるものではない。
【０２００】
上述のように、ＤＥ５は、ＣＭ４からＤＥ５に搭載された記憶装置５１へのアクセスを制御することができるＩＯＭ（図示省略）をそなえることができる。このようなストレージ装置１において、ＣＭ４は、ＤＥ５の監視を行なう監視部（図示省略）をそなえることができる。監視部は、ＣＭ４から複数のＤＥ５の各々にそなえられた各ＩＯＭに対して、ＩＯＭ自身やＤＥ５内の記憶装置５１の異常の有無の確認（生死確認）を行なってもよい。
【０２０１】
なお、ＩＯＭへアクセスを行なう（ＩＯＭの監視を行なう）ＣＭ４は、ストレージ装置１の複数のＣＥ３における複数のＣＭ４のうちのマスタＣＭ４であってもよい。マスタＣＭ４は、ホスト装置６、中継装置２、又は他のＣＭ４（スレーブＣＭ４）等からの要求に応じて、ストレージ装置１に係る種々の制御を行なうことができる。
【０２０２】
上述したＣＭ４の動作は、このようなマスタＣＭ４が起点となるＤＥ５のＩＯＭへのアクセスに対しても同様に適用することができる。
【０２０３】
例えばマスタＣＭ４（監視部）は、ＩＯＭへのアクセスを行なう際に、アクセス要求を発行し、キャッシュメモリ４０ａへ格納することができる。この場合、転送判定部４２による判定処理は、監視部からの通知に応じて、一実施形態において説明したものと同様に行なうことができる。
【０２０４】
コマンド生成部４３は、マスタＣＭ４からＩＯＭへの各種通信等を行なうために用いられ、ＩＯＭで用いられる仕様に準拠した制御コマンド４４０、例えばＳＣＳＩコマンドを生成し、コマンド格納部４０ｃに格納することができる。この制御コマンド４４０には、ＩＯＭへの問い合わせ等の種々の制御内容、アクセス先のアドレス等の少なくとも１つが含まれてもよい。
【０２０５】
コマンド生成部４３により生成された制御コマンド４４０は、一実施形態において説明したものと同様に、ＣＭ側通信部４４又はデバイス側通信部４５を介して、他のＣＭ４又はマスタＣＭ４に結線されたＤＥ５のＩＯＭへ送信されることができる。
【０２０６】
なお、ＩＯＭからの応答とともに受信される監視情報、例えばＩＯＭや記憶装置５１の状態情報は、ＣＭ側通信部４４又はデバイス側通信部４５によりキャッシュメモリ４０ａへデータ４１０として格納され、監視部へ応答の完了が通知されてもよい。
【０２０７】
これにより、マスタＣＭ４によるＤＥ５の監視の制御においても、一実施形態と同様の効果を奏することができる。
【０２０８】
〔２〕その他
以上、本発明の好ましい実施形態及び変形例について詳述したが、本発明は、かかる特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
【０２０９】
例えば、図５に示すＣＭ４の各機能ブロックは、それぞれ任意の組み合わせで併合してもよく、分割してもよい。
【０２１０】
また、ストレージ装置１内のＣＥ３及びＤＥ５の数、中継装置２内のＦＲＴ２１の数、ＣＥ３内のＣＭ４の数、ＣＭ４内のＩＦ４ｄ−１〜４ｄ−３の数、並びにＩＦ４ｄ−３のＩＯＣ４ｇ及びＥＸＰ４ｈの数は、それぞれ上述したものに限定されるものではない。これらの数は、上述した説明で述べた数未満でもよいし、多くてもよい。また、ＤＥ５の縦列接続数は４に限られるものではなく、３以下でも５以上でもよい。
【０２１１】
〔３〕付記
以上の実施形態及び変形例に関し、更に以下の付記を開示する。
【０２１２】
（付記１）
複数のデバイスへのアクセスを制御する複数の制御装置のうちの第１の制御装置であって、
前記複数の制御装置の各々と、前記複数のデバイスの各々と、の間の接続関係に関する接続情報を格納する第１の情報格納部と、
前記複数のデバイスのうちの第１のデバイスに対する第１のアクセス要求に応じて、前記第１の情報格納部が格納する前記接続情報に基づき、前記第１のデバイスを担当する第２の制御装置を特定する特定部と、
前記複数の制御装置の各々が相互に送受信する情報を中継する中継装置を介して、前記特定部が特定した前記第２の制御装置に対し、前記第１の制御装置が受信した前記第１のアクセス要求に基づく前記第１のデバイスへのアクセスを指示する通信部と、をそなえる
ことを特徴とする、制御装置。
【０２１３】
（付記２）
前記第１の情報格納部は、前記第１のアクセス要求に基づく情報をさらに格納し、
前記第１のアクセス要求に基づく情報は、前記第２の制御装置が前記第１のデバイスへ送信する制御コマンドであって前記第１のアクセス要求に応じた制御コマンドを含み、
前記制御コマンドを生成し、生成した前記制御コマンドを前記第１の情報格納部へ格納する生成部をさらにそなえ、
前記通信部は、前記第２の制御装置に対して、前記生成部が生成した前記制御コマンドを用いた前記第１のデバイスへのアクセスを指示することを特徴とする、付記１記載の制御装置。
【０２１４】
（付記３）
前記第１のアクセス要求は、前記複数のデバイスの各々がそなえる複数の記憶装置へのアクセスを行なう上位装置から発行され、
前記通信部は、前記第１のアクセス要求に対する前記第１のデバイスからの第１の応答データを前記中継装置を介して前記第２の制御装置から受信すると、受信した前記第１の応答データを前記上位装置へ送信することを特徴とする、付記１又は付記２記載の制御装置。
【０２１５】
（付記４）
前記通信部は、前記第２の制御装置に対して、前記第１の応答データが前記第２の制御装置のそなえる第２の情報格納部に格納されているか否かを判定し、前記第１の応答データが前記第２の情報格納部に格納されていないと判定した場合に、前記中継装置を介して、前記第２の制御装置に対し、前記第１のアクセス要求に基づく前記第１のデバイスへのアクセスを指示することを特徴とする、付記３記載の制御装置。
【０２１６】
（付記５）
前記第１のデバイスがそなえる制御部に対して第２のアクセス要求を発行し、前記制御部から受信する第２の応答データに基づき前記第１のデバイスの監視を行なう監視部をさらにそなえ、
前記通信部は、前記第２のアクセス要求に対する前記第１のデバイスからの第２の応答データを前記中継装置を介して前記第２の制御装置から受信すると、受信した前記第２の応答データを前記監視部へ通知することを特徴とする、付記１〜４のいずれか１項記載の制御装置。
【０２１７】
（付記６）
前記第１の情報格納部は、前記第１のアクセス要求に基づく情報をさらに格納し、
前記第１のアクセス要求に基づく情報は、前記第１のアクセス要求に係る書込データを含み、
前記通信部は、前記第２の制御装置がそなえる第２の情報格納部に対して、前記第１の情報格納部が格納する前記書込データを、前記中継装置を介して直接的に転送することを特徴とする、付記１〜５のいずれか１項記載の制御装置。
【０２１８】
（付記７）
前記通信部は、前記第２の制御装置に対して、前記第１の情報格納部が格納する前記書込データを、前記中継装置を介してＤＭＡ（Direct Memory Access）を用いて転送することを特徴とする、付記６記載の制御装置。
【０２１９】
（付記８）
複数のデバイスと、
前記複数のデバイスへのアクセスを制御する複数の制御装置と、をそなえ、
前記複数の制御装置のうちの第１の制御装置は、
前記複数の制御装置の各々と、前記複数のデバイスの各々と、の間の接続関係に関する接続情報を格納する第１の情報格納部と、
前記複数のデバイスのうちの第１のデバイスに対する第１のアクセス要求に応じて、前記第１の情報格納部が格納する前記接続情報に基づき、前記第１のデバイスを担当する第２の制御装置を特定する特定部と、
前記複数の制御装置の各々が相互に送受信する情報を中継する中継装置を介して、前記特定部が特定した前記第２の制御装置に対し、前記第１の制御装置が受信した前記第１のアクセス要求に基づく前記第１のデバイスへのアクセスを指示する通信部と、をそなえる
ことを特徴とする、ストレージ装置。
【０２２０】
（付記９）
前記第１の情報格納部は、前記第１のアクセス要求に基づく情報をさらに格納し、
前記第１のアクセス要求に基づく情報は、前記第２の制御装置が前記第１のデバイスへ送信する制御コマンドであって前記第１のアクセス要求に応じた制御コマンドを含み、
前記第１の制御装置は、前記制御コマンドを生成し、生成した前記制御コマンドを前記第１の情報格納部へ格納する生成部をさらにそなえ、
前記通信部は、前記第２の制御装置に対して、前記生成部が生成した前記制御コマンドを用いた前記第１のデバイスへのアクセスを指示することを特徴とする、付記８記載のストレージ装置。
【０２２１】
（付記１０）
前記第１のアクセス要求は、前記複数のデバイスの各々がそなえる複数の記憶装置へのアクセスを行なう上位装置から発行され、
前記通信部は、前記第１のアクセス要求に対する前記第１のデバイスからの第１の応答データを前記中継装置を介して前記第２の制御装置から受信すると、受信した前記第１の応答データを前記上位装置へ送信することを特徴とする、付記８又は付記９記載のストレージ装置。
【０２２２】
（付記１１）
前記通信部は、前記第２の制御装置に対して、前記第１の応答データが前記第２の制御装置のそなえる第２の情報格納部に格納されているか否かを判定し、前記第１の応答データが前記第２の情報格納部に格納されていないと判定した場合に、前記中継装置を介して、前記第２の制御装置に対し、前記第１のアクセス要求に基づく前記第１のデバイスへのアクセスを指示することを特徴とする、付記１０記載のストレージ装置。
【０２２３】
（付記１２）
前記第１の制御装置は、前記第１のデバイスがそなえる制御部に対して第２のアクセス要求を発行し、前記制御部から受信する第２の応答データに基づき前記第１のデバイスの監視を行なう監視部をさらにそなえ、
前記通信部は、前記第２のアクセス要求に対する前記第１のデバイスからの第２の応答データを前記中継装置を介して前記第２の制御装置から受信すると、受信した前記第２の応答データを前記監視部へ通知することを特徴とする、付記８〜１１のいずれか１項記載のストレージ装置。
【０２２４】
（付記１３）
前記第１の情報格納部は、前記第１のアクセス要求に基づく情報をさらに格納し、
前記第１のアクセス要求に基づく情報は、前記第１のアクセス要求に係る書込データを含み、
前記通信部は、前記第２の制御装置がそなえる第２の情報格納部に対して、前記第１の情報格納部が格納する前記書込データを、前記中継装置を介して直接的に転送することを特徴とする、付記８〜１２のいずれか１項記載のストレージ装置。
【０２２５】
（付記１４）
前記通信部は、前記第２の制御装置に対して、前記第１の情報格納部が格納する前記書込データを、前記中継装置を介してＤＭＡ（Direct Memory Access）を用いて転送することを特徴とする、付記１３記載のストレージ装置。
【０２２６】
（付記１５）
複数のデバイスへのアクセスを制御する複数のコンピュータのうちの第１のコンピュータに、
前記複数のデバイスのうちの第１のデバイスに対する第１のアクセス要求に応じて、前記複数のコンピュータの各々と、前記複数のデバイスの各々と、の間の接続関係に関する接続情報を格納する第１の情報格納部が格納する前記接続情報に基づき、前記第１のデバイスを担当する第２のコンピュータを特定し、
前記複数のコンピュータの各々が相互に送受信する情報を中継する中継装置を介して、前記特定した前記第２のコンピュータに対し、前記第１のコンピュータが受信した前記第１のアクセス要求に基づく前記第１のデバイスへのアクセスを指示する
処理を実行させることを特徴とする、制御プログラム。
【０２２７】
（付記１６）
前記第１の情報格納部は、前記第１のアクセス要求に基づく情報をさらに格納し、
前記第１のアクセス要求に基づく情報は、前記第２のコンピュータが前記第１のデバイスへ送信する制御コマンドであって前記第１のアクセス要求に応じた制御コマンドを含み、
前記第１のコンピュータに、
前記制御コマンドを生成し、生成した前記制御コマンドを前記第１の情報格納部へ格納し、
前記指示において、前記第２のコンピュータに対して、前記生成した前記制御コマンドを用いた前記第１のデバイスへのアクセスを指示する
処理を実行させることを特徴とする、付記１５記載の制御プログラム。
【０２２８】
（付記１７）
前記第１のアクセス要求は、前記複数のデバイスの各々がそなえる複数の記憶装置へのアクセスを行なう上位装置から発行され、
前記第１のコンピュータに、
前記第１のアクセス要求に対する前記第１のデバイスからの第１の応答データを前記中継装置を介して前記第２のコンピュータから受信し、
受信した前記第１の応答データを前記上位装置へ送信する
処理を実行させることを特徴とする、付記１５又は付記１６記載の制御プログラム。
【０２２９】
（付記１８）
前記第１のコンピュータに、
前記第２のコンピュータに対して、前記第１の応答データが前記第２のコンピュータのそなえる第２の情報格納部に格納されているか否かを判定し、
前記第１の応答データが前記第２の情報格納部に格納されていないと判定した場合に、前記中継装置を介して、前記第２のコンピュータに対し、前記第１のアクセス要求に基づく前記第１のデバイスへのアクセスを指示する
処理を実行させることを特徴とする、付記１７記載の制御プログラム。
【０２３０】
（付記１９）
前記第１のコンピュータに、
前記第１のデバイスがそなえる制御部に対して第２のアクセス要求を発行し、
前記第２のアクセス要求に対する前記第１のデバイスからの第２の応答データを前記中継装置を介して前記第２のコンピュータから受信し、
受信した前記第２の応答データに基づき前記第１のデバイスの監視を行なう
処理を実行させることを特徴とする、付記１５〜１８のいずれか１項記載の制御プログラム。
【０２３１】
（付記２０）
前記第１の情報格納部は、前記第１のアクセス要求に基づく情報をさらに格納し、
前記第１のアクセス要求に基づく情報は、前記第１のアクセス要求に係る書込データを含み、
前記第１のコンピュータに、
前記指示において、前記第２のコンピュータがそなえる第２の情報格納部に対して、前記第１の情報格納部が格納する前記書込データを、前記中継装置を介して直接的に転送する
処理を実行させることを特徴とする、付記１５〜付記１９のいずれか１項記載の制御プログラム。
【０２３２】
（付記２１）
前記第１のコンピュータに、
前記指示において、前記第２のコンピュータに対して、前記第１の情報格納部が格納する前記書込データを、前記中継装置を介してＤＭＡ（Direct Memory Access）を用いて転送する
処理を実行させることを特徴とする、付記２０記載の制御プログラム。
【符号の説明】
【０２３３】
１    ストレージ装置
１０    制御プログラム
２    中継装置
２１、２１−０〜２１−３    フロントエンドルータ（ＦＲＴ）
２２、２２−０、２２−１    サービスコントローラ（ＳＶＣ）
３、３−０〜３−３    コントローラエンクロージャ（ＣＥ）
４、４−０〜４−７    コントローラモジュール（ＣＭ）
４ａ    ＣＰＵ
４ｂ    メモリ
４ｃ    記憶部
４ｄ    インタフェース部
４ｄ−１〜４ｄ−３    インタフェース（ＩＦ）
４ｅ    入出力部
４ｆ    記録媒体
４ｇ    ＩＯコントローラ（ＩＯＣ）
４ｈ    エキスパンダ（ＥＸＰ）
４０    情報格納部
４０ａ、７    キャッシュメモリ
４０ｂ    構成情報格納部
４０ｃ    コマンド格納部
４０ｄ、８    通信用メモリ
４１    ホスト側通信部
４２    転送判定部
４３    コマンド生成部
４４    ＣＭ側通信部
４５    デバイス側通信部
４１０、４５０    データ
４２０    ディスクグループ情報
４３０    論理ボリューム情報
４４０    制御コマンド
５、５−０〜５−３１    ドライブエンクロージャ（ＤＥ）
５１    記憶装置
６、６−０〜６−７    ホスト装置
【図１】
0006604029.tif 000002
【図２】
0006604029.tif 000003
【図３】
0006604029.tif 000004
【図４】
0006604029.tif 000005
【図５】
0006604029.tif 000006
【図６】
0006604029.tif 000007
【図７】
0006604029.tif 000008
【図８】
0006604029.tif 000009
【図９】
0006604029.tif 000010
【図１０】
0006604029.tif 000011
【図１１】
0006604029.tif 000012
【図１２】
0006604029.tif 000013
【図１３】
0006604029.tif 000014
【図１４】
0006604029.tif 000015
【図１５】
0006604029.tif 000016