(57)【要約】【課題】  バッファアンダーラン発生時のデータ書き込みの一旦停止を最小限にし、データ書き込み時間が最短になるような書き込みパフォーマンスが得られるようにする。【解決手段】  システムコントローラ１７は、データ記録時にデータの書き込み速度を変更する場合、ポーズ・リスタートコントローラ１５によってデータの書き込みを一時停止させて、書き込み速度コントローラ１８によって書き込み速度を変更させた後、データの連続性を保ったままデータ書き込みを再開させる。【選択図】        図１
2007311022.tif 000002
【特許請求の範囲】
【請求項１】
ホスト装置から転送されるデータをデータ記録可能な記録媒体に書き込むデータ書込手段を備えた情報記録装置において、
前記データ書込手段によるデータの書き込みを一時停止させるデータ書込一時停止手段と、前記データ書込手段によるデータの書き込み時の書き込み速度を変更するデータ書込速度変更手段と、前記データ書込一時停止手段によるデータの書き込みの一時停止後にデータの連続性を保ったままデータ書き込みを再開させるデータ書込再開手段と、前記データ書込手段によってデータの書き込み速度を変更する場合、前記データ書込一時停止手段によってデータの書き込みを一時停止させて、前記データ書込手段によって書き込み速度を変更した後、前記データ書込再開手段によってデータ書き込みを再開させるデータ書込制御手段とを設け、
前記データ書込制御手段に、前記データ書込手段によるデータの書き込み時にバッファアンダーランの発生を検出するバッファアンダーラン発生検出手段と、該バッファアンダーラン発生検出手段によって検出されたバッファアンダーランの発生回数が予め設定された所定値以上になったときに、前記データ書込速度変更手段によって書き込み速度を段階的に下げる書き込み速度段階的低下手段を設け、
前記ホスト装置から書き込み速度の変更許可が指示されたときに自動書き込み速度変更を設定する自動書き込み速度変更設定手段と、該自動書き込み速度変更設定手段に自動書き込み速度変更が設定されているときに前記データ書込制御手段による制御動作を有効にする手段を設けたことを特徴とする情報記録装置。
【請求項２】
請求項１記載の情報記録装置において、
前記データ書込制御手段に、前記データ書込手段によって前記記録媒体へのテスト書き込みを行い、該テスト書き込み結果に基づいてデータ書き込み時にバッファアンダーランが発生しない最大の書き込み速度を求め、該最大の書き込み速度によって前記記録媒体へのデータ書き込みを行わせる手段を設けたことを特徴とする情報記録装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＣＤ−Ｒ／ＲＷ装置等の情報記録装置に関する。
【背景技術】
【０００２】
バッファのデータ量に応じてスピンドルモータの回転数を制御する手段により、ホスト装置からのデータ転送レートに合わせてスピンドルモータの回転数を制御して光ディスクへの書き込み速度とホスト装置からのデータ転送レートの均衡をとるように書き込み速度を変更してバッファアンダーランの発生を防止する情報記録装置（例えば、特許文献１，２参照）があった。
このような情報記録装置によれば、バッファアンダーランを防止することができ、なお且つホスト装置からのデータ転送レートに近接した速度で常に書き込みを行うので最大の書き込みパフォーマンスが得られるが、バッファのデータ量に応じてスピンドルモータの回転数を随時変更することはモータの応答特性やＬＤ制御から容易ではなかった。
すなわち、上述のような情報記録装置では、スピンドルモータの応答速度は遅いので急激なデータ転送レート変化に対応するためには大容量のバッファが必要であり、コストアップ要因となるばかりかデータ転送が一定時間途切れるような場合には対応出来ないという問題があった。
さらに、アナログ的な変速に必要なＬＤ制御やエンコーダ回路が必要なので実用化は簡単でないという問題もあった。
【０００３】
そこで近年、データ書き込みを一旦停止し、バッファにデータが貯まったところで書き込みを再開することによってバッファアンダーランエラーを回避するようにした情報記録装置（例えば、特許文献３，４参照）が提案されている。
このような情報記録装置によれば、ホスト装置からのデータ転送レートの脈動が大きくてもデータ転送が一定時間途切れても問題無くバッファアンダーランエラーを回避できる。
さらに、バッファアンダーランの発生を警戒する必要も無いのでバッファ容量を小さく抑えられる。
【特許文献１】特開平１０−２９３９６１号公報
【特許文献２】特開平１０−３０２３８７号公報
【特許文献３】特開平１０−４９９９０号公報
【特許文献４】特開２０００−４０３２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述のような従来の情報記録装置は、バッファアンダーランエラーが発生しないとなると、通常は書き込み速度を最大にして行い、ホスト装置からの転送レートが少し低いとバッファ容量程度の書き込みで一旦停止を繰り返してしまうので、そのオーバーヘッドによって書き込みパフォーマンスを悪化させてしまうという問題があった。
また、バッファ容量を小さくすれば部品コストを下げられるが、その分一旦停止回数が増えてしまうので、書き込みパフォーマンスを悪化させると言ったトレードオフになっている。
さらに、書き込みを停止再開すると制御精度によってはデータの欠落等が発生してしまう。これは致命的なエラーにならないまでも、停止再開をしない場合に比べて多少なりとも記録品質が悪化する恐れがある。
そのため、最高の記録品質を求めるユーザの中には書き込みの一旦停止を嫌う人がいる。
【０００５】
そこで、従来の情報記録装置ではバッファアンダーランが発生しなくなるように書き込み速度を落とすようにしているが、そのためにＨＤＤが熱キャリブレーションを行ったり、他のアプリケーションによってＣＰＵ負荷が一時的に増大したり等の原因によって単発的にバッファアンダーランが発生した場合はかえって書き込みパフォーマンスを落としてしまうという問題もあった。
【０００６】
この発明は上記の課題を解決するためになされたものであり、バッファアンダーラン発生時のデータ書き込みの一旦停止を最小限にし、データ書き込み時間が最短になるような書き込みパフォーマンスが得られるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
この発明は上記の目的を達成するため、ホスト装置から転送されるデータをデータ記録可能な記録媒体に書き込むデータ書込手段を備えた情報記録装置において、上記データ書込手段によるデータの書き込みを一時停止させるデータ書込一時停止手段と、上記データ書込手段によるデータの書き込み時の書き込み速度を変更するデータ書込速度変更手段と、上記データ書込一時停止手段によるデータの書き込みの一時停止後にデータの連続性を保ったままデータ書き込みを再開させるデータ書込再開手段と、上記データ書込手段によってデータの書き込み速度を変更する場合、上記データ書込一時停止手段によってデータの書き込みを一時停止させて、上記データ書込手段によって書き込み速度を変更した後、上記データ書込再開手段によってデータ書き込みを再開させるデータ書込制御手段を設けている。
【０００８】
また、上記データ書込制御手段に、上記データ書込手段によるデータの書き込み時にバッファアンダーランの発生を検出するバッファアンダーラン発生検出手段と、そのバッファアンダーラン発生検出手段によって検出されたバッファアンダーランの発生回数が予め設定された所定値以上になったときに、上記データ書込速度変更手段によって書き込み速度を段階的に下げる書き込み速度段階的低下手段を設けている。
さらに、上記ホスト装置から書き込み速度の変更許可が指示されたときに自動書き込み速度変更を設定する自動書き込み速度変更設定手段と、その速度変更設定手段に自動書き込み速度変更が設定されているときに上記データ書込制御手段による制御動作を有効にする手段を設けている。
【０００９】
また、上記のような情報記録装置において、上記データ書込制御手段に、上記データ書込手段によって上記記録媒体へのテスト書き込みを行い、そのテスト書き込み結果に基づいてデータ書き込み時にバッファアンダーランが発生しない最大の書き込み速度を求め、その最大の書き込み速度によって上記記録媒体へのデータ書き込みを行わせる手段を設けるとよい。
【発明の効果】
【００１０】
この発明による情報記録装置は、バッファアンダーラン発生時のデータ書き込みの一旦停止を最小限にし、データ書き込み時間が最短になるような書き込みパフォーマンスが得られるようにすることができる。
【発明を実施するための最良の形態】
【００１１】
以下、この発明の実施形態を図面に基づいて具体的に説明する。
図１はこの発明の情報記録装置の一実施形態であるドライブ装置の構成を示すブロック図であり、図中の矢印は主にデータの流れを示している。
このドライブ装置は、ＣＰＵ，ＲＯＭ及びＲＡＭ等からなるマイクロコンピュータによって実現され、以下の１〜１８の各部を備えている。
光ディスク２０は、スピンドルモータ１によって回転駆動されるＣＤ−Ｒ／ＲＷディスク等のデータ書き込み可能な記録媒体である。
スピンドルモータ１は、モータドライバ２とサーボ処理部３の回転制御によってデータ書き込み及びデータ読み出し時に線速度が一定又は角速度が一定になるように光ディスク２０を回転させる。その線速度は段階的に変更が可能である。
【００１２】
光ピックアップ４は、図示を省略した半導体レーザ，光学系，フォーカスアクチュエータ，トラックアクチュエータ，受光素子及びポジションセンサ等を内蔵しており、データ記録時及びデータ再生時に所定の光量のレーザ光を光ディスク２０に照射する。
また、光ピックアップ４は上記シークモータによって光ディスク２０に対して移動可能である。
上記モータドライバ２とサーボ処理部３は、上記受光素子，ポジションセンサから得られた信号に基づいて上記のフォーカスアクチュエータ，トラックアクチュエータ、シークモータをレーザ光のレーザスポットが光ディスク２０の記録面上の目的の場所に位置するように制御する。
【００１３】
このドライブ装置では、データリード（データ読み出し）の場合、光ピックアップ４で得られた再生信号をリードアンプ５で増幅して２値化した後、ＣＤデコーダ６によってデインタリーブとエラー訂正の処理を施す。
さらに、そのデータをＣＤ−ＲＯＭデコーダ７によってデータの信頼性を高めるためにエラー訂正の処理を施す。
その後、そのデータをメモリマネージャ（バッファマネージャ）８によってバッファＲＡＭ等のメモリ９に一旦蓄えて、セクタデータとして揃えたところでホストインタフェース（ホストＩ／Ｆ）１０を通してパーソナルコンピュータ等のホスト装置へ一気に送る。
【００１４】
一方、データライト（データ書き込み）の場合、ホストＩ／Ｆ１０を通してホスト装置から送られてきたデータをメモリマネージャ８によってメモリ９に一旦蓄える。
その後、メモリ９にある程度の量（予め設定された所定量）のデータが貯まったところでデータライト処理を開始するが、その前に光ピックアップ４によるレーザスポットを光ディスク２０の記録面上の書き込み開始地点に位置させる。
その開始地点は光ディスク２０の記録面上に予め形成されたトラックの蛇行によって刻まれているウォブル信号に基づいて求める。
そのウォブル信号にはＡＴＩＰと呼ばれる絶対時間情報が含まれており、ＡＴＩＰデコーダ１１によってその情報を取り出す。
【００１５】
また、ＡＴＩＰデコーダ１１が生成する同期信号を、ポーズ・リスタートコントローラ１５，ＣＤ−ＲＯＭエンコーダ１３を介してＣＤエンコーダ１２に入力し、ＣＤエンコーダ１２では上記同期信号に基づいて光ディスク２０上の正確な位置でのデータの書き出しを可能にしている。
メモリ９のデータに、ＣＤ−ＲＯＭエンコーダ１３やＣＤエンコーダ１２によってエラー訂正コードの付加やインタリーブを施し、ＬＤドライバ１４や光ピックアップ４によってコントロールされたレーザ光線で光ディスク２０上の記録面に記録する。
上記データ記録の際のこの発明に係わるデータ書き込みの一時停止（一旦停止，一時中断）やデータ書き込みの再開はポーズ・リスタートコントローラ１５が行なう。
【００１６】
データ書き込みの一時停止を行う場合、このドライブ装置全体の制御を司り、この発明に係わる各種の機能を実行するシステムコントローラ１７からポーズ・リスタートコントローラ１５に一時停止指令を送ると、次のセクタの所定の位置でライトゲート制御部１６によるライトゲートをネゲートしてＣＤエンコーダ１２を停止させる。
ＣＤエンコーダ１２によるエンコード中のデータ及びライトＬＤ電流はそのまま保持する。
また、書き込みの再開を行う場合、光ピックアップ４を目標アドレスに位置決めさせ、システムコントローラ１７からポーズ・リスタートコントローラ１５に再開指令を送ると、一時停止した位置から正確に書き込みを再開する。
そのときポーズ・リスタートコントローラ１５は通常の書き込み開始と異なり、既に書きこまれたＲＦ信号及びそれに同期したＰＬＬ信号やサブコード，フレーム同期信号に基づいて書き込み開始位置を検出するので、とても高精度な書き込み開始位置の制御が可能であり、データ書き込みの一時停止とその後のデータ書き込みの再開を行なってもエラー訂正上問題の無いデータを記録することができる。
書き込み速度コントローラ１８は、この発明に係わる書き込み速度の変更等を行い、その書き込み速度に応じてスピンドルモータ１やＣＤエンコーダ１２やＬＤドライバ１４のＬＤパワーを制御する。
【００１７】
すなわち、上記光ピックアップ４，システムコントローラ１７等が、ホスト装置から転送されるデータをデータ記録可能な記録媒体に書き込むデータ書込手段の機能を果たす。
上記ポーズ・リスタートコントローラ１５が、上記データ書込手段によるデータの書き込みを一時停止させるデータ書込一時停止手段と、上記データ書込一時停止手段によるデータの書き込みの一時停止後にデータの連続性を保ったままデータ書き込みを再開させるデータ書込再開手段の機能を果たす。
上記書き込み速度コントローラ１８が、上記データ書込手段によるデータの書き込み時の書き込み速度を変更するデータ書込速度変更手段の機能を果たす。
上記システムコントローラ１７が、上記データ書込手段によってデータの書き込み速度を変更する場合、上記データ書込一時停止手段によってデータの書き込みを一時停止させて、上記データ書込手段によって書き込み速度を変更した後、上記データ書込再開手段によってデータ書き込みを再開させるデータ書込制御手段の機能を果たす。
【００１８】
また、上記システムコントローラ１７は、上記データ書込手段によるデータの書き込み時にバッファアンダーランの発生を検出するバッファアンダーラン発生検出手段と、そのバッファアンダーラン発生検出手段によって検出されたバッファアンダーランの発生回数が予め設定された所定値以上になったときに上記ホスト装置からのデータ転送レートが上記データ書込手段によるデータ書込時の書き込み速度に対して遅いと判断する書き込み速度遅延判断手段と、その手段によって上記ホスト装置からのデータ転送レートが上記データ書込手段によるデータ書込時の書き込み速度に対して遅いと判断されたとき、上記データ書き込み速度変更手段によって書き込み速度を段階的に下げる書き込み速度段階的低下手段の機能も果たす。
【００１９】
さらに、上記システムコントローラ１７は、上記データ書込手段によるデータの書き込みで予め設定された所定時間内に上記バッファアンダーラン発生検出手段によってバッファアンダーランの発生を検出しなかったとき、上記ホスト装置からのデータ転送レートが上記データ書込手段によるデータ書込時の書き込み速度に対して速いと判断する書き込み速度速達判断手段と、その手段によって上記ホスト装置からのデータ転送レートが上記データ書込手段によるデータ書込時の書き込み速度に対して速いと判断されたとき、上記データ書込速度変更手段によって書き込み速度を段階的に上げる書き込み速度段階的上昇手段の機能も果たす。
また、上記システムコントローラ１７は、上記ホスト装置からのデータ転送レートを演算するデータ転送レート演算手段と、その手段によって演算されたデータ転送レートに基づいてデータ書き込み性能が最大になるように上記データ書込手段によって書き込み速度を変更させる手段の機能も果たす。
【００２０】
さらに、上記システムコントローラ１７は、上記データ書込手段によって上記記録媒体へのテスト書き込みを行い、そのテスト書き込み結果に基づいてデータ書き込み時にバッファアンダーランが発生しない最大の書き込み速度を求め、その最大の書き込み速度によって上記記録媒体へのデータ書き込みを行わせる手段の機能も果たす。
さらにまた、上記システムコントローラ１７は、上記ホスト装置から書き込み速度の変更許可が指示されたときに自動書き込み速度変更を設定する自動書き込み速度変更設定手段と、その自動書き込み速度変更設定手段に自動書き込み速度変更が設定されているときに上記データ書込制御手段による制御動作を有効にする手段の機能も果たす。
【００２１】
図２は、メモリ９にデータが一杯になってから１２倍速でライトを開始した場合、ライトの倍速に換算したホスト装置からのデータ転送レート（Ｆｓｐｅｅｄ）により、何秒後にバッファアンダーランが発生するかをメモリ９のサイズ毎に示した線図である。
図示のように、ホスト装置からのデータ転送レートが書き込み速度よりも低いと、バッファアンダーランの発生間隔が急激に短くなる。
ここで、バッファアンダーランの発生回数を増加させないためには、ホスト装置からのデータ転送レートよりも速い書き込み速度でデータを書き込むことが重要である。
そこで、メモリ９の容量を大きくするとそれに比例してバッファアンダーランの発生間隔を長く、すなわち発生回数を減らすことが出来るが、物理的にもコスト的にもメモリ９の容量には限界があり、メモリ９のサイズでバッファアンダーランの発生を減らすことは得策でないことが分かる。
【００２２】
次に、このドライブ装置におけるデータ記録処理について説明する。
図３及び図４は、図１に示したドライブ装置におけるデータ記録処理を示すフローチャート図である。
システムコントローラ１７はデータ書き込み開始時、図３に示すように、ステップ（図中「Ｓ」で示す）１でバッファアンダーラン回数をクリアし、ステップ２でホスト装置から光ディスクに書き込むデータ（ライトデータ）を受信した後、ステップ３でデータ書き込みを開始する。
ステップ４でデータ受信とデータ書き込みを続ける中、ステップ５でシステムコントローラはメモリ中のデータ量を常に監視し、データが予め設定した一定量である所定値量以下になったか否かを判断する。その所定量は例えばメモリ容量の５％等の値を用いるとよい。
【００２３】
ステップ５の判断でメモリ内のデータが所定値量以下にならなければ、ステップ６でデータ書き込み終了か否かを判断し、データ書き込み終了でなければステップ４へ戻って上述の処理を繰り返す。
ステップ５の判断でメモリ内のデータが所定値量以下になったとき、図４のステップ８へ進んでポーズ・リスタートコントローラによってデータ書き込みを一時停止する。
ステップ９でバッファアンダーラン回数を“１”インクリメントし、ステップ１０へ進んでデータの受信を続け、ステップ１１でメモリ中のデータが所定量以上か否かを判断し、所定量以上でなければステップ１０へ戻る。つまり、ステップ１０と１１でライトデータがメモリに所定量以上貯まるまでデータ受信を続ける。その所定量は例えばメモリ容量の９５％等の値を用いるとよい。
メモリにデータが所定量以上貯まってステップ１１でデータが所定量以上と判断したら、ステップ１２でバッファアンダーラン回数が予め設定した一定値である所定値以上か否かを判断する。その所定値は例えば５回にする。
【００２４】
ステップ１２の判断でバッファアンダーラン回数が所定値以上なら、ホスト装置からのデータ転送レートが書き込み速度に対して遅いと判断し、ステップ１４へ進んでバッファアンダーラン回数をクリアし、ステップ１５で書き込み速度コントローラによって現在の書き込み速度が最低速度でなければ書き込み速度を一段階下げる。
ステップ１３でポーズ・リスタートコントローラによってデータの連続性を維持するようにデータ書き込みを再開し、図３のステップ４へ戻ってデータを受信し、ステップ５でメモリ内のデータが所定量以下で無いと判断し、ステップ６でデータ書き込み終了と判断すると、ステップ７へ進んでデータ書き込みを停止して、この処理を終了する。
【００２５】
このようにして、データ記録時に初期設定された書き込み速度では頻繁にバッファアンダーランが発生するときには、その書き込み速度を段階的に落としてデータ書き込みを再開するので、バッファアンダーラン発生時のデータ書き込みの一旦停止を最小限になるようにすると共に、データ書き込み速度が出来るだけ最短になるように自動的に調整するので、ユーザが煩雑な操作を行わなくてもデータの記録品質と書き込み効率のパフォーマンスを向上させることができる。
【００２６】
図５は、図１に示したドライブ装置における他のデータ記録処理を示すフローチャート図である。
システムコントローラ１７はデータ書き込み開始時、ステップ２１で予め設定された一定時間である所定時間をカウントするタイマ値をクリアし、ステップ２２でホスト装置から光ディスクに書き込むデータ（ライトデータ）を受信した後、ステップ２３でデータ書き込みを開始する。
ステップ２４でデータ受信とデータ書き込みを続ける中、ステップ２５でシステムコントローラはカウント（計時）を続けてタイマ値が所定時間以上になったか否かを判断する。その所定時間は書き込み速度に応じて変化させ、書き込み速度が速いほど小さくする。
【００２７】
ステップ２５の判断でタイマ値が所定時間以上でなければステップ２４の処理を続け、所定時間以上になったら、ステップ２６でバッファアンダーランが所定時間内で発生したか否かを判断し、発生していたらステップ２７でデータ書き込み終了か否かを判断し、データ書き込み終了でなければステップ２４へ戻って上述の処理を繰り返す。
ステップ２６の判断で所定時間内にバッファアンダーランが発生していなかったら、ホスト装置からのデータ転送レートが書き込み速度に対して速いと判断し、ステップ２９へ進んでポーズ・リスタートコントローラによってデータ書き込みを一時停止し、ステップ３０で書き込み速度コントローラによって現在の書き込み速度が最高速度でなければ書き込み速度を一段階上げる。
【００２８】
ステップ３１でタイマ値をクリアし、ステップ３２でポーズ・リスタートコントローラによってデータの連続性を維持するようにデータ書き込みを再開し、ステップ２４へ戻ってデータを受信し、ステップ２５でタイマ値が所定時間以上と判断し、ステップ２６で所定時間内にバッファアンダーランが発生したと判断し、ステップ２７でデータ書き込みが終了したと判断したら、ステップ２８へ進んでデータ書き込みを停止して、この処理を終了する。
なお、上記所定時間を計時ではなく書き込みセクタ数をカウントしても実現できる。
【００２９】
また、上記図３及び図４のフローチャート図に示した処理と、上記図５のフローチャート図に示した処理を合わせた処理を実行するようにしてもよい。
すなわち、データ書き込み中の所定時間内にバッファアンダーランが発生しなければ、データ書き込みを一時中断させて現在の書き込み速度を一段階毎に上げてデータ書き込みを再開させることによってデータ書き込み速度を向上させ、データ書き込み中にバッファアンダーランが所定回数以上発生したら、データ書き込みを一時中断させて現在の書き込み速度を一段階毎に下げてデータ書き込みを再開させることによってデータ書き込み時のバッファアンダーランの発生を抑えるようにするとよい。
【００３０】
このようにして、データ記録時に初期設定された書き込み速度で所定時間内にバッファアンダーランが発生しないときには、その書き込み速度を段階的に上げてデータ書き込みを再開するので、バッファアンダーランを発生させずにデータ書き込み速度が出来るだけ最短になるように自動的に調整するので、ユーザが煩雑な操作を行わなくてもデータの記録品質と書き込み効率のパフォーマンスを向上させることができる。
したがって、ユーザは、ホスト装置からのデータ転送レートよりも低い書き込み速度を指定してしまったり、単発的なバッファアンダーランの発生で書き込み速度を落としてしまうような操作を行う恐れが無く、ドライブ装置によるデータ書き込みのパフォーマンスを把握しなくても、その書き込みパフォーマンスを自動的に改善させることができる。
【００３１】
次に、バッファアンダーランが発生するしないではホスト装置からのデータ転送レートに対して大小しか判定出来ず、書き込み速度を段階的に徐々に変化させる必要があるが、その分書き込みの一旦停止が増えてパフォーマンス的にも記録品質的にも好ましくない。
そこで、単位時間当たりのデータ転送量を計測し、データ転送レートを算出し、最適な書き込み速度へダイレクトに変更するとよい。
図６は、図１に示したドライブ装置におけるまた他のデータ記録処理を示すフローチャート図である。
システムコントローラ１７はデータ書き込み開始時、ステップ４１でホスト装置から光ディスクに書き込むデータを受信した後、ステップ４２でデータ書き込みを開始する。
データ書き込み開始後はステップ４３で予め決めたインターバルであるいは時間毎に定期的にホスト装置からのデータ転送レートを演算して求め、ステップ４４でデータ受信を続け、ステップ４５でシステムコントローラは書き込み速度に対してデータ転送レートが予め設定された所定値以上乖離しているか否かを判断する。その所定値とは例えばドライブ装置が持つ段階的な書き込み可能速度の一段分にするとよい。
【００３２】
ステップ４５の判断で書き込み速度に対してデータ転送レートが予め設定された所定値以上乖離していないなら、ステップ４６でデータ書き込み終了か否かを判断し、データ書き込み終了でなければステップ４３へ戻って上述の処理を繰り返す。
ステップ４５の判断で書き込み速度に対してデータ転送レートが予め設定された所定値以上乖離しているなら、ステップ４８へ進んでポーズ・リスタートコントローラによってデータ書き込みを一時停止し、ステップ４９で書き込み速度コントローラによってデータ転送レートを超えない範囲でデータ書き込み性能（パフォーマンス）が最大になるような最大の書き込み速度に変更して設定する。
ステップ５０でポーズ・リスタートコントローラによってデータの連続性を維持するようにデータ書き込みを再開し、ステップ４３へ戻って上述の処理を繰り返し、ステップ４５で書き込み速度に対してデータ転送レートが予め設定された所定値以上乖離していないと判断し、ステップ４６でデータ書き込み終了と判断したら、ステップ４７でデータ書き込みを停止して、この処理を終了する。
【００３３】
このようにして、データ書き込み時にホスト装置からの単位時間当たりのデータ転送量を計測し、そのデータ転送量に基づいてデータ転送レートを算出し、そのデータ転送レートに基づいて最適な書き込み速度へダイレクトに変更するので、書き込み速度を段階的に徐々に変化させてしまうことによる書き込みの一旦停止の増加を防止し、パフォーマンスと記録品質を低下させるようなことがなくなる。
【００３４】
次に、書き込みの一旦停止を嫌うためにバッファアンダーランを回避する機能をオフにし、ユーザが任意に設定した書き込み速度でバッファアンダーランが起きないことを確認するためにテストライトを行うと、ドライブ装置が持つ最大の書き込み速度でバッファアンダーランが起きなければ良いのだが、バッファアンダーランが起きたり、最大速度でなっかたりした場合は、最適な速度を求めるために書き込み速度を変更してテストライトを繰り返すことになって大変処理に時間と手間がかかってしまう。
そこで、上述のようにしてテストライトでバッファアンダーランの起きない最大速度を自動的に見つけるようにし、その書き込み速度で実データの書き込みを行うようにすれば、突発的なデータ転送レートの低下が無ければ実ライトで書き込みの一旦停止を発生させずに済む。
【００３５】
図７は、図１に示したドライブ装置におけるさらに他のデータ記録処理を示すフローチャート図である。
このデータ記録処理は、上述の処理をデータ記録前のテストとして実行し、そのテスト結果に基づいてデータ書き込み前にバッファアンダーランの発生の恐れのない最適な書き込み速度を設定するものである。
システムコントローラ１７はデータ書き込み前に、ステップ６１でホスト装置からテスト用のデータを受信した後、ステップ６２でデータのテスト書き込みを開始する。
テスト書き込み開始後はステップ６３で予め決めたインターバルであるいは時間毎に定期的にホスト装置からのデータ転送レートを演算して求め、ステップ６４でデータ受信を続け、ステップ６５でシステムコントローラは書き込み速度に対してデータ転送レートが予め設定された所定値以上乖離しているか否かを判断する。その所定値とは例えばドライブ装置が持つ段階的な書き込み可能速度の一段分にするとよい。
【００３６】
ステップ６５の判断で書き込み速度に対してデータ転送レートが予め設定された所定値以上乖離していないなら、ステップ６６でテスト書き込み終了か否かを判断し、テスト書き込み終了でなければステップ６３へ戻って上述の処理を繰り返す。
ステップ６５の判断で書き込み速度に対してデータ転送レートが予め設定された所定値以上乖離しているなら、ステップ６８へ進んでポーズ・リスタートコントローラによってテスト書き込みを一時停止し、ステップ６９で書き込み速度コントローラによってデータ転送レートを超えない範囲でデータ書き込み性能（パフォーマンス）が最大になるような最大の書き込み速度に変更して設定する。
【００３７】
ステップ７０でポーズ・リスタートコントローラによってデータの連続性を維持するようにテスト書き込みを再開し、ステップ６３へ戻って上述の処理を繰り返し、ステップ６５で書き込み速度に対してデータ転送レートが予め設定された所定値以上乖離していないと判断し、ステップ６６でテスト書き込み終了と判断したら、ステップ６７でテスト書き込みを停止して、この処理を終了する。
また、上述の図３及び図４，図５又は図６で説明した処理をそれぞれデータ書き込み前のテスト書き込みとして実施するようにしてもよい。
上述の処理において、テスト書き込みの再開ではＲＦ信号による位置決めができないのでウォブル信号による位置決めを行なう。
【００３８】
このようにして、テストライトで予めバッファアンダーランが発生しない最高書き込み速度を求めて、その最高書き込み速度によって実データの書き込みを行うので、通常の状態で記録品質を保って最も高速にデータ書き込みを行えるようになる。
【００３９】
図８は、図１に示したドライブ装置におけるさらにまた他のデータ記録処理を示すフローチャート図である。
このデータ記録処理は、ホスト装置からのユーザ入力によって自動書き込み速度の変更許可（自動速度変更許可）が設定されてる場合のみに上述のデータ記録処理を実行する。予めホスト装置から自動速度変更許可通知が入力されると、ドライブ装置のシステムコントローラ１７は、その自動速度変更許可通知に基づいて自動速度変更許可の設定フラグを内部メモリ（図示を省略）に格納する。ホスト装置から自動速度変更許可通知の解除通知があった場合又はその通知が無い場合には、内部メモリの設定フラグを消去する。
システムコントローラ１７はデータ書き込み時、ステップ８１でホスト装置からデータを受信した後、ステップ８２でデータの書き込みを開始する。
データ書き込み開始後はステップ８３で予め決めたインターバルであるいは時間毎に定期的にホスト装置からのデータ転送レートを演算して求め、ステップ８４でデータ受信を続け、ステップ８５でシステムコントローラは書き込み速度に対してデータ転送レートが予め設定された所定値以上乖離して且つ自動速度変更許可が設定されているか否かを判断する。
【００４０】
ステップ８５の判断で書き込み速度に対してデータ転送レートが予め設定された所定値以上乖離しておらず又は自動速度変更許可が設定されていなければ（オフ）、ステップ８６でデータ書き込み終了か否かを判断し、データ書き込み終了でなければステップ８３へ戻って上述の処理を繰り返す。
ステップ８５の判断で書き込み速度に対してデータ転送レートが予め設定された所定値以上乖離して且つ自動速度変更許可が設定されている（オン）なら、ステップ８８へ進んでポーズ・リスタートコントローラによってデータ書き込みを一時停止し、ステップ８９で書き込み速度コントローラによってデータ転送レートを超えない範囲でデータ書き込み性能（パフォーマンス）が最大になるような最大の書き込み速度に変更して設定する。
【００４１】
ステップ９０でポーズ・リスタートコントローラによってデータの連続性を維持するようにデータ書き込みを再開し、ステップ８３へ戻って上述の処理を繰り返し、ステップ８５で書き込み速度に対してデータ転送レートが予め設定された所定値以上乖離しておらず又は自動速度変更許可が設定されていないと判断し、ステップ８６でデータ書き込み終了と判断したら、ステップ８７でデータ書き込みを停止して、この処理を終了する。
また、上述の図３及び図４，図５又は図６で説明した処理の際にも自動速度変更許可設定の有無によって書き込み速度の変更を行うか行わないかを自動的に切り換えるようにしてもよい。
なお、上述の自動書き込み速度変更許可設定は書き込み速度の在る値、例えば“０”が設定されたときに自動書き込み速度変更を許可するようにすれば、ユーザは任意の書き込み速度と自動処理を同一メニューで選択することができて便利である。
【００４２】
このようにして、データ書き込み時の書き込み速度の変更を実施するか否かをユーザが事前に選択できるので、通常の記録媒体の時には書き込み速度を自動的に適宜変更して書き込み時間を最短にすることができ、書き込み速度の変更によって記録品質が悪化したり記録面に縞模様が発生する恐れのある記録媒体のときには記録品質を優先してデータ書き込み時の書き込み速度の変更を実施しないようにすることができる。
【００４３】
この実施形態のドライブ装置は、ネットワーク上のデータを書き込む場合などのように、ネットワークのトラフィック状況によってはホスト装置からのデータ転送レートが逐次変化するときでも、最高のパフォーマンスが出るように書き込み速度を自動的に調節するので、ユーザの速度選択の手間を省くことができる。
また、書き込み速度を適宜上げ下げすることで最高の書き込みパフォーマンスを得ることができる。
さらに、複数回のバッファアンダーランを確認することによってバッファアンダーランの発生が単発的なものか、定常的なものかを判別し、どのような状況でも最高の書き込みパフォーマンスを得ることができる。
【００４４】
また、単発的なデータ転送レート変動の影響を排除することができ、常に良いパフォーマンスを維持することができる。
さらに、初期書き込み速度が低くてもパフォーマンスを上げることができる。
また、ダイレクトな速度変更によって一時停止の回数を低減することができる。
さらに、テスト書き込みで最適な書き込み速度を求めて実書き込みを行うので、実書き込みで一時停止の発生する確率を非常に低くすることができる。
また、ユーザが自動書き込み速度変更の機能のオンとオフを任意に選択できるので、特定の速度でしか書き込めないような光ディスク等の記録媒体に対する書き込みも安全に行なえる。
なお、上述の実施形態では、この発明をＣＤ−Ｒ／ＲＷディスク等の記録媒体に対するデータ書き込みを行うドライブ装置に適用した場合について説明したが、その他のＤＶＤディスク等の記録媒体にデータの書き込みを行うドライブ装置についても同様にして実施することができる。
【図面の簡単な説明】
【００４５】
【図１】この発明の情報記録装置の一実施形態であるドライブ装置の構成を示すブロック図である。
【図２】図１に示したメモリのサイズ毎にホスト装置からのデータ転送レートに対するバッファアンダーランが発生する時間の一例を示す線図である。
【図３】図１に示したドライブ装置におけるデータ記録処理を示すフローチャート図である。
【図４】図３に示した処理の続きを示すフローチャート図である。
【図５】図１に示したドライブ装置における他のデータ記録処理を示すフローチャート図である。
【図６】図１に示したドライブ装置におけるまた他のデータ記録処理を示すフローチャート図である。
【図７】図１に示したドライブ装置におけるさらに他のデータ記録処理を示すフローチャート図である。
【図８】図１に示したドライブ装置におけるさらにまた他のデータ記録処理を示すフローチャート図である。
【符号の説明】
【００４６】
１：スピンドルモータ    ２：モータドライバ    ３：サーボ処理部    ４：光ピックアップ    ５：リードアンプ    ６：ＣＤデコーダ    ７：ＣＤ−ＲＯＭデコーダ    ８：メモリマネージャ    ９：メモリ    １０：ホストＩ／Ｆ    １１：ＡＴＩＰデコーダ    １２：ＣＤエンコーダ    １３：ＣＤ−ＲＯＭエンコーダ    １４：ＬＤドライバ    １５：ポーズ・リスタートコントローラ    １６：ライトゲート制御部    １７：システムコントローラ    １８：書き込み速度コントローラ
【図１】
2007311022.tif 000003
【図２】
2007311022.tif 000004
【図３】
2007311022.tif 000005
【図４】
2007311022.tif 000006
【図５】
2007311022.tif 000007
【図６】
2007311022.tif 000008
【図７】
2007311022.tif 000009
【図８】
2007311022.tif 000010