(57)【要約】【課題】記憶部及び制御部間の多種多様な接続形態を１つの装置で実現することができるデータ制御装置、記憶装置及びデータ制御装置の接続方法を提供することにある。【解決手段】この記憶装置１は、上流側及び下流側に設けられた複数の第１及び第２の端子と、第１及び第２の端子間の接続を任意に切り替える回路部１１１とを有するクロスバースイッチ部１１と、上流側及び下流側に設けられた第１及び第２の入出力部を有し、第２の入出力部がクロスバースイッチ部１１の第２の端子に接続され、第１の入出力部がクロスバースイッチ部１１の第２の端子に接続され、第１及び第２の入出力部間でデータの入出力を制御する複数のＲＡＩＤコントローラ１３１〜１３４と、クロスバースイッチ部１１の複数の第２の端子に接続された複数の記憶部１２１〜１２１１とを備える。【選択図】図３
2010128572.tif 000002
【特許請求の範囲】
【請求項１】
上流側に設けられた複数の第１の端子と、下流側に設けられた複数の第２の端子と、前記複数の第１の端子と前記複数の第２の端子との間の接続状態を外部からの切替信号に基づいて任意に切り替える回路部とを有するスイッチ部と、
上流側に設けられた第１の入出力部と、下流側に設けられた第２の入出力部とを有し、前記第２の入出力部が前記スイッチ部の前記第１の端子に接続され、前記第１の入出力部が前記スイッチ部の前記第２の端子に接続され、前記第１の入出力部と前記第２の入出力部との間でデータの入出力を制御する１又は２以上の制御部とを備えたデータ制御装置。
【請求項２】
前記スイッチ部の前記第１の端子、又は前記制御部の前記第１の入出力部は、上位装置に接続された請求項１に記載のデータ制御装置。
【請求項３】
前記スイッチ部の前記回路部は、前記第２の端子に接続された記憶部の障害が検出されたとき、前記切替信号に基づいて、前記障害が検出された記憶部の代わりに他の記憶部が前記制御部に接続されるように前記接続状態を切り替える請求項１に記載のデータ制御装置。
【請求項４】
前記スイッチ部の前記回路部は、前記制御部の障害が検出されたとき、前記切替信号に基づいて、前記障害が検出された前記制御部が、他の制御部又は前記記憶部に接続されないように前記接続状態を切り替える請求項１に記載のデータ制御装置。
【請求項５】
上流側に設けられた複数の第１の端子と、下流側に設けられた複数の第２の端子と、前記複数の第１の端子と前記複数の第２の端子との間の接続状態を外部からの切替信号に基づいて任意に切り替える回路部とを有するスイッチ部と、
上流側に設けられた第１の入出力部と、下流側に設けられた第２の入出力部とを有し、前記第２の入出力部が前記スイッチ部の前記第１の端子に接続され、前記第１の入出力部が前記スイッチ部の前記第２の端子に接続され、前記第１の入出力部と前記第２の入出力部との間でデータの入出力を制御する１又は２以上の制御部と、
前記スイッチ部の前記複数の第２の端子に接続された複数の記憶部とを備えた記憶装置。
【請求項６】
上流側に設けられた複数の第１の端子、下流側に設けられた複数の第２の端子、及び前記複数の第１の端子と前記複数の第２の端子との間の接続状態を外部からの切替信号に基づいて任意に切り替える回路部を有するスイッチ部と、上流側に設けられた第１の入出力部、及び下流側に設けられた第２の入出力部を有し、前記第１の入出力部と前記第２の入出力部との間でデータの入出力を制御する１又は２以上の制御部とを準備する工程と、
前記１又は２以上の制御部が有する前記第２の入出力部を、前記スイッチ部が有する前記第１の端子に接続する工程と、
前記１又は２以上の制御部が有する前記第１の入出力部を、前記スイッチ部が有する前記第２の端子に接続する工程とを含むデータ制御装置の接続方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ制御装置、記憶装置及びデータ制御装置の接続方法に関する。
【背景技術】
【０００２】
従来、上位装置に接続され、複数台のディスクアレイモジュール間でディスクアレイ制御を行うディスクアレイ装置が知られている（例えば、特許文献１参照）。
【０００３】
このディスクアレイ装置は、上位装置に接続されたルータと、各々が独立した複数台のディスクアレイモジュールと、上記ルータを上位ポートに接続し、上記複数台のディスクアレイモジュールを下位ポートに接続するとともに、それら上位ポート及び下位ポート間の接続を行うスイッチ手段とを備える。
【特許文献１】特開平８−３２８７６０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、記憶部及び制御部間の多種多様な接続形態を１つの装置で実現することができるデータ制御装置、記憶装置及びデータ制御装置の接続方法を提供することにある。
【課題を解決するための手段】
【０００５】
本発明は、上記目的を達成するため、以下のデータ制御装置、記憶装置及びデータ制御装置の接続方法を提供する。
【０００６】
［１］上流側に設けられた複数の第１の端子と、下流側に設けられた複数の第２の端子と、前記複数の第１の端子と前記複数の第２の端子との間の接続状態を外部からの切替信号に基づいて任意に切り替える回路部とを有するスイッチ部と、上流側に設けられた第１の入出力部と、下流側に設けられた第２の入出力部とを有し、前記第２の入出力部が前記スイッチ部の前記第１の端子に接続され、前記第１の入出力部が前記スイッチ部の前記第２の端子に接続され、前記第１の入出力部と前記第２の入出力部との間でデータの入出力を制御する１又は２以上の制御部とを備えたデータ制御装置。
【０００７】
［２］前記スイッチ部の前記第１の端子、又は前記制御部の前記第１の入出力部は、上位装置に接続された前記［１］に記載のデータ制御装置。
【０００８】
［３］前記スイッチ部の前記回路部は、前記第２の端子に接続された記憶部の障害が検出されたとき、前記切替信号に基づいて、前記障害が検出された記憶部の代わりに他の記憶部が前記制御部に接続されるように前記接続状態を切り替える前記［１］に記載のデータ制御装置。
【０００９】
［４］前記スイッチ部の前記回路部は、前記制御部の障害が検出されたとき、前記切替信号に基づいて、前記障害が検出された前記制御部が、他の制御部又は前記記憶部に接続されないように前記接続状態を切り替える前記［１］に記載のデータ制御装置。
【００１０】
［５］上流側に設けられた複数の第１の端子と、下流側に設けられた複数の第２の端子と、前記複数の第１の端子と前記複数の第２の端子との間の接続状態を外部からの切替信号に基づいて任意に切り替える回路部とを有するスイッチ部と、上流側に設けられた第１の入出力部と、下流側に設けられた第２の入出力部とを有し、前記第２の入出力部が前記スイッチ部の前記第１の端子に接続され、前記第１の入出力部が前記スイッチ部の前記第２の端子に接続され、前記第１の入出力部と前記第２の入出力部との間でデータの入出力を制御する１又は２以上の制御部と、前記スイッチ部の前記複数の第２の端子に接続された複数の記憶部とを備えた記憶装置。
【００１１】
［６］上流側に設けられた複数の第１の端子、下流側に設けられた複数の第２の端子、及び前記複数の第１の端子と前記複数の第２の端子との間の接続状態を外部からの切替信号に基づいて任意に切り替える回路部を有するスイッチ部と、上流側に設けられた第１の入出力部、及び下流側に設けられた第２の入出力部を有し、前記第１の入出力部と前記第２の入出力部との間でデータの入出力を制御する１又は２以上の制御部とを準備する工程と、  前記１又は２以上の制御部が有する前記第２の入出力部を、前記スイッチ部が有する前記第１の端子に接続する工程と、前記１又は２以上の制御部が有する前記第１の入出力部を、前記スイッチ部が有する前記第２の端子に接続する工程とを含むデータ制御装置の接続方法。
【発明の効果】
【００１２】
請求項１，５，６に係る発明によれば、記憶部及び制御部間の多種多様な接続形態を１つの装置で実現することができる。
【００１３】
請求項２に係る発明によれば、上位装置を頂点とした階層構造の接続形態を実現することができる。
【００１４】
請求項３に係る発明によれば、記憶部に障害が発生した場合に、障害が発生する前の接続形態を保持することができる。
【００１５】
請求項４に係る発明によれば、制御部に障害が発生した場合でも、データ制御装置の動作を継続することができる。
【発明を実施するための最良の形態】
【００１６】
本発明の実施の形態に係る記憶装置は、上流側に設けられた複数の第１の端子と、下流側に設けられた複数の第２の端子と、前記複数の第１の端子と前記複数の第２の端子との間の接続状態を外部からの切替信号に基づいて任意に切り替える回路部とを有するスイッチ部と、上流側に設けられた第１の入出力部と、下流側に設けられた第２の入出力部とを有し、前記第２の入出力部が前記スイッチ部の前記第１の端子に接続され、前記第１の入出力部が前記スイッチ部の前記第２の端子に接続され、前記第１の入出力部と前記第２の入出力部との間でデータの入出力を制御する１又は２以上の制御部と、前記スイッチ部の前記複数の第２の端子に接続された複数の記憶部とを備える。
【００１７】
なお、スイッチ部の前記第１の端子、又は前記制御部の前記第１の入出力部には、上位装置が接続されていてもよい。
【００１８】
上記構成において、スイッチ部の第１の端子には、制御部の第２の入出力部が接続され、スイッチ部の第２の端子には、複数の記憶部と制御部の第１の入出力部とが接続されており、回路部の第１及び第２の端子間の接続状態は、任意に切り替えられる。
【００１９】
例えば、回路部の接続状態を、１つの制御部に複数の記憶部を接続するように切り替えた場合には、制御部の下流側に複数の記憶部が配置された階層構造の接続形態が実現される。また、回路部の接続状態を、１つの制御部に他の制御部を接続するように切り替えた場合には、制御部の下流側に他の制御部が配置された階層構造の接続形態が実現され、１つの制御部に他の制御部と記憶部とを接続するように切り替えた場合には、制御部の下流側に制御部と記憶部が配置された階層構造の接続形態が実現される。そして、上記の３通りの接続形態を組み合わせた場合には、記憶装置により複数層の階層構造の接続形態が実現される。
【００２０】
［第１の実施の形態］
図１は、本発明の第１の実施の形態に係る記憶システムの概略構成の一例を示すブロック図である。この記憶システム１００は、記憶装置１が上位装置２に接続されて構成されている。
【００２１】
（上位装置）
上位装置２は、データの書き込みや読み出し等を記憶装置１に要求する装置である。このような上位装置２は、例えば、サーバ、コンピュータ（ＰＣ）、ワークステーション（ＷＳ）等で構成されている。
【００２２】
上位装置２は、記憶装置１との間で、例えば、シリアルＡＴＡ、ＵＳＢ、ＳＡＳ、ファイバーチャネル、インフィニバンド、ＰＣＩ  Ｅｘｐｒｅｓｓ、ＩＤＥ、ＳＣＳＩ等のインターフェース規格に則って接続されている。なお、上位装置２は、ローカルエリアネットワーク（ＬＡＮ）やインターネット等の通信網に接続されるポートを備え、そのポートを介して他のホスト装置や端末装置に接続されていてもよい。
【００２３】
（記憶装置）
記憶装置１は、クロスバースイッチ部（スイッチ部）１１と、複数の記憶部１２１〜１２１１と、複数のＲＡＩＤコントローラ（制御部）１３１〜１３４と、インターフェース（Ｉ／Ｆ）部１４と、切替指示部１５と、ソート処理部１６とを備える。なお、クロスバースイッチ部１１、及びＲＡＩＤコントローラ１３１〜１３４は、データ制御装置を構成する。
【００２４】
（クロスバースイッチ部）
クロスバースイッチ部１１は、上流側に設けられた１６個の第１の端子１１０Ａ１〜１１０Ａ１６と、下流側に設けられた１６個の第２の端子１１０Ｂ１〜１１０Ｂ１６と、それら第１の端子１１０Ａ１〜１１０Ａ１６と、第２の端子１１０Ｂ１〜１１０Ｂ１６との間の接続状態を外部からの切替信号に基づいて任意に切り替える回路部１１１とを有する。クロスバースイッチ部１１は、例えば、ＦＰＧＡ（Field Programmable Gate Array）等のプログラマブルロジックデバイス等により構成されている。なお、第１及び第２の端子の数は、１６個に限定されない。
【００２５】
回路部１１１は、クロスバースイッチ部１１の内部回路であり、例えば、第１の端子１１０Ａ１〜１１０Ａ１６と、第２の端子１１０Ｂ１〜１１０Ｂ１６との間を１対１で接続する横方向の複数の伝送路と、その横方向の複数の伝送路に交差するように配置された縦方向の複数の伝送路と、縦方向及び横方向の伝送路がマトリクス状に交差した位置に設けられた複数のスイッチ回路とを有する。
【００２６】
回路部１１１は、切替指示部１５からの切替信号とともに切替指示部１５から送られた接続状態情報に基づいて複数のスイッチ回路の接点状態を変更することで、第１の端子１１０Ａ１〜１１０Ａ１６と、第２の端子１１０Ｂ１〜１１０Ｂ１６との間の接続状態を任意に切り替える。
【００２７】
（ＲＡＩＤコントローラ）
ＲＡＩＤコントローラ１３１〜１３４の各々は、上流側に設けられた１つの第１の入出力部１３０Ａと、下流側に設けられた３つの第２の入出力部１３０Ｂ１〜１３０Ｂ３とを有する。記憶部１に設けられたＲＡＩＤコントローラの数は、３つに限られず、１つでもよいし、複数でもよい。また、第２の入出力部の数は、３つに限定されず、１つでもよいし、複数でもよいし、各ＲＡＩＤコントローラ間で第２の入出力部の数が異なっていてもよい。
【００２８】
ＲＡＩＤコントローラ１３１〜１３４は、第１の入出力部１３０Ａと、第２の入出力部１３０Ｂ１〜１３０Ｂ３との間でデータの入出力を制御する。データを制御する方式としては、例えば、ＲＡＩＤ０〜ＲＡＩＤ６等の各種のデータ制御方式が適用される。なお、各ＲＡＩＤコントローラには、異なるデータ制御方式が適用されてもよく、例えば、ＲＡＩＤコントローラ１３１〜１３３は、ＲＩＡＤ１を適用し、ＲＡＩＤコントローラ１３４は、ＲＩＡＤ５を適用してもよい。
【００２９】
ＲＡＩＤコントローラ１３１が有する第２の入出力部１３０Ｂ１〜１３０Ｂ３は、クロスバースイッチ部１１の第１の端子１１０Ａ１〜１１０Ａ３にそれぞれ接続されている。同様に、ＲＡＩＤコントローラ１３２が有する第２の入出力部１３０Ｂ１〜１３０Ｂ３は、第１の端子１１０Ａ４〜１１０Ａ６にそれぞれ接続され、ＲＡＩＤコントローラ１３３が有する第２の入出力部１３０Ｂ１〜１３０Ｂ３は、第１の端子１１０Ａ７〜１１０Ａ９にそれぞれ接続され、ＲＡＩＤコントローラ１３４が有する第２の入出力部１３０Ｂ１〜１３０Ｂ３は、第１の端子１１０Ａ１０〜１１０Ａ１２にそれぞれ接続されている。
【００３０】
また、ＲＡＩＤコントローラ１３１が有する第１の入出力部１３０Ａは、クロスバースイッチ部１１の第２の端子１１０Ｂ１３に接続されている。同様に、ＲＡＩＤコントローラ１３２が有する第１の入出力部１３０Ａは、第２の端子１１０Ｂ１４に接続され、ＲＡＩＤコントローラ１３３が有する第１の入出力部１３０Ａは、第２の端子１１０Ｂ１５に接続され、ＲＡＩＤコントローラ１３４が有する第１の入出力部１３０Ａは、第２の端子１１０Ｂ１６に接続されている。
【００３１】
（Ｉ／Ｆ部）
Ｉ／Ｆ部１４は、上位装置２に接続されるとともに、クロスバースイッチ部１１の第１の端子１１０Ａ１６に接続され、上位装置２との間でデータの送受信が行われる。なお、Ｉ／Ｆ部１４は、ＲＡＩＤコントローラ１３１〜１３４が有する第１の入出力部１３０Ａに接続されていてもよい。
【００３２】
（記憶部）
記憶部１２１〜１２１１の各々は、クロスバースイッチ部１１の第２の端子１１０Ｂ１〜１１０Ｂ１１にそれぞれ接続され、データの書き込み及び読み出しが行われる。この記憶部１２１〜１２１１には、例えば、ＤＲＡＭ等の揮発性の半導体メモリ、又はフラッシュメモリ等の不揮発性の半導体メモリが用いられる。なお、記憶部１２１〜１２１１は、磁気によるハードディスクでもよいし、ＤＶＤ等の光ディスクでもよいし、他の記憶方式を採用してもよい。また、複数の記憶部間で記憶方式が異なっていてもよい。
【００３３】
（切替指示部）
切替指示部１５は、経路演算指示手段１５０と、経路変更指示手段１５１とを備え，例えば、ＣＰＵ等により実現されている。
【００３４】
経路演算指示手段１５０は、初期設定の実行が指示された旨を通知する初期設定信号や、記憶部１２１〜１２１１及びＲＡＩＤコントローラ１３１〜１３４から障害を検出した旨を通知する障害発生信号を受け付けたとき、クロスバースイッチ部１１の接続状態を変更すべく、ソート処理部１６に接続状態情報の演算を指示する。初期設定信号は、例えば、ユーザが記憶部の取り付け、取り外し及び交換等の変更作業を行った場合や、変更作業を行わなくてもユーザが接続形態を変更したい場合等に、図示しない操作部から切替指示部１５に送られる。
【００３５】
経路変更指示手段１５１は、ソート処理部１６による演算結果である接続状態情報をクロスバースイッチ部１１に送り、クロスバースイッチ部１１に接続状態を切り替えるように指示する。
【００３６】
（ソート処理部）
ソート処理部１６は、経路変更指示手段１５１からの指示に基づいて、接続状態情報の演算を行う。ソート処理部１６は、各種のソート処理のアルゴリズムを採用したプログラムを実行する、例えば、ＣＰＵ等により実現されている。以下に、接続状態情報を演算する際のソート処理の一例について図２（ａ）及び（ｂ）を参照して説明する。なお、図２（ａ）及び（ｂ）では、第１及び第２の端子の数をそれぞれ８個とする。
【００３７】
図２（ａ）は、バブルソートにより回路部の接続状態情報を演算した場合の一例を示す図である。この回路部１１１は、第１の端子の各々を第２の端子のうち接続先の端子２００にそれぞれ接続する接続状態を、バブルソートのアルゴリズムを用いてあみだで表現したものである。バブルソートは、横線２０１に相当する端子同士で比較を行って、端子番号がより大きなものが、図２（ａ）において下側になるように縦線２０２を順次追加するものである。
【００３８】
例えば、上側の２本の横線２０１を例にとると、第１の端子１１０Ａ１の接続先の端子は、第２の端子１１０Ｂ８であり、第１の端子１１０Ａ２の接続先の端子は、第２の端子１１０Ｂ４であるため、縦線２０２を追加する。このような縦線２０２を追加する操作を繰り返し行うことにより、図２（ａ）に示すような接続状態が演算される。
【００３９】
図２（ｂ）は、並列ソートの一種であるＯｄｄ−Ｅｖｅｎ  Ｍｅｒｇｅ  Ｓｏｒｔにより回路部の接続状態情報を演算した場合の一例を示す図である。この回路部１１１は、図２（ａ）と同様の接続状態を、Ｏｄｄ−Ｅｖｅｎ  Ｍｅｒｇｅ  Ｓｏｒｔのアルゴリズムを用いて演算したものである。
【００４０】
なお、バブルソートにおける接続状態の総数は、第１及び第２の端子数を「Ｎ」とすると、Ｎ！パターン存在し、比較回数は、Ｎ（Ｎ−１）／２となる。接続状態情報の大きさの極限値は、ｌｏｇ２（Ｎ！）ビット程度となり、端子数が２５６の場合には、極限値は１６８５ビットであるのに対し、バブルソートの接続状態情報の大きさは、３２３８５ビットである。
【００４１】
一方、Ｏｄｄ−Ｅｖｅｎ  Ｍｅｒｇｅ  Ｓｏｒｔは、比較回数がＯ（ｎｌｏｇｎ２）とバブルソートに比べて少なく、接続状態情報の大きさは、端子数が２５６の場合で３８３９ビットであり、極限値に近い。
【００４２】
（記憶装置の各部の接続方法）
次に、記憶装置１におけるクロスバースイッチ部１１、４つのＲＡＩＤコントローラ１３１〜１３４、及び１１個の記憶部１２１〜１２１１の接続方法について図１を参照して説明する。
【００４３】
まず、クロスバースイッチ部１１と、４つのＲＡＩＤコントローラ１３１〜１３４と、１１個の記憶部１２１〜１２１１とを準備する。
【００４４】
次に、図１に示すように、ＲＡＩＤコントローラ１３１〜１３４がそれぞれ有する第２の入出力部１３０Ｂ１〜１３０Ｂ３を、クロスバースイッチ部１１が有する第１の端子１１０Ａ１〜１１０Ａ１２にそれぞれ接続する。
【００４５】
次に、ＲＡＩＤコントローラ１３１〜１３４がそれぞれ有する第１の入出力部１３０Ａを、クロスバースイッチ部１１が有する第２の端子１１０Ｂ１３〜１１０Ｂ１６にそれぞれ接続する。
【００４６】
そして、クロスバースイッチ部１１が有する第２の端子１１０Ｂ１〜１１０Ｂ１１に１１個の記憶部１２１〜１２１１をそれぞれ接続する。以上のように各部を接続することにより、図１に例示した記憶装置１が構成される。
【００４７】
（第１の実施の形態の動作）
次に、記憶システム１００の動作の一例を図３〜図９を参照して説明する。
【００４８】
（１）初期設定時の接続状態の切替
記憶装置１の電源が投入されて、例えば、操作部により初期設定の操作が行われると、切替指示部１５の経路演算指示手段１５０は、その操作部から初期設定信号を受け付ける。
【００４９】
そして、経路演算指示手段１５０は、記憶装置１により実現される接続形態を示す構成情報をソート処理部１６に送り、その構成情報に基づいて接続状態情報の演算を行うようにソート処理部１６に指示する。
【００５０】
図３は、記憶装置により実現される接続形態の一例を示す図である。この接続形態１０１Ａは、４層の階層構造を有する。その階層構造の最上層には、Ｉ／Ｆ部１４が配置され、その下の２層目には、Ｉ／Ｆ部１４に接続されたＲＡＩＤコントローラ１３４が配置され、その下の３層目には、ＲＡＩＤコントローラ１３４に接続された３つのＲＡＩＤコントローラ１３１〜１３３が配置されている。さらに、その下の４層目（最下層）には、ＲＡＩＤコントローラ１３１に接続された３つの記憶部１２１〜１２３と、ＲＡＩＤコントローラ１３２に接続された３つの記憶部１２４〜１２６と、ＲＡＩＤコントローラ１３３に接続された３つの記憶部１２７〜１２９とが配置されている。記憶部１２１０，１２１１は、予備の記憶部であり、ＲＡＩＤコントローラとは接続されていない。
【００５１】
ソート処理部１６に送られる構成情報は、図３に例示した接続形態１０１Ａを記録した情報であり、第１の端子に対する接続先の第２の端子が指定された情報である。
【００５２】
次に、ソート処理部１６は、経路演算指示手段１５０から送られた構成情報に基づいて演算を行い、その演算結果である接続状態情報を切替指示部１５に送る。
【００５３】
次に、切替指示部１５の経路変更指示手段１５１は、ソート処理部１６から接続状態情報を受け取ると、その接続状態情報をクロスバースイッチ部１１に送り、クロスバースイッチ部１１に接続状態を切り替えるように切替信号を送る。
【００５４】
そして、クロスバースイッチ部１１は、その切替信号を受け取ると、接続状態情報に基づいて、回路部１１１の接続状態を切り替える。
【００５５】
図４は、図３に示す接続形態を実現するクロスバースイッチ部の接続状態の一例を示す図である。図４では、説明の簡略のため、クロスバースイッチ部１１の回路部１１１により接続された第１の端子と第２の端子との間を直線で結んでいる。
【００５６】
このクロスバースイッチ部１１の回路部１１１では、Ｉ／Ｆ部１４の下流側にＲＡＩＤコントローラ１３４を配置すべく、第１の端子１１０Ａ１６と、第２の端子１１０Ｂ１６とが接続され、ＲＡＩＤコントローラ１３４の下流側にＲＡＩＤコントローラ１３１〜１３３を配置すべく、第１の端子１１０Ａ１０〜１１０Ａ１２と、第２の端子１１０Ｂ１３〜１１０Ｂ１５とがそれぞれ接続されている。また、回路部１１１では、ＲＡＩＤコントローラ１３１〜１３３の下流側にそれぞれ記憶部１２１〜１２９を３つずつ配置すべく、第１の端子１１０Ａ１〜１１０Ａ９と、第２の端子１１０Ｂ１〜１１０Ｂ９とがそれぞれ接続されている。
【００５７】
また、予備の記憶部１２１０，１２１１が接続された第２の端子１１０Ｂ１０，１１０Ｂ１１は、ＲＡＩＤコントローラ１３１〜１３４及びＩ／Ｆ部１４のいずれにも接続されていない空き端子である第１の端子１１０Ａ１３，１１０Ａ１４に接続されている。また、記憶部に接続されていない空き端子である第２の１１０Ｂ１２は、空き端子である第１の端子１１０Ａ１５に接続されている。
【００５８】
図４において、例えば、上位装置２から１層目のＩ／Ｆ部１４を介して記憶部１２１までのデータの流れを辿ると、２層目はＲＡＩＤコントローラ１３４を通過し、３層目はＲＡＩＤコントローラ１３１を通過し、４層目の記憶部１２１に到達することとなり、図３に例示した接続形態１０１Ａに一致する。
【００５９】
（２）記憶部で障害が発生した場合の接続状態の切替
ここでは、クロスバースイッチ部１１が、図４に例示した接続状態により動作している状態において、例えば、記憶部１２６で障害が発生した場合の動作について、図５及び図６を参照し図９のフローチャートに従って説明する。
【００６０】
まず、記憶部１２６が障害の発生を検出すると、その旨を示す障害発生信号を切替指示部１５に送り、切替指示部１５の経路演算指示手段１５０は、その障害発生信号を受け付ける（Ｓ１）。
【００６１】
次に、経路演算指示手段１５０は、障害が発生したデバイスが記憶部の場合には（Ｓ１０：Ｙｅｓ）、記憶部１２６の代わりに予備の記憶部１２１０に切り替えた構成情報を生成し（Ｓ２０）、その構成情報をソート処理部１６に送り、接続状態情報の演算を指示する。
【００６２】
図５は、予備の記憶部に切り替えた場合の接続形態の一例を示す図である。この接続形態１０１Ｂは、図３と比較して、ＲＡＩＤコントローラ１３２に記憶部１２６の代わりに予備の記憶部１２１０が接続されている点が異なる。
【００６３】
次に、ソート処理部１６は、接続状態情報の演算を行い（Ｓ３０）、その演算結果である接続状態情報を切替指示部１５に送ると、切替指示部１５の経路変更指示手段１５１は、その接続状態情報が示す接続状態に切り替えるように切替信号をクロスバースイッチ部１１に送る。そして、クロスバースイッチ部１１は、その切替信号を受け取ると、その接続状態情報に基づいて回路部１１１の接続状態を切り替える（Ｓ４０）。
【００６４】
図６は、図５に示す接続形態を実現するクロスバースイッチ部の接続状態の一例を示す図である。このクロスバースイッチ部１１の回路部１１１は、図４と比較して、障害が発生した記憶部１２６に接続された第２の端子１１０Ｂ６が、第１の端子１１０Ａ１３に接続され、予備の記憶部１２１０に接続された第１の端子１１０Ａ１０が、第２の端子１１０Ｂ６に接続されている点が異なる。
【００６５】
そして、記憶装置１は、上位装置２からの要求に基づくデータの読み書きを再開する（Ｓ５０）。なお、データの読み書きを再開する前に、例えば、ＲＡＩＤコントローラ１３２がＲＡＩＤ５のデータ制御方式を適用していた場合には、ＲＡＩＤコントローラ１３２に接続された他の記憶部１２４，１２５に記憶されたデータに基づいて、障害が発生した記憶部１２６に記憶されたデータを復元（リビルド）するようにしてもよい。
【００６６】
（３）ＲＡＩＤコントローラで障害が発生した場合の接続状態の切替
ここでは、クロスバースイッチ部１１が、図４に例示した接続状態により動作している状態において、例えば、ＲＡＩＤコントローラ１３３で障害が発生した場合の動作について、図７及び図８を参照し図９のフローチャートに従って説明する。
【００６７】
まず、ＲＡＩＤコントローラ１３３が障害の発生を検出すると、その旨を示す障害発生信号を切替指示部１５に送り、切替指示部１５の経路演算指示手段１５０は、その障害発生信号を受け付ける（Ｓ１）。
【００６８】
次に、経路演算指示手段１５０は、障害が発生したデバイスがＲＡＩＤコントローラの場合には（Ｓ１０：Ｎｏ）、その障害が発生したＲＡＩＤコントローラ１３３を切り離した構成情報を生成し（Ｓ２１）、その構成情報をソート処理部１６に送り、接続状態情報の演算をソート処理部１６に指示する。
【００６９】
図７は、障害が発生したＲＡＩＤコントローラを切り離した場合の接続形態の一例を示す図である。この接続形態１０１Ｃは、図３と比較して、ＲＡＩＤコントローラ１３４の第２の入出力部１３０Ｂ３に、ＲＡＩＤコントローラ１３３の第１の入出力部１３０Aが接続されていない点が異なる。
【００７０】
次に、ソート処理部１６による接続状態情報の演算が行われ（Ｓ３０）、経路変更指示手段１５１により切替信号がクロスバースイッチ部１１に送られると、クロスバースイッチ部１１は、その接続状態情報に基づいて回路部１１１の接続状態を切り替える（Ｓ４０）。
【００７１】
図８は、図７に示す接続形態を実現するクロスバースイッチ部の接続状態の一例を示す図である。このクロスバースイッチ部１１の回路部１１１は、図４と比較して、障害が発生したＲＡＩＤコントローラ１３３の第１の入出力部１３０Ａに接続された第２の端子１１０Ｂ１５が、空き端子である第１の端子１１０Ａ１５に接続され、ＲＡＩＤコントローラ１３４の第２の入出力部１３０Ｂ３に接続された第１の端子１１０Ａ１２が、空き端子である第２の端子１１０Ｂ１２に接続されている点が異なる。
【００７２】
そして、記憶装置１は、上位装置２からの要求に基づくデータの読み書きを再開する（Ｓ５０）。なお、データの読み書きを再開する前に、例えば、障害が発生したＲＡＩＤコントローラ１３３に接続された記憶部１２７〜１２９に記憶されているデータが読み出せるように接続形態を一時的に切り替えてもよい。
【００７３】
［第２の実施の形態］
図１０は、本発明の第２の実施の形態に係る記憶システムの概略構成の一例を示すブロック図である。この記憶システム１００は、記憶装置１が２つの上位装置２Ａ，２Ｂに接続されて構成されている。なお、２つの上位装置２Ａ，２Ｂは、第１の実施の形態と同様に構成されている。
【００７４】
本実施の形態に係る記憶装置１は、第１の実施の形態と比較して、２つの上位装置２Ａ，２Ｂにそれぞれ接続された２つのＩ／Ｆ部１４Ａ，１４Ｂを備える点が異なり、その他は同様に構成されている。なお、記憶装置１は、Ｉ／Ｆ部を３つ以上備えていてもよい。
【００７５】
Ｉ／Ｆ部１４Ａは、クロスバースイッチ部１１の第１の端子１１０Ａ１６に接続され、Ｉ／Ｆ部１４Ｂは、クロスバースイッチ部１１の第１の端子１１０Ａ１５に接続されている。
【００７６】
図１１は、記憶装置により実現される２つの接続形態の一例を示す図である。この記憶装置１では、上位装置２ＡにＩ／Ｆ部１４Aを介して接続された接続形態１０１Ｄと、上位装置２ＢにＩ／Ｆ部１４Ｂを介して接続された接続形態１０１Ｅとが実現される。
【００７７】
接続形態１０１Ｄは、図３と同様の４層の階層構造を有し、最上層にはＩ／Ｆ部１４Ａ、その下の２層目にはＲＡＩＤコントローラ１３４、その下の３層目には２つのＲＡＩＤコントローラ１３１，１３２、その下の４層目（最下層）には６つの記憶部１２１〜１２６が配置されている。
【００７８】
接続形態１０１Ｄは、３層の階層構造を有し、最上層にはＩ／Ｆ部１４Ｂ、その下の２層目にはＲＡＩＤコントローラ１３３、その下の３層目（最下層）には３つの記憶部１２７〜１２９が配置されている。
【００７９】
図１２は、図１１に示す接続形態を実現するクロスバースイッチ部の接続状態の一例を示す図である。このクロスバースイッチ部１１の回路部１１１では、Ｉ／Ｆ部１４Ａの下流側にＲＡＩＤコントローラ１３４を配置すべく、第１の端子１１０Ａ１６と、第２の端子１１０Ｂ１６とが接続され、ＲＡＩＤコントローラ１３４の下流側に２つのＲＡＩＤコントローラ１３１，１３２を配置すべく、第１の端子１１０Ａ１０，１１０Ａ１１と、第２の端子１１０Ｂ１３，１１０Ｂ１４とがそれぞれ接続され、ＲＡＩＤコントローラ１３１，１３２の下流側にそれぞれ記憶部１２１〜１２６を３つずつ配置すべく、第１の端子１１０Ａ１〜１１０Ａ６と、第２の端子１１０Ｂ１〜１１０Ｂ６とがそれぞれ接続されている。
【００８０】
また、回路部１１１では、Ｉ／Ｆ部１４Ｂの下流側にＲＡＩＤコントローラ１３３を配置すべく、第１の端子１１０Ａ１５と、第２の端子１１０Ｂ１５とが接続され、ＲＡＩＤコントローラ１３３の下流側に３つの記憶部１２７〜１２９を配置すべく、第１の端子１１０Ａ７〜１１０Ａ９と、第２の端子１１０Ｂ７〜１１０Ｂ９とがそれぞれ接続されている。
【００８１】
［他の実施の形態］
なお、本発明は、上記各実施の形態に限定されず、本発明の趣旨を逸脱しない範囲内で種々な変形が可能である。
【図面の簡単な説明】
【００８２】
【図１】図１は、本発明の第１の実施の形態に係る記憶システムの概略構成の一例を示すブロック図である。
【図２】図２（ａ）は、バブルソートによる回路部の接続状態情報を演算した場合の一例を示す図である。図２（ｂ）は、Ｏｄｄ−Ｅｖｅｎ  Ｍｅｒｇｅ  Ｓｏｒｔによる回路部の接続状態情報を演算した場合の一例を示す図である。
【図３】図３は、記憶装置により実現される接続形態の一例を示す図である。
【図４】図４は、図３に示す接続形態を実現するクロスバースイッチ部の接続状態の一例を示す図である。
【図５】図５は、予備の記憶部に切り替えた場合の接続形態の一例を示す図である。
【図６】図６は、図５に示す接続形態を実現するクロスバースイッチ部の接続状態の一例を示す図である。
【図７】図７は、障害が発生したＲＡＩＤコントローラを切り離した場合の接続形態の一例を示す図である。
【図８】図８は、図７に示す接続形態を実現するクロスバースイッチ部の接続状態の一例を示す図である。
【図９】図９は、障害が発生した際の記憶装置の動作の一例を示すフローチャートである。
【図１０】図１０は、本発明の第２の実施の形態に係る記憶システムの概略構成の一例を示すブロック図である。
【図１１】図１１は、記憶装置により実現される２つの接続形態の一例を示す図である。
【図１２】図１２は、図１１に示す接続形態を実現するクロスバースイッチ部の接続状態の一例を示す図である。
【符号の説明】
【００８３】
１…記憶装置、２，２Ａ，２Ｂ…上位装置、１１…クロスバースイッチ部、１２１〜１２１１…記憶部、１３１〜１３４…ＲＡＩＤコントローラ、１４，１４Ａ，１４Ｂ…Ｉ／Ｆ部、１５…切替指示部、１６…ソート処理部、１００…記憶システム、１０１Ａ〜１０１Ｅ…接続形態、１１０Ａ１〜１１０Ａ１６…第１の端子、１１０Ｂ１〜１１０Ｂ１６…第２の端子、１１１…回路部、１３０Ａ…第１の入出力部、１３０Ｂ１〜１３０Ｂ３…第２の入出力部、１５０…経路演算指示手段、１５１…経路変更指示手段、２００…接続先の端子、２０１…横線、２０２…縦線
【図１】
2010128572.tif 000003
【図２】
2010128572.tif 000004
【図３】
2010128572.tif 000005
【図４】
2010128572.tif 000006
【図５】
2010128572.tif 000007
【図６】
2010128572.tif 000008
【図７】
2010128572.tif 000009
【図８】
2010128572.tif 000010
【図９】
2010128572.tif 000011
【図１０】
2010128572.tif 000012
【図１１】
2010128572.tif 000013
【図１２】
2010128572.tif 000014