(57)【要約】【課題】本発明は、光ディスクへの書き込み時に不足するデータを補填する処理時間を短縮する光ディスクコントローラ及び光ディスクドライブシステムを提供することを目的とする。【解決手段】本発明は、光ディスクコントローラ及び光ディスクドライブシステムに関する。当該光ディスクコントローラ２は、インターフェイス回路部３と、バッファ５と、メモリマネージャ４と、ＥＣＣ回路部７と、変調回路部８と、演算処理部１２とを備えている。メモリマネージャ４は、制御レジスタ部４１と、コピー転送制御部４２と、バッファコントローラ４３とを備えている。制御レジスタ部４１は、演算処理部の制御信号から不足するデータの複数のセクタ番号情報を取り出し保持するコピーセクタ番号設定レジスタ４１６をさらに備えている。コピー転送制御部４２は、セクタ番号情報に基づき複数のセクタ番号に対するコピー転送処理を連続して行う。【選択図】図１
2008176866.tif 000002
【特許請求の範囲】
【請求項１】
誤り訂正符号を付加できるデータ容量単位に分割されて記録される光ディスクへのデータの読み出し及び書き込みを制御する光ディスクコントローラであって、
外部機器との間でデータの入出力を制御するインターフェイス回路部と、
前記インターフェイス回路部より入力されたデータを、前記誤り訂正符号を付加する単位で保持するバッファと、
前記バッファへのデータの読み出し及び書き込みを制御するメモリマネージャと、
前記バッファに保持されたデータに前記誤り訂正符号を付加するＥＣＣ回路部と、
前記ＥＣＣ回路部で前記誤り訂正符号を付加したデータを所定の形式に変調する変調回路部と、
前記インターフェイス回路部、前記メモリマネージャ、前記ＥＣＣ回路部及び前記変調回路部を制御する演算処理部とを備え、
前記メモリマネージャは、
前記光ディスクへの書き込み時に前記インターフェイス回路部から入力されたデータが前記誤り訂正符号を付加する単位に満たない場合に、不足するデータに対して再生データをセクタ単位で前記バッファにコピー転送するよう指示する前記演算処理部の制御信号から、コピー転送に必要な情報を取り出し保持する複数のレジスタを有する制御レジスタ部と、
前記制御レジスタ部からの前記情報に基づき、前記バッファへのコピー転送を制御するコピー転送制御部と、
前記コピー転送制御部からの指示に基づき、前記バッファに対し前記再生データの読み出し及び書き込みを制御するバッファコントローラとを備え、
前記制御レジスタ部は、前記演算処理部の前記制御信号から不足するデータの複数のセクタ番号情報を取り出し保持するコピーセクタ番号設定レジスタをさらに備え、
前記コピー転送制御部は、前記セクタ番号情報に基づき複数のセクタ番号に対するコピー転送処理を連続して行うことを特徴とする光ディスクコントローラ。
【請求項２】
誤り訂正符号を付加できるデータ容量単位に分割されて記録される光ディスクへのデータの読み出し及び書き込みを制御する光ディスクコントローラであって、
外部機器との間でデータの入出力を制御するインターフェイス回路部と、
前記インターフェイス回路部より入力されたデータを、前記誤り訂正符号を付加する単位で保持するバッファと、
前記バッファへのデータの読み出し及び書き込みを制御するメモリマネージャと、
前記バッファに保持されたデータに前記誤り訂正符号を付加するＥＣＣ回路部と、
前記ＥＣＣ回路部で前記誤り訂正符号を付加したデータを所定の形式に変調する変調回路部と、
前記インターフェイス回路部、前記メモリマネージャ、前記ＥＣＣ回路部及び前記変調回路部を制御する演算処理部とを備え、
前記メモリマネージャは、
前記光ディスクへの書き込み時に前記インターフェイス回路部から入力されたデータが前記誤り訂正符号を付加する単位に満たない場合に、不足するデータに対して前記ＥＣＣ回路からの再生データをセクタ単位で前記バッファに転送するよう指示する前記演算処理部の制御信号から、再生データ転送に必要な情報を取り出し保持する複数のレジスタを有する制御レジスタ部と、
前記制御レジスタ部からの前記情報に基づき、前記ＥＣＣ回路から前記バッファへの前記再生データの転送制御を行う再生データ転送制御部と、
前記再生データ転送制御部からの指示に基づき、前記バッファに対し前記再生データの読み出し及び書き込みを制御するバッファコントローラとを備え、
前記制御レジスタ部は、前記演算処理部の前記制御信号から不足するデータの複数のセクタ番号を取り出し、前記再生データの転送実行・禁止情報として保持する再生データ転送セクタ番号設定レジスタをさらに備え、
前記再生データ転送制御部は、前記転送実行・禁止情報に基づき前記ＥＣＣ回路からの前記再生データを前記バッファに直接転送することを特徴とする光ディスクコントローラ。
【請求項３】
誤り訂正符号を付加できるデータ容量単位に分割されて記録される光ディスクへのデータの読み出し及び書き込みを行うレーザーダイオードと、
請求項１又は請求項２に記載の光ディスクコントローラと、
前記光ディスクコントローラの前記変調回路からの出力を前記レーザーダイオードへの入力信号に変換するレーザーダイオードドライバとを備える光ディスクドライブシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光ディスクコントローラ及び光ディスクドライブシステムに係る発明であって、特に、誤り訂正符号を付加できるデータ容量単位に分割されて記録される光ディスクに用いる光ディスクコントローラ及び光ディスクドライブシステムに関するものである。
【背景技術】
【０００２】
パーソナルコンピュータ（以下、ＰＣともいう）やＤＶＤレコーダ（以下、レコーダともいう）において、ファイルデータや動画像データは光ディスクドライブを用いてＢｌｕ−ｒａｙディスクやＤＶＤ−ＲＡＭディスク等に記録される場合がある。この場合、ＰＣやレコーダから送られたファイルデータや動画像データは、各ディスクの物理規格に応じた誤り訂正符号を付加できるデータ容量単位に分割されてＢｌｕ−ｒａｙディスクやＤＶＤ−ＲＡＭディスク等に記録される。
【０００３】
ここで、Ｂｌｕ−ｒａｙディスクやＤＶＤ−ＲＡＭディスク等に記録されるデータは２Ｋバイトを１セクタという単位で扱われる。そして、各ディスクの物理規格に応じた誤り訂正符号を付加できるデータ容量単位は、ＤＶＤ−ＲＡＭでは１６セクタの３２Ｋバイト、Ｂｌｕ−ｒａｙでは３２セクタの６４Ｋバイトである。
【０００４】
通常、ＰＣやレコーダから光ディスクドライブへの記録指示は、ＡＴＡＰＩ（AT Attachment Packet Interface）コマンドにより指示される。このＡＴＡＰＩコマンドでは、記録開始位置がゼロから１セクタ単位ずつ増えていく論理アドレスと、セクタ数として表現される記録データ容量とで指示される。光ディスクでは、この論理アドレスをメディア上の物理アドレスに変換して記録開始位置として扱う。
【０００５】
この際、変換された記録開始位置の物理アドレスが、ＤＶＤ−ＲＡＭの場合３２Ｋバイトの境界、Ｂｌｕ−ｒａｙの場合６４Ｋバイトの境界になるとは限らず、３２Ｋバイト又は６４Ｋバイトのデータ容量単位の中途になることが一般的である。また、記録終了位置の物理アドレスも同様に、３２Ｋバイト又は６４Ｋバイトのデータ容量単位の中途になることが一般的である。このような場合、物理規格に応じた誤り訂正符号を付加できるデータ容量単位全てにデータが書き込まれておらず、データが不足している状態である。
【０００６】
ＤＶＤ−ＲＡＭやＢｌｕ−ｒａｙ等の各ディスクの物理規格では、光ディスクへの書き込み時にデータが不足している場合、不足しているデータを光ディスク上のデータ又は”０”データを用いてセクタ単位で補充する。つまり、既に光ディスク上に不足するデータと同一の物理アドレスにデータが記録されている場合は、光ディスク上のデータで補填し、光ディスク上が未記録の場合は、"０"データで補填すると物理規格で定めている。
【０００７】
このように、光ディスクドライブでは、データを補填するために、記録開始位置の物理アドレスを含んだ３２Ｋバイト又は６４Ｋバイトの境界からデータを読み出し、当該データを書き込み時に不足しているデータにセクタ単位でコピーを行う。以上の一連の処理を、記録データマージ処理ともいう。
【０００８】
なお、光ディスクドライブに関する処理については、例えば特許文献１や特許文献２に記載されている。
【０００９】
【特許文献１】特開２００４−１９９７４０号公報
【特許文献２】特開２００２−３１９１３７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかし、光ディスクドライブにおいて記録データマージ処理が発生することは、記録データマージ処理が発生しない場合に比べて記録性能低下の要因となっていた。具体的に、記録データマージ処理は、光ディスク上から不足するデータを読み出す処理時間、読み出した当該データを所定のバッファにコピー転送するハードウェア及びソフトウェアの処理時間が増えることになる。そのため、記録データマージ処理が発生しない場合に比べ、記録データマージ処理が発生する場合のハードウェア及びソフトウェアの処理時間は長くなり、光ディスクドライブにおける記録性能低下となる。但し、記録データマージ処理において、不足するデータを補填するために光ディスク上からデータを読み出す処理時間は、物理規格を満たすために必須である。
【００１１】
そこで、本発明は、光ディスクへの書き込み時に不足するデータを補填するハードウェア及びソフトウェアの処理時間を短縮する光ディスクコントローラ及び光ディスクドライブシステムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明に係る解決手段は、誤り訂正符号を付加できるデータ容量単位に分割されて記録される光ディスクへのデータの読み出し及び書き込みを制御する光ディスクコントローラに関するものである。そして、本発明の１つの実施形態に係る光ディスクコントローラは、インターフェイス回路部と、バッファと、メモリマネージャと、ＥＣＣ回路部と、変調回路部と、演算処理部とを備えている。さらに、当該メモリマネージャは、制御レジスタ部と、コピー転送制御部と、バッファコントローラとを備えている。制御レジスタ部は、光ディスクへの書き込み時にインターフェイス回路部から入力されたデータが誤り訂正符号を付加する単位に満たない場合に、不足するデータに対して再生データをセクタ単位でバッファにコピー転送するよう指示する演算処理部の制御信号から、不足するデータの複数のセクタ番号情報を取り出し保持するコピーセクタ番号設定レジスタを備えている。また、コピー転送制御部は、セクタ番号情報に基づき複数のセクタ番号に対するコピー転送処理を連続して行う。
【発明の効果】
【００１３】
本発明の１つの実施形態に記載の光ディスクコントローラは、演算処理部の制御信号から不足するデータの複数のセクタ番号情報を取り出し保持するコピーセクタ番号設定レジスタに基づき複数のセクタ番号に対するコピー転送処理を連続して行うので、演算処理部で行っていた１セクタ毎の設定処理時間が不要となり、不足するデータのコピー転送処理の実行時間を短縮することができる。
【発明を実施するための最良の形態】
【００１４】
（実施の形態１）
本実施の形態では、光ディスクへの書き込み時のデータが、誤り訂正符号を付加できるデータ容量単位（以下、１ＥＣＣブロックともいう）に満たない場合に、メモリマネージャが複数のセクタ番号に関する情報に基づいて、不足データを補填する転送処理を連続実行する。例えば、１ＥＣＣブロック内で不足している複数のデータに対応するセクタ番号情報をレジスタで保持することにより、演算処理部が１セクタ毎に設定することなくコピー転送する処理を連続実行できる。
【００１５】
まず、Ｂｌｕｅ−ｒａｙディスクやＤＶＤ−ＲＡＭディスク等では、ファイルデータや画像データ（以下、単にデータという）を記録する際に、Ｂｌｕｅ−ｒａｙディスクでは３２セクタ、ＤＶＤ−ＲＡＭディスクでは１６セクタ毎に誤り訂正符号を付加している。図１に、本実施の形態に係る光ディスクドライブシステムのブロック図を示す。図１に示す光ディスクドライブシステムでは、外部機器である外部ホスト１で生成されたデータが、外部ホストのＡＴＡＰＩのＩ／Ｆ回路部（図示せず）からセクタ単位（２Ｋバイト）で送信され、光ディスクコントローラ２のＡＴＡＰＩのＩ／Ｆ回路部３に入力される。
【００１６】
Ｉ／Ｆ回路部３に入力されたデータは、メモリマネージャ４の制御によりバッファＲＡＭ５（例えば、ＳＤＲＡＭで構成される）のライトバッファ６に転送され、書き込まれる。ライトバッファ６では、誤り訂正符号が付加されるセクタ数単位（１ＥＣＣブロック６ａ）を１個のバッファとし、複数個のバッファで構成されている。ライトバッファ６に書き込まれたデータは誤り訂正符号が付加されるセクタ数（１ＥＣＣブロック６ａ）に達すると、ＥＣＣ回路７に出力され、当該ＥＣＣ回路７で訂正符号が付加される。
【００１７】
ＥＣＣ回路７で訂正符号が付加されたデータは、変調回路８に転送され、変調回路８で光ディスク９に書き込むために所定の形式に変調される。変調されたデータは、光ディスクコントローラ２の変調回路８からの出力信号としてレーザーダイオードドライバ１０に出力される。レーザーダイオードドライバ１０では、変調されたデータをレーザーダイオード１１の入力信号に変換する。レーザーダイオード１１では、レーザーダイオードドライバ１０からの入力信号に基づいてレーザー出力を制御しデータを光ディスク９に書き込む。
【００１８】
なお、光ディスクコントローラ２には、Ｉ／Ｆ回路部３、メモリマネージャ４、ＥＣＣ回路部７及び変調回路部８を制御するＣＰＵ１２が設けられている。このＣＰＵ１２は、アプリケーションソフト１２ａに従って各回路部等の処理が実行されている。
【００１９】
次に、ライトバッファ６に書き込まれたデータが１ＥＣＣブロック６ａを満たさない場合の処理について説明する。図２に示すライトバッファ６の１ＥＣＣブロック６ａ（１６セクタ）では、セクタ番号１〜４，８，９，１１，１３，１４の９セクタに入力されたデータが書き込まれ、残りが不足するデータである。そのため、当該１ＥＣＣブロック６ａに誤り訂正符号を付加するには、データが不足しているセクタ（不足セクタ）を補填する記録データマージ処理を行う必要がある。
【００２０】
補填する方法として、不足セクタに対応する光ディスク上の物理アドレスにデータが既に記録されている場合には、当該記録済みのデータを読み出しバッファＲＡＭ５のリードバッファ１５に再生データとして一旦読み込む。そして、リードバッファ１５の再生データから不足セクタに対応するデータを抽出し、ライトバッファ６にコピー転送する。つまり、図２に示す１ＥＣＣブロック６ａでは、セクタ番号０，５〜７，１０，１２，１５の７セクタにリードバッファ１５の再生データをセクタコピーする。
【００２１】
一方、不足セクタに対応する光ディスク上の物理アドレスにデータが記録されていない場合（未記録の場合）には、図３に示すように１ＥＣＣブロック６ａで不足するデータに”０”データを再生データとしてセクタコピーする。なお、以上の記録データマージ処理はディスクの物理規格で規定されている方法である。
【００２２】
次に、この物理規格を満足するために用いられていた従来の光ディスクコントローラ及び光ディスクドライブシステムについて説明する。図４に従来の光ディスクコントローラに設けられたメモリマネージャのブロック図を、図５に従来の光ディスクコントローラでのセクタコピー（コピー転送）のフローチャートをそれぞれ示す。また、図６に従来の光ディスクコントローラでのセクタコピー処理の信号波形を、図７に従来の光ディスクコントローラでの記録データマージ処理のフローチャートをそれぞれ示す。まず、図７に示すステップＳ１０１では外部ホスト１から入力されたデータが１ＥＣＣブロック６ａを満たしているか否かをＣＰＵ１２で判断する。さらに、ＣＰＵ１２は、図７に示すステップＳ１０２でデータが不足しているセクタ数とセクタ番号を確認し、ステップＳ１０３で不足しているデータのセクタ番号に対応する光ディスク上の記録の有無を確認する。ステップＳ１０３で光ディスク上に記録がある場合、ステップＳ１０４では、記録先である光ディスク上から再生データを読み出し、リードバッファ１５に保持しておく。なお、ステップＳ１０５は、光ディスク上からデータを読み出す処理が完了するまでの待ち処理である。
【００２３】
次に、ステップＳ１０６で、セクタコピーのセクタ数をカウントするループカウンタをゼロにリセットし、ステップＳ１０７でループカウンタを１繰り上げる。ステップＳ１０７では、メモリマネージャ４にリードバッファ１５のセクタ番号に対応するコピー元アドレス、ライトバッファ６のセクタ番号に対応するコピー先アドレスやコピーセクタ数等のコピー転送に必要な情報を指示し、セクタコピーの設定を行う。ステップＳ１０８では、ステップＳ１０７での設定に基づきセクタコピーを開始する。なお、ステップＳ１１０は、セクタコピー処理が完了するまでの待ち処理である。
【００２４】
次に、ステップＳ１１１では、ステップＳ１０２で確認したコピーが必要なセクタ数を処理し終えたか否かを判断し、処理が終えていない場合はステップＳ１０７に戻り、終えている場合はステップＳ１１２に進みデータの書き込み処理を行う。なお、ステップＳ１１３は、データの書き込み処理が完了するまでの待ち処理である。
【００２５】
一方、ステップＳ１０３で光ディスク上に記録がない場合（未記録）は、コピーする再生データを”０”に固定し、コピー元アドレスを指定しない以外は、基本的にステップ１０６〜ステップ１１１の処理と同じである。つまり、ステップＳ１０３で未記録の場合では、ステップＳ１２０でコピーする再生データを”０”に固定、コピー先アドレスやコピーセクタ数等のコピー転送に必要な情報をメモリマネージャ４に指示する。なお、ステップＳ１０３で未記録の場合で、ステップ１０６〜ステップ１１１の処理と同じ処理については同じ符号を付して詳細な説明は省略する。
【００２６】
図４に示すメモリマネージャ４は、図７に示すステップＳ１０８，Ｓ１２０においてＣＰＵ１２からＣＰＵバス１３を介してアドレスやデータを含む制御信号を受け取る。メモリマネージャ４では、図４に示す制御レジスタ部４１で、コピー転送に必要な情報を取り出し保持する。具体的に制御レジスタ部４１では、コピー元アドレス指定レジスタ４１１でコピー元アドレスを、コピー先アドレス指定レジスタ４１２でコピー先アドレスを、コピー転送制御レジスタ４１３でコピー開始ビット、コピーモード設定及びコピー終了ビットをそれぞれ保持する。また、制御レジスタ部４１では、コピーするセクタ数を保持するコピーセクタ数設定レジスタ４１４や、コピーしたデータ数を設定するコピーデータ数設定レジスタ４１５も備えている。
【００２７】
さらに、図４に示すメモリマネージャ４では、制御レジスタ部４１で保持した情報に基づき、コピー転送を制御するコピー転送制御部４２を備えている。このコピー転送制御部４２は、コピーデータ転送制御シーケンサ４２１がアドレス制御４２２やデータ転送信号制御４２３を制御して、セクタコピーの処理を行う。図４に示すメモリマネージャ４では、図６に示す４バイトカウンタの波形から分かるように４バイト単位でデータをコピー転送するので、アドレスカウンタ４２４を設けて制御している。また、図４に示すメモリマネージャ４には、１セクタのデータ容量（２ｋバイト）をカウントするデータ転送カウンタ４２５及びコピー転送したセクタ数をカウントするセクタ数カウンタ４２６を設けている。なお、バッファＲＡＭ５へのデータの読み出しや書き込みの処理は、バッファコントローラ４３を介して行われる。
【００２８】
次に、コピーデータ転送制御シーケンサ４２１の具体的な処理を図５を用いて説明する。まず、ステップＳ１０では、ＣＰＵ１２からコピー転送を開始する指示があるか否かを判断する。コピー転送が開始されるとステップＳ１１では、アドレス制御４２２やデータ転送信号制御４２３に対してコピーモード設定がセクタコピーモードであることを指示する。さらに、ステップＳ１２では、アドレス制御４２２やデータ転送信号制御４２３に対して１セクタのデータをコピー転送するように指示する。
【００２９】
次に、ステップＳ１３では、図６のリードデータ及びライトデータに示すように、アドレス（＃１，＃２等）毎に４バイトのデータ転送を行っている。ステップ１３で４バイトのデータ転送が完了すると、ステップＳ１４でアドレス制御４２２に対してアドレスインクリメントを指示する。図６に示すコピー元・先アドレスの波形は、コピーデータ転送要求のパルスに伴い、コピー元＃１アドレス，コピー先＃１アドレス，コピー元＃２アドレス，コピー先＃２アドレスの順に番号が繰り上がっている。さらに、ステップＳ１５では、１セクタのデータ転送が完了したか否かについて判断し、完了していなければステップＳ１３に戻り、完了していればステップＳ１６に進む。なお、図６に示す２Ｋバイトカウンタの波形では、２Ｋバイトカウンタが２０４８から０となることで１セクタのデータ転送が完了する。
【００３０】
次に、ステップＳ１６では、ＣＰＵ１２から指定されセクタ数のコピー転送が完了しているか否かを判断し、完了していればステップＳ１０に戻り、完了していなければステップ１７に進む。ステップ１７では、アドレス制御４２２に対して次のセクタのアドレスに更新するよう指示しステップＳ１２に戻る。
【００３１】
以上のように、従来の光ディスクコントローラ及び光ディスクドライブシステムでは、光ディスク上にデータが記録されていれば当該データを読み出し、未記録であれば”０”データを再生データとして、Ｉ／Ｆ回路部３から入力されたデータの不足している箇所にセクタ単位でコピーする。これにより、入力されたデータは、１ＥＣＣブロックを満たすことができ、誤り訂正符号を付加して光ディスクに書き込まれる。
【００３２】
しかし、従来の光ディスクコントローラ及び光ディスクドライブシステムでは、セクタコピーを行う際、図７のステップＳ１０６からステップＳ１１０に示すように１セクタ毎にＣＰＵ１２がセクタコピーの設定を行いメモリマネージャ４に指示する必要があった。つまり、従来の光ディスクコントローラ及び光ディスクドライブシステムでは、メモリマネージャ４がセクタコピーを行う時間に加えて、ＣＰＵ１２がソフトウェアを実行することで次のセクタコピーの設定を行う処理時間がコピー回数分だけ繰り返されていた。図６に示す波形には、８セクタ目のセクタコピーを実行するためのＣＰＵ設定処理時間として図示している。従来の光ディスクコントローラ等では、セクタが変わる毎に当該処理期間が挿入されることになるため、光ディスクへの書き込み時に不足するデータを補填する処理時間（記録データマージ処理）が長くなっていた。
【００３３】
そこで、本実施の形態に係る光ディスクコントローラ及び光ディスクドライブシステムでは、図８に示すメモリマネージャの構成を光ディスクコントローラが採用することで記録データマージ処理時間の短縮を図っている。以下、図８乃至図１２を用いて、本実施の形態に係る光ディスクコントローラ及び光ディスクドライブシステムについて説明する。ここで、図８に本実施の形態に係るメモリマネージャのブロック図を、図９にコピー転送制御レジスタ及びコピーセクタ番号設定レジスタの模式図をそれぞれ示す。また、図１０に本実施の形態でのセクタコピー（コピー転送）のフローチャートを、図１１に本実施の形態でのセクタコピー処理の信号波形を、図１２に本実施の形態での記録データマージ処理のフローチャートをそれぞれ示す。
【００３４】
まず、図８に示すメモリマネージャは、基本的に図４に示したブロック図と同じであるが、制御レジスタ部４１内にコピーセクタ番号設定レジスタ４１６を設けた点が異なる。コピーセクタ番号設定レジスタ４１６には、図９に示すように１ＥＣＣブロックの各セクタに対するセクタコピー禁止・実行の情報が保持されている。図９では、１ＥＣＣブロックが３２セクタの場合を示しているため、コピーセクタ番号設定レジスタ４１６は３２ビット用意されているが、１ＥＣＣブロックが１６セクタであればコピーセクタ番号設定レジスタ４１６は１６ビットで良い。
【００３５】
図９に示すコピーセクタ番号設定レジスタ４１６では、セクタコピー禁止を”０”、セクタコピー実行を”１”として各ビットに保持されている。また、図９にはコピー転送制御レジスタの模式図が図示されており、コピー開始ビット、コピーモード設定及びコピー終了ビットの情報が保持される様子が示されている。
【００３６】
図８に示すメモリマネージャでは、セクタコピーする複数のセクタ番号を設定するコピーセクタ番号設定レジスタ４１６を設けたことで、コピーデータ転送制御シーケンサ４２１が当該レジスタの内容に基づいて複数のセクタを連続してコピーすることができる。まず、図１２に示すステップＳ２０１では入力されたデータが１ＥＣＣブロックを満たしているか否かをＣＰＵ１２で判断する。さらに、ＣＰＵ１２は、図１２に示すステップＳ２０２でデータが不足しているセクタ番号を確認し、当該番号をコピーセクタ番号設定レジスタ４１６に設定する。ステップＳ２０３では、データが不足しているセクタ数を確認し、コピーセクタ数設定レジスタ４１４を設定する。
【００３７】
次に、ステップＳ２０４では、不足しているデータのセクタ番号に対応する光ディスク上の記録の有無を確認する。ステップＳ２０４で光ディスク上に記録がある場合は、ステップＳ２０５で記録先である光ディスク上から再生データを読み出し、リードバッファ１５に保持しておく。なお、ステップＳ２０６は、光ディスク上から再生データを読み出す処理が完了するまでの待ち処理である。
【００３８】
次に、ステップＳ２０７では、コピー元となるリードバッファ１５の１ＥＣＣブロック先頭のアドレスをコピー元アドレスとしてメモリマネージャ４に指示する。同様に、ステップＳ２０７では、コピー先となるライトバッファ６の１ＥＣＣブロック先頭のアドレスをコピー先アドレスとしてメモリマネージャ４に指示する。そして、ステップＳ２０７では、コピー元アドレス及びコピー先アドレス等のコピー転送に必要な情報を制御レジスタ部４１に設定する。ステップＳ２０８では、ステップＳ２０７での設定に基づきセクタコピーを開始する。
【００３９】
ステップＳ２０９では、コピーセクタ番号設定レジスタ４１６でセクタコピー実行とされたセクタ番号全て（指定されたセクタ数）コピーが完了したか否かについて判断する。ステップＳ２０９でコピーが完了しているとされれば、ステップＳ２１０に進みデータの書き込み処理を行う。なお、ステップＳ２１１は、データの書き込み処理が完了するまでの待ち処理である。ステップＳ２０９でコピーが完了していないとされれば、セクタコピーの実行が継続される。
【００４０】
一方、ステップＳ２０４で光ディスク上に記録がない場合（未記録）は、ステップ２２０においてコピーする再生データを”０”に固定し、コピー元アドレス及びコピー先アドレス等を設定してステップ２０８及びステップ２０９の処理を行う。
【００４１】
次に、本実施の形態に係るコピーデータ転送制御シーケンサ４２１の具体的な処理を図１０を用いて説明する。まず、ステップＳ２０では、ＣＰＵ１２からコピー転送を開始する指示があるか否かを判断する。コピー転送が開始されるとステップＳ２１では、アドレス制御４２２やデータ転送信号制御４２３に対してコピーモード設定がセクタコピーモードであることと、セクタ指定とを指示する。ここで、セクタ指定とは、コピーセクタ番号設定レジスタ４１６のセクタ番号を指定することである。
【００４２】
次に、ステップＳ２２では、図９に示されたコピーセクタ番号設定レジスタ４１６の内で指定されたセクタ番号のセクタコピー禁止・実行情報を確認し、当該情報が実行であればステップＳ２３に進み、禁止であればステップＳ２４に進む。ステップＳ２３では、アドレス制御４２２に対して指定されたセクタ番号のアドレスを設定する。一方、ステップＳ２４では、アドレス制御４２２に対して１ＥＣＣブロックの先頭セクタから順次セクタアドレスを設定する。
【００４３】
次に、ステップＳ２５では、アドレス制御４２２やデータ転送信号制御４２３に対して１セクタのデータをコピー転送するように指示する。さらに、ステップＳ２６では、図１１のリードデータ及びライトデータに示すように、アドレス（＃１，＃２等）毎に４バイトのデータ転送を行っている。ステップ２６で４バイトのデータ転送が完了すると、ステップＳ２７でアドレス制御４２２に対してアドレスインクリメントを指示する。なお、図１１に示すコピー元・先アドレスの波形は、コピーデータ転送要求のパルスに伴い、コピー元＃１アドレス，コピー先＃１アドレス，コピー元＃２アドレス，コピー先＃２アドレスの順に番号が繰り上がっている。
【００４４】
次に、ステップＳ２８では、１セクタのデータ転送が完了したか否かについて判断し、完了していなければステップＳ２６に戻り、完了していればステップＳ２９に進む。なお、図１１に示す２Ｋバイトカウンタの波形では、２Ｋバイトカウンタが２０４８から０となることで１セクタのデータ転送が完了する。さらに、ステップＳ２９では、コピーセクタ番号設定レジスタ４１６で指定されセクタ数のコピー転送が完了しているか否かを判断し、完了していればステップＳ２０に戻り、完了していなければステップ２２に戻る。
【００４５】
上述した従来の処理では、１セクタ毎にＣＰＵ１２で次のセクタアドレスやコピーするセクタ数を設定しなければならず、処理時間が長くかかっていた。しかし、図１０に示すフローチャートでは、コピーデータ転送制御シーケンサ４２１が、１セクタのデータ転送開始毎にコピーセクタ番号設定レジスタ４１６の設定内容を参照して、次にコピーするセクタのアドレスをアドレス制御４２２に指示する。これは、コピーデータ転送制御シーケンサ４２１がコピーセクタ番号設定レジスタ４１６により１ＥＣＣブロック内の指定セクタ数を管理しているためである。
【００４６】
図１１に示す波形は、コピーセクタ番号設定レジスタ４１６によりセクタ番号０とセクタ番号８とにセクタコピーを実行する場合のコピーデータ転送制御部４２内の動作タイミングを示している。図１１に示す波形は、図６に示す波形と異なりセクタ番号０からセクタ番号８に切り替える動作が連続しており、８セクタ目のセクタコピーを実行するためのＣＰＵ設定処理時間が不要となっている。
【００４７】
以上のように、本実施の形態に係る光ディスクコントローラ及び光ディスクドライブシステムは、コピーセクタ番号設定レジスタ４１６によりセクタコピーを行うセクタ番号をメモリマネージャ４に与えることで、ＣＰＵ１２で行っていた１セクタ毎の設定処理時間が不要となり、記録データマージに要するコピーの実行時間を短縮することができる。
【００４８】
（実施の形態２）
実施の形態１では、光ディスクへの書き込み時に不足するデータを補填する場合に、補填するデータを光ディスクから読み出し、図２に示すようにバッファＲＡＭのリードバッファに一旦書き込むことを行っている。しかし、本実施の形態に係る光ディスクコントローラ及び光ディスクドライブシステムでは、光ディスクから読み出したＥＣＣデータ（再生データ）を、バッファＲＡＭのリードバッファに一旦書き込まず、補填に不要なデータをマスキングして直接バッファＲＡＭのライトバッファに書き込む。
【００４９】
以下、図１３乃至図１７を用いて、本実施の形態に係る光ディスクコントローラ及び光ディスクドライブシステムについて説明する。ここで、図１３に本実施の形態に係るメモリマネージャのブロック図を、図１４にコピー転送制御レジスタ及びＥＣＣデータ転送セクタ番号設定レジスタの模式図をそれぞれ示す。また、図１５に本実施の形態でのセクタコピー（コピー転送）のフローチャートを、図１６に本実施の形態でのセクタコピー処理の信号波形を、図１７に本実施の形態での記録データマージ処理のフローチャートをそれぞれ示す。なお、本実施の形態に係る光ディスクドライブシステムの構成は、図１に示す光ディスクドライブシステムの構成と同じであるためブロック図は省略する。
【００５０】
まず、図１３に示すメモリマネージャは、ＣＰＵ１２からＣＰＵバス１３を介してアドレスやデータを含む制御信号を受け取る。メモリマネージャ４では、図１３に示す制御レジスタ部４１で、ＥＣＣデータ転送に必要な情報を取り出し保持する。具体的に制御レジスタ部４１では、ＥＣＣデータ格納アドレス指定レジスタ４１７でデータ転送するアドレスを、ＥＣＣデータ転送制御レジスタ４１８でＥＣＣデータ転送許可及びＥＣＣデータ転送モード設定をそれぞれ保持する。また、ＥＣＣデータ転送セクタ番号設定レジスタ４１９では、各セクタのＥＣＣデータ転送禁止・実行に関する情報を保持する。
【００５１】
なお、ＥＣＣデータ転送セクタ番号設定レジスタ４１９には、図１４に示すように１ＥＣＣブロックの各セクタに対するＥＣＣデータ転送禁止・実行の情報が保持されている。図１４では、１ＥＣＣブロックが３２セクタの場合を示しているため、ＥＣＣデータ転送セクタ番号設定レジスタ４１９は３２ビット用意されているが、１ＥＣＣブロックが１６セクタであればＥＣＣデータ転送セクタ番号設定レジスタ４１９は１６ビットで良い。また、図１４に示すＥＣＣデータ転送セクタ番号設定レジスタ４１９では、ＥＣＣデータ転送実行を”０”、ＥＣＣデータ転送禁止を”１”として各ビットに保持されている。
【００５２】
さらに、図１４にはＥＣＣデータ転送制御レジスタの模式図が図示されており、ＥＣＣデータ転送許可、ＥＣＣデータ転送モードの情報が保持される様子が示されている。なお、ＥＣＣデータ転送モードには、セクタ指定の情報も追加される。ここで、セクタ指定とは、ＥＣＣデータ転送セクタ番号設定レジスタ４１９のセクタ番号を指定することである。
【００５３】
さらに、図１３に示すメモリマネージャ４では、制御レジスタ部４１で保持した情報に基づき、ＥＣＣデータ転送を制御するＥＣＣデータ転送制御部４５を備えている。このＥＣＣデータ転送制御部４５は、ＥＣＣデータ転送制御シーケンサ４５１がアドレス制御４５２やデータ転送信号制御４５３を制御して、ＥＣＣデータ転送の処理を行う。図１３に示すメモリマネージャ４では、図１６に示す４バイトカウンタの波形から分かるように４バイト単位でＥＣＣデータを転送しているため、アドレスカウンタ４５４を設けて制御している。また、図４に示すメモリマネージャ４には、１セクタのデータ容量（２ｋバイト）をカウントするデータ転送カウンタ４５５及びコピー転送したセクタ数をカウントするセクタ数カウンタ４５６を設けている。なお、バッファＲＡＭ５へのデータの読み出しや書き込みの処理は、バッファコントローラ４３を介して行われる。
【００５４】
また、データ転送信号制御４５３は、光ディスクから読み出したＥＣＣ訂正データ（ＥＣＣデータ（再生データ）の元になるデータ）の転送要求をＥＣＣ回路７から受けた場合、ＥＣＣ回路７に対してＥＣＣ訂正データ転送要求受付を行う。ＥＣＣ訂正データ転送要求受付を受け取ったＥＣＣ回路７は、データ転送信号制御４５３に対してＥＣＣ訂正データを供給する。
【００５５】
さらに、データ転送信号制御４５３は、ＥＣＣ回路７からのＥＣＣ訂正データをＥＣＣデータとしてバッファＲＡＭ５に書き込むため、バッファコントローラ４３に対してＥＣＣデータ転送要求を送信する。なお、データ転送信号制御４５３は、ＥＣＣデータ転送セクタ番号設定レジスタ４１９に基づいてＥＣＣデータ転送要求を送信する。つまり、データ転送信号制御４５３は、ＥＣＣデータ転送セクタ番号設定レジスタ４１９でデータ転送実行”１”となっているセクタ番号のみＥＣＣデータ転送要求を送信する。
【００５６】
バッファコントローラ４３は、ＥＣＣデータ転送要求を受けた場合、データ転送信号制御４５３にＥＣＣデータ転送要求受付を送信する。データ転送信号制御４５３は、ＥＣＣデータ転送要求受付を受けると、ＥＣＣ訂正データをＥＣＣデータ（再生データ）としてバッファコントローラ４３に供給し、バッファコントローラ４３が当該ＥＣＣデータバッファＲＡＭ５に書き込む。なお、本実施の形態では、ＥＣＣデータ転送セクタ番号設定レジスタ４１９に基づいてＥＣＣデータ転送要求を制御してＥＣＣデータのマスキングを行っているが、本発明はこれに限られず、例えばＥＣＣデータ転送セクタ番号設定レジスタ４１９に基づいてＥＣＣ訂正データ転送要求を制御してＥＣＣ訂正データのマスキングを行っても良い。
【００５７】
次に、本実施の形態での記録データマージ処理について図１７を用いて説明する。まず、図１７に示すステップＳ３０１では入力されたデータが１ＥＣＣブロックを満たしているか否かをＣＰＵ１２で判断する。さらに、ＣＰＵ１２は、図１７に示すステップＳ３０２でデータが不足しているセクタ番号を確認し、１ＥＣＣブロック内でＥＣＣデータ転送の不要なセクタ番号をＥＣＣデータ転送セクタ番号設定レジスタ４１９に設定する。ステップＳ３０３では、ＥＣＣデータを書き込む先のライトバッファのアドレスをＥＣＣデータ格納アドレス指定レジスタ４１７に設定する。
【００５８】
次に、ステップＳ３０４では、記録先である光ディスク上からデータを読み出し、ＥＣＣデータ転送セクタ番号設定レジスタ４１９で実行を許可されたＥＣＣデータを、ステップＳ３０３で設定したアドレスに書き込む。これにより、１ＥＣＣブロックに対して不足しているデータには、光ディスクから読み出されたＥＣＣデータが直接書き込まれ、データ補填が行われる。つまり、光ディスクから読み出されたＥＣＣデータを一旦リードバッファに保管し、必要なセクタのみライトバッファへコピー転送する処理時間が短縮される。なお、ステップＳ３０５は、光ディスク上からデータを読み出す処理が完了するまでの待ち処理である。
【００５９】
次に、ステップＳ３０６では、データが補填され１ＥＣＣブロックを満たすデータを光ディスクに書き込む処理を行う。なお、ステップＳ３０７は、データの書き込み処理が完了するまでの待ち処理である。
【００６０】
次に、本実施の形態に係るＥＣＣデータ転送制御シーケンサ４５１の具体的な処理を図１５を用いて説明する。まず、ステップＳ３０では、ＣＰＵ１２からＥＣＣデータ転送を開始する指示があるか否かを判断する。ＥＣＣデータ転送が開始されるとステップＳ３１では、アドレス制御４５２やデータ転送信号制御４５３に対してＥＣＣデータ転送許可及びセクタ指定等のＥＣＣデータ転送設定を指示する。
【００６１】
次に、ステップＳ３２では、図１４に示されたＥＣＣデータ転送セクタ番号設定レジスタ４１９の内で指定されたセクタ番号のＥＣＣデータ転送禁止・実行情報を確認し、当該情報が禁止であればステップＳ３３に進み、実行であればステップＳ３４に進む。ステップＳ３３では、アドレス制御４２２に対してＥＣＣデータ転送セクタ番号設定レジスタ４１９で指定されたセクタ番号のＥＣＣデータをマスクするように指示する。一方、ステップＳ３４では、アドレス制御４２２に対してＥＣＣデータ転送セクタ番号設定レジスタ４１９で指定されたセクタ番号のＥＣＣデータのマスクを解除するように指示する。
【００６２】
次に、ステップＳ３５では、アドレス制御４５２やデータ転送信号制御４５３に対して１セクタのＥＣＣデータ転送を行うように指示する。さらに、ステップＳ３６では、図１６のリードデータ及びライトデータに示すように、アドレス（＃１，＃２等）毎に４バイトのデータ転送を行っている。ステップ５６で４バイトのデータ転送が完了すると、ステップＳ３７でアドレス制御４２２に対してアドレスインクリメントを指示する。なお、図１６に示すコピー元・先アドレスの波形は、コピーデータ転送要求のパルスに伴い、コピー元＃１アドレス，コピー先＃１アドレス，コピー元＃２アドレス，コピー先＃２アドレスの順に番号が繰り上がっている。
【００６３】
次に、ステップＳ３８では、１セクタのデータ転送が完了したか否かについて判断し、完了していなければステップＳ３６に戻り、完了していればステップＳ３９に進む。なお、図１６に示す波形では、２Ｋバイトカウンタが２０４８から０となることで１セクタのデータ転送が完了する。さらに、ステップＳ３９では、ＥＣＣデータ転送セクタ番号設定レジスタ４１９で指定されセクタ数のコピー転送が完了しているか否かを判断し、完了していればステップＳ３０に戻り、完了していなければステップ３２に戻る。
【００６４】
図１６に示す波形では、ＥＣＣデータ転送セクタ番号設定レジスタ４１９でセクタ番号１に対してＥＣＣデータ転送禁止の設定を行っている。そのため、図１６に示す波形では、セクタ番号０からセクタ番号１でＥＣＣデータ転送禁止に切り替わり、セクタ番号１からセクタ番号２でＥＣＣデータ転送実行に切り替える。よって、図１６に示す波形では、セクタ番号１でＥＣＣデータマスク信号は”Ｈ”から”Ｌ”に変化し、ＥＣＣデータ転送要求及びＥＣＣデータ転送要求受付の信号は変化しない（図中では破線で表示）。
【００６５】
本実施の形態では、光ディスクへの書き込み時に入力されたデータが１ＥＣＣブロックに満たない場合、既に記録済みのデータであるＥＣＣデータを不足するデータのライトバッファに直接書き込むことで、１ＥＣＣブロックのデータを作成している。なお、未記録の場合には、ＥＣＣ回路７から供給されるＥＣＣ訂正データを”０”としてデータ転送すれば良い。
【００６６】
以上のように、本実施の形態に係る光ディスクコントローラ及び光ディスクドライブシステムは、実施の形態１等で説明して再生データのコピー転送処理が不要となり、１ＥＣＣブロックに満たないデータを生成する場合の処理時間が短縮できる。
【図面の簡単な説明】
【００６７】
【図１】本発明の実施の形態１に係る光ディスクドライブシステムのブロック図である。
【図２】本発明の実施の形態１に係るバッファの模式図である。
【図３】本発明の実施の形態１に係るバッファの模式図である。
【図４】本発明の実施の形態１の前提となる光ディスクコントローラのブロック図である。
【図５】本発明の実施の形態１の前提となるコピーデータ転送制御シーケンサの動作を説明するフローチャートである。
【図６】本発明の実施の形態１の前提となる光ディスクコントローラの動作を説明する波形図である。
【図７】本発明の実施の形態１の前提となる光ディスクコントローラの動作を説明するフローチャートである。
【図８】本発明の実施の形態１に係る光ディスクコントローラのブロック図である。
【図９】本発明の実施の形態１に係るコピー転送制御レジスタ及びコピーセクタ番号設定レジスタの模式図である。
【図１０】本発明の実施の形態１に係るコピーデータ転送制御シーケンサの動作を説明するフローチャートである。
【図１１】本発明の実施の形態１に係る光ディスクコントローラの動作を説明する波形図である。
【図１２】本発明の実施の形態１に係る光ディスクコントローラの動作を説明するフローチャートである。
【図１３】本発明の実施の形態２に係る光ディスクコントローラのブロック図である。
【図１４】本発明の実施の形態２に係るコピー転送制御レジスタ及びコピーセクタ番号設定レジスタの模式図である。
【図１５】本発明の実施の形態２に係るコピーデータ転送制御シーケンサの動作を説明するフローチャートである。
【図１６】本発明の実施の形態２に係る光ディスクコントローラの動作を説明する波形図である。
【図１７】本発明の実施の形態２に係る光ディスクコントローラの動作を説明するフローチャートである。
【符号の説明】
【００６８】
１  外部ホスト、２  光ディスクコントローラ、３  Ｉ／Ｆ回路部、４  メモリマネージャ、５  バッファＲＡＭ、６  ライトバッファ、７  ＥＣＣ回路、８  変調回路、９  光ディスク、１０  レーザーダイオードドライバ、１１  レーザーダイオード、１２  ＣＰＵ、１３  ＣＰＵバス、１５  リードバッファ、４１  制御レジスタ部、４２  コピー転送制御部、４３  バッファコントローラ、４５  ＥＣＣデータ転送制御部、４１１  コピー元アドレス指定レジスタ、４１２  コピー先アドレス指定レジスタ、４１３  コピー転送制御レジスタ、４１４  コピーセクタ数設定レジスタ、４１５  コピーデータ数設定レジスタ、４１６  コピーセクタ番号設定レジスタ、４１７  ＥＣＣデータ格納アドレス指定レジスタ、４１８  ＥＣＣデータ転送制御レジスタ、４１９  ＥＣＣデータ転送セクタ番号設定レジスタ、４２１  コピーデータ転送制御シーケンサ、４２２，４５２  アドレス制御、４２３，４５３  データ転送信号制御、４２４，４５４  アドレスカウンタ、４２５，４５５  カウントするデータ転送カウンタ、４２６，４５６  セクタ数カウンタ、４５１  ＥＣＣデータ転送制御シーケンサ。
【図１】
2008176866.tif 000003
【図２】
2008176866.tif 000004
【図３】
2008176866.tif 000005
【図４】
2008176866.tif 000006
【図５】
2008176866.tif 000007
【図６】
2008176866.tif 000008
【図７】
2008176866.tif 000009
【図８】
2008176866.tif 000010
【図９】
2008176866.tif 000011
【図１０】
2008176866.tif 000012
【図１１】
2008176866.tif 000013
【図１２】
2008176866.tif 000014
【図１３】
2008176866.tif 000015
【図１４】
2008176866.tif 000016
【図１５】
2008176866.tif 000017
【図１６】
2008176866.tif 000018
【図１７】
2008176866.tif 000019