(57)【要約】【課題】ハードディスクのデータの消失を防止する記録装置の提供。【解決手段】ハードディスク１２を有する記録装置１０は、ハードディスク１２にデータを読み書きする読み書き部１４と、読み書き部１４によるハードディスク１２へのデータの最終更新日をハードディスク１２のトラック単位で格納するトラック履歴格納部１８と、最終更新日からの経過日数が所定のしきい値を超過したトラックのデータを、読み書き部１４に更新させる更新制御部２０とを備える。【選択図】  図１
2005004869.tif 000002
【特許請求の範囲】
【請求項１】
ハードディスクを有する記録装置であって、
前記ハードディスクにデータを書き込む書込部と、
前記書込部による前記ハードディスクへの前記データの最終更新日を前記ハードディスクのトラック単位で格納するトラック履歴格納部と、
前記最終更新日からの経過日数を示す更新経過日数が所定のしきい値を超過した前記トラックの前記データを、前記書込部に更新させる更新制御部と
を備える記録装置。
【請求項２】
ハードディスクを有する記録装置であって、
前記ハードディスクにデータを書き込む書込部と、
前記データの最終更新日以降に、隣接するトラックでデータが更新された回数を示す隣接トラック更新回数を、前記トラック単位で格納するトラック履歴格納部と、
前記隣接トラック更新回数が所定のしきい値を超過した前記トラックの前記データを、前記書込部に更新させる更新制御部と
を備える記録装置。
【請求項３】
前記ハードディスクにおいて、データを書き込むべきトラックとデータを書き込む物理ヘッドとの位置ずれ量を取得するトラック追従誤差取得部と、
前記位置ずれ量が一定の基準を超えている場合に、前記所定のしきい値を小さく変更するしきい値決定部と
を更に備える請求項２に記載の記録装置。
【請求項４】
前記ハードディスクからデータを読み出す読み出し部を更に備え、
前記トラック履歴格納部は、前記データの最終更新日以降に、前記読み出し部が前記データを読み出した回数と、前記データ読み出し時に読み出しエラーが発生した回数とを、前記ハードディスクのトラック単位で更に格納し、
更に、前記データを読み出した回数に対する、前記読み出しエラーが発生した回数の比率を示す読み出しエラー発生率が、所定のしきい値を超過した前記トラックに関して、前記更新経過日数又は前記隣接トラック更新回数に対する前記しきい値を小さく変更するしきい値決定部を備える、請求項１又は請求項２に記載の記録装置。
【請求項５】
前記トラック履歴格納部は、前記データを読み出した回数と、前記読み出しエラーが発生した回数とを、前記ハードディスクの一面にデータを読み書きする物理ヘッドに更に対応付けて格納し、
前記しきい値決定部は、同一の前記物理ヘッドによる前記読み出しエラー発生率が所定のしきい値を超過し、かつ、当該読み出しエラー発生率に、前記トラックに依存した偏りがないと判断した場合に、当該物理ヘッドが書き込みを行うすべての前記トラックに関して、前記更新経過日数又は前記隣接トラック更新回数に対する前記しきい値を小さく変更する、請求項４に記載の記録装置。
【請求項６】
前記エラー履歴格納部は、前記データを読み出した回数と、前記読み出しエラーが発生した回数とを、更に前記ハードディスクの記録面に対応付けて格納し、
前記しきい値決定部は、同一の前記記録面における前記読み出しエラー発生率が所定のしきい値を超過し、かつ、当該読み出しエラー発生率に、前記トラックに依存した偏りがないと判断した場合に、当該記録面のすべての前記トラックに関して、前記更新経過日数又は前記隣接トラック更新回数に対する前記しきい値を小さく変更する請求項４に記載の記録装置。
【請求項７】
前記しきい値決定部が、前記読み出しエラー発生率に基づいて前記しきい値を変更した結果、当該しきい値が予め定められた下限値を下回ったトラックを含む前記ハードディスクの交換を要求するメッセージを出力する交換要求部
を更に備える請求項４に記載の記録装置。
【請求項８】
ハードディスクを有する記録装置であって、
前記ハードディスクに対してデータを読み書きする読み書き部と、
前記データの最終更新日以降に、前記読み書き部が前記データを読み出した回数と、前記データ読み出し時に読み出しエラーが発生した回数とを、前記ハードディスクのトラック単位で格納するトラック履歴格納部と、
前記データを読み出した回数に対する、前記読み出しエラーが発生した回数の比率を示す読み出しエラー発生率が、所定のしきい値を超過した前記トラックの前記データを、前記読み書き部に更新させる更新制御部と
を備える記録装置。
【請求項９】
前記ハードディスクとは別の記録媒体を更に備え、
前記更新制御部は、前記所定のしきい値を超過した前記トラックのデータを、更に前記別の記録媒体に書き込む処理を、前記書込部に実行させる、請求項１、請求項２、請求項８のいずれかに記載の記録装置。
【請求項１０】
前記ハードディスクの温度の履歴を記録する温度履歴記録部と、
前記温度履歴に基づいて前記ハードディスクの磁気保持力の劣化の度合いを算出し、算出した前記劣化の度合いが大きいほど、前記しきい値を小さく決定するしきい値決定部と
を更に備える、請求項１、請求項２、請求項８のいずれかに記載の記録装置。
【請求項１１】
前記ハードディスクの動作時間及び非動作時間をそれぞれ記録する動作履歴記録部と、
前記動作時間及び前記非動作時間に基づいて前記ハードディスクの磁気保持力の劣化の度合いを算出し、算出した前記劣化の度合いが大きいほど、前記しきい値を小さく決定するしきい値決定部と
をさらに備える、請求項１、請求項２、請求項８のいずれかに記載の記録装置。
【請求項１２】
前記ハードディスクの情報記録密度を取得するディスク仕様取得部と、
前記情報記録密度が高いほど、前記しきい値を小さく決定するしきい値決定部と
を更に備える、請求項１、請求項２、請求項８のいずれかに記載の記録装置。
【請求項１３】
記録媒体としてハードディスクを有する記録装置が、記録データを管理する記録データ管理方法であって、前記記録装置が、
前記ハードディスクにデータを書き込む書き込みステップと、
前記書き込みステップにおける前記ハードディスクへの前記データの最終更新日を前記ハードディスクのトラック単位で記録するトラック履歴管理ステップと、
前記最終更新日からの経過日数が所定のしきい値を超過した前記トラックの前記データを更新する更新制御ステップと
を備える記録データ管理方法。
【請求項１４】
記録媒体としてハードディスクを有する記録装置が、記録データを管理する記録データ管理方法であって、前記記録装置が、
前記ハードディスクにデータを書き込む書き込みステップと、
前記データの最終更新日以降に、隣接するトラックでデータが更新された回数を前記トラック単位で記録するトラック履歴管理ステップと、
隣接する前記トラックの前記更新回数が所定のしきい値を超過した前記トラックの前記データを更新する更新制御ステップと
を備える記録データ管理方法。
【請求項１５】
記録媒体としてハードディスクを有する記録装置が、記録データを管理する記録データ管理方法であって、前記記録装置が、
前記ハードディスクに対してデータを読み書きする読み書きステップと、
前記データの最終更新日以降に、前記データを読み出した回数と、前記データ読み出し時に読み出しエラーが発生した回数とを、前記ハードディスクのトラック単位で記録するトラック履歴記録ステップと、
前記データを読み出した回数に占める、前記読み出しエラーが発生した回数の割合が、所定のしきい値を超過した前記トラックの前記データを更新する更新制御ステップと
を備える記録データ管理方法。
【請求項１６】
ハードディスクを有する記録装置用のプログラムであって、
前記ハードディスクにデータを書き込む書き込み機能と、
前記書き込み機能による前記ハードディスクへの前記データの最終更新日を前記ハードディスクのトラック単位で記録するトラック履歴管理機能と、
前記最終更新日からの経過日数が所定のしきい値を超過した前記トラックの前記データを、前記書き込み機能に更新させる更新制御機能と
を前記記録装置に実現させるプログラム。
【請求項１７】
ハードディスクを有する記録装置用のプログラムであって、
前記ハードディスクにデータを書き込む書込機能と、
前記データの最終更新日以降に、隣接するトラックでデータが更新された回数を前記トラック単位で記録するトラック履歴管理機能と、
隣接する前記トラックの前記更新回数が所定のしきい値を超過した前記トラックの前記データを、前記書込機能に更新させる更新制御機能と
を前記記録装置に実現させるプログラム。
【請求項１８】
ハードディスクを有する記録装置用のプログラムであって、
前記ハードディスクに対してデータを読み書きする読み書き機能と、
データの最終更新日以降に、前記データを読み出した回数と、当該データ読み出し時に読み出しエラーが発生した回数とを、前記ハードディスクのトラック単位で記録するトラック履歴管理機能と、
前記データを読み出した回数に占める、前記読み出しエラーが発生した回数の割合が、所定のしきい値を超過した前記トラックの前記データを、前記読み書き機能に更新させる更新制御機能と
を前記記録装置に実現させるプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ハードディスクを有する記録装置、ハードディスクの記録データを管理する記録データ管理方法、及びプログラムに関する。
【０００２】
【従来の技術】
ハードディスクによるデータ記録の信頼性を向上させる技術として、複数のハードディスクを冗長化された１台のハードディスクとして管理するＲＡＩＤが普及している。例えばＲＡＩＤにおいて、特定のハードディスクで読み出しエラーが起こった場合、他のディスクのデータを用いてデータを修復し、リアサインをして別のトラックに書き込む（例えば、特許文献１参照。）。
【０００３】
【特許文献１】
特許第３１２７１２１号公報（段落０００７）
【０００４】
【発明が解決しようとする課題】
しかしながら、ＲＡＩＤであっても、２台以上のハードディスクが同時に故障した場合にはデータの修復が不可能であり、そのような場合にはデータが消失する可能性があるという課題があった。
【０００５】
そこで本発明は、上記の課題を解決することのできる記録装置、記録データ管理方法、及びプログラムを提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【０００６】
【課題を解決するための手段】
即ち、本発明の第１の形態によると、ハードディスクを有する記録装置は、ハードディスクにデータを書き込む書込部と、書込部によるハードディスクへのデータの最終更新日をハードディスクのトラック単位で格納するトラック履歴格納部と、最終更新日からの経過日数を示す更新経過日数が所定のしきい値を超過したトラックのデータを、書込部に更新させる更新制御部とを備える。
【０００７】
また、本発明の第２の形態によると、ハードディスクを有する記録装置は、前記ハードディスクにデータを書き込む書込部と、前記データの最終更新日以降に、隣接するトラックでデータが更新された回数を示す隣接トラック更新回数を、前記トラック単位で格納するトラック履歴格納部と、前記隣接トラック更新回数が所定のしきい値を超過した前記トラックの前記データを、前記書込部に更新させる更新制御部とを備える。
【０００８】
ハードディスクにおいて、データを書き込むべきトラックとデータを書き込む物理ヘッドとの位置ずれ量を取得するトラック追従誤差取得部と、位置ずれ量が所定の基準を超えている場合に、所定のしきい値を小さく変更するしきい値決定部とを更に備えてもよい。
【０００９】
また、第１又は第２の形態に於いて、ハードディスクからデータを読み出す読み出し部を更に備え、トラック履歴格納部は、データの最終更新日以降に、読み出し部がデータを読み出した回数と、データ読み出し時に読み出しエラーが発生した回数とを、ハードディスクのトラック単位で更に格納し、更に、データを読み出した回数に対する、読み出しエラーが発生した回数の比率を示す読み出しエラー発生率が、所定のしきい値を超過したトラックに関して、更新経過日数又は隣接トラック更新回数に対するしきい値を小さく変更するしきい値決定部を備えてもよい。
【００１０】
トラック履歴格納部は、データを読み出した回数と、読み出しエラーが発生した回数とを、ハードディスクの一面にデータを読み書きする物理ヘッドに更に対応付けて格納し、しきい値決定部は、同一の物理ヘッドによる読み出しエラー発生率が所定のしきい値を超過し、かつ、当該読み出しエラー発生率に、トラックに依存した偏りがないと判断した場合に、当該物理ヘッドが書き込みを行うすべてのトラックに関して、更新経過日数又は隣接トラック更新回数に対するしきい値を小さく変更してもよい。
【００１１】
エラー履歴格納部は、データを読み出した回数と、読み出しエラーが発生した回数とを、更にハードディスクの記録面に対応付けて格納し、しきい値決定部は、同一の記録面における読み出しエラー発生率が所定のしきい値を超過し、かつ、当該読み出しエラー発生率に、トラックに依存した偏りがないと判断した場合に、当該記録面のすべてのトラックに関して、更新経過日数又は隣接トラック更新回数に対するしきい値を小さく変更してもよい。
【００１２】
しきい値決定部が、読み出しエラー発生率に基づいてしきい値を変更した結果、当該しきい値が予め定められた下限値を下回ったトラックを含むハードディスクの交換を要求するメッセージを出力する交換要求部を更に備えてもよい。
【００１３】
また、本発明の第３の形態によると、ハードディスクを有する記録装置は、ハードディスクに対してデータを読み書きする読み書き部と、データの最終更新日以降に、読み書き部がデータを読み出した回数と、データ読み出し時に読み出しエラーが発生した回数とを、ハードディスクのトラック単位で格納するトラック履歴格納部と、データを読み出した回数に対する、読み出しエラーが発生した回数の比率を示す読み出しエラー発生率が、所定のしきい値を超過したトラックのデータを、読み書き部に更新させる更新制御部とを備える。
【００１４】
第１、第２、又は第３の形態に於いて、ハードディスクとは別の記録媒体を更に備え、更新制御部は、所定のしきい値を超過したトラックのデータを更に別の記録媒体に書き込む処理を、書込部に実行させてもよい。
【００１５】
ハードディスクの温度の履歴を記録する温度履歴記録部と、温度履歴に基づいてハードディスクの磁気保持力の劣化の度合いを算出し、算出した劣化の度合いが大きいほど、しきい値を小さく決定するしきい値決定部とを更に備えてもよい。
【００１６】
ハードディスクの動作時間及び非動作時間をそれぞれ記録する動作履歴記録部と、動作時間及び非動作時間に基づいてハードディスクの磁気保持力の劣化の度合いを算出し、算出した劣化の度合いが大きいほど、しきい値を小さく決定するしきい値決定部とをさらに備えてもよい。
【００１７】
ハードディスクの情報記録密度を取得するディスク仕様取得部と、情報記録密度が高いほど、しきい値を小さく決定するしきい値決定部とを更に備えてもよい。
【００１８】
本発明の第４の形態によれば、記録媒体としてハードディスクを有する記録装置が、記録データを管理する記録データ管理方法は、記録装置が、ハードディスクにデータを書き込む書き込みステップと、書き込みステップにおけるハードディスクへのデータの最終更新日をハードディスクのトラック単位で記録するトラック履歴管理ステップと、最終更新日からの経過日数が所定のしきい値を超過したトラックのデータを更新する更新制御ステップとを備える。
【００１９】
本発明の第５の形態によれば、記録媒体としてハードディスクを有する記録装置が、記録データを管理する記録データ管理方法は、記録装置が、ハードディスクにデータを書き込む書き込みステップと、データの最終更新日以降に、隣接するトラックでデータが更新された回数をトラック単位で記録するトラック履歴管理ステップと、隣接するトラックの更新回数が所定のしきい値を超過したトラックのデータを更新する更新制御ステップとを備える。
【００２０】
本発明の第６の形態によれば、記録媒体としてハードディスクを有する記録装置が、記録データを管理する記録データ管理方法は、記録装置が、ハードディスクに対してデータを読み書きする読み書きステップと、データの最終更新日以降に、データを読み出した回数と、データ読み出し時に読み出しエラーが発生した回数とを、ハードディスクのトラック単位で記録するトラック履歴記録ステップと、データを読み出した回数に占める、読み出しエラーが発生した回数の割合が、所定のしきい値を超過したトラックのデータを更新する更新制御ステップとを備える。
【００２１】
本発明の第７の形態によれば、ハードディスクを有する記録装置用のプログラムは、ハードディスクにデータを書き込む書き込み機能と、書き込み機能によるハードディスクへのデータの最終更新日をハードディスクのトラック単位で記録するトラック履歴管理機能と、最終更新日からの経過日数が所定のしきい値を超過したトラックのデータを、書き込み機能に更新させる更新制御機能とを記録装置に実現させる。
【００２２】
本発明の第８の形態によれば、ハードディスクを有する記録装置用のプログラムは、ハードディスクにデータを書き込む書込機能と、データの最終更新日以降に、隣接するトラックでデータが更新された回数をトラック単位で記録するトラック履歴管理機能と、隣接するトラックの更新回数が所定のしきい値を超過したトラックのデータを、書込機能に更新させる更新制御機能とを記録装置に実現させる。
【００２３】
本発明の第９の形態によれば、ハードディスクを有する記録装置用のプログラムは、ハードディスクに対してデータを読み書きする読み書き機能と、データの最終更新日以降に、データを読み出した回数と、当該データ読み出し時に読み出しエラーが発生した回数とを、ハードディスクのトラック単位で記録するトラック履歴管理機能と、データを読み出した回数に占める、読み出しエラーが発生した回数の割合が、所定のしきい値を超過したトラックのデータを、読み書き機能に更新させる更新制御機能とを記録装置に実現させる。
【００２４】
なお上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションも又発明となりうる。
【００２５】
【発明の実施の形態】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、又実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００２６】
図１は、本実施形態に係る記録装置１０の機能構成の一例を示す。記録装置１０は、ハードディスクの回復不能な読み出しエラーの発生を未然に防ぐことを目的とする。記録装置１０は、ハードディスク１２と、ハードディスク１２にデータを読み書きする読み書き部１４と、読み書き部１４によるハードディスク１２へのデータの読み書き履歴をハードディスク１２のトラック単位で格納するトラック履歴格納部１８と、読み書き部１４の読み書き動作に基づいてトラック履歴格納部１８を更新するトラック履歴更新部１６と、トラック単位の読み書き履歴が、データの読み出し信号が劣化した可能性が高いことを示す予め定めた条件を満足した場合に、読み書き部１４に当該トラックのデータを更新させる更新制御部２０とを備える。なお、読み書き部１４は本発明の書込部及び読み出し部の一例である。
【００２７】
ハードディスク１２は、データが書き込まれた後の経時変化により、読み出し信号が劣化する。従って、データの書き込み履歴を取得することにより、読み出し信号の劣化の度合いを予測することができる。すなわち、記録装置１０は、上記の構成により、トラック単位の読み書き履歴に基づいて、読み出し信号の劣化の度合いを予測し、劣化の度合いが一定のレベルに達したと予測されるトラックのデータを更新することができる。これにより、回復不能な読み出しエラーの発生を未然に防ぐことができる。
【００２８】
記録装置１０はさらに、ハードディスク１２の温度履歴及び動作履歴をそれぞれ記録する温度／動作履歴記録部３０と、データを読み書きすべきトラックに対する物理ヘッドの位置ずれ量、いわゆるトラック追従誤差をハードディスク１２から取得するトラック追従誤差取得部２８と、ハードディスク１２の情報記録密度又はトラック毎の読み出しエラーレートを取得するディスク仕様取得部３２と、温度履歴、動作履歴、トラック追従誤差、情報記録密度、及びトラック毎のソフトエラーレートの少なくともいずれかに基づいて、トラック毎のデータ更新の要否を、更新制御部２０がトラックの読み書き履歴に基づいて判断する場合の「しきい値」を決定するしきい値決定部２６とを備える。温度／動作履歴記録部３０は、本発明の温度履歴記録部及び動作履歴記録部の一例である。また、ハードディスク１２の動作履歴とは、ハードディスクが回転している状態の履歴である。トラック毎のソフトエラーレートは、例えばハードディスク１２の出荷前検査等で、テストパターンの読み書きを繰り返し実行した場合に発生するトラックに固有のソフトエラー発生率であり、ハードディスク１２の特性として予め書き込んである。
【００２９】
ハードディスク１２の読み出し信号は、熱によりさらに劣化する。従って、ハードディスク１２の温度履歴から、読み出し信号の劣化の度合いを算出することができる。また、ハードディスク１２は動作時、すなわちディスクが回転している状態において、モータの発熱により温度が上昇する。従って、温度履歴に代えて動作履歴からでも、読み出し信号の劣化の度合いを算出することができる。
【００３０】
トラック追従誤差は、記録装置１０の取り付け方法が適切でない場合等に、外乱の影響を受けて大きくなり易い。トラック追従誤差が大きい、すなわちトラックフォローの精度が悪い状態では、データを書き込むべき位置からヘッドがずれる可能性が高い。このような場合、隣接するトラックの読み出し信号を劣化させる可能性が高い。従って、あるトラックのデータ更新後、隣接するトラックが更新された合計の回数から、当該トラックの読み出し信号の劣化の度合いを予測することができる。
【００３１】
また、ハードディスク１２は、情報記録密度が高くなるに従ってディスクの磁気保持力が弱くなり、隣り合うビット同士の磁界干渉で読み出し信号が劣化し易くなる。すなわち、情報記録密度が高いディスクほど、読み出し信号が劣化しやすい。
【００３２】
従って、記録装置１０は、温度履歴、動作履歴、トラック追従誤差、情報記録密度、及びトラック毎のソフトエラーレートの少なくともいずれかに基づいて、適切なしきい値を決定することができる。従って、記録装置１０は、トラック毎のデータ更新を的確なタイミングで実行することができる。
【００３３】
なお、トラック追従誤差取得部２８は、ヘッドを移動させるモータの電流を、ヘッドから読み出されるトラック位置をもとに制御することによって、トラックフォローを実現するフィードバック制御部であってもよい。
【００３４】
ディスク仕様取得部３２は、ハードディスク１２の型式番号を取得し、型式番号に基づいてハードディスク１２の情報記録密度を判断してもよい。この場合、ディスク仕様取得部３２は、型式番号と情報記録密度の対応表を予め記憶している。ハードディスク１２が交換可能である場合、ディスク仕様取得部３２は、ハードディスク１２が交換される度に型式番号を読み出し、情報記録密度を更新する。
【００３５】
記録装置１０はさらに、更新制御部２０が更新させるべきトラックのトラック番号を、更新ステータスファイルとして格納している更新ステータス格納部２２を更に備えている。更新ステータスファイルは、ハードディスク１２のいずれかのトラックが更新中であるか否かのステータスを含む。更新ステータス格納部２２は、更新ステータスファイルを不揮発性メモリに格納する。
【００３６】
したがって、更新制御部２０の制御に基づく更新処理が、例えば予期せぬ電源断などによって中断した場合であっても、更新ステータス格納部２２を参照することにより、中断直前の更新状態を把握することができる。これにより、更新制御部２０は、更新処理を継続する為に必要な最小限のロールバックを実行することができる。従って記録装置１０は、更新処理が中断した場合であっても適切な状態から更新処理を再開することができる。
【００３７】
記録装置１０はさらに、温度履歴及び情報記録密度に応じた適切なしきい値がトラック履歴の診断項目毎に予め設定されている「しきい値表」を格納するしきい値表格納部２４を備える。しきい値決定部２６は、温度／動作履歴記録部３０から読み出す温度履歴又は動作履歴、及びディスク仕様取得部３２から読み出す情報記録密度又は、トラック毎のソフトエラーレートに基づいて、適切なしきい値を容易に決定することができる。
【００３８】
記録装置１０はさらに、ハードディスク１２とは別の、独立した記録媒体である予備ディスク３４を更に備える。更新制御部２０は、読み出し信号が劣化したトラックのデータを読み書き部１４に更新させる場合、同一のデータを更に予備ディスク３４にも書き込ませる。これにより、トラック毎のデータ更新にもかかわらず、読み出しエラーが発生した場合であっても、データの消失を防止するとができる。
【００３９】
また、トラック履歴格納部１８はさらに、ハードディスク１２の実使用中における読み出しエラーの発生履歴をトラック単位で格納する。例えば、読み書き部１４によるトラックの最終更新日以降に各トラックからデータを読み出した回数と、各トラックおける読み出し時に読み出しエラーが発生した回数とを読み書き部１４が計測し、計測結果をトラック履歴更新部１６がトラック履歴格納部１８に書き込む。更新制御部２０又はしきい値決定部２６は、当該計測結果をトラック履歴格納部１８から読み出し、各トラックにおけるデータの読み出し回数に対する読み出しエラーの発生回数の比率、すなわちトラック毎の読み出しエラー発生率を算出する。更新制御部２０は、当該読み出しエラー発生率が所定のしきい値を超過したトラックのデータを更新する。また、トラック毎の読み出しエラー発生率をディスク上の他のトラックと比較することにより、読み出しエラーの局所性を判断することができる。しきい値決定部２６は、読み出しエラーの発生頻度が局所的に高いトラックのしきい値を低く変更することによって、読み出しエラーの発生頻度を低減することもできる。
【００４０】
記録装置１０はさらに、しきい値決定部２６が決定した複数のしきい値のいずれかが、予め定められた下限値を下回った場合に、ハードディスク１２の交換を要求する交換要求部４０を備える。これにより、データ保持の信頼性が低下したハードディスク１２の交換が促進され、もって、記録装置１０のデータ記録の信頼性を高めることができる。また、読み書き部１４は、ディスク仕様取得部３２から取得したトラック毎のソフトエラーレートが所定の基準値を超過している場合に、当該トラックへのデータの書き込みを禁止する。
【００４１】
記録媒体６０は、ハードディスク１２、読み書き部１４、トラック履歴更新部１６、トラック履歴格納部１８、更新制御部２０、更新ステータス格納部２２、しきい値表格納部２４、しきい値決定部２６、トラック追従誤差取得部２８、温度／動作履歴記録部３０、ディスク仕様取得部３２、予備ディスク３４、エラー履歴格納部３８、及び交換要求部４０の機能を記録装置１０に実現させるプログラムを格納している。記録媒体６０は、そのようなプログラムを例えばネットワーク経由で取得してもよい。
【００４２】
図２は、トラック履歴ファイルのデータフォーマットの一例を示す。トラック履歴ファイルは、読み書き部１４によるハードディスク１２へのデータの読み書き履歴をハードディスク１２のトラック及び物理ヘッド単位で管理している。読み書き履歴は、例えばデータの最終更新日、最終更新日以降に両隣のトラックでデータが更新された合計回数（以下、隣接トラック更新回数）、データの最終更新日以降に、読み書き部１４がデータを読み出した回数、及び読み書き部１４によるデータ読み出し時に読み出しエラーが発生した回数である。更新制御部２０及びしきい値決定部２６は、トラック履歴格納部１８に格納されたトラック履歴ファイルを参照することにより、トラック毎の読み書きの履歴を容易に確認することができる。トラック履歴ファイルは、データの読み書き履歴を、物理ヘッド番号に代えてハードディスク１２の記録面の番号に対応付けて管理してもよい。更新制御部２０及びしきい値決定部２６は、トラック履歴ファイルを読み出すことにより、読み出しエラーの発生率に、ハードディスク１２の記録面に依存した局所性があるか否かを判断することができる。
【００４３】
図３は、更新ステータスファイルのデータフォーマットの一例を示す。更新ステータスファイルは、更新制御部２０が更新させるべきトラックのトラック番号と、いずれかのトラックが更新中であるか否かのステータスを含む。本実施例においては、いずれかのトラックが更新中であるか否かのステータスを「ＷＲＩＴＥ  ＢＩＴ」ＯＮ（更新中）／ＯＦＦ（非更新中）で示す。更新制御部２０は、更新処理が中断した場合であっても、更新ステータス格納部２２に格納されている更新ステータスファイルを参照することによって、適切な状態から更新処理を再開することができる。
【００４４】
図４は、しきい値表のデータフォーマットの一例を示す。しきい値表は、熱負荷及び情報記録密度に応じた適切なしきい値が予め設定されている。しきい値は、トラック毎の読み出し信号の劣化を診断する複数の項目に分けて設定されている。複数の診断項目は、例えば、最終更新日からの経過日数を示す「更新経過日数」、及び最終更新日以降の「隣接トラック更新回数」等である。
【００４５】
しきい値表は、ディスクの磁気保持力を劣化させる熱負荷の度合いが大きいほど、それぞれの診断項目に対して小さいしきい値を割り当てている。本実施例では、熱負荷を２段階のレベルに分けており、レベル２はレベル１よりも熱負荷が大きい。しきい値表はさらに、ハードディスク１２の情報記録密度が高いほど、それぞれの診断項目に対して小さいしきい値を割り当てている。これにより、情報記録密度が高くなるほど読み出し信号が劣化し易くなるというハードディスクの特性を適切に反映したしきい値が設定される。情報記録密度はトラック密度（ＴＰＩ）、線記録密度（ＢＰＩ）、及び面記録密度（ｂｐｓｉ）の少なくともいずれかを用いる。しきい値決定部２６は、熱負荷の度合い及び情報記録密度に基づいてしきい値表格納部２４を参照することによって、適切なしきい値を容易に決定することができる。
【００４６】
図５は、記録装置１０によるデータ管理動作の一例を示す。本フローは、例えば、記録装置１０の電源投入と共にスタートする。まず、更新制御部２０は、更新ステータス格納部２２における更新ステータスファイルを読み出し、「ＷＲＩＴＥ  ＢＩＴ」のステータス及びトラック番号を取得する。更新制御部２０は、取得したトラック番号をＴとして記憶する（Ｓ１２）。次に、更新制御部２０は「ＷＲＩＴＥ  ＢＩＴ」のステータスがＯＮであるか否かを判断する（Ｓ１４）。「ＷＲＩＴＥ  ＢＩＴ」のステータスがＯＮであると判断した場合（Ｓ１４：Ｙｅｓ）、ステップ２８に進む。
【００４７】
「ＷＲＩＴＥ  ＢＩＴ」のステータスがＯＮでないと判断した場合（Ｓ１４：Ｎｏ）、トラック履歴更新部１６は、読み書き部１４にホストからの読み出し指令が入力されたか否かを判断する（Ｓ１６）。読み書き部１４は、ホストからの読み出し指令が入力された場合、当該読み出し指令に従って、該当するトラックに記録されたデータの読み出しを試行する。このとき、読み出しエラーが発生したか否かを判断し（Ｓ１７）、読み出しエラーが発生したと判断した場合（Ｓ１７：Ｙｅｓ）、トラック履歴格納部１８に記録されている「読み出しエラー発生回数」に今回発生した読み出しエラーの発生回数を加算して書き込む（Ｓ１８）。例えば、一回の読み出しに際して、３回のリトライの結果データを読み出した場合、読み出しエラーの発生回数を３回分加算する。すなわち、エラー履歴ファイルにおける、該当トラック番号に対応付けられた「読み出しエラー回数」に１を加算する。そしてステップ１６に戻る。一方、読み出しエラーが発生していないと判断した場合（Ｓ１７：Ｎｏ）、ステップ１６に戻る。
【００４８】
一方、読み書き部１４にホストからの読み出し指令が入力されていないと判断した場合（Ｓ１６：Ｎｏ）、トラック履歴更新部１６は、書き込み指令が入力されたか否かを判断する（Ｓ２０）。読み書き部１４は、ホストからの書き込み指令が入力された場合、当該書き込み指令に従って、該当するトラックにデータを書き込む。
【００４９】
トラック履歴更新部１６は、読み書き部１４にホストからの書き込み指令が入力されたと判断した場合（Ｓ２０：Ｙｅｓ）、トラック履歴格納部１８におけるトラック履歴ファイルのうち、該当するトラックの「最終更新日」を更新し（Ｓ２２）、さらに当該トラックに隣接するトラックの「隣接トラック更新回数」に１を加え（Ｓ２４）、ステップ１６に戻る。
【００５０】
一方、読み書き部１４にホストからの書き込み指令が入力されていないと判断された場合（Ｓ２０：Ｎｏ）、更新制御部２０は、ホストのＩＤＬＥ時間、もしくはハードディスク１２のデータ消失を防止する「予防措置」がスケジュールされた時間であるか否かを判断する（Ｓ２６）。ホストのＩＤＬＥ時間、もしくは「予防措置」がスケジュールされた時間ではないと判断した場合（Ｓ２６：Ｎｏ）、ステップ１６に戻る。
【００５１】
一方、ホストのＩＤＬＥ時間、もしくは「予防措置」がスケジュールされた時間であると判断した場合（Ｓ２６：Ｙｅｓ）、更新制御部２０は、読み出し信号が劣化したトラックのデータを更新する「予防措置フロー」（Ｓ２８）を実行する。以上で本フローは終了する。
【００５２】
図６は、図５における予防措置フロー（Ｓ２８）の詳細を示す。更新制御部２０はまず、図５のステップ１２で読み出した「更新ステータスファイル」のトラック番号Ｔを呼び出す（Ｓ１００）。次に、更新制御部２０は、ステップ１２で読み出した「ＷＲＩＴＥ  ＢＩＴ」のステータスがＯＮであるか否かを判断する（Ｓ１０２）。「ＷＲＩＴＥ  ＢＩＴ」のステータスがＯＮであると判断した場合（Ｓ１０２：Ｙｅｓ）、ステップ１２０に進む。
【００５３】
一方、「ＷＲＩＴＥ  ＢＩＴ」のステータスがＯＮでないと判断した場合（Ｓ１０２：Ｎｏ）、更新制御部２０は、ハードディスク１２の最終トラック番号をＮとする（Ｓ１０４）。そして更新制御部２０は、読み出し信号の劣化の度合いをトラック毎に判断し、更新が必要と判断したトラックのデータをトラック毎に更新する。
【００５４】
当該更新処理は、以下のステップ１０６からステップ１３０までのループ「予防措置」を、ＴがＮ以下であるという条件を満たす限り繰り返すことにより実行される。まず、しきい値決定部２６は、しきい値決定処理を実行してしきい値を決定する（Ｓ１０８）。次に更新制御部２０は、トラック履歴格納部１８のトラック履歴ファイルから、トラックＴの更新履歴を読み出す（Ｓ１１０）。更新履歴は、トラックＴの「最終更新日」、「隣接トラック更新回数」、「読み出し回数」、及び「読み出しエラー発生回数」を含む。更新制御部２０は、トラックＴの最終更新日から「更新経過日数」を算出する。また、「読み出し回数」に対する「読み出しエラー発生回数」の比率を算出することにより「読み出しエラー発生率」を求める。
【００５５】
次に更新制御部２０は、トラックＴのデータを更新する必要があるか否かを判断する（Ｓ１１２）。例えば、トラックＴの「更新経過日数」、「隣接トラック更新回数」、及び「読み出しエラー発生率」のいずれかがしきい値を超過した場合に、トラックＴのデータの更新が必要であると判断する。
【００５６】
トラックＴのデータ更新が必要でないと判断した場合（Ｓ１１２：Ｎｏ）、ステップ１２６に進む。一方、トラックＴのデータ更新が必要であると判断した場合（Ｓ１１２：Ｙｅｓ）、更新制御部２０は以下の手順で読み書き部１４にトラックＴのデータを更新させる。まず、読み書き部１４は、トラックＴのデータを全て読み出し（Ｓ１１４）、ハードディスク１２の予備のトラックであるリザーブトラックに書き込む（Ｓ１１６）。ここで、更新制御部２０は、更新ステータスファイルを変更する。すなわち、「ＷＲＩＴＥ  ＢＩＴ」をＯＮにし、トラック番号をＴにする（Ｓ１１８）。この状態で、更新ステータスファイルは、「トラックＴのデータが更新中である」旨を示す。
【００５７】
次に、読み書き部１４は、リザーブトラックに書き込まれているデータを全て、トラックＴ及び予備ディスク３４に書き込む（Ｓ１２０）。次に、更新制御部２０は、更新ステータスファイルの「ＷＲＩＴＥ  ＢＩＴ」をＯＦＦにする（Ｓ１２２）。この状態において、更新ステータスファイルは、「トラックＴのデータ更新が完了している」旨を示す。続いて更新制御部２０は、トラック履歴ファイルのうち、トラックＴの「最終更新日」を更新し（Ｓ１２３）、「隣接トラック更新回数」をゼロクリアする（Ｓ１２４）。
【００５８】
次に更新制御部２０は、Ｔに１を加算する（Ｓ１２６）。ここで更新制御部２０は、ホストから読み書き部１４にノーマルコマンド、すなわち読み書き指令が入力されたか否かを判断する（Ｓ１２８）。ノーマルコマンドが入力されたと判断した場合（Ｓ１２８：Ｙｅｓ）、本フローは終了する。ノーマルコマンドが入力されていないと判断した場合（Ｓ１２８：Ｎｏ）、ＴがＮ以下であるという条件を満たす限り、予防措置ループを繰り返す（Ｓ１３０）。そして、ＴがＮを超えた場合、予防措置ループを終了し、Ｔをゼロクリアする（Ｓ１３２）。以上で本フローは終了する。
【００５９】
なお、ステップ１２０の処理中、すなわちリザーブトラックからトラックＴへのデータの書き込み中に、電源断などにより予期せぬ処理中断が起きた場合、トラックＴへのデータ書き込みが途中である旨が更新ステータス格納部２２の更新ステータスファイルに記録されている。すなわち、更新ステータスファイルは、「ＷＲＩＴＥ  ＢＩＴ」：ＯＮ
トラック番号：Ｔ
という状態で記録されている。従って、更新制御部２０は、記録装置１０の動作が復帰した場合に、更新ステータス格納部２２を参照して更新ステータスファイルのステータスを確認する。そして、「ＷＲＩＴＥ  ＢＩＴ」がＯＮであると判断すると、「予防措置フロー」を起動し、リザーブトラックに記録されている全てのデータをトラックＴに書き込む。すなわち前述のステップ１２０を最初から実行する。以降の動作は、上述のフローと同様なので省略する。
【００６０】
図７は、図６におけるしきい値決定処理（Ｓ１０８）の詳細を示す。本フローにおいて、しきい値決定部２６は、ハードディスク１２の温度履歴、動作履歴、トラック追従誤差、情報記録密度、及びトラック毎のソフトエラーレート、及び読み出しエラーの発生率の少なくともいずれかに基づいて、適切なしきい値を決定する。しきい値決定部２６は、まず、温度／動作履歴記録部３０からディスクの温度履歴を取得する（Ｓ２００）。
【００６１】
しきい値決定部２６は、ディスクの磁気保持力を劣化させる熱負荷のレベルを、ディスクの温度履歴に基づいて判断する（Ｓ２０２）。例えば、ディスクの温度に応じた単位時間あたりの磁気保持力の劣化度合いを予め記憶しておき、ディスクの温度に応じた磁気保持力の劣化の度合いを計測時間で積分する。これにより読み出し信号を劣化させる熱負荷の度合いが算出される。これにより、ディスクの磁気保持力を劣化させる累積的な熱負荷を適切に算出することができる。
【００６２】
ステップ２００において、しきい値決定部２６は温度履歴に代えてハードディスク１２の動作履歴を取得してもよい。この場合、しきい値決定部２６はステップ２０２において、熱負荷のレベルを動作履歴に基づいて判断する。例えば、動作時と非動作時のそれぞれのディスク温度における、単位時間あたりの読み出し信号の劣化の度合いを予め記憶しておく。そして、それぞれの劣化の度合いを、動作時間及び非動作時間でそれぞれ積分することにより、熱負荷の度合いを求めることができる。動作時のディスク温度は、例えば、スピンドルモータの発熱によるディスクの温度上昇が収束する温度である。非動作時のディスク温度は、例えば、製品仕様として動作保証している上限温度である。
【００６３】
さらに、単位時間あたりの温度変化の大きさ、すなわち温度の微分値を用いて、環境負荷のレベルを判断してもよい。温度の微分値を用いることにより、磁気保持力を劣化させる急激な温度変化を環境負荷のレベルに適切に反映することができる。
【００６４】
しきい値決定部２６は次に、ディスク仕様取得部３２からハードディスク１２の情報記録密度を取得する（Ｓ２０４）。次に、熱負荷レベル及び情報記録密度に基づいて、しきい値表格納部２４の「しきい値表」を参照することにより、診断項目毎のしきい値を決定する（Ｓ２０６）。ステップ２０６で決定されるしきい値は、暫定的なしきい値である。
【００６５】
次に、ディスク仕様取得部３２から、トラックＴのソフトエラーレートを取得する（Ｓ２０８）。続いて、トラックＴのソフトエラーレートが予め定められた基準値を超過しているか否かを判断する（Ｓ２１０）。トラックＴのソフトエラーレートが予め定められた基準値を超過していると判断した場合（Ｓ２１０：Ｙｅｓ）、各しきい値を小さく変更する（Ｓ２１２）。例えば、当該トラックのソフトエラーレートが０．０１以上０．０５未満であれば、各しきい値を０．７５倍に小さくする。ソフトエラーレートは、複数のトラック、例えば１０トラックをまとめて１ゾーンとして扱い、ゾーン単位で基準値との比較を行ってもよい。１ゾーンに含まれるトラック数は、任意に設定することができる。しきい値決定部２６は、しきい値をゾーン単位で変更してもよい。
【００６６】
一方、トラックＴのソフトエラーレートが予め定められた基準値を超過していないと判断した場合（Ｓ２１０：Ｎｏ）、トラックＴに書き込みを行う物理ヘッドによる読み出しエラーの発生率をトラック履歴格納部１８に記録されているヘッド番号毎の「読み出し回数」及び「読み出しエラー発生回数」に基づいて算出する。そして、算出した、当該物理ヘッドによる読み出しエラーの発生率が、予め定められた基準値を超過しているか否かを判断する（Ｓ２１４）。当該物理ヘッドの読み出しエラー発生率が、予め定められた基準値を超過していないと判断した場合（Ｓ２１４：Ｎｏ）、ステップ２２０に進む。一方、当該物理ヘッドの読み出しエラー発生率が、予め定められた基準値を超過していると判断した場合（Ｓ２１４：Ｙｅｓ）、当該物理ヘッドにおける読み出しエラーの発生率に、トラック番号に依存した偏りがあるか否かを判断する（Ｓ２１６）。
【００６７】
当該物理ヘッドによる読み出しエラーの発生率に、トラック番号に依存した偏りがないと判断した場合（Ｓ２１６：Ｎｏ）、しきい値決定部２６は、当該物理ヘッドが書き込みを行うすべてのトラックに対して、しきい値を小さく変更する。すなわち、トラックＴに対して、各しきい値を小さく変更する（Ｓ２１８）。一方、当該物理ヘッドによる読み出しエラーの発生率に、トラック番号に依存した偏りがあると判断した場合（Ｓ２１６：Ｙｅｓ）、ステップ２２０に進む。
【００６８】
ステップ２１６における偏りの判断は、例えば以下のように行う。まずトラック履歴格納部１８から、トラックＴと同一の物理ヘッド番号に属する、「トラック番号」の「読み出しエラー発生回数」、及び「読み出し回数」を全て取得する。次に、「読み出しエラー発生回数」に対する「読み出し回数」の比率を、トラック毎の「読み出しエラー発生率」として算出する。次に、横軸を「読み出しエラー発生率」、縦軸を「トラックの本数」とした分布を求め、「読み出しエラー発生率」の「最頻値」、「平均値」、及び「標準偏差」を求める。そして、「読み出しエラー発生率」の「最大値」が「最頻値」又は「平均値」の何倍であるかを判断する。例えば、「最大値」が「最頻値」又は「平均値」の５倍以内であることを、偏りがない基準とする。あるいは、各トラックの「偏差値」を求め、偏差値の最大値が７０以下であることを偏りがない基準としてもよい。
【００６９】
次に、しきい値決定部２６は、トラック追従誤差取得部２８からトラック追従誤差を取得する（Ｓ２２０）。しきい値決定部２６は、トラック追従誤差が予め定められた基準値を上回っているか否かを判断する（Ｓ２２２）。
【００７０】
トラック追従誤差が予め定められた基準値を上回っていると判断した場合（Ｓ２２２：Ｙｅｓ）、しきい値決定部２６は、しきい値のうちの「隣接トラック更新回数」のしきい値を小さく変更、例えば半分の値に変更する（Ｓ２２４）。
【００７１】
従って、ステップ２２２及びステップ２２４の動作によれば、「隣接トラック更新回数」のしきい値を「トラック追従誤差」に基づいて適切に変更することができる。ステップ２２２において、物理ヘッドの位置ずれ量が予め定められた基準値を上回っていないと判断した場合、ステップ２２４をスキップする。次に、交換要求部４０は、しきい値決定部２６が決定したしきい値のいずれかが、予め定められた下限を下回っているか否かを判断する（Ｓ２２６）。しきい値のいずれも、予め定められた下限を下回っていないと判断した場合（Ｓ２２６：Ｎｏ）、本フローを終了する。一方、しきい値のいずれかが、予め定められた下限を下回っていると判断した場合（Ｓ２２６：Ｙｅｓ）、交換要求部４０は、ハードディスク１２の交換を要求するメッセージを出力する（Ｓ２２８）。以上で本フローは終了する。
【００７２】
以上の動作によれば、しきい値決定部２６は、ハードディスク１２の条件に応じた適切なしきい値を決定することができる。従って、記録装置１０は、トラック毎のデータ更新の要否を的確に判断することができる。
【００７３】
上記説明から明らかなように、本実施形態によれば、単体ディスク及びＲＡＩＤのいずれであっても、ハードディスクのデータの消失を防止する記録装置、記録データ管理方法、及びプログラムを提供することができる。
【００７４】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることができる。その様な変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【図面の簡単な説明】
【図１】記録装置１０の機能構成の一例を示すブロック図である。
【図２】トラック履歴ファイルのデータフォーマットの一例を示す。
【図３】更新ステータスファイルのデータフォーマットの一例を示す。
【図４】しきい値表のデータフォーマットの一例を示す。
【図５】記録装置１０によるデータ管理動作の一例を示すフローチャートである。
【図６】図５における予防措置フロー（Ｓ２８）の詳細を示す。
【図７】図６におけるしきい値決定処理（Ｓ１０８）の詳細を示す。
【符号の説明】
１０  記録装置、１２  ハードディスク、１４  読み書き部、１６  トラック履歴更新部、１８  トラック履歴格納部、２０  更新制御部、２２  更新ステータス格納部、２４  しきい値表格納部、２６  しきい値決定部、２８  トラック追従誤差取得部、３０  温度／動作履歴記録部、３２  ディスク仕様取得部、３４予備ディスク、４０  交換要求部、６０  記録媒体
【図１】
2005004869.tif 000003
【図２】
2005004869.tif 000004
【図３】
2005004869.tif 000005
【図４】
2005004869.tif 000006
【図５】
2005004869.tif 000007
【図６】
2005004869.tif 000008
【図７】
2005004869.tif 000009