(57)【要約】【課題】データ処理の高速化かつメモリ寿命の低下の抑制を実現し、例えばデータの断片化解消に有効な情報記録媒体、データ処理装置及びデータ処理方法を提供する。【解決手段】記録媒体（１００）は、記録領域（１３０）の各ブロックの論理アドレス及び物理アドレスの対応を格納する論物変換テーブル（１４０）を備える。さらに、記録媒体（１００）は、所定の置換コマンドを受信したときに１組の論理アドレスについて論物変換テーブル（１４０）における論理アドレスと物理アドレス間の対応関係を置換する機能を備えている。データ処理装置（２００）は、記録媒体（１００）に対して、論理アドレス空間において連続した領域にデータが配置されるように置換コマンドを発行することにより、論理アドレス空間上での断片化を解消する。【選択図】図１
2005202942.tif 000002
【特許請求の範囲】
【請求項１】
データ処理装置によってデータの読み出し、書き込みが可能な情報記録媒体であって、
データを格納するための記録領域を有し、該記録領域の物理アドレスと論理アドレスの対応関係を格納する論物変換テーブルを格納するデータ格納部と、
前記データ処理装置との通信を行うホストインタフェース部と、
前記データ格納部及び前記ホストインタフェース部に対し制御を行う制御部とを備え、
前記制御部は、前記ホストインタフェース部を介して前記データ処理装置から所定の置換コマンドを受信したときに、該置換コマンドで指定される複数の論理アドレス間で、前記論物変換テーブルにおける論理アドレスに対する物理アドレスを置換する、情報記録媒体。
【請求項２】
前記置換コマンドは２つの論理アドレスを指定する、請求項１に記載の情報記録媒体。
【請求項３】
前記記録領域はファイルシステムによってクラスタ単位で管理されており、前記クラスタの境界と、前記論物変換テーブル上でのデータ管理単位の境界とが一致する、請求項１記載の情報記録媒体。
【請求項４】
前記記録領域が複数の領域に分割され、該複数の分割領域のそれぞれに対して論物変換テーブルを備えており、前記置換コマンドにより、同一の論物変換テーブル内において複数の論理アドレス間の論理アドレスと物理アドレスの対応関係が置換可能である、請求項１記載の情報記録媒体。
【請求項５】
前記複数の分割領域は、ユーザが自由にアクセス可能な領域と、特定の認証処理に成功したときのみユーザがアクセス可能な領域とを含む、請求項４記載の情報記録媒体。
【請求項６】
前記制御部は前記ホストインタフェース部を介して所定の通知コマンドを受信したときに、置換される記録領域のサイズを前記データ処理装置に通知する、請求項１記載の情報記録媒体。
【請求項７】
請求項１記載の情報記録媒体に対してデータの読み出し、書き込みを行うデータ処理装置であって、
前記情報記録媒体を装着するスロットと、
該スロットに装着された前記情報記録媒体に対するデータの入出力を行う入出力処理部と、
該入出力処理部を通じて前記記録媒体へ入出力するデータの処理を含む所定の制御を行うデータ処理部とを備え、
前記データ処理部は前記記録媒体に対して前記置換コマンドを発行する機能を有する、
データ処理装置。
【請求項８】
前記データ処理部は、前記記録媒体の記録領域をファイルシステムによってクラスタ単位で管理し、前記クラスタの境界と、前記論物変換テーブル上でのデータ管理単位の境界とが一致するように入出力処理を実行する、請求項７に記載のデータ処理装置。
【請求項９】
データを格納するための記録領域を有し、該記録領域の物理アドレスと論理アドレスの対応関係を格納する論物変換テーブルを格納する情報記録媒体に格納されたデータを移動するための方法であって、
前記情報記録媒体の記録領域上でのデータの書き替え処理を伴わずに、移動前後の領域の間で、前記論物変換テーブルにおける論理アドレスに対する物理アドレスを置換する、データ処理方法。
【請求項１０】
前記情報記録媒体の記録領域において連続した領域にデータが格納されるように決定されたデータの移動先の一覧である移動先リストを作成し、
前記情報記録媒体内のデータの断片化を解消するために、前記移動先リストに基づいて移動前後の領域を決定し、
該決定した移動前後の領域に対して、前記論物変換テーブル上での論理アドレスに対する物理アドレスを置換する、請求項９に記載のデータ処理方法。
【請求項１１】
データの断片化を解消した後に生じる論理的な空き領域に対してデータの物理的消去を行う、請求項１０に記載のデータ処理方法。
【請求項１２】
前記記録媒体の前記記録領域にストリーミングデータが格納されている場合、前記ストリーミングデータが格納される領域の論理アドレスに対して前記論物変換テーブル上の置換を行い、前記ストリーミングデータが格納される領域を論理アドレス空間上で連続的にする、請求項１０記載のデータ処理方法。
【請求項１３】
前記ストリーミングデータは音声データ及び／または映像データを含む、請求項１２に記載のデータ処理方法。
【請求項１４】
前記情報記録媒体の記録領域に音声データ及び／または映像データが記録された直後に、前記論物変換テーブルの置換を行い、前記音声データ及び／または映像データが論理的に連続的な領域に記録されるようにする、請求項１０記載のデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディジタルデータを格納する情報記録媒体及びその情報記録媒体に格納されたデータの移動処理を行うデータ処理装置及びデータ処理方法に関する。
【背景技術】
【０００２】
近年、ディジタルデータの読み書きが可能な記録媒体としてＳＤメモリカード（登録商標）やメモリスティック（登録商標）、コンパクトフラッシュ（登録商標）といった半導体メモリが普及してきている。
【０００３】
これらの半導体メモリを使ってデータを処理するデータ処理装置は、パーソナルコンピュータ、音響機器、映像機器、携帯電話、デジタルカメラなどの電化製品を始め、多岐に渡っている。
【０００４】
半導体メモリに格納されるデータはファイルシステムを利用し、ファイル形式でアドレスやサイズ等を管理されることが多い。例えばＳＤメモリカード（登録商標）の場合にはＦＡＴ（ファイル  アロケーション  テーブル）ファイルシステムが採用されている。
【０００５】
そのような場合、半導体メモリに対してサイズの異なるファイルの書き込みやファイルの削除を何度も繰り返すことによって、ＦＡＴファイルシステムの管理情報が断片化された状態になる。すなわち、データを格納した各ファイルや空き領域は、論理アドレス空間上で、離散した状態で存在することになる。断片化によって管理情報が複雑化するために、ファイル読み出しのオーバーヘッドの増加や、ファイル書き込みのための空き領域の検索時間の増加という問題が発生する。さらに、半導体メモリによってはある一定サイズの大きさでデータを書き込むことにより書き込み処理が高速化されるものが存在するが、断片化が発生している場合には前記一定サイズの空き容量を確保できないために書き込み処理が遅くなるという問題が発生する。
【０００６】
例えば、断片化による管理情報の複雑化は以下のように処理速度の低下を招く。半導体メモリに対してデータの書き込み、読み出しを行うデータ処理装置は、半導体メモリのファイルシステムに関する情報（例えば、リンク情報）をＲＡＭ上に読み出して利用する。通常、データ処理装置はＲＡＭ容量の制限から、ファイルシステムの情報を全てＲＡＭにロードせず、部分的にファイルシステムの情報をＲＡＭ上にロードして利用する。データアクセス時に必要な情報がＲＡＭ上に存在しない場合、必要な情報が含まれた部分を再度ロードする。よって、論理アドレス空間上で断片化の程度が大きいと、ＲＡＭ上にロードされたリンク情報を辿る際に、ファイルシステムの部分的な情報を次々にＲＡＭへロードしなおす必要があり、処理速度の低下を招く。
【０００７】
そこで、この断片化を解消する方法として、連続した記録領域にデータが配置されるようにデータを並べ替えるデフラグ処理がある（例えば、特許文献１参照）。デフラグ処理は、アドレス空間上で離散した各ファイルのデータや空き領域を連続的な領域になるように並べ替えるものであり、一般的に物理アドレス空間上でのデータの移動処理を行うために時間がかかる。また、半導体メモリには一般に読み書きの回数に制限があるため、デフラグ処理によるデータの移動処理は半導体メモリの寿命を低下させるという問題もある。
【０００８】
そのため、このデフラグ処理を適当なタイミングで開始するための方法（例えば、特許文献２参照）や、半導体メモリに対しては頻繁にデフラグ処理を行わないようにする方法（例えば、特許文献３参照）が提案されている。
【特許文献１】特開２０００−３０５８１８号公報
【特許文献２】特開平８−３３９３１８号公報
【特許文献３】特開２０００−３２２３０７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上記の特許文献２、３の方法では、デフラグ処理を実行する際に、半導体メモリの記録領域の物理アドレス空間上で実際にデータを移動してデータの再配置を行っているため、依然としてデフラグ処理に時間がかかり、また、半導体メモリの寿命低下を引起こすという問題がある。
【００１０】
本発明は、上記課題を解決しようとするものであり、その目的とするところは、データ処理の高速化かつメモリ寿命の低下の抑制を実現し、例えばデータの断片化解消に有効な情報記録媒体、並びにそのような情報記録媒体に対するデータ処理装置及びデータ処理方法を提供することにある。
【課題を解決するための手段】
【００１１】
本発明に係る情報記録媒体は、データ処理装置によってデータの読み出し、書き込みが可能である。情報記録媒体は、データを格納するための記録領域を有し、記録領域の物理アドレスと論理アドレスの対応関係を格納する論物変換テーブルを格納するデータ格納部と、データ処理装置との通信を行うホストインタフェース部と、データ格納部及びホストインタフェース部に対し制御を行う制御部とを備える。制御部は、ホストインタフェース部を介してデータ処理装置から所定の置換コマンドを受信したときに、置換コマンドで指定される複数の論理アドレス間で、論物変換テーブルにおける論理アドレスに対する物理アドレスを置換する。
【００１２】
本発明に係るデータ処理装置は、上記の情報記録媒体に対してデータの読み出し、書き込みを行う。データ処理装置は、情報記録媒体を装着するスロットと、スロットに装着された情報記録媒体に対するデータの入出力を行う入出力処理部と、入出力処理部を通じて記録媒体へ入出力するデータの処理を含む所定の制御を行うデータ処理部とを備える。データ処理部は記録媒体に対して置換コマンドを発行する機能を有する。
【００１３】
本発明に係るデータ処理方法は、データを格納するための記録領域を有し、その記録領域の物理アドレスと論理アドレスの対応関係を格納する論物変換テーブルを格納する情報記録媒体に格納されたデータを移動するための方法である。データ処理方法は、情報記録媒体の記録領域上でのデータの書き替え処理を伴わずに、移動前後の領域の間で、論物変換テーブルにおける論理アドレスに対する物理アドレスを置換する。
【００１４】
上記のデータ処理方法において、さらに、情報記録媒体の記録領域において連続した領域にデータが格納されるように決定されたデータの移動先の一覧である移動先リストを作成し、情報記録媒体内のデータの断片化を解消するために、移動先リストに基づいて移動前後の領域を決定し、その決定した移動前後の領域に対して、論物変換テーブル上での論理アドレスに対する物理アドレスを置換するようにしてもよい。
【発明の効果】
【００１５】
本発明によれば、情報記録媒体におけるデータ移動処理において、データの記録領域上での書き替え処理は実施せずに、論物変換テーブル上でのみデータ移動を行うので、高速なデータ移動処理が可能となる。また、データの記録領域上での書き替えは実施しないことから、メモリ寿命の低下を抑制できる。特に、データの断片化解消処理（デフラグ処理）を実行する際に本発明を適用することで、高速に、且つメモリ寿命の低下を抑制しつつデフラグ処理の実施が可能となる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施の形態について添付の図面を参照して説明する。以下では、情報記録システムを例として説明する。図１は、情報記録システムの構成例を説明した図である。同図に示すように、情報記録システムはデータを格納する情報記録媒体（以下単に「記録媒体」という。）１００と、その記録媒体１００にデータの書き込み、読み出しを行うデータ処理装置２００とから構成される。最初に、記録媒体１００の詳細を説明する。
【００１７】
１．情報記録媒体
（情報記録媒体の構成）
図１に示すように、記録媒体１００は、ホストインタフェース部１１０、制御部１２０及びデータ格納部１５０から構成される。
【００１８】
ホストインタフェース部１１０は、記録媒体１００に対してデータの読み出し、書き込み、その他の制御を行うホスト機器であるデータ処理装置２００との間で情報の受け渡しを行う。
【００１９】
制御部１２０は記録媒体１００の動作制御を行い、ホストインタフェース部１１０、データ格納部１５０の制御を行う。
【００２０】
データ格納部１５０は記録領域１３０及び論物変換テーブル１４０を含む。記録領域１３０はディジタルデータを格納し、データ処理装置２００からディジタルデータの読み出し、書き込みが可能な領域である。記録領域１３０はフラッシュメモリで構成されており、書き込みの単位を「ブロック」と呼ぶ。記録領域１３０は複数のブロック（ブロック＃０〜＃Ｎ）を含む。各ブロックには物理的な位置を示すアドレスである物理アドレスが割当てられている。
【００２１】
論物変換テーブル１４０は、記録領域１３０の各ブロックの論理アドレスと物理アドレスの変換を行うためのテーブルである。ここで「論理アドレス」とは、ホスト機器であるデータ処理装置２００が認識するアドレスであって、データの読み出し、書き込み対象となるブロックを指定する際に使用するアドレスである。論理アドレスは全てのブロックに割当てられていてもよいが、本実施の形態においては、一部のブロックには論理アドレスが割当てられていないものとする。データ処理装置２００からは、論理アドレスが割当てられていないブロックを指定することはできない。「物理アドレス」とは、記録媒体１００の制御部１２０が認識する記録領域１３０のアドレスである。制御部１２０は物理アドレスを用いて実際の記録領域１３０におけるアクセス領域を特定する。物理アドレスは記録領域１３０内の全てのブロックに割当てられる。
【００２２】
なお、本実施の形態では、記録媒体１００上の論理アドレスが割当てられた領域に格納するデータのサイズやアドレスを管理するために、ファイルシステムとして、ＦＡＴファイルシステムを利用している。
【００２３】
データ処理装置２００から論理アドレスの指定があった場合、記録媒体１００の制御部１２０は論物変換テーブル１４０を参照して論理アドレスから物理アドレスを求めることで、記録領域１３０内のアクセスするブロックを決定する。
【００２４】
図２は、論物変換テーブル１４０のデータ構造及びデータ例を示した図である。論物変換テーブル１４０はブロック毎に論理アドレスと物理アドレスの対応を管理する。図２の例では、論理アドレスＬ０は物理アドレスＰ９７２に対応し、論理アドレスＬ１は物理アドレスＰ４２４に対応し、論理アドレスＬ２は物理アドレスＰ１００に対応している。
【００２５】
さらに、物理的には存在しているが、論理アドレスが割り振られていないブロックに関しても、それぞれの物理アドレス（Ｐ５０７、Ｐ１３０、Ｐ８８１、…）に対し、Ｓ０、Ｓ１、Ｓ２の値を割り当てている。
【００２６】
次に、記録媒体１００の各部の動作について説明する。
【００２７】
（データ読み出し処理）
図３は、記録媒体１００がデータ処理装置２００からデータ読み出し要求であるＲｅａｄコマンドを受信したときの動作シーケンス例を示した図である。
【００２８】
ホストインタフェース部１１０は、データ処理装置２００からＲｅａｄコマンドを受信すると、制御部１２０に通知する（Ｓ３０１）。ここで、Ｒｅａｄコマンドには、少なくとも読み出しを行う論理アドレス及びサイズが格納されているものとする。
【００２９】
なお、制御部１２０はＲｅａｄコマンドを確かに受信したことを、ホストインタフェース部１１０を介してデータ処理装置２００に通知してもよい。
【００３０】
制御部１２０は、論物変換テーブル１４０を参照し、ステップＳ３０１で受信したＲｅａｄコマンドにおいて指定された論理アドレスに対応する物理アドレスを求める（Ｓ３０２）。
【００３１】
制御部１２０は、求めた物理アドレスにおけるデータを読み出す（Ｓ３０３）。読み出されたデータは、ホストインタフェース部１１０を介して、データ処理装置２００に送信される（Ｓ３０４）。
【００３２】
ステップＳ３０１で受信したＲｅａｄコマンドにおいて指定されたサイズ分のデータを、データ処理装置２００に送信完了したか否かを判断する（Ｓ３０５）。送信完了の場合は処理を終了する。送信完了したデータが指定されたサイズに満たない場合、次のブロックに格納されたデータを読み出すために、現在の論理アドレスに１を加算してステップＳ３０２の処理に進む。
【００３３】
（データ書き込み処理）
図４は、記録媒体１００がデータ処理装置２００からデータ書き込み要求であるＷｒｉｔｅコマンドを受信したときの動作シーケンス例を示した図である。
【００３４】
ホストインタフェース部１１０は、データ処理装置２００からＷｒｉｔｅコマンドを受信すると、制御部１２０に通知する（Ｓ４０１）。ここでＷｒｉｔｅコマンドには少なくとも書き込みを行う論理アドレス及びサイズが格納されているものとする。
【００３５】
なお、制御部１２０はＷｒｉｔｅコマンドを確かに受信したことを、ホストインタフェース部１１０を介してデータ処理装置２００に通知してもよい。
【００３６】
制御部１２０は論物変換テーブル１４０を参照し、ステップＳ４０１で受信したＷｒｉｔｅコマンドにおいて指定された論理アドレスに対応する物理アドレスを求める（Ｓ４０２）。
【００３７】
制御部１２０は、書き込みを行うための準備処理を行う（Ｓ４０３）。ここで、書き込みの準備処理は例えば次のような処理である。本実施形態の記録領域１３０を構成するフラッシュメモリは、書き込み前に消去処理が必要である。そのため、ステップＳ４０２で算出した物理アドレスに格納されたデータの消去処理を、書き込みを行うための準備処理として行う。
【００３８】
または、フラッシュメモリにおいて同一ブロックへの書き込みが集中しないようにするために、以下の方法で準備を行っても良い。すなわち、図２の論物変換テーブル１４０において、Ｓ０、Ｓ１、Ｓ２、・・・などの論理アドレスが割り振られていないブロックの１つ（これを「ブロックＸ」と呼ぶ。）に対し、消去処理が行われていなければ消去処理を行う。その後、論物変換テーブル１４０を書き換えて、消去処理されたブロックＸとステップＳ４０２で求めたブロックとを交換する。これにより、今までデータが書かれていたブロックは論理アドレスが割り振られていないブロックとなり、逆にブロックＸには論理アドレスが割当てられ、書き込み対象のブロックとなるため、特定のブロックに対する集中的な書き込みを避けることができる。
【００３９】
準備処理の後、制御部１２０はホストインタフェース部１１０を介してデータ処理装置２００から書き込むデータを受信する（Ｓ４０４）。なお、受信したＷｒｉｔｅコマンドにて指定されたデータのサイズが、記録媒体１００で一度に受信できるサイズよりも大きい場合は、適度なサイズに分割されたデータを複数回に分けて受信するものとする。本実施の形態においては、一度に受信できるサイズは１ブロック分のデータであるとする。
【００４０】
制御部１２０は書き込み用のデータを確かに受信したことを、ホストインタフェース部１１０を介してデータ処理装置２００に通知してもよい。
【００４１】
制御部１２０は、ステップＳ４０４で受信した書き込み用のデータを、ステップＳ４０３にて書き込み準備をしておいたブロックに書き込む（Ｓ４０５）。
【００４２】
受信したＷｒｉｔｅコマンドにおいて指定されたサイズのデータをデータ処理装置２００から全て受信したか否かを判断する（Ｓ４０６）。受信完了の場合は処理を終了する。書き込み完了したデータのサイズが、Ｗｒｉｔｅコマンドで指定されたサイズに満たない場合、次のブロックにさらなるデータを書き込むために、現在の論理アドレスに１を加算してステップＳ４０２の処理に戻り、上記処理（Ｓ４０２〜Ｓ４０５）を繰り返す。
【００４３】
（アドレス置換処理）
図５は、記録媒体１００がデータ処理装置２００から、本発明による論理アドレスの置換コマンドを受信したときの動作シーケンス例を示した図である。置換コマンドは、そのコマンドで指定した論理アドレス間で、論物変換テーブル１４０上における論理アドレスに対する物理アドレスの置換を指示するコマンドである。
【００４４】
ホストインタフェース部１１０は、データ処理装置２００から置換コマンドを受信すると、制御部１２０に通知する（Ｓ５０１）。置換コマンドにおいては、置換対象となる論理アドレスの組が少なくとも１組指定される。
【００４５】
制御部１２０は置換コマンドを確かに受信したことを、ホストインタフェース部１１０を介してデータ処理装置２００に通知してもよい。
【００４６】
制御部１２０は論物変換テーブル１４０を参照して、置換対象となる論理アドレスの組の各アドレスに対し、それぞれの物理アドレスを取得する（Ｓ５０２）。そして、論物変換テーブル１４０において、お互いの物理アドレスの値を置換する（Ｓ５０３）。このとき、論物変換テーブル１４０上での物理アドレスの置換のみを行い、後述の図７に示すデータ領域３１０からデータを読み出し、データ領域３１０の異なるアドレスへデータを書き替えることは行わない。
【００４７】
図６に、置換コマンドによる置換処理の前後における論物変換テーブル１４０のデータ例を示す。図６（ａ）に示す論物変換テーブル１４０に対し、論理アドレスＬ３と論理アドレスＬ６の置換を実施した場合、図６（ｂ）に示すようにそれらの論理アドレスに対する物理アドレスの値が置換される。
【００４８】
図５に戻り、受信した置換コマンドにおいて論理アドレスの組が複数指定されている場合には、全ての論理アドレスの組に対して置換が完了するまで（Ｓ５０４）、ステップＳ５０２、Ｓ５０３の処理を繰り返す。
【００４９】
以上のように、本実施形態では、論物変換テーブル１４０によって論理アドレスが割当てられている記録領域１３０の各ブロックは、データ処理装置２００から、データ読み出しとデータ書き込みに加えて、論理アドレスの置換が可能である。特に、記録媒体１００は、置換コマンドを受信したときに、論理アドレスが割り振られている各ブロックのデータの置換を、実際のデータを書き替えるのではなく、論物変換テーブル１４０上のアドレス情報を置換することのみによって実現する。このように、データ領域３１０におけるデータの書き替えを要しないため、高速な処理が実現できるとともに、メモリ寿命の低下を抑制できる。
【００５０】
（ＦＡＴファイルシステム）
前述のように、本実施の形態では、記録媒体１００上の論理アドレスが割当てられた領域に格納するデータのサイズやアドレスを管理するためにＦＡＴファイルシステムを利用している。以下に、ＦＡＴファイルシステムの概要を説明する。
【００５１】
図７に、ＦＡＴファイルシステムの構成を示す。ＦＡＴファイルシステムでは、記録領域１３０のうち論理アドレスが割当てられた領域において、論理アドレスの先頭に管理情報領域３００が存在し、引き続いてファイル内のデータなどを格納するデータ領域３１０が存在する。
【００５２】
管理情報領域３００は、情報記録領域を複数のパーティションと呼ばれる領域に分割して管理するための情報を格納するマスターブートレコード・パーティションテーブル、１つのパーティション内の管理情報を格納するパーティションブートセクタ、ファイルに含まれるデータの物理的な格納位置を示すＦＡＴテーブル１及びＦＡＴテーブル２、ルートディレクトリ直下に存在するファイル、ディレクトリの情報を格納するルートディレクトリエントリから構成される。ここで、ＦＡＴテーブルが二つ存在しているのは、重要な情報を格納しているために、同じ情報が二重化されているためである。
【００５３】
データ領域３１０は複数の「クラスタ」と呼ばれる論理的なブロックに分割され管理されており、各クラスタにはファイルに含まれるデータが格納されている。サイズの大きいデータを格納するファイル等は複数のクラスタを使用しており、各クラスタ間のつながりは、ＦＡＴテーブル１及びＦＡＴテーブル２に格納されたリンク情報により管理されている。
【００５４】
図８を用いてＦＡＴファイルシステムによるファイルデータのより具体的な格納例を説明する。
【００５５】
管理情報領域３００のルートディレクトリエントリや、データ領域３１０の一部には、図８（ａ）に示すような、ファイル名やファイルサイズなどを格納するディレクトリエントリ４０１が格納される。ファイルデータの格納先であるデータ領域３１０はクラスタ単位で管理されており、各クラスタには一意に識別可能なクラスタ番号が付与されている。ファイルのデータが格納されているクラスタを特定するために、ディレクトリエントリ４０１には、ファイルデータの先頭部分を格納するクラスタのクラスタ番号（開始クラスタ番号）が格納されている。図８（ａ）のディレクトリエントリ４０１の例は、”ＦＩＬＥ００１．ＴＸＴ”という名前を持つファイルについて、クラスタ番号３１からデータが格納されていることを示している。
【００５６】
複数のクラスタにデータが格納されているファイルの場合、リンク情報がＦＡＴテーブルに格納される。図８（ｂ）にＦＡＴテーブルの例を示す。ＦＡＴテーブル４０２には、各クラスタのリンク情報を示すＦＡＴエントリが格納される。ＦＡＴエントリは、次にリンクされるクラスタのクラスタ番号が格納されている。図８（ｂ）の例では、クラスタ番号「３１」に対応するＦＡＴエントリとして「３２」が格納されているため、クラスタ番号「３１」のクラスタは、クラスタ番号「３２」のクラスタにリンクしていることになる。同様にクラスタ番号「３２」に対応するＦＡＴエントリには「３４」、クラスタ番号「３４」に対応するＦＡＴエントリには「３５」が格納されており、クラスタ番号「３１」、「３２」、「３４」、「３５」の順でリンクされていることになる。クラスタ番号「３５」に対応するＦＡＴエントリには、リンクの終端を意味する「ＦＦＦ」が格納されている。よって、クラスタ番号「３１」から始まるリンクは、「３１」、「３２」、「３４」、「３５」の４クラスタで終端することになる。従って、”ＦＩＬＥ００１．ＴＸＴ”というファイル名のデータは、データ領域３１０において、図８（ｃ）に示すようにクラスタ＃３１、＃３２、＃３４、＃３５に順に格納されていることになる。なお、クラスタ番号「３３」に対応するＦＡＴエントリに格納されている「０」は、そのクラスタがファイルに割当てられておらず、空き領域であることを意味している。
【００５７】
サイズの異なるファイルの書き込みや消去を繰返し行うことにより、前記ＦＡＴエントリのリンク情報は複雑になっていく。すなわち、個々のファイルデータはデータ領域３１０において離散的な状態で格納された状態になる。同様に未使用の領域である空き領域も離散的な状態で存在することになる。これをデータの「断片化」と呼ぶ。
【００５８】
なお、以降の説明を簡略化するために、本実施形態は、クラスタは記録領域１３０のブロックと１対１に対応しているものとし、クラスタ間の境界がブロック間の境界と一致するものとする。
【００５９】
２．データ処理装置
次に、記録媒体１００にアクセスするデータ処理装置２００の詳細について説明する。図９はデータ処理装置２００の構成例を示した図である。
【００６０】
データ処理装置２００は、スロット２１０、入出力処理部２２０、データ処理部２３０、ユーザ入力処理部２４０、表示処理部２５０から構成される。
【００６１】
スロット２１０は記録媒体１００を装着するハードウェアである。
【００６２】
入出力処理部２２０は、スロット２１０に装着された記録媒体１００に対してコマンドやデータ等の情報の受け渡しを行う。入出力処理部２２０は、記録媒体１００に対して論理アドレスの置換コマンドを発行する手段を備えている。
【００６３】
データ処理部２３０は、記録媒体１００に格納されたデータもしくはこれから格納するデータを処理し、データ処理装置２００の中心的な処理を担う。例えば、データ処理部２３０は、記録媒体１００に格納されたデータが音声データや映像データである場合には、データを入出力処理部２２０経由で読み出して再生処理を行う。また、データ処理部２３０は、記録・編集したデータを入出力処理部２２０経由で記録媒体１００に書き込む。データ処理部２３０は所定のプログラムを実行することで以下に説明する機能を実現する。
【００６４】
本実施の形態において、データ処理部２３０は記録媒体１００に格納されたデータの断片化を解消（デフラグ）する機能を備える。すなわち、データ処理部２３０は記録媒体１００のデータ領域３１０に離散的に格納されたファイルデータを連続的にするための、データの並べ替え処理のための手段を備えている。
【００６５】
データ処理部２３０はデータの処理中に使用する一時的な記憶領域であるメモリ（図示せず）を備えており、記録媒体１００から読み出したデータ等を格納することが可能である。
【００６６】
ユーザ入力処理部２４０は、ユーザからの入力を受信する。表示処理部２５０は、データ処理部２３０の処理結果や各処理の進行状況などをユーザに通知する。なお、図９においてユーザ入力処理部２４０及び表示処理部２５０を破線で示しているのは、これらの構成要素が必須のものでないことを示している。
【００６７】
３．システム全体の動作
以下、記録媒体１００及びデータ処理装置２００を構成している各部の動作について図面を用いて説明する。
【００６８】
（デフラグ処理）
図１０は、データ処理装置２００が記録媒体１００に格納されたデータの断片化を解消する処理（以下「デフラグ処理」という。）の動作シーケンス例を示した図である。
【００６９】
データ処理装置２００のデータ処理部２３０は、入出力処理部２２０を介して、スロット２１０に装着された記録媒体１００から、ＦＡＴテーブルや各ディレクトリエントリなどを読み出し、解析し、データ領域３１０に格納されている各ファイルが使用しているクラスタの情報などを収集する（Ｓ１００１）。
【００７０】
データ処理部２３０は、収集した各ファイルの使用しているクラスタ情報をもとに、各クラスタに格納されたデータの移動先を決定する（Ｓ１００２）。本実施の形態においては、全てのファイル及び空き領域が連続したクラスタに格納されるように移動先を決定する。なお、移動先については公知の方法で決定できる。
【００７１】
ステップＳ１００２の移動先の決定において、データ処理部２３０は、各クラスタのデータの移動先の情報を格納した移動先リスト５００をデータ処理部２３０の内部メモリ上に生成する。図１１に移動先リスト５００のデータ例を示す。図１１の例は、現在のクラスタ番号「１」のクラスタに格納されているデータは、移動後にクラスタ番号「３２」のクラスタに格納され、現在のクラスタ番号「２」のクラスタのデータは移動後にクラスタ番号「３」のクラスタに格納される予定であることを示している。
【００７２】
移動先リスト５００に基づき、各クラスタのデータの移動を実施する（Ｓ１００３）。本実施の形態においては、クラスタ番号「１」から順にクラスタを決定していき、決定したクラスタへデータを移動して行く。この処理は、論理アドレス空間上のクラスタ間のデータの入れ替えにより実現される。例えば、図１１の移動先リスト５００に基づきデータの移動を実施する場合、まず、移動先クラスタ番号が「１」となっているクラスタ番号を検索する。移動先クラスタ番号が「１」となっているクラスタ番号は「４」である。そこで、クラスタ番号「１」のクラスタとクラスタ番号「４」のクラスタとを置換対象として決定する。データ処理部２３０はクラスタ番号「１」とクラスタ番号「４」に対応する論理アドレスを指定して記録媒体１００に対して置換コマンドを発行する。この移動処理の詳細については後述する。以降、移動先クラスタ番号を順次インクリメントしていき、データの移動処理を行っていく。
【００７３】
ステップＳ１００３でクラスタのデータ移動を行った結果、ＦＡＴテーブルやディレクトリエントリの情報が変更される場合、データ処理部２３０は記録媒体１００に格納されたこれらの値を更新する（Ｓ１００４）。その際、移動先リスト５００にも移動結果を反映させる。図１２は、図１１の移動先リスト５００において、クラスタ番号「１」のデータとクラスタ番号「４」のデータの入れ替えが完了した結果を反映した図である。移動により、クラスタ番号「４」のデータは、移動前にクラスタ番号「１」のクラスタに格納されていたデータとなり、その移動先クラスタ番号は「３２」となっている。
【００７４】
移動先リスト５００を参照し、全てのクラスタについてデータ移動がなされたか否かを判断し（Ｓ１００５）、移動処理が完了した場合には処理を終了する。まだ、移動すべきデータが残っている場合は、ステップＳ１００３の処理に戻り、次のクラスタのデータ移動処理を行う。
【００７５】
以上のように、移動先リスト５００を参照して移動処理を実施すれば、最終的に、記録媒体のＦＡＴテーブル上において全てのファイル及び空き領域が、連続したクラスタに格納されるように並べ替えられることになる。
【００７６】
（クラスタデータの移動処理）
次に、図１０のステップＳ１００３におけるクラスタのデータの移動処理について、図１３を用いて説明する。以下、移動処理としてクラスタＡとクラスタＢの間でデータの入れ替えを行う場合を説明する。
【００７７】
本実施形態のデータ移動処理の説明に先立ち、従来のデータ入れ替え処理について図１３（ａ）を用いて説明する。従来の方法では、まず、記録媒体の記録領域からクラスタＡのデータ（データＡ）を読み出し、メモリ上に退避する（Ｓ１３０１）。次に、クラスタＢのデータ（データＢ）を読み出してメモリ上に退避する（Ｓ１３０２）。なお、クラスタＡ及びクラスタＢのデータを読み出すときに記録媒体に対して指定する論理アドレスは管理情報領域の情報等から算出する。その後、クラスタＡの位置に、退避しておいたクラスタＢのデータＢを書き込み（Ｓ１３０３）、クラスタＢの位置に、退避しておいたクラスタＡのデータＡを書き込む（Ｓ１３０４）。
【００７８】
このように、従来のデータ入れ替え処理では、データ処理装置は入れ替え処理の対象となっている２つのクラスタのデータを読み出し、その後、それぞれのクラスタにデータの書き込みを行っている。これに対し、後述の本実施形態によるデータ移動（入れ替え）処理では、論理アドレスの置換コマンドを発行するだけでデータの入替えを実現する。置換コマンドは、記録媒体１００の論物変換テーブル１４０を更新するだけであり、データ領域へのデータの書き込み処理は行わない。以下に、図１３（ｂ）を参照し、本実施形態によるデータ入れ替え処理（ステップＳ１００３）の詳細を説明する。
【００７９】
図１３（ｂ）において、データ処理部２３０は、置換対象であるクラスタＡ及びクラスタＢの論理アドレスを管理情報領域３００の情報などから算出する（Ｓ１３１０）。
【００８０】
次に、データ処理部２３０は入出力処理部２２０を介して、スロット２１０に装着された記録媒体１００に対し、クラスタＡの論理アドレスとクラスタＢの論理アドレスを入れ替える置換コマンドを発行する（Ｓ１３１１）。記録媒体１００はデータ処理装置２００から置換コマンドを受信すると、図５に示す処理を実行して、論物変換テーブル１４０上でのクラスタＡとクラスタＢのそれぞれに対応する物理アドレスと論理アドレスの対応の置換を行う。
【００８１】
以上のように、本発明によるデータ処理装置２００は、デフラグ処理において記録媒体１００に格納されたデータを移動させる際に、論理アドレスと物理アドレスの対応関係の置換を指示する置換コマンドを利用する。これにより、記録領域１３０へのデータの書き込みを行うことなしにデータの並べ替えが行えるため、高速かつフラッシュメモリの寿命低下を抑えたデフラグ処理が可能となり、非常に有効である。また、本実施形態のデフラグ処理によりＦＡＴ上で連続的にリンクされるようになるため、データ処理装置２００のＲＡＭ上へＦＡＴ情報を読み出し利用する際に、ロードし直す回数が低減される。
【００８２】
（デフラグ処理の具体例）
上記のデフラグ処理によるクラスタの移動の様子について具体例を挙げて説明する。なお、以下の説明においてクラスタ番号が「ｍ」のクラスタを「クラスタ＃ｍ」と表す。今、記録媒体１００におけるデータ格納状態が図１４に示すような状態である場合を考える。図１４（ａ）はディレクトリエントリ４０１の内容を、図１４（ｂ）はＦＡＴテーブル４０２の内容を、図１４（ｃ）はデータ領域３１０のクラスタ間のリンク状態をそれぞれ示した図である。
【００８３】
図１４（ａ）に示すように、記録媒体１００において”ＦＩＬＥ１００．ＴＸＴ”と”ＦＩＬＥ２００．ＴＸＴ”の２つのファイルが格納されている。”ＦＩＬＥ１００．ＴＸＴ”は、クラスタ＃４１→クラスタ＃４５→クラスタ＃２０３→クラスタ＃４２とリンクし、”ＦＩＬＥ２００．ＴＸＴ”は、クラスタ＃４３→クラスタ＃２０５とリンクしている（図１４（ｂ）、（ｃ）参照）。
【００８４】
図１５Ａに、図１４に示す場合においてデフラグ処理のために生成される移動先リスト５００の例を示す。また、図１５Ｂに、図１４に示す状態における記録媒体１００の論物変換テーブル１４０を示す。
【００８５】
図１４に示すデータ格納状態において、デフラグ処理によるクラスタ＃４２へのデータ移動処理を説明する。データ処理装置２００は移動先リスト５００を参照し、移動先クラスタ番号が「４２」であるクラスタ番号を検索する。図１５Ａより、移動先クラスタ番号が「４２」であるクラスタ番号は「４５」であることから、クラスタ＃４２と置換されるクラスタはクラスタ＃４５であることがわかる。データ処理装置２００はクラスタ＃４２とクラスタ＃４５を置換するための置換コマンドを記録媒体１００に発行する。このとき、置換コマンドにおいて論理アドレスとして、クラスタ＃４２とクラスタ＃４５の論理アドレスがそれぞれ指定される。これにより、図１７Ｂに示すように、クラスタ＃４２とクラスタ＃４５について、それぞれのクラスタに対応する論理アドレスに対する物理アドレスが置換される。また、図１７Ａに示すように、クラスタ＃４２とクラスタ＃４５間で、移動先リスト５００における移動先クラスタ番号が置換される。
【００８６】
以上のように論理アドレスと物理アドレス間の対応関係が置換されたことにより、論理アドレス空間におけるクラスタ間のリンク状態すなわちデータ格納状態が変化する。変化後のデータ格納状態を図１６に示す。この場合、図１６（ｂ）に示すように、ＦＡＴテーブル４０２において、クラスタ＃４２とクラスタ＃４５に対するＦＡＴエントリ（”２０３”と”ＦＦＦ”）が置換される。さらに、それとともに、置換対象であるクラスタ＃４２とクラスタ＃４５にリンクするクラスタ＃４１とクラスタ＃２０３についても、それらのＦＡＴエントリの内容が変更される。すなわち、クラスタ＃４１とクラスタ＃２０３のＦＡＴエントリは、”４５”と”４２”から”４２”と”４５”へそれぞれ変更される。つまり、この場合、ＦＡＴテーブル４０２において４つのＦＡＴエントリが変更される。
【００８７】
移動先リスト５００を参照しながら、上記のように全クラスタについてクラスタ間の置換によるデータ移動（並べ替え）を行うことにより、最終的に図１８に示すような連続的にリンクしたデータ格納状態が得られる。すなわち、データ移動により、図１８（ｂ）、（ｃ）に示すように、”ＦＩＬＥ１００．ＴＸＴ”は、クラスタ＃４１→クラスタ＃４２→クラスタ＃４３→クラスタ＃４４とリンクし、”ＦＩＬＥ２００．ＴＸＴ”は、クラスタ＃４５→クラスタ＃４６とリンクするようになる。このように、デフラグ処理により各ファイルはＦＡＴ上で連続した領域で管理されるようになる。”ＦＩＬＥ２００．ＴＸＴ”の先頭クラスタは、クラスタ＃４５になったため、ディレクトリエントリ４０１の開始クラスタ番号の値も”４３”から”４５”に変更される。図１９Ａ、図１９Ｂはそれぞれ、デフラグ処理後の移動先リスト５００と論物変換テーブル１４０の状態を示した図である。
【００８８】
上記の例のデフラグ処理では、”ＦＩＬＥ２００．ＴＸＴ”に関し、最終的にディレクトリエントリ４０１の書き換えが生じたが、次に、ディレクトリエントリ４０１の書き換えが生じないように、データの並べ替えを行う方法について説明する。この場合、データの並べ替えにおいて、ファイルの先頭データを含むクラスタは移動させないようにする。
【００８９】
図１４のデータ格納状態に対して、このときの移動先リスト５００は図２０Ａに示すようになる。つまり、ファイルの先頭データを含むクラスタすなわちクラスタ＃４１とクラスタ＃４３については、クラスタ番号と移動先クラスタ番号が同じとなっている。図２０Ｂに、このときの論物変換テーブル１４０を示す。
【００９０】
図２１は、図２０Ａに示す移動先リスト５００にしたがいデフラグ処理を実行後のデータ格納状態を示した図である。図２２Ａ、図２２Ｂはそれぞれ図２１のデータ格納状態に対する移動先リスト５００及び論物変換テーブル１４０である。同図の場合、”ＦＩＬＥ２００．ＴＸＴ”の先頭データを含むクラスタ＃４３について移動はなく、この部分を除いてＦＡＴ上で連続的にクラスタがリンクされている。
【００９１】
４．変形例
本発明の思想を上記の実施の形態に基づいて説明してきたが、本発明の思想は上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
【００９２】
（１）本実施の形態においては、Ｒｅａｄコマンドにおいて読み出しを行う論理アドレス及びサイズが格納されているとしたが、Ｒｅａｄコマンドにてサイズを指定しなくてもよい。この場合、データ処理装置２００が必要なサイズのデータを読み出した後に読み出し停止を指示するようにする。すなわち、データ処理装置２００が読み出し停止を指示するまでは、記録媒体１００からデータを読み出し続けるようにしてもよい。さらに、読み出しサイズを固定サイズにしてもよいし、他の方式を利用してもよい。なお、Ｗｒｉｔｅコマンドについても同様である。
【００９３】
（２）また、図４のステップＳ４０３の処理において書き込みの準備をする際に論物変換テーブル１４０を更新してもよい旨の説明を行ったが、論物変換テーブル１４０の更新はステップＳ４０５のデータの書き込み処理が完了してから行ってもよい。このとき、書き込み処理中にエラーが発生し、処理が中断した場合にもできるだけ以前のデータを残すことが可能となる。
【００９４】
本発明による記録媒体は、読み出し／書き込みのシーケンスによらず、論理アドレスの置換手段を備えていることが重要である。
【００９５】
（３）本実施の形態においては、記録媒体１００に格納されたデータの断片化を解消する処理について記述した。本発明の思想はこれに限らず、記録媒体１００に格納されたデータを記録媒体１００内の他のアドレスに移動する場合に適用できる。特に、ブロックの整数倍のデータを記録領域１３０内で移動する場合に有効である。
【００９６】
（４）図１０に示すデフラグ処理においては、全てのファイル及び空き領域が連続したクラスタに格納されるようにデータの並べ替えを行うとしたが、一部のファイルもしくは空き領域だけが連続したクラスタに格納されるようにしてもよい。
【００９７】
例えば、音声データや映像データなどのストリーミングデータは、データを論理アドレスが連続した領域に格納させることにより、再生時において次の再生データの位置を簡単に決定できることになる。その結果、データ処理装置での処理が軽減され、消費電力を抑えることが可能となる。そこで、音声データや映像データなどのストリーミングデータのみを対象に断片化の解消を行うようにしてもよい。
【００９８】
また、ストリーミングデータを記録するデータ処理装置においてはストリーミングデータの記録終了後にストリーミングデータの断片化を解消する処理を自動的に行うようにしてもよい。
【００９９】
または、ストリーミングデータの記録前に論理アドレスの置換コマンドを用いて空き領域の断片化を解消しておいてもよい。これにより、ストリーミングデータの記録中に空き領域の論理アドレスを検索する処理を簡略化できる。このとき、記録するストリーミングデータも連続した領域になるようにすれば、より効果的である。
【０１００】
（５）また、図１０に示すデフラグ処理において全てのファイル及び空き領域が連続したクラスタに格納されるようにデータを並べ替える処理を記述したが、さらに連続化された空き領域に対してデータの完全消去を行うイレース処理を実施してもよい。
【０１０１】
イレース処理が行われたブロックが多ければ、書き込み前の準備として改めてイレース処理を実行する必要がないため、書き込み処理の高速化が期待できる。
【０１０２】
また、空き領域が断片化された状態の場合、イレース処理を実行させる空き領域の論理アドレスを各々の空き領域に対して指定することになるため処理が複雑となる。空き領域を連続化した後であれば、イレース処理の開始アドレス及び終了アドレスの指定が容易に行えるという利点がある。
【０１０３】
（６）本実施の形態においては、記録媒体１００は半導体メモリであるとし、記録領域１３０はフラッシュメモリで構成されることにしたが、制御部１２０及び論物変換テーブル１４０と同等の機能を有していれば、他の種類の記録媒体であっても本発明の思想は適用できる。例えば、記録媒体１００がハードディスク（ＨＤＤ）であっても良い。
【０１０４】
（７）本実施の形態においては、ＦＡＴ上での管理単位であるクラスタと、論物変換テーブル１４０上での管理単位であるブロックとが１対１で対応しているものとして説明したが、１つのクラスタに複数個のブロックが対応していても本発明は有効である。
【０１０５】
また、本実施の形態においては、記録媒体の記録領域１３０の各ブロックのうち論理アドレスが割当てられた領域をＦＡＴファイルシステムで管理していたが、ＮＴＦＳやＵＤＦなどの他のファイルシステムを利用しても良いし、ファイルシステムを使わずに記録アドレスなどを管理してもよい。
【０１０６】
管理しているブロックの境界が、クラスタのような論理的なブロックの境界と一致していれば、前記論理的なブロックの置換を本発明における置換コマンドで実行できるため、本発明は有効である。
【０１０７】
（８）本実施の形態においては、物理アドレス及び論理アドレスはブロック毎に割当てられているものとして記述したが、１つのブロックに複数の連続的な物理アドレス及び論理アドレスが割当てられていても、本発明は有効である。図２３は１つのブロックに連続した１６個の物理アドレス及び論理アドレスが割り振られた場合の論物変換テーブル１４０のデータ構造及びデータ例である。このとき、論理アドレスを置換する単位は１６個の連続した論理アドレスとなる。すなわち、置換の単位は、記録領域１３０のブロック単位となる。
【０１０８】
（９）本実施の形態においては、図１０のデフラグ処理においてクラスタのデータの入れ替え処理を行う度に記録媒体１００内のＦＡＴテーブルやディレクトリエントリ等のＦＡＴ情報を更新するとした。データ書き込み回数を削減するために、記録媒体１００内の管理情報領域３００へのＦＡＴ情報の書き込みは、全てのクラスタのデータ入れ替え処理が完了した後にまとめて行ってもよい。
【０１０９】
（１０）本実施の形態においては、記録媒体の書き込み単位を１ブロックと定義したが、書き込み単位の整数倍を１ブロックと定義してもよい。
【０１１０】
（１１）本実施の形態においては、記録媒体１００は２つの論理アドレスの置換を行うコマンドを処理できる機能を備えているとしたが、３つ以上の論理アドレスをまとめて置換するコマンドを処理できる機能を備えていても良い。
【０１１１】
図２４は、３つの論理アドレスの置換を指示するコマンドによる置換処理を説明した図である。図２４（ａ）の状態から図２４（ｃ）の状態にデータの並べ替えを行う場合、２つの論理アドレスの置換を行うコマンドによれば、論理アドレスＬ０とＬ１のデータの入れ替えを行って図１５（ｂ）の状態にした後で、さらに、論理アドレスＬ１とＬ２のデータの入れ替えを行って図１５（ｃ）の状態に並べ替える必要がある。このとき記録媒体１００は、論理アドレスＬ０と論理アドレスＬ１を置換するコマンドと、論理アドレスＬ１と論理アドレスＬ２を置換するコマンドとの複数のコマンドを実行する。
【０１１２】
これに対し、３つの論理アドレス（ここでは、Ｌ０，Ｌ１，Ｌ２）の置換を指示するコマンドによれば、１つのコマンドの実行で、論理アドレスＬ０のデータは論理アドレスＬ２に、論理アドレスＬ１のデータは論理アドレスＬ０に、論理アドレスＬ２のデータは論理アドレスＬ１に同時に移動させることができる。
【０１１３】
（１２）本実施の形態においては、図１０のデフラグ処理において各クラスタに格納されたデータの移動先が全て決定してから、すなわち、全クラスタに対する移動先リスト５００の作成後に、データの移動処理を開始したが、一部のデータの移動先が決まった時点でデータの移動処理を開始してもよい。
【０１１４】
また、ステップＳ１００３のデータの移動処理において２つのクラスタ間でのデータの入れ替え処理を繰り返すことによって全てのデータを並び替える方法を記述したが、同時に２つ以上のデータの入れ替えを行ってもよい。
【０１１５】
（１３）本実施の形態において、記録媒体１００は１つの記録領域１３０を備えるとしたが、複数の記録領域と、それぞれの記録領域に対応する論物変換テーブルとを備えてもよい。このとき、少なくとも同一の記録領域内での置換が可能であるものとする。
【０１１６】
例えばＳＤメモリカードのような記録媒体の場合、ユーザが自由にアクセスできる記録領域である通常領域と、特定の認証処理に成功したときのみアクセスできる記録領域である認証領域が存在する。このとき、記録媒体は、通常領域用及び認証領域用の２つの論物変換テーブルを備え、さらに、各々の記録領域内でデータの入れ替えを行う置換コマンドを備えてもよい。
【０１１７】
（１４）本実施の形態において、データ処理装置２００は記録媒体１００の置換コマンドで置換される各ブロックのサイズを予め知っているものとして説明したが、記録媒体１００が、各ブロックのサイズをデータ処理装置２００に通知するための通知コマンドを備えていても良い。データ処理装置２００はその通知用のコマンドを用いて記録媒体１００から各ブロックのサイズを取得できる。
【産業上の利用可能性】
【０１１８】
本発明は、情報記録媒体における高速なデータ移動処理を可能とする。このため、情報記録媒体において頻繁にデータ移動が行われるアプリケーション（例えば、デフラグ処理）に有効である。また、本発明は、データ移動処理にともない記録領域上でのデータの書き替えを実施しないため、アクセス回数に制限のある半導体メモリを備えた情報記録媒体に有効である。
【図面の簡単な説明】
【０１１９】
【図１】本発明に係る情報記録システムの構成例を示したブロック図である。
【図２】記録媒体における論物変換テーブルのデータ構造及びデータの例を示した図である。
【図３】記録媒体のＲｅａｄコマンド受信時の動作シーケンス例を示したフローチャートである。
【図４】記録媒体のＷｒｉｔｅコマンド受信時の動作シーケンス例を示したフローチャートである。
【図５】記録媒体の置換コマンド受信時の動作シーケンス例を示したフローチャートである。
【図６】置換処理の前後における論物変換テーブルのデータ例を示した図である。
【図７】ＦＡＴファイルシステムの構成例を示した図である。
【図８】ＦＡＴファイルシステムにおけるファイルデータの具体的な格納例を示した図である。
【図９】本発明の情報記録システムにおけるデータ処理装置の構成例を示したブロック図である。
【図１０】データ処理装置によるデフラグ処理（記録媒体に格納されたデータの断片化を解消するための処理）の動作シーケンス例を示したフローチャートである。
【図１１】移動先リストのデータ構造及びデータの例を示した図である。
【図１２】図１１の移動先リストにおいて、クラスタ＃１への移動完了後のデータ構造及びデータの例を示した図である。
【図１３】（ａ）従来技術におけるデータ処理装置による記録媒体に格納されたクラスタのデータの移動処理の動作シーケンス例を示したフローチャート、及び（ｂ）本発明によるデータの移動処理の動作シーケンス例を示したフローチャートである。
【図１４】ＦＡＴファイルシステムにおけるファイルデータの格納例を示した図である。
【図１５Ａ】図１４に示す例における移動先リストの例を示した図である。
【図１５Ｂ】図１４に示す例における論物変換テーブルの例を示した図である。
【図１６】図１４に示す例においてクラスタ＃４２とクラスタ＃４５の置換後のファイルデータの格納例を示した図である。
【図１７Ａ】図１６に示す例における移動先リストの例を示した図である。
【図１７Ｂ】図１６に示す例における論物変換テーブルの例を示した図である。
【図１８】図１４に示す例においてデフラグ処理完了後のファイルデータの格納例を示した図である。
【図１９Ａ】図１８に示す例における移動先リストの例を示した図である。
【図１９Ｂ】図１８に示す例における論物変換テーブルの例を示した図である。
【図２０Ａ】図１４に示す例において、ファイル先頭データを移動させないようにデフラグ処理を実行するための移動先リストの例を示した図である。
【図２０Ｂ】図１４に示す例における論物変換テーブルの例を示した図である。
【図２１】図１４に示す例においてファイル先頭データを移動させないようにデフラグ処理を実行した後のファイルデータの格納例を示した図である。
【図２２Ａ】図２１に示す例における移動先リストの例を示した図である。
【図２２Ｂ】図２１に示す例における論物変換テーブルの例を示した図である。
【図２３】１つのブロックに連続した１６個の物理アドレス及び論理アドレスが割り振られた場合の論物変換テーブルのデータ構造及びデータ例を示した図である。
【図２４】３つの論理アドレスの置換を一度に指示するコマンドを説明するための図である。
【符号の説明】
【０１２０】
１００    記録媒体
１１０    ホストインタフェース部
１２０    制御部
１３０    記録領域
１４０    論物変換テーブル
１５０    データ格納部
２００    データ処理装置（ホスト）
２１０    スロット
２２０    入出力処理部
２３０    データ処理部
２４０    ユーザ入力処理部
２５０    表示処理部
３００    管理情報領域
３１０    データ領域
４０１    ディレクトリエントリ
４０２    ＦＡＴテーブル
５００    移動先リスト
【図１】
2005202942.tif 000003
【図２】
2005202942.tif 000004
【図３】
2005202942.tif 000005
【図４】
2005202942.tif 000006
【図５】
2005202942.tif 000007
【図６】
2005202942.tif 000008
【図７】
2005202942.tif 000009
【図８】
2005202942.tif 000010
【図９】
2005202942.tif 000011
【図１０】
2005202942.tif 000012
【図１１】
2005202942.tif 000013
【図１２】
2005202942.tif 000014
【図１３】
2005202942.tif 000015
【図１４】
2005202942.tif 000016
【図１５Ａ】
2005202942.tif 000017
【図１５Ｂ】
2005202942.tif 000018
【図１６】
2005202942.tif 000019
【図１７Ａ】
2005202942.tif 000020
【図１７Ｂ】
2005202942.tif 000021
【図１８】
2005202942.tif 000022
【図１９Ａ】
2005202942.tif 000023
【図１９Ｂ】
2005202942.tif 000024
【図２０Ａ】
2005202942.tif 000025
【図２０Ｂ】
2005202942.tif 000026
【図２１】
2005202942.tif 000027
【図２２Ａ】
2005202942.tif 000028
【図２２Ｂ】
2005202942.tif 000029
【図２３】
2005202942.tif 000030
【図２４】
2005202942.tif 000031