JPS59114658A - デ−タ記憶空間の管理方法 - Google Patents

デ−タ記憶空間の管理方法

Info

Publication number
JPS59114658A
JPS59114658A JP58206059A JP20605983A JPS59114658A JP S59114658 A JPS59114658 A JP S59114658A JP 58206059 A JP58206059 A JP 58206059A JP 20605983 A JP20605983 A JP 20605983A JP S59114658 A JPS59114658 A JP S59114658A
Authority
JP
Japan
Prior art keywords
data
cache
storage
data storage
dasd
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
Application number
JP58206059A
Other languages
English (en)
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS59114658A publication Critical patent/JPS59114658A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/0871Allocation or management of cache space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/46Caching storage objects of specific type in disk cache
    • G06F2212/462Track or segment
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99956File allocation

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)
  • Memory System (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔発明の分野〕 本発明は多重レベルのデータ記憶階層に係り、更に詳細
に説明すれば、データ記憶階層の上位レベルにあるデー
タに割振られたデータ記憶空間の管理に係る。
〔発明の背景〕
周辺記憶階層は米国特許第3569938号で開示され
た仮想記憶(apparent 5tore)を与える
ため多年にわたって用いられている。前記特許によれば
、要求時ページングシステムにおいて、キャッシュ型の
高速前部記憶(バッファ)にデータを高速記憶すること
により、周辺記憶システムが外見的に大容量を有し、そ
の上、通常の後部記憶によって与えら扛た速度よりも速
くデータへのアクセスを与えるようにすることができ、
更に後部記−億には磁気テープ記録装置及び磁気ディス
ク記録装置のような不揮発性記憶を用い、他方、前部記
憶には磁気コア記憶装置のような揮発性記憶を用いるこ
とができる。データ記憶技術の進歩によって、前部記憶
には一般に半導体型データ記憶素子が含まれる。米国特
許第3839704号によって、このような記憶階層の
別の形式が開示されている。記憶階層は安い費用ですぐ
れた性能を得ることが重要である。
記憶階層には種々の形態がある。例えば、前記米国特許
第3569938号によれば、単一の高速記憶が複数の
ユーザにサービスを与えている。
米国特許第3750360号は各々のプロセッサがそれ
自身の高速記憶、すなわちキャッシュを持ちうろことを
示している。記憶階層の性能も、所定のデータをキャッ
シュすなわち高速記憶部分に入れるのに用いられるアル
ゴリズム及び他の制御の影響を受ける。この方針に沿っ
て、米国特許第3898624号は、データを後部記憶
から前部記憶またはキャッシュ記憶に取出す時間の変更
を、使用中のCPUで実行中のプログラムに従ってコン
ピュータの操作員が選択できることを示している。この
ように、キャッシュまたは記憶階層の上位レベルのある
データはCPUが必要とするデータであるが、他の余分
なデータはキャッシュにないことが望ましい。この構成
によって更に有用なデータが、更に上位レベルの記憶部
分に格納される。これらの動作はどれも非常に複雑なも
のになる。従って、記憶階層の最善の管理がいかに行な
われているかを評価するため、記憶階層に関する評価プ
ログラムが用いられている。米国特許第3964028
号及び同第4068304号はこれらの目標を達成する
ため記憶階層性能の監視について開示している。その場
合においても、データの保全性を確保しながら最適性能
を向上させるため各種の記憶階層で行なわれるべき多く
のことが残されている。記憶階層に関する研究の多くは
CPUに接続されたキャッシュ及び主記憶の組合せに向
けられている。前記米国特許第3569938号によっ
て最初に示唆されたように、キャッシュ式主記憶の原理
はそのまま周辺システムにも適用することができる。も
ちろん、前記米国特許第3569938号以前にも、主
記憶は磁気テープ・ユニット及び磁気ディスク・ユニッ
トからCPUへのデータのバッファまたはキャッシュと
して用いられている、すなわち主記憶はCPUの作業記
憶としてだけではなく、周辺装置のバッファとしても用
いられている。
前記性能監視は使用ユニットと後部記憶の間に入れたキ
ャッシュ型バッファを常に使用することは全体のデータ
処理性能及び保全性にとって必ずしも最善の利益ではな
いことを示している。それ故、例えば、米国特許第40
75686号では、キャッシュは特殊な命令によってオ
ン、オフに切換えられ、選択的にキャッシュをバイパス
できることが開示されている。更に、順次入出力動作の
ような場合には、後部記憶はセグメントに分割され、そ
のいくつかがバイパスされていた。米国特許第4268
907号は、データ・ワードの取出しを指定するコマン
ドの場合に標識フラグが所定の状態にセットされること
を開示している。このようなフラグによって、置換回路
は後続の所定のコマンドに応答し、続いて取出されたデ
ータ・ワードについてはキャッシュをバイパスさせる。
これは、キャシュに記憶されている多数のデータ命令が
それらの実行中は置換されないようにするためである。
面白いことには、米国特許第4189770号はオペラ
ンドに対してはキャッシュをバイパスするが、命令を記
憶する場合にはキャッシュを用いることを示している。
ディスク記憶装置−直接アクセス記憶装置(DASD)
と呼ぶこともある−では、データ処理のため大量のデー
タが不揮発的に保持される。前に示唆したように、DA
SDをキャッシュ式にすると、DASD単体よりもすぐ
れた性能とスループットを持った記憶階層が実現される
。このような性能の改善は主として、キャッシュ・ミス
の割合を減らすことによって得られる。データ記憶階層
の管理は、キャッシュで達成できるアクセス数の比率を
増加させることを目的として、キャッシュの内容を動的
に変更することを含む。このような管理はコストの面で
前部記憶の大きさを縮小する傾向があるが、データは常
にDASDのレコード・トラックを一杯にするとは限ら
ないので、更に経費節減が可能な場合がある。要するに
、前部記憶のデータ記憶空間の利用を注意深く管理する
ことが必要である。例えば30キロバイト以上の大きな
データ記憶空間が前部記憶に割振られても、それが常に
データ信号で一杯になるとは限らない。
どんなデータ記憶ユニットにおいても使用可能な空間の
完全な利用を保証するデータ処理装置の管理には可変長
データの記憶が含まれる。例えば、米国特許第3739
352号では、どんなビット数の範囲のオペランドでも
処理しうる、いわゆる「自由フィールド」メモリに関連
するマイクロプログラム式プロセッサが開示されている
。自由フィールド・メモリをアドレス指定するアドレス
・レジスタは、メモリ中の任意の2ビット間の境界をフ
ィールドの開始点として指定し、更にこのフィールドの
ビット数を自由フィールド・メモリの最大ビット容量ま
で指定することができる。この方法は確かに、所与のデ
ータ記憶ユニットの使用効率を最大にするように見える
が、成るデータを他のデータと置換するとき、両方のデ
ータの大きさくビット数)が同じである確率は比較的小
さい。
これは、記憶効率を維持すべき場合には、データが置換
されるごとに、メモリの記憶様式を変えなければならな
いことを意味する。従って、この方法は、多くの使用例
では、多分有益であるが、前部記憶/後部記憶のデータ
記憶階層に対しては、データ置換動作のため適用できな
い。無理に適用すると、データ断片化が生じてしまい、
複雑で時間がかかりすぎる管理方法が必要となることは
容易に想像できる。
別の米国特許第3824561号は、可変長データ要素
のグループを記憶する際に、各データ要素の特性を定義
する特性データ・セットを用いて記憶アドレスを割振る
技術を開示している。この技術はデータ・セットの2方
向の走査を必要とする。第1のパスで各々の要素の長さ
と境界に関する情報が蓄積され、次いで第2のパスで、
アドレスが各々の要素に割振られ、適切な境界整合を維
持しながらグループ内のギャップが除去される。
この技術も、置換動作が必要なデータ記憶階層を除く一
定の適用例において価値がある。周辺データ記憶階層で
要求される性能は、このような時間のかかる割振り技術
では実現できない。
米国特許第4027288号には、開始区切キャラクタ
及び終了区切キャラクタを含むキャラクタ・セットを用
いて記憶機構の最大容量まで、情報セグメントの長さを
任意する技術が開示されている。それによれば、データ
・ストリングの長さが変わるときに、データ記憶割振り
及び不使用記憶空間の再利用が自動的に行われる。この
方式は順次アクセス式の磁気テープには向いているが、
殆んどの前部記憶で使用されているランダム・アクセス
・メモリには向かない。
米国特許第4035778号は、ホスト・プロセッサの
主記憶における作業用空間の割振を開示するもので、競
合するプログラムごとに設定される作業用空間の大きさ
を調節することによって割振が最適化される。ホスト・
プロセッサが前部記憶、すなわち作業用記憶と密接な作
業関係を有するデータ記憶階層では、作業用記憶はバッ
ファとみなすことができる。この特許の技術は置換制御
にも関連し、作業用空間の割振は置換技術に従って調節
される。周辺データ記憶階層は、ホスト・プロセッサと
の柔軟結合のため、この技術を利用できない。
米国特許第4103329号では、周辺データ記憶ユニ
ットにおいて、より小さいデータ記憶を使用するため可
変長フィールドによって表わされたデータの処理が開示
されている。ビット・フィールドは普通の記憶アドレッ
シング要素及び境界において独立して処理される。この
特許は、要求されたビット・フィールドの最初のビット
を含むベース・アドレスからの要素変位を含む変位レジ
スタの初期設定を開示する。このような技術は確かに、
ホスト・プロセッサが用いる主記憶にデータをパックす
るのに適切であるが、データの量がメガバイトの範囲に
あると、複雑さ及びコストが飛躍的に増大する。従って
、この技術も周辺データ記憶階層の前部記憶を管理する
のに十分満足のゆくものではない。
更に、データ記憶装置の利用度を改善するのに用いられ
る他の技術として、IBM  TECHNICAL  
DISCLO8URE  BULLETI N、 Vo
l、 14、Na 7、December 1971 
、 pp。
1955−1957に記載されているものがある。
この論文は、各々が別個のディレクトリを有する1つの
8KB (キロバイト)の領域及び2つの4KBの領域
から成る非対称高速記憶を示す。明らかに、より小さい
データ・セットが4KBの領域に記憶され、それに対し
て、より大きいデータ・セットは8KBの領域に記憶さ
れる。このような技術は、比較的大きい可変長データ・
ブロック、すなわち30KB以上のブロックがユニット
として転送されることになっている前部記憶の管理には
適合しない。Gates他の論文”Multiword
 SizeStorage ”、IBM  TECHN
