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

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

Info

Publication number
JP2826857B2
JP2826857B2 JP1323396A JP32339689A JP2826857B2 JP 2826857 B2 JP2826857 B2 JP 2826857B2 JP 1323396 A JP1323396 A JP 1323396A JP 32339689 A JP32339689 A JP 32339689A JP 2826857 B2 JP2826857 B2 JP 2826857B2
Authority
JP
Japan
Prior art keywords
record
written
data
field
cache memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP1323396A
Other languages
English (en)
Other versions
JPH03184144A (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.)
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)

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、データ処理装置から記憶装置にデータを書
き出すライト処理をキャッシュメモリを用いて高速化す
るキャッシュ制御方法およびそのキャッシュ制御方法を
実施するのに好適な制御装置に関する。
[従来の技術] データ処理装置と,キャッシュメモリを有する制御装
置と,ディスク装置の如き記憶装置とを接続してなる情
報処理システムにおいて、データ処理装置がデータを記
憶装置に書き出す時の制御方法が、例えば特開昭55−15
7053号公報に3つ記載されている。
その記載されている第1の制御方法は、データをキャ
ッシュメモリに書き込み、その時点でデータ処理装置の
ライト処理を終了し、その後、適当な時機をみて、キャ
ッシュメモリのデータを記憶装置に書き込む方法であ
る。この書き込みは、ライトアフタ処理と呼ばれる。ま
た、キャッシュメモリに書き込まれているが、記憶装置
に対して未書き込みの状態にあるデータは、ライトアフ
タデータと呼ばれる。なお、特開昭55−157053号公報で
は、キャッシュメモリにデータをどのように書き込むか
等についての詳細な技術は開示されていない。
第2の制御方法は、データ処理装置から記憶装置にデ
ータを書き出す時には、データを必ず記憶装置まで書き
込んでから、データ処理装置のライト処理を終了する方
法である。
第3の制御方法は、データ処理装置から書き出すデー
タを永久ライトデータと一時ライトデータの2種類に分
け、データ処理装置が永久ライトデータを記憶装置に書
き出す時には、永久ライトデータを記憶装置まで書き込
んでからデータ処理装置のライト処理を終了し、データ
処理装置が一時ライトデータを記憶装置に書き出す時に
は、データをキャッシュメモリに書き込み、その時点で
データ処理装置のライト処理を終了し、記憶装置には書
き込みを全く行なわない方法である。
これらの制御方法のうち、第2の制御方法はキャッシ
ュメモリを利用せず直接に記憶装置にアクセスし、第3
の制御方法はキャッシュメモリを利用するが利用範囲が
極めて限定されている。したがって、実質的には第1の
制御方法だけが、キャッシュメモリを用いてライト処理
を高速化するキャッシュ制御方法である。
ところが、このキャッシュ制御方法は、その時点でキ
ャッシュメモリに格納されていないレコードに、データ
をデータ処理装置から書き出す場合には適用できないも
のである。
その理由は、データ処理装置からの書き出しの時点で
対応するレコードがキャッシュメモリに格納されていな
いと、データ処理装置側から指定されたレコード番号を
有するレコードが記憶装置に格納されていない可能性が
あるためである。また、データ処理装置側から指定され
たレコード番号を有するレコードが記憶装置に重複して
記憶されているときにも、いずれにデータを書き込むべ
きか判断できないので、ライトアフタ処理を正しく実行
できなくなる。
従って、ライト対象のレコードがデータ処理装置から
の書き出しの時点でキャッシュメモリに格納されていな
い場合は、上記キャッシュ制御方法を適用することは困
難であった。つまり、キャッシュメモリを用いたライト
処理の高速化ができなかった。
[発明が解決しようとする課題] 上記のように、従来のキャッシュ制御方法では、デー
タ処理装置から書き出すデータに対応するレコードがそ
の時点でキャッシュメモリに格納されている場合は、そ
のデータをキャッシュメモリに格納してからライト処理
を終了するので、高速化を図れるが、その時点でキャッ
シュメモリに格納されていない場合は、このような高速
化が困難であった。
そこで、本発明の第1の目的は、データ処理装置から
の書き出しの時点でライト対象のレコードがキャッシュ
メモリに格納されていない場合にも、キャッシュメモリ
にデータを格納した段階でライト処理を完了させ、ライ
ト処理を高速化できるようにしたキャッシュ制御方法を
提供することにある。
また、そのキャッシュ制御方法を実施するのに好適な
制御装置を提供することにある。
また、ライト処理をさらに高速化するためには、ライ
トアフタデータの記憶装置への書き込み処理を効率良く
実行することが考えられる。このためには、後述するよ
うに、ライトアフタデータの記憶装置上の物理的位置を
把握する必要がある。
したがって、本発明の第2の目的は、ライト対象のレ
コードがキャッシュメモリに格納されていない場合に
も、キャッシュメモリにデータを格納した段階で、ライ
トアフタデータの記憶装置上の物理的位置を計算できる
ようにしたキャッシュ制御方法を提供することにある。
また、そのキャッシュ制御方法を実施するのに好適な
制御装置を提供することにある。
[課題を解決するための手段] 本発明では、ライト対象となるレコードがキャッシュ
メモリ内に格納されていない場合にも、ライト処理を高
速化させるという第1の目的を実現するため、以下の2
つの制御方法を提供する。
第1の観点では、本発明は、データ処理装置と,キャ
ッシュメモリを有する制御装置と,レコード番号を含む
制御フィールドをもつレコードを記憶する記憶装置とを
接続してなる情報処理システムにおいて、制御装置が、
(a)データ処理装置から、ライト対象のレコードを指
定するレコード指定情報と、、ライト対象のレコード内
のライトすべきフィールドを指定するフィールド指定情
報と、ライト対象のレコードがキャッシュメモリに格納
されていない場合の処理モードを指定する処理モード指
定情報とを含むライト要求を受け取るステップと、
(b)前記レコード指定情報により指定されたライト対
象のレコードがキャッシュメモリに格納されておらず且
つ前記フィールド指定情報により指定されたライトすべ
きフィールドが制御フィールドを含まないものであると
き、前記処理モード指定情報で指定された処理モードに
したがって、前記指定されたフィールドに書き込むべき
データをデータ処理装置から受け取るステップと、
(c)そのデータをキャッシュメモリに格納するステッ
プと、(d)ライト処理が完了したことをデータ処理装
置に報告するステップと、を有することを特徴とするキ
ャッシュ制御方法を提供する。
第2の観点では、本発明は、データ処理装置と,キャ
ッシュメモリを有する制御装置と,レコード番号を含む
制御フィールドをもつレコードを記憶する複数の物理領
域を有する記憶装置とを接続してなる情報処理システム
において、制御装置が、「前記物理領域内のレコードの
レコード番号に重複がない」という構造上の条件を満足
する状態か,満足しない状態かを表わす構造条件情報を
各物理領域ごとに保持すると共に、(a)データ処理装
置から、ライト対象のレコードを指定するレコード指定
情報と、ライト対象のレコード内のライトすべきフィー
ルドを指定するフィールド指定情報とを含むライト要求
を受け取るステップと、(b)前記レコード指定情報に
より指定されたライト対象のレコードがキャッシュメモ
リに格納されておらず且つ前記フィールド指定情報によ
り指定されたライトすべきフィールドが制御フィールド
を含まないものであり且つ前記構造上の条件が満足され
ているとき、前記指定されたフィールドに書き込むべき
データをデータ処理装置から受け取るステップと、
(c)そのデータをキャッシュメモリに格納するステッ
プと、(d)ライト処理が完了したことをデータ処理装
置に報告するステップと、を有することを特徴とするキ
ャッシュ制御方法を提供する。
次に、ライト対象のレコードがキャッシュメモリ内に
格納されていない場合にも、ライトアフタデータの記憶
装置上の物理的位置を計算できるようにするという第2
の目的を実現する2つの制御方法を、第3〜第4の観点
として示す。
第3の観点では、本発明は、データ処理装置と,キャ
ッシュメモリを有する制御装置と,レコード番号を含む
制御フィールドをもつレコードを記憶する複数の物理領
域を有する記憶装置とを接続してなる情報処理システム
において、制御装置が、(a)データ処理装置から、ラ
イト対象のレコードを指定するレコード指定情報と、ラ
イト対象のレコード内のライトすべきフィールドを指定
するフィールド指定情報と、「ライト対象のレコードが
記憶されている物理領域に記憶されたレコードの先頭の
レコード番号が0番で,以下のレコード番号が1づつの
昇順であり,且つ,各レコードの制御フィールド以外の
フィールド1つであり,且つ,レコード番号1以上のレ
コードの制御フィールド以外のフィールドの長さが等し
く,且つ,レコード番号0のレコードの制御フィールド
以外のフィールドの長さが所定の長さである」という構
造上の条件を満足する状態か,満足しない状態かを表わ
す構造条件情報とを含むライト要求を受け取るステップ
と、(b)前記レコード指定情報により指定されたライ
ト対象のレコードがキャッシュメモリに格納されておら
ず且つ前記フィールド指定情報により指定されたライト
すべきフィールドが制御フィールドを含まないものであ
り且つ前記構造上の条件が満足されているとき、前記指
定されたフィールドに書き込むべきデータをデータ処理
装置から受け取るステップと、(c)そのデータをキャ
ッシュメモリに格納するステップと、(d)ライト処理
が完了したことをデータ処理装置に報告するステップ
と、を有することを特徴とするキャッシュ制御方法を提
供する。
第4の観点では、本発明は、データ処理装置と,キャ
ッシュメモリを有する制御装置と,レコード番号を含む
制御フィールドをもつレコードを記憶する複数の物理領
域を有する記憶装置とを接続してなる情報処理システム
において、制御装置が、「ライト対象のレコードが記憶
されている物理領域に記憶されたレコードの先頭のレコ
ード番号が0番で,以下のレコード番号1づつの昇順で
あり,且つ,各レコードの制御フィールド以外のフィー
ルドが1つであり,且つ,レコード番号1以上のレコー
ドの制御フィールド以外のフィールドの長さが等しく,
且つ,レコード番号0のレコードの制御フィールド以外
のフィールドの長さが所定の長さである」という構造上
の条件を満足する状態か,満足しない状態かを表わす構
造条件情報を各物理領域ごとに保持すると共に、(a)
データ処理装置から、ライト対象のレコードを指定する
レコード指定情報と、ライト対象のレコード内のライト
すべきフィールドを指定するフィールド指定情報とを含
むライト要求を受け取るステップと、(b)前記レコー
ド指定情報により指定されたライト対象のレコードがキ
ャッシュメモリに格納されておらず且つ前記フィールド
指定情報により指定されたライトすべきフィールドが制
御フィールドを含まないものであり且つ前記構造上の条
件が満足されているとき、前記指定されたフィールドに
書き込むべきデータをデータ処理装置から受け取るステ
ップと、(c)そのデータをキャッシュメモリに格納す
るステップと、(d)ライト処理が完了したことをデー
タ処理装置に報告するステップと、を有することを特徴
とするキャッシュ制御方法を提供する。
さらに、本発明は、第1の観点〜第4の観点で示した
キャッシュ制御方法を実施する手段を具備した制御装置
を提供する。
[作用] 第1の観点および第3の観点による本発明のキャッシ
ュ制御方法では、データ処理装置から指示があった場合
には、データ処理装置が書き出そうとするデータがその
時点でキャッシュメモリに格納されていないときでも、
そのデータをキャッシュメモリに格納し、その段階でラ
イト処理の完了をデータ処理装置に報告する。記憶装置
におけるレコード番号の重複がないことをデータ処理装
置が確認してから指示を出すので、ライトアフタ処理で
のエラー発生を回避でき、且つ、ライト処理を高速化で
きる。データ処理装置は、記憶装置におけるレコード番
号に重複があるか否か等の情報を有しているから、その
情報に基づいて、前記確認を行ない得る。
第2の観点および第4の観点による本発明のキャッシ
ュ制御方法では、データ処理装置が書き出そうとするデ
ータがその時点でキャッシュメモリに格納されていない
ときは、記憶装置におけるレコード番号に重複がないこ
とを制御装置で確認してから、そのデータをキャッシュ
メモリに格納し、その段階でライト処理の完了を報告す
る。そこで、ライトアフタ処理でのエラー発生を回避で
き、且つ、ライト処理を高速化できる。前記確認のため
に、制御装置は、菊奥装置におけるレコード番号に重複
があるか否か等の情報を保持している。
なお、第3の観点および第4の観点による本発明のキ
ャッシュ制御方法では、記憶装置におけるレコード番号
が0番から1づつの昇順である等の構造上の情報に基づ
いて、記憶装置におけるライトアフタデータの書き込み
位置を計算する。これにより、効率を向上させることが
出来る。
本発明が提供する制御装置は、前記第1〜第4の観点
による本発明のキャッシュ制御方法を実施するものであ
るから、作用は前記内容と同様となる。
[実施例] 以下、本発明の実施例について説明する。なお、これ
により本発明が限定されるものではない。
本発明の実施例は、第1の実施例から第5の実施例ま
で5つあるが、まず、第2図〜第5図を参照して、共通
事項について説明する。
第2図は、本発明の対象となる情報処理システムのブ
ロック図である。
情報処理システムは、データ処理装置200と,制御装
置23と,1台以上のディスク装置24とを接続してなってい
る。
データ処理装置200は、PCU20と,主記憶21と,チャネ
ル22とを有している。
制御装置23は、1つ以上のデイレクタ25と,キャッシ
ュメモリ26と,ライトアフタ用メモリ27とディレクトリ
28とを有している。
ディレクタ25は、チャネル22とディスク装置24の間の
データ転送,チャネル22とキャッシュメモリ26の間のデ
ータ転送およびキャッシュメモリ26とディスク装置24の
間のデータ転送を行う。
キャッシュメモリ26には、ディスク装置24の中のアク
セス頻度の高いデータをロードしておく。このロード処
理は、ディレクタ25が実行する。ロードデータの具体的
な例は、CPU20からアクセス対象となったデータや,こ
のデータとディスク装置24の物理的記憶位置が近いデー
タ等である。
ディレクトリ28は、キャッシュメモリ26の管理情報を
格納する。
ディスク装置24は、第3図に示す如き構成である。円
板308は、データを記録する媒体であり、1つのディス
ク装置24には複数存在する。読み書きヘッド309は、円
板308にデータを読み書きする装置であり、円板308に対
応して存在する。
円板308が1回転する間に読み書きヘッド309がアクセ
ス可能な円状の記録単位を、トラック300と呼ぶ。トラ
ック300は、円板308上に複数存在する。あるトラック30
0が入出力対象となった時、読み書きヘッド309をこのト
ラック300を読み書きできる位置に移動する。この動作
は、シーク動作と呼ばれる。また、そのための要求を位
置付け要求と呼ぶ。
ディレクタインターフェイス311は、ディレクタ25と
のインターフェイスであり、ディレクタ25の25の指示に
したがって、読み書きヘッド309の制御を行う。
セクタ302は、円板308上のある基準位置303から、あ
る一定の角度ごとに設けた領域である。前記基準位置30
3をホームインデクス303と呼ぶ。ホームインデクス303
上から開始されるセクタ302を基準セクタ(セクタ0)3
04と呼ぶ。各セクタ302の番号は、基準セクタ304から、
円板308の回転方向と共に逆向きに1づつ昇順に付けら
れている。
読み書きヘッド309は、その下にあるセクタ302が、ど
のセクタであるかを認識する。
ホームインデクス303の直後には、トラック300に関す
る制御情報を記録した領域が設けられる。これを、ホー
ムアドレス306と呼ぶ。
トラック300上には、1つ以上のレコード301が存在す
る。レコード301はディレクタ25との間のリード/ライ
ト単位である。
各レコード301の間には、ギャップ305がある。このレ
コード301とレコード301の間のギャップ305をギャップa
305と呼び、後述するギャップb605(第6図)と区別す
る。
各レコード301の長さは、それぞれ異なっていてもよ
い。ただし、ギャップa305の長さは等しい。
ホームアドレス306の直後のレコード301は、通常、一
般のデータを記憶するのではなく、CPU20側で用いる制
御データを記憶することが多い。従って、これを制御レ
コード310と呼ぶ。
第4図および第5図は、レコード301の構成例であ
る。第4図の例では、レコード301が、制御部600と,キ
ー部607と,データ部601の3つフィールド606から構成
されている。第5図の例では、レコード301が、制御部6
00と,データ部601の2つのフィールドで構成されてい
る。
制御部600とキー部607の間、キー部607とデータ部601
の間には、ギャップ605が存在する。このギャップ605を
ギャップb605と呼ぶ。各ギャップb605の長さはそれぞれ
等しい。
制御部600は、制御情報を記録するもので、レコード
番号602,キー部長608,データ部長603等が含まれる。レ
コード番号602は、レコード301の識別子である。キー部
長608,データ部長603は、キー部607,データ部601の長さ
である。第5図のようにキー部607がない場合には、キ
ー部長608は0をとる。制御部600の長さは、通常、固定
長である。
データ部601は、CPU20上で実行されるプログラム等が
処理する情報を記録する。
キー部607は、データ部601の内容をアクセスする権限
をチェックするためのキー情報を記録する。
通常、ライト処理には、制御部600を含む全てのフィ
ールド606を書き換えるフォーマットライト処理と,制
御部600以外のフィールドだけを書き換えるパーシャル
ライト処理とがある。前者は、ファイル全体の初期作成
などに実行されるだけなので、実行頻度はそれほど高く
なく、特に高速化の必要はない。後者は、実行頻度が高
いため、高速化の必要があり、これが本発明の対象とな
る。
データ部長603,キー部長608は、制御部600内に存在す
る。従って、パーシャルライト処理では、データ部601,
キー部607の内容を書き換えるだけで、長さは不変であ
る。
次に、第1図,第6図〜第18図を参照して、第1の実
施例を説明する。この第1の実施例は、ライト対象のレ
コード301がキャッシュメモリ26に格納されていない場
合、CPU20からの特定の処理モードの指定を受けたとき
のみ、ディレクタ25が、キャッシュメモリ26にデータを
書き込んだ段階で、ライト処理を完了させるものであ
る。
第1図は、本実施例における情報処理システムを詳細
に表した図である。
ディレクタ25は、パーシャルライト処理を実行する際
に、チャネル22を経由して、以下のようなCPU20からの
指定情報a100を受け取る。
指定情報1……ライト対象のレコード301が記憶されて
いるディスク装置24およびトラック300を指定する。
指定情報2……ライト対象のレコード301のサーチを開
始するトラック300上のセクタ302を指定する。
指定情報3……ライト対象のレコード301のレコード番
号602を指定する。
指定情報4……ライトすべきフィールド606を指定す
る。
指定情報5……ライト対象のレコード301がキャッシュ
メモリ26に格納されていない場合の処理モードを指定す
る。CPU20が、前記指定情報1のトラック300にレコード
番号602の重複がないと確認したとき、キャッシュメモ
リ26にデータを書き込んだ段階でライト処理を完了させ
るという処理モードを指定する。
従って、本発明に係るキャッシュ書き込み動作120の
実行条件a110は、ライト対象のレコード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で指定されたディスク装置24のトラック300
上に、指定情報3で指定されたレコード番号602のレコ
ード301を見つける。
見つかった場合、ディレクタ25は、そのレコード301
に、ライトアフタ動作b140で、ライトアフタデータ29の
書き込みを実行する。
見つからなかった場合、ライトアフタ動作c150、書き
込みを中止する。そして、後述するように、CPU20にそ
の旨の報告を行なう。
第6図は、本実施例におけるキャッシュメモリ26の構
成である。
キャッシュメモリ26は、多数のセグメント400により
構成される。
1つのセグメント400には、1つのトラック300上の全
レコード301を格納しうる。どのセグメント400にどのト
ラック300を割り当てるかについては、従来公知の方法
を用いることが出来る。トラック300が割り当てられて
いない空きセグメント400も存在しうる。
第7図は、セグメント400内のライトアフタレコード1
60の格納形式を表している。
パーシャルライト処理では、制御部600は書き換え対
象とならないため、ディレクタ25は、チャネル22から制
御部600を受け取らない。このため、ライト対象のレコ
ード301がキャッシュメモリ26に格納されていない場合
に、データを書き込んだ時には、ディレクタ25は、キャ
ッシュメモリ26に擬似制御部1000を作成する。
擬似制御部1000内には、チャネル22より指定されたレ
コード番号602を格納する。また、チャネル22により指
定されたフィールド606に書き込むべきデータの長さを
格納する。すなわち、キー部607とデータ部601がライト
対象となった場合、それぞれのフィールド606に対して
受け取ったデータの長さをキー部長608とデータ部長603
とに設定する。データ部601だけがライト対象となった
場合、キー部長608には0を設定する。
ディレクタ25は、ライトアフタレコード160をディス
ク装置24のレコード301に書き込む時、その実際のレコ
ード301の制御部600内のレコード番号,フィールド長と
ライトアフタレコード160の擬似制御部1000のレコード
番号,フィールド長とを比較し、CPU20が指定したライ
ト処理の正当性を確認する。
なお、ライト対象のレコード301からキャッシュメモ
リ26に格納されていた場合には、実際の制御部600がセ
グメント400に格納されているから、擬似制御部1000は
作成されない。
擬似制御部1000または制御部600の後には、キー部ポ
インタ1001,データ部ポインタ1002,擬似制御部フラグ10
03を格納する。
キー部ポインタ1001,データ部ポインタ1002は、それ
ぞれキャッシュメモリ26に格納されているキー部607,デ
ータ部601へのポインタである。これらを設ける理由
は、1つのライトアフタレコード160を格納する領域が
連続にならない場合があるためである。例えば、ディレ
クタ25が、キャッシュメモリ26に格納されていないレコ
ード301に対してデータ部601のみを書き換えるパーシャ
ルライト要求を受け付けた時には、キー部607の長さが
分からないため、キー部607を格納する領域を確保でき
ない。このため、キー部長608は0とする。この後、キ
ー部607とデータ部601のを書き換えるパーシャルライト
要求を受け付けた時、キー部607の長さが分かるため、
キー部607の領域を、この段階で確保する。そうする
と、第7図に示すように、離れた領域にキー部607が存
在することにより、1つのライトアフタレコード160を
格納する領域が連続にならないことになる。
擬似制御部フラグ1003は、ディレクタ25が擬似制御部
1000を作成した時にオンとする。また、ディレクタ25が
ディスク装置24からレコード301をロードする際、オフ
とする。
第8図は、本実施例においてディレクトリ28の中に設
ける情報を示したものである。セグメント管理情報500,
トラック票501および空きセグメントキュー先頭ポイン
タ502がある。セグメント管理情報500は各セグメント40
0に対応して存在する。トラック票501および空きセグメ
ントキューポインタ502は各々1つだけ存在する。
第9図は、本実施例において前記セグメント管理情報
500の中に設ける情報を示したものである。以下、各情
報とその内容を示す。
空きセグメントポインタ800……他の空きセグメント400
に対応したセグメント管理情報500へのポインタであ
る。
パーシャルライトフラグ801……当セグメント管理情報5
00に対応したセグメント400内に、パーシャルライト要
求により書き込んだライトアフタデータ29を格納してい
ることを示す。
キャッシュドトラック番号805……当セグメント管理情
報500に対応するセグメント400内に格納したトラック30
0のトラック番号を表す。
レコードポインタ806……当セグメント管理情報500に対
応するセグメント400内に格納したレコード301のポイン
タを表す。例えば、n番目のレコードポインタ806は、
レコード番号602が(n−1)番のレコード301へのポイ
ンタを表す。レコード番号602が(m−1)番であるレ
コード301がキャッシュメモリ26に格納されていない時
には、m番目のレコードポインタ806はnull値をとる。
(ここで、先頭のレコードポインタ806を1番目のレコ
ードポインタと考える。)レコードポインタ806の数
は、1つのトラック300上に定義可能なレコード番号602
の数だけ用意される。
更新レコードポインタ807……当セグメント管理情報500
に対応するセグメント400内に格納したライトアフタレ
コード160へのポインタを表す。ここでは、ディレクタ2
5が、キャッシュメモリ26に予め格納されていたレコー
ド301に対してデータを格納した場合にも、ライトアフ
タレコード160として管理する。前記レコードポインタ8
06と同様、n、番目の更新レコードポインタ807は、レ
コード番号602が(n−1)番のレコード301へのポイン
タを表す。レコード番号602が(m−1)番であるレコ
ード301がキャッシュメモリ26に格納されていない時に
は、m番目の更新レコードポインタ807はnull値をと
る。更新レコードポインタ807の数も、1つのトラック3
00上に定義可能なレコード番号602の数だけ用意されて
いる。
更新フィールド情報808……レコード番号602がn番のラ
イトアフタレコード160の中で、更新対象となったフィ
ールド606を表す。更新フィールド情報808の数も、1つ
のトラック300上に定義可能なレコード番号602の数だけ
用意されている。
セグメント内空き領域アドレス809……当セグメント管
理情報500に対応するセグメント400の中でレコード301
を格納していない空き領域の先頭アドレスを表す。
セグメントポインタ810……当セグメント管理情報に対
応するセグメント400へのポインタである。
第10図は、前記トラック票501の構成である。トラッ
ク票501は、全てのディスク装置24のトラック300に関し
て、そのトラック300に対してセグメント400が割り当て
られているか、いないかを表す情報である。割り当てら
れている場合には、割り当てられているセグメント400
に対応したセグメント管理情報500へのポインタを表
す。割り当てられていない場合には、null値をとる。ト
ラック票501上では、同じディスク装置24上のトラック3
00に関する情報は連続して格納される。格納順は、トラ
ック番号順である。
第11図に示すように、空きセグメント400に対応した
セグメント管理情報500は、空きセグメントキュー先頭
ポインタ502から順に、各セグメント管理情報500の空き
セグメントポインタ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の構成を示
すものである。以下、各部について述べる。
キャッシュパーシャルライト部10……パーシャルライト
要求を受け付けた時、チャネル22から受け取ったデータ
をキャッシュメモリ26に転送する。
ライトアフタスケジュール部11……ライトアフタ処理を
実行する対象とするディスク装置24とトラック300とを
決定する。
ライトアフタ転送部12……ライトアフタスケジュール部
11によってスケジュールされたライトアフタ処理を実行
する。
ライトアフタエラー判定部13……CPU20からの入出力要
求を受け付けた時、要求対象ディスク装置24のライトア
フタ処理においてエラーが発生していないかをチェック
する。エラーが発生している場合、この旨を、チャネル
22経由でCPU020に伝える。
次に、各部の作動について説明する。
第15図は、前記キャッシュパーシャルライト部10の処
理フロー図である。この処理フローには、ライト対象の
レコード301が既にキャッシュメモリ26に格納されてい
た場合の処理も含まれている。
ライト対象のレコード301がキャッシュメモリ26にな
い場合にもデータをキャッシュメモリ26に格納した段階
でライト処理を完了させるという処理モードを指定する
指定情報5を含むパーシャルライト要求を、ディレクタ
25が、CPU20からチャネル22経由で受け取った時、この
処理フローを実行する。
ステップ1300では、ライト対象のトラック300に対し
て既にセグメント400を割り当ててあるか否かをチェッ
クする。このチェックは、当該トラック300に対応する
トラック票501により識別する。まだ割り当てていなけ
れば、ステップ1301に移行する。既に割り当て済みであ
れば、ステップ1305にジャンプする。
ステップ1301では、当該トラック300に対しセグメン
ト400およびセグメント管理情報500を割り当てる。割り
当て方法は、従来公知の方法を用いることが出来る。
ステップ1302では、割り当てたセグメント管理情報50
0の初期化を行う。例えば、キャッシュドトラック番号8
05に、ライト対象となるトラック300のトラック番号を
設定する等の処理である。
ステップ1303では、指定情報3により指定されたレコ
ード番号により、擬似制御部1000を作成する。
ステップ1304では、チャネル22からデータを受け取
り、そのデータを指定情報4により指定されたフィール
ド606に格納する。そして、ステップ1311に移行する。
ステップ1311では、セグメント管理情報500の必要な
部分の更新を行い、さらに、ライト処理の完了をチャネ
ル22経由でCPU20に報告して、処理を終了させる。
一方、ステップ1305では、ライト対象のレコード301
がキャッシュリ26に実際に格納されているかをチェック
する。このチェックは、セグメント管理情報400を見
て、ライト対象のレコード番号602に対応したレコード
ポインタ806がnull値になっているか否かにより行う。
ライト対象のレコード301がキャッシュメモリ26に実際
には格納されていない場合、前記ステップ1303へジャン
プして、ライト対象のトラック300にセグメント400を割
り当てていなかった場合と同様の処理に入る。ライト対
象のレコード301がキャッシュメモリ26に実際に格納さ
れていた場合は、ステップ1306に移行する。
ステップ1306では、CPU20から指定情報4により指定
されたフィールド606が全てキャッシュメモリ26に格納
されているかをチェックする。格納されている場合は、
ステップ1308へジャンプする。格納されていない場合
は、ステップ1307に移行する。
ステップ1307では、ライト対象のレコード301に対応
する擬似制御部フラグ1003がオンかをチェックする。オ
フの場合、ライト対象のレコード301はトラック300から
キャッシュメモリ26にロードしたレコード301というこ
とになるので、前記ステップ1306で全てのフィールド60
6が格納されていないというチェック結果と矛盾する。
したがって、エラー報告を行うため、ステップ1313へジ
ャンプする。擬似制御部フラグ1003がオンの場合は、ス
テップ1312に移行する。
ステップ1312では、キャッシュメモリ26に既に格納し
ていたフィールド606および新たにキャッシュメモリ26
に格納するフィールド606に、チャネル22から受け取っ
たデータを格納する。そして、擬似制御部1000内のキー
部長608あるいはデータ部長603に、新たにキャッシュメ
モリ26に格納したデータの長さを格納する。さらに、キ
ー部ポインタ1001あるいはデータ部ポインタ1002に必要
な値を設定する。この後、ステップ1309へジャンプす
る。
一方、ステップ1308では、キャッシュメモリ26に格納
しているフィールド606に、チャネル22から受け取った
データを格納する。
ステップ1309では、既にキャッシュメモリ26に格納し
ていたフィールド606に対して受け付けたデータの長さ
が、制御部606のキー部長608あるいはデータ部長603に
一致するかをチェックする。一致した場合、前記ステッ
プ1311へジャンプする。一致しない場合、ステップ1310
に移行する。
ステップ1310では、データの長さに矛盾があること
を、チャネル22経由で、CPU20に報告し、処理を終了す
る。
一方、ステップ1313では、ディレクタ25は、ライト対
象として指定されたフィールド606に矛盾があったこと
を、チャネル21経由でCPU20に報告し、処理を終了す
る。
第16図は、ライトアフタスケジュール部11の処理フロ
ー図である。この処理フローは、キャッシュメモリ26に
格納していたレコード301のライトアフタデータ29をデ
ィレクタ装置24へ書き込む場合も含んでいる。
ディレクタ25が空いた時間を利用して、この処理フロ
ー、すなわち、パーシャルライト要求によりキャッシュ
メモリ26に格納したデータをディスク装置24に書き込む
処理、を実行する。
実行対象とするディスク装置24は、ライトアフタ実行
中フラグ1200がオフで、現在CPU20からの入出力要求を
受け付けていないディスク装置24とする。また、ライト
アフタ処理の対象トラック300は、パーシャルライトフ
ラグ801がオンのセグメント管理情報500に対応するトラ
ック300とする。
まず、ステップ1400では、実行対象のディスク装置24
に対応したライトアフタ情報1100のライトアフタ実行中
フラグ1200をオンにして、さらに、ライトアフタセグメ
ントポインタ1202に、ライトアフタ対象とするトラック
300に対応したセグメント管理情報400へのポインタを設
定する。
ステップ1401で、実行対象のディスク装置24に対し
て、ライトアフタ対象とするトラック300への位置付け
要求を発光しし、処理を終了する。
第17図は、ライトアフタ転送部12の処理フロー図であ
る。この処理フローは、キャッシュメモリ26に格納して
いたレコード301のライトアフタデータ29をディスク装
置24へ書き込む処理も含んでいる。
ライトアフタスケジュール部11が発行したディスク装
置24への位置付け要求が完了した時、この処理フローが
実行される。
ステップ1500では、ライトアフタ対象とするトラック
300に対する全てのライトアフタレコード160の書き込み
が完了したかをチェックする。ライトアフタセグメント
ポインタ1202に対応したセグメント管理情報500内の更
新レコードポインタ807を最後まで捜してもnull値でな
い更新レコードポインタ807が見つからなかった場合は
完了しており、見つかった場合は完了していないと分か
る。完了していた場合、ステップ1509へジャンプする。
完了していなかった場合は、ステップ1501に移行する。
ステップ1501では、トラック300上のレコード301のサ
ーチを開始し、その開始したトラック300上の物理的位
置を記憶しておく。この記憶は、トラック300の1回転
を検出するためである。
ステップ1502では、トラック300上で見つけたレコー
ド301の制御部600を読み出す。
ステップ1503では、読み出した制御部600内のレコー
ド番号602と,更新レコードポインタ807にポイントされ
た擬似制御部1000あるいは制御部600内のレコード番号6
02とを比較する。一致すれば、アクセス中のレコード30
1がライトアフタ対象であり、ステップ1504に移行す
る。一致しない場合、ステップ1507へジャンプする。
ステップ1504では、更新レコードポインタ807に対応
する更新フィールド情報808によりライト対象とするフ
ィールド606を認識し、そのフィールド606の長さに関す
る情報を擬似制御部1000あるいは制御部600内のキー部
長608あるいはデータ部長603から取り出す。そして、そ
れら値と、前記ステップ1502でトラック300上から読み
出した制御部600内のキー部長608あるいはデータ部長60
3の値とを比較し、一致するかチェックする。一致しな
い場合、書き込みを中止して、ステップ1506へジャンプ
する。一致した場合は、ステップ1505に移行する。
ステップ1505では、ライト対象とするフィールド606
のライトアフタデータ29を取り出し、アクセス中のトラ
ック300上のレコード301に書き込む。そして、前記ステ
ップ1500へ戻る。
一方、ステップ1506では、ライトアフタ情報1100のフ
ィールド長不一致情報1204をセットして、ステップ1510
へジャンプする。
一方、ステップ1507では、ライトアフタ対象のレコー
ド301を、トラック300の1回転分サーチしたかをチェッ
クする。まだ、1回転していない場合、さらにサーチを
続けるため、前記ステップ1502へジャンプする。1回転
しておれば、ステップ1508に移行する。
ステップ1508では、レコード番号不一致情報1203をセ
ットして、ステップ1510へジャンプする。
一方、ステップ1509では、ライトアフタ処理の完了に
伴うセグメント管理情報400の中の必要な情報の更新を
行なう。そして、ステップ1510に移行する。
ステップ1510では、ライトアフタ実行中フラグ1200を
リセットし、処理を終了させる。
第18図は、ライトアフタエラー判定部13の処理フロー
図である。
チャネル22経由でCPU20からの入出力要求を受け付け
た時、この処理フローが実行される。
ステップ1600では、入出力対象となるディスク装置24
に対応したライトアフタ情報1100内のレコード番号不一
致情報1203あるいはフィールド長不一致情報1204がセッ
トされているかをチェックする。セットされていなけれ
ば、処理を終了する。セットされていれば、ステップ16
01に移行する。
ステップ1601では、CPU20に対して、発生したエラー
の報告を行い、処理を終了する。
次に、第19図〜第25図を参照して、第2の実施例を説
明する。この第2の実施例は、ライト対象のレコード30
1がキャッシュメモリ26に格納されていない場合、制御
装置23が保持する情報に基づいてディレクタ25が判断
し、キャッシュメモリ26にデータを書き込んだ段階で、
ライト処理を完了させるものである。
第19図は、本実施例における情報処理システムを詳細
に表したブロック図である。第1図に示した第1の実施
例との相違点は、ライトアフタ用メモリ27内に、各トラ
ック300がレコード番号の重複のあるものか重複のない
ものかを示すライトアフタトラック情報a1700を含む点
である。また、CPU20からの指定情報b3300には、ライト
対象とするレコード301がキャッシュメモリ26に格納さ
れていなかった次の処理モードを指定する前記指定情報
5が含まれていない点である。また、キャッシュ書き込
み動作120の実行条件b3310に、ライト対象のトラック30
0がレコード番号の重複のないものであるという条件が
含まれる点である。これら3点以外は、第1図と同様で
ある。そこで以下では、第1の実施例と異なる点を中心
に説明する。
第20図は、本実施例におけるライトアフタ用メモリ27
の構成である。第12図に示した第1の実施例におけるラ
イトアフタ用メモリ27の構成と異なる点は、ライトアフ
タトラック情報a1700を含む点である。このライトアフ
タトラック情報a1700は、各ディスク装置24に対応して
設ける。
第21図は、上記ライトアフタトラック情報a1700の構
成を示したものである。ライトアフタトラック情報a170
0は、ディスク装置24の各トラック300がレコード番号の
重複していない状態か,重複している状態か,いずれと
も不明の状態かのいずれかを表すトラック状態a1800を
保持している。各トラック300のトラック状態a1800は、
トラック番号順に格納される。
第22図は、トラック状態a1800の状態遷移を示してい
る。まず、トラック状態a1800の初期状態は、そのトラ
ック300がレコード番号の重複がないか重複があるか不
明の状態391になっている。この状態391で、パーシャル
ライト要求を受け付けると、ディレクタ25は、当該トラ
ック300がレコード番号の重複していない状態か重複し
ている状態かをチェックする。そして、レコード番号の
重複していない状態である場合、トラック状態a1800を
レコード番号の重複がない状態392にする。また、レコ
ード番号の重複している状態の場合、トラック状態a180
0をレコード番号の重複がある状態393にする。さらに、
フォーマットライト要求を受け付けると、ディレクタ25
は、トラック状態a1800を前記レコード番号の重複がな
いか重複があるか不明の状態391に戻す。これは、フォ
ーマットライト処理により、レコード301のレコード番
号602に変化が生じる可能性があるためである。
キャッシュ26,セグメント400の格納形式,ディレクト
リ28,セグメント管理情報500,トラック票501および空き
セグメントキュー先頭ポインタ502は、それぞれ、第6
図,第7図,第8図,第9図,第10図および第11図に示
した第1の実施例における構成と同様である。
第23図は、本実施例におけるディレクタ25の構成を示
すものである。第14図に示す第1の実施例におけるディ
レクタ25の構成と異なる点は、以下の2つの構成を含む
点である。
ライトアフタトラック情報管理部a14……トラック状態a
1800がレコード番号の重複がないか重複があるか不明の
状態391であるトラック300に対してパーシャルライト要
求を受け付けた時、当該トラック300がレコード番号の
重複していない状態か重複している状態かをチェック
し、その結果をトラック状態a1800に格納する動作を行
なうものである。
ライトアフタトラック情報管理部b15……あるトラック3
00に対するフォーマットライト要求を受け付けると、当
該トラック300のトラック状態a1800をレコード番号の重
複がないか重複があるか不明の状態391に戻す動作を行
なうものである。
キャッシュパーシャルライト部10,ライトアフタスケ
ジュール部11,ライトアフタ転送部12およびライトアフ
タエラー判定部13の処理フローは、それぞれ、第15図〜
第18図に示した処理フローと同様である。ただし、キャ
ッシュパーシャルライト部10のみの実行契機が異なる。
すなわち、本実施例では、CPU20から受け付けたパーシ
ャルライト要求の処理対象となるトラック300のトラッ
ク状態a1800が、レコード番号の重複がない状態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を、レコード番
号の重複がないか重複があるか不明の状態391にし、処
理を終了する。
次に、第26図〜第34図を参照して、第3の実施例を説
明する。この第3の実施例は、ライト対象のレコード30
1がキャッシュメモリ26に格納されていない場合、CPU20
からの特定の指定情報を受けたときのみ、キャッシュメ
モリ26にデータを書き込んだ段階で、ライト処理を完了
させるもので、且つ、ライト対象となったレコード301
のトラック300上の物理的書き込み位置を計算すること
により、ライトアフタ処理の効率化を図るものである。
物理的書き込み位置を計算することにより効率化を図
れるのは、次の理由による。
すなわち、第33図に示すように、読み書きヘッド309
の下をレコード301が通過する方向に物理的書き込み位
置が並ぶ順番で複数のライトアフタレコード160を書き
込めば、相対速度が上がるから、書き込みの効率を向上
できる。また、第34図に示すように、2つのライトアフ
タレコード160の物理的書き込み位置が所定距離以上離
れている時、一時的に、ライトアフタ処理を中断する
と、2つのライトアフタレコード160の間でのディレク
タ25やデータ伝送路の無駄な占有時間がなくなるため、
効率を向上できる。
第26図は、本実施例における情報処理システムを詳細
に表したブロック図である。第1図に示した第1の実施
例との相違点は、以下のとおりである。
まず、CPU20からの指定情報3400は、指定情報5がな
く、指定情報6および指定情報7がある点が異なる。
指定情報6は、ライトデータ量を指定するものであ
る。ライト対象フィールドが1つの場合、そのフィール
ド606の長さが、ライトデータ量となる。この指定情報
6をCPU20からディレクタ25が受け取ると、チャネル22
からデータを受け取る前に、ライト対象のレコード301
のトラック300上の物理的位置の計算を実行可能とな
る。ただし、必須の情報ではないため、図では()を付
けている。
指定情報7は、ライト対象となるトラック300が、以
下の構造上の条件A〜条件Cを満足していることを示す
情報である。
条件A……ライト対象のトラック300内の各レコード301
のレコード番号602が、制御レコード310のレコード番号
602から順に、0番から1づつの昇順である。
条件B……制御部600以外のフィールド606がデータ部60
1のみであり、制御レコード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上の全てのレコード301の各フィールド
606の長さが明らかになる。以上より、ライト対象のレ
コード301のトラック300上の物理的位置の計算が可能と
なる。
ライト対象のトラック300が上記条件A〜条件Cを満
足するかどうかは、CPU20内の制御機構が把握してい
る。このため、CPU20が指定情報7を生成することが出
来る。
次に、キャッシュ書き込み動作120の実行条件c3410
は、ライト対象となるトラック300が条件A〜条件Cを
満足していることが条件となる点が異なる。
次に、ライトアフタデータ29のディスク装置24への書
き込みは、以下の点が異なる。
すなわち、ディレクタ25は、ライトアフタ動作d3420
により、ディスク装置24内のトラック上の計算した書き
込み位置近傍の一定の範囲内に、指定情報3により受け
取ったレコード番号602を有するレコード301が存在する
か否かをチェックする。計算した書込み位置近傍の一定
範囲内をさがすのは、トラック300上にリード/ライト
が困難な不良位置が存在するため、レコード301の記憶
位置が若干ずれている可能性があるからである。
キャッシュメモリ26,ディレクトリ28,トラック票501,
空きセグメントキュー先頭ポインタ502およびライトア
フタ用メモリ27の構成は、それぞれ、第6図,第8図,
第10図,第11図および第12図に示した第1の実施例にお
ける構成と同様である。
セグメント400の構成は、擬似制御部1000,キー部ポイ
ンタ1001,データ部ポインタ1002,擬似制御部フラグ1003
は、第7図に示した第1の実施例の構成と同様である。
ただし、条件A〜条件Cを満足するトラック300内の
レコード301にはキー部607が存在しないため、擬似制御
部1000内のキー部長608は常に0で、キー部ポインタ100
1は常にnull値をとる。また、パーシャルライト対象と
なるフィールド606はデータ部601のみであるため、擬似
制御部1000,キー部ポインタ1001,データ部ポインタ100
2,擬似制御部フラグ1003およびデータ部601は、連続領
域に格納される。
第27図は、本実施例におけるセグメント管理情報500
の構成である。第9図に示した第1の実施例における構
成との相違は、以下の情報を含む点である。
書き込み位置計算可能ビット2200……本セグメント管理
情報に対応したトラック300が、条件A〜条件Cを満足
していることを表す。
固定データ部長2201……制御レコード310以外のレコー
ド301の固定長であるデータ部601の長さを表す。
第28図は、ライトアフタ情報1100の構成を表す。第13
図の第1の実施例における構成との相違は、以下の情報
を含む点である。
ライトアフタ開始レコード番号2300……本実施例では、
2つのライトアフタレコード160のトラック300上の位置
が一定値以上離れている場合、ライトアフタ処理の効率
化を目的として、一度、ディスク装置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では、ライト対象となるトラック300に
対してセグメント400を割り当ててあるかをチェックす
る。既にセグメント400が割り当て済みの場合、ステッ
プ2407にジャンプする。まだ割り当てていない場合は、
ステップ2403へ移行する。
ステップ2403,ステップ2404の処理は、セグメント40
0,セグメント管理情報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へジャ
ンプする。正当性のチェックが可能なら、ステップ2408
へ移行する。
ステップ2408では、正当性のチェックを行なう。正当
でないなら、CPU20にエラー報告をするため、ステップ2
412へジャンプする。正当なら、ステップ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では、ライトアフタ開始レコード番号23
00に、実行対象としたトラック300に対応したセグメン
ト管理情報500内に更新レコードポインタ807がnull値で
ない最も小さいレコード番号602を設定する。条件Aに
より、レコード番号602の小さい順にライトアフタレコ
ード160を選択すると、第33図に示すように、円板308の
回転方向と逆方向に書き込み処理を進めることができ、
効率を上げられる。
ステップ2502では、実行対象としたディスク装置24に
対して、ライトアフタ対象とするトラック300への位置
付け要求を発行する。
第31図は、ライトアフタ転送部12の処理フロー図であ
る。
この処理フローの実行契機は、第30図のステップ2502
で発行したディスク装置24への位置付け要求が完了した
時である。
ステップ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を見
つける。見つからない場合、そのトラック300について
の全てのライトアフタレコード160の書き込みが完了し
たことになるため、ステップ2613にジャンプする。見つ
かった場合、ステップ2608に移行する。
ステップ2608では、見つかった更新レコードポインタ
807に対応するレコード301までの間隔を計算し、一定値
以上あるか否かをチェックする。一定値未満の場合、見
つかった更新レコードポインタ308に対応するレコード3
01の書き込み処理を実行するため、前記ステップ2601へ
ジャンプする。一定値以上ある場合は、ステップ2609に
移行する。
ステップ2609では、ディスク装置24への位置付け要求
を発行し、一度、処理を中断する。この時、ライトアフ
タ開始レコード番号2300に、次のライトアフタ対象とす
るレコード301のレコード番号602を設定しておく。ま
た、セグメント管理情報500の必要な部分の更新も行っ
ておく。
一方、ステップ2610では、レコード物理位置不一致情
報2301をセットする。そして、ステップ2614へジャンプ
する。
一方、ステップ2611では、フィールド長不一致情報12
04をセットする。そして、ステップ2614へジャンプす
る。
ステップ2612〜ステップ2614は、第17図のステップ15
08〜ステップ1510の処理と同様であり、それぞれ、レコ
ード番号不一致情報1203のセット,セグメント管理情報
500の更新,ライトアフタ実行中のフラグ1200のリセッ
トを実行する。
第32図は、ライトアフタエラー判定部13の処理フロー
である。
この処理フローの実行契機は、第18図の第1の実施例
における処理フローの場合と同様であり、チャネル22経
由でCPU20からの入出力要求を受け付けた時である。
ステップ2700では、入出力対象となるディスク装置24
に対応したライトアフタ情報1100内のレコード番号不一
致情報1203,フィールド長不一致情報1204あるいはレコ
ード物理位置不一致情報2301がセットされているか否か
をチェックする。いずれもセットされていなければ、処
理を終了させる。いずれかがオンであれば、ステップ27
01に移行する。
ステップ2701では、CPU20に対して発生したエラーの
報告を行う。
次に、第35図〜第41図を参照して、第4の実施例を説
明する。この第4の実施例は、ライト対象のレコード30
1がキャッシュメモリ26に格納されていない場合、制御
装置23が保持している情報に基づいてディレクタ25が判
断し、キャッシュメモリ26にデータを書き込んだ段階
で、ライト処理を完了させるもので、且つ、ライト対象
となったレコード301のトラック300上の物理的書き込み
位置を計算することにより、ライトアフタ処理の効率化
を図るものである。
制御装置23が保持している情報は、各トラック300が
前記条件A〜条件Cを満足するか否かを表す情報であ
る。
第35図は、本実施例における情報処理システムを詳細
に表したブロック図である。第26図に示した第3の実施
例との相違点は、以下のとおりである。
まず、CPU20からの指定情報3500は、指定情報7がな
い点が異なる。
次に、ライトアフタ用メモリ27内に、ディスク装置24
上の各トラック300が、条件A〜条件Cを満足するか否
かを表す情報を有する点が異なる。
次に、実行条件c3410は、ディレクタ25がライトアフ
タ用メモリ27内の情報により条件を判別する点が異な
る。
キャッシュメモリ26,ディレクトリ28,セグメント管理
情報500,トラック票501および空きセグメントキュー先
頭ポインタ502は、それぞれ、第6図,第8図,第27
図,第10図および第11図に示した構成と同様である。
第36図は、本実施例におけるライトアフタ用メモリ27
の構成である。第20図に示した第3の実施例における構
成と異なる点は、ライトアフタトラック情報a1700の代
りに、ライトアフタトラック情報b2800を含む点であ
る。ライトアフタ情報b2800も各ディスク装置24に対応
して設ける。
第37図は、前記ライトアフタトラック情報b2800の構
成を示したものである。ライトアフタトラック情報b280
0は、以下の情報により構成される。それぞれの情報
は、ディスク装置24の各トラック300ごとに保持され
る。
トラック状態b2900……対応するトラック300が条件A〜
条件Cを満たしている状態か,満たしていない状態か,
いずれとも不明の状態かを表す。
固定長のデータ部情報2901……対応するトラック300が
条件A〜条件Cを満足するとき、全てのレコード301の
間で共通値となるデータ部601の長さを表す。
第38図は、トラック状態b2900の状態遷移を示すもの
である。トラック状態b2900の状態遷移の契機は、第22
図に示した第2の実施例におけるトラック情報a1800の
状態遷移の契機と同様である。すなわち、そのトラック
300が条件A〜条件Cを満たしているか否かが不明の状
態401でパーシャルライト要求を受け付けた時は、当該
トラック300が条件A〜条件Cを満足するか満足しない
かをチェックし、その結果をトラック状態b2900に格納
する。また、当該トラック300に対するフォーマットラ
イト要求を受け付けた時は、当該トラック300のトラッ
ク状態b2900が条件A〜条件Cを満足しているか否かが
不明の状態401に戻す。
トラック情報b2900,固定長データ部情報2901の格納順
序も、第22図に示した第2の実施例におけるトラック情
報a1800と同様であり、トラック番号順に格納される。
ディレクタ25の構成は、第23図の第2の実施例と同様
である。
ライトアフタスケジュール部11,ライトアフタ転送部1
2およびライトアフタエラー判定部13の処理フローは、
第30図〜第32図に示した第3の実施例の処理フローと同
様である。ただし、キャッシュパーシャルライト部10,
ライトアフタトラック情報管理部a14およびライトアフ
タトラック情報管理部b15の処理フローは異なるため、
以下、説明する。
第39図は、キャッシュパーシャルライト部10の処理フ
ロー図である。第15図の第1の実施例における処理フロ
ーと同様、ライト対象のレコード301が既にキャッシュ
メモリ26に格納されていた場合の処理も含んでいる。
この処理フローの実行契機は、ディレクタ25が、チャ
ネル22経由でCPU20から受け付けたパーシャルライト要
求の処理対象となるトラック300のトラック状態b2900
が、条件A〜条件Cを満足している状態402になってい
る時である。
ステップ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に対応するトラック状態b2900に格
納する。さらに、条件A〜条件Cを満足する場合には、
データ部601の長さを、固定長データ部情報2901に設定
し、処理を終了させる。
第41図は、ライトアフタトラック情報管理部b15の処
理フロー図である。第25図に示す第3の実施例における
処理フローとの差異は、第25図の処理フローがライトア
フタトラック情報a1700を取扱の対象とするのに対し、
第41図の処理フローはライトアフタトラック情報b280を
取り扱いの対象とする点である。
第41図の処理フローの実行契機は、第25図の実行契機
と同様である。
ステップ3200では、ライト対象となるトラック300に
対応したトラック状態b2900を、条件A〜条件Cを満た
しているか否か不明の状態401にし、処理を終了する。
さて、前記第3の実施例および上記第4の実施例で
は、キャッシュメモリ26に格納する際に、そのレコード
を格納する位置の連続性についての考慮を全く行なって
いない。
しかし、トラック300上で物理的に連続した位置にあ
るレコード301を、セグメント400でも連続して格納する
という制限をつけた方がキャッシュ制御が簡単になると
いうメリットがある。この制限を、連続格納制限と呼
ぶ。
たとえば、第42図に示すように、トラック300上で物
理的に連続してレコードm3600とレコードn3601とがある
ものとする。トラック300上で連続しているレコードm36
00とレコードn3601とを連続して読み出す処理は、CPU20
がしばしば要求する処理である。この場合に、セグメン
ト400にレコードm3600とレコードn3601とを連続して格
納しておけば、ディレクタ25は、セグメント400内の領
域を単純に連続して読み出し、CPU20に送ればよい。つ
まり、レコードn3601を転送する際、セグメント管理情
報500内のレコードポインタn3603を参照する処理を削減
することができる。
上記の連続格納制限を守るためには、ディレクタ25
が、キャッシュメモリ26にデータを書き込んだ段階でラ
イト処理を完了させることを行なう場合を、以下の連続
格納条件1〜連続格納条件3が満足された時に限定すれ
ばよい。
連続格納条件1……ライト対象のトラック300上のレコ
ード301が、全くキャッシュメモリ26に格納されていな
いこと。この場合、ディレクタ25は、ライト対象のレコ
ードk4300のみを、第43図(a)に示すように、新たに
確保したセグメント400内に格納することになるため、
連続格納制限を満足できる。
連続格納条件2……ライト対象のレコード301が、連続
格納制限を満足した状態でキャッシュメモリ26に格納さ
れているレコード301であること。この場合、ディレク
タ25は、第43図(b)に示すように、すでに格納されて
いるレコードk4300にデータを書き込むだけであるか
ら、連続格納制限を満足できる。
連続格納条件3……ライト対象のレコード番号602が、
キャッシュメモリ26に格納されているライト対象のトラ
ック300のレコード301のレコード番号602の中の最大値
より1つ大きい値であること。この場合、第43図(c)
に示すように、ディレクタ25は、レコードk4300を、そ
れまでセグメント400内に格納していたレコード301の後
に格納すれば、連続格納条件を満足させることができ
る。
連続格納制限は、ライト対象となるトラック300が条
件A〜条件Cを満足することをCPU20から通知してもら
う場合(第3の実施例)にも、制御装置23が各トラック
300ごとに条件A〜条件Cを満足するか否かに関する情
報をもつ場合(第4の実施例)にも、いずれにも適用可
能であり、その場合、セグメント管理情報500のみが、
この連続格納制限を設けない場合と異なる。
第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の構成例示図、
第21図は本発明の第2の実施例におけるライトアフタト
ラック情報a1700の構成例示図、第22図は本発明の第2
の実施例におけるトラック状態a1800の状態遷移図、第2
3図は本発明の第2の実施例におけるディレクタ25の構
成例示図、第24図(a)(b)は本発明の第2の実施例
におけるライトアフタトラック情報管理部a14の処理フ
ロー図、第25図は本発明の第2の実施例におけるライト
アフタ情報管理部b15の処理フロー図、第26図は本発明
の第3の実施例における制御装置23の基本構成を示すブ
ロック図、第27図は本発明の第3の実施例におけるセグ
メント管理情報500の構成例示図、第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の実施例
におけるトラック状態b2900の状態遷移図、第39図は本
発明の第4の実施例におけるキャッシュパーシャルライ
ト部10の処理フロー図、第40図(a)(b)は本発明の
第4の実施例におけるライトアフタトラック情報管理部
a14の処理フロー図、第41図は本発明の第4の実施例に
おけるライトアフタトラック情報管理部b15の処理フロ
ー図、第42図はトラック300上の連続した位置に記憶さ
れたレコード301とセグメント400における連続した領域
に格納したレコードの例示図、第43図(a)(b)
(c)は各々連続格納条件を説明するためのセグメント
400の構成例示図、第44図は本発明の第5の実施例にお
けるセグメント管理情報500の構成例示図である。 (符号の説明) 10……キャッシュパーシャルライト部 11……ライトアフタスケジュール部 12……ライトアフタ転送部 13……ライトアフタエラー判定部 14……ライトアフタトラック情報管理部a 15……ライトアフタトラック情報管理部b 23……制御装置、24……ディスク装置 25……ディレクタ、26……キャッシュメモリ 27……ライトアフタ用メモリ 28……ディレクトリ 100……CPUからの指定情報a 110……実行条件a 120……キャッシュ書き込み動作 130……ライトアフタ動作a 140……ライトアフタ動作b 150……ライトアフタ動作c 200……データ処理装置 300……トラック、301……レコード 310……制御レコード、400……セグメント 500……セグメント管理情報 501……トラック票、600……フィールド 601……データ部、602……レコード番号 603……データ部長、607……キー部 608……キー部長。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 桑原 善祥 神奈川県小田原市国府津2880番地 株式 会社日立製作所小田原工場内 (72)発明者 倉野 昭 神奈川県小田原市国府津2880番地 株式 会社日立製作所小田原工場内 (72)発明者 野沢 正史 神奈川県小田原市国府津2880番地 株式 会社日立製作所小田原工場内 (72)発明者 北嶋 弘行 神奈川県川崎市麻生区王禅寺1099番地 株式会社日立製作所システム開発研究所 内 (56)参考文献 特開 昭63−132354(JP,A) 特開 昭64−76346(JP,A) 特開 昭55−157053(JP,A) 特開 昭57−90771(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 12/08 G06F 3/06

Claims (24)

    (57)【特許請求の範囲】
  1. 【請求項1】データ処理装置と、キャッシュメモリを有
    する制御装置と,レコード番号を含む制御フィールドを
    もつレコードを記憶する記憶装置とを接続してなる情報
    処理システムにおいて、 制御装置が、 (a)データ処理装置から、ライト対象のレコードを指
    定するレコード指定情報と、ライト対象のレコード内の
    ライトすべきフィールドを指定するフィールド指定情報
    と、ライト対象のレコードがキャッシュメモリに格納さ
    れていない場合の処理モードを指定する処理モード指定
    情報とを含むライト要求を受け取るステップと、 (b)前記レコード指定情報により指定されたライト対
    象のレコードがキャッシュメモリに格納されておらず且
    つ前記フィールド指定情報により指定されたライトすべ
    きフィールドが制御フィールドを含まないものであると
    き、前記処理モード指定情報で指定された処理モードに
    したがって、前記指定されたフィールドに書き込むべき
    データをデータ処理装置から受け取るステップと、 (c)そのデータをキャッシュメモリに格納するステッ
    プと、 (d)ライト処理が完了したことをデータ処理装置に報
    告するステップと、 を有することを特徴とするキャッシュ制御方法。
  2. 【請求項2】データ処理装置と,キャッシュメモリを有
    する制御装置と,レコード番号を含む制御フィールドを
    もつレコードを記憶する複数の物理領域を有する記憶装
    置とを接続してなる情報処理システムにおいて、 制御装置が、 「前記物理領域内のレコードのレコード番号に重複がな
    い」という構造上の条件を満足する状態か,満足しない
    状態かを表わす構造条件情報を各物理領域ごとに保持す
    ると共に、 (a)データ処理装置から、ライト対象のレコードを指
    定するレコード指定情報と、ライト対象のレコード内の
    ライトすべきフィールドを指定するフィールド指定情報
    とを含むライト要求を受け取るステップと、 (b)前記レコード指定情報により指定されたライト対
    象のレコードがキャッシュメモリに格納されておらず且
    つ前記フィールド指定情報により指定されたライトすべ
    きフィールドが制御フィールドを含まないものであり且
    つ前記構造上の条件が満足されているとき、前記指定さ
    れたフィールドに書き込むべきデータをデータ処理装置
    から受け取るステップと、 (c)そのデータをキャッシュメモリに格納するステッ
    プと、 (d)ライト処理が完了したことをデータ処理装置に報
    告するステップと、 を有することを特徴とするキャッシュ制御方法。
  3. 【請求項3】請求項1または請求項2のキャッシュ制御
    方法において、 制御装置が、 データ処理装置からデータを受け取ってキャッシュメモ
    リに格納した後、 (e)ライト対象のレコードを記憶装置上で見出すステ
    ップと、 (f)ライト対象のレコード上が見出されたときは、キ
    ャッシュメモリに格納した前記データを、見出したレコ
    ード上に書き込み、見出されなかったときは、キャッシ
    ュメモリに格納した前記データの書き込みを中止して、
    その旨をデータ処理装置に報告するステップと、 を有することを特徴とするキャッシュ制御方法。
  4. 【請求項4】請求項3のキャッシュ制御方法において、 制御フィールドが、制御フィールド以外のフィールドの
    長さを表す情報を含み、 ステップ(c)で、データをキャッシュメモリに格納す
    ると共に、そのデータのデータ長を格納し、 ステップ(f)で、見出したレコードの制御フィールド
    以外のフィールドの長さを表す情報と,ステップ(c)
    で格納した前記データ長とを比較し、等しいときは、キ
    ャッシュメモリに格納した前記データを、見出したレコ
    ード上に書き込み、等しくないときは、キャッシュメモ
    リに格納した前記データの書き込みを中止し、その旨を
    データ処理装置に報告する、 ことを特徴とするキャッシュ制御方法。
  5. 【請求項5】請求項2のキャッシュ制御方法において、 制御装置が、 (i)フィールド指定情報により指定されたライトすべ
    きフィールドが制御フィールドを含まないものであり、
    且つ、ライト対象のレコードが記憶されている物理領域
    に対応する構造条件情報が、条件を満足するか満足しな
    いかが不明の状態を表わすものであるとき、その物理領
    域が条件を満足するか満足しないかをチェックして、そ
    の結果を新たな構造条件情報とするステップ。 を含むことを特徴とするキャッシュ制御方法、
  6. 【請求項6】請求項5のキャッシュ制御方法において、 制御装置が、 (j)フィールド指定情報により指定されたライトすべ
    きフィールドが制御フィールドを含むときは、ライト対
    象のレコードが記憶されている物理領域に対応した構造
    条件情報を、条件を満足するか満足しないかが不明の状
    態を表わすものにするステップ、 を含むことを特徴とするキャッシュ制御方法。
  7. 【請求項7】データ処理装置と,キャッシュメモリを有
    する制御装置と,レコード番号を含む制御フィールドを
    もつレコードを記憶する複数の物理領域を有する記憶装
    置とを接続してなる情報処理システムにおいて、 制御装置が、 (a)データ処理装置から、ライト対象のレコードを指
    定するレコード指定情報と、ライト対象のレコード内の
    ライトすべきフィールドを指定するフィールド指定情報
    と、「ライト対象のレコードが記憶されている物理領域
    に記憶されたレコードの先頭のレコード番号が0番で,
    以下のレコード番号が1づつの昇順であり,且つ,各レ
    コードの制御フィールド以外のフィールドが1つであ
    り,且つ,レコード番号1以上のレコードの制御フィー
    ルド以外のフィールドの長さが等しく,且つ,レコード
    番号0のレコードの制御フィールド以外のフィールドの
    長さが所定の長さである」という構造上の条件を満足す
    る状態か,満足しない状態かを表わす構造条件情報とを
    含むライト要求を受け取るステップと、 (b)前記レコード指定情報により指定されたライト対
    象のレコードがキャッシュメモリに格納されておらず且
    つ前記フィールド指定情報により指定されたライトすべ
    きフィールドが制御フィールドを含まないものであり且
    つ前記構造上の条件が満足されているとき、前記指定さ
    れたフィールドに書き込むべきデータをデータ処理装置
    から受け取るステップと、 (c)そのデータをキャッシュメモリに格納するステッ
    プと、 (d)ライト処理が完了したことをデータ処理装置に報
    告するステップと、 を有することを特徴とするキャッシュ制御方法。
  8. 【請求項8】データ処理装置と,キャッシュメモリを有
    する制御装置と,レコード番号を含む制御フィールドを
    もつレコードを記憶する複数の物理領域を有する記憶装
    置とを接続してなる情報処理システムにおいて、 制御装置が、「ライト対象のレコードが記憶されている
    物理領域に記憶されたレコード先頭のレコード番号が0
    番で,以下のレコード番号が1づつの昇順であり,且
    つ,各レコードの制御フィールド以外のフィールドが1
    つであり,且つ,レコード番号1以上のレコードの制御
    フィールド以外のフィールドの長さが等しく,且つ,レ
    コード番号0のレコードの制御フィールド以外のフィー
    ルドの長さが所定の長さである」という構造上の条件を
    満足する状態か,満足しない状態かを表わす構造条件情
    報を各物理領域ごとに保持すると共に、 (a)データ処理装置から、ライト対象のレコードを指
    定するレコード指定情報と、ライト対象のレコード内の
    ライトすべきフィールドを指定するフィールド指定情報
    とを含むライト要求を受け取るステップと、 (b)前記レコード指定情報により指定されたライト対
    象のレコードがキャッシュメモリに格納されておらず且
    つ前記フィールド指定情報により指定されたライトすべ
    きフィールドが制御フィールドを含まないものであり且
    つ前記構造上の条件が満足されているとき、前記指定さ
    れたフィールドに書き込むべきデータをデータ処理装置
    から受け取るステップと、 (c)そのデータをキャッシュメモリに格納するステッ
    プと、 (d)ライト処理が完了したことをデータ処理装置に報
    告するステップと、 を有することを特徴とするキャッシュ制御方法。
  9. 【請求項9】請求項7または請求項8のキャッシュ制御
    方法において、 制御装置が、 データ処理装置からデータを受け取ってキャッシュメモ
    リに格納した後、 (e)ライト対象のレコードを記憶装置上で見出すステ
    ップと、 (f)ライト対象のレコードが見出されたときは、キャ
    ッシュメモリに格納した前記データを、見出したレコー
    ド上に書き込み、見出されなかったときは、キャッシュ
    メモリに格納した前記データの書き込みを中止して、そ
    の旨をデータ処理装置に報告するステップと、 を有することを特徴とするキャッシュ制御方法。
  10. 【請求項10】請求項9のキャッシュ制御方法におい
    て、 制御フィールドが、制御フィールド以外のフィールドの
    長さを表す情報を含み、 ステップ(c)で、データをキャッシュメモリに格納す
    ると共に、そのデータのデータ長を格納し、 ステップ(f)で、見出したレコードの制御フィールド
    以外のフィールドの長さを表す情報と,ステップ(c)
    で格納した前記データ長とを比較し、等しいときは、キ
    ャッシュメモリに格納した前記データを、見出したレコ
    ード上に書き込み、等しくないときは、キャッシュメモ
    リに格納した前記データの書き込みを中止し、その旨を
    データ処理装置に報告する、 ことを特徴とするキャッシュ制御方法。
  11. 【請求項11】請求項9のキャッシュ制御方法におい
    て、 ステップ(f)より前に、ライト対象のレコードの物理
    領域上の書き込み位置を計算するステップを有すると共
    に、 ステップ(f)で、見出したレコードの物理領域上の記
    憶位置と,前記計算した書き込み位置とを比較し、その
    比較結果が所定の条件を満たしたときは、キャッシュメ
    モリに格納した前記データを、見出したレコード上に書
    き込み、満たさないときは、キャッシュメモリに格納し
    た前記データの書き込みを中止し、その旨をデータ処理
    装置に報告する、 ことを特徴とするキャッシュ制御方法。
  12. 【請求項12】請求項9のキャッシュ制御方法におい
    て、 ステップ(e)で、ライト対象のレコードが複数あって
    同じ物理領域内に記憶されているときは、レコード番号
    順にライト対象のレコードを見出し、 ステップ(f)で、見出した順で、キャッシュメモリに
    格納した前記データを、見出したレコードに書き込む、 ことを特徴とするキャッシュ制御方法。
  13. 【請求項13】請求項12のキャッシュ制御方法におい
    て、 ステップ(e)より前に、ライト対象の複数のレコード
    の物理領域上の書き込み位置を各々計算するステップを
    有すると共に、 ステップ(e)で、見出したレコードの位置から次に見
    出すレコードの前記計算した書き込み位置まで所定距離
    以上離れているときは、見出す処理を一時的に中断す
    る、 ことを特徴とするキャッシュ制御方法。
  14. 【請求項14】請求項7または請求項8のキャッシュ制
    御方法において、 制御装置が、 データ処理装置からデータを受け取ってキャッシュメモ
    リに格納した後、 (e)ライト対象のレコードの物理領域上の書き込み位
    置を計算するステップと、 (f)計算した書き込み位置近傍の所定の範囲内でライ
    ト対象のレコードを見出すステップと、 (g)ライト対象のレコードが見出されたときは、キャ
    ッシュメモリに格納した前記データを、見出したレコー
    ド上に書き込み、見出されなかったときは、キャッシュ
    メモリに格納した前記データの書き込みを中止して、そ
    の旨をデータ処理装置に報告するステップと、 を有することを特徴とするキャッシュ制御方法。
  15. 【請求項15】請求項7または請求項8のキャッシュ方
    法において、 ステップ(b)の代わりに、 (m)フィールド指定情報により指定されたライトすべ
    きフィールドが制御フィールドを含まないものであり,
    且つ,ライト対象のレコードが記憶されている物理領域
    内に記憶されているレコードがキャッシュメモリに全く
    格納されていないか又は一部が格納されているがその格
    納されているレコードのレコード番号の最大値よりもラ
    イト対象のレコードのレコード番号が1だけ大きい値で
    あり,且つ,ステップ(a)における構造上の条件が満
    足されているとき、前記指定されたフィールドに書き込
    むべきデータをデータ処理装置から受け取るステップ、 を有することを特徴とするキャッシュ制御方法。
  16. 【請求項16】請求項8のキャッシュ制御方法におい
    て、 制御装置が、 (i)フィールド指定情報により指定されたライトすべ
    きフィールドが制御フィールドを含まないものであり,
    且つ,ライト対象のレコードが記憶されている物理領域
    に対応する構造条件情報が、条件を満足するか満足しな
    いかが不明の状態を表わすものであるとき、その物理領
    域が条件を満足するか満足しないかをチェックして、そ
    の結果を新たな構造条件情報とするステップ、 を含むことを特徴とするキャッシュ制御方法。
  17. 【請求項17】請求項16のキャッシュ制御方法におい
    て、 制御装置が、 (j)フィールド指定情報により指定されたライトすべ
    きフィールドが制御フィールドを含むときは、ライト対
    象のレコードが記憶されている物理領域に対応した構造
    条件情報を、条件を満足するか満足しないかが不明の状
    態を表わすものにするステップ、 を含むことを特徴とするキャッシュ制御方法。
  18. 【請求項18】データ処理装置と,レコード番号を含む
    制御フィールドをもつレコードを記憶する記憶装置の間
    に接続される,キャッシュメモリを有する制御装置であ
    って、 (a)データ処理装置から、ライト対象のレコードを指
    定するレコード指定情報と、ライト対象のレコード内の
    ライトすべきフィールドを指定するフィールド指定情報
    と、ライト対象のレコードがキャッシュメモリに格納さ
    れていない場合の処理モードを指定する処理モード指定
    情報とを含むライト要求を受け取るライト要求受取手段
    と、 (b)前記レコード指定情報により指定されたライト対
    象のレコードがキャッシュメモリに格納されておらず且
    つ前記フィールド指定情報により指定されたライトすべ
    きフィールドが制御フィールドを含まないものであると
    き、前記処理モード指定情報で指定された処理モードに
    したがって、前記指定されたフィールドに書き込むべき
    データをデータ処理装置から受け取るデータ受取手段
    と、 (c)そのデータをキャッシュメモリに格納するデータ
    格納手段と、 (d)ライト処理が完了したことをデータ処理装置に報
    告するライト処理完了報告手段と、 を具備したことを特徴とする制御装置。
  19. 【請求項19】データ処理装置と,レコード番号を含む
    制御フィールドをもつレコードを記憶する複数の物理領
    域を有する記憶装置の間に接続される,キャッシュメモ
    リを有する制御装置であって、 (a)「前記物理領域内のレコードのレコード番号に重
    複がない」という構造上の条件を満足する状態か,満足
    しない状態かを表わす構造条件情報を各物理領域ごとに
    保持する構造条件情報保持手段と、 (b)データ処理装置から、ライト対象のレコードを指
    定するレコード指定情報と、ライト対象のレコード内の
    ライトすべきフィールドを指定するフィールド指定情報
    とを含むライト要求を受け取るライト要求受取手段と、 (c)前記レコード指定情報により指定されたライト対
    象のレコードがキャッシュメモリに格納されておらず且
    つ前記フィールド指定情報により指定されたライトすべ
    きフィールドが制御フィールドを含まないものであり且
    つ前記構造上の条件が満足されているとき、前記指定さ
    れたフィールドに書き込むべきデータをデータ処理装置
    から受け取るデータ受取手段と、 (d)そのデータをキャッシュメモリに格納するデータ
    格納手段と、 (e)ライト処理が完了したことをデータ処理装置に報
    告するライト処理完了報告手段と、 を具備したことを特徴とする制御装置。
  20. 【請求項20】請求項18または請求項19の制御装置にお
    いて、 (f)データ処理装置からデータを受け取ってキャッシ
    ュメモリに格納した後、ライト対象のレコードを記憶装
    置上で見出すレコード見出手段と、 (g)ライト対象のレコードが見出されたときに、キャ
    ッシュメモリに格納した前記データを、見出したレコー
    ド上に書き込むデータ書き込み手段と、 (h)見出されなかったときに、キャッシュメモリに格
    納した前記データの書き込みを中止して、その旨をデー
    タ処理装置に報告する中止報告手段と、 を具備したことを特徴とする制御装置。
  21. 【請求項21】データ処理装置と,レコード番号を含む
    制御フィールドをもつレコードを記憶する複数の物理領
    域を有する記憶装置の間に接続される,キャッシュメモ
    リを有する制御装置であって、 (a)データ処理装置から、ライト対象のレコードを指
    定するレコード指定情報と、ライト対象のレコード内の
    ライトすべきフィールドを指定するフィールド指定情報
    と、「ライト対象のレコードが記憶されている物理領域
    に記憶されたレコードの先頭のレコード番号が0番で,
    以下のレコード番号が1づつ昇順であり,且つ,各レコ
    ードの制御フィールド以外のフィールドが1つであり,
    且つ,レコード番号1以上のレコードの制御フィールド
    以外のフィールドの長さが等しく,且つ,レコード番号
    0のレコードの制御フィールド以外のフィールドの長さ
    が所定の長さである」という構造上の条件を満足する状
    態か,満足しない状態かを表わす構造条件情報とを含む
    ライト要求を受け取るライト要求受取手段と、 (b)前記レコード指定情報により指定されたライト対
    象のレコードがキャッシュメモリに格納されておらず且
    つ前記フィールド指定情報により指定されたライトすべ
    きフィールドが制御フィールドを含まないものであり且
    つ前記構造上の条件が満足されているとき、前記指定さ
    れたフィールドに書き込むべきデータをデータ処理装置
    から受け取るデータ受取手段と、 (c)そのデータをキャッシュメモリに格納するデータ
    格納手段と、 (d)ライト処理が完了したことをデータ処理装置に報
    告するライト処理完了報告手段と、 を具備したことを特徴とする制御装置。
  22. 【請求項22】データ処理装置と,レコード番号を含む
    制御フィールドをもつレコードを記憶する複数の物理領
    域を有する記憶装置の間に接続されるキャッシュメモリ
    を有する制御装置であって、 (a)「ライト対象のレコードが記憶されている物理領
    域に記憶されたレコードの先頭のレコード番号が0番
    で,以下のレコード番号が1づつ昇順であり,且つ,各
    レコードの制御フィールド以外のフィールドが1つであ
    り,且つ,レコード番号1以上のレコードの制御フィー
    ルド以外のフィールドの長さが等しく,且つ,レコード
    番号0のレコードの制御フィールド以外のフィールドの
    長さが所定の長さである」という構造上の条件を満足す
    る状態か,満足しない状態かを表わす構造条件情報を各
    物理領域ごとに保持する構造条件情報保持手段と、 (b)データ処理装置から、ライト対象のレコードを指
    定するレコード指定情報と、ライト対象のレコード内の
    ライトすべきフィールドを指定するフィールド指定情報
    とを含む要求を受け取るライト要求受取手段と、 (c)前記レコード指定情報により指定されたライト対
    象のレコードがキャッシュメモリに格納されておらず且
    つ前記フィールド指定情報により指定されたライトすべ
    きフィールドが制御フィールドを含まないものであり且
    つ前記構造上の条件が満足されているとき、前記指定さ
    れたフィールドに書き込むべきデータをデータ処理装置
    から受け取るデータ受取手段と、 (d)そのデータをキャッシュメモリに格納するデータ
    格納手段と、 (e)ライト処理が完了したことをデータ処理装置に報
    告するライト処理完了報告手段と、 を具備したことを特徴とする制御装置。
  23. 【請求項23】請求項21または請求項22の制御装置にお
    いて、 (f)ライト対象のレコードの物理領域上の書き込み位
    置を計算する書き込み位置計算手段と、 (g)見出したレコードの物理領域上の記憶位置と,前
    記計算した書き込み位置とを比較する位置比較手段と、 (h)その比較結果が所定の条件を満たすときに、キャ
    ッシュメモリに格納した前記データを、見出したレコー
    ド上に書き込むデータ書き込み手段と、 (i)その比較結果が所定の条件を満たさないときに、
    キャッシュメモリに格納した前記データの書き込みを中
    止し、その旨をデータ処理装置に報告する中止報告手段
    と、 をさらに具備したことを特徴とする制御装置。
  24. 【請求項24】請求項21または請求項22の制御装置にお
    いて、 (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 JPH03184144A (ja) 1991-08-12
JP2826857B2 true 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
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
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
US6014709A (en) * 1997-11-05 2000-01-11 Unisys Corporation Message flow protocol for avoiding deadlocks
US6049845A (en) * 1997-11-05 2000-04-11 Unisys Corporation System and method for providing speculative arbitration for transferring data
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
US6665761B1 (en) 1999-07-28 2003-12-16 Unisys Corporation Method and apparatus for routing interrupts in a clustered multiprocessor system
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
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
US7293156B2 (en) * 2003-07-15 2007-11-06 Xiv Ltd. Distributed independent cache memory
US20050015546A1 (en) * 2003-07-15 2005-01-20 Ofir Zohar Data storage system
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 中継装置、管理サーバ、中継方法および認証方法
US8326899B2 (en) 2005-11-09 2012-12-04 Ca, Inc. Method and system for improving write performance in a supplemental directory
US8458176B2 (en) * 2005-11-09 2013-06-04 Ca, Inc. Method and system for providing a directory overlay
US20070112812A1 (en) * 2005-11-09 2007-05-17 Harvey Richard H System and method for writing data to a directory
US8321486B2 (en) * 2005-11-09 2012-11-27 Ca, Inc. Method and system for configuring a supplemental 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
US3225334A (en) 1960-11-07 1965-12-21 Gen Electric Data processing system including plural peripheral devices with means for the selection and operation
NL283852A (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
US4598357A (en) 1980-11-14 1986-07-01 Sperry Corporation Cache/disk subsystem with file number for recovery of cached data
US4425615A (en) 1980-11-14 1984-01-10 Sperry Corporation Hierarchical memory system having cache/disk subsystem with command queues for plural disks
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
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
US4884197A (en) * 1985-02-22 1989-11-28 Intergraph Corporation Method and apparatus for addressing a cache memory
US4933835A (en) * 1985-02-22 1990-06-12 Intergraph Corporation Apparatus for maintaining consistency of a cache memory with a primary memory
EP0203601B1 (en) * 1985-05-29 1992-08-05 Kabushiki Kaisha Toshiba Cache system adopting an lru system, and magnetic disk controller incorporating it
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
JPH03184144A (ja) 1991-08-12
DE4039891A1 (de) 1991-06-27
US5497472A (en) 1996-03-05
US5694576A (en) 1997-12-02
US7082496B2 (en) 2006-07-25
US6085286A (en) 2000-07-04
US20040030828A1 (en) 2004-02-12

Similar Documents

Publication Publication Date Title
JP2826857B2 (ja) キャッシュ制御方法および制御装置
US8275970B2 (en) Optimizing write traffic to a disk
US4262332A (en) Command pair to improve performance and device independence
US4575827A (en) Self-archiving data recording
US4598357A (en) Cache/disk subsystem with file number for recovery of cached data
US6374327B2 (en) Method of data migration
US6449697B1 (en) Prestaging data into cache in preparation for data transfer operations
JP2635023B2 (ja) フアイルデータ用ラベル書き込み方法
EP0405859B1 (en) Method and apparatus for managing a shadow set of storage media
US4823261A (en) Multiprocessor system for updating status information through flip-flopping read version and write version of checkpoint data
US7831788B1 (en) System and method using locks for providing safe movement of data using third party copy techniques
US7325112B2 (en) High-speed snapshot method
US7032091B2 (en) Storage device and storage device control method
US7613889B2 (en) System, method, and program for determining if write data overlaps source data within a data migration scheme
US6128630A (en) Journal space release for log-structured storage systems
US6101574A (en) Disk control unit for holding track data in non-volatile cache memory
US20040243643A1 (en) Method and apparatus for managing autonomous third party data transfers
US8086580B2 (en) Handling access requests to a page while copying an updated page of data to storage
JP2913477B2 (ja) 制御装置
US7975103B2 (en) Method for optimized data record verification
JPH0773078A (ja) フアイル複写移行方式
US20240020019A1 (en) Resumable transfer of virtual disks
JPS6336375A (ja) デ−タフアイル装置におけるフアイル管理方法
JPH05189284A (ja) 関係型データベース管理システム
JPS607652A (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