JP2004104212A - Band management file system apparatus, program thereof, and program recording medium - Google Patents

Band management file system apparatus, program thereof, and program recording medium Download PDF

Info

Publication number
JP2004104212A
JP2004104212A JP2002259774A JP2002259774A JP2004104212A JP 2004104212 A JP2004104212 A JP 2004104212A JP 2002259774 A JP2002259774 A JP 2002259774A JP 2002259774 A JP2002259774 A JP 2002259774A JP 2004104212 A JP2004104212 A JP 2004104212A
Authority
JP
Japan
Prior art keywords
file
data
priority
access
file system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002259774A
Other languages
Japanese (ja)
Inventor
Tetsuyuki Toyofuku
豊福 哲之
Tomonobu Ito
伊藤 朝信
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2002259774A priority Critical patent/JP2004104212A/en
Publication of JP2004104212A publication Critical patent/JP2004104212A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a band management file system apparatus wherein a device such as a nonlinear edit device and a video server needing a file access to warrant real time performance can read / write a moving picture without interruption to enhance the reliability. <P>SOLUTION: The file system apparatus designates priority of disk accesses, executes access depending on the priority, warrants a band for an access such as video and audio access wherein real time performance is a requirement and improves access performance at division of data blocks by a buffer function so as to realize recording and reproduction of high quality video and audio. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、リアルタイム性が要求される映像・音声などを扱うノンリニア編集機・ビデオサーバに関するファイルシステム装置、およびその動作のプログラムと、これを記録したプログラム記録媒体に関する。
【0002】
【従来の技術】
ファイルを利用したコンピュータベースの映像機器としては、ノンリニア編集機やビデオサーバなどがあり、従来技術について図8に示したノンリニア編集機を例に説明する。同図に示すように、従来のノンリニア編集機801は映像音声用データ格納部802を備え、ノンリニアアプリケーション803は、一般的にはFATやNTFSなどのファイルシステム804を通して、SCSIなどのデータインタフェース部805に接続されたデータ格納部802にアクセスを行い、GUI上または別に接続されたNTSCモニタ806に映像を出力する。
【0003】
【発明が解決しようとする課題】
しかしながら、ディスクのアクセス帯域には上限があるため、多数のアクセス要求が発生した場合は、1本当たり帯域が減少してしまう。さらに、たとえばネットワークを経由してファイルをやりとりする場合は、データが小さく分割されアクセス時の実質的な帯域は減少する。
【0004】
これに対し、従来のノンリニア編集機のファイルシステムは、映像音声のリアルタイム性を維持するように設計されておらず、アクセスコマンドを受け取った順に処理するため、例えば映像再生中にファイルコピーなどのリアルタイム性を要求しない別アクセスが発生した場合に、映像を優先的に処理することが出来なかったり、小さく分割されたデータに対するアクセスにより、リアルタイム性が失われてコマ落ちなど、映像品位を低下させるような現象が発生する可能性があった。
【0005】
【課題を解決するための手段】
本発明の第1の発明は、「ファイルを格納するデータ格納部と前記ファイルの論理ブロックを物理ブロックに対応づけてデータ配置情報を管理するファイルシステムと前記データ格納部へのデータインタフェース部と前記ファイルにアクセスする一つ以上のアプリケーションを備え、前記アプリケーションが前記ファイルにアクセスする時の帯域を設定する手段と前記帯域に基づき前記アプリケーションが前記ファイルへのアクセス完了すべき時間を示すデッドラインを計算する手段と、前記デッドラインに基づき前記ファイルへのアクセス制御を行う手段を持つことを特徴とする帯域管理ファイルシステム装置。」であり、これにより、優先度の高い要求をアプリケーションが指定した時間以内で処理することが可能となり、映像や音声などのリアルタイム性を求められるデータに対して、高品位な映像音声の記録再生が可能となる。
【0006】
本発明の第2の発明は、「ファイルを格納するデータ格納部と前記ファイルの論理ブロックを物理ブロックに対応づけてデータ配置情報を管理するファイルシステムと前記データ格納部へのデータインタフェース部と前記ファイルにアクセスする一つ以上のアプリケーションを備え、前記アプリケーションが前記ファイルにアクセスする時の優先度を設定する手段と前記優先度に基づき優先度別アクセス格納列に振り分ける手段と、前記優先度に基づき前記ファイルへのアクセス制御を行う手段を持つことを特徴とする帯域管理ファイルシステム装置。」であり、これにより、優先度の高い要求を優先的に処理することが可能となり、映像や音声などのリアルタイム性を求められるデータに対して、高品位な映像音声の記録再生が可能となる。
【0007】
本発明の第3の発明は、「ファイルを格納するデータ格納部と前記ファイルの論理ブロックを物理ブロックに対応づけてデータ配置情報を管理するファイルシステムと前記データ格納部へのデータインタフェース部と前記ファイルにアクセスする一つ以上のアプリケーションを備え、前記アプリケーションが前記ファイルにアクセスする時の帯域を設定する手段と前記帯域に基づき前記アプリケーションが前記ファイルへのアクセス完了すべき時間を示すデッドラインを計算する手段と、前記デッドラインに基づき前記ファイルへのアクセス制御を行う手段と前記ファイルにアクセスする時の優先度を設定する手段と前記優先度に基づき優先度別アクセス格納列に振り分ける手段と、前記優先度に基づき前記ファイルへのアクセス制御を行う手段を持つことを特徴とする帯域管理ファイルシステム装置。」であり、これにより、アプリケーションが指定した優先度とデッドラインを用いて、優先度の高い要求を優先的に処理することが可能となり、映像や音声などのリアルタイム性を求められるデータに対して、高品位な映像音声の記録再生が可能となる。
【0008】
本発明の第4の発明は、「ファイルを格納するデータ格納部と前記ファイルの論理ブロックを物理ブロックに対応づけてデータ配置情報を管理するファイルシステムと前記データ格納部へのデータインタフェース部と前記ファイルにアクセスする一つ以上のアプリケーションを備え、前記アプリケーションが前記ファイルにデータを書き込む時に前記データのサイズがある一定以下の時には前記データをメモリバッファに一旦格納し、前記バッファが一杯になった時点で、前記ファイルに書き込むことを特徴とする帯域管理ファイルシステム装置。」であり、これにより、大きなサイズでデータを書き込むことが可能になり、映像や音声などのリアルタイム性を求められるデータの書き込むを可能にする。
【0009】
また、本発明の第5または第6の発明は、「上記第1〜4の発明のいずれかの帯域管理ファイルシステムの各手段、または各部の全部あるいは一部の機能をコンピュータにより実行させることを特徴とするプログラム、またはこのプログラムを記録したプログラム記録媒体。」である。
【0010】
【発明の実施の形態】
以下、本発明にかかる帯域管理ファイルシステム装置の実施形態について、図を用いて説明する。
【0011】
(第1の実施形態)
図1は本発明の第1の実施形態における帯域管理ファイルシステム装置の構成を示すブロック図である。
【0012】
図1において、801はノンリニア編集機、102はファイルシステム、802はデータ格納部、803はノンリニア編集機能を持つアプリケーション、805はデータインタフェース部である。通常、データ格納部802は一つ以上のディスクから成り、データインタフェース部805はSCSIなどのインタフェースを持つカードから成る。
【0013】
図2に、本実施例におけるファイルシステム102の構成を示す。図2において、201はアプリケーションからのファイルアクセスコマンドを格納するためのコマンドキュー格納部である。202は前記のファイルアクセスコマンドを格納するコマンドキューである。
【0014】
203はアプリケーションから発行されたファイルアクセスコマンドに対してデッドラインを計算するデッドライン計算モジュールである。204はデッドラインを付与されたファイルアクセスコマンドをコマンドキュー202にデッドラインの短い方からソーティングして格納するコマンド格納スレッドである。
【0015】
205は、コマンドキュー202に現在のタイムスロットに処理すべきコマンドがあればそれを処理するスケジューリングスレッドである。206はタイムスロット処理を行うタイマーであり、207はコマンドキューから現在のタイムスロットにあるファイルアクセスコマンドを取得する取得モジュールである。208はディスクに対してファイルアクセスコマンドを発行するファイルアクセスコマンド発行モジュールである。209はアプリケーション803がファイルシステム102に対して発行したファイルアクセスコマンドである。
【0016】
ファイルシステム102は、各ファイルの属性情報の一つとして各ファイルにアクセスする帯域を設定および取得できる機能をアプリケーションに提供している。アプリケーションは、この機能を用いてファイルに対して帯域設定を行うことができる。アプリケーションがファイルアクセスコマンドを発行するとそのコマンドはまずデッドライン計算モジュール203で処理する。デッドライン計算モジュール203は、各アプリケーションの発行した過去の処理時間およびアクセスするファイルに設定された帯域を基にデッドラインを計算する。
【0017】
デッドライン計算モジュールが行うデッドラインの計算方法を図3を用いて説明する。アクセス帯域10Mbpsが設定されたファイルに対してアクセスブロック1MBでアクセスする場合には、平均836msecでアクセスする必要がある。しかし、ファイルへのアクセスを出す時間(Req)によっては図3に示すようにデッドラインの長さが変化する。例えば、Req2は早めにファイルアクセスコマンドを発行しているので838msecより長めになり、Req3は発行された時間が遅くなっているので、負の数になる。
【0018】
コマンド格納スレッド204は、デッドライン計算モジュール203で算出したデッドラインを付加したファイルアクセスコマンド209をコマンドキュー202に格納する。スケジューリングスレッド205は現在のタイムスロット内で処理すべきコマンドがあるかを取得モジュール207で判断を行い、取得モジュール207で取得すべきと判断されたらファイルアクセスコマンド発行モジュール208にファイルアクセスコマンド209を送付する。
【0019】
タイマー206は一定間隔でタイマーイベントを発行し制御を次のモジュールに渡す機能ブロックである。
【0020】
図4を用いてファイルアクセスコマンド発行モジュール208がどのようにファイルアクセスコマンドを発行するかを説明する。ここではコマンドキュー202に格納されているファイルアクセスコマンドA1,A2,A3のデッドラインをそれぞれ5,15,25とする。図4に示すタイムスロットの長さを10とする。
【0021】
タイマー206は10間隔で取得モジュール207に制御を渡すことになる。
【0022】
ファイルアクセスコマンドA1,A2,A3は図4に示しているように、各タイムスロット毎にファイルアクセスコマンドを発行する。
【0023】
このような処理により、優先度の高い要求を優先的に処理することが可能となる、本実施例のノンリニア編集機においては、映像や音声などの実時間性を求められるデータに対して、その要求を優先的に処理し、高品位な映像音声の記録再生が可能となる。
【0024】
(第2の実施形態)
図5は本発明における第2の実施の形態における帯域管理ファイルシステム装置の構成を示すブロック図である。図5において、501はファイルアクセスコマンド209の優先度(Priority)によってファイルアクセスコマンド209を振り分けるコマンド振り分けモジュールである。502は高優先度コマンドキュー、503は低優先度コマンドキュー、504は非優先度コマンドキューである。505は高優先度コマンドキュー502向け取得モジュール、506は低優先度コマンドキュー503向け取得モジュール、507は非優先度コマンドキュー504向け取得モジュールである。
【0025】
図2において、アプリケーションはファイルアクセスコマンドを優先モードおよび通常モードで発行することができる。高優先度コマンドキュー502および低優先度コマンドキュー503はそれぞれ、アプリケーションから優先モードを指定されたファイルアクセスの書き込み、読み込みのコマンドをそれぞれ格納する。一方、非優先度コマンドキュー504はの、通常のモードが指定されているアクセスのコマンドを格納する。アプリケーションは、ファイルをオープンする際に、アクセスのモードを優先か通常で指定する。なお、通常の場合は従来のファイルシステムと同様に動作する。
【0026】
次に、アプリケーションからアクセスの要求209があった場合の動作を述べる。コマンド格納スレッド204内のコマンド振り分けモジュール501は、ファイルアクセスコマンド209が優先モードでの書き込み、優先モードでの読み込み、通常モードでの読み込み/書き込みかによって、ファイルアクセスコマンド209を各対応するコマンドキュー502,503,504に振り分ける。
【0027】
各コマンドキュー502,503,504は、タイムスロット番号Nによって実際に各コマンドキュー502,503,504に格納されているファイルアクセスコマンドをチェックする。タイムスロット番号Nとは、図4に示しているタイムスロット0、タイムスロット1のようにタイムスロット間隔時間が経過する毎に一つ増える。ここではタイムスロットNを6で割った余りMを用いて次のような処理を行う。タイマー206は一定間隔でタイマーイベントを発行し制御を次のモジュールに渡す機能ブロックである。
【0028】
▲1▼Mが1、3もしくは5であり、かつ高優先度コマンドキュー502に、ファイルアクセスコマンド209があればファイルアクセスコマンド発行モジュール208にファイルアクセスコマンド209を渡し、次のタイムスロットをタイマー206で待つ。そうでなければ▲2▼を実行。
【0029】
▲2▼Mが2もしくは4であり、かつ低優先度コマンドキュー503に、ファイルアクセスコマンド209があればファイルアクセスコマンド発行モジュール208にファイルアクセスコマンド209を渡し、次のタイムスロットをタイマー206で待つ。そうでなければ▲3▼を実行。
【0030】
▲3▼非優先度コマンドキュー504に、ファイルアクセスコマンド209があればファイルアクセスコマンド発行モジュール208にファイルアクセスコマンド209を渡す。無ければ次のタイムスロットをタイマー206で待つ。
【0031】
このような処理により、優先度の高い要求を優先的に処理することが可能となる、本実施例のノンリニア編集機においては、映像や音声などの実時間性を求められるデータに対して、その要求を優先的に処理し、高品位な映像音声の記録再生が可能となる。
【0032】
(第3の実施形態)
図6は本発明における第3の実施形態における帯域管理ファイルシステム装置の構成を示すブロック図である。ここでは既に説明した第2の実施形態と異なる点を説明する。図6はデッドライン計算モジュールであり、機能は第1の実施形態で説明したこのと同じである。601は高優先度コマンドキュー502向け取得モジュール、602は低優先度コマンドキュー503向け取得モジュール、603は非優先度コマンドキュー504向け取得モジュールである。各取得モジュール601,602,603が第2の実施形態における各取得モジュールと異なるのは、本実施例における各取得モジュール601,602,603はファイルアクセスコマンド209に付与されたデッドラインが次に回ってくるタイムスロットまでに処理すべきかを判断し次に回ってくるタイムスロットまでに処理すべきと判断するファイルアクセスコマンド209をファイルアクセスコマンド発行モジュール208に渡す点である。非優先コマンドキュー504に格納されるファイルアクセスコマンド209はデッドラインを持っていないので、非優先度コマンドキュー504向け取得モジュール603ではデッドラインは見る必要はない。
【0033】
これら取得モジュール601,602,603のアルゴリズムを次に記載する。
【0034】
▲1▼Mが1、3もしくは5であり、かつ高優先度コマンドキュー502に、ファイルアクセスコマンド209があり、そのデッドラインが次に高優先度コマンドキュー502向け取得モジュールに回ってくるタイムスロットまでに処理すべきであれば、ファイルアクセスコマンド発行モジュール208にファイルアクセスコマンド209を渡し、次のタイムスロットをタイマー206で待つ。そうでなければ▲2▼を実行。
【0035】
▲2▼Mが2もしくは4であり、かつ低優先度コマンドキュー503に、ファイルアクセスコマンド209があり、そのデッドラインが次に低優先度コマンドキュー503向け取得モジュールに回ってくるタイムスロットまでに処理すべきであれば、ファイルアクセスコマンド発行モジュール208にファイルアクセスコマンド209を渡し、次のタイムスロットをタイマー206で待つ。そうでなければ▲3▼を実行。
【0036】
▲3▼非優先度コマンドキュー504に、ファイルアクセスコマンド209があればファイルアクセスコマンド発行モジュール208にファイルアクセスコマンド209を渡す。無ければ次のタイムスロットをタイマー206で待つ。
【0037】
このように、優先度の高い要求を優先的に処理する一方、必要以上の帯域を占有せずに、他の低優先度の要求も空き帯域を使用して処理することが可能となり、本実施例のノンリニア編集機においては、映像や音声などの実時間性を求められるデータに対して、その帯域を保証し、通常のファイルアクセスが発生しても、高品位を保ったままの映像音声の記録再生が可能となる。
【0038】
(第4の実施形態)
図7は本発明における第4の実施の形態における帯域管理ファイルシステム装置の構成を示すブロック図である。図7において、701はアプリケーション内部で保持されている書き込みデータ用のユーザバッファであり、702はアプリケーション内部で保持されている書き込みデータ用のカーネルバッファである。
【0039】
アプリケーション803からファイル書き込みのコマンドを受けた場合、ファイルシステム502は、予め定められているデータサイズと比較を行い、それ以上のサイズのデータを書き込むよう要求された場合は、703で示すように、アプリケーション内ユーザーバッファ701の内容を直接データ格納部802に書き込む。一方、予め定められたデータサイズより小さいサイズのデータを書き込むよう要求された場合は、704の様に、ファイルシステムはユーザーバッファ701の内容をカーネルバッファ702にコピーすることで、アプリケーション803に書き込み終了を通知する。
【0040】
ファイルがクローズされることなく、さらに次のアドレスに書き込む要求を受け取ったら、カーネルバッファ702内の前回の続きのアドレスに書き込みデータのコピー704を繰り返し、バッファが一杯になった時点で実際にディスクに対する書き込み705を行う。また、ファイルのクローズを要求された場合は、直ちにバッファの内容をディスクに書き込み(705)、その後、クローズ処理を実行する。
【0041】
このような処理により、大きなデータサイズの書き込みは、バッファ間のコピーを省略することで高速化を図る一方で、例えばネットワークを経由してデータが書き込まれるような場合に、小さなデータを何度もディスクに書き込むことで発生するオーバーヘッドを低減し、パフォーマンスを維持する事で映像音声などのデータに対して、コマ落ちなどのない高品位な記録が可能となる。
【0042】
なお実施形態1〜4では、データ格納部を接続するインターフェースにSCSIを用いているが、他にも、IEEE1394、USB、ファイバチャネル、IDEなどハードディスクが接続可能なインターフェースであれば同様に実現できる。また、実施形態2および3では、優先度を3段階にしているが複数であれば同様の効果が得られる。また、格納するコマンドも、本実施例の優先順位に限定されるものではない。
【0043】
【発明の効果】
本発明の帯域管理ファイルシステム装置は、ファイルアクセス時のリアルタイム性を考慮してファイルアクセスの管理を行うことができるので、ノンリニア編集機やビデオサーバなどのリアルタイム性を保証するファイルアクセスが必要な機器で動画を途切れなく読み書きでき、その信頼性を高めることができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態における帯域管理ファイルシステム装置の構成図
【図2】本発明の第1の実施形態における帯域管理ファイルシステム装置のファイルシステムの構成を示す図
【図3】本発明の第1の実施形態における帯域管理ファイルシステム装置のデッドラインの計算方法を示す図
【図4】本発明の第1の実施形態における帯域管理ファイルシステム装置のファイルアクセスコマンドをディスクに発行するタイミングを示す図
【図5】本発明の第2の実施形態における帯域管理ファイルシステム装置のファイルシステムの構成を示す図
【図6】本発明の第3の実施形態における帯域管理ファイルシステム装置のファイルシステムの構成を示す図
【図7】本発明の第1の実施形態における帯域管理ファイルシステム装置の構成図
【図8】従来例の構成図
【符号の説明】
102 ファイルシステム
201 コマンドキュー格納部
202 コマンドキュー
203 デッドライン計算モジュール
204 コマンド格納スレッド
205 スケジューリングスレッド
206 タイマー
207 取得モジュール
208 ファイルアクセスコマンド発行モジュール
209 ファイルアクセスコマンド
501 コマンド振り分けモジュール
502 高優先度コマンドキュー
503 低優先度コマンドキュー
504 非優先度コマンドキュー
505 高優先度コマンドキュー502向け取得モジュール
506 高優先度コマンドキュー502向け取得モジュール
507 高優先度コマンドキュー502向け取得モジュール
601 高優先度コマンドキュー502向け取得モジュール
602 高優先度コマンドキュー502向け取得モジュール
603 高優先度コマンドキュー502向け取得モジュール
701 ユーザバッファ
702 カーネルバッファ
801 ノンリニア編集機
802 データ格納部
803 ノンリニアアプリケーション
804 従来のファイルシステム
805 SCSIドライバ&カード
806 NTSCモニタ
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a file system device relating to a non-linear editing machine / video server that handles video / audio requiring real-time properties, a program for its operation, and a program recording medium recording the program.
[0002]
[Prior art]
As a computer-based video device using a file, there is a non-linear editing machine, a video server, and the like. The conventional technology will be described by taking the non-linear editing machine shown in FIG. 8 as an example. As shown in the figure, a conventional nonlinear editing machine 801 includes a video / audio data storage unit 802, and a nonlinear application 803 generally includes a data interface unit 805 such as SCSI through a file system 804 such as FAT or NTFS. To the data storage unit 802 connected to the PC and outputs an image on the GUI or to the NTSC monitor 806 connected separately.
[0003]
[Problems to be solved by the invention]
However, since there is an upper limit on the access band of the disk, when a large number of access requests are generated, the bandwidth per disk is reduced. Further, for example, when exchanging files via a network, the data is divided into small pieces, and the substantial bandwidth at the time of access is reduced.
[0004]
On the other hand, the file system of the conventional nonlinear editing machine is not designed to maintain the real-time property of video and audio, and processes the access commands in the order in which they are received. When another access that does not require the quality is performed, the video cannot be processed preferentially, or the access to the small divided data causes the real-time performance to be lost and the image quality to drop such as dropped frames. Could occur.
[0005]
[Means for Solving the Problems]
According to a first aspect of the present invention, there is provided a data storage unit that stores a file, a file system that manages data allocation information by associating logical blocks of the file with physical blocks, a data interface unit to the data storage unit, A means for setting a bandwidth when the application accesses the file, and a deadline indicating a time when the application should complete access to the file based on the bandwidth. And a means for controlling access to the file based on the deadline. ", Whereby a high-priority request is issued within a time specified by the application. Video and audio. For the data required for the real-time, it is possible to record and reproduce high-quality video and audio.
[0006]
According to a second aspect of the present invention, there is provided a data storage unit that stores a file, a file system that manages data arrangement information by associating logical blocks of the file with physical blocks, a data interface unit to the data storage unit, A means for setting one or more applications for accessing the file, a means for setting a priority when the application accesses the file, a means for distributing the priority to an access storage column based on the priority, A bandwidth management file system device having means for controlling access to the file. ", Whereby it is possible to process requests with high priority with priority, High-quality recording and playback of video and audio for data that requires real-time performance
[0007]
According to a third aspect of the present invention, there is provided a data storage unit that stores a file, a file system that manages data arrangement information by associating logical blocks of the file with physical blocks, a data interface unit to the data storage unit, A means for setting a bandwidth when the application accesses the file, and a deadline indicating a time when the application should complete access to the file based on the bandwidth. Means for controlling access to the file based on the deadline, means for setting a priority when accessing the file, and means for distributing to a priority-based access storage column based on the priority, Control access to the file based on priority Bandwidth management file system device characterized by having a stage. "This makes it possible to preferentially process a high priority request using the priority and deadline specified by the application, It is possible to record and reproduce high-quality video and audio for data requiring real-time properties such as video and audio.
[0008]
According to a fourth aspect of the present invention, there is provided a data storage unit that stores a file, a file system that manages data arrangement information by associating logical blocks of the file with physical blocks, a data interface unit to the data storage unit, When the application writes data to the file, the data is temporarily stored in a memory buffer when the size of the data is equal to or less than a certain value, and the data is temporarily stored in a memory buffer when the application writes data to the file. A band management file system apparatus characterized in that the file is written in the file. This makes it possible to write data in a large size, and to write data that requires real-time properties such as video and audio. enable.
[0009]
Further, a fifth or sixth invention of the present invention is directed to "the execution of all or a part of the function of each means or each part of the bandwidth management file system according to any one of the first to fourth inventions by a computer. Characteristic program, or a program recording medium on which this program is recorded. "
[0010]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, an embodiment of a bandwidth management file system device according to the present invention will be described with reference to the drawings.
[0011]
(1st Embodiment)
FIG. 1 is a block diagram showing the configuration of the bandwidth management file system device according to the first embodiment of the present invention.
[0012]
In FIG. 1, reference numeral 801 denotes a non-linear editing machine, 102 denotes a file system, 802 denotes a data storage unit, 803 denotes an application having a non-linear editing function, and 805 denotes a data interface unit. Normally, the data storage unit 802 includes one or more disks, and the data interface unit 805 includes a card having an interface such as SCSI.
[0013]
FIG. 2 shows a configuration of the file system 102 in the present embodiment. In FIG. 2, reference numeral 201 denotes a command queue storage unit for storing a file access command from an application. Reference numeral 202 denotes a command queue for storing the file access command.
[0014]
A deadline calculation module 203 calculates a deadline for a file access command issued from an application. Reference numeral 204 denotes a command storage thread that sorts and stores file access commands to which a deadline has been assigned in the command queue 202 from the shorter deadline.
[0015]
Reference numeral 205 denotes a scheduling thread for processing a command to be processed in the current time slot in the command queue 202, if any. Reference numeral 206 denotes a timer for performing time slot processing. Reference numeral 207 denotes an acquisition module for acquiring a file access command in a current time slot from a command queue. A file access command issuing module 208 issues a file access command to the disk. Reference numeral 209 denotes a file access command issued by the application 803 to the file system 102.
[0016]
The file system 102 provides an application with a function of setting and acquiring a band for accessing each file as one of the attribute information of each file. The application can set the bandwidth for the file using this function. When the application issues a file access command, the command is first processed by the deadline calculation module 203. The deadline calculation module 203 calculates a deadline based on the past processing time issued by each application and the bandwidth set for the file to be accessed.
[0017]
A deadline calculation method performed by the deadline calculation module will be described with reference to FIG. When accessing a file for which an access bandwidth of 10 Mbps is set with an access block of 1 MB, it is necessary to access at an average of 836 msec. However, the deadline length changes as shown in FIG. 3 depending on the time (Req) for accessing the file. For example, Req2 is longer than 838 msec because the file access command is issued earlier, and Req3 is a negative number because Req3 is issued later.
[0018]
The command storage thread 204 stores the file access command 209 added with the deadline calculated by the deadline calculation module 203 in the command queue 202. The scheduling thread 205 uses the acquisition module 207 to determine whether there is a command to be processed in the current time slot, and sends a file access command 209 to the file access command issuing module 208 when the acquisition module 207 determines that the command should be acquired. I do.
[0019]
The timer 206 is a functional block that issues a timer event at regular intervals and passes control to the next module.
[0020]
How the file access command issuing module 208 issues a file access command will be described with reference to FIG. Here, the deadlines of the file access commands A1, A2, and A3 stored in the command queue 202 are 5, 15, and 25, respectively. The length of the time slot shown in FIG.
[0021]
The timer 206 passes control to the acquisition module 207 at 10 intervals.
[0022]
As shown in FIG. 4, the file access commands A1, A2 and A3 issue a file access command for each time slot.
[0023]
By such a process, it becomes possible to process a request with a high priority preferentially. In the nonlinear editing machine of the present embodiment, for data requiring real-time properties such as video and audio, Requests are processed preferentially, and high-quality video / audio recording / reproduction becomes possible.
[0024]
(Second embodiment)
FIG. 5 is a block diagram showing the configuration of the bandwidth management file system device according to the second embodiment of the present invention. In FIG. 5, reference numeral 501 denotes a command distribution module that distributes the file access command 209 according to the priority (Priority) of the file access command 209. 502 is a high priority command queue, 503 is a low priority command queue, and 504 is a non-priority command queue. Reference numeral 505 denotes an acquisition module for the high-priority command queue 502, reference numeral 506 denotes an acquisition module for the low-priority command queue 503, and reference numeral 507 denotes an acquisition module for the non-priority command queue 504.
[0025]
In FIG. 2, an application can issue a file access command in a priority mode and a normal mode. The high-priority command queue 502 and the low-priority command queue 503 respectively store write and read commands for file access with a priority mode specified by the application. On the other hand, the non-priority command queue 504 stores access commands for which a normal mode is specified. When the application opens a file, it specifies the access mode as priority or normal. Incidentally, in the normal case, the operation is the same as that of the conventional file system.
[0026]
Next, an operation when an access request 209 is received from an application will be described. The command distribution module 501 in the command storage thread 204 stores the file access command 209 in the corresponding command queue 502 depending on whether the file access command 209 is written in the priority mode, read in the priority mode, or read / write in the normal mode. , 503, 504.
[0027]
Each of the command queues 502, 503, and 504 checks the file access command actually stored in each of the command queues 502, 503, and 504 according to the time slot number N. The time slot number N increases by one each time the time slot interval elapses, such as time slot 0 and time slot 1 shown in FIG. Here, the following processing is performed using the remainder M obtained by dividing the time slot N by 6. The timer 206 is a functional block that issues a timer event at regular intervals and passes control to the next module.
[0028]
{Circle around (1)} If M is 1, 3 or 5, and the file access command 209 is in the high priority command queue 502, the file access command 209 is passed to the file access command issuing module 208, and the next time slot is set to the timer 206. Wait at. Otherwise, execute (2).
[0029]
(2) If M is 2 or 4 and the file access command 209 is in the low priority command queue 503, the file access command 209 is passed to the file access command issuing module 208, and the next time slot is waited for by the timer 206. . Otherwise, execute (3).
[0030]
(3) If the file access command 209 exists in the non-priority command queue 504, the file access command 209 is passed to the file access command issuing module 208. If not, the next time slot is waited for by the timer 206.
[0031]
By such a process, it becomes possible to process a request with a high priority preferentially. In the nonlinear editing machine of the present embodiment, for data requiring real-time properties such as video and audio, Requests are processed preferentially, and high-quality video / audio recording / reproduction becomes possible.
[0032]
(Third embodiment)
FIG. 6 is a block diagram showing the configuration of the bandwidth management file system device according to the third embodiment of the present invention. Here, points different from the second embodiment described above will be described. FIG. 6 shows a deadline calculation module, whose function is the same as that described in the first embodiment. Reference numeral 601 denotes an acquisition module for the high-priority command queue 502, 602 denotes an acquisition module for the low-priority command queue 503, and 603 denotes an acquisition module for the non-priority command queue 504. Each of the acquisition modules 601, 602, and 603 is different from each acquisition module in the second embodiment in that each of the acquisition modules 601, 602, and 603 in the present embodiment has a deadline next to the file access command 209. The point is that a file access command 209 for determining whether or not to process by the coming time slot and determining to process by the next time slot is passed to the file access command issuing module 208. Since the file access command 209 stored in the non-priority command queue 504 does not have a deadline, the acquisition module 603 for the non-priority command queue 504 does not need to see the deadline.
[0033]
The algorithm of these acquisition modules 601, 602, 603 is described below.
[0034]
{Circle around (1)} M is 1, 3 or 5, and there is a file access command 209 in the high-priority command queue 502, and its deadline is the next time slot to be transferred to the acquisition module for the high-priority command queue 502. If the processing should be completed before this, the file access command 209 is passed to the file access command issuing module 208, and the next time slot is waited for by the timer 206. Otherwise, execute (2).
[0035]
{Circle around (2)} M is 2 or 4, and there is a file access command 209 in the low-priority command queue 503, and the deadline of the file access command 209 is reached by the next time slot to be transferred to the acquisition module for the low-priority command queue 503 If it should be processed, the file access command issuance module 208 passes the file access command 209 and waits for the next time slot by the timer 206. Otherwise, execute (3).
[0036]
(3) If the file access command 209 exists in the non-priority command queue 504, the file access command 209 is passed to the file access command issuing module 208. If not, the next time slot is waited for by the timer 206.
[0037]
As described above, while a request with a high priority is processed preferentially, other low-priority requests can be processed using an available band without occupying a band more than necessary. The non-linear editing machine in the example guarantees the bandwidth for data that requires real-time performance such as video and audio, and maintains the high quality of video and audio even when normal file access occurs. Recording and reproduction become possible.
[0038]
(Fourth embodiment)
FIG. 7 is a block diagram showing the configuration of the bandwidth management file system device according to the fourth embodiment of the present invention. In FIG. 7, reference numeral 701 denotes a user buffer for write data held inside the application, and 702 denotes a kernel buffer for write data held inside the application.
[0039]
When a file write command is received from the application 803, the file system 502 compares the data with a predetermined data size, and when requested to write data of a larger size, as shown by 703, The contents of the user buffer 701 in the application are written directly to the data storage unit 802. On the other hand, if a request is made to write data of a size smaller than the predetermined data size, the file system copies the contents of the user buffer 701 to the kernel buffer 702, as shown at 704, and finishes writing to the application 803. Notify.
[0040]
If a request to write to the next address is received without the file being closed, the copy of the write data is repeated 704 to the previous continuation address in the kernel buffer 702, and when the buffer becomes full, the data to the disk is actually read. Write 705 is performed. When a request to close the file is made, the contents of the buffer are immediately written to the disk (705), and then the close process is executed.
[0041]
By such a process, writing of a large data size can be speeded up by omitting copying between buffers, while, for example, when data is written via a network, small data is repeatedly written. By reducing the overhead generated by writing to a disc and maintaining the performance, high-quality recording of frames such as video and audio can be performed without dropping frames.
[0042]
In the first to fourth embodiments, SCSI is used as an interface for connecting the data storage unit. However, any other interface that can be connected to a hard disk, such as IEEE1394, USB, fiber channel, or IDE, can be similarly realized. In the second and third embodiments, the priority is set to three levels, but the same effect can be obtained if the priority is plural. Also, the commands to be stored are not limited to the priorities of this embodiment.
[0043]
【The invention's effect】
Since the bandwidth management file system apparatus of the present invention can manage file access in consideration of real-time property at the time of file access, a device that requires file access that guarantees real-time property such as a non-linear editing machine or a video server Can read and write the video without interruption, and can improve its reliability.
[Brief description of the drawings]
FIG. 1 is a configuration diagram of a bandwidth management file system device according to a first embodiment of the present invention; FIG. 2 is a diagram illustrating a configuration of a file system of the bandwidth management file system device according to the first embodiment of the present invention; FIG. 4 is a diagram showing a method of calculating a deadline of the bandwidth management file system device according to the first embodiment of the present invention. FIG. 4 issues a file access command to the disk of the bandwidth management file system device according to the first embodiment of the present invention. FIG. 5 is a diagram showing the timing of the operation. FIG. 5 is a diagram showing the configuration of the file system of the bandwidth management file system device according to the second embodiment of the present invention. FIG. 6 is an illustration of the bandwidth management file system device according to the third embodiment of the present invention. FIG. 7 shows a configuration of a file system. FIG. 7 shows a configuration of a bandwidth management file system device according to the first embodiment of the present invention. Figure 8 is a configuration diagram of a conventional example [Description of symbols]
102 File system 201 Command queue storage unit 202 Command queue 203 Deadline calculation module 204 Command storage thread 205 Scheduling thread 206 Timer 207 Acquisition module 208 File access command issuing module 209 File access command 501 Command distribution module 502 High priority command queue 503 Low Priority command queue 504 Non-priority command queue 505 Acquisition module 506 for high priority command queue 502 Acquisition module 507 for high priority command queue 502 Acquisition module 601 for high priority command queue 502 Acquisition module for high priority command queue 502 602 Acquisition module 603 for high priority command queue 502 High priority For command queue 502 acquisition module 701 the user buffer 702 kernel buffer 801 the non-linear editing apparatus 802 data storage unit 803 nonlinear application 804 prior file system 805 SCSI Drivers & card 806 NTSC monitor

