JPH06348598A - データをキャッシュ・メモリに貯蔵するシステムおよび方法 - Google Patents

データをキャッシュ・メモリに貯蔵するシステムおよび方法

Info

Publication number
JPH06348598A
JPH06348598A JP5267171A JP26717193A JPH06348598A JP H06348598 A JPH06348598 A JP H06348598A JP 5267171 A JP5267171 A JP 5267171A JP 26717193 A JP26717193 A JP 26717193A JP H06348598 A JPH06348598 A JP H06348598A
Authority
JP
Japan
Prior art keywords
track
record
data
format
cache memory
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
Application number
JP5267171A
Other languages
English (en)
Other versions
JP2571342B2 (ja
Inventor
Brent C Beardsley
ブレント・キャメロン・ベアズレイ
Susan K Candelaria
スーザン・ケイ・キャンデラリア
Vern J Legvold
バーン・ジョン・レッグボルド
Peter L Leung
ピーター・リック−ホン・ラング
Douglas A Martin
ダグラス・アーサー・マーティン
Gail A Spear
ガイル・アンドレア・スペア
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH06348598A publication Critical patent/JPH06348598A/ja
Application granted granted Critical
Publication of JP2571342B2 publication Critical patent/JP2571342B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache

Landscapes

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

Abstract

(57)【要約】 【目的】 レコード・フォーマットおよびトラック・フ
ォーマットでキャッシュ・メモリ内にデータを貯蔵する
システムおよび方法を提供する。 【構成】 データをトラック・フォーマットで貯蔵する
ためのスペースがキャッシュ・メモリ内に割り当てられ
る。データをレコード・フォーマットで貯蔵するための
付加的スペースがキャッシュ・メモリ内に割り当てられ
る。データは両フォーマットで貯蔵される。最新のデー
タが識別されデータの各レコード毎にアドレスが生成さ
れる。データの個々のレコードに対するアクセスはトラ
ック・フォーマットにせよレコード・フォーマットにせ
よ最新のレコードに対するポインタが貯蔵されているト
ラック情報ブロックにより可能になる。トラック情報ブ
ロックはいずれのフォーマットでもデータの迅速な貯蔵
および検索を可能にする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は計算システムに関し、特
に計算システムで使用する貯蔵デバイスおよびシステム
に関する。
【0002】
【従来の技術】大型の分散型計算システムでは、代表的
には複数個のホスト・コンピュータが貯蔵装置コントロ
ーラにより多数の直接アクセス型(永久)貯蔵デバイス
(DASD)、例えばテープまたはディスク・ドライブ
・ユニットにつながれている。多くの機能のうち、貯蔵
装置コントローラはデータ・レコードの転送のために特
定のコンピュータとDASDの間の接続および切り離し
を扱う。加えて、貯蔵装置コントローラは入出力動作を
早めるために電子メモリ内にデータを貯蔵する。IBM
社の3090貯蔵装置コントローラは磁気ディスク・ユ
ニットとホスト・コンピュータの間の接続を制御する貯
蔵装置コントローラの1例である。ホスト・コンピュー
タは典型的にはメインフレーム・システム、例えばIB
M社の3090またはモデルES9000または同等の
システムである。
【0003】IBM社の3090モデル3コントローラ
はホスト・コンピュータから最大16のチャンネルを扱
い、最大64の磁気貯蔵ユニットを扱うことが出来る。
ホスト・コンピュータは少なくとも1つ、最大4つのチ
ャンネルにより貯蔵装置コントローラにつながれる。貯
蔵装置コントローラは代表的には2つの貯蔵装置クラス
タを有し、その各々はホスト・コンピュータとDASD
との間の選択的接続を与え、各クラスタは別々のパワー
境界上にある。第1のクラスタは多重パス貯蔵装置ディ
レクタを有してもよく、これは第1および第2の貯蔵装
置パス、共用制御アレイ(SCA)およびキャッシュ・
メモリを有する。第2のクラスタは典型的には第2の多
重パス・ディレクタを有し、これは第1および第2の貯
蔵装置パス、共用制御アレイおよび不揮発性メモリ(N
VS)を有する。従って、貯蔵装置コントローラ内に各
貯蔵装置パスは貯蔵装置コントローラの動作を支援する
ために3つのアドレス可能なデバイスを有する。即ち、
不揮発性メモリ、共用制御アレイおよびキャッシュであ
る。
【0004】不揮発性メモリ(NVS)はバッファ機能
のためのキャッシュに対するバックアップとして働く。
【0005】共用制御アレイは全貯蔵装置パス上で共用
されるメモリ・アレイである。
【0006】キャッシュはコンピュータ・メモリに対す
る付属物としての応用が広く知られており、頻繁にアク
セスされる命令およびデータに対する高速貯蔵装置とし
て用いられる。レコードを最後に使用してからの時間長
が使用頻度の指示子として用いられる。キャッシュはそ
の内容が最後の使用時点から古くなっている点でシステ
ム・メモリと区別される。コンピュータ・メモリのアド
レス・スペース内で、プログラム・データはアドレス・
スペース内のスペースに対して競合するデータがアクセ
スを獲得する前に解放されなければならない。キャッシ
ュでは、スペースに対する競合の結果最も古く使用され
たデータがキャッシュから追い出される。頻繁にはアク
セスされないデータが定期的にキャッシュに入れられる
が、それらは古くなり、キャッシュから追い出される。
キャッシュ内の変更されたデータはDASDおよび貯蔵
装置コントローラに対して同様の機能を遂行する。DA
SDの磁気媒体からデータを読み取り(そして書き込
む)ことはかなり時間のかかることである。読み取りお
よび書き込み動作を遅らせる要因として、磁気ディスク
が記録位置を磁気変換器と整列させるに要する時間、お
よびデータの読み書きに用いられる磁気変換器の限られ
たバンド幅が挙げられる。頻繁に使用されるデータをキ
ャッシュ内に複製することにより、データの読み出し時
間は短縮され、データ貯蔵システムのスループットは大
幅に改善される。
【0007】DASDキャッシュはもともと1時に1ト
ラック分のデータを貯蔵するように設計されている。次
にアクセスされるデータの予測としてDASDの次のト
ラックのデータが屡々キャッシュ内に取り込まれる。こ
れはトラック・キャッシング・システムの性能を向上す
る。しかし不幸にしてこの方式はレコード・キャッシン
グ・システム、例えばデータベース型システムの性能を
損なう。何故なら制御ユニット、キャッシュおよびDA
SDの資源がシステムで使用されないかもしれないデー
タを取り込むのに使用されるからである。更に、全トラ
ックのデータ・イメージを貯蔵することは非効率的であ
る。
【0008】その結果、レコード・キャッシングが研究
され、データベースおよび他のレコード・オリエンテッ
ドの応用に一層適することが見出された。レコードのキ
ャッシングは必要なデータ構造が一層複雑になるという
犠牲を払ってキャッシュ内での内部分断を軽減する。
【0009】しかし、各キャッシング・フォーマットに
何らかのパーフォマンス上の利点が伴うので、トラック
・モードでレコード・モード・キャッシュを作動させる
ことが望ましい場合がある。即ち、トラックおよびレコ
ードの両者のキャッシングを支援する貯蔵装置コントロ
ール・ユニットでは、レコードがキャッシュに存在して
おりかつ完全なトラックが所望される場合がある。不幸
にして、もしコントロール・ユニットがチャンネルから
切り離さなければならず、トラックに対するレコード・
スロットから全ての変更データをデステージしなければ
ならず、レコード・スロット・キャッシュ・スペースを
自由にしなけらばならず、そして切り離されたチャンネ
ル・コマンド・プログラムに続ける前にトラック・スロ
ットに対してキャッシュ内に新しいスペースを割り当て
なければならない場合には、トラック・キャッシングに
切り替えると性能に影響する。従って、トラック・モー
ドでのレコード・モード・キャッシュの作動は問題を生
じる。
【0010】この問題に対する通常の解決策は、キャッ
シュからドライブに変更されたデータを書き込み次いで
そのデータをトラック・モードでドライブからキャッシ
ュに読み戻すことである。しかしこの方法は遅く、各動
作毎にドライブの2回転を必要とする。ある応用例で
は、頻繁なトラック・キャッシング動作が要求される場
合、この方法の低速度性のためにシステムの性能が大き
く制限される。
【0011】従って、貯蔵装置コントロール・ユニット
に対する改良されたトラックおよびレコード・モード・
キャッシング方式の要求が存在する。
【0012】
【発明が解決しようとする課題】本発明の目的はキャッ
シュ・メモリ内のデータをレコード・フォーマットおよ
びトラック・フォーマットで貯蔵するシステムおよび方
法を提供するにある。
【0013】
【課題を解決するための手段】本発明によれば、トラッ
ク・フォーマットでデータを貯蔵するためにキャッシュ
・メモリ内にスペースが割り当てられる。レコードフォ
ーマットでのデータの貯蔵のために付加的なスペースが
割り当てられる。次いで、データが両フォーマットで貯
蔵される。最新のデータが識別され、各データ・レコー
ド毎にアドレスが発生される。個別のデータ・レコード
へのアクセスはトラック情報ブロックにより可能にな
る。このブロックには最新の記録が、それがトラック・
フォーマットで記録されていようとレコード・フォーマ
ットで記録されていようとに拘わらず貯蔵されている。
トラック情報ブロックはいずれのフォーマットにせよデ
ータの高速貯蔵および検索を可能にする。
【0014】特定の実施例では、データはスキャタ・イ
ンデックス・テーブルを用いてキャッシュ内にいずれか
のフォーマットで貯蔵される。スキャタ・インデックス
・テーブルおよび関連するトラック・ディレクトリ・エ
ントリは共用制御アレイに貯蔵されている。各トラック
・ディレクトリ・エントリはキャッシュ内のトラック・
スロット・ヘッダをポイントする。トラック・スロット
・ヘッダは選択されたデータが存在するキャッシュ・メ
モリ内の領域(セグメント)をポイントする。トラック
・スロット・ヘッダはまた選択されたセグメントに関連
するトラック情報ブロックをポイントする。トラック情
報ブロックはトラック・フォーマットまたはレコード・
フォーマットでセグメント内の選択されたレコードのロ
ケーションを識別する。
【0015】
【実施例】図1はデータ処理システム10の高レベル・
ブロック図である。システム10は貯蔵装置コントロー
ラ12、複数個のホスト・コンピュータ14、16、1
8、20および複数個の直接アクセス型貯蔵デバイス
(DASD)22ー32を有する。現在ではディスク・
ドライブ・ユニットは最も一般的なDASDである。大
型多重コンピュータ・データ処理システムでは、多数の
DASDが数台のコンピュータに対して用いれる。
【0016】貯蔵装置コントローラ12は論理的にホス
ト・コンピュータ14ー20とDASD22ー32の間
に置かれている。貯蔵装置コントローラ12はデータ・
レコードを転送するために特定のコンピュータと磁気デ
ィスク・ユニットの間の接続および切り放しを取り扱
う。
【0017】IBM社のモデル3990貯蔵装置コント
ローラは磁気ディスク・ユニットとホスト・コンピュー
タな間の接続を制御するのに用いられる貯蔵装置コント
ローラの例である。ホスト・コンピュータ14ー20は
典型的にはメインフレーム・システム、例えばIBM社
の3090またはモデルES9000またはその他の同
等のシステムである。
【0018】IBM社の3990モデル3コントローラ
はホスト・コンピュータからの最大16までのチャンネ
ルと最大64までの磁気貯蔵ユニットを扱うことが出来
る。従って、ホスト・コンピュータ14−20は少なく
とも1つの、最大4つのチャンネルにより貯蔵装置コン
トローラ12につながれる。例えば、ホスト・コンピュ
ータ20はチャンネル34(a)、34(b),34
(c),34(d)により貯蔵装置コントローラにつな
がれる。図1には4つのホスト・コンピュータ・システ
ムと6つのDASDが示されているが、貯蔵装置コント
ローラ12は付加的なチャンネルおよびDASDを扱う
ことが出来る。
【0019】図2は貯蔵装置コントローラ12を詳細に
示す。貯蔵装置コントローラ12は2つの貯蔵装置クラ
スタ36、38を有し、その各々はホスト・コンピュー
タとDASDの間の選択的接続を与える。クラスタ3
6、38は別々のパワー境界上にある。各クラスタは第
1多重パス貯蔵装置ディレクタ(MSD)62、それに
関連する貯蔵装置パス(SP)48、50、および共用
制御アレイ(SCA)64を有する。各クラスタの共用
制御アレイ64は相互に接続されている。第1および第
2のキャッシュ・メモリ(キャッシュAおよびB)5
8、61、および第1および第2の不揮発性メモリ(N
VS BおよびA)59、60が設けられている。各ク
ラスタの各貯蔵装置パスは後述する最適の再構成を達成
するために各キャッシュ・メモリおよび各不揮発性メモ
リにつながれている。キャッシュA58に書き込まれた
データは交差対の不揮発性メモリNVS A60内にバ
ックアップされる。同様に、キャッシュBに書き込まれ
たデータは交差対の不揮発性メモリNVS B59にバ
ックアップされる。
【0020】図3は本発明のデータ処理システムの貯蔵
装置パス(SP)および貯蔵装置コントローラのキャッ
シュを示す。貯蔵装置パス48は図2の多重パス貯蔵装
置ディレクタ62につながれている。貯蔵装置パス48
とDASDの1つとの間でデータ転送が同期動作の間自
動データ転送回路74を介して行われる。ポート・アダ
プタ72はキャッシュ・メモリ58、61、不揮発性メ
モリ59、60、およびDASD(このうち第1キャッ
シュ・メモリ58のみを示す)の間のデータ転送を制御
する。
【0021】貯蔵装置パス48の全ての動作はマイクロ
プロセッサ70の制御下にある。プロセッサ制御マイク
ロコードが貯蔵装置コントローラの動作を制御するため
に貯蔵装置パス内でマイクロプロセッサにより実行され
る。従って、各貯蔵装置パスは自己のマイクロプロセッ
サに基づく実質上スタンドアロンの制御ユニットである
が、貯蔵装置パスはトランザクションに関連する接続、
切り放しおよび再接続を処理するための同期機能を行う
ためにSCA64(図2)を介してプロセッサ制御情報
を共有する。接続および切り放しを行うのに任意の方法
を用いてよい。
【0022】プロセッサ制御信号は外部レジスタ・バス
71を介して分布される。本発明を実施するための制御
信号は外部レジスタ・バス、ポート・アダプタ72内の
構成レジスタおよび各キャッシュ・ユニット内の複数個
のポート・バッファ76によりキャッシュ・メモリ5
8、61に与えられる。ポート・アダプタ72からのデ
ータ転送速度に整合させるために複数個のポート・バッ
ファが設けられる。
【0023】各キャッシュ・ユニットは、ポート・バッ
ファ76に加えて、マルチプレクサ78およびその制御
回路80を有する。制御回路80はマルチプレクサ78
を介するポート・バッファ76とキャッシュメモリ82
の間のデータ転送を制御する論理回路である。
【0024】本発明の新規な点は、各ポート・バッファ
にセグメント・アレイ(SGA)論理回路84を設けた
ことである。セグメント・アレイ論理回路は本発明のア
ドレス発生方式を実施するために注文設計される回路で
あり、これにより後述するように単一のキャッシュ・ユ
ニットがトラック・モードおよびデータ・モードでのデ
ータの貯蔵および転送を行うことが出来る。当業者は通
常の回路設計法を用いて本発明を実施するセグメント・
アレイ回路を設計することが出来る。
【0025】マイクロプロセッサ70は各ポート・バッ
ファ(図示せず)内のレジスタを介して各ポート・バッ
ファ内のSGA論理回路84にデータをロードする。マ
イクロプロセッサ70はまたアドレス方式(仮想または
実)を決定し選択されたフォーマットを用いてデータを
アドレスする。
【0026】図4は本発明の教示に従ってキャッシュ内
に貯蔵されたデータのフォーマットを判定するのの使用
されるデータ構造を示す。このデータ構造はどのトラッ
クがキャッシュ内にあり、どのキャッシュのどの場所に
あるかを示す指示子を与える。データ構造は共用制御ア
レイとキャッシュの間で分割される。種々のディレクト
リ・エントリの構造がキャッシュのセグメント化により
決定される。キャッシュは典型的には16Kバイト・セ
グメントに分割されている。セグメンテーション機能は
データ・レコードがセグメントをスパンすることを可能
にする図3のSGA論理回路84により与えられる。
【0027】本発明はデータのトラックをキャッシュす
るように最初に設定されたデータ構造内のデータのトラ
ックのキャッシングに関する問題に向けられているの
で、レコードのキャッシングについては詳細に説明しな
い。レコードのキャッシングは通常の方法でなされてよ
い。以下の説明はレコード・オリエンテッド・キャッシ
ュ内でのトラックのキャッシングの焦点を絞る。
【0028】良好な実施例では、共用制御アレイ64内
で、データの特定の項目がキャッシュ内に存在するか否
かを迅速に判定するためにスキャタ・インデックス・テ
ーブル(SIT)90が用いられる。データはデバイス
およびスロット番号をキーとして用いてスキャタ・イン
デックス・テーブル内にハッシュされる。ハッシングは
データ圧縮のための多数の通常のアルゴリズムのいずれ
かにより行われる。特定の番号にハッシュする各エント
リがスキャタ・インデックス・テーブル内のその番号に
エントリとしてリストされる。同じ番号にハッシュする
全てののトラックは1つのハッシュ・チェインまたは衝
突チェインを共有する。
【0029】スキャタ・インデックス・テーブル90内
の各エントリはトラック・ディレクトリ・エントリ(T
DE)テーブル92をポイントする。トラック・ディレ
クトリ・エントリ・テーブル92は所与のトラックへの
インデックスである。TDEはデバイス識別番号(I
D)、トラック番号(シリンダおよびヘッド)、SIT
テーブル90内の同一番号をハッシュする他のエント
リ、例えばTDE94、に対する衝突ポインタおよび最
も古く使用された(LSU)ポインタを含む。キャッシ
ュ内の各トラックに1つのTDEが設けられる。図4で
キャッシュ内の2つのトラックがスキャタ・インデック
ス・テーブルの第1ロケーション内の同一番号にハッシ
ュする。SITテーブル内の第2ロケーションはグラン
ドされており、いずれのトラックもその値にハッシュし
ないことを示している。
【0030】各TDEとキャッシュ内のトラック・スロ
ット・ヘッダ(TSH)の間には1対1の相関がある。
加うるに、キャッシュ内の各セグメント毎に1つのTS
Hがある。従って、DASDデータの各トラック毎にキ
ャッシュ内に別個のセグメントが割り当てられる。良好
な実施例では、各TDE92毎に対応するTSHがメモ
リ内にスペースを確保するために計算される。代案とし
て、関連するTSHに対してTDE内にポインタを貯蔵
してもよい。
【0031】図4は共用制御アレイ64内の第1TDE
92に対応するキャッシュ58内に貯蔵されたTSH9
6を示す。TSHはセグメント・アドレッシング・エン
トリおよびアドレス制御情報を含む。即ち、TSH96
はトラックに割り当てられたキャッシュ・メモリ内の種
々のセグメントに対するポインタおよびトラック情報ブ
ロック(TIB)と呼ばれるメモリ内の制御ブロックに
対するポインタを有する。トラック情報ブロックはセグ
メント内の選択されたレコードのロケーションを識別す
る。
【0032】TSH96は各貯蔵装置パス(図2)のマ
イクロプロセッサ70によりSGA84内にロードされ
る。これにより各セグメントのアドレス機能が設定され
る。TSH96はセグメント・アレイ99内のトラック
に関連したトラック情報ブロック98に対する特定のセ
グメント97をポイントする。
【0033】図5はトラック・スロット・ヘッダ96、
関連するセグメント97およびトラック情報ブロック
(TIB)98の間の関係を示す。本発明によれば、セ
グメント97は数個の仮想セグメント1−15に分割さ
れる。最初の5個の仮想セグメント0−4はトラック・
モードまたはトラック・フォーマット・キャッシングの
ためのトラック・イメージのために予約または割り当て
られる。従って、トラックのホーム・アドレスHA、ト
ラックの最初のレコードR0、レコードR1−Rxおよ
びトラックの最後のレコードがトラック・イメージ95
の最初の4つの仮想セグメントに貯蔵される。(トラッ
ク・イメージは多重セグメントよりなる。)6−15番
目の仮想セグメント5−14がレコード・モードまたは
レコード・フォーマット・キャッシングのためにレコー
ド・イメージに割り当てられる。この場合、レコード
2、即ちR2が変更レコードとしてレコード・イメージ
内に貯蔵される。図5で、7−15番目の仮想セグメン
トは存在せずゼロである。16番目の仮想セグメントは
トラック情報ブロック98に対するポインタであり、こ
こにはセグメント内の各レコードに対するヘッダおよび
ポインタが貯蔵される。
【0034】各レコードのキャッシュ・アドレスに加え
て、TIBは、全てのDASD変更データのNVSアド
レス、変更の表示および各レコードのトラック上での角
度位置を含む。TIB89は物理トラックと同じフォー
マットで整列される。次の表は所与のデバイス上の所与
のトラックに対するTIBの構造を示す。
【0035】
【表1】 レコード セル番号 フラグ キャッシュ NVS アドレス アドレス HA 2バイト 2バイト 2バイト 3バイト R0 2バイト 2バイト 2バイト 3バイト R1 2バイト 2バイト 2バイト 3バイト ・ ・ ・ Rx 2バイト 2バイト 2バイト 3バイト 図5に示すように、最新のイメージ(変更された)内に
あるレコード、例えばR2を除くトラック内の各レコー
ド毎にTIB内にポインタが設けられる。即ち、データ
がDASDからステージされる場合、変更レコード・デ
ータに対するポインタ以外のトラック・レコード・ポイ
ンタがTIB内に置かれる。レコードはレコード・スロ
ット内に置かれるので、これらのレコードを含むセグメ
ントのアドレスはトラック・スロット・ヘッダのエント
リ5−14内に置かれ、レコード・スロットTIBが各
レコードをアドレスするよう更新される。トラック・ス
ロットが要求される場合、5つのキャッシュ・セグメン
トが割り当てられ、そのアドレスがトラック・スロット
・ヘッダのエントリ0−4内に置かれる。トラック全体
がキャッシュ内に来るまでトラックをロール・モードで
ステージする(即ちオリエンテーションなしで物理アド
レスを選択し過去のインデックスをステージする)よう
に非同期タスクが生成される。トラック・スロットに対
するTIBがトラック・スロットの割り当てられたセグ
メントの1つ内に生成される。トラック・スロットTI
Bを書き込む前にレコード・スロットTIBが読み出さ
れ、全ての変更レコードに対するデータがトラック・ス
ロットTIBに複写される。
【0036】データは個々のレコードが数個のセグメン
トをスパン出来るように仮想アドレッシング方式に従っ
てキャッシュ内でセグメントされる。
【0037】図6は本発明に従いデータがキャッシュ内
でセグメントされる様子を示す。実モード・アドレス・
データがSSARレジスタ0−3の読み込まれる。仮想
アドレスを作るために、第1および第2SSARレジス
タ内のデータおよび第3レジスタ内の最初の2ビットが
無視される。第3レジスタの第3、第4、第5および第
6ビットが図3のメモリ82内のセグメント・アレイ内
の16のセグメント・エントリの1つを選択するために
4対16デコーダ100により用いられる。4バイトの
選択されたセグメント・エントリの最後の22ビットは
実セグメント・アドレスを与えるために用いられる。1
ビットがセグメント有効性を示すために用いられる。残
りのビットは無視される。セグメント・アドレスは第3
SSARレジスタの最後の2ビットおよび第4SSAR
レジスタの8ビットよりなるオフセットにより補われ、
メモリ82をアドレスするのに使用される実キャッシュ
・アドレスを与える。従って、14ビット実アドレスが
キャッシュの広い領域に亙ってデータをスキャタするの
にの用いられる。
【0038】本発明は次のように動作する。トラック・
スロット・ヘッダ内の所定数(例えば5)のエントリが
トラック・スロット用に予約される。多数の(たとえば
10)エントリがレコード・キャッシングのために予約
される。変更されたレコード・スロットが存在し、トラ
ック・キャッシングを要求するチャンネル・コマンド・
ワードが受け取られると、貯蔵装置パスは次のことを行
う。
【0039】1.トラック・スロットの割り当て 2.チャンネル・コマンド・リトライ・ステータスでチ
ャンネルから切り離し 3.キャッシュ内へのトラックのステージ 4.レコード・スロット内の変更スロットをポイントす
るためにトラック・スロットに対してTIBを更新 変更データが存在し、トラック・キャッシングを要する
トラック処理装置バックアップ・チェイン以外のチャン
ネル・コマンド・ワードが受け取られると、コントロー
ル・ユニットはレコード・スロットを解放しトラック・
スロットを割り当てる。バックアップ・リクエストに対
してトラック・スロットが割り当てられるが、レコード
スロットは無効にされない。トラックがチャンネルに転
送された後にトラック・スロットが無効にされ、レコー
ド・スロットがキャッシュ内に留まる。
【0040】レコードがトラック・スロットおよびレコ
ード・スロットの両方に存在する場合スペースの浪費が
生じる。レコード・スロットを含むセグメントは次のア
ルゴリズムの1つにより解放される。
【0041】1.変更レコード・スロットをトラック・
スロットに複製し、トラック・スロットTIBを更新
し、レコード・スロットのために使用されたキャッシュ
・スペースを解放する非同期タスクを生成する。
【0042】2.変更レコード・スロットが書き込まれ
るまで待つ。各レコードが書き込まれるにつれ、新しい
データがトラック・スロットに書き込まれ、レコード・
スロットのためのキャッシュ・スペースが解放される。
【0043】トラックに対するバックアップ動作の後、
トラック・セグメント0−4が解放され、もとのレコー
ド・スロットが残る。
【0044】
【発明の効果】本発明によれば、トラック・フォーマッ
トでデータを貯蔵するためにキャッシュ・メモリ内にス
ペースが割り当てられる。レコードフォーマットでのデ
ータの貯蔵のために付加的なスペースが割り当てられ
る。次いで、データが両フォーマットで貯蔵される。最
新のデータが識別され、各データ・レコード毎にアドレ
スが発生される。個別のデータ・レコードへのアクセス
はトラック情報ブロックにより可能になる。このブロッ
クには最新の記録が、それがトラック・フォーマットで
記録されていようとレコード・フォーマットで記録され
ていようとに拘わらず貯蔵されている。トラック情報ブ
ロックはいずれのフォーマットにせよデータの高速貯蔵
および検索を可能にする。
【図面の簡単な説明】
【図1】データ・プロセッシング・システムの高レベル
ブロック図である。
【図2】本発明のデータ・プロセッシング・システムの
貯蔵装置コントローラを示す。
【図3】本発明のデータ・プロセッシング・システムの
貯蔵装置パスおよび貯蔵装置コントローラのキャッシュ
のブロック図である。
【図4】本発明の方法によりキャッシュに貯蔵されるデ
ータのフォーマットを判定するのに用いられるデータ構
造を示す。
【図5】トラック・スロット・ヘッダ、関連するセグメ
ントおよびトラック情報ブロックの間の関係を示す。
【図6】本発明の方法によりデータがセグメントされる
様子を示す。
【符号の説明】
12 貯蔵装置コント
ローラ 14、16、18、20 ホスト・コンピ
ュータ 22、24、26、28、30、32 DASD
───────────────────────────────────────────────────── フロントページの続き (72)発明者 スーザン・ケイ・キャンデラリア アメリカ合衆国アリゾナ州、ツーソン、イ ースト・ヴィア・アルタ・ミラ 10441番 地 (72)発明者 バーン・ジョン・レッグボルド アメリカ合衆国アリゾナ州、ツーソン、ノ ース・アヴェニダ・インパルム 2710番地 (72)発明者 ピーター・リック−ホン・ラング アメリカ合衆国アリゾナ州、ツーソン、イ ースト・トウェンティファースト・ストリ ート 6102番地 (72)発明者 ダグラス・アーサー・マーティン アメリカ合衆国アリゾナ州、ツーソン、イ ースト・ブルックス・ドライブ 6981番地 (72)発明者 ガイル・アンドレア・スペア アメリカ合衆国アリゾナ州、ツーソン、イ ースト・フィールドストン・レーン 6822 番地

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】レコード・フォーマットおよびトラック・
    フォーマットでキャッシュ・メモリ内にデータを貯蔵す
    るためのシステムであって、 トラック・フォーマットで前記キャッシュ・メモリ内に
    データを貯蔵するために前記キャッシュ・メモリ内にス
    ペースを割り当てる第1の手段と、 レコード・フォーマットでデータを貯蔵するために前記
    キャッシュ・メモリ内にスペースを割り当てる第2の手
    段と、 データの少なくとも1つのレコードを前記キャッシュ・
    メモリ内にレコード・フォーマットで貯蔵する第3の手
    段と、 データの少なくとも1つのレコードを前記キャッシュ・
    メモリ内にトラック・フォーマットで貯蔵する第4の手
    段と、 レコード・フォーマットおよびトラック・フォーマット
    で貯蔵された前記レコード内の最新のデータを識別しそ
    のアドレスを生成する第5の手段と、 前記アドレスに対するポインタを貯蔵する第6の手段
    と、よりなるシステム。
  2. 【請求項2】データをいずれかのフォーマットで前記キ
    ャッシュ・メモリ内に貯蔵するためのスキャタ・インデ
    ックス・テーブルを発生する手段を更に有する、請求項
    1のシステム。
  3. 【請求項3】前記スキャタ・インデックス・テーブルを
    ハッシュする手段を更に含む、請求項2のシステム。
  4. 【請求項4】前記スキャタ・インデックス・テーブルか
    らトラック・ディレクトリ・エントリを生成する手段を
    更に含む請求項2のシステム。
  5. 【請求項5】前記スキャタ・インデックス・テーブルお
    よび関連するトラック・ディレクトリ・エントリを第2
    のメモリに貯蔵する手段を更に含む、請求項4のシステ
    ム。
  6. 【請求項6】前記トラック・ディレクトリ・エントリは
    前記キャッシュ・メモリ内のトラック・スロット・ヘッ
    ダをポイントする、請求項4のシステム。
  7. 【請求項7】前記トラック・スロット・ヘッダは選択さ
    れたデータが存在する前記キャッシュ・メモリ内のセグ
    メントをポイントする、請求項6のシステム。
  8. 【請求項8】レコード・フォーマットおよびトラック・
    フォーマットでキャッシュ・メモリ内にデータを貯蔵す
    るためのシステムであって、 トラック・フォーマットで前記キャッシュ・メモリ内に
    データを貯蔵するために前記キャッシュ・メモリ内にス
    ペースを割り当てる第1の手段と、 レコード・フォーマットでデータを貯蔵するために前記
    キャッシュ・メモリ内にスペースを割り当てる第2の手
    段と、 データの第1のレコードを前記キャッシュ・メモリ内に
    レコード・フォーマットで貯蔵するためスキャタ・イン
    デックス・テーブルを含む第3の手段と、 データの第2のレコードを前記キャッシュ・メモリ内に
    トラック・フォーマットで貯蔵するため前記スキャタ・
    インデックス・テーブルを含む第4の手段と、 レコード・フォーマットおよびトラック・フォーマット
    で貯蔵された前記レコード内の最新のデータを識別しそ
    のアドレスを生成する第5の手段と、 前記アドレスに対するポインタを貯蔵する第6の手段
    と、よりなり、 前記スキャタ・インデックス・テーブルはデータの前記
    第1の記録および前記第2の記録に対するトラック・デ
    ィレクトリ・エントリに対するポインタを含み、前記ト
    ラック・ディレクトリ・エントリは前記キャッシュ・メ
    モリ内のトラック・スロット・ヘッダをポイントし、前
    記トラック・スロット・ヘッダは選択されたデータがレ
    コード・フォーマットで存在する前記キャッシュ・メモ
    リ内のセグメントをポイントし、前記トラック・スロッ
    ト・ヘッダはまた前記セグメントに関連するトラック情
    報ブロックが貯蔵されている前記キャッシュ・メモリ内
    の領域をポイントし、前記トラック情報ブロックは前記
    セグメント内の選択されたレコードのロケーションを識
    別することを特徴とするシステム。
  9. 【請求項9】前記スキャタ・インデックス・テーブルお
    よび関連するトラック・ディレクトリ・エントリを共用
    制御アレイ内に貯蔵する手段を更に含む、請求項8のシ
    ステム。
  10. 【請求項10】データをレコード・フォーマットおよび
    トラック・フォーマットでキャッシュ・メモリ内に貯蔵
    する方法であって、 データを前記キャッシュ・メモリ内にトラック・フォー
    マットで貯蔵するため前記キャッシュ・メモリ内にスペ
    ースを割り当て、 データを前記キャッシュ・メモリ内にレコード・フォー
    マットで貯蔵するため前記キャッシュメモリ内にスペー
    スを割り当て、 データの少なくとも1つのレコードを前記キャッシュ・
    メモリ内にレコード・フォーマットで貯蔵し、 データの少なくとも1つのレコードを前記キャッシュ・
    メモリ内にトラック・フォーマットで貯蔵し、 レコード・フォーマットおよびトラック・フォーマット
    で貯蔵されたレコード内の最新のデータを識別しそのア
    ドレスを生成し、 前記アドレスに対するポインタを貯蔵する、ステップよ
    りなる方法。
JP5267171A 1992-12-17 1993-10-26 データをキャッシュ・メモリに貯蔵するシステム及び方法 Expired - Lifetime JP2571342B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US993249 1992-12-17
US07/993,249 US5530829A (en) 1992-12-17 1992-12-17 Track and record mode caching scheme for a storage system employing a scatter index table with pointer and a track directory

Publications (2)

Publication Number Publication Date
JPH06348598A true JPH06348598A (ja) 1994-12-22
JP2571342B2 JP2571342B2 (ja) 1997-01-16

Family

ID=25539297

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5267171A Expired - Lifetime JP2571342B2 (ja) 1992-12-17 1993-10-26 データをキャッシュ・メモリに貯蔵するシステム及び方法

Country Status (2)

Country Link
US (1) US5530829A (ja)
JP (1) JP2571342B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100392968B1 (ko) * 1999-10-29 2003-07-31 마쯔시다덴기산교 가부시키가이샤 수신 장치

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5751990A (en) * 1994-04-26 1998-05-12 International Business Machines Corporation Abridged virtual address cache directory
JP3260999B2 (ja) * 1995-03-03 2002-02-25 富士通株式会社 ディスク制御装置の制御方法
JP3583829B2 (ja) * 1995-04-13 2004-11-04 株式会社日立製作所 外部記憶サブシステムの制御方法および制御装置
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
US5649153A (en) * 1995-06-19 1997-07-15 International Business Machines Corporation Aggressive adaption algorithm for selective record caching
US5778383A (en) * 1995-08-08 1998-07-07 Apple Computer, Inc. System for dynamically caching and constructing software resource tables
US5897662A (en) * 1995-08-18 1999-04-27 International Business Machines Corporation Pseudo-random address generation mechanism that reduces address translation time
WO1997011426A1 (en) 1995-09-18 1997-03-27 Cyberstorage Systems, Inc. Universal storage management system
US5799307A (en) * 1995-10-06 1998-08-25 Callware Technologies, Inc. Rapid storage and recall of computer storable messages by utilizing the file structure of a computer's native operating system for message database organization
US5727197A (en) * 1995-11-01 1998-03-10 Filetek, Inc. Method and apparatus for segmenting a database
US5802557A (en) * 1996-03-18 1998-09-01 Emc Corp System and method for caching information in a digital data storage subsystem
US5732238A (en) * 1996-06-12 1998-03-24 Storage Computer Corporation Non-volatile cache for providing data integrity in operation with a volatile demand paging cache in a data storage system
US5900009A (en) * 1997-03-21 1999-05-04 Emc Corporation System and method for accessing records in a cache slot which are associated with a current owner storage element or at least one previous owner storage element
US6223339B1 (en) * 1998-09-08 2001-04-24 Hewlett-Packard Company System, method, and product for memory management in a dynamic translator
US6675175B2 (en) 1999-02-19 2004-01-06 International Business Machines Corporation Method and system for sharing catalogs in a multiprocessing system utilizing a shared processor
US6633878B1 (en) * 1999-07-30 2003-10-14 Accenture Llp Initializing an ecommerce database framework
US6718535B1 (en) 1999-07-30 2004-04-06 Accenture Llp System, method and article of manufacture for an activity framework design in an e-commerce based environment
US7100195B1 (en) 1999-07-30 2006-08-29 Accenture Llp Managing user information on an e-commerce system
US6704873B1 (en) 1999-07-30 2004-03-09 Accenture Llp Secure gateway interconnection in an e-commerce based environment
KR20010056528A (ko) * 1999-12-15 2001-07-04 이계철 대용량 데이터 파일의 검색 및 처리를 위한 데이터 타일링방법
US6438648B1 (en) * 1999-12-22 2002-08-20 International Business Machines Corporation System apparatus and method for managing multiple host computer operating requirements in a data storage system
SE0004736D0 (sv) * 2000-12-20 2000-12-20 Ericsson Telefon Ab L M Mapping system and method
US6789163B2 (en) 2001-09-17 2004-09-07 Seagate Technology Llc Optimizing data transfer performance through partial write command purging in a disc drive
US6732292B2 (en) 2001-09-17 2004-05-04 Seagate Technology Llc Adaptive bi-directional write skip masks in a data storage device
US6968423B2 (en) * 2002-02-05 2005-11-22 Seagate Technology Llc Dynamic data access pattern detection in a block data storage device
US20030200386A1 (en) * 2002-04-19 2003-10-23 Seagate Technology Llc Data retention prioritization for a data storage device
US6934802B2 (en) * 2002-04-19 2005-08-23 Seagate Technology Llc Band detection and performance optimization for a data storage device
US7529904B2 (en) * 2004-03-31 2009-05-05 International Business Machines Corporation Storing location identifier in array and array pointer in data structure for write process management
US7617501B2 (en) 2004-07-09 2009-11-10 Quest Software, Inc. Apparatus, system, and method for managing policies on a computer having a foreign operating system
US7849165B2 (en) 2005-04-21 2010-12-07 Fiducci Thomas E Data backup, storage, transfer, and retrieval system, method and computer program product
US8126990B2 (en) 2005-04-21 2012-02-28 Fiducci Thomas E Data backup and transfer system, method and computer program product
US7904949B2 (en) 2005-12-19 2011-03-08 Quest Software, Inc. Apparatus, systems and methods to provide authentication services to a legacy application
US8087075B2 (en) 2006-02-13 2011-12-27 Quest Software, Inc. Disconnected credential validation using pre-fetched service tickets
US8429712B2 (en) 2006-06-08 2013-04-23 Quest Software, Inc. Centralized user authentication system apparatus and method
US8086710B2 (en) 2006-10-30 2011-12-27 Quest Software, Inc. Identity migration apparatus and method
US7895332B2 (en) 2006-10-30 2011-02-22 Quest Software, Inc. Identity migration system apparatus and method
US8101543B2 (en) * 2008-06-30 2012-01-24 Weyerhaeuser Nr Company Biodegradable superabsorbent particles
US8255984B1 (en) 2009-07-01 2012-08-28 Quest Software, Inc. Single sign-on system for shared resource environments
CN103984647B (zh) * 2013-02-08 2017-07-21 上海芯豪微电子有限公司 存储表替换方法
US20160217079A1 (en) 2013-02-08 2016-07-28 Shanghai Xinhao Microelectronics Co., Ltd. High-Performance Instruction Cache System and Method
US9483400B2 (en) 2014-04-21 2016-11-01 Microsoft Technology Licensing, Llc Multiplexed memory for segments and pages
US10120808B2 (en) * 2016-04-22 2018-11-06 Arm Limited Apparatus having cache memory disposed in a memory transaction path between interconnect circuitry and a non-volatile memory, and corresponding method
US11245774B2 (en) * 2019-12-16 2022-02-08 EMC IP Holding Company LLC Cache storage for streaming data

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02224040A (ja) * 1988-09-30 1990-09-06 Hitachi Ltd データローディング方法および装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US4636946A (en) * 1982-02-24 1987-01-13 International Business Machines Corporation Method and apparatus for grouping asynchronous recording operations
US4574346A (en) * 1982-09-29 1986-03-04 International Business Machines Corporation Method and apparatus for peripheral data handling hierarchies
US4875155A (en) * 1985-06-28 1989-10-17 International Business Machines Corporation Peripheral subsystem having read/write cache with record access
US4882642A (en) * 1987-07-02 1989-11-21 International Business Machines Corporation Sequentially processing data in a cached data storage system
US5235692A (en) * 1990-08-31 1993-08-10 International Business Machines Corporation Disk rotational position controls for channel operations in a cached peripheral subsystem
US5235690A (en) * 1990-08-31 1993-08-10 International Business Machines Corporation Method for operating a cached peripheral data storage subsystem including a step of subsetting the data transfer into subsets of data records
US5269019A (en) * 1991-04-08 1993-12-07 Storage Technology Corporation Non-volatile memory storage and bilevel index structure for fast retrieval of modified records of a disk track
US5283884A (en) * 1991-12-30 1994-02-01 International Business Machines Corporation CKD channel with predictive track table
US5381539A (en) * 1992-06-04 1995-01-10 Emc Corporation System and method for dynamically controlling cache management

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02224040A (ja) * 1988-09-30 1990-09-06 Hitachi Ltd データローディング方法および装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100392968B1 (ko) * 1999-10-29 2003-07-31 마쯔시다덴기산교 가부시키가이샤 수신 장치

Also Published As

Publication number Publication date
US5530829A (en) 1996-06-25
JP2571342B2 (ja) 1997-01-16

Similar Documents

Publication Publication Date Title
JP2571342B2 (ja) データをキャッシュ・メモリに貯蔵するシステム及び方法
US10169232B2 (en) Associative and atomic write-back caching system and method for storage subsystem
JP3697149B2 (ja) キャッシュ・メモリを管理する方法
JP5679969B2 (ja) スヌープフィルタリングメカニズム
US6192458B1 (en) High performance cache directory addressing scheme for variable cache sizes utilizing associativity
US5809562A (en) Cache array select logic allowing cache array size to differ from physical page size
KR20010101695A (ko) 가상 메모리 시스템에서의 메모리 접근 개선 기술
JPS624745B2 (ja)
JPS58118083A (ja) 多重処理システムにおけるキヤツシユ制御機構
JPH0743670B2 (ja) ストアスルーキャッシュ管理システム
US8621152B1 (en) Transparent level 2 cache that uses independent tag and valid random access memory arrays for cache access
EP0533427B1 (en) Computer memory control system
US4419725A (en) Cache/disk subsystem with tagalong copy
CN120780615A (zh) 具有部分逻辑到物理地址转换表的非易失性存储控制器
JP2001117817A (ja) キャッシュメモリの制御方法、コンピュータシステム、ハードディスクドライブ装置およびハードディスク制御装置
US20080307169A1 (en) Method, Apparatus, System and Program Product Supporting Improved Access Latency for a Sectored Directory
US20060031639A1 (en) Write unmodified data to controller read cache
JPH044617B2 (ja)
EP0665499A2 (en) Hierarchic data storage system
JPS6194159A (ja) メモリ装置
JPH05158793A (ja) 並列キャッシュメモリ
JP2852247B2 (ja) 共有メモリ型マルチプロセッサシステム
JP3157673B2 (ja) 仮想記憶システム
JP2502406B2 (ja) 記憶制御方式およびデ―タ処理装置
JPS5818710B2 (ja) 記憶システム

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20071024

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20081024

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20091024

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20101024

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20101024

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20111024

Year of fee payment: 15

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

Free format text: PAYMENT UNTIL: 20121024

Year of fee payment: 16

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

Free format text: PAYMENT UNTIL: 20121024

Year of fee payment: 16

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

Free format text: PAYMENT UNTIL: 20131024

Year of fee payment: 17

EXPY Cancellation because of completion of term