JP2005166073A - 記憶装置の制御装置および制御方法 - Google Patents
記憶装置の制御装置および制御方法 Download PDFInfo
- Publication number
- JP2005166073A JP2005166073A JP2005043364A JP2005043364A JP2005166073A JP 2005166073 A JP2005166073 A JP 2005166073A JP 2005043364 A JP2005043364 A JP 2005043364A JP 2005043364 A JP2005043364 A JP 2005043364A JP 2005166073 A JP2005166073 A JP 2005166073A
- Authority
- JP
- Japan
- Prior art keywords
- data
- cache memory
- write
- allocation
- cache
- 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.)
- Pending
Links
Images
Abstract
【課題】
本発明の目的は、記憶装置毎にキャッシュメモリを割り当てる時、他の記憶装置に対するキャッシュメモリの割り当てを阻害しない、適切な配分を行う記憶装置の制御装置および方法を提供することにある。
【解決手段】
ライトアフタデ−タの量が閾値以上となった場合、ディスク装置(25)毎の割当て制限を設定する。割当て制限以上のライトアフタデ−タ量を要求するCPU(20)からのデ−タ書き出し指示があった場合、ライトアフタデ−タが割当て制限未満になるまで上記の指示を待たせる。この結果、あるディスク装置への割当て量が過大となり、他のディスク装置に対する割当て量が過少となることはない。従って、他のディスク装置に対するキャッシュメモリの割当てを阻害しない適切な配分を行うことができる。
【選択図】 図1
本発明の目的は、記憶装置毎にキャッシュメモリを割り当てる時、他の記憶装置に対するキャッシュメモリの割り当てを阻害しない、適切な配分を行う記憶装置の制御装置および方法を提供することにある。
【解決手段】
ライトアフタデ−タの量が閾値以上となった場合、ディスク装置(25)毎の割当て制限を設定する。割当て制限以上のライトアフタデ−タ量を要求するCPU(20)からのデ−タ書き出し指示があった場合、ライトアフタデ−タが割当て制限未満になるまで上記の指示を待たせる。この結果、あるディスク装置への割当て量が過大となり、他のディスク装置に対する割当て量が過少となることはない。従って、他のディスク装置に対するキャッシュメモリの割当てを阻害しない適切な配分を行うことができる。
【選択図】 図1
Description
本発明は、中央処理装置と、キャッシュメモリを有する制御装置と、記憶装置からなる情報処理システムにおいて、キャッシュメモリ内の領域割当ての制御を行う装置および方法に関する。
中央処理装置とキャッシュメモリ間で行なうデ−タ転送処理において、更新したキャッシュメモリ内のデ−タをライトアフタデ−タと呼び、このライトアフタデ−タをキャッシュメモリからディスク装置に書き出す処理をライトアフタ処理と呼ぶ。ライトアフタ処理を行なう制御装置において、キャッシュメモリの使用方法は、例えば特許文献1、特許文献2に記載されている。
特許文献1では、制御装置は、制御装置内のキャッシュメモリからファ−ストイン/ファ−ストアウト(First-in/First-out)やLRU(Least Recentry Used)制御により、ライトアフタデ−タをディスク装置に書き出す。
特許文献2では、制御装置は、中央処理装置からのライト要求に対し、ライトアフタデ−タが所定数より少ない場合、中央処理装置とキャッシュメモリ間のデ−タ転送を行なう。一方、ライトアフタデ−タが所定数以上の場合、中央処理装置とディスク装置間のデ−タ転送を行ない、その後、所定量以上分のライトアフタデ−タをキャッシュメモリからディスク装置に書き出す。中央処理装置からのリ−ド要求に対し、キャッシュメモリ内に要求されたデ−タがなく、かつ、要求されたデ−タをキャッシュメモリに入れるために、キャッシュメモリから捨てなければならないデ−タがライトアフタデ−タの場合、当該ライトアフタデ−タをキャッシュメモリからディスク装置に書き出した後、中央処理装置からリ−ド要求されたデ−タをディスク装置から読みだし、当該デ−タを中央処理装置に転送するとともに、キャッシュメモリに格納する。
制御装置は、中央処理装置からのライト指示に対し、中央処理装置とキャッシュメモリ間のデ−タ転送処理を行ない、キャッシュメモリにライトアフタデ−タを格納する。ライトアフタデ−タをディスク装置に書き出す処理は、制御装置が前記のライト指示とは、非同期に行なう。ところで、ディスク装置は、デ−タを記録する媒体である複数のディスクと、ディスクのデ−タ記録面に対応して設けられたデ−タを読み書きするためのヘッドから構成されている。前記ディスクが1回転する間に、前記ヘッドが読み書き可能な円状の記録単位をトラックと呼ぶ。前記ディスクには複数のトラックが存在する。ディスク装置に記録されたデ−タを読み書きする時、前記ヘッドを前記デ−タを含むトラックの位置に移動させる。この動作をシ−ク動作と呼ぶ。ライトアフタ制御は、中央処理装置からのライト指示に対し、中央処理装置とキャッシュメモリ間のデ−タ転送処理を行ない、ディスク装置とのデ−タ転送処理を行なわない。このため、シ−ク動作のための時間がかからず、高速な応答が可能となる。キャッシュメモリに存在するデ−タのうち、ライトアフタデ−タ、すなわち、まだディスク装置に書き込まれていないデ−タでないものは、ディスク装置内の内容とそれに対応するキャッシュメモリ内の内容が一致しているため、随時、キャッシュメモリから消去することが可能である。しかし、ライトアフタデ−タは、キャッシュメモリ内の内容とそれに対応するディスク装置内の内容が一致していないため、キャッシュメモリ内の内容をディスク装置に書きだしてからでないと、キャッシュメモリから消去できない。ライトアフタデ−タでキャッシュメモリが一杯になってしまうため、キャッシュメモリ内のライトアフタデ−タをディスク装置に書き出してからでないと新たなライトアフタデ−タを作成できない。キャッシュメモリ内のライトアフタデ−タをディスク装置に書きだすには、当然、シ−ク動作のための時間がかかる。従って、ライトアフタ制御による高速応答は期待できない。ここで、ディスク装置に対する処理要求の内容と処理要求の頻度は、一定ではなく、ディスク装置に格納されたデ−タに依存している。例えば、あるディスク装置に対する処理要求が高頻度に発生し、ライトアフタデ−タを大量に作成すると、他のディスク装置がライトアフタデ−タを作成できる量は著しく制限される。この場合、CPUからの見掛け上のディスク性能は、ライトアフタデ−タを大量に作成したディスク装置の方が、他のディスク装置より良くなる。しかも、真に高速応答を要求されているディスク装置に対して大量のライトアフタデ−タの作成を許容するのではなく、時間的に早くキャッシュメモリを占有したディスク装置が大量のライトアフタデ−タを作成してしまう。従って、ディスク装置毎のキャッシュメモリの割当に関しては、他のディスク装置による割当を阻害しない、適切な配分が重要となる。また、キャッシュメモリがライトアフタデ−タで一杯になると、全てのディスク装置に対するライトアフタ処理ができなくなり、情報処理システム全体の性能が劣化する。この場合も、ディスク装置毎のキャッシュメモリの割当を適切な配分を行うことにより、キャッシュメモリがライトアフタデ−タで一杯になることを抑制することができる。
しかし、従来技術において、特公昭59−7986号公報では、ディスク装置ごとのキャッシュメモリの割り当てに関しては、考慮されていなかった。特許文献2では、キャッシュメモリ内のライトアフタデ−タの総量を制限する効果はあるが、ディスク装置ごとのキャッシュメモリの割り当て、および、キャッシュメモリの適切な配分方法に関しては、考慮されていなかった。
本発明の目的は、記憶装置に対するキャッシュメモリの割り当てに関し、他の記憶装置に対するキャッシュメモリの割り当てを阻害しない、適切な配分を行う記憶装置の制御装置および方法を提供することにある。
前記制御装置は、前記記憶装置内のデ−タの一部あるいは前記記憶装置に書き出す前のデ−タを記憶するキャッシュメモリと、前記制御装置の管理情報を記録するディレクトリと、キャッシュメモリ、ディレクトリおよびデ−タ転送を制御するディレクタを有し、前記ディレクタは、キャッシュメモリ内にある前記記憶装置に書き出す前のデ−タ量が閾値以上かを判定する手段と、前記キャッシュメモリ内の前記デ−タ量が閾値以上の場合、記憶装置毎の前記デ−タ量の割当制限を設定する手段と、前記キャッシュメモリ内の前記デ−タ量が閾値未満の場合、前記記憶装置毎の前記デ−タ量の割当制限を解除する手段と、前記割当制限値以上のキャッシュメモリの割り当てを要求する前記中央処理装置からのデ−タ書きだし指示を待たせる手段と、前記記憶装置に書き出す前のデ−タを前記キャッシュメモリから前記記憶装置に書き出す手段と、を有する。
前記記憶装置に書き出す前のデ−タを前記キャッシュメモリから前記記憶装置に書き出す手段は、前記割当制限値以上のキャッシュメモリの割り当てを要求する前記中央処理装置からのデ−タ書きだし指示を待たせる手段により、デ−タ書きだし処理を待たせている前記記憶装置のグル−プから1つの記憶装置に対応するデ−タを選択して、前記キャッシュメモリから前記記憶装置に書き出す手段と、キャッシュメモリ内にある前記記憶装置に書き出す前のデ−タを、前記記憶装置毎の前記デ−タ量の割当制限を設定している前記記憶装置のグル−プから選択して、前記キャッシュメモリから前記記憶装置に書き出す手段と、前記デ−タを前記キャッシュメモリ有する前記記憶装置のグル−プから選択して、前記キャッシュメモリから前記記憶装置に書き出す手段と、からなる。
前記ディレクタは、さらに、前記中央処理装置によりシ−ケンシャルアクセスが指示されて作成されたライトアフタデ−タが規定数以上存在するかを判定する、シ−ケンシャルライトアフタ判定手段と、シ−ケンシャルライトアフタの対象が存在する場合、前記ライトアフタデ−タをキャッシュメモリから記憶装置に書き出すシ−ケンシャルライトアフタ処理を行う手段と、を有する。
前記ディレクタは、前記キャッシュメモリ内にある前記記憶装置に書き出す前のデ−タ量に対する閾値および前記記憶装置に対する前記デ−タの割当制限値を、前記中央処理装置に報告する手段と、前記中央処理装置から指示された、前記キャッシュメモリ内にある前記記憶装置に書き出す前のデ−タ量に対する閾値および前記記憶装置に対する前記デ−タの割当制限値を設定する手段と、を有する。
本発明の実施例によれば、キャッシュ負荷状況判定処理により、ライトアフタデ−タの量が閾値以上となった場合、ディスク装置毎にキャッシュの割当てを制限できる。割当て制限以上のライトアフタデ−タ量を要求するCPUからのデ−タ書き出し指示があった場合、ライトアフタ処理はライトアフタデ−タをキャッシュメモリからディスク装置に書き出し、ライトアフタデ−タが割当て制限未満になるまで上記の指示を待たせる。あるいは、割当て制限以上のライトアフタデ−タ量を要求するCPUからのデ−タ書き出し指示があった場合、CPUディスク転送処理は、CPUとディスク装置とのデ−タ転送により上記の指示に対する処理をただちに実行する。このため、あるディスク装置への割当て量が過大となり、他のディスク装置に対する割当て量が過少となることはない。
また、ライトアフタデ−タの割当て制限を、ユ−ザからの指示、あるいは、CPUからの指示によっても設定できる。この時、ユ−ザあるいはCPUからライトアフタデ−タの制限が設定されなかった場合、キャッシュ負荷状況判定処理により、ライトアフタデ−タの量が閾値以上となった場合、ディスク装置毎に割当ての制限を行なう。このため、あるディスク装置への割当て量が過大となり、他のディスク装置に対する割当て量が過少となることはない。さらに、ユ−ザあるいはCPUからライトアフタデ−タの割当て制限の変更を指示できる。
従って、それぞれのディスク装置に対してキャッシュメモリを割当てる時、他のディスク装置に対するキャッシュメモリの割当てを阻害しない適切な配分を行うことができる。
以下、本発明の一実施例について説明する。
図2は、本発明の一実施例を示す情報処理システムの構成図である。情報処理システムは、中央処理装置(CPU)20とCPU20に接続された制御装置21と制御装置21に接続された少なくとも1台のディスク装置25からなる。制御装置21は、ディレクトリ23、キャッシュメモリ24と少なくも1つのディレクタ22を有する。
図3は、ディスク装置25の構成図である。ディスク27は、デ−タを記録する媒体であり、ディスク装置25内に複数存在する。ヘッド28は、デ−タを読み書きする装置であり、ディスク27のデ−タ記録面に対応して複数個存在する。ディスク27が1回転する間に、ヘッド28が読み書き可能な円状のデ−タ記録単位をトラック29と呼ぶ。トラック29は、ディスク27上に複数存在する。トラック29には、デ−タの記録単位の一種であるレコ−ドが格納される。あるデ−タを読み書きするために、ヘッド28を現在位置からそのデ−タを含むトラック29を読み書きできる位置に移動する動作を、シ−ク動作と呼ぶ。また、この動作のための要求を位置付け指示と呼ぶ。シ−ク動作を行なうことなしに、ヘッド28の選択操作のみで、記録あるいは再生が可能なトラック29の集合をシリンダと呼ぶ。ディレクタインタフェ−ス32は、ディスク装置25とディレクタ22とのインタフェ−スであり、ディレクタ22の指示に従ってヘッド28の制御を行なう。インデクス30はディスク27上にある基準位置である。
図4は、本実施例におけるトラック内のレコ−ド構成図である。図4(a)に示すように、レコ−ド33は、制御部34とデ−タ部35からなる。図4(b)に示すように、制御部34は、レコ−ド位置341、シリンダ番号342、トラック番号343、レコ−ド番号344、およびデ−タ長345を記録する。レコ−ド位置341は、当該レコ−ド33のトラック29上での位置である。レコ−ド番号344、トラック番号343、シリンダ番号342は、それぞれ、当該レコ−ドの番号、レコ−ド33が記録されたトラックの番号、当該トラック29が含まれるシリンダの番号である。デ−タ長345は、デ−タ部35の長さを示す。デ−タ部35は、デ−タ長345で指示された長さのデ−タを記録する。インデクス30と制御部34との間、レコ−ド33内の制御部34とデ−タ部35との間、および、デ−タ部35と次のレコ−ド33の制御部34との間には、ギャップ36が存在する。
図1は、本発明の一実施例における情報処理システムを示す図である。制御装置21に設けられたディレクタ22は、CPU20とディスク装置25との間、CPU20とキャッシュメモリ24との間、および、キャッシュメモリ24とディスク装置25との間で行うデ−タ転送を制御する。CPU起動処理10は、CPU20からの指示によりCPU20とディスク装置25間、および、CPU20とキャッシュメモリ24間のデ−タ転送を実行する。CPU20とキャッシュメモリ24との間のデ−タ転送において、書きかえたキャッシュメモリ24内のデ−タをライトアフタデ−タと呼び、このライトアフタデ−タをキャッシュメモリ24からディスク装置25に書きす処理をライトアフタ処理と呼ぶ。ヒットミス判定処理11では、処理対象のトラック29の内容がキャッシュメモリ24内にあるかを判定する。トラック29の内容がキャッシュメモリ24内にある場合、キャッシュヒットと呼び、トラック29の内容がキャッシュメモリ24内にない場合、キャッシュミスと呼ぶ。キャッシュヒットの場合、キャッシュヒット処理12を行なう。キャッシュヒット処理12では、キャッシュ割り当て制限判定処理13によりライトアフタデ−タに対するキャッシュメモリ24の割り当て状況を判定し、割当て不可能な場合、割り当て待ち処理14により、キャッシュメモリの割り当てが可能となるまで待つ。CPUキャッシュ転送処理15では、CPU20の指示に従い、キャッシュメモリ24内のデ−タを読み書きする。つぎに、シ−ケンシャル判定処理16を行う。シ−ケンシャル判定処理16では、シ−ケンシャルライト判定処理17により、CPU20からのシ−ケンシャルアクセス指示によりライトアフタデ−タがキャシュメモリ24内にたまっていて、ライトアフタ処理が必要かを判定する。ライトアフタ処理が不要の場合、処理を終了する。ライトアフタ処理必要な場合、シ−ケンシャルライトアフタ処理18を行なう。シ−ケンシャルライトアフタ処理18では、CPU20が指示したシ−ケンシャルアクセスによるライトアフタデ−タをキャッシュメモリ24からディスク装置25に書き出す。キャッシュミスの場合、CPUディスク転送処理19は、CPU20の指示に従い、ディスク装置25内のデ−タを読み書きする。キャッシュ負荷状況判定処理1は、キャッシュメモリ24内のライトアフタデ−タ量により、キャッシュメモリ24の負荷状況を判定する。ライトアフタデ−タ量判定処理2により、ライトアフタデ−タの量が閾値以上かを判定する。閾値以上の場合、割り当て制限設定処理3により、ディスク装置25毎にライトアフタデ−タの量に関する制限値を設定する。閾値未満の場合、割り当て制限解除処理4により、ディスク装置25毎にライトアフタデ−タの量に関する制限値を解除する。ライトアフタ処理5は、ライトアフタデ−タをキャッシュメモリ24からディスク装置25に書きだす処理であり、ディレクタ22が空いた時間を利用して行う。割り当て制限ライトアフタ判定処理6により、ライトアフタデ−タの割り当て制限が設定されているディスク装置25のライトアフタ処理が可能かを判定する。ライトアフタ判定処理7により、ライトアフタデ−タの割り当て制限が設定されていないディスク装置25のライトアフタ処理が可能かを判定する。割り当て制限ライトアフタ判定処理6あるいはライトアフタ判定処理7でライトアフタ処理対象を検出した場合、ライトアフタ実行処理8により、ライトアフタデ−タをキャッシュメモリ24からディスク装置25に書きだす。
以下、ディスク装置25に記憶されたレコ−ド33の読み書き動作について示す。ディレクタ22は、読み書きの対象とするレコ−ド33を記録したディスク装置25が空き状態ならば、当該ディスク装置25と接続し、当該レコ−ド33を読み書きできる位置にヘッド28を位置付けるため、位置付け指示を行なう。ディレクタ22は、ディスク装置25が位置付け動作を行っている間に、別のディスク装置25に対する入出力処理を実行できるように、ディスク装置25との接続を切り離す。位置付け指示されたディスク装置25はシ−ク動作を行ない、レコ−ド33を読み書きできる位置にヘッド28が到達するとディレクタ22に完了報告を行なう。この際、ディレクタ22が空いていると、ディレクタ22が当該ディスク装置25と再接続を行い、ディスク装置25に記憶されたレコ−ド33の読み書きを行なう。ディレクタ22が、例えば、別のディスク装置25とのデ−タ転送中などにより、ビジ−である場合、当該ディスク装置25はディレクタ22とのデ−タ転送は行なえず、ディスク27が回転し、再度、レコ−ド33を読み書きできる位置にヘッド28が到達するまで、待たされる。
図5は、ディレクトリ23の構成を示す図である。ディレクトリ23には、スロットコントロ−ルブロック(SCB)40、サ−チテ−ブル41、MRU(Most Recently Used)ポインタ42、LRU(Least Recently Used)ポインタ43、空きSCBポインタ44、タスクコントロ−ルブロック(TCB)45、および、負荷状況管理情報46が存在する。それぞれの内容は、以下で説明する。
まず、SCB40の内容とキャッシュメモリ24との関係を図6と図7で説明する。図6は、スロットコントロ−ルブロック(SCB)40の構成図である。図7は、SCB40とキャッシュスロットとの関係図である。キャッシュメモリ24は、キャッシュスロット241と呼ぶ単位に分割する。1キャッシュスロットは、1トラック分のデ−タを格納できるサイズである。SCB40は、キャッシュスロット241を管理する情報である。
図6に示すSCB占有フラグ400は、SCBの使用状況を示すフラグであり、処理がSCBを使用中の場合オンにする。前方向ポインタ401と後方向ポインタ402は、SCB40をMRU(Most Recently Used)順にチェインする時に使用する。使用方法に関しては、図8で説明する。ディスク装置番号403、シリンダ番号404、トラック番号405は、それぞれ、SCB40にデ−タを格納したトラック29に対応するディスク装置の番号、シリンダの番号、トラックの番号を記録する。スロットポインタ406は、SCB40が管理しているキャッシュスロット241を示す。ライトアフタフラグ407は、スロット241にライトアフタデ−タを格納しているか示すフラグである。当該フラグがオンの場合、当該スロットは、ライトアフタデ−タを格納していることを示す。レコ−ドポインタ408は、、キャッシュスロット241におけるレコ−ド33の記録開始位置を示す。更新レコ−ドポインタ409は、キャッシュスロット241におけるライトアフタデ−タを格納しているレコ−ド33記録開始位置を示す。レコ−ドポインタ408と更新レコ−ドポインタ409は、トラック29に記録できる最大のレコ−ド33の数分を用意する。キャッシュスロット241に記録されていないレコ−ド33のレコ−ドポインタ408と、ライトアフタデ−タを格納していないレコ−ド33の更新レコ−ドポインタ409は、nullとする。シ−ケンシャルライトフラグ410は、CPU20からのシ−ケンシャルアクセス指示により、ライトアフタデ−タを作成したことを示す。
図8は、サ−チテ−ブル41とSCB40の関係を示す図である。サ−チテ−ブル41は、ディスク装置番号411、シリンダ番号412、トラック番号413およびサ−チポインタ414からなり、どのディスク装置のシリンダ、トラックに属するデ−タがキャッシュメモリ24に格納されているかを検索するためのテ−ブルである。トラック29毎にSCB40へのサ−チポインタ414を有し、トラック29に対応するデ−タがキャッシュメモリ24に格納されているか否かを示す。あるトラック29に対応するサ−チポインタ414がnullの場合、当該トラック29に対応するデ−タはキャッシュメモリ24に格納していないことを示す。サ−チテ−ブル41の内容は、制御装置21に接続可能なディスク装置25に含まれるトラック29の数分を用意する。
トラック29に割り当てられたSCB40は、MRUポインタ42、LRUポインタ43、前方向ポインタ401および後方向ポインタ402でチェインする。前方向ポインタ401と後方向ポインタ402は、トラック29に割り当てられたSCB40をMRU順にチェインするためのポインタである。MRUポインタ42は、最も現在時刻に近い時刻に入出力対象となったトラック29に対応するSCB40を示し、LRUポインタ43は、最も長い時間入出力対象となっていないトラック29に対応するSCB40をさす。
トラック29に割り当てられていないSCB40は、空きSCBポインタ44、前方向ポインタ401および後方向ポインタ402でチェインする。空きSCBポインタ44は、トラック29に割り当てられていないSCB40をチェインするための先頭ポインタであり、これらSCB40のうち、ひとつをポイントする。トラック29が割り当てられていない残りのSCB40は、前方向ポインタ401および後方向ポインタ402でチェインする。トラック29が割り当てられていないSCB40が存在しない場合、空きSCBポインタ44は、nullとする。
図9は、タスクコントロ−ルブロック(TCB)の構成図である。TCB45は、制御装置21で処理中のタスクを管理する情報であり、ディスク装置25毎に存在する。TCB45は、ディスク装置番号50、論理デバイス情報60、および、物理デバイス情報70からなる。まず、論理デバイスと物理デバイスについて説明する。ディレクタ22が行なうデ−タ転送処理には、CPU20とディスク装置25間のデ−タ転送処理、CPU20とキャッシュメモリ24間のデ−タ転送処理、および、キャッシュメモリ24とディスク装置25間のデ−タ転送処理がある。ここで、キャッシュメモリ24とディスク装置25間のデ−タ転送処理は、ディスク装置25を使用して処理を実行するが、CPU20とキャッシュメモリ24間のデ−タ転送処理は、ディスク装置25を使用する必要がない。従って、キャッシュメモリ24とディスク装置25間のデ−タ転送処理と、CPU20とキャッシュメモリ24間のデ−タ転送処理は、独立に実行可能である。CPU20とキャッシュメモリ24間のデ−タ転送処理を行なう時、上記2つの処理同士を互いに排他的に行なうため、論理デバイスを設ける。キャッシュメモリ24とディスク装置25間のデ−タ転送処理を行なう時、上記2つの処理同士を互いに排他的に行なうため、物理デバイスを設ける。従って、CPU20とキャッシュメモリ24間のデ−タ転送処理では、論理デバイスにより排他制御を行ない、キャッシュメモリ24とディスク装置間のデ−タ転送処理では、物理デバイスにより排他制御を行なう。CPU20とディスク装置間のデ−タ転送処理を行なう時、論理デバイスと物理デバイスの両方を使用するものとする。
図9に示したTCB45の内容を以下に説明する。ディスク装置番号50は、当該TCB45が制御対象とするディスク装置の番号を示す。論理デバイス情報60は、CPU20とキャッシュメモリ24間で行なうデ−タ転送処理に関する情報であり、以下の内容からなる。占有処理情報600は、論理デバイスを占有している処理の実行状況を示す。実行情報601は、タスクの実行状況を示す。実行状況とは、未使用、実行可能、実行中、あるいは、待ち状態である。未使用状態は、論理デバイスを使用している処理がないことを示す。実行可能状態は、論理デバイスを占有している処理をディレクタが実行できる状態であることを示す。実行中状態は、論理デバイスを占有している処理が実行中であることを示す。待ち状態は、待ち状態情報601に示す理由が解除されるのを待っている状態である。待ち状態が解除されると実行可能状態となり、ディレクタが実行可能状態を検出するとその処理を実行中として処理を継続する。待ち状態情報602は、実行情報601が待ち状態の場合、その理由を示す。待ち状態の理由としては、物理デバイス待ち、SCB待ち、あるいは、キャッシュ割り当て待ちがある。物理デバイス待ちは、論理デバイスを占有している処理がディスク装置25を使用するため、物理デバイスの空きを待っている状態である。SCB待ちは、物理デバイスを占有している処理が占有しているSCB40が空くのを待っている状態である。キャッシュ割当て待ちは、ライトアフタデ−タに関する容量制限のため、ライトアフタデ−タ量が制限値未満になるのを待っている状態である。シリンダ番号603は、処理対象とするトラック29が含まれるシリンダ番号を示す。エントリ数604は、後述するトラックリストに記録したエントリの数を格納する。トラックポインタ605は、処理が実行対象としているトラックリストのエントリを示す。トラックリストは、処理対象とするトラック番号606を1エントリとして記録する。トラック番号606は、処理が動作対象とするトラック29の番号を示す。ビジ−報告フラグ607は、CPU20が指示した処理を行なう時、当該ディスク装置25が使用中のため、CPU20にビジ−を報告したか否かを示す。当該フラグがオンの場合、CPU20にビジ−を報告済みであることを示す。物理デバイス情報70は、CPU20とディスク装置25間で行なうデ−タ転送処理、および、キャッシュメモリ24とディスク装置25間で行なうデ−タ転送処理に関する情報である。その内容は、占有処理情報700、実行情報701、シリンダ番号703、エントリ数704、トラックポインタ705、および、トラック番号706であり、それぞれ、論理デバイス情報60における、占有処理情報600、実行情報601、シリンダ番号603、エントリ数604、トラックポインタ605、および、トラック番号606に対応する情報である。待ち状態情報702は、実行情報701が待ち状態の場合、その理由を示す。待ち状態の理由としては、位置付け待ちがある。
図10は、負荷状況管理情報の構成図である。負荷状況管理情報46は、キャッシュメモリ24内のライトアフタデ−タの占有状況を管理する情報である。割り当て可能スロット数460は、ライトアフタデ−タに割り当て可能なキャッシュスロット241の数を示す。占有スロット数461は、キャッシュメモリ24内のライトアフタデ−タを含むキャッシュスロットの数を示す。過負荷設定スロット数462、過負荷解除スロット数463は、ライトアフタデ−タを含むキャッシュスロット241において、それぞれ、キャッシュ過負荷を設定するキャッシュスロット241の数とキャッシュ過負荷を解除するキャッシュスロット241の数を示す。過負荷フラグ464は、ライトアフタデ−タを含むキャッシュスロット241の数が、過負荷設定スロット数462以上となった時から、過負荷解除スロット数463未満になったときまでの状態を示すフラグである。スロット待ちTCBポインタ465は、キャッシュスロット241の割り当て待ちのため、CPU20からの入出力要求を待たせているTCB45を示すポインタである。ディスク割り当て情報470は、ディスク装置25ごとに存在し、カレントスロット数471、制限スロット数472、設定基準スロット数473、解除基準スロット数474、過負荷待ちフラグ475、および、最低割り当てスロット数476からなる。カレントスロット数471は、それぞれのディスク装置25に対して割り当てられたキャッシュスロット241の数であり、かつ、ライトアフタデ−タを含むキャッシュスロット241の数を示す。制限スロット数472は、それぞれのディスク装置25に対して割り当て可能なライトアフタデ−タを含むキャッシュスロット241の数を示す。設定基準スロット数473は、制限スロット数466を決定するための基準とするキャッシュスロット241の数であり、かつ、ライトアフタデ−タを含むキャッシュスロット241の数を示す。解除基準スロット数474は、それぞれのディスク装置25に対してキャッシュスロット241の割り当て制限を解除するための数であって、かつ、ライトアフタデ−タを含むキャッシュスロット241の数を示す。制限スロット数472、設定基準スロット数473、および、解除基準スロット数474が無効の場合、その内容はnullとする。過負荷待ちフラグ475は、カレントスロット数471が制限スロット数472以上になったため、キャッシュスロット241の割り当てを待たせている状態を示す。最低割り当てスロット数476は、ディスク装置25に割り当てるキャッシュスロット241の数の下限値である。
以下、ディレクタ−22が実行する処理内容を説明する。
図11は、図1に示したキャッシュ負荷状況判定処理1のフロ−チャ−トである。キャッシュ負荷状況判定処理1は、ライトアフタデ−タを含むキャッシュスロット241の占有量からキャッシュメモリ24の負荷状況を判定する処理である。本実施例では、負荷状況管理情報46における、割り当て可能スロット数460、過負荷設定スロット数462、過負荷解除スロット数463、および、最低割り当てスロット数476を、予め定めておく。ただし、過負荷設定スロット数462は、割り当て可能スロット数460以下でないと、ライトアフタデ−タを含むキャッシュスロット241の過負荷状況を設定できない。過負荷解除スロット数463は、過負荷設定スロット数462以下である。ステップ100では、過負荷フラグ464がオンかを判定する。当該フラグがオンの場合、ステップ110に進み、オフの場合、ステップ101に進む。ステップ101では、占有スロット数461が過負荷設定スロット数462以上かを判定する。条件を満足する場合、ステップ108に進み、満足しない場合、ステップ102に進む。ステップ102では、占有スロット数461が過負荷解除スロット数463以上か否かを判定する。この条件を満たす場合、処理を終了し、満たさない場合、ステップ103に進む。ステップ103〜107は、割当て解除処理4であり、制限スロット数472が設定されているディスク装置25に対して、スロットの割当ての解除を試行する。ステップ103では、制限スロット数472が設定されているディスク装置25を検索する。ステップ104では、制限スロット数472が設定されているディスク装置25を検出したか否かを判定する。検出した場合、ステップ105に進み、検出できなかった場合、処理を終了する。ステップ105では、カレントスロット数471が解除基準スロット数474未満かどうかを判定する。この条件を満たす場合、ステップ106に進み、条件を満たさない場合、ステップ107に進む。ステップ106では、スロットの割当ての制限を解除するため、制限スロット数472、設定基準スロット数473、および、解除基準スロット数474をnullとする。ステップ107では、全てのディスク装置25に対して判定が終了したかを判定する。終了していない場合、ステップ103に戻り、終了した場合、処理を終了する。ステップ108〜109では、キャッシュメモリ24の過負荷状況を設定する。ステップ108では、過負荷フラグ464をオンする。ステップ109では、ディスク装置25毎に、カレントスロット数471を設定基準スロット数473に設定する。ステップ110では、占有スロット数461が過負荷解除スロット数463未満かを判定する。条件を満たす場合、ステップ111に進み、満たさない場合、ステップ112に進む。ステップ111では、過負荷フラグ464をオフし、処理を終了する。ステップ112〜115は、割当て設定処理3であり、ディスク装置25に対するキャッシュスロット241の割り当て制限を行なう。ステップ112では、カレントスロット数471が設定基準スロット数473以上かを判定する。条件を満たす場合、ステップ113に進み、条件を満たさない場合、ステップ115進む。ステップ113では、カレントスロット数471が最低割り当てスロット数476以上かを判定する。条件を満たす場合、ステップ114に進み、満たさない場合、ステップ115に進む。ステップ114では、ディスク装置25に対するキャッシュスロット割当制限、および、制限解除基準を設定する。すなわち、制限スロット数472にカレントスロット数471を設定し、解除基準スロット数474に設定基準スロット数473の値を設定する。解除基準スロット数474を設定する時に、カレントスロット数471に対して予め定めた割合を設定してもよい。ステップ115では、全てのディスク装置25に対する判定が終了したかを判定する。終了していない場合、ステップ112に戻り、終了した場合、ステップ116に進む。ステップ116では、設定基準スロット数473を設定していないディスク装置25に対し、設定基準スロット数458にカレントスロット数471を設定する。
図12は、図1に示したCPU起動処理10のフロ−チャ−トである。CPU起動処理10は、CPU20から制御装置21に対する指示に従って実行される処理であり、CPU20とディスク装置25間、および、CPU20とキャッシュメモリ24間のデ−タ転送を行なう。ステップ120では、CPU20からデ−タ転送処理を指示されたディスク装置25において、論理デバイスが未使用状態かどうかを実行情報601により判定する。論理デバイスが未使用の場合、ステップ121に進み、それ以外は、ステップ146に進む。ステップ121では、図9に示した占有処理情報600にCPU起動処理の実行状況を設定し、実行情報601にタスクの実行状況を設定する。ステップ122では、CPU20から指示されたトラック29の内容が、キャッシュメモリ24内に存在するかを判定する。即ち、図5に示したサ−チテ−ブル41を参照し、当該トラック29に対応するサ−チポインタ414の内容がnullでない場合、当該トラック29の内容はキャッシュメモリ24内に存在すると判定される。この判定は、図1に示したキャッシュヒットミス判定11に対応する。キャッシュヒットの場合、ステップ123に進み、キャッシュミスの場合、ステップ140に進む。ステップ123〜133はキャッシュヒット処理12に対応する。ステップ123では、当該トラック29に対応するSCB40が、他の処理により使用中か否かをSCB占有フラグ400により判定する。使用中の場合、ステップ124に進み、使用中でない場合、ステップ125に進む。ステップ124では、論理デバイスの実行状態601を待ち状態とし、待ち状態情報602をSCB待ちとして、当該SCB40が解放されるまで待つ。ステップ125では、論理デバイス情報60にSCB40の内容を設定する。すなわち、実行情報601を実行中とし、エントリ数604に1を設定し、トラックポインタ605にはトラックリストの先頭のエントリを示す値を設定し、処理対象トラック29に対応するシリンダ番号603、トラック番号606を設定する。ステップ126では、CPU20からの指示により、当該トラックに対しライトアフタデ−タを新規に作成するのかを判定する。条件を満たす場合、ステップ127に進む、満たさない場合、ステップ130に進む。ステップ127では、制限スロット数472が有効かを判定する。ここで、制限スロット数472がnullでない場合、制限スロット数472は有効とする。有効の場合、ステップ128に進み、有効でない場合、ステップ130進む。ステップ128では、カレントスロット数471が制限スロット数472以上かを判定する。条件を満たす場合、ステップ129に進み、条件を満たさない場合、ステップ130に進む。ステップ129では、実行状態601を待ち状態とし、待ち状態情報602をキャッシュ割当て待ち状態とし、カレントスロット数471が制限スロット数472未満になるまで待つ。ステップ130では、割り当て可能スロット数460と占有スロット461からキャッシュスロット241にライトアフタデ−タを割り当て可能か否かを判定する。割り当て可能な場合、ステップ132に進み、割り当て不可能な場合、ステップ131に進む。ステップ131では、実行状態601を待ち状態とし、待ち状態情報602をキャッシュ割当て待ちとし、占有スロット数461が割り当て可能スロット数460未満になるまで待つ。ステップ132では、占有スロット数461とカレントスロット数471にそれぞれ割り当てたスロット数を加算する。ステップ133では、CPU20からの指示に従い、CPU20とキャッシュメモリ24間のデ−タ転送を行なう。この時、キャッシュメモリ24内のレコ−ド33を更新した場合、ライトアフタフラグ407をオンし、更新レコ−ドポインタ409を設定する。また、CPU20からシ−ケンシャルアクセスを指示され、かつ、ライトアフタデ−タを作成した場合、シ−ケンシャルラトアフタフラグ410をオンする。ステップ16では、シ−ケンシャル判定処理を実行する。シ−ケンシャル判定処理16のフロ−チャ−トを図14に示す。ステップ140〜145は、CPUディスク転送処理19に対応する。ステップ140では、当該ディスク装置25の物理デバイスが未使用か否かを実行情報701により判定する。物理デバイスが未使用の場合、ステップ142に進み、そうでない場合、ステップ141に進む。ステップ141では、実行状態601を待ち状態とし、待ち状態情報602を物理デバイス待ちとして、当該物理デバイスが開放されるまで待つ。ステップ142では、占有処理情報700にCPU起動処理の実行状況を設定し、実行情報701に実行中を設定する。ステップ143では、処理対象のトラック29にキャッシュスロット241を割り当て、TCB45に情報を設定する。すなわち、SCB占有フラグ400をオンし、ディスク装置番号403、シリンダ番号403、トラック番号405に、それぞれ、割り当てたトラック29に対するディスク装置番号、シリンダの番号、トラックの番号を設定し、シリンダ番号703に処理対象とするトラック29に対応するシリンダの番号を設定し、トラック番号706に処理対象とするトラック29の番号を設定し、エントリ数704にトラック番号458を設定したトラック29の数を設定し、トラックポインタ705に最初のエントリを示す値を設定する。ステップ144では、ディスク装置25に対し、CPU20が処理対象として指示したレコ−ド33への位置付け指示を行ない、その完了を待つ。ステップ145では、ディスク転送処理を行なう。この処理のフロ−チャ−トを図13に示す。
図13は、ディスク転送処理のフロ−チャ−トである。この処理は、ステップ145に対応する処理である。ステップ151では、CPU20からの指示に従い、CPU20とディスク装置25との間のデ−タ転送を行なう。ステップ152では、当該トラック29にキャッシュスロット241を割当て済みかを判定する。キャッシュスロット241が割り当てられている場合、ステップ153に進み、キャッシュスロット241が割り当てられていない場合、ステップ154に進む。ステップ153では、トラック29の内容を読み出し、割り当てられたキャッシュスロット241にその内容を格納する。この際、レコ−ドポインタ408を設定する。ステップ154では、TCB45の内容を無効化する。すなわち、論理デバイスに対する占有処理情報600をnullとし、実行情報601を未使用とし、さらに、物理デバイスに対する占有処理情報700をnullとし、実行情報701に未使用であることを示す情報を設定する。さらに、SCB40を割り当てている場合、SCB占有フラグ400をオフする。ステップ155では、ビジ−報告フラグ607によりCPU20にビジ−を報告したかを判定する。ビジ−を報告した場合、ステップ156に進み、そうでない場合、処理を終了する。ステップ156では、ビジ−報告フラグをオフし、CPU20にビジ−解除の報告を行なう。
図14は、図12に示したシ−ケンシャル判定処理16のフロ−チャ−トである。ステップ161では、CPUからの指示がシ−ケンシャルアクセスかを判定する。シ−ケンシャルアクセスの場合、ステップ162に進み、そうでない場合、ステップ167に進む。ステップ162では、CPU起動処理でライトを実行したかを判定する。ライトを実行した場合、ステップ165に進み、実行していない場合、ステップ163に進む。ステップ163では、ロ−ド処理が必要かを判定する。ロ−ド処理が必要な場合、ステップ164に進み、必要ない場合、ステップ167に進む。ステップ164では、ロ−ド処理を実行する。ロ−ド処理のフロ−チャ−トを図15に示す。ステップ165では、シ−ケンシャルライトアフタ処理が必要かを判定する。すなわち、当該トラック29以前にライトアフタデ−タを有するトラックが規定数以上あるかを判定する。規定数以上ある場合、ステップ18に進み、そうでない場合、ステップ167に進む。ステップ18では、シ−ケンシャルライトアフタ処理を行なう。シ−ケンシャルライトアフタ処理18のフロ−チャ−トを図16に示す。ステップ167では、論理デバイスに対する実行情報601に未使用を設定する。ステップ168では、ビジ−報告フラグ607によりCPU20にビジ−を報告したかを判定する。ビジ−を報告した場合、ステップ169に進み、そうでない場合、処理を終了する。ステップ169では、ビジ−報告フラグをオフし、CPU20にビジ−解除の報告を行なう。
図15は、ロ−ド処理164のフロ−チャ−トである。ロ−ド処理164は、ステップ164に対応する。ステップ170では、物理デバイスの実行情報701により、物理デバイスが未使用かを判定する。未使用の場合、ステップ172に進み、そうでない場合、ステップ171に進む。ステップ171では、論理デバイスの実行情報601に待ち状態を設定し、待ち状態情報602に物理デバイス待ちを設定し、物理デバイスが空くまで待つ。ステップ172では、物理デバイスの占有処理情報700にロ−ド処理の実行状況を設定し、実行情報701に実行中を設定し、論理デバイスの占有処理情報600をnullとし、実行情報601に未使用を設定する。ステップ173では、ビジ−報告フラグ607により、CPU20にビジ−を報告したかを判定する。ビジ−を報告した場合、ステップ174に進み、そうでない場合、ステップ175に進む。ステップ174では、ビジ−報告フラグ452をオフし、CPU20に当該ディスク装置25のビジ−状態が解除された報告を行なう。ステップ175では、ロ−ド処理が対象とするトラック29にキャッシュスロット241を割り当て、物理デバイス情報70に所定の値を設定する。すなわち、SCB占有フラグ400をオンし、キャッシュスロット241を割り当てたトラック29に対応するシリンダの番号をシリンダ番号455に設定し、キャッシュスロット241を割り当てたトラック29に対応するトラック29の番号をトラック番号458に設定し、エントリ数456にトラック番号458を設定したトラック29の数を設定し、トラックポインタ457を最初のエントリを示すようにする。ステップ176では、ディスク装置25に位置付け指示を行ない、その完了を待つ。ステップ177では、ロ−ド実行処理を行なう。この処理のフロ−チャトを図17に示す。
図16は、シ−ケンシャルライトアフタ処理のフロ−チャ−トである。この処理は、図1のステップ18に対応する。ステップ180では、物理デバイスの実行情報701により物理デバイスが未使用かを判定する。未使用の場合、ステップ182に進み、そうでない場合、ステップ181に進む。ステップ181では、論理デバイスの実行情報601に待ち状態を設定し、待ち状態情報602に物理デバイス待ちを設定し、物理デバイスが空くまで待つ。ステップ182では、物理デバイスの占有処理情報700にシ−ケンシャルライトアフタ処理を設定し、実行情報701に実行中を設定し、論理デバイスの占有処理情報600をnullとし、実行情報601に未使用を設定する。ステップ183では、ビジ−報告フラグ607により、CPU20にビジ−を報告したかを判定する。ビジ−を報告した場合、ステップ184に進み、そうでない場合、ステップ185に進む。ステップ184では、ビジ−報告フラグ607をオフし、CPU20に当該ディスク装置25のビジ−状態が解除されたことを報告する。ステップ185では、検出したディスク装置25に対応する物理デバイス情報70に所定の値を設定する。すなわち、シリンダ番号455に処理対象とするシリンダの番号を記録し、エントリ数456に1を設定し、トラック番号458に処理対象とするトラックの番号を設定し、トラックポインタ457を最初のエントリを示すようにする。ステップ186では、同一のディスク装置25であってかつ同一シリンダ内にある複数のトラック29に対応するそれぞれのSCB40の中から、シ−ケンシャルライトフラグ410がオンのSCB40を捜す。ステップ187では、前記トラック29に対応するSCB40を検出できたかを判定する。検出できた場合、ステップ188に進み、検出できなかった場合、ステップ189に進む。ステップ188では、検出したSCB40を物理デバイス情報70に設定する。すなわち、トラック番号706を設定し、エントリ数704を1加算し、ステップ186に戻る。ステップ189では、ディスク装置25に位置付け指示を行ない、その完了を待つ。ステップ190では、ライトアフタ実行処理を行なう。この処理のフロ−チャ−トを図19に示す。
図17は、ロ−ド実行処理のフロ−チャ−トである。ロ−ド実行処理は、図14のステップ169に対応する。ステップ200では、トラックポインタ457が示すトラック番号458について、インデクス30を見つける。ステップ201では、トラック29上のレコ−ド33を見つけてこれを読み込み、キャッシュスロット241に格納する。この際、レコ−ドポインタ408にレコ−ド33を格納したキャッシュスロット241上の位置を記録する。ステップ202では、当該トラック29に記録されたレコ−ド33の読み込みが終了したかを判定する。終了した場合、ステップ203に進み、終了していない場合、ステップ201に戻る。ステップ203では、物理デバイス情報70に示した全てのトラック29に対し、ロ−ド処理が終了したかを判定する。終了していない場合、ステップ204に進み、終了した場合、ステップ205に進む。ステップ204では、次のトラック29を処理対象とする。即ち、トラックポインタ705が次のエントリを示すように更新する。本ステップ204処理後、ステップ200に戻る。ステップ205では、物理デバイス情報70に登録されたSCB40のSCB占有フラグ400をオフし、物理デバイスに対する占有処理情報700をnullとし、実行情報701に未使用を設定する。ステップ206では、論理デバイス情報60の実行情報601により、論理デバイスの処理が待ち状態かを判定する。待ち状態の場合、ステップ207に進み、待ち状態でない場合、処理を終了する。ステップ207では、論理デバイス情報60の実行情報601を実行可能とする。
図18は、図1に示したライトアフタ処理5のフロ−チャ−トである。ライトアフタ処理5は、ディレクタ−22が空き状態の場合に実行される。ステップ210では、ライトアフタデ−タを持ち、物理デバイスが空き状態、かつ、論理デバイスがスロット待ち状態のディスク装置25を検索する。すなわち、LRUポインタ43からSCB40をたどり、ライトアフタフラグ407により、ライトアフタデ−タを持ち、SCB占有フラグ400がオフのSCB40を捜す。さらに、物理デバイスの実行情報701により、検出したSCB40に対応するディスク装置25が、未使用かを判定し、論理デバイスの実行情報601と待ち状態情報602により、スロット待ち状態かを判定する。ステップ211では、ステップ210で検索したディスク装置25が検出できたかを判定する。検出できた場合、ステップ216に進み、検出できない場合、ステップ212に進む。ステップ212では、ライトアフタデ−タを持ち、物理デバイスが空き状態、かつ、過負荷状態のディスク装置25を検索する。すなわち、LRUポインタ43からSCB40をたどり、ライトアフタフラグ407により、ライトアフタデ−タを持ち、SCB占有フラグ400がオフのSCB40を捜す。さらに、物理デバイスの実行情報701により、検出したSCB40に対応するディスク装置25が、使用可能かを判定し、制限スロット数472により、過負荷状態かを判定する。ステップ213では、ステップ212で検索したディスク装置25が検出できたかを判定する。検出できた場合、ステップ216に進み、検出できない場合、ステップ214に進む。ステップ214では、ライトアフタデ−タを持ち、かつ、物理デバイスが空き状態のディスク装置25を検索する。すなわち、LRUポインタ43からSCB40をたどり、ライトアフタフラグ407により、ライトアフタデ−タを持ち、SCB占有フラグ400がオフのSCB40を捜す。さらに、物理デバイスの実行情報701により、検出したSCB40に対応するディスク装置25が、使用可能かを判定する。ステップ215では、ステップ214で検索したディスク装置25が検出できたかを判定する。検出できた場合、ステップ216に進み、検出できない場合、処理を終了する。ステップ216では、実行情報701に実行中を設定する。ステップ217では、検出したディスク装置に対応する物理デバイス情報70に所定の値を設定する。すなわち、占有処理情報700にライトアフタ処理を設定し、実行情報701を実行中とし、シリンダ番号703に処理対象とするシリンダの番号を記録し、エントリ数704に1を設定し、トラック番号458に処理対象とするトラックの番号を設定し、トラックポインタ705に最初のエントリを示す値を設定する。検出したSCB40のSCB占有フラグ400をオンする。ステップ218では、同一のディスク装置25であってかつ同一シリンダ内にある複数のトラック29に対応するそれぞれのSCB40の中から、SCB占有フラグ400がオフ、かつ、ライトアフタフラグ407がオンのSCBを捜す。ステップ139では、前記トラック29に対応するSCB40を検出できたかを判定する。検出できた場合、ステップ220に進み、検出できなかった場合、ステップ141に進む。ステップ220では、トラック番号706を設定し、エントリ数704を1加算し、SCB占有フラグをオンとし、ステップ218に戻る。ステップ221では、ディスク装置25に位置付け指示を行ない、その完了を待つ。ステップ190では、ライトアフタ実行処理を行なう。この処理のフロ−チャ−トを図19に示す。
図19は、ライトアフタ実行処理190のフロ−チャ−トである。ライトアフタ実行処理は、図16のステップ190に対応する。ステップ230では、レコ−ド33のサ−チを開始し、位置付けたディスク装置25上の物理位置を記憶する。ステップ231では、トラック29上のレコ−ド33を見つけ、制御部34を読みだす。ステップ232では、位置付け指示したレコ−ド番号とステップ231で見つけたレコ−ド番号が一致するかを判定する。一致する場合、ステップ234に進み、一致しない場合、ステップ233に進む。ステップ233では、ステップ230で記憶した物理位置と、ステップ231で読みだしたレコ−ドの物理位置を比較し、ディスクが1回転したかを判定する。1回転していない場合、ステップ231に戻り、1回転している場合、ステップ239に進む。ステップ234では、キャッシュスロット241からレコ−ド33を読み出し、ディスク装置25に書き出す。書きだしたレコ−ド33に対応する更新レコ−ドポインタ409をnullとする。当該トラック29に対する更新レコ−ドポインタ409の全てがnullとなったら、ライトアフタフラグ407とシ−ケンシャルライトフラグ410をオフする。ステップ235では、トラック29内のレコ−ド33に対する処理が終了したかを判定する。処理が終了した場合、ステップ230に戻り、処理が終了していない場合、ステップ236に進む。ステップ236では、占有スロット数460とカレントスロット数466からスロット数を減算し、SCB占有フラグ400をオフする。ステップ237では、ライトアフタ処理の終了判定を行う。終了でない場合、ステップ238に進み、終了の場合、ステップ239に進む。ステップ238は、次のトラック29を処理対象とする。即ち、トラックポインタ457が次のエントリを示すように更新する。本ステップ238の処理が終了した後、ステップ230に戻る。ステップ241では、物理デバイス情報70の内容を無効化する。すなわち、物理デバイス情報70の占有処理情報700をnullとし、実行情報701を未使用とする。ステップ240では、論理デバイス情報60の実行情報601により、論理デバイスの処理が待ち状態かを判定する。待ち状態の場合、ステップ241に進み、待ち状態でない場合、処理を終了する。ステップ241では、論理デバイス情報60の実行情報601を実行可能とする。
本発明の実施例によれば、図1のキャッシュ負荷状況判定処理1により、ライトアフタデ−タの量が閾値以上となった場合、ディスク装置25毎の割当て制限を設定する。割当て制限以上のライトアフタデ−タ量を要求するCPU20からのデ−タ書き出し指示があった場合、ライトアフタ処理5はライトアフタデ−タをキャッシュメモリ24からディスク装置25に書き出し、ライトアフタデ−タの量が割当て制限未満になるまで上記の指示を待たせる。このため、あるディスク装置25への割当て量が過大となり、他のディスク装置25に対する割当て量が過少となることはない。従って、ディスク装置25に対するキャッシュメモリ24の割当てに関し、他のディスク装置25に対するキャッシュメモリ24の割当てを阻害しない適切な配分を行うことができる。
さらに、CPU20によりシ−ケンシャルアクセスが指示されて、ライトアフタデ−タが作成されると記憶装置に書き込むべきライトアフタデ−タは、急激に増加する。このため、前記ライトアフタデ−タをただちにキャッシュメモリから記憶装置に書き出す。これにより、中央処理装置からシ−ケンシャルアクセスが指示された場合でも、他の記憶装置に対するキャッシュメモリの割り当てを阻害しない、適切な配分を行う記憶装置の制御装置を提供することができる。
以下、第2の実施例について示す。第2の実施例は、装置構成等は、第1の実施例と同様であり、ディレクタ22が実行するCPU起動処理のみが第1の実施例とは異なる。ここでは、第2の実施例が、第1の実施例とは異なっているところのみを説明する。
本実施例でのCPU起動処理10は、キャッシュメモリの割当制限以上のライトアフタデ−タが存在する場合、CPUディスク転送処理を行う。
図20は、本発明の第2の実施例における情報処理システムを示す図である。ディレクタ22は、CPU20とディスク装置25との間、CPU20とキャッシュメモリ24との間、および、キャッシュメモリ24とディスク装置25との間で行うデ−タ転送を制御する。CPU起動処理10は、CPU20からの指示によりCPU20とディスク装置25間、および、CPU20とキャッシュメモリ24間のデ−タ転送を実行する。CPU20とキャッシュメモリ24との間のデ−タ転送において、書きかえたキャッシュメモリ24内のデ−タをライトアフタデ−タと呼び、このライトアフタデ−タをキャッシュメモリ24からディスク装置25に書きす処理をライトアフタ処理と呼ぶ。ヒットミス判定処理11では、処理対象のトラック29の内容がキャッシュメモリ24内にあるかを判定する。トラック29の内容がキャッシュメモリ24内にある場合、キャッシュヒットと呼び、トラック29の内容がキャッシュメモリ24内にない場合、キャッシュミスと呼ぶ。キャッシュヒットの場合、キャッシュヒット処理12を行なう。キャッシュヒット処理12では、キャッシュ割り当て制限判定処理13によりライトアフタデ−タに対するキャッシュメモリ24の割り当て状況を判定し、割当て不可能な場合、CPUディスク転送処理18を実行する。CPUキャッシュ転送処理15では、CPU20の指示に従い、キャッシュメモリ24内のデ−タを読み書きする。シ−ケンシャル判定処理16、キャッシュ負荷状況判定処理1、および、ライトアフタ処理5は、第1の実施例と同様であるため、ここでは説明しない。
図21は、第2の実施例におけるCPU起動処理に関するフロ−チャ−トである。CPU起動処理10は、CPU20から制御装置21に対する指示により実行する処理であり、CPU20とディスク装置25間、および、CPU20とキャッシュメモリ24間のデ−タ転送を行なう。ステップ120〜127は、図12に示した第1の実施例と同様であるため、ここでは説明しない。ステップ128では、カレントスロット数471が制限スロット数472以上かを判定する。条件を満たす場合、ステップ140に進み、条件を満たさない場合、ステップ130に進む。ステップ130〜133、ステップ140〜145、および、ステップ16は、第1の実施例と同様であるため、ここでは説明しない。
本発明の実施例によれば、キャッシュ負荷状況判定処理1により、ライトアフタデ−タの量が閾値以上となった場合、ディスク装置25毎の割当て制限を設定する。割当て制限以上のライトアフタデ−タ量を要求するCPU20からのデ−タ書き出し指示があった場合、CPUディスク転送処理19により、CPU20とディスク装置25とのデ−タ転送により上記の指示に対する処理を行なう。このため、あるディスク装置25への割当て量が過大となり、他のディスク装置25に対する割当て量が過少となることはない。従って、ディスク装置25に対するキャッシュメモリ24の割当てに関し、他のディスク装置25に対するキャッシュメモリ24の割当てを阻害しない適切な配分を行うことができる。
以下、第3の実施例について示す。第3の実施例は、負荷状況管理情報46として、割り当て可能スロット数460、過負荷設定スロット数461、過負荷解除スロット数463、および、最低割り当てスロット数476を外部からの指示により設定することが第1の実施例とは異なる。本実施例では、制御装置21にサ−ビスパネル36を接続し、サ−ビスパネル36により負荷情報管理情報46を指定する。ここでは、第3の実施例が、第1の実施例とは異なっているところのみを説明する。
図22は、本発明の第3の実施例を示す情報処理システムの構成図である。情報処理システムは、中央処理装置(CPU)20、CPU20に接続された制御装置21、制御装置21に接続されたサ−ビスパネル36、および、制御装置21に接続された少なくとも1台のディスク装置25からなる。制御装置21は、ディレクトリ23、キャッシュメモリ24、サ−ビスプロセッサ26、および、少なくも1つのディレクタ22を有する。
図23は、本発明の第3の実施例における情報処理システムを示す図である。ディレクタ22は、CPU20とディスク装置25との間、CPU20とキャッシュメモリ24との間、および、キャッシュメモリ24とディスク装置25との間で行うデ−タ転送を制御する。CPU起動処理10、キャッシュ負荷状況判定処理1、および、ライトアフタ処理5は、第1の実施例と同様であり、ここでは、説明しない。負荷基準操作処理39は、サ−ビスプロッセサ26の指示により、ディレクトリ23の内容を読みだす、あるいは、更新する。サ−ビスパネル36は、制御装置21内の制御情報をユ−ザに表示するための表示部37と、ユ−ザからの指示を受け付けるための指示受領部38からなる。サ−ビスプロセッサ26は、サ−ビスパネル37とディレクタ22との間にあって、情報の表示と授受を制御する。
図24は、サ−ビスパネル36に表示される内容である。表示される内容としては、割当制限スロット数81、過負荷設定スロット数82、過負荷解除スロット数83、ディスク装置番号84、制限スロット数85、および、最低割当スロット数86がある。割当制限スロット数81、過負荷設定スロット数82、過負荷解除スロット数83、制限スロット数85、最低割当スロット数86は、それぞれ、割当制限スロット数460、過負荷設定スロット数462、過負荷解除スロット数463、制限スロット数472、最低割当スロット数476に対応する。それぞれの情報に関し、その内容がnullのものは、空白を表示し、その内容がnullでないものは、その値を表示する。ディスク装置番号84は、ディスク装置の番号であり、この領域は、更新不可能とする。メッセ−ジ表示欄87は、ユ−ザにより指示された情報の内容に誤りがある場合のエラ−表示等を行う。
図25は、第3の実施例における負荷管理情報の構成図である。負荷管理情報46は、キャッシュメモリ24内のライトアフタデ−タの占有状況を管理する情報である。図10に示した第1の実施例と異なるのは、ディスク割当情報470内に、新たに、制限スロット数設定フラグ477を設けたことである。ここでは、制限スロット数設定フラグ477について説明する。制限スロット数設定フラグ477は、外部からの指示により制限スロット数472を設定したかを示すフラグである。
図26は、サ−ビスプロセッサによる負荷基準操作処理のフロ−チャ−トである。負荷基準操作処理39は、サ−ビスプロセッサ26からの指示により、ディレクタ22が実行する処理である。ステップ250では、サ−ビスプロセッサ26からの指示が情報更新か否かを判定する。情報更新の場合、ステップ252に進み、情報更新でない場合、ステップ251に進む。ステップ251では、割当制限スロット数460、過負荷設定スロット数462、過負荷解除スロット数463、制限スロット数472、および、最低割当スロット数476を読みだし、サ−ビスプロセッサ26に転送する。ステップ252では、サ−ビスプロセッサ26から情報が転送されてくるのを待つ。ステップ253では、サ−ビスプロセッサ26から転送された情報を割当制限スロット数460、過負荷設定スロット数462、過負荷解除スロット数463、制限スロット数472、および、最低割当スロット数476に設定する。この際、制限設定スロット数95の内容がnullでないディスク装置25に対し、制限スロット数設定フラグ477をオンする。
図27は、サ−ビスプロセッサでの情報操作処理を示す図である。本処理は、サ−ビスパネル36の指示受領部38により指示を受け、サ−ビスプロセッサ26が実行する。ステップ261では、ユ−ザからの指示が情報更新か否かを判定する。情報更新の場合、ステップ264に進み、情報更新でない場合、ステップ262に進む。ステップ262では、ディレクタ22に情報読みだしを指示し、情報が転送されてくるのを待つ。ステップ263では、サ−ビスパネル36に情報を表示する。表示内容は、図24で既に説明した。ステップ264では、サ−ビスパネル36に設定された値を読みだす。ステップ265では、設定内容が正常かを判定する。すなわち、最低割当てスロット数86以外に値が0のものがない、かつ、設定情報のうち実装スロット数より大きいものがあるかを判定する。ここで、実装スロット数とは、キャッシュメモリ24内のキャッシュスロット241の数である。条件を満たす場合、ステップ266に進み、条件を満たさない場合、ステップ272に進む。ステップ266では、過負荷設定スロット数82が過負荷解除スロット数83以上かを判定する。条件を満たす場合、ステップ267に進み、条件を満たさない場合、スロット272に進む。ステップ267では、制限スロット数85あるいは最低割当スロット数86が設定されたディスク装置を検索する。ステップ268では、ディスク装置を検出したかを判定する。検出した場合、ステップ269に進み、検出できなかった場合、ステップ270に進む。ステップ269では、制限スロット数85が最低割当スロット数86より大きいかを判定する。条件を満たす場合、ステップ270に進み、条件を満たさない場合、ステップ272に進む。ステップ270では、全てのディスク装置25について判定が終了したかを判定する。判定が終了した場合、ステップ271に進み、終了していない場合、ステップ267に戻る。ステップ271では、ディレクタ22に情報更新を指示して、情報を転送する。ステップ272では、図24のメッセ−ジ表示欄87に情報不正を示すエラ−表示を行う。
図28は、第3の実施例におけるキャッシュ負荷状況判定処理1のフロ−チャ−トである。本処理は、ライトアフタデ−タを含むキャッシュスロット241の占有量からキャッシュメモリ24の負荷状況を判定する処理である。本実施例において、図11に示した第1の実施例と異なるのは、ステップ104とステップ105の間にステップ256を挿入し、ステップ113とステップ114の間にステップ256を挿入した点である。ステップ100では、過負荷フラグ464がオンかを判定する。当該フラグがオンの場合、ステップ110に進み、オフの場合、ステップ101に進む。ステップ101では、占有スロット数461が過負荷設定スロット数462以上かを判定する。条件を満足する場合、ステップ108に進み、満足しない場合、ステップ102に進む。ステップ102では、占有スロット数461が過負荷解除スロット数463以上かを判定する。条件を満たす場合、処理を終了し、満たさない場合、ステップ103に進む。ステップ103〜107およびステップ255は、図23に示す割当て解除処理4であり、制限スロット数472が設定されているディスク装置25に対するスロットの割当てを解除する。ステップ103では、制限スロット数472が設定されているディスク装置25を検索する。ステップ104では、当該ディスク装置25を検出したかを判定する。検出した場合、ステップ255に進み、検出できなかった場合、処理を終了する。ステップ255では、制限スロット数割当フラグ477がオンかを判定する。当該フラグがオンの場合、ステップ107に進み、オフの場合、ステップ105に進む。ステップ105では、カレントスロット数471が解除基準スロット数474未満かを判定する。条件を満たす場合、ステップ106に進み、条件を満たさない場合、ステップ107に進む。ステップ106では、制限を解除するため、制限スロット数472、設定基準スロット数473、および、解除基準スロット数474をnullとする。ステップ107では、全てのディスク装置25に対して判定が終了したかを判定する。終了していない場合、ステップ103に戻り、終了した場合、処理を終了する。ステップ108〜109では、キャッシュメモリの過負荷状況に所定の値を設定する。すなわち、ステップ108では、過負荷フラグ464をオンする。ステップ109では、ディスク装置25毎に、カレントスロット数471を設定基準スロット数473に設定する。ステップ110では、占有スロット数461が過負荷解除スロット数463未満かを判定する。条件を満たす場合、ステップ111に進み、満たさない場合、ステップ112に進む。ステップ111では、過負荷フラグ464をオフし、処理を終了する。ステップ112〜115およびステップ256は、図23に示す割当て設定処理3であり、ディスク装置25に対するキャッシュスロット241の割り当て制限を行なう。ステップ112では、カレントスロット数471が設定基準スロット数473以上かを判定する。条件を満たす場合、ステップ113に進み、条件を満たさない場合、ステップ115進む。ステップ113では、カレントスロット数471が最低割り当てスロット数476以上かを判定する。条件を満たす場合、ステップ256に進み、満たさない場合、ステップ115に進む。ステップ256では、制限スロット数割当フラグ477がオンかを判定する。当該フラグがオンの場合、ステップ115に進み、オフの場合、ステップ114に進む。ステップ114では、ディスク装置25に対するキャッシュスロット割当制限、および、制限解除基準を設定する。すなわち、制限スロット数472にカレントスロット数471を負荷管理情報46に設定し、解除基準スロット数474に設定基準スロット数473の値を負荷管理情報46に設定する。解除基準スロット数474の設定として、カレントスロット数471の予め定めた割合を設定してもよい。ステップ115では、全てのディスク装置25に対する判定が終了したかを判定する。終了していない場合、ステップ112に戻り、終了した場合、ステップ116に進む。ステップ116では、設定基準スロット数473が設定されていないディスク装置25に対し、カレントスロット数471を設定基準スロット数458として負荷管理情報46に設定する。
本実施例では、サ−ビスパネル36からの指示により、割り当て可能スロット数460、過負荷設定スロット数461、過負荷解除スロット数463、および、最低割り当てスロット数476を負荷管理情報46に設定する例を示した。同様のことを、CPU20からの指示により行なうことが可能である。以下、CPU20からの指示により、負荷管理情報46を設定する方法について示す。
図29は、中央処理装置と制御装置21との間で転送される情報の内容を示す図である。CPU20から指示される要求としては、負荷情報を読みだす要求である負荷情報センス要求と、負荷情報を設定する要求である負荷情報設定要求がある。負荷情報センスコマンド90は、CPU20からの要求が負荷情報センス要求であることを示す。制御装置21は、CPU20から負荷情報センスコマンド90が指示されると、割当制限スロット数91、過負荷設定スロット数92、過負荷解除スロット数93、ディスク装置番号94、制限スロット数95、および、最低割当スロット数96をCPU20に転送する。割当制限スロット数91、過負荷設定スロット数92、過負荷解除スロット数93、制限スロット数95、最低割当スロット数96は、それぞれ、割当制限スロット数460、過負荷設定スロット数462、過負荷解除スロット数463、制限スロット数472、最低割当スロット数476に対応する。ディスク装置番号94は、ディスク装置25の番号である。負荷情報設定コマンド97は、CPU20からの要求が負荷情報設定要求であることを示す。制御装置21は、CPU20から負荷情報設定コマンド97が指示されると、CPU20から転送される、割当制限スロット数91、過負荷設定スロット数92、過負荷解除スロット数93、ディスク装置番号94、制限スロット数95、および、最低割当スロット数96を、それぞれ対応する、割当制限スロット数460、過負荷設定スロット数462、過負荷解除スロット数463、制限スロット数472、最低割当スロット数476に設定する。
図30は、図23に示した負荷基準操作処理39のフロ−チャ−トである。本処理は、CPU20から、負荷情報センスコマンド90、あるいは、負荷情報設定コマンド97が指示された場合、ディレクタ22が実行する。ステップ280では、CPU20からのコマンドが負荷情報設定コマンド97かを判定する。負荷情報設定コマンド97の場合、ステップ282に進み、それ以外では、ステップ281に進む。ステップ281では、割当制限スロット数460、過負荷設定スロット数462、過負荷解除スロット数463、制限スロット数472、最低割当スロット数476をディレクトリ23から読みだし、割当制限スロット数91、過負荷設定スロット数92、過負荷解除スロット数93、ディスク装置番号94、制限スロット数95、および、最低割当スロット数96として、CPU20に転送する。ステップ282では、CPU20から、割当制限スロット数91、過負荷設定スロット数92、過負荷解除スロット数93、ディスク装置番号94、制限スロット数95、および、最低割当スロット数96が転送されるのを待つ。ステップ283では、割当制限スロット数91、過負荷設定スロット数92、過負荷解除スロット数93、ディスク装置番号94、制限スロット数95、および、最低割当スロット数96を、負荷管理情報46に含まれる割当制限スロット数460、過負荷設定スロット数462、過負荷解除スロット数463、制限スロット数472、最低割当スロット数476に設定する。この時、制限設定スロット数95の内容がnullでないディスク装置25に対して、制限スロット数設定フラグ477をオンする。
本発明の実施例によれば、ユ−ザからの指示、あるいは、CPU20からの指示により、ライトアフタデ−タの割当て制限を設定する。ユ−ザあるいはCPU20により、ライトアフタデ−タの制限が設定されなかった場合、キャッシュ負荷状況判定処理1により、ライトアフタデ−タの量が閾値以上となった場合、ディスク装置25毎の割当て制限を設定する。割当て制限以上のライトアフタデ−タ量を要求するCPU20からのデ−タ書き出し指示があった場合、ライトアフタ処理5がライトアフタデ−タをキャッシュメモリ24からディスク装置25に書き出し、ライトアフタデ−タが割当て制限未満になるまで上記の指示を待たせる。このため、あるディスク装置25への割当て量が過大となり、他のディスク装置25に対する割当て量が過少となることはない。さらに、ユ−ザあるいはCPU20の指示によりライトアフタデ−タの割当て制限を変更することができる。従って、ディスク装置25に対してキャッシュメモリ24の割当てる時に、他のディスク装置25に対するキャッシュメモリ24の割当てを阻害しない適切な配分を行うことができる。
尚、本発明の一実施形態によれば、以下の様な構成をとることもできる。
制御装置は、前記記憶装置内のデ−タの一部あるいは前記記憶装置に書き出す前のデ−タを記憶するキャッシュメモリと、前記制御装置の管理情報を記録するディレクトリと、キャッシュメモリ、ディレクトリおよびデ−タ転送を制御するディレクタを有し、前記ディレクタは、キャッシュメモリ内にある前記記憶装置に書き出す前のデ−タ量が閾値以上かを判定する手段により、キャッシュメモリへの前記デ−タの書き出しを制御できる。前記キャッシュメモリ内の前記デ−タ量が閾値以上の場合、記憶装置毎の前記デ−タの割当量を設定する手段により、記憶装置毎に、前記デ−タの格納領域が保障される。前記キャッシュメモリ内の前記デ−タ量が閾値未満の場合、前記記憶装置毎の前記デ−タ量の割当制限を解除する手段により、デ−タ量の判定に要する処理を低減できる。前記割当制限値以上のキャッシュメモリの割り当てを要求する前記中央処理装置からのデ−タ書きだし指示を待たせる手段により、当該記憶装置に書き出すべき前記デ−タが増加することを防ぐ。前記記憶装置に書き出す前のデ−タを前記キャッシュメモリから前記記憶装置に書き出す手段により、前記デ−タの量を減少させることができる。この際、前記割当制限値以上のキャッシュメモリの割り当てを要求する前記中央処理装置からのデ−タ書きだし指示を待たせる手段により、デ−タの書きだし処理を待たせている前記記憶装置のグル−プから1つの記憶装置に対応するデ−タを選択して、前記キャッシュメモリから前記記憶装置に書き出す手段により、前記デ−タの割当て制限が原因で待ち状態となったデ−タの書きだし処理を優先して行なうことができる。キャッシュメモリ内にある前記記憶装置に書き出す前のデ−タを、前記記憶装置毎の前記デ−タ量の割当制限を設定している前記記憶装置のグル−プから選択して、前記キャッシュメモリから前記記憶装置に書き出す手段により、前記デ−タの割当て制限が原因で生じた待ち状態が放置された状態とならない。従って、記憶装置に対するキャッシュメモリの割り当てに関し、他の記憶装置に対するキャッシュメモリの割り当てを阻害しない、適切な配分を行う記憶装置の制御装置を提供することができる。
さらに、前記中央処理装置によりシ−ケンシャルアクセスが指示されて作成されたライトアフタデ−タが規定数以上存在するかを判定する、シ−ケンシャルライトアフタ判定手段により、前記中央処理装置から連続的にライトアフタデ−タを作成できる。連続的にライトアフタデ−タが作成されると、当該記憶装置に対するライトアフタデ−タは、急激に増加する。このため、前記ライトアフタデ−タをキャッシュメモリから記憶装置に書き出すシ−ケンシャルライトアフタ処理を行う手段により、前記中央処理装置から連続的に作成されたライトアフタデ−タをキャッシュメモリから記憶装置に書き出すことができる。これにより、中央処理装置からシ−ケンシャルアクセスが指示された場合でも、他の記憶装置に対するキャッシュメモリの割り当てを阻害しない、適切な配分を行う記憶装置の制御装置を提供することができる。
前記キャッシュメモリ内にある前記記憶装置に書き出す前のデ−タ量に対する閾値および前記記憶装置に対する前記デ−タの割当制限値を、前記中央処理装置に報告する手段により、前記中央処理装置は、記憶装置に対する負荷状況を把握できる。前記中央処理装置から指示された、前記キャッシュメモリ内にある前記記憶装置に書き出す前のデ−タ量に対する閾値および前記記憶装置に対する前記デ−タの割当制限値を設定する手段により、前記中央処理装置が要求する記憶装置の応答時間に応じて、前記キャッシュメモリ内にある前記記憶装置に書き出す前のデ−タ量に対する閾値および前記記憶装置に対する前記デ−タの割当制限値を設定することができる。従って、中央処理装置の要求を加味した他の記憶装置に対するキャッシュメモリの割り当てを阻害しない、適切な配分を行う記憶装置の制御装置を提供することができる。
20・・・中央処理装置
21・・・制御装置
22・・・ディレクタ
23・・・ディレクトリ
24・・・キャッシュメモリ
25・・・ディスク装置
21・・・制御装置
22・・・ディレクタ
23・・・ディレクトリ
24・・・キャッシュメモリ
25・・・ディスク装置
Claims (7)
- 中央処理装置と複数の記憶装置とに接続されたキャッシュメモリを有する制御装置であって、
前記キャッシュメモリ内の、前記複数の記憶装置に書き出す前のデータの量が、第一の閾値以上か第二の閾値未満かを判定する判定手段と、
前記データ量が前記第一の閾値以上であると判定したことに応じて、前記キャッシュメモリの割り当て制限データ量を前記複数の記憶装置毎に設定する手段と、
前記データ量が前記第二の閾値未満であると判定したことに応じて、前記複数の記憶装置毎に設定された前記キャッシュメモリの割り当て制限量を解除する手段と、
前記中央処理装置がいずれかの記憶装置について前記割り当て制限データ量以上の前記キャッシュメモリの割り当てを要求したことに応じて、前記中央処理装置から前記キャッシュメモリへの書き出し処理を待たせる手段と、
前記複数の記憶装置にまだ書き出していないデータを、前記キャッシュメモリから前記複数の記憶装置に書き出す書き出し手段とを有することを特徴とする制御装置。 - 中央処理装置に接続される装置であって、
前記中央処理装置に接続されるディレクタと、
前記ディレクタに接続された複数の記憶装置と、
前記ディレクタに接続されたキャッシュメモリとを備え、
前記ディレクタは、前記キャッシュメモリ内に格納されているデータのデータ量に応じて、前記複数の記憶装置ごとに、前記キャッシュメモリの割り当て制限量を設定する手段と、
前記中央処理装置が、いずれかの記憶装置について、該記憶装置についての前記割り当て制限量以上の前記キャッシュメモリの割り当てを要求した場合に、前記中央処理装置から前記キャッシュメモリへの書き出し処理を待たせる手段と、
前記キャッシュメモリに格納されているデータを、前記キャッシュメモリから前記複数の記憶装置に書き出す手段を有することを特徴とする装置。 - 請求項2記載の装置であって、
前記キャッシュメモリの割り当て制限量を設定する手段は、前記キャッシュメモリ内の、データが格納されているキャッシュスロットの数に応じて、前記複数の記憶装置ごとに、キャッシュスロットの割り当て制限数を設定することを特徴とする装置。 - 請求項3記載の装置であって、
前記キャッシュメモリの割り当て制限量を設定する手段は、前記キャッシュメモリ内の、前記複数の記憶装置に未だ書き込まれていないデータが格納されているキャッシュスロットの数に応じて、前記複数の記憶装置ごとに、キャッシュスロットの割り当て制限数を設定することを特徴とする装置。 - 請求項2記載の装置であって、
前記キャッシュメモリの割り当て制限量を設定する手段は、前記キャッシュメモリ内に格納されている、前記複数の記憶装置に未だ書き込まれていないデータのデータ量に応じて、前記複数の記憶装置ごとに、前記キャッシュメモリの割り当て制限量を設定することを特徴とする装置。 - 請求項2記載の装置であって、
前記キャッシュメモリの割り当て制限量を設定する手段は、前記キャッシュメモリ内に格納されているデータ量が第一の閾値より多い場合に、更に前記複数の記憶装置ごとに、各記憶装置に書き込まれる前のデータであって前記キャッシュメモリに格納されているデータのデータ量が第二の閾値より多いか否かを判断し、当該データ量が前記第二の閾値より多い場合に、この記憶装置について前記キャッシュメモリの割り当て制限量を設定することを特徴とする装置。 - 請求項6記載の装置であって、
前記キャッシュメモリの割り当て制限量を設定する手段は、前記キャッシュメモリ内に格納されている前記複数の記憶装置に未だ書き込まれていないデータのデータ量が前記第一の閾値より多い場合に、更に前記複数の記憶装置ごとに、各記憶装置に書き込まれる前のデータであって前記キャッシュメモリに格納されているデータのデータ量が第二の閾値より多いか否かを判断し、当該データ量が前記第二の閾値より多い場合に、この記憶装置について前記キャッシュメモリの割り当て制限量を設定することを特徴とする装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005043364A JP2005166073A (ja) | 2005-02-21 | 2005-02-21 | 記憶装置の制御装置および制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005043364A JP2005166073A (ja) | 2005-02-21 | 2005-02-21 | 記憶装置の制御装置および制御方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002082322A Division JP3721338B2 (ja) | 2002-03-25 | 2002-03-25 | 記憶装置の制御装置および制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005166073A true JP2005166073A (ja) | 2005-06-23 |
Family
ID=34737689
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005043364A Pending JP2005166073A (ja) | 2005-02-21 | 2005-02-21 | 記憶装置の制御装置および制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005166073A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013065060A (ja) * | 2011-08-05 | 2013-04-11 | Toshiba Corp | 情報処理装置およびキャッシュ方法 |
CN111858399A (zh) * | 2019-04-30 | 2020-10-30 | 贵州白山云科技股份有限公司 | 一种数据传输方法、装置、计算机可读存储介质和计算机设备 |
-
2005
- 2005-02-21 JP JP2005043364A patent/JP2005166073A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013065060A (ja) * | 2011-08-05 | 2013-04-11 | Toshiba Corp | 情報処理装置およびキャッシュ方法 |
US8762628B2 (en) | 2011-08-05 | 2014-06-24 | Kabushiki Kaisha Toshiba | Information processing apparatus and cache method |
CN111858399A (zh) * | 2019-04-30 | 2020-10-30 | 贵州白山云科技股份有限公司 | 一种数据传输方法、装置、计算机可读存储介质和计算机设备 |
CN111858399B (zh) * | 2019-04-30 | 2023-11-24 | 贵州白山云科技股份有限公司 | 一种数据传输方法、装置、计算机可读存储介质和计算机设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3308554B2 (ja) | 制御装置及び制御装置の制御方法 | |
EP0150705B1 (en) | Data storage hierarchy and its method of operation | |
JP4186509B2 (ja) | ディスクシステムとそのキャッシュ制御方法 | |
US20030023815A1 (en) | Cache buffer control method for hard disk drives | |
US20110055467A1 (en) | Data area managing method in information recording medium and information processor employing data area managing method | |
JP2007108981A (ja) | ストレージ装置及びボリューム間のデータ交換方法 | |
US6842824B2 (en) | Cache control program and computer for performing cache processes utilizing cache blocks ranked according to their order of reuse | |
JPH0675897A (ja) | 分割を許容するバッファ・メモリ管理方法及びその装置 | |
US7032093B1 (en) | On-demand allocation of physical storage for virtual volumes using a zero logical disk | |
JP3759048B2 (ja) | ディスクアレイ装置のディスクキャッシュ管理方法 | |
JP3460617B2 (ja) | ファイル制御装置 | |
US6782444B1 (en) | Digital data storage subsystem including directory for efficiently providing formatting information for stored records | |
US20040039875A1 (en) | Disk array device and virtual volume management method in disk array device | |
US20060080503A1 (en) | Storage system and control method of the same | |
JP6311365B2 (ja) | 記憶領域管理装置、記憶領域管理方法及び記憶領域管理プログラム | |
JP2021135538A (ja) | ストレージ制御装置及びストレージ制御プログラム | |
JP2005166073A (ja) | 記憶装置の制御装置および制御方法 | |
JP3721338B2 (ja) | 記憶装置の制御装置および制御方法 | |
KR101467514B1 (ko) | 사용자 응답 시간을 고려한 메모리 관리 장치 및 방법 | |
JP2006065402A (ja) | アクセス制御方法、ディスク制御装置及び記憶装置 | |
US20120082017A1 (en) | Storage region providing device, storage region providing method, and recording medium | |
JP3751814B2 (ja) | キャッシュメモリ制御方式 | |
JP2005004282A (ja) | ディスクアレイ装置、ディスクアレイ装置の管理方法及び管理プログラム | |
JP3282525B2 (ja) | データ管理装置及びネットワークデータ管理システム | |
JP3898369B2 (ja) | ページング処理装置および記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060307 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20060512 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060512 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060711 |