Claims (6)

ファイルを格納するデータ格納部と、前記ファイルの論理ブロックを物理ブロックに対応づけてデータ配置情報を管理するファイルシステムと、前記データ格納部へのデータインタフェース部と、前記ファイルにアクセスする一つ以上のアプリケーションを備え、前記アプリケーションが前記ファイルにアクセスする時の帯域を設定する手段と、前記帯域に基づき前記アプリケーションが前記ファイルへのアクセス完了すべき時間を示すデッドラインを計算する手段と、前記デッドラインに基づき前記ファイルへのアクセス制御を行う手段とを持つことを特徴とする帯域管理ファイルシステム装置。A data storage unit that stores a file, a file system that manages data arrangement information by associating logical blocks of the file with physical blocks, a data interface unit to the data storage unit, and one or more of accessing the file Means for setting a bandwidth when the application accesses the file; means for calculating a deadline indicating a time when the application should complete access to the file based on the bandwidth; and Means for controlling access to the file based on a line. ファイルを格納するデータ格納部と、前記ファイルの論理ブロックを物理ブロックに対応づけてデータ配置情報を管理するファイルシステムと、前記データ格納部へのデータインタフェース部と、前記ファイルにアクセスする一つ以上のアプリケーションを備え、前記アプリケーションが前記ファイルにアクセスする時の優先度を設定する手段と前記優先度に基づき優先度別アクセス格納列に振り分ける手段と、前記優先度に基づき前記ファイルへのアクセス制御を行う手段とを持つことを特徴とする帯域管理ファイルシステム装置。A data storage unit that stores a file, a file system that manages data arrangement information by associating logical blocks of the file with physical blocks, a data interface unit to the data storage unit, and one or more of accessing the file Means for setting a priority when the application accesses the file, a means for allocating the priority to an access storage column based on the priority, and controlling access to the file based on the priority. And a bandwidth management file system device. ファイルを格納するデータ格納部と、前記ファイルの論理ブロックを物理ブロックに対応づけてデータ配置情報を管理するファイルシステムと前記データ格納部へのデータインタフェース部と、前記ファイルにアクセスする一つ以上のアプリケーションを備え、前記アプリケーションが前記ファイルにアクセスする時の帯域を設定する手段と、前記帯域に基づき前記アプリケーションが前記ファイルへのアクセス完了すべき時間を示すデッドラインを計算する手段と、前記デッドラインに基づき前記ファイルへのアクセス制御を行う手段と、前記ファイルにアクセスする時の優先度を設定する手段と、前記優先度に基づき優先度別アクセス格納列に振り分ける手段と、前記優先度に基づき前記ファイルへのアクセス制御を行う手段とを持つことを特徴とする帯域管理ファイルシステム装置。A data storage unit for storing a file, a file system for managing data allocation information by associating logical blocks of the file with physical blocks, a data interface unit to the data storage unit, and one or more of Means for setting a bandwidth when the application accesses the file, means for calculating a deadline indicating a time when the application should complete access to the file based on the bandwidth, and Means for controlling access to the file on the basis of: means for setting a priority when accessing the file; means for allocating to a priority-based access storage column based on the priority; and Have a means to control file access Band management file system and wherein the. ファイルを格納するデータ格納部と、前記ファイルの論理ブロックを物理ブロックに対応づけてデータ配置情報を管理するファイルシステムと、前記データ格納部へのデータインタフェース部と、前記ファイルにアクセスする一つ以上のアプリケーションを備え、前記アプリケーションが前記ファイルにデータを書き込む時に前記データのサイズがある一定以下の時には前記データをメモリバッファに一旦格納し、前記バッファが一杯になった時点で、前記ファイルに書き込むことを特徴とする帯域管理ファイルシステム装置。A data storage unit that stores a file, a file system that manages data arrangement information by associating logical blocks of the file with physical blocks, a data interface unit to the data storage unit, and one or more of accessing the file When the application writes data to the file, the application temporarily stores the data in a memory buffer when the size of the data is smaller than a certain value, and writes the data to the file when the buffer is full. A bandwidth management file system device comprising: 請求項1ないし4のいずれかに記載の帯域管理ファイルシステムの各手段、または各部の全部あるいは一部の機能をコンピュータにより実行させることを特徴とするプログラム。A program for causing a computer to execute all or a part of functions of each unit or each unit of the bandwidth management file system according to any one of claims 1 to 4. 請求項1ないし4のいずれかに記載の帯域管理ファイルシステムの各手段、または各部の全部あるいは一部の機能をコンピュータにより実行させるためのプログラムを記録したことを特徴とするプログラム記録媒体。5. A program recording medium on which is recorded a program for causing a computer to execute all or a part of the functions of each means or each part of the bandwidth management file system according to claim 1.
JP2002259774A 2002-09-05 2002-09-05 Band management file system apparatus, program thereof, and program recording medium Pending JP2004104212A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002259774A JP2004104212A (en) 2002-09-05 2002-09-05 Band management file system apparatus, program thereof, and program recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002259774A JP2004104212A (en) 2002-09-05 2002-09-05 Band management file system apparatus, program thereof, and program recording medium

