(57)【特許請求の範囲】
【請求項１】
データが記録可能な情報記録媒体の記録領域にデータを記録する記録手段と、該記録手段によってデータ記録後の記録領域からデータを再生して欠陥を検出するベリファイ処理を行うベリファイ手段と、前記情報記録媒体に対してデータの記録又は再生を行う際にリング開始ポインタとリング終了ポインタが設定可能なリングバッファリング方式で前記データを一時的に記憶する一時記憶手段と、該一時記憶手段の記憶領域を少なくとも前記情報記録媒体へ記録するデータを記憶する記録データ記憶用領域と前記ベリファイ手段によって再生されたデータを記憶するベリファイ用記憶領域とに分割し、前記記録データ記憶用領域にリング開始ポインタとリング終了ポインタとを設定してリングバッファリング方式で前記情報記録媒体に記録するデータを記憶させ、前記ベリファイ用記憶領域にリング開始ポインタとリング終了ポインタとを設定してリングバッファリング方式で前記ベリファイ手段によって再生した記録データを記憶させる制御手段とを有し、
前記制御手段に、データ記録開始時に前記記録データ記憶用領域のリング開始ポインタとリング終了ポインタとを設定してデータの記録を開始し、データ記録が完了した場合、前記ベリファイ用記憶領域のリング開始ポインタとリング終了ポインタとを設定してベリファイ処理を開始する手段を設けたことを特徴とする情報記録装置。
【請求項２】
データが記録可能な情報記録媒体の記録領域にデータを記録する記録手段と、前記情報記録媒体の記録領域に記録されたデータを再生する再生手段と、前記情報記録媒体に対してデータの記録又は再生を行う際にリング開始ポインタとリング終了ポインタが設定可能なリングバッファリング方式で前記データを一時的に記憶する一時記憶手段と、該一時記憶手段の記憶領域を少なくとも前記情報記録媒体へ記録するデータを記憶する記録データ記憶用領域と前記情報記録媒体から再生したデータを記憶する再生データ記憶用領域とに分割し、前記記録データ記憶用領域にリング開始ポインタとリング終了ポインタとを設定して前記リングバッファリング方式で前記情報記録媒体に記録するデータを記憶させ、前記記録手段によってデータ記録中に再生要求を受けた場合は前記再生データ記憶用領域にリング開始ポインタとリング終了ポインタとを設定して前記リングバッファリング方式で前記再生手段によって前記情報記録媒体から再生したデータを記憶させる制御手段とを有し、
前記制御手段に、データ記録開始時に前記記録データ記憶用領域のリング開始ポインタとリング終了ポインタとを設定してデータの記録を開始し、データ記録が完了した場合、前記再生データ記憶用領域のリング開始ポインタとリング終了ポインタとを設定して再生処理を開始する手段を設けたことを特徴とする情報記録装置。
【請求項３】
データが記録可能な情報記録媒体の記録領域にデータを記録する記録工程と、該記録工程によってデータ記録後の記録領域からデータを再生して欠陥を検出するベリファイ処理を行うベリファイ工程と、前記情報記録媒体に対してデータの記録又は再生を行う際にリング開始ポインタとリング終了ポインタが設定可能なリングバッファリング方式で前記データを一時的に記憶する一時記憶手段の記憶領域を、少なくとも前記情報記録媒体へ記録するデータを記憶する記録データ記憶用領域と前記ベリファイ手段によって再生されたデータを記憶するベリファイ用記憶領域とに分割し、前記記録データ記憶用領域にリング開始ポインタとリング終了ポインタとを設定してリングバッファリング方式で前記情報記録媒体に記録するデータを記憶させ、前記ベリファイ用記憶領域にリング開始ポインタとリング終了ポインタとを設定してリングバッファリング方式で前記ベリファイ工程によって再生した記録データを記憶させる制御工程とを有し、
前記制御工程に、データ記録開始時に前記記録データ記憶用領域のリング開始ポインタとリング終了ポインタとを設定してデータの記録を開始し、データ記録が完了した場合、前記ベリファイ用記憶領域のリング開始ポインタとリング終了ポインタとを設定してベリファイ処理を開始する工程を設けたことを特徴とする情報記録方法。
【請求項４】
データが記録可能な情報記録媒体の記録領域にデータを記録する記録工程と、前記情報記録媒体の記録領域に記録されたデータを再生する再生工程と、前記情報記録媒体に対してデータの記録又は再生を行う際にリング開始ポインタとリング終了ポインタが設定可能なリングバッファリング方式で前記データを一時的に記憶する一時記憶手段の記憶領域を、少なくとも前記情報記録媒体へ記録するデータを記憶する記録データ記憶用領域と前記情報記録媒体から再生したデータを記憶する再生データ記憶用領域とに分割し、前記記録データ記憶用領域にリング開始ポインタとリング終了ポインタを設定してリングバッファリング方式で前記情報記録媒体に記録するデータを記憶させ、前記記録工程によってデータ記録中に再生要求を受けた場合は前記再生データ記憶用領域にリング開始ポインタとリング終了ポインタを設定してリングバッファリング方式で前記再生工程によって前記情報記録媒体から再生したデータを記憶させる制御工程とを有し、
前記制御工程に、データ記録開始時に前記記録データ記憶用領域のリング開始ポインタとリング終了ポインタとを設定してデータの記録を開始し、データ記録が完了した場合、前記再生データ記憶用領域のリング開始ポインタとリング終了ポインタとを設定して再生処理を開始する工程を設けたことを特徴とする情報記録方法。
【請求項５】
コンピュータに、データが記録可能な情報記録媒体の記録領域にデータを記録する記録手順と、該記録手順によってデータ記録後の記録領域からデータを再生して欠陥を検出するベリファイ処理を行うベリファイ手順と、前記情報記録媒体に対してデータの記録又は再生を行う際にリング開始ポインタとリング終了ポインタが設定可能なリングバッファリング方式で前記データを一時的に記憶する一時記憶手順と、該一時記憶手順の記憶領域を少なくとも前記情報記録媒体へ記録するデータを記憶する記録データ記憶用領域と前記ベリファイ手順によって再生されたデータを記憶するベリファイ用記憶領域とに分割し、前記記録データ記憶用領域にリング開始ポインタとリング終了ポインタとを設定してリングバッファリング方式で前記情報記録媒体に記録するデータを記憶させ、前記ベリファイ用記憶領域にリング開始ポインタとリング終了ポインタとを設定してリングバッファリング方式で前記ベリファイ手順によって再生した記録データを記憶させる制御手順とを実行させるためのプログラムであって、
前記制御手順に、データ記録開始時に前記記録データ記憶用領域のリング開始ポインタとリング終了ポインタとを設定してデータの記録を開始し、データ記録が完了した場合、前記ベリファイ用記憶領域のリング開始ポインタとリング終了ポインタとを設定してベリファイ処理を開始する手順を設けたプログラム。
【請求項６】
コンピュータに、データが記録可能な情報記録媒体の記録領域にデータを記録する記録手順と、前記情報記録媒体の記録領域に記録されたデータを再生する再生手順と、前記情報記録媒体に対してデータの記録又は再生を行う際にリング開始ポインタとリング終了ポインタが設定可能なリングバッファリング方式で前記データを一時的に記憶する一時記憶手順と、該一時記憶手順の記憶領域を少なくとも前記情報記録媒体へ記録するデータを記憶する記録データ記憶用領域と前記情報記録媒体から再生したデータを記憶する再生データ記憶用領域とに分割し、前記記録データ記憶用領域にリング開始ポインタとリング終了ポインタを設定してリングバッファリング方式で前記情報記録媒体に記録するデータを記憶させ、前記記録手順によってデータ記録中に再生要求を受けた場合は前記再生データ記憶用領域にリング開始ポインタとリング終了ポインタを設定してリングバッファリング方式で前記再生手順によって前記情報記録媒体から再生したデータを記憶させる制御手順とを実行させるためのプログラムであって、
前記制御手順に、データ記録開始時に前記記録データ記憶用領域のリング開始ポインタとリング終了ポインタとを設定してデータの記録を開始し、データ記録が完了した場合、前記再生データ記憶用領域のリング開始ポインタとリング終了ポインタとを設定して再生処理を開始する手順を設けたプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、情報記録媒体に対してデータの記録又は再生を行う情報記録装置に関し、特に、データ記録の形態に応じてデータ格納メモリを分割して効率的なデータ格納を実現する情報記録装置，記録ブロック以下の単位でのデータ記録やベリファイ処理を伴うデータ記録あるいはタイムシフト再生といった複雑なデータ記録を行う情報記録装置と、情報記録方法と、プログラムとに関する。
【背景技術】
【０００２】
ＣＤ−ＲＷディスクやＤＶＤ＋ＲＷディスクなどの記録型ディスクに対してデータの記録又は再生を行う情報記録装置では、装置内部にデータを一時的に格納するキャッシュメモリを備えて処理の高速化を図る装置が多い。
例えば、ユーザからの連続した記録要求では、データを一旦装置内のキャッシュメモリに格納し、キャッシュメモリ内にデータがある程度格納された時点でディスクへの記録を開始し、キャッシュメモリ内にデータが無くなると記録処理を中断して、再びキャッシュメモリ内に一定量のデータが格納されることを待つといった処理を繰り返している。
また、データ記録中もキャッシュメモリの空き具合を監視して、空きがあればユーザからのデータを受信して、記録処理の中断が極力発生しないようにしている。
【０００３】
ところで、このような情報記録装置の普及に伴い、その処理の高機能化が図られており、データ記録処理も複雑化している。例えば、以下の（１）〜（４）に示すような場合において、単一のキャッシュメモリを備えたのみでは高速な記録処理を実現することは難しく、効率的なデータ記録を行うためには複数のメモリが必要になる場合がある。
（１）記録ブロックに満たない単位でデータ記録を行う場合
（２）ベリファイ処理を伴うデータ記録を行う場合
（３）記録ブロック以下の単位で交替を行う場合
（４）タイムシフト再生を行う場合
【０００４】
例えば、上記のような記録処理を行う場合、複数のキャッシュメモリを備えることによって効率的な記録処理を行うことが可能であるが、キャッシュメモリの増加に伴って製造コストも増加してしまう。
一方、現在備えられているキャッシュメモリを分割的に使用することにより、擬似的に複数のキャッシュメモリを備えることも可能である。
【０００５】
従来、メモリを複数の分割領域に分割してデータを格納するものとして、メモリの種類としてセグメントキャッシュ方式のメモリを対象とし、全キャッシュメモリ容量やセグメント管理用メモリの容量などから、分割するセグメント数や個々の分割メモリサイズを予め設定し、さらに個々の分割メモリのデータ格納状態を管理する管理情報をセグメント管理用メモリに格納する情報記録装置（例えば、特許文献１参照）があった。
【特許文献１】特開平１０−６３５７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の情報記録装置では、個々の分割メモリがセグメントキャッシュ方式で使用されるため、それぞれの分割メモリに対して複雑なメモリ管理を必要とし、例えば記録ブロック単位で連続的に記録を行うようなデータ記録に対しては適切でないという問題があった。
また、上記のような複雑な記録動作を伴わないデータ記録に対してはキャッシュメモリを分割する必要はなく、その全領域を記録データ格納用に使用して、キャッシュメモリ内の記録データがなくなることによる記録中断を極力避けるようにすることが望ましい。
この発明は上記の点に鑑みてなされたものであり、データが記録可能な情報記録媒体に対して記録又は再生するデータを一時的に記憶するメモリを有効に活用してデータ記録の中断を極力少なくできるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
この発明は上記の目的を達成するため、次の（１）と（２）の情報記録装置を提供する。
（１）データが記録可能な情報記録媒体の記録領域にデータを記録する記録手段と、該記録手段によってデータ記録後の記録領域からデータを再生して欠陥を検出するベリファイ処理を行うベリファイ手段と、前記情報記録媒体に対してデータの記録又は再生を行う際にリング開始ポインタとリング終了ポインタが設定可能なリングバッファリング方式で上記データを一時的に記憶する一時記憶手段と、その一時記憶手段の記憶領域を少なくとも上記情報記録媒体へ記録するデータを記憶する記録データ記憶用領域と上記ベリファイ手段によって再生されたデータを記憶するベリファイ用記憶領域とに分割し、上記記録データ記憶用領域にリング開始ポインタとリング終了ポインタとを設定してリングバッファリング方式で上記情報記録媒体に記録するデータを記憶させ、上記ベリファイ用記憶領域にリング開始ポインタとリング終了ポインタとを設定してリングバッファリング方式で上記ベリファイ手段によって再生した記録データを記憶させる制御手段を有し、上記制御手段に、データ記録開始時に上記記録データ記憶用領域のリング開始ポインタとリング終了ポインタとを設定してデータの記録を開始し、データ記録が完了した場合、上記ベリファイ用記憶領域のリング開始ポインタとリング終了ポインタとを設定してベリファイ処理を開始する手段を設けた情報記録装置。
【００１２】
（２）データが記録可能な情報記録媒体の記録領域にデータを記録する記録手段と、上記情報記録媒体の記録領域に記録されたデータを再生する再生手段と、上記情報記録媒体に対してデータの記録又は再生を行う際にリング開始ポインタとリング終了ポインタが設定可能なリングバッファリング方式で上記データを一時的に記憶する一時記憶手段と、その一時記憶手段の記憶領域を少なくとも上記情報記録媒体へ記録するデータを記憶する記録データ記憶用領域と上記情報記録媒体から再生したデータを記憶する再生データ記憶用領域とに分割し、上記記録データ記憶用領域にリング開始ポインタとリング終了ポインタとを設定して上記リングバッファリング方式で上記情報記録媒体に記録するデータを記憶させ、上記記録手段によってデータ記録中に再生要求を受けた場合は上記再生データ記憶用領域にリング開始ポインタとリング終了ポインタとを設定して上記リングバッファリング方式で上記再生手段によって上記情報記録媒体から再生したデータを記憶させる制御手段を有し、上記制御手段に、データ記録開始時に上記記録データ記憶用領域のリング開始ポインタとリング終了ポインタとを設定してデータの記録を開始し、データ記録が完了した場合、上記再生データ記憶用領域のリング開始ポインタとリング終了ポインタとを設定して再生処理を開始する手段を設けた情報記録装置。
【００１３】
また、次の（３）と（４）の情報記録方法も提供する。
（３）データが記録可能な情報記録媒体の記録領域にデータを記録する記録工程と、その記録工程によってデータ記録後の記録領域からデータを再生して欠陥を検出するベリファイ処理を行うベリファイ工程と、上記情報記録媒体に対してデータの記録又は再生を行う際にリング開始ポインタとリング終了ポインタが設定可能なリングバッファリング方式で上記データを一時的に記憶する一時記憶手段の記憶領域を、少なくとも上記情報記録媒体へ記録するデータを記憶する記録データ記憶用領域と上記ベリファイ手段によって再生されたデータを記憶するベリファイ用記憶領域とに分割し、上記記録データ記憶用領域にリング開始ポインタとリング終了ポインタとを設定してリングバッファリング方式で上記情報記録媒体に記録するデータを記憶させ、上記ベリファイ用記憶領域にリング開始ポインタとリング終了ポインタとを設定してリングバッファリング方式で上記ベリファイ工程によって再生した記録データを記憶させる制御工程を有し、上記制御工程に、データ記録開始時に上記記録データ記憶用領域のリング開始ポインタとリング終了ポインタとを設定してデータの記録を開始し、データ記録が完了した場合、上記ベリファイ用記憶領域のリング開始ポインタとリング終了ポインタとを設定してベリファイ処理を開始する工程を設けた情報記録方法。
【００１８】
（４）データが記録可能な情報記録媒体の記録領域にデータを記録する記録工程と、上記情報記録媒体の記録領域に記録されたデータを再生する再生工程と、上記情報記録媒体に対してデータの記録又は再生を行う際にリング開始ポインタとリング終了ポインタが設定可能なリングバッファリング方式で上記データを一時的に記憶する一時記憶手段の記憶領域を、少なくとも上記情報記録媒体へ記録するデータを記憶する記録データ記憶用領域と上記情報記録媒体から再生したデータを記憶する再生データ記憶用領域とに分割し、上記記録データ記憶用領域にリング開始ポインタとリング終了ポインタを設定してリングバッファリング方式で上記情報記録媒体に記録するデータを記憶させ、上記記録工程によってデータ記録中に再生要求を受けた場合は上記再生データ記憶用領域にリング開始ポインタとリング終了ポインタを設定してリングバッファリング方式で上記再生工程によって上記情報記録媒体から再生したデータを記憶させる制御工程を有し、上記制御工程に、データ記録開始時に上記記録データ記憶用領域のリング開始ポインタとリング終了ポインタとを設定してデータの記録を開始し、データ記録が完了した場合、上記再生データ記憶用領域のリング開始ポインタとリング終了ポインタとを設定して再生処理を開始する工程を設けた情報記録方法。
【００１９】
さらに、次の（５）と（６）のプログラムも提供する。
（５）コンピュータに、データが記録可能な情報記録媒体の記録領域にデータを記録する記録手順と、該記録手順によってデータ記録後の記録領域からデータを再生して欠陥を検出するベリファイ処理を行うベリファイ手順と、上記情報記録媒体に対してデータの記録又は再生を行う際にリング開始ポインタとリング終了ポインタが設定可能なリングバッファリング方式で上記データを一時的に記憶する一時記憶手順と、その一時記憶手順の記憶領域を少なくとも上記情報記録媒体へ記録するデータを記憶する記録データ記憶用領域と上記ベリファイ手順によって再生されたデータを記憶するベリファイ用記憶領域とに分割し、上記記録データ記憶用領域にリング開始ポインタとリング終了ポインタとを設定してリングバッファリング方式で上記情報記録媒体に記録するデータを記憶させ、上記ベリファイ用記憶領域にリング開始ポインタとリング終了ポインタとを設定してリングバッファリング方式で上記ベリファイ手順によって再生した記録データを記憶させる制御手順を実行させるためのプログラムであって、上記制御手順に、データ記録開始時に上記記録データ記憶用領域のリング開始ポインタとリング終了ポインタとを設定してデータの記録を開始し、データ記録が完了した場合、前記ベリファイ用記憶領域のリング開始ポインタとリング終了ポインタとを設定してベリファイ処理を開始する手順を設けたプログラム。
【００２４】
（６）コンピュータに、データが記録可能な情報記録媒体の記録領域にデータを記録する記録手順と、上記情報記録媒体の記録領域に記録されたデータを再生する再生手順と、上記情報記録媒体に対してデータの記録又は再生を行う際にリング開始ポインタとリング終了ポインタが設定可能なリングバッファリング方式で上記データを一時的に記憶する一時記憶手順と、その一時記憶手順の記憶領域を少なくとも上記情報記録媒体へ記録するデータを記憶する記録データ記憶用領域と上記情報記録媒体から再生したデータを記憶する再生データ記憶用領域とに分割し、上記記録データ記憶用領域にリング開始ポインタとリング終了ポインタを設定してリングバッファリング方式で上記情報記録媒体に記録するデータを記憶させ、上記記録手順によってデータ記録中に再生要求を受けた場合は上記再生データ記憶用領域にリング開始ポインタとリング終了ポインタを設定してリングバッファリング方式で上記再生手順によって上記情報記録媒体から再生したデータを記憶させる制御手順を実行させるためのプログラムであって、上記制御手順に、データ記録開始時に上記記録データ記憶用領域のリング開始ポインタとリング終了ポインタとを設定してデータの記録を開始し、データ記録が完了した場合、上記再生データ記憶用領域のリング開始ポインタとリング終了ポインタとを設定して再生処理を開始する手順を設けたプログラム。
【発明の効果】
【００２５】
この発明による情報記録装置と情報記録方法とプログラムは、データが記録可能な情報記録媒体に対して記録又は再生するデータを一時的に記憶するメモリを有効に活用してデータ記録の中断を極力少なくすることができる。
【発明を実施するための最良の形態】
【００２６】
以下、この発明を実施するための最良の形態を図面に基づいて具体的に説明する。
図１は、この発明の一実施形態である情報記録装置の構成を示すブロック図である。
この情報記録装置は、例えば、ＣＤ−Ｒディスク，ＣＤ−ＲＷディスク，ＣＤ−ＭＲＷディスク，ＤＶＤ＋Ｒディスク，ＤＶＤ＋ＲＷディスク，ＤＶＤ＋ＭＲＷディスク等のデータが記録可能な情報記録媒体である光ディスクに対するデータ（情報）の記録又は再生を行うＤＶＤドライブ等の光ディスク装置である。
この情報記録装置は、データ記録及び再生の命令を受けるホストコンピュータ１２を接続しており、その命令に基づいて情報記録媒体である光ディスク１１に対するデータの記録と再生を行う。
【００２７】
モータ（スピンドルモータ）１は、光ディスク１１のマウント時，データの記録及び再生時に光ディスク１１を回転させる。
光ピックアップ２は、微小動作を行うことができ、光ディスク１１にレーザダイオード等の光源で発生させたレーザ光Ｌを照射して記録面上に記録されたデータの読み取りとデータの記録を行う。粗動モータ３は、光ピックアップ２を光ディスク１１の半径方向に移動させるモータである。回転制御系部４は、モータ１の回転制御を行う。粗動モータ制御系部５は、粗動モータ３の回転制御を行う。
光ピックアップ制御系部６は、光ピックアップ２のレーザ光発光等の制御を行う。
信号処理系部７は、光ピックアップ２からの信号の処理や光ディスク１１にデータ記録を行う為のデータ及び光ディスク１１から再生したデータの送受信を行う。
【００２８】
キャッシュメモリ８は、光ディスク１１から再生したデータ及び光ディスク１１へ記録するデータを一時的に記憶・保存する領域（メモリ領域）である。すなわち、上記一時記憶手段の機能を果たす。
外部インタフェース９は、ホストコンピュータ１２とのデータ通信を司る。
コントローラ１０は、ＣＰＵ，ＲＯＭ及びＲＡＭ等からなるマイクロコンピュータによって実現され、この情報記録装置の全体の制御を行うものであり、データ記録の形態に応じてキャッシュメモリ８のメモリ領域（記憶領域）を分割し、データ記録，ベリファイ，再生などの処理を行う。すなわち、ＲＯＭにこの発明に係る上記各プログラムを記憶して格納し、ＣＰＵがそのプログラムを実行してこの発明に係る上記情報記録方法を実施し、この発明に係る上記制御手段を含む各手段の機能を果たす。
【００２９】
この情報記録装置は、キャッシュメモリ８のメモリ領域を分割して使用する場合、分割されたそれぞれのメモリ領域について最適なバッファリング方式にてデータを格納する。
例えば、複数の分割メモリ領域のうち、記録データ格納用領域（記録データ記憶用領域）や再生データ格納用領域（再生データ記憶用領域）、あるいはベリファイ用などに使用する分割メモリ領域はリングバッファリング方式にて使用することが望ましい。
また、通常、記録データや再生データを格納するためのキャッシュメモリ８はリングバッファリング方式にて使用されることが多い。リングバッファリング方式の利点はキャッシュメモリ８のメモリ領域内の終了アドレスへデータを格納した後は、引き続きメモリ領域の開始アドレスからデータが格納されることである。
【００３０】
例えば、データ記録を行う場合、ホストコンピュータ１２からのデータを受信した際に更新されるキャッシュメモリ８内のポインタと、格納データを光ディスク１１へ記録した際に更新される記録ポインタなどを参照することにより、キャッシュメモリ８内のデータ占有率を容易に計算することができる。
したがって、複数の分割メモリ領域のうち少なくとも記録データ格納用や再生データ格納用、あるいはベリファイ用に使用する分割メモリ領域はリングバッファリング方式にて使用することが望ましい。
【００３１】
さらに、この情報記録装置でキャッシュメモリ８をリングバッファリング方式にて使用する場合、リングバッファとして使用するメモリ領域のリング開始ポインタとリング終了ポインタを設定し、それらのポインタで指定されたメモリ領域内でリングバッファを形成する。
したがって、例えば次の（Ａ）と（Ｂ）の場合はキャッシュメモリ８内に複数のリング開始ポインタ，リング終了ポインタを設定する必要がある。
（Ａ）リングバッファリング方式で使用するキャッシュメモリを分割し、少なくとも１つの分割メモリをリングバッファリング方式にて使用する場合
（Ｂ）分割されたメモリ領域のうち複数の分割メモリ領域をリングバッファリング方式にて使用する場合
【００３２】
そのような場合、リング開始ポインタ、リング終了ポインタを複数箇所に同時に設定できればよいが、記録形態に応じてキャッシュメモリ８を分割して使用することが考慮されていない従来装置では、リング開始ポインタ、リング終了ポインタを複数箇所に設定できない場合が多い。
また、上記（Ａ）の場合のように、１つのリングバッファが他のリングバッファを含むように設定される場合、単純にリング開始ポインタ，リング終了ポインタを複数箇所に同時設定するのでは不都合が生じる。
これは、リングバッファとして使用するメモリ領域の範囲内に予期せぬリング開始ポインタ、あるいはリング終了ポインタが存在することにより、誤った位置にデータが格納される可能性があるためである。
【００３３】
次に、上記背景技術で述べた（２）ベリファイ処理を伴うデータ記録を行う場合について詳細に説明する。
ＣＤ−ＲＷディスクやＤＶＤ＋ＲＷディスクなどの再記録可能な情報記録媒体（光ディスク）に対して欠陥管理機構を付加したフォーマットとして、マウントレイニア（Ｍｔ．Ｒａｉｎｉｅｒ）規格が提唱されている。
そのマウントレイニア規格では、データ記録に先立って行われるフォーマット処理において、光ディスク全面を所定のデータパターンで記録した後に記録データをベリファイして、光ディスク上の欠陥を検出する。
【００３４】
また、マウントレイニア規格ではバックグラウンドフォーマットが採用されており、フォーマットによるダミーデータ記録及び記録領域のベリファイはホストコンピュータからのアクセスが無い時間にバックグラウンドで行う。
そのバックグラウンドフォーマットにより、ホストコンピュータがデータ記録を行う前に必要なフォーマット時間は大幅に改善されたが、ベリファイ処理もバックグラウンドで行われるため、ベリファイを行う前にユーザデータが記録される可能性があり、光ディスクに記録したデータが正常に読み出し可能か否かを保証することができない。
したがって、マウントレイニア規格ではベリファイを行っていない領域へユーザデータ記録を行う場合は、データ記録後に当該記録領域のベリファイを行い、正常に記録されたかどうかの判定を行うことが義務付けられている。
【００３５】
このように、マウントレイニア規格ではベリファイ処理を伴うデータ記録が発生する。
ベリファイ処理において記録領域に欠陥が検出された場合、欠陥領域へ記録したデータは所定の交替領域へ再度記録（交替）する。したがって、ベリファイを伴うデータ記録を行う場合は、少なくともベリファイが完了するまではキャッシュメモリ内のデータを保持しておく必要がある。
つまり、少なくともキャッシュメモリサイズ以内で、データ記録を一旦中断してベリファイを行い、ベリファイ完了後に引き続きデータ記録を行う必要があり、記録データの信頼性が保証される反面、データ記録パフォーマンスが低下してしまう欠点を併せ持っている。
【００３６】
ところで、マウントレイニア規格ではベリファイ処理における欠陥検出方法、または欠陥と判定するための判定基準などが定められておらず、各メーカが独自の検出方法，判定基準によってベリファイを行っている。
もっとも一般的な欠陥検出方法は、光ディスクにデータを記録した領域を実際に再生してみることであり、その再生データをキャッシュメモリに格納してエラー検出や訂正処理を行う。
ここで、上述のようにキャッシュメモリに格納された記録データはベリファイ処理が完了するまで保持しておく必要があり、ベリファイによる再生データで記録データが上書きされることを防ぐ必要がある。
【００３７】
すなわち、ベリファイを伴うデータ記録においては記録データを格納するためのメモリとベリファイによる再生データを格納するためのキャッシュメモリが必要になる。
そこで、この情報記録再生装置では、データ再生（ベリファイ，タイムシフト再生）を伴うデータ記録を行う場合には、少サイズのリングバッファを使用して再生データを格納する。
【００３８】
また、この情報記録再生装置では、データ記録後、当該記録領域の全てに対してベリファイが完了するまで記録データ格納用メモリ領域内のデータを保持するが、必ずしも全記録領域のベリファイ完了を待つ必要はないので、記録領域のうちベリファイにより正常に記録されていることが確認されたデータから順に当該メモリ領域を開放して次のデータを受信して格納する。
【００３９】
さらに、この情報記録再生装置では、ベリファイ処理を伴わないデータ記録では記録中もキャッシュメモリの空き領域にホストコンピュータ１２からのデータを受信し、極力データ記録の中断が発生しないようにすることで記録処理のパフォーマンスを維持するようにするが、ベリファイ処理を伴うデータ記録の場合、ベリファイが発生するたびにデータ記録の中断が発生する。
また、ベリファイが完了するまではキャッシュメモリ８内の記録データを保持する必要性から、少なくともメモリ容量以下でデータ記録を中断しなければならない。
つまり、ベリファイ処理を伴うデータ記録ではキャッシュメモリ８のメモリ容量が小さいほどデータ記録のパフォーマンスが悪くなるといえる。
【００４０】
ところで、ベリファイ処理におけるデータ再生はデータが正常に記録されているか否かを確認するためのものであり、キャッシュメモリ８に格納されたデータ自体が必要ではない。したがって、ベリファイにおいて格納されたデータは引き続いて行われるベリファイで再生されるデータによって上書きされても問題ない。
以上のことから、キャッシュメモリ８を記録データ格納用メモリ領域とベリファイ用メモリ領域とに分割する場合は、ベリファイ用メモリ領域は必要最小限の容量にとどめて記録データ格納用メモリ領域の容量を極力大きくすることが望ましい。
【００４１】
次に、上記背景技術で述べた（４）タイムシフト再生を行う場合について詳細に説明する。
ＤＶＤ＋ＲＷディスクを用いた応用例として、例えばＴＶ番組などをリアルタイムに録画するといった用途がある。リアルタイムなデータ記録では比較的低い転送レートで連続アドレスのデータ記録が要求されるため、データ転送レートよりも光ディスクへの記録速度が大きかった場合、キャッシュメモリ内にデータが無くなると記録が中断され、キャッシュメモリ内にある程度データが格納された時点で記録を再開するといった処理が頻繁に繰り返されることになる。
【００４２】
ここで、データ記録を開始する場合は目的アドレスへ光ピックアップを移動するシーク処理を行うが、シークエラー等による記録リトライが発生して記録に要する時間が長くなると、リアルタイムなデータ記録においては記録すべきデータが無くなってしまうという不具合が生じてしまう。したがって、キャッシュメモリのメモリサイズを大きくして記録処理の中断が極力発生しないようにすることが望ましい。
ところで、このようなリアルタイムなデータ記録を行う情報記録装置において、データ記録が完了した部分の任意の映像を再生する、いわゆるタイムシフト再生を行う装置が考案されている。
【００４３】
タイムシフト再生を行う場合、ユーザからデータ記録と再生の要求が交互に発生する。
データ記録中に再生要求を受けた場合、一般に従来装置ではメモリ内のデータを全て記録してから再生処理を行うため、ユーザからの記録、再生要求が切り替わるたびに記録処理が中断されてシークが発生してしまう。
つまり、タイムシフト再生ではメモリサイズによらず頻繁に記録の中断が発生することになり、シークエラー等によるリトライ処理に時間がかかるという不具合が発生しやすくなる。
【００４４】
この情報記録装置では、以上の問題を回避するため、記録データ格納用メモリとは別領域に再生データを格納し、再生要求を受けた時点でキャッシュメモリ８内に記録データが存在する場合であっても、キャッシュメモリ８内のデータ占有量が所定のしきい値を超えていなければ記録を開始せずに要求されたデータ再生を行い、一定量の記録データが格納されるまで待つといった処理を行う。
また、データ再生要求を受けた時点で光ディスク１１へデータ記録中であった場合は、記録処理を中断して再生を行う必要はなく、キャッシュメモリ８内の記録データのうち、少なくとも現在の書き込み動作内で連続的に記録できるデータに関しては記録完了を待ってから再生処理を行う。
【００４５】
さらに、この情報記録装置では、ホストコンピュータ１２から再生要求を受ける以前に要求されたデータを光ディスク１１へ記録せずに再生処理を行う場合がある。
つまり、光ディスク１１へ記録を行う前のデータに対して再生要求を受けた場合は、光ディスク１１上のデータを再生するのではなく、キャッシュメモリ８内に存在する記録前のデータをホストコンピュータ１２に報告する。
また、上述のようにデータ記録におけるシーク回数を減らし、安定したデータ記録を行うためには記録データ格納用メモリ領域は極力大きくしたほうが良い。
【００４６】
図２は、図１に示す情報記録装置におけるキャッシュメモリのメモリ分割処理を示すフローチャート図である。
このメモリ分割処理は、例えば、ホストコンピュータ１２からの最初のデータ記録要求を受けた時点で行い、ホストコンピュータ１２からデータ記録完了の要求を受けた時点で分割されたメモリ領域を元に戻すことで、データ記録の形態に応じたキャッシュメモリ８の使用が可能となる。
コントローラ１０は、メモリ分割処理を開始すると、ステップ（図中「Ｓ」で示す）１でリードモディファイライトを行う必要があるか否かを判断する。
【００４７】
例えば、ＣＤ−ＭＲＷディスク，ＤＶＤ＋ＲＷディスク，ＤＶＤ＋ＭＲＷディスクへの記録では、ホストコンピュータ１２はセクタ単位のランダムなデータ記録が可能であるが光ディスク１１への書き込みはパケット単位またはＥＣＣブロック単位で行う必要があり、リードモディファイライトが発生する可能性がある。
したがって、ステップ１でリードモディファイライトを行う必要があると判断すると、ステップ２でキャッシュメモリの記憶領域を分割して記録ブロックに満たないデータを一時的に格納する端数データ格納用メモリ領域（端数データ記憶用領域）を確保する。
一方、ＣＤ−ＭＲＷディスク，ＤＶＤ＋ＲＷディスク，ＤＶＤ＋ＭＲＷディスク以外への記録ではリードモディファイライトは発生しないため、ステップ１でリードモディファイライトを行う必要が無いと判断すると、ステップ２の処理をスキップしてステップ３へ進む。
【００４８】
次に、ステップ３でベリファイ処理を伴うデータ記録か否かを判断する。
例えば、ＣＤ−ＭＲＷディスク，ＤＶＤ＋ＭＲＷディスクではデータ記録後に当該領域のベリファイを行う場合があるため、ステップ３でベリファイ処理を伴うデータ記録と判断すると、ステップ４でキャッシュメモリのメモリ領域（記憶領域）を分割してベリファイ用メモリ領域（ベリファイ用記憶領域）を確保する。
次に、ベリファイ処理において欠陥が検出された場合、ステップ５でセクタ単位で交替を行うか否かを判断する。
例えば、ＣＤ−ＭＲＷディスクにおけるベリファイはセクタ単位で欠陥検出を行い、パケット内の欠陥セクタのみを交替する。
したがって、ステップ５でセクタ単位で交替を行うと判断したら、ステップ６でキャッシュメモリを分割して交替先データ格納用メモリ領域（交替先データ記憶用領域）を確保する。
【００４９】
一方、ＤＶＤ＋ＭＲＷではＥＣＣブロック単位で欠陥検出が行われ、欠陥であった場合はＥＣＣブロック単位で交替されるため、ステップ５でセクタ単位で交替を行わないと判断したら、ステップ６の処理をスキップしてステップ７へ進む。
また、例えばＣＤ−ＭＲＷディスク，ＤＶＤ＋ＭＲＷディスク以外への記録ではベリファイを伴うデータ記録が発生しないため、ステップ３でベリファイ処理を伴うデータ記録ではないと判断すると、ステップ４〜６の処理をスキップしてステップ７へ進む。
次に、ステップ７でタイムシフト再生を行うか否かが判断し、タイムシフト再生を行う場合は、ステップ８でキャッシュメモリのメモリ領域を分割して再生データ格納用メモリ領域（再生データ記憶用領域）を確保し、この処理を終了する。
【００５０】
また、ステップ７の判断でタイムシフト再生を行わない場合はステップ８をスキップしてこの処理を終了する。
なお、上記の分割メモリ領域のうち同時に使用することのない複数の分割メモリ領域は複数に分割する必要はなく、ある分割メモリ領域を複数の目的に使用しても良い。
例えば、ＣＤ−ＭＲＷディスクにおいて、ベリファイ処理と交替先パケットの読み出しが同時に行われることはない。
さらに、ベリファイ用メモリ領域に格納したデータを交替先パケットの読み出し中に保持しておく必要はなく、逆に交替先データ格納用メモリに格納したデータはベリファイ中に保持しておく必要はない。
このような場合は、１つの分割メモリ領域をベリファイ用と交替先データ格納用に使用することも可能である。
【００５１】
図３は、図１に示すコントローラ１０による上記の要領で分割されたメモリ領域のレイアウトを示す図である。
同図の（ａ）は、ＣＤ−Ｒディスク，ＣＤ−ＲＷディスク及びＤＶＤ＋Ｒディスクへデータ記録を行う場合のメモリ領域のレイアウトである。
これらの光ディスクへの記録はリードモディファイライトやベリファイなどの複雑な処理が不要であるため、キャッシュメモリ８のメモリ領域全体を記録データ格納用メモリ領域（記録データ記録用領域）２０に使用することが可能である。
すなわち、コントローラ１０は、リング開始ポインタ（ＲＳ）にメモリ領域の開始アドレスＭ０を設定し、リング終了ポインタ（ＲＥ）にメモリ領域の終了アドレスＭ１を設定する。
【００５２】
同図の（ｂ）は、ＤＶＤ＋ＲＷディスクへデータ記録を行う場合のメモリ領域の分割例である。
ＤＶＤ＋ＲＷディスクはユーザからセクタ単位でランダムに記録が可能であり、リードモディファイライトを行う必要があるため、コントローラ１０は、キャッシュメモリ８を記録データ格納用メモリ領域２０と端数データ格納用メモリ領域（端数データ転送用メモリ領域）２１とに分割する。すなわち、キャッシュメモリ８内のアドレスＭ０からＭ２を記録データ格納用メモリ領域２０として使用し、アドレスＭ２からＭ１を端数データ格納用メモリ領域２１として使用する。
また、コントローラ１０は、これらの分割メモリ領域のうち記録データ格納用メモリ領域２０はリングバッファリング方式で使用し、リング開始ポインタ（ＲＳ０）およびリング終了ポインタ（ＲＥ０）に記録データ格納用メモリ領域２０の開始アドレスＭ０および終了アドレスＭ２をそれぞれ設定する。
【００５３】
同図の（ｃ）は、ＣＤ−ＭＲＷディスク及びＤＶＤ＋ＭＲＷディスクへデータ記録を行う場合のメモリ領域の分割例である。
これらの光ディスクは、ＤＶＤ＋ＲＷディスクと同様にホストコンピュータ１２からセクタ単位でランダムに記録が可能であり、リードモディファイライトを行う必要があるため、コントローラ１０は、キャッシュメモリ８を記録データ格納用メモリ領域２０と端数データ格納用メモリ領域２１とに分割する。
さらに、これらの光ディスクはベリファイ処理を伴うデータ記録を行うため、コントローラ１０は、記録データ格納用メモリ領域２０をさらに分割し、ベリファイ用メモリ領域（ベリファイ用記憶領域）２２を確保する。
【００５４】
なお、ＣＤ−ＭＲＷディスクでは交替処理においてもリードモディファイライトが発生するため、交替データ格納用メモリ領域が必要となるが、交替先パケットのデータをベリファイ用メモリ領域２２へ格納することで新たに交替先データ格納用メモリ領域を確保する必要がなくなる。
以上のように、コントローラ１０は、ＣＤ−ＭＲＷディスク及びＤＶＤ＋ＭＲＷディスクへのデータ記録では、キャッシュメモリ８内のアドレスＭ０からＭ３を記録データ格納用メモリ領域２０、アドレスＭ３からＭ２をベリファイ用メモリ領域（交替先データ格納用メモリ領域）２２、アドレスＭ２からＭ１を端数データ格納用メモリ領域２１として使用する。これらの分割メモリ領域のうち、記録データ格納用メモリ領域２０とベリファイ用メモリ領域２２はリングバッファリング方式にて使用することでそれぞれのメモリ管理が容易になる。
【００５５】
すなわち、コントローラ１０は、記録処理を行う場合はリング開始ポインタ（ＲＳ０）及びリング終了ポインタ（ＲＥ０）に記録データ格納用メモリ領域２０の開始アドレスＭ０及び終了アドレスＭ３をそれぞれ設定し、ベリファイ処理を行う場合はリング開始ポインタ（ＲＳ１）及びリング終了ポインタ（ＲＥ１）にベリファイ用メモリ領域２２の開始アドレスＭ３及び終了アドレスＭ２をそれぞれ設定する。
【００５６】
同図の（ｄ）は、ＤＶＤ＋ＲＷディスクへの記録においてタイムシフト再生を行う場合のメモリ領域の分割例である。
通常、ＴＶ番組の録画などにおいてタイムシフト再生が要求される場合、シーケンシャルなデータ記録が要求される場合が一般的であるが、ＤＶＤ＋ＲＷディスクではホストコンピュータ１２はデータをランダムに記録することが可能であるため、例えば録画したデータの管理情報を記録するような場合はランダムな記録を要求される可能性がある。
したがって、コントローラ１０は、記録データ格納用メモリ領域２０を分割して端数データ格納用メモリ領域２１を確保しておく。
【００５７】
次に、データ記録中にホストコンピュータ１２からの再生要求に対して再生データを格納するため、コントローラ１０は、記録データ格納用メモリ領域２０をさらに分割して再生データ格納用メモリ領域（再生データ記憶用領域）２３を確保する。
以上のようにして、コントローラ１０は、ＤＶＤ＋ＲＷディスクでタイムシフト再生を行う場合は、キャッシュメモリ８内のアドレスＭ０からＭ４を記録データ格納用メモリ領域２０、アドレスＭ４からＭ２を再生データ格納用メモリ領域２３、アドレスＭ２からＭ１を端数データ格納用メモリ領域２１として使用する。これらの分割メモリ領域のうち、記録データ格納用メモリ領域２０と再生データ格納用メモリ領域２３はリングバッファリング方式にて使用することでそれぞれのメモリ管理が容易になる。
【００５８】
すなわち、コントローラ１０は、記録処理を行う場合はリング開始ポインタ（ＲＳ０）およびリング終了ポインタ（ＲＥ０）に記録データ格納用メモリ領域２０の開始アドレスＭ０および終了アドレスＭ４をそれぞれ設定し、データ再生処理を行う場合はリング開始ポインタ（ＲＳ１）およびリング終了ポインタ（ＲＥ１）に再生データ格納用メモリ領域２３の開始アドレスＭ４および終了アドレスＭ２をそれぞれ設定する。
【００５９】
図４乃至図６は、図１に示したコントローラ１０による記録ブロック単位に満たないデータ記録を行う場合のメモリ分割とデータ格納の例を示す説明図である。
コントローラ１０は、図３の（ｂ）に示すようにキャッシュメモリ８の全メモリ領域（メモリアドレスＭ０からＭ１）を記録データ格納用メモリ領域（メモリアドレスＭ０からＭ２）２０と端数データ格納用メモリ領域（メモリアドレスＭ２からＭ１）２１とに分割する。以下、ＤＶＤ＋ＲＷディスクへの記録を例に説明する。
図４の（ａ）〜（ｄ）は、ホストコンピュータ１２がセクタ単位でデータ記録を要求した場合のキャッシュメモリ８の使用例の説明図である。
コントローラ１０は、ホストコンピュータ１２からＥＣＣブロックの境界でないアドレスへの記録要求を受けた場合、要求データを端数データ格納用メモリ領域２１に一時的に格納する（図４の（ａ）参照）。そのとき、コントローラ１０は、ホストコンピュータ１２に対して記録要求に対する完了通知を報告する。
【００６０】
次に、コントローラ１０は、要求された記録アドレスを含むＥＣＣブロックを光ディスク１１から読み出して記録データ格納用メモリ領域２０に格納する（図４の（ｂ）参照）。
次に、コントローラ１０は、端数データ格納用メモリ領域２１に一時的に格納した端数データを、上記読み出したＥＣＣブロックデータの所定位置にコピーし（図４の（ｃ）参照）、ＥＣＣブロック単位で光ディスク１１へ書き戻す（図４の（ｄ）参照）。
このようにして、端数データを格納するためのメモリ領域を確保することにより、所定のＥＣＣブロックデータを光ディスク１１から読み出す前に要求記録データを受信することが可能になる。
また、要求データを格納後にホストコンピュータ１２に対して記録完了通知を報告することでデータ記録のパフォーマンスを向上させることが可能になる。
【００６１】
図５の（ａ）〜（ｃ）と図６の（ａ）〜（ｅ）は、ホストコンピュータ１２が連続的にデータ記録を行う場合のキャッシュメモリ使用例である。
本例では書き始めのアドレスおよび書き終わりアドレスはＥＣＣブロックの境界でないものとする。
コントローラ１０は、例えば、ホストコンピュータ１２がＥＣＣブロックの境界をまたぐように記録要求を行った場合、最初に記録開始アドレスから次のＥＣＣブロックの境界までのデータを端数データ格納用メモリ領域２１に一時的に格納し、残りのデータを記録データ格納用メモリ領域２０に格納する。
【００６２】
このとき、コントローラ１０は、要求データの前半部分は端数データ格納用メモリ領域２１の開始位置（メモリアドレスＭ２）から格納し、後半部分は記録データ格納用メモリ領域２０の開始位置（メモリアドレスＭ０）から１ＥＣＣブロック分空けた位置から格納する（図５の（ａ）参照）。
コントローラ１０は、以上のデータを格納した後にホストコンピュータ１２に対して記録要求に対する完了通知を報告する。
【００６３】
次に、コントローラ１０は、端数データ格納用メモリ領域２１に一時的に格納したデータを含むＥＣＣブロックを光ディスク１１から読み出し、記録データ格納用メモリ領域２０の開始位置（メモリアドレスＭ０）へ格納する。
コントローラ１０は、この間にホストコンピュータ１２からシーケンシャルな記録要求を受けた場合、当該アドレスがＥＣＣブロックの境界であるか否かに関わらず、記録データ格納用メモリ領域２０へ連続的に格納する（図５の（ｂ）参照）。
次に、コントローラ１０は、ＥＣＣブロックの読み出しが完了した場合、端数データ格納用メモリ領域２１に一時的に格納した要求記録データを読み出したＥＣＣブロックデータの所定位置にコピーする（図５の（ｃ）参照）。
【００６４】
ここで、コントローラ１０は、要求記録データの終了アドレスがＥＣＣブロックの境界でない時点で、ホストコンピュータ１２から記録終了の要求を受けた場合（図６の（ａ）参照）、ＥＣＣブロックの端数となる要求データを端数データ格納用メモリ領域２１へいったん退避し（図６の（ｂ）参照）、この端数データを含む所定のＥＣＣブロックを光ディスク１１から読み出して記録データ格納用メモリ領域２０の所定位置へ格納する（図５の（ｃ）参照）。
次に、コントローラ１０は、端数データ格納用メモリ領域２１へ退避したデータを再び記録データ格納用メモリ領域２０の所定位置へコピーして（図６の（ｄ）参照）、ＥＣＣブロック単位で光ディスク１１へ書き戻す（図６の（ｅ）参照）。
【００６５】
なお、コントローラ１０は、ホストコンピュータ１２から記録終了要求を受ける前に記録データ格納用メモリ領域２０のデータ占有量が所定のしきい値を超えた場合は記録を開始する。
また、記録開始後にユーザから記録完了通知を受けた場合は、ＥＣＣブロックの境界となるアドレスで一旦記録を中断してから、書き終わりの端数データを含む所定のＥＣＣブロックを読み出して当該ＥＣＣブロックの記録を行う。
【００６６】
図７及び図８は、コントローラ１０によるＤＶＤ＋ＲＷディスクへのデータ記録動作を示すフローチャート図である。
コントローラ１０は、データ記録処理を開始すると、図７のステップ（図中「Ｓ」で示す）１でキャッシュメモリのメモリ分割処理を行う。
このメモリ分割処理では、図２に基づいて示した処理でキャッシュメモリ８のメモリ分割を行い、その結果、キャッシュメモリ８の記憶領域を、図３の（ｂ）に示すように記録データ格納用メモリ領域２０と端数データ格納用メモリ領域２１とに分割する。
【００６７】
ステップ２でホストコンピュータから記録要求があるか否かを判断し、ここでは記録を要求されているため、ホストコンピュータから記録要求があると判断し、ステップ３でＥＣＣバウンダリか否か（要求記録アドレスＥＣＣブロックの境界であるか否か）を判断する。ステップ３の判断でＥＣＣバウンダリの場合（要求記録アドレスがＥＣＣブロックの境界であった場合）はステップ９へ進んで要求データを受信して記録メモリ（記録データ格納用メモリ領域）へ転送して記憶（格納）する。ここでは要求記録アドレスがＥＣＣブロックの境界でなかったと仮定する。その場合、ステップ３の判断でＥＣＣバウンダリではない場合（要求記録アドレスがＥＣＣブロックの境界ではない場合）、ステップ４で連続アドレスか否か（直前の要求記録アドレスから連続した記録要求であるか否か）を判断する。
【００６８】
ステップ４の判断で連続アドレスの場合（直前の記録要求から連続した記録要求であった場合）、ステップ９へ進んでデータを受信して記録メモリ（記録データ格納用メモリ領域）の所定位置へ転送して記憶（格納）する。データ記録開始時の場合、直前の記録要求は存在しないため、ステップ４の判断で連続アドレスではない場合、ステップ５で要求記録データのうちＥＣＣブロックの境界までの端数データを抽出し、ステップ６で端数メモリ（端数データ格納用メモリ領域）に端数データを転送して記憶（格納）する（図４の（ａ）参照）。端数データ格納用メモリへデータ格納後、ステップ７のＥＣＣ読み出し開始で当該端数データを含むＥＣＣブロックのデータを光ディスク上から読み出す処理を開始する。
【００６９】
次に、ステップ８でホストコンピュータが要求した記録データのうちデータ受信していない未転送データが存在するか否かを判断し、未転送データが存在しない場合、ステップ１１へ進んでＥＣＣ読み出しが完了したか否かを判断する。ここでは未転送データが存在していたと仮定し、ステップ８で未転送データが存在していた場合、ステップ９で記録メモリ（記録データ格納用メモリ領域）へデータを転送して記憶（格納）する。
この場合、記録データ格納用メモリの開始アドレスから１ＥＣＣブロック分後方へデータ格納される（図５の（ａ）参照）。これは光ディスク１１から読み出したデータを記録データ格納用メモリ領域の先頭から格納するためである。
【００７０】
次に、ステップ１０でＥＣＣブロック読み出しが完了したか否かを判断する。ここではＥＣＣブロック読み出しを開始した直後であるため、ステップ１０の判断でＥＣＣ読み出し完了ではない場合、ステップ１１の処理をスキップしてステップ１２へ進む。
次に、ステップ１２で記録データ格納用メモリ領域内のデータ占有量が所定の記録開始しきい値を超えたか否かを判断する。
記録開始の場合、データ占有量は記録開始しきい値を超えていないため、ステップ１２の判断で記録開始しきい値を超えていない場合、ステップ１３の処理をスキップしてステップ１４へ進む。
【００７１】
次に、ステップ１４でホストコンピュータに対してデータ記録要求に対する完了を通知し、ステップ２へ戻って再びホストコンピュータからのデータ記録要求を待つ。
以上が、記録開始時のデータ記録要求に対する処理である。
このように、この情報記録装置ではキャッシュメモリ８を記録データ格納用メモリ領域と端数データ格納用領域とに分割することにより、端数データを含むＥＣＣブロックの読み出しが完了する前に要求記録データを受信することが可能となり、記録要求に対するパフォーマンスを向上させることが可能となる。
【００７２】
さらに、引き続きホストコンピュータ１２からの記録要求を待つ。
このとき、ホストコンピュータ１２から連続的なデータ記録要求を受けた場合は、当該記録アドレスがＥＣＣブロックであるか否かに関わらず、すなわち、ステップ３でＥＣＣバウンダリではないと判断した場合であっても、ステップ４で連続アドレスと判断し、ステップ９で記録データ格納用メモリ領域へデータを転送して記憶（格納）する（図５の（ｂ）参照）。
ステップ１０の判断でデータ受信中にＥＣＣブロック読み出しが完了していた場合は、ステップ１１でステップ６において端数データ格納用メモリ領域に受信した端数データを、読み出したＥＣＣブロックの所定位置へコピーする（図５の（ｃ）参照）。
また、ステップ１２でデータ受信中に記録データ格納用メモリ領域のデータ占有量が所定の記録開始しきい値を超えた場合は、ステップ１３でデータ記録を開始する。
【００７３】
一方、ステップ２の判断においてホストコンピュータからのデータ記録要求がなかった場合、図８のステップ１５へ進んでホストコンピュータからデータ記録終了要求を受けたか否かを判断し、データ記録終了要求を受けていない場合、図７のステップ２へ戻って再びホストコンピュータからのデータ記録要求を受けたか否かを判断し、データ記録要求を待つ。
ホストコンピュータからデータ記録終了要求があった場合、ステップ１６でデータ記録終了アドレスがＥＣＣブロックの境界であるか否か、すなわちデータの書き終わりに端数データが存在するか否かを判断する。ステップ１６で端数データ無しと判断したら、ステップ２８でデータ記録中か否かを判断して、データ記録中ならステップ２５へ進み、データ記録中でなければステップ２４へ進む。
ここではデータの書き終わりに端数データがあると仮定する（図６の（ａ）参照）。
この場合、ステップ１６で端数データがあると判断し、ステップ１７で当該端数データを端数データ格納メモリ領域へ退避する（図６の（ｂ）参照）。
【００７４】
次に、ステップ１８で光ディスクへの記録中か否かを判断し、データ記録中の場合は、ステップ１９で前述の端数データを除き、ＥＣＣブロックの境界となるアドレスでデータ記録を中断するように記録中断ポイントを設定し、ステップ２０でデータ記録完了か否かを判断し、データ記録完了を待つ。
一方、ステップ１８の判断においてデータ記録中でなかった場合は、ステップ１９と２０の処理をスキップし、ステップ２１へ進む。
次に、ステップ２１で当該端数データを含むＥＣＣブロックの読み出しを開始し、ステップ２３でＥＣＣ読み出し完了か否かを判断し、ＥＣＣ読み出し完了を待つ（図６の（ｃ）参照）。
【００７５】
ステップ２２の判断でＥＣＣブロックの読み出しが完了した場合は、ステップ２３でステップ１７において端数データ格納用メモリ領域へ退避した端数データを、読み出したＥＣＣブロックの所定位置へコピーし（図６の（ｄ）参照）、ステップ２４でＥＣＣブロック単位で光ディスクへの記録を開始し（図６の（ｅ）参照）、ステップ２５でデータ記録完了か否かを判断して、データ記録完了を待つ。
ステップ２５の判断でデータ記録処理が完了したら、ステップ２６でホストコンピュータからのデータ記録終了要求に対する完了を通知し、ステップ２７でステップ１において分割したメモリ領域を復帰させて（元の状態に戻して）、この処理を終了する。
【００７６】
図９及び図１０は、図１に示したコントローラ１０によるベリファイ処理及び交替処理を伴うデータ記録を行う場合のメモリ分割とデータ格納の例を示す説明図である。
ここではＣＤ−ＭＲＷディスクへの記録を例に取り、セクタ単位で交替を行う場合について説明する。
なお、ＣＤ−ＭＲＷディスクではユーザからセクタ単位でランダムに記録が可能であるため、端数データ格納用メモリ領域を確保しているが、説明を簡素化するためにここではパケット単位で連続的に記録を行うものとする。
図９の（ａ）〜（ｅ）はベリファイを伴うデータ記録におけるメモリ分割とデータ格納のフォーマットを示す図である。
【００７７】
コントローラ１０は、キャッシュメモリ８の全メモリ領域（メモリアドレスＭ０からＭ１）を記録データ格納用メモリ領域（メモリアドレスＭ０からＭ３）２０、ベリファイ用メモリ領域（メモリアドレスＭ３からＭ２）２２、端数データ格納用メモリ領域（メモリアドレスＭ２からＭ１）２１とに分割する。
また、ホストコンピュータ１２からパケット単位で連続的にデータ記録要求を受けた場合は、記録データ格納用メモリ領域２０へデータを記憶（格納）する（図９の（ａ）参照）。さらに、記録データ格納用メモリ領域２０内のデータ占有量が所定の記録開始しきい値（本例では記録データ格納用メモリ領域のサイズとする）以上となる場合、当該記録データを光ディスクへ記録する（図９の（ｂ）参照）。
【００７８】
なお、コントローラ１０は、データ受信からデータ記録までは、記録データ格納用メモリ領域２０、すなわちメモリアドレスＭ０からＭ３をリングバッファリング方式で使用し、リング開始ポインタ（ＲＳ０）及びリング終了ポインタ（ＲＥ０）をそれぞれメモリアドレスＭ０及びＭ３に設定する。記録データ格納用メモリ領域２０に格納したデータの記録が完了した場合、当該記録領域のベリファイを行う。
ここで、コントローラ１０は、ベリファイ処理は再生処理と同様に、再生したデータをベリファイ用メモリ領域２２内に格納してエラー検出，エラー訂正などを行い、正常に記録されているか否かの判定（欠陥検出）を行う。
【００７９】
このとき、コントローラ１０は、ベリファイ用メモリ領域２２、すなわちメモリアドレスＭ３からＭ２の領域はリングバッファリング方式で使用し、リング開始ポインタ（ＲＳ１）及びリング終了ポインタ（ＲＥ２）をそれぞれメモリアドレスＭ３及びＭ２に設定する。ベリファイ用メモリ領域２２に格納されたデータは欠陥が検出されない限り、次の領域のベリファイデータによって上書きしていく（図９の（ｃ）参照）。
コントローラ１０は、記録した全データのベリファイが完了し、正常に記録されていることが確認された場合は、記録データ格納用メモリ領域２０に保持しておいたデータは不要となるため、記録データ格納用メモリ領域２０を開放して、引き続きホストコンピュータ１２から次の記録データを受信してデータを格納していく（図９の（ｄ）参照）。
【００８０】
なお、ベリファイ処理において正常に記録されていることが確認されたデータについては記録データ格納用メモリ領域２０に保持しておく必要はなく、ベリファイ済みデータから順に記録データ格納用メモリ領域２０を開放して、ホストコンピュータ１２からの記録データを格納しても良い（図９の（ｅ）参照）。
【００８１】
図１０の（ａ）〜（ｅ）は交替処理におけるメモリ使用例のフォーマットを示す図である。
ＣＤ−ＭＲＷディスクではセクタ単位で交替を行うため、交替処理においてもリードモディファイライトを行う必要がある。
ただし、ベリファイで格納したデータを交替処理中も保持しておく、あるいは、交替処理で格納したデータをベリファイ中も保持しておくといった必要はないため、交替先データ格納用メモリはベリファイ用メモリ領域２２で代用することが可能である。
【００８２】
すなわち、コントローラ１０は、キャッシュメモリ８のメモリアドレスＭ３からＭ２を交替先データ格納用メモリ領域２２として使用する。
ここで、ベリファイ処理において記録領域のうちの１セクタが欠陥と判定された場合（図１０の（ａ）参照）、当該欠陥領域へ記録したデータは所定の交替領域へ再度記録する必要がある。
コントローラ１０は、まず所定の交替先パケットのデータを読み出して交替先データ格納用メモリ領域２２へ格納する（図１０の（ｂ）参照）。
次に、欠陥領域へ記録したデータを交替先パケットの所定位置へコピーし（図１０の（ｃ）参照）、パケット単位で交替先パケットへ記録する（図１０の（ｄ）参照）。
【００８３】
そして、コントローラ１０は、交替処理が完了した場合は、残りの記録データのベリファイを再開する（図１０の（ｅ）参照）。
なお、ＤＶＤ＋ＭＲＷディスクではＥＣＣブロック単位で交替を行うため、交替先となるＥＣＣブロックのデータを読み出す必要はない。
したがって、記録データ格納用メモリ領域２０内のデータを直接交替先ＥＣＣブロックへ記録してよい。
【００８４】
図１１及び図１２は、コントローラ１０によるＣＤ−ＭＲＷディスクへのデータ記録動作を示すフローチャート図である。
なお、ＣＤ−ＭＲＷディスクではホストコンピュータ１２からセクタ単位でランダムに記録が可能であるが、説明を簡素化するため、ここではパケット単位で連続的に記録を行うものとする。
コントローラ１０は、図１１に示すように、データ記録処理を開始すると、ステップ（図中「Ｓ」で示す）３１でキャッシュメモリのメモリの分割処理を行う。
このメモリ分割処理では、図２に基づいて示した処理でキャッシュメモリ８のメモリ分割を行い、その結果、キャッシュメモリ８の記憶領域を、図３の（ｃ）に示すように記録データ格納用メモリ領域２０とベリファイ用メモリ領域（交替先パケット格納用メモリ領域）２２と端数データ格納用メモリ領域２１とに分割する。
【００８５】
本実施例では次に、記録データ格納用メモリ領域２０をリングバッファリング方式で使用するために、ステップ３２の記録用リング設定処理でリング開始ポインタ（ＲＳ０）及びリング終了ポインタ（ＲＥ０）にそれぞれメモリアドレスＭ０及びＭ３を設定し、ステップ３３でホストコンピュータからデータ記録要求があるか否かを判断する。
ここでは記録を要求されているため、ステップ３３でデータ記録要求有りと判断し、ステップ３４で要求データを受信して記録メモリ（記録データ格納用メモリ領域）へ転送して記憶（格納）する（図９の（ａ）参照）。
次に、ステップ３５で記録を開始するか否かの条件を満たしているか否かを判断する。
【００８６】
その条件としては、記録データ格納用メモリ領域２０のデータ占有量が所定の記録開始しきい値を超えたか否か、あるいはホストコンピュータからデータ記録完了要求があるかなどが考えられる。
ステップ３５の判断で記録開始条件を満たしていない場合、ステップ３３へ戻って再びホストコンピュータからのデータ記録要求有りか否かを判断し、データ記録要求を待つ。
一方、ステップ３５の判断で記録開始条件を満たしていた場合、ステップ３６で記録データ格納用メモリ領域へ格納したデータを光ディスクへ記録開始し、ステップ３７で記録完了か否かを判断し、記録の完了を待つ（図９の（ｂ）参照）。
ステップ３７の判断で記録が完了した場合、ベリファイ処理へ移行する。
【００８７】
ここではまず、ステップ３８でベリファイ用メモリ領域をリングバッファリング方式で使用するためにベリファイ用リング設定処理で、リング開始ポインタ（ＲＳ１）及びリング終了ポインタ（ＲＥ１）にそれぞれメモリアドレスＭ３及びＭ２を設定する。
次に、ステップ３９で当該記録領域のベリファイを開始し、ステップ４０でベリファイエラーか否かを判断し、ベリファイエラーなら、図１２のステップ４４へ進み、ベリファイエラーでなければ、ステップ４１でベリファイ完了か否かを判断し、ベリファィ完了でなければステップ４０へ戻り、ベリファイ完了ならステップ４２へ進む。
すなわち、ステップ４０と４１で記録領域内の欠陥検出を行いながら、ベリファイ処理の完了を待つ。
【００８８】
なお、ベリファイ用メモリ領域２２に格納されたデータは欠陥が検出されない限り、次の領域のベリファイデータによって上書きしていく（図９の（ｃ）参照）。
ステップ４１の判断でベリファイ処理が完了し、データが正常に記録されていることが確認された場合は、ステップ４２でホストコンピュータから記録終了要求を受けているか否かを判断し、記録終了要求を受けていなければ、ステップ３２へ戻って再びデータ記録用のリング開始ポインタ，リング終了ポインタを設定し、ホストコンピュータからのデータを受信する（図４の（ｄ）参照）。
【００８９】
一方、ステップ４２の判断で記録終了要求を受けていた場合、ステップ４３でステップ３１において分割したメモリ領域を復帰させて（元の状態に戻して）、この処理を終了する。
ところで、ステップ４０の判断において記録領域内に欠陥が検出された場合は交替処理へ移行する。ここではまず、図１２のステップ４４で欠陥と判定されたセクタを抽出する（図１０の（ａ）参照）。
次に、ステップ４５で所定の交替領域のうち、交替が可能な領域の交替先アドレスを取得し、ステップ４６でその交替先領域を含む交替先パケットのデータを読み出して、交替先データ格納用メモリ領域へ記憶（格納）する（図１０の（ｂ）参照）。
【００９０】
ステップ４７で読み出し完了か否かを判断して、読み出し完了まで、読み出しと交替先データ格納用メモリ領域への記憶を繰り返す。
ステップ４７の判断で交替先パケットの読み出しが完了した場合、ステップ４８で欠陥領域へ記録した交替データを交替先データ格納用メモリ領域内の所定位置へコピーし（図１０の（ｃ）参照）、ステップ４９で交替先パケットへパケット単位でデータ記録を開始し、ステップ５０でデータ記録完了か否かを判断して、完了でなければ完了を待つ（図１０の（ｄ）参照）。
以上の交替処理を完了し、ステップ５０でデータ記録完了と判断した場合、ステップ５１でデータ記録領域のベリファイを再開し、図１１のステップ４１へ戻って欠陥検出処理を続ける。
なお、交替先パケットへ記録したデータが正常に記録されているか否かを確認する場合はベリファイ用メモリ領域を使用してベリファイを行っても良い。
【００９１】
図１３及び図１４は、ＤＶＤ＋ＲＷディスクにおいてタイムシフト再生を行う場合のメモリ分割とデータ格納の例を示す説明図である。
図１３の（ａ）〜（ｄ）は再生データ格納用メモリを持たない従来装置でのタイムシフト再生におけるデータ格納のフォーマットを示す図である。
まず、ホストコンピュータからデータ記録要求を受けた場合、記録データ格納用メモリ領域へデータを格納し、ホストコンピュータに対して処理完了を通知する（図１３の（ａ）参照）。この段階では記録データ格納用メモリ領域内のデータ占有量は所定の記録開始しきい値を超えていないため、光ディスクへの記録を開始していない。
【００９２】
次に、ホストコンピュータからデータ再生要求を受けた場合は記録処理を完了させるため、記録データ格納用メモリ領域内の記憶（格納）されたデータを光ディスクへ記録した後に（図１３の（ｂ）参照）、要求されたデータを再生し、記録データ格納用メモリ領域へ記憶（格納）する（図１３の（ｃ）参照）。
タイムシフト再生ではホストコンピュータから記録と再生が交互に要求され、再びホストコンピュータから記録要求を受けると記録データ格納用メモリ領域へデータを格納し、ホストコンピュータに対して処理完了を通知する（図１３の（ｄ）参照）。
このように、従来装置におけるタイムシフト再生ではホストコンピュータからの記録、再生要求が切り替わるたびに記録処理が中断されてシークが発生してしまう。
つまり、タイムシフト再生ではメモリサイズによらず頻繁に記録の中断が発生することになり、シークエラー等によるリトライ処理に時間がかかるという不具合が発生しやすくなる。
【００９３】
一方、図１４の（ａ）〜（ｄ）は、コントローラ１０によるタイムシフト再生におけるデータ格納のフォーマットを示す図である。
ここでは、コントローラ１０は、図３の（ｄ）に示すように、キャッシュメモリ８の全メモリ領域（メモリアドレスＭ０からＭ１）を記録データ格納用メモリ領域（メモリアドレスＭ０からＭ４）２０と再生データ格納用メモリ領域（メモリアドレスＭ４からＭ１）２３とに分割する。
なお、ＤＶＤ＋ＲＷディスクではホストコンピュータ１２からセクタ単位でランダムに記録が可能であるため、端数データ格納用メモリ領域２１を確保しているが、説明を簡素化するため、ここではＥＣＣブロック単位で連続的に記録を行うものとする。
【００９４】
コントローラ１０は、ホストコンピュータ１２からデータ記録要求を受けた場合、記録データ格納用メモリ領域２０へデータを格納し、ホストコンピュータ１２に対して処理完了を通知する（図１４の（ａ）参照）。この段階では記録データ格納用メモリ領域２０内のデータ占有量は所定の記録開始しきい値を超えていないため、光ディスクへの記録は開始していない。
なお、コントローラ１０は、データ受信からデータ記録までは、記録データ格納用メモリ領域２０、すなわちメモリアドレスＭ０からＭ４をリングバッファリング方式で使用し、リング開始ポインタ（ＲＳ０）及びリング終了ポインタ（ＲＥ０）をそれぞれメモリアドレスＭ０及びＭ４に設定する。
【００９５】
次に、コントローラ１０は、ホストコンピュータ１２からデータ再生要求を受けた場合は、データ記録に先立って、要求されたデータを光ディスクから読み出して再生データ格納用メモリ領域２３に格納する（図１４の（ｂ）参照）。
このとき、コントローラ１０は、再生データ格納用メモリ領域２３をリングバッファリング方式で使用するために、リング開始ポインタ（ＲＳ１）及びリング終了ポインタ（ＲＥ１）にそれぞれメモリアドレスＭ４及びＭ２を設定する。
次に、コントローラ１０は、ホストコンピュータ１２から先ほどの記録データと連続する記録要求を受けた場合は、再びデータ記録用のリングポインタを設定し、記録データ格納用メモリ領域２０内に続けてデータを格納する（図１４の（ｃ）参照）。
このように、ホストコンピュータ１２から連続的な記録と再生の要求を交互に要求された場合は、記録データ格納用メモリ領域２０へのデータ格納と光ディスクからのデータ再生を繰り返す。
【００９６】
また、コントローラ１０は、記録データ格納用メモリ領域２０内のデータ占有量が所定の記録開始しきい値を超えた場合は記録を開始する（図１４の（ｄ）参照）。
以上に述べたように、記録データと再生データをそれぞれ記録データ格納用メモリ領域と再生データ格納用メモリ領域に格納することにより、再生要求のたびにメモリ内に存在するデータを記録してしまう必要がなくなる。
したがって、タイムシフト再生において一定量の記録データが格納されてからデータ記録を開始することができ、安定したデータ記録を行うことが可能となる。
【００９７】
図１５及び図１６は、コントローラ１０によるタイムシフト再生動作を示すフローチャート図である。
本実施例ではＤＶＤ＋ＲＷディスクを対象とする。ＤＶＤ＋ＲＷディスクではホストコンピュータ１２からセクタ単位でランダムに記録が可能であるが、説明を簡素化するため、ここではＥＣＣブロック単位で連続的に記録を行い、記録途中で再生動作を行うものとする。
【００９８】
コントローラ１０は、図１５に示すように、データ記録処理を開始すると、ステップ（図中「Ｓ」で示す）６１でキャッシュメモリのメモリの分割処理を行う。
このメモリ分割処理では、図２に基づいて示した処理でキャッシュメモリ８のメモリ分割を行い、その結果、キャッシュメモリ８の記憶領域を、図３の（ｄ）に示すように記録データ格納用メモリ領域２０と再生データ格納用メモリ領域２３と端数データ格納用メモリ領域２１とに分割する。
本実施例では次に、記録データ格納用メモリをリングバッファリング方式で使用するために、ステップ６２の記録用リング設定処理でリング開始ポインタ（ＲＳ０）及びリング終了ポインタ（ＲＥ０）にそれぞれメモリアドレスＭ０及びＭ４を設定し、ステップ６３でホストコンピュータからデータ記録要求があるか否かを判断する。
【００９９】
ここでは記録を要求されているため、ステップ６３でデータ記録要求有りと判断し、ステップ６４で要求データを受信して記録メモリ（記録データ格納用メモリ領域）へ転送して記憶（格納）する（図１４の（ａ）参照）。
次に、ステップ６５で現在光ディスクへの記録中か否かを判断し、データ記録中の場合は、ステップ６３へ戻って再びホストコンピュータからのデータ記録要求があるか否かの判断を行う。ここでは記録開始前であるため、ステップ６５でデータ記録中では無いと判断し、ステップ６６で次に記録開始の条件を満たしているか否かの判断を行う。
その条件としては、記録データ格納用メモリ領域２０のデータ占有量が所定の記録開始しきい値を超えたか否か、あるいはホストコンピュータから記録完了要求があるかなどが考えられる。
【０１００】
ステップ６６の判断で記録開始条件を満たしていない場合、ステップ６３へ戻って再びホストコンピュータからの記録要求があるか否かの判断を行う。
一方、ステップ６３の判断においてホストコンピュータからのデータ記録要求がなかった場合は、図１６のステップ７４へ進んで再生要求があるか否かを判断し、再生要求があった場合、ステップ７５で現在光ディスクへの記録中か否かを判断し、記録中の場合は、ステップ７６でデータ記録完了か否かを判断して、データ記録完了を待ち、ステップ７６でデータ記録完了と判断したら再生処理へ移行する。
一方、ステップ７５の判断でデータ記録中ではない（光ディスクへの記録前の待機状態である）場合は、記録データ格納用メモリ領域内に書き込み前のデータが存在した場合も、当該データの記録に先立って再生処理へ移行する。
【０１０１】
ここでは、まず、ステップ７７で要求再生アドレスのデータが記録メモリ（記録データ格納用メモリ領域）内に存在するか否かを判断し、記録データ格納用メモリ領域内に存在しない場合、ステップ７８の再生用リング設定処理で再生データ格納用メモリ領域をリングバッファリング方式で使用するために、リング開始ポインタ（ＲＳ１）及びリング終了ポインタ（ＲＥ１）にそれぞれメモリアドレスＭ４及びＭ２を設定し、ステップ７９で指定アドレスの再生を開始する（図１４の（ｂ）参照）。
次に、ステップ８０で要求されたデータがキャッシュされたか否かを判断して、要求されたデータが再生データ格納用メモリ領域に記憶（格納）されるのを待ち、格納されれば、ステップ８１でホストコンピュータが要求したデータを転送して記憶（格納）する。
なお、ホストコンピュータが要求したデータを転送した後は、再生データ格納メモリ領域内の当該データは不要になるため、先読みによって読み出されたデータで上書きしていく。
【０１０２】
次に、ステップ８２で引き続きホストコンピュータからデータ再生要求が終了か否かを判断し、データ再生要求が終了でなければ、ステップ８０へ戻ってキャッシュされたと判断するまで待ち（先読みによって要求データが再生データ格納用メモリ領域に読み出されるのを待ち）、ステップ８１で当該データを転送して記憶（格納）する。
一方、ステップ８２でホストコンピュータからのデータ再生要求終了と判断したら、図１５のステップ６２へ戻って再び記録用リング設定を行い、ステップ６３の判断でデータ記録要求を待つ。
ところで、この情報記録装置ではホストコンピュータ１２から再生要求を受ける以前に要求されたデータを光ディスクへ記録せずに再生処理を行う場合がある。
【０１０３】
つまり、光ディスクへ記録を行う前のデータに対して再生要求を受けた場合は、光ディスク上のデータを再生するのではなく、キャッシュメモリ８内に存在する記録前のデータをホストコンピュータ１２に報告する必要がある。
すなわち、ステップ７７においてホストコンピュータが要求したデータが記録データ格納用メモリ領域内に存在すると判断した場合は、ステップ８３で当該メモリ内のデータをホストコンピュータに転送し、ステップ８４で引き続き再生要求が終了か否かを判断し、データ再生要求があれば、ステップ７７へ戻って再びホストコンピュータが要求したデータが記録データ格納用メモリ領域内に存在するか否かを判断する。
ステップ８４の判断で再生要求終了でなければ、ステップ７７へ戻り、再生要求終了なら、図１５のステップ６２へ戻る。
ステップ８２の判断でデータ再生要求終了ならば、図１５のステップ６２へ戻って再び記録用リング設定を行い、ステップ６３の判断で記録要求を待つ。
【０１０４】
次に、ホストコンピュータ１２が要求した再生処理を行った後、再び記録要求を受けた場合の処理について説明する。
コントローラ１０は、図１５に示すように、データ再生処理完了後、ステップ６１で記録データ格納用メモリ領域をリングバッファリング方式で使用するために、リング開始ポインタ（ＲＳ０）及びリング終了ポインタ（ＲＥ０）にそれぞれメモリアドレスＭ０及びＭ４を設定し、ステップ６３でホストコンピュータからデータ記録要求があるか否かを判断する。
ステップ６３でホストコンピュータから直前の記録要求アドレスと連続する記録要求が有った場合は、ステップ６４で記録データ格納用メモリ領域内に続けてデータを転送して記憶（格納）し（図１４の（ｃ）参照）、ステップ６５でデータ記録中か否かを判断し、ステップ６６で記録開始条件を満たしているか否かを判断する。
【０１０５】
ステップ６６の判断で記録開始条件を満たしていない場合、ステップ６３へ戻って再びホストコンピュータからの記録要求があるか否かを判断する。
このように、ホストコンピュータ１２が連続的な記録と再生の要求を交互に要求した場合は、記録データ格納用メモリ領域２０へのデータ格納と光ディスクからのデータ再生を繰り返す。
すなわち、記録データと再生データをそれぞれ記録データ格納用メモリ領域と再生データ格納用メモリ領域に格納することにより、再生要求のたびにメモリ内に存在するデータを記録してしまう必要がなくなる。
したがって、タイムシフト再生において一定量の記録データが格納されてからデータ記録を開始することができ、安定したデータ記録を行うことが可能となる。
【０１０６】
一方、ステップ６６の判断で記録開始条件を満たしている場合、例えば記録データ格納用メモリ領域のデータ占有量が所定の記録開始しきい値を超えた場合は、ステップ６７で光ディスクへの記録を開始する。
次に、ステップ６８でホストコンピュータから完了要求（記録終了要求）があるか否かを判断し、完了要求がなければ、ステップ６３へ戻って再びホストコンピュータからの記録要求があるか否かを判断する。
一方、ステップ６８の判断でホストコンピュータから完了要求（データ記録終了要求）があった場合は、データ記録終了処理へ移行する。
ここではまず、ステップ６９で記録データ格納用メモリ領域内に未記録（未書き込み）のデータが残っているか否かを判断し、未書き込みデータが残っていた場合、ステップ７０で記録開始前の待機状態であるか否かを判断し、待機状態であれば、ステップ７１でデータ記録を開始し、ステップ７２でデータ記録完了か否を判断して、データ記録完了を待つ。
【０１０７】
ステップ７２の判断でデータ記録完了であれば、ステップ７３でステップ６１において分割したメモリ領域を復帰させて（元の状態に戻して）、この処理を終了する。
また、ステップ６３の判断においてデータ記録要求がなかった場合、さらにステップ７４の判断において再生要求がなかった場合は、ステップ６８で完了要求（データ記録終了要求）が有ったか否かを判断し、完了要求があった場合は、上述した記録終了処理へ移行する。
【０１０８】
この情報記録装置によれば、データ記録の形態に応じてキャッシュメモリを分割して使用することにより、それぞれの記録に応じて必要なキャッシュメモリを擬似的に生成することができ、複雑な記録処理が要求される場合であっても効率的なデータ記録を行うことが可能になる。
また、複数のキャッシュメモリを必要としない記録処理では、キャッシュメモリの全領域を記録データ格納用に使用することができ、キャッシュメモリ内の記録データがなくなることによる記録中断を極力避けることが可能になる。
さらに、キャッシュメモリ内の複数の分割メモリ領域について、それぞれ最適なバッファリング方式を選択することができ、効率的に分割メモリ領域を使用することが可能になる。
【０１０９】
また、複数の分割メモリ領域のうち、少なくとも記録データ格納用メモリ領域や再生データ格納用メモリ領域、あるいはベリファイ用メモリ領域に使用する分割メモリ領域はリングバッファリング方式で使用することができ、効率的なバッファリングが可能になる。
さらに、リングバッファリング方式で使用するメモリ領域について、当該メモリ領域を使用する際にリング開始ポインタ，リング終了ポインタをそれぞれ設定することにより、リング開始ポインタ，リング終了ポインタを複数箇所同時に設定できない従来装置であっても、キャッシュメモリを複数の領域に分割してそれぞれの分割領域をリングバッファとして使用することが可能になる。
【０１１０】
また、１つのリングバッファが他のリングバッファを含むように設定される場合であっても、それぞれのリングバッファを使用する際にリング開始ポインタ，リング終了ポインタを設定するため、あるメモリ領域内に予期せぬリング開始ポインタ又はリング終了ポインタが存在して誤った位置にデータが格納される不具合を避けることが可能になる。
さらに、記録データとベリファイにおける再生データをそれぞれ記憶データ記憶用領域（記録データ格納用メモリ領域）とベリファイ用記憶領域（ベリファイ用メモリ領域）に記憶（格納）することにより、ベリファイ処理中もキャッシュメモリ内の記録データを保持しておくことができる。したがって、ベリファイ処理中に欠陥が検出された場合に当該欠陥領域に記録したデータを所定の交替領域に再度記録することが可能となる。
【０１１１】
また、ベリファイ処理によって正常に記録されたことが確認されたデータから順に、当該データが格納されたメモリ領域に次のデータを受信して記憶するため、記録データを効率的に記憶することができる。また、少なくともベリファイ処理が完了していない領域へ記録されたデータは保持しているため、ベリファイ処理中に欠陥が検出された場合に当該欠陥領域に記録したデータを所定の交替領域に再度記録することが可能となる。
さらに、ベリファイ用記憶領域を必要最小限の容量にし、記録データ記憶用領域の容量を確保することにより、ベリファイ処理による記録の中断を極力減らすことができ、データ記録のパフォーマンスを維持することが可能となる。また、ベリファイ処理での再生データ自体は特に重要ではないため、例えば、ベリファイ用記憶領域はリングバッファとして使用して再生データを順次上書きしていくことによって容易にベリファイ処理を実現することができる。
【０１１２】
また、記録データと再生データをそれぞれ記録データ記憶用領域と再生データ記憶用領域（再生データ格納用メモリ領域）に格納することにより、再生要求のたびにキャッシュメモリ内に存在するデータを記録してしまう必要がなくなる。したがって、タイムシフト再生において一定量の記録データが格納されてからデータ記録を開始することができ、安定したデータ記録を行うことが可能となる。
さらに、データ再生要求を時点で光ディスクへ記録中であった場合、キャッシュメモリ内の記録データのうち、少なくとも現在の書き込み動作内で連続的に記録できるデータに関しては記録完了を待ってから再生処理を行うため、記録中断回数を増やすことなくキャッシュメモリ内のデータ占有量を減らし、その後の記録データ格納用に準備することができる。
【０１１３】
また、光ディスクへ記録を行う前のデータに対して再生要求を受けた場合はキャッシュメモリ内に存在する記録前のデータをホストコンピュータに報告するため、ホストコンピュータからの再生要求に対して正しく応答することが可能となる。
さらに、再生データ記憶用領域を必要最小限の容量にし、記録データ記憶用領域の容量を確保することにより、記録処理によるシーク回数を減らし、安定したデータ記録を行うことが可能となる。
【産業上の利用可能性】
【０１１４】
この発明による情報記録装置と情報記録方法とプログラムは、デスクトップパソコン，ノートブックパソコン等のパーソナルコンピュータにおいても適用することができる。
【図面の簡単な説明】
【０１１５】
【図１】この発明の一実施形態である情報記録装置の構成を示すブロック図である。
【図２】図１に示す情報記録装置におけるキャッシュメモリのメモリ分割処理を示すフローチャート図である。
【図３】図１に示すコントローラ１０による上記の要領で分割されたメモリ領域のレイアウトを示す図である。
【図４】図１に示すコントローラ１０による記録ブロック単位に満たないデータ記録を行う場合のメモリ分割とデータ格納の例を示す説明図である。
【０１１６】
【図５】同じく図１に示すコントローラ１０による記録ブロック単位に満たないデータ記録を行う場合のメモリ分割とデータ格納の例を示す説明図である。
【図６】また同じく図１に示すコントローラ１０による記録ブロック単位に満たないデータ記録を行う場合のメモリ分割とデータ格納の例を示す説明図である。
【図７】図１に示すコントローラ１０によるＤＶＤ＋ＲＷディスクへのデータ記録動作を示すフローチャート図である。
【０１１７】
【図８】図７の続きの処理を示すフローチャート図である。
【図９】図１に示すコントローラ１０によるベリファイ処理及び交替処理を伴うデータ記録を行う場合のメモリ分割とデータ格納の例を示す説明図である。
【図１０】図９の続きの処理を示すフローチャート図である。
【図１１】図１に示すコントローラ１０によるＣＤ−ＭＲＷディスクへのデータ記録動作を示すフローチャート図である。
【０１１８】
【図１２】図１１の続きの処理を示すフローチャート図である。
【図１３】従来装置におけるＤＶＤ＋ＲＷディスクにおいてタイムシフト再生を行う場合のメモリ分割とデータ格納の例を示す説明図である。
【図１４】図１に示すコントローラ１０によるＤＶＤ＋ＲＷディスクにおいてタイムシフト再生を行う場合のメモリ分割とデータ格納の例を示す説明図である。
【図１５】図１に示すコントローラ１０によるタイムシフト再生動作を示すフローチャート図である。
【図１６】図１５の続きの処理を示すフローチャート図である。
【符号の説明】
【０１１９】
１：モータ    ２：光ピックアップ    ３：粗動モータ    ４：回転制御系部    ５：粗動モータ制御系部    ６：光ピックアップ制御系部    ７：信号処理系部    ８：キャッシュメモリ    ９：外部インタフェース    １０：コントローラ    １１：光ディスク    １２：ホストコンピュータ    ２０：記録データ格納用メモリ領域    ２１：端数データ格納用メモリ領域    ２２：ベリファイ用メモリ領域（交替先データ格納用メモリ）    ２３：再生データ格納用メモリ領域
【要約】
【目的】  データが記録可能な情報記録媒体に対して記録又は再生するデータを一時的に記憶するメモリを有効に活用してデータ記録の中断を極力少なくできるようにする。
【構成】  コントローラ１０は、データが記録可能な光ディスク１１に対してデータの記録又は再生を行う際にそのデータを一時的に記憶するキャッシュメモリ８に対して、光ディスク１１に対するデータ記録の形態に応じて複数個のメモリ領域、つまり記録データ格納用メモリ領域と端数データ格納用メモリ領域とに分割してデータを記憶させる制御を行う。
【選択図】        図１
【図１】
0003637346.tif 000002
【図２】
0003637346.tif 000003
【図３】
0003637346.tif 000004
【図４】
0003637346.tif 000005
【図５】
0003637346.tif 000006
【図６】
0003637346.tif 000007
【図７】
0003637346.tif 000008
【図８】
0003637346.tif 000009
【図９】
0003637346.tif 000010
【図１０】
0003637346.tif 000011
【図１１】
0003637346.tif 000012
【図１２】
0003637346.tif 000013
【図１３】
0003637346.tif 000014
【図１４】
0003637346.tif 000015
【図１５】
0003637346.tif 000016
【図１６】
0003637346.tif 000017