ICAL  DISCLO8URE  BULLETI
N、Vol、 14、Na 8、January  1
969、pp、、1019−1020では、データ・ワ
ードの大きさの相違による記憶ビットの無駄または不使
用を避けるためのデータ記憶装置の管理が示されている
。この論文の技術は、2種類の大きさを有するワードを
記憶し、未使用のディスクが生じないように記憶を交互
に行わせることにを関連する。この論文は極端に制限さ
れたデータ・フォーマット・セットの場合だけのデータ
記憶装置の管理を取上げているので、一般的な場合の記
憶装置にはあてはまらない。
データ記憶装置を最大限に利用する様々な先行技術があ
るにもかかわらず、それと同時に高い性能を維持しなが
ら比較的安い経費で大きなデータ・ユニットを処理でき
る簡単でしかも効果的な管理装置及び管理方法が必要で
ある。
〔発明の概要〕
本発明によって、データ記憶装置は所与のデータ転送に
要する最大容量よりも小さいデータ記憶容量を各々が有
する割振り可能なデータ記憶空間を有する。入力データ
転送の度ごとに、予期されたデータに対してデータ記憶
ユニットでデータ記憶空間の初期最大割振りが行なわれ
、該データは割振られたデータ記憶空間に転送される。
データ転送が終ると、割振られたデータ記憶空間のどれ
が入力データを実際には受取っていないかについて検査
が行なわれる。入力データを受取らなかったデータ記憶
空間はすべて割振りを解除され、他のデータを記憶する
のに用いることが可能になる。
表現を換えれば、データ記憶空間の最大初期割振りは最
大データ転送の大きさに従って行なわれ、データ転送が
完了すると初期割振りは実際のデータ転送の大きさに減
少されるとともに、割振られたデータ記憶空間の残りの
部分は割振を解除される。
〔詳細な説明〕
以下、図面を参照して行なわれる詳細な説明において、
同じ参照番号は図面が異なっても同じ部分及び構造特性
を示すものとする。第1図及び第2図において、中央処
理ユニット、ホスト・プロセッサ等のような1つ以上の
使用ユニット10は、周辺接続(以下、チャネル11と
いう)を介して記憶ディレクタ12に接続されている。
記憶ディレクタ12は装置インタフェース13を介して
複数の直接アクセス記憶装置(以下、DASDl4とい
う)に適切に接続されている。キャッシュ15はチャネ
ル11を介してDASDl 4を1つ以上の使用ユニッ
ト10に選択的に接続する。キャッシュ15に記憶され
たデータへのアクセスはディレクトリ16を介して行な
われる。使用ユニット10はDASDl4の識別された
アドレスを用いて、前部記憶としてのキャッシュ15及
び後部記憶としてのDASDl4を含む記憶サブシステ
ムへのデータ・アクセスを要求する。前記アドレスは、
ディレクトリ16に記憶されているとき、キャッシュ1
5に記憶されたデータを参照し、DASDl4を参照せ
ずにデータ・アクセス要求を満足することができる。記
憶システムの動作は制御記憶18と処理ユニット19を
含むプログラム式プロセッサ17の制御の下に行なわれ
る。制御記憶18は、処理ユニット19がキャッシュ1
5、ディレクトリ16及びDASDl4を適切に制御で
き、使用ユニット10との通信を容易にするためのプロ
グセラムを記憶する。記憶されたプログラムに応答して
プログラム式プロセッサ17によって実行される機能の
大部分はこのような記憶システムにおける周知のもので
あるので詳細な説明は行なわれない。
ディレクトリ16は、後に第5図に関連して詳細に説明
するように、複数のレジスタ(ディレクトリ・レジスタ
)を有し、その各々にはDASDアドレス(セクション
20)が記憶されており、キャッシュ15のアドレス可
能部分に現在記憶されているデータを記憶する予定にな
っているか、または実際に記憶しているDASD14の
アドレスを識別する。キャッシュI5の記憶場所は各々
のディレクトリ・レジスタのセクション22に含まれた
キャッシュ・アドレス・ポインタP1によって指示され
るか、またはディレクトリ16のどのレジスタがDAS
Dアドレス20を記憶しているかによって指示されるこ
とがある、すなわちディレクトリ・レジスタのアドレス
がキャッシュ15のアドレス可能データ記憶空間に写像
される。
本発明に従って、ディレクトリ16にあるDASDアド
レス20によって指された、DASDI4のデータ記憶
トラック21のデータ記憶容量よりも小さい容量を有す
る、割振り可能なデータ記憶空間(単一のユニットとし
て割振られるアドレス可能データ記憶レジスタのセット
)がキャッシュ15に含まれる。キャッシュ15の割振
り可能なデータ記憶空間の容量はむしろ、データ記憶ト
ラック21の最大容量の整約数である。本発明の説明の
場合、キャッシュ15の割振り可能なデータ記憶空間は
DASD14のトラック容量の3分の1の容量であケ。
従って、キャッシュ15に記憶された完全なりASDト
ラックの内容をアドレス指定するには、3つのキャッシ
ュ・アドレスが必要である。このアドレス指定はキャッ
シュ15の割振り可能なデータ記憶空間23を識別する
ディレクトリ16のセクション22でアドレス・ポイン
タP1を得て、DASD14のトラックの第1の3分の
1の部分を記憶することによって行なわれる。割振り可
能なデータ記憶空間23はその中の、J\空間24及び
26に一対のポインタP2及びP3を有している。DA
SD14のP2はDASD14のトラックの第2の3分
の1の部分を記憶する割振り可能なデータ記憶空間25
を指すアドレスを含み、P3はトラックの第3の3分の
1の部分を記憶する割振り可能なデータ記憶空間27を
指すアドレスを含む。このように、キャッシュ15の3
つの割振り可能なデータ記憶空間は1つのトラックのデ
ータ内容を記憶するように連結されている。キャッシュ
15の前記複数の割振り可能なユニットの数は3と異な
る数であってもよく、またポインタP2及びP3のよう
な追加ポインタはディレクトリ16によって指された最
初の割振り可能なデータ記憶空間23に記憶される代り
に、ディレクトリ16のセクション22にポインタP1
と一緒に記憶されてもよい。ポインタP2、P3をキャ
ッシュ15内に記憶することはディレクトリ16の構造
を簡略化するが、後に明らかになるように、データ転送
をセット・アップするためキャッシュ15にもう1つの
アクセスを必要とする。
本発明により、キャッシュ15がデータを使用ユニット
10またはDASD14から受取ることになっていると
き、プログラム式プロセッサ17はキャッシュ15が受
取るデータの範囲の指示を受けない。すなわち、それは
1トラック全部のデータのこともあり、または1トラッ
ク全部よりも少ないデータのこともある。従って、キャ
ッシュ15はデータを受取る予定になるごとにキャッシ
ュ15の3つの割振り可能なデータ記憶空間が転送され
て来るデータに割振られる。この割振に続いて、データ
転送が生じる。データ転送が終了すると、プログラム式
プロセッサ17は、23.25または27のような割振
られたデータ記憶空間の中のどれが実際にデータを受取
って記憶したかを検査する。そしてデータを受取らなか
ったデータ記憶空間は、適切なポインタをOにすること
によって割振を解除され、アドレス指定されたばかりの
DASD14の1へラックに関連しないデータの再割振
りのために使用可能になる。このように、キャッシュ1
5のデータ記憶空nfJの管理によって、より多くのト
ラック数が比較的小さいキャッシュ容量によってキャッ
シュ15に有効に記憶され、経費が削減できる。言い換
えれば、同じ大きさのキャッシュ15が用いられる場合
、より多数のアドレス可能なりA−8D14のデータ記
憶トラックの内容がキャッシュ15に記憶可能であるか
ら。
性能が改善される。もちろん、キャッシュ15は多数の
割振り可能なデータ記憶空間28及び29(省略記号で
示す)を有する。
単一のアドレス可能なデータ記憶トラックからキャッシ
ュ15の関連しない複数のセグメントまたはデータ記憶
空間へのデータの分散は、高速データ転送を伴なうとき
は、すばやい連結及び若干の緩衝を必要とする。キャッ
シュ15の入出力データ信号の流れをよくするため一1
第1図及び第2図に示すように、複数の5SAR(シス
テム記憶アドレス・レジスタ)30が設けられる。5S
AR−0は、割振られたデータ記憶空間23をアクセス
するための準備としてディレクトリ16からポインタP
1を受取る。5SAR−1及び5SAR−2はそれぞれ
、割振られたデータ記憶空間23の空間24及び26か
らポインタP2及びP3を受取る。この動作によって後
続するデータ転送の準備は完了する。第4図は複数のア
ドレス・レジスタがいかに迅速に複数のアドレス可能な
データ記憶空間を連結して高速データ信号バーストを受
取れるかを示す。
データ・アクセス要求を受取るごとに、プログラム式プ
ロセッサ17はディレクトリ16を検査して関連する割
振り可能なデータ記憶空間が使用ユニット10から受取
ったDASDアドレスに割振られているかどうかを決定
する。一致がない場合には、参照番号35に示すように
キャッシュ・ミスが生じる。このようなキャッシュ・ミ
スによって、後に詳細に説明するように、DASD14
からキャッシュ15へのデータ昇格を生じることがある
。このようなキャッシュ・ミスによって処理ユニット1
9は制御記憶18をアクセスしてプログラム36を実行
し、DASD、14からキャッシュ15へのデータ転送
を生じることがある。更に、キャッシュ書込ヒツト−デ
ータが使用ユニット10からキャッシュ15に転送され
ることを意味するーは、矢印37で示すように、プログ
ラム式プロセッサ17でプログラム36を実行させ、キ
ャッシュ15にホスト(使用ユニット10)からのデー
ター最大lトラック全部のデータを含むことがあり、そ
の範囲はもちろん、現在はデータ記憶システムに知られ
てはいない−を受取る準備をさせる。このようなホスト
書込では、ホスト・データはできればDASD14に同
時に書込まれた方がよい。
いずれにせよ、キャッシュ15がオーバーランせずにデ
ータを受取り得るように、プログラム式プロセッサ17
はプログラム36に応答してプログラム40を実行し、
1つのDASDトラック容量をキャッシュ15に割振り
、必要に応じてポインタP1.P2及びP3をセットす
る。例えばキャッシュ15のデータ記憶空間がそれまで
に割振られていない場合、キャッシュ15の3つのデー
タ記憶空間が割振られ、対応するポインタが生成される
。他方、1つのデータ記憶空間だけが現在割振られてい
る場合には、後に、第3図に関連して詳細に説明される
ように、更に2つのデータ記憶空間が割振られ、対応す
るポインタが生成される。プログラム40の実行が完了
すると、プログラム式プロセッサ17はプログラム41
を実行する。これは状況により、実際にホスト(使用ユ
ニット10)またはDASD14からキャッシュ15へ
のデータ転送を生じる。データ転送が終了すると、プロ
グラム式プロセッサ17はプログラム42を実行してキ
ャッシュ15に転送されたデータの最後のバイトの終了
アドレスを検査する。この検査によって、割振られたデ
ータ記憶空間のどれが実際にはデータを受取らなかった
かを識別する。すなわち、終了アドレスの検査によって
、3つの割振られたデータ記憶空間のどれが最後にデー
タを受取ったかが決定される。次に、プログラム式プロ
セッサ17はプログラム43を実行して、データ転送の
ために行なわれたキャッシュ割振のうち未使用のものを
割振り解除する。もちろん、プログラム36及び43の
実行の前とその後に、データ記憶サブシステムに通常存
在する他のプログラム44が実行されるが、本発明の理
解には関係がないので、その詳細は省略する。
プログラム40おいて、プログラム式プロセッサ17が
キャッシュ15に存在するデータを置換えることが要求
されることがあり、自由な、すなわち末剤振りのデータ
記憶空間を識別する必要がある。この動作は、第5図に
関連して説明されるデータ記憶空間で通常用いられるL
 RU (leastrecently used)置
