(57)【特許請求の範囲】
【請求項１】
データを記憶する記憶装置と接続される複数のスイッチと当該記憶装置を制御する制御装置とを備えたストレージシステムであって、
前記ストレージシステムは、２つ以上の前記制御装置を相互に接続すると共に、前記制御装置と前記複数のスイッチとをループ状に接続し、
前記制御装置は、
前記スイッチの識別情報ごとに、各スイッチにフレームを出力するための経路情報を含んだアドレスを対応付けて記憶する経路管理データ記憶手段と、
前記データの送信先であるスイッチの識別情報を含んだデータを取得した場合に、当該送信先に対応するアドレスを前記経路管理データ記憶手段から判定し、判定したアドレスおよび前記データを含んだフレームを前記送信先のスイッチに出力するフレーム転送処理手段と、
前記スイッチ間で送受信される信号の電圧と閾値とを比較すること、または、前記スイッチ間で送受信される信号のチェックコードをチェックすることにより、前記スイッチに至る経路の異常を検出する経路異常検出手段と、
前記経路異常検出手段の検出結果に基づいて、前記経路管理データ記憶手段に記憶された各アドレスを、異常が検出された経路を通過せずに各スイッチにフレームが到達するアドレスに更新することにより、前記スイッチに至る経路を切り替える経路切替手段と、
を備えたことを特徴とするストレージシステム。
【請求項２】
前記経路異常検出手段の検出結果に基づいて、前記経路管理データ記憶手段に記憶されたアドレスから、異常を検出した経路を挟むスイッチのアドレスを削除するか、または、異常を検出した経路を挟むスイッチの識別情報に対応付けて当該スイッチを切り離した旨のフラグを記憶させることにより、当該スイッチを切り離す切離手段を更に備えたことを特徴とする請求項１に記載のストレージシステム。
【請求項３】
前記切離手段は、異常を検出した経路を挟むスイッチに対してデータ移行を実施する旨の情報を出力し、当該情報を受信したスイッチが当該スイッチに接続された記憶装置に記憶されたデータを他のスイッチに接続された記憶装置に転送する処理が完了した後に、前記異常を検出した経路を挟むスイッチの切り離しを実行することを特徴とする請求項２に記載のストレージシステム。
【請求項４】
前記データ移行を実施する旨の情報を受信したスイッチは、前記異常を検出した経路を通過しない経路を介して、当該スイッチに接続された記憶装置に記憶されたデータを他のスイッチに接続された記憶装置に転送することを特徴とする請求項３に記載のストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、データを記憶する複数の記憶装置と当該記憶装置を制御する制御装置とを備えたストレージシステムに関し、特に通信経路に障害が発生した場合でも、各記憶装置に対するアクセスを可能にし、効率よくシステムを復旧することができるストレージシステムに関するものである。
【背景技術】
【０００２】
近年のシステムは、計算装置が各種の処理に利用するデータを、ＲＡＩＤ（Redundant  Arrays  of  Inexpensive  Disks）装置を構成する複数のＨＤＤ（Hard  Disk  Drive）に記憶することによって、データアクセスを高速化すると共に、データの安全性を向上させている（例えば、特許文献１、特許文献２参照）。ＲＡＩＤ装置は通常、複数のＤＥおよび上位のＲＡＩＤコントローラでArbitrated  Loopを構成している。
【０００３】
図１２は、従来のＲＡＩＤ装置の構成を示す図である。同図に示すように、ＲＡＩＤ装置１０は、ＲＡＩＤコントローラ２０，３０と、ＤＥ４０〜７０とを備えて構成され、各デバイスには、ＡＬＰＡ（Arbitrated  Loop  Physical  Address）と呼ばれる固有アドレスが割り当てられる。
【０００４】
ここで、ＲＡＩＤコントローラ２０，３０は、計算装置（図示略）から記憶対象となるデータを取得した場合に、取得したデータを各ＤＥ４０〜７０に割り振る処理や、計算装置からのデータ取得要求に応じて、各ＤＥ４０〜７０からデータを取得する処理などを実行する装置である。
【０００５】
そして、各ＤＥ４０〜７０は、スイッチを有し、このスイッチを介して複数のＨＤＤに接続されている。例えば、ＤＥ４０は、スイッチ４０ａを有し、このスイッチ４０を介してＨＤＤ４１〜４３に接続されている。各ＤＥ４０〜７０は、将来的な拡張性を考慮し、ＤＥ同士の接続にはケーブルを使用した接続が一般的である。また、接続形態としては、芋ずる接続であるカスケード接続が一般的である。
【０００６】
【特許文献１】特開２００４−３４８８７６号公報
【特許文献２】特許第３５１６６８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した従来の技術では、ＲＡＩＤコントローラから各ＤＥに至る通信経路においてケーブル不良もしくはユニット不良等の障害が発生した場合に、障害の発生したＤＥ以降のＤＥが使用不可になるという問題があった。
【０００８】
図１３は、従来技術の問題点を説明するための図である。例えば、図１３に示すように、ＤＥ４０とＤＥ５０との間の通信経路に障害が発生した場合には、ＲＡＩＤコントローラ２０，３０は、ＤＥ５０〜７０にアクセスすることができなくなってしまう。また、ＲＡＩＤコントローラ２０，３０に近いＤＥで障害が発生すると、使用できなくなるＤＥの数も多くなり、可用性が非常に悪化する。
【０００９】
なお、ＤＥ間のケーブルを２重化することで冗長構成を持たせることも可能であるが、当然のことながらケーブルコストが倍となり、ケーブル数が増加することで取り回しが悪くなってしまう。
【００１０】
また、ケーブル不良およびユニット不良などは自動的に切り分けられるのではなく、ＤＥ４０〜７０が異常を検出した後に一度ＤＥ４０〜７０を停止し、履歴データ等から被疑箇所を特定したうえで部品交換を実施し、運用を再開するという手順をとるため、ＲＡＩＤ装置の復旧を遅らせ、可用性を悪化させている。
【００１１】
すなわち、ＲＡＩＤ装置の通信経路に障害が発生した場合でも、各ＤＥに接続されたＨＤＤ装置に対するアクセスを可能にし、効率よくＲＡＩＤ装置を復旧させることが極めて重要な課題となっている。
【００１２】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、通信経路に障害が発生した場合でも、各記憶装置に対するアクセスを可能にし、効率よくシステムを復旧することができるストレージシステムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
上述した課題を解決し、目的を達成するため、このストレージシステムは、データを記憶する記憶装置を格納する複数の筐体と当該記憶装置を制御する制御装置とを備えたストレージシステムであって、前記ストレージシステムは、２つ以上の前記制御装置を相互に接続すると共に、前記制御装置と前記複数の筐体とをループ状に接続し、前記制御装置は、前記筐体に至る経路の異常を検出する経路異常検出手段と、前記経路異常検出手段の検出結果に基づいて、前記筐体に至る経路を切り替える経路切替手段と、を備えたことを要件とする。
【００１４】
また、このストレージシステムは、上記のストレージシステムにおいて、前記経路異常検出手段は、前記筐体間で送受信される信号の電圧と閾値とを比較することによって経路の異常を検出することを要件とする。
【００１５】
また、このストレージシステムは、上記のストレージシステムにおいて、前記経路異常検出手段は、前記筐体間で送受信される信号のチェックコードに基づいて経路の異常を検出することを要件とする。
【００１６】
また、このストレージシステムは、上記のストレージシステムにおいて、前記経路異常検出手段の検出結果に基づいて、異常を検出した経路を挟む筐体を切り離す切離手段を更に備えたことを要件とする。
【００１７】
また、このストレージシステムは、上記のストレージシステムにおいて、前記切離手段は、異常を検出した経路を挟む筐体内の記憶装置に記憶されたデータを他の筐体の記憶装置に移行させた後に、異常を検出した経路を挟む筐体の切り離しを実行することを要件とする。
【００１８】
また、このストレージシステムは、データを記憶する複数の記憶装置と当該記憶装置を制御する制御装置とを備えたストレージシステムであって、前記ストレージシステムは、２つ以上の前記制御装置を相互に接続すると共に、前記制御装置と前記複数の記憶装置とをループ状に接続し、前記制御装置は、前記記憶装置に至る経路の異常を検出する経路異常検出手段と、前記経路異常検出手段の検出結果に基づいて、前記記憶装置に至る経路を切り替える経路切替手段と、を備えたことを要件とする。
【発明の効果】
【００１９】
このストレージシステムによれば、制御装置を相互に接続すると共に、制御装置と筐体をループ状に接続し、制御装置が各筐体に至る経路の経路異常を検出し、検出結果に基づいて各筐体に至る経路を切り替えるので、経路異常が発生した場合にでも、経路異常の発生した経路の先に接続された筐体内の記憶装置にアクセスすることが可能となり、システムを効率よく復旧させることができる。
【００２０】
また、このストレージシステムによれば、筐体間で送受信される信号の電圧と閾値とを比較することによって経路の異常を検出するので経路異常を的確に検出することができる。
【００２１】
また、このストレージシステムによれば、筐体間で送受信される信号のチェックコードに基づいて経路の異常を検出するので、経路異常を的確に検出することができる。
【００２２】
また、このストレージシステムによれば、検出結果に基づいて、異常を検出した経路を挟む筐体を切り離すので、経路異常に関わる被疑箇所をシステムから全て取り除くことができ、システムの信頼性を向上させることができる。
【００２３】
また、このストレージシステムによれば、異常を検出した経路を挟む筐体の記憶装置に記憶されたデータを他の筐体の記憶装置に移行させた後に、異常を検出した経路を挟む筐体の切り離しを実行するので、記憶装置に記憶されたデータの信頼性を向上させることができる。
【００２４】
また、このストレージステムによれば、制御装置を相互に接続すると共に、制御装置と記憶装置をループ状に接続し、制御装置が各記憶装置に至る経路の経路異常を検出し、検出結果に基づいて各記憶装置に至る経路を切り替えるので、経路異常が発生した場合にでも、経路異常の発生した経路の先に接続された記憶装置にアクセスすることが可能となり、システムを効率よく復旧させることができる。
【発明を実施するための最良の形態】
【００２５】
以下に添付図面を参照して、この発明に係るストレージシステムの好適な実施の形態を詳細に説明する。
【実施例１】
【００２６】
まず、本実施例１にかかるＲＡＩＤ装置（ストレージシステム）の概要および特徴について説明する。図１および図２は、本実施例１にかかるＲＡＩＤ装置の概要および特徴を説明するための図である。同図に示すように、このＲＡＩＤ装置１００は、各ＤＥ４００〜９００を制御するＲＡＩＤコントローラ２００，３００（ＲＡＩＤコントローラ２００，３００は、図示しないホストコンピュータ等に接続されているものとする）と、ＤＥ４００〜９００とを備えて構成されており、ＲＡＩＤコントローラ２００，３００、ＤＥ４００〜９００はループ状に接続されている。
【００２７】
また、各ＤＥ４００〜９００は、ＲＡＩＤコントローラ２００，３００から送信されるフレームの送信先に応じてフレーム転送を実行するスイッチと、各種の情報を記憶するＨＤＤを備えており、このＨＤＤは、スイッチに接続されている。また、ＨＤＤの一部は、通常運用時にデータを格納せずスタンバイのみにしておく（かかるＨＤＤをスタンバイＨＤＤと表記する）。例えば、ＤＥ４００は、スイッチ４００ａを備え、スイッチ４００ａはＨＤＤ４０１〜４０３に接続されており、ＨＤＤ４０３がスタンバイＨＤＤとなっている（ここでは説明の便宜上、ＨＤＤ４０１〜４０３を示すが、ＤＥ４００は、その他にＨＤＤを備えていても良い。ＤＥ５００〜９００も同様）。
【００２８】
図１に示すように、ＲＡＩＤ装置１００を構成することによって、経路上に異常が発生した場合であっても、異常の発生した経路の先に接続されたＤＥにアクセスすることが可能となる。
【００２９】
例えば、図２に示すように、ＲＡＩＤコントローラ２００が、ＤＥ４００，５００，６００を介してＤＥ９００にアクセスしている場合に、ＤＥ６００とＤＥ９００との間に経路異常が発生した場合には、ＲＡＩＤコントローラ２００は、ＲＡＩＤコントローラ３００，ＤＥ７００，８００を介してＤＥ９００にアクセスする。
【００３０】
また、本実施例１にかかるＲＡＩＤ装置１００は、ＤＥ６００とＤＥ９００との間に経路異常が発生した場合には、ＤＥ６００，９００のいずれかにも障害が発生している可能性があるため、異常の発生した経路を挟むＤＥ６００，９００をＲＡＩＤ装置１００から切り離すことによって、ＲＡＩＤ装置１００全体の信頼性を向上させる。切り離されたＤＥは、自身が保持するＨＤＤに記憶されたデータをスタンバイＨＤＤに移行する。例えば、切り離し対象となるＤＥがＤＥ４００の場合には、ＤＥ４００は、ＨＤＤ４０１，４０２に記憶されたデータを、スタンバイＨＤＤとなるＨＤＤ４０３に移行する。
【００３１】
次に、本実施例１にかかるＲＡＩＤコントローラ２００，３００について説明する。なお、ＲＡＩＤコントローラ２００およびＲＡＩＤコントローラ３００に関する説明は同じであるので、ＲＡＩＤコントローラ２００の説明を行い、ＲＡＩＤコントローラ３００の説明は省略する。
【００３２】
図３は、本実施例１にかかるＲＡＩＤコントローラ２００の構成を示す機能ブロック図である。同図に示すように、このＲＡＩＤコントローラ２００は、通信制御ＩＦ部２１０と、記憶部２２０と、制御部２３０とを備えて構成される。
【００３３】
このうち通信制御ＩＦ部２１０は、外部の装置との間で実行されるデータ通信（フレームの送受信など）を制御する処理部である。そして、記憶部２２０は、制御部２３０による各種処理に必要なデータおよびプログラムを記憶する記憶部（記憶手段）であり、特に本発明に密接に関連するものとしては、図３に示すように、経路管理データ２２０ａを備える。
【００３４】
経路管理データ２２０ａは、各デバイス（ＤＥ４００〜ＤＥ９００等）と各デバイスに対応するアドレスとを対応付けて記憶するデータである。図４は、経路管理データ２２０ａのデータ構造の一例を示す図である。同図に示すように、この経路管理データ２２０ａは、デバイス識別情報と、アドレスとを記憶している。なお、このアドレスには、経路情報（フレームを出力するポートの情報等）が含まれているものとする。
【００３５】
制御部２３０は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する制御部（制御手段）であり、特に本発明に密接に関連するものとしては、図３に示すように、ＲＡＩＤデータ処理部２３０ａと、フレーム転送処理部２３０ｂと、障害検出部２３０ｃと、切り離し制御部２３０ｄとを備える。
【００３６】
ＲＡＩＤデータ処理部２３０ａは、ホストコンピュータからのデータの記憶・読込要求等に応答する処理部である。特に、本実施例１にかかるＲＡＩＤデータ処理部２３０ａは、ホストコンピュータからＤＥ４００〜９００に記憶するデータ（以下、記憶対象データ）を取得した場合に、取得した記憶対象データからＲＡＩＤデータを生成する。このＲＡＩＤデータには、記憶対象データとこの記憶対象データの送信先（記憶対象データを記憶するＤＥのＨＤＤの識別情報）とを対応付けたデータや、パリティデータなどが含まれる。
【００３７】
フレーム転送処理部２３０ｂは、一般的なフレーム転送を実行する処理部である。特に、本実施例１にかかるフレーム転送処置部２３０ｂは、ＲＡＩＤデータ処理部２３０ａからＲＡＩＤデータを取得した場合に、取得したＲＡＩＤデータに含まれる送信先と経路管理データ２２０ａとを比較してアドレスを判定し、判定したアドレスとＲＡＩＤデータとを有するフレームを通信制御ＩＦ２１０に出力する。
【００３８】
障害検出部２３０ｃは、ＲＡＩＤ装置１００の経路に発生する障害を検出する処理部である。例えば、障害検出部２３０ｃは、ＤＥ６００，９００から経路異常を検出した旨の情報（経路異常検出情報）を取得した場合には、かかるＤＥ６００とＤＥ９００とをつなぐ経路に異常が発生したと判定し、判定結果を切り離し制御部２３０ｄに出力する。
【００３９】
切り離し制御部２３０ｄは、障害検出部２３０ｃから判定結果を取得した場合に、判定結果に基づいて、経路管理データ２２０ａを更新する処理、データを移行する処理、切り離し処理をそれぞれ実行する処理部である。以下において、切り離し制御部２３０ｄが実行する経路管理データ２２０ａを更新する処理、データを移行する処理、切り離し処理について順に説明する。
【００４０】
（経路管理データを更新する処理について）
切り離し制御部２３０ｄは、判定結果に基づいて、各ＤＥ４００〜９００に対応するアドレスを、障害の発生した箇所を通過しないアドレスに更新する。例えば、経路管理データ２２０ａにおいて、ＤＥ９００に対応するアドレスの経路がＤＥ４００，５００，６００を介してＤＥ９００に達する場合に、ＤＥ６００とＤＥ９００との間の経路に障害が発生した場合には、ＲＡＩＤコントローラ３００、ＤＥ７００，８００を介してＤＥ９００に到達するアドレスに、ＤＥ９００に対応するアドレスを更新する。
【００４１】
（データを移行する処理について）
切り離し制御部２３０ｄは、判定結果に基づいて、経路異常の発生した経路を挟むＤＥを判定する。そして、切り離し制御部２３０ｄは、判定したＤＥに対してデータ移行を実施する旨の情報（データ移行実施情報）を出力する。例えば、ＤＥ６００とＤＥ９００との間に経路異常が発生している場合には、ＤＥ６００，９００に対してデータ移行実施情報を出力する。
【００４２】
（切り離し処理について）
切り離し制御部２３０ｄは、判定結果に基づいて、ＤＥの切り離しを実行する。例えば、ＤＥ６００とＤＥ９００との間に経路障害が発生している場合には、かかる経路を挟むＤＥ６００，９００をＲＡＩＤ装置１００から切り離す（例えば、ＤＥ６００，９００に対応するアドレスを経路管理データ２２０ａから削除しても良いし、切り離した旨を示すフラグをＤＥ６００，９００の識別情報に立てても良い）。
【００４３】
次に、図１に示した各ＤＥ４００〜９００に格納されるスイッチ４００ａ〜９００ａについて説明する。なお、ここでは説明の便宜上、スイッチ４００ａに対する説明を行い、スイッチ５００ａ〜９００ａに関する説明を省略する（スイッチ５００ａ〜９００ａに関する説明は、スイッチ４００ａの説明と同様である）。
【００４４】
図５は、本実施例１にかかるスイッチ４００ａの構成を示す機能ブロック図である。同図に示すように、このスイッチ４００ａは、通信制御ＩＦ部４１０ａと、ＨＤＤ通信ＩＦ部４１０ｂと、記憶部４２０と、制御部４３０とを備えて構成される。
【００４５】
このうち、通信制御ＩＦ部４１０ａは、他のＤＥあるいはＲＡＩＤコントローラ２００，３００との間におけるデータ通信（フレームの送受信など）を制御する処理部である。ＨＤＤ通信ＩＦ部４１０ｂは、スイッチ４００ａの配下に接続されたＨＤＤ４０１〜４０３との間におけるデータ通信を制御する処理部である。
【００４６】
記憶部４２０は、制御部４３０による各種処理に必要なデータおよびプログラムを記憶する記憶部（記憶手段）であり、特に本発明に密接に関連するものとしては、図５に示すように、経路データ４２０ａを備える。この経路データ４２０ａは、フレームの送信先と、出力先とを対応付けて記憶している。
【００４７】
制御部４３０は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する制御部（制御手段）であり、特に本発明に密接に関連するものとしては、図５に示すように、フレーム転送処理部４３０ａと、障害検出部４３０ｂと、データ移行実行処理部４３０ｃとを備える。
【００４８】
フレーム転送処理部４３０ａは、フレームを取得した場合に、フレームの送信先と経路データ４２０ａとを比較してフレームの出力先を判定し、判定結果に基づいてフレームを出力する処理部である。
【００４９】
障害検出部４３０ｂは、他のＤＥとデータ通信を実行して経路異常を検出する処理部である。障害検出部４３０ｂは、経路異常を検出した場合には、経路異常検出情報をＲＡＩＤコントローラ２００，３００に出力する。なお、障害検出部４３０ｂは、信号入力電圧監視あるいは、伝送路エラー監視によって経路異常を検出する。
【００５０】
図６は、信号入力電圧監視による経路異常検出を説明するための図である。障害検出部４３０ｂは、予め入力電圧に対する閾値を記憶しており、かかる閾値と入力信号電圧とを比較することによって経路異常を検出する。すなわち、図６に示すように、入力電圧が閾値以上あるいは閾値未満である場合に、経路異常が発生したと判定する。
【００５１】
ここで、信号の送信側ユニットをＤＥ５００、受信側ユニットをＤＥ４００とすると、受信側ユニットの障害検出部４３０ｂが経路異常を検出した場合には、送信側ユニット、受信側ユニット、送信側ユニットと受信側ユニットとの間の経路ケーブルのうちいずれかに異常が発生した可能性が高いと考えられるため、送信側ユニット、受信側ユニット、経路ケーブルの３点が切り離し対象となる。
【００５２】
図７は、伝送路エラー監視による経路異常検出を説明するための図である。障害検出部４３０ｂは、フレームなどのデータ送信時および受信時にＣＲＣ（Cyclic  Redundancy  Check）などの手法を用いて転送データの整合性をチェックする。そして、障害検出部４３０ｂは、転送データの整合性が合わない場合には、経路異常が発生したと判定する。
【００５３】
シリアルデータ転送では、伝送誤り率を定義しているが、この伝送誤り率以上の頻度でエラーが発生する場合には、何らかのハード障害が発生していると考えられる。図７において送信側ユニット（例えば、ＤＥ５００）で送信時にエラーを検出している場合は、被疑箇所を送信側ユニットに限定できるが、送信側ユニット（例えば、ＤＥ４００）においてエラーを検出した場合には、被疑箇所を特定できないので、送信側ユニット、受信側ユニット、経路ケーブルの３点が切り離し対象となる。
【００５４】
図５の説明に戻ると、データ移行実行処理部４３０ｃは、ＲＡＩＤコントローラ２００あるいはＲＡＩＤコントローラ３００からデータ移行実施情報を取得した場合には、ＨＤＤに記憶されたデータをスタンバイＨＤＤに移行する。
【００５５】
例えば、移行対象となるデータがＨＤＤ４０１，４０２に記憶されており、ＨＤＤ４０３がスタンバイＨＤＤである場合には、データ移行実行処理部４３０ｃは、ＨＤＤ４０１，４０２に記憶されたデータをＨＤＤ４０３に移行する。そして、データ移行実行処理部４３０ｃは、データ移行が完了した後にデータ移行が完了した旨の情報をＲＡＩＤコントローラ２００，３００に出力する。
【００５６】
次に、本実施例１にかかるＲＡＩＤコントローラ２００の処理手順について説明する。図８は、本実施例１にかかるＲＡＩＤコントローラ２００の処理手順を示すフローチャートである。同図に示すように、ＲＡＩＤコントローラ２００は、ＤＥ（経路異常を検出したＤＥ）から経路異常検出情報を取得し（ステップＳ１０１）、異常の発生した経路を特定する（ステップＳ１０２）。
【００５７】
そして、ＲＡＩＤコントローラ２００は、切り離し対象となるＤＥに、データ移行実施情報を出力する（ステップＳ１０３）。ここで、切り離し対象となるＤＥは、障害を検出した経路を挟むＤＥとなる（例えば、ＤＥ６００とＤＥ９００との間の経路において障害が発生した場合には、ＤＥ６００，９００にデータ移行実施情報を出力する）。
【００５８】
その後、ＲＡＩＤコントローラ２００は、データ移行が完了したか否かを判定（ステップＳ１０４）、データ移行が完了していない場合には（ステップＳ１０５，Ｎｏ）、（一定時間経過した後に）ステップ１０４に移行する。
【００５９】
一方、データ移行が完了している場合には（ステップＳ１０５，Ｙｅｓ）、ＤＥの切り離しを実行し（ステップＳ１０６）、経路管理データ２２０ａを更新する（ステップＳ１０７）。
【００６０】
このように、ＲＡＩＤコントローラ２００は、経路異常を検出した場合に、経路管理データ２２０ａを更新するので、障害の発生した経路の先に接続されてＤＥにアクセスすることが可能となる。なお、ここでは説明を省略したが、ＲＡＩＤ装置３００の処理手順も、図８に示した処理手順と同様である。
【００６１】
上述してきたように、本実施例１にかかるＲＡＩＤ装置１００は、ＲＡＩＤコントローラ２００，３００を相互に接続すると共に、ＲＡＩＤコントローラ２００，３００とＤＥ４００〜９００をループ状に接続し、ＲＡＩＤコントローラが各ＤＥ４００〜９００に至る経路の経路異常を検出し、検出結果に基づいて各ＤＥ４００〜９００に至る経路を切り替える（経路管理データ２２０ａを更新する）ので、経路異常が発生した場合にでも、経路異常の発生した経路の先に接続されたＤＥにアクセスすることが可能となり、システムを効率よく復旧させることができる。
【００６２】
また、本実施例１にかかるＲＡＩＤ装置１００は、経路異常を検出した場合に、経路異常が検出された経路ケーブルだけでなく、かかる経路ケーブルに接続されたＤＥもＲＡＩＤ装置１００から切り離すので、ＲＡＩＤ装置全体の信頼性を向上させることができる。
【００６３】
また、本実施例１にかかるＲＡＩＤ装置１００は、切り離し対象となるＤＥに記憶されたデータをスタンバイＨＤＤに移行させるので、切り離し対象となるＤＥに記憶されたデータの安全性を保障することができる。
【実施例２】
【００６４】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例１以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では実施例２として本発明に含まれる他の実施例を説明する。
【００６５】
（１）データの移行先について
例えば、上記の実施例１では、ＤＥを切り離す場合に、かかるＤＥ自身が保有するスタンバイＨＤＤにＨＤＤ（データ移行対象となるデータを記憶したＨＤＤ）に記憶されているデータを移行していたがこれに限定されるものではない。例えば、ＲＡＩＤ装置１００が小規模の場合、切り離し対象となるＨＤＤ配下のスタンバイＨＤＤだけでは、移行するデータに対して容量が枯渇することが考えられる。
【００６６】
図９は、データの移行先のその他の例を説明するための図である。同図に示すように、ＲＡＩＤコントローラ２００，３００は、切り離し対象となるＤＥのスタンバイＨＤＤが枯渇してしまった場合には、その他のＤＥのスタンバイＨＤＤにデータを移行する。例えば、切り離し対象となるＤＥが６００，９００であり、ＤＥ６００，９００のスタンバイＨＤＤが枯渇してしまった場合には、ＤＥ６００のＨＤＤに記憶されたデータをＤＥ４００，５００のスタンバイＨＤＤに移行し、ＤＥ９００のＨＤＤに記憶されたデータをＤＥ７００，８００のスタンバイＨＤＤに移行する。
【００６７】
このように、切り離し対象となるＤＥのデータを他のＤＥ（切り離し対象とならないＤＥ）のスタンバイＨＤＤに移行させるので、切り離し対象となるＤＥに記憶されたデータの安全性を保障することができる。なお、この場合、ＲＡＩＤコントローラ２００，３００は、各ＤＥ４００〜９００のスタンバイＨＤＤの容量にかかる情報を保持しており、かかる情報を用いて各ＤＥ４００〜９００にデータを移行させればよい。
【００６８】
（２）データを移行させる場合の経路について
上記の例では、切り離し対象となるＤＥのデータを移行させる経路について特に言及しなかったが、データを移行させる場合には、経路異常を検出した経路を通過させないように、データの移行を実行する。図１０は、データを移行する場合の経路を説明する図である。
【００６９】
図１０に示すように、ＲＡＩＤ装置１００が構成されており、ＤＥ８００，９００との間の経路で経路異常が発生した場合には、ＤＥ８００のデータをＤＥ５００，７００のスタンバイＨＤＤに移行し、ＤＥ９００のデータをＤＥ６００に移行させる。
【００７０】
図１０のように被疑箇所とならない伝送経路を使用してデータの移行を実行することによって、安全にデータ転送を行い、切り離し対象となるＤＥ８００，９００配下のＨＤＤのデータを移行することができる。
【００７１】
（３）システム構成等
また、本実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部あるいは一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００７２】
また、図１、図３、図５に示したＲＡＩＤ装置１００（ＲＡＩＤコントローラ２００，３００、ＤＥ４００〜９００に含まれるスイッチ）の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部または任意の一部がＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００７３】
図１１は、実施例１にかかるＲＡＩＤコントローラを構成するコンピュータのハードウェア構成を示す図である。図１１に示すように、このコンピュータ８０は、各種のデータを受け付ける入力装置８１、モニタ８２、ＲＡＭ（Random  Access  Memory）８３、ＲＯＭ（Read  Only  Memory）８４、記憶媒体からデータを読み取る媒体読取装置８５、他の装置との間でデータの送受信を行うインターフェース８６、ＣＰＵ（Central  Processing  Unit）８７、フラッシュメモリ８８をバス８９で接続して構成される。
【００７４】
そして、フラッシュメモリ８８には、上記したＲＡＩＤコントローラ２００，３００の機能と同様の機能を発揮するＲＡＩＤ処理プログラム８８ｂが記憶されている。ＣＰＵ８７がＲＡＩＤ処理プログラム８８ｂを読み出して実行することにより、ＲＡＩＤ処理プロセス８７ａが起動される。このＲＡＩＤ処理プロセス８７ａは、図３において説明したＲＡＩＤデータ処理部２３０ａ、フレーム転送処理部２３０ｂ、障害検出部２３０ｃ、切り離し制御部２３０ｄに対応する。
【００７５】
また、フラッシュメモリ８８には、入力装置８１等によって取得された経路管理データ８８ａが記憶される。この経路管理データ８８ａは、図３に示した経路管理データ２２０ａに対応する。ＣＰＵ８７は、フラッシュメモリ８８に格納された経路管理データ８８ａを読み出してＲＡＭ８３に格納し、ＲＡＭ８３に格納された経路管理データ８３ａを用いて、フレームの送信経路を切り替える。
【００７６】
ところで、図１１に示したＲＡＩＤ処理プログラム８８ｂは、必ずしも最初からフラッシュメモリ８８に記憶させておく必要はない。たとえば、コンピュータに挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」、または、コンピュータの内外に備えられるハードディスクドライブ（ＨＤＤ）などの「固定用の物理媒体」、さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータに接続される「他のコンピュータ（またはサーバ）」などにＲＡＩＤ処理プログラム８８ｂを記憶しておき、コンピュータがこれらからＲＡＩＤ処理プログラム８８ｂを読み出して実行するようにしてもよい。
【００７７】
（付記１）データを記憶する記憶装置を格納する複数の筐体と当該記憶装置を制御する制御装置とを備えたストレージシステムであって、
前記ストレージシステムは、２つ以上の前記制御装置を相互に接続すると共に、前記制御装置と前記複数の筐体とをループ状に接続し、
前記制御装置は、
前記筐体に至る経路の異常を検出する経路異常検出手段と、
前記経路異常検出手段の検出結果に基づいて、前記筐体に至る経路を切り替える経路切替手段と、
を備えたことを特徴とするストレージシステム。
【００７８】
（付記２）前記経路異常検出手段は、前記筐体間で送受信される信号の電圧と閾値とを比較することによって経路の異常を検出することを特徴とする付記１に記載のストレージシステム。
【００７９】
（付記３）前記経路異常検出手段は、前記筐体間で送受信される信号のチェックコードに基づいて経路の異常を検出することを特徴とする付記１または２に記載のストレージシステム。
【００８０】
（付記４）前記経路異常検出手段の検出結果に基づいて、異常を検出した経路を挟む筐体を切り離す切離手段を更に備えたことを特徴とする付記１、２または３に記載のストレージシステム。
【００８１】
（付記５）前記切離手段は、異常を検出した経路を挟む筐体内の記憶装置に記憶されたデータを他の筐体の記憶装置に移行させた後に、異常を検出した経路を挟む筐体の切り離しを実行することを特徴とする付記４に記載のストレージシステム。
【００８２】
（付記６）複数の筐体にそれぞれ格納された複数の記憶装置を制御する制御装置であって、
前記筐体および自制御装置はループ状に接続されており、
前記筐体に至る経路の異常を検出する経路異常検出手段と、
前記経路異常検出手段の検出結果に基づいて、前記筐体に至る経路を切り替える経路切替手段と、
を備えたことを特徴とする制御装置。
【００８３】
（付記７）データを記憶する記憶装置を格納する複数の筐体と当該記憶装置を制御する制御装置とを備えたストレージシステムの経路切替方法であって、
前記ストレージシステムは、２つ以上の前記制御装置を相互に接続すると共に、前記制御装置と前記複数の筐体とをループ状に接続されており、
前記制御装置が、
前記筐体に至る経路の異常を検出する経路異常検出ステップと、
前記経路異常検出ステップの検出結果に基づいて、前記筐体に至る経路を切り替える経路切替ステップと、
を含んだことを特徴とする経路切替方法。
【００８４】
（付記８）前記経路異常検出ステップは、前記筐体間で送受信される信号の電圧と閾値とを比較することによって経路の異常を検出することを特徴とする付記７に記載の経路切替方法。
【００８５】
（付記９）前記経路異常検出ステップは、前記筐体間で送受信される信号のチェックコードに基づいて経路の異常を検出することを特徴とする付記７または８に記載の経路切替方法。
【００８６】
（付記１０）前記経路異常検出ステップの検出結果に基づいて、異常を検出した経路を挟む筐体を切り離す切離ステップを更に備えたことを特徴とする付記７、８または９に記載の経路切替方法。
【００８７】
（付記１１）前記切離ステップは、異常を検出した経路を挟む筐体内の記憶装置に記憶されたデータを他の筐体の記憶装置に移行させた後に、異常を検出した経路を挟む筐体の切り離しを実行することを特徴とする付記１０に記載の経路切替方法。
【００８８】
（付記１２）データを記憶する複数の記憶装置と当該記憶装置を制御する制御装置とを備えたストレージシステムであって、
前記ストレージシステムは、２つ以上の前記制御装置を相互に接続すると共に、前記制御装置と前記複数の記憶装置とをループ状に接続し、
前記制御装置は、
前記記憶装置に至る経路の異常を検出する経路異常検出手段と、
前記経路異常検出手段の検出結果に基づいて、前記記憶装置に至る経路を切り替える経路切替手段と、
を備えたことを特徴とするストレージシステム。
【産業上の利用可能性】
【００８９】
以上のように、本発明にかかるストレージシステムは、複数の記憶装置を有するシステムなどに有用であり、特に、経路異常が発生した場合であっても経路異常の発生した経路の先に接続された記憶装置に対しするアクセスを可能にし、システム全体の信頼性を向上させる必要がある場合に適している。
【図面の簡単な説明】
【００９０】
【図１】本実施例１にかかるＲＡＩＤ装置の概要および特徴を説明するための図（１）である。
【図２】本実施例１にかかるＲＡＩＤ装置の概要および特徴を説明するための図（２）である。
【図３】本実施例１にかかるＲＡＩＤコントローラの構成を示す機能ブロック図である。
【図４】経路管理データのデータ構造の一例を示す図である。
【図５】本実施例１にかかるスイッチの構成を示す機能ブロック図である。
【図６】信号入力電圧監視による経路異常検出を説明するための図である。
【図７】伝送路エラー監視による経路異常検出を説明するための図である。
【図８】本実施例１にかかるＲＡＩＤコントローラの処理手順を示すフローチャートである。
【図９】データの移行先のその他の例を説明するための図である。
【図１０】データを移行する場合の経路を説明する図である。
【図１１】実施例１にかかるＲＡＩＤコントローラを構成するコンピュータのハードウェア構成を示す図である。
【図１２】従来のＲＡＩＤ装置の構成を示す図である。
【図１３】従来技術の問題点を説明するための図である。
【符号の説明】
【００９１】
１０，１００    ＲＡＩＤ装置
２０，３０，２００，３００    ＲＡＩＤコントローラ
４０，５０，６０，７０，４００，５００，６００，７００，８００，９００    ＤＥ
４０ａ，５０ａ，６０ａ，７０ａ，４００ａ，５００ａ，６００ａ，７００ａ，８００ａ，９００ａ  スイッチ
４１，４２，４３，５１，５２，５３，６１，６２，６３，７１，７２，７３，４０１，４０２，４０３，５０１，５０２，５０３，６０１，６０２，６０３，７０１，７０２，７０３，８０１，８０２，８０３，９０１，９０２，９０３    ＨＤＤ
８０    コンピュータ
８１    入力装置
８２    モニタ
８３    ＲＡＭ
８３ａ，８８ａ  経路管理データ
８４    ＲＯＭ
８５    媒体読取装置
８６    インターフェース
８７    ＣＰＵ
８７ａ  ＲＡＩＤ処理プロセス
８８    フラッシュメモリ
８８ｂ  ＲＡＩＤ処理プログラム
８９    バス
２１０，４１０ａ  通信制御ＩＦ部
２２０，４２０    記憶部
２２０ａ  経路管理データ
２３０，４３０    制御部
２３０ａ  ＲＡＩＤデータ処理部
２３０ｂ，４３０ａ  フレーム転送処理部
２３０ｃ，４３０ｂ  障害検出部
２３０ｄ  切り離し制御部
４１０ｂ  ＨＤＤ通信ＩＦ部
４２０ａ  経路データ
４３０ｃ  データ移行実行処理部
【図１】
0004500346.tif 000002
【図２】
0004500346.tif 000003
【図３】
0004500346.tif 000004
【図４】
0004500346.tif 000005
【図５】
0004500346.tif 000006
【図６】
0004500346.tif 000007
【図７】
0004500346.tif 000008
【図８】
0004500346.tif 000009
【図９】
0004500346.tif 000010
【図１０】
0004500346.tif 000011
【図１１】
0004500346.tif 000012
【図１２】
0004500346.tif 000013
【図１３】
0004500346.tif 000014