説明

階層記憶システムにおけるファイル管理装置及びそのファイル管理方法

【課題】階層記憶システムにおいて、1次記憶装置から2次記憶装置へファイルデータを移動した後であっても、2次記憶装置からデータ復旧を行うことなく1次記憶装置へのファイルアクセス可能とするファイル管理装置を提供する。
【解決手段】マイグレーションされているファイルへの入出力要求があると、ファイル情報管理部11は、ファイル情報テーブル2を参照してファイルデータが1次記憶装置51上に残っているか確認する。ファイルデータが1次記憶装置上にあれば、2次記憶装置52からリコールを行うことなく、1次記憶装置に対して入出力を行う。さらに使用可能領域管理テーブル4からアクセス対象ファイルのデータの削除を行い、ファイル情報テーブル2に記録しているファイル状態を非マイグレーション状態に更新して、2次記憶装置にアクセスすることなく1次記憶装置上へファイルデータの復旧を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、階層記憶システムにおいて、1次記憶装置からデータアクセス速度の遅い2次記憶装置へファイルデータを移動(マイグレーション)した後のファイル管理方法に関する。
【背景技術】
【0002】
従来、ファイルをマイグレーションした場合、ファイルに割り当てられていたデータ領域は、ファイルが削除された場合と同様に、空き領域として解放されてしまい、アクセスできなくなるのが一般的である。このため、一度マイグレーションしたファイルは必ずリコールによってファイルデータを復旧してからアクセスする必要がある。
【0003】
ファイルシステムの空き容量の状態等により、自動的に下位の記憶装置へのマイグレーションが行われるような階層記憶システムでは、ユーザジョブで使用するファイルをジョブの実行に先立ってあらかじめリコールしておく場合、マイグレーションのポリシーによっては、ジョブの実行までに再度マイグレーションされてしまう可能性があり、ファイルアクセス時に再度時間のかかるリコール処理が動作するという問題があった。
【0004】
またマイグレーション直後のファイルにアクセスしたい場合においても、時間を要するリコールが必要であった。
【0005】
また、大容量で高速な拡張記憶装置を仲介してファイルの入出力を行うことで、ユーザプログラムの出力処理を短縮する処理方式がある(例えば、特許文献1参照)。
【特許文献1】特開平5−128004号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、ファイルをマイグレーションした場合、そのファイルに割り当てられた領域は削除されたファイルの領域と同様に空き領域として解放され、他のファイルに割り当てられる前であって、内容が書き換わっていない場合でもアクセスできなかった。このため、2次記憶装置が磁気テープライブラリ装置のようなシーケンシャルアクセスメディアのように上位の記憶装置とデータアクセスの速度の差が大きい場合には、1次記憶装置内にデータが残っている場合でも、長時間を要してファイルデータをリコールすることが必要であった。
【0007】
そこで本発明は、階層記憶システムにおいて、1次記憶装置からデータアクセス速度の遅い2次記憶装置へファイルデータを移動(マイグレーション)した後であっても、マイグレーション時に空き領域として解放されたファイルデータ領域が他のファイルに割り当たらない限り、ファイルの入出力時に2次記憶装置からのデータ復旧(リコール)を行うことなく1次記憶装置への高速なアクセスとデータ復旧を可能とし、ファイルシステムのアクセスコストを削減する階層記憶システムにおけるファイル管理装置及びそのファイル管理方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
上述の課題を解決するため、本発明は、ファイルアクセスに必要なファイル情報を格納するファイル情報テーブル2と、ファイルのマイグレーションによって解放された1次記憶装置上の領域を管理する使用可能領域管理テーブル4と、それ以外のファイル削除などによって解放された1次記憶装置上の領域を管理する空き領域管理テーブル3を備えることを特徴とする。
【0009】
マイグレーションされているファイルへの入出力要求があると、ファイル情報管理部11は、ファイル情報テーブル2を参照してファイルデータが1次記憶装置上に残っているか確認する。ファイルデータが1次記憶装置51上にあれば、2次記憶装置52からリコールを行うことなく、1次記憶装置51に対して入出力を行う。さらにファイル情報管理部11はファイルシステム領域管理部12を通して使用可能領域管理テーブル4からアクセス対象ファイルのデータの削除を行い、ファイル情報テーブル2に記録しているファイル状態を非マイグレーション状態に更新して、2次記憶装置52にアクセスすることなく1次記憶装置51上へファイルデータの復旧を行う。
【0010】
ファイルに領域を割り当てる際は、まず空き領域管理テーブル3で管理されている領域を使用し、空き領域管理テーブル3に領域がない場合にのみ使用可能領域管理テーブル4で管理している領域を使用する。
【発明の効果】
【0011】
本発明による第1の効果は、ファイル入出力を行うプロセスの入出力待ち時間が減少し、システム全体で見たファイルアクセススピードが向上することにある。その理由は、ファイル入出力時に、磁気テープのような低速な2次記憶装置からファイルデータをリコールする回数が減少するためである。
【0012】
第2の効果は、マイグレーション時に解放された領域をアクセスすることによる、ファイルシステム領域の利用効率の向上である。
【0013】
第3の効果は、マイグレーション/リコール回数の減少による2次記憶装置であるテープ装置およびテープ媒体の負荷の軽減である。
【発明を実施するための最良の形態】
【0014】
次に、本発明の最良の形態について図面を参照して説明する。
【実施例1】
【0015】
図1を参照すると、本発明の第1の実施例は、プログラム制御によるファイルアクセス手段1と、ファイルアクセス手段1より参照/更新されるファイル情報テーブル2と、1次記憶装置上の領域を管理する空き領域管理テーブル3および使用可能領域管理テーブル4と、記憶装置5とから構成されている。
【0016】
ファイルアクセス手段1は、ファイル情報管理部11と、ファイルシステム領域管理部12と、マイグレーション/リコール部13と記憶装置5にアクセスするためのディスクドライバ14およびテープドライバ15を含む。ファイル情報管理部11はファイル情報テーブル2を使用してファイルデータが1次記憶装置51上に存在するかどうかを判断し、必要があればマイグレーション/リコール部13によりリコールを行う。ファイルシステム領域管理部12は空き領域管理テーブル3および使用可能領域管理テーブル4に基づいて1次記憶装置51上にあるファイルシステムの領域を管理し、領域の割り当ておよび解放を行う。マイグレーション/リコール部13は、1次記憶装置51と2次記憶装置52間のファイルデータの移動を行う。
【0017】
ファイル情報テーブル2は、ファイルの状態や割り当てられている領域情報などファイルにアクセスするために必要となるファイル情報を格納したテーブルであり、ファイルと1対1に対応する。
【0018】
1次記憶装置上の領域を管理するテーブルとして、ファイルマイグレーション時に解放される領域を管理する使用可能領域管理テーブル4とファイル削除などマイグレーション以外で解放される領域を管理する空き領域管理テーブル3の2種類を保持する。
【0019】
記憶装置5は、磁気ディスク装置などの1次記憶装置51とファイルデータのマイグレーション先として使用されるテープライブラリ装置などの2次記憶装置52から構成される。
【0020】
図5は、ファイル情報テーブル2と1次記憶装置上の領域を管理する空き領域管理テーブル3および使用可能領域管理テーブル4の関連を示したものである。ファイル管理テーブル2は、ファイルがマイグレーションされているかを示すファイル状態21とマイグレーションによって解放されたファイル領域が他のファイルに割り当てられているか否かを示すファイル領域状態22と、ファイルに割り当てられている領域を記録する割り当て領域リスト23と、マイグレーション時に使用可能領域として登録した領域情報を指す領域管理テーブルポインタ24を保持する。
【0021】
空き領域管理テーブル3は、1次記憶装置上の未使用の領域およびマイグレーション以外のファイル領域解放で解放された領域を一括して管理するテーブルであり、空き領域がどの程度存在するかを示す空き領域数31と空き領域を記録する空き領域リスト32を保持する。
【0022】
使用可能領域管理テーブル4は、マイグレーション時に解放したファイル領域の情報をファイル単位で双方向のリスト構造で管理するテーブル郡であり、リストの起点および終点となる管理ヘッダ41と、マイグレーション時に登録されるファイルごとの領域管理テーブル郡(図5の要素42、要素43、要素44)から構成される。ファイルごとの領域管理テーブル(要素42、要素43、要素44)は、前後のエントリへのポインタ(要素421、要素431、要素441)と、対応するファイル情報テーブルを示すファイル情報テーブル番号(要素422、要素432、要素442)と、ファイルに割り当てられていた領域を記録する割り当て領域リスト(要素423、要素433、要素443)を保持する。ファイルテーブル2の割り当て領域リスト23とファイルごとの領域管理テーブル内の割り当て領域リスト(要素423、要素433、要素443)は1対1に対応する。
【0023】
ファイルのマイグレーションで新たに使用可能領域管理テーブル4にエントリを追加する場合は、管理ヘッダ41の次に追加し、空き領域管理テーブル3に空きがなくなって、使用可能領域管理テーブル4からエントリを取り出す場合は管理ヘッダ41の前から取り出すようにする。これは、最も古い登録データから他のファイルに割り当てるようにするためである。
【0024】
以下に、本発明の実施例の動作について詳細に説明する。
【0025】
まず、ファイルの入出力時の動作について、図2のフローチャートを参照して説明する。ファイルの入出力の要求があるとファイル情報管理部11はファイル情報テーブル2を参照して、ファイルの状態を確認し(図2のステップS1)、ファイルがマイグレーションされているか否かによって処理を切り分ける(ステップS2)。ファイルがマイググレーションされていなければ、ファイルデータは1次記憶装置上にあるため、1次記憶装置から入出力を行う(ステップS7)。
【0026】
ファイルがマイグレーションされていれば、マイグレーション時に使用可能領域として解放されたファイルの領域が他のファイルに使用されずに1次記憶装置51に残っているか否かで処理を切り分ける(ステップS3)。ファイルのデータが1次記憶装置上にない場合は、マイグレーションリコール部13によりファイルのリコールを行ってその終了を待つ(ステップS4)。ファイルのデータが1次記憶装置上に残っていれば、使用可能領域管理テーブル4からマイグレーション時に登録した領域情報を削除し(ステップS5)、ファイル情報テーブル2に記録しているファイル状態を非マイグレーション状態に変更する(ステップS6)。ファイルデータは1次記憶装置上にあるため、1次記憶装置51から入出力を行う(ステップS7)。このようにして2次記憶装置にアクセスすることなくファイルの入出力とファイルデータの復旧を行うことができる。
【0027】
次にファイル領域の解放処理について図3のフローチャートを参照して説明する。ファイルに割り当たっている領域を解放する場合は、ファイルのマイグレーションによる領域解放か否かで処理を切り分ける(図3のステップS11)。マイグレーションによる領域解放の場合は、ファイルの領域情報を使用可能領域管理テーブル4の先頭に登録する(ステップS12)。
【0028】
マイグレーション以外による領域の解放の場合(ファイルの削除や縮小処理が該当)は、ファイルの状態とファイルの領域の状態をファイル情報テーブル2で確認し(ステップS13)、ファイルの状態と領域の状態によって処理を切り分ける(ステップS14およびステップS16)。ファイルがマイグレーションされていない場合は、ファイルに割り当てられていた領域を空き領域管理テーブルに登録する(ステップS15)。ファイルがマイグレーションされており、かつファイルのデータが1次記憶装置に残っている場合は、ファイルに割り当てられている領域の情報が使用可能領域管理テーブル4に登録されているため、そのファイル領域情報を使用可能領域管理テーブル4から削除し、空き領域管理テーブル3に登録する(ステップS17)。
【0029】
ファイルがマイグレーションされており、かつファイルのデータが1次記憶装置にない場合は、ファイルに割り当てられていた領域は、使用可能領域管理テーブル4から削除されているため、空き領域管理テーブル3と使用可能領域管理テーブル4の操作は必要ない。
【0030】
続いて、ファイルへの領域割り当て処理について図4のフローチャートを参照して説明する。ファイルに領域を割り当てる場合は、空き領域管理テーブル3で管理している空き領域から優先してファイルに割り当てる。そこで、まず空き領域管理テーブル3で管理している空き領域があるか否かで処理を切り分ける(図4のステップS21)。空き領域管理テーブル3で管理している空き領域があれば、その領域をファイルに割り当て、空き領域管理テーブル3を更新する(ステップS22)。
【0031】
空き領域管理テーブル3で管理している空き領域がなければ、使用可能領域管理テーブル4で管理している領域があるかを確認する(ステップS23)。使用可能領域管理テーブル4で管理している領域がある場合は、使用可能領域管理テーブル4で管理している最も古い1ファイルぶんの領域情報を削除し、その領域を空き領域管理テーブル3へ登録し(ステップS24)、ファイル情報テーブル2のファイル領域情報を1次記憶装置上にデータがないことを示す使用不可状態に変更して(ステップS25)、空き領域管理テーブル3の確認から処理を繰り返す。使用可能領域管理テーブル4で管理している領域がない場合は、ファイルに割り当てることのできる領域はないため領域不足のエラーとなる(ステップS26)。
【実施例2】
【0032】
次に、本発明の第2の実施例の構成について図面を参照して詳細に説明する。
【0033】
図6を参照すると、本発明の第2の実施例は、図5に示された使用可能領域管理テーブル4とファイル情報テーブル2を拡張して、マイグレーションで解放する領域を2つの使用可能領域管理テーブルで管理するとともに、領域の割り当て単位ごとに領域管理するためのファイル領域状態ビットマップ62を保持している。
【0034】
ファイル領域状態ビットマップ62は割り当て領域リスト63に記録されている各領域について割り当て単位ごとに1次記憶装置上に残っているかどうかを示す。これにより、ファイルデータの一部が1次記憶装置に残っている場合、そのデータに第1の実施例では実現できなかった、リコールなしでの入出力が可能となる。
【0035】
さらに、マイグレーションで解放された領域に空き領域として使用する順番を設け、より1次記憶装置に残しておきたい領域は第2の使用可能領域管理テーブルbで、それ以外の領域は第1の使用可能領域管理テーブルaで管理する。ファイルへの領域割り当て時に、空き領域管理テーブル3が空の場合は、まず第1の使用可能領域管理テーブルaで管理している領域を空き領域として使用し、第1の使用可能領域管理テーブルaに領域がない場合に第2の使用可能領域管理テーブルbで管理している領域を使用する。これにより、1次記憶装置に残しておきたいデータをより長く1次記憶装置上に保持することができる。
【0036】
第2の使用可能領域管理テーブルbで管理すべき領域としては、以下の候補が考えられる。第1の候補としては、最終アクセスのあった領域およびその前後の領域である。これは、次にアクセスされることが予想される領域だからである。第2の候補としては、ファイルの先頭および終端の領域である。この領域もアクセスされやすい領域と考えられる。その他の候補としては、磁気テープの終端近くに記録されたファイル領域がある。これは、磁気テープの先頭にあるデータにくらべて、リコールにより時間を要するためである。
【産業上の利用可能性】
【0037】
本発明によれば、アクセス速度の差異のある記憶装置(アクセス速度の速い1次記憶装置とアクセス速度が遅いが大容量を備えた2次記憶装置)を備えた階層記憶システムにおける、ファイルアクセスに適用できる。
【図面の簡単な説明】
【0038】
【図1】本発明の実施例の構成図である。
【図2】ファイルの入出力動作を説明するフローチャートである。
【図3】ファイル領域の解放処理を説明するフローチャートである。
【図4】ファイルへの領域割り当て処理を説明するフローチャートである。
【図5】実施例1のテーブル構成例を示す図である。
【図6】実施例2のテーブル構成例を示す図である。
【符号の説明】
【0039】
1 ファイルアクセス手段
2 ファイル情報テーブル
3 空き領域管理テーブル
4 使用可能領域管理テーブル
5 記憶装置
51 1次記憶装置
52 2次記憶装置

