(57)【特許請求の範囲】
【請求項１】
データを格納する記憶部を有する複数のディスク装置と、
外部装置からの前記各ディスク装置の記憶部へのアクセスを制御する制御部と、
前記制御部と前記各ディスク装置との間に介在し、前記制御部からのデータを各ディスク装置に割り振るスイッチ部と、を備え、
前記各ディスク装置の記憶部は、障害検出用のテストパターンを格納するためのテスト領域を有しており、
前記制御部は、
前記各ディスク装置における記憶部のテスト領域に前記テストパターンの書き込み処理を実行し、あるディスク装置から障害報告を受け取ると、他のディスク装置から障害報告を受け取ったか否か判断し、
他のディスク装置から障害報告を受け取った場合は自己と前記スイッチ部とを接続する伝送経路を障害経路として特定し、他のディスク装置から障害報告を受け取らない場合は前記スイッチ部と対象のディスク装置との間の伝送経路を障害経路として特定する、ディスクアレイ装置。
【請求項２】
前記制御部は、
前記各ディスク装置における記憶部のテスト領域に前記テストパターンの書き込み処理が正常に終了した後、前記各ディスク装置における記憶部のテスト領域から前記テストパターンの読み込み処理を実行し、
あるディスク装置からの前記読み込み処理に障害が発生したことを検出すると、他のディスク装置からの前記読み込み処理に障害が発生したか否か検出し、
他のディスク装置からの前記読み込み処理に障害が発生したことを検出した場合は自己と前記スイッチ部とを接続する伝送経路を障害経路として特定し、他のディスク装置からの前記読み込み処理に障害が発生したことを検出しない場合は前記スイッチ部と対象のディスク装置との間の伝送経路を障害経路として特定する、請求項１に記載のディスクアレイ装置。
【請求項３】
データを格納する記憶部を有する複数のディスク装置と、
前記各ディスク装置の記憶部に対してデータを読み書きするノードと、
前記ノードと前記各ディスク装置との間に介在し、前記ノードからのデータを各ディスク装置に割り振るスイッチ装置と、を備え、
前記各ディスク装置の記憶部は、障害検出用のテストパターンを格納するためのテスト領域を有しており、
前記ノードは、
前記各ディスク装置における記憶部のテスト領域に前記テストパターンの書き込み処理を実行し、あるディスク装置から障害報告を受け取ると、他のディスク装置から障害報告を受け取ったか否か判断し、
他のディスク装置から障害報告を受け取った場合は自己と前記スイッチ装置とを接続する伝送経路を障害経路として特定し、他のディスク装置から障害報告を受け取らない場合は前記スイッチ装置と対象のディスク装置との間の伝送経路を障害経路として特定する、ディスクアレイシステム。
【請求項４】
前記ノードは、
前記各ディスク装置における記憶部のテスト領域に前記テストパターンの書き込み処理が正常に終了した後、前記各ディスク装置における記憶部のテスト領域から前記テストパターンの読み込み処理を実行し、
あるディスク装置からの前記読み込み処理に障害が発生したことを検出すると、他のディスク装置からの前記読み込み処理に障害が発生したか否か検出し、
他のディスク装置からの前記読み込み処理に障害が発生したことを検出した場合は自己と前記スイッチ装置とを接続する伝送経路を障害経路として特定し、他のディスク装置からの前記読み込み処理に障害が発生したことを検出しない場合は前記スイッチ装置と対象のディスク装置との間の伝送経路を障害経路として特定する、請求項３に記載のディスクアレイシステム。
【請求項５】
データを格納する記憶部を有する複数のディスク装置と、外部装置からの前記各ディスク装置の記憶部へのアクセスを制御する制御部と、前記制御部と前記各ディスク装置との間に介在し、前記制御部からのデータを各ディスク装置に割り振るスイッチ部と、を備えたディスクアレイ装置における障害経路を特定する方法であって、
（ａ）前記各ディスク装置における記憶部のテスト領域に前記テストパターンの書き込み処理を実行し、あるディスク装置から障害報告を受け取ると、他のディスク装置から障害報告を受け取ったか否か判断するステップと
（ｂ）他のディスク装置から障害報告を受け取った場合は自己と前記スイッチ部とを接続する伝送経路を障害経路として特定し、他のディスク装置から障害報告を受け取らない場合は前記スイッチ部と対象のディスク装置との間の伝送経路を障害経路として特定するステップと、
を有する、障害経路特定方法。
【請求項６】
データを格納する記憶部を有する複数のディスク装置と、前記各ディスク装置の記憶部に対してデータを読み書きするノードと、前記ノードと前記各ディスク装置との間に介在し、前記ノードからのデータを各ディスク装置に割り振るスイッチ装置と、を備えたディスクアレイシステムにおける障害経路を特定する方法であって、
（ａ）前記各ディスク装置における記憶部のテスト領域に前記テストパターンの書き込み処理を実行し、あるディスク装置から障害報告を受け取ると、他のディスク装置から障害報告を受け取ったか否か判断するステップと
（ｂ）他のディスク装置から障害報告を受け取った場合は自己と前記スイッチ装置とを接続する伝送経路を障害経路として特定し、他のディスク装置から障害報告を受け取らない場合は前記スイッチ装置と対象のディスク装置との間の伝送経路を障害経路として特定するステップと、
を有する、障害経路特定方法。
【請求項７】
データを格納する記憶部を有する複数のディスク装置と、外部装置からの前記各ディスク装置の記憶部へのアクセスを制御するプロセッサと、前記プロセッサと前記各ディスク装置との間に介在し、前記プロセッサからのデータを各ディスク装置に割り振るスイッチ部と、を備えたディスクアレイ装置において、前記プロセッサに、
（ａ）前記各ディスク装置における記憶部のテスト領域に前記テストパターンの書き込み処理を実行し、あるディスク装置から障害報告を受け取ると、他のディスク装置から障害報告を受け取ったか否か判断するステップと
（ｂ）他のディスク装置から障害報告を受け取った場合は自己と前記スイッチ部とを接続する伝送経路を障害経路として特定し、他のディスク装置から障害報告を受け取らない場合は前記スイッチ部と対象のディスク装置との間の伝送経路を障害経路として特定するステップと、
を実行させる、プログラム。
【請求項８】
前記プロセッサに、
（ｃ）前記各ディスク装置における記憶部のテスト領域に前記テストパターンの書き込み処理が正常に終了した後、前記各ディスク装置における記憶部のテスト領域から前記テストパターンの読み込み処理を実行するステップと、
（ｄ）あるディスク装置からの前記読み込み処理に障害が発生したことを検出すると、他のディスク装置からの前記読み込み処理に障害が発生したか否か検出するステップと、
（ｅ）他のディスク装置からの前記読み込み処理に障害が発生したことを検出した場合は自己と前記スイッチ部とを接続する伝送経路を障害経路として特定し、他のディスク装置からの前記読み込み処理に障害が発生したことを検出しない場合は前記スイッチ部と対象のディスク装置との間の伝送経路を障害経路として特定するステップと、
をさらに実行させる、請求項７に記載のプログラム。
【請求項９】
データを格納する記憶部を有する複数のディスク装置と、前記各ディスク装置の記憶部に対してデータを読み書きするノードと、前記ノードと前記各ディスク装置との間に介在し、前記ノードからのデータを各ディスク装置に割り振るスイッチ装置と、を備えたディスクアレイシステムにおいて、前記ノードに、
（ａ）前記各ディスク装置における記憶部のテスト領域に前記テストパターンの書き込み処理を実行し、あるディスク装置から障害報告を受け取ると、他のディスク装置から障害報告を受け取ったか否か判断するステップと
（ｂ）他のディスク装置から障害報告を受け取った場合は自己と前記スイッチ装置とを接続する伝送経路を障害経路として特定し、他のディスク装置から障害報告を受け取らない場合は前記スイッチ装置と対象のディスク装置との間の伝送経路を障害経路として特定するステップと、
を実行させる、プログラム。
【請求項１０】
前記ノードに、
（ｃ）前記各ディスク装置における記憶部のテスト領域に前記テストパターンの書き込み処理が正常に終了した後、前記各ディスク装置における記憶部のテスト領域から前記テストパターンの読み込み処理を実行するステップと、
（ｄ）あるディスク装置からの前記読み込み処理に障害が発生したことを検出すると、他のディスク装置からの前記読み込み処理に障害が発生したか否か検出するステップと、
（ｅ）他のディスク装置からの前記読み込み処理に障害が発生したことを検出した場合は自己と前記スイッチ装置とを接続する伝送経路を障害経路として特定し、他のディスク装置からの前記読み込み処理に障害が発生したことを検出しない場合は前記スイッチ装置と対象のディスク装置との間の伝送経路を障害経路として特定するステップと、
をさらに実行させる、請求項９に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、障害経路を特定することのできるディスクアレイ装置、ディスクアレイシステム、障害経路特定方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、複数のディスク装置を論理的に一つにまとめて一つのディスク装置のように用いるディスクアレイ装置が普及している。このディスクアレイ装置は、複数のディスク装置にデータを分散して書き込むため、データの読み書き速度の高速化、記憶容量の大容量化、又は高信頼性を実現することができる。
【０００３】
ところで、ディスクアレイ装置は、複数のディスク装置を用いていることにより、上述したような利点がある一方、故障率が高くなってしまうという欠点がある。このため、ディスクアレイ装置において各ディスク装置に障害が発生したときは、障害が発生したディスク装置を他のディスク装置と入れ替える技術が種々提案されている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−２４４１３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１のディスクアレイ装置は、障害が発生したディスク装置を特定することはできるが、障害が発生した伝送経路までは特定することができないといった問題があった。
【０００６】
そこで、本発明の目的の一例は、障害が発生した伝送経路を特定することのできる、ディスクアレイ装置、ディスクアレイシステム、障害経路特定方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の一側面におけるディスクアレイ装置は、
データを格納する記憶部を有する複数のディスク装置と、
外部装置からの前記各ディスク装置の記憶部へのアクセスを制御する制御部と、
前記制御部と前記各ディスク装置との間に介在し、前記制御部からのデータを各ディスク装置に割り振るスイッチ部と、を備え、
前記各ディスク装置の記憶部は、障害検出用のテストパターンを格納するためのテスト領域を有しており、
前記制御部は、
前記各ディスク装置における記憶部のテスト領域に前記テストパターンの書き込み処理を実行し、あるディスク装置から障害報告を受け取ると、他のディスク装置から障害報告を受け取ったか否か判断し、
他のディスク装置から障害報告を受け取った場合は自己と前記スイッチ部とを接続する伝送経路を障害経路として特定し、他のディスク装置から障害報告を受け取らない場合は前記スイッチ部と対象のディスク装置との間の伝送経路を障害経路として特定する。
【０００８】
また、上記目的を達成するため、本発明の一側面におけるディスクアレイシステムは、
データを格納する記憶部を有する複数のディスク装置と、
前記各ディスク装置の記憶部に対してデータを読み書きするノードと、
前記ノードと前記各ディスク装置との間に介在し、前記ノードからのデータを各ディスク装置に割り振るスイッチ装置と、を備え、
前記各ディスク装置の記憶部は、障害検出用のテストパターンを格納するためのテスト領域を有しており、
前記ノードは、
前記各ディスク装置における記憶部のテスト領域に前記テストパターンの書き込み処理を実行し、あるディスク装置から障害報告を受け取ると、他のディスク装置から障害報告を受け取ったか否か判断し、
他のディスク装置から障害報告を受け取った場合は自己と前記スイッチ装置とを接続する伝送経路を障害経路として特定し、他のディスク装置から障害報告を受け取らない場合は前記スイッチ装置と対象のディスク装置との間の伝送経路を障害経路として特定する。
【０００９】
また、上記目的を達成するため、本発明の一側面における障害経路特定方法は、
データを格納する記憶部を有する複数のディスク装置と、外部装置からの前記各ディスク装置の記憶部へのアクセスを制御する制御部と、前記制御部と前記各ディスク装置との間に介在し、前記制御部からのデータを各ディスク装置に割り振るスイッチ部と、を備えたディスクアレイ装置における障害経路を特定する方法であって、
（ａ）前記各ディスク装置における記憶部のテスト領域に前記テストパターンの書き込み処理を実行し、あるディスク装置から障害報告を受け取ると、他のディスク装置から障害報告を受け取ったか否か判断するステップと
（ｂ）他のディスク装置から障害報告を受け取った場合は制御部とスイッチ部とを接続する伝送経路を障害経路として特定し、他のディスク装置から障害報告を受け取らない場合は前記スイッチ部と対象のディスク装置との間の伝送経路を障害経路として特定するステップと、を有する。
【００１０】
また、上記目的を達成するため、本発明の別の側面における障害経路特定方法は、
データを格納する記憶部を有する複数のディスク装置と、前記各ディスク装置の記憶部に対してデータを読み書きするノードと、前記ノードと前記各ディスク装置との間に介在し、前記ノードからのデータを各ディスク装置に割り振るスイッチ装置と、を備えたディスクアレイシステムにおける障害経路を特定する方法であって、
（ａ）前記各ディスク装置における記憶部のテスト領域に前記テストパターンの書き込み処理を実行し、あるディスク装置から障害報告を受け取ると、他のディスク装置から障害報告を受け取ったか否か判断するステップと
（ｂ）他のディスク装置から障害報告を受け取った場合は自己と前記スイッチ装置とを接続する伝送経路を障害経路として特定し、他のディスク装置から障害報告を受け取らない場合は前記スイッチ装置と対象のディスク装置との間の伝送経路を障害経路として特定するステップと、
を有する。
【００１１】
また、上記目的を達成するため、本発明の一側面におけるプログラムは、
データを格納する記憶部を有する複数のディスク装置と、外部装置からの前記各ディスク装置の記憶部へのアクセスを制御するプロセッサと、前記制御部と前記各ディスク装置との間に介在し、前記制御部からのデータを各ディスク装置に割り振るスイッチ部と、を備えたディスクアレイ装置において、前記プロセッサに、
（ａ）前記各ディスク装置における記憶部のテスト領域に前記テストパターンの書き込み処理を実行し、あるディスク装置から障害報告を受け取ると、他のディスク装置から障害報告を受け取ったか否か判断するステップと
（ｂ）他のディスク装置から障害報告を受け取った場合は自己と前記スイッチ部とを接続する伝送経路を障害経路として特定し、他のディスク装置から障害報告を受け取らない場合は前記スイッチ部と対象のディスク装置との間の伝送経路を障害経路として特定するステップと、
を実行させる。
【００１２】
また、上記目的を達成するため、本発明の別の側面におけるプログラムは、
データを格納する記憶部を有する複数のディスク装置と、前記各ディスク装置の記憶部に対してデータを読み書きするノードと、前記ノードと前記各ディスク装置との間に介在し、前記ノードからのデータを各ディスク装置に割り振るスイッチ装置と、を備えたディスクアレイシステムにおいて、前記ノードに、
（ａ）前記各ディスク装置における記憶部のテスト領域に前記テストパターンの書き込み処理を実行し、あるディスク装置から障害報告を受け取ると、他のディスク装置から障害報告を受け取ったか否か判断するステップと
（ｂ）他のディスク装置から障害報告を受け取った場合は自己と前記スイッチ装置とを接続する伝送経路を障害経路として特定し、他のディスク装置から障害報告を受け取らない場合は前記スイッチ装置と対象のディスク装置との間の伝送経路を障害経路として特定するステップと、
を実行させる。
【発明の効果】
【００１３】
以上のように本発明によれば、障害が発生した伝送経路を特定することができる。
【図面の簡単な説明】
【００１４】
【図１】図１は本発明の実施形態１に係るディスクアレイ装置の構成を示す図である。
【図２】図２は本発明の実施形態１に係るディスク装置の記憶部の論理アドレスマップを示す図である。
【図３】図３は本発明の実施形態１に係るディスクアレイ装置の伝送経路の詳細を示す図である。
【図４】図４は本発明の実施形態１に係るディスクアレイ装置のテストパターン読み込み時における動作手順を示すフローチャートである。
【図５】図５は本発明の実施形態１に係るディスクアレイ装置における読み書き処理実行時のデータの流れを示す図である。
【図６】図６は本発明の実施形態１に係るディスクアレイ装置において使用されるテストパターンの一例を示す図である。
【図７】図７は本発明の実施形態１に係るディスクアレイ装置のテストパターン読み込み時における動作手順を示すフローチャートである。
【図８】図８は本発明の実施形態２に係るディスクアレイシステムの構成を示す図である。
【発明を実施するための形態】
【００１５】
（実施形態１）
以下、本発明の実施形態１におけるディスクアレイ装置、障害経路特定方法、及びプログラムについて、図面を参照しながら説明する。
【００１６】
［ディスクアレイ装置］
図１は、実施形態１に係るディスクアレイ装置の構成を示す図である。
【００１７】
図１に示すように、実施形態１におけるディスクアレイ装置１００は、制御部１と、第１スイッチ部２と、複数の第１ディスク装置３ａ〜３ｃとを備えている。
【００１８】
各第１ディスク装置３ａ〜３ｃは、データを格納するの記憶部３１を有しており、記憶部３１内には障害検出用のテストパターンを格納するためのテスト領域３１１が確保されている。
【００１９】
制御部１は、外部装置から各第１ディスク装置３ａ〜３ｃの記憶部３１へのデータのアクセスを制御する。また、第１スイッチ部２は、制御部１と各第１ディスク装置３ａ〜３ｃとの間に介在し、制御部１からのデータを各第１ディスク装置３ａ〜３ｃに割り振る。
【００２０】
制御部１は、各第１ディスク装置３ａ〜３ｃにおける記憶部３１のテスト領域３１１にテストパターンの書き込み処理を実行し、第１ディスク装置３ａから障害報告を受け取ると、他の第１ディスク装置３ｂ、３ｃから障害報告を受け取ったか否か判断する。そして、制御部１は、他の第１ディスク装置３ｂ、３ｃから障害報告を受け取った場合、制御部１と第１スイッチ部２とを接続する経路Ｌ１を障害経路として特定する。一方、制御部１は、他の第１ディスク装置３ｂ、３ｃから障害報告を受け取らない場合、第１スイッチ部２と第１ディスク装置３ａとを接続する経路Ｌ２ａを障害経路として特定する。
【００２１】
以上の実施形態に係るディスクアレイ装置によれば、各第１ディスク装置３ａ〜３ｃのテスト領域３１１にテストパターンを書き込み、各第１ディスク装置３ａ〜３ｃへのテストパターンの書き込み結果に基づき、障害が発生した伝送経路を特定することができる。
【００２２】
ここで、ディスクアレイ装置１００の構成を更に具体的に説明する。図１に示すように、実施形態１のディスクアレイ装置１００は、制御部１、第１スイッチ部２、及び複数の第１ディスク装置３ａ〜３ｃに加え、第２スイッチ部４と、複数の第２ディスク装置５ａ〜５ｃを備えている。また、ディスクアレイ装置１００は、制御部１とスイッチ部２とを接続する伝送経路Ｌ１、第１スイッチ部２と第２スイッチ部４とを接続する伝送経路Ｌ２、第１スイッチ部２と各第１ディスク装置３ａ〜３ｃとを接続する伝送経路Ｌ３ａ〜Ｌ３ｃ、及び第２スイッチ部４と各第２ディスク装置５ａ〜５ｃとを接続する伝送経路Ｌ４ａ〜Ｌ４ｃを更に備えている。
【００２３】
制御部１は、本実施形態では、端末装置又はサーバ装置などの外部装置から送られてきたデータを各第１及び第２ディスク装置３ａ〜３ｃ、５ａ〜５ｃの記憶部３１に書き込む機能、及び外部装置からの要求に応じてデータを各第１及び第２ディスク装置３ａ〜３ｃ、５ａ〜５ｃの記憶部３１から読み込む機能を有している。このような制御部１として、例えばＲＡＩＤコントロールユニットなどのプロセッサを例示することができる。
【００２４】
第１スイッチ部２及び第２スイッチ部４は、本実施形態では、制御部１からの書き込み指示及び読込指示を各ディスク装置３ａ〜３ｃに割り振る機能を有しており、例えば、ＳＡＳエキスパンダを例示することができる。
【００２５】
第１ディスク装置３ａ〜３ｃ及び第２ディスク装置５ａ〜５ｃは、制御部１によって書き込まれるデータを格納する記憶部３１を有しており、各記憶部３１にはテストパターンを格納するためのテスト領域３１１が確保されている。このような第１及び第２ディスク装置３ａ〜３ｃ、５ａ〜５ｃとして、ＳＡＳ（Serial Attached SCSI）のインターフェースを持つハードディスクドライブを例示することができる。
【００２６】
図２は、実施形態１に係る各ディスク装置の記憶部における論理アドレスマップを示す図である。
【００２７】
図２に示すように、論理アドレスＡ０は、この記憶部３１が記憶できる論理領域の先頭論理アドレスをあらわしている。また、論理アドレスＡ１は、記憶部３１内のテスト領域３１１の先頭を示す論理アドレスであり、論理アドレスＡ２は、記憶部３１のテスト領域３１１の末尾を示す論理アドレスである。そして、論理アドレスＡ３は、記憶部３１の末尾を示す論理アドレスである。なお、論理アドレスＡ１から論理アドレスＡ２までのアドレスに囲まれた記憶領域が、テスト領域３１１となる。
【００２８】
各伝送経路Ｌ１、Ｌ２、Ｌ３ａ〜Ｌ３ｃ、Ｌ４ａ〜Ｌ４ｃは、シリアル伝送で上記各機器の間でのデータのやり取りを行う機能を有する。シリアル伝送は、データの送信と受信とを別々の信号線で行う制御方式であり、代表的な伝送仕様としてSASやFiber Channelがある。
【００２９】
ここで、伝送経路について図３を参照しつつ詳細に説明する。図３は、伝送経路の詳細を示す図である。なお、以下では制御部１と第１スイッチ部２との間の伝送経路Ｌ１を代表として説明し、他の伝送経路については同様の構成となっているため、説明を省略する。
【００３０】
伝送経路Ｌ１は、書き込みデータを伝える信号線Ｔ１１と、読み込みデータを伝える信号線Ｔ１２とを有している。また、伝送経路Ｌ１は、信号を発信するための信号送信回路Ｃ１１と、信号を受信するための信号受信回路Ｃ１２とを制御部１内に有している。また、伝送経路Ｌ１は、同様の信号送信回路Ｃ２４及び信号受信回路Ｃ２１をスイッチ部２内にも有している。
【００３１】
［ディスクアレイ装置の動作］
次に、本発明の実施形態１におけるディスクアレイ装置の動作について、図面を参照しつつ説明する。なお、実施形態１では、ディスクアレイ装置を動作させることによって障害経路特定方法が実施されるため、実施形態１における障害経路特定方法の説明は以下のディスクアレイ装置の動作説明に代える。
【００３２】
以下の説明では、制御部１が第１ディスク装置３ａにおける記憶部３１のテスト領域３１１にテストパターンを書き込む際の動作を代表として説明する。なお、制御部１が他の第１ディスク装置３ｂ、３ｃにテストパターンを書き込む際の動作も以下と同じであるため、説明を繰り返さない。
【００３３】
図４は、実施形態１に係るディスクアレイ装置のテストパターン書き込み時における動作手順を示すフローチャートである。
【００３４】
図４に示すように、まず、制御部１は、第１スイッチ部２を介して、第１ディスク装置３ａにおける記憶部３１のテスト領域３１１に、テストパターンを書き込む（ステップＳ１）。
【００３５】
このステップＳ１について、図５を参照しつつ詳細に説明する。図５は、実施形態１に係るディスクアレイ装置の書き込み及び読み込み時におけるデータの流れを表す図である。
【００３６】
図５に示すように、制御部１は、テストパターンを信号送信回路Ｃ１１から第１スイッチ部２の信号受信回路Ｃ２１に送信する。
【００３７】
なお、このテストパターンは、第１スイッチ部２の信号受信回路Ｃ２１、及び第１ディスク装置３ａの信号受信回路Ｃ３１において受信しにくいパターンとすることが好ましい。例えば、ＳＡＳにおける伝送の場合であれば、「Serial ATA: High Speed Serialized AT Attachment Revision 1.0a」のChapter 6.7.7.1.1 Test bit patterns and sequence characteristicsに記載されているテストパターンを用いることができる。その他にも、CRPAT（Continuous Random Pattern）、又はCJTPAT（Continuous Jitter Pattern）等のようなテストパターンを用いてもよい。
【００３８】
図６は、「Serial ATA: High Speed Serialized AT Attachment Revision 1.0a Chapter 6.7.7.1.1 Test bit patterns and sequence characteristics」に記載されたテストパターンを用いた場合のデータと実際の信号の関係を示している。テストパターンとしてテスト領域３１１に書き込まれるデータの一部をDataとして表しており、ここではその一部としてF1h, FEh, 27h, EEh, FEhのＤａｔａを記載している。「Serial ATA: High Speed Serialized AT Attachment Revision 1.0a」の仕様により、この制御部１は、Ｄａｔａに対して8B/10B変換を行い、Bit Patternであらわされる文字列に変換する。そして、制御部１は、このBit Patternを実際の電気信号（Analog Signal Level）として、信号送信回路Ｃ１１から送信する。
【００３９】
次に、図５に示すように、第１スイッチ部２では、制御部１からのテストパターンを信号受信回路Ｃ２１が受信し、この受信したテストパターンを信号送信回路Ｃ２２から信号線Ｔ３１を介して第１ディスク装置３ａに送信する。
【００４０】
第１ディスク装置３ａでは、第１スイッチ部２からテストパターンを信号受信回路Ｃ３１が受信し、このテストパターンは記憶部３１のテスト領域３１１に書き込まれる。ここで、各伝送経路Ｌ１，Ｌ３ａが正常な場合は、第１スイッチ部２の信号受信回路Ｃ２１及び第１ディスク装置３ａの信号受信回路Ｃ３１で問題なくテストパターンを受信する。そして、第１ディスク装置３ａでは、図６のAnalog signal Level信号を受け取って、図６におけるＤａｔａに変換され、このＤａｔａが記憶部３１のテスト領域３１１に書き込まれることとなる。
【００４１】
一方、第１ディスク装置３ａにテストパターンが到達するまでに問題があり、図６におけるAnalog Signal Levelにひずみが現れると、8B/10B変換で正しく変換できないことが検出され、第１ディスク装置３ａにおいて障害が検出される。このとき、第１ディスク装置３ａからテストパターンを受信できなかったことが障害報告として制御部１に応答として返却される（ステップＳ２）。
【００４２】
制御部１は、上述した書き込み処理を他の第１ディスク装置３ｂ及び３ｃに対しても実行し、障害が発生した伝送経路である障害経路を特定する（ステップＳ３）。
【００４３】
制御部１が障害経路を特定する方法について具体的に説明する。制御部１は、他の第１ディスク装置３ｂ、３ｃからもテストパターンの書き込みが失敗している旨の障害報告を受け取った場合は、各第１ディスク装置３ａ〜３ｃにおいて共通している伝送経路Ｌ１を障害経路として特定する。つまり、制御部１は、制御部１と第１スイッチ部２とを接続する伝送経路Ｌ１を障害経路として特定する。より具体的には、制御部１は、制御部１の信号送信回路Ｃ１１と第１スイッチ部２の信号受信回路Ｃ２１との間の伝送経路を障害経路として特定する。
【００４４】
また、制御部１が他の第１ディスク装置３ｂ及び３ｃの少なくとも一つから障害報告を受け取らなかった場合、各第１ディスク装置３ａ〜３ｃにおいて共通している伝送経路Ｌ１は障害経路から除外される。すなわち、制御部１は、第１スイッチ部２と第１ディスク装置３ａとを接続する伝送経路Ｌ３ａを障害経路として特定する。より具体的には、制御部１は、第１スイッチ部２の信号送信回路Ｃ２２と第１ディスク装置３ａの信号受信回路Ｃ３１との間の伝送経路を障害経路として特定する。
【００４５】
次にディスクアレイ装置のテストパターン読み込み時における動作について図７にて説明する。図７は、実施形態１に係るディスクアレイ装置のテストパターン読み込み時における動作手順を示すフローチャートである。
【００４６】
図７に示すように、まず、制御部１は、第１ディスク装置３ａにおける記憶部３１のテスト領域３１１に格納されているテストパターンのデータを読み込む（ステップＳ１１）。なお、第１ディスク装置３ａにおける記憶部３１のテスト領域３１１には、正常にテストパターンが書き込まれているものとする。
【００４７】
このステップＳ１１について、図５を参照しつつ詳細に説明する。
【００４８】
図５に示すように、まず、第１ディスク装置３ａの信号送信回路Ｃ３２が、テスト領域３１１に格納されているテストパターンを、信号線Ｔ３２を介して第１スイッチ部２へ送信する。
【００４９】
次に、第１スイッチ部２は、第１ディスク装置３ａからのテストパターンを信号受信回路Ｃ２３が受信し、この受信したテストパターンを信号送信回路Ｃ２４から信号線Ｔ１２を介して制御部１へ送信する。
【００５０】
制御部１は、信号受信回路Ｃ１２において第１スイッチ部２からのテストパターンを受信し、このテストパターンを正しく読み込めなかった場合には、障害が発生したと判断する（ステップＳ１２）。
【００５１】
そして、制御部１は、上述した読み込み処理を他の第１ディスク装置３ｂ，３ｃに対しても実行し、障害が発生した伝送経路である障害経路を特定する（ステップＳ１３）。
【００５２】
制御部１による障害経路の特定方法について、詳細に説明する。制御部１は、他の第１ディスク装置３ｂ、３ｃからも受信データを正しく読み込めなかった場合には、各第１ディスク装置３ａ〜３ｃにおいて共通している伝送経路Ｌ１を障害経路として特定する。すなわち、制御部１と第１スイッチ部２とを接続する伝送経路Ｌ１を障害経路として特定する。より具体的には、制御部１は、制御部１の信号受信回路Ｃ１２と第１スイッチ部２の信号送信回路Ｃ２４との間の伝送経路を障害経路として特定する。
【００５３】
また、制御部１が他の第１ディスク装置３ｂ及び３ｃの少なくとも一つから受信データを正しく読み込めた場合、各第１ディスク装置３ａ〜３ｃにおいて共通している伝送経路Ｌ１は障害経路から除外される。すなわち、制御部１は、第１スイッチ部２と第１ディスク装置３ａとを接続する伝送経路Ｌ３ａを障害経路として特定する。より具体的には、制御部１は、第１スイッチ部２の信号受信回路Ｃ２３と第１ディスク装置３ａの信号送信回路Ｃ３２との間の伝送経路を障害経路として特定する。
【００５４】
以上の説明では、第１ディスク装置３ａにおいて障害が発生した場合についての障害経路特定方法について説明したが、他の第１ディスク装置３ｂ、３ｃにおいて障害が発生した場合であっても、同様の方法で障害経路を特定することができる。
【００５５】
また、制御部１が第２ディスク装置５ａに書き込み処理を実行して障害が発生した場合は、制御部１は、各第１ディスク装置３ａ〜３ｃから障害報告を受け取っているか否か判断する。そして、制御部１は、各第１ディスク装置３ａ〜３ｃから障害報告を受け取っている場合、第１ディスク装置３ａ〜３ｃ及び第２ディスク装置５ａにおいて共通している伝送経路Ｌ１を障害経路として特定する。
【００５６】
また、制御部１は、各第１ディスク装置３ａ〜３ｃの少なくとも一つから障害報告を受けていない場合、他の第２ディスク装置５ｂ、５ｃから障害報告を受けているか否か判断する。他の第２ディスク装置５ｂ、５ｃから障害報告を受けている場合は、第２ディスク装置５ａ〜５ｃにおいて共通する伝送経路Ｌ２を障害経路として特定する。一方、他の第２ディスク装置５ｂ、５ｃの少なくとも一つから障害報告を受けていない場合は、伝送経路Ｌ４ａを障害経路として特定する。なお、制御部１が第２ディスク装置５ａからテストパターンを読み込んで障害が発生した場合についても、制御部１は、上記説明と同様の方法で障害経路を特定することができる。
【００５７】
［プログラム］
本発明の実施形態１におけるプログラムは、プロセッサに、図４に示すステップＳ１〜Ｓ３、及び図７に示すステップＳ１１〜Ｓ１３を実行させるプログラムであればよい。このプログラムをディスクアレイ装置にインストールし実行することによって、実施形態１において説明した機能を実行するディスクアレイ装置１００と障害経路特定方法とを実現することができる。
【００５８】
以上のように実施形態１によれば、制御部１によって障害経路を特定することができる。また、本実施形態では、同じテストパターンを用いて各ディスク装置に対して、障害の検出を行っているため、より正確に障害経路を特定することができる。
【００５９】
また、実施形態１によれば、各ディスク装置３ａ〜３ｃの記憶部３１にテスト領域３１１を設け、このテスト領域３１１に対して所定のテストパターンの読み書き処理を行い、障害経路を特定する。このため、特殊な回路を追加することなく、伝送経路に障害が発生しているか否かを判断することができる。そして、このように特殊な回路を使用しないため、通常の読み書き処理を実行しながら、障害経路の特定を行うことができる。
【００６０】
（実施形態２）
次に本発明の実施形態２に係るディスクアレイシステムについて、図面を参照しながら説明する。図８は本発明の実施形態２におけるディスクアレイシステムの構成を示す図である。なお、実施形態２に係るディスクアレイシステムは、実施形態１の制御部１に相当するノード１１が複数ある点において上記実施形態１と主に異なるため、この部分を中心に説明をし、上記実施形態１と同じ部分については説明を繰り返さない。
【００６１】
図８に示すように、実施形態２に係るディスクアレイシステムは、複数のノード１１ａ〜１１ｃを備えている。このノード１１ａ〜１１ｃとして、例えば、サーバ、又はパーソナルコンピュータ（ＰＣ）等を用いることができる。
【００６２】
各ノード１１ａ〜１１ｃは、実施形態１のスイッチ部２に相当するスイッチ装置２１を介して、複数のディスク装置３ａ〜３ｃに接続されている。詳細には、ノード１１ａは伝送経路Ｌ１ａを介してスイッチ装置２１に接続されており、ノード１１ｂは伝送経路Ｌ１ｂを介してスイッチ装置２１に接続されており、ノード１１ｃは伝送経路Ｌ１ｃを介してスイッチ装置２１に接続されている。
【００６３】
そして、ノード１１ａからディスク装置３ａに対してテストパターンの書き込み処理又は読み込み処理を実行した結果障害が発生した場合、ノード１１ａは上記実施形態１において説明した方法と同様の方法で障害経路を特定する。
【００６４】
上述した実施の形態の一部又は全部は、以下に記載する（付記１）〜（付記１２）によって表現することができるが、以下の記載に限定されるものではない。
【００６５】
（付記１）
データを格納する記憶部を有する複数のディスク装置と、
外部装置からの前記各ディスク装置の記憶部へのアクセスを制御する制御部と、
前記制御部と前記各ディスク装置との間に介在し、前記制御部からのデータを各ディスク装置に割り振るスイッチ部と、を備え、
前記各ディスク装置の記憶部は、障害検出用のテストパターンを格納するためのテスト領域を有しており、
前記制御部は、
前記各ディスク装置における記憶部のテスト領域に前記テストパターンの書き込み処理を実行し、あるディスク装置から障害報告を受け取ると、他のディスク装置から障害報告を受け取ったか否か判断し、
他のディスク装置から障害報告を受け取った場合は自己と前記スイッチ部とを接続する伝送経路を障害経路として特定し、他のディスク装置から障害報告を受け取らない場合は前記スイッチ部と対象のディスク装置との間の伝送経路を障害経路として特定する、ディスクアレイ装置。
【００６６】
（付記２）
前記制御部は、
前記各ディスク装置における記憶部のテスト領域に前記テストパターンの書き込み処理が正常に終了した後、前記各ディスク装置における記憶部のテスト領域から前記テストパターンの読み込み処理を実行し、
あるディスク装置からの前記読み込み処理に障害が発生したことを検出すると、他のディスク装置からの前記読み込み処理に障害が発生したか否か検出し、
他のディスク装置からの前記読み込み処理に障害が発生したことを検出した場合は自己と前記スイッチ部とを接続する伝送経路を障害経路として特定し、他のディスク装置からの前記読み込み処理に障害が発生したことを検出しない場合は前記スイッチ部と対象のディスク装置との間の伝送経路を障害経路として特定する、請求項１に記載のディスクアレイ装置。
【００６７】
（付記３）
データを格納する記憶部を有する複数のディスク装置と、
前記各ディスク装置の記憶部に対してデータを読み書きするノードと、
前記ノードと前記各ディスク装置との間に介在し、前記ノードからのデータを各ディスク装置に割り振るスイッチ装置と、を備え、
前記各ディスク装置の記憶部は、障害検出用のテストパターンを格納するためのテスト領域を有しており、
前記ノードは、
前記各ディスク装置における記憶部のテスト領域に前記テストパターンの書き込み処理を実行し、あるディスク装置から障害報告を受け取ると、他のディスク装置から障害報告を受け取ったか否か判断し、
他のディスク装置から障害報告を受け取った場合は自己と前記スイッチ装置とを接続する伝送経路を障害経路として特定し、他のディスク装置から障害報告を受け取らない場合は前記スイッチ装置と対象のディスク装置との間の伝送経路を障害経路として特定する、ディスクアレイシステム。
【００６８】
（付記４）
前記ノードは、
前記各ディスク装置における記憶部のテスト領域に前記テストパターンの書き込み処理が正常に終了した後、前記各ディスク装置における記憶部のテスト領域から前記テストパターンの読み込み処理を実行し、
あるディスク装置からの前記読み込み処理に障害が発生したことを検出すると、他のディスク装置からの前記読み込み処理に障害が発生したか否か検出し、
他のディスク装置からの前記読み込み処理に障害が発生したことを検出した場合は自己と前記スイッチ装置とを接続する伝送経路を障害経路として特定し、他のディスク装置からの前記読み込み処理に障害が発生したことを検出しない場合は前記スイッチ装置と対象のディスク装置との間の伝送経路を障害経路として特定する、請求項３に記載のディスクアレイシステム。
【００６９】
（付記５）
データを格納する記憶部を有する複数のディスク装置と、外部装置からの前記各ディスク装置の記憶部へのアクセスを制御する制御部と、前記制御部と前記各ディスク装置との間に介在し、前記制御部からのデータを各ディスク装置に割り振るスイッチ部と、を備えたディスクアレイ装置における障害経路を特定する方法であって、
（ａ）前記各ディスク装置における記憶部のテスト領域に前記テストパターンの書き込み処理を実行し、あるディスク装置から障害報告を受け取ると、他のディスク装置から障害報告を受け取ったか否か判断するステップと
（ｂ）他のディスク装置から障害報告を受け取った場合は自己と前記スイッチ部とを接続する伝送経路を障害経路として特定し、他のディスク装置から障害報告を受け取らない場合は前記スイッチ部と対象のディスク装置との間の伝送経路を障害経路として特定するステップと、
を有する、障害経路特定方法。
【００７０】
（付記６）
（ｃ）前記各ディスク装置における記憶部のテスト領域に前記テストパターンの書き込み処理が正常に終了した後、前記各ディスク装置における記憶部のテスト領域から前記テストパターンの読み込み処理を実行するステップと、
（ｄ）あるディスク装置からの前記読み込み処理に障害が発生したことを検出すると、他のディスク装置からの前記読み込み処理に障害が発生したか否か検出するステップと、
（ｅ）他のディスク装置からの前記読み込み処理に障害が発生したことを検出した場合は自己と前記スイッチ部とを接続する伝送経路を障害経路として特定し、他のディスク装置からの前記読み込み処理に障害が発生したことを検出しない場合は前記スイッチ部と対象のディスク装置との間の伝送経路を障害経路として特定するステップと、
をさらに有する、付記５に記載の障害経路特定方法。
【００７１】
（付記７）
データを格納する記憶部を有する複数のディスク装置と、前記各ディスク装置の記憶部に対してデータを読み書きするノードと、前記ノードと前記各ディスク装置との間に介在し、前記ノードからのデータを各ディスク装置に割り振るスイッチ装置と、を備えたディスクアレイシステムにおける障害経路を特定する方法であって、
（ａ）前記各ディスク装置における記憶部のテスト領域に前記テストパターンの書き込み処理を実行し、あるディスク装置から障害報告を受け取ると、他のディスク装置から障害報告を受け取ったか否か判断するステップと
（ｂ）他のディスク装置から障害報告を受け取った場合は自己と前記スイッチ装置とを接続する伝送経路を障害経路として特定し、他のディスク装置から障害報告を受け取らない場合は前記スイッチ装置と対象のディスク装置との間の伝送経路を障害経路として特定するステップと、
を有する、障害経路特定方法。
【００７２】
（付記８）
（ｃ）前記各ディスク装置における記憶部のテスト領域に前記テストパターンの書き込み処理が正常に終了した後、前記各ディスク装置における記憶部のテスト領域から前記テストパターンの読み込み処理を実行するステップと、
（ｄ）あるディスク装置からの前記読み込み処理に障害が発生したことを検出すると、他のディスク装置からの前記読み込み処理に障害が発生したか否か検出するステップと、
（ｅ）他のディスク装置からの前記読み込み処理に障害が発生したことを検出した場合は自己と前記スイッチ装置とを接続する伝送経路を障害経路として特定し、他のディスク装置からの前記読み込み処理に障害が発生したことを検出しない場合は前記スイッチ装置と対象のディスク装置との間の伝送経路を障害経路として特定するステップと、
をさらに有する、付記７に記載の障害経路特定方法。
【００７３】
（付記９）
データを格納する記憶部を有する複数のディスク装置と、外部装置からの前記各ディスク装置の記憶部へのアクセスを制御するプロセッサと、前記制御部と前記各ディスク装置との間に介在し、前記制御部からのデータを各ディスク装置に割り振るスイッチ部と、を備えたディスクアレイ装置において、前記プロセッサに、
（ａ）前記各ディスク装置における記憶部のテスト領域に前記テストパターンの書き込み処理を実行し、あるディスク装置から障害報告を受け取ると、他のディスク装置から障害報告を受け取ったか否か判断するステップと
（ｂ）他のディスク装置から障害報告を受け取った場合は自己と前記スイッチ部とを接続する伝送経路を障害経路として特定し、他のディスク装置から障害報告を受け取らない場合は前記スイッチ部と対象のディスク装置との間の伝送経路を障害経路として特定するステップと、
を実行させる、プログラム。
【００７４】
（付記１０）
前記プロセッサに、
（ｃ）前記各ディスク装置における記憶部のテスト領域に前記テストパターンの書き込み処理が正常に終了した後、前記各ディスク装置における記憶部のテスト領域から前記テストパターンの読み込み処理を実行するステップと、
（ｄ）あるディスク装置からの前記読み込み処理に障害が発生したことを検出すると、他のディスク装置からの前記読み込み処理に障害が発生したか否か検出するステップと、
（ｅ）他のディスク装置からの前記読み込み処理に障害が発生したことを検出した場合は自己と前記スイッチ部とを接続する伝送経路を障害経路として特定し、他のディスク装置からの前記読み込み処理に障害が発生したことを検出しない場合は前記スイッチ部と対象のディスク装置との間の伝送経路を障害経路として特定するステップと、
をさらに実行させる、付記９に記載のプログラム。
【００７５】
（付記１１）
データを格納する記憶部を有する複数のディスク装置と、前記各ディスク装置の記憶部に対してデータを読み書きするノードと、前記ノードと前記各ディスク装置との間に介在し、前記ノードからのデータを各ディスク装置に割り振るスイッチ装置と、を備えたディスクアレイシステムにおいて、前記ノードに、
（ａ）前記各ディスク装置における記憶部のテスト領域に前記テストパターンの書き込み処理を実行し、あるディスク装置から障害報告を受け取ると、他のディスク装置から障害報告を受け取ったか否か判断するステップと
（ｂ）他のディスク装置から障害報告を受け取った場合は自己と前記スイッチ装置とを接続する伝送経路を障害経路として特定し、他のディスク装置から障害報告を受け取らない場合は前記スイッチ装置と対象のディスク装置との間の伝送経路を障害経路として特定するステップと、
を実行させる、プログラム。
【００７６】
（付記１２）
前記ノードに、
（ｃ）前記各ディスク装置における記憶部のテスト領域に前記テストパターンの書き込み処理が正常に終了した後、前記各ディスク装置における記憶部のテスト領域から前記テストパターンの読み込み処理を実行するステップと、
（ｄ）あるディスク装置からの前記読み込み処理に障害が発生したことを検出すると、他のディスク装置からの前記読み込み処理に障害が発生したか否か検出するステップと、
（ｅ）他のディスク装置からの前記読み込み処理に障害が発生したことを検出した場合は自己と前記スイッチ装置とを接続する伝送経路を障害経路として特定し、他のディスク装置からの前記読み込み処理に障害が発生したことを検出しない場合は前記スイッチ装置と対象のディスク装置との間の伝送経路を障害経路として特定するステップと、
をさらに実行させる、付記１１に記載のプログラム。
【符号の説明】
【００７７】
１  制御部
１１  ノード
２  スイッチ部
２１  スイッチ装置
３  ディスク装置
３１  記憶部
３１１  テスト領域
Ｌ１、Ｌ１ａ〜Ｌ１ｃ、Ｌ３ａ〜Ｌ３ｃ  伝送経路
【図１】
0005510679.tif 000002
【図２】
0005510679.tif 000003
【図３】
0005510679.tif 000004
【図４】
0005510679.tif 000005
【図５】
0005510679.tif 000006
【図６】
0005510679.tif 000007
【図７】
0005510679.tif 000008
【図８】
0005510679.tif 000009