以下、図面を参照しながら、本発明の実施の形態を説明する。
(実施の形態1)
1−1.追記型記録媒体
図1Aは、本発明の実施の形態における情報記録媒体100の外観を示す。
情報記録媒体100の最内周にリードイン領域101が配置されている。情報記録媒体100の最外周にリードアウト領域103が配置されている。情報記録媒体100のリードイン領域101とリードアウト領域103との間にデータ領域102が配置されている。
リードイン領域101には、後述する記録再生部314に含まれる光ピックアップが情報記録媒体100へアクセスする時に必要な基準情報や、他の記録媒体との識別情報等が記録されている。リードアウト領域103にもリードイン領域101に記録されている情報と同様の情報が記録されている。
リードイン領域101、データ領域102およびリードアウト領域103には複数の物理セクタが割り付けられている。各物理セクタは最小のアクセス単位である。各物理セクタは物理セクタ番号(以降、PSN)というアドレス情報により識別される。
複数の物理セクタを含むECCクラスタ(または、ECCブロック)を最小の単位としてデータの記録・再生が行われる。
図1Bは、情報記録媒体100のデータ構造を示す。図1Bでは、図1Aにおいて同心円状に示されているリードイン領域101、データ領域102およびリードアウト領域103を横方向に配置して示している。
リードイン領域101は、ディスク管理情報領域104を含み、リードアウト領域103は、ディスク管理情報領域105を含む。
ディスク管理情報領域104、105のそれぞれには、ディスク管理情報が記録される。ディスク管理情報は、後述する交替管理情報リストや、セッション管理情報、空き領域管理情報などを含む。ディスク管理情報領域104、105はディスク管理情報を更新するための領域として用いられる。この更新のための領域は一時ディスク管理情報領域とも呼ばれる。
なお、本発明をBD−R規格に適用する場合には、本明細書における用語「ディスク管理情報領域」を「ディスク管理領域」に読み替え、本明細書における用語「一時ディスク管理情報領域」を「一時ディスク管理領域」に読み替え、本明細書における用語「ディスク管理情報」を「ディスク管理構造」に読み替え、本明細書における用語「一時ディスク管理情報」を「一時ディスク管理構造」に読み替えるものとする。
データ領域102は、内周交替領域106と、ユーザデータ領域108と、外周交替領域107とを含む。
ユーザデータ領域108は、ユーザデータを記録するために使用される領域である。
図1Cは、ユーザデータ領域108のデータ構造を示す。
ユーザデータ領域108は、複数のセッションを含む。各セッションは、複数のトラックを含む。
各トラックは、情報記録媒体100上の連続領域である。各トラックは、後述するトラック管理情報によって管理される。
なお、本発明をBD−R規格に適用する場合には、本明細書における用語「トラック」を「シーケンシャル記録領域(SRR)」に読み替えるものとする。
各セッションは、情報記録媒体100上に連続して配置される複数のトラックを含む。各セッションは、後述するセッション管理情報によって管理される。
図2Aは、セッションを管理するためのセッション管理情報200のデータ構造を示す。セッション管理情報200は、ディスク管理情報に含まれる。
セッション管理情報200は、ヘッダ情報201と、複数のトラック管理情報とを含む。
ヘッダ情報201は、セッション管理情報200の識別子や、図2Bに示されるトラック管理情報210の数などの一般的な情報を有する。
トラック管理情報#Nは、図1Cに示されるトラック#Nに対応する情報を有する。ここで、Nは1以上の整数である。
図2Bは、トラックを管理するためのトラック管理情報210のデータ構造を示す。トラック管理情報210は、ディスク管理情報に含まれる。
トラック管理情報210は、トラックがセッションの先頭トラックであるかどうかを示すセッション開始情報211と、トラックの開始位置を示すトラック開始位置情報212と、トラック内で最後にデータが記録された位置を示すトラック内最終データ記録位置情報(以降、LRA)213とを含む。
もしあるトラック管理情報210によって管理されるトラックがセッションの先頭に位置する場合には、そのトラックがセッションの先頭に位置することを示す値(例えば、”1”)がセッション開始情報211に設定される。それ以外の場合には、異なる値(例えば、”0”)がセッション開始情報211に設定される。
トラック開始位置情報212は、トラックの開始位置を示す物理アドレスを含む。
トラック内最終データ記録位置情報213は、トラック内で有効なデータが記録された最終位置を示す物理アドレスを含む。有効なデータとは、例えば、ホスト装置305から供給されたユーザデータである。図1Cに示されるLRA120やLRA121は、トラック内最終データ記録位置情報213の一例である。
なお、本発明をBD−R規格に適用する場合には、本明細書における用語「トラック管理情報」を「シーケンシャル記録領域エントリ」に読み替え、本明細書における用語「セッション管理情報」を「シーケンシャル記録領域情報」に読み替えるものとする。
なお、情報記録媒体100がECCクラスタを最小単位としてデータ記録を行う場合には、トラック内最終データ記録位置情報213はECCクラスタ境界するとは限らない。一般に、記録指示されるデータ容量はECCクラスタの容量の整数倍とならないからである。この時、LRA213は、記録指示されたデータが記録された最後の物理セクタのアドレスを示す。
また、LRA213がECCクラスタ境界に一致しない場合、記録指示されたデータデータに続き、パディングデータがECCクラスタ境界まで記録される。
本実施の形態においては、トラック毎にデータの記録が可能である。新たなデータの記録は、各トラックの先頭から行われ、トラック内においては連続的にデータが配置される(シーケンシャル記録)。そのトラック内でデータの記録が行われると、そのトラック内で最後に記録された位置がトラック内最終データ記録位置情報213に反映される。
そのトラック内で記録を再開する場合には、最新のトラック内最終データ記録位置情報213の値を調べることにより、そのトラック内での次の記録開始位置を知ることができる。
なお、トラックが割り付けられた直後で、そのトラックにデータがまったく記録されていない場合は、その状態を示す所定の値(例えば、”0”)をトラック内最終データ記録位置情報213に設定するようにしてもよい。
次回記録可能位置(以降、NWA)は、トラック内最終データ記録位置情報213によって示される物理セクタの次の物理セクタの位置を示す。あるいは、情報記録媒体100があるECCクラスタを最小単位としてデータ記録を行う場合には、NWAは、トラック内最終データ記録位置情報213によって示される物理セクタを含むECCクラスタの次のECCクラスタの先頭位置を示す。
このことを数式を用いて表すと、(数1)のようになる。
(数1)
(a)LRA ≠ 0のとき、
NWA = N × (Floor (LRA/N) + 1)
N: ECCクラスタに含まれる物理セクタ数(例えば、N = 32)
(b)LRA = 0のとき、
NWA = (該当トラックの開始位置)
ただし、Floor(x)は、x以下の最大の整数値。
以降の説明では、NWAは、ECCクラスタの先頭位置を示すものと仮定する。
データの記録が可能な状態にあるトラックはオープントラックと呼ばれる。
オープントラックのトラック番号は、図2Aに示されるセッション管理情報200中のヘッダ情報201に含まれる(例えば、第1のオープントラック番号203、第2のオープントラック番号204など)。
一方、オープントラックではないトラックはクローズドトラックと呼ばれる。
例えば、未記録領域が存在しないトラックや、ユーザから指示されたトラックがクローズドトラックとなる。
オープントラックとは異なり、クローズドトラックのトラック番号は、セッション管理情報200中のヘッダ情報210内に格納されない。
クローズドトラックへのデータ記録は禁止されている。
オープントラック番号とトラック管理情報210中のトラック内最終データ記録位置情報213とを調べることにより、情報記録媒体100上での未記録領域を知ることができる。
なお、本発明をBD−R規格に適用する場合、オープントラックは、オープンSRRを示す。また、クローズドトラックは、クローズドSRRを示す。
また、追記型の情報記録媒体100においても、記録済みのECCクラスタを管理することにより、情報記録媒体上の任意の位置(物理アドレス)にデータを記録する、一種のランダム記録を行うことが可能である。
このようなランダム記録を実現するためには、情報記録媒体100上での空き領域の管理と最終データ記録位置の管理とを行う必要がある。
本実施の形態においては、図2Cに示される空き領域管理情報220とディスク管理情報領域104、105に記録されたディスク管理情報とを用いてこのような管理を実現する。
ランダム記録を行う場合には、ディスク管理情報領域104に図2Cに示される空き領域管理情報220が記録される。
図2Cは、空き領域情報220のデータ構造を示す。空き領域情報220は、ヘッダ情報221と、管理対象領域情報222と、空き領域情報223とを含む。
ヘッダ情報221は、空き領域管理情報220の識別子などの一般的な情報を有する。
管理対象領域情報222は、空き領域管理情報220によって未記録/記録済み状態を管理されるセクタが含まれるユーザデータ領域108中の領域を特定する情報を含む。例えば、管理対象領域情報222は、その領域の開始位置やその領域の長さを含む。
空き領域情報223は、管理対象となる領域に含まれる各ECCクラスタが未記録か記録済みであるかを示す情報を含む。例えば、各ECCクラスタに対して1ビットずつのデータを割り当て、該当ECCクラスタが未記録であれば例えば”0”を、記録済みであれば例えば”1”を設定することにより、対象領域のすべてのECCクラスタに対する空き状況を管理することが可能となる。
ディスク管理情報領域104に記録されたディスク管理情報は、図3に示されるディスク構造情報1100を含む。ディスク構造情報1100は、最終データ記録位置情報1107を含む。最終データ記録位置情報1107はユーザデータ領域108内で最後にデータが記録された位置を示す物理アドレスを含む。
ディスク構造情報1100は、ディスク構造情報1100全般に関する一般情報1101と、最新の交替管理情報リスト1000のディスク管理情報領域内104、105内での位置情報を示す交替管理情報リスト位置情報1102と、ユーザ領域108の開始位置を示すユーザ領域開始位置情報1103と、ユーザ領域108の終端位置を示すユーザ領域終端位置情報1104と、ディスク管理情報領域情報1107b 、内周交替領域106、外周交替領域107の容量や交替のために使用可能な領域を示す交替領域情報1105及び交替領域管理情報1108とをさらに含む。
ディスク管理情報領域情報1107bを用いることにより、ディスク管理情報領域の容量を情報記録媒体毎に変更することが可能になる。さらに、ディスク管理情報領域情報1107bを用いることにより、内周交替領域106や外周交替領域107中に上述の一時ディスク管理情報領域の容量を変更することが可能になる。
交替領域情報1105を用いることにより、交替領域の容量を情報記録媒体毎に変更することが可能となる。例えば、内周交替領域106や外周交替領域107の容量を0と指定することも可能である。
交替領域管理情報1108は、内周交替領域106、外周交替領域107において、次に利用可能な位置を示す次回使用可能位置情報を含む。
各交替領域においては、トラックと同様、シーケンシャルに記録される。各交替領域における次回使用可能位置情報は、トラックおけるNWAと同様の機能を果たすものであり、各交替領域への新たなデータの記録は、次回使用可能位置情報により示される位置からシーケンシャルに行われる。
ディスク構造情報1100は、最新のセッション管理情報200のディスク管理情報領域内104、105内での位置情報を示すセッション管理情報位置情報1109と、最新の空き領域管理情報220のディスク管理情報領域内104、105内での位置情報を示す空き領域管理情報位置情報1110とをさらに含む。
上述の通り、セッション管理情報200又は空き領域管理情報220のいずれを用いても、情報記録媒体100上の物理セクタの空き状況を管理することが可能である。よって、用途に応じてセッション管理情報200又は空き領域管理情報220のいずれかを選択して使用するようにしても良い。あるいは、両方を同時に使用するようにしても良い。このような、空き領域管理方式に関する情報は、ディスク構造情報1100の記録種別情報1106に含まれる。
なお、ディスク管理情報領域105は、情報記録媒体100の信頼性を向上させるため、ディスク管理情報領域104に記録されたディスク管理情報の複製を記録したり、ディスク管理情報等を更新する際に、ディスク管理情報領域104に格納しきれない場合に用いられる拡張領域であるので、以降では詳細の説明は省略する。また、交替領域中などに記録される一時ディスク管理情報等についても同様である。
図1Cに示される例では、ユーザデータ領域108上に記録されるユーザデータの管理はファイルシステムによって行われる。ファイルシステムが管理を行う空間は、ボリューム空間109と呼ばれる。
ボリューム空間には複数の論理セクタが割り付けられている。各論理セクタは論理セクタ番号(以降、LSN)というアドレス情報により識別される。
なお、以下の説明においては、ファイルシステムを構成するボリューム/ファイル構造として情報記録媒体100に記録される記述子やポインタ、メタデータパーティションやメタデータファイル等は、特に詳細な記載がない限り、ISO/IEC13346規格あるいはUDF(Universal Disk Format)規格に規定されたデータ構造を持つものとする。もちろん、他のファイルシステムを用いることも可能である。
なお、図1A〜図1Cに示される情報記録媒体100は、1つの記録層を有するものとして説明したが、2つ以上の記録層を有する情報記録媒体も存在し得る。
図4は、2つの記録層を有する情報記録媒体100bのデータ構造を示す。
図4において、L0が第1層を示し、L1が第2層を示す。第1層および第2層のそれぞれは情報記録媒体100とほぼ同じ構造を有している。すなわち、リードイン領域101は第1層の最内周側に設けられおり、リードアウト領域103aは第2層の最内周に設けられている。さらに、第1層の最外周には外周領域103bが設けられており、第2層の最外周には外周領域103cが設けられている。リードイン領域101、外周領域103b、リードアウト領域104a、外周領域103cは、それぞれ、
ディスク管理情報領域104、105、104a、105aを含む。
また、図4に示されるように、交替領域106、106a、107、107aが設けられる。各交替領域の容量は上述の通り情報記録媒体毎に変更することが可能である。また、各交替領域中に追加の一時ディスク管理情報領域を設けることも可能である。そして、ユーザデータ領域108及び108aは、連続的な論理アドレスを有する論理的に1つのボリューム空間として扱われる。
以上により、複数の記録層を持った情報記録媒体を論理的には1つの記録層を有する情報記録媒体として扱うことが可能となる。以降では、1つの記録層を有する情報記録媒体について説明するが、それらの説明は、複数の記録層を有する情報記録媒体にも適用することが可能である。それ故、特に説明が必要な場合についてのみ、複数の記録層を有する情報記録媒体に関する説明を適宜行うものとする。
1−2.擬似上書き記録
次に図5Aおよび図5Bを参照して交替情報について説明する。
交替情報とは、情報記録媒体上で欠陥が生じたクラスタ(欠陥クラスタ)の位置を示す交替元位置情報と、その欠陥クラスタを交替する代替クラスタの位置を示す交替先位置情報とを含む交替管理情報(またはディフェクトリストエントリ)を含む交替管理情報リスト(またはディフェクトリスト)のことをいう。
また、本発明は、ユーザデータ領域に代替クラスタを記録することを可能とする。
さらに、本発明は、交替情報を用いて追記型の情報記録媒体における擬似的な上書き記録を実現する。
図1Bに示されるように、データ領域102は、内周交替領域106と、ユーザデータ領域108と、外周交替領域107とを含む。
内周交替領域106および外周交替領域107のうちの少なくとも一部は、ユーザデータ領域108上に記録されたデータの代替記録を行うための領域として使用される。
例えば、ユーザデータ領域108上に欠陥クラスタが存在する場合には、内周交替領域106および外周交替領域107のうちの少なくとも一部が、その欠陥クラスタを交替する代替クラスタを記録するための領域として使用される。
あるいは、内周交替領域106および外周交替領域107のうちの少なくとも一部は、後述の疑似上書き記録における更新後のデータを記録するための領域としても使用され得る。
交替情報と交替領域とを組み合わせた交替記録は、ベリファイ処理とともに実施される。
ベリファイ処理とは、データを記録した直後にそのデータを再生し、記録したデータと再生されたデータとの比較を行い、データが正しく記録されているかどうかを調べる処理である。このような一連の処理はベリファイ・アフター・ライト処理と呼ばれる。
ベリファイ処理時にエラーが生じた場合、すなわち、データが正しく記録されなかった場合に、交替記録が実施される。すなわち、欠陥クラスタは代替クラスタに交替され、データは代替クラスタに記録される。
この代替クラスタは、内周交替領域106(もしくは、外周交替領域107)またはユーザデータ領域108内に記録される。
疑似的な上書き記録とは、データが記録されている見かけ上の論理アドレスを変えることなく、実際にデータが記録される物理アドレスを別の場所にマッピングする手法である。
もし、記録済みの論理アドレスに対してデータの上書きが指示された場合、その上書き前にデータが記録されていた物理アドレスとは別の物理アドレス上のECCクラスタに新しいデータを記録し、上書き前のECCクラスタと新しいデータが記録された代替クラスタとのマッピングを行う。
この擬似的な上書き記録における代替クラスタは交替領域又はユーザデータ領域内に記録される。
このようなマッピングを行うための交替情報として、図5Aに示される交替管理情報リスト1000が使用される。
このようなマッピング処理により、実際にデータが上書きされたわけではないが、擬似的にデータが上書きされたかのような状態を実現することが可能となる。以降、このような記録方法を、疑似上書き記録と呼ぶ。
図5Aは、本発明の交替情報である交替管理情報リスト1000のデータ構造を示す。交替管理情報リスト1000は、欠陥クラスタの位置と代替クラスタの位置とのマッピングを行なうために使用される。交替管理情報リスト1000は、ヘッダ情報1001と、複数の交替管理情報1010(交替管理情報#1、#2、#3・・・)とを含む。
ヘッダ情報1001は、交替管理情報リスト1000に含まれる交替管理情報の数を含む。交替管理情報は、上記マッピングを示す情報を含んでいる。
図5Bは、交替管理情報1010のデータ構造を示す。交替管理情報1010は、状態情報1011と、交替元位置情報1012と、交替先位置情報1013とを含む。
状態情報1011は、上記マッピングに関する状態情報を含む。例えば、交替管理情報1010の種類や属性、交替元位置情報1012および交替先位置情報1013の有効・無効状態などを示す。
交替元位置情報1012は、交替元の情報(例えば、欠陥クラスタ)の位置を示す。
交替先位置情報1013は、交替先の情報(例えば、代替クラスタ)の位置を示す。
また、疑似上書き記録の場合は、上書き前のECCクラスタの位置を交替元位置情報1012で指し示し、上書き後のECCクラスタの位置を交替先位置情報1013で指し示すことによりマッピングが行なわれる。
ここで、交替管理情報1010に登録される交替元位置情報1012と交替先位置情報1013は、対応するECCクラスタの先頭セクタの物理アドレス(例えば、PSN)を用いて示されても良い。欠陥管理および疑似上書き記録において、ECCクラスタ単位でのマッピングが行われるからである。
従来のリニアリプレイスメントにおいては、代替クラスタは交替領域に記録されていた。よって、交替先位置情報1013には常に、交替領域内のECCクラスタの位置情報が設定されていた。
一方、本発明においては、代替クラスタは交替領域に限られず、ユーザデータ領域にも記録可能とする。そのため、交替先位置情報1013には、交替領域内のECCクラスタの位置を示す情報、もしくは、ユーザデータ領域内のECCクラスタの位置を示す情報を設定することが可能である。
そして、交替先位置情報1013が二つの領域のいずれかに記録されたECCクラスタを指し示すことが可能となったので、交替先位置情報1013が交替領域内のECCクラスタを指し示すのか、交替先位置情報1013がユーザデータ領域内のECCクラスタを指し示すのかを判別するために、状態情報1011にその判別情報を設けるようにしてもよい。
1−3.記録再生装置
図6は、本発明の実施の形態における、情報記録再生装置300の構成を示す。
情報記録再生装置300は、ホスト装置305とドライブ装置310とを含む。
ホスト装置305は、例えば、コンピュータシステムあるいはパーソナルコンピュータであり得る。
ドライブ装置310は、記録装置、再生装置、記録再生装置のいずれかであり得る。なお、情報記録再生装置300全体を記録装置、再生装置、記録再生装置と呼んでもよい。
ホスト装置305は、システム制御部301と、メモリ回路302とを含む。ホスト装置305は、ハードディスクドライブのような磁気ディスク装置304をさらに含んでもよい。ホスト装置305内の構成要素は、I/Oバス303を介して相互に接続されている。
システム制御部301は、例えば、システムの制御プログラムや演算用メモリを含むマイクロプロセッサによって実現され得る。システム制御部301は、ファイルシステムのボリューム構造/ファイル構造の記録・再生、後述するメタデータパーティション/ファイル構造の記録・再生、ファイルの記録・再生、リードイン/リードアウト領域の記録・再生などの処理の制御や演算を行う。
メモリ回路302は、ボリューム構造、ファイル構造、メタデータパーティション/ファイル構造及びファイルの演算や一時保存などに使用される。
ドライブ装置310は、ドライブ制御部311と、メモリ回路312と、記録再生部314とを含む。ドライブ装置310内の構成要素は、内部バス313を介して相互に接続されている。
ドライブ制御部311は、例えば、ドライブの制御プログラムや演算用メモリを含むマイクロプロセッサによって実現され得る。ドライブ制御部311は、ディスク管理情報領域や交替領域の記録・再生、疑似上書き記録・再生などの処理の制御や演算を行う。
なお、図6に示されるシステム制御部301や、ドライブ制御部311は、LSI等の半導体集積回路によって実現されてもよいし、汎用プロセッサとメモリ(例えばROM)とによって実現されてもよい。
メモリ(例えばROM)にはコンピュータ(例えば汎用プロセッサ)が実行可能なプログラムが格納されている。このプログラムは上述及び後述する本発明の再生処理及び記録処理を示しており、コンピュータ(例えば汎用プロセッサ)はこのプログラムに従って、本発明の再生処理及び記録処理を実行する。
メモリ回路312は、ディスク管理情報領域や交替領域に関するデータ及びドライブ装置310に転送されてきたデータの演算や一時保存などに使用される。
1−4.記録処理手順(1)
次に、図7を参照して、本実施の形態におけるフォーマット処理が行われた後の情報記録媒体100上のデータ構造を説明する。
ユーザデータ領域108に、トラック#1 401、トラック#2 402、トラック#3 403が割り付けられている。
ユーザデータ領域108にボリューム空間109が割り付けられている。ボリューム空間109内に、ボリューム構造領域410と、物理パーティション420と、ボリューム構造領域411とが割り付けられている。
物理パーティション420内には、UDF規格バージョン2.5、あるいは、それ以降のバージョンで規定されるメタデータパーティション430が含まれる。
物理パーティション420内には、メタデータファイル440が記録されている。なお、以後の説明では簡単のため、メタデータファイル440の複製であるメタデータミラーファイルに関する説明は省略するが、もちろん、メタデータミラーファイルが記録されていてもよい。
そして、メタデータファイル440の物理パーティション420中での記録位置を示すファイルエントリー(FE)であるFE(メタデータファイル)441が記録されている。
ユーザデータファイルの記録位置や容量を示すFEや、ディレクトリファイルなどのファイル構造の情報は、すべてメタデータパーティション430、すなわち、メタデータファイル440内に配置されている。
図7では、ROOTディレクトリのみが記録されており、そのため、メタデータファイル440中には、ファイル集合記述子(FSD)433及びFE(ROOT)442のみが記録されている。なお、ディレクトリファイルについては、説明の簡単化のため、各FE内に含まれる形式とする。
また、この時点ではいかなる交替記録も行われていない状態であるとする。なお、メタデータパーティション430中の空き領域管理は、UDF規格バージョン2.5で規定されているようにメタデータビットマップ(図示せず)で行ってもよい。
あるいは、メタデータパーティション430の空き領域を未記録のままとし、トラック#1のLRA405によってメタデータパーティション430中の空き領域管理を行うようにしてもよい。
なお、トラックの割り付け方法は図7に示すものに限定されず、例えば、より多くのトラックを割りつけてもよい。また、ユーザデータ領域の最後尾のトラックを、新規のトラックが追加可能な状態としておき、必要な時点でトラックを追加するようにしてもよい。
次に、図8Aに示すフローチャートを参照して、本発明におけるデータ記録の手順を説明する。
ここでは、データファイル(File−a)が情報記録媒体100に記録されることとする。
なお 、情報記録媒体100のユーザデータ領域108には、複数の論理アドレスと複数の物理アドレスとが割り当てられており、その複数の論理アドレスとその複数の物理アドレスとの対応関係は、予め決定されているものとする。
その複数の論理アドレスのそれぞれは、例えば、論理セクタ番号(LSN)もしくは論理ブロックアドレス(LBA)によって表される。
その複数の物理アドレスのそれぞれは、例えば、物理セクタ番号(PSN)もしくは物理ブロックアドレス(PBA)によって表される。また、ユーザデータ領域108には、少なくとも1つのトラックが割り当てられているものとする。
(ステップS101)データファイル(File−a)の記録に先立ち、ドライブ制御部311は、データ記録の準備処理を実行する。このようなデータ記録の準備処理は、例えば、情報記録媒体100がドライブ装置310にローディングされた時に実行される。
例えば、ドライブ制御部311は、情報記録媒体100のディスク管理情報領域104(もしくは、ディスク管理情報領域105)から最新のディスク管理情報を読み出す。
そのディスク管理情報から、ユーザデータ領域108に割り当てられている複数の論理アドレスと複数の物理アドレスとの対応関係を示す初期論理アドレス−物理アドレスマッピングを決定するため、図3のユーザデータ領域開始位置情報1103、ユーザデータ領域終端位置情報1104、交替領域情報1105などを取得する。
以降、ドライブ制御部311は、初期論理アドレス−物理アドレスマッピングに従って、論理アドレスと初期物理アドレスの変換を行う。
また、ドライブ制御部311は、ディスク管理情報に含まれるトラック管理情報を取得する。
(ステップS102)ドライブ制御部311は、ホスト装置305から記録指示を受け取る。記録指示は、データが記録されるべき位置を示す論理アドレスを含む。この論理アドレスは、例えば、論理セクタ番号(LSN)もしくは論理ブロックアドレス(LBA)によって表される。記録指示は、単一のデータが記録されるべき位置を示す単一の論理アドレスを含んでいてもよいし、複数のデータがそれぞれ記録されるべき複数の位置を示す複数の論理アドレスを含んでいてもよい。
記録指示に含まれる論理アドレスは、例えば、特定のトラック内において次にデータが記録可能な位置を示す論理アドレス(すなわち、論理NWA )に基づいてホスト装置305によって決定される。
論理NWAは、例えば、ホスト装置305からドライブ装置310へのリクエストに応答して、ドライブ装置310からホスト装置305に出力される。
論理NWAは、上述の(数1)から決定されたNWAを、初期論理アドレス−物理アドレスマッピングに従って変換することによって得られる。このような変換は、ドライブ制御部311によって行なわれる。NWAおよび論理NWAの決定手順は、後述される実施の形態2で詳しく説明する。
ホスト装置305のシステム制御部301は、データファイル(File−a)を記録するのにあたって、必要なファイルシステム情報の生成や更新を行う。例えば、システム制御部301は、メモリ回路302において、データファイル(File−a)に対するFE(File−a)の生成や、データファイル(File−a)の親ディレクトリであるROOTディレクトリの更新を行なう。
このような生成されたデータファイル(File−a)に対するFE(File−a)や更新されたROOTディレクトリは、ホスト装置305からドライブ装置310に記録指示を出力することによって情報記録媒体100に記録され、最新ファイルシステム情報が反映される。
その他、ホスト装置305は、必要に応じて、交替記録を行うための未記録領域が残っているかどうかなどを所定のコマンドを用いてドライブ装置310に問い合わせる。
なお、ホスト装置305からドライブ装置310に出力される指示は、SCSIマルチメディアコマンドなどの規格化されたコマンドであってもよい。
例えば、論理NWAのリクエストや記録指示は、それぞれ、READ TRACK INFORMATIONコマンドやWRITEコマンドであってもよい。
(ステップS103)ドライブ制御部311は、初期論理アドレス−物理アドレスマッピングに従って、ステップS102において受け取った記録指示に含まれる論理アドレスを物理アドレスに変換する。
(ステップS104)ドライブ制御部311は、その記録指示に含まれる論理アドレスに対応する物理アドレスとディスク管理情報に含まれるトラック管理情報210(図2B)とに基づいて、ユーザデータ領域108に割り当てられた少なくとも1つのトラックのうちの1つのトラック(オープントラック) を決定する。
ドライブ制御部311は、その決定されたトラックのLRA213に基づいて、その決定されたトラック内において次にデータが記録可能な位置を示す物理アドレス(すなわち、NWA)を決定する。このNWAは、例えば、上述の(数1)に従って決定される次回記録可能アドレスである。
なお、NWAの決定は、ステップS104において行なわれてもよいが、その他のステップにおいて行われてもよい。例えば、上述したデータ記録の準備処理において予め行なわれてもよい。
ここで、LRA213を用いてNWAを算出することで、NWAの情報をトラック管理情報に保存する必要がなく、トラック管理情報のデータ構造を簡単にすることができる。
(ステップS105)ドライブ制御部311は、その記録指示に含まれる論理アドレスに対応する物理アドレスがNWAより小さいか否かを決定する。
その記録指示に含まれる論理アドレスに対応する物理アドレスがNWAより小さいと決定された場合には、その記録指示は、ユーザデータ領域108の中の記録済み領域に対する記録指示であるとして決定される。すなわち、記録指示されたデータ記録が擬似上書き記録であるとして決定される。この場合には、処理はステップS106に進む。そうでなければ、処理はステップS108に進む。
(ステップS106)ドライブ制御部311は、記録すべきデータを決定する。情報記録媒体100におけるデータ記録の単位がECCクラスタである場合、ドライブ制御部311は、記録指示によって指定されたデータを記録すべきデータとして決定する。例えば、記録指示によって指定されたデータの記録位置と容量がECCクラスタ境界に一致する場合には、ECCクラスタ全体が書き換えられるので、記録指示によって指定されたデータそのものを記録すべきデータとして決定する。
一致しない場合には、ドライブ制御部311は、後述するリード・モディファイ・ライト処理を実行する。この場合には、ドライブ制御部311は、リード・モディファイ・ライト処理の過程で得られるECCクラスタ単位のデータを記録すべきデータとして決定する。
(ステップS107)ドライブ制御部311は、ステップS106によって決定された記録すべきデータの記録位置を決定する。具体的には、ドライブ制御部311は、その記録指示に含まれる論理アドレスに対応する物理アドレスによって示される位置以外の特定の位置であって、ユーザデータ領域108における特定の位置をステップS106によって決定された記録すべきデータの記録位置として決定する。
ここで、その特定の位置は、ステップS104において決定されたトラック内のNWAであってもよい。
あるいは 、その特定の位置は、ステップS104において決定されたトラックとは異なるオープントラック内のNWAであってもよい。この場合には、そのオープントラック内のNWAは、記録指示に含まれる論理アドレスに対応する物理アドレスによって示される位置に最も近い位置を示すものであることが好ましい。
(ステップS108)ドライブ制御部311は、その記録指示に含まれる論理アドレスに対応する物理アドレスがNWAに等しいか否かを決定する。その記録指示に含まれる論理アドレスに対応する物理アドレスがNWAに等しいと決定された場合には、その記録指示は、NWAによって示される位置に対する記録指示であるとして決定される。すなわち、記録指示されたデータ記録が追記(新規記録)であるとして決定される。この場合には、処理はステップS109に進む。そうでなければ、処理はステップS111に進む。
(ステップS109)ドライブ制御部311は、記録すべきデータを決定する。具体的には、ドライブ制御部311は、記録指示によって指定されたデータを記録すべきデータとして決定する。
この時、ドライブ制御部311は、記録指示によって指定されたデータの終端がECCクラスタ境界に一致するかどうか判断する。もし、一致しない場合は、パディングデータ(例えばすべて00hのデータ)を挿入し、データの終端がECCクラスタ境界に一致させ、記録すべきデータとして決定する。
(ステップS110)ドライブ制御部311は、ステップS109によって決定された記録すべきデータの記録位置を決定する。具体的には、ドライブ制御部311は、その記録指示に含まれる論理アドレスに対応する物理アドレスによって示される位置(すなわち、NWAによって示される位置)をステップS109によって決定された記録すべきデータの記録位置として決定する。
(ステップS111)ドライブ制御部311は、エラー処理を行う。
(ステップS112)ドライブ制御部311は、決定された記録位置への記録処理を実行する。
ステップS105の判定が「はい」であって場合には、ドライブ制御部311は、ステップS106において決定された記録すべきデータをステップS107において決定された記録位置に記録するように記録再生部314を制御する。
ステップS108の判定が「はい」であって場合には、ドライブ制御部311は、ステップS109において決定された記録すべきデータをステップS110において決定された記録位置に記録するように記録再生部314を制御する。
さらに、ドライブ制御部311は、記録されたデータに対してベリファイ処理を行うことにより、そのデータの記録が成功したか否かを決定する。そのデータの記録に成功した場合には、処理はステップS113に進む。
そのデータの記録に失敗した場合には、内周交替領域106などの交替領域及びユーザデータ領域108のいずれかの領域中の未記録領域が代替クラスタとして割り付けられ、その代替クラスタにそのデータが記録される。
そのデータの記録が最終的に成功した後に、処理はステップS113に進む。
なお、上述したステップS106およびステップS112の処理は、リード・モディファイ・ライト処理(以降、RMW処理)によって実現されてもよい。
RMW処理では、第1に、ドライブ制御部311は、記録指示に含まれる論理アドレスに対応する物理アドレスによって示される位置にある物理セクタを含むECCクラスタに記録されたデータを再生するように記録再生部314を制御し、そのECCクラスタから再生されたデータをメモリ回路312に格納する(リード処理)。
なお、この再生処理を行う時点で再生対象のECCクラスタが交替記録されている可能性がある。このため、ドライブ制御部311は、交替管理情報リスト1000を参照し、必要に応じて交替先のECCクラスタに記録されたデータを再生するように記録再生部314を制御する。交替管理情報リスト1000を参照したデータ再生の手順については後述する。
第2に、ドライブ制御部311は、そのECCクラスタから再生されたデータのうち、記録指示に含まれる論理アドレスに対応する物理アドレスによって示される位置にある物理セクタに記録されたデータを記録指示にによって指定されるデータに置き換える(モディファイ処理)。その結果、更新後のECCクラスタのデータが得られる。
ドライブ制御部311は、リード処理およびモディファイ処理をステップS106において実施する。
図8Bは、図8Aに示されるステップS106でリード処理およびモディファイ処理を行うときに実施されるステップを示す。図8Bに示される各ステップは、ドライブ装置310のドライブ制御部311によって実行される。
(ステップS151)ドライブ制御部311は、記録指示によって指定された位置を含むECCクラスタが代替クラスタに既に交替されているか否かを決定する。このような決定は、例えば、交替管理情報リスト1000を検索することによって行なわれる。
記録指示によって指定された位置を交替元として示す交替管理情報1010が発見された場合、代替クラスタに既に交替されていると決定し、処理はステップS152Aに進む。そうでない場合は、処理はステップ152Bに進む。
なお、ステップS151の判定結果を内部変数の値として保持しておき、他のステップにおいて必要な時、その内部変数の値を参照することにより、記録指示によって指定された位置を含むECCクラスタが代替クラスタに既に交替されているか否かを決定するようにしてもよい。これにより、同一の処理を繰り返し実行することを避けることができる。例えば、ステップS151の判定結果が「はい」の場合には、その内部変数の値として”1”を保持しておき、ステップS151の判定結果が「いいえ」の場合には、その内部変数の値として”0”を保持しておくようにしてもよい。
(ステップS152A)ドライブ制御部311は、RMW処理が必要であるか否かを決定する。例えば、記録指示によって指定されるデータの位置とサイズがECCクラスタ境界に一致する場合には、ドライブ制御部311は、RMW処理が必要でないと決定し、記録指示によって指定されるデータの位置とサイズがECCクラスタ境界に一致しない場合には、ドライブ制御部311は、RMW処理が必要であると決定する。
RMW処理が必要であると決定された場合には、処理はステップS153に進み、そうでない場合には、処理はステップS157に進む。
ステップS151と同様にして、ステップS152Aの判定結果を内部変数の値として保持しておき、他のステップにおいて必要な時、その内部変数の値を参照することにより、RMW処理が必要であるか否かを決定するようにしてもよい。
(ステップS152B)ドライブ制御部311は、RMW処理が必要であるか否かを決定する。ステップS152Bの処理は、ステップS152Aの処理と同一である。
RMW処理が必要であると決定された場合には、処理はステップS154に進み、そうでない場合には、処理はステップS157に進む。
(ステップS153)ドライブ制御部311は、記録指示によって指定された位置を含むECCクラスタの代わりに、ステップS151で発見した交替管理情報1010が示す代替クラスタに記録されているデータを再生するように記録再生部314を制御し、再生されたデータをメモリ回路312に格納する。
(ステップS154)ドライブ制御部311は、記録指示によって指定された位置を含むECCクラスタに記録されているデータを再生するように記録再生部314を制御し、再生されたデータをメモリ回路312に格納する。
(ステップS155)ドライブ制御部311は、再生されたデータを記録指示によって指定されたデータによって置換することにより、修正されたデータを生成する。
(ステップS156)ドライブ制御部311は、修正されたデータを情報記録媒体100に記録すべきデータとして決定する。
(ステップS157)ドライブ制御部311は、記録指示によって指定されたデータを情報記録媒体100に記録すべきデータとして決定する。
以上でリード処理およびモディファイ処理を完了する。
第3に、ドライブ制御部311は、モディファイ処理において得られた更新後のECCクラスタのデータを元のECCクラスタの位置に記録するように記録再生部314を制御する(ライト処理)。ドライブ制御部311は、ライト処理をステップS112において実施する。
ただし、本発明においては、情報記録媒体は追記型メディアであるため、実際には元のECCクラスタの位置には記録できない。
そこで、内周交替領域106などの交替領域及びユーザデータ領域108のいずれかの領域中の未記録領域が代替クラスタとして割り付けられ、その代替クラスタに更新後のデータが記録される。
さらに、ドライブ制御部311は、記録されたデータに対してベリファイ処理を行うことにより、そのデータの記録が成功したか否かを決定する。そのデータの記録に成功した場合には、処理はステップS113に進む。
そのデータの記録に失敗した場合には、内周交替領域106などの交替領域及びユーザデータ領域108のいずれかの領域中の未記録領域が更なる代替クラスタとして割り付けられ、その更なる代替クラスタにそのデータが記録される。
そのデータの記録が最終的に成功した後に、処理はステップS113に進む。
なお、記録指示によって指定された領域がECCクラスタ全体に対応する場合には、すべてのECCクラスタが書き換えられるので上述のリード処理は不要となる。
(ステップS113)ドライブ制御部311は、ステップS112における処理に応じて交替管理情報1010を生成し、その交替管理情報をメモリ回路312に格納する。例えば、ステップS112において、ドライブ制御部311が、その記録指示に含まれる論理アドレスに対応する物理アドレスによって示される位置以外の特定の位置であって、ユーザデータ領域108における特定の位置にデータを記録するように記録再生部314を制御(疑似上書きを実施)した場合には、ドライブ制御部311は、その記録指示に含まれる論理アドレスに対応する物理アドレスをその特定の位置を示す物理アドレスにマッピングする交替管理情報1010を生成する。
なお 、既存の交替管理情報リスト1000を検索することにより、記録指示に含まれる論理アドレスに対応する物理アドレスと同一の交替元位置情報1012を有する交替管理情報1010が既存の交替管理情報リスト1000の中に発見されたか否かを決定するようにしてもよい。
もし発見された場合には、ドライブ制御部311は、その特定の位置を示す物理アドレスを新たな交替先位置情報1013として設定するようにその交替管理情報1010を更新する。
もし発見されなかった場合には、ドライブ制御部311は、新たな交替管理情報1010を生成し、その新しい交替管理情報1010を交替管理情報リスト1000に追加する。
次に、ドライブ制御部311は、交替管理情報リスト1000の並べ替えを行う。例えば、ドライブ制御部311は、状態情報1011について交替管理情報リスト1000の並べ替えを行い、次に交替元位置情報1012の物理アドレスについて交替管理情報リスト1000の並べ替えを行ってもよい。
このようにして、記録指示に含まれる論理アドレスに対応する物理アドレスをその特定の位置を示す物理アドレスにマッピングする交替管理情報1010を含む新たな交替管理情報リスト1000が生成される。
(ステップS114)ドライブ制御部311は、上述した記録動作を反映するようにディスク管理情報を更新する。例えば、ドライブ制御部311は、最終データ記録位置情報1107を更新する。また、ドライブ制御部311は、最新の記録状態を反映するためデータが記録されたトラックに対応するトラック管理情報210内のLRA213を更新する。
さらに、ドライブ制御部311は、新たな交替管理情報リスト1000やトラック管理情報210などの更新された情報を含む新たなディスク管理情報を生成する。また、新たな交替管理情報リスト1000やトラック管理情報210の情報記録媒体100上での最新の記録位置を示すために、新たなディスク管理情報に含まれる交替管理情報リスト位置情報1102やセッション管理情報位置情報1109を設定する。
ドライブ制御部311は、新たなディスク管理情報を情報記録媒体100上の所定の領域(例えば、一時ディスク管理情報領域)に記録するように記録再生部314を制御する。このようにして、ディスク管理情報が最新の状態に更新される。
なお、データの記録が終了した後、ドライブ装置310は、上述の記録動作の結果をホスト装置305に通知するようにしてもよい。記録動作の結果とは、例えば、データの記録が成功したこと、もしくは、データの記録が失敗したことなどを示す情報である。
このような通知は、所定のタイミングでホスト装置305に送信され得る。例えば、ステップS108の終了時や、ステップS112でエラーが発生した時にこのような通知をホスト装置305に送信するようにしてもよい。あるいは、データの記録が実際に終了する前にこのような通知をホスト装置305に送信するようにしてもよい。例えば、ドライブ装置310がホスト装置305から記録指示を受け取り、その記録指示を正しく解釈することができた時点で記録終了を示す通知をホスト装置305に送信するようにしてもよい。
なお、上述の交替記録処理において、交替元のECCクラスタの位置からPSNが大きくなる方向に未記録領域を検索するようにしてもよい。そのような検索において未記録領域が発見されたら、その未記録領域が代替クラストとして割り付けられる。
また、最初に交替元クラスタを含むトラック内で未記録領域を検索し、次にそのトラックからPSNが大きくなる方向に順に各トラック内の未記録領域を検索するようにしてもよい。
未記録領域が発見されないまま未記録領域の検索がユーザデータ領域108の終端に到達した場合には、そのユーザデータ領域108に続く領域である外周交替領域107において未記録領域を検索するようにしてもよい。
さらに、未記録領域が発見されないまま未記録領域の検索が交替領域107の終端に到達した場合には、情報記録媒体100の内周側の所定の位置(例えば、内周交替領域106の先頭、ユーザデータ領域108の先頭、もしくは、それらの先頭から所定の距離だけ離れた位置)からPSNが大きくなるように未記録領域を検索するようにしてもよい。
なお 、データ記録の手順のステップS105およびステップS108では、記録指示に含まれる論理アドレスに対応する物理アドレスとNWAとを比較することにより、そのデータ記録が疑似上書き記録であるか、追記であるかを決定した。
このような比較処理により、そのデータ記録が疑似上書き記録であるか、追記であるかを決定することができるのは、情報記録媒体100が追記型の情報記録媒体であり、さらに、その追記型の情報記録媒体に対してシーケンシャル記録が行われるからである。
本発明で述べた、ユーザデータ領域を用いた交替記録は、書き換え型光ディスクにも適応可能である。しかしながら、書き換え型光ディスクの場合には、そのデータ記録が上書き記録であるか、追記(または新規記録)であるかを決定するためには、より複雑な処理手順が必要となる。なぜなら、書き換え型光ディスクの場合には、光ディスク上の任意の場所がランダムに書き換え可能なためである。
もし、上述の実施の形態のように、書き換え型光ディスク上の空き領域管理をドライブ装置が行おうとすれば、背景技術の説明で述べたように、例えば、SDLにより書き換え型光ディスク上の全てのECCクラスタに対応する交替管理情報を管理する必要がある。その上で、ある書き換え型光ディスク上のユーザデータ領域中のある場所へのデータ記録が上書き記録なのか、新規記録なのかは、例えば、交替管理情報リスト1000をすべて検索し、記録済かどうかを判断する必要がある。同様に、あるECCクラスタが代替クラスタとして既に使用されていないかどうかを知るために交替管理情報リスト1000をすべて検索する必要がある。このような処理は、交替管理情報リスト1000の容量に応じて処理量も増大し、ますます容量が増加していく光ディスクに対して大きな課題となってしまう。
一方、本発明においては、追記型の情報記録媒体であり、シーケンシャル記録であることから、あるトラック内で、NWAより小さなアドレス値を持つ領域はすべて記録済みであることが保証されている。
よって、ステップS105および108のような比較処理により、交替管理情報リスト1000の容量にかかわらず、そのデータ記録が疑似上書き記録であるか、追記であるかの決定を簡単に行うことが可能となる。また、代替クラスタもNWA以降の位置から選択すればよいので容易に選択することが可能である。
また 、追記型光ディスクのランダム記録方式において疑似上書き記録を行う場合も書き換え型光ディスクの場合と同様である。
さらに、追記型光ディスクのランダム記録方式の場合には、上述した空き領域管理情報220のような特別な構造が必要とされる。シーケンシャル記録方式の空き領域管理に比べてランダム記録方式の空き領域管理情報220はドライブ制御部311に対する処理負荷が大幅に大きくなる。
特にシーケンシャル記録方式においては、オープントラックの数をファイルシステムに対する利便性を損ねない程度に制限する(例えば最大4つ)ことが可能である。
この時、オープントラックの数はファイルシステムの構造に依存するものであり、光ディスクの容量が増えても影響を受けないが、一方、ランダム記録の空き領域管理情報220は、光ディスクの容量の増加に伴い、その容量が増加し、処理負荷も増大する。
すなわち、ますます容量が増加していく光ディスクに対して、シーケンシャル記録方式において疑似上書き方式を行う本発明の効果は非常に大きい。
また 、疑似上書き記録であるか、追記であるかの決定のため、NWAを、最新のトラック管理情報210に含まれるLRA213と(数1)に従って決定することが発明の特徴である。
データ記録によって更新されたLRA213をディスク上に記録しておくことで、情報記録媒体100をドライブ装置310にローディングしたときに、最新のLRA213を見つける時間が早くなる。
そしてLRA213を用いてNWAを算出することで、NWAの情報をトラック管理情報に保存する必要がなく、トラック管理情報のデータ構造を簡単にすることができる。
もし、本発明によらなければ、疑似上書き記録であるか、追記であるかの決定を行うために、例えば、次のような手順が必要となる。
すなわち、記録指示に含まれる論理アドレスに対応する物理アドレスを含むトラックを決定し、そのトラックの先頭から順次ECCクラスタを調べ、記録済かどうかを判断しなければならなくなる。
そして、記録指示された位置のECCクラスタが記録済のであれば疑似上書き記録であると決定する。
このような処理は、特にトラックの容量が大きくなると処理量も大きくなってしまい好ましくない。
一方、本実施の形態であれば、トラックの容量によらず、疑似上書き記録であるか、追記であるかの決定を容易に行うことが可能となる。
また、トラック管理情報内210にLRA213を含ませることにより、ドライブ10が記録指示を受けた時、記録先のトラックを決定すると共に、NWAの決定を容易に行うことが可能となる。
図9は、このような記録手順によりデータファイルが記録された後の情報記録媒体100上のデータ構造を示す。
図9では、データファイルの一例としてデータファイル(File−a)460について説明する。データファイル(File−a)460では、上述の記録手順において、欠陥クラスタ#1と欠陥クラスタ#2が検出されたものとする。
そのため、欠陥クラスタ#1を代替クラスタ#1に交替させることを示す交替管理情報と欠陥クラスタ#2を代替クラスタ#2に交替させることを示す交替管理情報とを含むディスク管理情報がディスク管理情報領域104中に記録されているものとする。
図9に示すように、代替クラスタ#1は交替領域106に記録されており、代替クラスタ#3はユーザデータ領域108に記録されている。
さらに、(データファイルFile−a)460は、その記録が行われてから、疑似上書き記録により、内容が更新されている。
具体的には更新クラスタ#2及び更新クラスタ#4の部分が疑似上書き記録による更新部分に相当する。
疑似上書き記録により更新された新しいデータは、更新クラスタ#2及び更新クラスタ#4を代替として割り付けられた代替クラスタ#2及び代替クラスタ#4にそれぞれ記録され、対応する交替情報がディスク管理情報領域104中に記録されているものとする。
図9に示すように、代替クラスタ#2は交替領域106に割り付けられており、代替クラスタ#4はユーザデータ領域108に割り付けられている。
1−5.再生処理手順(1)
ファイルの再生処理について、図10のフローチャートを参照して説明する。ここでは、図9に示されるデータファイル(File−a)460を再生する動作を例にあげて説明する。
(ステップS201)データの再生に先立ち、ドライブ制御部311は、データ再生の準備処理を実行する。このようなデータ再生の準備処理は、例えば、情報記録媒体100がドライブ装置310にローディングされた時に実行される。例えば、ドライブ制御部311は、情報記録媒体100のディスク管理情報領域104(もしくは、ディスク管理情報領域105)からディスク管理情報を読み出す。
ドライブ制御部311は、ユーザデータ領域108に割り当てられている複数の論理アドレスと複数の物理アドレスとの対応関係を示す初期論理アドレス−物理アドレスマッピングを決定するため、そのディスク管理情報から、ユーザデータ領域開始位置情報1103、ユーザデータ領域終端位置情報1104、交替領域情報1105などを取得する。
以降、ドライブ制御部311は、初期論理アドレス−物理アドレスマッピングに従って、論理アドレスと初期物理アドレスの変換を行う。
(ステップS202)まず、システム制御部301は、ドライブ装置310に再生指示を出し、情報記録媒体100の所定の位置(例えば、LSN=256)に記録されているAVDPを再生する。
なお、AVDPはUDF規格で定められた、ファイルシステム情報の起点となるデータ構造であり、ボリューム構造領域410及びボリューム構造領域411に記録される。
(ステップS203)次に、システム制御部301は、AVDPから、ボリューム構造領域410中に記録されている主ボリューム記述子列410Aの位置情報を取得する。システム制御部301は、さらに、ドライブ装置310に指示を出して主ボリューム構造410Aを再生する。
システム制御部301は、さらに、再生した主ボリューム記述子列410Aから順次、データ構造を読み出し、FE(メタデータファイル)441の位置情報(LSN)を取得する。
(ステップS204)次に、システム制御部301は、ファイル構造の再生を行う。ファイル構造の再生のため、システム制御部301は、取得したFE(メタデータファイル)441の位置情報(LSN)を元に、ドライブ装置310に再生の指示を行い、FE(メタデータファイル)441を再生する。
ここで、システム制御部301は、取得したFE(メタデータファイル)441の情報から、メタデータファイル440の位置情報を得て、メタデータファイル440へアクセス可能となる。
(ステップS205)以降、通常のUDF規格の再生手順により、FSD433、FE(ROOT)442、FE(File−a)443、データファイル(File−a)460の順に再生が行われる(ディレクトリファイルの再生については説明を省略する)。
上述の再生処理の各ステップにおいて、ホスト装置305からドライブ装置310に再生指示が出力される。ドライブ装置310のドライブ制御部311は、ホスト装置305から再生指示を受け取り、その再生指示に従って再生処理を実行する。
再生指示は、データが再生されるべき位置を示す論理アドレスを含む。論理アドレスは、例えば、論理セクタ番号(LSN)によって表される。あるいは、論理アドレスは、論理ブロックアドレス(LBA)によって表されてもよい。なお、再生指示は、例えば、READコマンドである。
ドライブ制御部311は、初期論理アドレス−物理アドレスマッピング(例えば、図12参照)に従って、再生指示に含まれる論理アドレスを物理アドレスに変換する。
次に、ドライブ制御部311は、交替管理情報リスト1000を検索することにより、再生指示に含まれる論理アドレスに対応する物理アドレスと同一の交替元位置情報1012を有する交替管理情報1010が交替管理情報リスト1000の中に発見されたか否かを決定する。
もし発見された場合には、ドライブ制御部311は、その交替管理情報1010の交替先位置情報1013を参照し、その交替先位置情報1013によって示される位置からデータを再生するように記録再生部314を制御する。
もし発見されなかった場合には、ドライブ制御部311は、再生指示に含まれる論理アドレスに対応する物理アドレスによって示される位置からデータを再生するように記録再生部314を制御する。このようにして再生されたデータは、ホスト装置305に返信される。
1−6.記録処理手順(2)
図11は、交替管理情報1010Bのデータ構造を示す。交替管理情報1010Bは、図5Bに示される交替管理情報1010の異なる実施の形態を示す。
図11の交替管理情報1010Bでは、状態情報1011として次の3つの情報を含む。この3つの情報を図11に示すように、Flag1、Flag2、Flag3とする。
Flag1は、交替管理情報1010Bの分類のための情報で、その交替情報が代替記録のためものものか、欠陥クラスタを指し示すためのものかを示す情報を含む。
Flag2は、交替管理情報1010Bが管理する代替クラスタの記録位置に関する情報で、交替領域中又は交替先無しか、ユーザデータ領域中かを示す情報を含む。
Flag3は、交替管理情報1010Bが管理するクラスタの数に関する情報で、その交替情報が単一クラスタに対応するのか、連続的な複数クラスタに対応するのかを示す情報を含む。連続的な複数クラスタに対応する場合には、Flag3は、連続領域の開始位置に対応するか、終了位置に対応するかを示す情報をさらに含む。
以降、図11に従って、本発明の詳細な記録手順について説明する。
なお、以降では必要に応じて交替管理情報の種別を図11の右端列の記号を使って表すこととする。例えば、第一行目のFlag1=1(代替用)、Flag2=0(交替領域への代替)、Flag3=00(単一クラスタ)という状態情報1011を持つ交替管理情報は、交替管理情報(1)と表記する。
図12は、本発明における情報記録媒体100上での、物理アドレス空間と論理アドレス空間のデータ構造の例示図である。
また、図12は、ホスト装置305から見た時の情報記録媒体100上での位置を示す論理アドレスである論理セクタ番号(LSN)と、情報記録媒体100上での実際の位置を示す物理アドレスである物理セクタ番号(PSN)との初期状態における対応関係も示している。このような対応関係を初期論理アドレス−物理アドレスマッピングと呼ぶ(図中、波線矢印で示す。以降同様。)。
図12に示される一つの行が一つのECCクラスタに対応する。図12では、物理アドレス(PSN)と、その物理アドレスに割り当てられている論理アドレス(LSN)とが同一行に示されている。
図12において、PSN及びLSNの値は、対応するECCクラスタの先頭セクタから終端セクタのPSN及びLSNの値として示されている。
ここでは、1つのECCクラスタが32セクタから構成される場合を例としているが他の構成でもかまわない。
PSNは内周交替領域106、外周交替領域107及びユーザデータ領域108に割り当てられる。
そして、ユーザデータ領域108の先頭からトラックが割り当てられているものとする。図12の状態ではデータがまったく記録されていないのでLRA500は、ユーザデータ領域108の先頭を指す。
一方、LSNは、ユーザデータ領域108(あるいはボリューム空間109)のみに割り当てられる。
ホスト装置305は、このLSNを使って情報記録媒体100上の特定の論理セクタを指定し、記録や再生の指示を行う。
ドライブ装置310は、ホスト装置305から受け取ったLSNを初期論理アドレス−物理アドレスマッピングに従いPSNに変換し、得られたPSNに従って物理セクタやECCクラスタへのアクセスを行う。
以降で説明する代替記録においては、初期論理アドレス−物理アドレスマッピングを基本とし、この対応関係と異なる論理アドレス−物理アドレスマッピングが必要な時に交替管理情報1010が用いられる。
なお、図12におけるPSNやLSNの値は、説明のための例にすぎず、情報記録媒体100の構成や容量に従って実際の値は異なる。
また、上述したように、ディスク管理情報や交替領域の容量は可変であるが、それらの容量はホスト装置305からの指示などにより行われるフォーマット処理時に決定される。そして、フォーマット処理後においては、ユーザデータ領域108の開始及び終了位置は変化しない。
初期論理アドレス−物理アドレスマッピングは、ディスク管理情報に含まれるディスク構造情報1100の情報(より詳細には、ユーザデータ領域開始位置情報1103、ユーザデータ領域終端位置情報1104、交替領域情報1105など)から、所定の演算等により一意に決定することが可能である。
図12〜図17Bを参照して、図11に示される交替管理情報1010Bの使用例について説明する。
まず、図12の状態から図13Aの状態への変化について説明する。
ホスト装置305は、LSN=0の位置にデータ”A”を新規に記録するよう指示する。
この記録指示を受け取ったドライブ装置310は、初期論理アドレス−物理アドレスマッピングに従ってLSN=0をPSN=1100へ変換し、PSN=1100の位置に、データ”A”を記録する。
次に、ドライブ装置310は、記録したデータをベリファイする。ここではベリファイが成功したものとする。
さらに、ホスト装置305は、LSN=0の位置にデータ”A1”を疑似上書き記録するよう指示する。
この記録指示を受け取ったドライブ装置310は、初期論理アドレス−物理アドレスマッピングに従ってLSN=0をPSN=1100へ変換し、PSN=1100の位置にRMW処理を行う。そして、交替領域106中のPSN=100の位置に、データ”A1”を記録する。
この時、ドライブ装置310により交替管理情報511が生成される。交替管理情報511の交替元には、データ”A”の記録位置であるPSN=1100が設定されており、交替管理情報511の交替先には、データ”A1”の記録位置であるPSN=100が設定されている。交替管理情報511の状態情報1011は、図11に従って設定されている。
なお、交替管理情報511は、図13A中の実線矢印に対応する。矢印の起点が交替元を示し、矢印の先が交替先を示す(以降同様)。
さらに図13Aでは、ホスト装置305は、LSN=2の位置にデータ”B”を記録するよう指示する。
データ”B”の記録においてベリファイに失敗したとすると、データ”B”は、内周交替領域106内のPSN=132の位置に記録される。
この交替記録に対応して交替管理情報512が生成される。交替管理情報512の交替元には、PSN=1032が設定されており、交替管理情報512の交替先にはPSN=132が設定されている。交替管理情報512の状態情報1011も同様に、図11に従って設定されている。
上記の記録後のデータ配置と交替管理情報リストは図13Aおよび図13Bのようになる。図13Bの交替管理情報リスト1000Aでは交替管理情報(1)が使用されている。
一方、図14Aおよび図14Bは、交替管理情報(4)、(7)が使用される時の状態を説明するための図である。
ここでは、ホスト装置305は、LSN=64の位置にデータ“C”の記録を指示する。この記録指示に従い、ドライブ装置310はデータ“C”をPSN=1164の位置に記録する。ここでベリファイの結果がエラーであったとすると、ユーザデータ領域108内の未記録領域(PSN=1196)が割り付けられ、データ“C”は、PSN=1196の位置に代替記録される。
この結果に従い、交替管理情報513が生成される。
さらにホスト装置305は、LSN=128の位置にデータ“D”の記録指示を行い、その後、データ“D1”の記録を指示する。
そして、データ“D1”の記録後のベリファイが失敗したとすると、データ“D1”は、PSN=1292の位置に代替記録される。
この時、交替管理情報514が生成される。
また、PSN=1260は、代替先の無い欠陥クラスタとなり、対応する交替管理情報515が生成される。
さらに、ホスト装置305がLSN=128の位置にデータ“D2”の疑似上書き記録を指示したとすると、データ“D2”は、PSN=1324の位置に代替記録される。
この時、交替管理情報514Aが生成される。一方、交替管理情報514は不要となるので、交替管理情報リスト1000からは削除される。
以上の記録処理の後は、LRAは500Bの位置に更新される。
なお、交替管理情報リスト1000B(図14B)は、状態情報1011中のFlag1について並べ替えが行われ、次に交替元位置情報1012のPSNの値について並べ替えが行われる。
図15Aおよび図15Bは、交替管理情報(5)、(6)が使用される時の状態を説明するための図である。
ここでは、ホスト装置305は、LSN=256〜X1の位置にデータ“E”を記録するよう指示する。
この時、ベリファイに失敗し、データ“E”は、PSN=x2〜x3の位置に代替記録されたとすると、交替管理情報516及び交替管理情報517が生成される。それぞれの交替管理情報は、代替記録の開始位置に相当するECCクラスタの先頭PSN及び終了位置に相当するECCクラスタの先頭PSNを示す。
図16Aおよび図16Bでさらに、ホスト装置305は、LSN=257〜X1の位置にデータ“E1”を疑似上書き記録するよう指示したとする。
この時、データ“E1”は、図15Aでは未記録領域であったPSN=x4〜x5の位置に記録される。
そして、この交替の開始点を示す情報として交替管理情報516Aが、代替記録の終了点を示す情報として交替管理情報517Aが生成される。
この時点で、交替管理情報516、517は不要となるので、交替管理情報リストからは削除される。
なお、図15A及び16Aでは、代替記録先をすべてユーザデータ領域内108としたが、もちろん交替領域106内としてもよい。この場合、交替管理情報(2)、(3)が使用される。
なお、図8Aを参照して説明したように、更新された交替管理情報リストは、ディスク管理情報領域に記録される。
1−7.再生処理手順(2)
このように記録されたデータを再生する際には、以下のような処理が行われる。
データの再生に先立ち、ドライブ制御部311は、データ再生の準備処理を実行する。このようなデータ再生の準備処理は、例えば、上述のステップS201と同様である。
そして、例えば、図13Aの状態において、LSN=32のデータ“B”の再生指示がホスト装置305から行われたとすると、ドライブ装置310は、初期論理アドレス−物理アドレスマッピングに従い、PSN=1132を得る。
そこでドライブ装置310は、最新の交替管理情報リスト1000から、交替元としてPSN=1132を持つ交替管理情報を検索する。
ここでは、交替管理情報512が見つかるので、そこから交替先のPSN=132を取得する。
ドライブ装置310は、PSN=132からデータ“B”を再生し、LSN=32の再生データとしてホスト装置305へ返信する。
ホスト装置305が指定するLSNが変わったとしてもドライブ装置310側の処理は同じである。受け取ったLSNを初期論理アドレス−物理アドレスマッピングに従いPSNに変換し、対応する交替管理情報が見つかれば、代替クラスタからデータを再生する。対応する交替管理情報が見つからなければ、そのままPSNに従って再生を行えばよい。
以上により、情報記録媒体100の疑似上書き記録において、ユーザデータ領域を交替先として無駄なく使用することが可能となる。
1−8.記録処理手順(3)
図18は、上述した交替管理情報1010や交替管理情報1010Bと同様の交替管理情報の異なる構成例であるDFL entry2010を示す。
DFL entry2010に含まれるステータス1 2011A及びステータス2 2011B、欠陥クラスタ先頭PSN 2012、代替クラスタ先頭PSN2013は、それぞれ上述の、状態情報1011、交替元位置情報1012、交替元位置情報1013と同様のものである。
ここで、図5Bを参照して説明したのと同様、欠陥クラスタ先頭PSN 2012と代替クラスタ先頭PSN 2013は、対応するECCクラスタの先頭セクタの物理アドレス(例えば、PSN)を用いて示されても良い。欠陥管理および疑似上書き記録において、ECCクラスタ単位でのマッピングが行われるからである。
ここでステータス1 2011Aは、少なくとも交替管理情報1010BにおけるFlag1及びFlag2と同様の情報を含む。すなわち、例えば、ステータス1 2011Aの値が“1000”の場合は、その交替情報は交替先の無いことを示す(Flag2=0で交替先無しの場合に相当)。この場合、代替クラスタ先頭PSN2013には“0”が設定される。
一方、交替先が存在する場合は、ステータス1に“0000”が設定される(Flag2=0で交替先有りの場合に相当)。
また、ステータス2 2011Bは、少なくとも交替管理情報1010BにおけるFlag3と同様の情報を含む。
すなわち、例えば、ステータス2 2011Bの値が“0000”の場合は、その交替情報は単一クラスタに対応する(Flag3=00に相当)。
同様に、ステータス2の値が、例えば、“0001”の場合は、その交替情報は複数のクラスタを含む連続領域の開始クラスタの先頭セクタの位置に対応する(Flag3=01に相当)。一方、“0010”の場合は、複数のクラスタを含む連続領域の終端クラスタの先頭セクタの位置に対応する(Flag3=10に相当)。
このDFL entry2010は全ての実施の形態に適用可能である。
次に 、図18に示したDFL entry2010のデータ構造と、図19Aのフローチャートを参照して、上述の図8Aを用いて説明したステップS113における交替管理情報に対する処理例をさらに詳しく説明する。
ここでは、図8AのステップS112で疑似上書き記録のための交替先への記録が行われ、ステップS113へ進んだ場合を想定する。
(ステップS301)まず、この疑似上書き記録が、1回目の上書き記録か、2回目あるいはそれ以降の上書き記録かを判断する。
この判断は、例えば、最新の交替管理情報リストに対し、図8AのステップS103で得られた、記録指示に含まれる論理アドレスに対応する物理アドレスを含むECCクラスタの先頭PSNの値を、欠陥クラスタ先頭PSN2012の値として持つDFL entry2010を検索することにより行える。
この最新の交替管理情報リストは、例えば、ステップS101(図8A)において、ディスク管理情報領域から再生され、メモリ回路312に保持される。
もし、該当する交替管理情報(例えば、DFL entry2010)が交替管理情報リスト中に発見されなかった場合には、1回目の擬似上書き記録であるとして、処理はステップS302に進む。
該当する交替管理情報が交替管理情報リスト中に発見された場合には、2回目の擬似上書き記録であるとして、処理はステップS304に進む。
なお、疑似上書き記録が、1回目の上書き記録か、2回目あるいはそれ以降の上書き記録かの判断は、他のステップで予め行っておいてもよい。例えば、ステップS106で行ってもよい。その時の判断結果を保持しておき、ステップS301で使用するようにしてもよい。
(ステップS302)1回目の交替記録の場合は次の処理を行う。
まず、ドライブ制御部311により新しいDFL entry2010がドライブ装置310のメモリ回路312上に生成される。
(ステップS303)次に、このDFL entry2010に値を設定する。
すなわち、ステータス1 2011Aに対して適切な値を設定する。例えば、交替先の存在する交替記録であれば“0000”が設定される。
次に、欠陥クラスタ先頭PSN2012に対して、記録指示に含まれる論理アドレスに対応する物理アドレスに位置するECCクラスタの先頭PSNの値を設定する。
次に、代替クラスタ先頭PSN2013に対して、直前の交替記録において、実際にデータが記録された代替クラスタの先頭PSNの値を設定する。
さらに、このDFL entry2010のステータス2 2011Bに対して適切な値を設定する。例えば、単一クラスタの交替記録であれば“0000”が設定される。
(ステップS304)2回目以降の交替記録の場合は次の処理を行う。
すなわち、直前のステップで見つかったDFL entry2010に対する更新処理を行うため、ステップS305へ進む。
(ステップS305)まず、このDFL entry2010のステータス1 2011Aを適切な値に更新する。例えば、交替先の存在する交替記録であれば“0000”が設定される。
次に、代替クラスタ先頭PSN2013を、直前の交替記録において、実際にデータが記録された代替クラスタの先頭PSNの値に更新する。すなわち、新たな交替先が設定される。
なお、欠陥クラスタ先頭PSN2012については、同じECCクラスタに対する2回目以降の交替記録であるので、変更の必要はなく、同じ値を保持すればよい。
さらに、このDFL entry2010のステータス2 2011Bを適切な値に更新する。例えば、単一クラスタの交替記録であれば“0000”が設定される。
(ステップS306)以上の処理により、交替管理情報リストの更新が行われる。すなわち、新しいDFL entry2010の追加、又は、既存のDFL entry2010の値が更新される。
そして、交替管理情報リストの並べ替えを行う。この並べ替えは例えば、ステータス1 2011Aについて並べ替えを行う。さらに、欠陥クラスタ先頭PSN 2012、ステータス2 2011B、代替クラスタ先頭PSN 2013の順に並べ替えを行う。
以上で図8AのステップS113は終了である。ここで得られた、最新の交替管理情報リストは、(一時)ディスク管理情報領域に追記される。
なお、上述の処理例では、疑似上書き記録のための交替記録が行われた場合について説明したが、これが、欠陥クラスタの発生による交替記録についても同じく適用可能である。
ところで、背景技術で図33A及び図33Bを参照して説明したように、従来の追記型光ディスクの欠陥管理においては、交替記録が発生するたびに既存の交替管理情報を残し、新たな交替管理情報を追加していた。
このような方法を、本実施の形態のようにユーザデータ領域を交替先として使用する記録方法に適用すると、交替記録が発生するたびに交替管理情報が増えてゆき、交替管理情報リストの容量が大きくなるため、ドライブ装置等の実装上好ましくない。
特に、従来の追記型光ディスクの欠陥管理においては、一旦交替されたクラスタは再度交替されることはなかったが、本実施の形態のように疑似上書き記録が行われる場合は、何度も交替記録の対象になりうる。そのため、交替管理情報リストの容量は非常に大きくなる可能性がある。
また、同じ欠陥クラスタ先頭PSN2012の値を持つ交替管理情報が交替管理情報リスト中に複数存在することになり、最新の交替管理情報を得るためにさらに追加の処理や仕組みが必要となる。
また、書き換え型光ディスクの欠陥管理においては、全ての交替先クラスタに対して、既に交替先として使用済みであるかどうかにかかわらず、交替管理情報を設けていた。
このような方法を、本実施の形態のようにユーザデータ領域を交替先として使用する方法に適用すると、初めから非常に大量の交替管理情報が必要となり、やはり実装上好ましくない。
一方、図19Aを用いた方法によれば、必要最低限の欠陥管理情報のみを生成し、管理すれば良く、最新の交替管理情報も容易に見つけることが可能となる。
1−9.記録処理手順(4)
図19Bを参照して、データ記録の手順における交替管理情報の処理例をさらに詳しく説明する。
図19Bに示される各ステップは、図8Aに示されるステップS113に含まれる。以下の説明では、図18に示した交替管理情報の一例であるDFL entry2010のデータ構造を参照する。
なお、ここでは、図8AのステップS112において疑似上書き記録のための交替先への記録が行われ、ステップS113に進んだ場合を想定する。
(ステップS601)ドライブ制御部311は、記録指示によって指定された領域が物理アドレス空間において連続領域であるか否かを決定する。
例えば、ドライブ制御部311は、記録指示によって指定される記録位置と記録指示によって指定される記録されるべきデータの容量とに基づいて物理アドレス空間上の領域のサイズを決定する。このようにして決定された物理アドレス空間上の領域のサイズが、1つECCクラスタのサイズよりも大きい場合には、ドライブ制御部311は、記録指示によって指定された領域が物理アドレス空間において連続領域であると決定する。
ステップS601の判定結果が「はい」である場合には、処理はステップS602に進む。ステップS601の判定結果が「いいえ」である場合には、処理はステップS603に進む。
(ステップS602)ドライブ制御部311は、ステップS112において実際にデータが記録された領域が物理アドレス空間において連続領域であるか否かを決定する。
例えば、ステップS112で記録処理を実施した領域のサイズが、記録指示によって指定された領域のサイズと等しかった場合、ドライブ制御部311は、ステップS112において実際にデータが記録された領域が物理アドレス空間において連続領域であると決定する。
ステップS602の判定結果が「はい」である場合には、処理はステップS604に進む。ステップS602の判定結果が「いいえ」である場合には、処理はステップS603に進む。
(ステップS603)ドライブ制御部311は、例えば、図19Aを参照して説明した処理を行う。
(ステップS604)ドライブ制御部311は、疑似上書き記録が、1回目の上書き記録か、2回目あるいはそれ以降の上書き記録かを決定する。
このような決定は、例えば、最新の交替管理情報リストを検索することにより、ステップS601で決定された連続領域と同じ領域を示す交替元位置情報を有する第1のDFL entry2010(ステータス2 2011B = “0001”)と第2のDFL entry2010(ステータス2 2011B = “0010”)とが交替管理情報リストの中に発見されるか否かに応じて行われる。
該当する第1のDFL entry2010と第2のDFL entry2010とが交替管理情報リスト中に発見されなかった場合には、1回目の擬似上書き記録であるとして、処理はステップS605に進む。
該当する第1のDFL entry2010と第2のDFL entry2010とが交替管理情報リスト中に発見された場合には、2回目の擬似上書き記録であるとして、処理はステップS607に進む。
(ステップS605)ドライブ制御部311は、新たな第1のDFL entry2010と新たな第2のDFL entry2010とを生成し、これらをメモリ回路312に格納する。
(ステップS606)ドライブ制御部311は、第1および第2のDFL entry2010に値を設定する。
第1のDFL entry2010のステータス1 2011Aには、交替先の存在する交替記録であることを示す“0000”が設定される。
第1のDFL entry2010の欠陥クラスタ先頭PSN2012には、記録指示によって指定された領域の開始位置を含むECCクラスタの先頭PSNの値が設定される。
第1のDFL entry2010の交替クラスタ先頭PSN2013には、実際にデータが記録された連続領域の開始位置を含むECCクラスタの先頭PSNの値が設定される。
第1のDFL entry2010のステータス2 2011Bには、連続領域の開始位置であることを示す“0001”が設定される。
第2のDFL entry2010のステータス1 2011Aには、交替先の存在する交替記録であることを示す“0000”が設定される。
第2のDFL entry2010の欠陥クラスタ先頭PSN2012には、記録指示によって指定された領域の終端位置を含むECCクラスタの先頭PSNの値が設定される。記録指示によって指定された領域の終端位置は、例えば、記録指示に含まれる論理アドレスに対応する物理アドレスと、記録されるべきデータのデータ長とから求められる。
第2のDFL entry2010のの交替クラスタ先頭PSN2013には、実際にデータが記録された連続領域の終端位置を含むECCクラスタの先頭PSNの値が設定される。
第2のDFL entry2010のステータス2 2011Bには、連続領域の終端位置であることを示す“0010”が設定される。
(ステップS607)ドライブ制御部311は、ステップS604において発見された第1および第2のDFL entry2010に対する更新処理を行う。具体的には、この更新処理は、ステップ608において、第1および第2のDFL entry2010に値を設定することによって行われる。
(ステップS608)ドライブ制御部311は、第1および第2のDFL entry2010に値を設定する。
第1のDFL entry2010の交替クラスタ先頭PSN2013には、実際にデータが記録された連続領域の開始位置を含むECCクラスタの先頭PSNの値が設定される。すなわち、新たな交替先領域の開始位置が設定される。
第1のDFL entry2010の欠陥クラスタ先頭PSN2012については、変更の必要はなく、同じ値を保持すればよい。同じECCクラスタに対する2回目以降の交替記録であるからである。
第2のDFL entry2010の交替クラスタ先頭PSN2013には、実際にデータが記録された連続領域の終端位置を含むECCクラスタの先頭PSNの値が設定される。すなわち、新たな交替先領域の終了位置が設定される。
第2のDFL entry2010の欠陥クラスタ先頭PSN2012については、変更の必要はなく、同じ値を保持すればよい。同じECCクラスタに対する2回目以降の交替記録であるからである。
(ステップS609)上述した処理により、交替管理情報リストの更新が行われる。すなわち、新たな第1および第2のDFL entry2010が交替管理情報リストに追加される。又は、交替管理情報リスト内の既存の第1および第2のDFL entry2010の値が更新される。
交替管理情報リストの並べ替えが行われる。この並べ替えは、例えば、更新管理情報のステータス1 2011Aの順に行われる。さらに、並べ替えは、欠陥クラスタ先頭PSN 2012、ステータス2 2011B、交替クラスタ先頭PSN 2013の順に行われる。
以上で図8AのステップS113は終了である。ここで得られた、最新の交替管理情報リストは、(一時)ディスク管理情報領域に追記される。
なお、上述の処理例では、疑似上書き記録のための交替記録が行われた場合について説明したが、これが、欠陥クラスタの発生による交替記録についても同じく適用可能である。
図20Aから図24Bを用いて、記録処理手順についてさらに説明する。
図20Aは、図13A等と同様、情報記録媒体100上の物理アドレス空間と論理アドレス空間を示す。図20Aでは、フォーマット処理直後に、LSN=0の位置にデータ“A0”が記録された状態を示す。物理アドレス空間では、PSN=1000の位置にデータ“A0”が記録されている。
この時、LSN=0とPSN=1000は初期論理アドレス−物理アドレスマッピングの関係を維持している。
そのため、図20Bに示す、図20Aに対応する交替管理情報リストは交替管理情報は含まれておらず、ヘッダ情報1001だけを含む。
次に、図20Aの状態で、ホスト装置305からLSN=0の位置にデータ“A1”を記録するよう指示がなされたとする。この記録が行われた後の状態を図21Aに示す。
図21Aに示すように、PSN=1000の位置は既に記録済であるので、データ“A1”は、例えばユーザデータ領域中のPSN=1132の位置に交替される。
この時の交替記録は、1回目の交替記録であるので、図19Aを用いて説明したステップS302以降の手順に従い、図21Bに示すDFL entry2100Aが交替管理情報リストへ追加される。
次に、図21Aの状態で、ホスト装置305からLSN=0の位置にデータ“A2”を記録するよう指示がなされたとする。この記録が行われた後の状態を図22Aに示す。
図22Aに示すように、PSN=1000は既に記録済であるので、データ“A2”は、例えばユーザデータ領域中のPSN=1164の位置に交替される。
この時の交替記録は、2回目の交替記録であるので、図19Aを用いて説明したステップS304以降の手順に従い、図22Bに示すように、DFL entry2100Aが更新され、DFL entry2100Bとなる。(すなわち、DFL entryの追加は行われない。)
次に、図22Aの状態で、ホスト装置305からLSN=96の位置にデータ“B0”を、LSN=128〜192の位置にデータ“C0”を記録するよう指示がなされたとする。この記録が行われた後の状態を図23Aに示す。
図23Aに示すように、データ“B0”をPSN=1196の位置に記録するとき、ベリファイ処理がエラーとなったとする。
この時、データ“B0”は例えば、外周交替領域107中のPSN=x10に交替される。
この時の交替記録は、1回目の交替記録であるので、図19Aを用いて説明したステップS302以降の手順に従い、図23Bに示すように、DFL entry2101Aが追加される。
一方、データ“C0”の記録後のベリファイには成功したものとすると交替管理情報リストは変化しない。
次に、図23Aの状態で、ホスト装置305からLSN=128〜192の位置にデータ“C1”を記録するよう指示がなされたとする。 この記録が行われた後の状態を図24A示す。
図24Aに示すように、PSN=1228〜1292の位置は既に記録済であるので、データ“C1”は例えばユーザデータ領域中のPSN=1324〜1388の位置に交替される。
この時の交替記録は、1回目の交替記録であるので、図19Aを用いて説明したステップS302以降の手順に従い、図24Bに示すように、DFL entry2102A及び2103Aが追加される。
ここで、この交替記録は、連続領域2200(PSN=1228〜1292)から連続領域2201(PSN=1324〜1388)への交替記録であるので、上述のように、交替領域の先頭を示すDFL entry2102Aと、終了位置を示すDFL entry2103Aを用いている。
すなわち 、本発明のドライブ装置310は、連続領域2200をユーザデータ領域108中の連続領域2201へ交替する疑似上書きにおいて、連続領域2200の開始位置を、連続領域2201の開始位置にマッピングする第1の交替管理情報(DFL entry2102A)と、連続領域2200の終了位置を、連続領域2201の終了位置にマッピングする第2の交替管理情報(DFL entry2103A)とを生成する。
ここで、3つのECCクラスタ分の連続領域の交替記録を行ったにもかかわらず、DFL entryは2つしか追加されていない。これは、DFL entry2102A及びDFL entry2103Aによって、ユーザ領域中の交替先を連続領域としてマッピングすることにより得られる効果である。
なお、連続領域の交替に関しても、2回目以降については既存のDFL entryを更新することは言うまでもない。
(実施の形態2)
2−1.NWA決定処理手順
ここでは、ホスト装置305の要求によりドライブ装置310が返信する論理アドレスで表された次回記録可能位置(以降、論理NWA)の決定方法について説明する。
本実施の形態においては、論理NWAは、次の手順により決定される。
まず、LRAで示される物理セクタを含むECCクラスタの次のECCクラスタを決定する。このECCクラスタが次の記録ECCクラスタである。記録ECCクラスタの先頭物理セクタが次回記録可能位置となり、この物理アドレスで表された次回記録可能位置が上述したNWAである。
論理NWAの値は、このNWAが示すPSNの値を初期論理アドレス−物理アドレスマッピングに従いLSNへ変換して得られる値となる。
以下、幾つかの具体例を用いて説明を行う。
図12の状態においては、LRA500がユーザデータ領域108の先頭を指しているので、この時点での物理アドレス空間でのNWAはPSN=1100である。PSN=1100に対するLSNはLSN=0であるので、論理NWA=0となる。
図13Aでは、ホスト装置305は、ドライブ装置310から論理NWA=0を得て、データ“A”をLSN=0に記録するよう指示を行っている。
また、データ“A”の記録直後では、トラック#1のLRAはPSN=1100を含むECCクラスタを指すので、そのNWAはPSN=1132である。よって論理NWA=32となる。この時、ホスト装置305は、論理NWA=32に対してデータ“B”の記録を指示することがあり得る。
データ“B”の記録直後では、トラック#1のLRAはPSN=1132を含むECCクラスタ内の物理セクタを指すので、そのNWAはPSN=1164である。よって論理NWA=64となる。
以上のような論理NWAの決定方法の特徴は、初期論理アドレス−物理アドレスマッピングの関係を維持するように論理NWAを決めることである。すなわち、トラック内のLRAからNWAを先に決めてから、初期論理アドレス−物理アドレスマッピングにより論理NWA得ているので、新規のデータ記録については交替管理情報1010Bが必要ない。
なお、図14Aにおいて、実際の最新の論理NWAがLRA500Bに対応するにもかかわらず、ホスト装置305が論理NWAとしてLRA501Bに対する値を保持してしまう場合がある。
このような状態は、PSN=1292の位置以降への記録が、ドライブ装置310によりホスト装置305からは独立した動作として実行され、また、ホスト装置305がドライブ装置310から最新の論理NWAを取得しなかった場合に生じる。
そしてもし、この状態でホスト装置305が新規データを記録指示しようとすると、LRA501Bに対応する論理NWAへ記録指示を出すことになるが、実際のデータはドライブ装置310によりPSN=1336の位置へ記録される。
この記録は交替記録となるので、新たな交替管理情報が必要となってしまう。
一方、ホスト装置305が最新のLRA500Bに対応する論理NWAをドライブ装置310から取得してから新規データの記録の指示を行えば、その記録は交替記録とならず、新たな交替管理情報も不要である。
図15A及び図16Aでも同様であり、各図においてホスト装置305は論理NWAとしてLRA501Cに対する値を保持してしまう場合があるが、実際の最新のLRAはそれぞれLRA500C及びLRA500Dである。
よってホスト装置305は、新規データの記録の前に、最新の論理NWAを取得することが望ましい。
以上、まとめると、ホスト装置305が新規データの記録を指示する時例えば、図8AのステップS102の直前に、最新の論理NWAをドライブ装置310から取得するための要求を出力する。一方、この要求を受け取ったドライブ装置310は、上述の手順により、LRAおよびNWAから決定される論理NWAをホスト装置305へ返す。
論理NWAを受け取ったホスト装置305はその値を元に、次の記録指示を行う。
このような動作により、新規データの記録には交替管理情報1010Bが不要であり、交替記録を行った時にだけ交替管理情報1010Bが必要となる。
その結果、交替管理情報リスト1000のデータ量の増加を抑制することが可能となり、データ記録再生時の処理量の低減、メモリ量の削減、情報記録媒体100上でのデータ容量の削減等の効果が得られる。
(実施の形態3)
3−1.記録処理手順(1)
上述の実施の形態2におけるNWA決定方法では、あるLSNが使用されない状況が発生する。
例えば、図14Aで、LSN=96の位置の論理セクタは、ホスト装置305あるいはファイルシステムから見ると、一度もデータが記録されていない論理セクタとなる。
このような論理セクタは未記録論理セクタ、あるいは、未使用論理セクタ、孤立論理セクタ、等と呼ばれる。
また、このような未記録論理セクタからなる論理クラスタを未記録論理クラスタと呼ぶ。例えば、図14Aでは、LSN=96〜127の位置が未記録論理クラスタである。
同様に、図15Aにおいては、LSN=X2の位置が未記録論理セクタである。
図14A等に示す通り、このような未記録論理セクタに対しても、他の通常の論理セクタと同様、LSNが割り当てられ、それ以降の論理セクタのLSNも変化しないことが上述の実施の形態におけるNWA決定処理手順の特徴である。
このような未記録論理セクタに対する記録指示が行われた場合は上述の実施の形態と同様、疑似上書き記録が行われる。例えば、次のような処理が考えられる。
ここでは、図14Aの状態で、LSN=96の位置に対するデータ“F”の記録指示が発生したとする。
この時ドライブ装置310は、LSN=96を初期論理アドレス−物理アドレスマッピングに従いPSN=1196に変換する。
PSN=1196とNWAを比較すると、PSN=1196は記録済出ることが分かる。
この時、上述の他の実施の形態と同様、疑似上書き記録を行う。
そこで、ドライブ装置310は、NWAで示される位置(この場合、PSN=1336)にデータ“F”を記録し、さらに交替管理情報518を生成する。
このような処理により、LSN=96の位置に対する記録が行われる。その結果、LSN=96は未記録論理クラスタではなくなり、通常の論理クラスタとなる。
ただし、PSN=1336の位置に対して初期論理アドレス−物理アドレスマッピングで関連づけられるLSN=256〜287の位置が新たに未記録論理クラスタとなる。
さらに、データ“G”の記録を行うとすると図17Aおよび図17Bの状態となる。
3−2.再生処理手順(1)
図14Aで、LSN=224の位置の論理クラスタは、未記録論理クラスタである。
LSN=224の位置の未記録論理クラスタに対し、初期論理アドレス−物理アドレスマッピングで対応する物理クラスタはPSN=1324の位置となる。
PSN=1324の位置の物理クラスタは、さらに、交替管理情報514により、PSN=1228の位置の物理クラスタと関連づけられている。
そしてPSN=1228の位置の物理クラスタは、初期論理アドレス−物理アドレスマッピングに従い、LSN=128の位置の論理クラスタとマッピングされる。
すなわち、PSN=1228の位置の物理クラスタは、LSN=128の位置の論理クラスタと、LSN=224の位置の未記録論理クラスタの2つの論理クラスタが割り付けられている。
このような2つの論理クラスタが1つの物理クラスタに割り付けられている状態で再生が行われる時の手順について以下で説明する。
まず、LSN=128の位置の論理クラスタに対しホスト装置305から再生指示が出されたら、まず、ドライブ装置310は、受け取ったLSNを初期論理アドレス−物理アドレスマッピングに従いPSNに変換する(再生先PSNと呼ぶ)。
ここでは再生先PSNはPSN=1228となる。交替管理情報リストに対してPSN=1228を交替元として持つ交替管理情報を検索すると交替管理情報514Aが見つかる。
そして交替管理情報514Aが指す代替クラスタであるPSN=1324の位置の物理クラスタを再生する。
一方、LSN=224の位置の論理クラスタに対し再生指示が出されたら、初期論理アドレス−物理アドレスマッピングに従い、再生先PSNとしてPSN=1324の値が得られる。しかしながら、交替管理情報リストに対してPSN=1324を交替元として持つ交替管理情報を検索しても見つからない。
そこでドライブ装置310は、PSN=1324からデータを再生する。
このような再生処理により、論理的には一度もデータを記録されていない未記録論理セクタに対して再生指示が出された場合でも、対応する物理セクタからデータが再生される。
よって、ホスト側のファイルシステム等から見ると、情報記録媒体100上の領域に対して例外的な領域が無くなり、そのシステム構成中に複雑なエラー処理を実装する必要が無くなり、より簡単な実装でシステムを構築することが可能となる。
なお 、未記 録論理セクタに対して再生指示が行われた時、上述のように対応する物理クラスタからデータの再生を行ってしまうと、本来再生されるべきではないデータが再生されることになる。もし、このようなデータ再生がシステム構成上、不都合な場合は、次のような再生手順を用いても良い。
すなわち、データの再生に際して、再生指定されたLSNを初期論理アドレス−物理アドレスマッピングに従いPSNに変換し、得られたPSNを交替管理情報リスト1000中の交替元位置情報1012として持つ交替管理情報1010Bを検索する。
もし、対応する交替元位置情報1012が見つかったら、上述の他の実施の形態と同様、交替先位置情報1013が示す位置のECCクラスタからデータを再生する。
もし、見つからなかったら、次に、交替先位置情報1013を対象として、再生指定されたLSNに対応するPSNの値を持つ交替元位置情報1012を検索する。
もし、該当する交替先位置情報1013が見つかったら、その交替先位置情報1013で指示されるECCクラスタは、代替クラスタとして既に記録済みであると判断される。
この時、ドライブ装置310はこのECCクラスタからデータを再生せず、その代わりに再生データとして所定の値、例えばすべて0の値をホスト装置305からへ返信する。
このような再生処理により、未記録論理セクタに対して再生指示が出された場合でも、対応する物理セクタから適切なデータが再生される。
なお、このような再生処理は、図10を参照して説明した再生処理の各ステップにおいて、ドライブ装置310がホスト装置305から再生指示を受け取った時に実行される。
3−3 NWA決定手順の比較
上述 の実施の形態とは異なり、未記録論理セクタが発生しないNWA決定手順について説明する。
本NWA決定手順においては、論理LRAを管理し、論理LRAの隣の位置である論理NWAに新たなデータを記録する。
この時、論理NWAを示すLSNを初期論理アドレス−物理アドレスマッピングによりPSN(PSN−1とする)へ変換する。
また、この論理NWAに対して、実際にデータを記録するECCクラスタは、LRA213で示されるPSNを含むECCクラスタの次のECCクラスタであるNWAとする(このNWAの位置を示すPSNをPSN−2とする)。
このPSN−1を交替元、PSN−2を交替先とする交替記録を行う。
この時 、論理NWAを管理するため、図25に示すトラック管理情報3210の異なる実施の形態を用いる。
図25のトラック管理情報3210では、新たにトラック内最終データ記録論理位置情報3214が定義される。
トラック内最終データ記録論理位置情報3214は、トラック内最終データ記録位置情報213がPSNによる物理アドレス空間における最終記録位置を管理していたのに対し、LSNによる論理アドレス空間による最終記録位置を管理するためものである。
ドライブ装置310は、トラック内最終データ記録論理位置情報3214を参照することにより、各トラック毎の論理NWAを決めることができる。
トラック内最終データ記録論理位置情報3214の更新方法は以下の通りである。
すなわち、トラック内最終データ記録論理位置情報3214の初期値として0が設定される。そして、ホスト装置305から記録指示を受け取ったドライブ装置310は、記録位置をLSNとして受け取る。受け取ったLSNがトラック内最終データ記録論理位置情報3214よりも大きい場合、そのLSNでトラック内最終データ記録論理位置情報3214を更新する。
このような処理により、トラック内最終データ記録論理位置情報3214を最大の値に保つことが可能である。
図26A に、上述のNWA決定手順によって、図13A、図14A、図17Aと同様の順序でデータ“A”、“B”、“C”、“D”、“F”、“G”の記録を行った場合のデータ構造を示す。
図26Bでは、すべての欠陥クラスタを交替管理情報(7)として登録している。ただし、これらの交替管理情報(7)については、交替管理情報リスト1000Fから削除してもよい。削除することにより、交替管理情報リスト1000F中の容量を小さくすることができる。
ここで 、図17Bと、図26Bのそれぞれの交替管理情報リスト1000Eと1000Fを比較すると、交替管理情報リスト1000Eの方が交替管理情報の数が少なくなっている。
交替管理情報(7)を削除した状態で比較すれば、交替管理情報リスト1000Eの方がさらに交替管理情報の数が少なる。
よって、実施の形態1や実施の形態2で説明した、未記録論理セクタが発生するようなNWAの決定方法は、図26Aを参照して説明した未記録論理セクタが発生しない方法より、交替管理情報リストのデータ容量を抑制できる点で望ましい。
なお、交替管理情報リスト1000F中で、交替管理情報(7)を残しておくことにより、情報記録媒体上100の欠陥クラスタの分布をあらかじめ把握でき、再生時においてそれらを避けながらデータを先読みする等の処理の最適化に利用可能である。
(実施の形態4 )
本実施 の形態において、データの記録手順についてさらに述べる。
図27は、本実施の形態によるデータ記録が行われる前の情報記録媒体100のデータ構造の一例を示す図である。図中で▼で示される位置はECCクラスタ間の境界を示している。以降、他の図面においても同様である。
この状態において、ホスト装置305から、データ“D1”4622とデータ“E1”4623の記録指示がドライブ装置310へ出された時の記録手順について説明する。
データ“D1”4622の記録指示は、例えば記録済み領域4600中のPSN=a0の位置への疑似上書き記録となる。
記録指示を行うにあたって、ホスト装置305は論理NWAをドライブ装置310へと要求する。
論理NWAを要求されたドライブ装置310は、LRA4610AからNWA4611Aを決定し、NWA4611Aに対応する論理NWAをホスト装置305へ返信する。
この時、ホスト装置305がドライブ装置310に対して、PSN=a0に対応するLSN=A0へのデータ“D1”4622の記録指示と、NWA4611A(PSN=a2)に対応するLSN=A2へのデータ“E1”4623の記録指示を連続的に行う場合がありうる。
もし、ドライブ装置310が、ホスト装置305の記録指示通りデータ“D1”4622、データ“E1”4623の順に記録指示を行うと、その記録結果は、図28のようになる。
ここで、データ“D1”4622の記録指示は、記録済み領域4600への疑似上書き記録となる。よって、データ“D1”4622はNWA4611A(PSN=a2)へ交替される。そして、NWA4611AはNWA4611B(PSN=a3)となる。
この交替記録によりPSN=a2の位置は記録済となるので、データ“E1”4623はさらに、NWA4611B(PNS=a3)へ交替される。
上述したように、ホスト装置305はNWA4611A(PSN=a2)に対応するLSN=A2に対して記録指示を出していたにもかかわらず、実際には、それとは異なる位置(PNS=a3)に記録されることになる。
よって、データ“D1”4622Aに対してのみならず、データ“E1”4223Aに対する交替管理情報1010が生成されてしまい、交替管理情報リスト1000の容量が増加するという課題が発生する。
このような課題は、ホスト装置305が予期しない交替記録がドライブ装置により実施されたことが原因である。
すなわち、ドライブ装置による交替記録の実施後、ホスト装置305からの更なる記録指示により、交替処理が必要となり、交替管理情報リスト1000の容量を増加させてしまう。
一方、本実施の形態における記録手順において、データ“E1”4623に対する交替管理情報1010が発生しない方法を以降で説明する。
本実施の形態においては、図27の状態でホスト装置305が記録指示を行う場合、追記を先に記録指示を行うこととする。
そして追記の記録指示の後に上書き記録の記録指示を行う。このような記録手順の結果は、図29のようなデータ構造となる。
なお、ホスト装置305上で動作するファイルシステムは、すべてのファイルの更新や新規作成の管理を行うので、記録指示の順番を決定できる。
図29では、データ“E1”4623Bが、NWA4611A(PSN=a2)に記録されている。また、データ“D1”4622BがPSN=a4に記録されている。
上述したように、ホスト装置305はNWA4611A(PSN=a2)に対して記録指示を出していたので、記録指示がなされた位置と実際に記録された位置が同じになる。よってこの記録は交替記録とならない。
すなわち、データ“E1”4623に対する交替管理情報1010が生成されず、交替管理情報リスト1000の容量増加を防ぐことが可能となる。
なお、データ“D1”4622の記録においては、図28及び図29のいずれの場合でも、同じだけの交替管理情報1010が必要となる。図28及び図29において、データ“D1”4622の記録位置(すなわち交替先の位置)が変わるだけで、必要な交替管理情報1010の数は変化しない。
以上より、本実施の形態は、ホスト装置305が、上書き記録と追記を行おうとしている場合は、追記の方を優先して記録指示することにより、交替管理情報1010の発生を回避することが可能となり、交替管理情報リスト1000のデータ容量削減に効果がある。
(実施の形態5)
ここ で、ある容量のデータをホスト装置305がECCクラスタの容量(例えば64KB)毎に分割し、分割した単位毎にドライブ装置310へ順次、記録指示を行う場合を考える。
ドライブ装置310がこれらのデータを連続的に記録している時、ある記録位置で欠陥クラスタが存在し、その欠陥クラスタを代替するために隣接するECCクラスタが使用される場合がある。
このような場合、それ以降の記録位置以降で、すべての記録が1クラスタずつ、PSNが大きい方向にデータを交替記録することになる。
この時、記録単位毎に交替管理情報が必要となり、記録するデータ容量が大きい場合、多数の交替管理情報が必要となり、交替管理情報リスト1000のデータ容量が大きくなってしまう。
そこで 本実施の形態 においては、交替記録において、交替管理情報リスト1000のデータ容量削減に効果がある、ドライブ装置310による代替クラスタの記録先選択手順について図30を参照して説明する。
図30では、例えば、ホスト装置305による記録指示により、交替元クラスタ5700を交替元とする交替記録が行われる。
この時、交替先は、以下の手順により決定される。
図30において、代替クラスタが割り付け可能な交替先としては、未記録領域5601A(トラック#N 5602中)、未記録領域5612(トラック#N+1 5610中)、未記録領域5622(トラック#N+2 5620中)、未記録領域5632(トラック#N+3 5630中)がある。
ここで、交替元クラスタ5700の位置(例えば、交替元クラスタ5700中の先頭物理セクタ)から、交替先の候補の位置(例えば、オープントラックのNWA位置)に対する距離を調べる。図30においては、上述の各交替先候補に対して、それぞれD13、D12、D10、D11となる。
ここで各距離の値の大小関係が、D13>D12>D11>D10であるとする。
最も距離の近い(すなわちD10の)未記録領域5622を交替先として選択することにより、交替元から交替先への距離は、その時点での最短となり、データの再生に際してはアクセス時間を最短にすることが可能となる。
しかしながら、未記録領域5622は交替元位置5700と同じトラック#N+2 5620に含まれる。よって、交替先を未記録領域5622とすると、上述したように、ホスト装置305から連続的な記録指示が行われた場合に、交替管理情報リスト1000のデータ容量が増加するという課題が発生する。
そこで本実施の形態においては、交替元クラスタから最も距離の近い未記録領域を交替先として選択するが、この選択においては、交替元クラスタと同一トラック内の未記録領域を除くことを特徴とする。
すなわち、最も距離の近い未記録領域5622を除き、次に距離の近い(すなわちD11の)未記録領域5632を交替先とする。
よって、交替元クラスタ5700に対してホスト装置305から記録指示が行われた時、ドライブ装置310は、未記録領域5632のNWA位置に交替先クラスタ5710を記録する。
そして、交替元クラスタ5700から交替先クラスタ5710へのマッピングを示す交替管理情報を生成し、記録する。
ステップ S107およびS112(図8A)を参照して説明したように、本発明のドライブ制御部311は、擬似上書き記録を実行する時、受け取った記録指示に含まれる論理アドレスに対応する物理アドレスによって示される位置以外の特定の位置であって、ユーザデータ領域108における特定の位置にデータを記録するように記録再生部314を制御する。
本実施例においては、その特定の位置は、ステップS104(図8A)において決定されたトラックとは異なるオープントラック内のNWAである。
更に、そのオープントラック内のNWAは、記録指示に含まれる論理アドレスに対応する物理アドレスによって示される位置に最も近い位置を示すものである。
このような記録手順により、ホスト装置305によりさらに続けて記録指示が出されたとしても、未記録領域5622への新規のデータ記録を行っても交替記録とはならず、交替管理情報の追加は不要である。
また、交替元から交替先への距離は、同一トラックを除き最も近くなる。よって、データの再生においてアクセス時間を短縮できる。
なお、交替元クラスタより大きなPSNを持つ未記録領域だけを対象として距離を調べ、交替先を決めるようにしてもよい。追記型の情報記録媒体では、PSNが増加する方向にシーケンシャル記録を行うので、PSNが増加する方向に交替記録した方が、データへのアクセスが効率的に行えるからである。この場合、大きなPSNを持つ未記録領域が無くなったら、小さなPSNを持つ未記録領域を対象とすればよい。
なお、距離が等しい未記録領域が複数あった場合、PSNが増加する方向を選択するのが望ましい。追記型の情報記録媒体では、PSNが増加する方向にシーケンシャル記録を行うので、PSNが増加する方向に交替記録した方が、データへのアクセスが効率的に行えるからである。
なお、交替元と交替先の距離については、交替元と交替先のPSN値の差から決定しても良い。あるいは、交替元と交替先の物理的な距離から決定しても良い。情報記録媒体100においては、PSNは内周側からスパイラル状に増加していくため、PSN値の差が物理的な距離に一致しない場合もありえるからである。例えば情報記録媒体100の半径方向に隣接するECCクラスタ同士は物理的には距離が近いが、PSN値の差は最小とはならない。
(実施の形態6 )
上述 の実施の形態においては、図15A及び図16Aを参照して交替管理情報(2)、(3)及び交替管理情報(5)、(6)を用いて、連続的な領域を代替記録する方法について説明した。
本実施の形態においては、これらの連続的な代替記録が行われた領域の一部をさらに疑似上書きするための、データ構造およびデータ記録の手順について説明する。
図34を参照して、本実施の形態のデータ記録の手順を説明する。ここでは、図6に示される情報記録再生装置300を用いて、データが情報記録媒体100に記録されるものとする。交替管理情報は、図18に示される交替管理情報の一例であるDFL entry2010のデータ構造を有しているものとする。
図34は、図8Aに示されるステップS113において実行されるステップの例を示す。これらのステップは、ドライブ装置310のドライブ制御部311によって実行される。
(ステップS301)ドライブ制御部311は、1回目の交替記録か否かを決定する。
具体的には、ドライブ制御部311は、記録指示によって指定された位置(すなわち、記録指示に含まれる論理アドレスに対応する物理アドレスによって示される位置)が他の位置に既に交替されているか否かを決定する。交替されていない場合には、1回目の交替記録であると決定される。その結果、処理はステップS302に進む。交替されている場合には、2回目以降の交替記録であると決定される。その結果、処理はステップS311に進む。
記録指示によって指定された位置が他の位置に既に交替されているか否かの決定は、例えば、記録指示によって指定された位置を交替元位置情報として有する交替管理情報が最新の交替管理情報リスト中に発見されるか否かを決定することによって行われる。
なお、ステップS301の処理は、図8Bに示されるS151の処理と同一である。よって、ステップS151の判定結果を内部変数の値として保持しておき、ステップS301において、その内部変数の値を参照することにより、記録指示によって指定された位置を含むECCクラスタが代替クラスタに既に交替されているか否かを決定するようにしてもよい。
(ステップS311)ドライブ制御部311は、記録指示によって指定された位置から他の位置への交替が単一のECCクラスタから単一のECCクラスタへの交替であるか否かを決定する。
このような決定は、例えば、記録指示によって指定された位置を含むECCクラスタを含む範囲を交替元位置情報として有する交替管理情報が最新の交替管理情報リスト中に発見されるか否かを決定することによって行われる。
例えば、第1のDFL entry2010(ステータス2 2011B = “0001”)と第2のDFL entry2010(ステータス2 2011B = “0010”)とが交替管理情報リスト中に発見される。ここで、第1のDFL entry2010は、第1の連続的な領域の開始位置を第2の連続的な領域の開始位置にマッピングしており、第2のDFL entry2010は、第1の連続的な領域の終端位置を第2の連続的な領域の終端位置にマッピングしているものとする。第1の連続的な領域および第2の連続的な領域はいずれも複数の連続したECCクラスタを含む領域である。
この場合には、第1のDFL entry2010および第2のDFL entry2010が複数の連続したECCクラスタから複数の連続したECCクラスタへの交替を示すため、単一のECCクラスタから単一のECCクラスタへの交替ではないと決定される。その結果、処理はステップS312に進む。ステップS312の詳細は、図35を参照して後述される。そうでない場合には、単一のECCクラスタから単一のECCクラスタへの交替であると決定される。その結果、処理はステップS304に進む。
ここで、ステップS302〜S305の処理は、図19に示されるステップS302〜S305の処理と同一である。従って、ここでは、その説明を省略する。
図35は、図34に示されるステップS312において実行されるステップの例を示す。これらのステップは、ドライブ装置310のドライブ制御部311によって実行される。
(ステップS651)ドライブ制御部311は、新たな第3のDFL entry2010を生成し、その第3のDFL entry2010をメモリ回路312に格納する。この第3のDFL entry2010は、記録指示によって指定された位置を含む単一のECCクラスタから記録指示によって指定された位置以外の特定の位置を含む単一のECCクラスタへの交替を示すために用いられる。
(ステップS652)ドライブ制御部311は、第3のDFL entry2010に値を設定する。
具体的には、第3のDFL entry2010のステータス1 2011Aには、交替先の存在する交替記録を示す“0000”が設定される。第3のDFL entry2010の欠陥クラスタ先頭PSN2012には、記録指示によって指定された位置を含むECCクラスタの先頭PSNの値が設定される。第3のDFL entry2010の交替クラスタ先頭PSN2013には、実際にデータが記録された特定の位置を含む交替クラスタの先頭PSNの値が設定される。第3のDFL entry2010のステータス2 2011Bには、単一クラスタの交替記録を示す“0000”が設定される。
(ステップS653)ドライブ制御部311は、ステップS311で発見された第1のDFL entry2010(ステータス2 2011B = “0001”)と第2のDFL entry2010(ステータス2 2011B = “0010”)とによって示される連続的な領域から、記録指示によって指定された位置を含むECCクラスタを除いた領域の中に、複数のECCクラスタを含む連続的な領域が残っているか否かを決定する。このような決定は、例えば、この連続的な領域に含まれるECCクラスタ毎に、当該ECCクラスタが後続するECCクラスタに対して連続であるかを示すフラグを設けておき、そのフラグを参照することによって行うようにしてもよい。
ステップS653において連続的な領域が残っていると決定された場合には、処理はステップS654に進む。ステップS653において単一ECCクラスタからなる領域が残っていると決定された場合は、処理はステップS656に進む。
なお、ステップS311で発見された第1のDFL entry2010と第2のDFL entry2010とによって示される連続的な領域から、記録指示によって指定された位置を含むECCクラスタを除いた領域が複数の領域からなる場合、それぞれの領域に対して、連続的な領域であるか否かの決定を行い、それぞれの決定結果に対して、ステップS654または、ステップS656の処理を行う。
(ステップS654 )ドライブ制御部311は、新たなDFL entryを生成し、その新たなDFL entryをメモリ回路312に格納する。
具体的には、ステップS653において決定された残っている連続的な領域が第1のDFL entryにより示される開始位置から始まる場合に、新たな第4のDFL entry2010を生成し、そして、ステップS653において決定された残っている連続的な領域が、第2のDFL entryにより示される終端位置で終了する場合に、新たな第5のDFL entry2010を生成する。
(ステップS655)ドライブ制御部311は、ステップS654で新たに生成されたDFL entry2010に値を設定する。
具体的には、第4のDFL entry2010のステータス1 2011Aには、交替先の存在する交替記録を示す“0000”が設定される。第4のDFL entry2010の欠陥クラスタ先頭PSN2012には、記録指示によって指定された位置を含むECCクラスタの直前のECクラスタの先頭PSNの値が設定される。第4のDFL entry2010の交替クラスタ先頭PSN2013には、記録指示によって指定された位置を含むECCクラスタの交替先であるECCクラスタの直前のECCクラスタの先頭PSNの値が設定される。第4のDFL entry2010のステータス2 2011Bには、連続領域の終了位置であることを示す“0010”が設定される。
具体的には、第5のDFL entry2010のステータス1 2011Aには、交替先の存在する交替記録を示す“0000”が設定される。第5のDFL entry2010の欠陥クラスタ先頭PSN2012には、記録指示によって指定された位置を含むECCクラスタの直後のECクラスタの先頭PSNの値が設定される。第5のDFL entry2010の交替クラスタ先頭PSN2013には、記録指示によって指定された位置を含むECCクラスタの交替先であるECCクラスタの直後のECCクラスタの先頭PSNの値が設定される。第5のDFL entry2010のステータス2 2011Bには、連続領域の開始位置であることを示す“0001”が設定される。
第1および第2のDFL entry2010は更新されない。その結果、第1および第2のDFL entry2010は同じ値を保持する。
このように、第1のDFL entry2010と第4のDFL entry2010とは、第1の連続的な領域の一部(すなわち、第1の連続的な領域の先頭ECCクラスタから記録指示によって指定された位置を含むECCクラスタの直前のECCクラスタまでの連続領域)を第2の連続的な領域の一部(すなわち、第2の連続的な領域の先頭ECCクラスタから記録指示によって指定された位置を含むECCクラスタの交替先であるECCクラスタの直前のECCクラスタまでの連続領域)にマッピングすることを示す。このマッピングは、複数の連続的なECCクラスタから複数の連続的なECCクラスタへのマッピングである。
また、第5のDFL entry2010と第2のDFL entry2010とは、第1の連続的な領域の一部(すなわち、記録指示によって指定された位置を含むECCクラスタの直後のECCクラスタから第1の連続的な領域の最終ECCクラスタまでの連続領域)を第2の連続的な領域の一部(すなわち、記録指示によって指定された位置を含むECCクラスタの交替先であるECCクラスタの直後のECCクラスタから第2の連続的な領域の最終ECCクラスタまでの連続領域)にマッピングすることを示す。このマッピングは、複数の連続的なECCクラスタから複数の連続的なECCクラスタへのマッピングである。
(ステップS656)ドライブ制御部311は、第1と第2のDFL entry2010の値を更新する。
具体的には、ステップS653において単一ECCクラスタの領域が残っていると決定され、かつ、その単一ECCクラスタの位置と第1のDFL entry2010により示される開始位置が同じ場合、第1のDFL entry2010のステータス2 2011Bの値が、“0001”から“0000”に更新される。これにより、第1のDFL entry2010は、単一のECCクラスタから単一のECCクラスタへの交替を示すことになる。
第1のDFL entry2010のその他のフィールドは、更新されず、同じ値を保持する。
ステップS653において単一ECCクラスタの領域が残っていると決定され、その単一ECCクラスタの位置と第2のDFL entry2010により示される終端位置が同じ場合、第2のDFL entry2010のステータス2 2011Bの値が、“0010”から“0000”に更新される。これにより、第2のDFL entry2010は、単一のECCクラスタから単一のECCクラスタへの交替を示すことになる。
第2のDFL entry2010のその他のフィールドは、更新されず、同じ値を保持する。
なお、ステップS654とS655において、第4及び第5のDFL entry2010を生成して、その値を更新しても良いし、第4または第5のDFL entry2010のうち、どちらか一方のDFL entry2010を生成して、その値を更新しても良い。ステップS653において決定された残っている連続的な領域が、第1のDFL entryにより示される開始位置から始まる場合に、新たな第4のDFL entry2010を生成され、第2のDFL entryにより示される終端位置で終了する場合に、新たな第5のDFL entry2010が生成される。このことにより、ステップS653において連続的な領域が残っていると決定された場合、記録指示によって指定された位置を除いて、第1の連続的な領域から第2の連続的な領域へのマッピング状態が維持される。
なお、ステップS656において、第1及び第2のDFL entry2010の値を更新しても良いし、第1または第2のDFL entry2010のうち、どちらか一方のDFL entry2010の値を更新しても良い。ステップS653において単一ECCクラスタの領域が残っていると決定された場合、その単一ECCクラスタの位置と第1のDFL entry2010により示される開始位置が同じ場合には、第1のDFL entry2010のステータス2 2011Bの値が更新され、その単一ECCクラスタの位置と第2のDFL entry2010により示される終端位置が同じ場合には、第2のDFL entry2010のステータス2 2011Bの値が更新される。このことにより、ステップS653において単一ECCクラスタからなる領域が残っていると決定された場合、記録指示によって指定された位置を除いて、第1の連続的な領域から第2の連続的な領域へのマッピング状態が維持される。
このように、記録指示によって指定された位置が、ステップS311で発見された第1及び第2のDFL entry2010で示された交替元の連続領域の中のどの場所に対応するかに応じて、ステップS654とS655とS656が実行され、記録指示によって指定された位置を除いて、第1の連続的な領域から第2の連続的な領域へのマッピング状態が維持される。
例えば、記録指示によって指定された位置を除く領域が、単一ECCクラスタからなる領域と、複数のECCクラスタからなる連続領域の組み合わせであっても良い。
なお、記録指示によって指定される領域の位置は、1つ以上のECCクラスタでも良い。この場合には、ステップS651において、第1及び第2のDFL entryと同じ形式である2つのDFL entry(それぞれ、ステータス2 2011B = “0001”とステータス2 2011B = “0010”)が新たに生成される。
以下、図34および図35に示されるデータ記録の手順に従った具体的な処理の例を説明する。
図16Aに示される状態において、ドライブ装置310がLSN=V2の位置にデータ“E2”6000を記録する記録指示を受け取ったものとする。ここで、LSN=V2の位置には、データ”E1”が既に記録されているものとする。
データ“E2”6000の物理アドレス空間内の記録位置は、図16Aに示すLRA500Dから決められ、ここではPSN=v7であるとする。
データ“E2”6001の記録が行われた後のLSNとPSNの関係は図36Aに示すようになる。すなわち、図16Aでは、第1の連続領域1200が第2の連続領域1201に交替されていたのに対し、図36Aでは、第1の連続領域1201が、第2連続領域の一部である連続代替領域6101(PSN=x4〜v4)と、単独代替クラスタ6102(PSN=v7)と、第2連続領域の一部である連続代替領域6103(PSN=v6〜x5)とに交替されることになる。
この状態を反映して、交替管理情報リスト1000は、図36Bのように更新される。ここでは新たに交替管理情報6601、6602及び6603が追加されている。
このうち、交替管理情報6602が上述のデータ“E2”6000の疑似上書き記録に対応する。一方、交替管理情報6601、6603は連続領域1201を分割してマッピングするために追加されたものである。
以上のような記録処理により、LSN=V2に対する再生要求があると、PSN=v7からデータ“E2”が再生され、疑似上書き記録が実現される。
もし、このような交替先の分割を行わない場合、連続領域1201全体を同じ大きさの連続領域に交替しなければならない。図36Aに示される例では、連続領域1201の内、ECCクラスタ6104だけがデータの更新の対象であるにもかかわらず、複数のECCクラスタを含む連続領域1201全体の交替が必要となり、ユーザデータ領域の無駄が発生する。また、連続領域1201に記録されたデータの再生と記録も必要となり、記録のための処理時間も増大してしまう。
一方、本実施の形態によるデータ記録の手順によれば、図36Aに示されるECCクラスタ6104のように更新の必要なECCクラスタのみ交替が行なわれ、それに応じて、交替管理情報の種類が変換される。これにより、ユーザデータ領域の無駄を回避することが可能となる。
なお、上述したデータ記録の手順は、疑似上書き記録および欠陥クラスタの代替記録の両方に適応可能である。
また、図24Aに示される状態において、ドライブ装置310が、LSN=160の位置にデータ“C2”記録する記録指示を受け取ったものとする。ここで、LSN=160の位置には、データ”C1”が既に記録されている。
図37Aは、その記録指示に従って擬似上書き記録が実行された後の状態を示す。データ“C”6301がPSN=1388の位置に記録されている。
この状態を反映して、交替管理情報リストは、図37Bのように更新される。ここでは新たに交替管理情報6402が追加されている。また、交替管理情報6401及び6403は、図24Bの交替管理情報2102A及び2103Aと同じ交替元および交替先を示しているが、ステータス2 2011Bの値は変更され、単一のECCクラスタの交替のための交替管理情報に変換されている。
このような処理を行うことにより、連続領域6110全体を同じ大きさの連続領域に交替する必要がなくなる。これにより、ユーザデータ領域の無駄を回避することが可能となる。
(実施の形態7)
上述 の実施の形態においては、疑似上書き記録が行われるたびに交替管理情報(1)や(4)が交替管理情報リスト1000に追加され、交替管理情報リスト1000の容量が増加する。
本実施の形態においては、複数の交替管理情報(1)又は(4)を交替管理情報(2)及び(3)又は及び(6)へ変換することにより交替管理情報リスト1000の容量を削減する方法について述べる。
図16Aに示される状態において、ドライブ装置310が、LSN=V1の位置にデータ“E3”7000を記録し、LSN=V2の位置にデータ“E4”7001を記録し、LSN=V3の位置にデータ“E5”7002を記録するように指示されたものとする。ここで、LSN=V1、V2、V3の位置にはいずれもデータ”E1”が既に記録されている。
データ“E3”7000、データ”E4”7001、データ”E5”7002の物理アドレス空間内の記録位置(すなわち交替先)は、図16Aに示すLRA500Dから決定される。この例では、それらの記録位置がそれぞれPSN=v7、PSN=v8、PSN=v9の位置であるとする。
データ“E3”7001、データ”E4”7001、データ”E5”7002の記録が行われた後のLSNとPSNの関係は図38Aに示すようになる。
この時、上述の実施の形態と同様の方法で交替管理情報リスト1000を更新すると、それぞれの代替記録に対して、合計3つの交替管理情報(4)を生成することになる。
一方、本実施の形態においては、図38Bに示すように交替管理情報リスト1000を更新する。ここでは新たに交替管理情報7611、7612が追加されている。交替管理情報7611、7612はそれぞれ交替管理情報(5)および(6)である。
すなわち、ドライブ制御部311は、ホスト装置305から記録指示された領域を調べ、交替元と交替先が連続領域であるかを判断し、そのいずれもが連続領域であると判断した場合、交替管理情報(5)、(6)や(2)、(3)を用いて交替記録を行う。
上述のように、本実施の形態を用いない場合、合計3つの交替管理情報(4)が必要であったが、本実施の形態を用いる場合、2つの交替管理情報だけでよくなり、交替管理情報リスト1000の容量削減が実現される。
交替管理情報を削減する効果については、疑似上書き記録の対象となる領域が広いほど、高い効果が得られる。なぜなら、本実施の形態によれば、連続領域に対して常に固定の二つの交替管理情報だけしか必要ないからである。
以上のように、ホスト装置305からの記録指示の単位とは独立して、ドライブ装置310が交替元および交替先のデータの物理的な配置を考慮し、交替管理情報(5)、(6)や(2)、(3)を使うことにより、交替管理情報リストの容量を削減することが可能となる。
なお、上述の説明は、代替記録という意味では同じである、疑似上書き記録と欠陥クラスタの代替記録の両方に適応可能である。
例えば、交替先が交替領域中であってもよい。
また、図24Aに示される状態において、ドライブ装置310が、LSN=128の位置にデータ“C3”を記録し、LSN=160の位置にデータ“C4”を記録し、LSN=192の位置にデータ“C5”を記録するよう指示されたものとする。ここで、LSN=128、LSN=160、LSN=192の位置にはいずれもデータが既に記録されている。
この例では、データ“C3”、データ“C4”、データ“C5”は、それぞれ、PSN=1420、PSN=1452、PSN=1484の位置に記録される。
データ“C3”、データ”C4”、データ”C5”の記録が行われた後のLSNとPSNの関係は図39Aに示すようになる。
そして、交替管理情報リストは図39Bに示すように更新される。ここでは新たに交替管理情報7401、7403が追加されている。交替管理情報7401、7403はそれぞれ交替管理情報(5)および(6)に相当し、連続領域のマッピングを示すため、それぞれのステータス2 2011Bは、“0001”と“0010”となる。
(実施の形態8 )
図36A を参照して説明した実施の形態において、連続的な代替記録が行われた領域の一部をさらに疑似上書きするためのデータ構造並びに記録手順について説明した。
本実施の形態においては、異なる交替管理情報リストのデータ構造を用いることにより、同様に連続的な代替記録が行われた領域の一部をさらに疑似上書きすることを可能とする方法について説明する。
図40は、図36Aと同様の記録を行った場合の、本実施の形態における交替管理情報リスト1000である。
交替管理情報リスト1000では、交替管理情報(5)と(6)の間に、交替管理情報(4)を配置可能とした点が他の実施の形態と異なる。
具体的には、図40では、交替管理情報(5)および(6)である交替管理情報516Aおよび517Aの間に、交替管理情報(4)である交替管理情報8601を配置している。
このような配置を可能としたことにより、図16Bに示す交替管理情報リスト1000に対して、新たに交替管理情報8601だけを追加すればよくなる。
よって、図40に示すより容量の小さい交替管理情報リスト1000により、連続的な代替記録が行われた領域に対する疑似上書き記録が実現可能となる。
なお、交替管理情報(5)と(6)の間に交替管理情報(1)を、あるいは交替管理情報(5)と(6)の間に交替管理情報(1)や(4)を配置することも可能である。これらの場合でも、上述と同様の効果が得られる。
(実施の形態9 )
本実施 の形態においては、異なる疑似上書き記録の記録手順について説明する。
ビデオや映画などの映像や音声データを含むAVデータを光ディスクのような情報記録媒体に記録する時、連続的なデータ再生を保証するため、前記AVデータは所定の連続的な長さを持って、情報記録媒体上に記録がなされる。例えば、DVD規格においては、このような所定の長さを持った連続的な領域のことをCDAと呼んでいる。
そして、このようなAVデータの記録においては、ベリファイアフターライト処理を行わず、スキップ記録と呼ばれる欠陥管理方式が用いられる。
スキップ記録とは、図41に示すように、(1)AVデータをエクステント#1へ記録中、(2)アドレスエラー等の何らかの原因で欠陥クラスタ9600が検出された時、その欠陥領域を避けてスキップし、(3)次に記録可能な領域にエクステント#2としてAVデータの記録を続ける方法である。
この時、欠陥クラスタ9600に対しては、交替領域への交替を行わないことがスキップ記録の特徴である。
交替領域への交替を行わない理由は、もし、交替してしまうと、AVデータの再生時に交替領域へのアクセスが必要となり、連続的なAVデータの再生を保証できなくなるからである。
このようなAVデータのスキップ記録には次のような課題がある。すなわち、AVデータの記録中に、欠陥クラスタをスキップするので、この時点でデータの記録位置が変わってしまう。そして、この記録位置の変更はファイルシステムに対しても反映が必要である。
例えば、図41では、記録前にファイルシステムが想定していたAVデータの論理アドレス空間におけるデータ配置9601は、LSN=B1〜B4の位置であったとする。しかしながら、欠陥クラスタ9600のため、実際に記録される論理アドレス空間におけるデータ配置9602はLSN=B1〜B2及びLSN=B3〜B5の位置となってしまう。
このような論理的なデータ配置の変更処理をAVデータの記録処理を実行しながらリアルタイムに行うには、特別なファイルシステムの実装が必要となるという課題があった。
また、欠陥クラスタ9600の検出をドライブ装置310からホスト装置305へ伝える必要がある。よって、スキップ記録を実現しようとすると、従来のシステムに比べて複雑な実装が必要になるという課題があった。
そこで本実施の形態においては、スキップ記録において、交替情報を用いることにより上述の課題を解決する。
本実施の形態の記録方法を図41及び図42を参照して説明する。
本実施の形態においても、上述と同様にスキップ記録を行い、情報記録媒体100へ同様の物理データ配置でAVデータを記録する。
ただし、スキップ記録を行ったドライブ装置310が、図42に示す交替管理情報9601及び9611を生成する点が従来と異なる。
ここで、交替管理情報9601及び9611は、欠陥クラスタ9600を避けて、PSN=a2〜a4の領域をPSN=a3〜a5の領域へ交替記録するための交替管理情報である。
このような交替管理情報を生成することにより、論理アドレス空間におけるデータ配置はデータ配置9603となる。
データ配置9603はLSN=A1〜A4の領域となり、記録前に想定されていたデータ配置9601と同じデータ配置を維持することが可能となる。
よって、スキップ記録が行われる場合でもホスト装置305内のファイルシステム側で特別な操作を行う必要が無くなる。また、ドライブ装置310からホスト装置305へ、欠陥クラスタ600の検出を伝えなくてもスキップ記録が可能となる。
以上より、本実施の形態は、AVデータに対してベリファイアフターライト処理を行わず、スキップ記録を行うことによりデータ記録の信頼性を向上させ、さらに、ファイルシステムやドライブ装置の実装低減を実現できるという優れた効果を持つ。
なお、AVデータの一例としては、UDF規格で定めら得たReal−time Fileがある。
(実施の形態10 )
本実施 の形態においては、交替管理情報の異なる例について、図43を参照して説明する。
図43では状態情報1011中に新たなフラグ情報AVFlag10000を設ける。
AVFlag10000は、対応する交替管理情報が、AVデータ以外のデータための交替情報であるか、AVデータのための交替情報であるか、を示すフラグである。
このAVFlag10000を用いる場合の交替管理情報リスト1000を図44の交替管理情報10610Aおよび10611Bに示す。
AVFlag10000を参照することによりドライブ装置は該当するデータがAVデータであるかどうかを予め知ることができる。
上述の通り、AVデータはベリファイ処理無しで記録されているので、再生時にエラーが発生する可能性がある。
再生を実施する前にAVデータであるかどうかが分かっていればそのようなエラーに対応する準備や対策を行えるので、システムの実装上、好都合である。
図44に示す交替管理情報リスト1000にはさらに、交替管理情報10620及び10620が含まれている。交替管理情報10620および10620は、欠陥クラスタの位置を示す交替管理情報(7)である。
本実施の形態においては、もし、図43のエクステント#2中に欠陥クラスタが存在した場合、図44に示す交替管理情報リスト1000に示すように、交替管理情報(5)、(6)である交替管理情報10610Aと10611Bの間に、欠陥クラスタの位置を示す交替管理情報(7)である交替管理情報10620や10620を挿入するデータ構造を許す。このデータ構造により、交替管理情報10610Aおよび10611Bの分割が不要となる。よって、交替管理情報リストの容量を削減することが可能となる。