JPH03184144A - キャッシュ制御方法および制御装置 - Google Patents

キャッシュ制御方法および制御装置

Info

Publication number
JPH03184144A
JPH03184144A JP1323396A JP32339689A JPH03184144A JP H03184144 A JPH03184144 A JP H03184144A JP 1323396 A JP1323396 A JP 1323396A JP 32339689 A JP32339689 A JP 32339689A JP H03184144 A JPH03184144 A JP H03184144A
Authority
JP
Japan
Prior art keywords
record
written
data
field
write
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP1323396A
Other languages
English (en)
Other versions
JP2826857B2 (ja
Inventor
Akira Yamamoto
彰 山本
Shigeo Honma
本間 繁男
Yoshihiro Azumi
安積 義弘
Yoshinaga Kuwabara
桑原 善祥
Akira Kurano
倉野 昭
Masashi Nozawa
野沢 正史
Hiroyuki Kitajima
北嶋 弘行
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP1323396A priority Critical patent/JP2826857B2/ja
Priority to DE4039891A priority patent/DE4039891A1/de
Publication of JPH03184144A publication Critical patent/JPH03184144A/ja
Priority to US08/375,234 priority patent/US5497472A/en
Priority to US08/530,711 priority patent/US5694576A/en
Application granted granted Critical
Publication of JP2826857B2 publication Critical patent/JP2826857B2/ja
Priority to US09/217,371 priority patent/US6085286A/en
Priority to US10/632,840 priority patent/US7082496B2/en
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

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、データ処理装置から記憶装置にデータを書き
出すライト処理をキャッシュメモリを用いて高速化する
キャッシュ制御方法およびそのキャッシュ制御方法を実
施するのに好適な制御装置に関する。
[従来の技術] データ処理装置と、キャッシュメモリを有する制御装置
と、ディスク装置の如き記憶装置とを接続してなる情報
処理システムにおいて、データ処理装置がデータを記憶
装置に書き出す時の制御方法が、例えば特開昭55−1
57053号公報に3つ記載されている。
その記載されている第1の制御方法は、データをキャッ
シュメモリに書き込み、その時点でデータ処理装置のラ
イト処理を終了し、その後、適当な時機をみて、キャッ
シュメモリのデータを記憶装置に書き込む方法である。
この書き込みは、ライトアフタ処理と呼ばれる。また、
キャッシュメモリに書き込まれているが、記憶装置に対
して未書き込みの状態にあるデータは、ライトアフタデ
ータと呼ばれる。なお、特開昭55−157053号公
報では、キャッシュメモリにデータをどのように書き込
むか等についての詳細な技術は開示されていない。
第2の制御方法は、データ処理装置から記憶装置にデー
タを書き出す時には、データを必ず記憶装置まで書き込
んでから、データ処理装置のライト処理を終了する方法
である。
第3の制御方法は、データ処理装置から書き出すデータ
を永久ライトデータと一時ライトデータの2種類に分け
、データ処理装置が永久ライトデータを記憶装置に書き
出す時には、永久ライトデータを記憶装置まで書き込ん
でからデータ処理装置のライト処理を終了し、データ処
理装置が一時ライトデータを記憶装置に書き出す時には
、データをキャッシュメモリに書き込み、その時点でデ
ータ処理装置のライト処理を終了し、記憶装置には書き
込みを全く行なわない方法である。
これらの制御方法のうち、第2の制御方法はキャッシュ
メモリを利用せず直接に記憶装置にアクセスし、第3の
制御方法はキャッシュメモリを利用するが利用範囲が極
めて限定されている。したがって、実質的には第1の制
御方法だけが、キャッシュメモリを用いてライト処理を
高速化するキャッシュ制御方法である。
ところが、このキャッシュ制御方法は、その時点でキャ
ッシュメモリに格納されていないレコードに、データを
データ処理装置から書き出す場合には適用できないもの
である。
その理由は、データ処理装置からの書き出しの時点で対
応するレコードがキャッシュメモリに格納されていない
と、データ処理装置側から指定されたレコード番号を有
するレコードが記憶装置に格納されていない可能性があ
るためである。また、データ処理装置側から指定された
レコード番号を有するレコードが記憶装置に重複して記
憶されているときにも、いずれにデータを書き込むべき
か判断できないので、ライトアフタ処理を正しく実行で
きなくなる。
従って、ライト対象のレコードがデータ処理装置からの
書き出しの時点でキャッシュメモリに格納されていない
場合は、上記キャッシュ制御方法を適用することは困難
であった。つまり、キャッシュメモリを用いたライト処
理の高速化ができなかった。
[発明が解決しようとする課題] 上記のように、従来のキャッシュ制御方法では、データ
処理装置から書き出すデータに対応するレコードがその
時点でキャッシュメモリに格納されている場合は、その
データをキャッシュメモリに格納してからライト処理を
終了するので、高速化を図れるが、その時点でキャッシ
ュメモリに格納されていない場合は、このような高速化
が困難であった。
そこで、本発明の第1の目的は、データ処理装置からの
書き出しの時点でライト対象のレコードがキャッシュメ
モリに格納されていない場合にも、キャッシュメモリに
データを格納した段階でライト処理を完了させ、ライト
処理を高速化できるようにしたキャッシュ制御方法を嘔
供することにある。
また、そのキャッシュ制御方法を実施するのに好適な制
御装置を提供することにある。
また、ライト処理をさらに高速化するためには、ライト
アフタデータの記憶装置への書き込み処理を効率良く実
行することが考えられる。このためには、後述するよう
に、ライトアフタデータの記憶装置上の物理的位置を把
握する必要がある。
したがって、本発明の第2の目的は、ライト対象のレコ
ードがキャッシュメモリに格納されていない場合にも、
キャッシュメモリにデータを格納した段階で、ライトア
フタデータの記憶装置上の物理的位置を計算できるよう
にしたキャッシュ制御方法を提供することにある。
また、そのキャッシュ制御方法を実施するのに好適な制
御装置を提供することにある。
[課題を解決するための手段] 本発明では、ライト対象となるレコードがキャッシュメ
モリ内に格納されていない場合にも、ライト処理を高速
化させるという第1の目的を実現するため、以下の3つ
の制御方法を提供する。
第■の観点では、本発明は、データ処理装置と。
キャッシュメモリを有する制御装置と、レコードを記憶
する記憶装置とを接続してなる情報処理システムにおい
て、制御装置が、(a)データ処理装置から、ライト対
象のレコードに対するライト要求を受け取り、(b)そ
のライト対象のレコードが、キャッシュメモリに格納さ
れていないとき、そのライト対象のレコード上に書き込
むべきデータをデータ処理装置から受け取り、(c)受
け取ったデータをキャッシュメモリに格納し、(d)ラ
イト処理が完了したことをデータ処理装置に報告し、(
e)キャッシュメモリに格納した前記データを書き込む
べきライト対象のレコードが記憶装置に記憶されている
か否かを検査し、(f)記憶されている場合は、その記
憶装置上のライト対象のレコードに、キャッシュメモリ
に格納した前記データを書き込み、記憶されていない場
合は、キャッシュメモリに格納した前記データの書き込
みを中止し、その旨をデータ処理装置に報告する、こと
を特徴とするキャッシュ制御方法を提供する。
第2の観点では、本発明は、データ処理装置と。
キャッシュメモリを有する制御装置と、レコード番号を
含む制御フィールドをもつレコードを記憶する記憶装置
とを接続してなる情報処理システムにおいて、制御装置
が、(a)データ処理装置から、ライト対象のレコード
を指定するレコード指定情報と、ライト対象のレコード
内のライトすべきフィールドを指定するフィールド指定
情報と、ライト対象のレコードがキャッシュメモリに格
納されていない場合の処理モードを指定する処理モード
指定情報とを含むライト要求を受け取るステップと、(
b)前記レコード指定情報により指定されたライト対象
のレコードがキャッシュメモリに格納されておらず且つ
前記フィールド指定情報により指定されたライトすべき
フィールドが制御フィールドを含まないものであるとき
、前記処理モード指定情報で指定された処理モードにし
たがって、前記指定されたフィールドに書き込むべきデ
ータをデータ処理装置′から受け取るステップと、(c
)そのデータをキャッシュメモリに格納するステップと
、(d)ライト処理が完了したことをデータ処理装置に
報告するステップと、を有することを特徴とするキャッ
シュ制御方法を提供する。
第3の観点では、本発明は、データ処理装置と。
キャッシュメモリを有する制御装置と、レコード番号を
含む制御フィールドをもつレコードを記憶する複数の物
理領域を有する記憶装置とを接続してなる情報処理シス
テムにおいて、制御装置が、「前記物理領域内のレコー
ドのレコード番号に重複がない」という構造上の条件を
満足する状態か。
満足しない状態かを表わす構造条件情報を各物理領域ご
とに保持すると共に、(a)データ処理装置から、う・
イト対象のレコードを指定するレコード指定情報と、ラ
イト対象のレコード内のライトすべきフィールドを指定
するフィールド指定情報とを含むライト要求を受け取る
ステップと、(b)前記レコード指定情報により指定さ
れたライト対象のレコードがキャッシュメモリに格納さ
れておらず且つ前記フィールド指定情報により指定され
たライトすべきフィールドが制御フィールドを含まない
ものであり且つ前記構造上の条件が満足されているとき
、前記指定されたフィールドに書き込むべきデータをデ
ータ処理装置から受け取るステップと、(c)そのデー
タをキャッシュメモリに格納するステップと、(d)ラ
イト処理が完了したことをデータ処理装置に報告するス
テップと、を有することを特徴とするキャッシュ制御方
法を提供する。
次に、ライト対象のレコードがキャッシュメモリ内に格
納されていない場合にも、ライトアフタデータの記憶装
置上の物理的位置を計算できるようにするという第2の
目的を実現する2つの制御方法を、第4〜第5の観点と
して示す。
第4の観点では、本発明は、データ処理装置と。
キャッシュメモリを有する111911装置と、レコー
ド番号を含む制御フィールドをもつレコードを記憶する
複数の物理領域を有する記憶装置とを接続してなる情報
処理システムにおいて、制御装置が、(a)データ処理
装置から、ライト対象のレコードを指定するレコード指
定情報と、ライト対象のレコード内のライトすべきフィ
ールドを指定するフィールド指定情報と、「ライト対象
のレコードが記憶されている物理領域に記憶されたレコ
ードの先頭のレコード番号が0番で、以下のレコード番
号が1づつの昇順であり、且つ、各レコードの制御フィ
ールド以外のフィールドが1つであり、且つ、レコード
番号1以上のレコードの制御フィールド以外のフィール
ドの長さが等しく、且つ、レコード番号Oのレコードの
制御フィールド以外のフィールドの長さが所定の長さで
ある」という構造上の条件を満足する状態か、満足しな
い状態かを表わす構造条件情報とを含むライト要求を受
け取るステップと、(b)前記レコード指定情報により
指定されたライト対象のレコードがキャッシュメモリに
格納されておらず且つ前記フィールド指定情報により指
定されたライトすべきフィールドが制御フィールドを含
まないものであり且つ前記構造上の条件が満足されてい
るとき、前記指定されたフィールドに書き込むべきデー
タをデータ処理装置から受け取るステップと、(c)そ
のデータをキャッシュメモリに格納するステップと、(
d)ライト処理が完了したことをデータ処理装置に報告
するステップと、を有することを特徴とするキャッシュ
制御方法を提供する。
第5の観点では、本発明は、データ処理装置と。
キャッシュメモリを有する制御装置と、レコード番号を
含む制御フィールドをもつレコードを記憶する複数の物
理領域を有する記憶装置とを接続してなる情報処理シス
テムにおいて、制御装置が、「ライト対象のレコードが
記憶されている物理領域に記憶されたレコードの先頭の
レコード番号が0番で、以下のレコード番号が1づつの
昇順であリ、且つ、各レコードの制御フィールド以外の
フィールドが1つであり、且つ、レコード番号1以上の
レコードの制御フィールド以外のフィールドの長さが等
しく、且つ、レコード番号Oのレコードの制御フィール
ド以外のフィールドの長さが所定の長さである」という
構造上の条件を満足する状態か、満足しない状態かを表
わす構造条件情報を各物理領域ごとに保持すると共に、
(a)データ処理装置から、ライト対象のレコードを指
定するレコード指定情報と、ライト対象のレコード内の
ライトすべきフィールドを指定するフィールド指定情報
とを含むライト要求を受け取るステップと、(b)前記
レコード指定情報により指定されたライト対象のレコー
ドがキャッシュメモリに格納されておらず且つ前記フィ
ールド指定情報により指定されたライトすべきフィール
ドが制御フィールドを含まないものであり且つ前記構造
上の条件が満足されているとき、前記指定されたフィー
ルドに書き込むべきデータをデータ処理装置から受け取
るステップと、(c)そのデータをキャッシュメモリに
格納するステップと、(d)ライト処理が完了したこと
をデータ処理装置に報告するステップと、を有すること
を特徴とするキャッシュ制御方法を提供する。
さらに、本発明は、第1の観点〜第5の観点で示したキ
ャッシュ制御方法を実施する手段を具備した制御装置を
提供する。
[作用] 第1の観点による本発明のキャッシュ制御方法では、デ
ータ処理装置から書き出すデータが予めキャッシュメモ
リに格納されていない場合でも、データをキャッシュメ
モリに格納し、その段階でライト処理の完了をデータ処
理装置に報告する。
そして、ライトアフタ処理により、キャッシュメモリの
アイドアフタデータを記憶装置に書き込み、その際、ラ
イト対象のレコードが記憶装置になければ、その旨を報
告する。これにより、データ処理装置から書き出すデー
タがその時点でキャッシュメモリに格納されているか否
かにかかわらず、ライト処理を高速化できる。
第2の観点および第4の観点による本発明のキャッシュ
制御方法では、データ処理装置から指示があった場合に
は、データ処理装置が書き出そうとするデータがその時
点でキャッシュメモリに格納されていないときでも、そ
のデータをキャッシュメモリに格納し、その段階でライ
ト処理の完了をデータ処理装置に報告する。記憶装置に
おけるレコード番号の重複がないことをデータ処理装置
が確認してから指示を出すので、ライトアフタ処理での
エラー発生を回避でき、且つ、ライト処理を高速化でき
る。データ処理装置は、記憶装置におけるレコード番号
に重複があるか否か等の情報を有しているから、その情
報に基づいて、前記確認を行ない得る。
第3の観点および第5の観点による本発明のキャッシュ
制御方法では、データ処理装置が書き出そうとするデー
タがその時点でキャッシュメモリに格納されていないと
きは、記憶装置におけるレコード番号に重複がないこと
を制御装置で確認してから、そのデータをキャッシュメ
モリに格納し、その段階でライト処理の完了を報告する
。そこで、ライトアフタ処理でのエラー発生を回避でき
、且つ、ライト処理を高速化できる。前記確認のために
、制御装置は、記憶装置におけるレコード番号に重複が
あるか否か等の情報を保持している。
なお、第4の観点および第5の観点による本発明のキャ
ッシュ制御方法では、記憶装置におけるレコード番号が
0番から1づつの昇順である等の構造上の情報に基づい
て、記憶装置におけるライトアフタデータの書き込み位
置を計算する。これにより、効率を向上させることが出
来る。
本発明が提供する制御装置は、前記第1〜第5の観点に
よる本発明のキャッシュ制御方法を実施するものである
から、作用は前記内容と同様となる。
[実施例] 以下、本発明の実施例について説明する。なお、これに
より本発明が限定されるものではない。
本発明の実施例は、第1の実施例から第5の実施例まで
5つあるが、まず、第2図〜第5図を参照して、共通事
項について説明する。
第2図は、本発明の対象となる情報処理システムのブロ
ック図である。
情報処理システムは、データ処理装置200と。
制御装置23と、1台以上のディスク装置24とを接続
してなっている。
データ処理装置200は、CPU20と、主記憶21と
、チャネル22とを有している。
制御装置23は、1つ以上のディレクタ25と。
キャッシュメモリ26と、ライトアフタ用メモリ27と
、ディレクトリ28とを有している。
ディレクタ25は、チャネル22とディスク装置24の
間のデータ転送、チャネル22とキャッシュメモリ26
の間のデータ転送およびキャッシュメモリ26とディス
ク装a24の間のデータ転送を行う。
キャッシュメモリ26には、ディスク装置24の中のア
クセス頻度の高いデータをロードしておく。このロード
処理は、ディレクタ25が実行する。ロードデータの具
体的な例は、CPU20からアクセス対象となったデー
タや、このデータとディスク装置24の物理的記憶位置
が近いデータ等である。
ディレクトリ28は、キャッシュメモリ26の管理情報
を格納する。
ディスク装置24は、第3図に示す如き構成である。円
板308は、データを記録する媒体であり、1つのディ
スク装置24には複数存在する。
読み書きヘッド309は、円板308にデータを読み書
きする装置であり、円板308に対応して存在する。
円板308が1回転する間に読み書きヘッド309がア
クセス可能な円状の記録単位を、トラック300と呼ぶ
。トラック300は、円板308上に複数存在する。あ
るトラック300が入出力対象となった時、読み書きヘ
ッド309をこのトラック300を読み書きできる位置
に移動する。
この動作は、シーク動作と呼ばれる。また、そのための
要求を位置付は要求と呼ぶ。
ディレクタインターフェイス311は、ディレクタ25
とのインターフェイスであり、ディレクタ25の指示に
したがって、読み書きヘッド309の制御を行う。
セクタ302は、円板308上のある基準位置303か
ら、ある一定の角度ごとに設けた領域である。前記基準
位置303をホームインデクス303と呼ぶ。ホームイ
ンデクス303上から開始されるセクタ302を基準セ
クタ(セクタ0)304と呼ぶ。各セクタ302の番号
は、基準セクタ304から、円板308の回転方向と共
に逆向きに1づつ昇順に付けられている。
読み書きヘッド309は、その下にあるセクタ302が
、どのセクタであるかを認識する。
ホームインデクス303の直後には、トラック300に
関する制御情報を記録した領域が設けられる。これを、
ホームアドレス306と呼ぶ。
トラック300上には、1つ以上のレコード301が存
在する。レコード301はディレクタ25との間のリー
ド/ライト単位である。
各レコード301の間には、ギャップ305がある。こ
のレコード301とレコード301の間のギャップ30
5をギャップa305と呼び、後述するギャップb60
5 (第6図)と区別する。
各レコード301の長さは、それぞれ異なっていてもよ
い。ただし、ギャップa305の長さは等しい。
ホームアドレス306の直後のレコード301は、通常
、一般のデータを記憶するのではなく、CPU20側で
用いる制御データを記憶することが多い。従って、これ
を制御レコード310と呼ぶ。
第4図および第5図は、レコード301の構成例である
。第4図の例では、レコード301が、制御部600と
、キ一部607と、データ部601の3つのフィールド
606から構成されている。
第5図の例では、レコード301が、制御部600と、
データ部601の2つのフィールドで構成されている。
制御部600とキ一部607の間、キ一部607とデー
タ部601の間には、ギャップ605が存在する。この
ギャップ605をギャップb605と呼ぶ。各ギャップ
b605の長さはそれぞれ等しい。
制御部600は、制御情報を記録するもので、レコード
番号602.キ一部長608.データ部長603等が含
まれる。レコード番号602は、レコード301の識別
子である。キ一部長608゜データ部長603は、キ一
部607.データ部601の長さである。第5図のよう
にキ一部607かない場合には、キ一部長608はOを
とる。制御部600の長さは、通常、固定長である。
データ部601は、CPU20上で実行されるプログラ
ム等が処理する情報を記録する。
キ一部607は、データ部601の内容をアクセスする
権限をチェックするためのキー情報を記録する。
通常、ライト処理には、制御部600を含む全てのフィ
ールド606を書き換えるフォーマットライト処理と、
制御部600以外のフィールドだけを書き換えるパーシ
ャルライト処理とがある。
前者は、ファイル全体の初期作成などに実行されるだけ
なので、実行頻度はそれほど高くなく、特に高速化の必
要はない。後者は、実行頻度が高いため、高速化の必要
があり、これが本発明の対象となる。
データ部長603.キ一部長608は、制御部600内
に存在する。従って、パーシャルライト処理では、デー
タ部601.キ一部607の内容を書き換えるだけで、
長さは不変である。
次に、第1図、第6図〜第18図を参照して、第1の実
施例を説明する。この第1の実施例は、ライト対象のレ
コード301がキャッシュメモリ26に格納されていな
い場合、CPU20からの特定の処理モードの指定を受
けたときのみ、ディレクタ25が、キャッシュメモリ2
6にデータを書き込んだ段階で、ライト処理を完了させ
るものである。
第1図は、本実施例における情報処理システムを詳細に
表した図である。
ディレクタ25は、パーシャルライト処理を実行する際
に、チャネル22を経由して、以下のようなCPU20
からの指定情報aloOを受け取る。
指定情報1・・・ライト対象のレコード301が記憶さ
れているディスク装置24およびトラック300を指定
する。
指定情報2・・・ライト対象のレコード301のサーチ
を開始するトラック300上のセクタ302を指定する
指定情報3・・・ライト対象のレコード301のレコー
ド番号602を指定する。
指定情報4・・・ライトすべきフィールド606を指定
する。
指定情報5・・・ライト対象のレコード301がキャッ
シュメモリ26に格納されていない場合の処理モードを
指定する。CPU20が、前記指定情報1のトラック3
00にレコード番号602の重複がないと確認したとき
、キャッシュメモリ26にデータを書き込んだ段階でラ
イト処理を完了させるという処理モードを指定する。
従って、本発明に係るキャッシュ書き込み動作120の
実行条件alloは、ライト対象のレコド301がキャ
ッシュメモリ26に格納されておらず、且つ、ライト対
象となるフィールド606が制御部600を含まず、且
つ、上記指定情報5による処理モードの指定を受け取っ
た場合である。
キャッシュ書き込み動作120では、ディレクタ25は
、チャネル22からデータを受け取り(ステップ121
)、キャッシュメモリ26に書き込む(ステップ122
)。そして、ライト処理の完了報告を、CPU20に、
チャネル22経由で報告する(ステップ123)。
キャッシュメモリ26に格納され、且つ、ディスク装置
24に書き込まれていないデータは、ライトアフタデー
タ29と呼ばれる。
ディレクタ25は、ライトアフタデータ29を含むレコ
ード301を、ライトアフタレコード160として管理
する。
ライトアフタデータ29のディスク装置24への書き込
みは、ディレクタ25が空いた時間を利用して実行する
。この動作を、ライトアフタ動作と呼ぶ。
ライトアフタ動作a130では、ディレクタ25は、ラ
イトアフタデータ29を書き込むべきレコード301を
ディスク装置24において見出す。
具体的には、前記指定情報1−指定情報2で指定された
ディスク装置j24のトラック300上に、指定情報3
で指定されたレコード番号602のレコード301を見
つける。
見つかった場合、ディレクタ25は、そのレコード30
1に、ライトアフタ動作b140で、ライトアフタデー
タ29の書き込みを実行する。
見つからなかった場合、ライトアフタ動作c150で、
書き込みを中止する。そして、後述するように、CPU
20にその旨の報告を行なう。
第6図は、本実施例におけるキャッシュメモリ26の構
成である。
キャッシュメモリ26は、多数のセグメント4OOによ
り構成される。
1つのセグメント400には、1つのトラック300上
の全レコード301を格納しうる。どのセグメント40
0にどのトラック300を割り当てるかについては、従
来公知の方法を用いることが出来る。トラック300が
割り当てられていない空きセグメント400も存在しう
る。
第7図は、セグメント400内のライトアフタレコード
160の格納形式を表している。
パーシャルライト処理では、制御部600は書き換え対
象とならないため、ディレクタ25は、チャネル22か
ら制御部600を受け取らない。
このため、ライト対象のレコード301がキャッシュメ
モリ26に格納されていない場合に、データを書き込ん
だ時には、ディレクタ25は、キャッシュメモリ26に
擬似制御部1000を作成する。
擬似制御部1000内には、チャネル22より指定され
たレコード番号602を格納する。また、チャネル22
より指定されたフィールド606に書き込むべきデータ
の長さを格納する。すなわち、キ一部607とデータ部
601がライト対象となった場合、それぞれのフィール
ド606に対して受け取ったデータの長さをキ一部長6
08とデータ部長、603とに設定する。データ部60
1だけがライト対象となった場合、キ一部長608には
Oを設定する。
ディレクタ25は、ライトアフタレコード160をディ
スク装置24のレコード301に書き込む時、その実際
のレコード301の111m部600内のレコード番号
、フィールド長とライトアフタレコード160の擬似制
御部1000のレコード番号、フィールド長とを比較し
、CPU20が指定したライト処理の正当性を確認する
なお、ライト対象のレコード301がキャッシュメモリ
26に格納されていた場合には、実際のtiqaV部6
00部上00ント400に格納されているから、擬似制
御部1000は作成されない。
擬似制御部1000または制御部600の後には、キ一
部ポインタ1001.データ部ポインタ1002、擬似
制御部フラグ1003を格納する。
キ一部ポインタ1001.データ部ポインタ1002は
、それぞれキャッシュメモリ26に格納されているキ一
部607.データ部601へのポインタである。これら
を設ける理由は、1つのライトアフタレコード160を
格納する領域が連続にならない場合があるためである。
例えば、ディレクタ25が、キャッシュメモリ26に格
納されていないレコード301に対してデータ部601
のみを書き換えるパーシャルライト要求を受け付けた時
には、キ一部607の長さが分からないため、キ一部6
07を格納する領域を確保できない。
このため、キ一部長608はOとする。この後、キ一部
607とデータ部601のを書き換えるパーシャルライ
ト要求を受け付けた時、キ一部607の長さが分かるた
め、キ一部607の領域を、この段階で確保する。そう
すると、第7図に示すように、離れた領域にキ一部60
7が存在することにより、1つのライトアフタレコード
160を格納する領域が連続にならないことになる。
擬似制御部フラグ1003は、ディレクタ25が擬似制
御部1000を作成した時にオンとする。
また、ディレクタ25がディスク装置24からレコード
301をロードする際、オフとする。
第8図は、本実施例においてディレクトリ28の中に設
ける情報を示したものである。セグメント管理情報50
0.  トラック票501および空きセグメントキュー
先頭ポインタ502がある。セグメント管理情報500
は各セグメント400に対応して存在する。トラック票
501および空きセグメントキューポインタ502は各
々1つだけ存在する。
第9図は、本実施例において前記セグメント管理情報5
00の中に設ける情報を示したものである。以下、各情
報とその内容を示す。
空きセグメントポインタ800・・・他の空きセグメン
ト400に対応したセグメント管理情報500へのポイ
ンタである。
パーシャルライトフラグ801・・・当セグメント管理
情報500に対応したセグメント400内に0、パーシ
ャルライト要求により書き込んだライトアフタデータ2
9を格納していることを示す。
キャッシュトドラック番号805・・・当セグメント管
理情報500に対応するセグメント400内に格納した
トラック300のトラック番号を表す。
レコードポインタ806・・・当セグメント管理情報5
00に対応するセグメント400内に格納したレコード
301のポインタを表す。例えば、n番目のレコードポ
インタ806は、レコード番号602が(n−1)番の
レコード301へのポインタを表す。レコード番号60
2が(m−1)番であるレコード301がキャッシュメ
モリ26に格納されていない時には、m番目のレコード
ポインタ806はnull値をとる。(ここで、先頭の
レコードポインタ806を1番目のレコードポインタと
考える。)  レコードポインタ806の数は、1つの
トラック300上に定義可能なレコード番号602の数
だけ用意される。
更新レコードポインタ807・・・当セグメント管理情
報500に対応するセグメント400内に格納したライ
トアフタレコード160へのポインタを表す。ここでは
、ディレクタ25が、キャッシュメモリ26に予め格納
されていたレコード301に対してデータを格納した場
合にも、ライトアフタレコード160として管理する。
前記レコードポインタ806と同様、n番目の更新レコ
ードポインタ807は、レコード番号602が(n−1
)番のレコード301へのポインタを表す。レコード番
号602が(m−1)番であるレコード301がキャッ
シュメモリ26に格納されていない時には、m番目の更
新レコードポインタ807はnull値をとる。更新レ
コードポインタ807の数も、1つのトラック300上
に定義可能なレコード番号602の数だけ用意されてい
る。
更新フィールド情報808・・・レコード番号602が
n番のライトアフタレコード160の中で、更新対象と
なったフィールド606を表す。更新フィールド情報8
08の数も、1つのトラック300上に定義可能なレコ
ード番号602の数だけ用意されている。
セグメント内空き領域アドレス809・・・当セグメン
ト管理情報500に対応するセグメント400の中でレ
コード301を格納していない空き領域の先頭アドレス
を表す。
セグメントポインタ810・・・当セグメント管理情報
に対応するセグメント400へのポインタである。
第10図は、前記トラック票501の構成である。トラ
ック票501は、全てのディスク装M24のトラック3
00に関して、そのトラック300に対してセグメント
400が割り当てられているか、いないかを表す情報で
ある。割り当てられている場合には、割り当てられてい
るセグメント400に対応したセグメント管理情報50
0へのポインタを表す。割り当てられていない場合には
、Hull値をとる。トラック票501上では、同じデ
ィスク装置24上のトラック300に関する情報は連続
して格納される。格納順は、トラック番号順である。
第11図に示すように、空きセグメント400に対応し
たセグメント管理情報500は、空きセグメントキュー
先頭ポインタ502から順に、各セグメント管理情報5
00の空きセグメントポインタ800で結合されている
第12図は、ライトアフタ用メモリ27の構成である。
ライトアフタ用メモリ27内には、各ディスク装置24
に対応したライトアフタ情報1100が含まれている。
第13図は、1つのライトアフタ情報1100に格納す
る各情報を示したものである。以下、これらの情報の説
明を行う。
ライトアフタ実行中ソラグ1200・・・当ライトアフ
タ情報1100と対応するディスク装置24がライトア
フタ処理を実行中であるか否かを表す。
ライトアフタセグメントポインタ1202・・・ライト
アフタ対象のトラック300に対応したセグメント管理
情報500へのポインタを表す。
レコード番号不一致情報1203・・・ライトアフタ処
理において、ライトアフタ対象のレコード番号602を
有するレコード301が対応するディスク装置24に記
憶されていなかったことを表す。
フィールド長不一致情報1204・・・ライトアフタ処
理において、ライトアフタ対象のフィールド606の長
さが一致しなかったことを表す。
前記レコード番号不一致情報1203あるいはフィール
ド長不一致情報1204がオンの場合、ライトアフタ処
理においてエラーが発生していることになる。なお、他
の原因によっても、ライトアフタ処理の実行中にエラー
が発生するが、本発明には直接関係しないため、ここで
は省略する。
以上の情報は、電源障害等で消失してしまうと問題があ
るため、不揮発化しておくことが望ましい。
第14図は、本実施例におけるディレクタ25の構成を
示すものである。以下、各部について述べる。
キャッシュパーシャルライトH10・・・パーシャルラ
イト要求を受け付けた時、チャネル22から受け取った
データをキャッシュメモリ26に転送する。
ライトアフタスケジュール部11・・・ライトアフタ処
理を実行する対象とするディスク装置24とトラック3
00とを決定する。
ライトアフタ転送部12・・・ライトアフタスケジュー
ル部11によってスケジュールされたライトアフタ処理
を実行する。
ライトアフタエラー判定部13・・・CPU20からの
入出力要求を受け付けた時、要求対象ディスク装置24
のライトアフタ処理においてエラーが発生していないか
をチェックする。
エラーが発生している場合、この旨を、チャネル22経
由でCPU20に伝える。
次に、各部の作動について説明する。
第15図は、前記キャッシュパーシャルライト部10の
処理フロー図である。この処理フローには、ライト対象
のレコード301が既にキャッシュメモリ26に格納さ
れていた場合の処理も含まれている。
ライト対象のレコード301がキャッシュメモリ26に
ない場合にもデータをキャッシュメモリ26に格納した
段階でライト処理を完了させるという処理モードを指定
する指定情報5を含むパーシャルライト要求を、ディレ
クタ25が、CPU20からチャネル22経由で受け取
った時、この処理フローを実行する。
ステップ1300では、ライト対象のトラック300に
対して既にセグメント400を割り当てであるか否かを
チェックする。このチェックは、当該トラック300に
対応するトラック票501により識別する。まだ割り当
てていなければ、ステップ1301に移行する。既に割
り当て済みであれば、ステップ1305にジャンプする
ステップ1301では、当該トラック300に対しセグ
メント400およびセグメント管理情報500を割り当
てる。割り当て方法は、従来公知の方法を用いることが
出来る。
ステップ1302では、割り当てたセグメント管理情報
500の初期化を行う。例えば、キャッシュトドラック
番号805に、ライト対象となるトラック300のトラ
ック番号を設定する等の処理である。
ステップ1303では、指定情報3により指定されたレ
コード番号により、擬似制御部1000を作成する。
ステップ1304では、チャネル22からデータを受け
取り、そのデータを指定情[4により指定されたフィー
ルド606に格納する。そして、ステップ1311に移
行する。
ステップ1311では、セグメント管理情報500の必
要な部分の更新を行い、さらに、ライト処理の完了をチ
ャネル22経由でCPU20に報告して、処理を終了さ
せる。
一方、ステップ1305では、ライト対象のレコード3
01がキャッシュメモリ26に実際に格納されているか
をチェックする。このチェックは、セグメント管理情報
400を見て、ライト対象のレコード番号602に対応
したレコードポインタ806がnull値になっている
か否かにより行う。ライト対象のレコード301がキャ
ッシュメモリ26に実際には格納されていない場合、前
記ステップ1303ヘジヤンプして、−ライト対象のト
ラック300にセグメント400を割り当てていなかっ
た場合と同様の処理に入る。ライト対象のレコード30
1がキャッシュメモリ26に実際に格納されていた場合
は、ステップ1306に移行する。
ステップ1306では、CPU20から指定情報4によ
り指定されたフィールド606が全てキャッシュメモリ
26に格納されているかをチェックする。格納されてい
る場合は、ステップ1308ヘジヤンプする。格納され
ていない場合は、ステップ1307に移行する。
ステップ1307では、ライト対象のレコード301に
対応する擬似制御部フラグ1003がオンかをチェック
する。オフの場合、ライト対象のレコード301はトラ
ック300からキャッシュメモリ26にロードしたレコ
ード301ということになるので、前記ステップ130
6で全てのフィールド606が格納されていないという
チェック結果と矛盾する。したがって、エラー報告を行
うため、ステップ1313ヘジヤンプする。擬似制御部
フラグ1ooaがオンの場合は、ステップ1312に移
行する。
ステップ1312では、キャシュメモリ26に既に格納
していたフィールド606および新たにキャッシュメモ
リ26に格納するフィールド606に、チャネル22か
ら受け取ったデータを格納する。そして、擬似制御部1
000内のキ一部長608あるいはデータ部長603に
、新たにキャッシュメモリ26に格納したデータの長さ
を格納する。さらに、キ一部ポインタ1001あるいは
データ酪ポインタ1002に必要な値を設定する。
この後、ステップ1309ヘジヤンプする。
一方、ステップ1308では、キャッシュメモリ26に
格納しているフィールド606に、チャネル22から受
け取ったデータを格納する。
ステップ1309では、既にキャッシュメモリ26に格
納していたフィールド606に対して受け付けたデータ
の長さが、制御部600のキ一部長608あるいはデー
タ部長603に一致するかをチェックする。一致した場
合、前記ステップ1311ヘジヤンプする。一致しない
場合、ステップ1310に移行する。
ステップ1310では、データの長さに矛盾があること
を、チャネル22経由で、CPU20に報告し、処理を
終了する。
一方、ステップ1313では、ディレクタ25は、ライ
ト対象として指定されたフィールド606に矛盾があっ
たことを、チャネル21経由でCPU20に報告し、処
理を終了する。
第16図は、ライトアフタスケジュール部11の処理フ
ロー図である。この処理フローは、キャッシュメモリ2
6に格納していたレコード301のライトアフタデータ
29をディスク装ji124へ書き込む場合も含んでい
る。
ディレクタ25が空いた時間を利用して、この処理フロ
ー、すなわち、パーシャルライト要求によりキャッシュ
メモリ26に格納したデータをディスク装aF24に書
き込む処理、を実行する。
実行対象とするディスク装W24は、ライトアフタ実行
中フラグ1200がオフで、現在CPU20からの入出
力要求を受け付けていないディスク装置24とする。ま
た、ライトアフタ処理の対象トラック300は、パーシ
ャルライトフラグ801がオンのセグメント管理情報5
00に対応するトラック30.0とする。
まず、ステップ1400では、実行対象のディスク装置
24に対応したライトアフタ情報1100のライトアフ
タ実行中フラグ1200をオンにして、さらに、ライト
アフタセグメントポインタ1202に、ライトアフタ対
象とするトラック3OOに対応したセグメント管理情報
400へのポインタを設定する。
ステップ1401では、実行対象のディスク装置24に
対して、ライトアフタ対象とするトラック300への位
置付は要求を発行しし、処理を終了する。
第17図は、ライトアフタ転送部12の処理フロー図で
ある。この処理フローは、キャッシュメモリ26に格納
していたレコード301のライトアフタデータ29をデ
ィスク装置24へ書き込む処理も含んでいる。
ライトアフタスケジュール部11が発行したディスク装
置24への位置付は要求が完了した時、この処理フロー
が実行される。
ステップ1500では、ライトアフタ対象とするトラッ
ク300に対する全てのライトアフタレコード160の
書き込みが完了したかをチェックする。ライトアフタセ
グメントポインタ1202に対応したセグメント管理情
報500内の更新レコードポインタ807を最後まで探
してもnul!値でない更新レコードポインタ807が
見つからなかった場合は完了しており、見つかった場合
は完了していないと分かる。完了していた場合、ステッ
プ1509ヘジヤンプする。完了していなかった場合は
、ステップ1501に移行する。
ステップ1501では、トラック300上のレコード3
01のサーチを開始し、その開始した、トラック300
上の物理的位置を記憶しておく。この記憶は、トラック
300の1回転を検出するためである。
ステップ1502では、トラック300上で見つけたレ
コード301の制御部600を読み出す。
ステップ1503では、読み出した制御部600内のレ
コード番号602と、更新レコードポインタ807にポ
イントされた擬似制御部1000あるいは制御部600
内のレコード番号602とを比較する。一致すれば、ア
クセス中のレコード301がライトアフタ対象であり、
ステップ1504に移行する。一致しない場合、ステッ
プ1507ヘジヤンプする。
ステップ1504では、更新レコードポインタ807に
対応する更新フィールド情報808によりライト対象と
するフィールド606を認識し、そのフィールド606
の長さに関する情報を擬似制御部1000あるいは制御
部600内のキ一部長608あるいはデータ部長603
から取り出す。
そして、それら値と、前記ステップ1502でトラック
300上から読み出した制御部600内のキ一部長60
8あるいはデータ部長603の値とを比較し、一致する
かチェックする。一致しない場合、書き込みを中止して
、ステップ1506ヘジヤンプする。一致した場合は、
ステップ1505に移行する。
ステップ1505では、ライト対象とするフィールド6
06のライトアフタデータ29を取り出し、アクセス中
のトラック300上のレコード301に書き込む。そし
て、前記ステップ1500へ戻る。
一方、ステップ1506では、ライトアフタ情報110
0のフィールド長不一致情報1204をセットして、ス
テップ1510ヘジヤンプする。
一方、ステップ1507では、ライトアフタ対象のレコ
ード301を、トラック300の1回転分サーチしたか
をチェックする。まだ、1回転していない場合、さらに
サーチを続けるため、前記ステップ1502ヘジヤンプ
する。1回転しておれば、ステップ1508に移行する
ステップ1508では、レコード番号不一致情報120
3をセットして、ステップ1510ヘジヤンプする。
一方、ステップ1509では、ライトアフタ処理の完了
に伴うセグメント管理情報400の中の必要な情報の更
新を行なう。そして、ステップ1510に移行する。
ステップ1510では、ライトアフタ実行中フラグ12
00をリセットし、処理を終了させる。
第18図は、ライトアフタエラー判定部13の処理フロ
ー図である。
チャネル22経由でCPU20からの入出力要求を受け
付けた時、この処理フローが実行される。
ステップ1600では、入出力対象となるディスク装置
24に対応したライトアフタ情報1100内のレコード
番号不一致情報1203あるいはフィールド長不一致情
報1204がセットされているかをチェックする。セッ
トされていなければ、処理を終了する。セットされてい
れば、ステップ1601に移行する。
ステップ1601では、CPU20に対して、発生した
エラーの報告を行い、処理を終了する。
次に、第19図〜第25図を参照して、第2の実施例を
説明する。この第2の実施例は、ライト対象のレコード
301がキャッシュメモリ26に格納されていない場合
、制御袋fi23が保持する情報に基づいてディレクタ
25が判断し、キャッシュメモリ26にデータを書き込
んだ段階で、ライト処理を完了させるものである。
第19図は、本実施例における情報処理システムを詳細
に表したブロック図である。第1図に示した第1の実施
例との相違点は、ライトアフタ用メモリ27内に、各ト
ラック300がレコード番号の重複のあるものか重複の
ないものかを示すライトアフタトラック情報a1700
を含む点である。また、CPU20からの指定情報b3
300には、ライト対象とするレコード301がキャッ
シュメモリ26に格納されていなかった時の処理モード
を指定する前記指定情報5が含まれていない点である。
また、キャッシュ書き込み動作120の実行条件b33
10に、ライト対象のトラック300がレコード番号の
重複のないものであるという条件が含まれる点である。
これら3点以外は、第1図と同様である。そこで以下で
は、第1の実施例と異なる点を中心に説明する。
第20図は、本実施例におけるライトアフタ用メモリ2
7の構成である。第12図に示した第1の実施例におけ
るライトアフタ用メモリ27の構成と異なる点は、ライ
トアフタトラック情報a1700を含む点である。この
ライトアフタトラック情報a1700は、各ディスク装
置24に対応して設ける。
第21図は、上記ライトアフタトラック情報a1700
の構成を示したものである。ライトアフタトラック情[
a1700は、ディスク装置24の各トラック300が
レコード番号の重複していない状態か1重複している状
態か、いずれとも不明の状態かのいずれかを表すトラッ
ク状態a1800を保持している。各トラック300の
トラック状態a1800は、トラック番号順に格納され
る。
第22図は、トラック状態a1800の状態遷移を示し
ている。まず、トラック状態a1800の初期状態は、
そのトラック300がレコード番号の重複がないか重複
があるか不明の状態391になっている。この状態39
1で、パーシャルライト要求を受け付けると、ディレク
タ25は、当該トラック300がレコード番号の重複し
ていない状態か重複している状態かをチェックする。そ
して、レコード番号の重複していない状態である場合、
トラック状態a1800をレコード番号の重複がない状
1%’392にする。また、レコード番号の重複してい
る状態の場合、トラック状態a1800をレコード番号
の重複がある状態393にする。さらに、フォーマット
ライト要求を受け付けると、ディレクタ25は、トラッ
ク状態a1800を前記レコード番号の重複がないか重
複があるか不明の状態391に戻す。これは、フォーマ
ットライト処理により、レコード301のレコード番号
602に変化が生じる可能性があるためである。
キャッシュ26.セグメント400の格納形式。
ディレクトリ28.セグメント管理情報500゜トラッ
ク票501および空きセグメントキュー先頭ポインタ5
02は、それぞれ、第6図、第7図。
第8図、第9図、第10図および第11図に示した第1
の実施例における構成と同様である。
第23図は、本実施例におけるディレクタ25の構成を
示すものである。第14図に示す第1の実施例における
ディレクタ25の構成と異なる点は、以下の2つの構成
を含む点である。
ライトアフタトラック情報管理部a14・・・トラック
状態a1800がレコード番号の重複がないか重複があ
るか不明の状態391であるトラック300に対してパ
ーシャルライト要求を受け付けた時、当該トラック30
0がレコード番号の重複していない状態か重複している
状態かをチェックし、その結果をトラック状態a 18
00に格納する動作を行なうものである。
ライトアフタトラック情報管理部b15・・・あるトラ
ック300に対するフォーマットライト要求を受け付け
ると、当該トラック300のトラック状態a1800を
レコード番号の重複がないか重複があるか不明の状!!
391に戻す動作を行なうものである。
キャッシュパーシャルライト部10.ライトアフタスケ
ジュール部11.ライトアフタ転送部12およびライト
アフタエラー判定部13の処理フローは、それぞれ、第
15図〜第18図に示した処理フローと同様である。た
だし、キャッシュパーシャルライト部10のみの実行契
機が異なる。
すなわち、本実施例では、CPtJ20から受け付けた
パーシャルライト要求の処理対象となるトラック300
のトラック状態a 1800が、レコード番号の重複が
ない状態392になっている時である。
第24図(a)(b)は、ライトアフタトラック情報管
理部a14の処理フローである。
第24図(a)の処理フローの実行契機は、レコード番
号の重複があるか重複がないか不明の状態391になっ
ているトラック状態a1800のトラック300に対し
てのパーシャルライト要求を受け付けた時である。
ステップ2000では、パーシャルライト要求の対象と
なったトラック300に対して位置付は要求を発行し、
処理を終了する。
第24図(b)の処理フローの実行契機は、前記ステッ
プ2000で発行した位置付は要求が完了した時である
ステップ2001では、パーシャルライト対象となった
トラック300上のレコード301を全て読み出し、レ
コード番号に重複があるか重複がないかを判定する。
ステップ2002では、前記判定の結果を、当該トラッ
ク300に対応するトラック状態a1800に記憶し、
処理を終了させる。
第25図は、ライトアフタトラック情報管理部b15の
処理フロー図である。
この処理フローの実行契機は、ディレクタ25が、フォ
ーマットライト要求を受け付けた時である。
ステップ2100では、フォーマットライト対象となる
トラック300に対応したトラック状態a1800を、
レコード番号の重複がないか重複があるか不明の状態3
91にし、処理を終了する。
次に、第26図〜第34図を参照して、第3の実施例を
説明する。この第3の実施例は、ライト対象のレコード
301がキャッシュメモリ26に格納されていない場合
、CPU20からの特定の指定情報を受けたときのみ、
キャッシュメモリ26にデータを書き込んだ段階で、ラ
イト処理を完了させるもので、且つ、ライト対象となっ
たレコド301のトラック300上の物理的書き込み位
置を計算することにより、ライトアフタ処理の効率化を
図るものである。
物理的書き込み位置を計算することにより効率化を図れ
るのは、次の理由による。
すなわち、第33図に示すように、読み書きヘッド30
9の下をレコード301が通過する方向に物理的書き込
み位置が並ぶ順番で複数のライトアフタレコード160
を書き込めば、相対速度が上がるから、書き込みの効率
を向上できる。また、第34図に示すように、2つのラ
イトアフタレコード160の物理的書き込み位置が所定
距離以上離れている時、−時的に、ライトアフタ処理を
中断すると、2つのライトアフタレコード160の間で
のディレクタ25やデータ伝送路の無駄な占有時間がな
くなるため、効率を向上できる。
第26図は、本実施例における情報処理システムを詳細
に表したブロック図である。第1図に示した第1の実施
例との相違点は、以下のとおりである。
まず、CPU20内らの指定情報3400は、指定情報
5がなく、指定情報6および指定情報7がある点が異な
る。
指定情報6は、ライトデータ量を指定するものである。
ライト対象フィールドが1つの場合、そのフィールド6
06の長さが、ライトデータ量となる。この指定情報6
をCPU20からディレクタ25が受け取ると、チャネ
ル22からデータを受け取る前に、ライト対象のレコー
ド301のトラック300上の物理的位置の計算を実行
可能となる。ただし、必須の情報ではないため、図では
0を付けている。
指定情報7は、ライト対象となるトラック300が、以
下の構造上の集件A〜条件Cを満足していることを示す
情報である。
条(l[A・・・ライト対象のトラック300内の各レ
コード301のレコード番号602が、制御レコード3
10のレコード番号602から順に、0番からの1づつ
の昇順である。
条件B・・・制御部600以外のフィールド606がデ
ータ部601のみであり、制御レコード310以外のレ
コード301のデータ部601の長さが、同一トラック
内の各レコードで等しい。
条件C・・・制御レコード310が、標準レコードであ
る。すなわち、制御レコード310の制御部600以外
のフィールド606がデータ部601のみであり、且つ
、データ部601の長さがある決まった基準長である。
上記構造上の条件A−Cが満足されていれば、レコード
301のトラック300上の物理的書き込み位置を計算
することが可能となる。
物理的書き込み位置の計算が可能となる理由は、次の通
りである。
すなわち、条件Aが成立していると、ディレクタ25が
チャネル22から受け取ったレコード番号602により
、ライト対象のレコード301がトラック300の先頭
から何番目のレコードであるかが分かる。次に、条件B
および条件Cが成立していると、チャネル22から受け
取ったデータの長さ又は前記指定情報6によるライトデ
ータ量により、トラック300上の全てのレコード30
1の各フィールド606の長さが明らかになる。
以上より、ライト対象のレコード301のトラック30
0上の物理的位置の計算が可能となる。
ライト対象のトラック300が上記条件A〜条件Cを満
足するかどうかは、CPU20内の制御機構が把握して
いる。このため、CPU20が指定情報7を生成するこ
とが出来る。
次に、キャッシュ書き込み動作120の実行条件c34
10は、ライト対象となるトラック300が条件A〜条
件Cを満足していることが条件となる点が異なる。
次に、ライトアフタデータ29のディスク装置24への
書き込みは、以下の点が異なる。
すなわち、ディレクタ25は、ライトアフタ動作d34
20により、ディスク装置24内のトラック上の計算し
た書き込み位置近傍の一定の範囲内に、指定情報3によ
り受け取ったレコード番号602を有するレコード30
1が存在するか否かをチェックする。計算した書込み位
置近傍の一定範囲内をさがすのは、トラック300上に
リード/ライトが困難な不良位置が存在するため、レコ
ード301の記憶位置が若干ずれている可能性があるか
らである。
キャッシュメモリ26.ディレクトリ28.トラック票
501.空きセグメントキュー先頭ポインタ502およ
びライトアフタ用メモリ27の構成は、それぞれ、第6
図、第8図、第10図、第11図および第12図に示し
た第1の実施例における構成と同様である。
セグメント400の構成は、擬似制御部1O00、キ一
部ポインタ1001.データ部ポインタ1002、擬似
制御部フラグ1003は、第7図に示した第1の実施例
の構成と同様である。
ただし、条件A〜条件Cを満足するトラック300内の
レコード301にはキ一部607が存在しないため、擬
似制御部1ooo内のキ一部長608は常に0で、キ一
部ポインタ1001は常にnull値をとる。また、パ
ーシャルライト対象となるフィールド606はデータ部
601のみであるため、擬似制御部1000.キ一部ポ
インタ1001、データ部ポインタ1002.擬似制御
部フラグ1003およびデータ部601は、連続領域に
格納される。
第27図は、本実施例におけるセグメント管理情報50
0の構成である。第9図に示した第1の実施例における
構成との相違は、以下の情報を含む点である。
書き込み位置計算可能ビット2200・・・本セグメン
ト管理情報に対応したトラック300が、条件A〜条件
Cを満足していることを表す。
固定データ部長2201・・・制御レコード310以外
のレコード301の固定長であるデータ部601の長さ
を表す。
第28図は、ライトアフタ情報1100の構成を表す。
第13図の第1の実施例における構成との相違は、以下
の情報を含む点である。
ライトアフタ開始レコード番号2300・・・本実施例
では、2つのライトアフタレコード160のトラック3
00上の位置が一定値以上離れている場合、ライトアフ
タ処理の効率化を目的として、−度、ディスク装置24
との転送を中断して、位置付は処理に入る。このため、
次のライトアフタレコード160のレコード番号602
を設定しておく。
レコード物理位置不一致情報2301・・・計算した物
理位置にレコード301が存在しなかった時にセットす
る。
ディレクタ25の構成は、第14図の第1の実施例と同
様であり、キャッシュパーシャルライト部10.ライト
アフタスケジュール部11.ライトアフタ転送部12お
よびライトアフタエラー判定部13により構成される。
ただし、それぞれの処理フローは異なるため、以下、説
明する。
第29図は、キャッシュパーシャルライト部10の処理
フロー図である。第15図の第1の実施例における処理
フローと同様、ライト対象のレコード301が既にキャ
ッシュメモリ26に格納されていた場合の処理も含んで
いる。
ライト対象のトラック300が条件A〜条件Cを満たし
ている情報を含むパーシャルライト要求を受け取った時
、この処理フローを実行する。
以下、第15図の第1の実施例における処理フローと異
なる点を中心に説明を行う。
ステップ2400では、指定情報4で受け取ったレコー
ド番号、指定情報6で受け取ったライトデータ量により
、当該レコード301のトラック300上の物理位置を
計算する。
ステップ2401では、この計算した物理位置が実際の
トラック300の範囲内に入っているかをチェックする
。入っていない場合、ステップ2412ヘジヤンプする
。入っている場合、ステップ2402へ移行する。
ステップ2402では、ライト対象となるトラック30
0に対してセグメント400を割り当てであるかをチェ
ックする。既にセグメント400が割り当て済みの場合
、ステップ2407にジャンプする。まだ割り当ててい
ない場合は、ステップ2403へ移行する。
ステップ2403.ステップ2404の処理は、セグメ
ント400.セグメント管理情報500を割り当ててい
なかったトラック300に対して、これらの資源を割り
当て、セグメント管理情報500を初期化する処理であ
る。これらの処理は、第15図のステップ1301.ス
テップ1302と同様の処理である。
ステップ2405.ステップ2406は、それまでキャ
ッシュメモリ26に存在しなかったレコード301に対
してパーシャルライト要求を受け付けた時の処理である
。この内容も、第15図のステップ1303.ステップ
1304と同様である。ステップ2406の処理の後、
ステップ2411にジャンプする。
一方、ステップ2407では、指定情報6により受け取
ったライトデータ量の正当性のチェックが可能か否かを
判別する。
ライト対象となるレコード301が制御レコード310
の場合は、条件Cにより、トラック300上の制御レコ
ード310のデータ部長602は特定の基準値であるか
ら、CPU20が指定したライトデータ量と、制御レコ
ード310のデータ部601の基準長とを比較すること
で、正当性のチェックが可能である。
ライト対象となるレコード301が制御レコード310
以外の場合は、条件Bにより、制御レコード310以外
のレコード301のデータ部長602は等しいから、制
御レコード以外のレコード301が1つでもキャッシュ
メモリ26に格納されていれば、CPU20が指定した
ライトデータ量と、キャッシュメモリ26に格納されて
いる制御レコード以外のレコード301のデータ部長と
を比較することで、正当性チェックが可能となる。
正当性のチェックが不可能なら、ステップ2409ヘジ
ヤンプする。正当性のチェックが可能なら、ステップ2
408へ移行する。
ステップ2408では、正当性のチェックを行なう。正
当でないなら、CPU20にエラー報告をするため、ス
テップ2412ヘジヤンプする。
正当なら、ステップ2409へ移行する。
ステップ2409では、ライト対象のレコード301が
キャッシュメモリ26に格納されているか否かをチェッ
クする。これは第15図のステップ1305と同様であ
る。格納されていない場合、前記ステップ2405ヘジ
ヤンプする。格納されている場合は、ステップ2410
に移行する。
ステップ2410では、キャッシュメモリ26に格納し
ているデータ部601に、チャネル22から受け取った
データを書き込む。
ステップ2411では、セグメント管理情報500の必
要な部分の更新を行い、さらに、ライト処理の完了をチ
ャネル22経由でCPU20に報告し、処理を終了させ
る。
一方、ステップ2412では、ライトデータ量が妥当で
なかったことを、チャネル22を経由してCPU20に
報告し、処理を終了させる。
第30図は、ライトアフタスケジュール部11の処理フ
ロー図である。
この処理フローは、ディレクタ25が空いた時間を利用
して実行する。
まず、ステップ2500は、第16図の第1の実施例に
おけるステップ1500と同様の動作である。
ステップ2501では、ライトアフタ開始レコード番号
2300に、実行対象としたトラック300に対応した
セグメント管理情報500内の更新レコードポインタ8
07がnull値でない最も小さいレコード番号602
を設定する。条件へにより、レコード番号602の小さ
い順にライトアフタレコード160を選択すると、第3
3図に示すように、円板308の回転方向と逆方向に書
き込み処理を進めることができ、効率を上げられる。
ステップ2502では、実行対象としたディスク装置2
4に対して、ライトアフタ対象とするトラック300へ
の位置付は要求を発行する。
第31図は、ライトアフタ転送部12の処理フロー図で
ある。
この処理フローの実行契機は、第30図のステップ25
02で発行したディスク装!!F2,1への位買付は要
求が完了した時である。
ステップ2600では、最初にライト処理の対象とする
ライトアフタレコード160として、ライトアフタ開始
レコード番号2300に対応した更新レコードポインタ
807が指すライトアフタレコード160を選択する。
ステップ2601では、更新レコードポインタ807に
対応したライトアフタレコード160のトラック300
上の物理的書き込み位置を計算する。
ステップ2602では、前記計算した物理的書き込み位
置を含む一定範囲内に実際にレコード301が記憶され
ているか否かをチェックする。記憶されていない場合、
ステップ2610ヘジヤンプする。記憶されている場合
は、ステップ2603に移行する。
ステップ2603では、記憶されていたレコード301
の制御部601を読み出す。
ステップ2604では、読み出した制御部601のレコ
ード番号602と、更新レコードポインタ807にポイ
ントされた擬似制御部1000あるいは制御部600内
のレコード番号602のチェックを行う。一致しない場
合、エラーであるため、ステップ2612にジャンプす
る。一致した場合は、ステップ2605に移行する。
ステップ2605では、読み出した制御部601のデー
タ部長603と、更新レコードポインタ807にポイン
トされた擬似制御部1000あるいは制御部600内の
データ部長603のチェックを行なう。一致しない場合
、エラーであるため、ステップ2611ヘジヤンプする
。一致した場合は、ステップ2606に移行する。
ステップ2606では、ライトアフタデータ160を、
トラック300上に書き込む。
ステップ2607では、次にレコード番号602の値が
大きく、且つ、null値でない更新レコードポインタ
807を見つける。見つからない場合、そのトラック3
00についての全てのライトアフタレコード160の書
き込みが完了したことになるため、ステップ2613に
ジャンプする。
見つかった場合、ステップ2608に移行する。
ステップ2608では、見つかった更新レコードポイン
タ807に対応するレコード301までの間隔を計算し
、一定値以上あるか否かをチェックす、る。一定値未満
の場合、見つかった更新レコードポインタ308に対応
するレコード301の書き込み処理を実行するため、前
記ステップ2601ヘジヤンプする。一定値以上ある場
合は、ステップ2609に移行する。
ステップ2609では、ディスク装置24への位置付は
要求を発行し、−度、処理を中断する。
この時、ライトアフタ開始レコード番号2300に、次
にライトアフタ対象とするレコード301のレコード番
号602を設定しておく。また、セグメント管理情報5
00の必要な部分の更新も行っておく。
一方、ステップ2610では、レコード物理位置不一致
情報2301をセットする。そして、ステップ2614
ヘジヤンプする。
一方、ステップ2611では、フィールド長不一致情報
1204をセットする。そして、ステップ2614ヘジ
ヤンプする。
ステップ2612〜ステツプ2614は、第17図のス
テップ1508〜ステツプ1510の処理と同様であり
、それぞれ、レコード番号不一致情報1203のセット
、セグメント管理情報500の更新、ライトアフタ実行
中フラグ1200のリセットを実行する。
第32図は、ライトアフタエラー判定部13の処理フロ
ーである。
この処理フローの実行契機は、第18図の第1の実施例
における処理フローの場合と同様であり、チャネル22
経由でCPU20からの入出力要求を受け付けた時であ
る。
ステップ2700では、入出力対象となるディスク装置
24に対応したライトアフタ情報1100内のレコード
番号不一致情報1203.フィールド長不一致情報12
04あるいはレコード物理位置不一致情報2301がセ
ットされているか否かをチェックする。いずれもセット
されていなければ、処理を終了させる。いずれかがオン
であれば、ステップ2701に移行する。
ステップ2701では、CPU20に対して発生したエ
ラーの報告を行う。
次に、第35図〜第41図を参照して、第4の実施例を
説明する。この第4の実施例は、ライト対象のレコード
301がキャッシュメモリ26に格納されていない場合
、制御袋v!!23が保持している情報に基づいてディ
レクタ25が判断し、キャッシュメモリ26にデータを
書き込んだ段階で、ライト処理を完了させるもので、且
つ、ライト対象となったレコード301のトラック30
0上の物理的書き込み位置を計算することにより、ライ
トアフタ処理の効率化を図るものである。
制御装置23が保持している情報は、各トラック300
が前記条件A〜条件Cを満足するか否かを表す情報であ
る。
第35図は、本実施例における情報処理システムを詳細
に表したブロック図である。第26図に示した第3の実
施例との相違点は、以下のとおりである。。
まず、CPU20からの指定情報3500は、指定情報
7がない点が異なる。
次に、ライトアフタ用メモリ27内に、ディスク装置2
4上の各トラック300が、条件A〜条件Cを満足する
か否かを表す情報を有する点が異なる。
次に、実行条件c3410は、ディレクタ25がライト
アフタ用メモリ27内の情報により条件を判別する点が
異なる。
キャッシュメモリ26.ディレクトリ28.セグメント
管理情報500.)ラック票501および空きセグメン
トキュー先頭ポインタ502は、それぞれ、第6図、第
8図、第27図、第10図および第11図に示した構成
と同様である。
第36図は、本実施例におけるライトアフタ用メモリ2
7の構成である。第20図に示した第3の実施例におけ
る構成と累なる点は、ライトアフタトラック情報a17
00の代りに、ライトアフタトラック情報b2800を
含む点である。ライトアフタ情報b2800も各ディス
ク装置24に対応して設ける。
第37図は、前記ライトアフタトラック情報b2800
の構成を示したものである。ライトアフタトラック情報
b2800は、以下の情報により構成される。それぞれ
の情報は、ディスク装置24の各トラック300ごとに
保持される。
トラック状態b2900・・・対応するトラック300
が条件A〜条件Cを満たしている状態か。
満たしていない状態か、いずれとも不明の状態かを表す
固定長データ部情報2901・・・対応するトラック3
00が条件A〜条件Cを満足するとき、全てのレコード
301の間で共通値となるデータ部601の長さを表す
第38図は、トラック状態b2900の状態遷移を示す
ものである。トラック状態b2900の状態遷移の契機
は、第22図に示した第2の実施例におけるトラック情
報a1800の状態遷移の契機と同様である。すなわち
、そのトラック30Oが条件A〜条件Cを満たしている
か否かが不明の状態401でパーシャルライト要求を受
け付けた時は、当該トラック300が条件A〜条件Cを
満足するか満足しないかをチェックし、その結果をトラ
ック状態b2900に格納する。また、当該トラック3
00に対するフォーマットライト要求を受け付けた時は
、当該トラック300のトラック状態b2900が条件
A〜条件Cを満足しているか否かが不明の状態401に
戻す。
トラック情報b 2900.固定長データ部情報290
1の格納順序も、第22図に示した第2の実施例におけ
るトラック情報a1800と同様であり、トラック番号
順に格納される。
ディレクタ25の構成は、第23図の第2の実施例と同
様である。
ライトアフタスケジュール部11.ライトアフタ転送部
12およびライトアフタエラー判定部13の処理フロー
は、第30図〜第32図に示した第3の実施例の処理フ
ローと同様である。ただし、キャッシュパーシャルライ
ト部10. ライトアフタトラック情報管理部a14お
よびライトアフタトラック情報管理部b15の処理フロ
ーは異なるため、以下、説明する。
第39図は、キャッシュパーシャルライト部10の処理
フロー図である。第15図の第1の実施例における処理
フローと同様、ライト対象のレコード301が既にキャ
ッシュメモリ26に格納されていた場合の処理も含んで
いる。
この処理フローの実行契機は、ディレクタ25が、チャ
ネル22経由でCPU20から受け付けたパーシャルラ
イト要求の処理対象となるトラック300のトラック状
態b2900が、条件A〜条件Cを満足している状態4
02になっている時である。
ステップ3000では、CPU20から受け取ったライ
トデータ量の正当性をチェックする。本実施例では、ラ
イト対象となるトラック300にセグメント400を割
り当てていない場合でも、固定長データ部情報2901
の値により、ライトデータ量の正当性のチェックが可能
となる。ライトデータ量に正当性、がない場合、ステッ
プ3011ヘジヤンプする。正当性がある場合、ステッ
プ3001に移行する。
ステップ3001以下の処理は、第29図の処理フロー
に含まれる内容である。すなわち、ステップ3001〜
ステツプ3007は、第29図のステップ2400〜ス
テプ2406に対応する。
また、ステップ3008〜ステツプ3011は、第29
図のステップ2409〜ステプ24012に対応する。
第40図(a )(b )は、ライトアフタトラック情
報管理部a14の処理フロー図である。第24図に示す
第3の実施例における処理フローとの差異は、第24図
の処理フローがライトアフタトラック情報a1700を
取扱の対象とするのに対し、第40図の処理フローはラ
イトアフタトラック情報b2800を取扱の対象とする
点である。
第40図(a)の処理フローの実行契機は、第24図(
a)の実行契機と同様である。
ステップ3100では、パーシャルライト対象となった
トラック300に対する位置付は要求を発行する。
第40図(b)の処理フローの実行契機は、前記ステッ
プ3100で発行した位置付は要求が完了した時である
ステップ3101では、パーシャルライト対象となるト
ラック300上のレコード301を全て読み出し、当該
トラック300が、条件A〜条件Cを満足するか否かを
判定する。
ステップ3102では、前記ステップ3101での判定
結果を、当該トラック300に対応するトラック状態b
2900に格納する。さらに、条件A〜条件Cを満足す
る場合には、データ部601の長さを、固定長データ部
情報2901に設定し、処理を終了させる。
第41図は、ライトアフタトラック情報管理部b15の
処理フロー図である。第25図に示す第3の実施例にお
ける処理フローとの差異は、第25図の処理フローがラ
イトアフタトラック情報a1700を取扱の対象とする
のに対し、第41図の処理フローはライトアフタトラッ
ク情報b280を取り扱いの対象とする点である。
第41図の処理フローの実行契機は、第25図の実行契
機と同様である。
ステップ3200では、ライト対象となるトラック30
0に対応したトラック状態b2900を、条件A〜条件
Cを満たしているか否か不明の状態401にし、処理を
終了する。
さて、前記第3の実施例および上記第4の実施例では、
キャッシュメモリ26に格納する際に、そのレコードを
格納する位置の連続性についての考慮を全く行なってい
ない。
しかし、トラック300上で物理的に連続した位置にあ
るレコード301を、セグメント400でも連続して格
納するというI11限をつけた方がキャッシュ制御が簡
単になるというメリットがある。
この制限を、連続格納制限と呼ぶ。
たとえば、第42図に示すように、トラック300上で
物理的に連続してレコードm3600とレコードn36
01とがあるものとする。トラッり300上で連続して
いるレコードm3600とレコードn3601とを連続
して読み出す処理は、CPU20がしばしば要求する処
理である。この場合に、セグメント400にレコードm
3600とレコードn3601とを連続して格納してお
けば、ディレクタ25は、セグメント400内の領域を
単純に連続して読み出し、CPtJ20に送ればよい。
つまり、レコードn3601を転送する際、セグメント
管理情報500内のレコードポインタn3603を参照
する処理を削減することができる。
上記の連続格納制限を守るためには、ディレクタ25が
、キャッシュメモリ26にデータを書き込んだ段階でラ
イト処理を完了させることを行なう場合を、以下の連続
格納条件1〜連続格納条件3が満足された時に限定すれ
ばよい。
連続格納条件1・・・ライト対象のトラック300上の
レコード301が、全くキャッシュメモリ26に格納さ
れていないこと。この場合、ディレクタ25は、ライト
対象のレコードに4300のみを、第43図(a)に示
すように、新たに確保したセグメント400内に格納す
ることになるため、連続格納制限を満足できる。
連続格納条件2・・・ライト対象のレコード301が、
連続格納制限を満足した状態でキャッシュメモリ26に
格納されているレコード301であること。この場合、
ディレクタ25は、第43図(b)に示すように、すで
に格納されているレコードに4300にデータを書き込
むだけであるから、連続格納制限を満足できる。
連続格納条件3・・・ライト対象のレコード番号602
が、キャッシュメモリ26に格納されているライト対象
のトラック300のレコード301のレコード番号60
2の中の最大値より1つ大きい値であること。この場合
、第43図(c)に示すように、ディレクタ25は、レ
コードに4300を、それまでセグメント400内に格
納していたレコード301の後に格納すれば、連続格納
条件を満足させることができる。
連続格納制限は、ライト対象となるトラック300が条
件A〜条件Cを満足することをCPU20から通知して
もらう場合(第3の実施例)にも、制御袋H23が各ト
ラック300ごとに条件A〜条件Cを満足するか否かに
関する情報をもつ場合(第4の実施例)にも、いずれに
も適用可能であり、その場合、セグメント管理情報50
0のみが、この連続格納制限を設けない場合と異なる。
第44図は、この連続格納制限を設ける第5の実施例に
おけるセグメント管理情報500の構成を示すものであ
る。第27図の第3の実施例における構成と異なる点は
、キャッシュ内最大レコード番号3700を含む点であ
る。キャッシュ内最大レコード番号3700は、キャッ
シュメモリ26に格納されているレコード301のレコ
ード番号602の中の最大の値を表している。
第29図〜第32図、第39図〜第41図の処理フロー
は基本的にそのまま適用できる。ただし、第29図、、
第39図のキャッシュパーシャルライト部10の処理フ
ローの実行契機が異なる。すなわち、ライト対象となる
トラック300が条件A〜条件Cを満足し、且つ、連続
格納条件1〜連続格納条件3が満足された時が実行契機
となる。
[発明の効果] 本発明のキャッシュ制御方法および制御装置によれば、
パーシャルライト対象となるレコードが、キャッシュメ
モリに予め格納されていない場合でも、キャッシュメモ
リにライトデータを書き込んだ段階で、ライト処理を完
了させることが可能となる。したがって、キャッシュメ
モリを利用したライト処理の高速化が可能な範囲を大幅
に増大させることが出来るようになる。また、レコード
の物理的を計算することによって、処理効率を向上でき
るようになる。
【図面の簡単な説明】
第1図は本発明の第1の実施例における制御装置の基本
構成を示すブロック図、第2図は本発明に係る情報処理
システムのブロック図、第3図はディスク装置24の構
成説明図、第4図はレコード301の構成例示図、第5
図はレコード301の別の構成例示図、第6図は本発明
の第1の実施例におけるキャッシュメモリ26の構成例
示図、第7図は本発明の第1の実施例におけるセグメン
トの構成例示図、第8図は本発明の第1の実施例におけ
るディレクトリ28の構成例示図、第9図は本発明の第
1の実施例におけるセグメント管理情報500の構成例
示図、第10図は本発明の第1の実施例におけるトラッ
ク票501の構成例示図、第11図は本発明の第1の実
施例における空きセグメントキュー先頭ポインタ502
の説明図、第12図は本発明の第1の実施例におけるラ
イトアフタ用メモリ27の構成例示図、第13図は本発
明の第1の実施例におけるライトアフタ情報1100の
構成例示図、第14図は本発明の第1の実施例における
ディレクタ25の構成例示図、第15図は本発明の第1
の実施例におけるキャッシュパーシャルライト部10の
処理フロー図、第16図は本発明の第1の実施例におけ
るライトアフタスケジュール部11の処理フロー図、第
17図は本発明の第1の実施例におけるライトアフタ転
送部12の処理フロー図、第18図は本発明の第1の実
施例におけるライトアフタエラー判定部12の処理フロ
ー図、第19図は本発明の第2の実施例における制御装
置の基本構成を示すブロック図、第20図は本発明の第
2の実施例におけるライトアフタ用メモリ27の構成例
示図、第2工図は本発明の第2の実施例におけるライト
アフタトラック情報a1700の構成例示図、第22図
は本発明の第2の実施例におけるトラック状態a180
0の状態遷移図、第23図は本発明の第2の実施例にお
けるディレクタ25の構成例示図、第24図(aHb)
は本発明の第2の実施例におけるライトアフタトラック
情報管理部a14の処理フロー図、第25図は本発明の
第2の実施例におけるライトアフタ情報管理部b15の
処理フロー図、第26図は本発明の第3の実施例におけ
る制御装置23の基本構成を示すブロック図、第27図
は本発明の第3の実施例におけるセグメント管理情報5
00の構成例示図、第28図は本発明の第3の実施例に
おけるライトアフタ情報1100の構成例示図、第29
図は本発明の第3の実施例におけるキャッシュパーシャ
ルライト部10の処理フロー図、第30図は本発明の第
3の実施例におけるライトアフタスケジュール部11の
処理フロー図、第31図は本発明の第3の実施例におけ
るライトアフタ転送部12の処理フロー図、第32図は
本発明の第3の実施例におけるライトアフタエラー判定
部12の処理フロー図、第33図および第34図は効率
的なライトアフタレコード160の書き込み方法を示す
概念図、第35図は本発明の第4の実施例における制御
装置23の基本構成を示すブロック図、第36図は本発
明の第4の実施例におけるライトアフタ用メモリ27の
構成例示図、第37図は本発明の第4の実施例における
ライトアフタトラック情報b2800の構成例示図、第
38図は本発明の第4の実施例におけるトウー/9状!
!b 2900ノ状gs遷移図、第39図は本発明の第
4の実施例におけるキャッシュパーシャルライト部lO
の処理フロー図、第40図(a)(b)は本発明の第4
の実施例におけるライトアフタトラック情報管理部a1
4の処理フロー図、第41図は本発明の第4の実施例に
おけるライトアフタトラック情報管理部b15の処理フ
ロー図、第42図はトラック300上の連続した位置に
記憶されたレコード301とセグメント400における
連続した領域に格納したレコードの例示図、第43図(
a)(b)(c)は各々連続格納条件を説明するための
セグメント400の構成例示図、第44図は本発明の第
5の実施例におけるセグメント管理情報500の構成例
示図である。 (符号の説明) 10・・・キャッシュパーシャルライト部11・・・ラ
イトアフタスケジュール部12・・・ライトアフタ転送
部 13・・・ライトアフタエラー判定部 14・・・ライトアフタトラック情報管理部a15・・
・ライトアフタトラック情報管理部b23・・・制御装
置   24・・・ディスク装置25・・・ディレクタ
  26・・・キャッシュメモリ27・・・ライトアフ
タ用メモリ 28・・・ディレクトリ 100・・・CPUからの指定情報a 110・・・実行条件a 120・・・キャッシュ書き込み動作 130・・・ライトアフタ動作a 140・・・ライトアフタ動作し 150・・・ライトアフタ動作C 200・・・データ処理装置 300・・・トラック   301・・・レコード31
0・・・制御レコード 400・・・セグメント500
・・・セグメント管理情報 501・・・トラック票  600・・・フィールド6
01・・・データ部   602・・・レコード番号6
03・・・データ部長  607・・・キ一部608・
・・キ一部長。

Claims (1)

  1. 【特許請求の範囲】 1、データ処理装置と、キャッシュメモリを有する制御
    装置と、レコードを記憶する記憶装置とを接続してなる
    情報処理システムにおいて、 制御装置が、 (a)データ処理装置から、ライト対象のレコードに対
    するライト要求を受け取り、 (b)そのライト対象のレコードが、キャッシュメモリ
    に格納されていないとき、そのラ イト対象のレコード上に書き込むべきデー タをデータ処理装置から受け取り、 (c)受け取ったデータをキャッシュメモリに格納し、 (d)ライト処理が完了したことをデータ処理装置に報
    告し、 (e)キャッシュメモリに格納した前記データを書き込
    むべきライト対象のレコードが記 憶装置に記憶されているか否かを検査し、 (f)記憶されている場合は、その記憶装置上のライト
    対象のレコードに、キャッシュメ モリに格納した前記データを書き込み、 記憶されていない場合は、キャッシュメ モリに格納した前記データの書き込みを中 止し、その旨をデータ処理装置に報告する、ことを特徴
    とするキャッシュ制御方法。 2、データ処理装置と、キャッシュメモリを有する制御
    装置と、レコード番号を含む制御フィールドをもつレコ
    ードを記憶する記憶装置とを接続してなる情報処理シス
    テムにおいて、制御装置が、 (a)データ処理装置から、ライト対象のレコードを指
    定するレコード指定情報と、ライ ト対象のレコード内のライトすべきフィー ルドを指定するフィールド指定情報と、ラ イト対象のレコードがキャッシュメモリに 格納されていない場合の処理モードを指定 する処理モード指定情報とを含むライト要 求を受け取るステップと、 (b)前記レコード指定情報により指定されたライト対
    象のレコードがキャッシュメモリ に格納されておらず且つ前記フィールド指 定情報により指定されたライトすべきフィ ールドが制御フィールドを含まないもので あるとき、前記処理モード指定情報で指定 された処理モードにしたがって、前記指定 されたフィールドに書き込むべきデータを データ処理装置から受け取るステップと、 (c)そのデータをキャッシュメモリに格納するステッ
    プと、 (d)ライト処理が完了したことをデータ処理装置に報
    告するステップと、 を有することを特徴とするキャッシュ制御方法。 3、データ処理装置と、キャッシュメモリを有する制御
    装置と、レコード番号を含む制御フィールドをもつレコ
    ードを記憶する複数の物理領域を有する記憶装置とを接
    続してなる情報処理システムにおいて、 制御装置が、 「前記物理領域内のレコードのレコード番 号に重複がない」という構造上の条件を満足する状態か
    、満足しない状態かを表わす構造条件情報を各物理領域
    ごとに保持すると共に、(a)データ処理装置から、ラ
    イト対象のレコードを指定するレコード指定情報と、ラ
    イ ト対象のレコード内のライトすべきフィー ルドを指定するフィールド指定情報とを含 むライト要求を受け取るステップと、 (b)前記レコード指定情報により指定されたライト対
    象のレコードがキャッシュメモリ に格納されておらず且つ前記フィールド指 定情報により指定されたライトすべきフィ ールドが制御フィールドを含まないもので あり且つ前記構造上の条件が満足されてい るとき、前記指定されたフィールドに書き 込むべきデータをデータ処理装置から受け 取るステップと、 (c)そのデータをキャッシュメモリに格納するステッ
    プと、 (d)ライト処理が完了したことをデータ処理装置に報
    告するステップと、 を有することを特徴とするキャッシュ制御方法。 4、請求項2または請求項3のキャッシュ制御方法にお
    いて、 制御装置が、 データ処理装置からデータを受け取ってキ ャッシュメモリに格納した後、 (e)ライト対象のレコードを記憶装置上で見出すステ
    ップと、 (f)ライト対象のレコードが見出されたときは、キャ
    ッシュメモリに格納した前記デー タを、見出したレコード上に書き込み、見 出されなかったときは、キャッシュメモリ に格納した前記データの書き込みを中止し て、その旨をデータ処理装置に報告するス テップと、 を有することを特徴とするキャッシュ制御方法。 5、請求項4のキャッシュ制御方法において、制御フィ
    ールドが、制御フィールド以外の フィールドの長さを表す情報を含み、 ステップ(c)で、データをキャッシュメモリに格納す
    ると共に、そのデータのデータ長を格納し、 ステップ(f)で、見出したレコードの制御フィールド
    以外のフィールドの長さを表す情報と、ステップ(c)
    で格納した前記データ長とを比較し、等しいときは、キ
    ャッシュメモリに格納した前記データを、見出したレコ
    ード上に書き込み、等しくないときは、キャッシュメモ
    リに格納した前記データの書き込みを中止し、その旨を
    データ処理装置に報告する、 ことを特徴とするキャッシュ制御方法。 6、請求項3のキャッシュ制御方法において、制御装置
    が、 (i)フィールド指定情報により指定されたライトすべ
    きフィールドが制御フィールドを 含まないものであり、且つ、ライト対象の レコードが記憶されている物理領域に対応 する構造条件情報が、条件を満足するか満 足しないかが不明の状態を表わすものであ るとき、その物理領域が条件を満足するか 満足しないかをチェックして、その結果を 新たな構造条件情報とするステップ、 を含むことを特徴とするキャッシュ制御方法。 7、請求項6のキャッシュ制御方法において、制御装置
    が、 (j)フィールド指定情報により指定されたライトすべ
    きフィールドが制御フィールドを 含むときは、ライト対象のレコードが記憶 されている物理領域に対応した構造条件情 報を、条件を満足するか満足しないかが不 明の状態を表わすものにするステップ、 を含むことを特徴とするキャッシュ制御方法。 8、データ処理装置と、キャッシュメモリを有する制御
    装置と、レコード番号を含む制御フィールドをもつレコ
    ードを記憶する複数の物理領域を有する記憶装置とを接
    続してなる情報処理システムにおいて、 制御装置が、 (a)データ処理装置から、ライト対象のレコードを指
    定するレコード指定情報と、ライ ト対象のレコード内のライトすべきフィー ルドを指定するフィールド指定情報と、 「ライト対象のレコードが記憶されている 物理領域に記憶されたレコードの先頭のレ コード番号が0番で、以下のレコード番号 が1づつの昇順であり、且つ、各レコード の制御フィールド以外のフィールドが1つ であり、且つ、レコード番号1以上のレコ ードの制御フィールド以外のフィールドの 長さが等しく、且つ、レコード番号0のレ コードの制御フィールド以外のフィールド の長さが所定の長さである」という構造上 の条件を満足する状態か、満足しない状態 かを表わす構造条件情報とを含むライト要 求を受け取るステップと、 (b)前記レコード指定情報により指定されたライト対
    象のレコードがキャッシュメモリ に格納されておらず且つ前記フィールド指 定情報により指定されたライトすべきフィ ールドが制御フィールドを含まないもので あり且つ前記構造上の条件が満足されてい るとき、前記指定されたフィールドに書き 込むべきデータをデータ処理装置から受け 取るステップと、 (c)そのデータをキャッシュメモリに格納するステッ
    プと、 (d)ライト処理が完了したことをデータ処理装置に報
    告するステップと、 を有することを特徴とするキャッシュ制御方法。 9、データ処理装置と、キャッシュメモリを有する制御
    装置と、レコード番号を含む制御フィールドをもつ、レ
    コードを記憶する複数の物理領域を有する記憶装置とを
    接続してなる情報処理システムにおいて、 制御装置が、「ライト対象のレコードが記 憶されている物理領域に記憶されたレコードの先頭のレ
    コード番号が0番で、以下のレコード番号が1づつの昇
    順であり、且つ、各レコードの制御フィールド以外のフ
    ィールドが1つであり、且つ、レコード番号1以上のレ
    コードの制御フィールド以外のフィールドの長さが等し
    く、且つ、レコード番号0のレコードの制御フィールド
    以外のフィールドの長さが所定の長さである」という構
    造上の条件を満足する状態か、満足しない状態かを表わ
    す構造条件情報を各物理領域ごとに保持すると共に、 (a)データ処理装置から、ライト対象のレコードを指
    定するレコード指定情報と、ライ ト対象のレコード内のライトすべきフィー ルドを指定するフィールド指定情報とを含 むライト要求を受け取るステップと、 (b)前記レコード指定情報により指定されたライト対
    象のレコードがキャッシュメモリ に格納されておらず且つ前記フィールド指 定情報により指定されたライトすべきフィ ールドが制御フィールドを含まないもので あり且つ前記構造上の条件が満足されてい るとき、前記指定されたフィールドに書き 込むべきデータをデータ処理装置から受け 取るステップと、 (c)そのデータをキャッシュメモリに格納するステッ
    プと、 (d)ライト処理が完了したことをデータ処理装置に報
    告するステップと、 を有することを特徴とするキャッシュ制御方法。 10、請求項8または請求項9のキャッシュ制御方法に
    おいて、 制御装置が、 データ処理装置からデータを受け取ってキ ャッシュメモリに格納した後、 (e)ライト対象のレコードを記憶装置上で見出すステ
    ップと、 (f)ライト対象のレコードが見出されたときは、キャ
    ッシュメモリに格納した前記デー タを、見出したレコード上に書き込み、見 出されなかったときは、キャッシュメモリ に格納した前記データの書き込みを中止し て、その旨をデータ処理装置に報告するス テップと、 を有することを特徴とするキャッシュ制御方法。 11、請求項10のキャッシュ制御方法において、制御
    フィールドが、制御フィールド以外の フィールドの長さを表す情報を含み、 ステップ(c)で、データをキャッシュメモリに格納す
    ると共に、そのデータのデータ長を格納し、 ステップ(f)で、見出したレコードの制御フィールド
    以外のフィールドの長さを表す情報と、ステップ(c)
    で格納した前記データ長とを比較し、等しいときは、キ
    ャッシュメモリに格納した前記データを、見出したレコ
    ード上に書き込み、等しくないときは、キャッシュメモ
    リに格納した前記データの書き込みを中止し、その旨を
    データ処理装置に報告する、 ことを特徴とするキャッシュ制御方法。 12、請求項10のキャッシュ制御方法において、ステ
    ップ(f)より前に、ライト対象のレコードの物理領域
    上の書き込み位置を計算するステップを有すると共に、 ステップ(f)で、見出したレコードの物理領域上の記
    憶位置と、前記計算した書き込み位置とを比較し、その
    比較結果が所定の条件を満たしたときは、キャッシュメ
    モリに格納した前記データを、見出したレコード上に書
    き込み、満たさないときは、キャッシュメモリに格納し
    た前記データの書き込みを中止し、その旨をデータ処理
    装置に報告する、 ことを特徴とするキャッシュ制御方法。 13、請求項10のキャッシュ制御方法において、ステ
    ップ(e)で、ライト対象のレコードが複数あって同じ
    物理領域内に記憶されているときは、レコード番号順に
    ライト対象のレコードを見出し、 ステップ(f)で、見出した順で、キャッシュメモリに
    格納した前記データを、見出したレコードに書き込む、 ことを特徴とするキャッシュ制御方法。 14、請求項13のキャッシュ制御方法において、ステ
    ップ(e)より前に、ライト対象の複数のレコードの物
    理領域上の書き込み位置を各々計算するステップを有す
    ると共に、 ステップ(e)で、見出したレコードの位置から次に見
    出すレコードの前記計算した書き込み位置まで所定距離
    以上離れているときは、見出す処理を一時的に中断する
    、 ことを特徴とするキャッシュ制御方法。 15、請求項8または請求項9のキャッシュ制御方法に
    おいて、 制御装置が、 データ処理装置からデータを受け取ってキ ャッシュメモリに格納した後、 (e)ライト対象のレコードの物理領域上の書き込み位
    置を計算するステップと、 (f)計算した書き込み位置近傍の所定の範囲内でライ
    ト対象のレコードを見出すステッ プと、 (g)ライト対象のレコードが見出されたときは、キャ
    ッシュメモリに格納した前記デー タを、見出したレコード上に書き込み、見 出されなかったときは、キャッシュメモリ に格納した前記データの書き込みを中止し て、その旨をデータ処理装置に報告するス テップと、 を有することを特徴とするキャッシュ制御方法。 16、請求項8または請求項9のキャッシュ制御方法に
    おいて、 ステップ(b)の代わりに、 (m)フィールド指定情報により指定されたライトすべ
    きフィールドが制御フィールドを 含まないものであり、且つ、ライト対象の レコードが記憶されている物理領域内に記 憶されているレコードがキャッシュメモリ に全く格納されていないか又は一部が格納 されているがその格納されているレコード のレコード番号の最大値よりもライト対象 のレコードのレコード番号が1だけ大きい 値であり、且つ、ステップ(a)における構造上の条件
    が満足されているとき、前記指 定されたフィールドに書き込むべきデータ をデータ処理装置から受け取るステップ、 を有することを特徴とするキャッシュ制御方法。 17、請求項9のキャッシュ制御方法において、制御装
    置が、 (i)フィールド指定情報により指定されたライトすべ
    きフィールドが制御フィールドを 含まないものであり、且つ、ライト対象の レコードが記憶されている物理領域に対応 する構造条件情報が、条件を満足するか満 足しないかが不明の状態を表わすものであ るとき、その物理領域が条件を満足するか 満足しないかをチェックして、その結果を 新たな構造条件情報とするステップ、 を含むことを特徴とするキャッシュ制御方法。 18、請求項17のキャッシュ制御方法において、制御
    装置が、 (j)フィールド指定情報により指定されたライトすべ
    きフィールドが制御フィールドを 含むときは、ライト対象のレコードが記憶 されている物理領域に対応した構造条件情 報を、条件を満足するか満足しないかが不 明の状態を表わすものにするステップ、 を含むことを特徴とするキャッシュ制御方法。 19、データ処理装置と、レコードを記憶する記憶装置
    の間に接続される、キャッシュメモリを有する制御装置
    であって、 (a)データ処理装置からライト対象のレコードに対す
    るライト要求を受け取るライト要 求受取手段と、 (b)そのライト対象のレコードが、キャッシュメモリ
    に格納されていないとき、そのラ イト対象のレコード上に書き込むべきデー タをデータ処理装置から受け取るデータ受 取手段と、 (c)受け取ったデータをキャッシュメモリに格納する
    データ格納手段と、 (d)ライト処理が完了したことをデータ処理装置に報
    告するライト処理完了報告手段と、(e)キャッシュメ
    モリに格納した前記データを書き込むべきライト対象の
    レコードが記 憶装置に記憶されているか否かを検査する レコード存在検査手段と、 (f)記憶されている場合に、その記憶装置上のライト
    対象のレコードに、キャッシュメ モリに格納した前記データを書き込むデー タ書き込み手段と、 (g)記憶されていない場合に、キャッシュメモリに格
    納した前記データの書き込みを中 止し、その旨をデータ処理装置に報告する 中止報告手段と、 を具備したことを特徴とする制御装置。 20、データ処理装置と、レコード番号を含む制御フィ
    ールドをもつレコードを記憶する記憶装置の間に接続さ
    れる、キャッシュメモリを有する制御装置であって、 (a)データ処理装置から、ライト対象のレコードを指
    定するレコード指定情報と、ライ ト対象のレコード内のライトすべきフィー ルドを指定するフィールド指定情報と、ラ イト対象のレコードがキャッシュメモリに 格納されていない場合の処理モードを指定 する処理モード指定情報とを含むライト要 求を受け取るライト要求受取手段と、 (b)前記レコード指定情報により指定されたライト対
    象のレコードがキャッシュメモリ に格納されておらず且つ前記フィールド指 定情報により指定されたライトすべきフィ ールドが制御フィールドを含まないもので あるとき、前記処理モード指定情報で指定 された処理モードにしたがって、前記指定 されたフィールドに書き込むべきデータを データ処理装置から受け取るデータ受取手 段と、 (c)そのデータをキャッシュメモリに格納するデータ
    格納手段と、 (d)ライト処理が完了したことをデータ処理装置に報
    告するライト処理完了報告手段と、を具備したことを特
    徴とする制御装置。 21、データ処理装置と、レコード番号を含む制御フィ
    ールドをもつレコードを記憶する複数の物理領域を有す
    る記憶装置の間に接続される、キャッシュメモリを有す
    る制御装置であって、 (a)「前記物理領域内のレコードのレコード番号に重
    複がない」という構造上の条件を 満足する状態か、満足しない状態かを表わ す構造条件情報を各物理領域ごとに保持す る構造条件情報保持手段と、 (b)データ処理装置から、ライト対象のレコードを指
    定するレコード指定情報と、ライ ト対象のレコード内のライトすべきフィー ルドを指定するフィールド指定情報とを含 むライト要求を受け取るライト要求受取手 段と、 (c)前記レコード指定情報により指定されたライト対
    象のレコードがキャッシュメモリ に格納されておらず且つ前記フィールド指 定情報により指定されたライトすべきフィ ールドが制御フィールドを含まないもので あり且つ前記構造上の条件が満足されてい るとき、前記指定されたフィールドに書き 込むべきデータをデータ処理装置から受け 取るデータ受取手段と、 (d)そのデータをキャッシュメモリに格納するデータ
    格納手段と、 (e)ライト処理が完了したことをデータ処理装置に報
    告するライト処理完了報告手段と、を具備したことを特
    徴とする制御装置。 22、請求項20または請求項21の制御装置において
    、 (f)データ処理装置からデータを受け取ってキャッシ
    ュメモリに格納した後、ライト対 象のレコードを記憶装置上で見出すレコー ド見出手段と、 (g)ライト対象のレコードが見出されたときに、キャ
    ッシュメモリに格納した前記デー タを、見出したレコード上に書き込むデー タ書き込み手段と、 (h)見出されなかったときに、キャッシュメモリに格
    納した前記データの書き込みを中 止して、その旨をデータ処理装置に報告す る中止報告手段と、 を具備したことを特徴とする制御装置。 23、データ処理装置と、レコード番号を含む制御フィ
    ールドをもつレコードを記憶する複数の物理領域を有す
    る記憶装置の間に接続される、キャッシュメモリを有す
    る制御装置であって、 (a)データ処理装置から、ライト対象のレコードを指
    定するレコード指定情報と、ライ ト対象のレコード内のライトすべきフィー ルドを指定するフィールド指定情報と、 「ライト対象のレコードが記憶されている 物理領域に記憶されたレコードの先頭のレ コード番号が0番で、以下のレコード番号 が1づつの昇順であり、且つ、各レコード の制御フィールド以外のフィールドが1つ であり、且つ、レコード番号1以上のレコ ードの制御フィールド以外のフィールドの 長さが等しく、且つ、レコード番号0のレ コードの制御フィールド以外のフィールド の長さが所定の長さである」という構造上 の条件を満足する状態か、満足しない状態 かを表わす構造条件情報とを含むライト要 求を受け取るライト要求受取手段と、 (b)前記レコード指定情報により指定されたライト対
    象のレコードがキャッシュメモリ に格納されておらず且つ前記フィールド指 定情報により指定されたライトすべきフィ ールドが制御フィールドを含まないもので あり且つ前記構造上の条件が満足されてい るとき、前記指定されたフィールドに書き 込むべきデータをデータ処理装置から受け 取るデータ受取手段と、 (c)そのデータをキャッシュメモリに格納するデータ
    格納手段と、 (d)ライト処理が完了したことをデータ処理装置に報
    告するライト処理完了報告手段と、を具備したことを特
    徴とする制御装置。 24、データ処理装置と、レコード番号を含む制御フィ
    ールドをもつレコードを記憶する複数の物理領域を有す
    る記憶装置の間に接続される、キャッシュメモリを有す
    る制御装置であって、 (a)「ライト対象のレコードが記憶されている物理領
    域に記憶されたレコードの先頭の レコード番号が0番で、以下のレコード番 号が1づつの昇順であり、且つ、各レコー ドの制御フィールド以外のフィールドが1 つであり、且つ、レコード番号1以上のレ コードの制御フィールド以外のフィールド の長さが等しく、且つ、レコード番号0の レコードの制御フィールド以外のフィール ドの長さが所定の長さである」という構造 上の条件を満足する状態か、満足しない状 態かを表わす構造条件情報を各物理領域ご とに保持する構造条件情報保持手段と、 (b)データ処理装置から、ライト対象のレコードを指
    定するレコード指定情報と、ライ ト対象のレコード内のライトすべきフィー ルドを指定するフィールド指定情報とを含 むライト要求を受け取るライト要求受取手 段と、 (c)前記レコード指定情報により指定されたライト対
    象のレコードがキャッシュメモリ に格納されておらず且つ前記フィールド指 定、情報により指定されたライトすべきフィールドが制
    御フィールドを含まないもので あり且つ前記構造上の条件が満足されてい るとき、前記指定されたフィールドに書き 込むべきデータをデータ処理装置から受け 取るデータ受取手段と、 (d)そのデータをキャッシュメモリに格納するデータ
    格納手段と、 (e)ライト処理が完了したことをデータ処理装置に報
    告するライト処理完了報告手段と、を具備したことを特
    徴とする制御装置。 25、請求項23または請求項24の制御装置において
    、 (f)ライト対象のレコードの物理領域上の書き込み位
    置を計算する書き込み位置計算手 段と、 (g)見出したレコードの物理領域上の記憶位置と、前
    記計算した書き込み位置とを比較 する位置比較手段と、 (h)その比較結果が所定の条件を満たすときに、キャ
    ッシュメモリに格納した前記デー タを、見出したレコード上に書き込むデー タ書き込み手段と、 (i)その比較結果が所定の条件を満たさないときに、
    キャッシュメモリに格納した前記 データの書き込みを中止し、その旨をデー タ処理装置に報告する中止報告手段と、 をさらに具備したことを特徴とする制御装置。 26、請求項23または請求項24の制御装置において
    、 (f)ライト対象のレコードの物理領域上の書き込み位
    置を計算する書き込み位置計算手 段と、 (g)計算した書き込み位置近傍の所定の範囲内でライ
    ト対象のレコードを見出すレコー ド見出手段と、 (h)ライト対象のレコードが見出されたときに、キャ
    ッシュメモリに格納した前記デー タを、見出したレコード上に書き込むデー タ書き込み手段と、 (i)見出されなかったときに、キャッシュメモリに格
    納した前記データの書き込みを中 止して、その旨をデータ処理装置に報告す る中止報告手段と、 を具備したことを特徴とする制御装置。
JP1323396A 1989-12-13 1989-12-13 キャッシュ制御方法および制御装置 Expired - Lifetime JP2826857B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP1323396A JP2826857B2 (ja) 1989-12-13 1989-12-13 キャッシュ制御方法および制御装置
DE4039891A DE4039891A1 (de) 1989-12-13 1990-12-13 Verfahren und vorrichtung zur cachespeichersteuerung
US08/375,234 US5497472A (en) 1989-12-13 1995-01-19 Cache control method and apparatus for storing data in a cache memory and for indicating completion of a write request irrespective of whether a record to be accessed exists in an external storage unit
US08/530,711 US5694576A (en) 1989-12-13 1995-09-19 Cache control by adding record identification information to partial write request
US09/217,371 US6085286A (en) 1989-12-13 1998-12-21 Cache control method and apparatus
US10/632,840 US7082496B2 (en) 1989-12-13 2003-08-04 Cache control method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1323396A JP2826857B2 (ja) 1989-12-13 1989-12-13 キャッシュ制御方法および制御装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP10160857A Division JP2913477B2 (ja) 1998-06-09 1998-06-09 制御装置

Publications (2)

Publication Number Publication Date
JPH03184144A true JPH03184144A (ja) 1991-08-12
JP2826857B2 JP2826857B2 (ja) 1998-11-18

Family

ID=18154260

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1323396A Expired - Lifetime JP2826857B2 (ja) 1989-12-13 1989-12-13 キャッシュ制御方法および制御装置

Country Status (3)

Country Link
US (4) US5497472A (ja)
JP (1) JP2826857B2 (ja)
DE (1) DE4039891A1 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2826857B2 (ja) * 1989-12-13 1998-11-18 株式会社日立製作所 キャッシュ制御方法および制御装置
JP3260999B2 (ja) * 1995-03-03 2002-02-25 富士通株式会社 ディスク制御装置の制御方法
JP3583829B2 (ja) * 1995-04-13 2004-11-04 株式会社日立製作所 外部記憶サブシステムの制御方法および制御装置
US6038676A (en) * 1997-09-25 2000-03-14 International Business Machines Corporation Method and circuit for data integrity verification during DASD data transfer
US6014709A (en) * 1997-11-05 2000-01-11 Unisys Corporation Message flow protocol for avoiding deadlocks
US6092156A (en) * 1997-11-05 2000-07-18 Unisys Corporation System and method for avoiding deadlocks utilizing split lock operations to provide exclusive access to memory during non-atomic operations
US6049845A (en) * 1997-11-05 2000-04-11 Unisys Corporation System and method for providing speculative arbitration for transferring data
US6052760A (en) * 1997-11-05 2000-04-18 Unisys Corporation Computer system including plural caches and utilizing access history or patterns to determine data ownership for efficient handling of software locks
US6314501B1 (en) 1998-07-23 2001-11-06 Unisys Corporation Computer system and method for operating multiple operating systems in different partitions of the computer system and for allowing the different partitions to communicate with one another through shared memory
US6687818B1 (en) 1999-07-28 2004-02-03 Unisys Corporation Method and apparatus for initiating execution of an application processor in a clustered multiprocessor system
US6665761B1 (en) 1999-07-28 2003-12-16 Unisys Corporation Method and apparatus for routing interrupts in a clustered multiprocessor system
US6532476B1 (en) * 1999-11-13 2003-03-11 Precision Solutions, Inc. Software based methodology for the storage and retrieval of diverse information
US7827353B2 (en) * 2003-07-15 2010-11-02 International Business Machines Corporation Self healing memory
US7299334B2 (en) * 2003-07-15 2007-11-20 Xiv Ltd. Storage system configurations
US20050015546A1 (en) * 2003-07-15 2005-01-20 Ofir Zohar Data storage system
US7293156B2 (en) * 2003-07-15 2007-11-06 Xiv Ltd. Distributed independent cache memory
US7724599B2 (en) * 2003-12-03 2010-05-25 Hitachi, Ltd. Remote copy system
JP4408692B2 (ja) * 2003-12-19 2010-02-03 富士通株式会社 通信装置管理プログラム
JP2005284497A (ja) * 2004-03-29 2005-10-13 Hitachi Ltd 中継装置、管理サーバ、中継方法および認証方法
US8458176B2 (en) * 2005-11-09 2013-06-04 Ca, Inc. Method and system for providing a directory overlay
US8321486B2 (en) * 2005-11-09 2012-11-27 Ca, Inc. Method and system for configuring a supplemental directory
US8326899B2 (en) 2005-11-09 2012-12-04 Ca, Inc. Method and system for improving write performance in a supplemental directory
US20070112812A1 (en) * 2005-11-09 2007-05-17 Harvey Richard H System and method for writing data to a directory
US8473496B2 (en) * 2008-01-31 2013-06-25 SAP France S.A. Utilizing density metadata to process multi-dimensional data
WO2013038465A1 (en) 2011-09-16 2013-03-21 Hitachi, Ltd. Storage system and method of controlling storage system
US9110809B2 (en) * 2013-07-03 2015-08-18 Nvidia Corporation Reducing memory traffic in DRAM ECC mode
US10048878B2 (en) * 2015-06-08 2018-08-14 Samsung Electronics Co., Ltd. Nonvolatile memory module and storage system having the same
KR20230035811A (ko) * 2021-09-06 2023-03-14 에스케이하이닉스 주식회사 데이터 처리 시스템 내 공유된 메모리 공간을 제어하기 위한 장치 및 방법
CN116132534B (zh) * 2022-07-01 2024-03-08 马上消费金融股份有限公司 业务请求的存储方法、装置、设备及存储介质

Family Cites Families (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3240921A (en) * 1959-07-06 1966-03-15 Svenska Dataregister Ab Data handling system
US3354466A (en) * 1960-02-12 1967-11-21 Gen Electric Apparatus in data processing system for coordinating memory communication among processors and peripheral devices
US3239819A (en) * 1960-11-07 1966-03-08 Gen Electric Data processing system including priority feature for plural peripheral devices
BE622921A (ja) * 1961-10-06
NL293797A (ja) * 1962-06-13
US3328566A (en) * 1964-07-27 1967-06-27 Gen Precision Inc Input-output system for a digital computer
US3702462A (en) * 1967-10-26 1972-11-07 Delaware Sds Inc Computer input-output system
GB1354827A (en) * 1971-08-25 1974-06-05 Ibm Data processing systems
DE2507914C3 (de) * 1975-02-24 1980-02-28 Hans 8024 Deisenhofen Sauer Elektromagnetisches Relais
US4320478A (en) * 1975-07-02 1982-03-16 Motorola, Inc. Digital watch
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
US4075686A (en) * 1976-12-30 1978-02-21 Honeywell Information Systems Inc. Input/output cache system including bypass capability
US4084234A (en) * 1977-02-17 1978-04-11 Honeywell Information Systems Inc. Cache write capacity
US4245300A (en) * 1978-06-05 1981-01-13 Computer Automation Integrated and distributed input/output system for a computer
US4399503A (en) * 1978-06-30 1983-08-16 Bunker Ramo Corporation Dynamic disk buffer control unit
US4268907A (en) * 1979-01-22 1981-05-19 Honeywell Information Systems Inc. Cache unit bypass apparatus
JPS55157053A (en) * 1979-05-25 1980-12-06 Nec Corp Disc cash write-in control system
US5371855A (en) * 1979-06-04 1994-12-06 Unisys Corporation Disc cache subsystem having plural-level cache memories
US5241666A (en) * 1979-06-04 1993-08-31 Unisys Corporation Variable rate improvement of disc cache subsystem
US4394732A (en) * 1980-11-14 1983-07-19 Sperry Corporation Cache/disk subsystem trickle
US4394733A (en) * 1980-11-14 1983-07-19 Sperry Corporation Cache/disk subsystem
US4425615A (en) * 1980-11-14 1984-01-10 Sperry Corporation Hierarchical memory system having cache/disk subsystem with command queues for plural disks
US4598357A (en) * 1980-11-14 1986-07-01 Sperry Corporation Cache/disk subsystem with file number for recovery of cached data
US4423479A (en) * 1980-11-14 1983-12-27 Sperry Corporation Cache/disk subsystem with acquire write command
US4490782A (en) * 1981-06-05 1984-12-25 International Business Machines Corporation I/O Storage controller cache system with prefetch determined by requested record's position within data block
US4500954A (en) * 1981-10-15 1985-02-19 International Business Machines Corporation Cache bypass system with post-block transfer directory examinations for updating cache and/or maintaining bypass
US4468730A (en) * 1981-11-27 1984-08-28 Storage Technology Corporation Detection of sequential data stream for improvements in cache data storage
US5045398A (en) * 1982-06-22 1991-09-03 Harry Levin Silicon carbide product
JPS59100964A (ja) * 1982-12-01 1984-06-11 Hitachi Ltd ディスク制御システム及びその並列データ転送方法
JPS59135563A (ja) * 1983-01-24 1984-08-03 Hitachi Ltd デイスク・キヤツシユ装置を有する計算機システム
JPS59153251A (ja) * 1983-02-18 1984-09-01 Toshiba Corp デイスクキヤツシユシステム
US4603380A (en) * 1983-07-01 1986-07-29 International Business Machines Corporation DASD cache block staging
US4669043A (en) * 1984-02-17 1987-05-26 Signetics Corporation Memory access controller
US5091350A (en) * 1984-03-26 1992-02-25 Hoechst Aktiengesellschaft Process for hydroformylation with rhodium catalysts and the separation of rhodium therefrom
US4916605A (en) * 1984-03-27 1990-04-10 International Business Machines Corporation Fast write operations
US4646233A (en) * 1984-06-20 1987-02-24 Weatherford James R Physical cache unit for computer
US4685082A (en) * 1985-02-22 1987-08-04 Wang Laboratories, Inc. Simplified cache with automatic update
US4933835A (en) * 1985-02-22 1990-06-12 Intergraph Corporation Apparatus for maintaining consistency of a cache memory with a primary memory
US4884197A (en) * 1985-02-22 1989-11-28 Intergraph Corporation Method and apparatus for addressing a cache memory
EP0452989A3 (en) * 1985-05-29 1992-04-15 Kabushiki Kaisha Toshiba Magnetic disk controller incorporating a cache system adopting an lru system
JPS6221753A (ja) * 1985-07-17 1987-01-30 三井化学株式会社 成形体製造用組成物
US5091846A (en) * 1986-10-03 1992-02-25 Intergraph Corporation Cache providing caching/non-caching write-through and copyback modes for virtual addresses and including bus snooping to maintain coherency
JPS63132354A (ja) 1986-11-21 1988-06-04 Fujitsu Ltd キヤツシユ制御方式
US4933335A (en) * 1987-08-07 1990-06-12 Warner-Lambert Company Quinolones as antibacterial agents
US5091850A (en) * 1987-09-28 1992-02-25 Compaq Computer Corporation System for fast selection of non-cacheable address ranges using programmed array logic
JPH0673113B2 (ja) 1987-10-28 1994-09-14 日本電気株式会社 ディスクキャッシュ装置
US4900483A (en) * 1987-10-29 1990-02-13 Exxon Research And Engineering Company Method of producing isotropically reinforced net-shape microcomposites
US5025366A (en) * 1988-01-20 1991-06-18 Advanced Micro Devices, Inc. Organization of an integrated cache unit for flexible usage in cache system design
US5045998A (en) * 1988-05-26 1991-09-03 International Business Machines Corporation Method and apparatus for selectively posting write cycles using the 82385 cache controller
US4869043A (en) * 1988-08-02 1989-09-26 Fero Holdings Ltd. Shear connector
JP2776841B2 (ja) * 1988-09-28 1998-07-16 株式会社日立製作所 ディスク制御装置におけるディスクアクセス制御方法
US5163142A (en) * 1988-10-28 1992-11-10 Hewlett-Packard Company Efficient cache write technique through deferred tag modification
US5025365A (en) * 1988-11-14 1991-06-18 Unisys Corporation Hardware implemented cache coherency protocol with duplicated distributed directories for high-performance multiprocessors
US5097533A (en) * 1988-11-29 1992-03-17 International Business Machines Corporation System and method for interfacing computer application programs written in different languages to a software system
US5241566A (en) * 1988-12-13 1993-08-31 E-Systems, Inc. Full duplex FSK system
US5313613A (en) * 1988-12-30 1994-05-17 International Business Machines Corporation Execution of storage-immediate and storage-storage instructions within cache buffer storage
US5097532A (en) * 1989-03-03 1992-03-17 Compaq Computer Corporation Circuit for enabling a cache using a flush input to circumvent a late noncachable address input
US5347642A (en) * 1989-11-30 1994-09-13 Nec Electronics Inc. Cache memory management unit
JP2826857B2 (ja) * 1989-12-13 1998-11-18 株式会社日立製作所 キャッシュ制御方法および制御装置

Also Published As

Publication number Publication date
US20040030828A1 (en) 2004-02-12
US5694576A (en) 1997-12-02
DE4039891A1 (de) 1991-06-27
US7082496B2 (en) 2006-07-25
US6085286A (en) 2000-07-04
US5497472A (en) 1996-03-05
JP2826857B2 (ja) 1998-11-18

Similar Documents

Publication Publication Date Title
JPH03184144A (ja) キャッシュ制御方法および制御装置
US5937427A (en) Information recording apparatus and method capable of efficient erase, write and verify processes
JP2635023B2 (ja) フアイルデータ用ラベル書き込み方法
US7325112B2 (en) High-speed snapshot method
US5729718A (en) System for determining lead time latency as function of head switch, seek, and rotational latencies and utilizing embedded disk drive controller for command queue reordering
JP3183993B2 (ja) ディスク制御システム
US20050240728A1 (en) Read-write control of data storage disk units
JPH0467208B2 (ja)
US5327535A (en) Magnetic recording control apparatus
JPS58194143A (ja) デ−タ記録・再生方式
US7406547B2 (en) Sequential vectored buffer management
US6795264B2 (en) LBA tracking for system data management
US11003577B2 (en) Information processing apparatus, information processing method, and non-transitory computer-readable storage medium for storing program of access control with respect to semiconductor device memory
US5841598A (en) Information recording/reproducing apparatus and data processing method
JP2913477B2 (ja) 制御装置
US6170034B1 (en) Hardware assisted mask read/write
US7975103B2 (en) Method for optimized data record verification
JPH0773078A (ja) フアイル複写移行方式
JP2785451B2 (ja) 記憶制御方法および装置
JPS60191342A (ja) フアイル管理処理方式
JP3445848B2 (ja) 外部記憶装置のバッファ制御方法
JPH0235542A (ja) デイスクキヤツシユデータ転送制御方式
JPS607652A (ja) 情報記録方法
JPH08234923A (ja) 二重化記憶装置のオンラインコピー方法
JPH01255028A (ja) 外部記憶装置のアクセス方法

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070918

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20080918

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20080918

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20090918

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20090918

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20100918

Year of fee payment: 12

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100918

Year of fee payment: 12