(57)【特許請求の範囲】
【請求項１】
バッファを含むコンピュータシステムに用いられる記録可能なコンパクトディスク用のコントローラであって、該記録可能なコンパクトディスク用のコントローラは、信号データのセットを表す信号をＣＤ−Ｒディスクに記録し、
該記録可能なコンパクトディスク用のコントローラは、
該コンピュータシステムに含まれているホストプロセッサから該信号データのセットとコマンドとを受け取るホストインタフェース回路と、
該ホストインタフェース回路に結合されているバッファマネージャであって、該ホストインタフェース回路から該コマンドを受け取り、該コマンドを該コンピュータシステムに含まれているマイクロコントローラに送り、該マイクロコントローラから該コマンドに対応するインストラクションのセットを受け取り、該受け取られたインストラクションのセットを該バッファに格納するバッファマネージャと、
該信号データのセットを表す該信号を該ＣＤ−Ｒディスクに記録するための記録信号のセットを生成する記録回路と、
該記録回路と該バッファマネージャとに結合されているフォーマッタ回路であって、該フォーマッタ回路は、該バッファマネージャを介して該バッファから該格納されているインストラクションのセットを受け取り、該インストラクションのセットのそれぞれから制御信号のセットを生成し、該制御信号のセットは、該記録回路に該記録信号のセットを生成させる、フォーマッタ回路と
を備えている、記録可能なコンパクトディスク用のコントローラ。
【請求項２】
前記コマンドは、キューシートを含む、請求項１に記載の記録可能なコンパクトディスク用のコントローラ。
【請求項３】
前記記録回路は、前記フォーマッタ回路に結合されているＡＴＩＰデコーダおよびサーチロジックを備えており、
該ＡＴＩＰデコーダおよびサーチロジックは、前記ＣＤ−Ｒディスク上にセクタのアドレスを生成し、
該フォーマッタ回路は、該アドレスを用いて、該セクタに前記信号を記録する、請求項１に記載の記録可能なコンパクトディスク用のコントローラ。
【請求項４】
前記記録回路は、
前記信号データをＣ１／Ｃ２フォーマットで符号化することによって、符号化されたデータを生成するエンコーダ回路と、
該符号化されたデータを８：１４モードフォーマットに変調する変調器と
をさらに備えている、請求項３に記載の記録可能なコンパクトディスク用のコントローラ。
【請求項５】
前記コンピュータシステムは、前記バッファマネージャに結合されているバッファを備えており、
該バッファマネージャは、前記マイクロコントローラから前記インストラクションのセットを受け取り、該インストラクションのセットを該バッファに格納し、
前記フォーマッタ回路は、該バッファから該インストラクションを受け取り、その後、前記制御信号のセットを生成し、該インストラクションは、キューシートインストラクションを含む、請求項４に記載の記録可能なコンパクトディスク用のコントローラ。
【請求項６】
前記ＣＤ−Ｒディスクに記録された前記信号を復調することによって復調されたデータを生成するディジタル信号処理（ＤＳＰ）回路であって、該復調されたデータを復号化することによって前記信号データを生成するＤＳＰ回路と、
所定の誤り訂正符号に従って該信号データにおける誤りを訂正する訂正回路と
をさらに備えている、請求項５に記載の記録可能なコンパクトディスク用のコントローラ。
【請求項７】
コマンドに従って信号データのセットを表す信号をＣＤ−Ｒディスクに記録するコンピュータシステムであって、
該コンピュータシステムは、
該信号データのセットを送るホストプロセッサと、
該ＣＤ−Ｒディスクを受け取るＣＤ−Ｒドライブと、
該コマンドからインストラクションのセットを生成するマイクロコントローラと、
該インストラクションのセットを格納するバッファと、
制御信号のセットを生成することによって、該ＣＤ−Ｒドライブに、該信号を該ＣＤ−Ｒディスクに記録させる記録可能なコンパクトディスク用のコントローラであって、該ホストプロセッサから該信号データのセットと該コマンドとを受け取り、該コマンドに従って該信号を記録する記録可能なコンパクトディスク用のコントローラと
を備え、
該記録可能なコンパクトディスク用のコントローラは、
該ホストプロセッサから該信号データのセットと該コマンドとを受け取るホストインタフェース回路と、
該ホストインタフェース回路に結合されているバッファマネージャであって、該バッファマネージャは、該ホストインタフェース回路から該コマンドを受け取り、該コマンドを該マイクロコントローラに送り、該マイクロコントローラは、該バッファマネージャから該コマンドを受け取り、該コマンドに対応するインストラクションのセットを生成し、該バッファマネージャに該インストラクションのセットを送り、該バッファマネージャは、該インストラクションのセットを該マイクロコントローラから受け取り、該受け取られたインストラクションのセットを該バッファに格納する、バッファマネージャと、
該ＣＤ−Ｒドライブに結合されている記録回路であって、該記録信号のセットを生成する記録回路と、
該記録回路と該バッファマネージャとに結合されているフォーマッタ回路であって、該フォーマッタ回路は、該バッファマネージャを介して該バッファから該格納されているインストラクションのセットを受け取り、該インストラクションのセットのそれぞれから該制御信号のセットを生成し、該制御信号のセットは、該記録回路に該記録信号のセットを生成させる、フォーマッタ回路と
を備えている、コンピュータシステム。
【請求項８】
前記コマンドは、キューシートを含む、請求項７に記載のコンピュータシステム。
【請求項９】
前記記録回路は、前記フォーマッタ回路に結合されているＡＴＩＰデコーダおよびサーチロジックを備えており、
該ＡＴＩＰデコーダおよびサーチロジックは、前記ＣＤ−Ｒディスク上にセクタのアドレスを生成し、
該フォーマッタ回路は、該アドレスを用いて該セクタに前記信号を記録する、請求項７に記載のコンピュータシステム。
【請求項１０】
前記記録回路は、
前記信号データをＣ１／Ｃ２フォーマットで符号化することによって、符号化されたデータを生成するエンコーダ回路と、
該符号化されたデータを８：１４モードフォーマットに変調する変調器と
をさらに備えている、請求項９に記載のコンピュータシステム。
【請求項１１】
前記ＣＤ−Ｒディスクに記録された前記信号を復調することによって、復調されたデータを生成するディジタル信号処理（ＤＳＰ）回路であって、該復調されたデータを復号化することによって、前記信号データを生成するＤＳＰ回路と、
所定の誤り訂正符号に従って該信号データにおける誤りを訂正する訂正回路と
をさらに備えている、請求項７に記載のコンピュータシステム。
【請求項１２】
ＣＤ−Ｒドライブ内に配置されたＣＤ−Ｒディスクに信号データのセットを表す信号を記録する方法であって、
該方法は、
ホストプロセッサから該信号データセットとバッファマネージャ内のコマンドとを受け取るステップと、
該バッファマネージャからマイクロコントローラに該コマンドを送るステップと、
該マイクロコントローラにおいて、該受け取られたコマンドに対応するインストラクションのセットを生成し、該バッファマネージャに該インストラクションのセットを送るステップと、
該バッファマネージから該インストラクションのセットをバッファにおいて受け取り、該インストラクションのセットを該バッファに格納するステップと、
該バッファマネージャを介して該バッファからフォーマッタに該格納されているインストラクションのセットを送るステップと、
該フォーマッタにおいて、該受け取られたインストラクションのセットのそれぞれから制御信号のセットを生成するステップと、
該フォーマッタから記録回路に該制御信号のセットを送るステップであって、該制御信号のセットは、該記録回路に記録信号のセットを生成させる、ステップと、
該記録信号を該ＣＤ−Ｒドライブに結合するステップであって、該記録信号は、該ＣＤ−Ｒドライブに該信号を該ＣＤ−Ｒディスクに記録させる、ステップと
を包含する、方法。
【請求項１３】
ＡＴＩＰデコーダおよびサーチロジックにおいてアドレスを生成するステップであって、該アドレスは、前記ＣＤ−Ｒディスクのセクタに対応している、ステップと、
該アドレスを前記フォーマッタにおいて生成するステップに提供するステップであって、該フォーマッタにおいて生成するステップは、前記信号を該アドレスに記録させる制御信号を生成する、ステップと
をさらに包含する、請求項１２に記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、広くは、コンピュータシステムに用いられるＣＤ−Ｒ（記録可能なコンパクトディスク）用のコントローラに関する。より具体的には、本発明は、信号データを表す信号をＣＤ−Ｒディスク上に記録するための、改善された方法および装置に関する。
【０００２】
【従来の技術】
コンピュータシステムは、マルチメディア信号を記録可能なコンパクトディスク（ＣＤ−Ｒ）上に記録するためのＣＤ−Ｒドライブを備えていることがある。このようなマルチメディア信号には、例えば、オーディオ信号や、ビデオ信号や、グラフィックス信号や、データ信号などが含まれており、オーディオ、ビデオ、グラフィックスあるいはデータ信号の組み合わせも含まれている。図１は、ＣＤ−Ｒドライブ１４０を備えたこのようなコンピュータシステム１００の一例を示すブロック図である。ホストプロセッサ１１０は、例えばペンティアムTMのような中央処理ユニットであればよい。ホストプロセッサ１１０は、バス１１２を介して、信号データとして符号化されたマルチメディア信号を送ることができる。バス１１２は、例えば、ＰＣＩバスであればよい。ホストプロセッサ１１０は、また、信号を記録するのに必要とされる情報を指定するコマンドを送ることもできる。
【０００３】
ＣＤ−Ｒコントローラ１３０は、信号データおよびコマンドをホストプロセッサ１１０から受け取り（図４のステップ４１０）、ＣＤ−Ｒバス１３４上に記録信号を発生することによって、ＣＤ−Ｒディスク上に信号データを表す信号を記録する。このようなコマンドとしては、例えば、業界では「キューシート」として知られているものが挙げられる。
【０００４】
ＣＤ−Ｒコントローラ１３０は、コマンドをマイクロコントローラ１６０に送る。すると、マイクロコントローラ１６０は、これに応答して制御信号のセットを発生することによって、ＣＤ−Ｒコントローラ１３０に、信号データを表す信号をＣＤ−Ｒディスク上に記録させる。ＣＤ−Ｒコントローラ１３０は、バッファ１７０に、ホストプロセッサ１１０から受け取った信号データを格納する。マイクロコントローラ１６０により発生された制御信号に応答して、ＣＤ−Ｒコントローラ１３０は、バッファ１７０から信号データを取り出し、記録信号を発生することによって、信号データを表す信号を、ＣＤ−Ｒドライブ１４０に配置されたＣＤ−Ｒディスク上に記録する。
【０００５】
このような制御信号を発生するために、マイクロコントローラ１６０は、それぞれのコマンドに対応するテーブルを生成し（図４のステップ４２０）、そのテーブルから制御信号を発生する。ＲＯＭ１５０は、このようなテーブルを生成するのに用いられた情報を格納する。よって、マイクロコントローラ１６０は、ＲＯＭ１５０にアクセスすることによって、コマンドに対応するテーブルを生成することができる。テーブルは、記録動作のあいだにいくつかのセクタ上で信号データを符号化するのに必要な情報を含みうる。
【０００６】
従来の技術では、マイクロコントローラ１６０は、ＲＡＭ１８０に、各コマンドに対応して生成されたテーブルを格納する（図４のステップ４３０）。すると、マイクロコントローラ１６０は、ＲＡＭ１８０からこのようなテーブルにアクセスし、そのテーブル内の情報を用いてＣＤ−Ｒコントローラ１３０に制御信号を発生する（図４のステップ４４０）。このようなアクセスのためには、マイクロコントローラ１６０は、ＲＡＭ１８０にアクセスして、各セクタ上に信号データを記録するための制御信号を発生してもよい。
【０００７】
【発明が解決しようとする課題】
このような従来の技術によるコンピュータシステム１００には、今日のコンピュータシステムに求められる高速記録という要求を満たすのに十分なスループットパフォーマンスがマイクロコントローラ１６０にはないという問題がある。マイクロコントローラ１６０のスループットパフォーマンスは、テーブル内の情報にアクセスするためにマイクロコントローラ１６０がＲＡＭ１８０に対しておこなうアクセスの回数が多いことが原因で十分ではなくなる可能性がある。
【０００８】
マイクロコンピュータ１６０のスループットパフォーマンスの問題は、マイクロコンピュータ１６０には、ＣＤ−Ｒディスクにアクセスする時のサーボ機能のようなその他いくつかの機能があるために、一層深刻になる。このようなその他の機能により、マイクロコントローラ１６０の時間のうちの数サイクルが費やされることがある。加えて、２つのセクタ上にデータを記録する間の時間間隔は、今日のコンピュータシステム１００における高速ＣＤ−Ｒドライブ１４０ではさらに短くなっているので、マイクロコンピュータ１６０もまた、ますます高速なレートで制御信号を発生することが要求されるようになっている。
【０００９】
スループットパフォーマンスの問題、および、これに伴って、十分な速度で制御信号を発生することができないという問題があるために、マイクロコントローラ１６０には、信号データがＣＤ−Ｒコントローラ１３０により受け取られる時のレートに対応するレートで制御信号を発生することができないことがある。この能力が欠けていることが原因で、ＣＤ−Ｒコントローラ１３０には、ＣＤ−Ｒドライブ１４０内に配置されたＣＤ−Ｒディスク上に信号データの一部を記録しそこなうこともある。この技術ではよく理解されているように、ＣＤ−Ｒディスク上でリライトする（つまり、信号データを記録しそこなった部分に戻る）ことは、さまざまな技術的制約により不可能である。よって、そのような場合、記録された信号の品質は、受け入れがたいものになってしまう。
【００１０】
本発明は、上記課題を解決するためになされたものであり、その目的は、十分なスループットパフォーマンスをもち、十分な速度で制御信号を発生することができるＣＤ−Ｒコントローラを提供することにある。
【００１１】
【課題を解決するための手段】
本発明による記録可能なコンパクトディスク用のコントローラは、コンピュータシステムに用いられ、ＣＤ−Ｒディスク上に信号データのセットを表す信号を記録する、記録可能なコンパクトディスク用のコントローラであって、該コンピュータシステムに含まれるホストプロセッサから該信号データセットおよびコマンドを受け取る、ホストインタフェース回路と、該ホストインタフェース回路に結合され、該コンピュータシステムに含まれるマイクロコントローラに該コマンドを送る、バッファマネージャであって、該マイクロコントローラが該コマンドに対応するインストラクションのセットを発生する、バッファマネージャと、該ＣＤ−Ｒディスク上に、該信号データセットを表す該信号を記録するための記録信号のセットを発生する、記録回路と、該記録回路および該マイクロコントローラに結合され、該インストラクションのセットのそれぞれから制御信号のセットを発生する、フォーマッタ回路であって、該制御信号セットが、該記録回路に該記録信号セットを発生させる、フォーマッタ回路と、を備えており、そのことにより上記目的が達成される。
【００１２】
ある実施形態では、前記コンピュータシステムがバッファを備えており、該バッファが前記バッファマネージャに結合されており、該バッファマネージャが、前記マイクロコントローラから前記インストラクションセットを受け取って、該インストラクションセットを該バッファに格納し、かつ、前記フォーマッタ回路が、該インストラクションを該バッファから受け取った後に前記制御信号セットを発生する。
【００１３】
ある実施形態では、前記コマンドがキューシートを含んでいる。
【００１４】
ある実施形態では、前記記録回路が、前記フォーマッタ回路に結合されたＡＴＩＰデコーダおよびサーチロジックを備えており、該ＡＴＩＰデコーダおよびサーチロジックが、前記ＣＤ−Ｒディスク上のセクタのアドレスを発生し、該フォーマッタ回路が、該アドレスを用いて前記信号を該セクタ上に記録する。
【００１５】
ある実施形態では、前記記録回路が、前記信号データをＣ１／Ｃ２フォーマットで符号化することによって、符号化されたデータを発生する、エンコーダ回路と、該符号化されたデータを８：１４モードフォーマットに変調する、変調器と、をさらに備えている。
【００１６】
ある実施形態では、前記コンピュータシステムが前記バッファマネージャに結合されたバッファを備えており、該バッファマネージャが、前記マイクロコントローラから前記インストラクションセットを受け取って、該インストラクションセットを該バッファに格納し、前記フォーマッタ回路が、該インストラクションを該バッファから受け取った後に前記制御信号セットを発生し、かつ、該インストラクションがキューシートインストラクションを含んでいる。
【００１７】
ある実施形態では、前記ＣＤ−Ｒディスク上に記録された前記信号を復調することによって復調されたデータを発生する、ディジタル信号処理（ＤＳＰ）回路であって、該復調されたデータを復号化することによって前記信号データを発生する、ＤＳＰ回路と、所定の誤り訂正符号に従って該信号データにおける誤りを訂正する、訂正回路と、をさらに備えている。
【００１８】
本発明によるコンピュータシステムは、コマンドに従ってＣＤ−Ｒディスク上に信号データのセットを表す信号を記録する、コンピュータシステムであって、該信号データセットを送る、ホストプロセッサと、該ＣＤ−Ｒディスクを収容する、ＣＤ−Ｒドライブと、該コマンドからインストラクションのセットを発生する、マイクロコントローラと、該インストラクションを格納する、バッファと、制御信号のセットを発生することによって、該ＣＤ−Ｒドライブに、該信号を該ＣＤ−Ｒディスク上へと記録させ、該信号データセットおよび該コマンドを該ホストプロセッサから受け取り、該コマンドに従って該信号を記録する、記録可能なコンパクトディスク用のコントローラであって、該信号データセットおよび該コマンドを該ホストプロセッサから受け取る、ホストインタフェース回路、該ホストインタフェース回路に結合され、該マイクロコントローラに該コマンドを送る、バッファマネージャであって、該マイクロコントローラが該コマンドに対応するインストラクションのセットを発生する、バッファマネージャ、該ＣＤ−Ｒドライブに結合され、該記録信号のセットを発生する、記録回路、および該記録回路に結合され、該インストラクションのセットのそれぞれから該制御信号のセットを発生する、フォーマッタ回路であって、該制御信号セットが、該記録回路に該記録信号セットを発生させる、フォーマッタ回路を有する、記録可能なコンパクトディスク用のコントローラと、を備えており、そのことにより上記目的が達成される。
【００１９】
ある実施形態では、前記コンピュータシステムがバッファを備えており、該バッファが前記バッファマネージャに結合されており、該バッファマネージャが、前記マイクロコントローラから前記インストラクションセットを受け取って、該インストラクションセットを該バッファに格納し、かつ、前記フォーマッタ回路が、該インストラクションを該バッファから受け取った後に前記制御信号セットを発生する。
【００２０】
ある実施形態では、前記コマンドがキューシートを含んでいる。
【００２１】
ある実施形態では、前記記録回路が、前記フォーマッタ回路に結合されたＡＴＩＰデコーダおよびサーチロジックを備えており、該ＡＴＩＰデコーダおよびサーチロジックが、前記ＣＤ−Ｒディスク上のセクタのアドレスを発生し、該フォーマッタ回路が、該アドレスを用いて前記信号を該セクタ上に記録する。
【００２２】
ある実施形態では、前記記録回路が、前記信号データをＣ１／Ｃ２フォーマットで符号化することによって、符号化されたデータを発生する、エンコーダ回路と、該符号化されたデータを８：１４モードフォーマットに変調する、変調器と、をさらに備えている。
【００２３】
ある実施形態では、前記ＣＤ−Ｒディスク上に記録された前記信号を復調することによって復調されたデータを発生する、ディジタル信号処理（ＤＳＰ）回路であって、該復調されたデータを復号化することによって前記信号データを発生する、ＤＳＰ回路と、所定の誤り訂正符号に従って該信号データにおける誤りを訂正する、訂正回路と、
をさらに備えている。
【００２４】
本発明によるＣＤ−Ｒドライブ内に配置されたＣＤ−Ｒディスク上に信号データのセットを表す信号を記録する方法は、該信号データセットおよびコマンドを、ホストプロセッサから受け取るステップと、該コマンドをマイクロコントローラに送るステップと、該マイクロコントローラにおいて該コマンドに対応するインストラクションのセットを発生するステップと、該インストラクションのセットをフォーマッタに送るステップと、該フォーマッタにおいて該インストラクションセットのそれぞれから制御信号のセットを発生するステップと、該制御信号セットを記録回路に送るステップであって、該制御信号セットが、該記録回路に記録信号のセットを発生させる、ステップと、該記録信号を該ＣＤ−Ｒドライブに結合するステップであって、該記録信号が、該ＣＤ−Ｒドライブに該信号を該ＣＤ−Ｒディスク上へと記録させる、ステップと、を含んでおり、そのことにより上記目的が達成される。
【００２５】
ある実施形態では、前記インストラクションセットをバッファに格納するステップをさらに含む方法であって、該バッファに格納された該インストラクションセットが、前記フォーマッタにおいて請求項１に記載の制御信号セットを発生する前記ステップに与えられる。
【００２６】
ある実施形態では、ＡＴＩＰデコーダおよびサーチロジックにおいてアドレスを発生するステップであって、該アドレスが前記ＣＤ−Ｒディスクのセクタに対応している、ステップと、該アドレスを、前記フォーマッタにおいて発生する前記ステップに供給するステップであって、該フォーマッタにおいて発生する該ステップが、前記信号を該アドレスに記録させる制御信号を発生する、ステップと、をさらに含む。
【００２７】
以下に作用を説明する。
【００２８】
本発明は、コンピュータシステムに用いられるＣＤ−Ｒコントローラのかたちで実施されるものとして説明される。本発明によるＣＤ−Ｒコントローラは、ホストプロセッサから受け取られた信号データのセットを表す信号をＣＤ−Ｒディスク上に記録するための記録信号を発生する。このＣＤ−Ｒコントローラは、ホストプロセッサから信号データのセットとコマンドとを受け取るためのホストインタフェース回路を備えている。バッファマネージャは、ホストインタフェース回路からの信号データおよびコマンドを受け取り、そのコマンドをマイクロコントローラに送る。
【００２９】
マイクロコントローラは、そのコマンドに対応するインストラクションのセットを発生し、それらのインストラクションをバッファマネージャに送る。ＣＤ−Ｒコントローラは、さらに、ＣＤ−Ｒディスク上に信号データを表す信号を記録するための記録信号のセットを発生する記録回路を備えていてもよい。
【００３０】
本発明のフォーマッタ回路は、インストラクションのセットのそれぞれから制御信号のセットを発生する。この制御信号のセットは、記録回路に、記録信号のセットを発生させる。ＣＤ−Ｒコントローラにおけるフォーマッタ回路がこれらの制御信号を発生するので、マイクロコントローラにおけるパフォーマンス上の欠陥が、信号の記録に悪影響を与えることはなくなる。
【００３１】
このコンピュータシステムは、バッファマネージャに結合されたバッファをさらに備えていてもよい。バッファマネージャは、インストラクションのセットをマイクロコントローラから受け取り、そのインストラクションセットをバッファに格納する。その後、フォーマッタは、バッファからそれらのインストラクションを受け取り、制御信号のセットを発生する。本発明におけるコマンドは、キューシートを含みうる。
【００３２】
本発明によるＣＤ−Ｒコントローラは、フォーマッタ回路に結合されたＡＴＩＰデコーダおよびサーチロジックをさらに備えていてもよい。ＡＴＩＰデコーダおよびサーチロジックは、ＣＤ−Ｒディスク上のセクタアドレスを発生する。フォーマッタはこのアドレスを用いて、信号をそのアドレスに記録し、そのセクタに記録する。
【００３３】
ＣＤ−コントローラは、さらに、信号データをＣ１／Ｃ２フォーマットで符号化することによって、符号化されたデータを発生するエンコーダ回路を備えていてもよい。変調器は、符号化されたデータを８：１４モードのフォーマットに変調する。
【００３４】
ＣＤ−Ｒコントローラは、さらに、ＣＤ−Ｒディスク上に記録された信号を復調することによって、復調されたデータを発生するディジタル信号処理（ＤＳＰ）回路を備えていてもよい。このＤＳＰ回路は、復調されたデータを復号化することによって、信号データを発生する。訂正回路は、所定の誤り訂正符号に従って信号データにおける誤りを訂正する。
【００３５】
【発明の実施の形態】
図２を参照すると、本発明によるコンピュータシステム２００は、コマンド（例えばキューシート）に対応するインストラクションのセットを発生し、バス３５９を介してそれらのインストラクションを記録可能なコンパクトディスク（ＣＤ−Ｒ）用のコントローラ３００に送るマイクロコントローラ３９０を備えている。ＣＤ−Ｒコントローラ３００は、このようなインストラクションをバッファ３８０にバッファリングする。マイクロコントローラ３９０は、ＣＤ−Ｒフォーマッタ３４０を起動させる。すると、ＣＤ−Ｒフォーマッタ３４０は、これらのインストラクションに対するリクエストをバッファマネージャ３５０に発生する。これに応答して、バッファマネージャ３５０は、インストラクションのストリームを途切れなくＣＤ−Ｒフォーマッタ３４０に送る。すると、ＣＤ−Ｒフォーマッタ３４０は、これらのインストラクションから制御信号をＣＤ−Ｒドライブ３０６へと発生する。これらの制御信号は、ＣＤ−Ｒドライブ３０６に、信号データを表す信号をＣＤ−Ｒディスク上に記録させる。
【００３６】
ＣＤ−Ｒフォーマッタ３４０は、記録動作用の制御信号を発生するので、図１に示す従来の技術によるコンピュータシステム１００とは異なり、マイクロコントローラ３９０はパフォーマンス上の障害にはならない。本発明によるＣＤ−Ｒコントローラ３００のスループットパフォーマンスは、これに伴って改善される。その結果、ＣＤ−Ｒコントローラ３００には、マイクロコントローラ３９０におけるパフォーマンス上の障害が原因で信号データを記録しそこなうことがなくなる。
【００３７】
次に、図２および図５を参照すると、ＣＤ−Ｒコントローラ３００は、図５に示すフローチャートに従って記録機能を果たすことができる。ＣＤ−Ｒコントローラ３００は、バッファマネージャ３５０からインストラクションのセットを受け取り、記録回路３３０に対して制御信号を発生するＣＤ−Ｒフォーマッタ３４０を備えている。これらの制御信号は、記録回路３３０に、ＣＤ−Ｒドライブ３０６内に配置されたＣＤ−Ｒディスク上に信号を記録させる。マイクロコントローラ３９０は記録回路３３０に対して制御信号を発生しないので、たとえマイクロコントローラ３９０にパフォーマンス上の障害があったとしても、ＣＤ−Ｒコントローラ３００のスループットパフォーマンスはその悪影響を被ることがない。
【００３８】
ホストインタフェース３６０は、ステップ５１０において、バス３６１を介してホストプロセッサ３０５から信号データおよびコマンドを受け取る。バス３６１および３０１としては、例えばシステムバス、周辺バスのようないつかのバスが挙げられる。受け取られたコマンドには、例えば、従来の技術と同様のキューシートが含まれている。ホストインタフェース３６０は、バス３６１を介してコマンドおよびデータを受け取るに当たって、小型コンピュータシステムインタフェース（ＳＣＳＩ）やＡＴＡＰＩのような従来の規格を用いることができる。ホストインタフェース３６０は、バス３６５を介して信号データおよびコマンドを送る。
【００３９】
バッファマネージャ３５０は、バス３６５を介してコマンドおよび信号データを受け取り、受け取った信号データをバス３５８を介してバッファ３８０に格納する。本発明によるバッファマネージャ３５０は、さらに、ステップ５２０において、バス３５９を介してコマンドをマイクロコントローラ３９０に送ることができる。ステップ５３０では、マイクロコントローラ３９０は、ＲＯＭ３９１の内容にアクセスすることによって、それぞれのコマンドからインストラクションセットを発生する。
【００４０】
しかし、本発明によるマイクロコントローラ３９０は、ステップ５４０において、発生したインストラクションをバッファマネージャ３５０に送ることができる。よって、本発明によるマイクロコントローラ３９０は、従来の技術のようにすべての制御信号をＣＤ−Ｒコントローラ３００に対して発生するのではなく、インストラクションをバッファマネージャ３５０に送るだけである。マイクロコントローラ３９０はこのような制御信号を発生するので、マイクロコントローラ３９０は、従来の技術とは異なり、もはやコンピュータシステム１００におけるパフォーマンス上の障害ではなくなる。
【００４１】
バッファマネージャ３５０は、マイクロコントローラ３９０からインストラクションを受け取り、ステップ５５０において、受け取ったインストラクションをバッファ３８０に格納する。その後、バッファマネージャ３５０は、インストラクションをバッファ３８０から取り出し、ステップ５６０において、それらのインストラクションをＣＤ−Ｒフォーマッタ３４０に送る。また、バッファマネージャ３５０は、信号データをバッファ３８０から取り出し、その信号データを記録回路３３０に送る。
【００４２】
バッファ３８０としては、１６メガバイト以下の容量をもつＤＲＡＭが挙げられる。好ましい実施の形態では、バッファ３８０は１メガバイトＤＲＡＭである。バッファ３８０は、インストラクションおよび信号データを格納する。バッファマネージャ３５０は、バッファ３８０においてコマンドおよび信号データがそれぞれ格納されているメモリ位置を識別するための内部レジスタを備えていてもよい。バッファマネージャ３５０は、このようなレジスタに格納されたデータを用いることによって、インストラクションおよび信号データを格納し、リードする。
【００４３】
ステップ５７０では、ＣＤ−Ｒフォーマッタ３４０は、バッファマネージャ３５０から受け取ったインストラクションから記録回路３３０に対する制御信号を発生する。このような制御信号は、信号データを表す信号を記録回路３３０に記録させる。ＣＤ−Ｒフォーマッタ３４０は、バス２５４を介してセクタのアドレスを受け取る。また、ＣＤ−Ｒフォーマッタ３４０は、これに伴って、信号データを対応するセクタにライトする制御信号を発生する。
【００４４】
ＣＤ−Ｒフォーマッタ３４０は、バーストのかたちでいくつかのインストラクションをバッファマネージャ３５０から受け取ることができる。よって、信号データがエンコーダ２８０により受け取られる時に合わせて制御信号を発生することができる。バス３５８は、バッファ３８０と、バッファマネージャ３５０との間の高速インタフェースになるので、バッファマネージャ３５０は、インストラクションを十分に高いレートでＣＤ−Ｒフォーマッタ３４０に与えることができる。好ましい実施の形態では、ＣＤ−Ｒコントローラ３００と、マイクロコントローラ３９０と、ＲＡＭ３９２と、ＲＯＭ３９１と、ＣＤ−Ｒドライブ３０６と、バッファ３８０とは、ＣＤ−Ｒドライブシステムと称される単一のユニットに一体化される。
【００４５】
さらに図２を参照すると、好ましい実施の形態による記録回路３３０は、階層化されたＥＣＣ（誤り訂正符号）エンコーダ２８０と、セクタバッファ２７０および２６０と、ＣＩＲＣエンコーダ２３０と、ＥＦＭ変調器２２０と、ＡＴＩＰデコーダおよびサーチロジック２９０と、記録レーザタイミング制御２５０とを含んでいる。しかし、記録回路３３０は、本発明の範囲および精神から離れることなく、代わりにいくつかの形態でも実施可能であることは理解されたい。
【００４６】
階層化されたＥＣＣエンコーダ２８０は、ＣＤ−Ｒフォーマッタ３４０により指定されたフォーマットに従って信号データを符号化することによって、ＣＤ−Ｒディスクのセクタに格納されるデータ（以下、「セクタデータ」と称する）を発生する。このフォーマットは、ＣＤ−Ｒフォーマッタ３４０により受け取られたインストラクションにより指定されうる。このフォーマットは、すべてこの技術ではよく知られているイエローブックフォーマット、レッドブックフォーマット、グリーンブックフォーマット、およびオレンジブックフォーマットのうちのいずれか１つであればよい。このようなフォーマットは、コンピュータに典型的に存在する信号を符号化するために特別に設計されている。このようなフォーマットに関するさらなる情報は、Philips Consumer Electronics、5600 MD Eindhoven、オランダおよび（株）ソニー（Sony Corporation）、日本国東京都品川区北品川6-7-35から得ることができる。
【００４７】
また、これらのフォーマットにより、対応する誤り訂正符号を指定することもできる。好ましい実施の形態では、階層化されたＥＣＣエンコーダ２８０は、階層化された誤り訂正符号化（ＥＣＣ）スキームを用いる。このようなＥＣＣスキームは、要求されるエラーレート内で信号データを格納し、ＣＤ−Ｒディスクから取り出すことを可能にする。セクタバッファ２６０および２７０はそれぞれ、エンコーダ２８０が信号データを符号化するときのセクタデータをバッファリングするためのＳＲＡＭを備えている。
【００４８】
ＣＩＲＣエンコーダ２３０は、階層化されたＥＣＣエンコーダ２８０により発生された出力データをディジタルオーディオデータに（例えば、レッドブックフォーマットで）符号化する。ＣＩＲＣエンコーダ２３０は、ＣＤのディジタルオーディオ技術とバックワードコンパチブル（backward compatible）であるような符号化をさらにおこなう。ＣＩＲＣエンコーダ２３０は、オーディオデータを記録する際の誤り訂正符号に必要なバイトをさらに発生する。ＳＲＡＭ２４０は、ＣＩＲＣエンコーダ２３０が階層化されたＥＣＣエンコーダ２８０により発生された出力データを符号化する時に、中間データを格納するバッファとして作用する。
【００４９】
好ましい実施の形態では、ＣＩＲＣエンコーダ２３０は、この技術ではよく知られているＣ１／Ｃ２符号化スキーム（レッドブック）を用いる。Ｃ１／Ｃ２符号化は、信号データが、従来のオーディオＣＤにおいてオーディオデータを符号化するのに十分なエラーレートで再生されうるようにする。しかし、階層化されたＥＣＣエンコーダ２８０において実施される階層化された符号化スキームは、より低いエラーレートでの信号再生をも可能にする。よって、このスキームは、コンピュータアプリケーションにも適用可能である。
【００５０】
変調器２２０は、ＣＩＲＣエンコーダ２３０により符号化されたデータから８：１４変調（ＥＦＭ）データを発生する。変調器２２０は、また、ＣＤ−Ｒドライブ３０６内に配置されたＣＤ−Ｒディスク上に信号を記録するためのクロック信号を発生する。ＣＤ−Ｒフォーマッタはまた、記録レーザタイミング制御回路２５０に対する制御信号も発生する。このような制御信号は、信号が記録されるべき期間のあいだ、ＣＤ−Ｒドライブ３０６内の記録レーザ回路をオンにすることができる。変調器２２０の動作は、記録レーザタイミング制御回路２５０の動作と連係させることができる。
【００５１】
本発明によるＡＴＩＰ（プリグルーブにおける絶対時間）デコーダおよびサーチロジック２９０は、ＣＤ−Ｒフォーマッタ３４０に、ＣＤ−Ｒディスク上のセクタのアドレス情報を与える。ＣＤ−Ｒには、従来のＣＤ−ＲＯＭディスクとは異なりアドレス情報が記録されていないこともあるので、このようなアドレス情報がＣＤ−Ｒディスクには必要になることもある。好ましい実施の形態では、コンピュータシステム１００のユーザは、ターゲットセクタアドレスをプログラミングすることができる。
【００５２】
従来の技術では、マイクロコントローラ１６０は、このようなアドレス情報を受け取り、受け取ったその情報に基づいて制御信号を発生する。よって、本発明によるＣＤ−Ｒフォーマッタ３４０は、さらに、マイクロコントローラ３９０からいくつかのタスクを軽減することができるので、マイクロコントローラ３９０が、コンピュータシステム２００におけるパフォーマンス上の障害にならないようにすることができる。
【００５３】
本発明によるＣＤ−Ｒコントローラ３００は、さらに、ＤＳＰ（ディジタル信号処理）回路３７０と、デコーダ３１０と、ＣＤ−Ｒ（またはＣＤ−ＲＯＭ）ディスク上に記録された信号を復号化する階層化されたＥＣＣ訂正器３２０を備えている。なお、ＣＤ−Ｒコントローラ３００は、ＣＤ−ＲＯＭ（またはオーディオ）フォーマットでＣＤ−Ｒディスク上に信号データを記録するので、ＣＤ−ＲディスクからもＣＤ−ＲＯＭディスクからも信号を復号化できることは理解されたい。
【００５４】
ＣＤ−Ｒディスク上の信号を復号化しているあいだ、ＤＳＰ回路３７０は、例えばＥＦＭ変調や、ＣＩＲＣ復号化や、サーボ機能のようないくつかの機能を果たすことができる。当業者には理解できることであろうが、復調およびＣＩＲＣ復号化は、それぞれ変調器２２０およびＣＩＲＣエンコーダ２３０の逆の機能である。ある実施の形態では、ＤＳＰ回路３７０は、別のチップとしても実現可能である。
【００５５】
デコーダ３１０は、ＤＳＰ回路３７０により発生された出力データを復号化することによって、信号データを発生する。階層化されたＥＣＣ訂正器３２０は、階層化されたＥＣＣスキームを用いることによって復号化された信号データにおける誤りを訂正する。このような誤りは、記録または取り出しの間の信号データの記録、格納または転送の間にもたらされたものである。階層化されたＥＣＣエンコーダ２８０は、既に説明したような誤り訂正に必要な追加の情報をこれ以前に発生していてもよい。
【００５６】
よって、ＣＤ−Ｒコントローラ３００は、信号データから信号を記録し、記録された信号から信号データを発生することができる。ＣＤ−Ｒフォーマッタ３４０は、インストラクションから、信号を記録するための記録回路３３０に対する制御信号を発生する。
【００５７】
図３は、本発明によるＣＤ−Ｒコントローラ３００により用いられるインストラクションフォーマットを説明するインストラクション６００の図である。好ましい実施の形態では、それぞれのインストラクションは１６バイトである。インストラクション６００のバイト０および１（合計１６ビット）は、インストラクション６００に従って記録されうる信号データのセクタの個数を指定する。
【００５８】
ＣＤ−Ｒフォーマッタ３４０は、よって、インストラクション６００から、信号データのセクタの個数に対する制御信号を発生することができる。よって、本発明によるＣＤ−Ｒコントローラ３００は、各セクタに対する制御信号の発生についてはマイクロコントローラ３９０に依存しない。その結果、マイクロコントローラ３９０にパフォーマンススループット上の制約があっても、ＣＤ−Ｒコントローラ３００の記録スループットパフォーマンスの障害にはならない。
【００５９】
もしバイト２のビット７が０に設定されれば、インストラクション６００は、このような数のセクタを指定するのに１９ビットを用いることができる。外部レジスタによりさらに３ビットを供給することができる。バイト２のビット０〜３は、ＣＤ−Ｒディスクのフォーマットを制御するのに用いることができる。このような制御機能には、インストラクション６００に対応する最初のセクタまたは最後のセクタをフォーマットする間の割り込みの発生が含まれる。
【００６０】
バイト３は、ＣＤ−Ｒディスク上のメインチャネルの符号化を制御できる。ビット０〜２は、セクタのタイプ（例えば、イエローブック、レッドブックなど）を指定するのに用いることができる。ビット４は、メインチャネルに対する信号データのソース（例えば、バッファ３８０は、所定のレジスタにより指し示されたメモリ位置においてスタートする）を指定できる。ビット５は、セクタヘッダ情報を別のレジスタからロードすべきか、または単に以前のセクタヘッダ情報をインクリメントすべきかを指定することができる。ビット６は、階層化されたＥＣＣ符号化をイネーブルまたはディセーブルするのに用いることができる。このディセーブル機能は、テストを目的に設けられている。
【００６１】
バイト４および５は、ＣＤ−Ｒディスクのメインチャネルに対応する信号データの転送を制御することができる。バイト４における各ビットは、例えばシンクマークフィールド、ヘッダフィールド、サブヘッダフィールド、データフィールドおよびＥＣＣフィールドのような（セクタ内の）各種フィールドについてバッファ３８０からデータを取り出すべきかどうかを指定することができる。バイト５における対応するビットはそれぞれ、このようなフィールドにおけるデータをオーバーライトすべきかどうかを指定することができる。これらのフィールドは、固定されたパターンでオーバーライトされてもいいし、以前に指定されたレジスタからのデータでオーバーライトされてもよい。
【００６２】
バイト５におけるヘッダに対応するビットが１に設定されるのなら、バイト６は、ヘッダをオーバーライトするデータを供給しうる。バイト７および８は、サブコードの符号化を制御することができる。これらのビットは、例えば、サブコードデータ転送タイプ、サブＱ符号化モード、サブＰ符号化モードのような情報を指定することができる。
【００６３】
バイト１５は、４つのサブＱ  ＩＤ（０、１、２および３）の挿入を制御することができる。これらのＩＤには、例えば、国際シリアル記録符号（ＩＳＲＣ）や、カタログ番号や、ドライブＩＤコードや、著作権保護コードのような情報が含まれている。これらのビットは、対応するサブＱ  ＩＤ挿入がイネーブルされるかどうかを指定する。バイト１１〜１４はそれぞれ、ＩＤに対するサブＱ  ＩＤインデックスを指定することができる。このインデックスは、サブＱ  ＩＤに対するデータを格納しているバッファ３８０内のメモリ位置を計算するのに用いられうる。インストラクションフォーマットに関するより詳細な説明は、「ＳＨＡＲＡＫＵ ＣＬ−ＣＲ３５６０−改訂版Ａ、ＳＣＳＩ  ＣＤ−Ｒエンコーダ／デコーダ」と題された文献の第９章に述べられている。本願では、この文献の第９章を付録として添付する。
【００６４】
したがって、インストラクション６００に含まれている情報を用いることによって、ＣＤ−Ｒフォーマッタ３４０は、記録回路３３０に対して制御信号を発生することができる。記録回路３３０は、これらの制御信号に従って信号データを符号化し、信号をＣＤ−Ｒディスク上に記録する。このような信号は、ホストプロセッサ３０５から受け取られた信号データに対応する。ＣＤ−Ｒフォーマッタ３４０は、まず第一に記録回路３３０に対する制御信号を発生するように設計されうるので、ＣＤ−Ｒフォーマッタ３４０は、高いレートで受け取られた信号データを記録するのに十分なほど高いレートで制御信号を発生することができる。よって、すべての信号データを記録することができるので、記録された信号の品質は、満足のいくものになりうる。
【００６５】
以上に本発明を詳細に説明し記載したが、以上の説明は単に一例を挙げることを目的としてなされたものであり、これに限定されることを意図しているものではないこと、つまり、本発明の範囲および精神は、添付の請求の範囲の用語によってのみ限定されるものであることは、明確に理解していただきたい。
【００６６】
（付録： 写楽（ＳＨＡＲＡＫＵ）  ＣＬ−ＣＲ３５６０−改訂版Ａ  ＳＣＳＩ  ＣＤ−Ｒエンコーダ／デコーダ  予備仕様書  改訂版０．９１  １９９６年３月１８日）
９．フォーマッタインストラクション
９．１  フォーマッタインストラクションの記述
９．１．１  バイト０：ブロックカウントロー
ビット７：０  ブロックカウントロー：このバイトは、このインストラクションのブロックカウント（セクタ数）の下位バイト（ビット７〜０）を含む。
【００６７】
９．１．２  バイト１：ブロックカウントハイ
ビット７：０  ブロックカウントハイ：このバイトは、このインストラクションのブロックカウント（セクタ数）の上位バイト（ビット１５〜８）を含む。
【００６８】
９．１．３  バイト２：インストラクション制御
ビット７  拡張・ブロックカウント：もしこのビットがリセットされれば、現在のインストラクションのブロックカウントは１６ビット長となり、これは、フォーマッタインストラクションのバイト１および０からロードされる。もしこのビットがセットされれば、現在のインストラクションのブロックカウントは、１９ビット長に拡張される。このインストラクションブロックカウント拡張（Ｒｅｇ  ＤＤＨ［２：０］）は、この拡張されたブロックカウンタの上位３ビットとして用いられる。
【００６９】
ビット６：４  予約
ビット３  フォーマッタ割込み２：このビットがセットされたフォーマッタインストラクションが実行されると、フォーマッタ割込み２（レジスタＣＥＨ［３］）が発生される。
【００７０】
ビット２  フォーマッタ割込み１：このビットがセットされたフォーマッタインストラクションが実行されると、フォーマッタ割込み１（レジスタＣＥＨ［２］）が発生される。
【００７１】
ビット１  フォーマッタ割込みタイミング：このビットがリセットされる時には、インストラクションの最初のセクタの始めにフォーマッタ割込みが発生されることになる。セットされる時には、インストラクションの最後のセクタの始めにフォーマッタ割込みが発生されることになる。
【００７２】
ビット０  フォーマッタストップ：フォーマッタは、このビットがセットされたインストラクションの実行の後にストップすることになる。
【００７３】
９．１．４  バイト３：メインチャネル符号化制御
ビット７  予約
ビット６  ディセーブル・階層化されたＥＣＣ符号化：このビットがセットされる時、階層化されたＥＣＣの冗長計算がディセーブルされる。この制御ビットは、テスト目的のものにすぎない。
【００７４】
ビット５  ロードセクタヘッダ：このビットがセットされる時には、セクタヘッダレジスタは、インストラクションの始めに保持レジスタの内容によりアップデートされ、その後、すべてのセクタでインクリメントされ続ける。リセットされる時には、セクタヘッダレジスタは、すべてのセクタでインクリメントされ続ける。
【００７５】
ビット４  メインチャネルデータソースセレクト：このビットがリセットされる時には、フォーマッタは、ディスクアドレスポインタ（ＤＡＰ）によりアドレシングされたバッファからメインチャネルデータを取り出す。セットされる時には、メインチャネルデータは、交互ディスクアドレスポインタ（ＡＤＡＰ）から取り出される。
【００７６】
ビット３  ＸＡ  ＥＣＣ符号化モード：ＸＡタイプのセクタの場合（フォーム−１あるいはフォーム−２のいずれでも）、このビットがセットされる時には、ＥＣＣ符号化のタイプが、セクタのサブヘッダフィールド（第１８のバイト）におけるサブモードビットにより決定される。このビットがリセットされる時には、このレジスタのビット２：０におけるセクタタイプの選択のみにより決定される。
【００７７】
ビット２：０  セクタタイプ：これらのビットは、メインチャネルのセクタタイプを規定する。この情報は、データ転送のあいだのそれぞれのフィールドのサイズを決定するのに用いられ、また、ＥＣＣ符号化のセクタタイプを決定するのにも用いられる。
【００７８】
０００＝ＣＤオーディオ
１００＝モード−０またはモード−２
１０１＝モード−１
１１０＝モード−２、フォーム−１
１１１＝モード−２、フォーム−２
９．１．５  バイト４：メインチャネルデータ転送制御
ビット７  予約
ビット６：０  メインチャネルデータ転送制御：それぞれのビットは、ＣＤ−ＲＯＭ符号化のあいだ、バッファメモリ（ＤＡＰまたはＡＤＡＰのいずれか）からのセクタの対応するフィールドの取り出しを制御する。それぞれのビットの１は、バッファメモリからのデータ転送をイネーブルする。それぞれのビットの０は、バッファメモリからのデータ転送を抑制する。バッファからデータを転送しない場合、対応するフィールドは、フォーマッタにより発生されたデータによりオーバーライトされる必要がある（インストラクションバイト５は、データを発生するのに用いられるうる）。データフィールド（ビット４）のサイズおよびどのフィールドがイネーブルされうるかは、インストラクションバイト３のビット２：０により選択されたセクタタイプに依存している。
【００７９】
ビット６＝シンクマーク（１２バイト）を転送
ビット５＝ヘッダフィールド（４バイト）を転送
ビット４＝サブヘッダフィールド（８バイト）を転送
ビット３＝データフィールド（２０４８、２３２４、２３３６または２３５２バイト）を転送
ビット２＝ＥＤＣフィールド（４バイト）を転送
ビット１＝ゼロフィールド（８バイト）を転送
ビット０＝ＥＣＣフィールド（２７６バイト）を転送
９．１．６  バイト５：メインチャネルデータオーバーライト制御
ビット７  予約
ビット６：０  メインチャネルデータオーバーライト制御：それぞれのビットは、ＣＤ−ＲＯＭ符号化のあいだ、セクタの対応するフィールドのオーバーライト機能をイネーブルまたはディセーブルする。それぞれのビットの１は、対応するフィールドを固定されたパターン（複数の０またはレジスタの内容）でオーバーライトすることをイネーブルする。それぞれのビットの０は、オーバーライトをディセーブルする。データフィールド（ビット１）のサイズおよびどのフィールドがイネーブルされうるかは、インストラクションバイト３のビット２：０により選択されたセクタタイプに依存している。
【００８０】
ビット６＝シンクパターン（１２バイト）によりオーバーライト
ビット５＝ヘッダを現在のセクタヘッダ（レジスタＤ０Ｈ−Ｄ２Ｈ）およびインストラクションバイト６におけるモードバイト（４バイト）によりオーバーライト
ビット４＝サブヘッダ（８バイト）をオーバーライト
ビット３＝データフィールドを複数の０（２０４８、２３２４、２３３６または２３５２バイト）でオーバーライト
ビット２＝予約
ビット１＝ゼロフィールドを複数の０（８バイト）でオーバーライト
ビット０＝ＥＤＣ／ＥＣＣ（４＋２７６バイト）を発生
注：サブヘッダの場合、複数の００Ｈからなる８バイトは、モード−２、フォーム−１に合わせてオーバーライトされる。固定されたパターン「００Ｈ、００Ｈ、２０Ｈ、００Ｈ、００Ｈ、００Ｈ、２０Ｈ、００Ｈ」は、モード−２、フォーム−２に合わせてオーバーライトされる。
【００８１】
９．１．７  バイト６：ヘッダモードバイト
ビット７：０  ヘッダモードバイト：このバイトは、もしインストラクションバイト５のビット３がセットされれば、ＣＤ−ＲＯＭ符号化のあいだ、セクタヘッダにおけるモードバイトをオーバーライトするのに用いられる。
【００８２】
９．１．８  バイト７：サブコード符号化制御１
ビット７：予約
ビット６：ディセーブル・サブ−Ｑ  ＣＲＣ発生：このビットがセットされる時、もしサブ−Ｑがホストから転送されれば、サブ−Ｑ  ＣＲＣ冗長計算は、ディセーブルされる。このビットは、テストのためのものにすぎない。
【００８３】
ビット５：４  サブ−Ｑ符号化モード：これらのビットは、サブコード符号化のあいだサブ−Ｑコードのソースを指定する。
【００８４】
００＝オーバーライト禁止、ホストからのデータを使用
０１＝インストラクションにより発生されたデータによりオーバーライト
１０＝ＴＯＣアドレスポインタからのデータによりオーバーライト
１１＝予約
ビット３：２  サブＰ符号化モード：これらのビットは、サブコード符号化のあいだサブＰコードへのオーバーライトを制御する。
【００８５】
００＝オーバーライト禁止、ホストからのデータを使用
０１＝トグルされた０／１（２Ｈｚ、１から始まる）によりオーバーライト
１０＝すべて０によりオーバーライト
１１＝すべて１によりオーバーライト
ビット１：０  サブコードデータ転送タイプ：これらのビットは、ホストからのデータ転送のあいだのサブコードのタイプを制御する。
【００８６】
０Ｘ＝ホストからのサブコードデータなし
１０＝サブＱデータ（１６バイト）
１１＝すべてのサブコードデータ（９６バイト）
９．１．９  バイト８：サブコード符号化制御２
ビット７：６  予約
ビット５  Ｒ−タイムディレクション：このビットがリセットされる時には、サブＱ  Ｒ−タイム（レジスタＸＸＨ）がすべてのセクタでインクリメントされる。セットされる時には、Ｒ−タイムがすべてのセクタでデクリメントされる。
【００８７】
ビット４  Ｒ−タイムロード：このビットがセットされる時には、インストラクションの始めに、サブＱ  Ｒ−タイム（レジスタＸＸＨ）には保持レジスタからの新しい値がロードされ、すべてのセクタにおいてインクリメントまたはデクリメントされ続ける。リセットされる時には、新しい値がロードされず、Ｒ−タイムはインクリメントまたはデクリメントされる。
【００８８】
ビット３  Ａ−タイムロード：このビットがセットされる時には、インストラクションの始めに、サブＱ  Ａ−タイム（レジスタＸＸＨ）には保持レジスタからの新しい値がロードされ、すべてのセクタにおいてインクリメントされ続ける。リセットされる時には、新しい値がロードされず、Ａ−タイムはインクリメントされる。
【００８９】
ビット２  イネーブル・サブコードＲ−Ｗインタリーブ：このビットがセットされる時には、サブコードＲ−Ｗデータは、記録のあいだインタリーブされる。
【００９０】
ビット１  イネーブル・サブコードＲ−Ｗ  ＥＣＣ符号化：このビットがセットされる時には、符号化サブコードＲ−Ｗ  ＥＣＣがイネーブルされる。リセットされる時には、サブコードＲ−Ｗ  ＥＣＣはディセーブルされる。
【００９１】
ビット０  イネーブルコピー交互：このビットがセットされる時には、コピービット（サブＱにおける制御フィールド内の第３ビット）は、４つのセクタ毎に０および１を交互にとる。
【００９２】
９．１．１０  バイト９：デフォールトサブＱインデックスロー
ビット７：０  デフォールトサブＱインデックスロー：このレジスタは、何らかのサブＱ  ＩＤが挿入されない限り、デフォールトサブＱコードとして用いられる１６ビットインデックスナンバのローバイト（ビット７〜０）を含む。
【００９３】
９．１．１１  バイト１０：デフォールトサブＱインデックスハイ
ビット７：０  デフォールトサブＱインデックスハイ：このレジスタは、何らかのサブＱ  ＩＤが挿入されない限り、デフォールトサブＱコードとして用いられる１６ビットインデックスナンバのハイバイト（ビット１５〜８）を含む。
【００９４】
９．１．１２  バイト１１：サブＱ  ＩＤ１インデックス
ビット７：０  サブＱ  ＩＤ１インデックス：このインデックスは、サブＱ  ＩＤ１カウンタがサブＱ  ＩＤ１インタバルカウント（レジスタＸＸＨ）と一致する時、バッファメモリ内のどのサブＱ  ＩＤが符号化に用いられるかを指定する。バッファ内での１０バイトのサブＱ  ＩＤの実際の位置は、以下の方程式により計算される。
【００９５】
サブＱ  ＩＤアドレス＝ベース＋（インデックス×１０）
９．１．１３  バイト１２：サブＱ  ＩＤ２インデックス
ビット６：０  サブＱ  ＩＤ２インデックス：このインデックスは、サブＱ  ＩＤ２カウンタがサブＱ  ＩＤ２インタバルカウント（レジスタＸＸＨ）と一致する時、バッファメモリ内のどのサブＱ  ＩＤが符号化に用いられるかを指定する。バッファ内での１０バイトのサブＱ  ＩＤの実際の位置は、以下の方程式により計算される。
【００９６】
サブＱ  ＩＤアドレス＝ベース＋（インデックス×１０）
９．１．１４  バイト１３：サブＱ  ＩＤ３インデックス
ビット７：０  サブＱ  ＩＤ３インデックス：このインデックスは、サブＱ  ＩＤ３カウンタがサブＱ  ＩＤ３インタバルカウント（レジスタＸＸＨ）と一致する時、バッファメモリ内のどのサブＱ  ＩＤが符号化に用いられるかを指定する。バッファ内での１０バイトのサブＱ  ＩＤの実際の位置は、以下の方程式により計算される。
【００９７】
サブＱ  ＩＤアドレス＝ベース＋（インデックス×１０）
９．１．１５  バイト１４：サブＱ  ＩＤ４インデックス
ビット７：０  サブＱ  ＩＤ４インデックス：このインデックスは、サブＱ  ＩＤ４カウンタがサブＱ  ＩＤ４インタバルカウント（レジスタＸＸＨ）と一致する時、バッファメモリ内のどのサブＱ  ＩＤが符号化に用いられるかを指定する。バッファ内での１０バイトのサブＱ  ＩＤの実際の位置は、以下の方程式により計算される。
【００９８】
サブＱ  ＩＤアドレス＝ベース＋（インデックス×１０）
９．１．１６  バイト１５：サブＱ  ＩＤ挿入制御
ビット７  サブＱ  ＩＤ４カウンタロード：このビットがセットされる時には、サブＱ  ＩＤ４カウンタは、インストラクションの始めに、サブＱ  ＩＤ４オフセットレジスタの内容により初期化され、その後、すべてのセクタにおいて連続的にインクリメントされる。リセットされる時には、サブＱ  ＩＤ４カウンタは、インストラクションのあいだは初期化されず、すべてのセクタにおいて連続的にインクリメントされる。
【００９９】
ビット６  サブＱ  ＩＤ４挿入イネーブル：このビットがセットされる時には、サブＱ  ＩＤ４挿入がイネーブルされる。リセットされる時には、サブＱ  ＩＤ４はディセーブルされる。
【０１００】
ビット５  サブＱ  ＩＤ３カウンタロード：このビットがセットされる時には、サブＱ  ＩＤ３カウンタは、インストラクションの始めに、サブＱ  ＩＤ３オフセットレジスタの内容により初期化され、その後、すべてのセクタにおいて連続的にインクリメントされる。リセットされる時には、サブＱ  ＩＤ３カウンタは、インストラクションのあいだは初期化されず、すべてのセクタにおいて連続的にインクリメントされる。
【０１０１】
ビット４  サブＱ  ＩＤ３挿入イネーブル：このビットがセットされる時には、サブＱ  ＩＤ３挿入がイネーブルされる。リセットされる時には、サブＱ  ＩＤ３はディセーブルされる。
【０１０２】
ビット３  サブＱ  ＩＤ２カウンタロード：このビットがセットされる時には、サブＱ  ＩＤ２カウンタは、インストラクションの始めに、サブＱ  ＩＤ２オフセットレジスタの内容により初期化され、その後、すべてのセクタにおいて連続的にインクリメントされる。リセットされる時には、サブＱ  ＩＤ２カウンタは、インストラクションのあいだは初期化されず、すべてのセクタにおいて連続的にインクリメントされる。
【０１０３】
ビット２  サブＱ  ＩＤ２挿入イネーブル：このビットがセットされる時には、サブＱ  ＩＤ２挿入がイネーブルされる。リセットされる時には、サブＱ  ＩＤ２はディセーブルされる。
【０１０４】
ビット１  サブＱ  ＩＤ１カウンタロード：このビットがセットされる時には、サブＱ  ＩＤ１カウンタは、インストラクションの始めに、サブＱ  ＩＤ１オフセットレジスタの内容により初期化され、その後、すべてのセクタにおいて連続的にインクリメントされる。リセットされる時には、サブＱ  ＩＤ１カウンタは、インストラクションのあいだは初期化されず、すべてのセクタにおいて連続的にインクリメントされる。
【０１０５】
ビット０  サブＱ  ＩＤ１挿入イネーブル：このビットがセットされる時には、サブＱ  ＩＤ１挿入がイネーブルされる。リセットされる時には、サブＱ  ＩＤ１はディセーブルされる。
【０１０６】
９．２  フォーマッタインストラクションの要旨
フォーマッタインストラクションを表１〜表４に示す。
【０１０７】
【表１】
0004531146.tif 000002
【０１０８】
【表２】
0004531146.tif 000003
【０１０９】
【表３】
0004531146.tif 000004
【０１１０】
【表４】
0004531146.tif 000005
【０１１１】
【発明の効果】
本発明によれば、十分なスループットパフォーマンスをもち、十分な速度で制御信号を発生することができるＣＤ−Ｒコントローラを提供することができる。
【図面の簡単な説明】
【図１】ＣＤ−Ｒコントローラと、ホストプロセッサと、ＣＤ−Ｒドライブと、マイクロコントローラと、ＲＡＭと、ＲＯＭとを備えた従来の技術によるコンピュータシステムのブロック図である。
【図２】ＣＤ−Ｒフォーマッタおよび記録回路を含む本発明によるコンピュータシステムのブロック図である。
【図３】本発明のＣＤ−Ｒフォーマッタにより、記録回路へと制御信号を発生するのに用いられるインストラクションのフォーマットを示す図である。
【図４】ＣＤ−Ｒディスク上に、信号データを表す信号を記録するためにコンピュータシステムにより用いられる従来技術の方法を示すフローチャートである。
【図５】ＣＤ−Ｒディスク上に、ホストから受け取られた信号データを表す信号を記録するために本発明によるコンピュータシステムにより用いられる方法を示すフローチャートである。
【符号の説明】
２２０  ＥＦＭ変調器
２３０  ＣＩＲＣエンコーダ
２４０  ＳＲＡＭ−Ｃ
２５０  記録レーザタイミング制御
２６０  セクタバッファ
２７０  セクタバッファ
２８０  階層化されたＥＣＣエンコーダ
２９０  ＡＴＩＰデコーダおよびサーチロジック
３００  ＣＤ−Ｒコントローラ
３０５  ホストプロセッサ
３０６  ＣＤ−Ｒドライブ
３１０  デコーダ
３２０  階層化されたＥＣＣ訂正
３５０  バッファマネージャ
３６０  ホストインタフェース
３８０  バッファ
３９０  マイクロコントローラ
３９１  ＲＯＭ
３９２  ＲＡＭ
【図１】
0004531146.tif 000006
【図２】
0004531146.tif 000007
【図３】
0004531146.tif 000008
【図４】
0004531146.tif 000009
【図５】
0004531146.tif 000010