(57)【要約】【課題】データ転送を制御するファイル制御装置に関し，タスク管理テーブル（ＡＣＢ）の領域獲得によるオーバーヘッドを軽減することを目的とする。【解決手段】複数のホスト処理用ＡＣＢ２０１（ホスト処理用ＡＣＢ群２０３）と，複数の内部処理用ＡＣＢ２０２（内部処理用ＡＣＢ群２０４）とを，あらかじめ領域を獲得して用意し，さらに，各ホスト処理用ＡＣＢ２０１と各内部処理用ＡＣＢ２０２とが１対１になるようにリンク関係を設定しておく。ホストからのＩ／Ｏ要求時には，ホスト処理用ＡＣＢ群２０３から未使用のホスト処理用ＡＣＢ２０１を獲得して使用し，その延長でバックエンド処理が発生した場合には，そのホスト処理用ＡＣＢ２０１にリンクされている内部処理用ＡＣＢ２０２を内部処理用ＡＣＢ群２０４から自動的に選択して使用する。【選択図】図１
2005258744.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータからのＩ／Ｏ要求をホスト処理用タスク管理テーブルを用いて処理し，その処理の延長でバックエンド処理が必要になった場合に，内部処理用タスク管理テーブルを用いてバックエンド処理を行うことにより，コンピュータとファイル装置との間のデータ転送を制御するファイル制御装置において，
あらかじめ複数のホスト処理用タスク管理テーブルの領域と複数の内部処理用タスク管理テーブルの領域とを獲得し，獲得した領域を用いて未使用状態の複数のホスト処理用タスク管理テーブルと複数の内部処理用タスク管理テーブルとを作成する第１の手段と，
前記ホスト処理用タスク管理テーブルと前記内部処理用タスク管理テーブルとをリンクし，１対１に対応させて管理する第２の手段と，
前記コンピュータからのＩ／Ｏ要求があった場合に，前記ホスト処理用タスク管理テーブルを獲得して処理を実行する第３の手段と，
前記第３の手段の処理の延長でバックエンド処理が発生した場合に，前記ホスト処理用タスク管理テーブルに対応する前記内部処理用タスク管理テーブルを用いてバックエンド処理を実行する第４の手段とを備える
ことを特徴とするファイル制御装置。
【請求項２】
請求項１に記載のファイル制御装置において，
前記第２の手段は，前記ホスト処理用タスク管理テーブルと前記内部処理用タスク管理テーブルとを１対１に対応させたものを，所定の未使用タスク管理テーブルのキューにキューイングして管理する手段である
ことを特徴とするファイル制御装置。
【請求項３】
コンピュータからのＩ／Ｏ要求をホスト処理用タスク管理テーブルを用いて処理し，その処理の延長でバックエンド処理が必要になった場合に，内部処理用タスク管理テーブルを用いてバックエンド処理を行うことにより，コンピュータとファイル装置との間のデータ転送を制御するファイル制御装置の制御方法において，
あらかじめ複数のホスト処理用タスク管理テーブルの領域と複数の内部処理用タスク管理テーブルの領域とを獲得し，獲得した領域を用いて未使用状態の複数のホスト処理用タスク管理テーブルと複数の内部処理用タスク管理テーブルとを作成する第１の過程と，
前記ホスト処理用タスク管理テーブルと前記内部処理用タスク管理テーブルとをリンクし，１対１に対応させて管理する第２の過程と，
前記コンピュータからのＩ／Ｏ要求があった場合に，前記ホスト処理用タスク管理テーブルを獲得して処理を実行する第３の過程と，
前記第３の過程の処理の延長でバックエンド処理が発生した場合に，前記ホスト処理用タスク管理テーブルに対応する前記内部処理用タスク管理テーブルを用いてバックエンド処理を実行する第４の過程とを有する
ことを特徴とするファイル制御装置の制御方法。
【請求項４】
請求項３に記載のファイル制御装置の制御方法において，
前記第２の過程では，前記ホスト処理用タスク管理テーブルと前記内部処理用タスク管理テーブルとを１対１に対応させたものを，所定の未使用タスク管理テーブルのキューにキューイングして管理する
ことを特徴とするファイル制御装置の制御方法。
【請求項５】
請求項１または請求項２に記載のファイル制御装置が備える手段の機能を，ファイル制御装置が内蔵するコンピュータに実現させるためのファイル制御装置用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，ホストコンピュータ（以下，ホストという）とファイル装置（ディスク装置等）との間のデータ転送を制御するファイル制御装置に関するものであり，特に，タスク管理テーブル（以下，ＡＣＢ（Action Control Block）という）の領域獲得によるオーバーヘッドを軽減することを可能にしたファイル制御装置およびその制御方法に関するものである。
【背景技術】
【０００２】
従来から，ホストとＲＡＩＤ装置（複数のディスク装置を使って１台の大きなディスク装置に見せるファイル装置）等のファイル装置との間にファイル制御装置を設け，そのファイル制御装置によって，ホスト−ファイル装置間のデータ転送を制御することが行われている（例えば，特許文献１，特許文献２参照）。
【０００３】
ファイル制御装置は，転送データを一時的に記憶するためのキャッシュメモリを備えている。また，ファイル制御装置では，データ転送等のスレッドの情報を管理するためのＡＣＢに従って，ファイルコントローラのモジュールが動作する。なお，スレッドは，プロセッサの実行権を割り当てる単位であり，タスクと呼ばれることもある。
【０００４】
スレッドの情報を管理するためのＡＣＢには，ホストからのＩ／Ｏ処理時に使用するホスト処理用ＡＣＢと，バックエンド処理時に使用する内部処理用ＡＣＢとがある。ホスト処理用ＡＣＢと内部処理用ＡＣＢとは互いに独立しており，そのフォーマットも，領域の大きさも互いに異なるものである。
【０００５】
ホスト処理用ＡＣＢは，ホストＩ／Ｏ全般に用いられ，内部処理用ＡＣＢは，ライトバック（WriteBack ：ホストからファイル装置へのライト時にキャッシュメモリに一時的に蓄積されたライトデータをファイル装置に書き出す処理）／ステージング（Staging ：キャッシュミス（Cache Miss）時に必要なデータをファイル装置からキャッシュメモリに転送する処理）／プリフェッチ（PreFetch：ホストへの転送が予測されるデータをあらかじめファイル装置からキャッシュメモリに転送しておく処理）起動や，リビルド（Rebuild ：ＲＡＩＤ装置において１台の物理ディスクが不良となった場合に，再び冗長性を保つため，生きているディスクの方からデータを吸い上げて別のホットスペアというディスクに書き込む処理）／コピーバック（Copyback）処理などに用いられる。
【０００６】
図８は，従来技術におけるＡＣＢの領域獲得を説明する図である。従来のファイル制御装置４０では，図８に示すように，ホストからのＩ／Ｏ要求時にホスト処理用ＡＣＢの領域を獲得してスレッドを生成し，その延長でバックエンド処理が発生した場合には，その都度，内部処理用ＡＣＢの領域を獲得して内部処理用のスレッドを生成していた。
【０００７】
例えば，ホストからリード要求があった場合には，ホスト処理用ＡＣＢの領域を獲得して，そのスレッドによりキャッシュメモリからホストへのデータ転送を処理し，キャッシュメモリ上に目的のデータがない場合（キャッシュミス時）には，さらに内部処理用ＡＣＢの領域を獲得して，ステージング処理によるファイル装置からキャッシュメモリへのデータの転送を処理していた。
【０００８】
このように，従来は，ホストからのＩ／Ｏ要求の処理の延長でバックエンド処理が発生した場合には，その都度，内部処理用ＡＣＢの領域の獲得処理を行っていた。
【特許文献１】特開平９−１６２９０号公報
【特許文献２】特開平１０−３２０１２８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
前述のように，従来は，必要に応じてダイナミックにＡＣＢの領域を獲得していた。そのため，従来技術では，ＡＣＢの領域獲得によるオーバーヘッドが発生するという問題があった。
【００１０】
本発明は，上記の問題点に鑑み，ＡＣＢの領域獲得によるオーバーヘッドを軽減することによりファイル制御装置の処理の高速化を図ることを目的とする。
【課題を解決するための手段】
【００１１】
本発明は，上記の課題を解決するため，あらかじめホスト処理用ＡＣＢの領域と内部処理用ＡＣＢの領域とを複数用意しておき，さらに，あらかじめホスト処理用ＡＣＢと内部処理用ＡＣＢとを１対１に関連付けたＡＣＢの組をいくつか用意しておくことを主要な特徴とする。
【００１２】
図１は，本発明の原理を説明する図である。図１（Ａ）は，ホスト処理用ＡＣＢ２０１と内部処理用ＡＣＢ２０２の関連付けを示しており，図１（Ｂ）は，本発明におけるＡＣＢの獲得を示している。
【００１３】
図１（Ａ）に示すように，複数のホスト処理用ＡＣＢ２０１（図１（Ａ）のホスト処理用ＡＣＢ群２０３）と，複数の内部処理用ＡＣＢ２０２（図１（Ａ）の内部処理用ＡＣＢ群２０４）とを，あらかじめ領域を獲得して用意しておく。さらに，ホスト処理用ＡＣＢ２０１と内部処理用ＡＣＢ２０２とが１対１になるようにリンク関係を設定しておく。
【００１４】
図１（Ｂ）に示すように，ホストからのＩ／Ｏ要求時には，ホスト処理用ＡＣＢ群２０３から空いているホスト処理用ＡＣＢ２０１を獲得して使用し，その延長でバックエンド処理が発生した場合には，獲得されたホスト処理用ＡＣＢ２０１にリンクされた内部処理用ＡＣＢ２０２を内部処理用ＡＣＢ群２０４から選択して使用する。
【００１５】
このように，本発明では，ホスト処理用ＡＣＢ２０１を獲得した時点で，自動的に内部処理用ＡＣＢ２０２の領域が獲得されることになるので，ホストからのＩ／Ｏ要求の処理の延長でバックエンド処理が発生した場合に，内部処理用ＡＣＢ２０２の領域の獲得処理を行う必要がない。
【００１６】
具体的には，本発明は，ホストとファイル装置との間のデータ転送を制御するファイル制御装置であって，装置の電源投入時などにあらかじめ複数のホスト処理用ＡＣＢ２０１と複数の内部処理用ＡＣＢ２０２の領域を獲得して，未使用状態の複数のホスト処理用ＡＣＢ２０１と複数の内部処理用ＡＣＢ２０２とを作成する手段と，ホスト処理用ＡＣＢ２０１と内部処理用ＡＣＢ２０２とを１対１に対応させて管理する手段と，ホストからのＩ／Ｏ要求があった場合にホスト処理用ＡＣＢ２０１を獲得して処理を実行する手段と，その処理の延長でバックエンド処理が発生した場合にホスト処理用ＡＣＢ２０１に対応する内部処理用ＡＣＢ２０２を選択してバックエンド処理を実行する手段とを備えることを特徴とする。
【００１７】
また，ホスト処理用ＡＣＢ２０１と内部処理用ＡＣＢ２０２とを１対１に対応させたものを，未使用のＡＣＢ管理キューにキューイングすることによって管理することを特徴とする。
【００１８】
また，事前に作成するホスト処理用ＡＣＢ２０１と内部処理用ＡＣＢ２０２の数を，パラメータで設定できるようにし，設定されたパラメータに従って，ホスト処理用ＡＣＢ２０１と内部処理用ＡＣＢ２０２の領域を獲得することを特徴とする。
【００１９】
以上の各手段による処理は，コンピュータとソフトウェアプログラムとによって実現することができる。
【発明の効果】
【００２０】
本発明によって，ホストからのＩ／Ｏ要求に対する処理の延長でステージング等の処理が必要な場合に，そのバックエンド処理のための内部処理用ＡＣＢの領域の獲得処理が不要となるので，その領域獲得のためのオーバーヘッドを軽減することが可能となる。
【００２１】
また，ホスト処理用ＡＣＢからバックエンド処理の状態（内部処理用ＡＣＢの使用中・未使用等）を認識できるので，ホストからのキャンセル処理（ホスト処理用ＡＣＢの回収）を行うことができるかどうかの判断が可能となる。
【発明を実施するための最良の形態】
【００２２】
以下，本発明の実施の形態について，図を用いて説明する。
【００２３】
図２は，本発明の実施の形態におけるファイル制御装置の構成例を示す図である。ファイル制御装置２０は，ホスト１０と，複数のディスク装置３１からなるファイル装置３０と接続され，ホスト１０−ファイル装置３０間のデータ転送の制御を行う装置である。このファイル制御装置２０は，転送データ等を一時的に記憶するキャッシュメモリ２１と，あらかじめＡＣＢの領域を獲得し，未使用状態のＡＣＢを作成するＡＣＢ作成部２２と，あらかじめ領域が獲得され作成されたＡＣＢを管理するＡＣＢ管理部２３と，ホスト１０からのＩ／Ｏ要求を受けたときにホスト処理用ＡＣＢ２０１を獲得するＡＣＢ獲得部２４とを備える。
【００２４】
ＡＣＢ作成部２２は，例えばファイル制御装置２０への電源投入によるシステムの初期設定時に，あらかじめパラメータで設定された数の複数のホスト処理用ＡＣＢ２０１と，複数の内部処理用ＡＣＢ２０２とを，ファイル制御装置２０のメモリ領域から獲得して用意する。
【００２５】
ＡＣＢ管理部２３は，ＡＣＢ作成部２２により用意されたホスト処理用ＡＣＢ２０１と内部処理用ＡＣＢ２０２とを１対１に関連付けて，後述するＡＣＢ管理キューにより管理する。
【００２６】
このとき，ホスト処理用ＡＣＢ２０１や内部処理用ＡＣＢ２０２は独立して使用される場合があるため，ＡＣＢ作成部２２で用意されたすべてのホスト処理用ＡＣＢ２０１と内部処理用ＡＣＢ２０２とを関連付けるのではなく，独立したホスト処理用ＡＣＢ２０１と独立した内部処理用ＡＣＢ２０２とを残しておくようにしてもよい。
【００２７】
ここで，あらかじめ用意するＡＣＢの個数は，ファイル装置３０の性能をもとに設定されたパラメータによる。キャッシュメモリ２１は，容量が少ないが動きは速い。それに対してディスク装置３１は容量が大きく動きが遅い。よって，ファイル装置３０に多くのアクセスがあるとディスク装置３１の部分で処理が滞りやすく，それがそのファイル装置３０の限界となる。そこで，そのファイル装置３０が同時にさばける処理の数をあらかじめ計算して内部処理用ＡＣＢ２０２の個数を設定し，その内部処理用ＡＣＢ２０２の個数に対するホスト処理用ＡＣＢ２０１の個数を計算して設定する。
【００２８】
ホスト処理用ＡＣＢ２０１と内部処理用ＡＣＢ２０２との関連付けは，ポインタによって行う。ホスト処理用ＡＣＢ２０１には，対応する内部処理用ＡＣＢ２０２へのポインタが書き込まれ，内部処理用ＡＣＢ２０２には，対応するホスト処理用ＡＣＢ２０１へのポインタが書き込まれる。これにより，どちらのＡＣＢからでも相手のＡＣＢを認識することができる。
【００２９】
ＡＣＢ管理部２３は，未使用のホスト処理用ＡＣＢ２０１と内部処理用ＡＣＢ２０２との組をＡＣＢ管理キューにキューイングして管理する。そのため，未使用のホスト処理用ＡＣＢ２０１には，次の未使用のホスト処理用ＡＣＢ２０１へのポインタを書き込むフィールドを設けておく。また，未使用の独立したホスト処理用ＡＣＢ２０１，未使用の独立した内部処理用ＡＣＢ２０２も，それぞれ専用のＡＣＢ管理キューにキューイングして管理する。
【００３０】
図３は，本実施の形態におけるＡＣＢ管理キューの例を示す図である。図３の例は，１対１に関連付けられたホスト処理用ＡＣＢ２０１と内部処理用ＡＣＢ２０２との組を管理するＡＣＢ管理キューの例である。
【００３１】
図３に示すように，ホスト処理用ＡＣＢ２０１と内部処理用ＡＣＢ２０２との組は，互いにポインタで関連付けられている。また，未使用のホスト処理用ＡＣＢ２０１には，次の未使用ホスト処理用ＡＣＢ２０１へのポインタが書き込まれている。キューターミナル２０５には，先頭のホスト処理用ＡＣＢ２０１へのポインタ，すなわち次のホスト１０からのＩ／Ｏ要求時に使用する未使用のホスト処理用ＡＣＢ２０１へのポインタが書き込まれている。
【００３２】
図４は，本実施の形態において，１対１に関連付けられたホスト処理用ＡＣＢ２０１と内部処理用ＡＣＢ２０２の内部データ構造の例を示す図である。図４（Ａ）はホスト処理用ＡＣＢ２０１のデータ構造の例を示し，図４（Ｂ）は，内部処理用ＡＣＢ２０２のデータ構造の例を示している。
【００３３】
図４（Ａ）に示すように，ホスト処理用ＡＣＢ２０１は，スレッドのＩＤや状態等のスレッド管理のための情報であるスレッド管理情報２１０１，そのＡＣＢがホスト処理用ＡＣＢ２０１か内部処理用ＡＣＢ２０２かを示すＡＣＢタイプ２１０２（ここでは“ホスト処理用ＡＣＢ”が記録される），次の未使用のホスト処理用ＡＣＢ２０１へのリンク情報（ポインタ）であるＡＣＢリンク２１０３，ホスト１０からのＩ／Ｏ要求がリードであるのかライトであるのかを記録するリード／ライト情報２１０４，ホスト１０がメインフレームであるのかオープンシステムであるのかを記録するメインフレーム／オープン情報２１０５，複数のホスト１０と接続されている場合にどのホスト１０からのＩ／Ｏ要求かを記録するポート番号情報２１０６，ホストボリュームに対して付ける装置内の一意の番号であるホストＬＵＮ情報２１０７，ホストＬＵＮ情報２１０７における処理開始ＬＢＡを示すＬＢＡ情報２１０８，処理要求されたブロック数を示すブロック数情報２１０９，対応する内部処理用ＡＣＢ２０２へのリンク情報（ポインタ）であるＡＣＢリンク２１１０，ホスト１０がリード／ライトするデータを置くキャッシュアドレスを示すキャッシュアドレス２１１１のフィールドから構成される。
【００３４】
また，図４（Ｂ）に示すように，内部処理用ＡＣＢ２０２は，スレッドのＩＤや状態等のスレッド管理のための情報であるスレッド管理情報２２０１，そのＡＣＢがホスト処理用ＡＣＢ２０１か内部処理用ＡＣＢ２０２かを示すＡＣＢタイプ２２０２（ここでは，内部処理用ＡＣＢ”が記録される），ステージングであるのかライトバックであるのかを記録するステージング／ライトバック情報２２０３，ステージング／ライトバック情報２２０３がステージングであるときにプリフェッチであるかどうかを記録するプリフェッチ情報２２０４，ＲＡＩＤグループに対して付ける装置内の一意の番号（ステージング要求時にはホストＬＵＮ情報２１０７，ＬＢＡ情報２１０８から変換する）であるＲＡＩＤグループＬＵＮ情報２２０５，ＲＡＩＤグループＬＵＮ情報２２０５における処理開始ＬＢＡ（ステージング要求時にはホストＬＵＮ情報２１０７，ＬＢＡ情報２１０８から変換する）を示すＬＢＡ情報２２０６，処理要求されたブロック数を示すブロック数情報２２０７，対応するホスト処理用ＡＣＢ２０１へのリンク情報（ポインタ）であるＡＣＢリンク２２０８，ステージング／ライトバックするデータを置くキャッシュアドレス（ホスト１０がリード／ライトするデータのアドレスと同じ）を示すキャッシュアドレス２２０９のフィールドから構成される。
【００３５】
ＡＣＢ獲得部２４は，ホスト１０からのＩ／Ｏ要求を受けたとき，未使用のホスト処理用ＡＣＢ２０１を獲得して使用する。ホストＩ／Ｏ処理の延長でバックエンド処理が発生した場合には，獲得したホスト処理用ＡＣＢ２０１に関連付けられた内部処理用ＡＣＢ２０２を自動的に選択して使用する。ホスト１０からのＩ／Ｏ要求があったときに，未使用のホスト処理用ＡＣＢ２０１がない場合には，これ以上のアクセスが受けられない状態であるので，ホスト１０に“ビジー”を返し，Ｉ／Ｏ要求を受け付けることができないことを通知する。
【００３６】
図５は，本実施の形態におけるメインフレームからのリード要求時の処理フローチャートである。図５のフローチャートは，ホスト１０がメインフレームであり，ホスト１０からのＩ／Ｏ要求がリード要求である場合の処理の例を示す。ここで，ホスト処理用ＡＣＢ２０１，内部処理用ＡＣＢ２０２はあらかじめ用意されており，互いに１対１に関連付けられているものとする。
【００３７】
まず，ファイル制御装置２０は，ホスト１０からのＩ／Ｏ要求を受けると（ステップＳ１０），ＡＣＢ管理キューに未使用のホスト処理用ＡＣＢ２０１があるか否かを確認し（ステップＳ１１），ない場合には，ホスト１０に“ビジー”を返し（ステップＳ１２），処理を終了する。
【００３８】
ステップＳ１１において未使用のホスト処理用ＡＣＢ２０１がある場合には，ＡＣＢ管理キューから未使用のホスト処理用ＡＣＢ２０１を１つ取り出し（ステップＳ１３），取り出したホスト処理用ＡＣＢ２０１にホスト１０からのＩ／Ｏ要求の情報を記録し（ステップＳ１４），ホスト処理用ＡＣＢ２０１を解析する（ステップＳ１５）。ここでは，ステップＳ１４でホスト処理用ＡＣＢ２０１にリードする領域が記録され，ステップＳ１５の解析によりホスト１０からのＩ／Ｏ要求がリード要求であると判定される。
【００３９】
リードするデータがキャッシュメモリ２１上にあるか否かを確認し（ステップＳ１６），ある場合（キャッシュヒット時）には，ホスト１０にキャッシュメモリ２１上の該当データをリードさせる（ステップＳ１７）。ホスト１０へのデータのリード完了後，使用していたホスト処理用ＡＣＢ２０１を未使用のホスト処理用ＡＣＢ２０１としてＡＣＢ管理キューに戻し（ステップＳ１８），処理を終了する。
【００４０】
ステップＳ１６においてデータがキャッシュメモリ２１上にない場合（キャッシュミス時）には，ホスト処理用ＡＣＢ２０１によってホスト１０とのディスコネクト処理を行い（ステップＳ１９），同時に，ホスト処理用ＡＣＢ２０１にリンクされた内部処理用ＡＣＢ２０２に必要な情報を記録し（ステップＳ２０），ステージング処理を開始する（ステップＳ２１）。ここで，ディスコネクトを完了したホスト処理用ＡＣＢ２０１は，ステージング処理の完了を待ちあわせる。
【００４１】
図６は，本実施の形態におけるオープンシステムからのリード要求時の処理フローチャートである。図６のフローチャートは，ホスト１０がオープンシステムであり，ホスト１０からのＩ／Ｏ要求がリード要求である場合の処理の例を示す。ホスト１０がオープンシステムである場合には，ホスト処理用ＡＣＢ２０１と内部処理用ＡＣＢ２０２の両方のスレッドが同時に動くことはない。ここで，ホスト処理用ＡＣＢ２０１，内部処理用ＡＣＢ２０２はあらかじめ用意されており，互いに１対１に関連付けられているものとする。
【００４２】
まず，ファイル制御装置２０は，ホスト１０からのＩ／Ｏ要求を受けると（ステップＳ３０），未使用のホスト処理用ＡＣＢ２０１があるか否かを確認し（ステップＳ３１），ない場合には，ホスト１０に“ビジー”を返し（ステップＳ３２），処理を終了する。
【００４３】
ステップＳ３１において未使用のホスト処理用ＡＣＢ２０１がある場合には，ＡＣＢ管理キューから未使用のホスト処理用ＡＣＢ２０１を１つ取り出し（ステップＳ３３），取り出したホスト処理用ＡＣＢ２０１にホスト１０からのＩ／Ｏ要求の情報を記録し（ステップＳ３４），ホスト処理用ＡＣＢ２０１を解析する（ステップＳ３５）。ここでは，ステップＳ３４でホスト処理用ＡＣＢ２０１にリードする領域が記録され，ステップＳ３５の解析によりホスト１０からのＩ／Ｏ要求がリード要求であると判定される。
【００４４】
リードするデータがキャッシュメモリ２１上にあるか否かを確認し（ステップＳ３６），ある場合（キャッシュヒット時）には，ホスト１０にキャッシュメモリ２１上の該当データをリードさせる（ステップＳ３７）。ホスト１０へのデータのリード完了後，使用していたホスト処理用ＡＣＢ２０１を未使用のホスト処理用ＡＣＢ２０１としてＡＣＢ管理キューに戻し（ステップＳ３８），処理を終了する。
【００４５】
ステップＳ３６においてデータがキャッシュメモリ２１上にない場合（キャッシュミス時）には，ホスト処理用ＡＣＢ２０１にリンクされた内部処理用ＡＣＢ２０２に必要な情報を記録し（ステップＳ３９），ステージング処理を開始する（ステップＳ４０）。ここで，ホスト処理用ＡＣＢ２０１は，ステージング処理の完了を待ちあわせる。
【００４６】
図７は，本実施の形態におけるステージング処理後の処理フローチャートである。図７のフローチャートは，図５ステップＳ２１，図６のステップＳ４０におけるステージング処理やプリフェッチによるステージング処理などの終了後の処理の例を示す。
【００４７】
ステージング処理が終了すると（ステップＳ５０），ホスト処理用ＡＣＢ２０１の待ち合わせがあるか否かを確認し（ステップＳ５１），待ち合わせがなければ，使用していた内部処理用ＡＣＢ２０２を未使用の内部処理用ＡＣＢ２０２として，内部処理用ＡＣＢ専用のＡＣＢ管理キューに戻し（ステップＳ５２），処理を終了する。ここで，ホスト処理用ＡＣＢ２０１の待ち合わせがない場合としては，例えば，プリフェッチによるステージング処理の場合があり，独立した内部処理用ＡＣＢ２０２を用いてステージング処理が行われる。
【００４８】
ステップＳ５１において待ち合わせがあれば，ホスト１０がメインフレームかオープンシステムかを確認し（ステップＳ５３），オープンシステムであれば，待ち合わせているホスト処理用ＡＣＢ２０１によって，ホスト１０にキャッシュメモリ２１上の該当データをリードさせる（ステップＳ５５）。
【００４９】
ステップＳ５３においてメインフレームであれば，待ち合わせているホスト処理用ＡＣＢ２０１によってホスト１０とのリコネクト処理を行い（ステップＳ５４），リコネクト処理完了後に，ホスト１０にキャッシュメモリ２１上の該当データをリードさせる（ステップＳ５５）。
【００５０】
ホスト１０へのデータのリード完了後，使用していたホスト処理用ＡＣＢ２０１と内部処理用ＡＣＢ２０２の組をＡＣＢ管理キューに戻して未使用とし（ステップＳ５６），処理を終了する。
【００５１】
以上，ホスト１０からのＩ／Ｏ要求がリードである場合の例を説明したが，ライト等の他の要求の場合にも，同様にホスト処理用ＡＣＢ２０１と内部処理用ＡＣＢ２０２の組をホスト１０からのＩ／Ｏ要求時にまとめて獲得することにより，ファイル制御装置２０における全体の処理の高速化を図ることができる。
【図面の簡単な説明】
【００５２】
【図１】本発明の原理を説明する図である。
【図２】本発明の実施の形態におけるファイル制御装置の構成例を示す図である。
【図３】本実施の形態におけるＡＣＢ管理キューの例を示す図である。
【図４】本実施の形態におけるＡＣＢの内部データ構造の例を示す図である。
【図５】本実施の形態におけるメインフレームからのリード要求時の処理フローチャートである。
【図６】本実施の形態におけるオープンシステムからのリード要求時の処理フローチャートである。
【図７】本実施の形態におけるステージング処理後の処理フローチャートである。
【図８】従来技術におけるＡＣＢの領域獲得を説明する図である。
【符号の説明】
【００５３】
１０  ホスト
２０，４０  ファイル制御装置
２１  キャッシュメモリ
２２  ＡＣＢ作成部
２３  ＡＣＢ管理部
２４  ＡＣＢ獲得部
２０１  ホスト処理用ＡＣＢ
２０２  内部処理用ＡＣＢ
２０３  ホスト処理用ＡＣＢ群
２０４  内部処理用ＡＣＢ群
２０５  キューターミナル
３０  ファイル装置
３１  ディスク装置
【図１】
2005258744.tif 000003
【図２】
2005258744.tif 000004
【図３】
2005258744.tif 000005
【図４】
2005258744.tif 000006
【図５】
2005258744.tif 000007
【図６】
2005258744.tif 000008
【図７】
2005258744.tif 000009
【図８】
2005258744.tif 000010