(57)【要約】【課題】複数のアプリケーションからの各データアクセス要求に伴なうスループットを保証できるバッファ管理機能を実現した録画再生装置を提供することにある。【解決手段】ディスクドライバ２２０は、複数のアプリケーション３００，３０１からの録画または再生に伴なうデータアクセス要求に従って、所定のスループットを保証するためのバッファ領域をメモリ１２上に確保する。ディスクドライバ２２０は、ディスクドライブ１１に対して、各データアクセス要求に応じたコマンドを発行して、ストリームデータのリード／ライトアクセスを制御する。【選択図】    図２
2004213059.tif 000002
【特許請求の範囲】
【請求項１】
ディスク記録媒体にデータのリードまたはライトを行なうディスクドライブと、
前記ディスクドライブが前記ディスク記録媒体にアクセスしたときに、前記ディスク記録媒体に対してリードまたはライトするデータを一時的に格納するバッファ領域を確保するためのメモリ手段と、
前記ディスクドライブに対して複数のデータアクセス要求が発生したときに、前記複数のデータアクセス要求それぞれについて所定の条件に従って前記バッファ領域を確保する制御手段と
を具備したことを特徴とするディスク記録装置。
【請求項２】
前記制御手段は、前記ディスクドライブのデータアクセス性能に基づいたデータ量を算出して、当該データ量が前記所定の条件を満たすか否かを判定し、
当該判定結果が前記所定の条件を満たす場合に、当該データ量に対応するバッファ領域を確保することを特徴とする請求項１に記載のディスク記録装置。
【請求項３】
前記制御手段は、前記所定の条件として前記データアクセス要求に伴なうスループットを想定し、当該スループットを満足するデータ転送レートに応じた前記バッファ領域を確保することを特徴とする請求項１に記載のディスク記録装置。
【請求項４】
前記制御手段は、前記ディスクドライブのデータアクセス性能としてデータのリードまたはライトを行なうヘッドの移動時間及びデータ転送時間を想定し、前記データアクセス要求に伴なうスループットを満足する当該データアクセス性能に伴なうデータ量を算出し、当該データ量に応じた前記バッファ領域を確保することを特徴とする請求項１に記載のディスク記録装置。
【請求項５】
前記制御手段は、前記ディスクドライブのデータアクセス性能として前記ディスクドライブでのヘッドの移動時間とデータ転送時間との加算結果を想定し、
前記所定の条件として当該加算結果に応じたデータ転送速度が前記データアクセス要求に伴なうスループットを満足する場合に、当該データ転送速度に応じた前記バッファ領域を確保することを特徴とする請求項１に記載のディスク記録装置。
【請求項６】
前記制御手段は、前記複数のデータアクセス要求を受けて、前記ディスク記録媒体上において当該各データアクセス要求に対応するアクセス領域を特定するファイルシステムと、
前記ファイルシステムにより特定される前記アクセス領域の指定を含むコマンドを発行し、前記各データアクセス要求に従って前記ディスクドライブをアクセス制御するディスクドライバとを含み、
当該ディスクドライバは、前記所定の条件に従って前記バッファ領域を確保するバッファ領域管理を実行することを特徴とする請求項１に記載のディスク記録装置。
【請求項７】
前記複数のデータアクセス要求は、複数のアプリケーション・プログラムによる録画動作又は再生動作の実行に伴なって発生することを特徴とする請求項１に記載のディスク記録装置。
【請求項８】
前記複数のデータアクセス要求は、単一のアプリケーション・プログラムによる録画動作及び再生動作の実行に伴なって発生することを特徴とする請求項１に記載のディスク記録装置。
【請求項９】
ディスク記録媒体にデータのリードまたはライトを行なうディスクドライブと、前記ディスク記録媒体に対してリードまたはライトするデータを一時的に格納するバッファ領域を確保するためのメモリ手段とを有する録画再生装置に適用するデータアクセス方法であって、
前記ディスクドライブをアクセスするための複数のデータアクセス要求を受付けるステップと、
前記複数のデータアクセス要求それぞれについて所定の条件に従って前記バッファ領域を確保するステップと、
前記バッファ領域を使用し、前記各複数のデータアクセス要求に従って前記ディスクドライブに対するデータアクセス制御を実行するステップと
を有することを特徴とするデータアクセス方法。
【請求項１０】
ディスク記録媒体にデータのリードまたはライトを行なうディスクドライブと、前記ディスク記録媒体に対してリードまたはライトするデータを一時的に格納するバッファ領域を確保するためのメモリ手段とを有する録画再生装置に適用するデータアクセス方法であって、
録画動作又は再生動作に従って前記ディスクドライブが前記ディスク記録媒体にアクセスするための複数のデータアクセス要求を受付けるステップと、
前記ディスク記録媒体上において当該各データアクセス要求に対応するアクセス領域を特定するステップと、
前記複数のデータアクセス要求それぞれについて所定の条件に従って前記バッファ領域を確保するステップと、
前記アクセス領域の特定を受けて、前記バッファ領域を使用し、前記各複数のデータアクセス要求に従って前記ディスクドライブに対するデータアクセス制御を実行するステップと
を有することを特徴とするデータアクセス方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般的には録画再生装置の分野に関し、特に、ディスクドライブを記録媒体として使用するビデオレコーダに関する。
【０００２】
【従来の技術】
近年、例えばハードディスクドライブ（以下ディスクドライブと呼ぶ）を記録媒体として使用するビデオレコーダが開発されている。このようなビデオレコーダは、通常では、放送番組を録画再生するＨＤＤビデオレコーダとも呼ばれており、パーソナルビデオレコーダの一種である。
【０００３】
ビデオレコーダでは、テレビチューナにより受信した映像などのストリームデータを録画又は再生する場合に、ディスクドライブに対するデータアクセスの性能が重要である。具体的には、ストリームデータの録画又は再生を行なうアプリケーション・プログラムは、特に連続的なデータアクセスを必要とするため、当該データアクセスのスループット（通常では、データ転送速度）の保証が要求される。
【０００４】
ところで、最近では、１枚の物理的ディスク（記録媒体）に対して、同時に複数のストリームデータのアクセスが可能になっている。即ち、例えば複数のアプリケーション・プログラムが、異なるチャネルの放送番組を録画又は再生を同時に行なうためのデータアクセスである（例えば、特許文献１を参照）。
【０００５】
【特許文献１】
特開平１０−３３３９８４号公報
【０００６】
【発明が解決しようとする課題】
１つのストリームデータのアクセスについては、当該データアクセスのスループットの保証は可能である。しかしながら、複数のストリームデータのアクセスについては、当該データアクセスのスループットの保証は困難である。データアクセスのスループットを保証するためには、アプリケーション・プログラムからの要求に応じて、ディスクドライブをアクセスしたときのデータを格納するバッファ領域を管理する適正なスケジューリングが必要である。
【０００７】
そこで、本発明の目的は、複数のデータアクセス要求に伴なうスループットを保証できるバッファ管理機能を実現した録画再生装置に適用するディスク記録装置及びデータアクセス方法を提供することにある。
【０００８】
【課題を解決するための手段】
本発明の観点は、ディスクドライブに対して、例えばストリームデータをアクセスして録画または再生する録画再生装置に適用し、複数のデータアクセス時に所定のスループットを保証できるバッファ管理機能を有するディスク記録装置に関する。
【０００９】
本発明の観点に従ったディスク記録装置は、ディスク記録媒体にデータのリード／ライトを行なうディスクドライブと、前記ディスクドライブが前記ディスク記録媒体にアクセスしたときに、前記ディスク記録媒体に対してリードまたはライトするデータを一時的に格納するバッファ領域を有するメモリ手段と、前記ディスクドライブに対して複数のデータアクセス要求が発生したときに、前記複数のデータアクセス要求それぞれについて所定の条件に従ってバッファ領域を確保する制御手段とを備えたものである。
【００１０】
このような構成であれば、ディスクドライブに対して複数のデータアクセス要求が発生した場合でも、ディスクドライブのアクセス性能や、アプリケーションプログラムのスループット（データ転送速度）要求等の所定の条件を満たすように、バッファ管理を行なうことが可能となる。
【００１１】
【発明の実施の形態】
以下図面を参照して、本発明の実施の形態を説明する。
【００１２】
（録画再生装置の構成）
図１は、本実施形態に関する録画再生装置としてビデオレコーダ１００を想定したブロック図である。なお、本実施形態に関する録画再生装置は、独立したビデオレコーダ１００ではなく、例えばディジタル・テレビ受像機に組み込まれた装置でもよい。
【００１３】
ビデオレコーダ１００は、大別して、装置のメイン制御装置であるホストコンピュータ（ホストＣＰＵ）１０と、ディスクドライブ１１と、放送番組を受信するテレビチューナ（ＴＶチューナ）１４と、表示部１５とを有する。
【００１４】
ディスクドライブ１１は、磁気記録媒体であるディスク１１０を使用するハードディスクドライブである。ディスク１１０は、スピンドルモータ１１１により回転される。ディスクドライブ１１は、ホストＣＰＵ１０の制御により、放送番組のストリームデータをディスク１１０に記録し、また当該ディスク１１０からストリームデータを再生する。ディスクドライブ１１は、ディスク１１０に対するリード／ライト機構を制御するためのマイクロプロセッサ（ＣＰＵ）１１２、及びホストＣＰＵ１０とのインターフェースを構成するディスクコントローラ（ＨＤＣ）１１３を含む。
【００１５】
ホストＣＰＵ１０は、後述するように、オペレーティングシステム（ＯＳ）の制御下で、ストリームデータの録画再生動作を行なうためのアプリケーション・プログラム（ＡＰ、以下単にアプリケーションと表記することがある）を実行する（図２を参照）。ホストＣＰＵ１０は、ストリームデータの録画再生動作に必要なバッファ領域を管理する管理機能を有する。メモリ１２は、通常ではホストＣＰＵ１０のメインメモリであり、ダイナミックＲＡＭ（ＤＲＡＭ）から構成されている。メモリ１２は、ＯＳ（具体的にはディスクドライバ）の制御により、アプリケーションのデータアクセスに必要なバッファ領域を確保するために使用される。
【００１６】
ＴＶチューナ１４は、ディジタル放送などのテレビ放送から指定の放送番組を選定し、当該ストリームデータをコーデック（ＣＯＤＥＣ）１３に出力する。ＣＯＤＥＣ１３は、所定の規格によりストリームデータを圧縮または圧縮を解除するためのハードウエアである。但し、コーデック１３は、ソフトウェアにより実現される処理部でもよい。表示部１５は、ホストＣＰＵ１０の制御により、例えば録画再生の操作に関する各種の情報を表示するディスプレイを有する。
【００１７】
なお、ビデオレコーダ１００は、ホストＣＰＵ１０の制御により再生されたストリームデータを、例えばテレビ受像機に出力するための出力部を有する。この出力部により、テレビ受像機の画面上に再生された映像を表示することができる。
【００１８】
（システム構成）
図２は、主としてホストＣＰＵ１０のソフトウェアの構成を示すブロック図である。
【００１９】
ホストＣＰＵ１０には、図２に示すように、ファイルシステム２１０及びディスクドライバ２２０を含むＯＳ２００が組み込まれている。ＯＳ２００は、複数のアプリケーション（ＡＰ）３００，３０１から録画再生動作に伴なうデータアクセス要求（ＲＥＱ１，ＲＥＱ２）を受けて、当該要求に従ってディスクドライブ１１をアクセスする。
【００２０】
具体的には、ファイルシステム２１０は、アプリケーション３００，３０１からアクセス要求（リード要求またはライト要求）されたディスクドライブ１１のディスク１１０上の場所（アドレス）を決定する。ディスクドライバ２２０は、ファイルシステム２１０から渡されるアクセス要求とアドレスに従って、ディスクドライブ１１をアクセスするためのコマンド（ＣＯＭ）を発行する。即ち、ディスクドライバ２２０は、ディスクドライブ１１との間でリード／ライトデータ（ストリームデータ）の入出力を制御するソフトウェア（デバイスドライバの一種）である。
【００２１】
ディスクドライバ２２０は、例えばアプリケーション３００からのアクセス要求（ＲＥＱ１）がリード要求であれば、ディスク１１０上のアドレスを含むリードコマンドをディスクドライブ１１に転送する。一方、ディスクドライバ２２０は、例えばアプリケーション３０１からのアクセス要求（ＲＥＱ２）がライト要求であれば、ディスク１１０上のアドレスを含むライトコマンドをディスクドライブ１１に転送する。
【００２２】
更に、ディスクドライバ２２０は、後述するように、データアクセスに必要なメモリ１２でのバッファ領域を管理する。具体的には、ディスクドライバ２２０は、ストリームデータの連続的アクセスを行なうために、例えばストリームデータの先読み動作または後書き動作に必要なバッファ領域（即ち、転送するデータ量）をメモリ１２に確保するバッファ管理処理を実行する。
【００２３】
（録画再生動作に伴なうデータアクセス動作）
以下図１及び図２以外に、図３から図５を参照して本実施形態の録画再生動作を説明する。
【００２４】
まず、図３のフローチャート及び図４を参照して、ビデオレコーダ１００での録画再生動作に伴うデータアクセス動作の手順を説明する。
【００２５】
本実施形態では、図４に示すように、便宜的に、ディスク１１０上の第１の記録領域４００と第２の記録領域４１０を想定する。第１の記録領域４００は、相対的に外周側の複数のトラックを含み、第１のアプリケーション３００のアクセス要求の記録領域とする。一方、第２の記録領域４１０は、相対的に内周側の複数のトラックを含み、第２のアプリケーション３０１のアクセス要求の記録領域とする。なお、符号ＨＰ１，ＨＰ２は、ディスク１１０に対してデータのリード／ライトを実行するヘッドの位置を意味する。
【００２６】
ＯＳ２００は、アプリケーション３００，３０１から録画再生動作に関係するデータアクセス要求ＲＥＱ１，ＲＥＱ２を受付ける（ステップＳ１）。ここでは、例えば、第１のアプリケーション３００からは、再生動作に関係して、ディスク１１０に記録されているストリームデータを読出すリードアクセスの要求ＲＥＱ１がなされたとする。一方、第２のアプリケーション３０１からは、録画動作に関係して、ディスク１１０にＴＶチューナ１４により受信されたストリームデータを書き込むライトアクセスの要求ＲＥＱ２がなされたとする。
【００２７】
ファイルシステム２１０は、アクセス要求（ＲＥＱ１，ＲＥＱ２）を受けて、ディスク１１０上のアクセス対象である記録領域（４００，４１０）を特定する（ステップＳ２）。具体的には、ファイルシステム２１０は、ストリームデータのリード／ライト対象であるディスク１１０上のアドレスを設定する。
【００２８】
ディスクドライバ２２０は、ファイルシステム２１０から渡されたアクセス要求（ＲＥＱ１，ＲＥＱ２）及び各アドレスに従って、ディスクドライブ１１に対してコマンド（ＣＯＭ）を発行する（ステップＳ３）。当該コマンドは、ディスク１１０上からセクタ単位のデータをアクセス（リード／ライト）することを指示する。
【００２９】
即ち、ディスクドライバ２２０は、第１のアプリケーション３００からのデータアクセス要求ＲＥＱ１に従って、ディスクドライブ１１のＨＤＣ１１３にリードコマンドを転送する。当該リードコマンドには、ディスク１１０上の第１の記録領域４００に含まれるアドレス（トラックアドレス及びセクタアドレス）が含まれる。また、第２のアプリケーション３０１からのデータアクセス要求ＲＥＱ２に従って、ディスクドライブ１１のＨＤＣ１１３にライトコマンドを転送する。当該ライトコマンドには、ディスク１１０上の第２の記録領域４０１に含まれるアドレス（トラックアドレス及びセクタアドレス）が含まれる。
【００３０】
ディスクドライブ１１では、ＣＰＵ１１２は、ＨＤＣ１１３を介して受信したコマンド（ＣＯＭ）に従って、リード／ライト機構を制御して、ディスク１１０に対してデータのリード／ライト動作を実行する（ステップＳ４）。
【００３１】
即ち、第１のアプリケーション３００からのデータアクセス要求ＲＥＱ１に従って、ＣＰＵ１１２は、リード／ライト機構に含まれるヘッドを、図４に示すように、第１の記録領域４００に含まれる位置ＨＰ１に位置決めする。ヘッドは、当該位置ＨＰ１に含まれる複数のセクタからストリームデータをリードする。一方、第２のアプリケーション３０１からのデータアクセス要求ＲＥＱ２に従って、ＣＰＵ１１２は、リード／ライト機構に含まれるヘッドを、図４に示すように、第２の記録領域４１０に含まれる位置ＨＰ２に位置決めする。ヘッドは、当該位置ＨＰ２に含まれる複数のセクタに対してストリームデータをライトする。
【００３２】
（バッファ領域の管理）
以上のようにして、ホストＣＰＵ１０は、ＯＳ２００の制御により、複数のアプリケーション３００，３０１からのデータアクセス要求に従って、ディスクドライブ１１に対してリード／ライト制御を実行する。ホストＣＰＵ１０は、ディスクドライブ１１との間で、データアクセス要求に応じたストリームデータの転送を行なう。このとき、ディスクドライバ２２０は、データアクセス要求に従って、所定の条件でのストリームデータの転送を実現するために、ディスク１１０から先読み動作または後書き動作を実行する。
【００３３】
以下、図２及び図５のフローチャートを参照して、当該先読み動作または後書き動作時に、ディスクドライバ２２０が実行するメモリ１２のバッファ領域の管理動作を説明する。
【００３４】
ここで、ディスクドライブ１１の性能、及びアプリケーション３００，３０１がデータアクセス時に要求する仕様には、以下の項目が含まれる。
【００３５】
即ち、ディスクドライブ１１の性能としては、ヘッド移動速度（Ｈｓ：例えば１トラックの移動距離／秒）、及びデータ転送速度（Ｄｓ：megabit／sec）が含まれる。また、アプリケーション３００，３０１の仕様には、スループット（即ち、データ転送速度Ｔｓ：megabit／sec）、及びアクセス要求に対する応答の最大遅延時間（Ｍｔ秒）が含まれる。
【００３６】
次に、図５のフローチャートを参照して、アプリケーション３００または３０１からストリームデータの再生動作に伴なうデータアクセス要求がなされた場合の動作を説明する。
【００３７】
ＯＳ２００は、アプリケーション３００または３０１からデータアクセス要求を受付けると、図３に示すように、ファイルシステム２１０とディスクドライバ２２０が一連の処理を実行する（ステップＳ１１）。ここで、データアクセス要求は、例えば第１のアプリケーション３００からのみの場合を想定する（ステップＳ１２のＮＯ）。
【００３８】
ディスクドライバ２２０は、要求に従ったバッファ領域を確保するためのデータ量（Ｎ：最小値）を算出する（ステップＳ１３）。即ち、ディスクドライバ２２０は、ディスクドライブ１１から得られる前記データ転送速度（Ｄｓ：megabit／sec）に基づいて、関係式「Ｎ＝Ｄｔ×Ｄｓ、但しＤｔはデータ転送時間」からデータ量（Ｎ）を算出する。ディスクドライバ２２０は、算出したデータ量（Ｎ）に対応するバッファ領域をメモリ１２に確保する（ステップＳ１４）。
【００３９】
次に、ディスクドライバ２２０は、アクセス要求に従ったコマンド（リードコマンド）を発行し、ディスクドライブ１１にリードアクセスを実行する（ステップＳ１５）。ディスクドライブ１１は、当該リードコマンドに応じて、ディスク１１０上からリードしたストリームデータをディスクドライバ２２０に転送する。ディスクドライバ２２０は、転送されたストリームデータを確保したバッファ領域に一時的に格納する。
【００４０】
一方、例えば第２のアプリケーション３０１からアクセス要求を受付けたときに、既に第１のアプリケーション３００からのアクセス要求を受けている場合を想定する（ステップＳ１２のＹＥＳ）。
【００４１】
このような場合、ディスクドライバ２２０は、所定の条件に従って、例えば先読み動作でのデータ量（Ｎ）を算出する（ステップＳ１６）。所定の条件とは、前述のアプリケーションから要求されるスループット（データ転送速度Ｔｓ：megabit／sec）及び応答の最大遅延時間（Ｍｔ秒）に関するものである。具体的には、最大遅延時間（Ｍｔ）に関する条件式（１）及びスループット（Ｔｓ）に関する条件式（２）を想定する。
【００４２】
Ｍｔ＜（Ｈｔ＋Ｄｔ）…（１）
Ｔｓ＜Ｎ／（Ｈｔ＋Ｄｔ）…（２）
ここで、Ｈｔは、ヘッドの移動時間を意味する。また、Ｄｔは、前述したように、データ転送時間を意味する。ヘッドの移動時間Ｈｔは、下記式（３）により表される。
【００４３】
Ｈｔ＝｜Ｘ−Ｙ｜×Ｈｓ…（３）
Ｈｓは、前述したように、ヘッド移動速度を意味する。また、Ｘは、例えば図４に示すように、第１のアプリケーション３００のアクセス要求に従って、ディスク１１０の記録領域４００からストリームデータをリードするときのヘッド位置（ＨＰ１）を意味する。同様に、Ｙは、例えば第２のアプリケーション３０１のアクセス要求に従って、ディスク１１０の記録領域４１０からストリームデータをリードするときのヘッド位置（ＨＰ２）を意味する。
【００４４】
従って、第１のアプリケーション３００のアクセス要求を受付けているときに、第１のアプリケーション３０１のアクセス要求を処理する場合には、ヘッドの移動時間Ｈｔは、前記式（３）から算出することができる。
【００４５】
また、データ転送時間Ｄｔは、下記式（４）により表される。
【００４６】
Ｄｔ＝Ｎ／Ｄｓ…（４）
ディスクドライバ２２０は、前記の条件式（２）を満たすデータ量（Ｎ）を算出する。このとき、例えばアプリケーションの要求するスループット（データ転送速度Ｔｓ）に対して、条件式（１）を満たすようなデータ量（Ｎ）を決定できない場合には、ディスクドライバ２２０は、アクセス不可であるとして異常終了とする（ステップＳ１７のＮＯ）。
【００４７】
一方、ディスクドライバ２２０は、前記の条件式（２）を満たすデータ量（Ｎ）を決定できる場合には、算出したデータ量（Ｎ）に対応するバッファ領域をメモリ１２に確保する（ステップＳ１７のＹＥＳ，Ｓ１４）。
【００４８】
以上要するに、複数のアプリケーション３００，３０１からのデータアクセス要求がある場合に、ディスクドライバ２２０は、当該データアクセス要求に伴なうスループット（Ｔｓ）の条件を満たすバッファ領域を確保するためのデータ量（Ｎ）を算出する。ディスクドライバ２２０は、当該データ量（Ｎ）に対応するバッファ領域を確保し、データアクセス要求に従って、ディスクドライブ１１に対するアクセス制御（コマンドの発行）を実行する。
【００４９】
本実施形態では、図２に示すように、ディスクドライバ２２０は、第１のアプリケーション３００からのデータアクセス要求に応じて、例えばメモリ１２にバッファ領域１２０を確保する。一方、ディスクドライバ２２０は、第２のアプリケーション３００からのデータアクセス要求に応じて、前記の条件を満たすようなバッファ領域１２１をメモリ１２に確保する。これにより、ディスクドライバ２２０は、第１のアプリケーション３００からのデータアクセス要求に応じて、ディスクドライブ１１から転送されたストリームデータをバッファ領域１２０に一時的に格納する。また、ディスクドライバ２２０は、第２のアプリケーション３００からのデータアクセス要求に応じて、ディスクドライブ１１から転送されたストリームデータをバッファ領域１２１に一時的に格納する。
【００５０】
従って、ビデオレコーダ１００は、第１のアプリケーション３００からのデータアクセス要求に従って、例えばディスク１１０上の記録領域４００から再生したストリームデータを表示部１５に出力する。さらに、第２のアプリケーション３００からのデータアクセス要求に従って、例えばディスク１１０上の記録領域４１０からストリームデータを先読みし、バッファ領域１２１に一時的に格納することができる。換言すれば、第２のアプリケーション３００からのデータアクセス要求に伴なうスループットの条件に満足するように、ストリームデータを先読みし、表示部１５に出力する再生動作を実現できる。
【００５１】
なお、本実施形態は、複数のアプリケーションが、いずれも再生動作のためのデータアクセス要求を行なう場合のバッファ領域の管理について説明している。これに限ることなく、例えば、第１のアプリケーション３００が再生動作に伴なうリードアクセス要求を実行し、第２のアプリケーションが録画動作に伴なうライトフアクセス要求の場合でもよい。この場合、ディスクドライバ２２０は、第２のアプリケーション３０１からのデータアクセス要求に従って、ディスク１１０上の記録領域４１０にストリームデータを後書きするためのバッファ領域１２１を確保する。
【００５２】
（変形例）
図６は、本実施形態の変形例に関するフローチャートである。
【００５３】
本変形例は、録画動作中に、再生要求が発生する例えばタイムシフトのような録画再生動作を想定している。以下、図６のフローチャートを参照して、具体的に説明する。
【００５４】
ＯＳ２００は、例えば第１のアプリケーション３００から録画動作に伴うデータアクセス要求を受付けると、前述したように、ファイルシステム２１０とディスクドライバ２２０が一連の処理を実行する（ステップＳ２１）。即ち、ディスクドライバ２２０は、ライトアクセス要求に従ったバッファ領域を確保する（ステップＳ２２）。
【００５５】
次に、ディスクドライバ２２０は、アクセス要求に従ったコマンド（ライトコマンド）を発行し、ディスクドライブ１１にライトアクセスを実行する（ステップＳ２３）。ディスクドライブ１１は、当該ライトコマンドに応じて、録画すべきストリームデータを受信して、ディスク１１０上の例えば記録領域４００に書き込む。ここで、録画動作を中断して、当該第１のアプリケーション３００からの再生要求がなければ、ＯＳ２００は、録画モードでのデータアクセスを継続する（ステップＳ２４のＮＯ）。
【００５６】
一方、第１のアプリケーション３００から録画動作を中断して、再生要求が発生すると、ディスクドライバ２２０は、所定の条件に従って、データ量（Ｎ）を算出する（ステップＳ２６）。この場合、ディスクドライバ２２０は、ディスク１１０上のリードアクセス領域（ここでは、図４に示す記録領域４１０とする）に基づいて、計算式「Ｈｔ＋Ｄｔ」を算出する（ステップＳ２５）。
【００５７】
即ち、ヘッドの移動時間Ｈｔは、前記式（３）により算出される。この場合、Ｘは、第１のアプリケーション３００のライトアクセス要求に従って、ディスク１１０の記録領域４００にストリームデータをライトするときのヘッド位置（ＨＰ１）を意味する。同様に、Ｙは、当該第１のアプリケーション３００のリードアクセス要求に従って、ディスク１１０の記録領域４１０からストリームデータをリードするときのヘッド位置（ＨＰ２）を意味する。また、Ｄｔは、前述したように、データ転送時間を意味する。
【００５８】
ディスクドライバ２２０は、前記の条件式（２）を満たすデータ量（Ｎ）を算出する。このとき、第１のアプリケーション３００の要求するスループット（データ転送速度Ｔｓ）に対して、条件式（１）を満たすようなデータ量（Ｎ）を決定できない場合には、ディスクドライバ２２０は、当該再生要求に従ったアクセスは不可であるとして、例えば前記の録画要求に従ったライトアクセスを継続する（ステップＳ２７のＮＯ）。一方、ディスクドライバ２２０は、前記の条件式（２）を満たすデータ量（Ｎ）を決定できる場合には、算出したデータ量（Ｎ）に対応するバッファ領域をメモリ１２に確保する（ステップＳ２７のＹＥＳ，Ｓ２８）。
【００５９】
以上要するに、本変形例では、同一の例えば第１のアプリケーション３００により、録画動作に伴なうライトアクセスを中断して、再生動作に従ったリードアクセスを実行することができる。この場合、ディスクドライバ２２０は、第１のアプリケーション３００からのデータアクセス要求（リードアクセス要求）に伴なうスループットを満足するように、メモリ１２上にバッファ領域を確保する。
【００６０】
従って、ビデオレコーダ１００は、第１のアプリケーション３００からのデータアクセス要求に従って、例えばディスク１１０上の記録領域４００にストリームデータを格納する録画動作の実行中に、再生動作を実行する例えばタイムシフトのような録画再生動作を行なうことができる。
【００６１】
なお、本実施形態及び変形例は、独立したビデオレコーダ１００を想定したが、これに限ることなく、例えばディジタルテレビ装置に組み込まれる録画再生装置にも適用することができる。
【００６２】
【発明の効果】
以上詳述したように本発明によれば、特に複数のアプリケーションからの各データアクセス要求に伴なうスループットを保証できるバッファ管理機能を実現した録画再生装置及びデータアクセス方法を提供することができる。
【図面の簡単な説明】
【図１】本発明の実施形態に関するビデオレコーダの構成を示すブロック図。
【図２】同実施形態に関するビデオレコーダのソフトウェア構成を示すブロック図。
【図３】同実施形態に関する録画再生動作を説明するためのフローチャート。
【図４】同実施形態に関するバッファ管理機能での条件を説明するための図。
【図５】同実施形態に関する複数のデータアクセス要求での処理手順を説明するためのフローチャート。
【図６】本実施形態の変形例に関するフローチャート。
【符号の説明】
１０…ホストＣＰＵ、１１…ディスクドライブ、１２…メモリ、１３…コーデック、１４…ＴＶチューナ、１５…表示部、１１０…ディスク、１１２…ＣＰＵ、１１３…ディスクコントローラ（ＨＤＣ）、２００…ＯＳ、２１０…ファイルシステム、２２０…ディスクドライバ。
【図１】
2004213059.tif 000003
【図２】
2004213059.tif 000004
【図３】
2004213059.tif 000005
【図４】
2004213059.tif 000006
【図５】
2004213059.tif 000007
【図６】
2004213059.tif 000008