(57)【特許請求の範囲】
【請求項１】
記録セッション中、ディスク上でデータを記録する際にバッファ・アンダーランを処理する方法であって、
記録セッションのボリューム記述子シーケンスを記録するステップと、
ボリューム記述子シーケンスに続いて記録セッションのデータを記録するステップと、
バッファ・アンダーランの発生によって記録セッションのトラックを終了するステップと、
記録セッションの次のトラックにおいてデータの続きを記録するステップと、
次のトラックに記録されたデータに続いてファイルシステムを書き込むステップと、
を備え、
前記ボリューム記述子シーケンスが前記ファイルシステムへのポインタを有し、
前記ポインタは、予想されるバッファ・アンダーランの発生数に応じて設定される方法。
【請求項２】
トラック終了動作及び次のトラックでのデータの続きの記録が、ファイルシステムを書き込む前に記録セッション中に発生する可能性のある他の任意のバッファ・アンダーラン発生時に繰り返され、二つ以上のバッファ・アンダーランが存在する時、次のトラックはその記録セッションで書き込まれる最後のトラックを表す、請求項１記載の方法。
【請求項３】
前記ポインタによって示される位置は、前記予想される前記バッファ・アンダーランの発生数に応じて、ずらされる、請求項１記載の方法。
【請求項４】
更に、
記録セッション中にディスク上に記録されるデータのファイルの論理ブロック番号の経過を追うステップ、
を備える請求項１記載の方法。
【請求項５】
ディスク上の一つ以上のファイルの記録に関連するバッファ・アンダーランを処理するためのプログラム命令を有するコンピュータ読取可能な媒体であって、
記録セッションのボリューム記述子シーケンスを記録するためのプログラム命令と、
ボリューム記述子シーケンスに続いて記録セッションのデータを記録するためのプログラム命令と、
バッファ・アンダーランの発生によって記録セッションのトラックを終了するためのプログラム命令と、
記録セッションの次のトラックにおいてデータの続きを記録するためのプログラム命令と、
次のトラックに記録されたデータに続いてファイルシステムを書き込むためのプログラム命令と、
を備え、
前記ボリューム記述子シーケンスがファイルシステムへのポインタを有し、トラック終了命令及び次のトラックでのデータの続きの記録が、ファイルシステムを書き込む命令が実行される前に記録セッション中に発生する可能性のある他の任意のバッファ・アンダーラン発生時に繰り返され、二つ以上のバッファ・アンダーランが存在する時、次のトラックがその記録セッションで書き込まれる最後のトラックを表し、
更に、前記ポインタを、予想されるバッファ・アンダーランの発生数に応じて設定するためのプログラム命令を備えるコンピュータ読取可能な媒体。
【請求項６】
請求項５記載のコンピュータ読み取り可能な媒体であって、
前記ポインタの設定のためのプログラム命令は、前記ポインタによって示される位置を、前記予想される前記バッファ・アンダーランの発生数に応じて、ずらすためのプログラム命令を含む、コンピュータ読み取り可能な媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は光ディスク上へのデータ記録に関し、特に、記録セッション時におけるバッファアンダーランの処理方法に関する。
【０００２】
【従来の技術】
光ディスクは、比較的小さく安価な光ディスクで、比較的大容量のデータストレージ（約６４０メガバイト等）を実現する。光ディスクでは、通常、ディスク上の渦巻き型のトラックにデータファイルの記録（「焼き付け」と呼ばれる場合もある）が行われ、光ディスクは通常１〜９９のトラックを保持できる。通常、ファイルのアドレス情報を含むファイルシステム（ＦＳ）がセッション開始時に記録される。ファイルのアドレス情報には、ファイルのディレクトリ構成を示すパス表に対するアドレスポインタ付きのボリューム記述子シーケンス、及びファイルの位置と論理ブロック番号とを示すディレクトリ記述子が含まれる。従来（及びＩＳＯ規格９６６０準拠）、ボリューム記述子シーケンスは、記録セッションの第１トラックのセクタ１６（及び必要に応じてセクタ１６に続くセクタ）に記録される。ＩＳＯ９６６０仕様（情報処理−情報交換のためのＣＤ−ＲＯＭのボリューム及びファイル構造とも呼ばれる）を参考にできる。
【０００３】
記録を行う際、記録するためのデータファイルは、通常、ハードディスクドライブから検索され、高速アクセスバッファメモリに転送され、バッファメモリ上のファイルが記録セッション中に光ディスクのトラックに連続的に記録される。しかし、光ディスクの記録速度が４倍（１倍は標準の音楽再生速度として定義される）を超えると、光ディスクでの記録速度は、ハードディスクドライブのデータソースが、データをバッファメモリに補給可能な速度を頻繁に上回るようになる。バッファメモリから光ディスクの一定のトラックに、ファイルを中断なく記録できる程度に連続的にデータを供給できなくなると、バッファ・アンダーランが発生する。バッファ・アンダーランが発生すると、焼き付けは停止する。通常、一つのトラックの終わりと別のトラックの始まりとの間には、１５０セクタの前ギャップと１５０セクタの後ギャップにより合計３００セクタのギャップ（約７００キロバイト）が存在する。（バッファ・アンダーラン後に記録された）残りのファイルの新しいアドレスは、セッション開始時に記録されたＦＳには正確に反映されないため、このトラック間のギャップはファイルのアドレス指定に問題を引き起こす。そのため、バッファ・アンダーラン後に記録された特定のファイルを読み込む際には、ギャップによってファイルへのアクセスが不正確になる。ハードディスクドライブでのデータソースからのデータ検索のアクセス速度及び転送速度と、バッファメモリの容量および読み込み／書き込み速度と、光ディスク上での連続的なデータ記録に必要なデータ転送速度とに応じて、記録セッション中にバッファ・アンダーランは複数発生する可能性がある。
【０００４】
光ディスク記録中にバッファ・アンダーランが生じた場合の結果は、記録に使用する光ディスクの種類によって異なる。ＣＤ−Ｒ光ディスクでは一度しか記録ができないから、通常、アクセス不能な残りファイルがあれば、そのＣＤ−Ｒは廃棄し、記録をやり直すために新しいＣＤ−Ｒ光ディスクと交換する。ＣＤ−Ｒ／Ｗ光ディスクでは、ディスクを消去して、記録セッションをやり直せるため、数回の記録が行える。しかし、繰り返しの記録セッションは、特に大きなトラックを記録する場合、相当な時間を要する恐れがある。更に、光ディスクがＣＤ−ＲであるかＣＤ−Ｒ／Ｗであるかに関係なく、繰り返しの記録セッション中に再度バッファ・アンダーランが発生し、（ＣＤ−Ｒ光ディスクの場合は）光ディスク全体でなくとも、記録セッションにかかる時間の損失につながる恐れがある。
【０００５】
図１は光ディスクにおける従来技術のトラック１００を示す説明図である。バッファ・アンダーランが発生した記録セッションによって生じた状態を示している。ファイルシステム（ＦＳ）１０２がトラックの最初（セッションの開始を表す）に記録され、データ１０４の記録がこれに続き、バッファ・アンダーラン１０６によって停止する。破線は、バッファ・アンダーランが発生しなければトラック１００に記録されていたはずのデータのうち、欠落した残部１０８を示している。
【０００６】
図２は従来技術のトラック１００に関し、ファイルアドレスと実際のファイルアドレスとの間に、バッファ・アンダーランによって生じた差異を示す説明図である。ＦＳ１０２がトラックの最初（セッションの開始を表す）に記録され、データ１０４の記録がこれに続き、バッファ・アンダーラン１０６によって停止する。データの残部１０８は、バッファ・アンダーラン１０６後にトラック２に記録される。ＦＳ１０２は、バッファ・アンダーラン１０６発生以前に記録され、点線で示したファイルＮ’を示すアドレス１１２を指す。ＦＳ１０２のアドレスでは、ファイルN’が第一のトラック１００に位置していると見なすが、これは正しくない。ファイルＮの実際のアドレス１１４は、実線で示されており、バッファ・アンダーラン１０６の結果、第二のトラック１１０に位置している。
【０００７】
【発明が解決しようとする課題】
こうしたバッファ・アンダーランは、従来の記録システムにおいて、いくつかの問題を引き起こす。ファイルのトラックへの記録が停止し、元のトラックとバッファ・アンダーラン後に記録された残存ファイルの新しいトラックとの間に物理的なギャップが形成される。バッファ・アンダーラン後に記録されたファイルのアドレスは、こうした物理的なギャップのため、バッファ・アンダーラン以前に記録されたＦＳによって示されるファイルのアドレスに対応しない。バッファ・アンダーラン後に記録されたファイルのアドレスは正しくないため、ディスクの消去及び再書き込みができない場合、記録全体を別のディスクで繰り返さなくてはいけない。若しくは、同じディスクの消去と再書き込みが可能な場合（ＣＤ−Ｒ／Ｗ等）、中断された記録セッション中に作成されたトラックは消去及び再書き込みしなくてはいけない。いずれの場合も、バッファ・アンダーランの結果、記録セッションを繰り返すことにより、余計な時間及びコストが必要になる。
【０００８】
前述した観点から、光ディスクの記録セッション中にバッファ・アンダーランを処理できる方法についての必要性が存在する。この方法は、従来技術の問題を避けるように構成するべきである。
【０００９】
【課題を解決するための手段およびその作用・効果】
本発明は、上述の課題を解決するためになされ、光ディスクの記録セッション中にバッファ・アンダーランを処理できる方法を提供する。本発明は、記録セッション中にバッファ・アンダーランが発生するか否かに関係なく、記録セッションにおけるファイルシステムのアドレス指定の正確さを維持する方法である。本発明は、プロセス、装置、システム、装置、方法、又はコンピュータ読取可能な媒体を含め、多数の方法で実現可能である。本発明のいくつかの態様を以下で説明する。
【００１０】
一つの態様としての、光ディスクへのファイルの記録中にバッファ・アンダーランを処理する方法は次の通りである。この方法では、光ディスク上でのファイルの記録に関するファイルシステムを記録するためのトラックを予約する。次に、該光ディスクにおいて、予約したトラックに論理的に続くトラックにファイルを記録する。バッファ・アンダーランが生じると、この方法では、現在のトラックを閉じて、ギャップに続くトラックを開始する。こうしてバッファ・アンダーラン毎にギャップが挿入される。ファイルシステムのパス表及びディレクトリ記述子は、ファイルの記録後に書き込まれる。ファイルシステムのボリューム記述子シーケンスは、パス表及びディレクトリ記述子の記録後に、予約トラックに記録される。
【００１１】
別の態様における、バッファ・アンダーランの処理方法は次の通りである。この方法では、光ディスク上のファイルの記録に関するファイルシステムを記録するためのトラックを予約する。トラックの予約後、その予約トラックに論理的に続くトラックにファイルの記録が行われる。ファイルシステムのパス表及びディレクトリ記述子は、ファイルの記録後に記録される。ファイルシステムのボリューム記述子シーケンスは、パス表及びディレクトリ記述子の記録後に、予約トラックに記録される。バッファ・アンダーランが生じる度に、現在のトラックが閉じられ、次のトラックで記録が再開される。
【００１２】
更に別の態様としての、ディスクへのデータファイルの記録に関するバッファ・アンダーランを処理するプログラム命令を有するコンピュータ読取可能な媒体は次の通りである。このコンピュータ読取可能な媒体は、（ａ）光ディスク上でのデータファイルの記録に関するファイルシステムを記録するトラックを予約するためのプログラム命令と、（ｂ）予約したトラックに論理的に続くトラックにおいて、データファイルの記録を行うためのプログラム命令と、（ｃ）バッファ・アンダーラン発生時に記録セッション中のトラックを終了するためのプログラム命令と、（ｄ）記録セッション中のトラックに続くトラックにおいて、データファイルの続きを記録するためのプログラム命令と、（ｅ）新たなバッファ・アンダーラン発生時に、次のトラックの終了及びデータファイルの記録の継続を繰り返すためのプログラム命令と、（ｆ）ファイルシステムのパス表及びディレクトリ記述子を記録するためのプログラム命令と、（ｇ）パス表及びディレクトリ記述子を記録した後の時点において、予約トラックにファイルシステムのボリューム記述子シーケンスを記録するためのプログラム命令とを含む。
【００１３】
更に別の態様としての、バッファ・アンダーランを処理する方法は次の通りである。この方法は、（ａ）光ディスクへのファイルの記録に関するファイルシステムを記録するトラックの予約と、（ｂ）予約したトラックに論理的に続くトラックにおけるデータファイルの記録と、（ｃ）ファイルの記録後における、ボリューム記述子シーケンスを除くファイルシステムの記録と、（ｄ）予約トラックに対するファイルシステムのボリューム記述子シーケンスの記録とを含む。この態様においては、更に、（ｉ）光ディスク上に記録するデータが利用できない場合のファイルの記録中におけるトラックの終了と、（ｉｉ）記録に利用できない多数の残存ファイルの再計算と、（ｉｉｉ）多数の残存ファイルの記録の再開とを含む。
【００１４】
別の態様としての、記録セッション中にディスク上でのデータ記録時のバッファ・アンダーランを処理する方法は次の通りである。この方法では、記録セッションのボリューム記述子シーケンスを記録し、ボリューム記述子シーケンスに続いて、その記録セッションのデータを記録する。記録セッションのトラックは、その後、バッファ・アンダーランの発生時に閉じられる。データの記録は、その後、記録セッションの次のトラックにおいて継続される。次のトラックにデータが記録されるのに続いて、ファイルシステムが書き込まれる。ボリューム記述子シーケンスは、そのファイルシステムに対するポインタを有する。この方法は更に、バッファ・アンダーランの数を推定する動作と、ファイルシステムの位置を定義するために修正の増分を加算することを含む。
【００１５】
本発明の利点及び長所の一つは、完了した光ディスク及び使用可能な光ディスクの記録スループットの向上である。別の利点は、使用可能な光ディスクの記録に関する所要時間の短縮である。もう一つの利点は、不完全な記録をされた光ディスク及び使用不能な光ディスクの廃棄を減らすことによるコストの減少である。もう一つの利点は、記録速度の向上による光ディスクの実用性の増加である。なお、本発明のバッファアンダーラン処理の利点は、ＩＳＯ９６６０規格、JolietのＣＤ−ＲＯＭ記録の仕様、及びＩＳＯ１３３４６の一部である国際ディスクフォーマット（ＵＤＦ）規格にも、同じように適用可能である。JolietのＣＤ−ＲＯＭ記録の仕様及びＵＤＦ規格を参照されたい。当然ながら、バッファ・アンダーランの影響を受ける他の規格も、ここに記載する本発明の利益を享受する。
【００１６】
【発明の実施の形態】
本発明の他の長所は、本発明の原理を例示的に示す添付図面に基づき、以下の詳細な説明から明らかになろう。
【００１７】
光ディスク上での記録セッションにおけるバッファ・アンダーランの処理に関する発明を開示する。以下の説明において、本発明の完全な理解を提供するために、多数の具体的な詳細を記述する。しかし、当業者には、こうした具体的な詳細の一部または全部が無くとも本発明の実施が可能であることが理解されよう。他の事例において、本発明を不必要に曖昧にするのを避けるために、公知のプロセス動作については詳細に説明していない。
【００１８】
図３は、記録セッション中に３回バッファ・アンダーランが発生した場合のデータのトラックへの記録状態を示す説明図２００である。この実施形態において、トラック１は最初に２０１の領域に含まれるセクタ１〜１５を予約し、その後、ボリューム記述子シーケンス（ＶＤＳ）２０２がセクタ１６またはセクタ１６から始まる複数のセクタに書き込まれる。ＶＤＳ２０２は、一定の記録セッションのデータ記録が完了した後の位置に書き込まれるファイルシステム２０６の残部を指すように構成される。ＶＤＳ２０２は一般的に、バッファ・アンダーランの高度な処理を適用可能な種々の記録規格に対し包括的に定義される。この実施形態において、ＶＤＳ２０２は、ＩＳＯ９６６０規格及びＵＤＦ規格の両方において、一つ以上のセクタに書き込むことが可能である。ＵＤＦ規格の場合、拡張エリア記述子がセクタ１６に書き込まれ、アンカボリューム記述子がセクタ２５６に記述される。ファイルシステム２０６が書き込まれる位置は、一定の記録セッション中に生じるバッファ・アンダーラン数の推定に基づいて確認されることが好ましい。記録規格に応じて、ファイルシステム２０６は異なる形態を取ることが可能であり、異なるラベルを使用して表すことができる。分かりやすくするために、ここでは全般的にファイルシステム２０６として言及する。
【００１９】
ＶＤＳ２０２が書き込まれると、データ２０４ａ，２０４ｂ，２０４ｃ，及び２０４ｄ、トラック１、トラック２、トラック３、及びトラック４に書き込まれる。トラック１に記録されるデータ２０４ａは、バッファ・アンダーラン２１２が発生した時に停止する。バッファ・アンダーラン２１２が発生した後、トラック２が記録される前に、前ギャップ及び後ギャップを表すギャップ２１０が必要になる。トラック２に書き込まれるファイルに関するファイルシステム２０６はまだ書き込まれていないため、従来技術で説明したアドレス指定の問題はもはや発生しない。つまり、トラック２に書き込まれるファイルに対応するファイルシステム２０６の情報は、関連するファイルがトラック２に書き込まれた後で書き込まれる。したがって、ファイルシステム２０６はセッションを通じて正しいファイルを正確に参照する。同様の形で、データ２０４ｂは、次のバッファ・アンダーラン２１２が発生するまで、連続してトラック２に書き込まれる。このバッファ・アンダーラン２１２は、トラック３の書き込み中に発生するバッファ・アンダーラン２１２と同じく、好都合なことに、データ２０４として書き込まれたファイルのアドレス指定に影響を与えない。データ２０４ｄがトラック４に書き込まれると、ファイルシステム２０６が完成する。
【００２０】
読み込み動作中は、ファイルシステム２０６へのポインタ２０８を有するＶＤＳ２０２が最初に参照される。図４に示すように、ＩＳＯ９６６０規格に準拠するファイルシステムでは、ファイルシステム２０６はパス表Ｌ２０６ａと、パス表Ｍ２０６ｂと、ディレクトリ記述子２０６ｃを有する。パス表Ｌ２０６ａ及びパス表Ｍ２０６ｂは、ディスクに記録されたファイルのディレクトリ構造を有する。ディレクトリ記述子２０６ｃは、ディレクトリ内のファイルの位置に対応する論理ブロック番号を含む。ポインタ２０８は、パス表Ｌ２０６ａ、パス表Ｍ２０６ｂ、及びディレクトリ記述子２０６ｃの開始点を指すように構成されることが好ましい。
【００２１】
いずれの実施形態においても、記録セッション中に発生する実際のバッファ・アンダーラン数は、推定されたアンダーラン数以下になるべきである。この条件が充足される場合、バッファ・アンダーランによる追加の記録セッションを要するアドレス指定の問題は発生しない。バッファ・アンダーラン数が推定数より少ない場合も、ファイルシステム２０６は、ギャップ２１０の推定数に対応してシフトした位置に記録される。この場合、ファイルシステム２０６の前には、いくつかの余分なギャップ２１０が存在する。記録セッション中に発生したバッファ・アンダーラン数が推定数を上回った場合、超過したアンダーランがアドレス指定の問題を引き起こす可能性がある。そのため、バッファ・アンダーラン数は可能な限り正確に推定されるべきである。
【００２２】
実施形態の一つにおいて、これから実行する記録セッションにおけるバッファ・アンダーラン数の推定は、データ転送テストの結果を分析することで実行できる。データ転送テストは、光ディスクに記録されるデータのソースとして使用するハードウェア上で実行する。別の実施形態として、同様のハードウェアでの以前の経験及び結果として生じたバッファ・アンダーランに基づいて、ユーザが推定してもよい。通常のハードウェア構成においては、アンダーラン数を３回と推定しておけば、記録セッション中に正しいファイルシステムのアドレス指定をほぼ維持できることが見いだされている。
【００２３】
図５は、本発明の実施形態の一つに従って、記録セッション中にバッファ・アンダーランが１回発生した場合に２つのトラックに対するデータの記録状況を示す説明図３００である。図５に示すとおり、トラック１は最初に領域２０１のセクタ１〜１５を予約し、その後、ＶＤＳ２０２がセクタ１６に書き込まれる。ＶＤＳ２０２は、一定の記録セッションにおけるデータの記録が完了した後の位置に書き込まれるファイルシステム２０６を指すポインタ２０８を有するように構成される。
【００２４】
ＶＤＳ２０２が書き込まれると、２０４ａ及び２０４ｂがトラック１及びトラック２に書き込まれる。トラック１に記録されるデータ２０４ａは、バッファ・アンダーラン２１２が発生した時に停止する。バッファ・アンダーラン２１２の発生後、後ギャップ及び前ギャップを表すギャップ２１０がトラック２の前に記録される。図３で説明した通り、トラック２に書き込まれるファイルに関するファイルシステム２０６はまだ書き込まれていないため、従来のアドレス指定の問題は発生しない。また、ＶＤＳ２０２は、ファイルシステム２０６が位置する場所も正確に特定することができる。このようにして、トラック２に書き込まれるファイルに対応するファイルシステム２０６の情報は、データ２０４ｂに関連するファイルがトラック２に書き込まれた後で書き込まれる。したがって、ファイルシステム２０６は、セッションを通じて、正しいファイルを正確に参照する。データ２０４ｂがトラック２に書き込まれると、ファイルシステム２０６が完成する。
【００２５】
バッファ・アンダーラン２１２の推定数は３回だが、この実施形態において、バッファ・アンダーラン２１２は１回しか発生していない。そのため、ファイルシステム２０６のパス表及びディレクトリ記述子は、３つのギャップ２１０に対応する位置に記録され、ＶＤＳ２０２のポインタ２０８はファイルシステム２０６の実際の位置に対応する（バッファ・アンダーラン推定数が３回の時）。１回のバッファ・アンダーラン２１２のみによって、１つのギャップ２１０しか発生していないため、３００セクタのギャップを２つの余分にファイルシステム２０６の前に置く必要がある。これにより不要なギャップ２１４が形成され、これは約１．５メガバイト（ＭＢ）の使用不能ストレージ容量を招く。記録セッションは約１．５ＭＢのストレージ容量を失うが、この損失は、１回目の試行で記録セッションを成功させられるという大きな利点に比べれば小さな代償である。加えて、通常の光ディスクは約６４０ＭＢの容量を有するため、１．５ＭＢの損失は非常に小さく、この損失が重要になるのはユーザがディスク全体に記録することを希望する場合のみである。実際、この例のストレージ容量１．５ＭＢの損失は、通常の光ディスクの総ストレージ容量６４０ＭＢに対し約０．２３％の損失でしかない。
【００２６】
図６は、本発明の実施形態に従った一連の処理のフローチャートである。この方法が開始されると、ディスクドライブはディスクへの書き込みの準備をする（ステップ４０２）。実施形態の一つにおいて、このディスクドライブは、好ましくは、光ディスクにデータを書き込むように構成されたものである。この光ディスクは、好ましくは、コンパクトディスクレコーダブル（ＣＤＲ）、コンパクトディスクリライタブル（ＣＤ  Ｒ／Ｗ）、デジタルビデオディスク（ＤＶＤ）及びその他のいずれかである。このディスクドライブは、光ディスクとの間で読み書きするデータを格納するバッファを有する。デジタル信号プロセッサ（ＤＳＰ）等のその他の標準電子機器、及び読み込み／書き込みヘッドを光ディスク上の希望する位置に移動させるアクチュエータも、光ディスクへの記録に必要となる。
【００２７】
次に、記録セッションのボリューム記述子シーケンス（ＶＤＳ）がディスクに記録される（ステップＳ４０４）。ＩＳＯ９６６０規格において説明されて周知の通り、複数のＶＤＳが存在してもよい。このＶＤＳはセクタ１６に記録されることが好ましくい。ＶＤＳの記録に続いて記録セッションのデータを記録する（ステップ４０６）。その後、バッファ・アンダーランが発生すると、トラックを終了し、記録を停止する（ステップ４０８）。後ギャップ及び前ギャップ後の挿入後、次のトラックで記録セッションを継続する（ステップ４１０）。そして、記録したデータの後の位置にファイルシステムを書き込むことにより、記録を完了する（ステップ４１２）。この実施形態において、ＶＤＳはファイルシステムへのポインタを有する。
【００２８】
図７は、本発明の別の実施形態に従って、記録セッション中にバッファ・アンダーランが１回生じた場合の３つのトラックへのデータの記録状況を示す説明図５００である。トラック１は予約トラック２５０である。予約トラック２５０の後、バッファ・アンダーラン２１２が発生するまで、データ２０４ａがトラック２に書き込まれる。この時点で、データ２０４ｂがトラック３に書き込まれる前に、ギャップ２１０が定められる。データ２０４ｂの書き込みは、特定のセッションにおいて書き込むデータが存在しなくなるポイント２５２まで継続する。トラック３を閉じる前に、図８の図５００’に示すように、データに続いてファイルシステム２０６が書き込まれる。ファイルシステム２０６が書き込まれると、ＶＤＳ２０２が、トラック１にある予約トラック２５０に書き込まれる。ＶＤＳ２０２のいずれかの側には、残りの予約セクタ２５０ａ及び２５０ｂが残る。ＶＤＳ２０２は、一定の記録セッションのデータの記録が完了した後の位置に書き込まれるファイルシステム２０６に対するポインタ２０８を有するように構成される。
【００２９】
ＶＤＳ２０２が書き込まれる前に、データ２０４ａ及び２０４ｂがトラック２及びトラック３に書き込まれる。トラック２に書き込まれるデータ２０４ａは、バッファ・アンダーラン２１２が発生した時に停止する。バッファ・アンダーラン２１２発生後、トラック３が記録される前に、後ギャップ及び前ギャップを表すギャップ２１０が記録される。トラック３に書き込まれるファイルに関するファイルシステム２０６は、まだ書き込まれていないため、従来のようなアドレス指定の問題は発生しない。このようにして、トラック３に書き込まれるファイルに対応するファイルシステム２０６の情報は、データ２０４ｂに関連するファイルがトラック３に書き込まれた後で書き込まれる。したがって、ファイルシステム２０６は、セッションを通じて、正しいファイルを正確に参照する。データ２０４ｂがトラック３に書き込まれると、ファイルシステム２０６が完成する。その後、ＶＤＳ２０２は予約トラックのセクタ１６に記録され、ファイルシステム２０６が位置する場所を正しく特定する。この実施形態において、ＶＤＳ２０２及びファイルシステム２０６を書き込む前にバッファ・アンダーラン数を推定する必要はない。ＶＤＳ２０２のポインタ２０８は、前記のようにファイルシステム２０６の正しいアドレスを指し、記録セッション中に発生する実際のバッファ・アンダーラン数に対応する任意の数のギャップを組み入れることができる。
【００３０】
図９は、本発明の更に別の実施形態において、全データ２０４が書き込まれた後でファイルシステム２０６がトラック１に書き込まれる態様を示す説明図である。例えば、データ２０４ａ及び２０４ｂがポイント２５４まで書き込まれると、ファイルシステム２０６を予約トラック２５０内のセクタ１６の後の任意のアドレスに書き込むことができる。ファイルシステム２０６が書き込まれると、ファイルシステム２０６とＶＤＳ２０２との間に予約セクタ２５０ｂ、ＶＤＳ２０２の前に予約セクタａが残る。前記の通り、ＶＤＳ２０２は、セクタ１６に書き込まれることが好ましく、予約セクタ２５０ａ、つまりセクタ１〜１５は未使用のままになる。
【００３１】
図１０は、図７〜９で説明した実施形態における一連の動作を示すフローチャートである。この方法が開始されるとディスクドライブがディスクへのデータ書き込みの準備をする（ステップ６０２）。図６で説明した通り、このディスクドライブは、好ましくは、光ディスクにデータを書き込むように構成されたものであり、好ましくは、コンパクトディスクレコーダブル（ＣＤＲ）、コンパクトディスクリライタブル（ＣＤ  Ｒ／Ｗ）、デジタルビデオディスク（ＤＶＤ）及びその他のいずれかである。このディスクドライブは、光ディスクに書き込むデータ又は光ディスクから読み込むデータを格納するバッファを有する構成である。この実施形態の方法は、ファイルデータの記録に利用できない光ディスク上のトラックを予約する。
【００３２】
次に、記録セッション中に、予約トラック以外のトラックにデータが記録される（ステップ６０４）。バッファ・アンダーランが発生すると、トラックを閉じ、記録が停止する（ステップ６０６）。後ギャップ及び前ギャップを挿入した後、新しいトラックにおいて記録セッションの続きを再開する（ステップ６０８）。そして、ファイルシステムのパス表及びディレクトリ記述子が記録される（ステップ６１０）。例えば、このファイルシステムを予約トラックに書き込み、残りのトラック全体をデータの記録用に残すことができる。若しくは、ファイルシステムのパス表及びディレクトリ記述子を、データに続いて書き込んでもよい。最後に、ファイルシステムへのポインタを有するＶＤＳをディスク上の予約トラックに記録する（ステップ６１２）。この実施形態において、ＶＤＳ内のポインタは、実際に発生するバッファ・アンダーラン数に関係なく、ファイルシステムの正しいアドレスを指し、記録セッション中に発生するバッファ・アンダーラン数に関して、不確定な推定を行う必要はない。
【００３３】
図１１は、図７〜９で説明した実施形態に従い、任意の選択した記録規格（ＩＳＯ９６６０、ＵＤＦ等）に従ってファイルシステムを包括的に定義する方法を示すフローチャートである。まず、ディスクドライブがディスクへのデータ書き込みの準備をする（ステップ６１３）。図６で説明した通り、このディスクドライブは、好ましくは、光ディスクにデータを書き込むように構成されたものであり、好ましくは、コンパクトディスクレコーダブル（ＣＤＲ）、コンパクトディスクリライタブル（ＣＤ  Ｒ／Ｗ）、デジタルビデオディスク（ＤＶＤ）及びその他のいずれかである。このディスクドライブは、光ディスクに書き込むデータ又は光ディスクから読み込むデータを格納するバッファを有する構成である。
【００３４】
この実施形態の方法では、光ディスク上で、ファイルデータの記録に利用できないトラックを予約する。次に、予約トラック以外のトラックに対し、記録セッションでデータが記録される（ステップ６１４）。バッファ・アンダーランが発生すると、トラックを閉じ、記録を停止する（ステップ６１６）。後ギャップ及び前ギャップ後の挿入後、新しいトラックにおいて記録セッションの続きを再開する（ステップ６１８）。このシーケンスは任意の数のバッファ・アンダーランに関して継続される。そして、ファイルシステムが記録される（ステップ６２０）。例えば、このファイルシステムを予約トラックに書き込み、残りのトラック全体をデータ記録用に残しても良い。若しくは、ファイルシステムは、データに続いて書き込まれるものとしてもよい。いかなる場合においても、このファイルシステムは、任意数の記録規格の下で定義可能なファイルシステム全体又は少なくともその一部を表すことができる。
【００３５】
最後に、ファイルシステムへのポインタを有するＶＤＳをディスク上の予約トラックに記録する（ステップ６２２）。この実施形態において、ＶＤＳ内のポインタは、実際に発生するバッファ・アンダーラン数に関係なく、ファイルシステムの正しいアドレスを指し、記録セッション中に発生するバッファ・アンダーラン数に関して、不確定な推定を行う必要はない。また、このＶＤＳも、ＩＳＯ９６６０及びＵＤＦ等の任意数の記録規格の下で定義できる。
【００３６】
本発明の利点及び長所の一つは、完了した光ディスク及び使用可能な光ディスクの記録スループットの向上である。別の利点は、使用可能な光ディスクの記録に関する所要時間の短縮である。付加的な利点は、不完全な録音をされた光ディスク及び使用不能な光ディスクを廃棄を減らすことによるコストの減少である。もう一つの利点は、限られたメモリアクセス速度を有するハードドライブ及びバッファメモリからデータを取得しながら高記録速度での記録を行うことによる光ディスクの実用性の向上である。
【００３７】
本発明の範囲に含まれる変形例としては、記録セッション中の４回以上のバッファ・アンダーランに関するボリューム記述子シーケンスのアドレスポインタ、セクタ１６に位置しないボリューム記述子シーケンス、複数のボリューム記述子、複数のファイルシステム、ＵＤＦ等の他の規格に準拠したファイルシステム、及びトラック間のギャップが３００セクタより少ない又は多い記録セッション等があるが、これらに限定されるものではない。
【００３８】
本発明は、コンピュータシステムに格納されるデータを含む様々なコンピュータ実施動作を利用できる。こうした動作は、物理的な量の物理的な操作を要するものである。通常、必ずではないものの、こうした量は格納、転送、結合、比較、及びその他の操作が可能な電気的又は磁気的な信号の形態をとる。更に、実行される操作は、作成、特定、決定、又は比較といった言葉で呼ばれる場合が多い。
【００３９】
本発明の一部を成す、ここで説明した動作はいずれも、有効な機械的動作である。本発明は、こうした動作を実行する装置又は装置にも関係している。この装置は、必要な目的のために特別に構成してもよいし、コンピュータに格納されたコンピュータプログラムによって選択的に起動又は構成される汎用コンピュータであってもよい。特に、ここでの説明に従って書かれたコンピュータプログラムによって様々な汎用機を使用することが可能であり、また、必要な動作を実行するために更に特別な装置を構成することがより都合のよい場合もある。
【００４０】
本発明はコンピュータ読取可能な媒体上のコンピュータ読取可能なコードとして具現することもできる。このコンピュータ読取可能な媒体は、データを格納可能で、その後コンピュータシステムによって読み込むことができる任意のデータストレージ装置である。コンピュータ読取可能な媒体の例には、読み込み専用メモリ、ランダムアクセスメモリ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、その他の光データストレージ装置が含まれる。コンピュータ読取可能な媒体を分散形式で格納及び実行するために、このコンピュータ読取可能な媒体をコンピュータシステムに結合するネットワーク上に分散させることもできる。
【００４１】
ここで説明した例示的実施形態は、例証を目的とするものであり、限定を意図するものではない。したがって、本実施形態が例示的で且つ非限定的なものとして考えられるべきであること、並びに本発明がここに記載の詳細によって限定されず前記特許請求の範囲及びその等価物の範囲内で変形し得ることは、当業者には理解されよう。
【図面の簡単な説明】
【図１】バッファ・アンダーランが発生した記録セッションによって生じる光ディスク上の従来技術のトラックを示す図。
【図２】バッファ・アンダーランが発生した記録セッションによって生じる光ディスク上の従来技術のトラックと、バッファ・アンダーランの結果としてファイルアドレスと実際のファイルアドレスとの間に形成された差異とを示す図。
【図３】本発明の実施形態の一つに従って、ファイルシステムの残部を指すボリューム記述子シーケンスを有する、記録セッション中に発生した３回のバッファ・アンダーランの結果として記録された複数のトラックを示す図。
【図４】本発明の実施形態の一つに従ったファイルシステムのパス表及びディレクトリ記述子を示す図。
【図５】本発明の実施形態の一つに従って、記録セッション中に発生した１回のバッファ・アンダーランの結果として記録されたデータの二つのトラックを示す図。
【図６】本発明の実施形態の一つに従った一連の動作を示すフローチャート。
【図７】本発明の別の実施形態に従って、記録セッション中に発生した１回のバッファ・アンダーランの結果として記録されたデータの三つのトラックを示す図。
【図８】データに続いてファイルシステムが書き込まれることと、ファイルシステムが書き込まれるとボリューム記述子シーケンス（ＶＤＳ）が予約されたトラックに書き込まれることとを示す図。
【図９】すべてのデータが書き込まれた後でファイルシステムが予約されたトラックに書き込まれる本発明の更に別の実施形態を示す図。
【図１０】図７〜９を参考に説明した実施形態に従った一連の動作を示すフローチャート。
【図１１】図７〜９を参考に説明した実施形態に従い、任意の選択した記録規格（ＩＳＯ９６６０、ＵＤＦ等）に従ってファイルシステムを一般的に定義する方法を示すフローチャート。
【符号の説明】
１００，１１０…トラック
１０２…ファイルシステム
１０４…データ
１０６…アンダーラン
１０８…欠落した残部
１１２、１１４…ファイル
２０１…領域
２０４ａ，２０４ｂ，２０４ｃ，２０４ｄ…データ
２０６…ファイルシステム
２０６ａ，２０６ｂ…パス表
２０６ｃ…ディレクトリ記述子
２０８…ポインタ
２１０…ギャップ
２１２…バッファ・アンダーラン
２１４…ギャップ
２５０…予約トラック
２５０ａ…予約セクタ
２５０ｂ…予約セクタ
２５２、２５４…ポイント
２５６…セクタ
【図１】
0003775983.tif 000002
【図２】
0003775983.tif 000003
【図３】
0003775983.tif 000004
【図４】
0003775983.tif 000005
【図５】
0003775983.tif 000006
【図６】
0003775983.tif 000007
【図７】
0003775983.tif 000008
【図８】
0003775983.tif 000009
【図９】
0003775983.tif 000010
【図１０】
0003775983.tif 000011
【図１１】
0003775983.tif 000012