(57)【要約】【課題】ストレージ装置の制御のための統計処理に用いられる定義情報をより柔軟に変更する。【解決手段】記憶部３１１は、ストレージ装置の制御のための統計処理プログラム３２１と、統計処理プログラム３２１とともに更新される第１の定義情報３２２と、第２の定義情報３２３とを記憶する。更新部３１２は、統計処理プログラム３２１の更新に伴って定義情報を更新する場合は、第１の定義情報３２２を更新し、統計処理プログラム３２１の更新に伴わずに定義情報を更新する場合は、第２の定義情報３２３を更新する。統計処理部３１３は、更新された第１の定義情報３２２又は更新された第２の定義情報３２３を使用して、ストレージ装置の制御のための統計処理を行う。【選択図】図３
2015184925.tif 000002
【特許請求の範囲】
【請求項１】
ストレージ装置の制御のための統計処理プログラムと、前記統計処理プログラムとともに更新される第１の定義情報と、第２の定義情報とを記憶する記憶部と、
前記統計処理プログラムの更新に伴って定義情報を更新する場合は、前記第１の定義情報を更新し、前記統計処理プログラムの更新に伴わずに定義情報を更新する場合は、前記第２の定義情報を更新する更新部と、
更新された前記第１の定義情報又は更新された前記第２の定義情報を使用して、前記ストレージ装置の制御のための統計処理を行う統計処理部と、
を備えることを特徴とするストレージ制御装置。
【請求項２】
前記記憶部は、前記第１の定義情報の版数を示す第１の版数情報と、前記第２の定義情報の版数を示す第２の版数情報とを記憶し、前記更新部は、前記第１の定義情報とともに前記第１の版数情報を更新し、前記第２の定義情報とともに前記第２の版数情報を更新し、前記統計処理部は、更新された前記第１の版数情報が示す版数が前記第２の版数情報が示す版数より新しい場合、前記更新された第１の定義情報を使用し、更新された前記第２の版数情報が示す版数が前記第１の版数情報が示す版数より新しい場合、前記更新された第２の定義情報を使用することを特徴とする請求項１記載のストレージ制御装置。
【請求項３】
前記統計処理部は、更新された前記第１の版数情報が示す版数が前記第２の版数情報が示す版数と互換性がない場合、前記更新された第１の定義情報を使用し、更新された前記第２の版数情報が示す版数が前記第１の版数情報が示す版数と互換性がない場合、前記第１の定義情報を使用することを特徴とする請求項２記載のストレージ制御装置。
【請求項４】
前記第１の定義情報及び前記第２の定義情報は、エラー発生時に統計値に対して加算される加算値と、前記統計値に対する閾値とを含み、前記更新部は、前記更新された第１の定義情報又は前記更新された第２の定義情報に含まれる前記閾値と、更新前の前記第１の定義情報又は更新前の前記第２の定義情報に含まれる前記閾値との比率に基づいて、更新前の前記統計値を変更し、前記統計処理部は、変更された前記統計値を用いて前記統計処理を行うことを特徴とする請求項１乃至３のいずれか１項に記載のストレージ制御装置。
【請求項５】
ストレージ装置の制御のための統計処理プログラムと、前記統計処理プログラムとともに更新される第１の定義情報と、第２の定義情報とを記憶する記憶部を参照し、前記統計処理プログラムの更新に伴って定義情報を更新する場合は、前記第１の定義情報を更新し、前記統計処理プログラムの更新に伴わずに定義情報を更新する場合は、前記第２の定義情報を更新し、
更新された前記第１の定義情報又は更新された前記第２の定義情報を使用して、前記ストレージ装置の制御のための統計処理を行う、
処理をコンピュータに実行させるプログラム。
【請求項６】
コンピュータによって実行される制御方法であって、
ストレージ装置の制御のための統計処理プログラムと、前記統計処理プログラムとともに更新される第１の定義情報と、第２の定義情報とを記憶する記憶部を参照し、前記統計処理プログラムの更新に伴って定義情報を更新する場合は、前記第１の定義情報を更新し、前記統計処理プログラムの更新に伴わずに定義情報を更新する場合は、前記第２の定義情報を更新し、
更新された前記第１の定義情報又は更新された前記第２の定義情報を使用して、前記ストレージ装置の制御のための統計処理を行う、
ことを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ制御装置、制御方法、及びプログラムに関する。
【背景技術】
【０００２】
従来のディスクアレイ装置において、ディスク及び経路の双方について統計加点処理による異常監視が行われ、異常ディスク及び異常経路を縮退させる運用が行われている（例えば、特許文献１を参照）。
【０００３】
図１は、従来のディスクアレイ装置の構成例を示している。図１のディスクアレイ装置１０１は、コントローラモジュール（ＣＭ）１１１、ＣＭ１１２、及びディスクエンクロージャ（ＤＥ）１１３を含む。ＤＥ１１３は、入出力モジュール（ＩＯＭ）１２１、ＩＯＭ１２２、及びディスク１３１〜ディスク１３３を含む。
【０００４】
このうち、ディスク１３１〜ディスク１３３は、例えば、ハードディスクドライブ（ＨＤＤ）である。また、ＣＭ１１１、ＣＭ１１２、ＩＯＭ１２１、及びＩＯＭ１２２は、ＣＭ１１１又はＣＭ１１２からディスク１３１〜ディスク１３３までの経路に含まれる経路部品である。
【０００５】
ＣＭ１１１及びＣＭ１１２は、ＩＯＭ１２１及びＩＯＭ１２２にそれぞれ接続されており、ＩＯＭ１２１及びＩＯＭ１２２は、ディスク１３１〜ディスク１３３にそれぞれ接続されている。ＣＭ１１１及びＣＭ１１２は、ＩＯＭ１２１又はＩＯＭ１２２を介してディスク１３１〜ディスク１３３にアクセスし、データの書き込み又は読み出しを行う。
【０００６】
図２は、図１のディスクアレイ装置において、ＣＭ１１１が保持する統計情報テーブルの例を示している。図２の統計情報テーブルの統計値は、各監視対象の部品におけるエラー発生状況を表す。
【０００７】
ＣＭ＃０及びＣＭ＃１は、それぞれ、ＣＭ１１１及びＣＭ１１２の識別情報であり、ＩＯＭ＃０及びＩＯＭ＃１は、それぞれ、ＩＯＭ１２１及びＩＯＭ１２２の識別情報である。また、ＤＩＳＫ＃０〜ＤＩＳＫ＃２は、それぞれ、ディスク１３１〜ディスク１３３の識別情報である。
【０００８】
ＣＭ１１１は、ディスク１３１〜ディスク１３３のうちいずれかのディスクへのアクセスに失敗すると、対応する監視対象の統計値にエラー要因に応じた加算値を加算する。そして、監視期間内に統計値が閾値を超えた場合、ＣＭ１１１は、ディスク異常又は経路異常と判断し、対応する監視対象を縮退させる。これにより、その監視対象の部品がディスクアレイ装置から論理的に切り離され、使用されない状態になる。
【０００９】
ストレージ・デバイスの障害を予測する装置も知られている（例えば、特許文献２を参照）。この装置は、技術記述子をストレージ・デバイスに関連付け、ストレージ・デバイスに関する予測障害しきい値を設定し、予測障害しきい値を超えるストレージ・デバイス・エラーを検出する。
【００１０】
また、ストレージ・デバイスにおいてデータ完全性を維持する方法も知られている（例えば、特許文献３を参照）。この方法は、磁気ディスク・ドライブにおけるトラック・スクイーズ障害のような今にも発生しそうなデータ・エラーを検出し、影響を及ぼされたトラックに再度書き込むことによって、障害を修復する。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００９−２０５３１６号公報
【特許文献２】特開２００７−２００３０１号公報
【特許文献３】特開２００５−３２２３９９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
上述した従来のディスクアレイ装置における異常監視方法には、以下のような問題がある。
【００１３】
図２の統計情報テーブルの統計値に加算される加算値は、エラー要因毎に異なっており、ＨＤＤのベンダ、ディスクアレイ装置の構成、ディスクアレイ装置の設置環境等の違いから、運用中に過剰な加算が行われたり、加算が不足したりすることがある。
【００１４】
過剰な加算が行われると、継続して使用可能な正常ディスクが異常部品と誤認定されて切り離されることがある。また、加算が不足すると、異常ディスクの切り離しが遅れ、上位のホスト装置に対する悪影響が発生することがある。
【００１５】
このため、ディスクアレイ装置の運用状況に応じて加算値、閾値等の定義情報を調整することが望ましい。しかし、加算値及び閾値は、統計処理のファームウェアプログラムに固定値として設定されているため、ファームウェアプログラムを更新することで加算値及び閾値が変更される。
【００１６】
ファームウェアプログラムの更新はソースファイルの修正を伴うため、運用状況が変化する度に更新を行うと、作業負荷が大きくなる。特に、フィールド運用中のディスクアレイ装置に対するファームウェアプログラムの更新では、作業負荷が非常に大きくなるため、ファームウェアプログラムの更新を行うことなく加算値及び閾値を変更する方法が望まれる。
【００１７】
なお、かかる問題は、加算値又は閾値を変更する場合に限らず、ディスクアレイ装置の制御のための統計処理に用いられる他の定義情報を変更する場合においても生ずるものである。また、かかる問題は、記憶装置としてＨＤＤを用いるストレージ装置に限らず、他の記憶装置を用いるストレージ装置においても生ずるものである。
【００１８】
１つの側面において、本発明は、ストレージ装置の制御のための統計処理に用いられる定義情報をより柔軟に変更することを目的とする。
【課題を解決するための手段】
【００１９】
１つの案では、ストレージ制御装置は、記憶部、更新部、及び統計処理部を含む。
記憶部は、ストレージ装置の制御のための統計処理プログラムと、統計処理プログラムとともに更新される第１の定義情報と、第２の定義情報とを記憶する。
【００２０】
更新部は、統計処理プログラムの更新に伴って定義情報を更新する場合は、第１の定義情報を更新し、統計処理プログラムの更新に伴わずに定義情報を更新する場合は、第２の定義情報を更新する。
【００２１】
統計処理部は、更新された第１の定義情報又は更新された第２の定義情報を使用して、ストレージ装置の制御のための統計処理を行う。
【発明の効果】
【００２２】
１つの実施形態によれば、ストレージ装置の制御のための統計処理に用いられる定義情報をより柔軟に変更することができる。
【図面の簡単な説明】
【００２３】
【図１】ディスクアレイ装置の構成図である。
【図２】統計情報テーブルを示す図である。
【図３】ストレージ制御装置の機能的構成図である。
【図４】制御処理のフローチャートである。
【図５】ストレージ装置の構成図である。
【図６】ディスクエラーの加算値テーブルを示す図である。
【図７】経路エラーの加算値テーブルを示す図である。
【図８】ストレージ制御装置の具体例を示す図である。
【図９】統計処理プログラムと加算値テーブルの間の互換性を示す図である。
【図１０】更新処理のフローチャートである。
【図１１】互換性チェックのフローチャートである。
【図１２】統計処理のフローチャートである。
【図１３】加算値テーブル選択処理のフローチャートである。
【図１４】情報処理装置のハードウェア構成図である。
【発明を実施するための形態】
【００２４】
以下、図面を参照しながら、実施形態を詳細に説明する。
図２の統計情報テーブルの統計値に加算される加算値は、エラー要因毎に異なっており、ＨＤＤのベンダ、ディスクアレイ装置の構成、ディスクアレイ装置の設置環境等の違いから、運用中に過剰な加算が行われたり、加算が不足したりすることがある。
【００２５】
過剰な加算が行われると、継続して使用可能な正常ディスクが異常部品と誤認定されて切り離されることがある。また、加算が不足すると、異常ディスクの切り離しが遅れ、上位のホスト装置に対する悪影響が発生することがある。
【００２６】
このため、ディスクアレイ装置の運用状況に応じて加算値、閾値等の定義情報を調整することが望ましい。しかし、加算値及び閾値は、統計処理のファームウェアプログラムに固定値として設定されているため、ファームウェアプログラムを更新することで加算値及び閾値が変更される。
【００２７】
ファームウェアプログラムの更新はソースファイルの修正を伴うため、運用状況が変化する度に更新を行うと、作業負荷が大きくなる。特に、フィールド運用中のディスクアレイ装置に対するファームウェアプログラムの更新では、作業負荷が非常に大きくなるため、ファームウェアプログラムの更新を行うことなく加算値及び閾値を変更する方法が望まれる。
【００２８】
なお、かかる問題は、加算値又は閾値を変更する場合に限らず、ディスクアレイ装置の制御のための統計処理に用いられる他の定義情報を変更する場合においても生ずるものである。また、かかる問題は、記憶装置としてＨＤＤを用いるストレージ装置に限らず、他の記憶装置を用いるストレージ装置においても生ずるものである。
【００２９】
図３は、実施形態のストレージ制御装置の機能的構成例を示している。図３のストレージ制御装置３０１は、記憶部３１１、更新部３１２、及び統計処理部３１３を含む。
【００３０】
記憶部３１１は、ストレージ装置の制御のための統計処理プログラム３２１と、統計処理プログラム３２１とともに更新される第１の定義情報３２２と、第２の定義情報３２３とを記憶する。更新部３１２及び統計処理部３１３は、記憶部３１１を参照し、記憶部３１１が記憶する情報に基づいてストレージ装置の制御のための処理を行う。
【００３１】
図４は、図３のストレージ制御装置３０１が行う制御処理の例を示すフローチャートである。
【００３２】
更新部３１２は、統計処理プログラム３２１の更新に伴って定義情報を更新する場合は、第１の定義情報３２２を更新し、統計処理プログラム３２１の更新に伴わずに定義情報を更新する場合は、第２の定義情報３２３を更新する（ステップ４０１）。
【００３３】
統計処理部３１３は、更新された第１の定義情報３２２又は更新された第２の定義情報３２３を使用して、ストレージ装置の制御のための統計処理を行う（ステップ４０２）。
【００３４】
図３のストレージ制御装置３０１によれば、ストレージ装置の制御のための統計処理に用いられる定義情報をより柔軟に変更することができる。
【００３５】
図５は、図３のストレージ制御装置３０１を含むストレージ装置の構成例を示している。図５のストレージ装置５０１は、例えば、Redundant Arrays of Inexpensive Disks（ＲＡＩＤ）装置であり、ＣＭ５１１、ＣＭ５１２、及びＤＥ群５１３〜ＤＥ群５１６を含む。
【００３６】
ＣＭ５１１は、制御部５２１及びエクスパンダ（ＥＸＰ）５２２を含み、制御部５２１は、入出力コントローラ（ＩＯＣ）５２３及びＩＯＣ５２４を含む。ＣＭ５１２は、制御部５３１及びＥＸＰ５３２を含み、制御部５３１は、ＩＯＣ５３３及びＩＯＣ５３４を含む。ＣＭ５１１及びＣＭ５１２は、図３のストレージ制御装置３０１に対応する。
【００３７】
ＤＥ群５１３は、複数のＤＥを含み、各ＤＥは、ＥＸＰ５４１、ＥＸＰ５４２、及び１つ以上のディスク５４３を含む。ディスク５４３は、ＥＸＰ５４１及びＥＸＰ５４２にそれぞれ接続されている。複数のＥＸＰ５４１は縦続に接続されており、複数のＥＸＰ５４２も縦続に接続されている。
【００３８】
ＤＥ群５１４は、複数のＤＥを含み、各ＤＥは、ＥＸＰ５５１、ＥＸＰ５５２、及び１つ以上のディスク５５３を含む。ディスク５５３は、ＥＸＰ５５１及びＥＸＰ５５２にそれぞれ接続されている。複数のＥＸＰ５５１は縦続に接続されており、複数のＥＸＰ５５２も縦続に接続されている。
【００３９】
ＤＥ群５１５は、複数のＤＥを含み、各ＤＥは、ＥＸＰ５６１、ＥＸＰ５６２、及び１つ以上のディスク５６３を含む。ディスク５６３は、ＥＸＰ５６１及びＥＸＰ５６２にそれぞれ接続されている。複数のＥＸＰ５６１は縦続に接続されており、複数のＥＸＰ５６２も縦続に接続されている。
【００４０】
ＤＥ群５１６は、複数のＤＥを含み、各ＤＥは、ＥＸＰ５７１、ＥＸＰ５７２、及び１つ以上のディスク５７３を含む。ディスク５７３は、ＥＸＰ５７１及びＥＸＰ５７２にそれぞれ接続されている。複数のＥＸＰ５７１は縦続に接続されており、複数のＥＸＰ５７２も縦続に接続されている。
【００４１】
ＥＸＰ５２２、ＥＸＰ５３２、ＥＸＰ５４１、ＥＸＰ５４２、ＥＸＰ５５１、ＥＸＰ５５２、ＥＸＰ５６１、ＥＸＰ５６２、ＥＸＰ５７１、及びＥＸＰ５７２は、例えば、Serial Attached SCSI（ＳＡＳ）スイッチ等のインタフェースである。また、ディスク５４３、ディスク５５３、ディスク５６３、及びディスク５７３は、例えば、ＨＤＤ等の記憶装置である。
【００４２】
ＣＭ５１１のＥＸＰ５２２は、ＤＥ群５１３の複数のＥＸＰ５４１のうち、１段目のＥＸＰ５４１に接続されている。同様に、ＥＸＰ５２２は、ＤＥ群５１４の１段目のＥＸＰ５５１、ＤＥ群５１５の１段目のＥＸＰ５６１、及びＤＥ群５１６の１段目のＥＸＰ５７１に接続されている。
【００４３】
制御部５２１は、ＩＯＣ５２３、ＩＯＣ５２４、ＥＸＰ５２２、及びＥＸＰ５４１を介してＤＥ群５１３のディスク５４３にアクセスし、データの書き込み又は読み出しを行う。したがって、制御部５２１、ＩＯＣ５２３、ＩＯＣ５２４、ＥＸＰ５２２、及びＥＸＰ５４１は、制御部５２１からディスク５４３までの経路に含まれる経路部品である。制御部５２１により近い部分が上流となり、ディスク５４３により近い部分が下流となる。制御部５２１から他のＤＥ群のディスクまでの経路についても同様である。
【００４４】
ＣＭ５１２のＥＸＰ５３２は、ＤＥ群５１３の複数のＥＸＰ５４２のうち、最終段のＥＸＰ５４２に接続されている。同様に、ＥＸＰ５３２は、ＤＥ群５１４の最終段のＥＸＰ５５２、ＤＥ群５１５の最終段のＥＸＰ５６２、及びＤＥ群５１６の最終段のＥＸＰ５７２に接続されている。
【００４５】
制御部５３１は、ＩＯＣ５３３、ＩＯＣ５３４、ＥＸＰ５３２、及びＥＸＰ５４２を介してＤＥ群５１３のディスク５４３にアクセスし、データの書き込み又は読み出しを行う。したがって、制御部５３１、ＩＯＣ５３３、ＩＯＣ５３４、ＥＸＰ５３２、及びＥＸＰ５４２は、制御部５３１からディスク５４３までの経路に含まれる経路部品である。制御部５３１により近い部分が上流となり、ディスク５４３により近い部分が下流となる。制御部５３１から他のＤＥ群のディスクまでの経路についても同様である。
【００４６】
制御部５２１及び制御部５３１は、ディスク５４３、ディスク５５３、ディスク５６３、及びディスク５７３に対するアクセス時に発生したエラーの種別に応じて統計処理を行う。これにより、ディスク異常及び経路異常を監視することができ、Reliability Availability Serviceability（ＲＡＳ）制御が実現される。
【００４７】
制御部５２１及び制御部５３１は、例えば、下記の２種類の統計情報テーブルを用いて統計処理を行うことができる。
【００４８】
（１）ディスク統計情報テーブル
ディスク統計情報テーブルは、ストレージ装置５０１内のディスクの総数と同じ数のレコードを有し、各ディスクのディスクエラーの統計値を保持する。ディスク統計情報テーブルは、ストレージ装置５０１の電源オン時にメモリ内に生成され、電源オン時、ディスクが切り離されたとき、及び最初の加算から所定時間が経過したときに、各ディスクの統計値が０にリセットされる。
【００４９】
（２）経路統計情報テーブル
経路統計情報テーブルは、ストレージ装置５０１内の監視対象の経路部品の総数と同じ数のレコードを有し、各経路部品の経路エラーの統計値を保持する。監視対象の経路部品としては、例えば、制御部、ＩＯＣ、ＩＯＣ内のポート、ＣＭ内のＥＸＰ、ＤＥ内のＥＸＰ等が挙げられる。
【００５０】
経路統計情報テーブルは、ストレージ装置５０１の電源オン時にメモリ内に生成され、電源オン時、及び最初の加算から所定時間が経過したときに、各経路部品の統計値が０にリセットされる。
【００５１】
また、経路部品が切り離されたときには、切り離された経路部品とそれより下流の経路部品の統計値が０にリセットされ、切り離された経路部品より上流の経路部品の統計値はより小さな値に変更される。このとき、ディスク統計情報テーブルにおいて、経路上のすべてのディスクの統計値も０にリセットされる。
【００５２】
図６は、図５の制御部５２１及び制御部５３１が保持する、ディスクエラーの加算値テーブルの例を示している。図３の第１の定義情報３２２及び第２の定義情報３２３は、図６の加算値テーブルを含むことができる。
【００５３】
図６の“Ｓｔａｔｕｓ”は、ディスクエラーのエラー種別を表し、“Ｗｒｉｔｅ”は、書き込み動作においてエラーが発生した場合の加算値を表し、“Ｒｅａｄ”は、読み出し動作においてエラーが発生した場合の加算値を表す。
【００５４】
制御部５２１及び制御部５３１は、ディスクへのアクセスにおいて“Ｓｔａｔｕｓ”が示すエラーが発生すると、対応する加算値を対応するディスクの統計値に加算する。
【００５５】
図７は、図５の制御部５２１及び制御部５３１が保持する、経路エラーの加算値テーブルの例を示している。図３の第１の定義情報３２２及び第２の定義情報３２３は、図７の加算値テーブルを含むことができる。
【００５６】
図７の“エラー種別”は、経路エラーのエラー種別を表し、“ディスク”は、ディスク統計情報テーブルの統計値に対して加算される加算値を表し、“経路”は、経路統計情報テーブルの統計値に対して加算される加算値を表す。
【００５７】
制御部５２１及び制御部５３１は、ディスクへのアクセスにおいて“エラー種別”が示すエラーが発生すると、対応するディスクの統計値に“ディスク”が示す加算値を加算する。さらに、制御部５２１及び制御部５３１は、そのディスクまでの経路上に存在するすべての経路部品の統計値に、“経路”が示す加算値を加算する。
【００５８】
図６の加算値テーブルは、ディスク毎に設けてもよく、図７の加算値テーブルは、経路部品毎に設けてもよい。図６及び図７の加算値テーブルは、異常判定の際に統計値と比較される閾値を含むこともできる。
【００５９】
図８は、図３のストレージ制御装置３０１の具体例を示している。図８のストレージ制御装置３０１は、記憶部３１１、更新部３１２、統計処理部３１３、及びディスクドライバ８０１を含む。図５の制御部５１１及び制御部５３１は、記憶部３１１、更新部３１２、統計処理部３１３、及びディスクドライバ８０１を含むことができる。
【００６０】
記憶部３１１は、統計処理プログラム３２１、加算値テーブル８１２−１、加算値テーブル８１２−２、稼働版数情報８１３、及び統計情報テーブル８１４の各情報を記憶領域に記憶する。統計処理プログラム３２１は、加算値テーブル８１１の情報を含む。
【００６１】
加算値テーブル８１１は、図３の第１の定義情報３２２に対応し、統計処理プログラム３２１の更新に伴って更新することができる。加算値テーブル８１２−１及び加算値テーブル８１２−２は、図３の第２の定義情報３２３に対応し、統計処理プログラム３２１の更新に伴わずに更新することができる。加算値テーブル８１２−１又は加算値テーブル８１２−２のうち一方のみが有効に設定され、他方は無効に設定される。以下では、加算値テーブル８１２−１及び加算値テーブル８１２−２を代表して、加算値テーブル８１２と記載することがある。
【００６２】
加算値テーブル８１１、加算値テーブル８１２−１、及び加算値テーブル８１２−２は、例えば、監視対象のディスク又は経路部品毎に設けられ、図６又は図７に示したようなエラー種別毎の加算値の情報と、閾値の情報とを含む。さらに、統計処理プログラム３２１、加算値テーブル８１１、加算値テーブル８１２−１、及び加算値テーブル８１２−２は、版数を示す版数情報を含む。
【００６３】
稼働版数情報８１３は、加算値テーブル８１１及び有効に設定された加算値テーブル８１２のうち、現在使用中の加算値テーブルの版数を表す。統計情報テーブル８１４は、ディスク統計情報テーブル又は経路統計情報テーブルのうち少なくとも一方を含む。
【００６４】
更新部３１２は、統計処理プログラム３２１を更新することで、統計処理プログラム３２１とともに加算値テーブル８１１を更新することができる。また、更新部３１２は、加算値テーブル８１２を更新することで、統計処理プログラム３２１を更新することなく、加算値及び閾値を更新することもできる。更新部３１２は、統計処理プログラム３２１、加算値テーブル８１１、又は加算値テーブル８１２の更新時に、その版数情報も更新する。
【００６５】
ディスクドライバ８０１は、ディスク５４３、ディスク５５３、ディスク５６３、又はディスク５７３に対するアクセスを制御し、アクセス時にエラーが発生すると、エラー種別を統計処理部３１３へ通知する。
【００６６】
統計処理部３１３は、統計処理プログラム３２１を用いて統計処理を行い、稼働版数情報８１３が示す版数に対応する加算値テーブルから、エラー種別に対応する加算値を取得して、統計情報テーブル８１４の統計値に加算する。そして、統計処理部３１３は、統計値が閾値を超えると、対応する監視対象のディスク又は経路部品を論理的に切り離す処理を行う。
【００６７】
次に、ストレージ制御装置３０１が行う加算値テーブルの版数管理について説明する。上述したように、統計処理部３１３は、加算値テーブル８１１又は有効に設定された加算値テーブル８１２のうち、一方の加算値テーブルを選択して統計処理に使用する。
【００６８】
加算値テーブル８１１及び加算値テーブル８１２の版数情報が示す版数は、例えば、ＣｘｘＵｙｙのように表記できる。Ｃｘｘは、互換性版数に対応し、同じ値を有する加算値テーブル同士は互換性があり、異なる値を有する加算値テーブル同士は互換性がない。ｘｘは２桁の整数を表し、互換性のない加算値テーブルが新たに作成されたときに１だけインクリメントされる。Ｕｙｙは、更新版数に対応する。ｙｙは２桁の整数を表し、新たな加算値テーブルが作成されたときに１だけインクリメントされる。
【００６９】
図９は、統計処理プログラム３２１と加算値テーブル８１２の間の互換性を示している。統計処理プログラム３２１の版数情報が示す版数は、例えば、ＶｘｘＬｚｚ−ａａａａのように表記できる。ＶｘｘＬｚｚ−ａａａａに続く括弧内のＣｘｘＵｙｙは、統計処理プログラム３２１に含まれる加算値テーブル８１１の版数を表す。
【００７０】
Ｖｘｘは、互換性版数に対応し、Ｖｘｘのｘｘは、括弧内のＣｘｘのｘｘと同じ値である。Ｌｚｚは、更新版数に対応する。ｚｚは２桁の整数を表し、新たな統計処理プログラム３２１が作成されたときに１だけインクリメントされる。
【００７１】
図９の実線は、統計処理プログラム３２１（加算値テーブル８１１）と加算値テーブル８１２の間に互換性があることを示し、一点鎖線は、両者の間に互換性がないことを示している。
【００７２】
加算値テーブル８１１又は加算値テーブル８１２のうち、統計処理に使用する加算値テーブルを選択する際のルールは、以下の通りである。
【００７３】
ルール１：加算値テーブル８１１の互換性版数と加算値テーブル８１２の互換性版数とが異なっている場合、加算値テーブル８１１を選択する。加算値テーブル８１１の互換性版数と加算値テーブル８１２の互換性版数とが同じである場合は、ルール２に従う。
【００７４】
ルール２：加算値テーブル８１１と加算値テーブル８１２のうち、更新版数の大きい方の加算値テーブルを選択する。
【００７５】
以下の手順１〜手順５は、統計処理プログラム３２１又は加算値テーブル８１２の更新に伴って選択される加算値テーブルが変化する例を示している。
【００７６】
手順１：ストレージ制御装置３０１の出荷時に、統計処理プログラム３２１（加算値テーブル８１１）がＶ１０Ｌ２０−００００（Ｃ１０Ｕ１０）に設定され、加算値テーブル８１２がＣ００Ｌ００に設定される。
【００７７】
この場合、加算値テーブル８１１の互換性版数Ｃ１０と加算値テーブル８１２の互換性版数Ｃ００とが異なっているため、加算値テーブル８１１が選択される。
【００７８】
手順２：統計処理プログラム３２１（加算値テーブル８１１）がＶ１０Ｌ２０−００００（Ｃ１０Ｕ１０）からＶ１０Ｌ２１−００００（Ｃ１０Ｕ１０）に更新される。
【００７９】
この場合、加算値テーブル８１１の版数Ｃ１０Ｕ１０は変化せず、加算値テーブル８１１の互換性版数Ｃ１０と加算値テーブル８１２の互換性版数Ｃ００とが異なっているため、加算値テーブル８１１が選択される。
【００８０】
手順３：加算値テーブル８１２がＣ００Ｌ００からＣ１０Ｕ１１に更新される。
この場合、加算値テーブル８１１の互換性版数Ｃ１０と加算値テーブル８１２の互換性版数Ｃ１０とが同じであり、加算値テーブル８１２の更新版数Ｕ１１の方が加算値テーブル８１１の更新版数Ｕ１０より大きいため、加算値テーブル８１２が選択される。
【００８１】
手順４：ストレージ制御装置３０１を再起動することなく、統計処理プログラム３２１（加算値テーブル８１１）がＶ１０Ｌ２１−００００（Ｃ１０Ｕ１０）からＶ１０Ｌ２２−００００（Ｃ１０Ｕ１１）に更新される。
【００８２】
この場合、加算値テーブル８１１の互換性版数Ｃ１０と加算値テーブル８１２の互換性版数Ｃ１０とが同じであり、加算値テーブル８１１の更新版数Ｕ１１と加算値テーブル８１２の更新版数Ｕ１１とが同じであるため、加算値テーブル８１１が選択される。
【００８３】
手順５：ストレージ制御装置３０１を再起動することなく、統計処理プログラム３２１（加算値テーブル８１１）がＶ１０Ｌ２２−００００（Ｃ１０Ｕ１１）からＶ１０Ｌ２３−００００（Ｃ１０Ｕ１２）に更新される。
【００８４】
この場合、加算値テーブル８１１の互換性版数Ｃ１０と加算値テーブル８１２の互換性版数Ｃ１０とが同じであり、加算値テーブル８１１の更新版数Ｕ１２の方が加算値テーブル８１２の更新版数Ｕ１１より大きいため、加算値テーブル８１１が選択される。
【００８５】
ところで、統計処理プログラム３２１（加算値テーブル８１１）の更新は、版数アップだけでなく、版数ダウンも可能である。例えば、手順５に続いて、統計処理プログラム３２１（加算値テーブル８１１）がＶ１０Ｌ２３−００００（Ｃ１０Ｕ１２）からＶ１０Ｌ２０−００００（Ｃ１０Ｕ１０）に更新された場合を考える。
【００８６】
この場合、加算値テーブル８１１の互換性版数Ｃ１０と加算値テーブル８１２の互換性版数Ｃ１０とが同じであり、加算値テーブル８１２の更新版数Ｕ１１の方が加算値テーブル８１１の更新版数Ｕ１０より大きいため、加算値テーブル８１２が選択される。さらに、加算値テーブル８１２がＣ１０Ｕ１１からＣ１０Ｕ１０に更新された場合は、加算値テーブル８１１が選択される。
【００８７】
また、加算値テーブル８１２が誤って互換性がない版数に更新されようとした場合は、更新が禁止される。例えば、手順５に続いて、加算値テーブル８１２がＣ１０Ｕ１１からＣ２０Ｕ１０に更新されようとした場合を考える。
【００８８】
この場合、加算値テーブル８１１の互換性版数Ｃ１０と加算値テーブル８１２の互換性版数Ｃ２０とが異なっているため、加算値テーブル８１２の更新が禁止される。
【００８９】
しかし、統計処理プログラム３２１（加算値テーブル８１１）を互換性がない版数に更新することは可能である。例えば、手順５に続いて、ストレージ制御装置３０１を再起動することなく、統計処理プログラム３２１（加算値テーブル８１１）がＶ１０Ｌ２３−００００（Ｃ１０Ｕ１２）からＶ２０Ｌ１０−００００（Ｃ２０Ｕ１０）に更新された場合を考える。
【００９０】
この場合、加算値テーブル８１１の互換性版数Ｃ２０と加算値テーブル８１２の互換性版数Ｃ１０とが異なっているため、加算値テーブル８１１が選択される。
【００９１】
次に、図１０から図１３までを参照しながら、図８のストレージ制御装置３０１が行う制御処理について説明する。以下の説明において、マスタＣＭ及びスレーブＣＭは、図５のＣＭ５１１及びＣＭ５１２にそれぞれ対応する。
【００９２】
図１０は、オペレータからマンマシンインターフェース（ＭＭＩ）を介して加算値テーブル８１２の更新が指示されたとき、マスタＣＭ及びスレーブＣＭの更新部３１２が行う更新処理の例を示すフローチャートである。
【００９３】
まず、マスタＣＭの更新部３１２は、ＭＭＩを介して入力された更新用加算値テーブルの互換性をチェックする（ステップ１００１）。更新用加算値テーブルの互換性がある場合（ステップ１００１，ＹＥＳ）、マスタＣＭの更新部３１２は、記憶部３１１内の無効に設定された加算値テーブル８１２に、更新用加算値テーブルを上書きする（ステップ１００２）。
【００９４】
次に、マスタＣＭの更新部３１２は、上書きされた加算値テーブル８１２をスレーブＣＭへ転送する（ステップ１００３）。スレーブＣＭの更新部３１２は、記憶部３１１内の無効に設定された加算値テーブル８１２に、受信した加算値テーブル８１２を上書きする。これにより、スレーブＣＭの無効に設定された加算値テーブル８１２が、マスタＣＭの無効に設定された加算値テーブル８１２と同期する。
【００９５】
次に、マスタＣＭ及びスレーブＣＭの更新部３１２は、加算値テーブル８１２を切り替えるために排他制御を行って、加算テーブル８１２に対するアクセスを一時的に抑止する（ステップ１００４）。
【００９６】
次に、マスタＣＭ及びスレーブＣＭの更新部３１２は、上書きされた加算値テーブル８１２を無効から有効に変更し、もう一方の加算値テーブル８１２を有効から無効に変更する（ステップ１００５）。そして、マスタＣＭ及びスレーブＣＭの更新部３１２は、記憶部３１１内の稼働版数情報８１３を、有効に設定された加算値テーブル８１２の版数情報に変更する。これにより、使用される加算値テーブル８１２が切り替えられる。
【００９７】
次に、マスタＣＭ及びスレーブＣＭの更新部３１２は、記憶部３１１内の統計情報テーブル８１４の統計値を、有効に設定された加算値テーブル８１２に合わせて調整する（ステップ１００６）。そして、マスタＣＭ及びスレーブＣＭの更新部３１２は、加算テーブル８１２に対するアクセス抑止を解除する（ステップ１００７）。
【００９８】
なお、更新用加算値テーブルの互換性がない場合（ステップ１００１，ＮＯ）、マスタＣＭの更新部３１２は、加算値テーブル８１２を更新することなく、処理を終了する。
【００９９】
図１１は、図１０のステップ１００１における互換性チェックの例を示すフローチャートである。まず、マスタＣＭの更新部３１２は、記憶部３１１から稼働版数情報８１３を読み出し、更新用加算値テーブルの版数情報が示す互換性版数を、稼働版数情報８１３が示す互換性版数と比較する（ステップ１１０１）。
【０１００】
更新用加算値テーブルの版数情報が示す互換性版数と、稼働版数情報８１３が示す互換性版数とが一致する場合（ステップ１１０１，ＹＥＳ）、マスタＣＭの更新部３１２は、更新用加算値テーブルの互換性があると判定する（ステップ１１０２）。一方、更新用加算値テーブルの版数情報が示す互換性版数と、稼働版数情報８１３が示す互換性版数とが異なる場合（ステップ１１０１，ＮＯ）、マスタＣＭの更新部３１２は、更新用加算値テーブルの互換性がないと判定する（ステップ１１０３）。
【０１０１】
更新用加算値テーブルの互換性チェックを行うことで、互換性がない更新用加算値テーブルが誤って適用されることを防止できる。
【０１０２】
なお、互換性チェックは、更新処理を開始する前に行うことも可能である。この場合、マスタＣＭに接続されたオペレータ端末は、更新用加算値テーブルの版数情報をマスタＣＭへ転送し、マスタＣＭから互換性チェックのチェック結果を受信する。オペレータは、オペレータ端末の画面に表示されたチェック結果に基づいて、更新用加算値テーブルを適用するか否かを決定することができる。
【０１０３】
また、オペレータ端末は、マスタＣＭから加算値テーブル８１２の版数情報を読み出して、画面に表示することもできる。オペレータは、表示された版数情報に基づいて、マスタＣＭ内の加算値テーブル８１２の版数を確認することができる。
【０１０４】
図１０の更新処理によれば、加算値テーブル８１２−１及び加算値テーブル８１２−２の間で使用する加算値テーブルが切り替えられるため、マスタＣＭ及びスレーブＣＭの運用を停止することなく、加算値テーブル８１２を更新することができる。この場合、統計処理プログラム３２１のソースファイルを修正する必要はない。マスタＣＭ及びスレーブＣＭは、電源オフ／電源オンを跨いで、更新された加算値テーブル８１２を保持することができる。
【０１０５】
図１０のステップ１００５において、マスタＣＭ及びスレーブＣＭの更新部３１２は、最初の加算から経過した処理時間を０にリセットしてもよい。この場合、統計処理部３１３は、改めて処理時間の計時を開始し、所定時間が経過すると統計値を０にリセットする。また、ディスク又は経路部品の切り離し処理中に加算値テーブル８１２の更新が指示された場合、マスタＣＭ及びスレーブＣＭの更新部３１２は、切り離し処理の完了を待ってから更新処理を行う。
【０１０６】
次に、図１０のステップ１００６における統計値の調整の例について説明する。加算値テーブル８１２の更新により、加算値とともに閾値が変更される場合、加算値と閾値との比率である許容エラー回数が更新前後で変化することがある。このとき、既に統計情報テーブル８１４に累積されている統計値は、更新前の加算値に基づいて計算されているため、更新前の統計値をそのまま引き継いで使用すると、誤った切り離し処理が行われる可能性がある。
【０１０７】
例えば、更新前後の加算値及び閾値が下記のような場合について考察する。
更新前の閾値＝２５５
更新前の加算値＝５０
更新前の統計値＝１５０
更新後の閾値＝１００
更新後の加算値＝１０
【０１０８】
この場合、更新前後の許容エラー回数は、以下の通りである。
更新前の許容エラー回数＝更新前の閾値／更新前の加算値＝２５５／５０  （１）
更新後の許容エラー回数＝更新後の閾値／更新後の加算値＝１００／１０  （２）
【０１０９】
式（１）は、エラーが６回発生することを許容しており、更新前の統計値“１５０”は、エラーが３回発生したことを示している。一方、式（２）は、エラーが１１回発生することを許容している。
【０１１０】
ところが、更新前の統計値をそのまま更新後の統計値として用いると、加算値テーブル８１２の更新により閾値が“２５５”から“１００”に変更された瞬間に、更新後の統計値“１５０”が閾値“１００”を超えてしまう。このため、加算値テーブル８１２の更新に起因して監視対象の切り離し処理が行われることになり、運用上好ましくないと考えられる。
【０１１１】
そこで、例えば、更新前後のエラー発生率が一致するように、更新後の統計値を調整することが望ましい。更新前後のエラー発生率は、次式により求めることができる。
【０１１２】
更新前のエラー発生率＝更新前のエラー発生回数／更新前の許容エラー回数  （１１）
更新前のエラー発生回数＝更新前の統計値／更新前の加算値  （１２）
更新前の許容エラー回数＝更新前の閾値／更新前の加算値  （１３）
【０１１３】
更新後のエラー発生率＝更新後のエラー発生回数／更新後の許容エラー回数  （２１）
更新後のエラー発生回数＝更新後の統計値／更新後の加算値  （２２）
更新後の許容エラー回数＝更新後の閾値／更新後の加算値  （２３）
【０１１４】
式（１１）の右辺と式（２１）の右辺とが等しいことから、次式が得られる。
更新前のエラー発生回数／更新前の許容エラー回数
＝更新後のエラー発生回数／更新後の許容エラー回数  （３１）
【０１１５】
式（３１）の更新前後のエラー発生回数と更新前後の許容エラー回数とを、式（１２）、式（１３）、式（２２）、及び式（２３）を用いて置き換え、更新後の統計値について整理すると、次式が得られる。
更新後の統計値＝（更新後の閾値／更新前の閾値）＊更新前の統計値  （３２）
【０１１６】
したがって、更新前の閾値＝２５５、更新前の統計値＝１５０、更新後の閾値＝１００の場合、更新後の統計値は、次式により求められる。
更新後の統計値＝（１００／２５５）＊１５０＝５８．８
【０１１７】
オペレータからＭＭＩを介して統計処理プログラム３２１の更新が指示されたとき、マスタＣＭの更新部３１２は、マスタＣＭ及びスレーブＣＭの動作モードを保守モードに切り替える。そして、マスタＣＭの更新部３１２は、記憶部３１１内の統計処理プログラム３２１を、ＭＭＩを介して入力された更新用統計処理プログラムに変更する。これにより、統計処理プログラム３２１とともに加算値テーブル８１１が更新される。
【０１１８】
そして、マスタＣＭの更新部３１２は、更新された統計処理プログラム３２１をスレーブＣＭへ転送し、スレーブＣＭの更新部３１２は、記憶部３１１内の統計処理プログラム３２１を、受信した統計処理プログラム３２１に更新する。これにより、スレーブＣＭの統計処理プログラム３２１及び加算値テーブル８１１が、マスタＣＭの統計処理プログラム３２１及び加算値テーブル８１１と同期する。
【０１１９】
保守モードで統計処理プログラム３２１を更新することで、マスタＣＭ及びスレーブＣＭの運用を停止することなく、加算値テーブル８１１を更新することができる。
【０１２０】
図１２は、ディスクへのアクセスにおいてエラーが発生したとき、マスタＣＭ及びスレーブＣＭの統計処理部３１３が行う統計処理の例を示すフローチャートである。マスタＣＭ及びスレーブＣＭは、例えば、図５のディスク５４３、ディスク５５３、ディスク５６３、及びディスク５７３のうち、互いに異なる範囲のディスクを監視することができる。そして、マスタＣＭ及びスレーブＣＭの統計処理部３１３は、監視対象のディスクへのアクセスにおいてエラーが発生したとき、統計情報テーブル８１４の対応する統計値を更新する。
【０１２１】
まず、統計処理部３１３は、加算値テーブル８１１又は加算値テーブル８１２の中から、統計処理に使用する加算値テーブルを選択する（ステップ１２０１）。そして、統計処理部３１３は、選択した加算値テーブルからエラー種別に対応する加算値を取得して、統計情報テーブル８１４の統計値に加算する（ステップ１２０２）。
【０１２２】
次に、統計処理部３１３は、選択した加算値テーブルから閾値を取得して、統計値を閾値と比較する（ステップ１２０３）。統計値が閾値以下である場合（ステップ１２０３，ＮＯ）、統計処理部３１３は、処理を終了する。一方、統計値が閾値を超えている場合（ステップ１２０３，ＹＥＳ）、統計処理部３１３は、対応する監視対象のディスク又は経路部品を論理的に切り離す処理を行う（ステップ１２０４）。
【０１２３】
図１３は、図１２のステップ１２０１における加算値テーブル選択処理の例を示すフローチャートである。まず、統計処理部３１３は、統計処理プログラム３２１内の加算値テーブル８１１の版数情報が示す互換性版数を、有効に設定された加算値テーブル８１２の版数情報が示す互換性版数と比較する（ステップ１３０１）。
【０１２４】
加算値テーブル８１１の版数情報が示す互換性版数と、加算値テーブル８１２の版数情報が示す互換性版数とが一致する場合（ステップ１３０１，ＹＥＳ）、統計処理部３１３は、ステップ１３０２の処理を行う。ステップ１３０２において、統計処理部３１３は、加算値テーブル８１１の版数情報が示す更新版数を、加算値テーブル８１２の版数情報が示す更新版数と比較する。
【０１２５】
加算値テーブル８１１の版数情報が示す更新版数が、加算値テーブル８１２の版数情報が示す更新版数より新しい場合（ステップ１３０２，ＹＥＳ）、統計処理部３１３は、加算値テーブル８１１を選択する（ステップ１３０３）。
【０１２６】
一方、加算値テーブル８１１の版数情報が示す更新版数が、加算値テーブル８１２の版数情報が示す更新版数と同じか又はその更新版数より古い場合（ステップ１３０２，ＮＯ）、統計処理部３１３は、加算値テーブル８１２を選択する（ステップ１３０４）。
【０１２７】
加算値テーブル８１１の版数情報が示す互換性版数と、加算値テーブル８１２の版数情報が示す互換性版数とが異なる場合（ステップ１３０１，ＮＯ）、統計処理部３１３は、加算値テーブル８１１を選択する（ステップ１３０５）。
【０１２８】
図３及び図８のストレージ制御装置３０１と図５のストレージ装置５０１の構成は一例に過ぎず、ストレージ制御装置３０１又はストレージ装置５０１の用途や条件に応じて、一部の構成要素を省略又は変更してもよい。
【０１２９】
例えば、図５のストレージ装置５０１において、ＣＭ５１１がすべてのディスクに対するアクセスを制御する場合は、ＣＭ５１２を省略することができる。また、ディスク５４３、ディスク５５３、ディスク５６３、及びディスク５７３の代わりに、半導体記憶装置等の他の記憶装置を用いてもよい。
【０１３０】
また、図８のストレージ制御装置３０１において、ストレージ制御装置３０１の運用を停止してから加算値テーブル８１２を更新する場合は、加算値テーブル８１２−１又は加算値テーブル８１２−２のうち一方を省略することができる。
【０１３１】
図６及び図７の加算値テーブルは一例に過ぎず、図６及び図７とは異なるエラー種別に対応する加算値を用いてもよい。各エラー種別に対応する加算値として、図６及び図７とは異なる値を用いてもよい。
【０１３２】
図１０〜図１３のフローチャートは一例に過ぎず、ストレージ制御装置３０１の構成や条件に応じて一部の処理を省略又は変更してもよい。例えば、図５のＣＭ５１１がすべてのディスクに対するアクセスを制御する場合は、ＣＭ５１１のみが図１０〜図１３の処理を行い、図１０のステップ１００３の同期処理を省略することができる。また、ストレージ制御装置３０１の運用を停止してから加算値テーブル８１２を更新する場合は、更新部３１２は、２つの加算値テーブル８１２を切り替える代わりに、直接、加算値テーブル８１２を更新することができる。
【０１３３】
更新用加算値テーブルの互換性があることが分かっている場合は、図１０のステップ１００１の互換性チェックを省略することができる。また、更新前の統計値をそのまま更新後の統計値として用いてもよい場合は、図１０のステップ１００６の処理を省略することができる。
【０１３４】
図１２のステップ１２０２において、統計処理部３１３は、加算処理の代わりに、乗算、減算、平均値計算等の他の統計処理を行って、統計値を更新してもよい。また、図１２のステップ１２０４において、統計処理部３１３は、ディスク又は経路部品の切り離し処理の代わりに、他の故障対策を実施してもよい。
【０１３５】
加算値テーブル８１１と加算値テーブル８１２の互換性があることが分かっている場合は、図１３のステップ１３０１及びステップ１３０５の処理を省略することができる。図１３のステップ１３０２において、加算値テーブル８１１と加算値テーブル８１２の更新版数が同じである場合、統計処理部３１３は、加算値テーブル８１２の代わりに加算値テーブル８１１を選択してもよい。
【０１３６】
図３及び図８のストレージ制御装置３０１は、例えば、図１４に示すような情報処理装置（コンピュータ）を用いて実現可能である。
【０１３７】
図１４の情報処理装置は、ＣＰＵ１４０１、メモリ１４０２、入力装置１４０３、出力装置１４０４、補助記憶装置１４０５、媒体駆動装置１４０６、ネットワーク接続装置１４０７、ＩＯＣ１４０８、及びＥＸＰ１４０９を備える。ＣＰＵ１４０１、メモリ１４０２、入力装置１４０３、出力装置１４０４、補助記憶装置１４０５、媒体駆動装置１４０６、ネットワーク接続装置１４０７、及びＩＯＣ１４０８は、バス１４１０により互いに接続されている。
【０１３８】
メモリ１４０２は、例えば、Read Only Memory（ＲＯＭ）、Random Access Memory（ＲＡＭ）、フラッシュメモリ等の半導体メモリであり、処理に用いられるプログラム及びデータを格納する。メモリ１４０２は、図３及び図８の記憶部３１１として用いることができる。
【０１３９】
ＣＰＵ１４０１（プロセッサ）は、例えば、メモリ１４０２を利用してプログラムを実行することにより、図３及び図８の更新部３１２、統計処理部３１３、及びディスクドライバ８０１として動作する。
【０１４０】
入力装置１４０３は、例えば、キーボード、ポインティングデバイス等であり、オペレータ又はユーザからの指示や情報の入力に用いられる。出力装置１４０４は、例えば、表示装置、プリンタ、スピーカ等であり、オペレータ又はユーザへの問い合わせ又は指示、及び処理結果の出力に用いられる。
【０１４１】
補助記憶装置１４０５は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。補助記憶装置１４０５は、ハードディスクドライブ又はフラッシュメモリであってもよい。情報処理装置は、補助記憶装置１４０５にプログラム及びデータを格納しておき、それらをメモリ１４０２にロードして使用することができる。
【０１４２】
媒体駆動装置１４０６は、可搬型記録媒体１４１１を駆動し、その記録内容にアクセスする。可搬型記録媒体１４１１は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。可搬型記録媒体１４１１は、Compact Disk Read Only Memory（ＣＤ−ＲＯＭ）、Digital Versatile Disk（ＤＶＤ）、Universal Serial Bus（ＵＳＢ）メモリ等であってもよい。オペレータ又はユーザは、この可搬型記録媒体１４１１にプログラム及びデータを格納しておき、それらをメモリ１４０２にロードして使用することができる。
【０１４３】
このように、処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体は、メモリ１４０２、補助記憶装置１４０５、又は可搬型記録媒体１４１１のような、物理的な（非一時的な）記録媒体である。
【０１４４】
ネットワーク接続装置１４０７は、Local Area Network、Wide Area Network等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェースである。情報処理装置は、プログラム及びデータを外部の装置からネットワーク接続装置１４０７を介して受け取り、それらをメモリ１４０２にロードして使用することができる。また、ネットワーク接続装置１４０７を介して、情報処理装置とオペレータ端末とを接続することもできる。
【０１４５】
ＩＯＣ１４０８は、図５のＩＯＣ５２３、ＩＯＣ５２４、ＩＯＣ５３３、又はＩＯＣ５３４に対応し、ＥＸＰ１４０９は、ＥＸＰ５２２又はＥＸＰ５３２に対応する。
【０１４６】
なお、情報処理装置が図１４のすべての構成要素を含む必要はなく、用途や条件に応じて一部の構成要素を省略することも可能である。例えば、ネットワーク接続装置１４０７を介してオペレータ又はユーザからの指示や情報を入力する場合は、入力装置１４０３を省略してもよい。ネットワーク接続装置１４０７を介してオペレータ又はユーザへの問い合わせ又は指示、及び処理結果を出力する場合は、出力装置１４０４を省略してもよい。また、可搬型記録媒体１４１１又は通信ネットワークを利用しない場合は、媒体駆動装置１４０６又はネットワーク接続装置１４０７を省略してもよい。
【０１４７】
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
【０１４８】
図３乃至図１４を参照しながら説明した実施形態に関し、さらに以下の付記を開示する。
（付記１）
ストレージ装置の制御のための統計処理プログラムと、前記統計処理プログラムとともに更新される第１の定義情報と、第２の定義情報とを記憶する記憶部と、
前記統計処理プログラムの更新に伴って定義情報を更新する場合は、前記第１の定義情報を更新し、前記統計処理プログラムの更新に伴わずに定義情報を更新する場合は、前記第２の定義情報を更新する更新部と、
更新された前記第１の定義情報又は更新された前記第２の定義情報を使用して、前記ストレージ装置の制御のための統計処理を行う統計処理部と、
を備えることを特徴とするストレージ制御装置。
（付記２）
前記記憶部は、前記第１の定義情報の版数を示す第１の版数情報と、前記第２の定義情報の版数を示す第２の版数情報とを記憶し、前記更新部は、前記第１の定義情報とともに前記第１の版数情報を更新し、前記第２の定義情報とともに前記第２の版数情報を更新し、前記統計処理部は、更新された前記第１の版数情報が示す版数が前記第２の版数情報が示す版数より新しい場合、前記更新された第１の定義情報を使用し、更新された前記第２の版数情報が示す版数が前記第１の版数情報が示す版数より新しい場合、前記更新された第２の定義情報を使用することを特徴とする付記１記載のストレージ制御装置。
（付記３）
前記統計処理部は、更新された前記第１の版数情報が示す版数が前記第２の版数情報が示す版数と互換性がない場合、前記更新された第１の定義情報を使用し、更新された前記第２の版数情報が示す版数が前記第１の版数情報が示す版数と互換性がない場合、前記第１の定義情報を使用することを特徴とする付記２記載のストレージ制御装置。
（付記４）
前記第１の定義情報及び前記第２の定義情報は、エラー発生時に統計値に対して加算される加算値と、前記統計値に対する閾値とを含み、前記更新部は、前記更新された第１の定義情報又は前記更新された第２の定義情報に含まれる前記閾値と、更新前の前記第１の定義情報又は更新前の前記第２の定義情報に含まれる前記閾値との比率に基づいて、更新前の前記統計値を変更し、前記統計処理部は、変更された前記統計値を用いて前記統計処理を行うことを特徴とする付記１乃至３のいずれか１項に記載のストレージ制御装置。
（付記５）
ストレージ装置の制御のための統計処理プログラムと、前記統計処理プログラムとともに更新される第１の定義情報と、第２の定義情報とを記憶する記憶部を参照し、前記統計処理プログラムの更新に伴って定義情報を更新する場合は、前記第１の定義情報を更新し、前記統計処理プログラムの更新に伴わずに定義情報を更新する場合は、前記第２の定義情報を更新し、
更新された前記第１の定義情報又は更新された前記第２の定義情報を使用して、前記ストレージ装置の制御のための統計処理を行う、
処理をコンピュータに実行させるプログラム。
（付記６）
前記記憶部は、前記第１の定義情報の版数を示す第１の版数情報と、前記第２の定義情報の版数を示す第２の版数情報とを記憶し、前記定義情報を更新する処理は、前記第１の定義情報とともに前記第１の版数情報を更新し、前記第２の定義情報とともに前記第２の版数情報を更新し、前記統計処理は、更新された前記第１の版数情報が示す版数が前記第２の版数情報が示す版数より新しい場合、前記更新された第１の定義情報を使用し、更新された前記第２の版数情報が示す版数が前記第１の版数情報が示す版数より新しい場合、前記更新された第２の定義情報を使用することを特徴とする付記５記載のプログラム。
（付記７）
前記統計処理は、更新された前記第１の版数情報が示す版数が前記第２の版数情報が示す版数と互換性がない場合、前記更新された第１の定義情報を使用し、更新された前記第２の版数情報が示す版数が前記第１の版数情報が示す版数と互換性がない場合、前記第１の定義情報を使用することを特徴とする付記６記載のプログラム。
（付記８）
前記第１の定義情報及び前記第２の定義情報は、エラー発生時に統計値に対して加算される加算値と、前記統計値に対する閾値とを含み、前記定義情報を更新する処理は、前記更新された第１の定義情報又は前記更新された第２の定義情報に含まれる前記閾値と、更新前の前記第１の定義情報又は更新前の前記第２の定義情報に含まれる前記閾値との比率に基づいて、更新前の前記統計値を変更し、前記統計処理は、変更された前記統計値を用いることを特徴とする付記５乃至７のいずれか１項に記載のプログラム。
（付記９）
コンピュータによって実行される制御方法であって、
ストレージ装置の制御のための統計処理プログラムと、前記統計処理プログラムとともに更新される第１の定義情報と、第２の定義情報とを記憶する記憶部を参照し、前記統計処理プログラムの更新に伴って定義情報を更新する場合は、前記第１の定義情報を更新し、前記統計処理プログラムの更新に伴わずに定義情報を更新する場合は、前記第２の定義情報を更新し、
更新された前記第１の定義情報又は更新された前記第２の定義情報を使用して、前記ストレージ装置の制御のための統計処理を行う、
ことを特徴とする制御方法。
（付記１０）
前記記憶部は、前記第１の定義情報の版数を示す第１の版数情報と、前記第２の定義情報の版数を示す第２の版数情報とを記憶し、前記定義情報を更新する処理は、前記第１の定義情報とともに前記第１の版数情報を更新し、前記第２の定義情報とともに前記第２の版数情報を更新し、前記統計処理は、更新された前記第１の版数情報が示す版数が前記第２の版数情報が示す版数より新しい場合、前記更新された第１の定義情報を使用し、更新された前記第２の版数情報が示す版数が前記第１の版数情報が示す版数より新しい場合、前記更新された第２の定義情報を使用することを特徴とする付記９記載の制御方法。
（付記１１）
前記統計処理は、更新された前記第１の版数情報が示す版数が前記第２の版数情報が示す版数と互換性がない場合、前記更新された第１の定義情報を使用し、更新された前記第２の版数情報が示す版数が前記第１の版数情報が示す版数と互換性がない場合、前記第１の定義情報を使用することを特徴とする付記１０記載の制御方法。
（付記１２）
前記第１の定義情報及び前記第２の定義情報は、エラー発生時に統計値に対して加算される加算値と、前記統計値に対する閾値とを含み、前記定義情報を更新する処理は、前記更新された第１の定義情報又は前記更新された第２の定義情報に含まれる前記閾値と、更新前の前記第１の定義情報又は更新前の前記第２の定義情報に含まれる前記閾値との比率に基づいて、更新前の前記統計値を変更し、前記統計処理は、変更された前記統計値を用いることを特徴とする付記９乃至１１のいずれか１項に記載の制御方法。
【符号の説明】
【０１４９】
１０１  ディスクアレイ装置
１１１、１１２、５１１、５１２  ＣＭ
１１３  ＤＥ
１２１、１２２  ＩＯＭ
１３１〜１３３、５４３、５５３、５６３、５７３  ディスク
３０１  ストレージ制御装置
３１１  記憶部
３１２  更新部
３１３  統計処理部
３２１  統計処理プログラム
３２２  第１の定義情報
３２３  第２の定義情報
５０１  ストレージ装置
５１３〜５１６  ＤＥ群
５２１、５３１  制御部
５２２、５３２、５４１、５４２、５５１、５５２、５６１、５６２、５７１、５７２、１４０９  ＥＸＰ
５２３、５２４、５３３、５３４、１４０８  ＩＯＣ
８０１  ディスクドライバ
８１１、８１２、８１２−１、８１２−２  加算値テーブル
８１３  稼働版数情報
８１４  統計情報テーブル
１４０１  ＣＰＵ
１４０２  メモリ
１４０３  入力装置
１４０４  出力装置
１４０５  補助記憶装置
１４０６  媒体駆動装置
１４０７  ネットワーク接続装置
１４１０  バス
１４１１  可搬型記録媒体
【図１】
2015184925.tif 000003
【図２】
2015184925.tif 000004
【図３】
2015184925.tif 000005
【図４】
2015184925.tif 000006
【図５】
2015184925.tif 000007
【図６】
2015184925.tif 000008
【図７】
2015184925.tif 000009
【図８】
2015184925.tif 000010
【図９】
2015184925.tif 000011
【図１０】
2015184925.tif 000012
【図１１】
2015184925.tif 000013
【図１２】
2015184925.tif 000014
【図１３】
2015184925.tif 000015
【図１４】
2015184925.tif 000016