JPH0727495B2 - データ転送方法 - Google Patents

データ転送方法

Info

Publication number
JPH0727495B2
JPH0727495B2 JP58123539A JP12353983A JPH0727495B2 JP H0727495 B2 JPH0727495 B2 JP H0727495B2 JP 58123539 A JP58123539 A JP 58123539A JP 12353983 A JP12353983 A JP 12353983A JP H0727495 B2 JPH0727495 B2 JP H0727495B2
Authority
JP
Japan
Prior art keywords
data
cache
command
channel
transfer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP58123539A
Other languages
English (en)
Other versions
JPS5960552A (ja
Inventor
マイケル・ハワ−ド・ハ−タング
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JPS5960552A publication Critical patent/JPS5960552A/ja
Publication of JPH0727495B2 publication Critical patent/JPH0727495B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0888Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/312In storage controller

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Bus Control (AREA)
  • Computer And Data Communications (AREA)

Description

【発明の詳細な説明】 〔発明の技術的分野〕 本発明は周辺記憶システムに係り、更に詳細に説明すれ
ばランダム・アクセス式データ・キヤツシユが磁気記憶
デイスク・フアイルまたは磁気記憶テープ・フアイルの
如き、より低速のバツクアツプ用記憶装置に対する見か
け上の記憶を与えるような記憶階層に係る。
〔発明の背景〕
データ処理は常に、大量のデータを記憶するのに磁気テ
ープ装置および磁気デイスク装置のような周辺記憶装置
に依存している。このような周辺記憶装置からのデータ
は、要求に応じてデータ処理ユニツトの主記憶に転送さ
れる(米国特許第3217298号および第3218611号参照)。
その場合、データは主記憶の待行列に入れられ、データ
を要求したコンピユータ・プログラムによつて使用され
るのを待つ。データ・バツフアの使用により周辺記憶装
置の性能を向上させるという概念が米国特許第2960683
号に示されている。この特許では、周辺データ記録装置
とデータ処理ユニツトの主記憶との間に先入先出(FIF
O)バツフアを設け、このバツフアでデータを待行列化
するようにしている。このデータ・バツフアは周辺デー
タ記録装置の機械的遅延をデータ処理ユニツトからマス
クするように作用する。しかしながら、高い性能および
大記憶容量に対する要求は前記解決法のいずれによつて
も満足されていない。
米国特許第3569938号では、データ処理ユニツトおよび
大量のデータを記憶する大容量記憶装置とともに動作す
る高速記憶すなわちキヤツシユを有することを特徴とす
る周辺記憶階層の概念が示されている。高速記憶と大容
量記憶装置とに密接に連係する制御は、データ処理ユニ
ツトからの要求に応答して、データ処理ユニツトによつ
て次に使用されると予期されるデータを高速記憶に維持
する。この制御は記憶マネージヤと呼ばれ、大容量記憶
装置から高速記憶にデータをページ・インすることに係
るデータ・プロセツサからの要求に応答するとともに、
所定のスペース割当および置換規則に従つて逆方向の要
求にも応答する。1つの実施例では、高速記憶は今日の
半導体記憶に似た磁気コアのランダム・アクセス記憶で
あつた。大容量記憶装置は磁気デイスク記憶または磁気
テープ記憶である。また、磁気デイスク記憶を磁気テー
プ記憶に対する高速記憶として使用することもある。周
辺記憶階層は接続された複数のコンピユータとの間でデ
ータを授受することもあつた。米国特許第3670307号で
は、変更されたデータのみを高速記憶から大容量記憶装
置に転送することにより2レベル記憶階層のオペレーシ
ヨンを改善する方法が示されている。米国特許第367030
9号では、記憶階層の柔軟性の向上が示されている。す
なわち、複数のポート、つまりホスト接続機構が設けら
れ、各々のポートはそれ自身の制御およびアクセス要求
を待行列させる機能を有し、それによつて2レベル記憶
階層の内部オペレーシヨンを向上させるようにしてい
る。米国特許第3699530号では、チヤネル内にデータ・
バツフアを置いて前記周辺記憶階層を更に改善してい
る。このデータ・バツフアは先入先出バツフアとして示
され、そこでデータは主記憶に割当てられる前に待行列
に加えられる。米国特許第3735360号では、チヤネル内
バツフアの変更例が示され、各々のプロセツサはそれ自
身のキヤツシユを有する、すなわちFIFOバツフアという
よりはむしろ、キヤツシユ・データを真に管理するバツ
フアが各々のチヤネルに設けられる。米国特許第381247
5号では、周辺記憶システムをホストに接続するホスト
接続機構が示されている。米国特許第3839704号では、
デイスク記憶装置にキヤツシユ・バツフアを設け、デー
タ処理ユニツトの入出力チヤネルがこのキヤツシユを介
してデイスク記憶装置からのデータをアクセスするよう
にしている。米国特許第4053752号では、更に精巧な記
憶階層が示され、複数のデイスク記憶装置が自動テープ
・ライブラリからデータを取込む。テープ・ライブラリ
と高速デイスク記憶装置との間のデータ転送は、両転送
方向にデータを待行列させるFIFOバツフアを介して行な
われる。ホストの入出力チヤネルと高速デイスク記憶装
置の間には小容量の直列比/非直列化バツフアが接続さ
れる。
主記憶とプロセツサの間でキヤツシユ転送を行なうとい
う発想もある。例えば、米国特許第4189770号では、一
定のオペランド・データ転送中にキヤツシユを選択的に
バイパスすることが示されている。米国特許第4157586
号では、主記憶のバツクアツプ記憶が更新されるとき主
記憶のキヤツシユを更新するようにしている。米国特許
第4159517号では、プロセツサによつてキヤツシユをア
クセスする速度を測定し、主記憶のデータ転送を行なう
ようにタイムアウトをとりながら、主記憶からキヤツシ
ユにデータを転送することが示されている。米国特許第
4142234号では、キヤツシユは各々がデイレクトリを有
する複数のキヤツシユで構成されている。米国特許第40
84231号では、多重レベル記憶階層におけるコピーバツ
ク制御が示されている。米国特許第4020466号は、上位
記憶階層におけるすべての変更を下位記憶階層にコピー
バツクすることを示す。米国特許第3588839号では、変
更されたデータを記憶階層の上位から下位にできるだけ
早く転送するようにしている。
周辺システムは通常、複数の異なるタイプのコンピユー
タに接続される。従つて、各々のタイプのコンピユータ
の接続機構を再設計するよりはむしろ、各種のコンピユ
ータを各種の周辺システムに結合する、いわゆるチヤネ
ルが開発されている。チヤネルによれば、1つの周辺シ
ステムを複数の異なるタイプのコンピユータに同時に接
続することが可能である。しかしながら、チヤネルを設
けてもコンピユータのタイプによつてはI/Oまたはチヤ
ネル・コマンドが異なることがある。コマンドの各種の
セツトに適応するため周辺システムは各種の回路を有す
る。例えば、米国特許第3721961号では、1つの周辺シ
ステムが異なるコマンド・セツトを有する各種のコンピ
ユータに接続される。開示された回路は、1つのコンピ
ユータの回復能力を別のコンピユータの回復能力にまで
高めることによつて、コンピユータの多様性に適応可能
としている。
発明が解決しようとする従来技術の問題点 以上の技術のすべてをもつてしても、より最適な動作を
行なう周辺記憶階層の発明が必要である。データをより
早くアクセスするとともにデータの保全性(integrit
y)を高めるように、前記記憶階層の内部オペレーシヨ
ンを改善することが今なお強く望まれている。よりすぐ
れた能力を有する周辺装置を旧式で低速のホストととも
に動作させることも要求されている。特に、入出力、チ
ヤネルのデータ転送容量はデータ速度に相当な変動を有
する。例えば、高速チヤネルの例としていわゆるストリ
ーミング・チヤネルは3メガバイト/秒の転送能力を得
ることができるのに対して、低速チャネルの例としての
旧式のいわゆるノンストリーミングチヤネルは1.5メガ
バイト/秒以下の能力に過ぎないことがある。従つて、
新しい装置が記憶階層に組込まれたとき、その記憶階層
を高速のチヤネルだけではなく低速のチヤネルにも接続
可能であることが望ましい。そのような接続機構は効率
的な記憶階層を与えるため種々のデータ処理技術を必要
とすることがある。
〔発明の概要〕
本発明の目的は、周辺記憶システムの内部データ処理能
力と接続チヤネルのデータ転送能力との相対値に従つ
て、その内部オペレーシヨンを自動的に調整するように
した周辺記憶システムを与えることである。
ある瞬間に周辺記憶システムよりも小さくないデータ転
送能力を有する経路、すなわちチヤネルは、たとえホス
トと周辺装置の間のデータのキヤツシユ転送が可能であ
つても、周辺装置を直接アクセスすることが望ましい。
特定の局面においては、周辺装置に対する第1方向(書
込み)のデータ転送は周辺装置に対し直接行なうことが
望ましいのに対し、周辺装置からホストへの第2方向
(読取り)のデータ転送はキヤツシユを介することが望
ましい。周辺装置のデータ転送速度よりも小さいデータ
転送速度を有する低速のチヤネルを経由するデータ転送
の場合は、すべての転送はキヤツシユを介して行なわれ
る。内部オペレーシヨンの選択はオペレーシヨンごとに
行なわれ、データには関連しない。かかる態様で転送を
行うのは転送効率を最大限にまで向上させることを目的
とするものであることは言うまでもない。この転送効率
の向上は以下の三つの理由に基づくものである。
第一に、いくら高速チャネルといえどもキャッシュヒッ
ト場合の転送速度に勝るものではない。従って、読み出
しの場合は高速チャネルにおいても最初にキャッシュア
クセスを行うという従来の転送の態様を採用することが
好ましい。第二に、低速チャネルにおいて書込みに際し
てキャッシュを通すのは、ホストはキャッシュにデータ
が記憶されれば次の処理に移れるので転送速度が速いキ
ャッシュにまず書き込むことが処理速度の向上に最も資
するためである。高速のチャネルにおいては十分な転送
速度を確保できるので、従来の低速チャネルにおいてキ
ャッシュに対して書き込むのと同等の時間で直接的にデ
ータ記憶装置に書込みができ、ホストは次の処理に移れ
る。以上の二点によって、高速チャネルでの転送は読取
りについてはキャッシュバッファを介して行い、書込み
については直接的にデータ記憶装置に対して行うもので
ある。第三に、一般にデータ転送の80%以上は読取りで
あることから、読取りについてもホストが直接的に周辺
記憶装置に対して行うとチャネルへの負荷が増大し、か
えって転送効率を害する。更に、使用中のデータ処理ユ
ニツトは、キヤツシユと周辺装置の間に希望する動作関
係を確立するため、周辺システムに意志表示信号を送
る。この意志表示信号は高速および低速のチヤネルのた
めに周辺システムによつて異なつて解釈され、かくて効
率および望ましい動作関係を維持する。特に、選択的に
キヤツシユをバイパスすることによつて各種の内部制御
が生じる。キヤツシユの(記憶)スペース管理のための
内部制御は、前記異なるチヤネルを介するホストと周辺
装置の間の信号転送によつて影響を受ける点を除き、高
速および低速のチヤネルに無関係に行なわれる。
〔詳細説明〕
以下図面を参照して本発明の実施態様を説明するにあた
り、図面中の同じ参照番号は図面が異なつても同じ部分
および構造特性を示すことに注意されたい。第1図およ
び第2図において、周辺記憶システム10は、ホスト(ま
たは使用ユニツト)11に接続され、ホスト11および周辺
記憶システム10に使用するデータ信号の受取りおよび供
給を行なう。周辺記憶システム10の代表的な適用例にお
いて、ホスト11は複数の中央処理ユニツト(CPU)から
成る。ホスト11にはハードウエアのCPUで走行する仮想
計算機またはそのセツトを含むことができる。ホスト11
はまたマルチ・プロセツサ、付加処理装置を有する単一
プロセツサ等である場合もある。周辺記憶システム10
は、一般的な使用においては通常、複数のホスト11に接
続されるのに対し、ページングおよびスワツピングのた
めの接続においては通常、1つのホスト11に接続され
る。
ページング周辺記憶システム10とホスト11の間の通信
は、例えばIBM370シリーズのコンピユータの入出力チヤ
ネルに従つて構築される複数の入出力接続12を介して行
なわれる。このような入出力接続は一般にチヤネルまた
はサブチヤネルとも呼ばれるが、これは当業者には周知
であるので詳細な説明は行なわない。ホスト11はデータ
転送速度を変更しうる能力を有するI/Oチヤネルを備え
ている。高速チヤネル13は例えば3メガバイト/秒また
はそれ以上の一定の最高データ速度でホスト11と周辺記
憶システム10の間のデータ転送を可能にする。低速チヤ
ネル14は例えば700キロバイト/秒、1.5メガバイト/秒
等のより低速のデータ転送速度のデータ転送を可能にす
る。本発明によれば、周辺記憶システム10はこれらのチ
ヤネルの中のいずれかのチヤネルによつて、高速または
低速で効率的なデータ転送を行なう。
周辺記憶システム10は低速の直接アクセス記憶装置、す
なわち複数のDASD(またはバツクアツプ記憶)16を有す
る。それぞれのDASD16はD0、D1、‥‥と表記されてい
る。周辺記憶システム10に関するホスト11からのすべて
のデータのアクセスおよびデータの記憶はDASD16をアド
レス指定することによつて行なわれる。このアドレス指
定は既知の入出力接続12のアーキテクチヤを使用して行
なわれる。ある瞬間にはホスト11がDASD16とデータを直
接に授受するのに対し、他の時刻ではシステム記憶30の
キヤツシユ・バツフア40がホスト11とDASD16の間に接続
される。(データ領域を迅速にアクセスする)性能を高
めるため、周辺システム制御31は周辺記憶システム10を
管理することにより、キヤツシユ40にホスト11によつて
アクセスされる見込みが最も大きいデータが記憶される
ようにする(このデータはDASD16に記憶されたデータの
選択された部分的な写しである)。キヤツシユ40は、そ
のデータ転送速度が周辺記憶システム10に接続されてい
る最も高速なチヤネルのホスト11に対するデータ転送速
度よりも小さくならないように構成される。
DASD16のデータ転送速度はDASD16によつて使用可能な最
低のチヤネル・データ転送速度を決定する。すなわち、
所与のDASD16についてデータ転送が開始された後は、そ
のDASD16のデータ転送速度は接続されたすべてのユニツ
トの非緩衝式データ転送の速度を決定する。従つて、高
速チヤネル13または低速14が、入出力接続12を介して所
与のDASD16に対し直接動作するためには、当該チヤネル
はこのDASD16のデータ転送速度よりも小さくないデータ
転送能力を持たなければならない。また、ホスト11の主
記憶(図示せず)、または前記チヤネルがDASD16との間
でデータを送受するのに使用することがある他の記憶
は、最小限の大きさのデータ信号ブロツクを転送する能
力がなければならない。
新しいDASDが開発されるのに従つて、データ転送速度は
一般に増大する。また、転送速度の速いこれらの新しい
DASDが、各種のホスト−これらのホストの中にあるもの
は新しいDASDよりも遅いデータ転送速度を有するI/Oチ
ヤネルを有することがある−に接続されることが望まし
い。前記I/Oチヤネルは低速チヤネル14と呼ばれるもの
である。これに対し、高速チヤネル13はDASDのデータ転
送速度よりも遅くはないデータ転送速度を有するもので
ある。また、本発明のように、周辺記憶システム10を高
速および低速のチヤネルに接続してホスト11によつて使
用される見込みが最も大きいデータをキヤツシユ40に与
えるとともに、ホスト11、高速チヤネル13およびDASD16
の間の直接データ転速を選択的に許容することが望まし
い。また、本発明はホストのプログラミング要件を緩和
するが、これは一定のデータ転送を処理するチヤネルに
連結された周辺装置の最大データ転送速度に従つて一定
のチヤネル・コマンドを解釈することによつて可能とな
るものである。キヤツシユ40はDASD16と低速チヤネル14
の間の速度変更バツフアとして作用する。本発明によ
り、周辺システム制御31の動作は高速または低速チヤネ
ルのいずれが周辺記憶システム10とデータを現に授受し
ているかによつて変更される。チヤネルの動作は混在可
能である。例えば、高速チヤネル13がデータを周辺記憶
システム10に供給している間に、低速チヤネル14は前記
データを取出すことができる。多重経路(multipathin
g)の環境においては、コマンドを1つのチヤネルを介
して受取りながら、別のチヤネルではデータ転送を行な
うことができる。I/Oコマンドの一定のチエーン(この
ようなコマンド・チエーンはIBMシリーズ370のコンピユ
ータ等で使用される)の中で転送されるデータに関して
周辺記憶システム10を現在どのチヤネルがアクセスして
いるかによつて、周辺システム制御31の動作が自動的に
調整される。このように、周辺システム制御31およびホ
スト11は、周辺記憶システム10をホスト11に接続するI/
Oチヤネルの相対的なデータ転送能力に関する周辺記憶
システム10の知識およびホスト11が供給した一定の意志
表示信号を除き、特定の制御構造を必要とせずに効率的
に協同動作を行なう。
周辺記憶システム10の記憶階層は半導体のランダム・ア
クセス式システム記憶30を含み、そしてこのシステム記
憶30はDASD16のキヤツシユとして指定された部分40を有
する。周辺システム制御31はホスト11から周辺コマンド
を受取り、DASD16のアドレスに基づいてDASD16またはキ
ヤツシユ40をアクセスする。キヤツシユ40とDASD16の間
では周辺記憶システム10によつてデータが自動的に転送
される。これらの転送では、ホスト11とDASD16の間の場
合と同じ既知の転送原理が使用される。すなわち、ホス
ト11は(キヤツシユ40をバイパスする)直接モードでDA
SD16をアクセスするが、このアクセスはCAA、CAB、CAC
およびCADと個々に表記されたチヤネル・アダプタ32、D
AC(直接アクセス制御)56を使用するバス70、データ・
フロー回路33、DAA(装置アダプタ接続機構)34およびD
CA(装置制御接続機構)35を介して行なわれる。受取ら
れた周辺コマンド(チヤネル・コマンド・ワードCCWと
呼ばれることもある)は、このタイプの記憶装置の制御
として周知のように、周辺システム制御31によつて解釈
され、ホスト11とDASD16の間のデータ・フローの方向お
よび他の機能を決定する。すなわち、ホスト11が1組の
周辺コマンドによつて制御を行なつている間に、周辺シ
ステム制御31はCCWと同様な方法で構成される複数のICW
(内部コマンド・ワード)を使用することによつて、キ
ヤツシユ40とDASD16の間のデータ転送を行なう。CCWに
応じてICWを変更することによつて、一定のデータ転送
効率が得られる。ICWは、チヤネル・アダプタ32を通過
する代りに、周辺システム制御31の(システム記憶30を
操作する)キヤツシユ・アクセス制御、すなわちCAC61
から経路66を介して直接DAC56に移動する。DAC56はCCW
に応答するのと同じ方法でICWに応答するのでその詳細
は省略する。各々各々のICWはCCWのコマンド・バイトに
相当するコマンド・バイトを有する。若干のICWコマン
ドが追加されることもある。また、各々のICWはCCWのコ
マンド修飾バイトと類似のコマンド修飾バイトを有す
る。更に、各々のICWはチエーン制御ビツト「CHAIN」を
有し、通常ホスト11によつてチヤネル・アダプタ32を介
して周辺システム制御31に与えられるチエーン表示に取
つて代る。(ホスト11によるチエーン表示は最終ステー
タス・タイムにおけるタグ信号「サプレスアウト」の供
給である。)CAC61はタグ信号を使用しないから、「チ
エーン」ビツトを有するICWコマンド修飾バイトは前記
タグ信号に取つて代る。
キヤツシユ40はチヤネル・アダプタ32、バス41を介して
ホスト11とのデータ信号を転送する。同様に、DASD16と
のデータ信号の転送はデータ・フロー回路33、バス42を
介して行なわれる。キヤツシユ40とホスト11の間、また
はDASD16の間の同時転送が必要でないときは、バス41お
よび42は1つのバスに統合され、時分割でデータ転送に
使用される。(数メガバイトの)比較的大容量のキヤツ
シユ40をアクセスするには、ホストが供給した装置アド
レスをシリンダおよびレコード・アドレスCHRとともに
バス72を介してシステム記憶30のハツシユ回路(図示せ
ず)に転送するCAC61が必要である。ハツシユ回路−マ
イクロコードで実現することがある。−はDASDアドレス
をハツシユ・クラス標識に変換する。キヤツシユ40の記
憶容量はDASD16よりもずつと小さいから、DASD16のアド
レス範囲はハツシユ・クラスと呼ばれる複数のクラスに
集中され、これによりキヤツシユ40のアクセスを容易に
する。システム記憶30におけるSIT(分散インデツクス
・テーブル)45はハツシユ・クラスの各々に対して1つ
のレジスタを有する。SIT45のレジスタの内容は、DASD1
6をアクセスするのに用いるアドレスDCHRを保持するDIR
(デイレクトリ)43に対するアドレス・ポインタであ
る。データがキヤツシユ40に記憶される場合、DASD16の
DCHRアドレスはキヤツシユ40のアドレスとともにDIR43
のエントリに記憶される。複数のDASD16のアドレスは1
つのハツシユ・クラスに対応するから、一重連結された
ハツシユ・クラスのリストがDIR43のエントリに与えら
れ、従つてハツシユを使用してキヤツシユ40を走査する
には一定のハツシユ・クラス内のエントリを走査するこ
とだけが必要である。DIR43の内容に基づいて、キヤツ
シユ40は既知の方法を用いてアクセスされる。DIR43に
関係エントリが発見されない場合は、キヤツシユ・ミス
が生ずるのでCAC61は、後に説明するように、キヤツシ
ユ40にスペースを割当ててホスト11からデータを受取る
か、またはDASD16とキヤツシユ40またはホスト11の間で
データを転送することが必要である。各々のDASD16の識
別および動作ステータスはDCB(装置制御ブロツク)62
のレジスタのそれぞれに保持される。
周辺システム制御31は周辺記憶システム10をホスト11に
接続する在来の制御ユニツトの部分を有する。例えば、
ACE(アドレス/コマンド鑑定器)50はバス51、52、53
および54を介してチヤネル・アダプタ32と交信し、ホス
ト11からコマンド信号を受取るとともにホスト11にステ
ータス信号を供給する。ACE50は受取つたCCWを鑑定し、
且つ周辺記憶システム10にコマンドの機能を実行するよ
うに指令するとともに、チエーン状態を表示し且つ周辺
記憶システム10の他の部分からステータス信号を受取つ
てこれをホスト11に中継する。ACE50はDAC56またはCAC6
1のいずれかに前記コマンドを供給する。DAC56はACE50
に応答し、今日のDASD記憶装置の場合のようにデータ・
フロー回路33を制御する。CAC61はDIR43を探索するか、
またはICWを使用してDAC56を活性化する。
CAC61がDIR43のハツシユ・クラスの探索によつてキヤツ
シユ・ミス表示を検出すると、DASD16からキヤツシユ40
へのデータ転送要求がバス66を介してDAC56に送られ
る。バス66の信号は前記要求をDAC56に知らせICWを識別
する。良好なマイクロコードの実施例では、後に明らか
になるように、バス66を介して行なわれる転送はマイク
ロコード制御の転送である。DAC56はホスト11のCCWに対
する応答と同じ方法でICWに応答する。CAC61が要求した
データ転送が完了すると、DAC56はバス66を介してCAC61
にステータス信号を送る。その時点で、キヤツシユ40は
ホスト11に使用可能なデータを有することになる。この
手順の後は、低速チヤネル14を介して常にDASD16からの
データが低速チヤネル14を介して転送される。これらの
データ転送を効率的に処理するため、1組のQ(待行
列)レジスタ67がCAC61によつて要求されたDASD関係の
オペレーシヨンを待行列させる。このようにして、DAC5
6はDASD16に対する要求の待行列動作に関与することな
く、ホスト11またはCAC61のいずれについても同じよう
に動作可能である。従つて、DAC56は記憶階層に関連し
て使用できるだけでなく、キヤツシユ40がバイパスすな
わち非活性化されたときにも同様に使用できる。
また、CAC61は追加の制御を有する。例えば、ADEBレジ
スタ76はDIR43の1つのエントリ−このエントリによつ
てCAC61が現在動作している−を有する。すなわち、DAS
D16のアドレスがキヤツシユ・ヒツトを生ぜしめた場
合、云いかえればキヤツシユ40の一部分がホスト11によ
つて供給されるデータに割当てられた場合、ADEBレジス
タ76に前記エントリを置くことによつて、CAC61のオペ
レーシヨンが効率的に行なわれる。DIR43はシステム記
憶30の一部分であり、ADEBレジスタ76にアクテイブなエ
ントリを置くことによつてシステム記憶30は解放され、
周辺システム制御31とは無関係にバス41および42によつ
てデータを転送できる。
第2図は周辺システム制御31にプログラム式マイクロプ
ロセツサ31Pを使用する場合の本発明の良好な実施例の
ブロツク図である。バス70はチヤネル・アダプタ32から
データ・フロー回路33に接続され、第1図の場合と同じ
ように動作する。バス41および42はそれぞれチヤネル・
アダプタ32およびデータ・フロー回路33からシステム記
憶30に接続される。バス41および42を1つのバスに統合
し、これを時分割化してデータ転送を行なうようにして
もよい。データ・フロー回路33およびシステム記憶30の
間のデータ転送を制御する際、プロセツサ31Pはバス71
を介してデータ・フロー回路33に制御信号を与え、バス
72を介してシステム記憶30にアドレスおよび制御信号を
与える。
プロセツサ31Pのオペレーシヨンは、制御記憶73に記憶
されたマイクロコード・プログラムに従つて行なわれ
る。制御記憶73は書込可能であることが望ましいけれど
も、その一部が書込可能で特定のプログラムを保持する
他の部分が読取専用であるようにしてもよい。バス74は
プロセツサ31Pを制御記憶73に結合する。制御記憶73に
は、ACE50の機能を実現するACEプログラム50P、DAC56の
機能を実現するDACプログラム56P、CAC61の機能を実現
するCACプログラム61P、および周辺記憶システム10のオ
ペレーシヨンに必要なプログラムではあるが本発明を理
解するのには必要ではない他のプログラム、すなわちOP
プログラム75が含まれる。プログラム50P、56Pおよび61
Pを介して周辺記憶システム10を制御するためにプロセ
ツサ31Pによつて使用されるレジスタには、チヤネル13
および14との現在のデータ転送に関するステータスおよ
び制御情報を保持する処のCCB(チヤネル制御ブロツ
ク)63、DCB62、Qレジスタ67、ADEB76、SIT45、キヤツ
シユ40に固定されたデータをリストする処の固定リスト
60およびどのDASD16が直接にアクセスされ(D=1)、
そしてどれがキヤツシユ40を介してアクセスされる(D
=0)かを一定のコマンド・チエーンで表示する装置D2
0が含まれる。DCB62および装置D20は本発明に特に関連
する。キヤツシユ40が非常に大容量の場合には、SIT45
をシステム記憶30に記憶させることができる。性能を高
めるため、SIT45のページを含む1組のレジスタを制御
記憶73に予約しておくことができる。2つの記憶デイレ
クタまたは中央ユニツトを有し、その各々が別個の周辺
システム制御31、周辺記憶システム10およびデータ保全
目的を有する周辺システムでは、システム記憶30のよう
な共通にアクセス可能な記憶装置に一定の制御データ構
造が記憶されなければならない。これらの制御データ構
造はDIR43、SIT45および固定リスト60を含む。
第3図は第1図および第2図に示すシステムで本発明が
実施される環境を理解するのに役立つマシン・オペレー
シヨンの概要を示す。参照番号80〜87、90および91は周
辺コマンドの1つのチエーン内の入出力オペレーシヨン
を参照する。多くのコンピユータでは、コマンドのチエ
ーンは最終ステータス報告等にホストから周辺システム
へ与えられる「サプレスアウト」と呼ばれるタグ信号に
よつて指示される。最終ステータスの時点における「サ
プレスアウト」タグ信号の除去はステツプ91で示すよう
にチエーンの終了を表わす。各々のチエーンはステツプ
80に示すようにいわゆるモードセツト・コマンドによつ
て開始される。モードセツト・コマンドはホスト11から
周辺記憶システム10に制御信号を供給することにより、
実行すべきオペレーシヨンの種類と、コマンド・チエー
ン中のコマンドの一部分をいかに解釈すべきかというこ
とを周辺記憶システム10に指示する。モードセツト・コ
マンドは複数のチエーンにわたつて延在するようなモー
ドをセツトすることがある。従つて、あらゆるコマンド
・チエーンをモードセツト・コマンドで開始する必要は
ない。更に、一定の制限内では、モードセツト・コマン
ドをコマンド・チエーン中の他のコマンドの間に点在さ
せて周辺記憶システム10のオペレーシヨン・モードを変
更することができる。典型的なモードセツト・コマンド
については第5図に関連して後述する。
DASD環境において、ホスト11はステツプ81でシーク・コ
マンドを送り、次のデータ転送コマンドを収容するよう
にDASDの放射状ヘツド位置の調整を周辺記憶システム10
に指示する。例えば、シーク・コマンドによつて、DASD
の記憶表面の特定のシリンダ(放射状の1つの位置の全
トラツク)に対するヘツドがシークされる。ステツプ81
のシーク・コマンドによつてトラツクのシリンダがアク
セスされると、ステツプ83で、記録表面の回転位置がセ
クタ・セツト・コマンドによつてセツトされる。続い
て、ステツプ84で、ステツプ83のセクタ・セツト・コマ
ンドによつて概略的に指示された一定の回転位置のレコ
ードを探索コマンドによつて識別する。次にステツプ85
で、アクセス・コマンドによつてデータ記憶領域のアク
セスが行なわれる。アクセス・コマンドは読取コマンド
または書込コマンドである場合がある。ステツプ83、84
および85の機能はまとめてトラツクに対する「参照」82
と呼ばれる。このような参照はステツプ80のモードセツ
ト・コマンドの制御情報およびステツプ85のオペレーシ
ヨンの種類と共同して、後に明らかになるように、周辺
記憶システム10の内部オペレーシヨンを制御する作用を
有する。
本発明においては、キヤツシユ40またはDASD16のデータ
記憶領域のいずれかに対するアクセスの制御は、ステツ
プ86で示す一定のプリアクセス・コマンドならびにステ
ツプ87で示すポストアクセス・コマンドの実行を必要と
する。前記アクセス・コマンドについては後に第7図お
よび第8図のマシン・オペレーシヨンに関連して説明す
る。参照番号90は一連の複数の読取および書込コマンド
が1つのコマンド・チエーン内に存在することを表わ
す。ステツプ91でチエーン終了が検出される。次に、本
発明に従つて、一定のポストチエーン・オペレーシヨン
がステツプ92で行なわれる。このオペレーシヨンは第9
図に示されている。ポストチエーン・オペレーシヨンと
いう用語は1つのコマンド・チエーンの終了と次のコマ
ンド・チエーンの開始の間にオペレーシヨンが開始され
ることを意味する。周辺記憶システム10における非同期
的なデータ転送(例えばキヤツシユ40とDASD16の間の転
送)の数を減少させるために、ポストチエーン・オペレ
ーシヨン92は、次の入出力開始(SIO)命令がホスト11
から受取られるまで、しかも次のチエーンの最初のコマ
ンドが実行される前まで、延期されることがある。代替
的に、ポストチエーン・オペレーシヨン92はステツプ91
におけるチエーン終了の検出直後に行なわれることもあ
る。ポストチエーン・オペレーシヨン92はステツプ93で
非同期オペレーシヨンをスケジユールし、セツトアツプ
する。前記非同期オペレーシヨンには、次の読取コマン
ドをホスト11から受取る準備としてDASD16からキヤツシ
ユ40へデータを転送するオペレーシヨン、キヤツシユ40
のスペース管理に関連して、またはホスト11から受取つ
た一定の制御信号に応答してキヤツシユ40からDASD16へ
データを転送するオペレーシヨン、および後に明らかに
なるその他のオペレーシヨンが含まれる。
第4図は本発明によつて使用されるDIR43およびDCB62の
データ構造を示す。DIR43には複数のアドレス可能なレ
ジスタ100が含まれ、これらのレジスタはシステム記憶3
0に存在するのが望ましい。キヤツシユ40の割当可能部
分ごとに1つのレジスタ100がある。バツクアツプ記憶1
6がDASDを含む場合、前記割当可能部分はDASDの1デー
タ・トラツクの内容を記憶するのに必要な記憶領域の広
さであることが望ましい。他の構成では、DASDの1デー
タ・トラツクは複数のセグメントすなわちレコード領域
に区分されることがある。レコード領域が固定長である
場合、キヤツシユ40の割当可能記憶スペースを前記レコ
ード領域の大きさに設定することができる。いかなる場
合でも、キヤツシユ40の各々の割当可能記憶領域−これ
はまたアドレス可能単位である−ごとに1つのレジスタ
100がある。レジスタ100のHL(ハツシユ・クラス連結リ
スト)101は一重連結リストを構成し、ハツシユ・クラ
スすなわちバツクアツプ記憶16のアドレス指定構造に基
づくキヤツシユ40のアドレス指定セグメントを識別す
る。前記ハツシユ・アドレス指定は既知の技術であるの
で詳細な説明は省略する。インデツクス102はHL101によ
るハツシユ・アドレスなしでDIR43のレジスタ100を識別
するのに有用である。DADDR103はキヤツシユ40に記憶さ
れたデータを含むバツクアツプ記憶16の装置アドレスを
有する。前記アドレスには、アドレスされているDASDの
名称、シリンダ・アドレスCC、ヘツドまたはレコード表
面アドレスHHおよびレコード番号が、必要に応じて含ま
れる。CADDR104には、それぞれのレジスタ100のエント
リによつて表わされるデータを記憶する、キヤツシユ40
におけるアドレスが含まれる。LRU105はキヤツシユ40に
記憶したデータ内容の置換を制御する際に有用なレジス
タ100の各々にあるエントリを有する二重連結されたリ
ストの部分である。二重連結されたリストの一方の端は
キヤツシユ40の割当可能記憶領域のうちLRU(Least Rec
ently Used)領域であり、二重連結リストの他方の端は
キヤツシユ40の割当可能記憶領域のうちMRU(Most Rece
ntly Used)領域である。LRU二重連結リストの更新は既
知の技術であるので詳細な説明は省略する。
Mビツト106は、キヤツシユ40の指示されたデータ内容
が使用ユニツト11から受取つたデータによつて変更され
且つDASD16における対応するコピーがまだ更新されてい
ないかどうかを表わす。このビツトは後述のDCB62にお
けるTAV(トラツク活動ベクトル)122に対応する。Pビ
ツト107は部分トラツクすなわちレコードがキヤツシユ4
0に記憶されているかどうかを表わす。前記部分トラツ
クは一定のセクタ(例えば、ステツプ83のセクタ・コマ
ンドで指示された回転位置)で開始するトラツクからト
ラツクの終了(インデツクス)までデータを含むことが
ある。トラツクの開始すなわちフロント位置はキヤツシ
ユ40には存在しない。Bビツト108は、レジスタ100によ
つて指示された記憶領域のデータ内容をキヤツシユ40に
維持(固定)すべきことを知らせる信号を使用ユニツト
11が周辺記憶システム10に送つたことを表示する。既知
の周辺コマンド手順を使用してBビツト108を消すため
の後続信号を使用ユニツト11を与えると、Bビツト108
を変更することができる。Mビツト106がリセツトされ
るのは、バツクアツプ記憶16にデータを降格(demotio
n)する場合のように、記憶された特定のデータに関し
て、キヤツシユ40とバツクアツプ記憶16の内容が等しく
される場合である。
第4図のDCB62は制御記憶73におけるように、プログラ
ム式プロセツサ31P内に記憶される。ACE50、DAC56およ
びCAC61は記憶階層を制御する際、DCB62をアクセスす
る。バツクアツプ記憶におけるアドレス可能なDASD16の
各々ごとに1つのエントリまたはレジスタ・セツト110
がある。最初の部分であるCCR111はそれぞれのレジスタ
・セツト110によつて指示されたDASD16に関連するオペ
レーシヨンについてCCR(チヤネル・コマンド再試行)
がホスト11に送られたかどうかを表わす。タリー(tall
y)112は、後述するようにアドレスされたDASD16に関連
する現在のコマンド・チエーンの書込コマンドの記録を
含む。コマンド/アドレス113はアドレスされたDASD16
に関連してチエーンされた現在の周辺オペレーシヨンの
間に使用ユニツト11から受取つた現コマンドを含む。代
替的に、各々の使用されたCCHH探索用アドレスを使用ユ
ニツト11から現在のコマンド・チエーンの間に受取つた
最後のコマンドの識別とともに記録してもよい。チヤネ
ル114はどのチヤネル・アダプタ32が現在コマンドを受
取つたかを示すピツト有意セクシヨンである。この制御
は周辺オペレーシヨンの間に高速および低速のチヤネル
を識別するのに使用される。CC115は現在アクセスされ
ているトラツクのシリンダのシリンダ・アドレスを含
む。WR116は周辺オペレーシヨンのチエーン中で書込オ
ペレーシヨンが行なわれたかどうかを表わす。書込オペ
レーシヨンの種類はタリー112に表示される。MTビツト1
17は現在のコマンド・チエーンでMT(多重トラツク)オ
ペレーシヨンが行なわれたかどうかを表わす。すなわ
ち、周辺コマンドは一定のシリンダ・アドレス(CC)で
複数のレコード・トラツクからのデータ転送を要求する
ことがあるからである。Dビツト118は、チエーンされ
た周辺オペレーシヨンの間に、キヤツシユ・ミスを原因
とするようなDASD16に対する直接モードのアクセスが行
なわれたかどうかを示す。すなわち、もしキヤツシユ40
が高速チヤネル13からの(読取または書込の)データ・
アクセス要求をサービスするために割当されるスペース
を持たないならば(キヤツシユ・ミス)、前記CCの範囲
内でバツクアツプ記憶16のデータに対する直接アクセス
は現在の要求を満足させるとともに、シリンダ内および
チエーンされた周辺オペレーシヨン内のすべての後続す
るアクセスも満足させる。Cビツト120はキヤツシユ40
がアクセスされたか又はアクセスされようとしていたか
どうかを表わす(米国特許第4075686号で開示されたよ
うなキヤツシユ・バイパス・モードと反対のキヤツシユ
・オペレーテイング・モード)。Dビツト118およびC
ビツト120がともに1にセツトされると、キヤツシユ・
ミスが表示され、ミス・ビツト127に記録される。Fビ
ツト121は現在アクテイブなチヤネル・アダプタ32が高
速チヤネル13に接続されているか(F=1の場合)、又
は低速チヤネル14に接続されている(F=0の場合)こ
とを指示する。
TAV(トラツク活動ベクトル)122は前記トラツクのシリ
ンダ・セツトにおけるレコード・トラツクごとに1つの
ビツト位置を有する。このビツトは現在のコマンド・チ
エーンの間にどのトラツクが書込まれたかを表示する。
CC115が一定である限り、TAV122に含まれるビツト・パ
ターンは周辺記憶システム10に書込まれているデータを
受取つたのはDASD16のどのトラツクかを示す。TAV122は
各々の書込コマンドの実行によつて通常の方法で更新さ
れる。チヤネルDC123はチヤネル・アダプタ32の各々に
対して1ビツトを有するフイールドである。このビツト
はチエインが連続している間持続することがある。高速
チヤネル13についてチヤネルDC123は、チヤネル・アダ
プタ32によつて示されるような一定のチヤネルに関して
アドレスされたDASD16に対するキヤツシユ転送の非活性
化を指示する。DASD16に記憶されたデータがキヤツシユ
40に昇格(promotion)されないのは、このDASD16に対
してキヤツシユ転送が非活性化されなければならないこ
と(チヤネルDC=1)が接続中のホスト11によつて指示
された場合である。代案として、特定のDASD16に対する
キヤツシユ転送が非活性化されねばならないことを示す
信号が接続中のホスト11からすべてのチヤネル・アダプ
タ32に適用されることがある。すなわち、このような場
合にはキヤツシユ40はアドレス指定されたDASD16への参
照のすべてに対して使用不可能である。後者の場合、キ
ヤツシユ転送の非活性化に関するチヤネル・マスクは不
要である。低速チヤネル14に対するキヤツシユ転送の非
活性化は、低速チヤネルに対するキヤツシユ40における
参照のすべてがLRUにされる、すなわち最初に置換えら
れるという結果を導く。
同様に、チヤネルIC124はDASD16に対するキヤツシユ転
送の禁止を指示する。すなわち、現在のコマンド・チエ
ーンによつて行なわれるDASD16に対するデータ・アクセ
ス参照は、どのトラツクをもキヤツシユ40への昇格候補
にしないのである。前記ホスト11の参照はキヤツシユ40
への単独参照であるか、またはキヤツシユ40を十分利用
できないグループ参照のいずれかである。例えば、キヤ
ツシユ転送による利益を受けない参照パターンは、大き
い1組のトラツクにわたつて無作為に拡がるようなアク
セス参照である。すなわち、周辺記憶システム10は性能
を高めるため、どのデータをキヤツシユ40に昇格させる
べきか予測できない。また、コマンド・チエーンがDASD
16の動作特性に対して最適化されており、そして転送中
のデータ量が大きいときは(例えば、複数トラツクを高
速度で転送させるようなメモリ・ダンプの場合)、キヤ
ツシユ転送による利益を受けないであろう。キヤツシユ
・ローデイング禁止の間に行なわれるDASD参照が一連の
書込オペレーシヨンであり、そしてこれに続いてIC属性
が適用される前記のようなコマンド・チエーンが完了し
た場合、キヤツシユ40に現に記憶されているデータを、
前記コマンド・チエーンによつて実行されたDASD16の更
新に一致させることを除いて、DASD16からのデータがキ
ヤツシユ40に昇格されることはない。例えば、Dビツト
108によつてキヤツシユ40に固定されたデータはどれも
更新されるので、キヤツシユ40のコピーとDASD16のコピ
ーの間にはデータの一致関係が存在する。もし現在のコ
マンド・チエーンが、参照された最後のトラツクのみを
変更し且つそのトラツクのイメージが現在のDASD内容に
一致していないならば、次の2つの場合、すなわち順次
データが処理されている場合、または現在のコマンド・
チエーンで複数の書込オペレーシヨンが生じた場合を除
き、キヤツシユ40にあるそのトラツク・イメージはDASD
16の内容によつて更新される。
コマンド・チエーン実行の結果、DASD16のデータと一致
しなくなつたデータ・コピーはキヤツシユ40から降格さ
れる。IC属性は現在の参照パターンの特性であつて、デ
ータそれ自体の特性ではない。従つて、キヤツシユ40内
にイメージを有するDASDトラツクに対するIC属性を伴な
うアクセスはその特定データがキヤツシユから降格され
なければならないという表示ではない。すなわち、他の
ある参照がそのデータ・イメージをキヤツシユ40に昇格
させていることもある。また、IC属性はそれ以前のデー
タ昇格が正しくなかつたことを表示するものでもない。
従つて、キヤツシユ40のデータ・コピーは、あたかもIC
属性の参照が生じなかつたかのように、置換アルゴリズ
ムに従つてキヤツシユ内に存在し続けなければならな
い。そのため、キヤツシユ40内のデータ・イメージに関
するIC属性によつて、LRUリスト中のそのデータの位置
が調整されることはない。前記はすべて高速チヤネル13
のオペレーシヨンに関連する。低速チヤネル14の場合
は、アクテイブのIC属性を有するコマンド・チエーンを
実行している間にキヤツシユ40に到着するデータはLRU
リストの最下部で識別され、従つてこのデータは置換さ
れる候補になる可能性が大きくなる。アドレスされたDA
SD16に関連するデータがキヤツシユ40内にあつたとして
も、このデータが当該DASD16の現在の参照の結果として
キヤツシユ40に置かれたものではなければ、このデータ
は前述の制御を受けない。
BCビツト125は現在のコマンド・チエーンについてキヤ
ツシユ40がバイパスされなければならないことを表示す
る。BCビツト125がモードセツト・コマンドで指定され
る場合、現在のコマンド・チエーンの間、ホスト11は、
あたかもキヤツシユ40が存在しなかつたかのように、DA
SD16に直接働きかける。DIR43の探索は行なわれない。D
ASD16内のトラツクを参照した場合、そのデータのコピ
ーが偶々キヤツシユ40にあることが判つたとしても、置
換アルゴリズムLRUリストの配列が調整されることはな
い。前記モードでは、アクテイブなBC属性に従属してコ
マンド・チエーン内のすべての書込コマンドを禁止する
ことが望ましい。その理由はデータの保全性である。BC
属性の間、書込コマンドによつて、キヤツシユ40を更新
せずにデータがDASD16に記録されることがある。その結
果、周辺記憶システム10に不一致のデータ・コピーが存
在することになり、データの保全性が失われる。前記の
内容は高速チヤネル13のオペレーシヨンにも当てはま
る。常にキヤツシユ40の使用を必要とする低速チヤネル
14については、キヤツシユ・バイパス属性に従属するす
べてのデータはLRUデータとして識別され、従つてかか
るデータは置換される候補になる可能性が最も大きくな
る。前述のように、高速チヤネル13のオペレーシヨンで
は、キヤツシユ40の一定の使用に関する制御は一定の効
果、すなわち実際にキヤツシユ40の使用を回避しようと
する効果を有する。周辺記憶システム10が低速チヤネル
14に接続される場合、前記キヤツシユ使用属性によつ
て、関連データはLRU、すなわち最善の置換候補にな
る。
チヤネルSEQフイールド126はビツト有意フイールドであ
つて、現在のコマンド・チエーン内でどのチヤネル・ア
ダプタが逐次データを転送すべきかを指示する(コマン
ド・チエーンが終了する毎にビツトはリセツトされ
る)。コマンド・チエーン内で高速チヤネル13および低
速チヤネル14によるオペレーシヨンにおける逐次データ
制御の作用については後に説明する。第4図に示す2つ
のデータ構造には、本発明の理解に無関係であるが、記
憶階層を動作させるには望ましいことがある他の制御も
含まれている。
第5図は第3図のステツプ80に示すように、コマンド・
チエーンの最初のコマンドとして受取つたモードセツト
・コマンドを示す。前記モードセツト・コマンドはコマ
ンド・チエーン内でいつでも受取ることができる。後に
明らかになるように、前記モードセツト・コマンドが周
辺記憶システム10に及ぼす作用はコマンド・チエーン内
のその位置に応じて変える。実際のモードセツト・コマ
ンドの構造130には、アドレスされているDASD16を識別
するDADDR131のフイールドが含まれる。このフイールド
はI/O接続12を介して送られた最初のバイトである。こ
のようなDADDR信号は「アドレスアウト」タグ信号がホ
スト11によつて供給されているとき供給される。前記信
号はIBMシステム360または370の入出力インタフエース
の一部分を形成しており、この理由で図面には示されて
いない。コマンド・バイト132はコマンドがモードセツ
ト・コマンドであることを識別する。複数のビツト133
〜138は周辺記憶システム10で使用されるコマンド修飾
バイトに含まれ、周辺記憶システム10のオペレーシヨン
・モードを変更する。これらのビツトが0を示すときは
通常のオペレーシヨン・モードである。任意のビツトが
1にセツトされると、周辺記憶システム10のオペレーシ
ヨンが下記に示すように変更される。Bビツト133が1
にセツトされると、エクステント・フイールド139で定
義されたデータのすべてをキヤツシユ40に固定すること
が指示される。モードセツト・コマンドの実行によつ
て、エクステント・フイールド139によつて識別された
データが制御記憶73に含まれた固定リスト60(第2図)
に入れられるとともにDIR43(第4図)のBビツト180を
セツトする。モードセツト・コマンド実行の一部分とし
て、前記データがDASD16からキヤツシユ40に昇格され
る。UBビツト133Aはエクステント・フイールド139で定
義されたデータをキヤツシユ40から解放することを指示
する。Bビツト108は解放コマンドを表わすためにリセ
ツトされる。Bビツト133とUBビツト133Aは決して同時
にはセツトされない。もし両者がリセツトされれば、固
定も解放も行なわれない。SEQビツト134は次のいくつか
のデータ転送が大部分逐次データであることを表示す
る。このビツトに応じて現在のコマンド・チエーンの期
間にチヤネルSEQフイールド126が変更されるが、これは
現在のモードセツト・コマンドを受取つたときに経由し
たチヤネル・アダプタ32に従つて行なわれる。ICビツト
135は第4図のDCB62にあるチヤネルIC124の対応ビツト
をセツトする。同様に、BCビツト136およびDCビツト137
によつて、BCビツト125およびチヤネルDCビツト123がそ
れぞれのチヤネル・アダプタ32に対してアクテイブ状態
にセツトされる。DSS138はキヤツシユ40を含むシステム
記憶30を非活性化すべきことを指示する。周辺記憶シス
テム10は診断手順を使用することによつて、システム記
憶30を非活性化し、以てデータの保全性を失わないよう
にする。参照番号140はアクセスの上限および下限の確
立、DASD16への書込みを制御するフアイル・マスクの設
定等のように、モードセツト・コマンドに関連して他の
フイールドが使用されることがあることを示す。これら
のモードセツト制御はすべて本発明の理解には関係がな
い。
ホスト11によつて供給されたモードセツト・コマンドは
通常の方法でチヤネル・アダプタ32を介して周辺記憶シ
ステム10に送られる。ACE50はバス51〜54の1つを介し
て前記モードセツト・コマンドを受取る。前記コマンド
は既知の方法を用いて解読され、鑑定される。ACE50は
モードセツト・コマンドを識別すると、受取つたコマン
ドおよびコマンド修飾データを、第6図のマシン・オペ
レーシヨン・チヤートに示すように実行するCACプログ
ラム61Pに与える。プロセツサ31P中のプログラムである
CAC61Pはステツプ145でモードセツト・コマンドを受取
る。ステツプ146で、Bビツト133(第5図)が検査され
る。Bビツト133はエクステント・フイールド139で定義
されたデータがキヤツシユ40に固定されるべきことを周
辺記憶システム10に指示する。もしBビツト135が0で
あれば、現在キヤツシユ40に固定されているデータの解
放が可能である。ステツプ146Aで、UBビツト133Aが検査
される。もし前記ビツトが0ならば、固定ステータスに
変更はなく、プロセツサ31Pは論理経路149に進む。もし
前記ビツトが1ならば、ステツプ147でプロセツサ31Pは
DIR43を検査することによりエクステント・フイールド1
39で指示されたデータを解放すべきか否かを決定する。
ステツプ147で、DIR43は(エクステント・フイールド13
9を使用して)検査される。この結果、エクステント・
フイールドで指示された1つ以上のトラツクをアドレス
して、それぞれのBビツト108(第4図)を検査するこ
とにより、現在DIR43にどのデータが固定されているか
を確認することができる。ステツプ147の走査によつて
識別されたDIR43のデータのすべては、ステツプ148でLR
Uリストに加えられる。すなわち、キヤツシユ40にデー
タを有するDASD16のトラツクの全部がLRUにされる(TRK
=LRU)。この動作は、エクステント・フイールド139で
指示されたトラツクを、DIR43(第4図)のセクシヨン1
05にある二重連結されたリストのLRU入力に加えること
によつて行なわれる。もしDIR43に固定されたデータが
なければ、ステツプ148は省略され、プロセツサ31P(CA
C61)は論理経路149を経て後述の動作を実行することに
なる。
Bビツト133が1のとき、ステツプ150でエクステント・
フイールド139が走査される。もしエクステント・フイ
ールド139が0ならば、エラー状態がステツプ144で記録
され、ホスト11に報告される。モードセツト・コマンド
の実行でエラーを生じたとき、オプシヨンとしてステツ
プ144から抜け出ることが可能である。再びステツプ150
を参照するに、エクステント・フイールド139の内容に
基づいてDIR43が走査され、かくてDIR43にエントリを有
し且つエクステント・フイールド139でも識別される各
トラツクが探索される。プロセツサ31Pはステツプ152で
DIR43をアクセスし、エクステント・フイールド139で表
示されたデータを識別するそれぞれのデイレクトリ・エ
ントリのBビツト108をセツトして該データをDIR43に固
定する。ステツプ150の結果がキヤツシユ・ミスの場
合、すなわち現在キヤツシユ40に存在しないデータをキ
ヤツシユ40に固定することが要求された場合には、ステ
ツプ151で、プロセツサ31Pはモードセツト・コマンドに
よつてアドレスされたDASD16からのデータの昇格をスケ
ジユールし、DIR43のBビツト108を1にセツトして昇格
されたデータをキヤツシユ40に固定できるようにする。
前記データ昇格はモードセツト・コマンドの完了前に行
なうことが望ましい。というのは、このようにすれば、
所望の固定データが該コマンドの完了前にキヤツシユ40
に存在することをホスト11に対し保証することができる
からである。代案として、モードセツト・コマンドが存
在する現在のコマンド・チエーンの完了時にデータ昇格
を非同期にスケジユールすることも可能である。従つ
て、ステツプ151は、昇格されるデータをスケジユール
することだけではなく、アドレスされたDASD16からキヤ
ツシユ40へのデータ信号の実際の転送をも表わしてい
る。
受取つたモードセツト・コマンドの順次データを表わす
SEQビツト134はステツプ160で検査される。一定のコマ
ンド・チエーンに対する順次データが表示される場合、
ステツプ161で、プロセツサ31PはDCB62をアクセスし、
モードセツト・コマンドを受取つた際に経由したチヤネ
ル・アダプタ32に対応するチヤネルSEQ126をセツトす
る。例えば、周辺記憶システム10は4個のチヤネル・ア
ダプタCAA〜CADを有する(第2図)。この場合、チヤネ
ルSEQフイールド26は各チヤネル・アダプタごとに1ビ
ツト、計4ビツトを有する。チヤネル・フイールド114
は、それぞれのチヤネル・アダプタCAA〜CADからコマン
ドを受取る際にACE50によつて前もつて書込まれ、これ
によつてたとえばバス51〜54のいずれが該コマンドを運
んだかを表示する。順次データの解析の後、プロセツサ
31Pは論理経路162を経て、ステツプ163で、周辺記憶シ
ステム10に対しキヤツシユ40のロード禁止を選択的に指
示するICビツト135を検査する。このビツトがアクテイ
ブならば、ステツプ164で、プロセツサ31PはDCB62のチ
ヤネルICフイールド124をアクセスし、モード・セツト
・コマンドを受取るチヤネル・アダプタに対応するICビ
ツトをセツトする(このチヤネル・アダプタはまたチヤ
ネル、およびモードセツト・コマンドを送るホストをも
表わす)。キヤツシユ・ロード禁止の解析の後、プロセ
ツサ31Pは論理経路165を経由し、ステツプ170で、BCビ
ツト136を検査して、現在のコマンド・チエーンの間に
キヤツシユ40がバイパスされるべきかどうかを決定す
る。BCビツト136が1に等しければ、ステツプ171で、プ
ロセツサ31PはDCB62のBCビツト125をアクセスし、それ
を1にセツトする。次に、プロセツサ31Pは論理経路172
を経てステツプ173で、DCビツト137を検査する。キヤツ
シユ40がアドレスされたDASD16に対して禁止されるべき
ときは、ステツプ174で、プロセツサ31PはDCB62のチヤ
ネルDCフイールド123をアクセスし、該コマンドを送る
チヤネルに対応するDCビツトをセツトする。DCビツトは
連続するコマンド・チエーンの間持続する。参照記号12
3、124および126で示す3フイールドでは、モードセツ
ト・コマンドのチヤネル・ソースが指示される。これら
のビツトは1コマンド・チエーン内で保持される。この
ようにして、周辺記憶システム10の多重オペレーシヨン
が与えられる。参照記号133乃至137で示すそれぞれのビ
ツトが0の場合、ステツプ180、181、182および183で示
すように、DCB62の対応するフイールドは0にリセツト
される。一定のコマンド・チエーン内で複数のモードセ
ツト・コマンドが受取られる状況においては、一定のリ
セツト機能を禁示することがある。例えば、順次ビツト
はコマンド・チエーンの最初でのみリセツト可能であ
る。同様に、キヤツシユ・バイパスもチエーンの最初で
のみリセツト可能である。この制限を使用すると、周辺
記憶システム10のオペレーシヨンにおける主要な変更の
各々ごとにホスト11は新しいコマンド・チエーンを生成
しなければならないので、周辺記憶システム10の保全性
を与え満足させることができる。
意志表示信号133乃至137の記憶に続いて、プロセツサ31
Pは論理経路175を経由し、参照記号176の箇所で、その
他の各種のモードセツト機能を実行する。前記各種のモ
ードセツト機能には、フアイル・マスクのセツト、特定
のコマンド・チエーンのアドレス範囲の限定等を含むこ
とがある。ACE50はステツプ177でリターンし、モードセ
ツト・コマンドの実行が完了したことをホスト11に報告
する。
高速および低速チヤネルのオペレーシヨンの相違を適応
させることを含む第7図は、レコードをアクセスするマ
シン・オペレーシヨンを示しており、その内容は第3図
のステツプ85、86および87に相当する。第3図のステツ
プ83およびステツプ84については、類似する高速および
低速チヤネルの適応化が行なわれるが、これはそれぞれ
の高速チヤネル13または低速チヤネル14についてコマン
ド・チエーンで実行される機能が適切であることを保証
するためのものである。データ・アクセス動作は高速お
よび低速のチヤネルに関する機能のすべてを実行するの
で、データ・アクセスの適応についてのみ詳細に説明す
る。受取られたデータ・アクセス・コマンドは、読取ま
たは書込のいずれかのタイプである。ある実施例では、
すべての読取オペレーシヨンならびにすべての書取オペ
レーシヨンのために別個のマシン・オペレーシヨン・チ
ヤートが使用されることがある。説明を簡明にするため
と、これらの機能が読取または書込において一定の相互
関連を有するという理由で、本発明の最良の実現例とし
て最小限度のマイクロコード・ワードを使用する1つの
マシン・オペレーシヨン・チヤートを示す。
第7図の参照番号190で表わされるように、プロセツサ3
1Pはコマンドを受取つてACEプログラム50Pのいくつかの
機能を実行する。受取つたコマンドをACEプログラム50P
によつて処理する際、プロセツサ31PはDCB62をアクセス
し、受取つたコマンドに従つてレジスタ・セツト110を
セツトする。この動作には、コマンドおよびアドレス情
報をコマンド/アドレス・フイールド113(第4図)に
挿入し、(チヤネルを介して)コマンドを供給した特定
のチヤネル・アダプタ32をチヤネル・フイールド114で
識別し、多重トラツク・コマンド(多重トラツク・アク
セスはイネーブルされている)に応じてMTフイールド11
7をセツトし、且つFSマツプ77(第2図)およびチヤネ
ル・フイールド114に従つてFビツト121をセツトする動
作が含まれる。これらと同じステツプが前に説明したモ
ードセツト・コマンドを実行する際に実行される。
コマンド処理のうちACEプログラム50Pの部分が完了する
と、CAC61Pが活性化され、第7図のマシン・オペレーシ
ヨンを実行する。これらのオペレーシヨンには本発明の
理解には関係ない若干の準備ステツプ192が含まれる。
ステツプ193で、プロセツサ31PはCAC61Pを介して活動
し、制御記憶73の装置D20を検査して、前のコマンドが
アドレスされた装置を直接モードDにセツトしていた
か、またはアドレスされた装置が現在のデータ・アクセ
ス・コマンドを受取つたチヤネル・アダプタ32に対しキ
ヤツシユ・モードCになつているかを決定する。直接モ
ードDでは、ステツプ194で、プロセツサ31PはFビツト
121を検査し、現在のコマンドが送られたときに経由し
たチヤネルが高速チヤネルか、または低速チヤネルかを
決定する。直接モードDにおける低速チヤネルの場合
は、該チヤネルはDASD16からデータを十分高速に受取る
ことができないから、DASD16に対するオペレーシヨンを
直接モードで行なうことはできない。書込オペレーシヨ
ンにおいては、低速チヤネルは十分高速に情報信号を供
給してDASD16の一定データ速度の要求を満足させること
はできない。従つて、エラー、恐らくはACE50Pにおける
エラーがステツプ195で表示される。ホスト11が低速チ
ヤネルに対する直接モード(キヤツシユ・バイパス)を
指示している場合、キヤツシユ40は、依然として後述す
るように使用される。直接モードDにおける高速チヤネ
ルについては、プロセツサ31Pは論理経路196を経て、ス
テツプ197でBCビツト125が前のモードセツト・コマンド
によつてセツトされたかどうかを決定する。BCビツト12
5がアクテイブであり且つDCB62のコマンド/アドレス・
フイールド113で表示されたコマンドが書込コマンドで
ある場合、ステツプ198でエラーが表示される。キヤツ
シユ・バイパス状態の場合、キヤツシユ40を除外しての
DASD16への書込はデータの保全性に問題を生じることが
ある。というのは、キヤツシユ40が書込オペレーシヨン
に関連するデータを有することがあるからである。前記
エラーは他のホストが代りのチヤネル・アダプタ32を介
してキヤツシユ40をアクセスするのを阻止するので、こ
うすることによつて現在正確ではないデータを得るのを
防止することができる。DASDへの書込は、キヤツシユ40
の対応するデータが適切に無効化されるか、または更新
されることを条件として許可される。ステツプ197でBC
=0すなわち書込コマンドではない場合、ステツプ85に
従つてデータがアクセスされる。DASD16の直接アクセス
については、ステツプ199で、DAC56PがCAC61Pから活性
化され、アドレスされたDASD16をアクセスするとともに
既知のDASDデータ転送技術を使用してデータを転送す
る。直接データ転送経路には、データ・フロー回路33、
バス70および活性化しているチヤネル・アダプタ32が含
まれる。前記データ転送が完了すると、プロセツサ31P
は論理経路214を経て、後に説明するようにポストアク
セス処理87を行なう。
CAC61Pにおけるプリアクセス処理86のステツプ193に戻
つて説明を続けると、アドレスされたDASD16に対するキ
ヤツシユ転送が指示される場合、プロセツサ31Pは論理
経路200を経て参照記号201の箇所でいくつかの予備キヤ
ツシユ検査ステツプを実行する。キヤツシユ40のステー
タスを検査する前記ステツプは本発明の理解には関係が
ないので細部は省略する。ステツプ202で、DCB62のFビ
ツト121が検査され、高速または低速チヤネルのどちら
が現在のコマンドを供給したかを決定する。低速チヤネ
ルの場合は、プロセツサ31Pは論理経路203を進んでステ
ツプ204でDIR43を探索する。後にキヤツシユ・オペレー
シヨンで説明するように、低速チヤネルからキヤツシユ
40をバイパスさせることによつて、キヤツシユ40のデー
タは無効化され、そしてDASD16に記憶されたデータのコ
ピーはDASDからキヤツシユに昇格される。ステツプ202
で、高速チヤネルが表示された場合、プロセツサ31Pは
ステツプ205でDCB62のBCビツト125を検査し、現在のコ
マンド・チエーンについてキヤツシユ40がバイパスされ
ているかどうかを決定する。キヤツシユ40がバイパスさ
れていないとき、プロセツサ31Pは論理経路206を進んで
ステツプ204でDIR43を探索する。キヤツシユのバイパス
が表示された場合は、プロセツサ31Pはステツプ208で、
アドレスされたDASD16の装置D20を1にセツトする。プ
ロセツサ31Pはステツプ208からステツプ197を通過し、
ステツプ85のステツプ199(データ・アクセス・ステツ
プ)に進む。
キヤツシユ・オペレーシヨンでは、論理経路203および2
06からステツプ204に進み、そしてこのステツプ204で行
なわれるデイレクトリ探索はキヤツシユ・ヒツトまたは
キヤツシユ・ミスを生じる。デイレクトリ探索は装置、
シリンダの番号およびトラツク番号を含むDASD16のアド
レスに基づいて前記ハツシユ技術を使用して行なわれ
る。前記デイレクトリ探索の結果により、プロセツサ31
Pはステツプ210でキヤツシユ・ヒツトまたはキヤツシユ
・ミスを決定する。キヤツシユ・ヒツトの場合、プロセ
ツサ31Pはステツプ211で、DCB62のBCビツト125および低
速チヤネル14に関するチヤネル・セクシヨン114を検査
する。ステツプ211でこれらの条件が満たされない場
合、ステツプ212でCAC61Pの管理の下にデータ転送が生
じ、キヤツシユ40とチヤネル・アダプタ32の間でデータ
が転送される。前記データ転送はキヤツシユ40に向つ
て、またはキヤツシユ40から行なわれる。ステツプ211
で前記条件が満たされる場合、前に述べたように、低速
チヤネルはキヤツシユを使用することが必要であり、且
つキヤツシユ・バイパス・ビツトBCはホストがDASDのデ
ータ・コピーを欲していることを表示する。従つて、ス
テツプ213でキヤツシユ40にあるデータ・コピーが無効
化され、チヤネル・コマンド再試行CCRがホストに送ら
れ、そしてDASDにあるデータ・コピーがキヤツシユ40に
昇格される。このCCRを満足させるため、周辺記憶シス
テム10は第7図に示すマシン・オペレーシヨンに従つて
ホスト11に再接続され、要求されたデータ転送を行な
う。この場合、ホスト11は追加コマンドを送ることがで
きる。また、データ・アクセス・ステツプ85のステツプ
199またはステツプ212を完了すると、論理経路214を経
由してプロセツサ31Pは後述のポストアクセス処理87に
進む。
ステツプ210でキヤツシユ・ミスが検出される場合、プ
ロセツサ31Pは論理経路215を経由してステツプ216でホ
スト11にチヤネル・コマンド再試行CCRを送る。前記CCR
はDCB62のCCRセクシヨン111にも供給され、コマンド/
アドレス・セクシヨン113に表示されたコマンドに一致
する、次に受取られたコマンドがホスト11によつてCCR
応答として識別されるようにする。ステツプ217で、キ
ヤツシユ・ミスはアドレスされたDASD16のタリー・セク
シヨン112に記録される。ステツプ220で、Fビツト121
が検査され、高速チヤネルまたは低速チヤネルのいずれ
が現在のコマンドを供給したかを決定する。高速チヤネ
ルの場合、キヤツシユ・ミスが生じたときはキヤツシユ
40を除外してDASD16を直接アクセスすることが要求され
る。
従つて、ステツプ221で、アドレスされたDASD16の装置2
0は直接アクセスを指示する1にセツトされる。次回に
データ・アクセス・コマンドがCCRに応答して周辺記憶
システム10に供給される際には、直接アクセスはステツ
プ193、194および197を介して指示される。予期される
データ・アクセス・コマンドの再送に備えて、ステツプ
222で周辺記憶システム10はセクタ・セツト・コマンド
をDASD16に供給し、DASDの回転関係を確立する。参照記
号219の箇所では無関係のマシン・オペレーシヨンが介
在することがある。セクタ・セツトの条件が満足される
と、ステツプ223で装置終了(DE)がホスト11に供給さ
れ、データ・アクセス・コマンドが再送可能であること
を知らせる。データ・アクセス・コマンドが再送される
と、ACE50Pを介して動作するプロセツサ31Pによつて再
び解読される。次に、ステツプ193で直接アクセスが検
出され、ステツプ199によつて実際のアクセスが行なわ
れる。ステツプ199は、現在のコマンド・チエーン内の
後続データ・アクセス・コマンドのうち、前記アドレス
されたDASDの同一シリンダにおけるすべてのトラツクを
対象とする後続データ・アクセス・コマンドについて反
復される。
他方、低速チヤネルの場合は、キヤツシユ40が依然とし
て使用されねばならない。従つて、ステツプ224でプロ
セツサ31PはアドレスされたDASD16からキヤツシユ40へ
のデータの昇格をスケジユールする。キヤツシユ40への
非同期的なデータの昇格が完了すると、ステツプ223で
(本発明の理解に無関係な他の制御データ構造に転送さ
れる)DCB62のCCRフイールド111は、装置終了をホスト1
1に送る必要があることをプロセツサ31Pに知らせる。ホ
スト11は該コマンドを再送し、かくてステツプ210でヒ
ツトが生じることを除き第7図の動作が再実行される。
この動作はステツプ224の再接続および転送として表示
される。この時点でデータ・アクセスに関する全機能が
完了する。プロセツサ31Pは論理経路214から論理経路22
5を介して進み、ステツプ226で本発明の理解に無関係の
機能を実行し、ステツプ227で既知のコマンド終了手順
に従つてチエーンを検査し最終ステータスをホスト11に
報告する。
ステツプ87のポストアクセス処理はステツプ230で開始
され、高速チヤネルまたは低速チヤネルについてFビツ
ト121が再び検査される。コマンドが低速チヤネルによ
つて受取られたときは、ステツプ231でプロセツサ31Pは
DCB62のチヤネルDCフイールド123、BCフイールド125お
よびチヤネルICフイールド124を検査し、DASDがアドレ
スしたキヤツシユ40内のデータをLRUにする必要がある
かどうかを決定する。良好な本発明の実施例では、前記
データはLRUデータそのものではないがそれに近いもの
として識別される。例えば、1000セグメントのLRUリス
トにおいて、前記データはリストのLRU端に向つて100セ
グメント分位置調整されるか、またはリストのLRU端か
ら一定のエントリ数(例えば15エントリ)になるように
位置調整される。すなわち、ホスト11からのキヤツシユ
禁止指示またはキヤツシユ・バイパス指示により識別さ
れたチヤネルおよび装置に対するキヤツシユ転送が非活
性化されるときはいつも、参照されたデータは依然とし
てキヤツシユ40に記憶されており、キヤツシユ40から除
去する必要がある。ステツプ210でキヤツシユ・ヒツト
があつた場合(キヤツシユ・ミスはキヤツシユ40にデー
タがないことを表わす)、ステツプ232でDIR43がアクセ
スされ、そしてキヤツシユ40に記憶されているアドレス
されたトラツク・データはLRUセクシヨン105の二重連結
されたLRUリストを調整することによつて、よりLRUに近
いキヤツシユ・データになる。さもなければ、ステツプ
230またはステツプ231から、プロセツサ31Pは第8図の
ステツプ235に進み、DIR43のBビツト108を検査し、キ
ヤツシユ40に記憶されているアドレスされたデータが固
定されるかどうかを決定する。もし該データが固定さ
れ、そしてステツプ211でプロセツサ31Pによつてセツト
されたDCB62のWRフイールド116によつて指示されるよう
に書込オペレーシヨンが行なわれ、DASD16およびキヤツ
シユ40のデータ・コピーがなお不一致状態にあれば、DA
SD16からのデータはステツプ236でキヤツシユ40に昇格
され、かくてキヤツシユ40のコピーをDASD16のコピーと
一致させる。この動作は低速チヤネルについては行なわ
れない。すなわち、バツクアツプ用記憶に記憶されたデ
ータはキヤツシユ40で無矛盾のコピーとして保持され
る。しかしながら、データ保全のため、データがキヤツ
シユ40に固定される場合、そのデータはDASD16のデータ
に一致するものとして扱われ、キヤツシユ40とDASD16の
データ内容は無矛盾の状態に維持される。ステツプ235
またはステツプ236から、プロセツサ31Pは論理経路237
を経て、ステツプ238で本発明の理解には無関係の機能
を実行する。次いで、ステツプ240でWRビツト116が再び
検査される。もし現在のコマンド・チエーンで書込が行
なわれれば、該書込はステツプ241でタリー・セクシヨ
ン112に記録される。該タリーは書込フオーマツトの識
別等を含む。ステツプ242で、DCB62が検査され、トラツ
ク活動ベクトルTAV122が更新される。
プログラム式プロセツサ31Pは論理経路244を進み、ステ
ツプ248で4番目の検査が受取られたコマンド−装置関
連コマンド−に対して行なわれる。このタイプのコマン
ドには今日のDASDで使用されるような再較正コマンドが
含まれる。コマンド実行後に検査が実行されるとき、第
7図のACE50Pのステツプ192のようにコマンド前処理で
ステツプ249が行なわれ、キヤツシユ・ミス(DCB62のミ
ス127)および装置D=1(第1図の参照番号20)によ
つて高速チヤネルのオペレーシヨンに変化があつたかど
うかが決定される。もしミスに応じてDASD16への直接ア
クセスが行なわれたならば(高速チヤネル13)、前記直
接アクセスはトラツク・シリンダ、コマンド・チエーン
すなわち検査ステツプ250によつて検査されるアドレス
・エクステントに限定される。最終ステータスを使用ユ
ニツト11に送るとき、または次の周辺コマンドを受取つ
た後で、しかも前記周辺コマンドを実行する前に、これ
らの検査ステツプを各コマンドに対して実行することが
可能である。ステツプ251で、最終ステータス時にサプ
レスアウトのタグ信号の不在によつて検出されたチエー
ン終了(EOCH)がプロセツサ31Pによつて検査される。
ステツプ252の第2の検査はシリンダ終了(EOCYL)につ
いて行なわれる。すなわち、シリンダ内のトラツクのセ
ツトのすべては所定のアドレス空間、例えばトラツク1
〜17を有する。トラツク・アドレスの増加または減少方
向に依存して、トラツクへのアクセスが終了したとき、
次のトラツクは隣接シリンダ内、または同じシリンダ内
にある。もしアクセスされる次のシリンダが隣接シリン
ダ内にあると予期されれば、ステツプ261でプロセツサ3
1Pは装置D20を0にリセツトし、キヤツシユ転送を再構
成する。ステツプ253の第3の検査は境界外(OOB)につ
いて行なわれる。今日、DASD周辺システムはエクステン
ト限定(モードセツト)コマンドを使用ユニツト11から
受取るのが通例である。エクステント限定コマンドは可
能なアクセスの境界を定めるアドレスの範囲を設定す
る。従つて、周辺コマンドを処理するに当つて、処理さ
れるアドレスが定められたエクステントの境界にあるこ
とをプロセツサ31Pが表示すれば、OOBの状態が生じる。
すなわち要求された次のアクセスは前に定められたエク
ステントの外側になる、つまりエクステントを拡張する
エクステント限定コマンドの介入なしに(次のアクセス
を)試みれば、データ領域への前記アクセスでオペレー
シヨンの変更は拒絶される。
ステツプ248〜253のすべてが分岐を伴なわないならば、
プロセツサ31Pはステツプ255のリターンによつてACE50P
に戻り、別のコマンドを受領して周辺記憶システム10内
で非同期オペレーシヨンをスケジユールする。ステツプ
250で示された条件のいずれか1つが満たされれば、プ
ロセツサ31Pは論理経路260を通つてステツプ261で、装
置D20をアドレスされたDASD16のC(キヤツシユ転送状
態)にリセツトする。ステツプ261または(キヤツシユ
・ミスのない、すなわち低速チヤネルによるオペレーシ
ヨンの)ステツプ249から、プロセツサ31Pはステツプ25
5のリターンを介してACE50Pに戻る。
第9図はステツプ92のポストチエーン・オペレーシヨン
を示す。ステツプ270のチエーンされた周辺オペレーシ
ヨンが完了すると、ステツプ271で、最終ステータスが
ポスト11に送られた後にACE50Pによつて検出された、DC
B62のタリー・セクシヨン112に記録されている記録ステ
ータス・ビツトは分岐のステツプ272を実行する分岐制
御としてプロセツサ31Pによつて検査される。ステツプ2
72の分岐はプロセツサ31P内の通常の分岐命令である。
ステツプ273の最初の分岐命令では、ステツプ270のチエ
ーンされた周辺オペレーシヨンにおいて使用ユニツト11
から受取られた、DCB62のチヤネルSEQ126の順次ビツト
が検査され、DCB62のWR116で示すように、書込コマンド
がそのチエーンで受取られたかどうかが決定される。書
込が高速チヤネルを介して行なわれた場合は、ステツプ
275で対応するDIR43のエントリを消去することによつ
て、DASD16の変更されたデータに対応するキヤツシユ40
のデータ内容が削除される。低速チヤネルについては、
キヤツシユ40で参照された全トラツクが、参照された最
後のトラツクを除き、キヤツシユ40から削除される。最
後に参照されたトラツクはLRUに近づけられる。同様
に、ステツプ274でフオーマツト書込(FMT WR)が実行
される(タリー112に記録)が、キヤツシユ40は更新さ
れない、すなわち全書込がDASD16に行なわれる場合も、
ステツプ275が実行される。ステツプ273および274の分
岐ステツプがいずれも満足されない場合、ステツプ280
でフオーマツト書込コマンドが受取られ、書込オペレー
シヨンがCAC61Pを介してキヤツシユ40に行なわれれば、
論理経路283を経てステツプ284で、キヤツシユ40からDA
SD16に、変更されたデータが移され、該データはキヤツ
シユ40から削除される。ステツプ271でチエイン終了条
件であつても、コマンド・チエーンは周辺記憶システム
10によつて終了されてはいない。すなわち、ホストの信
号「チエーン終了」に応答して、周辺記憶システム10は
チヤネル終了を供給したが、「装置終了」はデータがな
おキヤツシユ40からDASD16に書込まれるべきことをホス
ト11に知らせない。前記降格が終了すると、周辺記憶シ
ステム10は後に「装置終了」を報告するため通常の方法
を使用して「装置終了」を送る。同様にステツプ281
で、順次データが表示されているとき(SEQ126=1)に
キヤツシユ40への書込が生じたならば、前記更新された
トラツクは、最後に参照されたトラツクを除き、キヤツ
シユ40から除去される。また、ステツプ282で、キヤツ
シユ40に記憶されたトラツクで更新されたレコード数が
1よりも大きいとき、これらのトラツクはキヤツシユ40
から除去される。ステツプ273、274、280〜282および28
5がいずれも満足されないならば、DCB62のチヤネルSEQ1
26のビツトで示された順次属性が現在のコマンド・チエ
ーンにおいて受取られたが書込は行なわれてはいない。
順次データの場合、プロセツサ31Pは順次データ・セツ
トのデータの昇格および降格を決定しようとする。この
昇格および降格は高速チヤネルおよび低速チヤネルでは
決定方法が異なる。従つて、ステツプ290で、プロセツ
サ31Pは終了したばかりの現在のコマンド・チエーンの
Fビツト121を検査する。高速チヤネルに関連するデー
タ昇格でFビツト121が1にセツトされれば、ステツプ2
91でプロセツサ31PはICビツト124、BCビツト125およびD
Cビツト123が0であるかどうかと、周辺記憶システム10
からホスト11へのデータ転送エクステント(該コマンド
・チエーンには書込がないことを想起されたい)とを検
査する。データ転送はトラツク容量の一定のパーセント
テージ、例えばトラツクの半分よりも大であつてはなら
ない。コマンド・チエーンの期間中制御記憶73に記憶さ
れたバイト・カウント(図示せず)を含むステツプ85の
データ・アクセス部分の間、データ転送サイズがモニタ
される。各々のDASD記憶トラツクの容量は既知であるか
ら、コマンド・チエーン終了時、アクセスされた各トラ
ツクに対する現在のコマンド・チエーンの記録されたバ
イト・カウントは、前記トラツク容量と比較され、ホス
ト11に転送されたデータ量を決定する。これらの条件が
すべて満足されたか、または低速チヤネルがコマンド・
チエーンに関連した場合、ステツプ292でプロセツサ31P
は、最後に参照されたトラツク(LTR)に続くトラツク
をDASD16からキヤツシユ40に転送する。LTRはDCB62のコ
マンド/アドレス・セクシヨン113でチエーンの最後の
コマンドを識別する。ステツプ293でプロセツサ31PはLT
Rの直前のトラツクがキヤツシユ40から降格されるよう
にする。
ステツプ275、284、285、291および293から論理経路295
を経てプロセツサ31Pは進み、ステツプ296で、DIR43を
アクセスし(ADEB76はなおエントリを含んでいることが
あり、従つてDIR43に代つてアクセスされることがあ
る)、Pビツト107を読取る。Pビツト107が1に等しけ
れば、LTRにあるデータの部分コピーが現在キヤツシユ4
0に存在している。その場合、ステツプ297で、プロセツ
サ31PはDAC56Pを走行させDASD16からデータを昇格させ
てキヤツシユ40の部分コピーを完全なものにする。一般
に、部分コピーはトラツクの最後の部分、すなわちイン
デツクス・マーク直前のデータ部分がキヤツシユ40の中
に入るようにキヤツシユ40にコピーされる。従つて、ト
ラツク昇格の終了は、(キヤツシユ40においてコピーの
最初をマークする)最初の参照点を介してトラツクの最
初の部分をキヤツシユ40に昇格させるのに等しい。デー
タ昇格時間を減少させるため、前記LTRの最初の部分の
昇格は、前記昇格されない最初の部分をアクセスする結
果キヤツシユ・ミスが生じるまで延期される。前記良好
な構成例で、ステツプ297は第7図のステツプ224に組込
まれる。
プロセツサ31Pはステツプ297またはステツプ296から論
理回路298を通り、更にデータ昇格解析を実行する。ス
テツプ300で、高速チヤネルが直前のコマンド・チエー
ンにコマンドを供給したかどうかを検査し、ステツプ30
1でプロセツサ31PはDCB62のDC123、IC124、WR116および
キヤツシユ40の動作ステータス(SSNAシステム記憶は使
用不可能)を検査し、その使用可能性を決定する。キヤ
ツシユ40が使用可能ではないか、また他の基準のどれか
が1にセツトされていた場合、すべてのチエーン間また
は非同期のデータ昇格が禁止され、プロセツサ31Pは終
了ステツプ302に直行する。ステツプ302でプロセツサ31
Pはポストチエーン・オペレーシヨンから抜け出る。他
方、ステツプ301でどの条件も満たされなけば、ステツ
プ305で、プロセツサ31Pは直前のコマンド・チエーンの
装置アドレスに関してDCB62のミス・ビツト127を検査す
る。高速チヤネルによるキヤツシユ・ミスの場合、ステ
ツプ306でLTRがキヤツシユ40に選択的に昇格される。低
速チヤネルにおいては、アクセスされる次のトラツクの
データ内容がまた昇格されていない順次データ処理の場
合を除き、すべての昇格が行なわれる。最後のデータ・
アクセスまたは(DASD16を直接アクセスすることによつ
て満足されていることがある)ミスからの参照がインデ
ツクス・マークの直前のトラツクの最後の80%内にあれ
ば、その部分、すなわち参照点からインデツクス・マー
クまでの部分はキヤツシユ40に昇格される。LTRへの参
照が該トラツクの最初の20%内にあつた場合は、全トラ
ツクがキヤツシユ40に昇格される。百分比は最後の98%
から最後の40%まで変更できる。LTRはDCB62のコマンド
/アドレス・セクシヨン113で再び識別される。キヤツ
シユ・ミスが生じない場合はデータ昇格はない、すなわ
ちデータは既にキヤツシユ40内に存在している。
低速チヤネルの場合、プロセツサ31Pは、ステツプ308で
ホスト11がLTRのセクタ・セツト・コマンドを送つたか
どうかを決定し、そうであればステツプ309で、該デー
タ・トラツク部分を前記セクタで識別されたセクタから
インデツクス・マークに昇格させる、つまり部分的なト
ラツクの昇格を行なう。低速チヤネルの場合は、部分的
なトラツクの昇格は(I/Oオペレーシヨンに同期して)
第3図のステツプ86で行なわれる。ステツプ92は低速チ
ヤネルの順次データにおける次のトラツクを昇格させ
る。ホストはセクタ・セツト・コマンドを送つて、セク
タ・セツト・コマンドで識別されたセクタで始まるデー
タにホストが関心を有することを周辺記憶システム10に
知らせる。従つて、ホストが関心を有するものとして表
示されたデータのみが昇格される。ステツプ308でセク
タ・セツト・コマンドが検出されない場合は、プロセツ
サ31Pはステツプ310で、シーク・コマンドにおけるよう
にホストが参照したトラツクの全トラツク・データを昇
格させる。プロセツサ31Pはステツプ309、310から、本
発明の理解に無関係な終了ステツプ302に進む。
ポストチエーン・オペレーシヨンを終了した後、プロセ
ツサ31Pは新しい仕事を探す。例えば、ステツプ315で新
しいオペレーシヨンすなわち新しいコマンドをホスト11
から受取れば、プロセツサ31Pは論理経路316を経て新し
いオペレーシヨンを実行する。新しいオペレーシヨンは
またDASD16から受取つた警報信号である場合もある。経
路317を介して前記オペレーシヨンから戻つた後、また
はステツプ315で新しいオペレーシヨンが得られなかつ
た場合、プロセツサ31Pは経路318を経て、ステツプ320
で、アクテイブ状態にセツトされたM106のビツトを有す
るキヤツシユ40で識別されたデータに関し、DIR43のLRU
105(第4図)のリストを一定のしきい値まで走査す
る。前記データはステツプ321でキヤツシユ40からDASD1
6に降格される。プロセツサ31Pは通常の方法で別の仕事
を探し続ける。
〔略語表〕
本明細書で使用される主要な略語を次に示す。
ACE:アドレス/コマンド鑑定器 BC:キヤツシユ・バイパス CAC:キヤツシユ・アクセス制御 CC:シリンダ・アドレス CCB:チヤネル制御ブロツク CCR:チヤネル・コマンド再試行 CCW:チヤネル・コマンド・ワード CNL:チヤネル DAA:装置アダプタ接続機構 DAC:装置アクセス制御 DCA:装置制御接続機構 DC:キヤツシユ非活性化 DCB:装置制御ブロツク DIR:デイレクトリ EOCH:チエーン終了 EOSYL:シリンダ終了 HL:ハツシユ・クラス連結リスト IC:キヤツシユ禁止 ICW:内部コマンド・ワード LTR:最後に参照されたトラツク MT:多重トラツク OOB:境界外 Q:待行列 SIO:入出力開始 SIT:分散インデツクス・テーブル TAV:トラツク活動ベクトル
【図面の簡単な説明】
第1図は相対的に高速のチヤネルおよび相対的に低速の
チヤネルを介してホストに接続された本発明の周辺記憶
システムを示す論理ブロツク図、 第2図は第1図の内容に基づく本発明の良好な実施例を
示す論理ブロツク図、 第3図は第1図および第2図のシステムのマシン・オペ
レーシヨンを示す概略流れ図、 第4図は第1図および第2図のシステムで使用可能なキ
ヤツシユ・デイレクトリおよび装置制御ブロツクを示す
図、 第5図は第1図および第2図のシステムを制御するモー
ドセツト・コマンドを示す図、 第6図は第5図のモードセツト・コマンドを第1図およ
び第2図のシステムで実行した場合のマシン・オペレー
シヨンを示す流れ図、 第7図および第8図は第1図および第2図のシステムの
データ転送中の動作を示す流れ図、 第9図は第1図および第2図のシステムの非同期、すな
わちいわゆるポスト・チエイニング・オペレーシヨンを
示す流れ図である。 10……周辺記憶システム、11……ホスト(または使用ユ
ニツト)、12……チヤネル、13……高速チヤネル、14…
…低速チヤネル、16……DASD(またはバツクアツプ記
憶)、20……装置D、30……システム記憶、31……周辺
システム制御、31P……プロセツサ、32……チヤネル・
アダプタ、33……データ・フロー回路、34……DAA、35
……DCA、40……キヤツシユ、43……DIR、45……SIT、5
0……ACE、50P……ACEプログラム、56……DAC、56P……
DACプログラム、60……固定リスト、61……CAC、61P…
…CACプログラム、62……DCB、63……CCB、67……Qレ
ジスタ、73……制御記憶、76……ADEB、75……OPプログ
ラム、76……ADEB、77……FSマツプ。
フロントページの続き (56)参考文献 特開 昭53−126828(JP,A) 特開 昭55−154648(JP,A) 特開 昭55−157055(JP,A) 特開 昭56−4857(JP,A) 特開 昭56−124961(JP,A) 特開 昭57−13562(JP,A)

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】データ記憶装置とキャッシュ・バッファと
    を備えた周辺データ記憶システムとホストコンピュータ
    とを具備するコンピュータシステムにおいて、前記周辺
    データ記憶システムと前記ホストコンピュータとの間の
    データ転送を、前記データ記憶装置の転送速度より遅く
    ない転送速度を持つ高速チャネルまたは前記データ記憶
    装置の転送速度より遅い転送速度を持つ低速チャネルの
    いずれかを選択的に介して行う方法であって、 前記高速チャネル上のデータ転送は、前記ホストコンピ
    ュータから前記データ記憶装置への書込み操作の場合に
    前記データ記憶装置に直接行い、前記データ記憶装置か
    ら前記ホストコンピュータへの読取り操作の場合に最初
    に前記キャッシュバッファに対してアクセスするように
    制御し、かつ、 前記低速チャネル上のデータ転送は、前記キャッシュバ
    ッファを介して行うよう制御するデータ転送方法。
  2. 【請求項2】データ記憶装置とキャッシュ・バッファと
    を備えた周辺データ記憶システムとホストコンピュータ
    とを具備するコンピュータシステムにおいて、前記周辺
    データ記憶システムと前記ホストコンピュータとの間の
    データ転送を、前記データ記憶装置の転送速度より遅く
    ない転送速度を持つ高速チャネルまたは前記データ記憶
    装置の転送速度より遅い転送速度を持つ低速チャネルの
    いずれかを選択的に介して行い、 前記高速チャネル上のデータ転送は、前記ホストコンピ
    ュータから前記データ記憶装置への書込み操作の場合に
    前記データ記憶装置に直接行い、前記データ記憶装置か
    ら前記ホストコンピュータへの読取り操作の場合に前記
    キャッシュバッファを介して行うように制御し、かつ、
    前記低速チャネル上のデータ転送は、最初に前記キャッ
    シュバッファに対してアクセスするように制御するデー
    タ転送方法であって、 前記高速チャネル上のデータ転送は、前記ホストコンピ
    ュータから前記データ記憶装置への書込み操作があった
    場合は書込み操作後に前記データ記憶装置から前記書込
    みに係わるデータを前記キャッシュバッファに移さず、
    前記ホストコンピュータから前記データ記憶装置への読
    取り操作があった場合は読取り操作後に選択的に前記デ
    ータ記憶装置から新たに前記読取りに係わるデータを前
    記キャッシュバッファに移す、データ転送方法。
  3. 【請求項3】データ記憶装置とキャッシュ・バッファと
    を備えた周辺データ記憶システムとホストコンピュータ
    とを具備するコンピュータシステムにおいて、前記周辺
    データ記憶システムと前記ホストコンピュータとの間の
    データ転送を、前記データ記憶装置の転送速度より遅く
    ない転送速度を持つ高速チャネルまたは前記データ記憶
    装置の転送速度より遅い転送速度を持つ低速チャネルの
    いずれかを選択的に介して行い、 前記高速チャネル上のデータ転送は、前記ホストコンピ
    ュータから前記データ記憶装置への書込み操作の場合に
    前記データ記憶装置に直接行い、前記データ記憶装置か
    ら前記ホストコンピュータへの読取り操作の場合には最
    初に前記キャッシュバッファに対してアクセスするよう
    に制御し、かつ、前記低速チャネル上のデータ転送は、
    前記キャッシュバッファを介して行うよう制御するデー
    タ転送方法であって、 前記ホストコンピュータから前記データ記憶装置への読
    み取り操作の場合に、前記高速チャネル上のデータ転送
    でキャッシュミスを生じたときは前記キャッシュバッフ
    ァを介さずに直接前記データ記憶装置を前記高速チャネ
    ルに結んでデータ転送を行い、前記低速チャネル上のデ
    ータ転送でキャッシュミスを生じたときは前記キャッシ
    ュミスを生じたデータを前記データ記憶装置から前記キ
    ャッシュバッファに移してから前記低速チャネル上でデ
    ータ転送を行う、データ転送方法。
JP58123539A 1982-09-27 1983-07-08 データ転送方法 Expired - Lifetime JPH0727495B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/423,962 US4571674A (en) 1982-09-27 1982-09-27 Peripheral storage system having multiple data transfer rates
US423962 1982-09-27

Publications (2)

Publication Number Publication Date
JPS5960552A JPS5960552A (ja) 1984-04-06
JPH0727495B2 true JPH0727495B2 (ja) 1995-03-29

Family

ID=23680909

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58123539A Expired - Lifetime JPH0727495B2 (ja) 1982-09-27 1983-07-08 データ転送方法

Country Status (4)

Country Link
US (1) US4571674A (ja)
EP (1) EP0104588B1 (ja)
JP (1) JPH0727495B2 (ja)
DE (1) DE3380502D1 (ja)

Families Citing this family (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4819164A (en) * 1983-12-12 1989-04-04 Texas Instruments Incorporated Variable frequency microprocessor clock generator
JPH0792761B2 (ja) * 1985-07-31 1995-10-09 株式会社日立製作所 仮想計算機システムの入出力制御方法
US4742447A (en) * 1986-01-16 1988-05-03 International Business Machines Corporation Method to control I/O accesses in a multi-tasking virtual memory virtual machine type data processing system
US5008820A (en) * 1987-03-30 1991-04-16 International Business Machines Corporation Method of rapidly opening disk files identified by path names
US5081701A (en) * 1987-04-20 1992-01-14 Tandem Computers Incorporated System for controlling data transfer using transfer handshake protocol using transfer complete and transfer inhibit signals
JP2514208B2 (ja) * 1987-07-15 1996-07-10 富士通株式会社 ホットスタンドバイメモリ−コピ−方式
US5252899A (en) * 1988-03-09 1993-10-12 Fanuc Ltd Numerical control system
JPH01246656A (ja) * 1988-03-29 1989-10-02 Nec Corp プロセッサ間共有メモリ管理方式
US4992978A (en) * 1988-03-31 1991-02-12 Wiltron Company Cross-path optimization in multi-task processing
US4993030A (en) * 1988-04-22 1991-02-12 Amdahl Corporation File system for a plurality of storage classes
JP2567922B2 (ja) * 1988-08-30 1996-12-25 株式会社日立製作所 パス制御方式
JP2637788B2 (ja) * 1988-09-02 1997-08-06 株式会社日立製作所 ディスクキャッシュ制御方式および情報処理システム
JP2872251B2 (ja) * 1988-10-12 1999-03-17 株式会社日立製作所 情報処理システム
JPH07122868B2 (ja) * 1988-11-29 1995-12-25 日本電気株式会社 情報処理装置
US5257359A (en) * 1989-02-08 1993-10-26 Hitachi Microsystems, Inc. Instruction cache buffer with program-flow control
FR2645986B1 (fr) * 1989-04-13 1994-06-17 Bull Sa Procede pour accelerer les acces memoire d'un systeme informatique et systeme pour la mise en oeuvre du procede
FR2645987B1 (fr) * 1989-04-13 1991-06-07 Bull Sa Dispositif d'acceleration des acces memoire dans un systeme informatique
US5197146A (en) * 1989-06-21 1993-03-23 Hewlett-Packard Company Method for maintaining cache coherence in a multiprocessor computer system
US5347637A (en) * 1989-08-08 1994-09-13 Cray Research, Inc. Modular input/output system for supercomputers
US5353422A (en) * 1989-10-06 1994-10-04 Hitachi, Ltd. Method and system for storing and managing a plurality of information media used by recording/reproducing units
JP3018038B2 (ja) * 1990-01-18 2000-03-13 三菱電機株式会社 キャッシュを有するデータ処理装置
US5263145A (en) * 1990-05-24 1993-11-16 International Business Machines Corporation Method and means for accessing DASD arrays with tuned data transfer rate and concurrency
US5159678A (en) * 1990-06-11 1992-10-27 Supercomputer Systems Limited Partnership Method for efficient non-virtual main memory management
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
US5235692A (en) * 1990-08-31 1993-08-10 International Business Machines Corporation Disk rotational position controls for channel operations in a cached peripheral subsystem
US5155814A (en) * 1990-08-31 1992-10-13 International Business Machines Corporation Nonsynchronous channel/dasd communication system
US5146576A (en) * 1990-08-31 1992-09-08 International Business Machines Corporation Managing high speed slow access channel to slow speed cyclic system data transfer
US5301300A (en) * 1991-02-14 1994-04-05 Advanced Micro Devices, Inc. Floppy disk drive controller with improved density select
EP0553338B1 (en) * 1991-08-16 1999-10-13 Cypress Semiconductor Corp. High-performance dynamic memory system
US5280587A (en) * 1992-03-31 1994-01-18 Vlsi Technology, Inc. Computer system in which a bus controller varies data transfer rate over a bus based on a value of a subset of address bits and on a stored value
US5420984A (en) * 1992-06-30 1995-05-30 Genroco, Inc. Apparatus and method for rapid switching between control of first and second DMA circuitry to effect rapid switching beween DMA communications
US5991775A (en) * 1992-09-23 1999-11-23 International Business Machines Corporation Method and system for dynamic cache allocation between record and track entries
US5867695A (en) * 1992-10-16 1999-02-02 International Business Machines Corp. Method and system for reduced metastability between devices which communicate and operate at different clock frequencies
US5588129A (en) * 1994-02-09 1996-12-24 Ballard; Clinton L. Cache for optical storage device and method for implementing same
US5584007A (en) * 1994-02-09 1996-12-10 Ballard Synergy Corporation Apparatus and method for discriminating among data to be stored in cache
US5491810A (en) * 1994-03-01 1996-02-13 International Business Machines Corporation Method and system for automated data storage system space allocation utilizing prioritized data set parameters
JP3030229B2 (ja) * 1994-06-20 2000-04-10 インターナショナル・ビジネス・マシーンズ・コーポレイション データを転送する方法及びデータ記憶システム
US5659799A (en) * 1995-10-11 1997-08-19 Creative Technology, Ltd. System for controlling disk drive by varying disk rotation speed when buffered data is above high or below low threshold for predetermined damping period
US5835970A (en) * 1995-12-21 1998-11-10 Cypress Semiconductor Corp. Burst address generator having two modes of operation employing a linear/nonlinear counter using decoded addresses
AU1846497A (en) * 1996-01-26 1997-08-20 Exabyte Corporation Early warning for boundary position in serpentine recording
US6098155A (en) * 1996-10-28 2000-08-01 Sun Microsystems, Inc. Apparatus and method for streamlining data transfer with existing interconnect bandwidth
US6065100A (en) * 1996-11-12 2000-05-16 Micro-Design International Caching apparatus and method for enhancing retrieval of data from an optical storage device
DE19731116A1 (de) * 1997-07-19 1999-01-28 Bosch Gmbh Robert Steuergerät für ein System und Verfahren zum Betrieb eines Steuergerätes
US6381677B1 (en) * 1998-08-19 2002-04-30 International Business Machines Corporation Method and system for staging data into cache
WO2001031456A1 (en) * 1999-10-28 2001-05-03 Connectcom Solutions, Inc. Caching techniques for improving system performance in raid applications
US6615318B2 (en) 2002-01-22 2003-09-02 International Business Machines Corporation Cache management system with multiple cache lists employing roving removal and priority-based addition of cache entries
US7562202B2 (en) * 2004-07-30 2009-07-14 United Parcel Service Of America, Inc. Systems, methods, computer readable medium and apparatus for memory management using NVRAM
US20060294313A1 (en) * 2005-06-23 2006-12-28 International Business Machines Corporation System and method of remote media cache optimization for use with multiple processing units
US7580465B2 (en) * 2005-06-30 2009-08-25 Intel Corporation Low speed access to DRAM
US8935302B2 (en) 2006-12-06 2015-01-13 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for data block usage information synchronization for a non-volatile storage volume
US8443134B2 (en) * 2006-12-06 2013-05-14 Fusion-Io, Inc. Apparatus, system, and method for graceful cache device degradation
CN101681282A (zh) 2006-12-06 2010-03-24 弗森多系统公司(dba弗森-艾奥) 用于共享的、前端、分布式raid的装置、系统和方法
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
US8706968B2 (en) * 2007-12-06 2014-04-22 Fusion-Io, Inc. Apparatus, system, and method for redundant write caching
US9104599B2 (en) 2007-12-06 2015-08-11 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for destaging cached data
US7443629B1 (en) * 2007-04-09 2008-10-28 International Business Machines Corporation Apparatus, system, and method for optimizing fast access data storage on segmented tape media
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
KR20100085564A (ko) * 2009-01-21 2010-07-29 삼성전자주식회사 데이터 처리 시스템과 데이터 처리 방법
US8095738B2 (en) 2009-06-15 2012-01-10 International Business Machines Corporation Differential caching mechanism based on media I/O speed
EP2476055B1 (en) 2009-09-08 2020-01-22 SanDisk Technologies LLC Apparatus, system, and method for caching data on a solid-state storage device
CN102598019B (zh) * 2009-09-09 2015-08-19 才智知识产权控股公司(2) 用于分配存储的设备、系统和方法
US9122579B2 (en) 2010-01-06 2015-09-01 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for a storage layer
US9213628B2 (en) 2010-07-14 2015-12-15 Nimble Storage, Inc. Methods and systems for reducing churn in flash-based cache
US20120239860A1 (en) 2010-12-17 2012-09-20 Fusion-Io, Inc. Apparatus, system, and method for persistent data management on a non-volatile storage media
US8966184B2 (en) 2011-01-31 2015-02-24 Intelligent Intellectual Property Holdings 2, LLC. Apparatus, system, and method for managing eviction of data
US9201677B2 (en) 2011-05-23 2015-12-01 Intelligent Intellectual Property Holdings 2 Llc Managing data input/output operations
US8874823B2 (en) 2011-02-15 2014-10-28 Intellectual Property Holdings 2 Llc Systems and methods for managing data input/output operations
US9003104B2 (en) 2011-02-15 2015-04-07 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a file-level cache
WO2012116369A2 (en) 2011-02-25 2012-08-30 Fusion-Io, Inc. Apparatus, system, and method for managing contents of a cache
US9563555B2 (en) 2011-03-18 2017-02-07 Sandisk Technologies Llc Systems and methods for storage allocation
WO2012129191A2 (en) 2011-03-18 2012-09-27 Fusion-Io, Inc. Logical interfaces for contextual storage
US9274937B2 (en) 2011-12-22 2016-03-01 Longitude Enterprise Flash S.A.R.L. Systems, methods, and interfaces for vector input/output operations
US10102117B2 (en) 2012-01-12 2018-10-16 Sandisk Technologies Llc Systems and methods for cache and storage device coordination
US9767032B2 (en) 2012-01-12 2017-09-19 Sandisk Technologies Llc Systems and methods for cache endurance
US9251052B2 (en) 2012-01-12 2016-02-02 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for profiling a non-volatile cache having a logical-to-physical translation layer
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
US10359972B2 (en) 2012-08-31 2019-07-23 Sandisk Technologies Llc Systems, methods, and interfaces for adaptive persistence
US9116812B2 (en) 2012-01-27 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a de-duplication cache
US10019353B2 (en) 2012-03-02 2018-07-10 Longitude Enterprise Flash S.A.R.L. Systems and methods for referencing data on a storage medium
US9612966B2 (en) 2012-07-03 2017-04-04 Sandisk Technologies Llc Systems, methods and apparatus for a virtual machine cache
US10339056B2 (en) 2012-07-03 2019-07-02 Sandisk Technologies Llc Systems, methods and apparatus for cache transfers
US10509776B2 (en) 2012-09-24 2019-12-17 Sandisk Technologies Llc Time sequence data management
US10318495B2 (en) 2012-09-24 2019-06-11 Sandisk Technologies Llc Snapshots for a non-volatile device
US9842053B2 (en) 2013-03-15 2017-12-12 Sandisk Technologies Llc Systems and methods for persistent cache logging
US10558561B2 (en) 2013-04-16 2020-02-11 Sandisk Technologies Llc Systems and methods for storage metadata management
US10102144B2 (en) 2013-04-16 2018-10-16 Sandisk Technologies Llc Systems, methods and interfaces for data virtualization
US9842128B2 (en) 2013-08-01 2017-12-12 Sandisk Technologies Llc Systems and methods for atomic storage operations
US10019320B2 (en) 2013-10-18 2018-07-10 Sandisk Technologies Llc Systems and methods for distributed atomic storage operations
US10073630B2 (en) 2013-11-08 2018-09-11 Sandisk Technologies Llc Systems and methods for log coordination
US9946607B2 (en) 2015-03-04 2018-04-17 Sandisk Technologies Llc Systems and methods for storage error management
US11829636B2 (en) * 2021-09-01 2023-11-28 Micron Technology, Inc. Cold data identification

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3812475A (en) * 1957-12-26 1974-05-21 Ibm Data synchronizer
US3569938A (en) * 1967-12-20 1971-03-09 Ibm Storage manager
US3588839A (en) * 1969-01-15 1971-06-28 Ibm Hierarchical memory updating system
US3670307A (en) * 1969-12-23 1972-06-13 Ibm Interstorage transfer mechanism
US3670309A (en) * 1969-12-23 1972-06-13 Ibm Storage control system
US3699530A (en) * 1970-12-30 1972-10-17 Ibm Input/output system with dedicated channel buffering
US3721961A (en) * 1971-08-11 1973-03-20 Ibm Data processing subsystems
US3735360A (en) * 1971-08-25 1973-05-22 Ibm High speed buffer operation in a multi-processing system
US3839704A (en) * 1972-12-06 1974-10-01 Ibm Control for channel access to storage hierarchy system
US4020466A (en) * 1974-07-05 1977-04-26 Ibm Corporation Memory hierarchy system with journaling and copy back
US4053752A (en) * 1975-09-15 1977-10-11 International Business Machines Corporation Error recovery and control in a mass storage system
US4084231A (en) * 1975-12-18 1978-04-11 International Business Machines Corporation System for facilitating the copying back of data in disc and tape units of a memory hierarchial system
GB1505603A (en) * 1976-07-07 1978-03-30 Ibm Data processing systems
US4075686A (en) * 1976-12-30 1978-02-21 Honeywell Information Systems Inc. Input/output cache system including bypass capability
JPS53126828A (en) * 1977-04-13 1978-11-06 Hitachi Ltd Storage control unit
US4157586A (en) * 1977-05-05 1979-06-05 International Business Machines Corporation Technique for performing partial stores in store-thru memory configuration
US4142234A (en) * 1977-11-28 1979-02-27 International Business Machines Corporation Bias filter memory for filtering out unnecessary interrogations of cache directories in a multiprocessor system
US4189770A (en) * 1978-03-16 1980-02-19 International Business Machines Corporation Cache bypass control for operand fetches
JPS55154648A (en) * 1979-05-22 1980-12-02 Nec Corp Disc cash control system
JPS55157055A (en) * 1979-05-25 1980-12-06 Nec Corp Disc cash control unit
GB2052118A (en) * 1979-06-04 1981-01-21 Memorex Corp Disc Cache Subsystem
JPS564857A (en) * 1979-06-25 1981-01-19 Hitachi Ltd Access system for memory unit
JPS56124961A (en) * 1980-03-05 1981-09-30 Hitachi Ltd Information processing equipment
JPS5713562A (en) * 1980-06-27 1982-01-23 Toshiba Corp Control system of external memory

Also Published As

Publication number Publication date
DE3380502D1 (en) 1989-10-05
EP0104588A3 (en) 1987-04-29
EP0104588A2 (en) 1984-04-04
US4571674A (en) 1986-02-18
JPS5960552A (ja) 1984-04-06
EP0104588B1 (en) 1989-08-30

Similar Documents

Publication Publication Date Title
JPH0727495B2 (ja) データ転送方法
EP0071719B1 (en) Data processing apparatus including a paging storage subsystem
EP0106212B1 (en) Roll mode for cached data storage
EP0072108B1 (en) A multiple operating mode storage subsystem
EP0086886B1 (en) Hierarchical data storage system for digital computers
US4875155A (en) Peripheral subsystem having read/write cache with record access
US4633387A (en) Load balancing in a multiunit system
JPH0458051B2 (ja)
EP0075688B1 (en) Data processing apparatus including a selectively resettable peripheral system
US5623631A (en) Limiting modification of cache entries in a write-back cache based upon the amount of dirty lines in the cache
US4499539A (en) Method and apparatus for limiting allocated data-storage space in a data-storage unit
JPH023215B2 (ja)
JPS6367686B2 (ja)
JPH0335694B2 (ja)
JPH037978B2 (ja)
JPS5876956A (ja) バッファ記憶付きディスク・システム
JPS63120349A (ja) フアイル多重制御方式
EP0290533A1 (en) INPUT / OUTPUT SYSTEM TO LIGHTEN THE FUNCTIONS OF THE OPERATING SYSTEM.