(57)【要約】【課題】領域管理を一元的に適用することにより、汎用性を低下させないファイル管理を実現すること、並びに、ファイル蓄積装置の使用効率を低下させない領域管理を行うことである。【解決手段】データを記録するディスク装置９と、前記ディスク装置９におけるアドレス位置と、当該アドレス位置における入出力速度との関係に基づいて、アドレス位置に応じて、二以上の異なるフラグメントサイズを適用するファイル管理部５と、前記異なるフラグメントサイズに基づいて、前記ディスク装置９の領域割り当てを行う領域管理部７とを有するファイル蓄積装置によって解決する。【選択図】図１
2008123255.tif 000002
【特許請求の範囲】
【請求項１】
半径方向のアドレス位置によって、入出力速度が異なるディスク装置と、
前記ディスク装置におけるアドレス位置と、当該アドレス位置における入出力速度との関係に基づいて、アドレス位置に応じて、二以上の異なるフラグメントサイズを適用するファイル管理部と、
前記異なるフラグメントサイズに基づいて、前記ディスク装置の領域割り当てを行う領域管理部と
を有するファイル蓄積装置。
【請求項２】
請求項１に記載のファイル蓄積装置において、
前記領域管理部は、
前記ディスク装置にファイルを蓄積する場合においては、そのファイルに対して、任意のアドレス位置におけるフラグメントの中から、空き領域となっているフラグメントを割り当てると共に、そのフラグメントが、いずれのフラグメントサイズであるかを確認して、前記ディスク装置の領域割り当てを行う
ファイル蓄積装置。
【請求項３】
請求項１又は２に記載のファイル蓄積装置において、
前記ディスク装置は、あるアドレス位置における入出力速度を予め保持し、
前記ファイル管理部は、前記アドレス位置における入出力速度を、前記ディスク装置から読み出して取得する
ファイル蓄積装置。
【請求項４】
請求項１又は２に記載のファイル蓄積装置において、
前記ファイル管理部は、前記ディスク装置における第一のアドレス位置から、所定の大きさを有するファイルを入出力し、その入出力に要した処理時間を計測して、前記第一のアドレス位置における第一の入出力速度を取得すると共に、第二のアドレス位置から、所定の大きさを有するファイルを入出力し、その入出力に要した処理時間を計測して、前記第二のアドレス位置における第二の入出力速度を取得し、さらに、第三のアドレス位置における第三の入出力速度を、所定のアルゴリズムに従って、前記第一のアドレス位置と、前記第二のアドレス位置と、前記第一の入出力速度と、前記第二の入出力速度とを用いて算出する
ファイル蓄積装置。
【請求項５】
請求項１〜４いずれか１項に記載のファイル蓄積装置において、
前記ファイル管理部は、所定の計算式に従って、前記ディスク装置に断片化された状態で記録されるファイルの理論的な入出力速度を算出すると共に、前記理論的な入出力速度が、予め定められた所望の入出力速度を下回らないように、前記ディスク装置のアドレス位置に応じて、二以上の異なるフラグメントサイズを適用する
ファイル蓄積装置。
【請求項６】
請求項１〜５いずれか１項に記載のファイル蓄積装置において、
前記ファイル管理部は、フラグメントサイズを適用する際に、いずれのアドレス位置においても所望の入出力速度が得られるように、前記ディスク装置の内周側のアドレス位置ほどフラグメントサイズを長く設定し、前記ディスク装置の外周側のアドレス位置ほどフラグメントサイズを短く設定する
ファイル蓄積装置。
【請求項７】
ディスク装置のあるアドレス位置における入出力速度を取得するステップと、
前記ディスク装置が、断片化の影響を受けた場合に、前記入出力速度が、フラグメントサイズの大小によって、どのように変化するかを、算出するステップと、
断片化の影響を受けた場合における前記入出力速度が、予め定められた所望の入出力速度を下回らないように、前記アドレス位置におけるフラグメントサイズを決定するステップと、
前記決定したフラグメントサイズに従って、前記ディスク装置にファイルを蓄積するステップと
を有するファイル蓄積方法。
【請求項８】
請求項７に記載のファイル蓄積方法において、
前記ディスク装置を、アドレス範囲ごとに複数のエリアに分割するステップを有し、
前記取得するステップは、各エリアにおいて、少なくとも一つのアドレス位置における入出力速度を取得し、
前記算出するステップは、前記ディスク装置が、断片化の影響を受けると、前記入出力速度が、フラグメントサイズの大小によって、どのように変化するかを、算出し、
前記決定するステップは、前記断片化の影響を受けた場合における入出力速度に基づいて、予め定められた所望の入出力速度が得られるように、前記アドレス位置におけるフラグメントサイズを決定する
ファイル蓄積方法。
【請求項９】
請求項７又は８に記載のファイル蓄積方法において、
前記算出するステップは、断片化の影響を最大に受けた場合における最も遅い入出力速度が、フラグメントサイズの大小によって、どのように変化するかを、算出する
ファイル蓄積方法。
【請求項１０】
請求項９に記載のファイル蓄積方法において、
前記算出するステップは、
前記最も遅い入出力速度を、実測値に依らずに、下記式に従って、算出するファイル蓄積方法。
Ｖ＝Ｄｆｒａｇ／（（Ｄｆｒａｇ／Ｖｉｏ）＋Ｔｓｅｅｋ））
ただし、Ｖ：入出力速度、Ｄｆｒａｇ：フラグメントサイズ、Ｖｉｏ：ディスク装置のバースト入出力速度、Ｔｓｅｅｋ：最大のアクセス時間とする。
【請求項１１】
ディスク装置のアドレス位置と、前記アドレス位置における入出力速度との関係に基づいて、アドレス位置に応じて、二以上の異なるフラグメントサイズを適用する手順と、
前記ディスク装置にファイルを蓄積する場合には、そのファイルに対して、任意のアドレス位置におけるフラグメントの中から、空き領域となっているフラグメントを割り当てると共に、そのフラグメントが、いずれのフラグメントサイズであるかを確認して、前記ディスク装置の領域割り当てを行う手順と
をコンピュータに実行させるためのファイル管理プログラム。
【請求項１２】
請求項１１に記載のファイル管理プログラムにおいて、
前記適用する手順は、あるアドレス位置における入出力速度を予め保持したディスク装置から、そのアドレス位置における入出力速度を読み出す手順を有する
ファイル管理プログラム。
【請求項１３】
請求項１１に記載のファイル管理プログラムにおいて、
前記適用する手順は、
前記ディスク装置における第一のアドレス位置から、所定の大きさを有するファイルを入出力し、その入出力に要した処理時間を計測して、前記第一のアドレス位置における第一の入出力速度を取得する手順と、
第二のアドレス位置から、所定の大きさを有するファイルを入出力し、その入出力に要した処理時間を計測して、前記第二のアドレス位置における第二の入出力速度を取得する手順と、
第三のアドレス位置における第三の入出力速度を、所定のアルゴリズムに従って、前記第一のアドレス位置と、前記第二のアドレス位置と、前記第一の入出力速度と、前記第二の入出力速度とを用いて算出する手順と
を有するファイル管理プログラム。
【請求項１４】
請求項１１〜１３いずれか１項に記載のファイル管理プログラムにおいて、
前記適用する手順は、
所定の計算式に従って、前記ディスク装置に断片化された状態で記録されるファイルの理論的な入出力速度を算出する手順と、
前記理論的な入出力速度が、予め定められた所望の入出力速度を下回らないように、前記ディスク装置のアドレス位置に応じて、異なるフラグメントサイズを適用する手順と
を有するファイル管理プログラム。
【請求項１５】
請求項１１〜１４いずれか１項に記載のファイル管理プログラムにおいて、
前記二以上の異なるフラグメントサイズを適用する手順は、
フラグメントサイズを適用する際に、いずれのアドレス位置においても所望の入出力速度が得られるように、前記ディスク装置の内周側のアドレス位置ほどフラグメントサイズを長く設定し、前記ディスク装置の外周側のアドレス位置ほどフラグメントサイズを短く設定する手順を有する
ファイル管理プログラム。
【請求項１６】
ディスク装置のアドレス位置と、前記アドレス位置における入出力速度との関係に基づいて、アドレス位置に応じて、複数の異なるフラグメントサイズを適用する手順と、
アドレス位置に応じて設定した、前記複数の異なるフラグメントサイズで、前記ディスク装置の領域管理を行う手順とをコンピュータに実行させると共に、
前記領域管理を行う手順は、ディスク領域を、比較的大きなシーケンシャルファイル用のファイル管理構造により管理する領域と、比較的小さなコンピュータ向けのファイル用のファイル管理構造により管理する領域とに分けることなく、比較的大きなシーケンシャルファイルも、比較的小さなコンピュータ向けのファイルも、前記ディスク装置において、いずれのアドレス位置に対しても記録できるように領域割り当てを行うことにより、ディスク領域を、一つのファイル管理構造で管理する手順を有する
ファイル管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイル蓄積装置、ファイル蓄積方法、及びファイル管理プログラムに関する。
【背景技術】
【０００２】
従来の映像記録再生処理においては、映像ファイルを記録再生するシーケンシャル処理で、所望の性能を確保しやすいように、連続領域に映像ファイルを記録する管理を行い、その他のコンピュータ向けの小さなファイル単位での処理では、通常の領域管理を行い、これらの管理を、同一のディスク装置で管理しようとするものがあった。ディスク全面を幾つかの領域に分け、それぞれの領域の管理に向いた領域管理機構をそれぞれ適用して、入出力性能の確保とデータ管理とを共存させる。しかし、この方法では、予めディスクの記録領域全面を幾つかの領域に固定的に分けて管理する必要がある。それぞれの領域の増減には、ディスク装置を再度区画しなおすか、別ディスクを追加拡張して対処する必要があった。
【０００３】
例えば、特開２０００−２６８５０７号公報（特許文献１参照）に記載された「データ記録装置」の発明においては、外部からデータを入力する入力手段と、記録媒体に前記データを記録する記録手段とを備える。前記記録手段は、入力データが連続データの場合は前記記録媒体の第１の領域に、不連続データの場合は前記記録媒体の第２の領域に分割して記録する。特許文献１には、ハードデイスクドライブを３個の領域に分割して、シーケンシャル処理で一定の入出力速度の確保が必要なシーケンシャルファイルを外周側の領域に、その他のファイルを内周側の領域に格納する。また、シーケンシャルファイルの領域管理用のメタデータを記録するために、別途領域を設けて同一ディスク装置上で管理する方式が述べられている。
【０００４】
特許文献１に記載された従来技術の問題点は、コンピュータなど、同一のディスク上に各種のファイルが混在して管理される場合に、その汎用性が損なわれる点にある。ディスク装置上のデータ領域を区切り、それぞれの領域に独立した領域管理方式を適用してしまうと、それぞれの領域の容量は予め固定値を割り当てる必要が生じてしまう。これでは、映像ファイルなどのシーケンシャルファイルの総容量や、その他の小さいファイルの総容量などの所要容量などが予めわかっていない限り効率的な領域の区画は不可能である。また、それぞれの領域の容量を後から増減することも困難となるため、汎用性が損なわれる。
【０００５】
また、映像記録再生装置では、領域割り当てを行う単位として、一定のフラグメントサイズが定義されている。従来の映像記録再生装置には、シーケンシャルファイルの記録再生を行う場合、入出力速度とドライブの性能などを考慮して、フラグメントサイズを一定値以上に設定して、入出力速度の保証を行うものがあった。
【０００６】
例えば、ＰＣＴ国際公開番号ＷＯ９９／１３４６９号公報（特許文献２参照）に記載された「ディスク記録方法」の発明においては、連続して再生するデータ（連続再生データ）をディスク状記録媒体に記録する。上記連続再生データの最小連続記録単位Ｂａを、Ｂａ＝［Ｒｉ×Ｒｏ×｛（Ｎ−１）×Ｔｒ＋Ｎ×Ｔｊ｝］／（Ｒｉ−Ｒｏ）として設定する。上記ディスク状記録媒体に対して、上記連続再生データを上記最小連続記録単位Ｂａ以上のデータ量毎に分散して実時間記録する。ただし、Ｒｉを、上記ディスク状記録媒体から間欠的に読み出した上記連続再生データのバッファメモリへの入力レートとする。Ｒｏを、このバッファメモリから連続的に出力される上記連続再生データの出力レートとする。Ｎを、上記ディスク状記録媒体に上記連続再生データを記録する際同時に記録及び再生する連続再生データの総数或いは上記ディスク状記録媒体から上記連続再生データを再生する際同時に記録及び再生する連続再生データの総数のうちいずれか大きい数とする。Ｔｊを、上記ディスク状記録媒体からデータを再生する再生ヘッドの最大シーク時間とする。Ｔｒを、上記ディスク状記録媒体からデータを読み出す際の最小の読み取り時間とする。この特許文献２には、映像や音声データを連続的に記録する際に、領域の管理単位となる最小連続記録単位を、バッファメモリへの入出力レートの総和や最大シーク時間などを基準に設定し、実時間記録再生が可能なように領域管理を行う方式が述べられている。
【０００７】
特許文献２に記載された従来技術の問題点は、性能を向上するために領域割り当てを行う単位としてのフラグメントサイズを一定の大きな値に設定すると、領域の利用効率が低下するという点にある。理由は次の通りである。入出力性能を保証できるフラグメントサイズを規定する場合、最も性能が低下する位置を基準に値を設定する必要が生じる。例えば、一定回転数で運転される磁気ディスクの場合は、最内周の最も記録容量が小さくなる領域で、入出力速度が低下する。よって最内周の入出力速度を基準にフラグメントサイズを設定する必要が生じる。これをディスク全面に同じ基準で領域管理を適用すると、小さいサイズのファイルの記録や、ディスク外周の性能が高い領域へのファイルの記録も含めて、大きなフラグメントサイズ単位で領域を消費することになる。その結果、実際のデータ容量に比較して過剰にディスク領域を消費することになり、領域の利用効率が低下してしまう。
【０００８】
また、特開２０００−３３９２０２号公報（特許文献３参照）に記載された「ディスク制御装置」においては、ディスク記憶媒体に対する読み出し／書き込みを行う入出力制御部と、前記ディスク記憶媒体上のファイル配置を管理する領域管理部とを備える。、前記領域管理部は、前記ディスク記憶媒体に記録されたファイルの属性や配置等の情報を含む領域管理情報を保持する手段と、前記属性情報に基づき、確保するべき領域の大きさを決定し、確保する領域確保手段とを含む。特許文献３は、帯域管理が必要なデータに対してストリーム属性を与える。ストリーム属性の与えられたファイルの所要レートに応じた性能を保証できる長さ単位で、連続領域割り当てを行う。ファイルの特性に応じて領域割り当て単位を変えるものである。
【０００９】
また、特開平０８−２５５１００号公報（特許文献４参照）に記載された「ファイル管理システム」の発明においては、データを記録するための記録媒体を具える。データ記録制御手段は、前記記録媒体において連続する１又は任意の複数の記録単位からなるブロックを１又は複数設定し、１ファイルを構成するデータを分割して前記記録媒体の各ブロックに記録する。管理情報記憶手段は、前記各ブロック毎に、該ブロックに記憶されているデータの有効データ量を示す管理情報を記憶する。特許文献４は、領域管理単位のクラスタ（＝フラグメントサイズ）をそのまま使用して、ファイルの編集を行い、途中の領域を削除するなどの操作を行う場合に、クラスタ内の利用領域の範囲まで管理する。これにより、余計なコピーや煩雑な管理を避ける。表現としてブロックという表現が出てくるが、これは通常はクラスタの集まりであり、複数セクタをまとめたエクステントという表現が一般的である。ブロック自体はクラスタ（＝領域割り当て単位）を幾つか集めたものであって、割り当て動作と関連が無く、領域割り当て単位はあくまでクラスタである。クラスタ長はあくまで固定値である。
【００１０】
また、特表２００１−５１７８２４号公報（特許文献５参照）に記載された発明は、ファイル断片化を低減するためにコンピュータファイルシステムを構成する方法である。最大入力／出力帯域幅要件を確定するステップは、前記ファイルシステムを用いるアプリケーションに対するデータ記録アクセスのための最大入力／出力帯域幅要件を確定する。データ転送特性を確定するステップは、前記アプリケーションによりアクセスされるデータ記録装置に対するデータ転送特性を確定する。最大閾値を確定するステップは、アプリケーションの入力／出力性能に対して、その値未満のファイル断片化が許容可能である最大閾値を確定する。計算するステップは、前記データ記録装置への読み出し／書き込み動作が前記閾値未満になるように、ブロックサイズを前記最大入力／出力帯域幅と前記データ転送特性との関数として計算する。特許文献５では、所要のアプリケーションの帯域や、ディスク性能のパラメータに基づいた関数で与えられる、ブロックサイズ単位で領域割り当てを行う。ここで、ディスク装置の性能パラメータとしては、シーク時間の最大値、入出力速度の最悪転送速度などの値を使用して計算する。結果として、特定の帯域に対してディスク全面に対して一定値の領域単位の割り当て（＝フラグメントサイズ）を規定することと同値である。この特許文献５は、技術的に理解すれば、特許文献１の請求項１に記載された発明とまったく同じものと言える。
【００１１】
特許文献１〜５に記載されているように、映像ファイル及び音声ファイルなどの所要入出力速度が存在し、リアルタイム処理が必要なシーケンシャルファイルの格納方法には、さまざまな方式が存在する。しかし、これらの従来技術では、アドレス管理されるディスク上のアドレス位置によって入出力速度が異なるファイル蓄積装置、例えばＣＡＶ（Constant Angular Velocity）制御を行う磁気ディスク装置や光ディスク装置に、シーケンシャルファイルを効率的に記録管理することは困難である。
【００１２】
【特許文献１】特開２０００−２６８５０７号公報
【特許文献２】ＷＯ９９／１３４６９号公報
【特許文献３】特開２０００−３３９２０２号公報
【特許文献４】特開平０８−２５５１００号公報
【特許文献５】特表２００１−５１７８２４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
本発明の課題は、領域管理を一元的に適用することにより、汎用性を低下させないファイル管理を実現することである。本発明の他の課題は、ファイル蓄積装置の使用効率を低下させない領域管理を行うことである。本発明のその他の課題は、シーケンシャルファイルの入出力速度を保証することである。
【課題を解決するための手段】
【００１４】
以下に、［発明を実施するための最良の形態］で使用される番号・符号を用いて、［課題を解決するための手段］を説明する。これらの番号・符号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］との対応関係を明らかにするために括弧付きで付加されたものである。ただし、それらの番号・符号を、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１５】
本発明によるファイル蓄積装置においては、ディスク装置（９）は、半径方向のアドレス位置によって、入出力速度が異なる。ファイル管理部（５）は、前記ディスク装置（９）におけるアドレス位置と、当該アドレス位置における入出力速度との関係に基づいて、アドレス位置に応じて、二以上の異なるフラグメントサイズを適用する。領域管理部（７）は、前記異なるフラグメントサイズに基づいて、前記ディスク装置（９）の領域割り当てを行う。また、本発明によるファイル蓄積装置においては、前記領域管理部（７）は、前記ディスク装置（９）にファイルを蓄積する場合においては、そのファイルに対して、任意のアドレス位置におけるフラグメントの中から、空き領域となっているフラグメントを割り当てると共に、そのフラグメントが、いずれのフラグメントサイズであるかを確認して、前記ディスク装置（９）の領域割り当てを行う。また、本発明によるファイル蓄積装置においては、前記ディスク装置（９）は、あるアドレス位置における入出力速度を予め保持し、前記ファイル管理部（５）は、前記アドレス位置における入出力速度を、前記ディスク装置（９）から読み出して取得する。また、本発明によるファイル蓄積装置においては、前記ファイル管理部（５）は、前記ディスク装置（９）における第一のアドレス位置から、所定の大きさを有するファイルを入出力し、その入出力に要した処理時間を計測して、前記第一のアドレス位置における第一の入出力速度を取得すると共に、第二のアドレス位置から、所定の大きさを有するファイルを入出力し、その入出力に要した処理時間を計測して、前記第二のアドレス位置における第二の入出力速度を取得し、さらに、第三のアドレス位置における第三の入出力速度を、所定のアルゴリズムに従って、前記第一のアドレス位置と、前記第二のアドレス位置と、前記第一の入出力速度と、前記第二の入出力速度とを用いて算出する。また、本発明によるファイル蓄積装置においては、前記ファイル管理部（５）は、所定の計算式に従って、前記ディスク装置（９）に断片化された状態で記録されるファイルの理論的な入出力速度を算出すると共に、前記理論的な入出力速度が、予め定められた所望の入出力速度を下回らないように、前記ディスク装置（９）のアドレス位置に応じて、二以上の異なるフラグメントサイズを適用する。また、本発明によるファイル蓄積装置においては、前記ファイル管理部（５）は、フラグメントサイズを適用する際に、いずれのアドレス位置においても所望の入出力速度が得られるように、前記ディスク装置（９）の内周側のアドレス位置ほどフラグメントサイズを長く設定し、前記ディスク装置（９）の外周側のアドレス位置ほどフラグメントサイズを短く設定する。
【００１６】
また、本発明によるファイル蓄積方法においては、取得するステップは、ディスク装置（９）のあるアドレス位置における入出力速度を取得する。算出するステップは、前記ディスク装置（９）が、断片化の影響を受けた場合に、前記入出力速度が、フラグメントサイズの大小によって、どのように変化するかを、算出する。決定するステップは、断片化の影響を受けた場合における前記入出力速度が、予め定められた所望の入出力速度を下回らないように、前記アドレス位置におけるフラグメントサイズを決定する。蓄積するステップは、前記決定したフラグメントサイズに従って、前記ディスク装置（９）にファイルを蓄積する。また、本発明によるファイル蓄積方法においては、前記ディスク装置（９）を、アドレス範囲ごとに複数のエリアに分割するステップを有する。前記取得するステップは、各エリアにおいて、少なくとも一つのアドレス位置における入出力速度を取得する。前記算出するステップは、前記ディスク装置（９）が、断片化の影響を受けると、前記入出力速度が、フラグメントサイズの大小によって、どのように変化するかを、算出する。前記決定するステップは、前記断片化の影響を受けた場合における入出力速度に基づいて、予め定められた所望の入出力速度が得られるように、前記アドレス位置におけるフラグメントサイズを決定する。なお、前記少なくとも一つのアドレス位置は、各エリアにおいて、ディスク媒体最内周側に位置するアドレス位置とすることができる。また、本発明によるファイル蓄積方法においては、前記算出するステップは、断片化の影響を最大に受けた場合における最も遅い入出力速度が、フラグメントサイズの大小によって、どのように変化するかを、算出する。また、本発明によるファイル蓄積方法においては、前記算出するステップは、前記最も遅い入出力速度を、実測値に依らずに、下記式に従って、算出する。
Ｖ＝Ｄｆｒａｇ／（（Ｄｆｒａｇ／Ｖｉｏ）＋Ｔｓｅｅｋ））
ただし、Ｖ：入出力速度、Ｄｆｒａｇ：フラグメントサイズ、Ｖｉｏ：ディスク装置（９）のバースト入出力速度、Ｔｓｅｅｋ：最大のアクセス時間とする。
【００１７】
また、本発明によるファイル管理プログラムにおいては、以下の手順をコンピュータに実行させる。適用する手順は、ディスク装置（９）のアドレス位置と、前記アドレス位置における入出力速度との関係に基づいて、アドレス位置に応じて、二以上の異なるフラグメントサイズを適用する。領域割り当てを行う手順は、前記ディスク装置（９）にファイルを蓄積する場合には、そのファイルに対して、任意のアドレス位置におけるフラグメントの中から、空き領域となっているフラグメントを割り当てると共に、そのフラグメントが、いずれのフラグメントサイズであるかを確認して、前記ディスク装置（９）の領域割り当てを行う。また、本発明によるファイル管理プログラムにおいては、前記適用する手順は、あるアドレス位置における入出力速度を予め保持したディスク装置（９）から、そのアドレス位置における入出力速度を読み出す手順を有する。また、本発明によるファイル管理プログラムにおいては、前記適用する手順は、前記ディスク装置（９）における第一のアドレス位置から、所定の大きさを有するファイルを入出力し、その入出力に要した処理時間を計測して、前記第一のアドレス位置における第一の入出力速度を取得する手順と、第二のアドレス位置から、所定の大きさを有するファイルを入出力し、その入出力に要した処理時間を計測して、前記第二のアドレス位置における第二の入出力速度を取得する手順と、第三のアドレス位置における第三の入出力速度を、所定のアルゴリズムに従って、前記第一のアドレス位置と、前記第二のアドレス位置と、前記第一の入出力速度と、前記第二の入出力速度とを用いて算出する手順とを有する。また、本発明によるファイル管理プログラムにおいては、前記適用する手順は、所定の計算式に従って、前記ディスク装置（９）に断片化された状態で記録されるファイルの理論的な入出力速度を算出する手順と、前記理論的な入出力速度が、予め定められた所望の入出力速度を下回らないように、前記ディスク装置（９）のアドレス位置に応じて、異なるフラグメントサイズを適用する手順とを有する。また、本発明によるファイル管理プログラムにおいては、前記二以上の異なるフラグメントサイズを適用する手順は、フラグメントサイズを適用する際に、いずれのアドレス位置においても所望の入出力速度が得られるように、前記ディスク装置（９）の内周側のアドレス位置ほどフラグメントサイズを長く設定し、前記ディスク装置（９）の外周側のアドレス位置ほどフラグメントサイズを短く設定する手順を有する。また、本発明によるファイル管理プログラムにおいては、以下の手順をコンピュータに実行させる。適用する手順は、ディスク装置（９）のアドレス位置と、前記アドレス位置における入出力速度との関係に基づいて、アドレス位置に応じて、複数の異なるフラグメントサイズを適用する。領域管理を行う手順は、アドレス位置に応じて設定した、前記複数の異なるフラグメントサイズで、前記ディスク装置（９）の領域管理を行う。前記領域管理を行う手順は、ディスク領域を、比較的大きなシーケンシャルファイル用のファイル管理構造により管理する領域と、比較的小さなコンピュータ向けのファイル用のファイル管理構造により管理する領域とに分けることなく、比較的大きなシーケンシャルファイルも、比較的小さなコンピュータ向けのファイルも、前記ディスク装置（９）において、いずれのアドレス位置に対しても記録できるように領域割り当てを行うことにより、ディスク領域を、一つのファイル管理構造で管理する手順を有する。
【発明の効果】
【００１８】
本発明によれば、領域管理を一元的に適用することにより、汎用性を低下させないファイル管理を実現することができる。また、ファイル蓄積装置の使用効率を低下させない領域管理を行うことができる。また、シーケンシャルファイルの入出力速度を保証することができる。
【発明を実施するための最良の形態】
【００１９】
＝＝  作用  ＝＝
アドレス位置に応じた入出力速度の関係は、データを読み出す際の処理時間を計測することにより割り出すことができる。また、予め計測されたアドレス位置に応じた入出力速度の関係を与える情報をディスク装置から取得することもできる。本発明では、アドレス位置に応じた入出力速度の関係に基づいて、アドレス位置に応じたフラグメントサイズを設定する機構を持つ。また、入出力速度が一定速度以上になり、かつ、フラグメントサイズがなるべく小さくなるよう、アドレス位置に応じてフラグメントサイズを可変にする。その結果、ディスク装置には特に領域の区画を設ける必要は無い。記録するファイルの種別や容量などが予めわからない場合にも、効率的にディスク領域の全面を利用することが可能となる。また、ディスク状の記録媒体において、半径方向のエリア毎の入出力性能に応じて、フラグメントサイズを最小に抑えることができるため、ディスク領域を効率よく管理することが可能となる。
【００２０】
また、予めファイルの種別や要領がわかる場合には、次のような効果を達成できる。小さいファイルを記録する場合には、アドレス位置に応じた入出力速度の関係に基づいて、高速入出力可能で、フラグメントサイズを小さく設定した領域を、優先的に割り当てることができる。これにより、小さいファイルの領域管理の効率を高めることも可能となる。また、並列度の高い使い方がされるファイル属性のデータを扱う場合、すなわち一つのファイルシステムで、複数ファイルの同時並行処理が予想される属性のファイルは、ディスク装置の入出力速度が高速な領域、例えば、磁気ディスク装置では外周側から領域を割り当てることにより、高い並列性を実現することが可能となる。なお、本願においては、ディスク装置にファイルを記録する時に使われるディスク領域の最小単位をフラグメントといい、そのフラグメントの大きさをフラグメントサイズという。ＦＡＴ（File Allocation Table）ファイルシステムにおけるクラスタは、フラグメントの一つである。フラグメントは、ファイルシステムによっては、ブロックと称されることもある。
【００２１】
＝＝  第一の実施の形態  ＝＝
＜構成の説明＞
本発明の実施の形態について図面を参照して詳細に説明する。図１に、本発明の第１の実施の形態に係るシステム構成図を示す。本実施の形態は、ファイルの入出力を行うプログラム実行部４と、ファイルの管理を行うファイル管理部５と、時間計測を行う時間計測部６と、ディスク装置９の領域管理を行う領域管理部７と、ディスク装置９へリード／ライトコマンドを発行するディスク入出力制御部８と、データを記録するディスク装置９とから構成される。このうちプログラム実行部４は、記録再生を行うファイルを生成及び再生する手段を持つが、映像を記録再生する場合には、図１に示されるような映像音声圧縮伸張部１と、メモリ管理部２と、バッファ部３とを有する映像ファイル処理部を搭載する。
【００２２】
本実施の形態では、ディスク装置９としては、ディスク媒体を一枚のみ搭載し、かつ、その片面のみを使用する磁気ディスク装置を想定して説明するが、光ディスク装置や、ディスク装置を複数使用したディスクアレイなどの装置においても同様に適用可能である。また、本実施の形態は、パーソナルコンピュータや、ディジタルデータを利用した映像音声記録再生機器などでの利用を想定している。よって、各部１〜８は単一のＣＰＵ上で動作するソフトウェアのモジュールとして実装することも可能であるし、独立したハードウェアでも同様に実現可能である。また、シーケンシャルファイルの生成に、映像音声圧縮伸張部１やバッファ部３などを利用して生成することを想定して説明するが、これらは外部の機器で予めエンコードされ、圧縮されたデータを、ネットワークや放送波、他の蓄積装置経由で取得し、ディスク装置９に記録しても良い。
【００２３】
図２に、領域管理部７の構成例を示す。本実施の形態においては、領域割り当ての最小単位であるフラグメントサイズを単位に領域を管理する。図２において、領域管理部７は、ディスク装置９の領域を複数のエリアに分けて、それぞれのエリア毎に、領域管理に使用される異なるパラメータを有して、領域割り当てを実施する機能をもつ。領域管理制御部７１は、フラグメントサイズ管理部７２及びフラグメント割り当て管理部７３に指示を出して、ディスク領域の管理を制御する。フラグメントサイズ管理部７２は、各エリアのパラメータ、通常は当該エリアのフラグメントサイズ、及びフラグメント数を保持している。一方、フラグメント割り当て管理部７３は、領域管理用メタデータを管理する。領域管理データ蓄積部７４は、領域管理用メタデータを保持する。
【００２４】
＜動作の説明＞
［１］フラグメントサイズ
まず、ディスク装置９のアドレス位置に応じた入出力速度の関係を求める。ディスク装置９のアドレス範囲を適当な間隔に区切り、各アドレス位置から、連続領域に記録された一定量の大きさを有するファイルの読み出しを実行する。その処理時間を時間計測部６を使用して計測し、読み出し速度を計測する。このデータをファイル管理部５が利用することにより、ディスク装置９のアドレス位置に応じた入出力速度の関係が求まる。このデータはディスク媒体上の決まったアドレス位置にテーブルとして記録しておくことができる。これにより、２回目以降の初期化時には、入出力速度の計測は行わずに、ディスク装置９のアドレス位置に応じた入出力速度の関係を、ディスク装置９から読み出すことによって、取得することができる。
【００２５】
次に、アドレス位置と入出力速度の関係から、フラグメントサイズを設定する方法について説明する。一般に磁気ディスク装置は最外周側から領域を利用する。よって、ディスク外周側のアドレスが若く、ディスク内周側のアドレスが大きくなる。また、ディスク装置の入出力性能は、記録面上の記憶密度の兼ね合いで、周長が長くなる外周側の方が記憶容量は大きくなる。結果として外周側の方が入出力速度は大きくなる。これを表したのが図３である。図３に示すように、アドレスが若い外周側ではシーケンシャル入出力速度（連続領域に読み書きする速度）は速くなり、アドレスが大きい内周側では、シーケンシャル入出力速度は遅くなる。このようなデータは、ファイル管理部５が時間計測部６を使用して、ディスク装置からファイルを読み出し評価することにより簡便に計測して得ることが出来る。多様なアドレス位置からファイルを読み出して、その時間を計測することにより、アドレス位置と入出力速度との関係が明らかになる。
【００２６】
一方、ファイルを多数記録していく場合、各ファイルが分断されて記録され、不連続となるケースがある。この場合、不連続箇所でシークが発生するなどのペナルティが発生し、入出力速度が低下することが知られている。ファイルへディスク領域を割り当てる最小単位、すなわちフラグメントの大きさが十分に大きくないために、ファイルが断片化されると、最悪の場合、各フラグメントのデータを入出力する度に、シーク時間を消費することになる。この断片化されたケースでの、典型的な入出力速度を計算することは可能である。例えば、ディスク装置９のバースト入出力性能と、シークによるオーバヘッドと、フラグメントサイズとから、断片化された最悪のケースでの最も遅い入出力速度を求めることができる。フラグメントサイズをＤｆｒａｇ、ディスク装置９のバースト入出力速度をＶｉｏ、最大のアクセス時間をＴｓｅｅｋとした場合、
Ｖ＝Ｄｆｒａｇ／（（Ｄｆｒａｇ／Ｖｉｏ）＋Ｔｓｅｅｋ）                        （１）
で与えられる。すなわち、シーク動作に要する時間と、フラグメントに記録されたデータを読み出すのに要する時間とから、典型的な読み出し速度が得られる。
【００２７】
断片化の影響を受けた場合における入出力速度は、計算式に依らずに、計測によっても算出することができる。すなわち、フラグメントサイズに応じて、最悪ケースでの最も遅い入出力速度が変動するが、これは、ディスク装置９に対して、適宜ランダムアクセスして、その応答時間を計測することで、計測は可能である。ただし、ディスク装置９は、コントローラ部にキャッシュなどの機構を搭載しているため、性能評価上はシーク距離がキャッシュにヒットしないなどの条件を考慮して計測することが必要である。それらを考慮のうえ、ランダムアクセス動作を実行し、入出力応答時間を計測することで、アドレス、フラグメントサイズ、入出力速度の関係を得て、図４と同様の性能曲線を取得することが可能である。
【００２８】
上式（１）又は実測値に基づいて、ディスク装置における所定のアドレス位置に適用するフラグメントサイズと、入出力特性との関係を計算により求めることができる。当該関係を図に表したものが、図４である。図４において、実線のカーブは、フラグメントサイズによって変化する、入出力速度の最悪値を表している。点線は、断片化されておらず、シーケンシャルに入出力できる場合の性能、すなわちフラグメントサイズＤｆｒａｇ＝∞の場合を示している。図４に示すように、フラグメントサイズを小さく取ると、断片化が進み、平均入出力速度が顕著に下降することになる。一方、フラグメントサイズを大きく取ると、断片化の影響をあまり受けずに、平均入出力速度は、最大速度に近づく。図３のバースト性能は、ディスク装置のアドレス位置に応じた性能を与えるが、実際には、図４のように、断片化の影響を受けて、その速度は低下することになる。
【００２９】
ディスク装置９のバースト入出力速度Ｖｉｏ、及び、最大のアクセス時間Ｔｓｅｅｋは、ディスク装置９の規格として説明書等に明記される場合もある。よって、バースト入出力速度Ｖｉｏ、及び、最大のアクセス時間Ｔｓｅｅｋを入力し、これらをファイル管理部５に与えてもよい。ファイル管理部５では、（Ｖｉｏ，Ｔｓｅｅｋ）を渡されると、フラグメントサイズＤｆｒａｇをパラメータとして、上式（１）を用いて、図４に示されるような、フラグメントサイズの大きさと、断片化による入出力速度との関係を算出する。
【００３０】
映像ファイルや音声ファイルを記録再生する際には、一定の入出力速度が要求される。そこで、設計条件として、所望の入出力速度を設定する。図３の性能データと図４の性能曲線を組み合わせれば、最も性能が低下するディスクの最内周側でも、所望の入出力速度を満足できるように、最内周で必要となるフラグメントサイズを容易に求めることができる。一方、性能が高く、小さいフラグメントサイズを許容できるディスク外周側では、より小さいフラグメントサイズでも性能を確保できる。これら所望の入出力速度を確保できる条件で、各アドレス位置での最小のフラグメントサイズを割り出すことが出来る。
【００３１】
ファイル管理部５では、領域管理を容易化するために、ディスク装置９を一定のアドレス範囲で指定できる複数のエリアに分割して、各エリア内では、フラグメントサイズが同じ大きさになるように管理する。また、各エリアは別のフラグメントサイズを利用するように管理する。図５の例では、ディスク装置９を、アドレス範囲に応じて三つに分割している。それぞれのエリアは、異なったフラグメントサイズで領域を管理するため、３種類のフラグメントサイズが使われることになる。フラグメントサイズの設定方法は、用途に応じてさまざまな設定方法が考えられる。例えば、ディスク装置９の外周側のエリア１のフラグメントサイズを設定する。このフラグメントサイズで所望の性能を満足できるアドレスまでの領域をエリア１と設定する。次に、エリア１のフラグメントサイズに対して、２倍の大きさのフラグメントサイズをエリア２用に設定する。このフラグメントサイズを使用して所望の性能を満足するアドレスまでをエリア２に設定する。最後に、エリア２のフラグメントサイズに対して２倍の大きさのフラグメントサイズをエリア３用に設定する。もし、エリア３が性能を満足しないときは、上記のエリア分割を繰り返し行うか、エリア１のフラグメントサイズを、さらに大きい値に設定して、領域分割を繰り返す。その結果、図３の性能データと、図４のフラグメントサイズの変化に伴う性能曲線とを組み合わせることで、いずれのエリアにおいても、所望の入出力性能を満足できるように、フラグメントサイズを決定し、且つ、そのアドレス範囲を定めることが出来る。ここでいうフラグメントサイズは、ファイルシステムで管理する領域管理の単位であり、管理可能な物理的なブロック単位で任意に設定可能である。すなわち、セクタサイズ、ブロックサイズ、パケットサイズなどを単位として、その整数倍に設定することが可能である。通常は、物理的により内周側のエリアでは、入出力速度が低下する傾向があるため、内周側で、よりフラグメントサイズを長く設定することが有効である。よって、前記のような設定で有効な領域割り当てが可能であるし、その他、２倍数の等比級数と設定せずに、等差級数などで設定を行っても機能上は問題ない。
【００３２】
このようにして、各エリアのフラグメントサイズ、及びアドレス範囲を決定することができる。最後に、領域管理の端数が発生しないアドレス範囲に丸めることにより、領域管理部７に所定のパラメータを設定する。本実施の形態においては、フラグメントサイズ管理部７２に、各エリアのパラメータ、すなわち、フラグメントサイズ及びフラグメント数を設定する。なお、図５の例では、エリアの数が３個の場合を説明しているが、４個以上の場合も同様に適用可能である。
【００３３】
ファイル管理部５は、ディスク領域を複数のエリアに分割し、それぞれのエリアで異なったフラグメントサイズを管理する。各エリアのフラグメントサイズ及びフラグメント数は、予めディスク装置の詳細な性能が判明していれば、その性能を入力して、当該性能データをファイル管理部５に送ることができる。この性能データを考慮して、各エリアのフラグメントサイズ及びフラグメント数を固定的に割り当てても良い。また、ディスク装置９の入出力性能を実際に計測した上で、ディスク装置９の初期化処理、すなわち、論理的なファイルシステムの初回記録時に確定しても良い。
【００３４】
ディスク装置９のアドレス位置と入出力速度との関係が、ディスク装置９へのコマンドなどにより取得可能な場合もあるので、この場合の処理方法を説明しておく。ディスク装置９のアドレス位置と入出力速度との関係が、物理的な設計仕様から確定できる場合で、その関係を与える情報がテーブルなどの形でディスク装置９の中に保持されているとする。この情報を、コマンド等でディスク装置９に問い合わせ、ファイル管理部５が入手することにより実現できる。これは予めディスク媒体上の決まったアドレス位置に、前記のテーブルを記録しておくことによっても同様に実現可能である。
【００３５】
［２］ファイルシステム
ファイル管理部５が、ファイル入出力を行う処理手順を、図６、図７のフローチャートに基づいて説明する。まず、ディスク装置９の初期化動作について、図６を使用して説明する。ディスク装置９上のデータの配置は、図８のファイル管理用メタデータ、図９の領域管理用メタデータ、及び、ディスク領域のエリア毎のフラグメントサイズ、フラグメント数などのパラメータにより確定される。よって、これらのファイルシステムで利用するメタデータ等は、ディスク装置９に書き込む必要がある。また利用する際には、これらのメタデータ等を読み出して、ファイルにアクセスできる状態にする必要が生じる。初期化動作では、これらに必要な処理を行う。
【００３６】
まず、ファイル管理部５は、ディスク装置９を読み出すことによって、ディスク装置９が、フォーマット済みの状態か否かを、すなわち、アドレス位置と入出力速度との関係を与えるテーブルなどのパラメータや、メタデータが書き込まれた状態か否かを、チェックする（Ｓ１１）。もしフォーマット済みで無い場合は、前述の方法で、ディスク装置９の入出力速度を計測する（Ｓ１２）。その結果に基づいて、ディスク装置９内のフラグメントサイズを変えるエリア分け、フラグメントサイズを決定し、ファイルシステム用の領域管理用メタデータなどのメタデータと共に、ディスク装置９に記録する（Ｓ１３）。フォーマット済みの場合は、特に何もしない。次に、ディスク装置９上のフラグメントサイズや領域管理用メタデータなどのファイルシステム用のメタデータを読み出す。フラグメントサイズに関してはフラグメントサイズ管理部７２に、領域管理用メタデータは、領域管理データ蓄積部７４に設定する。また、ファイルシステムが利用するファイル管理用メタデータは、ファイル管理部５で保持する（Ｓ１４）。
【００３７】
次に、ファイルの入出力動作について図７を使用して説明する。ファイルの入出力動作は、まずファイル管理部５内で、入出力対象のファイル管理用メタデータが読み込まれているかをチェックする（Ｓ２１）。ファイル管理用メタデータは、例えば、図８のようなファイル名などの管理情報を保持しているデータ構造であり、領域管理用メタデータと結びつける”先頭フラグメント番号”も含んだものを想定する。もしファイル管理用メタデータが読み込まれていない場合は、このメタデータの読み出しを実行する（Ｓ２２）。続いて、入出力動作が書き込み動作かを判定して（Ｓ２３）、読み出し動作の場合は、ファイル管理用メタデータの内容に基づいて、ファイルが格納されたエリアから読み出しを実行する。入出力動作が書き込みの場合は、現在のファイルの領域が不足するかを判定する（Ｓ２５）。もしも、領域が不足する場合には、領域管理部７に所要量を要求する（Ｓ２６）。取得した領域情報に基づいて、領域管理部７では領域管理用メタデータを、ファイル管理部５ではファイル管理用メタデータを更新する（Ｓ２７）。これらの確保された領域に対して書き込み動作を実行する（Ｓ２８）。さらに、ディスク装置９上のデータについても、ファイル管理用メタデータや領域管理用メタデータを更新して（Ｓ２９）、処理を終了する。
【００３８】
これらの処理シーケンスのうち、所要量の要求及び割り当て動作（Ｓ２６）においては、記録するファイルの大きさが予め小さいとわかっている場合は、フラグメントサイズの小さいディスク領域から領域割り当てを実施しても良い。また、扱うデータをアプリケーションが同時に複数オープンして利用する場合、例えば、映像データに対するナビゲーション用のサムネイルファイルや、ナビゲーション用のＸＭＬファイルなど、同時に複数をオープンして処理を行うファイルは、ランダムアクセスが発生しても高い並列度を確保可能な、フラグメントサイズの小さいディスク領域から領域の割り当てを行っても良い。
【００３９】
領域管理は、各種のファイルシステムで利用されている方式を拡張することにより実現可能である。ここでは、ＩＳＯ９２９３（ＦＡＴファイルシステム）の管理データを拡張した場合を例に説明する。領域管理用メタデータは、例えば、図９に示されるようなテーブルである。図９の例では、フラグメントサイズが異なる三種類のエリアをひとつのテーブルとして領域管理する場合を示している。このテーブルは、エリア１、エリア２、エリア３の三つのエリアについて、領域管理の最小単位となるフラグメントごとの利用状態をも表している。テーブルの各項目が保持する値は、次のフラグメントへのポインタであり、複数のフラグメントから構成されるリストを実現する。例えば、フラグメント＃０には、”００００１”という値が入っている。また、フラグメント＃１には、”００００２”という値が、フラグメント＃２には、”００００３”という値が、フラグメント＃３には、”００００４”という値が、フラグメント＃４には、”ＦＦＦＦＦ”という値が入っている。リストの最後尾は末尾のマーク、この例ではＦＦＦＦＦがリストの終端を与える。従って、図８のファイル管理用メタデータにおける先頭フラグメント番号の欄に”０”という値が入っているファイルは、ディスク装置９において、＃０〜＃４のフラグメントを占有して記録されていることが分かる。図９のリストは、複数のフラグメントをつなぎ合わせたリストを与えるが、ファイルを格納する領域が、複数のエリアに分割されている場合もある。フラグメントサイズが異なる複数のフラグメントをつなぎ合わせることにより、エリアを跨ってファイルを格納できるように、同様に拡張することが出来る。この例では、フラグメント番号＃５から始まるリストで与えられる１個のファイルは、エリア１における＃５〜＃９と、エリア２における＃（α＋３）〜＃（α＋５）にまたがって記録されていることがわかる。
【００４０】
図９において、値が入っていないフラグメントは、空き領域である。ファイル管理部５が、領域管理部７に対して、データを書き込むために領域の確保を要求した場合、フラグメント割り当て管理部７３は、領域管理データ蓄積部７４に格納された領域管理用メタデータを参照して、空き領域を割り出す。その領域のフラグメントの番号を領域管理制御部７１に返す。その際に、既に割り当てられたファイルに対する追加領域確保の場合は、該当ファイルのリストに新しく割り当てられたフラグメント番号のリストを追加する。領域管理制御部７１は、フラグメントサイズ管理部７２が管理している、フラグメントサイズ及びフラグメント数を取得し、これに基づいて、前記フラグメント番号を有するフラグメントのアドレス及び大きさを取得する。ここで、確保したフラグメントの大きさが判明する。もし、確保したフラグメントの大きさが、ファイル管理部５から要求された領域の大きさよりも小さい場合は、所要量に達するまで領域割り当て動作を繰り返す。最終的に所要量が確保できたら、各フラグメントのアドレス及び大きさの情報を、ファイル管理部５に返す。
【００４１】
［３］ファイルの記録動作
映像や音声などのシーケンシャルデータ及びその他のデータの記録動作について説明する。外部から入力された映像音声は、映像音声圧縮伸張部１で、圧縮されたディジタルデータに変換され、メモリ管理部２が管理するバッファ部３に格納される。格納されたディジタルデータは、プログラム実行部４がメモリ管理部２を介して生成状況をモニタする。プログラム実行部４は、前記の圧縮されたディジタルデータが、まとまった容量に蓄積された時点で、ファイル管理部５に指示を出す。プログラム実行部４は、ファイル管理部５に指示して、これらのディジタルデータをファイルとしてまとめてディスク装置９に記録するように、データをファイル管理部５に送る。また、プログラム実行部４は、その他データ、例えば、サムネイルデータやファイル管理用メタデータのように、映像ストリームに直接関連のないデータを、ファイルとしてディスク装置９に記録する場合も、同様にファイル管理部５に指示を出すと共に、データをファイル管理部５に送る。ファイル生成の際には、必要に応じてファイルの種別やファイルの大きさなどの付加情報をファイル管理部５に通知する。ファイル管理部５では、プログラム実行部４よりファイルを生成指示された場合は、領域管理部７にディスク装置上の記録領域の確保を要求し、記録すべき領域の位置、サイズを取得した後、該当する領域に前記のデータを記録するようにディスク入出力制御部８に指示を出す。また、領域を管理するメタデータとして、前記の記録すべき領域の位置、サイズや、ファイルの属性、ファイルの大きさなどのデータを生成して、同様のディスク入出力制御部８に書き込みを指示する。ディスク入出力制御部８はファイル管理部５から指示されたアドレス及び長さの領域に対して、要求されたデータの書き込み又は読みだしコマンドをディスク装置９に出すと共にデータの送受信を実行する。
【００４２】
［４］ファイルの再生動作
映像や音声などのシーケンシャルデータ及びその他のデータの再生動作について説明する。まず、プログラム実行部４は、再生したい所望のファイルの読み出しをファイル管理部５に指示する。プログラム実行部４よりファイルの読み出しを指示され場合、ファイル管理部５では、該当ファイルの領域を管理するメタデータ読み出しを入出力制御部８に指示する。ディスク入出力制御部８は前記と同様に、ディスク装置９からのデータの読み出しを実行する。ファイル管理部５は、入出力制御部８から受け取ったメタデータに基づき、ファイルを保持する領域の位置、サイズを取得した後、再度この位置、サイズのデータの読み出しをディスク入出力制御部８に指示し、受け取ったデータをプログラム実行部４に送る。プログラム実行部４では、受け取ったファイルが映像音声データでない場合は、プログラム実行部４に一旦保持して、その他の処理に利用する。映像音声データの場合は、メモリ管理部２を介してバッファ部３にストアする。このデータはメモリ管理部２が再度読み出し、映像音声圧縮伸張部１に送られ、伸張された後、映像音声として外部に出力される。
【００４３】
＝＝  第二の実施の形態  ＝＝
＜構成の説明＞
次に、第２の実施の形態について説明する。第２の実施の形態の構成図は、第１の実施の形態と同じように図１により示されるが、領域管理部７の構成が一部異なる。図１０に、第２の実施の形態における領域管理部７の構成例を示す。図１０においては、図２とは異なり、領域管理データ蓄積部７４に代えて、空きスペース管理情報蓄積部７５が設けられている。図中、空きスペース管理情報蓄積部７５は、領域管理用メタデータを保持する。フラグメント割り当て管理部７３は、空きスペース管理情報蓄積部７５に保持される領域管理用メタデータを管理する。
【００４４】
＜動作の説明＞
領域管理は、各種のファイルシステムで利用されている方式を拡張することにより、実現可能である。第２の実施の形態では、ＩＳＯ（International Organization for Standardization）１３３４６、ＥＣＭＡ（European Computer Manufacturer Association）−１６７（ＵＤＦ（Universal Disk Format：ＭＯやＤＶＤ、ＣＤ−ＲＷに利用されている。）ファイルシステム）の管理データと類似の管理構造を適用する場合を例に説明する。ファイル管理用メタデータは、図１１に示されるような構成を有し、領域管理用メタデータは、図１２に示されるようなリストである。図１２に示すリストにおいて、個々の項目は、領域の開始アドレスとその長さを定めて、連続領域を規定するエクステントを表している。各リストは、連続した未使用領域などを与える。ディスク領域が、図５のように、複数のエリアに分割されている場合にも、リストを複数つなぎ合わせることにより、同様に拡張することが出来る。さて、ファイル管理部５が領域管理部７に対して所定の大きさの領域割り当てを要求したとする。このとき、フラグメント割り当て管理部７３は、空きスペース管理情報蓄積部７５を参照して、領域管理用メタデータから空き領域を割り出す。そして、フラグメント割り当て管理部７３は、その空き領域の先頭アドレス及び長さを領域管理制御部７１に返す。その際に、既に記録されたファイルに対する追加領域確保の場合には、該当ファイルのエクステントのリストに、新しく割り当てられたエクステントを追加する。また、確保できた領域の大きさが、ファイル管理部５から要求された領域の大きさよりも小さい場合は、所要量に達するまで領域割り当て動作を繰り返す。最終的に所要量が確保できたら、領域管理部７は、そのアドレス及び長さ情報を、ファイル管理部５に返す。ファイル管理部５は、図１１のような、複数のエクステントのリスト構造などを適用したファイル管理用メタデータを有する。ファイル管理部５の動作は、基本的には第１の実施の形態と同じなので、細かな説明は省略する。
【００４５】
＝＝  実施の形態の効果  ＝＝
第１の効果は、コンピュータなど、同一のディスク装置に各種のファイルが混在して管理される環境でも、シーケンシャルファイルなどの入出力性能を保証しつつも、汎用性が損なわれないファイルシステムが実現できることにある。理由は、本実施の形態ではディスクの半径方向の性能差を考慮して、速度の低い内周側にフラグメントサイズが長くなるように領域管理を行う技術を適用しているので、内周側の性能低下を回避できるからである。一方、速度の高い外周側の領域ではフラグメントサイズを短くするように管理を行うことができる。これらの領域管理は、ＩＳＯ９２９３、ＥＣＭＡ−１６７などのファイルシステムに対して、フラグメントサイズをエリア毎に変更して管理するメタデータを追加すると共に、領域管理部７により、領域割り当て方法を制御することにより実現される。そのため、ディスク領域全域において、同じファイル管理構造で領域管理を行うことが可能である。結果として、従来例のようにシーケンシャルデータやそれ以外のファイル、メタデータなどを区別して、領域を分けて管理する必要が無くなる。本実施の形態では、ひとつのファイル管理方法でディスク全面を管理できるため、汎用性を損なうことがない。
【００４６】
第２の効果は、シーケンシャルファイルの性能を保証する領域管理を適用した場合の領域の利用効率が向上する点である。理由は、本実施の形態では、入出力性能が、ディスク全面で所望入出力性能以上になるように領域管理を行えるからである。所望入出力性能に比較して性能の低い領域、例えば磁気ディスクの内周側のみフラグメントサイズを大きな値に設定する。すなわち、従来の方式のようにディスク全面で同じフラグメントサイズを適用する必要がない。その結果、本実施の形態では、ディスク領域の利用効率が向上する。すなわち、大きなフラグメントサイズ単位で領域を割り当てることによって、使われずに消費される領域が増大することは無く、過剰にディスク領域を消費する可能性が低下する。更に、ファイルサイズの小さいファイルや、同時に複数ファイルを処理する必要がある属性のファイルのように、フラグメントサイズが小さい領域を使用したほうが領域の利用効率が良い場合、そのように領域割り当てを行うことが可能となる。よって、無駄にディスク領域を消費しなくなり、ディスク装置の利用効率が向上する。
【図面の簡単な説明】
【００４７】
【図１】図１は、本発明の第一の実施の形態及び第二の実施の形態のシステム構成図である。
【図２】図２は、本発明の第一の実施の形態における領域管理部の詳細な構成図である。
【図３】図３は、磁気ディスク装置の典型的な入出力速度特性の説明図である。
【図４】図４は、磁気ディスク装置の典型的なランダムアクセス時の速度特性の説明図である。
【図５】図５は、フラグメントサイズが異なるエリアごとの入出力特性の説明図である。
【図６】図６は、ファイル管理部における、初期化処理のフローチャートである。
【図７】図７は、ファイル管理部における、ファイルの入出力処理のフローチャートである。
【図８】図８は、第一の実施の形態におけるファイル管理用メタデータの説明図である。
【図９】図９は、第一の実施の形態における領域管理用メタデータの説明図である。
【図１０】図１０は、第二の実施の形態における領域管理部の詳細な構成図である。
【図１１】図１１は、第二の実施の形態におけるファイル管理用メタデータの説明図である。
【図１２】図１２は、第二の実施の形態における領域管理用メタデータの説明図である。
【符号の説明】
【００４８】
１ 映像音声圧縮伸張部
２ メモリ管理部
３ バッファ部
４ プログラム実行部
５ ファイル管理部
６ 時間計測部
７ 領域管理部
８ ディスク入出力制御部
９ ディスク装置
７１ 領域管理制御部
７２ フラグメントサイズ管理部
７３ フラグメント割り当て管理部
７４ 領域管理データ蓄積部
７５ 空きスペース管理情報蓄積部
【図１】
2008123255.tif 000003
【図２】
2008123255.tif 000004
【図３】
2008123255.tif 000005
【図４】
2008123255.tif 000006
【図５】
2008123255.tif 000007
【図６】
2008123255.tif 000008
【図７】
2008123255.tif 000009
【図８】
2008123255.tif 000010
【図９】
2008123255.tif 000011
【図１０】
2008123255.tif 000012
【図１１】
2008123255.tif 000013
【図１２】
2008123255.tif 000014