近年、大容量で交換可能な情報記録媒体、およびそれを用いた記録再生動作を行うドライブ装置が広く普及している。
大容量で交換可能な情報記録媒体としては、DVD(Digital Versatile Disc)やBD(Blu−ray Disc)といった光ディスク媒体が知られている。光ディスクドライブ装置は、レーザ光を用いて光ディスク媒体上にデータの記録を行う。レーザ光として、DVDに対しては赤色レーザ光を用い、BDに対しては赤色レーザ光より波長が短い青色レーザ光を用い、それによりBDはDVDよりも記録密度を高め、大容量化を実現している。
図1は、光ディスク媒体の領域構成の一例を示す図である。円盤状の光ディスク媒体1には、スパイラル状にトラック2が形成されており、トラック2に沿って多数のブロック3が形成されている。
トラック2の幅(トラックピッチ)は、BDでは0.32μmと規定されている。ブロック3は、エラー訂正の単位であり、記録および再生動作が行われる最小の単位である。ブロック3は、例えば、DVDでは1ECC(サイズ:32KByte)、BDでは1クラスタ(サイズ:64Kbyte)である。光ディスク媒体のデータの最小単位であるセクタ(サイズ:2KByte)という単位を用いて説明すると、1ECC=16セクタ、1クラスタ=32セクタとなる。
なお、BDでは、AUNと呼ばれる論理セクタ(1論理セクタ=2セクタ/4KByte)という単位が使用されることもある。
BDでは、ブロック3のデータは、ユーザデータであるデータブロックと、アドレス等のフラグ情報であるフラグブロックとを有する。図2は、BDのブロック3のデータフォーマットを示す図である。
図2を参照して、ユーザデータであるデータブロックと、フラグ情報であるフラグブロックに対して、それぞれエラー訂正用の訂正コードであるパリティを付加してLDCクラスタ、BISクラスタというデータを生成し、これら2つのデータをインタリーブしてECCクラスタという形のデータを生成する。BDのブロック3(つまり、クラスタ)には、このECCクラスタのデータ形式でデータが格納される。BISクラスタのデータは、LDCクラスタのデータと比べてデータサイズが小さいが、LDCクラスタと同程度のパリティデータを付加するため、エラー訂正能力が極めて高く、LDCクラスタに相当するデータブロックと比べて正しく読み出し出来る可能性が高いという特徴をもつ。
なお、以下で説明されるクラスタは、BDのブロック3のことを指しているが、これに限定されない。
図3は、記録型光ディスク媒体の構造を示す図である。
光ディスク媒体1は、リードイン領域4と、データ領域5と、リードアウト領域6とを備える。
データ領域5は、ユーザデータ領域14と、スペア領域15aおよび15bとを備える。
ユーザデータ領域14は、音楽やビデオなどのリアルタイムデータや、文章や、データベースなどのコンピュータデータなど、ユーザによって任意の情報が記録可能な領域である。
スペア領域15aおよび15bは、ユーザデータ領域14内のあるブロック3の代わりにデータを記録する交替領域であり、例えばユーザデータ領域14において欠陥ブロックが検出された場合は、そのブロックの交替領域として使用される。図3に示す例では、スペア領域15aおよび15bは、データ領域5の内周側(つまりリードイン領域4側)と外周側(つまりリードアウト領域6側)にそれぞれ配置されている。
リードイン領域4はデータ領域5より内周側に位置しており、リードアウト領域6はデータ領域5より外周側に位置している。これらの領域4および5は、光ディスク媒体1に関する管理情報等を備える他に、光ピックアップ(図示せず)のオーバーランを防ぐ役割も果たしている。
リードイン領域4は、第1の欠陥管理領域10(以下、1stDMAとも称する)と、第2の欠陥管理領域11(以下、2ndDMAとも称する)とを備えている。1stDMAと2ndDMAは共に、光ディスク媒体1のデータ構造や欠陥に関する情報など、ディスクの管理情報を記録するための領域である。
リードアウト領域6は、第3の欠陥管理領域12(以下、3rdDMAとも称する)と第4の欠陥管理領域13(以下、4thDMAとも称する)とを備えている。3rdDMAと4thDMAは共に、光ディスク媒体1のデータ構造や欠陥に関する情報など、ディスクの管理情報を記録するための領域である。
ここでDMAとは、一般的には欠陥管理領域(Defect Management Area)のことであるが、欠陥管理情報以外にもディスクに関する様々な情報(ディスク管理情報)を備え得ることから、もっと広い意味で、ディスク管理領域(Disc Management Area)とも呼ばれる。
1stDMA〜4thDMAはそれぞれ、光ディスク媒体1の所定の位置に配置され、1stDMA〜4thDMAには互いに同じ情報が記録されている。これは、1stDMA〜4thDMAのいずれかが欠陥となってしまった場合の備えであり、たとえ正しく再生されないDMAがあってもどれか1つでも正しく再生できるDMAがあれば欠陥管理情報を取得することができる。
1stDMA〜4thDMAはそれぞれ、ディスク定義構造20(以下、DDSとも称する)と、欠陥リスト21(以下、DFLとも称する)とを備える。
DFL21は、欠陥ブロックの位置とその交替先の位置などの交替処理に関する情報である欠陥エントリ23と、DFL21の識別子や更新回数情報、欠陥エントリ23の総個数情報などを含む欠陥リストヘッダ22等を含む。
次に、ブロック3の位置を示すアドレスについて説明する。アドレスとしては、物理的に光ディスク媒体1の記録層上に割り振られた位置情報である物理アドレス(以下、PSNとも称する)と、ホスト装置などからアクセス可能な領域、つまり論理空間であるデータ領域5に対して仮想的に連続して割り当てられる論理アドレス(以下、LSNとも称す)とがある。これらのアドレスは、一般的にはセクタ単位、あるいはブロック3中に所定数という単位で割り振られる。
書換え型BDディスクであるBD−REのPSNとしては、トラック2の側面を波打たせる形(ウォーブル)で付与されるADIPと呼ばれるアドレスと、ブロック3の記録データ中に付与されるAUNと呼ばれるアドレスとがある。LSNは、データ領域5に仮想的に連続して割り振られた0から始まる一連のアドレス情報であり、通常は、ユーザデータ領域14中の先頭ブロックを0として全てのブロック3に順に割り振られるアドレスであるが、ユーザデータ領域14中に交替処理が行われたブロック3が存在する場合には、交替元ブロックに本来割り振られるはずだったLSNが、交替先であるスペア領域15a若しくは15b中の対応するブロックに対して割り振られる。
物理アドレス(PSN)は、ディスクのトラックパスの方向に沿って昇順に割り振られたアドレスである。例えば、記録層を2つ(L0層とL1層)持つ2層BD−REディスクの場合には、オポジットパスと呼ばれるアドレッシング方法が採用されているため、L0層ではディスク内周側から外周側に向かって昇順に、L1層では外周側から内周側に向かって昇順に物理アドレスが割り振られる。
次に、サーティファイ処理について説明する。DVD−RAMやBD−REなどの書換え可能な光ディスク媒体には、データ領域5内のブロック3が正常なブロックか欠陥ブロックかを予め検査するために、一般にサーティファイと呼ばれる処理が行われる。サーティファイとは、ブロック3に任意のデータを記録(Write)し、その後、該ブロック3からデータの読み出し(Verify)を行い、記録したデータと読み出したデータとが一致しているか否かを確認するという検査方法である。一致していると判断された場合にはそのブロック3は正常なブロックと判定する。一方、Writeに失敗、もしくはVerifyに失敗、あるいは書き込んだデータと読み出したデータとが不一致といった場合には、そのブロック3は正常に使用できない欠陥ブロックであると判定し、欠陥ブロックの位置情報を欠陥リスト21等へ登録する(例えば、特許文献1参照)。また、ディスクが交替用のスペア領域15aおよび15bを備えている場合には、サーティファイで欠陥と判定したブロックの交替先としてスペア領域15aおよび15b中のブロック3を割り当てたりもする(例えば、特許文献2参照)。
サーティファイ処理の種類としては、ディスク全面に対してサーティファイを行う処理や、特定の領域に対してのみサーティファイを行う処理等が存在する。例えばBD−REでは、DDS20やDFL21等のディスク管理情報を初期化するフォーマット処理の一部として、“Full Certification”(以下、フルサーティファイとも称する。)と“Quick Certification”(以下、クイックサーティファイとも称する。)という2つのモードが規定されている(例えば、非特許文献1参照)。これらはデータ領域5を初期化する、つまりデータ領域5に対してユーザデータの記録をすぐに行える状態(=レディ状態)にするフォーマットと呼ばれる処理に含まれる処理であり、これらの処理を行った領域には有効なユーザデータは存在しない状態となる。
フルサーティファイとは、データ領域5に含まれる全てのブロック3に対してサーティファイを行うモードである。
クイックサーティファイとは、データ領域5の中で、欠陥リスト21に登録されている欠陥ブロックに対してのみサーティファイを行うというモードであり、フルサーティファイと比べて高速に最低限のブロック3の検査を行うことを目的としている。
次に、BD−REの欠陥エントリ23について説明する。
図4は、BD−REの欠陥エントリ23の構成および種類を示す図である。
図4(a)は、欠陥エントリ23の構成を示している。欠陥エントリ23は、欠陥ブロックの状態(カテゴリー)を表すエントリ属性30、交替元である欠陥ブロックの先頭物理アドレス等を示す欠陥位置情報31、エントリ属性30の付帯情報であるサブ属性32、交替先ブロックの先頭物理アドレス等を示す交替位置情報33を含む8Byte(64ビット)の情報である。
図4(b)は、BD−REの欠陥エントリ23の種類、つまりエントリ属性30の種類を示している。エントリ属性30としては、RAD、NRD、SPR、PBA、UNUSEという5つの属性がある。
RAD属性とは、単独のブロックの欠陥を示す属性であり、欠陥位置情報31として欠陥ブロックの先頭物理アドレス、交替位置情報33としてスペア領域15中の交替先ブロックの先頭物理アドレスが含まれる。RADには、欠陥ブロックが交替先ブロックへ実際に交替記録されていることを表すRAD0と、交替先ブロックを欠陥ブロックのために割り当てているが、実際には交替記録していない(交替位置情報33の示すブロックを使用していない)ことを示すRAD1とが存在する。RAD0属性は例えば2進数で“0000”と表され、RAD1属性は例えば2進数で“1000”と表される。
RAD0属性とRAD1属性の違いは、データ読み出し要求がなされた場合に、交替先ブロックのデータを読み出す(RAD0属性)のか、交替元(つまり欠陥)ブロックのデータを読み出す(RAD1属性)のかというところにある。なお、データ記録要求がなされた場合には、いずれの属性とも交替先ブロックに対してアクセスする。
また、RAD0のサブ属性32には“Discard”状態を示す情報(例えば、2進数で1000)が設定される場合がある。これは、交替元ブロックへ記録しようとしたデータの一部が交替先ブロックに交替記録されている状態を示している。詳細については後述する。
NRD属性は、交替がなされていない単独の欠陥ブロックを示しており、欠陥位置情報31として欠陥ブロックの先頭物理アドレスのみが含まれる。NRD属性は例えば2進数で“0001”と表される。
SPR属性は、スペア領域15中の交替先ブロックとして使用可能なブロックを示し、交替位置情報33として交替先ブロックの先頭物理アドレスが含まれる。SPR属性は例えば2進数で“0010”と表される。
また、SPR属性のサブ属性32には、“RDE”状態を示す情報(例えば、2進数で0100)が設定される場合がある。これは、交替位置情報33で示される交替先ブロックが以前に欠陥として判定されたことを示す情報であり、該ブロックが欠陥である可能性があることを示す。
PBA属性は、欠陥の可能性がある1ブロック以上の領域を示し、欠陥位置情報31としてその領域の先頭物理アドレス、交替位置情報33として連続ブロック数が含まれる。PBA属性は例えば2進数で“0100”と表される。
また、PBA属性サブ属性32には、“RDE”状態を示す情報(例えば、2進数で”0100”)が設定される場合がある。これは、欠陥位置情報31と交替位置情報33とで示される領域が以前に欠陥として判定されたことを示す情報であり、該領域が欠陥である可能性があることを示す。
UNUSE属性は、スペア領域15aおよび15b中の単独の欠陥ブロックを示し、交替位置情報33として欠陥ブロックの先頭物理アドレスが含まれる。UNUSE属性は例えば2進数で“0111”と表される。
欠陥リスト21(図3)には、欠陥エントリ23が、欠陥エントリ23の8Byteの値で昇順にソートされて格納される(正確には、最上位ビットを除いた63ビットの値で昇順にソートされて格納される。RAD0とRAD1は同一属性として扱われる)。つまり、欠陥エントリ23は、エントリ属性30ごとにグループ分けされて昇順にソートされている。
ここで、上述した“Discard”状態について、より詳細に説明する。書換え型光ディスク媒体1に対するデータの記録再生は、基本的にブロック3の単位で行われる。例えば、BD−REの場合には1クラスタ(64KByte)単位である。しかし、ホストPC装置からは、ブロック単位に満たないサイズのデータの記録が要求される場合がある。このような要求にも対応するために、光ディスク媒体1へのデータの記録再生を行うドライブ装置は、Read−Modify−Write(以下、RMWとも称する)という機能を備えている。
図5は、RMW処理の手順を示す図であり、記録媒体としてBD−REを用いたとする。なお、数字の最後に“h”を付けることで16進数を表現する。
図5を参照して、クラスタ(先頭物理アドレス=100h、サイズ=16論理セクタ(アドレスで表すと20h分))に対して、先頭物理アドレス=110h、記録要求サイズ=8h(4論理セクタ分)という、クラスタ単位より小さいサイズの記録要求がなされた場合の処理手順を説明する。
・ステップ(1):記録要求された物理アドレス(110h)を含むブロック(=クラスタ)のデータを読み出す。この例ではReadに失敗したとして、該ブロックは欠陥として扱う。
・ステップ(2):ステップ(1)で読み出したデータのうちの、記録要求された位置に相当する部分に記録要求データを埋め込み、新たな1ブロック単位のデータを生成する。
・ステップ(3):ステップ(1)でデータを読み出した欠陥ブロックの交替先としてスペア領域15中のブロック(例えば先頭物理アドレス=10000hのブロック)を割当て、そのブロックへ(2)で生成した1ブロック分のデータを記録する。
ユーザからの要求としてはWrite処理のみであるが、RMW処理にはデータ読み出し処理(Read処理)とデータ記録処理(Write処理)が含まれている。このWrite処理を実施する前に行うRead処理が何らかの理由で失敗し(例えば、たまたまディスク表面に埃が付着していた)、当該ブロックのデータが正しく読み出せない場合もある。しかし、ユーザからの要求はWriteであるため、Readに失敗したからと言ってWriteエラーとするのは好ましくない。
BDディスクでは、BISデータ中に“flag bits”(以下、フラグビットとも称する)と呼ばれるブロックおよびセクタの状態を示すフラグ情報を含ませ、そのフラグ情報中に“Status Bits(Sa)”(以下、ステータスビットとも称する)と呼ばれるセクタごとのデータの状態を示す2ビットの情報を含ませるという方法が考えられている(例えば、特許文献3参照)。RMWのReadに失敗したセクタのステータスビットを、失敗したことを示す状態にセットする。例えば2進数表記で“10”と設定する(特許文献3では、この場合には“01”をセットすると記載されているが、説明の都合上、本明細書では“10”とする)。
ステータスビットに“10”が設定されたセクタのデータをDiscard状態のデータと呼ぶ。また、Discard状態のデータを含むブロックのことをDiscard状態のブロックと呼ぶ。言い換えれば、Discard状態のブロックとは、当該ブロックデータの少なくとも一部を他のブロックのデータによって補完する必要がある(または補完可能である)状態のブロックであることを意味している。
しかし、このようなステータスビットをセクタに付加したとしても、依然として、Readに失敗したデータは失われたままの状態で交替先ブロックにデータが記録されていることには変わりはない。
ところで、RMWのReadに失敗した交替元ブロックも、たまたまその時点では埃や指紋のような汚れが付着していたが、ユーザが汚れを拭き取ったり、埃が取れたりして、次にトライした際には正しくReadできる可能性もある。そのため、BDディスクでは、フラグビットの中にさらに、“Previous Location Address”(以下、PLAとも称する)という情報を含ませるという方法も考えられている(例えば、特許文献3参照)。
このPLAは、交替先ブロックでのみ有効な情報であり、このPLAが設定されている交替先ブロックのデータが、直前にどの物理アドレス位置に記録されていたかを示す物理アドレス情報である。BD−REでは、スペア領域15aおよび15b内の交替先ブロックにのみ、有効な値のPLAが設定され、その他の領域(つまりユーザデータ領域14)のブロックにおいては常に無効を示す0が設定される。
Discard状態の交替先ブロックのデータAを読み出す場合は、PLAが指す欠陥ブロックのデータBも読み出し、データBを正常に読み出せた場合にはそのデータBでデータAを補完することで、正しいデータを復元することが可能となる。このように、Discard状態の交替先ブロックにおいて、PLAは有効な情報として意味を持つ。
次に、図6を参照して、RMW処理をより詳細に説明する。図6(a)はステータスビットの種類を示し、図6(b)はRMW処理を示している。
図6(b)を参照して、RMWのReadで失敗した場合は、
・ステップ(1):1ブロック中の全てのセクタのステータスビットを2進数表記で“10”としたダミーデータを生成し、
・ステップ(2):ステップ(1)で生成したデータに、記録要求されたデータをModifyし、Modifyしたセクタのステータスビットを2進数表記で“00”とし、
・ステップ(3):ステップ(2)で生成したデータを、交替先ブロックへ記録する、
という手順でRMW処理が行われる。
次に、図7を参照して、PLAと欠陥エントリ23との関係を説明する。図7では、説明を簡単にするために、本来セクタ単位に割り当てられる物理アドレスを、ブロック3の単位で割り振った形式で説明を行う。
図7(a)は、RMWを行う前のディスクの状態を示す。図7(a)に示すように、物理アドレス:Dのブロックに対して、ブロック単位に満たないデータの記録要求がなされた場合は、RMW処理を行う必要がある。しかし、この物理アドレス:Dは欠陥で、正しくデータが読み出せない状態にあったとする。
図7(b)は、RMWを実行した後の状態を示す。物理アドレス:Dのブロックからは正しくデータが読み出せないためステータスビットを2進数で“10”に設定し、記録要求データをModifyして、スペア領域15中の物理アドレス:Aの交替先ブロックに交替記録する。
この時、物理アドレス:AのブロックのPLAの値は、物理アドレス:Dを指すように設定される。また欠陥による交替記録が発生したため、欠陥リスト21(図3)には、欠陥位置情報31を物理アドレス:D、交替位置情報33を物理アドレス:Aとし、サブ属性32にDiscard状態を設定(2進数で“1000”)したエントリ属性:RAD0の欠陥エントリ23が登録される。
図8は、Discard状態のデータに対する補完処理を説明する図である。図8(a)は、PLA(物理アドレス:Dを指定)を含むDiscard状態の交替先ブロック(物理アドレス:A)を示す図である。図8(b)は、補完処理を示す図である。図8(b)に示すように、交替元ブロック(物理アドレス:D)のデータが全て正しく読み出せた場合、交替先ブロックから読み出したデータに、交替元ブロックのデータを補完することで、正しいデータを復元することが出来る。
なお、Read要求に対して、PLAが指すブロックのデータが正しく読み出せなかった場合には、Read要求に対してはエラー終了することになる。
図9は、データ補完のためのいわゆる“PLA辿り”処理手順を示すフローチャートである。ここでは、上述の図8の例を用いて説明する。
ステップ801:データ読み出し対象の交替先ブロックへ移動する。例えば、図8に示す物理アドレス:Aの位置へ移動する。
ステップ802:対象の交替先ブロックのデータを読み出す。
ステップ803:読み出したデータがDiscard状態か否か(つまり、PLAが有効か否か)を判断する。具体的には、読み出したデータに、“10”を示すステータスビットが含まれているか否かを確認する。
ステップ804:Discard状態と判定された場合は、PLAが示す交替元ブロックへ移動する。例えば、図8に示す物理アドレス:Dの位置へ移動する。
ステップ805:対象の交替元ブロックのデータを読み出し、そのデータで交替先ブロックから読み出したデータを補完する。
ステップ805で生成したデータが依然としてDiscard状態である場合は、ステップ803〜ステップ805の処理を複数回繰り返す。なお、この繰り返し処理は、必ずしも行わなくても良い。
ステップ806:Discard状態では無いと判定された場合、最終的なデータが確定する。
次に、サーティファイの対象となるブロックについて説明する。BD−REでは、図4(b)に示す“Certify対象”の欄に○印が付されているエントリ属性のブロックがサーティファイ対象となる。サーティファイ対象とならないブロックは、サブ属性32に“RDE”情報を含まないSPR属性のブロックのみとなる。サーティファイの対象となるブロックは、より具体的には、以下の5つのエントリ属性30で欠陥エントリ23として登録されているブロックである。
・エントリ属性30が“RAD”の欠陥エントリ23の欠陥位置情報31が示すブロック
・エントリ属性30が“NRD”の欠陥エントリ23の欠陥位置情報31が示すブロック
・エントリ属性30が“SPR”の欠陥エントリ23(サブ属性32が“RDE”情報を含むもののみ)の交替位置情報33が示すブロック
・エントリ属性30が“PBA”の欠陥エントリ23の欠陥位置情報31が示すブロックを先頭に、交替位置情報33が示す連続ブロック数分の領域
・エントリ属性30が“UNUSE”の欠陥エントリ23の交替位置情報33が示すブロック
クイックサーティファイにおいては、そのサーティファイ結果に基づいて、欠陥リスト21に対して以下に示すような処理を行う。
(1)サーティファイに失敗したブロック
・エントリ属性30がSPRのブロック(サブ属性32が“RDE”情報を含む)のサーティファイに失敗した場合は、交替位置情報33が当該ブロックを示すUNUSE属性の欠陥エントリ23へ変更する。
・エントリ属性30がPBAのブロックのサーティファイに失敗した場合は、欠陥位置情報31が当該ブロックを示すRAD属性またはNRD属性の欠陥エントリ23を追加し、PBA属性の欠陥エントリ23は削除する。
(2)サーティファイに成功したブロック
・エントリ属性30がRADまたはNRD属性のブロックのサーティファイに成功した場合は、欠陥位置情報31が該当ブロックを示す欠陥エントリ23を削除する。
・エントリ属性30がPBA属性のブロックのサーティファイに成功した場合は、欠陥位置情報31が該当ブロックを示す欠陥エントリ23を削除する。
・エントリ属性30がSPR属性のブロック(サブ属性32が“RDE”情報を含む)のサーティファイに成功した場合は、サブ属性32が“RDE”情報を含まないSPR属性の欠陥エントリ23へ変更する。
・エントリ属性30がUNUSE属性のサーティファイに成功した場合は、サブ属性32が“RDE”情報を含まないSPR属性の欠陥エントリ23へ変更する。
特開2000−222831号公報
特開2004−253109号公報
米国特許出願公開第2006/0077816号明細書
Information Technology−Multi−Medium Command−5(MMC−5)、[Online]、[平成18年6月28日検索]、インターネット<URL:http://www.t10.org/ftp/t10/drafts/mmc5/mmc5r03.pdf>
以下、図面を参照して本発明の実施形態を説明する。
(実施形態1)
(1)記録再生装置
まず、本発明の第1の実施形態による記録再生装置を説明する。図10は、本実施形態の記録再生装置100を示す図である。
記録再生装置100は、光ディスク媒体1に対してデータの記録再生を行う。記録再生装置100は、上位制御装置(図示せず)にI/Oバス190を介して接続されている。上位制御装置は、典型的には、ホストコンピュータである。
記録再生装置100は、命令処理部110と、記録制御部120と、再生制御部130と、欠陥リスト格納バッファ140と、データバッファ150と、サーティファイ制御部160と、サーティファイ実行部170と、光ヘッド部180とを備える。
命令処理部110は、上位制御装置からの命令(コマンド)を解析・処理する。記録制御部120は記録動作の制御を行い、再生制御部130は読み出し動作の制御を行う。光ヘッド部180は、記録制御部120および再生制御部130からの命令に基づいて、光ディスク媒体1にレーザ光を照射して光ディスク媒体1に対する情報の記録再生を行う。データバッファ150は、記録データおよび再生データを一時的に格納する。
欠陥リスト格納バッファ140は、光ディスク媒体1の1st〜4thDMAの何れかから読み出した欠陥リスト21、若しくはこれから1st〜4thDMAへ記録しようとする欠陥リスト21など、常に最新の欠陥リスト情報(最新欠陥リスト情報40)を格納する。サーティファイ制御部160はサーティファイ処理全体を制御し、サーティファイ実行部170はサーティファイを実行する。
サーティファイ制御部160は、サーティファイ対象領域算出部161と、欠陥エントリ操作部162と、クリア対象領域算出部163と、サーティファイ情報格納メモリ164とを備える。
サーティファイ対象領域算出部161は、サーティファイを実施する対象領域を算出する。欠陥エントリ操作部162は、サーティファイでエラーとなったブロックを欠陥リスト21(より厳密には、最新欠陥リスト情報40)に登録したり、成功したブロックを欠陥リスト21から削除したりする。クリア対象領域算出部163は、クイックサーティファイを行うときに、サーティファイ対象領域以外でデータクリアが必要な領域(具体的には、交替先ブロックとして割り当てる領域)を求める。
サーティファイ情報格納メモリ164は、サーティファイを行う際に必要な各種情報を格納している。サーティファイ情報格納メモリ164は、サーティファイ対象リスト情報41と、サーティファイ結果リスト情報42と、各属性総個数情報43と、各属性先頭位置ポインタ44とを格納している。
サーティファイ対象リスト情報41は、サーティファイ対象領域を示すリスト情報である。サーティファイ結果リスト情報42は、サーティファイ結果がエラーであったブロックを示す情報である。各属性総個数情報43は、エントリ属性30ごとの欠陥エントリ23の個数を示す情報である。各属性先頭位置ポインタ44は、最新欠陥リスト情報40中の各エントリ属性の先頭位置を示す情報である。欠陥リスト21(最新欠陥リスト情報40)の一例を図11に示している。
なお、サーティファイ対象リスト情報41からサーティファイOKだったリストを除くことで、サーティファイ結果リスト情報42と同じ情報を生成することも可能であるが、本実施形態では、サーティファイ対象リスト情報41とサーティファイ結果リスト情報42とを別々に生成して管理する。
また、最新欠陥リスト情報40の初期生成は、記録再生装置100に光ディスク媒体1がセットされて最初に光ディスク媒体1から読み出された情報を、再生制御部130がバッファ140へ格納することで行われる。サーティファイ制御部160は、最新欠陥リスト情報40を格納する際に、各属性総個数情報43および各属性先頭位置ポインタ44の初期設定を行う。
図11を参照して、各属性総個数情報43について説明する。各属性総個数情報43は、欠陥リストヘッダ22に含まれるエントリ属性30ごとの総個数情報を用いて生成される。
欠陥リストヘッダ22中には、“RDE”状態で無いSPR属性の欠陥エントリ23(サーティファイ対象でない)も含めた総個数情報が格納されている。このため、 “RDE”状態のSPR属性の欠陥エントリ23の先頭位置と終端位置とを探索し、この間に含まれる欠陥エントリ23の個数をサーティファイ対象のSPR属性総個数情報として設定する。
各属性先頭位置ポインタ44は、最新欠陥リスト情報40に含まれる最初の欠陥エントリ23の位置を0と設定して、各属性総個数情報43を用いて先頭位置からのオフセット値として各属性の先頭位置を算出することで設定される。なお、SPR属性の欠陥エントリ23の先頭位置は、“RDE”状態の欠陥エントリ23の先頭位置である。
最新欠陥リスト情報40は、光ディスク媒体1から欠陥ブロックが新たに検出されたとき、あるいは、欠陥と判定されていたブロックに正常にデータが記録できたときなどに更新される。
なお、記録制御部120、再生制御部130およびサーティファイ制御部160をまとめて制御部と呼ぶこともある。上述した記録再生装置100の各構成要素はハードウェアによって実現されてもよいし、ソフトウェアによって実現されてもよい。
(2)クイックサーティファイ処理手順
次に、クイックサーティファイ処理手順を説明する。本実施形態では、クイックサーティファイ処理をトラックパスに沿って1回で実施するために、エントリ属性30によらずに、対象ブロックの物理アドレス順に欠陥エントリ23を並べ替えたサーティファイ対象リスト情報41を生成し、このリスト情報41が示す順番にサーティファイを行う。また、クイックサーティファイ処理を行ったときには、交替先ブロックのステータスビットおよび/またはPLA情報を更新する。
図12は、本実施形態によるクイックサーティファイフォーマット処理を示すフローチャートである。
ステップ1001:まず、記録制御部120は欠陥管理領域(DMA)の情報を更新する。具体的には、サーティファイ制御部160からの命令を受けて、記録制御部120は、サーティファイ処理実行中状態を示すフラグを含むように1stDMA〜4thDMAのディスク定義構造20(図3)を更新する。
ステップ1002:サーティファイ制御部160は、サーティファイ対象リスト情報41を生成する。具体的には、サーティファイ対象領域算出部161が、最新欠陥リスト情報40からサーティファイ対象となるブロックの位置情報を算出し、サーティファイ対象リスト情報41へ追加していく。
図13は、サーティファイ対象リスト情報41の生成処理手順を示すフローチャートである。図14は、サーティファイ対象リスト情報41を示す図である。
ステップ1101:サーティファイ対象の全てのエントリ属性30の欠陥エントリ23に対して、以下のステップ1102からステップ1104を繰り返す。具体的には、欠陥リスト21に登録されているRAD属性、NRD属性、SPR属性(サブ属性がRDE状態)、PBA属性、UNUSE属性の全ての欠陥エントリ23に対して、属性ごとに以下の処理を繰り返して実施する。
ステップ1102:サーティファイ制御部160は、対象のエントリ属性30の欠陥エントリ23の中に、サーティファイ対象リスト情報41へ追加していない欠陥エントリ23が存在するか否かを判断する。例えば、各属性総個数情報43を用いて、その個数分を全てサーティファイ対象リスト情報41へ追加したか否かを確認し、個数に満たない場合にはまだ追加していない情報が存在すると判断する。
ステップ1103:サーティファイ対象領域算出部161は、対象のエントリ属性30における最小の物理アドレス情報を取得する。図11に示すように、欠陥エントリ23はエントリ属性30ごとにソートされており、各属性先頭位置ポインタ44が各属性の処理対象先頭位置を示している。各属性先頭位置ポインタ44が指す欠陥エントリ23の欠陥ブロックの物理アドレスを取得する。また、サーティファイ対象領域算出部161は、物理アドレスの取得が完了すると、各属性先頭位置ポインタ44を、同じ属性の中の次の欠陥エントリの位置を指すように更新する。
ステップ1104:サーティファイ対象領域算出部161は、ステップ1103で取得した物理アドレス情報をサーティファイ対象リスト情報41に登録する。この際、サーティファイ対象リスト情報41が、物理アドレス情報を昇順にソートしたリストになるように追加する。追加したら、ステップ1102へ戻る。
ステップ1105:サーティファイ対象の全てのエントリ属性30に対して処理が未完了ならば、次のエントリ属性30を対象としてステップ1101へ戻る。サーティファイ対象の全てのエントリ属性30に対して完了していれば、処理を終了する。
図14を参照して、サブ属性がRDEでないSPR属性(サーティファイ対象でない)を除く全ての欠陥エントリ23に登録された欠陥ブロックの先頭物理アドレス(4Byteの情報)を抽出し、エントリ属性30の種別によらずに物理アドレス順に昇順に並べたサーティファイ対象リスト情報41を生成する。複数ブロックにまたがる可能性のあるPBA属性の欠陥エントリ23については、その示される領域に含まれるブロックの先頭物理アドレスを全て抽出して、サーティファイ対象リスト情報41に登録する。
なお、図14に示す例では、サーティファイ対象リスト情報41を、サーティファイ対象の4Byteの物理アドレス情報のみのリストとして説明しているが、これに限定されない。例えば、連続した領域を一括管理できるように、先頭物理アドレス情報と連続ブロック数とを組み合わせた形式で情報を管理してもよい。
サーティファイ対象リスト情報41の終端には、終端であることを示す識別情報(=物理アドレスとして絶対に取りえない値。例えば、16進数でFFFFFFFFhという4Byteの値)が付与される。
再び図12を参照して、クイックサーティファイフォーマット処理手順を説明する。
ステップ1003:サーティファイ制御部160は、保持している欠陥リスト21に関する情報、つまり最新欠陥リスト情報40を初期化する。具体的には、スペア領域15aおよび15b中の全ブロックを交替位置情報33とするSPR属性(サブ属性32がRDE状態でないもの)の欠陥エントリ23のみ存在し、その他のエントリ属性30の欠陥エントリ23が存在しない欠陥リスト21を最新欠陥リスト情報40とする。
ステップ1004:サーティファイ対象領域算出部161は、サーティファイ対象領域を算出する。具体的には、サーティファイ対象領域算出部161は、ステップ1002で生成したサーティファイ対象リスト情報41から、サーティファイを開始する物理アドレスおよび連続ブロック数を算出する。例えば、図14に示すサーティファイ対象リスト情報41では、物理アドレス100060h、100080h、1000A0が連続しているため、サーティファイ開始物理アドレスが100060h、連続ブロック数が3という形で算出する。
サーティファイ対象リスト情報41に登録されている物理アドレス情報が連続したブロックを指している場合には、それらのブロックの数も連続ブロック数の中に組み込む。
こうすることで、連続した複数のブロックへのサーティファイを一括して実施することが出来るようになり、1つのブロックごとにサーティファイを実施する場合と比べて処理パフォーマンスを向上させることができる。
なお、サーティファイ対象領域算出部161は、リスト情報41中の次のサーティファイ対象の物理アドレスを指すポインタを保持していてもよい。このポインタは、初期状態ではサーティファイ対象リスト情報41中の先頭の物理アドレスを指し、ポインタが指す物理アドレスを含むサーティファイ対象領域の算出が終了したら、後に続く未だ算出が行われていない物理アドレスを指すように更新される。このようなポインタを用いることにより、次にステップ1004の処理が要求された場合に容易にサーティファイ対象領域を算出することが出来る。
ステップ1005:サーティファイ制御部160は、サーティファイ対象領域が存在するか否かを判断する。具体的には、サーティファイ制御部160は、ステップ1004で算出したサーティファイ開始物理アドレスがディスク上の物理アドレスであれば(つまり、終端を示す情報であるFFFFFFFFhで無ければ)、または連続ブロック数が0で無ければ、サーティファイ対象領域が存在すると判断する。
ステップ1006:サーティファイ対象領域が存在すると判断した場合は、サーティファイ制御部160はサーティファイを実施する。具体的には、サーティファイ制御部160は、ステップ1004で算出された領域に対してサーティファイを行うよう、サーティファイ実行部170へ要求し、サーティファイ実行部170はその領域に対してサーティファイを実施する。
ステップ1007:サーティファイ実行部170によるサーティファイ結果から、サーティファイ制御部160は、サーティファイに失敗した領域が存在するか否かを判断する。
ステップ1008:サーティファイに失敗した領域が存在すると判定した場合、サーティファイ制御部160は、そのサーティファイでエラーとなった領域を示す情報を保持する。具体的には、サーティファイ制御部160は、エラーとなったブロックの先頭物理アドレスを、サーティファイ結果リスト情報42に加える。
エラーとなったブロックのアドレスをサーティファイ結果リスト情報42に加えた場合、またはステップ1007においてエラーとなったブロックが存在しないと判定された場合は、ステップ1004の処理に戻る。そして、ステップ1005においてサーティファイ対象領域が存在しないと判定されるまで、ステップ1004からステップ1008の処理を繰り返す。
ステップ1009:欠陥エントリ操作部162は、サーティファイでエラーとなった全ての領域を欠陥リスト21に登録する。具体的には、欠陥エントリ操作部162は、サーティファイ結果リスト情報42に登録された全ての物理アドレスのブロックを欠陥ブロックとした欠陥エントリ23を、最新欠陥リスト情報40に登録する。エラーとなったブロックがユーザデータ領域14内のブロックである場合には、その物理アドレスを欠陥位置情報31としたRAD0属性の欠陥エントリ23を生成する。エラーとなったブロックがスペア領域15内のブロックである場合には、その物理アドレスを交替位置情報33としたUNUSE属性の欠陥エントリ23を生成する。また、欠陥リストヘッダ22中に含まれる各エントリ属性の総個数情報および各属性総個数情報43もあわせて更新する。
ステップ1009が完了した時点で、サーティファイ結果を反映した最新欠陥リスト情報40が生成される。
欠陥エントリ操作部162は、SPR属性の欠陥エントリ23の交替位置情報33に登録されているブロックの中から最適なブロックを選択して、RAD0属性の欠陥エントリ23の交替先ブロックとして割り当てる。これに伴い、交替先ブロックとして選択されたブロックを元々登録していたSPR属性の欠陥エントリ23は削除する。なお、SPR属性の欠陥エントリ23を、RAD0属性の欠陥エントリ23に置き換える方法でもよい。
ここで、上述の最適なブロックとは、例えば、交替元ブロックから最も近い距離に位置するブロック(半径距離的に最も近いブロック)であるが、物理アドレス距離的に最も近いブロックであってもよく、そのときのディスクの使用状況に応じて選択される。
同様に、UNUSE属性の欠陥エントリ23の登録に併せて、UNUSE属性の欠陥エントリ23に含まれるブロックを元々登録していたSPR属性の欠陥エントリ23は削除する。なお、SPR属性の欠陥エントリ23を、UNUSE属性の欠陥エントリ23に置き換える方法でもよい。
ステップ1010:サーティファイ制御部160は、交替先ブロックとして割り当てたブロックのステータスビット(図6)を示すフラグ情報をクリアする。ここでクリアするとは、例えば、全ての有効データが当該ブロックに存在していることを示すようにフラグ情報を書き換える処理である。具体的には、クリア対象領域算出部163は、RAD0属性の欠陥エントリ23が示す交替先ブロックの物理アドレス情報を算出し、その交替先ブロックのステータスビットを“10”以外の値にする(図6(a))。例えば、サーティファイ制御部160は、RAD0属性の欠陥エントリ23が示す交替先ブロックにパディングデータ(データとして意味を持たない任意のデータ)を記録するように記録制御部120に要求し、記録制御部120は、ステータスビットの値を、パディング属性を示す“11”にする。
ステップ1011:記録制御部120は欠陥管理領域(DMA)を更新する。具体的には、サーティファイ制御部160は、ステップ1009で生成した最新欠陥リスト情報40を欠陥リスト21としてDMAに記録するよう記録制御部120に要求し、記録制御部120は1stDMAから4thDMAに記録を行う。また、このとき、ディスク定義構造20の中に含まれるサーティファイ処理実行中状態を示すフラグもクリアする。
以上で、クイックサーティファイ処理が完了する。
上述したように、クイックサーティファイフォーマットを行うときに、RAD0属性の欠陥エントリ23の交替先ブロックのステータスビットを“10”以外の値に書き換える、つまりDiscard状態でない状態に変更しておく。PLA辿り処理(図9)のステップ803の処理において、読み出したデータがDiscard状態でないと判定された場合は、PLAが示す交替元ブロックへアクセスすることは無い。交替先ブロックのステータスビットを“10”以外の値に書き換える、すなわちPLAが無効であることを示すようにステータスビットを書き換えることで、その交替先ブロックをReadするときに無駄なPLA辿り処理を行うことが無くなり、処理パフォーマンスを向上させることが出来る。
また、PLAをダミー情報に書き換えることで、無駄なPLA辿り処理を防止してもよい。例えば、PLAを交替元ブロックの物理アドレスでない無効な値に書き換え、ステップ803の処理からステップ806の処理へ進むことにより、無駄なPLA辿り処理を防止することができる。
また、サーティファイ対象の欠陥ブロックをトラックパスに沿った物理アドレス順にソートしたサーティファイ対象リスト情報41を生成し、そのリストが示す順番にサーティファイを行うことで、トラックパスに沿って1回で全ての対象ブロックをサーティファイでき、処理パフォーマンスを向上させることができる。
なお、サーティファイ対象リスト情報41を、サーティファイ対象ブロックの4Byteの物理アドレス情報のみのリストとして説明したが、これに限定されない。例えば、連続した領域を一括管理できるように、先頭物理アドレス情報と連続ブロック数とを組み合わせた形式で情報を管理してもよい。また、サーティファイ結果リスト情報42を、サーティファイでエラーとなったブロックの4Byteの物理アドレス情報のみのリストとして説明したが、これに限定されず、連続した領域を一括管理できるように、先頭物理アドレス情報と連続ブロック数とを組み合わせた形式で情報を管理してもよい。
なお、ステップ1010(図12)で記録するデータはパディングデータで無くとも良く、例えばステータスビットを“00”にしたAll 00hのデータ等、ステータスビットを“10”以外のデータに書き換えることが出来ればよい。
また、ステップ1010の処理では、対象ブロックのデータ全てを書き換える必要はなく、少なくとも対象ブロックのステータスビットを“10”以外の値に出来ればよい。例えばステータスビットのみを“11”に書き換える処理でもよい。
また、ステップ1010の処理では、ステータスビットを更新する対象を、RAD0属性の欠陥エントリ23の交替先ブロックのみとしているが、これに限定されず、例えば、交替先として使用される可能性のあるスペア領域中の全ブロックに対して処理を行ってもよい。あるいは、Discard状態の交替先ブロックのステータスビットのみを更新するという方法でもよい。
また、ステップ1008およびステップ1009の処理では、サーティファイでエラーとなったブロックをサーティファイ結果リスト情報42に登録し、全てのサーティファイ対象領域に対してのサーティファイが完了した後、エラーとなった全てのブロックを最新欠陥リスト情報40へ登録していたが、この処理手順に限定されない。例えば、サーティファイ結果リスト情報42を用いず、ステップ1008の処理の直後にステップ1009の処理を実施する、つまりサーティファイでエラーとなったブロックを検出するたびに、対応する欠陥エントリ23を最新欠陥リスト情報40へ登録してもよい。
また、BD−REのフォーマット処理の1つとして、“Quick Reformat”と呼ばれるフォーマット処理がある。この処理では、登録されている全ての欠陥エントリ23を、RDE状態のPBA属性またはRDE状態のSPR属性の欠陥エントリ23として登録し直す。この処理は、上述のクイックサーティファイの処理手順の一部を改変することで実現できる。例えば、ステップ1006(図12)の処理を行わずに、ステップ1007において常にエラーと判断して、欠陥ブロックをサーティファイ結果リスト情報42へ登録する。ステップ1009の処理において、ユーザデータ領域中の欠陥ブロックを、RDE状態のPBA属性の欠陥エントリ23で登録する。また、スペア領域中の欠陥ブロックを、RDE状態のSPR属性の欠陥エントリ23で登録する。これにより“Quick Reformat”を実現することが出来る。このように、クイックサーティファイの処理手順の一部を利用して“Quick Reformat”を行うことにより、処理回路の複雑化を抑制することができる。
(実施形態2)
(1)記録再生装置
次に、本発明の第2の実施形態による記録再生装置を説明する。図15は、本実施形態の記録再生装置100を示す図である。本実施形態の記録再生装置100は、実施形態1の記録再生装置100と同じ構成要素を備えているが、サーティファイ情報格納メモリ164には、サーティファイ対象リスト情報41と、サーティファイ結果リスト情報42とが格納されていない。また、サーティファイ制御部160が実行する処理プログラムが異なる。処理の詳細は後述する。
各属性総個数情報43および各属性先頭位置ポインタ44の初期設定については、上述した実施形態1での処理と同様に、サーティファイ制御部160が最新欠陥リスト情報40を用いて行う。
(2)クイックサーティファイ処理手順
本実施形態では、欠陥リスト21の情報をそのまま用いて、クイックサーティファイ処理をトラックパスに沿って1回で実施すると共に、交替先ブロックのステータスビットおよび/またはPLA情報を更新する。
図16は、本実施形態のクイックサーティファイフォーマット処理を示すフローチャートである。図17は、欠陥リスト21(最新欠陥リスト情報40)の一例を示している。
ステップ1401:まず、記録制御部120は欠陥管理領域(DMA)を更新する。具体的には、サーティファイ制御部160からの命令を受けて、記録制御部120は、サーティファイ処理実行中状態を示すフラグを含むように1stDMA〜4thDMAのディスク定義構造(図3)を更新する。
ステップ1402:サーティファイ対象領域算出部161は、サーティファイ対象領域を算出する。具体的には、サーティファイ対象領域算出部161は、各属性先頭位置ポインタ44(図17)が指しているブロックのうちで、物理アドレスが最小のブロックの物理アドレスをサーティファイ開始物理アドレス情報として算出する。また、その物理アドレスが最小のブロックの次のブロック(同じエントリ属性のブロック)を指すようにポインタ44を更新する。
更新後のポインタ44が指しているブロックの中に、先に選択した物理アドレスが最小のブロックと物理アドレスが連続しているブロックが存在する場合は、ステップ1004(図12)の処理と同様に、連続しているブロックの数を連続ブロック数として算出する。こうすることで、連続した複数のブロックへのサーティファイを一括して実施することが出来るようになり、1つのブロックごとにサーティファイを実施する場合と比べて、処理パフォーマンスを向上させることができる。
例えば、図17に示すリストでは、サーティファイ対象ブロックの物理アドレスのうち最小の物理アドレスは、RDE状態のSPR属性の100060hである。この物理アドレス100060hには、UNUSE属性の100080h、1000A0hが連続しているため、サーティファイ開始物理アドレスが100060h、連続ブロック数が3という形で算出する。
サーティファイ対象領域が存在しない場合には、サーティファイ開始物理アドレス情報をFFFFFFFFhと算出するか、または連続ブロック数を0と算出する。
ステップ1403:サーティファイ制御部160は、サーティファイ対象領域が存在するか否かを判断する。具体的には、サーティファイ制御部160は、ステップ1402で算出したサーティファイ開始物理アドレス情報がディスク上の物理アドレス情報であれば(つまり、終端を示す情報であるFFFFFFFFhで無ければ)、または連続ブロック数が0で無ければ、サーティファイ対象領域が存在すると判断する。
ステップ1404:サーティファイ対象領域が存在すると判断した場合は、サーティファイ制御部160はサーティファイを実施する。具体的には、サーティファイ制御部160は、ステップ1402で算出された領域に対してサーティファイを行うよう、サーティファイ実行部170へ要求し、サーティファイ実行部170はその領域に対してサーティファイを実施する。
ステップ1405:サーティファイ実行部170によるサーティファイ結果から、サーティファイ制御部160は、サーティファイに成功した領域が存在するか否かを判定する。
ステップ1406:サーティファイに成功した領域が存在すると判定された場合は、欠陥エントリ操作部162は、サーティファイに成功した領域(ブロック)に対応する欠陥エントリ23を最新欠陥リスト情報40から削除または更新する。
例えば、RAD0属性の欠陥エントリ23のブロックへのサーティファイが成功した場合、欠陥エントリ操作部162は、当該欠陥エントリ23の交替先ブロックを、SPR属性(RDE状態でない)の欠陥エントリ23として登録し直すとともに、当該RAD0属性の欠陥エントリ23は削除する。あるいは、RAD0属性の欠陥エントリ23をSPR属性(RDE状態でない)の欠陥エントリ23に変更する。
UNUSE属性およびSPR属性(RDE状態)の欠陥エントリ23のブロックへのサーティファイが成功した場合も同様に、交替先ブロックをSPR属性(RDE状態でない)の欠陥エントリ23として登録し直すとともに、UNUSE属性またはSPR属性(RDE状態)の欠陥エントリ23は削除する。あるいは、UNUSE属性またはSPR属性(RDE状態)の欠陥エントリ23をSPR属性(RDE状態でない)の欠陥エントリ23に変更する。
NRD属性の欠陥エントリ23のブロックへのサーティファイが成功した場合は、その欠陥エントリ23を削除する。
PBA属性の欠陥エントリ23に登録されている領域全てのサーティファイに成功した場合には、その欠陥エントリ23を削除する。PBA属性の欠陥エントリ23に登録されている領域の一部のサーティファイに成功した場合には、成功したブロックを削除した連続ブロック数を示すPBA属性の欠陥エントリ23として登録し直す。
ステップ1407:サーティファイ制御部160は、ポインタ情報を更新する。具体的には、サーティファイ制御部160は、ステップ1406の処理において欠陥エントリ23の削除および/または更新が発生したことに伴い、各属性先頭位置ポインタ44を更新するとともに、欠陥リストヘッダ22中の各エントリ属性30の総個数情報や、各属性総個数情報43も更新する。
各属性先頭位置ポインタ44の更新が完了した場合、またはステップ1405の処理においてサーティファイに成功したブロックが存在しないと判定された場合は、ステップ1402の処理に戻る。そして、ステップ1403の処理においてサーティファイ対象領域が存在しないと判定されるまで、ステップ1402からステップ1407の処理を繰り返す。
ステップ1408:サーティファイ制御部160は、交替先ブロックのステータスビット(図6)をクリアする。具体的には、クリア対象領域算出部163は、サーティファイに失敗したブロックの欠陥エントリ23の中から、RAD属性の欠陥エントリ23が示す交替先ブロックの物理アドレス情報を算出し、その交替先ブロックのステータスビットを“10”以外の値にする(図6(a))。例えば、サーティファイ制御部160は、RAD0属性の欠陥エントリ23が示す交替先ブロックにパディングデータを記録するように記録制御部120に要求し、記録制御部120は、ステータスビットの値を、パディング属性を示す“11”にする。
ステップ1409:記録制御部120は欠陥管理領域(DMA)を更新する。具体的には、サーティファイ制御部160は、ステップ1402〜ステップ1407で生成した最新欠陥リスト情報40を欠陥リスト21としてDMAへ記録するように記録制御部120に要求し、記録制御部120は1stDMAから4thDMAに記録を行う。また、このとき、ディスク定義構造20の中に含まれるサーティファイ処理実行中状態を示すフラグもクリアする。
以上で、クイックサーティファイ処理が完了する。
上述したように、クイックサーティファイフォーマットを行うときに、RAD0属性の欠陥エントリ23の交替先ブロックのステータスビットを“10”以外の値に書き換える、つまりDiscard状態でない状態に変更しておく。これにより、その交替先ブロックをReadするときに無駄なPLA辿り処理を行うことが無くなり、処理パフォーマンスを向上させることが出来る。
また、サーティファイ対象の全ての欠陥ブロックに対して、一元的にトラックパスに沿った物理アドレスの順番にサーティファイを行うことで、トラックパスに沿って1回で全ての対象ブロックをサーティファイでき、処理パフォーマンスを向上させることができる。
なお、ステップ1408(図15)で記録するデータはパディングデータで無くともよく、例えばステータスビットを“00”にしたAll 00hのデータ等、ステータスビットを“10”以外のデータに書き換えることが出来ればよい。
また、ステップ1408の処理では、対象ブロックのデータ全てを書き換える必要はなく、少なくとも対象ブロックのステータスビットを“10”以外の値に出来ればよい。例えばステータスビットのみを“11”に書き換える処理でもよい。
また、ステップ1408の処理では、ステータスビットを更新する対象を、RAD0属性の欠陥エントリ23の交替先ブロックのみとしているが、これに限定されず、例えば、交替先として使用される可能性のあるスペア領域中の全ブロックに対して処理を行ってもよい。
また、上述の実施形態1および2の処理以外の処理として、欠陥リスト21中の物理アドレスが最も小さいブロックを毎回求めることで、トラックパスに沿って1回で全ての対象ブロックをサーティファイする処理を行ってもよい。
また、上述の実施形態1および2の処理では、物理アドレスが小さいブロックから順に、つまり昇順にトラックパスに沿ってサーティファイを行ったが、これに限定されない。例えば、物理アドレスが大きいブロックから順、つまり降順に、トラックパスと逆の方向に順にサーティファイを行っても、同様の効果を得ることが出来る。
なお、上述の実施形態1および2の処理では、書換え型BDであるBD−REを例にとって説明したが、上述の処理が適用されるメディアはBD−REに限定されず、BD−REのフラグビット(ステータスビット)と同様な情報を有するメディアにも適用することが出来る。
また、上述の実施形態1および2の処理では、クイックサーティファイフォーマットを例にとって説明したが、本発明はクイックサーティファイフォーマットに限定されず、本発明は、交替先ブロックを示す欠陥エントリ(RAD属性相当)がフォーマット後に存在するような処理に対して適用することが出来る。