JPH03172946A - データ書き出し制御方式および装置 - Google Patents

データ書き出し制御方式および装置

Info

Publication number
JPH03172946A
JPH03172946A JP1312399A JP31239989A JPH03172946A JP H03172946 A JPH03172946 A JP H03172946A JP 1312399 A JP1312399 A JP 1312399A JP 31239989 A JP31239989 A JP 31239989A JP H03172946 A JPH03172946 A JP H03172946A
Authority
JP
Japan
Prior art keywords
data
write
disk
track
written
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.)
Pending
Application number
JP1312399A
Other languages
English (en)
Inventor
Toshiaki Tsuboi
俊明 坪井
Akira Yamamoto
彰 山本
Shigeo Honma
繁雄 本間
Michio Miyazaki
宮崎 道生
Hiroyuki Kitajima
北嶋 弘行
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Microcomputer System Ltd
Hitachi Ltd
Original Assignee
Hitachi Ltd
Hitachi Microcomputer Engineering 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, Hitachi Microcomputer Engineering Ltd filed Critical Hitachi Ltd
Priority to JP1312399A priority Critical patent/JPH03172946A/ja
Priority to DE4038325A priority patent/DE4038325A1/de
Publication of JPH03172946A publication Critical patent/JPH03172946A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、ディスクキャッシュからディスク装置にデー
タを書き出す際のデータ書き出し制御方式に関する。
(従来の技術〕 従来、制御装置内のキャッシュメモリからディスク装置
にデータを書き出す処理に関しては、以下のような技術
が知られている。即ち、制御装置は、処理装置からディ
スク装置への書き出しデータをディスクキャッシュに書
き込んだ段階で書き出しの完了を制御装置に報告する。
該データのディスクキャッシュへの書き込みと非同期に
、制御装置はディスクキャッシュへ書き込んだデータを
ディスク装置に書き出す、このような制御をライトアフ
タキャッシュ制御と云い、ディスクキャッシュ内に存在
し、ディスク装置に書き出していないデータをライトア
フタデータと云う。
特公昭59−7986号公報においては、トラック単位
あるいはレコード単位にデータバッファを持ち(データ
バッファへのデータの格納単位をディスクのトラックや
レコードに対応させている)このデータバッファからフ
ァーストイン/ファーストアウトやLRU (Leas
t Recently旦sed )制御により書き出し
トラックを選択することが示されている。
特開昭58−105365公報においては、カウント、
キー、データ形式のトラックフォーマットにおいて、カ
ウント部、キ一部、データ部それぞれをフィールドと呼
ぶ、トラック単位のバッファを持ち、フィールド毎に識
別のためのフラグを設け、書き込みの更新が行なわれた
フィールドのみを磁気ディスクに書き戻す方法が示され
ている。
〔発明が解決しようとする課題〕
ライトアフタキャッシュ制御を行なうディスク制御装置
では、処理装置からディスク装置への書き出しデータを
、ディスクキャッシュに書き込んだ段階で書き出しの完
了を処理装置に報告する。
このため、上記完了報告までの時間は、上記データをデ
ィスク装置に書き出した段階で書き出しの完了を処理装
置に報告する方法と比べ、高速化される。しかし、ディ
スクキャッシュ内に存在し、ディスク装置に書き出して
いないライトアフタデータは、いずれディスク装置に書
き出す必要がある。ライトアフタデータをディスク装置
に書き出す処理をライトアフタ処理と云う。
このライトアフタ処理は、既に、書き出しの完了を処理
装置に報告したデータをディスクキャッシュからディス
ク装置に書き出す処理である。このため、該処理によっ
てディスク装置が占有される時間を削減することが、デ
ィスク制御装置が単位時間当たりに処理できる入出力回
数、すなわち、スループットを向上することにつながる
ところで1周知のようにディスク装置は、記録媒体であ
る磁気ディスク複数枚と、前記磁気ディスクの回転中心
から径方向に同時に同方向に移動し、前記磁気ディスク
上のデータを読み書きする複数のヘッドとで構成される
。前記磁気ディスク上には、前記磁気ディスクの回転中
心から同心円状にデータを記録するトラックが設けられ
ており、トラックには、データの記録単位の一種である
レコードが複数個格納されている。前記ヘッドを前記磁
気ディスクの回転中心から径方向に移動して、読み書き
するトラックへ位置付ける動作をシークと云う。このと
き、複数のヘッドにより、同時に複数のトラックが新た
なヘッドの移動なしに読み書き可能となる。このトラッ
クの集合をシリンダと云う。
スループット向上のためには、前述したようにライトア
フタ処理によるディスク装置の占有時間を削減すればよ
い。このためには、ライトアフタ処理におけるシーク回
数と、シーク後、目的のレコードにヘッドが達するまで
の回転待ち時間を削減することが重要となる。シークに
要する時間と、前記回転待ち時間を加えた時間を位置付
は時間と云う。
また、ディスク装置に書き出すライトアフタデータ量よ
り、処理装置からの書き出しによりディスクキャッシュ
に格納されろライトアフタデータ量のほうが多いと、デ
ィスクキャッシュがライトアフタデータで占有されてし
まう、このとき、新たなライトアフタデータをディスク
キャッシュに格納するためには、ライトアフタ処理を行
なう必要がある。このような状況では、前記完了報告ま
での時間は、上記データをディスク装置に書き出した段
階で書き出しの完了を処理装置に報告する方法とほぼ等
しくなってしまう。これを回避するには、ディスク制御
装置が、単位時間にディスク装置に書き出せるライトア
フタデータの量を増加する必要がある。このためにも、
ライトアフタ処理におけるシーク回数と前記回転待ち時
間を削減することが重要となる。
しかしながら。
(1)特公昭59−7986号公報に記載された技術は
、トラック単位あるいはレコード単位のデータをディス
ク装置に書き出すため、データを書き出すたびに位置付
は処理が必要になるという問題があった。また、 (2)特開昭58−105365号公報では、フィール
ド単位に書き出しを行なうため、トラック単位に位置付
は処理が必要になるという問題があった・・ 本発明は、前記問題点を解決するためになされたもので
ある。
本発明の目的は、シーク回数と回転待ち時間を削減した
ライトアフタデータの書き出し制御方式を提供すること
にある。
本発明の他の目的は、前記した制御方式を用い、ライト
アフタ処理を効率良く実行する計算機システムを提供す
ることにある。
【課題を解決するための手段〕
前記目的を達成するために、 (1)ディスクキャッシュ内に存在してディスク装置に
書き出していないデータを、ディスクキャッシュからデ
ィスク装置のトラックに書き出す際、ディスクキャッシ
ュに格納したトラックの内容のうち、最も長い時間入出
力対象となっていない前記内容に対応するトラックを選
択し、該トラックにヘッドを位置付けた場合、ヘッドが
同時に位置付けられる複数のトラックに関する前記デー
タの書き出し順序を決定し、前記書き出し順序に従い、
前記データをディスクキャッシュからディスク装置に書
き出す。
ヘッドが同時に位置付けられる複数のトラックに関する
前記データの書き出し順序の決定は、以下のいずれかに
より行なう。
(a)トラック毎に、前記データのトラック上での配列
順に書き出しを行なう。
(b)磁気ディスクの1回転内に、トラックに対する前
記データの全てを、ディスクキャッシュからディスク装
置に書き出せるトラックの集合を選択し、前記データが
ヘッドに位置付けられる順に書き出しを行なう。
(c)前記データがヘッドに位置付けられる順に、まず
、前記データをディスクキャッシュに格納したトラック
を検索し、該トラレフの前記データが連続するかぎりこ
れを選択し、前記データが連続しない場合、まだ書き出
し順序を決定していない前記データのうち、前記データ
が前記ヘッドに位置付けられるまでの時間が最小となる
ものを選択する。
(2)ディスクキャッシュ内に存在してディスク装置に
書き出していないデータを、ディスクキャッシュからデ
ィスク装置の前記トラックに書き出す際、ヘッドが前記
データから次の前記データに位置付けられるまでの時間
間隔を算出し、前記時間間隔が、ディスク制御装置とデ
ィスク装置の切り離しに要する時間と接続に要する時間
を加えた時間より大きい場合、ディスク装置に回転位置
検出を指示し、ディスク制御装置とディスクpiの切り
離しを行なう。
〔作 用〕
前述した手段によれば。
(1)ディスクキャッシュ内に存在してディスク装置に
置き出していないデータを、ディスクキャッシュからデ
ィスク装置のトラックに書き出す際、ディスクキャッシ
ュに格納したトラックの内容のうち、最も長い時間入出
力対象となっていない前記内容に対応するトラン、りを
選択し、該トラックにヘッドを位置付けた場合、ヘッド
が同時に位置付けられる複数のトラックに関する前記デ
ータの書き出し順序を決定し、前記書き出し順序に従い
前記データをディスクキャッシュからディスク装置に書
き出す。
ヘッドが同時に位置付けられる複数のトラックに関する
前記データの書き出し順序の決定は、以下のいずれかに
より行なう。
(a)トラック毎に、前記データのトラック上での配列
順に書き出しを行なう順序とするため、1回のシークで
シリンダ内の各トラックのライトアフタデータを、トラ
ック毎にディスクキャッシュからディスク装置に書き出
せる。
(b)磁気ディスクの1回転内に、トラックに対する前
記データの全てを、ディスクキャッシュからディスク装
置に書き出せるトラックの集合を選択する。このため、
1回のシークで複数のトラックにライトアフタデータを
書き出せ、かつ、磁気ディスクの1回転内で複数トラッ
クにライトアフタデータを書き出すことができる。従っ
て、ディスクキャッシュにライトアフタデータをもつト
ラック数より、このトラックのライトアフタデータをデ
ィスク装置に書き出すのに要するディスク回転数を少な
くできる。
(c)前記データがヘッドに位置付けられる順に、まず
、前記データをディスクキャッシュに格納したトラック
を検索し、該トラックの前記データが連続するかぎりこ
れを選択する。前記データが連続しない場合、まだ書き
出し順を決定していない前記データのうち、前記データ
が前記ヘッドに位置付けられるまでの時間が最小となる
ものを選択する。このため、次の前記データを書き出す
までの磁気ディスクの回転待ちが最小となる。1回のシ
ークで複数のトラックにライトアフタデータを書き出し
、かつ、前記データはシリンダ内のトラックから選択す
るため、磁気ディスクの1回転に複数のトラックにライ
トアフタデータを書き出せる。従って、ディスクキャッ
シュにライトアフタデータをもつトラック数より、この
トラックのライトアフタデータをディスク装置に書き出
すのに要するディスク回転数を少なくすることも可能と
なる。
(2)ディスクキャッシュ内に存在してディスク装置に
書き出していないデータを、ディスクキャッシュからデ
ィスク装置の前記トラックに書き出す際、ヘッドが前記
データから次の前記データに位置付けられるまでの時間
間隔を算出し、前記時間間隔が、ディスク制御装置とデ
ィスク装置の切り離しに要する時間と接続に要する時間
を加えた時間より大きい場合、ディスク装置に回転位置
検出を指示し、ディスク制御装置とディスク装置の切り
離しを行なう、このため、この切り離し時間にディスク
制御装置は、別のディスク装置に対する入出力を行なう
ことができ、スルーブツトを向上できる。
〔実施例〕
以下、本発明の実施例を図面を用いて具体的に説明する
なお、実施例を説明するための全図において、同一機能
を有するものは同一符号を付け、その繰り返しの説明は
省略する。
(実施例1) 第2図は、本発明の対象となる入出力サブシステムの構
成図である。入出力サブシステムは、制御装置20と1
台以上のディスク装置26からなり、上位システム(処
理装置)25からの入出力要求を受付け、その要求に従
って、入出力動作を実行する。制御装置20は、制御プ
ロセッサ21.ディレクトリ22、キャッシュ23から
なる。制御プロセッサ21は、制御装置20の内部の制
御、および、処理装置25とのデータ転送とディスク装
置26とのデータ転送とを制御するプロセッサである。
キャッシュ23は、ディスク装置26に格納されている
データの中で、処理装置25からのアクセス頻度が高い
データと、処理装置25からディスク装置26への書き
出しデータを格納するメモリである。ディレクトリ22
は、制御プロッセツサ21がキャッシュ23を管理、制
御するために必要な情報を格納するメモリである。
本発明の実施例では、制御プロセッサ21を1台として
いるが、複数台設け、上位システム25からの入出力経
路、ディスク装置26からの入出力経路を複数設けても
よいし、処理装置25とキャッシュ23とのデータ転送
処理、ディスク装置26とキャッシュ23間のデータ転
送処理を並列に実行させてもよい。
第34図は、本発明の実施例の制御プロセッサ21の内
容を示す図である。制御プロセッサ21には、キャッシ
ュ格納処理部341とライトアフタ処理部342からな
るライトアフタ制御部が存在する。ライトアフタ制御部
34Gは、処理!置25からディスク装置26への書き
出しデータを、キャッシュ23に書き込んだ段階で制御
装置20が処理装置25に書き出し完了を報告し、ディ
スク装置26へは上記完了報告と非同期に書き出す制御
を行なう、このような制御をライトアフタキャッシュ制
御と呼び、キャッシュ23に存在し、ディスク装置26
へ書き出していないデータをライトアフタデータ5と呼
ぶ。キャッシュ格納処理部341は、処理装置25から
ディスク装置26への書き出しデータを、キャッシュ2
3に書き込む処理を行なう、ライトアフタ処理部342
は、キャッシュ23に書き込んだ前記データをディスク
装置26に書き出す処理を行なう。
ディスク装置26においては、第33図に示すように、
記録媒体である複数の磁気ディスク33!の各々の両面
に同心円状に複数のトラック332が設けられており、
各々のトラック332には、データの記録単位の一種で
あるレコードが複数格納されている。磁気ディスク33
1各々の面には、磁気ディスク331の回転中心から径
方向に同時に同方向に移動して、目的のトラック332
への位置付は動作を行なうヘッド333が配置されてお
り、このヘッド333を介して任意のトラック332の
前記レコードの記録、再生を行なう。磁気ディスク33
!の回転中心から径方向に同時に同方向に移動して、目
的のトラック332への位置付ける動作をシークと呼ぶ
。シークを行なうことなく、すなわち、前記ヘッド33
3の磁気ディスク33!の回転中心からの距離を変える
ことなく、前記ヘッド333の選択操作のみで記録、再
生が可能なトラック332の集合をシリンダと呼ぶ。
本発明の実施例では、ライトアフタキャッシュ制御を行
なう制御装置20において、ライトアフタデータ5をキ
ャッシュ23からディスク装置26に書き出すライトア
フタ処理を示す。
第3図は、キャッシュ23の構成である。
キャッシュ23は、固定長のセグメント30k(k=a
 l b l・・・+n)に分割されている。1つのト
ラック332の内容全てをキャッシュ23に格納するに
は、1以上のセグメント30kが必要であるとする。セ
グメント30にの管理は、後述するディレクトリ22に
格納した情報により行なう、 第4図は、ディレクトリ22の内容である。
キャッシュ管理ブロック40i (i =B、b、・・
・+n)は、キャッシュ23内のセグメント30kを1
つ以上割当てているトラック332対応に存在する。キ
ャッシュ管理ブロック40iは、前方向ポインタ41i
、後方向ポインタ421.ブロック管理情報43i、セ
グメント管理情報44iからなる。ブロック管理情報4
3iは、対応するトラック332の更新情報を格納し、
セグメント管理情報44iは、キャッシュ管理ブロック
40iに割当てているセグメント30にの集合の位置情
報を管理する。キャッシュ管理ブロツク40iは、前方
向ポインタ41i、後方向ポインタ42iによりMRU
 (Most Recently Used)順にチエ
インされている。MRUポインタ45は、最も現在時刻
に近い時刻に入出力対象となったトラック332に対応
するキャッシュ管理ブロック40aをさす。L RU 
(Least Recently Used)ポインタ
46は、キャッシュ23内に格納されているトラック3
32の集合では、最も長い時間入出力対象となっていな
いトラック332に対応するキャッシュ管理ブロック4
0cをさす。トラック332を割当てていない、空いて
いるキャッシュ管理ブロック40iは、空きブロックポ
インタ47から前方向ポインタ41i、後方向ポインタ
42iによりチエインされる。空きブロックポインタ4
7は、チエイン最初のキャッシュ管理ブロック40dを
さし、チエイン最後のキャッシュ管理ブロック40fの
後方向ポインタ42fは、ヌル(null)とする。空
きセグメントフラグ49k (k =a、bs・・、n
)は、キャッシュ23内のセグメント30kに対応して
存在する。セグメント30にと空きセグメントフラグ4
9には、符号の添字が等しいもの同士が対応しているも
のとする。未使用のセグメント30には、セグメント3
0にのうち、未使用のセグメント30kに対応するフラ
グをオンして示す。シリンダ管理情報48j(j=a、
b、・・・tn)は、シリンダ単位にキャッシュ管理ブ
ロック40iの位置情報と各トラック332のライ1−
アフタデータ5の有無を管理する。ライトアフタ情報2
4は、ライトアフタ処理部342がライトアフタデータ
5をディスク族W126に書き出す際に用いる後述する
情報である。
第5図は、シリンダ管理情報48J F =apb+・
・・tn)の内容である。
シリンダ管理情報48jは、シリンダ毎に存在する。キ
ャッシュ管理ブロックアドレス50jは、シリンダ内の
トラック332毎に存在し、各々のトラック332に対
応するキャッシュ管理ブロック40iのアドレスを格納
する領域である。情報内容は、トラック332の内容が
キャッシュ23内に存在する場合、そのキャッシュ管理
ブロック40iのアドレスとし、キャッシュ23内に存
在しない場合、ヌル(null)とする。更新トラック
フラグ5Fは、トラック332毎にライトアフタデータ
5の有無を管理するフラグであり、キャッシュ23にラ
イトアフタデータ5をもつトラック332に対応する更
新トラックフラグ51jをオンする。
第6図は、ブロック管理情報43iの情報内容である。
トラック番号60iは、当トラック情報が管理するトラ
ック332の情報として、ドライブ番号、シリンダ番号
、トラック番号を格納する。更新ビットマツプ61iは
、ある固定長(本実施例の場合ではnバイト)の単位を
1ビツトとして、トラック332を複数ビットの列で表
すビットマツプであり、キャッシュ23にライトアフタ
データ6をもつレコードがトラック332上で格納され
ている領域に対応するビットをオンする。キャッシュ2
3にライトアフタデータ5をもつレコードをライトアフ
タレコードと呼ぶ。
第1図は、本発明におけるライトアフタキャッシュ制御
を示す図である。
前述のライトアフタキャッシュ制御を行なうライトアフ
タキャッシュ制御部340は、キャッシュ格納処理部3
41とライトアフタ処理部342からなる。
キャッシュ格納処理部341は、処理装置25からディ
スク装置26への書き出しデータを、キャッシュ23に
書き込む処理を行なう、ライトアフタ処理部342は、
キャッシュ23に書き込んだデータをディスク装置26
に書き出す処理を行なう。
ライトアフタ処理部342は、書き出し対象とする基準
のトラック332を選択する処理1Gと、基準とするト
ラック332にヘッド333を位置付けたとき。
同時に位置付けられるトラック332へのライトアフタ
データ5の書き出し順序を決定する処理12と。
この書き出し順序に従いライトアフタデータ5をディス
ク装置26に書き出す処理13からなる。以下、キャッ
シュ格納処理部341の処理内容を第7図で、ライトア
フタ処理部342の処理内容を第36図で説明する。
第7図は、キャッシュ格納処理部341において、キャ
ッシュ23にライトアフタデータ5を格納する際の本発
明に係る処理である。
ライトアフタデータ5を格納するブロック管理情報43
i内の更新ビットマツプ61iについて、ライトアフタ
データ5格納レコードの位置に対応するビットをオンす
る(ステップ70)。
ライトアフタデータ6が発生したシリンダに対応するシ
リンダ管理情報48jについて、ライトアフタデータ6
が発生したトラック332に対応する更新トラックフラ
グ51jをオンする(ステップ71)。
第36図は、ライトアフタ処理部342においてライト
アフタデータ6をディスク装置26に書き出すライトア
フタ処理である。
本発明の実施例では、予め定めた時間間隔で本処理を実
行する。まず、書き出し対象となる基準のトラック33
2を選択する(ステップ10)#キャッシュ23にライ
トアフタデータ5をもつトラック332があるかを判定
する(ステップ11)。該トラック332かない場合、
処理を終了する。該トラック332がある場合、基準と
するトラック332にヘッド333を位置付けたとき、
同時に位置付けられるトラック332のライトアフタデ
ータ6、すなわち、基準となるトラック332が含まれ
るシリンダ内のライトアフタデータ6、の書き出し順序
を決定しくステップ12)、書き出し順序に従いライト
アフタデータ5をディスク装置26に書き出す(ステッ
プ13)。
以下、1回のシークで、シリンダ内のトラック332に
ライトアフタデータ5を書き出す処理を説明する。
第36図の各ステップの詳細内容を以下に示す。
本発明の実施例では、トラック332に対するライトア
フタデータ5を、全て、キャッシュ23からディスク装
置2Gに書き出した後、シリンダ内の別のトラック33
2に対し、同様の書き出しを行なう。
このような書き出しを、トラック順序書き出しと呼ぶ。
第8図は1本発明の実施例における、ライトアフタデー
タ5の書き出し順を記憶するためのライトアフタ情報2
4の内容である0位置付は情報80は。
書き出し対象となるトラック332のディスク装置26
のドライブ番号、シリンダ番号等の位置付けに必要な情
報を記録する。エントリ数81は、書き出し対象エント
リの数を示す、エントリポインタ82は、書き出し中エ
ントリをポイントする。ブロックアドレス83は、書き
出し対象とするキャッシュ管理ブロック40iのアドレ
スを格納する9本発明の実施例では、ブロックアドレス
83を1エントリとして管理する。
第9図は、ライトアフタ処理の基準とするトラック33
2を選択する処理である。第36図のステップ10に対
応する。
まず、LRUポインタ46が示すキャッシュ管理ブロッ
ク40iを識別する(ステップ90)。第4薗では、キ
ャッシュ管理ブロック40cが検出される。キャッシュ
管理ブロック40iに対応するトラック332の更新ト
ラックフラグ51iがオンかを判定する(ステップ91
)、該フラグがオフの場合、前方向ポインタ41iがM
RUポインタ45を示すかを判定する(ステップ92)
。MRUポインタ45を示す場合、ライトアフタデータ
5が存在しないため、処理を終了する。MRUポインタ
45を示さない場゛合、前方向ポインタ41iが示すキ
ャッシュ管理ブロック40iを識別しくステップ93)
、ステップ91に進む。ステップ91において更新トラ
ックフラグ51iがオンの場合、トラック番号60iを
もとに位置付は情報8oを設定しくステップ94)。
エントリ数81に1を設定し、エントリポインタ82を
先頭エントリを示すように設定する(ステップ96)、
ブロックアドレス83に検出したキャッシュ管理ブロッ
ク40iのアドレスを設定する(ステップ95)、基準
とするトラック332の検索は、ファーストイン/ファ
ーストアウトによる方法、トラック332毎のキャッシ
ュ内滞在時間による選択等でもよい。
10図は、基準とするトラック332が含まれるシリン
ダ内のライトアフタデータ5の書き出しJffJ(を決
定する処理である。第36図のステップ13に対応する
本発明の実施例では、シリンダ内のライトアフタデータ
5について、トラック332毎に書き出す順序を決定す
る。
まず、基準とするトラック332が含まれるシリンダ管
理情報48jのキャッシュ管理ブロックアドレス50j
の先頭から、トラック332の内容がキャッシュ23に
格納されているかを検索する(ステップ100)。すな
わち、キャッシュ管理ブロックアドレス50jの内容が
ヌル(null)でないものを検索する。検出したトラ
ック332が基準とするトラック332であるかを判定
する(ステップ101)。検出したキャッシュ管理ブロ
ックアドレス50jの内容と先頭のブロックアドレス8
3の内容とを比較し、−Mした場合、キャッシュ管理ブ
ロックアドレス50jが基準とするトラック332に対
応すると判定する。基準とするトラック332の場合、
既に書き出し順序情報に登録しているためステップ10
5に進む。検出したトラック332が基準とするトラッ
ク332でない場合、当該トラック332に対応する更
新トラックフラグ51jがオンであるかを判定する(ス
テップ102)、オフの場合、当該トラック332に対
応するライトアフタデータ5は存在しないため、ステッ
プ105に進む、更新トラックフラグ51jがオンの場
合、エントリ数を1加算しくステップ103)、エント
リ数に対応するブロックアドレス83にキャッシュ管理
ブロック40iのアドレスを登録する(ステップ104
)。
ステップ105では、次のトラック332から、トラッ
ク332の内容がキャッシュ23に格納されているか検
索する。シリンダ内のトラック332の検索が終了かを
判定する(ステップ106)。トラック332の検索が
終了した場合、処理を終了し、トラック332の検索が
終了していない場合、ステップ101に進む。
第11図は、書き出し順に従いライトアフタデータ5を
磁気ディスク装置26に書き出す処理である。第36図
のステップ13に対応する。
まず1位置付は情報80の示す位置に位置付は処理を行
なう(ステップ110)、エントリポインタ82が示す
エントリのブロックアドレス83が示すキャッシュ管理
ブロック40iの更新ビットマツプ61iがオンのレコ
ードをキャッシュ23からディスク装置26に書き出し
、書き出しが完了したレコードに対応する更新ビットマ
ツプ61iのビットをオフする(ステップ111)、エ
ントリポインタ82を5次エントリを示すように更新す
る(ステップ112)。エントリが終了したかを判定す
る(ステップ113)。エントリが終了した場合、処理
を終了し、エントリが終了していない場合、ステップ1
11に進む。ディスク装置26に書き出すための1位置
付は処理、書き出し処理については。
公知の方法で行なう。
本発明の実施例では、シリンダ内の全てのライトアフタ
データ5をキャッシュ23からディスク装置26に書き
出しているが、書き出し対象とするトラック332の数
を制限してもよい、この場合、ライトアフタ処理に要す
る時間を予め定めた時間内に制限する効果がある。
本発明の実施例によれば、1回のシークで複数のトラッ
ク332にライトアフタデータ5を書き出すため、ライ
トアフタ処理のシーク回数をm減できる。このため、ラ
イトアフタ処理によってディスク装置26が占有される
時間が減少し、ディスク制御装置のスルーブツトを向上
できる。
(実施例2) 本実施例2では1発明の対象とする入出力サブシステム
の構成等、実施例1と同様であるため。
異なっているところのみを説明する。
あるトラック332に書き出すライトアフタデータ5が
複数存在し、これらライトアフタデータ5を書き出すト
ラック332上のレコード位置が離れている場合、先の
実施例では、あるライトアフタデータ5を書き出した後
、次のライトアフタデータ5を書き出すまで回転待ちが
発生する6本実施例では、この回転待ちの間に、シリン
ダ内の他トラツク332のライトアフタデータ5を書き
出す処理を示す。
情報内容は、ライトアフタ情報24の内容(実施例1の
第8図)以外は、実施例1と同じであるので、説明を省
略する。
第12図は1本実施例のライトアフタ情報24の内容を
示す図である。
位置付は情報80、エントリ数81、エントリポインタ
82、ブロックアドレス83は、前記実施例の第8図と
同様であるので、説明を省略する。開始終了レコードア
ドレス84は、当エントリでの書き出し開始レコードア
ドレスと書き出し終了レコードアドレスを格納する領域
であり、ディスク回転順序85は、書き出しを行なう磁
気ディスク331の回転順序すなわち、ディスクの何番
目の回転で書き出しするかを格納する領域である。本実
施例では。
ブロックアドレス83、開始終了レコードアドレス84
とディスク回転順序85を1エントリとして扱う。
検索用ビットマツプ86と回転番号87は、ライトアフ
タデータ5の書き出し順を決定するための一時的記憶領
域として用いる。検索用ビットマツプ86は、更新ビッ
トマツプ61iと同一形式であり、書き出しレコードを
選択するための領域である。回転番号87は、検索用ピ
ッ、トマップ8Gに対応する磁気ディスク331の回転
番号を格納する。検索用ビットマツプ86と回転番号8
7は、シリンダ内のトラック332の数を上限とし、デ
ィスク装置26に対する1回のライトアフタ処理に利用
できる磁気ディスク331の回転数分を用意する。
以下、本実施例の処理内容を説明する。
基準とするトラックの選択処理(実施例1の第9図)、
基準とするトラックが含まれるシリンダ内のライトアフ
タデータ5の書き出し順を決定する処理(実施例1の第
10図)、書き出し順に従いライトアフタデータ5を書
き出す処理(実施例1の第11図)以外は、実施例1と
同様であり、ここであらたに説明しない。
第13図は、ライトアフタ処理の基準とするトラックを
選択する処理である。実施例1の第9図に対応する処理
である。
まず、LRUポインタ46が示すキャッシュ管理ブロッ
ク40iを識別する(ステップ130)。第4図では、
キャッシュ管理ブロック40cが検出される。該キャッ
シュ管理ブロック40i内のトラック番号80iに対応
する。更新トラックフラグ51jがオンかを判定する(
ステップ131)。該フラグがオフの場合、前方向ポイ
ンタ41iがMRUポインタ45を示すかを判定する(
ステップ132)。
MRUポインタ45を示す場合、ライトアフタデータ5
が存在しないため、処理を終了する。MRUポインタ4
5を示さない場合、前方向ポインタ41iが示すキャッ
シュ管理ブロック40iを識別しくステップ133)、
ステップ131に進む、ステップ131において更新ト
ラックフラグSljがオンの場合、トラック番号60i
をもとに位置付は情報80を設定しくステップ134)
、トラック渡り書き出しのレコード選択処理を行なう(
ステップ135)。ステップ135の書き出し順序決定
処理は、第15図で詳細に説明する。基準とするトラッ
ク332の検索は、実施例1と同様、ファーストイン/
ファーストアウトによる方法、トラック毎のキャッシュ
内滞在時間による選択等でもよい。
第14図は、本実施例における、基準となるトラック3
32が含まれるシリンダ内のライトアフタデータ6の書
き出し順を決定する処理であり、実施例1の第10図に
対応する。
本実施例では、磁気ディスク331の1回転内で、ライ
トアフタデータらを書き出すトラック332を変更して
、複数のトラック332にライトアフタデータ5を書き
出すための、書き出し順序選択処理を示す。この書き出
しをトラック渡り書き出しと呼ぶ。
まず、シリンダ管理情報48jのキャッシュ管理ブロッ
クアドレス51jの先頭から、トラック332の内容が
キャッシュ23に格納されているかを検束する(ステッ
プ140)。すなわち、キャッシュ管理ブロックアドレ
ス50jの内容がヌル(null)でないものを検索す
る。検出トラックが基準とするトラック332であるか
を判定する(ステップ141)。検出したキャッシュ管
理ブロックアドレス50Jの内容と先頭のブロックアド
レス83の内容を比較し、一致した場合、検出したトラ
ック332が基準とするトラック332であると判定す
る。基準とするトラック332の場合、既に登録してい
るためステップ144に進む、更新トラックフラグ51
jがオンであるかを判定する(ステップ142)。
オフの場合、ライトアフタデータ5は存在しないため、
ステップ144に進む。該フラグがオンの場合、トラッ
ク渡り書き出しのレコード選択処理を行なう(ステップ
143)。ステップ143の処理内容は、第15図で詳
細に説明する。ステップ144では、次トラツク332
がら、トラック332の内容がキャッシュ23に格納さ
れているかを検索する。シリンダ内のトラック332の
検索が終了かを判定する(ステップ145)。トラック
332の検索が終了した場合、ステップ146に進み、
終了していない場合、ステップ141に進む。ステップ
146は、ディスク回転順序85と開始終了レコードア
ドレス84が昇順となるようにソートする処理である。
まず、各エントリをディスク回転順序85が昇順となる
ようにソートしたのち、同じディスク回転順序85内で
、開始終了レコードアドレス84が昇順となるようにソ
ートする。ソート処理は、公知の方法で行なう。
第15図は、前述のトラック渡り書き出しのレコードを
選択する処理である。第1313iiのステップ135
、第14図のステップ143の処理を詳細に説明したも
のである。
まず、処理の概要を示す。あるトラック332に書き出
すライトアフタデータ5が複数存在し、これらライトア
フタデータ5を書き出すトラック332上の位置が離れ
ている場合、あるライトアフタデータ5をキャッシュ2
3からディスク装置26に書き出した後1次のライトア
フタデータ6を書き出すまで1回転待ちが発生する。こ
の回転待ちの間に、シリンダ内の他トラツク332のラ
イトアフタデータ5を書き出す。
以下、ディスク装置26のディスク1回転内に、トラッ
ク332に対する全てのライトアフタデータ5の書き出
しが完了するトラック332の集合を選択する方法を示
す。
本処理では、ライトアフタデータ5を書き出すトラック
332の変更がレコード間隔時間内に完了する場合の処
理を示す6本処理に先立ち、検索ビットマツプ86の全
てのビットをOにする。
まず、更新ビットマツプ61iとの論理積が0である書
き出し検索用ビットマツプ86を検索する(ステップ1
50)。論理積が0の場合、当該トラック332に対す
るライトアフタデータ5は、同じ検索用ビットマツプ8
6との論理積が0であった更新ビットマツプ61iに対
応するトラック332のライトアフタデータ5と同じ磁
気ディスク331の回転内に書き出し可能である。論理
積が0となる書き出し検索ビットマツプ86があるかを
判定する(ステップ151)、論理積が0となる書き出
し検索ビットマツプがある場合、書き出し情報を登録す
る(ステップ152)、登録処理の詳細は。
第16図で説明する0次に、書き出しを行なうライトア
フタデータ5の検索を行なったトラック332の書き出
しレコード位置を他トラツク332のライトアフタデー
タ5の書き出しに使用しないよう。
検索用ビットマツプ86と更新ビットマツプε11の論
理和を検索用ビットマツプ86に登録する(ステップ1
53)、論理積がOとなる書き出し検索用ビットマツプ
86がない場合、処理を終了する。
第16図は、書き出し情報の登録処理である。
第15図のステップ152の詳細処理内容である。
まず、ビット位置を先頭に設定する(ステップ160)
、ビット位置に対応する更新ビットマツプ61iがオン
かを判定する(ステップ161)。
オンでない場合1次のビット位置を判定するため、ステ
ップ169に進む、オンの場合、エントリ数81を1加
算しくステップ162)、当該ビットに対応するレコー
ドアドレスを開始終了レコードアドレス84の開始レコ
ードアドレスと終了アドレスに設定する(ステップ16
3)、次に、ビット位置を1加算しくステップ164)
、更新ビットマツプ61iの検索が終了したがを判定す
る(ステップ165)、検索が終了した場合、処理を終
了し、検索が終了していない場合、ステップ166に進
む、ステップ166では、該ビット位置の更新ビットマ
ツプ61iがオンかを判定する。オンの場合、当該レコ
ードが未登録かを判定しくステップ、167)、未登録
の場合、開始終了レコードアドレス84の終了レコード
アドレスに該レコードアドレスを登録する(ステップ1
68)、次のビット位置を検索するため、ステップ16
4に進む、ステップ166で、該ビット位置の更新ピッ
1−マツプ611がオフと判定した場合、ビット位置を
1加算しくステップ169)、更新ビットマツプ61i
の検索が終了したかを判定する(ステップ170)。
検索が終了した場合、処理を終了し、検索が終了してい
ない場合、ステップ161に進む。
17図も、トラック渡り書き出しのレコードを選択する
処理であり、第15図の処理の他の処理例である。
本処理では、ライトアフタデータ5を書き出すトラック
の変更がレコード間隔時間内に完了しない場合の処理を
示す。本処理に先立ち、検索ビットマツプ86の全ての
ビットを0にする。
まず、更新ビットマツプ61iと論理積が0である書き
出し検索用ビットマツプ86を横築する(ステップ17
5)。論理積がOの場合、当該トラック332に対する
ライトアフタデータ5は、同じ検索ビットマツプ86と
の論理和が0であった更新ビットマツプ61iに対応す
るトラック332のライ1〜アフタデータ5と同じ磁気
ディスク331の回転内に書き出し可能である。論理積
が0となる書き出し検索用ビットマツプ86があるかを
判定する(ステップ176)。論理積が0となる書き出
し検索用ビットマツプ86がない場合、処理を終了する
論理積がOとなる書き出し検索ビットマツプがある場合
、書き出し情報を登録する(ステップ177)。登録処
理の詳細は、第16図で説明したとうりである。次に、
書き出しを行なうライトアフタデータ5の検索を行なっ
たトラック332の書き出しレコード位置を他トラツク
332のライトアフタデータ5の書き出しに使用しない
ように、検索用ビットマツプ86と更新ビットマツプ6
1iの論理和を検索用ビットマツプ86に登録する(ス
テップ178)、書き出すトラックの変更により書き出
、せなくなるレコード位置の検索用ビットマツプ86を
オンする(ステップ179)。この処理により、該レコ
ード位置がライトアフタデータ5の書き出し用として選
択されることはなくなる。
上記トラック渡り書き出しのレコード選択処理において
は、登録したライトアフタデータ5を書き出すための磁
気・ディスク331の7回転数より、トラックに対する
ライトアフタデータ5を全て書き出したトラック332
の数の方が多くなった段階で、レコードの選択を終了し
てもよい、このためには、第14図の、ステップ143
で書き出し対象としたトラック332の数をカウントし
、書き出しレコード順を決定した後、ディスク回転順序
85と該カウントを比較し、ディスク回転順序85の方
が小さい場合、処理を終了し、そうでない場合ステップ
141に進めばよい、ステップ141とステップ142
からの分岐は、該判定処理の後に進む。
第18図は、本実施例における。書き出し順に従いライ
トアフタデータ5を書き出す処理である。
実施例1の第11図に対応する。
まず、位置付は情報80の示す位置に位置付は処理を行
なう(ステップ180)。エントリポインタ82が示す
エントリのブロックアドレス83が示すキャッシュ管理
ブロック40iの、開始終了レコードアドレス84の範
囲の更新ビットマツプ61iがオンのレコードをディス
ク装置26に書き出し、更新ビットマツプ61iの書き
出しが完了したレコードに対応するビットをオフする(
ステップ181)。
エントリポインタ82を、次エントリを示すように更新
する(ステップ182)。エントリが終了したかを判定
する(ステップ183)。エントリが終了した場合、処
理を終了し、エントリが終了していない場合、ステップ
181に進む、ディスク装置26に書き出すための、位
置付は処理、書き出し処理については、公知の方法で行
なう。
本実施例でも、ライトアフタデータ5をキャッシュ23
からディスク装置26に書き出す際、書き出しの対象と
するトラック332の数を制限したり、書き出しを行な
う磁気ディスク331の回転数を制限してもよい。この
場合、ライトアフタ処理に要する時間を、予め定めた時
間内に制限する効果がある。
本実施例によれば、1回のシークでライトアフタデータ
5を複数のトラック332に書き出すため、ライトアフ
タ処理のシーク回数を削減できる。あるトラック332
に書き出すライトアフタデータ5が複数存在し、これら
ライトアフタデータ6を書き出すトラック332上の位
置が離れている場合。
回転待ちが発生する。この回転待ちの間にシリンダ内の
他トラツク332のライトアフタデータ5を書き出すた
め、ライトアフタ処理に要する時間が削減できる。この
ため、ディスク装置26の利用効率を向上でき、ディス
ク制御装置のスループットを向上できる。
(実施例3) 本実施例3でも、前述のトラック渡り書き出しを行なう
が、書き出しレコードの選択方法が実施例2とは異なる
。本実施例3では、基準とするトラック332と同一シ
リンダ内のライトアフタデータ5をトラック332のレ
コードの配列順に検索していく。
以下、本実施例の処理内容を説明する。
本実施例では、トラック渡り書き出しのレコードを選択
する処理以外は、先の実施例と同様であるため、ここで
あらたに説明しない、ライトアフタ処理の基準とするト
ラックの選択処理は、実施例1と同様であり、上記以外
のその他の処理は、実施例2と同様である。
第19図は、本実施例における。トラック渡り書き出し
のレコードを選択する処理である。
本実施例では、シリンダ内の複数のトラック332を対
象とし、トラック332上でのレコードの配列順に、ま
ず、ライトアフタデータ6があるトラック332を検索
し、該トラック332のライトアフタデータ5が連続す
る限りこれを選択し、ライトアフタデータ5が連続しな
い場合1次に書き出すライトアフタデータ6を回転待ち
時間が最小となるように選択する。
本実施例では、磁気ディスク331の1回転内に書き出
せるレコードを選択する処理を示す、検索用ビットマツ
プ86は、書き出すレコードの選択処理に先立ち、その
内容を0とする まず、更新ビットマツプ61iの先頭からサーチするた
めに、ビット位置を先頭に設定する(ステップ190)
、ビット位置に対応する検索用ビットマツプ86がオン
かを判定する(ステップ191)。オンの場合、次のビ
ットの位置を判定するため、ステップ194に進む、オ
フの場合、当該ビット位置がオンの更新ビットマツプ6
1iを検索しくステップ192)当該ビット位置がオン
の更新ビットマツプ61iがあるかを判定する(ステッ
プ193)、当該ビット位置がオンの更新ビットマツプ
61iがない場合、ビット位置を1加算しくステップ1
94)、更新ビットマツプ61iの検索を終了したかを
判定する(ステップ195)、検索が終了した場合、処
理を終了し、検索が終了していない場合、ステップ19
1に進む、当該ビット位置がオンの更新ビットマツプ6
1iがある場合、エントリ数81を1加算しくステップ
196)、当該ビットに対応するレコードアドレスを開
始終了レコードアドレス84の開始レコードアドレスと
終了レコードアドレスに設定する(ステップ197)。
次のビット位置を検索するため、ビット位置を1加算し
くステップ198)、更新ビットマツプ611の検索が
終了したかを判定する(ステップ199)、検索が終了
した場合、処理を終了し、検索が終了していない場合、
ステップ200に進む。
ステップ200では、該ビット位置の検索用ビットマツ
プ86がオンかを判定する。オンの場合、ステップ19
4に進み、オフの場合、ステップ201に進む、ステッ
プ201では、該ビット位置の更新ビットマツプ61i
がオンかを判定する。オンの場合、当該レコードが未登
録かを判定しくステップ202)、未登録の場合、終了
レコードアドレスに該レコードアドレスを登録する(ス
テップ203)、ステップ201で、該ビット位置の更
新ビットマツプ61王がオフの場合、ステップ192に
進む0次のビット位置を検索するため、ステップ198
に進む、上記処理を、シリンダ内のライトアフタデータ
5をもつトラック332に対して行なう。
本実施例において、書き出すライトアフタデータ5を選
択する際、トラック332毎にプライオリティを付ける
ことも可能である。この場合、ステップ192では、プ
ライオリティ順にトラック332に対応する更新ビット
マツプ61iを検索する。
プライオリティの付は方は、書き出しを行なうレコード
を選択したトラック33シの検索順にプライオリティを
低くする方法がある。この場合、磁気ディスク331の
1回転内で書き出し対象とするトラック332の数を増
やさないようにする効果がある。
本実施例によれば、1回のシークで複数のトラック33
2にライトアフタデータ6を書き出すため。
う゛イトアフタ処理のシーク回数を削減できる。あるト
ラック332に書き出すライトアフタデータ5−が・複
数存在し、これらライトアフタデータ5を書き出すトラ
ック332上の位置が離れている場合。
回転待ちが発生する。この回転待ちの間に、シリンダ内
の他トラツク332のライトアフタデータ5を書き出す
ため、ライトアフタ処理に要する時間が削減できる。こ
のため、ディスク装置26の利用効率を向上でき、ディ
スク制御装置のスループットを向上できる。
(実施例4) 先の実施例では、キャッシュに格納した前述のライトア
フタデータをビットマツプが管理している。このビット
マツプは、ある固定長(第1の実施例ではnバイト)の
単位を1ビツトとして、トラック332を複数のビット
列で表したものであるため、トラック332に格納した
レコードの長さが分かれば、レコードに対応するビット
を計算で求めることができる。磁気ディスク331の1
回転内で、複数のトラック332にライトアフタデータ
5を書き出す前述のトラック渡り書き処理の対象とする
レコードを検索する場合、ビットマツプ上でのレコード
位置を計算できれば、ビットマツプを順次検索する場合
に比べてライトアフタ処理に要するオーバヘッドを削減
できるため、ディスク制御装置の利用効率を向上できる
以下、ライトアフタ対象レコードの効率のよい選択方法
を用いたライトアフタ処理について示す。
第20図は、本実施域におけるブロック管理情報43i
 (i =a、b、・・・+n)の情報内容である。
