(57)【要約】【課題】記憶装置の劣化の程度を表す情報が十分に得られない場合であっても記憶装置の劣化の程度を評価すること。【解決手段】ＣＰＵ１０１は、ＨＤＤ１３０が出力したＨＤＤ１３０の劣化の程度を表す数値と、この数値のしきい値とを受信する。ＨＤＤ１０４は、この数値の初期値を記憶しており、ＣＰＵ１０１は、受信した数値に対応する初期値をＨＤＤ１０４から取得する。初期値の取得の結果が、この初期値を使用することができない条件として予め定められた条件に該当する場合には、この初期値に代わる値を推定初期値として推定し、推定初期値をＨＤＤ１０４に記憶させる。そして、受信した数値およびしきい値と、取得した初期値または推定初期値と、累積の動作時間とに基づいて、当該数値がしきい値に達する時期を予測し、この時期をＨＤＤ１３０が故障し得る時期として出力する。【選択図】図１
2008250979.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置が出力した該記憶装置の劣化の程度を表す数値と、該数値のしきい値とを受信する受信手段と、
前記数値の初期値を記憶する初期値記憶手段と、
前記受信手段が受信した数値に対応する初期値を前記初期値記憶手段から取得する取得手段と、
前記取得手段による前記初期値の取得の結果が、該初期値を使用することができない条件として予め定められた条件に該当する場合には、前記初期値に代わる値を推定初期値として推定し、該推定初期値を前記初期値記憶手段に記憶させる推定手段と、
前記記憶装置の累積の動作時間を取得する時間取得手段と、
前記受信手段が受信した数値およびしきい値と、前記取得手段が取得した初期値または前記推定手段が推定した推定初期値と、前記時間取得手段が取得した累積の動作時間とに基づいて、前記数値が前記しきい値に達する時期を予測し、該時期を前記記憶装置が故障し得る時期として出力する予測手段と
を有することを特徴とする情報処理装置。
【請求項２】
前記推定手段は、前記取得手段が初期値を取得できなかった場合に、前記受信手段が受信した数値が予め定められた上限値以下で、且つ、該数値が予め定められた下限値を上回るならば前記上限値を前記推定初期値とすることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記推定手段は、前記受信手段が受信した数値が前記取得手段が取得した初期値を上回った場合に、該数値が予め定められた上限値以下で、且つ、予め定められた下限値を上回るならば前記上限値を前記推定初期値とすることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記推定手段は、前記受信手段が受信した数値の項目が所定の項目に該当する場合に、該数値と、前記記憶装置の累積の動作時間に対応する前記数値とその初期値とに基づいて前記推定初期値を推定することを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記推定手段は、前記受信手段が受信した数値の項目が所定の項目に該当し、且つ、前記取得手段が取得した初期値が所定値に一致する場合に、該数値と、前記記憶装置の累積の動作時間に対応する前記数値とその初期値とに基づいて前記推定初期値を推定することを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記時間取得手段は、前記記憶装置の使用が開始されてから前記受信手段が最後に前記数値を受信したときまでに経過した日数を求め、該日数を前記累積の動作時間とすることを特徴とする請求項１乃至５のいずれかに記載の情報処理装置。
【請求項７】
前記時間取得手段は、前記記憶装置が初期化された時期を前記記憶装置の使用が開始された時期として前記記憶装置から取得することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記予測手段が前記時期を予測した時点から該時期までの期間の長さに基づいて前記記憶装置の劣化の程度を判定する判定手段と、
前記判定手段による判定結果に応じて前記記憶装置の記憶内容の複製を他の記憶装置に記憶させる複製手段と
を有することを特徴とする請求項１乃至７のいずれかに記載の情報処理装置。
【請求項９】
コンピュータを、
記憶装置が出力した該記憶装置の劣化の程度を表す数値と、該数値のしきい値とを受信する受信手段と、
前記数値の初期値を記憶する初期値記憶手段と、
前記受信手段が受信した数値に対応する初期値を前記初期値記憶手段から取得する取得手段と、
前記取得手段による前記初期値の取得の結果が、該初期値を使用することができない条件として予め定められた条件に該当する場合には、前記初期値に代わる値を推定初期値として推定し、該推定初期値を前記初期値記憶手段に記憶させる推定手段と、
前記記憶装置の累積の動作時間を取得する時間取得手段と、
前記受信手段が受信した数値およびしきい値と、前記取得手段が取得した初期値または前記推定手段が推定した推定初期値と、前記時間取得手段が取得した累積の動作時間とに基づいて、前記数値が前記しきい値に達する時期を予測し、該時期を前記記憶装置が故障し得る時期として出力する予測手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置およびプログラムに関する。
【背景技術】
【０００２】
外部記憶装置としてハードディスクドライブ（以下、ＨＤＤ）を備えた情報処理装置が普及している。ＨＤＤは、大量の情報を保存しておくのに適している。しかし、使用中のＨＤＤが寿命を迎えた場合、保存しておいた大量の情報が取り出せなくなる。このような不都合が生じるのを回避するには、ＨＤＤの故障を予測できることが望ましい。
【０００３】
ＨＤＤの故障を予測するための技術として、例えば特許文献１では、複数の項目についてＨＤＤの状態を検査した結果の組み合わせによってＨＤＤの故障を予測する技術が提案されている。例えば、検査結果が基準を満たしている場合に当該項目に点数を与え、この点数の合計値に基づいてＨＤＤの故障を予測する。
【特許文献１】特開２００１−２６５５３８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、ＨＤＤ等の記憶装置から得られる情報は記憶装置の劣化の程度を評価するのに十分であるとは限らない。十分な情報が得られない場合には、何らかの手段で記憶装置の劣化の程度を推定することが必要となる。
本発明は、記憶装置の劣化の程度を表す情報が十分に得られない場合であっても記憶装置の劣化の程度を評価することのできる技術の提供を目的とする。
【課題を解決するための手段】
【０００５】
上記の課題を解決するために、請求項１に記載の発明は、記憶装置が出力した該記憶装置の劣化の程度を表す数値と、該数値のしきい値とを受信する受信手段と、前記数値の初期値を記憶する初期値記憶手段と、前記受信手段が受信した数値に対応する初期値を前記初期値記憶手段から取得する取得手段と、前記取得手段による前記初期値の取得の結果が、該初期値を使用することができない条件として予め定められた条件に該当する場合には、前記初期値に代わる値を推定初期値として推定し、該推定初期値を前記初期値記憶手段に記憶させる推定手段と、前記記憶装置の累積の動作時間を取得する時間取得手段と、前記受信手段が受信した数値およびしきい値と、前記取得手段が取得した初期値または前記推定手段が推定した推定初期値と、前記時間取得手段が取得した累積の動作時間とに基づいて、前記数値が前記しきい値に達する時期を予測し、該時期を前記記憶装置が故障し得る時期として出力する予測手段とを有することを特徴とする情報処理装置を提供する。
【０００６】
請求項２に記載の発明は、請求項１に記載の情報処理装置において、前記推定手段は、前記取得手段が初期値を取得できなかった場合に、前記受信手段が受信した数値が予め定められた上限値以下で、且つ、該数値が予め定められた下限値を上回るならば前記上限値を前記推定初期値とすることを特徴とする。
【０００７】
請求項３に記載の発明は、請求項１に記載の情報処理装置において、前記推定手段は、前記受信手段が受信した数値が前記取得手段が取得した初期値を上回った場合に、該数値が予め定められた上限値以下で、且つ、予め定められた下限値を上回るならば前記上限値を前記推定初期値とすることを特徴とする。
【０００８】
請求項４に記載の発明は、請求項１に記載の情報処理装置において、前記推定手段は、
前記受信手段が受信した数値の項目が所定の項目に該当する場合に、該数値と、前記記憶装置の累積の動作時間に対応する前記数値とその初期値とに基づいて前記推定初期値を推定することを特徴とする。
【０００９】
請求項５に記載の発明は、請求項１に記載の情報処理装置において、前記推定手段は、前記受信手段が受信した数値の項目が所定の項目に該当し、且つ、前記取得手段が取得した初期値が所定値に一致する場合に、該数値と、前記記憶装置の累積の動作時間に対応する前記数値とその初期値とに基づいて前記推定初期値を推定することを特徴とする。
【００１０】
請求項６に記載の発明は、請求項１乃至５のいずれかに記載の情報処理装置において、前記時間取得手段は、前記記憶装置の使用が開始されてから前記受信手段が最後に前記数値を受信したときまでに経過した日数を求め、該日数を前記累積の動作時間とすることを特徴とする。
【００１１】
請求項７に記載の発明は、請求項６に記載の情報処理装置において、前記時間取得手段は、前記記憶装置が初期化された時期を前記記憶装置の使用が開始された時期として前記記憶装置から取得することを特徴とする。
【００１２】
請求項８に記載の発明は、請求項１乃至７のいずれかに記載の情報処理装置において、前記予測手段が前記時期を予測した時点から該時期までの期間の長さに基づいて前記記憶装置の劣化の程度を判定する判定手段と、前記判定手段による判定結果に応じて前記記憶装置の記憶内容の複製を他の記憶装置に記憶させる複製手段とを有することを特徴とする。
【００１３】
請求項９に記載の発明は、コンピュータを、記憶装置が出力した該記憶装置の劣化の程度を表す数値と、該数値のしきい値とを受信する受信手段と、前記数値の初期値を記憶する初期値記憶手段と、前記受信手段が受信した数値に対応する初期値を前記初期値記憶手段から取得する取得手段と、前記取得手段による前記初期値の取得の結果が、該初期値を使用することができない条件として予め定められた条件に該当する場合には、前記初期値に代わる値を推定初期値として推定し、該推定初期値を前記初期値記憶手段に記憶させる推定手段と、前記記憶装置の累積の動作時間を取得する時間取得手段と、前記受信手段が受信した数値およびしきい値と、前記取得手段が取得した初期値または前記推定手段が推定した推定初期値と、前記時間取得手段が取得した累積の動作時間とに基づいて、前記数値が前記しきい値に達する時期を予測し、該時期を前記記憶装置が故障し得る時期として出力する予測手段として機能させるためのプログラムを提供する。
【発明の効果】
【００１４】
本発明によれば、記憶装置の劣化の程度を表す情報が十分に得られない場合であっても記憶装置の劣化の程度を評価することができる。
【発明を実施するための最良の形態】
【００１５】
以下、図面を参照して、本発明の実施形態について説明する。
図１は、情報処理装置１の構成を表す図である。
ＨＤＤ（Hard Disk Drive）１０４には、ＯＳ（Operating System）等、情報処理装置
１の基本的な動作を制御するためのプログラムや種々のアプリケーションプログラムが記憶されている。また、ＨＤＤ１０４は、ＣＰＵ（Central Processing Unit）１０１が処
理したデータや、他の情報処理装置から情報処理装置１に転送されたデータ等を記憶するためにも用いられる。
【００１６】
ＲＯＭ（Read Only Memory）１０２にはＩＰＬ（Initial Program Loader）が記憶されており、情報処理装置１に電源が投入されるとＣＰＵ１０１がＩＰＬを実行し、これによってＯＳがＨＤＤ１０４からＲＡＭ（Random Access Memory）１０３上に読み出される。そして、ＣＰＵ１０１がＯＳを実行することによって情報処理装置１の各部の制御が行われる。また、ＯＳの実行中にアプリケーションプログラムの実行が指示された場合には、ＣＰＵ１０１はアプリケーションプログラムをＨＤＤ１０４からＲＡＭ１０３上に読み出して実行する。
【００１７】
通信Ｉ／Ｆ(Interface)１０５は、Ethernet（登録商標）等の規格に従ったＬＡＮ（Local Area Network）に接続されており、情報処理装置１とＬＡＮに接続されている他の情
報処理装置との通信を仲介する。
外部Ｉ／Ｆ１０６は、ＳＣＳＩ（Small Computer System Interface）等の規格に従っ
て情報処理装置１と周辺機器との通信を仲介する。外部Ｉ／Ｆ１０６には、ＨＤＤ１０４と同様の構成を有するＨＤＤ１１０が接続されている。
【００１８】
また、外部Ｉ／Ｆ１０６には、キーボード１１１、マウス１１２、表示装置１１３が接続されている。キーボード１１１およびマウス１１２を操作することによってユーザが情報処理装置１に対して指示を入力することができる。表示装置１１３は、例えば液晶画面を備えており、ＣＰＵ１０１から供給された画像データに基づいて画像を表示する。
ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、ＨＤＤ１０４、通信Ｉ／Ｆ１０５、外部Ｉ／Ｆ１０６はバス１２０に接続されており、バス１２０を介して相互にデータのやり取りを行う。
【００１９】
次に、ＨＤＤ１０４およびＨＤＤ１１０の構成について説明する。なお、ＨＤＤ１０４とＨＤＤ１１０とは同様の構成を有しているので、ＨＤＤ１０４とＨＤＤ１１０を区別する必要のない場合には単にＨＤＤ１３０と呼ぶ。
図２は、ＨＤＤ１３０の構成を表す図である。
磁気ディスク１３０１はモータ１３０２によって回転駆動される。制御部１３０３がＣＰＵ１０１からデータの読み出しまたは書き込みの指示を受けると、制御部１３０３はヘッドアーム１３０４の先端部を読み出しまたは書き込みの対象である格納場所へ移動させ、ヘッドアーム１３０４の先端に取り付けられている磁気ヘッド１３０５が磁気ディスク１３０１に対してデータの読み出しまたは書き込みを行う。
【００２０】
監視部１３０６は、後述するＳＭＡＲＴ（Self-Monitoring, Analysis and Reporting Technology）機能における各監視項目についてＨＤＤ１３０の状態を監視し、ＨＤＤ１３０の劣化の程度を表す数値をＣＰＵ１０１に送信する。この数値を属性値と呼ぶ。
温度センサ１３０７は、ＨＤＤ１３０の筐体１３０８の内部に複数設けられている。監視部１３０６は、属性値をＣＰＵ１０１に送信する際、温度センサ１３０７から得られた温度の最大値を求め、属性値とともにＣＰＵ１０１に送信する。
【００２１】
次に、ＳＭＡＲＴ機能について説明する。ＳＭＡＲＴ機能は、ＨＤＤに記憶されているデータの保護や、ＨＤＤの劣化によって情報処理システムに発生するダウンタイムを減らすこと等を目的としてＳＦＦ（Small Form Factor Committee）が提唱した機能である。
ＳＭＡＲＴ機能は以下に示す構成によって提供される。
監視部１３０６は、予め定められた各監視項目について一定時間間隔（例えば、１時間間隔）で測定を行い、得られた測定値を所定の規則に従って数値化することによって属性値を得る。そして、得られた属性値をＣＰＵ１０１に送信する。
【００２２】
ＳＭＡＲＴ機能における監視項目の一例を表１に示す。
【表１】
2008250979.tif 000003
【００２３】
各監視項目の測定値は所定の規則に従って属性値に変換される。例えば、読込エラー発生率（ＩＤ＝１）については、読込エラーの測定値が０である場合に属性値＝１００とする。一方、読込エラーの測定値が所定値以上の場合、属性値＝０とする。測定値が０と所定値の間の値を示した場合には、線形補間等によって０以上１００以下の整数値に変換し、得られた値を属性値とする。
また、例えば、パワーオン時間（ＩＤ＝９）については、パワーオン時間が０の場合に属性値＝１００とする。一方、パワーオン時間が所定値以上の場合、属性値＝０とする。測定値が０と所定値の間の値を示した場合は、線形補間等によって０以上１００以下の整数値に変換し、得られた値を属性値とする。
つまり、ＳＭＡＲＴ機能においては、属性値の低下がＨＤＤ１３０の劣化の進行を表す。
なお、上記の例では属性値の最大値が１００、最小値が０であるが、最大値はＨＤＤ１３０の製造者毎あるいは機種毎に異なる値が用いられている場合がある。これについては後述する。
【００２４】
監視部１３０６はメモリを備え、各監視項目の属性値のしきい値をＩＤと対応付けて記憶している。しきい値は、ＨＤＤ１３０が外部記憶装置としての使用に耐え得る限度の目安を表す。
なお、表１に示した監視項目は一例であり、各ＩＤと各監視項目との対応はＨＤＤの製造者毎、機種毎に異なる場合がある。また、表１に示した以外の監視項目が設けられている場合や、表１に示した監視項目のうち、いくつかの監視項目が設けられていない場合もある。また、監視項目に独自の項目名が付けられている場合もある。
【００２５】
次に、プログラムＳの内容について説明する。プログラムＳは、ＨＤＤ１０４に記憶されているアプリケーションプログラムの１つである。
図３は、ＣＰＵ１０１がプログラムＳを実行することによって行われる処理のフローの概略を示す図である。情報処理装置１に電源が投入されると、ＣＰＵ１０１がＯＳを実行し、ＯＳを実行中のＣＰＵ１０１がプログラムＳを実行することによって下記の処理が行われる。
【００２６】
なお、ＣＰＵ１０１がＯＳの実行開始に続いて自動的にプログラムＳの実行を開始するようにしてもよいし、ユーザがキーボード１１１およびマウス１１２を操作することによって情報処理装置１に所定の指示を与えた場合にＣＰＵ１０１がプログラムＳの実行を開始するようにしてもよい。
また、上述のとおりＨＤＤ１３０の監視部１３０６は一定時間間隔で属性値をＣＰＵ１０１に送信するので、ＣＰＵ１０１は、監視部１３０６から送信された属性値を受信する度に図３に示す処理を行う。なお、ＣＰＵ１０１がプログラムＳの実行を開始した時点でＨＤＤ１３０に対して属性値の送信を要求し、得られた属性値を用いて１回目の処理を行うようにしてもよい。
【００２７】
まず、ステップＡ０１では、ＣＰＵ１０１は、ＨＤＤ１３０の監視部１３０６がＣＰＵ１０１に送信した属性値を受信する。
ステップＡ０２では、ＣＰＵ１０１は、受信した属性値を用いて、各ＨＤＤ１３０の健全度を表す評価値を求める。
ここで健全度について説明する。ＨＤＤ１３０が未使用の場合、ＨＤＤ１３０各部の劣化は始まっていないから、ＨＤＤ１３０は健全度が最も高い状態にある。これに対して、ＨＤＤ１３０の使用が開始されると、累積の動作時間や動作中の環境等に応じてＨＤＤ１３０各部の劣化が進行するので、累積の動作時間が増加するに連れてＨＤＤ１３０の健全度は低下していく。この健全度を評価するために、本ステップでは、表１に示した各監視項目の属性値を用いて、健全度を表す評価値を複数の方法によって求める。
【００２８】
次に、ＨＤＤ１３０の健全度を表す評価値を求める手順、すなわち図３のステップＡ０２における処理の手順について説明する。本実施形態では方法１乃至３の３つの方法で評価値を求める。
図４は、評価値を求める手順を表す図である。ＣＰＵ１０１は、ＨＤＤ１３０毎に同図に示した手順に従って評価値を求める。同図において、ステップＢ０１からステップＢ０６までが方法１に対応する。また、ステップＢ０７が方法２に、ステップＢ０８が方法３に対応する。
【００２９】
＜方法１：故障予測日までの日数から健全度を求める方法＞
図５は、ＨＤＤ１３０の使用が開始されてから最新の属性値を受信するまでに経過した日数（以下、「経過日数」と呼ぶ）と属性値との関係を表す図である。横軸はＨＤＤ１３０の経過日数Ｔを表し、縦軸は属性値Ｍを表す。このグラフ上に属性値の初期値Ｍ０と現在値Ｍ１をプロットすると、この２点を通過する直線Ｌの傾きは属性値の低下速度、すなわち劣化速度を表す。初期値は属性値の最大値であり、ＨＤＤ１３０が未使用である場合の状態を表している。この直線Ｌとしきい値Ｍthを表す直線Ｋとの交点Ｒに対応する日数Ｔxが故障予測日までの日数、すなわちＨＤＤ１３０に故障が発生し得る日までの日数で
ある。直線Ｌは式（１）で表される。
2008250979.tif 000004
ただし、Ｍ：属性値、Ｍ０：属性値の初期値、Ｍ１：属性値の現在値、Ｔ：経過日数、Ｔ１：現在までの経過日数である。
【００３０】
なお、横軸を経過日数とするのは、以下の理由からである。ＨＤＤ１３０は、使用開始から故障するまでの間、連続して使用されるとは限らず、一般には、動作が停止されている期間が生じるものである。仮に、図４の横軸をＨＤＤ１３０の正味の累積動作時間に置き換えると、横軸を経過日数とした場合と比べてＨＤＤ１３０の劣化速度が過大に評価され、その結果として、故障予測日の予測の精度が低くなってしまうおそれがある。このような不都合を回避するために、本実施形態では、時間の指標として経過日数を用いている。これによって、ＨＤＤ１３０の実際の使用状況に即してＨＤＤ１３０の故障予測日を求めることができるようになる。
【００３１】
図４の説明に戻る。
まず、ステップＢ０１では、ＣＰＵ１０１は、ＨＤＤ１３０の使用開始日を求める。ＨＤＤ１３０には磁気ディスク１３０１が初期化された日時が記録されているので、この日時をＨＤＤ１３０の使用開始日と定める。
ただし、一般に情報処理装置１はＯＳがインストールされた状態で出荷されるので、情報処理装置１に内蔵されたＨＤＤ１０４の磁気ディスクが初期化されてから実際にユーザがＨＤＤ１０４の使用を開始するまでに空白期間が生じる。この場合、磁気ディスクが初期化された日付を使用開始日としてしまうとＨＤＤ１０４の使用開始からの経過日数が実際の経過日数と比べて過大になってしまうので、使用開始日をユーザが指定できることが望ましい。そのために、例えば、使用開始日を指定するための画面を表示装置１１３に表示し、この画面上で使用開始日をユーザが指定するようにしてもよい。
【００３２】
ステップＢ０２では、ＣＰＵ１０１は、各ＨＤＤ１３０に対して各監視項目のしきい値の送信を要求する。すると、ＨＤＤ１３０の監視部１３０６は、自身のメモリに記憶しているしきい値をＣＰＵ１０１に送信し、ＣＰＵ１０１は送信されたしきい値を受信する。
ステップＢ０３では、ＣＰＵ１０１は、各監視項目の初期値を定める。
ここで、図６を用いて、各監視項目の初期値を定める処理の手順について説明する。ステップＢ０３では、ＣＰＵ１０１は、監視項目毎に、図６に示した処理を行う。
表２は、ＨＤＤ１０４の各監視項目のＩＤと初期値との対応関係を表している。プログラムＳには、この対応関係がＨＤＤ１０４の製造者または機種を表す識別情報と対応付けて内部データとして設定されている。
【表２】
2008250979.tif 000005
【００３３】
また、表３は、ＨＤＤ１１０の各監視項目のＩＤと初期値との対応関係を表している。プログラムＳには、この対応関係がＨＤＤ１１０の製造者または機種を表す識別情報と対応付けて内部データとして設定されている。
【表３】
2008250979.tif 000006
なお、以下の説明ではＩＤを十進数で示す。
【００３４】
また、ＣＰＵ１０１は過去にステップＢ０３の処理によって定めた初期値と各ＨＤＤの識別情報と監視項目のＩＤとを対応付けた初期値テーブルをＨＤＤ１０４に記憶させている。
ＣＰＵ１０１は、情報処理装置１に電源が投入される度に、ＨＤＤ１０４、１１０の製造者および機種を認識するので、その製造者および機種に対応する初期値を上記の初期値テーブルから抽出することによって、ＨＤＤ１０４、１１０に対応する初期値を得る。
ところが、表２、３に示すとおり、監視項目によっては初期値テーブルに初期値が書き込まれていない場合がある。この場合には初期値を推定することが必要となる。
【００３５】
また、監視項目によっては、例えば電気的なばらつき、可動部分が機械的になじむことによる一時的な性能向上等に起因して属性値が初期値よりも大きな値を示すことがあり得る。この場合には、初期値を補正する必要がある。また、初期値テーブルに初期値が書き込まれていたとしても初期値を補正すべき監視項目がある。
上記の場合に対応するために、ＣＰＵ１０１は以下に示す処理を行う。
【００３６】
まず、ステップＣ０１では、ＣＰＵ１０１は、当該監視項目のＩＤが３、１、７、１９５のいずれかに該当するか否かを判定する。本出願人らが行った検討の結果によれば、これら４項目についてはパワーオン時間を用いて初期値を補正すると、この補正を行わない場合と比べて故障予測日の精度が向上することが判っている。従って、当該監視項目が上記の条件に該当する場合（ステップＣ０１：ＹＥＳ）には、ＣＰＵ１０１はステップＣ１１の処理に進み、初期値を補正する。この補正の内容については後述する。一方、当該監視項目が上記の条件に該当しない場合（ステップＣ０１：ＮＯ）には、ＣＰＵ１０１はステップＣ０２の処理に進む。
【００３７】
ステップＣ０２では、ＣＰＵ１０１は、当該監視項目に対応する初期値が初期値テーブルから得られたか否かを判定し、初期値が得られた場合（ステップＣ０２：ＹＥＳ）にはステップＣ０３の処理に進み、初期値が得られなかった場合（ステップＣ０２：ＮＯ）にはステップＣ０５の処理に進む。
【００３８】
ステップＣ０３では、ＣＰＵ１０１は、当該監視項目のＩＤが１０、８、２、２０９、１９３のいずれかに該当し、且つ、初期値テーブルから得られた初期値が２００であるか否かを判定する。本出願人らが行った検討の結果によれば、この条件を満たす５項目についてもパワーオン時間を用いて初期値を補正すると、この補正を行わない場合と比べて故障予測日の精度が向上することが判っている。従って、当該監視項目が上記の条件に該当する場合（ステップＣ０３：ＹＥＳ）には、ＣＰＵ１０１はステップＣ１１の処理に進み、初期値を補正する。一方、当該監視項目が上記の条件に該当しない場合（ステップＣ０３：ＮＯ）には、ＣＰＵ１０１はステップＣ０４の処理に進む。
【００３９】
ステップＣ０４では、ＣＰＵ１０１は、ステップＡ０１で受信された属性値が初期値テーブルから得られた初期値よりも大きいか否かを判定する。具体的には、ＣＰＵ１０１は、受信された属性値と初期値テーブルから得られた初期値とを比較し、属性値が初期値よりも大きい場合（ステップＣ０４：ＹＥＳ）にはステップＣ０５の処理に進む。属性値が初期値以下である場合（ステップＣ０４；ＮＯ）には処理を終了する。すなわち、この場合、故障予測日の算出は、初期値テーブルから得られた初期値を用いて行われる。
【００４０】
ステップＣ０５以降では、以下に示す方法で初期値を推定する。表２、３に示したとおり、監視項目の初期値はＨＤＤ１３０毎、監視項目毎に異なっている場合があるが、多くの場合、初期値として１００、２００、２５３のいずれかが用いられていることが判っている。本実施形態ではこのことを利用して初期値を推定する。
【００４１】
まず、ステップＣ０５では、ＣＰＵ１０１は、属性値が１００以下であるか否かを判定し、属性値が１００以下である場合（ステップＣ０５：ＹＥＳ）にはステップＣ０６の処理に進み、初期値を１００に設定する。一方、属性値が１００を上回る場合（ステップＣ０５：ＮＯ）には、ＣＰＵ１０１はステップＣ０７の処理に進む。
【００４２】
ステップＣ０７では、ＣＰＵ１０１は、属性値が２００以下であるか否かを判定し、属性値が２００以下である場合（ステップＣ０７：ＹＥＳ）にはステップＣ０８の処理に進み、初期値を２００に設定する。一方、属性値が２００を上回る場合（ステップＣ０７：ＮＯ）には、ＣＰＵ１０１はステップＣ０９の処理に進む。
【００４３】
ステップＣ０９では、ＣＰＵ１０１は、属性値が２５３以下であるか否かを判定し、属性値が２５３以下である場合（ステップＣ０９：ＹＥＳ）にはステップＣ１０の処理に進み、初期値を２５３に設定する。一方、属性値が２５３を上回る場合（ステップＣ０９：ＮＯ）には、ＣＰＵ１０１は処理を終了する。
【００４４】
他方、ステップＣ１１では、ＨＤＤ１３０のパワーオン時間の属性値を用いて他の属性値の初期値を求める。パワーオン時間は、表１に示したとおり、ＩＤ＝９に対応する監視項目であり、工場出荷時からのＨＤＤ１３０の累積の通電時間である。ＨＤＤ１３０の累積の通電時間は累積の動作時間に等しいとみなすことができる。各属性値はＨＤＤ１３０のパワーオン時間の属性値に比例すると考えられるから、式（２）が成り立つ。
Ｍ０＝Ｍ１×Ｐ０／Ｐ１    ……    式（２）
ただし、Ｍ０：属性値の初期値、Ｍ１：属性値の現在値、Ｐ０：パワーオン時間の属性値の初期値、Ｐ１：パワーオン時間の属性値の現在値である。式（２）において例えばＭ１＝１０、Ｐ０＝２００、Ｐ１＝５０とすると、Ｍ０＝４０となる。
ＣＰＵ１０１は、上記の手順で定められた初期値を該当する監視項目のＩＤと対応付けて初期値テーブルの内容を書き替える。
以上が各監視項目の初期値を定める手順である。
【００４５】
図４の説明に戻る。
ステップＢ０４では、ＣＰＵ１０１は、図５で示した関係を用いて故障予測日を求める。式（１）を変形すると式（３）が得られる。
2008250979.tif 000007
式（３）でＭにしきい値Ｍthを代入すると、故障予測日Ｔ＝Ｔxが求められる。
【００４６】
ステップＢ０５では、ＣＰＵ１０１は、すべての監視項目に対してステップＢ０３およびＢ０４の処理が完了したか否かを判定し、完了している場合（ステップＢ０５：ＹＥＳ）にはステップＢ０６に進み、完了していない場合（ステップＢ０５：ＮＯ）にはステップＢ０３に戻る。
【００４７】
ステップＢ０６では、ＣＰＵ１０１は、ステップＢ０５で求められた故障予測日に基づいて、各ＨＤＤ１３０の健全度を判定する。具体的には、ＣＰＵ１０１は、ＨＤＤ１３０毎に、現在の日付から故障予測日までの日数が最短である監視項目をすべての監視項目の中から抽出し、抽出された故障予測日を当該ＨＤＤ１３０の故障予測日とする。そして、故障予測日までの日数が８７以下の場合は「危険」、８８日以上３６５日以下の場合は「注意」、３６６日以上の場合「良好」と判定する。この判定結果は、表示装置１１３に表示される。表示例については後述する。
なお、上記の判定基準は一例であり、他の判定基準に従って判定してもよい。
【００４８】
また、ＣＰＵ１０１は、故障予測日までの日数に基づいて、各ＨＤＤ１３０の健全度の評価値を百分率で表す。例えば、
健全度（％）＝（故障予測日までの日数）／５５３×１００    ……    式（４）
ここで、５５３は約1年半に相当する日数である。ただし、ステップＢ０５の判定の結果
が「良好」である場合には健全度を９８％とする。
なお、上記の百分率の算出方法は一例であり、他の算出方法により百分率を求めてもよい。
【００４９】
＜方法２：温度から健全度を求める方法＞
上述したとおり、ＨＤＤ１３０の監視部１３０６は温度センサ１３０７から得られた温度の平均値を求め、ＨＤＤ１３０の現在の温度として属性値とともにＣＰＵ１０１に送信する。温度のしきい値は、プログラムＳでデフォルト値として予め設定されている値を用いる。
なお、ユーザが指定した値をしきい値として用いてもよい。図７は、プログラムＳの実行開始後に表示装置１１３に最初に表示される画面の例を表す図である。画面上部に設けられている「設定」のボタンをユーザがマウス１１２でクリックすると、設定値入力用の画面が表示される。図８は、設定値入力用の画面の例を表す図である。この画面内の「ＨＤＤ温度上昇の警告」の入力欄に所望の温度を入力すると、入力された温度がしきい値として設定される。
【００５０】
ステップＢ０７では、ＣＰＵ１０１は、ＨＤＤ１３０の現在の温度としきい値とを比較し、健全度の判定を行う。すなわち、現在の温度がしきい値以上である場合には「危険」、現在の温度がしきい値の８０％以上１００％未満である場合には「注意」、現在の温度がしきい値の８０％未満である場合には「良好」と判定する。
また、以下のようにして健全度を百分率で表す。すなわち、現在の温度がしきい値以上である場合には健全度＝０％、現在の温度がしきい値の８０％以上１００％未満である場合には健全度＝２０％、現在の温度がしきい値の８０％以上９０％未満である場合には健全度＝４０％、現在の温度がしきい値の８０％未満である場合には健全度＝１００％とする。
【００５１】
＜方法３：属性値の低下率の平均値から健全度を求める方法＞
ステップＢ０８では、ＣＰＵ１０１は、監視項目毎に、式（５）により各属性値の低下率を求める。
低下率（％）＝属性値×１００／初期値      ……式（５）
そして、ＨＤＤ１３０毎に、式（６）により低下率の平均値を求めて、この値を健全度とする。
健全度（％）＝低下率の合計／監視項目の数  ……式（６）
ただし、属性値が低下している監視項目、すなわち属性値が初期値未満である監視項目が２項目以下の場合には、健全度を９８％とする。
また、低下率の平均値に基づいて健全度の判定を行う。すなわち、健全度が１６％未満である場合には「危険」、健全度が１６％以上６６％未満である場合には「注意」、健全度が６７％以上である場合には「良好」と判定する。
以上が図４に示した処理の内容である。
【００５２】
図３の説明に戻る。
ステップＡ０３では、ＣＰＵ１０１は、ステップＡ０２で方法１乃至３によって求めた健全度から、ＨＤＤ１３０毎に最低の健全度を抽出し、抽出された健全度を各ＨＤＤ１３０の健全度を表す評価値とする。すなわち、「良好／注意／危険」の判定結果が最低のものを抽出し、抽出された判定結果を当該ＨＤＤ１３０の健全度の判定結果とする。また、百分率で表した健全度が最低のものを抽出し、抽出された健全度を当該ＨＤＤ１３０の健全度とする。
ステップＡ０４では、ＣＰＵ１０１は、各ＨＤＤ１３０の健全度評価の結果を表示装置１１３に表示する。
【００５３】
以下では、結果の表示例について説明する。
図７は、プログラムＳの実行開始後に表示装置１１３に最初に表示されるメイン画面の例を表す図である。この例では、ドライブＣにＨＤＤ１０４が、ドライブＥにＨＤＤ１１０がそれぞれ割り当てられており、各ＨＤＤ１３０の健全度の総合的な評価結果が表示されている。図中の「健康状況」は、ステップＡ０３で求められた健全度を表しており、「良好／注意／危険」の判定はＨＤＤ１０４、１１０の両方とも「良好」である。また、その下に表示されている帯状のグラフは、健全度の百分率を表している。グラフの下には、ユーザに対する簡単なアドバイスの文章が表示される。「故障予測」は、各ＨＤＤ１３０の故障予測日を表している。
【００５４】
図９は、故障予測日の算出結果を表示した例である。この例では、読込エラーレートの属性値を用いて故障予測日を求め、使用開始日から故障予測日までの属性値の推移、属性値の推移の予測値をグラフ化して表している。
図１０は、各ドライブのスコア、すなわち、各監視項目の状況を表示した例である。画面右側には、監視項目毎に属性値としきい値を表す帯状のグラフが表示され、属性値がしきい値にどの程度近づいているかをユーザが視覚的に認識することができる。グラフの右隣りには劣化率、すなわち属性値の低下率の数値が表示されている。
【００５５】
図１０において所望の監視項目をユーザがマウス１１２でダブルクリックすると、その監視項目の詳細な情報が表示される。図１１は、図１０においてスピンアップタイムの欄をダブルクリックした結果である。このように、属性値の現在値、最良値（上記の説明では最大値）、しきい値、最悪値、劣化率等の数値が表示される。
また、図１２に示すように、過去の温度の履歴を表示したり、図１３に示すように、各ＨＤＤ１３０の監視状況に変化があった場合の記録を表示することができる。、
【００５６】
＜変形例＞
以上説明した形態に限らず、本発明は種々の形態で実施可能である。例えば、上述の実施形態を以下のように変形した形態でも実施可能である。
＜変形例１＞
ステップＡ０３で求められた健全度を以下に示す方法で補正するようにしてもよい。
例えば、パワーオン時間の属性値の低下率が１％以下である場合に、他の監視項目の評価結果に関わらず健全度を「良好」と判定するようにしてもよい。また、この場合に、方法３（属性値の低下率の平均値から健全度を求める方法）による評価を省略するようにしてもよい。
また、属性値がしきい値以下になった監視項目が１つでもある場合に上記の補正を行わないようにしてもよい。あるいは、最新の属性値が５０未満になった監視項目が１つでもある場合に上記の補正を行わないようにしてもよい。
【００５７】
＜変形例２＞
上記の実施形態ではＨＤＤの累積の動作時間と属性値との関係を直線近似することによって故障予測日を求めたが、ＨＤＤの累積の動作時間と属性値との関係が特定の数式で表される曲線で近似できることが判っている場合には、その曲線を用いて曲線近似することによって故障予測日を求めるようにしてもよい。また、曲線が特定の数式で表すことができない場合には、累積の動作時間と属性値との関係を離散的に表したテーブルに従って曲線近似してもよい。
【００５８】
＜変形例３＞
上記の実施形態ではＨＤＤ毎に現在の日付から故障予測日までの日数が最短の監視項目をすべての監視項目の中から抽出し、抽出された故障予測日までの日数に基づいてＨＤＤの健全度を判定したが、日数が最短の監視項目を特定の複数の監視項目の中から抽出し、その日数に基づいて健全度を判定するようにしてもよい。また、特定の１つの監視項目から求められた日数に基づいて健全度を判定するようにしてもよい。
【００５９】
＜変形例４＞
上記の実施形態では方法１乃至３による評価結果の中で最低のものをＨＤＤの健全度とする例を示したが、方法１乃至３のいずれか１つの方法による評価結果をＨＤＤの健全度としてもよい。また、方法１乃至３のうちの２つの方法による評価結果のうち最低にものをＨＤＤの健全度としてもよい。
【００６０】
＜変形例５＞
上記の実施形態では、ＳＭＡＲＴ機能で得られた属性値に基づいてＨＤＤの健全度を評価する例を示したが、ＳＭＡＲＴ機能で定義されていない監視項目の属性値を出力するＨＤＤの場合には、この属性値をＨＤＤから取得し、取得された属性値に基づいてＨＤＤの健全度を評価するようにしてもよい。
また、ＨＤＤ以外の記憶装置に本発明を適用してもよい。例えば、光磁気ディスク、光ディスク、磁気テープ等を記録媒体として用いる記憶装置が自身の劣化の程度を表す数値を出力するように構成されている場合には、この数値に基づいて上記の実施形態と同様の手順で記憶装置の健全度を求めるようにしてもよい。
【００６１】
＜変形例６＞
上記の実施形態ではＨＤＤ１３０の使用が開始されてから現在までに経過した日数を用いて故障予測日を求めたが、経過日数の代わりにＨＤＤ１３０の累積の動作時間、すなわちパワーオン時間の測定値を用いて故障予測日を求めてもよい。この場合、ＨＤＤ１３０がパワーオン時間の属性値とともに測定値およびそのしきい値も情報処理装置１に送信するようにすればよい。この場合、測定値の初期値は０である。そして、ＣＰＵ１０１が、ＨＤＤ１３０から送信された測定値およびしきい値を用いて、上記のステップＢ０４と同じ手順で故障予測日を求めるようにすればよい。
【００６２】
＜変形例７＞
上記のプログラムＳは予め情報処理装置１にインストールされていてもよいし、光ディスク等の記録媒体に記録されたプログラムＳを情報処理装置１にインストールするようにしてもよい。また、通信回線経由でプログラムＳを情報処理装置１に受信させ、受信したプログラムＳを情報処理装置１にインストールするようにしてもよい。また、ＣＰＵ１０１がプログラムＳを実行することによってもたらされる機能を実装した電子回路を情報処理装置１に設けてもよい。
【００６３】
＜変形例８＞
ＨＤＤ１３０の劣化の程度に応じてＨＤＤ１３０の記憶内容のバックアップを行うようにしてもよい。
上述のとおり、各ＨＤＤ１３０の監視部１３０６は、各監視項目について一定時間間隔（例えば、１時間間隔）で測定を行い、得られた属性値をＣＰＵ１０１に送信する。ＣＰＵ１０１は、監視部１３０６から送信された属性値を受信する度に図３に示す処理を行い、各ＨＤＤ１３０の健全度を判定する。
そこで、本変形例では、ＨＤＤ１３０の劣化の程度を表す指標として、上記方法１で求められた健全度の判定結果を用い、その判定結果に応じて記憶内容のバックアップを行うように構成する。上記の実施形態では、外部記憶装置として２台のＨＤＤ１３０（ＨＤＤ１０４、ＨＤＤ１１０）が設けられている。このうち、一方のＨＤＤ１３０の健全度が「良好」または「注意」から「危険」に移行した場合に、当該ＨＤＤ１３０の記憶内容の複製を他方のＨＤＤ１３０に記憶させる。その後、１時間毎の健全度の判定において、前回の判定時と比べて当該ＨＤＤ１３０の各属性値のいずれかが低下、すなわち属性値がしきい値に近づく方向に変化した場合に、当該ＨＤＤ１３０の記憶内容の複製を他方のＨＤＤ１３０に記憶させる。
【００６４】
なお、健全度が「危険」に移行した後、属性値の変化に関わらず、一定時間間隔で、例えば６時間毎にバックアップを行うようにしてもよい。
また、方法２で示した属性値の低下率が低くなるほどバックアップの頻度を高くするようにしてもよい。
【００６５】
バックアップを行う際には、複製を記憶する側のＨＤＤ１３０の健全度が「危険」でないことが望ましいが、２台のＨＤＤ１３０の両方が「危険」に移行する場合があり得る。この場合には、相互にバックアップを行うようにしてもよい。すなわち、ＨＤＤ１０４の記憶内容の複製をＨＤＤ１１０に記憶させ、ＨＤＤ１１０の記憶内容の複製をＨＤＤ１０４に記憶させる。あるいは、他の情報処理措置に内蔵または接続されているＨＤＤ、ＬＡＮに直接接続されているＨＤＤ等にＬＡＮを介して複製を送信するようにしてもよい。
また、情報処理装置１に３台以上のＨＤＤ１３０が設けられている場合には、各ＨＤＤ１３０の健全度を比較し、健全度が「危険」でないＨＤＤ１３０、または百分率で表した健全度の数値が最も高いＨＤＤ１３０に複製を記憶させるようにしてもよい。
【００６６】
上記の例では健全度が「危険」に移行した時点をバックアップを開始する契機としているが、これ以外の時点でバックアップを開始するようにしてもよい。例えば、健全度の判定が「注意」に移行した時点でバックアップを開始するようにしてもよい。また、百分率で表した健全度の数値が所定のしきい値を下回った時点でバックアップを開始するようにしてもよい。
【図面の簡単な説明】
【００６７】
【図１】情報処理装置１の構成を表す図である。
【図２】ＨＤＤ１３０の構成を表す図である。
【図３】プログラムＳの実行によって行われる処理のフローを示す図である。
【図４】評価値を求める手順を表す図である。
【図５】ＨＤＤ１３０の累積の動作時間と属性値との関係を表す図である。
【図６】各監視項目の初期値を定める処理の手順を詳細に表す図である。
【図７】表示装置１１３に最初に表示される画面の例を表す図である。
【図８】設定値入力用の画面の例を表す図である。
【図９】故障予測日の算出結果を表示した例である。
【図１０】各ドライブのスコアを表示した例である。
【図１１】図１０でスピンアップタイムの欄をダブルクリックした結果である。
【図１２】過去の温度の履歴を表示した例である。
【図１３】監視状況に変化があった場合の記録を表示した例である。
【符号の説明】
【００６８】
１…情報処理装置、１０４…ＨＤＤ、１０１…ＣＰＵ、１０２…ＲＯＭ、１０３…ＲＡＭ、１０５…通信Ｉ／Ｆ、１０６…外部Ｉ／Ｆ、１１０…ＨＤＤ、１１１…キーボード、１１２…マウス、１１３…表示装置、１３０…ＨＤＤ、１３０１…磁気ディスク、１３０２…モータ、１３０３…制御部、１３０４…ヘッドアーム、１３０５…磁気ヘッド、１３０６…監視部、１３０７…温度センサ、１３０８…筐体
【図１】
2008250979.tif 000008
【図２】
2008250979.tif 000009
【図３】
2008250979.tif 000010
【図４】
2008250979.tif 000011
【図５】
2008250979.tif 000012
【図６】
2008250979.tif 000013
【図７】
2008250979.tif 000014
【図８】
2008250979.tif 000015
【図９】
2008250979.tif 000016
【図１０】
2008250979.tif 000017
【図１１】
2008250979.tif 000018
【図１２】
2008250979.tif 000019
【図１３】
2008250979.tif 000020