(57)【要約】【課題】ＣＤ−ＲＯＭ等のデータに対する高速な処理を可能とするデータ処理装置を提供する。【解決手段】コンパクトディスクに記録されるサブコードおよびメインデータに対して、１セクタ単位で、所定のデコード処理または所定のエンコード処理を行い、該処理中に前記サブコードおよび前記メインデータを一時的に格納するバッファＲＡＭを有するデータ処理回路において、前記バッファＲＡＭの記憶領域を所定の大きさ毎に分割し、該分割によって得られる該所定の大きさの領域を１ページとする各ページ領域内の所定領域に、同一セクタ内の前記サブコードまたは前記メインデータ中に含まれる時間情報、ユーザデータおよびエラー情報を、ページ領域とセクタを一対一に対応づけて所定のフォーマットにしたがい、一時的に格納する。【選択図】図１
2006244696.tif 000002
【特許請求の範囲】
【請求項１】
光学式記録ディスクに記録されるサブコードおよびメインデータに対して、１セクタ単位で、所定のデコード処理または所定のエンコード処理を行い、該処理中に前記サブコードおよび前記メインデータを一時的に格納するバッファＲＡＭを有するデータ処理装置において、
前記バッファＲＡＭの記憶領域を所定の大きさ毎に分割し、該分割によって得られる該所定の大きさの領域を１ページとする各ページ領域内の所定領域に、同一セクタ内の前記サブコードまたは前記メインデータ中に含まれる時間情報、ユーザデータおよびエラー情報を、ページ領域とセクタを一対一に対応づけて所定のフォーマットにしたがい、一時的に格納することを特徴とするデータ処理装置。
【請求項２】
ホストコンピュータから転送されたデータを、所定のエンコード処理を行うために一時的にバッファＲＡＭに格納し、前記所定のエンコード処理後のデータを前記バッファＲＡＭから読み出して光学式記録ディスクに記録するデータ処理装置において、
前記ホストコンピュータから転送されたデータを出力する第１のデータ出力手段と、
所定のデータを出力する第２のデータ出力手段と、
前記バッファＲＡＭにおいて前記光学式記録ディスクに新たに転送するデータがなくなる状態であるバッファアンダーラン状態を検出する検出手段と、
前記検出手段の検出結果に基づき、バッファアンダーラン状態でないときは前記第１のデータ出力手段からの出力データを選択し、バッファアンダーラン状態になったときは前記第２のデータ出力手段からの出力データを選択し、選択された出力データを前記バッファＲＡＭに出力する出力切り替え手段と
を備えたことを特徴とするデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンパクトディスクシステム、例えば、ＣＤ−ＲＯＭ(Compact Disk ROM)システム、ＣＤ−Ｒ(Compact Disk Recordable)システム、ＣＤ−ＲＷ(Compact Disk ReWritable)システム等におけるデータ処理装置に関する。
【背景技術】
【０００２】
従来よりコンパクトディスク等の記録媒体の記録装置に関し種々の技術が開発されている（例えば特許文献１〜５参照）。図１７に、コンパクトディスクシステムの構成図を示す。図１７に示されるコンパクトディスクシステムは、コンパクトディスク（以下、ＣＤと称す）１０に記録されたデータを読み出すデコード処理と、ＣＤに対してデータを書き込むエンコード処理を行うものである。コンパクトディスクシステムは、ＣＤ１０に格納されているデータを読み出す検出部１１と、読み出したデータをＥＦＭ（Eight to fourteen Modulation）デコードし、シリアルデジタルデータに変換するＣＤデコード回路１３と、ＣＤデコード回路１３からのシリアルデジタルデータに対して所定のデータ処理を行い、外部インタフェースを介してホストコンピュータ１９に処理したデータを転送するとともに、またホストコンピュータから出力されるデータをエンコードするための所定の処理を行うデータ処理回路１５と、データ処理回路１５が処理するデータを一時的に格納するバッファＲＡＭ１７と、エンコード時にホストコンピュータ１９からデータ処理回路１５を介して出力されるエンコード用データに対して所定の処理を行うＣＤエンコード回路１４と、ＣＤエンコード回路１４で処理されたデータをＣＤに書き込む書き込み部１２とからなる。
【０００３】
図１８は、ＣＤシステムにおけるデータ処理（デコード処理）の流れを説明するための図である。図中の（）内の数字は各フィールドのデータ長を示すバイト数を表す。ＣＤシステムにおいて、ＣＤ１０から読み出されるデータはフレームを単位として読み出され、各フレームは、ＥＦＭデコードされた後、図１８（ａ）に示されるフォーマットとなる。図１８（ａ）に示すフォーマットのフレーム２１はサブコードとメインデータとパリティ符号とを有する。サブコードは時間情報や曲間信号等の情報を含む。パリティ符号は誤り訂正の際に用いられる。
【０００４】
図１８（ｂ）は、フレーム２１に示される１バイトのサブコード２２と、パリティ符号を用いて誤り訂正された後の２４バイトのメインデータ２３とを示す。サブコード２２は、９８個のフレームで１つのブロックを構成する。以下、１ブロック分のサブコードをサブコードブロックと称す。図１８（ｃ）に示されるように、このサブコードブロック２４は、２バイトの同期信号と９６バイトのサブコードとからなる。同期信号はサブコードブロックの先頭を見つけるために使用される。またこの時、メインデータについても、９８個のフレーム２３を１ブロックとして、データブロック２５が構成される。
【０００５】
ＣＤから読み出されるデータのフォーマットには、音楽データ用のＣＤ−ＤＡフォーマットに加えて、ＣＤ−ＲＯＭデータ用のＣＤ−ＲＯＭフォーマットがある。データがＣＤ−ＲＯＭフォーマットであるか否かは、サブコードデータ中のコントロールビットにより判断される。音楽データであるときは、図１８（ｃ）に示されるフォーマットでデータが処理される。ＣＤ−ＲＯＭフォーマットのデータにおいては、音楽データの場合よりも高い信頼性が要求される。このため、データがＣＤ−ＲＯＭ用データである時は、データ処理回路１５において、さらにエラー訂正処理が行われる。ＣＤ−ＲＯＭフォーマットにおいて、データは前述の１ブロックを１セクタとして取り扱われる。図１８（ｄ）に、ＣＤ−ＲＯＭフォーマットにおける、代表的なモードであるモード１の場合のフォーマットを示す。図示されるように、ＣＤ−ＲＯＭフォーマットにおいて、メインデータの１ブロックは、同期信号（１２バイト）と、ヘッダ（４バイト）と、ユーザデータ（２０４８バイト）と、誤り検出符号（ＥＤＣ）（４バイト）と、「ゼロ」のデータ（８バイト）と、誤り訂正符号（ＥＣＣ）（２７６バイト）とから構成される。
【０００６】
検出部１１によりＣＤ１０から読み出されたデータは、ＣＤデコード回路１３において、図１８（ａ）から図１８（ｃ）で示されるようにデータが処理される。その後、データ処理回路１５において図１８（ｄ）で示されるフォーマットに従ってデータの処理がなされホストコンピュータ１９に出力される。この時、データ処理回路１５では、ユーザデータ、サブコード、およびエラー情報のデータは、バッファＲＡＭ１７において互いに関連付けられて管理されている。
【０００７】
図１９は、この時の従来のデータ処理回路でのデータ管理方法を説明するための図である。図１９に示される方法では、ユーザデータを格納するデータ領域、時間情報等を含むサブコードを格納するサブコード領域、誤り訂正のための情報を含むエラー情報を格納するエラー情報領域をそれぞれ設定して、それぞれの種類のデータをそれぞれの領域で管理している。
【特許文献１】特開平６−３０９１０６号公報
【特許文献２】特開平３−２５９４６１号公報
【特許文献３】特開平６−１６２６６０号公報
【特許文献４】特開平９−３５２７０号公報
【特許文献５】特開平８−９６５０７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
このような従来の管理方法では、データに対して読み出しまたは書き込み処理する際には、処理毎に、ユーザデータ、サブコード、およびエラー情報等のそれぞれの領域の先頭アドレスとオフセット値から処理すべきデータのアドレスを計算する必要があった。すなわち、先頭アドレスとオフセット値とをレジスタに設定し、加算器で加算することによりアドレスを計算する必要があった。この時、アドレス計算に用いられるレジスタや加算器は、アドレス全ビットを格納できるだけの大きさが必要であった。また、図１９に示すようにデータが格納されている場合は、セクタ毎にそれぞれの領域のデータを対応づけるために別途テーブルを設けて管理する必要があり、処理が煩雑となる。今後、益々高速なＣＤの読み出しまたは書き込み処理が要求されると、このようなデータ処理回路では対応できなくなる。
【０００９】
また、ＣＤにデータを書き込む処理であるエンコード処理時においては、ホストコンピュータ１９から転送されたデータはバッファＲＡＭ１７に格納された後、ＣＤエンコード回路１４に出力され、ＣＤにデータが書き込まれる。このエンコード処理においては、バッファＲＡＭ１７のバッファアンダーラン状態の問題がある。「バッファアンダーラン状態」とは、バッファＲＡＭ１７に格納されたデータをＣＤへ書き込む動作中に、ホストコンピュータ１９からバッファＲＡＭ１７へのデータの供給が、ＣＤへの書き込みに追い付かず、バッファＲＡＭ１７において新たに書き込むデータがなくなる状態、すなわち、バッファＲＡＭ１７が空になる状態のことである。このようなバッファアンダーラン状態になり、ＣＤへのデータの書き込みが途中で途切れると、データ書き込みが途切れた領域より後の領域についてＣＤへのアクセスが不可能となる。したがって、ホストからのデータ転送が途切れないように、バッファアンダーラン状態を検出し、バッファＲＡＭ１７に対してデータを継続して出力することが必要となる。
【００１０】
従来、データ処理回路において、このバッファアンダーラン状態の検出はファームウェアによりアドレスポインタを管理することにより行われていた。すなわち、データ処理回路１５内にある制御部がファームウェアに従い、ホストコンピュータからバッファＲＡＭ１７へ転送中のデータのアドレスとバッファＲＡＭからＣＤエンコード回路１４に転送中のデータのアドレスとをそれぞれ示すアドレスポインタを設定し、１セクタが処理される毎に、それぞれのアドレスに基づいて所定の演算を行うことによりバッファアンダーラン状態の検出を行っていた。データ処理回路１５中の制御部は、バッファアンダーラン状態を検出すると、ファームウェアのプログラムに従い、データが途切れないようにバッファＲＡＭ１７へ所定データの書き込みを行っていた。このように、従来では、データ処理回路１５中のファームウェアによりこれらの処理が制御されていたため、データ処理回路１５中の制御部において大きな負荷となり、データ処理回路１５における処理速度の向上の妨げとなっていた。
【００１１】
本発明は、このような問題を解決すべくなされたものであり、その目的とするところは、ＣＤ−ＲＯＭ等のデータの高速な処理を可能とするデータ処理装置を提供することにある。
【課題を解決するための手段】
【００１２】
本発明に係る第１データ処理装置は、光学式記録ディスクに記録されるサブコードおよびメインデータに対して、１セクタ単位で、所定のデコード処理または所定のエンコード処理を行い、該処理中に前記サブコードおよび前記メインデータを一時的に格納するバッファＲＡＭを有するデータ処理装置において、前記バッファＲＡＭの記憶領域を所定の大きさ毎に分割し、該分割によって得られる該所定の大きさの領域を１ページとする各ページ領域内の所定領域に、同一セクタ内の前記サブコードまたは前記メインデータ中に含まれる時間情報、ユーザデータおよびエラー情報を、ページ領域とセクタを一対一に対応づけて所定のフォーマットにしたがい、一時的に格納する。
【００１３】
また、前記第１データ処理装置は、光学式記録ディスクに記録されたデータを読み出し所定のデータ処理を行うＣＤデコード回路を介して前記サブコードおよび前記メインデータを入力し、所定のデコード処理後、ホストコンピュータに前記デコード処理されたデータを出力するデータ処理装置であって、前記ＣＤデコード回路から入力された前記メインデータを所定のページ領域内の所定領域に格納するＣＤ−ＤＡ処理部と、前記ＣＤ−ＤＡ処理部が処理すべきデータを格納するページ領域を指定するページ値を格納するＣＤページレジスタと、前記ＣＤデコード回路から入力された前記サブコードを所定のページ領域内の所定領域に格納するサブコード処理部と、前記サブコード処理部が処理すべきデータを格納するページ領域を指定するページ値を格納するサブコードページレジスタと、前記ＣＤ−ＤＡ処理部により前記ページ領域に格納された前記メインデータを誤り訂正した後、所定のフォーマットに従い前記メインデータ中に含まれるユーザデータ、エラー情報を含む所定データを所定のページ領域内の所定領域に格納するセクタ処理部と、前記セクタ処理部が処理すべきデータを格納するページ領域を指定するページ値を格納するセクタページレジスタと、前記エセクタ処理部により前記ページ領域に格納されたデータを前記ホストコンピュータに転送するホスト処理部と、前記ホスト処理部が処理すべきデータを格納するページ領域を指定するページ値を格納するホストページレジスタとを備えてもよい。
【００１４】
また、前記第１データ処理装置は、ホストコンピュータから入力された前記サブコードおよび前記ユーザデータを所定のエンコード処理した後、光学式記録ディスクへのデータ書き込みのための所定処理を行うＣＤエンコード回路に出力するデータ処理装置において、前記ホストコンピュータから入力された前記サブコードおよび前記ユーザデータを所定のページ領域内の所定領域に格納するホスト処理部と、前記ホスト処理部が処理すべきデータを格納するページ領域を指定するページ値を格納するホストページレジスタと、前記ホスト処理部により前記ページ領域に格納された前記サブコードを処理した後、前記ＣＤエンコード回路に出力するサブコード処理部と、前記サブコード処理部が処理すべきデータを格納するページ領域を指定するページ値を格納するサブコードページレジスタと、前記ホスト処理部により前記ページ領域に格納された前記ユーザデータに対してヘッダ、サブヘッダ、ＥＣＣ／ＥＤＣを計算した後、該ユーザデータ、該ヘッダ、該サブヘッダおよび該ＥＣＣ／ＥＤＣを所定のフォーマットに従い所定のページ領域内の所定の領域にメインデータとして格納するセクタ処理部と、前記エセクタ処理部処理すべきデータを格納するページ領域を指定するページ値を格納するセクタページレジスタと、前記セクタ処理部により処理され、前記ページ領域に格納された前記メインデータを前記ＣＤエンコード回路に出力するＣＤ−ＤＡ処理部と、前記ＣＤ−ＤＡ処理部が処理すべきデータを格納するページ領域を指定するページ値を格納するＣＤページレジスタとを備えてもよい。
【００１５】
また、前記第１データ処理装置において、前記バッファＲＡＭ内の領域は所定の大きさのページ領域に分割され、さらにそのページ領域は、所定のフォーマットに従い、所定のデータ領域に分割されてもよい。このとき、このページ領域内のデータ領域に、関連のあるユーザデータ、時間情報およびエラー情報等が管理される。前記のそれぞれの処理部に対応するページレジスタは、各処理部が処理すべきデータを格納するページ領域を示すページ値を格納する。前記ＣＤ−ＤＡ処理部、前記サブコード処理部、前記セクタ処理部および前記ホスト処理部は、前記ページレジスタより指定される前記ページ領域内の前記所定のデータ領域のデータに対し、書き込みまたは読み出し処理を行う。
【００１６】
また、前記第１データ処理装置において、処理されるデータ領域を確定するために、前記各ページレジスタのいずれかに格納されたページ値に対するオフセット値を格納するオフセット値格納手段と、当該データ領域のデータ長を格納するデータ長格納手段とを有してもよい。
【００１７】
また、前記第１データ処理装置において、事前に設定された複数のデータ領域の中から所望のデータ領域を選択する選択手段を有してもよい。
【００１８】
さらに、前記第１データ処理装置において、前記ホスト処理手段は、前記ホストコンピュータから転送されたデータを格納するＦＩＦＯ手段と、予め決められたデータを出力するデータ出力手段と、前記バッファＲＡＭにおいて前記ＣＤエンコード回路に新たに転送するデータがなくなる状態であるバッファアンダーラン状態を検出する検出手段と、前記バッファＲＡＭに出力するデータを切り替える出力切り替え手段とを備えてもよい。このとき、前記出力切り替え手段は、前記検出手段の検出結果に基づき、バッファアンダーラン状態でないときは前記ＦＩＦＯ手段からの出力データを選択し、バッファアンダーラン状態になったときは前記データ出力手段からの出力データを選択し、選択された出力データを前記バッファＲＡＭに出力する。これにより、バッファアンダーラン状態になったときにおいても、バッファＲＡＭにデータを途切れることなく出力する。
【００１９】
また、前記第１データ処理装置においては、バッファアンダーラン状態では、ＣＤページレジスタに格納される値はホストページレジスタに格納される値に追いつく。このため、前記検出手段は、前記ホストページレジスタに格納されるページ値と前記ＣＤページレジスタに格納されるページ値とを比較し、前記ＣＤページレジスタに格納されるページ値が前記ホストページレジスタに格納されるページ値に追い付いたときにバッファアンダーラン状態であるとすることによりバッファアンダーラン状態を検出することができる。
【００２０】
本発明に係る第２データ処理装置は、ホストコンピュータから転送されたデータを、所定のエンコード処理を行うために一時的にバッファＲＡＭに格納し、前記所定のエンコード処理後のデータを前記バッファＲＡＭから読み出して光学式記録ディスクに記録するデータ処理装置において、前記ホストコンピュータから転送されたデータを出力する第１のデータ出力手段と、所定のデータを出力する第２のデータ出力手段と、前記バッファＲＡＭにおいて前記光学式記録ディスクに新たに転送するデータがなくなる状態であるバッファアンダーラン状態を検出する検出手段と、前記バッファＲＡＭに出力するデータを切り替える出力切り替え手段とを備える。このとき、前記出力切り替え手段は、前記検出手段の検出結果に基づき、バッファアンダーラン状態でないときは前記第１のデータ手段からの出力データを選択し、バッファアンダーラン状態になったときは前記第２のデータ出力手段からの出力データを選択し、選択された出力データを前記バッファＲＡＭに出力する。これにより、バッファアンダーラン状態になった場合においても、バッファＲＡＭにデータを途切れることなく出力する。
【発明の効果】
【００２１】
本発明に係る第１データ処理装置によれば、前記バッファＲＡＭにおいて、記憶領域を所定の大きさのページ領域に分割し、同一セクタ内のユーザデータ、時間情報、エラー情報等のデータを同一ページ内に格納する。このため、これらのデータ相互間の関連づけがページ値により行われる。これにより、セクタ毎にそれぞれのデータを対応づけるためのテーブルを必要とせず、データの管理が容易に行える。また、アドレス計算において、ページ値を上位アドレスとし、各ページ領域内の所定領域の先頭を表すオフセット値を下位アドレスとして前記バッファＲＡＭ内のデータのアドレスを生成することが可能となる。その結果、データの読み出し／書き込み時の高速な処理が可能となり、また、アドレス生成回路が簡単な回路構成で実現できる。この時、ページ値およびオフセット値を格納する格納手段のビット長も少なくてよいため、アドレス計算時に用いられるレジスタの大きさも小さくできる。
【００２２】
本発明に係る第２データ処理装置によれば、バッファアンダーラン状態になっても、コンパクトディスクに対して書き込みデータを継続して供給する機能を簡単なハードウェア構成できる。また、このような機能をハードウェアにより実現するため、データ処理装置の処理速度を向上できる。
【発明を実施するための最良の形態】
【００２３】
以下、添付の図面を用いて本発明の実施形態であるデータ処理回路を説明する。以下に説明するデータ処理回路は、ＣＤ−ＤＡフォーマット、ＣＤ−ＲＯＭフォーマットの両フォーマットに対応したデータ処理を行うものであるが、特に、ＣＤ−ＲＯＭフォーマットのデータ処理について詳細な説明を行う。まず、データ処理回路の構成および動作を説明する前に、データ処理回路におけるバッファＲＡＭ内でのデータ管理フォーマットについて説明する。
【００２４】
＜バッファＲＡＭにおけるデータ管理フォーマット＞
図１は、データ処理回路１５がバッファＲＡＭ１７内においてデータ管理するためのフォーマットを示す図である。図１（Ａ）に示されるように、バッファＲＡＭ１７内の領域はページエリアとバッファエリアとに分割されている。さらに、ページエリアは４０９６バイトを１ページとして、ページ０からページｎまでのｎ＋１個のページ領域に分割されている。各ページ領域はページ値により特定される。データ処理回路は、ＣＤデコード回路１３から出力される１ブロックのデータを１ページのページ領域に格納する。すなわち、バッファＲＡＭ１７内の領域をページ単位で分割し、ＣＤから読み出された１ブロックのユーザデータ、時間情報等を含んだサブコードおよびエラー情報等を同じページ領域内に格納する。これにより、これらをページ値により関連づけて管理する。
【００２５】
＜ページ構成＞
図１（Ｂ）および図１（Ｃ）は、１ページ領域内の構成を表す。ＣＤ−ＤＡフォーマットの場合は、図１（Ｃ）に示されるように、メインデータ領域（２３５２バイト）と、ＥＤＢ領域（２９４バイト）と、ブロックエラーフラグ領域（２バイト）と、予約領域（４０バイト）と、サブコード領域（９６バイト）と、予備領域（１３１２バイト）とから構成される。ここで、ＥＤＢ領域は、ＣＤデコード回路１３から出力される図１８（ａ）で示されるフレーム２１を誤り訂正した後のエラーに関する情報である誤り検出バイト（以降、「ＥＤＢ」と称す）を格納し、ブロックエラーフラグ領域は、ＥＤＢの値に基づいて算出されるブロックエラーフラグを格納する。ＣＤ−ＲＯＭフォーマットの場合は、図１（Ｂ）に示されるように、ＣＤ−ＤＡフォーマットにおけるメインデータ領域（２３５２バイト）が、さらに、同期信号領域（１２バイト）と、ヘッダ領域（４バイト）と、サブヘッダ領域（８バイト）と、ユーザデータ領域（２３２８バイト）とから構成される。
【００２６】
＜１．実施の形態１＞
以下に、実施の形態１のデータ処理回路の構成および動作について説明する。本実施形態のデータ処理回路は、前述のフォーマットにしたがってバッファＲＡＭ１７内においてデータを管理する。
【００２７】
＜１．１．データ処理回路の構成＞
図２に、本実施形態のデータ処理回路のブロック構成図を示す。データ処理回路１５は、システム制御部３１と、セクタ処理部３３と、ＣＤ−ＤＡ処理部３５と、サブコード処理部３７と、ホスト処理部３９と、バッファ管理部４１とがそれぞれ内部データバス６２および内部アドレスバス６３を介して接続された構成となっている。システム制御部３１および各処理部３３、３５、３７、３９、４１（以降、これらを「マスタ」と称す）は、それぞれ、それらが処理すべきデータが格納されたバッファＲＡＭ１７内のデータ領域であるページ領域のページ値を格納するためのレジスタと、各マスタが処理を終了したページ領域のページ値を格納し、他のマスタまたはシステムがその値を読み出し、処理の進行を確認するためのレジスタとを有する。以下、本実施形態では、前者のレジスタのことを「第１ｘｘページレジスタ」、後者のレジスタを「第２ｘｘページレジスタ」と称す。ここで、「ｘｘ」には、各ページレジスタにより指定されるページ領域内のデータを処理するマスタを表す文字列が入る。これらのレジスタを「ページレジスタ」と総称する。また、ページ値は０からｎへ順次インクリメントされ、ｎを越えると０にセットされる。このように、ページ値は循環する。
【００２８】
システム制御部３１は、処理を行うページ領域を示すページ値を格納したレジスタである第１システムページレジスタ４５と、処理を終了したページ領域を示すページ値を格納した第２システムページレジスタ４７とを有し、データ処理回路１５内の各マスタの動作を制御する。また、第１システムページレジスタ４５で示される、システム制御部３１が処理を行うページを「システム制御ページ」と称す。
【００２９】
ＣＤ−ＤＡ処理部３５は、処理を行うページ値を格納するレジスタである第１ＣＤページレジスタ５３と、処理を終了したページ値を格納するレジスタである第２ＣＤページレジスタ５５とを有する。ＣＤ−ＤＡ処理部３５は、前段のＣＤデコード回路１３から出力される１ブロック（２３５２バイト）のデータを図１（Ｃ）に示されるページ構成に従い、バッファＲＡＭ１７内の先頭から２３５２バイトのメインデータ領域（０００ｈ〜９２Ｆｈ）に格納するとともに、ＥＤＢ領域（９３０ｈ〜Ａ５５ｈ）にエラー情報を格納する。また、第１ＣＤページレジスタ５３で示される、ＣＤ−ＤＡ処理部３５が処理を行うページを「ＣＤ−ＤＡ処理ページ」と称す。
【００３０】
セクタ処理部３３は、処理を行うページ値を格納したレジスタである第１セクタページレジスタ４９と、処理を終了したページ値を格納したレジスタである第２セクタページレジスタ５１とを有する。セクタ処理部３３は、ＣＤ−ＤＡ処理部３５がバッファＲＡＭ１７内にデータを格納した後、データがＣＤ−ＲＯＭフォーマットデータである時に、このデータに対してさらに誤り訂正処理を行い、図１（Ｂ）に示されるページ構成のフォーマットに従い先頭から２３５２バイトの領域（０００ｈ〜９２Ｆｈ）にデータを格納するとともにＥＤＢ領域（９３０ｈ〜Ａ５５ｈ）にエラー情報を格納する。また、第１セクタページレジスタ４９で示される、セクタ処理部３３が処理を行うページを「セクタ処理ページ」と称す。
【００３１】
サブコード処理部３７は、処理を行うページ値を格納したレジスタである第１サブコードページレジスタ５７と、処理を終了したページ値を格納したレジスタである第２サブコードページレジスタ５９とを有する。サブコード処理部３７は、ＣＤデコード回路１３から出力される１ブロックのデータ中のサブコードを図１（Ｂ）または（Ｃ）に示されるページ内の構成のサブコード領域（９８０ｈ〜ＡＤＦｈ）に格納する。また、第１サブコードページレジスタ５７で示される、サブコード処理部３７が処理を行うページを「サブコード処理ページ」と称す。
【００３２】
ホスト処理部３９は、処理を行うページ値を格納したレジスタである第１ホストページレジスタ６０と、処理を終了したページ値を格納したレジスタである第２ホストページレジスタ６１とを有する。さらにホスト処理部３９は、図２には示されてないが、転送データを指定するためのいくつかのレジスタを有する（詳細は後述）。ホスト処理部３９は、ホストコンピュータ１９との間でＳＣＳＩやＡＴＡＰＩ等のインタフェースを介してデータの転送を行う。また、図１（Ｂ）または（Ｃ）に示されるページ構成中のブロックエラーフラグ領域（Ａ５６ｈ〜Ａ５７ｈ）にデータを格納する。また、第１ホストページレジスタ６０で示される、ホスト処理部３９が処理を行うページを「ホスト処理ページ」と称す。
【００３３】
＜１．２データ処理回路のデコード処理における動作＞
以下に、図３を用いて、本実施形態のデータ処理回路１５によるＣＤ−ＲＯＭフォーマットデータのデコード処理の動作を説明する。各マスタは、１ブロック毎すなわち１セクタ毎に処理を完了するように制御される。ＣＤデコード回路１３で処理されたデータのうち２３５２バイトのメインデータはＣＤ−ＤＡ処理部３５に、９６バイトのサブコードはサブコード処理部３７に、１セクタ毎にそれぞれ入力される。図３において、「ＢＳＹＮＣ」は２３５２バイト毎のブロックを区切るための同期信号を表し、この信号に基づき１セクタ毎のデータが読み込まれる。またＴｒｎ０、Ｔｒｎ１、・・・は、各マスタで処理されているデータが何番目のセクタ中のデータであるかを表している。
【００３４】
デコード処理を開始する時は、システム制御部３１により第１ＣＤページレジスタ５３、第１サブコードページレジスタ５７は「０」に設定されている。また、第１セクタページレジスタ４９、第１ホストページレジスタ６０もシステム制御部３１により所定のタイミングで「０」に設定される。最初に、ＣＤデコード回路１３から最初のセクタのデータＴｒｎ０が入力されると、ＣＤ−ＤＡ処理部３５は、２３５２バイトのデータを図１（Ｃ）のページ構成におけるメインデータ領域（０００ｈ〜９２９ｈ）に格納し、また誤り訂正の結果生成される誤り検出バイト（ＥＤＢ）をＥＤＢ領域（９３０ｈ〜９５５ｈ）に格納する。第１サブコードページレジスタ５７も「０」であるため、サブコード処理部３７が、ＣＤデコード回路１３からのデータＴｒｎ０の中の９６バイトのサブコードをページ０の領域内のサブコード領域（Ａ８０ｈ〜９ＤＦｈ）に格納する。
【００３５】
ブロックエラーフラグ領域（Ａ５６ｈ〜Ａ７Ｆｈ）には、システム制御部３１によりＥＤＢから算出されたブロックエラーフラグが格納される。ＣＤ−ＤＡ処理部３５およびサブコード処理部３７が、データＴｒｎ０について処理を終了すると、第１ＣＤページレジスタ５３および第１サブコードページレジスタ５９の値がインクリメントされ、「１」になる。またこの時、第２ＣＤページレジスタ５５および第２サブコードページレジスタ５９の値は、処理を終了したページである「０」に設定される。ＣＤ−ＤＡ処理部３５およびサブコード処理部３７はそれぞれのページレジスタの値に従い、次のデータの処理を行う。
【００３６】
すなわち、ＣＤデコード回路１３から２番目のセクタのデータＴｒｎ１が入力される。ＣＤ−ＤＡ処理部３５およびサブコード処理部３７は、データＴｒｎ１を処理し、ページ１内のデータ領域、ＥＤＢ領域およびサブコード領域にそれぞれデータを格納する。セクタ処理部３３は、ＣＤ−ＤＡ処理部３５により処理が終了したデータに対して誤り訂正を行う。従ってセクタ処理部３３は、第２ＣＤページレジスタ５５を参照し、ページ０のデータに対して誤り訂正を行う。すなわち、セクタ処理部３３は、ＣＤ−ＤＡ処理部３５によりページ０のユーザデータ領域に格納された２３５２バイトのデータおよびＥＤＢ領域に格納されたエラー情報を読み出し、誤り訂正処理を行う。その後、図１（Ｂ）に示されるフォーマットに従いページ０にデータを再度格納する。セクタ処理部３３がページ０のデータの処理を終了すると、第１セクタページレジスタ４９はインクリメントされ「１」になり、第２セクタページレジスタ５１に「０」が設定される。
【００３７】
次に、ＣＤ−ＤＡ処理部３５およびサブコード処理部３７が、ＣＤデコード回路１３から出力される３番目のデータＴｒｎ２を処理する。この時、前述のようにインクリメントされるため、第１ＣＤページレジスタ５３および第１サブコードページレジスタ５７には「２」が格納されている。第１セクタページレジスタ４９には「１」が格納されているため、セクタ処理部３３はページ１のデータに対して誤り訂正を行う。ホスト処理部３９は第２セクタページレジスタ５１を参照し、セクタ処理部３３の処理が終了したページ０のデータをホストへ転送する。転送終了後、第１ホストページレジスタ６０はインクリメントされ「１」になり、第２ホストページレジスタ６１は「０」に設定される。
【００３８】
次に、ＣＤ−ＤＡ処理部３５およびサブコード処理部３７は、３番目のデータＴｒｎ２の処理を終了すると、ＣＤデコード回路１３から出力される４番目のデータＴｒｎ３を処理する。セクタ処理部３３は第１セクタページレジスタで示されるページ値（ページ２）のデータに対して誤り訂正を行う。ホスト処理部３９は第１ホストページレジスタで示されるページ値（ページ１）のデータをホストへ転送する。以降、同様にして、それぞれの処理部でページレジスタにより指定されるページ毎にデータが処理され、処理されたデータから順次ホストコンピュータ１９に転送される。
【００３９】
尚、上記説明においては、ＣＤ−ＲＯＭフォーマットの場合においてのデータ処理について説明したが、ＣＤ−ＤＡフォーマットの場合においては、セクタ処理部３３による処理は行われず、ＣＤ−ＤＡ処理部３５によるデータ処理終了後、データがホストコンピュータ１９へ転送される。
【００４０】
＜１．３転送データ領域の指定＞
次に、ホストコンピュータへデータを転送する際の転送データ領域の指定について説明する。データ転送はホスト処理部３９により行われる。このため、ホスト処理部３９は、ページレジスタ６０、６１以外に、図４に示すように転送データを指定するための転送データ指定レジスタ７１と、任意の転送データ領域の先頭アドレスを与えるオフセット値を格納するレジスタ（ＷＫ（ｎ）ＳＡ、ｎ＝０、１、２）７３〜７５と、データ長を格納するためのレジスタ（ＷＫ（ｎ）ＬＥＮ、ｎ＝０、１、２）７７〜７９とを有している。
【００４１】
図５に、転送データ指定レジスタ７１のフォーマットを示す。転送データ指定レジスタ７１は、ｂ０からｂ７までの８ビットからなり、各ビットにフラグを立てること、すなわち、そのビットを「１」に設定することにより転送するデータ領域を指定する。以下に各ビットにより指定される領域を説明する。ビットｂ７は、図１（Ｂ）に示されるページ構成の０００ｈ〜００Ｂｈの１２バイトのデータ領域（同期信号）を指定する。ビットｂ６は、ページ構成の００Ｃｈ〜００Ｆｈの４バイトのデータ領域（ヘッダ）を指定する。ビットｂ５は、ページ構成の０１０ｈ〜０１７ｈの８バイトのデータ領域（サブヘッダ）を指定する。ビットｂ４は、ページ構成の０１８ｈ〜８１７ｈの２０４８バイトのデータ領域（ユーザデータ）を指定する。ビットｂ３は、ページ構成の８１８ｈ〜９２Ｆｈの２８０バイトのデータ領域（ＥＤＣ／ＥＣＣ）を指定する。ビットｂ２は、ＷＫ（２）ＳＡレジスタ７５で指定される先頭アドレスから、ＷＫ（２）ＬＥＮレジスタ７９で指定されるバイト長のデータ領域を指定する。ビットｂ１、ｂ０も同様に、ＷＫ（ｎ）ＳＡレジスタ、（ｎ＝１、０）７４、７３で指定される先頭アドレスから、ＷＫ（ｎ）ＬＥＮレジスタ、（ｎ＝１、０）７８、７７で指定されるバイト長のデータ領域を指定する。
【００４２】
ビットｂ７からビットｂ３までのビットは、ＣＤ−ＲＯＭフォーマットに従った所定のデータ領域のデータを転送する際にフラグが設定され、ビットｂ２からビットｂ０は、任意のデータ領域を指定する際にフラグが設定される。これらのレジスタの設定は、ホストコンピュータ１９からの指令に基づいてシステム制御部３１により行われ、転送データ指定レジスタの各ビットにより指定されたデータ領域のデータは、ホスト処理部３９によりホストへ転送される。
【００４３】
各マスタが、バッファＲＡＭ１７にアクセスを行う時は、バッファ管理部４１に対してアクセス要求を行う。バッファ管理部４１は、複数のマスタから要求があった時は、調停を行い、１つのマスタに対してアクセス許可を与える。アクセスが許可されたマスタは、アドレスをバッファ管理部４１に送信する。図６は、この時のシステム制御部３１とバッファ管理部４１との間でのデータの授受について説明するための図である。
【００４４】
図６に示されるように、システム制御部３１は、バッファ管理部４１との間でアクセス許可のやりとりを行う制御部６７を有する。制御部６７は、各マスタがバッファ管理部４１に対しアクセスの要求を行い、その後、バッファ管理部４１からアクセス許可が得られた時に、アドレスおよびデータをバッファ管理部４１に転送する。これにより、バッファＲＡＭ１７へのアクセスを行う。この時、システム制御部３１において、第１システムページレジスタ４５に格納された１２ビットのページ値を上位アドレスとし、システム制御部３１から入力されるページの先頭からのオフセット値である１２ビットの値を下位アドレスとすることにより、加算器で演算されることなしに２４ビットのアドレスが生成される。生成されたアドレスは、内部アドレスバス６３を介してバッファ管理部４１に送信され、バッファＲＡＭ１７においてデータの書き込みまたは読み出しが行われる。この時、データは内部データバス６２を介して転送される。
【００４５】
このように、本実施形態のデータ処理回路１５においては、バッファＲＡＭ１７に格納された処理すべきデータのアドレスは、ページ値を上位アドレスとし、ページの先頭アドレスからのオフセット値を下位アドレスとするため、複雑な演算を必要とせず、単に上位と下位のアドレスを繋ぎ合わせるだけで容易に生成されるので、処理速度が速くなり、また簡単な回路でアドレスを生成することができる。また、この時、計算に用いられるレジスタの長さも１２ビットあればよく、従来のように２４ビットの大きさを必要としない。他のマスタにおいても、同様にして、各マスタが、それぞれの処理内容に応じて下位アドレスを計算することにより、アドレスを生成する。
【００４６】
以上のようにして、本実施形態のＣＤシステムにおけるデータ処理回路１５においては、バッファＲＡＭ１７のメモリ領域をページ領域に分割し、ＣＤから読み出した同一ブロック内のユーザデータ、時間情報を含むサブコードおよびエラー情報等のデータを、同一ページに格納して管理することにより、これらの情報がページ値により対応づけられ、データの読み出し時において、アドレス計算が簡単になる。これによりＣＤ読み出し時において、高速なデータ処理が可能となる。
【００４７】
上記説明においては、ＣＤからのデータの読み出し時におけるデータ処理（デコード処理）について説明したが、以下では、ホストコンピュータから出力されるデータをＣＤ−Ｒ等に書き込む際のデータ処理であるエンコード処理について説明する。
【００４８】
＜１．４データ処理回路のエンコード処理における動作＞
エンコード処理においては、ホストコンピュータ１９から出力されるデータの書き込み前に、リンク用の所定データを１セクタ分、「ランイン」と呼ばれる所定データを４セクタ分、それぞれ書き込んだ後に、６セクタ目からホストコンピュータ１９から出力されるデータの書き込みを行う。ホストコンピュータ１９から転送されるデータの書き込みが終了した後、最後に「ランアウト」と呼ばれる所定データを２セクタ分書き込み、エンコード処理を終了する。リンク用データ、「ラインイン」および「ラインアウト」等の所定データは、システム制御部により、バッファＲＡＭ１７のページ領域に書き込まれる。エンコード処理において各マスタが処理するページ領域内の所定領域は、デコード処理の場合と同様である。
【００４９】
エンコード処理において、ホスト処理部３９は、ホストコンピュータ１９からＳＣＳＩ等のインタフェースを介して入力されたユーザデータおよびサブコードをバッファＲＡＭのページ領域に格納する。セクタ処理部３３は、ホスト処理部３９で処理されたページ領域のユーザデータに対して、ヘッダ、サブヘッダ、ＥＣＣ／ＥＤＣを計算し、図１（Ｂ）に示されるページ構成のフォーマットに従って、第１セクタページレジスタ４９で指定されるページ領域に、ユーザデータ、ヘッダ、サブヘッダおよびＥＣＣ／ＥＤＣを格納する。サブコード処理部３７は、ホスト処理部３９で処理されたページ領域のサブコードに対して誤り訂正処理のためのＣＲＣ演算を行い、ＣＤエンコード回路１４に出力する。ＣＤ−ＤＡ処理部３５は、セクタ処理部３３で処理されたデータ、すなわち、第１ＣＤページレジスタ５３により示されるページ領域に格納されたデータをＣＤエンコード回路１４に出力する。
【００５０】
以下に、データ処理回路１５のエンコード処理においてホストコンピュータ１９から転送されるデータを書き込む時の処理について説明する。図７は、リンク用の所定データおよびランインのデータが書き込まれた後のデータ処理の流れを示す図である。このため、最初、第１ホストページレジスタ６０はページ値として「６」を格納している。
【００５１】
エンコード開始時のリンク用所定データの書き込み後、ホストコンピュータ１９から、ユーザデータおよびサブコードを含んだ１番目のセクタのデータＴｒｎ０が転送されると、ホスト処理部３９は、第１ホストページレジスタ６０で示されるバッファＲＡＭ１７内のページ６の領域にこれらのデータを格納する。ホスト処理部３９において、ページ６のデータ処理が終了すると、第１ホストページレジスタ６０はインクリメントされる。ホスト処理部３９は、このレジスタの値に従い、２番目のセクタのデータであるＴｒｎ１を処理する。
【００５２】
サブコード処理部３７は、ホスト処理部３９が処理したページ領域のデータに対して処理を行う。すなわち、第１サブコードページレジスタ５７に従い、ページ６に格納されるサブコードＴｒｎ０に対してＣＲＣ演算を行い、ＣＤエンコード回路１４に出力する。サブコード処理部３７においてページ６のサブコードの処理が終了した後、第１サブコードページレジスタ５７の値がインクリメントされる。同様に、ホスト処理部３９で処理されたページ領域のデータに対して、セクタ処理部３３は、第１セクタページレジスタ４９で示されるページ６のユーザデータＴｒｎ０に対して、ヘッダ、サブヘッダ、ＥＣＣ／ＥＤＣを計算し、所定のフォーマットに従って、ページ６の領域に、ユーザデータ、ヘッダ、サブヘッダおよびＥＣＣ／ＥＤＣを格納する。セクタ処理部３３において、ページ６のデータ処理が終了した後、第１セクタページレジスタ５１がインクリメントされる。
【００５３】
さらに、ホスト処理部３９は、３番目のセクタのデータＴｒｎ２をページ８の領域に格納する。この時、ＣＤ−ＤＡ処理部３５は、第１ＣＤページレジスタ５３に格納されたページに従い、セクタ処理部３３が処理を終了したページ６のデータＴｒｎ０をＣＤエンコード回路１４に出力する。この処理が終了した後、第１ＣＤページレジスタ５３はインクリメントされる。同様に、サブコード処理部３７、セクタ処理部３３は、それぞれのページレジスタの値に従い処理を行う。以降、同様にして順次エンコード処理が行われる。
【００５４】
以上のように、エンコード処理においても、デコード処理と同様にして、各マスタは、ページレジスタに格納されるページ値に従い、バッファＲＡＭ内のページ領域のデータを処理する。このため、データのアドレス指定において、複雑なアドレス計算を必要とせず、高速なエンコード処理が可能となる。なお、図７において、サブコード処理部は、セクタ処理部は同じタイミングで処理を行っているが、ＣＤ−ＤＡ処理部と同じタイミングで処理を行うようにしてもよい。
【００５５】
＜２．実施の形態２＞
次に、データ処理回路の別の実施の形態について説明する。本実施形態のデータ処理回路も、バッファＲＡＭ１７内のデータに対しては、実施の形態１の場合と同様に図１に示すフォーマットにしたがってアクセスする。図８に、本実施形態のデータ処理回路のブロック構成図を示す。本実施形態のデータ処理回路の構成は、基本的には実施の形態１のデータ処理回路と同じであるが、各マスタ３１、３３、３５、３７、３９が１つのページレジスタ４５ａ、４９ａ、５３ａ、５７ａ、６０ａのみを有している点が相違する。これらのページレジスタは実施の形態１における各マスタが処理すべきバッファＲＡＭ１７内のページの値を格納する第１ページレジスタにそれぞれ対応している。
【００５６】
＜２．１．データ処理回路の動作＞
以下に、本実施形態のデータ処理回路のデコード処理における動作を説明する。本実施形態のデータ処理回路の動作は基本的に実施の形態１の場合と同様である。すなわち、各マスタはそれぞれのページレジスタに格納される値で指定されるバッファＲＡＭ１７内の領域のデータに対して所定の処理を行う。この場合の各マスタの動作およびページレジスタの値は図９に示すようになり、図３に示す実施の形態１の場合の動作と基本的に同様であるので、相違点のみ説明する。
【００５７】
本実施形態におけるデコード処理回路は、第２ページレジスタを有しておらず、第２ページレジスタに関連する動作以外は実施の形態１の場合と全く同様に動作する。すなわち、第２ページレジスタの値のインクリメント動作を行わない点、および、各マスタが他のマスタのデータ処理の進行状況を確認するために第２ページレジスタを参照しない点が異なる。以下に、本実施形態において、マスタの進行状況の確認動作について説明する。
【００５８】
前述したように、セクタ処理部３３はＣＤ−ＤＡ処理部３５により処理が終了したデータに対して誤り訂正を行うため、セクタ処理部３３は、セクタページレジスタ４９ａの値で示される領域のデータが、ＣＤ−ＤＡ処理部３５により処理済みか否かを確認する必要がある。実施の形態１では、セクタ処理部３３はこの確認を第２ＣＤページレジスタ５５の値を参照することにより行っていた。しかし、本実施形態のデータ処理回路では第２ページレジスタを有していないため、セクタページレジスタ４９ａの値（セクタ処理ページ）とＣＤページレジスタ５３ａの値（ＣＤ−ＤＡ処理ページ）とを比較することによりこの判断を行う。すなわち、セクタ処理部３３は、ＣＤ−ＤＡ処理ページとセクタ処理ページとを比較し、セクタ処理ページがＣＤ−ＤＡ処理ページより小さいときに、セクタ処理ページで示されるデータがＣＤ−ＤＡ処理部３５により処理が終了していると判断し、そのデータについてエラー訂正処理を開始する。このようにすることで、セクタ処理部３３は、ＣＤ−ＤＡ処理部３５による処理が終了したデータを認識することができ、ＣＤ−ＤＡ処理部３５より先行して未処理のデータを処理するということを防止できる。同様に、ホスト処理部３９も、ホストページレジスタ６０ａの値（ホスト処理ページ）とセクタページレジスタ４９ａの値とを比較することにより、セクタ処理部３３による処理済みデータを認識し、セクタ処理部３３により処理が完了したデータについて転送を行うことができる。また、エンコード処理時においても、デコード処理時とは逆に、セクタ処理部３３はセクタ処理ページとホスト処理ページとを比較することによりホスト処理部３９の進行状況を確認し、ＣＤ−ＤＡ処理部３５はＣＤ−ＤＡ処理ページとセクタ処理ページとを比較することによりセクタ処理部３３の進行状況を確認しながら、それぞれの処理を進めることができる。
【００５９】
このように、本実施形態のデータ処理回路においても、実施の形態１の場合と全く同様に、ページ管理されたバッファＲＡＭ１７内の所定領域にデータを格納しながら、ＣＤ−ＲＯＭフォーマットのデータに対してデコードおよびエンコード処理を行うことができ、実施の形態１の場合より簡単な回路構成で同様の機能が実現できる。
【００６０】
＜２．２．バッファアンダーラン状態に対応するためのデータ処理回路の構成および動作＞
以下にバッファアンダーラン状態に対応するための本実施形態のデータ処理回路の構成および動作を説明する。
【００６１】
まず、バッファアンダーラン状態の検出について説明する。本実施形態のデータ処理回路では、前述のように各処理部はページ単位でデータを順次処理する。例えば、図１０に示すように、システム制御部３１がページ３のデータを、ホスト処理部３９はページ２のデータを、セクタ処理部３３はページ１のデータを、ＣＤ−ＤＡ処理部３５およびサブコード処理部３７はページ１のデータを処理している。このように、通常状態でのエンコード処理においては、ホスト処理部３９→セクタ処理部３３、サブコード処理部３７→ＣＤ−ＤＡ処理部３５の順に処理が進んでいく。バッファアンダーラン状態時においては、セクタ処理部３３、ＣＤ−ＤＡ処理部３５およびサブコード処理部３７での処理は進み、ホスト処理部３９での処理は停滞しているため、これらのページレジスタ４９ａ、５３ａ、５７ａの値が、ホストページレジスタ６０ａの値に追いついてしまう。この点から、本実施形態のデータ処理回路はＣＤページレジスタ５３ａの値（ＣＤ−ＤＡ処理ページ）とホストページレジスタ６０ａの値（ホスト処理ページ）とを比較することにより、バッファアンダーラン状態を検出する。
【００６２】
図１１にデータ処理回路におけるバッファアンダーラン検出回路を示す。この図に示すようにバッファアンダーラン検出回路は比較回路８１とＡＮＤゲート８２とから構成される。比較回路８１にはＣＤページレジスタ５３ａの値であるＣＤ−ＤＡ処理ページとホストページレジスタ６０ａの値であるホスト処理ページとが入力され、比較回路８１はＣＤ−ＤＡ処理ページに１を加えた値とホスト処理ページとを比較している。これは、ＣＤ−ＤＡ処理部３５はセクタ処理部３３で処理済みのデータを処理するため、バッファアンダーラン状態において、セクタ処理部３３がホスト処理部３９に追い付いたときは、ＣＤ−ＤＡ処理ページはホスト処理ページより１つ前のページになるためである。比較回路８１は、ＣＤ−ＤＡ処理ページに１を加えた値がホスト処理ページに等しいかまたは大きくなったときに検出信号を出力する。また、動作開始時にはＣＤ−ＤＡ処理ページはホスト処理ページに等しいため、開始時の誤動作をキャンセルするために、ＡＮＤゲートでは前述の検出信号と動作開始時を示すスタート信号との論理積が取られている。これにより、正確にバッファアンダーラン状態を検出することができるようになっている。
【００６３】
このように、本実施形態のデータ処理回路においては、ホストページレジスタ６０ａの値（ホスト処理ページ）とＣＤページレジスタ５３ａの値（ＣＤ−ＤＡ処理ページ）とを比較することによりバッファアンダーラン状態を容易に検出することができ、バッファアンダーラン状態の検出回路を簡単な構成で実現できる。また、同様に、バッファオーバーラン状態（デコード時において、バッファＲＡＭ１７の空き領域がなくなる状態）の検出回路も簡単な構成で実現できる。
【００６４】
本実施形態のデータ処理回路においては、このようなバッファアンダーラン検出回路によりバッファアンダーラン状態が検出されたときは、ホスト処理部３９によりバッファＲＡＭ１７に対して所定データ（本実施形態では「０」のデータ）が書き込まれるようになっている。以下に、このときのホスト処理部３９の構成および動作について説明する。
【００６５】
図１２は、ホスト処理部３９においてバッファＲＡＭ１７、ホストコンピュータ１９およびシステム制御部３１に対するデータのやりとりを説明するためにホスト処理部３９の構成の一部を示した図である。ホスト処理部３９は、データの先入れ先出しバッファ機能を有するＦＩＦＯ８４と、ＦＩＦＯ８４に入力されるデータを切り替える第１マルチプレクサ８５と、バッファＲＡＭ１７に入力するデータを切り替える第２マルチプレクサ８６と、バッファＲＡＭ１７に対してデータの入出力を行うためのバッファＲＡＭＩ／Ｆ８７と、ホストコンピュータ１９に対してデータの入出力を行うためのホストバスＩ／Ｆ８８と、システム制御部３１に対してデータの入出力を行うためのシステム制御部Ｉ／Ｆ８９とを有する。第１マルチプレクサ８５の入力は、ホストバスＩ／Ｆ８８、バッファＲＡＭＩ／Ｆ８７およびシステム制御部Ｉ／Ｆ８９に接続され、出力はＦＩＦＯ８４に接続されている。ＦＩＦＯ８４の出力は、ホストバスＩ／Ｆ８８、第２マルチプレクサ８５の入力Ａ、およびシステム制御Ｉ／Ｆ８９に接続されている。第２マルチプレクサ８６の出力はバッファＲＡＭＩ／Ｆ８７に接続されている。さらに、第２マルチプレクサ８６の入力Ｂには「０」のデータのみを出力するゼロデータ生成部９０が接続されている。また、第１マルチプレクサ８５の入力はシステム制御部３１により選択される。第２マルチプレクサ８６の入力はバッファアンダーラン検出回路の出力に基づき選択される。
【００６６】
上記のように構成されたホスト制御部３９において、ＦＩＦＯ８４に対するデータの入出力は以下の６通りに制御される。
【００６７】
（１）ホストコンピュータ１９からのデータがバッファＲＡＭ１７に書き込まれる場合バッファアンダーラン状態でない場合、第１マルチプレクサ８５および第２マルチプレクサ８６において入力Ａが選択される。これにより、ホストコンピュータ１９からホストバスＩ／Ｆ８８を介して入力されたデータがＦＩＦＯ８４に入力され、所定ビット数のデータがＦＩＦＯ８４に格納された後、第２マルチプレクサ８６およびバッファＲＡＭＩ／Ｆ８７を介してバッファＲＡＭ１７に出力される。また、バッファアンダーラン状態になったときは、第２マルチプレクサ８６において入力Ｂが選択される。これにより、バッファＲＡＭ８７にはゼロデータ生成部９０より「０」のデータが書き込まれる。
【００６８】
（２）ホストコンピュータ１９がバッファＲＡＭ１７からデータを読み出す場合この場合、第１マルチプレクサ８５において入力Ｂが選択される。これにより、バッファＲＡＭ１７からのデータはバッファＲＡＭＩ／Ｆ８７を介してＦＩＦＯ８４に入力され、所定ビット数のデータがＦＩＦＯ８４に格納された後、ホストバスＩ／Ｆ８８を介してホストコンピュータ１９に出力される。
【００６９】
（３）システム制御部３１からのデータをバッファＲＡＭ１７に書き込む場合この場合、第１マルチプレクサ８５において入力Ｃが、第２マルチプレクサ８６において入力Ａが選択される。これにより、システム制御部Ｉ／Ｆ３１を介して入力されたデータはＦＩＦＯ８４に入力され、所定ビット数のデータがＦＩＦＯ８４に格納された後、第２マルチプレクサ８６およびバッファＲＡＭＩ／Ｆ８７を介してバッファＲＡＭ１７に出力される。また、リンクデータ等の「０」のデータを書き込みたい場合は、第２マルチプレクサ８６において入力Ｂが選択されることにより、バッファＲＡＭ１７には「０」のデータが書き込まれる。
【００７０】
（４）システム制御部３１がバッファＲＡＭ１７からデータを読み出す場合この場合、第１マルチプレクサ８５において入力Ｂが選択される。これにより、バッファＲＡＭ１７のデータはＦＩＦＯ８４に入力され、所定ビット数のデータがＦＩＦＯ８４に格納された後、システム制御部３１に出力される。これは、システム制御部３１がバッファＲＡＭ１７に書き込んだコマンド等を読み出す場合に用いられる。
【００７１】
（５）ホストコンピュータ１９からのデータをシステム制御部３１に出力する場合この場合、第１マルチプレクサ８５において入力Ａが選択される。これにより、ホストコンピュータ１９から入力されたデータはホストバスＩ／Ｆ８８を介してＦＩＦＯ８４に入力され、所定ビット数のデータがＦＩＦＯ８４に格納された後、システム制御部Ｉ／Ｆ８９を介してシステム制御部３１に出力される。
【００７２】
（６）システム制御部３１が用意したデータをホストコンピュータ１９が読み出す場合この場合、第１マルチプレクサ８５において入力Ｃが選択される。これにより、システム制御部３１からのデータはシステム制御部Ｉ／Ｆ８９を介してＦＩＦＯ８４に入力され、所定ビット数のデータがＦＩＦＯ８４に格納された後、ホストバスＩ／Ｆを介してホストコンピュータ１９に出力される。
【００７３】
このように、第１および第２マルチプレクサ８５、８６の入力を切り替えることによりＦＩＦＯ８４の入出力先を切り替えることができる。また、前述のように、バッファアンダーラン検出回路によりバッファアンダーラン状態が検出されたときは、第２マルチプレクサ８６において入力Ｂが選択されることにより、バッファＲＡＭ１７に「０」のデータが書き込まれる。
【００７４】
以上のように、ホスト処理部３９においてＦＩＦＯ８４および第２マルチプレクサ８６を設け、バッファアンダーラン状態時に第２マルチプレクサ８６の入力を切り替えることにより、バッファアンダーラン状態時にも途切れることなく書き込みデータの供給が可能となる。このように、簡単なハードウェア構成でバッファアンダーラン状態に対応した回路が実現できるため、システム制御部３１の負荷を低減でき、処理の高速化が可能となる。
【００７５】
なお、第２マルチプレクサ８６は、システム制御部３１により、バッファアンダーラン状態の検出にかかわらず任意のタイミングでその入力の切り替えが制御されてもよく、これによりバッファＲＡＭ１７に対して任意のタイミングで所定データの書き込むようにしてもよい。また、実施の形態１のデータ処理回路においても、ホスト処理部３９において、本実施形態と同様の構成にすることによりバッファアンダーランに対応した回路を容易に実現できる。
【００７６】
＜２．３．ホストインタフェース＞
図１３は本データ処理回路において、ホストコンピュータ１９に対するインタフェース規格としてＳＣＳＩを用いる場合の構成を示した図である。この場合、図に示すようにホスト処理部３９およびシステム制御部３１はＳＣＳＩコントローラ９１に接続される。ＳＣＳＩコントローラ９１はＳＣＳＩバスを介してホストコンピュータ１９とのデータのやりとりを行う。また、ホスト処理部３９内のＦＩＦＯ８４とＳＣＳＩコントローラとの間のデータの転送はホスト処理部３９内のＤＭＡコントローラ（図示せず）により制御される。図１４はホスト処理部３９とＳＣＳＩコントローラ９１との間の制御信号の一部を示した図である。データのやりとりを開始するときは、ＳＣＳＩコントローラ９１からデータ転送要求のためのＤＲＥＱ信号がアクティブにされる。ホスト処理部３９内のＤＭＡコントローラはこれを受けて、データを用意し、／ＡＣＫ信号、ＩＯストローブ信号である／ＤＩＯＷＲ信号（ＩＯライト信号）または／ＤＩＯＲＤ信号（ＩＯリード信号）を出力する。ここで、信号名中の「／」の記号はアクティブ・ローで動作することを示す。このように、ＳＣＳＩインタフェースを用いる場合は、ホスト処理部３９内のＤＭＡコントローラが転送のタイミングを制御する。すなわち、ホスト処理部３９は、自身がデータ転送のタイミングを制御する機能である「マスタ機能」を備えている。なお、上記ＳＣＳＩコントローラ３９のかわりにＩＥＥＥ１３９４規格に信号を制御するコントローラを用いてもよい。
【００７７】
図１５は本データ処理回路において、ホストコンピュータ１９に対するインタフェース規格としてＡＴＡＰＩインタフェースを用いる場合の構成を示した図である。この場合、図に示すようにホスト処理部３９およびシステム制御部３１はＡＴＡＰＩバスに接続される。また、ホスト処理部３９内のＦＩＦＯ８４とＡＴＡＰＩバスとの間のデータの転送はホスト処理部３９内のＤＭＡコントローラ（図示せず）により制御される。図１６１６はホスト処理部３９とＡＴＡＰＩバスとの間の制御信号の一部を示した図である。データのやりとりを開始するときは、ホスト処理部３９からデータ転送要求のためのＲＥＱ信号が出力される。ＡＴＡＰＩバスはこれを受けて、／ＡＣＫ信号、ＩＯストローブ信号である／ＤＩＯＷＲ信号（ＩＯライト信号）または／ＤＩＯＲＤ信号（ＩＯリード信号）を出力する。このようにＡＴＡＰＩインタフェースを用いる場合は、ホスト処理部３９内のＤＭＡコントローラはＡＴＡＰＩバスから与えられたタイミングで動作する。すなわち、ホスト処理部３９は、外部より与えられたデータ転送のタイミングで動作する機能である「スレーブ機能」を備えている。
【００７８】
以上のように、本実施形態のデータ処理回路は、ホスト処理部３９がマスタ機能やスレーブ機能を有しており、システム制御部３１によりそれらの機能のいずれかが選択されることにより、ホストインタフェースとしてＳＣＳＩやＩＥＥＥ１３９４等のマスタ機能を要するインタフェース規格およびＡＴＡＰＩ等のスレーブ機能を要するインタフェース規格に対して対応できる。
【図面の簡単な説明】
【００７９】
【図１】本発明に係る実施の形態のバッファＲＡＭにおけるページおよびページ内の構成を説明した図。
【図２】実施の形態１におけるデータ処理回路のブロック構成図。
【図３】実施の形態１のデータ処理回路内のデコード処理時における各マスタの動作を説明するための図。
【図４】ホスト処理部内のレジスタを説明するための図。
【図５】転送データ指定レジスタの構成図。
【図６】データアドレスの生成を説明するための図。
【図７】実施の形態１のデータ処理回路内のエンコード処理時における各マスタの動作を説明するための図。
【図８】実施の形態２におけるデータ処理回路のブロック構成図。
【図９】実施の形態２のデータ処理回路内のデコード処理時における各マスタの動作を説明するための図。
【図１０】実施の形態２のデータ処理回路内のエンコード処理時における各マスタがアクセスするバッファＲＡＭのページの関係を説明するための図。
【図１１】バッファアンダーラン検出回路の回路図。
【図１２】ホスト処理部における転送データの流れを説明するための図。
【図１３】ホストインタフェースとしてＳＣＳＩ規格を用いたときの構成図。
【図１４】ホストインタフェースとしてＳＣＳＩ規格を用いたときの制御信号の一部を示す図。
【図１５】ホストインタフェースとしてＡＴＡＰＩ規格を用いたときの構成図。
【図１６】ホストインタフェースとしてＡＴＡＰＩ規格を用いたときの制御信号の一部を示す図。
【図１７】コンパクトディスクシステムのブロック構成図。
【図１８】コンパクトディスクシステムにおけるデータ処理の流れを説明するための図。
【図１９】従来のデータ処理回路におけるデータ管理方法を説明するための図。
【符号の説明】
【００８０】
１０…コンパクトディスク、 １１…検出部、 １２…書き込み部、 １３…ＣＤデコード回路、 １４…ＣＤエンコード回路、 １５…データ処理回路、１７…バッファＲＡＭ、 １９…ホストコンピュータ、 ２１…ＣＤフレーム、２２…サブコード、 ２３…誤り訂正後のデータ（１フレーム）、 ２４…サブコードブロック、 ２５…データ（１ブロック）、 ２７…ＣＤ−ＲＯＭフォーマット（モード１）、 ２９…誤り訂正後のユーザデータ、 ３１…システム制御部、 ３３…セクタ処理部、 ３５…ＣＤ−ＤＡ処理部、 ３７…サブコード処理部、 ３９…ホスト処理部、 ４１…バッファ管理部、 ４５…第１システムページレジスタ、 ４５ａ…システムページレジスタ、 ４７…第２システムページレジスタ、 ４９…第１セクタページレジスタ、 ４９ａ…セクタページレジスタ、 ５１…第２セクタページレジスタ、 ５３…第１ＣＤページレジスタ、 ５３ａ…ＣＤページレジスタ、 ５５…第２ＣＤページレジスタ、 ５７…第１サブコードページレジスタ、 ５７ａ…サブコードページレジスタ、５９…第２サブコードページレジスタ、 ６０…第１ホストページレジスタ、６０ａ…ホストページレジスタ、 ６１…第２ホストページレジスタ、 ６２…内部データバス、 ６３…内部アドレスバス、 ６６…メモリ制御部、 ６７…制御部、 ７１…転送データ指定レジスタ、 ７３…ＷＫ（０）ＳＡレジスタ、７４…ＷＫ（１）ＳＡレジスタ、 ７５…ＷＫ（２）ＳＡレジスタ、 ７７…ＷＫ（０）ＬＥＮレジスタ、 ７８…ＷＫ（１）ＬＥＮレジスタ、 ７９…ＷＫ（２）ＬＥＮレジスタ、 ８１…比較回路、 ８２…ＡＮＤゲート、 ８４…ＦＩＦＯ、 ８５…第１マルチプレクサ、 ８６…第２マルチプレクサ、 ８７…バッファＲＡＭＩ／Ｆ、 ８８…ホストバスＩ／Ｆ、 ８９…システム制御部Ｉ／Ｆ、 ９０…ゼロデータ生成部、 ９１…ＳＣＳＩコントローラ。
【図１】
2006244696.tif 000003
【図２】
2006244696.tif 000004
【図３】
2006244696.tif 000005
【図４】
2006244696.tif 000006
【図５】
2006244696.tif 000007
【図６】
2006244696.tif 000008
【図７】
2006244696.tif 000009
【図８】
2006244696.tif 000010
【図９】
2006244696.tif 000011
【図１０】
2006244696.tif 000012
【図１１】
2006244696.tif 000013
【図１２】
2006244696.tif 000014
【図１３】
2006244696.tif 000015
【図１４】
2006244696.tif 000016
【図１５】
2006244696.tif 000017
【図１６】
2006244696.tif 000018
【図１７】
2006244696.tif 000019
【図１８】
2006244696.tif 000020
【図１９】
2006244696.tif 000021