トラック番号601.更新ビットマツプ61iは先の実
施例と同様である。固定レコードフラグ62iは、当該
トラック332のレコードのレコード長が全て等しいか
を示す情報である。固定レコード長63iは、当該トラ
ック332のレコードの長さであり、固定レコードフラ
グ62iがオンの時に有効な情報である。ブロック管理
情報431は、新たなトラックに割当てる際、その内容
を0に初期化する。
シリンダ管理情報48j、ブロック管理情報43i、書
き出し順序情”報の内容は、実施例2と同様である。
以下、本発明に係る処理を示す。
第21図は、キャッシュ格納処理部341において、キ
ャッシュにライトアフタデータ5を格納する際の本発明
に係る処理である。
固定レコード長63iが0かを判定する(ステップ20
4)。固定レコード長63iが0の場合、処理中のレコ
ードが当該トラック332の最初のキャッシュ23に格
納するレコードであることを示すため、固定レコード長
63iを設定しくステップ205)、固定レコードフラ
グ62iをオンしくステップ206)、処理“を終了す
る。固定レコード長63iが0でない場合、当該トラッ
ク332に関し、キャッシュ23には既に別のレコード
が格納されていることを示す。レコード長の判定が必要
かを判断するため、固定レコードフラグ62iがオンか
を判定する(ステップ207)。オンの場合、当該レコ
ード以外のキャッシュ23格納レコードは、固定レコー
ド長63iが示す長さであるため、当該レコード長が固
定レコード長63iと等しいかを判定しくステップ20
8)、異なる場合、固定レコードフラグ62iをオフす
る(ステップ209)。固定レコードフラグ62iがオ
ンで当該レコード長が固定レコード長63iと等しい場
合と固定レコードフラグ62iがオフの場合、本実施例
に係る処理をしない。
ライトアフタ処理部342で行なうライトアフタ処理に
関しては、トラック渡り書き出しのレコードを選択する
処理以外は、実施例2と同様である。
本実施例では、キャッシュ23からディスク装置26に
書き出゛すライトアフタデータ5を、前述のトラック渡
り書き出しにより書き出す。
本実施例のトラック渡り書き出し順序決定処理では、予
め定めたトラック332の順序で、トラック332のレ
コードの配列順に書き出し処理を行なう磁気ディスク3
31の回転を決定する。
まず、ビットマツプ上でのレコード先頭位置の算出方法
を示す。
このビットマツプは、ある固定長(本実施例ではnバイ
ト)の単位を1ビツトとして、トラック332を複数の
ビット列で表したものであり、レコードがトラック33
2上で格納されている領域に対応するビットがオンされ
ている。さらに、トラック332上でのレコード格納開
始位置は明らかである。従って、トラック上でのレコー
ド格納開始位置、レコード格納開始位置のレコードの番
号を0として順序付けたレコード番号、レコード間隔長
(バイト単位)、ビットマツプで1ビツトが示すバイト
長、固定レコード長631 (バイト単位)により、ビ
ットマツプ上でのレコード先頭位置は算出できる。以下
に算出式を示す。
レコードのビット位置=(レコード格納開始位置+(レ
コード番号)×(レコード間隔長十固定レコード長63
i))÷(1ビツトが示すバイト数)第22図は、トラ
ック渡り書き出しの・ライトアフタレコードを選択する
処理である。
ここでは、磁気ディスク331の1回転で複数のトラッ
ク332にライトアフタデータ5を書き出す際、書き出
すトラック332の変更がレコード間隔時間内に完了す
る場合の処理を示す。
まず、レコードのビット位置を算出する(ステップ21
0)、ビット位置の算出は、前記算出式で行なう。検索
用ビットマツプ86の検索が終了しているかを判定する
(ステップ211)。検索が終了している場合、処理を
終了し、検索が終了していない場合、以下の処理を行な
う、ライトアフタデータ5を書き出すための検索の対象
のトラック332の更新ビットマツプ61iの当該位置
ビットがオンかを判定する(ステップ212)。オフの
場合1次のレコード位置を検索するため、ステップ21
0に進む、更新ビットマツプ61iの当該位置ビットが
オンの場合、あらかじめ定めた順序・に従い検索用ビッ
トマツプ86を検索し、当該ビットがオフのものがある
かを判定する(ステップ213)。当該ビットがオフの
検索用ビットマツプ86があるかを判定す、る(ステッ
プ214)。オフのものがない場合、該位置は別のトラ
ック332の書き出しで使用されているため、検索中の
トラック332の書き出しはできない。従って、次のレ
コード位置を検索するため、ステップ210に進む。
検索ビットマツプのビットがオフのものがある場合、ラ
イトアフタレコードの書き出しは可能であるため、以下
、当該位置のライトアフタレコードを書き出すための情
報を記録する処理を行なう。
ライトアフタレコードは連続しているかを判定する(ス
テップ215)。連続していない場合、エントリ数81
を1加算しくステップ21G)、検索用ビットマツプ8
6に対応する回転番−号87をディスク回転順序85に
設定し、該レコードのアドレスを開始終了レコードアド
レス84の開始レコードアドレスと終了レコードアドレ
スとして設定しくステップ217)、次のレコードを判
定するため、ステップ21.0に進む。更新レコードが
連続している場合、該レコードのアドレスを開始終了レ
コードアドレス84の終了レコードアドレスとして記録
しくステップ218)、次のレコードを判定するため、
ステップ210に進む。
以下、磁気ディスク331の1回転で複数のトラック3
32にライトアフタデータ6を書き出す際、書き出すト
ラック332の変更がレコード間隔時間内に行なえない
場合、磁気ディスク331の1回転内に書き出し可能な
トラックの集合の検出方法を示す0本処理が、書き出す
トラック332の変更がレコード間隔時間内に行なえる
場合と異なる点は、書き出し順序情報に、後述する前、
切り換えフラグと後切り換えフラグを持つことと、トラ
ック渡り書き出しのライトアフタレコードを選択する処
理内容である。
第23図は、本実施例におけるライトアフタ情報24の
内容を示す図である。
位置付は情報8G、エントリ数81.エントリポインタ
82.ブロックアドレス83、開始終了レコードアドレ
ス84、ディスク回転順序85.検索用ビットマツプ8
6、回転番号87は、第12図と同様である。
前切り換えフラグ88は、既に書き出し対象としたライ
トアフタレコードを含むトラック332へ書き出すトラ
ックを変更することが必要なことを示すフラグであり、
後切り換えフラグ89は、既に書き出し対象としたレコ
ードを含むトラック332から別のトラックへ変更する
ことが必要なことを示す。
以下の実施例では、書き出すトラックの変更がルコード
分ディスクが回転する間に完了する場合であり、磁気デ
ィスク331の1回転で書き出せるレコードを選択する
方法を示す。
第24図は1本実施例におけるトラック渡り書き出しの
レコードを選択する処理である。
ビット位置を算出する(ステップ230)。ビット位置
の算出は、前記算出式で行なう。ビットマツプの検索が
終了したかを判定する(ステップ231)。検索が終了
した場合、ステップ245に進み、検索が終了していな
い場合、ステップ232に進む、まず、検索が完了して
いない場合を説明する。検索用ビットマツプ86で当該
ビット位置のビットがオンかを判定する(ステップ23
2)。ビットがオンの場合、既に書き出し対象レコード
を登録しであるため、後切り換えフラグ89をオンしく
ステップ233)、ステップ230に進む。
ビットがオフの場合、後切り換えフラグ89がオンかを
判定する(ステップ235)。該フラグがオンの場合、
後切り換えフラグ89をオフしくステップ236)、該
レコードを書き出し対象から外すため、ステップ230
に進む。後切り換えフラグ89がオフの場合、前切り換
えフラグ88がオンかを判定する(ステップ237)、
前切り換えフラグ88がオフの場合、書き出しライトア
フタレコードの検索を行なう。該位置の更新ビットマツ
プ61iがオンかを判定する(ステップ238)。更新
ビットマツプ61iがオンの場合、前切り換えフラグ8
8をオンしくステップ239)、ステップ230に進み
、更新ビットマツプ61iがオフの場合、ステップ23
0に進む、ステップ237で、前切り換えフラグ88が
オンの場合、以下のレコードの登録処理を行−なう、府
切り換えフラグ88をオフしくステップ240)、更新
レコードが連続しているかを判定する(ステップ241
)、更新レコードが連続していない場合、エントリ数を
1加算しくステップ242)、エントリ情報として、キ
ャッシュ管理ブロックアドレス50jをブロックアドレ
ス83に記録し、ルーコード前のレコードアドレスを開
始終了レコードアドレス84の開始レコードアドレスと
終了レコードアドレスとして記録し。
回転番号87をディスク回転順序85に記録しくステッ
プ243)、ステップ230に進む。更新レコードが連
続している場合、ルーコード前のレコードアドレスを開
始終了レコードアドレス84の終了レコードアドレスと
して記録しくステップ244)、ステップ230に進む
0次lこ、ステップ231で検索が終了したと判定した
場合の処理を以下に示す、前切り換えフラグ88がオン
かを判定する(ステップ245)。前切り換えフラグ8
8がオフの場合、処理を終了する。前切り換えフラグ8
8がオンの場合、以下のレコードの登録処理を行なう。
更新レコードが連続しているかを判定する(ステップ2
46)、更新レコードが連続していない場合、エントリ
数を1加算しくステップ247)、エントリ情報として
、キャッシュ管理ブロックアドレス50jをブロックア
ドレス83に記録し、ルーコード前のレコードアドレス
を開始終了レコードアドレス84の開始レコードアドレ
スと終了レコードアドレスとして記録し、回転番号87
をディスク回転順序85に記録しくステップ248)、
処理を終了する。更新レコードが連続していない場合、
ルーコード前のレコードアドレスを開始終了レコードア
ドレス84の終了レコードアドレスとして記録しくステ
ップ249)、処理を終了する。
なお、ルコード分磁気ディスク331が回転する間に書
き出すトラックの変更が行なえないほど短いレコードが
存在する場合、このようなレコードを持つトラック33
2は、トラック渡り書き出しの対象とはせず、前述のト
ラック順次書き出しを選択すればよい。
本実施例によれば、磁気ディスク331の1回転内で、
複数のトラック332にライトアフタレコードを書き出
すために、書き出しの対象とするライトアフタレコード
を検索する場合、ビットマツプ上でのレコード位置を計
算でき、ピッ1へマツプを順次検索する場合と比べてラ
イトアフタ処理に要するオーバヘッドを削減できる。ラ
イトアフタ処理のシーク回数を削減し、トラック渡り書
き出しによりライトアフタ処理時間が削減されるため、
ディスク制御装置のスループットを向上できる。
(実施例5) 本実施例5は、トラック332毎に更新レコード数を記
録し、シリンダ内のライトアフタデータの書き出し順序
を決定する際、更新レコード数の多いトラック332か
ら順に選択する方法である。
第25図は、本実施例におけるシリンダ管理情報48j
の内容である。
キャッシュ管理ブロックアドレス50j、更新トラック
フラグ51jは、実施例1と同様である。更新レコード
数52jは、当該トラック332のライトアフタデータ
を保有するレコード数を格納する領域である。
シリンダ管理情報48j以外の情報は、実施例1と同様
であるので、説明を省略する。
以下、本実施例の処理内容をフローチャートで説明する
第26図は、本実施例において、キャッシュ格納部34
1でキャッシュにライトアフタデータを格納する際の処
理である。
更新の対象となったレコードが更新ビットマツプ61i
でオンかを判定する。該ビットがオンの場合、ステップ
253に進む。該ビットがオフの場合、更新ビットマツ
プ61iの対応するビットをオンしくステップ251)
、更新レコード数52jに1を加える(ステップ252
)。ステップ253では、更新トラックフラグをオンし
くステップ253)、処理を終了する。
以下、ライトアフタ処理について示す。ライトアフタ処
理では、基準とするトラックと同一シリンダ内のライト
アフタデータの書き出し順を決定する処理以外は、実施
例1と同様であるため、ここであらたに説明しない。
第27図は、本実施例における基準とするトラックが含
まれるシリンダ内のライトアフタデータの書き出し順を
決定する処理である。
本実施例では、トラック渡り書き出しの書き出しj須選
択を行なう。
シリンダ内で更新レコード数52jが多い順に。
ライトアフタデータをキャッシュ23に格納しているト
ラック332を検束する(ステップ260)。
検索が終了したかを判定する(ステップ261)。
検索が終了した場合、ステップ264に進む。検索が終
了していない場合、基準とするトラック332であるか
を判定する(ステップ262)。検出したキャッシュ管
理ブロックアドレス50jの内容と先頭のブロックアド
レス83の内容とを比較し、一致した場合、検出したト
ラック332に対応するキャッシュ管理ブロックアドレ
ス50jであると判定する。基準とするトラック332
の場合、既に書き出し順情報を登録しているため、ステ
ップ260に進む。基準とするトラック332でない場
合、トラック渡り書き出しのレコードを選択する処理を
行ない(ステップ263)ステップ260に進む。ステ
ップ263のトラック渡り書き出しのライトアフタレコ
ードを選択する処理は、先の実施例と同様の方法で行な
う。ステップ264は、ディスク回転順序85と開始終
了アドレス84が昇順となるようにソートする処理であ
る。まず、各エントリをディスク回転順序85が昇順と
なるように。
ソートしたのち、同しディスク回転順85内で、開始終
了レコードアドレス84が昇順となるようにソートする
。ソート処理は、公知の方法で行なう。
本実施例によれば、トラック332毎に更新レコード数
を記録し、シリンダ内のライトアフタデータの書き出し
順を決定する際、更新レコード数の多いトラック332
から順に選択するため、1回のライトアフタ処理で書き
出し対象とするトラック332の数に制限があるような
場合、ライトアフタ対象レコードの選択効率を向上でき
る。さらに、ライトアフタ処理のシーク回数を削減し、
磁気ディスク331の1回転内で複数のトラック332
のライドアフタデータをキャッシュ23から磁気ディス
ク装f!2Gに書き出すことにより、ライトアフタ処理
時間を削減できるため、ディスク制御装置のスループッ
トを向上することができる。
(実施例6) 本実施例6では、磁気ディスク331の1回転内で、複
数のトラック332のレコードを書き出す前述のトラッ
ク渡り書き出しと、1回転内でトラック332ずつ書き
出す前述のトラック順次書き出しを選択する方法につい
て示す。
第28図は1本実施例におけるシリンダ管理情報48j
の内容である。
キャッシュ管理ブロックアドレス50j、更新トラック
フラグ51jは、実施例1の第5図と同様であるため、
ここであらたに説明しない、シーケンシャルフラグ53
jは、当該トラック332がシーケンシャル属性でアク
セスされたライトアフタデータをキャッシュ23に持つ
こを示すフラグであり、形式書き込みフラグ54jは、
該トラック332がトラック332の初期化を行なう形
式書き込みコマンドによるライトアフタデータをキャッ
シュ23内に持つことを示すフラグである。
シリンダ管理情報48j以外の情報内容は、前述の実施
例と同様であるので、説明を省酩する。
以下1本実施例に係る処理をフローチャーI・で示す。
第29図は、本実施例において、キャッシュ格納部34
1でキャッシュにライトアフタデータを格納する際の処
理である。
ライトアフタデータ格納レコードの位置に対応する更新
ビットマツプ61iをオンする(ステップ280)。ラ
イトアフタデータが発生したトラック332に対応する
更新トラックフラグ5Fをオンする(ステップ281)
。シーケンシャルアクセスかを判定しくステップ282
)、シーケンシャルアクセスの場合、ライトアフタデー
タが発生したトラック332に対応するシーケンシャル
フラグ53jをオンする(ステップ283)。形式書き
込みコマンドかを判定しくステップ284)、形式書き
込みコマンドの場合、ライトアフタデータが発生したト
ラック332に対応する形式書き込みフラグ54jをオ
ンする(ステップ285)。
第30図は1本実施例において、基準とするトラックが
含まれるシリンダ内のライトアフタデータの書き出し順
序を決定する処理である。
磁気ディスク331の1回転内で複数のトラック332
にライトアフタデータを書き出すトラック渡り書き出し
と1回転内でトラック332ずつ書き出すトラック順次
書き出しを以下の方法で選択する。
まず、シリンダ内にシーケンシャルフラグがオンのトラ
ック332があるかを判定する(ステップ292)。シ
ーケンシャルフラグ53jがオンのトラック332があ
る場合、トラック順次書き出しを選択するためステップ
296に進む、同一シリンダ内に形式書き込みフラグ5
4jがオフのトラック332があるかを判定する(ステ
ップ293)、形式書き込みフラグ53がオンのトラッ
ク332があれば。
トラック順次書き出しを選択するため、ステップ296
に進む。
ステップ294では、トラック渡り書き出しを順次選択
する。
ステップ296では、トラック順次書き出しの書き出し
順序を選択する。
トラック順次書き出し順序の選択内容は、実施例1のラ
イトアフタ処理と同様であり、トラック渡り書き出しの
書き出し順序の選択内容は、実施例1以外の先の実施例
のライトアフタ処理と同様であるので、説明を省略する
本実施例では、シリンダ内に形式書き込みされたライト
アフタデータを持つトラック332があれば、順次書き
出しを選択しているが、形式書き込みあるいは非形式書
き込みという属性により、基準とするトラック332と
同一の前記属性のトラック332のみを選び出して磁気
ディスク装置26に書き出しても良く、キャッシュ23
にライトアフタデータを保有するトラック332に対し
て基準とするトラック332と同一の前記属性のトラッ
ク332の割合が少ない時、シリンダ全体をトラック順
次書き出しの対象としても良い、さらに、形式書き込み
されていないトラック332の集合をトラック渡り書き
出しとし、形式書き込みされたトラック332の集合を
トラック順次書き出しとしても良い。シーケンシャルア
クセスに関しても同様である。
本実施例によれば、シーケンシャルアクセスあるいは形
式書き込みというライトアフタデータの汎性により、磁
気ディスク331の1回転内で複数のトラック332に
ライ1−アフタデータを書き出すトラック渡り書き出し
と1回転内でトラック332ずつ書き出すトラック順次
書き出しを選択する。
キャッシュ23内に形式書き込みされたライ(−アフタ
データを持つトラック332や、キャッシャ23内にシ
ーケンシャルアクセスされたライトアフタデータを持つ
トラック332は、磁気ディスク331の1回転内で別
のトラック332の書き出しを行なえる可能性が低い。
本実施例では、シリンダ内の複数のトラック332のラ
イトアフタデータを磁気ディスク331の1回転内に書
き出せる可能性が高いときにトラック渡り書き出しを試
行するため、該選択が無駄になる可能性が低く、書き出
しレコード選択に関するオーバヘッドを削減できる。本
実施例も、他実施例同様に、ライトアフタ処理のシーク
回数を削減し、磁気ディスク331の1回転内に複数の
トラック332にライトアフタデータを書き出す場合、
さらに、ライトアフタ処理時間を削減できるため、ディ
スク制御装置のスループットを向上できる。
(実施例7) 以下1本発明のさらに他の実施例を1図面により詳細に
説明する。
ディスク装置は、回転位置検出機能により読み書きすべ
きレコードがヘッド333の位置に到達した時点で、制
御装置に接続される。ライトアフタデータをディスク装
置に書き出す際、ディスク装置のディスク1回転内に書
き出すレコードが複数有り、それらが一定値以上離れて
いる場合1回転位置検出機能により、制御装置とディス
ク装置を切り離すことができる。この間、制御装置が別
のディスク装置に対する入呂力を実行でき、ディスク制
御装置の利用効率を向上できる。
以下、ライトアフタ処理中に回転位置検出機能により、
制01装置とディスク装置を切り離す処理の実施例を示
す。本実施例は、実施例1と同様の構成で実現でき、実
施例1と異なるところは、ライトアフタデータをディス
ク装置に書き出す際の処理(実施例1における第36図
)のうちステップ13のディスク装置26にライトアフ
タレコードを書き出す処理である。書き出し処理のうち
、シーク、サーチ処理、回転位置指示処理は、良く知ら
れた方法で行なうため、ここでは、制御装置とディスク
装置を切り離す判定処理について示す。
まず1回転位置検出機能により、制御装置20とディス
ク装置26を切り離す処理が有効となる条件について示
す。本処理は、あるライトアフタレコードを書き出した
後、次のライトアフタレコードを書き出すまでの時間を
有効活用する。この時間を、ライトアフタレコード間隔
時間と呼ぶ。しかし、本処理には、回転位置指示等のデ
ィスク装置26の切り離しオーバヘッドとディスク装r
126の回転位置検出報告後のデータ転送開始処理等の
ディスク装!!26の接続オーバヘッドが存在する。従
つて、前述のライトアフタレコード間隔時間が、ディス
ク装置26の切り離しオーバヘッドと接続オーバヘッド
を加えた時間より大きい場合、効果が現われる。
第31図は、本実施例による、ライトアフタデータ5を
キャッシュ23からディスク装置26に書き出す処理で
ある。
まず、制御装置20とディスク装置26を接続し、書き
出し対象シリンダへのシーク要求と書き出し先頭レコー
ドの回転位置検出をディスク装置26に指示したのち、
切り離す(ステップ300)。制御装置20は、ディス
ク装置26からの上記指示の完了報告を待つ(ステップ
301)。この間、制御装置20は、別のディスク装置
26のライトアフタ処理あるいは処理装置25からの入
出力要求受領、等の処理を行なえる。制御装置20は、
ディスク装置2sからシークと回転位置検出の完了が報
告されたら、当該ディスク装置26を接続し、レコード
を確認するサーチ処理を行ない、書き出し位置を確認し
た後、データをディスク装置26に書き出す(ステップ
302)。次の書き出しレコードが存在するかを判定す
る(ステップ303)。書き出しレコードが存在しない
場合、処理を終了する。書き出しレコードが存在する場
合、ライトアフタ対象レコードの間隔時間を求める(ス
テップ304)。
この時間は、更新ビットマツプ61のライトアフタ対象
レコード間のビット数、更新ビットマツプ61の1ビツ
トが示すバイト数、磁気ディスクの1回転に要する時間
、トラックの格納可能バイト数により、以下の式で算出
できる。
ライトアフタレコード間隔時間=(レコード間ビット数
×1ビットが示すバイト数)×磁気ディスクの1回転に
要する時間÷トラックの容量(バイト) 次に、ライトアフタレコード間隔時間がディスク装置2
6の切り離しオーバヘッドと接続オーバヘッドを加えた
値より大きいかを判定する(ステップ305)。ライト
アフタレコード間隔時間が、前記オーバヘッドより小さ
い場合、切り離しは不可能であり、次に書き出すレコー
ドを確認するため、レコードを確認するサーチ処理を行
ない、書き出し位置を確認した後データをディスク装置
26に書き出しくステップ306)、ステップ303に
進む。ライトアフタレコード間隔時間が、前記オーバヘ
ッドより大きい場合、次に書き出すレコードに対する回
転位置検出をディスク装置26に指示したのち、切り雌
しくステップ307)、ステップ301に進む。上記の
判定処理は、ライj・アフタ処理を開始する前に行ない
、その結果に従って書き出しを行なっても良く、ライト
アフタ処理でライトアフタレコードを書き出すたびに行
なっても良い。
磁気ディスク331は回転体であるため、ある磁気ディ
スク331の回転内で書き出す最後のライトアフタレコ
ードと次の磁気ディスク331の回転で書き出す最初の
ライトアフタレコード間でも、前記の処理は適用できる
。本発明は、前述のトラック順次書き出し、トラック渡
り書き出し等のライトアフタデータの書き出し方法によ
らず、1回のシークで複数のライトアフタレコードを書
き出す場合、適用できる。
本実施例によれば、ライトアフタデータをキャッシュ2
3からディスク装置26に書き出す際、磁気ディスク3
31の1回転内に書き出すライトアフタレコードが複数
有り、それらが一定値以上能れている場合、回転位置検
出機能により、制御袋2t20とディスク装置26を切
り離し、この間、制御装置20が別のディスク装置26
に対する入出力を実行できるため、ディスク装置の利用
効率を向上できる。
(実施例8) 以下1本発明のさらに他の実施例を、図面により詳細に
説明する。
先の実施例では、ライトアフタ処理を行なう際、ライト
アフタデータの書き出し順序を決定した後、この情報に
従ってライトアフタデータをディスク装置に書き出して
いた。本実施例では、ライトアフタデータを書き出した
後1次に書き出すライトアフタレコードを決定する処理
を示す。
第35図は、本発明におけるライトアフタ制御を示す図
である。ライトアフタ処理部342の処理以外は、実施
例1と同様である。
ライトアフタ処理部342は、書き出し対象とする基準
のトラック332を選択する処理と、基準とするトラッ
ク332にヘッド333を位置付けたとき、同時に位置
づくトラック332のライトアフタデータ5を選択する
処理と、このライトアフタデータ5をディスク装置26
に書き出す処理からなる。
なお5本実施例では、実施例1のライトアフタ情報24
は必要ない。
以下、本実施例の動作を説明する。
キャッシュ23にライトアフタデータを格納する際の処
理は、実施例1と同様である。
第32図は、ライトアフタ処理部342において、ライ
トアフタデータをキャッシュ23がら磁気ディスク装置
2εに書き出すライトアフタ処理である。
まず、ライトアフタ処理の基準とするトラック332を
選択する(ステップ310)。本処理の詳細は、実施例
1の第9図と同様である。ライトアフタデータを書き出
すトラック332があるかを判定する(ステップ311
)、ライトアフタデータを書き出すトラック332かな
い場合、処理を終了し、ライトアフタデータを書き出す
トラックがある場合、ステップ312に進む。ステップ
312では、ビット位置を先頭に設定する。
当該ビット位置がオンの更新ビットマツプ61iを検索
しくステップ313)、当該ビット位置がオンの更新ビ
ットマツプ61iが存在するかを判定する(ステップ3
14)。当該ビット位置がオンの更新ビットマツプ61
iが存在しない場合、ビット位置を1加算しくステップ
315)、1トラック分のビットマツプの検索が終了し
たかを判定する(ステップ316)、検索が終了してい
ない場合、ステップ313に進み、検索が終了した場合
、ステップ321に進む。当該ビット位置がオンの更新
ビットマツプ61iが存在する場合、更新ビットマツプ
61iの書き出したライトアフタレコードに対応するビ
ットをオフし、当該ライトアフタレコードを磁気ディス
ク装置26に書き出す(ステップ317)、次のライト
アフタレコードを検索するため、ビット位置を1加算し
くステップ318)、1トラック分のビットマツプの検
索が終了したかを判定する(ステップ319)。検索が
終了していない場合、ステップ320に進み、検索が終
了した場合、ステップ321に進む。ステップ320で
は、書き出したトラックに対応する更新ビットマツプ6
1iのビットがオンかを判定する。該ビットがオフの場
合1次のレコードを検索するため。
ステップ313に進む。該ビットがオンの場合。
当該レコードを書き出すためステップ314に進む。ス
テップ321では、当該シリンダのライトアフタレコー
ドの書き出しが完了したかを判定する。これは、シリン
ダ内の更新ビットマツプ61iの全ビットがオフかを判
定すれば良い。書き出しが完了していない場合、ステッ
プ312に進み、書き出しが完了した場合、処理を終了
する。
本実施例では、ライトアフタデータを書き出した後、次
に書き出すライトアフタデータを検索しているが、次に
書き出すレコードの検索は、ライトアフタデータをディ
スク装置26に書き出すステップ317の処理と並列に
処理にしても良い。
本実施例では、シリンダ内の全てのライ1〜アフタデー
タをキャッシュ23がらディスク装置26に書き出して
いるが、書き出しの対象とするトラック332の数を制
限したり、書き出しを行なう磁気ディスク331の回転
数を制限しても良い。この場合、ライトアフタ処理に要
する時間を、予め定めた時間内に制限する効果がある。
本実施例によれば、ライトアフタデータを書き出しなが
ら次に書き出すライトアフタデータを決定するため、事
前にライトアフタデータの書き出し順を決定せず、1回
のシークでシリンダ内のライトアフタデータを書き出す
、磁気ディスク331の1回転内で複数のトラック33
2のライトアフタデータをキャッシュ23から磁気ディ
スク装置26に書き出すため、ライトアフタ処理のシー
ク回数が減少し、ライトアフタ処理時間が削減できる。
これにより、ディスク装置のスルーブツトを向上できる
〔発明の効果〕
以上、説明したように1本発明によれば、ライトアフタ
処理時におけるシーク回数を削減することができる。ま
た、磁気ディスク1回転内にシリンダ内の複数のトラッ
クにライトアフタデータを書き出しているので、ライト
アフタ処理によって磁気ディスク装置が占有される時間
を削減することができる。従って、ディスク制御装置の
スループットを向上することができ、ライトアフタ処理
を効率良く実行できる。
【図面の簡単な説明】
第1図は1本発明のライトアフタキャッシュ制御を示す
図。 第2図は、本発明の対象となる入出力サブシステムの構
成例を示す図。 第3図は、キャッシュの構成を示す図、第4図は、ディ
レクトリの内容を示す図、第5図は、シリンダ管理情報
の内容を示す図。 第6図は、ブロック管理情報の内容を示す図。 第7図は、キャッシュにライトアフタ対象レコードを格
納する際の処理図、 第8図は、トラック順次書き出し処理の書き出しj順序
情報の内容を示す図。 第9図は、ライトアフタ処理の基準とするトラックを選
択する処理を示す図、 第10図は、トラック順次書き出しを行うための基準と
するトラックと同一シリンダ内の書き出し順序を決定す
る処理を示す図、 第11図は、ライトアフタ情報に従ってライトアフタデ
ータを磁気ディスク装置に書き出す処理を示す図、 第12図は、トラック渡り書き出し処理のライトアフタ
情報の内容を示す図、 第13図は、トラック渡り書き出しを行なうためのライ
トアフタ処理の基準とするトラックを選択する処理を示
す図、 第14図は、トラック渡り書き出し処理をするトラック
と同一シリンダ内の書き出し順序を決定する処理を示す
図、 第15図は、トラック渡り書き出しのレコードを選択す
る処理を示す図、 第16図は、ライトアフタ情報の登録処理を示す図、 第17図は、書き出しトラックの変更処理がレコード間
隔時間内に完了しない場合のトラック渡り書き出しのレ
コードを選択する処理を示す図、第18図は、トラック
渡り書き出しを行なうライトアフタ情報に従ってライト
アフタデータを磁気ディスク装置に書き出す処理を示す
図。 第19図は、トラック渡り書き出しのレコードをレコー
ドの配列順に選択する処理を示す図、第20図は、ビッ
トマツプ上でのレコード位置を算出する場合のブロック
管理情報の内容を示す図。 第21図は、ビットマツプ上でのレコード位置を算出す
る場合のキャッシュにライトアフタ対象レコードを格納
する際の処理を示す図、第22図は、ビットマツプ上で
のレコード位置を算出する場合のトラック渡り書き出し
のレコードを選択する処理を示す図。 第23図は、書き出しトラックの変更処理がレコード間
隔時間内に完了しない場合のレコード位置を算出する場
合のライトアフタ情報の内容を示す図、 第24図は、書き出しトラックの変更処理がレコド間隔
時間内で完了しない時、ビットマツプ上でのレコード位
置を算出する場合のトラック渡りiイき出しのレコード
を選択する処理を示す図、第25図は、更新レコード数
順にトラック渡り書き出しのレコード選択を行なう場合
のシリンダ管理情報の内容を示す図、 第26図は、更新レコード数をカウントする場合のキャ
ッシュにライトアフタ対象レコードを格納する際の処理
を示す図、 第27図は、更新レコード数1@にトラック渡り書き出
しのレコード選択を行う場合の書き出しレコード順を選
択する処理を示す図、 第28図は、トラック順次書き出し処理とトラック渡り
書き出し処理を選択する場合のシリンダ管理情報の内容
を示す図、 第29図は、トラック順次書き出し処理とトラック渡り
書き出し処理を選択する場合のキャッシュにライトアフ
タデータを格納する際の処理を示す図、 第30図は、トラック順次書き出し処理とトラック渡り
書き出し処理を選択する処理を示す図。 第31図は、ライトアフタデータを磁気ディスク装置に
書き出す際1回転位置検出機能により制御装置とディス
ク装置を切り離す動作を含む処理を示す図、 第32図は、トラック渡り書き出しの判定を行ないなが
らライトアフタデータを磁気ディスク装置に書き出す処
理を示す図。 第33図は、ディスク装置の構成の一例を示す図、 第34図は、制御プロセッサの内容を示す図、第35図
は、ライトアフタデータを書き出した後、次に書き出す
ライトアフタデータを検出する処理を行なうライトアフ
タキャッシュ制御を示す図。 第36図は、ライトアフタデータをディスク装置に書き
出す際の処理を示す図である。 図中、20・・・制御装置、21・・・制御プロセッサ
、22・・ディレクトリ、23・・・キャッシュ、24
・・・ライトアフタ情報、26・・・ディスク装置、4
3i・・・ブロック管理情報、48j・・・シリンダ管
理情報。