Publications (1)

Publication Number Publication Date
JP2004104212A true JP2004104212A (en) 2004-04-02

Family

ID=32260672

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002259774A Pending JP2004104212A (en) 2002-09-05 2002-09-05 Band management file system apparatus, program thereof, and program recording medium

Country Status (1)

Country Link
JP (1) JP2004104212A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009119633A1 (en) * 2008-03-26 2009-10-01 日本電気株式会社 Data communication processing device and method
US7647455B2 (en) 2004-04-15 2010-01-12 Sony Corporation Information processing apparatus and method, program, and program recording medium
US7895373B2 (en) 2007-05-22 2011-02-22 Kyocera Mita Electronic device for data access management
JP2011165105A (en) * 2010-02-15 2011-08-25 Nec Corp Input/output control device, and input/output control method
JP2015072643A (en) * 2013-10-04 2015-04-16 株式会社 日立産業制御ソリューションズ Content distribution apparatus and content distribution method of content distribution apparatus

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7647455B2 (en) 2004-04-15 2010-01-12 Sony Corporation Information processing apparatus and method, program, and program recording medium
KR101125929B1 (en) * 2004-04-15 2012-03-21 소니 주식회사 Information processing apparatus and method, and program recording medium
US7895373B2 (en) 2007-05-22 2011-02-22 Kyocera Mita Electronic device for data access management
WO2009119633A1 (en) * 2008-03-26 2009-10-01 日本電気株式会社 Data communication processing device and method
JP2011165105A (en) * 2010-02-15 2011-08-25 Nec Corp Input/output control device, and input/output control method
JP2015072643A (en) * 2013-10-04 2015-04-16 株式会社 日立産業制御ソリューションズ Content distribution apparatus and content distribution method of content distribution apparatus