換制御リスト(以下、LRU47という)によって行な
われる。LRU47は割振り可能なデータ記憶空間の識
別を含む。従って、プログラム式プロセッサ17がプロ
グラム40を実行することによって、MRU−LRUプ
ログラム46が使用され、LRU47を走査してデータ
記憶空間を割振る。もし割振り可能なデータ記憶空間が
十分に存在すれば、これらの空間はこれ以上の動作を伴
なわずに割振られる。しかしながら、もし割振り可能な
データ記憶空間が存在しなければ、プログラム式プロセ
ッサ17は既知の置換方法を用いる置換プログラム45
を使用して、割振られたデータ記憶空間のうちで置換さ
れるべき空間にあるデータをDASD14に転送する。
DASD14がキャッシュ15と同時に更新されるので
あれば、キャッシュ15の空間は、DASD14への事
前置換データ転送を伴なわずに、到来するデータに対し
即座に再割振りされる。このように、キャッシュ15は
常に、昇格されたデータで満たすことができる。プログ
ラム48によってプログラム式プロセッサ17は既知の
方法を用いてキャッシュ15をアクセスするので、プロ
グラム48の詳細は省略する。
第2図は2つの記憶ディレクタ12を用いた本発明の良
好な実施例を示す。各々の記憶ディレクタ12は複数の
チャネル・アダプタ50を含む。
これらのチャネル・アダプタはまた個々にCAA乃至C
AD (数は4でなくてもよい)と呼ばれ、複数のチャ
ネル11を介してそれぞれの記憶ディレクタ12を複数
の使用ユニット10に接続する。
各々の記憶ディレクタ12には、通常、記憶ディレクタ
機能を実行するコンピュータ・プログラムを含む制御記
憶18を有する処理ユニット19が含まれている。第2
図は論理構造、すなわち制御記憶18にあるプログラム
の実行によって処理ユニット19で実現される機能を示
す。プログラム式プロセッサ17には、使用ユニット1
0が供給した周辺コマンドを受取って評価する「アドレ
ス及びコマンド評価器JACE52を構成するプログラ
ムが含まれ°る。このような機能はまた、現在、全世界
的に広く販売されている非キャッシュ式DASDの記憶
ディレクタで実行されており、第1図の「他のプログラ
ム44」の一部分である。プログラム式プロセッサ17
にはまた、周知のDASDアクセス及び制御機能を実行
するためDASD14への装置コマンドを与えるほか、
A CE 52によって評価、解読されたコマンドに応
答して使用ユニット10とDASD 14の間のデータ
転送を制御する間接アクセス制御DAC53のプログラ
ムが含まれている。DAC53には、DASD14のア
クセス及び使用ユニツ1〜10とDASD14の間のデ
ータ転送に関連して「他のプログラム44」に含まれた
DASD14をナクセスする既知のプログラム、ならび
にプログラム41が含まれている。プログラム式プロセ
ッサ17は更に、キャッシュ15をアクセスするキャッ
シュ・アクセス制御のプログラムCAC34を含んでい
る。各々のDASD14に対して1つずつ設けられるC
Dラッチ59はそれぞれ、DAC53及びCAC34に
よってアクセスされ、キャッシュ15またはDASD1
4に直接アクセスすべきかどうかが決定されるとともに
、キャッシュ・ミスの場合には前記ラッチがDにセット
される。記憶ディレクタ12からDASD14への接続
は、既知の装置アダプタ及びデータ・フロー設計技術を
用いて構成されているDASD回路55を介して行なわ
れる。キャッシュ15は、5SAR30などのアドレス
及びアクセス要求を生成する回路を含む記憶回路56を
介してアクセスされる。キャッシュ15は大容量のラン
ダム・アクセス記憶(以下、システム記憶57と呼ぶ)
の一部分である。
キャッシュ15は同時に且つ独立してDASDI4及び
ホスト(使用ユニットIO)とともにデータ転送を処理
できることが望ましい。キャッシュ15のディレクトリ
16及びLRU47もシステム記憶57に記憶されてい
る。更に、どの使用ユニット10も記憶ディレクタ12
にコマンドを与えて、データをキャッシュ15に固定さ
せておくことかで六る。すべての固定されたトラックは
キャッシュ固定リスト60−ディレクトリ16内に記憶
されているが、分り易くするため別個に示されている−
に記録され、キャッシュ15に記憶されたどのデータが
キャッシュ15に残るべきかが両方の記憶ディレクタ1
2に指示される。このような固定データは置換プログラ
ム45によるキャッシュ15の空間の再割振りを阻止す
るためLRU47には記入されない。
複数のDASD14がコントローラ65−一個々にDC
A乃至DCDと呼ばれる−を介して記憶ディレクタ12
に接続されている、いわゆるディシイ・ストリング配列
を介してDASD14へのアクセスが行なわれる。各々
の記憶ディレクタ12はディシイ・チェーン装置接続(
装置インタフェース13)を介してコントローラ65に
接続する。既知の放射状接続設計が用いられることもあ
る6本発明に従って第2図に示されたシステムの動作は
第3図に示された計算機動作の流れ図を参照することに
よって最もよく理解される。
第3図のステップ70でプログラム式プロセッサ17は
記憶アクセス要求を受取る。この要求はACE52で既
知の方法を用いて、解読、評価される。ステップ71で
、プログラム式プロセッサ17のDAC53部分は、受
取った記憶アクセス要求においてアドレス指定されたD
ASD14に関連するCDラッチ59 (第2図)を検
査し、キャッシュ15、またはキャッシュ15を除外し
てDASD14だけのどちらがアクセスされることにな
っているかを決定する。直接アクセスの場合には、DA
SD14はステップ72で、普通のDASDアクセス方
法を用いてアクセスされる。キャッシュ・アクセスの場
合には、ステップ73で、プログラム式プロセッサ17
はディレクトリ16を探索し、受取った記憶アクセス要
求(I10コマンド)で要求されたトラックがキャッシ
ュ15に割振られた空間を有するかどうかを決定する。
これに関連して、いくつかのコマンドはキャッシュ15
を除外してDASD14への直接接続を要求する点が注
目される。従って、このような工10コマンドを検出す
ると、ACE52は、アドレス指定されたDASD14
のCDラッチ59を直接モードrDJにセットする。こ
のようなI10コマンドの例としてDASD14の再較
正がある。
探索コマンドはディレクトリ16内でキャッシュ15ア
クセスについて実行することができる。すなわち、この
コマンドはDASD14に関連しない仮想方式で実行さ
れる。良好な実施例では、ブイレフ1−リ16はトラッ
クにあるレコードを個々゛  には識別せず、トランク
だけを識別するが、もちろん本発明はこれに限定されな
い。
ディレクトリ16のgfF4が終了すると、ステップ7
4で、プログラム式プロセッサ17はキャッシュ・ヒツ
トが生じたかどうかを決定する。キャッシュ・ヒツトが
生じた場合、ステップ74Aで、プログラム式プロセッ
サ17は受取ったDASD14のアドレスによって識別
されたディレクトリ16のレジスタのセクション22に
記憶されたPlを5SAR−0に転送し、次いでP2及
びP3をそれぞれの記憶場所から5SAR−1及び5S
AR−2にそれぞれ転送する。
ステップ75で記憶ディレクタ12はキャッシュ15を
検査して、アクセスされるレコードがキャッシュ15に
記憶されている(レコード・ヒツト)かどうかを決定す
る。アドレス指定されたレコードがキャッシュ15にあ
る(レコード・ヒツトがイエスである)場合、後続する
データ転送をうまく完了するのに追加セグメントはなく
てもよい。次にステップ76で、実行されるデータ転送
動作の種類が検査される。読取動作R(ホストへのデー
タ転送)の場合は、ステップ77で記憶ディレクタ12
は要求されたデータをキャッシュ15から要求元のホス
ト(使用ユニツhlO)に転送する。この転送で動作が
完了すると記憶ディレクタI2はパス78を介して他の
データ処理動作に移ることができる6書込動作W(ホス
トからのデータ転送)の場合は、ステップ80で、記憶
ディレクタ12はホストから受取ったコマンドを検査し
、書込はフォーマット書込(DASD14だけのアクセ
スが要求される)か、または他の書込形式(キャッシュ
15への書込み可)が要求されているかを決定する。フ
ォーマット書込の場合、ステップ81で、記憶ディレク
タ12はキャッシュ15におけるデータ記憶空間の割振
りを解除し、受取ったデータをDASD14に転送する
。ステップ80で非フォーマット書込(フォーマット=
0)の場合は、ステップ82で、記憶ディレクタ12は
データを要求元のホスト(使用ユニット10)から、キ
ャッシュ15及びDASD14のアドレス指定されたデ
ータ記憶領域に転送する。このように、キャッシュ15
とDASD14は常に同じデータの同一コピーを保有す
る。ステップ81及び82から、記憶ディレクタ12は
パス78を介して他のデータ処理動作に進む。この動作
はキャッシュにおける完全な11〜ラツクよりも小さい
割振り(部分トラック割振り)が連続するデータ転送を
処理することを可能にする。
ステップ75で、記憶ディレクタ12がアドレス指定さ
れたレコードを発見しない(レコード・ヒツトがノーで
ある)場合、さし迫ったキャッシュへのデータ転送のた
め、追加セラメン1−が後続するデータ転送に割振られ
ることがある。ステップ85で、記憶ディレクタ12は
P2及びP3の値を検査する。いずれか一方または双方
のポインタがOである(キャッシュ15で対応する空間
が割振られていない)場合、ステップ86で、記憶ディ
レクタ12は、前に説明したように、トラックに対する
追加セグメントを割振った後、キャッシュ15にデータ
を転送するためステップ87に進む。ステップ87のデ
ータ転送は、ホストがらDASD14及びキャッシュ1
5への書込、DASD14からキャッシュ15及びホス
トへの読取、またはDASD14からキャッシュ15へ
のデータ・ステージング動作である。
転送後の機械動作として、記憶ディレクタ12はキャッ
シュ15を検査し、3つの割振られたセグメントの中の
どれが完了したばかりのデータ転送から実際にデータを
受取ったかを決定する。ステップ88で、記憶ディレク
タ12は後に説明するセグメント・カウンタ129(第
4図)を検査し、1.2または3の値−それぞれ、1つ
、2つまたは3つの割振られたセグメント(PI、P2
、P3に対応する)が実際にデータを受取って現在記憶
していることを示す−を確認する。K=1の場合、ステ
ップ90で、記憶ディレクタ12はセグメント2及び3
(それぞれ、XM及びYMとも呼ばれる)を識別してL
RUリス1〜に挿入し、これらのセグメントが割振りに
使用できるようにする。ステップ91で、対応するポイ
ンタP2及びP3は0にセットされる。ステップ88で
に=2の場合、記憶ディレクタ12はステップ92及び
93で、第3のセグメントYMをLRUリス1〜に挿入
してポインタP3をOにセットする。
ステップ88でに=3の場合、記憶ディレクタ12は、
3・つのセグメン1へすべてがデータを受取って現在記
憶していることを知るので、パス78を介して直接化の
データ処理動作に進む。また、ステップ91及び93か
らもパス78に進む。
ステップ74でキャッシュ・ミス(ヒツト=0)の場合
、記憶ディレクタ12はステップ95及び96で、キャ
ッシュ15にある3つのセグメント(XY、XM、YM
)を後続するデータ転送のために割振るとともに、それ
ぞれの5SAR0,1及び2に対応するポインタP1、
P2及びP3をセラ1−する。そして、記憶ディレクタ
12は、前に説明したように、ステップ87で実行され
るデータ転送動作に進む。
ディレクトリ16の1つの実施例では、ディレクトリ1
6にあるレジスタの各々はキャッシュ15の1つ空間2
8(第1図)に対応している。それ故、セクション22
は関連空間のキャッシュ15における開始アドレスも(
ベース+オフセット・アドレッシングを用いて)指示す
るディレクトリ16内のレジスタ・アドレスなしで済ま
される。
そして割振は適切なりASDアドレスをレジスタのセク
ション20に挿入することから成る。アドレスXM及び
YMはそれぞれポインタP2及びP3となり、アドレス
XYに対応するデータ記憶空間23の中の空間24及び
26に記憶される。これらの最後の2つのポインタに対
してはディレクトリ16に変更がないことに注目された
い。所与のレジスタが常にキャッシュ15の1つデータ
記憶領域に関連する上述のディレクトリ構造の場合、ア
ドレスP2及びP3はそれぞれのポインタhす・レジス
タに挿入され、P2及びP3のレジスタはLRU47か
ら落とされる。以上で、後続するデータ転送のためのポ
インタのセツI〜アップは完了する。
第4図は本発明とともに使用可能なキャッシュ15のア
ドレッシング回路を示す。DASD14との間のデータ
転送の場合のデータ経路100はキャッシュ15から記
憶回路56を介してDASD回路55に達する。データ
経路はまた、第2図に示すように、使用ユニット10と
の間のデータ転送のためチャネル・アダプタ50に達す
る。キャッシュ15、チャネル・アダプタ50及びDA
SD回路55の間のデータ転送は、既知の設計で且つ現
にDASD記憶システムにおいて使用されている普通の
自動データ転送回路の制御下にある。
このような自動転送制御回路は第4図で記憶回路56の
一部分である自動制御101として示されている。プロ
グラム式プロセッサ17は適切な開始信号をライン10
2を介して自動制御101に供給する。5SAR30に
はアドレス・バス110.111及び112を介してそ
れぞれプログラム式プロセッサ17から受取った適切な
アドレスP1、P2及びP3がロードされているものと
する。プログラム式プロセッサ17からアドレス・レジ
スタへのこのようなローディングはよく知られている。
自動制御101は、開始信号を受取ると直ちに、キャッ
シュ15のアクセス制御信号をライン103を介してキ
ャッシュ15に供給する。
その結果、キャッシュ15は後に説明するように、キャ
ッシュ内のデータ記憶レジスタをアクセスするアドレス
を受取る。ライン103上のアクセス制御信号は、動作
がキャッシュからの読取動作であるか、またはキャッシ
ュへの書込動作であるかの指示を運ぶ。多くのキャッシ
ュ15は、リフレッシュ・サイクルをデータ・アクセス
・サイクルの間にはさんでいる。キャッシュ15は、1
組のデータ信号をデータ経路100を介して転送するご
とに、ライン104を介して自動制御101に1動作サ
イクルを指示する。自動制御101は所与の数のデータ
信号をキャッシュ15とDASD14またはホスト(使
用ユニット10)との間で転送するため既知の方法でプ
リセットされている。
データ信号がキャッシュ15に書込まれつつあるとき、
自動制御101は受取られる信号数を知らなくてもよい
。この場合、もう1つの信号がライン102を介して供
給されて自動制御101をオフにし、ライン103上の
信号を取除く。例えば、ホストからキャッシュ15への
データ転送において、I 8M370インタフエース・
アーキテクチャを用いてホストは、データ転送の終了を
指示する、いわゆるCOMMAND  OUT  I1
0タグ信号を送ることがある。このようなI10タグ信
号によってプログラム式プロセッサ17はもう1つの信
号をライン102に送り、自動制御101にデータ転送
の終了を指示する。内部的に自動制御101による、ま
たは外部的に受取ったコマンドによるデータ転送の終了
はライン105を介して供給される終了信号によってプ
ログラム式プロセッサ17に指示される。
キャッシュI5の動作サイクルごとに、自動制御101
はライン115を介してアドレス増分信号を出す。アド
レス増分信号はプログラム式プロセッサ17からバス1
30を介して受取った5SARアドレスによって選択さ
れた1つの5SAR30にだけ与えられる。複数のアド
レス・レジスタのアドレス指定はよく知られているので
その説明は省略する。Pl、P2及びP3がロードされ
ると、プログラム式プロセッサ17から受取った5SA
Rアドレス信号は5SAR−0を選択する。
デコーダ131はアドレス信号を解読し、AND回路イ
ネーブル信号をライン132を介してAND回路116
及び120に供給する。AND回路116はライン11
5上のアドレス増分信号を5SAR−0に送って5SA
R−0に含まれているアドレスを増分する。アドレスを
減分する場合も同様に行なわれる。5SAR−0が増分
されるごとに、1組のアドレス信号がAND回路120
に供給され、更にアドレス・バス123を介してキャッ
シュ15に転送され、データ転送のためキャッシュ15
のアドレス指定されたデータ記憶空間内の次のデータ記
憶場所が選択される。
キャッシュ15の1つのデータ記憶空間内のアドレス可
能なデータ記憶場所のすべてにわたって5SAR−0が
カウントし終ったとき、5SAR−0はキャリ信号をラ
イン126からOR回路125に供給し、セグメント・
カウンタ129を増分する。2にのデータ記憶場所(k
は整数)を有するセグメントをカウントするセラメン1
−・カウンタ129はライン140を介してプログラム
式プロセッサ17から受取ったりセラ1へ信号によって
0にプリセットされている。セグメント・カウンタ12
9は信号「0」をライン141を介してデコーダ131
に供給し、受取った5SAR−0アドレス信号を解読回
路に送ってライン132にAND回路イネーブル信号を
生じさせる。セラメン1〜・カウンタ129は、5SA
R−0のキャリ信号によって増分されると、信号「1」
をライン142を介してデコーダ131に供給する。
デコーダ131は受取った5SARアドレスに1を加え
ることにより、ライン132のAND回路イネーブル信
号を除去して新しいAND回路イネーブル信号をライン
133を介して供給することができる。この信号は5S
AR−1に関連するAND回路117及び12】をイネ
ーブルする。
AND回路117によってライン115上のアドレス増
分信号は5SAR−1を増分し、次いで、アドレス信号
がAND回路121を介してキャッシュ15に供給され
る。同様に、5SAR−1はそのキャリ信号をライン1
27を介してOR回路125に供給してセグメント・カ
ウンタ129のカウントを増分し、信号「2Jがライン
143を介してデコーダ131に供給される。それによ
って、デコーダ]、 31は受取った5SARアドレス
に2を加え、AND回路イネーブル信号はライン134
を介して、5SAR−2に関連するAND回路118及
び122に送られる。5SAR−2はアドレス増分信号
を受取ってキャッシュ・データ記憶場所の信号をキャッ
シュ15に供給し、かくして3番目のデータ記憶空間が
続いて起る動作でアドレス指定される。
セグメント・カウンタ129によるカウントは2にの大
きさのセグメントに制限されない。セグメント・サイズ
・レジスタを備えることによって、セグメント・カウン
タ129は任意の大きさを有するセグメント、または大
きさが可変のセグメントをカウントできるが、簡略化の
ためには2にの大きさのセグメントの方が望ましい。
第4図の省略記号147で示すように、更に多数のSS
A、R30が設けられることがあることを認識する必要
がある。その場合、より多くの記憶アドレス・レジスタ
の中の任意の3レジスタが本発明に従ってキャッシュ1
5の動作を順序づけるのに用いられることがある。従っ
て、省略記号148に示すように、同程度に多数のAN
D回路イネーブル・ラインがある。いずれにしても、P
lを受取る最初の記憶アドレス・レジスタはプログラム
式プロセッサ17によって通常の方法で選択される。プ
ログラム式ブイセッサ17は次に、キャッシュ15内の
連続的にアクセスされるデータ記憶空間28の連結され
たアドレスのシーケンスを開始するP1アドレスをどの
5SARが受取ったかを指示する。従って、可変数のデ
ータ記憶空間28を用いて異なった大きさのアドレス空
間からのデータ信号を受取ることができる。例えば、2
種類のDASD14が記憶ディレクタ12に接続されて
いる場合、2つの異なる大きさのデータ転送単位(2つ
のDASDトラックのデータ内容は異なる数の記憶デー
タ・ビットを有する)が含まれることがある。最初のD
ASD14に対しては、例えば、3つのデータ記憶空間
28が連結され、より大きくて新らしいDASD、14
に対しては、キャッシュ15の中の5個のデータ記憶空
間28が用いられる。後者の場合、データ受取りのため
に適切な数のデータ記憶空間28が選択されるように、
各々のDASD装置アドレスとデータ転送単位の大きさ
とを関係付けるテーブル(図示せず)が記憶ディレクタ
12に設けられる。DASD14には、1/3単位また
はl/4単位で別々にアドレス可能なトラックと、1単
位でのみアドレス可能なトラックとを両方とも含むもの
がある。
その場合も本発明の原理が同様に適用できる。もちろん
、セグメント・カウンタ129はそれに応じて調整され
なければならない。
データ記憶空間28の割振り解除を行なうため、セグメ
ント・カウンタ129は、現在のデータ転送動作のシー
ケンスでアクセスされたセグメントの数をバス145を
介して供給する。第3図のステップ88で、セグメント
・カウンタ129の値が決定される。
第5図はディレクトリ16の動作を例示している。ディ
レクトリ16は複数のレジスタを含み、その各々はキャ
ッシュ15のデータ記憶空間28の1つだけに独特の関
連を有する。ディレクトリ16へのアクセスは、プログ
ラム式プロセッサ17を介して使用ユニット10からバ
ス150に受取ったDASDアドレスに基づいて行なわ
れる。
ハツシュ回路151は受取ったDASDアドレスを周知
のハツシュ・クラスに分析、解剖する。特定のデータ記
憶システムのすべてのDASD14のアドレス・ベース
全体はトラック数、装置数及びDASDシリンダ数(シ
リンダは1つの放射状の区域またはアドレスにおける全
レコード・トラックである)に従って複数のクラスに分
けられる。
各々のハツシュ・クラスはS I T (分散インデッ
クス表)152に単一のレジスタを有する。ハツシュ回
路151の出力は5IT152において1つのレジスタ
だけをアドレス指定する。5ITI52は、所与のSI
Tレジスタについて定義されたハツシュ・クラスに属す
るDASDアドレスをセクション20に有するディレク
トリ・レジスタのアドレスを記憶している。このアドレ
スは矢印】54で示すように供給され、ディレクトリ1
6の中の指示されたレジスタを選択する。各々のディレ
クトリ・レジスタ内にハツシュ・ポインタ155があり
、同じハツシュ・クラス内のDASDアドレスを含む次
のディレクトリ・レジスタを指す。このようなディレク
トリ・レジスタの連鎖されたリストにある最後のディレ
クトリ・レジスタは全O1すなわち連鎖終了であること
を示す特別コードを含む。従って、ディレクトリ・レジ
スタを走査する場合には、プログラム式プロセッサ17
はハツシュ回路151を活動化して5IT152からデ
ィレクトリ・レジスタをアクセスし、比較回路157で
最初のディレクトリ・レジスタのセクション20に含ま
れたDASDアドレスとバス150に受取ったDASD
アドレスとを比較する。両者が一致する場合はライン1
58上の信号で示すようにキャッシュ・ヒツトが生じて
いる。
実施例では、ライン158はプログラム式プロセッサ1
7内における36のようなプログラムの中の論理バスで
ある。ライン159によって不一致が示された場合、ハ
ツシュ・ポインタ155が読取られ、そのハツシュ・ポ
インタが指すディレクトリ・レジスタ中のDASDアド
レスが同じ方法で比較される。このサイクルは両DAS
Dアドレスが一致してキャッシュ・ヒツトを表わすか、
またはEOC(連鎖終了)が生じるまで反復される。
EOCの場合は、ライン160で示すように、キャッシ
ュ・ミスが生じる。
ディレクトリ16を構成するディレクトリ・レジスタの
各々はセクション22にP1ポインタを含む。前に述べ
たように、ディレクトリ・レジスタの実際のアドレスは
直線的にデータ記憶領域28に関連していてもよいが、
Plをセクション2.2に保持しておけば、ディレクト
リ16の構造とキャッシュ15の構成の間に特定の関係
を持つ必要はない。
LRU47もディレクトリ16内に存在する。
ディレクトリ16のレジスタの各々は、キャッシュ15
において現レジスタが指すデータ記憶空間の1つ前に使
用されたデータ記憶空間に対応するディレクトリ・レジ
スタを指すポインタLRUPを含むセクション167を
有する。同様に、セクション168はより最近に使用さ
れたデータ記憶空間に対応するディレクトリ・レジスタ
を指すボインクMPUPを有する。従って、セクション
167及び168はブイレフ1〜す・レジスタの2重リ
ンク・リストを構成し、それによって各データ記憶空間
がどれ位前に使用されたかを示す。最も −前に使用さ
れたデータ記憶空間はLRUPセクション167に特殊
コードで表わされ、最後に使用されたデータ記憶空間は
MRUPセクション168に特殊コードで表わされる。
プログラム式プロセッサ17の制御記憶18はいわゆる
LRUアンカ165及びMRUアンカ166を有する。
LRUアンカ165は最も前に使用されたディレクトリ
・レジスタのアドレスを含み、MRUアンカ166は最
後に使用されたデータ記憶空間に対応するディレクトリ
・レジスタを指す。2重リンク・リストのセクション1
67、j68及びアンカ165.166の更新はよく知
られているので説明を省略する。第3図のステップ91
または93に示すように、P2またはP3がOにセット
されると、プログラム式プロセッサ17は対応するキャ
ッシュ15のセグメントを解放する(Fビット171を
1にセットする)ことによってセクション167.16
8の2重リンク・リストを更新し、リンク・リストのL
RU末尾部分に解放されたセグメントを再リンクする。
更に、DASD14がキャッシュ15のデータ更新と同
時に更新されないときは、LRU47は対応するデータ
記憶空間28のステータス標識を含む。Mビット170
によって、対応するデータ記憶空間28のデータ内容が
使用ユニット10によって変更されたかどうかが表示さ
れる。Mビット170が0のときは、対応するデータ記
憶空間の割振り解除が可能である。Mビット170が1
に等しい(キャッシュ15のデータが変更されている)
ときは、対応するデータ記憶空間28のデータ内容がD
ASD14の関連データ記憶領域に移された後に、対応
するデータ記憶空間の再割振りが可能になる。DASD
14とキャッシュ15が同時に更新されるときは、Mビ
ット170は使用されずに済む。Fビット171はデー
タ記憶空間28が自由(未開振り)であって割振りに使
用できるかどうかを指示する。第3図のステップ81及
び95に関連して説明されたLRU走査はLRUアンカ
165が指示したディレクトリ・レジスタによって始ま
り、2重リンク・リスト(セクション167及び168
)を用いて1に等しいFビット171のレジスタを走査
する。自由なデータ記憶空間を発見しない場合には、0
に等しいMビット170の走査が次に行われる。もちろ
ん、各々のディレクトリ・レジスタは省略記号175で
示すよう・に追加の制御情報を含む。
【図面の簡単な説明】
第1図は本発明に従うデータ記憶システムの概略及びプ
ログラムの流れを示すブロック図、第2図は第1図に示
す技術を周辺データ記憶階層に適用したブロック図、 第3図は第2図の動作を示す流れ図、 第4図は記憶回路56の詳細を示すブロック図、第5図
はディレクトリ16の詳細を示すブロック図である。

