(57)【要約】【課題】性能低下状態となっている記憶装置を検出できるようにする。【解決手段】複数の記憶装置に対して行なわれたデータアクセスに関する情報を採取する情報採取部１５１と、複数の記憶装置のうち第１の記憶装置に対して行なわれた第１のデータアクセス要求に対する応答実績時間と、第１の記憶装置に対して第１のデータアクセス要求より前に行なわれた、複数のデータアクセス要求に対する複数の応答実績時間に基づいて算出された応答時間平均値および応答時間標準偏差とに基づき、第１の記憶装置の性能低下を判断する判断部１５４とを備える。【選択図】図２
2018190055.tif 000002
【特許請求の範囲】
【請求項１】
複数の記憶装置を制御するストレージ制御装置であって、
前記複数の記憶装置に対して行なわれたデータアクセスに関する情報を採取する情報採取部と、
前記複数の記憶装置のうち第１の記憶装置に対して行なわれた第１のデータアクセス要求に対する応答実績時間と、前記第１の記憶装置に対して前記第１のデータアクセス要求より前に行なわれた、複数のデータアクセス要求に対する複数の応答実績時間に基づいて算出された応答時間平均値および応答時間標準偏差とに基づき、前記第１の記憶装置の性能低下を判断する判断部と
を備えることを特徴とする、ストレージ制御装置。
【請求項２】
前記情報採取部によって採取された前記情報を、データアクセスに関するデータ量に基づいて複数のデータ範囲に区画するデータ区分け部を備え、
前記判断部が、前記第１のデータアクセス要求に対する応答実績時間と、前記第１のデータアクセス要求に対応するデータ範囲で算出された前記応答時間平均値および応答時間標準偏差とに基づき、前記第１の記憶装置の性能低下を判断する
ことを特徴とする、請求項１記載のストレージ制御装置。
【請求項３】
前記判断部が、前記第１のデータアクセス要求に対する応答実績時間が、前記応答時間平均値に前記応答時間標準偏差に３を乗算した値を加えた算出値よりも大きい場合に、前記第１の記憶装置に性能低下のおそれがあると判断する
ことを特徴とする、請求項２記載のストレージ制御装置。
【請求項４】
前記判断部が、前記性能低下のおそれがあると判断した場合に、前記第１のデータアクセス要求に対する応答実績時間を、前記第１の記憶装置と同一のＲＡＩＤ（Redundant Arrays of Inexpensive Disks）を構成する他の記憶装置における、前記第１のデータアクセス要求に対応するデータ範囲で算出された、応答時間平均値および応答時間標準偏差に基づき、前記第１の記憶装置の性能低下を判断する
ことを特徴とする、請求項３記載のストレージ制御装置。
【請求項５】
前記判断部が、前記第１のデータアクセス要求に対する応答実績時間が、前記第１の記憶装置と同一のＲＡＩＤを構成する他の記憶装置における、前記第１のデータアクセス要求に対応するデータ範囲で算出された、前記応答時間平均値に前記応答時間標準偏差に３を乗算した値を加えた算出値よりも大きい場合に、前記第１の記憶装置に性能低下のおそれがあると判断する
ことを特徴とする、請求項４記載のストレージ制御装置。
【請求項６】
複数の記憶装置を制御するストレージ制御装置の処理装置に、
前記複数の記憶装置に対して行なわれたデータアクセスに関する情報を採取し、
前記複数の記憶装置のうち第１の記憶装置に対して行なわれた第１のデータアクセス要求に対する応答実績時間と、前記第１の記憶装置に対して前記第１のデータアクセス要求より前に行なわれた、複数のデータアクセス要求に対する複数の応答実績時間に基づいて算出された応答時間平均値および応答時間標準偏差とに基づき、前記第１の記憶装置の性能低下を判断する
処理を実行させる、ストレージ制御プログラム。
【請求項７】
複数の記憶装置を制御するストレージ制御装置において、
前記複数の記憶装置に対して行なわれたデータアクセスに関する情報を採取する処理と、
前記複数の記憶装置のうち第１の記憶装置に対して行なわれた第１のデータアクセス要求に対する応答実績時間と、前記第１の記憶装置に対して前記第１のデータアクセス要求より前に行なわれた、複数のデータアクセス要求に対する複数の応答実績時間に基づいて算出された応答時間平均値および応答時間標準偏差とに基づき、前記第１の記憶装置の性能低下を判断する処理と
を備える、ストレージ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ制御装置，ストレージ制御プログラムおよびストレージ制御方法に関する。
【背景技術】
【０００２】
従来、ストレージシステムにおいては、ディスク装置（以下、単にディスクという）の故障を統計加点を行なうことで検出している。
【０００３】
例えば、ディスクエラーや経路エラーを検出した際に加点を行ない、加点値が一定の値（例えば、２５５点）を超えた部品から優先的に切り離す。
【０００４】
なお、加点値や加点対象はエラーによって異なる。ディスクエラーの場合にはディスクのみに加点を行ない、経路エラーの場合にはコマンドを発行した経路全ての部品に加点を実施する。
【０００５】
ストレージ装置は複数ディスクを用いて運用されることが一般的であるため、経路エラーが生じた場合には、複数ディスクへの個々のＩ／Ｏ（Input/Output；入出力）アクセス毎に加点が行なわれる。この為、相対的に共通経路となる経路部品への加点がディスクより多くなることから、経路部品の方が先に加点値の上限に達し、切り離しが行なわれる事がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−９２０７０号公報
【特許文献２】特開２００５−１８２６５８号公報
【特許文献３】特開２００６−３１８２４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、このような統計加点による故障検出および対策を行なう従来のストレージ装置においては、スローダウンの状態となったディスクを切り離すことができない。
【０００８】
スローダウン状態のディスクとは、レスポンスの低下が生じているがレスポンス値がドライバタイムアウトの閾値（例えば５秒）に達しないためにタイムアウトとして検出されず、またハードエラーも検出されない状態のディスクのことをいう。なお、スローダウンは、品質劣化等に起因してディスク自体でのリトライ繰り返し動作によりＩ／Ｏレスポンス遅延が生じることにより発生する。
【０００９】
従って、スローダウン状態のディスクとは、性能低下した状態であり、故障とは判断されないが故障の予兆を示す被疑状態のディスクであるといえる。
【００１０】
ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）においては、ＲＡＩＤグループの一部のメンバーディスクがスローダウン状態になると、ＲＡＩＤグループとしてのＩ／Ｏ性能の低下が生じる。
【００１１】
また、従来のストレージシステムにおいては、ディスクアクセス処理のレスポンス遅延が発生した際には、解析ログとしてバックエンド遅延情報を採取している。しかし遅延情報を採取するレスポンス遅延の閾値はドライバタイムアウトと同じ（例えば５秒）である。従って、ドライバタイムアウトと同程度のレスポンス遅延が発生しないとログが採取されないため、スローダウンしたディスクが解析ログに残らず、管理者等が遅延の発生を把握できない。
【００１２】
さらに、スローダウン状態のディスクが切り離されないままストレージシステムに残り続けるので、レスポンス遅延が再発する可能性が高く、２点故障の原因となるおそれもある。
【００１３】
また、一部のホスト装置では、Ｉ／Ｏタイムアウトを非常に短い時間（例えば８秒）に設定しているものもあり、このような装置において遅延ログが複数発生した場合には、ホストＩ／Ｏに影響を与えるおそれもある。
【００１４】
なお、ＲＡＩＤグループの一部のメンバーディスクがスローダウンによるＲＡＩＤグループのＩ／Ｏ性能の低下を阻止するために、ドライバタイムアウトの閾値を引き下げることが考えられる。
【００１５】
しかしながら、ドライバタイムアウトの閾値を引き下げると、スローダウン事象として意図しない、「高負荷Ｉ／Ｏ時に発生する過負荷によるディスクのレスポンス遅延」までもが、ドライバタイムアウトとして検出されてしまい、以下のような新たな問題が発生する。
【００１６】
（１）高負荷のＩ／Ｏ動作時に統計処理が過剰に動作し、ディスクが切り離されるおそれがある。
【００１７】
（２）遅延ログが大量に採取されることで、不要ログの増加によるログ解析の手間の増加や、解析ログのログ総量の圧迫、ログ書込み先のＢＵＤ（Boot-up and Utility Device）への書込み量の増加が生じる。
【００１８】
１つの側面では、本発明は、性能低下状態となっている記憶装置を検出できるようにすることを目的とする。
【課題を解決するための手段】
【００１９】
このため、このストレージ制御装置は、複数の記憶装置を制御するストレージ制御装置であって、前記複数の記憶装置に対して行なわれたデータアクセスに関する情報を採取する情報採取部と、前記複数の記憶装置のうち第１の記憶装置に対して行なわれた第１のデータアクセス要求に対する応答実績時間と、前記第１の記憶装置に対して前記第１のデータアクセス要求より前に行なわれた、複数のデータアクセス要求に対する複数の応答実績時間に基づいて算出された応答時間平均値および応答時間標準偏差とに基づき、前記第１の記憶装置の性能低下を判断する判断部とを備える。
【発明の効果】
【００２０】
一実施形態によれば、性能低下状態となっている記憶装置を検出できる。
【図面の簡単な説明】
【００２１】
【図１】実施形態の一例としてのストレージ制御装置を含むストレージ装置のハードウェア構成を例示するブロック図である。
【図２】実施形態の一例としてのストレージ制御装置の機能構成を示す図である。
【図３】実施形態の一例としてのストレージ制御装置のデータ区分け部によるＩ／Ｏ情報の区分け方法を例示する図である。
【図４】実施形態の一例としてのストレージ制御装置において生成されるヒストグラムを例示する図である。
【図５】実施形態の一例としてのストレージ制御装置におけるレスポンス時間平均値情報を説明するための図である。
【図６】実施形態の一例としてのストレージ制御装置における平均時間算出部によるレスポンス時間の平均値の算出タイミングを説明するための図である。
【図７】実施形態の一例としてのストレージ制御装置におけるレスポンス時間平均値情報を例示する図である。
【図８】実施形態の一例としてのストレージ制御装置におけるレスポンス時間標準偏差情報を例示する図である。
【図９】実施形態の一例としてのストレージ制御装置における標準偏差算出部によるレスポンス時間の標準偏差の算出タイミングを説明するための図である。
【図１０】（Ａ），（Ｂ）は、それぞれ実施形態の一例としてのストレージ制御装置におけるレスポンス時間標準偏差情報を例示する図である。
【図１１】実施形態の一例としてのストレージ制御装置における平均時間算出部によるレスポンス時間の平均値の算出方法を説明するフローチャートである。
【図１２】実施形態の一例としてのストレージ制御装置における標準偏差算出部によるレスポンス時間の標準偏差の算出方法を説明するフローチャートである。
【図１３】実施形態の一例としてのストレージ制御装置におけるディスクの切り離し処理を説明するフローチャートである。
【発明を実施するための形態】
【００２２】
以下、図面を参照して本ストレージ制御装置，ストレージ制御プログラムおよびストレージ制御方法にかかる実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形（実施形態および各変形例を組み合わせる等）して実施することができる。また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
【００２３】
（Ａ）構成
まず、図１を参照しながら、本実施形態のストレージ制御装置１００を含むストレージ装置（ストレージシステム，情報処理装置）１のハードウェア構成について説明する。なお、図１は本実施形態のストレージ制御装置１００を含むストレージ装置１のハードウェア構成の一例を示すブロック図である。
【００２４】
本ストレージ装置１は、ドライブエンクロージャ（Drive Enclosure：ＤＥ）３０に格
納された記憶装置３１を仮想化して、仮想ストレージ環境を形成する。そして、ストレージ装置１は、仮想ボリュームを、上位装置であるホスト装置（サーバ）２に提供する。
【００２５】
本ストレージ装置１は、１以上（図１に示す例では１つ）のホスト装置２に対して通信可能に接続されている。ホスト装置２とストレージ装置１とは、後述するＣＡ（Communication Adapter）１０１，１０２により接続されている。
【００２６】
ホスト装置２は、例えば、サーバ機能を備えた情報処理装置であり、本ストレージ装置１との間において、ＮＡＳ（Network Attached Storage）やＳＡＮ（Storage Area Network）のコマンドを送受信する。ホスト装置２は、例えば、ストレージ装置１に対してＮＡＳにおけるリード／ライト等のストレージアクセスコマンドを送信することにより、ストレージ装置１が提供するボリュームにデータの書込みまたは読出しを行なう。
【００２７】
そして、本ストレージ装置１は、ホスト装置２からボリュームに対して行なわれる入出力要求（例えば、書込み要求や読出し要求）に応じて、このボリュームに対応する記憶装置３１に対して、データの読出し（リード）や書込み（ライト）等の処理を行なう。なお、以下では、ホスト装置２からの入出力要求のことをＩ／Ｏ要求という場合がある。
【００２８】
また、ストレージ装置１には、管理端末３が通信可能に接続されている。管理端末３は、キーボードやマウス等の入力装置や、表示装置を備える情報処理装置であって、システム管理者等のユーザが各種情報の入力操作を行なう。例えば、ユーザは、管理端末３を介して、各種設定等にかかる情報を入力する。入力された情報は、ホスト装置２やストレージ装置１に送信される。
【００２９】
本ストレージ装置１は、図１に示すように、複数（本実施形態では２つ）のＣＭ（Controller Module）１００ａ，１００ｂおよび１つ以上（図１に示す例では１つ）のＤＥ３０を備える。
【００３０】
ＤＥ３０は、１以上（図１に示す例では４つ）の記憶装置（物理ディスク）３１を搭載可能であり、これらの記憶装置３１の記憶領域（実ボリューム，実ストレージ）を、本ストレージ装置１に対して提供する。
【００３１】
例えば、ＤＥ３０は、複数段のスロット（図示省略）を備え、これらのスロットに、記憶装置３１を装着することにより、実ボリューム容量を随時変更することができる。また、複数の記憶装置３１を用いてＲＡＩＤ（Redundant Arrays of Inexpensive Disks）が構成される。なお、ＲＡＩＤの構成および管理は既知の手法で実現されるので、その説明は省略する。
【００３２】
記憶装置３１は、後述するメモリ１０６と比較すると容量の大きい、ＨＤＤ，ＳＳＤ等の記憶装置（ストレージ）であって、種々のデータを格納するものである。なお、以下では、記憶装置のことをドライブもしくはディスクという場合がある。
【００３３】
各ＤＥ３０は、ＣＭ１００ａのデバイスアダプタ（Device Adapter：ＤＡ）１０３，１０３とＣＭ１００ｂのＤＡ１０３，１０３とそれぞれ接続されている。そして、各ＤＥ３０には、ＣＭ１００ａ，１００ｂのいずれからもアクセスして、データの書込みや読出しを行なうことができる。すなわち、ＤＥ３０の各記憶装置３１に対して、ＣＭ１００ａ，１００ｂのそれぞれを接続することにより、記憶装置３１へのアクセス経路が冗長化されている。
【００３４】
コントローラエンクロージャ（Controller Enclosure：ＣＥ）４０は、１以上（図１に示す例では２つ）のＣＭ１００ａ，１００ｂを備える。
【００３５】
ＣＭ１００ａ，１００ｂは、ストレージ装置１内の動作を制御する制御装置（コントローラ，ストレージ制御装置）であり、ホスト装置２から送信されるＩ／Ｏ要求に従って、ＤＥ３０の記憶装置３１へのデータアクセス制御等、各種制御を行なう。又、ＣＭ１００ａ，１００ｂは互いに同様の構成を有している。以下、ＣＭを示す符号としては、複数のＣＭのうち１つを特定する場合には符号１００ａ，１００ｂを用い、任意のＣＭを指すときには符号１００を用いる。また、ＣＭ１００ａをＣＭ＃０と、ＣＭ１００ｂをＣＭ＃１と、それぞれ表す場合がある。
【００３６】
ＣＭ１００ａ，１００ｂは二重化されており、通常は、ＣＭ１００ａ（ＣＭ＃０）がプライマリとして各種制御を行なう。しかし、プライマリＣＭ１００ａの故障時には、セカンダリのＣＭ１００ｂ（ＣＭ＃１）がプライマリとしてＣＭ１００ａの動作を引き継ぐ。
【００３７】
ＣＭ１００ａ，１００ｂは、ＣＡ１０１，１０２を介してそれぞれホスト装置２に接続される。そして、ＣＭ１００ａ，１００ｂは、ホスト装置２から送信されるリード／ライト等のＩ／Ｏ要求を受信し、ＤＡ１０３等を介して記憶装置３１の制御を行なう。また、ＣＭ１００ａ，１００ｂは、ＰＣＩｅ（Peripheral Component Interconnect Express）等のインタフェースを介して相互に通信可能に接続される。
【００３８】
ＣＭ１００は、図１に示すように、ＣＡ１０１，１０２と複数（図１に示す例では２つ）のＤＡ１０３，１０３とを備えるとともに、ＣＰＵ１０５，メモリ１０６，フラッシュメモリ１０７およびＩＯＣ（Input Output Controller）１０８を備える。ＣＡ１０１，１０２，ＤＡ１０３，ＣＰＵ１０５，メモリ１０６，フラッシュメモリ１０７，ＩＯＣ１０８は、例えばＰＣＩｅインタフェース１０４を介して相互に通信可能に接続される。
【００３９】
また、ＣＭ１００のＣＰＵ１０５には、チップセット１０９を介して監視制御用のＦＰＧＡ（Flexible Programmable Gate Array）１１０が接続されている。
【００４０】
ＣＡ１０１，１０２は、ホスト装置２や管理端末３等から送信されたデータを受信したり、ＣＭ１００から出力するデータをホスト装置２や管理端末３等に送信したりするアダプタである。すなわち、ＣＡ１０１，１０２は、ホスト装置２等の外部装置との間でのデータの入出力を制御する。
【００４１】
ＣＡ１０１は、ＮＡＳを介してホスト装置２や管理端末３と通信可能に接続するネットワークアダプタであり、例えば、ＬＡＮ（Local Area Network）インタフェース等である。各ＣＭ１００は、ＣＡ１０１により図示しない通信回線を介してホスト装置２等とＮＡＳにより接続され、Ｉ／Ｏ要求の受信やデータの送受信等を行なう。図１に示す例においては、ＣＭ１００ａ，１００ｂのそれぞれに２つのＣＡ１０１，１０１が備えられている。
【００４２】
ＣＡ１０２は、ＳＡＮを介してホスト装置２と通信可能に接続するネットワークアダプタであり、例えば、ｉＳＣＳＩ（Internet Small Computer System Interface）インタフェースやＦＣ（Fibre Channel）インタフェースである。各ＣＭ１００は、ＣＡ１０２により図示しない通信回線を介してホスト装置２等とＳＡＮにより接続され、Ｉ／Ｏ要求の受信やデータの送受信等を行なう。図１に示す例においては、ＣＭ１００ａ，１００ｂのそれぞれに１つのＣＡ１０２が備えられている。
【００４３】
ＤＡ１０３は、ＤＥ３０や記憶装置３１等と通信可能に接続するためのインタフェースである。ＤＡ１０３は、ＤＥ３０の記憶装置３１が接続され、各ＣＭ１００は、ホスト装置２から受信したＩ／Ｏ要求に基づき、記憶装置３１に対するアクセス制御を行なう。
【００４４】
各ＣＭ１００は、ＤＡ１０３を介して、記憶装置３１に対するデータの書込みや読出しを行なう。また、図１に示す例においては、ＣＭ１００ａ，１００ｂのそれぞれに２つのＤＡ１０３，１０３が備えられている。そして、ＣＭ１００ａ，１００ｂのそれぞれにおいて、各ＤＡ１０３にＤＥ３０が接続されている。
【００４５】
これにより、ＤＥ３０の記憶装置３１には、ＣＭ１００ａ，１００ｂのいずれからもデータの書込みや読出しを行なうことができる。
【００４６】
フラッシュメモリ１０７は、ＣＰＵ１０５が実行するプログラムや種々のデータ等を格納する記憶装置である。
【００４７】
メモリ１０６は、種々のデータやプログラムを一時的に格納する記憶装置であり、制御プログラム１６０を格納するほか、キャッシュ領域１６１やログ情報記憶領域１６２を有する（図２参照）。制御プログラム１６０は、例えば、本実施形態のストレージ制御機能（故障予兆検出機能）を実現すべくＣＰＵ１０５が実行するプログラムであり、メモリ１０６あるいはフラッシュメモリ１０７に保存される。キャッシュ領域１６１は、ホスト装置２から受信したデータや、ホスト装置２に対して送信するデータを一時的に格納する。ログ情報記憶領域１６２は、ＣＭ１００を含むストレージ装置１で発生する各種ログ情報を一時的に記憶保存する。なお、メモリ１０６は、前述した記憶装置（ドライブ）３１と比較するとアクセス速度は高速であるが容量の小さい、ＲＡＭ（Random Access Memory）等である。
【００４８】
ＩＯＣ１０８は、各ＣＭ１００内におけるデータ転送を制御する制御装置であり、例えば、メモリ１０６に格納されたデータをＣＰＵ１０５を介することなく転送させるＤＭＡ（Direct Memory Access）転送を実現する。
【００４９】
ＣＰＵ１０５は、種々の制御や演算を行なう処理装置（第１処理部）であり、例えばマルチコアプロセッサ（マルチコアＣＰＵ）である。ＣＰＵ１０５は、メモリ１０６，フラッシュメモリ１０７等に格納されたＯＳ（Operating System）やプログラムを実行することにより、種々の機能を実現する。特に、本実施形態において、ＣＰＵ１０５は、制御プログラム１６０を実行することで、記憶装置３１のスローダウンを検出する、故障予兆検出機能を果たす。
【００５０】
すなわち、ＣＰＵ１０５は、制御プログラム１６０を実行することで、故障予兆であるスローダウン（性能低下）状態となった記憶装置（ディスク；被疑ディスク）３１を検出する機能を実現する。
【００５１】
冗長化された二つのＣＭ１００ａとＣＭ１００ｂとの間には、二つの通信パス１３１，１３２が設けられている。
【００５２】
第１通信パス１３１は、ＣＭ１００ａのＣＰＵ１０５とＣＭ１００ｂのＣＰＵ１０５との間を接続するＣＰＵ間通信パスである。第２通信パス１３２は、ＣＭ１００ａのＦＰＧＡ１１０とＣＭ１００ｂのＦＰＧＡ１１０との間を接続するＦＰＧＡ間通信パスである。
【００５３】
チップセット１０９は、ＣＰＵ１０５とＦＰＧＡ１１０との間のデータの受渡しを管理する。ＦＰＧＡ１１０は、ストレージ装置１の監視制御を行なう処理装置である。
【００５４】
ついで、図２を参照しながら、本実施形態のストレージ制御装置（ＣＭ）１００の機能構成について説明する。
【００５５】
なお、制御プログラム１６０は、コンピュータ読取可能な記録媒体であって非一時的な記録媒体に記録された形態で提供される。当該記録媒体としては、磁気ディスク，光ディスク，光磁気ディスクなどが挙げられる。また、光ディスクとしては、ＣＤ（Compact Disk），ＤＶＤ（Digital Versatile Disk），ブルーレイディスクなどが挙げられる。ＣＤは、ＣＤ−ＲＯＭ（Read Only Memory），ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などを含む。ＤＶＤは、ＤＶＤ−ＲＡＭ，ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ，ＤＶＤ＋Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋ＲＷ，ＨＤ(High Definition) ＤＶＤなどを含む。
【００５６】
このとき、ＣＰＵ１０５は、上述のごとき記録媒体から制御プログラム１６０を読み取って内部記憶装置（例えばメモリ１０６やフラッシュメモリ１０７）または外付けの記憶装置に格納して用いてもよい。また、ＣＰＵ１０５は、制御プログラム１６０を、ネットワーク（図示略）を介して受信し内部記憶装置または外付けの記憶装置に格納して用いてもよい。
【００５７】
図２に示すように、ＣＰＵ１０５は、情報採取部１５１，データ区分け部１５７，平均時間算出部１５２，標準偏差算出部１５３，判断部１５４，退避処理部１５５，警告処理部１５６，ディスクアクセス制御部１５８およびボリューム管理部１５９としての機能を実現する。
【００５８】
ボリューム管理部１５９は、ホスト装置２等の上位装置に対して記憶領域として提示するボリュームの管理を行なう。
【００５９】
ボリューム管理部１５９は、１つ以上の記憶装置３１に含まれる複数の記憶領域を組み合わせて仮想的なボリューム（仮想ボリューム，論理ボリューム）を構成する。例えば、ボリューム管理部１５９は、仮想ボリュームにおける格納領域のアドレス（論理アドレス）と、記憶装置３１の記憶領域のアドレス（物理アドレス）とを対応づけたアドレス変換情報を用いて、ボリュームの管理を行なう。なお、ボリューム管理部１５９としての機能は既知であり、その詳細な説明は省略する。
【００６０】
ディスクアクセス制御部１５８は、ホスト装置２からボリュームに対して行なわれるＩ／Ｏ要求（例えば、書込み要求や読出し要求）に応じて、このボリュームに対応する記憶装置３１の記憶領域に、データの読出し（リード）や書込み（ライト）等のディスクアクセス処理を行なう。ディスクアクセス制御部１５８は、ボリューム管理部１５９が管理するアドレス変換情報を参照することで、Ｉ／Ｏ要求の対象のボリュームに対応する記憶装置３１の記憶領域を把握し、この記憶領域に対してディスクアクセスコマンドを発行する。なお、このディスクアクセス制御部１５８としての機能は既知であり、その詳細な説明は省略する。
【００６１】
情報採取部１５１は、ディスクアクセス制御部１５８によってディスク３１に対して行なわれたディスクアクセスに関する情報（性能情報，Ｉ／Ｏ情報）を採取する。具体的には、情報採取部１５１は、Ｉ／Ｏ要求に基づくディスクアクセスに関して、コマンド種類，データ量およびレスポンス時間を採取する。
【００６２】
コマンド種類は、データアクセスコマンドの種類を示し、例えば、リード（リードコマンド）とライト（ライトアクセス）とのいずれであるかを表す。
【００６３】
データ量は、ディスクアクセスコマンドにかかるデータサイズであり、リードされるデータのデータサイズもしくはライトされるデータのデータサイズである。
【００６４】
レスポンス時間は、ディスクアクセス制御部１５８が記憶装置３１に対してディスクアクセス要求を発行してから、当該アクセス要求に対する応答を記憶装置３１から受信するまでにかかった時間である。
【００６５】
情報採取部１５１は、例えば、レスポンス時間を所定時間単位（例えば、１秒）で集計し、その集計結果を、例えば、メモリ１０６のログ情報記憶領域１６２に所定時間（例えば、１５分間）保持する。
【００６６】
情報採取部１５１は、各ディスク３１のそれぞれについて、Ｉ／Ｏ毎にレスポンス時間（ディスクレスポンス時間）を採取する。ディスクレスポンス時間は、ディスク３１に対してＩ／Ｏ要求に基づくディスクアクセス要求を発行してから、このディスクアクセス要求に対する応答を受信するまでにかかる時間である。情報採取部１５１は、タイマ監視を行なうことでディスクレスポンス時間を採取する。なお、ディスクアクセス要求には、リード要求とライト要求とが含まれる。
【００６７】
例えば、情報採取部１５１は、ディスク３１がＤＥ３０等に新規に搭載された際に、この新規に搭載されたディスク３１について、当該ディスク３１へのディスクアクセスコマンドの初回発行から所定時間（例えば１５分間）、上述したＩ／Ｏ情報を採取する。
【００６８】
情報採取部１５１は、リードおよびライトのそれぞれのディスクアクセスコマンドについて、Ｉ／Ｏ情報の蓄積を行なう。
【００６９】
データ区分け部１５７は、情報採取部１５１によって採取されたＩ／Ｏ情報を、コマンド種類およびデータ量に応じて、複数のデータ範囲（区画）に区分けする。
【００７０】
図３は実施形態の一例としてのストレージ制御装置１００のデータ区分け部１５７によるＩ／Ｏ情報の区分け方法を例示する図である。
【００７１】
この図３に示す例においては、データ区分け部１５７は、Ｉ／Ｏ情報を、リードコマンドとライトコマンドとに分別した上で、それぞれ、ディスクアクセス要求のデータ量を (i)1Mbyte以上，(ii)65Kbyte〜1Mbyteおよび、(iii)65Kbyte未満、の３種類のデータ範囲に区分けすることで、６つのデータ範囲（区画）に区分（分類）している。
【００７２】
データ区分け部１５７は、情報採取部１５１によって採取されたＩ／Ｏ情報について、コマンド種類（リード／ライト）で区分けを行なう第１の区分けと、データ量に応じて区分けを行なう第２の区分けとを行なう。
【００７３】
後述する平均時間算出部１５２および標準偏差算出部１５３は、データ区分け部１５７によって区分けされた個々の区画毎に、Ｉ／Ｏ情報であるレスポンス時間について、平均値や標準偏差の算出を行なう（図５，図８等参照）。
【００７４】
第１の区分けにおいては、データ区分け部１５７は、ディスクアクセス要求のコマンド種類を確認することで、リードコマンドであるか、ライトコマンドであるかの区分け（分別）を行なう。
【００７５】
第２の区分けにおいては、データ区分け部１５７は、ディスクアクセス要求のデータ量に応じてＩ／Ｏ情報を区分けする。
【００７６】
データ区分け部１５７は、情報採取部１５１が採取したＩ／Ｏ情報に基づき、データサイズ毎のリードコマンド数を表す度数分布（ヒストグラム）と、データサイズ毎のライトコマンド数を表すヒストグラムとをそれぞれ作成する。
【００７７】
データ区分け部１５７は、これらの作成したヒストグラムにおいて、それぞれ、データ個数について２つ以上のピーク値を抽出し、抽出したこれらの複数のピーク値に対応する各階級値（ピーク階級値）について、隣り合うピーク階級値の中間点を区分け値（区分け位置）として決定する。
【００７８】
データ区分け部１５７は、リードコマンドとライトコマンドとのそれぞれに対して、ヒストグラムにおける区分け値を決定する。
【００７９】
図４は実施形態の一例としてのストレージ制御装置１００において生成されるヒストグラムを例示する図である。この図４においては、新規に搭載されたディスク３１における、ディスクコマンドの初回発行時から１５分間において検出された複数のリードコマンドについてのヒストグラムを示すものとする。
【００８０】
図４に例示するヒストグラムは、横軸のデータ量を以下に示す手法で決定する階級幅単位で区画し、各階級幅毎に集計したデータの個数を縦軸に表している。
【００８１】
データ区分け部１５７は、以下の式（１），（２）に従って、度数分布の項目数および階級幅を決定する。
【００８２】
【数１】
2018190055.tif 000003
なお、データ量ＭＡＸ値は、採取されたディスクアクセスコマンドのデータ量のうち最大値であり、データ量ＭＩＮ値は、採取されたディスクアクセスコマンドのデータ量のうち最小値である。また、度数分布の階級幅には、上記式（２）の計算結果をKByte単位で四捨五入した値を用いる。
【００８３】
データ区分け部１５７は、採取された複数のデータアクセスコマンドのデータ量を度数分布の階級幅に基づいてヒストグラムにまとめ、データ個数についての２つ以上のピーク値を抽出する。
【００８４】
データ区分け部１５７は、ヒストグラムにおいて突出するデータ個数の値をピーク値候補とする。そして、データ区分け部１５７は、ピーク値候補であって、このピーク値候補を中心として、その前後の所定数（本例では５つ）以上連続する階級値で、データ個数がピーク値候補から順に減少しているものをピーク値として決定する。
【００８５】
図４に例示するヒストグラムにおいては、データサイズが10Kbyte，32Kbyte，52Kbyteの各階級値に対応する３つのデータ個数（符号Ｐ１，Ｐ２，Ｐ３参照）がピーク値候補である。
【００８６】
これらのピーク値候補のうち、例えば、データサイズが10Kbyteのピーク値候補（符号Ｐ１参照）は、それ以前に連続する５つのデータサイズ（8Kbyte，6Kbyte，4Kbyte，2Kbyte，0Kbyte）の各データ個数が、10Kbyteを最大値として、10Kbyteから離れるにつれ順に減少している（符号Ｐ４参照）。同様に、このデータサイズが10Kbyteのピーク値候補（符号Ｐ１参照）は、後続する５つのデータサイズ（12Kbyte，14Kbyte，16Kbyte，18Kbyte，20Kbyte）の各データ個数が、10Kbyteを最大値として、10Kbyteから離れるにつれ順に減少している（符号Ｐ５参照）。従って、このデータサイズが10Kbyteのピーク値候補はピーク値として判断され、データサイズ10Kbyteがピーク階級値として決定される。
【００８７】
データサイズが52Kbyteのピーク値候補についても、同様にピーク値と判断され（符号Ｐ６，Ｐ７参照）、データサイズ52Kbyteがピーク階級値として決定される。
【００８８】
一方、データサイズが32Kbyteのピーク値候補（符号Ｐ２参照）は、それ以前に連続する５つのデータサイズ（30Kbyte，28Kbyte，26Kbyte，24Kbyte，22Kbyte）の各データ個数は、32Kbyteを最大値として、32Kbyteから離れるにつれ順に減少している（符号Ｐ８参照）。しかしながら、32Kbyteから後続する５つのデータサイズ（34Kbyte，36Kbyte，38Kbyte，40Kbyte，42Kbyte）の各データ個数は、32Kbyteを最大値として30Kbyteから離れるにつれ順に減少するものではない（符号Ｐ９，Ｐ１０参照）。従って、このデータサイズが32Kbyteのピーク値候補はピーク値に相当するものではない。
【００８９】
従って、図４に例示するヒストグラムにおいては、データ区分け部１５７は、階級値（ピーク値候補）10Kbyteと階級値（ピーク値候補）52Kbyteとをピーク階級値として認定（抽出）する。
【００９０】
そして、データ区分け部１５７は、隣り合う２つのピーク階級値の中間点を区分け値とする。図４に例示するヒストグラムにおいては、データサイズがピーク階級値10Kbyteとピーク階級値52Kbyteとの中間点に相当する32Kbyteが区分け値として決定される。
【００９１】
データ区分け部１５７は、ライトコマンドのヒストグラムとリードコマンドのヒストグラムのそれぞれについて、区分け値の決定を行なう。
【００９２】
平均時間算出部１５２は、情報採取部１５１によって採取されたＩ／Ｏ情報（レスポンス時間）に基づき、記憶装置３１についてレスポンス時間の平均値を算出する。
【００９３】
平均時間算出部１５２は、情報採取部１５１によって採取されたＩ／Ｏ情報について、データ区分け部１５７によって区分けされたデータ範囲毎に、レスポンス時間の平均値を算出し、レスポンス時間平均値情報１６３を作成する。
【００９４】
平均時間算出部１５２は、例えば、ＤＥ３０に新規登録された記憶装置３１についてレスポンス時間の平均値を算出する。
【００９５】
図５は実施形態の一例としてのストレージ制御装置におけるレスポンス時間平均値情報１６３を説明するための図である。
【００９６】
図５に例示するレスポンス時間平均値情報１６３は、図３に例示するＩ／Ｏ情報の区分けに基づいて区分されている。すなわち、リードコマンドとライトコマンドとのそれぞれについて、データ量に応じて、(i)1Mbyte以上，(ii)65Kbyte〜1Mbyteおよび、(iii)65Kbyte未満、の３つのデータ範囲に区分けすることで、６つのデータ範囲に区分けされている。平均時間算出部１５２は、これらのデータ範囲毎にレスポンス時間の平均値を算出する。
【００９７】
図５に例示するレスポンス時間平均値情報１６３においては、データ量が1Mbyte以上のライトコマンドのレスポンス時間の平均値を“Awl”と表している。同様に、データ量が65 Kbyte〜1Mbytのライトコマンドのレスポンス時間の平均値を“Awm”と、データ量が65Kbyte未満のライトコマンドのレスポンス時間の平均値を“Aws”と、それぞれ表している。
【００９８】
また、データ量が1Mbyte以上のリードコマンドのレスポンス時間の平均値を“Arl”と、データ量が65 Kbyte〜1Mbytのリードコマンドのレスポンス時間の平均値を“Arm”と、データ量が65Kbyte未満のリードコマンドのレスポンス時間の平均値を“Ars”と、それぞれ表している。
【００９９】
また、平均時間算出部１５２は、所定時間が経過する毎に、レスポンス時間の平均値の算出を行ない、レスポンス時間平均値情報１６３の更新を行なう。
【０１００】
図６は実施形態の一例としてのストレージ制御装置における平均時間算出部１５２によるレスポンス時間の平均値の算出タイミングを説明するための図である。この図６においては、平均時間算出部１５２が、所定時間として１５分間が経過する毎にレスポンス時間の平均値の算出を行なう例を示す。
【０１０１】
情報採取部１５１がＩ／Ｏ情報の収集を１５分間行なうと、平均時間算出部１５２は、この１５分間に収集したＩ／Ｏ情報を用いてレスポンス時間の平均値を算出する。また、情報採取部１５１は、次の１５分間分のＩ／Ｏ情報の採取を行なう。平均時間算出部１５２は算出した平均値を用いてレスポンス時間平均値情報１６３を更新する。平均時間算出部１５２がレスポンス時間の平均値を定期的に更新することで、過負荷によるレスポンス遅延にも対応することができる。
【０１０２】
図７は実施形態の一例としてのストレージ制御装置におけるレスポンス時間平均値情報１６３を例示する図である。
【０１０３】
この図７に例示するレスポンス時間平均値情報１６３は、図５に示すレスポンス時間平均値情報１６３において、Awl，Awm，Awsの例として16ms，11ms，6msがそれぞれ設定されている。また、Arl，Arm，Arsの例として14ms，9ms，5msがそれぞれ設定されている。
【０１０４】
以下、レスポンス時間平均値情報１６３に登録されているレスポンス時間の平均値Awl，Awm，Aws，Arl，Arm，Arsのうち任意の平均値を、レスポンス平均値Ａという場合がある。
【０１０５】
標準偏差算出部１５３は、情報採取部１５１によって採取されたＩ／Ｏ情報（レスポンス時間）に基づき、記憶装置３１についてレスポンス時間の標準偏差を算出する。なお、標準偏差を表す値を標準偏差値といってもよい。
【０１０６】
標準偏差算出部１５３は、ＤＥ３０に新規登録された記憶装置３１についてレスポンス時間の標準偏差を算出する。
【０１０７】
標準偏差算出部１５３は、情報採取部１５１によって採取されたＩ／Ｏ情報について、データ区分け部１５７によって区分けされたデータ範囲毎に、レスポンス時間の標準偏差を算出し、レスポンス時間標準偏差情報１６４を作成する。標準偏差算出部１５３は、ＤＥ３０の記憶装置３１毎にレスポンス時間標準偏差情報１６４を作成する。
【０１０８】
標準偏差算出部１５３は、例えば、ＤＥ３０に記憶装置３１が新規登録される度に、記憶装置３１についてレスポンス時間の標準偏差を算出する。
【０１０９】
図８は実施形態の一例としてのストレージ制御装置におけるレスポンス時間標準偏差情報１６４を例示する図である。
【０１１０】
図８に例示するレスポンス時間標準偏差情報１６４は、図３に例示するＩ／Ｏ情報の区分けに基づいて区分されている。すなわち、リードコマンドとライトコマンドとのそれぞれについて、データ量に応じて、(i)1Mbyte以上，(ii)65Kbyte〜1Mbyteおよび、(iii)65Kbyte未満、の３つのデータ範囲に区分けすることで、６つのデータ範囲に区分けされている。標準偏差算出部１５３は、これらのデータ範囲毎にレスポンス時間の標準偏差を算出する。
【０１１１】
図８に例示するレスポンス時間標準偏差情報１６４においては、データ量が1Mbyte以上のライトコマンドのレスポンス時間の標準偏差を“Swl”と表している。同様に、データ量が65Kbyte〜1Mbytのライトコマンドのレスポンス時間の標準偏差を“Swm”と、データ量が65Kbyte未満のライトコマンドのレスポンス時間の標準偏差を“Sws”と、それぞれ表している。
【０１１２】
また、データ量が1Mbyte以上のリードコマンドのレスポンス時間の標準偏差を“Srl”と、データ量が65Kbyte〜1Mbytのリードコマンドのレスポンス時間の標準偏差を“Srm”と、データ量が65Kbyte未満のリードコマンドのレスポンス時間の標準偏差を“Srs”と、それぞれ表している。
【０１１３】
また、標準偏差算出部１５３は、所定期間（例えば１ヶ月）毎に、レスポンス時間の標準偏差の算出を行ない、レスポンス時間標準偏差情報１６４の更新を行なう。
【０１１４】
標準偏差算出部１５３は、平均時間算出部１５２とは異なり、１５分毎の値更新は実施しない。スローダウンにより応答が遅延しているＩ／Ｏが標準偏差の計算の対象に含まれることを避けるためである。
【０１１５】
しかし、標準偏差の値を更新しない場合には、ディスク３１の経年劣化による応答遅延を標準偏差の計算に反映させることができず、時間が経つにつれスローダウンを誤検出する確率が高くなると考えられる。
【０１１６】
このため、本制御装置においては、標準偏差算出部１５３は、所定期間（例えば１ヶ月）毎に、レスポンス時間の平均値の変化から、ディスク３１の劣化傾向を判断し、レスポンス時間標準偏差情報１６４の値を変更する。
【０１１７】
図９は実施形態の一例としてのストレージ制御装置における標準偏差算出部１５３によるレスポンス時間の標準偏差の算出タイミングを説明するための図である。
【０１１８】
この図９に示すように、標準偏差算出部１５３は、過去に算出されたレスポンス時間の平均値と、平均時間算出部１５２によって算出された最新（現行）のレスポンス時間の平均値と、算出した標準偏差とに基づき、以下の条件式（３）が成り立つ場合に、最新の標準偏差の値を用いてレスポンス時間標準偏差情報１６４を書き換える。
現行の平均値 ＞ 過去の平均値Ａ ＋ 標準偏差Ｓ ×３    ・・・（３）
ここで、過去の平均値Ａに標準偏差Ｓの３倍の値を加算するのは、正規分布においては、統計的に、平均値を中心にした標準偏差の３倍の範囲にデータの９９．７％が含まれることに基づく。すなわち、上記式（３）が成立する場合には、過去に平均値を算出した時点に比べて、現在のレスポンス時間が大きく変動していることを表すからである。
【０１１９】
図１０（Ａ），（Ｂ）は、それぞれ実施形態の一例としてのストレージ制御装置におけるレスポンス時間標準偏差情報１６４を例示する図であり、（Ａ）と（Ｂ）は互いに異なるディスク３１についてのレスポンス時間標準偏差情報１６４を示す。
【０１２０】
図１０（Ａ）に例示するレスポンス時間標準偏差情報１６４は、図８に示すレスポンス時間標準偏差情報１６４において、Swl，Swm，Swsの例として1.0，1.54，1.59がそれぞれ設定されている。また、Srl，Srm，Srsの例として1.86，1.42，1.60がそれぞれ設定されている。
【０１２１】
また、図１０（Ｂ）に例示するレスポンス時間標準偏差情報１６４は、図８に示すレスポンス時間標準偏差情報１６４において、Swl，Swm，Swsの例として1.14，1.64，1.50がそれぞれ設定されている。また、Srl，Srm，Srsの例として1.79，1.70，1.65がそれぞれ設定されている。
【０１２２】
判断部１５４は、新規にホスト装置２から発行されたＩ／Ｏ要求に基づいて生じた、ディスク（第１の記憶装置）３１へのディスクアクセス（第１のデータアクセス要求）に対するレスポンス時間（応答実績時間）Ｒに基づき、ディスク３１がスローダウンの状態であるか否かを判断する。判断部１５４は、以下に示す判断１〜３を行なうことで、判定対象のディスク（第１の記憶装置）３１がスローダウンの状態であるかを判断する。なお、以下、新規にホスト装置２から発行されたＩ／Ｏ要求に基づいて生じた、ディスク３１へのディスクアクセスに対するレスポンス時間Ｒを単にレスポンス時間Ｒという場合がある。このレスポンス時間Ｒは、ディスク３１に対するデータアクセスについてのレスポンス状況を示す。
【０１２３】
［判断１］
判断部１５４は、レスポンス時間Ｒを、同一ディスク３１についてのレスポンス時間平均値情報１６３における、ディスクアクセスのデータ量に相当するデータ範囲のレスポンス時間の平均値Ａと比較（第１の比較）する。これにより、判断部１５４は、レスポンスの遅延状況を評価する。
【０１２４】
例えば、新規Ｉ／Ｏ要求によるディスクアクセスが１Mbyte以上のデータサイズのリードコマンドである場合には、判断部１５４は、このリードコマンドに対するレスポンス時間Ｒを、レスポンス時間平均値情報１６３におけるレスポンス時間平均値Arl（例えば図７参照）と比較する。
【０１２５】
この比較の結果、レスポンス時間Ｒがレスポンス時間平均値Ａ以下（Ｒ≦Ａ）の場合には、レスポンスの遅延は発生しておらず、判断部１５４は、ディスク３１はスローダウンではないと判断する。
【０１２６】
一方、比較の結果、レスポンス時間Ｒがレスポンス時間平均値Ａより大きい（Ｒ＞Ａ）場合には、レスポンスの遅延が発生しており、ディスク３１はスローダウンのおそれがあるとして、判断部１５４は、以下に示す判断２を行なう。
【０１２７】
すなわち、判断部１５４は、ディスク３１におけるレスポンス時間Ｒをレスポンス時間平均値Ａと比較（監視）することで、レスポンスの遅延状況を評価する。
【０１２８】
［判断２］
判断部１５４は、レスポンス時間Ｒを、同一ディスク３１の「レスポンス時間平均値Ａ＋３×標準偏差Ｓ」と比較（第２の比較）する。なお、レスポンス時間平均値Ａは、同一ディスク３１についてのレスポンス時間平均値情報１６３における、ディスクアクセスのデータ量に相当するデータ範囲のレスポンス時間の平均値Ａを示す。
【０１２９】
すなわち、この平均値Ａは、判定対象のディスク（第１の記憶装置）３１に対して第１のデータアクセス要求より前に行なわれた、複数のデータアクセス要求に対する複数の応答実績時間に基づいて算出された応答時間平均値に相当する。
【０１３０】
また、標準偏差Ｓは、同一ディスク３１についてのレスポンス時間標準偏差情報１６４における、ディスクアクセスのデータ量に相当するデータ範囲のレスポンス時間の標準偏差Ｓを示す。
【０１３１】
すなわち、標準偏差Ｓは、判定対象のディスク（第１の記憶装置）３１に対して第１のデータアクセス要求より前に行なわれた、複数のデータアクセス要求に対する複数の応答実績時間に基づいて算出された応答時間標準偏差に相当する。
【０１３２】
例えば、新規Ｉ／Ｏ要求によるディスクアクセスが１Mbyte以上のデータサイズのリードコマンドである場合には、判断部１５４は、レスポンス時間平均値情報１６３におけるレスポンス時間平均値Arl（例えば図７参照）および、レスポンス時間標準偏差情報１６４における標準偏差Srl（例えば図１０参照）をそれぞれ取得する。
【０１３３】
そして、判断部１５４は、レスポンス時間Ｒを、「レスポンス時間平均値Arl＋３×標準偏差Srl」と比較する。以下、同一ディスク３１の「レスポンス時間平均値Ａ＋３×標準偏差Ｓ」の算出値を符号αで示す。判断部１５４は、レスポンス時間Ｒを算出値αと比較する。
【０１３４】
この比較の結果、レスポンス時間Ｒが算出値α以下（Ｒ≦α）の場合には、判断部１５４は、ディスク３１はスローダウンではないと判断する。
【０１３５】
一方、比較の結果、レスポンス時間Ｒが算出値αより大きい（Ｒ＞α）場合には、ディスク３１はスローダウンのおそれがあるとして、判断部１５４は、以下に示す判断３を行なう。
【０１３６】
すなわち、判断部１５４は、ディスク３１におけるレスポンス時間Ｒをレスポンス時間平均値Ａと比較（監視）することで、レスポンスの遅延状況を評価する。
【０１３７】
［判断３］
判断部１５４は、レスポンス時間Ｒを、同一のＲＡＩＤ（ＲＡＩＤグループ）を構成する他のディスク（メンバーディスク）３１の「レスポンス時間平均値Ａ＋３×標準偏差Ｓ」と比較（第３の比較）する。なお、レスポンス時間平均値Ａは、同一のＲＡＩＤを構成する他のディスク３１についてのレスポンス時間平均値情報１６３における、ディスクアクセスのデータ量に相当するデータ範囲のレスポンス時間の平均値Ａを示す。また、標準偏差Ｓは、同一のＲＡＩＤを構成する他のディスク３１についてのレスポンス時間標準偏差情報１６４における、ディスクアクセスのデータ量に相当するデータ範囲のレスポンス時間の標準偏差Ｓを示す。
【０１３８】
例えば、新規Ｉ／Ｏ要求によるディスクアクセスが１Mbyte以上のデータサイズのリードコマンドである場合には、判断部１５４は、同一のＲＡＩＤを構成する他のディスク３１について、レスポンス時間平均値情報１６３におけるレスポンス時間平均値Arl（例えば図７参照）および、レスポンス時間標準偏差情報１６４における標準偏差Srl（例えば図１０参照）をそれぞれ取得する。
【０１３９】
そして、判断部１５４は、レスポンス時間Ｒを、同一ＲＡＩＤの他の各ディスク３１についての「レスポンス時間平均値Arl＋３×標準偏差Srl」と比較する。以下、同一ＲＡＩＤの他のディスク３１の「レスポンス時間平均値Ａ＋３×標準偏差Ｓ」の算出値を符号βで示す。判断部１５４は、レスポンス時間Ｒを、各ディスク３１の算出値βと比較する。
【０１４０】
この比較の結果、例えば、レスポンス時間Ｒが全てのディスク３１の各算出値β以下（Ｒ≦β）の場合には、判断部１５４は、ディスク３１はスローダウンではないと判断する。
【０１４１】
一方、比較の結果、レスポンス時間Ｒが、いずれかのディスク３１の算出値βより大きい（Ｒ＞β）場合には、ディスク３１はスローダウンであると判断する。以下、スローダウンであると判断されたディスク３１をスローダウンディスク３１という場合がある。
【０１４２】
判断部１５４による判断結果は、退避処理部１５５および警告処理部１５６に通知される。
【０１４３】
退避処理部１５５は、スローダウンディスク３１のデータをホットスペアディスク（図示省略）に退避させる。また、退避処理部１５５は、スローダウンディスク３１のデータをホットスペアディスクに退避させた後に、このスローダウンディスク３１の切り離し（縮退）を行なう。
【０１４４】
退避処理部１５５は、判断部１５４がディスク３１がスローダウンであると判断した場合に、そのスローダウンディスク３１に対応するスローダウンカウンタの値（カウント値）をカウントアップ（インクリメント）する。スローダウンカウンタは、スローダウンの検出回数を計数するものであり、ディスク３１毎に備えられる。
【０１４５】
退避処理部１５５は、スローダウンカウンタのカウント値が所定の閾値（切り離し閾値）を超えた場合に、このスローダウンディスク３１のデータをホットスペアディスク（図示省略）に退避させ、その後、このスローダウンディスク３１を切り離す。スローダウンディスク３１の切り離しは、ＳＭＡＲＴ（Self-Monitoring, Analysis and Reporting Technology）機能を用いて行なう。
【０１４６】
また、スローダウンカウンタのカウント値が切り離し閾値を超えず、且つ、ワーニング閾値を超えた場合には、退避処理部１５５は、警告処理部１５６に警告を出力させる。なお、ワーニング閾値は、切り離し閾値よりも小さい値である。警告処理部１５６は、後述の如く、システム管理者やオペレータに対して警告を出力するものであり、ディスク（スローダウンディスク）３１がスローダウン状態であり、切り離しが行なわれるおそれがあることを通知する。また、退避処理部１５５は、解析ログ中にワーニング閾値を超えた旨を記録する。
【０１４７】
なお、スローダウンカウンタのカウント値が、切り離し閾値およびワーニング閾値のいずれも超えない場合には、退避処理部１５５は、ホットスペアディスクへのデータの退避やスローダウンディスク３１の切り離しは行なわない。
【０１４８】
警告処理部１５６は、オペレータやシステム管理者等に警告を出力する。警告処理部１５６は、例えば、退避処理部１５５によりスローダウンカウンタのカウンタ値がワーニング閾値を超えた場合に、ディスク（スローダウンディスク）３１がスローダウン状態であり、切り離しが行なわれるおそれがあることを通知する。例えば、警告処理部１５６は、例えば、管理端末３の図示しないディスプレイに、ディスク（スローダウンディスク）３１がスローダウン状態であり、切り離しが行なわれるおそれがある旨のメッセージ等を出力させる。また、警告処理部１５６は、管理端末３のディスプレイに、ディスク（スローダウンディスク）３１にスローダウンが発生し、切り離しが行なわれた旨のメッセージ等を出力させる。また、警告処理部１５６は、なお、オペレータやシステム管理者等に対する通知方法は既知の種々の手法を用いて行なうことができ、その説明は省略する。
【０１４９】
（Ｂ）動作
上述の如く構成された実施形態の一例としてのストレージ制御装置１００において、例えば、ホスト装置２からボリュームに対してライト要求（Ｉ／Ｏ要求）が発行されると、ディスクアクセス制御部１５８が、このライト要求に従って対応するディスク３１に対するディスクアクセスコマンドを発行する。
【０１５０】
情報採取部１５１は、リードおよびライトのそれぞれのディスクアクセスコマンドについて、ディスク３１毎にＩ／Ｏ情報の蓄積を行なう。
【０１５１】
ここで、実施形態の一例としてのストレージ制御装置１００における平均時間算出部１５２によるレスポンス時間の平均値の算出方法を、図１１に示すフローチャート（ステップＡ１，Ａ２）に従って説明する。
【０１５２】
以下の処理は、例えば、タイマにより所定時間（例えば１５分）が経過したことが検出されるタイミングで開始される。
【０１５３】
ステップＡ１において、平均時間算出部１５２は、データ区分け部１５７によって区分けされたデータ範囲に含まれるレスポンス時間の平均値Ａを算出する。
【０１５４】
その後、ステップＡ２において、平均時間算出部１５２は、所定時間（１５分）を測定するタイマ１０４を起動して、処理を終了する。
【０１５５】
次に、実施形態の一例としてのストレージ制御装置１００における標準偏差算出部１５３によるレスポンス時間の標準偏差の算出方法を、図１２に示すフローチャート（ステップＢ１〜Ｂ４）に従って説明する。
【０１５６】
以下の処理は、例えば、タイマにより所定時間（例えば１か月）が経過したことが検出されるタイミングで開始される。
【０１５７】
平均時間算出部１５２がレスポンス時間の平均値を算出すると、ステップＢ１において、この最新の平均値がレスポンス時間平均値情報１６３に保存される。
【０１５８】
ステップＢ２において、標準偏差算出部１５３は、過去に算出されたレスポンス時間の平均値と、平均時間算出部１５２によって算出された最新（現行）のレスポンス時間の平均値と、算出した標準偏差とに基づき、上記の条件式（３）が成立するかを確認する。
【０１５９】
確認の結果、条件式（３）が成立しない場合には（ステップＢ２のＮＯルート参照）、ステップＢ４に移行する。
【０１６０】
また、条件式（３）が成立する場合には（ステップＢ２のＹＥＳルート参照）、ステップＢ３に移行する。ステップＢ３においては、標準偏差算出部１５３は、新たに算出した標準偏差を用いて、レスポンス時間標準偏差情報１６４を更新する。
【０１６１】
ステップＢ４において、標準偏差算出部１５３は、１ヶ月後にレスポンス時間標準偏差情報１６４の更新処理が開始されるようにタイマを設定し、処理を終了する。
【０１６２】
次に、実施形態の一例としてのストレージ制御装置１００におけるディスクの切り離し処理を、図１３に示すフローチャート（ステップＣ１〜Ｃ８）に従って説明する。
【０１６３】
ステップＣ１において、判断部１５４は、判定対象のディスク（第１の記憶装置）３１について、レスポンス時間Ｒが、同一ディスク３１についてのレスポンス時間平均値情報１６３における、ディスクアクセスのデータ量に相当するデータ範囲のレスポンス時間の平均値Ａよりも大きいかを確認する。
【０１６４】
確認の結果、レスポンス時間Ｒがレスポンス時間平均値Ａ以下である場合には（ステップＣ１のＮＯルート参照）、処理を終了する。
【０１６５】
また、確認の結果、レスポンス時間Ｒがレスポンス時間平均値Ａよりも大きい場合には（ステップＣ１のＹＥＳルート参照）、ステップＣ２に移行する。
【０１６６】
ステップＣ２において、判断部１５４は、レスポンス時間Ｒが、同一ディスク３１の「レスポンス時間平均値Ａ＋３×標準偏差Ｓ」よりも大きいかを確認する。
【０１６７】
確認の結果、レスポンス時間Ｒが同一ディスク３１の「レスポンス時間平均値Ａ＋３×標準偏差Ｓ」以下である場合に（ステップＣ２のＮＯルート参照）、処理を終了する。
【０１６８】
また、確認の結果、レスポンス時間Ｒが同一ディスク３１の「レスポンス時間平均値Ａ＋３×標準偏差Ｓ」よりも大きい場合に（ステップＣ２のＹＥＳルート参照）、ステップＣ３に移行する。
【０１６９】
ステップＣ３において、判断部１５４は、レスポンス時間Ｒが、同一のＲＡＩＤを構成する他のディスク３１の「レスポンス時間平均値Ａ＋３×標準偏差Ｓ」よりも大きいかを確認する。
【０１７０】
確認の結果、レスポンス時間Ｒが、同一のＲＡＩＤを構成する他のディスク３１の「レスポンス時間平均値Ａ＋３×標準偏差Ｓ」以下の場合には（ステップＣ３のＮＯルート参照）、処理を終了する。
【０１７１】
また、確認の結果、レスポンス時間Ｒが、同一のＲＡＩＤを構成する他のディスク３１の「レスポンス時間平均値Ａ＋３×標準偏差Ｓ」よりも大きい場合には（ステップＣ３のＹＥＳルート参照）、ステップＣ４に移行する。
【０１７２】
ステップＣ４において、退避処理部１５５は、スローダウンディスク３１に対応するスローダウンカウンタの値（カウント値）をカウントアップする。
【０１７３】
ステップＣ５において、退避処理部１５５は、スローダウンカウンタのカウント値が切り離し閾値を超えたかを確認する。カウント値が切り離し閾値を超えた場合には（ステップＣ５のＹＥＳルート参照）、ステップＣ６に移行する。
【０１７４】
ステップＣ６においては、退避処理部１５５は、スローダウンディスク３１のデータをホットスペアディスクに退避させ、その後、このスローダウンディスク３１をＳＭＡＲＴ機能により切り離す。その後、処理を終了する。
【０１７５】
また、ステップＣ５における確認の結果、カウント値が切り離し閾値を超えていない場合には（ステップＣ５のＮＯルート参照）、ステップＣ７に移行する。
【０１７６】
ステップＣ７においては、退避処理部１５５は、スローダウンカウンタのカウント値がワーニング閾値を超えたかを確認する。カウント値がワーニング閾値を超えた場合には（ステップＣ７のＹＥＳルート参照）、ステップＣ８に移行する。
【０１７７】
ステップＣ８において、退避処理部１５５は、警告処理部１５６に警告を出力させる。その後、処理を終了する。また、ステップＣ７における確認の結果、カウント値がワーニング閾値を超えていない場合にも（ステップＣ７のＮＯルート参照）、処理を終了する。
【０１７８】
（Ｃ）効果
このように、実施形態の一例としてのストレージ制御装置１００によれば、判断部１５４が、ディスク３１へのデータアクセス要求に対するレスポンス時間Ｒを、同一ディスク３１についてのレスポンス時間平均値情報１６３における、ディスクアクセスのデータ量に相当するデータ範囲のレスポンス時間の平均値Ａと比較する。
【０１７９】
比較の結果、レスポンス時間Ｒがレスポンス時間平均値Ａより大きい（Ｒ＞Ａ）場合には、レスポンスの遅延が発生しており、ディスク３１はスローダウンのおそれがあると判断することができる。
【０１８０】
また、このようにディスク３１はスローダウンのおそれがあると判断した場合に、判断部１５４は、レスポンス時間Ｒを、同一ディスク３１の「レスポンス時間平均値Ａ＋３×標準偏差Ｓ」（＝算出値α）と比較（第２の比較）する。
【０１８１】
比較の結果、レスポンス時間Ｒが算出値αより大きい（Ｒ＞α）場合には、ディスク３１はスローダウンのおそれがあると判断することができる。
【０１８２】
ディスク３１がスローダウンのおそれがあると判断した場合に、判断部１５４は、更に、レスポンス時間Ｒを、対象ディスク３１と同一のＲＡＩＤを構成する他のディスク３１の「レスポンス時間平均値Ａ＋３×標準偏差Ｓ」（＝算出値β）と比較する。
【０１８３】
比較の結果、レスポンス時間Ｒが算出値βより大きい（Ｒ＞β）場合には、判断部１５４は、ディスク３１がスローダウンの状態であると判断する。
【０１８４】
同一ＲＡＩＤ内の他のディスク３１におけるレスポンス時間の平均値Ａや標準偏差Ｓを判定に用いることで、ディスク３１の応答遅延の原因が過負荷によるものか、スローダウンによるものかを判別することができる。これにより、スローダウン発生しているディスク３１を早期に確実に切り離すことができ、ＲＡＩＤグループの性能を維持できる。
【０１８５】
また、データ区分け部１５７が、Ｉ／Ｏ情報をコマンド種類に分け、これらのコマンド種類毎にデータ範囲を設ける。これにより、データ量やコマンド種類の違いによるコマンド遅延の誤検出を避けることができる。さらに、短いデータ量のコマンドであっても、確実にスローダウンを検出することができる。
【０１８６】
標準偏差算出部１５３が、Ｉ／Ｏの遅延判定の標準偏差を定期的に更新することで、ディスク３１の経年劣化による応答遅延を考慮に入れたうえで、スローダウンを検出することが可能となる。
【０１８７】
情報採取部１５１が、Ｉ／Ｏ情報を採取し、ログ情報記憶領域１６２に記録するので、遅延や一時的なレスポンス遅延の事象がログに残り、遅延問題の解決に役立てることができる。
【０１８８】
（Ｄ）その他
そして、開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成および各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
【０１８９】
例えば、図１に例示するストレージ装置１は２つのＣＭ１００ａ，１００ｂを備えているが、これに限定されるものではなく、１つもしくは３つ以上のＣＭ１００を備えてもよい。
【０１９０】
また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
【０１９１】
（Ｅ）付記
以上の実施形態に関し、さらに以下の付記を開示する。
【０１９２】
（付記１）
複数の記憶装置を制御するストレージ制御装置であって、
前記複数の記憶装置に対して行なわれたデータアクセスに関する情報を採取する情報採取部と、
前記複数の記憶装置のうち第１の記憶装置に対して行なわれた第１のデータアクセス要求に対する応答実績時間と、前記第１の記憶装置に対して前記第１のデータアクセス要求より前に行なわれた、複数のデータアクセス要求に対する複数の応答実績時間に基づいて算出された応答時間平均値および応答時間標準偏差とに基づき、前記第１の記憶装置の性能低下を判断する判断部と
を備えることを特徴とする、ストレージ制御装置。
【０１９３】
（付記２）
前記情報採取部によって採取された前記情報を、データアクセスに関するデータ量に基づいて複数のデータ範囲に区画するデータ区分け部を備え、
前記判断部が、前記第１のデータアクセス要求に対する応答実績時間と、前記第１のデータアクセス要求に対応するデータ範囲で算出された前記応答時間平均値および応答時間標準偏差とに基づき、前記第１の記憶装置の性能低下を判断する
ことを特徴とする、付記１記載のストレージ制御装置。
【０１９４】
（付記３）
前記判断部が、前記第１のデータアクセス要求に対する応答実績時間が、前記応答時間平均値に前記応答時間標準偏差に３を乗算した値を加えた算出値よりも大きい場合に、前記第１の記憶装置に性能低下のおそれがあると判断する
ことを特徴とする、付記２記載のストレージ制御装置。
【０１９５】
（付記４）
前記判断部が、前記性能低下のおそれがあると判断した場合に、前記第１のデータアクセス要求に対する応答実績時間を、前記第１の記憶装置と同一のＲＡＩＤ（Redundant Arrays of Inexpensive Disks）を構成する他の記憶装置における、前記第１のデータアクセス要求に対応するデータ範囲で算出された、応答時間平均値および応答時間標準偏差に基づき、前記第１の記憶装置の性能低下を判断する
ことを特徴とする、付記３記載のストレージ制御装置。
【０１９６】
（付記５）
前記判断部が、前記第１のデータアクセス要求に対する応答実績時間が、前記第１の記憶装置と同一のＲＡＩＤを構成する他の記憶装置における、前記第１のデータアクセス要求に対応するデータ範囲で算出された、前記応答時間平均値に前記応答時間標準偏差に３を乗算した値を加えた算出値よりも大きい場合に、前記第１の記憶装置に性能低下のおそれがあると判断する
ことを特徴とする、付記４記載のストレージ制御装置。
【０１９７】
（付記６）
複数の記憶装置を制御するストレージ制御装置の処理装置に、
前記複数の記憶装置に対して行なわれたデータアクセスに関する情報を採取し、
前記複数の記憶装置のうち第１の記憶装置に対して行なわれた第１のデータアクセス要求に対する応答実績時間と、前記第１の記憶装置に対して前記第１のデータアクセス要求より前に行なわれた、複数のデータアクセス要求に対する複数の応答実績時間に基づいて算出された応答時間平均値および応答時間標準偏差とに基づき、前記第１の記憶装置の性能低下を判断する
処理を実行させる、ストレージ制御プログラム。
【０１９８】
（付記７）
採取された前記情報を、データアクセスに関するデータ量に基づいて複数のデータ範囲に区画し、
前記第１のデータアクセス要求に対する応答実績時間と、前記第１のデータアクセス要求に対応するデータ範囲で算出された前記応答時間平均値および応答時間標準偏差とに基づき、前記第１の記憶装置の性能低下を判断する
処理を、前記処理装置に実行させる、付記６記載のストレージ制御プログラム。
【０１９９】
（付記８）
前記第１のデータアクセス要求に対する応答実績時間が、前記応答時間平均値に前記応答時間標準偏差に３を乗算した値を加えた算出値よりも大きい場合に、前記第１の記憶装置に性能低下のおそれがあると判断する
処理を前記処理装置に実行させる、付記７記載のストレージ制御プログラム。
【０２００】
（付記９）
前記性能低下のおそれがあると判断した場合に、前記第１のデータアクセス要求に対する応答実績時間を、前記第１の記憶装置と同一のＲＡＩＤ（Redundant Arrays of Inexpensive Disks）を構成する他の記憶装置における、前記第１のデータアクセス要求に対応するデータ範囲で算出された、応答時間平均値および応答時間標準偏差に基づき、前記第１の記憶装置の性能低下を判断する
処理を前記処理装置に実行させる、付記８記載のストレージ制御プログラム。
【０２０１】
（付記１０）
前記第１のデータアクセス要求に対する応答実績時間が、前記第１の記憶装置と同一のＲＡＩＤを構成する他の記憶装置における、前記第１のデータアクセス要求に対応するデータ範囲で算出された、前記応答時間平均値に前記応答時間標準偏差に３を乗算した値を加えた算出値よりも大きい場合に、前記第１の記憶装置に性能低下のおそれがあると判断する
処理を前記処理装置に実行させる、付記９記載のストレージ制御プログラム。
【０２０２】
（付記１１）
複数の記憶装置を制御するストレージ制御装置において、
前記複数の記憶装置に対して行なわれたデータアクセスに関する情報を採取する処理と、
前記複数の記憶装置のうち第１の記憶装置に対して行なわれた第１のデータアクセス要求に対する応答実績時間と、前記第１の記憶装置に対して前記第１のデータアクセス要求より前に行なわれた、複数のデータアクセス要求に対する複数の応答実績時間に基づいて算出された応答時間平均値および応答時間標準偏差とに基づき、前記第１の記憶装置の性能低下を判断する処理と
を備える、ストレージ制御方法。
【０２０３】
（付記１２）
採取された前記情報を、データアクセスに関するデータ量に基づいて複数のデータ範囲に区画する処理と、
前記第１のデータアクセス要求に対する応答実績時間と、前記第１のデータアクセス要求に対応するデータ範囲で算出された前記応答時間平均値および応答時間標準偏差とに基づき、前記第１の記憶装置の性能低下を判断する処理と
を備える、付記１１記載のストレージ制御方法。
【０２０４】
（付記１３）
前記第１のデータアクセス要求に対する応答実績時間が、前記応答時間平均値に前記応答時間標準偏差に３を乗算した値を加えた算出値よりも大きい場合に、前記第１の記憶装置に性能低下のおそれがあると判断する処理
を備える、付記１２記載のストレージ制御方法。
【０２０５】
（付記１４）
前記性能低下のおそれがあると判断した場合に、前記第１のデータアクセス要求に対する応答実績時間を、前記第１の記憶装置と同一のＲＡＩＤを構成する他の記憶装置における、前記第１のデータアクセス要求に対応するデータ範囲で算出された、応答時間平均値および応答時間標準偏差に基づき、前記第１の記憶装置の性能低下を判断する処理
を備える、付記１３記載のストレージ制御方法。
【０２０６】
（付記１５）
前記第１のデータアクセス要求に対する応答実績時間が、前記第１の記憶装置と同一のＲＡＩＤを構成する他の記憶装置における、前記第１のデータアクセス要求に対応するデータ範囲で算出された、前記応答時間平均値に前記応答時間標準偏差に３を乗算した値を加えた算出値よりも大きい場合に、前記第１の記憶装置に性能低下のおそれがあると判断する処理
を備える、付記１４記載のストレージ制御方法。
【符号の説明】
【０２０７】
１    ストレージ装置（ストレージシステム；情報処理装置）
２    ホスト装置（サーバ）
３    管理端末
１００，１００ａ，１００ｂ    ＣＭ（ストレージ制御装置）
１０１，１０２    ＣＡ
１０３    ＤＡ
１０４    ＰＣＩｅインタフェース
１０５    ＣＰＵ（第１処理部，コンピュータ）
１０６    メモリ（メインメモリ，第１メモリ領域）
１０７    フラッシュメモリ
１０８    ＩＯＣ
１０９    チップセット
１１０    ＦＰＧＡ
１３１    第１通信パス
１３２    第２通信パス
１５１    情報採取部
１５２    平均時間算出部
１５３    標準偏差算出部
１５４    判断部
１５５    退避処理部
１５６    警告処理部
１５７    データ区分け部
１５８    ディスクアクセス制御部
１５９    ボリューム管理部
１６０    制御プログラム
１６１    キャッシュ領域
１６２    ログ情報記憶領域
１６３    レスポンス時間平均値情報
１６４    レスポンス時間標準偏差情報
３０    ＤＥ（ドライブエンクロージャ）
３１    記憶装置（ドライブ）
４０    ＣＥ（コントローラエンクロージャ）
【図１】
2018190055.tif 000004
【図２】
2018190055.tif 000005
【図３】
2018190055.tif 000006
【図４】
2018190055.tif 000007
【図５】
2018190055.tif 000008
【図６】
2018190055.tif 000009
【図７】
2018190055.tif 000010
【図８】
2018190055.tif 000011
【図９】
2018190055.tif 000012
【図１０】
2018190055.tif 000013
【図１１】
2018190055.tif 000014
【図１２】
2018190055.tif 000015
【図１３】
2018190055.tif 000016