説明

情報記録媒体のデータ処理装置及びデータ記録方法

データ処理装置(200)は、複数のブロックからなる記録領域を含む情報記録媒体(100)の記録領域における一定速度以上で書き込み可能な空き領域に関する情報を有効空き領域管理部(240)に保持する。一定速度以上で書き込み可能な空き領域とは、所定数以上の未使用クラスタを含むブロックである。データ処理装置(200)は、情報記録媒体(100)に対して新たな空き領域にデータを記録する必要がある場合、有効空き領域管理部(240)に保持された情報を参照して、空き領域を検索し、その検索した領域に対してデータの書き込みを行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報記録媒体にディジタルデータを記録するデータ処理装置及びデータ記録方法に関し、特に、ディジタルデータの書き込み処理の最低速度を保証する技術に関する。
【背景技術】
【0002】
音楽コンテンツ、動画コンテンツ、静止画コンテンツなどのディジタルデータ(以下単に「データ」という。)を記録する記録媒体には、半導体記録媒体、磁気ディスク、光ディスク、光磁気ディスクなど、様々な種類が存在する。特に、半導体記録媒体は小型化・軽量化が図れるという特徴があるために、ディジタルスチルカメラや携帯電話端末などの携帯機器を中心に急速に普及しつつある。代表的な半導体記録媒体としては、SDメモリカード(登録商標)、メモリースティック(登録商標)、コンパクトフラッシュ(登録商標)などがある。
【0003】
半導体記録媒体は、年々大容量化が進んでおり、大容量のメリットを生かした応用分野として、特に動画コンテンツ記録用途への応用が期待されている。携帯型ムービー端末等で動画コンテンツをリアルタイム録画する場合、記録媒体への書き込み速度不足による録画停止を防止するため、書き込み処理の最低速度を保証することが重要となる。
【0004】
これらの半導体記録媒体に格納されるデータの管理は、ファイルシステムにより実現されている。ファイルシステムでは、記録領域を最小アクセス単位であるセクタ、及びセクタの集合であるクラスタに分割して管理し、1つ以上のクラスタをファイルとして管理する。PC(パーソナルコンピュータ)などの情報機器で一般に用いられているファイルシステムとして、FAT(ファイル・アロケーション・テーブル)ファイルシステムが一例に挙げられる(詳細は、非特許文献1参照)。
【0005】
一方、半導体記録媒体内部ではブロックという単位で記録領域を管理している。そのため、書き込みサイズが同じであるならば、できるだけ同一のブロックに連続して書き込みを行う方が高速に実行される。ブロックのサイズは前記クラスタサイズよりも一般的に大きい。
【0006】
従来、クラスタの境界をブロックの境界に一致させることにより半導体記録媒体への書き込み速度を高速化する方法が提案されている(例えば、特許文献1参照)。この方法を用いれば、1つのブロック内に整数個のクラスタが存在することになる。従って、1つのクラスタの書き込み処理を行う際に2つ以上のブロックに対して更新処理を行う必要がない。
【特許文献1】特開2001−188701号公報
【非特許文献1】ISO/IEC9293、「インフォメーション テクノロジー ボリュウム アンド ファイル ストラクチャ オブ ディスク カートリッジ フォー インフォメーション(Information Technology−Volume and file structure of disk cartridges for information)」、1994年
【発明の開示】
【発明が解決しようとする課題】
【0007】
上記の従来技術には次のような問題点がある。従来の制御方法では、半導体記録媒体に様々なサイズのファイルの書き込み及び消去を繰り返すと、空き領域が断片化された状態となる。すなわち、空きクラスタの位置が離散的になる。このような状態の半導体記録媒体に対してデータの記録を行うと、各ブロック内の空きクラスタ数が少ない場合、ブロックを跨いだ書き込み処理が頻繁に行われるため、同一のブロックに連続して書き込みを行う場合と比べて極端に速度が低下する可能性がある。従って、動画コンテンツ等のリアルタイム録画に必要となる最低書き込み速度を保証できないため、録画処理が破綻するという問題が発生し得る。
【課題を解決するための手段】
【0008】
本発明は上記問題点に鑑みてなされたものであり、情報記録媒体への書き込み処理の速度低下を低減するデータ記録装置及び記録方法を提供することを目的とする。
【0009】
(1)本発明に係る第1のデータ記録方法は、データを格納する記録領域を有し、格納データがファイルシステムにより管理される情報記録媒体に対してデータを記録する記録方法である。このとき、情報記録媒体は、その記録領域がブロック単位で管理され、各ブロックはファイルシステムのデータを格納する単位であるクラスタを所定数含む。データ記録方法は、新たな空き領域にデータを記録する必要がある場合、所定の閾値以上の未使用クラスタを含むブロックを検索し、その検索したブロックに対して優先的にデータの書き込み処理を行う。
【0010】
その場合、未使用クラスタを閾値以上含むブロックである有効ブロック内の未使用クラスタに対してデータの書き込み処理を行ってもよい。
【0011】
また、上記データ記録方法において、記録領域の各ブロックに含まれる未使用クラスタの数をカウントし、そのカウント結果に基づき前記有効ブロックを求め、有効ブロックに関するリスト情報である有効空き領域リストを生成して保持し、データ記録処理の際に、前記有効空き領域リストを参照して前記有効ブロックを検索してもよい。
【0012】
閾値に関する情報は情報記録媒体内に格納されていてもよい。閾値は、1ブロック中のクラスタ数の1/2以上の値であってもよい。
【0013】
(2)本発明に係る第1のデータ処理装置は、情報記録媒体に対するデータの書き込み、読み出しを行うデータ処理装置である。情報記録媒体はその記録領域がブロック単位で管理され、各ブロックはファイルシステムのデータを格納する単位であるクラスタを所定数含む。第1のデータ処理装置は、情報記録媒体への情報の入出力を行う入出力処理部と、情報記録媒体に格納されたデータをファイルとして管理するファイルシステム制御部と、情報記録媒体に対するデータの書き込み、読み出しに関する制御を行うデータ処理部と、情報記録媒体の領域において所定の閾値以上の未使用クラスタを含むブロックに関する情報を保持する有効空き領域管理部とを備える。データ処理部は、新たな空き領域にデータを記録する必要がある場合、有効空き領域管理部に保持された情報を参照して、所定の閾値以上の未使用クラスタを含むブロックを検索し、その検索したブロックに対して優先的にデータの書き込みを行うよう、制御を行う。
【0014】
(3)本発明に係るデータ並べ替え方法は、データを格納する記録領域を有し、その格納データがファイルシステムにより管理される情報記録媒体の記録領域におけるデータ並べ替え方法であって、情報記録媒体はその記録領域がブロック単位で管理され、各ブロックはファイルシステムのデータを格納する単位であるクラスタを所定数含み、情報記録媒体の各ブロックについて、ブロックに含まれる未使用クラスタの数が所定の範囲内にあるか否かを判定し、ブロックに含まれる未使用クラスタの数が所定の範囲内にあるブロックについて、ブロックに含まれる未使用クラスタに、他のブロックの使用クラスタからデータを移動させる。
【0015】
所定の範囲は、例えば、1以上で且つ1ブロック中のクラスタ数の1/2未満の範囲、または、1以上で且つ(1)の閾値未満の範囲である。
【0016】
また、情報記録媒体がその格納データがFATファイルシステムにより管理されており、FATファイルシステムが、リンク情報として第1及び第2のFATテーブルを有している場合、さらに、第1及び第2のFATテーブルのうちの有効なテーブルを示す有効FATフラグを設けておき、データ移動後に、第2のFATテーブルを情報記録媒体に書き込み、有効FATフラグを、第2のFATテーブルが有効であることを示すように設定し、情報記録媒体において第2のFATテーブルの内容を第1のFATテーブルにコピーし、有効FATフラグを、第1のFATテーブルが有効であることを示すように設定する。
【0017】
(4)本発明に係る第2のデータ処理装置は、情報記録媒体に対してデータの書き込み、読み出しを行うデータ処理装置であって、情報記録媒体への情報の入出力を行う入出力処理部と、情報記録媒体に格納されたデータをファイルとして管理するファイルシステム制御部と、情報記録媒体に対するデータの書き込み、読み出しに関する制御を行うデータ処理部と、情報記録媒体内の各ブロックを、ブロック中に含まれる未使用クラスタの数にしたがい分類し、その分類情報を保持するブロック判定部とを備える。データ処理部は、ブロック判定部に保持された分類情報を参照し、各ブロックについて、そのブロックに含まれる未使用クラスタの数が所定の範囲内にあるブロックか否かを判断し、そのブロックが未使用クラスタの数が所定の範囲内にあるブロックである場合に、そのブロックに含まれる未使用クラスタに、他のブロックの使用クラスタからデータを移動させるように、制御を行う。
【発明の効果】
【0018】
本発明によれば、空き領域が断片化された半導体記録媒体に対する書き込み処理において、速度が極端に低下することを避けることができる。従って、動画コンテンツのリアルタイム録画に必要となる最低書き込み速度を保証することができるため、非常に有効である。
【図面の簡単な説明】
【0019】
【図1】本発明の実施の形態1に於ける半導体記録媒体及びデータ処理装置の構成例を示したブロック図
【図2】有効空き領域リストのデータ例を示す図
【図3】FATファイルシステムの構成例を示した図
【図4】FATファイルシステムのデータ格納例を示した図
【図5】FATファイルシステムのデータ書き込み処理の一例を示すフローチャート
【図6】有効空き領域リストの生成処理の一例を示すフローチャート
【図7】有効空き領域リストのエントリの有効フラグの決定方法を説明するための図
【図8】有効空き領域リストを用いたFATファイルシステムのデータ書き込み処理の一例を示すフローチャート
【図9】ファイルデータ書き込み処理前後の状態の一例を示した図
【図10】本発明の実施の形態2に於ける半導体記録媒体及びデータ処理装置の構成例を示したブロック図
【図11】ブロック判定部の一例を示す概念図
【図12】データ並べ替え処理の一例を示すフローチャート
【図13】空きクラスタZへのデータ移動処理の一例を示すフローチャート
【図14】空きクラスタZへのデータ移動処理の前後における状態の変化の一例(リンク先のクラスタが空きクラスタZの後方にある場合)を示した図
【図15】空きクラスタZへのデータ移動処理の前後における状態の変化の一例(リンク先のクラスタが空きクラスタZの前方にある場合)を示した図
【図16A】データ並べ替え処理の変形例を示すフローチャート
【図16B】データ並べ替え処理の変形例におけるFAT書き込み処理を示すフローチャート
【符号の説明】
【0020】
100 半導体記録媒体
110 ホストインタフェース部
120 制御部
130 データ格納部
131 管理情報領域
132 データ領域
200、200b データ処理装置
210 装着部
220 入出力処理部
230 ファイルシステム制御部
240 有効空き領域管理部
241 有効空き領域リスト
242 選択フラグ
250 データ処理部
301 ディレクトリエントリ
302 FATテーブル
260 ブロック判定部
【発明を実施するための最良の形態】
【0021】
以下、添付の図面を参照して本発明の実施の形態について説明する。
【0022】
(実施の形態1)
図1は、本発明の実施の形態1に於ける半導体記録媒体及びデータ処理装置の構成例を示すブロック図である。
【0023】
半導体記録媒体100は、ホストインタフェース部110、制御部120及びデータ格納部130から構成される。
【0024】
ホストインタフェース部110は、半導体記録媒体100のホスト機器であるデータ処理装置200との間で情報の受け渡しをする。
【0025】
制御部120は半導体記録媒体100の内部制御を行う。制御部120は、ホストインタフェース部110で受信したコマンドの処理を行い、必要に応じて処理結果をホストインタフェース部110経由でデータ処理装置200に通知する。また、データ格納部130に格納されるデータの管理を行う。
【0026】
データ格納部130は、データ処理装置200からの任意のデータの読み書きが可能な、データを記録する領域を有し、フラッシュメモリなどの不揮発性メモリで構成される。データ格納部130の記録領域は、制御部120により、ブロックと呼ばれる単位で管理される。本実施の形態においては、1ブロックのサイズが256kB(キロバイト)であり、データ格納部130の記録領域はブロック#0、・・・、ブロック#(N−1)のN個のブロックで構成されている。データ格納部130にはFATファイルシステムが構築されている。
【0027】
データ処理装置200は、装着部210、入出力処理部220、ファイルシステム制御部230、有効空き領域管理部240及びデータ処理部250から構成される。
【0028】
装着部210は、半導体記録媒体100を装着するハードウェアである。
【0029】
入出力処理部220は、装着部210に装着された半導体記録媒体100に対してコマンドやデータなどの情報の受け渡しを行う。
【0030】
ファイルシステム制御部230は、データ格納部130上に構築されたFATファイルシステムを解釈し、制御する。ファイルシステム制御部230はデータ処理部250に対して、データをファイルとしてアクセスする手段を提供する。また、入出力処理部220経由でデータ格納部130のデータにアクセスする。また、ファイルシステム制御部230は内部にRAM(図示せず)を有し、半導体記録媒体100に格納されるFAT情報をそのRAMに格納する。
【0031】
有効空き領域管理部240は、ファイルシステム制御部230によって管理されるデータ格納部130の空き領域が有効か否かをブロック単位で管理する。ここで、「有効」とは、その領域(ブロック)において一定速度以上でのデータ書き込み処理が可能であることを意味する。一定速度とは例えば動画コンテンツのリアルタイム録画に必要とされる最低書き込み速度である。また、有効空き領域管理部240で管理されるブロックは、論理アドレス空間上の領域であり、半導体記録媒体100のデータ格納部130内の物理アドレス空間でのブロックと対応して設定される。有効空き領域管理部240は、有効な空き領域のリストである有効空き領域リスト241を生成し、管理する。図2に有効空き領域リスト241の構成例を示す。図2は、ブロック番号が0、Q−1のブロックが有効な空き領域すなわち有効ブロックであることを示している。また、有効空き領域管理部240は選択フラグ242を有する。選択フラグ242は、データ書き込み処理において、有効空き領域リスト241に含まれる複数のエントリのうちの1つが選択中であるか否かを示すフラグである。
【0032】
データ処理部250はデータ処理装置200の中心的な処理を担い、半導体記録媒体100に格納されたデータまたはこれから格納するデータを処理する。例えば、データ処理部250は半導体記録媒体100に対するデータの書き込み、読み出しに関する制御を行う。
【0033】
次に、データ格納部130に構築されるFATファイルシステムについて説明する。
【0034】
図3はデータ格納部130に構築されたFATファイルシステムのデータ構造例を示した図である。データ格納部130を構成するN個(Nは2以上の自然数)のブロックのうち、P個(P≦N)のブロックが、本ファイルシステムの全体を管理するための情報を格納する管理情報領域131として利用され、残りのQ個(Q=N−P)のブロックはファイルの実体データなどを格納するデータ領域132として利用される。
【0035】
管理情報領域131は、データ格納部130を複数のパーティションと呼ばれる領域に分割して管理するための情報を格納するマスターブートレコード・パーティションテーブル、1つのパーティション内の管理情報を格納するパーティションブートセクタ、ファイルに含まれるデータの物理的な格納位置を示すFATテーブル1及びFATテーブル2、ルートディレクトリ直下に存在するファイルやディレクトリの情報を格納するルートディレクトリエントリから構成される。ここで、FATテーブルが2つ存在しているのは、FATテーブルは重要な情報を格納しているために、二重化されているためである。
【0036】
データ領域132は、複数の、クラスタと呼ばれる論理的なデータ単位に分割され管理されており、各クラスタにはファイルに含まれるデータが格納されている。サイズの大きいデータを格納するファイルなどは複数のクラスタを使用しており、各クラスタ間のつながりは、FATテーブル1及びFATテーブル2に格納されたリンク情報により管理されている。なお、本実施の形態においてはクラスタのサイズを16kBとする。従って、1ブロックは16個のクラスタを含む。データ領域132には、クラスタ#0、・・・、クラスタ#(M−1)のM個のクラスタが存在しているとする。
【0037】
図4を用いてFATファイルシステムにおけるファイルデータのより具体的な格納例を説明する。
【0038】
ルートディレクトリエントリやデータ領域132の一部には、図4(a)に示すような、ファイル名やファイルサイズなどを格納するディレクトリエントリ301が格納される。ファイルデータの格納先であるデータ領域132はクラスタ単位で管理されており、各クラスタには一意に識別可能なクラスタ番号が付与されている。ファイルのデータが格納されているクラスタを特定するために、ディレクトリエントリ301には、ファイルデータの先頭部分が格納されているクラスタのクラスタ番号(開始クラスタ番号)が格納されている。図4(a)のディレクトリエントリ301の例は、”FILE001.TXT”という名前を持つファイルのデータが、クラスタ番号31のクラスタから格納されていることを示している。
【0039】
複数のクラスタにデータが格納されているファイルの場合、リンク情報がFATテーブルに格納される。図4(b)にFATテーブル302の例を示す。FATテーブル302には、各クラスタのリンク情報を示すFATエントリが格納される。FATエントリは、次にリンクされるクラスタのクラスタ番号を格納する。図4(b)の例では、クラスタ番号31に対応するFATエントリとして「32」が格納されている。これは、クラスタ番号31のクラスタは、クラスタ番号32のクラスタにリンクしていることを示す。同様にクラスタ番号32に対応するFATエントリには「34」、クラスタ番号34に対応するFATエントリには「35」が格納されており、クラスタ番号31、32、34、35の順でリンクされていることになる。次にクラスタ番号35に対応するFATエントリには「FFF」が格納されているが、「FFF」はリンクの終端を意味していることから、クラスタ番号31で始まるリンクは、クラスタ番号31、32、34、35の4クラスタで終ることになる。従って、”FILE001.TXT”というファイル名のデータは、データ領域132において、図4(c)に示すようにクラスタ#31、#32、#34、#35に順に格納されていることになる。なお、クラスタ番号33に対応するFATエントリに格納されている「0」は、そのクラスタがファイルに割り当てられておらず、空き領域、すなわち、未使用であることを意味している。
【0040】
次に、FATファイルシステムにおけるファイルデータの書き込み処理の一例について説明する。
【0041】
図5は、FATファイルシステムにおけるファイルデータ書き込み処理の手順を示すフローチャートである。ファイルデータ書き込み処理では、先ず始めに、書き込みを行う対象ファイルのディレクトリエントリ301を、ファイルシステム制御部230のRAM上に読み出し、そのディレクトリエントリ301に格納された開始クラスタ番号を取得することで、対象ファイルのデータの先頭位置を確認する(S401)。さらに、FATテーブル1及びFATテーブル2をファイルシステム制御部230のRAM上に読み出し、ステップS401で取得した対象ファイルのデータ先頭位置から順に、RAM上に読み出したFATテーブル1またはFATテーブル2を参照してリンクを辿り、書き込み位置に対応するクラスタ番号を取得する(S402)。
【0042】
そして、データ書き込みに際し、その対象ファイルに対して新たに空き領域を割り当てる必要があるか否かを判定する(S403)。空き領域の割り当てが不要な場合は、ステップS405の処理に進む。空き領域の割り当てが必要な場合、FATテーブル1またはFATテーブル2上で空き領域(空きクラスタ)を検索し、1クラスタ分の空き領域を対象ファイルの終端に割り当てる(S404)。
【0043】
その後、現在参照しているクラスタに、書き込めるだけのデータを書き込む(S405)。このとき、ファイルシステム制御部230のRAM上に読み出されたFATテーブル1、2についても、データ書き込み処理にともない更新する。
【0044】
次に、全データの書き込みが完了したかを判定する(S406)。まだデータが残っている場合、ステップS403の処理に戻り、次にクラスタに対してS403〜S406を繰り返し、データ領域132へのデータ書き込みを行う。対象ファイルの全データの書き込みが完了した場合、ファイルシステム制御部230のRAM上に読み出されたディレクトリエントリ301内に格納されたファイルサイズやタイムスタンプなどを更新した後、更新されたディレクトリエントリを半導体記録媒体100に書き込む(S407)。
【0045】
最後に、ファイルシステム制御部230のRAM上で更新されたFATテーブル1及びFATテーブル2を、半導体記録媒体100に書き戻し、処理を完了する(S408)。
【0046】
サイズの異なるファイルの書き込みや消去を繰返し行うことにより、前記FATエントリのリンク情報は複雑になっていく。すなわち、個々のファイルデータは、データ領域132において離散的な状態で格納された状態になる。同様に未使用の領域である空き領域も離散的な位置に格納された状態となる。これを「データの断片化」と呼ぶ。このデータの断片化が生じた記録領域へデータを記録した場合、その領域へのアクセスに時間がかかる。そこで、本実施形態では、データ記録時において、そのようなデータの断片化が生じている領域へはデータを記録しないようにしている。そのようなデータ記録方法の詳細について、以下に説明する。
【0047】
データ記録方法の説明に先立って、まず、有効空き領域リスト241の生成手順について説明する。
【0048】
図6は、データ処理装置200の有効空き領域管理部240が有効空き領域リスト241を生成する手順のシーケンス例である。
【0049】
有効空き領域リストの生成処理では、第1に、有効空き領域管理部240がブロック中にいくつ以上の空きクラスタが存在する場合に書き込みを許可するかという閾値Tを設定する(S501)。本実施の形態においては、閾値Tは予め決められた値(固定値)を用いる。閾値Tは、1ブロック中に含まれるクラスタ数の1/2以上の値に設定するのが好ましい。同時に、閾値Tの設定以外の初期化処理を行う(S501)。例えば、有効空き領域リスト241の全エントリの有効フラグを“0”(無効)に設定する。
【0050】
次に、データ領域132の先頭からのブロック番号i(iは変数)を0として(S502)、以下の処理を行う。
【0051】
有効空き領域管理部240は、ファイルシステム制御部230からFATテーブル1、2の情報を受取り、i番目のブロックに存在する空きクラスタ数Xをカウントする(S503)。そして、空きクラスタ数Xが閾値T以上であるか否かを判断する(S504)。
【0052】
空きクラスタ数Xが閾値T以上である場合(Yesの場合)、図2に示す有効空き領域リスト241のi番目のエントリの有効フラグを“1”(有効)に設定する(S505)。
【0053】
空きクラスタ数Xが閾値T以上でない場合(Noの場合)、有効空き領域リスト241のi番目のエントリの有効フラグを“0”(無効)に設定する(S506)。
【0054】
その後、ブロック番号iに1を加算し(S507)、ブロック番号iがデータ領域132の総ブロック数Q以上であるか否かを判断する(S508)。iがQ未満であるならば、ステップS503の処理に戻り、S503〜507を繰り返す。一方、ステップS508において、ブロック番号iがQ以上であるならば処理を完了する。
【0055】
図7は、閾値Tが「8」の場合の、有効空き領域リスト241のエントリの有効フラグの設定の仕方を説明した図である。図中、使用中クラスタには、ハッチングが施されている。図7(a)の例では、ブロックは11個の空きクラスタを有し、閾値Tが8以上であるため、エントリの有効フラグとして“1”(有効)が設定される。図7(b)の例では、ブロックは3個の空きクラスタを有し、空きクラスタ数は8未満であるため、エントリの有効フラグとして“0”(無効)が設定される。
【0056】
本実施の形態におけるファイルデータ書き込み処理の手順を説明する。図8は、本実施の形態におけるファイルデータ書き込み処理の手順を示した図である。
【0057】
ファイルデータ書き込み処理では、第1に、選択フラグ242をOFFに設定する(S801)。続いて、書き込み対象ファイルのディレクトリエントリ301をファイルシステム制御部230のRAM上に読み出し、前記ディレクトリエントリ301に格納されたファイル開始クラスタ番号を取得し、ファイルデータの先頭位置を確認する(S802)。
【0058】
次に、FATテーブル1、FATテーブル2を、ファイルシステム制御部230のRAM上に読み出し、ステップS802で取得したファイルデータの先頭位置から、順に、RAM上に読み出したFATテーブル1またはFATテーブル2を参照してリンクを辿り、書き込み位置のクラスタ番号を取得する(S803)。
【0059】
次に、データ書き込みに際し、その対象ファイルに新たに空き領域を割り当てる必要があるか否かを判定する(S804)。空き領域の割り当てが不要な場合(Noの場合)は、ステップS810の処理に進む。
【0060】
空き領域の割り当てが必要な場合(ステップS804でYesの場合)、選択フラグ242がONか否かを判定し(S805)、選択フラグ242がOFFの場合にのみ、有効空き領域リスト241を参照し、有効フラグが“1”(有効)であるブロックを1つ選択し、それとともに選択フラグ242をONにする(S806)。つまり、選択フラグ241がONのときは、書き込み領域として、既に有効フラグが”1”(有効)であるブロックが選択されているが、選択フラグ241がOFFのときは、未だ、有効フラグが”1”(有効)であるブロックが選択されていないため、有効空き領域リスト241を参照して有効フラグが”1”(有効)であるブロックを新たに選択する必要がある。なお、有効空き領域リスト241において有効フラグが”1”(有効)であるブロックが全く存在しないときは、有効フラグが”0”(無効)であるブロック中から1つのブロックを選択する。このように、有効フラグが”1”(有効)であるブロックから優先的に選択する。
【0061】
RAM上のFATテーブル1またはFATテーブル2を参照し、選択したブロックにおける空きクラスタを検索する(S807)。そして、空きクラスタが存在するか否かを判断する(S808)。
【0062】
空きクラスタが存在しない場合(S808でNoの場合)、空き領域リスト241において現在選択中のブロックの有効フラグを無効化する(S809)。すなわち、該当するエントリの有効フラグを“0”(無効)に更新する。さらに、選択フラグ242をOFFに設定して(S809)、ステップS806の処理に戻る。
【0063】
空きクラスタが存在する場合(S808でYesの場合)、現在参照している空きクラスタ内に書き込めるだけのデータを書き込む(S810)。
【0064】
次に、全データの書き込みが完了したか判定する(S811)。まだ、書き込むべきデータが残っている場合、ステップS804の処理に戻り、全データの書き込みが完了するまで、上記ステップS804〜S810を繰り返す。
【0065】
全データの書き込みが完了した場合、ファイルシステム制御部230のRAM上のディレクトリエントリ301内に格納されたファイルサイズやタイムスタンプなどを更新し、その後、更新したディレクトリエントリを半導体記録媒体100に書き込む(S812)。そして、ファイルシステム制御部230のRAM上のFATテーブル1、FATテーブル2を半導体記録媒体100に書き戻す(S813)。
【0066】
最後に、現在選択中のブロックの空きクラスタ数を確認し、閾値T未満であるならば有効空き領域リスト241の該当するエントリの有効フラグを“0”(無効)に更新し、処理を完了する(S814)。
【0067】
図9を参照し、上記のファイルデータ書き込み処理による、空きクラスタの選択を具体的に説明する。ファイルデータの書き込みを行う前のデータ領域132の状態が図9(a)に示す状態であるとする。閾値Tは8であり、有効空き領域リスト241において、ブロック#0及びブロック#3は「有効」、ブロック#1及びブロック#2は「無効」となっている。
【0068】
図9(b)は、16クラスタ分のデータを、上記のファイルデータ書き込み処理により書き込んだ場合の例を示している。ブロック#0からデータ書き込みが開始され、ブロック#0の空きクラスタ全てにデータを記録すると、引き続いてブロック#3にデータが記録される。これは、ブロック#1及びブロック#2は有効フラグが「無効」に設定されているため、それらのブロックへの書き込みは行われないからである。この場合、ブロック間で遷移するのは、ブロック#0からブロック#3への1回のみとなる。
【0069】
一方、16クラスタ分のデータを従来のファイルデータ書き込み処理にて書き込んだ場合の例を図9(c)に示す。従来方法では、FATテーブル1、FATテーブル2の先頭から空きを検索していくので、ブロック#1及びブロック#2への書き込みも発生する。その結果、ブロック間の遷移は、ブロック#0からブロック#1、ブロック#1からブロック#2、ブロック#2からブロック#3、と3回発生することになる。この場合、図9(b)の場合に比して、ブロック間で遷移する回数が増えるため、データ記録時の処理速度がより遅くなる。
【0070】
以上のように、本実施形態では、データ処理装置200が半導体記録媒体100にデータを書き込む前に半導体記録媒体100のブロック中の空きクラスタの数を確認し、空きクラスタ数がある一定値以上のブロックにのみ書き込み処理を行うため、書き込み速度の極端な低下の原因であるブロック間遷移の発生回数を低減させることが可能となる。
【0071】
従って、空き領域が断片化された半導体記録媒体100に対しても動画コンテンツのリアルタイム録画に必要となる最低書き込み速度を保証することが可能となる。
【0072】
なお、以下のような変形例が考えられる。
(1)本実施の形態においては、図6に示すステップS501の処理において、閾値Tが予め固定値として決定されているものとして説明したが、半導体記録媒体100に閾値Tに関する情報を格納しておき、データ処理装置200がその情報を参照して閾値Tを設定するようにしてもよい。また、ユーザから指定された情報により決定してもよい。
【0073】
(2)本実施の形態においては、FATファイルシステムを例として記述したが、これに限定されるものではない。アクセス単位よりも小さな単位でファイルデータを管理している場合、本発明の思想は適用できる。
【0074】
また、ブロック単位やクラスタ単位等は全て一例であり、他のサイズであってもよい。
【0075】
(3)本実施の形態においては、ファイルデータ書き込み処理の手順の説明において、エラー処理を省略しているが、エラー処理を追加してもよい。例えば、図8に示すステップS806の処理において、有効空き領域リスト241に有効フラグ“1”(有効)であるブロックが存在しない場合、エラー処理として書き込み処理を中断してもよい。
【0076】
(4)本実施の形態においては、ファイルデータ書き込み処理の前に、予め有効空き領域リスト241を作成しておく例を記述したが、有効空き領域リスト241及び選択フラグ242は必ずしも必要ではない。FATテーブルを参照して使用する空き領域を検索する際に、割り当てようとしている空きクラスタの属するブロックの空きクラスタ数が閾値T以上であるか否かを判断し、閾値T以上である場合にのみ、そのブロックの空きクラスタを使用するという仕様であってもよい。
【0077】
また、本実施の形態においては、データ領域132の全ブロックに対する有効空き領域リスト241を作成したが、有効空き領域リスト241の生成に時間がかかる場合や、十分なメモリが確保できない場合には、前記有効空き領域リスト241を一部のブロックに対して作成し、必要に応じて再生成するという仕様であってもよい。
【0078】
また、本実施の形態には選択フラグ242が有効空き領域管理部240にあるとしたが、ファイルシステム制御部230の内部にあってもよい。
【0079】
(5)本実施の形態におけるデータ記録方法は、記録媒体内で管理するブロックがファイルシステムにおけるファイルデータの単位であるクラスタよりも大きく、かつブロックまたぎによってアクセス速度が低下する場合に有効である。このような条件を満たす記録媒体であれば、半導体記録媒体100に限定されるものではなく、他の情報記録媒体であっても本発明の思想は適用できる。
【0080】
(実施の形態2)
図10に、本発明の実施の形態2に於ける半導体記録媒体及びデータ処理装置の構成例を示す。本実施形態では、半導体記録媒体の記録領域の断片化を解消するために半導体記録媒体の格納データの並べ替えを行う。
【0081】
本実施形態のデータ処理装置200bは、基本的に実施の形態1のものと同様の構成を有するが、有効空き領域管理部240の代わりに、半導体記録媒体の格納データの並べ替えのための構成としてブロック判定部260を備えている点が実施の形態1のものと異なる。
【0082】
ブロック判定部260は、半導体記録媒体100のデータ格納部130内の各ブロックの“型”を判別する。図11に、ブロック判定部260の内部構成例を示す。本実施形態では、ブロックの型はブロック中に存在する空きクラスタ数によって決定され、A型、B型、C型の3つが定義される。本実施の形態では、実施の形態1と同様に1ブロックのサイズが256kBであり、1ブロックは16kBのクラスタが16個で構成されている。1ブロックにおいて8個以上の空きクラスタが存在する場合、すなわち、1ブロックにおいて半数以上が空きクラスタである場合を「A型」とする。1ブロックにおいて、1個から7個の空きクラスタが存在する場合を「B型」、全て使用中で空きクラスタが存在しない場合を「C型」とする。
【0083】
ブロック中に存在する空きクラスタ数が少ないB型のブロックが多く存在している状態では、動画などの大容量のデータを連続的に記録する際に、頻繁にブロックをまたいだ書き込みが発生するため、書き込み処理の速度が極端に低下する可能性がある。
【0084】
そこで、本実施形態では、B型のブロックを検索し、そのブロックに対して他のブロックからデータを移動させることにより、すなわち、データを並べ替えることにより、B型のブロックをできるだけC型になるようにする。つまり、空き領域の少ないB型のブロックに、よりデータを集中させることができるため、他のブロックの空き領域が拡大し、断片化を解消できる。
【0085】
以下、本実施の形態に於けるデータ並べ替え方法の詳細を説明する。図12は、データ処理装置200bのデータ処理部250がファイルシステム制御部230に対して半導体記録媒体100のデータ並べ替えを指示したときのフローチャートである。本実施の形態に於けるデータ並べ替え方法は、前述のように、B型のブロック、すなわち16個中1個から7個の空きクラスタを有するブロックをできるだけ減らすことを目的としている。
【0086】
ファイルシステム制御部230は、第1に、FATテーブル1及びFATテーブル2をRAM上に読み出す(S1201)。次に、データ領域132の先頭からのブロック番号を示す変数iに0を設定し(S1202)、以下の処理を実行する。
【0087】
ブロック判定部260はファイルシステム制御部230からの情報をもとに、i番目のブロックに存在する空きクラスタ数をカウントし、i番目のブロックの型を判断する(S1203)。
【0088】
ステップS1203の判断の結果、B型でない場合は、ステップS1207ニスシム、ブロック番号iをインクリメントする。B型である場合は、i番目のブロック中の最初の空きクラスタである空きクラスタに他のブロックからデータを移動させる処理を行う(S1204)。この処理の詳細については後述する。なお、以下の説明において、他のブロックからのデータの移動先となる空きクラスタを「空きクラスタZ」という。
【0089】
次に、上記の移動処理の完了/未完了を判断する(S1205)。未完了の場合、すなわち、移動させるデータが既に存在しない場合には、ファイルシステム制御部230のRAM上にあるFATテーブル1、FATテーブル2のデータに基づき、半導体記録媒体100のFATテーブル1、FATテーブル2の更新を行い(S1209)、処理を完了する。
【0090】
ステップS1204の移動処理が完了した場合、i番目のブロック内の残りの空きクラスタを検索する(S1206)。i番目のブロック内に空きクラスタが残っている場合、その空きクラスタを、データ移動先である空きクラスタZとして、ステップS1204の処理に戻る。残っていない場合は、ブロック番号iをインクリメントした後(S1207)、iがデータ領域132の総ブロック数Q以下であるか否かを判断する(S1208)。
【0091】
iがQ以下である場合、ステップS1203の処理に戻り、ステップS1203〜S1207の処理を継続する。iがQより大きい場合、ファイルシステム制御部230のRAM上にあるFATテーブル1、FATテーブル2のデータに基づき、半導体記録媒体100のFATテーブル1、FATテーブル2の更新を行い(S1209)、処理を完了する。
【0092】
以上のように、本実施の形態における並べ替え処理はデータ領域132の先頭ブロックから順に空きクラスタを検出し、その空きクラスタに他のブロックからデータを移動させることでデータの並べ替えを行い、これ以上データの移動が不可能となるか最後のブロックの処理を行った時点で、並べ替えの処理を完了する。
【0093】
次に、上記のステップS1204における、データの移動処理について図13を用いて詳細に説明する。図13は、i番目のブロックにおける空きクラスタZに他のブロックからデータを移動させる処理のフローチャートである。
【0094】
本移動処理において、空きクラスタZにデータを移動させる際にデータ移動元となるクラスタの検索はFATテーブル1またはFATテーブル2を用いて行う。本移動処理は、半導体記録媒体100上のFATテーブル1またはFATテーブル2に格納されるリンク情報の付け替え処理、及びデータ領域132へのデータコピー処理によって実現する。データ移動処理において、リンクの先頭となるデータは移動させないため、ディレクトリエントリの検索や書き換えなどが発生せず、高速な処理が可能である。
【0095】
図13を参照し、本移動処理では、第1に、データ領域132の先頭からのクラスタ番号を指定する変数kを0に設定する(S1301)。つまり、データ領域132の各クラスタについて、データ領域先頭から順次以下の処理を実行する。次に、FATテーブル1またはFATテーブル2を参照して、k番目のクラスタが使用中であるか否かを判断する(S1302)。
【0096】
k番目のクラスタが使用中でなければkをインクリメントする(S1311)。インクリメント後のk番目のクラスタがデータ領域132の範囲内にあるか否かを判定する(S1312)。範囲内であれば、ステップS1302の処理に戻る。範囲外であれば、そのブロック中においてデータを移動できるクラスタはもはや存在しないため、「移動NG(未完了)」とし(S1313)、処理を終了する。
【0097】
ステップS1302において、k番目のクラスタが使用中である場合、FATエントリからk番目のクラスタのリンク先を検索する(S1303)。リンク先のクラスタが属するブロック(ブロックR)がi番目のブロックであるか否かを判断する(S1304)。
【0098】
リンク先のクラスタが属するブロックがi番目のブロックである場合、同じブロック内での移動となり、無意味であるので、そのクラスタに対しては何も処理を行わずに、ステップS1311に進む。ステップS1311以降の処理は前述のとおりである。
【0099】
リンク先のクラスタが属するブロックRがi番目のブロックでない場合(S1304でNO)、ブロックRがC型か否かを判断する(S1305)。ブロックRがC型である場合、そのブロックRからデータを移動させることは断片化を生じさせるため、適切ではない。よって、リンク先のクラスタが属するブロックRがC型の場合は、ステップS1311に進み、次のクラスタについて検討を行う。
【0100】
一方、ブロックRがC型でない場合、データ移動前に、データ移動先となる空きクラスタZが「仮空きクラスタ」であるか否かを判断する(S1306)。仮空きクラスタの詳細は後述する。
【0101】
空きクラスタZが仮空きクラスタの場合(S1306でYES)、クラスタZのデータを上書きすることになるので、その前にシステム制御部230のRAM上のFATテーブル1、FATテーブル2を半導体記録媒体100に書き戻す(S1307)。すなわち、データ書き込み前に半導体記録媒体100上のFATテーブル1、FATテーブル2を更新しておく。
【0102】
次に、クラスタ番号kのリンク先のデータを空きクラスタZにコピーする(S1308)。すなわちデータ領域132への書き込みを行う。
【0103】
その後、ファイルシステム制御部230のRAMにおいて、クラスタ番号k、クラスタ番号kのリンク先、及び空きクラスタZの間のリンク情報を書き換え(S1309)、「移動OK(完了)」として(S1310)、処理を終了する。
【0104】
次に、仮空きクラスタについて説明する。仮空きクラスタとは、クラスタ間のデータ移動後に、データ処理装置200bのFATテーブル上では空き(未使用)であると認識されているが、半導体記録媒体100のFATテーブル上では空きであると認識されていないクラスタのことである。例えば、クラスタXからクラスタYへデータを移動したときに、クラスタXは、データ処理装置200bのFATテーブル上では空き(未使用)であると認識されるが、半導体記録媒体100のFATテーブル上では空きであると認識されない場合がある。これは、データ処理装置200bのFATテーブルと半導体記録媒体100のFATテーブルの更新タイミングが異なるからである。
【0105】
データ処理装置200bは処理効率の観点から、半導体記録媒体100のFATテーブルをデータ処理装置200b内部に取り込み、通常はその内部のFAT情報のみを更新し、あるタイミングでのみ半導体記録媒体100にFATテーブルを書き戻す。これは、半導体記録媒体100のFATテーブルの更新処理には時間がかかることから、データ更新時の処理時間を低減するためである。また、クラスタXからクラスタYへデータを移動させる場合、移動元のクラスタXのデータを移動先のクラスタYにコピーするとともに、データ処理装置200b内部のFATテーブルのリンク情報を書き換える。このとき、クラスタXについては、そのリンク情報が書き換えられるのみで、データは消去されない。よって、移動処理後、半導体記録媒体100のFATテーブルが更新されるまでの間、データ処理装置200b内部のFATテーブル上では、クラスタXは空きクラスタであると認識されるが、半導体記録媒体100のFATテーブル上では、クラスタXの移動前の状態が保持される。このようなクラスタXが仮空きクラスタである。この場合、仮空きクラスタであるクラスタXは以前のデータを格納しているため、半導体記録媒体100内部においては、そのFATテーブルとデータの対応関係はとれている。しかし、仮空きクラスタへデータを書き込む途中または書き込み終了直後に、不測の事態により半導体記録媒体100への電源供給が遮断されると、仮空きクラスタのデータは上書きされるが、半導体記録媒体100内部のFATテーブルは更新されないという状況になり、半導体記録媒体100内部のFATテーブルとデータの対応関係において不整合が生じる、という問題がある。そこで、本実施形態では、仮空きクラスタへのデータ書き込み前に、半導体記録媒体100上のFATテーブル1、FATテーブル2を更新するようにしている(S1306、S1307)。これにより、仮空きクラスタへのデータ書き込み途中または終了直後に、不測の事態により半導体記録媒体100への電源供給が遮断された場合であっても、半導体記録媒体100内部のFATテーブルとデータの整合性が保持できる。
【0106】
図14は、移動前にブロック#2に空きクラスタZが存在し、上記の並べ替え処理により、ブロック#4の「クラスタZ2」のデータが「空きクラスタZ」に移動したときの状態の変化を説明する。但し、リンク情報をデータ処理装置200bのファイルシステム制御部230のRAM上で書き換えただけであり、半導体記録媒体100のFAT情報は更新されていないとする。このとき、半導体記録媒体100は、ブロック#4にある移動元のクラスタZ2に未だデータが記録されていると認識する。移動後のクラスタZ2が「仮空きクラスタ」となる。図12で説明したデータの並び替え処理を進めていくと、仮空きクラスタに別のデータが上書きされる可能性がある。上書き中に電源断などが発生すると、データを復旧できなくなるため、ステップS1307の処理を行い、FATテーブル1、FATテーブル2を半導体記録媒体100に書き戻して、半導体記録媒体100に、クラスタZ2が空き領域であることを認識させる必要がある。
【0107】
図15は、移動前にブロック#2に空きクラスタZが存在し、上記の並べ替え処理により、ブロック#0のクラスタZ2のデータが、空きクラスタZに移動したときの状態の変化を説明する。移動後にクラスタZ2が仮空きクラスタとなっている。
【0108】
以上のように、本実施形態では、半導体記録媒体100の各ブロック中に一定の個数以上の空きクラスタが存在するようにデータを並び替えることによって、書き込み処理の速度が極端に低下するブロックの数を低減することを可能とする。
【0109】
さらに、本実施形態の並べ替え方法は、FATテーブル1、FATテーブル2に格納されているリンク情報の付け替え及びデータ領域132へのデータコピーのみによって実現する。ディレクトリエントリ301の検索や書き換えなどを必要としないので高速な処理が可能である。
【0110】
なお、以下のような変形例が考えられる。
(1)本実施の形態においては、ブロック判定部260が、ブロックの型の定義についての情報を予め持っているものとして説明したが、半導体記録媒体100にブロックの型の定義に関する情報が格納されている場合、データ処理装置200bが前記情報を参照してブロックの型の定義を決定してもよい。また、ユーザから指定された情報により決定してもよい。
【0111】
また、本実施の形態におけるブロックの型の定義は一例である。ブロックの型の定義は空きクラスタ数ではなくて、空きクラスタ数の割合や空きクラスタ数の占めるサイズで決定されていてもよい。
【0112】
(2)本実施の形態においては、FATファイルシステムを例として記述したが、これに限定されるものではない。ブロックよりも小さな単位でファイルデータを管理している場合に、本発明の思想は適用できる。
【0113】
また、ブロック単位やクラスタ単位等は全て一例であり、他のサイズであってもよい。
【0114】
(3)本実施の形態においては、データの並べ替え処理の説明において、エラー処理を省略しているが、エラー処理を追加してもよい。例えば、FATテーブル1、FATテーブル2が壊れている場合、エラー処理として並べ替え処理を中断してもよい。
【0115】
(4)本実施の形態においては、並べ替え処理の最中に電源断が発生し、半導体記録媒体100のデータ領域132に格納されている情報と管理情報領域131に格納されている情報に不整合が生じることを避けるために、データの上書きを行う直前にFATテーブル1、FATテーブル2を書き込む処理(S1306、S1307)が存在していた。しかし、電源断が発生しないことが予め保証されている場合や、前記不整合が発生しても構わない場合などにはこれらの処理を省略することが可能である。
【0116】
(5)本実施の形態においては、S1301においてクラスタ番号kを0とし、データ領域132の最初のクラスタから順に移動元のデータの検索を開始していたが、常に最初から検索しなくてもよい。例えば、前回検索したクラスタ番号を覚えておいて、次はその続きから検索する仕様であってもよい。
【0117】
(6)本実施の形態におけるデータ並べ替え方法は、記録媒体内で管理するブロックが、ファイルシステムにおけるファイルデータの管理単位であるクラスタよりも大きく、かつブロックまたぎによってアクセス速度が低下する恐れのある場合に有効である。このような条件を満たす記録媒体であれば、半導体記録媒体に限定されない。
【0118】
(7)本実施の形態においては、FATテーブル1及びFATテーブル2の書き込み順序などについて特に言及しなかったが、下記の変形例によりFATテーブル1もしくはFATテーブル2の書き込み処理中に電源断などが発生してもデータを復旧させることが可能となる。
【0119】
図16A、図16Bは、データ並べ替え処理の変形例のフローチャートである。本変形例においては、データ処理装置200bが有効FATフラグを有しているものとする。有効FATフラグは、FATテーブル1及びFATテーブル2のうち、いずれのFATテーブルが有効であるかを示すフラグである。このフラグを参照し、有効な方のFATテーブルを決定し、その情報を参照することで、正しいリンク情報を得ることができる。
【0120】
最初に、有効FATフラグを“1”に設定する(S1601)。その後、図12、図13で示した並べ替え処理を実行する(S1602)。但し、ステップS1209及びS1307におけるFATテーブルの書き込み処理については、図16Bに示す処理を実行する。
【0121】
図16Bに示す処理を説明する。
まず、データ処理装置200b上のFATテーブル2を、半導体記録媒体100に書き戻す(S1611)。次に、有効FATフラグを“2”に設定し(S1612)、半導体記録媒体100上でFATテーブル2をFATテーブル1にコピーする(S1613)。コピー完了後に、有効FATフラグを“1”に戻す(S1614)。
【0122】
この変形例を適用した場合、FATの書き込み処理中に電源断などが発生し、書き込みエラーが生じた場合には、データ処理装置200bは有効FATフラグを参照し、現在有効になっているFATテーブルをもう一方にコピーすることができる。すなわち、有効FATフラグが“1”ならば、FATテーブル1をFATテーブル2にコピーし、有効FATフラグが“2”ならば、FATテーブル2をFATテーブル1にコピーする。
【0123】
この手順によりFATテーブルの書き込み中にエラーが発生した場合でも、データを整合性のある状態に復元することが可能となる。なお、前記有効FATフラグは半導体記録媒体100中に格納していてもよい。
【0124】
(8)本実施形態のデータ並べ替え方法を、実施の形態1のデータ記録方法と組み合わせることも可能である。両実施形態の技術思想を組み合わせることで、データ記録時の断片化による速度低下をより効果的に低減することができる。
【0125】
以上、本発明は、特定の実施形態について説明されてきたが、当業者にとっては他の多くの変形例、修正、他の利用が明らかである。それゆえ、本発明は、ここでの特定の開示に限定されず、添付の請求の範囲によってのみ限定され得る。なお、本出願は日本国特許出願、特願2003−404158号(2003年12月03日提出)に関連し、それらの内容は参照することにより本文中に組み入れられる。
【産業上の利用可能性】
【0126】
本発明は、空きクラスタ数がある一定値以上のブロックに対してのみ書き込みを行うことによって、情報記録媒体へのある書き込み処理の最低速度が極端に低下することを避けることが可能であるため、動画コンテンツの記録時等の高速な書き込み処理が要求される情報記録媒体のデータ処理装置に適用できる。

