(57)【特許請求の範囲】
【請求項１】
ディスク装置と、
前記ディスク装置との間でＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）情報の発行を行うコントローラの外部に設けられ、前記ディスク装置のＩ／Ｏ情報のうち、予め定められた種類の監視対象Ｉ／Ｏ情報を検出する検出手段と、
前記コントローラの外部に設けられ、前記検出手段により検出された監視対象Ｉ／Ｏ情報の数を計測し、計測した結果に基づいて前記ディスク装置の障害の有無を判断する障害判断手段と、
前記コントローラの外部に設けられ、前記障害判断手段による判断結果に基づいて前記ディスク装置を切り離す切り離し手段と、
を有し、
前記障害判断手段は、計測した前記監視対象Ｉ／Ｏ情報の数と予め定められた閾値とを比較し、比較した結果に基づいて前記ディスク装置の障害を判断し、
前記障害判断手段が計測する前記監視対象Ｉ／Ｏ情報の数は、検出状況に応じて減算されるよう構成されており、
前記障害判断手段は、予め定められた時間が経過するごとに、計測中の前記監視対象Ｉ／Ｏ情報の数をディクリメントするよう構成されている
情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記検出手段が検出する前記監視対象Ｉ／Ｏ情報は、前記ディスク装置に障害が発生した際に発行されるＩ／Ｏ情報である
情報処理装置。
【請求項３】
請求項１又は２に記載の情報処理装置であって、
前記検出手段は、前記監視対象Ｉ／Ｏ情報として、障害に関連するＳＣＳＩ（Small Computer System Interface）コマンドを検出する
情報処理装置。
【請求項４】
請求項１乃至３のいずれかに記載の情報処理装置であって、
前記検出手段は、前記監視対象Ｉ／Ｏ情報として、前記ディスク装置に問題が生じた際に当該ディスク装置により発行されるエラーコードを検出する
情報処理装置。
【請求項５】
請求項１乃至４のいずれかに記載の情報処理装置であって、
前記切り離し制御手段は、前記障害判断手段による判断結果に基づいて前記ディスク装置に供給する電力を止めることで当該ディスク装置を切り離す
情報処理装置。
【請求項６】
前記ディスク装置との間でＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）情報の発行を行うコントローラの外部に設けられた検出手段が、ディスク装置のＩ／Ｏ情報のうち、予め定められた種類の監視対象Ｉ／Ｏ情報を検出し、
前記コントローラの外部に設けられた障害判断手段が、検出された監視対象Ｉ／Ｏ情報の数を計測し、計測した結果に基づいて前記ディスク装置の障害の有無を判断し、
前記コントローラの外部に設けられた切り離し手段が、前記障害判断手段による判断結果に基づいて前記ディスク装置を切り離し、
前記障害判断手段は、計測した前記監視対象Ｉ／Ｏ情報の数と予め定められた閾値とを比較し、比較した結果に基づいて前記ディスク装置の障害を判断し、
前記障害判断手段が計測する前記監視対象Ｉ／Ｏ情報の数は、検出状況に応じて減算されるよう構成されており、
前記障害判断手段は、予め定められた時間が経過するごとに、計測中の前記監視対象Ｉ／Ｏ情報の数をディクリメントする
情報処理方法。
【請求項７】
ディスク装置を有する情報処理装置に、
前記ディスク装置との間でＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）情報の発行を行うコントローラの外部に設けられ、前記ディスク装置のＩ／Ｏ情報のうち、予め定められた種類の監視対象Ｉ／Ｏ情報を検出する検出手段と、
前記コントローラの外部に設けられ、前記検出手段により検出された監視対象Ｉ／Ｏ情報の数を計測し、計測した結果に基づいて前記ディスク装置の障害の有無を判断する障害判断手段と、
前記コントローラの外部に設けられ、前記障害判断手段による判断結果に基づいて前記ディスク装置を切り離す切り離し制御手段と、
を実現させ、
前記障害判断手段は、計測した前記監視対象Ｉ／Ｏ情報の数と予め定められた閾値とを比較し、比較した結果に基づいて前記ディスク装置の障害を判断し、
前記障害判断手段が計測する前記監視対象Ｉ／Ｏ情報の数は、検出状況に応じて減算されるよう構成されており、
前記障害判断手段は、予め定められた時間が経過するごとに、計測中の前記監視対象Ｉ／Ｏ情報の数をディクリメントするよう構成されている
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、プログラムに関し、特に、ディスクの障害を検出する情報処理装置、情報処理方法、プログラムに関する。
【背景技術】
【０００２】
可用性や信頼性向上のため、ハードディスクドライブやソリッドステートドライブなどのディスク装置において冗長構成を有する情報処理装置が知られている。
【０００３】
例えば、特許文献１には、ＨＤＤ（Hard Disk Drive）などの省電力状態とすることのできる第１の物理記憶デバイスと、ＳＳＤ（Solid State Drive）などの第２の物理記憶デバイスと、を有するストレージシステムが記載されている。特許文献１によると、１以上の第１の物理記憶デバイスにより構成される第１の物理記憶デバイス群が、複数の論理領域から構成される論理的な記憶デバイスを構成している。また、１以上の第２の物理記憶デバイスにより構成される第２の物理記憶デバイス群が、複数のプール領域により構成されるプールを形成している。そして、プールのうちの１以上のプール領域が複数の論理領域のうちの一部に対応している。特許文献１によると、このような構成において、論理領域に対するＩ／Ｏを受けた場合、当該論理領域に対応するプール領域がプールに存在するか否かを確認する。そして、対応するプール領域が存在しておらず、また、第１の物理記憶デバイス群が省電力状態の場合、省電力状態を解除して論理領域に対してＩ／Ｏを行う。一方、対応するプール領域が存在する場合、第１の物理記憶デバイス群の省電力状態を解除することなくＩ／Ｏ先の論理領域に対応するプール領域に対してＩ／Ｏを行う。特許文献１によると、このような構成により、第１の物理記憶デバイスの省電力状態を解除する頻度を減らすことが出来る。
【０００４】
また、例えば、特許文献２には、システム情報を記憶する記憶デバイスと、記憶デバイスの記憶領域をシステム領域及びデータ領域に分けて管理する管理部と、を有するディスクアレイ装置が記憶されている。特許文献２によると、管理部は、記憶デバイスのデータ領域に対して第１の周期でベリファイ処理を実施し、システム領域に対して第１の周期よりも速い第２の周期でベリファイ処理を実施する。特許文献２によると、このように構成することで、信頼性を高めることが出来る。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−１０７８５７号公報
【特許文献２】特開２００７−０６５７８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１、２に記載されているような冗長構成を有する情報処理装置においてディスク装置に障害が発生した場合、ストレージコントローラがディスク装置の切り離し処理を実施し、情報処理装置の運用継続を維持することになる。しかしながら、ディスク装置の障害の内容によっては、ストレージコントローラによる適切な切り離し処理とならないことがあった。また、ストレージコントローラによる切り離し処理の挙動は、ＯＳ（Operating System）やストレージコントローラごとに異なる、という問題も生じていた。
【０００７】
このように、ディスク装置に障害が発生した場合に、ディスク装置の障害状態と情報処理装置構成によっては適切な切り離し処理とならないことがある、という問題が生じていた。
【０００８】
そこで、本発明の目的は、ディスク装置に障害が発生した場合に、ディスク装置の障害状態と情報処理装置構成によっては適切な切り離し処理とならないことがある、という問題を解決する情報処理装置を提供することにある。
【課題を解決するための手段】
【０００９】
かかる目的を達成するため本発明の一形態である情報処理装置は、
ディスク装置と、
前記ディスク装置のＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）情報のうち、予め定められた種類の監視対象Ｉ／Ｏ情報を検出する検出手段と、
前記検出手段により検出された監視対象Ｉ／Ｏ情報の数を計測し、当該計測結果に基づいて前記ディスク装置の障害の有無を判断する障害判断手段と、
前記障害判断手段による判断結果に基づいて前記ディスク装置を切り離す切り離し制御手段と、
を有する
という構成を採る。
【００１０】
また、本発明の他の形態である情報処理方法は、
ディスク装置のＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）情報のうち、予め定められた種類の監視対象Ｉ／Ｏ情報を検出し、
検出された監視対象Ｉ／Ｏ情報の数を計測し、当該計測結果に基づいて前記ディスク装置の障害の有無を判断し、
判断結果に基づいて前記ディスク装置を切り離す
という構成を採る。
【００１１】
また、本発明の他の形態であるプログラムは、
ディスク装置を有する情報処理装置に、
前記ディスク装置のＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）情報のうち、予め定められた種類の監視対象Ｉ／Ｏ情報を検出する検出手段と、
前記検出手段により検出された監視対象Ｉ／Ｏ情報の数を計測し、当該計測結果に基づいて前記ディスク装置の障害の有無を判断する障害判断手段と、
前記障害判断手段による判断結果に基づいて前記ディスク装置を切り離す切り離し制御手段と、
を実現させるためのプログラムである。
【発明の効果】
【００１２】
本発明は、以上のように構成されることにより、ディスク装置に障害が発生した場合に、ディスク装置の障害状態と情報処理装置構成によっては適切な切り離し処理とならないことがある、という問題を解決する情報処理装置を提供することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施形態に係る情報処理装置の構成の一例を示すブロック図である。
【図２】図１で示すＩ／Ｏ監視手段の構成の一例を示すブロック図である。
【図３】図１で示す障害判断手段の構成の一例を示すブロック図である。
【図４】本発明の第１の実施形態に係る情報処理装置の動作の一例を示すフローチャートである。
【図５】本発明の第１の実施形態に係る情報処理装置がカウンタをディクリメントする際の動作の一例を示すフローチャートである。
【図６】本発明の第２の実施形態に係る情報処理装置の構成の一例を示す概略ブロック図である。
【発明を実施するための形態】
【００１４】
［第１の実施形態］
本発明の第１の実施形態を図１乃至図５を参照して説明する。図１は、情報処理装置１の構成の一例を示すブロック図である。図２は、Ｉ／Ｏ（Input / Output）監視手段１３の構成の一例を示すブロック図である。図３は、障害判断手段１４の構成の一例を示すブロック図である。図４は、情報処理装置１の動作の一例を示すフローチャートである。図５は、情報処理装置１がカウンタをディクリメント（１減算）する際の動作の一例を示すフローチャートである。
【００１５】
本発明の第１の実施形態では、ディスク装置１６を有する情報処理装置１について説明する。後述するように、本実施形態における情報処理装置１は、ディスク装置１６のＩ／Ｏ情報のうち監視対象Ｉ／Ｏ情報の発行数を計測する。そして、情報処理装置１は、計測結果に基づいてディスク装置１６の障害の有無を判断する。また、情報処理装置１は、ディスク装置１６に障害が生じていると判断される場合、当該ディスク装置１６を切り離す。
【００１６】
図１を参照すると、本実施形態における情報処理装置１は、ＣＰＵ１１（Central Processing Unit）と、ストレージコントローラ１２と、Ｉ／Ｏ監視手段１３（検出手段）と、障害判断手段１４と、電源制御手段１５（切り離し手段）と、ディスク装置１６と、を有している。
【００１７】
ＣＰＵ１１は、内部にＩ／Ｏコントローラ１１１を有している。また、Ｉ／Ｏコントローラ１１１の配下には、ストレージコントローラ１２が接続されている。ＣＰＵ１１は、Ｉ／Ｏコントローラ１１１及びストレージコントローラ１２を介して、ディスク装置１６に対してＩ／Ｏ情報を発行することになる。
【００１８】
ストレージコントローラ１２は、ＣＰＵ１１のＩ／Ｏコントローラ１１１からの指示に基づいて、ディスク装置１６との間でＩ／Ｏ情報の発行を行う。ストレージコントローラ１２とディスク装置１６との間では、例えば、ＳＣＳＩ（Small Computer System Interface ）  Ｉ／Ｏ情報が発行される。
【００１９】
Ｉ／Ｏ監視手段１３は、ストレージコントローラ１２の外部に設けられており、ストレージコントローラ１２とディスク装置１６との間で発行されるＩ／Ｏ情報（入出力情報（入力情報・出力情報））のうち、予め定められた種類の監視対象Ｉ／Ｏ情報（監視対象情報）を検出する。また、Ｉ／Ｏ監視手段１３は、監視対象Ｉ／Ｏ情報を検出すると、監視対象Ｉ／Ｏ情報を検出した旨を障害判断手段１４に通知する。
【００２０】
図２は、Ｉ／Ｏ監視手段１３の構成の一例である。図２を参照すると、Ｉ／Ｏ監視手段１３は、例えば、Ｉ／Ｏ検出部１３１と、Ｉ／Ｏ判断部１３２と、監視Ｉ／Ｏ情報１３３と、を有している。
【００２１】
なお、Ｉ／Ｏ検出部１３１と、Ｉ／Ｏ判断部１３２とは、例えば、図示しない記憶装置に格納されたプログラムを図示しない演算装置が実行することで実現される。また、監視Ｉ／Ｏ情報１３３は、メモリなどの図示しない記憶装置に格納されている。
【００２２】
Ｉ／Ｏ検出部１３１は、ストレージコントローラ１２とディスク装置１６との間で発行されるＩ／Ｏ情報を検出する。Ｉ／Ｏ検出部１３１は、検出したＩ／Ｏ情報をＩ／Ｏ判断部１３２に通知する。
【００２３】
Ｉ／Ｏ判断部１３２は、監視Ｉ／Ｏ情報１３３を参照して、Ｉ／Ｏ検出部１３１が検出したＩ／Ｏ情報が監視対象Ｉ／Ｏ情報であるか否かを判断する。例えば、Ｉ／Ｏ判断部１３２は、Ｉ／Ｏ検出部１３１が検出したＩ／Ｏ情報が監視対象Ｉ／Ｏ情報１３３が示す監視対象Ｉ／Ｏ情報と一致する場合、Ｉ／Ｏ検出部１３１が監視対象Ｉ／Ｏ情報を検出したと判断する。そして、Ｉ／Ｏ判断部１３２は、Ｉ／Ｏ検出部１３１が監視対象Ｉ／Ｏ情報を検出した旨を障害判断手段１４に通知する。一方、Ｉ／Ｏ検出部１３１が検出したＩ／Ｏ情報が監視対象Ｉ／Ｏ情報１３３が示す監視対象Ｉ／Ｏ情報と一致しなかった場合、Ｉ／Ｏ判断部１３２は、障害判断手段１４に対する通知を行わない。
【００２４】
監視Ｉ／Ｏ情報１３３は、Ｉ／Ｏ監視手段１３による監視の対象となる監視対象Ｉ／Ｏ情報を示している。監視Ｉ／Ｏ情報１３３が示す監視対象Ｉ／Ｏ情報は、例えば、ディスク装置１６に障害が発生した際に発行されるＩ／Ｏ情報である。
【００２５】
具体的には、監視Ｉ／Ｏ情報１３３が示す監視対象Ｉ／Ｏ情報は、例えば、ＳＣＳＩバス及びＳＣＳＩデバイスの状態をリセットする「ＳＣＳＩバスリセットコマンド（SCSI Bus Reset Command）」などの障害に関連するＳＣＳＩコマンドである。また、監視Ｉ／Ｏ情報１３３が示す監視対象Ｉ／Ｏ情報は、例えば、ディスク装置１６に問題が生じた際にディスク装置１６が発行するエラーコード（センスコード）である「メディアエラー（Media Error）」である。このように、監視Ｉ／Ｏ情報１３３は、ＨＤＤ障害が発生したときに付随して発行される上記のようなＳＣＳＩ  ＣｏｍｍａｎｄやＳｅｎｓｅ  Ｃｏｄｅ（エラーコード）を監視対象Ｉ／Ｏ情報として示している。
【００２６】
なお、監視Ｉ／Ｏ情報１３３は、上記監視対象Ｉ／Ｏ情報のいずれか一方を示していても構わないし、両方を示していても構わない。また、監視Ｉ／Ｏ情報１３３は、上記例示した以外のコマンドやコードなどの入出力情報を監視対象Ｉ／Ｏ情報として示していても構わない。
【００２７】
Ｉ／Ｏ監視手段１３は、例えば、上記のような構成を有している。
【００２８】
障害判断手段１４は、ストレージコントローラ１２の外部に設けられており、Ｉ／Ｏ監視手段１３が検出した監視対象Ｉ／Ｏ情報の数を、例えば、ディスク装置１６や監視対象Ｉ／Ｏ情報ごとに計測する。また、障害判断手段１４は、検出状況（例えば、時間の経過）に応じて、計測中の監視対象Ｉ／Ｏ情報の数をディクリメントする。
【００２９】
また、障害判断手段１４は、監視対象Ｉ／Ｏ情報の計測結果に基づいて、ディスク装置１６の障害の有無を判断する。そして、障害判断手段１４は、上記判断の結果に基づいて、ディスク装置１６を切り離す。
【００３０】
図３は、障害判断手段１４の構成の一例である。図３を参照すると、障害判断手段１４は、例えば、切り離し制御部１４１と、切り離し判断部１４２と、タイマ１４３と、カウンタ１４４と、タイマ初期値１４５と、カウンタ閾値１４６と、タイマ制御部１４７と、カウンタ制御部１４８と、を有している。
【００３１】
なお、上記構成のうちの各部は、図示しない記憶装置に格納されたプログラムを図示しない演算装置が実行することで実現される。また、タイマ初期値１４５及びカウンタ閾値１４６は、メモリなどの図示しない記憶装置に格納されている。
【００３２】
切り離し制御部１４１は、ディスク装置１６を切り離す旨の指示を電源制御手段１５に対して送るよう、切り離し判断部１４２から通知を受信する。すると、切り離し制御部１４１は、当該受信した通知に応じて、対象となるディスク装置１６に対する電源の供給を停止するよう電源制御手段１５に対して指示する。
【００３３】
切り離し判断部１４２は、カウンタ１４４の値とカウンタ閾値１４６とを比較する。そして、切り離し判断部１４２は、比較結果に基づいて、ディスク装置１６の障害の有無を判断する。例えば、切り離し判断部１４２は、カウンタ１４４の値がカウンタ閾値１４６を超えている場合、ディスク装置１６に障害が発生していると判断する。
【００３４】
また、切り離し判断部１４２は、ディスク装置１６に障害が生じていると判断した場合、当該障害が生じているディスク装置１６を切り離す旨の指示を電源制御手段１５に対して送るよう、切り離し制御部１４１に通知する。上述したように、切り離し判断部１４２からの通知に応じて、切り離し制御部１４１は電源制御手段１５に対して指示することになる。
【００３５】
タイマ１４３は、タイマ制御部１４７により制御される。後述するように、タイマ１４３に設定されている値は、時間の経過に応じてディクリメントされることになる。
【００３６】
カウンタ１４４は、カウンタ制御部１４８により制御される。後述するように、カウンタ１４４の値は、Ｉ／Ｏ監視手段１３が監視対象Ｉ／Ｏ情報を検出するごとにインクリメント（１加算）されることになる。また、カウンタ１４４の値は、タイマ１４３の値が０になるごとにディクリメントされることになる。
【００３７】
タイマ初期値１４５は、タイマ制御部１４７によりタイマ１４３に設定される値である。タイマ初期値１４５の値は任意の値であり、例えば、予め定められている。
【００３８】
カウンタ閾値１４６は、上記のように、切り離し判断部１４２によりカウンタ１４４の値と比較される。カウンタ閾値１４６の値は任意の値であり、例えば、予め定められている。
【００３９】
タイマ制御部１４７は、タイマ１４３を制御する。また、タイマ制御部１４７は、タイマ１４３の制御結果に応じて、カウンタ制御部１４８に対してカウンタ１４４の値をディクリメントするよう指示する。
【００４０】
具体的には、例えば、タイマ制御部１４７は、カウンタ１４４の値が１以上である場合に、タイマ１４３にタイマ初期値１４５が示す値を設定する。続いて、タイマ制御部１４７は、時間の経過に応じてタイマ１４３が示す値をディクリメントする。例えば、タイマ制御部１４７は、１秒間に１減算するように、タイマ１４３が示す値をディクリメントする。その後、タイマ制御部１４７は、タイマ１４３が０になったか否かを確認する。そして、タイマ１４３が０になった場合、タイマ制御部１４７は、カウンタ１４４の値をディクリメントするようカウンタ制御部１４８に通知する。また、タイマ制御部１４７は、カウンタ１４４をディクリメントしてもカウンタ１４４の値が１以上であった場合、再度タイマ１４３にタイマ初期値１４５を設定する。その後、タイマ制御部１４７は、再度タイマ１４３が示す値をディクリメントする。このように、タイマ制御部１４７は、必要に応じてタイマ１４３に対する制御を繰り返す。
【００４１】
カウンタ制御部１４８は、Ｉ／Ｏ判断部１３２やタイマ制御部１４７からの通知に応じて、カウンタ１４４を制御する。
【００４２】
具体的には、例えば、カウンタ制御部１４８は、Ｉ／Ｏ判断部１３２から監視対象Ｉ／Ｏ情報を検出した旨の通知を受信すると、当該通知に応じて、カウンタ１４４の値をインクリメントする。また、例えば、カウンタ制御部１４８は、タイマ制御部１４７からカウンタ１４４をディクリメントする旨の通知を受信すると、当該通知に応じて、カウンタ１４４の値をディクリメントする。このように、カウンタ制御部１４８は、Ｉ／Ｏ判断部１３２やタイマ制御部１４７からの通知に応じて、カウンタ１４４の値をインクリメントしたりディクリメントしたりする。なお、カウンタ制御部１４８は、カウンタ１４４の値が０を下回らないようにカウンタ１４４の制御を行うものとする。
【００４３】
障害判断手段１４は、例えば、上記のような構成を有している。
【００４４】
電源制御手段１５は、障害判断手段１４による判断結果に基づいて、ディスク装置１６を切り離す。具体的には、電源制御手段１５は、切り離し制御部１４１からディスク装置１６を切り離す旨の指示を受信する。すると、電源制御手段１５は、切り離し制御部１４１からの指示に応じて、対象となるディスク装置１６に対する電源の供給を停止する。電源制御手段１５の制御により、ディスク装置１６に対する電力の供給が停止され、ディスク装置１６が切り離されることになる。
【００４５】
ディスク装置１６は、ＨＤＤ（Hard Disk Drive）などである。ディスク装置１６は、図示しない電源から電力を供給されることで動作する。上述したように、ディスク装置１６は、ストレージコントローラ１２との間でＩ／Ｏ情報を発行する。また、ディスク装置１６に障害が生じた場合、上述したように、当該ディスク装置１６に対する電力の供給が電源制御手段１５により停止されることになる。
【００４６】
情報処理装置１は、例えば、このような構成を有している。続いて、図４、図５を参照して、情報処理装置１の動作の一例について説明する。
【００４７】
図４を参照すると、ストレージコントローラ１２、又は、ディスク装置１６がＩ／Ｏ情報を発行する（ステップＳ１０１）。
【００４８】
すると、Ｉ／Ｏ監視手段１３のＩ／Ｏ検出部１３１は、ストレージコントローラ１２、又は、ディスク装置１６が発行したＩ／Ｏ情報を検出する（ステップＳ２０１）。続いて、Ｉ／Ｏ監視手段１３のＩ／Ｏ判断部１３２は、監視Ｉ／Ｏ情報１３３を参照して、Ｉ／Ｏ検出部１３１が検出したＩ／Ｏ情報が監視対象Ｉ／Ｏ情報であるか否かを判断する（ステップＳ２０２）。
【００４９】
Ｉ／Ｏ検出部１３１が検出したＩ／Ｏ情報が監視対象Ｉ／Ｏ情報でなかった場合（ステップＳ２０２、Ｎｏ）、処理を終了する。一方、Ｉ／Ｏ検出部１３１が検出したＩ／Ｏ情報が監視対象Ｉ／Ｏ情報であった場合（ステップＳ２０２、Ｙｅｓ）、Ｉ／Ｏ判断部１３２は、監視対象Ｉ／Ｏ情報を検出した旨を障害判断手段１４に通知する。
【００５０】
障害判断手段１４は、Ｉ／Ｏ判断部１３２からの通知を受信する。すると、障害判断手段１４のカウンタ制御部１４８は、当該通知に応じて、カウンタ１４４をインクリメントする（ステップＳ３０１）。
【００５１】
切り離し判断部１４２は、カウンタ１４４を監視しており、カウンタ１４４の値が上記インクリメントの結果カウンタ閾値１４６を超えたか否かを判断する（ステップＳ３０２）。上記インクリメントの結果、カウンタ１４４の値がカウンタ閾値１４６以下であった場合（ステップＳ３０２、Ｎｏ）、処理を終了する。一方、上記インクリメントの結果、カウンタ１４４の値がカウンタ閾値１４６を超えた場合（ステップＳ３０２、Ｙｅｓ）、切り離し判断部１４２は、ディスク装置１６に障害が生じていると判断して、障害が生じているディスク装置１６を切り離す旨の指示を送るよう切り離し制御部１４１に通知する。切り離し制御部１４１は、切り離し判断部１４２にからの通知に応じて、電源制御手段１５に対してディスク装置１６を切り離すよう指示する（ステップＳ３０３）。
【００５２】
電源制御手段１５は、切り離し制御部１４１からの指示に応じて、対象となるディスク装置１６に対する電源の供給を停止する（ステップＳ４０１）。これにより、ディスク装置１６が切り離されることになる。
【００５３】
なお、カウンタ１４４の値が１以上である場合、タイマ制御部１４７が動作し、タイマ１４３の値に応じてカウンタ１４４の値をディクリメントするようカウンタ制御部１４８に指示する。次に、図５を参照して、タイマ制御部１４７の動作の一例について説明する。
【００５４】
図５を参照すると、タイマ制御部１４７は、タイマ１４３にタイマ初期値１４５が示す値を設定する（ステップＳ５０１）。
【００５５】
タイマ制御部１４７は、時間の経過に応じてタイマ１４３が示す値をディクリメントする（ステップＳ５０２）。そして、タイマ制御部１４７は、タイマ１４３が０になったか否かを確認する（ステップＳ５０３）。
【００５６】
タイマの値が０でなかった場合（つまり、１以上であった場合）（ステップＳ５０３、Ｎｏ）、タイマ制御部１４７は、ステップＳ５０２の処理に進んで、再度タイマ１４３が示す値をディクリメントする。一方、タイマの値が０であった場合（ステップＳ５０３、Ｙｅｓ）、タイマ制御部１４７は、カウンタ１４４の値をディクリメントするようカウンタ制御部１４８に通知する（ステップＳ５０４）。その結果、カウンタ制御部１４８は、カウンタ１４４が示す値をディクリメントすることになる。
【００５７】
上記カウンタ１４４が示す値のディクリメントによりカウンタが示す値が０になった場合（ステップＳ５０５、Ｙｅｓ）、タイマ制御部１４７は処理を終了する。一方、上記カウンタ１４４が示す値のディクリメントを行ってもカウンタが示す値が０にならなかった場合（ステップＳ５０５、Ｎｏ）、タイマ制御部１４７は、ステップＳ５０１の処理に進んで再度タイマ１４３にタイマ初期値１４５が示す値を設定する。
【００５８】
以上が、タイマ制御部１４７の動作の一例である。
【００５９】
このように、本実施形態における情報処理装置１は、Ｉ／Ｏ監視手段１３と障害判断手段１４と電源制御手段１５とを有している。このような構成により、Ｉ／Ｏ監視手段１３は、ディスク装置１６のＩ／Ｏ情報のうち監視対象Ｉ／Ｏ情報を検出することが出来る。また、障害判断手段１４は、Ｉ／Ｏ監視手段１３の検出結果に基づいて、ディスク装置１６に障害が生じているか否かを判断することが出来る。その結果、電源制御手段１５は、障害を生じているディスク装置１６を切り離すことが出来る。つまり、上記構成により、ディスク装置に障害が発生した場合に、ディスク装置の障害状態と情報処理装置構成によっては適切な切り離し処理とならないことがあるという問題を解決することが出来る。
【００６０】
上記構成によると、従来困難であった適切にディスク装置１６の切り離し処理が実施できない場合での切り離しを簡易な構成とその制御の追加のみで実現することが出来る。また、上記構成によると、ＯＳやストレージコントローラ１２に依存せずに適切にディスク装置１６を切り離すことが出来る。
【００６１】
なお、図１では、情報処理装置１が１つのＣＰＵ１１を有している場合を示したが、情報処理装置１が有するＣＰＵ１１の数は１つに限定されない。情報処理装置１は、２以上の複数のＣＰＵ１１を有することが出来る。また、図１では、Ｉ／Ｏコントローラ１１１がＣＰＵ１１に内蔵されている例を示したが、Ｉ／Ｏコントローラ１１１はＣＰＵ１１の外部に存在していても構わない。
【００６２】
また、図１では、１つのストレージコントローラ１２と１つのディスク装置１６とを有しているが、情報処理装置１は、２以上の複数のストレージコントローラ１２やディスク装置１６を有することが出来る。また、ディスク装置１６は、情報処理装置１に外部接続されていても構わない。
【００６３】
また、図３では、タイマ１４３、カウンタ１４４、タイマ初期値１４５、カウンタ閾値１４６、タイマ制御部１４７、カウンタ制御部１４８を１つ有している。しかしながら、障害判断手段１４が有する上記各構成の数は、１つに限定されない。障害判断手段１４は、例えば、監視対象Ｉ／Ｏ情報の数に応じて、２以上の複数のタイマ１４３、カウンタ１４４、タイマ初期値１４５、カウンタ閾値１４６、タイマ制御部１４７、カウンタ制御部１４８を有することが出来る。また、障害判断手段１４は、ディスク装置１６ごとに上記構成を有することが出来る。
【００６４】
［第２の実施形態］
次に、図６を参照して、第２の実施形態について説明する。第２の実施形態では、情報処理装置２の構成の概要について説明する。
【００６５】
図６を参照すると、本実施形態における情報処理装置２は、ディスク装置２１と検出手段２２と障害判断手段２３と切り離し手段２４とを有している。
【００６６】
検出手段２２は、ディスク装置２１のＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）情報のうち、予め定められた種類の監視対象Ｉ／Ｏ情報を検出する。
【００６７】
障害判断手段２３は、検出手段２２により検出された監視対象Ｉ／Ｏ情報の数を計測し、当該計測結果に基づいてディスク装置２１の障害の有無を判断する。
【００６８】
切り離し手段２４は、障害判断手段２３による判断結果に基づいてディスク装置２１を切り離す。
【００６９】
このように、本実施形態における情報処理装置２は、検出手段２２と障害判断手段２３と切り離し手段２４とを有している。このような構成により、検出手段２２は、ディスク装置２１のＩ／Ｏ情報のうちの監視対象Ｉ／Ｏ情報を検出することが出来る。また、障害判断手段２３は、検出手段２２の検出結果に基づいて、ディスク装置２１に障害が生じているか否かを判断することが出来る。その結果、切り離し手段２４は、障害を生じているディスク装置２１を切り離すことが出来る。つまり、上記構成により、ディスク装置に障害が発生した場合に、ディスク装置の障害状態と情報処理装置構成によっては適切な切り離し処理とならないことがある、という問題を解決することが出来る。
【００７０】
なお、上記情報処理装置２は、当該情報処理装置２に所定のプログラムが組み込まれることで実現できる。具体的に、本発明の他の形態であるプログラムは、ディスク装置を有する情報処理装置に、ディスク装置のＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）情報のうち、予め定められた種類の監視対象Ｉ／Ｏ情報を検出する検出手段と、検出手段により検出された監視対象Ｉ／Ｏ情報の数を計測し、当該計測結果に基づいてディスク装置の障害の有無を判断する障害判断手段と、障害判断手段による判断結果に基づいてディスク装置を切り離す切り離し制御手段と、を実現させるためのプログラムである。
【００７１】
また、上述した情報処理装置２が作動することにより実行される情報処理方法は、ディスク装置のＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）情報のうち、予め定められた種類の監視対象Ｉ／Ｏ情報を検出し、検出された監視対象Ｉ／Ｏ情報の数を計測し、当該計測結果に基づいてディスク装置の障害の有無を判断し、判断結果に基づいてディスク装置を切り離す、という方法である。
【００７２】
上述した構成を有する、プログラム、又は、情報処理方法、の発明であっても、上記情報処理装置２と同様の作用を有するために、上述した本発明の目的を達成することが出来る。
【００７３】
＜付記＞
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明における情報処理装置などの概略を説明する。但し、本発明は、以下の構成に限定されない。
【００７４】
（付記１）
ディスク装置と、
前記ディスク装置のＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）情報のうち、予め定められた種類の監視対象Ｉ／Ｏ情報を検出する検出手段と、
前記検出手段により検出された監視対象Ｉ／Ｏ情報の数を計測し、当該計測結果に基づいて前記ディスク装置の障害の有無を判断する障害判断手段と、
前記障害判断手段による判断結果に基づいて前記ディスク装置を切り離す切り離し手段と、
を有する
情報処理装置。
【００７５】
（付記２）
付記１に記載の情報処理装置であって、
前記検出手段が検出する前記監視対象Ｉ／Ｏ情報は、前記ディスク装置に障害が発生した際に発行されるＩ／Ｏ情報である
情報処理装置。
【００７６】
（付記３）
付記１又は２に記載の情報処理装置であって、
前記検出手段は、前記監視対象Ｉ／Ｏ情報として、障害に関連するＳＣＳＩ（Small Computer System Interface）コマンドを検出する
情報処理装置。
【００７７】
（付記４）
付記１乃至３のいずれかに記載の情報処理装置であって、
前記検出手段は、前記監視対象Ｉ／Ｏ情報として、前記ディスク装置に問題が生じた際に当該ディスク装置により発行されるエラーコードを検出する
情報処理装置。
【００７８】
（付記５）
付記１乃至４のいずれかに記載の情報処理装置であって、
前記障害判断手段は、計測した前記監視対象Ｉ／Ｏ情報の数と予め定められた閾値とを比較し、当該比較結果に基づいて前記ディスク装置の障害を判断する
情報処理装置。
【００７９】
（付記６）
付記５に記載の情報処理装置であって、
前記障害判断手段が計測する前記監視対象Ｉ／Ｏ情報の数は、検出状況に応じて減算されるよう構成されている
情報処理装置。
【００８０】
（付記７）
付記５又は６に記載の情報処理装置であって、
前記障害判断手段は、予め定められた時間が経過するごとに、計測中の前記監視対象Ｉ／Ｏ情報の数を減算するよう構成されている
情報処理装置。
【００８１】
（付記８）
付記１乃至７のいずれかに記載の情報処理装置であって、
前記切り離し制御手段は、前記障害判断手段による判断結果に基づいて前記ディスク装置に供給する電力を止めることで当該ディスク装置を切り離す
情報処理装置。
【００８２】
（付記９）
ディスク装置のＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）情報のうち、予め定められた種類の監視対象Ｉ／Ｏ情報を検出し、
検出された監視対象Ｉ／Ｏ情報の数を計測し、当該計測結果に基づいて前記ディスク装置の障害の有無を判断し、
判断結果に基づいて前記ディスク装置を切り離す
情報処理方法。
【００８３】
（付記９−１）
付記９に記載の情報処理方法であって、
前記監視対象Ｉ／Ｏ情報として、前記ディスク装置に障害が発生した際に発行されるＩ／Ｏ情報を検出する
情報処理方法。
【００８４】
（付記９−２）
付記９又は９−１に記載の情報処理装置であって、
前記監視対象Ｉ／Ｏ情報として、障害に関連するＳＣＳＩ（Small Computer System Interface）コマンドを検出する
情報処理方法。
【００８５】
（付記１０）
ディスク装置を有する情報処理装置に、
前記ディスク装置のＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）情報のうち、予め定められた種類の監視対象Ｉ／Ｏ情報を検出する検出手段と、
前記検出手段により検出された監視対象Ｉ／Ｏ情報の数を計測し、当該計測結果に基づいて前記ディスク装置の障害の有無を判断する障害判断手段と、
前記障害判断手段による判断結果に基づいて前記ディスク装置を切り離す切り離し制御手段と、
を実現させるためのプログラム。
【００８６】
（付記１０−１）
付記１０に記載のプログラムであって、
前記検出手段が検出する前記監視対象Ｉ／Ｏ情報は、前記ディスク装置に障害が発生した際に発行されるＩ／Ｏ情報である
プログラム。
【００８７】
（付記１０−２）
付記１０又は１０−１に記載のプログラムであって、
前記検出手段は、前記監視対象Ｉ／Ｏ情報として、障害に関連するＳＣＳＩ（Small Computer System Interface）コマンドを検出する
プログラム。
【００８８】
なお、上記各実施形態及び付記において記載したプログラムは、記憶装置に記憶されていたり、コンピュータが読み取り可能な記録媒体に記録されていたりする。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
【００８９】
以上、上記各実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることが出来る。
【符号の説明】
【００９０】
１  情報処理装置
１１  ＣＰＵ
１１１  Ｉ／Ｏコントローラ
１２  ストレージコントローラ
１３  Ｉ／Ｏ検出手段
１３１  Ｉ／Ｏ検出部
１３２  Ｉ／Ｏ判断部
１３３  監視Ｉ／Ｏ情報
１４  障害判断手段
１４１  切り離し制御部
１４２  切り離し判断部
１４３  タイマ
１４４  カウンタ
１４５  タイマ初期値
１４６  カウンタ閾値
１４７  タイマ制御部
１４８  カウンタ制御部
１５  電源制御手段
１６  ディスク装置
２  情報処理装置
２１  ディスク装置
２２  検出手段
２３  障害判断手段
２４  切り離し手段
【図１】
0006288141.tif 000002
【図２】
0006288141.tif 000003
【図３】
0006288141.tif 000004
【図４】
0006288141.tif 000005
【図５】
0006288141.tif 000006
【図６】
0006288141.tif 000007