(58)【調査した分野】(Int.Cl.,DB名)
入力される制御コマンドに応じて磁気ディスクへのデータの書き込み又は前記磁気ディスクからのデータの読み出しであるデータアクセス処理を実行する磁気ディスク装置を制御するためのコンピュータプログラムであって、
前記データアクセス処理の対象データのデータ量を特定する機能と、
前記データ量の運用開始からの累積値を算出する機能と、
前記累積値が予め定められている閾値以上の場合に報知を行う機能と、
をコンピュータに実現させるためのプログラム。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、S.M.A.R.T.機能では、例えば、「代替処理済みの不良セクタ数」、「セクタ代替処理発生回数」、「シークエラー回数」など、実際に何らかの不具合が磁気ディスク装置に発生した後に、その発生頻度等に基づき故障予測を行っている。このため、致命的な故障が生じる可能性が高いという故障予測結果が得られるよりも前に、致命的な故障が発生するという問題が生じ得る。この場合、ユーザは、磁気ディスク装置に記録されているデータをバックアップできなくなる。また、未だ致命的な故障が生じていない状況であっても、ユーザは、磁気ディスク装置において故障が発生する蓋然性が高い状態であるか否か、つまり、磁気ディスクを交換すべき時期であるか否かを、把握することができないという問題がある。上述の問題は、ハードディスクに限らず、フレキシブルディスクやZipなど、他の磁気ディスクを有する磁気ディスク装置においても共通する。このため、磁気ディスク装置において故障が発生する蓋然性が高い状態であるか否かを精度良く特定可能な技術が望まれている。
【課題を解決するための手段】
【0005】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態として実現することが可能である。
【0006】
(1)本発明の一形態によれば、磁気ディスク装置が提供される。この磁気ディスク装置は、磁気ディスクと;前記磁気ディスクへのデータの書き込み又は前記磁気ディスクからのデータの読み出しを指示する制御コマンドを入力するコマンド入力部と;入力される前記制御コマンドに応じて、前記磁気ディスクへのデータの書き込み又は前記磁気ディスクからのデータの読み出しであるデータアクセス処理を実行する磁気ディスクアクセス部と;前記データアクセス処理の対象データのデータ量を特定するデータ量特定部と;前記対象データのデータ量の運用開始からの累積値を算出する累積データ量算出部と;前記累積値が予め定められている閾値以上の場合に報知を行う報知部と;を備える。
【0007】
この形態の磁気ディスク装置によれば、データアクセス処理の対象データのデータ量の累積値が閾値以上の場合に報知が行われるので、ユーザは、かかる報知を受けることで、磁気ディスク装置において故障が発生する蓋然性が高い状態であることを精度良く特定できる。換言すると、ユーザは、かかる報知を受けないことで、磁気ディスク装置において故障が発生する蓋然性が高い状態ではないことを精度良く特定できる。磁気ディスクへの書き込みデータ量および磁気ディスクからの読み出しデータ量が増加するほど、磁気ディスクおよび磁気ディスクアクセス部に汚れがより多く蓄積するために、磁気ディスク装置の寿命が短くなる傾向にある。このため、対象データのデータ量の累積値が閾値以上であることは、同時に、磁気ディスクおよび磁気ディスクアクセス部に汚れが一定以上蓄積して故障する蓋然性が高い状況であることを示す。したがって、かかる報知を受けることで、ユーザは、磁気ディスク装置において故障が発生する蓋然性が高い状態であることを精度良く特定できる。
【0008】
(2)上記形態の磁気ディスク装置において、前記データ量特定部は、入力される前記制御コマンドに含まれる前記対象データのデータ長を示す情報を用いて、前記対象データのデータ量を特定してもよい。この形態の磁気ディスク装置によれば、制御コマンドに含まれる対象データのデータ長に関する情報を用いて対象データのデータ量が特定されるので、対象データのデータ量を容易に特定できる。このため、対象データのデータ量の特定を短時間に、また、低負荷にて実行できる。
【0009】
(3)上記形態の磁気ディスク装置において、前記データ量特定部は、前記磁気ディスクアクセス部が処理したデータ量に基づき、前記対象データのデータ量を特定してもよい。この形態の磁気ディスク装置によれば、磁気ディスクアクセス部が処理したデータ量に基づき、対象データのデータ量を特定するので、対象データのデータ量を正確に特定できる。したがって、磁気ディスク装置において故障が発生する蓋然性が高い状態であるか否かを精度良く特定できる。
【0010】
(4)上記形態の磁気ディスク装置において、前記累積値と前記累積値に達するまでに要した期間とを利用して、前記累積値が前記閾値に達するまでの残期間を算出する残期間算出部を更に備え;前記報知部は、前記残期間を報知してもよい。この形態の磁気ディスク装置によれば、報知部により、累積値が閾値に達するまでの残期間が報知されるので、ユーザは、かかる報知によって残期間を知ることができる。したがって、ユーザは、磁気ディスク装置の故障が発生する蓋然性が高くなる時期を予め知り得るので、累積値が閾値に達した場合の対応の準備、例えば、交換用の磁気ディスクを用意するなどの作業を予め行うことができ、利便性を向上できる。
【0011】
(5)上記形態の磁気ディスク装置において、前記残期間の報知を開始する時期を指定するためのユーザインターフェイスを更に備えてもよい。この形態の磁気ディスク装置によれば、ユーザは、ユーザインターフェイスを利用して残期間の報知を開始する時期を指定することができるので、残期間が長い状況において長期間に亘って残期間の報知が継続されることを抑制でき、交換用の磁気ディスクを用意するなどの作業を行なうことが好ましい状況であることを際立たせることができる。
【0012】
(6)上記形態の磁気ディスク装置において、算出された前記累積値を記憶する、前記磁気ディスクとは異なる記録媒体を更に備えてもよい。この形態の磁気ディスク装置によれば、累積値を記憶する磁気ディスクとは異なる記録媒体を更に備えるので、仮に磁気ディスクが故障してデータを復元できなくなっても、累積値を記録媒体から読み出すことができる。このため、読み出した累積値を利用して、故障原因の特定などを行うことができる。
【0013】
(7)上記形態の磁気ディスク装置において、前記磁気ディスクはハードディスクであってもよい。この形態の磁気ディスク装置によれば、ハードディスクの故障が発生する蓋然性が高い状況であるか否かを精度良く特定できる。
【0014】
本発明は、種々の形態で実現することも可能である。例えば、磁気ディスク装置を制御するためのコンピュータプログラムや、かかるコンピュータプログラムを記録した一時的ではないコンピュータ読み取り可能な記録媒体等の形態で実現することができる。
【発明を実施するための形態】
【0016】
A.第1実施形態:
A1.装置構成:
図1は、本発明の一実施形態としての磁気ディスク装置の概略構成を示すブロック図である。第1実施形態の磁気ディスク装置100は、いわゆる外付けハードディスク装置として、所定の外部接続インターフェイスによってパーソナルコンピュータ300に接続されて用いられる。上述の外部接続インターフェイスは、本実施形態ではUSB(Universal Serial Bus)である。なお、USBに限らず、SCSI(Small Computer System Interface)、ファイバーチャネル、SATA(Serial Advanced Technology Attachment)、SAS(Serial Attached SCSI)、LAN(Local Area Network)などの他のインターフェイスを用いてもよい。LANを用いる場合には、iSCSIプロトコルを用いてもよい。パーソナルコンピュータ300は、USBインターフェイスを有する一般的なパーソナルコンピュータ300と同様な構成を有するため、その詳細な説明を省略する。
【0017】
磁気ディスク装置100は、図示しないAC−DCアダプタから供給される直流電力により駆動される。なお、AC−DCアダプタに代えて、USBインターフェイスから供給される電力、すなわちVBUSにより供給される電力により駆動されてもよい。磁気ディスク装置100は、制御部10と、ハードディスク(HDD)30と、ハードディスクアクセス部34と、フラッシュROM(Read Only Memory)40と、報知部50と、USBコネクタ60とを備えている。
【0018】
制御部10は、CPU11と、メモリ20とを備えている。CPU11は、フラッシュROM40に予め格納されている制御プログラムをメモリ20に展開して実行することにより、コマンド入力部12、データ量特定部13、累積データ量算出部14、USB−SATAブリッジ部15、データ書込部16、および報知制御部17として機能する。
【0019】
コマンド入力部12は、パーソナルコンピュータ300との間でUSBコネクタ60を介したUSBによる通信を行い、かかるUSB通信を利用したSCSIコマンドの送受信を行う。
【0020】
データ量特定部13は、パーソナルコンピュータ300との間でSCISコマンドのやり取りを行う際に、かかるコマンドと共に送受信されるデータ量、より正確には、ハードディスク30(後述のプラッタ32)への書き込みデータ量およびハードディスク30からの読み出しデータ量を特定する。具体的には、データ量特定部13は、SCSI規格において規定されているREADコマンドおよびWRITEコマンド内の「TRANSFER LENGTH」(転送データ長)フィールドに設定されている値を、送受信されるデータ量として特定する。
【0021】
以降では、「ハードディスク30(後述のプラッタ32)への書き込みデータ量およびハードディスク30からの読み出しデータ量」を、「ワークロード」と呼ぶ。ハードディスク30の寿命は、ハードディスク30への書き込みデータ量およびハードディスク30からの読み出しデータ量に相関する。
【0022】
累積データ量算出部14は、データ量特定部13により特定された値(転送データ量)を積算して、磁気ディスク装置100の運用開始からの転送データ量の累積値、すなわち、ワークロードの累積データ量を算出する。
【0023】
USB−SATAブリッジ部15は、USBとSATAのインターフェイスの変換を行なう。また、USB−SATAブリッジ部15は、変換後の制御コマンドおよび処理対象のデータを、ハードディスクアクセス部34またはUSBコネクタ60に出力する。具体的には、USBコネクタ60を介して入力するUSBデータを、SATAデータに変換してハードディスクアクセス部34に出力する。また、ハードディスクアクセス部34から入力するSATAデータを、USBデータに変換してUSBコネクタ60に出力する。
【0024】
データ書込部16は、後述の累積値書込み処理において、ワークロードの累積値をフラッシュROM40に書き込む。
【0025】
報知制御部17は、報知部50を制御する。具体的には、後述のLEDランプ52の点灯および消灯を制御し、また、後述のブザー54のオン/オフを制御する。
【0026】
メモリ20は、いわゆる主記憶装置に相当し、RAM(Random Access Memory)およびROMにより構成されている。
【0027】
ハードディスク30は、プラッタ(磁気ディスク)32と、ハードディスクアクセス部34とを備えている。ハードディスクアクセス部34は、プラッタ32へのデータの書き込みおよびプラッタ32からのデータの読み出し(以下、「データアクセス処理」と呼ぶ)を実行する。具体的には、ハードディスクアクセス部34は、プラッタ32を回転させるためのスピンドルモータ、磁気ヘッドが取り付けられたアーム、かかるアームを移動させるアクチュエータ、アクチュエータの動作を制御する制御回路などで構成されている。データアクセス処理が実行される際、アームがプラッタ32上を移動する。この移動により、磁気ヘッドやプラッタ32に異物(コンタミ)が付着する可能性が高まり、ハードディスク30が劣化することとなる。したがって、上述のように、データアクセス処理の対象データのデータ量、すなわち、プラッタ32への書き込みデータ量およびプラッタ32からの読み出しデータ量は、上述のように、ハードディスク30の寿命と相関する。
【0028】
フラッシュROM40には、上述の制御プログラムが予め記憶されている。加えて、フラッシュROM40には、後述の「累積値書き込み処理」において、ワークロードの累積値が記憶されることとなる。
【0029】
報知部50は、LEDランプ52およびブザー54を有する。LEDランプ52は、緑色のランプと赤色のランプとを有し、これらのランプにより磁気ディスク装置100の動作状態を報知する。具体的には、緑色のランプの点灯により正常状態を報知する。また、赤色のランプの点滅によりワークロードの累積値が閾値以上である状態であることを報知する。また、赤色のランプの点灯により実際に故障が発生している状態(以下、「故障発生状態」と呼ぶ)を報知する。上述の「ワークロードの累積値が閾値以上である状態」とは、磁気ディスク装置100において故障が発生する蓋然性が高い状態を意味する。上述のように、ワークロード、すなわち、データアクセス処理の対象データ量が多いほど、磁気ヘッドやプラッタ32に異物(コンタミ)が付着する可能性が高まり、ハードディスク30が劣化する。このため、磁気ディスク装置100において故障が発生し易くなる。そこで、本実施形態では、故障が発生する蓋然性が高い状態(例えば、故障発生率が所定値以上の状態)となる場合のワークロードの累積値の最低値を予め実験により求め、かかる値を閾値として磁気ディスク装置100に設定しておく。そして、後述の「ワークロードに基づく警告報知処理」において、ワークロードの累積値と閾値との比較により磁気ディスク装置100の状態を特定し、「磁気ディスク装置100において故障が発生する蓋然性が高い状態」である場合には、赤色のランプを点滅させる。ブザー54もLEDランプ52と同様に、磁気ディスク装置100の動作状態を報知する。ブザー54がオフであること(すなわち、無音)は、正常状態を意味する。ブザー54がオンであることは、上述の「ワークロードの累積値が閾値以上である状態」または故障発生状態を意味する。「ワークロードの累積値が閾値以上である状態」と、故障発生状態とは、例えば、ブザー音の発生する時間間隔を異ならせる、或いは、音色を異ならせることにより弁別させてもよい。
【0030】
上記構成を有する磁気ディスク装置100では、後述の累積値書き込み処理およびワークロードに基づく警告報知処理を実行することにより、ユーザに対して、磁気ディスク装置100において故障が発生する蓋然性が高い状態であるか否かを精度良く特定させることができる。
【0031】
上述のプラッタ32は、請求項における磁気ディスクの下位概念に相当する。また、ハードディスクアクセス部34は、請求項における磁気ディスクアクセス部の下位概念に、フラッシュROM40は請求項における「磁気ディスクとは異なる記録媒体」の下位概念に、それぞれ相当する。
【0032】
A2.累積値書き込み処理:
図2は、磁気ディスク装置100において実行される累積値書き込み処理の手順を示すフローチャートである。累積値書き込み処理は、ワークロードの累積値をフラッシュROM40に書き込む処理である。本実施形態では、磁気ディスク装置100の電源がオンされて磁気ディスク装置100が起動すると、累積書き込み処理が実行される。
【0033】
データ書込部16は、所定期間経過したか否かを判定し(ステップS105)、所定期間経過したと判定された場合(ステップS105:YES)、データ書込部16は、ワークロードの累積値をフラッシュROM40に書き込む(ステップS130)。所定期間としては、例えば、10分間や、1時間や、1日間や、1ヶ月間など、任意の長さに設定してもよい。ワークロードの累積値は、後述の「ワークロードに基づく警告報知処理」において、メモリ20に格納されているので、ステップS130では、データ書込部16は、メモリ20に格納されているワークロードの累積値を読み出してフラッシュROM40に書き込む。このようにワークロードの累積値をフラッシュROM40に書き込むのは、ハードディスク30が故障した場合であってもかかる累積値を読み出すことができるからである。そして、かかる累積値を読み出すことにより、ハードディスク30の故障原因を特定する際の手がかりとして用いることができる。上述のステップS130の完了後、上述のステップS105に戻る。
【0034】
上述のステップS105において、起動から所定期間経過していないと判定された場合(ステップS105:NO)、累積データ量算出部14は、ワークロードの累積値が閾値以上であるか否かを判定する(ステップS110)。このステップS110で用いられる閾値は、上述の閾値である。すなわち、ワークロードの累積値がかかる閾値以上である場合に、磁気ディスク装置100の故障が発生する蓋然性が高い状態となるような閾値として、予め実験により求められて設定されている値である。
【0035】
ワークロードの累積値が閾値以上であると判定された場合(ステップS110:YES)、上述のステップS130が実行される。これに対して、ワークロードの累積値が閾値以上でないと判定された場合(ステップS110:NO)、データ書込部16は、パーソナルコンピュータ300のOS(オペレーティングシステム)によって、USBの取り外し処理が実行されたか否かを判定する(ステップS120)。OSによるUSBの取り外し処理が実行されたか否かは、パーソナルコンピュータ300から、取り外し処理のためのコマンドを受信したか否かにより特定できる。OSによってUSBの取り外し処理が実行されたと判定された場合(ステップS120:YES)、上述のステップS130が実行される。これに対して、OSによってUSBの取り外し処理が実行されていないと判定された場合(ステップS120:NO)、データ書込部16は、USBケーブルがUSBコネクタ60から取り外されたか否かを判定する(ステップS125)。USBケーブルが取り外されたか否かは、USBコネクタ60において検知することができる。
【0036】
USBケーブルが取り外されたと判定された場合(ステップS125:YES)、上述のステップS130が実行される。これに対して、USBケーブルが取り外されていないと判定された場合(ステップS125:NO)、上述のステップS105に戻る。
【0037】
つまり、本実施形態の累積値書込み処理では、所定期間経過毎に訪れるタイミング、ワークロードの累積値が閾値以上になったタイミング、OSによってUSBの取り外し処理が実行されたタイミング、およびUSBケーブルが取り外されたタイミングにおいて、ワークロードの累積値がフラッシュROM40に書き込まれることとなる。上述の各「タイミング」とは、「ちょうどそのとき」との意味に加えて「そのときから短い期間内」との意味も含む広い概念である。
【0038】
A3.ワークロードに基づく警告報知処理:
図3は、第1実施形態におけるワークロードに基づく警告報知処理の手順を示すフローチャートである。磁気ディスク装置100の電源がオンして、磁気ディスク装置100が起動すると、ワークロードに基づく警告報知処理が実行される。なお、このワークロードに基づく警告報知処理は、上述の累積値書き込み処理と並行して実行される。
【0039】
データ書込部16は、フラッシュROM40に記憶されているワークロードの累積値を読み出してメモリ20に書き込む(ステップS205)。コマンド入力部12は、パーソナルコンピュータ300から制御コマンドを入力したか否かを判定し(ステップS210)、制御コマンドを入力していないと判定された場合(ステップS210:NO)、再びステップS210を実行する。これに対して、制御コマンドを入力したと判定された場合(ステップS210:YES)、コマンド入力部12は、入力した制御コマンドがREADコマンドであるか否かを判定する(ステップS215)。入力した制御コマンドがREADコマンドであると判定された場合(ステップS215:YES)、データ量特定部13は、READコマンド内のTRANSFER LENGTH値を取得する(ステップS220)。
【0040】
上述のステップS215において、入力した制御コマンドがREADコマンドでないと判定された場合(ステップS215:NO)、コマンド入力部12は、入力した制御コマンドがWRITEコマンドであるか否かを判定する(ステップS225)。入力した制御コマンドがWRITEコマンドでないと判定された場合(ステップS225:NO)、上述のステップS210に戻る。これに対して、入力した制御コマンドがWRITEコマンドであると判定された場合(ステップS225:YES)、データ量特定部13は、WRITEコマンド内のTRANSFER LENGTH値を取得する(ステップS230)。
【0041】
上述のステップS220またはステップS230の完了後、累積データ量算出部14は、ステップS220で取得された(特定された)値すなわちハードディスク30から読み出されるデータ量、または、ステップS230で取得された(特定された)値すなわちハードディスク30に書き込まれるデータ量を、ワークロードの累積値に加算して更新し(ステップS235)、更新後の累積値をメモリ20に上書きして書き込む(ステップS240)。最初にステップS240が実行される際には、ステップS205において読み出された累積値が上書きされることとなる。
【0042】
累積データ量算出部14は、ステップS235で更新された後のワークロードの累積値が閾値以上であるか否かを判定する(ステップS245)。このステップS245で用いられる閾値は、上述の閾値である。すなわち、ワークロードの累積値がかかる閾値以上である場合に、磁気ディスク装置100の故障が発生する蓋然性が高い状態となるような閾値として、予め実験により求められて設定されている値である。
【0043】
ワークロードの累積値が閾値以上であると判定された場合(ステップS245:YES)、報知制御部17は、報知部50を制御して報知を行う(ステップS250)。かかる報知は、「ワークロードの累積値が閾値以上である状態であること」、つまり、「磁気ディスク装置100の故障が発生する蓋然性が高い状態であること」の報知に相当する。具体的には、報知制御部17は、LEDランプ52を構成する赤色ランプを点滅させ、且つ、ブザー54をオンしてかかる状態であることを示すブザー音を鳴らせる。したがって、ユーザは、かかる赤色ランプの点滅状態、およびブザー音により、磁気ディスク装置100において故障が発生する蓋然性が高い状態であることを容易に且つ精度良く特定できる。
【0044】
上述のステップS250において、ワークロードの累積値が閾値以上でないと判定された場合(ステップS245:NO)、上述のステップS210に戻る。
【0045】
以上説明した第1実施形態の磁気ディスク装置100では、ワークロード(データアクセス処理の対象データのデータ量)の累積値が閾値以上の場合に、LEDランプ52およびブザー54により報知が行われるので、ユーザは、かかる報知を受けることで、磁気ディスク装置100において故障が発生する蓋然性が高い状態であることを精度良く特定できる。換言すると、ユーザは、かかる報知を受けないことで、磁気ディスク装置100において故障が発生する蓋然性が高い状態ではないことを精度良く特定できる。ハードディスク30への書き込みデータ量および磁気ディスクからの読み出しデータ量が増加するほど、プラッタ32上に磁気ヘッドが存在する時間が長くなり、磁気ヘッドに汚れが付着したり、かかる汚れがプラッタ32に付着したりする可能性が高くなる。このため、プラッタ32やハードディスクアクセス部34に汚れがより多く蓄積し、磁気ディスク装置100の寿命が短くなる傾向にある。このため、対象データのデータ量の累積値が閾値以上であることは、同時に、プラッタ32およびハードディスクアクセス部34に汚れが一定以上蓄積して故障する蓋然性が高い状況であることを示す。したがって、かかる報知を受けることで、ユーザは、磁気ディスク装置100において故障が発生する蓋然性が高い状態であることを精度良く特定できる。
【0046】
また、パーソナルコンピュータ300から送信される制御コマンドに含まれる「TRANSFER LENGTH」の値を用いて対象データのデータ量が特定されるので、かかるデータ量を容易に特定できる。このため、対象データのデータ量の特定を短時間に、また、低負荷にて実行できる。
【0047】
B.第2実施形態:
図4は、第2実施形態の磁気ディスク装置100aの概略構成を示すブロック図である。第2実施形態の磁気ディスク装置100aは、報知部50を備えていない点、および報知制御部17の具体的な処理内容において、第1実施形態の磁気ディスク装置100と異なる。第2実施形態の磁気ディスク装置100aのその他の構成は、第1実施形態の磁気ディスク装置100と同じであるので、同一の構成要素には同一の符号を付し、その詳細な説明を省略する。
【0048】
報知制御部17は、ワークロードの累積値が閾値以上である場合、パーソナルコンピュータ300から、ワークロードが閾値を超えたか否かを確認するための要求コマンドを受信すると、ワークロードが閾値を超えたことを表す情報とワークロードの累積値とのうちの少なくとも一方を含む応答を、USBコネクタ60を介してパーソナルコンピュータ300に送信する。かかる処理は、第2実施形態におけるワークロードに基づく警告報知処理のステップS250に相当する。なお、第2実施形態におけるワークロードに基づく警告報知処理のその他の手順、および累積値書き込み処理の手順は、いずれも第1実施形態と同じであるので、その詳細な説明を省略する。
【0049】
パーソナルコンピュータ300では、磁気ディスク装置100aから上述の応答を受信すると、かかる応答に応じて、モニタ装置301に新たなウィンドウW1を表示させ、かかるウィンドウW1に警告メッセージを表示する。なお、応答コマンドにワークロードの累積値が含まれている場合には、かかる累積値と上述の閾値とを比較して、累積値が閾値以上の場合にウィンドウW1に警告メッセージを表示してもよい。
図4の例では、「データアクセス処理の対象データのデータ量の累積値が閾値以上になっています。」との警告メッセージがウィンドウW1に表示されている。かかるウィンドウW1を見たユーザは、磁気ディスク装置100において故障が発生する蓋然性が高い状態であることを容易に且つ精度良く特定できる。
【0050】
以上説明した第2実施形態の磁気ディスク装置100aは、第1実施形態の磁気ディスク装置100と同様な効果を奏する。加えて、パーソナルコンピュータ300を利用する際に必ず用いられるモニタ装置301に警告メッセージが表示されるので、ユーザは、磁気ディスク装置100aにおいて故障が発生する蓋然性が高い状態であることを、より早急に知ることができる。なお、第2実施形態においては、報知制御部17は、請求項における報知部の下位概念に相当する。また、モニタ装置301への警告メッセージの表示は、請求項における報知の下位概念に相当する。
【0051】
C.第3実施形態:
図5は、第3実施形態の磁気ディスク装置100bの概略構成を示すブロック図である。第3実施形態の磁気ディスク装置100bは、CPU11が残期間算出部18としても機能する点と、報知部50が表示部56を追加して有する点と、操作部80を追加して備えている点とにおいて、第1実施形態の磁気ディスク装置100と異なる。第3実施形態の磁気ディスク装置100bのその他の構成は、第1実施形態の磁気ディスク装置100と同じであるので、同一の構成要素には同一の符号を付し、その詳細な説明を省略する。
【0052】
残期間算出部18は、ワークロードの累積値が閾値以上となるまでの日数(以下、「残日数」と呼ぶ)を算出する。具体的には、残期間算出部18は、一日当たりの累積値の平均値を求め、現在の累積値と閾値との差分をかかる平均値で割ることにより、残日数を算出する。一日当たりの累積値の平均値は、例えば、累積値を更新するたびに更新日時と更新後の累積値とを対応付けてフラッシュROM40に記憶しておき、かかる累積値と更新日時の情報から各日の合計累積値を求め、各日の合計累積値の平均値として算出してもよい。
【0053】
表示部56は、磁気ディスク装置100bの筐体の前面に配置され、各種メニュー画面に加えて、残日数を示す情報を表示する。
図5の例では、「残日数:11日」との文字列が表示されている。操作部80は、押ボタン等で構成され、各種メニュー画面の遷移や磁気ディスク装置100bの各種設定を行う際に、ユーザにより操作される。例えば、残日数の表示部56への表示を開始する時期(以下、「残日数表示開始時期」と呼ぶ)を指定するためのメニュー画面(以下、「残日数表示開始時期設定メニュー画面」と呼ぶ)を表示させたり、かかる残期間表示開始時期を指定したりする際に、ユーザにより操作される。
【0054】
図6は、残日数開始時期設定メニュー画面W2の一例を示す説明図である。ユーザは、操作部80を操作することにより表示部56に残日数開始時期設定メニュー画面W2を表示させることができる。残日数開始時期設定メニュー画面W2には、「残日数の表示を開始する時期を指定してください。」との文字列と共に、かかる時期を指定するための指定枠f1が表示される。この指定枠f1は、「交換推奨日の何日前」との文字列の「何日」に相当する部分に配置されている。本実施形態では、ワークロードの累積値が初めて閾値以上となる日を交換推奨日としてユーザに通知する。ワークロードの累積値が閾値を超えた場合(累積値が閾値よりも大きくなった場合)、磁気ディスク装置100bにおいて故障が発生する蓋然性が高いので、ワークロードの累積値が初めて閾値以上となったタイミングで磁気ディスク装置100bを交換することが好ましい。ユーザは、操作部80を操作して、指定枠f1に残日数表示開始時期を設定できる。例えば、ユーザは、「残日数が14日となったら、表示部56に残日数を表示させたい」と希望する場合、
図5に示すように、指定枠f1に「14日前」と設定することができる。設定された残日数表示開始時期は、フラッシュROM40に記憶される。
【0055】
図7および
図8は、第3実施形態におけるワークロードに基づく警告報知処理の手順を示すフローチャートである。
図8のフローチャートは、
図7のフローチャートに続いて実行される。第3実施形態におけるワークロードに基づく警告報知処理は、ステップS241,S242,S244を追加して実行する点において、
図3に示す第1実施形態におけるワークロードに基づく警告報知処理と異なる。第3実施形態におけるワークロードに基づく警告報知処理のその他の手順は、第1実施形態のワークロードに基づく警告報知処理の手順と同じであるので、同一の手順には同一の符号を付し、その詳細な説明を省略する。
【0056】
図7に示すように、ワークロードの累積値がメモリ20に書き込まれた後(ステップS240の完了後)、残期間算出部18は、残日数を算出する(ステップS241)。残期間算出部18は、ステップS241で算出された残日数が、ユーザにより指定された残日数表示開始時期に達したか否かを判定する(ステップS242)。残日数が残日数表示開始時期に達していないと判定された場合(ステップS242:NO)、上述のステップS210に戻る。これに対して、残日数が残日数表示開始時期に達したと判定された場合(ステップS242:YES)、
図8に示すように、残期間算出部18は、表示部56に残日数を表示させる(ステップS244)。ユーザは、表示部56に表示される残日数により、ワークロードが閾値以上となる時期、すなわち、磁気ディスク装置100bにおいて故障が発生する蓋然性が高くなる時期を、予め知ることができる。したがって、磁気ディスク装置100bの管理者は、交換用の磁気ディスク装置を用意する、他の利用者に事前に磁気ディスク装置の交換を通知する、バックアップを取得するなど、磁気ディスク交換に向けた準備を行うことができる。上述のステップS244の完了後、上述のステップS245が実行される。
【0057】
以上説明した第3実施形態の磁気ディスク装置100bは、第1実施形態の磁気ディスク装置100と同様な効果を奏する。加えて、表示部56により、累積値が閾値以上となるまでの残日数が表示されるので、ユーザは、かかる表示によって残日数を知ることができる。したがって、ユーザは、磁気ディスク装置100bの故障が発生する蓋然性が高くなる時期を予め知り得るので、累積値が閾値に達した場合の対応の準備、例えば、交換用の磁気ディスク装置を用意するなどの作業を予め行うことができ、利便性を向上できる。また、ユーザは、表示部56(残日数開始時期設定メニュー画面W2)および操作部80を利用して残日数表示開始時期を指定することができるので、残日数が長い状況において長期間に亘って残日数の表示が継続されることを抑制でき、交換用の磁気ディスクを用意するなどの作業を行なうことが好ましい状況であることを際立たせることができる。なお、第3実施形態において、表示部56、操作部80、および残日数開始時期設定メニュー画面W2は、請求項におけるユーザインターフェイスの下位概念に相当する。
【0058】
D.変形例:
D1.変形例1:
各実施形態では、ワークロードの累積値を、制御コマンドの「TRANFER LENGTH」フィールドの値を利用して算出していたが、本発明はこれに限定されない。例えば、ハードディスクアクセス部34がプラッタ32にアクセスして実際に読み出しまたは書き込みを行ったデータ量を特定することにより、ワークロードの累積値を特定してもよい。具体的には、例えば、磁気ディスク装置100,100a,100bがS.M.A.R.T.(Self-Monitoring Analysis and Reporting Technology)機能を有する構成においては、かかる機能により収集される実際にデータアクセス処理により処理されたデータ量を、ワークロードの累積値として用いてもよい。また、例えば、パーソナルコンピュータ300のOS(オペレーティングシステム)が、磁気ディスク装置100,100a,100bへのデータの書き込み量、および磁気ディスク装置100,100a,100bからのデータの読み出し量を計測して記録している構成においては、かかる記録されたデータ量をパーソナルコンピュータ300から取得して、ワークロードの累積値として用いてもよい。また、例えば、データアクセス処理を行った時間を測定しておき、かかる時間に基づきワークロードの累積値を推定してもよい。データアクセス処理の対象データ量とデータアクセス処理を行った時間とは、略比例関係にある。このため、予め実験によりデータアクセス処理を行った時間と対象データ量との関係を求めてマップ化しておき、かかるマップを参照して、データアクセス処理を行った時間に基づき対象データ量を求めて、ワークロードの累積値に加えて累積値を更新してもよい。なお、マップに代えて所定の計算式で算出してもよい。
【0059】
D2.変形例2:
第1,3実施形態では、報知部50は、LEDランプ52とブザー54とを有していたが、LEDランプ52とブザー54とのうち、いずれか一方のみを有していてもよい。かかる構成においても、ユーザに対して、「ワークロードの累積値が閾値以上である状態」、すなわち磁気ディスク装置100の故障が発生する蓋然性が高い状態であることを報知できる。また、第2実施形態において、LEDランプ52とブザー54とのうち、少なくとも一方を有していてもよい。また、第3実施形態においては、LEDランプ52およびブザー54を省略してもよい。この場合、表示部56に残日数として「0日」と表示されることにより、ユーザに対して、「ワークロードの累積値が閾値以上である状態」、すなわち、磁気ディスク装置100において故障が発生する蓋然性が高い状態であることを報知できる。
【0060】
D3.変形例3:
第1,3実施形態におけるステップS250では、LEDランプ52を構成する赤色ランプを点滅させ、且つ、ブザー54をオンして所定のブザー音を鳴らすことで、ワークロードの累積値が閾値以上であることを報知していたが、本発明はこれに限定されない。ワークロードの累積値が閾値以上であることを黄色ランプの点灯により報知し、故障発生状態であることを赤色ランプの点灯により報知し、すべてのランプの消灯により通常状態を報知してもよい。また、例えば、赤色ランプを点灯させる、緑色ランプを点滅させる、赤色ランプと緑色ランプを交互に点灯させる、LEDランプ52を構成するいずれかのランプの点灯と、ブザー54のオンとを交互に行う、など、通常状態の動作と異なる任意の動作により、ワークロードの累積値が閾値以上であることを報知してもよい。
【0061】
D4.変形例4:
第2実施形態では、パーソナルコンピュータ300のモニタ装置301に警告メッセージを含むウィンドウW1が表示されていたが、本発明はこれに限定されない。例えば、かかる警告メッセージに代えて、または、警告メッセージに加えて、ワークロードの累積値と閾値とを数値又はグラフにより表示してもよい。また、第3実施形態では、表示部56に残日数が表示されていたが、残日数に代えて、または、残日数に加えて、ワークロードの累積値と閾値とを数値又はグラフにより表示部56に表示してもよい。さらに、表示部56に警告メッセージを表示させてもよい。また、第3実施形態において、表示部56への残日数の表示に代えて、または、表示部56への残日数の表示に加えて、パーソナルコンピュータ300のモニタ装置301に残日数を表示させてもよい。
【0062】
D5.変形例5:
各実施形態におけるコマンド入力部12、データ量特定部13、累積データ量算出部14、データ書込部16、報知制御部17、および残期間算出部18を、磁気ディスク装置100,100a,100bに代えて、パーソナルコンピュータ300が備える構成としてもよい。すなわち、パーソナルコンピュータ300が有するCPUが、これらの各機能部として機能してもよい。そして、パーソナルコンピュータ300が有する各機能部が、累積値書き込み処理およびワークロードに基づく警告報知処理を実行してもよい。この構成では、累積値書き込み処理のステップS130では、ワークロードの累積値の書き込み先は、各実施形態と同様に、磁気ディスク装置100,100a,100bが備えるフラッシュROM40であってもよいし、パーソナルコンピュータ300が備えるフラッシュROMであってもよい。このような構成においても、パーソナルコンピュータ300が故障した場合に、磁気ディスク装置100,100a,100bが備えるフラッシュROM40またはパーソナルコンピュータ300が備えるフラッシュROMからワークロードの累積値を取得することができる。
【0063】
D6.変形例6:
第3実施形態では、残日数を算出して残日数を表示部56に表示させていたが、残日数に代えて、任意の単位で、ワークロードの累積値が閾値以上となるまでの期間を算出して表示部56に表示させてもよい。例えば、分単位、時間単位、週単位、月単位、年単位で、ワークロードの累積値が閾値よりも大きくなるまでの期間を算出して表示部56に表示させてもよい。
【0064】
D7.変形例7:
各実施形態において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。また、本発明の機能の一部または全部がソフトウェアで実現される場合には、そのソフトウェア(コンピュータプログラム)は、コンピュータ読み取り可能な記録媒体に格納された形で提供することができる。「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスクやCD−ROMのような携帯型の記録媒体に限らず、各種のRAMやROM等のコンピュータ内の内部記憶装置や、ハードディスク等のコンピュータに固定されている外部記憶装置も含んでいる。すなわち、「コンピュータ読み取り可能な記録媒体」とは、データを一時的ではなく固定可能な任意の記録媒体を含む広い意味を有している。
【0065】
D8.その他の変形例:
上述した各実施形態における磁気ディスク装置100,100a,100bの構成は、あくまでも一例であり、種々変更可能である。例えば、第3実施形態において、残日数表示開始時期はユーザにより選択できず、予め固定的に設定されていてもよい。例えば、残日数表示開始時期として、ワークロードの累積値が閾値以上となると推測される日(すなわち、残日数)の10日前に固定的に設定されていてもよい。また、各実施形態の累積値書き込み処理では、所定期間毎にワークロードの累積値がフラッシュROM40に書き込まれていたが、所定期間毎でなくともよい。例えば、次第に短くなっていく時間間隔で、ワークロードの累積値がフラッシュROM40に書き込まれてもよい。また、時間に代えてワークロードの累積値に応じて、かかる累積値がフラッシュROM40に書き込まれてもよい。具体的には、例えば、ワークロードの累積値が100MB(メガバイト)増加する度に、かかる累積値がフラッシュROM40に書き込まれてもよい。この構成においては、ワークロードの累積値がフラッシュROM40に書き込まれる時間間隔は変化し得る。また、時間とワークロードの累積値とを組み合わせてワークロードの累積値をフラッシュROM40へ書き込むタイミングを決定してもよい。具体的には、原則として所定期間毎にワークロードの累積値をフラッシュROM40に書き込むこととし、書き込み予定のタイミングにおいて、前回書き込みを行ってからのワークロードの累積値の増加量が所定値以上の場合に書き込みを行い、所定値未満の場合には書き込みを行わないような処理としてもよい。このようにすることで、所定期間毎に必ずフラッシュROM40にワークロードの累積値を書き込む構成に比べてフラッシュROM40への書き込み回数を減らすことができ、フラッシュROM40の寿命が短くなることを抑制できる。また、磁気ディスク装置100,100a,100bでは、磁気ディスクとしてプラッタ32を備えていたが、ハードディスク30に代えて、または、ハードディスク30に加えて、フレキシブルディスクやZipなど、他の任意の種類の磁気ディスクを備えても良い。この構成においては、磁気ディスクの種類や磁気ディスクの信頼性に応じて閾値を変えることにより、より精度良く磁気ディスク装置において故障が発生する蓋然性が高い状態であるか否かをユーザに特定させることができる。また、各実施形態の累積値書き込み処理のステップS130においてワークロードの累積値が書き込まれるのは、ハードディスク30とは異なる種類の記録媒体(フラッシュROM40)であったが、本発明はこれに限定されない。磁気ディスク装置100,100a,100bが、ハードディスク30とは異なる他のハードディスクを備える構成として、かかるハードディスクにステップS130においてワークロードの累積値を書き込んでもよい。このような構成においても、例えば、他のハードディスクを、ハードディスク30よりも低い使用頻度で使用するように予め設定しておくことにより、ハードディスク30に比べてシークタイム(ヘッドがプラッタ32上に存在する時間)の合計値が相対的に低くなるように構成し、ハードディスク30よりも寿命が長くなるようにすることが好ましい。
【0066】
本発明は、上述の実施形態や変形例に限られるものではなく、その趣旨を逸脱しない範囲において種々の構成で実現することができる。例えば、発明の概要の欄に記載した各形態中の技術的特徴に対応する実施形態、変形例中の技術的特徴は、上述の課題の一部又は全部を解決するために、あるいは、上述の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。