Claims (1)

  1. 【特許請求の範囲】 割振り可能な多数のデータ記憶空間を有するデータ記憶
    ユニットにおいて、 書込み要求に応答して使用可能な複数のデータ記憶空間
    を割振り、該複数のデータ記憶空間へ順次にデータを書
    込み、該複数の記憶空間のうちでデータを書込まれなか
    ったデータ記憶空間の割振りを解除して他の書込み要求
    に対する再割振りを可能にすることを特徴とするデータ
    記憶空間の管理方法。
JP58206059A 1982-12-20 1983-11-04 デ−タ記憶空間の管理方法 Pending JPS59114658A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US450894 1982-12-20
US06/450,894 US4499539A (en) 1982-12-20 1982-12-20 Method and apparatus for limiting allocated data-storage space in a data-storage unit

Publications (1)

Publication Number Publication Date
JPS59114658A true JPS59114658A (ja) 1984-07-02

Family

ID=23789949

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58206059A Pending JPS59114658A (ja) 1982-12-20 1983-11-04 デ−タ記憶空間の管理方法

Country Status (5)

Country Link
US (1) US4499539A (ja)
EP (1) EP0112442B1 (ja)
JP (1) JPS59114658A (ja)
DE (1) DE3379920D1 (ja)
SG (1) SG25291G (ja)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4603382A (en) * 1984-02-27 1986-07-29 International Business Machines Corporation Dynamic buffer reallocation
US4680702A (en) * 1984-04-27 1987-07-14 Honeywell Information Systems Inc. Merge control apparatus for a store into cache of a data processing system
US4779189A (en) * 1985-06-28 1988-10-18 International Business Machines Corporation Peripheral subsystem initialization method and apparatus
US4875155A (en) * 1985-06-28 1989-10-17 International Business Machines Corporation Peripheral subsystem having read/write cache with record access
US4740909A (en) * 1986-04-28 1988-04-26 The United States Of America As Represented By The Secretary Of The Air Force Real time data reduction system standard interface unit
US4967353A (en) * 1987-02-25 1990-10-30 International Business Machines Corporation System for periodically reallocating page frames in memory based upon non-usage within a time period or after being allocated
JPS63226762A (ja) * 1987-03-16 1988-09-21 Hitachi Ltd デ−タ処理方式
US5446844A (en) * 1987-10-05 1995-08-29 Unisys Corporation Peripheral memory interface controller as a cache for a large data processing system
JP2965987B2 (ja) * 1988-02-22 1999-10-18 株式会社日立製作所 データ処理システム
US5359713A (en) * 1989-06-01 1994-10-25 Legato Systems, Inc. Method and apparatus for enhancing synchronous I/O in a computer system with a non-volatile memory and using an acceleration device driver in a computer operating system
US5226141A (en) * 1989-07-14 1993-07-06 Touch Technologies, Inc. Variable capacity cache memory
AU6075790A (en) * 1989-07-14 1991-02-22 Touch Technologies, Inc. Variable capacity cache memory
CA2025197C (en) * 1989-10-19 1998-04-21 Michael H. Kelley Method and system for dynamically controlling the operation of a program
US5680574A (en) 1990-02-26 1997-10-21 Hitachi, Ltd. Data distribution utilizing a master disk unit for fetching and for writing to remaining disk units
US6728832B2 (en) * 1990-02-26 2004-04-27 Hitachi, Ltd. Distribution of I/O requests across multiple disk units
US5235690A (en) * 1990-08-31 1993-08-10 International Business Machines Corporation Method for operating a cached peripheral data storage subsystem including a step of subsetting the data transfer into subsets of data records
US5317728A (en) * 1990-09-07 1994-05-31 International Business Machines Corporation Storage management of a first file system using a second file system containing surrogate files and catalog management information
JPH0774984B2 (ja) * 1991-06-10 1995-08-09 インターナショナル・ビジネス・マシーンズ・コーポレイション システム資源利用率測定方法とデータ処理システム
US6026452A (en) 1997-02-26 2000-02-15 Pitts; William Michael Network distributed site cache RAM claimed as up/down stream request/reply channel for storing anticipated data and meta data
JPH0659952A (ja) * 1992-08-07 1994-03-04 Toshiba Corp 磁気ディスク装置
US5394534A (en) * 1992-09-11 1995-02-28 International Business Machines Corporation Data compression/decompression and storage of compressed and uncompressed data on a same removable data storage medium
US5991775A (en) * 1992-09-23 1999-11-23 International Business Machines Corporation Method and system for dynamic cache allocation between record and track entries
US5404500A (en) * 1992-12-17 1995-04-04 International Business Machines Corporation Storage control system with improved system and technique for destaging data from nonvolatile memory
US5499354A (en) * 1993-05-19 1996-03-12 International Business Machines Corporation Method and means for dynamic cache management by variable space and time binding and rebinding of cache extents to DASD cylinders
US5519846A (en) * 1993-12-23 1996-05-21 Unisys Corporation Multiprocessor system with scheme for managing allocation and reservation of cache segments in a cache system employing round-robin replacement and exclusive access
US5717916A (en) * 1994-09-30 1998-02-10 Vlsi Technology, Inc. Method for providing an improved fully associative cache memory having a finite state machine and linked list structure
US6085234A (en) * 1994-11-28 2000-07-04 Inca Technology, Inc. Remote file services network-infrastructure cache
US5634028A (en) * 1994-12-15 1997-05-27 International Business Machines Corporation Compact track address translation mapping system and method
US5717888A (en) * 1995-06-02 1998-02-10 International Business Machines Corporation Accessing cached data in a peripheral disk data storage system using a directory having track and cylinder directory entries
US5682499A (en) * 1995-06-06 1997-10-28 International Business Machines Corporation Directory rebuild method and apparatus for maintaining and rebuilding directory information for compressed data on direct access storage device (DASD)
US5623701A (en) * 1995-06-06 1997-04-22 International Business Machines Corporation Data compression method and structure for a direct access storage device
US5689702A (en) * 1995-06-07 1997-11-18 Microtec Research, Inc. Flexible data structure layout for data structure including bit-field data members
US5666560A (en) * 1995-08-03 1997-09-09 International Business Machines Corporation Storage method and hierarchical padding structure for direct access storage device (DASD) data compression
US5924112A (en) 1995-09-11 1999-07-13 Madge Networks Limited Bridge device
US5802557A (en) * 1996-03-18 1998-09-01 Emc Corp System and method for caching information in a digital data storage subsystem
US6134708A (en) * 1997-02-13 2000-10-17 Nec Corporation Program compilation execution system
US5926834A (en) * 1997-05-29 1999-07-20 International Business Machines Corporation Virtual data storage system with an overrun-resistant cache using an adaptive throttle based upon the amount of cache free space
US6021415A (en) * 1997-10-29 2000-02-01 International Business Machines Corporation Storage management system with file aggregation and space reclamation within aggregated files
US5983239A (en) * 1997-10-29 1999-11-09 International Business Machines Corporation Storage management system with file aggregation supporting multiple aggregated file counterparts
US6098074A (en) * 1997-10-29 2000-08-01 International Business Machines Corporation Storage management system with file aggregation
US6247095B1 (en) * 1998-06-24 2001-06-12 Philips Semiconductors, Inc. Digital reverberation processor and method for generating digital reverberation
US6286080B1 (en) * 1999-02-16 2001-09-04 International Business Machines Corporation Advanced read cache emulation
US6490666B1 (en) * 1999-08-20 2002-12-03 Microsoft Corporation Buffering data in a hierarchical data storage environment
US6625708B1 (en) * 1999-11-23 2003-09-23 Intel Corporation Method and apparatus for dynamically defining line buffer configurations
US6629168B1 (en) 2000-06-15 2003-09-30 Hewlett-Packard Development Company, Lp. Byte-swapping for efficient use of memory
US6658438B1 (en) * 2000-08-14 2003-12-02 Matrix Semiconductor, Inc. Method for deleting stored digital data from write-once memory device
US7421459B2 (en) * 2002-03-06 2008-09-02 Hewlett-Packard Development Company, L.P. Buffer management for data transfers between a host device and a storage medium
US7124243B2 (en) * 2003-05-16 2006-10-17 Pillar Data Systems, Inc. Methods and systems of cache memory management and snapshot operations
TWI273402B (en) * 2004-07-30 2007-02-11 Mediatek Inc Data buffering method in disc data reading system and system of the same
US9152823B2 (en) * 2005-04-22 2015-10-06 Storagecraft Technology Corporation Systems, methods, and computer readable media for computer data protection

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57111757A (en) * 1980-12-29 1982-07-12 Fujitsu Ltd Track buffer memory system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4025901A (en) * 1975-06-19 1977-05-24 Honeywell Information Systems, Inc. Database instruction find owner
US4467411A (en) * 1981-03-06 1984-08-21 International Business Machines Corporation Scheduling device operations in a buffered peripheral subsystem
US4430712A (en) * 1981-11-27 1984-02-07 Storage Technology Corporation Adaptive domain partitioning of cache memory space

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57111757A (en) * 1980-12-29 1982-07-12 Fujitsu Ltd Track buffer memory system

