(57)【要約】      （修正有）【課題】すべての書き込み処理でＷｒｉｔｅＶｅｒｉｆｙを実行する場合には、ＷｅａｋＷｒｉｔｅによる使用できないセクタの増加を抑制することが可能であり、ＨＤＤの寿命を延ばすことが可能である。しかしながら、ＷｒｉｔｅＶｅｒｉｆｙでは、データの書き込みを行った後、読み出しを行うために磁気ヘッドを移動させるため、すべての書き込み処理で実行するとＨＤＤのパフォーマンスを低下させてしまうおそれがある。【解決手段】書込み処理の切り替えフローチャートにおいて、ステップＳ１０２において代替処理セクタ数又は計算結果が閾値以上であると判定した場合、ステップＳ１０９に遷移し、書き込み処理を通常書込み処理の第１書き込み処理からＷｒｉｔｅＶｅｒｉｆｙモード起動し第２書き込み処理に変更する。【選択図】図８
2020021523.tif 000002
【特許請求の範囲】
【請求項１】
ハードディスクを含む情報処理装置であって、
代替セクタに代替されたセクタに関する第１データを含む前記ハードディスクのＳＭＡＲＴ情報を少なくとも記憶する記憶手段と、
前記代替セクタに代替されたセクタに関する第１データと前記第１データに対応する閾値を比較し、前記第１データが前記閾値以上であるか否かを判定する判定手段と、
前記ハードディスクに第２データを書き込む第１書き込み処理、又は、前記ハードディスクに前記第２データを書き込み、前記第２データを書き込んだことに従って書き込んだデータの読み出しを行う第２書き込み処理を設定する設定手段と、
前記設定手段に設定された書き込み処理を変更する変更手段と、を有し、
前記変更手段は、前記判定手段において前記第１データが前記閾値以上であると判定されることによって、前記設定手段に設定された書き込み処理を前記第１書き込み処理から前記第２書き込み処理に変更することを特徴とする情報処理装置。
【請求項２】
前記第２書き込み手段は、前記書き込んだデータを正常に読み出せないことに従って、前記第２データを再び前記ハードディスクに書き込むことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記設定手段で設定された書き込み処理を実行する実行手段を更に有し、
前記変更手段によって前記第１書き込み処理から前記第２書き込み処理に変更されることで、前記実行手段は、前記代替セクタに代替されたセクタのすべてに対して、前記第２書き込み処理を実行し、前記記憶手段は、前記書き込んだデータを正常に読み出せた、前記代替セクタに代替されたセクタを通常セクタとして記憶することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記判定手段において前記第１データが前記閾値未満であると判定されることによって、前記ハードディスクの記憶領域として使用可能な全てのセクタに対して読み出しを行う読み出し手段をさらに有することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記記憶手段は、
前記読み出し手段によって読み出しが実行されたセクタのうち正常にデータを読み出せなかったセクタは、代替保留セクタとして記憶し、
前記読み出し手段によって読み出しが実行されたセクタであって、前記記憶手段によって代替保留セクタとして記憶されたセクタのうち正常にデータを読み出せなかった代替保留セクタは、代替セクタに代替されたセクタとして記憶することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記ＳＭＡＲＴ情報は、前記代替セクタに代替されたセクタの数の情報を含み、
前記第１データは、前記代替セクタに代替されたセクタの数であることを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
所定の期間における前記代替セクタに代替されたセクタの増加率を計算する計算手段を更に有し、
前記ＳＭＡＲＴ情報は、複数の時点における前記代替セクタに代替されたセクタの数を含み、
前記計算手段は、前記複数の時点における前記代替セクタに代替されたセクタの数から、前記所定の期間における前記代替セクタに代替されたセクタの増加率を計算し、
前記第１データは、前記計算手段によって計算された増加率であることを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項８】
前記複数の時点は、各年の各月であり、
前記所定の期間は、ひと月であることを特徴とする請求項７に記載の情報処理装置。
【請求項９】
ハードディスクを含む情報処理装置であって、
前記ハードディスクの使用に関する第１データを含む前記ハードディスクのＳＭＡＲＴ情報を少なくとも記憶する記憶手段と、
前記第１データと前記第１データに対応する閾値を比較し、前記第１データが前記閾値以上であるか否かを判定する判定手段と、
前記ハードディスクに第２データを書き込む第１書き込み処理、又は、前記ハードディスクに前記第２データを書き込み、前記第２データを書き込んだことに従って書き込んだデータの読み出しを行う第２書き込み処理を設定する設定手段と、
前記設定手段に設定された書き込み処理を変更する変更手段と、を有し、
前記変更手段は、前記判定手段において前記第１データが前記閾値以上であると判定されることによって、前記設定手段に設定された書き込み処理を前記第１書き込み処理から前記第２書き込み処理に変更することを特徴とする情報処理装置。
【請求項１０】
前記第２書き込み手段は、前記書き込んだデータを正常に読み出せないことに従って、前記第２データを再び前記ハードディスクに書き込むことを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
前記第１データは、前記ハードディスクのロード／アンロード回数であることを特徴とする請求項９または１０に記載の情報処理装置。
【請求項１２】
前記第１データは、前記ハードディスクの電源オン／オフ回数であることを特徴とする請求項９または１０に記載の情報処理装置。
【請求項１３】
前記第１データは、前記ハードディスクの通電時間であることを特徴とする請求項９または１０に記載の情報処理装置。
【請求項１４】
前記第１データは、前記ハードディスクのロード時間であることを特徴とする請求項９または１０に記載の情報処理装置。
【請求項１５】
前記第１データは、前記ハードディスクのロード／アンロード回数であることを特徴とする請求項９または１０に記載の情報処理装置。
【請求項１６】
操作者にハードディスクの交換を通知する通知手段と、を更に有し、
前記第１データが閾値以上であることによって、前記通知手段が、前記ハードディスクの交換を通知することを特徴とする請求項１乃至１５のいずれか１項に記載の情報処理装置。
【請求項１７】
画像データを用紙に印刷する印刷手段を更に有することを特徴とする請求項１乃至１６のいずれか１項に記載の情報処理装置。
【請求項１８】
少なくとも１つの原稿を読み取り、画像データを生成する読取手段を更に有することを特徴とする請求項１乃至１７のいずれか１項に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置に関する。
【背景技術】
【０００２】
近年、複合機（ＭＦＰ）に用いられるハードディスク（ＨＤＤ）は、ＭＦＰのシステム起動に必要なドライバ等のシステムデータや、ジョブに関するデータなどを記憶する構成となっている。
【０００３】
ＨＤＤは、磁気ヘッドを用いて記憶領域へデータを書き込む。磁気ヘッドにゴミが付着した場合には、書き込み処理（Ｗｒｉｔｅ）したときに十分な電荷量でセクタに書込めないおそれがある（ＷｅａｋＷｒｉｔｅ）。
【０００４】
このＷｅａｋＷｒｉｔｅによって書き込まれたデータは帯電量が少なく、該データを読み取ろうとした時に帯電量が少ないことでデータを正常に読み取れず読み出しエラーとなってしまう。このようなデータが記憶されたセクタは、不良セクタとして扱われる。例えば、特許文献１では、ＨＤＤが待機状態のときにリードテストを行うことでディスク上に存在する不良セクタを見つけ出し、その不良セクタの代わりに予め用意された代替セクタを割り当てている。また、ライトテストを行うことで、磁気ヘッドの異常をユーザに知らせていた。
【０００５】
しかしながら、不良セクタが沢山発生すると、予め用意された代替セクタでは足りなくなるおそれがある。そのような場合には、ハードディスクを使用した際に、不良セクタにアクセスすることになる可能性があり、正常なデータを読み出す事が出来なくなるおそれがある。そして、システム起動に必要なドライバの読込時や、ユーザ領域に保存されている画像データの印刷時に正常なデータを読み出す事が出来ず、エラー故障表示が発生し、ＨＤＤの交換処理となってしまうおそれがある。
【０００６】
一方、ＨＤＤの書き込み処理としてベリファイ（ＷｒｉｔｅＶｅｒｉｆｙ）というものがある。ＷｒｉｔｅＶｅｒｉｆｙは、データを記憶領域に書き込むと、確認のための読み出しを行う書き込み処理である。ＷｒｉｔｅＶｅｒｉｆｙでは、ＨＤＤの仕様上、書き込み処理を行った後、読み出しを行うために磁気ヘッドを移動させる。そのため、ＷｒｉｔｅＶｅｒｉｆｙによれば、磁気ヘッドの移動により磁気ヘッドにゴミが付着していたとしても、磁気ヘッドの移動によってゴミをとることが可能となる。つまり、ＷｅａｋＷｒｉｔｅによって生じる使用できないセクタの発生を抑制することが可能となる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００１−５６１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
すべての書き込み処理でＷｒｉｔｅＶｅｒｉｆｙを実行する場合には、ＷｅａｋＷｒｉｔｅによる使用できないセクタの増加を抑制することが可能であり、ＨＤＤの寿命を延ばすことが可能である。しかしながら、ＷｒｉｔｅＶｅｒｉｆｙでは、データの書き込みを行った後、読み出しを行うために磁気ヘッドを移動させるため、すべての書き込み処理で実行するとＨＤＤのパフォーマンスを低下させてしまうおそれがある。
【０００９】
本発明の情報処理装置はこのような課題に鑑み、ＨＤＤのパフォーマンスとＨＤＤの寿命とを両立することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、ハードディスクを含む情報処理装置であって、代替セクタに代替されたセクタに関する第１データを含む前記ハードディスクのセクタ情報を少なくとも記憶する記憶手段と、代替セクタに代替されたセクタに関する第１データと第１データに対応する閾値を比較し、第１データが前記閾値以上であるか否かを判定する判定手段と、ハードディスクに第２データを書き込む第１書き込み処理、又は、ハードディスクに第２データを書き込み、第２データを書き込んだことに従って書き込んだデータの読み出しを行う第２書き込み処理を設定する設定手段と、設定手段に設定された書き込み処理を変更する変更手段と、を有し、変更手段は、判定手段において第１データが閾値以上であると判定されることによって、設定手段に設定された書き込み処理を第１書き込み処理から第２書き込み処理に変更することを特徴とする。
【発明の効果】
【００１１】
本発明の情報処理装置によれば、ＨＤＤのパフォーマンスとＨＤＤの寿命とを両立することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】情報処理装置のシステム制御構成を示すブロック図
【図２】ＨＤＤの内部構造を示した図
【図３】ＳＭＡＲＴ情報を示した図
【図４】通常の書き込み処理を実行した際のセクタの状態およびＷｅａｋＷｒｉｔｅ処理を実行した際のセクタの状態を示した図
【図５】ＷｒｉｔｅＶｅｒｉｆｙ処理を実行した際のセクタの状態を示した図
【図６】代替セクタ処理を説明する図
【図７】代替セクタ、代替保留セクタ、代替処理セクタ、通常セクタの説明図
【図８】書き込み処理の切り替えフローチャート
【図９】閾値と代替処理セクタに関するデータとの比較図
【図１０】書き込み処理の切り替えフローチャート
【発明を実施するための形態】
【００１３】
（実施例１）
図１は、本実施例における情報処理装置２００のシステム制御構成を示すブロック図である。
【００１４】
情報処理装置２００は、コントローラ機能を実現するシステム制御コントローラ１００を有する。
【００１５】
システム制御コントローラ１００は、操作部１０１、スキャナ部１１０、プリンタ部１１３と電気的に接続されている。また、システム制御コントローラ１００は、ネットワークＩ／Ｆ１１７から、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を介してパーソナルコンピュータや外部の装置等と画像データやデバイス情報の通信が可能である。
【００１６】
システム制御コントローラ１００は、ＣＰＵ１０６、ＤＲＡＭ１０３、ＲＯＭ１０７、ＳＡＴＡＩ／Ｆ１０４、ＳＳＤ１０５、操作部１０１、ＳＲＡＭ１１９を有する。さらに、システム制御コントローラ１００は、ネットワークＩ／Ｆ１１７を有する。スキャナ画像処理部１０８、スキャナＩ／Ｆ１０９、プリンタ画像処理部１１１、プリンタＩ／Ｆ１１２、ＨＤＤコントローラ１１４、ＳＡＴＡ／Ｆ１２０、ＨＤＤ１１５を有する。
【００１７】
ＣＰＵ１０６は、後述のＤＲＡＭ１０３に格納されたソフトウェアプログラムを実行し、装置全体の制御を行う。
【００１８】
ＲＯＭ１０７は、例えばブートプログラムや固定パラメータ等を格納している。なお、ＲＯＭ１０７には、ＨＤＤ１１５の制御コマンドも記憶される。なお、ＨＤＤ１１５の制御コマンドは、後述のＳＳＤ１０５に記憶されていても、後述のＳＲＡＭ１１９に記憶されていてもよい。
【００１９】
ＤＲＡＭ１０３（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）は、ＣＰＵ１０６が情報処理装置２００を制御する際に、プログラムや一時的なデータの格納などに使用される。なお、ＤＲＡＭ１０３に記憶されたプログラムやデータは電源オフにより消去される。
【００２０】
ＳＲＡＭ１１９（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）は、属性情報などを記憶する。
【００２１】
なお、ＳＲＡＭ１１９は、記憶した内容を電源オフ後も保持しておくように電池によるバックアップがされている。
【００２２】
ＨＤＤ１１５は、ＣＰＵ１０６が実行するプログラムや各種データを記憶するメインストレージである。なお、ＨＤＤ１１５が待機状態の時には、システム制御コントローラ１００が通電状態となる。
【００２３】
ＨＤＤコントローラ１１４は、ＳＡＴＡＩ／Ｆ１２０を介してＨＤＤ１１５に接続される。ＨＤＤコントローラ１１４は、ＨＤＤ１１５に読み取り処理や書き込み処理などを行わせる制御をする。
【００２４】
ＳＳＤ１０５は、ＣＰＵ１０６が実行するプログラムを記憶する。ＳＳＤ１０５は、ＳＡＴＡＩ／Ｆ１０４を介してシステムバス１１６に接続される。
【００２５】
操作部Ｉ／Ｆ１０２は、システムバス１１６と操作部１０１とを接続するインターフェースである。この操作部Ｉ／Ｆ１０２は、操作部１０１に表示する為の画像データをシステムバス１１６から受け取り、操作部１０１に出力すると共に、操作部１０１から入力された情報をシステムバス１１６へと出力する。ネットワークＩ／Ｆ１１７はＬＡＮとシステムバス１１６を接続するインターフェースである。
【００２６】
スキャナ部１１０では、少なくとも１つの原稿を読み取り、画像データを生成する。生成された画像データは、スキャナＩ／Ｆ１０９を介してスキャナ画像処理部１０８に送られる。スキャナ画像処理部１０８において処理された画像データは、ＤＲＡＭ１０３に送られ格納される。この画像データは必要に応じて画像処理が施され、再びＤＲＡＭ１０３に格納され、ＤＲＡＭ１０３からＨＤＤコントローラ１１４へ転送される。
【００２７】
この画像データはプリンタ画像処理部１１１に送られる。プリンタ画像処理部１１１において処理された画像データはプリンタＩ／Ｆ１１２を介してプリンタ部１１３に送られる。
【００２８】
プリンタ部１１３は、プリンタＩ／Ｆ１１２において受け付けた画像データを用紙に印刷する。
【００２９】
図２は、ＨＤＤ１１５の内部構成を示す図である。
【００３０】
ＨＤＤ１１５は、制御部１３０、ホストＩ／Ｆ１３１、ＲＡＭ１３２、ＮＶＲＡＭ１３３を有する。さらにＨＤＤ１１５は、ディスク駆動部１３４、ヘッド駆動部１３５、リードライト信号処理部１３６、アーム１３７、磁気ヘッド１３８、磁気ディスク１３９、及びスピンドルモーター１４０を有する。
【００３１】
ホストＩ／Ｆ１３１は、ＳＡＴＡＩ／Ｆ１２０を介してＨＤＤコントローラ１１４と通信するモジュールである。本例では、ホストＩ／Ｆ１３１として、シリアルＡＴＡ（Ｓｅｒｉａｌ  ＡＴ  Ａｔｔａｃｈｍｅｎｔ：以下、ＳＡＴＡ）インターフェースを用いるものとする。
【００３２】
制御部１３０は、ＨＤＤ１１５の読み取り処理、書き込み処理、代替セクタ処理等を制御する。
【００３３】
ＮＶＲＡＭ１３３には、ＳＭＡＲＴ情報４０が記憶されている。ＳＭＡＲＴ情報は、ＨＤＤ１１５の回転数や、ロード・アンロード回数、代替処理されたセクタの数などのセクタ情報、ＨＤＤ１１５の使用期間、電源オン／オフ回数、通電時間、ロード時間などのＨＤＤ１１５に関するパラメータ情報である。具体的な例を図３に示す。なお、閾値が、ＳＭＡＲＴ情報に含まれないデータである場合には、別途記憶する。
【００３４】
図３において、現在値は、ＳＭＡＲＴ情報を取得した時点での数値を示し、最悪値は、過去のＳＭＡＲＴ情報の中で最も悪かった値を示し、閾値は、後述の図９のように書き込み処理を変更する際の判断基準を示す。
【００３５】
代替保留セクタ数は、制御部１３０が読み出し処理において不安定だと判断したセクタの数を示す。具体的には、通常のセクタであって、読み出し処理においてエラーが発生すると、代替保留セクタとしてＮＶＲＡＭ１３３に記憶される。
【００３６】
代替処理セクタ数（代替処理済みセクタ数）は、他のセクタ（代替セクタ）で代替処理されたセクタの数を示す。代替処理セクタは、代替保留セクタの読み出し処理においてエラーが発生することで、代替処理セクタとしてＮＶＲＡＭ１３３に記憶される。なお、代替処理セクタは、代替処理された不良セクタを指す。
【００３７】
セクタ代替処理発生回数は、代替処理の発生回数を示す。
【００３８】
回復不可能セクタ数は、制御部１３０が先天的な不良だと判断した不良セクタや、すべての代替セクタを使用してしまい、代替処理セクタとして処理することが出来なかった不良セクタの数を示す。
【００３９】
このロード／アンロード回数は、ロード処理及びアンロード処理が実行された回数を示し、制御部１３０はこの処理が実行された時、この回数をインクリメントする。
【００４０】
電源ＯＦＦ／ＯＮ回数とは、ＨＤＤ１１５が起動した回数と、停止した回数を示す。制御部１３０は、ＣＰＵ１０６からのコマンドを受けて自身が起動した回数と停止した回数を判断し、この回数をインクリメントする。
【００４１】
この通電時間とはＨＤＤ１１５に電源が供給されている時間を示す。
【００４２】
このロード時間とは、磁気ヘッド１３８が磁気ディスク１３９上にいる状態、つまりロード状態となっている時間を示す。
【００４３】
ＲＡＭ１３２は、例えばキャッシュデータを記憶する。
【００４４】
ヘッド駆動部は、データの読み出し、書き込みをおこなう磁気ヘッド１３８の駆動を制御する。
【００４５】
ディスク駆動部は。磁気ディスク１３９の回転を制御する。
【００４６】
磁気ディスク１３９は、記憶領域として複数のセクタを有する。詳細は後述する。
【００４７】
なお、制御部１３０は、読み出し処理が出来なかったセクタをすぐに不良セクタとせずに、代替処理保留セクタとする。制御部１３０は、代替処理保留セクタに対して、改めて読み取り処理を行い、正常に読み取り処理ができないと、不良セクタとして扱う。また、制御部１３０が、不良セクタが発生した際に代わりに代替セクタを割り当てる処理を代替セクタ処理とよぶ。ＮＶＲＡＭ１３３は、代替セクタが割り当てられた不良セクタを代替処理セクタとして記憶する。詳細は後述の図６で説明する。
【００４８】
磁気ヘッド１３８は、書き込み処理時において、磁気ディスクの所定のセクタに対して磁束を発生させ、セクタを磁化させることでデータを記憶する。また、磁気ヘッド１３８は、読み取り処理時において、磁化されたセクタに保持される電荷によって生じる磁束によって電流を発生する。
【００４９】
リードライト信号処理部１３６は、書き込み処理時に、データに応じた磁束を磁気ヘッド１３８生じさせる。また、読み込み処理時に、磁気ヘッド１３８で生じた電流によって論理情報（「１」、「０」）を判断する。
【００５０】
図２の説明に戻る。図２を用いて情報処理装置２００の起動処理におけるＨＤＤ１１５の動作について説明する。
【００５１】
ＨＤＤ１１５に電源が供給されると、情報処理装置２００の起動処理を開始する。
【００５２】
制御部１３０は、ＨＤＤ１１５を駆動するための初期化を実行し、その後、ヘッド駆動部１３５、ディスク駆動部１３４の駆動診断を実施する。
【００５３】
制御部１３０が、駆動診断において問題無と判定すると、スピンドルモーター１４０を駆動させ、磁気ディスク１３９を回転させる。磁気ディスク１３９の回転数が安定すると、制御部１３０は回転数が安定したことを検出する。
【００５４】
制御部１３０が、回転数の安定を検出すると、データの読取が可能となる。そして制御部１３０が、ヘッド駆動部１３５を駆動させ、磁気ヘッド１３８を磁気ディスク１３９上に移動させる。磁気ヘッド１３８が磁気ディスク１３９内に保存されたシステム領域を読み取り、ＣＰＵ１０６がＨＤＤ１１５に記憶されたシステムプログラムを実行することで情報処理装置２００の起動処理を行う。
【００５５】
次に図２を用いてＨＤＤ１１５の各処理における動作について説明する。
【００５６】
制御部１３０は、ＳＡＴＡＩ／Ｆ１２０およびホストＩ／Ｆを介してＨＤＤコントローラ１１４からのＳＡＴＡコマンドを受け付ける。ＨＤＤ１１５が受け付けたＳＡＴＡコマンドに基づき、磁気ディスク１３９の特定のセクタへのアクセス、又は、データの読み出し、書き込み等の処理が行われる。
【００５７】
その際、制御部１３０は、ヘッド駆動部１３５を動作させ、磁気ヘッド１３８を磁気ディスク１３９上の外側にあるホームポジションから磁気ディスク１３９上に移動させる処理、いわゆるロード処理を実行する。磁気ヘッド１３８が磁気ディスク１３９上にいる状態をロード状態という。
【００５８】
データの読み取り処理では、ロード状態で所定のセクタに保持された電荷量から、磁気ヘッド１３８がセクタとの間の磁束に応じて磁気ヘッド１３８に電流が流れる。そして、前述したように磁気ヘッド１３８に流れる電流の量によって、リードライト新処理部が論理情報（「１」、「０」）を判断する。
【００５９】
データの書き込み処理では、ロード状態で磁気ヘッド１３８が生成した磁束によって所定のセクタが磁化され、セクタに所定の電荷量を保持させる。
【００６０】
なお、制御部１３０は、ロード維持時間に関する情報を、ＨＤＤコントローラ１１４からＳＡＴＡＩ／Ｆ１２０およびホストＩ／Ｆ１３１を介して受け取っている。磁気ディスク１３９へのデータの読み出しや書き込み、消去等の処理を伴うジョブが完了した後で、ロード維持時間が経過した場合、制御部１３０は、磁気ヘッド１３８を磁気ディスク１３９上の外側に（ホームポジションへと）移動させる処理を実行する。この一連の処理をアンロード処理といい、磁気ヘッド１３８がホームポジションにいる状態をアンロード状態という。
【００６１】
また、制御部１３０は、スピンドルモーター１４０がＯＮした際に、ＮＶＲＡＭ１３３に格納されているＳＭＡＲＴ情報４０を更新、具体的には、ＳＭＡＲＴ情報４０内で保持されるロード／アンロード回数の値をインクリメントする。さらに、制御部１３０は、更新したＳＭＡＲＴ情報４０を、ホストＩ／Ｆ１３１およびＳＡＴＡＩ／Ｆ１２０を介してＨＤＤコントローラ１１４に送信する。
【００６２】
図４（Ａ）、（Ｂ）では、正常な書き込み処理を実行できた際のセクタの状態（図４（Ａ））と、正常に書き込み処理を実行できなかった際のセクタの状態（図４（Ｂ））を示す。
【００６３】
書き込み処理では、磁気ヘッド１３８が生成した磁束によりセクタが磁化され、セクタに磁束に応じた電荷量が保持される。
【００６４】
電荷量２３および電荷量２４は、通常の書き込み処理を行った際のセクタに保持される電荷量である。通常の書き込み処理は、データの書き込み処理を１度行う処理である。
【００６５】
図４（Ａ）における電荷量２３は、制御部１３０が磁気ディスク１３９のセクタ２２に対して、データの書き込み処理を正常に実行した場合の電荷量である。なお、図４（Ａ）では、磁気ヘッド１３８にゴミ２０が付着されていない状態でセクタ２２に対して、データの書き込み処理を実行している。
【００６６】
図４（Ｂ）における電荷量２４は、制御部１３０がセクタ２１に対して、同じデータの書き込み処理を正常に実行できなかった場合（ＷｅａｋＷｒｉｔｅ）の電荷量を示している。
【００６７】
ＷｅａｋＷｒｉｔｅは、磁気ヘッド１３８にゴミ２０が付着された状態（異常状態）でセクタ２１へのデータの書き込み処理を行うと発生する。磁気ヘッド１３８にゴミ２０が付着していると、セクタ２１はゴミ２０によって磁気ヘッド１３８から受けられる磁束の量が減る。その結果としてセクタ２１の電荷量２４は、セクタ２２の電荷量２３と比べて少なくなってしまう。
【００６８】
制御部１３０が、ＷｅａｋＷｒｉｔｅ時の電荷量２４でデータが保持されたセクタ２２のデータを読み取ろうとすると、電荷量２４がデータを正確に判断するために十分な電荷量でない場合は磁気ヘッド１３８に流れる電流が少なくなる。その場合は、論理情報（「１」、「０」）を正しく読み取れず、データが読み取れなくなる。データが読み取れなかったセクタは、代替処理され、アクセスされなくなり、代替セクタ数が増加する。
【００６９】
次に図５は、ＷｒｉｔｅＶｅｒｉｆｙ処理（以下、ＷｒｉｔｅＶｅｒｉｆｙ）でセクタ２１に対して行った時の電荷量を示す。
【００７０】
ＷｒｉｔｅＶｅｒｉｆｙは、所定のセクタに書き込み処理（１回目の書き込み処理）を実行した後、そのセクタに対して読み取り処理を実行する処理である。さらに、読み取り処理において正常にデータを読み取れない場合には、そのセクタに対してさらに書き込み処理（２回目の書き込み処理）を実行する処理である。
【００７１】
ここでは、１回目の書き込み処理の実行結果を図４（Ｂ）に示した状態であった場合を例として説明する。
【００７２】
セクタ２１に対して１回目の書き込み処理を行った後、磁気ヘッド１３８が、磁気ディスク１３９の上空を物理的に周って（１周移動する）から、読み取り処理を行う。ここでは、１回目の書き込みにおいて、ＷｅａｋＷｒｉｔｅが発生しているため、正常なデータを読み取ることが出来ない。そこで２回目の書き込み処理をさらに行う。２回目の書き込み処理では、１回目の書き込み処理と同じデータを書き込む。
【００７３】
なお、１回目の書き込み処理の後、読み取り処理を行うために磁気ヘッド１３８が物理的に移動することによって、磁気ヘッド１３８に付着していたゴミ２０が外れる。そのため、２回目の書き込み処理では、ゴミが外れた状態（正常状態）で２回目の書き込み処理を行うができ、正常な書き込み処理（セクタ２１に対して十分な電荷量２５でデータを書き込むこと）が可能になる。
【００７４】
そのため、ＷｒｉｔｅＶｅｒｉｆｙは、情報処理装置２００がＨＤＤ１１５に保存しているシステム情報や、ユーザデータの更新をＨＤＤ１１５に記憶する際に行うことが望まれる。なお、ＷｒｉｔｅＶｅｒｉｆｙを行うことで、セクタに対して十分な電荷量で書込むことが出来るため、不良セクタの増加を抑え、代替セクタの利用量を抑えることが可能となる。
【００７５】
図６では、代替セクタ処理について説明する。前提として、制御部１３０は、代替処理保留セクタと、代替処理セクタ、通常セクタ、代替セクタに分けて認識している。
【００７６】
代替処理保留セクタは、制御部が不安定なセクタとして認識したセクタである。そして、代替処理セクタは、制御部１３０が正常にデータを読み取れないセクタ（不良セクタ）として認識し、代替処理が行われたセクタである。代替セクタは、代替処理セクタの代わりに制御部１３０が代替処理したセクタである。なお代替セクタは、代替領域として予め割当てられている。
【００７７】
図６の説明に戻る。図６では、情報処理装置２００が待機状態の時にＨＤＤ１１５の所定のセクタが図４（Ｂ）の状態であった場合を例として説明する。
【００７８】
ＨＤＤ１１５が待機状態の時、制御部１３０は磁気ディスク１３９の全領域セクタに対して読み出し処理を実行する。つまり、図６（Ａ）では、図４（Ｂ）に対して、読み出し処理を実行している。そのとき、データを読み出そうとしたセクタがＷｅａｋＷｒｉｔｅによってセクタ２１の電荷量２４が正常なデータとして読み取れない状態だと、制御部１３０はセクタ２１を代替処理保留セクタとしてＳＭＡＲＴ情報に登録する。
【００７９】
図６（Ａ）でセクタ２１が代替処理保留セクタとなった後に、ＨＤＤ１１５が待機状態の時、制御部１３０は磁気ディスク１３９の全領域セクタに対して（又は、代替処理保留セクタに対して）読み出し処理を実行する。つまり、図６（Ｂ）では、図６（Ａ）に対して、読み出し処理を実行する。
【００８０】
このとき代替処理保留セクタとなったセクタ２１において、正常に読み取り処理ができないと、代替処理が必要な不良セクタとして扱う。そして、不良セクタに対して、代替セクタ２６を割り当て、この不良セクタを代替処理が行われた代替処理セクタとしてＳＭＡＲＴ情報に登録する。次回以降、代替処理セクタとなったセクタ２１に対応するアクセスが発生した場合に、代替セクタ２６にアクセスする。
【００８１】
なお、図６（Ａ）に対して読み出し処理をした結果、正常に読み取り処理ができた場合、制御部１３０は、代替処理保留セクタから通常のセクタとして認識を変更し、ＳＭＡＲＴ情報を更新する。
【００８２】
図７は、磁気ディスク１３９における、代替処理保留セクタ３０１と、代替セクタ３０２と、代替処理セクタ３０３と、代替セクタ用領域３００を示している。
【００８３】
制御部１３０は、代替処理保留セクタに対してデータを書き込み、そのデータを正常なデータとして読み出せなかった場合、代替処理されたセクタであることを示す代替処理セクタとしてＳＭＡＲＴ情報４０に登録する。図７において制御部１３０は、代替処理セクタ３０３の代わりに、代替セクタ用領域３００から代替セクタ３０２を割り当てる。
【００８４】
図８は、実施例１の書き込み処理の切り替えフローチャートを示している。
【００８５】
フローチャートを開始する時、制御部１３０は、通常の書き込み処理を行っているものとして説明する。
【００８６】
ステップＳ１０１において、情報処理装置２００が待機状態になった時、システム制御コントローラ１００は待機状態となり、ＨＤＤ１１５は待機状態となる。
【００８７】
ステップＳ１０２において、ＨＤＤ１１５が待機状態になると制御部１３０は、ＮＶＲＡＭ１３３からＳＭＡＲＴ情報を取得する。そして、制御部１３０は、ＳＭＡＲＴ情報に含まれる代替処理セクタ数または代替処理セクタ数を用いて計算した計算結果と、予めＮＶＲＡＭに記憶した閾値情報と比較する。なお、ここではＨＤＤ１１５が待機状態になるとすぐにＳＭＡＲＴ情報を取得する例を示すが、所定の時間がたってから行ってもよい。また、閾値情報は、ＮＶＲＡＭ１３３ではなく、ＲＯＭ１０７、ＳＳＤ１０５、ＨＤＤ１１５等に記憶されていてもよい。
【００８８】
代替処理セクタ数または計算結果が閾値以上である場合（磁気ヘッド１３８にゴミがついている可能性がある異常状態である場合）に、ステップＳ１０２からステップＳ１０９に遷移する。
【００８９】
代替処理セクタ数または計算結果が閾値よりも小さい場合（磁気ヘッド１３８にゴミがついていない通常状態である場合）に、ステップＳ１０３に遷移する。なお、予めＮＶＲＡＭに記憶した閾値情報は、操作者によって変更可能であってもよい。
【００９０】
ここで、図９に示す、閾値と代替処理セクタに関するデータとの比較図を用いて比較方法を説明する。ここでは、２つの比較方法を例として説明するが、これに限られない。
【００９１】
図９（Ａ）および図９（Ｂ）は、横軸がＨＤＤ１１５の稼働月数を示し、縦軸が代替処理セクタ数を示す。これらのデータは、ＮＶＲＡＭ１３３から取得したＳＭＡＲＴ情報４０に含まれる各月のセクタ数である。
【００９２】
まず図９（Ａ）は、所定の期間に対する代替処理セクタの増加率と閾値とを比較する比較方法である。
【００９３】
図９（Ａ）の構成において制御部１３０は、以下の式を満たす場合に異常状態であると判断する。
Ｎ＋１（Ｍｏｎｔｈ）の代替処理セクタ数−Ｎ（Ｍｏｎｔｈ）の代替処理セクタ数≧閾値・・・（１）
【００９４】
つまり、所定のＭｏｎｔｈのＳＭＡＲＴ情報４０から取得した代替処理セクタ数と、所定のＭｏｎｔｈの１Ｍｏｎｔｈ前に取得したＳＭＡＲＴ情報４０から取得した代替処理セクタ数との差分を計算し、閾値と比較する。制御部１３０は、増加率が閾値以上であれば、異常状態と判断し、増加率が閾値未満であれば正常状態であると判断する。
【００９５】
なお、本実施例において閾値は、例として２０００（セクタ数／Ｍｏｎｔｈ）を閾値とした場合について説明する。なお、ここでは所定の期間を１Ｍｏｎｔｈとし、閾値を２０００（セクタ数／Ｍｏｎｔｈ）とするがこれに限られない。
【００９６】
図９（Ａ）の構成では、０Ｍｏｎｔｈの代替処理セクタ数が０セクタを示し、１Ｍｏｎｔｈの代替処理セクタ数が５００を示している。そして、式（１）より、５００−０＜２０００となることから、制御部１３０は、１Ｍｏｎｔｈにおいて正常状態であると判断する。
【００９７】
一方、１Ｍｏｎｔｈの代替処理セクタ数が５００セクタを示し、２Ｍｏｎｔｈの代替処理セクタ数が３０００セクタを示している。式（１）より３０００−５００≧２０００となることから、制御部１３０は、２Ｍｏｎｔｈにおいて、異常状態になったと判断する。
【００９８】
次に図９（Ｂ）は、代替処理セクタの数と閾値とを比較する比較方法である。
【００９９】
図９（Ｂ）の構成において制御部１３０は、以下の式を満たす場合に異常状態であると判断する。
代替処理セクタ数≧閾値・・・（２）
【０１００】
所定のＭｏｎｔｈのＳＭＡＲＴ情報４０から取得した代替処理セクタ数と閾値を比較する。図９（Ｂ）の構成において制御部１３０は、代替処理セクタ数が閾値以上であれば、異常状態と判断し、代替処理セクタ数が閾値未満であれば正常状態であると判断する。
【０１０１】
なお、本実施例において、閾値は、例えば代替処理セクタ数が３０００である場合を示すが、これに限られない。
【０１０２】
図９（Ｂ）の構成では、５Ｍｏｎｔｈより前は、正常状態であることを示し、５Ｍｏｎｔｈにおいて異常状態になったと判断する。
【０１０３】
なお、図９に示した比較方法のどちらか一方の比較方法を行ってもよいし、両方の比較方法を行ってもよい。ただし、両方の比較方法を行う場合には、少なくともどちらか一方の比較方法において閾値を超えたらステップＳ１０２からＳ１０９に遷移する。図９では、図９（Ａ）または図９（Ｂ）の一方の比較方法を用いた場合について説明する。
【０１０４】
また、図９（Ａ）および図９（Ｂ）において、閾値は、予め設定されているものとして説明したが、操作者によって変更可能にしてもよい。
【０１０５】
図８の説明に戻る。
【０１０６】
ステップＳ１０２において、制御部１３０が、代替処理セクタ数または計算結果が閾値よりも小さいと判断した場合には、ステップＳ１０３に遷移する。
【０１０７】
ステップＳ１０３において、制御部１３０は、磁気ディスク１３９上の、記憶領域として使用可能な全てのセクタ（以降、全領域セクタ）に対する読み取り処理を開始する。ステップＳ１０３を終えるとステップＳ１０４に遷移する。
【０１０８】
ステップＳ１０４において、制御部１３０は、所定のセクタに対して読み取り処理を行う。正常にデータを読み取れた場合には、ステップＳ１０５に遷移する。正常に読み出せなかったセクタに対しては、代替処理セクタ数を書き込み、書き込んだデータを正常に読み込めるかどうかを確認する。正常に読み取れる場合には、そのセクタは正常であると判断してステップＳ１０５に遷移する。一方、正常に読み取れない場合には、ステップＳ１０６に遷移する。
【０１０９】
ステップＳ１０６において、制御部１３０は、所定のセクタが代替保留セクタに設定されているかどうかをＮＶＲＡＭ１３３にアクセスして確認する。所定のセクタが代替保留セクタである場合には、ステップＳ１０７に遷移し、所定のセクタが代替保留セクタでない場合には、ステップＳ１０８に遷移する。
【０１１０】
ステップＳ１０７において、制御部１３０は、所定のセクタに対して代替セクタを設定し、代替処理セクタとして設定する。そして、ＳＭＡＲＴ情報４０において、代替処理セクタのセクタ数をインクリメントする。なお、代替セクタの設定情報は、ＮＶＲＡＭ１３３に記憶される。ステップＳ１０７を終えると、ステップＳ１０５に遷移する。
【０１１１】
ステップＳ１０８において、制御部１３０は、所定のセクタを代替保留セクタに設定する。なお、代替保留セクタの設定情報は、ＮＶＲＡＭ１３３に記憶される。
【０１１２】
ステップＳ１０８を終えると、ステップＳ１０５に遷移する。
【０１１３】
ステップＳ１０５において、制御部１３０は、全領域のセクタに対する読み取り処理が終了したか否かを確認する。読み取り処理が終了していなければ、制御部１３０は、読み取り処理を継続し、次のセクタの読み取り処理を開始する。ステップＳ１０５を終えるとステップＳ１０３に遷移する。
【０１１４】
全領域のセクタに対する読み取り処理が終了した場合には、ステップＳ１０１に遷移し、ＨＤＤ１１５は待機状態となる。
【０１１５】
ステップＳ１０２の説明に戻る。ステップＳ１０２において、制御部１３０が、代替処理セクタ数または計算結果が閾値以上であると判断した場合には、ステップＳ１０９に遷移する。
【０１１６】
ステップＳ１０９において、ＣＰＵ１０６はＷｒｉｔｅＶｅｒｉｆｙを起動する。つまり、通常の書き込み処理（第１書き込み処理）からＷｒｉｔｅＶｅｒｉｆｙ（第２書き込み処理）に設定を変更する。変更情報は、ＮＶＲＡＭ１３３に保存される。ステップＳ１０９を終えるとステップＳ１１１に遷移する。なお、ステップＳ１０９を終えた後、ＨＤＤ１１５を待機状態としてもよい。その場合には、所定のタイミングでステップＳ１１１に遷移する。
【０１１７】
ステップＳ１１１において制御部１３０は、代替処理セクタに対するＷｒｉｔｅＶｅｒｉｆｙを開始する。
【０１１８】
ステップＳ１１２において、所定の代替処理セクタに対するＷｒｉｔｅＶｅｒｉｆｙにおいて正常に読み出し処理ができた場合には、ステップＳ１１３に遷移する。ステップＳ１１３において、その代替処理セクタを正常なセクタに割り当てる。変更情報をＮＶＲＡＭ１３３に保存する。ステップＳ１１３を終えると、ステップＳ１１４に遷移する。
【０１１９】
一方、ステップＳ１１２において、所定の代替処理セクタに対するＷｒｉｔｅＶｅｒｉｆｙにおいて正常に読み出し処理が出来なかった場合には、ステップＳ１１４に遷移する。つまり、所定の代替処理セクタに対するＷｒｉｔｅＶｅｒｉｆｙにおいて正常に読み出し処理が出来なかった場合に、代替処理セクタは代替処理セクタのままとなる。
【０１２０】
ステップＳ１１４では、すべての代替処理セクタに対するＷｒｉｔｅＶｅｒｉｆｙを終了したか否かを確認する。終了していなかった場合には、ステップＳ１１２に戻り、次の代替処理セクタに対してＷｒｉｔｅＶｅｒｉｆｙを行う。終了した場合には、ステップＳ１１５に遷移する。
【０１２１】
ステップＳ１１５において、制御部１３０は、ＳＭＡＲＴ情報４０を確認し、代替処理セクタの数が閾値以上であるかを判断する。制御部１３０が代替処理セクタの数が閾値以上であると判断すると、ステップＳ１１６に遷移する。
【０１２２】
ステップＳ１１６において、ＣＰＵ１０６は、操作部１０１にＨＤＤの交換通知を表示させる。これにより、操作者はＨＤＤ１１５の寿命が近いことを知ることが可能となる。
【０１２３】
ステップＳ１１５において、制御部１３０が代替処理セクタの数が閾値未満であると判断すると、書き込み処理の切り替えフローチャートを終了する。なお、ここでは制御部１３０が代替処理セクタの数が閾値未満であると判断した場合において、書き込み処理をＷｒｉｔｅＶｅｒｉｆｙに変更したままのフローを終了する構成を示したが、これに限らない。ステップＳ１１５において制御部１３０が代替処理セクタの数が閾値未満であると判断することで、書き込み処理をＷｒｉｔｅＶｅｒｉｆｙから通常の書き込み処理に変更してフローを終了してもよい。
【０１２４】
以上のように、本実施例によれば、ＷｒｉｔｅＶｅｒｉｆｙと通常書き込み処理とを最適なタイミングで切り替えることが可能になり、ＨＤＤのパフォーマンスとＨＤＤの寿命とを両立することが可能となる。
【０１２５】
（実施例２）
実施例１では、通常書き込み処理からＷｒｉｔｅＶｅｒｉｆｙへの切り替えを、代替処理セクタ数または代替処理セクタ数を用いて計算した計算結果と閾値を比較したが、本実施例では、ロード／アンロード回数等と閾値を比較する点で異なる。
【０１２６】
本実施例において、図１〜図９と同様の機能を有する部分には同様の符号を付し、詳細な説明を省略する。
【０１２７】
図１０は、実施例２の書き込み処理の切り替えフローチャートを示している。
【０１２８】
ステップＳ１０１においてＨＤＤ１１５がＩＤＬＥ状態になると、ステップＳ２０１に遷移する。なお、ステップＳ２０１への繊維は、ＨＤＤ１１５がＩＤＬＥ状態になってすぐでもよいし、一定時間が経ってからでもよい。
【０１２９】
ステップＳ２０１において、制御部１３０はＨＤＤ１１５からＳＭＡＲＴ情報４０を取得する。ステップＳ２０１を終えると、ステップＳ２０２に遷移する。
【０１３０】
ステップＳ２０２において、制御部１３０は、ＮＶＲＡＭ１３３に格納されているＳＭＡＲＴ情報４０からロード／アンロード回数を読み出し、ＮＶＲＡＭに記憶されている閾値と比較する。ロード／アンロード回数が閾値以上である場合に、ステップＳ１１０に遷移する。ステップＳ１１０を終えるとステップＳ１１６に遷移する。各ステップの説明は、実施例１と同様であるため割愛する。
【０１３１】
ロード／アンロード回数が閾値未満である場合には、ステップＳ２０３に遷移する。
【０１３２】
ステップＳ２０３において、制御部１３０はＮＶＲＡＭ１３３に格納されているＳＭＡＲＴ情報４０から電源ＯＦＦ／ＯＮ回数を読み出し、ＮＶＲＡＭに記憶されている閾値と比較する。電源ＯＦＦ／ＯＮ回数が閾値以上である場合に、ステップＳ１１０に遷移する。電源ＯＦＦ／ＯＮ回数が閾値未満である場合に、ステップＳ２０５に遷移する。
【０１３３】
ステップＳ２０４において、制御部１３０はＮＶＲＡＭ１３３に格納されているＳＭＡＲＴ情報４０から通電時間を読み出し、ＮＶＲＡＭに記憶されている閾値と比較する。通電時間が閾値以上である場合に、ステップＳ１１０に遷移する。通電時間が閾値未満である場合に、ステップＳ２０５に遷移する。
【０１３４】
ステップＳ２０４において、制御部１３０はＮＶＲＡＭ１３３に格納されているＳＭＡＲＴ情報４０からロード時間を読み出し、ＮＶＲＡＭに記憶されている閾値と比較する。ロード時間が閾値以上である場合に、ステップＳ１１０に遷移する。通電時間が閾値未満である場合に、ステップＳ２０５に遷移する。
【０１３５】
以上のように、本実施例によれば、ＷｒｉｔｅＶｅｒｉｆｙと通常書き込み処理とを最適なタイミングで切り替えることが可能になり、ＨＤＤのパフォーマンスとＨＤＤの寿命とを両立することが可能となる。
【０１３６】
（その他の実施形態）
以上、本発明の様々な例と実施形態を示して説明したが、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるものではない。
【０１３７】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１３８】
１１５  ＨＤＤ
１３３  ＮＶＲＡＭ
１３０  制御部
【図１】
2020021523.tif 000003
【図２】
2020021523.tif 000004
【図３】
2020021523.tif 000005
【図４】
2020021523.tif 000006
【図５】
2020021523.tif 000007
【図６】
2020021523.tif 000008
【図７】
2020021523.tif 000009
【図８】
2020021523.tif 000010
【図９】
2020021523.tif 000011
【図１０】
2020021523.tif 000012