(57)【要約】ファイルシステムは、追記形ディスクに対してＶＡＴの代わりにメタデータパーティションを使用することが可能であり、メタデータおよびファイルデータに対して専用に複数のトラックを用いる疑似書換え方法によって提供される。本発明を、疑似書換えメディアをサポートするドライブ装置へ適用すると、ファイルシステムは上書きするデータと追加するデータとを区別する（Ｓ１７０１）。論理セクタへデータを新たに書込むと、ドライブ装置はそのデータを論理セクタと対応する物理セクタへ書込む（Ｓ１７０３）。上書きするデータを論理セクタに保存すると、データはボリューム空間内にある他の未記録物理セクタへ書込まれ（Ｓ１７０４）、リマッピング情報が書込まれる（Ｓ１７０５）。リマッピング情報は物理セクタの元のアドレスと、データを書込む物理セクタのリマッピングアドレスとを指定する。
2007536675.tif 000002
【特許請求の範囲】
【請求項１】
疑似書換え機能を有するドライブ装置に、追記形ディスク上にデータを書込むことを命令するための記録方法であって、該追記形ディスクは複数のトラックを含み、
該記録方法は、
（ａ）少なくとも書込まれるファイルに対するデータを指定する、書込み要求を受け取るステップと、
（ｂ）該追記形ディスクの位置から該ファイルを管理するためのメタデータを含むメタデータファイルのファイルエントリを読出して該メタデータファイルのファイルエントリを取得することを該ドライブ装置に命令するステップと、
（ｃ）該複数のトラックのうちのそれぞれの位置を示すトラック情報を取得するステップと、
（ｄ）該メタデータファイルのファイルエントリと該トラック情報とに基づいて、メタデータを次に書込むトラックを該複数のトラックから決定する、ステップと、
（ｅ）該追記形ディスクの位置から該メタデータを読み出して該メタデータを取得することを該ドライブ装置に命令するステップと、
（ｆ）該ステップ（ｄ）で決定されたトラック以外のトラック内の次にデータが書込まれる位置を示す、次の書込み可能なアドレスを取得するステップであって、該トラックは該複数のトラックの中から選択される、ステップと、
（ｇ）該メタデータを更新して、該書込み要求によって指定される該データの書込みを反映する、ステップと、
（ｈ）該書込み要求によって指定されたデータを該追記形ディスク内の該次の書込み可能なアドレスによって示される位置へ書込むことを、該ドライブ装置に命令する、ステップと、
（ｉ）該更新済みのメタデータのうちの少なくとも一部を、該ステップ（ｅ）において該メタデータが読み出される該追記形ディスク内の位置へ書込むことを該ドライブ装置に命令する、ステップと
を包含する、記録方法。
【請求項２】
前記ステップ（ｄ）において決定されたトラックにおける次の書込み可能なアドレスが有効であるか否かを決定するステップと、
該ステップ（ｄ）において決定された該トラック内にある該次の書込み可能なアドレスが有効でないことが決定された場合、メタデータを次に書込む第１のトラックと、データを次に書込む第２のトラックとを割付けることを前記ドライブ装置に命令し、前記ステップ（ｆ）において取得された前記次の書込み可能なアドレスを該第２のトラック内にある次の書込み可能なアドレスへ更新するステップと
をさらに包含する、請求項１に記載の記録方法。
【請求項３】
前記第１のトラックと前記第２のトラックとが前記ステップ（ｆ）において選択されたトラック内で割付けられる、請求項２に記載の記録方法。
【請求項４】
前記更新済みメタデータのうちの少なくとも一部を前記第１のトラック内にある次の書込み可能なアドレスによって示される位置へ書込むことを、前記ドライブ装置に命令するステップと、
該第１のトラックが割付けられ、該更新済みメタデータのうちの少なくとも一部が該第１のトラック内に書込まれたか否かを決定するステップと、
該第１のトラックが割付けられ、該更新済みメタデータのうちの少なくとも一部が該第１のトラック内に書込まれたことが決定された場合、前記メタデータファイルのファイルエントリを更新して該更新済みメタデータのうちの少なくとも一部の書込みを反映させ、さらに、該メタデータファイルの更新済みファイルエントリを前記追記形ディスク内の前記ステップ（ｂ）において該メタデータファイルの該ファイルエントリが読出された位置へ書込むことを、該ドライブ装置に命令するステップと
をさらに包含する、請求項２に記載の記録方法。
【請求項５】
疑似書換え機能を有するドライブ装置に、追記形ディスク上にデータを書込むことを命令するためのシステムコントローラであって、該追記形ディスクは複数のトラックを含み、
該システムコントローラは該ドライブ装置を制御するためのコントローラを備え、
該コントローラは、
（ａ）少なくとも書込まれるファイルに対するデータを指定する、書込み要求を受け取るステップと、
（ｂ）該追記形ディスクの位置から該ファイルを管理するためのメタデータを含むメタデータファイルのファイルエントリを読出して該メタデータファイルのファイルエントリを取得することを該ドライブ装置に命令するステップと、
（ｃ）該複数のトラックのうちのそれぞれの位置を示すトラック情報を取得するステップと、
（ｄ）該メタデータファイルのファイルエントリと該トラック情報とに基づいて、メタデータを次に書込むトラックを該複数のトラックから決定する、ステップと、
（ｅ）該追記形ディスクの位置から該メタデータを読み出して該メタデータを取得することを該ドライブ装置に命令するステップと、
（ｆ）該ステップ（ｄ）で決定されたトラック以外のトラック内の次にデータが書込まれる位置を示す、次の書込み可能なアドレスを取得するステップであって、該トラックは該複数のトラックの中から選択される、ステップと、
（ｇ）該メタデータを更新して、該書込み要求によって指定される該データの書込みを反映する、ステップと、
（ｈ）該書込み要求によって指定されたデータを該追記形ディスク内の該次の書込み可能なアドレスによって示される位置へ書込むことを、該ドライブ装置に命令する、ステップと、
（ｉ）該更新済みのメタデータのうちの少なくとも一部を、該ステップ（ｅ）において該メタデータが読み出される該追記形ディスク内の位置へ書込むことを該ドライブ装置に命令する、ステップと
を含む処理を実行するように構成されている、システムコントローラ。
【請求項６】
前記コントローラが半導体集積回路を含む、請求項５に記載のシステムコントローラ。
【請求項７】
疑似書換え機能を有するドライブ装置に、追記形ディスク上にデータを書込むことを命令するためのシステムコントローラにおいて使用するプログラムであって、該追記形ディスクは複数のトラックを含み、
該プログラムは、
（ａ）少なくとも書込まれるファイルに対するデータを指定する、書込み要求を受け取るステップと、
（ｂ）該追記形ディスクの位置から該ファイルを管理するためのメタデータを含むメタデータファイルのファイルエントリを読出して該メタデータファイルのファイルエントリを取得することを該ドライブ装置に命令するステップと、
（ｃ）該複数のトラックのうちのそれぞれの位置を示すトラック情報を取得するステップと、
（ｄ）該メタデータファイルのファイルエントリと該トラック情報とに基づいて、メタデータを次に書込むトラックを該複数のトラックから決定する、ステップと、
（ｅ）該追記形ディスクの位置から該メタデータを読み出して該メタデータを取得することを該ドライブ装置に命令するステップと、
（ｆ）該ステップ（ｄ）で決定されたトラック以外のトラック内の次にデータが書込まれる位置を示す、次の書込み可能なアドレスを取得するステップであって、該トラックは該複数のトラックの中から選択される、ステップと、
（ｇ）該メタデータを更新して、該書込み要求によって指定される該データの書込みを反映する、ステップと、
（ｈ）該書込み要求によって指定されたデータを該追記形ディスク内の該次の書込み可能なアドレスによって示される位置へ書込むことを、該ドライブ装置に命令する、ステップと、
（ｉ）該更新済みのメタデータのうちの少なくとも一部を、該ステップ（ｅ）において該メタデータが読み出される該追記形ディスク内の位置へ書込むことを該ドライブ装置に命令する、ステップと
を含む処理を実行するように構成されている、プログラム。
【請求項８】
追記形ディスクへデータを書込むための記録方法であって、
該追記形ディスクは複数の物理セクタを有し、該追記形ディスクはボリューム空間を有し、該ボリューム空間は複数の論理セクタを有し、該複数の論理セクタのそれぞれは該複数の物理セクタのうちの１つに対応し、該追記形ディスクは複数のトラックを有し、該複数のトラックのそれぞれは、該複数の物理セクタのうちの少なくとも１つの物理セクタを含み、
該記録方法は、
（ａ）データを書込む論理セクタを少なくとも特定する書込み命令を受け取るステップと、
（ｂ）該複数のトラックのそれぞれの位置を示すトラック情報を取得するステップと、
（ｃ）該書込み命令と該ステップ（ｂ）において取得された該トラック情報とによって指定された論理セクタに基づいて、データを次に書込むトラックを該複数のトラックから決定するステップと、
（ｄ）該書込み命令によって指定された該論理セクタが、記録済みの物理セクタと対応しているか、未記録の物理セクタと対応しているかを決定するステップと、
（ｅ）該書込み命令によって指定された該論理セクタが未記録の物理セクタと対応していると決定された場合に、該未記録の物理セクタへ該データを書込むステップと、
（ｆ）該書込み命令によって指定された該論理セクタが記録済みの物理セクタと対応していると決定された場合に、該ステップ（ｃ）において決定されたトラック内にある、次の書込み可能なアドレスによって指定される物理セクタ内に該データを書込み、該記録済み物理セクタの元のアドレスを、該次の書込み可能なアドレスによって示される物理セクタのリマッピングアドレスへリマップする、リマッピング情報を含むリマッピングテーブルを生成し、該リマッピングテーブルを該追記形ディスクへ書込むステップと
を包含する、記録方法。
【請求項９】
割付命令を受け取るステップと、
少なくとも１つのトラックを該割付命令に応じて割付けるステップと
をさらに包含する、請求項８に記載の記録方法。
【請求項１０】
少なくとも１つのトラックを割付ける前記ステップが、前記ステップ（ｃ）で決定されたトラック内で第１のトラックと第２のトラックとを割付けるステップを包含する、請求項９に記載の記録方法。
【請求項１１】
追記形ディスクへデータを書込むためのドライブ装置であって、
該追記形ディスクは複数の物理セクタを有し、該追記形ディスクはボリューム空間を有し、該ボリューム空間は複数の論理セクタを有し、該複数の論理セクタのそれぞれは該複数の物理セクタのうちの１つに対応し、該追記形ディスクは複数のトラックを有し、該複数のトラックのそれぞれは、該複数の物理セクタのうちの少なくとも１つの物理セクタを含み、
該ドライブ装置は、
該追記形ディスクに対して記録操作を実行するためのドライブメカニズムと、
該ドライブメカニズムを制御するためのドライブコントローラとを備え、
該ドライブコントローラは、
（ａ）データを書込む論理セクタを少なくとも特定する書込み命令を受け取るステップと、
（ｂ）該複数のトラックのそれぞれの位置を示すトラック情報を取得するステップと、
（ｃ）該書込み命令と該ステップ（ｂ）において取得された該トラック情報とによって指定された論理セクタに基づいて、データを次に書込むトラックを該複数のトラックから決定するステップと、
（ｄ）該書込み命令によって指定された該論理セクタが、記録済みの物理セクタと対応しているか、未記録の物理セクタと対応しているかを決定するステップと、
（ｅ）該書込み命令によって指定された該論理セクタが未記録の物理セクタと対応していると決定された場合に、該未記録の物理セクタへ該データを書込むように該ドライブメカニズムを制御するステップと、
（ｆ）該書込み命令によって指定された該論理セクタが記録済みの物理セクタと対応していると決定された場合に、該ステップ（ｃ）において決定されたトラック内にある、次の書込み可能なアドレスによって指定される物理セクタ内に該データを書込むように該ドライブメカニズムを制御し、該記録済み物理セクタの元のアドレスを、該次の書込み可能なアドレスによって示される物理セクタのリマッピングアドレスへリマップする、リマッピング情報を含むリように該ドライブメカニズムを制御するマッピングテーブルを生成し、該リマッピングテーブルを該追記形ディスクへ書込むステップと
を含む処理を実行するように動作可能である、ドライブ装置。
【請求項１２】
追記形ディスクへデータを書込むためのドライブ装置において使用する半導体集積回路であって、
該追記形ディスクは複数の物理セクタを有し、該追記形ディスクはボリューム空間を有し、該ボリューム空間は複数の論理セクタを有し、該複数の論理セクタのそれぞれは該複数の物理セクタのうちの１つに対応し、該追記形ディスクは複数のトラックを有し、該複数のトラックのそれぞれは、該複数の物理セクタのうちの少なくとも１つの物理セクタを含み、
該半導体集積回路は、該追記形ディスクに対して記録操作を実行するためのドライブメカニズムを制御するように構成されており、
該半導体集積回路は、
（ａ）データを書込む論理セクタを少なくとも特定する書込み命令を受け取るステップと、
（ｂ）該複数のトラックのそれぞれの位置を示すトラック情報を取得するステップと、
（ｃ）該書込み命令と該ステップ（ｂ）において取得された該トラック情報とによって指定された論理セクタに基づいて、データを次に書込むトラックを該複数のトラックから決定するステップと、
（ｄ）該書込み命令によって指定された該論理セクタが、記録済みの物理セクタと対応しているか、未記録の物理セクタと対応しているかを決定するステップと、
（ｅ）該書込み命令によって指定された該論理セクタが未記録の物理セクタと対応していると決定された場合に、該未記録の物理セクタへ該データを書込むように該ドライブメカニズムを制御するステップと、
（ｆ）該書込み命令によって指定された該論理セクタが記録済みの物理セクタと対応していると決定された場合に、該ステップ（ｃ）において決定されたトラック内にある、次の書込み可能なアドレスによって指定される物理セクタ内に該データを書込むように該ドライブメカニズムを制御し、該記録済み物理セクタの元のアドレスを、該次の書込み可能なアドレスによって示される物理セクタのリマッピングアドレスへリマップする、リマッピング情報を含むリマッピングテーブルを生成し、該リマッピングテーブルを該追記形ディスクへ書込むように該ドライブメカニズムを制御するステップと
を含む処理を実行するように動作可能である、半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、論理的な上書き可能メカニズムを用いる、追記形ディスクへの記録方法および記録装置と、再生方法および再生装置と、記録装置および／または再生装置に使用するための半導体集積回路とに関する。
【背景技術】
【０００２】
ＯＳＴＡ（Ｏｐｔｉｃａｌ  Ｓｔｏｒａｇｅ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｓｓｏｃｉａｔｉｏｎ）から公開されているＵＤＦ（Ｕｎｉｖｅｒｓａｌ  Ｄｉｓｋ  Ｆｏｒｍａｔ（登録商標））仕様を開発する様々な活動を通じ、光ディスク用のファイルシステムは進歩した。
【０００３】
追記形ディスクに関しては、マルチセッション記録からＶＡＴ（Ｖｉｒｔｕａｌ  Ａｌｌｏｃａｔｉｏｎ  Ｔａｂｌｅ）を利用するファイルごとの記録へと記録方法が改善された。
【０００４】
他方、書換え可能なディスクに関しては、国際規格であるＥＣＭＡ１６７に定義される非連続記録を用いた構造から、ＵＤＦ  Ｒｅｖｉｓｉｏｎ２．５（以下、ＵＤＦ２．５という）に規定されるメタデータパーティションを用いた構造へとボリューム構造およびファイル構造が改善された。メタデータパーティションを用いることの利点としては、ファイルエントリ／ディレクトリ等のメタデータを検索する際の性能の向上、メディアのダメージに対する堅牢性の向上が挙げられる。
【０００５】
しかしながら、メタデータパーティションは、追記形ディスクへのデータ追加用途には使用することができない。これは、メタデータパーティションとＶＡＴとの組み合わせを実施することが困難であることから、ＵＤＦ２．５ではメタデータパーティションをＶＡＴと共に使用することが可能でないためである。
【０００６】
一般的に、追記形ディスク用の新規な記録方法を開発することも困難である。これは、追記形ディスクの物理的特性上、一度書込まれたデータが上書きされることが可能でないためである。新規な記録方法はコンピュータアーキテクチャと互換性が必要であり、ドライブ装置内で実装される必要があるため、また、民生用機器の利用可能なリソースも考慮して、新規な記録方法の研究がいくつかの局面からなされた。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、上記主題を鑑みてなされ、追記形ディスクへの記録用途において、メタデータパーティションの利点を提供するという目的を含む。
【課題を解決するための手段】
【０００８】
疑似書換え機能を有するドライブ装置に、追記形ディスク上にデータを書込むことを命令するための記録方法であって、追記形ディスクは本発明に従って複数のトラックを含み、（ａ）少なくとも書込まれるファイルに対するデータを指定する、書込み要求を受け取るステップと、（ｂ）追記形ディスクの位置からファイルを管理するためのメタデータを含むメタデータファイルのファイルエントリを読出してメタデータファイルのファイルエントリを取得することをドライブ装置に命令するステップと、（ｃ）複数のトラックのうちのそれぞれの位置を示すトラック情報を取得するステップと、（ｄ）メタデータファイルのファイルエントリとトラック情報とに基づいて、メタデータを次に書込むトラックを複数のトラックから決定する、ステップと、（ｅ）追記形ディスクの位置からメタデータを読み出してメタデータを取得することをドライブ装置に命令するステップと、（ｆ）ステップ（ｄ）で決定されたトラック以外のトラック内の次にデータが書込まれる位置を示す、次の書込み可能なアドレスを取得するステップであって、トラックは複数のトラックの中から選択される、ステップと、（ｇ）メタデータを更新して、書込み要求によって指定されるデータの書込みを反映する、ステップと、（ｈ）書込み要求によって指定されたデータを追記形ディスク内の次の書込み可能なアドレスによって示される位置へ書込むことを、ドライブ装置に命令する、ステップと、（ｉ）更新済みのメタデータのうちの少なくとも一部を、ステップ（ｅ）においてメタデータが読み出される追記形ディスク内の位置へ書込むようにドライブ装置に命令する、ステップとを包含する、方法である。
【０００９】
本発明の一実施形態において、本方法は、ステップ（ｄ）において決定されたトラックにおける次の書込み可能なアドレスが有効であるか否かを決定するステップと、ステップ（ｄ）において決定されたトラック内にある次の書込み可能なアドレスが有効でないことが決定された場合、メタデータを次に書込む第１のトラックと、データを次に書込む第２のトラックとを割付けることをドライブ装置に命令し、ステップ（ｆ）において取得された次の書込み可能なアドレスを第２のトラック内にある次の書込み可能なアドレスへ更新するステップとをさらに含む。
【００１０】
本発明の一実施形態において、第１のトラックと第２のトラックとは、ステップ（ｆ）において選択されたトラック内で割付けられる。
【００１１】
本発明の一実施形態において、本方法は、更新済みメタデータのうちの少なくとも一部を第１のトラック内にある次の書込み可能なアドレスによって示される位置へ書込むことを、ドライブ装置に命令するステップと、第１のトラックが割付けられ、更新済みメタデータのうちの少なくとも一部が第１のトラック内に書込まれたか否かを決定するステップと、第１のトラックが割付けられ、更新済みメタデータのうちの少なくとも一部が第１のトラック内に書込まれたことが決定された場合、メタデータファイルのファイルエントリを更新して更新済みメタデータのうちの少なくとも一部の書込みを反映させ、さらに、メタデータファイルの更新済みファイルエントリを追記形ディスク内のステップ（ｂ）においてメタデータファイルのファイルエントリが読出された位置へ書込むことを、ドライブ装置に命令するステップとをさらに含む。
【００１２】
本発明の別の態様によると、疑似書換え機能を有するドライブ装置に、追記形ディスク上にデータを書込むことを命令するためのシステムコントローラであって、追記形ディスクは複数のトラックを含み、システムコントローラはドライブ装置を制御するためのコントローラを備え、コントローラは、（ａ）少なくとも書込まれるファイルに対するデータを指定する、書込み要求を受け取るステップと、（ｂ）追記形ディスクの位置からファイルを管理するためのメタデータを含むメタデータファイルのファイルエントリを読出してメタデータファイルのファイルエントリを取得することをドライブ装置に命令するステップと、（ｃ）複数のトラックのうちのそれぞれの位置を示すトラック情報を取得するステップと、（ｄ）メタデータファイルのファイルエントリとトラック情報とに基づいて、メタデータを次に書込むトラックを複数のトラックから決定する、ステップと、（ｅ）追記形ディスクの位置からメタデータを読み出してメタデータを取得することをドライブ装置に命令するステップと、（ｆ）ステップ（ｄ）で決定されたトラック以外のトラック内の次にデータが書込まれる位置を示す、次の書込み可能なアドレスを取得するステップであって、トラックは複数のトラックの中から選択される、ステップと、（ｇ）メタデータを更新して、書込み要求によって指定されるデータの書込みを反映する、ステップと、（ｈ）書込み要求によって指定されたデータを追記形ディスク内の次の書込み可能なアドレスによって示される位置へ書込むことを、ドライブ装置に命令する、ステップと、（ｉ）更新済みのメタデータのうちの少なくとも一部を、ステップ（ｅ）においてメタデータが読み出される追記形ディスク内の位置へ書込むようにドライブ装置に命令する、ステップとを含む処理を実行するように構成されている、システムコントローラが提供される。
【００１３】
本発明の一実施形態において、コントローラは、半導体集積回路を含む。
【００１４】
本発明の別の態様によると、疑似書換え機能を有するドライブ装置に、追記形ディスク上にデータを書込むことを命令するためのシステムコントローラにおいて使用するプログラムであって、追記形ディスクは複数のトラックを含み、プログラムは、（ａ）少なくとも書込まれるファイルに対するデータを指定する、書込み要求を受け取るステップと、（ｂ）追記形ディスクの位置からファイルを管理するためのメタデータを含むメタデータファイルのファイルエントリを読出してメタデータファイルのファイルエントリを取得することをドライブ装置に命令するステップと、（ｃ）複数のトラックのうちのそれぞれの位置を示すトラック情報を取得するステップと、（ｄ）メタデータファイルのファイルエントリとトラック情報とに基づいて、メタデータを次に書込むトラックを複数のトラックから決定する、ステップと、（ｅ）追記形ディスクの位置からメタデータを読み出してメタデータを取得することをドライブ装置に命令するステップと、（ｆ）ステップ（ｄ）で決定されたトラック以外のトラック内の次にデータが書込まれる位置を示す、次の書込み可能なアドレスを取得するステップであって、トラックは複数のトラックの中から選択される、ステップと、（ｇ）メタデータを更新して、書込み要求によって指定されるデータの書込みを反映する、ステップと、（ｈ）書込み要求によって指定されたデータを追記形ディスク内の次の書込み可能なアドレスによって示される位置へ書込むことを、ドライブ装置に命令する、ステップと、（ｉ）更新済みのメタデータのうちの少なくとも一部を、ステップ（ｅ）においてメタデータが読み出される追記形ディスク内の位置へ書込むようにドライブ装置に命令する、ステップとを含む処理を実行するように構成されている、プログラムが提供される。
【００１５】
本発明の別の態様によると、追記形ディスクへデータを書込むための記録方法であって、追記形ディスクは複数の物理セクタを有し、追記形ディスクはボリューム空間を有し、ボリューム空間は複数の論理セクタを有し、複数の論理セクタのそれぞれは複数の物理セクタのうちの１つに対応し、追記形ディスクは複数のトラックを有し、複数のトラックのそれぞれは、複数の物理セクタのうちの少なくとも１つの物理セクタを含み、記録方法は、（ａ）データを書込む論理セクタを少なくとも特定する書込み命令を受け取るステップと、（ｂ）複数のトラックのそれぞれの位置を示すトラック情報を取得するステップと、（ｃ）書込み命令とステップ（ｂ）において取得されたトラック情報とによって指定された論理セクタに基づいて、データを次に書込むトラックを複数のトラックから決定するステップと、（ｄ）書込み命令によって指定された論理セクタが、記録済みの物理セクタと対応しているか、未記録の物理セクタと対応しているかを決定するステップと、（ｅ）書込み命令によって指定された論理セクタが未記録の物理セクタと対応していると決定された場合に、未記録の物理セクタへデータを書込むステップと、（ｆ）書込み命令によって指定された論理セクタが記録済みの物理セクタと対応していると決定された場合に、ステップ（ｃ）において決定されたトラック内にある、次の書込み可能なアドレスによって指定される物理セクタ内にデータを書込み、記録済み物理セクタの元のアドレスを、次の書込み可能なアドレスによって示される物理セクタのリマッピングアドレスへリマップする、リマッピングテーブルを生成し、リマッピング情報を含むリマッピングテーブルを追記形ディスクへ書込むステップとを包含する、方法が提供される。
【００１６】
本発明の一実施形態において、方法は、割付命令を受け取るステップと、少なくとも１つのトラックを割付命令に応じて割付けるステップとを包含する。
【００１７】
本発明の一実施形態において、少なくとも１つのトラックを割付けるステップは、ステップ（ｃ）で決定されたトラック内で第１のトラックと第２のトラックとを割付けるステップをさらに包含する。
【００１８】
本発明の別の態様によると、追記形ディスクへデータを書込むためのドライブ装置であって、追記形ディスクは複数の物理セクタを有し、追記形ディスクはボリューム空間を有し、ボリューム空間は複数の論理セクタを有し、複数の論理セクタのそれぞれは複数の物理セクタのうちの１つに対応し、追記形ディスクは複数のトラックを有し、複数のトラックのそれぞれは、複数の物理セクタのうちの少なくとも１つの物理セクタを含み、ドライブ装置は、追記形ディスクに対して記録操作を実行するためのドライブメカニズムと、ドライブメカニズムを制御するためのドライブコントローラとを備え、ドライブコントローラは、（ａ）データを書込む論理セクタを少なくとも特定する書込み命令を受け取るステップと、（ｂ）複数のトラックのそれぞれの位置を示すトラック情報を取得するステップと、（ｃ）書込み命令とステップ（ｂ）において取得されたトラック情報とによって指定された論理セクタに基づいて、データを次に書込むトラックを複数のトラックから決定するステップと、（ｄ）書込み命令によって指定された論理セクタが、記録済みの物理セクタと対応しているか、未記録の物理セクタと対応しているかを決定するステップと、（ｅ）書込み命令によって指定された論理セクタが未記録の物理セクタと対応していると決定された場合に、未記録の物理セクタへデータを書込むようにドライブメカニズムを制御するステップと、（ｆ）書込み命令によって指定された論理セクタが記録済みの物理セクタと対応していると決定された場合に、ステップ（ｃ）において決定されたトラック内にある、次の書込み可能なアドレスによって指定される物理セクタ内にデータを書込むようにドライブメカニズムを制御し、記録済み物理セクタの元のアドレスを、次の書込み可能なアドレスによって示される物理セクタのリマッピングアドレスへリマップする、リマッピング情報を含むリマッピングテーブルを生成し、リマッピングテーブルを追記形ディスクへ書込むようにドライブメカニズムを制御するステップとを含む処理を実行するように動作可能である、ドライブ装置が提供される。
【００１９】
本発明の別の態様によると、追記形ディスクへデータを書込むためのドライブ装置において使用する半導体集積回路であって、追記形ディスクは複数の物理セクタを有し、追記形ディスクはボリューム空間を有し、ボリューム空間は複数の論理セクタを有し、複数の論理セクタのそれぞれは複数の物理セクタのうちの１つに対応し、追記形ディスクは複数のトラックを有し、複数のトラックのそれぞれは、複数の物理セクタのうちの少なくとも１つの物理セクタを含み、半導体集積回路は、追記形ディスクに対して記録操作を実行するためのドライブメカニズムを制御するように構成されており、半導体集積回路は、（ａ）データを書込む論理セクタを少なくとも特定する書込み命令を受け取るステップと、（ｂ）複数のトラックのそれぞれの位置を示すトラック情報を取得するステップと、（ｃ）書込み命令とステップ（ｂ）において取得されたトラック情報とによって指定された論理セクタに基づいて、データを次に書込むトラックを複数のトラックから決定するステップと、（ｄ）書込み命令によって指定された論理セクタが、記録済みの物理セクタと対応しているか、未記録の物理セクタと対応しているかを決定するステップと、（ｅ）書込み命令によって指定された論理セクタが未記録の物理セクタと対応していると決定された場合に、未記録の物理セクタへデータを書込むようにドライブメカニズムを制御するステップと、（ｆ）書込み命令によって指定された論理セクタが記録済みの物理セクタと対応していると決定された場合に、ステップ（ｃ）において決定されたトラック内にある、次の書込み可能なアドレスによって指定される物理セクタ内にデータを書込むようにドライブメカニズムを制御し、記録済み物理セクタの元のアドレスを、次の書込み可能なアドレスによって示される物理セクタのリマッピングアドレスへリマップする、リマッピングテーブルを生成し、リマッピング情報を含むリマッピングテーブルを追記形ディスクへ書込むようにドライブメカニズムを制御するステップとを含む処理を実行するように動作可能である、半導体集積回路が提供される。
【００２０】
添付図面を参照し以下の詳細な説明を読み、理解すれば、本発明のこれらの利点および他の利点が当業者にとって明白となろう。
【発明を実施するための最良の形態】
【００２１】
ドライブ装置によって実行される、追記形ディスク用の上書きを可能にする機能が研究されてきた。しかしながら、ドライブ装置は将来上書きされるデータの量やデータが上書きされる場所を知ることができないため、この機能を実用化するのは困難であった。
【００２２】
たとえば、上書きされるデータは追記形ディスクということで、他の位置へ保存され、元の位置を特定するための情報および代替位置を示す情報がドライブ装置内で扱われなければならない。上書きされたデータの量が増えると、そのデータを代替する場所を探すためにはより長い時間がかかる。したがって、このようなドライブ装置は、リソース（たとえばＣＰＵの速度およびメモリ）が小さいため十分な性能で読出し／書込みができなかった。
【００２３】
新規なファイルシステムは上書きされるデータを新たに書込まれるデータとを区別すべきであり、それによって新規なファイルシステムは上書き可能な機能を有するドライブ装置と適合することができると考えられる。そうすれば、追記形ディスクへのデータ追加用途にＶＡＴを使用せずに、メタデータパーティションを適用する可能性が見出される。
【００２４】
このアイデアの戦略上の重要な点としては、実在のブロックの上書きを機器に扱わせることによって、ファイルシステムはその論理を導入する必要がないということが挙げられる。このことによって、ファイルシステムドライバの複雑性が低減される。
【００２５】
同時に、追記形のメディアは、リムーバブルメディアにデータを書込むための最も安価かつ高速な方法の１つである。しかしながら、追記形のメディアは本質的にドライブに対して、ある位置にデータを記録することを要求する。この位置は、データが書込まれると先へ移動する。一般的に、このことはデータの実質的な断片化という結果につながり得る。すなわち、所定の種類のデータまたはファイルがディスク上の多数の領域に分散してしまうということである。
【００２６】
以下に記載するアイデアは、ディスク上で複数の書込み点を使用することによって、上記断片化を幾分か軽減するのを促すための方法である。すなわち、メタデータとファイルとがディスク上の別個の位置に保存される。ディスク上の異なる位置に書込むためのメカニズムを提供することによって、追記形ディスクの有用性に対する一部制限を取り払うことができる。
【００２７】
以下の実施形態において、このアイデアに基づく研究を詳細に示す。
【００２８】
（実施形態１）
上書きされるデータの量は、ファイルシステムにおける手順を最適化することによって削減され得る。この実施形態では、追記形ディスクの上書き可能な機能を備えるドライブ装置に対する新規な記録方法に従った、基本的な読出し／書込み操作を説明する。
【００２９】
以下、図面を参照し、本発明の実施形態を説明する。
【００３０】
図１および図２は、領域の構成を示す図である。図４は、ファイルを記録するための手順を示すフローチャートである。図１は、論理フォーマット操作の後の状態を示す。図２は、図１に示す状態のディスク上の、ルートディレクトリ内にＤａｔａ−Ａファイルを記録した後の状態を示す。
【００３１】
図１について初めに説明する。
【００３２】
データ領域は、リードイン領域と、ボリューム空間と、リードアウト領域とを含む（リードイン領域およびリードアウト領域は物理層によって管理される）。物理セクタはデータ領域内のアドレス指定可能な単位であり、各物理セクタには物理セクタ番号が昇順に割当てられている。ボリューム空間は論理セクタからなり、各論理セクタには論理セクタ番号が昇順に割当てられている。各論理セクタは、あらかじめ物理セクタと独自に対応している。たとえば、論理セクタ番号０を有する論理セクタは物理セクタ番号１００００を有する物理セクタに対応し、ボリューム空間の開始アドレスはリードイン領域内に保存されている。
【００３３】
欠陥管理領域（ＤＭＡ）は、代替操作における、代替されるブロックのアドレスと代替済のブロックのアドレスとの対応を示す情報が、欠陥リストとして記録される領域である。
【００３４】
臨時ＤＭＡ（ＴＤＭＡ）は、追記操作において臨時欠陥リストが記録される領域である。ディスクをファイナライズして追記操作を禁止すると、臨時欠陥リストが欠陥リストとしてＤＭＡ内に登録される。ＤＭＡは、ディスクの内側部分と外側部分との２箇所に設定され、欠陥リストは２つの異なる領域に２度記録される。ＤＭＡには、トラック情報、スペア領域の位置情報などのディスク情報が記録される。
【００３５】
スペア領域は、代替領域であり、リニアリプレースメント（ｌｉｎｅａｒ  ｒｅｐｌａｃｅｍｅｎｔ）方法と同等の代替操作によってデータが記録される。スペア領域は、ファイルシステムが扱うボリューム空間の外側に割り当てられる。この例では、データはスペア領域の一部分に記録済みである。本来、スペア領域内のアドレスは物理アドレスを用いて特定されるが、説明を簡潔にするために、スペア領域内の相対アドレスをＳＡ（スペア領域内アドレス）として示している。スペア領域内のセクタは未記録状態である。
【００３６】
本発明では、一般的に欠陥管理に利用されているリニアリプレースメントアルゴリズムを、ドライブ装置によって実行される書換えに応用する。
【００３７】
ボリューム空間は４つのトラックを含む。トラックとは領域であり、その領域では追記形ディスクにおいて、トラックの始めからシーケンシャルにデータが記録される。トラック内にある記録済み領域の終端がドライブ装置によって管理される。トラック状態（クローズおよびオープン）は、トラックの状態を示すものである。「クローズ」は、トラック内の全てのセクタがデータ記録に使用されたことを示し、「オープン」は、データ記録に使用されていないセクタが少なくとも１つのトラック内に存在することを示している。すなわち、オープン状態であるトラックにはデータを追記することができる。
【００３８】
（ボリューム構造）
ボリューム構造およびファイル構造は、ＵＤＦ２．５に準拠している。より小さな論理セクタ番号を有する領域に配置されているボリューム構造は、アンカーボリューム記述子ポインタと、ボリューム認識シーケンスと、ボリューム記述子シーケンスと、論理ボリューム保全シーケンスとを含む。より大きな論理セクタ番号を有する領域に配置されているボリューム構造は、アンカーボリューム記述子ポインタとボリューム記述子シーケンスとを含む。論理ボリューム保全記述子が記録されている論理ボリューム保全シーケンスは、ボリューム構造の一部である。ボリューム構造が以前に記録されているため、トラック＃１およびトラック＃４はクローズ状態である。トラック＃２は、データを書込むために割当てられた領域である。図１では、一例として、トラック＃２内に割付けられたメタデータファイルは、未記録領域を有している。メタデータファイルはメタデータパーティションとも呼ばれる。トラック＃２とトラック＃３とからなる領域は、物理パーティションと呼ばれる。トラック＃３は、ファイルのデータを書込むために割当てられた領域である。したがって、記録済み領域に続く領域は未記録状態である。
【００３９】
（ファイル構造）
メタデータビットマップＦＥ（メタデータビットマップファイルファイルエントリ）とは、メタデータビットマップに対して割付けられた領域を編成するためのファイルエントリである。メタデータビットマップは、メタデータファイル内にある使用の準備が整った利用可能なセクタを指定するためのビットマップである。未記録領域のみでなく、ファイルエントリまたはディレクトリを消去することによって未使用となった領域も、利用可能な領域としてビットマップ内に登録されている。メタデータファイルＦＥ（メタデータファイルファイルエントリ）は、メタデータファイルに対して割付けられた領域を編成するファイルエントリである。メタデータファイルには、ファイルエントリとディレクトリとが記録されている。ＵＤＦにはファイル集合記述子も記録されているが、図には示していない。
【００４０】
ルートディレクトリＦＥ（ルートディレクトリファイルエントリ）は、ルートディレクトリに対して割付けられた領域を編成するファイルエントリである。ＭＡ＃１内にはルートディレクトリＦＥが記録されている。ＭＡ＃０内にはルートディレクトリが記録されている。
【００４１】
（ファイル記録手順）
図２および図４に関連して、図１の追記形ディスクへＤａｔａ−Ａファイルを記録する例示的な手順を説明する。
【００４２】
ステップＳ１０１において、メタデータファイル内で記録する領域を取得するために、メタデータビットマップをメモリ上に読み出し、メモリ上で更新する。
【００４３】
ステップＳ１０２において、ファイルを登録するディレクトリをメモリ上に読み出し、メモリ上で更新する。この例では、ルートディレクトリを読み出し、Ｄａｔａ−Ａファイルを登録する。
【００４４】
ステップＳ１０３において、ディレクトリのファイルエントリをメモリ上に読み出し、ディレクトリの情報（サイズ、更新時等）を更新する。
【００４５】
ステップＳ１０４において、トラック＃３内の未記録領域の先頭からＤａｔａ−Ａ  ファイルのデータを記録する。
【００４６】
ステップＳ１０５において、記録したデータの位置情報を登録するために、Ｄａｔａ−Ａファイルのファイルエントリをメモリ上に生成する。
【００４７】
ステップＳ１０６において、メモリ上で更新または生成されたメタデータとメタデータビットマップとを記録する。ルートディレクトリに関して、ドライブ装置は、ＭＡ＃２（未記録セクタ）へデータを書込むように命令される。したがって、ＭＡ＃１に記録されたルートディレクトリは無効になり、ＭＡ＃１にあるセクタが論理空間内の利用可能なセクタになる。ドライブ装置が、メタデータファイル内のこのような利用可能な領域内にデータを書込むように命令された場合でも、その領域が既に記録済みである限り、その領域に物理的にデータを書込むことは不可能である。ルートディレクトリのファイルエントリに関しては、データがＭＡ＃０（既に記録されている領域）に書込まれるように命令され、データはスペア領域内のＳＡ＃０へ保存される。ＳＡ＃０は、スペア領域内の未記録領域の先頭である。Ｄａｔａ−Ａファイルのファイルエントリに関しては、データはＭＡ＃３（未記録セクタ）へ書込まれるように命令される。メタデータビットマップに関しては、データは同じ場所（既に記録されている領域）へ書込まれるように命令され、次いでデータがＳＡ＃１へ保存される。
【００４８】
代替操作は、本発明の疑似書換え操作である。本明細書において使用する「疑似書換え操作」という用語は、論理的な上書き操作を指す。疑似書換え操作においては、既に記録済みの領域へデータを書込むという命令に応じてデータを未記録領域へ書込むために、代替操作のメカニズムが用いられる。
【００４９】
ステップＳ１０７において、ファイル構造の保全状態を示すために、論理ボリューム保全記述子を更新することが命令される。データは疑似書換え操作によってスペア領域（図示せず）へ保存される。
【００５０】
ステップＳ１０６で説明したように、可能な限り多くの細切れのデータが同じＥＣＣブロック（記録タイミング）内に記録されるように、キャッシュを用いて複数の細切れのデータをまとめて記録することによって、未記録領域を有効に利用することが出来る。特に、メタデータビットマップや論理ボリューム保全記述子は、ファイルを記録する毎に更新しなくてもよい。メタデータビットマップや論理ボリューム保全記述子を複数のファイルが記録された後に記録することによって、スペア領域内の未記録領域を有効に利用することができる。
【００５１】
Ｄａｔａ−Ａファイルは以下の方法で読み出される。トラック＃１内のボリューム構造が読み出された後、メタデータファイルにアクセスするために、まず、メタデータファイルのファイルエントリを読み出す。その後、ルートディレクトリのファイルエントリを読み出す際に、実際のデータはスペア領域内に記録されているため、光ディスクの外側の領域にアクセスする必要がある。次いで、セクタＭＡ＃２に記録されているルートディレクトリと、セクタＭＡ＃３に記録されているＤａｔａ−Ａファイルのファイルエントリとを読み出す。したがって、Ｄａｔａ−Ａのアドレス情報を取得すると、ファイルデータにアクセスすることができる。
【００５２】
図５は、本発明による光ディスク情報記録再生システム５００を示す。情報記録再生システム５００は、システムコントローラ５１０と、光ディスクから情報を読み出したり、光ディスクへ情報を書込んだりするためのドライブ装置５２０と、入力／出力バス５３０とを備える。
【００５３】
システムコントローラ５１０とドライブ装置５２０との間で、コマンドセットを用いた命令および応答と、読出しデータ／書込みデータの転送とが入力／出力バス５３０を介して実行され。
【００５４】
システムコントローラ５１０は、コントローラ５１１とメモリ５１２とを含む。システムコントローラ５１０はパーソナルコンピュータであり得る。コントローラ５１１は、たとえばＣＰＵ（中央処理装置）のような半導体集積回路であり得、本発明の実施形態に記載の方法を実行する。
【００５５】
さらに、実施形態に記載の方法をコントローラ５１１に実行させるためのプログラムがメモリ５１２に格納されている。コントローラ５１１では、ファイルシステムか、ユーティリティプログラムか、デバイスドライバかが実行され得る。
【００５６】
ドライブ装置５２０はシステムＬＳＩ５２１と、メモリ５２２と、ドライブメカニズム５２３とを含む。本発明の実施形態において説明する方法をシステムＬＳＩ５２１に実行させるためのプログラムが、メモリ５２２内に格納され得る。システムＬＳＩ５２１は半導体チップ上に形成され得、マイクロプロセッサを含み得る。
【００５７】
ドライブメカニズム５２３は、光ディスクをローディングするためのメカニズムと、ディスクへデータを書込む／ディスクからデータを読出すためのピックアップ５２４と、ピックアップ５２４を移動するためのトラバースメカニズムとを含む。ドライブメカニズム５２３はシステムＬＳＩ５２１によって制御されている。
【００５８】
以上に説明したように、ファイルのデータは上書きせずに記録し、メタデータのいくつかは疑似書換えを用いて記録することができる。一般的に、ファイルを更新する必要のあるメタデータのサイズは、ファイルのデータサイズよりも小さく、上書きされるデータのサイズを削減することができる。ファイルエントリのサイズは２０４８バイトであり、ディレクトリのサイズは、ファイルの数とファイル名の長さとに依存する。一例として、各ファイル名が１２文字であり、３９個のファイルがディレクトリ内に記録されている場合、ディレクトリ情報は２０４８バイトのセクタ内に記録できる。したがって、読出し操作／書込み操作は基本的に、新規な記録方法と、上書き機能を備えるドライブ装置とを組み合わせることによって、追記形ディスクに対して実現可能である。
【００５９】
（実施形態２）
この実施形態は、メタデータファイル内の全領域をあらかじめ記録することによってファイル読み出し時のアクセス性能を改善する記録方法を説明する。
【００６０】
ＵＤＦ２．５では、ファイルエントリやディレクトリ情報等のメタデータを局所領域内に記録して、ボリューム空間内にメタデータが分散するのを防ぐように、メタデータファイルが導入され、それによってファイル管理情報への効率的なアクセスが達成されている。このことはさらに、損傷したディスク上にあるメタデータをスキャンディスクのようなユーティリティによって修復する際の性能を著しく改善する。しかし、実施形態１で説明したように、データが疑似書換え操作を受ける必要がある場合、メタデータファイル内の一部のデータは必ずスペア領域内に記録される。したがって、余分なアクセス時間が必要となる。記録されるファイルの数が少ない場合、余分なアクセス時間はさほど問題ではない。しかしながら、ディレクトリの階層が深くなり、各ディレクトリ下にあるファイル数が増えると、特に大容量の光ディスクの場合、所定のファイルにアクセスするのに必要な時間が長くなり問題となる。
【００６１】
この実施形態では、メタデータファイル内の全領域を論理フォーマット時に記録する。図３は、図２に示すものと同様のデータが書込まれたディスクの領域の構成を示す図である。図３の図２との違いは、メタデータファイルに対して割付けられた領域が、ファイルが書込まれる前に記録されているということである。したがって、トラック＃２はクローズ状態である。
【００６２】
図３を参照して、Ｄａｔａ−Ａファイルを記録するための手順を説明する。ファイルシステムは、ルートディレクトリをＭＡ＃２へ論理的に記録するようにドライブ装置に命令する。データはメタデータファイル内の論理的に利用可能な領域に記録されるがメタデータファイル内の領域は既に記録済みの領域である。したがって、ルートディレクトリをＭＡ＃２へ物理的に書込むことは不可能である。そこで、疑似書換え操作によってルートディレクトリをＳＡ＃０へ物理的に書込む。同様に、ファイルシステムはルートディレクトリＦＥをＭＡ＃０へ論理的に記録するように命令するが、データは疑似書換え操作によってＳＡ＃１内に物理的に書込まれる。その後、Ｄａｔａ−Ａファイルのデータは、トラック＃３へ、未記録領域の先頭から書込まれる。ファイルシステムは、書込み操作を実行する前に未記録領域の先頭のアドレス情報を入手する。Ｄａｔａ−Ａファイルを記録する位置を特定するために、ファイルシステムは、Ｄａｔａ−ＡファイルのファイルエントリをＭＡ＃３へ論理的に記録するように命令し、データは疑似書換え操作によって実際にはＳＡ＃２内へ書込まれる。
【００６３】
ファイルシステムは、ルートディレクトリと、ルートディレクトリＦＥと、Ｄａｔａ−Ａ  ＦＥとが、メタデータファイル内に論理的に記録されたことを認識する。疑似書換え操作が光ディスクドライブ装置によって実行されると、論理的なアドレス情報のみがドライブ装置とそのシステムコントローラとの間のインタフェース上でやり取りされる。この時点で、メタデータファイル内の領域のうち、ＭＡ＃１が利用可能であり、ＭＡ＃２およびＭＡ＃３は既に論理的に記録済みである。上記の状態を示すために、ファイルシステムは、メタデータビットマップが更新記録されるように命令し、対応するデータが疑似書換え操作によってスペア領域内のＳＡ＃３へ記録される。
【００６４】
本発明の記録方法を用いて記録された図３のＤａｔａ−Ａファイルは、以下のように読み出される。トラック＃１からボリューム構造を読み出した後、メタデータファイルのファイルエントリを読み出す。その後、スペア領域内にあるルートディレクトリのファイルエントリと、ルートディレクトリと、Ｄａｔａ−Ａのファイルエントリとを読み出す。これらの情報は全て、疑似書換え操作によってスペア領域内に記録されている。したがって、メタデータファイルとスペア領域との間ではアクセスを行う必要がない。
【００６５】
メタデータファイルを導入した本来の目的が達成される。これは、メタデータファイルは物理パーティション内に論理的に割付けられるが、メタデータファイル内に書込まれたファイルは実際には疑似書換え操作によってスペア領域内に書込まれるためである。このように、メタデータファイル内の欠陥の有無にかかわらず、データはスペア領域内に記録される。
【００６６】
図６は、ドライブ装置とシステムコントローラとの間のコマンドのデータのやり取りを示す図である。特定のコマンドをＡＮＳＩ（Ａｍｅｒｉｃａｎ  Ｎａｔｉｏｎａｌ  Ｓｔａｎｄａｒｄｓ  Ｉｎｓｔｉｔｕｔｅ）によって定義される規格、あるいは、ＩＮＣＩＴＳ（Ｉｎｔｅｒ  Ｎａｔｉｏｎａｌ  Ｃｏｍｍｉｔｔｅｅ  ｆｏｒ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ  Ｓｔａｎｄａｒｄｓ）のＴ１０によって定義されるＭｕｌｔｉ−Ｍｅｄｉａ  Ｃｏｍｍａｎｄ  Ｓｅｔ規格に適用することができる。
【００６７】
ステップＳ６０１、Ｓ６０３、Ｓ６０５、およびＳ６０７は、システムコントローラによって実行される手順を示す。ステップＳ６０２、Ｓ６０４、Ｓ６０６、およびＳ６０８は、ドライブ装置の手順を示す。
【００６８】
ステップＳ６０１において、ドライブ装置へローディングされたメディアのタイプがシステムコントローラから要求され、システムコントローラは、メディアが追記形疑似書換え可能ディスクであることを認識し、また、ドライブ装置が疑似書換え機能をサポートしていることを認識する。
【００６９】
ステップＳ６０２において、ドライブ装置はローディングされたディスクのタイプ情報を読み出す。ドライブ装置はまた、そのディスクに対して疑似書換え機能がサポートされているか否かを判断する。ドライブ装置は、これらの細切れの情報をシステムコントローラへ通知する。
【００７０】
ステップＳ６０３において、システムコントローラは、追記形ディスクのトラック情報を要求することによってドライブ装置からトラック情報を取得する。具体的には、トラック＃３内の未記録領域のサイズと、トラック内にある次の書込み可能なアドレスまたはトラック内にある最後の記録済みアドレスとが要求される。ファイルのデータを書込むためには、上記情報をあらかじめ得ることが必要であり、未記録領域が規定のサイズ以上であるか否かがチェックされる。トラック＃３には追加のメタデータファイルが割付けられ得るため、たとえば、規定サイズは全容量が２３ＧＢのディスクに対して１２８ＭＢであり得る。未記録領域のサイズが規定サイズ未満である場合、ディスクは読取り専用ディスクとして使用される。サイズが規定サイズ以上である場合、手順は次のステップへ行く。ファイルエントリのサイズは２ＫＢである。１２８ＭＢの利用可能な領域内にファイルエントリのみを記録する場合、最大で６５，５３６個のファイルに対応するファイルエントリを記録することができる。
【００７１】
ステップＳ６０４において、ドライブ装置は、トラック数に関連する情報か、各トラックの位置情報およびオープン／クローズ状態か、最後の記録済みアドレス情報かを、ローディングしたディスクのリードイン領域、ＤＭＡ、またはＴＤＭＡから読出す。システムコントローラはこれらの情報を通知される。
【００７２】
ステップＳ６０５において、ドライブ装置は、メタデータビットマップ領域を読出すように命令される。その結果、システムコントローラはメタデータビットマップを取得し、利用可能なセクタがあるか否かをチェックする。利用可能なセクタがある場合、手順は次のステップへ行く。利用可能なセクタがない場合、利用可能なセクタを予約するために、メタデータファイル用の追加領域がトラック＃３の未記録領内に割当てられる。このチェックにおいて、システムコントローラは、利用可能なセクタに対する規定サイズを用いて、メタデータファイル用の追加領域が予約されるか否かを決定し得る。たとえば、規定サイズは１２８ＫＢであり得る。
【００７３】
ステップＳ６０６において、ドライブ装置は指定された領域からデータを読出し、そのデータをシステムコントローラへ転送する。
【００７４】
ステップＳ６０７において、システムコントローラは、ドライブ装置にスペア領域情報を要求することによって情報を取得し、スペア領域内に規定サイズ以上の未記録領域があるか否かをチェックする。
【００７５】
たとえば、未記録領域のサイズが８ＭＢ以上である場合、ディスクは記録可能なディスクとして使用可能である。サイズが８ＭＢ未満である場合、ディスクは読取り専用ディスクとして使用される。スペア領域は、疑似書換えのみでなく欠陥管理にも使用される。したがって、ディスク上の欠陥セクタを回復するために、追加の未記録領域が必要である。
【００７６】
ステップＳ６０８において、ドライブ装置は、スペア領域の数と、スペア領域のサイズと、各スペア領域内の未記録領域のサイズとを、ローディングしたディスクのリードイン領域、ＤＭＡ、またはＴＤＭＡから読出す。システムコントローラはこれらの細切れの情報を通知される。
【００７７】
上述したように、データは、疑似書換えまたは欠陥管理によってスペア領域内の未記録領域に記録される。本発明の追記形ディスクドライブ装置は、メディアのタイプ情報と同じく空き領域情報をもシステムコントローラへ送る機能を有する。これは、ドライブ装置はどこかの位置にデータを保存し、その位置はファイルシステムが予期する位置とは異なり得るためである。ファイルを記録する度にこの空き領域情報を要求することによって、システムコントローラはファイルを記録することができるか否かを決定する。その結果、システムコントローラは、関連データと共に正確にファイルをメタデータファイル内に記録することができる。
【００７８】
（実施形態３）
先の実施形態２では、メタデータを引き出すアクセスタイムを短縮するために、メタデータはスペア領域へリマップされている。これを達成するためには、十分なサイズのスペア領域を、フォーマット時に追記形ディスク上で割り当てなければならない。スペア領域のサイズは後から拡張することができないためである。しかしながら、ユーザは、ディスク上に記録されるファイルの数やファイルのサイズを知ることができない。したがって、フォーマット時にスペア領域の適切なサイズを決定するのは困難である。スペア領域が全て使用されている場合、未記録領域がユーザデータ領域内に残っていても、ファイルをディスクに記録することはできない。他方、より大きなスペア領域が割り当てられている場合、ユーザデータ領域がすべて使用された後、未記録領域はスペア領域内に残り得る。
【００７９】
さらに、実施形態２の例では、リマッピングテーブル中の、実施形態１よりも多くのエントリが使用される。このためには、リマップされたセクタを探索するためにより大きなテーブルを扱うことが可能なドライブ装置が必要である。ファイルを記録する度に、ファイルシステムドライバはスペア領域内の未記録領域のサイズをチェックしなければならないため、空間管理を実施するのが困難になる。
【００８０】
そこで、以下に、データを代替する方向がスペア領域のみでなくユーザデータ領域内でもある記録方法を説明する。
【００８１】
初めに、本発明のアイデアを説明する。
【００８２】
デバイスは、次の書込み可能なブロックに新たなデータを書込み、ドライブ装置が保存しているリマッピングテーブル中にエントリを作成することによって、既存データの上書きを扱う。ファイルシステムは同じ論理ブロック番号を使用し続け、ドライブ装置は、テーブル中のエントリに基づく新たな位置へリクエストをリマップする。このテーブルのサイズを縮小するために、ブロックが解放された後、ファイルシステムはこれらのブロックを再使用しない。すなわち、ファイルシステムは追記形メディアを使用していることを知っていなければならず、また、それに従って動作を調整しなければならない。
【００８３】
デバイスは、リマップされたデータを保存するために通常のボリューム空間を用いる。すなわち、デバイスは、元のブロックが存在するのと同じトラック内にある、次の書込み可能な位置へ書込んでいる。新たな空間を割付けることが必要になる度に、ファイルシステムは次の書込み可能なブロックをデバイスに問い合わせる。したがって、ファイルシステムおよびデバイスの双方は同じ書込み用空間を共有する。
【００８４】
次に、図７Ａ〜図７Ｄ、図８Ａ〜図８Ｂ、および図９を用いて、上記のアイデアの有効性を説明する。
【００８５】
図７Ａ〜図７Ｄおよび図８Ａ〜図８Ｂは、ユーザデータ領域内のブロックを示す。ここでは、セクタではなくブロックを用いてこのアイデアを一般的に説明する。ユーザデータ領域は、ファイルシステムによってボリューム空間として認識される。各ブロックには物理ブロックアドレス（以下、ＰＢＡと記載する）と論理ブロックアドレス（以下、ＬＢＡと記載する）とが割当てられ、その結果、ＰＢＡとＬＢＡとの間の対応があらかじめ決定される。ここでは、一例として、ＰＢＡは１００番から割当てられ、ＬＢＡは０番から割当てられている。
【００８６】
図９は、ドライブ装置が保存しているリマッピングテーブルのデータ構造を示す。テーブルはエントリを有し、各エントリは元のアドレスとリマッピングアドレスとを指定する。このデータ構造は、書換え可能なディスクに対する欠陥管理のために使用される欠陥リストと共通のデータ構造であり得る。
【００８７】
一般的に、書換え可能なディスクに適用した場合に矛盾があるため、上記のアイデアは有効でないように思われた。
【００８８】
図７Ａに示すように、書換え可能なディスクは、たとえば２００番からＰＢＡが割当てられているスペア領域を有する。書換え可能なディスクの通常の場合、ＬＢＡ２およびＬＢＡ５のブロックにデータが書込まれており、これらのブロックが欠陥のあるものである場合、これらのデータは、リニアリプレースメントアルゴリズムを用いてスペア領域内のブロックＰＢＡ２００およびＰＢＡ２０１へ保存される。このことは、ＬＢＡ２およびＬＢＡ５がＰＢＡ２００およびＰＢＡ２０１へ再度割り当てられることを意味する。したがって、ボリューム空間内のいくつかのブロックが欠陥によって使用不可能なブロックになると、そのブロックはスペア領域内にある有効なブロックによって補われる。
【００８９】
上記のアイデアを、図７Ｂに示すように書換え可能なディスクに適用したとすると、ＬＢＡ２およびＬＢＡ５を書込むデータは、ユーザデータ領域（たとえばＰＢＡ１０３およびＰＢＡ１０７）内のブロックに保存されよう。しかしながら、ＰＢＡ１０３およびＰＢＡ１０７のうちのこれらのリマップされたブロックは、ＬＢＡ３およびＬＢＡ７へ要求されたデータを保存するのに使用され得ない。それは、これらのブロックがＬＢＡ２およびＬＢＡ５として代替されるためである。この状況は、欠陥のない論理的空間を提供するという前提を破り、ファイルシステムが任意のデータを記録した場合に、書換え可能なディスク上のデータ容量を減らす。さらに、この状況では、ドライブ装置はデータをリマップする位置を決定することができない。これは、ファイルシステムがランダムにデータを書込み得、ファイルシステムのみが、記録用に利用可能な領域を指定する空間ビットマップを扱うためである。
【００９０】
実施形態１で説明したように、リニアリプレースメントアルゴリズムは追記形ディスクへも適用できる。図７Ｃに示すように、スペア領域はあらかじめ追記形ディスクに対して割当てられる。ブロックが上書きされるか、欠陥のため書込みできない場合、ブロックはスペア領域内のブロックによって補われる。例として、データＤ１がＬＢＡ２へ書込まれる際に、ブロックが欠陥のあるものである場合、ブロックはＰＢＡ２００のブロックによって補われる。ＬＢＡ５がデータＤ２によって書込まれる場合、ＰＢＡ１０５が既に記録済みであっても、データはＰＢＡ２０１内に保存される。
【００９１】
上書きされるブロックおよび欠陥のあるブロックがボリューム空間外に属する別のブロックによって補われることが想定されている。本発明のアイデアは、書換え可能なディスクに対してのみでなく追記形ディスクに対しても矛盾であるように見える。
【００９２】
しかしながら、本発明によれば、追記形ディスクは書換え可能なディスクのように欠陥のない論理空間を提供することを保証しなくてもよい。それは、追記形ディスク上のブロックは一度書込まれると、ブロック内のデータを変更することができないためである。また、追記形ディスク用の新規なファイルシステムはシーケンシャルな記録を用いてデータを書込み得る。この点において、本発明のアイデアは図７Ｄに示すような追記形ディスクに有効である。データＤ１、Ｄ２、およびＤ３は、ＬＢＡ０、ＬＢＡ１、ＬＢＡ２へシーケンシャルに書込まれている。この時点でブロックＰＢＡ１０２が欠陥のあるものである場合、データは次のブロックＰＢＡ１０３へ書込まれ得る。さらに、データＤ４、Ｄ５、およびＤ６がＬＢＡ４、ＬＢＡ５、ＬＢＡ６へシーケンシャルに書込まれ、次いで更新されたデータＤ５’がＬＢＡ５へ上書きされ得る。この上書きを行うと、データは次の書込み可能な位置であるブロックＰＢＡ１０７へ保存される。このように、ユーザデータ領域を使い果たすまでは、上書きが必要になる度にデータを次の書込み可能な位置へ書込むことができるため、このアイデアは論理ブロック番号の割当てを変更する必要がない。書換え可能なディスクの場合、データはリマッピングに用いられるブロックへは記録できないが、追記形ディスクの本発明に関しては何の問題もない。たとえば、データはさらにＬＢＡ７のブロックへ記録され得る。この場合、データはＰＢＡ１０８へ保存され、ＰＢＡ１０７という元のアドレスからＰＢＡ１０８というリマッピングアドレスへのこのリマッピングを指定するエントリが、リマッピングテーブルへ追加される。
【００９３】
先に説明したように、本発明によれば、論理ブロックアドレスがダブルブッキングであっても、新たな物理ブロックアドレスをＮＷＡに割当てることによってドライブ装置がデータを記録できる。
【００９４】
上記のアイデアによって実用的な、別の重要な点は、ファイルシステムからドライブ装置へ次の書込み可能なアドレスを問い合わせることによって、リマッピングテーブル内に保存されるエントリを節約するということである。図８Ａおよび図８Ｂは、テーブルのサイズを縮小するためのメカニズムを示す。この図では、ブロックＰＢＡ１００〜１０５はあらかじめ記録されている。図８Ａに示すように、データＤ１をＬＢＡ１に書込むと、データは次の書込み可能な位置ＰＢＡ１０６に保存され、ＰＢＡ１０１がＰＢＡ１０６へリマップされることを指定する１つのエントリが追加される。この瞬間、ファイルシステムはデータがリマップされる場所を知らない。新たなデータＤ２を以前の次の書込み可能な位置ＬＢＡ６へ書込むようにファイルシステムが命令した場合、データは次のブロックＰＢＡ１０７へ保存され、１つのエントリが追加される。本発明では、ファイルシステムは書換えを行わずに任意のデータを記録する前に、更新された次の書込み可能なアドレスをチェックし、更新された次の書込み可能なアドレスにデータを書込むように命令する。更新された次の書込み可能なアドレスは図８ＢのＬＢＡ７である。このように、追加のエントリは不必要である。、ファイルシステムは同様の理由で、上書きの必要がなければ消去されたファイル領域へデータを再度割付けることもない。
【００９５】
さらに、ファイルシステムは記録用の新たな領域を割付けるのにＮＷＡのみを各トラック内で用いるため、ファイルシステムによる空間管理を単純化することができる。このことは、ファイルシステムがスペア領域内でチェックされなくてもよいこと、また、空間ビットマップ、特にメタデータビットマップを記録しなくてもよいことを意味する。
【００９６】
領域をリマップする単位は、複数の物理セクタを有するＥＣＣブロックであり得る。物理セクタをリマップすると、その物理セクタが属するＥＣＣブロック内の全ての物理セクタがリマップされる。この場合、リマッピングテーブルのエントリ内にある元のアドレスおよびリマッピングアドレスは、ＥＣＣブロックの開始セクタの物理アドレスによって指定される。アドレス可能な単位として、物理ブロックおよび論理ブロックは物理セクタおよび論理セクタであり得る。１つのセクタを新たに書込む場合でも、そのセクタを含む１つのＥＣＣブロックが書込まれ、ＮＷＡが次のＥＣＣブロックの開始セクタへ移動される。したがって、いくつかのデータを書込む場合、これらのデータは、これらのデータが同じＥＣＣブロックに対して書込まれるように割付けられる。
【００９７】
本発明によって、追記形ディスク上で使用できるメタデータパーティションを用いることにメリットが提供され得る。初めに、上書きされるデータはメタデータ書込み用のトラック内にリマップされ、その結果メタデータを検索するためのアクセスが局所化され、検索の性能が改善する。通常どおり、上書きされたデータは、トラックが未記録セクタを有する限り同じトラック内に保存される。トラックがデータ記録によって使い果たされると、そのブロックには同じトラック内にあるその他の未記録の物理ブロックへのデータ書き込みの優先順位を与えられ、上書きされたデータはその他のトラックへ保存され得る。次に、追加のトラックがメタデータミラーファイルへ割当てられると、エラーへの堅牢性（ｒｏｂｕｓｔｎｅｓｓ）を改善するためにメタデータミラーファイルを記録することができる。
【００９８】
これらのメリットは、以下のアイデアによるものである。
データを書込む際、ファイルシステムは、データのタイプに基づき、どのトラックを用いるかを決定する。ファイルシステムは、次いで、このトラックに対する次の書込み点の位置を決定するためにデバイスに問い合わせる。トラックが一杯になると、ファイルシステムは自身の判断で異なるトラックを選択し得る。
【００９９】
一例として、２つのトラックを有するようにフォーマットされたメディアを検討されたい。第１のトラックはメタデータを保存するために用いられる。第２のトラックはファイルデータを保存するために用いられる。ファイルシステムがメタデータを書込む必要がある場合、ファイルシステムはデバイスに第１のトラックの書込み点を問い合わせ、その位置をメタデータの保存に使用する。ファイルシステムがファイルデータを書込む必要がある場合、ファイルシステムはデバイスに第２のトラックの書込み点を問い合わせ、その位置をファイルデータの保存に使用する。いずれかのトラックが一杯になると、ファイルシステムは、もう一方のトラック内に存在し得るフリースペースを使用することを決定し得る。このことによって、ファイルシステムがメタデータおよびファイルデータを可能な限りグループ化することが可能になる。データをグループ化することによって、断片化が低減される。
【０１００】
このアイデアは、Ｕｎｉｖｅｒｓａｌ  Ｄｉｓｋ  Ｆｏｒｍａｔ（ＵＤＦ）ファイルシステムによって利用され得る。そのため、バージョン２．５０の利点の一部を追記形ディスクに利用することができる。現在、ＵＤＦ２．５０は、メタデータの保存方法上、書換え可能なメディアを必要とする。ＵＤＦ２．５０が開発された主な理由の１つは、メタデータを、ファイルデータとは別個にグループ化することである。この利点は追記形ディスク上では失われる。本発明のアイデアを利用することによって、この利点は追記形メディア上でも実現され得る。
【０１０１】
本発明のアイデアは、同様のデータを特定の目的のためにグループ化するのにも利用できる。たとえば、１つのトラックに音声を保存することができ、別のトラックに映像を保存することができる。あるいは、１つのトラックには静止画像を保存し、別のトラックには映像を保存することができる。ユーザが写真を頻繁に作成、編集、および消去する場合、このデータは、連続的に追加される映像とは別個に維持される。このことによって写真データが映像ストリームと混ざるのを防ぐ。
【０１０２】
２つのトラックが予約されている場合、特別な割付方法が用いられ得る。この方法は、１つの固定されたサイズの予約済みトラックを作成し、第２のトラックをオープン状態にする。第１のトラックが一杯になると、第２のトラックが現在の書込み点でクローズされ得、２つの新たなトラックが作成され得る。これらの新たなトラックは、初めの２つのトラックと同じパターンに従う。このプロセスは、ディスクが一杯になるまで継続され得る。このことによって、ファイルシステムは同様のデータを大きな領域にグループ化することができる。たとえば、これをＵＤＦファイルシステムと共に利用することができ、それによって、メタデータは、ＵＤＦ２．５０によって書換え可能なメディア上に保存されるのと類似の方法で、追記形のメディア上に大きな領域として保存されることが可能である。
【０１０３】
図１０Ａ〜図１０Ｅは、上記のマルチトラック記録の方針を説明する、領域の構成を示す図である。特別な割付方法を図１０Ａ〜図１０Ｅに示す。
【０１０４】
図１０Ａでは、メタデータとファイルデータとを書込むために２つのトラックが予約される。メタデータ用の第１のトラックが使い果たされると、ファイルシステムは、図１０Ｂに示すデータ用トラック内にドライブ装置が新たなトラックを割当てることを要求する。次いで、メタデータ書込み用の新たなトラック＃３を図１０Ａのトラック＃２内に予約し、残りのトラック＃４をデータの書込みに使用し得る。トラック＃１およびトラック＃２にはもはやＮＷＡが存在しないということは明らかである。トラック＃３およびトラック＃４が新たに割付けられると、ＮＷＡはトラック内の新たに割当てられた開始アドレスにおいて利用可能である。図１０Ｃにおいて、メタデータおよびファイルデータは新たなトラック、すなわちトラック＃３およびトラック＃４へ書込まれ得る。
【０１０５】
図１０Ｄでは、メタデータとファイルデータとを書込むために２つのトラックが予約されている。この場合、メタデータを必要な限り記録するために、メタデータ書込み用のトラック＃１は図１０Ａで説明したトラックよりも大きい。データ用の第２のトラックが使い果たされると、ファイルシステムは、図１０Ｅに示すように、メタデータ用トラックの後ろにドライブ装置が新たなトラックを割当てることを要求し、その結果、第１のトラックおよび第２のトラックは未記録領域を有する。次いで、データ書込み用の新たなトラック＃２が図１０Ｄのトラック＃１内に予約される。したがって、より短いトラックがトラック＃１として割付けられる。トラック＃２が予約された後、図１０Ｄのトラック＃２のトラック番号は図１０Ｅにおいてトラック＃３に変更される。トラック＃３内にはＮＷＡはそれ以上存在しない。トラック＃２が新たに割付けられると、ＮＷＡは新たに予約されたトラック内の開始アドレスにおいて利用可能である。図１０Ｅでは、メタデータおよびファイルデータは新たなトラック、すなわちトラック＃１およびトラック＃２へ書込まれ得る。
【０１０６】
ここで、ディスクの容量が２３ＧＢ（＝２３×１０２４＾３バイト）であり、ＥＣＣブロックが３２セクタからなり、セクタのサイズが２ＫＢ（＝２×１０２４バイト）である例示の場合について、上書きのポテンシャルを概算する。ディスク上に記録されているファイルの平均サイズが１２８ＫＢであり、平均１０個のファイルがディレクトリ内に記録されている場合、約１８８，０００のファイルおよび１８，８００のディレクトリをディスク上に記録することができる。更新するファイルエントリをファイルシステムがＥＣＣブロック内に集める場合、リマッピングテーブルには約６，４００のエントリが必要である。エントリのサイズが８バイトである場合、テーブルのサイズは約５０ＫＢになる。ドライブ装置がリマッピングテーブルのうちの２５６ＫＢを最大サイズとして扱うことができる場合、１８８，０００のファイルおよび１８，８００のディレクトリがランダムに書込まれる。このように、本発明は、ブルーレーザ技術を用いた次世代の追記形光ディスクに実用的である。
【０１０７】
上記のアイデアを、ＵＤＦと次世代の追記形ディスクとに基づく新たなファイルシステムに適用する例について説明する。
【０１０８】
図１１は、上記のリマッピングを説明するための、領域の構成を示す図である。実施形態１において説明した領域のレイアウトをこの実施形態にも使用する。
【０１０９】
欠陥管理領域（ＤＭＡ）は欠陥リストが記録される領域であり、臨時ＤＭＡ（ＴＤＭＡ）は一時的欠陥リストが記録される領域である。リマッピングテーブルは、欠陥リストおよび一時的欠陥リストと共にＤＭＡおよびＴＤＭＡ内に記録され得る。ここで、欠陥リストおよび一時的欠陥リストは、欠陥管理による代替情報と、同じデータ構造を用いたリマッピング情報との両方を指定するために使用され得る。エントリの解釈は欠陥管理と疑似書換えとで共通しているため、それはドライブ装置の実施を単純化するのに役立つ。エントリがリマッピング情報を指定する場合、テーブル内のエントリは、リマップされるブロックのアドレスとリマップされたブロックのアドレスとの対応を示す。
【０１１０】
スペア領域は、ボリューム空間の外側に割り当てられ、スペア領域内のアドレスはＳＡ（スペア領域アドレス）によって示されている。
【０１１１】
ボリューム空間は３つのトラックを含む。各トラックにはデータがシーケンシャルに記録される。トラック内の未記録領域の開始アドレスが次の書込み可能なアドレス（ＮＷＡ；Ｎｅｘｔ  Ｗｒｉｔａｂｌｅ  Ａｄｄｒｅｓｓ）として管理される。これらのトラック内のデータが上書き可能であり、予約されたトラック内でデータがリマップされ得るということを示すために、トラックの状態を「使用済み」、「予約済み」という新たな用語によって説明する。使用済みトラックは、トラック内の全てのセクタがデータの記録に使用されたということを意味する。予約済みトラックは、まだ記録されていないセクタが存在することを意味する。換言すれば、データは予約済みのトラックへ追記され得るということである。ボリューム構造が以前に記録されているため、トラック＃１は使用済みトラックである。トラック＃２は、メタデータ記録用に割当てられた予約済みトラックである。トラック＃３は、ユーザデータ記録用に割り当てられた予約済みトラックである。
【０１１２】
Ｄａｔａ−Ａファイルを更新したり、Ｄａｔａ−Ｂファイルを追記形光ディスクへ記録したりするための例示的な手順を示す。
【０１１３】
初めに、メタデータファイルに対して割付けられた領域を得るためにメタデータファイル  ＦＥを読出し、トラック情報を取得する。そこで、ファイルシステムは、どのトラックがメタデータの書込みに利用できるかを認識できる。ここで、ＭＡ（メタデータファイルアドレス）はメタデータファイルにおける相対アドレスを示す。
【０１１４】
ファイルシステムがＤａｔａ−Ａファイルを更新する際には、更新済みのデータを書込む位置を特定するための情報と関連情報（例えば、サイズ、更新時など）とをメモリに登録するために、ファイルエントリをメモリ上に読出し、そのファイルエントリを更新する。ファイルシステムは、Ｄａｔａ−Ａファイルのデータを論理的に上書きするようにドライブ装置に命令する。次いで、対応する物理セクタが既に記録済みであるため、ドライブ装置はデータ（Ｄａｔａ−Ａ’）を物理的にＮＷＡへ保存し、ドライブ装置は欠陥リストにエントリを追加する。ファイルシステムが、ドライブ装置に問い合わせた後でデータをＮＷＡへ書込むように命令した場合、欠陥リストにエントリを追加する必要はない。データの位置をファイルエントリ内に登録できるため、本発明では、エントリを節約するこの方法が薦められるが、大きなファイルの一部を更新しなければならない場合、更新されるデータは、ファイルの全体のデータを書込む代わりに、上書きされ得る。データをディスクに書込んだ後、ファイルシステムは、書込まれたデータの位置および更新時を特定するために、ファイルエントリ（Ｄａｔａ−Ａ’ＦＥ）を論理的に上書きするように命令する。次いで、ドライブ装置は、ＭＡ＃ｋ＋１に示すセクタへデータを物理的に書込み、エントリを欠陥リストへ保存する。
【０１１５】
ファイルシステムがＤａｔａ−Ｂファイルをルートディレクトリ下に新たに記録する際、そのディレクトリをメモリ内に読出し、ディレクトリを更新してその新たなファイル（Ｄａｔａ−Ｂファイル）をメモリ上でこのディレクトリに追加する。Ｄａｔａ−Ｂファイルのファイルエントリは、あらかじめメモリ内で作成され、Ｄａｔａ−Ｂファイルのデータはトラック＃３内のＮＷＡへ書込まれ、次いで、そのファイルエントリ（Ｄａｔａ−Ｂ  ＦＥ）と、メモリ上のルートディレクトリとがトラック＃２内のＭＡ＃ｋ＋２として示すＮＷＡから書込まれる。ルートディレクトリの新たな位置を特定するために、そのディレクトリに関する更新済みのファイルエントリは、上書きされるように命令され、ＭＡ＃ｋ＋４として示すＮＷＡにデータが書込まれる。このようにして、メタデータの中からディレクトリのファイルエントリのみを上書きしてエントリを節約し、その他のメタデータ（ファイルのファイルエントリおよびディレクトリ）とファイルのデータとを書換えずに書込む。
【０１１６】
ファイル構造の保全性を示すために、更新済みの論理ボリューム保全記述子は上書きを命令される（この図には示していない）。
【０１１７】
上記の疑似書換え操作では、上書きされるデータは、既に記録済みの領域へデータを書込む命令に応じて、スペア領域または予約済みのトラック内のＮＷＡへ保存され得る。データを保存する先は、ドライブ装置によって決定され得る。同様に、欠陥のためにデータをセクタ内に保存できない場合、データは欠陥管理によってスペア領域またはトラック内のＮＷＡ内に代替され得る。
【０１１８】
書換え可能なディスクの場合、ファイルシステムは利用可能な領域を再使用する。しかしながら、本発明では、利用可能な領域を一度使用すると、その利用可能な領域は再使用されない。たとえば、図１１では、ルートディレクトリが書込まれたＭＡ＃ｉ＋１の論理セクタは利用可能なセクタになったが、ファイルシステムはＭＡ＃ｉ＋１にはデータを割付けない。データを再びＭＡ＃ｉ＋１へ書込むと、そのデータはリマップされる。ＥＣＣブロックを基準としてデータを書込む場合、そのＥＣＣブロックのうちの１つのセクタのみを書込み、そのＥＣＣブロックの他のセクタには無効データを記録するように命令した場合でも、１つのＥＣＣが書込まれる。同様の理由で、ファイルシステムは、無効データが記録されている領域も再使用しない。
【０１１９】
図１２は、上記のリマッピングを説明するための、領域の構成を示す図である。図１１同様に、Ｄａｔａ−Ａファイルが更新され、Ｄａｔａ−Ｂファイルが新たに記録される。図１１と比較して、メタデータミラーファイルに使用することを意図されたトラックは、トラック＃４として追加的に予約され、メタデータミラーファイルＦＥがメタデータミラーファイルの位置を指定する。ＵＤＦ２．５によれば、メタデータミラーファイルが存在する場合には、任意のメタデータはメタデータファイル内、およびメタデータミラーファイル内へ、同じ相対アドレスにそれぞれ記録されることになる。簡略化のために、メタデータミラーファイルＦＥは図１１、図１３、図１４には示していないが、メタデータミラーファイルが存在しない場合にはメタデータミラーファイルＦＥがメタデータファイルの位置を示す。
【０１２０】
追記形光ディスク上にＤａｔａ−Ａファイルを更新したりＤａｔａ−Ｂファイルを記録したりするための手順は、図１１に関する説明と同様である。この例では、メタデータをメタデータファイルに書込んだ後、メタデータミラーファイルへ同様のメタデータが書込まれる。ファイルシステムは、メタデータファイルおよびメタデータミラーファイルに対して割付けられた領域を知るために、メタデータファイルＦＥおよびメタデータミラーファイルＦＥを読み出すようドライブ装置に命令する。次いで、ファイルシステムは、どのトラックがメタデータの書込みに利用できるかを認識する。ここで、ＭＡ（メタデータファイルアドレス）はメタデータファイルおよびメタデータミラーファイル内の相対アドレスを示す。
【０１２１】
ファイルシステムがＤａｔａ−Ａファイルを更新する場合、ファイルエントリ（Ｄａｔａ−Ａ’  ＦＥ）をメタデータファイルのトラック＃２へ論理的に上書きすることをファイルシステムが命令した後、ファイルシステムは、メタデータミラーファイル内の同一の相対アドレスＭＡ＃ｋに同一のファイルエントリを上書きするようにドライブ装置に命令する。ドライブ装置は、ＭＡ＃ｋ＋１に示すセクタ内に物理的にデータを書込み、そのエントリを欠陥リストへ保存する。
【０１２２】
ファイルシステムがＤａｔａ−Ｂファイルをルートディレクトリ内に新たに記録する場合、ＭＡ＃ｋ＋２として示すＮＷＡからファイルエントリ（Ｄａｔａ−Ｂ  ＦＥ）とルートディレクトリとをトラック＃２のメタデータファイルへ書込むことをファイルシステムが命令した後、ファイルシステムは、ＭＡ＃ｋ＋２として示すＮＷＡから同一のファイルエントリと同一のルートディレクトリとをトラック＃４のメタデータミラーファイル内へ書込むようにドライブ装置に命令する。次いで、トラック＃２のメタデータファイル内のＭＡ＃ｋ＋４として示されたＮＷＡにディレクトリに対する更新済みファイルエントリを上書きすることをファイルシステムが命令した後、ファイルシステムは、トラック＃４のメタデータミラーファイル内のＭＡ＃ｋ＋４として示されたＮＷＡに同一の更新済みファイルエントリを上書きすることを命令する。
【０１２３】
このように、メタデータファイルおよびメタデータミラーファイル内の同一の相対アドレスに同一のメタデータを書込むため、メタデータを読出す際のエラーへの堅牢性が改善される。
【０１２４】
図１３は、上記のリマッピングを説明する、領域の構成を示す図である。図１３では、図１１で説明したボリューム空間上に新たな予約済みトラックがトラック＃３として割当てられている。メタデータ書込み用のトラック＃２が使い果たされたため、追加のメタデータを書込むように、このトラックはユーザデータ書込み用のトラック内にある未記録領域で予約される。たとえば、図１１のトラック＃３は記録済み領域の終了で終端する。トラック＃３の終端後、その未記録領域から新たなトラック＃４が割当てられる。
【０１２５】
図１４は、上記のリマッピングを説明する、領域の構成を示す図である。図１４では、図１３で説明したボリューム空間上のルートディレクトリ内に、Ｄａｔａ−Ｃファイルが新たに記録されている。ディレクトリがメモリ内に読出され、ディレクトリは更新され、メモリ内で新たなファイル（Ｄａｔａ−Ｃファイル）がこのディレクトリに追加される。Ｄａｔａ−Ｃファイルのファイルエントリはメモリ内に作成され、Ｄａｔａ−Ｃファイルのデータはトラック＃５内のＮＷＡに書込まれる。次いで、メモリ上にあるファイルエントリ（Ｄａｔａ−Ｃ  ＦＥ）とルートディレクトリとが、ＭＡ＃ｋ＋５として示されたＮＷＡからトラック＃４内に書込まれる。ルートディレクトリの新たな位置を特定するために、そのディレクトリに対する更新済みのファイルエントリはＭＡ＃ｉへ上書きされるように命令される。トラック＃２が使い果たされたため、データは他のトラック内にあるＮＷＡに書込まれる。この例では、データはトラック＃４内のＭＡ＃ｋ＋７に書込まれている。メタデータファイルの追加的なエクステント＃２を指定するために、メタデータファイルＦＥは上書きされるように命令され、データはＭＡ＃ｋ＋８として示されたＮＷＡに書込まれる。メタデータファイルはメタデータファイルＦＥを更新することによって拡張されるため、メタデータファイルに割付けられたエクステントは、新たに割当てられたトラックと同じでなくてもよい。したがって、メタデータファイルのエクステントはトラックの一部であり得る。
【０１２６】
以下、本発明の書込み手順を説明する。この書込み手順は、図５で説明した光ディスク情報記録再生システムによって実行される。
【０１２７】
図１５Ａ〜図１５Ｄは、疑似書換え方法を用いてデータが書込まれる際の、ユーザデータ領域内のブロックを示す図をそれぞれ含む。ユーザデータ領域ＰＢＡおよびＬＢＡは、図７で説明したのと同様の定義である。
【０１２８】
ファイルを更新するための手順を図１５Ａおよび図１５Ｂで説明する。図１５Ａに示すように、ファイルが更新される前に、ブロックＰＢＡ１００、ＰＢＡ１０１、ＰＢＡ１０２が記録されており、２つのトラックが予約されている。更新されるファイルのファイルエントリ（Ｄ３）はブロックＬＢＡ２内に保存されている。図１５Ｂに示すように、ファイルシステムは、
１）あらかじめＬＢＡ２からファイルエントリを読出すことを命令し、
２）ドライブ装置にＮＷＡを問い合わせ、
３）ファイルの更新済みデータ（Ｄ４）を、書換えを行わずにデータが書込まれるように、データ書込み用のトラック内のＮＷＡ（ＬＢＡ９）へ書込むことを命令し、また、読出されたファイルエントリ内の位置情報が、更新されたデータが書込まれる領域を指定するように変更して、ファイルエントリ（Ｄ３’）を作成し、次いで、
４）更新済みのファイルエントリ（Ｄ３’）を、ファイルエントリが書換えられるように、メタデータ書込み用のトラック内にあるＬＢＡ２へ書込むことを命令する。この例では、その前の書込みがＰＢＡ１０９であったため、データＤ３’は物理的にＰＢＡ１１０へ書込まれる。このように、書換えによって、ドライブ装置はデータを他のトラックへ書込み得る。
【０１２９】
ファイルをディレクトリ内に記録するための手順を図１５Ｃおよび図１５Ｄで説明する。図１５Ｃに示すように、ブロックＰＢＡ１００、ＰＢＡ１０１、ＰＢＡ１０２、ＰＢＡ１０８、ＰＢＡ１０９が記録されており、２つのトラックが予約されている。ディレクトリのファイルエントリ（Ｄ１）およびディレクトリ（Ｄ２）は、ブロックＬＢＡ０およびＬＢＡ１内に保存されている。図１５Ｄに示すように、ファイルシステムは、
１）ディレクトリのファイルエントリとディレクトリとをＬＢＡ０から読出すことを命令し、
２）ＬＢＡ１からディレクトリを読出すことを命令し、
３）上書きを行わずにデータを書込む位置を決定するために、ドライブ装置に各トラックのＮＷＡを問い合わせ、
３−１）ファイルのデータに対して割付けられた領域の位置情報を有するファイルの、ファイルエントリ（Ｄ６）を作成し、
３−２）新たなファイルが、読出されたディレクトリ（Ｄ２）内に登録されるように、ディレクトリ（Ｄ７）を作成し、
３−３）読出されたファイルエントリ（Ｄ１）内の位置情報が、更新されたディレクトリが割付けられる領域を指定するように変更して、ディレクトリのファイルエントリ（Ｄ１’）を作成し、
４）ファイルのデータ（Ｄ５）を、データ書込み用のトラック＃２内にあるＮＷＡ（ＬＢＡ１０）へ書込むことを命令し、
５）ファイルのファイルエントリ（Ｄ６）をメタデータ書込み用のトラック＃１内にあるＮＷＡ（ＬＢＡ３）から書込むことを命令し、
６）データが連続的に書込まれるように、ディレクトリ（Ｄ７）を次のアドレスへ書込むことを命令し、次いで、
７）更新されたファイルエントリ（Ｄ１’）を、ファイルエントリが上書きされるようにＬＢＡ０へ書込むことを命令する。
【０１３０】
このように、任意のデータを書込む前に、ファイルシステムはＮＷＡを問い合わせる。これは、ドライブ装置がリマッピングを用いてドライブ装置自体の中へデータを書込むと、ＮＷＡが変化し得るからである。次に、ファイルシステムは、データが上書きを行わずに書込まれるように、ＮＷＡからデータを書込む命令を与える。次いで、ファイルシステムは、書換えを伴って更新済みデータを書込むように命令する。データを書込むためのこの順序は、リマッピングテーブル内のエントリを節約するために重要である。
【０１３１】
図１５Ｂの場合には、書込み手順がこの順でなかった場合、すなわち、データＤ４が書込まれる前にデータＤ３’が書換えられた場合、データＤ３’はＰＢＡ１０９へ書込まれ得、ＮＷＡが変更される。このことは、データＤ４は書換えを伴ってＬＢＡ９へ書込まれるが、データはＰＢＡ１１０へリマップされるということを意味する。図１５Ｄの場合には、書込み手順がこの順序でなかった場合、同様に、追加のエントリがリマッピングテーブルに追加される。
【０１３２】
書換え可能なディスクの場合、このような必要条件はない。一般的に、書換え可能なディスクの場合には、書込み手順が誤って終了した場合の回復を考慮した信頼性を改善するために、異なる順序が用いられる。他方、追記形ディスクの場合には、このような回復は重要でない。それよりも、リマッピングテーブル内のエントリをセーブすることが重要である。これは、追記形の特徴上、以前の状態が残っているためである。
【０１３３】
図１１Ａおよび図１１Ｂは、追記形光ディスクにデータを書込むための手順を図示するフローチャートをそれぞれ含む。この書込み手順は、図５で説明した光ディスク情報記録再生システムによって実行される。
【０１３４】
ファイルを更新する際に、ファイルシステムは、データが上書きを行わずに書込まれるようにファイルのデータを書込むことを命令し、ファイルシステムは、書込まれたファイルエントリを更新することによってファイルエントリを作成し、また、そのファイルエントリが上書きされるように、ファイルエントリを書込むことを命令する。
【０１３５】
新たなファイルがディレクトリ下に記録されると、ファイルシステムは、そのファイルのファイルエントリを作成し、メモリ内にある書込まれたディレクトリとそのファイルエントリとを更新することによって、ディレクトリとそのディレクトリのファイルエントリとを作成し、また、上書きを行わずにファイル、ファイルエントリ、ディレクトリのデータを書込むように命令する。次いで、ファイルシステムは、そのファイルエントリが書換えられるようにディレクトリのファイルエントリを書込むことを命令する。
【０１３６】
図１６は、追記形光ディスクへデータを書込むための手順に含まれるステップを示す。プログラムはその手順を実施するために用いられ、システムコントローラ５１０に含まれているコントローラ５１１によって実行される。システムコントローラ５１０は、ドライブ装置５２０に、追記形光ディスクにデータを書込むように命令する。コントローラ５１１は半導体集積回路を含み得る。プログラムは様々な方法で提供される。たとえば、プログラムは、記録されたプログラムを有するコンピュータ可読媒体という形で提供され得る。代替的に、プログラムは、インターネットを介してサーバからプログラムをダウンロードすることによって提供され得る。プログラムが一度コンピュータへインストールされると、コンピュータはシステムコントローラ５１０として機能する。追記形光ディスクは、複数のトラックを含む。
【０１３７】
図１７Ａおよび図１７Ｂは、ドライブ装置５２０によって実行される手順を示す。
【０１３８】
ステップＳ１６０１において、システムコントローラ５１０は、書込まれるファイルに対して少なくとも１つのデータを指定する、書込みの要求をユーザから受け取る。たとえば、要求は、Ｄａｔａ−Ａファイルを新たなデータとして代替すること、あるいは他のメディアからディスク上のルートディレクトリ下へＤａｔａ−Ｂファイルをコピーすることの要求である。書込まれるデータは、システムコントローラ５１０内のメモリ５１２へ転送され、ディレクトリツリー構造内のパスネームによってデータの記録先が示されている。
【０１３９】
ステップＳ１６０２において、コントローラ５１１は、メタデータファイルのファイルエントリ、すなわちメタデータファイルＦＥを読出すようにドライブ装置５２０に命令する。メタデータファイルＦＥは、追記形ディスクからユーザによって要求されたファイルを管理するためのメタデータを含んでいる。このメタデータから、ファイルＦＥが取得される。
【０１４０】
ステップＳ１６０３において、コントローラ５１１は、複数のトラックのうちのそれぞれの位置を示すトラック情報を取得することをドライブ装置５２０に命令する。
【０１４１】
ステップＳ１６０４において、コントローラ５１１は各トラックをチェックし、メタデータファイルのファイルエントリおよびトラック情報に基づいて、メタデータを次に書込むトラックを決定する。トラックの一部がメタデータファイルまたはメタデータミラーファイルのエクステントに割当てられている場合、トラックは、それぞれメタデータファイルまたはメタデータミラーファイルへメタデータを書込むために用いられる。
【０１４２】
ステップＳ１６０５において、コントローラ５１１は、追記形光ディスク上のある位置からメタデータを読出すことによってメタデータを取得することをドライブ装置５２０に命令する。ファイルエントリ、ディレクトリ等のメタデータは、メタデータファイルから読出される。
【０１４３】
ステップＳ１６０６において、コントローラ５１１は、データを書込むことをドライブ装置５２０に命令する前に、トラック内で次にデータを書込む位置を示す、次の書込み可能なアドレスＮＷＡをドライブ装置５２０に問い合わせる。これは、ドライブ装置５２０がＮＷＡを移動させる可能性があるためである。ドライブ装置５２０は、問い合わせされたＮＷＡをシステムコントローラ５１０へ送り、システムコントローラ５１０はそのＮＷＡをコントローラ５１１へ送る。トラックは複数のトラックから選択される。コントローラ５１１は、複数のトラックに対するＮＷＡを問い合わせ得るが、ステップＳ１６０４で決定されたトラック以外のトラックに対するＮＷＡを、少なくとも１つ問い合わせる。
【０１４４】
ステップＳ１６０７において、コントローラ５１１は、ステップＳ１６０４で決定されたトラック内にある次の書込み可能なアドレスＮＷＡが有効であるか否かを決定する。そのトラック内にあるＮＷＡが有効でない場合、手順はステップＳ１６０８へ行く。たとえば、ステップＳ１６０６において無効なアドレスがＮＷＡとして返ってきた場合、そのトラック内にはＮＷＡは存在しないということが認識され得る。ステップＳ１６０４またはステップＳ１６０６において、ドライブ装置５２０への問い合わせを通じてトラックの状態が問い合わせられ得る。そのトラックが使用済みの状態であれば、そのトラック内にはＮＷＡは存在しない。
【０１４５】
ステップＳ１６０８において、コントローラ５１１は、次にメタデータを書込む第１のトラックと、次にデータを書込む第２のトラックとを割付けることをドライブ装置５２０に命令する。新たなトラックを割付けることをファイルシステムがドライブ装置５２０に命令すると、コントローラ５１１は、ステップＳ１６０６で取得したＮＷＡを第２のトラック内のＮＷＡに更新することができる。図１３の場合、ＮＷＡはトラック＃４およびトラック＃５の開始アドレスにある。第１のトラックおよび第２のトラックは、ステップＳ１６０６で選択されたトラック内に割付けられる。
【０１４６】
ステップＳ１６０９において、ユーザの書込み要求に応じて、コントローラ５１１は、書込まれるデータのタイプを区別することによって上書きされるデータ量が最小化されるように、メタデータの少なくとも一部を作成または更新する。図１１の説明で述べたように、ファイルを更新する際、ファイルシステムは、書込むデータの位置を指定するためにファイルエントリを作成する。このファイルエントリが、上書きされるデータである。新たなファイルをディレクトリ下に記録する場合、ファイルシステムは新たなファイルのファイルエントリを作成し、ディレクトリを更新してその新たなファイルとディレクトリのファイルエントリとを登録する。ディレクトリのファイルエントリは上書きされるデータであり、その他のメタデータは上書きを行わずに書込むことのできるデータである。更新済みのメタデータの例として、更新済みのメタデータは、ファイルが記録されているディレクトリのファイルエントリか、そのファイルのファイルエントリかを含み得る。
【０１４７】
ステップＳ１６１０において、コントローラ５１１は、上書きを行わずに書込むことのできるデータをＮＷＡによって示された位置へ書込むことをドライブ装置５２０に命令する。
【０１４８】
ステップＳ１６１１において、コントローラ５１１は、ドライブ装置５２０に、メタデータを読出す位置にある更新済みメタデータのうちの少なくとも一部を、データが論理セクタ内へ上書きされるように書込むことを命令する。ドライブ装置５２０は、ステップＳ１７０２において論理セクタの状態をチェックすることによって、データが上書きを伴って書込まれるべきか、上書きされずに書込まれるべきかを決定することができるため、ステップＳ１６１０およびステップＳ１６１１において、データを書込むことを命令するために同様の書込みコマンドを用いることができる。ステップＳ１６１０およびステップＳ１６１１において、データは、異なる方法で示された異なるアドレスへ書込まれる。たとえば、ステップＳ１６１０はユーザの書込み要求（ステップＳ１６０１）によって指定されたデータを書込み、ステップＳ１６１１は読出された（ステップＳ１６０２）メタデータを書込む。考えられるエラーを避けるために、ステップＳ１６１１はステップＳ１６１０の後に実行される。
【０１４９】
ステップＳ１６１２において、コントローラ５１１は、第１のトラックが割付けられ、更新されたメタデータのうちの少なくとも一部が第１のトラック内に書込まれたか否かを決定する。第１のトラックが割付けられ、更新されたメタデータのうちの少なくとも一部が第１のトラック内に書込まれたと決定された場合、プロセスはステップＳ１６１３へ進む。
【０１５０】
ステップＳ１６１３において、コントローラ５１１は、更新済みのメタデータのうちの少なくとも一部の書込みを反映するように、メタデータファイルのファイルエントリを更新し、ステップＳ１６０２でメタデータファイルのファイルエントリを読出した位置にメタデータファイルの更新済みファイルエントリを書込むことをドライブ装置５２０に命令する。
【０１５１】
コントローラ５１１からのデータ書込み命令に応じて、ドライブ装置５２０が続いて行う手順を図１７Ａに示す。
【０１５２】
ステップＳ１７０１において、ドライブ装置５２０は、少なくともデータを書込む論理セクタを指定する、書込み命令をコントローラ５１１から受け取り、どのトラックに書込むかをチェックする。ドライブ装置５２０はまた、複数のトラックのそれぞれの位置を示すトラック情報を取得し、トラックのそれぞれから、書込み命令とトラック情報とによって指定された論理セクタに基づいて、次にデータを書込むトラックを決定する。
【０１５３】
ステップＳ１７０２において、ドライブ装置５２０は、書込み命令によって指定された論理セクタが記録済みの物理セクタまたは未記録の物理セクタに対応しているか否かを決定する。このチェックの際、ドライブ装置５２０は、コントローラ５１１によって書込みを命令された論理セクタ番号を用いて、物理セクタの状態を判断する。論理セクタ番号がＮＷＡよりも小さい場合、物理セクタは記録済みであり、そうでなければ未記録である。書込み命令によって指定された論理セクタが未記録の物理セクタに対応している場合、プロセスはステップＳ１７０３へ進む。そうでなければ、論理セクタが記録済みのセクタと対応している場合には、プロセスはステップＳ１７０４へ進む。
【０１５４】
ステップＳ１７０３において、ドライブ装置５２０は、あらかじめ論理セクタと対応している未記録の物理セクタへデータを書込む。
【０１５５】
ステップＳ１７０４において、ドライブ装置５２０は、ステップＳ１７０１で決定された、トラック内にある次の書込み可能なアドレスによって示された物理セクタへデータを書込む。データがＥＣＣブロックを基準にリマップされる場合、他の未記録の物理セクタは、次の書込み可能なブロックであるＥＣＣブロックに属するセクタの１つである。たとえば、ＥＣＣブロックが３２セクタからなる場合、そのＥＣＣブロック内の第２のセクタは上書きされるように命令され、データは、次の書込み可能なＥＣＣブロック内にある第２のセクタへ物理的に書込まれる。このように、ＥＣＣブロック内での相対アドレスは、リマップされたＥＣＣブロックに対して維持される。
【０１５６】
ステップＳ１７０５において、ドライブ装置５２０は、リマッピング情報を含むリマッピングテーブルを生成する。リマッピング情報は、記録済みの物理セクタの元のアドレスを、次の書込み可能なアドレスによって示された物理セクタのリマッピングアドレスへリマップする。また、ドライブ装置５２０は、リマッピング情報を欠陥リスト／リマッピングテーブルに保存する。ＥＣＣブロックが３２セクタからなる場合、元のアドレスは、元の物理セクタが属するＥＣＣブロックの開始アドレスであり、リマップ済みアドレスは、リマップ済みの物理セクタが属するＥＣＣブロックの開始アドレスである。
【０１５７】
コントローラ５１１からのトラック予約命令に応じて、ドライブ装置５２０が続いて行う手順を図１７Ｂに示す。
【０１５８】
ステップＳ１７１１において、ドライブ装置５２０は、コントローラ５１１から割付け命令を受け取り、その割付け命令に応じて少なくとも１つのトラックを割付ける。少なくとも１つのトラックを割付けることは、ステップＳ１７０１で決定されたトラック内にある、第１のトラックと第２のトラックとを割付けることを含む。
【０１５９】
消費者のためのビデオレコーダまたは消費者のためのビデオプレーヤ等の記録再生システムに本発明を適用した場合、コントローラ５１１およびドライブ装置５２０は、図１８に示す一般的なマイクロプロセッサによって制御され得る。この場合、記録再生システムがＮＷＡを知っているため、コントローラ５１１はドライブ装置５２０にＮＷＡを問い合わせなくてもよい。ディスクがドライブユニットへローディングされたときに、初めに各トラック内のＮＷＡがチェックされ、その後、何らかのデータが書込まれた後、このシステムはＮＷＡを管理することができる。
【０１６０】
図１８は、消費者のためのビデオレコーダまたは消費者のためのビデオプレーヤの一部である、光ディスク情報記録再生システム１８００を示す。情報記録再生システム１８００は、コントローラ１８１１と、メモリ１８１２と、光ディスクから情報を読出したり、光ディスクへ情報を書込んだりするためのドライブメカニズム５２３とを備える。コントローラ１８１１は、たとえば、ＣＰＵ（中央処理装置）のような半導体集積回路であり得、本発明の実施形態に記載の方法を実行する。さらに、実施形態に記載の方法をコントローラ１８１１に実行させるためのプログラムがメモリ１８１２に格納されている。コントローラ１８１１において、ファイルシステムか、ユーティリティプログラムか、デバイスドライバかが実行され得る。ドライブメカニズム５２３はコントローラ１８１１によって制御され得る。
【０１６１】
図１９は、図１８において説明する情報記録再生システムによって追記形光ディスクへデータを書込むための手順を示すフローチャートである。
【０１６２】
ステップＳ１９０１において、コントローラ１８１１はユーザからの要求を受け取る。たとえば、要求はＤａｔａ−Ａファイルを新たなデータとして代替すること、あるいはＤａｔａ−Ｂファイルを他のメディアからこのディスク上のルートディレクトリへコピーすることへの要求である。書込まれるデータはメモリ１８１２へ転送され、ディレクトリツリー構造内のパスネームによってデータの記録先が示される。
【０１６３】
ステップＳ１９０２において、ファイルシステムは、メタデータファイル  ＦＥであるデータを読出してメタデータファイルおよびメタデータミラーファイルに対して割付けられた領域を認識することを、ドライブ装置に命令する。
【０１６４】
ステップＳ１９０３において、ファイルシステムはトラック情報を取得することをドライブ装置に命令する。
【０１６５】
ステップＳ１９０４において、ファイルシステムは、トラックがメタデータ書込みに使用されているか、各トラックをチェックする。そのトラックの一部がメタデータファイルまたはメタデータミラーファイルのエクステントに割当てられている場合、トラックは、それぞれメタデータファイルまたはメタデータミラーファイルへメタデータを書込むために用いられる。
【０１６６】
ステップＳ１９０５において、ファイルシステムはユーザが要求しているディレクトリまたはファイルを引き出すためにデータを読出す。ファイルエントリやディレクトリ等のメタデータがメタデータファイルから読出される。
【０１６７】
ステップＳ１９０６において、ファイルシステムはデータの書込み前のＮＷＡを取得する。
【０１６８】
ステップＳ１９０７において、ファイルシステムは、各トラックが使用されているか否かをチェックする。メタデータ書込み用のトラックが使い果たされている場合、ステップＳ１９０８へ行く。
【０１６９】
ステップＳ１９０８において、ドライブ装置は、データ書込みに用いられるトラック内に、予約済みトラックとして新たなトラックを割当てる。
【０１７０】
ステップＳ１９０９において、ユーザの要求に応じて、ファイルシステムは、書込むデータのタイプを区別することによって、上書きするデータ量が最小化されるように、メタデータの一部を作成する。図１１の説明で述べたように、ファイルを更新する際、ファイルシステムは、書込むデータの位置を特定するためにファイルエントリを作成する。このファイルエントリが、上書きされるデータである。新たなファイルがディレクトリ下に記録されると、ファイルシステムはその新たなファイルのファイルエントリを作成し、ディレクトリを更新してその新たなファイルとディレクトリのファイルエントリとを登録する。ディレクトリのファイルエントリは上書きされるデータであり、その他のデータは上書きを行わずに書込むことのできるデータである。データタイプは、タイプＩ：上書きの必要がないものと、タイプＩＩ：上書きの必要のあるものとに区別される。
【０１７１】
ステップＳ１９１０において、ファイルシステムは、タイプＩのデータをＮＷＡから論理セクタへ書込むように命令する。次いで、ステップＳ１９１１へ行く。ステップＳ１９１１は上書きを行わずにデータを書込む操作である。
【０１７２】
ステップＳ１９１２において、ファイルシステムは、タイプＩＩのデータを論理セクタへ書込むように命令する。次いで、ステップＳ１９１３へ行き、データを論理セクタ内へ上書きする操作を実行する。データを書込むために命令された書込みコマンドは、タイプＩとタイプＩＩとでは異なり得る。
【０１７３】
ステップＳ１９１１において、データは、あらかじめ論理セクタと対応している物理セクタへ書込まれる。
【０１７４】
ステップＳ１９１３において、データは、論理セクタに論理的に上書きされ、他の未記録の物理セクタ、特にＮＷＡに、物理的に書込まれる。
【０１７５】
ステップＳ１９１４において、あらかじめ論理セクタと対応している物理セクタの元のアドレスと、データが書込まれた物理セクタのリマッピングアドレスとを特定するために、リマッピング情報のようなエントリが作成され、このエントリは欠陥リストへ保存される。
【０１７６】
ステップＳ１９１５において、ファイルシステムは、メタデータファイルおよびメタデータミラーファイルのエクステントとして割付けられた領域が拡張されているか否かをチェックする。その領域が拡張されている場合、ステップＳ１９１６へ行く。
【０１７７】
ステップＳ１９１６において、ファイルシステムは、拡張された領域をファイルエントリが特定するようにメタデータファイルおよびメタデータミラーファイルのファイルエントリを変更し、ステップＳ１９０２で読出した論理セクタ内にそのファイルエントリを書込むことをドライブ装置に命令する。
【０１７８】
先に説明した図１６、図１７Ａ、図１７Ｂ、図１９の方法を用いてディスクデータが書込まれている追記形ディスクからの、再生手順を以下に説明する。図２０は、図５および図１８において説明する情報記録再生システムによって追記形光ディスクからデータを読み出すための手順を示すフローチャートである。図２０において、記録再生システムは、少なくともデータを読出す論理セクタを特定する、読出し命令を受け取る。
【０１７９】
ステップＳ２００１において、リマッピングテーブルに保存されている全てのエントリの元のアドレスが検索される。読出される論理セクタ番号が命令されると、あらかじめその論理セクタと対応している物理セクタ番号が、物理セクタがリマップされていることを示すエントリを検索するために用いられる。リマッピングがＥＣＣブロックを基準として実行される場合、ＥＣＣブロックの開始アドレスがエントリ内に登録される。この場合、物理セクタ番号がリマップ済みＥＣＣブロックに属しているか否かがチェックされる。図５で説明したような情報記録再生システムの場合、この操作はドライブ装置によって行われ得る。
【０１８０】
ステップＳ２００２において、エントリが見つかった場合、ステップＳ２００３へ行き、そうでなければステップＳ２００４へ行く。
【０１８１】
ステップＳ２００３において、物理セクタの元のアドレスは、その物理セクタのリマッピングアドレスで代替される。このリマッピングアドレスは、見つかったエントリ内に示されている。ステップＳ２００２でエントリが見つからなかった場合、読出されるアドレスは、読出し命令によって指定された論理セクタに対応する、物理セクタのアドレスと決定される。Ｓ２００２でエントリが見つかった場合、読出されるアドレスは、リマッピングテーブル内で見つかった元のアドレスに対応する、リマッピングアドレスと決定される。
【０１８２】
ステップＳ２００４において、所定のアドレスでデータが読出される。
【０１８３】
先に説明したように、アドレスが見つからない場合、データはあらかじめ論理セクタと対応している物理セクタから読出される。それは、論理セクタ内に保存されたデータは他の物理セクタへリマップされていないということをリマッピングテーブルが示しているためである。
【０１８４】
アドレスが見つかると、見つかったリマッピング情報の中のリマッピングアドレスによって特定される物理セクタから、データが読出される。それは、その論理セクタ内に保存されたデータはリマップ済みであるということをリマッピングテーブル内で見つかったエントリが示しているためである。
【０１８５】
ボリューム空間内でデータをリマップする場合、特に、スペア領域へリマップするのではなく、トラック内のＮＷＡへリマップする場合、データはより速く読出される。
【０１８６】
上記の実施形態において説明したように、本発明は、上書きされるデータ量をファイルシステムが最小化し、また、上書きを行わずにデータを書込む場合には、ドライブ装置へ問い合わせることによって未記録のセクタへデータを書込むことをファイルシステムが命令するという前提に基づいて、ドライブ装置へ適用され得る。
【０１８７】
（実施形態４）
本実施形態では、一例として、ＵＤＦファイルシステムの実施のためのガイドラインおよび必要条件を説明する。
【０１８８】
（疑似書換え方法を用いることの利点）
物理的特性による複雑性を軽減するために、疑似書換え可能なメディアとして、上書き可能な特徴を備えた新規なシーケンシャル記録媒体が導入される。疑似書換え方法は、この疑似書換え可能なメディアへ適用される。以下は、新規なシーケンシャル記録媒体を導入することの一部の利点を示す。
１）書換え可能なメディアと同様、上書き可能なボリューム空間と欠陥のない空間とが提供される。換言すれば、上書き可能なメカニズムと欠陥管理とをサポートするドライブユニットによって追記形ディスクとの互換性が保証されている。
２）疑似書換えメディアをサポートする読取り専用ドライブユニットは未記録領域へのアクセスを有するため、セッションのクローズやボーダのクローズが不要である。
３）メタデータパーティションとそのミラーを使用することができる。
【０１８９】
（疑似書換え可能なメディアの特性）
疑似書換え可能なメディアの物理的特性を、ファイルシステムドライバが要求する観点から説明する。
【０１９０】
疑似書換え可能なメディアは、ボリューム空間内の論理セクタに対し、マルチトラック記録および上書き可能な機能をサポートする。２つ以上のトラックを記録に用いることができる。新たなトラックを予約済みトラックとして割当てることができる。空間管理を単純化するために、シーケンシャルな記録方式はトラック内で使用される。記録可能な領域に対するポインタは次の書込み可能なアドレス（ＮＷＡ）であり、これはドライブ装置の問い合わせを通じて取得される。
【０１９１】
データが記録済みの論理セクタへ記録されるように意図されている場合、データはスペア領域内にリニアリプレースメントアルゴリズムによって記録されるか、ボリューム空間内のＮＷＡへ記録されるかのいずれかである。ボリューム空間内のＮＷＡへデータをリマップすることの利点としては、スペア領域が全て記録済みであったとしても、全ての利用可能なメディア容量を使用することができるということである。Ｒｅａｄ  ｍｏｄｉｆｙ  ｗｒｉｔｅ操作もサポートされているため、各論理セクタは個別に上書きされ得る。
【０１９２】
データが元のアドレスから代替またはリマップされるアドレス情報は、ボリューム空間の欠陥リストエントリとして保存され、ドライブ装置によって管理されている。
【０１９３】
（ファイルシステムによる書込み方針）
一般的に、トラックは、たとえばメタデータ、あるいは音声／映像データ、静止画像データ、音楽データのような特定のデータ等、データタイプを考慮することによって割当てることが可能である。マルチトラック記録では、予約されたトラックが使い果たされると、記録済みのデータ量に適合可能な新たなトラックが割当てられる。メタデータ書込み用のトラックは、メタデータファイルまたはメタデータミラーファイルの拡張として、明示的に示されている。
【０１９４】
ボリューム空間の終端にトラックが割当てられた後には新たなトラックを割当てることができないという制限を疑似書換えメディアが有する場合、１つのＡＶＤＰのみがＬＳＮ２５６に記録されるという中間状態においてマルチトラック記録が用いられる。ＥＣＭＡ１６７の必要条件に従うためには、ＡＶＤＰは３つの位置（すなわちＬＳＮ２５６、ＬＳＮ−２５６、Ｌａｓｔ  ＬＳＮ）のうち少なくとも２つの位置に記録されることになる。この例では、ＡＶＤＰを記録するためにＬａｓｔ  ＬＳＮ−２５６またはＬａｓｔ  ＬＳＮへトラックが割当てられる。
【０１９５】
メタデータミラーファイルも使用可能である。ディスクを保管用に保存する場合、メタデータミラーファイルを作成することが薦められる。各トラックの記録条件によって各トラック内のＮＷＡのオフセットは時として同じでないこともあり得るが、オンラインの利用の場合、実装はメタデータファイルおよびメタデータミラーファイル内に記録されている内容が各ファイル内に同様のオフセットを有するように記録するようにされる。
【０１９６】
図２１Ａは、論理フォーマット後のトラックレイアウトの一例を示す。初めに、ＬＳＮ２５６にＡＶＤＰを含むボリューム構造と、それに関連するファイル構造とが記録される。次いで、メタデータ記録用にトラックが割当てられ、メタデータはそのトラック内に記録される。ボリューム空間内の残りの領域は、ファイルデータ記録に使用される。
【０１９７】
図２１Ｂは、いくつかのファイルが記録された後のトラックレイアウトの一例を示す。第１のトラックが使い果たされた後、新たなトラックが割当てられている。このように、追加のトラックが次々に割当てられ得る。
【０１９８】
図２１Ｃは、いくつかのファイルが記録された後のトラックレイアウトの一例を示す。メタデータ記録用のトラックが使い果たされると、メタデータファイル用の追加の、トラックではなく領域が、エクステントとしてデータトラック内に割り付けられ得る。
【０１９９】
（ファイルシステムに対する必要条件）
疑似書換え方法に対する必要条件を、以下のように挙げる。
１）実装は、ドライブユニットへ問い合わせることによって疑似書換えメディアを認識するようにされる。
２）未割付け空間ビットマップおよび未割付け空間テーブルが記録されない。
３）メタデータビットマップファイルが記録されない。
４）実装は、常に、追加のデータ記録を書込む前に各トラック内のＮＷＡを問い合わせるべきである。書込みコマンドが既に記録済みの領域に対して出されている場合、欠陥リストエントリが用いられる。したがって、欠陥リストのサイズが制限されるため、この必要条件は不必要な欠陥リストを削減するために重要である。
５）同様の理由で、消去されたブロックはＮＷＡを問い合わせるため再度使用されるべきでない。
６）上書きされるメタデータは最小化されるべきである。ディレクトリファイルエントリのみを上書きすることが薦められる。
【産業上の利用可能性】
【０２００】
本発明は、論理的な上書き可能メカニズムを用いた、追記形ディスクへの記録方法と、記録装置または再生装置内で使用するための半導体集積回路とを提供するのに有用である。
【図面の簡単な説明】
【０２０１】
【図１】図１は、ファイルを記録する際の領域の構成を示す図である。
【図２】図２は、図１に示す状態を有するディスクのルートディレクトリ内にＤａｔａ−Ａファイルを記録する際の領域の構成を示す図である。
【図３】図３は、より大きなスペア領域を有するディスクのルートディレクトリ内にＤａｔａ−Ａファイルを記録する際の領域の構成を示す図である。
【図４】図４は、ファイルを記録するための手順を示すフローチャートである。
【図５】図５は、光ディスク情報記録再生システムを示す図である。
【図６】図６は、ドライブ装置とシステムコントローラとの間でのコマンドのやり取りを示す図である。
【図７】図７Ａ〜図７Ｄは、書換え可能なディスクの場合と追記形ディスクの場合とに対し、データがリマップされる際のユーザデータ領域内のブロックを示す図をそれぞれ含む。
【図８】図８Ａおよび図８Ｂは、データがＮＷＡへ書込まれる際の、ユーザデータ領域内のブロックを示す図をそれぞれ含む。
【図９】図９は、リマッピングテーブルのデータ構造を示す図である。
【図１０】図１０Ａ〜図１０Ｅは、マルチトラック記録の方針を説明するための、領域の構成を示す図をそれぞれ含む。
【図１１】図１１は、疑似書換え方法を説明するための、領域の構成を示す図である。
【図１２】図１２は、メタデータミラーファイル内にメタデータを書込むためのトラックを有する領域の構成を示す図である。
【図１３】図１３は、メタデータ書込み用の新しいトラックが割当てられた後の領域の構成を示す図である。
【図１４】図１４は、メタデータ書込み用の新しいトラックへメタデータが書込まれた後の領域の構成を示す図である。
【図１５】図１５Ａ〜図１５Ｄは、疑似書換え方法を用いてデータが書込まれる際の、ユーザデータ領域内のブロックを示す図をそれぞれ含む。
【図１６】図１６は、光ディスク情報記録再生システムのコントローラにおいて実行されるファイルシステムによってデータを書込むための手順を示すフローチャートである。
【図１７】図１７Ａ〜図１７Ｂは、光ディスク情報記録再生システムのドライブ装置によってデータを書込むための手順を示すフローチャートである。
【図１８】図１８は、消費者ビデオレコーダまたは消費者ビデオプレイヤーの一部である光ディスク情報記録再生システムを示す図である。
【図１９】図１９は、図１８において説明する記録再生システムによって追記形光ディスクへデータを書込むための手順を示すフローチャートである。
【図２０】図２０は、図５および図１８において説明する記録再生システムによって追記形光ディスクからデータを読出すための手順を示すフローチャートである。
【図２１】図２１Ａ〜図２１Ｃは、論理フォーマット後および一部のファイルの記録後のトラックレイアウトの一例をそれぞれ含む。
【図１】
2007536675.tif 000003
【図２】
2007536675.tif 000004
【図３】
2007536675.tif 000005
【図４】
2007536675.tif 000006
【図５】
2007536675.tif 000007
【図６】
2007536675.tif 000008
【図７】
2007536675.tif 000009
【図８】
2007536675.tif 000010
【図９】
2007536675.tif 000011
【図１０】
2007536675.tif 000012
【図１１】
2007536675.tif 000013
【図１２】
2007536675.tif 000014
【図１３】
2007536675.tif 000015
【図１４】
2007536675.tif 000016
【図１５】
2007536675.tif 000017
【図１６】
2007536675.tif 000018
【図１７】
2007536675.tif 000019
【図１８】
2007536675.tif 000020
【図１９】
2007536675.tif 000021
【図２０】
2007536675.tif 000022
【図２１】
2007536675.tif 000023
【国際調査報告】
2007536675.tif 000024
2007536675.tif 000025
2007536675.tif 000026