(57)【特許請求の範囲】
【請求項１】
データ書き込み可能な光ディスクに対して、情報の記録及び再生を行う光ディスク装置において、
情報処理機器を有する外部のホストシステム装置から入力された上記光ディスクに書き込むためのデータを所定の方法でデータ処理して出力する書き込みデータ処理部と、
上記光ディスクから読み出されたデータ信号から光ディスク上のデータ書き込み中断位置の検出を行い、該データ書き込み中断位置を検出すると書き込みデータ処理部に所定の信号を出力する中断位置検出部と、
上記ホストシステム装置からの光ディスクに対する書き込み用データの供給が中断する状態の発生検出を行い、該検出結果に応じて上記書き込みデータ処理部に対して動作制御を行う制御部と、
上記光ディスクへのデータ書き込みが新規の書き込みであるか否かの情報を格納するメモリ部と、
を備え、
上記制御部は、光ディスクへのデータ書き込み処理が中断し該データ書き込み処理に必要な各種データが消失した場合、上記ホストシステム装置に対して光ディスクへの書き込みデータを再送させると共に、上記書き込みデータ処理部に対して、光ディスク上のデータ書き込み中断位置まで、光ディスクへの書き込み用データの出力を禁止して上記所定のデータ処理を行う擬似的な光ディスクに対するデータ書き込み処理を行わせて、上記消失した各種データを復元させ、
上記書き込みデータ処理部に対して行わせるデータ書き込み処理が光ディスクに対する新規の書き込みか又はデータ書き込み中断後の再書き込みであるかの情報を上記メモリ部に格納すると共に、メモリ部に格納した該情報からデータ書き込みの再開時に、書き込みデータ処理部に対して上記擬似的な光ディスクに対するデータ書き込み処理を行わせることを特徴とする光ディスク装置。
【請求項２】
上記中断位置検出部は、上記光ディスクから読み出されたデータ信号が所定時間以上中断すると光ディスク上のデータ書き込み中断位置であると判定し、上記書き込みデータ処理部に所定の信号を出力することを特徴とする請求項１記載の光ディスク装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＣＤ−Ｒ／ＲＷ、ＤＶＤ−Ｒ／ＲＷ、ＤＶＤ＋ＲＷ等のデータ書き込み可能な光ディスクに対する情報の記録及び再生を行う光ディスク装置に関し、特に光ディスクへのデータ書き込み中に電源遮断やシステムの初期化等が行われた際に、光ディスクへのデータ書き込みを再開することができる技術に関する。
【０００２】
【従来の技術】
ＣＤ−Ｒ／ＲＷ、ＤＶＤ−Ｒ／ＲＷ、ＤＶＤ＋ＲＷ等のデータ書き込み可能な光ディスクへのデータ記録を１回の書き込み動作で完了する必要があり、その書き込み方式は、トラックアットワンス(Track at Once)、ディスクアットワンス(Disc at Once)と呼ばれている。この１回の書き込み動作中に、ホストコンピュータからのデータ転送速度よりも光ディスクへの書き込み速度の方が速く、光ディスクに書き込むデータが途切れた場合、すなわちバッファアンダーランを起こした場合は、光ディスクへのデータ書き込みを失敗することになる。
【０００３】
該バッファアンダーランは、データ書き込みを高速に行うほど発生しやすくなり、バッファアンダーランが発生するとＣＤ−Ｒのような書き換え不能なメディアにとっては致命的である。従来、バッファアンダーランの回避方法としては、バッファＲＡＭ（例えば、ＤＲＡＭで構成されている）の容量を大きくするか、又はホストコンピュータからのデータ転送スピードよりも光ディスクへのデータ書き込みスピードを遅くするといった方法がとられている。
【０００４】
特開平１０−４９９９０号公報では、バッファアンダーランの回避方法ではなく、バッファアンダーランが起こった際には、一旦光ディスクへのデータ書き込みを中断し、ホストコンピュータから転送された十分な量のデータがバッファＲＡＭに蓄積された後、中断した光ディスクの位置から書き込みを再開する技術が開示されており、光ディスクへのデータ書き込み処理において、致命的なバッファアンダーランが発生した場合においても、データ書き込みに失敗することなく、正常にデータ書き込み動作を終了させることができるものである。
【０００５】
【発明が解決しようとする課題】
しかし、このような特開平１０−４９９９０号公報で開示された記録制御では、光ディスクへのデータ書き込み処理を行っている最中に電源遮断やシステムの初期化等が行われると、光ディスクへのデータ書き込みが中断されて各種データの保持内容が消失し、該消失したデータは復元することができず、光ディスクへのデータ書き込みを失敗するという問題があった。
【０００６】
本発明は、上記のような問題を解決するためになされたものであり、光ディスクへのデータ書き込み処理中に電源遮断やシステムの初期化等が行われて該データ書き込み処理が中断して各種データの保持内容が消失した場合においても、該中断前の状態に復元させて光ディスクへのデータ書き込み処理を再開することができる光ディスク装置を得ることを目的とする。
【０００７】
【課題を解決するための手段】
この発明に係る光ディスク装置は、データ書き込み可能な光ディスクに対して、情報の記録及び再生を行う光ディスク装置において、
情報処理機器を有する外部のホストシステム装置から入力された上記光ディスクに書き込むためのデータを所定の方法でデータ処理して出力する書き込みデータ処理部と、
上記光ディスクから読み出されたデータ信号から光ディスク上のデータ書き込み中断位置の検出を行い、該データ書き込み中断位置を検出すると書き込みデータ処理部に所定の信号を出力する中断位置検出部と、
上記ホストシステム装置からの光ディスクに対する書き込み用データの供給が中断する状態の発生検出を行い、該検出結果に応じて上記書き込みデータ処理部に対して動作制御を行う制御部と、
上記光ディスクへのデータ書き込みが新規の書き込みであるか否かの情報を格納するメモリ部と、
を備え、
上記制御部は、光ディスクへのデータ書き込み処理が中断し該データ書き込み処理に必要な各種データが消失した場合、上記ホストシステム装置に対して光ディスクへの書き込みデータを再送させると共に、上記書き込みデータ処理部に対して、光ディスク上のデータ書き込み中断位置まで、光ディスクへの書き込み用データの出力を禁止して上記所定のデータ処理を行う擬似的な光ディスクに対するデータ書き込み処理を行わせて、上記消失した各種データを復元させ、
上記書き込みデータ処理部に対して行わせるデータ書き込み処理が光ディスクに対する新規の書き込みか又はデータ書き込み中断後の再書き込みであるかの情報を上記メモリ部に格納すると共に、メモリ部に格納した該情報からデータ書き込みの再開時に、書き込みデータ処理部に対して上記擬似的な光ディスクに対するデータ書き込み処理を行わせるものである。
【０００９】
具体的には、上記中断位置検出部は、光ディスクから読み出されたデータ信号が所定時間以上中断すると光ディスク上のデータ書き込み中断位置であると判定し、書き込みデータ処理部に所定の信号を出力するようにした。
【００１３】
【発明の実施の形態】
次に、図面に示す実施の形態に基づいて、本発明を詳細に説明する。
第１の実施の形態．
図１は、本発明の第１の実施の形態における光ディスク装置の概略の構成例を示したブロック図であり、図１では、ＣＤ−Ｒを例にして示している。なお、以下の説明では、シンクパターンをシンクと略して示す。
図１の光ディスク装置１において、光ディスク２に対してデータの読み出し及び書き込みを行う光ピックアップ３は、半導体レーザ、光学系、フォーカスアクチュエータ、トラックアクチュエータ、受光素子、及びポジションセンサ等（図示せず）を内蔵しており、レーザ光を光ディスク２に照射してデータの読み出し及び書き込みを行う。
【００１４】
光ピックアップ３によって読み出された信号ＲＦは、リードアンプ４で増幅されると共に２値化される。ＣＤデコーダ５は、リードアンプ４で増幅され２値化されたデータに対してＥＦＭ復調及びＣＩＲＣ演算（デインタリーブ、エラー訂正等）を行ってデコードし、該デコードしたデータが音楽用データ（以下、ＣＤデータと呼ぶ）の場合は、Ｄ／Ａコンバータ６でＤ／Ａ変換されオーディオ信号として出力される。
【００１５】
また、ＣＤデコーダ５は、デコードしたＣＤデータ及びパソコン用データ（以下、ＣＤ−ＲＯＭデータと呼ぶ）をＣＤ−ＲＯＭデコーダ７に出力する。ＣＤ−ＲＯＭデコーダ７は、入力されたデータをバッファマネージャ８を介して随時バッファＲＡＭ９に格納すると共に、更にデータの信頼性を高めるために、該格納されたデータに対してエラー訂正処理を行う。このような場合においても、バッファＲＡＭ９に格納されたデータの読み出し、及びエラー訂正によるデータの書き戻しを行うためのバッファＲＡＭ９とのデータの受け渡しは、バッファマネージャ８を介して行われる。
【００１６】
ＣＤ−ＲＯＭデコーダ７によってエラー訂正処理が終了したデータは、バッファマネージャ８を介して読み出され、ホストインタフェース１０を介して外部のホストコンピュータＨＣへ転送される。ホストインタフェース１０は、ホストコンピュータＨＣとの間のインタフェースを行うものであり、例えば、ＡＴＡＰＩ又はＳＣＳＩ等の規格に準拠している。
【００１７】
一方、未記録の光ディスク２には、製造過程でＡＴＩＰデータが埋め込まれており、光ディスク２の未記録部分にデータを書き込む場合、光ピックアップ３によって該ＡＴＩＰデータの読み出しを行う。すなわち、光ピックアップ３によって光ディスク２上のウォブル(Wobble)信号が読み出され、該信号はリードアンプ４で増幅して２値化されＡＴＩＰデコーダ１１に出力される。
【００１８】
ＡＴＩＰデコーダ１１は、入力されたＡＴＩＰデータから同期信号（以下、ＡＴＩＰシンクと呼ぶ）及び時間情報（以下、ＡＴＩＰ時間情報と呼ぶ）をデコードして生成し、ＣＤエンコーダ１２に出力する。ＣＤエンコーダ１２は、光ディスク２の未記録部分にデータの書き込みを行う際、光ディスク２上の書き込み位置を検出するための重要な情報として、入力されたＡＴＩＰデータを使用する。ＣＤエンコーダ１２は、ＡＴＩＰシンク、ＡＴＩＰ時間情報によって、光ディスク２における正確な位置からの書き込みを可能にしている。
【００１９】
このように、光ディスク２の未記録部分では、ＡＴＩＰデータからのみ光ディスク上における位置を示す時間情報を得ることができる。これに対して、光ディスク２のデータ記録済み部分では、ウォブル信号の品質が悪く、ＡＴＩＰデコーダ１１で正確なＡＴＩＰシンク及びＡＴＩＰ時間情報を生成できない場合がある。しかし、光ディスク２の記録済み部分には同期信号をなすサブコードシンクと共にサブコードデータが記録されており、ＣＤデコーダ５は、該サブコードデータの処理を行って光ディスク２上の時間情報をＣＤエンコーダ１２に出力する。このように、ＣＤエンコーダ１２は、光ディスク２の記録済み部分にデータを書き込む場合は、サブコードデータを使用して光ディスクの位置を示す時間情報を得ることも可能である。
【００２０】
光ディスク２への書き込み用データは、ホストコンピュータＨＣからバッファマネージャ８を介してバッファＲＡＭ９へ転送される。ＣＤ−ＲＯＭエンコーダ１３は、バッファマネージャ８を介してバッファＲＡＭ９のデータを読み出し、エラー訂正コード、ＥＤＣコード、ＳＹＮＣコード、及びヘッダ情報等を付加して、バッファＲＡＭ９へ書き戻す。
【００２１】
また、ＣＤ−ＲＯＭエンコーダ１３は、準備されたデータをバッファマネージャ８を介してバッファＲＡＭ９から読み出し、ＣＤエンコーダ１２内の後述するＣＩＲＣ演算用ＲＡＭ部に書き込む。ＣＤエンコーダ１２は、ＣＩＲＣ演算用ＲＡＭ部内のデータをＣＩＲＣ演算し、エラー訂正コードの付加やインタリーブを行って、演算を終えたデータを更にＥＦＭ変調して出力する。ＣＤエンコーダ１２から出力されたデータは、レーザコントロール回路１４、光ピックアップ３を介して、光ディスク２に記録される。
【００２２】
また、光ディスク２から得られるウォブル信号が、光ピックアップ３及びリードアンプ４を介してサーボ回路１５に入力され、サーボ回路１５で生成された回転制御信号がモータドライバ１６を介してスピンドルモータ１７に供給される。なお、ＣＤデコーダ５、ＣＤ−ＲＯＭデコーダ７、ホストインタフェース１０、ＡＴＩＰデコーダ１１、ＣＤエンコーダ１２及びＣＤ−ＲＯＭエンコーダ１３等は、ＣＰＵ２０によって動作制御される。また、ＣＤエンコーダ１２は書き込みデータ処理部を、ＣＰＵ２０は制御部を、ホストコンピュータＨＣはホストシステム装置をそれぞれなす。一方、リードアンプ４、ＣＤデコーダ５及びサーボ回路１５は、例えば、ディジタルサーボプロセッサ（ＤＳＰ）と呼ばれるＬＳＩに搭載されている。
【００２３】
ここで、図２は、オレンジブックに規定されたＣＤ−Ｒ／ＲＷのデータ書き込み単位のフォーマットを示す。通常、光ディスク２に記録されたデータの再生時におけるデインタリーブや、同期引き込みの関係から、ユーザデータブロック(User Data Block)にデータを書き込んだだけでは完全にそのデータを読み出すことができない。このことから、ユーザデータブロックの前に５ブロック、ユーザデータブロックの後に２ブロックの冗長ブロックをそれぞれ設けることにより、ユーザデータブロックを保護し、確実にデータを読み出せるようにしている。
【００２４】
ユーザデータブロックの前の５ブロックは、リンクブロック（Link Block）ＬＢ、第１〜第４ランインブロック（Run-in Block）ＲＩＢ１〜ＲＩＢ４で構成され、ユーザデータブロックの後の２ブロックは、第１ランアウトブロック（Run-out Block）ＲＯＢ１及び第２ランアウトブロックＲＯＢ２で構成されている。
【００２５】
図３は、図２に示したデータを書き込む際に、複数回に分けて書き込んだ場合のフォーマット例を示した図である。
図３において、データ書き込み時にはホストコンピュータＨＣからのデータを受け取り、バッファＲＡＭ９に該データが埋まると、ＣＤエンコーダ１２は、スタートライト（Start Write）ＳｔａｒｔＷを実行する。
【００２６】
更に、ＣＤエンコーダ１２は、光ディスク２へのデータの書き込みを開始し、バッファＲＡＭ９のデータが残り少なくなってバッファアンダーランを起こしそうになると、ポーズライト（Pause Write）ＰＷを実行して光ディスク２へのデータ書き込みを一時停止する。その後、ＣＤエンコーダ１２は、ホストコンピュータＨＣからのデータ転送を待ち、再度バッファＲＡＭ９にデータが埋まると、リスタートライト（Restart Write）ＲｅＷを実行し、ポーズライトＰＷでデータ書き込みを一時停止した位置を検出して、その位置から続けてデータの書き込みを開始する。
【００２７】
このように、ＣＤエンコーダ１２は、バッファＲＡＭ９のデータが少なくなるとポーズライトＰＷでデータの書き込みを一時停止し、再度バッファＲＡＭ９にデータが埋まるとリスタートライトＲｅＷでデータ書き込みを再開する処理を適宜繰り返す。ホストコンピュータＨＣからの書き込み用データをすべて光ディスク２に書き込むと、ＣＤエンコーダ１２は、最後にストップライト（Stop Write）ＳｔｏｐＷを実行して書き込み処理を完了する。このようなデータ処理によって、図２で示したフォーマットと同様に、あたかも１回の書き込み処理を行ったようなデータの書き込みを行うことができる。
【００２８】
ここで、図１で示した各部の書き込み制御動作における動作の流れについて説明する。
まず最初に、ＣＰＵ２０は、スタートライト（ＳｔａｒｔＷ）指令を発行し、ＣＤエンコーダ１２は、光ディスク２への書き込み動作を開始する。次に、バッファマネージャ８は、ホストコンピュータＨＣから転送されてきたデータを受信し、該データはバッファＲＡＭ９に格納され、ＣＰＵ２０は、ホストコンピュータＨＣから転送されバッファＲＡＭ９に格納されたデータが所定の量に減少したか否かを所定の方法で調べる。
【００２９】
ＣＰＵ２０は、バッファＲＡＭ９に格納されたデータが所定量に減少していなければ、所定のファームウェアに従って光ディスク２へのデータ書き込みが終了したか否かを判断し、終了した場合は、ＣＤエンコーダ１２に対してストップライト（ＳｔｏｐＷ）指令を発行して、書き込み処理は終了する。また、光ディスク２へのデータ書き込みが終了していなければ、ＣＤエンコーダ１２は、光ディスク２への書き込み動作を継続する。
【００３０】
一方、ＣＰＵ２０は、バッファＲＡＭ９に格納されたデータが所定量に減少したと判断すると、ＣＤエンコーダ１２に対してポーズライト（ＰＷ）指令を発行して光ディスク２への書き込み処理を中断させる。次に、バッファマネージャ８は、ホストコンピュータＨＣから転送されてきたデータを受信し、該データはバッファＲＡＭ９に格納され、ＣＰＵ２０は、ホストコンピュータＨＣから転送されバッファＲＡＭ９に格納されたデータが所定量になったか否かを所定の方法で調べる。
【００３１】
ＣＰＵ２０は、バッファＲＡＭ９に所定量のデータが格納されたと判断すると、ＣＤエンコーダ１２に対してリスタートライト（ＲｅＷ）指令を発行して光ディスク２への書き込み処理を再開させ、バッファマネージャ８は、ホストコンピュータＨＣから転送されてきたデータを受信してバッファＲＡＭ９に格納する。また、ＣＰＵ２０は、バッファＲＡＭ９に所定量のデータが格納されていないと判断すると、引き続きバッファマネージャ８は、ホストコンピュータＨＣから転送されてきたデータを受信してバッファＲＡＭ９に格納する。
【００３２】
このように、ＣＰＵ２０は、ホストコンピュータＨＣからライトコマンドと所定量のデータを受け取るとデータ書き込みを開始させるスタートライト（ＳｔａｒｔＷ）指令を発行する。該スタートライト（ＳｔａｒｔＷ）指令は、リンクブロックから始まる通常のライトシーケンスであり、光ディスク２への書き込みとホストコンピュータＨＣからのデータの受信を繰り返す。該書き込み処理中において、光ディスク２への書き込み速度よりホストコンピュータＨＣからのデータ転送速度が遅いと、バッファＲＡＭ９内のデータが減少して書き込み処理が続行できなくなる。
【００３３】
このことから、ＣＰＵ２０は、バッファＲＡＭ９内のデータ量の減少を検出してホストコンピュータＨＣからのデータの転送が間に合わないと判断した場合は、ポーズライト（ＰＷ）指令を発行して書き込み処理を中断させる。なお、ポーズライト（ＰＷ）指令で書き込み処理を中断する場合は、ランアウトブロックを書き込まずに書き込み処理を一時中断するライトシーケンスである。
【００３４】
この後、ＣＰＵ２０は、ホストコンピュータＨＣからのデータを充分受信してバッファＲＡＭ９内に格納されると、リスタートライト（ＲｅＷ）指令を発行する。リスタートライト（ＲｅＷ）指令で書き込み処理を行う場合は、通常のライトシーケンスのようにリンクブロックにはデータを書き込まずに、書き込み処理を中断した時のデータの続きから、連続性を保ち、且つ書き込み位置合わせによって同期がはずれないように、書き込み処理を中断した時の書き込みデータの終端から正確に書き込み処理を行うライトシーケンスである。所定のデータが光ディスク２に書き込まれると、ＣＰＵ２０は、ストップライト（ＳｔｏｐＷ）指令を発行する。なお、ストップライト（ＳｔｏｐＷ）指令で書き込み処理を終了する場合は、ランアウトブロックを書き込む通常の書き込みシーケンスである。
【００３５】
上記のように、光ディスク装置１は、ライトシーケンス中にバッファＲＡＭ９のデータ量を監視し、バッファアンダーランによる書き込み失敗を防ぐために随時ポーズライトＰＷとリスタートＲｅＷを繰り返す。このようにすることによって、光ディスク２へのデータ書き込み中に、ホストコンピュータＨＣからのデータ転送が間に合わない場合には、書き込み処理を一時中断して、ホストコンピュータＨＣからデータが充分送られたときにデータの書き込みを再開する。このことから、ホストコンピュータＨＣからのデータ転送が一時的に途切れたり転送レートが低下しても、複数回に分けて正常にデータを光ディスク２に書き込むことができ、データ書き込みの失敗を防止することができる。また、データ転送の脈動を吸収するバッファＲＡＭ９の容量を小さくすることができ、光ディスク装置１のコストダウンを図ることができる。
【００３６】
次に、図４は、ＣＤエンコーダ１２の構成例を示した概略のブロック図であり、図４を用いてＣＤエンコーダ１２の光ディスク２へのデータ書き込み動作についてもう少し詳細に説明する。
図４において、ＣＤエンコーダ１２は、ＰＬＬ回路等で構成されたクロックジェネレータからなるクロック信号生成部３０と、ＣＩＲＣ演算用ＲＡＭ部３１と、ＣＩＲＣ演算部３２と、ＥＦＭエンコーダ部３３と、書き込み制御部３４とを備えている。
【００３７】
クロック信号生成部３０は、水晶発振器（図示せず）から入力される例えば３３.８６８８ＭＨｚのクロック信号からＣＤエンコーダ１２内で必要な書き込み用基準クロック信号であるチャネルクロック信号を生成してＣＤエンコーダ１２内の各部に出力する。ＣＩＲＣ演算用ＲＡＭ部３１は、ＣＤ−ＲＯＭエンコーダ１３によってバッファＲＡＭ９から読み出された書き込み用データを、ＣＩＲＣ演算等を行うために一時的に格納する。
【００３８】
ＣＩＲＣ演算部３２は、該ＣＩＲＣ演算用ＲＡＭ部３１に格納されたデータに対してＣＩＲＣ演算を行い、エラー訂正コードの付加やインタリーブを行い、ＥＦＭエンコーダ部３３は、ＣＩＲＣ演算部３２で処理されたデータに対して所定の方法でＥＦＭ変調してレーザコントロール回路１４に出力する。また、書き込み制御部３４は、ＣＰＵ２０からの指令に応じて、ＣＩＲＣ演算部３２、ＥＦＭエンコーダ部３３及びＣＤ−ＲＯＭエンコーダ１３におけるＣＤエンコーダ１２とのインタフェースを行うＣＤインタフェース部３５に対して書き込み制御を行う制御信号をそれぞれ生成して出力する。
【００３９】
具体的には、書き込み制御部３４は、ＣＰＵ２０からスタートライト（ＳｔａｒｔＷ）指令が入力されると所定のライト信号Ｗを生成し、ＣＰＵ２０からポーズライト（ＰＷ）指令が入力されると所定のポーズ信号Ｐを生成してＣＩＲＣ演算部３２、ＥＦＭエンコーダ部３３及びＣＤインタフェース部３５にそれぞれ出力する。また、書き込み制御部３４は、ＣＰＵ２０からリスタートライト（ＲｅＷ）指令が入力されると所定のポーズ解除信号ＰＸを生成し、ＣＰＵ２０からストップライト（ＳｔｏｐＷ）指令が入力されると所定のストップ信号Ｓを生成してＣＩＲＣ演算部３２、ＥＦＭエンコーダ部３３及びＣＤインタフェース部３５にそれぞれ出力する。なお、図４において、Ａはアドレスデータを、Ｄはデータを、Ｒｅｑはリクエスト信号を、Ａｃｋはアクノリッジ信号を示している。
【００４０】
このような構成において、ＣＰＵ２０からポーズライト（ＰＷ）指令が出力されると、書き込み制御部３４は、ＣＩＲＣ演算部３２、ＥＦＭエンコーダ部３３及びＣＤインタフェース部３５に対して、あらかじめ設定された書き込み終了ＥＦＭフレームまで書き込み処理を続行させ、該ＥＦＭフレームの終わりまで書き込み処理を行われた後、書き込み処理を中断させる。また、ＣＩＲＣ演算用ＲＡＭ部３１にアクセスを行うＣＩＲＣ演算部３２、ＥＦＭエンコーダ部３３及びＣＤインタフェース部３５は、ＥＦＭフレームの終わりでは、該フレーム内で必要となる演算、読み出し処理を終えているため、その状態で待機状態となる。
【００４１】
該待機状態では、ＣＩＲＣ演算部３２、ＥＦＭエンコーダ部３３及びＣＤインタフェース部３５とＣＩＲＣ演算用ＲＡＭ部３１との間でのアドレスデータ、データ、リクエスト信号及びアクノリッジ信号の生成動作は停止される。また、ＥＦＭエンコーダ部３３は、ＥＦＭ信号及びライトゲート信号ＷＧＡＴＥといった書き込み用信号の出力を中止する。このように、ライトゲート信号ＷＧＡＴＥの出力が停止されるため、光ディスク２へのデータ書き込みも中断することになる。
【００４２】
ここで、バッファアンダーランが発生した際に光ディスク２へのデータ書き込みが失敗に終わるのは、書き込み用データを生成するＣＩＲＣ演算部３２でインタリーブがかけられるため、再書き込み時に同じ状態が作れないことと、ＥＦＭエンコーダ部３３で行われるＤＳＶ(Digital Sum Value)の演算が再書き込み動作時に乱れることが原因となっている。ＣＰＵ２０から書き込み中断指令を受けた時点で、書き込み用データを生成するためにＣＩＲＣ演算用ＲＡＭ部３１にアクセスするＣＤ−ＲＯＭエンコーダ１３、ＣＩＲＣ演算部３２、ＥＦＭエンコーダ部３３の各部が、現時点でのアクセス完了後に待機状態となり、再書き込み開始と共に動作を再開するように制御することで、インタリーブは管理できる。また、同時にＥＦＭエンコーダ部３３も待機状態にすることで、ＤＳＶ演算の乱れも回避することができる。
【００４３】
上記中断状態で、ＣＰＵ２０からリスタートライト（ＲｅＷ）指令が出力されると、書き込み制御部３４は、後述するように再書き込み位置の検出を行った後、ポーズ信号Ｐで待機状態となっていたＣＩＲＣ演算部３２、ＥＦＭエンコーダ部３３及びＣＤインタフェース部３５に対してポーズ解除信号ＰＸをそれぞれ出力する。このようにして、ＣＩＲＣ演算部３２、ＥＦＭエンコーダ部３３及びＣＤインタフェース部３５は、待機した状態からの続きの処理を行って、ＥＦＭエンコーダ部３３からＥＦＭ信号及びライトゲート信号ＷＧＡＴＥの出力が再開される。ライトゲート信号ＷＧＡＴＥの出力が再開されることにより、光ディスク２へのデータ書き込みも待機した状態の続きから再開される。
【００４４】
このようにして、光ディスク２に対するデータの書き込み終了位置及び再書き込み開始位置で、書き込み用データの連続性を維持する書き込みを行うことから、書き込み時に、書き込み動作を一時停止し、再書き込みした場合においても後でそのデータを正確にかつ連続的に読み出すことができる。
【００４５】
次に、再書き込み位置の検出について説明する。
データ記録のつなぎ部分で同期を損なわずにデータを再生するためには、フレーム同期保護ウィンドウ幅を考慮すると、図５に示すようなフォーマットになる。すなわち、同期を損なわずに再生できるような書き込みを行うには、±２ビットクロック程度のズレでデータ記録のつなぎ部分を形成する必要がある。
【００４６】
そこで、書き込み制御部３４は、ＣＰＵ２０からポーズライト（ＰＷ）指令が出力されると、その時点の時間情報と書き込むサブコードシンク(Ｓ０又はＳ１)を基準にして何ＥＦＭフレームまで書き込んだかの情報を、内蔵するレジスタ（図示せず）に格納し、該ＥＦＭフレームの終わりまでデータの書き込みを行って、書き込み処理を中断する。ＣＰＵ２０からリスタートライト（ＲｅＷ）指令が出力される再書き込み処理においては、ＣＰＵ２０は、データ書き込みを中断した光ディスク２上の位置を書き込み制御部３４のレジスタから読み出して確認し、該位置の手前にシークする。
【００４７】
ＣＰＵ２０によって該シークが行われた後、書き込み制御部３４は、ＡＴＩＰの時間情報又はサブコードの時間情報から、書き込みを中断した時間まで進むと、サブコードシンク(Ｓ０又はＳ１)を待ち、サブコードシンクを検出すると、書き込み中断時にレジスタに格納したＥＦＭフレーム数分、フレームシンクを待つ。書き込み制御部３４は、書き込み中断時には、必ずフレームシンクを書き込んだ時点で書き込みを中断するように処理するため、該時点からフレームシンクの復調ディレイ時間待機した後、再書き込みを再開すると、光ディスク２上で正確にデータをつなぐことができる。
【００４８】
次に、光ディスク２へのデータ書き込み処理中に電源遮断やシステム初期化が行われ、光ディスクへのデータ書き込みが中断され各種データの保持内容が消失した際の書き込み制御について説明する。
書き込み処理時におけるデータ保持内容の主なものとしてバッファＲＡＭ９の書き込みデータ、ＣＩＲＣ演算用ＲＡＭ部３１内のデータ、書き込み制御部３４内のレジスタに格納した書き込み中断位置等がある。
【００４９】
まず、電源遮断等によって光ディスク２へのデータ書き込みが中断された後、光ディスク２へのデータ書き込みを再開する場合、ＣＰＵ２０は、今回行おうとしている光ディスク２へのデータ書き込みが中断した後に再開するものであり、新規なものではないということを認識する必要がある。そこで、このような判断を行うために図４で示したようにフラッシュメモリ等の不揮発性メモリからなるメモリ２１を設け、ＣＰＵ２０によって新規の書き込み時にはセットされると共に通常の書き込みが終了した際にはリセットされる新規フラグＦを該メモリ２１に格納する。なお、図４では、ＣＰＵ２０のアクセス可能な位置にメモリ２１を設けた場合を例にして示している。
【００５０】
ＣＰＵ２０は、光ディスク２へのデータ書き込み処理を行う際に、新規フラグＦの状態をチェックする。ＣＰＵ２０は、新規フラグＦがセットされていれば、今回の書き込みは新規なものではなく、光ディスク２へのデータ書き込みの再開には所定の復元処理が必要であり、新規フラグＦがリセットされていれば行おうとしている光ディスク２へのデータ書き込み処理が新規なものであると判断することができる。ＣＰＵ２０は、このように判断した結果をＣＤエンコーダ１２に出力する。
【００５１】
次に、ＣＰＵ２０が、実行しようとしている光ディスク２へのデータ書き込み処理が新規でないと判断した場合には、ＣＤエンコーダ１２は、データ書き込み処理を中断する前にはどこまで書き込みが行われていたのかという書き込み中断位置を検出する必要がある。該書き込み中断位置の情報は、光ディスク２のどの位置からデータ書き込みを再開するのかを特定するために必要であると共に、後述するデータの復元処理をどこまで行うかを特定する際にも必要となる。
【００５２】
次に、上記書き込み中断位置の情報を得る方法について説明する。
図６は、信号ＲＦに対する信号処理が行われる図４の各部の関係をもう少し詳細に示したブロック図であり、図７は、図６の各部の信号波形例を示した図である。
図６及び図７において、光ピックアップ３によって読み出された信号ＲＦは、リードアンプ４で増幅し２値化されてＲＦ２値化信号ＲＦ２としてＣＤデコーダ５に出力される。
【００５３】
ＣＤデコーダ５は、入力されたＲＦ２値化信号ＲＦ２に対してＥＦＭ復調及びＣＩＲＣ演算（デインタリーブ、エラー訂正等）を行ってデコードし、該デコードして得られたＥＦＭフレームシンク信号であるＤＥＦＳ（Decode EFM Frame Sync）信号、及び基準同期信号であるＤＳＦＳ（Decode Subcode Frame Sync）信号をそれぞれＣＤエンコーダ１２に出力する。例えば、ＣＤデコーダ５は、１フレームデータごとに設けられたフレームシンクパターン、及び１ブロックデータごとに設けられたサブコードシンクパターンをパターン一致回路等で検出して、ＤＥＦＳ信号及びＤＳＦＳ信号をそれぞれ生成する。
【００５４】
一方、ＣＤデコーダ５とＣＤエンコーダ１２の間には、図１では示していなかったが光ディスク２上のデータ書き込み中断位置を検出する中断位置検出部２５が設けられている。ＣＤデコーダ５は、入力されたＲＦ２値化信号ＲＦ２をデコードして得られる光ディスク２に書き込まれたＥＦＭ信号及び該ＥＦＭ信号から生成したチャネルクロック信号ＰＬＣＫをそれぞれ生成し、該ＥＦＭ信号及びチャネルクロック信号ＰＬＣＫをそれぞれ中断位置検出部２５に出力する。中断位置検出部２５は、該ＥＦＭ信号及びチャネルクロック信号ＰＬＣＫから光ディスク２上のデータ書き込み中断位置の検出を行い、該中断位置を検出すると所定の中断位置検出信号ＳａをＣＤエンコーダ１２に出力する。
【００５５】
なお、図７では、チャネルクロック信号ＰＬＣＫは、光ディスク２の回転速度を一定にするＣＬＶ再生の場合を例にして示しているが、光ディスク２の内周と外周で光ディスク２の回転速度を変えるＣＡＶ再生では、光ディスク２の回転速度に応じてチャネルクロック信号ＰＬＣＫの周波数が変化する。
【００５６】
図７からも分かるように、光ディスク２へのデータ書き込みを中断したままの状態である場合、光ディスク２上にはデータ書き込みを中断した位置以降にはピットが書き込まれていない。このため、ＥＦＭ信号はデータ書き込み中断位置以降は一定レベルとなり、中断位置検出部２５に該一定レベルのＥＦＭ信号が入力される。
【００５７】
ここで、光ディスク２上のピットとピットがないスペースの各区間は、最大でも１１ＴとＣＤの規格で決められている。このことから、中断位置検出部２５は、例えば１１Ｔよりも長い２０Ｔ等の任意の値をしきい値として設定され、ＥＦＭ信号が一定レベルである区間の長さをチャネルクロック信号ＰＬＣＫを用いてモニタすることによってデータ書き込み中断位置の検出を行うことができる。すなわち、中断位置検出部２５は、ＥＦＭ信号が一定レベルである区間の長さがしきい値である２０Ｔ以上である場合、ＣＤエンコーダ１２に所定の中断位置検出信号Ｓａを出力する。このようにして、光ディスク２上のデータ書き込み中断位置を検出することができる。なお、図４では示していないが、中断位置検出信号Ｓａは書き込み制御部３４に入力される。
【００５８】
次に、ＣＤエンコーダ１２の書き込み制御部３４は、中断位置検出部２５からデータ書き込み中断位置の情報を得ると、データ書き込み中断時点と同一の状態に復元するためにダミーライトを開始する。ダミーライトとは正常に書き込みが終了できるかどうかの確認のため、実際に書き込み動作は行わないが、一連の動作確認のため擬似的に書き込み処理を行うものである。このようなダミーライトの処理を図１及び図４を用いて説明する。
【００５９】
まず最初に、通常の書き込み処理と同様、ＡＴＩＰ信号が光ディスク２より光ピックアップ３及びリードアンプ４を経てＡＴＩＰデコーダ１１に入力される。また、ホストコンピュータＨＣから伝送された書き込みデータは、バッファマネージャ８を介してバッファＲＡＭ９へ転送される。ＣＤ−ＲＯＭエンコーダ１３は、バッファマネージャ８を介してバッファＲＡＭ９からデータを読み出し、エラー訂正コード、ＥＤＣコード、ＳＹＮＣコード、ヘッダ情報等を付加し、バッファＲＡＭ９へ書き戻す。
【００６０】
また、ＣＤ−ＲＯＭエンコーダ１３は、準備されたデータをバッファマネージャ８を介してバッファＲＡＭ９から読み出し、ＣＤエンコーダ１２のＣＩＲＣ演算用ＲＡＭ部３１に書き込む。上述したように、ＣＩＲＣ演算部３２は、ＣＩＲＣ演算用ＲＡＭ部３１内のデータをＣＩＲＣ演算し、エラー訂正コードの付加やインタリーブを行い、該演算を終えたデータは、ＥＦＭエンコーダ部３３でＥＦＭ変調が行われる。通常の書き込み処理においては、この後、ＥＦＭエンコーダ部３３は、ＥＦＭ信号及びＷＧＡＴＥ信号をレーザコントロール回路１４に出力し、光ピックアップ３を介して、光ディスク２にデータが記録されることになる。しかし、ダミーライトでは、ＥＦＭエンコーダ部３３からＥＦＭ信号及びＷＧＡＴＥ信号の出力は行われず、この段階で処理が終了する。
【００６１】
このようなダミーライトをデータ書き込み中断時点までの復元に応用することによって光ディスク２へのデータ書き込みを再開することができる。すなわち、書き込み制御部３４は、中断位置を検出したことを示す所定の中断位置検出信号Ｓａが中断位置検出部２５から入力されると、該中断位置検出信号Ｓａが入力されたことをＣＰＵ２０に伝達し、ＣＰＵ２０は、ホストコンピュータＨＣに対してデータの再送要求を行い、該データがホストコンピュータＨＣから送信される。
【００６２】
ここで、データ書き込みを再開するために必要となるデータは、データ書き込み中断位置より２セクタ以上前、例えば４セクタ前からのデータである。ホストコンピュータＨＣからのデータ受信後に、ＣＤエンコーダ１２の書き込み制御部３４は、該４セクタ前からデータ書き込み中断位置までのダミーライトを行い、各種データの復元処理を行った後、通常の書き込み処理へと移行する。
【００６３】
次に、光ディスク２へのデータ書き込みが中断され各種データの保持内容が消失した際の書き込み制御動作の流れについて説明する。
まず、光ディスク２へのデータ書き込みを開始する前に、ＣＰＵ２０は、メモリ２１内の新規フラグＦの状態をチェックする。該新規フラグＦは、新規のデータ書き込みならばリセットされ、新規のデータ書き込みでない場合はセットされている。ＣＰＵ２０は、新規フラグＦの状態をチェックすることによって、行おうとしている光ディスク２へのデータ書き込みが新規のものであるか否かの判断を行うことができる。
【００６４】
ＣＰＵ２０は、行おうとしている光ディスク２へのデータ書き込みが新規なものであると判断すると、ホストコンピュータＨＣからのライトコマンドと所定量のデータを受け取り、スタートライトを実行してメモリ２１内の新規フラグＦをセットする。該スタートライトは、リンクブロックから始まる通常のライトシーケンスであり、光ディスク装置１は、光ディスク２へのデータ書き込みとホストコンピュータＨＣからのデータ受信を繰り返す。行われるデータ書き込みがＣＰＵ２０によって新規ではないと判断されると、書き込み制御部３４は、中断位置検出部２５からの中断位置検出信号Ｓａから、光ディスク２上のデータ書き込み中断位置の検出を行い、データ書き込み中断位置を検出すると、該中断位置を検出したことをＣＰＵ２０に知らせる。
【００６５】
ＣＰＵ２０は、光ディスク２上のデータ書き込み中断位置が検出されると、ホストコンピュータＨＣに対してデータの再送要求を行い、ホストコンピュータＨＣからのデータを受信した後、ダミーライトを開始させる。書き込み制御部３４は、光ディスク２上のデータ書き込み中断位置までダミーライトによって各種データを復元した後ダミーライトをポーズして終了する。ＣＰＵ２０は、書き込み制御部３４からダミーライトが終了したことを示す信号が入力されると、書き込み制御部３４に対してリスタートライトを実行させる。
【００６６】
リスタートライトでは、通常のライトシーケンスのようにリンクブロックは書き込まずに、データ書き込み中断時のデータの続きから、データの連続性を保ちつつデータ書き込み位置を合わせることによって同期がはずれないように、データ書き込み中断時の書き込みデータの終端から正確に書き込み処理を行うライトシーケンスである。該データ書き込み処理中において、光ディスク２への書き込み速度よりもホストコンピュータＨＣのデータ転送速度が遅いと、バッファＲＡＭ９内のデータが減少して書き込み処理が続行できなくなる。
【００６７】
このため、ＣＰＵ２０は、バッファＲＡＭ９内のデータ量の減少を検出して、ホストコンピュータＨＣからのデータ転送が間に合わないと判断した場合は、書き込み制御部３４に対して、ポーズライトを実行させ書き込み処理を中断させる。ポーズライトでデータ書き込み処理を中断する場合は、ランアウトブロックを書き込まずに書き込み処理を一時中断するライトシーケンスである。その後、ＣＰＵ２０は、ホストコンピュータＨＣから所定量以上のデータを受信すると、書き込み制御部３４に対してリスタートライトを実行させる。所定のデータが光ディスク２に書き込まれると、ＣＰＵ２０は、メモリ２１の新規フラグＦをリセットして書き込み制御部３４にストップライトを実行させる。ストップライトで書き込み処理を終える場合は、ランアウトブロックを書き込む通常の書き込みシーケンスである。
【００６８】
図８及び図９は、図１、図４及び図６で示した光ディスク装置１における書き込み制御動作例を示したフローチャートであり、図８及び図９を用いて、光ディスク２へのデータ書き込みが中断され各種データの保持内容が消失した際の書き込み制御動作の流れについて説明する。
図８において、まず最初に、ＣＰＵ２０は、メモリ２１に格納されている新規フラグＦの状態をチェックし（ステップＳＴ１）、新規フラグＦの状態から新規の書き込みであるか否かを調べる（ステップＳＴ２）。ステップＳＴ２で、新規フラグＦがリセットされ新規の書き込みである場合（ＹＥＳ）、ＣＰＵ２０は、書き込み制御部３４に対してスタートライト（ＳｔａｒｔＷ）指令を発行し（ステップＳＴ３）、メモリ２１の新規フラグＦをセットする（ステップＳＴ４）。
【００６９】
書き込み制御部３４は、所定のライト信号ＷをＣＩＲＣ演算部３２、ＥＦＭエンコーダ部３３及びＣＤインタフェース部３５にそれぞれ出力して、光ディスク２への書き込み動作を開始させる（ステップＳＴ５）。次に、バッファマネージャ８は、ホストコンピュータＨＣから転送されてきたデータを受信し、該データはバッファＲＡＭ９に格納され（ステップＳＴ６）、ＣＰＵ２０は、ホストコンピュータＨＣから転送されバッファＲＡＭ９に格納されたデータが少量になった、すなわち所定量に減少したか否かを所定の方法で調べる（ステップＳＴ７）。
【００７０】
ステップＳＴ７で、所定量に減少していなければ（ＮＯ）、ＣＰＵ２０は、所定のファームウェアに従って光ディスク２へのデータ書き込みが終了したか否かを判断する（ステップＳＴ８）。ステップＳＴ８でデータ書き込みが終了したと判断した場合は（ＹＥＳ）、ＣＰＵ２０は、メモリ２１の新規フラグＦをリセットし（ステップＳＴ９）、書き込み制御部３４に対してストップライト（ＳｔｏｐＷ）指令を発行する（ステップＳＴ１０）。書き込み制御部３４は、所定のストップ信号ＳをＣＩＲＣ演算部３２、ＥＦＭエンコーダ部３３及びＣＤインタフェース部３５にそれぞれ出力して、光ディスク２への書き込み動作を終了させ（ステップＳＴ１１）、本フローは終了する。また、ステップＳＴ８で、終了していないと判断した場合は（ＮＯ）、ステップＳＴ５に戻る。
【００７１】
一方、ステップＳＴ７で、所定量に減少したと判断した場合（ＹＥＳ）、ＣＰＵ２０は、書き込み制御部３４に対してポーズライト（ＰＷ）指令を発行し（ステップＳＴ１２）、書き込み制御部３４は、所定のポーズ信号ＰをＣＩＲＣ演算部３２、ＥＦＭエンコーダ部３３及びＣＤインタフェース部３５にそれぞれ出力して、光ディスク２への書き込み処理を中断させる（ステップＳＴ１３）。次に、バッファマネージャ８は、ホストコンピュータＨＣから転送されてきたデータを受信し、該データはバッファＲＡＭ９に格納され（ステップＳＴ１４）、ＣＰＵ２０は、ホストコンピュータＨＣから転送されバッファＲＡＭ９に格納されたデータが満量になった、すなわち所定量になったか否かを所定の方法で調べる（ステップＳＴ１５）。
【００７２】
ステップＳＴ１５で、所定量のデータが格納されたと判断した場合（ＹＥＳ）、ＣＰＵ２０は、書き込み制御部３４に対してリスタートライト（ＲｅＷ）指令を発行する（ステップＳＴ１６）。書き込み制御部３４は、所定のポーズ解除信号ＰＸをＣＩＲＣ演算部３２、ＥＦＭエンコーダ部３３及びＣＤインタフェース部３５にそれぞれ出力して、光ディスク２への書き込み処理を再開させて（ステップＳＴ１７）、ステップＳＴ６に戻る。また、ステップＳＴ１５で、所定量のデータが格納されていないと判断した場合（ＮＯ）、ステップＳＴ１４に戻って書き込み処理が継続される。
【００７３】
一方、ステップＳＴ２で、新規フラグＦがセットされ新規の書き込みでない場合（ＮＯ）、図９において、書き込み制御部３４は、中断位置検出部２５からの中断位置検出信号Ｓａから書き込み中断位置の検出を行い（ステップＳＴ２０）、ＣＰＵ２０は、ホストコンピュータＨＣに対してデータの再送要求を行う（ステップＳＴ２１）。バッファマネージャ８は、ホストコンピュータＨＣから転送されてきたデータを受信し、該データはバッファＲＡＭ９に格納され（ステップＳＴ２２）、書き込み制御部３４は、各種データの復元を行うために中断位置までダミーライトを行う（ステップＳＴ２３）。
【００７４】
次に、書き込み制御部３４は、書き込み中断位置までダミーライトされたか否かを判断し（ステップＳＴ２４）、書き込み中断位置までダミーライトされた場合（ＹＥＳ）、ダミーライトをポーズして（ステップＳＴ２５）、ダミーライトを終了し、ダミーライトを終了したことを示す信号をＣＰＵ２０に出力する（ステップＳＴ２６）。ＣＰＵ２０は、書き込み制御部３４に対してリスタートライト（ＲｅＷ）指令を発行し（ステップＳＴ２７）、図８のステップＳＴ６に進みデータ書き込み処理を継続する。
【００７５】
なお、上記説明では、中断位置検出部２５を設けて書き込み制御部３４で光ディスク２上のデータ書き込み中断位置を検出するようにしたが、ＣＰＵ２０が、現在書き込みを行っている光ディスク２の位置情報を書き込み制御部３４から得て常時メモリ２１に記憶させるようにしてもよいし、電源遮断やシステム初期化等が発生すると、ＣＰＵ２０が、現在書き込みを行っている光ディスク２の位置情報を書き込み制御部３４から得てメモリ２１に記憶させるようにしてもよい。これらの場合、光ディスク２へのデータ書き込みを再開するときは、ＣＰＵ２０が、メモリ２１に格納したデータ書き込み中断位置情報を読み出して書き込み制御部３４に出力するようにする。
【００７６】
メモリ２１に記憶させておくべき位置情報は、現在書き込みを行っているデータが何分（ｍｉｎ）、何秒（ｓｅｃ）、何フレーム（ＦＲＭ）目で、更にその中の何ワード（ｗｏｒｄ）、何ビット（ｂｉｔ）目なのかという情報である。現在書き込みを行っている光ディスク２の位置情報を常時メモリ２１に記憶させる場合、書き込み処理中はメモリ２１に常時上記各種情報を上書きするようにする。これに対して、電源遮断やシステム初期化等が発生すると、現在書き込みを行っている光ディスク２の位置情報をメモリ２１に記憶させる場合について説明する。
【００７７】
光ディスク装置１に電源を供給する電源回路にはコンデンサ等が使用されているため、該電源回路への電源供給が遮断されても直ちに光ディスク装置１への電源が遮断されることはなく、電源遮断が発生してから遅延時間が経過した後、光ディスク装置１への電源供給が停止する。これは、光ディスク装置１がホストコンピュータＨＣから電源供給を受けている場合においても同様である。このことから、電源電圧の検出を行い、電源電圧が所定の電圧以下になると所定の信号をＣＰＵ２０に出力する電圧検出回路を設けることによって、ＣＰＵ２０は、電源供給が停止する前に電源遮断を検出することができる。ＣＰＵ２０は、電源遮断を検出すると現在書き込みを行っている光ディスク２の位置情報をメモリ２１に記憶させるようにする。
【００７８】
一方、光ディスク２へのデータ書き込みが行われている際に、ホストコンピュータＨＣがハングアップした場合、光ディスク装置１は正常に光ディスク２へのデータ書き込みを続行していると考えられる。このような場合、ユーザはホストコンピュータＨＣのリセット、すなわちシステムリセットを行うが、該システムリセットはＣＰＵ２０に入力され、光ディスク装置１を構成する他のＬＳＩにはＣＰＵ２０からのリセット信号が入力されるようにする。このようにすることによって、ＣＰＵ２０の方が先にシステムリセットを認識することができるため、ＣＰＵ２０は、システムリセットが入力されると光ディスク２上のデータ書き込み中断位置情報を書き込み制御部３４から得てメモリ２１に書き込ませてから、光ディスク装置１を構成する他のＬＳＩに対してリセットをかけることができる。
【００７９】
光ディスク２へのデータ書き込み再開時における光ディスク２上のデータ書き込み中断位置の検出には、メモリ２１をＣＰＵ２０が参照することによって、光ディスク２上のどの位置でデータ書き込みが中断されたのかが分かる。ＣＰＵ２０は、光ディスク２上のデータ書き込み中断位置を書き込み制御部３４に出力し、書き込み制御部３４は、上述したようにダミーライトを行って光ディスク２へのデータ書き込みを再開させる。このようにすることにより、中断位置検出部２５をなくすことができる。
【００８０】
このように、本第１の実施の形態における光ディスク装置は、行おうとする光ディスク２へのデータ書き込みが新規であるか否かをＣＰＵ２０が判断し、新規であるならば書き込み制御部３４によって通常の書き込み制御が行われ、新規でないならば光ディスク２上のデータ書き込み中断位置を検出し、書き込み制御部３４によって該データ書き込み中断位置までダミーライトが行われて各種データを復元し、光ディスク２へのデータ書き込みを再開するようにした。
【００８１】
このことから、電源遮断やシステム初期化等が原因で光ディスクへのデータ書き込みが中断すると共に各種データ保持内容が消失しても、消失した各種データをデータ書き込み中断前の状態に復元することができ、光ディスクへの正常な書き込みを再開することができるため、電源遮断やシステム初期化等による光ディスクへのデータ書き込みの失敗をなくすことができる。
【００８２】
【発明の効果】
上記の説明から明らかなように、本発明の光ディスク装置によれば、光ディスクへのデータ書き込み処理が中断し該データ書き込み処理に必要な各種データが消失した場合、ホストシステム装置に対して光ディスクへの書き込みデータを再送させると共に、書き込みデータ処理部に対して、光ディスク上のデータ書き込み中断位置まで、光ディスクへの書き込み用データの出力を禁止して所定のデータ処理を行う擬似的な光ディスクに対するデータ書き込み処理を行わせて、消失した各種データを復元させるようにした。このことから、電源遮断やシステム初期化等が原因で光ディスクへのデータ書き込みが中断すると共に各種データ保持内容が消失しても、消失した各種データをデータ書き込み中断前の状態に復元することができ、光ディスクへの正常な書き込みを再開することができるため、電源遮断やシステム初期化等による光ディスクへのデータ書き込みの失敗をなくすことができる。
【００８３】
また、書き込みデータ処理部に対して行わせるデータ書き込み処理が光ディスクに対する新規の書き込みか否かの情報を該メモリ部に格納すると共に、メモリ部に格納した該情報からデータ書き込みの再開時には、書き込みデータ処理部に対して擬似的な光ディスクに対するデータ書き込み処理を行わせるようにした。このことから、行おうとしているデータ書き込みが、新規のものである又は再開時のものであるかを容易に判別することができ、データ書き込み再開時には、擬似的なデータ書き込み処理を行って、消失した各種データの復元を容易に行うことができる。
【００８４】
具体的には、光ディスクから読み出されたデータ信号が所定時間以上中断すると光ディスク上のデータ書き込み中断位置であると判定し、書き込みデータ処理部に所定の信号を出力するようにした。このことから、光ディスク上のデータ書き込み中断位置を容易かつ正確に検出することができる。
【００８５】
また、光ディスクへのデータ書き込み処理が中断し該データ書き込み処理に必要な各種データが消失する事態の発生を検出すると、光ディスク上のデータ書き込み処理中断位置を示す情報を書き込みデータ処理部から得てメモリ部に格納するようにした。このことから、簡単な構成で、電源遮断やシステム初期化等が原因で光ディスクへのデータ書き込みが中断すると共に各種データ保持内容が消失しても、消失した各種データをデータ書き込み中断前の状態に復元することができ、光ディスクへの正常な書き込みを再開することができるため、電源遮断やシステム初期化等による光ディスクへのデータ書き込みの失敗をなくすことができる。
【００８６】
一方、上記制御部は、データ書き込みが行われている光ディスク上の位置を示す情報を常時書き込みデータ処理部から得てメモリ部に格納するようにした。このことから、簡単な構成で、電源遮断やシステム初期化等が原因で光ディスクへのデータ書き込みが中断すると共に各種データ保持内容が消失しても、消失した各種データをデータ書き込み中断前の状態に復元することができ、光ディスクへの正常な書き込みを再開することができるため、電源遮断やシステム初期化等による光ディスクへのデータ書き込みの失敗をなくすことができる。
【００８７】
また、上記制御部は、光ディスクへのデータ書き込み処理が中断し該データ書き込み処理に必要な各種データが消失した場合、上記メモリ部に格納された光ディスク上のデータ書き込み中断位置を示した情報を読み出して、光ディスク上のデータ書き込み中断位置まで、光ディスクへの書き込み用データの出力を禁止して上記所定のデータ処理を行う擬似的な光ディスクに対するデータ書き込み処理を行わせて、消失した各種データの復元を行わせるようにした。このことから、消失した各種データをデータ書き込み中断前の状態に容易に復元することができる。
【図面の簡単な説明】
【図１】  本発明の第１の実施の形態における光ディスク装置の概略の構成例を示したブロック図である。
【図２】  オレンジブックに規定されたＣＤ−Ｒ／ＲＷのデータ書き込み単位のフォーマットを示した図である。
【図３】  図２に示したデータを書き込む際に、複数回に分けて書き込んだ場合のフォーマット例を示した図である。
【図４】  図１のＣＤエンコーダ１２の構成例を示した概略のブロック図である。
【図５】  光ディスク２上におけるデータつなぎ目の形成例を示した図である。
【図６】  信号ＲＦに対する信号処理が行われる図４の各部を示したブロック図である。
【図７】  図６の各部の信号波形例を示した図である。
【図８】  図１、図４及び図６で示した光ディスク装置１における書き込み制御動作例を示したフローチャートである。
【図９】  図１、図４及び図６で示した光ディスク装置１における書き込み制御動作例を示したフローチャートである。
【符号の説明】
１  光ディスク装置
２  光ディスク
３  光ピックアップ
４  リードアンプ
５  ＣＤデコーダ
８  バッファマネージャ
９  バッファＲＡＭ
１０  ホストインタフェース
１１  ＡＴＩＰデコーダ
１２  ＣＤエンコーダ
１３  ＣＤ−ＲＯＭエンコーダ
１４  レーザコントロール回路
２０  ＣＰＵ
２１  メモリ
２５  中断位置検出部
３０  クロック信号生成部
３１  ＣＩＲＣ演算用ＲＡＭ部
３２  ＣＩＲＣ演算部
３３  ＥＦＭエンコーダ部
３４  書き込み制御部
３５  ＣＤインタフェース部
【図１】
0004657518.tif 000002
【図２】
0004657518.tif 000003
【図３】
0004657518.tif 000004
【図４】
0004657518.tif 000005
【図５】
0004657518.tif 000006
【図６】
0004657518.tif 000007
【図７】
0004657518.tif 000008
【図８】
0004657518.tif 000009
【図９】
0004657518.tif 000010