(57)【特許請求の範囲】
【請求項１】
光ディスク挿入後にトラック情報をマウントする情報記録再生装置において、
前記トラック情報に基づき、前記トラックの先頭アドレスから所定数分のブロックと、その最後部の所定数分のブロックを再生し、ブランクと書き込み済みと途中まで記録済みとのいずれかを判断し、途中まで記録済みだった場合のみ、前記トラックの未記録ブロックの先頭を検出し、前記トラックの未記録ブロックに対してダミーデータを記録する手段を設けたことを特徴とする情報記録再生装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ＣＤ−Ｒドライブ等の情報記録再生装置に関する。
【０００２】
【従来の技術】
従来のＣＤ−Ｒドライブのようにトラック単位やセッション単位でデータを記録する情報記録再生装置において、ＣＤ−Ｒ等の光ディスクのトラック記録中にオフトラック等のサーボエラーでデータ記録がエラー終了したときには、残りの領域に対して未記録のままトラックのスタートアドレスやストップアドレス等のアドレス情報をＰＭＡ領域に書き込みにいっていた（例えば、特開平４−１０６７５８号公報，特開平５−２０５２７９号公報参照）。
【０００３】
【発明が解決しようとする課題】
しかしながら、従来の情報記録再生装置に、データ書き込み中にサーボエラーが発生したトラックを有する光ディスクを挿入した場合、そのエラー発生時に書き込み中だったトラックが何の情報も書かれていないブランクトラックとみなされてしまう。
【０００４】
例えば、数〜数十ブロック書かれたトラックが存在する光ディスクを従来の情報記録再生装置に挿入した場合、マウント処理でＰＭＡに記録されたトラックのアドレス情報からそのトラックにアクセスしてトラックの状態がブランクか否かを確認しにいくブランクチェックを行ない、その確認対象のブロックのアドレスによってはブランクと判定されるケースがある。
【０００５】
このような場合、次のトラック記録命令でデータを以前記録したブロック上に２重書きしてしまう恐れがあり、２重書きが発生したときには正しい再生信号を検出できなくなり、そのトラックが再生できなくなるという問題があった。
【０００６】
この発明は上記の点に鑑みてなされたものであり、データ記録中にエラー終了した光ディスクに対する２重書きを防止することを目的とする。
【００１１】
【課題を解決するための手段】
この発明は上記の目的を達成するため、光ディスク挿入後にトラック情報をマウントする情報記録再生装置において、上記トラック情報に基づき、上記トラックの先頭アドレスから所定数分のブロックと、その最後部の所定数分のブロックを再生し、ブランクと書き込み済みと途中まで記録済みとのいずれかを判断し、途中まで記録済みだった場合のみ、上記トラックの未記録ブロックの先頭を検出し、上記トラックの未記録ブロックに対してダミーデータを記録する手段を設けたものである。
【００１７】
この発明の請求項１の情報記録再生装置は、光ディスクの挿入後にトラック情報をマウントするとき、上記トラック情報に基づき、上記トラックの先頭アドレスから所定数分のブロックと、その最後部の所定数分のブロックを再生し、ブランクと書き込み済みと途中まで記録済みとのいずれかを判断し、途中まで記録済みだった場合のみ、上記トラックの未記録ブロックの先頭を検出し、上記トラックの未記録ブロックに対してダミーデータを記録するので、任意のトラックをブランクであると誤認識することを防止することができる。
【００１９】
【発明の実施の形態】
以下、この発明の実施の形態を図面に基づいて具体的に説明する。
図１は、この発明の情報記録再生装置の一実施形態であるＣＤ−Ｒドライブの構成を示すブロック図である。このＣＤ−Ｒドライブは、ＣＰＵ１，フラッシュＲＯＭ２，ホストインタフェースコントローラ３，バッファマネジャ４，ダイナミックＲＡＭ５，サブコードオペレーションコントローラ６，ＣＤ−ＲＯＭエンコーダ７，ＣＤ−ＲＯＭデコーダ９，オーディオ回路１０，システムコントローラ１１，ＣＤエンコーダ１２，ＣＤデコーダ１３，サーボ回路１４，スピンドルモータコントローラ１５，及びＳＣＳＩバス１６から成り、ＣＤ−Ｒディスク１７に対するデータの記録及び再生を行なう。
【００２０】
ＣＰＵ１は、このＣＤ−Ｒドライブ全体の動作を制御する中央演算処理装置（マイクロコンピュータ）である。フラッシュＲＯＭ２は、ＣＰＵ１が消去書き換え可能な不揮発性メモリである。ホストインタフェースコントローラ３は、ホストコンピュータとこのＣＤ−Ｒドライブとの通信を司るＬＳＩである。バッファマネージャ４はホストコンピュータからの転送データ及びＣＤ−Ｒディスク１７から読み出したデータの転送を制御するＬＳＩである。
【００２１】
ダイナミックＲＡＭ５は、ホストコンピュータからの転送データとＣＤ−Ｒディスク１７から読み出したデータを一時的に格納するバッファメモリである。
サブコードオペレーションコントローラ６は、ＣＤ−Ｒディスク１７上に記録するサブコードを生成したり、ＣＤ−Ｒディスク１７から読み出したサブコードを分離するＬＳＩである。
【００２２】
ＣＤ−ＲＯＭエンコーダ７はＣＤ−ＲＯＭデータをＣＤ−Ｒディスク１７に書込む前に変調するＬＳＩである。ＣＤ−ＲＯＭデコーダ９は読み出したＣＤ−ＲＯＭデータを復調するＬＳＩである。オーディオ回路１０は音楽再生を行なう。
【００２３】
システムコントローラ１１はＣＤ−Ｒディスク１７へのデータの記録再生を制御するＬＳＩであり、この発明に関わるトラック記録処理，未書き込み領域追記処理，リードイン領域記録処理，リードアウト領域記録処理，ブランクチェック処理，及びブランクを埋める処理を行なう。
【００２４】
ＣＤエンコーダ１２は、ＣＤ−Ｒディスク１７に書込む前にユーザデータとサブコードをメディア規格に合うように変調するＬＳＩである。ＣＤデコーダ１３は、ＣＤ−Ｒディスク１７から読み出したデータをユーザデータとサブコードに分離して復調するＬＳＩである。
【００２５】
サーボ回路１４は、ＣＤ−Ｒディスク１７に対するレーザ光のフォーカス，トラッキング等のサーボを制御するＬＳＩである。スピンドルモータコントローラ１５は、ＣＤ−Ｒディスク１７の回転制御を行なうＬＳＩである。ＳＣＳＩバス１６は、このＣＤ−Ｒドライブとホストコンピュータとの間で各種のデータをやり取りするための通信線である。
【００２６】
図２はＣＤ−Ｒディスクのフォーマットを示す図である。このＣＤ−Ｒドライブは、図２に示したフォーマットのＣＤ−Ｒディスク１７に対してデータの記録・再生が可能である。ＣＤ−Ｒディスク１７は内周から記録パワー決定のための試し書きを行なうパワーキャリブレーションエリア（ＰＣＡ）２０，拡大記録領域（ＰＭＡ）２１，リードイン領域２４，プログラムエリア２２で構成される。
【００２７】
プログラムエリア２２には、トラック単位でデータ（例えば、音楽データ等）が記録され、そのトラックのアドレス情報，データモード等の情報をＰＭＡ２１やリードイン領域２４に記録する。リードイン領域２４は、セッションの始めを示すエリア・セッション内のトラック情報等の目次情報（ＴＯＣ情報）と呼ばれる内容のデータを記録する。また、プログラムエリア２２の先頭から複数又は１つのトラック２５が記録可能である。
【００２８】
通常、ユーザはセッション２３単位でデータを記録する。そのセッション２３は、複数又は１つのトラック２５とリードイン領域２４とリードアウト領域２６とから構成されている。そのリードイン領域２４内のＴＯＣには、そのセッション２３に含まれるトラック２５のデータを記録する。リードアウト領域２６には、そのセッション２３内の第１トラック（トラック１）２５の先頭のアドレス情報を記録する。
【００２９】
なお、プログラムエリア２２にセッション２３が複数あるものをマルチセッションディスクと称する。音楽ＣＤ等はシングルセッションであり、ディスク上にはリードイン領域とリードアウト領域が各々１つずつ存在する。しかし、マルチセッションディスクには、上述した各エリアが複数個組み合わせて存在し、ユーザはデータを追記する際にマルチセッションの形で記録するのが一般的である。
【００３０】
そして、このＣＤ−Ｒドライブは、ＣＤ−Ｒディスク（光ディスク）１７のプログラム領域にトラック単位又はセッション単位でデータを記録し、そのデータをトラックのアドレス情報及びＴＯＣ情報で管理する情報記録再生装置であり、そのシステムコントローラ１１等が、光ディスクの任意のトラックの記録中にオフトラック等のサーボエラーが発生してデータの記録を中止したとき、その中止した時のエラーアドレスを記憶し、そのエラーアドレスの付近からトラックとして割り当てた領域の残りの部分に対して所定のダミーデータを記録する機能を果たす。
【００３１】
また、サーボエラーが発生したトラックが予約されているトラックか否かを確認し、予約されているトラックのときは割り当てた領域の最終ブロックまで所定のダミーデータを記録し、予約されていないトラックのときは所定のトラック長として割り当てた領域の最終ブロックまで所定のダミーデータを記録し、その後にそのアドレス情報をＰＭＡ領域に記録する機能も果たす。
【００３２】
さらに、リードインエリアを記録しているときにオフトラック等によるサーボエラーが発生したとき、残りのリードインエリアに対してＴＯＣ情報を記録する機能を果たす。また、リードアウトエリアを記録しているときにオフトラック等によるサーボエラーが発生したとき、残りのリードアウトエリアに対して所定のリードアウトデータを記録する機能を果たす。
【００３３】
さらに、上記トラック情報に基づき、上記トラックの先頭アドレスから所定数分のブロックと、その最後部の所定数分のブロックを再生し、ブランクと書き込み済みと途中まで記録済みとのいずれかを判断し、途中まで記録済みだった場合のみ、上記トラックの未記録ブロックの先頭を検出し、上記トラックの未記録ブロックに対してダミーデータを記録する機能を果たす。
【００３４】
次に、このＣＤ−Ｒドライブの処理について説明する。まず、通常の情報記録再生装置では、図３の（ａ）に示すように、ＣＤ−Ｒディスク上のトラックＸを記録しているときにオフトラックによるサーボエラーが発生して、図中矢示で示すようにトラックＸとして割り当てられている途中でストップしてしまって、そのトラックＸの領域全てを記録できないときがある。
【００３５】
そのような記録途中のＣＤ−Ｒディスクを再度ドライブに挿入した場合、マウント処理時のブランクチェックでブランクだった領域（図中黒く塗り潰した領域）に基づいてトラックＸがブランクトラックと判断されてしまうことになる。このようなことは、ブランクチェックのアドレスがオフトラックエラーが発生したアドレスよりも後ろであったときに起こる。
【００３６】
そして、トラックＸの領域がブランクと認識されると、次のトラックを記録するときに、図３の（ｂ）に示すように、オフトラックが発生したアドレス以前の部分（図中黒く塗り潰した領域）を２重書きしてしまう。その結果、そのトラックＸは後に再生できなくなり、データロスになる不具合が発生していた。
【００３７】
そこで、このＣＤ−Ｒドライブは、図４に示すように、トラックＮを記録する前にそのトラックが予約（リザーブトラック）されているか否かを確認し（ステップ１）、予約されていたらソフト的に予約フラグ“１”をセットし（ステップ２）、予約されていなければ予約フラグ“０”をセット（ステップ３）する。
【００３８】
その後、所定の記録処理に対するレジスタ設定を実行し、トラック記録処理を開始し（ステップ４）、記録終了割込みを待ち（ステップ５）、記録終了のときはサーボエラー終了か正常終了かを確認する（ステップ６）。その確認でサーボエラーと判定したときは未記録領域を確認し（ステップ７）、未記録領域があるならバッファメモリ５にダミーデータをセットし（ステップ８）、サーボエラー後の未記録領域をダミーデータで埋める（ステップ９）。
【００３９】
その後、エラーコード（センスコード）をセットして（ステップ１０）、トラックの情報をＰＭＡへ記録する（ステップ１１）。一方、ステップ７の判断で未書き込み領域がないならエラーコードをセットして（ステップ１０）、トラックの情報をＰＭＡへ記録する（ステップ１１）。また、ステップ６の判断でサーボエラーでなければトラックの情報をＰＭＡへ記録する（ステップ１１）。
こうして、光ディスクの任意のトラックの記録中にオフトラック等のサーボエラーが発生してデータの記録を中止したとき、その中止した時のエラーアドレスを記憶し、そのエラーアドレスの付近からトラックとして割り当てた領域の残りの部分に対して所定のダミーデータを記録するので、エラー発生時の未書き込み部分を無くして２重書きを防止できる。
このようにして、データ記録中にサーボエラーが発生したときのトラック領域に対するブランクエリアが無くなり、２重書きを防止することができる。
【００４０】
次に、トラック領域が予約されていないときには、どこまでダミーデータを埋めたらよいのかがわからない。そこで、このＣＤ−Ｒドライブは、図５に示すように、サーボエラーが発生したアドレスをライトブロック数により計算し（ステップ２１）、予約フラグ“１”がセットされているか否かを判断して（ステップ２２）、予約フラグがセットされていれば、トラックのエンドアドレスからエラーアドレスを引いて追記ブロックカウントを計算する（ステップ２３）。
【００４１】
また、ステップ２２で予約フラグがセットされていないときは、既にトラック最小単位である３００ブロックを記録しているか否かを確認し（ステップ２８）、超えていれば処理を終了する。
【００４２】
さらに、ステップ２８で３００ブロックを記録していないときは、追記するブロックカウントを計算「スタートアドレス＋３００−エラーアドレス」し（ステップ２９）、所定の記録用レジスタをセットして記録を開始する（ステップ２４）。その後、ダミーデータ記録の終了割込みを待ち（ステップ２５）、終了報告を受けたらエラー終了か正常終了かを確認し（ステップ２６）、エラー終了の場合はエラー処理を実施し（ステップ２７）、この処理を終了する。おな、エラー処理（ステップ２７）にはサーボエラー処理も含んでいる。
【００４３】
こうして、サーボエラーが発生したトラックが予約されているトラックか否かを確認し、予約されているトラックのときは割り当てた領域の最終ブロックまで所定のダミーデータを記録し、予約されていないトラックのときは所定のトラック長として割り当てた領域の最終ブロックまで所定のダミーデータを記録し、その後にそのアドレス情報をＰＭＡ領域に記録するので、予約されていないトラックでも、そのトラック領域の終わりまでダミーデータを記録して次のトラックを正しく追記することができる。
このようにして、サーボエラーが発生したトラックが予約されていなくても、トラック領域の終わりまでダミーデータを記録することができ、次のトラックを正しく追記することができる。
【００４４】
次に、リードイン領域を記録するときのサーボエラー時にも、上述と同じようにブランク部分を埋める処理をする必要がある。
そこで、このＣＤ−Ｒドライブは、図６に示すように、バッファメモリ５にＴＯＣデータ（ＴＯＣ情報）をセットした後（ステップ３１）、リードイン領域のスタート時間を所定のレジスタにセットし（ステップ３２）、ＴＯＣ情報記録開始用の所定のレジスタ設定を実施し（ステップ３３）、記録処理を開始する。
【００４５】
その後、記録終了割込みを待ち（ステップ３４）、サーボエラー終了か正常終了かを確認する（ステップ３５）。ステップ３５でサーボエラーと判定した場合に未記録領域を確認し（ステップ３６）、未記録領域があるならバッファメモリ５に再度ＴＯＣデータをセットし（ステップ３７）、サーボエラー後の未記録領域をＴＯＣで埋める（ステップ３８）。ステップ３６で未書き込み領域がないなら、この処理を終了する。
【００４６】
こうして、リードインエリアを記録しているときにオフトラック等によるサーボエラーが発生したとき、残りのリードインエリアに対して目次情報を記録するので、リードインエリアに対して最後までＴＯＣ情報を記録することができ、トラック情報を正しく認識することができる。
このようにして、リードイン領域の記録時にサーボエラーが発生した場合、リードイン領域にブランク部分がなくなり、後にこのＣＤ−Ｒディスクを挿入してもＴＯＣ情報を正しく認識することができる。
【００４７】
次に、リードアウト領域を記録するときのサーボエラー時にも、上述と同じようにブランク部分を埋める処理をする必要がある。
そこで、このＣＤ−Ｒドライブは、図７に示すように、バッファメモリ５にリードアウト領域のデータをセットした後（ステップ４１）、リードアウト領域のスタート時間を所定のレジスタにセットし（ステップ４２）、リードアウト記録開始用の所定のレジスタ設定を実施し、記録処理を開始する（ステップ４３）。
【００４８】
その後、記録終了割込みを待ち（ステップ４４）、サーボエラー終了か正常終了かを確認する（ステップ４５）。ステップ４５でサーボエラーと判定したときには未記録領域を確認し（ステップ４６）、未記録領域があるならバッファメモリ５に再度リードアウト領域のデータをセットし（ステップ４７）、サーボエラー後の未記録領域をリードアウトデータで埋める（ステップ４８）。ステップ４６で未書き込み領域がないなら、この処理を終了する。
【００４９】
こうして、リードアウトエリアを記録しているときにオフトラック等によるサーボエラーが発生したとき、残りのリードアウトエリアに対して所定のリードアウトデータを記録するので、リードアウトエリアの未書き込み部分を無くして２重書きを防止することができる。
このようにして、リードアウト領域の記録時にサーボエラーが発生した場合、リードアウト領域にブランク部分がなくなり、その後にこのＣＤ−Ｒディスクを挿入しても次の情報記録命令でブロックを２重書きせずに記録することができ、マウント失敗や再生不能になることを回避できる。
【００５０】
次に、既にトラックの途中からブランクになっているＣＤ−Ｒディスクが挿入されたときのブランク誤検出を防ぐ必要がある。そこで、このＣＤ−Ｒドライブは、図８に示すようなブランクチェック処理を実行する。まず始めにＰＭＡを再生し（ステップ５１）、トラックのアドレス等の情報を得る（ステップ５２）。
【００５１】
そして、存在するトラックの実態を第１トラックからチェックする。ブランクチェックは、トラックの先頭５ブロック（ブランクチェックアドレス１）と、最後の５ブロック（ブランクチェックアドレス２）において、再生信号の有無によって実施する。そのチェックするトラックのブランクチェックアドレス１を計算し（ステップ５３）、その部分を再生して再生信号があるか否かを確認する（ステップ５４）。
【００５２】
ステップ５４で再生信号があれば、ブランクフラグ１に“０”をセットし（ステップ５５）、次にブランクチェックアドレス２を計算する（ステップ５６）。その部分を再生して再生信号があるか否かを確認する（ステップ５７）。ステップ５７で再生信号があれば、ブランクフラグ２に“０”をセットする。ステップ５４で再生信号が検出されないときは、ブランクフラグ１に“１”をセットしてフラグチェックにいく（ステップ５９）。
【００５３】
また、ステップ５７で再生信号が検出されない場合はブランクフラグ２に“１”をセットし、フラグチェック処理にいき（ステップ５９）、次のトラックの状態をチェックする（ステップ６０）。そして、ＰＭＡに存在するトラックの実態を全てチェックしたらこの処理を終了する。
【００５４】
このようにして、フラグチェック処理で得られたブランクフラグ１と２のフラグ値に基づいてトラックの状態を判断する。
すなわち、表１に示すように、ブランクフラグ１と２のフラグ値が共に“０”の場合は「書き込み済みトラック」と判定する。また、ブランクフラグ１のフラグ値が“０”であり、ブランクフラグ２のフラグ値が“１”の場合は「途中まで書き込み済みのトラック」と判定する。そして、ブランクフラグ１のフラグ値が“１”の場合は「ブランクトラック（未記録トラック）」と判定する。
【００５５】
【表１】
0003825511.tif 000002
【００５６】
このようにして、挿入されたＣＤ−Ｒディスク上のトラックに対して書き込み状態を正しく認識できるので、そのトラックについてブランクか書き込み済みか途中まで書き込み済みかを判断して、誤ってブランクと判断することがなくなる。
【００５７】
次に、上述したブランクチェック処理によってトラックの状態をチェックした後、２重書きを引き起こす原因になる「途中まで記録済みのトラック」の修復を実施する必要がある。そこで、このＣＤ−Ｒドライブは、図９に示すように、ホストコンピュータからＳＣＳＩコマンド「ブランクライトコマンド（Ｂｌａｎｋ  Ｗｒｉｔｅ  Ｃｏｍｍａｎｄ）」を受信すると（ステップ７１）、挿入されているＣＤ−Ｒディスク上のトラック数をセットし、開始トラック番号をプログラム変数Ｘに設定する（ステップ７２）。
【００５８】
ステップ７２で設定したトラックが、図８に示したブランクチェック処理によって「途中まで記録済みのトラック」か否かを確認し（ステップ７３）、そのトラックをベリファイすることによってブランク位置を検出する（ステップ７４）。その後、バッファメモリ５にダミーデータをセットし（ステップ７５）、ステップ７３で検出したアドレスからダミーデータの記録処理を実施する（ステップ８１）。
【００５９】
そのライト処理を実施した後、トラックがディスク上にある最大トラック数か否かを確認し（ステップ７９）、最大トラック数に達してなければトラック番号を１インクリメントして、再度ブランク部分の記録処理を実施する（ステップ８１）。
【００６０】
ステップ７９でトラックが最大トラック番号に達したときは、リードイン領域のブランク記録処理を実施し（ステップ７８）、リードアウト領域のブランク処理を実施し（ステップ７９）、それぞれのコマンドの終了処理を実施して（ステップ８０）、この処理を終了する。この処理でリードイン領域とリードアウト領域に記録するデータは、それぞれＴＯＣデータ（ＴＯＣ情報）及びリードアウトデータである。
【００６１】
このようにして、ＣＤ−Ｒディスクの「途中まで記録済みのトラック」の修復を実施すれば、他のＣＤ−Ｒドライブにおいても２重書きを起こさずに追記可能になり、再生することができる。また、ＴＯＣ情報も正しく書かれているのでトラック情報やセッション情報も正しく認識できるようになり、ＣＤ−Ｒディスクを有効に活用することができる。
【００６２】
【発明の効果】
以上説明してきたように、この発明による情報記録再生装置によれば、データ記録中にエラー終了した光ディスクに対する２重書きを防止し、再生不能にならないようにすることができる。
【図面の簡単な説明】
【図１】この発明の情報記録再生装置の一実施形態であるＣＤ−Ｒドライブの構成を示すブロック図である。
【図２】ＣＤ−Ｒディスクのフォーマットを示す図である。
【図３】ＣＤ−Ｒディスクに対する２重書きの説明図である。
【図４】図１に示したＣＤ−Ｒドライブにおけるトラック記録処理を示すフローチャートである。
【図５】図１に示したＣＤ−Ｒドライブにおける未書き込み領域追記処理を示すフローチャートである。
【図６】図１に示したＣＤ−Ｒドライブにおけるリードイン領域記録処理を示すフローチャートである。
【図７】図１に示したＣＤ−Ｒドライブにおけるリードアウト領域記録処理を示すフローチャートである。
【図８】図１に示したＣＤ−Ｒドライブにおけるブランクチェック処理を示すフローチャートである。
【図９】図１に示したＣＤ−Ｒドライブにおけるブランクを埋める処理を示すフローチャートである。
【符号の説明】
１：ＣＰＵ  ２：フラッシュＲＯＭ
３：ホストインタフェースコントローラ
４：バッファマネジャ    ５：ダイナミックＲＡＭ
６：サブコードオペレーションコントローラ
７：ＣＤ−ＲＯＭエンコーダ
９：ＣＤ−ＲＯＭデコーダ    １０：オーディオ回路
１１：システムコントローラ  １２：ＣＤエンコーダ
１３：ＣＤデコーダ  １４：サーボ回路
１５：スピンドルモータコントローラ
１６：ＳＣＳＩバス  １７：ＣＤ−Ｒディスク
２０：パワーキャリブレーションエリア（ＰＣＡ）
２１：拡大記録領域（ＰＭＡ）
２２：プログラムエリア  ２３：セッション
２４：リードイン領域    ２５：トラック
２６：リードアウト領域
【図１】
0003825511.tif 000003
【図２】
0003825511.tif 000004
【図３】
0003825511.tif 000005
【図４】
0003825511.tif 000006
【図５】
0003825511.tif 000007
【図６】
0003825511.tif 000008
【図７】
0003825511.tif 000009
【図８】
0003825511.tif 000010
【図９】
0003825511.tif 000011