Claims (1)

  1. 【特許請求の範囲】 1、記録媒体である複数の磁気ディスクと、前記磁気デ
    ィスクの回転中心から径方向に同時に同方向に移動し、
    前記磁気ディスク上のデータを読み書きする複数のヘッ
    ドとで構成され、前記磁気ディスク上に、前記磁気ディ
    スクの回転中心から同心円状にデータを記録するトラッ
    クを複数設けたディスク装置と、処理装置に接続され、
    前記処理装置から前記ディスク装置への書き出しデータ
    をディスクキャッシュに書込んだ段階で書き出し完了を
    前記処理装置に報告し、前記データを前記ディスク装置
    に書き出すライトアフタキャッシュ制御を行なうディス
    ク制御装置において、前記ディスクキャッシュ内に存在
    して前記ディスク装置に書き出していないデータを、前
    記ディスクキャッシュから前記ディスク装置の前記トラ
    ックに書き出す際、前記データを前記ディスクキャッシ
    ュに格納している前記トラックのうち、任意のトラック
    を選択し、該トラックに前記ヘッドを位置付けた場合、
    前記ヘッドが同時に位置付けられる複数の前記トラック
    に関する前記データの書き出し順序を決定し、前記書き
    出し順序に従い、前記データを前記ディスクキャッシュ
    から前記ディスク装置に書き出すことを特徴とするデー
    タ書き出し制御方式。 2、前記データの書き出し順序は、前記トラック毎に、
    前記データの前記トラック上での配列順に書き出しを行
    なう順序であることを特徴とする請求項1記載のデータ
    書き出し制御方式。 3、前記データの書き出し順序は、前記磁気ディスクの
    1回転内に、前記トラックに関する前記データの全てを
    、前記ディスクキャッシュから前記ディスク装置に書き
    出せるトラックの集合を選択し、前記データが前記ヘッ
    ドに位置付けられる順に書き出しを行なう順序であるこ
    とを特徴とする請求項1記載のデータ書き出し制御方式
    。 4、前記データの書き出し順序は、予め定めた前記トラ
    ックの順序で、前記データが前記ヘッドに位置付けられ
    る順に、前記データの書き出しを行なう前記磁気ディス
    クの回転順序を決定し、前記磁気ディスクの同一の回転
    順序に対しては、前記データが前記ヘッドに位置付けら
    れる順に書き出しを行なう順序であることを特徴とする
    請求項1記載のデータ書き出し制御方式。 5、前記データの書き出し順序は、前記データが前記ヘ
    ッドに位置付けられる順に、前記データを前記ディスク
    キャッシュに格納しているトラックを検索し、該トラッ
    クの前記データが連続するかぎりこれを選択し、前記デ
    ータが連続しない場合、まだ書き出し順を決定していな
    い前記データのうち、前記データが前記ヘッドに位置付
    けられるまでの時間が最小となるものを選択することを
    特徴とする請求項1記載のデータ書き出し制御方式。 6、前記データを前記ディスクキャッシュに格納してい
    る前記トラックの選択は、前記データを前記ディスクキ
    ャッシュに格納している前記トラックのうち、最も長い
    時間、入出力対象となっていないデータに対応するトラ
    ックを選択することを特徴とする請求項1記載のデータ
    書き出し制御方式。 7、前記処理装置から前記ディスクキャッシュに前記デ
    ータを格納する際、シーケンシャルアクセスで前記ディ
    スクキャッシュに格納した前記データの有無を前記トラ
    ック単位に記録し、前記ヘッドが同時に位置付けられる
    複数の前記トラックに関する前記データの書き出し順序
    は、シーケンシャルアクセスされた前記トラックがある
    場合、前記トラック毎に、前記データの前記トラック上
    での配列順に書き出しを行ない、さらに、前記処理装置
    から前記ディスクキャッシュに前記データを格納する際
    、前記トラックの初期化を行なう形式書き込みコマンド
    で前記ディスクキャッシュに格納した前記データの有無
    を前記トラック単位に記録し、前記ヘッドが同時に位置
    付けられる複数の前記トラックに関する前記データの書
    き出し順序は、形式書き込みされた前記トラックがある
    場合、前記トラック毎に、前記データの前記トラック上
    での配列順に書き出しを行なうことを特徴とする請求項
    1記載のデータ書き出し制御方式。 8、記録媒体である複数の磁気ディスクと、前記磁気デ
    ィスクの回転中心から径方向に同時に同方向に移動し、
    前記磁気ディスク上のデータを読み書きする複数のヘッ
    ドとで構成され、前記磁気ディスク上に、前記磁気ディ
    スクの回転中心から同心円状にデータを記録するトラッ
    クを複数設けたディスク装置と、処理装置に接続され、
    前記処理装置から前記ディスク装置への書き出しデータ
    を、ディスクキャッシュに書き込んだ段階で書き出し完
    了を前記処理装置に報告し、前記データを前記ディスク
    装置に書き出すライトアフタキャッシュ制御を行なうデ
    ィスク制御装置において、前記ディスクキャッシュ内に
    存在して前記ディスク装置に書き出していないデータを
    、前記ディスクキャッシュから前記ディスク装置の前記
    トラックに書き出す際、前記ヘッドが、前記データから
    次の前記データに位置付けられるまでの時間間隔を算出
    し、前記時間間隔が、前記ディスク制御装置と前記ディ
    スク装置の切り離しに要する時間と接続に要する時間を
    加えた時間より大きい場合、前記ディスク装置に回転位
    置検出を指示し、前記ディスク制御装置と前記ディスク
    装置の切り離しを行なうことを特徴とするデータ書き出
    し制御方式。 9、記録媒体である複数の磁気ディスクと、前記磁気デ
    ィスクの回転中心から径方向に同時に同方向に移動し、
    前記磁気ディスク上のデータを読み書きする複数のヘッ
    ドからなり、前記磁気ディスクの回転中心から同心円状
    にデータを記録するトラックを複数設けたディスク装置
    と、ディスクキャッシュと、前記ディスクキャッシュを
    前記磁気ディスク装置に対応して制御するための情報を
    格納するディレクトリと、前記ディスクキャシュ及び前
    記ディレクトリに接続され、前記ディレクトリに格納し
    た前記ディスク装置に対応する前記ディスクキャッシュ
    を制御するための情報を参照し、処理装置から前記ディ
    スク装置への書き出しデータを、ディスクキャッシュに
    書き込んだ段階で書き出し完了を前記処理装置に報告し
    て、前記データを前記ディスク装置に書き出す制御プロ
    セッサとからなり、前記制御プロセッサは、前記ディス
    クキャッシュに格納した前記トラックの内容のうち、最
    も長い時間入出力対象となっていない前記内容に対応す
    るトラックを選択する手段と、該トラックに前記ヘッド
    を位置付けたとき、前記ヘッドが同時に位置付けられる
    複数の前記トラックに関する前記データの書き出し順序
    を決定する手段と、前記書き出し順序に従い、前記デー
    タを前記ディスクキャッシュから前記ディスク装置に書
    き出す手段とを有することを特徴とする計算機システム
