以下、図面を参照しながら本発明の実施の形態を説明する。
(実施の形態1)
図1は、本発明による記録方法の概要を説明するための図である。この記録方法を用いて、情報記録媒体(例えば、光ディスク)上の情報記録領域にデータを記録することができる。
図1に示される例では、説明を簡略化するために、情報記録領域が6つの領域(領域A1から領域A6)に分割されており、領域A1から領域A6のそれぞれは少なくとも1つのセクタから構成されている。図1の左側から右側に向かってセクタ番号は大きくなっており、情報記録媒体ではセクタ単位でデータが管理されていると仮定する。
図1の(a)は、情報記録領域にデータが記録されていない状態を示す。この状態では、領域A1から領域A6のそれぞれが未割付け領域である。未割付け領域のサーチは、所定の位置(例えば、情報記録領域の先頭)から一定の方向(例えば、セクタ番号の小さなセクタからセクタ番号の大きなセクタへの方向)に行われる。その結果、領域A1から領域A6のそれぞれが未割付け領域として発見される。未割付け領域として発見された領域A1から領域A6を特定する未割付け領域特定情報(例えば、領域A1から領域A6の識別子のリスト)はメモリ(図示せず)に保持される。このメモリとしては、情報記録媒体にデータを記録する記録装置(図示せず)に設けられる任意のタイプのメモリが使用され得る。なお、未割付け領域のサーチは、例えば、UDFなどのファイルシステムで使用されるファイル構造のデータを用いて行われる(その詳細は後述する)。
図1の(b)は、未割付け領域A1からA6のそれぞれをデータを記録するための領域として割付け、その割付けられた各領域にセクタ番号の小さなセクタから大きなセクタの順にデータを記録した状態を示す。図1において、データはDi(i=1,2,3,...)で表され、添え字の番号は、データが記録された順番を示している。
図1の(c)は、図1の(b)に示される状態から、データD1、D2が削除された状態を示す。この状態において、「データD7、D8を記録せよ」という記録要求を受けたと仮定する。この場合、メモリに保持された未割付け領域特定情報によって特定された未割付け領域は残っていないため、未割付け領域のサーチが、所定の位置(例えば、情報記録領域の先頭)から一定の方向(例えば、セクタ番号の小さなセクタからセクタ番号の大きなセクタへの方向)に行われる。その結果、領域A1、領域A2のそれぞれが未割付け領域として発見される。未割付け領域として発見された領域A1、領域A2を特定する未割付け領域特定情報(例えば、領域A1、領域A2の識別子のリスト)はメモリに保持される。なお、データはファイルとして管理されるため、データの削除は該当するディレクトリからファイルを削除することによって行われる。データが記録された領域にヌルデータを記録するなどの削除動作が行われるわけではない。
図1の(d)は、未割付け領域A1、A2のそれぞれをデータを記録するための領域として割付け、その割付けられた領域A1、A2にデータD7、D8をそれぞれ記録した状態を示す。
図1の(e)は、図1の(d)に示される状態から、データD7、D3、D5が削除された状態を示す。このようなデータの削除は、例えば、ユーザからの指示に基づいて行われる。
図1の(f)は、この情報記録媒体が他の記録装置にローディングされた場合を示している。この場合、未割付け領域のサーチが、所定の位置(例えば、一番新しいファイルのデータD8が記録された領域A2に続く領域A3の先頭)から一定の方向(例えば、セクタ番号の小さなセクタからセクタ番号の大きなセクタへの方向)に行われる。その結果、領域A3、領域A5のそれぞれが未割付け領域として発見される。未割付け領域として発見された領域A3、領域A5を特定する未割付け領域特定情報(例えば、領域A3、領域A5の識別子のリスト)はメモリ(図示せず)に保持される。このメモリとしては、この情報記録媒体が新たにローディングされた記録装置(図示せず)に設けられる任意のタイプのメモリが使用され得る。
図1の(g)は、未割付け領域A3をデータを記録するための領域として割付け、その割付けられた領域A3にデータD9を記録し、その後、データD4を削除した状態を示す。
図1の(h)は、未割付け領域A5をデータを記録するための領域として割付け、その割付けられた領域A5にデータD10を記録した状態を示す。本発明の記録方法では、データD4が削除された領域A4にはデータD10は記録されない。本発明の記録方法によれば、未割付け領域特定情報がいったんメモリに保持されると、その未割付け領域特定情報によって特定された未割付け領域がなくなるまで、その未割付け領域特定情報中の未割付け領域が使用されるからである。その結果、未割付け領域のサーチを行った後にデータが削除された場合には、データの削除により生じた未割付け領域よりもサーチにより発見された未割付け領域に優先的にデータが記録されることになる。
図1の(i)は、図1の(f)に示されるサーチにより発見された未割付け領域A3、A5が既に使用されてしまったため、未割付け領域が不足している状態を示す。この場合、未割付け領域のサーチが、所定の位置(例えば、情報記録領域の先頭)から一定の方向(例えば、セクタ番号の小さなセクタからセクタ番号の大きなセクタへの方向)に行われる。その結果、領域A1、領域A4のそれぞれが未割付け領域として発見される。未割付け領域として発見された領域A1、領域A4を特定する未割付け領域特定情報(例えば、領域A1、領域A4の識別子のリスト)はメモリに保持される。
図1の(j)は、未割付け領域A1をデータを記録するための領域として割付け、その割付けられた領域A1にデータD11を記録した状態を示す。
図2は、本発明の記録方法と従来の記録方法との違いを説明するための図である。図2の(a)から(c)は本発明の記録方法を説明するための図であり、図2の(d)から(f)は従来の記録方法を説明するための図である。
図2の(a)は、情報記録媒体が記録装置にローディングされた状態を示している。データD8、D4、D6が、それぞれ、領域A1、A2、A3に記録されている。データD8のファイルが一番新しいファイルであるので、このファイルが記録された領域A1に続く領域A2の先頭から未割付け領域のサーチが行われる。その結果、未割付け領域として領域A4、A5、A6が発見される。
図2の(b)は、図2(a)に示される状態から、データD4、D6のファイルが削除された状態を示す。
図2の(c)は、未割付け領域A4、A5、A6のそれぞれをデータを記録するための領域として割付け、その割付けられた領域A4、A5、A6にデータD9、D10、D11をそれぞれ記録した状態を示す。
一方、従来の記録方法では、情報記録媒体が記録装置にローディングされた状態(図2の(d))は、図2の(a)と同じであるが、未割付け領域のサーチがデータの記録の直前に行われるため、データD4、D6のファイルが削除された領域A2、A3が未割付け領域として特定される(図2の(e))。その結果、領域A2、A3、A4にデータD9、D10、D11がそれぞれ記録される(図2の(f))。
本発明の記録方法では、データが削除された領域を避けながらデータが記録されるのに対し、従来の記録方法では、データが削除された領域にもデータが記録される。
本発明の記録方法では、サーチにより発見された未割付け領域がなくなった時点で新たな未割付け領域のサーチが行われる。未割付け領域のサーチを行った後にデータが削除された場合には、データの削除により生じた未割付け領域よりもサーチにより発見された未割付け領域に優先的にデータが記録されることになる。これにより、データが削除された領域を避けながらデータを記録することが可能になる。その結果、同一の領域に対する書換え回数を少なくすることができる。
このように、本発明の記録方法の考え方は従来の記録方法の考え方を応用するものであるが、サーチによりいったん発見された未割付け領域が使い切られるまで新たな未割付け領域のサーチは行わないという点において、従来の記録方法とは異なっており、新しい記録方法である。
なお、データが削除された領域の位置を記憶しておき、情報記録媒体の情報記録領域内の未割付け領域にデータがすべて記録されるまで、データが削除された領域を使用しないという記録方法を採用してもよい。この記録方法によっても、上述した記録方法と同じ効果が得られる。
次に、複数のセクタを含むECCブロック単位にデータを記録する記録方法を説明する。DVDの光ディスクの場合には、16個のセクタに対して、ECC(Error Correction Code)を付与することにより、ECCブロックが構成される。このECCブロックを単位としてデータが記録される。光ディスクの高密度化、大容量化に伴い、ECCブロックとして一度に記録するセクタ数は大きくなる傾向にある。
ここで、ECCブロックを考慮することは、書換え回数の観点から重要である。DVDディスクの場合、1つのECCブロックに対し、セクタ単位とECCブロック単位でデータを記録すると、それぞれ書換え回数が16と1になるからである。
図3は、連続する4つのECCブロック(Ei,Ei+1、Ei+2、Ei+3)にデータを記録する場合の記録方法を説明するための図である。
図3の(a)、(b)は、本発明の記録方法を用いてデータを記録した状態を示し、図3の(c)、(d)は、従来の記録方法を用いてデータを記録した状態を示す。
図3の(a)に示されるように、データD8の最後の部分が、ECCブロックEiとECCブロックEi+1の途中まで記録されている。この場合、本発明の記録方法では、新しいファイルのデータD8が記録された領域の終端位置を含むECCブロックEi+1の終端位置(ECCブロックEi+1の最後のセクタの位置)を示すポインタが生成される。図3の(b)に示されるように、本発明の記録方法では、このポインタによって示される位置に続くセクタから未割付け領域のサーチが行われる。その結果、ECCブロックEi+2の先頭から始まる領域にデータD9が記録される。
図3の(c)に示されるように、データD8の最後の部分が、ECCブロックEiとECCブロックEi+1の途中まで記録されている。この場合、従来の記録方法では、新しいファイルのデータD8が記録された領域の終端位置を示すポインタが生成される。図3の(d)に示されるように、従来の記録方法では、このポインタによって示される位置に続くセクタから未割付け領域のサーチが行われる。その結果、サーチにより発見された未割付け領域に新しいデータD9を記録するために、ECCブロックEi+1に記録されたデータD8が読み出され、読み出されたデータD8の終端のデータとデータD9の先頭のデータとから新たにECCブロックが生成され、その新たに生成されたECCブロックがECCブロックEi+1に記録される。このため、既に記録されたECCブロックEi+1の書き換えが発生する。
このように、本発明の記録方法では、最も最近にデータが記録された領域の終端位置を含むECCブロックに続くセクタから未割付け領域のサーチを開始する(すなわち、未割付け領域のサーチをECCブロックの境界から開始する)ことにより、データが記録された領域の終端位置を含むECCブロックの書換えを防止することができる。また、本発明の記録方法では、ECCブロック単位で未割付け領域をサーチすることにより、データを記録する連続領域の先頭または終端を含むECCブロックの書換えを防止することもできる。これにより、特定の領域に書換えが集中することを防止し、書換えが発生する領域を分散させることが可能になる。
図4は、本発明の記録方法の手順を示すフローチャートである。
まず、データの記録に先立って、未割付け領域のサーチを開始する位置を示すポインタを生成するために新しいファイルが検索される(ステップS1)。なお、本明細書において、「新しいファイル」とは情報記録媒体に最も最近に記録されたファイルをいう。
次に、新しいファイルのデータが記録された領域の終端位置に基づく位置を示すポインタが生成される(ステップS2)。例えば、ECCブロック単位でデータが記録される情報記録媒体の場合には、データが記録された領域の終端位置を含むECCブロックの終端位置を示すポインタが生成される。
次に、ポインタによって示された位置に続く位置から一定の方向に、未割付け領域のサーチが行われる。ここで、一定の方向は、例えば、セクタ番号の小さなセクタからセクタ番号の大きなセクタに向かう方向である。そのサーチにより発見された少なくとも1つの未割付け領域を特定する未割付け領域特定情報がメモリ(図示せず)に保持される(ステップS3)。
次に、未割付け領域特定情報によって特定された少なくとも1つの未割付け領域が不足しているか否かが判定される(ステップS4)。ステップS4における判定結果が「Yes」である場合には処理はステップS2に進み、ステップS4における判定結果が「No」である場合には処理はステップS5に進む。例えば、「新しいデータDiを記録せよ」という記録要求を受けた場合には、未割付け領域特定情報によって特定された少なくとも1つの未割付け領域中にその記録要求を満たす未使用の未割付け領域が残っているか否かが判定される。未使用の未割付け領域が残っていない(すなわち、未割付け領域特定情報によって特定された少なくとも1つの未割付け領域のすべてが既に使用された)場合には、処理はステップS2に進み、未使用の未割付け領域が残っている場合には、処理はステップS5に進む。
次に、新しいデータDiを記録するための領域として未割付け領域が割付けられ、その割付けられた領域に新しいデータDiが記録される(ステップS5)。
データの記録が終了した後、情報記録媒体のイジェクト指示があれば処理を終了し、そうでなければ、処理を継続するためにステップS4へ移行する(ステップS6)。
なお、本フローチャートは記録方法に関するものであるが、記録方法の途中で、ファイルの削除や読み出しが行われてもよい。
なお、未割付け領域のサーチを開始する位置は、ポインタによって示される位置に続く位置には限定されない。未割付け領域のサーチを開始する位置は、情報記録領域の任意の位置であり得る。例えば、未割付け領域のサーチを開始する位置は、情報記録領域の固定された位置(例えば、情報記録領域の先頭)であってもよい。この場合には、ポインタを生成する必要がないので、ステップS1、S2を省略することができる。
また、未割付け領域のサーチを行う方向は、セクタ番号の小さなセクタからセクタ番号の大きなセクタに向かう方向には限定されない。未割付け領域のサーチを行う方向は、一定の方向であれば任意の方向であり得る。例えば、未割付け領域のサーチを行う方向は、セクタ番号の大きなセクタからセクタ番号の小さなセクタに向かう方向であってもよい。
図5は、本発明の情報記録再生装置の構成の一例を示す。
情報記録再生装置は、システム制御部501と、光ディスクドライブ503と、マウスやリモコンなどの入力手段504と、AVデータをデジタル符号化するエンコーダ505と、符号化されたデータを映像・音声信号に変換するデコーダ506とを含む。これらの構成要素は、I/Oバス502を介して相互に接続されている。
システム制御部501は、光ディスクから読み出されたファイル管理情報を保持するファイル管理情報用メモリ521と、未割付け領域に関連する情報(例えば、未割付け領域のサーチにより発見された少なくとも1つの未割付け領域を特定する未割付け領域特定情報)を保持する未割付け領域用メモリ522と、光ディスクに記録するデータを一時保持する記録バッファメモリ523と、光ディスクから読み出されたデータを一時保持する再生バッファメモリ524と、未割付け領域のサーチ開始位置情報としてのポインタを生成するために、ファイル管理情報用メモリに保持された情報を用いて、新しいファイルを検索するファイル検索手段511と、ポインタ生成手段512と、未割付け領域用メモリ522に記録された情報を用いて、ポインタによって示される位置に続く位置から未割付け領域のサーチを行う未割付け領域サーチ手段513と、未割付け領域特定情報によって特定された少なくとも1つの未割付け領域が不足しているか否かを判定する不足判定手段514と、記録バッファメモリ523内のデータを光ディスクに記録するデータ記録手段515と、光ディスクからデータを再生バッファメモリ524に読み出すデータ再生手段516とを含む。
図4に示される記録方法の手順は、例えば、システム制御部501によって実行される。例えば、図4のステップS1は、ファイル検索手段511によって実行され、図4のステップS2は、ポインタ生成手段512によって実行され、図4のステップS3は、未割付け領域サーチ手段513によって実行され(未割付け領域特定情報は未割付け領域用メモリ522に保持され)、図4のステップS4は、不足判定手段514によって実行され、図4のステップS5は、データ記録手段515によって実行される。システム制御部501は、例えば、制御プログラムや演算用メモリを含むマイクロプロセッサによって実現され得る。
エンコーダ505には、TVなどのチューナ531から映像・音声信号が入力される。デコーダ506によって変換された信号は、TV532で再生され得る。
以下、新しいファイルを検索する方法を説明する。
図6は、情報記録媒体上に記録されたファイルの構造の例を示す。図6において、楕円はディレクトリを示し、長方形はファイルを示す。
図6に示される例では、Videoディレクトリの下に5つのファイルが記録されている。拡張子がMPGであるファイルは、MPEG方式で圧縮されたリアルタイム・ファイルである。拡張子がIFOであるファイルは、リアルタイム・ファイルの再生時間情報などの制御情報が記録された制御ファイルである。制御ファイルには、リアルタイム・ファイルに記録された映像および/または音声の再生順序などを示す編集情報も記録され得る。拡張子がIDXのファイルは、Videoディレクトリの下に記録されたファイルの一覧情報を管理するインデックスファイルである。インデックスファイルは、Videoディレクトリの下に記録されたファイルのファイル名とその属性情報とを持っている。ビデオ記録などの特定のアプリケーションは、インデックスファイルをはじめに読み出すことで、扱うべきファイルの一覧とその属性情報とを取得することができる。
図6に示される例では、Archiveディレクトリの下に4つのファイルが記録されている。Archiveディレクトリの下に記録されるファイルは、一般のファイルである。例えば、拡張子がDOCであるファイルは、文書ファイルである。
UDFでフォーマットされたボリューム構造とファイル構造とは、ISO/IEC13346規格に基づいている。
図7は、ISO/IEC13346規格のフォーマットに従って図6に示されるファイル構造のデータ構造を示したものである。図7において、FEは、ファイルエントリ(File Entry)を示し、FIDは、ファイル識別記述子(File Identifier Descriptor)を示す。
ボリューム構造701は、情報記録媒体を論理的に扱うためのボリューム管理情報を記録するためのものであり、ボリューム空間内に設定された情報記録領域(例えば、パーティション)内の未割付け領域を示すスペースビットマップ704の位置情報と、ルートディレクトリを管理するファイル集合記述子の位置情報とを持つ。しかしながら、図を簡単化するために、ファイル集合記述子は図7では割愛している。
スペースビットマップ704は、セクタ単位にそのセクタが所定のデータの記録のために割り付けられているかどうかをビットで表現したものである。未割付け領域のサーチは、スペースビットマップ704を検索することによって行われる。なお、スペースビットマップが記録されていない場合には、光ディスク上に記録されたファイルの記録位置を示す情報をすべて検索することによって、未割付け領域のサーチを行うこともできる。
ディレクトリは、そのディレクトリに含まれるファイルまたはディレクトリ毎にファイル識別記述子が登録されたものである。ファイル識別記述子は、そのファイル名やディレクトリ名と対応するファイルエントリの位置情報とを含む。ファイルまたはディレクトリのデータの記録位置やその修正時間や生成時間などの属性情報がファイルエントリとして記録される。
ルートディレクトリ703は、ファイルエントリ702によって管理される。VideoディレクトリやArchiveディレクトリのファイルエントリの位置情報は、ルートディレクトリ703内のファイル識別記述子によって管理される。Videoディレクトリの位置情報は、ファイルエントリ711によって管理され、Archiveディレクトリの位置情報は、ファイルエントリ721によって管理される。
VIDEO.IDXというファイルの記録位置を示す情報は、ファイルエントリ713によって管理される。そのファイルエントリ713はVideoディレクトリ712内のファイル識別記述子によって管理される。同様に、ファイルエントリ714、715、716、717もVideoディレクトリ712内のファイル識別記述子によって管理される。
また、Archiveディレクトリに登録されたファイルのファイルエントリ723から726はディレクトリ722内のファイル識別記述子によって管理される。
このように、ファイルエントリとディレクトリとを互いに関連づけながら記録することにより、図6に示されるファイルの構造を管理することが可能になる。なお、ファイルエントリは1セクタに記録され、ディレクトリはその下に登録されるファイル識別記述子の数が少なければ1セクタに記録され得る。
情報記録媒体に記録された新しいファイルを検索することは、例えば、すべてのファイルエントリとディレクトリとを辿り、一番新しい、ファイルの修正時間を持ったファイルエントリを見つけることによって達成される。このように、ファイルエントリとディレクトリとを利用して、そのファイルの修正時間が一番新しいファイルを新しいファイルとして検索することができる。このように、ファイルの管理情報を利用することにより、ポインタを情報記録媒体に記録する必要が無く、ポインタを格納する場所を持たない標準的なファイルシステムを用いてシーケンシャルな記録方法を実装することが可能になる。なお、新しいファイルであるかどうかを決定するための情報としては、ファイルの修正時間の代わりに、ファイルの生成時間を用いてもよい。この場合には、そのファイルの生成時間が一番新しいファイルを新しいファイルとして検索するようにしてもよい。あるいは、ファイルが新たに生成される毎にそのファイルに割り当てられるユニークなID番号(ID情報)がインクリメントされる場合には、そのファイルに割り当てられたID番号(ID情報)が一番大きなファイルを新しいファイルとして検索するようにしてもよい。
次に、情報記録媒体上に記録されたファイルの数が多く、すべてのファイルのファイルエントリを検索することが困難な場合における新しいファイルの検索方法を説明する。
UDFフォーマットの場合には、ファイルエントリだけでなくファイル識別記述子にもファイルのユニークIDが記録される。新しいファイルを検索する場合には、個々のファイルのファイルエントリまで辿らずに、ディレクトリのみを辿りユニークIDの一番大きなファイル識別記述子で管理されるファイルを探し、このファイルの記録位置情報からポインタを生成する。この検索方法では、ファイルの数が増えても検索範囲が少なくなり、新しいファイルの検索時間を短くすることができる。例えば、図7に示される例では、すべてのファイルエントリを辿る代わりに、Videoディレクトリ712とArchiveディレクトリ722まで辿ることにより、新しいファイルを検索することができる。
さらに、ディレクトリ数が増えてディレクトリの検索に時間がかかる場合には、予め定めたディレクトリ内のファイルのみを検索してポインタを生成するようにすればよい。例えば、MPEGファイルは通常大きなサイズであるので、MPEGファイルが記録されるディレクトリを予め定めておき、このディレクトリ内のファイルのみを検索することによりさらに高速に新しいファイルを検索することができる。図7に示される例では、Videoディレクトリを新しいファイル検索用ディレクトリとして予め決めてもよい。
また、UDFフォーマットでは、すべてのファイルのユニークIDをテーブル形式で管理するユニークIDマッピングデータストリームが規定されており、このデータストリームは、ファイル集合記述子から辿ることが出来る。このデータストリームが記録されている場合には、このデータストリームに登録されたユニークIDの一番大きなエントリから指し示されるファイルのファイルエントリを調べ、そのファイルエントリが指し示すファイルの記録位置からポインタを生成するようにしてもよい。この方法によれば、ファイルとディレクトリとを辿ることなく高速にポインタを生成することができる。
次に、ファイルの記録終了位置以外の位置を示すようにポインタを生成し、そのポインタを用いて情報記録媒体にデータを記録する記録方法を説明する。情報記録媒体上に記録されたビデオデータが無作為に削除される回数が多ければ、シーケンシャルな記録方法のために未割付け領域をサーチするポインタを情報記録媒体上に保持するよりも、情報記録領域のランダムな位置から未割付け領域のサーチを行った方が特定の領域に対する書換えを少なくすることができるからである。
具体的に説明すると、図1で説明した記録方法において、図1の(a)の状態が未使用状態であると仮定する。この場合、図1の(j)の状態では、領域A1、A2、A3、A4、A5、A6にデータを記録した回数は、それぞれ、3、2、2、1、2、1回である。領域A1には、ユーザから消去指示がなされたデータD1とD7とが記録されたために、他の領域よりも記録回数が多くなっている。このように、シーケンシャルな記録を行ったとしても、ファイルの記録の回数とファイルの削除の回数とが増えれば、各領域ごとにデータが記録される回数は異なることとなる。
図8は、ファイルの記録終了位置以外の位置を示すポインタを生成し、そのポインタを用いて情報記録媒体にデータを記録する記録方法を説明するための図である。
図8の(a)は、図1の(h)の状態の情報記録媒体が、他の記録装置にローディングされた場合に行われる未割付け領域のサーチを示している。この場合、未割付け領域のサーチが、領域A5の終端から、または、情報記録領域の先頭から行われるのではなく、情報記録領域における任意の位置を示すポインタが生成され、そのポインタを用いて未割付け領域のサーチが行われる。ここで、任意の位置とは、ポインタを生成する毎に前回と異なるようにランダムに決定される位置を意味する。
図8の(a)に示される例では、領域A3の終端を示すポインタが生成されている。図8の(b)に示される例では、検索された未割付け領域A4にデータD11が記録される。図8の(b)の状態では、領域A1、A2、A3、A4、A5、A6にデータを記録した回数は、それぞれ、2、2、2、2、2、1回である。この場合、領域A1にデータを記録する回数が減少してデータを記録する回数を情報記録領域全体に分散させることができるという効果がある。
なお、未割付け領域をサーチするために使用されるポインタは、現在時刻などを種にした乱数を用いて生成され得る。
なお、未割付け領域をサーチするために使用されるポインタを生成するタイミングは、情報記録媒体をローディングする時に限定されない。新規にファイルを生成するタイミングで任意の場所にそのようなポインタを生成するようにしてもよい。
次に、本発明のインデックスファイルを用いた記録方法を説明する。ここで、インデックスファイルは、ビデオレコーダなどの特定のアプリケーションが扱うファイルの一覧情報を管理するためのものであるので、アプリケーションがビデオクリップを記録、編集、または、削除した場合に、インデックスファイルは更新される。
ビデオカメラにおける情報記録媒体の利用形態の1つは、ビデオカメラで映像を撮影することによって得られた映像データを情報記録媒体に記録し、オフィスや家庭に戻ってその情報記録媒体に記録された映像データを他のメディアにダビングした後、その情報記録媒体に記録された映像データを削除し、その情報記録媒体をビデオカメラに再度入れて利用する、というものである。
図9は、このような利用形態において、情報記録媒体上のデータの記録領域がどのように変わるかを示している。
図9の(a)に示されるように、論理フォーマット後に映像データやその管理データが記録されると、映像データD1、その制御データD2、映像データD3、その制御データD4、そしてインデックスファイルのデータD5の順番で、各データが情報記録媒体に記録される。ここで、各データは図6を参照して説明したファイルのデータであり、映像データD1、D3はそれぞれ、1001.MPG、1002.MPGファイルのデータ、制御データD2、D4はそれぞれ、1001.IFO、1002.IFOファイルのデータである。
図9の(b)は、映像データやその制御データが他のメディアにダビングされた後に、それぞれのファイルが削除された状態を示している。Videoディレクトリに記録されたファイルの一覧を管理しているインデックスファイルVIDEO.IDXは更新され、更新されたインデックスファイルは情報記録媒体上の所定の領域に記録される。その所定の領域は、未割付け領域のサーチによって発見された領域であってデータを記録するための領域として割付けられた領域である。
このように、更新されたインデックスファイルを記録した情報記録媒体がビデオカメラにローディングされた場合には、更新されたインデックスファイルが一番新しいファイルである。従って、更新されたインデックスファイルを新しいファイルとして検索し、その新しいファイルが記録された領域の終端位置に基づく位置を示すポインタを生成することにより、更新されたインデックスファイルが記録された領域の終端位置に続く位置から未割付け領域のサーチを開始することができる。ここで、インデックスファイルが記録されるディレクトリの名前(例えば、ディレクトリ名”VIDEO”)は予め決まっており、また、インデックスファイルの名前(例えば、拡張子名”IDX”)も予め決まっているので、ファイルシステムは、ディレクトリツリーを辿ることで、インデックスファイルを容易に見つけることができる。また、情報記録媒体に記録された映像データを削除して再利用する用途においては、関連するデータのダビング後に情報記録媒体上のデータがすべて削除されて、インデックスファイルが更新記録されることにより、情報記録領域の各領域の記録回数を均一に保ちながら、シーケンシャルな記録を継続することができる。
また、ビデオカメラで映像を撮影することによって得られた映像データを情報記録媒体に記録し、オフィスや家庭に戻ってその情報記録媒体に記録された映像データを他のメディアにダビングした後にその情報記録媒体を再フォーマットする場合にも、図9の(b)に示されるように、更新されたインデックスファイルを情報記録媒体上の所定の領域に記録するようにすればよい。これにより、データが削除された領域の使用を避けながら、データを記録することが可能になる。
以上のように、オーディオデータやビデオデータのようにデータサイズの大きなデータの記録において書換えの集中を回避する本発明の記録方法を循環記録方法(Circular Recording Method)と呼ぶ。
なお、光ディスクドライブ503の代わりにフラッシュメモリを用いてもよい。例えば、SDカード(R)等のフラッシュメモリは通常のSRAMメモリよりも書換え回数特性が少なく、このような記録媒体にも本発明の記録方法を適用することができる。
図10は、一般的なフラッシュメモリカードの内部構成を示す。フラッシュメモリカード550は、USBやCardBus等のインターフェースを通じてシステム制御部501のI/Oバス502に接続することができる。フラッシュメモリカード550は、マイコン等のCPUで実現されるコントローラ551とメモリユニット552とを含む。メモリユニット552は複数の物理ブロックを含み、物理ブロック単位でメモリユニット内のデータの記録再生がなされる。
図11は、システム制御部501に提供されるフラッシュメモリカードの論理空間と物理ブロックから構成される物理空間との対応関係を示す。論理空間は、論理ブロック番号(Logical Block Number:LBN)が割付けられ、物理空間には、物理ブロックごとに物理ブロック番号(Physical Block Number:PBN)が割付けられている。ここで、論理ブロックのサイズと物理ブロックのサイズとは同じである。物理ブロックと論理ブロックとの対応情報は、コントローラ551が管理している。物理空間のサイズに比べて、論理空間のサイズは予め小さく設定されている。付加ブロックのサイズを物理空間の余裕分として、コントローラ551が、未使用状態の消去ブロックのうち最適なブロックに論理ブロックを割当てることができるように考慮されている。例えば、LBaで示される論理ブロックに対して、システム制御部501が、3回、データの記録を指示した場合、コントローラ551は、論理ブロックLBaを、初めに、物理ブロックPBaに割当ててデータを記録し、次に、物理ブロックPBbに割当ててデータを記録し、最後に,物理ブロックPBcに割当ててデータを記録する。このようにして、同じブロックにデータを記録することなく3回の記録を行うことができる。これは、論理ブロックのサイズよりも大きなサイズの付加ブロックを設定することで可能となる。
図12は、ビデオデータのような大きなデータを記録する場合のフラッシュメモリカードにおける論理空間と物理空間との対応関係を示す。例えば、フラッシュメモリカードのメモリユニットのサイズを146MB×7、記録するビデオデータのサイズおよび付加ブロックのサイズを146MBとする。また、説明を簡単にするために、論理ブロックと、物理ブロックのサイズを146MBとする。データD1からD6を順に記録した場合には、論理ブロックLB1、LB2、LB3、LB4、LB5、LB6に対して、物理ブロックPB1、PB3、PB2、PB4、PB5、PB6がそれぞれ対応づけられている。PB7は未使用状態であり、記録可能な消去ブロックである。このように、記録するデータのサイズが付加ブロックのサイズと同程度の場合には、コントローラ551が割付けを行うことが可能な物理ブロックの選択肢が少なくなる。
図13は、フラッシュメモリカードにおける本発明の記録方法と従来の記録方法との違いを示す。図13の(a)、(b)、(c)は、従来の記録方法を、図13の(d)、(e)、(f)は、本発明の記録方法を示している。
図13の(a)は、図12で示された状態のフラッシュメモリカードに対して、論理ブロックLB1にデータD7の記録が指示された場合の状態を示している。物理ブロックPB7が未使用状態のため、コントローラ551は論理ブロックLB1を物理ブロックPB7に割当てて、この物理ブロックにデータを記録する。物理ブロックPB1は、データを記録する前には、論理ブロックLB1に割当てられていたために、データの記録後は、消去ブロックとしてコントローラ551により管理される。
図13の(b)は、さらに、論理ブロックLB1にデータD8の記録が指示された場合の状態を示している。データは、未使用状態の物理ブロックPB1に記録される。物理ブロックPB1は論理ブロックLB1に割当てられ、物理ブロックPB7は消去ブロックとしてコントローラ551により管理される。
図13の(c)は、さらに、論理ブロックLB1にデータD9の記録が指示された場合の状態を示している。データは、消去状態の物理ブロックPB7に記録される。物理ブロックPB7は論理ブロックLB1に割当てられ、物理ブロックPB1は消去ブロックとしてコントローラ551により管理される。
このように、制御システムが同じ論理ブロックに記録を指示すれば、コントローラは、未使用状態の物理ブロックに対してしか記録領域を割当てることができないので、物理ブロックPB1とPB7の2つの領域を交互に記録せざると得ない。
ここで、図13(a)において、データD7の記録を指示する前に、データD1、D2およびD3を削除したとする。この場合、物理空間ではD1、D2およびD3が削除されたことがわからないので、コントローラ551で管理されている物理ブロックと論理ブロックとの対応関係は変わらない。なぜならば、フラッシュメモリに記録されるデータは、File Allocation Table(FAT)形式のファイルシステムにより管理されているので、データが消去されたことはFATに記録されるからである。通常FATファイルシステムでは、論理ブロック番号の小さい領域から、空き領域を探して、新しいデータをその空き領域に記録する。このため、たとえ、論理空間中の複数の領域に空き領域が存在していても、図13(a)から(c)に示したように、論理ブロック番号の小さい空き領域に優先して記録される。このため、図示した例では、2つの領域(物理ブロックPB1とPB7)が交互に記録されることになる。
図13の(d)は、図12で示された状態のフラッシュメモリカードに対して、データD1、D2、D3を論理的に削除して、論理ブロックLB1にデータD7を記録する場合の状態を示しており、論理ブロックと物理ブロックとの対応は図13の(a)に示された状態と同じである。
図13の(e)は、データD8を論理ブロックLB2に記録する場合の状態を示している。データは、未使用状態の物理ブロックPB1に記録される。物理ブロックPB1は論理ブロックLB2に割当てられ、物理ブロックPB3は消去ブロックとしてコントローラ551により管理される。
図13の(f)は、さらに、データD9を論理ブロックLB3に記録する場合の状態を示している。データは、消去状態の物理ブロックPB3に記録される。物理ブロックPB3は論理ブロックLB3に割当てられ、物理ブロックPB2は消去ブロックとしてコントローラ551により管理される。
図13(d)から(f)で説明したように、シーケンシャルな記録を適用することで、コントローラ551が、物理ブロックPB7、PB1、PB3にデータを記録することが出来るようになるので、2つの領域を交互に記録することを避け、異なる領域に順々に記録することが出来るようになる。
以上のように、記録するデータのサイズが付加ブロックのサイズに対して十分に小さい場合には、フラッシュメモリカード内のコントローラが同じ物理ブロックを使用しないように、論理ブロックを未使用状態の物理ブロックに割当てるために、書換え回数に関してあまり問題にならない。しかしながら、記録するデータのサイズが付加ブロックのサイズに対して十分に小さいといえないサイズかそれ以上の場合には、フラッシュメモリカード内のコントローラでは書換え集中を十分に回避することが難しくなるので、シーケンシャルな記録を適用することで、書換え疲労による物理ブロックの疲労を低減することができる。
なお、フラッシュメモリカードの中に複数のメモリユニットが含まれる場合や、複数のフラッシュメモリから構成されるPCカードにも本発明の記録方法が適用できるのは明白である。
なお、通常、フラッシュメモリにおいてECCブロックは、ブロック毎、またはセクタ毎であるが、ECCブロックが複数のブロックまたは複数のセクタを含む場合には、新しいファイルが記録された領域の終端位置を含むECCブロックの終端から未割付け領域をサーチすることで、ECCブロックの書換え回数を低減することができる。
以上のように、本発明の好ましい実施形態を用いて本発明を例示してきたが、本発明は、この実施形態に限定して解釈されるべきものではない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。当業者は、本発明の具体的な好ましい実施形態の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。本明細書において引用した特許、特許出願および文献は、その内容自体が具体的に本明細書に記載されているのと同様にその内容が本明細書に対する参考として援用されるべきであることが理解される。