JPH0775011B2 - 予測性トラックテーブルを用いたレコード更新方法 - Google Patents

予測性トラックテーブルを用いたレコード更新方法

Info

Publication number
JPH0775011B2
JPH0775011B2 JP4303757A JP30375792A JPH0775011B2 JP H0775011 B2 JPH0775011 B2 JP H0775011B2 JP 4303757 A JP4303757 A JP 4303757A JP 30375792 A JP30375792 A JP 30375792A JP H0775011 B2 JPH0775011 B2 JP H0775011B2
Authority
JP
Japan
Prior art keywords
record
predictive
track
field
records
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
JP4303757A
Other languages
English (en)
Other versions
JPH05241957A (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 JPH05241957A publication Critical patent/JPH05241957A/ja
Publication of JPH0775011B2 publication Critical patent/JPH0775011B2/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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99956File allocation

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、一般的に直接アクセス
記憶デバイス(DASD)チャンネル内のデータ流を制
御する方法に関し、更に特定すれば、予測性トラックテ
ーブルを用いた効率的なカウント−キー−データ(CK
D)DASDチャンネル制御システムに関するものであ
る。
【0002】
【従来の技術】データ処理システム内で直接アクセス記
憶デバイス(DASD)を用いるには、ある入出力(I
/O)機能の動作を必要としている。データは、そのD
ASDとホストプロセッサとの間で転送しなければなら
ない。このようなDASDは、多くの場合I/Oチャン
ネルを介してホストプロセッサに接続されている。ホス
トの中央処理装置(CPU)オペレーティングシステム
は、I/Oチャンネルへのコマンドを用いて、データ転
送を開始させる。これは、制御を一連のチャンネルコマ
ンドワード(CCW)へ移行させ、これらCCWはCP
Uからチャンネルを介してDASD制御装置に送られ
て、そのインターフェースを通るデータ移動を実行させ
る。そのチャンネルは、各CCWを、選択されたDAS
Dの制御装置に送る。一旦そのチャンネルがある特定の
制御装置にコマンドを渡すと、そのコマンドを解釈せね
ばならず、更にそのコマンドの各要素をDASDによっ
て実行しなければならない。これらのチャンネル、制御
装置及びコマンド解釈の種々の機能は、ホストプロセッ
サと共に統合したり、あるいはホストとDASDの機械
的記憶構成要素との間で分散させることができる。
【0003】DASD制御装置は、ホストCPUからチ
ャンネルを介して送られてきたCCWの解釈及び実行を
含む、数種の機能を実行するものである。シークコマン
ドは、DASDのアクセス機構を位置決めするものであ
る。サーチコマンドは、主CPU記憶部と特定のDAS
D領域に記憶されているデータとの間の、比較を行わせ
る。書込みコマンドは、データを主CPU記憶部から特
定のDASD領域に転送させる。読取りコマンドは、デ
ータコピーをDASD記憶部から主CPU記憶部に転送
し、有効性をチェックするものである。DASD制御装
置のもう1つの重要な機能は、DASDのためのデータ
記憶フォーマットの規定である。このようなフォーマッ
トは、トラックアドレス、レコードアドレス等のような
ある「非データ」情報に対する備えを含んでいる。ま
た、未使用空間を含み、更に広範囲使用において共通に
見られる、DASDのために規定したエラー訂正コード
も含んでいる。
【0004】従来のトラックフォーマットは、トラック
の物理的開始を示すインデックスポイントを、記録面の
各トラック上に備えている。また、各トラックには、ト
ラックの物理位置及びトラックの状態を定義する、通常
1つのホームアドレス(HA)がある。HAは、通常、
物理トラックアドレス、トラック状態フラグ、シリンダ
番号、及びヘッド番号(HH)を含んでいる。そして、
それらのシリンダ番号とヘッド番号との組み合わせでト
ラックアドレスを指示するが、この組合せは、一般にC
CHHの形態で表すようにしている。HAは、「物理」
トラックアドレスを含んでおり、これを「論理」トラッ
クアドレスと区別する。これらの物理トラックアドレス
及び論理トラックアドレスは、DASDトラック内に記
憶された各レコードに対して異なることがある。HAに
続く最初のレコードは、一般に、トラック記述子レコー
ドであり、これはしばしばR0とも呼ぶ。このR0の後
には、そのトラック上で1つあるいはそれ以上のユーザ
データレコードが続くことになる。各ユーザレコードの
最初の部分は、「アドレスマーカ」で、これは、DAS
Dからデータを読み取る時、制御装置がそのレコードの
開始位置を検出することができるようにするものであ
る。各ユーザレコードは、一般に、「カウント−デー
タ」(CD)フォーマットまたは「カウント−キー−デ
ータ」(CKD)フォーマットのいずれかにフォーマッ
ト化される。CDフォーマットとCKDフォーマットと
の間の唯一の相違は、CKDでフォーマット化したレコ
ードには、キーフィールドとキー長データとがあること
である。ここでは、双方を以後CKDレコードと呼ぶこ
とにする。
【0005】CKDレコードは、カウントフィールド、
オプションのキーフィールド、及び可変長データフィー
ルドから成る。典型的なカウントフィールドは、CC
(2バイトのシリンダ番号)、HH(2バイトのヘッド
番号)、R(1バイトのレコード番号)、KL(1バイ
トのキー長)、及びDL(2バイトのデータ長)の形態
である。このように、各CKDレコードは自己識別型で
ある。カウントフィールド内のCCHH(「論理」CC
HHと呼ぶ)は、一般に、当該レコードを含むトラック
に対するHA内のシリンダ番号及びヘッド番号と同一で
あるが、必ずしもその必要はない。このように、CKD
トラックは、トラックヘッダ(HA及びR0)とそれに
続くある数のCKDレコードとから成るものである。C
KDレコード番号(R)は、1、2、3等の単調なパタ
ーンで、トラックに沿って増分していくこともできる
が、そうしなくてもよい。
【0006】典型的な状況では、ユーザデータは、ある
DASD上のあるトラック内のCKDレコードのデータ
フィールドに書込みあるいは読取りが実行される。チャ
ンネルは、対象となるデバイスとそのデバイス内のトラ
ックとを指定する。また、チャンネルは、読み取るべき
または書き込むべきデータフィールドを有するレコード
のサーチを開始すべきトラック上の回転方向位置も、指
定することができる。これは、DASD制御装置が用い
るサーチパラメータ(CCHHRの形態の5バイト)を
指定して、対象トラック内のカウントフィールドに対し
て合致させることによって、行うようにする。サーチパ
ラメータに合致したカウントフィールドを有するトラッ
ク上のCKDレコードを、DASD制御装置が発見した
時、レコード書込み用のチャンネルを介してホストが提
供する対応データフィールドを、読み取るか書き込む。
本開示にとって重要な基本的特徴は、ディスク制御装置
が、これがチャンネルサーチパラメータに合致するトラ
ック内のカウントフィールドの存在を確認するまで、書
込みあるいは読取りを行うのを許可しないことである。
これは、合致したレコードがその回転中のDASD媒体
上に実際に位置付けされるまで、書込みコマンドがその
チャンネルを待機状態にすることを意味する。勿論、位
置付けが完了するまでCKDレコードを読み取ることは
できないので、このような読取り待機状態は、正当なも
のであるが、しかし、更新のための適切なレコードをた
だ単に見つけるためにCPUチャンネルを保留にさせる
唯一の理由は、エラー回復を確保するためである。
【0007】従来技術には、読取り及び書込みのための
DASDアクセスに必要なホストCPU待機状態を減少
させたり削除したりする方法が沢山ある。DASDキャ
ッシュは、DASDアドレス空間の内容の各部分をチャ
ンネル待機状態を減少させる形式で保持するのに用いる
高速バッファ記憶装置である。米国特許第460338
0(イーストンら(Malcom C. Easton et al)は、キャ
ッシュ内の可変長レコードを管理する複雑さを回避しつ
つ、DASDとキャッシュとの間のデータベース転送量
を減少させる、DASDキャッシュ管理方法を開示して
いる。このイーストンらの発明は、あるレコードをステ
ージングするための開始点を見つからないレコードの開
始点にし、そしてこれと同時に、固定長ブロックのキャ
ッシュ空間を割り当てそして管理することによって、そ
れを実現している。IBM3990 DASD制御装置
のような当該技術分野では既知のいくつかのDASD制
御装置は、ホストシステムによって書き込まれたがまだ
DASD制御装置によってDASD媒体に書き込まれて
いないレコードを記憶するための、比較的高速な不揮発
性記憶装置(NVS)を有している。そのNVSは、典
型的なディスク制御装置内に含まれる高速キャッシュバ
ッファ記憶装置に、追加されるものである。これらのキ
ャッシュとNVSとの両方を有するDASD制御装置
は、「高速書込み」動作を行うことができると言われて
いる。
【0008】高速書込み動作は、以下のように進む。即
ち、更新すべきトラックレコードが既にキャッシュ内に
あれば(即ち、ホストコンピュータから与えられたサー
チパラメータと合致するレコードカウントフィールド
が、キャッシュ内で見つかった場合)、そのレコードの
キャッシュコピーをキャッシュ内で更新し、そしてもう
1つの更新したコピーをNVS内で作成する。修正した
レコードのそれら2つのコピーは、エラー回復の目的の
ために保持して、単一障害点(single points offailur
e)を回避するようにする。NVSにコピーした後、D
ASD制御装置は、完了信号をホストシステムに戻し
て、ホストCPUを解放し、これにより次のチャンネル
動作を処理できるようにする。このような処理を、「高
速書込みヒット」と呼び、更新されたレコードを実際に
DASD媒体に書き込むより前にその処理を完了する。
そしてその後のある時点で、DASD制御装置は、非同
期で、その更新されたレコードを、キャッシュからディ
スクにデステージング(destage)し、そしてその後キ
ャッシュとNVSとの両方からそのレコードを削除す
る。単一のレコードについて行ったこの説明は、実際に
は単一のトラックについて考えるとより良く理解できる
ものとなる。DASD制御装置のキャッシュメモリは、
通常固定ブロックサイズで組織されている。単一トラッ
クは多くの場合固定サイズであるのに対し、単一レコー
ドはそうでないので、単一トラックで増分しながら、デ
ータをキャッシュからDASDにステージングし、また
その逆にDASDからキャッシュにデステージングする
のが実際である。
【0009】この「高速書込みヒット」を用いると、D
ASD制御装置は、ホストCPUから見たときのチャン
ネル書込み動作からディスクアクセス時間を除くことが
できる。修正されたレコードのキャッシュからディスク
への実際のデステージングは、より都合のよい時、例え
ば、DASD制御装置がアイドリング状態の時、または
その修正レコードを保持しているのと同じトラックまた
はシリンダに対して別の作業がある時に、行うことがで
きる。しかしながら、更新すべきレコードが元々キャッ
シュ内に位置付けされていなかった場合、「高速書込
み」動作は「高速書込みミス」となり、したがってDA
SD制御装置は、そのとき、チャンネルを解放する前に
そのレコードをディスク上に位置付けしなくてはならな
い。即ち、高速書込みミスは、キャッシュがないかのよ
うに扱う。ディスク制御装置がそのトラックを見つけた
後、任意の指定された回転方向位置から開始するトラッ
ク内の各レコードのカウントフィールドをサーチして、
合致したカウントフィールドがあるか探す。一旦合致し
たカウントフィールドを見つけると、DASD制御装置
は、DASD媒体上のそれの対応するデータフィールド
を更新し、そしてその後にのみ、完了信号をホストCP
Uに返送する。また、それと同時に、制御装置に、それ
と同じトラック上の各レコードの以後の更新を見越し
て、そのトラック全体をキャッシュに読み込ませるよう
にすることもできる。
【0010】「高速書込みミス」は、ホストCPUから
見た応答時間の一部としてディスクアクセス遅れを含ん
でいるので、「高速書込みヒット」よりはるかに遅いこ
とが認められよう。したがって、「高速書込み」は、ホ
ストシステムからの書込み動作の性能を改善するために
DASD制御装置内で共通に用いられる有用な技術であ
るが、この技術の有効性は「高速書込みヒット」の数に
依存している。これは、高速書込みミスの場合、制御装
置は高速書込み能力なしで機能するのと同じくらい動作
が遅いからである。したがって、書込みヒット率が劣る
アプリケーションに対しては、高速書込み能力を備えた
DASD制御装置の使用は、DASDチャンネルの効率
を著しく改善するものとはならない。米国特許第487
5155号(イスキヤンら(James L. Iskiyan et a
l))は、CKDレコードをステージングしデステージン
グさせることによって「高速書込み」能力を備えるよう
にした、キャッシュ及びDASDバッキング記憶装置を
開示している。イスキヤンらは、キャッシュレコードが
その同じレコードのDASDに記憶したものに対して、
修正されているか否かを示すために参照テーブルを用い
る、ということを教示している。
【0011】図4は、当該技術分野においてよく知られ
ている、典型的なメモリ階層及び典型的な直接アクセス
記憶デバイス(DASD)のCPU制御経路を例示した
ものである。図4の上部には、高速CPUキャッシュ1
2とインターフェースし、かつそこから主メモリ14に
インターフェースするCPU10が示されている。主メ
モリ14は次に、典型的なDASD16に接続されてい
る。DASD16は、DASDキャッシュ18、DAS
D不揮発性記憶部(NVS)20、及び回転ディスク2
2上の複数のトラックとを有するものである。別のアー
カイブ用メモリデバイスをDASD16に同様に取り付
けてもよい。図4の下方部分は、メモリ階層における下
層要素に対してCPUが参照するための、当該技術では
公知のデータ及び制御経路を示している。CPU10
を、チャンネル24で例示した複数のチャンネル及びD
ASD制御装置26によって例示した一群のDASD制
御装置を介して、DASD30で例示したいくつかの使
用可能なDASDの1つを選択するためのスイッチ28
に接続している。DASD30は、上記のDASD16
と同じデバイスとすることができる。CPU10は、チ
ャンネル24を介して制御装置26にチャンネルコマン
ドワード(CCW)を渡して、当該技術分野では公知の
方法の1つで、DASD30に対する読取り参照及び書
込み参照の後処理(disposition)を選択及び制御する
のに使用する。
【0012】当該技術分野で公知の多くのDASDアー
キテクチャの中で、IBMのカウント−キー−データ
(CKD)及び拡張CKD(ECKD)は特に有用なも
のである。CKDアーキテクチャの詳細な説明について
は、例えば、ボール(MarilynBohl)の「IBM直接ア
クセス記憶デバイスの紹介」(Science Reserach Assoc
iates、Inc.,1981)を見られたい。CKDフォーマット
は、当該技術分野でよく知られている固定ブロックアー
キテクチャ(FBA)とは異なり、各DASDトラック
上のレコードサイズ及び数を変更できるようになってい
る。図5Aは、当該技術で公知のCDフォーマットの詳
細を、図5Bは同様に公知のCKDフォーマットの詳細
を示したものである。図5Aでは、CDトラックがイン
デックスポイント32で始まり、そして短い物理ギャッ
プ(G)の後、始めにホームアドレス領域(HA)34
を含んでいる。図5Bは、HA34の内容を示してお
り、これは物理アドレス(PA)、フラグ(F)、シリ
ンダ番号(C)及びヘッド番号(H)(通常CCHHの
ような組み合わせで書かれる)、及び巡回チェックサム
(CC)を含んでいる。HA34に書き込むそれらシリ
ンダ/ヘッド番号は、トラックの「論理」シリンダ/ヘ
ッド位置と命名することとする。
【0013】図5Aに戻り、CDトラックは、次に、カ
ウント領域36とデータ領域38とを含むトラック記述
子レコード(R0)を含んでいる。図5Bをみれば分か
るように、キー領域の備えは、図5AのそのR0にはな
い。また、その他の場合には、R0はシステムデータま
たはユーザデータ、あるいはそれらの両方を組み合わせ
たものを含むことができる。図5から明らかなように、
図5BのCKDフォーマットと図5AのCDフォーマッ
トとの間の唯一の相違は、キー領域(KA)46が存在
するか否かである。したがって、本文で用いる「CKD
フォーマット」は、他に特に注記しない限り、CDフォ
ーマットとCKDフォーマットとを包含するものとす
る。各トラックは、ゼロからある最大の番号(n)まで
のどこかに、引き続くユーザデータレコードを含んでお
り、そしてこれに空白空間が続く。例えば、図5Aを参
照すると、CDフォーマット化したトラックの残りの部
分は、一連のユーザデータレコード(R1−Rn)を含
んでおり、このようなレコードは各々、アドレスマーカ
(A)40、カウント領域(CA)42、及びデータ領
域(DA)44を有している。図5Bの各レコードの最
初の部分は、例えばA40で示したアドレスマーカ
(A)である。この2バイト領域の内容は、そのレコー
ドを書き込む際にDASD制御装置から供給し、それに
より、このDASDをサーチしてこれからデータを読み
取る時、制御装置がそのレコードの開始位置を見つけら
れるようにする。
【0014】図5Bは、カウント領域(CA)42の詳
細な内容を示すもので、これは各レコード内のCAを例
示している。CA42は、物理アドレスフィールド(P
A)、フラグ(F)、シリンダ番号及びヘッド番号から
成るレコード識別子(CCHH)、そしてこれに続くレ
コード番号(R)、キー長(KL)、データ長(D
L)、及び巡回チェックサム(CC)とから成るもので
ある。なお、CCHHとRとを組み合わせて、CCHH
Rと表すことにする。通常、各レコードのPAフィール
ドは、ホームアドレス34内のPAフィールドと同じで
あって、トラックの「物理」シリンダ/ヘッド位置を表
している。また、一般的に、各レコードのカウント領域
内のCCHHフィールドは、HA34内のCCHHフィ
ールドと同じであり、そのレコードの「論理」トラック
番号を表している。図5Aでは、キー領域46がないの
で、キー長は常にゼロである。データ長フィールドをゼ
ロにセットすると、これは、ファイルレコードの終端を
示すことになる。最後に、当該技術では公知のように、
KA46の内容をDA44内で繰り返してもよい。
【0015】カウント領域(CA)42内の論理CCH
Hは、典型的には物理アドレス(PA)と同一である
が、そうである必要はない。また、そのトラック上のレ
コードの各々におけるレコード番号(R)は、何らかの
特定のパターンで進ませるような制約はないが、単調に
番号1から始めそしてある最大の番号nまで進ませるこ
とが多い。この場合、その最大数は、単一バイト(R)
フィールドに対しては、255以下でなくてはならな
い。当該技術分野で公知の典型的なチャンネルプログラ
ムは、DASD内のあるトラック上のCKDレコードデ
ータフィールドに関して読取りまたは書込みを行うよう
機能するものである。このようなチャンネルプログラム
は、対象とするDASD並びにDASD内のシリンダを
指定する。また、このチャンネルプログラムは、一般
に、参照すべきデータフィールドのあるレコードのサー
チを開始すべき、そのトラック上の回転方向位置も指定
する。次に、チャンネルプログラムは、CCHHRの形
態のサーチパラメータを指定し、このパラメータをDA
SD制御装置が用いて、対象レコード内のカウント領域
の関連部分と突き合わせる。このDASD制御装置が、
合致したカウント領域を有するトラック上のCKDレコ
ードの位置を突き止めた時、制御装置は、参照するデー
タフィールドを読み取るかあるいはそれに書込みを行
う。本開示に関連するこのプロセスの顕著な特徴は、D
ASD制御装置がDASDをアクセスしてそのトラック
上に合致したサーチパラメータを有するカウント領域の
存在を確認するまで、DASD制御装置が、読取り参照
も書込み参照も行わないことである。
【0016】この要件の意味をよりよく認識できるよう
にするために、図4を参照する。これでは、ホストCP
U10によって書き込まれたが制御装置26によってD
ASD16にはまだ書き込まれていないレコードを記憶
するため、ある量のDASDNVS20を有するものと
して、DASD制御装置を示している。このような制御
装置は、「高速書込み」動作を行うものであると言われ
ている。制御装置26は、取り付けてある回転媒体から
のトラックサイズのブロックまたはライン状のレコード
を記憶するため、オプションのDASDキャッシュ18
へのアクセス機能も有する。例えば、IBM 3990
ディスク制御装置は、このような装置の代表的なもので
あり、キャッシュとNVSの両方を有している。このI
BM 3990ディスク制御装置は、更新書込み動作を
次のように行う。即ち、参照するトラック及びレコード
が既にキャッシュ内にあり、かつサーチパラメータに合
致したレコードをキャッシュ参照のみで発見した場合、
そのキャッシュレコードを更新し、NVSにそのコピー
を作って、単一障害点を回避するようにする。次に、制
御装置は、「終了」をホストCPUに戻す。このような
動作は、「高速書込みヒット」と呼ぶ。そして、そ
後のある時点で、IBM 3990制御装置は、非同期
的に、その更新されたレコードまたはトラックをキャッ
シュからディスクに移し、そしてキャッシュとNVSの
両方からそのレコードまたはトラックを除去する。この
高速書込みヒットのときには、3990デイスク制御装
置は、ホストシステムから見た場合の応答時間から、1
つのレコードをディスクに書き込むのに通常必要なディ
スクアクセス時間を除くことができる。そして、その修
正されたレコードを実際にキャッシュからディスクに移
すのは、より都合のよい時間に行うことができる。例え
ば、ディスクがアイドリング状態の時、またはその同じ
シリンダトラックに対して他に行う作業がない時に、行
うことができる。しかしながら、アクセスするそのレコ
ードが元々キャッシュになかった場合には、その結果と
して生じる「高速書込みミス」により、3990ディス
ク制御装置は、ホストCPUを解放する前に、まずディ
スク上のその物理トラックへのアクセスを強制的に実行
させられる。
【0017】
【発明が解決しようとする課題】上記したイスキヤンら
の技術は、「高速書込み」型システムの読取り及び書込
みのアクセス効率を改善するものであるが、彼らの技術
は、上述の「高速書込みミス」を回避するためには、何
も行われていない。したがって、当該技術分野におい
て、「高速書込み」のキャッシュ動作構成の恩恵を、書
込みヒット率が低いアプリケーションに利用可能とする
技術の開発が、強く望まれている。また、図4〜図5に
関して説明した従来例においては、高速書込みミスのと
きに、トラックアクセスを行った後、制御装置は、指定
された回転方向位置から始まって、合致するカウント領
域を発見するまで、トラック内の各レコードのカウント
領域をサーチしなければならない。一旦合致したカウン
ト領域を発見したなら、対応するデータフィールドを更
新し、そして「終了」をホストCPUに戻す。このよう
な場合、高速書込みミスは、ホストCPUに対し呈する
応答時間の中に物理ディスクアクセスを含んでいるの
で、高速書込みヒットよりかなり遅いことが、明確であ
る。したがって、書込みヒット率が高い場合には、高速
書込み手順は、DASDチャンネル効率の著しい改善を
もたらすことになる。しかしながら、書込みミスでは、
制御装置は、高速書込み能力が使用できないかのように
動作するので、書込みヒット率が低いアプリケーション
では、高速書込み制御装置手順の恩恵を得ることはでき
ない。
【0018】
【課題を解決するための手段】本発明は、キャッシュを
用いたDASD記憶装置における高速書込みミスに関連
したホストCPUの待ち時間を低減するための新たな技
術に関するものである。この本発明方法は、全てのCK
Dフォーマット型DASDトラックが実質的に同一サイ
ズのデータフィールドを有ししかもキーフィールドを有
していない、という予想できなかった観察結果を前提と
したものである。これらのレコードは、通常、単調に増
加するレコード番号の順にトラックに沿って組織化され
ている。本発明は、高速RAM内に予測性トラックテー
ブル(PTT)を記憶できるようにして、良好に組織化
された「予測性トラック」上のレコード位置を予測する
のに用いる。ホスト更新のレコードの2つのコピーを記
憶することにより、そしてその更新レコードの正確なD
ASDトラック位置を予測することにより、DASD制
御装置は、データ消失の危険性もなく、目標とするDA
SDトラック内の実際のレコード位置についての検証を
待つこともなく、直ちにホストCPUチャンネルを解放
することができる。
【0019】データ処理産業におけるCKDフォーマッ
ト型システムの使用状況を調べた結果、あるホストオペ
レーティングシステムはほとんど常に、論理レコードC
CHHがDASDトラック内のCKDレコードの物理C
CHH位置と同じであることを保証している、という予
想していなかったことを発見した。また、CKDトラッ
クの優勢であることは、CKDレコードがキーフィール
ドを有しておらず、実質的に同一サイズのデータフィー
ルドを有し、また1から単調に増加するレコード番号を
トラック内で有するという点において、「予測性があ
る」、ということも発見した。当該技術分野で広く用い
られているチャンネルプログラムを調べた所、殆どのホ
ストの更新による書込みは、予測性のあるトラックに対
するものであるという、予想しなかった観察結果を得
た。したがって、予測性のあるトラックへのそのような
更新書込みの機能を改善すれば、実際にキャッシュ高速
書込みヒット率を改善しなくとも、システム性能全体を
大幅に改善できることになる。本発明の目的は、DAS
Dキャッシュのサイズまたはその複雑さの増加が付随し
て起こらないようにして、書込みヒット率が低いアプリ
ケーションの効率を改善することである。本発明の別の
目的は、提案する予測性トラック構成における種々の変
更例に対処することである。
【0020】本発明の利点は、CKDフォーマット型D
ASD制御装置において、殆どの更新書込み要求に対す
るホストの応答時間から、DASDアクセス時間を除け
ることである。IBM 3990のような制御装置は、
アクセスするレコードをキャッシュ内に発見したという
場合には、ホストCPUのサービス時間からDASDア
クセス時間を除くということは既にできているが、その
他の場合にはそうはなっていない。したがって、本発明
の方法で、多くの最新のアプリケーションを含む、書込
みヒット率の低いアプリケーションをより効率的にでき
ることは、本発明の顕著な利点である。本発明の方法
は、CKD記憶機能をエミュレートするための、当該技
術分野では公知の固定ブロック(FB)DASD制御装
置に応用する場合には、他の付加的な利点をももたらす
ことができる。本方法は、そのようなFB/CDKエミ
ュレーションに通常必要なDASDアクセスを不要とす
るものである。本方法をCKDエミュレーション(これ
では、全てのCKDレコードをFBセクタに緊密にパッ
クする)に応用した時、更新効率が改善されるために、
FB DASD制御装置を通常の速度の2倍で動作させ
ることができ、これは本発明の別の利点となるものであ
る。また、エミュレートしたカウントフィールドをDA
SDのFBセクタ上に記憶するという通常の要件は、
予測性トラックに関しては除くことにより、ある種のF
B DASD FB/CKDエミュレーション技術を簡素
化することができ、これは、本発明方法の更に別の利点
である。それは、予測性トラックのためのその必要なカ
ウントフィールドを再作成するのに十分な情報を含むよ
う、予測性トラックテーブルを規定するので、可能とな
る。
【0021】
【実施例】当該技術分野における実際のシステムの使用
状況を調査した所、多くのオペレーティングシステム
は、通常、CKDレコードのカウントアドレス内の論理
CCHHが常に,CKDレコードを記憶している物理シ
リンダ/ヘッド番号(物理CCHH)と同じであるよう
にしていることが判った。また、このようなCKDトラ
ックの大半(75%)は「予測性のあるもの」であるこ
とも判別した。予測性トラックとは、ここでは、物理ト
ラック上のカウント領域についての予測を可能にする特
性を有するもの、として定義する。例えば、このような
定義は、レコードがキーフィールドを持たずそして同一
サイズのデータフィールドを有し、またトラックに沿っ
たレコード番号Rが単調に1から増加するようなもの、
とすることもできる。既存のチャンネルプログラムの調
査により、殆ど(95%)の更新書込みは、そのような
予測性トラックに対して行われることが判明した。した
がって、予測性トラックへの更新書込み機能を改善する
よう企図するどのような手段によっても、予期しなかっ
た重大な効率の改善を得られる、ということを発見した
のである。
【0022】先に定義した典型的な予測性トラックで
は、このトラックに記憶されている最後のレコード番号
を知っていれば、そのトラック上である特定のカウント
領域を有する特定のレコードの有無を判定するのに十分
である。例えば、シリンダ100(シリンダ番号が10
0)、ヘッド50(ヘッド番号が50)を予測性トラッ
クとし、そのトラックの最後のレコード番号が20であ
ることが判っているものとする。チャンネルプログラム
が、CCHHRサーチパラメータ(シリンダ番号,ヘッ
ド番号,レコード番号)として(100,50,7)を
与えてきた時、そのトラック上の最後のレコードについ
ての知識で、その参照するレコード7が存在することを
十分に判定することができ、実際にそのトラック上の各
レコードのキャッシュコピーを参照せずともよい。同様
に、(100,50,25)または(100,40,
7)のようなその他のサーチパラメータについては、そ
の最初の例ではレコード番号が上記の最大値を越えてお
り、2番目の例ではヘッド番号が異なるので、これらの
サーチパラメータは満足されない、ということが曖昧さ
なく判ることになる。本発明の方法では、DASD制御
装置内またはそのチャンネルの主メモリ内のいずれかの
高速メモリ中に、予測性トラックテーブル(PTT)を
保持することが必要である。そのPTTは、アクセスす
るトラックが予測性のあるものか、そしてそのような予
測性トラックに対して、ある指定のレコードが当該トラ
ック内に存在するか、を明確にするように構成されてい
る。また、CKDアーキテクチャのもつ性質により、チ
ャンネルアクセスエラーのためのチェックに用いるた
め、そのトラック内の全てのレコードに共通のデータ長
値をそのPTTに含ませることが必要である。
【0023】次に、本発明の方法の動作について、例を
下記に示して説明するが、これは、図1のフローチャー
トを参照すれば理解できるはずである。まず、あるDA
SDのシリンダ100、ヘッド50に更新書込みを行う
ことについて説明する。もしDASDキャッシュ記憶装
置が備えられている場合(これは必ずしも必要ではな
い)、参照するトラックを探すためそのDASDキャッ
シュ記憶装置を最初にサーチする(ステップ1)。その
参照トラックをキャッシュ内で見つけた場合(NOの場
合)、手順は、上述の高速書込みヒットに対するのと同
じものとなる。また、そのトラックがキャッシュ内で見
つけられなかった場合(YESの場合)、PTTを調べ
て、その対象トラックが予測性であるか否かを判定する
(ステップ2)。そのトラックが予測性でない場合(N
Oの場合)、プロセスは、高速書込みミスに関して上述
したように進行する(ステップ3、4に進む)。トラッ
クが予測性である場合(YESの場合)、PTTを調べ
てそのトラックの最後のレコード番号(例:20)及び
データ長(例:1000バイト)を得る。例えば、その
サーチパラメータが(100,50,9)であれば、制
御装置は、そのホストチャンネルからレコードを受け入
れるように処理を進めて、1つのコピーをNVSに、も
う1つのコピーをキャッシュに記憶させることができる
(ステップ5)。その受け入れ時に、その更新レコード
データをチェックして、サイズが正確に1000バイト
であることを確認する(1000バイト以上または以下
のいずれかをホストチャンネルが与えてきた場合、CK
D制御装置に対する公知の規則を参照する)。データ長
の検証、及びNVS及びキャッシュ内への記憶の後、直
ちにDASD制御装置がそのチャンネルを解放する。
【0024】DASD制御装置用キャッシュを備えてい
ない場合には、更新レコードの2つのコピーをNVSに
記憶して、単一障害点を回避するようにすることができ
る。このようなシステムでは、ホストCPUからの参照
があれば全て、高速書込みミスとして扱うことになる。
本発明の非キャッシュ方法の最初のステップは、PTT
を参照して、参照するトラックが予測性であるかを判定
することである。このPTTの参照に続いて、制御装置
は、上述の例にしたがって処理を進める。先に説明した
キャッシュを用いた例あるいはこの非キャッシュの例の
いずれにおいても、本発明の方法は、殆どの更新書込み
に対して、ホストの応答時間からこの過剰時間を削除す
るものである。更新されたレコードのキャッシュ/NV
Sからディスクへの実際のデステージングは、ホストチ
ャンネルに関しては、非同期で行うようにする。キャッ
シュ無しの制御装置については、殆どの更新書込みに対
して性能を改善することができる。キャッシュ付きの制
御装置では、キャッシュをミスする殆どの更新書込みに
ついての性能を改善することができる。上記の本発明の
方法について、図1のフローチャートに例示してある
が、これは、コンピュータ科学技術における当業者が本
発明の適当なコンピュータプログラム実施例を十分に作
成できるようにするものである。
【0025】図2及び図3は、本発明の方法において用
いるのに好適な「予測性トラック」フォーマットのコン
セプトについての種々の変形例を示すものである。図2
の各予測性トラック定義にて用いるのに好適な、予測性
トラックテーブルのフォーマットの例は、図3に示す。
図2Aは、図3Aに示す識別子フィールドとデータ長フ
ィールドとのPTT要素のみを必要とする、予測性トラ
ックの好適な定義である。この実施例は、簡単で小型の
PTTを提供するもので、該PTTは、比較的簡単なロ
ジックで参照して、ある予測性トラック内の参照するレ
コードの有無を判定することができる。各予測性トラッ
クは、同一数のn個のユーザデータで満されているた
め、また、各トラックはレコード番号R=1で始まって
いるので、いかなるホスト更新レコード参照でも直ちに
調べることができ、参照するレコード番号が(1−n)
の間に該当するかを判定することができる。次に、CK
Dエラー状態について、DLフィールドを当該技術分野
において公知の方法でチェックし、これは、PTTデー
タ長フィールドを参照することにより行う。図2B〜E
及び図3B〜Eのその他の変更例についても、図2A及
び図3Aに関する上述の説明と類似であるため、理解で
きるはずである。図2Aに例示した予測性トラック定義
では、最後のレコード番号nをDL及びトラック容量か
ら計算することができる。例えば、トラック容量が50
KBでDLが4KBに等しい場合、12個の4KBレコ
ードを記憶して未使用トラック空間が2KBとなるの
で、最後のトラック番号nは12に等しくなる。この予
測性トラック定義によれば、1〜3と番号付けしたその
ようなレコードを3つのみ有するトラックは、最大数n
のレコードを記憶していないので、これを予測性トラッ
クとは看做さない。
【0026】図2Bは、最大数より少ないレコードを有
するトラックを包含するように、予測性トラック定義を
拡張したものである。これは、レコード番号R1,R2
の後に一連の空のアドレスマーカ(A)が続けることに
よって、示している。この図2Bの実施例の利点は、予
測性トラックヒットの数を増やして、部分的に空の予測
性トラックへの参照を含むようにしたことである。この
方法の欠点は、図3Bに示しているが、各予測性トラッ
クに対し、最終レコード番号(LR)フィールドを追加
する必要があることである。この図3BのPTTでは、
図3Aで説明した他の計算に加えて、各予測性トラック
に関する新しいレコード番号範囲を計算することが、D
ASD制御装置に要求される。図2Cは、トラック上の
全てのレコード内に、同一の非ゼロのキーフィールドを
有する予測性トラックを示している。この場合、図3C
に示すように、その一定のキーフィールド長(KL)
を、そのような各予測性トラックに対するPTT内に記
憶しなければならない。これが必要なのは、チャンネル
プログラムはキーフィールド及びデータフィールドの両
方を共に更新することがあり、したがってCKD長チェ
ックサム手順を実行するのに、KLがDLと共に必要で
あるからである。図2C及び図3Cに示した実施例は、
PTTのサイズを増大させるが、それに付随する予測性
トラックヒット率は殆ど増さないので、特に興味深いも
のではない。
【0027】図2Dは、更に別の予測性トラック定義を
示したもので、ここでは、HA及びCA内の論理トラッ
クアドレスCCHHが、HA及びCA内の物理CCHH
(PA)と異なっていても、当該トラックを予測性と定
義するものである。この場合、そのような各予測性トラ
ックに対して、図3DのPTTは、論理CCHHに対し
て追加の論理アドレス(LA)フィールドの記憶を必要
とする。そのLAの記憶の必要性によって、PTTの空
間要件は増すが、異なる論理CCHH及び物理CCHH
を用いるVMのようなホストオペレーティングシステム
を支援できる、という付加的な利点をもたらす。図2D
はR1からRbまで番号を付した一連のレコードと、そ
れに続く一連の未使用のアドレスマーカ(A)を示して
おり、そのようなトラックを満杯にする必要がないこと
を表している。この方法の更に別の変更例は、ある所与
のトラックに対するPTTエントリの位置またはインデ
ックスから物理トラックアドレスを判定する方法とし
て、実施することができる。そのようなPTTエントリ
は、その物理トラックアドレスを明示的に記憶する必要
がなく、これによっていくらかの記憶装置節約をもたら
すことができる。この変更例は更に変更を行って、別の
2つの方法にすることができる。その変更例の1つで
は、論理トラックアドレスをPTTエントリ内に記憶さ
せて、物理トラックアドレスと等しくする必要をなくす
ものである。第2のその変更例では、論理トラックアド
レスを、常に物理トラックアドレスと等しくなるように
制約し、またそれをPTTから省くこともできるように
して、記憶装置を節約するものである。
【0028】この付加的な変更例は、各物理トラックア
ドレスから単一のPTTエントリへの曖昧さ無しのマッ
ピングを必要とし、そしてこれに関する多くの適切な体
系(schemes)が当該技術分野では公知である。このよ
うな体系の殆どは、物理トラックアドレスが連続である
のに対してPTTがまばらである場合、PTTのサイズ
を増大させることになるが、セグメント分割されたまた
は多段のPTT組織では、空のエントリが占める空間を
最小限にすることができる。したがって、この変更例は
恐らく、殆どのトラックが予測性であってしたがってP
TT内で表されるような状況、あるいは、副PTT群内
の連続的にアドレスを付与したトラックの殆どが予測性
であってしたがってPTT内で表されるような状況で
は、最も有用なものとなる。このような場合、本変更例
では、PTTの空間要求が減少し、更に空エントリが多
数なく、PTTエントリはより小さいものとなる。PT
Tから完全に物理CCHHを除去してしまうよりむし
ろ、物理トラック番号の縮小化したものを記憶しておく
ほうが恐らくもっと有用である。例えば、CC*15+
HHを記憶するのに(15はシリンダ当りのトラック
数)、通常4バイト必要であるが、2バイトで済む。あ
るいはまた、CC*15+HHの計算結果の下位バイト
をPTTエントリに記憶させることによって、PTT空
間の3バイトを節約することができる。1バイトのみの
記憶であっても、制御装置のマイクロコード(これは所
与のCCHHに関する特定のPTTエントリを指し示
す)のクロスチェックを設けるのに有用であり、これに
よって、適切なPTTエントリがアクセスされたという
確信を与えることができる。
【0029】上に説明したこの拡張によって、図2Eに
示したような、最初のレコード番号が1ではない予測性
トラックにも、本発明方法を用いることができる、とい
うことが認められよう。そのような予測性トラックは、
レコード番号Ra〜Ra+nの一連(増加順または減少
順)のものを含むものでなければならないが、レコード
番号R1から始まる必要はない。図3Eに示したPTT
の実施例では、レコード番号aを識別するための先頭レ
コード(FR)フィールドの追加を必要とする。先頭及
び最終のレコード番号のフィールドFR及びLRの両方
の存在が、PTTに記憶されている任意の予測性トラッ
ク内の更新レコード参照の有無の計算を行えるようにし
ている、ということが判るであろう。上述の各変更例の
いずれかと共に機能する効率的なPTT実施例の他の有
用な変更例は、PTT短縮手順であり、これによって、
隣接した複数の予測性トラック範囲を、単一のPTTエ
ントリ内に組み合わせることができるようになる。例え
ば、デバイス上の全てのトラックが予測性であり、かつ
各トラックが12個の4KBのレコードを有するとする
と、PTTは、そのデバイス上の全てのトラックを記述
するのに、番号12とサイズ4KBのみを記憶すればよ
い。この方法は、VMミニディスクのような論理CCH
Hが物理CCHHと異なるような状況で、特に有効なも
のとなる。そのようなミニディスクに対して、単一の開
始物理CCHHと単一の開始論理CCHHのみで、全ミ
ニディスクPTTに対して十分となる。
【0030】多くのシステムは、典型的には諸シリンダ
全体を同一フォーマットでフォーマット化するので、こ
のような体系は実際に良好に動作するものである。しか
しながら、本発明方法のこの拡張は、例えば、同じ様に
フォーマット化したある1つの範囲の中央にあるトラッ
クにその隣接部とは異なる再フォーマット化を行うよう
な場合、ある種の複雑さをPTT保守のために加えるこ
とになる。このような場合、その範囲全体を記述するた
めのPTT内の単一のエントリを、3つのエントリに拡
張しなくてはならない。即ち、(1)その修正したトラ
ックまでの初期の範囲を記述するためのエントリと、
(2)その修正トラックを記述するためのエントリと、
そして(3)その修正トラックに続くトラックの範囲を
記述するための最終エントリである。図4において、そ
のPTT全体は、制御装置26と関連するメモリ(図示
せず)に記憶させることができる。あるいはまた、別の
方法として、ある特定のDASD30と関連した1つの
PTTの一部分を、そのDASD30と関連するランダ
ムアクセスメモリ(図示せず)に記憶させることもでき
る。前者の方法を用いる場合、制御装置26は、この制
御装置26に取り付ける全てのDASDに対するPTT
を保持するのに十分なメモリを確保しなくてはならな
い。後者の場合には、新しいDASDを制御装置26に
取り付ける時はいつでも、その新しいDASDは、PT
Tのその1部分を保持するために、十分なランダムアク
セスメモリ(RAM)をそれ自身と共に備えるようにす
る。後者の方法の欠点は、制御装置26は、PTTにア
クセスするためにはスイッチ28を介して、DASDと
交信しなければならないことである。このため、制御装
置26またはチャンネル24に関連したメモリ(図示せ
ず)に、PTTを記憶することが好ましい。
【0031】制御装置26の電源を切った時あるいは停
電となった時に、PTTを消失しないことが好ましい。
このような問題の1つの解決法は、PTTを不揮発性R
AMに記憶して、電源遮断を切り抜けさせることであ
る。適当な別の解決法は、電力消失の間も持続するよう
バックアップ電池によって電力供給を受けるようにした
RAMに、PTTを記憶することである。そのような場
合、PTTのディスクコピーを、そのRAMのコピーに
加えて、作成することもできる。PTTディスクコピー
の有効性を保証する簡単で適切な方法は、PTTの終端
に添付するIMLまたはトークン番号を保持することで
ある。制御装置の通常動作の間、ディスクへのPTTの
ダンプを頻繁に行うことに関連する処理能力の低下を回
避するためには、PTTのRAMコピーの更新毎にディ
スクコピーを更新しないようにする。しかしながら、R
AM PTTトークンを、ディスクへのダンプに続く最
初の更新時に増分する場合、作動中のPTTをディスク
に書き込む時はいつでもディスクコピーに添付するよう
にした現行のトークン値は、連続的に更新されたRAM
PTTをスタティックPTTディスクコピーから区別
するのに役立つ。
【0032】IML時に、制御装置は、直ちに上記トー
クンを増分し、そしてRAMにディスクから再ロードを
実行する前にPTTディスクコピーが有効であることを
検証する。各IMLにおいて、制御装置のIML番号を
最初に増分し、そして、PTTをディスクからロードす
る。ロードの実行中、PTTディスクコピー内のIML
番号フィールドをチェックして、それが現行のIML番
号値より正確に1少ないことを確認する。そして、もし
そうであれば、前回のIMLセッションの終了時にディ
スクに作成した正しいコピーとしてそのPTTを承認
し、そして該PTTを再び用いることができる。また、
もしそうでなければ、PTTディスクコピーは旧版であ
り、したがってPTTをRAMから回復するか、あるい
は通常のDASD動作中の完全なDASDスキャンまた
は断片的な再作成のような適切な手段によって、PTT
を再作成する。もしRAM内のPTTの更新を完了しそ
してそのRAM PTTをディスクにセーブする前に制
御装置に障害が生じた場合、制御装置は次のIMLにお
いて、ディスクコピーPTTトークンが現行のIML値
より2少ない値である(ディスクダンプ時の1カウント
と制御装置の回復の時の1カウント)ことを発見するこ
とになり、したがって、制御装置の障害発生直前のRA
M PTTの状態に対してディスクコピーPTTが無効
であると判ることになる。
【0033】単一障害点を回避するには、PTTの2つ
のコピーを制御装置26のメモリ(図示せず)に保持す
るべきである。また、そのテーブル内の各トラックエン
トリに対して「有効」バイトを含ませるように、PTT
を組織化することもできる。このように、ある1つのト
ラックの再フォーマット化についてのホストシステムの
要求時に、そのトラックに対応するPTTエントリをま
ず無効としてマークする。そして、そのフォーマット化
動作の完了に続いて、そのトラックが予測性のままであ
るなら、そのトラックに対するPTTエントリを、DL
及びLRに対する新しい値を用いて更新する。最後に、
そのトラックに対するエントリを有効としてマークし直
す。これは、フォーマット書込み動作中に生じるシステ
ム障害の結果発生し得るPTTの保全性損失を、防止す
るものである。上述のような、ディスクにPTTをセー
ブすることに加えて、制御装置は、外部主電力の消失に
よって起こる遮断を含む、DASDサブシステムの遮断
手順中に、PTTをセーブするように動作させることも
できる。このプロセスは、制御装置がRAM PTTコ
ピーをディスクに書き込み、現行のトークンを添付し、
そして遮断することにおいて同一であり、これによっ
て、そのRAM PTTにそれ以上の更新を行わないこ
とを保証する。電池によるバックアップまたは他の不揮
発性の支援手段によってRAM PTTを保持する場
合、無変更のトークンをRAM PTTに保持する。先
に記したように、制御装置が遮断後に再始動した時、そ
の別個に保存したPTTトークン値を増分し、そしてト
ークン値が現行の制御装置のトークンより1少ないかに
ついて、RAMまたはディスクからの最初のPTTコピ
ーを試験する。
【0034】本発明の方法は、FBシステム上のCKD
エミュレーション用の制御装置に適用することができ
る。CKDエミュレーションのための1つの公知の方法
では、新しいFBセクタ境界から開始して、各CKDレ
コードを記憶する。このような方法では、各CKDレコ
ードに対するカウントフィールドとキーまたはデータの
フィールドの開始点との両方を同じFBセクタに記憶し
て、これらのフィールドが多数のセクタに及び得るよう
にする。予測性トラックテーブル(PTT)を用いない
場合、ある予測性トラック上に記憶された1つのレコー
ドのデータフィールドの更新を要求した時に、もしその
トラックがキャッシュ内になければ、そのレコードを含
むセクタを最初に制御装置のバッファメモリにコピーし
なくてはならない。次に、それらセクタ内の更新すべき
データフィールドを含む部分を、変更しなくてはならな
い。最後に、更新したセクタを、FBディスクに、その
2回目の回転時に書き込まなければならない。予測性ト
ラックテーブル(PTT)を用いると、その更新書込み
は、ディスク1回転のみで済むが、その理由は、PTT
情報を用いて発生されたレコードのカウントフィール
ド、及びホストチャンネルから受け取ったデータフィー
ルドを含むそのレコード全体を、ディスクに再び書き込
むからである。したがって、ホストの応答時間からディ
スクアクセス時間を除くことに加えて、このPTT方法
は、このCKD/FBエミュレーション技術に対して
も、ディスクアクセスを除くものである。
【0035】このPTT方法は、CKDレコードをFB
セクタに緊密にパックするような、CKDエミュレーシ
ョン用の他の公知の技術と用いても有用である。この技
術では、PTTは、DB2ロギングによって実行される
もののような順次的トラック更新書込みに対して、ディ
スクアクセスを除くことができる。DB2ロギングと
は、トラック上の各ユーザレコードのデータフィールド
を更新するものである(トラック全体の更新書込み)。
PTTを用いると、トラックのいずれも部分を読み取る
こともせずに、トラック全体の再作成及び書込みを行う
ことができる。PTTを用いないと、トラックの古い値
を、最初の回転で読み取って、カウントフィールドの再
構成を行えるようにしなければならず、そしてそのよう
にしてから、2回目の回転中に書込みを行うことにな
る。これは、各トラックを最初に読み取りそして次に書
き込むことができるようにするのに通常必要な元(nati
ve)のデバイスの速度の半分の速度の代りに、FBデバ
イスの速度でDB2ロギングをエミュレートすることが
できる、ということを意味する。このPTT方法がうま
く働くのは、(a)R0を除いてトラック全体を一度に
書き込み、そして(b)CKDエミュレーション体系に
よれば、R0に別個のセクタがを割り当てられ、そして
1つのトラックにユーザレコードが常に一緒に詰め込ま
れるからである。本発明の方法のこの利点は、先に引用
したボール(Bohl)の参考文献を参照すれば、十分に理
解できるであろう。
【0036】最後に、CKDエミュレーションにPTT
を用いると、FBディスクセクタ上の典型的なエミュレ
ートしたカウントフィールドを記憶する必要がなくな
る、ということが判った。必要に応じてカウントフィー
ルドを再作成するのに十分な情報がPTT内に存在する
ので、これが可能となるのである。カウントフィールド
を記憶する必要性がなくなると、ディスク空間を節約で
き、更に性能を改善できることにもつながる。しかしな
がら、エミュレートしたカウントフィールド値を記憶す
るという通常の必要性を除去するためにPTTを用いる
場合、時間に対するPTTの信頼性及び破滅的なDAS
Dサブシステム障害発生の間のPTTの信頼性は、少な
くとも、DASD上に記録されたデータの信頼性と同等
でなくてはならない。基本的なDASD情報のコピーの
みを保持するためにPTTを用いる場合、PTT内容の
消失によって、単なる性能の劣化よりもむしろ実際のD
ASDデータの消失を招く可能性もある。しかし、ここ
で注目すべきことは、DASDサブシステムを強化する
ための先に説明のPTT方法の変更例においては、PT
T内容を消失すると、PTTをDASDサブシステムに
よって再構成できるまで、PTTがないDASDの通常
の性能レベルとなるのみである。したがって、FBディ
スクセクタに対してDASDカウントフィールドを再作
成するためにPTTエントリを頼りにすることは、実際
のデータの消失という新しい危険性を誘発し、これはシ
ステムのユーザには受け入れ難いものであろう。
【0037】
【発明の効果】以上に説明した本発明によれば、高速書
込みミスに関係したホストCPUの待ち時間を低減させ
ることができる。
【図面の簡単な説明】
【図1】本発明の方法のフローの一例を示すフローチャ
ート。
【図2】A〜Eは、本発明において提案する予測性トラ
ックのフォーマットの一連の変更例を示す図。
【図3】A〜Eは、図2の予測性トラックフォーマット
に対応した、本発明において提案する予測性トラックテ
ーブルのフォーマットの一連の変更例を示す図。
【図4】従来より公知の、CKD DASDのチャンネ
ルと制御装置の構成を示すブロック図。
【図5】Aは、従来より公知のCDレコードフォーマッ
トを示す図であり、Bは、従来より公知のCKDレコー
ドフォーマットを示す図。
【符号の説明】
10:CPU 12:CPUキャッシュ 14:主メモリ 16:DASD 18:DASDキャッシュ 20:DASD NVS 24:チャンネル 26:DASD制御装置 28:スイッチ 30:DASD
フロントページの続き (72)発明者 ジョン・イー・リンドレイ アメリカ合衆国95139、カリフォルニア州 サン・ノゼ、トランガ・コート 7296番 地 (72)発明者 ロバート・ウェスレイ・ショムラー アメリカ合衆国95037、カリフォルニア州 モーガン・ヒル、ピードモント 17015 番地

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】データを記憶するためのメモリ手段と、デ
    ータをカウント−キー−データ(CKD)でフォーマット
    化されたレコードの形で直接アクセス記憶デバイス(DA
    SD)に書き込むための転送手段と、を有するチャンネル
    制御装置であって、前記直接アクセス記憶デバイスは、
    直接アクセス記憶デバイストラックに複数のカウント−
    キー−データ・フォーマット化レコードを記憶してお
    り、前記転送手段は、前記レコードを記憶するための1
    つあるいはそれ以上の不揮発性記憶手段(NVS)を備え
    ているチャンネル制御装置において実行される、直接ア
    クセス記憶デバイストラックに記憶されたホスト指定の
    レコードを更新する方法において、 1) 前記メモリ手段内の予測性トラックテーブル(PT
    T)に、複数のトラック及びレコード記述子を記憶する
    ステップであって、これら記述子は、前記カウント−キ
    ー−データ・フォーマット化レコードの各々が記憶され
    ている直接アクセス記憶デバイストラックを識別するた
    めのものである、記憶ステップと、 2) 前記メモリ手段中のホスト指定のレコードを更新
    する更新ステップと、 3) 前記予測性トラックテーブルを参照して、前記ホ
    スト指定のレコードが記憶されている直接アクセス記憶
    デバイストラックを確認する確認ステップと、 4) 前記予測性トラックテーブルにおいて、前記ホス
    ト指定のレコードが記憶されている直接アクセス記憶デ
    バイストラックが確認されたとき、更新した前記ホスト
    指定のレコードを、前記不揮発性記憶手段に書き込むた
    めの書込みステップと、 5) 更新した前記ホスト指定のレコードを、前記不揮
    発性記憶手段から非同期的に前記転送手段により前記直
    接アクセス記憶デバイストラックに転送するための転送
    ステップと、 を備えたレコード更新方法。
  2. 【請求項2】請求項1記載の方法において、前記メモリ
    手段は、直接アクセス記憶デバイスレコードのバッファ
    記憶のためのキャッシュ手段を備えており、前記方法
    は、前記記憶ステップに続いて、 1.1) 前記ホスト指定のレコードの存在について前
    記キャッシュ手段を調べて、前記キャッシュ手段内に存
    在することを見い出した前記ホスト指定のレコードの各
    々に対して、前記確認ステップ、前記書込みステップ及
    び前記転送ステップを迂回すること、 を含むことを特徴とするレコード更新方法。
  3. 【請求項3】請求項2記載の方法において、 前記直接アクセス記憶デバイストラックは、実質的に同
    一サイズのキーフィールドと実質的に同一サイズのデー
    タフィールドとを有する複数の予測性レコードを含む、
    1つあるいはそれ以上の予測性トラックを含んでおり、
    前記予測性レコードは、単調なレコード番号順に各前記
    予測性トラックに沿って配列されており、 前記トラック及びレコード記述子は、各前記予測性レコ
    ードのための物理CCHHフィールド及び論理CCHH
    フィールド、各前記予測性トラックに対する先頭及び最
    終予測性レコード番号、及び前記同一のデータフィール
    ドサイズ及び同一のキーフィールドサイズを、全ての前
    記予測性トラックに対して、含んでいること、 を特徴とするレコード更新方法。
  4. 【請求項4】請求項2記載の方法において、 前記直接アクセス記憶デバイストラックは、実質的に同
    一サイズのキーフィールドと実質的に同一サイズのデー
    タフィールドとを有する複数の予測性レコードを含む、
    1つあるいはそれ以上の予測性トラックを含んでおり、
    前記予測性レコードは、レコード番号1から始まり単調
    に増加するレコード番号の順に各前記予測性トラックに
    沿って配列されており、 前記トラック及びレコード記述子は、各前記予測性レコ
    ードに対する物理CCHHフィールド及び論理CCHH
    フィールド、各前記予測性トラックに対する最終予測性
    レコード番号、及び前記同一のデータフィールドサイズ
    及び同一のキーフィールドサイズを、全ての前記予測性
    トラックに対して、含んでいること、 を特徴とするレコード更新方法。
  5. 【請求項5】請求項2記載の方法において、 前記直接アクセス記憶デバイストラックは、実質的に同
    一サイズのキーフィールドと実質的に同一サイズのデー
    タフィールドとを有する複数の予測性レコードを含む、
    1つあるいはそれ以上の予測性トラックを含んでおり、
    前記予測性レコードは、同一の物理CCHHフィールド
    及び論理CCHHフィールドを有しており、かつレコー
    ド番号1から始まり単調に増加するレコード番号の順に
    各前記予測性トラックに沿って配列されており、 前記トラック及びレコード記述子は、各前記予測性レコ
    ードに対する物理CCHHフィールド、各前記予測性ト
    ラックに対する最終予測性レコード番号、及び前記同一
    のデータフィールドサイズ及び同一のキーフィールドサ
    イズを、全ての前記予測性トラックに対して、含んでい
    ること、 を特徴とするレコード更新方法。
  6. 【請求項6】請求項2記載の方法において、 前記直接アクセス記憶デバイストラックは、実質的に同
    一サイズのデータフィールドを有するがキーフィールド
    を有さない複数の予測性レコードを含む、1つあるいは
    それ以上の予測性トラックを含んでおり、前記予測性レ
    コードは、同一の物理CCHHフィールド及び論理CC
    HHフィールドを有しており、かつレコード番号1から
    始まり単調に増加するレコード番号の順に各前記予測性
    トラックに沿って配列されており、 前記トラック及びレコード記述子は、各前記予測性レコ
    ードに対する物理CCHHフィールド、及び各前記予測
    性トラックに対する最終予測性レコード番号を、全ての
    前記予測性トラックに対して、含んでいること、 を特徴とするレコード更新方法。
  7. 【請求項7】請求項2記載の方法において、 前記直接アクセス記憶デバイストラックは、実質的に同
    一サイズのデータフィールドを有するがキーフィールド
    を有さない複数の予測性レコードを含む、1つあるいは
    それ以上の予測性トラックを含んでおり、前記予測性レ
    コードは、同一の物理CCHHフィールド及び論理CC
    HHフィールドを有しており、かつレコード番号1から
    始まり単調に増加するレコード番号の順に各前記予測性
    トラックに沿って配列されており、 前記トラック及びレコード記述子は、各前記予測性レコ
    ードに対する物理CCHHフィールドを、全ての前記予
    測性トラックに対して、含んでいること、 を特徴とするレコード更新方法。
  8. 【請求項8】直接アクセス記憶デバイス内の予測性トラ
    ック上に記憶されたカウント−キー−データでフォーマ
    ット化されたレコードの更新を管理する方法であって、
    前記直接アクセス記憶デバイスへの経路は、キャッシュ
    記憶手段と少なくとも1つの不揮発性記憶手段とを介す
    るようにして設けられており、前記キャッシュ記憶手段
    に既に存在しているレコードへの更新参照を高速書込み
    ヒットと命名し、一方前記キャッシュ記憶手段に存在し
    ないレコードへの更新参照を高速書込みミスと命名して
    いる、レコード更新管理方法において、 a) 前記予測性トラック内に記憶されたカウント−キ
    ー−データ・レコードのカウント及び長さ記述子を含ん
    だ予測性トラックテーブル(PTT)を記憶するステップ
    と、 b) 高速書込みミスに応答して、前記予測性トラック
    テーブルに記憶された前記記述子を参照することによ
    り、ミスしたレコードが予測性トラック内にあるかを確
    認するステップと、 c) 前記ミスしたレコードがある予測性トラックに記
    憶されている場合、前記キャッシュ記憶手段及び前記不
    揮発性記憶手段に、前記ミスしたレコードを書き込み、
    そしてこれと実質上非同期的に前記ミスしたレコード
    を、前記記憶手段及び不揮発性記憶手段のいずれかから
    前記直接アクセス記憶デバイスの予測性トラックに転送
    するステップと、 を備えたレコード更新管理方法。
  9. 【請求項9】請求項8記載の方法において、前記予測性
    トラックは、実質的に等しいサイズのデータフィールド
    と、前記予測性トラックに沿ってレコード毎に単調に変
    化するレコード識別番号を有するカウントフィールド
    と、を有するが、キーフィールドを有さない、複数のカ
    ウント−キー−データ・フォーマット化したレコードを
    備えていること、を特徴とするレコード更新管理方法。
