(57)【要約】【課題】ＡＶデータ等のリアルタイム処理を阻害しない範囲で、アプリケーションやデータのランダムアクセス処理を効率よく実行する。【解決手段】ＨＤＤ１１４には、シーケンシャルアクセスファイルシステム領域とランダムアクセス用ファイルシステム領域とが配置されている。シーケンシャルアクセスファイルシステム領域に対するシーケンシャルアクセスは定期的に実行される。ＣＰＵ１１１は、シーケンシャルアクセスの終了時におけるシーケンシャルアクセスファイルシステム領域上の前回のアクセス位置を保持し、その前回のアクセス位置からランダムアクセスファイルシステム領域に対する次のアクセス位置までのアクセス移動距離を考慮して、次回のシーケンシャルアクセスの開始までにランダムアクセス用ファイルシステム領域に対するアクセスが実行可能であるか否かを判別する。【選択図】    図１
2004206255.tif 000002
【特許請求の範囲】
【請求項１】
ディスク記録装置の記録媒体上に配置されたシーケンシャルアクセス用データ記憶領域およびランダムアクセス用データ記憶領域それぞれに対するアクセスを制御することによって、前記シーケンシャルアクセス用データ記憶領域に対するシーケンシャルアクセスを予め決められた周期で定期的に実行すると共に、前記シーケンシャルアクセスの終了から次回のシーケンシャルアクセスの開始までの残り時間内に前記ランダムアクセス用データ記憶領域からデータを読み出すためのランダムアクセスを実行するディスク制御装置であって、
前記シーケンシャルアクセスの終了時における前記シーケンシャルアクセス用データ記憶領域上のアクセス位置を保持する手段と、
前記保持されたシーケンシャルアクセス用データ記憶領域上のアクセス位置から、前記ランダムアクセス用データ記憶領域に対する次のアクセス要求によって指定された前記ランダムアクセス用データ記憶領域上の次のアクセス位置までのアクセス移動距離と、次回のシーケンシャルアクセスの開始までの残り時間とに基づいて、前記次のアクセス要求の実行の可否を判別する判別手段とを具備することを特徴とするディスク制御装置。
【請求項２】
前記判別手段は、
前記アクセス移動距離と前記次のアクセス要求によって指定された読み出し対象のデータサイズとに基づいて前記次のアクセス要求に対応するアクセスの所要時間を算出する手段と、
前記算出された所要時間と次回のシーケンシャルアクセスの開始までの残り時間との間の大小関係に基づいて、前記次のアクセス要求の実行の可否を判別する手段とを含むことを特徴とする請求項１記載のディスク制御装置。
【請求項３】
前記ランダムアクセス用データ記憶領域にアクセスした前回のアクセス位置を保持する手段と、
前記保持された前記ランダムアクセス用データ記憶領域上の前回のアクセス位置から、前記ランダムアクセス用データ記憶領域に対する次のアクセス要求によって指定された次のアクセス位置までのアクセス移動距離と、次回のシーケンシャルアクセスの開始までの残り時間とに基づいて、前記次のアクセス要求の実行の可否を判別する手段とをさらに具備することを特徴とする請求項１記載のディスク制御装置。
【請求項４】
前記記録媒体上には、互いに同一のデータが記憶された第１および第２のランダムアクセス用データ記憶領域が配置されており、
前記保持されたシーケンシャルアクセス用データ記憶領域上のアクセス位置から、前記第１および第２のランダムアクセス用データ記憶領域それぞれまでのアクセス移動距離に基づいて、前記第１および第２のランダムアクセス用データ記憶領域の一方をランダムアクセス対象のランダムアクセス用データ記憶領域として選択する選択手段をさらに具備することを特徴とする請求項１記載のディスク制御装置。
【請求項５】
前記判別手段は、前記保持されたシーケンシャルアクセス用データ記憶領域上のアクセス位置から、前記選択手段によって選択された前記第１および第２の一方のランダムアクセス用データ記憶領域上における、前記次のアクセス要求によって指定された次のアクセス位置までのアクセス移動距離と、次回のシーケンシャルアクセスの開始までの残り時間とに基づいて、前記次のアクセス要求の実行の可否を判別する手段を含むことを特徴とする請求項４記載のディスク制御装置。
【請求項６】
前記シーケンシャルアクセス用データ記憶領域は、アドレスが連続するデータ群がブロック単位で複数のディスク記録装置それぞれの記録媒体上に交互に記録されるように複数のディスク記録装置間にストライピング構造で配置され、且つ前記複数のディスク記録装置それぞれの記録媒体には、互いに同一のデータが記憶されたランダムアクセス用データ記憶領域がそれぞれ配置されており、
前記複数のディスク記録装置の内で、前記保持されたシーケンシャルアクセス用データ記憶領域上のアクセス位置から、ランダムアクセス用データ記憶領域までのアクセス移動距離が最も短いディスク記録装置のランダムアクセス用データ記憶領域を、ランダムアクセス対象のランダムアクセス用データ記憶領域として選択する選択手段をさらに具備することを特徴とする請求項１記載のディスク制御装置。
【請求項７】
前記判別手段は、前記保持されたシーケンシャルアクセス用データ記憶領域上のアクセス位置から、前記選択手段によって選択されたディスク記録装置のランダムアクセス用データ記憶領域上における、前記次のアクセス要求によって指定された次のアクセス位置までのアクセス移動距離と、次回のシーケンシャルアクセスの開始までの残り時間とに基づいて、前記次のアクセス要求の実行の可否を判別する手段を含むことを特徴とする請求項６記載のディスク制御装置。
【請求項８】
ディスク記録装置の記録媒体上に配置されたシーケンシャルアクセス用データ記憶領域およびランダムアクセス用データ記憶領域それぞれに対するアクセスを制御することによって、前記シーケンシャルアクセス用データ記憶領域に対するシーケンシャルアクセスを予め決められた周期で定期的に実行すると共に、前記シーケンシャルアクセスの終了から次回のシーケンシャルアクセスの開始までの残り時間内に前記ランダムアクセス用データ記憶領域からデータを読み出すためのランダムアクセスを実行するディスク制御方法であって、
前記シーケンシャルアクセスの終了時における前記シーケンシャルアクセス用データ記憶領域上のアクセス位置を保持するステップと、
前記保持されたシーケンシャルアクセス用データ記憶領域上のアクセス位置から、前記ランダムアクセス用データ記憶領域に対する次のアクセス要求によって指定された前記ランダムアクセス用データ記憶領域上の次のアクセス位置までのアクセス移動距離と、次回のシーケンシャルアクセスの開始までの残り時間とに基づいて、前記次のアクセス要求の実行の可否を判別する判別ステップとを具備することを特徴とするディスク制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はディスク記憶装置へのアクセスを制御するディスク制御装置およびディスク制御方法に関する。
【０００２】
【従来の技術】
近年、大容量化した磁気ディスク記録装置（ＨＤＤ）を利用して、動画像データ等のデジタルマルチメディアデータの録画・再生を行う機器が開発されるようになっている。更に加えて、インターネットの普及等により、ネットワーク機能を組み合わせたシステム構成を持つ組み込み機器も増加の一途をたどっている。
【０００３】
その結果、従来の組み込み機器よりも遥かに複雑なシステムソフトウェアが必要になっている。
【０００４】
その一例として、家庭向けのホームサーバが挙げられる。ホームサーバは、ディスク記録装置を利用してＴＶ放送番組のオーディオ・ビデオデータ（ＡＶデータ）を記録・再生する機能を初め、インターネットや家庭内ＬＡＮに接続するためのネットワーク機能も有しており、メールやＷｅｂブラウジングといったインターネット上のサービスを利用するためにも利用される。
【０００５】
ここで要求される機能としては、ＡＶデータの記録／再生時におけるリアルタイム処理機能、及び従来の汎用オペレーティングシステムが実行するような様々なアプリケーション実行機能がある。
【０００６】
これらの２つの要求をデータストレージの観点で考えると、従来の組み込みソフトウェアではあまり存在しなかった大規模なアプリケーションプログラムおよびデータをどのデバイスに保存するかが１つの検討課題となる。
【０００７】
従来の組み込み機器ではフラッシュメモリなどの半導体メモリデバイスに各種プログラムやデータを保存することが多いが、大容量のプログラムやデータを半導体メモリデバイスに記憶することはコストアップにつながることになる。そこで、本来のＡＶデータの記録用途に用意されたＨＤＤに一般のアプリケーションプログラムやデータを保存する領域を設けて、リアルタイム性が必要とされるＡＶデータと、ランダムアクセスが要求されるプログラムやデータとの間でストレージを共有することが有効である。
【０００８】
ＡＶデータとそれ以外のデータ間でストレージを共有する組み込み機器としては、動画ファイルとその他のファイルとを区別して記録媒体上に記録する記録制御装置が知られている（例えば、特許文献１参照。）。この記録制御装置は、動画ファイルの断片化を防止するために、動画ファイルの記録領域を記録媒体の外周側に確保し、他のファイルの記録領域を記録媒体の内周側に確保している。
【０００９】
【特許文献１】
特開平８−２２１３０３号公報（第５−６頁、図４）
【００１０】
【発明が解決しようとする課題】
しかし、ホームサーバのような機器においては、時間的制約が伴うＡＶデータ等のリアルタイム処理と通常のアプリケーション実行処理との両立を図ることが必要となる。このとき、リアルタイム処理すなわちシーケンシャルアクセスを阻害しない範囲で、アプリケーションやデータをランダムアクセスするためのディスクＩ／Ｏ処理をいかに効率よく行うかが重要となる。特に、ＨＤＤのようなディスク記録装置においては、アクセス位置の変更に伴ってヘッド位置の移動によるオーバヘッドが生じるので、アクセス移動距離をも考慮したアクセス制御を行うことが必要である。
【００１１】
本発明は上述の事情を考慮してなされたものであり、シーケンシャルアクセスを阻害しない範囲で、ランダムアクセスするためのディスクＩ／Ｏ処理を効率よく実行することが可能なディスク制御装置およびディスク制御方法を提供することを目的とする。
【００１２】
【課題を解決するための手段】
上述の課題を解決するため、本発明は、ディスク記録装置の記録媒体上に配置されたシーケンシャルアクセス用データ記憶領域およびランダムアクセス用データ記憶領域それぞれに対するアクセスを制御することによって、前記シーケンシャルアクセス用データ記憶領域に対するシーケンシャルアクセスを予め決められた周期で定期的に実行すると共に、前記シーケンシャルアクセスの終了から次回のシーケンシャルアクセスの開始までの残り時間内に前記ランダムアクセス用データ記憶領域からデータを読み出すためのランダムアクセスを実行するディスク制御装置であって、前記シーケンシャルアクセスの終了時における前記シーケンシャルアクセス用データ記憶領域上のアクセス位置を保持する手段と、前記保持されたシーケンシャルアクセス用データ記憶領域上のアクセス位置から、前記ランダムアクセス用データ記憶領域に対する次のアクセス要求によって指定された前記ランダムアクセス用データ記憶領域上の次のアクセス位置までのアクセス移動距離と、次回のシーケンシャルアクセスの開始までの残り時間とに基づいて、前記次のアクセス要求の実行の可否を判別する判別手段とを具備することを特徴とする。
【００１３】
このディスク制御装置によれば、シーケンシャルアクセスの終了時におけるアクセス位置が保持され、その保持されたアクセス位置から次のアクセス要求によって指定されるランダムアクセス用データ記憶領域に対するアクセス位置までのアクセス移動距離を考慮して、次回のシーケンシャルアクセスの開始までに、ランダムアクセス用データ記憶領域に対する次のアクセス要求が実行可能であるか否かが判別される。このように、アクセス移動距離を考慮してラタンダムアクセスが実行可能であるかどうかを判別することによって、リアルタイム性が必要なＡＶデータ等のシーケンシャルアクセスを阻害しない範囲で、アプリケーションやデータのランダムアクセスを最大限実行することが可能となる。
【００１４】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を説明する。
図１には、本発明の一実施形態に係るディスク制御装置が示されている。このディスク制御装置は、ディスク記憶装置を用いてリアルタイム性が要求されるＡＶデータおよびリアルタイム性が要求されない他のデータの記録・再生を行う装置であり、ホームサーバとして実現されている。
【００１５】
このホームサーバ１１は、例えばＴＶ放送番組等の映像および音声信号（ＡＶ信号）をデジタル記録および再生することが可能な録画再生装置として機能する。さらに、ホームサーバ１１はローカルエリアネットワーク（ＬＡＮ）に接続するためのネットワーク機能も有しており、メールやＷｅｂブラウジングといったインターネット上のサービスを利用するためにも利用される。
【００１６】
ホームサーバ１１は、図示のように、バス１００、ＣＰＵ１１１、主メモリ１１２、フラッシュメモリ１１３、磁気ディスク記録装置（ＨＤＤ）１１４、ＡＶ入力部１１５、ＴＶチューナ１１６、エンコーダ１１７、ＡＶ出力部１１８、デコーダ１１９、および通信制御部１２０を備えている。
【００１７】
ＣＰＵ１１１はホームサーバ１１の動作を制御するプロセッサであり、フラッシュメモリ１１３またはＨＤＤ１１４から主メモリ１１２にロードされたオペーレーティングシステム（ＯＳ）、アプリケーションプログラム（ＡＰＬ）、ディスクドライバ等の各種プログラムを実行する。
【００１８】
ＨＤＤ１１４は、ＡＶデータの記録とアプリケーションプログラムやそれによって使用されるデータの記録に使用されるディスク記憶装置である。このＨＤＤ１１４のディスク記録媒体上には、図２に示すように、シーケンシャルアクセスファイルシステム領域２０１とランダムアクセスファイルシステム領域２０２とが配置されている。シーケンシャルアクセスファイルシステム領域２０１はリアルタイム性が要求されるＡＶデータの記録に使用されるデータ記憶領域であり、またランダムアクセスファイルシステム領域２０２はリアルタイム性が必要とされないアプリケーションプログラムの記憶領域やそれによって使用されるデータ記憶領域である。
【００１９】
ランダムアクセスファイルシステム領域２０２はディスク記録媒体の最外周と最内周とのほぼ中央に配置された１以上のトラック（通常は複数のトラック）から構成される。この配置により、シーケンシャルアクセスファイルシステム領域２０１からランダムアクセスファイルシステム領域２０２までのアクセス移動距離の上限値は、最大アクセス移動距離（Ｌ＝ディスク記録媒体の半径）の半分（Ｌ／２）となる。
【００２０】
シーケンシャルアクセスファイルシステム領域２０１およびランダムアクセスファイルシステム領域２０２をディスク記録媒体上に配置する処理は、例えばディスク記録媒体のフォーマット時等に行われる。本ホームサーバ１１においては、シーケンシャルアクセスファイルシステム領域２０１およびランダムアクセスファイルシステム領域２０２がディスク記録媒体上に予め作成されているものとする。
【００２１】
シーケンシャルアクセスファイルシステム領域２０１およびランダムアクセスファイルシステム領域２０２に対するアクセスは、ディスクドライバによって制御される。この場合、ＡＶデータのリアルタイム性を保証するために、ＡＶデータの記録または再生時には、シーケンシャルアクセスファイルシステム領域２０１に対するシーケンシャルアクセスは、予め決められた周期で定期的に実行される。ランダムアクセスファイルシステム領域２０２に対するランダムアクセスは、シーケンシャルアクセスの終了から次回のシーケンシャルアクセスの開始までの残り時間内に実行される。
【００２２】
なお、本実施形態においては、システムの定常状態（起動・終了やアプリケーションプログラム更新作業を除く状態）ではランダムアクセスファイルシステム領域２０２に対してはリードアクセスしか要求されないものとする。
【００２３】
ＡＶ入力部１１５は、外部のオーディオ・ビデオ機器等から出力されるＡＶ信号を入力するデバイスである。ＴＶチューナ１０２は、ＴＶ放送信号の受信とチャネル選択のための選局処理とを行うデバイスであり、外部のＴＶアンテナに接続されている。
【００２４】
エンコーダ１１７は、ＣＰＵ１１１の制御の下、ＡＶ入力部１１５またはＴＶチューナ１１６から入力されるＡＶ信号をデジタル圧縮符号化するためのエンコード処理を実行する。このエンコード処理により、ＡＶ信号は、例えばＭＰＥＧ２またはＤＶＤビデオフォーマット等に対応した、圧縮符号化されたデジタルデータ列に変換される。エンコード処理によって得られたデジタルデータ列は、ＣＰＵ１１１の制御の下、ＨＤＤ１１４のシーケンシャルアクセスファイルシステム領域２０１にシーケンシャルにライトアクセスされる。
【００２５】
デコーダ１１９は、ＣＰＵ１１１の制御の下、圧縮符号化されたＡＶデータを復号するためのデコード処理を実行するデバイスである。ＨＤＤ１１４に記録されているＡＶデータを再生する際には、シーケンシャルアクセスファイルシステム領域２０１からＡＶデータを読み出すためのシーケンシャルアクセスがＣＰＵ１１１によって実行され、これにより読み出されたＡＶデータがデコーダ１１９に送られる。デコーダ１１９によって復号されたＡＶデータは、ＡＶ出力部１１８を介して例えばＴＶ受像機などに出力される。
【００２６】
通信制御部１２０は、ホームサーバ１１を家庭内ＬＡＮやインターネットなどに接続するためのデバイスであり、例えば、ＨＤＤ１１４に記録されているＡＶデータを家庭内ＬＡＮ上のパーソナルコンピュータにリアルタイムに送信したり、メールやＷｅｂブラウジングといったインターネット上のサービスを家庭内ＬＡＮ上のパーソナルコンピュータに提供するために用いられる。
【００２７】
次に、図３を参照して、シーケンシャルアクセスファイルシステム領域２０１に対するシーケンシャルアクセスと、ランダムアクセスファイルシステム領域２０２からデータを読み出すためのランダムアクセスとの関係について説明する。
【００２８】
シーケンシャルアクセスファイルシステム領域２０１に対するＡＶデータの書き込み／読み出しのためのシーケンシャルアクセス処理は、ＡＶデータのリアルタイム性を保証するために、オペレーティングシステム（ＯＳ）の制御の下に一定の時間間隔で定期的に実行される。
【００２９】
すなわち、予め決められた処理周期毎に、ＡＶデータのリアルタイム性を保証するのに必要な所定のデータサイズ分のシーケンシャルアクセス処理が実行され、そして所定のデータサイズ分のシーケンシャルアクセス処理の終了時点から次回の処理周期の開始時点までの間に、必要なランダムアクセスがランダムアクセスファイルシステム領域２０２に対して実行される。
【００３０】
この場合、まず、シーケンシャルアクセス処理を要求するアプリケーションプログラムはＡＶデータのリアルタイム処理に必要な帯域としてＡＶデータのリアルタイム処理に必要な周期時間（処理周期）とその周期内でリード／ライト要求するＡＶデータの処理サイズをＯＳに対して呈示し、ＯＳはその予約された帯域を保証する。その周期内で実際に予約処理を終了した後からその周期の終わりまでがベストエフォート型の処理時間となり、そこで可能な分だけランダムアクセス処理が行われる。
【００３１】
予約処理に要する時間は、実績ベースでその処理が終わった時点で判明する。よって、ベストエフォート処理に使用可能な時間も予約処理が終了した時点で判明する。ＣＰＵ１１１は、予約処理終了後は、要求のあったランダムアクセス処理に対して、その処理が残された時間で実施可能かどうかを逐次、各要求毎に判断する。
【００３２】
次にその判断方法について説明する。大きく依存するパラメータは２つある。１つは直前にアクセスしたディスク記録媒体上のアクセス位置から今回アクセスするディスク記録媒体上のアクセス位置までのアクセス移動距離、もう１つがそのランダムアクセス処理で読み出すべきデータサイズである。ディスクドライバは、ＨＤＤ１１４に前回アクセスした物理アドレスを保持し、その物理アドレスと今回アクセスする物理アドレスとの間の差分から、アクセス移動距離を算出する。ここで、アクセス移動距離とはアクセス位置間のヘッドの移動距離を意味する。
【００３３】
ディスクドライバは、アクセス移動距離とデータサイズの２つのパラメータから今行おうとしているランダムアクセス処理に要する所要時間を算出し、その算出した所要時間が次回の処理周期開始までの残り時間以下であるかどうかを判別する。
【００３４】
一般的には、該ランダムアクセス処理の所要時間は、アクセス移動距離とアクセスサイズ（データサイズ）の２つの引数を持つ関数として以下の（式１）のように表すことができる。
【００３５】
（所要時間）＝ｆ（アクセス移動距離、アクセスサイズ）  …  （式１）
例えば、実際の測定結果からより良いモデルを立てることも可能だが、移動距離と処理サイズの２つのパラメータに比例して所要時間が求まると仮定し（式２）、各係数を求めておくことで、所要時間を見積もることができる。
【００３６】
（所要時間）＝（アクセス移動距離）×α＋（アクセスサイズ）×β＋γ…  （式  ２）
このようにして、アクセス位置の移動距離とアクセスサイズとに基づいて、ベストエフォート型のランダムアクセス処理を実行するかどうかを判別する。この判別は、ランダムアクセスファイルシステム領域に対する個々のアクセス要求毎に実行される。
【００３７】
すなわち、まず、シーケンシャルアクセスの終了時におけるシーケンシャルアクセスファイルシステム領域２０１上のアクセス位置が保持され、その保持されたアクセス位置から、ランダムアクセスファイルシステム領域２０２に対するアクセス要求によって指定されるアクセス位置までのアクセス移動距離が求められる。そして、そのアクセス移動距離と当該アクセス要求によって指定されるアクセスサイズとからランダムアクセスに要する所要時間が求められ、次回の処理周期の開始までの残り時間内に当該アクセス要求が実行可能であるかどうかが判別される。
【００３８】
当該アクセス要求が実行された場合には、さらに、ランダムアクセスファイルシステム領域に対する次のアクセス要求に対しても同様の処理が行われる。すなわち、前回のアクセス要求によってアクセスされたランダムアクセスファイルシステム領域２０２上のアクセス位置が保持され、その保持されたアクセス位置から、ランダムアクセスファイルシステム領域２０２に対する次のアクセス要求によって指定されるアクセス位置までのアクセス移動距離が求められる。そして、そのアクセス移動距離と当該次のアクセス要求によって指定されるアクセスサイズとからランダムアクセスに要する所要時間が求められ、次回の処理周期の開始までの残り時間内に当該次のアクセス要求が実行可能であるかどうかが判別される。
【００３９】
図４のフローチャートには、ＣＰＵ１１１によって実行されるディスク制御処理の手順が示されている。
【００４０】
ディスクドライバはＯＳと共同して、各処理周期毎に、まず、シーケンシャルアクセスファイルシステム領域２０１に対してＡＶデータのリアルタイム処理に必要な予約データサイズ分のシーケンシャルアクセスを実行するためのディスクＩ／Ｏ処理を実施する（ステップＳ１０１）。このディスクＩ／Ｏ処理では、ＨＤＤ１１４に対するアクセスを実行する度に、ディスクドライバを通じてＨＤＤ１１４に物理アドレスが発行される。この場合、ディスクドライバはその発行した物理アドレスをアクセス位置として保持する。
【００４１】
予約されたデータサイズ分のシーケンシャルアクセスが完了すると、ディスクドライバは、ランダムアクセスファイルシステム領域２０２に対するアクセス要求（ランダムアクセス要求）がキューに存在するかどうかを判別する（ステップＳ１０２）。ランダムアクセス要求がキューに存在するならば（ステップＳ１０２のＹＥＳ）、ディスクドライバは、キューからランダムアクセス要求を取り出し、上述の基準関数ｆ（アクセス移動距離、アクセスサイズ）により、当該ランダムアクセス要求に対応する所要処理時間を求め、その所要時間の値が次の処理周期の開始までの残り時間の値よりも少ないかどうかによって実行可能か否かを判断する（ステップＳ１０３）。もし、実行可能であれば（ステップＳ１０３のＹＥＳ）、ディスクドライバは、ランダムアクセスファイルシステム領域２０２に対するランダムアクセスを実行するためのディスクＩ／Ｏ処理を実施する（ステップＳ１０４）。このディスクＩ／Ｏ処理においても、ＨＤＤ１１４に発行した物理アドレスはディスクドライバによってアクセス位置として保持される。
【００４２】
キューに未処理のランダムアクセス要求が無くなるか、あるいは次のランダムアクセス要求が次の処理周期の開始までに実行できないと判断されるまで、ランダムアクセス要求は順次処理される。
【００４３】
キューに未処理のランダムアクセス要求が無い場合（ステップＳ１０２のＮＯ）、あるいは次のランダムアクセス要求が次の処理周期の開始までに実行できないと判断された場合には（ステップＳ１０３のＮＯ）、ディスクドライバは、次の処理周期の開始まで処理を中断（スリープ）して待つ（ステップＳ１０５）。
【００４４】
ただし、アプリケーションプログラムからのランダムアクセス要求はＯＳを通じて非同期にキューに追加されてゆくので（ステップＳ１１１）、追加された場合は、その周期内での予約処理が終わっている状態ならば（ステップＳ１１２のＹＥＳ）、スリープ状態のディスクドライバが間接的に呼び出されて実行され、ランダムアクセスの繰り返し処理（ステップＳ１０２〜Ｓ１０４）が間接的に呼び出されて実行される。
【００４５】
そして、次の処理周期を開始する時間になると（ステップＳ１０６のＹＥＳ）、再び次の処理周期に対応する処理が開始される。
【００４６】
次に、図５を参照して、シーケンシャルアクセスファイルシステム領域２０１およびランダムアクセスファイルシステム領域２０２の他の配置例について説明する。
【００４７】
ここでは、同一データが記憶された複数のランダムアクセスファイルシステム領域２０２をＨＤＤ１１４のディスク記録媒体上に配置する場合を説明する。すなわち、決められた時間の中でより多くのランダムアクセス処理を実行するためには、シーケンシャルアクセスファイルシステム領域２０１からランダムアクセスファイルシステム領域２０２への物理的にアクセス移動距離を減らすことが一つの方法である。
【００４８】
図５（ａ）はランダムアクセスファイルシステム領域２０２が一つの場合を示しており、また図５（ｂ）は同一のランダムアクセスファイルシステム領域２０２を２つ配置した例を示している。図５（ａ）の場合は、図２で説明したように、シーケンシャルアクセスファイルシステム領域２０１からランダムアクセスファイルシステム領域２０２までのアクセス移動距離の上限値は、最大アクセス移動距離（Ｌ＝ディスク記録媒体の半径）の半分（Ｌ／２）であるが、図５（ｂ）においては、２つのランダムアクセスファイルシステム領域２０２の中から、シーケンシャルアクセスファイルシステム領域２０１上のアクセス位置から近い方のランダムアクセスファイルシステム領域２０２を選択することにより、アクセス移動距離の上限値をＬ／４に低減することが可能となる。シーケンシャルアクセスファイルシステム領域２０１からランダムアクセスファイルシステム領域２０２までのアクセス移動距離を減らすことにより、より多くのランダムアクセス処理を時間内に行うことが可能となる。
【００４９】
アプリケーションプログラムやＯＳは２つのランダムアクセスファイルシステム領域２０２が存在することを意識する必要はなく、第１および第２の２つのランダムアクセスファイルシステム領域２０２を一つの領域として扱えばよい。ここでは、アプリケーションプログラムやＯＳは、２つのランダムアクセスファイルシステム領域２０２に共通に代表物理アドレスを用いるものとする。この代表物理アドレスとしては、１）２つのランダムアクセスファイルシステム領域２０２のいずれか一方に対応する物理アドレスを使用する方法と、２）２つのランダムアクセスファイルシステム領域２０２に共通に割り当てられた仮想的なアドレスを使用する方法とが考えられる。いずれの場合においても、ディスクドライバが、上位からのアドレスを、２つのランダムアクセスファイルシステム領域２０２の内でアクセス移動距離が短い方のランダムアクセスファイルシステム領域に対応する物理アドレスに変換することにより、ランダムアクセス要求で指定されたデータを正しくリードすることが出来る。
【００５０】
すなわち、図４のフローチャートに示されているように、ディスクドライバは、アクセス要求がランダムアクセス要求である場合には（ステップＳ２０１のＹＥＳ）、前回アクセスしたシーケンシャルアクセスファイルシステム領域２０１上の物理アドレスに基づいて、第１および第２の２つのランダムアクセスファイルシステム領域２０２の内でアクセス移動距離が短い方のランダムアクセスファイルシステム領域を選択し、そしてランダムアクセス要求で指定された代表物理アドレスを、実際にアクセスすべき選択したランダムアクセスファイルシステム領域の物理アドレスに変換する処理を実行する（ステップＳ２０２）。そして、ディスクドライバは、ランダムアクセスのためのディスクＩ／Ｏ処理を実行するたびに、実際にアクセスした物理アドレスを保持する（ステップＳ２０３，Ｓ２０４）。
【００５１】
シーケンシャルアクセスファイルシステム領域２０１に対するアクセス時には上述のステップＳ２０２の処理は実行されない。
【００５２】
図７には、ディスクドライバによって実行されるアドレス変換処理の様子が示されている。この図７は、上述の１）の方法を使用する場合を想定したものであり、ＯＳを通じて発行されるランダムアクセス要求は常に予め決められた一方のランダムアクセスファイルシステム領域に対応する物理アドレス（例えば、第１のランダムアクセスファイルシステム領域に対応する物理アドレス（Ａ１））を代表物理アドレスとして指定する。ディスクドライバは、第１および第２の２つのランダムアクセスファイルシステム領域２０２の内でアクセス移動距離が短い方のランダムアクセスファイルシステム領域を選択する。第１のランダムアクセスファイルシステム領域（＃１）２０２を選択した場合には、ディスクドライバは、ランダムアクセス要求で指定される代表物理アドレス（Ａ１）をそのまま変換後の物理アドレスとして使用する。一方、第２のランダムアクセスファイルシステム領域（＃２）２０２を選択した場合には、ディスクドライバは、ランダムアクセス要求で指定される代表物理アドレス（Ａ１）を、第２のランダムアクセスファイルシステム領域（＃２）２０２に対応する物理アドレス（Ｂ２）に変換する。
【００５３】
なお、第１および第２の２つのランダムアクセスファイルシステム領域２０２の双方に対応する変換後の物理アドレスを最初に求め、それら変換後の物理アドレスと、シーケンシャルアクセスファイルシステム領域２０１にアクセスした前回の物理アドレスとに基づいて、第１および第２の２つのランダムアクセスファイルシステム領域２０２の一方を選択するようにしても良い。
【００５４】
周期処理の手順は図４のフローチャートと同様にして実行されるが、予約処理終了後の最初のランダムアクセス要求を処理する場合においては、図８の処理が実行される。
【００５５】
すなわち、ディスクドライバは、まず、シーケンシャルアクセスファイルシステム領域２０１に前回アクセスした物理アドレスと、選択したランダムアクセスファイルシステム領域２０２に対応する変換後の物理アドレスとに基づいて、選択したランダムアクセスファイルシステム領域２０２上のアクセス位置までのアクセス移動距離を算出する（ステップＳ３０１）。次いで、ディスクドライバは、上述の基準関数ｆ（アクセス移動距離、アクセスサイズ）により、当該ランダムアクセス要求に対応する所要処理時間を求め、その所要時間の値が次の処理周期の開始までの残り時間の値よりも少ないかどうかによって実行可能か否かを判断する（ステップＳ３０２）。もし、実行可能であれば（ステップＳ３０２のＹＥＳ）、ディスクドライバは、選択したランダムアクセスファイルシステム領域２０２に対するランダムアクセスを実行するためのディスクＩ／Ｏ処理を実施し（ステップＳ３０３）、さもなければ（ステップＳ３０２のＮＯ）、次の処理周期の開始まで処理を中断（スリープ）して待つ（ステップＳ３０４）。
【００５６】
なお、キューに未処理のランダムアクセス要求が無くなるか、あるいは次のランダムアクセス要求が次の処理周期の開始までに実行できないと判断されるまでは、ステップＳ３０１〜Ｓ３０３の処理が順次実行される。
【００５７】
次に、シーケンシャルアクセスファイルシステム領域２０１およびランダムアクセスファイルシステム領域２０２の更に他の配置例について説明する。
【００５８】
ここでは、複数のＨＤＤ１１４を使用する場合を想定する。ホームサーバ１１に複数台のＨＤＤ１１４が設けられている場合には、シーケンシャルアクセスファイルシステム領域２０１は、アドレスが連続するデータ群がブロック単位で複数のＨＤＤ１１４それぞれのディスク記録媒体上に交互に記録されるようにそれら複数のＨＤＤ１１４間にストライピング構造で配置する。シーケンシャルアクセスファイルシステム領域２０２はストライピングせず、複数のＨＤＤ１１４それぞれのディスク記録媒体上に、同一のデータが記憶されたシーケンシャルアクセスファイルシステム領域２０２を一つずつ独立して配置する。この説明のために、図９、図１０に例を示す。
【００５９】
図９は、シーケンシャルアクセスファイルシステム領域２０１を２つのＨＤＤ１，２との間でストライピングをせずに、各ＨＤＤ１，２に独立して配置した場合の例である。ＨＤＤ１，２間でアクセス位置は完全に独立なため、シーケンシャルアクセスファイルシステム領域２０１からランダムアクセスファイルシステム領域２０２までのアクセス移動距離は、ＨＤＤ１と２のいずれにおいても、図２で説明した１台の場合と全く同じ状況である。
【００６０】
図１０は、シーケンシャルアクセスファイルシステム領域２０１のみを２つのＨＤＤ１，２との間でストライピングした場合を示している。シーケンシャルアクセスファイルシステム領域２０１に対するアクセスはＨＤＤ１とＨＤＤ２との間で交互に行われるので、シーケンシャルアクセス中は各ＨＤＤ１，２間でアクセスしている位置が同期する。よって、そのことを考慮して、図１０に示すように、ランダムアクセスファイルシステム領域２０２の配置位置をＨＤＤ１とＨＤＤ２との間で互いにずらすことにより、図５（ｂ）のようにＨＤＤ１台に２つのランダムアクセスファイルシステム領域２０２を設置した場合と同じ効果が得られ、最長アクセス移動距離はＬ／４となり、ストライピングしない場合に比べて半分の移動距離で済む。
【００６１】
ＨＤＤ１，２それぞれのランダムアクセスファイルシステム領域２０２の内で、シーケンシャルアクセスファイルシステム領域２０１上の前回のアクセス位置からランダムアクセスファイルシステム領域２０２までのアクセス距離が近い方のＨＤＤに対応するランダムアクセスファイルシステム領域２０２がアクセス対象のランダムアクセスファイルシステム領域として選択される。この選択処理の手順は、図５（ｂ）のようにＨＤＤ１台に２つのランダムアクセスファイルシステム領域２０２を設置した場合と同様にして行われる。
【００６２】
すなわち、アプリケーションプログラムやＯＳはＨＤＤ１，２それぞれにランダムアクセスファイルシステム領域２０２が存在することを意識する必要はなく、例えば、ＨＤＤ１，２のいずれか一方のランダムアクセスファイルシステム領域２０２に対応する物理アドレスのみを代表物理アドレスとして意識すればよい。ディスクドライバによるアドレス変換により、代表物理アドレスは、シーケンシャルアクセスファイルシステム領域２０１上の前回のアクセス位置からのアクセス移動距離が短い方のＨＤＤに対応するランダムアクセスファイルシステム領域２０２に対応する物理アドレスに変換される。
【００６３】
周期処理においては、ディスクドライバは、シーケンシャルアクセスファイルシステム領域２０１に前回アクセスした物理アドレスと、選択したＨＤＤ上のランダムアクセスファイルシステム領域２０２に対応する変換後の物理アドレスとに基づいて、選択したＨＤＤ上のランダムアクセスファイルシステム領域２０２上のアクセス位置までのアクセス移動距離を算出する。そして、上述の基準関数ｆ（アクセス移動距離、アクセスサイズ）により、当該ランダムアクセス要求に対応する所要処理時間を求め、その所要時間の値が次の処理周期の開始までの残り時間の値よりも少ないかどうかによって当該ランダムアクセス要求の実行の可否を判断すれば良い。
【００６４】
以上のように、本実施形態のホームサーバ１１の構成によれば、シーケンシャルアクセスファイルシステム領域２０１からランダムアクセスファイルシステム領域２０２までのアクセス移動距離、およびランダムアクセス要求間におけるランダムアクセスファイルシステム領域２０２上におけるアクセス移動距離を考慮することにより、リアルタイム性が必要なＡＶデータ等のシーケンシャルアクセスを阻害しない範囲で、アプリケーションやデータのランダムアクセスを最大限実行することが可能となる。
【００６５】
特に、シーケンシャルアクセスファイルシステム領域２０１からランダムアクセスファイルシステム領域２０２までのアクセス移動距離を短くするための配置を採用することで、実行可能なランダムアクセスの回数を増やすことが可能となる。
【００６６】
なお、本実施形態では、アクセス移動距離およびアクセスサイズ（データサイズ）をそれぞれランダムアクセスの所要時間を算出するためのパラメタとして使用したが、各ランダムアクセス要求で指定されるアクセスサイズが一定の場合は、アクセス移動距離のみをパラメタとする関数によってランダムアクセスの所要時間を算出することも可能である。
【００６７】
また、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。例えば、記録装置としてはＨＤＤのみならず、アクセス位置の変更のために一定の処理時間を必要とするものであれば、例えば光ディスクドライブや、光磁気ディスクドライブなどの他のディスク記録装置を利用することもできる。
【００６８】
また、本実施形態で説明したシーケンシャルアクセスファイルシステム領域２０１およびランダムアクセスファイルシステム領域２０２の配置は、例えば工場出荷前などにホームサーバ１１内蔵のＨＤＤをフォーマットすることによって実現することもできるが、そのフォーマット用のプログラムをホームサーバ１１内に用意することにより、光ディスクなどの可搬型の記録媒体をユーザがホームサーバ１１に装着して使用する際にも上述のフォーマット処理を必要に応じて実行することができる。
【００６９】
更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【００７０】
【発明の効果】
以上説明したように、本発明によれば、ＡＶデータ等のリアルタイム処理を阻害しない範囲で、アプリケーションやデータをランダムアクセスするためのディスクＩ／Ｏ処理を効率よく実行することが可能となる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係るホームサーバの構成を示すブロック図。
【図２】図１のホームサーバで使用されるディスク記録装置の記録媒体上に配置されるシーケンシャルアクセスファイルシステム領域およびランダムアクセスファイルシステム領域を説明するための図。
【図３】図１のホームサーバにおけるディスクアクセス処理の処理周期を説明するための図。
【図４】図１のホームサーバによって実行されるシーケンシャルアクセスとランダムアクセスの周期処理の手順を示すフローチャート。
【図５】図１のホームサーバで使用されるシーケンシャルアクセスファイルシステム領域とランダムアクセスファイルシステム領域の他の配置例を示す図。
【図６】図５の配置を利用した場合におけるランダムアクセスファイルシステム領域の選択処理の手順を示すフローチャート。
【図７】図１のホームサーバによって実行されるアドレス変換処理を説明するための図。
【図８】図５の配置を利用した場合における周期処理の一部の処理を示すフローチャート。
【図９】ストライピングを使用しない場合における２台のディスク記録装置間のアクセス位置の関係を説明するための図。
【図１０】図１のホームサーバで使用されるシーケンシャルアクセスファイルシステム領域とランダムアクセスファイルシステム領域のさらに他の配置例を示す図。
【符号の説明】
１１…ホームサーバ、１１１…ＣＰＵ、１１２…主メモリ、１１３…フラッシュメモリ、１１４…ＨＤＤ、１１５…ＡＶ入力部、１１６…ＴＶチューナ、１１７…デコーダ、１１８…ＡＶ出力部、１１９…デコーダ、１２０…通信制御部、２０１…シーケンシャルアクセスファイルシステム領域、２０２…ランダムアクセスファイルシステム領域。
【図１】
2004206255.tif 000003
【図２】
2004206255.tif 000004
【図３】
2004206255.tif 000005
【図４】
2004206255.tif 000006
【図５】
2004206255.tif 000007
【図６】
2004206255.tif 000008
【図７】
2004206255.tif 000009
【図８】
2004206255.tif 000010
【図９】
2004206255.tif 000011
【図１０】
2004206255.tif 000012