Similar Documents

Publication Publication Date Title
US5802394A (en) Method for accessing one or more streams in a video storage system using multiple queues and maintaining continuity thereof
Lougher et al. The design of a storage server for continuous media
JP4342435B2 (en) Method for processing data of at least one data stream, data storage system and method of using the system
US7913034B2 (en) DRAM access command queuing
US5987479A (en) Large block allocation for disk-based file systems
US20070136496A1 (en) Continuous media priority aware storage scheduler
US20070067595A1 (en) File system having predictable real-time performance
JPH0950667A (en) Method for control of disk drive
JP2003533843A (en) How to improve bandwidth efficiency
US8112566B2 (en) Methods and apparatuses for processing I/O requests of data storage devices
US8019915B2 (en) Method and device for controlling access to multiple applications
TW201009576A (en) Memory system, access control method therefor, and computer program
US7647455B2 (en) Information processing apparatus and method, program, and program recording medium
JP4502375B2 (en) File system and control method thereof
US20090125681A1 (en) Data recording apparatus, method for internal control of data recording apparatus, and data recording system
JP2004104212A (en) Band management file system apparatus, program thereof, and program recording medium
JP2004334459A (en) Recording and reproduction device, method, and program
JP2005234794A (en) File system controller
EP1596299B1 (en) Data processing apparatus and method thereof
US20060041690A1 (en) Software communication between MPEG layer and servo layer
EP1434223B1 (en) Method and apparatus for multiple data access with pre-load and after-write buffers in a video recorder with disk drive
Le Moal et al. A real-time file system for constrained quality of service applications
JP2008009506A (en) Information processor and its file access method
JP2000231776A (en) Media server system
KR100618823B1 (en) Memory arbiter and memory arbitrating method for optical device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040224

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20050707

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061212

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070626

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071211