(57)【要約】【課題】  ホストからのデータ転送が間に合わないことによるデータ書き込み失敗を防止する。【解決手段】  ホストは、光ディスク装置にライトコマンドとデータの転送を行い、光ディスク装置は、ホストからライトコマンドと所定量のデータを受け取ると、光ディスクに対して前にリンクブロックとランインブロックとを後にランアウトブロックをそれぞれ設けたユーザデータブロックを書き込み単位にしてデータの書き込みを開始し、データの書き込み中に、ホストからのデータ転送が間に合わない場合、光ディスクに対してデータの記録中にランアウトブロックを書き込まずに書き込みを一時中断する。【選択図】        図１
2007052921.tif 000002
【特許請求の範囲】
【請求項１】
ホストと、光ディスクに対してデータの記録を行う光ディスク装置とを備え、
前記ホストは、前記光ディスク装置にライトコマンドとデータの転送を行い、
前記光ディスク装置は、前記ライトコマンドと所定量のデータを受け取ると、前記光ディスクに対して前にリンクブロックとランインブロックとを後にランアウトブロックをそれぞれ設けたユーザデータブロックを書き込み単位にしてデータ書き込みを開始し、データ書き込み中に前記ホストからのデータ転送が間に合わない場合、前記光ディスクに対してデータの記録中にランアウトブロックを書き込まずに書き込みを一時中断することを特徴とするシステム。
【請求項２】
前記光ディスク装置は、データ書き込みを再開する場合、前記リンクブロックを書き込まずにデータ書き込みの終点及び始点部分でＣＩＲＣ復調によるデータの連続性を維持する書き込みを行うことを特徴とする請求項１記載のシステム。
【請求項３】
前記光ディスク装置は、バッファＲＡＭを備え、前記所定量のデータは前記バッファＲＡＭを一杯にするデータであることを特徴とする請求項１又は２記載のシステム。
【請求項４】
前記光ディスク装置は、データを所定のレングス書き終えた後に前記ランアウトブロックを書き込むことを特徴とする請求項１乃至３のいずれか一項に記載のシステム。
【請求項５】
前記光ディスク装置は、前記ホストから受け取ったデータをエンコードするエンコーダと、前記書き込みを一時中断する場合、前記エンコーダによるエンコード動作を中断し、エンコード途中のデータ書き込み再開時に引き続き前記光ディスクに書き込まれるデータを記憶するＲＡＭとを備えたことを特徴とする請求項１乃至４のいずれか一項に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ホストと、ＣＤ−Ｒ（データ書き込み可能なＣＤ）やＣＤ−Ｒ／Ｅ（データ書き込み及び消去可能なＣＤ）等の光ディスクに対してデータの記録及び再生を行なう光ディスク装置とからなるシステムに関する。
【背景技術】
【０００２】
ＣＤ−ＲやＣＤ−Ｒ／Ｅ等の光ディスクの記録フォーマットはオレンジブックに規定されており、そのオレンジブックにはデータの書き込み継目、すなわちデータの書き始めと書き終わりのルールが明確に決められている。
また、データの書き込み単位であるデータセクタには、必ずリンク（Ｌｉｎｋ），ランイン（ＲｕｎＩｎ），ランアウト（ＲｕｎＯｕｔ）などの冗長セクタを付加するようにしている。
【０００３】
これは、継目でデータが途切れることを前提にしているので、同期やインタリーブの関係上必要になるのである。その継目でデータが途切れることを前提にしているのは、以前書き込んだデータや今後書き込むデータを含めたエンコードが不可能なことや、同期が外れないように正確にデータを書き始めることが非常に難しいことであるからだと推測される。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、光ディスクでは記録フォーマットの性格上、データの書き込み単位はある程度大きなものになる。
従来の光ディスク装置では、データ書き込み中の一時停止をしないようにしており、ホストから光ディスク装置の書き込み速度以上の転送レートでデータを送らないと書き込みが中断してしまって、次にデータを書き足すことができなくなって書き込みに失敗してしまう。これをバッファアンダーランと称する。
【０００５】
つまり、従来の光ディスク装置では、トラックや光ディスクを１回の書き込みで形成する必要があり、その書き込み方式名もトラックアットワンス（Ｔｒａｃｋ  ａｔ  ｏｎｃｅ）やディスクアットワンス（Ｄｉｓｋ  ａｔ  ｏｎｃｅ）等の名称になっている。
【０００６】
このことはデータの高速書き込みになるほどシビアになり、ユーザに取ってデータの書き込み失敗は非常に深刻な問題になる。なぜなら、例えば、ＣＤ−Ｒの場合ではライトワンスなので、書き込みの失敗はそのディスクの損失になり、高価な光ディスクや過去に書き込んだデータの損失リスクを常に持たなければならない。
【０００７】
上記データの書き込みの一時停止をしない理由の１つには、エンコーダチップが一時停止を考慮していないので、データの先頭で本来前のセクタのデータが入る所にダミーデータを挿入して書き出し、データの連続性が失われることにあった。
【０００８】
そこで、データの書き込みの一時停止と再開を行なっても後から連続的に正常にデータを読み出せるようにするとよい。
【０００９】
また、データの書き込みの終点と始点の部分の継目でフォーマット上、論理的なデータの連続性が確保されていたとしても、物理的にその継目がぴったりと一致していないと正常なデータ再生は行なえない。
【００１０】
通常、±２ビット程度のフレームシンクのずれは許容されていて正常にデータ再生を行なえるが、従来の光ディスク装置のように、ウォブルの同期信号から回転制御に頼った書き込み開始を行なっていては繰り返し誤差が何十ビットにも及ぶので、この部分で同期がはずれて数フレームのデータが欠落してしまうという問題があった。
【００１１】
そこで、データの書き込みの継目を再生上問題が無いレベルにするために前回書き込んだデータの終端を正確に検出できるようにするとよい。
【００１２】
さらに、低コストで前回書き込んだデータの終端を正確に検出できるようにするとよい。
【００１３】
また、従来の光ディスク装置では、１トラックを１回で書き込まなければならないので、ホストからのデータ転送が遅かったり、バッファＲＡＭで吸収できないような転送の脈動があると書き込みを失敗してしまう。
そこで、光ディスクへのデータの書き込みの際、ホストは常にディスクよりも早い転送レートで安定的にデータを送り続ける必要がある。
【００１４】
しかし、実際には転送レートの早いホストも遅いホストも存在し、上述したデータ転送の制約が光ディスク使用上の大きな足かせになっている。
そこで、ホストのソフトウェアにはテストモードを用意しており、模擬書き込みを行なうことによってこの種の書き込み失敗を減少させている。
しかし、このソフトウェアはデータの書き込みに倍の時間がかかり、マルチタスクＯＳにおいては刻々とマシンの状況が変化するので完全に安全ではないという問題があった。
【００１５】
この発明は上記の点に鑑みてなされたものであり、ホストからのデータ転送が間に合わないことによるデータ書き込み失敗を防止することを目的とする。
さらに、ホストからのデータ転送が間に合わないときのデータ書き込みの信頼性を向上させるとよい。
【課題を解決するための手段】
【００１６】
この発明は上記の目的を達成するため、次のシステムを提供する。
（１）ホストと、光ディスクに対してデータの記録を行う光ディスク装置とを備え、上記ホストは、上記光ディスク装置にライトコマンドとデータの転送を行い、上記光ディスク装置は、上記ライトコマンドと所定量のデータを受け取ると、上記光ディスクに対して上にリンクブロックとランインブロックとを後にランアウトブロックをそれぞれ設けたユーザデータブロックを書き込み単位にしてデータ書き込みを開始し、データ書き込み中に上記ホストからのデータ転送が間に合わない場合、上記光ディスクに対してデータの記録中にランアウトブロックを書き込まずに書き込みを一時中断するシステム。
【００１７】
（２）上記のようなシステムにおいて、上記光ディスク装置は、データ書き込みを再開する場合、上記リンクブロックを書き込まずにデータの書き込みの終点及び始点部分でＣＩＲＣ復調によるデータの連続性を維持する書き込みを行うシステム。
【００１８】
（３）上記のようなシステムにおいて、上記光ディスク装置は、バッファＲＡＭを備え、上記所定量のデータは上記バッファＲＡＭを一杯にするデータであるシステム。
【００１９】
（４）上記のようなシステムにおいて、上記光ディスク装置は、データを所定のレングス書き終えた後に上記ランアウトブロックを書き込むシステム。
【００２０】
（５）上記のようなシステムにおいて、上記光ディスク装置は、上記ホストから受け取ったデータをエンコードするエンコーダと、上記書き込みを一時中断する場合、上記エンコーダによるエンコード動作を中断し、エンコード途中のデータ書き込み再開時に引き続き上記光ディスクに書き込まれるデータを記憶するＲＡＭとを備えたシステム。
【発明の効果】
【００２１】
この発明によるシステムは、ホストからのデータ転送が間に合わないことによるデータ書き込み失敗を防止することができる。
【発明を実施するための最良の形態】
【００２２】
以下、この発明を実施するための最良の形態を図面に基づいて具体的に説明する。
図１は、この発明の一実施形態の光ディスク装置の構成を示すブロック図である。この光ディスク装置は、光ディスク１，スピンドルモータ２，モータドライバ３，サーボ４，光ピックアップ５，リードアンプ６，ＣＤデコーダ７，ＣＤ−ＲＯＭデコーダ８，バッファマネージャ９，バッファＲＡＭ１０，ＡＴＰＩ／ＳＣＳＩインタフェース１１，Ｄ／Ａコンバータ１２，ＡＴＩＰデコーダ１３，ＣＤエンコーダ１４，ＣＤ−ＲＯＭエンコーダ１５，レーザコントロール回路１６，ＣＰＵ１７，ＲＯＭ１８，及びＲＡＭ１９からなる。
【００２３】
この光ディスク装置は、光ディスク１をスピンドルモータ２によって回転駆動させる。スピンドルモータ２はモータドライバ３とサーボ４によって線速度が一定になるように制御される。その線速度は段階的に変更が可能である。
光ピックアップ５は、図示を省略した半導体レーザ，光学系，フォーカスアクチュエータ，トラックアクチュエータ，受光素子，及びポジションセンサを内蔵しており、レーザ光Ｌを光ディスク１の記録面に照射する。
【００２４】
また、光ピックアップ５はシークモータによってスレッジ方向に移動可能である。これらのフォーカスアクチュエータ，トラックアクチュエータ，シークモータは受光素子，ポジションセンサから得られた信号を基にしてモータドライバ３とサーボ４によってレーザスポットを光ディスク１上の目的の場所に位置するように制御する。
【００２５】
データリード（データ再生）の場合、光ピックアップ５で得られた再生信号をリードアンプ６で増幅して２値化した後、ＣＤデコーダ７に入力してデインターリーブとエラー訂正の処理を行なう。さらに、そのデインターリーブとエラー訂正の処理後のデータをＣＤ−ＲＯＭデコーダ８に入力してデータの信頼性を高めるためのエラー訂正処理を行なう。
【００２６】
その後、ＣＤ−ＲＯＭデコーダ８で処理したデータをバッファマネージャ９によって一旦バッファＲＡＭ１０に蓄積し、セクタデータとして揃ったときにＡＴＡＰＩ／ＳＣＳＩインタフェース１１によってホストへ一気に転送する。
また、音楽データの場合、ＣＤデコーダ７から出力したデータをＤ／Ａコンバータ１２に入力してアナログのオーディオ信号を取り出す。
【００２７】
次に、データライト（データ書き込み）の場合、ＡＴＡＰＩ／ＳＣＳＩインタフェース１１によってホストから転送されたデータを受信すると、そのデータをバッファマネージャ９によって一旦バッファＲＡＭ１０に蓄積する。
【００２８】
バッファＲＡＭ１０にある程度のデータが溜ったときにライトを開始するが、その前にレーザスポットを書き込み開始地点に位置させる。その書き込み開始地点はトラックの蛇行によって予め光ディスク１に刻まれているウォブル信号によって求められる。そのウォブル信号にはＡＴＩＰと称する絶対時間情報が含まれており、ＡＴＩＰデコーダ１３によってＡＴＩＰの情報を取り出す。
【００２９】
また、ＡＴＩＰデコーダ１３が生成する同期信号はＣＤエンコーダ１４に入力されて正確な位置でのデータの書き出しを可能にしている。
バッファＲＡＭ１０のデータはＣＤ−ＲＯＭエンコーダ１５やＣＤエンコーダ１４でエラー訂正コードの付加やインターリーブを行なってレーザコントロール回路１６，光ピックアップ５を介して光ディスク１に記録する。
【００３０】
上記ＣＰＵ１７等がこの発明に係る機能を果たす。また、データ書き込み可能な光ディスクに対するデータの記録及び再生を行なうと共に、光ディスクに対してデータ書き込みの終点及び始点部分でＣＩＲＣ復調によるデータ連続性を維持する書き込みを行なう手段と、光ディスクに対して前回書き込まれたデータの終端から正確に書き始めるタイミングを取るチャンネルビットのＰＬＬをカウントする手段の機能を果たす。
【００３１】
また、光ディスクに対して前回書き込まれたデータの終端から正確に書き始めるタイミングを取るフレームシンク信号をカウントする手段の機能を果たす。
さらに、光ディスクに対するデータの書き込み中にホストからのデータ転送が間に合わないときはデータ書き込みを一時停止し、ホストからデータが充分に送られてきたときにデータ書き込みを再開する手段の機能を果たす。
【００３２】
さらにまた、光ディスクに対するデータの書き込み中にホストからのデータ転送が間に合わないときはデータ書き込みを一時停止し、光ディスクに対するデータの書き込み速度を落した後にデータ書き込みを再開する手段の機能を果たす。
【００３３】
図２はオレンジブックに規定されているＣＤ−Ｒ，ＣＤ−Ｒ／Ｅのデータ書き込み単位のフォーマットを示す図である。通常、データインターリーブや同期引込みの関係から、ユーザデータブロック（Ｕｓｅｒ  Ｄａｔａ  ｂｌｏｃｋｓ）にデータを書き込んだだけでは完全にそのデータを読み出すことができない。そこで、ユーザデータブロックの前と後にそれぞれ５ブロックと２ブロックの冗長ブロックを設けることによってユーザデータブロックを保護し、通常の光ディスク装置でも確実にデータを読み出せるようにしている。
【００３４】
すなわち、図２に示すように、ユーザデータブロックの前に、リンクブロック（Ｌｉｎｋ  ｂｌｏｃｋ），ランインブロック１（Ｒｕｎ−ｉｎ  ｂｌｏｃｋ１），ランインブロック２（Ｒｕｎ−ｉｎ  ｂｌｏｃｋ２），ランインブロック３（Ｒｕｎ−ｉｎ  ｂｌｏｃｋ３），ランインブロック４（Ｒｕｎ−ｉｎ  ｂｌｏｃｋ４），ランインブロック５（Ｒｕｎ−ｉｎ  ｂｌｏｃｋ５）の５ブロックの冗長ブロックを、後にランアウトブロック１（Ｒｕｎ−ｏｕｔ  ｂｌｏｃｋ１），ランアウトブロック２（Ｒｕｎ−ｏｕｔ  ｂｌｏｃｋ２）の２ブロックの冗長ブロックを設けている。
【００３５】
図３は図２に示したユーザデータブロックに対して複数回に分けてデータを書き込んだときのフォーマットの一例を示す図である。この実施形態の光ディスク装置は、ホストからデータを受け取り、バッファＲＡＭ１０がそのデータで一杯になるとスタートライト（Ｓｔａｒｔ  Ｗｒｉｔｅ）を実行する。
【００３６】
そして、ユーザデータブロックを書き始めて、バッファＲＡＭ１０のデータが残り少なくなると、ポーズライト（Ｐａｕｓｅ  Ｗｒｉｔｅ）を実行して書き込みを一時停止する。その後、ホストからのデータ転送を待ち、バッファＲＡＭ１０がデータで一杯になったときにリスタートライト（Ｒｅｓｔａｒｔ  Ｗｒｉｔｅ）を実行し、ポーズライトでデータ書き込みを一時停止した位置から続けてデータを書き始める。
【００３７】
このように、バッファＲＡＭ１０のデータが少なくなるとポーズライトでデータ書き込みを一時停止し、バッファＲＡＭ１０にデータが一杯になるとリスタートライトでデータ書き込みを再開する処理を適宜繰り返して、ホストからのデータを全て書き込んだら最後にストップライト（Ｓｔｏｐ  Ｗｒｉｔｅ）で書き込みを完了する。
【００３８】
ところで、従来の光ディスク装置で上述のようなデータの書き込みを行なわなかったのは、オレンジブックに規定されていないこともさることながら、次の２つの点の障害ポイントがあったからである。
【００３９】
第１の点は、データの書き込み単位はホスト（ファイルシステム）が決定し、それを１回で書き込まなければならないという固定観念から発している。
確かに、ユーザデータブロックだけでは再生できないというＣＤ等の光ディスクに特有のフォーマットのためにホストのデータ書き込み単位を変えることはできない。
【００４０】
しかし、データの連続性が維持されるのならばホストのデータ書き込み単位を分けて書き込むようにしても問題はない。
そこで、この実施形態の光ディスク装置では、データの連続性を維持してホストからのデータ書き込み単位を分けて書き込むように制御している。
【００４１】
つまり、オレンジブックに規定されたルールに沿った論理的なデータ書き込み単位と、実際に光ディスクにデータを書き込むときの物理的なデータ書き込み単位を分けるのである。そして、ホストは必ずデータを連続して送ってくるので、エンコーダが一時停止を行なうようにすれば、データの物理的な書き込み単位を分けることは容易に行なえる。
【００４２】
次に、そのデータ書き込み制御について説明する。
図４はそのデータ書き込み制御を行なう回路構成例を示すブロック図である。
この回路にポーズ（Ｐａｕｓｅ）信号が入力されるとＣＤ−ＲＯＭエンコーダ１５とＣＩＲＣエンコーダ２０へのクロック（Ｃｌｏｃｋ）が中断されるので、ＣＤ−ＲＯＭエンコーダ１５とＣＩＲＣエンコーダ２０はエンコード動作を中断し、ライトデータ（Ｗｒｉｔｅ  Ｄａｔａ）の出力を中止する。
【００４３】
また、ポーズ信号でライトゲート（Ｗｒｉｔｅ  Ｇａｔｅ）もマスクするので、光ディスクへのデータ書き込みも中断する。
しかし、ＲＡＭ２１，２２にはエンコード途中のデータがそのまま記憶されているので、ポーズ信号の解除によってそのデータがライトデータとして引き続き出力され、ライトゲートのマスク解除と共に光ディスクへの書き込みを再開する。ただし、データ書き込みの一時停止と再開にはポーズ信号を高度に同期化させている。
【００４４】
このようにして、光ディスクに対してデータ書き込みの終点及び始点部分でＣＩＲＣ復調によるデータ連続性を維持する書き込みを行なうので、光ディスクに対してデータの書き込みを一時停止し、その後に再開して書き込んでも、後からそのデータを正確に且つ連続的に読み出すことができる。
すなわち、データの書き込みの一時停止と再開を行なっても後からデータを連続的且つ正常に読み出すことができる。
【００４５】
次に、障害ポイントの第２点は、従来の光ディスク装置の書き込み制御では、データ書き始めのビーム位置をビットクロックの誤差レベルで決められなかったからである。
【００４６】
図５はオレンジブックに規定されている光ディスク上のデータの書き終わりと書き始めの位置関係を示す図である。
このフォーマットに示すように、４ＥＦＭフレーム（４ＥＦＭ  Ｆｒａｍｅｓ）というかなり大きなデータの重なりが許容されている。これは、始めから前提にしていないが、これでは訂正能力の高いＣＤ等の光ディスクでもフレーム同期が外れてしまって正常な再生は行なえない。
【００４７】
そして、このような許容値が許されている理由は、スピンドルモータの制御誤差を吸収するためであり、データ書き込み開始位置が既に書き込まれたデータとは無関係にウォブル信号のＡＴＩＰによって決定しているからである。
【００４８】
そこで、データ記録の継目で同期を損なわずにデータを再生するためにフレーム同期保護ウィンドウ幅を考慮すると、図６に示すフォーマットのようになる。
図６は図１に示した光ディスク装置による光ディスク上の継目の形成例を示す図である。
【００４９】
つまり、同図に示すように、±２ビットクロック程度のズレで継目を形成する必要がある。このように正確なデータ書き出し位置を決定するには従来の光ディスク装置のようにスピンドルモータの制御精度に基づいた書き込み制御では困難であった。
【００５０】
そこで、この実施形態の光ディスク装置では、光ディスク上の直前に書き込んだデータの終端を見つけ、具体的には直前に書き込んだデータに同期したクロックに基づいて計算した終端位置を求めて、その終端位置に基づいてデータ書き出し位置を決定するようにしている。
【００５１】
次に、チャンネルビットのＰＬＬをカウントして書き込みタイミングをとり、光ディスク上に書き込まれたデータの終端から正確に書き込みを始める書き込み処理について説明する。
【００５２】
図７は図１に示した光ディスク装置の図６に示した継目形成の書き込みタイミングを作る回路構成例を示すブロック図、図８は図７に示した回路のタイミングチャート図である。
【００５３】
図７に示す回路は、チャンネルビットＰＬＬをカウントして書き込み開始タイミングを作成する。まず、チャンネルビットオフセットレジスタ３０が、サブコードシンククロックから書き込み開始位置までのチャンネルビットクロック数を入力する。
【００５４】
その後、ＡＴＩＰ又はＳｕｂＱコードによって書き込み開始セクタ１のアドレスを検出し、最初のサブコードシンク、つまり書き込み開始セクタのサブコードシンクでチャンネルビットオフセットレジスタの値を１６ビットＤＯＷＮカウンタ３１にロードする。
そして、１６ビットＤＯＷＮカウンタ３１がチャネルビットＰＬＬでディクリメントされて「０」になるとＲＣ、つまり書き込み開始（ライトスタート）を出力する。
【００５５】
このようにして、チャンネルビットのＰＬＬのカウントに基づくタイミングで光ディスクに対して前回書き込まれたデータの終端から正確に書き始めることができ、書き込まれたデータに対して最も誤差が小さい信号であるチャンネルビットのＰＬＬによってずれの小さい書き込み継目を精度良く形成することができ、データ書き込みを一時停止した後の再開時の書き込みを精度を良く行なえる。
【００５６】
次に、フレームシンク信号をカウントして書き込みタイミングをとり、光ディスク上に書き込まれたデータの終端から正確に書き込みを始める書き込み制御処理について説明する。
【００５７】
図９は図１に示した光ディスク装置のフレームシンク信号に基づいて書き込みタイミングを作る回路構成例を示すブロック図、図１０は図９に示した回路のタイミングチャート図である。
【００５８】
図９に示す回路は、フレームシンククロックをカウントして書き込み開始タイミングを作成する。まず、フレームオフセットレジスタ４０がサブコードシンククロックから「Ｆｒ２５」のフレームシンクまでのフレームシンククロック数を入力する。また、クロックオフセットレジスタ４１が「Ｆｒ２５」のフレームシンククロックから書き込み開始位置までのライト基準クロック数を入力する。
【００５９】
その後、ＡＴＩＰ又はＳｕｂＱコードによって書き込み開始セクタ１のアドレスを検出し、最初のサブコードシンク、つまり書き込み開始セクタのサブコードシンクでフレームオフセットレジスタの値を５ビットＤＯＷＮカウンタ４２にロードして、チャンネルビットオフセットレジスタの値を１６ビットＤＯＷＮカウンタ３１にロードする。
【００６０】
さらに、５ビットＤＯＷＮカウンタ４２がフレームシンククロックでディクリメントされて「０」になると、クロックオフセットレジスタ４１の値を１１ビットＤＯＷＮカウンタ４３にロードする。そして、１１ビットＤＯＷＮカウンタ４３がライト基準クロックでディクリメントされて「０」になるとＲＣ、つまり書き込み開始（ライトスタート）を出力する。
【００６１】
このようにして、フレームシンク信号のカウントに基づくタイミングで光ディスクに対して前回書き込まれたデータの終端から正確に書き始めることができ、安価な汎用品のデコーダＬＳＩによってそのフレームシンク信号を得ることができるので、光ディスク装置のコストを低減することができる。
【００６２】
次に、この実施形態の光ディスク装置におけるホストからのデータ転送が間に合わないときの書き込み制御処理について説明する。
まず、データ書込中にホストからのデータ転送が間に合わないときは書き込みを中断して、充分な量を受信してから書き込みを再開するときの処理について説明する。
【００６３】
図１１はそのデータ書き込み制御処理を示すフローチャートである。
この処理は、ステップ（図中「Ｓ」で示す）１でスタートライトし、ステップ２へ進んでディスクライトし、ステップ３へ進んでホストからデータ受信して、ステップ４へ進んでホストデータ（ホストから転送されるデータ）が少量か否かを判断する。
【００６４】
ステップ４の判断でホストからのデータが少量でなければ、ステップ５へ進んでデータ書き込み終了か否かを判断して、データ書き込みが終了でなければステップ２へ戻ってデータ書き込みを継続し、データ書き込み終了ならステップ６へ進んでストップライトして、この処理を終了する。
【００６５】
また、ステップ４の判断でホストからのデータが少量なら、ステップ７へ進んでポーズライトして光ディスクへの書き込みを中断し、ステップ８へ進んでホストからデータを受信して、ステップ９へ進んでホストデータ（ホストから転送されるデータ）が満量になったか否かを判断して、ならなければステップ８へ進んでホストからのデータ受信を継続し、満量になったらステップ１０へ進んでリスタートライトして光ディスクへの書き込みを再開し、ステップ３へ戻ってデータ書き込み処理を継続する。
【００６６】
さらに、この処理について説明する。まず、光ディスク装置はホストからライトコマンドとある程度量のデータを受け取るとデータ書き込み開始（スタートライト）を実行する。そのスタートライトはリンクブロックから始まる通常のライトシーケンスであり、光ディスクへのライトとホストからのデータ受信を所定のレングス繰り返す。
【００６７】
そして、そのデータ書込中、光ディスクへの書き込み速度よりもデータ転送速度が遅いと、バッファ内のデータの減少が早くて書き込みが続行できなくなるので、データの減少を検出してデータの転送が間に合わないと判断したらポーズライトを実行する。そのポーズライトはランアウトブロックを書き込まずに書き込みを一時中断するライトシーケンスである。
【００６８】
その後、ホストからデータを充分受信してリスタートライトを実行する。そのリスタートライトは、リンクブロックを書き込まずに前からのデータの連続性を保ち、且つ同期が外れないように前のデータピット終端に正確に合わせて書き出すライトシーケンスである。
【００６９】
そして、所定のレングスを書き終わるとストップライトを実行する。そのストップライトはランアウトブロックを書き込む通常のライトシーケンスである。
つまり、この光ディスク装置は、ライトシーケンス中にバッファのデータ量を監視し、バッファアンダーランによる書き込み失敗を防ぐために随時ポーズライトとリスタートライトを繰り返す。
【００７０】
このようにして、光ディスクに対するデータの書き込み中にホストからのデータ転送が間に合わないときはデータ書き込みを一時停止し、ホストからデータが充分に送られてきたときにデータ書き込みを再開する。
【００７１】
したがって、ホストからのデータ転送が一瞬途切れたり転送レートが多少低下しても複数回に分けて正常にデータを光ディスクに書き込むことができ、データ書き込み失敗を防止することができる。
また、データ転送の脈動を吸収するバッファＲＡＭの容量を小さくすることができ、光ディスクのコストダウンを図ることができる。
【００７２】
次に、データ書込中にホストからのデータ転送が間に合わないときは書き込みを中断して、書き込み速度を落してから書き込みを再開するときの処理について説明する。
【００７３】
図１２はそのデータ書き込み制御処理を示すフローチャートである。
この処理は、ステップ（図中「Ｓ」で示す）１１で最高速度又はホストが設定した速度でスタートライトし、ステップ１２へ進んでディスクライトし、ステップ１３へ進んでホストからデータ受信して、ステップ１４へ進んでホストデータ（ホストから転送されるデータ）が少量か否かを判断する。
【００７４】
ステップ１４の判断でホストからのデータが少量でなければ、ステップ１５へ進んでデータ書き込み終了か否かを判断して、データ書き込みが終了でなければステップ１２へ戻ってデータ書き込みを継続し、データ書き込み終了ならステップ１６へ進んでストップライトして、この処理を終了する。
【００７５】
また、ステップ１４の判断でホストからのデータが少量なら、ステップ１７へ進んでポーズライトして光ディスクへの書き込みを中断し、ステップ１８へ進んでホストからデータを受信して、ステップ１９へ進んでホストデータ（ホストから転送されるデータ）が満量になったか否かを判断する。
【００７６】
ステップ１９の判断で満量にならなければ、ステップ１８へ進んでホストからのデータ受信を継続し、満量になったらステップ２０へ進んで最低速度でなければ速度を一段階落して、ステップ２１へ進んでリスタートライトして光ディスクへの書き込みを再開し、ステップ１３へ戻ってデータ書き込み処理を継続する。
【００７７】
さらに、この処理について説明する。
まず、光ディスク装置はホストからライトコマンドとある程度の量のデータを受け取るとデータ書き込み開始（スタートライト）を実行するが、このとき、ホストが設定した速度又は設定がなければ光ディスク装置の持つ最高速度でスタートライトを実行する。そのスタートライトはリンクブロックから始まる通常のライトシーケンスであり、光ディスクへのライトとホストからのデータ受信を所定のレングス繰り返す。
【００７８】
そして、そのデータ書込中、光ディスクへの書き込み速度よりもデータ転送速度が遅いと、バッファ内のデータの減少が早くて書き込みが続行できなくなるので、データの減少を検出してデータの転送が間に合わないと判断したらポーズライトを実行する。そのポーズライトはランアウトブロックを書き込まずに書き込みを一時中断するライトシーケンスである。
【００７９】
そのデータ書き込みの中断時、最低速度でなければ書き込み速度を一段階落して、ホストからデータを受信してリスタートライトを実行する。そのリスタートライトは、リンクブロックを書き込まずに前からのデータの連続性を保ち、且つ同期が外れないように前のデータピット終端に正確に合わせて書き出すライトシーケンスである。
【００８０】
その後、再びホストからのデータ転送が間に合わないときには、データ書き込みを中断し、データ書き込みの速度をさらに落してリスタートライトする。
そして、所定のレングスを書き終わるとストップライトを実行する。そのストップライトはランアウトブロックを書き込む通常のライトシーケンスである。
【００８１】
このようにして、光ディスクに対するデータの書き込み中にホストからのデータ転送が間に合わないときはデータ書き込みを一時停止し、光ディスクに対するデータの書き込み速度を落した後にデータ書き込みを再開する。
【００８２】
したがって、この光ディスク装置は、ホストからのデータ転送にあったデータ書き込み速度に自動的に変更して書き込みを継続するので、バッファアンダーランによる書き込み失敗を防ぐために随時ポーズライトとリスタートライトを多数回繰り返して書き込み処理が長時間になることを防止できる。
また、ユーザがホストのデータ転送能力や光ディスク装置の書き込み速度を常にチェックする必要が無くて操作性を向上させることができ、ホストの能力を最大限に生かしたデータ書き込みを行なえる。
【００８３】
この実施形態の光ディスク装置では、バッファアンダーランを回避し、書き込みデータを連続データとして正常に読み出すことができるようにデータ書き込みを行なえる。したがって、データ書き込みの信頼性を向上させることができる。
また、ユーザはホストのパフォーマンスを気にすること無く光ディスクに対して安全にデータの書き込みを行なえる。したがって、データ書込時の操作性を向上させることができる。
【図面の簡単な説明】
【００８４】
【図１】この発明の一実施形態の光ディスク装置の構成を示すブロック図である。
【図２】オレンジブックに規定されているＣＤ−Ｒ，ＣＤ−Ｒ／Ｅのデータ書き込み単位のフォーマットを示す図である。
【図３】図２に示したユーザデータブロックに対して複数回に分けてデータを書き込んだときのフォーマットの一例を示す図である。
【図４】図１に示した光ディスク装置のこの発明に係るデータ書き込み制御を行なう回路構成例を示すブロック図である。
【００８５】
【図５】オレンジブックに規定されている光ディスク上のデータの書き終わりと書き始めの位置関係を示す図である。
【図６】図１に示した光ディスク装置による光ディスク上の継目の形成例を示す図である。
【図７】図１に示した光ディスク装置の図６に示した継目形成の書き込みタイミングを作る回路構成例を示すブロック図である。
【図８】図７に示した回路のタイミングチャート図である。
【００８６】
【図９】図１に示した光ディスク装置のフレームシンク信号に基づいて書き込みタイミングを作る回路構成例を示すブロック図である。
【図１０】図９に示した回路のタイミングチャート図である。
【図１１】図１に示した光ディスク装置におけるホストからのデータ転送が間に合わないときのデータ書き込み制御処理を示すフローチャートである。
【図１２】図１に示した光ディスク装置におけるホストからのデータ転送が間に合わないときの他のデータ書き込み制御処理を示すフローチャートである。
【符号の説明】
【００８７】
１：光ディスク    ２：スピンドルモータ    ３：モータドライバ    ４：サーボ    ５：光ピックアップ    ６：リードアンプ    ７：ＣＤデコーダ    ８：ＣＤ−ＲＯＭデコーダ    ９：バッファマネージャ    １０：バッファＲＡＭ    １１：ＡＴＰＩ／ＳＣＳＩインタフェース    １２：Ｄ／Ａコンバータ    １３：ＡＴＩＰデコーダ    １４：ＣＤエンコーダ    １５：ＣＤ−ＲＯＭエンコーダ    １６：レーザコントロール回路    １７：ＣＰＵ    １８：ＲＯＭ    １９，２１，２２：ＲＡＭ    ２０：ＣＩＲＣエンコーダ    ３０：チャンネルビットオフセットレジスタ    ３１：１６ビットＤＯＷＮカウンタ    ４０：フレームオフセットレジスタ    ４１：クロックオフセットレジスタ    ４２：５ビットＤＯＷＮカウンタ    ４３：１１ビットＤＯＷＮカウンタ
【図１】
2007052921.tif 000003
【図２】
2007052921.tif 000004
【図３】
2007052921.tif 000005
【図４】
2007052921.tif 000006
【図５】
2007052921.tif 000007
【図６】
2007052921.tif 000008
【図７】
2007052921.tif 000009
【図８】
2007052921.tif 000010
【図９】
2007052921.tif 000011
【図１０】
2007052921.tif 000012
【図１１】
2007052921.tif 000013
【図１２】
2007052921.tif 000014