(57)【要約】【課題】  ユニット間のデータ転送を高いスループットで行なうことができ、さらに、小規模構成から大規模構成までの変更を容易に成し得る柔軟性と、あるユニットが故障した場合にも動作可能な耐故障性とを実現できるようにする。【解決手段】  制御モジュール４−０〜４−７が、データ処理装置３−０〜３−３１に対するインターフェースである第１インターフェース部４１ａ〜４１ｄと、複数の記憶部２−０〜２−３１に対するインターフェースである第２インターフェース部４２ａ，４２ｂと、他の制御モジュール４−０〜４−７と相互に通信を行なう通信部４３とを有して構成され、複数の制御モジュール４−０〜４−７と複数の記憶部２−０〜２−３１との間に、各第２インターフェース部４２ａ，４２ｂと各記憶部２−０〜２−３１とを選択的に切り替えて通信可能に接続する第１スイッチユニット５−０〜５−７をそなえる。【選択図】  図１
2006155392.tif 000002
【特許請求の範囲】
【請求項１】
データを保持する複数の記憶部と、
前記複数の記憶部と前記複数の記憶部に保持されたデータを処理対象とするデータ処理装置との間に介装された複数の制御モジュールとをそなえ、
前記複数の制御モジュールのそれぞれが、前記複数の記憶部に保持されたデータの一部を保持しうるキャッシュメモリと、該キャッシュメモリの制御を行なうキャッシュ制御部と、前記データ処理装置に対するインターフェースである第１インターフェース部と、前記複数の記憶部に対するインターフェースである第２インターフェース部と、他の制御モジュールと相互に通信を行なう通信部とを有して構成されるとともに、
前記複数の制御モジュールと前記複数の記憶部との間に、各制御モジュールの前記第２インターフェース部と各記憶部とを選択的に切り替えて通信可能に接続する第１スイッチユニットがそなえられていることを特徴とする、データストレージ装置。
【請求項２】
前記制御モジュールが３以上そなえられ、
前記３以上の制御モジュールの前記通信部に接続され、前記３以上の制御モジュールの相互間を選択的に切り替えて通信可能に接続する第２スイッチユニットをそなえて構成されることを特徴とする、請求項１記載のデータストレージ装置。
【請求項３】
各制御モジュールの前記通信部が複数のポートを有し、
前記通信部の複数のポートに対応して前記第２スイッチユニットが複数そなえられていることを特徴とする、請求項２記載のデータストレージ装置。
【請求項４】
各制御モジュールの前記通信部と前記第２スイッチユニットとが高速シリアル伝送を利用したバスによって接続されていることを特徴とする、請求項２または請求項３に記載のデータストレージ装置。
【請求項５】
各制御モジュールが前記第１インターフェース部を複数有し、
前記複数の第１インターフェース部にそれぞれ異なるデータ処理装置が接続されていることを特徴とする、請求項１〜請求項４のいずれか１項に記載のデータストレージ装置。
【請求項６】
各制御モジュールが前記第２インターフェース部を複数有していることを特徴とする、請求項１〜請求項５のいずれか１項に記載のデータストレージ装置。
【請求項７】
前記第１スイッチユニットが複数そなえられ、
各記憶部に複数の前記第１スイッチユニットが接続されるとともに、
同一の記憶部に接続された複数の前記第１スイッチユニットに、それぞれ、同一の制御モジュールにおける異なる第２インターフェース部が接続されていることを特徴とする、請求項６記載のデータストレージ装置。
【請求項８】
前記第２インターフェース部が複数のポートを有し、
前記第２インターフェース部が、前記複数のポートを通じて、異なる記憶部に接続された複数の前記第１スイッチユニットに接続されていることを特徴とする、請求項７記載のデータストレージ装置。
【請求項９】
前記第２インターフェース部と前記第１スイッチユニット及び前記記憶部と前記第１スイッチユニットとがファイバチャネルによって接続されていることを特徴とする、請求項１〜請求項８のいずれか１項に記載のデータストレージ装置。
【請求項１０】
データを保持する複数の記憶部と、
前記複数の記憶部に保持されたデータを処理対象とするデータ処理装置と、
前記複数の記憶部と前記データ処理装置との間に介装された複数の制御モジュールとをそなえ、
前記複数の制御モジュールのそれぞれが、前記複数の記憶部に保持されたデータの一部を保持しうるキャッシュメモリと、該キャッシュメモリの制御を行なうキャッシュ制御部と、前記データ処理装置に対するインターフェースである第１インターフェース部と、前記複数の記憶部に対するインターフェースである第２インターフェース部と、他の制御モジュールと相互に通信を行なう通信部とを有して構成されるとともに、
前記複数の制御モジュールと前記複数の記憶部との間に、各制御モジュールの前記第２インターフェース部と各記憶部とを選択的に切り替えて通信可能に接続する第１スイッチユニットがそなえられていることを特徴とする、情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータの外部記憶装置として用いられるデータストレージ装置（ディスクアレイ装置）の構成に関し、より具体的には、データストレージ装置を高性能且つ柔軟に構成できるようなユニットの組み合わせと接続に関する。
【背景技術】
【０００２】
近年、様々なデータが電子化されコンピュータ上で扱われるようになるに従い、データに対して処理を実行するホストコンピュータとは独立して大量のデータを効率よく、高い信頼性で格納することのできるデータストレージ装置（外部記憶装置）の重要性が増してきている。
データストレージ装置として、大量のディスク（例えば、磁気テープや光ディスク）と、これら大量のディスクに対する制御を行なうディスクコントローラとから構成されるディスクアレイ装置が利用されており、このディスクアレイ装置は、同時に複数のホストコンピュータからのディスクアクセス要求を受け付けて、大量のディスクに対する制御を行なうことができるようになっている。
【０００３】
近年では、ディスク数１０００台以上、容量では数百テラバイト以上のディスクを制御できるディスクアレイ装置も登場している。
このようなディスクアレイ装置はRAID（Redundant Arrays of Inexpensive Disks）技術を取り入れることにより、単純なディスク装置に比べて高い信頼性と性能を実現しているところに特徴がある。具体的には、ディスクに対するキャッシュの役割を果たすメモリを内蔵することにより、ホストコンピュータからリード要求及びライト要求を受信した際のデータへのアクセス時間を短縮し、さらに高性能化を実現できるようにしている。
【０００４】
一般に、ディスクアレイ装置は、複数の主要ユニット、具体的には、ホストコンピュータとの接続部分であるチャネルアダプタ，ディスクドライブとの接続部分であるディスクアダプタ，キャッシュメモリ，キャッシュメモリの制御を担当するキャッシュ制御部，及び大量のディスクドライブから構成される（下記、特許文献１参照）。
そして、近年のディスクアレイ装置の大型化、高性能化の要求に伴い、ディスクアレイ装置を構成する上記個々の主要ユニット自体の性能が向上しているのはもちろんであるが、これら主要ユニットの数も増加する傾向にある。
【０００５】
しかしながら、主要ユニットの数が増加するに従い、主要ユニット間の接続関係が複雑になり、さらに、ディスクアレイ装置全体の動作に一貫性を持たせるために行なわれる主要ユニット間の通信処理（例えば、ミラーリング処理）が増大してしまい、これにより主要ユニットの数の増加に伴ってディスクアレイ装置の性能が向上しなくなるという課題がある。
【０００６】
したがって、これらの主要ユニット間の接続関係と構成は、ディスクアレイ装置のアーキテクチャを決定する重要な要素となり、主要ユニット間の接続関係と構成を決定するにあたり、以下の事項を重視すべきである。
まず、ディスクアレイ装置の性能の観点から、以下（ａ）〜（ｃ）の点を重視すべきである。
【０００７】
（ａ）各主要ユニット間のデータ転送が高いスループットで行なえること（高いスループット）。
（ｂ）各主要ユニット間の通信にかかる時間（レイテンシ）が短いこと（低いレイテンシ）。
（ｃ）各主要ユニット間の通信処理が少なくなること。
【０００８】
また、ディスクアレイ装置の柔軟性の観点から、以下（ｄ）の点を重視すべきである。  （ｄ）大規模から小規模までのディスクアレイ装置を自由に構成（変更）できること。  
さらに、ディスクアレイ装置の可用性の観点から、以下（ｅ），（ｆ）の点を重視すべきである。
【０００９】
（ｅ）一部の主要ユニットが故障等により動作不可能になった場合にもディスクアレイ装置（システム）全体としては動作可能であること。
（ｆ）必要に応じて主要ユニットの増減が運用中にも行なえること。
ここで、図４を参照しながら、第１の従来例としてのディスクアレイ装置１００の構成を説明すると、この図４に示す従来のディスクアレイ装置１００は、上述した主要ユニットであるキャッシュメモリ１０ａとキャッシュ制御部１０ｂとをそなえるキャッシュマネージャ（図中CMと表記）１０、ホストコンピュータ（図示略）とのインターフェースであるチャネルアダプタ（図中CAと表記）１１、複数のディスク１２ａとこれらディスク１２ａに対する処理を実行するディスクドライブ１２ｂとをそなえるディスク装置１２、及び、このディスク装置１２とのインターフェースであるディスクアダプタ（図中ＤＡと表記）１３をそなえるとともに、キャッシュマネージャ１０，チャネルアダプタ１１，及びディスクアダプタ１３間を互いに接続し、これら主要ユニット間のデータ転送と通信手段とを提供すべく、ルータ（Router；図中RTと表記）１４がそなえられている。
【００１０】
このディスクアレイ装置１００では、キャッシュマネージャ１０が４つそなえられ、これらのキャッシュマネージャ１０に対応して４つのルータ１４がそなえられている。これらキャッシュマネージャ１０とルータ１４とは１対１で相互に接続されており、これによって複数のキャッシュマネージャ１０間の接続が冗長化されて可用性が高められている。
つまり、１つのルータ１４の故障した場合にも、別のルータ１４を経由することで複数のキャッシュマネージャ１０間の接続は確保されており、かかる場合にもディスクアレイ装置１００は通常の動作を継続することができる。
【００１１】
また、このディスクアレイ装置１００では、各ルータ１４に２つのチャネルアダプタ１１と２つのディスクアダプタ１３とが接続され、ディスクアレイ装置１００は合計８つのチャネルアダプタ１１と合計８つのディスクアダプタ１３とをそなえている。
これらのチャネルアダプタ１１及びディスクアダプタ１３は、キャッシュマネージャ１０とルータ１４との相互接続により、全てのキャッシュマネージャ１０との間で通信が可能になっている。
【００１２】
ここで、チャネルアダプタ１１は、例えばファイバチャネルやEthernet（登録商標）によって、複数のディスク１２ａに保持されたデータを処理対象とするホストコンピュータ（図示略）に接続されており、ディスクアダプタ１３は、例えばファイバチャネルによってディスク装置１２（具体的にはディスクドライブ１２ｂ）に接続されている。
そして、チャネルアダプタ１１とキャッシュマネージャ１０との間、及びディスクアダプタ１３とキャッシュマネージャ１０との間では、ホストコンピュータからのユーザデータだけではなく、ディスクアレイ装置１００の内部の動作の一貫性を保つための様々な情報のやり取り（例えば、複数のキャッシュ１０ａ間のデータのミラーリング処理）がなされる。
【００１３】
そのため、キャッシュマネージャ１０，チャネルアダプタ１１及びディスクアダプタ１３と、ルータ１４との間は、ディスクアレイ装置１００とホストコンピュータとの間やディスク１２ａとディスクドライブ１２ｂとの間よりも低いレイテンシ（速い応答速度）を実現できるインターフェースを介して接続されている。例えば、PCI（Peripheral Component Interconnect）バスのように、LSI（Large Scale Integration）やプリント基板の間を接続するために設計されたバスによって、キャッシュマネージャ１０，チャネルアダプタ１１，及びディスクアダプタ１３と、ルータ１４との間が接続されている。
【００１４】
さらに、ディスクドライブ１２ｂは２つのファイバチャネルのポートを有し、各ポートには異なるルータ１４配下に属するディスクアダプタ１３が接続されることにより、ディスクアダプタ１３の故障時もしくはルータ１４の故障時にも、キャッシュマネージャ１０からの接続が切断されないようになっている。
ここで、従来のディスクアレイ装置１００の動作について、（Ａ）ライト動作，（Ｂ）リード動作に分けて以下に説明する。
【００１５】
（Ａ）ライト動作について
ホストコンピュータからライト要求が発行された場合、まず、ホストコンピュータからのライトコマンドとライトデータとをチャネルアダプタ１１が受信する。
次いで、ライトコマンドとライトデータとを受信したチャネルアダプタ１１は、担当のキャッシュマネージャ１０に対してライトデータを書き込むべきキャッシュメモリ１０ａのアドレスを尋ねる。
【００１６】
そして、このチャネルアダプタ１１がキャッシュマネージャ１０からの応答を受け取ると、異なる２つのキャッシュマネージャ１０内のキャッシュメモリ１０ａにライトデータを書き込む。
ここで、異なる２つのキャッシュマネージャ１０内のキャッシュメモリ１０ａにライトデータを書き込むのは、データを２重化（ミラーリング）することで予期しないキャッシュマネージャ１０のハード故障の場合にもデータの喪失を防ぐためである。
【００１７】
最後に、ライトデータの書き込みが正常に終了すると、チャネルアダプタ１１がホストコンピュータに対して完了通知を行ない、処理を終了する。
（Ｂ）リード動作について
ホストコンピュータからリード要求が発行された場合、まず、ホストコンピュータからのリード要求をチャネルアダプタ１１が受信する。
【００１８】
次いで、リード要求を受信したチャネルアダプタ１１は、担当のキャッシュマネージャ１０に対して当該リード要求の対象データの要求を行なう。
そして、担当のキャッシュマネージャ１０は、自身のキャッシュメモリ１０ａ内に当該対象データがあれば、当該対象データが保持されたキャッシュメモリ１０ａ上のアドレスを介してチャネルアダプタ１１に通知するとともに読出し指示をする。
【００１９】
一方、担当のキャッシュマネージャ１０のキャッシュメモリ１０ａ内に当該対象データがない場合、ディスクアダプタ１３に対してディスク１２ａから当該対象データを読み出してかかるキャッシュメモリ１０ａへ転送するように要求する。
ここで、ディスクアダプタ１３は当該対象データをディスク１２ａから読み出すと、かかるキャッシュメモリ１０ａに当該対象データを書き込み、キャッシュマネージャ１０に対して当該対象データの書き込みが終了したことを通知する。
【００２０】
そして、キャッシュマネージャ１０がディスクアダプタ１３から当該対象データのキャッシュメモリ１０ａへの書き込みが終了したことを示す通知を受け取ると、キャッシュマネージャ１０は、チャネルアダプタ１１に対して当該対象データの準備ができたことを通知するとともに、当該対象データの読み出しを指示する。
次いで、チャネルアダプタ１１がキャッシュマネージャ１０からの読み出し指示を受けると、かかるキャッシュメモリ１０ａから当該対象データを読み出してホストコンピュータへ転送し、処理を終了する。
【００２１】
このように、図４に示す第１の従来例のディスクアレイ装置１００では、上述した（Ａ）ライト動作及び（Ｂ）リード動作における、キャッシュマネージャ１０，チャネルアダプタ１１及びディスクアダプタ１３の３者間で行なわれるすべての通信は、ルータ１４を介して行なわれる。
図５に第２の従来例としてのディスクアレイ装置１０１を示す。なお、図５において既述の符号と同一の符号は同一の部分もしくはほぼ同一の部分を示している。
【００２２】
図５に示すディスクアレイ装置１０１は、図４に示す第１の従来例としてのディスクアレイ装置１００よりも小規模に構成されており、具体的には、キャッシュマネージャ１０を２つそなえ、これに対応してルータ１４が２つそなえられ、各ルータ１４には２つのチャネルアダプタ１１と２つのディスクアダプタ１３とが接続されている。また、ディスク装置１２も２つそなえて構成されている。
【００２３】
つまり、第２の従来例としてのディスクアレイ装置１０１は、第１の従来例としてのディスクアレイ装置１００に対して、各主要ユニットが半数となる小規模構成のディスクアレイ装置であり、このような小規模なディスクアレイ装置１０１における動作はディスクアレイ装置１００における動作と同様である。
さらに、その他の従来例として、図６に第３の従来例としてのディスクアレイ装置１０２を示す。なお、図６において既述の符号と同一の符号は同一の部分もしくは略同一の部分を示している。
【００２４】
図６に示すディスクアレイ装置１０２は、キャッシュマネージャ１０が２つそなえられ、各キャッシュマネージャ１０には、チャネルアダプタ１１及びディスクアダプタ１３がキャッシュマネージャ１０の一部として実装されている。つまり、キャッシュマネージャ１０を構成するモジュール内にチャネルアダプタ１１及びディスクアダプタ１３がそなえられており、チャネルアダプタ１１及びディスクアダプタ１３はそれぞれキャッシュマネージャ１０に直結されている。
【００２５】
また、２つのキャッシュマネージャ１０，１０はバス１０ｃによって、互いに通信可能に直接接続されている。
なお、この２つのキャッシュマネージャ１０，１０間、並びに、キャッシュマネージャ１０とチャネルアダプタ１１との間、及び、キャッシュマネージャ１０とディスクアダプタ１３との間は、低いレイテンシが要求されるためＰＣＩバスによって接続されている。
【００２６】
さらに、チャネルアダプタ１１は、例えばファイバチャネルもしくはEthernetによってホストコンピュータ（図示略）に接続され、ディスクアダプタ１３は、例えばファイバチャネルによってディスク装置１２のディスクドライブ１２ｂに接続されている。
また、ディスク装置１２は２つのポート（例えば、ファイバチャネルポート）を有し、これら２つのポートが異なるディスクアダプタ１３に接続されることにより、図４を参照しながら上述した第１の従来例のディスクアレイ装置１００と同様に、耐故障性を高めている。
【特許文献１】特開２００１−２５６００３号公報
【発明の開示】
【発明が解決しようとする課題】
【００２７】
しかしながら、図４に示す第１の従来例としてのディスクアレイ装置１００及び図５に示す第２の従来例としてのディスクアレイ装置１０１では、ホストコンピュータからのデータ、ディスク装置１２からのデータ、及びキャッシュマネージャ１０，１０間の通信データのすべてがルータ１４を経由するため、ルータ１４にデータが集中してしまいルータ１４がスループットのネックとなり、高いスループットの実現が困難になってしまう。
【００２８】
さらに、ディスクアレイ装置１００，１０１では、キャッシュマネージャ１０，チャネルアダプタ１１及びディスクアダプタ１３の３者間で行なわれるすべての通信がルータ１４を介して行なわれるため、ルータ１４を介する分だけ通信にかかる時間が増大し、性能向上のためのネックとなる。
また、ディスクアレイ装置１００，１０１では、主要ユニットをさらに増設して、第１の従来例としてのディスクアレイ装置１００よりも大規模なディスクアレイ装置を構成しようとすると、キャッシュマネージャ１０とルータ１４との間の接続が急増するため、接続関係が複雑になってしまい、物理的にも実装が困難になる。
【００２９】
さらに、ディスクアレイ装置１００，１０１では、ルータ１４の一つが故障した場合には、当該ルータ１４の故障と同時に、当該ルータ１４配下に接続されたチャネルアダプタ１１及びディスクアダプタ１３も使えなくなってしまう。
一方、図６に示す第３の従来例としてのディスクアレイ装置１０２では、チャネルアダプタ１１及びディスクアダプタ１３がキャッシュマネージャ１０の一部として実装されているため、上述のディスクアレイ装置１００，１０１におけるルータ１４に関する課題は発生しないが、キャッシュマネージャ１０が３つ以上の構成をとることができず、キャッシュマネージャ１０を３つ以上そなえた、より大規模なディスクアレイ装置に適用することができない。
さらに、ディスクアレイ装置１０２では、２つのキャッシュマネージャ１０，１０間のパスが１つしかないため、そのパスで障害が発生して当該バスが不通になると、キャッシュマネージャ１０，１０間の通信ができなくなってしまう。
【００３０】
本発明は、このような課題に鑑み創案されたもので、データストレージ装置を構成する各ユニット間のデータ転送を高いスループットで行なうことができ、さらに、小規模構成から大規模構成までの変更を容易に成し得る柔軟性と、あるユニットが故障した場合にも動作可能な耐故障性とを実現できるようにすることを目的とする。
【課題を解決するための手段】
【００３１】
上記目的を達成するために、本発明のデータストレージ装置は、データを保持する複数の記憶部と、前記複数の記憶部と前記複数の記憶部に保持されたデータを処理対象とするデータ処理装置との間に介装された複数の制御モジュールとをそなえ、前記複数の制御モジュールのそれぞれが、前記複数の記憶部に保持されたデータの一部を保持しうるキャッシュメモリと、このキャッシュメモリの制御を行なうキャッシュ制御部と、前記データ処理装置に対するインターフェースである第１インターフェース部と、前記複数の記憶部に対するインターフェースである第２インターフェース部と、他の制御モジュールと相互に通信を行なう通信部とを有して構成されるとともに、前記複数の制御モジュールと前記複数の記憶部との間に、各制御モジュールの前記第２インターフェース部と各記憶部とを選択的に切り替えて通信可能に接続する第１スイッチユニットがそなえられていることを特徴としている（請求項１）。
【００３２】
なお、前記制御モジュールが３以上そなえられ、前記３以上の制御モジュールの前記通信部に接続され、前記３以上の制御モジュールの相互間を選択的に切り替えて通信可能に接続する第２スイッチユニットをそなえて構成されることが好ましい（請求項２）。
このとき、各制御モジュールの前記通信部が複数のポートを有し、前記通信部の複数のポートに対応して前記第２スイッチユニットが複数そなえられていることが好ましい（請求項３）。
【００３３】
また、各制御モジュールの前記通信部と前記第２スイッチユニットとが高速シリアル伝送を利用したバス（例えば、PCI-ExpressやRapid-IO）によって接続されていることが好ましい（請求項４）。
さらに、各制御モジュールが前記第１インターフェース部を複数有し、前記複数の第１インターフェース部にそれぞれ異なるデータ処理装置が接続されていることが好ましい（請求項５）。
【００３４】
なお、各制御モジュールが前記第２インターフェース部を複数有していることが好ましく（請求項６）、このとき、前記第１スイッチユニットが複数そなえられ、各記憶部に複数の前記第１スイッチユニットが接続されるとともに、同一の記憶部に接続された複数の前記第１スイッチユニットに、それぞれ、同一の制御モジュールにおける異なる第２インターフェース部が接続されていることが好ましい（請求項７）。
【００３５】
また、前記第２インターフェース部が複数のポートを有し、前記第２インターフェース部が、前記複数のポートを通じて、異なる記憶部に接続された複数の前記第１スイッチユニットに接続されていることが好ましい（請求項８）。
さらに、前記第２インターフェース部と前記第１スイッチユニット及び前記記憶部と前記第１スイッチユニットとがファイバチャネルによって接続されていることが好ましい（請求項９）。
【００３６】
また、上記目的を達成するため、本発明の情報処理システムは、データを保持する複数の記憶部と、前記複数の記憶部に保持されたデータを処理対象とするデータ処理装置と、前記複数の記憶部と前記データ処理装置との間に介装された複数の制御モジュールとをそなえ、前記複数の制御モジュールのそれぞれが、前記複数の記憶部に保持されたデータの一部を保持しうるキャッシュメモリと、このキャッシュメモリの制御を行なうキャッシュ制御部と、前記データ処理装置に対するインターフェースである第１インターフェース部と、前記複数の記憶部に対するインターフェースである第２インターフェース部と、他の制御モジュールと相互に通信を行なう通信部とを有して構成されるとともに、前記複数の制御モジュールと前記複数の記憶部との間に、各制御モジュールの前記第２インターフェース部と各記憶部とを選択的に切り替えて通信可能に接続する第１スイッチユニットがそなえられていることを特徴としている（請求項１０）。
【発明の効果】
【００３７】
このように、本発明によれば、キャッシュメモリ及びキャッシュ制御部を有する制御モジュール上に、当該制御モジュールとして第１インターフェース部と第２インターフェース部とがそなえられているため、キャッシュ制御部と第１インターフェース部，及びキャッシュ制御部と第２インターフェース部とがそれぞれ直接接続されて密に結合されることにより、これらキャッシュ制御部と第１インターフェース部，及びキャッシュ制御部と第２インターフェース部との間の通信において低いレイテンシを実現することができる（請求項１，１０）。
【００３８】
さらに、通信部によって制御モジュール間の通信が行なわれるため、キャッシュ制御部と第１インターフェース部，キャッシュ制御部と第２インターフェース部，及び２つの制御モジュール間の通信経路をそれぞれ独立させることができ、これにより、キャッシュ制御部と第１インターフェース部との間，キャッシュ制御部と第２インターフェース部との間，及び２つの制御モジュール間において、高いスループットを実現することができる（請求項１，１０）。
【００３９】
なお、制御モジュールと記憶部との間に記憶部と接続された第１スイッチユニットがそなえられるため、第１インターフェースを増やすことなく、大量の記憶部をそなえることができ、大規模構成から小規模構成までの変更を容易に行なうことができる（請求項１，１０）。
また、３以上の制御モジュールをそなえる場合には、第２スイッチユニットがそなえられるため、各構成要素を変更することなく、３以上の制御モジュールをそなえるような大規模構成にも容易に対応可能な柔軟性をそなえることができる（請求項２）。
【００４０】
さらに、通信部のポート数に対応して第２スイッチユニットが複数そなえられるため、制御モジュール間の通信経路を２重化することができ、複数の通信経路のうちの一方の通信経路が故障した場合（例えば、一方の第２スイッチユニットが故障した場合）であっても、他方の通信経路により制御モジュール間の通信を通常通り実行することができ、複数の制御モジュール間の通信に耐故障性を実現することができる（請求項３）。
【００４１】
また、各制御モジュールの通信部と第２スイッチユニットとの間のバスに高速シリアル伝送を利用したバスを用いることにより、各制御モジュールの通信部と第２スイッチユニットとの間の通信に要求される低いレイテンシと高いスループットとを実現することができる（請求項４）。
なお、複数の第１インターフェース部にそれぞれ異なるデータ処理装置が接続されることにより、複数のデータ処理装置からのアクセス要求を受け付けて実行することが可能になる（請求項５）。
【００４２】
また、各制御モジュールが第２インターフェース部を複数有し、第１スイッチユニットが複数そなえられ、各記憶部に複数の第１スイッチユニットが接続されるとともに、同一の記憶部に接続された複数の第１スイッチユニットに、それぞれ、同一の制御モジュールにおける異なる第２インターフェース部が接続されることにより、制御モジュールと記憶部との間の通信経路にも耐故障性を実現することができる（請求項６，７）。
【００４３】
つまり、同一の制御モジュールにおける複数の第２インターフェース部のうちの一方が故障により通信不能になった場合や、同一の記憶部に接続された複数の第１スイッチユニットのうちの一方が故障により通信不能になった場合であっても、それぞれ他方の第２インターフェース部や他方の第１スイッチユニットにより、制御モジュールと記憶部との間の通信を通常通り確保することができる（請求項６，７）。
【００４４】
なお、第２インターフェース部が、複数のポートを通じて、異なる記憶部に接続された複数の第１スイッチユニットに接続されることにより、制御モジュールがより大量の記憶部に対しても通信可能になり、記憶部の数が増加してデータストレージ装置がより大規模構成になる場合であっても柔軟に対応することができる（請求項８）。
また、第２インターフェース部と第１スイッチユニット及び記憶部と第１スイッチユニットとがインターフェースを構成する信号数が少ないファイバチャネルによって接続されるため、データストレージ装置を、大量の制御モジュールによって大規模構成にする場合や、大量の記憶部によって大規模構成にする場合であっても、第２インターフェース部と第１スイッチユニットとの間、及び記憶部と第１スイッチユニットとの間の接続関係が複雑にならずに、物理的な実装も容易に行なうことができる（請求項９）。
【発明を実施するための最良の形態】
【００４５】
以下、図面を参照しながら本発明の実施の形態について説明する。
〔１〕本発明の一実施形態について
〔１−１〕３以上の制御モジュールをそなえる場合
まず、図１に示すブロック図を参照しながら、本発明の一実施形態としての情報処理システム１（３以上の制御モジュール４−０〜４−７をそなえた例）の構成について説明する。
【００４６】
図１に示すように、本情報処理システム１は、データを保持する複数（ここでは３２）のディスク装置（記憶部）２−０〜２−３１と、これらディスク装置２−０〜２−３１に保持されたデータを処理対象とする複数（ここでは３２）のホストコンピュータ（データ処理装置）３−０〜３−３１と、複数のディスク装置２−０〜２−３１と複数のホストコンピュータ３−０〜３−３１との間に介装された複数（ここでは８つ）の制御モジュール４−０〜４−７と、これら複数の制御モジュール４−０〜４−７と複数のディスク装置２−０〜２−３１との間に介装された複数（ここでは８つ）のBack-end Router（第１スイッチユニット；図中BRTと表記、以下、BRTという）５−０〜５−７と、複数（ここでは２つ）のFront-end Router（第２スイッチユニット；図中FRTと表記、以下、FRTという）６−０，６−１とをそなえて構成されている。
【００４７】
なお、本発明のデータストレージ装置（ディスクアレイ装置）は、ディスク装置２−０〜２−３１、制御モジュール４−０〜４−７、FRT６−０，６−１、及びBRT５−０〜５−７から構成されている。
複数のディスク装置２−０〜２−３１はそれぞれ、データを保持する複数のディスク（例えば、磁気テープや光ディスク）２ａと、これら複数のディスク２ａに対する処理を実行するディスクドライブ２ｂとをそなえている。なお、図１では図の簡略化のため、これら複数のディスクの符号“２ａ”とディスクドライブの符号“２ｂ”とをディスク装置２−７に対してのみ付しており、他のディスク装置２−０〜２−６，２−８〜２−３１の複数のディスク２ａ及びディスクドライブ２ｂはその符号は省略している。
【００４８】
ここで、図１及び図２に示すブロック図を参照しながら制御モジュール４−０〜４−７について詳述すると、制御モジュール４−０〜４−７のそれぞれは、キャッシュマネージャ４０と、チャネルアダプタ（第１インターフェース部；図中CAと表記）４１ａ〜４１ｄと、ディスクアダプタ（第２インターフェース部；図中DAと表記）４２ａ，４２ｂと、DMA（Direct Memory Access）エンジン（通信部；図中DMAと表記）４３とを有して構成されている。
【００４９】
なお、図１では図の簡略化のため、これらキャッシュマネージャの符号“４０”、チャネルアダプタの符号“４１ａ”，“４１ｂ”，“４１ｃ”，“４１ｄ”、ディスクアダプタの符号“４２ａ”，“４２ｂ”、DMAの符号“４３”、及び後述するキャッシュメモリの符号“４０ａ”、キャッシュ制御部の符号“４０ｂ”を、制御モジュール４−０に対してのみ付しており、他の制御モジュール４−１〜４−７におけるこれら構成要素の符号は省略している。
【００５０】
キャッシュマネージャ４０は、ホストコンピュータ３−０〜３−３１からの処理要求（リード要求もしくはライト要求）に基づいて、複数のディスク装置２−０〜２−３１に対する制御を行なうものであり、キャッシュメモリ４０ａとキャッシュ制御部４０ｂとをそなえて構成されている。
キャッシュメモリ４０ａは、ディスク装置２−０〜２−３１の複数のディスク２ａに保持されたデータの一部を保持しうるものであり、複数のディスク２ａに対するキャッシュの役割を果たすストレージである。
【００５１】
キャッシュ制御部４０ｂは、キャッシュメモリ４０ａに対する制御を行なうものである。
つまり、キャッシュマネージャ４０では、例えば、ホストコンピュータ３−０〜３−３１のいずれかから対応するチャネルアダプタ４１ａ〜４１ｄを介してリード要求を受け取った場合、当該リード要求の対象データをキャッシュメモリ４０ａが保持していれば、キャッシュメモリ４０ａに保持された当該対象データをチャネルアダプタ４１ａ〜４１ｄを介してホストコンピュータ３−０〜３−３１に送る一方、当該対象データがキャッシュメモリ４０ａに保持されていなければ、キャッシュ制御部４０ｂが、当該対象データを保持しているディスク装置２−０〜２−３１のディスク２ａから当該対象データをキャッシュメモリ４０ａ上に読み出してから、当該対象データを、当該リード要求を発行したホストコンピュータ３−０〜３−３１に送信する。
【００５２】
このように、ホストコンピュータ３−０〜３−３１からのアクセス要求の対象データがキャッシュメモリ４０ａに保持されている場合には、キャッシュマネージャ４０はすぐにホストコンピュータ３−０〜３−３１に対して応答可能であるが、当該対象データがキャッシュメモリ４０ａに保持されていない場合には、当該対象データをディスク装置２−０〜２−３１のいずれかから読み出す必要があり、当該対象データをキャッシュメモリ４０ａが保持している場合と比べて非常に多くの時間を要する。
【００５３】
したがって、キャッシュメモリ４０ａに保持されるデータは、キャッシュ制御部４０ｂによって、例えば、ホストコンピュータ３−０〜３−３１からのアクセス頻度に基づいて決定されることが好ましく、これにより、ホストコンピュータ３−０〜３−３１からリード要求及びライト要求を受信した際の対象データへのアクセス時間を短縮し、さらに高性能化を実現できるようになる。
【００５４】
また、ホストコンピュータ３−０〜３−３１のいずれかから対応するチャネルアダプタ４１ａ〜４１ｄを介してライト要求を受け取った場合、当該ライト要求のコマンドとライトデータとを受信したチャネルアダプタ４１ａ〜４１ｄは、担当のキャッシュマネージャ４０に対してライトデータを書き込むべきキャッシュメモリ４０ａのアドレスを尋ねる。
そして、このチャネルアダプタ４１ａ〜４１ｄがキャッシュマネージャ４０からの応答を受け取ると、当該キャッシュマネージャ４０のキャッシュメモリ４０ａにライトデータを書き込むとともに、当該キャッシュマネージャ４０とは異なる少なくと１つのキャッシュマネージャ４０（つまり、異なる制御モジュール４−０〜４−７のキャッシュマネージャ４０）内のキャッシュメモリ１０ａにもライトデータを書き込む。
【００５５】
ここで、少なくとも異なる２つの制御モジュール４−０〜４−７のキャッシュメモリ１０ａにライトデータを書き込むのは、データを２重化（ミラーリング）することで予期しない制御モジュール４−０〜４−７もしくはキャッシュマネージャ４０のハード故障の場合にもデータの喪失を防ぐためである。
最後に、これら複数のキャッシュメモリ１０ａへのライトデータの書き込みが正常に終了すると、チャネルアダプタ４１ａ〜４１ｄがホストコンピュータ３−０〜３−３１に対して完了通知を行ない、処理を終了する。
【００５６】
チャネルアダプタ４１ａ〜４１ｄは、ホストコンピュータ３−０〜３−３１に対するインターフェースであり、チャネルアダプタ４１ａ〜４１ｄはそれぞれ異なるホストコンピュータ３−０〜３−３１と接続されている。
ここでは、図１に示すごとく、制御モジュール４−０のチャネルアダプタ４１ａ，４１ｂ，４１ｃ，４１ｄが順にホストコンピュータ３−０，３−１，３−２，３−３にそれぞれ接続されており、制御モジュール４−１のチャネルアダプタ４１ａ，４１ｂ，４１ｃ，４１ｄが順にホストコンピュータ３−４，３−５，３−６，３−７にそれぞれ接続されており、制御モジュール４−２のチャネルアダプタ４１ａ，４１ｂ，４１ｃ，４１ｄが順にホストコンピュータ３−８，３−９，３−１０，３−１１にそれぞれ接続されており、制御モジュール４−３のチャネルアダプタ４１ａ，４１ｂ，４１ｃ，４１ｄが順にホストコンピュータ３−１２，３−１３，３−１４，３−１５にそれぞれ接続されており、制御モジュール４−４のチャネルアダプタ４１ａ，４１ｂ，４１ｃ，４１ｄが順にホストコンピュータ３−１６，３−１７，３−１８，３−１９にそれぞれ接続されており、制御モジュール４−５のチャネルアダプタ４１ａ，４１ｂ，４１ｃ，４１ｄが順にホストコンピュータ３−２０，３−２１，３−２２，３−２３にそれぞれ接続されており、制御モジュール４−６のチャネルアダプタ４１ａ，４１ｂ，４１ｃ，４１ｄが順にホストコンピュータ３−２４，３−２５，３−２６，３−２７にそれぞれ接続されており、制御モジュール４−７のチャネルアダプタ４１ａ，４１ｂ，４１ｃ，４１ｄが順にホストコンピュータ３−２８，３−２９，３−３０，３−３１にそれぞれ接続されている。
【００５７】
また、図２に示すごとく、これら制御モジュール４−０〜４−７のチャネルアダプタ４１ａ〜４１ｄは、それぞれ対応するホストコンピュータ３−０〜３−３１のインターフェース部（図２中Host I/Fと表記）にバスＡを介して接続されており、各チャネルアダプタ４１ａ〜４１ｄと、対応するホストコンピュータ３−０〜３−３１とは、例えば、ファイバチャネル（Fiber Channel）やEthernet（登録商標）によって接続されることが好ましく、この場合、バスAとしては、光ファイバや同軸ケーブルが用いられる。
【００５８】
さらに、これらチャネルアダプタ４１ａ〜４１ｄそれぞれは、各制御モジュール４−０〜４−７の一部として構成されているが、対応するホストコンピュータ３−０〜３−３１と制御モジュール４−０〜４−７とのインターフェース部として、複数のプロトコルをサポートする必要があり、対応するホストコンピュータ３−０〜３−３１によって実装すべきプロトコルが同一ではないため、各チャネルアダプタ４１ａ〜４１ｄが必要に応じて容易に交換できるように、制御モジュール４−０〜４−７の主要ユニットであるキャッシュマネージャ４０とは別のプリント基板に実装されている。
【００５９】
なお、チャネルアダプタ４１ａ〜４１ｄがサポートすべきホストコンピュータ３−０〜３−３１との間のプロトコルとしては、上述のように、ファイバチャネルや、Ethernetに対応するiSCSI（Internet Small Computer System Interface）等があり、チャネルアダプタ４１ａ〜４１ｄはサポートすべきプロトコルに適応したものが搭載される。
また、各チャネルアダプタ４１ａ〜４１ｄは、例えば、PCI（Peripheral Component Interconnect）バスのようにLSI（Large Scale Integration）やプリント基板の間を接続するために設計されたバスによって、キャッシュマネージャ４０と直接結合されており、これにより、各チャネルアダプタ４１ａ〜４１ｄとキャッシュマネージャ４０と間に要求される高いスループットを実現することができる。
【００６０】
このように、各制御モジュール４−０〜４−７のチャネルアダプタ４１ａ〜４１ｄそれぞれが、異なるホストコンピュータ３−０〜３−３１と接続されることにより、本情報処理システム１では、同時に複数のホストコンピュータ（ここでは、ホストコンピュータ３−０〜３−３１の３２機）からのアクセス要求を受け付けて、大量のディスク２ａに対する制御を行なうことができるようになっている。
【００６１】
ディスクアダプタ４２ａ，４２ｂは、ディスク装置２−０〜２−３１に対するインターフェースであり、ディスク装置２−０〜２−３１に接続されたBRT５−０〜５−７に接続されている。
BRT５−０〜５−７は、複数の制御モジュール４−０〜４−７と複数のディスク装置２−０〜２−３１との間に介装され、各制御モジュール４−０〜４−７のディスクアダプタ４２ａ，４２ｂと各ディスク装置２−０〜２−３１とを選択的に切り替えて通信可能に接続する多ポートスイッチである。
【００６２】
本情報処理システム１では、各制御モジュール４−０〜４−７のディスクアダプタ４２ａ，４２ｂそれぞれを、すべてのディスク装置２−０〜２−３１に接続すべく、図１に示すごとく、各制御モジュール４−０〜４−７のディスクアダプタ４２ａは、ディスク装置２−０〜２−７に接続されたBRT５−０と、ディスク装置２−８〜２−１５に接続されたBRT５−２と、ディスク装置２−１６〜２−２３に接続されたBRT５−４と、ディスク装置２−２４〜２−３１に接続されたBRT５−６とにそれぞれ接続されており、さらに、各制御モジュール４−０〜４−７のディスクアダプタ４２ｂは、ディスク装置２−０〜２−７に接続されたBRT５−１と、ディスク装置２−８〜２−１５に接続されたBRT５−３と、ディスク装置２−１６〜２−２３に接続されたBRT５−５と、ディスク装置２−２４〜２−３１に接続されたBRT５−７とに、それぞれ接続されている。
【００６３】
このように、各ディスク装置２−０〜２−３１には複数（ここでは２つ）のBRTが接続されるとともに、同一のディスク装置２−０〜２−３１に接続された２つのBRTに、それぞれ、同一の制御モジュール４−０〜４−７における異なるディスクアダプタ４２ａ，４２ｂが接続されている。なお、各ディスク装置２−０〜２−３１のディスクドライブ２ｂが２つのポートを有し、各ポートに異なるBRTが接続されることによって、各ディスク装置２−０〜２−３１に２つのBRTが接続されている。
【００６４】
さらに、各制御モジュール４−０〜４−７のディスクアダプタ４２ａ，４２ｂそれぞれは、複数（ここでは４つ）のポートを有し、ディスクアダプタ４２ａ，４２ｂが、４つのポートを通じて、異なるディスク装置２−０〜２−３１に接続された４つのBRT（ここでは、チャネルアダプタ４２ａがBRT５−０，５−２，５−４，５−６、チャネルアダプタ４２ｂがBRT５−１，５−３，５−５，５−７）に接続されている。
【００６５】
このような構成により、各制御モジュール４−０〜４−７がいずれのディスクアダプタ４２ａ，４２ｂを通じても、すべてのディスク装置２−０〜２−３１にアクセスできるようになっている
また、これらディスクアダプタ４２ａ，４２ｂそれぞれは制御モジュール４−０〜４−７の一部として構成されており、制御モジュール４−０〜４−７の主要ユニットであるキャッシュマネージャ４０の基板上に実装され、各ディスクアダプタ４２ａ，４２ｂは、例えばPCI（Peripheral Component Interconnect）バスによってキャッシュマネージャ４０と直接結合されており、これにより、各ディスクアダプタ４２ａ，４２ｂとキャッシュマネージャ４０と間に要求される高いスループットを実現することができる。
【００６６】
さらに、図２に示すごとく、各ディスクアダプタ４２ａ，４２ｂは対応するBRT５−０〜５−７にバスBを介して接続されており、各ディスクアダプタ４２ａ，４２ｂと対応するBRT５−０〜５−７とは、例えば、ファイバチャネル（Fiber Channel）やEthernet（登録商標）によって接続されることが好ましく、この場合、バスBとしては、光ファイバや同軸ケーブルが用いられる。
【００６７】
各制御モジュール４−０〜４−７のディスクアダプタ４２ａ，４２ｂとBRT５−０〜５−７との間は、１対１のメッシュ接続になるため、本情報処理システム１がそなえる制御モジュール４−０〜４−７の数（つまり、ディスクアダプタ４２ａ，４２ｂの数）が増大するほど、接続数が増加して接続関係が複雑になり、物理的な実装が困難になるという課題があるが、ディスクアダプタ４２ａ，４２ｂとBRT５−０〜５−７との間の接続に、インターフェースを構成する信号数が少ないファイバチャネルを採用することにより、上記の実装の課題を解決することができる。
【００６８】
なお、各ディスクアダプタ４２ａ，４２ｂと対応するBRT５−０〜５−７とがファイバチャネルによって接続される場合、BRT５−０〜５−７はファイバチャネルのスイッチとなる。
また、各BRT５−０〜５−７と対応するディスク装置２−０〜２−３１との間も、例えば、ファイバチャネルによって接続されることが好ましい。
【００６９】
DMAエンジン４３は、他の制御モジュール４−０〜４−７と相互に通信を行なうものであり、他の制御モジュール４−０〜４−７間との通信とデータ転送処理を担当する。
各制御モジュール４−０〜４−７のDMAエンジン４３それぞれは、制御モジュール４−０〜４−７の一部として構成されており、制御モジュール４−０〜４−７の主要ユニットであるキャッシュマネージャ４０の基板上に実装され、バスによってキャッシュマネージャ４０と直接結合されるとともに、FRT６−０，６−１を介して他の制御モジュール４−０〜４−７のDMAエンジン４３と互いに通信可能に接続されている。
【００７０】
FRT６−０，６−１は、複数（特に３以上、ここでは８つ）の制御モジュール４−０〜４−７のDMAエンジン４３に接続され、これら制御モジュール４−０〜４−７の相互間を選択的に切り替えて通信可能に接続するものである。
このような構成により、各制御モジュール４−０〜４−７のDMAエンジン４３それぞれは、FRT６−０，６−１を介して互いに通信可能に接続され、自身に接続されたキャッシュマネージャ４０と他の制御モジュール４−０〜４−７のキャッシュマネージャ４０との間で、ホストコンピュータ３−０〜３−３１からのアクセス要求等に応じて生じる通信やデータ転送処理（例えば、ミラーリング処理）を実行することができる。
【００７１】
また、ここでは各制御モジュール４−０〜４−７のDMAエンジン４３が複数（ここでは２つ）のポートを有し、これら２つのポートに対応して２つのFRT６−０，６−１がそなえられている。
さらに、DMAエンジン４３は、例えば、PCIバスによってキャッシュマネージャ４０に接続されており、キャッシュマネージャ４０に対しても２つのポートを有し、それぞれのポートを通じてキャッシュマネージャ４０に接続されている。
【００７２】
また、各制御モジュール４−０〜４−７間（つまり、各制御モジュール４−０〜４−７のキャッシュマネージャ４０間）の通信やデータ転送処理では、データ転送量が多く、通信にかかる時間を短くすることが望ましく、高いスループットと同時に低いレイテンシ（速い応答速度）が要求されるため、図２に示すごとく、各制御モジュール４−０〜４−７のDMAエンジン４３とFRT６−０，６−１とは、高いスループットと低いレイテンシとの両方の要求を満たすべく設計された、高速シリアル伝送を利用したバスCによって接続されている。
【００７３】
具体的には、DMAエンジン４３とFRT６−０，６−１とは、例えば、PCI-ExpressやRapid-IOによって接続されるのが好ましい。これらPCI-ExpressやRapid-IOは、３．１２５Gbpsの高速シリアル伝送を利用したものであり、これらのバスインターフェースには、LVDS（Low Voltage Differential Signaling）という小振幅差動インターフェースが採用されている。なお、一般にPCI-Expressの標準データ転送レートは１．２５Gbit/secである。
【００７４】
〔１−２〕２つの制御モジュールをそなえる場合
次に、図３に示すブロック図を参照しながら、本発明の一実施形態としての情報処理システム１′（２つの制御モジュール４−０，４−１をそなえた例）の構成について説明する。なお、図３において既述の符号と同一の符号は、同一の部分もしくはほぼ同一の部分を示している。
【００７５】
図３に示すように、本発明の一実施形態としての情報処理システム１′（２つの制御モジュール４−０，４−１をそなえる場合）は、データを保持する複数（ここでは８つ）のディスク装置（記憶部）２−０〜２−７と、これらディスク装置２−０〜２−７に保持されたデータを処理対象とする複数（ここでは８つ）のホストコンピュータ（データ処理装置）３−０〜３−７と、複数のディスク装置２−０〜２−７と複数のホストコンピュータ３−０〜３−７との間に介装された複数（ここでは２つ）の制御モジュール４−０，４−１と、これら複数の制御モジュール４−０，４−１と複数のディスク装置２−０〜２−７との間に介装された複数（ここでは２つ）のBack-end Router（第１スイッチユニット；図中BRTと表記、以下、BRTという）５−０，５−１とをそなえて構成されている。
【００７６】
つまり、本情報処理システム１′は、図１を参照しながら上述した情報処理システム１よりも少ないユニットで構成されている。なお、本情報処理システム１′の各ユニット（ディスク装置２−０〜２−７、ホストコンピュータ３−０〜３−７、制御モジュール４−０，４−１、及びBRT５−０，５−１）は、上記情報処理システム１にそなえられたユニットと同一のものであるため、これらユニットの詳細な説明は省略する。
【００７７】
なお、本情報処理システム１′では、制御モジュール４−０，４−１のディスクアダプタ４２ａ，４２ｂは、１つのポートのみを使用しており、制御モジュール４−０，４−１の各ディスクアダプタ４２ａはBRT５−０に接続され、制御モジュール４−０，４−１の各ディスクアダプタ４２ｂはBRT５−１に接続されている。
また、本情報処理システム１′では、２つの制御モジュール４−０，４−１から構成されるため、本情報処理システム１′はFRT６−０，６−１をそなえておらず、各制御モジュール４−０，４−１のDMAエンジン４３は、FRT６−０，６−１を介さずにバスCによって直接接続されている。
【００７８】
なお、本情報処理システム１′においてもDMAエンジン４３は２つのポートを有し、それぞれのポートを通じて他方のDMAエンジン４３と接続されている。
このように、２つの制御モジュール４−０，４−１をそなえて構成された場合であっても、ホストコンピュータ３−０〜３−７からのアクセス要求に対して、図１を参照しながら上述した情報処理システム１と同様に動作することができる。
【００７９】
〔１−３〕本発明の一実施形態としての情報処理システムの効果
このように、本発明の一実施形態としての情報処理システム１，１′によれば、制御モジュール４−０〜４−７において、キャッシュマネージャ４０とチャネルアダプタ４１ａ〜４１ｄとがそれぞれ直接接続されて密に結合されることにより、キャッシュマネージャ４０とチャネルアダプタ４１ａ〜４１ｄとの間で低いレイテンシを実現することができる。
【００８０】
また、制御モジュール４−０〜４−７においてキャッシュマネージャ４０とディスクアダプタ４２ａ，４２ｂとがそれぞれ直接接続されて密に結合されることにより、キャッシュマネージャ４０とディスクアダプタ４２ａ，４２ｂとの間で低いレイテンシを実現することができる。
さらに、これらキャッシュマネージャ４０とチャネルアダプタ４１ａ〜４１ｄとの間と、キャッシュマネージャ４０とディスクアダプタ４２ａ，４２ｂとの間との通信経路が分離されて独立しているとともに、２つの制御モジュール４−０〜４−７のキャッシュマネージャ４０のそれぞれのDMAエンジン４３によるキャッシュマネージャ４０，４０間の通信経路が、キャッシュマネージャ４０とチャネルアダプタ４１ａ〜４１ｄとの間及びキャッシュマネージャ４０とディスクアダプタ４２ａ，４２ｂとの間に対して分離されて独立しているため、キャッシュマネージャ４０とチャネルアダプタ４１ａ〜４１ｄとの間、キャッシュマネージャ４０とディスクアダプタ４２ａ，４２ｂとの間、及び２つのキャッシュマネージャ４０，４０間、それぞれにおいて高いスループットの確保が可能になる。
【００８１】
また、ホストコンピュータ３−０〜３−３１とチャネルアダプタ４１ａ〜４１ｄとの間の通信経路、及び、ディスク装置２−０〜２−３１とディスクアダプタ４２ａ，４２ｂとの間の通信経路が独立しているため、これらの間の通信において高いスループットの確保が可能になる。
このように、各構成要素（ユニット）間の通信経路が分離して独立しているため、各ユニット間に要求される性能に応じて、それぞれに最適なインターコネクトを採用することができ、これによって性能と実装コストとのバランスを図ることもできる。例えば、キャッシュマネージャ４０，４０間の低いレイテンシと高いスループットが要求されるパスには、PCI-ExpressやRapid-IOを採用することにより、低いレイテンシと高いスループットを実現することができる。一方、ディスクアダプタ４２ａ，４２ｂとディスク装置２−０〜２−３１（BRT５−０〜５−７）との間の高いスループットのみが要求されるパスには、例えば、PCIやファイバチャネルを採用することにより、高いスループットを実現することができる。
【００８２】
また、制御モジュール４−０〜４−７のDMAエンジン４３それぞれが複数（ここでは２つ）のポートを有し、これら２つのポートそれぞれを通じて２本のパスで他の制御モジュール４−０〜４−７のDMAエンジン４３と接続されており、制御モジュール４−０〜４−７（特に、キャッシュマネージャ４０）間の接続経路を冗長化することにより、一方の経路でも障害発生時にも通信経路を確保することができ、高い耐故障性（可用性）を実現することができる。
【００８３】
また、制御モジュール４−０〜４−７が３つ以上そなえられた情報処理システム１では、DMAエンジン４３のポート数に応じて複数のFRT６−０，６−１がそなえられるため、複数のFRT６−０，６−１のうちの一方のFRT６−０，６−１が故障により通信不能となった場合でも、他方のFRT６−０，６−１により、キャッシュマネージャ４０，４０間の通信を確保することができ、これによっても高い耐故障性を実現することができる。
【００８４】
さらに、制御モジュール４−０〜４−７のディスクアダプタ４２ａとBRT５−０〜５−７との間においても、各ディスク装置２−０〜２−３１に複数（ここでは２つ）のBRT５−０〜５−７が接続され、同一のディスク装置２−０〜２−３１に接続されたBRT５−０〜５−７毎に同一の制御モジュール４−０〜４−７の異なるディスクアダプタ４２ａ，４２ｂが接続されているため、２つのBRT５−０〜５−７のうちの一方が故障した場合であっても、他方のBRT５−０〜５−７を介してディスク装置２−０〜２−３１と通信することができるとともに、同一の制御モジュール４−０〜４−７におけるディスクアダプタ４２ａ，４２ｂのうちの一方のディスクアダプタ４２ａ、４２ｂ、もしくは、これに接続されたバスが故障により通信不能となった場合であっても、他方のディスクアダプタ４２ａ，４２ｂによって、当該制御モジュール４−０〜４−７はディスク装置２−０〜２−３１と通信することができ、各制御モジュール４−０〜４−７と各ディスク装置２−０〜２−３１との間にも高い耐故障性を実現することができる。
【００８５】
さらに、図１，図３に示すごとく、情報処理システム１，１′における構成（特に、制御モジュール４−０〜４−７）によれば、小規模から大規模までの装置（システム）を自由に構成し得る柔軟性をそなえることができる。
つまり、図３に示すごとく、２つの制御モジュール４−０〜４−７をそなえる小規模構成の場合には、FRT６−０，６−１をそなえずに必要最小限のユニット（ディスク装置２−０〜２−７、ホストコンピュータ３−０〜３−７、制御モジュール４−０，４−１、及びBRT５−０，５−１）のみで構成することができ、低コストを実現できる一方、図１に示すごとく、３以上の制御モジュール４−０〜４−７をそなえる大規模構成の場合には、各制御モジュール４−０〜４−７のDMAエンジン４３のポート数に応じてFRT６−０，６−１を設けるだけで構成することができる。
【００８６】
また、図１に示す情報処理システム１よりも大規模構成の場合（つまり、９以上の制御モジュールをそなえる場合）であっても、必要に応じて各ユニットを増やすだけで構成することができる。
このように、必要に応じて各ユニットを増減するだけで小規模から大規模までの装置（システム）を自由に構成できる。
【００８７】
なお、ディスクアダプタ４２ａ，４２ｂとBRT５−０〜５−７との間の接続に、インターフェースを構成する信号数が少ないファイバチャネルを採用することにより、ディスク装置２−０〜２−３１の増大に伴ってBRT５−０〜５−７が増加した場合であっても、接続関係が複雑にならずに容易に実装することができる。
【００８８】
〔２〕その他
なお、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、上述した実施形態では、データを保持する記憶部としてディスク（例えば、磁気テープや光ディスク）を保持するディスク装置を例にあげて説明したが、本発明はこれに限定されるものではなく、記憶部における記憶媒体は限定されるものではない。
【００８９】
また、上述した実施形態では、複数の制御モジュール４−０〜４−７のチャネルアダプタ４１ａ〜４１ｄにすべて異なるホストコンピュータ３−０〜３−３１が接続されている例をあげて説明したが、本発明はこれに限定されるものではなく、異なる制御モジュール４−０〜４−７に同一のホストコンピュータが接続されていてもよいし、また、同一の制御モジュール４−０〜４−７の複数のチャネルアダプタ４１ａ〜４１ｄに同一のホストコンピュータが接続されてもよく、これにより、制御モジュール４−０〜４−７とホストコンピュータ３−０〜３−３１との間に冗長性を持たせて耐故障性を実現することができる。
【００９０】
さらに、各構成ユニット（ディスク装置２−０〜２−３１、ホストコンピュータ３−０〜３−３１、制御モジュール４−０〜４−７、BRT５−０〜５−７、及びFRT６−０，６−１）の数、あるいは、制御モジュール４−０〜４−７を構成する各ユニット［キャッシュマネージャ４０（特にキャッシュメモリ４０ａ）、チャネルアダプタ４１ａ〜４１ｄ、ディスクアダプタ４２ａ，４２ｂ、DMAエンジン４３］の数、もしくは、これら各ユニットが有するポートの数は、本発明において限定されるものではなく、必要に応じて適宜変更、組み合わせをして構成してもよい。
【００９１】
例えば、制御モジュール４−０〜４−７に対するディスク装置２−０〜２−３１の数が少なく、BRT５−０〜５−７を介さなくても制御モジュール４−０〜４−７とディスク装置２−０〜２−３１との接続を２重化（冗長化）することができるのであれば、BRT５−０〜５−７を省いて構成してもよい。
【００９２】
〔３〕付記
（付記１）
データを保持する複数の記憶部と、
前記複数の記憶部と前記複数の記憶部に保持されたデータを処理対象とするデータ処理装置との間に介装された複数の制御モジュールとをそなえ、
前記複数の制御モジュールのそれぞれが、前記複数の記憶部に保持されたデータの一部を保持しうるキャッシュメモリと、該キャッシュメモリの制御を行なうキャッシュ制御部と、前記データ処理装置に対するインターフェースである第１インターフェース部と、前記複数の記憶部に対するインターフェースである第２インターフェース部と、他の制御モジュールと相互に通信を行なう通信部とを有して構成されるとともに、
前記複数の制御モジュールと前記複数の記憶部との間に、各制御モジュールの前記第２インターフェース部と各記憶部とを選択的に切り替えて通信可能に接続する第１スイッチユニットがそなえられていることを特徴とする、データストレージ装置。
【００９３】
（付記２）
前記制御モジュールが３以上そなえられ、
前記３以上の制御モジュールの前記通信部に接続され、前記３以上の制御モジュールの相互間を選択的に切り替えて通信可能に接続する第２スイッチユニットをそなえて構成されることを特徴とする、付記１記載のデータストレージ装置。
【００９４】
（付記３）
各制御モジュールの前記通信部が複数のポートを有し、
前記通信部の複数のポートに対応して前記第２スイッチユニットが複数そなえられていることを特徴とする、付記２記載のデータストレージ装置。
（付記４）
各制御モジュールの前記通信部と前記第２スイッチユニットとが高速シリアル伝送を利用したバスによって接続されていることを特徴とする、付記２または付記３に記載のデータストレージ装置。
【００９５】
（付記５）
各制御モジュールが前記第１インターフェース部を複数有し、
前記複数の第１インターフェース部にそれぞれ異なるデータ処理装置が接続されていることを特徴とする、付記１〜付記４のいずれか１項に記載のデータストレージ装置。
（付記６）
各制御モジュールが前記第２インターフェース部を複数有していることを特徴とする、付記１〜付記５のいずれか１項に記載のデータストレージ装置。
【００９６】
（付記７）
前記第１スイッチユニットが複数そなえられ、
各記憶部に複数の前記第１スイッチユニットが接続されるとともに、
同一の記憶部に接続された複数の前記第１スイッチユニットに、それぞれ、同一の制御モジュールにおける異なる第２インターフェース部が接続されていることを特徴とする、付記６記載のデータストレージ装置。
【００９７】
（付記８）
前記第２インターフェース部が複数のポートを有し、
前記第２インターフェース部が、前記複数のポートを通じて、異なる記憶部に接続された複数の前記第１スイッチユニットに接続されていることを特徴とする、付記７記載のデータストレージ装置。
【００９８】
（付記９）
前記第２インターフェース部と前記第１スイッチユニット及び前記記憶部と前記第１スイッチユニットとがファイバチャネルによって接続されていることを特徴とする、付記１〜付記８のいずれか１項に記載のデータストレージ装置。
（付記１０）
データを保持する複数の記憶部と、
前記複数の記憶部に保持されたデータを処理対象とするデータ処理装置と、
前記複数の記憶部と前記データ処理装置との間に介装された複数の制御モジュールとをそなえ、
前記複数の制御モジュールのそれぞれが、前記複数の記憶部に保持されたデータの一部を保持しうるキャッシュメモリと、該キャッシュメモリの制御を行なうキャッシュ制御部と、前記データ処理装置に対するインターフェースである第１インターフェース部と、前記複数の記憶部に対するインターフェースである第２インターフェース部と、他の制御モジュールと相互に通信を行なう通信部とを有して構成されるとともに、
前記複数の制御モジュールと前記複数の記憶部との間に、各制御モジュールの前記第２インターフェース部と各記憶部とを選択的に切り替えて通信可能に接続する第１スイッチユニットがそなえられていることを特徴とする、情報処理システム。
【００９９】
（付記１１）
前記制御モジュールが３以上そなえられ、
前記３以上の制御モジュールの前記通信部に接続され、前記３以上の制御モジュールの相互間を選択的に切り替えて通信可能に接続する第２スイッチユニットをそなえて構成されることを特徴とする、付記１０記載の情報処理システム。
【０１００】
（付記１２）
各制御モジュールの前記通信部が複数のポートを有し、
前記通信部の複数のポートに対応して前記第２スイッチユニットが複数そなえられていることを特徴とする、付記１１記載の情報処理システム。
（付記１３）
各制御モジュールの前記通信部と前記第２スイッチユニットとが高速シリアル伝送を利用したバスによって接続されていることを特徴とする、付記１１または付記１２記載の情報処理システム。
【０１０１】
（付記１４）
各制御モジュールが前記第１インターフェース部を複数有し、
前記複数の第１インターフェース部にそれぞれ異なるデータ処理装置が接続されていることを特徴とする、付記１０〜付記１３のいずれか１項に記載の情報処理システム。
（付記１５）
各制御モジュールが前記第２インターフェース部を複数有していることを特徴とする、付記１０〜付記１４のいずれか１項に記載の情報処理システム。
【０１０２】
（付記１６）
前記第１スイッチユニットが複数そなえられ、
各記憶部に複数の前記第１スイッチユニットが接続されるとともに、
同一の記憶部に接続された複数の前記第１スイッチユニットに、それぞれ、同一の制御モジュールにおける異なる第２インターフェース部が接続されていることを特徴とする、付記１５記載の情報処理システム。
【０１０３】
（付記１７）
各制御モジュールの前記第２インターフェース部が複数のポートを有し、
前記第２インターフェース部が、前記複数のポートを通じて、異なる記憶部に接続された複数の前記第１スイッチユニットに接続されていることを特徴とする、付記１６記載の情報処理システム。
【０１０４】
（付記１８）
各制御モジュールの前記第２インターフェース部と前記第１スイッチユニット及び前記記憶部と前記第１スイッチユニットとがファイバチャネルによって接続されていることを特徴とする、付記１０〜付記１７のいずれか１項に記載の情報処理システム。
【図面の簡単な説明】
【０１０５】
【図１】本発明の一実施形態としての情報処理システム（３以上の制御モジュールをそなえる場合）の構成を示すブロック図である。
【図２】本発明の一実施形態としての情報処理システムの制御モジュールの構成を示すブロック図である。
【図３】本発明の一実施形態としての情報処理システム（２つの制御モジュールをそなえる場合）の構成を示すブロック図である。
【図４】第１の従来例としての情報処理システムの構成を示すブロック図である。
【図５】第２の従来例としての情報処理システムの構成を示すブロック図である。
【図６】第３の従来例としての情報処理システムの構成を示すブロック図である。
【符号の説明】
【０１０６】
１，１′，１００〜１０２  情報処理システム
２−０〜２−３１，１２  ディスク装置（記憶部）
２ａ，１２ａ  ディスク
２ｂ，１２ｂ  ディスクドライブ
３−０〜３−３１  ホストコンピュータ（データ処理装置）
４−０〜４−７  制御モジュール
５−０〜５−７  Back-end Router（第１スイッチユニット）
６−０，６−１  Front-end Router（第２スイッチユニット）
１０，４０  キャッシュマネージャ
１０ａ，４０ａ  キャッシュメモリ
１０ｂ，４０ｂ  キャッシュ制御部
１１，４１ａ〜４１ｄ  チャネルアダプタ（第１インターフェース部）
１３，４２ａ，４２ｂ  ディスクアダプタ（第２インターフェース部）
１４  ルータ
４３  DMAエンジン（通信部）
【図１】
2006155392.tif 000003
【図２】
2006155392.tif 000004
【図３】
2006155392.tif 000005
【図４】
2006155392.tif 000006
【図５】
2006155392.tif 000007
【図６】
2006155392.tif 000008