JPH0247775B2 - - Google Patents
Info
- Publication number
- JPH0247775B2 JPH0247775B2 JP57117886A JP11788682A JPH0247775B2 JP H0247775 B2 JPH0247775 B2 JP H0247775B2 JP 57117886 A JP57117886 A JP 57117886A JP 11788682 A JP11788682 A JP 11788682A JP H0247775 B2 JPH0247775 B2 JP H0247775B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- addressable
- register
- directory
- hashing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
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)
Description
【発明の詳細な説明】
本発明の分野
本発明は階層記憶システムに関し、更に具体的
にはこのようなシステムで使用されるアドレシン
グ装置に関する。
にはこのようなシステムで使用されるアドレシン
グ装置に関する。
先行技術の説明
大容量メモリのアドレシングには、長年の間ハ
ツシング手法が用いられてきた。特にメイン・メ
モリの領域でそうであつた。一般的には、ハツシ
ング動作はハツシユ・クラスのためにインデツク
ス・インデイケータを発生する。インデツクス・
インデイケータはアドレシング機構をスキヤタ・
インデツクス・テーブル(SIT)へ導く。SITは
アクセスされるメモリ領域に関連していると考え
られるメモリ・アドレス・デイレクトリイ・エン
トリイのアドレスを含む。デイレクトリイ・エン
トリイは、単一的にリンクされたリストによつ
て、同一ハツシユ・クラスの他のデイレクトリ
イ・エントリイへリンクされている。従つて、メ
モリ内の所与の項目へアクセスするためには、イ
ンデツクス・インデイケータが発生され、デイレ
クトリイ・エントリイにアクセスするため、デイ
レクトリイ・エントリイへのアドレスが使用され
る。もし所望のメモリ・アドレスとデイレクトリ
イ・エントリイ中に記憶されたメモリ・アドレス
の間に不一致が発見されると、ハツシユ・クラス
内の一連のデイレクトリイ・エントリイが検査さ
れ、デイレクトリイがアドレスを有するかどうか
が調べられる。アドレスを有すれば、それはメモ
リがデータを含むが、データを受取るように割当
てられたスペースを有することを意味する。その
ような領域がデイレクトリイ中で決定されると、
「ヒツト」が生じたのであり、メモリへのアクセ
スが進行する。そのような領域がハツシング手法
によつて決定されないと、「ミス」が生じたので
ある。階層システムのミスに続いて、データはバ
ツキング・ストアからメモリへ転送されるか、記
録用データを受取るためのスペースがメモリ内で
割当てられる。
ツシング手法が用いられてきた。特にメイン・メ
モリの領域でそうであつた。一般的には、ハツシ
ング動作はハツシユ・クラスのためにインデツク
ス・インデイケータを発生する。インデツクス・
インデイケータはアドレシング機構をスキヤタ・
インデツクス・テーブル(SIT)へ導く。SITは
アクセスされるメモリ領域に関連していると考え
られるメモリ・アドレス・デイレクトリイ・エン
トリイのアドレスを含む。デイレクトリイ・エン
トリイは、単一的にリンクされたリストによつ
て、同一ハツシユ・クラスの他のデイレクトリ
イ・エントリイへリンクされている。従つて、メ
モリ内の所与の項目へアクセスするためには、イ
ンデツクス・インデイケータが発生され、デイレ
クトリイ・エントリイにアクセスするため、デイ
レクトリイ・エントリイへのアドレスが使用され
る。もし所望のメモリ・アドレスとデイレクトリ
イ・エントリイ中に記憶されたメモリ・アドレス
の間に不一致が発見されると、ハツシユ・クラス
内の一連のデイレクトリイ・エントリイが検査さ
れ、デイレクトリイがアドレスを有するかどうか
が調べられる。アドレスを有すれば、それはメモ
リがデータを含むが、データを受取るように割当
てられたスペースを有することを意味する。その
ような領域がデイレクトリイ中で決定されると、
「ヒツト」が生じたのであり、メモリへのアクセ
スが進行する。そのような領域がハツシング手法
によつて決定されないと、「ミス」が生じたので
ある。階層システムのミスに続いて、データはバ
ツキング・ストアからメモリへ転送されるか、記
録用データを受取るためのスペースがメモリ内で
割当てられる。
そのようなハツシング手法では、ハツシユ時間
を最小にする(メモリへのアクセス時間を小さく
する)ことが望まれる。
を最小にする(メモリへのアクセス時間を小さく
する)ことが望まれる。
ハツシユ・クラスのサイズが大きい時、多くの
項目がそのクラスの中へマツプされる。この複数
のマツピングはコリジヨン(collision)と呼ばれ
るが、それは複数のデータ項目が同一のハツシ
ユ・クラスへ衝突するからである。多数のコリジ
ヨンが存在する時のハツシユ・クラスの探索は、
メモリへのアクセス時間を非常に増大させる。そ
れは特にデイレクトリイが内容によつてアドレス
可能でない時にそうである。従つて、多くのメモ
リ・アプリケーシヨンにおいて、デイレクトリイ
の探索時間を小さくするため、ハツシユ・クラス
のサイズを最小に維持することが望まれる。これ
に対し、デイレクトリイのために内容アドレス可
能メモリが使用される時、全ての探索は1サイク
ル内で実行される。残念ながら、内容アドレス可
能メモリは高価であり、従つて多くのアプリケー
シヨンにおいて、内容アドレス可能メモリは利用
できない。
項目がそのクラスの中へマツプされる。この複数
のマツピングはコリジヨン(collision)と呼ばれ
るが、それは複数のデータ項目が同一のハツシ
ユ・クラスへ衝突するからである。多数のコリジ
ヨンが存在する時のハツシユ・クラスの探索は、
メモリへのアクセス時間を非常に増大させる。そ
れは特にデイレクトリイが内容によつてアドレス
可能でない時にそうである。従つて、多くのメモ
リ・アプリケーシヨンにおいて、デイレクトリイ
の探索時間を小さくするため、ハツシユ・クラス
のサイズを最小に維持することが望まれる。これ
に対し、デイレクトリイのために内容アドレス可
能メモリが使用される時、全ての探索は1サイク
ル内で実行される。残念ながら、内容アドレス可
能メモリは高価であり、従つて多くのアプリケー
シヨンにおいて、内容アドレス可能メモリは利用
できない。
このような問題は、比較的大型のメモリが使用
される場合に大きくなる。例えば、直接アクセス
記憶装置(DASD)のバツフアとして、大型キヤ
ツシユが使用され、このキヤツシユが8メガバイ
ト以上の容量を有する場合、コリジヨンの数を減
少させることと、記憶システムのコストを抑える
こととの間に矛盾が起る。更に、DASDはいくつ
かの遅延アクセス境界を示すので、問題を生じ
る。待ち時間(Latency)と呼ばれる第1の遅延
境界は、DASDの回転特性に基く。1つ又は2つ
の変換器が回転するデイスク表面に関して位置づ
けられ、デイスク表面上の所与の地点に対するア
クセスは、回転待ち時間に依存するようになつて
いる。更に大部分のDASDでは、1つのデイスク
表面に対して1つの変換器が設けられている。こ
れは、変換器がトラツクからトラツクへと半径方
向に移動することを意味する。多重表面デイスク
記憶装置では、移動はシリンダからシリンダと実
行され、シリンダ・シークを実行する。シリンダ
は同一半径上の全てのトラツクから形成される。
アドレシング及びアクセシングにおけるこれら2
つの遅延は、デイスク記憶装置の機械的特性に基
く。従つて、そのような機械的遅延に適応しない
キヤツシユ中のミスの数は、データ領域へのアク
セス時間を非常に増大させる可能性がある。全体
的なシステム動作において、バツキング・ストア
の機械的遅延の効果を最小にするように、キヤツ
シユへアクセスすることが望まれる。
される場合に大きくなる。例えば、直接アクセス
記憶装置(DASD)のバツフアとして、大型キヤ
ツシユが使用され、このキヤツシユが8メガバイ
ト以上の容量を有する場合、コリジヨンの数を減
少させることと、記憶システムのコストを抑える
こととの間に矛盾が起る。更に、DASDはいくつ
かの遅延アクセス境界を示すので、問題を生じ
る。待ち時間(Latency)と呼ばれる第1の遅延
境界は、DASDの回転特性に基く。1つ又は2つ
の変換器が回転するデイスク表面に関して位置づ
けられ、デイスク表面上の所与の地点に対するア
クセスは、回転待ち時間に依存するようになつて
いる。更に大部分のDASDでは、1つのデイスク
表面に対して1つの変換器が設けられている。こ
れは、変換器がトラツクからトラツクへと半径方
向に移動することを意味する。多重表面デイスク
記憶装置では、移動はシリンダからシリンダと実
行され、シリンダ・シークを実行する。シリンダ
は同一半径上の全てのトラツクから形成される。
アドレシング及びアクセシングにおけるこれら2
つの遅延は、デイスク記憶装置の機械的特性に基
く。従つて、そのような機械的遅延に適応しない
キヤツシユ中のミスの数は、データ領域へのアク
セス時間を非常に増大させる可能性がある。全体
的なシステム動作において、バツキング・ストア
の機械的遅延の効果を最小にするように、キヤツ
シユへアクセスすることが望まれる。
多くの先行技術によるハツシング手法は、コリ
ジヨンの数が少なくなるように、アドレスのラン
ダム分布を使用する。その結果、アドレスは、ア
クセスされるメモリのアドレス・スペース上、均
一に分布されていなければならない。このような
原理はIBMテクニカル・デイスクロージヤ・ブ
チレン(TDB)のいくつかの記事で説明されて
いる。例えば、1977年5月のTDBの4822−4823
頁には、J.L.Carterその他による“Class of
Fast Hash Functions Using Exclusive OR”
と題する記事があり、4826頁には“Method of
Extending Hash Functions for Long Keys”
と題する記事がある。これらは、1対になつたラ
ンダム・ハツシング機能が、トランザクシヨンの
数に対して線形の平均走行時間を発生することを
教えている。これは、メイン・メモリのようなラ
ンダム・アクセス・メモリにはあてはまるが、ア
クセス遅延境界が存在する場合には、必ずしもあ
てはまらない。従つて、これらの記事で論議され
ている「比例定数」は、全ての場合に適用され得
ない。特に、アクセス遅延境界が存在する場合に
そうである。
ジヨンの数が少なくなるように、アドレスのラン
ダム分布を使用する。その結果、アドレスは、ア
クセスされるメモリのアドレス・スペース上、均
一に分布されていなければならない。このような
原理はIBMテクニカル・デイスクロージヤ・ブ
チレン(TDB)のいくつかの記事で説明されて
いる。例えば、1977年5月のTDBの4822−4823
頁には、J.L.Carterその他による“Class of
Fast Hash Functions Using Exclusive OR”
と題する記事があり、4826頁には“Method of
Extending Hash Functions for Long Keys”
と題する記事がある。これらは、1対になつたラ
ンダム・ハツシング機能が、トランザクシヨンの
数に対して線形の平均走行時間を発生することを
教えている。これは、メイン・メモリのようなラ
ンダム・アクセス・メモリにはあてはまるが、ア
クセス遅延境界が存在する場合には、必ずしもあ
てはまらない。従つて、これらの記事で論議され
ている「比例定数」は、全ての場合に適用され得
ない。特に、アクセス遅延境界が存在する場合に
そうである。
更に、ハツシング手法では、プライム・ナンバ
ーが使用されてきた。例えば、1972年4月の
IBMテクニカル・デスクロージヤ・ブチレンの
3489頁にあるR.P.Brentによる“Modified
Linear Scatter Storage Technique”という事
を参照されたい。この記事は、顕著なアクセス遅
延境界を有しないランダム・アクセス・メモリに
適したハツシング手法を取扱つている。
ーが使用されてきた。例えば、1972年4月の
IBMテクニカル・デスクロージヤ・ブチレンの
3489頁にあるR.P.Brentによる“Modified
Linear Scatter Storage Technique”という事
を参照されたい。この記事は、顕著なアクセス遅
延境界を有しないランダム・アクセス・メモリに
適したハツシング手法を取扱つている。
ハツシングの他の局面は、ハツシユ時間を少な
くすること(アドレス発生に必要な時間を少なく
すること)である。このような時間の減少は、ア
ドレスへ変換可能なデータ名称を選択することに
よつて達成されてきた。例えば、1975年6月の
IBMテクニカル・デイスクロージヤ・ブチレン
に、L.J.Waguespackによつて発表された
“Predistributed Logical Name Gemeration”
という記事は(38−39頁)、ランダム・アクセ
ス・メモリにアクセスするため、単一レベル排他
的ORのハツシユ機能が、予め配分された論理名
称によつて駆動されるハツシング手法を示してい
る。1975年8月に発行されたIBMテクニカル・
デイスクロージヤ・ブレチンの880−881頁には、
D.C.Bossenその他による“Generating Unique
Names for Virtual Segments”という記事に、
同様の手法が紹介されている。この記事は、アド
レスの先行配分及び排他的OR機能が、ハツシ
ユ・テーブルのアドレシングを生じるという点
で、Waguespackの記事と同じである。
くすること(アドレス発生に必要な時間を少なく
すること)である。このような時間の減少は、ア
ドレスへ変換可能なデータ名称を選択することに
よつて達成されてきた。例えば、1975年6月の
IBMテクニカル・デイスクロージヤ・ブチレン
に、L.J.Waguespackによつて発表された
“Predistributed Logical Name Gemeration”
という記事は(38−39頁)、ランダム・アクセ
ス・メモリにアクセスするため、単一レベル排他
的ORのハツシユ機能が、予め配分された論理名
称によつて駆動されるハツシング手法を示してい
る。1975年8月に発行されたIBMテクニカル・
デイスクロージヤ・ブレチンの880−881頁には、
D.C.Bossenその他による“Generating Unique
Names for Virtual Segments”という記事に、
同様の手法が紹介されている。この記事は、アド
レスの先行配分及び排他的OR機能が、ハツシ
ユ・テーブルのアドレシングを生じるという点
で、Waguespackの記事と同じである。
据付け後のデータ処理システムにおいて、メモ
リはサイズを変えることができる。従つて、ハツ
シング手法は容易に変更されねばならない。この
事態は、これまで列挙して来た記事の1つで取扱
われているが、更に米国特許4215402で取扱われ
ている。この特許では、SIT及びハツシユ・サイ
ズはメイン・メモリのサイズにマツチしたものと
なつている。しかし、ハツシングは、顕著なアク
セス遅延境界を示さない純粋のランダム・アクセ
ス・メモリのためになされている。
リはサイズを変えることができる。従つて、ハツ
シング手法は容易に変更されねばならない。この
事態は、これまで列挙して来た記事の1つで取扱
われているが、更に米国特許4215402で取扱われ
ている。この特許では、SIT及びハツシユ・サイ
ズはメイン・メモリのサイズにマツチしたものと
なつている。しかし、ハツシングは、顕著なアク
セス遅延境界を示さない純粋のランダム・アクセ
ス・メモリのためになされている。
IBMテクニカル・デイスクロージヤ・ブレチ
ンの1973年12月号の2214−2216頁には、望ましい
ハツシング手法の要約が、R.F.Arnoldその他に
よる“Uniform Hashing Algorithm”という記
事によつて紹介されている。この記事は、仮想ア
ドレス・スペースをリアル・アドレス・スペース
へマツプすることを説明している。アドレス・ス
ペースをマツプするために使用されるハツシン
グ・アルゴリズムの望ましい特性は、分布の均一
性、シーケンシヤルな仮想アドレスのランダム分
布であり、ハツシングの細分化よりも更に細か
く、リアル・アドレスへマツプされるシーケンシ
ヤルな仮想アドレスを与える。全てのアドレス
は、仮想アドレスからリアル・アドレスへ1対1
で対応ずけられねばならず、メモリ変更の場合に
は、ハツシユに最小のリマツピングが要求され、
計算は迅速(短い遅延)かつ反復可能でなければ
ならない。本明細書で説明されるハツシング・ア
ルゴリズムは、ヒツトが即時に生じない場合、反
復的プロセスを必要とする。それは、モジユロ2
加算(排他的OR機能の如く)を使用するのでは
なく、桁上り及び借りを含む演算手法を使用す
る。この記事は顕著なアクセス遅延境界を有しな
いランダム・アクセス・メモリに望ましいハツシ
ング手順を教えているが、それがどのようにして
アクセス遅延境界を示すバツキング・ストアへ適
用できるかは明らかではない。
ンの1973年12月号の2214−2216頁には、望ましい
ハツシング手法の要約が、R.F.Arnoldその他に
よる“Uniform Hashing Algorithm”という記
事によつて紹介されている。この記事は、仮想ア
ドレス・スペースをリアル・アドレス・スペース
へマツプすることを説明している。アドレス・ス
ペースをマツプするために使用されるハツシン
グ・アルゴリズムの望ましい特性は、分布の均一
性、シーケンシヤルな仮想アドレスのランダム分
布であり、ハツシングの細分化よりも更に細か
く、リアル・アドレスへマツプされるシーケンシ
ヤルな仮想アドレスを与える。全てのアドレス
は、仮想アドレスからリアル・アドレスへ1対1
で対応ずけられねばならず、メモリ変更の場合に
は、ハツシユに最小のリマツピングが要求され、
計算は迅速(短い遅延)かつ反復可能でなければ
ならない。本明細書で説明されるハツシング・ア
ルゴリズムは、ヒツトが即時に生じない場合、反
復的プロセスを必要とする。それは、モジユロ2
加算(排他的OR機能の如く)を使用するのでは
なく、桁上り及び借りを含む演算手法を使用す
る。この記事は顕著なアクセス遅延境界を有しな
いランダム・アクセス・メモリに望ましいハツシ
ング手順を教えているが、それがどのようにして
アクセス遅延境界を示すバツキング・ストアへ適
用できるかは明らかではない。
更に階層記憶システムは複数のデイスク記憶装
置を含むことができる。単一のキヤツシユであつ
ても、全てのデイスク記憶装置のためにキヤツシ
ユ機能を果さなければならない。従つて、ハツシ
ングは、そのようなデイスク記憶装置の内部アク
セス遅延境界に対してのみならず、デイスク記憶
装置の独特の特性に対しても適応しなければなら
ない。例えば、各デイスク記憶装置のシリンダ
「0」は、通常、デイスク記憶装置に記憶された
データ内容に対するインデツクスとして使用され
る。シリンダ「0」は、通常、半径方向で最も外
側のトラツクより成るシリンダである。シリンダ
「0」は他のシリンダよりも頻繁にアクセスされ
ることが予想されるので、1つのデイスク記憶装
置のシリンダ「0」と、他のデイスク記憶装置の
シリンダ「0」との間に、コリジヨンがあつては
ならない。ランダム分布は、たとえそれが均一で
あつても、或る相対アドレスが他の相対アドレス
とコリジヨンを生じる可能性があることを意味す
る。従つて、通常の設計仕様を有するデイスク記
憶装置が使用される時、ハツシングのランダム分
布を避けるようにしなければならない。
置を含むことができる。単一のキヤツシユであつ
ても、全てのデイスク記憶装置のためにキヤツシ
ユ機能を果さなければならない。従つて、ハツシ
ングは、そのようなデイスク記憶装置の内部アク
セス遅延境界に対してのみならず、デイスク記憶
装置の独特の特性に対しても適応しなければなら
ない。例えば、各デイスク記憶装置のシリンダ
「0」は、通常、デイスク記憶装置に記憶された
データ内容に対するインデツクスとして使用され
る。シリンダ「0」は、通常、半径方向で最も外
側のトラツクより成るシリンダである。シリンダ
「0」は他のシリンダよりも頻繁にアクセスされ
ることが予想されるので、1つのデイスク記憶装
置のシリンダ「0」と、他のデイスク記憶装置の
シリンダ「0」との間に、コリジヨンがあつては
ならない。ランダム分布は、たとえそれが均一で
あつても、或る相対アドレスが他の相対アドレス
とコリジヨンを生じる可能性があることを意味す
る。従つて、通常の設計仕様を有するデイスク記
憶装置が使用される時、ハツシングのランダム分
布を避けるようにしなければならない。
本発明の要約
本発明の目的は、アドレス・スペース及びバツ
キング・ストアのサイズの多様性に容易に適応す
るハツシング・システムを提供することである。
キング・ストアのサイズの多様性に容易に適応す
るハツシング・システムを提供することである。
本発明の他の目的は、高い頻度で使用されるア
ドレスに対して最小のハツシング・コリジヨンを
保証するハツシユ型アクセス・システムを提供す
ることである。
ドレスに対して最小のハツシング・コリジヨンを
保証するハツシユ型アクセス・システムを提供す
ることである。
本発明の他の目的は、サイズにおいて拡張伸縮
自在のハツシング手法実行システムを提供するこ
とである。
自在のハツシング手法実行システムを提供するこ
とである。
本発明の他の目的は、ハツシユ・アクセスがバ
ツキング・ストアに関連したキヤツシユ又はバツ
フアに対してなされる時、バツキング・ストアの
遅延境界へ容易に適応するアクセシング・システ
ムを提供することである。
ツキング・ストアに関連したキヤツシユ又はバツ
フアに対してなされる時、バツキング・ストアの
遅延境界へ容易に適応するアクセシング・システ
ムを提供することである。
本発明の第1の局面に従うハツシング・システ
ムは、バツキング・ストアのアクセス遅延境界及
びバツキング・ストアのアドレスに対して予想さ
れるアクセス頻度に従つて順序ずけられたアドレ
ス信号を処理する。
ムは、バツキング・ストアのアクセス遅延境界及
びバツキング・ストアのアドレスに対して予想さ
れるアクセス頻度に従つて順序ずけられたアドレ
ス信号を処理する。
本発明に従うハツシング・アクセス・システム
は、SITアドレス・スペースにおいて所定の順序
及び等間隔の分布状態で遅延ユニツトの数(例え
ば、デイスク記憶装置の数)をマツプされたSIT
アドレス・スペースを有し、最低順序のアドレス
から始まる全てのハツシング・スペースが、SIT
アドレス・スペース内の独特のアドレスで始まる
ようになつている。この構成によつて、アクセス
遅延境界を形成するユニツトの各々において、全
てのハツシングの順序ずけられたオフセツトが共
通の相対アドレスのために設定される。
は、SITアドレス・スペースにおいて所定の順序
及び等間隔の分布状態で遅延ユニツトの数(例え
ば、デイスク記憶装置の数)をマツプされたSIT
アドレス・スペースを有し、最低順序のアドレス
から始まる全てのハツシング・スペースが、SIT
アドレス・スペース内の独特のアドレスで始まる
ようになつている。この構成によつて、アクセス
遅延境界を形成するユニツトの各々において、全
てのハツシングの順序ずけられたオフセツトが共
通の相対アドレスのために設定される。
本発明の他の局面に従うハツシング・システム
は、装置の構造上の特徴に関連した順序で少容量
のキヤツシユ・メモリをアドレスするため、装置
アドレスのサイズ定数によつてハツシングされて
いるアドレスを変更する。例えば、バツキング・
ストア内の装置の数は、順序ずけられた態様でア
ドレスを分配する第1のハツシング・フアクタを
構成し、遅延境界(即ち、デイスク記憶装置中の
シリンダ)の数は、順序ずけられたシリンダのハ
ツシユ・アドレシングのハツシング・フアクタで
ある。
は、装置の構造上の特徴に関連した順序で少容量
のキヤツシユ・メモリをアドレスするため、装置
アドレスのサイズ定数によつてハツシングされて
いるアドレスを変更する。例えば、バツキング・
ストア内の装置の数は、順序ずけられた態様でア
ドレスを分配する第1のハツシング・フアクタを
構成し、遅延境界(即ち、デイスク記憶装置中の
シリンダ)の数は、順序ずけられたシリンダのハ
ツシユ・アドレシングのハツシング・フアクタで
ある。
実施例の説明
本発明は、第1図に示されるような階層周辺記
憶システム10で実施されるのが望ましい。複数
のデイスク記憶装置(DASD)11は、D0,D
1,D2で示され、中央処理ユニツト又は他の計
算機のようなホスト(図示せず)との間で、入出
力接続線13を介してデータを転送するため、共
用キヤツシユ12へ接続される。キヤツシユ12
又はDASD11におけるデータ又はデータ領域へ
のアクセスは、アドレス・バス14を介して行わ
れる。DASDアドレスの1部は、バス15を介し
て1対の電子スイツチ16及び18を付勢するた
めに与えられる。これらのスイツチは、それぞれ
システム10の異つた通路を介して、アドレス信
号及びデータ信号を導く。バス15は、スイツチ
16及び18を付勢する周辺指令を送ることもで
きる。例えば、指令はキヤツシユ12を通して全
てのデータ参照をなすべきことを指示するかも知
れない。その場合、スイツチ16は図示された位
置へセツトされる。他方、全てのデータ参照が
DASD11に対してなされるべきことを命ずる指
令が受取られるかも知れない。その場合、スイツ
チ16はもう1つの位置へ切換えられ、DASD1
1がバス14へ接続される。スイツチ16を制御
する他の手段も使用されてよい。
憶システム10で実施されるのが望ましい。複数
のデイスク記憶装置(DASD)11は、D0,D
1,D2で示され、中央処理ユニツト又は他の計
算機のようなホスト(図示せず)との間で、入出
力接続線13を介してデータを転送するため、共
用キヤツシユ12へ接続される。キヤツシユ12
又はDASD11におけるデータ又はデータ領域へ
のアクセスは、アドレス・バス14を介して行わ
れる。DASDアドレスの1部は、バス15を介し
て1対の電子スイツチ16及び18を付勢するた
めに与えられる。これらのスイツチは、それぞれ
システム10の異つた通路を介して、アドレス信
号及びデータ信号を導く。バス15は、スイツチ
16及び18を付勢する周辺指令を送ることもで
きる。例えば、指令はキヤツシユ12を通して全
てのデータ参照をなすべきことを指示するかも知
れない。その場合、スイツチ16は図示された位
置へセツトされる。他方、全てのデータ参照が
DASD11に対してなされるべきことを命ずる指
令が受取られるかも知れない。その場合、スイツ
チ16はもう1つの位置へ切換えられ、DASD1
1がバス14へ接続される。スイツチ16を制御
する他の手段も使用されてよい。
バス15はスイツチ18へも延長される。スイ
ツチ18は、データ信号をホストへ転送するた
め、DASD11をバス21へ接続する。バス21
はI/O接続線13へも接続されることができ
る。この接続は示されていない。バス22はスイ
ツチ18からキヤツシユ12へ延長され、データ
はDASD11とキヤツシユ12との間を転送され
ることができる。システム10はコントロール2
0を含む。コントロール20はスイツチ18を付
勢し、DASD11とキヤツシユ12との間のデー
タ信号の転送が、ホストの動作と独立してかつ非
同期的に行われるようにすることができる。即
ち、スイツチ18はホストによつて制御されると
共に局部的にも制御される。
ツチ18は、データ信号をホストへ転送するた
め、DASD11をバス21へ接続する。バス21
はI/O接続線13へも接続されることができ
る。この接続は示されていない。バス22はスイ
ツチ18からキヤツシユ12へ延長され、データ
はDASD11とキヤツシユ12との間を転送され
ることができる。システム10はコントロール2
0を含む。コントロール20はスイツチ18を付
勢し、DASD11とキヤツシユ12との間のデー
タ信号の転送が、ホストの動作と独立してかつ非
同期的に行われるようにすることができる。即
ち、スイツチ18はホストによつて制御されると
共に局部的にも制御される。
スイツチ16が図示された位置にあるものと仮
定する。バス14上のDASDアドレス信号は旧ハ
ツシユ回路23へ導かれ、キヤツシユ12の前の
参照によつて、バス14上で受取られたアドレス
をハツシングする必要なしに、キヤツシユ12へ
のアクセスが可能であるかどうかが決定される。
DASD11はデータを記憶するための大容量を有
し、キヤツシユ12はそれよりも小さい容量を有
するので、スペースがデータ・アクセスのために
キヤツシユ12の中で割当てられたかどうか、又
は所与のデータがキヤツシユ12の中で実際に記
憶されているかどうかを決定するため、DASD1
1のアドレスを使用するハツシング・アドレス手
法が使用される。いずれにせよ、旧ハツシユ回路
23が前のアドレスと密接に関連したアドレスを
検出すると、後述するようにスキヤタ・インデツ
クス・テーブル(SIT)27へ直接にアドレスす
る。SIT27は、キヤツシユ12へアクセスする
ため、デイレクトリイ30へのハツシユ信号をイ
ンデツクスする。論理装置制御ブロツク・レジス
タ25は、バス24を介してアクセスされるが、
DASDアドレス及び対応するSIT27アドレスを
含む。
定する。バス14上のDASDアドレス信号は旧ハ
ツシユ回路23へ導かれ、キヤツシユ12の前の
参照によつて、バス14上で受取られたアドレス
をハツシングする必要なしに、キヤツシユ12へ
のアクセスが可能であるかどうかが決定される。
DASD11はデータを記憶するための大容量を有
し、キヤツシユ12はそれよりも小さい容量を有
するので、スペースがデータ・アクセスのために
キヤツシユ12の中で割当てられたかどうか、又
は所与のデータがキヤツシユ12の中で実際に記
憶されているかどうかを決定するため、DASD1
1のアドレスを使用するハツシング・アドレス手
法が使用される。いずれにせよ、旧ハツシユ回路
23が前のアドレスと密接に関連したアドレスを
検出すると、後述するようにスキヤタ・インデツ
クス・テーブル(SIT)27へ直接にアドレスす
る。SIT27は、キヤツシユ12へアクセスする
ため、デイレクトリイ30へのハツシユ信号をイ
ンデツクスする。論理装置制御ブロツク・レジス
タ25は、バス24を介してアクセスされるが、
DASDアドレス及び対応するSIT27アドレスを
含む。
デイレクトリイ30は、キヤツシ12の各アド
レス可能セグメントについて1つのエントリイを
含む。各エントリイはDASD11のためにアドレ
ス表示を含む。それは、どのデータがキヤツシユ
12の中に記憶されているか、又はキヤツシユ・
スペースがデータのために決定されたかを表示す
るためである。ハツシユ・クラスはデイレクトリ
イ30のエントリイの複数個を含んでよいからリ
ンキング機構31は、単一的にリンクされたリス
トを用いて、同一ハツシユ・クラスにある全ての
エントリイを相互にリンクする。1度DASD11
のアドレスに対応するデイレクトリイ・エントリ
イが発見されると、キヤツシユ12は、通路32
を介して、デイレクトリイ30によつて指示され
たアドレスをアクセスされる。次いで、データ
は、ホスト(図示せず)とキヤツシユ12との間
で、I/O接続線13を介して転送されることが
できる。勿論、デイレクトリイ30はミス(即
ち、データ・スペースはキヤツシユ12の中で割
当てられなかつたこと)を表示してよい。この場
合、他の動作が必要となる。
レス可能セグメントについて1つのエントリイを
含む。各エントリイはDASD11のためにアドレ
ス表示を含む。それは、どのデータがキヤツシユ
12の中に記憶されているか、又はキヤツシユ・
スペースがデータのために決定されたかを表示す
るためである。ハツシユ・クラスはデイレクトリ
イ30のエントリイの複数個を含んでよいからリ
ンキング機構31は、単一的にリンクされたリス
トを用いて、同一ハツシユ・クラスにある全ての
エントリイを相互にリンクする。1度DASD11
のアドレスに対応するデイレクトリイ・エントリ
イが発見されると、キヤツシユ12は、通路32
を介して、デイレクトリイ30によつて指示され
たアドレスをアクセスされる。次いで、データ
は、ホスト(図示せず)とキヤツシユ12との間
で、I/O接続線13を介して転送されることが
できる。勿論、デイレクトリイ30はミス(即
ち、データ・スペースはキヤツシユ12の中で割
当てられなかつたこと)を表示してよい。この場
合、他の動作が必要となる。
旧ハツシユ回路23が、キヤツシユ12への前
の参照が現在受取られたDASDアドレスに対して
なされたものでなく、それから離れたものである
ことを示す場合、現在受取られたアドレスは、ア
ドレス・ハツシング動作のために、ハツシユ回路
34へ与えられる。ハツシング動作の結果とし
て、バス35へ与えられたアドレス信号は、SIT
27における所与のレジスタを指定する。そのレ
ジスタの内容は、ハツシユ・クラスに対応するデ
イレクトリイ30のエントリイを指定する。次い
で、後述するように、デイレクトリイ30のハツ
シユ・クラスが走査される。
の参照が現在受取られたDASDアドレスに対して
なされたものでなく、それから離れたものである
ことを示す場合、現在受取られたアドレスは、ア
ドレス・ハツシング動作のために、ハツシユ回路
34へ与えられる。ハツシング動作の結果とし
て、バス35へ与えられたアドレス信号は、SIT
27における所与のレジスタを指定する。そのレ
ジスタの内容は、ハツシユ・クラスに対応するデ
イレクトリイ30のエントリイを指定する。次い
で、後述するように、デイレクトリイ30のハツ
シユ・クラスが走査される。
要するに、キヤツシユ12へのアクセスは、
DASD11のアドレス信号がバス14上で受取ら
れ、それが旧ハツシユ回路23へ送られ、次いで
新しいハツシング動作を実行するためハツシユ回
路34を通るか、直接にSIT27へ与えられて、
デイレクトリイ30に対するインデツクス又はア
ドレス信号を発生することによつて行われる。次
に、デイレクトリイ30はハツシユ・クラス内の
エントリイを走査するためにアクセスされるが、
それは受取られたDASDアドレスに対応する
DASD11のアドレスを探すためである。ヒツト
の場合、キヤツシユ12がアクセスされ、そうで
なければ、ミスが表示される。
DASD11のアドレス信号がバス14上で受取ら
れ、それが旧ハツシユ回路23へ送られ、次いで
新しいハツシング動作を実行するためハツシユ回
路34を通るか、直接にSIT27へ与えられて、
デイレクトリイ30に対するインデツクス又はア
ドレス信号を発生することによつて行われる。次
に、デイレクトリイ30はハツシユ・クラス内の
エントリイを走査するためにアクセスされるが、
それは受取られたDASDアドレスに対応する
DASD11のアドレスを探すためである。ヒツト
の場合、キヤツシユ12がアクセスされ、そうで
なければ、ミスが表示される。
DASD11は直接にアクセスすることができ
る。この場合、スイツチ16は他の位置へセツト
され、スイツチ18も他の位置へ動かされる。そ
して、データへのアクセス及びDASD11へ記録
するためのデータ記憶領域へのアクセスは、通常
のデイスク記憶装置の場合と同じようにして実行
される。
る。この場合、スイツチ16は他の位置へセツト
され、スイツチ18も他の位置へ動かされる。そ
して、データへのアクセス及びDASD11へ記録
するためのデータ記憶領域へのアクセスは、通常
のデイスク記憶装置の場合と同じようにして実行
される。
デイレクトリイ30によつてミスが表示される
と、バス33を介してコントロール20へ与えら
れる制御信号は、スイツチ18を図示された位置
へ付勢する。それは、DADSからバス22を介し
てキヤツシユ12へ、データ信号を転送するため
である。勿論、そのような転送が生じる前に、
DASD11は利用可能となつていなければならず
(ビジイでない)、デイレクトリイ30及びハツシ
ング・アドレスがセツトアツプされて、キヤツシ
ユ12へのアクセスが能動化されねばならない。
と、バス33を介してコントロール20へ与えら
れる制御信号は、スイツチ18を図示された位置
へ付勢する。それは、DADSからバス22を介し
てキヤツシユ12へ、データ信号を転送するため
である。勿論、そのような転送が生じる前に、
DASD11は利用可能となつていなければならず
(ビジイでない)、デイレクトリイ30及びハツシ
ング・アドレスがセツトアツプされて、キヤツシ
ユ12へのアクセスが能動化されねばならない。
第2図はDASD11の概略的構成を示す。一般
的に、それぞれのDASD11(例えばD0)は同
時に回転する複数のデイスク40,41を含み、
各デイスクはデータ信号を記録するための1対の
表面を有する。D0にある表面の1つは、位置ず
け情報又はサーボ情報を記憶するために確保され
ている。トラツクの全ては、他のトラツクの全て
と同心円関係を有し、かつ他の表面上の他のトラ
ツクと半径方向的に揃えられている。例えば、2
つのデイスク40及び41の各々は、それぞれ半
径方向で一番外にあるトラツク43,42を有す
る。半径方向的に一番外の位置にあるトラツクは
シリンダ0,C0と呼ばれる。各表面に対して1
つのヘツドが設けられるから、サーボ・機構(図
示せず)がヘツド(図示せず)をC0トラツクへ
整列させると、任意の表面が電子スイツチングの
働きによりアクセスされ、C0中の任意のトラツ
クがアクセスできるようになる。他のシリンダに
アクセスするためには、ヘツドの全てが、アドレ
スされたトラツク(例えば、シリンダC1のトラ
ツク)へ向つて、半径方向へ動かされなければな
らない。この機械的な移動はデータ領域へアクセ
スする場合にかなりの遅延を生じ、従つて、顕著
な遅延アクセス境界となる。他のシリンダは(1
つのデイスク装置には、500以上のシリンダがあ
るかも知れない)、それぞれデイスク41及び4
0の上に存在するトラツク44及び45を有する
シリンダXを含む。同様に、シリンダYはデイス
ク41上にトラツク46を有し、デイスク40も
同様のトラツクを有する。同じように、DASD1
1の選択はかなりのプロトコルを必要とし、遅延
アクセス境界となる。
的に、それぞれのDASD11(例えばD0)は同
時に回転する複数のデイスク40,41を含み、
各デイスクはデータ信号を記録するための1対の
表面を有する。D0にある表面の1つは、位置ず
け情報又はサーボ情報を記憶するために確保され
ている。トラツクの全ては、他のトラツクの全て
と同心円関係を有し、かつ他の表面上の他のトラ
ツクと半径方向的に揃えられている。例えば、2
つのデイスク40及び41の各々は、それぞれ半
径方向で一番外にあるトラツク43,42を有す
る。半径方向的に一番外の位置にあるトラツクは
シリンダ0,C0と呼ばれる。各表面に対して1
つのヘツドが設けられるから、サーボ・機構(図
示せず)がヘツド(図示せず)をC0トラツクへ
整列させると、任意の表面が電子スイツチングの
働きによりアクセスされ、C0中の任意のトラツ
クがアクセスできるようになる。他のシリンダに
アクセスするためには、ヘツドの全てが、アドレ
スされたトラツク(例えば、シリンダC1のトラ
ツク)へ向つて、半径方向へ動かされなければな
らない。この機械的な移動はデータ領域へアクセ
スする場合にかなりの遅延を生じ、従つて、顕著
な遅延アクセス境界となる。他のシリンダは(1
つのデイスク装置には、500以上のシリンダがあ
るかも知れない)、それぞれデイスク41及び4
0の上に存在するトラツク44及び45を有する
シリンダXを含む。同様に、シリンダYはデイス
ク41上にトラツク46を有し、デイスク40も
同様のトラツクを有する。同じように、DASD1
1の選択はかなりのプロトコルを必要とし、遅延
アクセス境界となる。
ハツシユ・クラスを限定する主たるフアクタは
各記憶装置にあるシリンダの数であるから、前述
した特性の全ては本発明のハツシング・システム
へ融合されている。これはハツシユ・アドレシン
グにおいてシリンダ・オフセツトを生じる。装置
アドレスによつて指定された全ての装置は、SIT
27のアドレス・スペース内でバランスされたス
ペースを割当てられる。各ハツシユ・クラスは装
置の各々からのアドレスを含む。小さなSIT27
では、所与の装置から得られたいくつかのシリン
ダ・アドレス・スペースは、後にもつと明らかに
なるように、同一のハツシユ・クラス内にあるか
も知れない。ハツシングの順序ずけられた対称性
を与えるため、装置はSIT27のアドレス・サイ
ズ(即ち、そこに含まれるレジスタの数)の関数
としてオフセツトされる。従つて、装置の総数は
オフセツトであり、全てのC0に対する全てのア
ドレスは、決して同じハツシユ・クラスの中には
ない。C0は、典型的に、デイスク記憶装置に記
憶されたデータに対するインデツクスを含むの
で、それは最も普通にアドレスされるシリンダで
ある。もつとも普通にアドレスされるシリンダを
異つたハツシユ・クラスに保つことによつて、ハ
ツシング動作におけるハツシユ・コリジヨンの確
率が少なくなる。SIT27ではトラツクが隣接し
ているので、トラツクのアドレスをSIT27の隣
接したレジスタへ関連ずけることによつて、トラ
ツク間の電子的切換えが有利となる。シリンダ及
び装置のオフセツトは、キヤツシユ12のサイズ
が変化した時にも、SIT27のサイズが変化した
時にも、ハツシング・アルゴリズムを容易に調整
可能にする。ここで注意すべきは、キヤツシユ1
2又はSIT27が変化した時、キヤツシユ12に
あるデータの全ては、データの統一性を維持する
ため無効にされねばならないことである。
各記憶装置にあるシリンダの数であるから、前述
した特性の全ては本発明のハツシング・システム
へ融合されている。これはハツシユ・アドレシン
グにおいてシリンダ・オフセツトを生じる。装置
アドレスによつて指定された全ての装置は、SIT
27のアドレス・スペース内でバランスされたス
ペースを割当てられる。各ハツシユ・クラスは装
置の各々からのアドレスを含む。小さなSIT27
では、所与の装置から得られたいくつかのシリン
ダ・アドレス・スペースは、後にもつと明らかに
なるように、同一のハツシユ・クラス内にあるか
も知れない。ハツシングの順序ずけられた対称性
を与えるため、装置はSIT27のアドレス・サイ
ズ(即ち、そこに含まれるレジスタの数)の関数
としてオフセツトされる。従つて、装置の総数は
オフセツトであり、全てのC0に対する全てのア
ドレスは、決して同じハツシユ・クラスの中には
ない。C0は、典型的に、デイスク記憶装置に記
憶されたデータに対するインデツクスを含むの
で、それは最も普通にアドレスされるシリンダで
ある。もつとも普通にアドレスされるシリンダを
異つたハツシユ・クラスに保つことによつて、ハ
ツシング動作におけるハツシユ・コリジヨンの確
率が少なくなる。SIT27ではトラツクが隣接し
ているので、トラツクのアドレスをSIT27の隣
接したレジスタへ関連ずけることによつて、トラ
ツク間の電子的切換えが有利となる。シリンダ及
び装置のオフセツトは、キヤツシユ12のサイズ
が変化した時にも、SIT27のサイズが変化した
時にも、ハツシング・アルゴリズムを容易に調整
可能にする。ここで注意すべきは、キヤツシユ1
2又はSIT27が変化した時、キヤツシユ12に
あるデータの全ては、データの統一性を維持する
ため無効にされねばならないことである。
第2図において、ハツシユ・クラスは次のよう
になつている。
になつている。
シリンダ−C−オフセツト
トラツク−H−隣接
装置−バランスされたスペース
装置−D−オフセツト
第3図及び第4図は、0個のレジスタからN個
のレジスタまで延長されているSIT27のアドレ
ス・スペースを示す。ハツシング・アルゴリズム
は、装置アドレスの全てを、SIT27のベース・
アドレス「0」から等しい大きさだけオフセツト
する。例えば、第3図のアドレス・スペース50
の場合、14個の装置(DASD11)は、14個の等
しいスペースのオフセツト51を有するように示
される。装置D0は、ゼロのところに、そのシリ
ンダ「0」アドレスを有する。装置D1はそのシ
リンダ「0」アドレスをN/14のところに有し、
装置D2はそのシリンダ「0」アドレスを2N/
14のところに有する。これは、各装置DXのシリ
ンダ「0」が、装置の数によつて除算されたSIT
27のアドレスNXのところでインデツクスされ
ることを意味する。従つて、22個の装置がシステ
ム10の中にある時、小さいオフセツト52が生
じる。第3図は、全てのDASD11が同じ数のト
ラツクを有する場合を示す。しかし、この制限
は、本発明の実施型態を簡単にするが、必要条件
となるものではない。第4図において、SIT27
は、各種の記憶装置のトラツク数で表わしたサイ
ズ又は容量に従つて、異つたオフセツトへ分割さ
れている。大きな装置に対するオフセツト56
は、オフセツト55より大きい。同様に、オフセ
ツト57は更に大きい装置に対するものである。
のレジスタまで延長されているSIT27のアドレ
ス・スペースを示す。ハツシング・アルゴリズム
は、装置アドレスの全てを、SIT27のベース・
アドレス「0」から等しい大きさだけオフセツト
する。例えば、第3図のアドレス・スペース50
の場合、14個の装置(DASD11)は、14個の等
しいスペースのオフセツト51を有するように示
される。装置D0は、ゼロのところに、そのシリ
ンダ「0」アドレスを有する。装置D1はそのシ
リンダ「0」アドレスをN/14のところに有し、
装置D2はそのシリンダ「0」アドレスを2N/
14のところに有する。これは、各装置DXのシリ
ンダ「0」が、装置の数によつて除算されたSIT
27のアドレスNXのところでインデツクスされ
ることを意味する。従つて、22個の装置がシステ
ム10の中にある時、小さいオフセツト52が生
じる。第3図は、全てのDASD11が同じ数のト
ラツクを有する場合を示す。しかし、この制限
は、本発明の実施型態を簡単にするが、必要条件
となるものではない。第4図において、SIT27
は、各種の記憶装置のトラツク数で表わしたサイ
ズ又は容量に従つて、異つたオフセツトへ分割さ
れている。大きな装置に対するオフセツト56
は、オフセツト55より大きい。同様に、オフセ
ツト57は更に大きい装置に対するものである。
第5図は、デイレクトリイ30にアクセスする
ため、装置アドレスがどのようにSITレジスタ・
アドレスに現われるかのマツプを示す。装置D0
−D3のための欄60,61,62,63には、
それぞれ別個の装置アドレスが掲げられている。
シリンダ番号Cは欄の左方に示され、シリンダ内
のトラツクの番号は欄の右方に示される。第5図
に示されるように各シリンダは10本のトラツクを
有する。10の値は任意に選択されたものであつ
て、例を簡単にするための値である。第5図の例
示されたマツピングのハツシユ・クラスは、シリ
ンダ及びトラツク表示の行に対応する。例えば、
1つのハツシユ・クラスは装置D0のアドレス
660、装置D1のアドレス330、装置D2のアドレ
ス000より構成され、装置D3については、エン
トリイは存在しない。小さなSIT27では、ハツ
シユ・クラスは装置の各々から取られた1つ又は
それ以上のトラツクを含むことができる。装置D
0のシリンダC0は、トラツク00−09を有する6
5の部分によつて示される。装置D0のシリンダ
C1もトラツク0−9を有するが、これらのトラ
ツクは10−19によつて示される。同様に、装置D
0内の全てのトラツクは、それぞれのシリンダに
よつて表示される。SIT27は比較的に大きく、
1つのハツシユ・クラスは所与の装置から取られ
た1つだけのトラツクを含む。実施例の場合、装
置オフセツトは66で示されるように3シリンダ
である。重複はない。即ち、SIT27のサイズに
関しては、比較的小さな装置が存在する。装置D
1のシリンダC0は67のところに現われ、装置
D2のシリンダC0は68のところに現われる。
この編成は第3図及び第4図の装置配分に従つた
ものであつて、如何なる装置のシリンダC0も他
の装置のシリンダC0とハツシユ・クラスを共用
しない。装置D2において、数字70は3つのシ
リンダ装置オフセツトを指定するが、数字71は
空のスペースを示す。即ち、SIT27のこのスペ
ースは、装置D2のためにトラツク・アドレスを
含まない。他方、DASD11のサイズに関して小
さなSIT27の場合、各ハツシユ・クラスは、各
装置から取られた2つのトラツク、各装置から取
られた3つのトラツクなどを含むことができる。
前と同じように、如何なる装置のシリンダC0
も、他の装置のシリンダC0から得られたハツシ
ユ・クラスを共用しない。この原理を拡張すれ
ば、同じようにアドレスされるシリンダは、同じ
ハツシユ・クラスの中にはないと言える。即ち、
或る装置のシリンダXは、常に他の装置のシリン
ダXとは異つたハツシユ・クラスの中にある。こ
こで、Xはシリンダ・アドレスを示す整数であ
る。
ため、装置アドレスがどのようにSITレジスタ・
アドレスに現われるかのマツプを示す。装置D0
−D3のための欄60,61,62,63には、
それぞれ別個の装置アドレスが掲げられている。
シリンダ番号Cは欄の左方に示され、シリンダ内
のトラツクの番号は欄の右方に示される。第5図
に示されるように各シリンダは10本のトラツクを
有する。10の値は任意に選択されたものであつ
て、例を簡単にするための値である。第5図の例
示されたマツピングのハツシユ・クラスは、シリ
ンダ及びトラツク表示の行に対応する。例えば、
1つのハツシユ・クラスは装置D0のアドレス
660、装置D1のアドレス330、装置D2のアドレ
ス000より構成され、装置D3については、エン
トリイは存在しない。小さなSIT27では、ハツ
シユ・クラスは装置の各々から取られた1つ又は
それ以上のトラツクを含むことができる。装置D
0のシリンダC0は、トラツク00−09を有する6
5の部分によつて示される。装置D0のシリンダ
C1もトラツク0−9を有するが、これらのトラ
ツクは10−19によつて示される。同様に、装置D
0内の全てのトラツクは、それぞれのシリンダに
よつて表示される。SIT27は比較的に大きく、
1つのハツシユ・クラスは所与の装置から取られ
た1つだけのトラツクを含む。実施例の場合、装
置オフセツトは66で示されるように3シリンダ
である。重複はない。即ち、SIT27のサイズに
関しては、比較的小さな装置が存在する。装置D
1のシリンダC0は67のところに現われ、装置
D2のシリンダC0は68のところに現われる。
この編成は第3図及び第4図の装置配分に従つた
ものであつて、如何なる装置のシリンダC0も他
の装置のシリンダC0とハツシユ・クラスを共用
しない。装置D2において、数字70は3つのシ
リンダ装置オフセツトを指定するが、数字71は
空のスペースを示す。即ち、SIT27のこのスペ
ースは、装置D2のためにトラツク・アドレスを
含まない。他方、DASD11のサイズに関して小
さなSIT27の場合、各ハツシユ・クラスは、各
装置から取られた2つのトラツク、各装置から取
られた3つのトラツクなどを含むことができる。
前と同じように、如何なる装置のシリンダC0
も、他の装置のシリンダC0から得られたハツシ
ユ・クラスを共用しない。この原理を拡張すれ
ば、同じようにアドレスされるシリンダは、同じ
ハツシユ・クラスの中にはないと言える。即ち、
或る装置のシリンダXは、常に他の装置のシリン
ダXとは異つたハツシユ・クラスの中にある。こ
こで、Xはシリンダ・アドレスを示す整数であ
る。
第6図はハツシユ回路34を示す論理図であ
る。ハツシユ回路34は、84にSIT27のレジ
スタ・アドレスを出力する演算回路である。この
レジスタ・アドレスは、SIT27にあるレジスタ
の数と法とする数値を有するハツシユ・クラスを
指定する。計算は、75でシリンダ・アドレスC
を2進乗算器76へ与えることによつて開始され
る。乗算器76は77で受取られたシリンダ・ウ
エイトCWとCとを乗算する。シリンダ・ウエイ
トは、当該装置における、シリンダ当りのトラツ
クの数である。結果の積は、加算器78におい
て、線79を介して与えられたトラツク・アドレ
スHへ加えられる。この積の和はモジユロN加算
器80へ与えられる。加算器80では、上記の積
の和が装置オフセツト積へ加えられる。装置オフ
セツト積は、それぞれ82及び83で受取られた
装置番号D及び装置ウエイトDWから構成され
る。装置ウエイトはSIT27のサイズ(SITにあ
るレジスタの数)/DASD装置の数である。84
で得られるSIT27のアドレス信号は、ハツシ
ユ・クラスに対するデイレクトリイ30のインデ
ツクスをフエツチするため、SIT27へアクセス
する。
る。ハツシユ回路34は、84にSIT27のレジ
スタ・アドレスを出力する演算回路である。この
レジスタ・アドレスは、SIT27にあるレジスタ
の数と法とする数値を有するハツシユ・クラスを
指定する。計算は、75でシリンダ・アドレスC
を2進乗算器76へ与えることによつて開始され
る。乗算器76は77で受取られたシリンダ・ウ
エイトCWとCとを乗算する。シリンダ・ウエイ
トは、当該装置における、シリンダ当りのトラツ
クの数である。結果の積は、加算器78におい
て、線79を介して与えられたトラツク・アドレ
スHへ加えられる。この積の和はモジユロN加算
器80へ与えられる。加算器80では、上記の積
の和が装置オフセツト積へ加えられる。装置オフ
セツト積は、それぞれ82及び83で受取られた
装置番号D及び装置ウエイトDWから構成され
る。装置ウエイトはSIT27のサイズ(SITにあ
るレジスタの数)/DASD装置の数である。84
で得られるSIT27のアドレス信号は、ハツシ
ユ・クラスに対するデイレクトリイ30のインデ
ツクスをフエツチするため、SIT27へアクセス
する。
第7図は第1図に示されるシステム10のハツ
シング動作を詳細に示す。装置アドレスCHD(C
……シリンダ、H……ヘツド、D……装置)は、
スイツチ16を介して旧ハツシユ回路23へ送ら
れる。更にレコードRのアドレスが与えられる。
これはハツシング・プロセスの1部ではない。何
故ならば、DASD11のトラツクの全ての内容が
キヤツシユ12へ転送されることができるからで
ある。レコードがDASD11の中で別個にアドレ
ス可能である場合、レコード番号Rはハツシン
グ・アルゴリズムの中へ導入されることができ
る。アドレスCHDは比較回路90へ与えられる。
比較回路90は、CH値の比較を行う。即ち、バ
ス89を介してレジスタ91へ与えられたDアド
レス信号によつて選択されたレジスタ91の内容
の1部であるCH値と比較する。Cが等しい場合
(トラツクが同一シリンダにある場合、比較回路
90は差異信号を加算器92へ与える。差異信号
は、スイツチ16から受取られたH値と、レジス
タ91に記憶されたH値との差を示す。この差
は、レジスタ91に記憶されたSITアドレスへ加
えられる。それは、第6図に関して説明したよう
にハツシングすることなくCHDのためにSITア
ドレスを発生するためである。上記の差の値に前
のSITアドレスを加えたものは、シリンダ内のト
ラツクに関してデイレクトリイ30へのインデツ
クスを含むSIT27のレジスタを指定する。従つ
て、シリンダ内の全てのトラツクについて、1度
シリンダがアクセスされると、ハツシユ結果が一
時的に保存される場合、それ以上のハツシングは
必要でない。旧SITアドレスに差異を加えた合計
は、OR回路93を介してSIT27をアドレスす
るためそこへ与えられる。アドレスされたSIT2
7のレジスタの内容は、バス95を介してデイレ
クトリイ30をアドレスするためそこへ与えられ
る。SIT27のレジスタ内容が全てゼロである場
合、キヤツシユ・ミスが表示される。
シング動作を詳細に示す。装置アドレスCHD(C
……シリンダ、H……ヘツド、D……装置)は、
スイツチ16を介して旧ハツシユ回路23へ送ら
れる。更にレコードRのアドレスが与えられる。
これはハツシング・プロセスの1部ではない。何
故ならば、DASD11のトラツクの全ての内容が
キヤツシユ12へ転送されることができるからで
ある。レコードがDASD11の中で別個にアドレ
ス可能である場合、レコード番号Rはハツシン
グ・アルゴリズムの中へ導入されることができ
る。アドレスCHDは比較回路90へ与えられる。
比較回路90は、CH値の比較を行う。即ち、バ
ス89を介してレジスタ91へ与えられたDアド
レス信号によつて選択されたレジスタ91の内容
の1部であるCH値と比較する。Cが等しい場合
(トラツクが同一シリンダにある場合、比較回路
90は差異信号を加算器92へ与える。差異信号
は、スイツチ16から受取られたH値と、レジス
タ91に記憶されたH値との差を示す。この差
は、レジスタ91に記憶されたSITアドレスへ加
えられる。それは、第6図に関して説明したよう
にハツシングすることなくCHDのためにSITア
ドレスを発生するためである。上記の差の値に前
のSITアドレスを加えたものは、シリンダ内のト
ラツクに関してデイレクトリイ30へのインデツ
クスを含むSIT27のレジスタを指定する。従つ
て、シリンダ内の全てのトラツクについて、1度
シリンダがアクセスされると、ハツシユ結果が一
時的に保存される場合、それ以上のハツシングは
必要でない。旧SITアドレスに差異を加えた合計
は、OR回路93を介してSIT27をアドレスす
るためそこへ与えられる。アドレスされたSIT2
7のレジスタの内容は、バス95を介してデイレ
クトリイ30をアドレスするためそこへ与えられ
る。SIT27のレジスタ内容が全てゼロである場
合、キヤツシユ・ミスが表示される。
異つたシリンダがアクセスされていることを比
較回路90が表示すると、新しいハツシユが起
る。アドレスCHDはバス96を介してハツシユ
回路34へ与えられる。バス96は第6図の線7
5へ接続される。ハツシユ回路34は、OR回路
93を介してSIT27をアドレスするため、バス
35へSIT27のアドレスを出力する。新しくハ
ツシングされたSIT値はレジスタ91に入れられ
る。このレジスタは、バス89を介して送られた
D値によつて指定される。
較回路90が表示すると、新しいハツシユが起
る。アドレスCHDはバス96を介してハツシユ
回路34へ与えられる。バス96は第6図の線7
5へ接続される。ハツシユ回路34は、OR回路
93を介してSIT27をアドレスするため、バス
35へSIT27のアドレスを出力する。新しくハ
ツシングされたSIT値はレジスタ91に入れられ
る。このレジスタは、バス89を介して送られた
D値によつて指定される。
バス95にあるデイレクトリイ30のアドレス
信号は、エントリイ、レジスタ100の1つを、
デイレクトリイ30におけるハツシユ・クラスの
最初のエントリイとして選択する。アクセスされ
たレジスタは、バス101を介して比較回路10
2へDCH値を与える。比較のためレコード値R
が与えられる場合、レジスタ100のフイールド
111にあるレコード値も比較回路102へ与え
られる。比較回路102は、レジスタ100に記
憶されたDASDアドレスとバス103上で受取ら
れたアドレスとを比較する。比較が不等価であれ
ば、比較回路102は、HLフイールド107に
アクセスするため、バス106を介してアクセス
信号を送る。HLフイールド107は、単一的に
リンクされたリストの1部分である。この部分
は、同一ハツシユ・クラスのエントリイを含む次
のレジスタ100のアドレスを指示する。次のレ
ジスタ100は、線31によつて示されるように
アクセスされる。HLフイールド107がEOC
(連鎖の終り)を示す時、線108上にミスが表
示される。線108は第1図の線33に対応す
る。
信号は、エントリイ、レジスタ100の1つを、
デイレクトリイ30におけるハツシユ・クラスの
最初のエントリイとして選択する。アクセスされ
たレジスタは、バス101を介して比較回路10
2へDCH値を与える。比較のためレコード値R
が与えられる場合、レジスタ100のフイールド
111にあるレコード値も比較回路102へ与え
られる。比較回路102は、レジスタ100に記
憶されたDASDアドレスとバス103上で受取ら
れたアドレスとを比較する。比較が不等価であれ
ば、比較回路102は、HLフイールド107に
アクセスするため、バス106を介してアクセス
信号を送る。HLフイールド107は、単一的に
リンクされたリストの1部分である。この部分
は、同一ハツシユ・クラスのエントリイを含む次
のレジスタ100のアドレスを指示する。次のレ
ジスタ100は、線31によつて示されるように
アクセスされる。HLフイールド107がEOC
(連鎖の終り)を示す時、線108上にミスが表
示される。線108は第1図の線33に対応す
る。
比較回路102が等価を示す時、キヤツシユ1
2のヒツトが起つている。比較回路102によつ
て線104へ与えられた信号は、アドレス発生器
105を能動化する。アドレス発生器105はバ
ス106′からデイレクトリイ30のアドレスを
取り(バス95又はHLフイールド107を介す
るアクセス)、このアドレスに基いてキヤツシユ
12のアドレスを発生する。キヤツシユ・アドレ
スは、キヤツシユ12にアクセスするため、バス
32へ与えられる。アドレス発生器105は、キ
ヤツシユ12のオフセツト・アドレスを計算する
ため、レジスタ100のオフセツト・アドレスに
或る定数をかけあわせる。この定数は、エントリ
イ・レジスタ(ハツシユ・レジスタ)100にお
けるバイト数に対するキヤツシユ12中のアドレ
ス可能セグメントのバイト数の率を示す値であ
る。次に、キヤツシユ12のオフセツトがキヤツ
シユ12のベース・アドレスに加えられ、キヤツ
シユ12のアドレスが得られる。計算する代り
に、各デイレクトリイに対する計算結果を、各デ
イレクトリイ・エントリイと共に、物理的又は論
理的に記憶することもできる。
2のヒツトが起つている。比較回路102によつ
て線104へ与えられた信号は、アドレス発生器
105を能動化する。アドレス発生器105はバ
ス106′からデイレクトリイ30のアドレスを
取り(バス95又はHLフイールド107を介す
るアクセス)、このアドレスに基いてキヤツシユ
12のアドレスを発生する。キヤツシユ・アドレ
スは、キヤツシユ12にアクセスするため、バス
32へ与えられる。アドレス発生器105は、キ
ヤツシユ12のオフセツト・アドレスを計算する
ため、レジスタ100のオフセツト・アドレスに
或る定数をかけあわせる。この定数は、エントリ
イ・レジスタ(ハツシユ・レジスタ)100にお
けるバイト数に対するキヤツシユ12中のアドレ
ス可能セグメントのバイト数の率を示す値であ
る。次に、キヤツシユ12のオフセツトがキヤツ
シユ12のベース・アドレスに加えられ、キヤツ
シユ12のアドレスが得られる。計算する代り
に、各デイレクトリイに対する計算結果を、各デ
イレクトリイ・エントリイと共に、物理的又は論
理的に記憶することもできる。
デイレクトリイ30はフイールド111,10
7の外にインデツクス・フイールド110を含
む。フイールド110はデイレクトリイ・エント
リイを指定するのに有用である。フイールド11
2はレコードRのセクタ値を含み、フイールド1
13は論理シリンダ数を含み(例えばリアル・デ
イスク上の仮想デイスクに対して与えられる)、
フイールド114は本発明の理解に無関係の種々
の制御フラグを含む。フイールド115及び11
6は、それぞれLRU(least recently used)リス
トにおける後方ポインタ及び前方ポインタ及び後
方ポインタを示す。このリストは、バツフア管理
技術において周知の如く、キヤツシユ12のスペ
ース管理に関連して使用される。
7の外にインデツクス・フイールド110を含
む。フイールド110はデイレクトリイ・エント
リイを指定するのに有用である。フイールド11
2はレコードRのセクタ値を含み、フイールド1
13は論理シリンダ数を含み(例えばリアル・デ
イスク上の仮想デイスクに対して与えられる)、
フイールド114は本発明の理解に無関係の種々
の制御フラグを含む。フイールド115及び11
6は、それぞれLRU(least recently used)リス
トにおける後方ポインタ及び前方ポインタ及び後
方ポインタを示す。このリストは、バツフア管理
技術において周知の如く、キヤツシユ12のスペ
ース管理に関連して使用される。
第8図は本発明の実施例を示す。DSDA11の
2つのストリングは、キヤツシユ12と通信する
と共に入出力接続線13を介してホスト(図示せ
ず)と通信する。入出力接続線はチヤネル・アダ
プタ120(CAA,CAB,CAC,CADを含む)
によつて制御される。これらのチヤネル・アダプ
タはIBM370シリーズ・コンピユータで使用され
る入出力接続論理設計を採用している。プロセツ
サ121は、バス122及びチヤネル・アダプタ
120を介してホストと通信する。例えば、ホス
トによつて与えられた周辺指令は、バス122を
介してプロセツサ121へ転送される。プロセツ
サ121は、バス123を介してシステム・スト
レージ124とも通信する。システム・ストレー
ジ124はキヤツシユ12、デイレクトリイ3
0、SIT27を含む。システム・ストレージ12
4は、半導体で構成された高速ランダム・アクセ
ス・メモリであることが望ましい。キヤツシユ1
2、SIT27、及びデイレクトリイ30に対する
全てのアドレシングは、ベース・アドレスにオフ
セツトを加えることにより行われる。
2つのストリングは、キヤツシユ12と通信する
と共に入出力接続線13を介してホスト(図示せ
ず)と通信する。入出力接続線はチヤネル・アダ
プタ120(CAA,CAB,CAC,CADを含む)
によつて制御される。これらのチヤネル・アダプ
タはIBM370シリーズ・コンピユータで使用され
る入出力接続論理設計を採用している。プロセツ
サ121は、バス122及びチヤネル・アダプタ
120を介してホストと通信する。例えば、ホス
トによつて与えられた周辺指令は、バス122を
介してプロセツサ121へ転送される。プロセツ
サ121は、バス123を介してシステム・スト
レージ124とも通信する。システム・ストレー
ジ124はキヤツシユ12、デイレクトリイ3
0、SIT27を含む。システム・ストレージ12
4は、半導体で構成された高速ランダム・アクセ
ス・メモリであることが望ましい。キヤツシユ1
2、SIT27、及びデイレクトリイ30に対する
全てのアドレシングは、ベース・アドレスにオフ
セツトを加えることにより行われる。
プロセツサ121はバス130を介してDASD
11と通信する。バス130はデータ・フロー回
路131及び装置アダプタ132,132′へ延
長される。装置アダプタ132,132′の各々
はDASD11の1つのストリングを制御すると共
にそれにアクセスし、既知の技術を使用して構成
されている。データ・フロー回路131は直列化
器、その他デイスク記憶装置で通常使用される回
路を含むことができる。DASD11へ直接にアク
セスするため、データ・フロー回路131とチヤ
ネル・アダプタ120との間にバス133が設け
られる。バス134は、データ・フロー回路13
1をシステム・ストレージ124(従つてキヤツ
シユ12)へ接続する。バス135はシステム・
ストレージ124をチヤネル・アダプタ120へ
接続する。第1図のスイツチ16の機能は、既知
の電子技術を用いてチヤネル・アダプタ120の
中で実行され、スイツチ18の機能は、データ・
フロー回路131の中で実行される。
11と通信する。バス130はデータ・フロー回
路131及び装置アダプタ132,132′へ延
長される。装置アダプタ132,132′の各々
はDASD11の1つのストリングを制御すると共
にそれにアクセスし、既知の技術を使用して構成
されている。データ・フロー回路131は直列化
器、その他デイスク記憶装置で通常使用される回
路を含むことができる。DASD11へ直接にアク
セスするため、データ・フロー回路131とチヤ
ネル・アダプタ120との間にバス133が設け
られる。バス134は、データ・フロー回路13
1をシステム・ストレージ124(従つてキヤツ
シユ12)へ接続する。バス135はシステム・
ストレージ124をチヤネル・アダプタ120へ
接続する。第1図のスイツチ16の機能は、既知
の電子技術を用いてチヤネル・アダプタ120の
中で実行され、スイツチ18の機能は、データ・
フロー回路131の中で実行される。
プロセツサ121は制御ストレージ140を有
する。制御ストレージ140は高速ランダム・ア
クセス・メモリであり、ハツシユ回路34の機能
を実行するマイクロコード形コンピユータ・プロ
グラム34Pを含む。制御ストレージには、
LDCBレジスタ25Pも含まれる。更に、記憶シ
ステム10を通常の態様で制御するため、他のプ
ログラム141が含まれている。他方、プロセツ
サ121は、マイクロコードの実行速度を早める
ため、複数の高速レジスタ142を含む。レジス
タ142は、プロセツサのために、スクラツチ・
パツド又は作業スペースを形成する。SITレジス
タ143はSIT27の1ページを含み、この1ペ
ージはプロセツサ121によつて処理される。即
ち、1度プログラム34Pがプロセツト121に
よつて実行されると、ハツシユの1つ又は2つの
シリンダに対応するSIT27の1ページがレジス
タ143へ転送され、旧ハツシユ回路23の手法
が実行される。更に、デイレクトリイ30の探索
は、デイレクトリイ・レジスタ144に対するデ
イレクトリイ・エントリイの1ページの転送を生
じる。それは迅速処理を達成するためである。こ
のようにして、制御目的のためのシステム・スト
レージ124のアクセスは最少にされるので、デ
ータ処理信号の転送と、プロセツサ121による
制御処理が重複して実行される。4つのチヤネ
ル・アダプタが設けられるので、4つの異つた動
作が同時に実行されてよい。更に、独立した動作
がDASD11によつて実行されることができるの
で、プロセツサ121は、できるだけシステム・
ストレージ124から独立して処理を実行するこ
とができなければならない。第8図に示される装
置の動作は第9図乃至第11図を参照して、より
良く理解することができる。注意すべきは、プロ
グラム141が、プログラミング及びデータ処理
技術において周知の遊び走査又はデイスパツチン
グ機能を含むことである。
する。制御ストレージ140は高速ランダム・ア
クセス・メモリであり、ハツシユ回路34の機能
を実行するマイクロコード形コンピユータ・プロ
グラム34Pを含む。制御ストレージには、
LDCBレジスタ25Pも含まれる。更に、記憶シ
ステム10を通常の態様で制御するため、他のプ
ログラム141が含まれている。他方、プロセツ
サ121は、マイクロコードの実行速度を早める
ため、複数の高速レジスタ142を含む。レジス
タ142は、プロセツサのために、スクラツチ・
パツド又は作業スペースを形成する。SITレジス
タ143はSIT27の1ページを含み、この1ペ
ージはプロセツサ121によつて処理される。即
ち、1度プログラム34Pがプロセツト121に
よつて実行されると、ハツシユの1つ又は2つの
シリンダに対応するSIT27の1ページがレジス
タ143へ転送され、旧ハツシユ回路23の手法
が実行される。更に、デイレクトリイ30の探索
は、デイレクトリイ・レジスタ144に対するデ
イレクトリイ・エントリイの1ページの転送を生
じる。それは迅速処理を達成するためである。こ
のようにして、制御目的のためのシステム・スト
レージ124のアクセスは最少にされるので、デ
ータ処理信号の転送と、プロセツサ121による
制御処理が重複して実行される。4つのチヤネ
ル・アダプタが設けられるので、4つの異つた動
作が同時に実行されてよい。更に、独立した動作
がDASD11によつて実行されることができるの
で、プロセツサ121は、できるだけシステム・
ストレージ124から独立して処理を実行するこ
とができなければならない。第8図に示される装
置の動作は第9図乃至第11図を参照して、より
良く理解することができる。注意すべきは、プロ
グラム141が、プログラミング及びデータ処理
技術において周知の遊び走査又はデイスパツチン
グ機能を含むことである。
第9図に示されるLDCBレジスタ25Pは、キ
ヤツシユ12の特定のアクセスに関連したDASD
11のアドレスを含む。例えば、フイールド15
0に含まれるシーク・アドレスはシリンダを限定
し、フイールド151及び152にあるSIDアド
レス及びセクタは、DASD11でどのトラツク又
はトラツク部分がアドレスされるべきであるかを
指定する。フイールド153のインデツクスは第
7図のフイールド110にあるインデツクスに対
応する。フイールド154のキヤツシユ・アドレ
スは、アドレス発生器105及びプログラム14
1によつて発生されたキヤツシユ・アドレスであ
る。フイールド155にあるシーケンス・ビツト
は、連続的にアドレスされる一連のブロツクがシ
ーケンシヤル・モードで転送されることを示す。
シーケンス・ビツトは、ホストから受取られたモ
ード設定指令によつてセツトされる。モード設定
指令は、システム10によつて実行されるべき動
作の種類を示す。省略符号156はレジスタ25
Pが本発明の理解には関連のない他のエントリイ
を含んでよいことを示す。
ヤツシユ12の特定のアクセスに関連したDASD
11のアドレスを含む。例えば、フイールド15
0に含まれるシーク・アドレスはシリンダを限定
し、フイールド151及び152にあるSIDアド
レス及びセクタは、DASD11でどのトラツク又
はトラツク部分がアドレスされるべきであるかを
指定する。フイールド153のインデツクスは第
7図のフイールド110にあるインデツクスに対
応する。フイールド154のキヤツシユ・アドレ
スは、アドレス発生器105及びプログラム14
1によつて発生されたキヤツシユ・アドレスであ
る。フイールド155にあるシーケンス・ビツト
は、連続的にアドレスされる一連のブロツクがシ
ーケンシヤル・モードで転送されることを示す。
シーケンス・ビツトは、ホストから受取られたモ
ード設定指令によつてセツトされる。モード設定
指令は、システム10によつて実行されるべき動
作の種類を示す。省略符号156はレジスタ25
Pが本発明の理解には関連のない他のエントリイ
を含んでよいことを示す。
次に第10図を参照すると、そこにはプログラ
ム23Pによつて実行される旧ハツシユ機能が詳
細なマシン動作のフローとして示される。マシン
動作の開始は160で始まる。これはプログラム
23Pの能動化に対応する。最初のステツプはレ
ジスタ25Pへアクセスすることである。それ
は、フイールド155のシーケンス・ビツトがセ
ツトされていてシーケンシヤル・モードを示すか
どうかを決定するためである。或るブロツクがア
クセスされる時、同一のシリンダ又は隣接したト
ラツクにある次のデータ・ブロツクがアクセスさ
れる高い確率が存在する。本実施例において、シ
ーケンシヤル・モードで使用されるアドレスのみ
が、旧ハツシユ原理を使用する。非シーケンシヤ
ル・モードの場合、プログラム34Pによつて実
行されるハツシユ動作が論理通路200を介して
能動化される。ステツプ161がシーケンシヤ
ル・モードを示す時、プロセツサ121はレコー
ドRに対する受信アドレスRDCHを内部レジス
タIR(図示せず)へ転送する。163で、プロセ
ツサ121は、チヤネル・アダプタ120を介し
て、受取られたアドレスRDCHと、そのアドレ
スに対して許されたアドレス範囲とを比較する。
即ち、ホストは「範囲限定」指令を送り、この指
令は、所与のチヤネル・アダプタ120を含む所
与のチヤネル通路のためにアクセス限界を設定す
る。もしアドレスRDCHが限定されたアドレス
範囲の外にあれば、プロセツサ121は論理通路
164をたどり、ホストへエラー状態を知らせ
る。そうでなければ、166で、プロセツサ12
1は、受取られたRDCHと、レジスタ91の最
後のアドレスとを比較する。レジスタ91は、第
8図においてはレジスタ142に含まれる。もし
受取られたアドレスRDCHとレジスタ91にあ
る最後のアドレスとの差が1より大きければ、論
理通路200を介してハツシユ動作が能動化され
る。トラツク・アドレスHが1だけ異なる時、シ
リンダ境界と無関係にレジスタ91の内容へ1が
加えられる。それはSIT27のアドレスを1だけ
増加させたり減少させたりするためである。隣接
したSIT27のレジスタが、ハツシングなしにデ
イレクトリイ30へアクセスできるように読出さ
れる。シーケンシヤル・モードでは、キヤツシユ
12の複数のデータ・ブロツクにアクセスするた
め、1つのハツシユ動作のみが必要となる。
ム23Pによつて実行される旧ハツシユ機能が詳
細なマシン動作のフローとして示される。マシン
動作の開始は160で始まる。これはプログラム
23Pの能動化に対応する。最初のステツプはレ
ジスタ25Pへアクセスすることである。それ
は、フイールド155のシーケンス・ビツトがセ
ツトされていてシーケンシヤル・モードを示すか
どうかを決定するためである。或るブロツクがア
クセスされる時、同一のシリンダ又は隣接したト
ラツクにある次のデータ・ブロツクがアクセスさ
れる高い確率が存在する。本実施例において、シ
ーケンシヤル・モードで使用されるアドレスのみ
が、旧ハツシユ原理を使用する。非シーケンシヤ
ル・モードの場合、プログラム34Pによつて実
行されるハツシユ動作が論理通路200を介して
能動化される。ステツプ161がシーケンシヤ
ル・モードを示す時、プロセツサ121はレコー
ドRに対する受信アドレスRDCHを内部レジス
タIR(図示せず)へ転送する。163で、プロセ
ツサ121は、チヤネル・アダプタ120を介し
て、受取られたアドレスRDCHと、そのアドレ
スに対して許されたアドレス範囲とを比較する。
即ち、ホストは「範囲限定」指令を送り、この指
令は、所与のチヤネル・アダプタ120を含む所
与のチヤネル通路のためにアクセス限界を設定す
る。もしアドレスRDCHが限定されたアドレス
範囲の外にあれば、プロセツサ121は論理通路
164をたどり、ホストへエラー状態を知らせ
る。そうでなければ、166で、プロセツサ12
1は、受取られたRDCHと、レジスタ91の最
後のアドレスとを比較する。レジスタ91は、第
8図においてはレジスタ142に含まれる。もし
受取られたアドレスRDCHとレジスタ91にあ
る最後のアドレスとの差が1より大きければ、論
理通路200を介してハツシユ動作が能動化され
る。トラツク・アドレスHが1だけ異なる時、シ
リンダ境界と無関係にレジスタ91の内容へ1が
加えられる。それはSIT27のアドレスを1だけ
増加させたり減少させたりするためである。隣接
したSIT27のレジスタが、ハツシングなしにデ
イレクトリイ30へアクセスできるように読出さ
れる。シーケンシヤル・モードでは、キヤツシユ
12の複数のデータ・ブロツクにアクセスするた
め、1つのハツシユ動作のみが必要となる。
代替的方法として、比較ステツプ166は、受取
られたアドレスRDCHがレジスタ91に記憶さ
れたアドレスと同じシリンダにあるかどうかを決
定するため、比較動作を実行する。その場合、受
取られたアドレスと記憶されたアドレスとの差異
値は、SIT27のレジスタのオフセツト・アドレ
スを指示する。これのレジスタは、受取られた
RDCH及びレジスタ91に記憶されたアドレス
に対応するポインタを含む。次に、この差異値は
レジスタ91へ加算されるか又はそこから減算さ
れ、デイレクトリイ30をインデツクスするSIT
27のレジスタが得られる。
られたアドレスRDCHがレジスタ91に記憶さ
れたアドレスと同じシリンダにあるかどうかを決
定するため、比較動作を実行する。その場合、受
取られたアドレスと記憶されたアドレスとの差異
値は、SIT27のレジスタのオフセツト・アドレ
スを指示する。これのレジスタは、受取られた
RDCH及びレジスタ91に記憶されたアドレス
に対応するポインタを含む。次に、この差異値は
レジスタ91へ加算されるか又はそこから減算さ
れ、デイレクトリイ30をインデツクスするSIT
27のレジスタが得られる。
本実施例において、データが必要とされる前
に、そのデータをキヤツシユへ転送することは、
所与のシリンダ(即ち、遅延境界の所与の組)の
中に存在するデータに限ることとした。しかし、
本発明の他の実施にあたつては、このような制限
は存在しない。170では、受取られたアドレス
RDCHがレジスタ91にある最後のアドレスと
同じシリンダにあるかどうかを決定するため、シ
リンダ境界が検査される。もしRDCHがシリン
ダの外にあれば、プロセツサ121は171から
論理通路172をたどつてミスを知らせる。即
ち、プロセツサ121は、データがキヤツシユ1
2へ転送されなかつたことを知る。他方、
RDCHがレジスタ91に記憶されたアドレスと
同じシリンダにあれば、173でデイレクトリイ
30のアドレスがSIT27からフエツチされ、前
述したハツシユ・クラスの探索が実行される。探
索が終ると、プロセツサ124は、174で、デ
ータがキヤツシユ30にあるかどうかを決定す
る。例えば、SIT27のエントリイがオール・ゼ
ロであれば、即時にミスが表示される。そうでな
ければ、デイレクトリイ30のハツシユ・クラス
が順次に探索される。ミスの場合、通常の割当て
及びデータ転送の手順がとられる。ヒツトの場
合、プロセツサ121は、175で、データが固
定(ピン)されるか、又はキヤツシユ30へ送ら
れ得るかを決定する。固定化(pinning又は
binding)は、データが解放されるまで、キヤツ
シユ30にとどまつていなければならないことを
意味し、従つてそのようなデータは置換アルゴリ
ズムの対象とならない。固定されたデータについ
ては、論理通路180がとられ、キヤツシユ12
のデータにアクセスし又はキヤツシユ12にデー
タを記憶する準備を実行する。データが固定され
ていなければ、176で、レコードRは置換アル
ゴリズムの中で最も近時に使用された(MRU)
データであるとされる。次に、論理通路180が
とられる。
に、そのデータをキヤツシユへ転送することは、
所与のシリンダ(即ち、遅延境界の所与の組)の
中に存在するデータに限ることとした。しかし、
本発明の他の実施にあたつては、このような制限
は存在しない。170では、受取られたアドレス
RDCHがレジスタ91にある最後のアドレスと
同じシリンダにあるかどうかを決定するため、シ
リンダ境界が検査される。もしRDCHがシリン
ダの外にあれば、プロセツサ121は171から
論理通路172をたどつてミスを知らせる。即
ち、プロセツサ121は、データがキヤツシユ1
2へ転送されなかつたことを知る。他方、
RDCHがレジスタ91に記憶されたアドレスと
同じシリンダにあれば、173でデイレクトリイ
30のアドレスがSIT27からフエツチされ、前
述したハツシユ・クラスの探索が実行される。探
索が終ると、プロセツサ124は、174で、デ
ータがキヤツシユ30にあるかどうかを決定す
る。例えば、SIT27のエントリイがオール・ゼ
ロであれば、即時にミスが表示される。そうでな
ければ、デイレクトリイ30のハツシユ・クラス
が順次に探索される。ミスの場合、通常の割当て
及びデータ転送の手順がとられる。ヒツトの場
合、プロセツサ121は、175で、データが固
定(ピン)されるか、又はキヤツシユ30へ送ら
れ得るかを決定する。固定化(pinning又は
binding)は、データが解放されるまで、キヤツ
シユ30にとどまつていなければならないことを
意味し、従つてそのようなデータは置換アルゴリ
ズムの対象とならない。固定されたデータについ
ては、論理通路180がとられ、キヤツシユ12
のデータにアクセスし又はキヤツシユ12にデー
タを記憶する準備を実行する。データが固定され
ていなければ、176で、レコードRは置換アル
ゴリズムの中で最も近時に使用された(MRU)
データであるとされる。次に、論理通路180が
とられる。
第11図はプログラム34Pの動作を示す。旧
ハツシユ動作を実行するプログラム23Pが異な
るシリンダのアクセスを表示すると、プロセツサ
121はステツプ201への論理通路200をたど
る。それは、レジスタ25PからアドレスDCH
をとり、それをレジスタ142に置くためであ
る。ステツプ202及び203は、第1図のハツシユ回
路34に対応する機能を実行する。ステツプ202
は、ステツプ202に表示された等式に従つてSIT
27のアドレスを発生し、そのアドレスをレジス
タ142へ記憶する。ここで注意すべきはSIT2
7の法の2倍の値が使用されていることである。
即ち、Nではなく2Nが使用されている。203でハ
ツシユ・オフセツト(HO)がレジスタ142の
内容に等しくされ、ハツシユ・シリンダ(HC)
がレジスタ142の内容を2で除算した値にされ
る。204で、システム・ストレージ124の中に
含まれHO及びHCによつて指定されたSIT27
のレジスタ内容が、レジスタ143へ転送され
る。205で、HCに対応するレジスタ143が、
デイレクトリイ30中のエントリイに対するポイ
ンタを得るため読出される。このエントリイはハ
ツシユ値に対応する。次にデイレクトリイ30
は、ステツプ217から始まる探索ループ210の中で
探索される。連鎖の終り(EOC、ハツシユ・ク
ラスの終り)は常に217で検出される。もしSIT
27がゼロのエントリイを有すれば、連鎖の終り
は217で表示される。
ハツシユ動作を実行するプログラム23Pが異な
るシリンダのアクセスを表示すると、プロセツサ
121はステツプ201への論理通路200をたど
る。それは、レジスタ25PからアドレスDCH
をとり、それをレジスタ142に置くためであ
る。ステツプ202及び203は、第1図のハツシユ回
路34に対応する機能を実行する。ステツプ202
は、ステツプ202に表示された等式に従つてSIT
27のアドレスを発生し、そのアドレスをレジス
タ142へ記憶する。ここで注意すべきはSIT2
7の法の2倍の値が使用されていることである。
即ち、Nではなく2Nが使用されている。203でハ
ツシユ・オフセツト(HO)がレジスタ142の
内容に等しくされ、ハツシユ・シリンダ(HC)
がレジスタ142の内容を2で除算した値にされ
る。204で、システム・ストレージ124の中に
含まれHO及びHCによつて指定されたSIT27
のレジスタ内容が、レジスタ143へ転送され
る。205で、HCに対応するレジスタ143が、
デイレクトリイ30中のエントリイに対するポイ
ンタを得るため読出される。このエントリイはハ
ツシユ値に対応する。次にデイレクトリイ30
は、ステツプ217から始まる探索ループ210の中で
探索される。連鎖の終り(EOC、ハツシユ・ク
ラスの終り)は常に217で検出される。もしSIT
27がゼロのエントリイを有すれば、連鎖の終り
は217で表示される。
所与のハツシユ・クラス内でデイレクトリイ3
0を探索するためには、デイレクトリイ30の1
部をレジスタ144へ転送しなければならない。
この転送はデイレクトリイ30の探索ループ210
内で暗黙的に示される。ループ210は、比較回路
102を含む第7図に対応する。211ではデイレ
クトリイ30のエントリイが読出され、レジスタ
144へ転送される。212で、デイレクトリイの
エントリイに含まれるDASDアドレスの値DCH
が、ホストから受取られかつステツプ201でレジ
スタ142に記憶されたDCH値と比較される。
比較が一致しない時、走査は継続しなければなら
ない。従つてプロセツサ121は、検査されるべ
き次のデイレクトリイ30のエントリイを指定す
るため、論理通路215を通つてリンク・ポイン
タを読出す。217では、リンク・ポインタの内容
が検査され、それが連鎖の終り(EOC)である
かどうか決定される。もし連鎖の終りであれば、
キヤツシユ・ミスが起つており、218でレジスタ
142のミス・フラグがセツトされる。このフラ
グは後にプロセツサ121によつて使用される。
次にプログラムは通路214から出て、データ処
理技術で知られるように、指令の実行を続ける。
ハツシユ・クラスが217で終らない場合、ステツ
プ211及び212が反復される。ループは、212でヒ
ツトが表示されるまで継続する。
0を探索するためには、デイレクトリイ30の1
部をレジスタ144へ転送しなければならない。
この転送はデイレクトリイ30の探索ループ210
内で暗黙的に示される。ループ210は、比較回路
102を含む第7図に対応する。211ではデイレ
クトリイ30のエントリイが読出され、レジスタ
144へ転送される。212で、デイレクトリイの
エントリイに含まれるDASDアドレスの値DCH
が、ホストから受取られかつステツプ201でレジ
スタ142に記憶されたDCH値と比較される。
比較が一致しない時、走査は継続しなければなら
ない。従つてプロセツサ121は、検査されるべ
き次のデイレクトリイ30のエントリイを指定す
るため、論理通路215を通つてリンク・ポイン
タを読出す。217では、リンク・ポインタの内容
が検査され、それが連鎖の終り(EOC)である
かどうか決定される。もし連鎖の終りであれば、
キヤツシユ・ミスが起つており、218でレジスタ
142のミス・フラグがセツトされる。このフラ
グは後にプロセツサ121によつて使用される。
次にプログラムは通路214から出て、データ処
理技術で知られるように、指令の実行を続ける。
ハツシユ・クラスが217で終らない場合、ステツ
プ211及び212が反復される。ループは、212でヒ
ツトが表示されるまで継続する。
キヤツシユ・ビツトが生じると、プロセツサ1
21は、キヤツシユ・アドレスを発生するため、
論理通路104を通つてステツプ213へ進む。ス
テツプ213は第7図のアドレス発生器105に対
応する。キヤツシユ・アドレスはレジスタ144
にあるデイレクトリイ30のエントリイのアドレ
スに基いて発生される。上記エントリイは、キヤ
ツシユ・アドレスを発生するため、所定の態様で
変更されている。即ち、キヤツシユ12のそれぞ
れのアドレス可能セグメントについてデイレクト
リイ30の1つのエントリイが存在する。従つ
て、空間的関係を設定することができる。次に、
エントリイ・レジスタ100におけるフイールド
110のインデツクスがレジスタ25Pのフイー
ルド153へセツトされる。またレジスタ142
にあるヒツト・フラグ(図示せず)がセツトさ
れ、キヤツシユ12の指定されたセグメントを最
も近時に使用されたセグメントとするため、エン
トリイ・レジスタ100におけるフイールド11
5及び116の後方ポインタ及び前方ポインタを
調整することによつてLRUリストが更新される。
LRUリストの更新は周知であり、従つて説明を
省略する。受取られたアドレスRDCH及びSIT2
7のアドレスはレジスタ91に記憶される。
21は、キヤツシユ・アドレスを発生するため、
論理通路104を通つてステツプ213へ進む。ス
テツプ213は第7図のアドレス発生器105に対
応する。キヤツシユ・アドレスはレジスタ144
にあるデイレクトリイ30のエントリイのアドレ
スに基いて発生される。上記エントリイは、キヤ
ツシユ・アドレスを発生するため、所定の態様で
変更されている。即ち、キヤツシユ12のそれぞ
れのアドレス可能セグメントについてデイレクト
リイ30の1つのエントリイが存在する。従つ
て、空間的関係を設定することができる。次に、
エントリイ・レジスタ100におけるフイールド
110のインデツクスがレジスタ25Pのフイー
ルド153へセツトされる。またレジスタ142
にあるヒツト・フラグ(図示せず)がセツトさ
れ、キヤツシユ12の指定されたセグメントを最
も近時に使用されたセグメントとするため、エン
トリイ・レジスタ100におけるフイールド11
5及び116の後方ポインタ及び前方ポインタを
調整することによつてLRUリストが更新される。
LRUリストの更新は周知であり、従つて説明を
省略する。受取られたアドレスRDCH及びSIT2
7のアドレスはレジスタ91に記憶される。
第1図は本発明の装置を使用する階層記憶シス
テムのブロツク図、第2図は本発明の装置で実行
されるハツシユ・アドレシングに対するデイスク
記憶装置の構造的関係を示す図、第3図及び第4
図は第1図の階層記憶システムで使用されるスキ
ヤタ・インデツクス・テーブルのアドレス・スペ
ース内に配分されたデイスク装置のアドレスを示
す図、第5図は第1図の階層記憶システムが複数
の装置を含む場合のハツシユ・アドレス配分を示
すマツプ、第6図は第1図に示されたシステムの
中でハツシユ方法を実行する回路の論理図、第7
図は本発明の装置で使用されるデイレクトリイの
構成及び関連した制御回路を示す図、第8図は本
発明の代替的実施例を示す図、第9図は第8図の
システムと結合して使用される論理装置制御ブロ
ツク(LDCB)のデータ構成を示す図、第10図
は第8図に示されるシステムにおいて遅延アクセ
ス境界内のシーケンシヤル・トラツクのハツシン
グを避けるマシン動作を示す論理フロー図、第1
1図は第8図に示されるシステムにおいてハツシ
ング実行方法を示す論理フロー図である。 10……階層周辺記憶システム、11……直接
アクセス記憶装置、12……キヤツシユ、20…
…コントロール、23……旧ハツシユ回路、25
……論理装置制御ブロツク(LDCB)レジスタ、
27……スキヤタ・インデツクス・テーブル
(SIT)、30……デイレクトリイ、34……ハツ
シユ回路。
テムのブロツク図、第2図は本発明の装置で実行
されるハツシユ・アドレシングに対するデイスク
記憶装置の構造的関係を示す図、第3図及び第4
図は第1図の階層記憶システムで使用されるスキ
ヤタ・インデツクス・テーブルのアドレス・スペ
ース内に配分されたデイスク装置のアドレスを示
す図、第5図は第1図の階層記憶システムが複数
の装置を含む場合のハツシユ・アドレス配分を示
すマツプ、第6図は第1図に示されたシステムの
中でハツシユ方法を実行する回路の論理図、第7
図は本発明の装置で使用されるデイレクトリイの
構成及び関連した制御回路を示す図、第8図は本
発明の代替的実施例を示す図、第9図は第8図の
システムと結合して使用される論理装置制御ブロ
ツク(LDCB)のデータ構成を示す図、第10図
は第8図に示されるシステムにおいて遅延アクセ
ス境界内のシーケンシヤル・トラツクのハツシン
グを避けるマシン動作を示す論理フロー図、第1
1図は第8図に示されるシステムにおいてハツシ
ング実行方法を示す論理フロー図である。 10……階層周辺記憶システム、11……直接
アクセス記憶装置、12……キヤツシユ、20…
…コントロール、23……旧ハツシユ回路、25
……論理装置制御ブロツク(LDCB)レジスタ、
27……スキヤタ・インデツクス・テーブル
(SIT)、30……デイレクトリイ、34……ハツ
シユ回路。
Claims (1)
- 【特許請求の範囲】 1 それぞれが複数のアドレス可能メモリ・セグ
メントを有する複数のアドレス可能ユニツトを有
するバツキング・ストアと、該バツキング・スト
アのためのバツフアとして使用されるアドレス可
能バツフア・セグメントを有するバツフア・メモ
リとを具備する記憶システムにおいて、与えられ
たバツキング・ストアのアドレスに応答して上記
バツフア・セグメントをアドレスするための、下
記構成要件(イ)−(ホ)を有するアドレシング装置。 (イ) 上記アドレス可能ユニツトのアドレス及び上
記メモリ・セグメントのアドレスを含む上記メ
モリ・セグメントに関連した信号を記憶したデ
イレクトリイ・ユニツト。このデイレクトリ
イ・ユニツトは複数のアドレス可能エントリイ
を有し、該エントリイの各々は或る所定の数
(自然数)のアドレス・クラスの1つに対応づ
けられている。アドレス・クラスごとに当該ア
ドレス・クラスに対応づけられたエントリイ同
士をリンクするリンク手段が設けられている。 (ロ) 上記所定の数に等しいアドレス可能レジスタ
を具備し、各レジスタは上記リンク手段の1つ
のアドレスを記憶している、インデツクス・テ
ーブル。 (ハ) 上記アドレス可能ユニツトのアドレス及び上
記メモリ・セグメントのアドレスを含む上記バ
ツキング・ストアのアドレスを受取つて、上記
インデツクス・テーブルに含まれるアドレス可
能レジスタの1つのアドレスを発生する手段。 当該手段は、さらに以下の要素からなる。 (i) 上記アドレス可能ユニツトのアドレス毎
に、1から上記所定の数までの範囲の自然数
の中から当該アドレス可能ユニツトに固有な
数値を予め決定しておき、上記アドレス可能
ユニツトのアドレスを受け取る度に、該受け
取つたアドレス可能ユニツトのアドレスに固
有の数値を発生する手段。 (ii) 上記メモリ・セグメントのアドレスを受け
取つて、該受け取つたメモリ・セグメントの
アドレスのみに基づいて数値を発生する手
段。 (iii) 上記手段(i)によつて発生された数値と上記
手段(ii)によつて発生された数値を加算し、該
加算結果の上記所定の数による除算を実行
し、その剰余を求める手段。該剰余をもつて
上記アドレス可能レジスタの1つのアドレス
とする。 (ニ) 上記発生されたアドレスに応答して、上記イ
ンデツクス・テーブルの1つのアドレス可能レ
ジスタをアドレスし、このアドレスされたレジ
スタの内容に基いて上記デイレクトリイ・ユニ
ツトのアドレス可能エントリイのリンク手段の
1つをアドレスする手段。 (ホ) 上記バツキング・ストアのアドレス及び上記
アドレスされたリンク手段に対応づけられたエ
ントリイに記憶された信号を受取つて、上記バ
ツキング・ストアのアドレスに応答するバツフ
ア・セグメントのアドレスを決定する手段。 2 上記複数のアドレス可能ユニツトは相等しい
DASDであり、 上記バツキング・ストアのアドレスは、上記
DASDのアドレス(D)、DASD内のシリンダのアド
レス(C)、シリンダ内のトラツクのアドレス(H)を含
み、 上記手段(ハ)(i)においては、上記所定の数を上記
DASDの総数で割つた商として重み付け係数
(DW)を予め求めておき、受け取つたDASDの
アドレス(D)に上記係数(DW)を掛け合わせて、
該DASDのアドレス(D)に固有の数値を発生し、 上記手段(ハ)(ii)においては、上記メモリ・セグメ
ントのアドレスのうち、シリンダのアドレス(C)及
びトラツクのアドレス(H)によつて一意に定まる数
値を発生する ことを特徴とする、特許請求の範囲第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 JPS5831460A (ja) | 1983-02-24 |
| JPH0247775B2 true 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) |
Families Citing this family (50)
| 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 |
| JP2005242757A (ja) * | 2004-02-27 | 2005-09-08 | Hitachi Ltd | ストレージシステム |
| 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 |
Family Cites Families (14)
| 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 |
| JPS54145441A (en) * | 1978-04-03 | 1979-11-13 | Nec Corp | Converter |
| 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 |
| JPS55157054A (en) * | 1979-05-25 | 1980-12-06 | Nec Corp | Disc cash unit |
| 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
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 |
| JPS5831460A (ja) | 1983-02-24 |
| AU552368B2 (en) | 1986-05-29 |
| EP0072413A2 (en) | 1983-02-23 |
| EP0072413B1 (en) | 1988-05-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4464713A (en) | Method and apparatus for converting addresses of a backing store having addressable data storage devices for accessing a cache attached to the backing store | |
| US4785398A (en) | Virtual cache system using page level number generating CAM to access other memories for processing requests relating to a page | |
| EP0407119B1 (en) | Apparatus and method for reading, writing and refreshing memory with direct virtual or physical access | |
| US5426750A (en) | Translation lookaside buffer apparatus and method with input/output entries, page table entries and page table pointers | |
| US4905141A (en) | Partitioned cache memory with partition look-aside table (PLAT) for early partition assignment identification | |
| US5230045A (en) | Multiple address space system including address translator for receiving virtual addresses from bus and providing real addresses on the bus | |
| US5751990A (en) | Abridged virtual address cache directory | |
| US5442571A (en) | Method and apparatus for cache miss reduction by simulating cache associativity | |
| JPS62260248A (ja) | データ処理システム | |
| JPS624745B2 (ja) | ||
| JPH07182240A (ja) | アドレス変換を行う装置及び方法 | |
| JPH04320553A (ja) | アドレス変換機構 | |
| US7493464B2 (en) | Sparse matrix | |
| US5659699A (en) | Method and system for managing cache memory utilizing multiple hash functions | |
| US5539892A (en) | Address translation lookaside buffer replacement apparatus and method with user override | |
| US5287482A (en) | Input/output cache | |
| US5479629A (en) | Method and apparatus for translation request buffer and requestor table for minimizing the number of accesses to the same address | |
| US6686920B1 (en) | Optimizing the translation of virtual addresses into physical addresses using a pipeline implementation for least recently used pointer | |
| JPH0519176B2 (ja) | ||
| US4380797A (en) | Two level store with many-to-one mapping scheme | |
| JPH1091521A (ja) | 二重ディレクトリー仮想キャッシュ及びその制御方法 | |
| EP0170525B1 (en) | Cache hierarchy design for use in a memory management unit | |
| JPH035851A (ja) | バッファ記憶装置 | |
| JPH04505225A (ja) | スカラー処理用に設計されたメモリシステムでメモリからベクトルデータをプリフェッチする方法 | |
| KR920005296B1 (ko) | 정보처리장치 |