JP3696740B2 - チャネルインタフェース再結合制御方法およびファイル制御装置 - Google Patents
チャネルインタフェース再結合制御方法およびファイル制御装置 Download PDFInfo
- Publication number
- JP3696740B2 JP3696740B2 JP34635798A JP34635798A JP3696740B2 JP 3696740 B2 JP3696740 B2 JP 3696740B2 JP 34635798 A JP34635798 A JP 34635798A JP 34635798 A JP34635798 A JP 34635798A JP 3696740 B2 JP3696740 B2 JP 3696740B2
- Authority
- JP
- Japan
- Prior art keywords
- recombination
- order
- tcb
- report
- busy
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
発明の属する技術分野
従来の技術(図23〜図46)
発明が解決しようとする課題
課題を解決するための手段
発明の実施の形態(図1〜図22)
発明の効果
【0001】
【発明の属する技術分野】
本発明は、複数の処理装置が、ファイル制御装置を介して複数のファイル記憶装置を共用する際に適用される技術に関し、特に、ある処理装置がファイル記憶装置にアクセスした際に直ちにそのファイル記憶装置にアクセスできず処理装置とファイル制御装置との間のチャネルインタフェースを一時的に非結合状態とした後、再結合要因の発生に伴ってチャネルインタフェースの再結合を制御する方法、および、この方法を実現するためのファイル制御装置に関する。
【0002】
【従来の技術】
複数の処理装置が複数のファイル記憶装置を共用する際、一般に、これらの処理装置とファイル記憶装置との間には、各処理装置からのコマンドに応じて各ファイル記憶装置に対するアクセス動作を制御するファイル制御装置がそなえられている。ここで、処理装置は、例えばCPUであり、ファイル記憶装置は、例えば磁気ディスク等のデバイス(DASD:Direct Access Storage Device)である。なお、以下、ファイル制御装置についてはFCUと略記し、ファイル記憶装置については単にデバイスと呼ぶ場合がある。
【0003】
このようにFCUをそなえたシステムにおいて、CPUは、他のCPUと共用する各デバイスのデータを読み出したり、各デバイスにデータを書き込んだりするために、まず、リザーブコマンドで他のCPUからのアクセスを排他し、デバイスの占有が確立したところで、リードコマンドあるいはライトコマンドを発行する。
【0004】
FCUは、共用デバイスであり、あるCPUがデバイスを占有すると、以降、他のCPUからのコマンドに対してデバイスビジーを報告し、他のCPUを切り離す一方、リザーブコマンドを発行したCPUからのリリースコマンドでデバイスが占有状態から解放されると、デバイスビジーを報告した他のCPU(チャネル)に再結合を行なう(リリースによるデバイスエンド割込み:第1の再結合要因)。
【0005】
また、リードコマンド処理時もしくはライトコマンド処理時に、磁気ディスクの動作(ステージング動作)を伴う場合は、FCUは、一旦、リードコマンドもしくはライトコマンドを発行したCPUの切り離しを行ない、磁気ディスクのステージング動作が終了した時点でCPU(チャネル)との再結合を行なう(ステージング完了によるデバイスエンド割込み:第2の再結合要因)。なお、ステージング動作とは、リード対象もしくはライト対象のデータがFCU内のキャッシュメモリ上に存在しない場合に、そのデータを保有するデバイスからキャッシュメモリ上へ読み出す動作である。
【0006】
ここで、図23を参照しながら、一般的なFCUの構成について説明する。図23は一般的なFCUの構成を示すブロック図で、この図23に示すように、FCU1は、複数(図23中では2台)のCPU2−0,2−1が複数(図23中では3台)のデバイス3−0〜3−2を共用すべく、これらのCPU2−0,2−1とデバイス3−0〜3−2との間にそなえられ、各CPU2−0,2−1からのコマンドに応じて各デバイス3−0〜3−2に対するアクセス動作を制御するものである。なお、2つ存在するCPUのうちの一つを特定する場合には、符号2−0,2−1を用いる一方、特定する必要のない場合には符号2を用いる。同様に、3つ存在するデバイスのうちの一つを特定する場合には、符号3−0〜3−2を用いる一方、特定する必要のない場合には符号3を用いる。
【0007】
このFCU1は、CA(Channel Adapter)11−0〜11−3,RM(Resource Manager)12,TS(Table Storage)13,CFE(Cache Function Engine)14,キャッシュメモリ15,DA(Device Adapter)16−0〜16−2,コマンドバス17およびデータバス18を有して構成されている。なお、4つ存在するCAのうちの一つを特定する場合には、符号11−0〜11−3を用いる一方、特定する必要のない場合には符号11を用いる。同様に、3つ存在するDAのうちの一つを特定する場合には、符号16−0〜16−2を用いる一方、特定する必要のない場合には符号16を用いる。
【0008】
ここで、CA11−0〜11−3は、それぞれ、チャネルインタフェースを介してCPU2−0もしくは2−1とのインタフェース制御を担当するモジュールである。なお、CPU2−0,2−1は、例えば2つのチャネル(CH)2a,2bを有しており、図23に示す例では、CPU2−0のチャネル2a,2bがそれぞれCA11−0,11−1に接続され、CPU2−1のチャネル2a,2bがそれぞれCA11−2,11−3に接続されている。
【0009】
RM12は、基本動作に関する資源管理を担当するモジュールであり、TS13は、資源管理用のテーブルとして使用されるメモリである。これらのRM12およびTS13は、図24〜図46を参照しながら後述するごとく、2つのCPU2−0,2−1のうちの一つが3つのデバイス3−0〜3−2のうちの一つにアクセスした際に直ちにそのCPU2がデバイス3にアクセスできずそのCPU2との間のチャネルインタフェースを一時的に非結合状態とした後、再結合要因の発生に伴ってチャネルインタフェースの再結合を制御する制御部として機能する。
【0010】
また、CFE14は、キャッシュメモリ15の管理を担当するモジュールであり、DA16−0〜16−2は、それぞれ、磁気ディスク等のデバイス3−0〜3−2とのインタフェース制御を担当するモジュールである。
さらに、コマンドバス17は、CA11,RM12,CFE14,DA16の間でコマンドのやり取りを行なうためのものであり、データバス18は、CA11,CFE14,キャッシュメモリ15,DA16の間でデータのやり取りを行なうためのものである。
【0011】
ついで、図24〜図29を参照しながら、チャネルインタフェースの再結合を制御するRM12およびTS13の機能的な構成について説明する。図24は従来のRM12/TS13の機能的な構成を示すブロック図、図25〜図29はそれぞれリザーブ管理テーブル31,デバイスビジー報告管理テーブル32,デバイスエンド報告管理テーブル33,タスク制御ブロック(TBC)34およびステージング完了報告管理テーブル(キュー)35を説明するための図である。
【0012】
図24に示すように、TS13は、リザーブ管理テーブル31,デバイスビジー報告管理テーブル32,デバイスエンド報告管理テーブル33,TCB34およびステージング完了報告管理テーブル35を保持するものであり、RM12は、TS13のデバイスビジー報告管理テーブル32およびデバイスエンド報告管理テーブル33を用いて、前述した第1の再結合要因の発生時に再結合処理を実行する機構(デバイスリリースによる再結合機構)として機能する。また、RM12は、TS13のステージング完了報告管理テーブル35を用いて、前述した第2の再結合要因の発生時に再結合処理を実行する機構(ステージング完了による再結合機構)としても機能する。
【0013】
リザーブ管理テーブル31は、図25に示すように構成され、CPU2により占有されているデバイス3を管理するためのものである。なお、テーブル31において、“CA0”〜“CA3”はそれぞれCA11−0〜CA11−3に対応し、デバイス番号0〜2はそれぞれデバイス3−0〜3−2に対応している。例えば、CPU2−0のチャネル2aからデバイス3−0に対するリザーブコマンドが発行され、デバイス3−0を占有することができた場合、RM12は、テーブル31における“CA0”とデバイス番号0との交点位置に“1”を設定する(図36参照)。
【0014】
デバイスビジー報告管理テーブル32は、図26に示すように構成され、RM12がCA11を通じてデバイスビジーを報告したCPU2と、そのCPU2が占有しようとしたデバイス3とを管理するためのものである。なお、テーブル32においても、“CA0”〜“CA3”はそれぞれCA11−0〜CA11−3に対応し、デバイス番号0〜2はそれぞれデバイス3−0〜3−2に対応している。例えば、前述のごとくCPU2−0がチャネル2a(CA11−0)を通じてデバイス3−0を占有している状態で、CPU2−1のチャネル2a(CA11−2)を通じてデバイス3−0に対するリザーブコマンドが発行された場合、RM12は、デバイスビジー報告を行なってからCPU2−1のチャネル2aを切り離すようにCA11−2を制御するとともに、テーブル32における“CA2”とデバイス番号0との交点位置に“1”を設定する(図38参照)。
【0015】
デバイスエンド報告管理テーブル33は、図27に示すように構成され、RA12がCA11を通じてデバイスエンドを報告すべきCPU2を管理するためのものである。なお、テーブル33においても、“CA0”〜“CA3”はそれぞれCA11−0〜CA11−3に対応し、デバイス番号0〜2はそれぞれデバイス3−0〜3−2に対応している。例えば、前述のごとくデバイスビジーが報告されCPU2−1のチャネル2aが切り離された後にCPU2−0がチャネル2a(CA11−0)を通じてデバイス3−0に対するリリースコマンドが発行されると、RM12(再結合機構21)は、リザーブ管理テーブル31の登録を抹消するとともに、デバイスビジー報告管理テーブル32を参照して占有から解放されたデバイス3についてデバイスビジー報告を行なったCPU2が存在するか否かを確認し、存在する場合、デバイスビジー報告管理テーブル32のデータをデバイスエンド報告管理テーブル33にコピーし、デバイスビジー報告管理テーブル32の登録を抹消する。これにより、テーブル33における“CA2”とデバイス番号0との交点位置に“1”が設定される(図44参照)。RM12(再結合機構21)は、デバイスエンド報告管理テーブル33を参照し、図34にて後述するタイミングで、CPU2−1のチャネル2aとの再結合を行なうようにCA11−2を制御し、デバイスエンド報告を行なう。
【0016】
TCB34は、図28に示すように構成され、RM12がコマンドに応じたタスクを実行する毎に作成され、そのタスクを終了する際に削除されるもので、そのタスクに関連する情報等を含み、タスクの制御に用いられる。このTCB34には、CPU2からのコマンドの内容(種別)と、そのコマンドを受け付けたCA11の番号と、そのコマンドの対象であるデバイス3の番号と、再結合要因とが、タスク毎にタスク番号を付して保持される。ここで、再結合要因としては、リードコマンド/ライトコマンドの処理時にステージング動作に移行した後にそのステージング動作を完了した旨(つまり第2の再結合要因が発生した旨)が保持される。より具体的に、ステージング動作の完了時には、RM12により、TCB34の再結合要因として例えば“1”がセットされる。
【0017】
ステージング完了報告管理テーブル35は、図29に示すように構成され、ステージング完了に伴って再結合処理を行なうべきタスクのTCB番号を管理するためのもので、このテーブル35には、前述のごとくステージング動作の完了に伴い再結合要因をセットされたタスクのTCB番号が、RM12により再結合順序で登録される(図46参照)。RM12(再結合機構22)は、ステージング完了報告管理テーブル35を参照し、図34にて後述するタイミングで、ステージング完了に伴う再結合処理を行なう。
【0018】
次に、上述のようなRM12およびTS13の詳細な動作について、図30〜図46を参照しながら説明する。
まず、図30〜図34に示すフローチャートに従って、RM12およびTS13の動作の流れについて説明する。
図30は、RM12がリザーブコマンドを受けた場合の動作を説明するためのフローチャートであり、この図30に示すように、RM12は、リザーブコマンドを受けるとそのリザーブコマンドについてのTCB34を作成してから(ステップA11)、リザーブ管理テーブル31を参照して、そのリザーブコマンドの対象デバイス3が他のCPU2(他パス,他チャネル)からリザーブされているか否かを判断する(ステップA12)。
【0019】
他パスからリザーブされていない場合(ステップA12のNOルート)、RM12は、リザーブコマンドの対象であるデバイス3についてリザーブ処理を行なってから(ステップA13)、そのリザーブコマンドについてのTCB34を削除する(ステップA15)。なお、リザーブ処理に際して、RM12は、リザーブ管理テーブル31において、リザーブ対象のデバイス3のデバイス番号とリザーブコマンドを受け付けたCA11との交点位置に“1”をセットする。
【0020】
一方、リザーブコマンドの対象デバイス3が他パスからリザーブされている場合(ステップA12のYESルート)、RM12は、デバイスビジー報告管理テーブル38にそのリザーブコマンドについて登録し、リザーブコマンド発行元のCPU2に対してデバイスビジー報告を行なってからそのCPU2のチャネルインタフェースを切り離すようにCA11を制御する(ステップA14)。この後、RM12は、そのリザーブコマンドについてのTCB34を削除する(ステップA15)。
【0021】
図31は、RM12がリリースコマンドを受けた場合の動作を説明するためのフローチャートであり、この図31に示すように、RM12は、デバイス3を占有していたCPU2からリリースコマンドを受けると、そのリリースコマンドについてのTCB34を作成してから(ステップA21)、リザーブ管理テーブル31から対応する登録(“1”の設定)を抹消し、デバイスビジー報告管理テーブル32に、占有を解放するデバイス3についてデバイスビジー報告を行なった旨が登録されている場合、そのデバイスビジー報告管理テーブル32の登録情報をデバイスエンド報告管理テーブル33へ移動する(ステップA22)。この後、RM12は、そのリリースコマンドについてのTCB34を削除する(ステップA23)。
【0022】
図32は、RM12がリードコマンドを受けた場合の動作を説明するためのフローチャートであり、この図32に示すように、RM12は、デバイス3を占有しているCPU2からリードコマンドを受けると、そのリードコマンドについてのTCB34を作成してから(ステップA31)、CFE14を介してキャッシュメモリ15上にリード対象のデータが存在するか否かを判断する(ステップA32)。
【0023】
キャッシュメモリ15上にリード対象のデータが存在する場合(ステップA32のYESルート)、RM12は、そのデータをCA11からCPU2へ転送してから(ステップA33)、そのリードコマンドについてのTCB34を削除する(ステップA34)。
一方、キャッシュメモリ15上にリード対象のデータが存在しない場合(ステップA32のNOルート)、RM12は、CA11からCPU2にチャネルエンドを報告し、DA16にデバイス3に対するステージングを依頼し、図33にて説明するステージング完了報告待ち処理へ移行する(ステップA35)。このとき、リードコマンドについてのTCB34は削除されることなく保持される。
【0024】
図33は、RM12のステージング完了報告待ち処理を説明するためのフローチャートであり、この図33に示すように、RM12は、ステージングを依頼したDA16からのステージング完了報告を待機し(ステップA41)、そのDA16からステージング完了報告を受けると(ステップA41のYESルート)、対応するリードコマンドについてのTCB34の再結合要因を“ステージング完了”つまり“1”に設定する(ステップA42)。
【0025】
そして、RM12は、ステップA42にて再結合要因をセットしたタスクのTCB番号を、ステージング完了報告管理テーブル35に登録して(ステップA43)、ステージング動作で読み出されたデータが、図34にて後述するアイドルループに従って、CA11によりCPU2へ転送されるのを待機し(ステップA44)、CA11がそのデータの転送を完了すると(ステップA44のYESルート)、ステージング完了報告待ちであったリードコマンドについてのTCB34を削除する(ステップA45)。
【0026】
図34は、RM12のアイドルループによる処理を説明するためのフローチャートであり、この図34に示すように、RM12は、常時、アイドルループにより、ステージング完了報告管理テーブル35にTCB番号が登録されているか否か、即ち第2の再結合要因が発生しているか否かを判断した後(ステップA51)、デバイスエンド報告管理テーブル33に登録情報があるか否か、即ち第1の再結合要因が発生しているか否かを判断している(ステップA53)。
【0027】
従来、後述する理由により、ステージング完了による再結合が、デバイスリリースによる再結合よりも優先的に行なわれており、ステージング完了報告管理テーブル35にTCB番号が登録されている場合(ステップA51のYESルート)、RM12は、そのTCB番号のTCB34を参照し、対応するCPU2との再結合を行ないそのCPU2に対してステージング完了報告を行なうようにCA11に依頼し、そのTCB番号をステージング完了報告管理テーブル35から削除する(ステップA52)。
【0028】
ステージング完了報告管理テーブル35に複数のTCB番号が登録されている場合には、全てのTCB番号について上述のような再結合処理が行なわれ、ステージング完了報告管理テーブル35に登録されているTCB番号が無くなると(ステップA51のNOルート)、デバイスエンド報告管理テーブル33における登録情報の有無を判断し、登録情報が有る場合(ステップA53のYESルート)、RM12は、その登録情報を参照し、対応するCPU2との再結合を行ないそのCPU2に対してデバイスエンド報告を行なうようにCA11に依頼し、その登録情報をデバイスエンド報告管理テーブル33から削除する(ステップA54)。
【0029】
ついで、テーブル31〜33,35およびTCB34への具体的な登録内容について、図35〜図46を参照しながら説明する。
例えば、全てのテーブル31〜33,35およびTCB34に何も登録されていない状態で、CPU2−0のチャネル2aからデバイス3−0に対するリザーブコマンドが発行されてくると、図35に示すようにTCB34のTCB番号1に、デバイス番号として“0”が、CA番号として“0”が、コマンドとして“リザーブ”が登録される。このとき、未だどのデバイス3もリザーブされていないので、デバイス3−0のリザーブ処理が実行され、図36に示すように、リザーブ管理テーブル31のデバイス番号0と“CA0”との交点位置に“1”がセットされることになる。この後、図35に示すごとく作成されたTCB番号1のTCB34は削除される。
【0030】
上述のようにCPU2−0がチャネル2a(CA11−0)を通じてデバイス3−0を占有している状態で、CPU2−1のチャネル2a(CA11−2)を通じてデバイス3−0に対するリザーブコマンドが発行されてくると、まず、図37に示すようにTCB34のTCB番号1に、デバイス番号として“0”が、CA番号として“2”が、コマンドとして“リザーブ”が登録される。そして、デバイス3−0がCPU2−0により既に占有されているので、CPU2−1に対してデバイスビジーを報告してCPU2−1のチャネルインタフェースを切り離すとともに、図38に示すように、デバイスビジー報告管理テーブル32の“CA2”とデバイス番号0との交点位置に“1”が設定されることになる。この後、図37に示すごとく作成されたTCB番号1のTCB34は削除される。
【0031】
続いて、CPU2−1がデバイス3−1のデータをリードする場合、まず、CPU2−1のチャネル2aからデバイス3−1に対するリザーブコマンドが発行され、図39に示すようにTCB34のTCB番号1に、デバイス番号として“1”が、CA番号として“3”が、コマンドとして“リザーブ”が登録される。このとき、デバイス3−1はリザーブされていないので、デバイス3−1のリザーブ処理が実行され、図40に示すように、リザーブ管理テーブル31のデバイス番号1と“CA3”との交点位置に“1”がセットされることになる。この後、図39に示すごとく作成されたTCB番号1のTCB34は削除される。
【0032】
このようにして、デバイス3−1をリザーブしたCPU2−1がリードコマンドを発行すると、図41に示すようにTCB34のTCB番号1に、デバイス番号として“1”が、CA番号として“3”が、コマンドとして“リード”が登録される。このとき、リード対象のデータがキャッシュメモリ15上に存在しなければ、デバイス3−1に対するステージング動作が開始される。その間、リードコマンドについてのTCB34は削除されることなく保持される。
【0033】
このような状態で、デバイス3−0をリザーブしたCPU2−0がCA11−0を通じてリリースコマンドを発行すると、図42に示すようにTCB34のTCB番号2に、デバイス番号として“0”が、CA番号として“0”が、コマンドとして“リリース”が登録される。そして、図43に示すように、リザーブ管理テーブル31から、デバイス番号0と“CA0”との交点位置にセットされた“1”が削除されるとともに、図44に示すように、デバイスビジー報告管理テーブル32の登録情報がデバイスエンド報告管理テーブル33へ移動された後、図42に示すごとく作成されたTCB番号2のTCB34は削除される。
【0034】
一方、ステージング動作を完了すると、図45に示すように、TCB番号1のTCB34における再結合要因が“ステージング完了”(実際には“1”)に設定されるとともに、図46に示すように、そのTCB番号1がステージング完了報告管理テーブル35に登録される。
そして、RM12は、図34にて説明したアイドルループで、ステージング完了報告管理テーブル35およびデバイスエンド報告管理テーブル33を監視し、ステージング完了報告管理テーブル35に図46に示すごとくTCB番号1が登録されていることを認識すると、TCB番号1のTCB34を参照し、CA11−3にステージング完了報告を依頼した後、ステージング完了報告管理テーブル35からTCB番号1を削除するとともに、TCB番号1のTCB34を削除する。
【0035】
また、RM12は、ステージング完了報告管理テーブル35に登録情報が無ければ、デバイスエンド報告管理テーブル33を参照し、例えば図46に示すような情報が登録されていれば、その情報に基づいて、CA11−2に、デバイス3−0についてのデバイスエンド報告を依頼した後、デバイスエンド報告管理テーブル33からその登録情報を削除する。
【0036】
【発明が解決しようとする課題】
ところで、通常、リードコマンドを受けてステージング動作に移行した場合、FCU1は、リードコマンドを発行したCPU2に対してチャネルエンドを報告してそのCPU2を一時的に切り離し、CPU2は、ステージング完了報告待ちとなる。このステージング完了報告待ちの状態は、CPU2にとって1つのI/O処理の完了待ちの状態であり、ステージング動作は比較的短時間で完了するので、それに応じた所定時間(例えば30秒程度)の時間監視が行なわれ、所定時間を超えるとリセット処理が行なわれる。
【0037】
これに対し、あるCPU2のアクセスしたデバイス3が他のCPU2により占有されているためにFCU1がデバイスビジー報告を行ないそのCPU2を一時的に切り離しCPU2がデバイスエンド報告待ちとなった場合、デバイス3が占有される時間は比較的長いため、それに応じた所定時間(例えば3分程度)の時間監視が行なわれ、所定時間を超えるとリセット処理が行なわれる。
【0038】
上述のように、ステージング動作の方がデバイス3の占有よりもかなり短時間で完了するため、また、FCU1とステージング完了報告待ちのCPU2との間はチャネルエンドの状態で切り離されており必ず再結合する必要があるため、従来、ステージング完了報告とデバイスエンド報告とは別々に管理され、ステージング完了による再結合(ステージング完了報告)は、デバイスリリースによる再結合(デバイスエンド報告)よりも優先的に行なわれている。
【0039】
しかし、近年、FCU1により管理されるべきデバイス3の数が極めて増大しており(例えば256台)、このような場合、多数のデバイス3に対するリード処理が同時に行なわれて多数のステージング動作が同時に行なわれることがあるため、ステージング完了報告が増加し、ステージング完了報告管理テーブル35に複数のTCB番号が登録されている状況が多々生じる。このような状況下では、前述した通り、ステージング完了報告管理テーブル35に登録されているTCB番号が無くなるまで、デバイスエンド報告に優先してステージング完了報告が行なわれることになり、いつまで経ってもデバイスエンド報告を行なえない状況が生じてしまう。
【0040】
そこで、何回かに1回はデバイスエンド報告をステージング完了報告に優先して行なうように切り替えることも考えられるが、FCU1は、デバイスリリースによる再結合順序(デバイスエンド報告を行なう順序)を認識していないため、特定のデバイス3に対するリザーブ/リリースが多発していると、そのデバイス3についてのデバイスエンド報告だけどうしても遅れがちになり、CPU2へのデバイスエンド報告を行なうことの可能なデバイス3に偏りが生じる。
【0041】
本発明は、このような課題に鑑み創案されたもので、再結合要因の種類によることなく再結合要因の発生順に再結合処理を行なえるようにして、リリースによるデバイスエンド報告およびステージング完了報告をいずれも遅延・沈み込ませることなく実行可能にした、チャネルインタフェース再結合制御方法およびファイル制御装置を提供することを目的とする。
【0042】
【課題を解決するための手段】
上記目的を達成するために、本発明のチャネルインタフェース再結合制御方法(請求項1)は、複数の処理装置が複数のファイル記憶装置を共用すべく、これらの処理装置とファイル記憶装置との間に、各処理装置からのコマンドに応じて各ファイル記憶装置に対するアクセス動作を制御するファイル制御装置をそなえたシステムにおいて、複数の処理装置のうちの一の処理装置が複数のファイル記憶装置のうちの一つにアクセスした際に、ファイル記憶装置が複数の処理装置のうちの他の処理装置により占有されているために一の処理装置がファイル記憶装置にアクセスできない場合には、一の処理装置に対してビジー報告を行なって一の処理装置とファイル記憶装置との間のチャネルインタフェースを一時的に非結合状態とした後に、ファイル記憶装置が他の処理装置から解放されたことによる第1の再結合要因の発生に伴って前記チャネルインタフェースの再結合を制御する一方、一の処理装置からのコマンドに応じてファイル記憶装置がステージング動作へ移行した場合には、一の処理装置とファイル記憶装置との間のチャネルインタフェースを一時的に非結合状態とした後に、前記ステージング動作を完了したことによる第2の再結合要因の発生に伴って前記チャネルインタフェースの再結合を制御する方法であって、前記ビジー報告を行なった状態及び前記ステージング動作の完了待ち状態をタスク制御ブロックにより管理し、前記第1の再結合要因もしく前記第2の再結合要因の発生時に当該再結合要因に係わる該タスク制御ブロックの番号を用いて前記第1の再結合要因及び前記第2の再結合要因の発生順序を記憶し、記憶した前記発生順序に従って、前記第1の再結合要因もしくは前記第2の再結合要因に係わる処理装置と該ファイル制御装置との間の前記チャネルインタフェースを再結合することを特徴としている。
【0043】
このとき、前記ビジー報告を行なった場合には、当該ビジー報告に対応するタスク制御ブロックの番号を用いて前記ビジー報告を行なった順序を記憶し、前記第1の再結合要因の発生時には、前記ビジー報告を行なった順序に基づいて、前記再結合要因の発生順序を記憶することが好ましい(請求項2)。
【0044】
一方、本発明のファイル制御装置(請求項3)は、複数の処理装置が複数のファイル記憶装置を共用すべく、これらの処理装置とファイル記憶装置との間にそなえられ、各処理装置からのコマンドに応じて各ファイル記憶装置に対するアクセス動作を制御するものであって、複数の処理装置のうちの一の処理装置が複数のファイル記憶装置のうちの一つにアクセスした際に、ファイル記憶装置が複数の処理装置のうちの他の処理装置により占有されているために一の処理装置が該ファイル記憶装置にアクセスできない場合には、一の処理装置に対してビジー報告を行なって一の処理装置とファイル記憶装置との間のチャネルインタフェースを一時的に非結合状態とした後に、ファイル記憶装置が他の処理装置から解放されたことによる第1の再結合要因の発生に伴って前記チャネルインタフェースの再結合を制御する一方、一の処理装置からのコマンドに応じてファイル記憶装置がステージング動作へ移行した場合には、一の処理装置とファイル記憶装置との間のチャネルインタフェースを一時的に非結合状態とした後に、前記ステージング動作を完了したことによる第2の再結合要因の発生に伴って前記チャネルインタフェースの再結合を制御する制御部と、前記再結合要因の発生順序を記憶する発生順序記憶部とをそなえ、制御部が、前記ビジー報告を行なった状態及び前記ステージング動作の完了待ち状態をタスク制御ブロックにより管理し、前記第1の再結合要因もしくは第2の再結合要因の発生時に当該再結合要因に係わるタスク制御ブロックの番号を発生順序記憶部に登録することにより、前記第1の再結合要因及び前記第2の再結合要因の発生を監視してその発生順序を発生順序記憶部に記憶させるとともに、発生順序記憶部に記憶された前記発生順序に従って前記第1の再結合要因もしくは前記第2の再結合要因に係わる処理装置との間の前記チャネルインタフェースを再結合させることを特徴としている。
【0046】
また、制御部が、他の処理装置からリリースコマンドを受けた場合に前記第1の再結合要因が発生したものと判断し、発生順序記憶部に対する登録を行なってもよい(請求項4)。
なお、前記ビジー報告を行なった順序を記憶するビジー報告順序記憶部をそなえ、制御部が、前記ビジー報告を行なった場合には、当該ビジー報告に対応するタスク制御ブロックの番号をビジー報告順序記憶部に記憶させることにより、ビジー報告順序記憶部に前記ビジー報告を行なった順序を記憶させ、前記第1の再結合要因の発生時には、ビジー報告順序記憶部に記録された前記ビジー報告を行なった順序に基づいて、発生順序記憶部に当該第1の再結合要因に係わるタスク制御ブロックの番号を発生順序記憶部に登録してもよい(請求項5)。
【0047】
さらに、制御部が、前記ステージング動作の完了報告を受けた場合に前記第2の再結合要因が発生したものと判断し、発生順序記憶部に対する登録を行なってもよい(請求項6)。
【0048】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。
図2は本実施形態のファイル制御装置(FCU)の構成を示すブロック図であり、この図2に示すように、本実施形態のFCU1Aは、図23に示したFCU1と同様、複数(図2中では2台)のCPU2−0,2−1が複数(図2中では3台)のデバイス3−0〜3−2を共用すべく、これらのCPU2−0,2−1とデバイス3−0〜3−2との間にそなえられ、各CPU2−0,2−1からのコマンドに応じて各デバイス3−0〜3−2に対するアクセス動作を制御するものである。なお、2つ存在するCPUのうちの一つを特定する場合には、符号2−0,2−1を用いる一方、特定する必要のない場合には符号2を用いる。同様に、3つ存在するデバイスのうちの一つを特定する場合には、符号3−0〜3−2を用いる一方、特定する必要のない場合には符号3を用いる。
【0049】
このFCU1Aは、CA(Channel Adapter)11−0〜11−3,RM(Resource Manager)12A,TS(Table Storage)13B,CFE(Cache Function Engine)14,キャッシュメモリ15,DA(Device Adapter)16−0〜16−2,コマンドバス17およびデータバス18を有して構成されている。なお、4つ存在するCAのうちの一つを特定する場合には、符号11−0〜11−3を用いる一方、特定する必要のない場合には符号11を用いる。同様に、3つ存在するDAのうちの一つを特定する場合には、符号16−0〜16−2を用いる一方、特定する必要のない場合には符号16を用いる。
【0050】
ここで、CA11−0〜11−3は、それぞれ、チャネルインタフェースを介してCPU2−0もしくは2−1とのインタフェース制御を担当するモジュールである。なお、CPU2−0,2−1は、例えば2つのチャネル(CH)2a,2bを有しており、図2に示す例では、CPU2−0のチャネル2a,2bがそれぞれCA11−0,11−1に接続され、CPU2−1のチャネル2a,2bがそれぞれCA11−2,11−3に接続されている。
【0051】
RM12Aは、基本動作に関する資源管理を担当するモジュールであり、TS13Aは、資源管理用のテーブルとして使用されるメモリである。これらのRM12AおよびTS13Aは、図1および図3〜図22を参照しながら後述するごとく、2つのCPU2−0,2−1のうちの一つが3つのデバイス3−0〜3−2のうちの一つにアクセスした際に直ちにそのCPU2がデバイス3にアクセスできずそのCPU2との間のチャネルインタフェースを一時的に非結合状態とした後、再結合要因の発生に伴ってチャネルインタフェースの再結合を制御する制御部として機能する。
【0052】
また、CFE14は、キャッシュメモリ15の管理を担当するモジュールであり、DA16−0〜16−2は、それぞれ、磁気ディスク等のデバイス3−0〜3−2とのインタフェース制御を担当するモジュールである。
さらに、コマンドバス17は、CA11,RM12A,CFE14,DA16の間でコマンドのやり取りを行なうためのものであり、データバス18は、CA11,CFE14,キャッシュメモリ15,DA16の間でデータのやり取りを行なうためのものである。
【0053】
そして、本実施形態のFCU1Aも、CPU2の共用デバイスであり、あるCPU2がデバイス3を占有すると、以降、他のCPU2からのコマンドに対してデバイスビジーを報告し、他のCPU2を切り離す一方、リザーブコマンドを発行したCPU2からのリリースコマンドでデバイスが占有状態から解放されると、デバイスビジーを報告した他のCPU2に再結合を行なう(リリースによるデバイスエンド割込み:第1の再結合要因)。
【0054】
また、リードコマンド処理時もしくはライトコマンド処理時に、デバイス3の動作(ステージング動作)を伴う場合は、FCU1Aは、一旦、リードコマンドもしくはライトコマンドを発行したCPU2の切り離しを行ない、デバイス3のステージング動作が終了した時点でCPU2との再結合を行なう(ステージング完了によるデバイスエンド割込み:第2の再結合要因)。
【0055】
ついで、図1および図3〜図6を参照しながら、本実施形態のFCU1Aにおいて、チャネルインタフェースの再結合を制御するRM12AおよびTS13Aの機能的な構成について説明する。図1は、本発明の一実施形態としてのFCU1AにおけるRM12A/TS13Aの機能的な構成を示すブロック図、図3〜図6はそれぞれリザーブ管理テーブル41,デバイスビジー報告管理テーブル42,TBC43および再結合管理テーブル44を説明するための図である。
【0056】
図1に示すように、本実施形態のTS13Aは、リザーブ管理テーブル41,デバイスビジー報告管理テーブル42,TBC43および再結合管理テーブル44を保持するものである。また、本実施形態のRM12Aは、TS13Aのデバイスビジー報告管理テーブル42および再結合管理テーブル44を用いて、前述した第1の再結合要因および第2の再結合要因の発生時に再結合処理を実行する機構(ステージング完了/デバイスリリースによる再結合機構)20として機能する。
【0057】
リザーブ管理テーブル41は、図3に示すように構成され、図25に示したテーブル31と同様、CPU2により占有されているデバイス3を管理するためのものである。なお、テーブル41において、“CA0”〜“CA3”はそれぞれCA11−0〜CA11−3に対応し、デバイス番号0〜2はそれぞれデバイス3−0〜3−2に対応している。例えば、CPU2−0のチャネル2aからデバイス3−0に対するリザーブコマンドが発行され、デバイス3−0を占有することができた場合、RM12Aは、テーブル41における“CA0”とデバイス番号0との交点位置に“1”を設定する(図13参照)。
【0058】
TBC43は、図5に示すように構成され、図28に示したTCB34とほぼ同様、RM12Aがコマンドに応じたタスクを実行する毎に作成され、そのタスクを終了する際に削除されるもので、そのタスクに関連する情報等を含み、タスクの制御に用いられる。このTCB43には、CPU2からのコマンドの内容(種別)と、そのコマンドを受け付けたCA11の番号と、そのコマンドの対象であるデバイス3の番号と、再結合状態とがタスク毎にタスク番号を付して保持される。
【0059】
ここで、本実施形態のTCB43の再結合状態には、RM12Aがコマンドの発行元CPU2に対してデバイスビジーを報告した場合(第1の再結合要因で再結合すべき場合)に“ビジー”情報がセットされ(図14参照)、リードコマンド/ライトコマンドの処理時にステージング動作に移行した場合(第2の再結合要因で再結合すべき場合)に“ステージング待ち”情報がセットされ(図18,図19参照)、ステージング動作移行後にそのステージング動作を完了した場合(第2の再結合要因の発生時)に“ステージング完了”情報がセットされる(図21参照)。
【0060】
本実施形態では、上述のごとく、RM12Aがコマンドの発行元CPU2に対してデバイスビジー報告を行なった場合、その旨が再結合状態としてTCB43に保持される。そして、デバイスビジー報告を行なった場合、そのデバイスビジー報告に係るコマンドについてのTCB43は、従来、デバイスビジー報告後に削除されていたが、本実施形態では、デバイスリリースに伴ってデバイスエンド報告が行なわれるまで保持される。
【0061】
つまり、本実施形態のRM12Aは、デバイスビジー報告を行なった状態およびステージング動作の完了待ち状態を、TCB43により管理している。
デバイスビジー報告管理テーブル(キュー)42は、図4に示すように構成され、RM12Aがデバイスビジー報告を行なった順序を記憶するビジー報告順序記憶部として機能するものである。なお、テーブル42においても、デバイス番号0〜2はそれぞれデバイス3−0〜3−2に対応している。例えば、前述のごとくCPU2−0がチャネル2a(CA11−0)を通じてデバイス3−0を占有している状態で、CPU2−1のチャネル2a(CA11−2)を通じてデバイス3−0に対するリザーブコマンドが発行された場合、RM12Aは、デバイスビジー報告を行なってからCPU2−1のチャネル2aを切り離すようにCA11−2を制御するとともに、テーブル42におけるデバイス番号0の“1番目にビジーを報告したTCB番号”の欄に、そのリザーブコマンドが登録されているTCB43のTCB番号を登録する(図15参照)。図4に示すテーブル42には、デバイス3毎に、最大N個のTCB番号をデバイスビジー報告順に登録することができるようになっている。
【0062】
再結合管理テーブル(キュー:発生順序記憶部)44は、図6に示すように構成され、再結合要因の発生順序を記憶する発生順序記憶部として機能するものである。本実施形態のRM12Aは、前述した第1および第2の再結合要因の発生を監視してその発生順序を再結合管理テーブル44に記憶させるとともに、この再結合管理テーブル44に記憶された発生順序に従って各再結合要因に係わるCPU2との間のチャネルインタフェースを再結合させるようにCA11を制御する。
【0063】
より具体的に、RM12Aは、CPU2からリリースコマンドを受けた場合に第1の再結合要因が発生したものと判断し、その第1の再結合要因に係るTCB番号を再結合管理テーブル44に登録する一方、ステージング動作の完了報告を受けた場合に第2の再結合要因が発生したものと判断し、その第2の再結合要因に係るTCB番号を再結合管理テーブル44に登録する。これにより、再結合管理テーブル44には、再結合要因の種別に関係なく、第1および第2の再結合要因の発生した順序がTCB番号で登録・記憶されることになる。
【0064】
次に、上述した本実施形態のFCU1AにおけるRM12AおよびTS13Aの詳細な動作について、図7〜図22を参照しながら説明する。
まず、図7〜図11に示すフローチャートに従って、RM12AおよびTS13Aの動作の流れについて説明する。
図7は、RM12Aがリザーブコマンドを受けた場合の動作を説明するためのフローチャートであり、この図7に示すように、RM12Aは、リザーブコマンドを受けるとそのリザーブコマンドについてのTCB43を作成してから(ステップS11)、リザーブ管理テーブル41を参照して、そのリザーブコマンドの対象デバイス3が他のCPU2(他パス,他チャネル)からリザーブされているか否かを判断する(ステップS12)。
【0065】
他パスからリザーブされていない場合(ステップS12のNOルート)、RM12Aは、リザーブコマンドの対象であるデバイス3についてリザーブ処理を行なってから(ステップS13)、そのリザーブコマンドについてのTCB34を削除する(ステップS14)。なお、リザーブ処理に際して、RM12Aは、リザーブ管理テーブル41において、リザーブ対象のデバイス3のデバイス番号とリザーブコマンドを受け付けたCA11との交点位置に“1”をセットする。
【0066】
一方、リザーブコマンドの対象デバイス3が他パスからリザーブされている場合(ステップS12のYESルート)、RM12Aは、TCB43の再結合状態の欄に“ビジー”を登録し、ステップS11で作成したTCB43の番号(TCB番号)を、デバイスビジー報告管理テーブル42における、リザーブコマンドの対象デバイス3に対応するデバイス番号の欄にビジー報告順に登録し、リザーブコマンド発行元のCPU2に対してデバイスビジー報告を行なってからそのCPU2のチャネルインタフェースを切り離すようにCA11を制御する(ステップS15)。このとき、RM12Aは従来のごとくTCB43を削除せず、そのTCB43は、デバイスリリースに伴ってデバイスエンド報告が行なわれるまで保持される。
【0067】
図8は、RM12Aがリリースコマンドを受けた場合の動作を説明するためのフローチャートであり、この図8に示すように、RM12Aは、デバイス3を占有していたCPU2からリリースコマンドを受けると、そのリリースコマンドについてのTCB43を作成してから(ステップS21)、リザーブ管理テーブル41から対応する登録(“1”の設定)を抹消し、デバイスビジー報告管理テーブル42に、占有を解放するデバイス3についてTCB番号が登録されている場合、そのTCB番号を再結合管理テーブル44に登録する(ステップS22)。このとき、複数のTCB番号が登録されている場合には、その登録順序に従ってTCB番号を再結合管理テーブル44に登録する。この後、RM12Aは、そのリリースコマンドについてのTCB43を削除する(ステップS23)。
【0068】
図9は、RM12Aがリードコマンドを受けた場合の動作を説明するためのフローチャートであり、この図9に示すように、RM12Aは、デバイス3を占有しているCPU2からリードコマンドを受けると、そのリードコマンドについてのTCB43を作成してから(ステップS31)、CFE14を介してキャッシュメモリ15上にリード対象のデータが存在するか否かを判断する(ステップS32)。
【0069】
キャッシュメモリ15上にリード対象のデータが存在する場合(ステップS32のYESルート)、RM12Aは、そのデータをCA11からCPU2へ転送してから(ステップS33)、そのリードコマンドについてのTCB43を削除する(ステップS34)。
一方、キャッシュメモリ15上にリード対象のデータが存在しない場合(ステップS32のNOルート)、RM12Aは、CA11からCPU2にチャネルエンドを報告し、DA16にデバイス3に対するステージングを依頼し、図10にて説明するステージング完了報告待ち処理へ移行するとともに、TCB43の再結合状態の欄に“ステージング待ち”を登録する(ステップS35)。このとき、リードコマンドについてのTCB43を削除されることなく保持される。
【0070】
図10は、RM12Aのステージング完了報告待ち処理を説明するためのフローチャートであり、この図10に示すように、RM12Aは、ステージングを依頼したDA16からのステージング完了報告を待機し(ステップS41)、そのDA16からステージング完了報告を受けると(ステップS41のYESルート)、対応するリードコマンドについてのTCB43の再結合状態を“ステージング待ち”から“ステージング完了”に設定する(ステップS42)。
【0071】
そして、RM12Aは、ステップS42にて再結合状態を“ステージング完了”にセットしたタスクのTCB番号を、再結合管理テーブル44に登録し(ステップS43)、ステージング動作で読み出されたデータが、図11にて後述するアイドルループに従って再結合されてCA11によりCPU2へ転送されるのを待機し(ステップS44)、CA11がそのデータの転送を完了すると(ステップS44のYESルート)、ステージング完了報告待ちであったリードコマンドについてのTCB43を削除する(ステップS45)。
【0072】
図11は、RM12Aのアイドルループによる処理を説明するためのフローチャートであり、この図11に示すように、RM12Aは、常時、アイドルループにより、再結合管理テーブル44にTCB番号が登録されているか否か、即ち第1もしくは第2の再結合要因が発生しているか否かを判断している(ステップS53)。
【0073】
再結合管理テーブル44にTCB番号が登録されている場合(ステップS51のYESルート)、RM12Aは、そのTCB番号のTCB43を参照し、対応するCPU2との再結合を行ないそのCPU2に対して再結合状態に応じた処理を行なうようにCA11に依頼する(ステップS52)。ここで、再結合状態が“ビジー”である場合、RM12Aは、CA11に、CPU2に対しデバイスエンドを報告させる一方、再結合状態が“ステージング完了”である場合、RM12Aは、CA11に、CPU2に対しステージング完了を報告させリードデータの転送を行なわせる。
【0074】
そして、ステップS52で行なわれた再結合がデバイスリリース(第1の再結合要因)によるものであるか否かを判断し(ステップS53)、デバイスリリースによるものである場合(ステップS53のYESルート)、対応するTCB43を削除する(ステップS54)。一方、デバイスリリースによるものではない場合(ステージング完了による再結合の場合;ステップS53のNOルート)、TCB43の削除は図10のステップS45で行なわれているので、何も行なうことなく、ステップS51へ戻る。
【0075】
ついで、テーブル41,43,44およびTCB43への具体的な登録内容について、図12〜図22を参照しながら説明する。
例えば、全てのテーブル41,42,44およびTCB43に何も登録されていない状態で、CPU2−0のチャネル2aからデバイス3−0に対するリザーブコマンドが発行されてくると、図12に示すようにTCB43のTCB番号1に、デバイス番号として“0”が、CA番号として“0”が、コマンドとして“リザーブ”が登録される。このとき、未だどのデバイス3もリザーブされていないので、デバイス3−0のリザーブ処理が実行され、図13に示すように、リザーブ管理テーブル41のデバイス番号0と“CA0”との交点位置に“1”がセットされることになる。この後、図12に示すごとく作成されたTCB番号1のTCB43は削除される。
【0076】
上述のようにCPU2−0がチャネル2a(CA11−0)を通じてデバイス3−0を占有している状態で、CPU2−1のチャネル2a(CA11−2)を通じてデバイス3−0に対するリザーブコマンドが発行されてくると、まず、図14に示すようにTCB43のTCB番号1に、デバイス番号として“0”が、CA番号として“2”が、コマンドとして“リザーブ”が登録される。そして、デバイス3−0がCPU2−0により既に占有されているので、CPU2−1に対してデバイスビジーを報告してCPU2−1のチャネルインタフェースを切り離し、図14に示すように、TCB番号1の再結合状態に“ビジー”が設定されるとともに、図15に示すように、デバイスビジー報告管理テーブル42における、デバイス番号0の“1番目にビジーを報告したTCB番号”の欄に、TCB番号1が設定される。このとき、図14に示すTCB番号1のTCB43は、削除されず、デバイスエンドの報告が行なわれるまで保持される。
【0077】
続いて、CPU2−1がデバイス3−1のデータをリードする場合、まず、CPU2−1のチャネル2bからデバイス3−1に対するリザーブコマンドが発行され、図16に示すようにTCB43のTCB番号2に、デバイス番号として“1”が、CA番号として“3”が、コマンドとして“リザーブ”が登録される。このとき、デバイス3−1はリザーブされていないので、デバイス3−1のリザーブ処理が実行され、図17に示すように、リザーブ管理テーブル41のデバイス番号1と“CA3”との交点位置に“1”がセットされることになる。この後、図16に示すごとく作成されたTCB番号2のTCB43は削除される。
【0078】
このようにして、デバイス3−1をリザーブしたCPU2−1がリードコマンドを発行すると、図18に示すようにTCB43のTCB番号1に、デバイス番号として“1”が、CA番号として“3”が、コマンドとして“リード”が登録される。このとき、リード対象のデータがキャッシュメモリ15上に存在しなければ、デバイス3−1に対するステージング動作が開始され、TCB番号2の再結合状態に“ステージング待ち”が設定される。このTCB番号2のTCB43は、ステージング動作が完了するまで削除されることなく保持される。
【0079】
このような状態で、デバイス3−0をリザーブしたCPU2−0がCA11−0を通じてリリースコマンドを発行すると、図19に示すようにTCB43のTCB番号3に、デバイス番号として“0”が、CA番号として“0”が、コマンドとして“リリース”が登録される。そして、図20に示すように、リザーブ管理テーブル41から、デバイス番号0と“CA0”との交点位置にセットされた“1”が削除されるとともに、図22に示すように、再結合管理テーブル44の再結合順序1に対応する欄にTCB番号1が登録された後、図19に示すごとく作成されたTCB番号3のTCB43は削除される。
【0080】
デバイス3−0の解放に続いてステージング動作を完了すると、図21に示すように、TCB番号2のTCB43における再結合状態が“ステージング完了”に設定されるとともに、図22に示すように、そのTCB番号2が再結合管理テーブル44の再結合順序2に対応する欄に登録される。
そして、RM12Aは、図11にて説明したアイドルループで、再結合管理テーブル44を監視し、この再結合管理テーブル44に図22に示すごとくTCB番号1およびTCB番号2が登録されていることを認識すると、その登録順序に従って再結合処理をCA11に依頼する。つまり、ここでは、まず、TCB番号1のTCB43を参照し、CA11−2に、デバイス3−0についてのデバイスエンド報告を依頼した後、そのTCB43を削除する。ついで、TCB番号2のTCB43を参照し、CA11−3にステージング完了報告を依頼した後、そのTCB43を削除する。
【0081】
このように、本発明の一実施形態によれば、ステージング完了報告を管理するテーブルとデバイスエンド報告を管理するテーブルとが1つの再結合管理テーブル44に融合され、この再結合管理テーブル44を図11に示すアイドルループに従って検索することにより、再結合要因の発生した順にCA11に再結合を依頼することができる。つまり、再結合要因の種類によることなく再結合要因の発生順に再結合処理を行なうことができるので、再結合処理に偏りが生じることがなく、リリースによるデバイスエンド報告およびステージング完了報告をいずれも遅延・沈み込ませることなく実行することができる。
【0082】
従って、デバイスリリースを行なったデバイス順にデバイスエンド報告を行なえ、ステージング完了報告数の増加に伴い従来生じていたデバイスエンド報告の沈み込みを確実に回避することができる。
また、本実施形態によれば、デバイスビジー報告管理テーブル42に、デバイスビジー報告を行なった順序でTCB番号を登録しておくことにより、デバイスビジー報告を行なった順序でデバイスエンド報告を行なうことが可能になり、デバイスエンド報告の遅れを抑止することもできる。
【0083】
さらに、本実施形態によれば、デバイスビジー報告を行なった状態およびステージング動作の完了待ち状態をTCB43で管理しているので、TCB番号を用いて再結合処理の順序を管理することができ、再結合処理を大幅に簡素化できる利点もある。
なお、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
【0084】
例えば、上述した実施形態では、処理装置としてのCPU2が2台、ファイル記憶装置としてのデバイス3が3台である場合について説明しているが、本発明は、このような台数に限定されるものではない。
また、上述した実施形態では、再結合要因がデバイスリリースとステージング完了との2種類である場合について説明したが、本発明は、これに限定されるものではなく、再結合要因が3種類以上である場合や、異なる種類の再結合要因を含む場合にも同様に適用され、上述した実施形態と同様の作用効果を得ることができる。
【0085】
【発明の効果】
以上詳述したように、本発明のチャネルインタフェース再結合制御方法(請求項1,2)およびファイル制御装置(請求項3〜6)によれば、再結合要因の種類によることなく再結合要因の発生順に再結合処理を行なうことができるので、リリースによるデバイスエンド報告およびステージング完了報告をいずれも遅延・沈み込ませることなく実行することができる。従って、デバイスリリースを行なったデバイス順にデバイスエンド報告を行なえ、ステージング完了報告数の増加に伴い従来生じていたデバイスエンド報告の沈み込みを確実に回避することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態としてのファイル制御装置(FCU)におけるRM/TSの機能的な構成を示すブロック図である。
【図2】本実施形態のファイル制御装置(FCU)の構成を示すブロック図である。
【図3】本実施形態のリザーブ管理テーブルを説明するための図である。
【図4】本実施形態のデバイスビジー報告管理テーブル(キュー:ビジー報告順序記憶部)を説明するための図である。
【図5】本実施形態のタスク制御ブロック(TBC)を説明するための図である。
【図6】本実施形態の再結合管理テーブル(キュー:発生順序記憶部)を説明するための図である。
【図7】本実施形態のRMがリザーブコマンドを受けた場合の動作を説明するためのフローチャートである。
【図8】本実施形態のRMがリリースコマンドを受けた場合の動作を説明するためのフローチャートである。
【図9】本実施形態のRMがリードコマンドを受けた場合の動作を説明するためのフローチャートである。
【図10】本実施形態のRMのステージング完了報告待ち処理を説明するためのフローチャートである。
【図11】本実施形態のRMのアイドルループによる処理を説明するためのフローチャートである。
【図12】本実施形態のTCBへの具体的な登録内容について説明するための図である。
【図13】本実施形態のリザーブ管理テーブルへの具体的な登録内容について説明するための図である。
【図14】本実施形態のTCBへの具体的な登録内容について説明するための図である。
【図15】本実施形態のデバイスビジー報告管理テーブル(キュー)への具体的な登録内容について説明するための図である。
【図16】本実施形態のTCBへの具体的な登録内容について説明するための図である。
【図17】本実施形態のリザーブ管理テーブルへの具体的な登録内容について説明するための図である。
【図18】本実施形態のTCBへの具体的な登録内容について説明するための図である。
【図19】本実施形態のTCBへの具体的な登録内容について説明するための図である。
【図20】本実施形態のリザーブ管理テーブルへの具体的な登録内容について説明するための図である。
【図21】本実施形態のTCBへの具体的な登録内容について説明するための図である。
【図22】本実施形態の再結合管理テーブル(キュー)への具体的な登録内容について説明するための図である。
【図23】一般的なFCUの構成を示すブロック図である。
【図24】従来のRM/TSの機能的な構成を示すブロック図である。
【図25】リザーブ管理テーブルを説明するための図である。
【図26】デバイスビジー報告管理テーブルを説明するための図である。
【図27】デバイスエンド報告管理テーブルを説明するための図である。
【図28】タスク制御ブロック(TBC)を説明するための図である。
【図29】ステージング完了報告管理テーブル(キュー)を説明するための図である。
【図30】RMがリザーブコマンドを受けた場合の動作を説明するためのフローチャートである。
【図31】RMがリリースコマンドを受けた場合の動作を説明するためのフローチャートである。
【図32】RMがリードコマンドを受けた場合の動作を説明するためのフローチャートである。
【図33】RMのステージング完了報告待ち処理を説明するためのフローチャートである。
【図34】RMのアイドルループによる処理を説明するためのフローチャートである。
【図35】TCBへの具体的な登録内容について説明するための図である。
【図36】リザーブ管理テーブルへの具体的な登録内容について説明するための図である。
【図37】TCBへの具体的な登録内容について説明するための図である。
【図38】デバイスビジー報告管理テーブルへの具体的な登録内容について説明するための図である。
【図39】TCBへの具体的な登録内容について説明するための図である。
【図40】リザーブ管理テーブルへの具体的な登録内容について説明するための図である。
【図41】TCBへの具体的な登録内容について説明するための図である。
【図42】TCBへの具体的な登録内容について説明するための図である。
【図43】リザーブ管理テーブルへの具体的な登録内容について説明するための図である。
【図44】デバイスエンド報告管理テーブルへの具体的な登録内容について説明するための図である。
【図45】TCBへの具体的な登録内容について説明するための図である。
【図46】ステージング完了報告管理テーブル(キュー)への具体的な登録内容について説明するための図である。
【符号の説明】
1A ファイル制御装置(FCU)
2,2−0,2−1 CPU(処理装置)
2a,2b チャネル(CH)
3,3−0〜3−2 デバイス(DV,ファイル記憶装置)
11,11−0〜11−3 CA(Channel Adapter)
12A RM(Resource Manager:制御部)
13A TS(Table Storage)
14 CFE(Cache Function Engine)
15 キャッシュメモリ
16,16−0〜16−2 DA(Device Adapter)
17 コマンドバス
18 データバス
20 ステージング完了/デバイスリリースによる再結合機構(制御部)
41 リザーブ管理テーブル
42 デバイスビジー報告管理テーブル(キュー:ビジー報告順序記憶部)
43 タスク制御ブロック(TCB)
44 再結合管理テーブル(キュー:発生順序記憶部)
Claims (6)
- 複数の処理装置が複数のファイル記憶装置を共用すべく、該複数の処理装置と該複数のファイル記憶装置との間に、各処理装置からのコマンドに応じて各ファイル記憶装置に対するアクセス動作を制御するファイル制御装置をそなえたシステムにおいて、該複数の処理装置のうちの一の処理装置が該複数のファイル記憶装置のうちの一つにアクセスした際に、該ファイル記憶装置が該複数の処理装置のうちの他の処理装置により占有されているために該一の処理装置が該ファイル記憶装置にアクセスできない場合には、該一の処理装置に対してビジー報告を行なって該一の処理装置と該ファイル記憶装置との間のチャネルインタフェースを一時的に非結合状態とした後に、該ファイル記憶装置が該他の処理装置から解放されたことによる第1の再結合要因の発生に伴って前記チャネルインタフェースの再結合を制御する一方、該一の処理装置からのコマンドに応じて該ファイル記憶装置がステージング動作へ移行した場合には、該一の処理装置と該ファイル記憶装置との間のチャネルインタフェースを一時的に非結合状態とした後に、前記ステージング動作を完了したことによる第2の再結合要因の発生に伴って前記チャネルインタフェースの再結合を制御する方法であって、
前記ビジー報告を行なった状態及び前記ステージング動作の完了待ち状態をタスク制御ブロックにより管理し、前記第1の再結合要因もしく前記第2の再結合要因の発生時に当該再結合要因に係わる該タスク制御ブロックの番号を用いて前記第1の再結合要因及び前記第2の再結合要因の発生順序を記憶し、
記憶した前記発生順序に従って、前記第1の再結合要因もしくは前記第2の再結合要因に係わる処理装置と該ファイル制御装置との間の前記チャネルインタフェースを再結合することを特徴とする、チャネルインタフェース再結合制御方法。 - 前記ビジー報告を行なった場合には、当該ビジー報告に対応する該タスク制御ブロックの番号を用いて前記ビジー報告を行なった順序を記憶し、
前記第1の再結合要因の発生時には、前記ビジー報告を行なった順序に基づいて、前記再結合要因の発生順序を記憶することを特徴とする、請求項1記載のチャネルインタフェース再結合制御方法。 - 複数の処理装置が複数のファイル記憶装置を共用すべく、該複数の処理装置と該複数のファイル記憶装置との間にそなえられ、各処理装置からのコマンドに応じて各ファイル記憶装置に対するアクセス動作を制御するファイル制御装置であって、
該複数の処理装置のうちの一の処理装置が該複数のファイル記憶装置のうちの一つにアクセスした際に、該ファイル記憶装置が該複数の処理装置のうちの他の処理装置により占有されているために該一の処理装置が該ファイル記憶装置にアクセスできない場合には、該一の処理装置に対してビジー報告を行なって該一の処理装置と該ファイル記憶装置との間のチャネルインタフェースを一時的に非結合状態とした後に、該ファイル記憶装置が該他の処理装置から解放されたことによる第1の再結合要因の発生に伴って前記チャネルインタフェースの再結合を制御する一方、該一の処理装置からのコマンドに応じて該ファイル記憶装置がステージング動作へ移行した場合には、該一の処理装置と該ファイル記憶装置との間のチャネルインタフェースを一時的に非結合状態とした後に、前記ステージング動作を完了したことによる第2の再結合要因の発生に伴って前記チャネルインタフェースの再結合を制御する制御部と、
前記再結合要因の発生順序を記憶する発生順序記憶部とをそなえ、
該制御部が、前記ビジー報告を行なった状態及び前記ステージング動作の完了待ち状態をタスク制御ブロックにより管理し、前記第1の再結合要因もしくは第2の再結合要因の発生時に当該再結合要因に係わる該タスク制御ブロックの番号を該発生順序記憶部に登録することにより、前記第1の再結合要因及び前記第2の再結合要因の発生を監視してその発生順序を該発生順序記憶部に記憶させるとともに、該発生順序記憶部に記憶された前記発生順序に従って前記第1の再結合要因もしくは前記第2の再結合要因に係わる処理装置との間の前記チャネルインタフェースを再結合させることを特徴とする、ファイル制御装置。 - 該制御部が、該他の処理装置からリリースコマンドを受けた場合に前記第1の再結合要因が発生したものと判断し、該発生順序記憶部に対する登録を行なうことを特徴とする、請求項3記載のファイル制御装置。
- 前記ビジー報告を行なった順序を記憶するビジー報告順序記憶部をそなえ、
該制御部が、前記ビジー報告を行なった場合には、当該ビジー報告に対応する該タスク制御ブロックの番号を該ビジー報告順序記憶部に記憶させることにより、該ビジー報告順序記憶部に前記ビジー報告を行なった順序を記憶させ、前記第1の再結合要因の発生時には、該ビジー報告順序記憶部に記録された前記ビジー報告を行なった順序に基づいて、該発生順序記憶部に当該第1の再結合要因に係わる該タスク制御ブロックの番号を該発生順序記憶部に登録することを特徴とする、請求項3または4記載のファイル制御装置。 - 該制御部が、前記ステージング動作の完了報告を受けた場合に前記第2の再結合要因が発生したものと判断し、該発生順序記憶部に対する登録を行なうことを特徴とする、請求項3〜5のいずれか1項に記載のファイル制御装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34635798A JP3696740B2 (ja) | 1998-12-07 | 1998-12-07 | チャネルインタフェース再結合制御方法およびファイル制御装置 |
US09/348,074 US6338054B1 (en) | 1998-12-07 | 1999-07-06 | Channel interface re-connection controlling method and file controlling apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34635798A JP3696740B2 (ja) | 1998-12-07 | 1998-12-07 | チャネルインタフェース再結合制御方法およびファイル制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000172623A JP2000172623A (ja) | 2000-06-23 |
JP3696740B2 true JP3696740B2 (ja) | 2005-09-21 |
Family
ID=18382872
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP34635798A Expired - Fee Related JP3696740B2 (ja) | 1998-12-07 | 1998-12-07 | チャネルインタフェース再結合制御方法およびファイル制御装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6338054B1 (ja) |
JP (1) | JP3696740B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7263556B1 (en) * | 2000-08-11 | 2007-08-28 | Microsoft Corporation | System and method of enhancing server throughput by minimizing timed-wait TCP control block (TWTCB) size |
US8078730B2 (en) * | 2000-12-22 | 2011-12-13 | Rockstar Bidco, LP | System, device, and method for maintaining communication sessions in a communication system |
US7702801B1 (en) * | 2001-04-19 | 2010-04-20 | Advanced Micro Devices, Inc. | Determining logon status in a broadband network system and automatically restoring logon connectivity |
US9069667B2 (en) * | 2008-01-28 | 2015-06-30 | International Business Machines Corporation | Method to identify unique host applications running within a storage controller |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4207609A (en) * | 1978-05-08 | 1980-06-10 | International Business Machines Corporation | Method and means for path independent device reservation and reconnection in a multi-CPU and shared device access system |
JPS60100238A (ja) | 1983-11-02 | 1985-06-04 | Nec Corp | 共用フアイル制御システム |
JPH02170219A (ja) | 1988-12-23 | 1990-07-02 | Hitachi Ltd | デバイスクロスコール制御方式 |
JPH0328934A (ja) | 1989-06-27 | 1991-02-07 | Oki Electric Ind Co Ltd | 共有資源のデッドロック防止方法 |
JP2699600B2 (ja) | 1990-01-30 | 1998-01-19 | 日本電気株式会社 | 資源の排他制御方式 |
US5787278A (en) * | 1994-12-28 | 1998-07-28 | Pitney Bowes Inc. | Method and system for generating and mailing a system performance report, utilizing a report template with predetermined control commands for controlling the printer |
US5805578A (en) * | 1995-10-27 | 1998-09-08 | International Business Machines Corporation | Automatic reconfiguration of multipoint communication channels |
US6215782B1 (en) * | 1996-12-20 | 2001-04-10 | Lucent Technologies Inc. | Method for reconnecting calls in a wireless telecommunications system |
US6061559A (en) * | 1998-03-26 | 2000-05-09 | Telefonaktiebolaget L M Ericsson (Publ) | System and method for reconnecting a disconnected low priority call in a mobile telecommunications network |
-
1998
- 1998-12-07 JP JP34635798A patent/JP3696740B2/ja not_active Expired - Fee Related
-
1999
- 1999-07-06 US US09/348,074 patent/US6338054B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6338054B1 (en) | 2002-01-08 |
JP2000172623A (ja) | 2000-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8266375B2 (en) | Automated on-line capacity expansion method for storage device | |
US6157962A (en) | Multipath I/O storage systems with multiipath I/O request mechanisms | |
US6633925B2 (en) | Operating system for generating overlapped input-output requests to a device in a disk array storage | |
JP4371724B2 (ja) | 記憶システム及び記憶装置システム | |
JP3209634B2 (ja) | 計算機システム | |
US7334097B2 (en) | Method for controlling storage device controller, storage device controller, and program | |
JP2000181773A (ja) | 記憶装置システム | |
JP2005309550A (ja) | リモートコピー方法及びリモートコピーシステム | |
JP3617437B2 (ja) | データコピー方法およびデータコピー用プログラムを記録したプログラム記録媒体 | |
US7610461B2 (en) | Storage system with mainframe and open host performing remote copying by setting a copy group | |
JP4074442B2 (ja) | データのバックアップのための方法、装置、システム、プログラム及び記憶媒体 | |
JP3696740B2 (ja) | チャネルインタフェース再結合制御方法およびファイル制御装置 | |
JPH0844649A (ja) | データ処理装置 | |
US8214613B2 (en) | Storage system and copy method | |
JP3425355B2 (ja) | 多重書き込み記憶装置 | |
JP4791265B2 (ja) | 信号処理方法、信号処理プログラムおよび信号処理装置 | |
JP3778405B2 (ja) | ディスクサブシステム | |
JP2732951B2 (ja) | データ転送制御方法 | |
JPH0830402A (ja) | パリティ格納方法 | |
JP2000163277A (ja) | Dasd制御装置間のデータ転送方法 | |
JP2005327015A (ja) | データ二重化方法とプログラム | |
JPH0235546A (ja) | 補助記憶装置への書き込み制御方式 | |
JPH04102135A (ja) | ファイル二重化制御方式 | |
JPH05324490A (ja) | ディスクアレイ制御装置 | |
JPH08235085A (ja) | 入出力制御装置及びその制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050218 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050308 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050509 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050621 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050630 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080708 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090708 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100708 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100708 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110708 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110708 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120708 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120708 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130708 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |