(57)【特許請求の範囲】
【請求項１】
一又は複数のディスク装置のそれぞれから読み出されたデータに対するエラー訂正処理によって訂正された当該データに含まれていたエラービットの数であるエラー数の情報を間欠的に取得するディスク情報取得部と、
前記ディスク情報取得部によって取得された前記一又は複数のディスク装置のそれぞれの前記エラー数の情報を保存するディスク情報保存部と、
前記ディスク情報保存部に保存された前記一又は複数のディスク装置のそれぞれの前記エラー数の変化状況に基づいて、前記一又は複数のディスク装置のそれぞれの故障を予測する故障予測部と、
を備え、
前記ディスク情報取得部は、前記一又は複数のディスク装置のそれぞれから読み出されたデータに対するエラー訂正処理によって訂正された当該データの前記エラー数の変化率が所定変化率を超えた場合、所定変化率以下の場合よりも、当該データのエラー数の情報の取得間隔を短くする、ディスク監視装置。
【請求項２】
前記故障予測部によって前記複数のディスク装置のうち２つ以上のディスク装置が同時期に故障すると予測された場合には、前記２つ以上のディスク装置のそれぞれの予測故障時期を異ならせて通知する予測結果管理部をさらに備えた、
請求項１に記載のディスク監視装置。
【請求項３】
前記予測結果管理部は、前記故障予測部によって前記複数のディスク装置のうち２つ以上のディスク装置が同時期に故障すると予測された場合には、前記２つ以上のディスク装置のうち優先度の高いディスク装置から順番に予測故障時期を早めて通知する、
請求項２に記載のディスク監視装置。
【請求項４】
前記ディスク情報取得部は、前記一又は複数のディスク装置のそれぞれから読み出されたデータに対するエラー訂正処理によって訂正される当該データのエラー数が、エラー訂正可能な最大エラー数よりも低い所定エラー数に達した場合、所定エラー数に達していない場合よりも、当該データのエラー数の情報の取得間隔を短くする、
請求項１〜３の何れか一項に記載のディスク監視装置。
【請求項５】
前記故障予測部は、前記ディスク情報保存部に最後に保存されたエラー数と、そのエラー数の変化率と、に基づいて、エラー数がエラー訂正可能な最大エラー数に達するまでの残りのデータ書き込み可能容量を算出するとともに、その算出結果をデータ書き込み頻度で除することによって予測結果を算出する、
請求項１〜４の何れか一項に記載のディスク監視装置。
【請求項６】
前記一又は複数のディスク装置のそれぞれから読み出されるデータのエラー訂正処理を行うエラー訂正部をさらに備えた、
請求項１〜５の何れか一項に記載のディスク監視装置。
【請求項７】
一又は複数のディスク装置と、
請求項１〜６の何れか一項に記載のディスク監視装置と、
を備えた、ストレージシステム。
【請求項８】
一又は複数のディスク装置のそれぞれから読み出されたデータに対するエラー訂正処理によって訂正された当該データに含まれていたエラービットの数であるエラー数の情報を間欠的に取得するステップと、
間欠的に取得した前記一又は複数のディスク装置のそれぞれの前記エラー数の情報を保存するステップと、
保存された前記一又は複数のディスク装置のそれぞれの前記エラー数の変化状況に基づいて、前記一又は複数のディスク装置のそれぞれの故障を予測するステップと、
を備え、
前記エラー数の情報を間欠的に取得するステップでは、前記一又は複数のディスク装置のそれぞれから読み出されたデータに対するエラー訂正処理によって訂正された当該データの前記エラー数の変化率が所定変化率を超えた場合、所定変化率以下の場合よりも、当該データのエラー数の情報の取得間隔を短くする、
ディスク監視方法。
【請求項９】
一又は複数のディスク装置のそれぞれから読み出されたデータに対するエラー訂正処理によって訂正された当該データに含まれていたエラービットの数であるエラー数の情報を間欠的に取得する処理と、
間欠的に取得した前記一又は複数のディスク装置のそれぞれの前記エラー数の情報を保存する処理と、
保存された前記一又は複数のディスク装置のそれぞれの前記エラー数の変化状況に基づいて、前記一又は複数のディスク装置のそれぞれの故障を予測する処理と、
をコンピュータに実行させる、ディスク監視プログラムであって、
前記エラー数の情報を間欠的に取得する処理では、前記一又は複数のディスク装置のそれぞれから読み出されたデータに対するエラー訂正処理によって訂正された当該データの前記エラー数の変化率が所定変化率を超えた場合、所定変化率以下の場合よりも、当該データのエラー数の情報の取得間隔を短くする、
ディスク監視プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスク監視装置、それを備えたストレージシステム、ディスク監視方法、及び、ディスク監視プログラムに関する。
【背景技術】
【０００２】
ディスク装置に用いられる記憶装置、例えば、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）に用いられるフラッシュメモリには、データの書き換え回数の増加に伴って、メモリ素子の劣化が進み、読み出しデータに含まれるエラーの数が増加する傾向がある。
【０００３】
そのため、ＳＳＤには、高信頼化手法として、誤り訂正機能が実装されている。誤り訂正機能では、書き込みデータに誤り訂正符号を付加することにより、読み出しデータ内にエラーが発生した場合でも、読み出しデータ内のエラー数が訂正可能なエラー数の範囲内であれば、読み出しデータ内のエラーの訂正が行われる。それに対し、読み出しデータ内のエラー数が訂正可能なエラー数の範囲を超えた場合には、読み出しデータが破損した（即ち、データの読み出しに失敗した）と判断され、その結果、ＳＳＤは故障していると診断される。ＳＳＤが故障したことは、例えば、そのＳＳＤから、ストレージコントローラを経由して、ホストコンピュータ又はユーザに通知される。
【０００４】
しかしながら、このような構成では、ＳＳＤが故障してしまった後にその旨が通知されるため、例えばＳＳＤの記憶装置（フラッシュメモリ）に記憶されたデータが消失してしまう等の問題があった。
【０００５】
このような問題に対する解決策は、例えば、特許文献１に開示されている。特許文献１に開示されたシステムは、複数のディスク装置を制御する制御手段と、ディスク装置の交換のためのエラーレートの基準値及びディスク装置毎に設定される補正値に基づいてディスク装置毎に設定される閾値を保存する閾値保存手段と、を包含する。そして、制御手段は、各ディスク装置のエラーレートがディスク装置毎に設定された閾値を超えるか否かによって、各ディスク装置の予防交換のタイミングを判断している。なお、特許文献１において、エラーレートとは、単位時間当たりのデータの読み出しエラーの回数のことを指している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１５−１８４８５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
関連技術では、各ディスク装置のエラーレート（単位時間当たりのデータの読み出しエラーの回数）がディスク毎に設定された閾値を超えるか否かを検出しているに過ぎず、読み出しデータに含まれるエラー（ビットエラー）の数を検出しているわけではない。そのため、関連技術では、あるディスク装置から読み出されたデータ内のエラー数がエラー訂正可能な極めて少ないエラー数であったとしても、そのようなデータが閾値を超える回数読み出された場合には、当該ディスク装置の交換時期がきたと判断されてしまう。しかしながら、この場合、当該ディスク装置の交換時期としては早すぎる可能性がある。つまり、関連技術では、依然としてディスク装置の故障を精度良く予測することができない、という課題があった。
【０００８】
本開示の目的は、上述した課題を解決するディスク監視装置、それを備えたストレージシステム、ディスク監視方法、及び、ディスク監視プログラムを提供することにある。
【課題を解決するための手段】
【０００９】
一実施の形態によれば、ディスク監視装置は、一又は複数のディスク装置のそれぞれから読み出されたデータに対するエラー訂正処理によって訂正された当該データのエラー数の情報を間欠的に取得するディスク情報取得部と、前記ディスク情報取得部によって取得された前記一又は複数のディスク装置のそれぞれの前記エラー数の情報を保存するディスク情報保存部と、前記ディスク情報保存部に保存された前記一又は複数のディスク装置のそれぞれの前記エラー数の変化状況に基づいて、前記一又は複数のディスク装置のそれぞれの故障を予測する故障予測部と、を備える。
【００１０】
一実施の形態によれば、ディスク監視方法は、一又は複数のディスク装置のそれぞれから読み出されたデータに対するエラー訂正処理によって訂正された当該データのエラー数の情報を間欠的に取得するステップと、間欠的に取得した前記一又は複数のディスク装置のそれぞれの前記エラー数の情報を保存するステップと、保存された前記一又は複数のディスク装置のそれぞれの前記エラー数の変化状況に基づいて、前記一又は複数のディスク装置のそれぞれの故障を予測するステップと、を備える。
【００１１】
一実施の形態によれば、ディスク監視処理プログラムは、一又は複数のディスク装置のそれぞれから読み出されたデータに対するエラー訂正処理によって訂正された当該データのエラー数の情報を間欠的に取得する処理と、間欠的に取得した前記一又は複数のディスク装置のそれぞれの前記エラー数の情報を保存する処理と、保存された前記一又は複数のディスク装置のそれぞれの前記エラー数の変化状況に基づいて、前記一又は複数のディスク装置のそれぞれの故障を予測する処理と、をコンピュータに実行させる。
【発明の効果】
【００１２】
前記一実施の形態によれば、ディスク装置の故障を精度良く予測することが可能なディスク監視装置、それを備えたストレージシステム、ディスク監視方法、及び、ディスク監視プログラムを提供することができる。
【図面の簡単な説明】
【００１３】
【図１】実施の形態１に係るディスク監視装置の概要を示すブロック図である。
【図２】実施の形態１に係るディスク監視装置が搭載されたストレージシステムの構成例を示すブロック図である。
【図３】ディスク装置の概要を示すブロック図である。
【図４】実施の形態１に係るディスク監視装置の詳細を示すブロック図である。
【図５】実施の形態１に係るディスク監視装置に設けられたディスク情報保存部の概要を示すブロック図である。
【図６】図５に示すディスク情報保存部に保存されたディスク情報管理テーブルＴＢＬ１の一例を示す図である。
【図７】図５に示すディスク情報保存部に保存された寿命管理テーブルＴＢＬ２の一例を示す図である。
【図８】図５に示すディスク情報保存部に保存された閾値テーブルＴＢＬ３の一例を示す図である。
【図９】ディスク装置におけるデータの総書き込み量及びエラー数の関係を示す図である。
【図１０】ストレージシステムの動作を示すフローチャートである。
【図１１】ストレージシステムの動作の続きを示すフローチャートである。
【図１２】ストレージシステムの動作の続きを示すフローチャートである。
【図１３】ストレージシステムの動作の続きを示すフローチャートである。
【図１４】ディスク装置の優先度の一例を示す図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照しつつ、実施の形態について説明する。なお、図面は簡略的なものであるから、この図面の記載を根拠として実施の形態の技術的範囲を狭く解釈してはならない。また、同一の要素には、同一の符号を付し、重複する説明は省略する。
【００１５】
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明する。ただし、特に明示した場合を除き、それらはお互いに無関係なものではなく、一方は他方の一部または全部の変形例、応用例、詳細説明、補足説明等の関係にある。また、以下の実施の形態において、要素の数等（個数、数値、量、範囲等を含む）に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でもよい。
【００１６】
さらに、以下の実施の形態において、その構成要素（動作ステップ等も含む）は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数等（個数、数値、量、範囲等を含む）についても同様である。
【００１７】
＜実施の形態１＞
図１は、実施の形態１に係るディスク監視装置１１の概要を示すブロック図である。ディスク監視装置１１は、一又は複数のディスク装置のそれぞれから読み出されるデータに含まれるエラー（ビットエラー）の数に基づいて、一又は複数のディスク装置の寿命（故障の時期）を予測する装置である。以下、具体的に説明する。
【００１８】
図１に示すように、ディスク監視装置１１は、ディスク情報取得部１１１と、ディスク情報保存部１１２と、寿命予測部（故障予測部）１１３と、を備える。
【００１９】
ディスク情報取得部１１１は、複数のディスク装置（不図示）のそれぞれから読み出されるデータに含まれるエラーの数を間欠的（定期的）に取得する。具体的には、ディスク情報取得部１１１は、各ディスク装置の読み出しデータに対するエラー訂正処理によって訂正された当該読み出しデータのエラー数の情報を間欠的に取得する。ディスク装置は、例えばＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）であって、フラッシュメモリ等の記憶装置を備える。ここで、エラー訂正処理とは、書き込みデータに誤り訂正符号を付加することにより、読み出しデータ内にエラーが発生した場合でも、訂正可能なエラー数の範囲内で読み出しデータのエラーの訂正を行う処理のことである。
【００２０】
ディスク情報保存部１１２は、ディスク情報取得部１１１によって間欠的に取得された各ディスク装置の読み出しデータ内のエラー数の情報を保存する。
【００２１】
寿命予測部１１３は、ディスク情報保存部１１２に保存された各ディスク装置のエラー数の変化状況に基づいて、各ディスク装置の寿命（故障の時期）を予測する。例えば、寿命予測部１１３は、各ディスク装置について、読み出しデータ内のエラー数が訂正可能な最大エラー数に達するまでの残りの書き込み可能容量を算出し、その算出結果から、予測結果を出力する。より詳細には、寿命予測部１１３は、各ディスク装置について、読み出しデータ内のエラー数及びその変化率に基づいて残りの書き込み可能容量を算出し、その算出結果をデータ書き込み間隔で除することによって、予測結果を出力する。
【００２２】
このように、本実施の形態に係るディスク監視装置１１は、読み出しデータ内のエラー数の変化状況を定期的に監視することによって、各ディスク装置の故障を精度良く予測することができる。
【００２３】
ここで、ディスク監視装置１１と、関連技術とでは、予測手法が全く異なる。なお、関連技術では、エラー数の大小に因らず何らかのエラーを含むデータが読み出された場合に同じ１回のデータ読み出しエラーとしてカウントし、そのカウント値に基づいて、ディスク装置の交換時期を判断している。
【００２４】
さらに、関連技術では、あるディスク装置から読み出されたデータ内のエラー数がエラー訂正可能な極めて少ないエラー数であったとしても、そのようなデータが閾値を超える回数読み出された場合には、当該ディスク装置の交換時期がきたと判断されてしまう。しかしながら、この場合、当該ディスク装置の交換時期としては早すぎる可能性がある。つまり、関連技術では、ディスク装置の故障を精度良く予測することができない。
【００２５】
それに対し、本実施の形態に係るディスク監視装置１１は、読み出しデータ内のエラー数の変化状況を定期的に監視しているため、各ディスク装置の故障を精度良く予測することができる。
【００２６】
続いて、図２を用いて、ディスク監視装置１１が搭載されたストレージシステムＳＹＳ１について説明する。なお、図２には、ストレージシステムＳＹＳ１に加えてホストコンピュータ２も示されている。
【００２７】
図２に示すように、ストレージシステムＳＹＳ１は、ストレージコントローラ１と、ｎ（ｎは１以上の整数）個のディスク装置３＿１〜３＿ｎと、を備える。ストレージコントローラ１は、ディスク監視装置１１と、制御部１４と、ホストＩＦ（ＩｎｔｅｒＦａｃｅ）１２と、ディスクＩＦ１３と、を有する。
【００２８】
ホストＩＦ１２は、ホストコンピュータ２とデータ（命令）の受け渡しを行う。ディスクＩＦ１３は、ｎ個のディスク装置３＿１〜３＿ｎのそれぞれとデータ（命令含む）の受け渡しを行う。制御部１４は、ストレージコントローラ１の各構成要素の制御を行う。例えば、制御部１４は、ホストコンピュータ２からの指示に基づいて、ディスク監視装置１１にディスク装置３＿１〜３＿ｎを監視させたり、その監視結果をホストコンピュータ２に通知したりする。ディスク監視装置１１については、既に説明した通りである。
【００２９】
図３は、ディスク装置３＿１の構成例を示すブロック図である。なお、ディスク装置３＿２〜３＿ｎについては、何れも基本的にはディスク装置３＿１と同様の構成であるため、その説明を省略する。
【００３０】
図３に示すように、ディスク装置３＿１は、例えばＳＳＤであって、ディスクコントローラ３１と、フラッシュメモリ等の記憶装置３２と、を備える。ディスクコントローラ３１は、記憶装置３２へのアクセスを管理する装置であって、ストレージコントローラ１からの命令に従って記憶装置３２に制御命令の送信を行う。また、ディスクコントローラ３１は、記憶装置３２に書き込まれるデータの総書き込み量、及び、ディスク装置３＿１へのデータ書き込みの頻度（アクセス頻度）の管理なども行う。
【００３１】
さらに、ディスクコントローラ３１は、エラー訂正符号（ＥＣＣ；Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｎｇ  Ｃｏｄｅ）を用いてエラー訂正処理を行うエラー訂正部３１１を有する。エラー訂正部３１１は、記憶装置３２へのデータ書き込み時に、当該書き込みデータに対してエラー訂正符号化の処理を行い、記憶装置３２からのデータ読み出し時に、当該読み出しデータに含まれるエラーの検出及び訂正を行う。
【００３２】
（ディスク監視装置１１の詳細）
図４は、ディスク監視装置１１の詳細をディスク監視装置１１ａとして示すブロック図である。図４に示すように、ディスク監視装置１１ａは、ディスク監視装置１１と比較して、寿命管理部（予測結果管理部）１１４及び外部ＩＦ１１５をさらに備える。また、ディスク情報取得部１１１は、エラー数取得部１１１１と、アクセス情報取得部１１１２と、を有する。
【００３３】
ディスク監視装置１１ａにおいて、エラー数取得部１１１１、アクセス情報取得部１１１２、ディスク情報保存部１１２、寿命予測部１１３及び寿命管理部１１４は、外部ＩＦ１１５を介してストレージコントローラ１内の他の構成要素と通信可能に構成されている。
【００３４】
また、エラー数取得部１１１１及びアクセス情報取得部１１１２は、例えば外部ＩＦ１１５を介してディスクＩＦ１３に接続されており、各ディスク装置３＿１〜３＿ｎと通信可能に構成されている。それにより、エラー数取得部１１１１は、制御部１４を介さずに、直接、各ディスク装置３＿１〜３＿ｎからエラー数の情報を任意のタイミングで取得することができる。同様に、アクセス情報取得部１１１２は、制御部１４を介さずに、直接、各ディスク装置３＿１〜３＿ｎからデータの書き込み頻度及びアクセスパターン（データの書き込み及び読み出しの何れが多いか）の情報を任意のタイミングで取得することができる。
【００３５】
図５は、ディスク情報保存部１１２の概要を示すブロック図である。ディスク情報保存部１１２には、各ディスク装置３＿１〜３＿ｎの寿命（故障の時期）を予測する過程で取得又は算出された各項目の数値が、ディスク情報管理テーブルＴＢＬ１、寿命管理テーブルＴＢＬ２、及び、閾値テーブルＴＢＬ３の何れかに格納されている。
【００３６】
図６は、ディスク情報管理テーブルＴＢＬ１の一例を示す図である。図６を参照すると、ディスク情報管理テーブルＴＢＬ１には、各ディスク装置３＿１〜３＿ｎから取得されたエラー数の情報が、その取得時点のデータ総書き込み量とともに、データセットとして保存されている。
【００３７】
図７は、寿命管理テーブルＴＢＬ２の一例を示す図である。図７を参照すると、寿命管理テーブルＴＢＬ２には、各ディスク装置３＿１〜３＿ｎにおける、寿命予測部１１３によって算出された残りのデータ書き込み可能容量、データ書き込み頻度、予測寿命、及び、寿命通知閾値が保存されている。なお、データ書き込み頻度は、各ディスク装置３＿１〜３＿ｎから取得され、寿命通知閾値は、ストレージシステムＳＹＳ１稼働時に設定されるものとする。
【００３８】
図８は、閾値テーブルＴＢＬ３の一例を示す図である。図８を参照すると、閾値テーブルＴＢＬ３には、各ディスク装置３＿１〜３＿ｎにおける、訂正可能エラー数、観測頻度、取得閾値書き込み量、及び、観測頻度変更閾値が保存されている。観測頻度変更閾値として設定されるエラー数及びその変化率の情報は、ストレージシステムＳＹＳ１稼働時に設定されるものとする。
【００３９】
図９は、ディスク装置３＿１における、データの総書き込み量と、読み出しデータに含まれるエラーの数と、の関係を示す図である。図９において、横軸は、ディスク装置３＿１に書き込まれるデータの総書き込み量を表し、縦軸は、読み出しデータに含まれるエラーの数を表している。また、図９の例では、ディスク装置３＿１がＳＳＤであって、ディスク装置３＿１内の記憶装置がフラッシュメモリであるものとする。
【００４０】
図９に示すように、ＳＳＤに用いられているフラッシュメモリ等には、データの総書き込み量（データ書き換え回数）の増加に伴って、読み出しデータに含まれるエラーの数が増加する傾向がある。ここで、ディスク装置３＿１に設けられたエラー訂正部３１１による訂正可能エラー数（訂正可能な最大エラー数）には限界がある。読み出しデータ内のエラー数がこの訂正可能エラー数を超えた場合、正常なデータの読み出しができなくなるため、ディスク装置３＿１が故障していると診断される。
【００４１】
そこで、本実施の形態に係るディスク監視装置１１は、エラー数の増加傾向（変化状況）及び訂正可能エラー数等から、ディスク装置３＿１の寿命（故障の時期）を予測している。なお、エラー数の増加傾向については、例えば、データの総書き込み量が一定量増加する毎にエラー数の情報を取得することによって特定される。また、エラー数の変化率が所定変化率より大きくなる領域、及び、訂正可能エラー数よりも低い所定エラー数（観測頻度変更エラー数）以上の領域では、より短い間隔でエラー数の情報を取得することで、エラー数の増加傾向の検出精度を向上させている。なお、上述の所定変化率及び所定エラー数の情報は、閾値テーブルＴＢＬ３に格納された観測頻度変更閾値（変化率、エラー数）の値が用いられる。
【００４２】
ディスク装置３＿２〜３＿ｎについては、何れも基本的にはディスク装置３＿１の場合と同様であるため、その説明を省略する。
【００４３】
（フローチャート）
続いて、図１０〜図１３を用いてストレージシステムＳＹＳ１の動作を説明する。
図１０〜図１３は、ストレージシステムＳＹＳ１の動作を示すフローチャートである。
【００４４】
まず、図１０を用いて、ストレージシステムＳＹＳ１の動作を説明する。なお、図１０には、主に、ストレージコントローラ１に設けられた制御部１４の動作が示されている。
【００４５】
制御部１４は、ホストコンピュータ２から送信されたデータ書き込み命令を受信すると（ステップＳ１０１→Ｓ１０２のＹＥＳ）、ディスク装置３＿１〜３＿ｎのうち指定されたディスク装置に対してデータの書き込みを行う（ステップＳ１０３）。
【００４６】
その後、制御部１４は、データの書き込みが行われたディスク装置から、データの総書き込み量の情報を取得する（ステップＳ１０４）。そして、制御部１４は、対象のディスク装置から取得されたデータの総書き込み量と、ディスク情報保存部１１２の閾値テーブルＴＢＬ３（図８）に格納された取得閾値書き込み量と、の比較を行う（ステップＳ１０５）。
【００４７】
データの総書き込み量が取得閾値書き込み量を上回っている場合（ステップＳ１０５のＹＥＳ）、制御部１４は、ディスク監視装置１１ａに対し、指定されたディスク装置から読み出されるデータ内のエラー数を取得するように命令を出す（ステップＳ１０６）。一方、総書き込み量が取得閾値書き込み量以下の場合（ステップＳ１０５のＮＯ）、制御部１４は、エラー数取得命令を出すことなく処理を終了させる。
【００４８】
続いて、図１１を用いて、ストレージシステムＳＹＳ１の動作の続きを説明する。なお、図１１には、主に、ディスク監視装置１１ａに設けられたエラー数取得部１１１１の動作が示されている。
【００４９】
エラー数取得部１１１１は、制御部１４からエラー数取得命令を受信すると（ステップＳ２０１）、対象ディスク装置に対してデータ読み出し命令を送信する。それにより、対象ディスク装置では、記憶装置３２からデータが読み出されるとともに、エラー訂正部３１１によって、読み出されたデータに含まれるエラーの訂正処理が行われる。エラー数取得部１１１１は、このエラー訂正処理の過程で検出されたエラー数と、その時点のデータの総書き込み量とを、対象ディスク装置のディスクコントローラ３１から取得する（ステップＳ２０２）。
【００５０】
その後、エラー数取得部１１１１は、読み出しデータ内のエラー数と、観測頻度変更エラー数（図８のａａａ）と、を比較する（ステップＳ２０３）。
【００５１】
例えば、読み出しデータ内のエラー数が観測頻度変更エラー数より大きい場合（ステップＳ２０３のＹＥＳ）、エラー数取得部１１１１は、対象ディスク装置について、寿命が近くなったと判断して、エラー数の取得頻度を増加させる（ステップＳ２０４）。換言すると、エラー数の取得間隔を短くする。
【００５２】
図９を参照すると、読み出しデータ内のエラー数が観測頻度変更エラー数Ａより大きくなった場合、エラー数取得部１１１１は、対象ディスク装置について、寿命が近くなったと判断してエラー数の取得頻度を増加させる（取得間隔を短くする）。それにより、寿命予測部１１３は、エラー数の変化率をより正確に算出することが可能になるため、対象ディスク装置の寿命をより高精度に予測することが可能になる。
【００５３】
一方、読み出しデータ内のエラー数が観測頻度変更エラー数以下の場合（ステップＳ２０３のＮＯ）、エラー数取得部１１１１は、対象ディスク装置について、寿命が近くなっていないと判断して、エラー数の取得頻度を増加させること無く処理を終了させる。
【００５４】
ステップＳ２０４処理後、エラー数取得部１１１１により最後に取得されたエラー数及びエラー数取得時点のデータの総書き込み量は、１つのデータセットとしてディスク情報保存部１１２のディスク情報管理テーブルＴＢＬ１に格納される（ステップＳ２０５）。
【００５５】
なお、ディスク情報管理テーブルＴＢＬ１には、できるだけ多くのデータセットが累積的に格納されることが望ましいが、少なくとも２つのデータセットが格納されていれば寿命予測は可能である。
【００５６】
データセットの保存が完了すると、ディスク情報管理テーブルＴＢＬ１のデータセットが更新された旨が、寿命予測部１１３に通知される（ステップＳ２０６）。
【００５７】
続いて、図１２を用いて、ストレージシステムＳＹＳ１の動作の続きを説明する。なお、図１２には、主に、ディスク監視装置１１ａに設けられた寿命予測部１１３の動作が示されている。
【００５８】
寿命予測部１１３は、ディスク情報管理テーブルＴＢＬ１の更新通知を受信すると（ステップＳ３０１のＹＥＳ）、最後に保存されたデータセットと、その一つ前に保存されたデータセットと、の２つのデータセットの情報を取得する（ステップＳ３０２）。そして、寿命予測部１１３は、取得した２つのデータセットの差分を用いてエラー数の変化率（総書き込み量の変化量に対するエラー数の変化量の割合）を算出する（ステップＳ３０３）。つまり、寿命予測部１１３は、総書き込み量の変化をＸ軸、エラー数の変化量をＹ軸としたときの傾きを算出する。
【００５９】
図６を参照すると、寿命予測部１１３は、例えばディスク装置３＿ｎから読み出されたデータ内のエラー数の変化率として、最後に保存されたデータセットＳ２とその一つ前に保存されたデータセットＳ１とを用いて、（Ｙ２−Ｙ１）／（Ｘ２−Ｘ１）を算出する。
【００６０】
その後、寿命予測部１１３は、算出された対象ディスク装置のエラー数の変化率と、観測頻度変更変化率（図８のｂｂｂ）と、を比較する（ステップＳ３０４）。
【００６１】
例えば、算出エラー変化率が観測頻度変更変化率より大きくなった場合（ステップＳ３０４のＹＥＳ）、寿命予測部１１３は、対象ディスク装置について、エラー数が急に増加したと判断する。このとき、寿命予測部１１３は、対象ディスク装置について、エラー数取得部１１１１によるエラー数の取得頻度を増加させる（ステップＳ３０５）。換言すると、エラー数の取得間隔を短くする。
【００６２】
図９を参照すると、算出エラー変化率が観測頻度変更変化率Ｂより大きくなった場合、寿命予測部１１３は、対象ディスク装置について、エラー数が急に増加したと判断し、エラー数取得部１１１１によるエラー数の取得頻度を増加させる（取得間隔を短くする）。それにより、寿命予測部１１３は、エラー数の変化率をより正確に算出することが可能になるため、対象ディスク装置の寿命をより高精度に予測することが可能になる。
【００６３】
一方、算出エラー変化率が観測頻度変更変化率以下の場合（ステップＳ３０４のＮＯ）、寿命予測部１１３は、対象ディスク装置について、エラー数の変化は小さいと判断して、エラー数の取得頻度を通常の頻度に維持させる。
【００６４】
ステップＳ３０５処理後、寿命予測部１１３は、対象ディスク装置について、残りのデータ書き込み可能容量を算出し、その算出結果に基づいて寿命（故障の時期）を予測する（ステップＳ３０６→Ｓ３０７）。
【００６５】
具体的には、まず、寿命予測部１１３は、対象ディスク装置について、最後に取得したエラー数と算出エラー変化率とに基づいて、読み出しデータ内のエラー数がエラー訂正可能な最大エラー数に達したときのデータの総書き込み量を算出する。以下、読み出しデータ内のエラー数がエラー訂正可能な最大エラー数に達したときのデータの総書き込み量を、総書き込み量Ｑ２と称す。その後、寿命予測部１１３は、総書き込み量Ｑ２から、現時点でのデータの総書き込み量（以下、総書き込み量Ｑ１と称す）を差し引くことで、残りのデータ書き込み可能容量（Ｑ２−Ｑ１）を算出する（ステップＳ３０６）。
【００６６】
但し、残りのデータ書き込み可能容量が同じでもデータ書き込み頻度によってディスク装置の故障の時期は変化する。そこで、寿命予測部１１３は、残りのデータ書き込み可能容量を、データ書き込み頻度（間隔）で除することにより、予測寿命を算出する（ステップＳ３０７）。なお、データ書き込み頻度の情報は、アクセス情報取得部１１１２によって対象ディスク装置から取得される。
【００６７】
寿命予測部１１３によって算出された残りのデータ書き込み可能容量及びその時間換算値（予測寿命）は、ディスク情報保存部１１２の寿命管理テーブルＴＢＬ２に格納される（ステップＳ３０８）。
【００６８】
続いて、図１３を用いて、ストレージシステムＳＹＳ１の動作の続きを説明する。なお、図１３には、主に、ディスク監視装置１１ａに設けられた寿命管理部１１４の動作が示されている。
【００６９】
寿命管理部１１４は、複数のディスク装置３＿１〜３＿ｎのうち予測寿命が重複する（予測故障時期が同じ）２つ以上のディスク装置が存在するか否かを判定する（ステップＳ４０１）。
【００７０】
予測寿命が同じ２つ以上のディスク装置が存在する場合（ステップＳ４０１のＹＥＳ）、寿命管理部１１４は、予測寿命が同じ２つ以上のディスク装置のうち信頼性の低いＲＡＩＤタイプのディスク装置から順番に高い優先度を設定する（ステップＳ４０２）。なお、ＲＡＩＤとは、Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓの略である。
【００７１】
例えば、ディスク装置３＿３にＲＡＩＤ６タイプが採用され、ディスク装置３＿１にＲＡＩＤ６よりも信頼性の低いＲＡＩＤ１タイプが採用されている場合、ディスク装置３＿１には、ディスク装置３＿３よりも高い優先度が設定される。
【００７２】
一方、予測寿命が同じ２つ以上のディスク装置が存在しない場合（ステップＳ４０１のＮＯ）、寿命管理部１１４は、寿命予測部１１３によって算出された予測寿命をそのままユーザ又はホストコンピュータ２に通知して処理を終了させる。
【００７３】
ステップＳ４０３処理後、寿命管理部１１４は、予測寿命が同じ２つ以上のディスク装置のうちＲＡＩＤタイプが同じ２つ以上のディスク装置が存在するか否かを判定する（ステップＳ４０３）。
【００７４】
予測寿命が同じかつＲＡＩＤタイプが同じ２つ以上のディスク装置が存在する場合（ステップＳ４０３のＹＥＳ）、寿命管理部１１４は、当該２つ以上のディスク装置のそれぞれに対してアクセスパターンを考慮した優先度を設定する（ステップＳ４０４）。具体的には、寿命管理部１１４は、ＲＡＩＤタイプが同じ２つ以上のディスク装置のうち、エラー変化率がさらに増大する可能性のある書き込み集中型のディスク装置に対して、読み出し集中型のディスク装置よりも高い優先度を設定する（ステップＳ４０４）。
【００７５】
一方、予測寿命が同じかつＲＡＩＤタイプが同じ２つ以上のディスク装置がない場合（ステップＳ４０３のＮＯ）、寿命管理部１１４は、予測寿命が同じ２つ以上のディスク装置のうち最終決定した優先度の高いディスク装置の順に予測寿命を短く設定し直す。なお、予測寿命の短縮の程度は、優先度に応じて決定されても良いし、ユーザ等によって予め設定されていても良い。寿命管理部１１４によって設定し直された予測寿命は、ユーザ又はホストコンピュータ２に通知される。それにより、複数のディスク装置の交換時期が重なることを防ぐことができる。
【００７６】
ステップＳ４０４処理後、寿命管理部１１４は、予測寿命が同じ２つ以上のディスク装置のうちアクセスパターンが同じ２つ以上のディスク装置が存在するか否かを判定する（ステップＳ４０５）。
【００７７】
予測寿命が同じかつアクセスパターンが同じ２つ以上のディスク装置が存在する場合（ステップＳ４０５のＹＥＳ）、寿命管理部１１４は、当該２つ以上のディスク装置のそれぞれに対して、算出エラー変化率を考慮した優先度を設定する（ステップＳ４０６）。具体的には、寿命管理部１１４は、アクセスパターンが同じ２つ以上のディスク装置のうち、例えば図１２のステップＳ３０３の処理で算出されたエラー変化率の大きなディスク装置から順番に高い優先度を設定する（ステップＳ４０６）。
【００７８】
一方、予測寿命が同じかつアクセスパターンが同じ２つ以上のディスク装置がない場合（ステップＳ４０５のＮＯ）、寿命管理部１１４は、予測寿命が同じ２つ以上のディスク装置のうち最終決定した優先度の高いディスク装置の順に予測寿命を短く設定し直す。なお、予測寿命の短縮の程度は、優先度に応じて決定されても良いし、ユーザ等によって予め設定されていても良い。寿命管理部１１４によって設定し直された予測寿命は、ユーザ又はホストコンピュータ２に通知される。それにより、複数のディスク装置の交換時期が重なることを防ぐことができる。
【００７９】
ステップＳ４０６処理後、寿命管理部１１４は、予測寿命が同じ２つ以上のディスク装置のうち最終決定した優先度の高いディスク装置から順に予測寿命が短くなるようにこれらの予測寿命を設定し直す。なお、予測寿命の短縮の程度は、優先度に応じて決定されても良いし、ユーザ等によって予め設定されていても良い。
【００８０】
図１４は、寿命予測部１１３によって予測寿命が同じと判断された複数のディスク装置の優先度の一例を示す図である。図１４の例では、寿命予測部１１３によってディスク装置３＿１〜３＿５の予測寿命が同じと判断されている。
【００８１】
図１４の例では、寿命管理部１１４によって、ディスク装置３＿１からディスク装置３＿５にかけて順番に高い優先度が設定されている。そのため、寿命管理部１１４は、ディスク装置３＿１からディスク装置３＿５にかけて順番に予測寿命が短くなるようにこれらの予測寿命を設定し直す。具体的には、寿命管理部１１４は、ディスク装置３＿１の予測寿命＜ディスク装置３＿２の予測寿命＜ディスク装置３＿３の予測寿命＜ディスク装置３＿４の予測寿命＜ディスク装置３＿５の予測寿命、となるようにこれらの予測寿命を設定し直す。
【００８２】
寿命管理部１１４によって設定し直された予測寿命は、ユーザ又はホストコンピュータ２に通知される。それにより、複数のディスク装置の交換時期が重なることを防ぐことができる。
【００８３】
このように、本実施の形態に係るディスク監視装置及びストレージシステムは、読み出しデータ内のエラー数の変化状況を定期的に監視することで、各ディスク装置の故障を精度良く予測することができる。なお、この手法は、データ書き込み量のみを監視する場合と比較して、アクセス頻度やパターンの違い等の使用状況を考慮しつつ監視することができるため、より高精度に予測することができる。その結果、本実施の形態に係るディスク監視装置及びストレージシステムは、ディスク装置を故障前の適切なタイミングで交換することが可能になるため、例えば、ディスク装置の故障に起因したシステム異常の発生を防ぐことが可能になる。また、ディスク装置が故障する前に当該ディスク装置に保存されたデータを他のディスク装置に移行させること等も可能になる。
【００８４】
さらに、本実施の形態に係るディスク監視装置及びストレージシステムは、寿命管理部を用いることで、寿命予測部によって予測寿命（故障時期）が同じと判断された複数のディスク装置のそれぞれの予測寿命を、優先度に応じて意図的に異ならせることができる。それにより、本実施の形態に係るディスク監視装置及びストレージシステムは、複数のディスク装置の交換時期が重なることを防ぐことができる。また、寿命及び優先度の２つのパラメータを用いることにより、複数のディスク装置の管理をより細分化させることができる。
【００８５】
以上、図面を参照して、本開示の実施の形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、本開示の要旨を逸脱しない範囲内において様々な設計変更等が可能である。
【００８６】
上記実施の形態では、エラー訂正部３１１が、各ディスク装置３＿１〜３＿ｎのディスクコントローラ３１に設けられた場合を例に説明したが、これに限られず、ストレージコントローラ１内に設けられても良い。それにより、各ディスク装置３＿１〜３＿ｎにエラー訂正機能が実装されていない場合でも、ストレージシステムＳＹＳ１のディスク監視機能を実現することができる。
【００８７】
また、上記実施の形態では、ディスク監視装置１１が、対象ディスク装置において、データ書き込み量が所定量経過する毎に、自動的に監視用のデータを読み出す場合を例に説明したが、これに限られない。ディスク監視装置１１は、ホストコンピュータ２からのデータ読み出し命令によって対象ディスク装置から読み出されたデータを監視用データとして用いても良い。それにより、ディスク装置の負荷が軽減される。
【００８８】
また、寿命の管理は、例えば、同じＲＡＩＤタイプのディスク装置ごとに行われても良い。また、対象ディスク装置のデータは、寿命が通知される前に、他のディスク装置又はスペアディスクに自動的に移行されても良い。
【００８９】
さらに、上記実施の形態１，２では、本開示をハードウェアの構成として説明したが、本開示は、これに限定されるものではない。本開示は、ディスク監視装置によるディスク監視処理を、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）にコンピュータプログラムを実行させることにより実現することが可能である。
【００９０】
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（ｔａｎｇｉｂｌｅ  ｓｔｏｒａｇｅ  ｍｅｄｉｕｍ）を含む。非一時的なコンピュータ可読媒体は、例えば、磁気記録媒体、光磁気記録媒体、ＣＤ−ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリを含む。磁気記録媒体は、例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブなどである。光磁気記録媒体は、例えば光磁気ディスクなどである。半導体メモリは、例えば、マスクＲＯＭ、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ＰＲＯＭ）、フラッシュＲＯＭ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などである。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００９１】
上記の実施の形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【００９２】
（付記１）
一又は複数のディスク装置のそれぞれから読み出されたデータに対するエラー訂正処理によって訂正された当該データのエラー数の情報を間欠的に取得するディスク情報取得部と、
前記ディスク情報取得部によって取得された前記一又は複数のディスク装置のそれぞれの前記エラー数の情報を保存するディスク情報保存部と、
前記ディスク情報保存部に保存された前記一又は複数のディスク装置のそれぞれの前記エラー数の変化状況に基づいて、前記一又は複数のディスク装置のそれぞれの故障を予測する故障予測部と、
を備えた、ディスク監視装置。
【００９３】
（付記２）
前記ディスク情報取得部は、前記一又は複数のディスク装置のそれぞれから読み出されたデータに対するエラー訂正処理によって訂正された当該データの前記エラー数の変化率が所定変化率を超えた場合、所定変化率以下の場合よりも、当該データのエラー数の情報の取得間隔を短くする、
付記１に記載のディスク監視装置。
【００９４】
（付記３）
前記ディスク情報取得部は、前記一又は複数のディスク装置のそれぞれから読み出されたデータに対するエラー訂正処理によって訂正される当該データのエラー数が、エラー訂正可能な最大エラー数よりも低い所定エラー数に達した場合、所定エラー数に達していない場合よりも、当該データのエラー数の情報の取得間隔を短くする、
付記１又は２に記載のディスク監視装置。
【００９５】
（付記４）
前記故障予測部は、前記ディスク情報保存部に最後に保存されたエラー数と、そのエラー数の変化率と、に基づいて、エラー数がエラー訂正可能な最大エラー数に達するまでの残りのデータ書き込み可能容量を算出するとともに、その算出結果をデータ書き込み頻度で除することによって予測結果を算出する、
付記１〜３の何れか一項に記載のディスク監視装置。
【００９６】
（付記５）
前記故障予測部によって前記複数のディスク装置のうち２つ以上のディスク装置が同時期に故障すると予測された場合には、前記２つ以上のディスク装置のそれぞれの予測故障時期を異ならせて通知する予測結果管理部をさらに備えた、
付記１〜４の何れか一項に記載のディスク監視装置。
【００９７】
（付記６）
前記予測結果管理部は、前記故障予測部によって前記複数のディスク装置のうち２つ以上のディスク装置が同時期に故障すると予測された場合には、前記２つ以上のディスク装置のうち優先度の高いディスク装置から順番に予測故障時期を早めて通知する、
付記５に記載のディスク監視装置。
【００９８】
（付記７）
前記予測結果管理部は、前記故障予測部によって同時期に故障すると予測された前記２つ以上のディスク装置のうち、信頼性の低いディスク装置から順番に予測故障時期を早めて通知する、
付記５又は６に記載のディスク監視装置。
【００９９】
（付記８）
前記予測結果管理部は、前記故障予測部によって同時期に故障すると予測された前記２つ以上のディスク装置のうち、読み出されるデータに含まれるエラー数の変化率が大きなディスク装置から順番に予測故障時期を早めて通知する、
付記５〜７の何れか一項に記載のディスク監視装置。
【０１００】
（付記９）
前記予測結果管理部は、前記故障予測部によって同時期に故障すると予測された前記２つ以上のディスク装置のうち、データの読み出しよりもデータの書き込みの割合が大きなディスク装置から順番に予測故障時期を早めて通知する、
付記５〜８の何れか一項に記載のディスク監視装置。
【０１０１】
（付記１０）
前記一又は複数のディスク装置のそれぞれから読み出されるデータのエラー訂正処理を行うエラー訂正部をさらに備えた、
付記１〜９の何れか一項に記載のディスク監視装置。
【０１０２】
（付記１１）
一又は複数のディスク装置と、
付記１〜１０の何れか一項に記載のディスク監視装置と、
を備えた、ストレージシステム。
【０１０３】
（付記１２）
一又は複数のディスク装置のそれぞれから読み出されたデータに対するエラー訂正処理によって訂正された当該データのエラー数の情報を間欠的に取得するステップと、
間欠的に取得した前記一又は複数のディスク装置のそれぞれの前記エラー数の情報を保存するステップと、
保存された前記一又は複数のディスク装置のそれぞれの前記エラー数の変化状況に基づいて、前記一又は複数のディスク装置のそれぞれの故障を予測するステップと、
を備えた、ディスク監視方法。
【０１０４】
（付記１３）
一又は複数のディスク装置のそれぞれから読み出されたデータに対するエラー訂正処理によって訂正された当該データのエラー数の情報を間欠的に取得する処理と、
間欠的に取得した前記一又は複数のディスク装置のそれぞれの前記エラー数の情報を保存する処理と、
保存された前記一又は複数のディスク装置のそれぞれの前記エラー数の変化状況に基づいて、前記一又は複数のディスク装置のそれぞれの故障を予測する処理と、
をコンピュータに実行させる、ディスク監視プログラム。
【符号の説明】
【０１０５】
１  ストレージコントローラ
２  ホストコンピュータ
３＿１〜３＿ｎ  ディスク装置
１１  ディスク監視装置
１１ａ  ディスク監視装置
１２  ホストＩＦ
１３  ディスクＩＦ
１４  制御部
３１  ディスクコントローラ
３２  記憶装置
１１１  ディスク情報取得部
１１２  ディスク情報保存部
１１３  寿命予測部
１１４  寿命管理部
１１５  外部ＩＦ
３１１  エラー訂正部
１１１１  エラー数取得部
１１１２  アクセス情報取得部
ＳＹＳ１  ストレージシステム
ＴＢＬ１  ディスク情報管理テーブル
ＴＢＬ２  寿命管理テーブル
ＴＢＬ３  閾値テーブル
【図１】
0006958941.tif 000002
【図２】
0006958941.tif 000003
【図３】
0006958941.tif 000004
【図４】
0006958941.tif 000005
【図５】
0006958941.tif 000006
【図６】
0006958941.tif 000007
【図７】
0006958941.tif 000008
【図８】
0006958941.tif 000009
【図９】
0006958941.tif 000010
【図１０】
0006958941.tif 000011
【図１１】
0006958941.tif 000012
【図１２】
0006958941.tif 000013
【図１３】
0006958941.tif 000014
【図１４】
0006958941.tif 000015