(57)【要約】【課題】ディスクのフォーマットを短時間で容易に行えるようにすることである。【解決手段】ハードディスク１２１ａに対し１トラック毎にデータをＲＡＭ１４０（すなわち、読出データ記憶領域１４３。）に読み出し（退避させ）てから、そのトラックをフォーマットし、その後、当該フォーマット済のトラックにデータをリストアする。【選択図】          図１
2004206291.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶する記憶手段を備えたデータ記憶装置において、
前記記憶手段に形成された記憶領域からデータを読み出すデータ読出手段と、
前記読み出されたデータを一時保持するデータ保持手段と、
前記データ読出手段によりデータの読み出しが行われた記憶領域を初期化する初期化手段と、
前記初期化手段により初期化された記憶領域に対し、前記データ保持手段に一時保持されたデータを書き込むデータ書込手段と、
を備えたことを特徴とするデータ記憶装置。
【請求項２】
前記データ読出手段によるデータの読み出しが成功したか否かを判定する読出成否判定手段と、
前記読出成否判定手段により読み出し不成功と判定された場合に、前記データ読出手段により読み出されたデータを復元し、当該復元された正しいデータを前記データ保持手段に保持させ、当該記憶領域を前記初期化手段に初期化させ、当該初期化後の記憶領域に対し当該データ保持手段に保持させたデータを前記データ書込手段に書き込ませるよう制御する制御手段と、
を備えたことを特徴とする請求項１に記載のデータ記憶装置。
【請求項３】
前記データ書込手段による書き込み後、少なくとも１回は当該書き込まれたデータを再読み出しする再読出手段と、
前記再読出手段による再読み出しの回数を計数する再読出回数計数手段と、
前記再読出手段による再読み出しが成功および／または失敗した回数を計数する再読出結果計数手段と、
前記再読出回数計数手段により計数された再読み出し回数、前記再読出結果計数手段によって計数された再読み出しの成功回数或いは失敗回数のうち少なくとも１つの回数データを用いて、当該再読み出しが行われた記憶領域が不良であるか否かを判定する不良領域判定手段と、
前記不良領域判定手段により不良と判定された場合に、当該不良と判定された記憶領域から読み出されたデータを正しいデータに復元するデータ復元手段と、前記データ復元手段により復元されたデータを前記記憶手段に形成された転写領域に転写するデータ転写手段と、
を備えたことを特徴とする請求項１または２に記載のデータ記憶装置。
【請求項４】
前記記憶手段は、データのアドレスを管理するためのテーブルを記憶し、
前記データ転写手段によりデータが転写された場合、前記テーブルを当該転写先が反映された内容に更新する更新手段を備えたことを特徴とする請求項３に記載のデータ記憶装置。
【請求項５】
前記データ書込手段は、
前記記憶領域上を走査してデータの読み出しや書き込みを行うためのヘッドに対する位置調整用データを前記初期化された記憶領域に書き込むことを特徴とする請求項４に記載のデータ記憶装置。
【請求項６】
記憶手段にデータを記憶するデータ記憶方法において、
前記記憶手段に形成された記憶領域からデータを読み出す工程と、
前記読み出されたデータを一時保持する工程と、
データの読み出しが行われた前記記憶領域を初期化する工程と、
前記初期化された記憶領域に対し、前記一時保持されたデータを書き込む工程と、
を含むことを特徴とするデータ記憶方法。
【請求項７】
記憶手段にデータを記憶するデータ記憶方法において、
前記記憶手段に形成された記憶領域からデータを読み出す工程と、
データの読み出しが成功したか否かを判定する工程と、
読み出し不成功と判定された場合に、当該データを復元し、当該復元された正しいデータを一時保持し、該データの記憶領域を初期化し、当該一時保持したデータを当該初期化後の記憶領域に書き込む工程と、
を含むことを特徴とするデータ記憶方法。
【請求項８】
記憶手段にデータを記憶するデータ記憶方法において、
前記記憶手段に形成された記憶領域からデータを読み出す工程と、
前記読み出されたデータを一時保持する工程と、
データの読み出しが行われた前記記憶領域を初期化する工程と、
前記初期化された記憶領域に対し、前記一時保持されたデータを書き込む工程と、
前記初期化後の記憶領域に対するデータの書き込み後、少なくとも１回は当該書き込まれたデータを再読み出しする工程と、
再読み出しの回数を計数すると共に、再読み出しが成功した回数および／または失敗した回数を計数する工程と、
計数された前記再読み出し回数、前記再読み出しの成功回数或いは失敗回数のうち少なくとも１つの回数データを用いて定められた条件に基づいて、当該再読み出しが行われた記憶領域が不良であるか否かを判定する工程と、
不良と判定された場合、当該不良と判定された記憶領域から読み出されたデータを、正しいデータに復元する工程と、
前記正しいデータに復元されたデータを前記記憶手段に形成された転写領域に転写する工程と、
を含むことを特徴とする請求項６に記載のデータ記憶方法。
【請求項９】
記憶手段にデータを記憶するデータ記憶方法において、
前記記憶手段に形成された記憶領域からデータを読み出す工程と、
データの読み出しが成功したか否かを判定する工程と、
読み出し不成功と判定された場合に、当該データを一時保持し、該データの記憶領域を初期化し、当該一時保持したデータを当該初期化後の記憶領域に書き込む工程と、
前記初期化後の記憶領域に対するデータの書き込み後、少なくとも１回は当該書き込まれたデータを再読み出しする工程と、
再読み出しの回数を計数すると共に、再読み出しが成功した回数および／または失敗した回数を計数する工程と、
計数された前記再読み出し回数、前記再読み出しの成功回数或いは失敗回数のうち少なくとも１つの回数データを用いて定められた条件に基づいて、当該再読み出しが行われた記憶領域が不良であるか否かを判定する工程と、
不良と判定された場合、当該不良と判定された記憶領域から読み出されたデータを、正しいデータに復元する工程と、
前記正しいデータに復元されたデータを前記記憶手段に形成された転写領域に転写する工程と、
を含むことを特徴とする請求項６に記載のデータ記憶方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ記憶装置及びデータ記憶方法に関する。
【０００２】
【従来の技術】
近時、ハードディスクや光磁気ディスク、ＣＤ−Ｒ／Ｗ、ＤＶＤ−ＲＡＭ（以下、総称してディスクという場合がある。）などの記憶媒体に対しデータの読み出しや書き込みを行うためのディスク装置がＰＣ（Personal Computer）などのデジタル機器に広く利用されている。このようなディスク装置では、ＰＣなどからアクセス要求されると、ディスク上に形成されたセクタのなかからアクセス要求されたセクタが検索され、このセクタに対しデータの読み出しや書き込みが行われる。
【０００３】
最近、ハードディスクや光磁気ディスクに不良個所がある場合でも、当該不良個所がない場合と略同一時間で記録再生処理が可能な技術が開示されいる（例えば、特許文献１参照。）。
【０００４】
【特許文献１】
特開平７―３０７０６１号公報
【０００５】
【発明が解決しようとする課題】
しかし、上記従来の技術には、以下のような問題点があった。
従来のディスク装置では、振動や落下などにより読み出し／書き込みヘッドの位置にずれが生じた場合や、ディスクの磁化力が低下したことよりデータが読み出しにくくなった場合などに、アライメント調整や磁化力の復旧処理などの再フォーマットが行われる。
しかし、ディスクを再フォーマットする際、ユーザは、フォーマットに先立ってディスクのバックアップを行い、バックアップしたデータをフォーマット後の元のディスクに再書き込み（以下、「リストア」という。）しなければならず、大変面倒である。特に近年では、ハードディスク等の記憶媒体の記憶容量が急速に増大しているため、上記の課題の早急な解決が望まれていた。
【０００６】
本発明の課題は、ディスクのフォーマットを短時間で容易に行えるデータ記憶装置及びデータ記憶方法を提供することである。
【０００７】
【課題を解決するための手段】
本発明は、このような課題を解決するために、次のような特徴を備えている。なお、次に示す手段の説明中、括弧書きにより実施の形態に対応する構成を一例として示す。符号等は、後述する図面参照符号等である。
【０００８】
請求項１に記載の発明は、
データを記憶する記憶手段（例えば、図１に示すハードディスク１２１ａ。）を備えたデータ記憶装置（例えば、図１に示すデータ記憶装置１００。）において、
前記記憶手段に形成された記憶領域（例えば、トラックやセクタ。）からデータを読み出すデータ読出手段（例えば、図１に示すＣＰＵ１１０。）と、
前記読み出されたデータを一時保持するデータ保持手段（例えば、図１に示すＲＡＭ１４０。）と、
前記データ読出手段によりデータの読み出しが行われた記憶領域を初期化する初期化手段（例えば、図１に示すＣＰＵ１１０。）と、
前記初期化手段により初期化された記憶領域に対し、前記データ保持手段に一時保持されたデータを書き込むデータ書込手段（例えば、図１に示すＣＰＵ１１０。）と、
を備えたことを特徴とする。
【０００９】
請求項１に記載の発明によれば、データを記憶する記憶手段を備えたデータ記憶装置において、データ読出手段は、前記記憶手段に形成された記憶領域からデータを読み出し、データ保持手段は、前記読み出されたデータを一時保持し、初期化手段は、前記データ読出手段によりデータの読み出しが行われた記憶領域を初期化し、データ書込手段は、前記初期化手段により初期化された記憶領域に対し、前記データ保持手段に一時保持されたデータを書き込む。
【００１０】
さらに、請求項２に記載の発明のように、請求項１に記載の発明において、前記データ読出手段によるデータの読み出しが成功したか否かを判定する読出成否判定手段（例えば、図３に示すＣＰＵ２１０。）と、前記読出成否判定手段により読み出し不成功と判定された場合に、前記データ読出手段により読み出されたデータを復元し、当該復元された正しいデータを前記データ保持手段に保持させ、当該記憶領域を前記初期化手段に初期化させ、当該初期化後の記憶領域に対し当該データ保持手段に保持させたデータを前記データ書込手段に書き込ませるよう制御する制御手段（例えば、図３に示すＣＰＵ２１０。）とを備えるのが好ましい。
【００１１】
さらに、請求項３に記載の発明のように、請求項１または２に記載の発明において、前記データ書込手段による書き込み後、少なくとも１回は当該書き込まれたデータを再読み出しする再読出手段（例えば、図５に示すＣＰＵ３１０。）と、前記再読出手段による再読み出しの回数を計数する再読出回数計数手段（例えば、図５に示すＣＰＵ３１０。）と、前記再読出手段による再読み出しが成功および／または失敗した回数を計数する再読出結果計数手段（例えば、図５に示すＣＰＵ３１０。）と、前記再読出回数計数手段により計数された再読み出し回数、前記再読出結果計数手段によって計数された再読み出しの成功回数或いは失敗回数のうち少なくとも１つの回数データを用いて、当該再読み出しが行われた記憶領域が不良であるか否かを判定する不良領域判定手段（例えば、図５に示すＣＰＵ３１０。）と、前記不良領域判定手段により不良と判定された場合に、当該不良と判定された記憶領域から読み出されたデータを正しいデータに復元するデータ復元手段と（例えば、図５に示すＣＰＵ３１０。）、前記データ復元手段により復元されたデータを前記記憶手段に形成された転写領域（例えば、図５に示すリザーブ領域３２１１。）に転写するデータ転写手段（例えば、図５に示すＣＰＵ３１０。）とを備えるのが好ましい。
【００１２】
さらに、請求項４に記載の発明のように、請求項３に記載の発明において、前記記憶手段は、データのアドレスを管理するためのテーブル（例えば、図５に示すテーブル領域３２１２。）を記憶し、前記データ転写手段によりデータが転写された場合、前記テーブルを当該転写先が反映された内容に更新する更新手段（例えば、図５に示すＣＰＵ３１０。）を備えるのが好ましい。
【００１３】
さらに、請求項５に記載の発明のように、請求項４に記載の発明において、前記データ書込手段は、前記記憶領域上を走査してデータの読み出しや書き込みを行うためのヘッドに対する位置調整用データ（例えば、図６に示すサーボデータ。）を前記初期化された記憶領域に書き込むのが好ましい。
【００１４】
したがって、ハードディスク等の記憶装置の初期化の際、データ記憶装置に書き込まれたデータを他のデータ記憶装置（例えば、ＣＤ−Ｒなどの記憶媒体。）や別のコンピュータなどにデータをバックアップする必要がないので、初期化が容易に行える。
また、データを読み出すのが困難となった不良個所だけが初期化されるので、初期化に要する時間が短縮化できる。
また、一度初期化されたものの、データの読み出しがなお困難な場合、データ転写手段により当該データが他の転写領域に書き込まれるので、データの保守回復が十分に図られる。
【００１５】
【発明の実施の形態】
以下、図１〜図６を参照して本発明を適用したデータ記憶装置１００について詳細に説明する。
【００１６】
＜実施例１＞
まず、データ記憶装置１００の構成を説明する。図１に、本発明を適用したデータ記憶装置１００の内部構成を示す。
図１に示すように、データ記憶装置１００は、ＣＰＵ１１０、ディスク装置１２０、ＲＯＭ１３０、ＲＡＭ１４０、入力部１５０などを備えて構成され、これら各部はバス１を介して相互に接続されている。
【００１７】
ＣＰＵ（Central Processing Unit）１１０は、図２のフローチャートに示すデータ記憶処理を行うためのデータ記憶プログラムを実行して、ディスク装置１２０〜入力部１５０などデータ記憶装置１００の各構成部を制御する。なお、当該データ記憶処理については後に詳述する。
【００１８】
ディスク装置１２０は、ＨＤＤ（Hard Disk Drive）１２１やＨＤＣ（Hard Disk Controller）１２２を備える。
【００１９】
ＨＤＤ１２１は、データが記憶されるハードディスク１２１ａやハードディスク１２１ａを駆動するための図示しないモータ、さらに、ハードディスク１２１ａのトラックやセクタを走査してデータの読み出しや書き込みを行うための図示しないヘッドなどを備える。
【００２０】
ＨＤＣ１２２は、上記モータを駆動してハードディスク１２１ａを回転させ、ハードディスク１２１ａをフォーマットしたり、データの読み出しや書き込みを行う。また、ＨＤＣ１２２は、必要に応じて高速データ通信を可能とするＤＭＡ（Direct Memory Access）コントローラ等（図示略）を備える。
【００２１】
ＲＯＭ（Read Only Memory）１３０は、データ記憶装置１００を制御するための各種プログラムや当該プログラムを実行する際に必要な各種データ（例えば、文字フォントデータなど。）を格納し、特に、図２のフローチャートに示すデータ記憶処理を行うためのコンピュータ読み取り可能なデータ記憶プログラムを格納する。
【００２２】
ＲＡＭ（Random Access Memory）１４０は、ワーク領域やテーブル領域として用いられ、特に、ＴｒａｃｋＮｕｍ記憶領域１４１、書込データ記憶領域１４２、読出データ記憶領域１４３などの各種記憶領域が形成されている。
【００２３】
ＴｒａｃｋＮｕｍ記憶領域１４１には、ハードディスク１２１ａに形成されたトラックのうち現在アクセス中のトラック番号（以下、ＴｒａｃｋＮｕｍという。）が記憶され、書込データ記憶領域１４２には、ハードディスク１２１ａに書き込み予定のデータが記憶され、読出データ記憶領域１４３には、ハードディスク１２１ａから読み出されたデータが記憶される。
ここで、ハードディスク１２１ａの最外周のトラック番号は“０”であり、ハードディスク１２１ａの中心方向に向かって順に１ずつトラック番号が大きくなっていく。
【００２４】
入力部１５０は、キーボードやテンキーなどの各種入力キー、あるいはマウスやタッチパネルなどの各種ポインティングデバイスを備え（何れも、図示略。）、各種指示入力やデータ入力を行う。
【００２５】
次に、データ記憶装置１００の動作について説明する。図２に、本実施例１のデータ記憶処理を説明するフローチャートを示す。ここで説明するデータ記憶処理（ステップＳ１０〜Ｓ１５）は、ＣＰＵ１１０がＲＯＭ１３０に格納されたデータ記憶プログラムを実行することによって行われる。
【００２６】
まず、フォーマット指示が入力されると、ＴｒａｃｋＮｕｍ記憶領域１４１に記憶されたＴｒａｃｋＮｕｍが初期化され（ＴｒａｃｋＮｕｍ＝０）（ステップＳ１０）、ＴｒａｃｋＮｕｍのトラックに書き込まれているデータが読出データ記憶領域１４３に読み出される（ステップＳ１１）。始めはＴｒａｃｋＮｕｍが“０”のトラック（最外周のトラック）のデータが読み出される。
【００２７】
ステップＳ１１の後、ＴｒａｃｋＮｕｍのトラックに対しアライメント調整に基づくフォーマット処理が施され（ステップＳ１２）、その後、ステップＳ１１で読出データ記憶領域１４３に読み出されたデータがこのトラックにリストア（restore）される（ステップＳ１３）。
【００２８】
ステップＳ１３の後、ＴｒａｃｋＮｕｍが１だけインクリメントされ（ステップＳ１４）、ＴｒａｃｋＮｕｍがトラック番号の最大値を越えたか否か、すなわち、全トラックに対してフォーマットおよびデータのリストアが行われたか否かが判定される（ステップＳ１５）。
【００２９】
全トラックに対してフォーマットおよびデータのリストアが完了した場合（ステップＳ１５；Ｙｅｓ）、当該処理が終了され、完了していない場合（ステップＳ１５；Ｎｏ）、ステップＳ１１に移行して次番目以降のトラックのフォーマットおよびデータのリストアが行われる。
【００３０】
以上説明したように、本実施例１におけるデータ記憶装置１００は、ハードディスク１２１ａに対し１トラック毎にデータをＲＡＭ１４０（すなわち、読出データ記憶領域１４３。）に読み出し（退避させ）てから、そのトラックをフォーマットし、その後、当該フォーマット済のトラックにデータをリストアする。
【００３１】
従って、ハードディスク１２１ａをフォーマットする際、ハードディスク１２１ａのデータを他の記録媒体（例えば、ＣＤ−Ｒなど。）や別のコンピュータなどにバックアップする必要がないので、フォーマットが容易に行える。
【００３２】
なお、本実施例１における記述は、本発明に係るデータ記憶方法、データ記憶装置及びデータ記憶プログラムの一例を示すものであり、これに限定されるものではない。本実施例１におけるデータ記憶装置１００の細部構成、詳細動作および数値に関しては、本発明の趣旨を逸脱しない範囲で適宜変更可能である。
【００３３】
例えば、１トラック毎にフォーマットしていたが、これに限らず、ＲＡＭ１４０の容量に余裕があれば、複数トラック分をまとめてフォーマットするようにしても良い。
【００３４】
＜実施例２＞
さらに、１トラック毎にハードディスク１２１ａのデータの読み出しを行い、この読み出しで発生したエラー回数をカウントし、所定回数以上のエラーがカウントされた場合には当該トラックを不良トラックと判定してフォーマットを行うようにしても良い。このような処理を行う例を以下の実施例２に示す。
【００３５】
図３に、本実施例２におけるデータ記憶装置２００の内部構成を示す。また、図４に、本実施例２におけるデータ記憶処理を説明するフローチャートを示す。ここで、説明簡略化のため、データ記憶装置２００の各構成部のうち、データ記憶装置１００と同一構成部については同一符号を付して説明を省略する。
【００３６】
図３に示すように、データ記憶装置２００は、ＣＰＵ２１０、ディスク装置１２０、ＲＯＭ２３０、ＲＡＭ２４０、入力部１５０などを備え、これら各部はバス２を介して相互に接続されている。
【００３７】
ＣＰＵ２１０は、ディスク装置１２０〜入力部１５０などデータ記憶装置２００の各構成部を制御して図４のフローチャートに示すデータ記憶処理を行うためのデータ記憶プログラムを実行する。なお、当該データ記憶処理については後に詳述する。
【００３８】
ＲＯＭ２３０は、データ記憶装置２００を制御するための各種プログラムや当該プログラムを実行する際に必要な各種データ（例えば、文字フォントデータなど。）を格納し、特に、図４のフローチャートに示すデータ記憶処理を行うためのコンピュータ読み取り可能なデータ記憶プログラムを格納する。
【００３９】
ＲＡＭ２４０は、ワーク領域やテーブル領域として用いられ、特に、ＴｒａｃｋＮｕｍ記憶領域２４１、ＲｅｔｒｙＣｎｔ記憶領域２４２、書込データ記憶領域２４３、読出データ記憶領域２４４などの各種記憶領域が形成されている。
【００４０】
ＴｒａｃｋＮｕｍ記憶領域２４１には、ハードディスク１２１ａに形成されたトラックのうち現在アクセス中のトラック番号（以下、「アクセス先トラック番号」または「ＴｒｕｃｋＮｕｍ」という。）が記憶され、ＲｅｔｒｙＣｎｔ記憶領域２４２には、同一トラックに対し連続して読み出し処理を行った回数（以下「エラー回数」または「ＲｅｔｒｙＣｎｔ」という。）が記憶され、書込データ記憶領域２４３には、ハードディスク１２１ａに書き込み予定のデータが記憶され、読出データ記憶領域２４４には、ハードディスク１２１ａから読み出されたデータが記憶される。
【００４１】
以下、図４のフローチャートに示すデータ記憶処理について説明する。ここで説明するデータ記憶処理（ステップＳ２０〜Ｓ３１）は、ＣＰＵ２１０がＲＯＭ２３０に格納されたデータ記憶プログラムを実行することにより行われる。
【００４２】
まず、フォーマット指示が入力されると、ＴｒａｃｋＮｕｍ記憶領域２４１に記憶されたアクセス先トラック番号ＴｒａｃｋＮｕｍが初期化され（ＴｒａｃｋＮｕｍ＝０）（ステップＳ２０）、また、ＲｅｔｒｙＣｎｔ記憶領域２４２に記憶されたエラー回数ＲｅｔｒｙＣｎｔが初期化（ＲｅｔｒｙＣｎｔ＝０）される（ステップＳ２１）。
【００４３】
ステップＳ２１の後、ＴｒａｃｋＮｕｍ記憶領域２４１に記憶されたＴｒａｃｋＮｕｍのトラックに書き込まれているデータが読出データ記憶領域２４４に読み出される（ステップＳ２２）。始めはＴｒａｃｋＮｕｍが“０”のトラックのデータが読み出される。
【００４４】
その後、ステップＳ２２で行われたデータの読み出しが、成功したか否かが判定され（ステップＳ２３）、成功した場合（ステップＳ２３；Ｙｅｓ）、ＲｅｔｒｙＣｎｔが示す不成功回数（すなわち、エラー回数。）が所定の許容回数を越えたか否かが判定される（ステップＳ２４）。
ここで、上記許容回数とは、当該トラックが不良であるか否か、すなわち、トラックをフォーマットするか否かの判定基準であり、例えば、２回あるいは３回など、自由に設定できる。この許容回数が少ない程、厳しい基準となる。
【００４５】
ステップＳ２４において、エラー回数が所定の許容回数を越えた場合（ステップＳ２４；Ｙｅｓ）、当該トラックはフォーマットの必要有りと判定され、当該トラックに対しアライメント調整等に基づくフォーマット処理が施され（ステップＳ２５）、その後、ステップＳ２２で読出データ記憶領域２４４に読み出されたデータがこのトラックにリストアされる（ステップＳ２６）。
【００４６】
ステップＳ２６の後、アクセス先トラック番号ＴｒａｃｋＮｕｍが１だけインクリメントされ（ステップＳ２７）、このＴｒａｃｋＮｕｍがトラック番号の最大値を越えたか否か、すなわち、全トラックに対してトラックに書き込まれているデータの読み出しテストが行われたか否かが判定される（ステップＳ２８）。
【００４７】
全トラックに対してトラックに書き込まれているデータの読み出しテストが完了した場合（ステップＳ２８；Ｙｅｓ）、図４のデータ記憶処理が終了され、一方まだ完了していない場合（ステップＳ２８；Ｎｏ）は、ステップＳ２１に移行して次番目以降のトラックに書き込まれているデータの読み出しテストが行われる。
【００４８】
ステップＳ２４に戻って説明する。エラー回数が所定の許容回数を越えていない場合、すなわち、エラー回数が許容回数を越えないでデータの読み出しに成功した場合（ステップＳ２４；Ｎｏ）、当該トラックのフォーマットは不必要であると判定され、ステップＳ２７に移行する。
【００４９】
ステップＳ２３に戻って説明する。データの読み出しに成功しなかった場合（ステップＳ２３；Ｎｏ）、エラー回数を示すＲｅｔｒｙＣｎｔが１だけインクリメントされ、エラー回数が所定の上限値を越えたか否かが判定される（ステップＳ３０）。ここで、所定の上限値とは、データが読み出せないが、このまま繰り返してデータの読み出しを継続するか否かを判定する際の判定基準である。
【００５０】
ステップＳ３０において、エラー回数が所定の上限値を越えていない場合（ステップＳ３０；Ｎｏ）は、ステップＳ２２に移行して、再度、データの読み出しが行われ、一方エラー回数が所定の上限値を越えた場合（ステップＳ３０；Ｙｅｓ）には、それ以上のリトライすなわち再試行を行わずに所定のエラー処理が行われ（ステップＳ３１）、ステップＳ２７に移行する。ここで、ステップＳ３１で行われる所定のエラー処理とは、例えば、エラーメッセージを表示して、データが読み出せなかった旨をユーザに通知するなどの処理である。
【００５１】
したがって、本実施例２によれば、読み出すのが困難となった不良トラックだけがフォーマットされるので、フォーマットに要する時間が短縮化できる。
【００５２】
＜実施例３＞
さらに、実施例１においてリストアされたデータを再度読み出し、この読み出しで発生したエラー回数をカウントし、エラー回数が所定回数以上の場合には当該トラックを不良トラックと判定し、当該リストアデータをハードディスクの他の記憶領域（以下、リザーブ領域という。）に書き込んでこのトラックを以後使用しないようにしても良い。このような処理を行う例を以下の実施例３に示す。
【００５３】
図５に、本実施例３におけるデータ記憶装置３００の内部構成を示す。また、図６に、本実施例３におけるデータ記憶処理を説明するフローチャートを示す。ここで、説明簡略化のため、データ記憶装置３００の各構成部のうち、データ記憶装置１００、２００と同一構成部については、同一符号を付して説明を省略する。
【００５４】
図５に示すように、データ記憶装置３００は、ＣＰＵ３１０、ディスク装置３２０、ＲＯＭ３３０、ＲＡＭ２４０、入力部１５０などを備え、これら各部はバス３を介して相互に接続されている。
【００５５】
ＣＰＵ３１０は、ディスク装置１２０〜入力部１５０などデータ記憶装置３００の各構成部を制御して図６のフローチャートに示すデータ記憶処理を行うためのデータ記憶プログラムを実行する。なお、当該データ記憶処理については後に詳述する。
【００５６】
ディスク装置３２０は、ＨＤＤ３２１やＨＤＣ３２２を備える。
ＨＤＤ３２１は、データが記憶されるハードディスク３２１ａやハードディスク３２１ａを駆動するための図示しないモータ、さらに、ハードディスク３２１ａのトラックやセクタを走査してデータの読み出しや書き込みを行うための図示しないヘッドなどを備える。
【００５７】
また、ハードディスク３２１ａにはリザーブ領域３２１１が形成され、図６の処理により復旧困難なトラックのデータが書き込まれる。また、ハードディスク３２１ａにはテーブル領域３２１２が形成され、データにアクセスする際に用いられる論理番号と、ハードディスク３２１ａ上の実際にデータが書き込まれた位置を示す物理番号とを対応付けるテーブルが記憶されることが望ましい。
【００５８】
ＨＤＣ３２２は、上記モータを駆動してハードディスク３２１ａを回転させ、ハードディスク３２１ａに形成された各トラックをフォーマットしたり、データの読み出しや書き込みを行う。また、ＨＤＣ３２２は、高速データ通信を可能とするＤＭＡ（Direct Memory Access）コントローラ（図示略）等を必要に応じて備える。
【００５９】
ＲＯＭ３３０は、データ記憶装置３００を制御するための各種プログラムや当該プログラムを実行する際に必要な各種データ（例えば、文字フォントデータや、不良セクタが検出された旨のメッセージを示す文字データ。）を格納し、特に、図６のフローチャートに示すデータ記憶処理を行うためのコンピュータ読み取り可能なデータ記憶プログラムを格納する。
【００６０】
以下、図６のフローチャートに示すデータ記憶処理について説明する。ここで説明するデータ記憶処理（ステップＳ４０〜Ｓ５１）は、ＣＰＵ３１０がＲＯＭ３３０に格納されたデータ記憶プログラムを実行することにより行われる。
【００６１】
まず、フォーマット指示が入力されると、ＴｒａｃｋＮｕｍ記憶領域２４１に記憶されたＴｒａｃｋＮｕｍが初期化され（ＴｒａｃｋＮｕｍ＝０）（ステップＳ４０）、ＴｒａｃｋＮｕｍのトラックに書き込まれているデータが読出データ記憶領域２４４に読み出される（ステップＳ４１）。
【００６２】
ステップＳ４１の後、ＴｒａｃｋＮｕｍのトラックに対しアライメント調整に基づくフォーマット処理が施され（ステップＳ４２）、その後、ステップＳ４１で読出データ記憶領域２４４に読み出されたデータがこのトラックにリストアされる（ステップＳ４３）。なお、ここまでのステップＳ４０からステップＳ４３までの処理は、実施例１におけるステップＳ１０からステップＳ１３と同様の処理である。
【００６３】
そしてステップＳ４３の後、ＲｅｔｒｙＣｎｔが初期化され（ＲｅｔｒｙＣｎｔ＝０）（ステップＳ４４）、ステップＳ４３の処理でリストアされたデータに対し、再度読み出しを試みる（ステップＳ４５）。
【００６４】
その後、ステップＳ４５で行われたデータの再読み出しが成功したか否かが判定され（ステップＳ４６）、成功した場合（ステップＳ４６；Ｙｅｓ）はそのトラックは問題がないものとして、ステップＳ５０に移行し、ＴｒａｃｋＮｕｍが１だけインクリメントされ、次番目以降のトラックに対し同様の処理が繰り返される。一方、成功しなかった場合（ステップＳ４６；Ｎｏ）は、エラー回数を示すＲｅｔｒｙＣｎｔが１だけインクリメントされ、エラー回数が所定の上限値を越えたか否かが判定される（ステップＳ４８）。ここで、所定の上限値とは、データが読み出せないが、このまま繰り返してデータの読み出しを継続するか否かを判定する際の判定基準である。
【００６５】
ステップＳ４８において、エラー回数が所定の上限値を越えていない場合（ステップＳ４８；Ｎｏ）、ステップＳ４５に移行して、再度、データの読み出しが行われ、エラー回数が所定の上限値を越えた場合（ステップＳ４８；Ｙｅｓ）、当該トラックは復旧困難と判定され、ステップＳ４３の処理でこのトラックにリストアされたデータ、あるいは、別の表現を用いればステップＳ４１の処理で一旦読出データ記憶領域２４４に読み出されたデータがハードディスク３２１ａのリザーブ領域３２１１に書き込まれる（ステップＳ４９）。これにより、復旧困難なトラックに書き込まれたデータの回復が図られる。
【００６６】
その後、ＴｒａｃｋＮｕｍが１だけインクリメントされ（ステップＳ５０）、ＴｒａｃｋＮｕｍがトラック番号の最大値を越えたか否か、すなわち、全トラックに対してフォーマットおよびデータの読み出しテストが行われたか否かが判定される（ステップＳ５１）。
【００６７】
全トラックに対してフォーマットおよびデータの読み出しテストが完了した場合（ステップＳ５１；Ｙｅｓ）、当該処理が終了され、完了していない場合（ステップＳ５１；Ｎｏ）、ステップＳ４１に移行して次番目以降のトラックのフォーマットおよびデータの読み出しテストが行われる。
【００６８】
したがって、本実施例３によれば、一度フォーマットされたトラックであるにもかかわらず、データの読み出しがなお困難な場合、ハードディスク３２１ａのリザーブ領域３２１１に当該トラックのデータが書き込まれるので、データの保守回復が十分に図られる。
【００６９】
なお、実施例２でリストアされたデータに対しても、リストアしたデータを再度読み出し、この読み出しで発生したエラー回数をカウントし、エラー回数が所定回数以上の場合には当該トラックを不良トラックと判定し、当該リストアデータをリザーブ領域に書き込み、以降このトラックを使用しないようにしても良い。
また、リストアデータをリザーブ領域３２１１に書き込むか否かの判定方法は他にも可能であり、例えば、一度だけリストアデータを読み出し、このときエラーが発生したか否かで判定しても良い。この場合、条件は厳しいがエラー発生を最大限抑制可能となる。
また、他の判定方法として、読み出しの成功・不成功にかかわらずリストアデータを所定回数だけ読み出し、その間に発生したエラー回数が所定回数を超えているか否かで判定しても良い。このようにすることで、たまたま１回だけ読み出しに成功したような場合などのような偶発的な事象による影響を十分に軽減化可能となる。
【００７０】
以上、実施例１〜実施例３では、何れも、データの読み出しや書き込みがハードディスク１２１ａ、３２１ａに対して行われるものとして説明したが、これに限らず、ＭＯ（Magneto Optical Disk；光磁気ディスク）やＣＤ−Ｒ／Ｗ、ＤＶＤ−ＲＡＭその他の記憶媒体に対しデータの読み出しや書き込みが行えるようにしても良い。
また、実施例１〜実施例３においてフォーマットを行う際、トラック位置に対するヘッド位置を指定するためのサーボデータを書き直すようにしても良い。これにより、より一層効果的にデータの保守回復ができる。図７に示すように、サーボデータは、トラックの両サイドに各々同様に書き込まれている。すなわち、サーボデータとトラックの中心との距離Ｂ１、Ｂ２は両サイドのサーボデータで同じである（Ｂ１＝Ｂ２）。したがって、ヘッドがトラックの中心を移動する場合、ヘッドを介し当該両サイドのサーボデータから同一データが検出される。この検出結果に基づいてヘッド位置が修正可能となる。
【００７１】
また、上記実施例１〜実施例３において、あるトラックのデータを読み出した際および／または既に読み出されたデータをリストアする際に、この読み出されたデータが正しいものであるかどうか、すなわち、読み出しが成功したか否かを判別し、読み出したデータが正しいものでない場合には、正しいデータを得るようにすることが望ましい。
【００７２】
具体的には、ステップＳ１１、ステップＳ２２、ステップＳ４１、ステップＳ４５の、データ読み出し処理の後、および／または、ステップＳ１３、ステップＳ２６、ステップＳ４３、ステップＳ４９の、既に読み出されているデータを書き込む処理の前において、読み出されたデータあるいは既に読み出されたデータが正しいものであったか否かを判断して、誤っていた場合に正しいデータを得るような処理を行うと良い。
【００７３】
読み出されたデータあるいは既に読み出されたデータが正しいものであったか否かの判断は、そのデータ読み出しが読み出しエラーの発生したものであったか否かを判断することで、ステップＳ２３あるいはステップＳ４６と同様にして行うことができる。
【００７４】
また、正しいデータを得る処理としては、ハードディスク等のデータ領域に通常書かれている、ＣＲＣやチェックサムなどの誤り訂正符号を用いて誤ったデータを正しいものに復元する方法が考えられる。さらに、読み出しが失敗した場合には、読み出しが成功するまでリトライ（再試行）を繰り返すことによって正しいデータを得るようにすることも可能である。
【００７５】
これらの誤り訂正処理を行うことは、必ずしも必須ではなく、リザーブ領域に退避されたデータを実際に読み出す際に誤り訂正を行う等の方法も可能であると考えられるが、上記のように誤りの訂正を本発明の処理と共に行うことにより、記憶装置に書き込まれたデータが正しいものになり、データの保守がより一層確実なものとなり、また予測不能なバグが発生するのを防止して動作を安定化することができるという利点がある。
【００７６】
【発明の効果】
本発明によれば、ハードディスク等の記憶装置の初期化の際、データ記憶装置に書き込まれたデータを他のデータ記憶装置（例えば、ＣＤ−Ｒなどの記憶媒体。）や別のコンピュータなどにデータをバックアップする必要がないので、初期化が容易に行える。
また、データを読み出すのが困難となった不良個所だけが初期化されるので、初期化に要する時間が短縮化できる。
また、一度初期化されたものの、データの読み出しがなお困難な場合、データ転写手段により当該データが他の転写領域に書き込まれるので、データの保守回復が十分に図られる。
【図面の簡単な説明】
【図１】本発明を適用したデータ記憶装置の内部構成を示すブロック図である。
【図２】データ記憶処理を説明するフローチャートである。
【図３】他の実施例におけるデータ記憶装置の内部構成を示すブロック図である。
【図４】他の実施例におけるデータ記憶処理を説明するフローチャートである。
【図５】他の実施例におけるデータ記憶装置の内部構成を示すブロック図である。
【図６】他の実施例におけるデータ記憶処理を説明するフローチャートである。
【図７】サーボデータの一例を示す図である。
【符号の説明】
１〜３  バス
１００、２００、３００  データ記憶装置
１１０、２１０、３１０  ＣＰＵ
１２０、３２０  ディスク装置
１２１、３２１  ＨＤＤ
１２１ａ、３２１ａ  ハードディスク
１２２、３２２  ＨＤＣ
１３０、２３０、３３０  ＲＯＭ
１４０、２４０  ＲＡＭ
１４１、２４１  ＴｒａｃｋＮｕｍ記憶領域
１４２、２４３  書込データ記憶領域
１４３、２４４  読出データ記憶領域
１５０  入力部
２４２  ＲｅｔｒｙＣｎｔ記憶領域
３２１１  リザーブ領域
３２１２  テーブル領域
【図１】
2004206291.tif 000003
【図２】
2004206291.tif 000004
【図３】
2004206291.tif 000005
【図４】
2004206291.tif 000006
【図５】
2004206291.tif 000007
【図６】
2004206291.tif 000008
【図７】
2004206291.tif 000009