JP1312399A 1989-12-01 1989-12-01 データ書き出し制御方式および装置 Pending JPH03172946A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP1312399A JPH03172946A (ja) 1989-12-01 1989-12-01 データ書き出し制御方式および装置
DE4038325A DE4038325A1 (de) 1989-12-01 1990-11-30 Datenschreibsteuersystem und -verfahren fuer magnetplattenspeichergeraet

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1312399A JPH03172946A (ja) 1989-12-01 1989-12-01 データ書き出し制御方式および装置

Publications (1)

Publication Number Publication Date
JPH03172946A true JPH03172946A (ja) 1991-07-26

Family

ID=18028777

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1312399A Pending JPH03172946A (ja) 1989-12-01 1989-12-01 データ書き出し制御方式および装置

Country Status (1)

Country Link
JP (1) JPH03172946A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5553307A (en) * 1992-04-17 1996-09-03 Hitachi, Ltd. Method and device for transferring noncontiguous blocks in one transfer start by creating bit-map indicating which block is to be transferred
US6145058A (en) * 1997-04-18 2000-11-07 Nec Corporation Device and method for controlling write-back of data in a cache memory connected to a storage
US7584365B2 (en) 2005-05-12 2009-09-01 Hitachi, Ltd. Storage system
JP2010079928A (ja) * 2002-03-21 2010-04-08 Netapp Inc Raidシステムにおいてストライプの連続アレイに書き込む方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5553307A (en) * 1992-04-17 1996-09-03 Hitachi, Ltd. Method and device for transferring noncontiguous blocks in one transfer start by creating bit-map indicating which block is to be transferred
US6145058A (en) * 1997-04-18 2000-11-07 Nec Corporation Device and method for controlling write-back of data in a cache memory connected to a storage
JP2010079928A (ja) * 2002-03-21 2010-04-08 Netapp Inc Raidシステムにおいてストライプの連続アレイに書き込む方法
US7584365B2 (en) 2005-05-12 2009-09-01 Hitachi, Ltd. Storage system
US8041961B2 (en) 2005-05-12 2011-10-18 Hitachi, Ltd. Storage system

