(57)【要約】【課題】  ファイルを管理するアドレス情報の管理を可能とすることで、空領域の連結性を重視したデフラグをホスト装置とは独立して自律的に実行可能とする記録再生装置及び方法、並びに記録再生システムを提供する。【解決手段】  ＨＤＤ４は、ホスト装置２の制御に応じてハードディスク１１をアクセスする。このディスク１１には、データを一時的に格納するデフラグ用領域が設けられ、データはファイルとして管理され、そのデータ管理にはＦＡＴファイルシステムを用いる。ＨＤＤ４は、ホスト装置２からのモード切替命令に応じてＨＤＤ内のメモリ１９にディスク１１上のＦＡＴを読み込み、このメモリに読み込まれたＦＡＴを参照してデフラグを行う。その際、２つのファイルの先頭スーパークラスタ（クラスタの整数倍のＨＤＤ４のアクセス単位）間にて断片化されたデータをデフラグ用領域にコピーし、書き戻すことを繰り返すことでデフラグを実行する。【選択図】  図１
2005165781.tif 000002
【特許請求の範囲】
【請求項１】
ホスト装置の制御に応じて記録媒体をアクセスしてデータの書き込み及び／又は読み出しをする記録再生装置において、
ホスト装置からの許可がある場合に、上記記録媒体の記録領域における断片化したユーザデータを、空領域の連結性が向上するよう再配置させる制御手段を有する
ことを特徴とする記録再生装置。
【請求項２】
上記記録媒体は、ファイル単位で管理される上記ユーザデータにアクセスするために必要なアドレス情報を管理するためのテーブルを記録する第１の記録領域と、上記ユーザデータが記録される第２の記録領域と、上記ユーザデータを一時的に書き込み可能な第３の記録領域とを有し、
上記制御手段は、上記第３の記録領域を利用して上記ユーザデータの再配置を行わせる
ことを特徴とする請求項１記載の記録再生装置。
【請求項３】
上記アドレス情報を管理するためのテーブルを記憶するメモリを有し、
上記制御手段は、上記ホスト装置からの所定のモード切替命令に応じて上記メモリに上記記録媒体上の上記テーブルを読み込み、このメモリに読み込まれたテーブルを参照して上記再配置を行わせる
ことを特徴とする請求項２記載の記録再生装置。
【請求項４】
上記制御手段は、上記再配置の後、上記メモリに読み込まれたテーブルを更新し、上記モード切替命令に応じて更新された上記メモリ上のテーブルを上記記録媒体に書き戻す
ことを特徴とする請求項３記載の記録再生装置。
【請求項５】
上記ファイルは、ホスト装置のアクセス最小単位である複数のクラスタからなり、
上記制御手段は、上記メモリに読み込まれたテーブルを参照し、上記ファイルの記録済みクラスタの配置状況及び未記録の空クラスタの連結性を解析する解析機能を有し、この解析結果に基づき上記ユーザデータの再配置を行わせる
ことを特徴とする請求項３記載の記録再生装置。
【請求項６】
上記テーブルは、上記ファイルの先頭データの位置を示す先頭位置情報を有し、
上記制御手段は、上記解析機能により、２つの先頭データ間に挟まれる領域内における上記記録済みクラスタの配置状況及び未記録の空クラスタの連結性を解析する
ことを特徴とする請求項５記載の記録再生装置。
【請求項７】
上記制御手段は、複数のクラスタからなるスーパークラスタをアクセス最小単位として上記ユーザデータを再配置する
ことを特徴とする請求項５記載の記録再生装置。
【請求項８】
上記テーブルは、上記ファイルの先頭スーパークラスタの位置を示す先頭位置情報を有し、
上記制御手段は、第１のファイルの先頭スーパークラスタと、第２のファイルの先頭スーパークラスタとの間に存在するデータの少なくとも一部をスーパークラスタ単位で上記第３の記録領域にコピーさせ、該コピーしたデータの少なくとも一部を上記第１のファイルの先頭クラスタに連結するよう書き戻す
ことを特徴とする請求項７記載の記録再生装置。
【請求項９】
上記制御手段は、上記解析機能により移動対象となる移動対象データを検索し、検索された移動対象データより内周側に空領域が存在する場合に該移動対象データを該内周側の空領域に移動させる
ことを特徴とする請求項５記載の記録再生装置。
【請求項１０】
上記制御手段は、上記移動対象データを内周側から検索する
ことを特徴とする請求項９記載の記録再生装置。
【請求項１１】
上記移動対象データは、第１のファイルの開始クラスタから該第１のファイルの最近傍に配置される第２のファイルの開始クラスタまでの間で上記第１のファイルとは異なるファイルの記録済みクラスタである
ことを特徴とする請求項９記載の記録再生装置。
【請求項１２】
上記制御手段は、上記解析機能により移動対象となる移動対象データ、及び該検索された移動対象データを移動させることができる移動候補先空領域を検索し、該移動対象データを、該移動候補先空領域の中で最も移動時間が短い領域へ移動させる
ことを特徴とする請求項５記載の記録再生装置。
【請求項１３】
上記制御手段は、上記移動対象データを外周側から検索する
ことを特徴とする請求項１２記載の記録再生装置。
【請求項１４】
上記制御手段は、上記モード切替の後、上記ホスト装置からのアクセス要求が予め決められた一定時間以上発生しない場合に、上記ユーザデータの再配置を行わせる
ことを特徴とする請求項３記載の記録再生装置。
【請求項１５】
ホスト装置の制御に応じて記録媒体をアクセスしてデータの書き込み及び／又は読み出しをする記録再生方法において、
ホスト装置からの許可がある場合に、上記記録媒体の記録領域における断片化したユーザデータを、空領域の連結性が向上するよう再配置させる制御工程を有する
ことを特徴とする記録再生方法。
【請求項１６】
上記記録媒体は、ファイル単位で管理される上記ユーザデータにアクセスするために必要なアドレス情報を管理するためのテーブルを記録する第１の記録領域と、上記ユーザデータが記録される第２の記録領域と、上記ユーザデータを一時的に書き込み可能な第３の記録領域とを有し、
上記制御工程では、上記第３の記録領域を利用して上記ユーザデータの再配置を行わせる
ことを特徴とする請求項１５記載の記録再生方法。
【請求項１７】
上記制御工程では、上記ホスト装置からの所定のモード切替命令に応じて上記アドレス情報を管理するためのテーブルを記憶するメモリに上記記録媒体上の上記テーブルを読み込み、このメモリに読み込まれたテーブルを参照して上記再配置を行わせる
ことを特徴とする請求項１６記載の記録再生方法。
【請求項１８】
上記ファイルは、ホスト装置のアクセス最小単位である複数のクラスタからなり、
上記制御工程では、上記メモリに読み込まれたテーブルを参照し、上記ファイルの記録済みクラスタの配置状況及び未記録の空クラスタの連結性を解析する解析機能による解析結果に基づき上記ユーザデータの再配置を行わせる
ことを特徴とする請求項１７記載の記録再生方法。
【請求項１９】
上記テーブルは、上記ファイルの先頭データの位置を示す先頭位置情報を有し、
上記制御工程では、上記解析機能により隣り合う２つの先頭データ間に挟まれる領域内における記録済みクラスタの配置状況及び未記録の空クラスタの連結性を解析する
ことを特徴とする請求項１８記載の記録再生方法。
【請求項２０】
上記制御工程では、上記解析機能により移動対象となる移動対象データを検索し、検索された移動対象データより内周側に空領域が存在する場合に該移動対象データを該内周側の空領域に移動させる
ことを特徴とする請求項１８記載の記録再生方法。
【請求項２１】
上記制御工程では、上記解析機能により移動対象となる移動対象データ、及び該検索された移動対象データを移動させることができる移動候補先空領域を検索し、該移動対象データを、該移動候補先空領域の中で最も移動時間が短い領域へ移動させる
ことを特徴とする請求項１８記載の記録再生方法。
【請求項２２】
ホスト装置と、該ホスト装置の制御に応じて記録媒体をアクセスしてデータの書き込み及び／又は読み出しをする記録再生装置とを有する記録再生システムにおいて、
上記記録再生装置は、上記ホスト装置からの許可がある場合に、上記記録媒体の記録領域における断片化したユーザデータを、空領域の連結性が向上するよう再配置させる制御手段を有する
ことを特徴とする記録再生システム。
【請求項２３】
上記記録媒体は、ファイル単位で管理される上記ユーザデータにアクセスするために必要なアドレス情報を管理するためのテーブルを記録する第１の記録領域と、上記ユーザデータが記録される第２の記録領域と、上記ユーザデータを一時的に書き込み可能な第３の記録領域とを有し、
上記制御手段は、上記第３の記録領域を利用して上記ユーザデータの再配置を行わせる
ことを特徴とする請求項２２記載の記録再生システム。
【請求項２４】
上記記録再生装置は、上記アドレス情報を管理するためのテーブルを記憶するメモリを有し、
上記ホスト装置は、上記記録再生装置に対して所定のモード切替命令を送信し、
上記制御手段は、上記モード切替命令に応じて上記メモリに上記記録媒体上の上記テーブルを読み込み、このメモリに読み込まれたテーブルを参照して上記再配置を行わせる
ことを特徴とする請求項２３記載の記録再生システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホスト装置からの制御によりＡＶデータなどの各種のデータをファイルとして管理する記録再生装置及び方法、並びにホスト装置及び記録再生装置からなる記録再生システムに関し、特に、例えば記録媒体のアクセス位置によってデータ転送レートが異なるディスクなどを記録媒体として用いた場合において好適な記録再生装置及び方法、並びに記録再生システムに関する。
【背景技術】
【０００２】
ＦＡＴファイルシステムは、ハードディスクドライブ装置（ＨＤＤ）、あるいは固体メモリを記録媒体としたメディア（ソニー製：メモリースティック（登録商標）、東芝製；スマートメディア（登録商標）、サンディスク製：コンパクトフラッシュ（登録商標）、マルチメディアカード等）などのＰＣの外部記憶装置で用いられるファイルシステムである。
【０００３】
ＦＡＴファイルシステムは、個々のファイルが記録媒体上のどこに配置されているかを示すのに用いられるファイルアロケーションテーブル（File Allocation Table：ＦＡＴ）と、ファイルの属性およびファイルがデレクトリィ上のどこに存在しているかを示すデレクトリィ項目の２つのデータを使用する。
【０００４】
通常、記録媒体上にＦＡＴ及びルートデレクトリィ用のエリアが専用に設けてあり、ＰＣ（Personal Computer）はファイルアクセスに必要なそれらの情報をＰＣインターフェース（ＳＣＳＩ，ＩＤＥ，ＩＥＥＥ１３９４，ＵＳＢ等）介して受信し、それらを基に記録再生制御を行う。
【０００５】
例えば、ＨＤＤにおいては、ハードディスクに記録された管理用のデータであるＦＡＴにより、複数セクタによるクラスタを単位にしてハードディスクに記録されたデータを管理できるようになされており、この管理をホスト装置であるパーソナルコンピュータ等により実行するようになされている。ＨＤＤにファイルを書き込む時には、空きクラスタにそのデータを書き込むと同時に、次にどのクラスタが使われるかを示す情報をＦＡＴ項目に書き込む。ファイルを消去する場合には、書き込まれているデータはそのままで、使用されているクラスタに対応するＦＡＴ項目を空きクラスタとする。
【０００６】
このときファイルのサイズはばらばらなので、書き込みと消去とを繰り返してゆくと、記録媒体上で連続した空き領域は次第に少なくなり、ファイルは多数のクラスタに分割されて記録せざるをえなくなる。その結果として書込みに多くの機械的動作が必要となり、書込み時間が増大する。また読み出しの時も同様の問題が発生する。このように、データの書き込みと消去が繰り返し行われると連続した空き領域を確保することは難しくなり、１つのファイルが連続しない多数のクラスタに分割されて記録されるために大幅に転送速度が低下する（通常、フラグメンテーションと呼ばれる。）。
【０００７】
これらの問題を解消するために、従来、断片化されたデータを連続領域に移動させ、ＡＶデータの断片化を改善するデフラグメンテーション（以下、デフラグという。）と呼ばれる処理がホスト装置にて行われる。ホスト装置においてこのデフラグを実行すると、処理中に、ホスト装置とＨＤＤ装置との間でＡＶストリームの再生などのデータの入出力が一切できない。そこで、ホスト装置からの要求に応じてデータを再生するのと並行して、再生されたデータを連続領域に書き込むことでデフラグを行う技術などがある（例えば下記特許文献１など）。
【０００８】
【特許文献１】特開２００２−２６８９２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、既存のデフラグをコンスーマ機器で行うには以下の３つの問題がある。すなわち、第１に、既存のデフラグ方式、すなわち、断片化したデータを全て読み出し連結するよう書き戻す処理には非常に多くの時間がかかり、特にコンスーマ機器のＣＰＵ性能が低いことを考えると実装することは極めて困難である。
【００１０】
第２に、ホスト装置はＨＤＤ内部の情報を知らず、ＬＢＡ空間上での連続性のみを考慮して処理を行うのでその結果は必ずしも最適なものとならない。ここで、ホスト装置によらず、ＨＤＤなどの記録メディア側の装置においてデフラグを実行させようとすると、ＨＤＤに電源が常時入っているものと仮定なければならず、更にファイルシステム又はＦＡＴは通常ホスト装置のみで管理されることから、記録メディア側でデフラグを独立して行うことは原理的に不可能である。
【００１１】
第３に、既存のデフラグ方式はＰＣ向けに考えられているので、読み出し時の性能、すなわちデータの連結性を優先する。しかしながら、コンスーマ機器では書込みの割合が多いという特性を有し、従って主にＰＣ向けに考えられているような既存のデフラグでは、書き込み性能を優先したいというコンスーマ機器の要望と合致せず、従って最適なデフラグを行うことができない。
【００１２】
本発明は、このような従来の実情に鑑みて提案されたものであり、ファイルを管理するアドレス情報の管理を可能とすることで、空領域の連結性を重視したデフラグをホスト装置とは独立して自律的に実行可能とする記録再生装置及び方法、並びに記録再生システムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
上述した目的を達成するために、本発明に係る記録再生装置は、ホスト装置の制御に応じて記録媒体をアクセスしてデータの書き込み及び／又は読み出しをする記録再生装置において、ホスト装置からの許可がある場合に、上記記録媒体の記録領域における断片化したユーザデータを、空領域の連結性が向上するよう再配置させる制御手段を有することを特徴とする。
【００１４】
本発明においては、ホスト装置からの許可がある場合には、従来ホスト装置にて行なわれてきた、断片化したデータを再配置（デフラグメンテーション）して空領域の連結性を向上させる処理を記録再生装置にて行うことができる。
【００１５】
また、上記記録媒体は、ファイル単位で管理される上記ユーザデータにアクセスするために必要なアドレス情報を管理するためのテーブルを記録する第１の記録領域と、上記ユーザデータが記録される第２の記録領域と、上記ユーザデータを一時的に書き込み可能な第３の記録領域とを有し、上記制御手段は、上記第３の記録領域を利用して上記ユーザデータの再配置を行わせることができ、デフラグ専用の領域を設けてデフラグを実行することができる。
【００１６】
更に、上記アドレス情報を管理するためのテーブルを記憶するメモリを有し、上記制御手段は、上記ホスト装置からの所定のモード切替命令に応じて上記メモリに上記記録媒体上の上記テーブルを読み込み、このメモリに読み込まれたテーブルを参照して上記再配置を行わせることができ、アドレス情報を管理するためのテーブルをメモリにロードし、更新を行うことで、ホスト装置から独立してアドレス情報を管理することができ、これによりホスト装置から独立してデフラグを実行することができる。
【００１７】
更にまた、上記制御手段は、上記再配置の後、上記メモリに読み込まれたテーブルを更新し、上記モード切替命令に応じて更新された上記メモリ上のテーブルを上記記録媒体に書き戻すことができ、ディスク上のテーブルはホスト装置と共有することができる。
【００１８】
また、上記ファイルは、ホスト装置のアクセス最小単位である複数のクラスタからなり、上記制御手段は、上記メモリに読み込まれたテーブルを参照し、上記ファイルの記録済みクラスタの配置状況及び未記録の空クラスタの連結性を解析する解析機能を有し、この解析結果に基づき上記ユーザデータの再配置を行わせることができ、例えば最もフラグメンテーションが大きい領域からデフラグを実行することができる。
【００１９】
更に、上記テーブルは、上記ファイルの先頭データの位置を示す先頭位置情報を有し、上記制御手段は、上記解析機能により、隣り合う２つの先頭データ間に挟まれる領域内における上記記録済みクラスタの配置状況及び未記録の空クラスタの連結性を解析することができ、２つのファイルの先頭データ間に配置されるデータのデフラグを実行する処理を繰り返すことで、処理能力が高くない記録再生装置においてもデフラグを実行することができる。
【００２０】
更にまた、上記制御手段は、複数のクラスタからなるスーパークラスタをアクセス最小単位として上記ユーザデータを再配置することにより、ＡＶデータなどの大きなサイズのファイルを扱う際の処理を高速化することができる。
【００２１】
また、上記制御手段は、上記解析機能により移動対象となる移動対象データを検索し、検索された移動対象データより内周側に空領域が存在する場合に該移動対象データを該内周側の空領域に移動させることができ、内周側の空領域に移動させ、外周側の空領域を拡大させることができ、このとき、上記移動対象データを内周側から検索することで、内周側の空領域に近い移動対象データから移動させることができ、処理が高速化する。
【００２２】
更に、上記制御手段は、上記解析機能により移動対象となる移動対象データ、及び該検索された移動対象データを移動させることができる移動候補先空領域を検索し、該移動対象データを、該移動候補先空領域の中で最も移動時間が短い領域へ移動させることができ、移動対象データを最も移動時間が短い空領域に移動させることで処理が高速化し、このとき、上記移動対象データを外周側から検索することで、フラグメンテーションを増やさず、かつデータの転送速度が速く高速に書き込みが行える外周側の領域の空領域を拡大させることができる。
【００２３】
また、上記制御手段は、上記モード切替の後、上記ホスト装置からのアクセス要求が予め決められた一定時間以上発生しない場合に、上記ユーザデータの再配置を行わせることができ、ホスト装置からのアクセスがない場合に自動的にデフラグを実行することができる。
【００２４】
本発明に係る記録再生方法は、ホスト装置の制御に応じて記録媒体をアクセスしてデータの書き込み及び／又は読み出しをする記録再生方法において、ホスト装置からの許可がある場合に、上記記録媒体の記録領域における断片化したユーザデータを、空領域の連結性が向上するよう再配置させる制御工程を有することを特徴とする。
【００２５】
本発明に係る記録再生システムは、ホスト装置と、該ホスト装置の制御に応じて記録媒体をアクセスしてデータの書き込み及び／又は読み出しをする記録再生装置とを有する記録再生システムにおいて、上記記録再生装置は、上記ホスト装置からの許可がある場合に、上記記録媒体の記録領域における断片化したユーザデータを、空領域の連結性が向上するよう再配置させる制御手段を有することを特徴とする。
【００２６】
本発明においては、ホスト装置からの許可がある場合には、記録再生装置がホスト装置とは独立して、ホスト装置に負担をかけることなくデフラグを実行することができ、より安定した転送速度で記録媒体を使用することが可能となる。
【発明の効果】
【００２７】
本発明に係る記録再生装置及び方法によれば、ホスト装置の制御に応じて記録媒体をアクセスしてデータの書き込み及び／又は読み出しをする記録再生装置及び方法において、記録再生装置において、ホスト装置からの許可がある場合に、上記記録媒体の記録領域における断片化したユーザデータを、空領域の連結性が向上するよう再配置させる制御を行うので、ホスト装置に負担をかけることなくデフラグを実行することができると共に、空領域を拡大させることで、記録媒体へのデータの書込み性能を向上することができる。
【００２８】
また、本発明に係る記録再生システムにおいては、ホスト装置に負担をかけることなくデフラグを実行して書き込み速度を高速化することで、データの読出しより書き込み比率が著しく高い例えばデジカメなどの民生用機器に好適な記録再生システムを提供することができる。
【発明を実施するための最良の形態】
【００２９】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。この実施の形態は、本発明を、記録媒体としてハードディスク（以下「ディスク」と呼ぶ。）１０を用いたハードディスクドライブ（以下「ＨＤＤ」と呼ぶ。）と、これに接続されたホスト装置とからなる記録再生システムに適用したものであり、ファイルシステムとしてＭＳ−ＤＯＳ互換ＦＡＴファイルシステムを採用したものである。
【００３０】
図１は、本実施の形態における記録再生システムを示すブロック図である。図１に示すように、記録再生システム１は、例えばＰＣ(Personal Computer）又はＡＶ機器などホスト装置２と、これにＩＤＥ（Integrated Drive Electronics）、ＳＣＳＩ（Small Computer System Interface）、ＦＣ（Fibre Channel）、ＵＳＢ（Universal Serial Bus）などのインターフェース３を介して接続されたＨＤＤ４とからなる。
【００３１】
ＨＤＤ４は、ホスト装置２より出力される各種のデータをハードディスク１１に記録するものであり、ハードディスク１１と、ディスク１１を回転駆動するスピンドルモータ１２と、ディスク１１に対して信号の読出し、書き込みを行う磁気ヘッド（図示せず）をディスク１１の半径方向にフィードするボイスコイルモータ１３と、スピンドルモータ１２及びボイスコイルモータ１３の駆動制御を行うサーボ制御部１４と、ディスク１１へ書き込むデータの符号化及びディスク１１から読み出したデータの復号を行うリードライトチャネル部１５とを有する。
【００３２】
更に、ＨＤＤ４は、ハードディスク１１上のデータを管理するハードディスク制御部１６と、ディスク１１から読出したデータ及びディスク１１へ書き込むデータをバッファリングするバッファメモリ１７と、ホスト装置２との間で送受するデータ、制御コマンド等の入出力回路を構成するインターフェース制御部１８と、ハードディスク１１上のＦＡＴエリア上の内容を記憶するメモリ１９と、これらを制御するＣＰＵ（Central Processing Unit）２０とを有し、これらがバス２１を介して接続されている。また、ホスト装置２から転送されてくるユーザデータがディスク１１上で断片化された状態であるフラグメンテーションを改善すべく、後述するデフラグ用領域を使用してデフラグを実行する。
【００３３】
ＨＤＤ４は、インターフェース３を介してホスト装置２より発行されたコマンドをインターフェース制御部１８にて受けとり、インターフェース制御部１８はその内容を理解してＨＤＤ４内のＣＰＵ２０に通知する。ＣＰＵ２０は通知内容に基づいてハードディスク制御部１６、リードライトチャンネル部１５、サーボ制御部１４に対して必要なコマンド及びパラメータを設定して、それらの動作を実行させる。
【００３４】
サーボ制御部１４はスピンドルモータ１２及びボイスコイルモータ１３の駆動制御を行って、ハードディスク１１の所定のトラック、セクタに対してヘッドを移動させる。リードライトチャンネル部１５はハードディスク１１への書き込み時、送られてきたユーザデータを記録再生系の特性に適したデジタルビット系列に符号化（変調）する。また読み出し時にはヘッドから読み出された再生信号から高域ノイズを除去してからアナログ信号からデジタル信号への変換を行い、さらに最尤復号法を用いてデータの推定を行った後、復調を行いユーザデータの再生を行う。
【００３５】
また、ハードディスク制御部１６は、バッファメモリ１７、リードライトチャンネル部１５、インターフェース制御部１８のそれぞれの間におけるデータのやり取りを管理し、データのフォーマットに係る処理を行う。その際に誤り訂正符号による符号化と誤り検出および誤り訂正に係る処理も併せて行う。
【００３６】
これに対応してホスト装置２においては、メモリ２１にワークエリアを確保した中央処理ユニット（ＣＰＵ）２２の処理により、上位のコントローラからの指示に応じてＨＤＤ４に種々のコマンド等を送出する。
【００３７】
この処理においてＣＰＵ２２は、電源起動時、所定の処理手順の実行により、ハードディスク１１のシステムエントリーエリアに記録されてなる管理用データであるブートエリア、ＦＡＴエリア、ディレクトリエリアのデータをメモリ２１にアップロードし、このアップロードしたデータを基準にしたパラメータの設定により種々のコマンドを送出する。
【００３８】
このように構成された、デジタルデータをファイル管理する記録再生システム１において、ＨＤＤ４は、データがハードディスク１１上でランダムに配置され読み出しの転送速度が著しく低下する状態を回避すべく、ＨＤＤ４がハードディスク１１にアクセスするためのアドレス情報を管理するようにすることで、記録再生システム１からの許可を得た上で、データの再配置を自律的に行う機能を設ける。すなわち、通常は、ハードディスク１１のファイルを管理するアドレス情報の管理はホスト装置２にて行われるものであるが、本実施の形態においては、ホスト装置２の許可があるときは、このハードディスク１１のファイルを管理するアドレス情報の管理をＨＤＤ４にて行うことができる動作モードを設ける。そして、ハードディスク１１に一時的にデータを格納する目的で、ＨＤＤ４のみが管理可能な領域を設定し、ホスト装置２からの許可を得て上記動作モードに移行した際に、この一時的にデータを格納可能な領域（以下、デフラグ用領域という。）を利用して断片化したデータの再配置（以下、デフラグという。）を独自に行うようにするものである。このデフラグ領域は、ホスト装置２が管理不能な領域であり、従ってホスト装置２はこの領域に書き込みを行うことはない。
【００３９】
このように、ハードディスク１１上のデータ配置の実態を把握しているＨＤＤ４がデフラグを実行することで、ＨＤＤ４にとって最適なデータの再配置を行わせることができ、またホスト装置とは独立して自律的に処理を実行するのでホスト装置２に負担をかけることがない。ここで、本実施の形態におけるデフラグは、通常のホスト装置２が行うようなデフラグ、すなわち例えば断片化した全データを読み出し、連結するよう書き戻すというような処理とは異なり、断片化したデータを部分的にデフラグ領域に読み出し書き戻すという作業を繰り返すことで、デフラグを実行するものである。これにより、ホスト装置２に比して処理能力が低いＨＤＤ４であっても、無理なく、かつＨＤＤ４にとって最適なデフラグを実行させるものである。
【００４０】
ここでは先ず、ホスト装置からみたハードディスク１１のアドレス空間と、ＨＤＤ４からみたハードディスク１１のアドレス空間とについて説明する。図２Ａは、左図はホスト装置２からみたアドレス空間（以下、ＬＢＡ空間という。）Ｐを示し、右図はＨＤＤ４からみたアドレス空間（以下、論理セクタ空間という。）Ｑを示す。
【００４１】
ＨＤＤ４においてデータを記録する最小の単位はセクタと呼ばれ、そのサイズは通常５１２ｂｙｔｅである。ＨＤＤ４では、ディスク１１の記憶領域を、セクタの単位で、物理アドレス、物理セクタ番号、論理セクタ番号の３つで管理する。物理アドレスは面番号、トラック番号、セクタ番号の３つからなる。ここで、物理セクタ番号とは、全てのセクタをディスク１１の外側から内側に向けて順番に番号をつけたものである。また、論理セクタ番号とは、読み書きのできない欠陥セクタに対して代替処理によってアドレスを割り当てたもの、すなわち、読み書きのできない欠陥セクタ（１次欠陥）をスキップした後に外周から連続してセクタに対してアドレスをふったものである。
【００４２】
一方、ホスト装置２は、上記論理セクタ番号ではなく、論理ブロックアドレス（Logical Block Address：ＬＢＡ）を使用してディスク１１のアクセスを行う。
【００４３】
また、ファイルを管理するファイルシステムは複数のセクタ（Ｎ個）を１クラスタとして読み書きの最小単位としている。ＦＡＴ(File Allocation Table）はファイルがクラスタにどのように格納されているかを記録してあるテーブルであり、ＦＡＴを用いて管理を行うファイルシステムがＦＡＴファイルシステムと呼ばれるものである。以後、クラスタアドレスはＬＢＡを単純にＮで割ったものとし、説明ではＮ＝１６とする（１クラスタ＝８Ｋｂｙｔｅ）。
【００４４】
また、本実施の形態においては、特にＡＶデータに対して特別なアクセスサイズを設定する。以下、これをスーパークラスタという。１つのスーパークラスタは複数のクラスタからなり、例えば１６クラスタ（１２８KByte）を１スーパークラスタとして設定することができる。この場合、スーパークラスタアドレスは、クラスタアドレスの１６分の１、すなわち１６進表示で最後の１桁を削除したものとなる。
【００４５】
図２ＢにＦＡＴの一例を示す。例えばＨＤＤ４は、ディレクトリ情報からＦｉｌｅ１の開始クラスタアドレス（0012340h）を取得し、ＦＡＴを参照することで、例えば図２Ａに示すＦｉｌｅ１の第１スーパークラスタの最後のクラスタと第２スーパークラスタの始めのクラスタのようにＬＢＡが連続しておらず1234Fhから12380hへ飛ぶような場合であっても、開始クラスタアドレスからファイルが終了するクラスタアドレス（ＥＯＦまで）を取得してＦｉｌｅ１を読み出すことができる。このＦＡＴファイルシステムではこのＦＡＴによりファイルが管理される。
【００４６】
ハードディスク１１の記録領域は、通常、システムエリアＳＡ、ユーザエリアＵＡ、ＨＤＤ用のシステムエリアの３つに分けられており、システムエリアＳＡおよびユーザエリアＵＡのみがホスト装置２から見たＬＢＡ空間Ｐに図２Ａの左図に示すように割り当てられる。
【００４７】
システムエリアＳＡはマスターブートレコードＳＡ１及びＦＡＴエリアＳＡ２の２つのエリアからなる。マスターブートレコードＳＡ１はホスト装置２から見てＬＢＡが０のセクタであり、ここにはブートストラップ・コードやパーティション・テーブルが記録されている。
【００４８】
ユーザエリアＵＡはファイルの情報を管理するディレクトリエリアＵＡ１とＡＶデータなどのユーザデータが書き込まれるデータエリアＵＡ２とからなる。なお、ＦＡＴ３２以前のＦＡＴファイルシステムにおいては、ルートディレクトリはシステムエリアＳＡに属する。ディレクトリエリアＵＡ１には、各ディレクトリ（各ファイル）に関して、ファイル名、拡張子、属性、最新更新時間、開始クラスタアドレス、及びファイルサイズなどがディレクテリィ情報として格納されている。
【００４９】
ＨＤＤ用システムエリアは、ＨＤＤ４内のＣＰＵ２０がブートコードや各種テーブルを格納するため、または代替処理用のエリアとして使用するものである。通常ホスト装置２が使用することはない。このため図２Ａにおいては省略する。
【００５０】
ここで、上述したように、本実施の形態においては、ハードディスク１１に対して、デフラグのために一時的にデータを格納することを目的とした領域としてデフラグ領域ＤＡを設定する。図２ＡのＨＤＤ４のアドレス空間Ｑにおいて、論理セクタ番号０００００ｈ〜７ＦＦＦＦの領域（２５６ＭＢｙｔｅ）がこのデフラグ領域ＤＡである。そのため、ＨＤＤ４のアドレス空間Ｑにおけるマスターブートレコードの論理セクタ番号は８００００ｈとなる。
【００５１】
さらに、デフラグ領域ＤＡについてもクラスタアドレスとスーパークラスタアドレスとを定義する。なお、ホスト装置２のアドレス空間（ＬＢＡ空間Ｐ）上において、デフラグ用領域ＤＡは、ホスト装置２が使用していないＦ０００００ｈから先の空間に配置する。すなわち、図２Ａの左図においては、ホスト装置２のデータエリアは９ＦＦＦＦＦまでの例えば５Ｇｂｙｔｅであり、ホスト装置２のアドレス空間であるＬＢＡ空間Ｐ上にはデフラグ用領域ＤＡが設定されず、このデフラグ領域ＤＡに対してホスト装置２は書き込みを行わない。また、本実施の形態においては、このデフラグ用領域ＤＡを、データの転送速度が最も速いディスクの最外周側に設けるものとする。
【００５２】
ここで、近年、ＨＤＤではディスクを複数（１０から２０）のゾーンにわけ、各ゾーン内で同じ書込み周波数と記録再生用のパラメータ（波形等価フィルタの係数など）を用いるゾーンビットレコーディングが一般的に行われる。１つのゾーン内でのみ書込み（読み込み）を行えば、パラメータの変更の必要がなく効率が高いので、デフラグ用領域ＤＡのサイズはゾーンのサイズを考慮して決定する。
【００５３】
次に、本実施の形態における記録再生システムの動作について説明する。本実施の形態における記録再生システム１においては、ハードディスク装置４がデフラグを自律的に実行可能とするものである。通常、ハードディスク１１のファイルを管理するアドレス情報の管理は、ホスト装置２にて行われる（以下、ＰＣモードという。）が、本実施の形態においては、ＨＤＤ４がホスト装置２の許可を得たときはＦＡＴ及びその管理を実行することができる動作モードを設ける。以下、この動作モードをＡＶモードという。ＨＤＤ４は、ＡＶモードであれば、ＨＤＤ４自身がＦＡＴ及びその管理を行うことができるため、自律的にデフラグ処理を可能とするものである。ここで、ＨＤＤ４でのＡＶモードにおけるＦＡＴ及びその管理は、ハードディスク１１上に記録されたＦＡＴエリアのデータを図１に示すＨＤＤ４内のメモリ１９に読み込み、このメモリ１９上で更新し、必要に応じてハードディスク上のＦＡＴを更新するなどの管理を行い、ＰＣモードに移行する際に、メモリ１９上で更新されたＦＡＴをハードディスク１１のＦＡＴエリアに書き戻すことで、ホスト装置２とＦＡＴ及びその管理を排他的に共用するものである。
【００５４】
すなわち、ファイルを管理するアドレス情報を管理するためには、ハードディスク１１上のＦＡＴとその管理、及びディレクトリ情報とその管理を行う必要があり、前者は、ホスト装置２がＰＣモードとＡＶモードとを切り替えることでそれぞれホスト装置２とＨＤＤ４とが排他的に共有する。また、後者においては、ＨＤＤ４は管理せず、ホスト装置２がいつでも、すなわちＰＣモードであってもＡＶモードであってもハードディスク１１に直接アクセスして管理できるようにするため専用のコマンドを設定するものとする。
【００５５】
次に、図１に示す記録再生システムの動作について説明する。図３は、ＨＤＤ４の書き込み時における動作を示すフローチャートである。上述したように、記録再生システムは、ＦＡＴの情報はホスト装置２及びＨＤＤ４で共有するが、ＦＡＴ及びその管理をＨＤＤ４に委ねる。従って、データの書き込みを行うために先ずＡＶモードに移行する。ＡＶモードに移るためには、図３に示すように、ホスト装置２がＨＤＤ４のディスク１１上に存在するＦＡＴ、すなわち図２Ａ示すＦＡＴエリアを最新のものに更新した後、ＨＤＤ４に対してＰＣモードからＡＶモードに移行させるコマンドを発行する（ステップＳ１）。ＨＤＤ４の中のＣＰＵ２０は、ＨＤＤインターフェース制御部１８を介してその内容を知り、ディスク１１上のＦＡＴを読み出しメモリ１９上に展開し（ステップＳ２）、ＡＶモードを示すフラグを立て、ホスト装置２にＡＶモードに移行したことを知らせる（ステップＳ３）。
【００５６】
次に、ＡＶモードに移行後、ホスト装置２が書き込みをする場合について説明を行う。上述したように、ＡＶモードにあっても、ホスト装置２はディレクトリ情報及びその管理を行うことができるコマンドを有している。ホスト装置２は、書き込むコンテンツデータのファイル名（Ｆｉｌｅ１）を決定して新規にディレクトリ項目（ディレクトリ情報）を作成しＨＤＤ４に書き込みを行う。ＨＤＤ４はメモリ１９に確保しているＦＡＴを参照し、空いているクラスタの中から適当なクラスタ、例えば図２Ａに示すディレクトリ情報Ｄ１に示すクラスタを選んで書きこむ（ステップＳ４）。終了後、そのアドレスをホスト装置２に知らせる。なお、この時のディレクトリ情報Ｄ１は開始クラスタアドレス及び最新更新時間がわからないため完全なものではないのでファイルを書き終わった後更新をする。
【００５７】
次に、ホスト装置２はコンテンツデータの書き込みに必要なパラメータの設定を行う。具体的にはファイルの開始クラスタアドレス及びアクセスサイズなどを決める。ホスト装置２はＦＡＴの管理をＨＤＤ４に委ねるが、ファイルを識別するために、開始クラスタアドレスを共有しなければならない。図４（ａ）及び図４（ｂ）にそれを実行するコマンドの１例（Set Rec Parameter）として、それぞれコマンド発行時のレジスタの内容及びリターン情報を示す。コマンドはＡＴのベンダーユニークコマンドとして定義され、ファイルの書込みを行う前に一度だけ実行される。
【００５８】
図４（ａ）に示すコマンドのFeatureレジスタで定義されているビットのうちＯＰ(Outer Position)、ＩＰ(Inner Position)は、ＨＤＤ４が記録開始クラスタをディスク１１上の外周側、内周側どちらでとるかを指定するものである。どちらのビットも０である場合にはSector Countレジスタなどで設定される先頭クラスタアドレスが有効となる。
【００５９】
コマンドを実行するとＨＤＤ４は、指定に基づいて（ＩＰ，ＯＰ）メモリ内のＦＡＴをユーザエリアＵＡ２において空きクラスタを順次検索して最初に見つかったものを開始クラスタアドレス（図２Ａでは１２３４０ｈ）としてホストに知らせる（ステップＳ５）。同時にそのスーパークラスタアドレス（図２Ａでは１２３４ｈ）をＨＤＤ４内部、すなわちＨＤＤ４内のメモリ１９に例えばＴａｂｌｅ１として記録する。ここで、Ｔａｂｌｅ１は、ファイルの開始クラスタを含むスーパークラスタのアドレスを記録したものとなる。このように、モードを切り替えた後、ファイルを書き込む前に記録開始クラスタをＨＤＤ４が決定し、図４に示すSet Rec Parameter コマンドのリターン情報でホスト装置２に通知すると共にこれを自身のメモリ１９のＴａｂｌｅ１に記録する。
【００６０】
その後、ホスト装置２はファイルのデータをスーパークラスタ単位で順次書き込む。送られたデータは一旦バッファメモリ１７に格納され、ハードディスク制御部１６がフォーマットした後でリードライトチャネル部１５に送られ、ＨＤＤ４が選んだクラスタに書込みを行い、その処理が完了する毎にメモリ１９内のＦＡＴを更新する（ステップＳ７）。また、書き込まれたデータが１つのファイルの最終クラスタ（ＥＯＦ：end of file）であるか否かを判定し（ステップＳ６）、最終クラスタであったならば、ディスク１１のＦＡＴエリアにＦＡＴを書き込む（ステップＳ８）。
【００６１】
図２Ａの左図に示すホスト装置２のアドレス空間であるＬＢＡ空間Ｐには、３つのファイル（File1〜File3）が書込まれた後の状態を示す。Ｆｉｌｅ１は、クラスタアドレスが１２３４０ｈ〜１２３４Ｆｈのスーパークラスタ（第１スーパークラスタ）と、アドレス１２３８０ｈ〜１２３８Ｆｈ、１２３Ｂ０ｈ〜１２３ＢＦｈ、１２３Ｄ０ｈ〜１２３ＤＦｈからなる３つのスーパークラスタ（第２〜第４スーパークラスタ）との合わせて４スーパークラスタを使用する。Ｆｉｌｅ２は、スーパークラスタアドレス１２３Ｅｈからスタートする。Ｆｉｌｅ３は、先頭でないスーパークラスタがスーパークラスタアドレス１２３６ｈを用いている例である。
【００６２】
次に、図２Ａの左図のように記録されたデータのデフラグ処理方法について説明する。図５及び図６は、自律的に実行されるＨＤＤ４のデフラグ動作を示すフローチャートである。本実施の形態においては、デフラグ用領域を使用した第１のデフラグ処理と、第１のデフラグ処理が終了した後、実行される第２のデフラグ処理とを行うことで、ユーザエリアにできる限り連続した空領域を形成する。
【００６３】
図７（ａ）乃至（ｄ）は、第１のデフラグ処理におけるＬＢＡ空間上のファイル構成を示す図、図８及び図９は、第２のデフラグ処理におけるＬＢＡ空間上のファイル構成を示す図である。
【００６４】
本実施の形態においては、ＨＤＤ４がデフラグを実行し、断片化されたデータの再配置をホスト装置２とは独立して行うものである。上述したように、ＦＡＴ及びその管理はＡＶモードにおいてＨＤＤ４に委ねられるが、ＨＤＤ４はディレクトリ項目の管理を行うことができない。従って、ディレクトリ項目に記録されるファイル名及びその開始クラスタアドレスを変更することができないため、ＨＤＤ４によるデフラグにおいては、開始クラスタアドレス以外のデータの再配置を行うものである。
【００６５】
先ず、ＨＤＤ４がデフラグ用領域ＤＡを使用してデフラグを行う第１のデフラグ処理について説明する。ここで、図７（ａ）は初期状態、図７（ｂ）及び（ｃ）はデフラグ中、図７（ｄ）はデフラグ後のＬＢＡ空間上のファイル構成をそれぞれ示す。
【００６６】
デフラグは、図５に示すように、ＨＤＤ４がホスト装置２からがデフラグを許可されていて、かつ書込み又は読み込みの動作が一定時間なくＨＤＤ４がＩＤＬＥ状態に移行した場合に自律的に実行されるものである。すなわち、このＩＤＬＥ時間が所定の閾値より大きいか否かが判断され、デフラグが開始される（ステップＳ１１）。
【００６７】
こうしてデフラグが開始されると、ステップ１２において、ＨＤＤはファイルの開始クラスタを含むスーパークラスタのアドレスを記録した表（Ｔａｂｌｅ１）を参照し（Ｍ個のエントリがあるものとする）、個々のエントリに対応するファイルがいくつのスーパークラスタに分割されているかをメモリ１９内のＦＡＴをもとに計算する。その結果から、事前にきめられている設定値＝Ｋ個以上のスーパークラスタに分割されたファイルを選ぶ（ステップＳ１２）。ここで、Ｋ個以上スーパークラスタに分割されたファイルが図２Ａのファイル（Ａｄｒ，Ｆｉｌｅ１）であった場合、すなわち、ＬＢＡ空間上のファイル構成が図７（ａ）に示す状態（初期状態）であった場合について説明する。図７（ａ）は、Ｆｉｌｅ１の第１のスーパークラスタＣ１と、Ｆｉｌｅ１の最も近くに配置されたファイルであるＦｉｌｅ２の第１のスーパークラスタＣ６との間に、Ｆｉｌｅ３による使用済みスーパークラスタＣ２、Ｆｉｌｅ１の第２〜第４スーパークラスタＣ３〜Ｃ５が断片的に配置されている状態を示している。
【００６８】
上述したように、ＨＤＤ４によるデフラグは、開始クラスタ（又は開始スーパークラスタ）を移動することはない。従って、あるファイルの開始スーパークラスタと、これと最近傍にある他のファイルの開始スーパークラスタとの間における空領域の連結性を高めるよう、この領域における断片化されたデータを再配置する。すなわち、図７（ａ）においては、Ｆｉｌｅ１の第１スーパークラスタＣ１とＦｉｌｅ２の第１スーパークラスタＣ６との間に配置されているスーパークラスタを再配置する処理を繰り返す。
【００６９】
先ず、Ｔａｂｌｅ１を参照し、例えばＦｉｌｅ１の隣のファイル（図７（ａ）においては、Ｆｉｌｅ２）における開始クラスタアドレスＡｄｒ２までの領域で使用されているスーパークラスタの数を調べ（ステップＳ１３）、全てのスーパークラスタのデータ容量Ｃがデフラグ用領域ＤＡに入る大きさか否か判定する（ステップＳ１３）。ここで、デフラグ領域ＤＡよりも全てのスーパークラスタのデータ容量Ｃが大きい場合には、２つの開始クラスタアドレスの間にあるデータをＦｉｌｅ２の開始クラスタアドレスＡｄｒ２の方へできるだけつめて、Ｆｉｌｅ１の第１スーパークラスタの開始クラスタアドレスの直後が可能な限り空くようにする（ステップＳ１５）。
【００７０】
一方、ステップＳ１３にてデフラグ用領域ＤＡの方が大きいと判断された場合、又はステップＳ１５の処理後、ステップＳ１２にて選ばれたＦｉｌｅ１について、ＬＢＡ空間上で次の開始クラスタ、図７（ｂ）に示す場合はＦｉｌｅ２の第１スーパークラスタまでにあるデータ、すなわち、Ｆｉｌｅ１の第２〜第４スーパークラスタＣ３〜Ｃ５をデフラグ用領域ＤＡにコピーする。このとき、Ｆｉｌｅ１のデータを先頭（第１スーパークラスタ）を除いて連続に可能な限りコピーする（ステップＳ１６）。その後、同じ領域、すなわち、Ｆｉｌｅ１の先頭クラスタとＦｉｌｅ２の先頭クラスタとの間において、Ｆｉｌｅ１以外で使用されているスーパークラスタのうちＬＢＡが小さいもの、本実施の形態においては外周側のデータからデフラグ用領域ＤＡにコピーする（ステップＳ１７）。ここでは、図７（ｂ）に示すように、Ｆｉｌｅ３による使用済みクラスタＣ２をデフラグ領域ＤＡにコピーする。いずれの処理においてもデフラグ用領域ＤＡに全部コピーできなかった場合にはそこでコピーを止める。
【００７１】
すなわち、全てのデータをデフラグ用領域ＤＡにコピーしたと判断したら（ステップＳ１８）、図７（ｃ）に示すように、デフラグ用領域ＤＡにコピーされたＦｉｌｅ１のデータ（Ｆｉｌｅ１の第２〜第４スーパークラスタＣ３〜Ｃ５）をその開始クラスタである第１スーパークラスタＣ１から連続するように書き戻す（ステップＳ１９）。そして、次に、デフラグ用領域にコピーされたＦｉｌｅ１以外のデータ（図７（ｃ）においては、Ｆｉｌｅ３による使用済みクラスタＣ２）を全て、書き戻したＦｉｌｅ１のデータの後ろに連結するよう書き戻し、ディスク１１上のＦＡＴを更新する（ステップＳ２０）。
【００７２】
一方、ステップＳ１８にて、デフラグ用領域ＤＡに、Ｆｉｌｅ１の第１スーパークラスタとＦｉｌｅ２の第１スーパークラスタとの間に存在するデータが全部コピーできなかったと判断された場合は、先ず、Ｆｉｌｅ１のデータ全部をデフラグ用領域ＤＡにコピーしたか否かを判断する（ステップＳ２１）。
【００７３】
ステップＳ２１にてＦｉｌｅ１のデータが全てコピーできている場合には、図６のステップＳ２５に進む。そして、Ｆｉｌｅ１以外で残っているデータをＡｄｒ１からＡｄｒ２の方向で順にデフラグ用領域にコピーする（ステップＳ２５）。
【００７４】
そして、デフラグ用領域にコピーできていないＦｉｌｅ１以外のデータを、Ａｄｒ２の方に移動してＡｄｒ１から続くＦｉｌｅ１のデータの後ろに空領域を作り（ステップＳ２６）、作った空領域にデフラグ用領域ＤＡ内のＦｉｌｅ１のデータを連続的に書き戻す（ステップＳ２７）。そして、デフラグ用領域ＤＡのＦｉｌｅ１のデータを全部書き戻したか否かを判定し（ステップＳ２８）、Ｆｉｌｅ１のデータを全部書き戻すまでステップＳ２５からステップＳ２８の処理を繰り返す。
【００７５】
一方、ステップＳ２１において、Ｆｉｌｅ１のデータを全てデフラグ用領域ＤＡにコピーできていない場合は、Ｆｉｌｅ１の第１スーパークラスタとＦｉｌｅ２の第１スーパークラスタとの間にあるデータをＡｄｒ２の前に移動して、Ａｄｒ１から続くＦｉｌｅ１のデータの後ろに空領域を作り（ステップＳ２２）、作った空領域にデフラグ用領域ＤＡ内のＦｉｌｅ１のデータを連続的に書き戻す（ステップＳ２３）。そして、空いたデフラグ用領域にＦｉｌｅ１の残っているデータ、すなわちステップＳ１６にてコピーできなったデータをデフラグ用領域ＤＡにコピーする（ステップＳ２４）。そして、Ｆｉｌｅ１のデータ全てを一旦デフラグ用領域ＤＡにコピーして書き戻しできるまでステップＳ２１〜ステップＳ２４の処理を繰り返す。
【００７６】
また、ステップＳ２８にてデフラグ用領域にコピーされたＦｉｌｅ１を完全に書き戻しできたと判断された場合、デフラグ用領域ＤＡに残ったその他のデータを全て書き戻し（ステップＳ２９）、書き戻されたデータをＡｄｒ１の方に移動し、Ａｄｒ２の前に空領域を形成する（ステップＳ３０）。そして、Ｔａｂｌｅ１の次のエントリに分割数の条件（＞Ｋ）を満たすものがあるかどうかを調べ（ステップＳ３１）存在する場合にはそれをＡｄｒ１としてステップＳ１３からの処理を繰り返す（ステップＳ３２）。
【００７７】
以上のようにして、２つの開始クラスタアドレス内のデータがデフラグ用領域ＤＡに全部コピーできなかった場合、Ａｄｒ１の後に順にＦｉｌｅ１のデータを移し、残っているデータを再度デフラグ用領域にコピーしてデータを移動することにより空き領域を確保し、次にデフラグ用領域ＤＡに残されたデータを書き込みを終えたＦｉｌｅ１の後に空きクラスタがないようにコピーするというデフラグを実行する。こうしてデフラグが終了すると図７（ｄ）に示すように、Ｆｉｌｅ１の第１スーパークラスタとＦｉｌｅ２の第１スーパークラスタとの間に断片的に配置されていたデータが再配置され、空領域ＥＡが形成される。このデフラグの処理終了後にＦＡＴの更新を行う。
【００７８】
次に、このようにして第１スーパークラスタ間のデータの再配置がなされた後、第２のデフラグ処理を実行する。第２のデフラグ処理は、ユーザエリア内のみで移動可能なデータを用いて空き領域の連結を行う。ここでは、可能な限りの空領域を形成すると共に、ホスト装置２が使用しやすいよう、できる限り外周側の空領域を形成することを目的とする。本実施の形態においては、この第２のデフラグ処理として２つの方法について説明するが、第１のデフラグ処理後、以下に説明する２通りの方法で第２のデフラグ処理を行ってもよいし、いずれか１つの方法にて第２のデフラグ処理を行ってもよい。
【００７９】
まず、ＨＤＤ４のＣＰＵ１９は、メモリ１９上にロードされたＦＡＴを参照し、デフラグ対象（移動対象データ）となるスーパークラスタを検索する。ここで、移動対象となるスーパークラスタは、各ファイルの第１スーパークラスタとそれに連結される当該ファイルのスーパークラスタ以外のスーパークラスタである。図７においては、破線で示すクラスタ（Ｆｉｌｅ３による使用済みクラスタ）、図８及び図９においては、太線で示すクラスタ（ＦｉｌｅＸの第ｎスーパークラスタ、ＦｉｌｅＹの第ｍスーパークラスタ、ＦｉｌｅＺの第ｐスーパークラスタ）が移動対象となるデータに該当する。
【００８０】
これら移動対象のデータを移動して空領域の連結性を高めるための第１の方法においては、先ず、移動対象となるデータをＬＢＡが大きい方から順次探し出す。移動対象となるのは、異なるファイルの第１スーパークラスタに連結している最後尾のスーパークラスタであるが、その中で当該データの後ろ側に移動可能な空き領域があることが条件となる。
【００８１】
こうして検索された移動対象となるデータを、当該データの後ろ側（内周側）にある空き領域に移動する。すなわち、図８（ａ）に示す状態にあるとき、先ずＬＢＡが最も大きい移動可能なデータを順次検索する。最初に検索されるＦｉｌｅＺの第ｐスーパークラスタは、最後の空き領域ＥＡ３にあるため、移動対象としない。図８（ｂ）に示すように、次に検索されたＦｉｌｅＹの第ｍスーパークラスタは、その後ろに空き領域ＥＡ３が存在するため、このＦｉｌｅＹの第ｍスーパークラスタを空領域ＥＡ３空領域ＥＡ３に移動する。更に、図８（ｃ）に示すように、ＬＢＡが小さい方へ順に検索して発見されるＦｉｌｅＸの第ｎスーパークラスタを、それより内周側の空領域に移動させる。このとき、ＦｉｌｅＸの第ｎスーパークラスタより内周側の空領域ＥＡ２’と、空領域ＥＡ３’のうち、内周側の空領域ＥＡ３’に移動させる。
【００８２】
このように、より内周側の空領域に、移動対象となるデータを移動させることで、転送速度が大きい領域、すなわちＬＢＡが小さい外周側における空き領域の拡大することができる。すなわち、データの転送速度が速い外周側（ＬＢＡが小さい）空領域ＥＡ１、ＥＡ２は、以上の処理により、その領域が拡大された空領域ＥＡ１’ＥＡ２’となり、代わりに空領域ＥＡ３は、空領域ＥＡ３’’となって小さくなる。更に、ＬＢＡが最も大きい方から移動可能なデータを順に検索して最もＬＢＡが大きい空領域へ移動させるため、移動対象データの移動距離が小さいものから処理していくことができる。
【００８３】
次に、移動対象のデータを移動して空領域の連結性を高める第２の方法においては、開始クラスタアドレスを用いてＬＢＡ空間をいくつかの領域に区切り、空き領域のリストを作成する。次にＬＢＡが小さい方から個々の領域において移動可能なデータを探す。移動可能なデータが見つかったら、作成した空き領域のリストからデータが入るものを複数選び出す。その中からシーク動作（回転待ち時間を含む）が最小になるものを選択し、そのデータの移動を行い、これらの処理を繰り返す。
【００８４】
図９の左図は、ＦｉｌｅＸの第ｎ−１スーパークラスタの処理が終わった時点で、区切られたＬＢＡ空間にそれぞれ空領域ＥＡ１１〜ＥＡ１３が存在する場合を示す。この状態においては、ＦｉｌｅＸの第ｎスーパークラスタが移動対象クラスタとなっている。そして、移動対象クラスタの移動先候補として、空領域ＥＡ１２（ＦｉｌｅＹの第ｍスーパークラスタの後ろ）と空領域ＥＡ１３（ＦｉｌｅＺの第ｐスーパークラスタの後ろ）とがあるものとする。
【００８５】
この２つの移動先候補に対する移動対象クラスタのそれぞれのシーク時間は、ＦｉｌｅＸの第ｎ-１スーパークラスタの最後の物理アドレスを（Ｃ１,Ｓ１）、ＦｉｌｅＹの第ｍスーパークラスタの最初の物理アドレスを（Ｃｍ,Ｓｍ）、ＦｉｌｅＺの第ｐスーパークラスタの最初の物理アドレスを（Ｃｐ,Ｓｐ）とすると下記のように算出することができる。
【００８６】
シーク時間Ｔ１：（ＦｉｌｅＸ,ｎ−１の最後→ＦｉｌｅＹ,ｍの最初）
＝For{ N=0, N<無限大, N++, 
if（回転待ち時間（N, S1,Sm）＞ シークプロファイル関数（|C1- Cm|）)
Return[回転待ち時間] Break[];
End if
}
シーク時間Ｔ２（ＦｉｌｅＸ,ｎ−１の最後 →ＦｉｌｅＺ,pの最初）
＝ For{ N=0, N<無限大, N++,
if(回転待ち時間（N, S1,Sp）＞シークプロファイル関数（|C1- Cp|）)
Return[回転待ち時間] Break[];
End if
}
【００８７】
なお、シークプロファイル関数はシリンダーＣ１からシリンダーＣｐへ移動する時間を出力する関数で、回転待ち時間はセクタＳ１からセクタへＳｐへ移動する時間とＮ周回転する時間とを足したものを出力する関数である。なお、簡単のために物理アドレスのＨｅａｄにかかわる部分は無視するものとする。そして、移動先候補が複数ある場合には、それらのシーク時間、ここではシーク時間Ｔ１、Ｔ２を比較し、小さい方を移動先として選択する。この第２の方法においても、移動対象となるデータをＬＢＡが小さい方から検索し、移動させて空領域を形成するので、データの転送速度が速い外周側の空領域の空クラスタの連結性を高めることができる。
【００８８】
本実施の形態においては、記録再生システムを構成する記録再生装置をＨＤＤ４として説明したが、たとえばＣＤ若しくはＤＶＤなどの光ディスク、又は半導体メモリを媒体としたシステムなど、ランダムアクセス可能な記憶装置であれば同様の処理が可能である。更に、本実施の形態においては、ＦＡＴファイルシステムを用いたがデータをファイルとして管理するシステムであればどのようなものであっても適用可能であることはいうまでもない。
【００８９】
このように、本実施の形態においては、ホスト装置２に接続される記録再生装置であるＨＤＤ４において、ホスト装置２の許可がある場合に自身でデータを管理できるような動作モード（ＡＶモード）を設定しておき、ＨＤＤ４がＡＶモードに移行し、ホスト装置２からの書き込みがない場合に自律的にデフラグを行うことができるようにしたので、ホスト装置２からの指示により書き込みと消去とが繰り返され、ファイルが多数のクラスタに分割して記録されることで転送速度が著しく低下（フラグメンテーション）した記録媒体に対し、ハードディスク上に専用の領域として予め設けられたデフラグ領域を利用して、ホスト装置２に負担をかけることなく、デフラグを行うことが可能となる。
【００９０】
また、上述した如く、開始クラスタアドレス間のデータの再配置を行う処理を繰り返すというデフラグのアルゴリズムは、相対的に処理性能が低いＨＤＤ内部のＣＰＵにとっても十分高速に実行させることができる。
【００９１】
更に、本実施の形態においては、従来のデータの連結性を重視したデフラグとは異なり、データの連結性よりも、連続した空き領域の確保（空クラスタの連結性）をより優先するようにしたことで、記録媒体に対する書き込み処理を高速化することができる。これは情報処理（ＩＴ）の世界と異なり、書き込みの比率が著しく高く、かつＣＰＵの性能が低い民生機器に適した方法である。すなわち、読出し速度を重視するＩＴのＨＤＤに比して、デジタルカメラ、ＰＶＲなどの民生用機器においては、書き込み処理の回数の方が多く、従って読出し速度より、書き込み速度を重視する必要がある。従って、データ領域の連続性よりも空領域の連続性を重視することで、コンスーマ機器において、ＨＤＤをより早くより安定した転送速度で使用することが可能となる。
【００９２】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。上述の実施の形態においては、デフラグ用領域を使用した第１のデフラグ処理を実行した後、第２のデフラグ処理を行うものとして説明したが、例えばデフラグ用領域が設定されていないような場合、第２のデフラグ処理のみを実行してもよい。
【００９３】
次に、上述した本実施の形態におけるデフラグを実行したシミュレーション結果を参照して、本発明の効果について更に詳細に説明する。先ず、デフラグメンテーションを起こした初期状態をつくる。初期状態は、１０００個のスーパークラスタの容量を持つＨＤＤを用意し、それにスーパークラスタ１０個からなるファイルを書き込むことで作成する。この際、書込みアルゴリズムは以下に示す２つのステップを使用する。
【００９４】
すなわち、先ず、１６の整数倍のアドレスを有するスーパークラスタの中から空いているものをランダムに１つ探し出してでデータを書き込み、残り（９スーパークラスタ）をそれ以降の空きスーパークラスタに順次書く。これを８０回繰り返す。
【００９５】
次に、ファイルを任意に１つ選んで削除する。その後、空きスーパークラスタをランダムに探し出し、その１つの空きスーパークラスタに書き込み、残り（９クラスタ）はそれ以降の空きスーパークラスタに順次書き込む。これを５０００回繰り返す。
【００９６】
図１０（ａ）及び図１０（ｂ）は、それぞれ上記のアルゴリズムで作られた状態の第１のデフラグ前後のデータのフラグメントの数を示すグラフ図である。また、図１１（ａ）及び図１１（ｂ）は、それぞれデフラグ前後の空領域の大きさを示すグラフ図である。図１０（ａ）及び図１０（ｂ）において、横軸はフラグメントの数、縦軸はデータの平均分割数を示し、図１１（ａ）及び図１１（ｂ）においては、横軸は空領域の大きさ、縦軸は空クラスタの連結数を示す。
【００９７】
図１０（ａ）に示すように、初期状態においては、データの平均分割数がデフラグ前は２．０６であったのに対して図１０（ｂ）に示すデフラグ後は１．６１に低減した。特に分割数が４であったものは、平均分割数が５から１に激減している。すなわち、デフラグによりデータの連結性が向上していることがわかる。
【００９８】
また、空き領域に関しても、図１１（ａ）に示すように初期状態では平均容量が７．１４であったのに対し、デフラグ後には図１１（ｂ）に示すように、８．３３に増大し、最大空き容量４０が実現されている。
【００９９】
このように、デフラグによってデータの平均分割数が減少して連結性が高まると共に、空領域の連結性が高まっている。このことにより、空クラスタの連結性を高めてより大きな空領域を確保することができ、民生用機器においては、特に重要となる書き込み動作を高速化することができる。
【図面の簡単な説明】
【０１００】
【図１】本発明の実施の形態における記録再生システムを示すブロック図である。
【図２Ａ】左図はホスト装置２からみたアドレス空間（ＬＢＡ空間）Ｐを示し、右図はＨＤＤ４からみたアドレス空間（論理セクタ空間）Ｑを示す図である。
【図２Ｂ】ＦＡＴの一例を示す図である。
【図３】本発明の実施の形態における記録再生システムのデータ書き込み時における動作を示すフローチャートである。
【図４】（ａ）及び（ｂ）は、ホスト装置からＨＤＤに渡されるコマンドの１例（Set Rec Parameter）として、それぞれコマンド発行時のレジスタの内容及びリターン情報を示す図である。
【図５】本発明の実施の形態における記録再生システムのＨＤＤにおいて、自律的に実行されるＨＤＤ４のデフラグの動作を示すフローチャートである。
【図６】同じく、本発明の実施の形態における記録再生システムのＨＤＤにおいて、自律的に実行されるＨＤＤ４のデフラグの動作を示すフローチャートである。
【図７】（ａ）乃至（ｄ）は、本発明の実施の形態における記録再生システムのＨＤＤが実行する第１のデフラグ処理におけるＬＢＡ空間上のファイル構成を示す図である。
【図８】本発明の実施の形態における記録再生システムのＨＤＤが実行する第２のデフラグ処理の第１の方法説明するための図であって、ＬＢＡ空間上のファイル構成を示す図である。
【図９】本発明の実施の形態における記録再生システムのＨＤＤが実行する第２のデフラグ処理の第２の方法説明するための図であって、ＬＢＡ空間上のファイル構成を示す図である。
【図１０】（ａ）及び（ｂ）は、本発明の効果を示す図であって、デフラグ前後のデータのフラグメントの数を示すグラフ図である。
【図１１】（ａ）及び（ｂ）は、本発明の効果を示す図であって、デフラグ前後の空領域の大きさを示すグラフ図である。
【符号の説明】
【０１０１】
２  ホスト装置、１  記録再生システム、３  インターフェース、４  ハードディスク装置、１１  ディスク、１２  スピンドルモータ、１３  ボイスコイルモータ、１４  サーボ制御部、１５  リードライトチャネル部、１６  ハードディスク制御部、１７  バッファメモリ、１８  インターフェース制御部、１９，２１  メモリ、２０，２２  ＣＰＵ、２１  バス
【図１】
2005165781.tif 000003
【図２Ａ】
2005165781.tif 000004
【図２Ｂ】
2005165781.tif 000005
【図３】
2005165781.tif 000006
【図４】
2005165781.tif 000007
【図５】
2005165781.tif 000008
【図６】
2005165781.tif 000009
【図７】
2005165781.tif 000010
【図８】
2005165781.tif 000011
【図９】
2005165781.tif 000012
【図１０】
2005165781.tif 000013
【図１１】
2005165781.tif 000014