JP3308554B2 - 制御装置及び制御装置の制御方法 - Google Patents

制御装置及び制御装置の制御方法

Info

Publication number
JP3308554B2
JP3308554B2 JP02599491A JP2599491A JP3308554B2 JP 3308554 B2 JP3308554 B2 JP 3308554B2 JP 02599491 A JP02599491 A JP 02599491A JP 2599491 A JP2599491 A JP 2599491A JP 3308554 B2 JP3308554 B2 JP 3308554B2
Authority
JP
Japan
Prior art keywords
data
cache memory
write
slots
disk device
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 - Lifetime
Application number
JP02599491A
Other languages
English (en)
Other versions
JPH04264940A (ja
Inventor
俊明 坪井
山本  彰
繁雄 本間
義弘 安積
匡二 小澤
弘行 北島
道生 宮崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Hitachi Solutions Technology Ltd
Original Assignee
Hitachi Ltd
Hitachi ULSI Systems Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd, Hitachi ULSI Systems Co Ltd filed Critical Hitachi Ltd
Priority to JP02599491A priority Critical patent/JP3308554B2/ja
Priority to US07/833,129 priority patent/US5307473A/en
Publication of JPH04264940A publication Critical patent/JPH04264940A/ja
Priority to US08/187,500 priority patent/US5418929A/en
Priority to US08/383,093 priority patent/US5623631A/en
Priority to US08/777,966 priority patent/US6148367A/en
Application granted granted Critical
Publication of JP3308554B2 publication Critical patent/JP3308554B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0873Mapping of cache memory to specific storage devices or parts thereof
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/312In storage controller

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、中央処理装置と、キャ
ッシュメモリを有する制御装置と、記憶装置からなる情
報処理システムにおいて、キャッシュメモリ内の領域割
当ての制御を行う装置および方法に関する。
【0002】
【従来の技術】中央処理装置とキャッシュメモリ間で行
なうデ−タ転送処理において、更新したキャッシュメモ
リ内のデ−タをライトアフタデ−タと呼び、このライト
アフタデ−タをキャッシュメモリからディスク装置に書
き出す処理をライトアフタ処理と呼ぶ。ライトアフタ処
理を行なう制御装置において、キャッシュメモリの使用
方法は、例えば、特公昭59−7986号公報、特開昭
62−198946号公報に記載されている。
【0003】特公昭59−7986号公報では、制御装
置は、制御装置内のキャッシュメモリからファ−ストイ
ン/ファ−ストアウト(First-in/First-out)やLRU(L
eastRecentry Used)制御により、ライトアフタデ−タを
ディスク装置に書き出す。特開昭62−198946号
公報では、制御装置は、中央処理装置からのライト要求
に対し、ライトアフタデ−タが所定数より少ない場合、
中央処理装置とキャッシュメモリ間のデ−タ転送を行な
う。一方、ライトアフタデ−タが所定数以上の場合、中
央処理装置とディスク装置間のデ−タ転送を行ない、そ
の後、所定量以上分のライトアフタデ−タをキャッシュ
メモリからディスク装置に書き出す。中央処理装置から
のリ−ド要求に対し、キャッシュメモリ内に要求された
デ−タがなく、かつ、要求されたデ−タをキャッシュメ
モリに入れるために、キャッシュメモリから捨てなけれ
ばならないデ−タがライトアフタデ−タの場合、当該ラ
イトアフタデ−タをキャッシュメモリからディスク装置
に書き出した後、中央処理装置からリ−ド要求されたデ
−タをディスク装置から読みだし、当該デ−タを中央処
理装置に転送するとともに、キャッシュメモリに格納す
る。
【0004】
【発明が解決しようとする課題】制御装置は、中央処理
装置からのライト指示に対し、中央処理装置とキャッシ
ュメモリ間のデ−タ転送処理を行ない、キャッシュメモ
リにライトアフタデ−タを格納する。ライトアフタデ−
タをディスク装置に書き出す処理は、制御装置が前記の
ライト指示とは、非同期に行なう。ところで、ディスク
装置は、デ−タを記録する媒体である複数のディスク
と、ディスクのデ−タ記録面に対応して設けられたデ−
タを読み書きするためのヘッドから構成されている。前
記ディスクが1回転する間に、前記ヘッドが読み書き可
能な円状の記録単位をトラックと呼ぶ。前記ディスクに
は複数のトラックが存在する。ディスク装置に記録され
たデ−タを読み書きする時、前記ヘッドを前記デ−タを
含むトラックの位置に移動させる。この動作をシ−ク動
作と呼ぶ。ライトアフタ制御は、中央処理装置からのラ
イト指示に対し、中央処理装置とキャッシュメモリ間の
デ−タ転送処理を行ない、ディスク装置とのデ−タ転送
処理を行なわない。このため、シ−ク動作のための時間
がかからず、高速な応答が可能となる。キャッシュメモ
リに存在するデ−タのうち、ライトアフタデ−タ、すな
わち、まだディスク装置に書き込まれていないデ−タで
ないものは、ディスク装置内の内容とそれに対応するキ
ャッシュメモリ内の内容が一致しているため、随時、キ
ャッシュメモリから消去することが可能である。しか
し、ライトアフタデ−タは、キャッシュメモリ内の内容
とそれに対応するディスク装置内の内容が一致していな
いため、キャッシュメモリ内の内容をディスク装置に書
きだしてからでないと、キャッシュメモリから消去でき
ない。ライトアフタデ−タでキャッシュメモリが一杯に
なってしまうため、キャッシュメモリ内のライトアフタ
デ−タをディスク装置に書き出してからでないと新たな
ライトアフタデ−タを作成できない。キャッシュメモリ
内のライトアフタデ−タをディスク装置に書きだすに
は、当然、シ−ク動作のための時間がかかる。従って、
ライトアフタ制御による高速応答は期待できない。ここ
で、ディスク装置に対する処理要求の内容と処理要求の
頻度は、一定ではなく、ディスク装置に格納されたデ−
タに依存している。例えば、あるディスク装置に対する
処理要求が高頻度に発生し、ライトアフタデ−タを大量
に作成すると、他のディスク装置がライトアフタデ−タ
を作成できる量は著しく制限される。この場合、CPU
からの見掛け上のディスク性能は、ライトアフタデ−タ
を大量に作成したディスク装置の方が、他のディスク装
置より良くなる。しかも、真に高速応答を要求されてい
るディスク装置に対して大量のライトアフタデ−タの作
成を許容するのではなく、時間的に早くキャッシュメモ
リを占有したディスク装置が大量のライトアフタデ−タ
を作成してしまう。従って、ディスク装置毎のキャッシ
ュメモリの割当に関しては、他のディスク装置による割
当を阻害しない、適切な配分が重要となる。また、キャ
ッシュメモリがライトアフタデ−タで一杯になると、全
てのディスク装置に対するライトアフタ処理ができなく
なり、情報処理システム全体の性能が劣化する。この場
合も、ディスク装置毎のキャッシュメモリの割当を適切
な配分を行うことにより、キャッシュメモリがライトア
フタデ−タで一杯になることを抑制することができる。
【0005】しかし、従来技術において、特公昭59−
7986号公報では、ディスク装置ごとのキャッシュメ
モリの割り当てに関しては、考慮されていなかった。特
開昭62−198946号公報では、キャッシュメモリ
内のライトアフタデ−タの総量を制限する効果はある
が、ディスク装置ごとのキャッシュメモリの割り当て、
および、キャッシュメモリの適切な配分方法に関して
は、考慮されていなかった。
【0006】本発明の目的は、記憶装置に対するキャッ
シュメモリの割り当てに関し、他の記憶装置に対するキ
ャッシュメモリの割り当てを阻害しない、適切な配分を
行う記憶装置の制御装置および方法を提供することにあ
る。
【0007】
【課題を解決するための手段】前記制御装置は、前記記
憶装置内のデ−タの一部あるいは前記記憶装置に書き出
す前のデ−タを記憶するキャッシュメモリと、前記制御
装置の管理情報を記録するディレクトリと、キャッシュ
メモリ、ディレクトリおよびデ−タ転送を制御するディ
レクタを有し、前記ディレクタは、キャッシュメモリ内
にある前記記憶装置に書き出す前のデ−タ量が閾値以上
かを判定する手段と、前記キャッシュメモリ内の前記デ
−タ量が閾値以上の場合、記憶装置毎の前記デ−タ量の
割当制限を設定する手段と、前記キャッシュメモリ内の
前記デ−タ量が閾値未満の場合、前記記憶装置毎の前記
デ−タ量の割当制限を解除する手段と、前記割当制限値
以上のキャッシュメモリの割り当てを要求する前記中央
処理装置からのデ−タ書きだし指示を待たせる手段と、
前記記憶装置に書き出す前のデ−タを前記キャッシュメ
モリから前記記憶装置に書き出す手段と、を有する。
【0008】前記記憶装置に書き出す前のデ−タを前記
キャッシュメモリから前記記憶装置に書き出す手段は、
前記割当制限値以上のキャッシュメモリの割り当てを要
求する前記中央処理装置からのデ−タ書きだし指示を待
たせる手段により、デ−タ書きだし処理を待たせている
前記記憶装置のグル−プから1つの記憶装置に対応する
デ−タを選択して、前記キャッシュメモリから前記記憶
装置に書き出す手段と、キャッシュメモリ内にある前記
記憶装置に書き出す前のデ−タを、前記記憶装置毎の前
記デ−タ量の割当制限を設定している前記記憶装置のグ
ル−プから選択して、前記キャッシュメモリから前記記
憶装置に書き出す手段と、前記デ−タを前記キャッシュ
メモリ有する前記記憶装置のグル−プから選択して、前
記キャッシュメモリから前記記憶装置に書き出す手段
と、からなる。
【0009】前記ディレクタは、さらに、前記中央処理
装置によりシ−ケンシャルアクセスが指示されて作成さ
れたライトアフタデ−タが規定数以上存在するかを判定
する、シ−ケンシャルライトアフタ判定手段と、シ−ケ
ンシャルライトアフタの対象が存在する場合、前記ライ
トアフタデ−タをキャッシュメモリから記憶装置に書き
出すシ−ケンシャルライトアフタ処理を行う手段と、を
有する。
【0010】前記ディレクタは、前記キャッシュメモリ
内にある前記記憶装置に書き出す前のデ−タ量に対する
閾値および前記記憶装置に対する前記デ−タの割当制限
値を、前記中央処理装置に報告する手段と、前記中央処
理装置から指示された、前記キャッシュメモリ内にある
前記記憶装置に書き出す前のデ−タ量に対する閾値およ
び前記記憶装置に対する前記デ−タの割当制限値を設定
する手段と、を有する。
【0011】
【作用】前記制御装置は、前記記憶装置内のデ−タの一
部あるいは前記記憶装置に書き出す前のデ−タを記憶す
るキャッシュメモリと、前記制御装置の管理情報を記録
するディレクトリと、キャッシュメモリ、ディレクトリ
およびデ−タ転送を制御するディレクタを有し、前記デ
ィレクタは、キャッシュメモリ内にある前記記憶装置に
書き出す前のデ−タ量が閾値以上かを判定する手段によ
り、キャッシュメモリへの前記デ−タの書き出しを制御
できる。前記キャッシュメモリ内の前記デ−タ量が閾値
以上の場合、記憶装置毎の前記デ−タの割当量を設定す
る手段により、記憶装置毎に、前記デ−タの格納領域が
保障される。前記キャッシュメモリ内の前記デ−タ量が
閾値未満の場合、前記記憶装置毎の前記デ−タ量の割当
制限を解除する手段により、デ−タ量の判定に要する処
理を低減できる。前記割当制限値以上のキャッシュメモ
リの割り当てを要求する前記中央処理装置からのデ−タ
書きだし指示を待たせる手段により、当該記憶装置に書
き出すべき前記デ−タが増加することを防ぐ。前記記憶
装置に書き出す前のデ−タを前記キャッシュメモリから
前記記憶装置に書き出す手段により、前記デ−タの量を
減少させることができる。この際、前記割当制限値以上
のキャッシュメモリの割り当てを要求する前記中央処理
装置からのデ−タ書きだし指示を待たせる手段により、
デ−タの書きだし処理を待たせている前記記憶装置のグ
ル−プから1つの記憶装置に対応するデ−タを選択し
て、前記キャッシュメモリから前記記憶装置に書き出す
手段により、前記デ−タの割当て制限が原因で待ち状態
となったデ−タの書きだし処理を優先して行なうことが
できる。キャッシュメモリ内にある前記記憶装置に書き
出す前のデ−タを、前記記憶装置毎の前記デ−タ量の割
当制限を設定している前記記憶装置のグル−プから選択
して、前記キャッシュメモリから前記記憶装置に書き出
す手段により、前記デ−タの割当て制限が原因で生じた
待ち状態が放置された状態とならない。従って、記憶装
置に対するキャッシュメモリの割り当てに関し、他の記
憶装置に対するキャッシュメモリの割り当てを阻害しな
い、適切な配分を行う記憶装置の制御装置を提供するこ
とができる。
【0012】さらに、前記中央処理装置によりシ−ケン
シャルアクセスが指示されて作成されたライトアフタデ
−タが規定数以上存在するかを判定する、シ−ケンシャ
ルライトアフタ判定手段により、前記中央処理装置から
連続的にライトアフタデ−タを作成できる。連続的にラ
イトアフタデ−タが作成されると、当該記憶装置に対す
るライトアフタデ−タは、急激に増加する。このため、
前記ライトアフタデ−タをキャッシュメモリから記憶装
置に書き出すシ−ケンシャルライトアフタ処理を行う手
段により、前記中央処理装置から連続的に作成されたラ
イトアフタデ−タをキャッシュメモリから記憶装置に書
き出すことができる。これにより、中央処理装置からシ
−ケンシャルアクセスが指示された場合でも、他の記憶
装置に対するキャッシュメモリの割り当てを阻害しな
い、適切な配分を行う記憶装置の制御装置を提供するこ
とができる。
【0013】前記キャッシュメモリ内にある前記記憶装
置に書き出す前のデ−タ量に対する閾値および前記記憶
装置に対する前記デ−タの割当制限値を、前記中央処理
装置に報告する手段により、前記中央処理装置は、記憶
装置に対する負荷状況を把握できる。前記中央処理装置
から指示された、前記キャッシュメモリ内にある前記記
憶装置に書き出す前のデ−タ量に対する閾値および前記
記憶装置に対する前記デ−タの割当制限値を設定する手
段により、前記中央処理装置が要求する記憶装置の応答
時間に応じて、前記キャッシュメモリ内にある前記記憶
装置に書き出す前のデ−タ量に対する閾値および前記記
憶装置に対する前記デ−タの割当制限値を設定すること
ができる。従って、中央処理装置の要求を加味した他の
記憶装置に対するキャッシュメモリの割り当てを阻害し
ない、適切な配分を行う記憶装置の制御装置を提供する
ことができる。
【0014】
【実施例】以下、本発明の一実施例について説明する。
【0015】図2は、本発明の一実施例を示す情報処理
システムの構成図である。情報処理システムは、中央処
理装置(CPU)20とCPU20に接続された制御装置
21と制御装置21に接続された少なくとも1台のディ
スク装置25からなる。制御装置21は、ディレクトリ
23、キャッシュメモリ24と少なくも1つのディレク
タ22を有する。
【0016】図3は、ディスク装置25の構成図であ
る。ディスク27は、デ−タを記録する媒体であり、デ
ィスク装置25内に複数存在する。ヘッド28は、デ−
タを読み書きする装置であり、ディスク27のデ−タ記
録面に対応して複数個存在する。ディスク27が1回転
する間に、ヘッド28が読み書き可能な円状のデ−タ記
録単位をトラック29と呼ぶ。トラック29は、ディス
ク27上に複数存在する。トラック29には、デ−タの
記録単位の一種であるレコ−ドが格納される。あるデ−
タを読み書きするために、ヘッド28を現在位置からそ
のデ−タを含むトラック29を読み書きできる位置に移
動する動作を、シ−ク動作と呼ぶ。また、この動作のた
めの要求を位置付け指示と呼ぶ。シ−ク動作を行なうこ
となしに、ヘッド28の選択操作のみで、記録あるいは
再生が可能なトラック29の集合をシリンダと呼ぶ。デ
ィレクタインタフェ−ス32は、ディスク装置25とデ
ィレクタ22とのインタフェ−スであり、ディレクタ2
2の指示に従ってヘッド28の制御を行なう。インデク
ス30はディスク27上にある基準位置である。
【0017】図4は、本実施例におけるトラック内のレ
コ−ド構成図である。図4(a)に示すように、レコ−
ド33は、制御部34とデ−タ部35からなる。図4
(b)に示すように、制御部34は、レコ−ド位置34
1、シリンダ番号342、トラック番号343、レコ−
ド番号344、およびデ−タ長345を記録する。レコ
−ド位置341は、当該レコ−ド33のトラック29上
での位置である。レコ−ド番号344、トラック番号3
43、シリンダ番号342は、それぞれ、当該レコ−ド
の番号、レコ−ド33が記録されたトラックの番号、当
該トラック29が含まれるシリンダの番号である。デ−
タ長345は、デ−タ部35の長さを示す。デ−タ部3
5は、デ−タ長345で指示された長さのデ−タを記録
する。インデクス30と制御部34との間、レコ−ド3
3内の制御部34とデ−タ部35との間、および、デ−
タ部35と次のレコ−ド33の制御部34との間には、
ギャップ36が存在する。
【0018】図1は、本発明の一実施例における情報処
理システムを示す図である。制御装置21に設けられた
ディレクタ22は、CPU20とディスク装置25との
間、CPU20とキャッシュメモリ24との間、およ
び、キャッシュメモリ24とディスク装置25との間で
行うデ−タ転送を制御する。CPU起動処理10は、C
PU20からの指示によりCPU20とディスク装置2
5間、および、CPU20とキャッシュメモリ24間の
デ−タ転送を実行する。CPU20とキャッシュメモリ
24との間のデ−タ転送において、書きかえたキャッシ
ュメモリ24内のデ−タをライトアフタデ−タと呼び、
このライトアフタデ−タをキャッシュメモリ24からデ
ィスク装置25に書き出す処理をライトアフタ処理と呼
ぶ。キャッシュヒットミス判定処理11では、処理対象
のトラック29の内容がキャッシュメモリ24内にある
かを判定する。トラック29の内容がキャッシュメモリ
24内にある場合、キャッシュヒットと呼び、トラック
29の内容がキャッシュメモリ24内にない場合、キャ
ッシュミスと呼ぶ。キャッシュヒットの場合、キャッシ
ュヒット処理12を行なう。キャッシュヒット処理12
では、キャッシュ割り当て制限判定処理13によりライ
トアフタデ−タに対するキャッシュメモリ24の割り当
て状況を判定し、割当て不可能な場合、割り当て待ち処
理14により、キャッシュメモリの割り当てが可能とな
るまで待つ。CPUキャッシュ転送処理15では、CP
U20の指示に従い、キャッシュメモリ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に書き出す
【0019】以下、ディスク装置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が到達するまで、待た
される。
【0020】図5は、ディレクトリ23の構成を示す図
である。ディレクトリ23には、スロットコントロ−ル
ブロック(SCB)40、サ−チテ−ブル41、MRU(M
ostRecently Used)ポインタ42、LRU(Least Recent
ly Used)ポインタ43、空きSCBポインタ44、タス
クコントロ−ルブロック(TCB)45、および、負荷状
況管理情報46が存在する。それぞれの内容は、以下で
説明する。
【0021】まず、SCB40の内容とキャッシュメモ
リ24との関係を図6と図7で説明する。図6は、スロ
ットコントロ−ルブロック(SCB)40の構成図であ
る。図7は、SCB40とキャッシュスロットとの関係
図である。キャッシュメモリ24は、キャッシュスロッ
ト241と呼ぶ単位に分割する。1キャッシュスロット
は、1トラック分のデ−タを格納できるサイズである。
SCB40は、キャッシュスロット241を管理する情
報である。
【0022】図6に示すSCB占有フラグ400は、S
CBの使用状況を示すフラグであり、処理がSCBを使
用中の場合オンにする。前方向ポインタ401と後方向
ポインタ402は、SCB40をMRU(Most Recently
Used)順にチェインする時に使用する。使用方法に関し
ては、図8で説明する。ディスク装置番号403、シリ
ンダ番号404、トラック番号405は、それぞれ、S
CB40にデ−タを格納したトラック29に対応するデ
ィスク装置の番号、シリンダの番号、トラックの番号を
記録する。スロットポインタ406は、SCB40が管
理しているキャッシュスロット241を示す。ライトア
フタフラグ407は、キャッシュスロット241にライ
トアフタデ−タを格納しているか示すフラグである。当
該フラグがオンの場合、当該キャッシュスロット241
は、ライトアフタデ−タを格納していることを示す。レ
コ−ドポインタ408は、キャッシュスロット241に
おけるレコ−ド33の記録開始位置を示す。更新レコ−
ドポインタ409は、キャッシュスロット241におけ
るライトアフタデ−タを格納しているレコ−ド33記録
開始位置を示す。レコ−ドポインタ408と更新レコ−
ドポインタ409は、トラック29に記録できる最大の
レコ−ド33の数分を用意する。キャッシュスロット2
41に記録されていないレコ−ド33のレコ−ドポイン
タ408と、ライトアフタデ−タを格納していないレコ
−ド33の更新レコ−ドポインタ409は、nullとす
る。シ−ケンシャルライトフラグ410は、CPU20
からのシ−ケンシャルアクセス指示により、ライトアフ
タデ−タを作成したことを示す。
【0023】図8は、サ−チテ−ブル41とSCB40
の関係を示す図である。サ−チテ−ブル41は、ディス
ク装置番号411、シリンダ番号412、トラック番号
413およびサ−チポインタ414からなり、どのディ
スク装置のシリンダ、トラックに属するデ−タがキャッ
シュメモリ24に格納されているかを検索するためのテ
−ブルである。トラック29毎にSCB40へのサ−チ
ポインタ414を有し、トラック29に対応するデ−タ
がキャッシュメモリ24に格納されているか否かを示
す。あるトラック29に対応するサ−チポインタ414
がnullの場合、当該トラック29に対応するデ−タはキ
ャッシュメモリ24に格納していないことを示す。サ−
チテ−ブル41の内容は、制御装置21に接続可能なデ
ィスク装置25に含まれるトラック29の数分を用意す
る。
【0024】トラック29に割り当てられたSCB40
は、MRUポインタ42、LRUポインタ43、前方向
ポインタ401および後方向ポインタ402でチェイン
する。前方向ポインタ401と後方向ポインタ402
は、トラック29に割り当てられたSCB40をMRU
順にチェインするためのポインタである。MRUポイン
タ42は、最も現在時刻に近い時刻に入出力対象となっ
たトラック29に対応するSCB40を示し、LRUポ
インタ43は、最も長い時間入出力対象となっていない
トラック29に対応するSCB40をさす。
【0025】トラック29に割り当てられていないSC
B40は、空きSCBポインタ44、前方向ポインタ4
01および後方向ポインタ402でチェインする。空き
SCBポインタ44は、トラック29に割り当てられて
いないSCB40をチェインするための先頭ポインタで
あり、これらSCB40のうち、ひとつをポイントす
る。トラック29が割り当てられていない残りのSCB
40は、前方向ポインタ401および後方向ポインタ4
02でチェインする。トラック29が割り当てられてい
ないSCB40が存在しない場合、空きSCBポインタ
44は、nullとする。
【0026】図9は、タスクコントロ−ルブロック(T
CB)の構成図である。TCB45は、制御装置21で
処理中のタスクを管理する情報であり、ディスク装置2
5毎に存在する。TCB45は、ディスク装置番号5
0、論理デバイス情報60、および、物理デバイス情報
70からなる。まず、論理デバイスと物理デバイスにつ
いて説明する。ディレクタ22が行なうデ−タ転送処理
には、CPU20とディスク装置25間のデ−タ転送処
理、CPU20とキャッシュメモリ24間のデ−タ転送
処理、および、キャッシュメモリ24とディスク装置2
5間のデ−タ転送処理がある。ここで、キャッシュメモ
リ24とディスク装置25間のデ−タ転送処理は、ディ
スク装置25を使用して処理を実行するが、CPU20
とキャッシュメモリ24間のデ−タ転送処理は、ディス
ク装置25を使用する必要がない。従って、キャッシュ
メモリ24とディスク装置25間のデ−タ転送処理と、
CPU20とキャッシュメモリ24間のデ−タ転送処理
は、独立に実行可能である。CPU20とキャッシュメ
モリ24間のデ−タ転送処理を行なう時、上記2つの処
理同士を互いに排他的に行なうため、論理デバイスを設
ける。キャッシュメモリ24とディスク装置25間のデ
−タ転送処理を行なう時、上記2つの処理同士を互いに
排他的に行なうため、物理デバイスを設ける。従って、
CPU20とキャッシュメモリ24間のデ−タ転送処理
では、論理デバイスにより排他制御を行ない、キャッシ
ュメモリ24とディスク装置間のデ−タ転送処理では、
物理デバイスにより排他制御を行なう。CPU20とデ
ィスク装置間のデ−タ転送処理を行なう時、論理デバイ
スと物理デバイスの両方を使用するものとする。
【0027】図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は、C
PU20とディスク装置25間で行なうデ−タ転送処
理、および、キャッシュメモリ24とディスク装置25
間で行なうデ−タ転送処理に関する情報である。その内
容は、占有処理情報700、実行情報701、シリンダ
番号703、エントリ数704、トラックポインタ70
5、および、トラック番号706であり、それぞれ、論
理デバイス情報60における、占有処理情報600、実
行情報601、シリンダ番号603、エントリ数60
4、トラックポインタ605、および、トラック番号6
06に対応する情報である。待ち状態情報702は、実
行情報701が待ち状態の場合、その理由を示す。待ち
状態の理由としては、位置付け待ちがある。
【0028】図10は、負荷状況管理情報の構成図であ
る。負荷状況管理情報46は、キャッシュメモリ24内
のライトアフタデ−タの占有状況を管理する情報であ
る。割り当て可能スロット数460は、ライトアフタデ
−タに割り当て可能なキャッシュスロット241の数を
示す。占有スロット数461は、キャッシュメモリ24
内のライトアフタデ−タを含むキャッシュスロットの数
を示す。過負荷設定スロット数462、過負荷解除スロ
ット数463は、ライトアフタデ−タを含むキャッシュ
スロット241において、それぞれ、キャッシュ過負荷
を設定するキャッシュスロット241の数とキャッシュ
過負荷を解除するキャッシュスロット241の数を示
す。過負荷フラグ464は、ライトアフタデ−タを含む
キャッシュスロット241の数が、過負荷設定スロット
数462以上となった時から、過負荷解除スロット数4
63未満になったときまでの状態を示すフラグである。
スロット待ちTCBポインタ465は、キャッシュスロ
ット241の割り当て待ちのため、CPU20からの入
出力要求を待たせているTCB45を示すポインタであ
る。ディスク割り当て情報470は、ディスク装置25
ごとに存在し、カレントスロット数471、制限スロッ
ト数472、設定基準スロット数473、解除基準スロ
ット数474、過負荷待ちフラグ475、および、最低
割り当てスロット数476からなる。カレントスロット
数471は、それぞれのディスク装置25に対して割り
当てられたキャッシュスロット241の数であり、か
つ、ライトアフタデ−タを含むキャッシュスロット24
1の数を示す。制限スロット数472は、それぞれのデ
ィスク装置25に対して割り当て可能なライトアフタデ
−タを含むキャッシュスロット241の数を示す。設定
基準スロット数473は、制限スロット数472を決定
するための基準とするキャッシュスロット241の数で
あり、かつ、ライトアフタデ−タを含むキャッシュスロ
ット241の数を示す。解除基準スロット数474は、
それぞれのディスク装置25に対してキャッシュスロッ
ト241の割り当て制限を解除するための数であって、
かつ、ライトアフタデ−タを含むキャッシュスロット2
41の数を示す。制限スロット数472、設定基準スロ
ット数473、および、解除基準スロット数474が無
効の場合、その内容はnullとする。過負荷待ちフラグ4
75は、カレントスロット数471が制限スロット数4
72以上になったため、キャッシュスロット241の割
り当てを待たせている状態を示す。最低割り当てスロッ
ト数476は、ディスク装置25に割り当てるキャッシ
ュスロット241の数の下限値である。
【0029】以下、ディレクタ−22が実行する処理内
容を説明する。
【0030】図11は、図1に示したキャッシュ負荷状
況判定処理1のフロ−チャ−トである。キャッシュ負荷
状況判定処理1は、ライトアフタデ−タを含むキャッシ
ュスロット241の占有量からキャッシュメモリ24の
負荷状況を判定する処理である。本実施例では、負荷状
況管理情報46における、割り当て可能スロット数46
0、過負荷設定スロット数462、過負荷解除スロット
数463、および、最低割り当てスロット数476を、
予め定めておく。ただし、過負荷設定スロット数462
は、割り当て可能スロット数460以下でないと、ライ
トアフタデ−タを含むキャッシュスロット241の過負
荷状況を設定できない。過負荷解除スロット数463
は、過負荷設定スロット数462以下である。ステップ
100では、過負荷フラグ464がオンかを判定する。
当該フラグがオンの場合、ステップ110に進み、オフ
の場合、ステップ101に進む。ステップ101では、
占有スロット数461が過負荷設定スロット数462以
上かを判定する。条件を満足する場合、ステップ108
に進み、満足しない場合、ステップ102に進む。ステ
ップ102では、占有スロット数461が過負荷解除ス
ロット数463以上か否かを判定する。この条件を満た
す場合、処理を終了し、満たさない場合、ステップ10
3に進む。ステップ103〜107は、割当て解除処理
4であり、制限スロット数472が設定されているディ
スク装置25に対して、スロットの割当ての解除を試行
する。ステップ103では、制限スロット数472が設
定されているディスク装置25を検索する。ステップ1
04では、制限スロット数472が設定されているディ
スク装置25を検出したか否かを判定する。検出した場
合、ステップ105に進み、検出できなかった場合、処
理を終了する。ステップ105では、カレントスロット
数471が解除基準スロット数474未満かどうかを判
定する。この条件を満たす場合、ステップ106に進
み、条件を満たさない場合、ステップ107に進む。ス
テップ106では、スロットの割当ての制限を解除する
ため、制限スロット数472、設定基準スロット数47
3、および、解除基準スロット数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に対するキャッシュスロット2
41の割り当て制限を行なう。ステップ112では、カ
レントスロット数471が設定基準スロット数473以
上かを判定する。条件を満たす場合、ステップ113に
進み、条件を満たさない場合、ステップ115進む。ス
テップ113では、カレントスロット数471が最低割
り当てスロット数476以上かを判定する。条件を満た
す場合、ステップ114に進み、満たさない場合、ステ
ップ115に進む。ステップ114では、ディスク装置
25に対するキャッシュスロット割当制限、および、制
限解除基準を設定する。すなわち、制限スロット数47
2にカレントスロット数471を設定し、解除基準スロ
ット数474に設定基準スロット数473の値を設定す
る。解除基準スロット数474を設定する時に、カレン
トスロット数471に対して予め定めた割合を設定して
もよい。ステップ115では、全てのディスク装置25
に対する判定が終了したかを判定する。終了していない
場合、ステップ112に戻り、終了した場合、ステップ
116に進む。ステップ116では、設定基準スロット
数473を設定していないディスク装置25に対し、設
定基準スロット数458にカレントスロット数471を
設定する。
【0031】図12は、図1に示したCPU起動処理1
0のフロ−チャ−トである。CPU起動処理10は、C
PU20から制御装置21に対する指示に従って実行さ
れる処理であり、CPU20とディスク装置25間、お
よび、CPU20とキャッシュメモリ24間のデ−タ転
送を行なう。ステップ120では、CPU20からデ−
タ転送処理を指示されたディスク装置25において、論
理デバイスが未使用状態かどうかを実行情報601によ
り判定する。論理デバイスが未使用の場合、ステップ1
21に進み、それ以外は、ステップ146に進む。ステ
ップ121では、図9に示した占有処理情報600にC
PU起動処理の実行状況を設定し、実行情報601にタ
スクの実行状況を設定する。ステップ122では、CP
U20から指示されたトラック29の内容が、キャッシ
ュメモリ24内に存在するかを判定する。即ち、図5に
示したサ−チテ−ブル41を参照し、当該トラック29
に対応するサ−チポインタ414の内容がnullでない場
合、当該トラック29の内容はキャッシュメモリ24内
に存在すると判定される。この判定は、図1に示したキ
ャッシュヒットミス判定11に対応する。キャッシュヒ
ットの場合、ステップ123に進み、キャッシュミスの
場合、ステップ140に進む。ステップ123〜133
はキャッシュヒット処理12に対応する。ステップ12
3では、当該トラック29に対応するSCB40が、他
の処理により使用中か否かをSCB占有フラグ400に
より判定する。使用中の場合、ステップ124に進み、
使用中でない場合、ステップ125に進む。ステップ1
24では、論理デバイスの実行状態601を待ち状態と
し、待ち状態情報602をSCB待ちとして、当該SC
B40が解放されるまで待つ。ステップ125では、論
理デバイス情報60にSCB40の内容を設定する。す
なわち、実行情報601を実行中とし、エントリ数60
4に1を設定し、トラックポインタ605にはトラック
リストの先頭のエントリを示す値を設定し、処理対象ト
ラック29に対応するシリンダ番号603、トラック番
号606を設定する。ステップ126では、CPU20
からの指示により、当該トラックに対しライトアフタデ
−タを新規に作成するのかを判定する。条件を満たす場
合、ステップ127に進む、満たさない場合、ステップ
130に進む。ステップ127では、制限スロット数4
72が有効かを判定する。ここで、制限スロット数47
2がnullでない場合、制限スロット数472は有効とす
る。有効の場合、ステップ128に進み、有効でない場
合、ステップ130進む。ステップ128では、カレン
トスロット数471が制限スロット数472以上かを判
定する。条件を満たす場合、ステップ129に進み、条
件を満たさない場合、ステップ130に進む。ステップ
129では、実行状態601を待ち状態とし、待ち状態
情報602をキャッシュ割当て待ち状態とし、カレント
スロット数471が制限スロット数472未満になるま
で待つ。ステップ130では、割り当て可能スロット数
460と占有スロット461からキャッシュスロット2
41にライトアフタデ−タを割り当て可能か否かを判定
する。割り当て可能な場合、ステップ132に進み、割
り当て不可能な場合、ステップ131に進む。ステップ
131では、実行状態601を待ち状態とし、待ち状態
情報602をキャッシュ割当て待ちとし、占有スロット
数461が割り当て可能スロット数460未満になるま
で待つ。ステップ132では、占有スロット数461と
カレントスロット数471にそれぞれ割り当てたスロッ
ト数を加算する。ステップ133では、CPU20から
の指示に従い、CPU20とキャッシュメモリ24間の
デ−タ転送を行なう。この時、キャッシュメモリ24内
のレコ−ド33を更新した場合、ライトアフタフラグ4
07をオンし、更新レコ−ドポインタ409を設定す
る。また、CPU20からシ−ケンシャルアクセスを指
示され、かつ、ライトアフタデ−タを作成した場合、シ
−ケンシャルライトフラグ410をオンする。ステップ
16では、シ−ケンシャル判定処理を実行する。シ−ケ
ンシャル判定処理16のフロ−チャ−トを図14に示
す。ステップ140〜145は、CPUディスク転送処
理19に対応する。ステップ140では、当該ディスク
装置25の物理デバイスが未使用か否かを実行情報70
1により判定する。物理デバイスが未使用の場合、ステ
ップ142に進み、そうでない場合、ステップ141に
進む。ステップ141では、実行状態601を待ち状態
とし、待ち状態情報602を物理デバイス待ちとして、
当該物理デバイスが開放されるまで待つ。ステップ14
2では、占有処理情報700にCPU起動処理の実行状
況を設定し、実行情報701に実行中を設定する。ステ
ップ143では、処理対象のトラック29にキャッシュ
スロット241を割り当て、TCB45に情報を設定す
る。すなわち、SCB占有フラグ400をオンし、ディ
スク装置番号403、シリンダ番号404、トラック番
号405に、それぞれ、割り当てたトラック29に対す
るディスク装置番号、シリンダの番号、トラックの番号
を設定し、シリンダ番号703に処理対象とするトラッ
ク29に対応するシリンダの番号を設定し、トラック番
号706に処理対象とするトラック29の番号を設定
し、エントリ数704にトラック番号458を設定した
トラック29の数を設定し、トラックポインタ705に
最初のエントリを示す値を設定する。ステップ144で
は、ディスク装置25に対し、CPU20が処理対象と
して指示したレコ−ド33への位置付け指示を行ない、
その完了を待つ。ステップ145では、ディスク転送処
理を行なう。この処理のフロ−チャ−トを図13に示
す。
【0032】図13は、ディスク転送処理のフロ−チャ
−トである。この処理は、ステップ145に対応する処
理である。ステップ151では、CPU20からの指示
に従い、CPU20とディスク装置25との間のデ−タ
転送を行なう。ステップ152では、当該トラック29
にキャッシュスロット241を割当て済みかを判定す
る。キャッシュスロット241が割り当てられている場
合、ステップ153に進み、キャッシュスロット241
が割り当てられていない場合、ステップ154に進む。
ステップ153では、トラック29の内容を読み出し、
割り当てられたキャッシュスロット241にその内容を
格納する。この際、レコ−ドポインタ408を設定す
る。ステップ154では、TCB45の内容を無効化す
る。すなわち、論理デバイスに対する占有処理情報60
0をnullとし、実行情報601を未使用とし、さら
に、物理デバイスに対する占有処理情報700をnul
lとし、実行情報701に未使用であることを示す情報
を設定する。さらに、SCB40を割り当てている場
合、SCB占有フラグ400をオフする。ステップ15
5では、ビジ−報告フラグ607によりCPU20にビ
ジ−を報告したかを判定する。ビジ−を報告した場合、
ステップ156に進み、そうでない場合、処理を終了す
る。ステップ156では、ビジ−報告フラグをオフし、
CPU20にビジ−解除の報告を行なう。
【0033】図14は、図12に示したシ−ケンシャル
判定処理16のフロ−チャ−トである。ステップ161
では、CPUからの指示がシ−ケンシャルアクセスかを
判定する。シ−ケンシャルアクセスの場合、ステップ1
62に進み、そうでない場合、ステップ167に進む。
ステップ162では、CPU起動処理でライトを実行し
たかを判定する。ライトを実行した場合、ステップ16
5に進み、実行していない場合、ステップ163に進
む。ステップ163では、ロ−ド処理が必要かを判定す
る。ロ−ド処理が必要な場合、ステップ164に進み、
必要ない場合、ステップ167に進む。ステップ164
では、ロ−ド処理を実行する。ロ−ド処理のフロ−チャ
−トを図15に示す。ステップ165では、シ−ケンシ
ャルライトアフタ処理が必要かを判定する。すなわち、
当該トラック29以前にライトアフタデ−タを有するト
ラックが規定数以上あるかを判定する。規定数以上ある
場合、ステップ18に進み、そうでない場合、ステップ
167に進む。ステップ18では、シ−ケンシャルライ
トアフタ処理を行なう。シ−ケンシャルライトアフタ処
理18のフロ−チャ−トを図16に示す。ステップ16
7では、論理デバイスに対する実行情報601に未使用
を設定する。ステップ168では、ビジ−報告フラグ6
07によりCPU20にビジ−を報告したかを判定す
る。ビジ−を報告した場合、ステップ169に進み、そ
うでない場合、処理を終了する。ステップ169では、
ビジ−報告フラグをオフし、CPU20にビジ−解除の
報告を行なう。
【0034】図15は、ロ−ド処理164のフロ−チャ
−トである。ロ−ド処理164は、ステップ164に対
応する。ステップ170では、物理デバイスの実行情報
701により、物理デバイスが未使用かを判定する。未
使用の場合、ステップ172に進み、そうでない場合、
ステップ171に進む。ステップ171では、論理デバ
イスの実行情報601に待ち状態を設定し、待ち状態情
報602に物理デバイス待ちを設定し、物理デバイスが
空くまで待つ。ステップ172では、物理デバイスの占
有処理情報700にロ−ド処理の実行状況を設定し、実
行情報701に実行中を設定し、論理デバイスの占有処
理情報600をnullとし、実行情報601に未使用
を設定する。ステップ173では、ビジ−報告フラグ6
07により、CPU20にビジ−を報告したかを判定す
る。ビジ−を報告した場合、ステップ174に進み、そ
うでない場合、ステップ175に進む。ステップ174
では、ビジ−報告フラグ452をオフし、CPU20に
当該ディスク装置25のビジ−状態が解除された報告を
行なう。ステップ175では、ロ−ド処理が対象とする
トラック29にキャッシュスロット241を割り当て、
物理デバイス情報70に所定の値を設定する。すなわ
ち、SCB占有フラグ400をオンし、キャッシュスロ
ット241を割り当てたトラック29に対応するシリン
ダの番号をシリンダ番号455に設定し、キャッシュス
ロット241を割り当てたトラック29に対応するトラ
ック29の番号をトラック番号458に設定し、エント
リ数456にトラック番号458を設定したトラック2
9の数を設定し、トラックポインタ457を最初のエン
トリを示すようにする。ステップ176では、ディスク
装置25に位置付け指示を行ない、その完了を待つ。ス
テップ177では、ロ−ド実行処理を行なう。この処理
のフロ−チャトを図17に示す。
【0035】図16は、シ−ケンシャルライトアフタ処
理のフロ−チャ−トである。この処理は、図1のステッ
プ18に対応する。ステップ180では、物理デバイス
の実行情報701により物理デバイスが未使用かを判定
する。未使用の場合、ステップ182に進み、そうでな
い場合、ステップ181に進む。ステップ181では、
論理デバイスの実行情報601に待ち状態を設定し、待
ち状態情報602に物理デバイス待ちを設定し、物理デ
バイスが空くまで待つ。ステップ182では、物理デバ
イスの占有処理情報700にシ−ケンシャルライトアフ
タ処理を設定し、実行情報701に実行中を設定し、論
理デバイスの占有処理情報600をnullとし、実行情報
601に未使用を設定する。ステップ183では、ビジ
−報告フラグ607により、CPU20にビジ−を報告
したかを判定する。ビジ−を報告した場合、ステップ1
84に進み、そうでない場合、ステップ185に進む。
ステップ184では、ビジ−報告フラグ607をオフ
し、CPU20に当該ディスク装置25のビジ−状態が
解除されたことを報告する。ステップ185では、検出
したディスク装置25に対応する物理デバイス情報70
に所定の値を設定する。すなわち、シリンダ番号455
に処理対象とするシリンダの番号を記録し、エントリ数
456に1を設定し、トラック番号458に処理対象と
するトラックの番号を設定し、トラックポインタ457
を最初のエントリを示すようにする。ステップ186で
は、同一のディスク装置25であってかつ同一シリンダ
内にある複数のトラック29に対応するそれぞれのSC
B40の中から、シ−ケンシャルライトフラグ410が
オンのSCB40を捜す。ステップ187では、前記ト
ラック29に対応するSCB40を検出できたかを判定
する。検出できた場合、ステップ188に進み、検出で
きなかった場合、ステップ189に進む。ステップ18
8では、検出したSCB40を物理デバイス情報70に
設定する。すなわち、トラック番号706を設定し、エ
ントリ数704を1加算し、ステップ186に戻る。ス
テップ189では、ディスク装置25に位置付け指示を
行ない、その完了を待つ。ステップ190では、ライト
アフタ実行処理を行なう。この処理のフロ−チャ−トを
図19に示す。
【0036】図17は、ロ−ド実行処理のフロ−チャ−
トである。ロ−ド実行処理は、図14のステップ169
に対応する。ステップ200では、トラックポインタ4
57が示すトラック番号458について、インデクス3
0を見つける。ステップ201では、トラック29上の
レコ−ド33を見つけてこれを読み込み、キャッシュス
ロット241に格納する。この際、レコ−ドポインタ4
08にレコ−ド33を格納したキャッシュスロット24
1上の位置を記録する。ステップ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では、論理デバイス情報6
0の実行情報601を実行可能とする。
【0037】図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では、ライトアフタデ−タを持ち、物理デ
バイスが空き状態、かつ、過負荷状態のディスク装置2
5を検索する。すなわち、LRUポインタ43からSC
B40をたどり、ライトアフタフラグ407により、ラ
イトアフタデ−タを持ち、SCB占有フラグ400がオ
フのSCB40を捜す。さらに、物理デバイスの実行情
報701により、検出したSCB40に対応するディス
ク装置25が、使用可能かを判定し、制限スロット数4
72により、過負荷状態かを判定する。ステップ213
では、ステップ212で検索したディスク装置25が検
出できたかを判定する。検出できた場合、ステップ21
6に進み、検出できない場合、ステップ214に進む。
ステップ214では、ライトアフタデ−タを持ち、か
つ、物理デバイスが空き状態のディスク装置25を検索
する。すなわち、LRUポインタ43からSCB40を
たどり、ライトアフタフラグ407により、ライトアフ
タデ−タを持ち、SCB占有フラグ400がオフのSC
B40を捜す。さらに、物理デバイスの実行情報701
により、検出したSCB40に対応するディスク装置2
5が、使用可能かを判定する。ステップ215では、ス
テップ214で検索したディスク装置25が検出できた
かを判定する。検出できた場合、ステップ216に進
み、検出できない場合、処理を終了する。ステップ21
6では、実行情報701に実行中を設定する。ステップ
217では、検出したディスク装置に対応する物理デバ
イス情報70に所定の値を設定する。すなわち、占有処
理情報700にライトアフタ処理を設定し、実行情報7
01を実行中とし、シリンダ番号703に処理対象とす
るシリンダの番号を記録し、エントリ数704に1を設
定し、トラック番号458に処理対象とするトラックの
番号を設定し、トラックポインタ705に最初のエント
リを示す値を設定する。検出したSCB40のSCB占
有フラグ400をオンする。ステップ218では、同一
のディスク装置25であってかつ同一シリンダ内にある
複数のトラック29に対応するそれぞれのSCB40の
中から、SCB占有フラグ400がオフ、かつ、ライト
アフタフラグ407がオンのSCBを捜す。ステップ1
39では、前記トラック29に対応するSCB40を検
出できたかを判定する。検出できた場合、ステップ22
0に進み、検出できなかった場合、ステップ141に進
む。ステップ220では、トラック番号706を設定
し、エントリ数704を1加算し、SCB占有フラグを
オンとし、ステップ218に戻る。ステップ221で
は、ディスク装置25に位置付け指示を行ない、その完
了を待つ。ステップ190では、ライトアフタ実行処理
を行なう。この処理のフロ−チャ−トを図19に示す。
【0038】図19は、ライトアフタ実行処理190の
フロ−チャ−トである。ライトアフタ実行処理は、図1
6のステップ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をオフする。ステップ2
37では、ライトアフタ処理の終了判定を行う。終了で
ない場合、ステップ238に進み、終了の場合、ステッ
プ239に進む。ステップ238は、次のトラック29
を処理対象とする。即ち、トラックポインタ457が次
のエントリを示すように更新する。本ステップ238の
処理が終了した後、ステップ230に戻る。ステップ2
41では、物理デバイス情報70の内容を無効化する。
すなわち、物理デバイス情報70の占有処理情報700
をnullとし、実行情報701を未使用とする。ステップ
240では、論理デバイス情報60の実行情報601に
より、論理デバイスの処理が待ち状態かを判定する。待
ち状態の場合、ステップ241に進み、待ち状態でない
場合、処理を終了する。ステップ241では、論理デバ
イス情報60の実行情報601を実行可能とする。
【0039】本発明の実施例によれば、図1のキャッシ
ュ負荷状況判定処理1により、ライトアフタデ−タの量
が閾値以上となった場合、ディスク装置25毎の割当て
制限を設定する。割当て制限以上のライトアフタデ−タ
量を要求するCPU20からのデ−タ書き出し指示があ
った場合、ライトアフタ処理5はライトアフタデ−タを
キャッシュメモリ24からディスク装置25に書き出
し、ライトアフタデ−タの量が割当て制限未満になるま
で上記の指示を待たせる。このため、あるディスク装置
25への割当て量が過大となり、他のディスク装置25
に対する割当て量が過少となることはない。従って、デ
ィスク装置25に対するキャッシュメモリ24の割当て
に関し、他のディスク装置25に対するキャッシュメモ
リ24の割当てを阻害しない適切な配分を行うことがで
きる。
【0040】さらに、CPU20によりシ−ケンシャル
アクセスが指示されて、ライトアフタデ−タが作成され
ると記憶装置に書き込むべきライトアフタデ−タは、急
激に増加する。このため、前記ライトアフタデ−タをた
だちにキャッシュメモリから記憶装置に書き出す。これ
により、中央処理装置からシ−ケンシャルアクセスが指
示された場合でも、他の記憶装置に対するキャッシュメ
モリの割り当てを阻害しない、適切な配分を行う記憶装
置の制御装置を提供することができる。
【0041】以下、第2の実施例について示す。第2の
実施例は、装置構成等は、第1の実施例と同様であり、
ディレクタ22が実行するCPU起動処理のみが第1の
実施例とは異なる。ここでは、第2の実施例が、第1の
実施例とは異なっているところのみを説明する。
【0042】本実施例でのCPU起動処理10は、キャ
ッシュメモリの割当制限以上のライトアフタデ−タが存
在する場合、CPUディスク転送処理を行う。
【0043】図20は、本発明の第2の実施例における
情報処理システムを示す図である。ディレクタ22は、
CPU20とディスク装置25との間、CPU20とキ
ャッシュメモリ24との間、および、キャッシュメモリ
24とディスク装置25との間で行うデ−タ転送を制御
する。CPU起動処理10は、CPU20からの指示に
よりCPU20とディスク装置25間、および、CPU
20とキャッシュメモリ24間のデ−タ転送を実行す
る。CPU20とキャッシュメモリ24との間のデ−タ
転送において、書きかえたキャッシュメモリ24内のデ
−タをライトアフタデ−タと呼び、このライトアフタデ
−タをキャッシュメモリ24からディスク装置25に書
きす処理をライトアフタ処理と呼ぶ。ヒットミス判定処
理11では、処理対象のトラック29の内容がキャッシ
ュメモリ24内にあるかを判定する。トラック29の内
容がキャッシュメモリ24内にある場合、キャッシュヒ
ットと呼び、トラック29の内容がキャッシュメモリ2
4内にない場合、キャッシュミスと呼ぶ。キャッシュヒ
ットの場合、キャッシュヒット処理12を行なう。キャ
ッシュヒット処理12では、キャッシュ割り当て制限判
定処理13によりライトアフタデ−タに対するキャッシ
ュメモリ24の割り当て状況を判定し、割当て不可能な
場合、CPUディスク転送処理18を実行する。CPU
キャッシュ転送処理15では、CPU20の指示に従
い、キャッシュメモリ24内のデ−タを読み書きする。
シ−ケンシャル判定処理16、キャッシュ負荷状況判定
処理1、および、ライトアフタ処理5は、第1の実施例
と同様であるため、ここでは説明しない。
【0044】図21は、第2の実施例におけるCPU起
動処理に関するフロ−チャ−トである。CPU起動処理
10は、CPU20から制御装置21に対する指示によ
り実行する処理であり、CPU20とディスク装置25
間、および、CPU20とキャッシュメモリ24間のデ
−タ転送を行なう。ステップ120〜127は、図12
に示した第1の実施例と同様であるため、ここでは説明
しない。ステップ128では、カレントスロット数47
1が制限スロット数472以上かを判定する。条件を満
たす場合、ステップ140に進み、条件を満たさない場
合、ステップ130に進む。ステップ130〜133、
ステップ140〜145、および、ステップ16は、第
1の実施例と同様であるため、ここでは説明しない。
【0045】本発明の実施例によれば、キャッシュ負荷
状況判定処理1により、ライトアフタデ−タの量が閾値
以上となった場合、ディスク装置25毎の割当て制限を
設定する。割当て制限以上のライトアフタデ−タ量を要
求するCPU20からのデ−タ書き出し指示があった場
合、CPUディスク転送処理19により、CPU20と
ディスク装置25とのデ−タ転送により上記の指示に対
する処理を行なう。このため、あるディスク装置25へ
の割当て量が過大となり、他のディスク装置25に対す
る割当て量が過少となることはない。従って、ディスク
装置25に対するキャッシュメモリ24の割当てに関
し、他のディスク装置25に対するキャッシュメモリ2
4の割当てを阻害しない適切な配分を行うことができ
る。
【0046】以下、第3の実施例について示す。第3の
実施例は、負荷状況管理情報46として、割り当て可能
スロット数460、過負荷設定スロット数461、過負
荷解除スロット数463、および、最低割り当てスロッ
ト数476を外部からの指示により設定することが第1
の実施例とは異なる。本実施例では、制御装置21にサ
−ビスパネル36を接続し、サ−ビスパネル36により
負荷情報管理情報46を指定する。ここでは、第3の実
施例が、第1の実施例とは異なっているところのみを説
明する。
【0047】図22は、本発明の第3の実施例を示す情
報処理システムの構成図である。情報処理システムは、
中央処理装置(CPU)20、CPU20に接続された制
御装置21、制御装置21に接続されたサ−ビスパネル
36、および、制御装置21に接続された少なくとも1
台のディスク装置25からなる。制御装置21は、ディ
レクトリ23、キャッシュメモリ24、サ−ビスプロセ
ッサ26、および、少なくも1つのディレクタ22を有
する。
【0048】図23は、本発明の第3の実施例における
情報処理システムを示す図である。ディレクタ22は、
CPU20とディスク装置25との間、CPU20とキ
ャッシュメモリ24との間、および、キャッシュメモリ
24とディスク装置25との間で行うデ−タ転送を制御
する。CPU起動処理10、キャッシュ負荷状況判定処
理1、および、ライトアフタ処理5は、第1の実施例と
同様であり、ここでは、説明しない。負荷基準操作処理
39は、サ−ビスプロセッサ26の指示により、ディレ
クトリ23の内容を読みだす、あるいは、更新する。サ
−ビスパネル36は、制御装置21内の制御情報をユ−
ザに表示するための表示部37と、ユ−ザからの指示を
受け付けるための指示受領部38からなる。サ−ビスプ
ロセッサ26は、サ−ビスパネル37とディレクタ22
との間にあって、情報の表示と授受を制御する。
【0049】図24は、サ−ビスパネル36に表示され
る内容である。表示される内容としては、割当制限スロ
ット数81、過負荷設定スロット数82、過負荷解除ス
ロット数83、ディスク装置番号84、制限スロット数
85、および、最低割当スロット数86がある。割当制
限スロット数81、過負荷設定スロット数82、過負荷
解除スロット数83、制限スロット数85、最低割当ス
ロット数86は、それぞれ、割当制限スロット数46
0、過負荷設定スロット数462、過負荷解除スロット
数463、制限スロット数472、最低割当スロット数
476に対応する。それぞれの情報に関し、その内容が
nullのものは、空白を表示し、その内容がnullでないも
のは、その値を表示する。ディスク装置番号84は、デ
ィスク装置の番号であり、この領域は、更新不可能とす
る。メッセ−ジ表示欄87は、ユ−ザにより指示された
情報の内容に誤りがある場合のエラ−表示等を行う。
【0050】図25は、第3の実施例における負荷管理
情報の構成図である。負荷管理情報46は、キャッシュ
メモリ24内のライトアフタデ−タの占有状況を管理す
る情報である。図10に示した第1の実施例と異なるの
は、ディスク割当情報470内に、新たに、制限スロッ
ト数設定フラグ477を設けたことである。ここでは、
制限スロット数設定フラグ477について説明する。制
限スロット数設定フラグ477は、外部からの指示によ
り制限スロット数472を設定したかを示すフラグであ
る。
【0051】図26は、サ−ビスプロセッサによる負荷
基準操作処理のフロ−チャ−トである。負荷基準操作処
理39は、サ−ビスプロセッサ26からの指示により、
ディレクタ22が実行する処理である。ステップ250
では、サ−ビスプロセッサ26からの指示が情報更新か
否かを判定する。情報更新の場合、ステップ252に進
み、情報更新でない場合、ステップ251に進む。ステ
ップ251では、割当制限スロット数460、過負荷設
定スロット数462、過負荷解除スロット数463、制
限スロット数472、および、最低割当スロット数47
6を読みだし、サ−ビスプロセッサ26に転送する。ス
テップ252では、サ−ビスプロセッサ26から情報が
転送されてくるのを待つ。ステップ253では、サ−ビ
スプロセッサ26から転送された情報を割当制限スロッ
ト数460、過負荷設定スロット数462、過負荷解除
スロット数463、制限スロット数472、および、最
低割当スロット数476に設定する。この際、制限設定
スロット数95の内容がnullでないディスク装置25に
対し、制限スロット数設定フラグ477をオンする。
【0052】図27は、サ−ビスプロセッサでの情報操
作処理を示す図である。本処理は、サ−ビスパネル36
の指示受領部38により指示を受け、サ−ビスプロセッ
サ26が実行する。ステップ261では、ユ−ザからの
指示が情報更新か否かを判定する。情報更新の場合、ス
テップ264に進み、情報更新でない場合、ステップ2
62に進む。ステップ262では、ディレクタ22に情
報読みだしを指示し、情報が転送されてくるのを待つ。
ステップ263では、サ−ビスパネル36に情報を表示
する。表示内容は、図24で既に説明した。ステップ2
64では、サ−ビスパネル36に設定された値を読みだ
す。ステップ265では、設定内容が正常かを判定す
る。すなわち、最低割当てスロット数86以外に値が0
のものがない、かつ、設定情報のうち実装スロット数よ
り大きいものがあるかを判定する。ここで、実装スロッ
ト数とは、キャッシュメモリ24内のキャッシュスロッ
ト241の数である。条件を満たす場合、ステップ26
6に進み、条件を満たさない場合、ステップ272に進
む。ステップ266では、過負荷設定スロット数82が
過負荷解除スロット数83以上かを判定する。条件を満
たす場合、ステップ267に進み、条件を満たさない場
合、スロット272に進む。ステップ267では、制限
スロット数85あるいは最低割当スロット数86が設定
されたディスク装置を検索する。ステップ268では、
ディスク装置を検出したかを判定する。検出した場合、
ステップ269に進み、検出できなかった場合、ステッ
プ270に進む。ステップ269では、制限スロット数
85が最低割当スロット数86より大きいかを判定す
る。条件を満たす場合、ステップ270に進み、条件を
満たさない場合、ステップ272に進む。ステップ27
0では、全てのディスク装置25について判定が終了し
たかを判定する。判定が終了した場合、ステップ271
に進み、終了していない場合、ステップ267に戻る。
ステップ271では、ディレクタ22に情報更新を指示
して、情報を転送する。ステップ272では、図24の
メッセ−ジ表示欄87に情報不正を示すエラ−表示を行
う。
【0053】図28は、第3の実施例におけるキャッシ
ュ負荷状況判定処理1のフロ−チャ−トである。本処理
は、ライトアフタデ−タを含むキャッシュスロット24
1の占有量からキャッシュメモリ24の負荷状況を判定
する処理である。本実施例において、図11に示した第
1の実施例と異なるのは、ステップ104とステップ1
05の間にステップ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〜1
15およびステップ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に設定する。
【0054】本実施例では、サ−ビスパネル36からの
指示により、割り当て可能スロット数460、過負荷設
定スロット数461、過負荷解除スロット数463、お
よび、最低割り当てスロット数476を負荷管理情報4
6に設定する例を示した。同様のことを、CPU20か
らの指示により行なうことが可能である。以下、CPU
20からの指示により、負荷管理情報46を設定する方
法について示す。
【0055】図29は、中央処理装置と制御装置21と
の間で転送される情報の内容を示す図である。CPU2
0から指示される要求としては、負荷情報を読みだす要
求である負荷情報センス要求と、負荷情報を設定する要
求である負荷情報設定要求がある。負荷情報センスコマ
ンド90は、CPU20からの要求が負荷情報センス要
求であることを示す。制御装置21は、CPU20から
負荷情報センスコマンド90が指示されると、割当制限
スロット数91、過負荷設定スロット数92、過負荷解
除スロット数93、ディスク装置番号94、制限スロッ
ト数95、および、最低割当スロット数96をCPU2
0に転送する。割当制限スロット数91、過負荷設定ス
ロット数92、過負荷解除スロット数93、制限スロッ
ト数95、最低割当スロット数96は、それぞれ、割当
制限スロット数460、過負荷設定スロット数462、
過負荷解除スロット数463、制限スロット数472、
最低割当スロット数476に対応する。ディスク装置番
号94は、ディスク装置25の番号である。負荷情報設
定コマンド97は、CPU20からの要求が負荷情報設
定要求であることを示す。制御装置21は、CPU20
から負荷情報設定コマンド97が指示されると、CPU
20から転送される、割当制限スロット数91、過負荷
設定スロット数92、過負荷解除スロット数93、ディ
スク装置番号94、制限スロット数95、および、最低
割当スロット数96を、それぞれ対応する、割当制限ス
ロット数460、過負荷設定スロット数462、過負荷
解除スロット数463、制限スロット数472、最低割
当スロット数476に設定する。
【0056】図30は、図23に示した負荷基準操作処
理39のフロ−チャ−トである。本処理は、CPU20
から、負荷情報センスコマンド90、あるいは、負荷情
報設定コマンド97が指示された場合、ディレクタ22
が実行する。ステップ280では、CPU20からのコ
マンドが負荷情報設定コマンド97かを判定する。負荷
情報設定コマンド97の場合、ステップ282に進み、
それ以外では、ステップ281に進む。ステップ281
では、割当制限スロット数460、過負荷設定スロット
数462、過負荷解除スロット数463、制限スロット
数472、最低割当スロット数476をディレクトリ2
3から読みだし、割当制限スロット数91、過負荷設定
スロット数92、過負荷解除スロット数93、ディスク
装置番号94、制限スロット数95、および、最低割当
スロット数96として、CPU20に転送する。ステッ
プ282では、CPU20から、割当制限スロット数9
1、過負荷設定スロット数92、過負荷解除スロット数
93、ディスク装置番号94、制限スロット数95、お
よび、最低割当スロット数96が転送されるのを待つ。
ステップ283では、割当制限スロット数91、過負荷
設定スロット数92、過負荷解除スロット数93、ディ
スク装置番号94、制限スロット数95、および、最低
割当スロット数96を、負荷管理情報46に含まれる割
当制限スロット数460、過負荷設定スロット数46
2、過負荷解除スロット数463、制限スロット数47
2、最低割当スロット数476に設定する。この時、制
限設定スロット数95の内容がnullでないディスク装置
25に対して、制限スロット数設定フラグ477をオン
する。
【0057】本発明の実施例によれば、ユ−ザからの指
示、あるいは、CPU20からの指示により、ライトア
フタデ−タの割当て制限を設定する。ユ−ザあるいはC
PU20により、ライトアフタデ−タの制限が設定され
なかった場合、キャッシュ負荷状況判定処理1により、
ライトアフタデ−タの量が閾値以上となった場合、ディ
スク装置25毎の割当て制限を設定する。割当て制限以
上のライトアフタデ−タ量を要求するCPU20からの
デ−タ書き出し指示があった場合、ライトアフタ処理5
がライトアフタデ−タをキャッシュメモリ24からディ
スク装置25に書き出し、ライトアフタデ−タが割当て
制限未満になるまで上記の指示を待たせる。このため、
あるディスク装置25への割当て量が過大となり、他の
ディスク装置25に対する割当て量が過少となることは
ない。さらに、ユ−ザあるいはCPU20の指示により
ライトアフタデ−タの割当て制限を変更することができ
る。従って、ディスク装置25に対してキャッシュメモ
リ24の割当てる時に、他のディスク装置25に対する
キャッシュメモリ24の割当てを阻害しない適切な配分
を行うことができる。
【0058】
【発明の効果】本発明の実施例によれば、キャッシュ負
荷状況判定処理により、ライトアフタデ−タの量が閾値
以上となった場合、ディスク装置毎にキャッシュの割当
てを制限できる。割当て制限以上のライトアフタデ−タ
量を要求するCPUからのデ−タ書き出し指示があった
場合、ライトアフタ処理はライトアフタデ−タをキャッ
シュメモリからディスク装置に書き出し、ライトアフタ
デ−タが割当て制限未満になるまで上記の指示を待たせ
る。あるいは、割当て制限以上のライトアフタデ−タ量
を要求するCPUからのデ−タ書き出し指示があった場
合、CPUディスク転送処理は、CPUとディスク装置
とのデ−タ転送により上記の指示に対する処理をただち
に実行する。このため、あるディスク装置への割当て量
が過大となり、他のディスク装置に対する割当て量が過
少となることはない。
【0059】また、ライトアフタデ−タの割当て制限
を、ユ−ザからの指示、あるいは、CPUからの指示に
よっても設定できる。この時、ユ−ザあるいはCPUか
らライトアフタデ−タの制限が設定されなかった場合、
キャッシュ負荷状況判定処理により、ライトアフタデ−
タの量が閾値以上となった場合、ディスク装置毎に割当
ての制限を行なう。このため、あるディスク装置への割
当て量が過大となり、他のディスク装置に対する割当て
量が過少となることはない。さらに、ユ−ザあるいはC
PUからライトアフタデ−タの割当て制限の変更を指示
できる。
【0060】従って、それぞれのディスク装置に対して
キャッシュメモリを割当てる時、他のディスク装置に対
するキャッシュメモリの割当てを阻害しない適切な配分
を行うことができる。
【図面の簡単な説明】
【図1】本発明の一実施例における情報処理システムを
示す図である。
【図2】本発明の一実施例を示す情報処理システムの構
成図である。
【図3】ディスク装置の構成図である。
【図4】本実施例におけるトラック内のレコ−ド構成図
である。
【図5】ディレクトリの内容を示す図である。
【図6】スロットコントロ−ルブロック(SCB)の構成
図である。
【図7】SCBとキャッシュスロットに関係を示す図で
ある。
【図8】サ−チテ−ブルとSCBの関係を示す図であ
る。
【図9】タスクコントロ−ルブロック(TCB)の構成図
である。
【図10】負荷管理情報の構成図である。
【図11】キャッシュ負荷状況判定処理のフロ−チャ−
トである。
【図12】CPU起動処理のフロ−チャ−トである。
【図13】ディスク転送処理のフロ−チャ−トである。
【図14】シ−ケンシャル判定処理のフロ−チャ−トで
ある。
【図15】ロ−ド処理のフロ−チャ−トである。
【図16】シ−ケンシャルライトアフタ処理のフロ−チ
ャ−トである。
【図17】ロ−ド実行処理のフロ−チャ−トである。
【図18】ライトアフタ処理のフロ−チャ−トである。
【図19】ライトアフタ実行処理のフロ−チャ−トであ
る。
【図20】本発明の第2の実施例を示す情報処理システ
ムの構成図である。
【図21】第2の実施例のCPU起動処理のフロ−チャ
−トである。
【図22】本発明の第3の実施例を示す情報処理システ
ムの構成図である。
【図23】本発明の第3の実施例を示す情報処理システ
ムを示す図である。
【図24】サ−ビスパネルの表示内容を示す図である。
【図25】第3の実施例における負荷管理情報の構成図
である。
【図26】サ−ビスプロセッサによる負荷基準操作処理
のフロ−チャ−トである。
【図27】サ−ビスプロセッサでの情報操作処理を示す
図である。
【図28】第3の実施例におけるキャッシュ負荷状況判
定処理のフロ−チャ−トである。
【図29】中央処理装置との転送を行う情報内容を示す
である。
【図30】負荷基準操作処理のフロ−チャ−トである。
【符号の説明】
20・・・中央処理装置、21・・・制御装置、22・
・・ディレクタ、23・・・ディレクトリ、24・・・
キャッシュメモリ、25・・・ディスク装置。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 山本 彰 神奈川県川崎市麻生区王禅寺1099番地 株式会社 日立製作所システム開発研究 所内 (72)発明者 本間 繁雄 神奈川県小田原市国府津2880番地 株式 会社 日立製作所 小田原工場内 (72)発明者 安積 義弘 神奈川県小田原市国府津2880番地 株式 会社 日立製作所 小田原工場内 (72)発明者 小澤 匡二 神奈川県小田原市国府津2880番地 株式 会社 日立製作所 小田原工場内 (72)発明者 北島 弘行 神奈川県川崎市麻生区王禅寺1099番地 株式会社 日立製作所システム開発研究 所内 (72)発明者 宮崎 道生 神奈川県小田原市国府津2880番地 株式 会社 日立製作所 小田原工場内 (56)参考文献 特開 昭62−198946(JP,A) 特開 平2−36446(JP,A) 特開 平2−8928(JP,A) 特開 昭62−14247(JP,A) 特開 昭58−144961(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 12/08

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】中央処理装置と複数の記憶装置とに接続さ
    れたキャッシュメモリを有する制御装置であって、 前記キャッシュメモリ内の、前記複数の記憶装置に書き
    出す前のデータの量が、第1の閾値以上か第2の閾値未
    満かを判定する判定手段と、 前記データ量が第1の閾値以上であると判定したことに
    応じて、前記キャッシュメモリの割り当て制限データ量
    を前記複数の記憶装置毎に設定する手段と、 前記データ量が第2の閾値未満であると判定したことに
    応じて、前記複数の記憶装置毎に設定された前記キャッ
    シュメモリの割り当て制限データ量を解除する手段と、 前記中央処理装置がいずれかの記憶装置について前記割
    り当て制限データ量以上の前記キャッシュメモリの割り
    当てを要求したことに応じて、前記中央処理装置から前
    記キャッシュメモリへの書き出し処理を待たせる手段
    と、 前記複数の記憶装置にまだ書き出していないデータを、
    前記キャッシュメモリから前記複数の記憶装置に書き出
    す書き出し手段とを有することを特徴とする制御装置。
  2. 【請求項2】前記第1、第2の閾値及び前記割り当て制
    限データ量を変更する手段を有することを特徴とする請
    求項1に記載の制御装置。
  3. 【請求項3】前記第1、第2の閾値及び前記割り当て制
    限データ量を前記中央処理装置に報告する手段と、 前記中央処理装置からの指示に応答して、前記第1、第
    2の閾値及び前記割り当て制限データ量を設定する手段
    を有することを特徴とする請求項1に記載の制御装置。
  4. 【請求項4】前記書き出し手段は、前記複数の記憶装置
    のうち、前記中央処理装置が書き出し処理を待たされて
    いるデータが記憶されるべき記憶装置の未書き出しデー
    タを優先的に、当該記憶装置へ前記キャッシュメモリか
    ら書き出すことを特徴とする請求項1に記載の制御装
    置。
  5. 【請求項5】中央処理装置と複数の記憶装置の間に配置
    された制御装置の制御方法であって、 前記中央処理装置が前記制御装置のキャッシュメモリに
    データを書き込む際に、前記キャッシュメモリに格納さ
    れたデータのうち、未だ前記記憶装置に書き出していな
    い未書き出しデータの量が第1の閾値以上か第2の閾値
    未満かを判定し、 前記データ量が第1の閾値以上のとき、前記未書き出し
    データ量の割り当て制限量を前記記憶装置毎に設定し、 前記データ量が第2の閾値未満のとき、前記未書き出し
    データ量の割り当て制限量を解除し、 前記割り当て制限データ量以上の前記キャッシュメモリ
    の割り当てを必要とする前記中央処理装置からのデータ
    書き出し要求に応答して、前記中央処理装置によるデー
    タ書き出しを待たせ、 前記未書き出しデータを前記キャッシュメモリから前記
    記憶装置に書き出すことを特徴とする制御装置の制御方
    法。
JP02599491A 1991-02-20 1991-02-20 制御装置及び制御装置の制御方法 Expired - Lifetime JP3308554B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP02599491A JP3308554B2 (ja) 1991-02-20 1991-02-20 制御装置及び制御装置の制御方法
US07/833,129 US5307473A (en) 1991-02-20 1992-02-10 Controller for storage unit and method of controlling storage unit
US08/187,500 US5418929A (en) 1991-02-20 1994-01-28 Controller for storage unit and method of controlling storage unit
US08/383,093 US5623631A (en) 1991-02-20 1995-02-03 Limiting modification of cache entries in a write-back cache based upon the amount of dirty lines in the cache
US08/777,966 US6148367A (en) 1991-02-20 1996-12-24 Controller limiting modification of cache based upon amount of dirty lines in the cache

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP02599491A JP3308554B2 (ja) 1991-02-20 1991-02-20 制御装置及び制御装置の制御方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2002082322A Division JP3721338B2 (ja) 2002-03-25 2002-03-25 記憶装置の制御装置および制御方法

Publications (2)

Publication Number Publication Date
JPH04264940A JPH04264940A (ja) 1992-09-21
JP3308554B2 true JP3308554B2 (ja) 2002-07-29

Family

ID=12181275

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02599491A Expired - Lifetime JP3308554B2 (ja) 1991-02-20 1991-02-20 制御装置及び制御装置の制御方法

Country Status (2)

Country Link
US (4) US5307473A (ja)
JP (1) JP3308554B2 (ja)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2273798A (en) * 1992-12-22 1994-06-29 Ibm Cache system for disk array.
JPH06250928A (ja) * 1993-02-24 1994-09-09 Matsushita Electric Ind Co Ltd 情報処理装置
US5535364A (en) * 1993-04-12 1996-07-09 Hewlett-Packard Company Adaptive method for dynamic allocation of random access memory to procedures having differing priorities based on first and second threshold levels of free RAM
US5717894A (en) * 1994-03-07 1998-02-10 Dell Usa, L.P. Method and apparatus for reducing write cycle wait states in a non-zero wait state cache system
JPH08328752A (ja) * 1994-06-10 1996-12-13 Canon Inc 情報記録装置及び方法
US5581736A (en) * 1994-07-18 1996-12-03 Microsoft Corporation Method and system for dynamically sharing RAM between virtual memory and disk cache
US5463776A (en) * 1994-09-22 1995-10-31 Hewlett-Packard Company Storage management system for concurrent generation and fair allocation of disk space among competing requests
US5652864A (en) * 1994-09-23 1997-07-29 Ibm Concurrent storage allocations or returns without need to lock free storage chain
US5991835A (en) * 1994-11-22 1999-11-23 Teac Corporation Peripheral data storage device in which time interval used for data transfer from relatively fast buffer memory to relatively slower main memory is selected in view of average of time intervals during which data blocks were recently received from host
JP3239669B2 (ja) 1995-02-20 2001-12-17 株式会社日立製作所 記憶制御装置及びその制御方法
JPH08249218A (ja) * 1995-03-15 1996-09-27 Fujitsu Ltd ファイル制御装置及びデータ書き込み方法
US5682513A (en) * 1995-03-31 1997-10-28 International Business Machines Corporation Cache queue entry linking for DASD record updates
JP3583829B2 (ja) * 1995-04-13 2004-11-04 株式会社日立製作所 外部記憶サブシステムの制御方法および制御装置
US5778430A (en) * 1996-04-19 1998-07-07 Eccs, Inc. Method and apparatus for computer disk cache management
AU3483997A (en) * 1996-06-18 1998-01-07 Zitel Corporation Novel cache memory structure and method
KR19980029917A (ko) * 1996-10-28 1998-07-25 김광호 자기 디스크 드라이브에서 읽기 캐쉬의 성능을 높이기 위한 방법
JP3358655B2 (ja) 1998-12-22 2002-12-24 日本電気株式会社 ディスクアレイ装置におけるキャッシュメモリ管理方法
JP2000200461A (ja) * 1999-01-06 2000-07-18 Sanyo Electric Co Ltd ディスク記録装置
US8234650B1 (en) * 1999-08-23 2012-07-31 Oracle America, Inc. Approach for allocating resources to an apparatus
US20020108016A1 (en) * 2000-12-13 2002-08-08 Seagate Technology Llc System for characterizing performance of data handling systems under particular stimuli
US6775738B2 (en) 2001-08-17 2004-08-10 International Business Machines Corporation Method, system, and program for caching data in a storage controller
US6782444B1 (en) * 2001-11-15 2004-08-24 Emc Corporation Digital data storage subsystem including directory for efficiently providing formatting information for stored records
US7539608B1 (en) * 2002-05-10 2009-05-26 Oracle International Corporation Techniques for determining effects on system performance of a memory management parameter
US7073038B2 (en) * 2002-05-22 2006-07-04 Storage Technology Corporation Apparatus and method for implementing dynamic structure level pointers
US7117306B2 (en) * 2002-12-19 2006-10-03 Intel Corporation Mitigating access penalty of a semiconductor nonvolatile memory
US7076605B1 (en) * 2003-04-25 2006-07-11 Network Appliance, Inc. Method and apparatus for writing data to a storage device
JP4400126B2 (ja) * 2003-08-08 2010-01-20 株式会社日立製作所 仮想一元化ネットワークストレージシステムにおける一元的なディスク使用量制御方法
JP4508608B2 (ja) * 2003-11-13 2010-07-21 株式会社日立製作所 統合キャッシュを備えた記憶装置アダプタ
JP4141391B2 (ja) 2004-02-05 2008-08-27 株式会社日立製作所 ストレージサブシステム
JP2005284497A (ja) * 2004-03-29 2005-10-13 Hitachi Ltd 中継装置、管理サーバ、中継方法および認証方法
US7552303B2 (en) * 2004-12-14 2009-06-23 International Business Machines Corporation Memory pacing
JP4813843B2 (ja) * 2005-08-04 2011-11-09 株式会社日立製作所 ストレージ装置、ディスクキャッシュ制御方法及びディスクキャッシュの容量割当方法
JP4903415B2 (ja) * 2005-10-18 2012-03-28 株式会社日立製作所 記憶制御システム及び記憶制御方法
US7523271B2 (en) * 2006-01-03 2009-04-21 International Business Machines Corporation Apparatus, system, and method for regulating the number of write requests in a fixed-size cache
US7627714B2 (en) * 2006-08-22 2009-12-01 International Business Machines Corporation Apparatus, system, and method for preventing write starvation in a partitioned cache of a storage controller
US20080049617A1 (en) * 2006-08-23 2008-02-28 International Business Machines Corporation System for fine grained flow-control concurrency to prevent excessive packet loss
JP2008204574A (ja) * 2007-02-22 2008-09-04 Fujitsu Ltd 記憶装置とその制御方法
US9477602B2 (en) * 2008-08-08 2016-10-25 Intel Deutschland Gmbh Cache refill control
US8438338B2 (en) * 2010-08-15 2013-05-07 International Business Machines Corporation Flexible use of extended cache using a partition cache footprint
JP2012203881A (ja) * 2011-03-28 2012-10-22 Fujitsu Ltd ストレージ装置及びストレージ制御装置
JP6119533B2 (ja) * 2013-09-27 2017-04-26 富士通株式会社 ストレージ装置,ステージング制御方法及びステージング制御プログラム
KR20170045928A (ko) * 2015-10-20 2017-04-28 삼성에스디에스 주식회사 인메모리 데이터베이스를 이용한 데이터 관리 방법 및 그 장치

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4503501A (en) * 1981-11-27 1985-03-05 Storage Technology Corporation Adaptive domain partitioning of cache memory space
JPS597986A (ja) * 1982-07-06 1984-01-17 Fuji Xerox Co Ltd 電子写真複写機のクリ−ニング装置
CA1210157A (en) * 1982-12-09 1986-08-19 Jack J. Stiffler Memory backup system
US4916605A (en) * 1984-03-27 1990-04-10 International Business Machines Corporation Fast write operations
JPS62198946A (ja) * 1986-02-27 1987-09-02 Toshiba Corp デイスクキヤツシユシステム

Also Published As

Publication number Publication date
US6148367A (en) 2000-11-14
JPH04264940A (ja) 1992-09-21
US5307473A (en) 1994-04-26
US5418929A (en) 1995-05-23
US5623631A (en) 1997-04-22

Similar Documents

Publication Publication Date Title
JP3308554B2 (ja) 制御装置及び制御装置の制御方法
EP0077453B1 (en) Storage subsystems with arrangements for limiting data occupancy in caches thereof
US4875155A (en) Peripheral subsystem having read/write cache with record access
US4779189A (en) Peripheral subsystem initialization method and apparatus
JP2643093B2 (ja) データ記憶装置
JPS60147855A (ja) 記憶管理装置
US5513336A (en) System and method for determining when and what position in cache memory to store data elements utilizing least and last accessed data replacement method
US6457102B1 (en) Cache using multiple LRU's
JPS5960552A (ja) 周辺デ−タ記憶システム
JPH0675897A (ja) 分割を許容するバッファ・メモリ管理方法及びその装置
US5694570A (en) Method and system of buffering data written to direct access storage devices in data processing systems
JP2004078398A (ja) 仮想ボリューム管理方式
JP2000330729A (ja) オンラインバックアップ機能を持つディスクアレイシステム
JP3882461B2 (ja) 記憶装置システム及びそのバックアップ取得方法
US7107404B2 (en) Method and system for data processing for controlling a cache memory
JPH06124239A (ja) キャッシュメモリの常駐データ制御装置
JP2002304327A (ja) 記憶装置の制御装置および制御方法
JP2000285022A (ja) ディスク制御装置
JP2854667B2 (ja) ディスク・キャッシュ制御方式
JP2005004282A (ja) ディスクアレイ装置、ディスクアレイ装置の管理方法及び管理プログラム
JP2005166073A (ja) 記憶装置の制御装置および制御方法
JP3282525B2 (ja) データ管理装置及びネットワークデータ管理システム
JP2634867B2 (ja) デイスクキヤツシユデータ転送制御方式
JPH06131260A (ja) 記憶装置の制御装置
JP2854668B2 (ja) ディスク・キャッシュ制御方式

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20020416

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080517

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080517

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090517

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100517

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110517

Year of fee payment: 9

EXPY Cancellation because of completion of term