(57)【要約】【課題】ハードディスクドライブが故障する予兆を検知することができる情報処理装置および情報処理装置の制御方法を提供する。【解決手段】情報処理装置は、ハードディスクドライブのセクタに対してデータの書き込みを行った後に、セクタからデータを読み取って検証を行う検証手段と、データがセクタに正常に書き込まれたと判定されるまでに行われた検証の回数が第１の閾値以上となった値をカウントし、カウントされた値が第２の閾値以上となった場合、警告を通知する制御を行う制御手段と、を備える。【選択図】図１０
2020173549.tif 000002
【特許請求の範囲】
【請求項１】
ハードディスクドライブのセクタに対してデータの書き込みを行った後に、前記セクタから前記データを読み取って検証を行う検証手段と、
前記データが前記セクタに正常に書き込まれたと判定されるまでに行われた前記検証の回数が第１の閾値以上となった値をカウントし、カウントされた前記値が第２の閾値以上となった場合、警告を通知する制御を行う制御手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記制御手段は、前記検証を行った回数が所定の上限回数になったときに、前記セクタを含む複数のセクタに対して読み取り処理を行い、前記セクタから前記データを読み出せなかった場合、前記セクタを不良セクタとして認識することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１の閾値は、前記上限回数より小さい値であることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記上限回数は、前記ハードディスクドライブの固有値に応じた値であることを特徴とする請求項２または３に記載の情報処理装置。
【請求項５】
前記検証は、システム情報またはユーザデータの更新情報が前記ハードディスクドライブに記憶されるときに行われることを特徴とする請求項１乃至４のうち何れか１項に記載の情報処理装置。
【請求項６】
前記警告は、前記ハードディスクドライブに故障が生じる予兆を示す警告であることを特徴とする請求項１乃至５のうち何れか１項に記載の情報処理装置。
【請求項７】
前記制御手段は、前記警告を表示する制御を行うことを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記制御手段は、外部装置に前記警告を送信する制御を行うことを特徴とする請求項６に記載の情報処理装置。
【請求項９】
ハードディスクドライブのセクタに対してデータの書き込みを行った後に、前記セクタから前記データを読み取って検証を行う工程と、
前記データが前記セクタに正常に書き込まれたと判定されるまでに行われた前記検証の回数が第１の閾値以上となった値をカウントし、カウントされた前記値が第２の閾値以上となった場合、警告を通知する制御を行う工程と、
を備えることを特徴とする情報処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および情報処理装置の制御方法に関する。
【背景技術】
【０００２】
近年、ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ）等の画像形成装置に用いられるハードディスクドライブ（以下、ＨＤＤとする）には、ＭＦＰのシステム起動に用いられるドライバ等のシステムデータや、ジョブに関するデータ等が記憶されている。ＨＤＤは、磁気ヘッドを用いて所定の記憶領域（セクタ）にデータを書き込む。このとき、磁気ヘッドに異物が付着していると、ＨＤＤは、十分な電荷量でデータをセクタに書き込めない可能性がある。不十分な電荷量によるデータの書き込みは、ＷｅａｋＷｒｉｔｅとも称される。ＷｅａｋＷｒｉｔｅによってセクタに書き込まれたデータは帯電量が少ない。帯電量が少ないセクタからデータが読み出される場合、帯電量が少ないことに起因して、データの読み取りは正常に行われず、読み取りエラーが発生する。読み取りが正常に行われなかったデータが記憶されたセクタは、不良セクタとして扱われる。
【０００３】
関連する技術として、特許文献１の技術が提案されている。この技術では、ディスクストレージ装置の待機状態の間に所定の検査、好ましくはリードテスト、ライトサーボテスト、ライトテストが行われる。そして、予め不良セクタのリアサインとヘッドの状態の把握が把握される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開第２００１−５６１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＨＤＤのデータ検証処理としてＷｒｉｔｅＶｅｒｉｆｙと称される技術がある。ＷｒｉｔｅＶｅｒｉｆｙは、データをセクタに書き込んだ後、検証のために同じセクタからデータの読み取りを行う処理である。ＨＤＤは、ＷｒｉｔｅＶｅｒｉｆｙを行う際、書き込み処理を行った後、読み取りを行うために磁気ヘッドを移動させる。従って、磁気ヘッドに異物が付着していたとしても、磁気ヘッドが移動することから、該磁気ヘッドに付着していた異物が取り除かれることがある。これにより、ＷｅａｋＷｒｉｔｅに起因した不良セクタの発生が抑制される。
【０００６】
ここで、セクタの経年劣化が進むと、セクタに対するＷｒｉｔｅＶｅｒｉｆｙの回数が増加する。セクタに対するＷｒｉｔｅＶｅｒｉｆｙの回数が所定の値を超えると、該セクタは不良セクタとして取り扱われる。ＨＤＤには、不良セクタに代替する代替セクタが予め用意されている。ただし、不良セクタの数が多くなると、予め用意された代替セクタが不足することがある。代替セクタが不足すると、不良セクタに対するアクセスが発生し、データを正常に読み取ることができなくなる。この場合、ＨＤＤに故障が生じたと判定され、ＨＤＤを交換する必要が生じる。ＨＤＤが故障した後に交換される場合、交換作業が行われている間、該ＨＤＤを用いたＭＦＰは使用することができない。
【０００７】
本発明の目的は、ハードディスクドライブが故障する予兆を検知することができる情報処理装置および情報処理装置の制御方法を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明の情報処理装置は、ハードディスクドライブのセクタに対してデータの書き込みを行った後に、前記セクタから前記データを読み取って検証を行う検証手段と、前記データが前記セクタに正常に書き込まれたと判定されるまでに行われた前記検証の回数が第１の閾値以上となった値をカウントし、カウントされた前記値が第２の閾値以上となった場合、警告を通知する制御を行う制御手段と、を備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、ハードディスクドライブが故障する予兆を検知することができる。
【図面の簡単な説明】
【００１０】
【図１】情報処理装置の構成を示すブロック図である。
【図２】ＨＤＤの内部構成を示す図である。
【図３】磁気ディスクのセクタの状態の一例を示す図である。
【図４】磁気ディスクのセクタの状態の他の例を示す図である。
【図５】代替セクタ処理を説明する図である。
【図６】代替処理保留セクタ、代替セクタ、代替処理セクタおよび代替セクタ用領域を示す図である。
【図７】Ｖｅｒｉｆｙエラーが発生した場合の処理の一例を示す図である。
【図８】Ｖｅｒｉｆｙエラーが発生した回数が第１の閾値以上となったセクタを示す図である。
【図９】Ｗｒｉｔｅコマンド発行処理の流れの一例を示すフローチャートである。
【図１０】ＨＤＤ処理の流れの一例を示すフローチャートである。
【図１１】代替セクタ処理の流れの一例を示すフローチャートである。
【図１２】警告通知処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について図面を参照しながら詳細に説明する。しかしながら、以下の各実施の形態に記載されている構成はあくまで例示に過ぎず、本発明の範囲は各実施の形態に記載されている構成によって限定されることはない。
【００１２】
図１は、情報処理装置２００の構成を示すブロック図である。情報処理装置２００は、所定の用紙に画像を形成する画像形成装置であってもよい。情報処理装置２００は、コントローラ機能を実現するシステム制御コントローラ１００を有する。システム制御コントローラ１００は、操作部１０１、スキャナ部１１０およびプリンタ部１１３と電気的に接続されている。また、システム制御コントローラ１００は、ネットワークＩ／Ｆ１１７から、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を介して、パーソナルコンピュータや外部装置等と画像データやデバイス情報の通信が可能である。システム制御コントローラ１００は、ＣＰＵ１０６、ＤＲＡＭ１０３、ＲＯＭ１０７、ＳＡＴＡ  Ｉ／Ｆ１０４、操作部Ｉ／Ｆ  １０７、ＳＳＤ１０５およびＳＲＡＭ１１９を有する。さらに、システム制御コントローラ１００は、ネットワークＩ／Ｆ１１７、スキャナ画像処理部１０８、スキャナＩ／Ｆ１０９、プリンタ画像処理部１１１、プリンタＩ／Ｆ１１２、ＨＤＤコントローラ１１４、ＳＡＴＡ  Ｉ／Ｆ１２０およびＨＤＤ１１５を有する。
【００１３】
ＣＰＵ１０６は、ＤＲＡＭ１０３に記憶されたプログラムを実行し、情報処理装置２００の全体の制御を行う。ＲＯＭ１０７は、例えばブートプログラムや固定パラメータ等を記憶している。また、ＲＯＭ１０７は、ＨＤＤ１１５の制御コマンドも記憶する。ＨＤＤ１１５の制御コマンドは、ＳＳＤ１０５またはＳＲＡＭ１１９に記憶されていてもよい。ＤＲＡＭ１０３（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）は、ＣＰＵ１０６が情報処理装置２００を制御する際、該ＣＰＵ１０６が実行するプログラムや一時的なデータ等を記憶する。ＤＲＡＭ１０３に記憶されたプログラムやデータは、電源がオフにされると、消去される。ＳＲＡＭ１１９（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）は、属性情報等を記憶する。ＳＲＡＭ１１９は、電源が遮断されたとしても、記憶した情報を保持するために、電池によるバックアップがされている。ＨＤＤ１１５は、ＣＰＵ１０６が実行するプログラムや各種データを記憶するメインストレージである。ＨＤＤ１１５が待機状態のときには、システム制御コントローラ１００は通電状態となる。ＨＤＤコントローラ１１４は、ＳＡＴＡＩ／Ｆ１２０を介してＨＤＤ１１５に接続される。ＨＤＤコントローラ１１４は、ＨＤＤ１１５に読み取り処理や書き込み処理等を実施させる制御を行う。
【００１４】
ＳＳＤ１０５は、ＣＰＵ１０６が実行するプログラムを記憶する。例えば、ＳＳＤ１０５に記憶されているプログラムが、ＤＲＡＭ１０３に記憶される。ＳＳＤ１０５は、ＳＡＴＡ  Ｉ／Ｆ１０４を介してシステムバス１１６に接続される。操作部Ｉ／Ｆ１０２は、システムバス１１６と操作部１０１とを接続するインターフェースである。操作部Ｉ／Ｆ１０２は、操作部１０１に表示するための画像データをシステムバス１１６から受け取り、操作部１０１に出力するとともに、操作部１０１から入力された情報をシステムバス１１６へと出力する。操作部１０１は、例えば、タッチパネルディスプレイにより構成される。ネットワークＩ／Ｆ１１７はＬＡＮとシステムバス１１６とを接続するインターフェースである。
【００１５】
スキャナ部１１０は、少なくとも１つの原稿を読み取り、画像データを生成する。生成された画像データは、スキャナＩ／Ｆ１０９を介してスキャナ画像処理部１０８に送られる。スキャナ画像処理部１０８において処理された画像データは、ＤＲＡＭ１０３に記憶される。該画像データは、必要に応じて画像処理が施された後に、再びＤＲＡＭ１０３に記憶される。そして、ＤＲＡＭ１０３に記憶された画像データは、ＤＲＡＭ１０３からＨＤＤコントローラ１１４へ転送される。該画像データは、プリンタ画像処理部１１１に送られる。プリンタ画像処理部１１１において処理された画像データはプリンタＩ／Ｆ１１２を介してプリンタ部１１３に送られる。プリンタ部１１３は、プリンタＩ／Ｆ１１２が受けた画像データを用紙に印刷する。プリンタ部１１３は、画像形成部でもある。
【００１６】
図２は、ＨＤＤ１１５の内部構成を示す図である。ＨＤＤ１１５は、制御部１３０、ホストＩ／Ｆ１３１、ＲＡＭ１３２およびＮＶＲＡＭ１３３を有する。また、ＨＤＤ１１５は、ディスク駆動部１３４、ヘッド駆動部１３５、リードライト信号処理部１３６、アーム１３７、磁気ヘッド１３８、磁気ディスク１３９およびスピンドルモーター１４０を有する。図２において、リードライト信号処理部は、「ＲＷ信号処理部」と表記される。ホストＩ／Ｆ１３１は、ＳＡＴＡＩ／Ｆ１２０を介してＨＤＤコントローラ１１４と通信するモジュールである。本実施形態では、ホストＩ／Ｆ１３１には、シリアルＡＴＡ（Ｓｅｒｉａｌ  ＡＴ  Ａｔｔａｃｈｍｅｎｔ：以下、ＳＡＴＡ）インターフェースが適用されるものとして説明する。ただし、ホストＩ／Ｆ１３１およびＳＡＴＡＩ／Ｆ１２０には、ＳＡＴＡ以外のインターフェースが適用されてもよい。
【００１７】
制御手段としての制御部１３０は、ＨＤＤ１１５の読み取り処理や書き込み処理、代替セクタ処理等の各種の処理を行う。制御部１３０は、例えば、所定のプログラミング回路により実現されてもよい。ＮＶＲＡＭ１３３には、セクタに関する情報（以下、ＳＭＡＲＴ情報とする）が記憶されている。ＮＶＲＡＭ（Ｎｏｎ−Ｖｏｌａｔｉｌｅ  ＲＡＭ）１３３は、電源が遮断されても、書き込まれた情報を保持するメモリである。
【００１８】
ＲＡＭ１３２は、所定のデータ（例えば、キャッシュデータ）を記憶する。ヘッド駆動部１３５は、データの読み取りおよび書き込みを行う磁気ヘッド１３８を駆動制御する。ディスク駆動部１３４は、磁気ディスク１３９の回転を制御する。磁気ディスク１３９は、記憶領域として複数のセクタを有する。制御部１３０は、データの読み取りができなかったセクタを直ちに不良セクタとして認識せず、代替処理保留セクタとして認識する。そして、制御部１３０は、代替処理保留セクタに対して、改めて読み取り処理を行い、正常に読み取り処理ができない場合、代替処理保留セクタを不良セクタとして認識する。不良セクタが発生した際に、制御部１３０が、不良セクタの代わりに代替セクタを割り当てる処理を代替セクタ処理と称する。ＮＶＲＡＭ１３３は、代替セクタが割り当てられた不良セクタを代替処理セクタとして記憶する。
【００１９】
磁気ヘッド１３８は、書き込み処理時において、磁気ディスク１３９の所定のセクタに対して磁束を発生させ、セクタを磁化させることでデータを記憶する。また、磁気ヘッド１３８は、読み取り処理時において、磁化されたセクタが保持する電荷によって生じる磁束によって電流が発生する。リードライト信号処理部１３６は、書き込み処理時に、データに応じた磁束を磁気ヘッド１３８に生じさせる。また、読み込み処理時に、リードライト信号処理部１３６は、磁気ヘッド１３８で生じた電流によって論理情報（「１」または「０」）を判定する。
【００２０】
次に、情報処理装置２００の起動処理におけるＨＤＤ１１５の動作ついて説明する。ＨＤＤ１１５に電源が供給されると、情報処理装置２００は起動処理を開始する。制御部１３０は、ＨＤＤ１１５を駆動するための初期化を実行し、その後、ヘッド駆動部１３５、ディスク駆動部１３４の駆動診断を実施する。制御部１３０は、駆動診断において問題がないと判定した場合、スピンドルモーター１４０を駆動させて、磁気ディスク１３９を回転させる制御を行う。磁気ディスク１３９の回転数が安定すると、制御部１３０は回転数が安定したことを検出する。制御部１３０が、磁気ディスク１３９の回転数の安定を検出すると、磁気ディスク１３９の各セクタからデータの読み取りが可能となる。そして、制御部１３０は、ヘッド駆動部１３５を駆動させ、磁気ヘッド１３８を磁気ディスク１３９上に移動させる制御を行う。磁気ヘッド１３８が磁気ディスク１３９内に保存されたシステム情報を読み取り、ＣＰＵ１０６がＨＤＤ１１５に記憶されたシステムプログラムを実行することで情報処理装置２００の起動処理が行われる。
【００２１】
制御部１３０は、ＳＡＴＡＩ／Ｆ１２０およびホストＩ／Ｆを介してＨＤＤコントローラ１１４からのＳＡＴＡコマンドを受け付ける。制御部１３０は、ＨＤＤ１１５が受け付けたＳＡＴＡコマンドに基づき、磁気ディスク１３９の特定のセクタへのアクセスやデータの読み取り、データの書き込み等の処理を行う。その際、制御部１３０は、ヘッド駆動部１３５を動作させ、磁気ヘッド１３８を磁気ディスク１３９上の外側にあるホームポジションから磁気ディスク１３９上に移動させる処理（いわゆるロード処理）を実行する。磁気ヘッド１３８が磁気ディスク１３９上に位置している状態をロード状態という。
【００２２】
データの読み取り処理では、ロード状態で、セクタに保持された電荷量から、磁気ヘッド１３８とセクタとの間の磁束に応じて磁気ヘッド１３８に電流が流れる。上述したように、磁気ヘッド１３８に流れる電流の量によって、リードライト信号処理部１３６が論理情報（「１」または「０」）を判定する。
【００２３】
データの書き込み処理では、ロード状態で、磁気ヘッド１３８が生成した磁束によって所定のセクタが磁化されることで、セクタに所定の電荷量が保持される。制御部１３０は、ロード維持時間（ロード状態を維持する時間）に関する情報を、図１に示されるＨＤＤコントローラ１１４からＳＡＴＡＩ／Ｆ１２０およびホストＩ／Ｆ１３１を介して受け取る。磁気ディスク１３９へのデータの読み取りや書き込み、消去等の処理を伴うジョブが完了した後で、ロード維持時間が経過した場合、制御部１３０は、磁気ヘッド１３８を磁気ディスク１３９上の外側に位置するホームポジションへと移動させる制御を実行する。上述した一連の処理をアンロード処理と称し、磁気ヘッド１３８がホームポジションにいる状態をアンロード状態と称する。また、制御部１３０は、スピンドルモーター１４０を駆動した際に、ロード回数およびアンロード回数についての情報を管理する。制御部１３０は、ロード回数およびアンロード回数についての情報を、ホストＩ／Ｆ１３１およびＳＡＴＡＩ／Ｆ１２０を介してＨＤＤコントローラ１１４に送信する。
【００２４】
図３は、磁気ディスク１３９のセクタの状態の一例を示す図である。セクタ２１は、正常に書き込み処理が行われなかったセクタを示し、セクタ２２は、正常に書き込み処理が行われたセクタを示す。書き込み処理では、磁気ヘッド１３８が生成した磁束によりセクタが磁化され、セクタには磁束に応じた電荷量が保持される。電荷量２３および電荷量２４は、通常の書き込み処理を行った際のセクタに保持される電荷量である。通常の書き込み処理は、セクタにデータの書き込み処理を１回行う処理である。
【００２５】
電荷量２４は、制御部１３０が磁気ディスク１３９のセクタ２２に対してデータの書き込み処理を行った際に、データの書き込み処理が正常に行われた場合の電荷量を示す。セクタ２２に対しては、磁気ヘッド１３８に異物２０が付着されていない状態でセクタ２２に対して、データの書き込み処理が行われている。異物２０としては、ゴミや埃等がある。電荷量２３は、セクタ２２に対して書き込まれたデータと同じデータがセクタ２１に書き込まれた場合に、正常に書き込み処理が行われなかった場合（ＷｅａｋＷｒｉｔｅ）の電荷量を示す。ＷｅａｋＷｒｉｔｅは、磁気ヘッド１３８に異物２０が付着された異常状態でセクタ２１へのデータの書き込み処理が行われた場合等に発生する。磁気ヘッド１３８に異物２０が付着していると、セクタ２１は異物２０によって磁気ヘッド１３８から受けられる磁束の量が減少する。その結果、セクタ２１の電荷量２３は、セクタ２２の電荷量２４と比べて少なくなる。
【００２６】
制御部１３０がＷｅａｋＷｒｉｔｅ時の電荷量２３でデータが保持されたセクタ２１のデータの読み取り処理を行う際、セクタ２１の電荷量２３は、読み取られたデータを正確に判定するために十分な電荷量でない場合がある。この場合、磁気ヘッド１３８に流れる電流が少なくなり、論理情報（「１」または「０」）を正しく読み取ることができない。つまり、セクタ２１のデータを正しく読み取ることができなくなる。データが読み取れなかったセクタは、代替処理がされるため、該セクタに対するアクセスはなくなることから、代替セクタの数が増加する。
【００２７】
図４は、磁気ディスク１３９のセクタの状態の他の例を示す図である。上述したセクタ２１に対して、ＷｒｉｔｅＶｅｒｉｆｙ処理（以下、単にＷｒｉｔｅＶｅｒｉｆｙとする）が実行されたときの電荷量を示す。ＷｒｉｔｅＶｅｒｉｆｙは、所定のセクタに１回目の書き込み処理を行った後、同じセクタに対してデータの読み取り処理を行い、正常にデータが書き込まれたかを検証する処理である。また、ＷｒｉｔｅＶｅｒｉｆｙでは、データの検証結果がエラー（Ｖｅｒｉｆｙエラー）である場合、１回目の書き込み処理を行ったセクタに対して２回目の書き込みが行われる。ＷｒｉｔｅＶｅｒｉｆｙは、検証手段としての制御部１３０の制御により行われる処理である。
【００２８】
図３に示されるように、ＷｅａｋＷｒｉｔｅにより、セクタ２１には、正常にデータを読み取ることができない不十分な電荷量２３が保持されている。セクタ２１に対して１回目の書き込み処理が行われた後、磁気ヘッド１３８が、磁気ディスク１３９の上空を物理的に周回した後（例えば、１周移動した後）、セクタ２１からデータの読み取り処理が行われる。セクタ２１に対しては、ＷｅａｋＷｒｉｔｅによるデータの書き込みが行われているため、セクタ２１から正確にデータを読み取ることができない。そこで、ＷｒｉｔｅＶｅｒｉｆｙでは、２回目の書き込み処理が行われる。２回目の書き込み処理では、１回目の書き込み処理と同じデータの書き込みが行われる。
【００２９】
ここで、ＷｒｉｔｅＶｅｒｉｆｙでは、１回目の書き込み処理の後、読み取り処理を行うために磁気ヘッド１３８が物理的に移動する。磁気ヘッド１３８が物理的に移動することにより、図４に示されるように、磁気ヘッド１３８に付着していた異物２０が取り除かれることがある。この場合、異物２０がない正常な状態で２回目の書き込み処理を行うことができる。これにより、セクタ２１に対して十分な電荷量２５でデータを書き込むことが可能になる。ＷｒｉｔｅＶｅｒｉｆｙが行われることで、磁気ヘッド１３８に付着していた異物２０が取り除かれた場合、セクタに対して十分な電荷量で書き込むことができる。これにより、不良セクタが増加することを抑制できるとともに、代替セクタの使用量を少なくすることもできる。
【００３０】
ＷｒｉｔｅＶｅｒｉｆｙは、システム情報やユーザデータの更新情報等を、ＨＤＤ１１５に記憶する際に行われることが好ましい。システム情報やユーザデータの更新情報は、情報処理装置２００の起動に必要な情報である。システム情報やユーザデータの更新情報がＨＤＤ１１５に記憶する際にＷｒｉｔｅＶｅｒｉｆｙが行われることで、システム情報やユーザデータの更新情報を正確にＨＤＤ１１５に記憶させることができる。
【００３１】
図５は、代替セクタ処理を説明する図である。制御部１３０は、代替処理保留セクタと代替処理セクタと通常セクタと代替セクタとを区別して認識しているものとする。代替処理保留セクタは、制御部１３０が、不安定なセクタとして認識したセクタである。そして、代替処理セクタは、制御部１３０が、正常にデータを読み取れないセクタ（不良セクタ）として認識したセクタであり、代替処理が行われたセクタである。代替セクタは、代替処理セクタの代わりに制御部１３０が代替処理を行ったセクタである。代替セクタは、代替領域として予め割当てられている。
【００３２】
図５の例では、ＨＤＤ１１５が待機状態のときに、ＨＤＤ１１５のセクタ２１に十分な電荷量でデータが書き込まれていない状態を示している。制御部１３０は、ＨＤＤ１１５が待機状態のとき、磁気ディスク１３９の全てのセクタに対して読み取り処理を実行する。図５の例において、制御部１３０は、セクタ２１に対して読み取り処理を行う。セクタ２１の電荷量２３は、ＷｅａｋＷｒｉｔｅにより、正常にデータを読み取ることができない電荷量である。従って、制御部１３０は、セクタ２１を、代替処理保留セクタとしてＳＭＡＲＴ情報に登録する。これにより、セクタ２１は、代替処理保留セクタとなる。その後、ＨＤＤ１１５が待機状態のときに、制御部１３０は、磁気ディスク１３９の全てのセクタに対して読み取り処理を実行する。これにより、代替処理保留セクタとしてＳＭＡＲＴ情報に登録されたセクタ２１に対して、再度の読み取り処理が行われる。このとき、制御部１３０は、全てのセクタではなく代替処理保留セクタに絞って読み取り処理を実行してもよい。
【００３３】
代替処理保留セクタとなったセクタ２１から、データを正常に読み取ることができない場合、制御部１３０は、セクタ２１を代替処理が必要な不良セクタであると認識する。そして、制御部１３０は、不良セクタとして認識されたセクタ２１に対して、代替セクタ２６を割り当てる。制御部１３０は、不良セクタとして認識されたセクタ２１を、代替処理が行われた代替処理セクタとしてＳＭＡＲＴ情報に登録する。次回以降、代替処理セクタとして認識されたセクタ２１に対するアクセスが発生した場合に、制御部１３０は、セクタ２１ではなく、代替セクタ２６にアクセスするよう制御する。一方、セクタ２１からデータを正常に読み取ることができた場合、制御部１３０は、代替処理保留セクタとして認識されていたセクタ２１を、通常のセクタとして認識し、セクタ２１を通常のセクタとしてＳＭＡＲＴ情報を更新する。
【００３４】
図６は、磁気ディスク１３９における、代替処理保留セクタ３０１、代替セクタ３０２、代替処理セクタ３０３および代替セクタ用領域３００を示す図である。制御部１３０は、代替処理保留セクタ３０１に対してデータを書き込む。制御部１３０は、代替処理保留セクタ３０１に書き込まれたデータを正常なデータとして読み出せなかった場合、代替処理保留セクタ３０１を、代替処理されたセクタであることを示す代替処理セクタとしてＳＭＡＲＴ情報に登録する。制御部１３０は、代替処理セクタ３０３の代わりに、代替セクタ用領域３００から代替セクタ３０２を割り当てる。
【００３５】
図７は、磁気ディスク１３９のセクタ４００にＷｒｉｔｅＶｅｒｉｆｙを行ったときに、Ｖｅｒｉｆｙエラーが発生した場合の処理の一例を示す図である。図７（Ａ）は、セクタ４００にデータの書き込み処理（Ｗｒｉｔｅ）が行われた状態を示す。図７（Ｂ）は、セクタ４００に対してＶｅｒｉｆｙ処理が行われた結果、データがセクタ４００に正常に書き込まれていないことを表すＶｅｒｉｆｙエラーが発生したことを示す。図７（Ｃ）は、セクタ４００に対して２回目の書き込み処理（Ｗｒｉｔｅ）が行われたことを示す。図７（Ｄ）は、図７（Ｃ）の後に、再度、Ｖｅｒｉｆｙ処理が行われた結果、セクタ４００が通常のセクタ（正常にデータを読み取ることができるセクタ）であることを示す（ＶｅｒｉｆｙＯＫ）。
【００３６】
Ｖｅｒｉｆｙエラーが発生した場合、制御部１３０は、ＷｒｉｔｅＶｅｒｉｆｙを所定の上限回数まで繰り返す。本実施形態では、ＷｒｉｔｅＶｅｒｉｆｙの上限回数は２５６回であるものとして説明するが、上限回数は任意の値であってもよい。制御部１３０は、検証結果がＯＫ（ＶｅｒｉｆｙＯＫ）となるまで、セクタ４００に対して、ＷｒｉｔｅＶｅｒｉｆｙを最大２５６回まで繰り返す。制御部１３０は、ＷｒｉｔｅＶｅｒｉｆｙの回数が２５６回に至るまでにＶｅｒｉｆｙＯＫであると判定した場合、セクタ４００を正常なセクタとして認識する。制御部１３０は、ＷｒｉｔｅＶｅｒｉｆｙの回数が２５６回に至ったときは、セクタ４００に対して代替処理を実行する。図８は、磁気ディスク１３９における、Ｖｅｒｉｆｙエラーが発生した回数が第１の閾値以上となったセクタ４０１を示す図である。制御部１３０は、Ｖｅｒｉｆｙエラーが発生した回数を認識している。
【００３７】
次に、図９のフローチャートを参照して、Ｗｒｉｔｅコマンド発行処理について説明する。ＣＰＵ１０６は、ＨＤＤ１１５に対してＷｒｉｔｅコマンドを発行する（Ｓ１００）。ＨＤＤ１１５は、Ｗｒｉｔｅコマンドに基づいて、磁気ディスク１３９のセクタに対してデータの書き込み処理を行い、書き込みが完了すると、書き込み完了の通知（Ａｃｋ）をＣＰＵ１０６に送信する。ＣＰＵ１０６は、ＳＡＴＡ  Ｉ／Ｆ１２０を介して書き込み完了の通知を受信したかを判定する（Ｓ１０１）。Ｓ１０１でＮｏと判定された場合、フローは、次のステップに進まない。Ｓ１０１でＹｅｓと判定された場合、Ｗｒｉｔｅコマンド発行処理は終了する。
【００３８】
次に、図１０のフローチャートを参照して、ＨＤＤ処理について説明する。制御部１３０は、ＳＡＴＡ  Ｉ／Ｆ１２０を介してＣＰＵ１０６からＷｒｉｔｅコマンドを受信すると、磁気ヘッド１３８を対象のセクタの上に移動させる。対象のセクタは、例えば、Ｗｒｉｔｅコマンドで指定されるセクタであり、Ｗｒｉｔｅの対象となるセクタである。そして、制御部１３０は、ＷｒｉｔｅＶｅｒｉｆｙを対象のセクタに対して行う。まず、制御部１３０は、対象のセクタに対するデータのＷｒｉｔｅ処理を行う（Ｓ１０２）。次に、制御部１３０は、データが書き込まれたセクタに対してＶｅｒｉｆｙ処理を行う（Ｓ１０３）。制御部１３０は、Ｖｅｒｉｆｙを行ったときに、Ｖｅｒｉｆｙエラーが発生したかを判定する（Ｓ１０４）。Ｓ１０４でＹｅｓと判定された場合、制御部１３０は、ＷｒｉｔｅＶｅｒｉｆｙを実行したセクタに対してＶｅｒｉｆｙエラーが発生した回数をカウント値Ａとして計測する。
【００３９】
制御部１３０は、カウント値Ａが上述した所定の上限回数未満であるかを判定する（Ｓ１０５）。例えば、所定の上限回数（本実施形態では２５６回）は、ＨＤＤの固有値に応じた回数である。ＨＤＤの固有値は、ＨＤＤ１１５の製品に応じて予めＨＤＤ１１５に設定される値である。Ｓ１０５でＹｅｓと判定された場合、Ｖｅｒｉｆｙエラーが発生した回数は上限回数に達していない。この場合、制御部１３０は、カウント値Ａをインクリメントする（Ｓ１０６）。カウント値Ａの初期値はゼロである。制御部１３０は、Ｓ１０２と同様、対象のセクタに対するデータのＷｒｉｔｅ処理を行う（Ｓ１０７）。そして、制御部１３０は、Ｓ１０３と同様、データが書き込まれたセクタに対してＶｅｒｉｆｙ処理を実行する（Ｓ１０８）。制御部１３０は、Ｖｅｒｉｆｙ処理を実行した結果、Ｖｅｒｉｆｙエラーが発生したかを判定する（Ｓ１０９）。例えば、図７（Ｂ）のように、Ｖｅｒｉｆｙエラーが発生した場合、Ｓ１０９でＹｅｓと判定される。この場合、フローは、Ｓ１０５に移行する。従って、Ｓ１０９でＮｏと判定されるまで、対象のセクタに対してＷｒｉｔｅＶｅｒｉｆｙが繰り返される。カウント値Ａは、データがセクタに正常に書き込まれたと判定されるまでに行われた検証の回数を示す。
【００４０】
Ｓ１０５でＮｏと判定された場合、制御部１３０は、代替セクタ処理を実行する（Ｓ１１０）。図１１を参照して、代替セクタ処理について説明する。代替セクタ処理は、カウント値Ａが所定の上限回数に至った場合に行われる。従って、制御部１３０は、セクタから正常なデータを読み出せない。制御部１３０は、ＮＶＲＡＭ１３３に、対象のセクタを代替処理保留セクタとしてＳＭＡＲＴ情報に登録する（Ｓ３０１）。そして、制御部１３０は、ＨＤＤ１１５が待機状態のとき、磁気ディスク１３９の全てのセクタに対して読み取り処理を行う（Ｓ３０２）。
【００４１】
制御部１３０は、Ｓ３０２の処理の結果、対象のセクタからデータを正常に読み出すことができたかを判定する（Ｓ３０３）。Ｓ３０３でＹｅｓと判定された場合、対象のセクタからデータを正常に読み出すことができる。そこで、制御部１３０は、対象のセクタを、代替処理保留セクタから通常のセクタに認識を変更し、ＳＭＡＲＴ情報を更新する（Ｓ３０４）。
【００４２】
Ｓ３０３でＮｏと判定された場合、制御部１３０は、対象のセクタ（Ｓ３０１で代替処理保留セクタとしてＳＭＡＲＴ情報に登録されたセクタ）を不良セクタとして認識する（Ｓ３０５）。そして、制御部１３０は、Ｓ３０５で認識された不良セクタに対して代替セクタ３０２を割り当てる（Ｓ３０６）。制御部１３０は、Ｓ３０５で認識された不良セクタを、代替処理が行われた代替処理セクタ３０３としてＳＭＡＲＴ情報に登録する（Ｓ３０７）。制御部１３０は、次回以降、代替処理セクタ３０３となったセクタに対するアクセスが発生した場合、代替セクタ３０２にアクセス先を変更する（Ｓ３０８）。Ｓ３０４またはＳ３０８の処理が行われた後、代替セクタ処理は終了する。
【００４３】
図１０において、Ｓ１０９でＮｏと判定された場合、またはＳ１１０の処理が行われた場合、制御部１３０は、Ｖｅｒｉｆｙエラーが発生した回数を示すカウント値Ａが第１の閾値以上となったかを判定する（Ｓ１１１）。カウント値Ａは、Ｖｅｒｉｆｙエラーが発生した回数を示すとともに、ＷｒｉｔｅＶｅｒｉｆｙが行われた回数を示す。制御部１３０は、制御部１３０はカウント値Ａが第１の閾値以上であるかを判定する（Ｓ１１１）。カウント値Ａを判定する際の上限回数が２５６回の場合、例えば、第１の閾値は１０回に設定される。セクタの経年劣化が進むと、不良セクタでなくても、ＷｒｉｔｅＶｅｒｉｆｙが行われた回数は増加する。第１の閾値は、セクタの経年劣化が進んでいるかを判定するための指標となる。第１の閾値は、１０回以外の値に設定されてもよい。ただし、第１の閾値は、対象のセクタが不良セクタになっているかを判定する閾値ではなく、セクタの経年劣化が進んでいるかを判定するための閾値である。このため、第１の閾値は、上記の上限回数より小さい値となる。
【００４４】
Ｓ１１１でＹｅｓと判定された場合、制御部１３０は、対象のセクタがＳＭＡＲＴ情報に登録されたセクタであるかを判定する（Ｓ１１２）。Ｓ１１２でＮｏと判定された場合、対象のセクタは、ＳＭＡＲＴ情報には登録されていないが、ＷｒｉｔｅＶｅｒｉｆｙが行われた回数が多いセクタである。そこで、制御部１３０は、対象のセクタを新たにＳＭＡＲＴ情報に登録する（Ｓ１１３）。そして、制御部１３０は、カウント値Ｂをインクリメントする（Ｓ１１４）。カウント値Ｂの初期値はゼロである。カウント値Ｂは、対象のセクタが、不良セクタではないが、ＷｒｉｔｅＶｅｒｉｆｙが行われた回数が多いセクタの数を示す。上述したように、ＷｒｉｔｅＶｅｒｉｆｙが行われた回数が多いセクタは、経年劣化が進んでいる可能性が高い。従って、カウント値Ｂは、経年劣化が進んでいる可能性が高いセクタの数を示す。
【００４５】
制御部１３０は、カウント値Ｂが第２の閾値以上であるかを判定する（Ｓ１１５）。第２の閾値は任意の値に予め設定できる。本実施形態では、第２の閾値は「５」であるものとする。Ｓ１１５でＹｅｓと判定された場合、経年劣化が進んでいる可能性が高いセクタが多いことになる。この場合、制御部１３０は、カウント値Ｂが第２の閾値を超えた旨の通知をＣＰＵ１０６に送信する。そして、ＣＰＵ１０６は、警告通知処理を行う（Ｓ１１６）。
【００４６】
図１２のフローチャートを参照して、警告通知処理について説明する。ＣＰＵ１０６は、制御部１３０からＳＡＴＡ  Ｉ／Ｆ１２０を介してカウント値Ｂが閾値を超えた旨の情報を受信する（Ｓ２０２）。ＣＰＵ１０６は、ＨＤＤの寿命が近い旨の警告（ＨＤＤ１１５に故障が生じる予兆があることを示す警告）を、操作部１０１に表示する（Ｓ２０３）。警告通知処理は、経年劣化が進んでいる可能性が高いセクタが多いことに起因して行われる。従って、ＣＰＵ１０６は、ＨＤＤ１１５の寿命が近いことを警告する情報を、ＨＤＤ１１５に故障が生じる予兆があることを警告する情報として、操作部１０１に表示してもよい。例えば、操作部１０１がタッチパネルディスプレイにより構成されている場合、ＣＰＵ１０６は、タッチパネルディスプレイに警告表示を行う。また、情報処理装置２００が所定の表示部を有している場合、ＣＰＵ１０６は、該表示部に警告表示を行ってもよい。また、ＣＰＵ１０６は、ネットワークＩ／Ｆ１１７を通じて、外部装置にＨＤＤ１１５の寿命が近いことを通知する（Ｓ２０４）。これにより、情報処理装置２００から離れた場所にある外部装置を操作するユーザに、ＨＤＤ１５５の寿命が近いことを提示することができる。ネットワークＩ／Ｆ１１７がインターネット等のネットワークに接続されていない場合、Ｓ２０４の処理は実行されなくてもよい。
【００４７】
図１０に示されるように、Ｓ１１５でＮｏと判定された場合、Ｓ１１６の警告通知処理は実行されない。Ｓ１１１でＮｏと判定された場合、Ｓ１１２でＹｅｓと判定された場合、Ｓ１１５でＮｏと判定された場合またはＳ１１６の処理が実行された場合、制御部１３０は、カウント値Ａをリセットする（Ｓ１１７）。Ｓ１０４でＮｏと判定された場合またはＳ１１７の処理が実行された場合、制御部１３０は、ＳＡＴＡ  Ｉ／Ｆ１２０を介して書き込み完了を示すＡｃｋ（ＷｒｉｔｅＡｃｋ）をＣＰＵ１０６に送信する（Ｓ１１８）。そして、ＨＤＤ処理が終了する。
【００４８】
図９に示されるように、ＣＰＵ１０６は、Ｓ１００において、ＨＤＤ１１５に対してＷｒｉｔｅコマンドを発行する。これにより、図１０のＨＤＤ処理が行われる。従って、ＣＰＵ１０６がＷｒｉｔｅコマンドを発行するごとに、図１０のＨＤＤ処理が行われるため、カウント値Ａが第１の閾値以上であるセクタの数（カウント値Ｂ）が増加していく。そして、Ｓ１１５で、カウント値Ｂが第２の閾値以上となったとき、Ｓ１１６の警告通知処理が行われる。
【００４９】
以上説明したように、制御部１３０は、ＶｅｒｉｆｙＯＫとなるまで対象のセクタに対してＷｒｉｔｅＶｅｒｉｆｙが行われた回数（カウント値Ａ）をカウントし、カウント値Ａが第１の閾値以上となったかを判定する。これにより、制御部１３０は、対象のセクタに経年劣化が進んでいる可能性が高いかを認識できる。そして、制御部１３０は、カウント値Ｂ（カウント値Ａが第１の閾値以上と判定されたセクタの数）が第２の閾値以上であるかを判定する。カウント値Ｂが第２の閾値以上である場合、経年劣化が進んでいる可能性が高いセクタが多いことになる。この場合、制御部１３０は、経年劣化が進んでいる可能性が高いセクタが多いと判定したことから、ＨＤＤ１１５に故障が生じる予兆を警告することができる。これにより、ユーザは、ＨＤＤ１１５の故障の予兆を認識できることから、実際に故障が生じる前にＨＤＤ１１５の交換作業を行うことができる。また、制御部１３０は、セクタからデータを読み取ることができない場合でも、ＷｒｉｔｅＶｅｒｉｆｙが行われることにより、磁気ヘッド１３８に付着していた異物２０が取り除かれることがある。これにより、不良セクタの増加率を抑制することができる。
【００５０】
以上、本発明の好ましい実施の形態について説明したが、本発明は上述した各実施の形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。本発明は、上述の各実施の形態の１以上の機能を実現するプログラムを、ネットワークや記憶媒体を介してシステムや装置に供給し、そのシステム又は装置のコンピュータの１つ以上のプロセッサーがプログラムを読み出して実行する処理でも実現可能である。また、本発明は、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００５１】
２１、２２  セクタ
１０１      操作部
１０６      ＣＰＵ
１１５      ＨＤＤ
１３０      制御部
１３９      磁気ディスク
２００      情報処理装置
【図１】
2020173549.tif 000003
【図２】
2020173549.tif 000004
【図３】
2020173549.tif 000005
【図４】
2020173549.tif 000006
【図５】
2020173549.tif 000007
【図６】
2020173549.tif 000008
【図７】
2020173549.tif 000009
【図８】
2020173549.tif 000010
【図９】
2020173549.tif 000011
【図１０】
2020173549.tif 000012
【図１１】
2020173549.tif 000013
【図１２】
2020173549.tif 000014