【特許請求の範囲】
【請求項1】
アクセス速度の速い1次記憶装置と、
アクセス速度は遅いが大容量の2次記憶装置と、
ファイルの状態や割り当てられている領域情報を含むファイルアクセスに必要なファイル情報を格納し、ファイルと1対1に対応するファイル情報テーブルと、
マイグレーション時に解放した前記1次記憶装置上のファイル領域の情報を管理する使用可能領域管理テーブルと、
ファイルアクセスを管理するファイルアクセス手段とを備え、
前記ファイルアクセス手段は、ファイルの入出力の要求があると、前記ファイル情報テーブルを参照して、ファイルの状態を確認し、
ファイルがマイグレーションされている場合、マイグレーション時に使用可能領域として解放されたファイルの領域が他のファイルに使用されずに前記1次記憶装置に残っているか否か確認し、
マイグレーションされたファイルのデータが前記1次記憶装置上にない場合、前記2次記憶装置からそのファイルのリコールを行い、マイグレーションされたファイルのデータが前記1次記憶装置上に残っている場合、前記使用可能領域管理テーブルからマイグレーション時に登録した領域情報を削除し、
前記ファイル情報テーブルに記録しているファイル状態を非マイグレーション状態に変更し、
前記1次記憶装置からファイルの入出力を行うことを特徴とする階層記憶システムにおけるファイル管理装置。
【請求項2】
前記1次記憶装置上の未使用の領域およびマイグレーション以外のファイル領域解放で解放された領域を管理する空き領域管理テーブルをさらに備え、
前記ファイルアクセス手段は、
マイグレーションによる領域解放の場合、ファイルの領域情報を前記使用可能領域管理テーブルの先頭に登録し、
マイグレーション以外による領域解放の場合、ファイルの状態と領域の状態を前記ファイル情報テーブルで確認し、
ファイルがマイグレーションされていない場合は、ファイルに割り当てられていた領域を前記空き領域管理テーブルに登録し、
ファイルがマイグレーションされており、かつファイルのデータが前記1次記憶装置に残っている場合は、そのファイル領域情報を前記使用可能領域管理テーブルから削除し、前記空き領域管理テーブルに登録することを特徴とする請求項1記載の階層記憶システムにおけるファイル管理装置。
【請求項3】
前記ファイルアクセス手段は、
ファイルに領域を割り当てる場合、前記空き領域管理テーブルで管理している空き領域があるか否か確認し、
前記空き領域管理テーブルで管理している空き領域があれば、その領域をファイルに割り当て、前記空き領域管理テーブルを更新し、
前記空き領域管理テーブルで管理している空き領域がなければ、前記使用可能領域管理テーブルで管理している領域があるかを確認し、
前記使用可能領域管理テーブルで管理している領域がある場合、前記使用可能領域管理テーブルで管理している最も古い1ファイル分の領域情報を削除し、その領域を前記空き領域管理テーブルへ登録し、
前記ファイル情報テーブルのファイル領域情報を前記1次記憶装置上にデータがないことを示す使用不可状態に変更して、前記空き領域管理テーブルの確認から処理を繰り返し、
前記使用可能領域管理テーブルで管理している領域がない場合、領域不足のエラーとすることを特徴とする請求項2記載の階層記憶システムにおけるファイル管理装置。
【請求項4】
マイグレーションで解放する領域を第1及び第2の前記使用可能領域管理テーブルで管理すると共に、前記ファイル情報テーブルの割り当て領域リストに記録されている各領域について割り当て単位ごとに前記1次記憶装置上に残っているかどうかを示すファイル領域状態ビットマップを設け、
マイグレーションで解放された領域に空き領域として使用する順番を設け、前記1次記憶装置に残しておきたい領域は前記第2の使用可能領域管理テーブルで、それ以外の領域は前記第1の使用可能領域管理テーブルで管理し、
ファイルへの領域割り当て時に、前記空き領域管理テーブルが空の場合は、前記第1の使用可能領域管理テーブルで管理している領域を空き領域として使用し、前記第1の使用可能領域管理テーブルに領域がない場合に前記第2の使用可能領域管理テーブルで管理している領域を使用することを特徴とする請求項1記載の階層記憶システムにおけるファイル管理装置。
【請求項5】
ファイルの入出力の要求があると、ファイルの状態や割り当てられている領域情報を含むファイルアクセスに必要なファイル情報を格納し、ファイルと1対1に対応するファイル情報テーブルを参照して、ファイルの状態を確認し、
ファイルがマイグレーションされている場合、マイグレーション時に使用可能領域として解放されたファイルの領域が他のファイルに使用されずにアクセス速度の速い1次記憶装置に残っているか否か確認し、
マイグレーションされたファイルのデータが前記1次記憶装置上にない場合、アクセス速度は遅いが大容量の2次記憶装置からそのファイルのリコールを行い、マイグレーションされたファイルのデータが前記1次記憶装置上に残っている場合、マイグレーション時に解放した前記1次記憶装置上のファイル領域の情報を管理する使用可能領域管理テーブルからマイグレーション時に登録した領域情報を削除し、
前記ファイル情報テーブルに記録しているファイル状態を非マイグレーション状態に変更し、
前記1次記憶装置からファイルの入出力を行うことを特徴とする階層記憶システムにおけるファイル管理方法。
【請求項6】
マイグレーションによる領域解放の場合、ファイルの領域情報を前記使用可能領域管理テーブルの先頭に登録し、
マイグレーション以外による領域解放の場合、ファイルの状態と領域の状態を前記ファイル情報テーブルで確認し、
ファイルがマイグレーションされていない場合は、ファイルに割り当てられていた領域を前記1次記憶装置上の未使用の領域およびマイグレーション以外のファイル領域解放で解放された領域を管理する空き領域管理テーブルに登録し、
ファイルがマイグレーションされており、かつファイルのデータが前記1次記憶装置に残っている場合は、そのファイル領域情報を前記使用可能領域管理テーブルから削除し、前記空き領域管理テーブルに登録することを特徴とする請求項5記載の階層記憶システムにおけるファイル管理方法。
【請求項7】
ファイルに領域を割り当てる場合、前記空き領域管理テーブルで管理している空き領域があるか否か確認し、
前記空き領域管理テーブルで管理している空き領域があれば、その領域をファイルに割り当て、前記空き領域管理テーブルを更新し、
前記空き領域管理テーブルで管理している空き領域がなければ、前記使用可能領域管理テーブルで管理している領域があるかを確認し、
前記使用可能領域管理テーブルで管理している領域がある場合、前記使用可能領域管理テーブルで管理している最も古い1ファイル分の領域情報を削除し、その領域を前記空き領域管理テーブルへ登録し、
前記ファイル情報テーブルのファイル領域情報を前記1次記憶装置上にデータがないことを示す使用不可状態に変更して、前記空き領域管理テーブルの確認から処理を繰り返し、
前記使用可能領域管理テーブルで管理している領域がない場合、領域不足のエラーとすることを特徴とする請求項6記載の階層記憶システムにおけるファイル管理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate