JP2913477B2 - 制御装置 - Google Patents

制御装置

Info

Publication number
JP2913477B2
JP2913477B2 JP10160857A JP16085798A JP2913477B2 JP 2913477 B2 JP2913477 B2 JP 2913477B2 JP 10160857 A JP10160857 A JP 10160857A JP 16085798 A JP16085798 A JP 16085798A JP 2913477 B2 JP2913477 B2 JP 2913477B2
Authority
JP
Japan
Prior art keywords
record
write
data
track
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
JP10160857A
Other languages
English (en)
Other versions
JPH10340161A (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 JP10160857A priority Critical patent/JP2913477B2/ja
Publication of JPH10340161A publication Critical patent/JPH10340161A/ja
Application granted granted Critical
Publication of JP2913477B2 publication Critical patent/JP2913477B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データ処理装置か
らディスク装置にデータを書き出すライト処理をキャッ
シュメモリを用いて高速化する制御装置に関する。
【0002】
【従来の技術】データ処理装置と,キャッシュメモリを
有する制御装置と,ディスク装置の如き記憶装置とを接
続してなる情報処理システムにおいて、データ処理装置
がデータを記憶装置に書き出す時の制御方法が、例えば
特開昭55−157053号公報に3つ記載されてい
る。
【0003】第1の制御方法は、データをキャッシュメ
モリに書き込み、その時点でデータ処理装置のライト処
理を終了し、その後、適当な時機をみて、キャッシュメ
モリのデータを記憶装置に書き込む方法である。この書
き込みは、ライトアフタ処理と呼ばれる。また、キャッ
シュメモリに書き込まれているが、記憶装置に対して未
書き込みの状態にあるデータは、ライトアフタデータと
呼ばれる。なお、特開昭55−157053号公報で
は、キャッシュメモリにデータをどのように書き込むか
等についての詳細な技術は開示されていない。
【0004】第2の制御方法は、データ処理装置から記
憶装置にデータを書き出す時には、データを必ず記憶装
置まで書き込んでから、データ処理装置のライト処理を
終了する方法である。
【0005】第3の制御方法は、データ処理装置から書
き出すデータを永久ライトデータと一時ライトデータの
2種類に分け、データ処理装置が永久ライトデータを記
憶装置に書き出す時には、永久ライトデータを記憶装置
まで書き込んでからデータ処理装置のライト処理を終了
し、データ処理装置が一時ライトデータを記憶装置に書
き出す時には、データをキャッシュメモリに書き込み、
その時点でデータ処理装置のライト処理を終了し、記憶
装置には書き込みを全く行なわない方法である。
【0006】上記の制御方法のうち、第2の制御方法は
キャッシュメモリを利用せず直接に記憶装置にアクセス
し、第3の制御方法はキャッシュメモリを利用するが利
用範囲が極めて限定されている。したがって、実質的に
は第1の制御方法だけが、キャッシュメモリを用いてラ
イト処理を高速化するキャッシュ制御方法である。とこ
ろが、このキャッシュ制御方法は、その時点でキャッシ
ュメモリに格納されていないレコードに、データをデー
タ処理装置から書き出す場合には適用できないものであ
る。
【0007】その理由は、データ処理装置からの書き出
しの時点で対応するレコードがキャッシュメモリに格納
されていないと、データ処理装置側から指定されたレコ
ード番号を有するレコードが記憶装置に格納されていな
い可能性があるためである。また、データ処理装置側か
ら指定されたレコード番号を有するレコードが記憶装置
に重複して記憶されているときにも、いずれにデータを
書き込むべきか判断できないので、ライトアフタ処理を
正しく実行できなくなる。従って、ライト対象のレコー
ドがデータ処理装置からの書き出しの時点でキャッシュ
メモリに格納されていない場合は、上記キャッシュ制御
方法を適用することは困難であった。つまり、キャッシ
ュメモリを用いたライト処理の高速化ができなかった。
【0008】
【発明が解決しようとする課題】上記のように、従来の
キャッシュ制御方法では、データ処理装置から書き出す
データに対応するレコードがその時点でキャッシュメモ
リに格納されている場合は、そのデータをキャッシュメ
モリに格納してからライト処理を終了するので、高速化
を図れるが、その時点でキャッシュメモリに格納されて
いない場合は、このような高速化が困難であった。そこ
で、本発明の目的は、データ処理装置からの書き出しの
時点でライト対象のレコードがキャッシュメモリに格納
されていない場合にもライト処理を高速化できるように
した制御装置を提供することにある。
【0009】
【課題を解決するための手段】第1の観点では、本発明
は、データ処理装置と、該データ処理装置によって使用
される複数のレコードを保持するディスク装置とに接続
された制御装置であって、前記ディスク装置のいずれか
のレコードに格納されるデータを保持するキャッシュメ
モリと、前記キャッシュメモリになく前記ディスク装置
にあるデータに対するデータ書き込み要求を前記データ
処理装置から受け取る手段と、前記データ書き込み要求
が指定するデータを、前記ディスク装置から前記キャッ
シュメモリへのデータ転送を伴うことなく、前記キャッ
シュメモリに書き込む手段と、前記書き込み要求の完了
を前記データ処理装置に報告する手段と、前記キャッシ
ュメモリに書き込まれたデータを非同期に前記ディスク
装置に書き込む手段とを備えたことを特徴とする制御装
置を提供する。上記第1の観点による制御装置では、デ
ータ処理装置から書き出すデータが予めキャッシュメモ
リに格納されていない場合、ディスク装置からキャッシ
ュメモリへのデータ転送を行うことなく、データをキャ
ッシュメモリに格納し、その段階でライト処理の完了を
データ処理装置に報告する。そして、ライトアフタ処理
により、キャッシュメモリのアイトアフタデータを非同
期にディスク装置に書き込む。これにより、データ処理
装置から書き出すデータがその時点でキャッシュメモリ
に格納されていない場合でも、ライト処理を高速化でき
る。
【0010】第2の観点では、本発明は、データ処理装
置と、該データ処理装置によって使用される複数のレコ
ードを保持するディスク装置とに接続された制御装置で
あって、前記ディスク装置のいずれかのレコードに格納
されるデータを保持するキャッシュメモリと、該キャッ
シュメモリになく前記ディスク装置にあるレコードのレ
コードフォーマット情報を保持する保持手段と、前記デ
ータ処理装置からいずれかのレコードへの書き込み要求
が発生したことに応じて、当該レコードが該キャッシュ
メモリにない場合には、前記保持手段の該レコードに対
応するレコードフォーマット情報に基づいて、前記デー
タ処理装置から前記キャッシュメモリへの当該書き込み
要求が指定するデータの転送を制御する転送制御手段
と、書き込み要求の処理が完了したことを前記データ処
理装置に通知する通知手段とを備えたことを特徴とする
制御装置を提供する。上記第2の観点による制御装置で
は、データ処理装置が書き出そうとするデータがその時
点でキャッシュメモリに格納されていないときは、保持
手段に保持していた、前記データのレコードフォーマッ
ト情報に基づいて、そのデータをキャッシュメモリに格
納し、その段階でライト処理の完了を報告する。そこ
で、ライト処理を高速化できる。
【0011】第3の観点では、本発明は、上記構成にお
いて、前記保持手段に保持されるレコードフォーマット
情報は、レコード番号とレコード長とを含み、前記書き
込み要求が指定するレコード番号とデータの転送長が妥
当か否かを、レコードフォーマット情報が保持するレコ
ード番号とレコード長とに基づいて判断する判断手段を
備えることを特徴とする制御装置を提供する。上記第3
の観点による制御装置では、レコード番号とデータの転
送長が妥当か否かを、レコードフォーマット情報が保持
するレコード番号とレコード長とに基づいて判断するた
め、ライトアフタ処理でのエラー発生を回避できる。
【0012】第4の観点では、本発明は、データ処理装
置と、該データ処理装置によって使用される複数のレコ
ードを保持するディスク装置とに接続された制御装置で
あって、前記ディスク装置のいずれかのレコードに格納
されるデータを保持するキャッシュメモリと、前記デー
タ処理装置から書き込み対象のレコードのレコードフォ
ーマット情報が指定された書き込み要求が発生したこと
に応じて、当該書き込み要求が指定するレコードが前記
キャッシュメモリに保持されていない場合には、当該レ
コードフォーマット情報に基づいて、前記データ処理装
置から前記キャッシュメモリへの当該書き込み要求が指
定するデータの転送を制御する転送制御手段と、書き込
み要求の処理が完了したことを前記データ処理装置に通
知する通知手段とを備えたこと特徴とする制御装置を提
供する。上記第4の観点による制御装置では、データ処
理装置が書き出そうとするデータがその時点でキャッシ
ュメモリに格納されていないときは、書き込み要求が指
定する、前記データのレコードフォーマット情報に基づ
いて、そのデータをキャッシュメモリに格納し、その段
階でライト処理の完了を報告する。そこで、ライト処理
を高速化できる。
【0013】第5の観点では、本発明は、上記構成にお
いて、前記レコードフォーマット情報は、レコード長と
当該レコードが前記ディスク装置に存在するか否かを示
す情報を含み、前記書き込み要求が指定するデータの転
送長が妥当か否かを、レコードフォーマット情報が保持
するレコード長と当該レコードが前記ディスク装置に存
在するか否かを示す情報とに基づいて判断する判断手段
を備えること特徴とする制御装置を提供する。上記第5
の観点による制御装置では、データの転送長が妥当か否
かを、レコードフォーマット情報が保持するレコード長
とレコードの存在情報とに基づいて判断するため、ライ
トアフタ処理でのエラー発生を回避できる。
【0014】
【発明の実施の形態】以下、本発明の実施形態について
説明する。なお、これにより本発明が限定されるもので
はない。
【0015】本発明の実施形態は、第1の実施形態から
第5の実施形態まで5つあるが、まず、図2〜図5を参
照して、共通事項について説明する。図2は、本発明の
対象となる情報処理システムのブロック図である。情報
処理システムは、データ処理装置200と,制御装置2
3と,1台以上のディスク装置24とを接続してなって
いる。データ処理装置200は、CPU20と,主記憶
21と,チャネル22とを有している。制御装置23
は、1つ以上のデイレクタ25と,キャッシュメモリ2
6と,ライトアフタ用メモリ27と,ディレクトリ28
とを有している。ディレクタ25は、チャネル22とデ
ィスク装置24の間のデータ転送,チャネル22とキャ
ッシュメモリ26の間のデータ転送およびキャッシュメ
モリ26とディスク装置24の間のデータ転送を行う。
キャッシュメモリ26には、ディスク装置24の中のア
クセス頻度の高いデータをロードしておく。このロード
処理は、ディレクタ25が実行する。ロードデータの具
体的な例は、CPU20からアクセス対象となったデー
タや,このデータとディスク装置24の物理的記憶位置
が近いデータ等である。ディレクトリ28は、キャッシ
ュメモリ26の管理情報を格納する。
【0016】ディスク装置24は、図3に示す如き構成
である。円板308は、データを記録する媒体であり、
1つのディスク装置24には複数存在する。読み書きヘ
ッド309は、円板308にデータを読み書きする装置
であり、円板308に対応して存在する。円板308が
1回転する間に読み書きヘッド309がアクセス可能な
円状の記録単位を、トラック300と呼ぶ。トラック3
00は、円板308上に複数存在する。あるトラック3
00が入出力対象となった時、読み書きヘッド309を
このトラック300を読み書きできる位置に移動する。
この動作は、シーク動作と呼ばれる。また、そのための
要求を位置付け要求と呼ぶ。
【0017】ディレクタインターフェイス311は、デ
ィレクタ25とのインターフェイスであり、ディレクタ
25の指示にしたがって、読み書きヘッド309の制御
を行う。
【0018】セクタ302は、円板308上のある基準
位置303から、ある一定の角度ごとに設けた領域であ
る。前記基準位置303をホームインデクス303と呼
ぶ。ホームインデクス303上から開始されるセクタ3
02を基準セクタ(セクタ0)304と呼ぶ。各セクタ
302の番号は、基準セクタ304から、円板308の
回転方向と共に逆向きに1づつ昇順に付けられている。
読み書きヘッド309は、その下にあるセクタ302
が、どのセクタであるかを認識する。ホームインデクス
303の直後には、トラック300に関する制御情報を
記録した領域が設けられる。これを、ホームアドレス3
06と呼ぶ。
【0019】トラック300上には、1つ以上のレコー
ド301が存在する。レコード301はディレクタ25
との間のリード/ライト単位である。各レコード301
の間には、ギャップ305がある。このレコード301
とレコード301の間のギャップ305をギャップa3
05と呼び、後述するギャップb605(図6)と区別
する。各レコード301の長さは、それぞれ異なってい
てもよい。ただし、ギャップa305の長さは等しい。
ホームアドレス306の直後のレコード301は、通
常、一般のデータを記憶するのではなく、CPU20側
で用いる制御データを記憶することが多い。従って、こ
れを制御レコード310と呼ぶ。
【0020】図4および図5は、レコード301の構成
例である。図4の例では、レコード301が、制御部6
00と,キー部607と,データ部601の3つのフィ
ールド606から構成されている。図5の例では、レコ
ード301が、制御部600と,データ部601の2つ
のフィールドで構成されている。
【0021】制御部600とキー部607の間、キー部
607とデータ部601の間には、ギャップ605が存
在する。このギャップ605をギャップb605と呼
ぶ。各ギャップb605の長さはそれぞれ等しい。制御
部600は、制御情報を記録するもので、レコード番号
602,キー部長608,データ部長603等が含まれ
る。レコード番号602は、レコード301の識別子で
ある。キー部長608,データ部長603は、キー部6
07,データ部601の長さである。図5のようにキー
部607がない場合には、キー部長608は0をとる。
制御部600の長さは、通常、固定長である。データ部
601は、CPU20上で実行されるプログラム等が処
理する情報を記録する。キー部607は、データ部60
1の内容をアクセスする権限をチェックするためのキー
情報を記録する。
【0022】通常、ライト処理には、制御部600を含
む全てのフィールド606を書き換えるフォーマットラ
イト処理と,制御部600以外のフィールドだけを書き
換えるパーシャルライト処理とがある。前者は、ファイ
ル全体の初期作成などに実行されるだけなので、実行頻
度はそれほど高くなく、特に高速化の必要はない。後者
は、実行頻度が高いため、高速化の必要があり、これが
本発明の対象となる。
【0023】データ部長603,キー部長608は、制
御部600内に存在する。従って、パーシャルライト処
理では、データ部601,キー部607の内容を書き換
えるだけで、長さは不変である。
【0024】次に、図1,図6〜図18を参照して、第
1の実施形態を説明する。この第1の実施形態は、ライ
ト対象のレコード301がキャッシュメモリ26に格納
されていない場合、CPU20からの特定の処理モード
の指定を受けたときのみ、ディレクタ25が、キャッシ
ュメモリ26にデータを書き込んだ段階で、ライト処理
を完了させるものである。
【0025】図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にデータを書き込んだ段階でライト
処理を完了させるという処理モードを指定する。
【0026】従って、本発明に係るキャッシュ書き込み
動作120の実行条件a110は、ライト対象のレコー
ド301がキャッシュメモリ26に格納されておらず、
且つ、ライト対象となるフィールド606が制御部60
0を含まず、且つ、上記指定情報5による処理モードの
指定を受け取った場合である。
【0027】キャッシュ書き込み動作120では、ディ
レクタ25は、チャネル22からデータを受け取り(ス
テップ121)、キャッシュメモリ26に書き込む(ス
テップ122)。そして、ライト処理の完了報告を、C
PU20に、チャネル22経由で報告する(ステップ1
23)。
【0028】キャッシュメモリ26に格納され,且つ,
ディスク装置24に書き込まれていないデータは、ライ
トアフタデータ29と呼ばれる。ディレクタ25は、ラ
イトアフタデータ29を含むレコード301を、ライト
アフタレコード160として管理する。ライトアフタデ
ータ29のディスク装置24への書き込みは、ディレク
タ25が空いた時間を利用して実行する。この動作を、
ライトアフタ動作と呼ぶ。
【0029】ライトアフタ動作a130では、ディレク
タ25は、ライトアフタデータ29を書き込むべきレコ
ード301をディスク装置24において見出す。具体的
には、前記指定情報1−指定情報2で指定されたディス
ク装置24のトラック300上に、指定情報3で指定さ
れたレコード番号602のレコード301を見つける。
見つかった場合、ディレクタ25は、そのレコード30
1に、ライトアフタ動作b140で、ライトアフタデー
タ29の書き込みを実行する。見つからなかった場合、
ライトアフタ動作c150で、書き込みを中止する。そ
して、後述するように、CPU20にその旨の報告を行
なう。
【0030】図6は、本実施形態におけるキャッシュメ
モリ26の構成である。キャッシュメモリ26は、多数
のセグメント400により構成される。1つのセグメン
ト400には、1つのトラック300上の全レコード3
01を格納しうる。どのセグメント400にどのトラッ
ク300を割り当てるかについては、従来公知の方法を
用いることが出来る。トラック300が割り当てられて
いない空きセグメント400も存在しうる。
【0031】図7は、セグメント400内のライトアフ
タレコード160の格納形式を表している。パーシャル
ライト処理では、制御部600は書き換え対象とならな
いため、ディレクタ25は、チャネル22から制御部6
00を受け取らない。このため、ライト対象のレコード
301がキャッシュメモリ26に格納されていない場合
に、データを書き込んだ時には、ディレクタ25は、キ
ャッシュメモリ26に擬似制御部1000を作成する。
【0032】擬似制御部1000内には、チャネル22
より指定されたレコード番号602を格納する。また、
チャネル22より指定されたフィールド606に書き込
むべきデータの長さを格納する。すなわち、キー部60
7とデータ部601がライト対象となった場合、それぞ
れのフィールド606に対して受け取ったデータの長さ
をキー部長608とデータ部長603とに設定する。デ
ータ部601だけがライト対象となった場合、キー部長
608には0を設定する。
【0033】ディレクタ25は、ライトアフタレコード
160をディスク装置24のレコード301に書き込む
時、その実際のレコード301の制御部600内のレコ
ード番号,フィールド長とライトアフタレコード160
の擬似制御部1000のレコード番号,フィールド長と
を比較し、CPU20が指定したライト処理の正当性を
確認する。
【0034】なお、ライト対象のレコード301がキャ
ッシュメモリ26に格納されていた場合には、実際の制
御部600がセグメント400に格納されているから、
擬似制御部1000は作成されない。
【0035】擬似制御部1000または制御部600の
後には、キー部ポインタ1001,データ部ポインタ1
002,擬似制御部フラグ1003を格納する。キー部
ポインタ1001,データ部ポインタ1002は、それ
ぞれキャッシュメモリ26に格納されているキー部60
7,データ部601へのポインタである。これらを設け
る理由は、1つのライトアフタレコード160を格納す
る領域が連続にならない場合があるためである。例え
ば、ディレクタ25が、キャッシュメモリ26に格納さ
れていないレコード301に対してデータ部601のみ
を書き換えるパーシャルライト要求を受け付けた時に
は、キー部607の長さが分からないため、キー部60
7を格納する領域を確保できない。このため、キー部長
608は0とする。この後、キー部607とデータ部6
01のを書き換えるパーシャルライト要求を受け付けた
時、キー部607の長さが分かるため、キー部607の
領域を、この段階で確保する。そうすると、図7に示す
ように、離れた領域にキー部607が存在することによ
り、1つのライトアフタレコード160を格納する領域
が連続にならないことになる。
【0036】擬似制御部フラグ1003は、ディレクタ
25が擬似制御部1000を作成した時にオンとする。
また、ディレクタ25がディスク装置24からレコード
301をロードする際、オフとする。
【0037】図8は、本実施形態においてディレクトリ
28の中に設ける情報を示したものである。セグメント
管理情報500,トラック票501および空きセグメン
トキュー先頭ポインタ502がある。セグメント管理情
報500は各セグメント400に対応して存在する。ト
ラック票501および空きセグメントキューポインタ5
02は各々1つだけ存在する。
【0038】図9は、本実施形態において前記セグメン
ト管理情報500の中に設ける情報を示したものであ
る。以下、各情報とその内容を示す。 空きセグメントポインタ800…他の空きセグメント4
00に対応したセグメント管理情報500へのポインタ
である。 パーシャルライトフラグ801…当セグメント管理情報
500に対応したセグメント400内に、パーシャルラ
イト要求により書き込んだライトアフタデータ29を格
納していることを示す。 キャッシュドトラック番号805…当セグメント管理情
報500に対応するセグメント400内に格納したトラ
ック300のトラック番号を表す。 レコードポインタ806…当セグメント管理情報500
に対応するセグメント400内に格納したレコード30
1のポインタを表す。例えば、n番目のレコードポイン
タ806は、レコード番号602が(n−1)番のレコ
ード301へのポインタを表す。レコード番号602が
(m−1)番であるレコード301がキャッシュメモリ
26に格納されていない時には、m番目のレコードポイ
ンタ806はnull値をとる。(ここで、先頭のレコ
ードポインタ806を1番目のレコードポインタと考え
る。) レコードポインタ806の数は、1つのトラッ
ク300上に定義可能なレコード番号602の数だけ用
意される。 更新レコードポインタ807…当セグメント管理情報5
00に対応するセグメント400内に格納したライトア
フタレコード160へのポインタを表す。ここでは、デ
ィレクタ25が、キャッシュメモリ26に予め格納され
ていたレコード301に対してデータを格納した場合に
も、ライトアフタレコード160として管理する。前記
レコードポインタ806と同様、n番目の更新レコード
ポインタ807は、レコード番号602が(n−1)番
のレコード301へのポインタを表す。レコード番号6
02が(m−1)番であるレコード301がキャッシュ
メモリ26に格納されていない時には、m番目の更新レ
コードポインタ807はnull値をとる。更新レコー
ドポインタ807の数も、1つのトラック300上に定
義可能なレコード番号602の数だけ用意されている。 更新フィールド情報808…レコード番号602がn番
のライトアフタレコード160の中で、更新対象となっ
たフィールド606を表す。更新フィールド情報808
の数も、1つのトラック300上に定義可能なレコード
番号602の数だけ用意されている。 セグメント内空き領域アドレス809…当セグメント管
理情報500に対応するセグメント400の中でレコー
ド301を格納していない空き領域の先頭アドレスを表
す。 セグメントポインタ810…当セグメント管理情報に対
応するセグメント400へのポインタである。
【0039】図10は、前記トラック票501の構成で
ある。トラック票501は、全てのディスク装置24の
トラック300に関して、そのトラック300に対して
セグメント400が割り当てられているか、いないかを
表す情報である。割り当てられている場合には、割り当
てられているセグメント400に対応したセグメント管
理情報500へのポインタを表す。割り当てられていな
い場合には、null値をとる。トラック票501上で
は、同じディスク装置24上のトラック300に関する
情報は連続して格納される。格納順は、トラック番号順
である。
【0040】図11に示すように、空きセグメント40
0に対応したセグメント管理情報500は、空きセグメ
ントキュー先頭ポインタ502から順に、各セグメント
管理情報500の空きセグメントポインタ800で結合
されている。
【0041】図12は、ライトアフタ用メモリ27の構
成である。ライトアフタ用メモリ27内には、各ディス
ク装置24に対応したライトアフタ情報1100が含ま
れている。
【0042】図13は、1つのライトアフタ情報110
0に格納する各情報を示したものである。以下、これら
の情報の説明を行う。 ライトアフタ実行中フラグ1200…当ライトアフタ情
報1100と対応するディスク装置24がライトアフタ
処理を実行中であるか否かを表す。 ライトアフタセグメントポインタ1202…ライトアフ
タ対象のトラック300に対応したセグメント管理情報
500へのポインタを表す。 レコード番号不一致情報1203…ライトアフタ処理に
おいて、ライトアフタ対象のレコード番号602を有す
るレコード301が対応するディスク装置24に記憶さ
れていなかったことを表す。 フィールド長不一致情報1204…ライトアフタ処理に
おいて、ライトアフタ対象のフィールド606の長さが
一致しなかったことを表す。
【0043】前記レコード番号不一致情報1203ある
いはフィールド長不一致情報1204がオンの場合、ラ
イトアフタ処理においてエラーが発生していることにな
る。なお、他の原因によっても、ライトアフタ処理の実
行中にエラーが発生するが、本発明には直接関係しない
ため、ここでは省略する。以上の情報は、電源障害等で
消失してしまうと問題があるため、不揮発化しておくこ
とが望ましい。
【0044】図14は、本実施形態におけるディレクタ
25の構成を示すものである。以下、各部について述べ
る。 キャッシュパーシャルライト部10…パーシャルライト
要求を受け付けた時、チャネル22から受け取ったデー
タをキャッシュメモリ26に転送する。 ライトアフタスケジュール部11…ライトアフタ処理を
実行する対象とするディスク装置24とトラック300
とを決定する。 ライトアフタ転送部12…ライトアフタスケジュール部
11によってスケジュールされたライトアフタ処理を実
行する。 ライトアフタエラー判定部13…CPU20からの入出
力要求を受け付けた時、要求対象ディスク装置24のラ
イトアフタ処理においてエラーが発生していないかをチ
ェックする。エラーが発生している場合、この旨を、チ
ャネル22経由でCPU20に伝える。
【0045】次に、各部の作動について説明する。図1
5は、前記キャッシュパーシャルライト部10の処理フ
ロー図である。この処理フローには、ライト対象のレコ
ード301が既にキャッシュメモリ26に格納されてい
た場合の処理も含まれている。ライト対象のレコード3
01がキャッシュメモリ26にない場合にもデータをキ
ャッシュメモリ26に格納した段階でライト処理を完了
させるという処理モードを指定する指定情報5を含むパ
ーシャルライト要求を、ディレクタ25が、CPU20
からチャネル22経由で受け取った時、この処理フロー
を実行する。
【0046】ステップ1300では、ライト対象のトラ
ック300に対して既にセグメント400を割り当てて
あるか否かをチェックする。このチェックは、当該トラ
ック300に対応するトラック票501により識別す
る。まだ割り当てていなければ、ステップ1301に移
行する。既に割り当て済みであれば、ステップ1305
にジャンプする。ステップ1301では、当該トラック
300に対しセグメント400およびセグメント管理情
報500を割り当てる。割り当て方法は、従来公知の方
法を用いることが出来る。ステップ1302では、割り
当てたセグメント管理情報500の初期化を行う。例え
ば、キャッシュドトラック番号805に、ライト対象と
なるトラック300のトラック番号を設定する等の処理
である。ステップ1303では、指定情報3により指定
されたレコード番号により、擬似制御部1000を作成
する。ステップ1304では、チャネル22からデータ
を受け取り、そのデータを指定情報4により指定された
フィールド606に格納する。そして、ステップ131
1に移行する。ステップ1311では、セグメント管理
情報500の必要な部分の更新を行い、さらに、ライト
処理の完了をチャネル22経由でCPU20に報告し
て、処理を終了させる。
【0047】一方、ステップ1305では、ライト対象
のレコード301がキャッシュメモリ26に実際に格納
されているかをチェックする。このチェックは、セグメ
ント管理情報400を見て、ライト対象のレコード番号
602に対応したレコードポインタ806がnull値
になっているか否かにより行う。ライト対象のレコード
301がキャッシュメモリ26に実際には格納されてい
ない場合、前記ステップ1303へジャンプして、ライ
ト対象のトラック300にセグメント400を割り当て
ていなかった場合と同様の処理に入る。ライト対象のレ
コード301がキャッシュメモリ26に実際に格納され
ていた場合は、ステップ1306に移行する。ステップ
1306では、CPU20から指定情報4により指定さ
れたフィールド606が全てキャッシュメモリ26に格
納されているかをチェックする。格納されている場合
は、ステップ1308ヘジャンプする。格納されていな
い場合は、ステップ1307に移行する。ステップ13
07では、ライト対象のレコード301に対応する擬似
制御部フラグ1003がオンかをチェックする。オフの
場合、ライト対象のレコード301はトラック300か
らキャッシュメモリ26にロードしたレコード301と
いうことになるので、前記ステップ1306で全てのフ
ィールド606が格納されていないというチェック結果
と矛盾する。したがって、エラー報告を行うため、ステ
ップ1313へジャンプする。擬似制御部フラグ100
3がオンの場合は、ステップ1312に移行する。ステ
ップ1312では、キャシュメモリ26に既に格納して
いたフィールド606および新たにキャッシュメモリ2
6に格納するフィールド606に、チャネル22から受
け取ったデータを格納する。そして、擬似制御部100
0内のキー部長608あるいはデータ部長603に、新
たにキャッシュメモリ26に格納したデータの長さを格
納する。さらに、キー部ポインタ1001あるいはデー
タ部ポインタ1002に必要な値を設定する。この後、
ステップ1309へジャンプする。
【0048】一方、ステップ1308では、キャッシュ
メモリ26に格納しているフィールド606に、チャネ
ル22から受け取ったデータを格納する。ステップ13
09では、既にキャッシュメモリ26に格納していたフ
ィールド606に対して受け付けたデータの長さが、制
御部600のキー部長608あるいはデータ部長603
に一致するかをチェックする。一致した場合、前記ステ
ップ1311へジャンプする。一致しない場合、ステッ
プ1310に移行する。ステップ1310では、データ
の長さに矛盾があることを、チャネル22経由で、CP
U20に報告し、処理を終了する。
【0049】一方、ステップ1313では、ディレクタ
25は、ライト対象として指定されたフィールド606
に矛盾があったことを、チャネル21経由でCPU20
に報告し、処理を終了する。
【0050】図16は、ライトアフタスケジュール部1
1の処理フロー図である。この処理フローは、キャッシ
ュメモリ26に格納していたレコード301のライトア
フタデータ29をディスク装置24へ書き込む場合も含
んでいる。ディレクタ25が空いた時間を利用して、こ
の処理フロー、すなわち、パーシャルライト要求により
キャッシュメモリ26に格納したデータをディスク装置
24に書き込む処理、を実行する。実行対象とするディ
スク装置24は、ライトアフタ実行中フラグ1200が
オフで、現在CPU20からの入出力要求を受け付けて
いないディスク装置24とする。また、ライトアフタ処
理の対象トラック300は、パーシャルライトフラグ8
01がオンのセグメント管理情報500に対応するトラ
ック300とする。
【0051】まず、ステップ1400では、実行対象の
ディスク装置24に対応したライトアフタ情報1100
のライトアフタ実行中フラグ1200をオンにして、さ
らに、ライトアフタセグメントポインタ1202に、ラ
イトアフタ対象とするトラック300に対応したセグメ
ント管理情報400へのポインタを設定する。ステップ
1401では、実行対象のディスク装置24に対して、
ライトアフタ対象とするトラック300への位置付け要
求を発行しし、処理を終了する。
【0052】図17は、ライトアフタ転送部12の処理
フロー図である。この処理フローは、キャッシュメモリ
26に格納していたレコード301のライトアフタデー
タ29をディスク装置24へ書き込む処理も含んでい
る。ライトアフタスケジュール部11が発行したディス
ク装置24への位置付け要求が完了した時、この処理フ
ローが実行される。
【0053】ステップ1500では、ライトアフタ対象
とするトラック300に対する全てのライトアフタレコ
ード160の書き込みが完了したかをチェックする。ラ
イトアフタセグメントポインタ1202に対応したセグ
メント管理情報500内の更新レコードポインタ807
を最後まで探してもnull値でない更新レコードポイ
ンタ807が見つからなかった場合は完了しており、見
つかった場合は完了していないと分かる。完了していた
場合、ステップ1509へジャンプする。完了していな
かった場合は、ステップ1501に移行する。ステップ
1501では、トラック300上のレコード301のサ
ーチを開始し、その開始したトラック300上の物理的
位置を記憶しておく。この記憶は、トラック300の1
回転を検出するためである。ステップ1502では、ト
ラック300上で見つけたレコード301の制御部60
0を読み出す。ステップ1503では、読み出した制御
部600内のレコード番号602と,更新レコードポイ
ンタ807にポイントされた擬似制御部1000あるい
は制御部600内のレコード番号602とを比較する。
一致すれば、アクセス中のレコード301がライトアフ
タ対象であり、ステップ1504に移行する。一致しな
い場合、ステップ1507へジャンプする。ステップ1
504では、更新レコードポインタ807に対応する更
新フィールド情報808によりライト対象とするフィー
ルド606を認識し、そのフィールド606の長さに関
する情報を擬似制御部1000あるいは制御部600内
のキー部長608あるいはデータ部長603から取り出
す。そして、それら値と、前記ステップ1502でトラ
ック300上から読み出した制御部600内のキー部長
608あるいはデータ部長603の値とを比較し、一致
するかチェックする。一致しない場合、書き込みを中止
して、ステップ1506へジャンプする。一致した場合
は、ステップ1505に移行する。ステップ1505で
は、ライト対象とするフィールド606のライトアフタ
データ29を取り出し、アクセス中のトラック300上
のレコード301に書き込む。そして、前記ステップ1
500へ戻る。
【0054】一方、ステップ1506では、ライトアフ
タ情報1100のフィールド長不一致情報1204をセ
ットして、ステップ1510へジャンプする。
【0055】一方、ステップ1507では、ライトアフ
タ対象のレコード301を、トラック300の1回転分
サーチしたかをチェックする。まだ、1回転していない
場合、さらにサーチを続けるため、前記ステップ150
2へジャンプする。1回転しておれば、ステップ150
8に移行する。ステップ1508では、レコード番号不
一致情報1203をセットして、ステップ1510へジ
ャンプする。一方、ステップ1509では、ライトアフ
タ処理の完了に伴うセグメント管理情報400の中の必
要な情報の更新を行なう。そして、ステップ1510に
移行する。ステップ1510では、ライトアフタ実行中
フラグ1200をリセットし、処理を終了させる。
【0056】図18は、ライトアフタエラー判定部13
の処理フロー図である。チャネル22経由でCPU20
からの入出力要求を受け付けた時、この処理フローが実
行される。ステップ1600では、入出力対象となるデ
ィスク装置24に対応したライトアフタ情報1100内
のレコード番号不一致情報1203あるいはフィールド
長不一致情報1204がセットされているかをチェック
する。セットされていなければ、処理を終了する。セッ
トされていれば、ステップ1601に移行する。ステッ
プ1601では、CPU20に対して、発生したエラー
の報告を行い、処理を終了する。
【0057】次に、図19〜図25を参照して、第2の
実施形態を説明する。この第2の実施形態は、ライト対
象のレコード301がキャッシュメモリ26に格納され
ていない場合、制御装置23が保持する情報に基づいて
ディレクタ25が判断し、キャッシュメモリ26にデー
タを書き込んだ段階で、ライト処理を完了させるもので
ある。
【0058】図19は、本実施形態における情報処理シ
ステムを詳細に表したブロック図である。図1に示した
第1の実施形態との相違点は、ライトアフタ用メモリ2
7内に、各トラック300がレコード番号の重複のある
ものか重複のないものかを示すライトアフタトラック情
報a1700を含む点である。また、CPU20からの
指定情報b3300には、ライト対象とするレコード3
01がキャッシュメモリ26に格納されていなかった時
の処理モードを指定する前記指定情報5が含まれていな
い点である。また、キャッシュ書き込み動作120の実
行条件b3310に、ライト対象のトラック300がレ
コード番号の重複のないものであるという条件が含まれ
る点である。これら3点以外は、図1と同様である。そ
こで以下では、第1の実施形態と異なる点を中心に説明
する。
【0059】図20は、本実施形態におけるライトアフ
タ用メモリ27の構成である。図12に示した第1の実
施形態におけるライトアフタ用メモリ27の構成と異な
る点は、ライトアフタトラック情報a1700を含む点
である。このライトアフタトラック情報a1700は、
各ディスク装置24に対応して設ける。
【0060】図21は、上記ライトアフタトラック情報
a1700の構成を示したものである。ライトアフタト
ラック情報a1700は、ディスク装置24の各トラッ
ク300がレコード番号の重複していない状態か,重複
している状態か,いずれとも不明の状態かのいずれかを
表すトラック状態a1800を保持している。各トラッ
ク300のトラック状態a1800は、トラック番号順
に格納される。
【0061】図22は、トラック状態a1800の状態
遷移を示している。まず、トラック状態a1800の初
期状態は、そのトラック300がレコード番号の重複が
ないか重複があるか不明の状態391になっている。こ
の状態391で、パーシャルライト要求を受け付ける
と、ディレクタ25は、当該トラック300がレコード
番号の重複していない状態か重複している状態かをチェ
ックする。そして、レコード番号の重複していない状態
である場合、トラック状態a1800をレコード番号の
重複がない状態392にする。また、レコード番号の重
複している状態の場合、トラック状態a1800をレコ
ード番号の重複がある状態393にする。さらに、フォ
ーマットライト要求を受け付けると、ディレクタ25
は、トラック状態a1800を前記レコード番号の重複
がないか重複があるか不明の状態391に戻す。これ
は、フォーマットライト処理により、レコード301の
レコード番号602に変化が生じる可能性があるためで
ある。
【0062】キャッシュ26,セグメント400の格納
形式,ディレクトリ28,セグメント管理情報500,
トラック票501および空きセグメントキュー先頭ポイ
ンタ502は、それぞれ、図6,図7,図8,図9,図
10および図11に示した第1の実施形態における構成
と同様である。
【0063】図23は、本実施形態におけるディレクタ
25の構成を示すものである。図14に示す第1の実施
形態におけるディレクタ25の構成と異なる点は、以下
の2つの構成を含む点である。 ライトアフタトラック情報管理部a14…トラック状態
a1800がレコード番号の重複がないか重複があるか
不明の状態391であるトラック300に対してパーシ
ャルライト要求を受け付けた時、当該トラック300が
レコード番号の重複していない状態か重複している状態
かをチェックし、その結果をトラック状態a1800に
格納する動作を行なうものである。 ライトアフタトラック情報管理部b15…あるトラック
300に対するフォーマットライト要求を受け付ける
と、当該トラック300のトラック状態a1800をレ
コード番号の重複がないか重複があるか不明の状態39
1に戻す動作を行なうものである。 キャッシュパーシャルライト部10,ライトアフタスケ
ジュール部11,ライトアフタ転送部12およびライト
アフタエラー判定部13の処理フローは、それぞれ、図
15〜図18に示した処理フローと同様である。ただ
し、キャッシュパーシャルライト部10のみの実行契機
が異なる。すなわち、本実施形態では、CPU20から
受け付けたパーシャルライト要求の処理対象となるトラ
ック300のトラック状態a1800が、レコード番号
の重複がない状態392になっている時である。
【0064】図24(a)(b)は、ライトアフタトラック
情報管理部a14の処理フローである。図24(a)の処
理フローの実行契機は、レコード番号の重複があるか重
複がないか不明の状態391になっているトラック状態
a1800のトラック300に対してのパーシャルライ
ト要求を受け付けた時である。ステップ2000では、
パーシャルライト要求の対象となったトラック300に
対して位置付け要求を発行し、処理を終了する。
【0065】図24(b)の処理フローの実行契機は、
前記ステップ2000で発行した位置付け要求が完了し
た時である。ステップ2001では、パーシャルライト
対象となったトラック300上のレコード301を全て
読み出し、レコード番号に重複があるか重複がないかを
判定する。ステップ2002では、前記判定の結果を、
当該トラック300に対応するトラック状態a1800
に記憶し、処理を終了させる。
【0066】図25は、ライトアフタトラック情報管理
部b15の処理フロー図である。この処理フローの実行
契機は、ディレクタ25が、フォーマットライト要求を
受け付けた時である。ステップ2100では、フォーマ
ットライト対象となるトラック300に対応したトラッ
ク状態a1800を、レコード番号の重複がないか重複
があるか不明の状態391にし、処理を終了する。
【0067】次に、図26〜図34を参照して、第3の
実施形態を説明する。この第3の実施形態は、ライト対
象のレコード301がキャッシュメモリ26に格納され
ていない場合、CPU20からの特定の指定情報を受け
たときのみ、キャッシュメモリ26にデータを書き込ん
だ段階で、ライト処理を完了させるもので、且つ、ライ
ト対象となったレコード301のトラック300上の物
理的書き込み位置を計算することにより、ライトアフタ
処理の効率化を図るものである。
【0068】物理的書き込み位置を計算することにより
効率化を図れるのは、次の理由による。すなわち、図3
3に示すように、読み書きヘッド309の下をレコード
301が通過する方向に物理的書き込み位置が並ぶ順番
で複数のライトアフタレコード160を書き込めば、相
対速度が上がるから、書き込みの効率を向上できる。ま
た、図34に示すように、2つのライトアフタレコード
160の物理的書き込み位置が所定距離以上離れている
時、一時的に、ライトアフタ処理を中断すると、2つの
ライトアフタレコード160の間でのディレクタ25や
データ伝送路の無駄な占有時間がなくなるため、効率を
向上できる。
【0069】図26は、本実施形態における情報処理シ
ステムを詳細に表したブロック図である。図1に示した
第1の実施形態との相違点は、以下のとおりである。ま
ず、CPU20からの指定情報3400は、指定情報5
がなく、指定情報6および指定情報7がある点が異な
る。指定情報6は、ライトデータ量を指定するものであ
る。ライト対象フィールドが1つの場合、そのフィール
ド606の長さが、ライトデータ量となる。この指定情
報6をCPU20からディレクタ25が受け取ると、チ
ャネル22からデータを受け取る前に、ライト対象のレ
コード301のトラック300上の物理的位置の計算を
実行可能となる。ただし、必須の情報ではないため、図
では()を付けている。指定情報7は、ライト対象とな
るトラック300が、以下の構造上の条件A〜条件Cを
満足していることを示す情報である。 条件A…ライト対象のトラック300内の各レコード3
01のレコード番号602が、制御レコード310のレ
コード番号602から順に、0番からの1づつの昇順で
ある。 条件B…制御部600以外のフィールド606がデータ
部601のみであり、制御レコード310以外のレコー
ド301のデータ部601の長さが、同一トラック内の
各レコードで等しい。 条件C…制御レコード310が、標準レコードである。
すなわち、制御レコード310の制御部600以外のフ
ィールド606がデータ部601のみであり、且つ、デ
ータ部601の長さがある決まった基準長である。 上記構造上の条件A〜Cが満足されていれば、レコード
301のトラック300上の物理的書き込み位置を計算
することが可能となる。
【0070】物理的書き込み位置の計算が可能となる理
由は、次の通りである。すなわち、条件Aが成立してい
ると、ディレクタ25がチャネル22から受け取ったレ
コード番号602により、ライト対象のレコード301
がトラック300の先頭から何番目のレコードであるか
が分かる。次に、条件Bおよび条件Cが成立している
と、チャネル22から受け取ったデータの長さ又は前記
指定情報6によるライトデータ量により、トラック30
0上の全てのレコード301の各フィールド606の長
さが明らかになる。以上より、ライト対象のレコード3
01のトラック300上の物理的位置の計算が可能とな
る。
【0071】ライト対象のトラック300が上記条件A
〜条件Cを満足するかどうかは、CPU20内の制御機
構が把握している。このため、CPU20が指定情報7
を生成することが出来る。
【0072】次に、キャッシュ書き込み動作120の実
行条件c3410は、ライト対象となるトラック300
が条件A〜条件Cを満足していることが条件となる点が
異なる。
【0073】次に、ライトアフタデータ29のディスク
装置24への書き込みは、以下の点が異なる。すなわ
ち、ディレクタ25は、ライトアフタ動作d3420に
より、ディスク装置24内のトラック上の計算した書き
込み位置近傍の一定の範囲内に、指定情報3により受け
取ったレコード番号602を有するレコード301が存
在するか否かをチェックする。計算した書込み位置近傍
の一定範囲内をさがすのは、トラック300上にリード
/ライトが困難な不良位置が存在するため、レコード3
01の記憶位置が若干ずれている可能性があるからであ
る。
【0074】キャッシュメモリ26,ディレクトリ2
8,トラック票501,空きセグメントキュー先頭ポイ
ンタ502およびライトアフタ用メモリ27の構成は、
それぞれ、図6,図8,図10,図11および図12に
示した第1の実施形態における構成と同様である。
【0075】セグメント400の構成は、擬似制御部1
000,キー部ポインタ1001,データ部ポインタ1
002,擬似制御部フラグ1003は、図7に示した第
1の実施形態の構成と同様である。ただし、条件A〜条
件Cを満足するトラック300内のレコード301には
キー部607が存在しないため、擬似制御部1000内
のキー部長608は常に0で、キー部ポインタ1001
は常にnull値をとる。また、パーシャルライト対象
となるフィールド606はデータ部601のみであるた
め、擬似制御部1000,キー部ポインタ1001,デ
ータ部ポインタ1002,擬似制御部フラグ1003お
よびデータ部601は、連続領域に格納される。
【0076】図27は、本実施形態におけるセグメント
管理情報500の構成である。図9に示した第1の実施
形態における構成との相違は、以下の情報を含む点であ
る。 書き込み位置計算可能ビット2200…本セグメント管
理情報に対応したトラック300が、条件A〜条件Cを
満足していることを表す。 固定データ部長2201…制御レコード310以外のレ
コード301の固定長であるデータ部601の長さを表
す。
【0077】図28は、ライトアフタ情報1100の構
成を表す。図13の第1の実施形態における構成との相
違は、以下の情報を含む点である。 ライトアフタ開始レコード番号2300…本実施形態で
は、2つのライトアフタレコード160のトラック30
0上の位置が一定値以上離れている場合、ライトアフタ
処理の効率化を目的として、一度、ディスク装置24と
の転送を中断して、位置付け処理に入る。このため、次
のライトアフタレコード160のレコード番号602を
設定しておく。 レコード物理位置不一致情報2301…計算した物理位
置にレコード301が存在しなかった時にセットする。
【0078】ディレクタ25の構成は、図14の第1の
実施形態と同様であり、キャッシュパーシャルライト部
10,ライトアフタスケジュール部11,ライトアフタ
転送部12およびライトアフタエラー判定部13により
構成される。ただし、それぞれの処理フローは異なるた
め、以下、説明する。
【0079】図29は、キャッシュパーシャルライト部
10の処理フロー図である。図15の第1の実施形態に
おける処理フローと同様、ライト対象のレコード301
が既にキャッシュメモリ26に格納されていた場合の処
理も含んでいる。ライト対象のトラック300が条件A
〜条件Cを満たしている情報を含むパーシャルライト要
求を受け取った時、この処理フローを実行する。
【0080】以下、図15の第1の実施形態における処
理フローと異なる点を中心に説明を行う。ステップ24
00では、指定情報4で受け取ったレコード番号,指定
情報6で受け取ったライトデータ量により、当該レコー
ド301のトラック300上の物理位置を計算する。ス
テップ2401では、この計算した物理位置が実際のト
ラック300の範囲内に入っているかをチェックする。
入っていない場合、ステップ2412へジャンプする。
入っている場合、ステップ2402へ移行する。ステッ
プ2402では、ライト対象となるトラック300に対
してセグメント400を割り当ててあるかをチェックす
る。既にセグメント400が割り当て済みの場合、ステ
ップ2407にジャンプする。まだ割り当てていない場
合は、ステップ2403へ移行する。ステップ240
3,ステップ2404の処理は、セグメント400,セ
グメント管理情報500を割り当てていなかったトラッ
ク300に対して、これらの資源を割り当て、セグメン
ト管理情報500を初期化する処理である。これらの処
理は、図15のステップ1301,ステップ1302と
同様の処理である。ステップ2405,ステップ240
6は、それまでキャッシュメモリ26に存在しなかった
レコード301に対してパーシャルライト要求を受け付
けた時の処理である。この内容も、図15のステップ1
303,ステップ1304と同様である。ステップ24
06の処理の後、ステップ2411にジャンプする。一
方、ステップ2407では、指定情報6により受け取っ
たライトデータ量の正当性のチェックが可能か否かを判
別する。
【0081】ライト対象となるレコード301が制御レ
コード310の場合は、条件Cにより、トラック300
上の制御レコード310のデータ部長602は特定の基
準値であるから、CPU20が指定したライトデータ量
と,制御レコード310のデータ部601の基準長とを
比較することで、正当性のチェックが可能である。ライ
ト対象となるレコード301が制御レコード310以外
の場合は、条件Bにより、制御レコード310以外のレ
コード301のデータ部長602は等しいから、制御レ
コード以外のレコード301が1つでもキャッシュメモ
リ26に格納されていれば、CPU20が指定したライ
トデータ量と,キャッシュメモリ26に格納されている
制御レコード以外のレコード301のデータ部長とを比
較することで、正当性チェックが可能となる。正当性の
チェックが不可能なら、ステップ2409へジャンプす
る。正当性のチェックが可能なら、ステップ2408へ
移行する。
【0082】ステップ2408では、正当性のチェック
を行なう。正当でないなら、CPU20にエラー報告を
するため、ステップ2412へジャンプする。正当な
ら、ステップ2409へ移行する。ステップ2409で
は、ライト対象のレコード301がキャッシュメモリ2
6に格納されているか否かをチェックする。これは図1
5のステップ1305と同様である。格納されていない
場合、前記ステップ2405へジャンプする。格納され
ている場合は、ステップ2410に移行する。ステップ
2410では、キャッシュメモリ26に格納しているデ
ータ部601に、チャネル22から受け取ったデータを
書き込む。ステップ2411では、セグメント管理情報
500の必要な部分の更新を行い、さらに、ライト処理
の完了をチャネル22経由でCPU20に報告し、処理
を終了させる。一方、ステップ2412では、ライトデ
ータ量が妥当でなかったことを、チャネル22を経由し
てCPU20に報告し、処理を終了させる。
【0083】図30は、ライトアフタスケジュール部1
1の処理フロー図である。この処理フローは、ディレク
タ25が空いた時間を利用して実行する。まず、ステッ
プ2500は、図16の第1の実施形態におけるステッ
プ1500と同様の動作である。ステップ2501で
は、ライトアフタ開始レコード番号2300に、実行対
象としたトラック300に対応したセグメント管理情報
500内の更新レコードポインタ807がnull値で
ない最も小さいレコード番号602を設定する。条件A
により、レコード番号602の小さい順にライトアフタ
レコード160を選択すると、図33に示すように、円
板308の回転方向と逆方向に書き込み処理を進めるこ
とができ、効率を上げられる。ステップ2502では、
実行対象としたディスク装置24に対して、ライトアフ
タ対象とするトラック300への位置付け要求を発行す
る。
【0084】図31は、ライトアフタ転送部12の処理
フロー図である。この処理フローの実行契機は、図30
のステップ2502で発行したディスク装置24への位
置付け要求が完了した時である。ステップ2600で
は、最初にライト処理の対象とするライトアフタレコー
ド160として、ライトアフタ開始レコード番号230
0に対応した更新レコードポインタ807が指すライト
アフタレコード160を選択する。ステップ2601で
は、更新レコードポインタ807に対応したライトアフ
タレコード160のトラック300上の物理的書き込み
位置を計算する。ステップ2602では、前記計算した
物理的書き込み位置を含む一定範囲内に実際にレコード
301が記憶されているか否かをチェックする。記憶さ
れていない場合、ステップ2610へジャンプする。記
憶されている場合は、ステップ2603に移行する。ス
テップ2603では、記憶されていたレコード301の
制御部601を読み出す。ステップ2604では、読み
出した制御部601のレコード番号602と,更新レコ
ードポインタ807にポイントされた擬似制御部100
0あるいは制御部600内のレコード番号602のチェ
ックを行う。一致しない場合、エラーであるため、ステ
ップ2612にジャンプする。一致した場合は、ステッ
プ2605に移行する。ステップ2605では、読み出
した制御部601のデータ部長603と,更新レコード
ポインタ807にポイントされた擬似制御部1000あ
るいは制御部600内のデータ部長603のチェックを
行なう。一致しない場合、エラーであるため、ステップ
2611へジャンプする。一致した場合は、ステップ2
606に移行する。ステップ2606では、ライトアフ
タデータ160を、トラック300上に書き込む。ステ
ップ2607では、次にレコード番号602の値が大き
く、且つ、null値でない更新レコードポインタ80
7を見つける。見つからない場合、そのトラック300
についての全てのライトアフタレコード160の書き込
みが完了したことになるため、ステップ2613にジャ
ンプする。見つかった場合、ステップ2608に移行す
る。ステップ2608では、見つかった更新レコードポ
インタ807に対応するレコード301までの間隔を計
算し、一定値以上あるか否かをチェックする。一定値未
満の場合、見つかった更新レコードポインタ308に対
応するレコード301の書き込み処理を実行するため、
前記ステップ2601へジャンプする。一定値以上ある
場合は、ステップ2609に移行する。ステップ260
9では、ディスク装置24への位置付け要求を発行し、
一度、処理を中断する。この時、ライトアフタ開始レコ
ード番号2300に、次にライトアフタ対象とするレコ
ード301のレコード番号602を設定しておく。ま
た、セグメント管理情報500の必要な部分の更新も行
っておく。一方、ステップ2610では、レコード物理
位置不一致情報2301をセットする。そして、ステッ
プ2614へジャンプする。
【0085】一方、ステップ2611では、フィールド
長不一致情報1204をセットする。そして、ステップ
2614へジャンプする。ステップ2612〜ステップ
2614は、図17のステップ1508〜ステップ15
10の処理と同様であり、それぞれ、レコード番号不一
致情報1203のセット,セグメント管理情報500の
更新,ライトアフタ実行中フラグ1200のリセットを
実行する。
【0086】図32は、ライトアフタエラー判定部13
の処理フローである。この処理フローの実行契機は、図
18の第1の実施形態における処理フローの場合と同様
であり、チャネル22経由でCPU20からの入出力要
求を受け付けた時である。ステップ2700では、入出
力対象となるディスク装置24に対応したライトアフタ
情報1100内のレコード番号不一致情報1203,フ
ィールド長不一致情報1204あるいはレコード物理位
置不一致情報2301がセットされているか否かをチェ
ックする。いずれもセットされていなければ、処理を終
了させる。いずれかがオンであれば、ステップ2701
に移行する。ステップ2701では、CPU20に対し
て発生したエラーの報告を行う。
【0087】次に、図35〜図41を参照して、第4の
実施形態を説明する。この第4の実施形態は、ライト対
象のレコード301がキャッシュメモリ26に格納され
ていない場合、制御装置23が保持している情報に基づ
いてディレクタ25が判断し、キャッシュメモリ26に
データを書き込んだ段階で、ライト処理を完了させるも
ので、且つ、ライト対象となったレコード301のトラ
ック300上の物理的書き込み位置を計算することによ
り、ライトアフタ処理の効率化を図るものである。制御
装置23が保持している情報は、各トラック300が前
記条件A〜条件Cを満足するか否かを表す情報である。
【0088】図35は、本実施形態における情報処理シ
ステムを詳細に表したブロック図である。図26に示し
た第3の実施形態との相違点は、以下のとおりである。
まず、CPU20からの指定情報3500は、指定情報
7がない点が異なる。次に、ライトアフタ用メモリ27
内に、ディスク装置24上の各トラック300が、条件
A〜条件Cを満足するか否かを表す情報を有する点が異
なる。次に、実行条件c3410は、ディレクタ25が
ライトアフタ用メモリ27内の情報により条件を判別す
る点が異なる。
【0089】キャッシュメモリ26,ディレクトリ2
8,セグメント管理情報500,トラック票501およ
び空きセグメントキュー先頭ポインタ502は、それぞ
れ、図6,図8,図27,図10および図11に示した
構成と同様である。
【0090】図36は、本実施形態におけるライトアフ
タ用メモリ27の構成である。図20に示した第3の実
施形態における構成と異なる点は、ライトアフタトラッ
ク情報a1700の代りに、ライトアフタトラック情報
b2800を含む点である。ライトアフタ情報b280
0も各ディスク装置24に対応して設ける。
【0091】図37は、前記ライトアフタトラック情報
b2800の構成を示したものである。ライトアフタト
ラック情報b2800は、以下の情報により構成され
る。それぞれの情報は、ディスク装置24の各トラック
300ごとに保持される。トラック状態b2900…対
応するトラック300が条件A〜条件Cを満たしている
状態か,満たしていない状態か,いずれとも不明の状態
かを表す。固定長データ部情報2901…対応するトラ
ック300が条件A〜条件Cを満足するとき、全てのレ
コード301の間で共通値となるデータ部601の長さ
を表す。
【0092】図38は、トラック状態b2900の状態
遷移を示すものである。トラック状態b2900の状態
遷移の契機は、図22に示した第2の実施形態における
トラック情報a1800の状態遷移の契機と同様であ
る。すなわち、そのトラック300が条件A〜条件Cを
満たしているか否かが不明の状態401でパーシャルラ
イト要求を受け付けた時は、当該トラック300が条件
A〜条件Cを満足するか満足しないかをチェックし、そ
の結果をトラック状態b2900に格納する。また、当
該トラック300に対するフォーマットライト要求を受
け付けた時は、当該トラック300のトラック状態b2
900が条件A〜条件Cを満足しているか否かが不明の
状態401に戻す。
【0093】トラック情報b2900,固定長データ部
情報2901の格納順序も、図22に示した第2の実施
形態におけるトラック情報a1800と同様であり、ト
ラック番号順に格納される。ディレクタ25の構成は、
図23の第2の実施形態と同様である。ライトアフタス
ケジュール部11,ライトアフタ転送部12およびライ
トアフタエラー判定部13の処理フローは、図30〜図
32に示した第3の実施形態の処理フローと同様であ
る。ただし、キャッシュパーシャルライト部10,ライ
トアフタトラック情報管理部a14およびライトアフタ
トラック情報管理部b15の処理フローは異なるため、
以下、説明する。
【0094】図39は、キャッシュパーシャルライト部
10の処理フロー図である。図15の第1の実施形態に
おける処理フローと同様、ライト対象のレコード301
が既にキャッシュメモリ26に格納されていた場合の処
理も含んでいる。この処理フローの実行契機は、ディレ
クタ25が、チャネル22経由でCPU20から受け付
けたパーシャルライト要求の処理対象となるトラック3
00のトラック状態b2900が、条件A〜条件Cを満
足している状態402になっている時である。
【0095】ステップ3000では、CPU20から受
け取ったライトデータ量の正当性をチェックする。本実
施形態では、ライト対象となるトラック300にセグメ
ント400を割り当てていない場合でも、固定長データ
部情報2901の値により、ライトデータ量の正当性の
チェックが可能となる。ライトデータ量に正当性がない
場合、ステップ3011へジャンプする。正当性がある
場合、ステップ3001に移行する。ステップ3001
以下の処理は、図29の処理フローに含まれる内容であ
る。すなわち、ステップ3001〜ステップ3007
は、図29のステップ2400〜ステプ2406に対応
する。また、ステップ3008〜ステップ3011は、
図29のステップ2409〜ステプ24012に対応す
る。
【0096】図40(a)(b)は、ライトアフタトラック
情報管理部a14の処理フロー図である。図24に示す
第3の実施形態における処理フローとの差異は、図24
の処理フローがライトアフタトラック情報a1700を
取扱の対象とするのに対し、図40の処理フローはライ
トアフタトラック情報b2800を取扱の対象とする点
である。
【0097】図40(a)の処理フローの実行契機は、図
24(a)の実行契機と同様である。ステップ3100で
は、パーシャルライト対象となったトラック300に対
する位置付け要求を発行する。
【0098】図40(b)の処理フローの実行契機は、前
記ステップ3100で発行した位置付け要求が完了した
時である。ステップ3101では、パーシャルライト対
象となるトラック300上のレコード301を全て読み
出し、当該トラック300が、条件A〜条件Cを満足す
るか否かを判定する。ステップ3102では、前記ステ
ップ3101での判定結果を、当該トラック300に対
応するトラック状態b2900に格納する。さらに、条
件A〜条件Cを満足する場合には、データ部601の長
さを、固定長データ部情報2901に設定し、処理を終
了させる。
【0099】図41は、ライトアフタトラック情報管理
部b15の処理フロー図である。図25に示す第3の実
施形態における処理フローとの差異は、図25の処理フ
ローがライトアフタトラック情報a1700を取扱の対
象とするのに対し、図41の処理フローはライトアフタ
トラック情報b280を取り扱いの対象とする点であ
る。図41の処理フローの実行契機は、図25の実行契
機と同様である。ステップ3200では、ライト対象と
なるトラック300に対応したトラック状態b2900
を、条件A〜条件Cを満たしているか否か不明の状態4
01にし、処理を終了する。
【0100】さて、前記第3の実施形態および上記第4
の実施形態では、キャッシュメモリ26に格納する際
に、そのレコードを格納する位置の連続性についての考
慮を全く行なっていない。しかし、トラック300上で
物理的に連続した位置にあるレコード301を、セグメ
ント400でも連続して格納するという制限をつけた方
がキャッシュ制御が簡単になるというメリットがある。
この制限を、連続格納制限と呼ぶ。たとえば、図42に
示すように、トラック300上で物理的に連続してレコ
ードm3600とレコードn3601とがあるものとす
る。トラック300上で連続しているレコードm360
0とレコードn3601とを連続して読み出す処理は、
CPU20がしばしば要求する処理である。この場合
に、セグメント400にレコードm3600とレコード
n3601とを連続して格納しておけば、ディレクタ2
5は、セグメント400内の領域を単純に連続して読み
出し、CPU20に送ればよい。つまり、レコードn3
601を転送する際、セグメント管理情報500内のレ
コードポインタn3603を参照する処理を削減するこ
とができる。
【0101】上記の連続格納制限を守るためには、ディ
レクタ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は、レコードk
4300を、それまでセグメント400内に格納してい
たレコード301の後に格納すれば、連続格納条件を満
足させることができる。
【0102】連続格納制限は、ライト対象となるトラッ
ク300が条件A〜条件Cを満足することをCPU20
から通知してもらう場合(第3の実施形態)にも、制御
装置23が各トラック300ごとに条件A〜条件Cを満
足するか否かに関する情報をもつ場合(第4の実施形
態)にも、いずれにも適用可能であり、その場合、セグ
メント管理情報500のみが、この連続格納制限を設け
ない場合と異なる。
【0103】図44は、この連続格納制限を設ける第5
の実施形態におけるセグメント管理情報500の構成を
示すものである。図27の第3の実施形態における構成
と異なる点は、キャッシュ内最大レコード番号3700
を含む点である。キャッシュ内最大レコード番号370
0は、キャッシュメモリ26に格納されているレコード
301のレコード番号602の中の最大の値を表してい
る。
【0104】図29〜図32,図39〜図41の処理フ
ローは基本的にそのまま適用できる。ただし、図29,
図39のキャッシュパーシャルライト部10の処理フロ
ーの実行契機が異なる。すなわち、ライト対象となるト
ラック300が条件A〜条件Cを満足し、且つ、連続格
納条件1〜連続格納条件3が満足された時が実行契機と
なる。
【0105】
【発明の効果】本発明の制御装置によれば、次の効果が
得られる。 (1)ディスク装置からキャッシュメモリへのデータ転送
を行うことなく、データをキャッシュメモリに格納し、
その段階でライト処理の完了をデータ処理装置に報告
し、キャッシュメモリのデータは非同期にディスク装置
に書き込むため、データ処理装置から書き出すデータが
その時点でキャッシュメモリに格納されていない場合で
も、ライト処理を高速化できる。 (2)保持していたレコードフォーマット情報に基づいて
データをキャッシュメモリに格納し、その段階でライト
処理の完了を報告するため、データ処理装置から書き出
すデータがその時点でキャッシュメモリに格納されてい
ない場合でも、ライト処理を高速化できる。 (3)レコード番号とデータの転送長が妥当か否かを判断
するため、ライトアフタ処理でのエラー発生を回避でき
る。 (4)書き込み要求が指定するレコードフォーマット情報
に基づいてデータをキャッシュメモリに格納し、その段
階でライト処理の完了を報告するため、データ処理装置
から書き出すデータがその時点でキャッシュメモリに格
納されていない場合でも、ライト処理を高速化できる。 (5)データの転送長が妥当か否かを判断するため、ライ
トアフタ処理でのエラー発生を回避できる。
【図面の簡単な説明】
【図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の状態遷移図。
【図23】本発明の第2の実施形態におけるディレクタ
25の構成例示図。
【図24】本発明の第2の実施形態におけるライトアフ
タトラック情報管理部a14の処理フロー図。
【図25】本発明の第2の実施形態におけるライトアフ
タ情報管理部b15の処理フロー図。
【図26】本発明の第3の実施形態における制御装置2
3の基本構成を示すブロック図。
【図27】本発明の第3の実施形態におけるセグメント
管理情報500の構成例示図。
【図28】本発明の第3の実施形態におけるライトアフ
タ情報1100の構成例示図。
【図29】本発明の第3の実施形態におけるキャッシュ
パーシャルライト部10の処理フロー図。
【図30】本発明の第3の実施形態におけるライトアフ
タスケジュール部11の処理フロー図。
【図31】本発明の第3の実施形態におけるライトアフ
タ転送部12の処理フロー図。
【図32】本発明の第3の実施形態におけるライトアフ
タエラー判定部12の処理フロー図。
【図33】効率的なライトアフタレコード160の書き
込み方法を示す概念図。
【図34】効率的なライトアフタレコード160の書き
込み方法を示す概念図。
【図35】本発明の第4の実施形態における制御装置2
3の基本構成を示すブロック図。
【図36】本発明の第4の実施形態におけるライトアフ
タ用メモリ27の構成例示図。
【図37】本発明の第4の実施形態におけるライトアフ
タトラック情報b2800の構成例示図。
【図38】本発明の第4の実施形態におけるトラック状
態b2900の状態遷移図。
【図39】本発明の第4の実施形態におけるキャッシュ
パーシャルライト部10の処理フロー図。
【図40】本発明の第4の実施形態におけるライトアフ
タトラック情報管理部a14の処理フロー図。
【図41】本発明の第4の実施形態におけるライトアフ
タトラック情報管理部b15の処理フロー図。
【図42】トラック300上の連続した位置に記憶され
たレコード301とセグメント400における連続した
領域に格納したレコードの例示図。
【図43】連続格納条件を説明するためのセグメント4
00の構成例示図。
【図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) 特開 平1−113844(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 3/06 G06F 12/08

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】 データ処理装置と、該データ処理装置に
    よって使用される複数のレコードを保持するディスク装
    置とに接続された制御装置であって、 前記ディスク装置のいずれかのレコードに格納されるデ
    ータを保持するキャッシュメモリと、 前記キャッシュメモリになく前記ディスク装置にあるデ
    ータに対するデータ書き込み要求を前記データ処理装置
    から受け取る手段と、 前記データ書き込み要求が指定するデータを、前記ディ
    スク装置から前記キャッシュメモリへのデータ転送を伴
    うことなく、前記キャッシュメモリに書き込む手段と、 前記書き込み要求の完了を前記データ処理装置に報告す
    る手段と、 前記キャッシュメモリに書き込まれたデータを非同期に
    前記ディスク装置に書き込む手段とを備えたことを特徴
    とする制御装置。
  2. 【請求項2】 データ処理装置と、該データ処理装置に
    よって使用される複数のレコードを保持するディスク装
    置とに接続された制御装置であって、 前記ディスク装置のいずれかのレコードに格納されるデ
    ータを保持するキャッシュメモリと、 該キャッシュメモリになく前記ディスク装置にあるレコ
    ードのレコードフォーマット情報を保持する保持手段
    と、 前記データ処理装置からいずれかのレコードへの書き込
    み要求が発生したことに応じて、当該レコードが該キャ
    ッシュメモリにない場合には、前記保持手段の該レコー
    ドに対応するレコードフォーマット情報に基づいて、前
    記データ処理装置から前記キャッシュメモリへの当該書
    き込み要求が指定するデータの転送を制御する転送制御
    手段と、 書き込み要求の処理が完了したことを前記データ処理装
    置に通知する通知手段とを備えたことを特徴とする制御
    装置。
  3. 【請求項3】 請求項2に記載の制御装置において、 前記保持手段に保持されるレコードフォーマット情報
    は、レコード番号とレコード長とを含み、 前記書き込み要求が指定するレコード番号とデータの転
    送長が妥当か否かを、レコードフォーマット情報が保持
    するレコード番号とレコード長とに基づいて判断する判
    断手段を備えることを特徴とする制御装置。
  4. 【請求項4】 データ処理装置と、該データ処理装置に
    よって使用される複数のレコードを保持するディスク装
    置とに接続された制御装置であって、 前記ディスク装置のいずれかのレコードに格納されるデ
    ータを保持するキャッシュメモリと、 前記データ処理装置から書き込み対象のレコードのレコ
    ードフォーマット情報が指定された書き込み要求が発生
    したことに応じて、当該書き込み要求が指定するレコー
    ドが前記キャッシュメモリに保持されていない場合に
    は、当該レコードフォーマット情報に基づいて、前記デ
    ータ処理装置から前記キャッシュメモリへの当該書き込
    み要求が指定するデータの転送を制御する転送制御手段
    と、 書き込み要求の処理が完了したことを前記データ処理装
    置に通知する通知手段とを備えたこと特徴とする制御装
    置。
  5. 【請求項5】 請求項4に記載の制御装置において、 前記レコードフォーマット情報は、レコード長と当該レ
    コードが前記ディスク装置に存在するか否かを示す情報
    を含み、 前記書き込み要求が指定するデータの転送長が妥当か否
    かを、レコードフォーマット情報が保持するレコード長
    と当該レコードが前記ディスク装置に存在するか否かを
    示す情報とに基づいて判断する判断手段を備えることを
    特徴とする制御装置。
JP10160857A 1998-06-09 1998-06-09 制御装置 Expired - Lifetime JP2913477B2 (ja)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Related Parent Applications (1)

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

Publications (2)

Publication Number Publication Date
JPH10340161A JPH10340161A (ja) 1998-12-22
JP2913477B2 true JP2913477B2 (ja) 1999-06-28

Family

ID=15723892

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP2913477B2 (ja)

Also Published As

Publication number Publication date
JPH10340161A (ja) 1998-12-22

Similar Documents

Publication Publication Date Title
JP2826857B2 (ja) キャッシュ制御方法および制御装置
US4575827A (en) Self-archiving data recording
JP2635023B2 (ja) フアイルデータ用ラベル書き込み方法
US7325112B2 (en) High-speed snapshot method
US6230239B1 (en) Method of data migration
US5937427A (en) Information recording apparatus and method capable of efficient erase, write and verify processes
US20090287890A1 (en) Optimizing write traffic to a disk
US5293618A (en) Method for controlling access to a shared file and apparatus therefor
US8359439B2 (en) Backup apparatus, backup method, and file reading apparatus
JP2804974B2 (ja) 光磁気ディスクのデータ整合性を維持する方法および装置
JP3433978B2 (ja) 入出力制御装置
US8688938B2 (en) Data copying
US20010020260A1 (en) Method and system of reading and writing data by a disk drive apparatus
JP2913477B2 (ja) 制御装置
JP3138575B2 (ja) フアイル複写移行方式
JP2002015516A (ja) 光ディスクへの記録に備え、システムメモリに転送されたデータを処理するための方法
JPH01255028A (ja) 外部記憶装置のアクセス方法
JPH01315029A (ja) 追記型光ディスク装置の試験方法
JP2963470B2 (ja) ディスクキャッシュサブシステムの制御方法
JPH04177522A (ja) 2次記憶装置管理装置
JPS6336375A (ja) デ−タフアイル装置におけるフアイル管理方法
JPH09128291A (ja) キャッシュメモリ管理方法
JPH02267789A (ja) 追記型光ディスク装置
JPH01223673A (ja) データ記録制御方式
JP2002189634A (ja) データ保管システム

Legal Events

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

Free format text: PAYMENT UNTIL: 20080416

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20090416

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20090416

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20100416

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20100416

Year of fee payment: 11