JP4303757A 1991-12-30 1992-11-13 予測性トラックテーブルを用いたレコード更新方法 Expired - Lifetime JPH0775011B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/816,017 US5283884A (en) 1991-12-30 1991-12-30 CKD channel with predictive track table
US816017 1991-12-30

Publications (2)

Publication Number Publication Date
JPH05241957A JPH05241957A (ja) 1993-09-21
JPH0775011B2 true JPH0775011B2 (ja) 1995-08-09

Family

ID=25219458

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4303757A Expired - Lifetime JPH0775011B2 (ja) 1991-12-30 1992-11-13 予測性トラックテーブルを用いたレコード更新方法

Country Status (3)

Country Link
US (1) US5283884A (ja)
EP (1) EP0550154A1 (ja)
JP (1) JPH0775011B2 (ja)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2256735B (en) * 1991-06-12 1995-06-21 Intel Corp Non-volatile disk cache
US5283884A (en) * 1991-12-30 1994-02-01 International Business Machines Corporation CKD channel with predictive track table
JPH07504527A (ja) * 1992-03-09 1995-05-18 オースペックス システムズ インコーポレイテッド 高性能の不揮発性ram保護式の書き込みキャッシュアクセラレータシステム
US5418921A (en) * 1992-05-05 1995-05-23 International Business Machines Corporation Method and means for fast writing data to LRU cached based DASD arrays under diverse fault tolerant modes
US5381539A (en) * 1992-06-04 1995-01-10 Emc Corporation System and method for dynamically controlling cache management
US5608890A (en) * 1992-07-02 1997-03-04 International Business Machines Corporation Data set level cache optimization
JPH0659952A (ja) * 1992-08-07 1994-03-04 Toshiba Corp 磁気ディスク装置
US5721898A (en) * 1992-09-02 1998-02-24 International Business Machines Corporation Method and system for data search in a data processing system
GB2270791B (en) * 1992-09-21 1996-07-17 Grass Valley Group Disk-based digital video recorder
US5694570A (en) * 1992-09-23 1997-12-02 International Business Machines Corporation Method and system of buffering data written to direct access storage devices in data processing systems
JP3422370B2 (ja) * 1992-12-14 2003-06-30 株式会社日立製作所 ディスクキャッシュ制御装置
US5530829A (en) * 1992-12-17 1996-06-25 International Business Machines Corporation Track and record mode caching scheme for a storage system employing a scatter index table with pointer and a track directory
WO1995001600A1 (en) * 1993-07-02 1995-01-12 Oakleigh Systems, Inc. Predictive disk cache system
US5535372A (en) * 1994-07-06 1996-07-09 International Business Machines Corporation Method and apparatus for efficient updating of CKD data stored on fixed block architecture devices
US5634028A (en) * 1994-12-15 1997-05-27 International Business Machines Corporation Compact track address translation mapping system and method
JP3260999B2 (ja) * 1995-03-03 2002-02-25 富士通株式会社 ディスク制御装置の制御方法
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
US6820093B2 (en) 1996-07-30 2004-11-16 Hyperphrase Technologies, Llc Method for verifying record code prior to an action based on the code
US7013298B1 (en) 1996-07-30 2006-03-14 Hyperphrase Technologies, Llc Method and system for automated data storage and retrieval
US6434567B1 (en) * 1996-07-30 2002-08-13 Carlos De La Huerga Method for specifying enterprise-wide database address formats
US6304940B1 (en) 1997-08-14 2001-10-16 International Business Machines Corporation Shared direct access storage system for MVS and FBA processors
US6098153A (en) * 1998-01-30 2000-08-01 International Business Machines Corporation Method and a system for determining an appropriate amount of data to cache
US6189015B1 (en) * 1998-09-25 2001-02-13 International Business Machines Corporation System and method for updating non-VSAM data set control information for data transferred from a source to a target
US7003719B1 (en) 1999-01-25 2006-02-21 West Publishing Company, Dba West Group System, method, and software for inserting hyperlinks into documents
US6378037B1 (en) * 1999-06-29 2002-04-23 International Business Machines Corporation Write-twice method of fail-safe write caching
US20050108219A1 (en) * 1999-07-07 2005-05-19 Carlos De La Huerga Tiered and content based database searching
US6507837B1 (en) 2000-06-08 2003-01-14 Hyperphrase Technologies, Llc Tiered and content based database searching
US6715030B1 (en) * 2000-06-09 2004-03-30 Storage Technology Corporation Apparatus and method for storing track layout information for performing quick write operations
US6851024B1 (en) * 2000-08-17 2005-02-01 Hewlett-Packard Development Company, L.P. Exclusive caching in computer systems
US6816941B1 (en) 2000-10-23 2004-11-09 International Business Machines Corporation Method and system for efficiently importing/exporting removable storage volumes between virtual storage systems
US6718427B1 (en) 2000-10-23 2004-04-06 International Business Machines Corporation Method and system utilizing data fragments for efficiently importing/exporting removable storage volumes
US7333966B2 (en) * 2001-12-21 2008-02-19 Thomson Global Resources Systems, methods, and software for hyperlinking names
US6832290B2 (en) * 2002-03-12 2004-12-14 International Business Machines Corporation Method, system, program, and data structures for maintaining metadata in a storage system
US7210973B2 (en) * 2002-04-11 2007-05-01 Brp Us Inc. Outboard engine cowling
US7039765B1 (en) 2002-12-19 2006-05-02 Hewlett-Packard Development Company, L.P. Techniques for cache memory management using read and write operations
US7222117B1 (en) 2003-11-14 2007-05-22 Advent Software, Inc. Segmented global area database
NZ548804A (en) 2003-12-31 2008-11-28 Thomson Global Resources Systems, methods, interfaces and software for automated collection and integration of entity data into online databases and professional directories
US8621154B1 (en) 2008-04-18 2013-12-31 Netapp, Inc. Flow based reply cache
US8161236B1 (en) 2008-04-23 2012-04-17 Netapp, Inc. Persistent reply cache integrated with file system
US8171227B1 (en) 2009-03-11 2012-05-01 Netapp, Inc. System and method for managing a flow based reply cache
US8458217B1 (en) 2009-08-24 2013-06-04 Advent Software, Inc. Instantly built information space (IBIS)
US8683130B2 (en) 2011-04-07 2014-03-25 International Business Machines Corporation Fabricating key fields
US8769350B1 (en) 2011-09-20 2014-07-01 Advent Software, Inc. Multi-writer in-memory non-copying database (MIND) system and method
US8332349B1 (en) 2012-01-06 2012-12-11 Advent Software, Inc. Asynchronous acid event-driven data processing using audit trail tools for transaction systems
US8886671B1 (en) 2013-08-14 2014-11-11 Advent Software, Inc. Multi-tenant in-memory database (MUTED) system and method

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4603380A (en) * 1983-07-01 1986-07-29 International Business Machines Corporation DASD cache block staging
JPS60207943A (ja) * 1984-03-27 1985-10-19 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション 階層記憶システムにおける1次記憶の内容の保護方法
US4875155A (en) * 1985-06-28 1989-10-17 International Business Machines Corporation Peripheral subsystem having read/write cache with record access
JP2973425B2 (ja) * 1989-04-04 1999-11-08 株式会社日立製作所 障害処理方法およびそのための装置
US5283884A (en) * 1991-12-30 1994-02-01 International Business Machines Corporation CKD channel with predictive track table

