JPS5831460A - アドレシング装置 - Google Patents
アドレシング装置Info
- Publication number
- JPS5831460A JPS5831460A JP57117886A JP11788682A JPS5831460A JP S5831460 A JPS5831460 A JP S5831460A JP 57117886 A JP57117886 A JP 57117886A JP 11788682 A JP11788682 A JP 11788682A JP S5831460 A JPS5831460 A JP S5831460A
- Authority
- JP
- Japan
- Prior art keywords
- address
- addressable
- register
- memory
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing 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/0871—Allocation or management of cache space
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0864—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9014—Indexing; Data structures therefor; Storage structures hash tables
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
本発明の分野
本発明は階層記憶システ^に関し、更に具体的にはこの
ようなシステムで使用されるアドレシング装置に関する
。
ようなシステムで使用されるアドレシング装置に関する
。
先行技術の説明
大容量メモリのアドレシングには、長年の間ハツシング
手法が用いられてきた0特にメイン・メモリの領域でそ
うであった。一般的には、ハツシング動作はハツシュ・
クラスのためにインデックス・インディケータを発生す
る0インデツクス・インディケータはアドレシング機構
をスキャタ・インデックスーテ〜プル(BIT)へ導く
。BITはアクセスされるメモリ領域に関連していると
考えられるメモリーアドレス・ディレクトリイ・エント
リイのアドレス、を含む。ディレクトリイ・エントリイ
は、単一的にリンクされたリストによって、同一ハツシ
ュ・クラスの他のディレクトリイーエントリイへリンク
されている。従って”、メモリ内の所与の項目へアクセ
スするためには、インデックス・インディケータが発生
され、ディレクトリイ・エントリイにアクセスするため
、ディレクトリイ会エントリイへのアドレスが使用され
る0もし所望のメモリ・アドレスとディレクトリイ・エ
ントリイ中に記憶されたメモリ・アドレスの間kT−R
が発見されると、八ツシュ・クラス内の一連のディレク
トリイーエントリイが検査さが調べられる。アドレスを
有すれば、それはメモリがデニタな含むか、データを受
取るように割当てられたスペースを有することを意味す
る・そのような領域がディレクトリイ中で決定されると
、「ヒツト」が生じたのであり、メモリへのアクセそ、
が進行する。そのような領域がハツシングi法によって
決定されないと、「ミス」が生じたので、 ある・階
層システムのミスに続いて、’7=−夕はバッキング・
ストアからメモリへ転送門れるか、記録用データを受取
るためのスペースがメモリ内で割当てられる。
手法が用いられてきた0特にメイン・メモリの領域でそ
うであった。一般的には、ハツシング動作はハツシュ・
クラスのためにインデックス・インディケータを発生す
る0インデツクス・インディケータはアドレシング機構
をスキャタ・インデックスーテ〜プル(BIT)へ導く
。BITはアクセスされるメモリ領域に関連していると
考えられるメモリーアドレス・ディレクトリイ・エント
リイのアドレス、を含む。ディレクトリイ・エントリイ
は、単一的にリンクされたリストによって、同一ハツシ
ュ・クラスの他のディレクトリイーエントリイへリンク
されている。従って”、メモリ内の所与の項目へアクセ
スするためには、インデックス・インディケータが発生
され、ディレクトリイ・エントリイにアクセスするため
、ディレクトリイ会エントリイへのアドレスが使用され
る0もし所望のメモリ・アドレスとディレクトリイ・エ
ントリイ中に記憶されたメモリ・アドレスの間kT−R
が発見されると、八ツシュ・クラス内の一連のディレク
トリイーエントリイが検査さが調べられる。アドレスを
有すれば、それはメモリがデニタな含むか、データを受
取るように割当てられたスペースを有することを意味す
る・そのような領域がディレクトリイ中で決定されると
、「ヒツト」が生じたのであり、メモリへのアクセそ、
が進行する。そのような領域がハツシングi法によって
決定されないと、「ミス」が生じたので、 ある・階
層システムのミスに続いて、’7=−夕はバッキング・
ストアからメモリへ転送門れるか、記録用データを受取
るためのスペースがメモリ内で割当てられる。
そのようなハツシング手法では、ノ・ツシュ時間を最小
にする(メモリへのアクセス時間を小さく 。
にする(メモリへのアクセス時間を小さく 。
する)ことが望まれる・
ハツシュ中クラスのサイズが大きい時、多くの項目がそ
のクラスの中ヘマツブされる0この複数のマツピングは
コリジヨン(colliston)と呼ばれるが、それ
は複数のデー′夕項目が同一のハツシュQり2スへ衝突
するからである。多数のコリジヨンが存在する時のハツ
シュ拳り2スの探索は・メモリへのアクセス時間を非常
に重大させる。0それは特にデレイクトリイが内容によ
ってアドレス可能でない時にそうである・従って、多く
のメモリ・アプリケーションにおいて、ディレクトリイ
の探索時間を小さくするため、ハツシュ・クラスのサイ
ズを最小に維持することが望まれる。これに対し、ディ
レクトリイのために内容アドレス可能メモリが使用され
る時、全ての探索は1サイクル内で実行される。残念な
がら、内容アドレス可能メモリは高価であり、従って多
くのアプリケーションにおいて、内容アドレス可能メモ
リは利用できない。
のクラスの中ヘマツブされる0この複数のマツピングは
コリジヨン(colliston)と呼ばれるが、それ
は複数のデー′夕項目が同一のハツシュQり2スへ衝突
するからである。多数のコリジヨンが存在する時のハツ
シュ拳り2スの探索は・メモリへのアクセス時間を非常
に重大させる。0それは特にデレイクトリイが内容によ
ってアドレス可能でない時にそうである・従って、多く
のメモリ・アプリケーションにおいて、ディレクトリイ
の探索時間を小さくするため、ハツシュ・クラスのサイ
ズを最小に維持することが望まれる。これに対し、ディ
レクトリイのために内容アドレス可能メモリが使用され
る時、全ての探索は1サイクル内で実行される。残念な
がら、内容アドレス可能メモリは高価であり、従って多
くのアプリケーションにおいて、内容アドレス可能メモ
リは利用できない。
このような問題は、比較的大型のメモリが使用される場
合に大きくなる。例えば、直接アクセス記憶装−(DA
SD)のバッファとして1妾型キヤツシュカ使用され、
このキャッシュが8メガバイト以上の容量を有する場合
、コリジヨンの数を減少させることと、記憶システムの
コストを抑えることとの間に矛盾が起る。更に、DAS
Dはいくつかの遅延アクセス境界を示すので、問題を生
じる。待ち時間(Laten、cy)と呼ばれる第1の
遅延境界は、DASDの回転特性に基く。1つ又は2つ
の変換器が回転するディスク表面に関して位置づけられ
、ディスク表面上の所与の地点に対するアクセスは、回
転待ち時間に依存するようになっている。更に大部分の
DASDでは、1つのディスク表面に対して1つの変換
器が設けられている0これは、変換器がトラックからト
ラックへと半径方向に移動することを意味する。多重表
面ディスク記憶装置では、移動はシリンダからシリンダ
と実行され、シリンダ・シークを実行する。
合に大きくなる。例えば、直接アクセス記憶装−(DA
SD)のバッファとして1妾型キヤツシュカ使用され、
このキャッシュが8メガバイト以上の容量を有する場合
、コリジヨンの数を減少させることと、記憶システムの
コストを抑えることとの間に矛盾が起る。更に、DAS
Dはいくつかの遅延アクセス境界を示すので、問題を生
じる。待ち時間(Laten、cy)と呼ばれる第1の
遅延境界は、DASDの回転特性に基く。1つ又は2つ
の変換器が回転するディスク表面に関して位置づけられ
、ディスク表面上の所与の地点に対するアクセスは、回
転待ち時間に依存するようになっている。更に大部分の
DASDでは、1つのディスク表面に対して1つの変換
器が設けられている0これは、変換器がトラックからト
ラックへと半径方向に移動することを意味する。多重表
面ディスク記憶装置では、移動はシリンダからシリンダ
と実行され、シリンダ・シークを実行する。
シリンダは何−半径上の全てのトラックから形成される
0アドレシング及びアクセス時間におけるこれら2つの
遅延は、ディスク記憶装置の機械的特性に基く。従って
、そのような機械的遅延に適応しないキャッシュ中のミ
スの数は、データ領域へのアクセス時間を非常に増大さ
せる可能性があるo全体的なシステム動作において、バ
ッキング・ストアの機械的遅延の効果を最小にするよう
に、キャッシュへアクセスすることが望まれる。
0アドレシング及びアクセス時間におけるこれら2つの
遅延は、ディスク記憶装置の機械的特性に基く。従って
、そのような機械的遅延に適応しないキャッシュ中のミ
スの数は、データ領域へのアクセス時間を非常に増大さ
せる可能性があるo全体的なシステム動作において、バ
ッキング・ストアの機械的遅延の効果を最小にするよう
に、キャッシュへアクセスすることが望まれる。
多くの先行技術によるハツシング手法は、コリジヨンの
数が少なくなるように、アドレスのランダム分布を使用
する。その結果、アドレスは、アクセスされるメモリの
アドレス・スペース上、均一に分布されていなければな
らない。このような原理は18Mテクニカル・ディスク
ロージャ・プレチン(TDB)のいくつかの記事で説明
されている0例えば、1977年5月のTDBの482
2−4823頁には、J、L、Carter その他
による’C1ass of Fast Hash
FunctionsUsing Exclusi
ve OR’と題する記事があり、4826頁には−
Method of ExtendingHash
Functions for Long K
eys’と題する記事がある。これらは、1対になった
ランダム・ハツシング機能が、トランザクションの数に
対して線形の平均走行時間を発生することを教えている
0これは、メイン・メモリのようなランダム・アクセス
・メモリにはあてはまるが、アクセス遅延境界が存在す
る場合には、必ずしもあてはまらない◎従って、これら
の記事で論議されている「比例定数」は、全ての場合に
適用され得ない0%に、アクセス遅延境界が存在する場
合にそうである。
数が少なくなるように、アドレスのランダム分布を使用
する。その結果、アドレスは、アクセスされるメモリの
アドレス・スペース上、均一に分布されていなければな
らない。このような原理は18Mテクニカル・ディスク
ロージャ・プレチン(TDB)のいくつかの記事で説明
されている0例えば、1977年5月のTDBの482
2−4823頁には、J、L、Carter その他
による’C1ass of Fast Hash
FunctionsUsing Exclusi
ve OR’と題する記事があり、4826頁には−
Method of ExtendingHash
Functions for Long K
eys’と題する記事がある。これらは、1対になった
ランダム・ハツシング機能が、トランザクションの数に
対して線形の平均走行時間を発生することを教えている
0これは、メイン・メモリのようなランダム・アクセス
・メモリにはあてはまるが、アクセス遅延境界が存在す
る場合には、必ずしもあてはまらない◎従って、これら
の記事で論議されている「比例定数」は、全ての場合に
適用され得ない0%に、アクセス遅延境界が存在する場
合にそうである。
更に1ハツシング手法では、プライム・ナンバーが使用
されてきた。例えば、1972年4月の18Mテクニカ
ル・デスクロージャ・プレチンの3489頁にあるR、
P、Brentによる’ModifiedLinear
5catter Storage Techn
iqueという事を参照されたい。この記事は、顕著な
アクセス遅延境界を有しないランダム・アクセス・メモ
リに運上だハツシング手法を取扱っている。
されてきた。例えば、1972年4月の18Mテクニカ
ル・デスクロージャ・プレチンの3489頁にあるR、
P、Brentによる’ModifiedLinear
5catter Storage Techn
iqueという事を参照されたい。この記事は、顕著な
アクセス遅延境界を有しないランダム・アクセス・メモ
リに運上だハツシング手法を取扱っている。
ハツシングの他の局面は、ノ・ツシュ時間を少なくする
こと(アドレス発生に必要な時間を少なくすること)で
ある。このような時間の減少は、アドレスへ変換可能な
データ名称を選択することKよって達成されてきた。例
えば、1975年6月の18Mテクニカル・ディスクロ
ージャ・ブレチンに% L、J、Waguespack
によって発表された%Predistrjbute
d Logical NameGemeratio
n ’ という記事は18−39頁λランダム・アク
セス・メモリにアクセスするため、単一レベル排他的O
Rのハツシュ機能が、予め配分された論理名称によって
駆動されるハツシング手法を示している。1975年8
月に発行された18Mテクニカル・ディスクロージャ・
ブレチンの880−881頁には、D、 C,Boss
en その他による″Generating Uni
que Namesfor Virtual S
egments ’という記事に一同様の手法が紹介さ
れている。この記事は、アドレスの先行配分及び排他的
OR機能が、ハツシュ・テーブルのアドレシングを生じ
るという点で、Waguespack の記事と同じ
である。
こと(アドレス発生に必要な時間を少なくすること)で
ある。このような時間の減少は、アドレスへ変換可能な
データ名称を選択することKよって達成されてきた。例
えば、1975年6月の18Mテクニカル・ディスクロ
ージャ・ブレチンに% L、J、Waguespack
によって発表された%Predistrjbute
d Logical NameGemeratio
n ’ という記事は18−39頁λランダム・アク
セス・メモリにアクセスするため、単一レベル排他的O
Rのハツシュ機能が、予め配分された論理名称によって
駆動されるハツシング手法を示している。1975年8
月に発行された18Mテクニカル・ディスクロージャ・
ブレチンの880−881頁には、D、 C,Boss
en その他による″Generating Uni
que Namesfor Virtual S
egments ’という記事に一同様の手法が紹介さ
れている。この記事は、アドレスの先行配分及び排他的
OR機能が、ハツシュ・テーブルのアドレシングを生じ
るという点で、Waguespack の記事と同じ
である。
据付は後のデータ処理システムにおいて、メモリはサイ
ズを変えることができる。従って、ハツシング手法は容
易に変更されねばならない0この事態は、これまで列挙
して来た記事の1つで取扱われているが、更に米国特許
4215402で取扱われている。この特許では、SI
T及びハツシュ−サイズはメイン・メモリのサイズにマ
ツチしたものとなっている。しかし、ハツシングは、顕
著なアクセス遅延境界を示さない純粋のランダム−アク
セス−メモリのためKなされている018Mテクニカル
・ディスクローシャープレチンの1973年12月号の
2214−2216頁には、望ましいハツシング手法の
要約が、R,F。
ズを変えることができる。従って、ハツシング手法は容
易に変更されねばならない0この事態は、これまで列挙
して来た記事の1つで取扱われているが、更に米国特許
4215402で取扱われている。この特許では、SI
T及びハツシュ−サイズはメイン・メモリのサイズにマ
ツチしたものとなっている。しかし、ハツシングは、顕
著なアクセス遅延境界を示さない純粋のランダム−アク
セス−メモリのためKなされている018Mテクニカル
・ディスクローシャープレチンの1973年12月号の
2214−2216頁には、望ましいハツシング手法の
要約が、R,F。
Arnold その他による’Uniform H’a
shingA1gorithm’ という記事によって
紹介されている。この記事は、仮想アドレス中スペース
をリアル・アドレス・スペースヘマツプスルこトラ説明
している。アドレス・スペースをマツプするために使用
されるハツシング・アルゴリズムの望ましい特性は、分
布の均一性、シーケンシャルな仮想アドレスのランダム
分布であり、/′/%ツシングの細分化よりも更に細か
く、リアル・アドレスヘマツプされるシーケンシャルな
仮想アドレスを与える0全てのアドレスは、仮想アドレ
スからリアル・アドレスへ1対1で対応ずけられねばな
らず、メモリ変更の場合には、ハラシネに最小のりマツ
ピングが要求され、計算は迅速(短い遅延)かつ反復可
能でなければならない。本明細書で説明されるハツシン
グ・アルゴリズムは、ヒツトが即時に生じない場合、反
復的プロセスを必要とするOそれは、モジx p ;2
B加算(排他的OR機能の如く)を使用するのではなく
、桁上り及び借りを含む演算手法を使用する。この記事
は顕著なアクセス遅延境界を有しないランダム・アクセ
ス・メモリに望ましいハツシング手順を教えているが、
それがどのようにしてアクセス遅延境界を示すノ(ツ±
ング・ストアへ適用できるかは明らかではない・更に階
層記憶システムは複数のディスク記憶装置を含むことが
できる。単一のキャッシュであっても、全てのディスク
記憶装置のためにキャッジ・二接能を果さなければなら
ない。従って、)1ツシングは、そのようなディスク記
憶装置の内部アクセス遅延境界に対してのみならず、デ
ィスク記憶装置の独特の特性に対しても適応しなければ
ならない。例えば、各ディスク記憶装置のシリンダ「0
」は、通常、ディスク記憶装置に記憶されたデータ内容
に対するインデックスとして使用されるシリンダ「0」
は、通常、半径方向で最も外側のトラックより成るシリ
ンダである。シリンダ「0」は他のシリンダよりも頻繁
にアクセスされることが予想されるので、1つのディス
ク記憶装置のシリンダ「0」と、他のディスク記憶装置
のシリンダ「0」との間に、コリジヨンがあってはなら
ない◎ランダム分布は、たとえそれが均一であっても、
成る相対アドレスが他の相対アドレスとコリジヨンを生
じる可能性があることを意味する。従って、通常の設計
仕様を有するディスク記憶装置が使用される時、ハツシ
ングのランダム分布を避けるようにしなければならない
・ 本発明の要約 本発明の目的は、アドレス・スペース及びバッキング・
ストアのサイズの多様性に容易に適応するハツシング拳
システムを提供することである・本発明の他の目的は、
高い頻度で使用されるアドレスに対して最小のハツシン
グ・コリジヨンを保証するハツシュ型アクセス・システ
ムを提供することである。
shingA1gorithm’ という記事によって
紹介されている。この記事は、仮想アドレス中スペース
をリアル・アドレス・スペースヘマツプスルこトラ説明
している。アドレス・スペースをマツプするために使用
されるハツシング・アルゴリズムの望ましい特性は、分
布の均一性、シーケンシャルな仮想アドレスのランダム
分布であり、/′/%ツシングの細分化よりも更に細か
く、リアル・アドレスヘマツプされるシーケンシャルな
仮想アドレスを与える0全てのアドレスは、仮想アドレ
スからリアル・アドレスへ1対1で対応ずけられねばな
らず、メモリ変更の場合には、ハラシネに最小のりマツ
ピングが要求され、計算は迅速(短い遅延)かつ反復可
能でなければならない。本明細書で説明されるハツシン
グ・アルゴリズムは、ヒツトが即時に生じない場合、反
復的プロセスを必要とするOそれは、モジx p ;2
B加算(排他的OR機能の如く)を使用するのではなく
、桁上り及び借りを含む演算手法を使用する。この記事
は顕著なアクセス遅延境界を有しないランダム・アクセ
ス・メモリに望ましいハツシング手順を教えているが、
それがどのようにしてアクセス遅延境界を示すノ(ツ±
ング・ストアへ適用できるかは明らかではない・更に階
層記憶システムは複数のディスク記憶装置を含むことが
できる。単一のキャッシュであっても、全てのディスク
記憶装置のためにキャッジ・二接能を果さなければなら
ない。従って、)1ツシングは、そのようなディスク記
憶装置の内部アクセス遅延境界に対してのみならず、デ
ィスク記憶装置の独特の特性に対しても適応しなければ
ならない。例えば、各ディスク記憶装置のシリンダ「0
」は、通常、ディスク記憶装置に記憶されたデータ内容
に対するインデックスとして使用されるシリンダ「0」
は、通常、半径方向で最も外側のトラックより成るシリ
ンダである。シリンダ「0」は他のシリンダよりも頻繁
にアクセスされることが予想されるので、1つのディス
ク記憶装置のシリンダ「0」と、他のディスク記憶装置
のシリンダ「0」との間に、コリジヨンがあってはなら
ない◎ランダム分布は、たとえそれが均一であっても、
成る相対アドレスが他の相対アドレスとコリジヨンを生
じる可能性があることを意味する。従って、通常の設計
仕様を有するディスク記憶装置が使用される時、ハツシ
ングのランダム分布を避けるようにしなければならない
・ 本発明の要約 本発明の目的は、アドレス・スペース及びバッキング・
ストアのサイズの多様性に容易に適応するハツシング拳
システムを提供することである・本発明の他の目的は、
高い頻度で使用されるアドレスに対して最小のハツシン
グ・コリジヨンを保証するハツシュ型アクセス・システ
ムを提供することである。
本発明の他の目的は、サイズにおいて拡張伸縮自在のハ
ツシング手法実行システムを提供することである。
ツシング手法実行システムを提供することである。
本発明の他の目的は、ハツシュ・アクセスがバッキング
・ストアに関連したキャッシュ又はバッファに対してな
される時、バッキング・ストアの遅延境界へ容易に適応
するアクセス頻度・システムを提供することである・ 本発明の第1の局面に従うハツシング・システムは、バ
ッキング・ストアのアクセス遅延境界及びバッキング・
ストアのアドレスに対して予想されるアクセス頻度に従
って順序ずけられたアドレス信号を処理する。
・ストアに関連したキャッシュ又はバッファに対してな
される時、バッキング・ストアの遅延境界へ容易に適応
するアクセス頻度・システムを提供することである・ 本発明の第1の局面に従うハツシング・システムは、バ
ッキング・ストアのアクセス遅延境界及びバッキング・
ストアのアドレスに対して予想されるアクセス頻度に従
って順序ずけられたアドレス信号を処理する。
本発明y従うハツシング・アクセス・システムは、BI
Tアドレス・スペースにおいて所定の順序及び等間隔の
分布状態で遅延ユニットの数(例えば、ディスク記憶装
置の数)をマツプされたSITアドレス・スペースを有
し、最低順序のアドレスから始まる全てのハツシング・
スペーネが1SITアドレス・スペース内の独特のアド
レスで始まるようになっている。汗の構成によって、ア
クセス遅延境界を形成するユニットの各々において1全
てのハツシングの順序ずけられたオフセットが共通の相
対アドレスのために設定される。
Tアドレス・スペースにおいて所定の順序及び等間隔の
分布状態で遅延ユニットの数(例えば、ディスク記憶装
置の数)をマツプされたSITアドレス・スペースを有
し、最低順序のアドレスから始まる全てのハツシング・
スペーネが1SITアドレス・スペース内の独特のアド
レスで始まるようになっている。汗の構成によって、ア
クセス遅延境界を形成するユニットの各々において1全
てのハツシングの順序ずけられたオフセットが共通の相
対アドレスのために設定される。
本発明の他の局面に従うハツシング・システムは、装置
の構造上の特徴に関連した順序で歩容量のキャッシュ・
メモリをアドレーするため、装置アドレスのサイズ定数
によってハツシングされているアドレスを変更する。例
えば、パツキングーストア内の装置の数は、順序ずけら
れた態様でアドレスを分配する第1のハツシング・7ア
クタを構成し、遅延境界(即ち、ディスク記憶装置中の
シリンダ)の数は、順序ずけられたシリンダのノ1ツシ
ュ・アドレシングのハツシング−ファクタである◎ 実施例の説明 本発明は、第1図に示されるような階層周辺記憶システ
ム10で実施されるのが望ましい。複数のディスク記憶
装置(DASD)IfはDOlDl、D2で示され、中
央処理ユニット又は他の計算機構のようなホスト(図示
せず)との間で、入出力接続線13を介してデータを転
送するため、共用キャッシュ12へ接続される。キャッ
シュ12又はDASD11におけるデータ又はデータ領
域へのアクセスは、アドレシングぐス14を介して行わ
れる@DA8Dアドレスの1部は、バス15を介して1
対の電子スイツ゛チ16及び18を付勢するために与え
られる。これらのスイッチは1それぞれシステム10の
異った通路を介して、アドレス信号及びデータ信号を導
く。バス15は、スイッチ16及び18を付勢する周辺
指令を送ることもできる0例えば、指令はキャッシュ1
2を通して全てのデータ参照をなすべきことを指示する
かも知れない。その場合、スイッチ16は図示された位
置ヘセットされる。他方、全てのデータ参照がDASD
1.1に対してなされるべきことを命する指令が受取ら
れるかも知れない。その場合、スイッチ16はもう1つ
の位置へ切換えられ、DASDllがバス14へ接続さ
れる。スイッチ16を制御する他の手段も使用されてよ
い0 パス15はスイッチ18へも延長されるOスイッチ18
は、データ信号をホストへ転送するため、DASD11
をバス21へ接続する。バス21は゛I10接続111
13へも接続されることができるOこの接続は示されて
いない。バス22はスイッチ1Bからキャッシュ12へ
延長され、データはDASD11とキャッシュ12との
間を転送されることができる。システム10はコントロ
ール20ヲttroコント、ロール20はスイッチ18
を付勢し、DASD、11とキャッシュ12との間のデ
ータ信号の転送が8、ホストの動作と独立してかつ非同
期的に行われるようにすることができる。即ち、スイッ
チ18はホストによって制御されると共!IC′局部的
にも制御される。
の構造上の特徴に関連した順序で歩容量のキャッシュ・
メモリをアドレーするため、装置アドレスのサイズ定数
によってハツシングされているアドレスを変更する。例
えば、パツキングーストア内の装置の数は、順序ずけら
れた態様でアドレスを分配する第1のハツシング・7ア
クタを構成し、遅延境界(即ち、ディスク記憶装置中の
シリンダ)の数は、順序ずけられたシリンダのノ1ツシ
ュ・アドレシングのハツシング−ファクタである◎ 実施例の説明 本発明は、第1図に示されるような階層周辺記憶システ
ム10で実施されるのが望ましい。複数のディスク記憶
装置(DASD)IfはDOlDl、D2で示され、中
央処理ユニット又は他の計算機構のようなホスト(図示
せず)との間で、入出力接続線13を介してデータを転
送するため、共用キャッシュ12へ接続される。キャッ
シュ12又はDASD11におけるデータ又はデータ領
域へのアクセスは、アドレシングぐス14を介して行わ
れる@DA8Dアドレスの1部は、バス15を介して1
対の電子スイツ゛チ16及び18を付勢するために与え
られる。これらのスイッチは1それぞれシステム10の
異った通路を介して、アドレス信号及びデータ信号を導
く。バス15は、スイッチ16及び18を付勢する周辺
指令を送ることもできる0例えば、指令はキャッシュ1
2を通して全てのデータ参照をなすべきことを指示する
かも知れない。その場合、スイッチ16は図示された位
置ヘセットされる。他方、全てのデータ参照がDASD
1.1に対してなされるべきことを命する指令が受取ら
れるかも知れない。その場合、スイッチ16はもう1つ
の位置へ切換えられ、DASDllがバス14へ接続さ
れる。スイッチ16を制御する他の手段も使用されてよ
い0 パス15はスイッチ18へも延長されるOスイッチ18
は、データ信号をホストへ転送するため、DASD11
をバス21へ接続する。バス21は゛I10接続111
13へも接続されることができるOこの接続は示されて
いない。バス22はスイッチ1Bからキャッシュ12へ
延長され、データはDASD11とキャッシュ12との
間を転送されることができる。システム10はコントロ
ール20ヲttroコント、ロール20はスイッチ18
を付勢し、DASD、11とキャッシュ12との間のデ
ータ信号の転送が8、ホストの動作と独立してかつ非同
期的に行われるようにすることができる。即ち、スイッ
チ18はホストによって制御されると共!IC′局部的
にも制御される。
スイッチ16が図示された位置にあるものと仮定する。
バス14上のDASI)アドレス信号は゛旧ハツシュ回
路23へ導かれ、キャッシュ12の前の参照によって、
バス14上で受取られたアドレスをハツシングする必要
なしに、キャッシュ12へのアクセスが可能であるかど
うかが決定される。
路23へ導かれ、キャッシュ12の前の参照によって、
バス14上で受取られたアドレスをハツシングする必要
なしに、キャッシュ12へのアクセスが可能であるかど
うかが決定される。
DASD、11はデータを記憶するための大容量を有し
、キャッシュ12はそれよシも小さい容量を有するので
、スペースがデータ・アクセスのためにキャッシュ12
の中で割当てられたかどうか、又ハ所与のデータがキャ
ッシュ12の中で実際ニ記憶されているかどうかを決定
するため、DASDllのアドレスを使用するハツシン
グ・アドレス手法が使用される。いずれにせよ、旧ハツ
シュ回路23が前のアドレスと密接に関連したアドレ、
スを検出すると、後述するようにスキャタ・インデッ
クス・テーブル(SIT)27へ直接にアドレスする。
、キャッシュ12はそれよシも小さい容量を有するので
、スペースがデータ・アクセスのためにキャッシュ12
の中で割当てられたかどうか、又ハ所与のデータがキャ
ッシュ12の中で実際ニ記憶されているかどうかを決定
するため、DASDllのアドレスを使用するハツシン
グ・アドレス手法が使用される。いずれにせよ、旧ハツ
シュ回路23が前のアドレスと密接に関連したアドレ、
スを検出すると、後述するようにスキャタ・インデッ
クス・テーブル(SIT)27へ直接にアドレスする。
5IT27は、キャッシュ12ヘアクセスするため、デ
ィレクトリイ30へのハツシュ信号をインデックスする
。論理装置制御プロシフ・レジスタ25は、バス24を
介してアクセスされるが、DASDアドレス及び対応す
る5IT27アドレスを含む・ ディレクトリイ30は、キャッジ12の各アドレス可能
セグメン)Kついて1つのエントリイを含む。各エント
リイはDASDllのためにアドレス表示を含む・それ
は、どのデータがキャッシュ12の中に記憶されている
か、又はキャッシュ・スペースがデータのために決定さ
れたかを表示するためである。ハツシュ・クラスはディ
レクトリイ30のエントリイの複数個を含んでよいから
リンキング機構31は、単一的にリンクされたリストを
用いて、同一ハツシュ・クラスにある全てのエントリイ
を相互にリンクする。1度DASD11のアドレスに対
応するディレクトリイ・エントリイが発見されると、キ
ャッシュ12は、通路32を介して、ディレクトリイ3
0によって指示されたアドレスをアクセスされる。次い
で、データは、ホスト(図示せず)とキャッシュ12と
の間で、Ilo 接続線13を介して転送されることが
できる0勿論、ディレクトリイ30はミス(即ち、デー
タ・スペースはキャッシュ12の中で割当てられなかっ
たこと)を表示してよいOこの場合、他の動作が必要と
なる・ 旧ハツシュ回路23が、キャッシュ112への前の参照
が現在受取られたDASDアドレスに対してなされたも
のでなく、それから離れたものであることを示す場合、
現在受取られたアドレスは、アドレス・ノ・ツシング動
作のために、ノ・ツシュ回路34へ与えられる。ハツシ
ング動作の結果として、バス35へ与えられたアドレス
信号は、5IT27における所与のレジスタを指定する
。そのレジスタの内容は、ハツシュ−クラスに対応する
ディレクトリイ30のエントリイを指定するO次いで1
後述するように1デイレクトリイ30のノ・ツシューク
ラスが走査される。
ィレクトリイ30へのハツシュ信号をインデックスする
。論理装置制御プロシフ・レジスタ25は、バス24を
介してアクセスされるが、DASDアドレス及び対応す
る5IT27アドレスを含む・ ディレクトリイ30は、キャッジ12の各アドレス可能
セグメン)Kついて1つのエントリイを含む。各エント
リイはDASDllのためにアドレス表示を含む・それ
は、どのデータがキャッシュ12の中に記憶されている
か、又はキャッシュ・スペースがデータのために決定さ
れたかを表示するためである。ハツシュ・クラスはディ
レクトリイ30のエントリイの複数個を含んでよいから
リンキング機構31は、単一的にリンクされたリストを
用いて、同一ハツシュ・クラスにある全てのエントリイ
を相互にリンクする。1度DASD11のアドレスに対
応するディレクトリイ・エントリイが発見されると、キ
ャッシュ12は、通路32を介して、ディレクトリイ3
0によって指示されたアドレスをアクセスされる。次い
で、データは、ホスト(図示せず)とキャッシュ12と
の間で、Ilo 接続線13を介して転送されることが
できる0勿論、ディレクトリイ30はミス(即ち、デー
タ・スペースはキャッシュ12の中で割当てられなかっ
たこと)を表示してよいOこの場合、他の動作が必要と
なる・ 旧ハツシュ回路23が、キャッシュ112への前の参照
が現在受取られたDASDアドレスに対してなされたも
のでなく、それから離れたものであることを示す場合、
現在受取られたアドレスは、アドレス・ノ・ツシング動
作のために、ノ・ツシュ回路34へ与えられる。ハツシ
ング動作の結果として、バス35へ与えられたアドレス
信号は、5IT27における所与のレジスタを指定する
。そのレジスタの内容は、ハツシュ−クラスに対応する
ディレクトリイ30のエントリイを指定するO次いで1
後述するように1デイレクトリイ30のノ・ツシューク
ラスが走査される。
要スるK、キャッシュ12へのアクセスは、DASDl
lのアドレス信号がバス14上で受取られ、それが旧ノ
・ツシュ回路23へ送られ、次いで新しいハツシング動
作を実行するため/% y シュ回路64を通るか、直
接に81T27へ与えられて、ディレクトリイ30に対
するインデックス又はアドレス信号を発生することによ
って行われる0次に、ディレクトリイ30はハツシュ・
クラス内のエントリイを走査するためにアクセスされる
が、それは受取られたDASDアドレスに対応するDA
SDllのアドレスを探すためである0ヒツトの場合、
キャッシュ12がアクセスされ、そうでなければ、ミス
が表示される。
lのアドレス信号がバス14上で受取られ、それが旧ノ
・ツシュ回路23へ送られ、次いで新しいハツシング動
作を実行するため/% y シュ回路64を通るか、直
接に81T27へ与えられて、ディレクトリイ30に対
するインデックス又はアドレス信号を発生することによ
って行われる0次に、ディレクトリイ30はハツシュ・
クラス内のエントリイを走査するためにアクセスされる
が、それは受取られたDASDアドレスに対応するDA
SDllのアドレスを探すためである0ヒツトの場合、
キャッシュ12がアクセスされ、そうでなければ、ミス
が表示される。
DASDllは直接にアクセスすることができる0この
場合、スイッチ16は他の位置ヘセットされ、スイッチ
18も他の位置へ動かされるOそして、データへのアク
セス及びDASDllへ記録するためのデータ記憶領域
へのアクセスは、通常のディスク記憶装置の場合と同じ
ようにして実行される。
場合、スイッチ16は他の位置ヘセットされ、スイッチ
18も他の位置へ動かされるOそして、データへのアク
セス及びDASDllへ記録するためのデータ記憶領域
へのアクセスは、通常のディスク記憶装置の場合と同じ
ようにして実行される。
ディレクトリイ30によってミスが表示されると、バス
33を介してコントロール20へ与えられる制御信号は
、スイッチ18を図示された位置へ付勢する。それは、
DA8Dからバス22を介してキャッシュ12へ、デー
タ信号を転送するためである0勿論、そのような転送が
生じる前に、DASDllは利用可能となっていなけれ
ばならず(ビジィでない)、ディレクトリイ30及び−
・ツシング拳アドレスがセットアツプされて、キャッシ
ュ12へのアクセスが能動化されねばならな℃翫。
33を介してコントロール20へ与えられる制御信号は
、スイッチ18を図示された位置へ付勢する。それは、
DA8Dからバス22を介してキャッシュ12へ、デー
タ信号を転送するためである0勿論、そのような転送が
生じる前に、DASDllは利用可能となっていなけれ
ばならず(ビジィでない)、ディレクトリイ30及び−
・ツシング拳アドレスがセットアツプされて、キャッシ
ュ12へのアクセスが能動化されねばならな℃翫。
第2図はDASDllの概略的構成を示す◎一般的に、
それぞれのDASDII(例えばDo)は同時に回転す
る複数のディスク40.41を含み、各ディスクはデー
タ信号を記録するための1対の表面を有する。DOにあ
る表面の1つは、位置すけ情報又はサーボ情報を記憶す
るために確保されている。トラックの全ては、他のトラ
ックの全てと同心円関係を有し、かつ他の表面上の他の
トラックと半径方向的に揃えられている0例えば、2つ
のディスク40及び41の各々は、それぞれ半径方向で
一番外にあるトラック45,42を有する・半径方向的
に一番外の位置にあるトラックはシリンダ0(CO’)
と呼1ばれるO缶表面に対して1つのヘッドが設けられ
るから、サーボ・機構(図示せず)がヘッド(図示せず
)をCO)ラックへ整列させると、任意の表面が電子ス
イッチングの働きによりアクセスされ、CO中の任意の
トラックがアク声スできるようになる0他のシリンダに
アクセスするためKは、ヘッドの全てが、アドレスされ
たトラック(例えば、シリンダC1のトラック)へ向っ
て、半径方向へ動かされなければならない。この機械的
な移動はデータ領域へアクセスする場合にかなりの遅延
を生じ1、従って、顕著な遅延アクセス境界となる。他
のシリンダは(1つのディスク装置には、500以上の
シリンダがあるかも知れない)、それぞれディスク41
及び40の上に存在するトラック44及び45を有する
シリンダXを含む。同様に、シリンダYはディスク41
上にトラック46を有し、ディスク40も同様のトラッ
クを有する。同じように、DA8D11の選択はかなり
のプロトコルを必要とし、□ハツシュ・クラスを限定す
る主たるファクタは各記憶装置にあるシリンダの数であ
るから、前述した特性の全ては本発明のハツシング・シ
ステムへ融合されている。これはノーツシュ・アドレシ
ングにおいてシリンダ・オフセットを生じるO装置アド
レスによって指定さ些た全での装置は、5IT27のア
ドレス・スペース内でノ(ランスされたスペースを割当
てられる。各ハツシュ・クラスは装置の各々からのア金
レスを含むO小さな5IT27では、所与の装置から得
られたいくつかのシリンダ・アドレス・スペースは、後
にもつと明らかkなるようK、同一の)・ツシュ・クラ
ス内にあるかも知れない。ノーツシングの順序ずけられ
た対称性を与えるため、装置は8IT27のアドレス・
サイズ(即ち、そこに含まれるレジスタの数)の関数と
してオフセットされる。従って、装置の総数はオフ↓ッ
トであり、全てのCOに対する全てのアドレスは、決し
て同じノ〜ツシ二〇クラスの中にはない。COは、典型
的に、ディスク記憶装置に記憶されたデータに対するイ
ンデックスを含むので、それは最も普通にアドレスされ
るシリンダである。もつとも普通にアドレスされるシリ
ンダを異ったハツシュ・クレスに保つことKよって、ハ
ツシング動作におけるノ\ツシエ・コリジヨンの確率が
少なくなる。81T27ではトラックが隣接しているの
で、トラフ−りのアドレスを9IT27の隣接したレジ
スタへ関連ずけることによって、トラック間の電子的切
換えが有利となる。シリンダ及び装置のオフセットは、
キャッシュ12のサイズが変化した時にも、5IT27
のサイズが変化上た時にも、ハツシング・アルゴリズム
を容易に調整可能にする。ここで注意すべき、は1.−
キャッシュ12又は5IT27示変化した時、キャッシ
ュ12にあるデータの播ては、データの統一性を維持す
るため無効にされねばならないことである。
それぞれのDASDII(例えばDo)は同時に回転す
る複数のディスク40.41を含み、各ディスクはデー
タ信号を記録するための1対の表面を有する。DOにあ
る表面の1つは、位置すけ情報又はサーボ情報を記憶す
るために確保されている。トラックの全ては、他のトラ
ックの全てと同心円関係を有し、かつ他の表面上の他の
トラックと半径方向的に揃えられている0例えば、2つ
のディスク40及び41の各々は、それぞれ半径方向で
一番外にあるトラック45,42を有する・半径方向的
に一番外の位置にあるトラックはシリンダ0(CO’)
と呼1ばれるO缶表面に対して1つのヘッドが設けられ
るから、サーボ・機構(図示せず)がヘッド(図示せず
)をCO)ラックへ整列させると、任意の表面が電子ス
イッチングの働きによりアクセスされ、CO中の任意の
トラックがアク声スできるようになる0他のシリンダに
アクセスするためKは、ヘッドの全てが、アドレスされ
たトラック(例えば、シリンダC1のトラック)へ向っ
て、半径方向へ動かされなければならない。この機械的
な移動はデータ領域へアクセスする場合にかなりの遅延
を生じ1、従って、顕著な遅延アクセス境界となる。他
のシリンダは(1つのディスク装置には、500以上の
シリンダがあるかも知れない)、それぞれディスク41
及び40の上に存在するトラック44及び45を有する
シリンダXを含む。同様に、シリンダYはディスク41
上にトラック46を有し、ディスク40も同様のトラッ
クを有する。同じように、DA8D11の選択はかなり
のプロトコルを必要とし、□ハツシュ・クラスを限定す
る主たるファクタは各記憶装置にあるシリンダの数であ
るから、前述した特性の全ては本発明のハツシング・シ
ステムへ融合されている。これはノーツシュ・アドレシ
ングにおいてシリンダ・オフセットを生じるO装置アド
レスによって指定さ些た全での装置は、5IT27のア
ドレス・スペース内でノ(ランスされたスペースを割当
てられる。各ハツシュ・クラスは装置の各々からのア金
レスを含むO小さな5IT27では、所与の装置から得
られたいくつかのシリンダ・アドレス・スペースは、後
にもつと明らかkなるようK、同一の)・ツシュ・クラ
ス内にあるかも知れない。ノーツシングの順序ずけられ
た対称性を与えるため、装置は8IT27のアドレス・
サイズ(即ち、そこに含まれるレジスタの数)の関数と
してオフセットされる。従って、装置の総数はオフ↓ッ
トであり、全てのCOに対する全てのアドレスは、決し
て同じノ〜ツシ二〇クラスの中にはない。COは、典型
的に、ディスク記憶装置に記憶されたデータに対するイ
ンデックスを含むので、それは最も普通にアドレスされ
るシリンダである。もつとも普通にアドレスされるシリ
ンダを異ったハツシュ・クレスに保つことKよって、ハ
ツシング動作におけるノ\ツシエ・コリジヨンの確率が
少なくなる。81T27ではトラックが隣接しているの
で、トラフ−りのアドレスを9IT27の隣接したレジ
スタへ関連ずけることによって、トラック間の電子的切
換えが有利となる。シリンダ及び装置のオフセットは、
キャッシュ12のサイズが変化した時にも、5IT27
のサイズが変化上た時にも、ハツシング・アルゴリズム
を容易に調整可能にする。ここで注意すべき、は1.−
キャッシュ12又は5IT27示変化した時、キャッシ
ュ12にあるデータの播ては、データの統一性を維持す
るため無効にされねばならないことである。
第211において、ノ1ツシ五・クラスは次のようkな
っている。 □ シリンダー〇−オフセジト トラック−H−隣接 装置−バランスされたスペース 装置−p−オフセット 第3図及び第4図は、0個のレジスタからN個のレジス
タまで延長されている5IT27のアドレス・スペース
ヲ示ス。ノ\ツシング・アルゴリズムは、装置アドレス
の全てを、5IT27のベースφア本°レスr OJ、
から等しい大きさだけオフセットする。例えば、第3図
のアドレス・スペース50の場合、14個の装置(DA
SD11’)は)14個の等しいスペースのオフ るように示□される。装置DOは、ゼロのところK。
っている。 □ シリンダー〇−オフセジト トラック−H−隣接 装置−バランスされたスペース 装置−p−オフセット 第3図及び第4図は、0個のレジスタからN個のレジス
タまで延長されている5IT27のアドレス・スペース
ヲ示ス。ノ\ツシング・アルゴリズムは、装置アドレス
の全てを、5IT27のベースφア本°レスr OJ、
から等しい大きさだけオフセットする。例えば、第3図
のアドレス・スペース50の場合、14個の装置(DA
SD11’)は)14個の等しいスペースのオフ るように示□される。装置DOは、ゼロのところK。
そのシリンダ「0」アドレスを有する。装置DIはその
シリンダ「0」アドレスをN/14のところに有し、装
置D2はそのシリンダ「0」アドレスを2N/14のと
ころに有するOこれは、各装置DXのシリンダ「0」が
、装置の数によって除算された5N127のアドレスN
Xのところでインデックスされることを意味する。従っ
て、22個の装置がシステム10の中にある時、小さい
オフセット52が生じる。第3図は、全てのDA8D1
1が同じ数のトラックを有する場合を示すOしかし、こ
の制限&!、本発明の実施型態を簡単・Kするが、必要
条件となるものではない。第4図において、5IT27
は、各種の記憶装置のトラック数で表わしたサイズ又は
容量に従って、異ったオフセットへ分割されている。大
きな装置に対するオフセット56は、オフセット55よ
り大きい。
シリンダ「0」アドレスをN/14のところに有し、装
置D2はそのシリンダ「0」アドレスを2N/14のと
ころに有するOこれは、各装置DXのシリンダ「0」が
、装置の数によって除算された5N127のアドレスN
Xのところでインデックスされることを意味する。従っ
て、22個の装置がシステム10の中にある時、小さい
オフセット52が生じる。第3図は、全てのDA8D1
1が同じ数のトラックを有する場合を示すOしかし、こ
の制限&!、本発明の実施型態を簡単・Kするが、必要
条件となるものではない。第4図において、5IT27
は、各種の記憶装置のトラック数で表わしたサイズ又は
容量に従って、異ったオフセットへ分割されている。大
きな装置に対するオフセット56は、オフセット55よ
り大きい。
同様に1オフセツト57は更に大きい装置に対するもの
である。
である。
第5図は、ディレクトリイ3oにアクセスするため、装
置アドレスがどのようKSITレジスタ・アドレスに現
われるかのマツプを示す。装置DO−D3のための欄6
o、61.62.63には)それぞれ別個の装置アドレ
スが掲げられている。
置アドレスがどのようKSITレジスタ・アドレスに現
われるかのマツプを示す。装置DO−D3のための欄6
o、61.62.63には)それぞれ別個の装置アドレ
スが掲げられている。
シリンダ番号Cは欄の左゛方に示され、シリンダ内のト
ラックの番号は欄の右方に示される0第5図に示される
ように各シリンダは10本のトラックを有する010の
値は任意に選択されたものであって、例を簡単にするた
めの値である0第5図の例示された々ツピングのハツシ
ュ・クラスは、シリンダ及びトラック表示の行に対応す
る0例えば、1つのハツシュ・クラスは装置り、Oのア
ドレス660、装置D1のアドレス330、装置D2の
アドレス000より構成され、装置D3については、;
−ントリイは存在しない。小さな5IT27では、ハツ
シュ・クラスは装置の各々から取られた1つ又はそれ以
上のトラックを含むことができる。装置DOのシリンダ
COは、トラックDO−09を有する650部分如上っ
て示される0装置DOのシリンダC1もトラック0−9
を有するが、これらのトラックは10−1’9によって
示される。同様に、装置DO内の全てのトラックは、そ
れぞれのシリンダによって表示される。5IT27は比
較的に大きく、1つのノ\ツシュ・クラスは所与の装置
から取られた1つだけのトラックを含む0実施例の場合
、装置オフセットは66で示されるように3シリンダで
ある。重複はない0即ち、5IT27のサイズに関して
は、比較的小さな装置が存在する0装置D1のシリンダ
COは67のところに現われ、装置D2のシリンダCD
は68のところに現われる。この編成は第3図及び第4
図の装置配分に従ったものであって、如何なる装置の。
ラックの番号は欄の右方に示される0第5図に示される
ように各シリンダは10本のトラックを有する010の
値は任意に選択されたものであって、例を簡単にするた
めの値である0第5図の例示された々ツピングのハツシ
ュ・クラスは、シリンダ及びトラック表示の行に対応す
る0例えば、1つのハツシュ・クラスは装置り、Oのア
ドレス660、装置D1のアドレス330、装置D2の
アドレス000より構成され、装置D3については、;
−ントリイは存在しない。小さな5IT27では、ハツ
シュ・クラスは装置の各々から取られた1つ又はそれ以
上のトラックを含むことができる。装置DOのシリンダ
COは、トラックDO−09を有する650部分如上っ
て示される0装置DOのシリンダC1もトラック0−9
を有するが、これらのトラックは10−1’9によって
示される。同様に、装置DO内の全てのトラックは、そ
れぞれのシリンダによって表示される。5IT27は比
較的に大きく、1つのノ\ツシュ・クラスは所与の装置
から取られた1つだけのトラックを含む0実施例の場合
、装置オフセットは66で示されるように3シリンダで
ある。重複はない0即ち、5IT27のサイズに関して
は、比較的小さな装置が存在する0装置D1のシリンダ
COは67のところに現われ、装置D2のシリンダCD
は68のところに現われる。この編成は第3図及び第4
図の装置配分に従ったものであって、如何なる装置の。
シリンダCOも他の装置のシリンダct2とハツシュ・
クラスを共用しない。装置D2において、数字70は5
つのシリンダ装置オフセットを指定するが、数学71は
空のスペースを示す@即ち、5IT27のこのスペース
は、装置D2のためにトラック・アドレスを含まない。
クラスを共用しない。装置D2において、数字70は5
つのシリンダ装置オフセットを指定するが、数学71は
空のスペースを示す@即ち、5IT27のこのスペース
は、装置D2のためにトラック・アドレスを含まない。
他方、DA8D11のサイズに関して小さな5IT27
の場合、各ハツシュ・クラスは、各装置から取られた2
つのトラック、各装置から取られた3つのトラックなど
を含むことができる。前と同じように、如何なる装置の
シリンダCOも、他の装置のシリンダCOから得られた
ハツシュ・クラスを共用しない0この原理を拡張すれば
、同じようにアドレスされるシリンダは、同じノ1ツシ
ュ・クラスの中にはないと言える0即ち、成る装置のシ
リンダXは、常に他の装置のシリンダXとは異ったノ1
ツシュ・クラスの中にある。ここで、Xはシリンダ・ア
ドレスを示す整数もある・ 第6図はハツシュ回路64を示す論理図である0ハツシ
ュ回路34は、84に8IT27のレジスタ・アドレス
を出力する演算回路であるOこのレジスタ・アドレスは
、5IT27にあるレジスタの数を法とする数値を有す
るノ・ツシュ・クラスを指定する。計算は、75でシリ
ンダ・アドレスCを2進乗算器76へ与えることによっ
て開始される・乗算器76は77で受取られたシリンダ
ーウェイトCWとCとを乗算するQシリンダ・ウェイト
は、装置中のシリンダの数であ今。結果の積&ム加算器
78において、線79を介して与えられたトラック・ア
ドレスHへ加えられるOこの積の和はモジュpN加算器
80へ与えられるO加算器80でをキ・上記の積の和が
装置オフセット積へ加えられる0装置オフセツト積は、
それぞれ82及び83で受取られた装置番号り及び装置
ウェイ)DWから構成される装置ウェイトはDASDl
lの数である。84で得られる19IT27のアドレス
信号は、ハツシュ・クラスに対するディレクトリイ30
のインデックスをフェッチするため)SIT27ヘアク
セスする〇 第7図は第1図に示され−るシステム100ノ)ツシン
グ動作を詳細に示す。装置アドレスCHD (C・・・
・シリンダ、Hll・・Oヘッド、D・・・・装置)は
スイッチ16を介して旧ハツシュ回路25へ送られる。
の場合、各ハツシュ・クラスは、各装置から取られた2
つのトラック、各装置から取られた3つのトラックなど
を含むことができる。前と同じように、如何なる装置の
シリンダCOも、他の装置のシリンダCOから得られた
ハツシュ・クラスを共用しない0この原理を拡張すれば
、同じようにアドレスされるシリンダは、同じノ1ツシ
ュ・クラスの中にはないと言える0即ち、成る装置のシ
リンダXは、常に他の装置のシリンダXとは異ったノ1
ツシュ・クラスの中にある。ここで、Xはシリンダ・ア
ドレスを示す整数もある・ 第6図はハツシュ回路64を示す論理図である0ハツシ
ュ回路34は、84に8IT27のレジスタ・アドレス
を出力する演算回路であるOこのレジスタ・アドレスは
、5IT27にあるレジスタの数を法とする数値を有す
るノ・ツシュ・クラスを指定する。計算は、75でシリ
ンダ・アドレスCを2進乗算器76へ与えることによっ
て開始される・乗算器76は77で受取られたシリンダ
ーウェイトCWとCとを乗算するQシリンダ・ウェイト
は、装置中のシリンダの数であ今。結果の積&ム加算器
78において、線79を介して与えられたトラック・ア
ドレスHへ加えられるOこの積の和はモジュpN加算器
80へ与えられるO加算器80でをキ・上記の積の和が
装置オフセット積へ加えられる0装置オフセツト積は、
それぞれ82及び83で受取られた装置番号り及び装置
ウェイ)DWから構成される装置ウェイトはDASDl
lの数である。84で得られる19IT27のアドレス
信号は、ハツシュ・クラスに対するディレクトリイ30
のインデックスをフェッチするため)SIT27ヘアク
セスする〇 第7図は第1図に示され−るシステム100ノ)ツシン
グ動作を詳細に示す。装置アドレスCHD (C・・・
・シリンダ、Hll・・Oヘッド、D・・・・装置)は
スイッチ16を介して旧ハツシュ回路25へ送られる。
更にレコードRQアドレスが与えられる。
これはハツシング・プロセスの1部ではない◎何故なら
ば、DASDllのトラックの全ての内容がキャッシュ
12へ転送されることができるからである・レコードが
DASDllの中で別個にアドレス可能である場合、レ
コード番号Rはハツシング・アルゴリズムの中へ導入さ
れることができる0アドレスCHDは比較回路90へ与
えられる。
ば、DASDllのトラックの全ての内容がキャッシュ
12へ転送されることができるからである・レコードが
DASDllの中で別個にアドレス可能である場合、レ
コード番号Rはハツシング・アルゴリズムの中へ導入さ
れることができる0アドレスCHDは比較回路90へ与
えられる。
比較回路90は、CH値の比較を行う◎即ち、バス89
を介してレジスタ91へ与えられたDアドレス信号によ
って選択されたレジスタ91の内容の1部であるCH値
と比較する。Cが等しい場合(トラックが同一シリンダ
にある場合、比較回路90は差異信号を加算器92へ与
える。差異信号は、スイッチ16から受取られたH値と
、レジスタ91に記憶されたH値との差を示す。この差
は、レピスタ91に記憶されたSITアドレスへ加えら
れる。それは、第6図に関して説明したようにハツシン
グすることな(CHDのためにSITア。
を介してレジスタ91へ与えられたDアドレス信号によ
って選択されたレジスタ91の内容の1部であるCH値
と比較する。Cが等しい場合(トラックが同一シリンダ
にある場合、比較回路90は差異信号を加算器92へ与
える。差異信号は、スイッチ16から受取られたH値と
、レジスタ91に記憶されたH値との差を示す。この差
は、レピスタ91に記憶されたSITアドレスへ加えら
れる。それは、第6図に関して説明したようにハツシン
グすることな(CHDのためにSITア。
ドレスを発生す谷ためづあも。上記の差の値に前のSI
Tアドレスを加えたものは、シリンダ内のトラックに関
してディレクトリイ30へのインデックスを含む5IT
27のレジスタを指定する0従って、シリンダ内の全て
のトラックについて、1度シリンダがアクセスされると
、〕蔦ツシュ結果が一時的に保存される場合、それ以上
のノ・ツシングは′必要でない。旧SITアドレスに差
異を加えた合計は、OR回路93を介して5IT27を
アドレスするためそこへ与えられる。アドレスされた5
IT27のレジスタの内容は、バス95を介してディレ
クトリイ30をアドレスするためそこへ与えられる。S
TT27のレジスタ内容が全てゼロである場合、キャ
ッシュ・ミスが表示されるOJ%−v タy、x)ンダ
がアクセスされていることを比較回路90が表示すると
、新しいノ・ツシュが起る0アドレスCHDはバス96
を介してハツシュ回路34へ寿えられる。バス96は第
6図の線75へ接続される◎ハツシュ回路34は、OR
回路93を介してS IT27をアドレスするため、バ
ス55へ5IT27のアドレスを出力する0新しくノー
ツシングされたSIT値はレジスタ91に入れられる。
Tアドレスを加えたものは、シリンダ内のトラックに関
してディレクトリイ30へのインデックスを含む5IT
27のレジスタを指定する0従って、シリンダ内の全て
のトラックについて、1度シリンダがアクセスされると
、〕蔦ツシュ結果が一時的に保存される場合、それ以上
のノ・ツシングは′必要でない。旧SITアドレスに差
異を加えた合計は、OR回路93を介して5IT27を
アドレスするためそこへ与えられる。アドレスされた5
IT27のレジスタの内容は、バス95を介してディレ
クトリイ30をアドレスするためそこへ与えられる。S
TT27のレジスタ内容が全てゼロである場合、キャ
ッシュ・ミスが表示されるOJ%−v タy、x)ンダ
がアクセスされていることを比較回路90が表示すると
、新しいノ・ツシュが起る0アドレスCHDはバス96
を介してハツシュ回路34へ寿えられる。バス96は第
6図の線75へ接続される◎ハツシュ回路34は、OR
回路93を介してS IT27をアドレスするため、バ
ス55へ5IT27のアドレスを出力する0新しくノー
ツシングされたSIT値はレジスタ91に入れられる。
このレジスタは、バス89を介して送られたD値によっ
て指定される。
て指定される。
゛バス95にあるディレクトリイ30のアドレス信号は
、エントリイ・レジスタ100の1つを為ディレクトリ
イ30におけるノ蔦ツシュ・クラスの゛ 最初のエ
ントリイとして選択する。アクセスされたレジスタは、
バス101を介して比較回路102へDCH値を与える
。比較のためレコード値Rが与えられる場合、レジスタ
100のフィールド111にあるレコード値も比較回路
102へ与えられる。比較回路102は、レジスタ10
0に記憶されたDASDアドレスとパス103上で受取
られた゛ナトレスとを比較する0比較が不等価であれば
、比較回路102は、HLフィールド107にアクセス
量るため、バス106を介してアクセス信号を送る。H
Lフィールド107は、単−的にリンクされたリストの
1部分である。この部分は、同一ハツシュ・クラスのエ
ントリイを含む次のレジスタ100のアドレスを指示す
る。次のレジスタ100は、線31によって示されるよ
うにアクセスされるo HLフィールド107がEOC
(連鎖の終り)を示す時、線108上にミスが表示され
る。
、エントリイ・レジスタ100の1つを為ディレクトリ
イ30におけるノ蔦ツシュ・クラスの゛ 最初のエ
ントリイとして選択する。アクセスされたレジスタは、
バス101を介して比較回路102へDCH値を与える
。比較のためレコード値Rが与えられる場合、レジスタ
100のフィールド111にあるレコード値も比較回路
102へ与えられる。比較回路102は、レジスタ10
0に記憶されたDASDアドレスとパス103上で受取
られた゛ナトレスとを比較する0比較が不等価であれば
、比較回路102は、HLフィールド107にアクセス
量るため、バス106を介してアクセス信号を送る。H
Lフィールド107は、単−的にリンクされたリストの
1部分である。この部分は、同一ハツシュ・クラスのエ
ントリイを含む次のレジスタ100のアドレスを指示す
る。次のレジスタ100は、線31によって示されるよ
うにアクセスされるo HLフィールド107がEOC
(連鎖の終り)を示す時、線108上にミスが表示され
る。
線108は第1図の線36に対応する〇比較回路102
が等価を示す時、キャッシュ12のヒツトが起って〜・
る。比較回路102によって線104へ与えられた信号
は、アドレス発生器105を能動化する。アドレス発生
器105はバス1061からディレクトリイ60のアド
レスを取り(バス95又はl(Lフィールド107を介
するアクセス)、このアドレスに基いてキャッシュ12
のアドレスを発生する。キャッシュ・アドレスは、キャ
ッシュ12にアクセスするため、バス32へ与えられる
。アドレス発生器105は、キャッシュ12のオフセッ
トΦアドレスを計算するため、レジスタ100のオフセ
ット・アドレスに成る定数をかけあわせる。この定数は
、エン) IJイ・レジスタ(八ツシュ0レジスタ)1
00にオケルバイト数に対するキャッシュ12中のアド
レス可能セグメントのバイト数の率を示す値である0次
に1キヤツシユ12のオフセットがキャッシュ1”) 2のアドレスが得られる0計算する代りに、各ディレク
トリイに対する計算結果を、各ディレクトリイ・エント
リイと共に1物理的又は論理的に記憶することもできる
◎ デイレク゛トリイ30はフィールド111,107の外
にインデックス・フィールド110を含む〇フィールド
1(0はディレクトリイ・エントリイを指定するのに有
用である◎フィールドー112はレコードRのセクタ値
を含み、フィールド113は論理シリンダ数を含み(例
えばリアル・ディスク上の仮想ディスク属対して与えら
れる)、フィールド114は本発明の理解に無関係の種
々の制御フラグを含む@フィールド115及び116は
、それぞれLRU(least ree、e、not
jly used)リストにおける後方ポインタ及′
び前方ポインタ及び後方ポインタを示す・このリストは
、バッファ管理技術において周知の如く、キャッシュ1
2のスペース管理に関連して使用される◇ 第8図は本発明の実施例を示す。DASDl 1の2つ
のストリングは、キャッシュ12と通信すると共に入出
力接続線13を介してホス゛ト(図示せず)と通信する
。入出方接−線はチャネル−アダプタ120 (CAA
、CAB、CAC,CADを含む)によって制御される
◎これらのチャネル・アダプタはIBM370シリーズ
・コンピュータで使用される入出力接続論理設計を採用
しているふプロセッサ121は、バス122及びチャネ
ル・アダプタ120を介してホストと通信する。
が等価を示す時、キャッシュ12のヒツトが起って〜・
る。比較回路102によって線104へ与えられた信号
は、アドレス発生器105を能動化する。アドレス発生
器105はバス1061からディレクトリイ60のアド
レスを取り(バス95又はl(Lフィールド107を介
するアクセス)、このアドレスに基いてキャッシュ12
のアドレスを発生する。キャッシュ・アドレスは、キャ
ッシュ12にアクセスするため、バス32へ与えられる
。アドレス発生器105は、キャッシュ12のオフセッ
トΦアドレスを計算するため、レジスタ100のオフセ
ット・アドレスに成る定数をかけあわせる。この定数は
、エン) IJイ・レジスタ(八ツシュ0レジスタ)1
00にオケルバイト数に対するキャッシュ12中のアド
レス可能セグメントのバイト数の率を示す値である0次
に1キヤツシユ12のオフセットがキャッシュ1”) 2のアドレスが得られる0計算する代りに、各ディレク
トリイに対する計算結果を、各ディレクトリイ・エント
リイと共に1物理的又は論理的に記憶することもできる
◎ デイレク゛トリイ30はフィールド111,107の外
にインデックス・フィールド110を含む〇フィールド
1(0はディレクトリイ・エントリイを指定するのに有
用である◎フィールドー112はレコードRのセクタ値
を含み、フィールド113は論理シリンダ数を含み(例
えばリアル・ディスク上の仮想ディスク属対して与えら
れる)、フィールド114は本発明の理解に無関係の種
々の制御フラグを含む@フィールド115及び116は
、それぞれLRU(least ree、e、not
jly used)リストにおける後方ポインタ及′
び前方ポインタ及び後方ポインタを示す・このリストは
、バッファ管理技術において周知の如く、キャッシュ1
2のスペース管理に関連して使用される◇ 第8図は本発明の実施例を示す。DASDl 1の2つ
のストリングは、キャッシュ12と通信すると共に入出
力接続線13を介してホス゛ト(図示せず)と通信する
。入出方接−線はチャネル−アダプタ120 (CAA
、CAB、CAC,CADを含む)によって制御される
◎これらのチャネル・アダプタはIBM370シリーズ
・コンピュータで使用される入出力接続論理設計を採用
しているふプロセッサ121は、バス122及びチャネ
ル・アダプタ120を介してホストと通信する。
例えば、ホス)Kよって与えられた周辺指令は、バス1
22を介してプロセッサ121へ転送される・プロセッ
サ121は、バス123を介してシステム・ストレージ
124とも通信するOシステム・ストレージ124Ii
7′キヤツシユ121デイレクトリイ30.5IT27
を含む0システム・ストレージ124は、半導体で構成
された高速ランダム・アクセス・メモリであることが望
ましい◎キャッシュ12.5IT27%及びディレクト
リイ3(l対する全てのアドレシングは、ベースΦアド
レスにオフセットを加えることにより行われるO プロセッサ121はバス130を介してDASDllと
通信する・バス130はデータ・フニー回路131及び
装置アダプタ132,132’へ延長される。装置アダ
プタ132,132’ の各々はDASDl1の1つ
のストリングを制御すると共にそれにアクセスし、既知
の技術を使用して構成されている・データ・フロー回路
131は直列化器、その他ディスク配憶装置で通常使用
される回路を含むことができる。DASDllへ直接に
アクセスするため、データ・フロー回路161とチャネ
ル・アダプタ120との間に)くス133が設けられる
。バス134は、データ・フロー回路131をシステム
・ストレージ12jl(従ってキャッシュ12)へ接続
する。バス135はシステム・ストレージ124をチャ
ネル・アダプタ120へ接続する・第1図のスイッチ1
.!sの機能は1既知の電子技術を用いてチャネル・ア
ダプタ120の中で実行され、スイッチ18の機能は1
データ・フロー回路131の中で実行される0プロセツ
サ121は制御ストレージ140を有する◎制御ストレ
ージ140は高速ランダム・アクセス・メそりであり、
ハツシュ回路340機能ケ実行するマイクロコード形コ
ンピュータ・プログニアA34Pを含む。制御ストレー
ジには、LDCBレジスタ25Pも含まれる。更に、記
憶システム10′を通常の態様で制御するため、他のプ
ログラム141が含まれている。他方、プロセッサ12
1は、マイクロコードの実行速度を早めるため、複数の
高速レジスタ142を含む0レジスタ142は、プロセ
レサのために1スクラツチ・パッド又は作業スペースを
形成する◎SITレジスタ143は5IT27の1ペー
ジを含み、この1ページはプロセッサ121によって処
理される。
22を介してプロセッサ121へ転送される・プロセッ
サ121は、バス123を介してシステム・ストレージ
124とも通信するOシステム・ストレージ124Ii
7′キヤツシユ121デイレクトリイ30.5IT27
を含む0システム・ストレージ124は、半導体で構成
された高速ランダム・アクセス・メモリであることが望
ましい◎キャッシュ12.5IT27%及びディレクト
リイ3(l対する全てのアドレシングは、ベースΦアド
レスにオフセットを加えることにより行われるO プロセッサ121はバス130を介してDASDllと
通信する・バス130はデータ・フニー回路131及び
装置アダプタ132,132’へ延長される。装置アダ
プタ132,132’ の各々はDASDl1の1つ
のストリングを制御すると共にそれにアクセスし、既知
の技術を使用して構成されている・データ・フロー回路
131は直列化器、その他ディスク配憶装置で通常使用
される回路を含むことができる。DASDllへ直接に
アクセスするため、データ・フロー回路161とチャネ
ル・アダプタ120との間に)くス133が設けられる
。バス134は、データ・フロー回路131をシステム
・ストレージ12jl(従ってキャッシュ12)へ接続
する。バス135はシステム・ストレージ124をチャ
ネル・アダプタ120へ接続する・第1図のスイッチ1
.!sの機能は1既知の電子技術を用いてチャネル・ア
ダプタ120の中で実行され、スイッチ18の機能は1
データ・フロー回路131の中で実行される0プロセツ
サ121は制御ストレージ140を有する◎制御ストレ
ージ140は高速ランダム・アクセス・メそりであり、
ハツシュ回路340機能ケ実行するマイクロコード形コ
ンピュータ・プログニアA34Pを含む。制御ストレー
ジには、LDCBレジスタ25Pも含まれる。更に、記
憶システム10′を通常の態様で制御するため、他のプ
ログラム141が含まれている。他方、プロセッサ12
1は、マイクロコードの実行速度を早めるため、複数の
高速レジスタ142を含む0レジスタ142は、プロセ
レサのために1スクラツチ・パッド又は作業スペースを
形成する◎SITレジスタ143は5IT27の1ペー
ジを含み、この1ページはプロセッサ121によって処
理される。
即ち、1度プログラム34Pがプp、セッサ121によ
って実行されると、ハツシュの1つ又は2つのシリンダ
に対応する5IT27の1ページがレジスタ143へ転
送さt1旧ハツシュ回路26の手法が実行さnる。更に
、ディレクトリイ60の探索は、ディレクトリイ・レジ
スタ144に対するディレクトリイ・エントリイの1ペ
ージの転送を生じる。それは迅速処理を達成するためで
ある。このようにして、制御目的のためのシステム・ス
トレージ124のアクセスは最少にされるので、データ
処理信号の転送と、プロセッサ121による制御処理が
重複して実行される。4つのチャネル・アダプタが設け
られるので、4つの異った動作が同時に実行されてよい
。更に、独立した動作がDASDllによって実行され
ることができるので、プロセッサ121は、できるだけ
システム・ストレージ124から独立して処理を実行す
ることができなければならない。第8図に示される装置
の動作は第9図乃至第11図を参照して、より良(理解
することができる。注意すべきは、プログラム141が
、プログラミング及びデータ処理技術において周知の遊
び走査又はディスパッチング機能を含むことである。
って実行されると、ハツシュの1つ又は2つのシリンダ
に対応する5IT27の1ページがレジスタ143へ転
送さt1旧ハツシュ回路26の手法が実行さnる。更に
、ディレクトリイ60の探索は、ディレクトリイ・レジ
スタ144に対するディレクトリイ・エントリイの1ペ
ージの転送を生じる。それは迅速処理を達成するためで
ある。このようにして、制御目的のためのシステム・ス
トレージ124のアクセスは最少にされるので、データ
処理信号の転送と、プロセッサ121による制御処理が
重複して実行される。4つのチャネル・アダプタが設け
られるので、4つの異った動作が同時に実行されてよい
。更に、独立した動作がDASDllによって実行され
ることができるので、プロセッサ121は、できるだけ
システム・ストレージ124から独立して処理を実行す
ることができなければならない。第8図に示される装置
の動作は第9図乃至第11図を参照して、より良(理解
することができる。注意すべきは、プログラム141が
、プログラミング及びデータ処理技術において周知の遊
び走査又はディスパッチング機能を含むことである。
第9図に示されるLDCBレジスタ25Pは、キャッシ
ュ12の特定のアクセスに関連したDASDllのアド
レスを含む。例えば、フィールド150に含まれるシー
ク・アドレスはシリンダを限定し、フィールド151及
び152にあるSIDアドレス及びセクタは、DASD
llでどのトラック又はトラック部分がアクセスされる
べきであるかを指定する0フイールド153のインデッ
クスは第7図のフィールド110にあるインデックスに
対応する。フィールド154のキャッシュ・アドレスは
、アドレス発生器105及びプログラム141によって
発生されたキャッシュ・アドレスである。フィールド1
55にあるシーケンス・ビットは、連続的にアドレスさ
れる一連のブロックがシーケンシャル・モードで転送さ
れることを示す。シーケンス−ビットは、ホストから受
取られたモード設定指令によってセットされるOモード
設定指令は、システム10によって実行されるべき動作
の種類を示す。省略符号156はレジスタ25Pが本発
明の理解には関連のない他のエン) +1イを含んでよ
いことを示す0次に第10図を参照すると、そこにはプ
ログラム25Pによって実行される旧ノヘツシュ機能が
詳細なマシン動作のフローとして示される。マシン動作
の開始は160で始まるOこれはプログラム25Pの能
動化に対応する。最初のステップはレジスタ25Pへア
クセスすることである。それLフィールド155のシー
ケンス・ビットがセットされていてシーケンシャル・モ
ードを示すかどうかを決定するためである。成るブロッ
クがアクセスされる時、同一のシリンダ又は隣接したト
ラックにある次のデータ・ブロックがアクセスされる高
い確率が存在する。本実施例において、シーケンシャル
・モードで使用されるアドレスのみが、旧ハツシュ原理
を使用する。非シーケンシャル・モードの場合、プログ
ラム34Pによって実行されるハツシュ動作が論理通路
200を介して能動化される。ステップ161がシーケ
ンシャル・モードを示す時、プロセッサ121はレコー
ドRに対する受信アドレスRDCHな内部レジスタIR
(図示せず)へ転送する。163で、プロセッサ121
は、チャネル・アダプタ120を介して、受取られたア
ドレスRDCHと、そのアドレスに対して許さnたアド
レス範囲とを比較する。即ち、ホストはrt?!、囲限
定」指令を送り、この指令は、所与のチャネル・アダプ
タ120を含む所与のチャネル通路のためにアクセス限
界を設定する。もしアドレスRDCHが限定さtたアド
レス範囲の外にあれば、プロセッサ121は論理通路1
64をたどり、ホストへエラー状態を知らせる。
ュ12の特定のアクセスに関連したDASDllのアド
レスを含む。例えば、フィールド150に含まれるシー
ク・アドレスはシリンダを限定し、フィールド151及
び152にあるSIDアドレス及びセクタは、DASD
llでどのトラック又はトラック部分がアクセスされる
べきであるかを指定する0フイールド153のインデッ
クスは第7図のフィールド110にあるインデックスに
対応する。フィールド154のキャッシュ・アドレスは
、アドレス発生器105及びプログラム141によって
発生されたキャッシュ・アドレスである。フィールド1
55にあるシーケンス・ビットは、連続的にアドレスさ
れる一連のブロックがシーケンシャル・モードで転送さ
れることを示す。シーケンス−ビットは、ホストから受
取られたモード設定指令によってセットされるOモード
設定指令は、システム10によって実行されるべき動作
の種類を示す。省略符号156はレジスタ25Pが本発
明の理解には関連のない他のエン) +1イを含んでよ
いことを示す0次に第10図を参照すると、そこにはプ
ログラム25Pによって実行される旧ノヘツシュ機能が
詳細なマシン動作のフローとして示される。マシン動作
の開始は160で始まるOこれはプログラム25Pの能
動化に対応する。最初のステップはレジスタ25Pへア
クセスすることである。それLフィールド155のシー
ケンス・ビットがセットされていてシーケンシャル・モ
ードを示すかどうかを決定するためである。成るブロッ
クがアクセスされる時、同一のシリンダ又は隣接したト
ラックにある次のデータ・ブロックがアクセスされる高
い確率が存在する。本実施例において、シーケンシャル
・モードで使用されるアドレスのみが、旧ハツシュ原理
を使用する。非シーケンシャル・モードの場合、プログ
ラム34Pによって実行されるハツシュ動作が論理通路
200を介して能動化される。ステップ161がシーケ
ンシャル・モードを示す時、プロセッサ121はレコー
ドRに対する受信アドレスRDCHな内部レジスタIR
(図示せず)へ転送する。163で、プロセッサ121
は、チャネル・アダプタ120を介して、受取られたア
ドレスRDCHと、そのアドレスに対して許さnたアド
レス範囲とを比較する。即ち、ホストはrt?!、囲限
定」指令を送り、この指令は、所与のチャネル・アダプ
タ120を含む所与のチャネル通路のためにアクセス限
界を設定する。もしアドレスRDCHが限定さtたアド
レス範囲の外にあれば、プロセッサ121は論理通路1
64をたどり、ホストへエラー状態を知らせる。
そうでなけnば、166で、プロセッサ121は、受取
らtたRDCHと、レジスタ91の最後のアドレスとを
比較する。レジスタ91は、第8図においてはレジスタ
142に含まnろ。もし受取らnたアドレスRDCHと
1/ジスタ91にある最後のアドレスとの差が1まり大
きけnば、論理通路200を介してハツシュ動作が能動
化される。トランク・アドレスHが1だけ異なる時、シ
リンダ境界と無関係にレジイタ91の内容へ1が加えら
れる0それは5IT27のアドレスを1だけ増加させた
り減少させたりするためである。隣接した5IT27の
レジスタが、ハツシングなしにディレクトグイ30ヘア
クセスできるように読出される。シーケンシャル・モー
ドでは、キャッシュ12の複数のデータ・ブロックにア
クセスするため、1つのハツシュ動作のみが必要となる
〇 代替的方法として、比較ステップ166は、受取られた
アドレスRDCHがレジスタ91に記憶されたアドレス
と同じシリンダにあるかどうかを決定するため、比較動
作を実行する◇その場合、受取られたアドレスと記憶さ
れたアドレスとの差異値は、5IT27のレジスタのオ
フセット・アドレスを指示スる。これのレジスタは、受
取られたRDCH及びレジスタ91に記憶されたアドレ
スに対応するポインタを含む。次に、この差異値ハレシ
スタ91へ加算されるか又はそこから減算され、ディレ
クトリイ30をインデックスする5IT27のレジスタ
が得られる。
らtたRDCHと、レジスタ91の最後のアドレスとを
比較する。レジスタ91は、第8図においてはレジスタ
142に含まnろ。もし受取らnたアドレスRDCHと
1/ジスタ91にある最後のアドレスとの差が1まり大
きけnば、論理通路200を介してハツシュ動作が能動
化される。トランク・アドレスHが1だけ異なる時、シ
リンダ境界と無関係にレジイタ91の内容へ1が加えら
れる0それは5IT27のアドレスを1だけ増加させた
り減少させたりするためである。隣接した5IT27の
レジスタが、ハツシングなしにディレクトグイ30ヘア
クセスできるように読出される。シーケンシャル・モー
ドでは、キャッシュ12の複数のデータ・ブロックにア
クセスするため、1つのハツシュ動作のみが必要となる
〇 代替的方法として、比較ステップ166は、受取られた
アドレスRDCHがレジスタ91に記憶されたアドレス
と同じシリンダにあるかどうかを決定するため、比較動
作を実行する◇その場合、受取られたアドレスと記憶さ
れたアドレスとの差異値は、5IT27のレジスタのオ
フセット・アドレスを指示スる。これのレジスタは、受
取られたRDCH及びレジスタ91に記憶されたアドレ
スに対応するポインタを含む。次に、この差異値ハレシ
スタ91へ加算されるか又はそこから減算され、ディレ
クトリイ30をインデックスする5IT27のレジスタ
が得られる。
本実施例において、データが必要とされる前に、そのデ
ータをキャッシュへ転送することは、所与のシリンダ(
即ち、遅延境界の所与の組)の中に存在するデータに限
ることとした。しかし、本発明の他の実施にあたっては
、このような制限は存在しない。170では、受取られ
たアドレスRDCHがレジスタ91にある最後のアドレ
スと同じシリンダにあるかどうかを決定するため、シリ
ンダ境界が検査される。もしRDCHがシリンダの外に
あれば、プロセッサ121は171から論理通路172
をたどってミスを知らせる。即ち、プロセッサ121は
、データがキャッシュ12へ転送されなかったことを知
る。他方、RDCHがレジスタ91に記憶されたアドレ
スと同じシリンダにあれば、173でディレクトリイ3
0のアドレスが5IT27からフェッチされ、前述した
ハツシュ・クラスの探索が実行される。探索が終ると、
プロセッサ121は、174で、データがキャッシュ5
0にあるかどうかを決定する。例えば、5IT27のエ
ントリイがオール−・ゼロであれば〜即時にミスが表示
される。そうでなければミデイレクトリイ50のハツシ
ュ・クラスが順次に探索される。
ータをキャッシュへ転送することは、所与のシリンダ(
即ち、遅延境界の所与の組)の中に存在するデータに限
ることとした。しかし、本発明の他の実施にあたっては
、このような制限は存在しない。170では、受取られ
たアドレスRDCHがレジスタ91にある最後のアドレ
スと同じシリンダにあるかどうかを決定するため、シリ
ンダ境界が検査される。もしRDCHがシリンダの外に
あれば、プロセッサ121は171から論理通路172
をたどってミスを知らせる。即ち、プロセッサ121は
、データがキャッシュ12へ転送されなかったことを知
る。他方、RDCHがレジスタ91に記憶されたアドレ
スと同じシリンダにあれば、173でディレクトリイ3
0のアドレスが5IT27からフェッチされ、前述した
ハツシュ・クラスの探索が実行される。探索が終ると、
プロセッサ121は、174で、データがキャッシュ5
0にあるかどうかを決定する。例えば、5IT27のエ
ントリイがオール−・ゼロであれば〜即時にミスが表示
される。そうでなければミデイレクトリイ50のハツシ
ュ・クラスが順次に探索される。
ミスの場合、通常の割当て及びデータ転送の手順がとら
れる。ヒツトの場合、プロセッサ121は、175で、
データが固定(ピン)されるか、又はキャッシュ50へ
送られ得るかを決定する0固定化(p、jnning又
はbinding)は、データが解放されるまで、キャ
ッシュ30にとどまっていなければならないことを意味
し、従ってそのようなデータは置換アルゴリズムの対象
とならない0固定されたデータについては、論理通路1
80がとられ、キャッシュ12のデータに一アクセスし
又はキャッシュ12にデータを記憶する準備を実行する
。データが固定されていなければ、176で、レコード
Rは置換アルゴリズムの中で最も近時に使用された(M
RU)データであるとされる0次に、論理通路180が
とられる・ 第11図はプログラム54Pの動作を示す0旧ハツシュ
動作を実行す′るプログラム23P力ψなるシリンダの
アクセスを表示すると、プロセッサ121はステップ2
01への論理通路200をたどる0それは、レジスタ2
5PからアドレスDCHをとり、それをレジスタ142
に置くためである0ステツプ202及び203は、第1
図のハツシュ回路′54に対応する機能を実行する。ス
テップ202は、ステップ202に表示された等式に従
って5IT27のアドレスを発生し、そのアドレスをレ
ジスタ142へ記憶する@ここで注意すべきは5IT2
7の法の2倍の値が使用されていることである。即ち、
Nではなく2Nが使用されている@203でハツシュ書
オフセット(HO)がレジスタ142の内容に等しくさ
れ、ハツシュ・シリンダ(HC)がレジスタ142の内
容を2で除算した値にされる。204で、システム・ス
トレージ124の中に含まれHO及びHCKよって指定
された5IT27のレジスタ内容が、レジスタ145へ
転送される。205で、HCに対応するレジスタ143
が、ディレクトリイ30中のエントリイに対するポイン
タを得るため読出される。このエントリイはハツシュ値
に対応する。次にディレクトリイ30は、ステップ21
7から始まる探索ループ210の中で探索される。連鎖
の終り(IOC,ハツシュ・クラスの終り)は常に21
7で検出される。もし5IT27がゼロのエントリイを
有すれば、連鎖の終りは217で表示される。
れる。ヒツトの場合、プロセッサ121は、175で、
データが固定(ピン)されるか、又はキャッシュ50へ
送られ得るかを決定する0固定化(p、jnning又
はbinding)は、データが解放されるまで、キャ
ッシュ30にとどまっていなければならないことを意味
し、従ってそのようなデータは置換アルゴリズムの対象
とならない0固定されたデータについては、論理通路1
80がとられ、キャッシュ12のデータに一アクセスし
又はキャッシュ12にデータを記憶する準備を実行する
。データが固定されていなければ、176で、レコード
Rは置換アルゴリズムの中で最も近時に使用された(M
RU)データであるとされる0次に、論理通路180が
とられる・ 第11図はプログラム54Pの動作を示す0旧ハツシュ
動作を実行す′るプログラム23P力ψなるシリンダの
アクセスを表示すると、プロセッサ121はステップ2
01への論理通路200をたどる0それは、レジスタ2
5PからアドレスDCHをとり、それをレジスタ142
に置くためである0ステツプ202及び203は、第1
図のハツシュ回路′54に対応する機能を実行する。ス
テップ202は、ステップ202に表示された等式に従
って5IT27のアドレスを発生し、そのアドレスをレ
ジスタ142へ記憶する@ここで注意すべきは5IT2
7の法の2倍の値が使用されていることである。即ち、
Nではなく2Nが使用されている@203でハツシュ書
オフセット(HO)がレジスタ142の内容に等しくさ
れ、ハツシュ・シリンダ(HC)がレジスタ142の内
容を2で除算した値にされる。204で、システム・ス
トレージ124の中に含まれHO及びHCKよって指定
された5IT27のレジスタ内容が、レジスタ145へ
転送される。205で、HCに対応するレジスタ143
が、ディレクトリイ30中のエントリイに対するポイン
タを得るため読出される。このエントリイはハツシュ値
に対応する。次にディレクトリイ30は、ステップ21
7から始まる探索ループ210の中で探索される。連鎖
の終り(IOC,ハツシュ・クラスの終り)は常に21
7で検出される。もし5IT27がゼロのエントリイを
有すれば、連鎖の終りは217で表示される。
所与のハツシュ・クラス内でディレクトリイ30を探索
するためには、ディレクトリイ30の1部をレジスタ1
44へ転送しなければならない。
するためには、ディレクトリイ30の1部をレジスタ1
44へ転送しなければならない。
この転送はディレクトリイ30の探索ループ210内で
暗黙的に示される。ループ210は、比較回路102を
含む第7図に対応する。211ではディレクト・リイ6
0のエントリイが読出され、レジスタ144へ転送され
る。212で、ディレクトリイのエントリイに含まれる
DASDアドレスの値DCHが、ホストから受取られか
つステップ201でレジスタ14艮に記憶されたDCH
値と比較される。
暗黙的に示される。ループ210は、比較回路102を
含む第7図に対応する。211ではディレクト・リイ6
0のエントリイが読出され、レジスタ144へ転送され
る。212で、ディレクトリイのエントリイに含まれる
DASDアドレスの値DCHが、ホストから受取られか
つステップ201でレジスタ14艮に記憶されたDCH
値と比較される。
比較が一致しない時、走査は継続しなければならない。
従ってプロセッサ121は、検査されるべき次のデイレ
クトリイ50のエントリイを指定するため、論理通路2
15を通ってリンク・ポインタを読出す。
クトリイ50のエントリイを指定するため、論理通路2
15を通ってリンク・ポインタを読出す。
217では、リンク・ポイ、ンタの内容が検査され1そ
れが連鎖の終り(EOC)であるかどうか決定される・
もし連鎖の終りであれば、キャッシュ・ミスが起ってお
り、218でレジスタ142のミス・フラグがセットさ
れる。このフラグは後にプロセッサ121によって使用
される0次にプログラムは通路214から出て、データ
処理技術で知られるように、指令の実行を続ける。ハツ
シュ・クラスが217で終らない場合、ステップ211
及び212が反復される0ループは・212でヒツトが
表示されるまで継続する。
れが連鎖の終り(EOC)であるかどうか決定される・
もし連鎖の終りであれば、キャッシュ・ミスが起ってお
り、218でレジスタ142のミス・フラグがセットさ
れる。このフラグは後にプロセッサ121によって使用
される0次にプログラムは通路214から出て、データ
処理技術で知られるように、指令の実行を続ける。ハツ
シュ・クラスが217で終らない場合、ステップ211
及び212が反復される0ループは・212でヒツトが
表示されるまで継続する。
キャッシュ・ヒツトが生じると、プロセッサ121は、
キャッシュ・アドレスを発生するため、論理通路104
を通ってステラy213へ進む@ステップ215は第7
図のアドレス発生器105に対応する0キヤツシユ・ア
ドレスはレジスタ144にあるディレクトリイ50のエ
ントリイのアドレスに基いて発生される。上記エントリ
イは、キャッシュ・アドレスを発生するため、所定の態
様で変更されている。即ち、キャッシュ12のそれぞれ
のアドレス可能手グメントについてディレクトリイ30
の1つのエントリイが存在、する0門って、空間的関係
を設定することができる0次K、エントリイ・レジスタ
100におけるフィールド110のインデックスがレジ
スタ25Pのフィールド155ヘセツトされる。またレ
ジスタ142にあるヒツト・フラグ(図示せず)がセッ
トさ執キャッシュ−12の指定されたセグメントを最も
近時に使用されたセグメントとするため、エントリイ・
レジスタ100におけるフィニルド115及び116の
後方ポインタ及び前方、ポインタを調整することKよっ
てLRUリストが更新される。LRUIJストの更新は
周知であり、従って説明を省略する◎受取られたアドレ
スRDCH及び5IT27のアドレスはレジスタ91に
記憶される◎
キャッシュ・アドレスを発生するため、論理通路104
を通ってステラy213へ進む@ステップ215は第7
図のアドレス発生器105に対応する0キヤツシユ・ア
ドレスはレジスタ144にあるディレクトリイ50のエ
ントリイのアドレスに基いて発生される。上記エントリ
イは、キャッシュ・アドレスを発生するため、所定の態
様で変更されている。即ち、キャッシュ12のそれぞれ
のアドレス可能手グメントについてディレクトリイ30
の1つのエントリイが存在、する0門って、空間的関係
を設定することができる0次K、エントリイ・レジスタ
100におけるフィールド110のインデックスがレジ
スタ25Pのフィールド155ヘセツトされる。またレ
ジスタ142にあるヒツト・フラグ(図示せず)がセッ
トさ執キャッシュ−12の指定されたセグメントを最も
近時に使用されたセグメントとするため、エントリイ・
レジスタ100におけるフィニルド115及び116の
後方ポインタ及び前方、ポインタを調整することKよっ
てLRUリストが更新される。LRUIJストの更新は
周知であり、従って説明を省略する◎受取られたアドレ
スRDCH及び5IT27のアドレスはレジスタ91に
記憶される◎
第1図は本発明の装置を使用する階層記憶シス □テム
のブロック図、第28Jは本発明の装置で実行さレルハ
ツレユ・アドレシングに対するディスク記憶装置の構造
的関係を示す図、第3図及び第4図は第1図の階層記憶
システムで使用さ、れるスキャタ・インデックス・テー
ブルのアドレス・スペース内に配分されたディスク装置
のアドレスを示す図、第5図は第1図の階層記憶システ
ムが複数の装置を含む場合のハツシュ・・アドレス配分
を示すマツプ、第一回は第1図に示されたシステムの中
でハツシュ方法を実行する゛回路の論理図、第7図は本
発明の装置で使用されるディレクトリイの構成及び関連
した制御回路を示′す図、第8図は本発明の代替的実施
例を示す図、第9図は第8図のシステムと結合して使用
される1理装置制御ブロツク(LDCB)のデ、−タ輌
成を示す図、第10図は第8図に示されるシステムにお
いて遅延アクセス境界内のシーケンシャル・トラックの
ハツシングを避けるマシン動作を示す論理フロー図、第
11図は第8図に示されるシステムにおいてハツシング
実行方法を示す論理フロー図である010・・・・・・
階層周辺記憶システム、11・・・・直。 接アクセス記憶装置、12・・・・キャッシュS20会
・・Oコントロール、25・0・旧ハツシュ回路、25
・・・・論理装置制御ブロック(LDCB)レジスタ1
27・・・・スキャタ・インデックス・テープ−(BI
T)、50−・・拳ディレクトリイ、34・・・・ハツ
シュ回路。
のブロック図、第28Jは本発明の装置で実行さレルハ
ツレユ・アドレシングに対するディスク記憶装置の構造
的関係を示す図、第3図及び第4図は第1図の階層記憶
システムで使用さ、れるスキャタ・インデックス・テー
ブルのアドレス・スペース内に配分されたディスク装置
のアドレスを示す図、第5図は第1図の階層記憶システ
ムが複数の装置を含む場合のハツシュ・・アドレス配分
を示すマツプ、第一回は第1図に示されたシステムの中
でハツシュ方法を実行する゛回路の論理図、第7図は本
発明の装置で使用されるディレクトリイの構成及び関連
した制御回路を示′す図、第8図は本発明の代替的実施
例を示す図、第9図は第8図のシステムと結合して使用
される1理装置制御ブロツク(LDCB)のデ、−タ輌
成を示す図、第10図は第8図に示されるシステムにお
いて遅延アクセス境界内のシーケンシャル・トラックの
ハツシングを避けるマシン動作を示す論理フロー図、第
11図は第8図に示されるシステムにおいてハツシング
実行方法を示す論理フロー図である010・・・・・・
階層周辺記憶システム、11・・・・直。 接アクセス記憶装置、12・・・・キャッシュS20会
・・Oコントロール、25・0・旧ハツシュ回路、25
・・・・論理装置制御ブロック(LDCB)レジスタ1
27・・・・スキャタ・インデックス・テープ−(BI
T)、50−・・拳ディレクトリイ、34・・・・ハツ
シュ回路。
Claims (1)
- 【特許請求の範囲】 それぞnが複数のアドレス可能メモリ・セグメントを有
する複数のアドレス可能ユニットを有するバッキング・
ストアと、該バッキング・ストアのためのバッファとし
て使用されるアドレス可能バッファ・セグメントを有す
るバッファ・メモリとを具備する記憶システムにおいて
、与えらnたバッキング・ストアのアドレスに応答して
上記バッファ・セグメントをアドレスするだめの、下記
構成要件(イ)−(ホ)を有するアドレシング装置。 (イ)上記メモリ・セグメントに関連した記号及び上記
アドレス可能ユニットのアドレス及び上記メモリ・セグ
メントのアドレスを記憶した上記バッファ・セグメント
のアドレスを含むディレクトリイ・ユニット。このディ
レクトリイ・ユニットは複数のアドレス可能エントリイ
を有し、該エントリイの各々は上記メモリ・セグメント
の成る所定の数のアドレス・クラスを表示するため上記
所定の数に等しいリンク手段を含む0(ロ)上記リンク
手段のそれぞれのアドレスを記憶するため、上記所定の
数に等しいアドレス可能レジスタを含むインデックス・
テーブルOこのインデックス・テーブルを介して、上記
エントリイの各々が、ベース・アドレスから成る限界ア
ドレスまでの一連のアドレスを含むアドレス・スペース
内でアドレスされる。 rl 上記アドレス可能ユニットのアドレス及び上記
メモリ・セグメントのアドレスを含む上記バッキング・
ストアのアドレスを受取って、上記インデックス・テー
ブルに含まれるアドレス可能レジスタの1つのアドレス
を発生する手段0この発生されたアドレスは、上記所定
の数を法とするアドレス値を有するとともに、上記ベー
ス・アドレスからのアドレス・オフセット値と、該アド
レス・オフセット値からのアドレス変位値とを有し、上
記アドレス・オフセット値は、上記所定の数と上記アド
レス可能ユニットの数との組、合せに基き上記アドレス
可能ユニットのアドレスを変更することによって決定さ
れ、上記アドレス変位値は、上記メモリ・セグメントの
アドレスと等しい。 に)上記発生されたアドレスに応sして、上記インデッ
クス・テーブルの1つのアドレス可能レジスタ誉アドレ
スし、このアドレスされたレジスタの内容に基いて上記
ディレクトリイ・ユニットの゛アドレス可能エントリイ
の1つをアドレスする手段。 傍 上記バッキング・ストアのアドレス及び上記゛ ア
ドレスされたエントリイに記憶され′た信号を受取って
、アドレスされたメモリ・セグメントに関連するバ、ツ
ファ1セグメントのアドレスを決定する手段。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US293648 | 1981-08-17 | ||
| US06/293,648 US4464713A (en) | 1981-08-17 | 1981-08-17 | Method and apparatus for converting addresses of a backing store having addressable data storage devices for accessing a cache attached to the backing store |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS5831460A true JPS5831460A (ja) | 1983-02-24 |
| JPH0247775B2 JPH0247775B2 (ja) | 1990-10-22 |
Family
ID=23129946
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP57117886A Granted JPS5831460A (ja) | 1981-08-17 | 1982-07-08 | アドレシング装置 |
Country Status (7)
| Country | Link |
|---|---|
| US (1) | US4464713A (ja) |
| EP (1) | EP0072413B1 (ja) |
| JP (1) | JPS5831460A (ja) |
| AU (1) | AU552368B2 (ja) |
| CA (1) | CA1180463A (ja) |
| DE (1) | DE3278444D1 (ja) |
| ES (1) | ES514998A0 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7167950B2 (en) | 2004-02-27 | 2007-01-23 | Hitachi, Ltd. | Storage system |
Families Citing this family (49)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2137782B (en) * | 1983-03-24 | 1986-11-26 | Int Computers Ltd | Data transformation circuits |
| US4736287A (en) * | 1983-06-20 | 1988-04-05 | Rational | Set association memory system |
| US4680700A (en) * | 1983-12-07 | 1987-07-14 | International Business Machines Corporation | Virtual memory address translation mechanism with combined hash address table and inverted page table |
| US4860199A (en) * | 1987-07-31 | 1989-08-22 | Prime Computer, Inc. | Hashing indexer for branch cache |
| US5276826A (en) * | 1988-01-04 | 1994-01-04 | Hewlett-Packard Company | Apparatus for transforming addresses to provide pseudo-random access to memory modules |
| EP0394173A3 (en) * | 1989-04-17 | 1993-10-27 | International Business Machines Corporation | High concurrency manager of open files |
| US5544347A (en) | 1990-09-24 | 1996-08-06 | Emc Corporation | Data storage system controlled remote data mirroring with respectively maintained data indices |
| JPH0821003B2 (ja) * | 1992-08-07 | 1996-03-04 | インターナショナル・ビジネス・マシーンズ・コーポレイション | コンピュータ・キャッシュ・システム用の加算器/ハッシュ回路 |
| JPH0659952A (ja) * | 1992-08-07 | 1994-03-04 | Toshiba Corp | 磁気ディスク装置 |
| US5991775A (en) * | 1992-09-23 | 1999-11-23 | International Business Machines Corporation | Method and system for dynamic cache allocation between record and track entries |
| US5463754A (en) * | 1992-10-30 | 1995-10-31 | International Business Machines Corporation | Shared direct access storage device for fixed block architecture devices |
| US5579501A (en) | 1994-11-30 | 1996-11-26 | Bull Hn Information Systems Inc. | Method for transforming a hash bucket number to a control interval to identify the physical location of information in a mass memory |
| EP0826181A4 (en) * | 1995-04-11 | 2005-02-09 | Kinetech Inc | IDENTIFYING DATA IN A DATA PROCESSING SYSTEM |
| 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 |
| US5809494A (en) * | 1995-11-16 | 1998-09-15 | Applied Language Technologies, Inc. | Method for rapidly and efficiently hashing records of large databases |
| US6240065B1 (en) | 1996-01-08 | 2001-05-29 | Galileo Technologies Ltd. | Bit clearing mechanism for an empty list |
| IL116989A (en) | 1996-01-31 | 1999-10-28 | Galileo Technology Ltd | Switching ethernet controller |
| IL116988A (en) | 1996-01-31 | 1999-12-31 | Galileo Technology Ltd | Bus protocol |
| US5864852A (en) * | 1996-04-26 | 1999-01-26 | Netscape Communications Corporation | Proxy server caching mechanism that provides a file directory structure and a mapping mechanism within the file directory structure |
| US6044444A (en) * | 1996-05-28 | 2000-03-28 | Emc Corporation | Remote data mirroring having preselection of automatic recovery or intervention required when a disruption is detected |
| US6052797A (en) * | 1996-05-28 | 2000-04-18 | Emc Corporation | Remotely mirrored data storage system with a count indicative of data consistency |
| US8229844B2 (en) | 1996-06-05 | 2012-07-24 | Fraud Control Systems.Com Corporation | Method of billing a purchase made over a computer network |
| US20030195847A1 (en) | 1996-06-05 | 2003-10-16 | David Felger | Method of billing a purchase made over a computer network |
| US7555458B1 (en) | 1996-06-05 | 2009-06-30 | Fraud Control System.Com Corporation | Method of billing a purchase made over a computer network |
| US7058822B2 (en) | 2000-03-30 | 2006-06-06 | Finjan Software, Ltd. | Malicious mobile code runtime monitoring system and methods |
| US5802602A (en) * | 1997-01-17 | 1998-09-01 | Intel Corporation | Method and apparatus for performing reads of related data from a set-associative cache memory |
| US5893163A (en) * | 1997-12-17 | 1999-04-06 | International Business Machines Corporation | Method and system for allocating data among cache memories within a symmetric multiprocessor data-processing system |
| US6535867B1 (en) * | 1999-09-29 | 2003-03-18 | Christopher J. F. Waters | System and method for accessing external memory using hash functions in a resource limited device |
| US8112578B2 (en) * | 2001-11-01 | 2012-02-07 | Micron Technology, Inc. | Low power, hash-content addressable memory architecture |
| CA2384185A1 (en) * | 2002-04-29 | 2003-10-29 | Ibm Canada Limited-Ibm Canada Limitee | Resizable cache sensitive hash table |
| US8185576B2 (en) | 2006-03-14 | 2012-05-22 | Altnet, Inc. | Filter for a distributed network |
| US20070261059A1 (en) * | 2006-04-25 | 2007-11-08 | Orth Joseph F | Array-based memory abstraction |
| US8627000B2 (en) * | 2010-02-08 | 2014-01-07 | Microsoft Corporation | Virtual disk manipulation operations |
| US8825952B2 (en) | 2011-05-23 | 2014-09-02 | International Business Machines Corporation | Handling high priority requests in a sequential access storage device having a non-volatile storage cache |
| US8432632B2 (en) | 2011-05-23 | 2013-04-30 | International Business Machines Corporation | Magnetic disk drive using a non-volatile storage device as cache for modified tracks |
| US8793436B2 (en) | 2011-05-23 | 2014-07-29 | International Business Machines Corporation | Cache management of tracks in a first cache and a second cache for a storage |
| US8806122B2 (en) * | 2011-05-23 | 2014-08-12 | International Business Machines Corporation | Caching data in a storage system having multiple caches including non-volatile storage cache in a sequential access storage device |
| US8825944B2 (en) | 2011-05-23 | 2014-09-02 | International Business Machines Corporation | Populating strides of tracks to demote from a first cache to a second cache |
| US8996789B2 (en) | 2011-05-23 | 2015-03-31 | International Business Machines Corporation | Handling high priority requests in a sequential access storage device having a non-volatile storage cache |
| US8788742B2 (en) | 2011-05-23 | 2014-07-22 | International Business Machines Corporation | Using an attribute of a write request to determine where to cache data in a storage system having multiple caches including non-volatile storage cache in a sequential access storage device |
| US8799578B2 (en) | 2011-05-23 | 2014-08-05 | International Business Machines Corporation | Managing unmodified tracks maintained in both a first cache and a second cache |
| US9021201B2 (en) | 2012-01-17 | 2015-04-28 | International Business Machines Corporation | Demoting partial tracks from a first cache to a second cache |
| US8966178B2 (en) | 2012-01-17 | 2015-02-24 | International Business Machines Corporation | Populating a first stride of tracks from a first cache to write to a second stride in a second cache |
| US8825953B2 (en) | 2012-01-17 | 2014-09-02 | International Business Machines Corporation | Demoting tracks from a first cache to a second cache by using a stride number ordering of strides in the second cache to consolidate strides in the second cache |
| US8825957B2 (en) | 2012-01-17 | 2014-09-02 | International Business Machines Corporation | Demoting tracks from a first cache to a second cache by using an occupancy of valid tracks in strides in the second cache to consolidate strides in the second cache |
| US11636041B2 (en) | 2020-10-12 | 2023-04-25 | Seagate Technology Llc | Object storage data storage systems and methods |
| US20220129505A1 (en) * | 2020-10-27 | 2022-04-28 | Seagate Technology Llc | Object storage data storage approaches |
| US12038883B2 (en) * | 2022-06-16 | 2024-07-16 | Red Hat, Inc. | Distributed Storage System with machine learning model for selecting a hash function to map a data item to a storage device |
| US20250335362A1 (en) * | 2024-04-24 | 2025-10-30 | Sk Hynix Nand Product Solutions Corp. | Systems, methods, and media for providing append-only caches |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS54145441A (en) * | 1978-04-03 | 1979-11-13 | Nec Corp | Converter |
| JPS55157054A (en) * | 1979-05-25 | 1980-12-06 | Nec Corp | Disc cash unit |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4068304A (en) * | 1973-01-02 | 1978-01-10 | International Business Machines Corporation | Storage hierarchy performance monitor |
| US4056845A (en) * | 1975-04-25 | 1977-11-01 | Data General Corporation | Memory access technique |
| US4092715A (en) * | 1976-09-22 | 1978-05-30 | Honeywell Information Systems Inc. | Input-output unit having extended addressing capability |
| US4084234A (en) * | 1977-02-17 | 1978-04-11 | Honeywell Information Systems Inc. | Cache write capacity |
| US4195342A (en) * | 1977-12-22 | 1980-03-25 | Honeywell Information Systems Inc. | Multi-configurable cache store system |
| US4215402A (en) * | 1978-10-23 | 1980-07-29 | International Business Machines Corporation | Hash index table hash generator apparatus |
| EP0019358B1 (en) * | 1979-05-09 | 1984-07-11 | International Computers Limited | Hierarchical data storage system |
| GB2052118A (en) * | 1979-06-04 | 1981-01-21 | Memorex Corp | Disc Cache Subsystem |
| US4399504A (en) * | 1980-10-06 | 1983-08-16 | International Business Machines Corporation | Method and means for the sharing of data resources in a multiprocessing, multiprogramming environment |
| US4410941A (en) * | 1980-12-29 | 1983-10-18 | Wang Laboratories, Inc. | Computer having an indexed local ram to store previously translated virtual addresses |
| EP0066766B1 (en) * | 1981-06-05 | 1988-08-10 | International Business Machines Corporation | I/o controller with a dynamically adjustable cache memory |
| US4403288A (en) * | 1981-09-28 | 1983-09-06 | International Business Machines Corporation | Methods and apparatus for resetting peripheral devices addressable as a plurality of logical devices |
-
1981
- 1981-08-17 US US06/293,648 patent/US4464713A/en not_active Expired - Lifetime
-
1982
- 1982-06-29 EP EP82105765A patent/EP0072413B1/en not_active Expired
- 1982-06-29 DE DE8282105765T patent/DE3278444D1/de not_active Expired
- 1982-06-30 CA CA000406399A patent/CA1180463A/en not_active Expired
- 1982-07-08 JP JP57117886A patent/JPS5831460A/ja active Granted
- 1982-07-16 AU AU86111/82A patent/AU552368B2/en not_active Ceased
- 1982-08-16 ES ES514998A patent/ES514998A0/es active Granted
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS54145441A (en) * | 1978-04-03 | 1979-11-13 | Nec Corp | Converter |
| JPS55157054A (en) * | 1979-05-25 | 1980-12-06 | Nec Corp | Disc cash unit |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7167950B2 (en) | 2004-02-27 | 2007-01-23 | Hitachi, Ltd. | Storage system |
| US7594071B2 (en) | 2004-02-27 | 2009-09-22 | Hitachi, Ltd. | Storage system employing a hierarchical directory section and a cache directory section |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0072413A3 (en) | 1985-01-23 |
| ES8305963A1 (es) | 1983-04-16 |
| CA1180463A (en) | 1985-01-02 |
| DE3278444D1 (en) | 1988-06-09 |
| US4464713A (en) | 1984-08-07 |
| AU8611182A (en) | 1983-02-24 |
| ES514998A0 (es) | 1983-04-16 |
| AU552368B2 (en) | 1986-05-29 |
| EP0072413A2 (en) | 1983-02-23 |
| JPH0247775B2 (ja) | 1990-10-22 |
| EP0072413B1 (en) | 1988-05-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0247775B2 (ja) | ||
| KR920005280B1 (ko) | 고속 캐쉬 시스템 | |
| KR960001946B1 (ko) | 우선 변환 참조버퍼 | |
| JP2825550B2 (ja) | 多重仮想空間アドレス制御方法および計算機システム | |
| US5230045A (en) | Multiple address space system including address translator for receiving virtual addresses from bus and providing real addresses on the bus | |
| US6418523B2 (en) | Apparatus comprising a translation lookaside buffer for graphics address remapping of virtual addresses | |
| US3761881A (en) | Translation storage scheme for virtual memory system | |
| US4323968A (en) | Multilevel storage system having unitary control of data transfers | |
| US5442571A (en) | Method and apparatus for cache miss reduction by simulating cache associativity | |
| US4821169A (en) | Access verification arrangement for digital data processing system which has demand-paged memory with page crossing detection | |
| US4631660A (en) | Addressing system for an associative cache memory | |
| JPS62260248A (ja) | データ処理システム | |
| JPS624745B2 (ja) | ||
| US7493464B2 (en) | Sparse matrix | |
| JP3449487B2 (ja) | 変換索引緩衝機構 | |
| JPS59114658A (ja) | デ−タ記憶空間の管理方法 | |
| US6571316B1 (en) | Cache memory array for multiple address spaces | |
| US5696931A (en) | Disc drive controller with apparatus and method for automatic transfer of cache data | |
| US5659699A (en) | Method and system for managing cache memory utilizing multiple hash functions | |
| US5287482A (en) | Input/output cache | |
| US6282625B1 (en) | GART and PTES defined by configuration registers | |
| JPS5927995B2 (ja) | メモリ・アクセス装置 | |
| JPH0519176B2 (ja) | ||
| US6772289B1 (en) | Methods and apparatus for managing cached CRC values in a storage controller | |
| US4380797A (en) | Two level store with many-to-one mapping scheme |