Also Published As

Publication number Publication date
SG25291G (en) 1991-06-21
US4499539A (en) 1985-02-12
EP0112442A2 (en) 1984-07-04
DE3379920D1 (en) 1989-06-29
EP0112442B1 (en) 1989-05-24
EP0112442A3 (en) 1987-03-25

Similar Documents

Publication Publication Date Title
JPS59114658A (ja) デ−タ記憶空間の管理方法
US4493026A (en) Set associative sector cache
US5813031A (en) Caching tag for a large scale cache computer memory system
US10126964B2 (en) Hardware based map acceleration using forward and reverse cache tables
US7424593B2 (en) Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US3761881A (en) Translation storage scheme for virtual memory system
US5530829A (en) Track and record mode caching scheme for a storage system employing a scatter index table with pointer and a track directory
EP0114190B1 (en) Data storage hierarchy
KR100242868B1 (ko) 압축된 데이터 캐쉬 저장 시스템
US6202138B1 (en) Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US4875155A (en) Peripheral subsystem having read/write cache with record access
US5386524A (en) System for accessing information in a data processing system
EP0072108B1 (en) A multiple operating mode storage subsystem
US8688894B2 (en) Page based management of flash storage
US5537572A (en) Cache controller and method for dumping contents of a cache directory and cache data random access memory (RAM)
US6349372B1 (en) Virtual uncompressed cache for compressed main memory
US6401181B1 (en) Dynamic allocation of physical memory space
US5765201A (en) Changing page size in storage media of computer system
US20050015557A1 (en) Nonvolatile memory unit with specific cache
US5418927A (en) I/O cache controller containing a buffer memory partitioned into lines accessible by corresponding I/O devices and a directory to track the lines
US5289581A (en) Disk driver with lookahead cache
JPS6117025B2 (ja)
US5420983A (en) Method for merging memory blocks, fetching associated disk chunk, merging memory blocks with the disk chunk, and writing the merged data
JPS5876956A (ja) バッファ記憶付きディスク・システム
US5696931A (en) Disc drive controller with apparatus and method for automatic transfer of cache data