(57)【特許請求の範囲】
【請求項１】
所定のプログラムをＣＰＵで実行することにより各種の情報処理を行う装置で適用され、かつデータ領域上の各アドレス範囲ごとに設けられたＦＡＴエントリにより各アドレス範囲の使用状況を管理するＦＡＴを用いて、ファイルを構成する多数のファイルデータの書き込み／読み出しを行うファイルシステムにおいて、
ファイルデータ書き込み時にＦＡＴを参照して、非連続なＦＡＴエントリを含む複数の空きＦＡＴエントリのうち、そのファイルデータの容量に対応する数だけＦＡＴエントリを使用状態に設定することで予約するＦＡＴ予約装置と、
このＦＡＴ予約装置により予約したＦＡＴエントリに対応する各データ領域のアドレスを取得するデータ領域アドレス取得装置と、
前記アドレスの取得後に前記ＣＰＵからの指示により前記ＣＰＵとは独立して動作し、このデータ領域アドレス取得装置により取得されたアドレスに基づいて、書き込むファイルデータを、直接、データ領域に書き込むデータ転送装置とを備えることを特徴とするファイルシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ファイルシステムに関し、特にＦＡＴを用いてファイルを管理するファイルシステムに関するものである。
【０００２】
【従来の技術】
一般に、所定のプログラムを中央演算装置（以下、ＣＰＵという）で実行することにより各種の情報処理を行う情報処理装置（上位装置）のファイルシステムでは、磁気ディスク記憶装置や半導体メモリ装置などの記憶媒体に対して処理データの書き込み／読み出しを行う場合、これらデータ群をファイルとして管理するものとなっている。
【０００３】
この種のファイルシステムの多くは、図４に示すように、ファイル管理テーブル（以下、ＦＡＴという：Ｆａｉｌ  Ａｌｌｏｃａｔｉｏｎ  Ｔａｂｌｅ  ）４７として、記憶媒体に設けられたデータ領域１８の所定アドレス範囲ごとに、ＦＡＴエントリと呼ばれる目次領域を、記憶媒体の一部領域に割り当て、各ファイルによるデータ領域の使用状況を管理するものとなっている。
【０００４】
この場合、ファイルシステムでは、メモリ４３上のファイルデータを書き込む場合、ＣＰＵ４１は、記憶媒体上のＦＡＴ４７を検索して、空きＦＡＴエントリを確保し、確保したＦＡＴ領域に対応したデータ領域に実際のファイルデータを書き込むという動作を繰り返すことで、ファイルの書き込みを実現している。
【０００５】
このようなファイルシステムについて、従来、記憶媒体へのアクセス速度向上を目的として、データ書き込み時に、その後のファイルシステムからデータを読み込む際のシーク時間が最小となるように、データを連続した領域に書き込んでおくことにより、ファイルシステムの速度向上を図ったものがある（例えば、特開平４−６４３号公報など参照）。
【０００６】
【発明が解決しようとする課題】
しかしながら、このような従来のファイルシステムでは、書き込み時において、ＣＰＵがＦＡＴ領域を参照して空き領域、あるいは空き連続領域を抽出し、抽出した領域に、順次、ＣＰＵを介してデータを書き込むものとなっているため、書き込み時におけるＣＰＵの処理負担が大きいという問題点があった。
【０００７】
特に、近年、情報処理装置周辺機器の速度の向上により、単位時間におけるデータの流入量が膨大になりつつあり、これをファイルシステムで格納する際、ファイルシステムのアクセス速度の遅さが原因で、全体の処理が滞ってしまう場面が増えている。
本発明はこのような課題を解決するためのものであり、データの書き込み時のＣＰＵ占有時間を短縮できるファイルシステムを提供することを目的としている。
【０００８】
【課題を解決するための手段】
このような目的を達成するために、本発明によるファイルシステムは、ファイルデータ書き込み時にＦＡＴを参照して、非連続なＦＡＴエントリを含む複数の空きＦＡＴエントリのうち、そのファイルデータの容量に対応する数だけＦＡＴエントリを使用状態に設定することで予約するＦＡＴ予約装置と、このＦＡＴ予約装置により予約したＦＡＴエントリに対応する各データ領域のアドレスを取得するデータ領域アドレス取得装置と、このアドレスの取得後にＣＰＵからの指示によりそのＣＰＵとは独立して動作し、このデータ領域アドレス取得装置により取得されたアドレスに基づいて、書き込むファイルデータを、直接、データ領域に書き込むデータ転送装置とを備えるものである。したがって、書き込み時には、書き込みを行うファイルデータの容量に応じた空きのＦＡＴエントリが予約され、予約されたＦＡＴエントリに対応するデータ領域のアドレスが取得され、ＣＰＵとは独立して、ファイルシステムの所定データ領域へ、直接、データの書き込みが行われる。
【０００９】
【発明の実施の形態】
次に、本発明について図面を参照して説明する。
図１は本発明の一実施の形態であるファイルシステムのブロック図であり、同図において、所定プログラムを実行することにより各種処理を行う情報処理装置のＣＰＵ（中央処理装置）１１には、バスなどを介してメモリ１３とデータ転送装置１２とが接続されている。
データ転送装置１２は、ＣＰＵ１１とは独立して動作し、メモリ１３と記憶媒体のデータ領域１８との間でデータを高速転送するものである。
【００１０】
また、データ書き込み時に、ファイル管理テーブル（以下、ＦＡＴという：Ｆａｉｌ  Ａｌｌｏｃａｔｉｏｎ  Ｔａｂｌｅ  ）１７を参照して、そのデータ容量分に対応する空きを示すＦＡＴエントリを予約するＦＡＴ予約装置１５と、予約された空きを示すＦＡＴエントリに対応するデータ領域１８内のアドレスを示す予約アドレスリストを生成するアドレスデータアドレス取得装置１６が設けられており、それぞれバスなどを介してＣＰＵ１１と接続されている。
【００１１】
次に、図１を参照して、本発明の一実施の形態の動作について説明する。
メモリ１３上のデータをデータ領域１８に格納する場合、ＣＰＵ１１はそのデータを格納するのに充分な容量の空きを示すＦＡＴエントリの予約をＦＡＴ予約装置１５に指示する。
ＦＡＴ予約装置１５は、ＦＡＴ１７から指定されたデータ容量分の空きを示すＦＡＴエントリを予約し、予約したＦＡＴエントリに対応したデータ領域１８中のアドレスのリストをデータアドレス取得装置１６で取得し、ＣＰＵ１１に返却する。
【００１２】
これに応じて、ＣＰＵ１１は、取得した予約アドレスリストに基づいてデータの転送を行うように、データ転送装置１２に指示する。
データ転送装置１２は、この指示に応じて、ＣＰＵ１１とは独立して、メモリ１３上のデータのそれぞれを予約アドレスリストで示されるアドレスのデータ領域１８に転送する。
【００１３】
これにより、ＣＰＵ１１自体がデータ転送を行う必要がなくなり、ＣＰＵ１１の処理負担が大幅に軽減される。
また、ＣＰＵ１１で実行されているプログラムは、データ転送装置１２のファイルシステムヘのデータ書き込み完了を待つことなく、次の処理を行うことが可能になる。
【００１４】
【実施例】
次に、本発明による第一の実施例について図面を参照して詳細に説明する。
図２は本発明の第一の実施例によるファイルシステムのブロック図であり、同図において、前述の説明（図１参照）と同じまたは同等部分には、同一符号を付してある。
なお、本実施例では、前述のデータ転送装置１２（図１参照）の具体例として、メモリ１３とデータ領域１８との間でＣＰＵ１１を介さず直接データを転送するＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）コントローラ２２が、代わりに設けられている。
【００１５】
また、この場合、ＦＡＴ１７には、「００００」〜「００１１」のＦＡＴエントリが、それぞれデータ領域１８のアドレス範囲（以下、アドレスという）「０ｘ００００」〜「０ｘ０８０００」に対応して設けられている。
なお、ここでは、例えばアドレス「０ｘ０００００」とは、「０ｘ０００００」から「Ｏｘ０１０００」の直前までのアドレス範囲を指す。
また、ＦＡＴ１７およびデータ領域１８中、斜線ハッチング部分は、すでに使用中であることを示している。
【００１６】
また、予約アドレスリスト１４は、ＦＡＴ予約装置１５により予約されたＦＡＴエントリに基づいて、データ領域アドレス取得装置１６により取得された、各予約エントリに対応するデータ領域１８上のアドレスを示す予約アドレスリストである。
この場合には、４つのＦＡＴエントリに対応するアドレスが予約アドレスリスト１４に格納されている。
【００１７】
次に、図２を参照して、本発明の第１の実施例の動作について説明する。
メモリ１３上にデータ領域１８に格納するデータＤ１〜Ｄ４があるとするとき、ＣＰＵ１１は格納するデータＤ１〜Ｄ４に充分な容量をＦＡＴ予約装置１５に指定する。
ＦＡＴ予約装置１５は、ＦＡＴ１７を参照して、指定されたデータ容量分のＦＡＴエントリとして、４つの空きＦＡＴエントリＲ１：「０００１」，Ｒ２：「０００３」，Ｒ３：「０００４」，Ｒ４：「０００７」を使用状態に設定して予約する。
【００１８】
続いて、データアドレス取得装置１６は、ＦＡＴ予約装置１５により予約されたＦＡＴエントリＲ１〜Ｒ４に対応したデータ領域１８上のアドレス、すなわちＲ１’：「０ｘ０１０００」，Ｒ２’：「０ｘ０３０００」，Ｒ３’：「０ｘ０４０００」，Ｒ４’：「０ｘ０７０００」を取得し、予約アドレスリスト１４を生成してＣＰＵ１１に返却する。
【００１９】
これに応じて、ＣＰＵ１１は、取得した予約アドレスリスト１４に基づきデータの転送を行うよう、ＤＭＡコントローラ２２に指示する。
ＤＭＡコントローラ２２は、この指示に応じて、ＣＰＵ１１とは独立して、メモリ１３上のデータＤ１〜Ｄ４のそれぞれを、予約アドレスリストで示されるアドレスＲ１’〜Ｒ４’のデータ領域１８に転送する。
【００２０】
次に、図３を参照して、本発明の第２の実施例について詳細に説明する。
図３は本発明の第２の実施例によるファイルシステムのブロック図であり、同図において、前述の説明（図２参照）と同じまたは同等部分には、同一符号を付してある。
ここでは、第１の実施例に比較して、ＦＡＴ予約装置１５とＦＡＴ１７との間に、ＦＡＴ１７の空き領域を管理するＦＡＴ空き領域管理装置３１が設けられている。
【００２１】
このＦＡＴ空き領域管理装置３１は、常時、ＦＡＴ１７の使用状況を管理しており、ＦＡＴ予約装置１５からのＦＡＴ予約要求に応じて、空きＦＡＴエントリを迅速に返却する。
これにより、ＦＡＴエントリ予約時、ＦＡＴ予約装置１５が、記憶媒体上に設けられたＦＡＴ１７を逐次検索して、空きＦＡＴエントリを抽出する場合と比較して、その所要時間を短縮できる。
【００２２】
【発明の効果】
以上説明したように、本発明は、空きのＦＡＴエントリを予約するＦＡＴ予約装置と、予約したＦＡＴエントリに対応するデータ領域上のアドレスを得るデータ領域アドレス取得装置を設けて、データ書き込み時に、空きのＦＡＴの領域に対応するデータ領域上のアドレスを取得して、直接、データ領域へデータを書き込むようにしたので、データの書き込み時におけるＣＰＵ占有時間を短縮でき、結果として情報処理装置全体としての処理効率を上げることができる。
【図面の簡単な説明】
【図１】本発明の一実施の形態によるファイルシステムのブロック図である。
【図２】本発明の第１の実施例によるファイルシステムのブロック図である。
【図３】本発明の第２の実施例によるファイルシステムのブロック図である。
【図４】従来のファイルシステムのブロック図である。
【符号の説明】
１１…ＣＰＵ（中央処理装置）、１２…データ転送装置、１３…メモリ、１４…予約アドレスリスト、１５…ＦＡＴ予約装置、１６…データ領域アドレス取得装置、１７…ＦＡＴ、１８…データ領域、２２…ＤＭＡコントローラ、３１…ＦＡＴ空き領域管理装置。
【図１】
0003542894.tif 000002
【図２】
0003542894.tif 000003
【図３】
0003542894.tif 000004
【図４】
0003542894.tif 000005