(57)【要約】【課題】  書き換え可能なディスクを読出し専用ディスクのドライブにより再生するための処理を効率的に行う。【解決手段】  書き換え可能なディスクのリードインエリアにＷＢＢＭを記録する。ＷＢＢＭは、記録再生の単位であるブロック毎に記録済／未記録を示すビットマップである。読出し専用ディスクのドライブがシークを可能とし、サーボを安定とするために、記録済のブロックの周辺にダミーデータを記録するファイナリゼーションがなされる。このときに、ＷＢＢＭを参照することによって、処理の効率を向上できる。複数のＷＢＢＭをリング構造とし、ＷＢＢＭを順に更新することによって、同一エリアへの書込みの集中を防止でき、また、停電等によるＷＢＢＭの破壊に対する補償が可能となる。更新カウンタの値で、最新のＷＢＢＭを示すことができる。【選択図】図１１
2006338873.tif 000002
【特許請求の範囲】
【請求項１】
ユーザデータが記録されるエリアと、管理データが記録される管理エリアとを有する記録可能な記録媒体の記録装置において、
記録再生のデータ単位毎に記録済か未記録かを示す記録管理データと、該記録管理データが更新された回数を示すカウンタ値を生成し、
上記記録管理データと上記カウンタ値を記録媒体の上記管理エリアに記録する
ことを特徴とする記録装置。
【請求項２】
請求項１の記録装置において、
上記記録管理データを参照して、未記録エリアに上記サーボ情報および位置情報の少なくとも一方を含む所定量のデータを記録する処理を行うことを特徴とする記録装置。
【請求項３】
請求項１の記録装置において、
上記管理エリアは、少なくともリードインエリアを含むことを特徴とする記録装置。
【請求項４】
請求項１の記録装置において、
初期化の際に、上記カウンタ値を０に設定することを特徴とする記録装置。
【請求項５】
請求項１の記録装置において、
上記管理エリアに記録された管理データを更新する場合には、更新前の記録管理データと共に記録されているカウンタ値をインクリメントしたカウンタ値と共に、更新後の記録管理データを順次記録することを特徴とする記録装置。
【請求項６】
請求項１の記録装置において、
上記記録管理データを複数個用意し、
複数個の上記記録管理データを同時に記録する多重書きを行うことを特徴とする記録装置。
【請求項７】
請求項１の記録装置において、
上記記録管理データを保持するメモリを有し、
ライト動作毎に上記メモリ上の上記記録管理データを書き換え、
ライト動作およびリード動作がなされていない所定のタイミングにおいて、上記記録管理データを上記管理エリアに記録する、更新処理を行うことを特徴とする記録装置。
【請求項８】
請求項７の記録装置において、
上記所定のタイミングが上記記録媒体のイジェクト時であることを特徴とする記録装置。
【請求項９】
請求項７の記録装置において、
上記所定のタイミングがフラッシュキャッシュ時であることを特徴とする記録装置。
【請求項１０】
請求項７の記録装置において、
上記所定のタイミングが外部から暫くの期間コマンドが到来しないバックグラウンド時であることを特徴とする記録装置。
【請求項１１】
請求項１の記録装置において、
上記記録管理データを参照して、記録済のデータの周辺の未記録エリアをリストアップし、
リストアップされた未記録エリアをリードして、未記録を検査した後に、上記サーボ情報および位置情報の少なくとも一方を含む所定量のデータを未記録が確認されたエリアに対して記録することを特徴とする記録装置。
【請求項１２】
請求項１の記録装置において、
上記記録管理データを参照することによって、記録済であることを示すエリアに続く部分的エリアに対して、未記録か否かをライト動作に先行して検査することを特徴とする記録装置。
【請求項１３】
請求項１２の記録装置において、
検査によって未記録であることが確認されたエリアに対して、リードモディファイライトのリード動作を省略し、ライト動作を行うことを特徴とする記録装置。
【請求項１４】
ユーザデータが記録されるエリアと、管理データが記録される管理エリアとを有する記録可能な記録媒体の記録方法において、
記録再生のデータ単位毎に記録済か未記録かを示す記録管理データと、該記録管理データが更新された回数を示すカウンタ値を生成するステップと、
上記記録管理データと上記カウンタ値を記録媒体の上記管理エリアに記録するステップと
からなることを特徴とする記録方法。
【請求項１５】
ユーザデータが記録されるエリアと、管理データが記録される管理エリアとを有する記録可能な記録媒体であって、
上記管理エリアに対して、記録再生のデータ単位毎に記録済か未記録かを示す記録管理データと、該記録管理データが更新された回数を示すカウンタ値とが記録されることを特徴とする記録媒体。
【請求項１６】
ユーザデータが記録されるエリアと、管理データが記録される管理エリアとを有する記録可能な記録媒体に対する記録データを生成する装置であって、
上記記録媒体に対するデータの記録状況と、上記管理データに記録された記録再生のデータ単位毎に記録済か未記録かを示す記録管理データと、該記録管理データが更新された回数を示すカウンタ値とに基づいて、更新したカウンタ値と更新した記録管理データとを生成することを特徴とする記録データ生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、光ディスク等に適用することが可能な記録装置、記録方法、記録媒体および記録データ生成装置に関する。
【背景技術】
【０００２】
ディスク状記録媒体例えばＤＶＤには、その特性によって、書き換え可能（リライタブル）な媒体（ＤＶＤ＋ＲＷ）と読出し専用の媒体（ＤＶＤ−ＲＯＭ）との２種類の媒体が存在する。両者とも類似した物理フォーマットのものであり、ＤＶＤ＋ＲＷをＤＶＤ−ＲＯＭドライブにより再生できることが好ましい。ＤＶＤ＋ＲＷのドライブとＤＶＤ−ＲＯＭドライブとの間では、スピンドルサーボのための信号、並びに媒体上の位置信号（アドレス）の取得の仕方が異なっている。ＤＶＤ＋ＲＷは、予めディスク上にエンボスとして刻まれたウォブリンググルーブを有しており、ウォブリンググルーブの再生信号からスピンドルサーボ用の信号および位置信号を得ている。一方、ＤＶＤ−ＲＯＭは、かかるウォブリンググルーブを持たず、ディスクの再生データから分離したフレーム同期信号およびアドレス信号から位置信号を得ている。
【０００３】
ＤＶＤ＋ＲＷをＤＶＤ−ＲＯＭのドライブで再生するために、ＤＶＤ＋ＲＷのデータ中にもフレーム同期信号および位置信号が挿入されている。しかしながら、記録データの前または後に未記録部分があるＤＶＤ＋ＲＷは、ＤＶＤ−ＲＯＭドライブにより再生することが困難である。具体的には、フレーム同期信号が再生できないために、スピンドルサーボを安定にかけることができず、また、所望のセクタをリードするためのシーク動作が不可能である。
【０００４】
シーク動作は、多数のトラックをジャンプするコースサーボと、目標位置付近で所望のセクタを捕捉するファインサーボが組み合わされてなされる。ディスクの偏心のために、目標のトラックにジャンプする時でも、数十〜数百トラックのずれが生じるのが普通であり、若し、ジャンプした先のディスク上の位置が未記録エリアであると、目標トラックに到達することができなくなる。従って、シーク動作の場合では、目標のセクタの周辺にフレーム同期信号および位置信号を含むデータが記録されている必要がある。
【０００５】
このように、ＤＶＤ＋ＲＷをＤＶＤ−ＲＯＭドライブにより再生することを可能とするために、ＤＶＤ＋ＲＷの記録済のデータの前または後にダミーデータが記録されている状態にする必要がある。そのための処理は、ファイナリゼーションと称される。ファイナリゼーションを行う方法としては、次の二つの方法が考えられる。
【０００６】
一つの方法は、ファイルシステムの分析による方法である。一般的に、ファイルシステムは、ユーザーエリアのアロケーションのためスペースビットマップを持っており、ＤＶＤで使われるＵＤＦでは、スペースビットマップと各ファイルの各エントリーが記録済／未記録かの情報を持っている。従って、ファイルシステムを分析すれば、どこにユーザーデータが書かれていて、どこにダミーデータを書込むべきかを知ることができる。この方法は、ホストのコンピュータのアプリケーションソフトウェアにより行われる。
【０００７】
他の方法は、ブランク検出による方法である。この方法では、実際にＤＶＤ＋ＲＷの全てのブロックをリードしてみて、読めれば記録済みとする。若し読めない場合、ドライブのハードウェアにおいて、ＲＦ信号がない（すなわち、記録されていない）か、記録されているが再生できないかを判断する。ＲＦ信号が得られない場合、明らかに未記録であるので、ダミーデータを記録する。ＲＦ信号が得られているにもかかわらず、リードできない場合、ＥＣＣエラーの量等を考慮して、そのままにするか、またはダミーデータをオーバーライトするかを決定する。この処理はドライブ内部で行う。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ファイルシステムの分析による方法は、ディレクトリー／ファイルの数が少ないときは、効率的であるが、ディレクトリー／ファイルの数が数千にもなってくると処理に時間がかかるようになり、効率的でない。また、ＵＤＦ以外のファイルシステムでは、アロケーション情報のみなのでこの方法を使えないので、ファイルシステムによって、この方法の使用可能性が制限される。ブランク検出による方法は、ファイルシステムを選ばない。しかしながら、ディスク上の全てのブロックをリードするために、処理時間が長い欠点がある。
【０００９】
さらに、上述した二つの方法以外に、フォーマット時にサーティフィケーションを義務付けることも考えられる。サーティフィケーションでは、ディスクの全面にサーティフィケーションパターンを記録し、このデータを再生することにより、ディスク上の欠陥の有無が検査される。従って、全面にサーティフィケーションパターンを記録すれば、未記録領域が存在しないので、ファイナリゼーションそのものが不要になる。しかし、ＤＶＤ＋ＲＷは、記録容量が大きいため、サーティフィケーションも１時間程度要し、効率的でなく、ユーザに対してこのサーティフィケーションを義務づけることは、問題がある。
【００１０】
従って、この発明の目的は、ファイルシステムに依存せず、また、迅速にファイナリゼーションを行うことが可能な記録装置、記録方法、記録媒体および記録データ生成装置を提供することにある。
【課題を解決するための手段】
【００１１】
この発明は、ユーザデータが記録されるエリアと、管理データが記録される管理エリアとを有する記録可能な記録媒体の記録装置において、
記録再生のデータ単位毎に記録済か未記録かを示す記録管理データと、該記録管理データが更新された回数を示すカウンタ値を生成し、
記録管理データとカウンタ値を記録媒体の管理エリアに記録する
ことを特徴とする記録装置である。
【００１２】
この発明は、ユーザデータが記録されるエリアと、管理データが記録される管理エリアとを有する記録可能な記録媒体の記録方法において、
記録再生のデータ単位毎に記録済か未記録かを示す記録管理データと、該記録管理データが更新された回数を示すカウンタ値を生成するステップと、
記録管理データとカウンタ値を記録媒体の管理エリアに記録するステップと
からなることを特徴とする記録方法である。
【００１３】
この発明は、ユーザデータが記録されるエリアと、管理データが記録される管理エリアとを有する記録可能な記録媒体であって、
管理エリアに対して、記録再生のデータ単位毎に記録済か未記録かを示す記録管理データと、該記録管理データが更新された回数を示すカウンタ値とが記録されることを特徴とする記録媒体である。
さらに、この発明は、ユーザデータが記録されるエリアと、管理データが記録される管理エリアとを有する記録可能な記録媒体に対する記録データを生成する装置であって、
記録媒体に対するデータの記録状況と、管理データに記録された記録再生のデータ単位毎に記録済か未記録かを示す記録管理データと、該記録管理データが更新された回数を示すカウンタ値とに基づいて、更新したカウンタ値と更新した記録管理データとを生成することを特徴とする記録データ生成装置である。
【００１４】
記録再生のデータ単位であるブロック毎にそのブロックが記録済か未記録かを示すビットを含む記録管理データがディスク上の管理用領域に記録される。従って、ファイナリゼーションを行う時には、この記録管理データを参照することで、ファイナリゼーションデータ（ダミーデータ）を記録することができる。ファイルシステムに依存せず、また、迅速にファイナリゼーションを行うことができ、さらに、ユーザに対してサーティフィケーションを義務づける必要がない。
【発明の効果】
【００１５】
この発明は、記録済／未記録を示す記録管理データを持つので、ファイルシステムを分析する方法と比較して、ドライブ自体でファイナリゼーションを実行でき、また、ファイルシステムに依存しないファイナリゼーションを実行でき、さらに、ディレクトリー、ファイル数が多くても、効率的にファイナリゼーションを行うことができる。
【００１６】
また、この発明は、実際に全てのブロックをリードして記録済／未記録を調べる方法と比較して迅速にファイナリゼーションを行うことができる。さらに、サーティフィケーションを義務付ける必要がない。ファイナリゼーションにかかる時間は、サーティフィケーションより、かなり短いためユーザにとって効率的仕様である。
【００１７】
この発明におけるＷＢＢＭをリング構造とすることにより、同一ブロックへのＷＢＢＭの書込み回数を低減でき、媒体の劣化を低減できる。よりさらに、記録済エリアに続くエリアを、バックグラウンド等で予めリードして、未記録であることを先にチェックしておき、そのエリアへのライトコマンドに対して、リードモディファイライトを避けて、パフォーマンスを向上させることができる。特に、フラッシュキャッシュ時や、ライトキャッシュディセーブルやＦＵＡフラグ（そのライトコマンドでは、キャッシュをせずに、直ちにライトを要求するフラグ）がたったコマンドが使われるときは、非常に有効である。
【発明を実施するための最良の形態】
【００１８】
以下、この発明の一実施形態について図面を参照して説明する。この一実施形態は、書き換え可能な光ディスクとして、相変化型ディスクを用いる。より具体的には、直径が１２０mm、ディスク厚みが０．６mmの２枚張り合わせディスクが使用される。また、ディスク上には、予めウォブリンググルーブがエンボス（凹凸形状）として形成されている。ウォブリンググルーブは、後述するように、アドレス（位置信号）をＦＭ変調した信号によりウォブリングされ、ウォブリンググルーブの再生信号からスピンドルサーボ用の信号、並びにディスク上の絶対アドレスを抽出できる。
【００１９】
また、ディスクは、ＣＡＶ（角速度一定）で回転され、これに応じてグルーブに含まれるアドレスがＣＡＶデータとなる。データは、グルーブ内に記録するグルーブ方式が採用される。また、データは、ディスク上で線密度一定（ＣＬＤ；Constant Linear Density）で記録される。線密度は、０．３５μｍ／ビットとされる。但し、線密度範囲としては、ある幅が設定され、多数のゾーンにディスク上のリライタブルエリアが分割され、各ゾーン内で線密度が規定される。このようなディスクは、ＤＶＤ＋ＲＷと称される。しかしながら、この発明は、かかるＤＶＤ＋ＲＷに限定されず、グルーブおよびランドに記録する方式のディスク、光磁気記録（ＭＯ）ディスク等の光ディスクに対しても適用できる。      
【００２０】
図１を参照して、ＤＶＤ＋ＲＷ等の書き換え可能な光ディスクのドライブの概略について説明する。図１において、１が例えば相変化型の光ディスクを示す。光ディスク１は、スピンドルモータ２によって、ＣＡＶで回転駆動される。光ディスク１にデータを記録し、また、データを光ディスク１から再生するために、光ピックアップ３が設けられている。
【００２１】
外部のホストプロセッサ１０からのデータがインターフェース４を介してドライブに供給される。インターフェース４には、コントローラ５が接続され、コントローラ５には、バッファメモリ６が接続されている。バッファメモリ６は、ライトデータまたはリードデータを保持する。ライトデータがコントローラ５からエンコーダ７に供給される。エンコーダ７では、ライトデータがセクタ構造に変換され、また、１６個のセクタからなるＥＣＣブロック毎にエラー訂正符号の符号化がなされ、さらに、フレーム同期信号およびリンキングセクションが付加されることで、フレーム構造のデータに変換される。
【００２２】
フレーム構造のデータが記録系８に供給される。記録系８では、ディジタル変調等の処理がされる。記録系８からの記録データがレーザドライブ９に供給される。レーザドライブ９では、光ディスク１に対して記録データを記録するための所定のレベル関係を有するドライブ波形が生成される。レーザドライブ９の出力が光ピックアップ３に対して供給され、データが記録される。
【００２３】
光ディスク１上のデータを光ピックアップ３が再生し、フォトディテクタにより検出された信号が増幅回路１１に供給される。増幅回路１１の出力信号が再生系１２およびサーボシステム１４に供給される。増幅回路１１では、フォトディテクタの検出信号を演算して、ＲＦ信号、トラッキングエラー信号、フォーカスエラー信号が生成される。ＲＦ信号が再生系１２に供給され、トラッキングエラー信号、フォーカスエラー信号がサーボシステム１４に供給される。
【００２４】
再生系１２では、ディジタル復調の処理等の処理を行う。また、ウォブリンググルーブの再生信号を処理してアドレスを復調する。分離されたフレーム同期信号およびアドレスがサーボシステム１４に供給される。サーボシステム１４は、光ピックアップ３に対するトラッキングサーボおよびフォーカスサーボを行い、また、スピンドルサーボを行い、さらに、光ピックアップ３のディスク径方向の移動を制御するスレッドサーボを行う。
【００２５】
再生系１２からの再生データがデコーダ１３に供給される。デコーダ１３では、エラー訂正符号の復号（すなわち、エラー訂正）、セクタ構造へ再生データを分解する処理等がなされる。デコーダ１３の再生データがコントローラ５に供給され、バッファメモリ６に格納される。ホストプロセッサ１０からのリードコマンドが受け付けられると、リードデータがインターフェース４を介してホストプロセッサ１０に対して転送される。
【００２６】
ドライブ全体の動作を制御するために、ＣＰＵ２１が設けられてる。ＣＰＵ２１に対してバス２２を介してＲＡＭ２３およびプログラム格納用のＲＯＭ２４が接続される。また、バス２２には、再生系１２からの再生アドレスが供給される。さらに、コントローラ５がバス２２に接続されている。
【００２７】
書き換え可能な光ディスク１の一例について説明する。図２にディスクの内周側（リードイン）から外周側（リードアウト）までのエリア構造を示す。この構造図の左側には半径位置を、右側には絶対アドレスの値を１６進表記（この表記は、ｈの付加で表す）で付記している。
【００２８】
最内周側（半径位置２２．６ｍｍ〜２４．０ｍｍ）および最外周側（半径位置５８．００ｍｍ以降）の斜線を付した部分はエンボスピットが記録されたエリアとされる。このエンボスエリア（ＲＯＭエリアとも呼ばれる）には、オール「００ｈ」のデータ以外には、絶対アドレス「２Ｆ０００ｈ」の位置からリファレンスコードが２ＥＣＣブロック分記録され、また絶対アドレス「２Ｆ２００ｈ」の位置からコントロールデータが１８６ブロック記録される。ＥＣＣブロックとは、エラー訂正ブロックを構成する単位であり、３２Ｋバイト（＝２Ｋバイト×１６）のデータ毎にエラー訂正符号のパリティが付加されて形成される。
【００２９】
コントロールデータおよびリファレンスコードは、原盤製造のためのカッティングの際に記録され、読出し専用のピットデータとなる。コントロールデータには、光ディスクの物理的な管理情報などが記録される。
【００３０】
半径位置２４．０ｍｍから５８．０ｍｍまでの領域、つまりエンボスエリア以外の領域は、グルーブによるトラックが形成されたリライタブルエリア（グルーブエリア）となる。このうちユーザーがデータ記録に用いることができるユーザエリアは、半径位置２４．１９ｍｍ〜５７．９ｍｍの領域であり、絶対アドレスでいえば３１０００ｈ〜１Ａ０ＥＢＦｈまでとなる。
【００３１】
このユーザエリアの内周側およびその外周側のリライタブルエリアには、ガードゾーン、ディスクテストゾーン、ドライブテストゾーン、ＤＭＡ（ディフェクトマネージメントエリア）が設けられる。ガードゾーンは、ディスクテストゾーンやＤＭＡに対する書込を行う際にライトクロックの同期をとるためのエリアとして設けられている。ディスクテストゾーンは、ディスクコンディションのチェックのために設けられている。ドライブテストゾーンは記録再生ドライブ状況のチェックに用いられる。
【００３２】
ＤＭＡとして、ディスク内周側にはＤＭＡ１, ＤＭＡ２が、またディスク外周側にはＤＭＡ３, ＤＭＡ４が設けられる。ＤＭＡ１〜ＤＭＡ４はそれぞれ同一の内容が記録される。このＤＭＡにはレコーダブルエリア上の欠陥状況の検出結果およびその交代セクタの情報が記録される。記録再生動作がＤＭＡの内容を参照して行われることで、欠陥領域を回避した記録再生を行うことができる。リライタブルエリアの内のユーザエリアを除いた内周側のエリアと、最内周側のエンボスエリアとにより、管理用エリアとしてのリードインエリアが構成される。
【００３３】
光ディスク１において、エンボスエリア以外のグルーブエリアでは、ウォブリンググルーブによりトラックが予め形成されており、また、そのウォブリンググルーブが絶対アドレスを表現している。従って、記録再生装置は、グルーブの再生信号から絶対アドレス等の情報を得ることができる。
【００３４】
図３は、光ディスク１のグルーブ構造例を示している。図３Ａに示すように、光ディスク１のグルーブエリアには、プリグルーブ１ａがスパイラル状に内周から外周に向かって予め形成されている。もちろん、このプリグルーブ１ａは、同心円状に形成することも可能である。
【００３５】
また、このプリグルーブ１ａは、図３Ｂにその一部を拡大して示すように、その左右の側壁が、アドレス情報に対応してウォブリングされる。つまり、アドレスに基づいて生成されたウォブリング信号に対応する所定の周期でウォブリングしている。グルーブ１ａとその隣のグルーブ１ａの間はランド１ｂとされ、データがグルーブ１ａに記録される。従って、トラックピッチは、グルーブ１ａの中心とその隣のグルーブ１ａの中心までの距離となり、トラックピッチが例えば０．８μｍとされる。そしてグルーブ幅（グルーブ１ａの底面部の幅）は、例えば０．４８μｍとされ、グルーブ１ａの幅がランド１ｂの幅よりも広くされる。
【００３６】
グルーブ１ａのウォブリング量は、ウォブル振幅ＷＷの値として規定される。例えばこのウォブル振幅ＷＷは１２．５ｎｍとされている。なおグルーブ上では或る周期の間隔で瞬間的にウォブル量が大きくされ、それがファインクロックマークとされる。この部分では、ウォブル振幅が例えば２５〜３０ｎｍ程度となる。
【００３７】
１つのトラック（１周のトラック）は、複数のウォブリングアドレスフレームを有している。ウォブリングアドレスフレームは、ディスクの回転方向に８分割され、それぞれがサーボセグメント（ｓｅｇｍｅｎｔ０〜ｓｅｇｍｅｎｔ７）とされている。１つのサーボセグメント（以下単にセグメントという）には、絶対アドレスを主とする４８ビットの情報が含まれ、１セグメントあたりのウォブリングは３６０波とされている。
【００３８】
また、ファインクロックマークがウォブリンググルーブ上に等間隔で形成される。このクロックマークは、データの記録時の基準クロックをＰＬＬ回路で生成するために用いられる。ファインクロックマークは、ディスク１回転あたり９６個形成されており、従って、１セグメントあたり１２個のファインクロックマークが形成される。
【００３９】
各セグメント（ｓｅｇｍｅｎｔ０〜ｓｅｇｍｅｎｔ７）としての各ウォブリングアドレスフレームは、図４に示す構成を有する。４８ビットのウォブリングアドレスフレームにおいて、最初の４ビットは、ウォブリングアドレスフレームのスタートを示す同期信号（Ｓｙｎｃ）とされる。この４ビットの同期パターンは、８チャンネルビットで４ビットデータを形成するバイフェーズデータとされている。次の４ビットは、複数の記録層のうちいずれの層であるか、もしくはディスクがどのような層構造であるかを表すレイヤー情報（Layer）とされている。
【００４０】
次の２０ビットはディスク上の絶対アドレスとしてのトラックアドレス（トラックナンバー）とされる。さらに次の４ビットはセグメントナンバーを表す。セグメントナンバーの値はｓｅｇｍｅｎｔ０〜ｓｅｇｍｅｎｔ７に対応する「０」〜「７」の値であり、つまりこのセグメントナンバーはディスクの円周位置を表す値となる。次の２ビットはリザーブとされ、ウォブリングアドレスフレームの最後の１４ビットとしてエラー検出符号（ＣＲＣ）のコードが付加される。また、上述したように、ウォブリングアドレスフレームにはファインクロックマークが等間隔で形成される。
【００４１】
データのリード／ライトは、ＥＣＣブロック単位でなされる。１セクタは、例えば２Ｋバイトとされ、１ブロックが３２Ｋバイトのサイズとされる。図５は、１セクタの構造を示す。１セクタはその先頭から順にデータＩＤ（４バイト）、ＩＥＤ（２バイト）、リザーブエリア（６バイト）、ユーザデータ（２０４８バイト＝２Ｋバイト）、ＥＤＣ（４バイト）が配置された、合計２０６４バイトのサイズを有している。
【００４２】
データＩＤには、ウォブリンググルーブによるアドレスと対応するアドレス、すなわち、トラックナンバーおよびセクタナンバーが含まれる。ＩＥＤは、データＩＤに対するエラー検出用のパリティ（例えばＣＲＣ）である。ＥＤＣは、光ディスク１から再生され、エラー訂正等の処理が終了した後に、最終的にユーザデータにエラーがあるかどうかをチェックするためのエラー検出用のパリティ（例えばＣＲＣ）である。
【００４３】
図５に示す構成のセクタが１６セクタ集められて、図６に示すＥＣＣブロックが構成される。１セクタが２０６４バイトであり、これは、（１７２バイト×１２）のデータサイズである。従って、図６に示すように、それぞれが１７２バイト×１２に並び変えられたセクタを縦に１６個並べることによって、（１７２バイト×１９２（＝１２×１６））のデータ配列が形成される。そして、この１９２×１７２バイトのユーザデータに対して、積符号の符号化がなされる。すなわち、各行の１７２バイトのデータに対して内符号（例えばリードソロモン符号）の符号化がされ、１０バイトの内符号のパリティ（ＰＩ）が生成され、また、各列の１９２バイトのデータに対して外符号（例えばリードソロモン符号）の符号化がされ、１６バイトの外符号のパリティ（ＰＯ）が生成される。
【００４４】
さらに、１８２バイト×２０８（＝（１７２＋１０）×（１９２＋１６））にブロック化されたデータのうち、１８２バイト×１６の外符号のパリティ（ＰＯ）は、１６個の１８２バイト×１のデータに区分され、図７に示すように、番号０乃至番号１５の１６個のセクタデータ（１８２バイト×１２のサイズ）のそれぞれの下に１個ずつ付加されるように、インタリーブされる。そして、積符号の符号化の後では、外符号のパリティＰＯを含む１３（＝１２＋１）×１８２バイトのデータが１セクタのデータとして扱われる。
【００４５】
さらに、図７に示す１８２バイト×２０８のデータをディスク上に記録する場合では、図８に示すような伝送フレームの構造とされる。すなわち、各行の１８２バイトが９１バイトずつに２等分され、２０８（ｒｏｗ）×２（フレーム）のデータとされる。この２０８×２フレームの各データの先頭に、１３（ｒｏｗ）×２（フレーム）のリンキングセクション（リンクエリアのデータ）が付加される。より正確には、２６フレーム分のリンキングセクションのデータの一部が前ブロックの最後に記録され、残りが現ブロックの先頭に記録される。
【００４６】
９１バイトのフレームデータの先頭には、さらに２バイトのフレーム同期信号（ＦＳ）が付加される。その結果、図８に示すように、１フレームのデータは合計９３バイトのデータとなり、合計２２１（ｒｏｗ）×９３×２バイト、すなわち、４４２フレームのブロックのデータとなる。これが、１ブロック（記録／再生の単位）分のデータとなる。そのオーバヘッド部分を除いた実データ部の大きさは、３２Ｋバイト（＝２０４８×１６／１０２４Ｋバイト）となる。
【００４７】
以上のように、この一実施形態の場合では、１ブロックが１６セクタにより構成され、１セクタが２６フレームにより構成される。また、ブロックとブロックの間には、リンキングセクションが配置される。リンキングセクションは、データを記録または再生する時に、クロック同期をとるためのエリアとして機能する。
【００４８】
この発明は、上述したドライブにより記録された光ディスク（例えばＤＶＤ＋ＲＷ）をＲＯＭドライブ（例えばＤＶＤ−ＲＯＭドライブ）により再生するために必要とされる、ファイナリゼーションの処理に関する。図９は、この発明によるファイナリゼーションの概念を示す。図９において、ウォブリンググルーブが形成されたリライタブルエリア中のユーザエリアには、ブロック単位でデータが記録される。
【００４９】
ＤＶＤ−ＲＯＭドライブがＤＶＤ＋ＲＷをリードするためにアクセスするとき、コースシーク、ファインシークを何度か繰り返し、目標トラックに到達する。位置情報（各セクタのデータＩＤ）を知るために、スピンドルサーボをかけてこのＩＤを読もうとするとき、若し、未記録状態だとサーボ情報としてのフレーム同期信号を得ることができず、スピンドルサーボが暴走状態になるとともに、ＩＤが存在しないため、位置情報が得られない。従って、シークしたときには、常に必ず、記録済みのエリアに入ることが必要である。ディスク偏心等でシーク時、現在のトラックから期待されるトラックにジャンプしても、期待されるトラックからある程度はずれてしまうので、その範囲は、あらかじめダミーのデータ（ファイナリゼーションデータと称する）で埋めておくことが必要である。ファイナリゼーションデータは、データ自身が意味を持たないもの（例えば全て０のデータ）であるが、セクタ構造、ブロック構造は、上述したユーザデータと同一のものとされている。従って、ファイナリゼーションデータ中には、サーボ情報（フレーム同期信号）および位置情報（ＩＤ）が含まれている。
【００５０】
図９の例は、ファイナリゼーションの結果、ユーザエリア中の記録済エリア、リードインエリア中のリライタブルエリア（テストゾーン、ＤＭＡ等）並びにリードアウトエリア中のリライタブルエリア（ＤＭＡ）の前後にファイナリゼーションデータが記録されている状態を示す。ファイナリゼーションデータの記録量は、ドライブのシーク性能、ディスクの偏心量等に依存するが、一般的に数百トラックの幅にわたって記録される。
【００５１】
上述したファイナリゼーションを行うためには、どのブロックが記録済みで、どのブロックが未記録かを知る必要がある。リライタブルエリアの全ブロックに対して、１ブロック毎に１ビットを対応させたビットマップテーブルを作り、例えば記録済み（論理値の１）、未記録（論理値の０）と定義する。ライトコマンドを実行する度に、記録したブロックの対応ビットを１（記録済み）に変えることによって、書込み済みのブロックの情報が残せる。このビットマップをＷＢＢＭ(Written Block Bit Map) と称する。
【００５２】
図１の構成において、コントローラ５からのライトコマンドに対応する情報をＣＰＵ２１が受け取り、ＣＰＵ２１の制御の下でＲＡＭ２３内にＷＢＢＭが形成される。そして、後述するような所定のタイミングにおいて、ＣＰＵ２１によりＷＢＢＭがＲＡＭ２３から読出され、コントローラ５を経由して、ユーザデータと同様の記録処理を受け、光ディスク１のリードインエリアの所定のエリアに記録される。また、ホストプロセッサ１０（またはドライブ）において、ユーザがファイナリゼーションの実行を指示すると、この指示がＣＰＵ２１に送られ、最新のＷＢＢＭに基づいて、記録済のブロックの前後に所定量のファイナリゼーションデータの書込みを実行するように、ＣＰＵ２１がドライブを制御する。
【００５３】
図１０に示すように、ＷＢＢＭは、テストゾーン、ＤＭＡ等とともに、リードインエリア内に置かれる。記録位置は、リードインエリア中の３００００ｈ〜３１０００ｈの間であれば、適宜設定できる。好ましくは、ＷＢＢＭの前後にガードゾーンが配される。原理的には、一つのＷＢＢＭで機能するが、信頼性の向上、同一エリアへの書込み回数を低減させるために、複数のＷＢＢＭ（ＷＢＢＭ−１〜ＷＢＢＭ−Ｎ）を設けることは非常に有効である。相変化型のディスク媒体の場合では、ライト回数に限界（約１０万回）があり、同一のエリアに対してのみライト動作を行うと、媒体の寿命を短くする問題が生じる。      
【００５４】
ＷＢＢＭの構造の一例の詳細を以下に説明する。上述したように、１ブロックは、１６セクタ（３２Ｋバイト）なので、３Ｇバイト程度の容量を持つＤＶＤ＋ＲＷには、９〜１０万ブロックが存在する。１ブロックに１ビットを対応させると１２Ｋバイト前後のビットマップが必要になる。このビットマップに、管理情報を付加して、一つのＷＢＢＭが形成される。ＷＢＢＭをディスクに対して記録する時には、ユーザデータの場合と同様に、積符号による符号化の処理と、フレーム化の処理がなされる。すなわち、１個のＷＢＢＭにより１ＥＣＣブロックが構成される。
【００５５】
図１１に示すように、１個のＷＢＢＭは、ビットマップデータに対して、管理情報として、ＷＢＢＭ識別子、リング番号、更新カウンタ、ゾーン情報が付加される。ビットマップは、バイト単位に配置され、ビットマップの右上コーナがＥＣＣブロック番号が１のブロックに関するビットとされる。そして、各バイト内で左側に向かってＥＣＣブロック番号が順次増加し、ビットマップの下側に向かってＥＣＣブロック番号が順次増加するように、各ビットが配置されている。図１１には、最上段からＮ番目の位置のバイトが拡大して示されている。このバイトには、ＥＣＣブロック番号が８Ｎのビットからこれが８Ｎ＋７のビットまでが含まれている。０のビットは、そのＥＣＣブロックが未記録であることを示し、１のビットは、そのＥＣＣブロックが記録済であることを示す。
【００５６】
管理情報は、それぞれ１バイトであり、下記の内容を有する。
【００５７】
ＷＢＢＭ識別子：そのＥＣＣブロックがＷＢＢＭであることを示す数値、例えば０Ｃ０Ｃｈ等の値。
【００５８】
リング番号：複数のＷＢＢＭの内で何個のＷＢＢＭを一組として扱うか、およびそのなかで何番目かを示す。
【００５９】
更新カウンタ：ＷＢＢＭを更新する毎に、インクリメントされる数値で、一組のＷＢＢＭ群のなかで、最大の更新カウンタ値を持つものが最新のＷＢＢＭと決定される。更新を行なう場合には、最小の更新カウンタ値を持つＷＢＢＭを最新のＷＢＢＭへ更新する。それによって特定のＷＢＢＭへの書込みの集中を防止することができ、ディスク媒体の劣化を防止できる。また、万一、最新のＷＢＢＭにおいてデータ破壊が生じても、残りのＷＢＢＭの中で、最大の更新カウンタ値を持つＷＢＢＭの情報によって、破壊されたＷＢＢＭを殆ど補償することができる。
【００６０】
ゾーン情報：実際にファイナリゼーションを行なうときに、全てのビットをチェックするのは効率的でないので、リライタブルエリアの全エリアを複数のゾーンに分け、各ゾーンに属する全てのブロックの書込みが終了すると、そのゾーンについては、全ブロックが記録済みであることを示すフラグをたてる。一度このフラグがたつとそのゾーンはファイナリゼーションの対象外になる。
【００６１】
なお、信頼性向上のために図１２に示すように、全く同じ内容のＷＢＢＭを複数個書くようにしても良い。この場合では、全てのＷＢＢＭが更新の度に書き換えられる。
【００６２】
図１３は、複数のＷＢＢＭ（ＷＢＢＭ−１，ＷＢＢＭ−２，・・・，ＷＢＢＭ−Ｎ）によるリング構造を示す。各ＷＢＢＭの更新カウンタは、例えば０の値に初期化されている。最初に、ＷＢＢＭ−１を更新すると、その更新カウンタの値のみが１とされる。次に、ＷＢＢＭを更新する時には、ＷＢＢＭ−２が更新され、ＷＢＢＭ−２の更新カウンタの値のみが２とされる。さらに、次にＷＢＢＭを更新する時には、ＷＢＢＭ−３が更新され、ＷＢＢＭ−３の更新カウンタの値のみが３とされる。このように、ＷＢＢＭを更新する時には、更新カウンタの値が最小のＷＢＢＭを更新する。若し、更新カウンタの値が同じＷＢＢＭが存在する時には、ＷＢＢＭ番号が最小のものを更新する。それによって、更新カウンタの値が最大のものが最新のＷＢＢＭと決定することができる。
【００６３】
ＷＢＢＭは、最新のものでなくても、すなわち、記録済みビットが、若干欠落していても、有効な情報に成りうる。すなわち、ＷＢＢＭから未記録と判断されたＥＣＣブロックに対してファイナリゼーションデータを書込む前に、チェックがなされるので、そのＥＣＣブロックに関するビットが誤っていても、ファイナリゼーションデータを書込み、記録済のデータを破壊することがない。そこで、複数のＷＢＢＭを持ち、更新時に、上述したように、旧いＷＢＢＭから書き換えていけば、直近のＷＢＢＭが複数個残る。更新カウンタの値が大きいほど新しいと定義すれば、ドライブがスピンアップ時にＷＢＢＭを読むときに、最新のＷＢＢＭを決定できる。
【００６４】
リング構造をＷＢＢＭが持つことによる有利な点は、下記に示す。
【００６５】
特定のＷＢＢＭへの書込み回数を１／（ＷＢＢＭのリング数）に減らせるので、媒体の劣化を低減できる。
【００６６】
ＷＢＢＭ書込み中にドライブの電源ＯＦＦ等の異常が生じても、その前のＷＢＢＭが残っているので、それを最新ＷＢＢＭとして使用できる。
【００６７】
また、同一内容のＷＢＢＭを複数個生成する方法（多重書き（図１２参照））も可能である。この方法は、最も簡単な、停電対策である。この方法の場合、一般には、更新カウンタは全てのＷＢＢＭで同じになるはずであるが、若し、異なるものがあれば、更新中に電源ＯＦＦ等が起きたと推定できる。この場合、更新カウンタの数値が大きいＷＢＢＭが最新のものである。さらに、リング構造と多重書きの方法を併用するようにしても良い。      
【００６８】
ＷＢＢＭの他の例について図１４を参照して説明する。図１４Ａに示す例は、上述したＷＢＢＭとペアでユーザーデータマップ（ユーザＷＢＢＭと称する）を持つようにしたものである。ＷＢＢＭは、ブロック単位で記録済／未記録を示すもので、記録済のブロックに記録されているデータがユーザデータか、ファイナリゼーションデータかを区別することができない。ユーザＷＢＢＭは、ユーザデータの書込みを行ったブロックに対して１のビットをたてるように形成されたものである。従って、ファイナリゼーションデータを書込んだブロックに関してのビットは、０である。
【００６９】
ユーザＷＢＢＭを持つことは、一度、ファイナリゼーションを行なったＤＶＤ＋ＲＷをＤＶＤ−ＲＯＭドライブで再生した後、再度ＤＶＤ＋ＲＷドライブで書込みをする場合に有利である。この場合、再度ＤＶＤ＋ＲＯＭドライブで、使うためには、再度、ファイナリゼーションが必要である。ＷＢＢＭは、ユーザーデータのビットマップとファイナリゼーションデータのビットマップを合成したもの、すなわち、全ての記録済みブロックを示すものであるので、ＷＢＢＭからは、ユーザーデータとファイナリゼーションデータの区別できない。結果として、不必要に、ファイナリゼーションデータの周辺に更に、ファイナリゼーションデータを書込むことになる。ユーザーＷＢＢＭとＷＢＢＭを持つことによって、不要なファイナリゼーションデータの記録を回避することができる。
【００７０】
ユーザーＷＢＢＭの持ち方には、図１４Ａに示すように、ユーザーＷＢＢＭとＷＢＢＭをペアで持つ方法に限らず、図１４ＢにおいてＷＢＢＭ'として示すように、ビットマップ上で１ブロックに対応する部分を２ビットとし、未記録ブロック、ユーザーデータの記録ブロック、ファイナリゼーションデータの記録ブロックを区別するようにしても良い。このように、ユーザデータとファイナリゼーションデータとを区別できるビットマップを持つことによって、より効率的なファイナリゼーションが可能である。
【００７１】
ＤＶＤ＋ＲＷのリードインエリアの所定のエリアに対して、最初にＷＢＢＭを書くのは、この媒体のフォーマットの時である。ブランク媒体のフォーマット時に、サーティフィケーションを行なわないときでは、ユーザーエリアは全て未記録とし、サーティフィケーションを行なうときでは、全てのユーザーエリアは記録済になる。また、再フォーマットのときは、ユーザエリアに記録済のデータが残るので、既存のＷＢＢＭを継続して使用する。
【００７２】
ＤＶＤ＋ＲＷをドライブに挿入した時に、ＷＢＢＭがドライブのメモリ（図１中のＲＡＭ２３）に読み込まれる。図１５は、媒体挿入時の処理のフローチャートである。図１５のステップＳ１において、媒体がドライブに挿入され、ステップＳ２において、スピンアップすると、リードインエリア内のＤＭＡ、ＷＢＢＭを再生する。最初のＷＢＢＭを読み（ステップＳ３）、ＷＢＢＭ中の管理情報であるリング番号を調べる（ステップＳ４）。ＷＢＢＭがリング構造の場合では、複数のＷＢＢＭがあるので、全てのＷＢＢＭを読出し、全てのＷＢＢＭ内の更新カウンタを読む（ステップＳ５）。そして、全てのＷＢＢＭの更新カウンタの値を比較して、最大の更新カウンタの値を持つものを、メモリ上に残す（ステップＳ６）。サーティフィケーション済み、もしくは、既に全面にわたって書込み済みになっていたら、ＷＢＢＭをメモリ上に残したり、ＷＢＢＭを更新する必要がない。この判断は、ドライブのＣＰＵが行い、判断結果と対応してフラグが制御される。
【００７３】
次に、ライトコマンドを実行する時にメモリ上のＷＢＢＭを書き換える処理を図１６のフローチャートを参照して説明する。ここでは、簡単のため、ユーザＷＢＢＭがない場合の処理を説明する。この処理は、スピンアップ時に、ＷＢＢＭの管理が必要と判断された媒体に関してなされる。ライトコマンドが受け付けられ（ステップＳ１１）、ステップＳ１２でライトコマンドの実行が終了したとき（記録が１ブロック全体に行なわれたと判断されるとき）、書込んだブロックに対応する、ＷＢＢＭのビットを見る（ステップＳ１３）。このビットが０であるかが決定される（ステップＳ１４）。
【００７４】
ビットが１の場合は、そのブロックが記録済を意味するので、そのビットを更新することが不要であるため、処理が終了する。若し、そのブロックに対応するビットが０（すなわち、未記録）の場合は、メモリ上のＷＢＢＭのブロックに対応するビットを１にセットする（ステップＳ１５）。そして、メモリ上でＷＢＢＭが更新されたことを示すフラグ（ＷＢＢＭ更新要求フラグと称する）をたてる（すなわち、このフラグを１とする）。所定のタイミング（媒体のイジェクト時、フラッシュキャッシュ時、若しくは、バックグラウンド時）で、時々、媒体上のＷＢＢＭを更新し、更新の終了後にＷＢＢＭ更新要求フラグをクリアする。フラッシュキャシュは、ライトコマンドが来た時に、データを一旦ライトキャッシュにため、複数のライトコマンドをまとめて実行する処理である。バックグラウンドは、ドライブのＣＰＵが比較的忙しくない状態である。
【００７５】
図１７は、所定のタイミングで実行される、ＷＢＢＭを更新する処理を示すフローチャートである。ここでは、ＷＢＢＭがリング構造を有している。ＷＢＢＭ更新要求フラグが１のとき、ＷＢＢＭの更新がなされる（ステップＳ２１）。まず、メモリ上のＷＢＢＭの更新カウンタの値を＋１する（ステップＳ２２）。
【００７６】
そして、ステップＳ２３において、前に読出したＷＢＢＭの次の媒体上のＷＢＢＭをメモリ上のＷＢＢＭによって更新する。この処理は、媒体上の複数のＷＢＢＭのうち、最小の更新カウンタの値のＷＢＢＭに対応するリング番号をセットし、最小の更新カウンタの値を持つＷＢＢＭをメモリ上の最新ＷＢＢＭで置き替えるものである。更新処理が終了したので、ステップＳ２４において、ＷＢＢＭ更新要求フラグをクリアする。
【００７７】
書込みを行ったＤＶＤ＋ＲＷの媒体をＤＶＤ−ＲＯＭのドライブで再生可能とする時では、ユーザがファイナリゼーションの実行を指示する。ドライブがこのファイナリゼーションコマンドを受け取ったときの処理を図１８のフローチャートを参照して説明する。ステップＳ３１において、ファイナリゼーションコマンドを受け取ったとき、メモリ上のＷＢＢＭによりディスク上のＷＢＢＭが更新されるので、メモリ上のＷＢＢＭは最新の状態を示している。勿論、媒体から最新のＷＢＢＭを読み取るようにしても良い。
【００７８】
次のステップＳ３２では、メモリ上のＷＢＢＭを参照して、既に記録済（ビット＝１）の部分の前後の一定範囲、例えば３００トラック相当ブロック数、の未記録ブロック（ビット＝０）を全てリストアップする。リストアップされたブロックをＢ（０）、Ｂ（１）、Ｂ（２）  Ｂ（Ｎ−１）とする。ステップＳ３２では、変数Ｉが初期値（０）とされる。
【００７９】
次のステップＳ３３は、（Ｉ＝Ｎ？）を調べるもので、（Ｉ＝Ｎ）の場合では、全ての未記録ブロックに対してファイナリゼーションデータを記録したことを意味するので、ＷＢＢＭの更新処理（ステップＳ３４）がなされる。ＷＢＢＭの更新処理は、図１７を参照して上述した通りである。
【００８０】
変数Ｉが０のブロックＢ（０）から順にＢ（Ｎ−１）まで、その周辺にファイナリゼーションデータを記録する。この場合、ＷＢＢＭから決定したファイナリゼーションデータを記録しようとするエリアが本当に未記録がどうかを検査する。ＷＢＢＭ上で未記録（ビット＝０）とされている部分であっても、電源オフ等のトラブルのために、実際は、記録済の可能性が皆無ではない。若し、記録済であると、ファイナリゼーションデータを上書きすることにより、記録済のユーザデータが破壊される。これを避けるため、ファイナリゼーションデータを記録しようとするエリアに関して、リード動作を行なってみる（ステップＳ３５）。
【００８１】
そして、ステップＳ３６において、リード動作でデータが読めたか（ＯＫ）否か（若しくは記録不要）が決定される。データがリードできたか、記録不要であるならば、そのブロックＢ（Ｉ）が記録済（または記録不要）ブロックであるので、ファイナリゼーションデータが記録されない。データがリードできない時には、その未記録ブロックＢ（Ｉ）に対してファイナリゼーションデータ（ダミーデータ）を記録する（ステップＳ３７）。そして、ステップＳ３８において、Ｉをインクリメントする。次のステップＳ３９において、記録したブロックに対応するＷＢＢＭ上のビットを１とする。
【００８２】
上述した未記録のチェックのためのリード、未記録が確認されたブロックに対するファイナリゼーションデータの記録、Ｉのインクリメント、並びに対応するＷＢＢＭ上のビットを１にする処理を全てのリストアップされた未記録ブロックに対して行なう。この後、ステップＳ３４において、記録したブロック、若しくは記録済と確認されたブロックに対応するＷＢＢＭ上のビットを記録済（ビット＝１）とし、メモリ上のＷＢＢＭを媒体に書込む。
【００８３】
なお、図１８に示すフローチャートでは、リストアップされた複数のブロックの１ブロックずつ処理しているが、リストアップされたブロックを全てリードしてみて記録済のチェックをした後、まとめてフィナリゼーションデータを書込むようにしても良い。この処理の方が効率的であり、インプリメンテーションに適している。
【００８４】
ＷＢＢＭは、上述したように、ファイナリゼーションを効率的に行うのに利用される。さらに、ＷＢＢＭは、リードモディファイライトの効率化に利用することができる。ＤＶＤ−ＲＷは、ホストプロセッサからは、２Ｋバイト（セクタ）単位で、アクセスされる。ドライブのバッファメモリも同様にアクセスされる。一方、ドライブが媒体に対して行うアクセスは、ＥＣＣブロックの３２Ｋバイト単位である。例えば、２Ｋバイトのリードコマンドを受け取ると、ドライブは、そのセクタを含むブロック（３２Ｋバイト）を読出して、ホストより要求されている２Ｋバイトをホストに送出し、残り３０Ｋバイトは、捨てることになる。
【００８５】
一方、ライトはもっと複雑である。図１９に示すように、２Ｋバイトをライトしようとすると、対応するブロックに、既にデータが記録されている場合、一度そのブロックを読出して、対応するセクタの２Ｋバイトを、ホストからのライトデータと入れ替えて、３２Ｋバイトを再びもとのブロックにライトする必要がある。これをリードモディファイライトと称する。この場合、２Ｋバイトをライトするために３２Ｋバイトリード、３２Ｋバイトライトを行なうことになる。一般に、このリードモディファイライトを避けるために、ドライブは、ライトコマンドを受け取ったとき、一旦、バッファメモリ（図１中のバッファメモリ６）にライトデータを蓄え、コマンドを終了したことにする。これを、ライトキャッシュという。
【００８６】
一般に、ホストコンピュータは、連続されたセクタをライトすることが多いため、ライトデータを蓄えていくうちに１ブロック分のデータが揃うことが起きる。この場合、データをまとめて３２Ｋバイトとし、リード動作を伴わず、ライトすることができる。複数ブロックの一括ライトももちろん可能である。しかしながら、２Ｋバイト単独でライトされる場合も多いし、長いデータも最初と最後の部分でリードモディファイライトが必要である。
【００８７】
さて、リードモディファイライトするときに、そのブロックが未記録の場合がありうる。一般には、そのブロックを読出してみて、読めないとき、信号レベル等の情報をもとに未記録であることを確認する。未記録である場合、ホストからのライトデータ以外の部分は、一般にオール０のデータで埋める。この場合、前もってそこが未記録であることが確認できれば、リードを行なうことなく、ライトを実行できる。単純に言えば、２倍のパフォーマンスになる。このようなリードモディファイライトの効率向上のためにＷＢＢＭを利用することができる。
【００８８】
ＷＢＢＭ上で、記録済のブロックに関しては、２Ｋバイト等の一部のセクタをライトする時には、リードモディファイライトすべきである。一方、ＷＢＢＭ上で、未記録のブロック（ビット＝０）の場合、電源オフ等で、記録部分が未記録とされる可能性が皆無ではないが、殆どの場合では未記録である。このことを利用すれば、リードモディファイライトを行なわず、ライトデータ以外はオール０で埋めてライトすることができる。
【００８９】
多くのファイルシステムにおいて、媒体は、ＬＢＡ（ロジカルブロックアドレス）が小さいほうから使われるのが普通である。従って、それまでに書込みが行なわれた範囲に続くエリアに対してライトが行なわれる可能性が極めて高い。また、サーティフィケーションなしで使われる媒体では、書込みが行なわれた範囲に続くエリアが未記録である可能性が非常に高い。
【００９０】
従って、ＷＢＢＭにおいて、書込み済エリアに隣接するエリアを前もって、リードしてみて、未記録であることを確認しておけば、そのエリアへのライトコマンドが来たとき、リードモディファイライトを行なわずに、直ちにライトすることができる。ドライブは、ホストからのアクセスがないときに、ＷＢＢＭをチェックし、記録済エリアに続く部分をリードし、未記録であることを確認する。これは、次のライトコマンドが来そうな比較的狭い範囲でよい。
【００９１】
このエリアへのライトコマンドを受け取ったとき（キャッシュ後も可）、未記録であることが確認されていたならば、リードモディファイライトを行なわず、ライトデータ以外の部分にオール０等をセットしてライトを行なう。勿論、ライト後にＷＢＢＭが更新される。それによって、更に続くエリアに対して未記録か否かのチェックが行なわれることになる。
【００９２】
なお、上述したこの発明の実施形態に限らず、種々の変形が可能である。例えばＤＶＤ＋ＲＷ以外の書き換え可能な、若しくはＷＯ（ライトワンス）のディスク状記録媒体に対してもこの発明を適用することができる。また、アドレス情報をウォブリンググルーブ以外の形態で記録するディスクに対してもこの発明を適用できる。さらに、サーボ情報は、ＣＡＶ、ＣＬＶの何れのための情報であっても良い。よりさらに、ファイナリゼーションデータは、記録済のブロックの前および後の一方に記録するようにしても良い。
【図面の簡単な説明】
【００９３】
【図１】この発明の一実施形態のドライブの構成を示すブロック図である。
【図２】この発明を適用できるディスク状記録媒体の各エリアの構成を示す略線図である。
【図３】この発明を適用できるディスク状記録媒体のウォブリンググルーブを示す略線図である。
【図４】この発明を適用できるディスク状記録媒体のウォブリンググルーブのフレーム構造を説明するための略線図である。
【図５】この発明を適用できるディスク状記録媒体のセクタフォーマットを示す略線図である。
【図６】この発明を適用できるディスク状記録媒体の３２Ｋバイトのフォーマットを示す略線図である。
【図７】この発明を適用できるディスク状記録媒体の３２Ｋバイトのフォーマットにおける外符号をインターリーブした状態を示す略線図である。
【図８】この発明を適用できるディスク状記録媒体のブロックの構成を示す略線図である。
【図９】ファイナリゼーションの説明に用いる略線図である。
【図１０】ＷＢＢＭの記録位置の説明に用いる略線図である。
【図１１】ＷＢＢＭのデータ構成の説明に用いる略線図である。
【図１２】ＷＢＢＭの多重書きの説明に用いる略線図である。
【図１３】ＷＢＢＭのリング構造の説明に用いる略線図である。
【図１４】ユーザデータに関するビットマップを持つようにしたＷＢＢＭの説明に用いる略線図である。
【図１５】媒体をドライブに挿入する時になされる処理の説明に用いるフローチャートである。
【図１６】ライトコマンドを実行する時になされる処理の説明に用いるフローチャートである。
【図１７】ＷＢＢＭを更新する処理の説明に用いるフローチャートである。
【図１８】ファイナリゼーションの処理の説明に用いるフローチャートである。
【図１９】リードモディファイライトの説明に用いる略線図である。
【符号の説明】
【００９４】
１・・・書き換え可能な光ディスク、１ａ・・・プリグルーブ、２・・・スピンドルモータ、３・・・光ピックアップ、６・・・バッファメモリ、２１・・・ＣＰＵ、２３・・・ＲＡＭ
【図１】
2006338873.tif 000003
【図２】
2006338873.tif 000004
【図３】
2006338873.tif 000005
【図４】
2006338873.tif 000006
【図５】
2006338873.tif 000007
【図６】
2006338873.tif 000008
【図７】
2006338873.tif 000009
【図８】
2006338873.tif 000010
【図９】
2006338873.tif 000011
【図１０】
2006338873.tif 000012
【図１１】
2006338873.tif 000013
【図１２】
2006338873.tif 000014
【図１３】
2006338873.tif 000015
【図１４】
2006338873.tif 000016
【図１５】
2006338873.tif 000017
【図１６】
2006338873.tif 000018
【図１７】
2006338873.tif 000019
【図１８】
2006338873.tif 000020
【図１９】
2006338873.tif 000021