Also Published As

Publication number Publication date
EP0550154A1 (en) 1993-07-07
US5283884A (en) 1994-02-01
JPH05241957A (ja) 1993-09-21

Similar Documents

Publication Publication Date Title
JPH0775011B2 (ja) 予測性トラックテーブルを用いたレコード更新方法
JP3422370B2 (ja) ディスクキャッシュ制御装置
US5535372A (en) Method and apparatus for efficient updating of CKD data stored on fixed block architecture devices
US7080200B2 (en) System and method for handling writes in HDD using 4K block sizes
US6941423B2 (en) Non-volatile mass storage cache coherency apparatus
US5353430A (en) Method of operating a cache system including determining an elapsed time or amount of data written to cache prior to writing to main storage
US20090049255A1 (en) System And Method To Reduce Disk Access Time During Predictable Loading Sequences
JP2004506256A (ja) 不揮発性キャッシュ
JP2004213647A (ja) データ記憶装置およびシステム用のログ構造の書込みキャッシュ
JPS5876957A (ja) 記憶階層制御方法
JPH037978B2 (ja)
JPH05216593A (ja) 間接アクセス記憶装置
JPH096540A (ja) 直接アクセス記憶装置のデータ圧縮用組込みディレクトリ方法及びディレクトリ・レコード
US5671390A (en) Log structured array storage subsystem using LSA directory and LSA sub-directory stored in different storage media
WO2002001364A2 (en) Non-volatile cache integrated with mass storage device
JP3260999B2 (ja) ディスク制御装置の制御方法
US6993627B2 (en) Data storage system and a method of storing data including a multi-level cache
EP0347032A2 (en) Record format emulation
JP2005284816A (ja) ディスクアレイシステム
JP3260998B2 (ja) ディスク制御装置
JPH1185589A (ja) 情報記憶装置および同装置に適用される管理データ再構築方法
JP4989861B2 (ja) データ書き込み方法及びディスク装置
JPH0519981A (ja) 光デイスク装置のデータ書込み正常終了判定方法
JP3335919B2 (ja) ディスクキャッシュ制御装置
JP3573599B2 (ja) ディスクアレイにおけるデータ回復方法