(57)【要約】【課題】ディスクに欠陥があっても、高ビットレートのデータを、リアルタイムで再生する。【解決手段】アロケーションマネージャにおいて、連続空き領域検出部４６は、光ディスク３の物理的に連続した空き領域である連続空き領域を検出し、記録制御部４８に供給する。記録制御部４８は、その連続空き領域に、データを書き込む制御を行い、これにより、光ディスク３の連続空き領域には、データが連続して記録される。従って、その連続したデータを再生するときには、光ディスク３を駆動するドライブ２においてシークが生じない。本発明は、例えば、ディスクを駆動するドライブに適用することができる。【選択図】　　　図８
2004127459.tif 000002
【特許請求の範囲】
【請求項１】
データを記録媒体に記録する制御を行う記録制御装置において、
前記記録媒体の物理的に連続した空き領域である連続空き領域を検出する連続空き領域検出手段と、
前記連続空き領域に、データを連続して記録させる記録制御手段と
を備えることを特徴とする記録制御装置。
【請求項２】
前記連続空き領域に欠陥領域があったとき、
前記連続空き領域検出手段は、前記欠陥領域の直後にある連続空き領域を検出し、
前記記録制御手段は、前記欠陥領域の直後にある連続空き領域に、前記データを記録させる
ことを特徴とする請求項１に記載の記録制御装置。
【請求項３】
前記記録制御手段は、前記欠陥領域の直後にある連続空き領域に、前記データを、即座に記録させる
ことを特徴とする請求項２に記載の記録制御装置。
【請求項４】
前記連続空き領域検出手段は、前記欠陥領域の直後にある、前記データ分の連続空き領域を検出し、
前記記録制御手段は、
前記データ分の連続空き領域を確保するとともに、前記データを記憶しておき、
前記記録媒体に記録すべきデータの記録の終了後に、確保しておいた連続空き領域に、記憶しておいたデータを記録させる
ことを特徴とする請求項２に記載の記録制御装置。
【請求項５】
前記連続空き領域に欠陥領域があったとき、
前記連続空き領域検出手段は、前記記録媒体の他の任意の連続空き領域を検出し、
前記記録制御手段は、前記他の任意の連続空き領域に、前記データを記録させる
ことを特徴とする請求項１に記載の記録制御装置。
【請求項６】
前記記録制御手段は、前記記録媒体の他の任意の連続空き領域に、前記データを、即座に記録させる
ことを特徴とする請求項５に記載の記録制御装置。
【請求項７】
前記連続空き領域検出手段は、前記記録媒体の、他の任意の、前記データ分の連続空き領域を検出し、
前記記録制御手段は、
前記データ分の連続空き領域を確保するとともに、前記データを記憶しておき、
前記記録媒体に記録すべきデータの記録の終了後に、確保しておいた連続空き領域に、記憶しておいたデータを記録させる
ことを特徴とする請求項５に記載の記録制御装置。
【請求項８】
前記連続空き領域検出手段は、前記記録媒体上の連続空き領域が記述された連続空き領域リストに基づいて、連続空き領域を検出する
ことを特徴とする請求項１に記載の記録制御装置。
【請求項９】
前記連続空き領域リストを作成する連続空き領域リスト作成手段をさらに備える
ことを特徴とする請求項８に記載の記録制御装置。
【請求項１０】
前記連続空き領域リスト作成手段は、前記記録媒体上の空き領域が記述された空き領域リストと、前記記録媒体上の欠陥領域が記述されたディフェクトリストとに基づいて、前記連続空き領域リストを作成する
ことを特徴とする請求項９に記載の記録制御装置。
【請求項１１】
前記連続空き領域リスト作成手段は、前記空き領域リストと欠陥領域リストを、前記記録媒体にデータを記録する記録装置から取得する
ことを特徴とする請求項１０に記載の記録制御装置。
【請求項１２】
前記記録装置に対して、前記記録媒体上の論理的な位置が指定されることにより、その論理的な位置に割り当てられている前記記録媒体の物理的な位置に、データが記録され、
前記欠陥領域リストには、前記欠陥領域の物理的な位置が記述され、
前記空き領域リストには、前記空き領域の論理的な位置が記述されている場合において、
前記連続空き領域リスト作成手段は、
前記欠陥領域リストから、前記欠陥領域の直前の正常な記録領域の論理的な位置を、前記連続空き領域の終点位置として求め、
前記空き領域リストにおいて、連続している論理的な位置を、その先頭から前記終点位置までと、その残りとに分割し、それぞれを、前記連続空き領域とする
ことを特徴とする請求項１１に記載の記録制御装置。
【請求項１３】
前記記録装置に対して、前記記録媒体上の論理的な位置が指定されることにより、その論理的な位置に割り当てられている前記記録媒体の物理的な位置に、データが記録され、
前記欠陥領域リストには、前記欠陥領域の物理的な位置と、その欠陥領域の代替領域の物理的な位置とが対応付けられて記述され、
前記空き領域リストには、前記空き領域の論理的な位置が記述されている場合において、
前記連続空き領域リスト作成手段は、
前記欠陥領域リストから、前記欠陥領域の論理的な位置を、前記連続空き領域の区分位置として求め、
前記空き領域リストにおいて、連続している論理的な位置を、その先頭から前記区分位置の直前の位置までと、前記区分位置の直後の位置から最後までとに分割し、それぞれを、前記連続空き領域とする
ことを特徴とする請求項１１に記載の記録制御装置。
【請求項１４】
前記記録媒体は、ディスク状の記録媒体である
ことを特徴とする請求項１に記載の記録制御装置。
【請求項１５】
データを記録媒体に記録する制御を行う記録制御方法において、
前記記録媒体の物理的に連続した空き領域である連続空き領域を検出する連続空き領域検出ステップと、
前記連続空き領域に、データを連続して記録させる記録制御ステップと
を備えることを特徴とする記録制御方法。
【請求項１６】
データを記録媒体に記録する制御を行う記録制御を、コンピュータに行わせるプログラムにおいて、
前記記録媒体の物理的に連続した空き領域である連続空き領域を検出する連続空き領域検出ステップと、
前記連続空き領域に、データを連続して記録させる記録制御ステップと
を備えることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、記録制御装置および記録制御方法、並びにプログラムに関し、特に、例えば、光ディスクに欠陥があっても、高ビットレートのデータを、リアルタイムで再生することができるようにする記録制御装置および記録制御方法、並びにプログラムに関する。
【０００２】
【従来の技術】
例えば、光ディスクや、光磁気ディスク、磁気ディスク等のディスク状の記録媒体を駆動する従来のドライブにおいては、例えば、ＥＣＣ（Ｅｒｒｏｒ　Ｃｈｅｃｋｉｎｇ　ａｎｄ　Ｃｏｒｒｅｃｔｉｏｎ）を行うＥＣＣブロックの単位で、データが読み書きされる。
【０００３】
また、従来のドライブでは、光ディスク等の記録領域を所定のサイズに分けた物理的な物理セクタが、論理的な論理セクタに割り当てられる。そして、外部の装置からは、データを記録すべき論理セクタが指定され、ドライブでは、その論理セクタに割り当てられている物理セクタに、データが記録される。
【０００４】
なお、ドライブでは、光ディスク上のユーザに開放された記録領域であるユーザエリア（ｕｓｅｒ　ａｒｅａ）の物理セクタに対して、例えば、ある物理セクタ番号の物理セクタを基準として、シーケンシャルな論理セクタ番号の論理セクタが、順次割り当てられる。
【０００５】
ところで、従来のドライブでは、記録媒体中に、正常に読み書きすることができない領域である欠陥領域が存在する場合、スリップ処理またはリアサイン処理によって、欠陥領域に対する対処が行われる（例えば、特許文献１参照）。
【０００６】
即ち、例えば、いま、説明を簡単にするために、ＥＣＣブロックが、セクタの大きさに等しいものとすると、スリップ処理では、論理セクタが、欠陥がある物理セクタ（不良セクタ）に割り当てられずに飛ばされて（スリップして）、その直後の正常な物理セクタに割り当てられる。
【０００７】
従って、例えば、図１に示すように、物理セクタ番号（以下、適宜、ＰＳＮ（Ｐｈｙｓｉｃａｌ　Ｓｅｃｔｏｒ　Ｎｕｍｂｅｒ）と記載する）＃Ｎ，＃Ｎ＋１，・・・の物理セクタが、本来ならば、論理セクタ番号（以下、適宜、ＬＳＮ（Ｌｏｇｉｃａｌ　Ｓｅｃｔｏｒ　Ｎｕｍｂｅｒ）と記載する）＃ｎ，＃ｎ＋１，・・・の論理セクタに割り当てられる場合において、ＰＳＮ＃Ｎ＋３の物理セクタ（以下、適宜、物理セクタＮ＋３のように記載する）が不良セクタであるときには、その不良セクタである物理セクタＮ＋３を飛ばして、論理セクタの割り当てが行われる。その結果、図１の例では、物理セクタＮ，Ｎ＋１，Ｎ＋２に、論理セクタｎ，ｎ＋１，ｎ＋２がそれぞれ割り当てられ、物理セクタＮ＋３を飛ばし、その後の物理セクタＮ＋４，Ｎ＋５，・・・に、続きの論理セクタｎ＋３，ｎ＋４，・・・がそれぞれ割り当てられる。
【０００８】
そして、ドライブでは、図２に示すように、論理セクタが割り当てられなかった不良セクタである物理セクタＮ＋３のＰＳＮ＃Ｎ＋３が、欠陥領域の一覧であるディフェクトリスト（ｄｅｆｅｃｔ　ｌｉｓｔ）に登録される。
【０００９】
スリップ処理が行われた場合、ある論理セクタへのアクセスの要求があったときに、ドライブでは、その論理セクタに割り当てられている物理セクタを求めるにあたって、その論理セクタの前の論理セクタ（その論理セクタのＬＳＮより小さいＬＳＮの論理セクタ）において、いくつの不良セクタがあるかを、ディフェクトリストを参照して調査する必要がある。
【００１０】
ここで、スリップ処理では、論理セクタに割り当てられる物理セクタのＰＳＮがずれていき、さらに、不良セクタは、ドライブの外部からは認識することができない。このため、スリップ処理は、一般に、光ディスクのフォーマット（サーティファイ（ｃｅｒｔｉｆｙ））時に行われる。
【００１１】
一方、リアサイン処理では、論理セクタに割り当てられた物理セクタが不良セクタである場合、その不良セクタの代替として、正常な物理セクタが確保される。
【００１２】
即ち、リアサイン処理では、例えば、図３に示すように、物理セクタＮ，Ｎ＋１，・・・が、論理セクタｎ，ｎ＋１，・・・にそれぞれ割り当てられる場合において、物理セクタＮ＋３が不良セクタであるときには、光ディスク上のユーザエリアとは別に確保されている予備エリアであるスペアエリア（ｓｐａｒｅ　ａｒｅａ）内のある物理セクタが、不良セクタの代替セクタとして確保される。図３では、ユーザエリアにおける不良セクタである物理セクタＮ＋３の代替エリアとして、スペアエリアにおける物理セクタＡが確保されている。この場合、論理セクタｎ，ｎ＋１，・・・は、物理セクタＮ，Ｎ＋１，・・・に割り当てられるが、不良セクタＮ＋３については、正常な物理セクタＡが代替セクタとして確保されており、その結果、不良セクタＮ＋３に割り当てられている論理セクタｎ＋３は、実質的には、物理セクタＡに割り当てられる。
【００１３】
そして、ドライブでは、図４に示すように、不良セクタのＰＳＮ＃Ｎ＋３と、その不良セクタＮ＋３の代替セクタとして確保された物理セクタＡのＰＳＮ＃Ａとが対応付けられ、ディフェクトリストに登録される。
【００１４】
リアサイン処理が行われた場合、ある論理セクタへのアクセスの要求があったときに、ドライブでは、その論理セクタに割り当てられている物理セクタを求めるにあたって、その論理セクタを用いた線形変換を行えば済む。但し、求められた物理セクタが不良セクタである場合には、ディフェクトリストにおいて、その不良セクタに対応付けられている物理セクタが、最終的に、論理セクタに割り当てられている物理セクタとして使用される。
【００１５】
ここで、リアサイン処理が行われても、論理セクタのＬＳＮと物理セクタのＰＳＮとの線形関係は維持されるが、不良セクタとなっている物理セクタは、他の正常な物理セクタに、実質的には置換される。このため、リアサイン処理は、フォーマット後に行うことが可能であり、一般に、光ディスクのフォーマット後に、新たな不良セクタが生じたときに行われる。
【００１６】
なお、スリップ処理では、論理セクタに割り当てようとする物理セクタが不良セクタである場合に、その論理セクタに割り当てられる物理セクタが、不良セクタの直後の物理セクタにスリップされるため、論理セクタが連続していても、その論理セクタに割り当てられている物理セクタは、光ディスク上で不連続となる。一方、リアサイン処理では、論理セクタに割り当てようとする物理セクタが不良セクタである場合に、その論理セクタに割り当てられる物理セクタが、実質的には、ユーザエリアとは別のスペアエリアの物理セクタに置換されるため、やはり、論理セクタが連続していても、その論理セクタに割り当てられている物理セクタは、光ディスク上で不連続となる。
【００１７】
このため、ドライブでは、その物理セクタが不連続となっている部分においては、シークが必要となる。なお、スリップ処理では、論理セクタに割り当てられる物理セクタが、不良セクタの直後の物理セクタにスライドされるのに対して、リアサイン処理では、論理セクタに（実質的に）割り当てられる物理セクタが、ユーザエリアとは別のスペアエリアの物理セクタに置換されるため、シーク時間は、一般に、リアサイン処理が行われた場合の方が、スリップ処理が行われた場合に比較して長くなる。
【００１８】
【特許文献１】
特開平０６−０６８５９８号公報。
【００１９】
【発明が解決しようとする課題】
上述したように、スリップ処理やリアサイン処理が行われると、ドライブでは、不連続な物理セクタにアクセスするために、シークが生じる。
【００２０】
従って、高ビットレートのデータ、特に、例えば、動画像のデータを、光ディスクに記録して再生する場合には、シークが生じることによって、データを、リアルタイムで再生することができなくなることがある。
【００２１】
本発明は、このような状況に鑑みてなされたものであり、光ディスク等に欠陥があっても、高ビットレートのデータを、リアルタイムで再生することができるようにするものである。
【００２２】
【課題を解決するための手段】
本発明の記録制御装置は、記録媒体の物理的に連続した空き領域である連続空き領域を検出する連続空き領域検出手段と、連続空き領域に、データを連続して記録させる記録制御手段とを備えることを特徴とする。
【００２３】
本発明の記録制御方法は、記録媒体の物理的に連続した空き領域である連続空き領域を検出する連続空き領域検出ステップと、連続空き領域に、データを連続して記録させる記録制御ステップとを備えることを特徴とする。
【００２４】
本発明のプログラムは、記録媒体の物理的に連続した空き領域である連続空き領域を検出する連続空き領域検出ステップと、連続空き領域に、データを連続して記録させる記録制御ステップとを備えることを特徴とする。
【００２５】
本発明の記録制御装置および記録制御方法、並びにプログラムにおいては、記録媒体の物理的に連続した空き領域である連続空き領域が検出され、その連続空き領域に、データが連続して記録される。
【００２６】
【発明の実施の形態】
図５は、本発明を適用した記録再生システムの一実施の形態の構成例を示している。
【００２７】
図５の記録再生システムは、コンピュータ１をベースに構成されており、コンピュータ１は、光ディスク３に対して、データを読み書きする、例えば、ＣＤ−Ｒ（Ｃｏｍｐａｃｔ　Ｄｉｓｃ　Ｒｅｃｏｒｄａｂｌｅ），ＣＤ−ＲＷ（ＣＤ　ＲｅＷｒｉｔａｂｌｅ），ＤＶＤ−ＲＡＭ（Ｄｉｇｉｔａｌ　ＶｅｒｓａｔｉｌｅＤｉｓｃ　Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）ドライブとしてのドライブ２を内蔵している。即ち、ドライブ２には、光ディスク３を容易に着脱することができるようになっており、ドライブ２は、コンピュータ１の制御の下、光ディスク３にデータを記録し（書き込み）、また、光ディスク３からデータを読み出す。
【００２８】
図５の実施の形態では、画像データや音声データなどのＡＶ（Ａｕｄｉｏ　Ｖｉｓｕａｌ）データを出力し、必要に応じて、ＡＶデータを入力することができるＶＴＲ（Ｖｉｄｅｏ　Ｔａｐｅ　Ｒｅｃｏｒｄｅｒ）や、ＴＶチューナなどでなる信号入出力装置４が、外部機器として、コンピュータ１に接続されている。コンピュータ１は、信号入出力装置４が出力するＡＶデータを受信し、ドライブ２に供給して、光ディスク３に記録させる。また、コンピュータ１は、ドライブ２に、光ディスク３に記録されたＡＶデータを読み出させ、例えば、その内蔵するディスプレイやスピーカから出力させる。あるいは、コンピュータ１は、光ディスク３から読み出されたＡＶデータを、例えば、信号入出力装置４に記録等させる。
【００２９】
図６は、図５のコンピュータ１のハードウェア構成例を示している。
【００３０】
ＣＰＵ（Ｃｅｎｔｒａｌ　Ｐｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ）１１は、例えば、ユーザによって入力部１６が操作等されることにより指令が入力されると、それにしたがって、ＲＯＭ（Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）１２に格納されているプログラムを実行する。あるいは、また、ＣＰＵ１１は、ＨＤ（Ｈａｒｄ　Ｄｉｓｋ）１５に格納されているプログラム、衛星若しくはネットワークから転送され、通信部１８で受信されてＨＤ１５にインストールされたプログラム、またはドライブ２に装着された光ディスク３などのリムーバブル記録媒体から読み出されてＨＤ１５にインストールされたプログラムを、ＲＡＭ（Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）１４にロードして実行する。これにより、ＣＰＵ１１は、後述するフローチャートにしたがった各種の処理を行う。
【００３１】
ＲＯＭ１２は、例えば、ＩＰＬ（Ｉｎｉｔｉａｌ　Ｐｒｏｇｒａｍ　Ｌｏａｄｉｎｇ）やＢＩＯＳ（Ｂａｓｉｃ　Ｉｎｐｕｔ　Ｏｕｔｐｕｔ　Ｓｙｓｔｅｍ）のプログラムその他のファームウェアを記憶している。なお、ＲＯＭ１２に代えて、書き換え可能なＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ　Ｅｒａｓａｂｌｅ　Ｐｒｏｇｒａｍｍａｂｌｅ　ＲＯＭ）を採用することが可能であり、この場合、ファームウェアのバージョンアップに対処することができる。
【００３２】
メモリコントローラ１３は、例えば、ＤＭＡ（Ｄｉｒｅｃｔ　Ｍｅｍｏｒｙ　Ａｃｃｅｓｓ）コントローラで構成され、ＲＡＭ１４に対するデータの読み書きを制御する。ＲＡＭ１４は、ＣＰＵ１１が実行するプログラムや、ＣＰＵ１１が処理を行う上で必要なデータを一時記憶する。ＨＤ１５は、コンピュータ１にインストールされたプログラム（アプリケーションプログラムの他、ＯＳ（Ｏｐｅｒａｔｉｎｇ　Ｓｙｓｔｅｍ）なども含まれる）や、ＣＰＵ１１が処理を行う上で必要なデータを記憶する。
【００３３】
入力部１６は、例えば、キーボードや、マウス、マイク（マイクロフォン）などで構成され、ユーザによって操作等される。そして、入力部１６は、ユーザによる操作等に対応する信号を、ＣＰＵ１１に供給する。出力部１７は、例えば、ディスプレイやスピーカなどで構成され、そこに供給される画像または音声を、それぞれ表示または出力する。通信Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）１８は、例えば、ＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ　ｏｆ　Ｅｌｅｃｔｒｉｃａｌ　ａｎｄ　Ｅｌｅｃｔｒｏｎｉｃｓ　Ｅｎｇｉｎｅｅｒｓ）１３９４ポートや、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ　Ｓｅｒｉａｌ　Ｂｕｓ）ポート、ＬＡＮ（Ｌｏｃａｌ　Ａｒｅａ　Ｎｅｔｗｏｒｋ）接続用のＮＩＣ（Ｎｅｔｗｏｒｋ　Ｉｎｔｅｒｆａｃｅ　Ｃａｒｄ）などで構成され、各規格に応じた通信制御を行う。
【００３４】
Ｉ／Ｆコントローラ１９は、ドライブ２との間で、データを、例えば、ＡＴＡ（ＡＴ　Ａｔｔａｃｈｍｅｎｔ）等の所定の方式でやりとりするためのインタフェースとして機能する。
【００３５】
データ変換部２０は、例えば、ＭＰＥＧ（Ｍｏｖｉｎｇ　Ｐｉｃｔｕｒｅ　Ｅｘｐｅｒｔｓ　Ｇｒｏｕｐ）エンコーダ／デコーダで構成され、信号入出力装置４から供給されるＡＶデータを、ＭＰＥＧ符号化し、その結果得られるＭＰＥＧストリームを、コンピュータ１のバス上に出力する。また、データ変換部２０は、コンピュータ１のバス上に出力されたＭＰＥＧストリームをＭＰＥＧ復号し、その結果得られるＡＶデータを、コンピュータ１のバス上に出力し、あるいは、信号入出力装置４に供給する。
【００３６】
なお、以上のＣＰＵ１１乃至データ変換部２０は、コンピュータ１内部のバスを介して相互に接続されている。
【００３７】
以上のように構成されるコンピュータ１では、ＣＰＵ１１がコンピュータ１にインストールされたプログラムを実行することにより、後述する各種の処理が行われる。
【００３８】
ここで、ＣＰＵ１１が実行するプログラムは、コンピュータ１に内蔵されている記録媒体としてのＨＤ１５やＲＯＭ１２に予め記録しておくことができる。
【００３９】
あるいはまた、プログラムは、フレキシブルディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ　Ｄｉｓｃ　Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ），ＭＯ（Ｍａｇｎｅｔｏ　Ｏｐｔｉｃａｌ）ディスク，ＤＶＤ（Ｄｉｇｉｔａｌ　Ｖｅｒｓａｔｉｌｅ　Ｄｉｓｃ）、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
【００４０】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータ１にインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータ１に無線で転送したり、ＬＡＮ（Ｌｏｃａｌ　Ａｒｅａ　Ｎｅｔｗｏｒｋ）、インターネットといったネットワークを介して、コンピュータ１に有線で転送し、コンピュータ１では、そのようにして転送されてくるプログラムを、通信Ｉ／Ｆ１８で受信し、内蔵するＨＤ１５にインストールすることができる。
【００４１】
ここで、本明細書において、コンピュータ１に各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含むものである。
【００４２】
また、プログラムは、１のＣＰＵにより処理されるものであっても良いし、複数のＣＰＵによって分散処理されるものであっても良い。さらに、プログラムは、遠方のＣＰＵに転送されて実行されるものであっても良い。
【００４３】
次に、図７は、コンピュータ１に搭載されているドライブ２のハードウェア構成例を示している。
【００４４】
スピンドルモータ３１は、サーボ制御部３２の制御にしたがい、光ディスク３を回転駆動する。サーボ制御部３２は、ＲＦ（Ｒａｄｉｏ　Ｆｒｅｑｕｅｎｃｙ）アンプ３４や制御部３９から供給される信号にしたがい、スピンドルモータ３１およびピックアップ部３３を制御する。ピックアップ部３３は、サーボ制御部３２の制御にしたがい、その位置決めや、トラッキングおよびフォーカス制御を行いながら、光ディスク３に対して、レーザ光を照射する。
【００４５】
即ち、データの記録時においては、信号処理部３５からピックアップ部３３に対して、記録すべきデータに対応する信号が供給され、ピックアップ部３３は、その信号に対応するレーザ光を、光ディスク３に照射することで、光ディスク３にデータを記録する。また、データの再生時においては、ピックアップ部３３は、光ディスク３にレーザ光を照射するとともに、その照射したレーザ光の光ディスク３からの反射光を受光し、その反射光に対応する電気信号としてのＲＦ信号を、ＲＦアンプ３４に供給する。
【００４６】
ＲＦアンプ３４は、ピックアップ部３３から供給されるＲＦ信号を増幅し、サーボ制御部３２と信号処理部３５に供給する。サーボ制御部３２は、ピックアップ部３３から供給されるＲＦ信号に基づいて、フォーカスサーボ、トラッキングサーボ、およびスピンドルサーボの各サーボ制御を行う。
【００４７】
信号処理部３５は、制御部３９の制御にしたがい、メモリコントローラ３６から供給される、ＥＣＣブロック単位のデータに、ＥＣＣのコードを付加して変調し、その結果得られる変調信号を、ピックアップ部３３に供給する。また、信号処理部３５は、ＲＦアンプ３４から供給されるＲＦ信号を復調し、その結果得られる復調データに、ＥＣＣ処理を施して、メモリコントローラ３６に供給する。
【００４８】
メモリコントローラ３６は、制御部３９の制御にしたがい、信号処理部３５またはＩ／Ｆコントローラ３８から供給されるデータを、メモリ３７に記憶させるとともに、メモリ３７に記憶されたデータを読み出し、そのデータを、Ｉ／Ｆコントローラ３８または信号処理部３５にそれぞれ供給する。メモリ３７は、メモリコントローラ３６から供給されるデータを一時記憶する。
【００４９】
Ｉ／Ｆコントローラ３８は、図６のＩ／Ｆコントローラ１９との間で、データを、例えば、ＡＴＡ（ＡＴ　Ａｔｔａｃｈｍｅｎｔ）等の所定の方式でやりとりするためのインタフェースとして機能する。なお、図６のＩ／Ｆコントローラ１９は、データの他、制御部３９に対して、所定の処理を行うことを指令するコマンドや、読み書きの対象とする光ディスク３のＬＳＮなども、Ｉ／Ｆコントローラ３８に供給する。Ｉ／Ｆコントローラ３８は、コマンドやＬＳＮを受信した場合、そのコマンドやＬＳＮを、制御部３９に供給する。
【００５０】
制御部３９は、光ディスク３に対してデータを読み書きするための各種の処理を行う。即ち、制御部３９は、Ｉ／Ｆコントローラ３８から供給されるコマンドにしたがい、信号処理部３５や、メモリコントローラ３６を制御するとともに、同じくＩ／Ｆコントローラ３８から供給されるＬＳＮをＰＳＮに変換することで、そのＰＳＮによって特定される光ディスク３の物理セクタに、データを記録させ、あるいはその物理セクタからデータを読み出させる。また、制御部３９は、必要に応じて、サーボ制御部３２を制御することにより、ピックアップ部３３をシークさせる。さらに、制御部３９は、所定のファイルシステムによって、光ディスク３へのデータの読み書きを管理するための管理情報を、信号処理部３５を制御することによって、光ディスク３に読み書きし、Ｉ／Ｆコントローラ３８を介して、コンピュータ１に供給する。また、制御部３９は、信号処理部３５をモニタすること等により、光ディスク３上の不良セクタ（欠陥領域）を検出し、前述したスリップ処理やリアサイン処理によって不良セクタに対処するための制御を行う。そして、その制御のため、制御部３９は、前述したディフェクトリストを作成し、例えば、その内蔵するメモリ（図示せず）に記憶する。さらに、制御部３９は、光ディスク３上で空き領域となっている論理セクタのＬＳＮが記述された空き領域リストを作成し、例えば、その内蔵するメモリに記憶する。
【００５１】
以上のように構成されるドライブ２では、信号処理部３５で行われるＥＣＣ処理の単位であるＥＣＣブロックのデータごとに、光ディスク３に対する読み書きが行われる。
【００５２】
なお、ＥＣＣブロックは、例えば、光ディスク３に対する最小のデータの読み書き単位である物理セクタの１以上の整数倍の大きさである必要がある。例えば、ＥＣＣブロックが６４ＫＢ（Ｋｉｌｏ　Ｂｙｔｅ）で、物理セクタが２ＫＢであるとすると、ＥＣＣブロックは、３２個の物理セクタに相当する。
【００５３】
また、ドライブ２では、スリップ処理やリアサイン処理は、例えば、ＥＣＣブロック単位で行われる。この場合、ＥＣＣブロックのデータが読み書きされる１以上の物理セクタの中に、１つでも不良セクタが存在すると、そのＥＣＣブロックに相当する１以上の物理セクタは、例えば、すべて不良セクタとされる。
【００５４】
ここで、スリップ処理やリアサイン処理がＥＣＣブロック単位で行われる場合、ディフェクトリストには、ＥＣＣブロックに相当する１以上の物理セクタのすべてのＰＳＮを記述する方法と、そのうちの、例えば、先頭の物理セクタのＰＳＮのみを記述する方法とがあるが、どちらの方法を採用することも可能である。
【００５５】
以下においては、説明を簡単にするため、ＥＣＣブロックは、１つの物理セクタに相当することとして、説明を行う。但し、本発明は、ＥＣＣブロックが、いくつの物理セクタに相当するかによらず適用可能である。
【００５６】
次に、図８は、図６のＣＰＵ１１がプログラムを実行することにより実現されるコンピュータ１の機能的構成例を示している。
【００５７】
コンピュータ１では、ＯＳの管理の下で、各種のアプリケーションプログラムが実行される。また、ＯＳの管理下では、ファイルシステムやデバイスドライバが動作している。
【００５８】
アプリケーションプログラムは、ドライブ２に装着された光ディスク３へのデータの読み書きを行う場合、ファイルシステムに対して、そのデータを記録する、あるいは、そのデータが記録されたファイルを指定し、ファイルシステムは、指定されたファイルのＬＳＮを、デバイスドライバに指定する。そして、デバイスドライバは、ファイルシステムからのＬＳＮのデータの読み書きを、ドライブ２に要求する。
【００５９】
本実施の形態では、例えば、アプリケーションプログラムまたはファイルシステムのいずれか一方に、あるいは、その両方に亘って、アロケーションマネージャが組み込まれており、アロケーションマネージャは、光ディスク３に対するデータの読み書き制御を、ドライブ２と分担して行う。
【００６０】
即ち、アロケーションマネージャにおいて、リスト取得部４１は、ドライブ２から空き領域リストとディフェクトリストを取得し、空き領域リストを、空き領域リスト記憶部４２に供給するとともに、ディフェクトリストを、ディフェクトリスト記憶部４３に供給する。
【００６１】
空き領域リスト記憶部４２は、リスト取得部４１から供給される空き領域リストを、例えば、その記憶内容に上書きする形で記憶する。ディフェクトリスト記憶部４３は、リスト取得部４１から供給されるディフェクトリストを、例えば、その記憶内容に上書きする形で記憶する。
【００６２】
連続空き領域リスト作成部４４は、ドライブ２から、後述する論理セクタ開始物理セクタ番号を受信し、その論理セクタ開始物理セクタ番号、空き領域リスト記憶部４２に記憶された空き領域リスト、およびディフェクトリスト記憶部４３に記憶されたディフェクトリストに基づいて、光ディスク３上の、物理的に連続した空き領域のＬＳＮが記述された連続空き領域リストを作成し、連続空き領域リスト記憶部４５に供給する。
【００６３】
連続空き領域リスト記憶部４５は、連続空き領域リスト作成部４４から供給される連続空き領域リストを、例えば、その記憶内容に上書きする形で記憶する。
【００６４】
連続空き領域検出部４６は、連続空き領域リスト記憶部４５に記憶された連続空き領域リストを参照することにより、光ディスク３上の連続空き領域を検出し、データ設定部４７、記録制御部４８に供給する。
【００６５】
データ設定部４７には、光ディスク３に記録すべきデータが供給されるようになっており、データ設定部４７は、そこに供給されるデータから、ＥＣＣ（Ｅｒｒｏｒ　Ｃｈｅｃｋｉｎｇ　ａｎｄ　Ｃｏｒｒｅｃｔｉｏｎ）を行う単位よりも大きい単位のデータを、光ディスク３に物理的に連続して記録する注目データとして設定し、記録制御部４８に供給する。なお、データ設定部４７は、その他、連続空き領域検出部４６から供給される連続空き領域の大きさを考慮して、注目データを設定する。また、上述したように、ドライブ２において、ＥＣＣブロック単位で読み書きが行われる場合、データ設定部４７は、ＥＣＣブロックの正の整数倍の大きさのデータを、注目データとして設定する。
【００６６】
記録制御部４８は、データ設定部４７から供給される注目データを、連続空き領域検出部４６から供給される連続空き領域のＬＳＮと、データの書き込みを指令するｗｒｉｔｅコマンドとともに、ドライブ２に送信し、これにより、ドライブ２において、光ディスク３上の連続空き領域に、注目データを書き込ませる。
【００６７】
データ記憶部４９は、記録制御部４８が処理を行う上で必要なデータ等を一時記憶する。
【００６８】
次に、図９のフローチャートを参照して、図７のドライブ２の処理について概説する。
【００６９】
ドライブ２には、図８に示したアロケーションマネージャから、ファイルシステムおよびデバイスドライバを介して、あるいはアロケーションマネージャから、デバイスドライバを介して、各種のコマンドが供給されるようになっており、そのコマンドは、ドライブ２のＩ／Ｆコントローラ３８で受信され、制御部３９に供給されるようになっている。
【００７０】
そこで、制御部３９は、まず最初に、ステップＳ１において、光ディスク３からのデータの読み出しを指令するｒｅａｄコマンドが供給されたかどうかを判定する。
【００７１】
ステップＳ１において、ｒｅａｄコマンドが供給されたと判定された場合、ステップＳ２に進み、制御部３９は、ＬＳＮをＰＳＮに変換する。即ち、ｒｅａｄコマンドは、光ディスク３から読み出すデータが記録された論理セクタ（群）のＬＳＮ（以下、適宜、読み出しＬＳＮという）とともに供給されるようになっており、ステップＳ２では、そのｒｅａｄコマンドとともに供給される読み出しＬＳＮがＰＳＮに変換される。
【００７２】
そして、ステップＳ３に進み、ステップＳ２で得られたＰＳＮで指定される光ディスク３の位置から、ＥＣＣブロック単位でのデータの読み出しが行われる。即ち、制御部３９は、サーボ制御部３２を制御することにより、ステップＳ２で得られたＰＳＮで指定される光ディスク３の位置に、ピックアップ部３３を移動させる。ピックアップ部３３は、光ディスク３にレーザ光を照射し、そのレーザ光の光ディスク３からの反射光を受光して、その反射光に対応するＲＦ信号を、ＲＦアンプ３４を介して、信号処理部３５に供給する。信号処理部３５は、そこに供給されるＲＦ信号を復調し、その結果得られるＥＣＣブロック単位のデータにＥＣＣ処理を施して、メモリコントローラ３６に供給する。
【００７３】
メモリコントローラ３６は、ＥＣＣ処理が施されたＥＣＣブロック単位のデータを受信して、ステップＳ４に進み、そのＥＣＣブロック単位のデータを、Ｉ／Ｆコントローラ３８を介して、図８のアロケーションマネージャに転送する。
【００７４】
その後、ステップＳ５に進み、制御部３９は、ｒｅａｄコマンドによって要求されたデータの読み出しがすべて終了したかどうかを判定する。ステップＳ５において、ｒｅａｄコマンドによって要求されたデータの読み出しが、まだ終了していないと判定された場合、ステップＳ３に戻り、以下、同様の処理が繰り返されることで、まだ読み出されていないデータの読み出しが行われる。
【００７５】
また、ステップＳ５において、ｒｅａｄコマンドによって要求されたデータの読み出しがすべて終了したと判定された場合、ステップＳ１に戻り、以下、同様の処理が繰り返される。
【００７６】
一方、ステップＳ１において、ｒｅａｄコマンドが供給されていないと判定された場合、ステップＳ６に進み、制御部３９は、ドライブ２が有している情報を要求する情報要求コマンドが供給されたかどうかを判定する。ステップＳ６において、情報要求コマンドが供給されたと判定された場合、ステップＳ７に進み、制御部３９は、ディフェクトリスト、空き領域リスト、および論理セクタ開始物理セクタ番号を取得し、ステップＳ８に進む。ステップＳ８では、制御部３９は、ステップＳ８で取得したディフェクトリスト、空き領域リスト、および論理セクタ開始物理セクタ番号を、Ｉ／Ｆコントローラ３８を介して、図８のアロケーションマネージャに転送して、ステップＳ１に戻り、以下、同様の処理が繰り返される。
【００７７】
また、ステップＳ６において、情報要求コマンドが供給されていないと判定された場合、ステップＳ９に進み、制御部３９は、光ディスク３へのデータの書き込み（記録）を指令するｗｒｉｔｅコマンドが供給されたかどうかを判定する。
【００７８】
ステップＳ９において、ｗｒｉｔｅコマンドが供給されていないと判定された場合、ステップＳ１に戻り、以下、同様の処理が繰り返される。
【００７９】
また、ステップＳ９において、ｗｒｉｔｅコマンドが供給されたと判定された場合、ステップＳ１０に進み、制御部３９は、ＬＳＮをＰＳＮに変換する。即ち、ｗｒｉｔｅコマンドは、データを書き込む論理セクタ（群）のＬＳＮ（以下、書き込みＬＳＮという）とともに供給されるようになっており、ステップＳ１０では、そのｗｒｉｔｅコマンドとともに供給される書き込みＬＳＮがＰＳＮに変換される。
【００８０】
そして、ステップＳ１１に進み、Ｉ／Ｆコントローラ３８は、図８のアロケーションマネージャから供給される、光ディスク３に書き込むべきデータを受信し、ステップＳ１２に進む。
【００８１】
ステップＳ１２では、ステップＳ１０で得られたＰＳＮで指定される光ディスク３の位置から、ステップＳ１１においてＩ／Ｆコントローラ３８で受信されたデータの書き込みが、ＥＣＣブロック単位で行われる。即ち、Ｉ／Ｆコントローラ３８で受信されたデータは、メモリコントローラ３６を介して、信号処理部３５に供給される。信号処理部３５は、そこに供給されるデータに対して、ＥＣＣブロック単位で、ＥＣＣ処理を行うための誤り訂正符号を付加し、その結果得られるＥＣＣブロック単位のデータを変調して、ピックアップ部３３に供給する。
【００８２】
一方、制御部３９は、サーボ制御部３２を制御することにより、ステップＳ１１で得られたＰＳＮで指定される光ディスク３の位置に、ピックアップ部３３を移動させる。ピックアップ部３３は、光ディスク３に、信号処理部３５から供給される信号に対応するレーザ光を照射し、これにより、ステップＳ１１で得られたＰＳＮで指定される光ディスク３の位置から、信号処理部３５で得られたＥＣＣブロック単位のデータの記録を開始する。
【００８３】
その後、ステップＳ１３に進み、制御部３９は、データの記録が行われている光ディスク３の位置に、欠陥があるかどうかを判定する。即ち、ピックアップ部３３は、光ディスク３にレーザ光を照射するのと同時に、そのレーザ光の光ディスク３からの反射光を受光しており、その反射光に対応するＲＦ信号を、ＲＦアンプ３４および信号処理部３５を介して、制御部３９に供給する。制御部３９は、ステップＳ１３において、このようにして、ピックアップ部３３から供給される信号に基づき、データの記録が行われている光ディスク３の位置に、欠陥があるかどうかを判定する。
【００８４】
ステップＳ１３において、光ディスク３に欠陥がないと判定された場合、ステップＳ１４に進み、制御部３９は、ｗｒｉｔｅコマンドによって要求されたデータの書き込みがすべて終了したかどうかを判定する。ステップＳ１４において、ｗｒｉｔｅコマンドによって要求されたデータの書き込みが、まだ終了していないと判定された場合、ステップＳ１１に戻り、以下、同様の処理が繰り返されることで、まだ書き込まれていないデータの光ディスク３への書き込みが行われる。
【００８５】
また、ステップＳ１４において、ｗｒｉｔｅコマンドによって要求されたデータの書き込みがすべて終了したと判定された場合、ステップＳ１５に進み、制御部３９は、その内蔵するメモリに記憶された空き領域リストを更新する。即ち、制御部３９は、ステップＳ１１乃至Ｓ１４の処理が繰り返されることによりデータが書き込まれた光ディスク３の論理セクタのＬＳＮを、空き領域リストから削除する。以上のようにして、ステップＳ１５において、空き領域リストの更新が行われた後は、ステップＳ１に戻り、以下、同様の処理が繰り返される。
【００８６】
一方、ステップＳ１３において、光ディスク３に欠陥があると判定された場合、ステップＳ１６に進み、制御部３９は、Ｉ／Ｆコントローラ３８を制御することにより、欠陥があった旨の欠陥報告メッセージを、図８のアロケーションマネージャに送信させ、ステップＳ１７に進む。ステップＳ１７では、制御部３９は、その内蔵するメモリに記憶されたディフェクトリストを更新して、即ち、ステップＳ１３で発見された光ディスク３の欠陥に関する情報を、ディフェクトリストに追加して、ステップＳ１に戻り、以下、同様の処理が繰り返される。従って、データを書き込む光ディスク３の記録領域に欠陥がある場合には、そのデータの書き込みは中止され、欠陥報告メッセージが、図８のアロケーションマネージャに送信される。
【００８７】
ここで、図９の実施の形態では、ｒｅａｄコマンド、情報要求コマンド、ｗｒｉｔｅコマンドの３つのコマンドに対するドライブ２の動作について説明したが、ドライブ２は、その他、例えば、光ディスク３のフォーマットを指令するフォーマットコマンドや、光ディスク３に記録されたデータ（ファイル）の削除を指令するデリートコマンドなどを受け付けることが可能である。ドライブ２は、フォーマットコマンドを受信した場合には、光ディスク３のフォーマットを行い、また、デリートコマンドを受信した場合には、光ディスク３に記録されたデータを削除する。
【００８８】
なお、フォーマット時には、制御部３９は、光ディスク３上の欠陥（不良セクタ）の調査を行い、ディフェクトリストを作成する。また、フォーマット時には、欠陥対策として、例えば、スリップ処理またはリアサイン処理のうちのいずれを採用するかを、アロケーションマネージャから指定することができるが、フォーマットの後の欠陥対策としては、例えば、リアサイン処理が採用される。
【００８９】
次に、図８のアロケーションマネージャの処理について説明する。
【００９０】
アロケーションマネージャは、上述したように、ディフェクトリスト、空き領域リスト、論理セクタ開始物理セクタ番号に基づいて、連続空き領域リストを作成するが、この連続空き領域リストを作成する連続空き領域リスト作成処理は、その処理で利用されるディフェクトリストが、スリップ処理用のものであるのか、またはリアサイン処理用のものであるのかによって異なる。
【００９１】
そこで、まず最初に、図１０のフローチャートを参照して、スリップ処理用のディフェクトリストを利用して行われるスリップ処理利用型の連続空き領域リスト作成処理について説明する。
【００９２】
連続空き領域リスト作成処理では、まず最初に、ステップＳ２１において、記録制御部４８が、情報要求コマンドを、ドライブ２に送信する。情報要求コマンドを受信したドライブ２は、図９で説明したように、ディフェクトリスト、空き領域リスト、論理セクタ開始物理セクタ番号を、アロケーションマネージャに返してくるので、アロケーションマネージャは、ステップＳ２２において、それらを受信することで、ディフェクトリスト、空き領域リスト、論理セクタ開始物理セクタ番号を取得する。
【００９３】
即ち、ドライブ２から送信されてくるディフェクトリストおよび空き領域リストは、リスト取得部４１で受信され、リスト取得部４１は、ディフェクトリストと空き領域リストを、ディフェクトリスト記憶部４２と空き領域リスト記憶部４３にそれぞれ供給して記憶させる。また、ドライブ２から送信されてくる論理セクタ開始物理セクタ番号は、連続空き領域リスト作成部４４において受信される。
【００９４】
ここで、図１０の実施の形態では、ディフェクトリスト記憶部４２に記憶されるディフェクトリストは、前述の図２に示したようなスリップ処理で用いられるものであり、従って、欠陥がある物理セクタのＰＳＮの一覧である。
【００９５】
その後、ステップＳ２３に進み、連続空き領域リスト作成部４４は、空き領域リスト記憶部４２に記憶された空き領域リストを読み出し、連続空き領域リスト記憶部４５に、連続空き領域リストとしてコピーして、ステップＳ２４に進む。
【００９６】
ステップＳ２４では、連続空き領域リスト作成部４４が、ディフェクトリスト４３に記憶された、スリップ処理で用いられるディフェクトリストに記述された各ＰＳＮを、順次、注目ＰＳＮとして、その注目ＰＳＮによって特定される欠陥領域（不良セクタ）の直前の正常な物理セクタに割り当てられている論理セクタのＬＳＮを求める。さらに、ステップＳ２４では、連続空き領域リスト作成部４４が、そのＬＳＮを、連続空き領域の終点のＬＳＮを表す連続空き領域終点ＬＳＮとして、注目ＰＳＮと対応付けて、ディフェクトリストに登録する。
【００９７】
ここで、ＰＳＮは、ドライブ２が、光ディスク３上の実際の物理セクタを特定するための番号であり、ＬＳＮは、ドライブ２の外部（ファイルシステムやアプリケーションなど）から、物理セクタに割り当てられた論理セクタを特定するための番号である。そして、ドライブ２では、仮に、光ディスク３に欠陥がないとすれば、光ディスク３のある物理セクタが、論理セクタの割り当てを開始する論理セクタ開始物理セクタとされ、その論理セクタ開始物理セクタである物理セクタから、論理セクタが、シーケンシャルに割り当てられていく。従って、いま、論理セクタ開始物理セクタのＰＳＮを、論理セクタ開始物理セクタ番号というものとして、その論理セクタ開始物理セクタ番号を、ＬＳＮ＿ＳＴＡＲＴで表すこととすると、あるＬＳＮで特定される論理セクタに割り当てられている物理セクタのＰＳＮは、例えば、次式で表される。
【００９８】
ＰＳＮ＝ＬＳＮ＋ＬＳＮ＿ＳＴＡＲＴ・・・（１）
【００９９】
また、あるＰＳＮで特定される物理セクタに割り当てられている論理セクタのＬＳＮは、式（１）から、次式で表される。
【０１００】
ＬＳＮ＝ＰＳＮ−ＬＳＮ＿ＳＴＡＲＴ・・・（２）
【０１０１】
一方、スリップ処理では、欠陥がある物理セクタ（不良セクタ）には、論理セクタが割り当てられず、論理セクタの割り当てが、直後の正常な物理セクタにスリップされる。従って、論理セクタ開始物理セクタから、あるＬＳＮによって特定される論理セクタに割り当てられている物理セクタまでに存在する不良セクタの数を、関数ＮＯＳ（ＬＳＮ）で表すこととすると（ＮＯＳ：Ｎｕｍｂｅｒ　Ｏｆ　Ｓｌｉｐ　ｄｅｆｅｃｔ）、スリップ処理が行われている場合の、あるＬＳＮで特定される論理セクタに割り当てられている物理セクタのＰＳＮは、式（１）から、次式で表される。
【０１０２】
ＰＳＮ＝ＬＳＮ＋ＬＳＮ＿ＳＴＡＲＴ＋ＮＯＳ（ＬＳＮ）・・・（３）
【０１０３】
また、論理セクタ開始物理セクタから、あるＰＳＮによって特定される物理セクタに割り当てられている論理セクタまでに存在する不良セクタの数を、関数ＮＯＳ（ＰＳＮ）で表すこととすると、スリップ処理が行われている場合の、あるＰＳＮで特定される物理セクタに割り当てられている論理セクタのＬＳＮは、式（３）から、次式で表される。
【０１０４】
ＬＳＮ＝ＰＳＮ−ＬＳＮ＿ＳＴＡＲＴ−ＮＯＳ（ＰＳＮ）・・・（４）
【０１０５】
スリップ処理が行われている場合の、ＰＳＮとＬＳＮとの間の相互の変換は、式（３）と（４）によって行うことができる。
【０１０６】
なお、リアサイン処理では、欠陥がある物理セクタ（不良セクタ）が、他の正常な物理セクタに実質的に置換されるが、不良セクタであっても、論理セクタは割り当てられるから、スリップ処理が行われている場合の、ＰＳＮとＬＳＮとの間の相互の変換は、式（１）と（２）によって行うことができる。
【０１０７】
スリップ処理で用いられるディフェクトリストに記述されたＰＳＮによって特定される欠陥領域（欠陥がある物理セクタ）の直前の正常な物理セクタに割り当てられている論理セクタのＬＳＮ、即ち、連続空き領域終点ＬＳＮは、式（４）によって求めることができ、従って、ステップＳ２４では、図１１に示すように、ディフェクトリスト記憶部４３に記憶されているディフェクトリストに、連続空き領域終点ＬＳＮが追加される。
【０１０８】
ここで、本実施の形態では、論理セクタ開始物理セクタ番号ＬＳＮ＿ＳＴＡＲＴが、例えば１００であるとして、ＰＳＮが１００の物理セクタから、ＬＳＮが０からの論理セクタが順次割り当てられるとする。
【０１０９】
図１１の実施の形態では、ＰＳＮが１０７，１３４，１３５の物理セクタが欠陥領域として、ディフェクトリストに記述されている。論理セクタ開始物理セクタである物理セクタ＃１００から、ＰＳＮが１０７で表される物理セクタ＃１０７までの欠陥領域の数は、その物理セクタ＃１０７の１つだけであり、ＮＯＳ（ＰＳＮ）は１となる。従って、ＰＳＮ＝１０７，ＬＳＮ＿ＳＴＡＲＴ＝１００，ＮＯＳ（ＰＳＮ）＝１を、式（４）に代入して計算することにより、物理セクタ＃１０７に対しては、連続空き領域終点ＬＳＮとして６が求められる。
【０１１０】
また、論理セクタ開始物理セクタ＃１００から、ＰＳＮが１３４で表される物理セクタ＃１３４までの欠陥領域の数は、その物理セクタ＃１３４と、その前に記述されている物理セクタ＃１０７の２つであり、ＮＯＳ（ＰＳＮ）は２となる。従って、ＰＳＮ＝１３４，ＬＳＮ＿ＳＴＡＲＴ＝１００，ＮＯＳ（ＰＳＮ）＝２を、式（４）に代入して計算することにより、物理セクタ＃１３４に対しては、連続空き領域終点ＬＳＮとして３２が求められる。さらに、論理セクタ開始物理セクタ＃１００から、ＰＳＮが１３５で表される物理セクタ＃１３５までの欠陥領域の数は、その物理セクタ＃１３５と、その前に記述されている物理セクタ＃１０７および＃１３４の３つであり、ＮＯＳ（ＰＳＮ）は３となる。従って、ＰＳＮ＝１３５，ＬＳＮ＿ＳＴＡＲＴ＝１００，ＮＯＳ（ＰＳＮ）＝３を、式（４）に代入して計算することにより、物理セクタ＃１３５に対しては、連続空き領域終点ＬＳＮとして３２が求められる。
【０１１１】
図１０に戻り、ステップＳ２４において、ディフェクトリストの各ＰＳＮに、連続空き領域終点ＬＳＮが対応付けられて登録された後は、ステップＳ２５に進み、連続空き領域リスト作成部４４は、ディフェクトリスト記憶部４３に記憶されたディフェクトリストの最初のＰＳＮを注目ＰＳＮとして、ステップＳ２６に進む。ステップＳ２６では、連続空き領域リスト作成部４４は、注目ＰＳＮが表す欠陥領域（物理セクタ）の直前の物理セクタが欠陥領域であるかどうかを判定する。
【０１１２】
ステップＳ２６において、注目ＰＳＮが表す欠陥領域の直前の物理セクタが欠陥領域であると判定された場合、即ち、注目ＰＳＮが表す欠陥領域の直前の物理セクタが欠陥領域であり、従って、注目ＰＳＮが表す物理セクタが、連続空き領域の最後の物理セクタにはなり得ない場合、ステップＳ２７およびＳ２８をスキップして、ステップＳ２９に進む。
【０１１３】
また、ステップＳ２６において、注目ＰＳＮが表す欠陥領域の直前の物理セクタが欠陥領域でないと判定された場合、ステップＳ２７に進み、連続空き領域リスト作成部４４は、ディフェクトリスト記憶部４３に記憶されたディフェクトリストにおいて、注目ＰＳＮに対応付けられている連続空き領域終点ＬＳＮを含む連続空き領域が、連続空き領域リスト記憶部４５に記憶された連続空き領域リストに存在するかどうかを判定する。ステップＳ２７において、ディフェクトリストにおいて、注目ＰＳＮに対応付けられている連続空き領域終点ＬＳＮを含む連続空き領域が、連続空き領域リストに存在しないと判定された場合、ステップＳ２８をスキップして、ステップＳ２９に進む。
【０１１４】
また、ステップＳ２７において、ディフェクトリストにおいて、注目ＰＳＮに対応付けられている連続空き領域終点ＬＳＮを含む連続空き領域が、連続空き領域リストに存在すると判定された場合、ステップＳ２８に進み、連続空き領域リスト作成部４４は、連続空き領域終点ＬＳＮを含む連続空き領域を、その先頭から連続空き領域終点ＬＳＮまでの連続空き領域と、それ以降の連続空き領域とに分割する。
【０１１５】
ここで、図１２は、ドライブ２から供給された空き領域リストがコピーされた直後の連続空き領域リストの例を示している。
【０１１６】
ドライブ２から供給される空き領域リストには、例えば、空き領域となっている、１以上の連続した論理セクタの先頭のＬＳＮと、その連続した論理セクタの長さ（数）が記述されている。なお、空き領域リストには、その他、例えば、空き領域となっている、１以上の連続した論理セクタの先頭のＬＳＮと、その終わりのＬＳＮとを記述すること等が可能である。
【０１１７】
ここで、図１２では（後述する図１３、図１６、および図１７においても同様）、連続した論理セクタが空き領域になっていることを分かりやすくするために、空き領域となっている、１以上の連続した論理セクタ（群）ごとに、行（段）を変えて、空き領域を図示してある。また、図１２では（後述する図１３、図１６、および図１７においても同様）、ドライブ２から供給される空き領域リストに記述されているＬＳＮの他、そのＬＳＮに対応するＰＳＮ（そのＬＳＮによって特定される論理セクタが割り当てられている物理セクタのＰＳＮ）も図示してある。
【０１１８】
図１２に示した連続空き領域リストは、上述したように、ドライブ２から供給された空き領域リストがコピーされた直後のもの、即ち、ドライブ２から供給される空き領域リストそのものであり、上述したように、各空き領域を構成する論理セクタは連続している。即ち、図１２の連続空き領域リストによれば、連続した論理セクタ＃１乃至＃１２が、上から１段目の空き領域を構成しており、また、連続した論理セクタ＃３０乃至＃３７が２段目の空き領域を構成している。
【０１１９】
しかしながら、ドライブ２から供給される空き領域リストによって表される空き領域は、連続した物理セクタによって構成されるとは限らない。
【０１２０】
即ち、ドライブ２から供給されたディフェクトリストが、例えば、図１１に示したものであったとすると、光ディスク３の物理セクタ＃１０７，＃１３４，＃１３５には、欠陥があり、論理セクタが割り当てられていない。従って、論理セクタ開始物理セクタ番号ＬＳＮ＿ＳＴＡＲＴが、例えば、上述したように１００であるとすると、１段目の空き領域を構成する論理セクタ＃１乃至＃１２は、本来、物理セクタ＃１０１乃至１１２にそれぞれ割り当てられるが、物理セクタ＃１０７には欠陥があるため、スリップ処理により論理セクタが割り当てられず、その結果、物理セクタ＃１０１乃至＃１０６には、論理セクタ＃１乃至＃６がそれぞれ割り当てられ、物理セクタ＃１０７はスリップして、物理セクタ＃１０８以降に、論理セクタ＃７以降が割り当てられる。
【０１２１】
従って、図１２の連続空き領域リストの１段目の空き領域は、連続した論理セクタ＃１乃至＃１２で構成されてはいるが、連続した物理セクタによっては構成されておらず、物理セクタ＃１０１乃至＃１０６と、物理セクタ＃１０８乃至＃１１３との、２つの連続した物理セクタで構成されている。
【０１２２】
このため、図１２の連続空き領域リストの１段目の空き領域を、物理的に連続した連続空き領域とするには、１段目の空き領域を、連続した物理セクタ＃１０１乃至＃１０６にそれぞれ割り当てられている論理セクタ＃１乃至＃６と、連続した物理セクタ＃１０８乃至＃１１３にそれぞれ割り当てられている論理セクタ＃７乃至＃１２に分割する必要がある。
【０１２３】
ところで、連続した物理セクタ＃１０１乃至＃１０６にそれぞれ割り当てられている論理セクタ＃１乃至＃６のうちの最後の論理セクタ＃６のＬＳＮは、連続空き領域終点ＬＳＮとして、図１１に示したディフェクトリストに登録されている。
【０１２４】
そこで、連続空き領域リスト作成部４４は、図１０のステップＳ２８において、連続空き領域終点ＬＳＮを含む連続空き領域を、その先頭から連続空き領域終点ＬＳＮまでの連続空き領域と、それ以降の連続空き領域とに分割し、これにより、物理的に連続した空き領域とする。
【０１２５】
図１２の連続空き領域リストの１段目の空き領域が、論理セクタ＃１乃至＃６で構成される連続空き領域と、論理セクタ＃７乃至＃１２で構成される連続空き領域とに分割されることにより、図１２の連続空き領域リストは、図１３に示すように更新される。
【０１２６】
なお、図１１に示したディフェクトリストによれば、連続した物理セクタ＃１３４と＃１３５に欠陥がある。ディフェクトリストの最初のＰＳＮから、順次、注目ＰＳＮにする場合、連続した物理セクタ＃１３４と＃１３５のうちの最初に注目ＰＳＮとされる１３４によって、空き領域を分割すれば、物理セクタ＃１３４と＃１３５の間には連続した物理セクタが存在することはないから、後に注目ＰＳＮとされる物理セクタ＃１３５によって、空き領域を分割する必要はない（分割できない）。このため、連続空き領域リスト作成部４４は、図１０のステップＳ２６において、注目ＰＳＮが表す欠陥領域（物理セクタ）の直前の物理セクタが欠陥領域であるかどうかを判定し、注目ＰＳＮが表す欠陥領域の直前の物理セクタが欠陥領域である場合には、上述したように、ステップＳ２７およびＳ２８の処理を行わずにスキップするようになっている。
【０１２７】
図１０に戻り、ステップＳ２８の処理後は、ステップＳ２９に進み、連続空き領域リスト作成部４４は、注目ＰＳＮが、ディフェクトリストに記述された最後のＰＳＮであるかどうかを判定する。ステップＳ２９において、注目ＰＳＮが、ディフェクトリストに記述された最後のＰＳＮでないと判定された場合、ステップＳ３０に進み、連続空き領域リスト作成部４４は、ディフェクトリストにおいて、注目ＰＳＮの次に記述されているＰＳＮを、新たに注目ＰＳＮとして、ステップＳ２６に戻り、以下、同様の処理が繰り返される。
【０１２８】
また、ステップＳ２９において、注目ＰＳＮが、ディフェクトリストに記述された最後のＰＳＮであると判定された場合、連続空き領域リスト作成処理を終了する。
【０１２９】
以上の連続空き領域リスト作成処理により、論理的には連続しているが、物理的には不連続である可能性のある空き領域が記述された図１２の連続空き領域リストから、物理的に連続している連続空き領域が記述された図１３の連続空き領域リストが作成される。
【０１３０】
次に、図１４のフローチャートを参照して、リアサイン処理用のディフェクトリストを利用して行われるリアサイン処理利用型の連続空き領域リスト作成処理について説明する。
【０１３１】
連続空き領域リスト作成処理では、まず最初に、ステップＳ４１において、記録制御部４８が、情報要求コマンドを、ドライブ２に送信する。情報要求コマンドを受信したドライブ２は、図９で説明したように、ディフェクトリスト、空き領域リスト、論理セクタ開始物理セクタ番号ＬＳＮ＿ＳＴＡＲＴを、アロケーションマネージャに返してくるので、アロケーションマネージャは、ステップＳ４２において、それらを受信することで、ディフェクトリスト、空き領域リスト、論理セクタ開始物理セクタ番号ＬＳＮ＿ＳＴＡＲＴを取得する。
【０１３２】
即ち、ドライブ２から送信されてくるディフェクトリストおよび空き領域リストは、リスト取得部４１で受信され、リスト取得部４１は、ディフェクトリストと空き領域リストを、ディフェクトリスト記憶部４２と空き領域リスト記憶部４３にそれぞれ供給して記憶させる。また、ドライブ２から送信されてくる論理セクタ開始物理セクタ番号は、連続空き領域リスト作成部４４において受信される。
【０１３３】
ここで、図１４の実施の形態では、ディフェクトリスト記憶部４２に記憶されるディフェクトリストは、前述の図４に示したようなリアサイン処理で用いられるものであり、従って、欠陥がある物理セクタのＰＳＮと、その物理セクタの代替となる正常な物理セクタ（以下、適宜、代替物理セクタという）のＰＳＮとを対応付けた一覧である。
【０１３４】
その後、ステップＳ４３に進み、連続空き領域リスト作成部４４は、空き領域リスト記憶部４２に記憶された空き領域リストを読み出し、連続空き領域リスト記憶部４５に、連続空き領域リストとしてコピーして、ステップＳ４４に進む。
【０１３５】
ステップＳ４４では、連続空き領域リスト作成部４４が、ディフェクトリスト４３に記憶された、リアサイン処理で用いられるディフェクトリストに記述された、欠陥がある物理セクタの各ＰＳＮを、順次、注目ＰＳＮとして、その注目ＰＳＮによって特定される、欠陥がある物理セクタに割り当てられている論理セクタのＬＳＮを求める。さらに、ステップＳ４４では、連続空き領域リスト作成部４４が、そのＬＳＮを、連続空き領域を区分する論理セクタのＬＳＮを表す連続空き領域区分ＬＳＮとして、注目ＰＳＮと対応付けて、ディフェクトリストに登録する。
【０１３６】
ここで、注目ＰＳＮによって特定される、欠陥がある物理セクタに割り当てられている論理セクタのＬＳＮは、上述した式（２）によって求めることができる。
【０１３７】
従って、例えば、いま、論理セクタ開始物理セクタ番号ＬＳＮ＿ＳＴＡＲＴが、上述したように１００であるとすると、ステップＳ４４では、図１５に示すように、ディフェクトリスト記憶部４３に記憶されているディフェクトリストに、連続空き領域区分ＬＳＮが追加される。
【０１３８】
ステップＳ４４において、ディフェクトリストの、欠陥がある物理セクタの各ＰＳＮに、連続空き領域区分ＬＳＮが対応付けられて登録された後は、ステップＳ４５に進み、連続空き領域リスト作成部４４は、ディフェクトリスト記憶部４３に記憶されたディフェクトリストの最初の連続空き領域区分ＬＳＮを注目ＬＳＮとして、ステップＳ４６に進む。ステップＳ４６では、連続空き領域リスト作成部４４は、ディフェクトリスト記憶部４３に記憶されたディフェクトリストにおいて、注目ＬＳＮを含む連続空き領域が、連続空き領域リスト記憶部４５に記憶された連続空き領域リストに存在するかどうかを判定する。ステップＳ４６において、ディフェクトリストにおいて、注目ＬＳＮを含む連続空き領域が、連続空き領域リストに存在しないと判定された場合、ステップＳ４７およびＳ４８をスキップして、ステップＳ４９に進む。
【０１３９】
また、ステップＳ４６において、ディフェクトリストにおいて、注目ＬＳＮを含む連続空き領域が、連続空き領域リストに存在すると判定された場合、ステップＳ４７に進み、連続空き領域リスト作成部４４は、注目ＬＳＮを含む連続空き領域を、その先頭から注目ＬＳＮの直前までの連続空き領域、注目ＬＳＮ、注目ＬＳＮの直後から最後までの連続空き領域に分割する。
【０１４０】
ここで、図１６は、ドライブ２から供給された空き領域リストがコピーされた直後の連続空き領域リストの例を示している。
【０１４１】
なお、図１６の連続空き領域リストは、図１２に示した連続空き領域リストと同一の空き領域を表している。また、図１５に示したディフェクトリストも、図１１のディフェクトリストと同一の物理セクタに欠陥があることを表している。
【０１４２】
従って、図１５のディフェクトリストおよび図１６の連続空き領域リストによれば、論理セクタ開始物理セクタ番号ＬＳＮ＿ＳＴＡＲＴが、例えば、上述したように１００であるとすると、１段目の空き領域を構成する論理セクタ＃１乃至＃１２は、物理セクタ＃１０１乃至１１２にそれぞれ割り当てられているが、物理セクタ＃１０７には欠陥があるため、リアサイン処理により、物理セクタ＃１０７は、その代替物理セクタである物理セクタ＃１（図１５）に置換される。従って、実質的には、論理セクタ＃１乃至＃６は、連続した物理セクタ＃１０１乃至＃１０６にそれぞれ割り当てられ、論理セクタ＃７は、いわば孤立した物理セクタ＃１に割り当てられ（リアサインされ）、論理セクタ＃８乃至＃１２は、連続した物理セクタ＃１０８乃至＃１２にそれぞれ割り当てられる。
【０１４３】
従って、図１６の連続空き領域リストの１段目の空き領域は、連続した論理セクタ＃１乃至＃１２で構成されてはいるが、連続した物理セクタによっては構成されておらず、物理セクタ＃１０１乃至＃１０６、物理セクタ＃１、物理セクタ＃１０８乃至＃１１３の、３ブロックの物理セクタ（群）で構成されている。
【０１４４】
このため、図１６の連続空き領域リストの１段目の空き領域を、物理的に連続した連続空き領域とするには、１段目の空き領域を、連続した物理セクタ＃１０１乃至＃１０６にそれぞれ割り当てられている論理セクタ＃１乃至＃６、代替物理セクタ＃１に実質的に割り当てられている論理セクタ＃７、連続した物理セクタ＃１０８乃至＃１１３にそれぞれ割り当てられている論理セクタ＃８乃至＃１２に分割する必要がある。
【０１４５】
ところで、図１６の連続空き領域リストの１段目の空き領域から、連続した物理セクタ＃１０１乃至＃１０６にそれぞれ割り当てられている論理セクタ＃１乃至＃６と、連続した物理セクタ＃１０８乃至＃１１２にそれぞれ割り当てられている論理セクタ＃８乃至＃１２とを分割するための区分点を表す論理セクタ＃７のＬＳＮは、連続空き領域区分ＬＳＮとして、図１５に示したディフェクトリストに登録されている。
【０１４６】
そこで、連続空き領域リスト作成部４４は、図１４のステップＳ４７において、注目ＬＳＮとしての連続空き領域区分ＬＳＮを含む連続空き領域を、その先頭から注目ＬＳＮの直前までの連続空き領域、注目ＬＳＮ、注目ＬＳＮの直後から最後までの連続空き領域に分割し、これにより、注目ＬＳＮの直前までの連続空き領域と、注目ＬＳＮの直後以降の連続空き領域を得る。
【０１４７】
図１６の連続空き領域リストの１段目の空き領域が、論理セクタ＃１乃至＃６で構成される連続空き領域、論理セクタ＃７だけでなる空き領域、論理セクタ＃７乃至＃１２で構成される連続空き領域に分割されることにより、図１６の連続空き領域リストは、図１７に示すように更新される。
【０１４８】
図１４に戻り、ステップＳ４７の処理後は、ステップＳ４８に進み、連続空き領域リスト作成部４４は、連続空き領域リスト記憶部４５に記憶された連続空き領域リストにおける注目ＬＳＮに付加されている連続フラグｆｌａｇを０にリセットする。
【０１４９】
即ち、図１４の実施の形態では、連続空き領域リスト作成部４４は、連続空き領域リストに、空き領域を登録するときに、各空き領域に対して、その空き領域が、連続した複数の物理セクタで構成されるかどうかを表す連続フラグｆｌａｇを付加し、さらに、図１６に示すように、連続フラグｆｌａｇを、空き領域が連続した複数の物理セクタで構成されることを表す、例えば１にセットするようになっている。一方、連続空き領域リストにおける注目ＬＳＮが表す空き領域は、１つの物理セクタ（代替物理セクタ）で構成され、連続した複数の物理セクタによっては構成されていない。そこで、連続空き領域リスト作成部４４は、ステップＳ４８において、連続空き領域リスト記憶部４５に記憶された連続空き領域リストにおける注目ＬＳＮに付加されている連続フラグｆｌａｇを０にリセットする。
【０１５０】
なお、このように、連続空き領域リストに、連続フラグｆｌａｇを記述する場合には、その連続フラグｆｌａｇを参照するだけで、連続空き領域リストに登録されている空き領域が、連続した複数の物理セクタで構成されるかどうかを、迅速に判断することができる。
【０１５１】
ステップＳ４８の処理後は、ステップＳ４９に進み、連続空き領域リスト作成部４４は、注目ＬＳＮが、ディフェクトリストに記述された最後の連続空き領域区分ＬＳＮであるかどうかを判定する。ステップＳ４９において、注目ＬＳＮが、ディフェクトリストに記述された最後の連続空き領域区分ＬＳＮでないと判定された場合、ステップＳ５０に進み、連続空き領域リスト作成部４４は、ディフェクトリストにおいて、注目ＬＳＮの次に記述されている連続空き領域区分ＬＳＮを、新たに注目ＬＳＮとして、ステップＳ４６に戻り、以下、同様の処理が繰り返される。
【０１５２】
また、ステップＳ４９において、注目ＬＳＮが、ディフェクトリストに記述された最後の連続空き領域区分ＬＳＮであると判定された場合、連続空き領域リスト作成処理を終了する。
【０１５３】
以上の連続空き領域リスト作成処理により、論理的には連続しているが、物理的には不連続である可能性のある空き領域が記述された図１６の連続空き領域リストから、物理的に連続している連続空き領域が記述された図１７の連続空き領域リストが作成される。
【０１５４】
次に、図８のアロケーションマネージャは、連続空き領域リストを参照し、光ディスク３へのデータの書き込み制御（記録制御）を行う。
【０１５５】
そこで、図１８のフローチャートを参照して、図８のアロケーションマネージャによる書き込み制御処理について説明する。
【０１５６】
光ディスク３へのデータの書き込み時には、アロケーションマネージャのデータ設定部４７に、光ディスク３に記録すべきデータが供給される。
【０１５７】
そして、ステップＳ６１において、連続空き領域検出部４６は、連続空き領域リスト記憶部４５に記憶された連続空き領域リストを参照することにより、物理的に連続した空き領域（連続した物理セクタで構成される空き領域）である連続空き領域を検出し、データ設定部４７および記録制御部４８に供給して、ステップＳ６２に進む。
【０１５８】
なお、連続空き領域検出部４６は、例えば、連続空き領域リスト（図１３、図１７）の最初に記述されている連続空き領域を検出する。
【０１５９】
ステップＳ６２では、データ設定部４７が、そこに供給されるデータ（の先頭）から、ステップＳ６１で検出された連続空き領域分のデータを抽出し（切り出し）、そのデータを、光ディスク３に連続的に書き込むデータとして設定して、記録制御部４８に供給する。
【０１６０】
なお、ステップＳ６１で検出された連続空き領域の大きさが、ＥＣＣブロックの整数倍の大きさでない場合、ステップＳ６２では、例えば、ステップＳ６１で検出された連続空き領域の大きさ以下で、ＥＣＣブロックの整数倍の最大の大きさのデータが抽出される。
【０１６１】
そして、ステップＳ６３に進み、記録制御部４８は、データ設定部４７から供給されるデータを、ステップＳ６１で検出された連続空き領域に書き込むことを指示するｗｒｉｔｅコマンドを、その連続空き領域を表すＬＳＮとともに、ドライブ２に送信して、ステップＳ６４に進む。ステップＳ６４では、記録制御部４８は、データ設定部４７から供給されたデータを、ドライブ２に送信して、ステップＳ６５に進む。これにより、ドライブ２では、図９で説明したようにして、記録制御部４８から供給されるデータが、光ディスク３の、ステップＳ６１で検出された連続空き領域に記録される。
【０１６２】
ステップＳ６５では、記録制御部４８が、連続空き領域リスト記憶部４５に記憶された連続空き領域リストを更新し、ステップＳ６６に進む。
【０１６３】
即ち、ステップＳ６１で検出された連続空き領域には、データが記録されることから、空き領域ではなくなる。そこで、ステップＳ６５において、記録制御部４８は、連続空き領域リストから、ステップＳ６１で検出された連続空き領域を削除することにより、連続空き領域を更新する。
【０１６４】
ステップＳ６６では、データ設定部４７が、光ディスク３に書き込むべきデータが、まだ残っているかどうかを判定する。ステップＳ６６において、光ディスク３に書き込むべきデータが、まだ残っていると判定された場合、ステップＳ６１に戻り、以下、同様の処理が行われ、これにより、まだ残っているデータが、光ディスク３に記録される。
【０１６５】
一方、ステップＳ６６において、光ディスク３に書き込むべきデータが残っていないと判定された場合、即ち、データ設定部４７に供給されたデータが、すべて、光ディスク３に記録された場合、処理を終了する。
【０１６６】
以上のように、光ディスク３上の物理的に連続した連続空き領域が検出され、その連続空き領域に、データが連続して記録されるので、その連続空き領域に対する書き込み時には、ドライブ２においてシークが発生しない。従って、高ビットレートのデータを、リアルタイムで書き込むことができる。
【０１６７】
また、以上のようにして光ディスク３に書き込まれたデータは、例えば、従来と同様にして読み出されるが、連続空き領域に記録されたデータの読み出し時には、やはり、ドライブ２においてシークが発生しない。従って、高ビットレートのデータを、リアルタイムで読み出すことができる。
【０１６８】
次に、図１８の書き込み制御処理によれば、上述したように、連続空き領域に対するデータの読み書き時にシークは発生しない。従って、ある１つの連続空き領域に、すべてのデータを記録することができる場合には、そのデータのリアルタイムでの読み書きが、シークによって妨げられることはない。
【０１６９】
しかしながら、データが、複数の連続空き領域に亘って記録される場合があり、この場合、ある連続空き領域から、他の連続空き領域に亘って、データの読み書きが行われると、その、ある連続空き領域から、他の連続空き領域に、データの読み書き対象が変わるときに、ドライブ２においてシークが発生する。
【０１７０】
いま、ドライブ２において発生する最大のシーク時間（最大シーク時間）をＴｍａｘ［秒］と、光ディスク３に記録されたデータのデータレートをａ［ｂｉｔ　ｐｅｒ　ｓｅｃｏｎｄ］と、ドライブ２の読み出しレートをｂ［ｂｉｔ　ｐｅｒ　ｓｅｃｏｎｄ］と、それぞれ表すこととして、シークが発生しても、データのリアルタイム再生が可能なケースについて考える。
【０１７１】
図１９は、データレートａで再生されるデータの積算データ量である再生データ量と、ドライブ２において読み出しレートｂで光ディスク３から読み出されるデータの積算データ量である読み出しデータ量とを示している。
【０１７２】
図１９に示すように、読み出しデータ量が、再生データ量以上となっていれば、光ディスク３に記録されたデータをリアルタイムで再生することができる。
【０１７３】
そこで、いま、ドライブ２において、あるシーク（１回目のシーク）が行われてから、次のシーク（２回目のシーク）が行われるまでの間に読み出されるデータ量を、セグメント長ということとして、そのセグメント長をＬで表すと、セグメント長Ｌのデータを、読み出しレートｂで、光ディスク３から読み出すのに要する時間は、Ｌ／ｂ［秒］である。
【０１７４】
従って、最大シーク時間Ｔｍａｘと、セグメント長Ｌのデータを光ディスク３から読み出す時間Ｌ／ｂとをあわせた時間Ｔｍａｘ＋Ｌ／ｂの間に、データレートａで再生されるデータ量（Ｔｍａｘ＋Ｌ／ｂ）×ａが、セグメント長Ｌ以下であれば、即ち、セグメント長Ｌが、データ量（Ｔｍａｘ＋Ｌ／ｂ）×ａ以上であれば、読み出しデータ量が、再生データ量以上となり、光ディスク３に記録されたデータをリアルタイムで再生することができる。
【０１７５】
以上から、データが、光ディスク３に、（Ｔｍａｘ＋Ｌ／ｂ）×ａ以上のセグメント長Ｌだけ物理的に連続して記録されていれば、光ディスク３に記録されたデータをリアルタイムで再生することができる。同様に、光ディスク３に対して、データをセグメント長Ｌだけ連続して記録すれば、データをリアルタイムで書き込むことができる。
【０１７６】
なお、データをリアルタイムで読み書きするためのセグメント長Ｌは、最大シーク時間Ｔｍａｘが長いほど長くなる。
【０１７７】
ここで、データをリアルタイムで読み書きするための最小のセグメント長Ｌ（ここでは、例えば、（Ｔｍａｘ＋Ｌ／ｂ）×ａ以上のセグメント長Ｌ）を、以下、適宜、最小セグメント長Ｌという。但し、データをリアルタイムで読み書きするための最小のセグメント長Ｌが、ＥＣＣブロックの長さ未満の場合は、最小セグメント長Ｌは、ＥＣＣブロックの長さとされる。なお、現実的には、データ（特に、画像データ）をリアルタイムで読み書きするための最小のセグメント長Ｌは、一般に、ＥＣＣブロックの長さより大である。
【０１７８】
次に、図２０のフローチャートを参照して、データが複数の連続空き領域に亘って記録される場合であっても、リアルタイムでのデータの読み書きを可能とする書き込み制御処理について説明する。
【０１７９】
この場合、ステップＳ７１において連続空き領域検出部４６は、連続空き領域リスト記憶部４５に記憶された連続空き領域リストを参照することにより、最小セグメント長Ｌ以上の連続空き領域を検出し、データ設定部４７および記録制御部４８に供給する。
【０１８０】
そして、以下、ステップＳ７２乃至Ｓ７６に順次進み、図１８のステップＳ６２乃至Ｓ６６における場合とそれぞれ同様の処理が行われる。
【０１８１】
従って、この場合、光ディスク３上の最小セグメント長Ｌ以上の連続空き領域が検出され、その連続空き領域に、データが連続して記録されるので、ドライブ２において、ある連続空き領域から他の連続空き領域へのシークが生じても、データを、リアルタイムで読み書きすることができる。
【０１８２】
なお、最小セグメント長Ｌは、任意の値にすることが可能である。但し、最小セグメント長Ｌが短い場合には、シーク時間によっては、リアルタイムでのデータの読み書きができないことが生じ得る。逆に、最小セグメント長Ｌが長い場合には、シーク時間が大であっても、リアルタイムでのデータの読み書きを行うことが可能となる。
【０１８３】
次に、光ディスク３においては、フォーマット時に、欠陥が生じている場合の他、その後に、欠陥が、新たに生じることがある。このように、光ディスク３に新たな欠陥が生じた場合には、従来のドライブでは、例えば、リアサイン処理によって、データが、欠陥のある物理セクタを避けて正常な物理セクタに記録される。
【０１８４】
しかしながら、ドライブ２において、従来のドライブと同一のリアサイン処理を行うと、そのリアサイン処理によって、データは、不連続な物理セクタに亘って記録され、その不連続な物理セクタにアクセスする際に、シークが発生する。従って、そのシークの発生直前にデータが記録される記録領域が、最小セグメント長Ｌ未満である場合には、そのシークによって、リアルタイムでのデータ再生が妨げられることがある。
【０１８５】
そこで、ドライブ２は、図９で説明したように、データを書き込もうとした光ディスク３の記録領域（連続空き領域）に欠陥があった場合には、その書き込みを中止し、欠陥報告メッセージを、図８のアロケーションマネージャに送信する。
【０１８６】
そして、アロケーションマネージャは、欠陥報告メッセージを受信すると、最小セグメント長以上の連続空き領域に、書き込みが中止されたデータを再配置し、これにより、光ディスク３の最小セグメント長Ｌ未満の記録領域にデータが記録されることによって、リアルタイムでのデータ再生が妨げられることを防止するようになっている。
【０１８７】
アロケーションマネージャは、上述したように、欠陥報告メッセージを受信すると、最小セグメント長以上の連続空き領域に、書き込みが中止されたデータを再配置する書き込み制御処理を行うが、この書き込み制御処理には、データの再配置を、前述のスリップ処理を利用して行うものと、リアサイン処理を利用して行うものとがある。
【０１８８】
そこで、まず、図２１のフローチャートを参照して、図８のアロケーションマネージャが、スリップ処理を利用して行うスリップ処理利用型の書き込み制御処理について説明する。
【０１８９】
図１８で説明したように、光ディスク３へのデータの書き込み時には、アロケーションマネージャのデータ設定部４７に、光ディスク３に記録すべきデータが供給される。
【０１９０】
そして、ステップＳ８１において、記録制御部４８は、データの記録（書き込み）中に、欠陥が発見されたかどうかを表す欠陥フラグｒｅｐに、初期値としての、例えば０をセットし、ステップＳ８２に進む。
【０１９１】
ステップＳ８２では、データ設定部４７が、そこに供給されるデータの最初（先頭）から、最小セグメント長Ｌ以上の、ＥＣＣブロックの整数倍の大きさのデータを抽出し（切り出し）、光ディスク３に連続して書き込むデータである注目セグメントデータとして設定して、記録制御部４８に供給する。
【０１９２】
その後、ステップＳ８３に進み、連続空き領域検出部４６は、連続空き領域リスト記憶部４５に記憶された連続空き領域リストを参照することにより、注目セグメントデータ以上の大きさの連続空き領域を検出し、データ設定部４７および記録制御部４８に供給して、ステップＳ８４に進む。
【０１９３】
ステップＳ８４では、記録制御部４８は、データ設定部４７から供給される注目セグメントデータを、ステップＳ８３で検出された連続空き領域に書き込むことを指示するｗｒｉｔｅコマンドを、その連続空き領域を表すＬＳＮとともに、ドライブ２に送信して、ステップＳ８５に進む。ステップＳ８５では、記録制御部４８は、データ設定部４７から供給された注目セグメントデータを、ドライブ２に送信して、ステップＳ８６に進む。これにより、ドライブ２では、図９で説明したようにして、記録制御部４８から供給される注目セグメントデータが、光ディスク３の、ステップＳ８３で検出された連続空き領域に記録される。
【０１９４】
ステップＳ８６では、記録制御部４８が、ドライブ２から欠陥報告メッセージが送信されてきたかどうかを判定し、送信されてきたと判定された場合、即ち、注目セグメントデータを書き込もうとした連続空き領域に欠陥があった場合、ステップＳ８７に進み、記録制御部４８は、欠陥フラグｒｅｐに、欠陥が発見された旨を表す、例えば１をセットするとともに、新たな連続空き領域の検出を、連続空き領域検出部４６に要求し、ステップＳ８８に進む。
【０１９５】
ステップＳ８８では、連続空き領域検出部４６は、連続空き領域リスト記憶部４５に記憶された連続空き領域リストを参照することにより、その連続空き領域リストにおいて、例えば、注目セグメントデータについて前回検出した連続空き領域の直後に記述されている連続空き領域の中から、注目セグメントデータ以上の大きさの連続空き領域を新たに検出し、データ設定部４７および記録制御部４８に供給する。
【０１９６】
そして、ステップＳ８４に戻り、以下、上述の場合と同様の処理が行われる。この場合、ドライブ２では、図９で説明したようにして、記録制御部４８から供給される注目セグメントデータが、光ディスク３の、ステップＳ８８で新たに検出された連続空き領域に記録される。
【０１９７】
一方、ステップＳ８６において、ドライブ２から欠陥報告メッセージが送信されてきていないと判定された場合、即ち、注目セグメントデータが、光ディスク３上の物理的に連続した記録領域に、正常に、連続して記録された場合、ステップＳ８９に進み、記録制御部４８は、連続空き領域リスト記憶部４５に記憶された連続空き領域リストを更新する。
【０１９８】
ここで、図２１の実施の形態では、ステップＳ８３およびＳ８８において、注目セグメントデータ以上の大きさの連続空き領域が検出される。この場合、連続空き領域が、注目セグメントデータと同一の大きさであるケースと、連続空き領域が、注目セグメントデータよりも大のケースとが存在する。
【０１９９】
連続空き領域が、注目セグメントデータと同一の大きさである場合、ステップＳ８９では、その連続記録領域が、連続空き領域リストから削除される。一方、連続空き領域が、注目セグメントデータよりも大きい場合、ステップＳ８９では、例えば、その連続空き領域の先頭から注目セグメントデータの大きさの分だけが、連続空き領域リストから削除される。
【０２００】
その後、ステップＳ９０に進み、データ設定部４７が、光ディスク３に書き込むべきデータが、まだ残っているかどうかを判定する。ステップＳ９０において、光ディスク３に書き込むべきデータが、まだ残っていると判定された場合、ステップＳ９１に進み、データ設定部４７は、そこに供給されたデータの次の最小セグメント長Ｌ以上の、ＥＣＣブロックの整数倍の大きさのデータを抽出し、新たな注目セグメントデータとして設定して、記録制御部４８に供給する。
【０２０１】
ここで、上述したように、前回のステップＳ８３またはＳ８８で検出される連続空き領域が、注目セグメントデータよりも大のケースがあり、この場合、その連続空き領域のうちの先頭から、注目セグメントデータの大きさの分を除いた残りは、連続空き領域として残る。そして、この残った連続空き領域が、最小セグメント長Ｌ未満の場合には、その連続空き領域に、最小セグメント長Ｌ以上のデータを記録することができないため、以後、データが記録されないこととなる。従って、最小セグメント長Ｌ未満の連続空き領域が残ることは、光ディスク３の記録効率の観点から好ましくない。
【０２０２】
そこで、ステップＳ９１では、データ設定部４７は、前回のステップＳ８３またはＳ８８で検出された連続空き領域の先頭から前回の注目セグメントデータを記録した残りの連続空き領域を認識し、その連続空き領域に、新たな注目セグメントデータを記録したときに、その記録の結果残る連続空き領域の大きさが、最小セグメント長Ｌ未満とならないように、新たな注目セグメントデータを設定する。
【０２０３】
具体的には、データ設定部４７は、例えば、最小セグメント長Ｌのデータを、新たな注目セグメントデータとして設定する。但し、その最小セグメント長Ｌの新たな注目セグメントデータを、連続空き領域に記録することによって残る連続空き領域が、最小セグメント長Ｌ未満となる場合には、データ設定部４７は、連続空き領域と同一の大きさのデータを、新たな注目セグメントデータとして設定する。
【０２０４】
ステップＳ９１において、新たな注目セグメントデータが設定された後は、ステップＳ８３に戻り、以下、同様の処理が行われ、これにより、まだ残っているデータが、最小セグメント長Ｌ以上の物理的に連続した光ディスク３の記録領域に記録される。
【０２０５】
一方、ステップＳ９０において、光ディスク３に書き込むべきデータが残っていないと判定された場合、即ち、データ設定部４７に供給されたデータが、すべて、光ディスク３に記録された場合、ステップＳ９２に進み、記録制御部４８は、欠陥フラグｒｅｐが１であるかどうかを判定する。
【０２０６】
ステップＳ９２において、欠陥フラグｒｅｐが１でないと判定された場合、即ち、光ディスク３にデータを記録するときに、欠陥が発見されなかった場合、ステップＳ９３をスキップして、書き込み制御処理を終了する。
【０２０７】
また、ステップＳ９２において、欠陥フラグｒｅｐが１であると判定された場合、即ち、光ディスク３にデータを記録するときに、欠陥が発見された場合、ステップＳ９３に進み、例えば、図１４で説明した連続空き領域リスト作成処理が行われ、これにより、連続空き領域リストを更新して、書き込み制御処理を終了する。
【０２０８】
即ち、光ディスク３にデータを記録するときに、欠陥が発見された場合には、図９で説明したように、ドライブ２において、ディフェクトリストが更新される。ディフェクトリストが更新されると、連続空き領域が変化することがあるので、連続空き領域リストを、その更新されたディフェクトリストに基づいて更新する必要がある。そこで、ステップＳ９３では、連続空き領域リスト作成処理が行われることにより、連続空き領域リストが更新される。
【０２０９】
図２１の書き込み制御処理によれば、データは、例えば、図２２に示すように記録される。
【０２１０】
即ち、図２２では、最小セグメント長Ｌ以上のデータＳｅｇｍｅｎｔ１，Ｓｅｇｍｅｎｔ２，Ｓｅｇｍｅｎｔ３が、図２１の書き込み制御処理によって、光ディスク３に記録される様子を示している。
【０２１１】
図２２では、まず最初に、データＳｅｇｍｅｎｔ１が、光ディスク３の連続空き領域に記録される。その後、次のデータＳｅｇｍｅｎｔ２が、データＳｅｇｍｅｎｔ１が記録された直後の連続空き領域に記録されるが、その記録の途中で、欠陥が発見されている。このため、データＳｅｇｍｅｎｔ２の書き込みが、欠陥が発見された時点で中止され、即座に、欠陥の直後の連続空き領域に、データＳｅｇｍｅｎｔ２が、いわばスリップされて書き込まれる。そして、その後、次のデータＳｅｇｍｅｎｔ３が、データＳｅｇｍｅｎｔ２が記録された直後の連続空き領域に記録される。
【０２１２】
以上のように、図２１の書き込み制御処理によれば、データを書き込もうとした光ディスク３の記録領域（連続空き領域）に欠陥があった場合には、その書き込みが中止され、即座に、その欠陥のある記録領域の直後に、データが記録される。従って、光ディスク３の最小セグメント長Ｌ未満の記録領域にデータが記録されることによって、リアルタイムでのデータ再生が妨げられることを防止することができる。
【０２１３】
なお、図２１の書き込み制御処理では、欠陥のある記録領域の直後に、データが記録されるため、欠陥のある記録領域の直前から、その直後へのシークは、短時間で可能である。
【０２１４】
次に、図２３のフローチャートを参照して、図８のアロケーションマネージャが、スリップ処理を利用して行うスリップ処理利用型の書き込み制御処理の他の実施の形態について説明する。
【０２１５】
図２１の実施の形態では、データの書き込み時に、光ディスク３の欠陥が発見された場合には、そのデータの書き込みを中止して、即座に、その欠陥のある記録領域の直後に、データを再配置するようにしたが、図２３の実施の形態では、データの再配置が、すべてのデータの記録の終了後に行われるようになっている。
【０２１６】
即ち、図１８で説明したように、光ディスク３へのデータの書き込み時には、アロケーションマネージャのデータ設定部４７に、光ディスク３に記録すべきデータが供給される。
【０２１７】
そして、ステップＳ１０１において、記録制御部４８は、欠陥フラグｒｅｐに、初期値としての０をセットし、ステップＳ１０２に進む。
【０２１８】
ステップＳ１０２では、データ設定部４７が、図２１のステップＳ８２における場合と同様に、そこに供給されるデータの先頭から、最小セグメント長Ｌ以上の、ＥＣＣブロックの整数倍の大きさのデータを抽出し、光ディスク３に連続して書き込むデータである注目セグメントデータとして設定して、記録制御部４８に供給する。
【０２１９】
そして、ステップＳ１０３に進み、記録制御部４８は、前回の注目セグメントデータの書き込み中に、ドライブ２から欠陥報告メッセージが送信されてきたかどうかを判定する。
【０２２０】
ステップＳ１０３において、前回の注目セグメントデータの書き込み中に、ドライブ２から欠陥報告メッセージが送信されてきていないと判定された場合、即ち、前回の注目セグメントデータを書き込もうとした光ディスク３の記録領域に欠陥がなく、前回の注目セグメントデータを光ディスク３に記録することができた場合、ステップＳ１０４に進み、連続空き領域検出部４６は、連続空き領域リスト記憶部４５に記憶された連続空き領域リストを参照することにより、注目セグメントデータ以上の大きさの連続空き領域を検出し、データ設定部４７および記録制御部４８に供給して、ステップＳ１０６に進む。
【０２２１】
また、ステップＳ１０３において、前回の注目セグメントデータの書き込み中に、ドライブ２から欠陥報告メッセージが送信されてきたと判定された場合、即ち、前回の注目セグメントデータを書き込もうとした光ディスク３の記録領域に欠陥があり、その書き込みが中止され、前回の注目セグメントデータを光ディスク３に記録することができなかった場合、ステップＳ１０５に進み、連続空き領域検出部４６は、連続空き領域リスト記憶部４５に記憶された連続空き領域リストを参照することにより、前回の注目セグメントデータの書き込み時に発見された欠陥領域の直後にある、その前回の注目セグメントデータ以上の大きさの連続空き領域を検出し、その連続空き領域のうちの先頭から、前回の注目セグメントデータの分の大きさを、前回の注目セグメントデータを後で書き込むための連続空き領域（以下、適宜、予約領域という）として確保する。
【０２２２】
また、ステップＳ１０５では、連続空き領域検出部４６は、予約領域とされた連続空き領域が予約領域である旨を、連続空き領域リスト記憶部４５に記憶された連続空き領域リストに登録する。
【０２２３】
さらに、ステップＳ１０５では、連続空き領域検出部４６は、連続空き領域リストを参照することにより、予約領域以降にある、注目セグメントデータ以上の大きさの連続空き領域を検出し、データ設定部４７および記録制御部４８に供給して、ステップＳ１０６に進む。
【０２２４】
ステップＳ１０６では、記録制御部４８は、データ設定部４７から供給される注目セグメントデータを、ステップＳ１０４またはＳ１０５で検出された連続空き領域に書き込むことを指示するｗｒｉｔｅコマンドを、その連続空き領域を表すＬＳＮとともに、ドライブ２に送信して、ステップＳ１０７に進む。ステップＳ１０７では、記録制御部４８は、データ設定部４７から供給された注目セグメントデータを、ドライブ２に送信して、ステップＳ１０８に進む。これにより、ドライブ２では、図９で説明したようにして、記録制御部４８から供給される注目セグメントデータが、光ディスク３の、ステップＳ１０４またはＳ１０５で検出された連続空き領域に記録される。
【０２２５】
ステップＳ１０８では、記録制御部４８が、ドライブ２から欠陥報告メッセージが送信されてきたかどうかを判定し、送信されてきたと判定された場合、即ち、注目セグメントデータを書き込もうとした連続空き領域に欠陥があった場合、ステップＳ１１０に進み、記録制御部４８は、欠陥フラグｒｅｐに、欠陥が発見された旨を表す、例えば１をセットし、ステップＳ１１１に進む。
【０２２６】
ステップＳ１１１では、記録制御部４８が、注目セグメントデータを、予備領域に待避して、ステップＳ１１２に進む。即ち、データ記憶部４９には、光ディスク３に記録すべきデータを一時的に待避しておくための予備領域が設けられており、ステップＳ１１１では、記録制御部４８は、欠陥が発見されることによって、光ディスク３に記録することができなかった注目セグメントデータを、その予備領域に記憶（待避）させ、ステップＳ１１２に進む。
【０２２７】
一方、ステップＳ１０８において、ドライブ２から欠陥報告メッセージが送信されてきていないと判定された場合、即ち、注目セグメントデータが、光ディスク３上の物理的に連続した記録領域に、正常に、連続して記録された場合、ステップＳ１０９に進み、記録制御部４８は、図２１のステップＳ８９における場合と同様に、連続空き領域リスト記憶部４５に記憶された連続空き領域リストを更新して、ステップＳ１１２に進む。
【０２２８】
ステップＳ１１２では、データ設定部４７が、光ディスク３に書き込むべきデータが、まだ残っているかどうかを判定する。ステップＳ１１２において、光ディスク３に書き込むべきデータが、まだ残っていると判定された場合、ステップＳ１１３に進み、データ設定部４７は、図２１のステップＳ９１における場合と同様に、そこに供給されたデータの次の最小セグメント長Ｌ以上の、ＥＣＣブロックの整数倍の大きさのデータを抽出し、新たな注目セグメントデータとして設定して、記録制御部４８に供給する。
【０２２９】
そして、ステップＳ１０３に戻り、以下、同様の処理が行われ、これにより、まだ残っているデータが、最小セグメント長Ｌ以上の物理的に連続した光ディスク３の記録領域に記録される。
【０２３０】
一方、ステップＳ１１２において、光ディスク３に書き込むべきデータが残っていないと判定された場合、即ち、データ設定部４７に供給されたデータが、すべて、光ディスク３に記録された（、または予備領域に記録された）場合、ステップＳ１１４に進み、記録制御部４８は、欠陥フラグｒｅｐが１であるかどうかを判定する。
【０２３１】
ステップＳ１１４において、欠陥フラグｒｅｐが１でないと判定された場合、即ち、光ディスク３にデータを記録するときに、欠陥が発見されなかった場合、ステップＳ１１５およびＳ１１６をスキップして、書き込み制御処理を終了する。
【０２３２】
また、ステップＳ１１４において、欠陥フラグｒｅｐが１であると判定された場合、即ち、光ディスク３にデータを記録するときに、欠陥が発見され、そのとき注目セグメントデータとされたデータが、データ記憶部４９の予備領域に記憶されている場合、ステップＳ１１５に進み、その予備領域に記憶されているデータを、光ディスク３の物理的に連続した記録領域に記録する再書き込み処理が行われ、ステップＳ１１６に進む。なお、再書き込み処理の詳細については、後述する。
【０２３３】
ステップＳ１１６では、例えば、図２１のステップＳ９３における場合と同様に、図１４で説明した連続空き領域リスト作成処理が行われ、これにより、連続空き領域リストが更新されて、書き込み制御処理を終了する。
【０２３４】
次に、図２４のフローチャートを参照して、図２３のステップＳ１１５で行われる再書き込み処理について説明する。
【０２３５】
なお、データ記憶部４９の予備領域に記憶された、注目セグメントデータとされた最小セグメント長Ｌ以上の各データを、以下、適宜、セグメントデータという。
【０２３６】
再書き込み処理では、まず最初に、ステップＳ１２１において、データ設定部４７が、データ記憶部４９の予備領域に記憶された最初のセグメントデータを抽出し（読み出し）、注目セグメントデータとして設定して、記録制御部４８に供給する。
【０２３７】
その後、ステップＳ１２２に進み、連続空き領域検出部４６は、連続空き領域リスト記憶部４５に記憶された連続空き領域リストを参照することにより、注目セグメントデータを記録するのに確保された予約領域となっている連続空き領域を検出し、データ設定部４７および記録制御部４８に供給して、ステップＳ１２３に進む。
【０２３８】
ステップＳ１２３では、記録制御部４８は、データ設定部４７から供給される注目セグメントデータを、ステップＳ１２２で検出された連続空き領域に書き込むことを指示するｗｒｉｔｅコマンドを、その連続空き領域を表すＬＳＮとともに、ドライブ２に送信して、ステップＳ１２４に進む。ステップＳ１２４では、記録制御部４８は、データ設定部４７から供給された注目セグメントデータを、ドライブ２に送信して、ステップＳ１２５に進む。これにより、ドライブ２では、図９で説明したようにして、記録制御部４８から供給される注目セグメントデータが、光ディスク３の、予備領域となっている連続空き領域に記録される。
【０２３９】
ステップＳ１２５では、記録制御部４８が、ドライブ２から欠陥報告メッセージが送信されてきたかどうかを判定し、送信されてきたと判定された場合、即ち、注目セグメントデータを書き込もうとした連続空き領域に欠陥があった場合、ステップＳ１２６に進み、記録制御部４８は、連続空き領域リストを参照することにより、注目セグメントデータの大きさ以上の新たな連続空き領域（予約領域ではない連続空き領域）を検出し、データ設定部４７および記録制御部４８に供給する。
【０２４０】
そして、ステップＳ１２３に戻り、以下、上述の場合と同様の処理が行われる。この場合、ドライブ２では、図９で説明したようにして、記録制御部４８から供給される注目セグメントデータが、光ディスク３の、ステップＳ１２６で新たに検出された連続空き領域に記録される。即ち、予約領域となっている連続空き領域に、欠陥があった場合には、連続空き領域リストを参照することにより、光ディスク３の任意の位置にある新たな連続空き領域が検出され、その新たな連続空き領域に、注目セグメントデータが記録される。
【０２４１】
なお、このように、連続空き領域に、欠陥があった場合に、光ディスク３の任意の位置にある新たな連続空き領域を検出し、その新たな連続空き領域に、注目セグメントデータを記録する処理は、後述するリアサイン処理利用型の書き込み制御処理と等価である。
【０２４２】
一方、ステップＳ１２５において、ドライブ２から欠陥報告メッセージが送信されてきていないと判定された場合、即ち、注目セグメントデータが、光ディスク３上の物理的に連続した記録領域である予約領域に、正常に、連続して記録された場合、ステップＳ１２７に進み、記録制御部４８は、連続空き領域リスト記憶部４５に記憶された連続空き領域リストを更新する。
【０２４３】
即ち、ステップＳ１２７では、ステップＳ１２４で送信された注目セグメントデータが記録された連続空き領域が、連続空き領域リストから削除される。
【０２４４】
その後、ステップＳ１２８に進み、データ設定部４７が、予備領域に、光ディスク３に書き込んでいないセグメントデータが、まだ残っているかどうかを判定する。ステップＳ１２８において、光ディスク３に書き込んでいないセグメントデータが、まだ残っていると判定された場合、ステップＳ１２９に進み、データ設定部４７は、予備領域に記憶されている注目セグメントデータの次のセグメントデータを抽出し、新たな注目セグメントデータとして設定して、記録制御部４８に供給する。
【０２４５】
そして、ステップＳ１２２に戻り、以下、同様の処理が行われ、これにより、まだ残っているセグメントデータが、最小セグメント長Ｌ以上の物理的に連続した光ディスク３の記録領域に記録される。
【０２４６】
一方、ステップＳ１２８において、光ディスク３に書き込んでいないセグメントデータが残っていないと判定された場合、即ち、予備領域に記憶されたセグメントデータが、すべて、光ディスク３に記録された場合、リターンする。
【０２４７】
図２３の書き込み制御処理によれば、データは、例えば、図２５に示すように記録される。
【０２４８】
即ち、図２５では、最小セグメント長Ｌ以上のデータＳｅｇｍｅｎｔ１，Ｓｅｇｍｅｎｔ２，Ｓｅｇｍｅｎｔ３が、図２３の書き込み制御処理によって、光ディスク３に記録される様子を示している。
【０２４９】
図２５では、まず最初に、データＳｅｇｍｅｎｔ１が、光ディスク３の連続空き領域に記録される。その後、次のデータＳｅｇｍｅｎｔ２が、データＳｅｇｍｅｎｔ１が記録された直後の連続空き領域に記録されるが、その記録の途中で、欠陥が発見されている。このため、データＳｅｇｍｅｎｔ２の書き込みが、欠陥が発見された時点で中止され、データＳｅｇｍｅｎｔ２が予備領域に待避されている。
【０２５０】
その後、欠陥の直後の連続空き領域に、データＳｅｇｍｅｎｔ２と同一の大きさの連続空き領域が、予約領域として確保され、その予約領域の直後の連続空き領域に、次のデータＳｅｇｍｅｎｔ３が記録される。
【０２５１】
以上のようにして、データＳｅｇｍｅｎｔ１，Ｓｅｇｍｅｎｔ２，Ｓｅｇｍｅｎｔ３の記録（の試み）が終了した後、予備領域に待避されているデータＳｅｇｍｅｎｔ２が、予約領域となっている連続空き領域に記録される。
【０２５２】
以上のように、図２３の書き込み制御処理によれば、データを書き込もうとした光ディスク３の記録領域（連続空き領域）に欠陥があった場合には、その書き込みが中止され、その欠陥のある記録領域の直後に、書き込みが中止されたデータを記録するための連続空き領域が予約領域として確保されるとともに、書き込みが中止されたデータが予備領域に待避される。そして、光ディスク３に書き込むべきデータすべての書き込み（の試み）が終了した後に、予備領域に待避されたデータが、予約領域に書き込まれる。従って、図２３の書き込み制御処理でも、光ディスク３の最小セグメント長Ｌ未満の記録領域にデータが記録されることによって、リアルタイムでのデータ再生が妨げられることを防止することができる。
【０２５３】
さらに、図２３の書き込み制御処理では、光ディスク３に書き込むべきデータすべての書き込みが終了した後に、予備領域に待避されたデータが、予約領域に書き込まれるので、ドライブ２に大きな負荷がかかることを防止することができる。
【０２５４】
なお、図２３の書き込み制御処理でも、図２１における場合と同様に、欠陥のある記録領域の直後に、データが記録されるため、欠陥のある記録領域の直前から、その直後へのシークは、短時間で可能である。
【０２５５】
次に、図２６のフローチャートを参照して、図８のアロケーションマネージャが、リアサイン処理を利用して行うリアサイン処理利用型の書き込み制御処理について説明する。
【０２５６】
図１８で説明したように、光ディスク３へのデータの書き込み時には、アロケーションマネージャのデータ設定部４７に、光ディスク３に記録すべきデータが供給される。
【０２５７】
そして、ステップＳ１４１において、記録制御部４８は、欠陥フラグｒｅｐに、初期値としての０をセットし、ステップＳ１４２に進む。
【０２５８】
ステップＳ１４２では、データ設定部４７が、図２１のステップＳ８２における場合と同様に、そこに供給されるデータの先頭から、最小セグメント長Ｌ以上の、ＥＣＣブロックの整数倍の大きさのデータを抽出し、光ディスク３に連続して書き込むデータである注目セグメントデータとして設定して、記録制御部４８に供給する。
【０２５９】
その後、ステップＳ１４３に進み、連続空き領域検出部４６は、連続空き領域リスト記憶部４５に記憶された連続空き領域リストを参照することにより、注目セグメントデータ以上の大きさの連続空き領域を検出し、データ設定部４７および記録制御部４８に供給して、ステップＳ１４４に進む。
【０２６０】
ステップＳ１４４では、記録制御部４８は、データ設定部４７から供給される注目セグメントデータを、ステップＳ１４３で検出された連続空き領域に書き込むことを指示するｗｒｉｔｅコマンドを、その連続空き領域を表すＬＳＮとともに、ドライブ２に送信して、ステップＳ１４５に進む。ステップＳ１４５では、記録制御部４８は、データ設定部４７から供給された注目セグメントデータを、ドライブ２に送信して、ステップＳ１４６に進む。これにより、ドライブ２では、図９で説明したようにして、記録制御部４８から供給される注目セグメントデータが、光ディスク３の、ステップＳ１４３で検出された連続空き領域に記録される。
【０２６１】
ステップＳ１４６では、記録制御部４８が、ドライブ２から欠陥報告メッセージが送信されてきたかどうかを判定し、送信されてきたと判定された場合、即ち、注目セグメントデータを書き込もうとした連続空き領域に欠陥があった場合、ステップＳ１４７に進み、記録制御部４８は、欠陥フラグｒｅｐに、欠陥が発見された旨を表す１をセットするとともに、新たな連続空き領域の検出を、連続空き領域検出部４６に要求し、ステップＳ１４３に戻る。
【０２６２】
この場合、ステップＳ１４３では、連続空き領域検出部４６は、連続空き領域リスト記憶部４５に記憶された連続空き領域リストを参照することにより、注目セグメントデータ以上の大きさの、欠陥報告メッセージによって報知された欠陥のない任意の連続空き領域を新たに検出し、データ設定部４７および記録制御部４８に供給する。
【０２６３】
なお、光ディスク３に欠陥があった場合に、ステップＳ１４３において検出する連続空き領域は、その欠陥がある連続空き領域以外であれば、光ディスク３上のどの位置にある連続空き領域であっても良い。
【０２６４】
また、連続空き領域リストにおいては、そこに記述されている連続空き領域を、通常記録用の連続空き領域と、欠陥が発見された場合の再配置用の連続記録領域とに分けておき、通常の場合、通常記録用の連続空き領域の中から、注目セグメントデータを書き込む連続空き領域を検出し、光ディスク３に欠陥があった場合には、再配置用の連続記録領域の中から、注目セグメントデータを書き込む連続空き領域を検出するようにすることが可能である。
【０２６５】
ステップＳ１４３において、新たな連続空き領域が検出された後は、ステップＳ１４４に進み、記録制御部４８は、データ設定部４７から供給される注目セグメントデータを、ステップＳ１４３で検出された新たな連続空き領域に書き込むことを指示するｗｒｉｔｅコマンドを、その連続空き領域を表すＬＳＮとともに、ドライブ２に送信して、ステップＳ１４５に進む。ステップＳ１４５では、記録制御部４８は、データ設定部４７から供給された注目セグメントデータを、再度、ドライブ２に送信して、ステップＳ１４６に進む。これにより、ドライブ２では、図９で説明したようにして、記録制御部４８から供給される注目セグメントデータが、光ディスク３の、ステップＳ１４３で検出された新たな連続空き領域に記録される。
【０２６６】
一方、ステップＳ１４６において、ドライブ２から欠陥報告メッセージが送信されてきていないと判定された場合、即ち、注目セグメントデータが、光ディスク３上の物理的に連続した記録領域に、正常に、連続して記録された場合、ステップＳ１４８に進み、記録制御部４８は、図２１のステップＳ８９における場合と同様に、連続空き領域リスト記憶部４５に記憶された連続空き領域リストを更新し、ステップＳ１４９に進む。
【０２６７】
ステップＳ１４９では、データ設定部４７が、光ディスク３に書き込むべきデータが、まだ残っているかどうかを判定する。ステップＳ１４９において、光ディスク３に書き込むべきデータが、まだ残っていると判定された場合、ステップＳ１５０に進み、データ設定部４７は、図２１のステップＳ９１における場合と同様に、そこに供給されたデータの次の最小セグメント長Ｌ以上の、ＥＣＣブロックの整数倍の大きさのデータを抽出し、新たな注目セグメントデータとして設定して、記録制御部４８に供給する。
【０２６８】
そして、ステップＳ１４３に戻り、以下、同様の処理が行われ、これにより、まだ残っているデータが、最小セグメント長Ｌ以上の物理的に連続した光ディスク３の記録領域に記録される。
【０２６９】
一方、ステップＳ１４９において、光ディスク３に書き込むべきデータが残っていないと判定された場合、即ち、データ設定部４７に供給されたデータが、すべて、光ディスク３に記録された場合、ステップＳ１５１に進み、記録制御部４８は、欠陥フラグｒｅｐが１であるかどうかを判定する。
【０２７０】
ステップＳ１５１において、欠陥フラグｒｅｐが１でないと判定された場合、即ち、光ディスク３にデータを記録するときに、欠陥が発見されなかった場合、ステップＳ１５２をスキップして、書き込み制御処理を終了する。
【０２７１】
また、ステップＳ１５１において、欠陥フラグｒｅｐが１であると判定された場合、即ち、光ディスク３にデータを記録するときに、欠陥が発見された場合、ステップＳ１５２に進み、例えば、図２１のステップＳ９３における場合と同様に、図１４で説明した連続空き領域リスト作成処理が行われ、これにより、連続空き領域リストが更新されて、書き込み制御処理を終了する。
【０２７２】
図２６の書き込み制御処理によれば、データは、例えば、図２７に示すように記録される。
【０２７３】
即ち、図２７では、最小セグメント長Ｌ以上のデータＳｅｇｍｅｎｔ１，Ｓｅｇｍｅｎｔ２，Ｓｅｇｍｅｎｔ３が、図２６の書き込み制御処理によって、光ディスク３に記録される様子を示している。
【０２７４】
図２７では、まず最初に、データＳｅｇｍｅｎｔ１が、光ディスク３の連続空き領域に記録される。その後、次のデータＳｅｇｍｅｎｔ２が、データＳｅｇｍｅｎｔ１が記録された直後の連続空き領域に記録されるが、その記録の途中で、欠陥が発見されている。このため、データＳｅｇｍｅｎｔ２の書き込みが、欠陥が発見された時点で中止され、光ディスク３上の任意の位置の連続空き領域が新たに検出される。そして、データＳｅｇｍｅｎｔ２が、欠陥発見後、即座に、新たな連続空き領域に、いわばリアサインされて書き込まれる。そして、その後、次のデータＳｅｇｍｅｎｔ３が、例えば、光ディスク３の欠陥がある記録領域の直後の連続空き領域に記録される。
【０２７５】
以上のように、図２６の書き込み制御処理によれば、データを書き込もうとした光ディスク３の記録領域（連続空き領域）に欠陥があった場合には、その書き込みが中止され、即座に、新たな連続空き領域に、データが記録される。従って、光ディスク３の最小セグメント長Ｌ未満の記録領域にデータが記録されることによって、リアルタイムでのデータ再生が妨げられることを防止することができる。
【０２７６】
なお、図２６の書き込み制御処理では、欠陥が発見された場合に検出する新たな連続空き領域は、その欠陥の位置に近い方が、シーク時間を短くすることができる。
【０２７７】
次に、図２８のフローチャートを参照して、図８のアロケーションマネージャが、リアサイン処理を利用して行うリアサイン処理利用型の書き込み制御処理の他の実施の形態について説明する。
【０２７８】
図２６の実施の形態では、データの書き込み時に、光ディスク３の欠陥が発見された場合には、そのデータの書き込みを中止して、即座に、新たな連続記録領域に、データを再配置するようにしたが、図２８の実施の形態では、データの再配置が、図２３における場合と同様に、すべてのデータの記録の終了後に行われるようになっている。
【０２７９】
即ち、図１８で説明したように、光ディスク３へのデータの書き込み時には、アロケーションマネージャのデータ設定部４７に、光ディスク３に記録すべきデータが供給される。
【０２８０】
そして、ステップＳ１６１において、記録制御部４８は、欠陥フラグｒｅｐに、初期値としての０をセットし、ステップＳ１６２に進む。
【０２８１】
ステップＳ１６２では、データ設定部４７が、図２６のステップＳ１４２における場合と同様に、そこに供給されるデータの先頭から、最小セグメント長Ｌ以上の、ＥＣＣブロックの整数倍の大きさのデータを抽出し、光ディスク３に連続して書き込むデータである注目セグメントデータとして設定して、記録制御部４８に供給する。
【０２８２】
そして、ステップＳ１６３に進み、連続空き領域検出部４６は、連続空き領域リスト記憶部４５に記憶された連続空き領域リストを参照することにより、注目セグメントデータ以上の大きさの連続空き領域を検出し、データ設定部４７および記録制御部４８に供給して、ステップＳ１６４に進む。
【０２８３】
ステップＳ１６４では、記録制御部４８は、データ設定部４７から供給される注目セグメントデータを、ステップＳ１６３で検出された連続空き領域に書き込むことを指示するｗｒｉｔｅコマンドを、その連続空き領域を表すＬＳＮとともに、ドライブ２に送信して、ステップＳ１６５に進む。ステップＳ１６５では、記録制御部４８は、データ設定部４７から供給された注目セグメントデータを、ドライブ２に送信して、ステップＳ１６６に進む。これにより、ドライブ２では、図９で説明したようにして、記録制御部４８から供給される注目セグメントデータが、光ディスク３の、ステップＳ１６３で検出された連続空き領域に記録される。
【０２８４】
ステップＳ１６６では、記録制御部４８が、ドライブ２から欠陥報告メッセージが送信されてきたかどうかを判定し、送信されてきたと判定された場合、即ち、注目セグメントデータを書き込もうとした連続空き領域に欠陥があった場合、ステップＳ１６７に進み、記録制御部４８は、欠陥フラグｒｅｐに、欠陥が発見された旨を表す、例えば１をセットし、ステップＳ１６８に進む。
【０２８５】
ステップＳ１６８では、記録制御部４８が、図２３のステップＳ１１１における場合と同様に、注目セグメントデータを、データ記憶部４９の予備領域に待避して、ステップＳ１７０に進む。
【０２８６】
一方、ステップＳ１６６において、ドライブ２から欠陥報告メッセージが送信されてきていないと判定された場合、即ち、注目セグメントデータが、光ディスク３上の物理的に連続した記録領域に、正常に、連続して記録された場合、ステップＳ１６９に進み、記録制御部４８は、図２６のステップＳ１４８における場合と同様に、連続空き領域リスト記憶部４５に記憶された連続空き領域リストを更新して、ステップＳ１７０に進む。
【０２８７】
ステップＳ１７０では、データ設定部４７が、光ディスク３に書き込むべきデータが、まだ残っているかどうかを判定する。ステップＳ１７０において、光ディスク３に書き込むべきデータが、まだ残っていると判定された場合、ステップＳ１７１に進み、データ設定部４７は、図２６のステップＳ１５０における場合と同様に、そこに供給されたデータの次の最小セグメント長Ｌ以上の、ＥＣＣブロックの整数倍の大きさのデータを抽出し、新たな注目セグメントデータとして設定して、記録制御部４８に供給する。
【０２８８】
そして、ステップＳ１６３に戻り、以下、同様の処理が行われ、これにより、まだ残っているデータが、最小セグメント長Ｌ以上の物理的に連続した光ディスク３の記録領域に記録される。
【０２８９】
一方、ステップＳ１７０において、光ディスク３に書き込むべきデータが残っていないと判定された場合、即ち、データ設定部４７に供給されたデータが、すべて、光ディスク３に記録された場合、ステップＳ１７２に進み、データ設定部４７が、注目セグメントデータとされた最小セグメント長Ｌ以上のデータであるセグメントデータのうち、光ディスク３に書き込んでいないセグメントデータが、予備領域に存在するかどうかを判定する。
【０２９０】
ステップＳ１７２において、光ディスク３に書き込んでいないセグメントデータが、予備領域に存在すると判定された場合、ステップＳ１７３に進み、データ設定部４７は、予備領域に記憶されているセグメントデータのうち、まだ光ディスク３に書き込まれていないセグメントデータの１つを、注目セグメントデータとして設定して、記録制御部４８に供給する。
【０２９１】
そして、ステップＳ１６３に戻り、連続空き領域検出部４６は、欠陥が発見されたときに行われる図２６のステップＳ１４３における場合と同様に、連続空き領域リスト記憶部４５に記憶された連続空き領域リストを参照することにより、注目セグメントデータ以上の大きさの、欠陥報告メッセージによって報知された欠陥がない任意の連続空き領域を検出し、データ設定部４７および記録制御部４８に供給する。そして、ステップＳ１６４に進み、以下、同様の処理が行われ、これにより、予備領域に待避されたセグメントデータが、最小セグメント長Ｌ以上の物理的に連続した光ディスク３の記録領域に記録される。
【０２９２】
一方、ステップＳ１７２において、光ディスク３に書き込んでいないセグメントデータが予備領域に存在しないと判定された場合、即ち、予備領域に記憶されたセグメントデータが、すべて、光ディスク３に記録された場合、ステップＳ１７４に進み、記録制御部４８は、欠陥フラグｒｅｐが１であるかどうかを判定する。
【０２９３】
ステップＳ１７４において、欠陥フラグｒｅｐが１でないと判定された場合、即ち、光ディスク３にデータを記録するときに、欠陥が発見されなかった場合、ステップＳ１７５をスキップして、書き込み制御処理を終了する。
【０２９４】
また、ステップＳ１７４において、欠陥フラグｒｅｐが１であると判定された場合、即ち、光ディスク３にデータを記録するときに、欠陥が発見された場合、ステップＳ１７５に進み、例えば、図２６のステップＳ１５２における場合と同様に、図１４で説明した連続空き領域リスト作成処理が行われ、これにより、連続空き領域リストが更新されて、書き込み制御処理を終了する。
【０２９５】
図２８の書き込み制御処理によれば、データは、例えば、図２９に示すように記録される。
【０２９６】
即ち、図２９では、最小セグメント長Ｌ以上のデータＳｅｇｍｅｎｔ１，Ｓｅｇｍｅｎｔ２，Ｓｅｇｍｅｎｔ３が、図２８の書き込み制御処理によって、光ディスク３に記録される様子を示している。
【０２９７】
図２９では、まず最初に、データＳｅｇｍｅｎｔ１が、光ディスク３の連続空き領域に記録される。その後、次のデータＳｅｇｍｅｎｔ２が、データＳｅｇｍｅｎｔ１が記録された直後の連続空き領域に記録されるが、その記録の途中で、欠陥が発見されている。このため、データＳｅｇｍｅｎｔ２の書き込みが、欠陥が発見された時点で中止され、データＳｅｇｍｅｎｔ２が予備領域に待避されている。
【０２９８】
その後、欠陥の直後の連続空き領域に、次のデータＳｅｇｍｅｎｔ３が記録され、以上のようにして、データＳｅｇｍｅｎｔ１，Ｓｅｇｍｅｎｔ２，Ｓｅｇｍｅｎｔ３の記録（の試み）が終了した後、予備領域に待避されているデータＳｅｇｍｅｎｔ２が、新たに検出された、欠陥のない連続空き領域に記録される。
【０２９９】
以上のように、図２８の書き込み制御処理によれば、データを書き込もうとした光ディスク３の記録領域（連続空き領域）に欠陥があった場合には、その書き込みが中止され、書き込みが中止されたデータが予備領域に待避される。そして、光ディスク３に書き込むべきデータすべての書き込み（の試み）が終了した後に、予備領域に待避されたデータが、新たに検出された連続空き領域に書き込まれる。従って、図２８の書き込み制御処理でも、光ディスク３の最小セグメント長Ｌ未満の記録領域にデータが記録されることによって、リアルタイムでのデータ再生が妨げられることを防止することができる。
【０３００】
さらに、図２８の書き込み制御処理では、光ディスク３に書き込むべきデータすべての書き込みが終了した後に、予備領域に待避されたデータが書き込まれるので、ドライブ２に大きな負荷がかかることを防止することができる。
【０３０１】
なお、例えば、図２１および図２２で説明したスリップ処理利用型の書き込み制御処理では、図２２に示したように、データＳｅｇｍｅｎｔ１の記録後、次のデータＳｅｇｍｅｎｔ２の記録時に、欠陥が発見され、欠陥の直後の連続空き領域に、データＳｅｇｍｅｎｔ２がスリップされて書き込まれるが、この場合、データＳｅｇｍｅｎｔ１が記録された記録領域の直後から欠陥の位置までの記録領域は、いわば捨てられ、データの記録に使用されないことがある。
【０３０２】
そこで、データＳｅｇｍｅｎｔ２の記録時に、欠陥が発見された場合には、そのデータＳｅｇｍｅｎｔ２すべてをスリップするのではなく、例えば、図３０に示すように、データＳｅｇｍｅｎｔ２のうちの、欠陥が発見されるまでにＥＣＣブロック単位で書き込まれた分は、そのまま有効とし、残りの分だけを、欠陥の直後の連続空き領域にスリップするようにすることができる。
【０３０３】
即ち、図３０では、まず最初に、データＳｅｇｍｅｎｔ１が、光ディスク３の連続空き領域に記録される。その後、次のデータＳｅｇｍｅｎｔ２が、データＳｅｇｍｅｎｔ１が記録された直後の連続空き領域に記録されるが、その記録の途中で、欠陥が発見されている。このため、データＳｅｇｍｅｎｔ２の書き込みは、欠陥が発見されるまでにＥＣＣブロック単位で書き込むことができたところで中断され、データＳｅｇｍｅｎｔ２の残りが、欠陥の直後の連続空き領域にスリップされて書き込まれる。そして、その後、次のデータＳｅｇｍｅｎｔ３が、データＳｅｇｍｅｎｔ２が記録された直後の連続空き領域に記録される。
【０３０４】
この場合、光ディスク３の記録領域を有効利用することができる。なお、この場合、光ディスク３の最小セグメント長Ｌ未満の記録領域にデータが記録されることがあり得るため、シークが発生することによって、リアルタイム再生が妨げられることが生じうる。但し、注目セグメントデータを、最小セグメント長Ｌよりも、ある程度大きいものとすることによって、シークが発生した場合に、リアルタイム再生が妨げられる確率を低くすることができる。
【０３０５】
なお、上述の場合には、常に、最小セグメント長Ｌ以上のデータを、光ディスク３上の物理的に連続した記録領域に記録する記録制御処理を行い、これにより、データのリアルタイム再生を保証するようにしたが、常に、このような記録制御を行う必要はない。
【０３０６】
即ち、リアルタイムでの再生が要求されるデータについては、上述のようなリアルタイム再生を保証する記録制御を行い、リアルタイムでの再生が要求されないデータについては、例えば、従来と同様の記録制御を行うことが可能である。
【０３０７】
具体的には、リアルタイムでの再生が要求されないデータについては、例えば、アロケーションマネージャで特に処理を行わずに、ドライブ２側で、従来における場合と同様にして、光ディスク３への記録を行うようにすることができる。この場合、光ディスク３に欠陥があるときには、ドライブ２において、従来のリアサイン処理によって、その欠陥に対処することになる。なお、この場合、その後にリアルタイムでの再生が要求されるデータの記録が行われることに備えて、アロケーションマネージャは、ドライブ２から最新の空き領域リストとディフェクトリストを取得し、図１４の連続空き領域リスト作成処理を行うことによって、連続空き領域リストを更新しておくのが望ましい。
【０３０８】
また、ドライブ２は、コンピュータ１からアンマウント（ｕｎ−ｍｏｕｎｔ）することが可能である。ドライブ２のアンマウント時においては、アロケーションマネージャが管理（記憶）しているディフェクトリストや連続空き領域リストなどは、ドライブ２に転送するようにすることが可能である。
【０３０９】
以上、本発明を、光ディスク３にデータを記録する場合について説明したが、本発明は、光ディスク３以外の磁気ディスクや光磁気ディスク等のディスク状の記録媒体、さらには、磁気テープなどのテープ状の記録媒体、半導体メモリ等にデータを記録する場合にも適用可能である。
【０３１０】
なお、本実施の形態では、説明を簡単にするために、１つの物理セクタ（論理セクタ）が、１つのＥＣＣブロックに対応するものとしたが、本発明は、ＥＣＣブロックが複数の物理セクタで構成され、さらには、ドライブ２での読み書きや、空き領域リストおよびディフェクトリストの管理が、そのような複数の物理セクタで構成されるＥＣＣブロック単位で行われる場合にも適用可能である。
【０３１１】
【発明の効果】
以上の如く、本発明によれば、高ビットレートのデータを、リアルタイムで再生することが可能となる。
【図面の簡単な説明】
【図１】スリップ処理を説明する図である。
【図２】スリップ処理で用いられるディフェクトリストを示す図である。
【図３】リアサイン処理を説明する図である。
【図４】リアサイン処理で用いられるディフェクトリストを示す図である。
【図５】本発明を適用した記録再生システムの一実施の形態の構成例を示すブロック図である。
【図６】コンピュータ１のハードウェア構成例を示すブロック図である。
【図７】ドライブ２のハードウェア構成例を示すブロック図である。
【図８】アロケーションマネージャの機能的構成例を示すブロック図である。
【図９】ドライブ２の処理を説明するフローチャートである。
【図１０】スリップ処理利用型の連続空き領域リスト作成処理を説明するフローチャートである。
【図１１】スリップ処理利用型の連続空き領域リスト作成処理で用いられるディフェクトリストを示す図である。
【図１２】空き領域リストがコピーされた直後の連続空き領域リストを示す図である。
【図１３】スリップ処理利用型の連続空き領域リスト作成処理で作成される連続空き領域リストを示す図である。
【図１４】リアサイン処理利用型の連続空き領域リスト作成処理を説明するフローチャートである。
【図１５】リアサイン処理利用型の連続空き領域リスト作成処理で用いられるディフェクトリストを示す図である。
【図１６】空き領域リストがコピーされた直後の連続空き領域リストを示す図である。
【図１７】リアサイン処理利用型の連続空き領域リスト作成処理で作成される連続空き領域リストを示す図である。
【図１８】アロケーションマネージャによる書き込み制御処理の第１実施の形態を説明するフローチャートである。
【図１９】再生データ量と読み出しデータ量とを示す図である。
【図２０】アロケーションマネージャによる書き込み制御処理の第２実施の形態を説明するフローチャートである。
【図２１】アロケーションマネージャによる書き込み制御処理の第３実施の形態を説明するフローチャートである。
【図２２】アロケーションマネージャによる書き込み制御処理の第３実施の形態を説明する図である。
【図２３】アロケーションマネージャによる書き込み制御処理の第４実施の形態を説明するフローチャートである。
【図２４】アロケーションマネージャによる再書き込み処理を説明するフローチャートである。
【図２５】アロケーションマネージャによる書き込み制御処理の第４実施の形態を説明する図である。
【図２６】アロケーションマネージャによる書き込み制御処理の第５実施の形態を説明するフローチャートである。
【図２７】アロケーションマネージャによる書き込み制御処理の第５実施の形態を説明する図である。
【図２８】アロケーションマネージャによる書き込み制御処理の第６実施の形態を説明するフローチャートである。
【図２９】アロケーションマネージャによる書き込み制御処理の第６実施の形態を説明する図である。
【図３０】記録効率を向上させるデータの書き込み方法を説明する図である。
【符号の説明】
１　コンピュータ，　２　ドライブ，　３　光ディスク，　４　信号入出力装置，　１１　ＣＰＵ，　１２　ＲＯＭ，　１３　メモリコントローラ，　１４　ＲＡＭ，１５　ＨＤ，　１６　入力部，　１７　出力部，　１８　通信Ｉ／Ｆ，　１９　Ｉ／Ｆコントローラ，　２０　データ変換部，　３１　スピンドルモータ，　３２　サーボ制御部，　３３　ピックアップ部，　３４　ＲＦアンプ，　３５　信号処理部，　３６　メモリコントローラ，　３７　メモリ，　３８　Ｉ／Ｆコントローラ，３９　制御部，　４１　リスト取得部，　４２　空き領域リスト記憶部，　４３　ディフェクトリスト記憶部，　４４　連続空き領域リスト作成部，　４５　連続空き領域リスト記憶部，　４６　連続空き領域検出部，　４７　データ設定部，　４８　記録制御部，　４９　データ記憶部
【図１】
2004127459.tif 000003
【図２】
2004127459.tif 000004
【図３】
2004127459.tif 000005
【図４】
2004127459.tif 000006
【図５】
2004127459.tif 000007
【図６】
2004127459.tif 000008
【図７】
2004127459.tif 000009
【図８】
2004127459.tif 000010
【図９】
2004127459.tif 000011
【図１０】
2004127459.tif 000012
【図１１】
2004127459.tif 000013
【図１２】
2004127459.tif 000014
【図１３】
2004127459.tif 000015
【図１４】
2004127459.tif 000016
【図１５】
2004127459.tif 000017
【図１６】
2004127459.tif 000018
【図１７】
2004127459.tif 000019
【図１８】
2004127459.tif 000020
【図１９】
2004127459.tif 000021
【図２０】
2004127459.tif 000022
【図２１】
2004127459.tif 000023
【図２２】
2004127459.tif 000024
【図２３】
2004127459.tif 000025
【図２４】
2004127459.tif 000026
【図２５】
2004127459.tif 000027
【図２６】
2004127459.tif 000028
【図２７】
2004127459.tif 000029
【図２８】
2004127459.tif 000030
【図２９】
2004127459.tif 000031
【図３０】
2004127459.tif 000032