Similar Documents

Publication Publication Date Title
US5764880A (en) Method and system for rebuilding log-structured arrays
JP3175371B2 (ja) データ記憶フォーマット変換方式及びその変換方法及びアクセス制御装置及びデータアクセス方法
KR950014668B1 (ko) 데이타 기록 및 탐색 방법, 데이타 기억 및 액세스 방법, 데이타 기록 및 판독 방법, 데이타 판독 및 기록 시스템 및 일회 기록 다회 판독(worm) 데이타 기억 매체
US4575827A (en) Self-archiving data recording
US5729718A (en) System for determining lead time latency as function of head switch, seek, and rotational latencies and utilizing embedded disk drive controller for command queue reordering
KR900004758B1 (ko) 대용량 기억 디스크 드라이브 불량 매체 처리방법
JP2770855B2 (ja) ディジタル式情報記憶検索方法及びその装置
US20020059476A1 (en) System and method of implementing a buffer memory and hard disk drive write controller
JPS63247853A (ja) Dasdキヤツシユ管理方法
JP2002520691A (ja) 異なるデータ構造を格納するための方法及び装置
JP2003501778A (ja) 欠陥セクタおよび/または望まれないセクタをスキップするためのディスク・ドライブ・コントローラ回路および方法
JPH1063578A (ja) 情報記録再生装置
JPH0417525B2 (ja)
JP3113353B2 (ja) 回転メモリシステム
US7689623B1 (en) Method for performing an external (disk-based) sort of a large data file which takes advantage of “presorted” data already present in the input
JP4053234B2 (ja) ディスク装置
JPH03172946A (ja) データ書き出し制御方式および装置
JPH06175894A (ja) データ処理システムの非特殊データ検索方法とそのシステム
JPH06332622A (ja) 情報処理装置
US5187778A (en) Buffered disk unit and method of transferring data therein
US20100036977A1 (en) Ckd partial record handling
EP0080878A2 (en) Cache memory and method of control for use with magnetic disks
JP3435176B2 (ja) 磁気ディスク装置
JPS59125463A (ja) 外部記憶制御方式
JPS63231547A (ja) 記憶装置の空領域管理方式