(57)【要約】【課題】記憶ソースから情報を得ることによって実現することができるよりも高速でユーザに情報を提供することのできる方法を提供する。【解決手段】本発明の一実施形態による方法６０は、ユーザから、ユーザがアクセス可能な格納データに対する要求を受け取るステップ６０１であって、格納データは一度に１枚ずつアクセス可能な１枚または複数枚のディスクに保持され、ディスクは要求が行われてから情報が実際に利用できるようになるまでの待ち時間を有する、ステップと、要求されたデータが格納されているソース以外のソースから、要求されたデータの第１の部分を得るステップであって、第１の部分の量は待ち時間の期間に及ぶ、ステップと、を含む。【選択図】図６
2004362592.tif 000002
【特許請求の範囲】
【請求項１】
記憶ソースから情報を得ることによって実現することができるよりも高速でユーザに前記情報を提供する方法であって、
前記ユーザから、該ユーザがアクセス可能な格納データに対する要求を受け取るステップであって、前記格納データは一度に１枚ずつアクセス可能な１枚または複数枚のディスクに保持され、該ディスクは前記要求が行われてから前記情報が実際に利用できるようになるまでの待ち時間を有する、ステップと、
前記要求されたデータが格納されているソースロケーション以外のソースロケーションから前記要求されたデータの第１の部分を得るステップであって、前記第１の部分の量は前記待ち時間に及ぶ、ステップと、
を含む方法。
【請求項２】
前記第１の部分は、関連する待ち時間を有する他のデータと併せて記憶装置に格納され、該記憶装置はデータ取得に連続して利用可能である、請求項１記載の方法。
【請求項３】
ユーザからの要求に関わりなく、複数の第１の部分を含む共通ディスクから前記第１の部分を提供するステップであって、前記各第１の部分は、前記要求の、可能な異なる１つに対応する、ステップと、
前記要求されたデータを含む前記ディスクの代わりに、前記共通ディスクを代用するステップと、
をさらに含む、請求項１記載の方法。
【請求項４】
バッファが前記情報を前記代用期間中に前記ユーザに与えることができるように、前記提供された第１の部分を前記バッファに格納するステップをさらに含む、請求項３記載の方法。
【請求項５】
第１の記憶ソースであって、該第１の記憶ソース上のデータに対する要求を受け取ってから該第１の記憶ソースがデータ検索に物理的に利用できるようになるまでの待ち時間を有する、第１の記憶ソースと、
前記第１の記憶ソースとは物理的に別個であり、前記ユーザが要求可能なデータの第１の部分を保持する第２の記憶ソースと、
を備え、
前記第１の部分は、複数の他の記憶ソースからのデータの第１の部分と併せて格納される、データ検索システム。
【請求項６】
前記第１および第２の記憶ソースは、一度に１枚が前記システムにアクセス可能なディスクである、請求項５記載のシステム。
【請求項７】
前記第２の記憶ソースには複数の前記第１の部分が格納され、該各第１の部分は、前記要求の、可能な異なる１つに対応する、請求項６記載のシステム。
【請求項８】
前記第２の記憶ソースの代わりに、前記要求されたデータを含むディスクを代用するコントローラをさらに備えている、請求項７記載のシステム。
【請求項９】
個々にアクセス可能な複数の記憶媒体を保持するデータ記憶ライブラリと、
前記ライブラリに収容された前記記憶媒体の中の選択された１つからデータを読み出すように動作可能な媒体ドライブであって、所望のデータを識別してから該識別されたデータが実際に利用できるようになるまでの待ち時間を有する、媒体ドライブと、
前記媒体ドライブに配置された記憶媒体からデータを受け入れる少なくとも１つのバッファであって、前記データの受け入れ速度はデータ利用速度よりも高速であり、それによって媒体ドライブアイドル期間を生み出す、少なくとも１つのバッファと、
を備え、
前記媒体ドライブは、前記アイドル期間中に少なくとも１つのプログラムをユーザに送出するように動作可能であり、
前記送出されたプログラムの第１の部分は、前記少なくとも１つのプログラムが存在する記憶媒体以外の記憶媒体からやって来る、
データ検索システム。
【請求項１０】
前記異なる記憶媒体は、ドライブからの前記媒体を交替して共有する、請求項９記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ記憶技法に関し、特に、プログラムデータの格納にスワップ可能な記憶装置を使用するシステムおよび方法に関するものである。
【０００２】
（関連出願への相互参照）
本願は、本願と同じ譲受人に譲渡された２００３年６月５日出願の米国特許出願第１０／４５５，６５１号、名称「SYSTEM AND METHOD FOR USING SWAPPABLE STORAGE FOR HIGH DATA CONTENT MULTI-SOURCE DATA STORAGE」に関連する。
【背景技術】
【０００３】
今日では、リッチデータコンテンツ（high data content）ファイルを、デジタル多用途ディスク（ＤＶＤ）、コンパクトディスク（ＣＤ）、メモリカード等のスワップ可能な記憶装置にストリーミングし、また記憶装置からストリーミングすることが可能である。通常、この情報は、スワップ可能な記憶装置からコンピュータハードドライブおよび／またはコンピュータベースの一時記憶装置に、およびハードドライブ（または他の記憶領域）から画面、スピーカ、または外部メモリ等他の装置に処理される。
【０００４】
ユーザは、時として同時に、このような２つ以上のスワップ可能な記憶装置入力からデータを受け取りたい場合がある。このようなスワップ可能な装置に格納されているデータは時に、コンピュータにアクセスするユーザが使用したいと思うプログラムである。
【０００５】
これは、使用している記憶装置がプロセッサに物理的に接続されていない場合、またはプロセッサがこれらの装置の１つからしか一度にデータを送受信することができない場合に問題を呈する。これは、データが、コンピュータ上のハードドライブ等、データをランダムアクセス式にハードドライブの任意のロケーションに格納し、かつ検索することができる永続的にアクセス可能な記憶装置に格納されている状況では起こりそうもない。しかしながら、状況によっては、システム内部の記憶装置、たとえばハードドライブ等が利用できない場合がある。
【０００６】
データがスワップ可能な装置、たとえばＣＤまたはＤＶＤ等に格納されている場合、このようなデータは、システムがその記憶装置を見つけ、物理的にそれに接続し、次に、新たに接続された記憶装置から所望の情報を読み出すまで利用することができない。この動作には通常、有限量の時間がかかる。ユーザが、スワップ可能な装置に格納されているアプリケーションプログラム、または他のデータを使用したい場合、待ち時間の問題が発生する。瞬時応答を認識するのに慣れているユーザは、スワップ可能な記憶装置に必要なシーク−アクセス時間による遅延時間を感じた場合、不満を示す可能性がある。
【発明の開示】
【０００７】
一実施形態は、記憶ソースから情報を得ることによって実現することができるよりも高速でユーザに情報を提供する方法であって、ユーザから、ユーザがアクセス可能な格納データに対する要求を受け取ることであって、格納データは一度に１枚ずつアクセス可能な１枚または複数枚のディスクに保持され、ディスクは要求が行われてから情報が実際に利用できるようになるまでの待ち時間を有する、要求を受け取ることと、要求されたデータが格納されているソース以外のソースから、要求されたデータの第１の部分を得ることであって、第１の部分の量は待ち時間の期間に及ぶ、要求されたデータの第１の部分を得ることと、を含む、ユーザに情報を提供する方法を提供する。
【０００８】
他の実施形態は、第１の記憶ソースであって、第１の記憶ソース上のデータに対する要求を受け取ってから第１の記憶ソースがデータ検索に物理的に利用できるようになるまでの待ち時間を有する、第１の記憶ソースと、第１の記憶ソースとは物理的に別個であり、ユーザが要求可能なデータの第１の部分を保持する第２の記憶ソースと、を備えるデータ検索システムを提供する。
【０００９】
さらに他の実施形態は、個々にアクセス可能な複数の記憶媒体を保持可能なストレージライブラリと、ライブラリに含まれる記憶媒体の中の選択された記憶媒体からデータを読み出すように動作可能な媒体ドライブであって、要求されたデータを識別してから、識別されたデータが実際に利用できるようになるまでの待ち時間を有する、媒体ドライブと、媒体ドライブに配置された記憶媒体からのデータを受け入れる少なくとも１つのバッファであって、データは利用される前に受け入れられ、それによって媒体ドライブアイドル期間を生み出す、少なくとも１つのバッファと、を有し、媒体ドライブは、アイドル期間中に少なくとも１つのプログラムをユーザに送出するように動作可能であり、送出部分の中の第１の部分は、上記少なくとも１つのプログラムが存在する記憶媒体以外の記憶媒体から来る、データ検索システムを提供する。
【００１０】
さらに他の実施形態は、システムを制御するプログラム情報を提供する装置を提供し、この装置は、システムがアクセス可能な格納プログラムに対する要求を得る手段であって、格納プログラムは、要求されたときからプログラムが実際にシステムによる使用に利用できるようになるときまでの待ち時間を有するロケーションに保持される、要求を得る手段と、要求されたプログラムが格納されているロケーション以外のソースロケーションから、要求されたプログラムの中の第１の部分を得る手段と、を備え、第１の部分の量は待ち時間に及ぶ。
【発明を実施するための最良の形態】
【００１１】
記憶媒体がユーザに対して交互に利用可能になる場合、異なる記憶媒体へデータを、および異なる記憶媒体からデータを同時に処理したいというユーザの望みは、記憶媒体の中から選択された第１の記憶媒体からのデータを受け入れるように第１のバッファを構成し、記憶媒体の中からの第２の記憶媒体に記録するように定められたデータを受け入れるように第２のバッファを構成することによって満たされる。第１のバッファは、ユーザがデータを処理するよりも高速で第１の媒体からロードされ、それによってデータが第１のバッファにロード中でないスラック（slack）期間が生まれる。スラック期間中に、認知可能な遅延なしで第２のバッファからのデータを第２の媒体に転送することができる。
【００１２】
ユーザには、データが保持されているメインの記憶ソースからデータを得ることによって実現できるよりも、素早くデータが提供される。この結果は、要求されたデータの第１の部分を、要求されたデータが格納されているソース以外のソースから得ることによって実現され、第１の部分の量は、ユーザがメインの記憶ソースからの検索を待つ必要があった場合に発生したであろう待ち時間間隔（latency gap）に及ぶ。
【００１３】
図１は、本発明の一実施形態によるシステム１０の概観を示し、各種データソースおよびデータ宛先へ、および、それらからの情報を制御するバッファ１０７を備える。データソースＡ１０８からの圧縮ビデオデータ等の大容量データは、説明するようにシステム１０に流入することができる。このような情報は、たとえばビデオドライバ１０９を介してＴＶまたはモニタ１１０に、および／またはスピーカ１１１に提供することができる。代替として、ソースＡからのデータは、ドライバ制御機構およびサーボシステム１０３によって制御されるドライブ１２を介してＣＤ、ＤＶＤ、または他の媒体に記録するように提供することも可能である。
【００１４】
ドライブ１２は、たとえば、ＣＤ／ＤＶＤ機構１０２およびドライブバッファ１０１を収容することができる。システムコントローラ１０６は、好ましくは、バッファへの、およびバッファからの情報を制御するとともに、ドライバ制御機構およびサーボ１０３を制御する。ＣＤ／ＤＶＤ機構１０２は、図示の実施形態では、いくつかのＤＶＤおよびＣＤを保持し、必要に応じてＣＤ／ＤＶＤ機構に、およびＣＤ／ＤＶＤ機構から提供することができるようにマルチディスクライブラリチェンジャ１１と物理的に接続されている。
【００１５】
通常、ドライブ１２は、機構に内蔵されたドライブバッファ１０１を有する。しかしながら、ドライブバッファ１０１は、所望であればドライブ１２の外部に配置してもよい。ドライブバッファ１０１には、記録のために、バッファ１０７から書き込みチャネル１０５を供給することができる。ドライブバッファ１０１は、読み出しチャネル１０４をバッファ１０７に供給することができる。
【００１６】
図示の実施形態のバッファ１０７は、ソースバッファ１２０、記録バッファ（Ｒ）１２１、再生バッファ（Ｐ）１２２、高速早送りバッファ（ＦＦ）１２３、および高速巻き戻しバッファ（ＦＲ）１２４を備える。一実施形態において、ソースバッファ１２０は、いくつかのバッファ、たとえばＳ１〜ＳＮを備え得る。図示の実施形態では、このようなソースバッファはそれぞれ２メガバイトの容量を有するが、本発明によれば他の容量も可能である。単一バッファとして図示されているが、記録バッファ１２１、再生バッファ１２２、高速早送りバッファ１２３、および高速巻き戻しバッファ１２４のいずれかまたはすべてが、所望であれば複数のバッファを備えてもよく、または共通バッファの各種サブセクションへのポインタを有する単一バッファとして構成されてもよいことを理解されたい。図示の実施形態では、記録バッファ１２１および再生バッファ１２２はそれぞれ４８メガバイトであり、一方、高速早送りバッファ１２３および高速巻き戻しバッファ１２４はそれぞれ８メガバイトである。これら容量は所望に応じて調整することが可能である。このようなバッファサイズの調整は、たとえば、ドライブ１２のサイクル時間、データ転送速度、メモリコスト、および利用可能なメモリサイズに依存し得る。一実施形態において、高速早送りバッファ１２３および高速巻き戻しバッファ１２４は、再生バッファ１２２の一部である。
【００１７】
システム１０の１つの通常の動作は、ソースＡ１０８からビデオデータを受け取り、それからそのデータをドライブ１２中のディスクに記録するというものである。同時に、マルチディスクチェンジャライブラリ１１からＣＤまたはＤＶＤをＴＶ１１０に再生したいことがある。しかしながら、図示の実施形態では、単一のＣＤ／ＤＶＤドライブ１２しかなく、このドライブは、ある期間で１枚のディスクへの記録に呼び出されながら、見掛け上（ユーザによって認識される上で）同時に別のディスクからのデータ再生のために呼び出される。この状況を遂行するため、本発明のバッファ１０７を使用して、ユーザがデータを連続した流れであるものとして認識するようにドライブ１２からの、およびドライブ１２への情報をバッファリングする。現実において、物理的な状況は、ドライブ１２を２枚以上の異なるＣＤ／ＤＶＤまたは他の媒体の間で時分割して、異なるディスク上で読み出し（再生）状況および／または書き込み（記録）状況の両方を実現するというものである。本発明の実施形態は、上記読み出し／書き込み状況、ならびに読み出し／読み出し状況および書き込み／書き込み状況を含む、異なる媒体への同時読み出しおよび書き込みの様々な組み合わせを提供し得ることを認識されたい。もちろん、異なる物理的な記録媒体も考慮される（記録用に１枚、再生用に１枚）が、ユーザは両方の機能に同じＣＤまたはＤＶＤを使用したい場合がある。
【００１８】
ユーザが先にある何かを見るために高速早送りする、またはすでに見た何かを見るために高速巻き戻しすると決めた場合、さらなる問題が存在する。一実施形態において、以下考察するように、高速早送りおよび高速巻き戻しは８Ｘで実現され、Ｘは、画像がモニタに表示された場合、視聴者が適宜認識するようにデータをストリーミングするデータ速度である。図示の実施形態では、ビデオデータストリーミングのデータ速度は毎秒２メガビットである。これは、データがユーザに対して正常に見えるように視聴者がＴＶまたはモニタ上のデータを認識することのできる速度である。８Ｘ速では、視聴者はモニタ上でデータを８倍速で見ることができる。これは、たとえば、データの８番目毎のフレームを表示することによって実現される。Ｘデータ速度は、本明細書における考察のためであり、（上に述べたように）毎秒２メガビットである。また、１バイトは８ビットであるものと想定する。もちろん、本明細書に特に述べる毎秒２メガビット以外のデータ速度、および８Ｘ以外の高速早送り速度および／または高速巻き戻し速度も本発明により利用することが可能である。
【００１９】
これより図２Ａ〜図２Ｄを参照して（図２に従って配置される）、時間区分にそれぞれ分けられた何本かの縦線２１〜２８を含むタイミングチャート２０を示す。例示を目的として、選択された区分は１秒間隔である。これら間隔は、データ速度およびバッファサイズに応じて任意所望の数であってよい。間隔のサイズは、チェンジャ機構の利用が過度にならないように、ディスクスワップアウト時間および特定チェンジャに許容可能なサイクル数と釣り合わされる。
【００２０】
タイムライン２１は、ＤＶＤ  ＡがＤＶＤ機構１０２（図１）内にあるものと想定する。時間０から始まり、図示の実施形態によれば、情報がＤＶＤ  ＡからドライブバッファＤ１０１（図１）に１６Ｘ（３２メガビット／秒）データ転送速度で転送される。したがって、タイムライン２２に示すように、１秒の終わりには、バッファＤに一度に２ＭＢずつ転送された３２メガビットすなわち４メガバイト（ＭＢ）がある。動作時に、ＤＶＤ  Ａからのデータは、一度に２ＭＢずつドライブバッファＤ１０１にストリーミングされ、そして読み出しチャネル１０４（図１）を介して４８ＭＢ再生バッファＰ１２２（図１）に転送される。
【００２１】
転送情報２メガバイトあたり、バッファＤとバッファＰの間にはわずかな転送時間、おおよそ１００メガバイトあたり１秒かかる。この転送時間は説明を簡単にするために無視した。したがって、タイムライン２３に示すように、１／２秒のポイント（任意選択）で始まり、バッファＤからの情報Ａの最初の２メガバイトはＰバッファに転送される。この転送は、好ましくは、バッファＰが満杯になるまで、たとえば４８ＭＢのデータが再生バッファＰに移動するまで続けられる。割り込みがない場合、これは、タイムライン２３に示すように、再生バッファＰが１２秒のポイントで満杯になるまで続けられる。
【００２２】
情報がバッファＰに転送開始されてから随時、１秒の印の４分の３（任意選択）から始まるタイムライン２４に示すように、情報をバッファＰからユーザにＸ速、たとえば毎秒２メガビットでストリーミングし始めることができる。情報はバッファＰからＸ速でストリーミングされるため、再生バッファＰを空にするにはおおよそ１９２秒かかることになる。したがって、１２秒のポイントとおおよそ１９０秒のポイントの間に、ドライブバッファＤ（タイムライン２１に示すように）は他の目的に利用できるようになる。
【００２３】
たとえば、ここで、ユーザまたは別のユーザがソースＡ１０８（図１）等別のソースからもＤＶＤ  Ｂにビデオを記録したい場合、システムはそうすることができる。したがって、タイムライン２１に示すように、１２秒間隔で、ＤＶＤ  Ａはライブラリ１１（図１）に戻る。おおよそ１６秒間隔で、タイムライン２８（図２Ｄ）に示すように、ＤＶＤ  Ｂはドライブ１２上の位置に入る。
【００２４】
タイムライン２７（図２Ｂ）に示すように、ユーザは、たとえばソースＡからのビデオデータの取り込みを随時開始することができた。
【００２５】
本例では、このようなデータは１秒間隔で記録バッファＲ１２１（図１）に入って来るものとして示されている。このデータは１Ｘ速で入って来る。したがって、４８ＭＢのＲバッファを完全に満杯にするのに１９２秒近くかかることになる。秒１後に随時、バッファＲは、ＤＶＤ  Ｂに記録するためにデータを１６Ｘ速度でドライブ１２に送信開始することに利用できるようになる。記録バッファが完全に満杯になるまでに１９２秒が過ぎる。空にする際には１２秒しか必要ないため、データ転送は１９２秒内のいずれの時間でも、好ましくはバッファが略満杯になったときに開始することができ、したがって他のデータストリームに大きなスラック期間が残される。
【００２６】
本例ではＤＶＤ  ＡからＤＶＤ  Ｂへの変更が１２秒間隔で行われたが、これは１２秒からおよそ１９１秒までのいずれの時間で行われてもよいことに留意されたい。また、この例は２枚のＤＶＤに焦点を合わせたが、もちろん、同じ原理は何枚かのＤＶＤ、ＣＤ、または他の記憶装置および／または媒体にも適用することが可能である。また、記録はビデオデータ等あらゆる種類のデータであってもよく、また再生もオーディオデータ等あらゆる種類のデータであってもよいことに留意されたい。
【００２７】
タイムライン２４（図２Ａ）は、データが現在移動されている位置をタイムラインに沿って印すポインタ２４０２を示す。本例では、このポインタは５秒の間隔であり、ユーザがＰバッファからのデータ５秒分をストリーミング速度１Ｘで視聴または使用したことを意味する。システムは、所望であれば、常にポインタ２４０２の先のデータ８ＭＢを有する、タイムライン２５に示す高速早送りバッファＦＦを有する。このデータは、８番目毎のフレームが視聴者に表示され、視聴者が、ビデオテープの高速早送りを見る場合に見るのと略同じ情報を有効に高速閲覧するように８Ｘ速で閲覧することが可能である。図示の実施形態の８ＭＢ高速早送り（ＦＦ）バッファでは、更新前の４秒の閲覧が可能である。
【００２８】
また、現在ポインタ２４０２の位置に基づいて、最後の８ＭＢデータの高速巻き戻しバッファ（ＦＲ）（図２Ｂのタイムライン２６に示す）も存在し、これもまた、視聴者に４秒のデータを逆方向に８Ｘ速で与える。この情報は、ＰバッファからＦＦまたはＦＲバッファに循環ベースで有効に転送される。ユーザがデータの供給にＰバッファの容量を超える高速早送りを望む場合、ディスクの相互交換機能を依然として許しながら、ＤＶＤまたは他のソースからそのデータを得ることはシステムの責任であることに留意されたい。これには、再循環ＦＦまたはＦＲバッファを８ＭＢのデータで満杯に保つことによって対処することができる。
【００２９】
考察したように、高速早送りおよび高速巻き戻しに割り当てられるバッファのサイズは、パフォーマンスとコストとのバランスである。内容は、好ましくは、循環してバッファリングされ、これは、最新の内容が連続して追加され、最古の内容が連続して破棄されることを意味する。一例では、新しい内容の追加アドレス用に１つ（２４０１）、現在の視点アドレス用に１つ（２４０２）、および古い内容の破棄アドレス用に１つ（２４０３）、合計で３つのメモリポインタ（２４０１、２４０２、および２４０３）が使用される。
【００３０】
考察している例では、システムは常に、新しい内容のアドレスを現在視点アドレスの８ＭＢ先を指すように保持しようとし、古い内容のアドレスは、現在視点アドレスの８ＭＢ後に保たれ、そうして高速早送りおよび高速巻き戻しそれぞれを維持する。必要なオーバヘッドに応じて、新しい内容の追加アドレスおよび古い内容の破棄アドレスに単一のポインタを使用することも可能である。ＤＶＤドライブが１６Ｘ読み出し速度であると想定すると、再生がまずイネーブルされると、バッファＤは巻き戻しバッファＦＲを１６Ｘで満たし始め、一方、バッファＦＲは上に述べたようにＸ速で再生する。これは、ユーザが高速早送りまたは高速巻き戻しを決めた場合、ディスク変更アクセス時間を吸収するのに十分である。
【００３１】
ユーザが高速早送りを押下すると、データはＦＦバッファから８Ｘで読み出される。システムが記録ディスクから再生ディスクにスワップした直後に高速早送りコマンドが来た場合、高速早送りバッファには主にＤＶＤドライブ自体から１６Ｘで供給され、その間、バッファは８Ｘでユーザに向けて空けられている。高速早送りは、記録ディスクがサービスを受けている２分間続き得る。これは、ドライブが、バッファが空になるのを回避するのに足る速度で供給し再生し続けるためである。
【００３２】
再生ディスクがスワップアウトされ、記録ディスクがスワップインした直後に高速早送りコマンドが来た場合、記録バッファは略満杯であるため、ドライブに１６Ｘで書き込み、可能な限り高速で記録バッファを空にする必要がある。この速度では、記録バッファは１２秒で空になり、その後、システムは再生ディスクに切り換えて、再生バッファを再び満たし、再生データの高速ストリーミングを支持し続けることができる。８Ｘでは、読み出しバッファは、空のバッファを再び満たすためにディスクが必要になる前に、２８秒間、ディスクなしで高速早送りを持続することができる。これは、記録バッファが空になった後、かつ再生ディスクが再生バッファへのデータストリーミングを再び開始することが必要になったときからおおよそ１６秒を許す。高速早送りボタンがこれら極限間で押下された状況は、上記の組み合わせになる。再生ディスクに切り換える前に記録バッファを部分的に空にし、かつ／または記録ディスクに切り換える前に読み出しバッファを部分的に満たす必要がある傾向がある。
【００３３】
高速巻き戻しの場合、ドライブは逆方向に回転することができないため、データをまとめて引っ張り出す場合があり、この間、順次内側の半径へのシークが必要である（逆方向で閲覧されているため、内容時間の初期に）。このため、システムによっては、高速早送りバッファよりも長い高速巻き戻しバッファを有することが望ましいものがある。高速巻き戻しに一般的な状況は、ディスクから検索されるデータが、ディスクから読み出された最後のブロック（ディスクの中心により近く、したがって巻き戻し内容時間でより初期）がユーザに対して再生される最初のブロックであるため、そのセグメントの読み出しが完了するまで再生されないことを除き、上に述べた高速早送りシステムと同様である。
【００３４】
高速巻き戻しコマンドが１ユーザから到来すると、８ＭＢ高速巻き戻しバッファは、高速、たとえば８Ｘで、タイムライン２６のポイント２４０１に示すように逆順での再生を開始する。ドライブは、再生ディスクに切り換える準備ができるとすぐに、バッファリングされている内容の中で現在最も早い時間ポイントよりも内容の中で１２８秒早いポイントをシークする。ドライブは、このポイントから１２８秒先をバッファＰにバッファリングし、それからバッファＰは高速巻き戻しバッファ８ＭＢを一度に補充する。１２８秒の内容価値のデータを１６Ｘで読み出すには８秒かかる。このデータは、８Ｘでユーザに向けて再生されているため、バッファは４秒で空になる。次に、ドライブは３．５秒かけて記録ディスクに切り換えて記録ストリームにサービス提供することができ、この間、記録バッファの内容を１６Ｘで空にする（ＤＶＤに記憶することによって）。システムは、バッファオーバーランを回避するために、バッファＲから１６秒分のデータを空にすることができる。これには１秒かかり、この後、３．５秒かけて再生ディスクをリロードすることができる。このシーケンスを繰り返すことにより、Ｘで入ってくる内容を記録し続けながら、８Ｘ高速巻き戻しを持続することができる。
【００３５】
上記説明では、記録ロケーションおよび再生ロケーションが異なるディスク上にあり、サイクル毎にディスク変更が必要であるという最悪の場合を想定した。記録ロケーションおよび再生ロケーションが同じディスク上にある場合も、アクセス時間がはるかに短いため必要なバッファ空間がはるかに少ないことを除き、同じ基本原理が適用される。
【００３６】
これより図３を参照して、上の図２Ａ〜図２Ｄに関して考察した再生方法を概略したフローチャートの一実施形態を示す。プロセス３０１から開始して、他の４つのプロセス３０２、３０３、３０４、および３０５があり、それぞれ、可能な各種速度で再生Ｐバッファを制御する制御プロセス３０２−１、３０３−１、３０４−１、および３０５−１を有する。再生速度Ｘについてはタイムライン２４に関して上に述べ、８Ｘでの高速早送り再生プロセス３０５についてはタイムライン２５に関して述べた。しかしながら、ユーザは、２Ｘ、４Ｘ、または他の任意所望の再生速度等、他の再生速度を選択してよく、これらは、再生速度が８Ｘよりも遅いことを除き、述べた方法と同じ方法で動作する。同時に記録中のディスクのスワップアウトの厳しさは、さらに少なくなる。同様に、それぞれ制御プロセス３０６−１、３０７−１、３０８−１、および３０９−１を有する高速巻き戻しプロセス３０６、３０７、３０８、および３０９も処理することができる。８Ｘでの高速巻き戻しプロセス３０９については、タイムライン２６に関連して詳細に述べた。巻き戻しはＸ、２Ｘ、４Ｘ、または他の任意所望の速度であってよく、当然ながら、８Ｘ未満の高速巻き戻し速度ではシステムに対する負荷が少なくなる。
【００３７】
プロセス３１０において、Ｐバッファに８メガバイトよりも多く残っている限り、システムは引き続き再生バッファＰから巻き戻しまたは再生を行うことができる。しかしながら、バッファＰに残っているのが８メガバイト未満の場合、好ましくは、プロセス３１１において、システムに割り込みが発行され、適切なディスクをドライブに設置して、述べた方法でＰバッファの補充を続けることができる。
【００３８】
図４は、ソースＡからストリーミングされるデータがプロセス４０１の制御下でソースバッファＳ１に入るような記録機能の制御を示す。これはタイムライン２７に示される。これは、プロセス４０２において、バッファが満杯になるまで続けられる。ソースバッファが、２メガバイトバッファＳ１〜ＳＮセクション等に分けられる場合、システムは、プロセス４０３を介して所望のようにフラグＳ１〜ＳＮを設定することができ、ソースＡは、プロセス４０４を介してソースバッファＳ１〜ＳＮにデータをストリーミングする。このストリーミングは、ソースバッファまたはソースバッファの任意のセクションが満杯になるまで続けることができる。プロセス４０５は、プロセス４０６を介してシステムに、ソースバッファが満杯であることを示すフラグを設定させる。
【００３９】
記録するときになると、図４Ａに示すように、ソースバッファはタイムライン２８に関して述べたようにＤＶＤ  Ｂに再生される。この動作は、ソースＳ１に対するプロセス４０７、４０８、４０９、および４１０によって制御される。同様のプロセス（図示せず）が、Ｓ１と同じ方法でソースＳ２を制御する。古いデータを確保するように入念にバッファ管理された状態での互いの間でのこういったバッファ「ピンポン」は、時期尚早に上書きされることがない。本発明の実施形態によれば、単一の循環バッファを使用してもよい。プロセス４０８はソースバッファの媒体への転送であり、プロセス４０９がソースバッファをドライブバッファにコピーし、プロセス４１０がドライブバッファからのデータを適切なＤＶＤ（またはＣＤ）ロケーションに記録する。
【００４０】
図５は、記録バッファあるいは再生バッファの１つがＤＶＤドライブによるサービス提供を必要とするときに使用される割り込みサービスルーチン（ＩＳＲ）５１０を示す。このような場合、ＤＶＤ  Ａプロセス５１１は、これが巻き戻しモードであるか否かを判断する。巻き戻しモードではない場合、ポインタがプロセス５１２を介して次の再生ロケーションのＰに更新される。プロセス５１２および５１３を介して、ＤＶＤが読み出され、情報が転送され、チェックが行われて、８メガバイトが転送されたか否かが調べられる。プロセス５１４においてドライブが必要ない場合、バッファは上に述べたように、プロセス５１５を介してタイムライン２２に示したように１２秒間満たし続ける。ドライブが必要な場合、たとえば、記録バッファが満杯であり、記録することになった場合、プロセス５１６が、データが停止されたロケーションおよびＰバッファをマークし、ディスクＡが取り外され、ディスクＢがドライブに挿入される。
【００４１】
プロセス５１１を介して、巻き戻しのために割り込みがあった場合、プロセス５１７、５１８、５１９、５２０、および５２１は、上に述べたように、少なくとも８メガバイトの情報を巻き戻しバッファに保持することが常に望ましいように制御される。これは、ドライブが記録に必要とされない間は続けられる。記録に必要になる場合、上に述べたように記録割り込みが行われ、高速早送りまたは高速巻き戻しが使用されており、バッファが空にされている間、データは記録バッファからＤＶＤ  Ｂに流れることができる。
【００４２】
図６は、ハードディスクアクセス速度で任意のプログラム内容にアクセスする（ハードディスクまたは他の高速アクセスメモリなしで）問題に対処する。図６に示す実施形態では、システム６０は、システム全体のデータベースマネージャとして機能するチェンジャ１１に格納されているディスクを利用する。このデータベースディスクは、記録された各プログラム（音楽、ビデオ、アプリケーション）の第１の部分、たとえば３２秒分を、好ましくは他のシステム情報とともに保持する。これらセグメントはそれぞれ、たとえば、データベースディスクの８ＭＢの空間を占め得る。すると、記録されたプログラムおおよそ５８７個分の空間があり、これは５９枚のＤＶＤ＋ＲＷディスクよりも多くにおおよそ等しい。この数は、大半のユーザにとって十分であると予期される。システムを最適化するように、記録の数は低減（または追加）が可能であり、データベースディスク上のセグメントの長さを増大（低減）することが可能である。
【００４３】
この構成では、フラッシュメモリ１３０（図１）等、不揮発性オンラインメモリを使用してメニューおよび／またはディレクトリ構造を格納することができ、それによってユーザのコマンドに対して瞬時の応答を与えて、待ち時間の長いソースからデータを得る。図６に示すように、プロセス６０１においてメニューボタンが押下され、６０２において、所望のアプリケーションまたはデータがハードドライブにあった場合、システムはプロセス６０３を介して既知の方法で進む。しかしながら、所望のデータがディスク（または他の待ち時間の長いメモリ）にある場合、プロセス６０４および６０５において、すべてのアプリケーションのショートセグメントを保持するマスタデータディスクが読み出しドライブにあるか否かが判断され、別のディスクが同時に使用されている場合を除き、マスタデータディスクは読み出しドライブにある。高速アクセス不揮発性メモリ、たとえばフラッシュメモリ１３０等がこの機能を制御し得る。
【００４４】
マスタデータディスク以外のディスクがドライブにあった場合、プロセス６０６において、上に述べたもの等、同時記録／再生方式を使用して機構１０２中の現在のディスク（データディスクではないと想定する）が整理され（filed away）、プロセス６０７において、チェンジャ１１中で、チェンジャ１１から所望のデータベースディスクが検索され、機構１０２に挿入される。データベースディスクがＤＶＤドライブ中にあり、かつ進行中の同時記録がない場合、データベースディスクは単にドライブ中に残り、プロセス６０９において、プロセス６０８を介して得られた開始部分がＤバッファに転送され、そしてプロセス６１０を介して、上に述べたようにＤバッファからＰバッファに転送される。
【００４５】
システムは、データブロックを１６Ｘ速で読み出して再生バッファに格納し、また、閲覧のためにそのブロックをＸ速で再生し始める。バッファに残っているのが４秒分しかなくなるまでブロックが再生し続けられる場合、プロセス６１１を介して、チェンジャはデータベースディスクをアンロードし、それから選択されたデータ全体を収容した特定のディスクをロードする。特定の内容ディスクがロードされると、上に述べたように、システムはプロセス６１２を介してＤバッファへ、それからプロセス６１３を介してＰバッファへの内容のストリーミングを開始する。この時点で、ユーザがメニューに戻ると決めた場合、プロセス６０４において、メニューをフラッシュメモリからロードすることができ、同時に、プロセス６０６において特定の内容ディスクをドライブからアンロードすることができ、プロセス６０７においてデータベースディスクがドライブにリロードされる。データベースディスクはおおよそ４秒で準備することができるため、ユーザは閲覧のための別のエントリを選択し、略即時の応答を再び得ることができる。
【００４６】
データベースディスクが満杯の場合、複数のデータベースディスクをこのような構成で使用することができ、記録をディスクによってグループ化することができ、ユーザがメニューを通して閲覧すると、階層中の特定のメニュー「分岐」のデータベースディスクをロードすることができ、そうしてロードされたデータベースディスク上にある内容に、選択されたそれ以下すべてのメニューが適用される。所望であれば、読み取りヘッドをスクロール中のメニューに一致するように移動させることができる。また、所望であれば、ボックス６１４に示すように、読み取りヘッドがスクロールの後を辿ってもよい。そしてこれにより、ユーザが選択を行うと、内容を即時に流し始めることができる。
【００４７】
記録セッションが進行中であり、記録ディスクに周期的にサービス提供しなければならない場合、記録ディスクがＤＶＤ読み出し器内にあり、データベースディスクが即事応答に利用できない時間窓がある。記録バッファが１６Ｘで空になる場合、システムは、記録ディスクが読み出し器内にある時間量に１６を乗算したものから、ディスクのロードおよびアンロードに必要な時間を差し引いただけ、ＤＶＤ読み取り器にデータベースディスクを保持することができる。これは、ユーザがメニューから選択を行った際に待つ必要のある確率を最小化する。記録ディスクがあるとき、または記録ディスクにアクセスしようとしたときにユーザが偶然に選択を行った場合、１６Ｘの読み出しおよび書き込み時間で記録ディスクにサービス提供するために必要な時間のうちのいくらかの部分またはすべてが待ち時間になり、この待ち時間は、４秒のディスク交換時間を含め、５秒を越えない。このような状況では、ドライブが利用可能になると、実際に選択されたディスクをデータベースディスクの代わりに使用することができる。
【００４８】
帯域が利用可能なとき、各新規記録の第１の部分（本例では３２秒）をデータベースディスク上の新規ロケーションにコピーすることができる。このデータベースディスクは、選択された動作を持続するためにスワップアウトが必要になるぎりぎりのときまでＤＶＤ読み出し器内に保持して、他のシステム機能に使用することもできる。たとえば、ビデオオンデマンドアプリケーションでは、ＤＶＤ＋ＲＷデータベースディスクを高密度ディスク（ＨＤＤ）の代わりに使用して、ウェブからストリーミング中のコンテンツをバッファリングすることができる。このディスクは、必要であれば、上に述べたシステムおよび方法を使用して、同時記録・再生型の動作でスワップインおよびスワップアウトすることも可能である。
【００４９】
これら技法を使用して、ＤＶＤ＋ＲＷドライブおよびチェンジャシステムに、パーソナルビデオレコーダ（ＰＶＲ）システムにおいて極めて大容量のＨＤＤをエミュレートすることが可能である。
【図面の簡単な説明】
【００５０】
【図１】本発明の一実施形態のブロック図である。
【図２】図２Ａ〜図２Ｄの配置の仕方を示す図である。
【図２Ａ】本発明の一実施形態により記憶媒体に／からデータを移動するタイミングを示すタイムラインを示す図である。
【図２Ｂ】本発明の一実施形態により記憶媒体に／からデータを移動するタイミングを示すタイムラインを示す図である。
【図２Ｃ】本発明の一実施形態により記憶媒体に／からデータを移動するタイミングを示すタイムラインを示す図である。
【図２Ｄ】本発明の一実施形態により記憶媒体に／からデータを移動するタイミングを示すタイムラインを示す図である。
【図３】本発明の一実施形態の再生フローチャートである。
【図４】本発明の一実施形態の記録フローチャートである。
【図４Ａ】本発明の一実施形態の再生フローを示す図である。
【図５】本発明の一実施形態のバッファフル・フローチャートである。
【図６】本発明の一実施形態の高速データアクセスフローチャートである。
【符号の説明】
【００５１】
１１：マルチディスクライブラリチェンジャ
１２：ドライブ
１０１：ドライブバッファ
１０２：ＣＤ／ＤＶＤ機構
１０３：ドライバ制御機構およびサーボシステム
１０４：読み出しチャネル
１０５：書き込みチャネル
１０６：システムコントローラ
１０７：バッファ
１０８：データソースＡ
１０９：ビデオドライバ
１１０：ＴＶまたはモニタ
１１１：スピーカ
１２０：ソースバッファ
１２１：記録バッファ
１２２：再生バッファ
１２３：高速早送りバッファ
１２４：高速巻き戻しバッファ
１３０：フラッシュメモリ
【図１】
2004362592.tif 000003
【図２】
2004362592.tif 000004
【図２Ａ】
2004362592.tif 000005
【図２Ｂ】
2004362592.tif 000006
【図２Ｃ】
2004362592.tif 000007
【図２Ｄ】
2004362592.tif 000008
【図３】
2004362592.tif 000009
【図４】
2004362592.tif 000010
【図４Ａ】
2004362592.tif 000011
【図５】
2004362592.tif 000012
【図６】
2004362592.tif 000013