【特許請求の範囲】
【請求項1】
データを格納する記録領域を有し該格納データがファイルシステムにより管理される情報記録媒体に対してデータを記録する記録方法であって、
前記情報記録媒体はその記録領域がブロック単位で管理され、該ブロックはファイルシステムのデータを格納する単位であるクラスタを所定数含んでおり、
前記記録方法は、
新たな空き領域にデータを記録する必要がある場合、所定の閾値以上の未使用クラスタを含むブロックを検索し、該検索したブロックに対して優先的にデータの書き込み処理を行う、
データ記録方法。
【請求項2】
新たな空き領域にデータを記録する必要がある場合に、前記検索した有効ブロック内の未使用クラスタに対してデータの書き込み処理を行う、
請求項1記載のデータ記録方法。
【請求項3】
前記記録領域の各ブロックに含まれる未使用クラスタの数をカウントし、そのカウント結果に基づき前記有効ブロックを求め、該有効ブロックに関するリスト情報である有効空き領域リストを生成して保持し、
データ記録処理の際に、前記有効空き領域リストを参照して前記有効ブロックを検索する、
請求項2記載のデータ記録方法。
【請求項4】
前記閾値に関する情報は、前記情報記録媒体内に格納されている、請求項1記載のデータ記録方法。
【請求項5】
前記閾値は1ブロック中のクラスタ数の1/2以上の値である、請求項1記載のデータ記録方法。
【請求項6】
情報記録媒体に対するデータの書き込み、読み出しを行うデータ処理装置であって、
前記情報記録媒体はその記録領域がブロック単位で管理され、該ブロックはファイルシステムのデータを格納する単位であるクラスタを所定数含んでおり、
前記データ処理装置は、
前記情報記録媒体への情報の入出力を行う入出力処理部と、
前記情報記録媒体に格納されたデータをファイルとして管理するファイルシステム制御部と、
前記情報記録媒体に対するデータの書き込み、読み出しに関する制御を行うデータ処理部と、
前記情報記録媒体の領域において所定の閾値以上の未使用クラスタを含むブロックに関する情報を保持する有効空き領域管理部とを備え、
前記データ処理部は、新たな空き領域にデータを記録する必要がある場合、前記有効空き領域管理部に保持された情報を参照して、所定の閾値以上の未使用クラスタを含むブロックを検索し、該検索したブロックに対して優先的にデータの書き込みを行うよう、制御を行う、
データ処理装置。
【請求項7】
前記有効空き領域管理部は、前記閾値以上の未使用クラスタを含むブロックである有効ブロックに関するリスト情報である有効空き領域リストを保持する、
請求項6記載のデータ処理装置。
【請求項8】
前記閾値に関する情報は、前記情報記録媒体に格納されている、請求項6記載のデータ処理装置。
【請求項9】
前記閾値は、1ブロック中のクラスタ数の1/2以上の値である、請求項6記載のデータ処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16A】
image rotate

【図16B】
image rotate


【国際公開番号】WO2005/055064
【国際公開日】平成17年6月16日(2005.6.16)
【発行日】平成19年12月6日(2007.12.6)
【国際特許分類】
【出願番号】特願2005−515925(P2005−515925)
【国際出願番号】PCT/JP2004/017767
【国際出願日】平成16年11月30日(2004.11.30)
【出願人】(000005821)松下電器産業株式会社 (73,050)
【Fターム(参考)】