(57)【特許請求の範囲】
【請求項１】
ディスクアレイ装置の故障診断システムにおいて、
リソースを監視する制御部と、リソースの監視に関する情報を格納する記憶部と、記憶ユニットである複数のＨＤＤと、複数のレーンを含むケーブルに接続する入出力部とを備え、複数の前記ケーブルにより接続された複数のディスク装置と、
複数の前記ケーブルと、
を備え、
前記複数のケーブルのうちいずれかのケーブルで異常が発生した場合、前記異常が発生した異常ケーブルを挟むディスク装置は、ケーブル異常の原因である可能性が高い被疑レーンを特定するための故障診断として、
前記異常ケーブルを挟むディスク装置が、前記異常ケーブルの各レーンに対して順番にデータ転送を行うことにより前記故障診断を行い、
さらに、
前記異常ケーブルを挟むディスク装置が、前記異常ケーブルの各レーンに対して、交互に双方向のデータ転送を行うことにより前記故障診断を行うことを特徴とするディスクアレイ装置の故障診断システム。
【請求項２】
前記ケーブルのうち異常が発生している可能性が高い被疑ケーブルを特定し、当該被疑ケーブルを挟む前記ディスク装置に対して故障診断指示を行う制御回路を備え、
前記被疑ケーブルを挟む前記ディスク装置は、前記故障診断指示を受け取ると、特定された前記被疑ケーブルについて前記故障診断を開始することを特徴とする請求項１記載のディスクアレイ装置の故障診断システム。
【請求項３】
データ転送先の前記ディスク装置は、データ転送元の前記ディスク装置および前記制御回路に診断結果を通知することを特徴とする請求項２記載のディスクアレイ装置の故障診断システム。
【請求項４】
前記故障診断において前記被疑レーンが特定された場合、当該被疑レーンを挟むディスク装置は、当該被疑レーンを切り離すことを特徴とする請求項２または３に記載のディスクアレイ装置の故障診断システム。
【請求項５】
前記ディスク装置は、複数の記憶ユニットを含み、
前記制御回路は、前記記憶ユニット毎のエラーカウント値および当該エラーカウント値の閾値が格納された記憶手段を含み、
前記制御回路は、前記記憶ユニットへのアクセスエラーが発生したとき、当該記憶ユニットに対応するエラーカウント値を加算し、その加算値が、前記記憶手段に記憶された前記閾値を超えたか否かを判断することにより前記被疑ケーブルを特定することを特徴とする請求項２ないし４のいずれかに記載のディスクアレイ装置の故障診断システム。
【請求項６】
前記制御回路は、前記アクセスエラーのうちインタフェース系のエラーのみを前記エラーカウント値としてカウントすることを特徴とする請求項５記載のディスクアレイ装置の故障診断システム。
【請求項７】
前記アクセスエラーを発生した記憶ユニットのエラーカウント値が閾値を超えたとき、前記制御回路は、当該記憶ユニットが属するディスク装置と同一のディスク装置内の他の記憶ユニットの前記エラーカウント値が前記閾値を超えているか否かを判断し、前記他の記憶ユニットの前記エラーカウント値が前記閾値を超えていたとき、自ディスク装置と接続され、かつ、当該自ディスク装置と前記制御回路との間のケーブルを前記被疑ケーブルと特定することを特徴とする請求項５または６記載のディスクアレイ装置の故障診断システム。
【請求項８】
前記同一のディスク装置において、前記エラーカウント値が前記閾値を超えている前記他の記憶ユニットが所定数以上だったとき、前記制御回路は、自ディスク装置と接続され、
かつ、当該自ディスク装置と前記制御回路との間のケーブルを前記被疑ケーブルと特定することを特徴とする請求項７記載のディスクアレイ装置の故障診断システム。
【請求項９】
前記制御回路は、前記同一のディスク装置において、エラーカウント値が閾値を超えている前記他の記憶ユニットが全く存在しないとき、前記アクセスエラーを発生した記憶ユニット自身の故障と判断することを特徴とする請求項７または８記載のディスクアレイ装置の故障診断システム。
【請求項１０】
所定の間隔で前記ディスク装置に対して入出力コマンドを出力する制御回路を備え、
前記ディスク装置は、制御手段と、前記入出力コマンドを受け取るべき所定の間隔を示す時間情報とエラーカウント値と当該エラーカウント値の閾値とが格納された記憶手段とを備え、
前記ディスク装置の前記制御手段は、前記制御回路から予め定められた前記所定の間隔で前記入出力コマンドを受け取らないとき、前記エラーカウント値を加算して前記閾値を超えたか否かを判断し、当該閾値を超えた場合に前記故障診断を開始することを特徴とする請求項１記載のディスクアレイ装置の故障診断システム。
【請求項１１】
前記ディスク装置の前記制御手段は、前記エラーカウント値が前記閾値を超えていたときに、前記ディスク装置と前記制御回路との間に接続されているディスク装置である前段のディスク装置から診断結果を受け取り、前記前段のディスク装置の前記エラーカウント値が前記閾値を超えていない場合に、自ディスク装置と前記前段のディスク装置とを接続しているケーブルを前記被疑ケーブルと特定することを特徴とする請求項１０記載のディスクアレイ装置の故障診断システム。
【請求項１２】
前記ディスク装置の前記制御手段は、自ディスク装置に最も近い前記前段のディスク装置から前記診断結果を受け取ることを特徴とする請求項１１記載のディスクアレイ装置の故障診断システム。
【請求項１３】
前記前段のディスク装置の前記エラーカウント値が前記閾値を超えていた場合に、前記前段のディスク装置において前記故障診断が行われることを特徴とする請求項１１または１２記載のディスクアレイ装置の故障診断システム。
【請求項１４】
リソースを監視する制御部と、リソースの監視に関する情報を格納する記憶部と、記憶ユニットである複数のＨＤＤと、複数のレーンを含むケーブルに接続する入出力部とを備え、複数の前記ケーブルにより接続された複数のディスク装置と、複数の前記ケーブルとを備えたディスクアレイ装置の故障診断方法において、
前記複数のケーブルのうちいずれかのケーブルで異常が発生した場合、ケーブル異常の原因である可能性が高い被疑レーンを特定する故障診断を行う故障診断ステップを有し、
前記故障診断ステップにおいて、前記異常が発生した異常ケーブルを挟むディスク装置が、前記異常ケーブルの各レーンに対して順番にデータ転送を行うことにより前記故障診断が行われ、
さらに、
前記故障診断ステップにおいて、前記異常ケーブルを挟むディスク装置が、前記異常ケーブルの各レーンに対して、交互に双方向のデータ転送を行うことにより前記故障診断が行われることを特徴とするディスクアレイ装置の故障診断方法。
【請求項１５】
前記ディスクアレイ装置は、さらに制御回路を備え、
前記故障診断ステップは、
前記制御回路が、異常が発生している可能性が高い被疑ケーブルを特定する第１被疑ケーブル特定ステップと、
前記制御回路が、当該被疑ケーブルを挟む前記ディスク装置に対して故障診断指示を行う故障診断指示ステップと、
前記被疑ケーブルを挟む前記ディスク装置が、前記故障診断指示を受け取ると、特定された前記被疑ケーブルについて前記故障診断を開始する第１故障診断開始ステップと、
を有することを特徴とする請求項１４記載のディスクアレイ装置の故障診断方法。
【請求項１６】
データ転送先の前記ディスク装置が、データ転送元の前記ディスク装置および前記制御回路に診断結果を通知する通知ステップを有することを特徴とする請求項１５記載のディスクアレイ装置の故障診断方法。
【請求項１７】
前記故障診断ステップは、
前記被疑レーンが特定された場合、当該被疑レーンを切り離す切り離しステップを有することを特徴とする請求項１５または１６記載のディスクアレイ装置の故障診断方法。
【請求項１８】
前記ディスク装置は複数の記憶ユニットを含み、
前記第１被疑ケーブル特定ステップは、
前記記憶ユニット毎のエラーカウント値および当該エラーカウント値の閾値を前記制御回路の記憶手段に格納する第１格納ステップと、
前記制御回路が、前記記憶ユニットへのアクセスエラーが発生したとき、当該記憶ユニットに対応するエラーカウント値を加算する第１加算ステップと、
前記加算されたエラーカウント値が前記記憶手段に記憶された前記閾値を超えたか否かを判断する第１判断ステップと、
を備えることを特徴とする請求項１５ないし１７のいずれかに記載のディスクアレイ装置の故障診断方法。
【請求項１９】
前記第１格納ステップおよび前記第１加算ステップにおいて、
前記アクセスエラーのうちインタフェース系のエラーのみをカウントすることを特徴とする請求項１８記載のディスクアレイ装置の故障診断方法。
【請求項２０】
前記第１被疑ケーブル特定ステップは、
前記第１判断ステップにおいて、前記加算されたエラーカウント値が前記閾値を超えたとき、当該記憶ユニットが属するディスク装置と同一のディスク装置内の他の記憶ユニットのエラーカウント値が閾値を超えているか否かを判断する第２判断ステップと、
前記他の記憶ユニットのエラーカウント値が閾値を超えていたとき、自ディスク装置と接続され、かつ、当該自ディスク装置と前記制御回路との間のケーブルを前記被疑ケーブルと特定する第１特定ステップと、
を有することを特徴とする請求項１８または１９記載のディスクアレイ装置の故障診断方法。
【請求項２１】
前記第１特定ステップにおいて、
前記同一のディスク装置において、前記エラーカウント値が前記閾値を超えている前記他の記憶ユニットが所定数以上だったとき、自ディスク装置と接続され、かつ、当該自ディスク装置と前記制御回路との間のケーブルを被疑ケーブルと特定することを特徴とする請求項２０記載のディスクアレイ装置の故障診断方法。
【請求項２２】
前記第１被疑ケーブル特定ステップは、
前記第２判断ステップにおいて、前記同一のディスク装置の中でエラーカウント値が閾値を超えている他の記憶ユニットが全く存在しないとき、前記アクセスエラーを発生した記憶ユニット自身の故障と判断する第３判断ステップを有することを特徴とする請求項２０または２１記載のディスクアレイ装置の故障診断方法。
【請求項２３】
前記ディスクアレイ装置は、さらに制御回路を備え、
前記故障診断ステップは
前記制御回路が、所定の間隔で前記ディスク装置に対して入出力コマンドを出力するコマンド送信ステップと、
前記ディスク装置が、異常が発生している可能性が高い被疑ケーブルを特定する第２被疑ケーブル特定ステップと、
を有し、
前記第２被疑ケーブル特定ステップは、
前記入出力コマンドを受け取るべき所定の間隔を示す時間情報とエラーカウント値と当該エラーカウント値の閾値とを前記ディスク装置の記憶手段に格納する第２格納ステップと、
前記制御回路から前記所定の間隔で入出力コマンドを受け取らないとき、前記エラーカウント値を加算する第２加算ステップと、
前記加算されたエラーカウントが前記閾値を超えたか否かを判断し、前記閾値を超えた場合に前記故障診断を開始する第２故障診断開始ステップと、
を有することを特徴とする請求項１４記載のディスクアレイ装置の故障診断方法。
【請求項２４】
前記第２被疑ケーブル特定ステップは、
前記ディスク装置が、前記エラーカウントの閾値を超えていた場合に、当該ディスク装置と前記制御回路との間に接続されているディスク装置である前段のディスク装置から診断結果を受け取る受取ステップと、
前記前段のディスクアレイ装置の前記エラーカウント値が前記閾値を超えていない場合に、自ディスク装置と前記前段のディスク装置とを接続しているケーブルを前記被疑ケーブルと特定する第２特定ステップと、
を有することを特徴とする請求項２３記載のディスクアレイ装置の故障診断方法。
【請求項２５】
前記受取ステップにおいて、
前記ディスク装置が、自ディスク装置に最も近い前記前段のディスク装置から前記診断結果を受け取ることを特徴とする請求項２４記載のディスクアレイ装置の故障診断方法。
【請求項２６】
前記第２被疑ケーブル特定ステップにおいて、前記前段のディスクアレイ装置の前記エラーカウント値が前記閾値を超えていたとき、前記前段のディスク装置において前記受取ステップおよび前記第２特定ステップを繰り返すことを特徴とする請求項２４または２５記載のディスクアレイ装置の故障診断方法。
【請求項２７】
リソースを監視する制御部と、リソースの監視に関する情報を格納する記憶部と、記憶ユニットである複数のＨＤＤと、複数のレーンを含むケーブルに接続する入出力部とを備え、複数の前記ケーブルにより接続された複数のディスク装置と、複数の前記ケーブルとを備えたディスクアレイ装置におけるディスク装置において、
前記複数のケーブルのうちいずれかのケーブルで異常が発生した場合、ケーブル異常の原因である可能性が高い被疑レーンを特定する故障診断を行う場合、
前記ディスク装置が異常ケーブルを挟む他のディスク装置と、前記異常ケーブルの各レーンに対して順番にデータ転送を行うことにより前記故障診断を行い、
さらに、
前記ディスク装置が異常ケーブルを挟む前記他のディスク装置と、前記異常ケーブルの各レーンに対して、交互に双方向のデータ転送を行うことにより前記故障診断を行うことを特徴とするディスク装置。
【請求項２８】
前記ディスクアレイ装置は、異常が発生している可能性が高い被疑ケーブルを特定して当該被疑ケーブルを挟む前記ディスク装置に対して故障診断指示を行う制御回路を備えており、
前記制御回路から前記故障診断指示を受け取ると、特定された前記被疑ケーブルについて前記故障診断を開始することを特徴とする請求項２７記載のディスク装置。
【請求項２９】
前記制御回路に診断結果を通知することを特徴とする請求項２８記載のディスク装置。
【請求項３０】
前記故障診断において前記被疑レーンが特定されたとき、当該被疑レーンを切り離すことを特徴とする請求項２８または２９のいずれかに記載のディスク装置。
【請求項３１】
制御手段と、
前記制御回路から入出力コマンドを受け取るべき所定の間隔を示す時間情報とエラーカウント値と当該エラーカウント値の閾値とが格納された記憶手段と、
を備え、
前記制御手段は、前記ディスクアレイコントローラから予め定められた前記所定の間隔で前記入出力コマンドを受け取らないとき、前記エラーカウント値を加算して前記閾値を超えたか否かを判断し、当該閾値を超えた場合に前記故障診断を開始することを特徴とする請求項２８ないし３０のいずれかに記載のディスク装置。
【請求項３２】
前記制御手段は、前記エラーカウント値が前記閾値を超えていたときに、前記ディスク装置と前記制御回路との間に接続されているディスク装置である前段のディスク装置から診断結果を受け取り、前記前段のディスク装置の前記エラーカウントが前記閾値を超えていない場合に、自ディスク装置と前記前段のディスク装置とを接続しているケーブルを前記被疑ケーブルと特定することを特徴とする請求項３１記載のディスク装置。
【請求項３３】
前記制御手段は、自ディスク装置に最も近い前記前段のディスク装置から診断結果を受け取ることを特徴とする請求項３２記載のディスク装置。
【請求項３４】
リソースを監視する制御部と、リソースの監視に関する情報を格納する記憶部と、記憶ユニットである複数のＨＤＤと、複数のレーンを含むケーブルに接続する入出力部とを備え、複数の前記ケーブルにより接続された複数のディスク装置と複数の前記ケーブルとを備えたディスクアレイ装置におけるディスク装置の故障診断方法において、
前記複数のケーブルのうちいずれかのケーブルで異常が発生した場合、ケーブル異常の原因である可能性が高い被疑レーンを特定する故障診断を行う故障診断ステップを有し、
前記故障診断ステップにおいて、前記異常ケーブルを挟むディスク装置が、前記異常ケーブルの各レーンに対して順番にデータ転送を行い、
さらに、
前記前記故障診断ステップにおいて、前記異常ケーブルを挟むディスク装置が、前記異常ケーブルの各レーンに対して、交互に双方向のデータ転送を行うことにより前記故障診断を行うことを特徴とするディスク装置の故障診断方法。
【請求項３５】
前記故障診断ステップは
所定の間隔で、前記ディスク装置に接続された制御回路から入出力コマンドを受け取るコマンド受信ステップと、
異常が発生している可能性が高い被疑ケーブルを特定する被疑ケーブル特定ステップと、
を有し、
前記被疑ケーブル特定ステップは、
前記入出力コマンドを受け取るべき所定の間隔を示す時間情報とエラーカウント値と当該エラーカウント値の閾値とを前記ディスク装置の記憶手段に格納する第２格納ステップと、
前記制御回路から前記所定の間隔で入出力コマンドを受け取らないとき、前記エラーカウント値を加算する第２加算ステップと、
前記加算されたエラーカウント値が前記記憶手段に記憶された前記閾値を超えたか否かを判断し、前記閾値を超えた場合に前記故障診断を開始する故障診断開始ステップと、
を有することを特徴とする請求項３４記載のディスク装置の故障診断方法。
【請求項３６】
前記被疑ケーブル特定ステップは、
前記ディスク装置が、前記エラーカウントの閾値を超えていた場合に、当該ディスク装置と前記制御回路との間に接続されているディスク装置である前段のディスク装置から診断結果を受け取る受取ステップと、
前記前段のディスクアレイ装置の前記エラーカウントが前記閾値を超えていない場合に、
自ディスク装置と前記前段のディスク装置とを接続しているケーブルを前記被疑ケーブルと特定する特定ステップと、
を有することを特徴とする請求項３５記載のディスク装置の故障診断方法。
【請求項３７】
前記受取ステップにおいて、
前記ディスク装置が、自ディスク装置に最も近い前記前段のディスク装置から前記診断結果を受け取ることを特徴とする請求項３６記載のディスク装置の故障診断方法。
【請求項３８】
リソースを監視する制御部と、リソースの監視に関する情報を格納する記憶部と、記憶ユニットである複数のＨＤＤと、複数のレーンを含むケーブルに接続する入出力部とを備え、複数の前記ケーブルにより接続された複数のディスク装置と複数の前記ケーブルとを備えたディスクアレイ装置におけるディスクアレイコントローラにおいて、
異常が発生している可能性が高い被疑ケーブルを特定する故障診断として、
前記異常ケーブルを挟むディスク装置に、前記異常ケーブルの各レーンに対して順番にデータ転送を行わせ、
さらに、
前記異常ケーブルを挟むディスク装置に、前記異常ケーブルの各レーンに対して、交互に双方向のデータ転送を行わせることを特徴とするディスクアレイコントローラ。
【請求項３９】
前記ディスク装置に備えられた複数の記憶ユニットのそれぞれに対応づけられたエラーカウント値および当該エラーカウント値の閾値が格納される記憶手段と、
前記記憶ユニットへのアクセスエラーが発生したとき、当該記憶ユニットに対応するエラーカウント値を加算して前記閾値を超えたか否かを判断することにより前記被疑ケーブルを特定する制御手段と、
を備えることを特徴とする請求項３８記載のディスクアレイコントローラ。
【請求項４０】
前記制御手段は、前記アクセスエラーのうちインタフェース系のエラーのみをカウントすることを特徴とする請求項３９記載のディスクアレイコントローラ。
【請求項４１】
前記アクセスエラーを発生した記憶ユニットのエラーカウント値が閾値を超えたとき、前記制御手段は、当該記憶ユニットが属するディスク装置と同一のディスク装置内の他の記憶ユニットの前記エラーカウント値が前記閾値を超えているか否かを判断し、前記他の記憶ユニットの前記エラーカウント値が前記閾値を超えていたとき、当該ディスク装置と接続され、かつ、当該ディスク装置と自ディスクアレイコントローラとの間のケーブルを前記被疑ケーブルと特定することを特徴とする請求項３９または４０記載のディスクアレイコントローラ。
【請求項４２】
前記同一のディスク装置において、前記エラーカウント値が前記閾値を超えている前記他の記憶ユニットが所定数以上だったとき、前記制御手段は、当該ディスク装置と接続され、かつ、当該ディスク装置と自ディスクアレイコントローラとの間のケーブルを前記被疑ケーブルと特定することを特徴とする請求項４１記載のディスクアレイコントローラ。
【請求項４３】
前記制御手段は、前記同一のディスク装置において、エラーカウント値が閾値を超えている前記他の記憶ユニットが全く存在しないとき、前記アクセスエラーを発生した記憶ユニット自身の故障と判断することを特徴とする請求項４１または４２記載のディスクアレイコントローラ。
【請求項４４】
リソースを監視する制御部と、リソースの監視に関する情報を格納する記憶部と、記憶ユニットである複数のＨＤＤと、複数のレーンを含むケーブルに接続する入出力部とを備え、複数の前記ケーブルにより接続された複数のディスク装置と前記複数のケーブルとを備えたディスクアレイ装置におけるディスクアレイコントローラにおいて、
所定の間隔で前記ディスク装置に対して入出力コマンドを送信して、
異常が発生している可能性が高い被疑ケーブルを特定する故障診断として、
前記異常ケーブルを挟むディスク装置に、前記異常ケーブルの各レーンに対して順番にデータ転送を行わせ、
さらに、
前記異常ケーブルを挟むディスク装置に、前記異常ケーブルの各レーンに対して、交互に双方向のデータ転送を行わせることを特徴とするディスクアレイコントローラ。
【請求項４５】
リソースを監視する制御部と、リソースの監視に関する情報を格納する記憶部と、記憶ユニットである複数のＨＤＤと、複数のレーンを含むケーブルに接続する入出力部とを備え、複数の前記ケーブルにより接続された複数のディスク装置と複数の前記ケーブルとを備えたディスクアレイ装置におけるディスクアレイコントローラの故障診断方法において、
異常が発生している可能性が高い被疑ケーブルを特定する故障診断を行う故障診断ステップを有し、
前記故障診断ステップにおいて、前記異常が発生した異常ケーブルを挟むディスク装置に、前記異常ケーブルの各レーンに対して順番にデータ転送を行わせることにより前記故障診断を行い、
さらに、
前記故障診断ステップにおいて、前記異常ケーブルを挟むディスク装置に、前記異常ケーブルの各レーンに対して、交互に双方向のデータ転送を行わせることにより前記故障診断を行うことを特徴とするディスクアレイコントローラの故障診断方法。
【請求項４６】
前記故障診断ステップは、
前記ディスク装置に備えられた複数の記憶ユニットのそれぞれに対応づけられたエラーカウント値および当該エラーカウント値の閾値を記憶手段に格納する格納ステップと、
前記記憶ユニットへのアクセスエラーが発生したとき、当該記憶ユニットに対応するエラーカウント値を加算して前記閾値を超えたか否かを判断することにより前記被疑ケーブルを特定する被疑ケーブル特定ステップと、
を有することを特徴とする請求項４５記載のディスクアレイコントローラの故障診断方法。
【請求項４７】
コンピュータに、
複数の前記コンピュータを接続し、かつ、リソースを監視する制御部と、リソースの監視に関する情報を格納する記憶部と、記憶ユニットである複数のＨＤＤと、複数のレーンを含むケーブルに接続する入出力部とを備え、複数の前記ケーブルにより接続された複数のディスク装置を接続する複数のレーンから構成されるケーブルにおいて異常が発生したとき、ケーブル異常の原因である可能性が高い被疑レーンを特定する故障診断を行う故障診断ステップとして、
前記異常が発生した異常ケーブルを挟むディスク装置に、前記異常ケーブルの各レーンに対して順番にデータ転送を実行させ、
さらに、
前記異常ケーブルを挟むディスク装置に、前記異常ケーブルの各レーンに対して、交互に双方向のデータ転送を実行させることを特徴とするディスク装置の故障診断プログラム。
【請求項４８】
前記故障診断ステップは、
所定の間隔で、自コンピュータに接続された制御回路から入出力コマンドを受け取るコマンド受信ステップと、
異常が発生している可能性が高い被疑ケーブルを特定する被疑ケーブル特定ステップと、
を有し、
前記被疑ケーブル特定ステップは、
前記入出力コマンドを受け取るべき所定の間隔を示す時間情報とエラーカウント値と当該エラーカウント値の閾値とを自コンピュータの記憶手段に格納する第２格納ステップと、
前記制御回路から前記所定の間隔で入出力コマンドを受け取らないとき、前記エラーカウント値を加算する第２加算ステップと、
前記加算されたエラーカウント値が前記閾値を超えたか否かを判断し、前記閾値を超えた場合に前記故障診断を開始する故障診断開始ステップと、
を有することを特徴とする請求項４７に記載のディスク装置の故障診断プログラム。
【請求項４９】
コンピュータに、
リソースを監視する制御部と、リソースの監視に関する情報を格納する記憶部と、記憶ユニットである複数のＨＤＤと、複数のレーンを含むケーブルに接続する入出力部とを備え、複数の前記ケーブルにより接続された複数のディスク装置を接続する複数のケーブルのうち、異常が発生している可能性が高い被疑ケーブルを特定する故障診断を行う故障診断ステップとして、
前記異常が発生した異常ケーブルを挟むディスク装置に、前記異常ケーブルの各レーンに対して順番にデータ転送を実行させ、
さらに、
前記異常ケーブルを挟むディスク装置に、前記異常ケーブルの各レーンに対して、交互に双方向のデータ転送を実行させることを特徴とするディスクアレイコントローラの故障診断プログラム。
【請求項５０】
前記故障診断ステップは、
前記ディスク装置に含まれる複数の記憶ユニットのそれぞれに対応づけられたエラーカウント値および当該エラーカウント値の閾値を記憶手段に格納する格納ステップと、
前記記憶ユニットへのアクセスエラーが発生したとき、当該記憶ユニットに対応するエラーカウント値を加算して前記閾値を超えたか否かを判断することにより前記被疑ケーブルを特定する被疑ケーブル特定ステップと、
を有することを特徴とする請求項４９記載のディスクアレイコントローラの故障診断プログラム。
【請求項５１】
コンピュータに、
リソースを監視する制御部と、リソースの監視に関する情報を格納する記憶部と、記憶ユニットである複数のＨＤＤと、複数のレーンを含むケーブルに接続する入出力部とを備え、複数のレーンを含むケーブルにより接続された複数のディスク装置に対して、
所定の間隔で入出力コマンドを送信する送信ステップを実行させ、
異常が発生している可能性が高い被疑ケーブルを特定する故障診断として、
前記異常ケーブルを挟むディスク装置に、前記異常ケーブルの各レーンに対して順番にデータ転送を行わせ、
さらに、
前記異常ケーブルを挟むディスク装置に、前記異常ケーブルの各レーンに対して、交互に双方向のデータ転送を行わせることを特徴とするディスクアレイコントローラの故障診断プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスクアレイ装置の故障診断を行う技術に関し、特に、ケーブル内の一部レーンに障害が生じた場合に通常処理を中断させずに復旧処理が可能なディスクアレイ装置の診断システム、診断方法および診断プログラムに関する。
【背景技術】
【０００２】
ディスクアレイ装置の診断技術として、ディスクアレイ装置の通信経路に障害が発生した場合に、被疑箇所を切り離しディスクアレイ装置を復旧させる技術が知られている。
【０００３】
例えば、特許文献１（図９）には、ＲＡＩＤ（Reductant Arrays of Inexpensive Disks）コントローラ２００、３００が相互に接続されると共に、ＲＡＩＤコントローラ２００、３００とＤＥ（Disk Enclosure）４００〜９００とがループ状に接続されたＲＡＩＤ装置１００が開示されている。ＲＡＩＤ装置１００では、ＲＡＩＤコントローラが、ＤＥ４００〜９００のいずれかから経路異常検出情報を取得することによって各ＤＥ４００〜９００に至る経路の経路異常を検出し、検出結果に基づいて各ＤＥ４００〜９００に至る経路を切り替える。よって、経路異常が発生した場合にでも、経路異常の発生した経路の先に接続されたＤＥにアクセスすることが可能となり、システムを効率良く復旧させることができる。
【０００４】
また、特許文献２には、ディスク記憶デバイスにおいて障害の被疑箇所を特定する技術が開示されている。すなわち、複数のディスク記憶デバイスを制御する制御モジュールが、該当ディスク記憶デバイスへアクセスしたときにエラーを検出した場合、その伝送経路内の複数のディスク記憶デバイスにダミーアクセスして、その結果から、障害の被疑箇所を特定する。よって、障害の被疑箇所が、伝送経路か、ディスクドライブかを切り分けることができ、即座に代変え処理を行うことができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−１２９０７５
【特許文献２】特開２００７−９４９９６
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１および２では、異常が検出された経路を使用しないように経路変更することが必要であり、その間通常の処理が中断されるという問題があった。特に、複数レーンで構成されるケーブルがディスク装置の接続に使用され、ケーブル内の一部のレーンのみで障害が発生している場合、障害レーンのみを切り離せば通常処理の中断が生じないにも関わらず、障害レーンを含むケーブル全体を切り離すため、無駄に通常処理の中断が生じてしまうという問題があった。さらに、冗長構成の場合には、無駄に障害レーンを含むケーブル全体が切り離された結果、冗長性が失われ信頼性が低下するという問題もあった。
【０００７】
本発明の目的は、ケーブル内の一部レーンに障害が生じた場合に通常処理の中断を生じずに復旧処理が可能なディスクアレイ装置の故障診断システム、故障診断方法および故障診断プログラム、ディスク装置、ディスク装置の故障診断方法および故障診断プログラム、ディスクアレイコントローラ、ディスクアレイコントローラの故障診断方法および故障診断プログラムを提供することにある。特に、冗長構成のディスクアレイ装置においてケーブル内の一部レーンに障害が生じた場合に、冗長性を維持しながら、かつ、通常処理の中断を生じず復旧処理を行うことが可能なディスクアレイ装置の故障診断システム、故障診断方法および故障診断プログラム、ディスク装置、ディスク装置の故障診断方法および故障診断プログラム、ディスクアレイコントローラ、ディスクアレイコントローラの故障診断方法および故障診断プログラムを提供することにある。
【課題を解決するための手段】
【０００８】
本発明のディスクアレイ装置の故障診断システムは、複数のレーンを含むケーブルにより接続された複数のディスク装置と、複数のケーブルと、を備え、複数のケーブルのうちいずれかのケーブルで異常が発生した場合、異常が発生した異常ケーブルを挟むディスク装置は、ケーブル異常の原因である可能性が高い被疑レーンを特定するための故障診断を行うことを特徴とする。
【０００９】
本発明のディスクアレイ装置の故障診断方法は、複数のレーンを含むケーブルにより接続された複数のディスク装置と、複数のケーブルとを備えたディスクアレイ装置の故障診断方法において、複数のケーブルのうちいずれかのケーブルで異常が発生した場合、ケーブル異常の原因である可能性が高い被疑レーンを特定する故障診断を行う故障診断ステップを有することを特徴とする。
【００１０】
本発明のディスク装置は、複数のレーンを含むケーブルにより接続された複数のディスク装置と、複数のケーブルとを備えたディスクアレイ装置におけるディスク装置において、
複数のケーブルのうちいずれかのケーブルで異常が発生した場合、ケーブル異常の原因である可能性が高い被疑レーンを特定する故障診断を行うことを特徴とする。
【００１１】
本発明のディスク装置の故障診断方法は、複数のレーンを含むケーブルにより接続された複数のディスク装置と複数のケーブルとを備えたディスクアレイ装置におけるディスク装置の故障診断方法において、複数のケーブルのうちいずれかのケーブルで異常が発生した場合、ケーブル異常の原因である可能性が高い被疑レーンを特定する故障診断を行う故障診断ステップを有することを特徴とする。
【００１２】
本発明のディスクアレイコントローラは、複数のレーンを含むケーブルにより接続された複数のディスク装置と複数の前記ケーブルとを備えたディスクアレイ装置におけるディスクアレイコントローラにおいて、異常が発生している可能性が高い被疑ケーブルを特定する故障診断を行うことを特徴とする。
【００１３】
本発明のディスクアレイコントローラの故障診断方法は、複数のレーンを含むケーブルにより接続された複数のディスク装置と複数のケーブルとを備えたディスクアレイ装置におけるディスクアレイコントローラの故障診断方法において、異常が発生している可能性が高い被疑ケーブルを特定する故障診断を行う故障診断ステップを有することを特徴とする。
【００１４】
本発明のディスク装置の故障診断プログラムは、コンピュータに、複数のコンピュータを接続し、かつ、複数のレーンから構成されるケーブルにおいて異常が発生したとき、ケーブル異常の原因である可能性が高い被疑レーンを特定する故障診断を行う故障診断ステップを実行させることを特徴とする。
【００１５】
本発明のディスクアレイコントローラの故障診断プログラムは、コンピュータに、複数のディスク装置を接続する複数のケーブルのうち、異常が発生している可能性が高い被疑ケーブルを特定する故障診断を行う故障診断ステップを実行させ、ケーブルは複数のレーンを含むことを特徴とする。
【発明の効果】
【００１６】
本発明は、ディスクアレイ装置において、ケーブル内の一部レーンに障害が生じた場合に通常処理の中断を生じずに復旧処理が可能である。特に、冗長構成のディスクアレイ装置の場合には、冗長性を維持しながら、かつ、通常処理の中断を生じずに復旧処理を行うことができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１の実施形態におけるディスクアレイ装置の故障診断システムのブロック図である。
【図２】被疑ケーブルの故障診断の概要を説明するためのフローチャートである。
【図３】冗長構成の場合のディスクアレイ装置の故障診断システムの一例を示した図である。
【図４】冗長構成の場合のディスクアレイ装置の故障診断システムの一例を示した図である。
【図５】ＩＯコマンドの流れを示す図である。
【図６】ディスクアレイコントローラによる被疑ケーブルの特定の流れを示すフローチャートである。
【図７】本発明の第２実施形態における各ＳＡＳ  ＪＢＯＤの自律判断（被疑ケーブルの特定）の流れを示すフローチャートである。
【図８】本発明の第１の実施形態および第２の実施形態における全体の流れを示す図である。
【図９】本発明の関連技術であるＲＡＩＤ装置を示す図である。
【発明を実施するための形態】
【００１８】
本発明の第１実施形態に係るディスクアレイ装置の故障診断システムについて説明する。
【００１９】
図１に、本実施形態におけるディスクアレイ装置の故障診断システムのブロック図を示す。
【００２０】
ディスクアレイ装置の故障診断システム１は、ディスクアレイコントローラ２と、ディスク装置３、４および５と、ケーブル２−３、３−４および４−５とを備えている。ディスクアレイコントローラ２とディスク装置３、４および５は、ケーブル２−３、３−４および４−５を介して数珠つなぎに接続されている。
【００２１】
ディスクアレイコントローラ２は、ケーブル異常の原因である可能性が高い被疑レーンを特定するための故障診断を実行する制御回路の一例である。ディスクアレイコントローラ２にはコントローラチップ２１が実装され、コントローラチップ２１は図示しない制御部および入出力部を備えている。ディスクアレイコントローラ２１は図示しないホスト装置と接続されている。
【００２２】
ディスク装置３は、入出力部３１と制御部３２と記憶部３３と記憶ユニットである複数のＨＤＤ（Hard disk drive）３４、３５、３６および３７とから構成される。制御部３２はディスク装置３内のリソース監視を行う。記憶部３３には制御部３２によるリソース監視に関する情報（リソース監視の結果情報など）が格納されている。
【００２３】
ディスク装置４は、入出力部４１と制御部４２と記憶部４３と記憶ユニットである複数のＨＤＤ４４、４５、４６および４７とから構成される。制御部４２はディスク装置４内のリソース監視を行う。記憶部４３には制御部４２によるリソース監視に関する情報（リソース監視の結果情報など）が格納されている。
【００２４】
ディスク装置５は、入出力部５１と制御部５２と記憶部５３と記憶ユニットである複数のＨＤＤ５４、５５、５６および５７とから構成される。制御部５２はディスク装置５内のリソース監視を行う。記憶部５３には制御部５２によるリソース監視に関する情報（リソース管理の結果情報など）が格納されている。
【００２５】
ケーブル２−３は、４本のレーンから構成され、ディスクアレイコントローラ２とディスク装置３とを接続している。
【００２６】
ケーブル３−４は、４本のレーンから構成され、ディスク装置３とディスク装置４とを接続している。
【００２７】
ケーブル４−５は、４本のレーンから構成され、ディスク装置４とディスク装置５とを接続している。
【００２８】
ディスクアレイコントローラ２は定期的にディスク装置３、４および５にアクセスし、リソース監視の結果情報を取得する。取得したデータを確認することで、各ディスク装置の異常を検出することができる。
【００２９】
ディスクアレイコントローラ２は、ディスク装置配下のＨＤＤにアクセスした際のＩＯアクセスエラーを統計情報として記憶しておく。この統計情報を分析することにより、ディスクアレイコントローラ２は、障害が発生している可能性が高い被疑ケーブルを特定することができる。また、各ディスク装置は、被疑ケーブルを診断するための診断機能を備えている。
【００３０】
本発明の実施形態では、図８のように、「被疑ケーブルの特定（ステップＳ８０１）」→「各ディスク装置による被疑ケーブルの故障診断（ステップＳ８０２）」という順に故障診断が行われる。被擬ケーブルの特定（ステップＳ８０１）については、第１および第２の実施形態で主体が異なり、第１の実施形態ではディスクアレイコントローラが担当し、第２の実施形態では各ディスク装置が担当する。
【００３１】
なお、以下の各ステップの説明では、「ステップ」を省略しステップ番号のみを表示するものとする。
【００３２】
最初、被疑ケーブルの故障診断（Ｓ８０２）の概要について説明する。被疑ケーブルの特定（Ｓ８０１）については後述する。
【００３３】
図２は、被疑ケーブルの故障診断（Ｓ８０２）の概要を示すフローチャートである。
【００３４】
まず、ディスクアレイコントローラ２が、ケーブルを挟む２台のディスク装置に対して、経路診断指示を発行する（Ｓ２０１）。例えば、ディスクアレイコントローラ２が、経路異常によるエラー回数をカウントしておき、そのエラーカウント値が閾値を超えたとき、ディスク装置に診断指示を発行する。ここでは、ディスクアレイコントローラ２において被疑ケーブルはケーブル３−４と特定され、ケーブル３−４を挟むディスク装置３および４に診断指示が発行された場合について説明する。
【００３５】
診断指示を受けたディスク装置３、４の制御部３２、４２は、ケーブル３−４内の１つのレーンを、通常ＩＯアクセスが行われないように設定変更する（Ｓ２０２）。ケーブル３−４内の残りの３つのレーンは、ディスクアレイコントローラ２とのＩＯアクセスのために使用される。
【００３６】
次に、設定変更された１つのレーンを使って、ディスク装置３はディスク装置４方向に連続してデータ転送を行う。同時に、ディスク装置４はディスク装置３方向に連続してデータ転送を行う（Ｓ２０３）。
【００３７】
さらに、ディスク装置３、４の制御部３２、４２は、エラーが発生していないかを監視し、エラーをカウントする（Ｓ２０４）。
【００３８】
エラーカウント値が予め定めた閾値を超えた場合には、データ転送先のディスク装置はデータ転送元のディスク装置に対してレーンの異常を通知するとともに、ディスクアレイコントローラにもレーンの異常を通知する。ここで、レーンにおけるエラーカウント値の閾値は、ディスク装置３、４の記憶部３３、４３に予め格納されている（Ｓ２０５、Ｓ２０６）。
【００３９】
次に、ディスク装置３、４は、Ｓ２０２で設定変更されたレーンを通常ＩＯアクセスが行われるように設定変更する（Ｓ２０７）。
【００４０】
Ｓ２０１〜Ｓ２０７をケーブル３−４の全レーンで繰り返す（Ｓ２０８）。
【００４１】
これらの処理により、ディスクアレイコントローラ２からの通常のＩＯ処理を中断させることなく、間欠障害等の障害を起こす経路（レーン）をディスクアレイ装置から切り離し、経路異常の影響を排除することができる。
【００４２】
なお、本実施形態におけるディスクアレイ装置の診断システム１は、図３のような冗長構成であっても良い。この場合、ディスクアレイコントローラ２−１およびディスク装置３−１、４−１、５−１が主であり、ディスクアレイコントローラ２−２およびディスク装置３−２、４−２、５−２が副であり、主と副がそれぞれ対応づけられている。
【００４３】
冗長構成の場合の一例として、ＳＡＳ  ＪＢＯＤを上述のディスク装置として使用し、ＳＡＳケーブルを上述のケーブルとして使用する場合が挙げられる（図４）。以下では、図４のシステム構成の場合を例に挙げて動作説明等を行う。
【００４４】
図４に示されるように、ディスクアレイ装置の診断システム１１１は、ディスクアレイコントローラ０００、００１と、ディスク装置の一例としてＳＡＳ  ＪＢＯＤ（Serial Attached SCSI Just Bunch of Disk）００２、００３および００４と、ＳＡＳ（Serial Attached SCSI）ケーブル１００、２００、３００、１０１、２０１および３０１とを含む。ＪＢＯＤとは、ディスクアレイの実施形態の１つであり、複数のハードウェアを論理的に統合し、各ハードウェアの容量の合計を１まとめにして利用できるようにする技術および製品群である。
【００４５】
ディスクアレイコントローラ０００にはＳＡＳコントローラチップ１０が実装され、ディスクアレイコントローラ００１にはＳＡＳコントローラチップ１１が実装されている。
【００４６】
ディスクアレイコントローラ０００、００１はケーブル１００、１０１を介して、ＳＡＳ  ＪＢＯＤ００２と接続されている。
【００４７】
各ＳＡＳ  ＪＢＯＤには、複数のＨＤＤおよびＳＥＳ（SCSI ENCLOSURE SERVICE）が搭載されている。
【００４８】
ＳＥＳ２２（２３）、３２（３３）、４２（４３）は、それぞれＳＡＳ  ＪＢＯＤ００２、００３、００４のリソース監視を行っている。ＳＡＳ  ＪＢＯＤ内の異常検出は、ディスクアレイコントローラ０００が定期的にＳＥＳにアクセスしそのリソース情報を取得することにより行われる。なお、リソース情報の取得間隔はユーザ等により予め設定されており、図示しないが、ディスクアレイコントローラ０００のＳＡＳコントローラチップ１０（１１）にはリソース情報の取得間隔を示す情報が格納されている。
【００４９】
また、各ＳＥＳはＳＡＳプロトコルスイッチ機能も備えている。ＳＡＳプロトコルスイッチ機能を備えることにより、各ポートをＺＯＮＥというポート単位に切り分けることができる。
【００５０】
また、本実施形態では、ＳＡＳ  Ｅｘｐａｎｄｅｒ２０（２１）、３０（３１）、４０（４１）の機能により、ＳＡＳコントローラチップからＨＤＤへのアクセスが可能となる。
【００５１】
本実施形態では、信頼性を持たせるために冗長構成となっている。また、ディスクアレイコントローラ０００、００１とＳＡＳ  ＪＢＯＤ００２、００３、００４とは２系統のＳＡＳケーブルで接続されている。
【００５２】
ＳＡＳケーブルは複数のレーン（装置間を接続するバス）で構成されている。この複数のレーンを介して、複数のＳＡＳ  ＪＢＯＤがカスケード接続されている。一般的には、データ転送のスループットを向上させる目的で、複数のレーンを有するＳＡＳケーブルが使用される。
【００５３】
なお、本実施形態では、ＳＡＳケーブルは４本のレーンから構成されているが、これに限定されるものではない。
【００５４】
次に、図４の場合を例に挙げて、本実施形態の動作全体について詳しく説明する。図６は、ディスクアレイコントローラ０００による被疑ケーブルの特定（Ｓ８０１）の流れを示すフローチャートである。ディスクアレイコントローラ０００は、図６の流れで経路異常を生じている可能性の高いＳＡＳケーブル（被疑ケーブル）を特定する。
【００５５】
最初、ディスクアレイコントローラ０００が、ホスト側からのＩＯ命令に基づき、ＲＡＩＤ仕様に従って、ＳＡＳ  ＪＢＯＤ内のＨＤＤに対してＩＯ（Input/Output）コマンドを発行する（Ｓ６００）。
【００５６】
Ｓ６００のＩＯコマンド発行に対してＩＯアクセスエラーが発生すると（Ｓ６０１）、ディスクアレイコントローラ０００は、そのＩＯアクセスエラーがＩ／Ｆ（Interface）系のエラーによるものか否かを判断する（Ｓ６０２）。
【００５７】
通常、Ｉ／Ｆ系のエラーが生じた場合、ディスクアレイコントローラ０００は、その旨を示すエラー通知を受け取るため、その通知に基づいてＳ６０２の判断を行うことができる。なお、本実施形態では、タイムアウトによるエラーはＩ／Ｆ系のエラーに含まれることとしているが、これに限定されるものではない。また、ＩＯアクセスエラーがＩ／Ｆ系のエラーに基づくものか否かの判断基準はこれに限定されるものではない。
【００５８】
ディスクアレイコントローラ０００は、Ｉ／Ｆ系のエラーが生じていると判断すると、ディスクアレイコントローラ内のエラーカウント値を＋１加算する（Ｓ６０３）。本実施形態では、エラーカウント値は各ＨＤＤと対応づけられているものとする。例えば、ディスクアレイコントローラ０００は、ＨＤＤ４−０、４−１へのＩＯアクセスにおいてＩ／Ｆ系エラーを通知された場合、ＨＤＤ４−０、４−１に対応するエラーカウント値を＋１加算する。
【００５９】
次に、ディスクアレイコントローラ０００は、エラーカウント値が予め設定された閾値を超えたか否かを判断する（Ｓ６０４）。ここで、ディスクアレイコントローラ０００は、記憶ユニットであるＨＤＤ毎のエラーカウント値および当該エラーカウント値の閾値が格納されている、図示しない記憶手段を含むものとする。したがって、Ｓ６０４では、エラーカウントしたＨＤＤに対応する閾値を記憶手段から読み出して判断する。
【００６０】
エラーカウント値が閾値を超えた場合、ディスクアレイコントローラ０００は、アクセス要求先のＨＤＤが属するＳＡＳ  ＪＢＯＤ（ＳＡＳ  ＪＢＯＤ−１と呼ぶ）の配下にある他のＨＤＤにおいて、ＩＯアクセスエラーが発生しているか否か（エラーカウント値の閾値を超えているか否か）を調べる（Ｓ６０５）。
【００６１】
同一ＳＡＳ  ＪＢＯＤ（ＳＡＳ  ＪＢＯＤ−１）配下にある所定数以上のＨＤＤでエラーが生じている場合、ディスクアレイコントローラ０００は、アクセス要求先のＨＤＤが属するＳＡＳ  ＪＢＯＤ（ＳＡＳ  ＪＢＯＤ−１）よりもさらに前段のＳＡＳ  ＪＢＯＤ（ＳＡＳ  ＪＢＯＤ−２と呼ぶ）でＩＯアクセスエラーが発生しているか否かを調べる（Ｓ６０６、Ｓ６０７）。本実施形態では、Ｓ６００からＳ６０６と同等の処理の実行により、前段のＳＡＳ  ＪＢＯＤにおいてエラーカウント値が閾値を超えているＨＤＤが所定数以上だったとき、「他のＨＤＤでも障害が生じている」と判断する。
【００６２】
Ｓ６０７においてＩＯアクセスエラーの発生が確認された場合、さらに前段のＳＡＳ  ＪＢＯＤについてエラー発生の確認処理を繰り返す。
【００６３】
Ｓ６０７においてＩＯアクセスエラーの発生が確認されなくなったとき（前段のＳＡＳ  ＪＢＯＤが存在しない場合も含む）、ディスクアレイコントローラ０００は、ＩＯアクセスエラーの発生が確認されなかったＨＤＤが属するＳＡＳ  ＪＢＯＤとさらにその後段の（ＩＯアクセスエラーの発生が確認された）ＳＡＳ  ＪＢＯＤとに挟まれたＳＡＳケーブルに障害が発生していると判断し、そのＳＡＳケーブルに対して故障診断の指示を行う（Ｓ６０８、Ｓ６０９）。
【００６４】
一方、Ｓ６０１において、ＩＯアクセスエラーが発生していない場合、ディスクアレイコントローラ０００はＩＯアクセス完了の通知を受け取る（Ｓ６０１、Ｓ６１１）。
【００６５】
また、Ｓ６０５において、エラーカウント値が閾値を超えたＨＤＤが他に全く存在しないとき、ＩＯアクセスが要求されたＨＤＤの故障と判断し、処理を終了する（Ｓ６１０）。
【００６６】
次に、図４のシステム構成において、ディスクアレイコントローラ０００がＨＤＤ４−０、４−１、４−２に対してＩＯコマンドを発行し、ＳＡＳケーブル３００に異常があるためＩＯアクセスエラーとなった場合を例に挙げて図６の流れを説明する。ここでは、Ｓ６０６において、同一ディスク装置内の３つ以上のＨＤＤにおいてエラーカウント値が閾値を超えていたときにＹＥＳと判断することとする。
【００６７】
まず、ディスクアレイコントローラ０００がＨＤＤ４−０、４−１、４−２に対してＩＯコマンドを発行する（Ｓ６００）。このとき、ＩＯコマンドは、ＳＡＳコントローラチップ１０、ＳＡＳケーブル１００、ＳＡＳ  Ｅｘｐａｎｄｅｒ２０、ＳＡＳケーブル２００、ＳＡＳ  Ｅｘｐａｎｄｅｒ３０、ＳＡＳケーブル３００、ＳＡＳ  Ｅｘｐａｎｄｅｒ４０の順に送られ、ＳＡＳ  Ｅｘｐａｎｄｅｒ４０に接続されているＨＤＤ４−０、４−１、４−２がそのＩＯコマンドを受け取る（図５）。なお、図５では同一レーンを使用しているよう記載されているが、実際には空いているレーンがランダムに使用される。
【００６８】
次に、ディスクアレイコントローラ０００は、ＩＯアクセスエラーが発生しているか否かを判断し（Ｓ６０１）、ＩＯアクセスエラーが発生していた場合、それがＩ／Ｆ系のエラーかを判断する（Ｓ６０２）。
【００６９】
このとき、ディスクアレイコントローラ０００にはＨＤＤ４−０に対するＩ／Ｆ系のエラーが発生している旨を示すエラーが通知されているとする。よって、ディスクアレイコントローラ０００は、ＨＤＤ４−０へのＩ／ＯアクセスでＩ／Ｆ系のエラーが発生していると認識することができ、ＨＤＤ４−０に対応するエラーカウント値を＋１加算する（Ｓ６０３）。
【００７０】
次に、ディスクアレイコントローラ０００は、エラーカウント値が閾値を超えたか否かを判断する（Ｓ６０４）。ここでは、ＨＤＤ４−０に対応するエラーカウント値が閾値を超えたものとする。
【００７１】
Ｓ６０４において閾値を超えているため、ＳＡＳ  ＪＢＯＤ００４配下にある他のＨＤＤ（ＨＤＤ４−１〜４−Ｎ）においてエラーカウント値が閾値を超えているか否かを判断する（Ｓ６０５）。ここでは、ＨＤＤ４−２〜４−４においてエラーカウント値が閾値を超えているものとする。同一ＳＡＳ  ＪＢＯＤ内の３つ以上のＨＤＤにおいてエラーカウント値が閾値を超えているので、ＳＡＳ  ＪＢＯＤ００４の前段にあるＳＡＳ  ＪＢＯＤ００３においてＩＯアクセスエラーが発生しているかを調べる（Ｓ６０６、Ｓ６０７）。
【００７２】
ＳＡＳ  ＪＢＯＤ００３ではＩＯアクセスエラーが発生していないため、ディスクアレイコントローラ０００は、ＳＡＳケーブル３００に障害が発生していると判断し（Ｓ６０８）、ＳＡＳケーブル３００を挟むＳＡＳ  ＪＢＯＤ３００およびＳＡＳ  ＪＢＯＤ４００に対して故障診断を行う（Ｓ６０９）。
【００７３】
なお、本実施形態では、エラーカウント値が閾値を超えたＨＤＤが同一ＳＡＳ  ＪＢＯＤ内にいくつあるかを調べ、所定数以上だったとき「ＩＯアクセスエラーが発生している」と判断しているが、これに限定されるものではない。
【００７４】
次に、図４の場合を例に挙げて、被疑ケーブルの故障診断（Ｓ８０２）について詳しく説明する（図２参照）。以下では、ＳＡＳケーブル３００の故障診断を行う場合を例に挙げて説明する。
【００７５】
まず、ディスクアレイコントローラ０００が、ＳＡＳケーブル３００を挟むＳＡＳ  ＪＢＯＤ００３、００４のＳＥＳ３２、４２に対して、故障診断指示を発行する（Ｓ２０１）。
【００７６】
次に、ＳＡＳ  ＪＢＯＤ００３、００４のＳＥＳ３２、４２は、ＳＡＳケーブル３００の１つのレーンを挟むＳＡＳ  Ｅｘｐａｎｄｅｒ内のＰｏｒｔを通常のＺｏｎｅから別のＺｏｎｅ（以下、これを診断Ｚｏｎｅと呼ぶ）に変更する（Ｓ２０２）。Ｚｏｎｅとは、Ｐｏｒｔ間でアクセスする範囲を示す。通常のＺｏｎｅとは、ディスクアレイコントローラからの通常のＩＯアクセスエリア（ＳＡＳ規格を満たすもの）を意味する。診断Ｚｏｎｅとは、故障診断を行うために通常のＺｏｎｅから設定変更されたエリアを意味する。
【００７７】
診断Ｚｏｎｅを形成したレーンに対して、片方のＳＡＳ  ＪＢＯＤ内のＳＥＳからもう片方のＳＡＳ  ＪＢＯＤ内のＳＥＳに対して、連続してデータ転送を実行する。同時に、逆方向にもデータ転送を行う。ここでは、ＳＥＳ３２およびＳＥＳ４２の間で双方向にデータ転送が行われる。
【００７８】
診断Ｚｏｎｅを形成したレーンにおいて、所定時間のデータ転送で経路間を流れたフレームに対してＩＴＷ（Invalid Transfer Word）やＣＲＣ（Cyclic Redundancy Check）といったエラーが発生した場合にエラーをカウントする（Ｓ２０４）。フレームのエラーをカウントする機能は、通常、ＳＡＳ  ＥＸＰＡＮＤＥＲ内のＳＡＳプロトコスイッチ内に存在する。その機能を利用してエラーの発生状況を監視する。
【００７９】
ＳＥＳ３２、４２は、予め設定された閾値以上にエラーが発生した場合に異常と判断する。このとき、ＳＥＳ３２、４２はディスクアレイコントローラ０００に対して、ＳＡＳケーブル３００の異常を通知するとともに、相手方のＳＥＳに対しても、ケーブルの異常を通知する（Ｓ２０５、Ｓ２０６）。なお、図示しないが、エラー発生の判断基準となる閾値情報がユーザ等により予め設定され、ＳＡＳ  ＪＢＯＤ００３、００４に格納されている。
【００８０】
ＳＥＳ３２、４２は、障害があるレーンを診断Ｚｏｎｅから通常Ｚｏｎｅへ戻し、その後、ディスクアレイコントローラ０００の指示で障害レーンを切り離す（Ｓ２０７）。例えば、ディスクアレイコントローラ０００が、障害レーンに対応するポートに対して使用禁止の設定を行う。また、ＳＥＳ３２、４２がディスクアレイコントローラ０００からの指示を待つことなく、自律的に障害レーンを切り離すような構成にしても良い。
【００８１】
次に、ＳＥＳ３２、４２は、ＳＡＳケーブル３００内の全てのレーンに対して故障診断が行われたかを判断し（Ｓ２０８）、全てのレーンに故障診断が行われたとき、故障診断を終了する。
【００８２】
なお、図示しない表示手段に被疑ケーブルの情報を表示するようにしても良い。
【００８３】
このように、本発明の本実施形態では、ディスクアレイ装置において、ケーブル内の一部レーンに障害が生じた場合に通常処理の中断を生じずに復旧処理が可能になるという効果がある。特に、冗長構成のディスクアレイ装置の場合には、冗長性を維持しながら、かつ、通常処理の中断を生じずに復旧処理を行うことができるという効果がある。
【００８４】
次に、本発明の第２実施形態について説明する。第１の実施形態では故障診断開始のトリガをディスクアレイコントローラ０００としていたが、第２の実施形態では、ＳＡＳ  ＪＢＯＤ内のＳＥＳが自律的に判断して故障診断を開始する。以下、図４のシステム構成を例に挙げて説明する。
【００８５】
本実施形態では、ディスクアレイコントローラ０００は各ＳＡＳ  ＪＢＯＤの制御手段に対応するＳＥＳに対して、ユーザ等に予め設定された所定間隔でＩＯコマンドを発行する。各ＳＡＳ  ＪＢＯＤのＳＥＳは、上記の所定間隔でＩＯコマンドを受信しないとき、あるいは、所定間隔よりも短い間隔でＩＯコマンドを受信するとき、エラーが発生していると判断し、各ＳＡＳ  ＪＢＯＤに備えられたエラーカウントを＋１加算する。
【００８６】
図示しないが、各ＳＡＳ  ＪＢＯＤの記憶手段には、エラーカウント値の情報、エラーカウント値の閾値情報およびエラーを判断するための基準情報（ＩＯコマンドの受信間隔情報など）が格納されている。
【００８７】
エラーカウント値が閾値を超えた場合、ＳＡＳ  ＪＢＯＤは経路異常が発生している可能性が高いと判断する。
【００８８】
すなわち、各ＳＡＳ  ＪＢＯＤの制御手段は、ディスクアレイコントローラ０００から予め定められた所定の間隔で入出力コマンドを受け取らないとき、前記エラーカウント値を加算して閾値を超えたか否かを判断し、当該閾値を超えた場合に故障診断を開始する。
【００８９】
図７は、各ＳＡＳ  ＪＢＯＤにおける自律判断の流れ（被疑ケーブルの特定（Ｓ８０１））について説明したフローチャートである。図７を用いて、自律判断の流れについて説明する。
【００９０】
まず、各ＳＡＳ  ＪＢＯＤのＳＥＳは、所定間隔でディスクアレイコントローラ０００からＩＯコマンドを受け取ったか否かを判断する（Ｓ７０１）。所定間隔でＩＯコマンドを受け取っていない場合、ＳＥＳは、ＳＡＳ  ＪＢＯＤ内のエラーカウントを＋１加算する（Ｓ７０２）。
【００９１】
次に、ＳＥＳは、エラーカウントの閾値を超えたか否かを判断する（Ｓ７０３）。エラーカウントの閾値を超えた場合、ＳＥＳは、前段のＳＡＳ  ＪＢＯＤに対して、前段のＳＡＳ  ＪＢＯＤでもエラーカウントの閾値を超えているかを問い合わせる（Ｓ７０４）。
【００９２】
前段のＳＡＳ  ＪＢＯＤにおいてエラーカウント値が閾値を超えていない旨を前段のＳＡＳ  ＪＢＯＤから受け取ったとき、前段のＳＡＳ  ＪＢＯＤのＳＥＳは、ＳＡＳ  ＪＢＯＤと前段のＳＡＳ  ＪＢＯＤとの間のＳＡＳケーブルで障害が発生している可能性が高いと判断する（Ｓ７０５、Ｓ７０６）。そして、そのＳＡＳケーブルに対して故障診断を行う（Ｓ７０７）。
【００９３】
一方、Ｓ７０５において、前段のＳＡＳ  ＪＢＯＤにおいてエラーカウント値が閾値を超えているとの通知を受け取ったとき、さらに前段のＳＡＳ  ＪＢＯＤがＳ７０４以降の処理を行い、このＳＡＳ  ＪＢＯＤの処理を終了させる。
【００９４】
次に、図４のシステム構成において、ＳＡＳケーブル３００で障害が生じていた場合を例に挙げて説明する。本ケースでは、ＳＡＳ  ＪＢＯＤ００２およびＳＡＳ  ＪＢＯＤ００３は所定間隔でＩＯコマンドを受け取っているが、ＳＡＳ  ＪＢＯＤ４は所定間隔でＩＯコマンドを受け取っておらず、エラーカウント値の閾値を超えているものとする。
【００９５】
ＳＡＳ  ＪＢＯＤ００４のＳＥＳは、所定間隔でディスクアレイコントローラ０００からＩＯコマンドを受け取っていないため、エラーカウントを＋１加算する（Ｓ７０１、Ｓ７０２）。
【００９６】
次に、ＳＡＳ  ＪＢＯＤ００４のＳＥＳはエラーカウント値の閾値を超えたか否かを判断する（Ｓ７０３）。
【００９７】
エラーカウント値の閾値を超えているので、ＳＡＳ  ＪＢＯＤ００４は、前段のＳＡＳ  ＪＢＯＤ００３に対して、エラーカウント値の閾値を超えているか否かを問い合わせる（Ｓ７０４）。前段のＳＡＳ  ＪＢＯＤ００３はエラーカウントの閾値を超えていないので、ＳＡＳケーブル３００に障害が発生している可能性が高いと判断して、ＳＡＳケーブル３００に対する経路故障診断を行う（Ｓ７０６、Ｓ７０７）。
【００９８】
なお、全てのＳＡＳ  ＪＢＯＤが、各ＳＡＳ  ＪＢＯＤがエラーカウント値の閾値を超えたか否かの情報を共有するような構成にしても良い。この場合、エラーカウント値の閾値を超えたＳＡＳ  ＪＢＯＤが連続している場合に、最上段のＳＡＳ  ＪＢＯＤを容易に特定できるため、より簡単に被疑ＳＡＳケーブルを特定することが可能となる。
【００９９】
このように、本発明の本実施形態では、上述したような第１の実施形態における効果に加え、故障診断開始のタイミングを自律的に判断することができるという効果がある。
【符号の説明】
【０１００】
０００    ディスクアレイコントローラ
００１    ディスクアレイコントローラ
００２    ＳＡＳ  ＪＢＯＤ
００３    ＳＡＳ  ＪＢＯＤ
００４    ＳＡＳ  ＪＢＯＤ
１１１    ディスクアレイ装置の診断システム
１０      ＳＡＳコントローラチップ
１１      ＳＡＳコントローラチップ
２０、３０、４０、２１、３１、４１  ＳＡＳ  ＥＸＰＡＮＤＥＲ
２２、３２、４２  ＳＥＳ
２−０〜２−Ｎ  ＨＤＤ
３−０〜３−Ｎ  ＨＤＤ
４−０〜４ーＮ  ＨＤＤ
１００、２００、３００  ＳＡＳケーブル
１０１、２０１、３０１  ＳＡＳケーブル
１        ディスクアレイ装置の診断システム
２        ディスクアレイコントローラ
２１      コントローラチップ
２−３    ケーブル
３        ディスク装置
３１      入出力部
３２      制御部
３３      記憶部
３４〜３７  ＨＤＤ
３−４    ケーブル
４        ディスク装置
４１      入出力部
４２      制御部
４３      記憶部
４４〜４７  ＨＤＤ
４−５    ケーブル
５        ディスク装置
５１      入出力部
５２      制御部
５３      記憶部
５４〜５７  ＨＤＤ
１１      ディスクアレイ装置の診断システム
２−１、２−２  ディスクアレイコントローラ
２−１１、２−２１  コントローラチップ  
３−１    ディスク装置
３−１１  入出力部
３−１２  制御部
３−１３〜３−１６  ＨＤＤ
３−２    ディスク装置
３−２１  入出力部
３−２２  制御部
３−２３〜３−２６  ＨＤＤ
４−１    ディスク装置
４−１１  入出力部
４−１２  制御部
４−１３〜４−１６  ＨＤＤ
４−２    ディスク装置
４−２１  入出力部
４−２２  制御部
４−２３〜４−２６  ＨＤＤ
５−１    ディスク装置
５−１１  入出力部
５−１２  制御部
５−１３〜５−１６  ＨＤＤ
５−２    ディスク装置
５−２１  入出力部
５−２２  制御部
５−２３〜４−２６  ＨＤＤ
６〜１１  ケーブル
２００、３００  ＲＡＩＤコントローラ
４００〜９００  ＤＥ
【図１】
0005573118.tif 000002
【図２】
0005573118.tif 000003
【図３】
0005573118.tif 000004
【図４】
0005573118.tif 000005
【図５】
0005573118.tif 000006
【図６】
0005573118.tif 000007
【図７】
0005573118.tif 000008
【図８】
0005573118.tif 000009
【図９】
0005573118.tif 000010