(57)【特許請求の範囲】
【請求項１】
配下に筐体に格納された記憶装置を複数接続し、各筐体と計算装置との間で送受信されるフレームを制御するルートスイッチを備えたストレージシステムであって、
前記筐体は、フレームの伝送方向が異なる少なくとも２つ以上の通信経路により前記ルートスイッチに接続され、
前記ルートスイッチは、
所定の伝送方向で前記筐体へフレームを送信するための第１アドレスと、前記所定の伝送方向とは異なる別の伝送方向で前記筐体へフレームを送信するための第２アドレスとを対応付けたアドレス変換テーブルを前記筐体ごとに記憶する記憶手段と、
前記通信経路における障害を検出する障害検出手段と、
前記障害検出手段により前記第１のアドレスに対応する所定の伝送方向の通信経路上に障害が検出された場合には、前記第１のアドレスが登録済みである前記アドレス変換テーブルに前記第２のアドレスを対応付けて登録する登録手段と、
前記計算装置から前記第１のアドレスを含むフレームを受信した場合には前記アドレス変換テーブルを参照して、当該第１のアドレスに対応付けられた前記第２のアドレスが前記アドレス変換テーブル内に記憶されているか否かを判定する判定手段と、
前記第２のアドレスが前記アドレス変換テーブル内に記憶されているものと前記判定手段により判定された場合には、前記受信したフレームに含まれる第１のアドレスを当該第２のアドレスに変換したフレームを送出するフレーム制御手段と
を有し、
前記記憶装置は、
前記ルートスイッチから受信したフレームに前記第２のアドレスが含まれている場合に、当該受信したフレームに対する応答フレームに、当該第２のアドレスに変えて前記第１のアドレスを設定する設定手段と、
前記設定手段により設定された前記第１のアドレスに対応するポートに前記応答フレームを出力する出力手段と
を備えたことを特徴とするストレージシステム。
【請求項２】
配下に所定の処理を実行する機器を複数接続し、各機器と計算装置との間で送受信されるフレームを制御するルートスイッチであって、
前記各機器は、フレームの伝送方向が異なる少なくとも２つ以上の通信経路により前記ルートスイッチに接続され、
所定の伝送方向で前記機器へフレームを送信するための第１アドレスと、前記所定の伝送方向とは異なる別の伝送方向で前記各機器へフレームを送信するための第２アドレスとを対応付けたアドレス変換テーブルを前記機器ごとに記憶する記憶手段と、
前記通信経路における障害を検出する障害検出手段と、
前記障害検出手段により前記第１のアドレスに対応する所定の伝送方向の通信経路上に障害が検出された場合には、前記第１のアドレスが登録済みである前記アドレス変換テーブルに前記第２のアドレスを対応付けて登録する登録手段と、
前記計算装置から前記第１のアドレスを含むフレームを受信した場合には前記アドレス変換テーブルを参照し、当該第１のアドレスに対応付けられた前記第２のアドレスが前記アドレス変換テーブル内に記憶されているか否かを判定する判定手段と、
前記第２のアドレスが前記アドレス変換テーブル内に記憶されているものと前記判定手段により判定された場合には、前記受信したフレームに含まれる第１のアドレスを当該第２のアドレスに変換したフレームを送出するフレーム制御手段と
を有することを特徴とするルートスイッチ。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、配下に複数の記憶装置を接続し、各記憶装置と計算装置との間で送受信されるフレームを制御するルートスイッチを備えたストレージシステムなどに関するものである。
【背景技術】
【０００２】
近年、多くの計算装置は、独立して大量のデータを高い信頼性で格納することができるストレージシステムに接続され、かかるストレージシステムに格納されたデータを取得して各種のデータ処理を実行している。
【０００３】
図１６は、従来のストレージシステムの構成を示す図である。図１６に示すように、このストレージシステム１０は、計算装置１１，１２と、ルートスイッチ１３と、ネットワーク２０，３０とを備えて構成されており、ネットワーク２０は、スイッチ２１〜２３を有し、ネットワーク３０はスイッチ３１〜３３を有する。そして、スイッチ２１〜２３、３１〜３３は、それぞれＨＤＤ（Hard  Disk  Drive）２１ａ〜２３ａ、２１ｂ〜２３ｂ、３１ａ〜３３ａ、３１ｂ〜３３ｂに接続されている。
【０００４】
このうち、計算装置１１，１２は、ネットワーク２０，３０に含まれるいずれかのＨＤＤからデータを読み出して、各種の処理を実行する装置である。ルートスイッチ１３は、計算装置１１，１２、ネットワーク２０，３０に接続され、計算装置１１，１２、ネットワーク２０，３０からフレームを取得した場合に、取得したフレームを宛先に出力する装置である。また、スイッチ２１〜２３、３１〜３３は、フレームを取得した場合に、取得したフレームを宛先に出力する装置である。
【０００５】
例えば、計算装置１１が、ネットワーク２０上のＨＤＤ２３ａに格納されたデータを取得する場合には、ＨＤＤ２３ａ宛のフレームを作成して出力することによって、ＨＤＤ２３ａからデータを取得する。
【０００６】
なお、従来のストレージシステムでは、図１６に示した構成のほかに、システムの信頼性を向上させるべく、通信経路を２重化する場合がある（例えば、特許文献１、特許文献２参照）。図１７は、通信経路を２重化したストレージシステムの構成を示す図である。
【０００７】
同図に示すように、このストレージシステム４０は、計算装置４１，４２と、ルートスイッチ４３，４４と、ネットワーク５０，６０とを備えて構成されており、ネットワーク５０は、スイッチ５１〜５６を有し、ネットワーク６０は、スイッチ６１〜６６を有する。そして、スイッチ５１〜５６、６１〜６６は、それぞれＨＤＤ５１ａ〜５５ａ、５１ｂ〜５５ｂ、６１ａ〜６５ａ、６１ｂ〜６５ｂに接続されている。
【０００８】
ここで、計算機４１，４２、ルートスイッチ４３，４４、スイッチ５１〜５６，６１〜６６の説明は、図１６に示した計算装置１１，１２、ルートスイッチ１３、スイッチ２１〜２３、３１〜３３に対する説明と同様であるため説明を省略する。
【０００９】
図１７のように構成することで、片方の通信経路に障害が発生し使用できなくなった場合でも、他方の通信経路を使用することで、計算装置とネットワーク５０，６０の各ＨＤＤとの通信経路を維持することができる。
【００１０】
また、通信性能の面で、図１７のように通信経路を２重化した場合には、障害が発生していないときでも両方の通信経路を同時に使用する場合が多く、片方の通信経路で障害が発生すると、その通信経路を使用していた通信が他方の通信経路に全て移行される。
【００１１】
【特許文献１】特開２００６−１５５３９２号公報
【特許文献２】特開２００６−２０９５４９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、上述した従来の技術では、通信経路に障害（ケーブルの切断やスイッチの故障など）が発生した場合に、障害の発生した通信経路の先に接続された記憶装置（ＨＤＤ）と計算装置との通信経路がなくなりアクセスが不可能になるという問題があった。
【００１３】
図１８は、図１６のストレージシステムの通信経路に障害が発生した場合の問題点を説明する図であり、図１９は、図１７のストレージシステムの通信経路に障害が発生した場合の問題点を説明する図である。
【００１４】
図１８に示すように、例えば、ストレージシステム１０において、スイッチ２２とスイッチ２３との間の通信経路に障害が発生した場合には、スイッチ２３に至る通信経路がなくなってしまうので、計算装置１１，１２は、スイッチ２３に接続されたＨＤＤ２３ａ，２３ｂにアクセスすることができなくなる。
【００１５】
一方、図１９に示すように、例えば、ストレージシステム４０において、スイッチ５３とスイッチ５５との間で通信経路に障害が発生した場合には、かかる通信経路の通信が他方の通信経路（この場合は、スイッチ５４とスイッチ５６とを結ぶ通信経路）にすべてよってしまい、一部の通信経路のトラフィック量の増大などによりストレージシステム４０の性能が低下してしまう。
【００１６】
また、片方の通信経路が故障している間に、もう一方の通信経路が故障してしまった場合には、図１８の場合と同様に、障害の発生した通信経路の先に接続されたＨＤＤにアクセスすることができなくなってしまう。これらより、通信経路が２重化されている場合であっても、片系のみの状態にならないほうがよい（たとえば、異なる方向からＨＤＤにアクセス可能であることがよい）。なお、単に通信経路の数を増やして、かかる問題点を解消することも考えられるが、コストなどの問題から現実的でない。
【００１７】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、通信経路に障害が発生した場合であっても、かかる通信経路に接続された記憶装置に対するアクセスを可能にするストレージシステムおよびルートスイッチを提供することを目的とする。
【課題を解決するための手段】
【００１８】
上述した課題を解決し、目的を達成するため、本発明は、配下に筐体に格納された記憶装置を複数接続し、各筐体と計算装置との間で送受信されるフレームを制御するルートスイッチを備えたストレージシステムであって、前記筐体は、フレームの伝送方向が異なる少なくとも２つ以上の通信経路により前記ルートスイッチに接続され、前記ルートスイッチは、所定の伝送方向で前記筐体へフレームを送信するための第１アドレスと、前記所定の伝送方向とは異なる別の伝送方向で前記筐体へフレームを送信するための第２アドレスとを対応付けたアドレス変換テーブルを前記筐体ごとに記憶する記憶手段と、前記通信経路における障害を検出する障害検出手段と、前記障害検出手段により前記第１のアドレスに対応する所定の伝送方向の通信経路上に障害が検出された場合には、前記第１のアドレスが登録済みである前記アドレス変換テーブルに前記第２のアドレスを対応付けて登録する登録手段と、前記計算装置から前記第１のアドレスを含むフレームを受信した場合には前記アドレス変換テーブルを参照して、当該第１のアドレスに対応付けられた前記第２のアドレスが前記アドレス変換テーブル内に記憶されているか否かを判定する判定手段と、前記第２のアドレスが前記アドレス変換テーブル内に記憶されているものと前記判定手段により判定された場合には、前記受信したフレームに含まれる第１のアドレスを当該第２のアドレスに変換したフレームを送出するフレーム制御手段とを有し、前記記憶装置は、前記ルートスイッチから受信したフレームに前記第２のアドレスが含まれている場合に、当該受信したフレームに対する応答フレームに、当該第２のアドレスに変えて前記第１のアドレスを設定する設定手段と、前記設定手段により設定された前記第１のアドレスに対応するポートに前記応答フレームを出力する出力手段とを備えたことを特徴とする。
【００１９】
また、本発明は、配下に所定の処理を実行する機器を複数接続し、各機器と計算装置との間で送受信されるフレームを制御するルートスイッチであって、前記各機器は、フレームの伝送方向が異なる少なくとも２つ以上の通信経路により前記ルートスイッチに接続され、所定の伝送方向で前記機器へフレームを送信するための第１アドレスと、前記所定の伝送方向とは異なる別の伝送方向で前記各機器へフレームを送信するための第２アドレスとを対応付けたアドレス変換テーブルを前記機器ごとに記憶する記憶手段と、前記通信経路における障害を検出する障害検出手段と、前記障害検出手段により前記第１のアドレスに対応する所定の伝送方向の通信経路上に障害が検出された場合には、前記第１のアドレスが登録済みである前記アドレス変換テーブルに前記第２のアドレスを対応付けて登録する登録手段と、前記計算装置から前記第１のアドレスを含むフレームを受信した場合には前記アドレス変換テーブルを参照し、当該第１のアドレスに対応付けられた前記第２のアドレスが前記アドレス変換テーブル内に記憶されているか否かを判定する判定手段と、前記第２のアドレスが前記アドレス変換テーブル内に記憶されているものと前記判定手段により判定された場合には、前記受信したフレームに含まれる第１のアドレスを当該第２のアドレスに変換したフレームを送出するフレーム制御手段とを有することを特徴とする。
【００２０】
また、ストレージシステムは、上記のストレージシステムにおいて、前記フレーム制御手段は、前記記憶装置からフレームを取得した場合に、当該フレームの送信元となる第１アドレスと前記アドレス変換テーブルとを比較して、前記第１アドレスを前記第２アドレスに変換し、アドレス変換したフレームを送信先に出力することを要件とする。
【００２１】
また、ストレージシステムは、上記のストレージシステムにおいて、前記記憶装置に至る通信経路の通信性能の低下を検出する通信性能監視手段と、前記通信性能監視手段の検出結果に基づいて、前記記憶装置に至るフレームの経路が分散するようにフレームのアドレスを変更した第３アドレスと前記第２アドレスとを対応付けたアドレス変更テーブルを生成する変更テーブル生成手段と、を更に備え、前記フレーム制御手段は、前記アドレス変更テーブルに基づいて前記記憶装置と計算装置との間で送受信されるフレームを制御することを要件とする。
【００２２】
また、ルートスイッチは、配下に所定の処理を実行する機器を複数接続し、各機器と計算装置との間で送受信されるフレームを制御するルートスイッチであって、前記機器に至る通信経路の障害を検出する障害検出手段と、前記障害検出手段の検出結果に基づいて、障害の発生していない通信経路を介して前記機器に至るフレームのアドレスを示す第１アドレスと障害発生前の前記機器に至るフレームのアドレスを示す第２アドレスとを対応付けたアドレス変換テーブルを生成するテーブル生成手段と、前記アドレス変換テーブルに基づいて前記機器と計算装置との間で送受信されるフレームを制御するフレーム制御手段と、を備えたことを要件とする。
【００２３】
また、ストレージシステムは、配下に複数の記憶装置を接続し、各記憶装置と計算装置との間で送受信されるフレームを制御するルートスイッチを備えたストレージシステムであって、前記記憶装置は、前記ルートスイッチから当該記憶装置までの経路が異なる少なくとも２つ以上の通信経路に接続され、前記ルートスイッチは、前記記憶装置に至る通信経路の障害を検出する障害検出手段と、前記障害検出手段の検出結果に基づいて、障害の発生していない通信経路を介して前記記憶装置に至るフレームのアドレスを示す第１アドレスと障害発生前の前記記憶装置に至るフレームのアドレスを示す第２アドレスとを対応付けたアドレス変換テーブルを生成するテーブル生成手段と、前記アドレス変換テーブルに基づいて前記記憶装置と計算装置との間で送受信されるフレームを制御するフレーム制御手段と、を備えたことを要件とする。
【発明の効果】
【００２４】
このストレージシステムによれば、各筐体が、ルートスイッチから筐体までの経路が異なる少なくとも２つ以上の通信経路に接続されており、ルートスイッチが、筐体に至る通信経路の障害を検出した場合に、アドレス変換テーブルに基づいて、フレームの第２アドレスを第１アドレスに変換して、計算装置と筐体との間で送受信されるフレームを制御するので、通信経路に障害が発生した場合であっても、計算装置は、障害の発生した通信経路の先に接続されたＨＤＤにアクセスすることが可能となる。
【００２５】
また、このストレージシステムによれば、計算装置からフレームを取得した場合に、当該フレームの送信先となる第２アドレスとアドレス変換テーブルとを比較して、第２アドレスを第１アドレスに変換し、アドレスを変換したフレームを送信先に出力するので、効率よくアドレス変換を実施でき、通信経路に障害が発生した場合であっても、計算装置は、障害の発生した通信経路の先に接続されたＨＤＤにアクセスすることが可能となる。
【００２６】
また、このストレージシステムによれば、記憶装置からフレームを取得した場合に、当該フレームの送信元となる第１アドレスとアドレス変換テーブルとを比較して、第１アドレスを第２アドレスに変換し、アドレス変換したフレームを送信先に出力するので、計算装置に特別な処理を実行させる必要性を無くし、計算装置にかかる負担を軽減させることができる。
【００２７】
また、このストレージシステムによれば、記憶装置に至るフレームの経路が分散するようにフレームのアドレスを変更した第３アドレスと第２アドレスとを対応付けたアドレス変更テーブルに基づいて前記記憶装置と計算装置との間で送受信されるフレームを制御するので、通信性能の低下を防ぐことができる。
【発明を実施するための最良の形態】
【００２８】
以下に添付図面を参照して、この発明に係るストレージシステムおよびルートスイッチの好適な実施の形態を詳細に説明する。
【実施例１】
【００２９】
まず、本実施例１にかかるストレージシステムの概要および特徴について説明する。図１および図２は、本実施例１にかかるストレージシステムの概要および特徴を説明するための図である。図１に示すように、本実施例１にかかるストレージシステム１００は、計算装置１１０，１２０と、スイッチ１３０〜１３５と、通信経路１４０〜１４６と、ルートスイッチ２００とを備える。そして、スイッチ１３０〜１３５は、それぞれＨＤＤ１３０ａ〜１３５ｂ，１３０ｂ〜１３５ｂに接続されている。
【００３０】
このうち、計算装置１１０，１２０は、スイッチ１３０〜１３５に接続されたＨＤＤからデータを読み出して、各種の処理を実行する装置である。スイッチ１３０〜１３５は、周知技術のスイッチと同様に、フレームを取得した場合に、取得したフレームを宛先、あるいは配下のＨＤＤに出力する装置である。また、スイッチ１３０〜１３５は、ルートスイッチ２００からスイッチまでの経路が異なる少なくとも２つ以上（図１に示す例では２つ）の通信経路に接続されている。
【００３１】
具体的に、スイッチ１３０は、通信経路１４０，１４１に接続され、スイッチ１３１は、通信経路１４１，１４２に接続され、スイッチ１３２は、通信経路１４２，１４６に接続され、スイッチ１３３は、通信経路１４３，１４４に接続され、スイッチ１３４は、通信経路１４４，１４５に接続され、スイッチ１３５は、通信経路１４５，１４６に接続されている。
【００３２】
また、スイッチ１３０〜１３５は、各スイッチ同士で定期的にデータ通信を実行し、通信経路などの障害を検出した場合には、障害が発生した旨の情報をルートスイッチ２００に出力する。
【００３３】
ルートスイッチ２００は、計算装置１１０，１２０、スイッチ１３０，１３３に接続され、計算装置１１０，１２０、スイッチ１３０，１３３からフレームを取得した場合に、取得したフレームを宛先に出力する装置である。また、本実施例１にかかるルートスイッチ２００は、管理部２１０、アドレス変換部２２０、ルーティング部２３０を有する。
【００３４】
このうち、管理部２１０は、計算装置１１０，１２０と、スイッチ１３０〜１３５との間で制御情報をやりとりし、計算装置１１０，１２０、スイッチ１３０〜１３５のポートを制御する処理部である。例えば、図２に示すように、通信経路１４２において障害発生を検出した場合（スイッチ１３１，１３２から通信経路１４２に障害が発生した旨の情報を取得した場合）には、通信経路１４２に接続されたスイッチ１３１，１３２のポートをオフにし、通信経路１４６に接続されたスイッチ１３２，１３５のポートをオンにする。
【００３５】
アドレス変換部２２０は、通信経路に障害が発生した場合に、障害の発生した通信経路の先に接続されたスイッチ宛のフレームのアドレスを、障害の発生していない通信経路を通って当該スイッチに届くようなアドレスに変換する処理部である。
【００３６】
例えば、図２に示すように、通信経路１４２に障害が発生した場合について説明する。アドレス変換部２２０がスイッチ１３２宛のフレームを計算装置１１０から取得した場合に、かかるフレームの経路が通信経路１４３，１４４，１４５，１４６を介してスイッチ１３２に到達するようにフレームのアドレスを変換する。また、スイッチ１３２から上記フレームの応答を取得した場合には、取得したフレームの送信元のアドレスをアドレス変換前のアドレスに戻す。
【００３７】
なお、ルーティング部２３０は、フレームの送信先となるアドレスにしたがって、フレームを宛先に出力する処理部である。このように、本実施例１にかかるストレージシステム１００では、ルートスイッチ２００が障害発生に応じてポートを切り替えると共に、送信先となるアドレスを変換するので、通信経路に障害が発生した場合であっても、障害の発生した通信経路の先に接続されたＨＤＤにアクセスすることが可能となる。
【００３８】
また、ルートスイッチ２００は、アドレス変換実行後に、ＨＤＤからフレームの応答を取得した場合に、フレームの送信元となるアドレスをアドレス変換実行前のアドレスに変換するので、計算装置１１０，１２０に特別な処理を実行させることなく、通信経路障害に対応することができる。
【００３９】
次に、ストレージシステム１００で送受信されるフレームのデータ構造について説明する。図３は、フレームのデータ構造の一例を示す図である。同図に示すように、このフレームは、フレームの始まりを示すＳＯＦ（Start  Of  Frame）と、送信先アドレスおよび送信元アドレスを含むヘッダ部と、各種のデータを含むデータ部と、フレームデータの保護チェックコードを示すＣＲＣ（Cyclic  Redundancy  Check）と、フレームの終わりを示すＥＯＦ（End  Of  Frame）とを備える。
【００４０】
また、各アドレス（送信先アドレス、送信元アドレス）には、各デバイス（計算装置１１０，１２０、スイッチ１３０〜１３５、ルートスイッチ２００）を識別する情報（ファイバチャネルアドレス）が含まれている。そして、ファイバチャネルアドレスは、２４ビットで構成され、このファイバチャネルアドレスは、８ビットのドメインアドレス、８ビットのエリアアドレス、８ビットのポートアドレスを含んでいる。すなわち、ファイバチャネルアドレス（２４ビット）＝ドメインアドレス（８ビット）＋エリアアドレス（８ビット）＋ポートアドレス（８ビット）となる。
【００４１】
ここで、ドメインアドレスは、スイッチ単体に個別に割り振られる番号であり、エリアアドレスは、スイッチのポートに割り振られる番号である。ポートアドレスは、ループのポート番号（ＡＬＰＡ）である。例えば、図２に示す例では、通信経路１４０,１４１，１４２，１４６，１４５，１４４，１４３のループ方向でフレームが送信される第１のポートアドレスと、通信経路１４３,１４４，１４５，１４６，１４２，１４１，１４０のループ方向でフレームが送信される第２のポートアドレスが存在する。すなわち、アドレスのエリアアドレス、ポートアドレスを変更することによって、図２で説明したように、宛先となるスイッチに至るまでの通信経路を変更することができる。
【００４２】
例えば、スイッチ１３２に送信するフレームの送信先アドレスのエリアアドレスが、通信経路１４０に接続されたポートの番号を示し、ポートアドレスが第１のポートアドレスに設定されている状態で、通信経路１４２に障害が発生した場合には、ルートスイッチ２００は、スイッチ１３２に送信するフレームの送信先アドレスのエリアアドレスを通信経路１４３に接続されたポートの番号に変更し、ポートアドレスを第２のポートアドレスに変更する。
【００４３】
このように、スイッチ２００が送信先アドレスを変更することによって、スイッチ１３２宛のフレームは、通信経路１４３，１４４，１４５，１４６を介して、スイッチ１３２に到達することになる（換言すれば、通信経路１４２を通過することがなくなる）。
【００４４】
なお、計算装置１１０，１２０からフレームを取得した各ＨＤＤ（ＨＤＤ１３０ａ〜１３５ｂ，１３０ｂ〜１３５ｂ）は、例えば、受信したフレームの送信先アドレスを基にして、フレームの応答（以下、応答フレーム）にかかる送信先アドレスを生成することができる。ここで、ＨＤＤ１３２ａを例にして説明すると、まず、ＨＤＤ１３２ａは、受信したフレームの送信先アドレスのポートアドレスを参照することにより、フレームのループ方向を判定する。
【００４５】
例えば、ポートアドレスが第１のポートアドレスである場合には、ＨＤＤ１３２ａは、フレームを通信経路１４５から受信したこと判定する。一方、ポートアドレスが第２のポートアドレスである場合には、ＨＤＤ１３２ａは、フレームを通信経路１４６から受信したこと判定する。
【００４６】
ここで、受信したフレームのポートアドレスが第１のポートアドレスである場合には、ＨＤＤ１３２ａは、応答フレームの送信先アドレスとして、エリアアドレスに通信経路１４２に接続されたポートのアドレス、ポートアドレスに第２のポートアドレス、ドメインアドレスに宛先となる計算装置１１０あるいは計算装置１２０のドメインアドレス（受信したフレームに含まれる送信元アドレスのドレインアドレス）を設定して、スイッチ１３２に出力する。
【００４７】
一方、受信したフレームのポートアドレスが第２のポートアドレスである場合には、ＨＤＤ１３２ａは、応答フレームの送信先アドレスとして、エリアアドレスに通信経路１４６に接続されたポートのアドレス、ポートアドレスに第１のポートアドレス、ドメインアドレスに宛先となる計算装置１１０あるいは計算装置１２０のドメインアドレス（受信したフレームに含まれる送信元アドレスのドレインアドレス）を設定して、スイッチ１３２に出力する。
【００４８】
このように、ルートスイッチ２００が、通信経路の異常に応じて、フレームの送信先アドレスを変更し、ＨＤＤ１３０ａ〜１３５ｂ，１３０ｂ〜１３５ｂがルートスイッチ２００から送信されるフレームのポートアドレスに基づいて応答フレームの送信先アドレスを変更するので、障害が発生した場合であっても、スイッチ１３０〜１３５は、通常通り、フレームの送信先アドレスに基づいてフレーム伝送を行えばよく、障害発生時に特別な処理を実行しなくても、ストレージシステム１００のデータ通信を正しく実行することができる。
【００４９】
次に、図１に示したスイッチ１３０〜１３５の構成について説明する。なお、スイッチ１３０〜１３５の構成は同一であるため、ここでは、スイッチ１３０の構成について説明し、スイッチ１３１〜１３５の説明は省略する。
【００５０】
図４は、本実施例１にかかるスイッチ１３０の構成を示す機能ブロック図である。同図に示すように、このスイッチ１３０は、ポート１５０ａ，１５０ｂと、ＨＤＤインターフェース部１５１と、記憶部１５２と、制御部１５３とを備えて構成される。
【００５１】
このうち、ポート１５０ａ，１５０ｂは、通信経路（図示略）と電気的に接続するためのポートである。なお、ここでは説明の便宜上、ポート１５０ａ，１５０ｂのみを示すが、その他にポートを有していても構わない。ＨＤＤインターフェース部１５１は、スイッチ１３０に接続されたＨＤＤ１３０ａ、１３０ｂとデータ通信を実行する処理部である。
【００５２】
記憶部１５２は、制御部１５３による各種処理に必要なデータおよびプログラムを記憶する記憶部（記憶手段）であり、特に本発明に密接に関連するものとしては、アドレス管理テーブル１５２ａを記憶する。このアドレス管理テーブル１５２ａは、フレームに含まれる送信先アドレス（ドメインアドレス、エリアアドレス、ポートアドレスを含む）と、この送信先アドレスに対応するポートの識別情報あるいはＨＤＤ（スイッチ１３０に接続されたＨＤＤ）の識別情報とを対応付けて記憶するテーブルである。
【００５３】
制御部１５３は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する処理部であり、特に本発明に密接に関連するものとしては、フレーム転送部１５３ａと、異常検出部１５３ｂと、ポート切替部１５３ｃとを備える。
【００５４】
フレーム転送部１５３ａは、ポート１５０ａ，１５０ｂあるいはＨＤＤインターフェース部１５１からフレームを取得した場合に、取得したフレームの送信先アドレスと、アドレス管理テーブル１５２ａとを比較して、送信先アドレスに対応するポート１５０ａ，１５０ｂあるいはＨＤＤインターフェース部１５１にフレームを出力する処理部である。
【００５５】
異常検出部１５３ｂは、定期的に他の装置とデータ通信を実行して通信経路の障害を検出する処理部である。異常検出は、周知の方法を用いればよい。例えば、検査フレームを他の装置に送信し、所定時間以上応答がない場合には、他の装置に至る通信経路に異常が発生したと判定する。異常検出部１５３ｂは、通信経路の異常を検出した場合には、異常の発生した通信経路の情報（例えば、異常の発生した通信経路を識別する情報）をルートスイッチ２００に出力する。
【００５６】
ポート切替部１５３ｃは、ルートスイッチ２００から送信されるポート切替情報にしたがって、スイッチ１３０のポートを切り替える処理部である。例えば、ポート切替部１５３ｃは、ポート１５０ａをオンにし、ポート１５０ｂをオフにする旨のポート切替情報をルートスイッチから取得した場合には、ポート切替情報にしたがって、ポート１５０ａをオンにし、ポート１５０ｂをオフにする。
【００５７】
次に、図１に示したルートスイッチ２００の構成について説明する。図５は、本実施例１にかかるルートスイッチ２００の構成を示す機能ブロック図である。同図に示すように、このルートスイッチ２００は、ポート２０１ａ，２０１ｂと、記憶部２０２と、制御部２０３とを備えて構成される。
【００５８】
このうち、ポート２０１ａ，２０１ｂは、通信経路（図示略）と電気的に接続するためのポートである。なお、ここでは説明の便宜上、ポート２０１ａ，２０１ｂのみを示すが、その他のポートを有していても構わない。
【００５９】
記憶部２０２は、制御部２０３による各種処理に必要なデータおよびプログラムを記憶する記憶部（記憶手段）であり、特に本発明に密接に関連するものとしては、アドレス変換テーブル２０２ａを記憶する。このアドレス変換テーブル２０２ａは、通信経路の障害発生時に、宛先に送信されるフレームの経路（アドレス）を変更する場合に利用されるテーブルである。
【００６０】
図６は、アドレス変換テーブル２０２ａを説明するための図である。図６に示すように、このアドレス変換テーブル２０２ａは、送信先あるいは送信元のアドレス情報と、各デバイス（計算装置１１０，１２０、スイッチ１３０〜１３５、ＨＤＤ１３０ａ〜１３５ａ，１３０ｂ〜１３５ｂ）を識別するデバイス固有情報（ＷＷＮ）とを対応付けて記憶している。
【００６１】
そして、アドレス情報は、初回アドレス（ドメインアドレス、エリアアドレス、ポートアドレスを含む）と、変更アドレス（ドメインアドレス、エリアアドレス、ポートアドレスを含む）を有する。初回アドレスは、ストレージシステム１００が起動した場合に、各デバイスに割り当てられるアドレスを示す。また、変更アドレスは、通信経路に障害等が発生した場合に、現在利用されている通信経路（障害の発生した通信経路を含む）の代わりとなる通信経路を介して該当デバイスに到達するアドレスを示す。
【００６２】
制御部２０３は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する処理部であり、特に本発明に密接に関連するものとしては、管理部２１０と、アドレス変換部２２０と、ルーティング部２３０とを備える。
【００６３】
管理部２１０は、計算装置１１０，１２０と、スイッチ１３０〜１３５との間で制御情報をやりとりし、計算装置１１０，１２０、スイッチ１３０〜１３５のポートを制御する処理部である。例えば、図２に示すように、通信経路１４２において障害発生を検出した場合（スイッチ１３１，１３２から通信経路１４２に障害が発生した旨の情報を取得した場合）には、ポート切替情報を出力することにより、通信経路１４２に接続されたスイッチ１３１，１３２のポートをオフにし、通信経路１４６に接続されたスイッチ１３２，１３５のポートをオンにする。
【００６４】
また、管理部２１０は、通信経路に障害が発生した場合には、アドレス変換テーブル２０２ａの初回アドレスに対応する変更アドレスを生成し、アドレス変換テーブル２０２ａに記憶する。図７は、通信経路に障害が発生した場合のアドレス変換テーブル２０２ａを説明するための図である。
【００６５】
ここで、図２および図７を用いて管理部２１０の処理を説明すると、例えば、スイッチ１３２のデバイス固有情報が「５５５５・・・」、初回アドレスが「Ｘ」に設定されており、通信経路１４２に障害が発生した場合には、変更アドレス「Ｘ’」を生成して、アドレス変換テーブル２０２ａに登録する。
【００６６】
ここで、初回アドレス「Ｘ」は、フレームが、通信経路１４０〜１４２を介してスイッチ１３２に到達するためのアドレスである。具体的には、エリアアドレスが通信経路１４０に接続されたポートのアドレスに設定され、ポートアドレスが第１のポートアドレスに設定され、ドメインアドレスがスイッチ１３２（あるいは配下のＨＤＤ）に割り当てられた番号に設定されたアドレスである。変更アドレス「Ｘ’」は、フレームが、通信経路１４３〜１４６を介してスイッチ１３２に到達するためのアドレスである。具体的には、エリアアドレスが通信経路１４３に接続されたポートのアドレスに設定され、ポートアドレスが第２のポートアドレスに設定され、ドメインアドレスがスイッチ１３２（あるいは配下のＨＤＤ）に割り当てられた番号に設定されたアドレスである。
【００６７】
管理部２１０が変更アドレスを生成する手法は、どのような方法を用いても構わないが、例えば、障害が予想される通信経路と、スイッチを識別する情報と、変更アドレスとを対応付けて予めテーブルに登録しておき、かかるテーブルと障害の発生した通信経路およびスイッチを識別する情報とを比較して変更アドレスを特定することにより、変更アドレスを生成することができる。
【００６８】
アドレス変換部２２０は、アドレス変換テーブル２０２ａを基にして、フレームの送信先アドレスあるいは送信元アドレスを変換する処理部である。以下に、アドレス変換部２２０の処理について、計算装置１１０，１２０側からフレームを取得した場合の処理と、スイッチ１３０〜１３５側からフレームを取得した場合の処理に分けて説明する。
【００６９】
（計算装置からフレームを取得した場合）
アドレス変換部２２０は、フレームの送信先アドレスと、アドレス変換テーブル２０２ａとを比較し、送信先アドレスに対応する初回アドレスに変更アドレスが存在するか否かを判定する。そして、変更アドレスが存在する場合には、送信先アドレスを変更アドレスに変更する。なお、変更アドレスが存在しない場合には、送信先アドレスの変更は実行しない。
【００７０】
例えば、送信先アドレスが「Ａ」の場合には、初回アドレス「Ａ」に対応する変更アドレスが存在しないので、送信先アドレスは、「Ａ」のままとなる（図７参照）。なお、送信先アドレスが「Ｘ」の場合には、初回アドレス「Ｘ」に対応する変更アドレス「Ｘ’」が存在するので、送信先アドレスを「Ｘ’」に変更する。
【００７１】
（スイッチ側からフレームを取得した場合）
アドレス変換部２２０は、フレームの送信元アドレスと、アドレス変換テーブル２０２ａとを比較し、送信元アドレスに対応する変更アドレスが存在するか否かを判定する。そして、送信元アドレスに対応する変更アドレスが存在する場合には、かかる変更アドレスに対応する初回アドレスに送信元アドレスを変更する。なお、送信元アドレスに対応する変更アドレスが存在しない場合には、送信元アドレスの変更は実行しない。
【００７２】
例えば、送信元アドレスが「Ａ」の場合には、送信元アドレス「Ａ」に対応する変更アドレスが存在しないので、送信元アドレスは、「Ａ」のままとなる（図７参照）。なお、送信元アドレスが「Ｘ’」の場合には、変更アドレス「Ｘ’」が存在するので、送信先アドレスを初回アドレス「Ｘ」に変更する。
【００７３】
アドレス変換部２２０は、アドレス変換処理を実行したフレームをルーティング部２３０に出力する。ルーティング部２３０は、アドレス変換部２２０からフレームを取得し、フレームの送信先となるアドレスにしたがって、フレームを宛先に出力する処理部である。
【００７４】
次に、本実施例１にかかるルートスイッチ２００の処理手順について説明する。図８は、本実施例１にかかるルートスイッチ２００の処理手順を示すフローチャートである。同図に示すように、ルートスイッチ２００は、フレームを取得し（ステップＳ１０１）、アドレス変換テーブル２０２ａを参照し、アドレス情報が変更されているか否かを判定する（ステップＳ１０２）。
【００７５】
そして、アドレス情報が変更されている場合には（ステップＳ１０３，Ｙｅｓ）、フレームに格納されたアドレスを変換し（ステップＳ１０４）、フレームを送信する（ステップＳ１０５）。一方、アドレス情報が変更されていない場合には（ステップＳ１０３，Ｎｏ）、そのままステップＳ１０５に移行する。
【００７６】
このように、ルートスイッチ２００がアドレス変換テーブル２０２ａに基づいて、フレームのアドレス（送信先アドレス、送信元アドレス）を変更するので、通信経路に障害が発生した場合であっても、障害の発生した経路の先に接続されたＨＤＤにアクセスすることができる。
【００７７】
上述してきたように、本実施例１にかかるストレージシステム１００は、各スイッチ１３０〜１３５が、ルートスイッチ２００からスイッチ１３０〜１３５までの経路が異なる少なくとも２つ以上の通信経路に接続されており、ルートスイッチ２００が、スイッチ１３０〜１３５に至る通信経路の障害を検出した場合に、アドレス変換テーブル２０２ａに基づいて、フレームの送信先アドレスを変更アドレスに変換して、計算装置１１０，１２０とスイッチ１３０〜１３５との間で送受信されるフレームを制御するので、通信経路に障害が発生した場合であっても、計算装置は、障害の発生した通信経路の先に接続されたＨＤＤにアクセスすることが可能となる。
【００７８】
また、ルートスイッチ２００は、アドレス変換実行後に、ＨＤＤからフレームの応答を取得した場合に、フレームの送信元となるアドレスをアドレス変換実行前のアドレスに変換するので、計算装置１１０，１２０に特別な処理を実行させることなく、通信経路障害に対応することができる。
【実施例２】
【００７９】
次に、本実施例２にかかるストレージシステムについて説明する。図９〜図１１は、本実施例２にかかるストレージシステムの概要および特徴を説明するための図である。図９に示すように、本実施例２にかかるストレージシステム３００は、計算装置３１０，３２０と、ＤＥ（Device  Enclosure）３３０〜３４１と、ルートスイッチ４００とを備える。
【００８０】
このうち、計算装置３１０，３２０は、ルートスイッチ４００に接続されたＤＥ３３０〜３４１からデータを読み出して、各種の処理を実行する装置である。ＤＥ３３０〜３４１は、複数のＨＤＤを備える記憶装置であり、最低４つ以上の外部接続用のポートを備えているものとする。
【００８１】
ルートスイッチ４００は、ポート数を拡張するためのポート切替マルチプレクサ４１０を有し、計算装置３１０，３２０、各ＤＥに接続され、計算装置３１０，３２０、各ＤＥからフレームを取得した場合に、取得したフレームを宛先に出力する装置である。
【００８２】
また、本実施例２にかかるルートスイッチ４００は、ルートスイッチ４００の各ポート４０１〜４０３の通信性能を監視し、通信性能が低下した場合に、通信性能の低下を回避すべく、計算装置３１０，３２０からＤＥ３３０〜３４１に対するアクセス経路を分散させる経路制御を行う。通信性能が低下する要因としては、複数の計算装置から同一経路にアクセスがある場合や、ルートスイッチ４００の１ポートに接続されるＤＥの数（カスケードの段数）が多い場合等があげられる。
【００８３】
例えば、図１０に示すように、計算装置３１０からＤＥ３３４内のＨＤＤへのアクセス数が所定値以上となり、計算装置３２０からＤＥ３３５へのアクセス数が所定値以上となり、ポート４０２の使用率が高くなる場合には、図１１に示すような経路制御を行う。すなわち、ルートスイッチ４００は、計算装置３１０からＤＥ３３４に対するフレームの経路がポート４０１，４０６、ＤＥ３３０を介してＤＥ３３４に到達するようにフレームの送信先アドレスを変換する。
【００８４】
また、ルートスイッチ４００は、計算機３２０からＤＥ３３５に対するフレームの経路がポート４０３，４０５、ＤＥ３３０，３３１を介してＤＥ３３５に到達するようにフレームの送信先アドレスを変換する。また、図９では未使用だったポート４０４もオン状態にして、ポート４０２の通信性能を向上させる。
【００８５】
このように、本実施例２にかかるストレージシステム３００は、通信性能が低下した場合に、フレームの通信経路を制御して、１ポートに集中していたアクセスを分散するので、特定のポートの通信性能が低下してしまうという問題を解消し、ストレージシステム３００の性能を向上させる。
【００８６】
次に、図９等に示したＤＥ３３０〜３４１の構成について説明する。なお、ＤＥ３３０〜３４１の構成は同一であるため、ここでは、ＤＥ３３０の構成について説明し、ＤＥ３３１〜３４１の説明は省略する。
【００８７】
図１２は、本実施例２にかかるＤＥ３３０の構成を示す機能ブロック図である。同図に示すように、このＤＥ３３０は、ポート３８０ａ，３８０ｂと、ＨＤＤインターフェース部３８１と、記憶部３８２と、制御部３８３とを備えて構成される。
【００８８】
このうち、ポート３８０ａ，３８０ｂは、通信経路（図示略）と電気的に接続するためのポートである。なお、ここでは説明の便宜上、ポート３８０ａ，３８０ｂのみを示すが、その他にポートを有している（ＤＥ３３０は、４つ以上のポートを有しているものとする）。ＨＤＤインターフェース部３８１は、ＤＥ３３０に接続されたＨＤＤとデータ通信を実行する処理部である。
【００８９】
記憶部３８２は、制御部３８３による各種処理に必要なデータおよびプログラムを記憶する記憶部（記憶手段）であり、特に本発明に密接に関連するものとしては、アドレス管理テーブル３８２ａを記憶する。このアドレス管理テーブル３８２ａは、フレームに含まれる送信先アドレスと、この送信先アドレスに対応するポートの識別情報あるいはＨＤＤ（ＤＥ３３０に接続されるＨＤＤ）の識別情報とを対応付けて記憶するテーブルである。
【００９０】
制御部３８３は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する処理部であり、特に本発明に密接に関連するものとしては、フレーム転送部３８３ａと、ポート切替部３８３ｂとを備える。
【００９１】
フレーム転送部３８３ａは、ポート３８０ａ，３８０ｂあるいはＨＤＤインターフェース部３８１からフレームを取得した場合に、取得したフレームの送信先アドレスと、アドレス管理テーブル３８２ａとを比較して、送信先アドレスに対応するポート３８０ａ，３８０ｂあるいはＨＤＤインターフェース部３８１にフレームを出力する処理部である。
【００９２】
ポート切替部３８３ｂは、ルートスイッチ４００から送信されるポート切替情報にしたがって、ＤＥ３３０のポートを切り替える処理部である。例えば、ポート切替部３８３ｂは、ポート３８０ａをオンにし、ポート３８０ｂをオフにする旨のポート切替情報をルートスイッチ４００から取得した場合には、ポート切替情報にしたがって、ポート３８０ａをオンにし、ポート３８０ｂをオフにする。
【００９３】
次に、図９等に示したルートスイッチ４００の構成について説明する。図１３は、本実施例２にかかるルートスイッチ４００の構成を示す機能ブロック図である。同図に示すように、このルートスイッチ４００は、ポート４０１〜４０６と、ポート切替マルチプレクサ４１０と、記憶部４２０と、制御部４３０とを備えて構成される。
【００９４】
このうち、ポート４０１〜４０６は、通信経路（図示略）と電気的に接続するためのポートである。なお、ここでは説明の便宜上、ポート４０１〜４０６のみを示すが、その他のポートを有していても構わない。
【００９５】
ポート切替マルチプレクサ４１０は、ポート４０１，４０２からフレームを取得した場合に、取得したフレームの送信先アドレスに基づいて、フレームをポート４０４〜４０６に振り分ける処理部である。また、ポート切替マルチプレクサ４１０は、ポート４０４〜４０６から取得するフレームを、ポート４０１あるいはポート４０２に出力する。
【００９６】
記憶部４２０は、制御部４３０による各種処理に必要なデータおよびプログラムを記憶する記憶部（記憶手段）であり、特に本発明に密接に関連するものとしては、アドレス変換テーブル４２０ａと、経路パターンデータ４２０ｂとを記憶する。
【００９７】
アドレス変換テーブル４２０ａは、所定のポートの通信性能が低下した場合に、宛先に送信されるフレームの経路（アドレス）を変更する場合に利用されるテーブルである。なお、アドレス変換テーブル４２０ａのデータ構造は、図６に示したアドレス変換テーブル４２０ａのデータ構造と同じであるため説明を省略する。
【００９８】
経路パターンデータ４２０ｂは、ポートの識別情報と、送信元となる計算装置の識別情報（あるいは送信元アドレス）と、宛先となるＤＥの識別情報（あるいは送信先アドレス）と、当該ポートの通信性能が低下した場合の変更アドレスとを対応付けて記憶するテーブルである。
【００９９】
制御部４３０は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する処理部であり、特に本発明に密接に関連するものとしては、ルーティング部４３０ａと、アドレス変換部４３０ｂと、管理部４３０ｃとを備える。
【０１００】
ルーティング部４３０ａは、アドレス変換部４３０ｂからフレームを取得し、フレームの送信先となるアドレスにしたがって、フレームを宛先に出力する処理部である。
【０１０１】
アドレス変換部４３０ｂは、アドレス変換テーブル４２０ａを基にして、フレームの送信先アドレスあるいは送信元アドレスを変換する処理部である。以下に、アドレス変換部４３０ｂの処理について、計算装置３１０，３２０側からフレームを取得した場合の処理と、ＤＥ３３０〜３４１側からフレームを取得した場合の処理に分けて説明する。
【０１０２】
（計算装置からフレームを取得した場合）
アドレス変換部４３０ｂは、フレームの送信先アドレスと、アドレス変換テーブル４２０ａとを比較し、送信先アドレスに対応する初回アドレスに変更アドレスが存在するか否かを判定する。そして、変更アドレスが存在する場合には、送信先アドレスを変更アドレスに変更する。なお、変更アドレスが存在しない場合には、送信先アドレスの変更は実行しない。
【０１０３】
例えば、送信先アドレスが「Ａ」の場合には、初回アドレス「Ａ」に対応する変更アドレスが存在しないので、送信先アドレスは、「Ａ」のままとなる（図７参照）。なお、送信先アドレスが「Ｘ」の場合には、初回アドレス「Ｘ」に対応する変更アドレス「Ｘ’」が存在するので、送信先アドレスを「Ｘ’」に変更する。
【０１０４】
（ＤＥ側からフレームを取得した場合）
アドレス変換部４３０ｂは、フレームの送信元アドレスと、アドレス変換テーブル４２０ａとを比較し、送信元アドレスに対応する変更アドレスが存在するか否かを判定する。そして、送信元アドレスに対応する変更アドレスが存在する場合には、かかる変更アドレスに対応する初回アドレスに送信元アドレスを変更する。なお、送信元アドレスに対応する変更アドレスが存在しない場合には、送信元アドレスの変更は実行しない。
【０１０５】
例えば、送信元アドレスが「Ａ」の場合には、送信元アドレス「Ａ」に対応する変更アドレスが存在しないので、送信元アドレスは、「Ａ」のままとなる（図７参照）。なお、送信元アドレスが「Ｘ’」の場合には、変更アドレス「Ｘ’」が存在するので、送信先アドレスを初回アドレス「Ｘ」に変更する。
【０１０６】
管理部４３０ｃは、計算装置３１０，３２０と、ＤＥ３３０〜３４１との間で制御情報をやりとりし、計算装置３１０，３２０，ＤＥ３３０〜３４１のポートを制御するポート切替処理と、ポートの通信性能を監視する通信性能監視処理を実行する処理部である。
【０１０７】
（ポート切替処理について）
管理部４３０ｃは、例えば、図９〜図１１で説明したように、ポート４０２の通信性能が低下した場合には、ＤＥ３３０〜３４１にポート切替情報を出力することにより、ＤＥ３３０〜３４１のポートのオンオフを切り替える。
【０１０８】
図９〜図１１に示した例では、管理部４３０ｃは、ＤＥ３３０に対して、通信経路３５３に接続されたポートをオフにし、通信経路３５６に接続されたポートをオンにする。なお、他のＤＥ３３１〜３４１に関するポートのオンオフに関する説明は省略するが、図１０がポート切替情報出力前の各ポートのオン（網掛け）・オフ（白）状態を示し、図１１が、ポート切替情報出力後の各ポートのオン（網掛け）・オフ（白）状態を示している。
【０１０９】
（通信性能監視処理について）
管理部４３０ｃは、ルートスイッチ４００のポート４０１〜４０３の通信性能を監視し、通信性能が低下したと判定した場合には、通信性能が低下したポートの識別情報と、経路パターンデータ４２０ｂとを比較することによって、変更すべき初回アドレスおよび当該初回アドレスに対応する変更アドレスを判定し、判定した変更アドレスによってアドレス変換テーブル４２０ａを更新する。
【０１１０】
例えば、管理部４３０ｃは、ポート４０２の通信性能が低下した場合に、計算装置３１０からＤＥ３３４に出力されるフレームの初回アドレス（ポート４０２，４０７を介してＤＥ３３４に到達するためのアドレス）に対して、ポート４０１，４０６、ＤＥ３３０を介してＤＥ３３４に到達する変更アドレスを設定する。
【０１１１】
なお、管理部４３０ｃが通信性能監視処理を実行する場合には、どのような既存技術を用いても構わないが、例えば、管理部４３０ｃは、ルートスイッチ４００のポート統計情報やデバイス接続情報等を取得して、ポートを通過するデータの通信量が基準値以上に達した場合に、ポートの通信性能が低下したと判定する。
【０１１２】
次に、本実施例２に示した管理部４３０ｃの通信性能監視処理の処理手順について説明する。図１４は、通信性能監視処理の処理手順を示すフローチャートである。同図に示すように、管理部４３０ｃは、各ポートの通信量を取得し（ステップＳ２０１）、通信量が基準値以上となっているか否かを判定する（ステップＳ２０２）。
【０１１３】
そして、通信量が基準値以上である場合には（ステップＳ２０３，Ｙｅｓ）、経路パターンデータ４２０ｂに基づいて、アドレス変換テーブル４２０ａを更新する（ステップＳ２０４）。一方、通信量が基準値未満である場合には（ステップＳ２０３，Ｎｏ）、そのまま通信性能監視処理を終了する。なお、図１４に示した処理は、定期的に実行されるものとする。
【０１１４】
上述してきたように、本実施例２にかかるストレージシステム３００は、ルートスイッチ４００がポートの通信性能を監視し、ポートの通信性能の低下を検出した場合には、通信性能の低下を回避すべく、計算装置３１０，３２０からＤＥ３３０〜３４１に対するアクセス経路を分散させる経路制御を行うので、特定のポートの通信性能が低下してしまうという問題を解消し、ストレージシステム３００の性能を向上させることができる。
【０１１５】
なお、本実施例２では、一例として、管理部４３０ｃが、経路パターンデータ４２０ｂを予め作成しておき、かかる経路パターンデータ４２０ｂを利用して、初回アドレスに対応する変更アドレスを判定していたが、これに限定されるものではない。例えば、管理部４３０ｃが、定期的に、フレームのとりうる経路パターンの中で最適な経路を特定し、特定した経路にしたがって、経路パターンデータ４２０ｂを随時更新しても良い。
【０１１６】
また、このほか、伝送されるフレームの送信先アドレスなどから、使用率の低いＤＥを検出し、それらをまとめてカスケードの段数を多く（所定段数以上に）し、使用率の高いＤＥのカスケードの段数を少なく（所定段数未満と）なるような経路制御を行うことによって、通信性能の向上が見込まれる。
【０１１７】
ところで、本実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部あるいは一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【０１１８】
また、図１、図９等に示したストレージシステム１００，３００およびそのシステムに含まれるルートスイッチ（図５、図１３）、スイッチ（図４）、ＤＥ（図１２）などの各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部または任意の一部がＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０１１９】
図１５は、実施例にかかるルートスイッチを構成するコンピュータのハードウェア構成を示す図である。図１５に示すように、このコンピュータ（ルートスイッチ）５００は、各種データを受け付ける入力装置５０１、モニタ５０２、ＲＡＭ（Random  Access  Memory）５０３、ＲＯＭ（Read  Only  Memory）５０４、記憶媒体からデータを読み取る媒体読取装置５０５、他の装置との間でデータの送受信を行うポート５０６、ＣＰＵ（Central  Processing  Unit）５０７、ＨＤＤ（Hard  Disk  Drive）５０８をバス５０９で接続して構成される。
【０１２０】
そして、ＨＤＤ５０８には、上記したルートスイッチ２００，４００の機能と同様の機能を発揮するアドレス変換プログラム５０８ｂ、ルーティング処理プログラム５０８ｃが記憶されている。ＣＰＵ５０７がアドレス変換プログラム５０８ｂ、ルーティング処理プログラム５０８ｃを読み出して実行することにより、アドレス変換プロセス５０７ａ、ルーティング処理プロセス５０７ｂが起動される。このアドレス変換プロセス５０７ａは、図５および図１３のアドレス変換部２２０，４３０ｂ、ルーティング部２３０，４３０ａに対応し、ルーティング処理プロセス５０７ｂは、管理部２１０，４３０ｃに対応する。
【０１２１】
また、ＨＤＤ５０８には、アドレス変換データ５０８ａが記憶される。このアドレス変換データ５０８ａは、図５に示したアドレス変換テーブル２０２ａに対応する。ＣＰＵ５０７は、ＨＤＤ５０８に格納されたアドレス変換データ５０８ａを読み出してＲＡＭ５０３に格納し、ＲＡＭ５０３に格納されたアドレス変換データ５０３ａを用いて、ストレージシステムの経路制御を実行する。
【０１２２】
ところで、図１５に示したアドレス変換プログラム５０８ｂ、ルーティング処理プログラム５０８ｃは、必ずしも最初からＨＤＤ５０８に記憶させておく必要はない。たとえば、コンピュータに挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」、または、コンピュータの内外に備えられるハードディスクドライブ（ＨＤＤ）などの「固定用の物理媒体」、さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータに接続される「他のコンピュータ（またはサーバ）」などにアドレス変換プログラム５０８ｂ、ルーティング処理プログラム５０８ｃを記憶しておき、コンピュータがこれらからアドレス変換プログラム５０８ｂ、ルーティング処理プログラム５０８ｃを読み出して実行するようにしてもよい。
【０１２３】
（付記１）配下に筐体に格納された記憶装置を複数接続し、各筐体と計算装置との間で送受信されるフレームを制御するルートスイッチを備えたストレージシステムであって、
前記筐体は、前記ルートスイッチから当該筐体までの経路が異なる少なくとも２つ以上の通信経路に接続され、
前記ルートスイッチは、
前記筐体に至る通信経路の障害を検出する障害検出手段と、
前記障害検出手段の検出結果に基づいて、障害の発生していない通信経路を介して前記筐体に至るフレームのアドレスを示す第１アドレスと障害発生前の前記筐体に至るフレームのアドレスを示す第２アドレスとを対応付けたアドレス変換テーブルを生成するテーブル生成手段と、
前記アドレス変換テーブルに基づいて前記筐体と計算装置との間で送受信されるフレームを制御するフレーム制御手段と、
を備えたことを特徴とするストレージシステム。
【０１２４】
（付記２）前記フレーム制御手段は、前記計算装置からフレームを取得した場合に、当該フレームの送信先となる第２アドレスと前記アドレス変換テーブルとを比較して、前記第２アドレスを前記第１アドレスに変換し、アドレスを変換したフレームを送信先に出力することを特徴とする付記１に記載のストレージシステム。
【０１２５】
（付記３）前記フレーム制御手段は、前記記憶装置からフレームを取得した場合に、当該フレームの送信元となる第１アドレスと前記アドレス変換テーブルとを比較して、前記第１アドレスを前記第２アドレスに変換し、アドレス変換したフレームを送信先に出力することを特徴とする付記１または２に記載のストレージシステム。
【０１２６】
（付記４）前記記憶装置に至る通信経路の通信性能の低下を検出する通信性能監視手段と、前記通信性能監視手段の検出結果に基づいて、前記記憶装置に至るフレームの経路が分散するようにフレームのアドレスを変更した第３アドレスと前記第２アドレスとを対応付けたアドレス変更テーブルを生成する変更テーブル生成手段と、を更に備え、前記フレーム制御手段は、前記アドレス変更テーブルに基づいて前記記憶装置と計算装置との間で送受信されるフレームを制御することを特徴とする付記１に記載のストレージシステム。
【０１２７】
（付記５）配下に所定の処理を実行する機器を複数接続し、各機器と計算装置との間で送受信されるフレームを制御するルートスイッチであって、
前記機器に至る通信経路の障害を検出する障害検出手段と、
前記障害検出手段の検出結果に基づいて、障害の発生していない通信経路を介して前記機器に至るフレームのアドレスを示す第１アドレスと障害発生前の前記機器に至るフレームのアドレスを示す第２アドレスとを対応付けたアドレス変換テーブルを生成するテーブル生成手段と、
前記アドレス変換テーブルに基づいて前記機器と計算装置との間で送受信されるフレームを制御するフレーム制御手段と、
を備えたことを特徴とするルートスイッチ。
【０１２８】
（付記６）配下に筐体に格納された記憶装置を複数接続し、各筐体と計算装置との間で送受信されるフレームを制御するルートスイッチのフレーム制御方法であって、
前記筐体は、前記ルートスイッチから当該筐体までの経路が異なる少なくとも２つ以上の通信経路に接続されており、
前記ルートスイッチは、
前記筐体に至る通信経路の障害を検出する障害検出ステップと、
前記障害検出ステップの検出結果に基づいて、障害の発生していない通信経路を介して前記筐体に至るフレームのアドレスを示す第１アドレスと障害発生前の前記筐体に至るフレームのアドレスを示す第２アドレスとを対応付けたアドレス変換テーブルを生成して記憶部に記憶するテーブル生成ステップと、
前記記憶部に記憶されたアドレス変換テーブルに基づいて前記筐体と計算装置との間で送受信されるフレームを制御するフレーム制御ステップと、
を含んだことを特徴とするフレーム制御方法。
【０１２９】
（付記７）前記フレーム制御ステップは、前記計算装置からフレームを取得した場合に、当該フレームの送信先となる第２アドレスと前記アドレス変換テーブルとを比較して、前記第２アドレスを前記第１アドレスに変換し、アドレスを変換したフレームを送信先に出力することを特徴とする付記６に記載のフレーム制御方法。
【０１３０】
（付記８）前記フレーム制御ステップは、前記記憶装置からフレームを取得した場合に、当該フレームの送信元となる第１アドレスと前記アドレス変換テーブルとを比較して、前記第１アドレスを前記第２アドレスに変換し、アドレス変換したフレームを送信先に出力することを特徴とする付記６または７に記載のフレーム制御方法。
【０１３１】
（付記９）前記記憶装置に至る通信経路の通信性能の低下を検出する通信性能監視ステップと、前記通信性能監視ステップの検出結果に基づいて、前記記憶装置に至るフレームの経路が分散するようにフレームのアドレスを変更した第３アドレスと前記第２アドレスとを対応付けたアドレス変更テーブルを生成する変更テーブル生成手段と、を更に含み、前記フレーム制御工程は、前記アドレス変更テーブルに基づいて前記記憶装置と計算装置との間で送受信されるフレームを制御することを特徴とする付記６に記載のフレーム制御方法。
【０１３２】
（付記１０）配下に複数の記憶装置を接続し、各記憶装置と計算装置との間で送受信されるフレームを制御するルートスイッチを備えたストレージシステムであって、
前記記憶装置は、前記ルートスイッチから当該記憶装置までの経路が異なる少なくとも２つ以上の通信経路に接続され、
前記ルートスイッチは、
前記記憶装置に至る通信経路の障害を検出する障害検出手段と、
前記障害検出手段の検出結果に基づいて、障害の発生していない通信経路を介して前記記憶装置に至るフレームのアドレスを示す第１アドレスと障害発生前の前記記憶装置に至るフレームのアドレスを示す第２アドレスとを対応付けたアドレス変換テーブルを生成するテーブル生成手段と、
前記アドレス変換テーブルに基づいて前記記憶装置と計算装置との間で送受信されるフレームを制御するフレーム制御手段と、
を備えたことを特徴とするストレージシステム。
【産業上の利用可能性】
【０１３３】
以上のように、本発明にかかるストレージシステムおよびルートスイッチは、ルートスイッチの配下に複数の機器を接続したネットワーク等に有用であり、特に、通信経路の障害や通信性能の低下に効率よく対応する必要がある場合に適している。
【図面の簡単な説明】
【０１３４】
【図１】本実施例１にかかるストレージシステムの概要および特徴を説明するための図（１）である。
【図２】本実施例１にかかるストレージシステムの概要および特徴を説明するための図（２）である。
【図３】フレームのデータ構造の一例を示す図である。
【図４】本実施例１にかかるスイッチの構成を示す機能ブロック図である。
【図５】本実施例１にかかるルートスイッチの構成を示す機能ブロック図である。
【図６】アドレス変換テーブルを説明するための図である。
【図７】通信経路に障害が発生した場合のアドレス変換テーブルを説明するための図である。
【図８】本実施例１にかかるルートスイッチの処理手順を示すフローチャートである。
【図９】本実施例２にかかるストレージシステムの概要および特徴を説明するための図（１）である。
【図１０】本実施例２にかかるストレージシステムの概要および特徴を説明するための図（２）である。
【図１１】本実施例２にかかるストレージシステムの概要および特徴を説明するための図（３）である。
【図１２】本実施例２にかかるＤＥの構成を示す機能ブロック図である。
【図１３】本実施例２にかかるルートスイッチの構成を示す機能ブロック図である。
【図１４】通信性能監視処理の処理手順を示すフローチャートである。
【図１５】実施例にかかるルートスイッチを構成するコンピュータのハードウェア構成を示す図である。
【図１６】従来のストレージシステムの構成を示す図である。
【図１７】通信経路を２重化したストレージシステムの構成を示す図である。
【図１８】図１６のストレージシステムの通信経路に障害が発生した場合の問題点を説明する図である。
【図１９】図１７のストレージシステムの通信経路に障害が発生した場合の問題点を説明する図である。
【符号の説明】
【０１３５】
１０，４０，１００，３００    ストレージシステム
１１，１２，４１，４２，１１０，１２０，３１０，３２０    計算装置
１３，４３，４４，２００，４００    ルートスイッチ
２０，３０，５０，６０    ネットワーク
２１，２２，２３，３１，３２，３３，５１，５２，５３，５４，５５，５６，６１，６２，６３，６４，６５，６６，１３０，１３１，１３２，１３３，１３４，１３５    スイッチ
２１ａ，２１ｂ，２２ａ，２２ｂ，２３ａ，２３ｂ，３１ａ，３１ｂ，３２ａ，３２ｂ，３３ａ，３３ｂ，５１ａ，５１ｂ，５３ａ，５３ｂ，５５ａ，５５ｂ，６１ａ，６１ｂ，６３ａ，６３ｂ，６５ａ，６５ｂ，１３０ａ，１３０ｂ，１３１ａ，１３１ｂ，１３２ａ，１３２ｂ，１３３ａ，１３３ｂ，１３４ａ，１３４ｂ，１３５ａ，１３５ｂ    ＨＤＤ
１４０,１４１，１４２，１４３，１４４，１４５，１４６,３５０，３５１，３５２，３５３，３５４，３５５，３５６，３５７，３５８，３５９，３６０，３６１，３６２，３６３，３６４，３６５,３６６，３６７，３６８，３６９，３７０，３７１    通信経路
１５０ａ，１５０ｂ，２０１ａ，２０１ｂ，３８０ａ，３８０ｂ，４０１，４０２，４０３，４０４，４０５，４０６，４０７，４０８    ポート
１５１，３８１    ＨＤＤインターフェース部
１５２，２０２，３８２，４２０    記憶部
１５２ａ，３８２ａ  アドレス管理テーブル
１５３，３８３，４３０    制御部
１５３ａ，３８３ａ  フレーム転送部
１５３ｂ  異常検出部
１５３ｃ，３８３ｂ  ポート切替部
２０２ａ，４２０ａ  アドレス変換テーブル
２１０，４３０ｃ    管理部
２２０，４３０ｂ    アドレス変換部
２３０，４３０ａ    ルーティング部
３３０，３３１，３３２，３３３，３３４,３３５，３３６，３３７，３３８，３３９,３４０，３４１    ＤＥ
４１０    ポート切替マルチプレクサ
４２０ｂ  経路パターンデータ
【図１】
0004607942.tif 000002
【図２】
0004607942.tif 000003
【図３】
0004607942.tif 000004
【図４】
0004607942.tif 000005
【図５】
0004607942.tif 000006
【図６】
0004607942.tif 000007
【図７】
0004607942.tif 000008
【図８】
0004607942.tif 000009
【図９】
0004607942.tif 000010
【図１０】
0004607942.tif 000011
【図１１】
0004607942.tif 000012
【図１２】
0004607942.tif 000013
【図１３】
0004607942.tif 000014
【図１４】
0004607942.tif 000015
【図１５】
0004607942.tif 000016
【図１６】
0004607942.tif 000017
【図１７】
0004607942.tif 000018
【図１８】
0004607942.tif 000019
【図１９】
0004607942.tif 000020