JPH0484215A - ディスク制御装置のデータ二重書き方法 - Google Patents

ディスク制御装置のデータ二重書き方法

Info

Publication number
JPH0484215A
JPH0484215A JP2198166A JP19816690A JPH0484215A JP H0484215 A JPH0484215 A JP H0484215A JP 2198166 A JP2198166 A JP 2198166A JP 19816690 A JP19816690 A JP 19816690A JP H0484215 A JPH0484215 A JP H0484215A
Authority
JP
Japan
Prior art keywords
disk drive
disk
data
drive
copy
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
JP2198166A
Other languages
English (en)
Inventor
Tomohiro Murata
智洋 村田
Masaharu Akatsu
赤津 雅晴
Kenzo Kurihara
栗原 謙三
Shigeo Honma
繁雄 本間
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 JP2198166A priority Critical patent/JPH0484215A/ja
Publication of JPH0484215A publication Critical patent/JPH0484215A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、キャッシュメモリを内蔵して、正のディスク
駆動装置(以下、正ドライブ)への書き込みと同時にキ
ャッシュメモリにもコピーをとり、正副ライブ書き込み
完了とは非同期に、キャッシュメモリから副ドライブに
書き込むためのディスク制御装置の二重書き方法に関す
る。
〔従来の技術] 従来より、ディスク制御装置には二重書き機能が備えら
れていた。これに関する技術文献としては、例えば、C
9P、 Grossman:  ”Evolution
of  the  D A S D  S torag
e  Control”(IBMSYSTEM  JO
UNAL、 Vol、28. No、2.pp、208
〜213゜pp、220〜221.1989参照)があ
る。
上記文献に記載されている二重書き機能を備えたディス
ク制御装置では、内蔵のディスクキャッシュ上に正ドラ
イブに対する書き込みトラックデータのコピートラック
を複数本分格納しておき、ホストコンピュータからの正
ドライブに対する書き込み命令とは非同期に、そのディ
スクキャッシュから複数トラックデータを一括して副ド
ライブに纏め書きしている。これにより、二重書きのレ
スポンスおよびスループットを向上させることができる
さらに、上記ディスク制御装置では、ディスクキャッシ
ュに加えて不揮発のバックアップメモリを内蔵しておき
、電源オフ等によりディスクキャッシュ内のデータが消
去しても、バックアップメモリに残っているデータによ
り正ドライブに対しても纏め書きができるようにしてい
る。すなわち、ホストコンピュータから正ドライブへの
書き込みデータをディスクキャッシュとバックアップメ
モリの両方に書き込んだ時点で、正ドライブには実際に
書き込んでいなくても、ホストの書き込み命令を完了さ
せ、ホストの書き込み命令実行完了とは非同期に、キャ
ッシュから正ドライブに対して複数トラック分を一括し
て纏め書きする(これをディスク高速書込みと呼ぶ)こ
とにより、二重書き機能の性能向上を図っている。
〔発明が解決しようとする課題〕
前述のように、従来の二重書き方法では、ホストから正
副ドライブへの二重書きを終了、中止するための解除の
指示が出された場合には、直ちに正副両ドライブに格納
されているデータの一致をとるために、副ドライブに対
してキャッシュ上の未反映トラック分を書き込む必要が
ある。
しかしながら、この処理は、ホストより二重書き解除の
指示が出されてからホストの時間監視制限以内(通常、
士数秒以内)に完了する必要がある。
従って、未書き込みトラックデータが多い場合には、そ
の時間内に処理が完了しないことがあり、そのようなと
きは、チャネル側ではタイムアウトエラー終了扱いにな
ってしまう。
このように、従来のデータ二重書き方法では、副ドライ
ブに書き込むべきコピートラックをキャッシュ上にあま
り多く格納しておくと、ホストより二重書き解除の指示
が出されてから、正副両ドライブの格納データの一致を
とるために、副ドライブに対してキャッシュ上の未反映
トラックを書き込むための時間が長くかかってしまい、
ホスト側では、二重書き解除指示の実行がタイムアウト
エラー終了となる。また、逆に、キャッシュ上に格納す
るコピートラックの数をあまり少なくすると、副ドライ
ブに対する未反映トラックの纏め書き効果がなくなって
しまい、二重書きのスループットが向上しないという問
題が生じる。
次に、正ドライブにディスク高速書き込みを行う高速二
重書きの場合、バックアップメモリの保守または障害等
によりバッグアップメモリを閉塞して、正ドライブに対
するディスク高速書き込みを停止するときには、ディス
ク高速書き込みトラックをキャッシュより正ドライブに
反映する必要がある。この処理自体は、ホストの時間監
視制限がないため、ホストの書込命令とは非同期で行う
ことができるが、二重書きを行う必要上、正ドライブに
書き込んだトラック分は全て副ドライブに反映すべきコ
ピートラックであるため、キャッシュメモリに残してお
く必要がある。
しかしながら、この状態で、さらにホストから正副両ド
ライブ解除命令が出された場合には、キャッシュ上のコ
ピートラック数が多いと、副ドライブにコピートラック
を書き込むための時間が長くなるので、ホストの二重書
き解除命令の実行がタイムアウトエラー終了となってし
まう。
本発明の目的は、これら従来の課題を解決し、二重書き
処理の性能向上を図りながら、正副両ドライブの解除時
に、速やかに両ドライブ格納データの一致をとることが
できるディスク制御装置のデータ二重書き方法を提供す
ることにある。
また、本発明の他の目的は、バックアップメモリの保守
、障害による正ドライブへの高速書き込み機能停止後に
、正副両ドライブの解除を行う場合、速やかに正副両ド
ライブ格納データの一致をとることができるディスク制
御装置のデータ二重書き方法を提供することにある。
[課題を解決するための手段] 上記目的を達成するため、本発明によるディスク制御装
置のデータ二重書き方法は、(a)キャッシュメモリ上
のコピートラックの本数の上限値を、ある制限時間内に
ディスク制御装置が副のディスクドライブに書き込み可
能な範囲の本数に予め設定しておき、コピートラック本
数が上限値の本数以内のときには、正のディスクドライ
ブへのブタ書き込み命令の実行完了とは非同期にコピー
トラックを副のディスクドライブに格納し、コピートラ
ックの本数が上限値の本数を越えたときには、ホストコ
ンピュータの正のディスクドライブへの書き込み命令実
行に同期して、上限値の本数未満の範囲で任意に定めた
下限値の本数を越えてキャッシュメモリ上に存在する当
該副のディスクドライブに関する未書き込みコピートラ
ックを副のディスクドライブに格納することに特徴があ
る。また、(b)ディスク高速二重書込み時にも、正の
ディスクドライブへの書き込み完了後に上記キャッシュ
メモリ上に残すコピートラックの本数に予め上限値を定
めておき、コピートラックの本数が上限値の本数以内の
ときには、正のディスクドライブへの書き込み完了とは
非同期に、コピートラックを副のディスクドライブに格
納し、コピートラックの本数が上限値の本数を越えたと
きには、正のディスクドライブに書き込みを行い、これ
と連続してコピートラックを副のディスクドライブの対
応する物理トラックに格納することにも特徴がある。ま
た、(C)コピートラックの本数が上限値の本数を越え
た場合で、かつホストコンピュータからの正のディスク
ドライブに対する書き込み要求トラックがキャッシュメ
モリ上に存在しない場合には、ホストコンピュータの書
き込み要求ブタを正のディスクドライブの指定物理トラ
ックに直接書き込むとともに、正のディスクドライブに
書き込んだデータをキャッシュメモリ上に読み出し、こ
れに連続してキャッシュメモリ上のトラックを副のディ
スクドライブの対応する物理トラックに書き込むことに
も特徴がある。また、(d)ホストコンピュータから、
バックアップ用不揮発メモリの使用停止要求があるか、
あるいは不揮発メモリの障害により、正のディスクドラ
イブに対する二重書き込み動作が継続できなくなるか、
いずれか一方の場合、ディスク制御装置内で不揮発メモ
リの使用禁止を設定するとともに、正のディスクドライ
ブに対するホストコンピュータからのアクセスの受付け
を一時的に保留させた後、正のディスクドライブに対す
るキャッシュメモリ上の全ての未反映高速書込トラック
を(b)に述べた方法で正のディスクドライブに書き込
み、その後、保留させていた正のディスクドライブに対
するホストコンピュータからのアクセスを再び受付ける
ことにも特徴がある。さらに、(e)ディスク制御装置
内で上記不揮発メモリの使用禁止を設定する際に、−時
的に保留させていた正のディスクドライブに対するホス
トコンピュータからのアクセスの受付けを再開させた後
は、(b)に記載された正のディスクドライブに対する
データ二重書き方法を中止して、(a)に記載された正
副ディスクドライブに対する二重書き方法で動作するこ
とにも特徴がある。
C作  用〕 本発明においては、(イ)二重書きを行う正副両ドライ
ブ毎に、ディスクキャッシュ上に格納可能なトラック数
(副ドライブに未反映のトラック数)の上限値を設ける
とともに、キャッシュ上に格納されたトラック数が上記
上限値を越えたか否かを判断する。また、(ロ)ホスト
から正ドライブへのデータ書き込み命令の実行完了とは
非同期に、未反映コピートラックを副ドライブに書き込
むためにオフライン纏め書きを行うとともに、場合によ
っては、ホストから正ドライブへのデータ書き込み命令
の実行時に、コピートラックをキャッシュから副ドライ
ブに対して書き込むための同期書きを行う。また、(ハ
)バックアップメモリの使用禁止を内部的に設定すると
ともに、正ドライブに対するホストアクセスを保留/解
除させ、さらに(ニ)正ドライブに書き込んだディスク
高速書き込みトラックを、連続的に副ドライブに書き込
み、(ホ)ホストの書き込み命令に同期して直接書き込
んだ正ドライブの物理トラックを連続してキャッシュメ
モリに読み出し、そのトラックを連続してキャッシュか
ら副ドライブに書き込む。
これらの動作により、両ドライブに対するキャッシュ上
のコピートラック数を適切に制御することができるので
、二重書きの効率化および二重書き解除時の正副ドライ
ブ格納データの迅速な一致を図ることが可能である。
〔実施例〕
以下、本発明の実施例を、図面により詳細に説明する。
第13図は、本発明の動作原理を示す説明図である。
本発明においては、(a)二重書き処理の性能向上を図
りながら、正副両ドライブの解除指示が出されたとき、
速やかに正副ドライブ格納データの一致をとることがで
きるようにする。また、(b)ディスク高速書き込み用
のバックアップメモリの保守、障害等による正ドライブ
へのディスク高速書き込み機能縮退後の、正副両ドライ
ブの解除時にも、速やかに正副ドライブ格納データの一
致をとることができるようにする。
第13図(a−1)(a−2)は、上記(a)を実現す
る方法を示しており、(コピートラック数)く(上限値
)であるか、(コピートラック)≧(上限値)であるか
を判定する手段により(a−1)のように非同期で副ド
ライブに書き込むか、(a−2)のように同期して副ド
ライブに書き込むかを決定する。
二重で非同期とは、ホストの書込み命令に対し完了報告
をした後にキャッシュ上の書込データをドライブに書込
むことをいい、同期とはホストの書込命令に対し直接ド
ライブにデータを書込んだ後にホストに完了報告を返す
ことをいう。すなわち、(a−1)では、キャッシュ上
に格納されたトラック数、つまり副ドライブに未反映の
トラック数が上限値に達しないと判断された場合であっ
て、このときには、副ドライブに対するコピートラック
をオフライン纏め書き手段により書き込む。(a−2)
では、副ドライブに対するコピートラック数が上限値に
達した場合であって、このときには、ホストから正ドラ
イブへのデータ書き込み命令の実行時に、同期書き込み
手段により副ドライブにも書き込む。
第13図(b−1)(b−2)は、上記(b)を実現す
る方法を示しており、高速書き込みにおいて、キャッシ
ュ上に格納されたトラック数が、 (コピトラック数)
<(上限値)であるか、(コピートラック)≧(上限値
)であるかを判定する手段により、(b−1)のように
非同期で副ドライブに書き込むか、あるいは(b−2)
のように同期して副ドライブに書き込むかを決定する。
すなわち、(b−1)では、バックアップメモリを具備
し、正ドライブにディスク高速書き込みを行う場合に、
副ドライブに反映すべきコピートラックの本数が上限本
数に満たないときには、オフライン纏め書き手段により
副ドライブに対してキャッシュ上のトラックを書き込む
。また、(b−2)では、副ドライブに反映すべきコピ
ートラックの本数が上限本数を越えた場合、正ドライブ
へのディスク高速書き込みトラックの書き込み実行時に
、正ドライブに書き込んだトラックを続けて副ドライブ
の対応トラックに書き込む。
本発明においては、この他にも、(b−1)(b−2)
の処理中に、ホストからの正ドライブに対する書き込み
要求トラックが、キャッシュ上に存在しない場合(ミス
した場合)、ホストの書き込み要求データを正ドライブ
の指定物理トラックに直接書き込むとともに、正ドライ
ブの物理トラックのデータをキャッシュ上に読み出し、
続けてキャッシュから副ドライブの対応する物理トラッ
クにトラックを書き込む。また、同じ<(b−1)(b
−2)の処理中に、高速書き込み停止要求、あるいはバ
ックアップメモリ障害により正ドライブへの書き込み継
続不可能な場合には、バックアップメモリの使用禁止を
内部的に設定し、正ドライブに対するホストアクセスを
一時保留させ、正ドライブに対するキャッシュ上の未書
込トラックを正ドライブに書込み、さらに予め指定され
た下限を越える分のコピートラックを正ドライブに対応
する副ドライブにも書き込んだ後、正ドライブに対する
ホストアクセスの保留を解除する。
第1図は、本発明の一実施例を示すギヤ゛ツシュ付きデ
ィスクサブシステムの構成図である。
第1図のディスクサブシステムは、チャネル制御装置1
01、ディスク制御装置1.02、ディスクドライブ1
10,120および保守パネル130から構成されてい
る。このうち、ディスクドライブ110,120は二重
書きペアを組んでおり、ドライブ110が正ドライブ、
120が副ドライブである。ディスク制御装置102は
、2台のプロセッサ103,104を内蔵しており、こ
れらの各プロセッサ103,104はそれぞれチャネル
101、ドライブ110,120に外部接続されるとと
もに、キャッシュメモリ106およびその管理情報を格
納するディレクトリ105、キャッシュメモリ106の
バックアップメモリ109およびその管理情報を格納す
るディレクトリ108、ならびに上記各メモリとドライ
ブの制御状態を反映する制御メモリ187に内部接続さ
れる。
制御メモリ187は、ディスク制御装置102内の複数
のプロセッサ103,104相互間の連絡用として使用
されるとともに、各プロセッサ103、.104が各ド
ライブ11.0,120を制御するための情報を記憶す
る機能を有している。
次に、本実施例におけるディスク制御装置102の二重
書き動作を説明する。以下、(イ)キャッシュメモリを
用いた二重書きのみを行う場合の動作と、(ロ)二重書
きに加え、バックアップメモリを用いたディスク高速書
き込みを行う場合の動作とについて、順次詳述する。
(イ)二重書きのみの動作 第9図は、本発明における二重書きのみの動作フローチ
ャートであり、また第8図は第1図における制御メモリ
の構成図、第2図は第1図におけるキャッシュメモリお
よびそのディレクトリの構成図、第3図は第2図におけ
るキャッシュディレクトリ内のトラック表の構成図、お
よび第4図は同じくキャッシュディレクトリ内のスロッ
ト制御ブロックの構成図である。
いま、第1図におけるディスク制御装置102内のプロ
セッサ103が、チャネル制御装置101を介してホス
トコンピュータ100からアクセス要求を受は取ると、
プロセッサ103はそれがどのディスクドライブに対す
るアクセス要求であるかを認識する。ここでは、正ドラ
イブ110のトラック4のレコードlに対する書き込み
要求であると仮定する。プロセッサ103は、第8図に
示す制御メモリ187内の当該ドライブに対するドライ
ブ制御テーブル(DCB)1870の論理ロックフラグ
1873を調べ、他のプロセッサが既にロックフラグ1
873を取得済みであるか否かを判定する(第9図のス
テップ701)。ドライブ制御テーブル1870には、
論理ロックフラグ1873と物理ロックフラグ1872
の2つがあって、このうちの論理ロックフラグ1873
はホスト要求によりキャッシュ上のデータをアクセスす
る場合のドライブに関する排他用のロックである。
他方の物理ロックフラグ1872は、他のプロセッサが
当該ドライブに対して非同期アクセスを行って、物理ト
ラックをアクセスしたか否かを示す排他用のロック情報
フラグである。
このようにして、プロセッサ103は当該圧ドライブの
論理ロック1873に′1′がセットされていなか否か
をチエツクする。チエツクの結果、′1°がセットされ
ていないときには、他プロセツサによりそのドライブが
取得されていないことを知り、自分が取得したことを示
すため、それに′1′ をセットして、当該ドライブの
論理ロックを取得する(ステップ702)。もし、他の
プロセッサが既にロックを取得済みであれば、チャネル
制御装置101に対してデバイスビジーを応答し、処理
を終了する(ステップ712)。ロックが取得済みでな
ければ、引き続き、ディスク制御装置102はチャネル
101を介してホスト100よリコマンドを受は取る(
ステップ703)。ここでは、ライトコマンドとする。
そして、アクセス対象トラック番号(T R4)と、レ
コード番号(R1)とを認識する。
引き続いて当該正ドライブに対するドライブ制御テーブ
ル(DCB)1870の物理ロック1872を調べて、
他のプロセッサが既にロックを取得済みでないか否かを
判定する(ステップ704)。
具体的には、当該正ドライブの物理ロック1872に1
′がセットされていないことをチエツクする。それがセ
ットされていないときには、他のプロセッサにより取得
されていないので、そこに111 をセットして当該正
ドライブの物理ロックを取得する(ステップ705)。
もし、他のプロセッサがロックを取得済みであれば、ロ
ックが解除されるまで待機する(ステップ723)。
次に、第2図に示すディレクトリ105内の正ドライブ
110用のトラック表1051を検索して、トラックT
R4に対するキャッシュスロットが既にキャッシュ上に
確保されているか否かを判定する(ステップ706)。
すなわち、アクセス対象のスロットがヒツトしたか否か
を判定する。具体的には、トラック表1051内のトラ
ックアドレスTR4のエリア(第3図に示すキャッシュ
トラック表内の1055参照)にスロット制御ブロック
へのポインタがアロケートされていることを調べる。ス
ロット制御ブロックポインタがゼロでなければ、スロッ
ト制御ブロックへのポインタがアロケートされている。
この場合には、スロット制御ブロック354へのポイン
タ3223がアロケートされている(第2図の3223
参照)にのようにアロケートされている場合は、ヒツト
と呼ぶ。逆に、スロット制御ブロックポインタがゼロの
場合には、トラックミスと呼ぶ。
トラックヒツトしているときには、そのスロットのロッ
クを確保する(ステップ707)。具体的には、プロセ
ッサ103は、スロット制御ブロック(第2図の354
参照)内のスロットロックステタス(第4図の401参
照)を判定し、当該スロットを他プロセツサがロック中
か否かを判定する。
なお、ロック中のときには、スロットロックステータス
は1′である。スロットロックステータス401は、ス
ロットに関するアクセスをプロセッサ間で排他するため
のロックである。ここでは、当該スロットを他プロセツ
サがロック中でないと仮定する。この場合には、スロッ
トロックステータスは0′である。プロセッサ103は
、第4図のスロット制御ブロックのスロットロックステ
ータス401に1′ をセットし、当該スロットのロッ
クを確保する。また、トラックミスしている場合には、
未使用キュー(第2図の1056)からデータを格納し
ていない空きスロットに対応するSC,B(ロットコン
トロールブロック)を1個だけ抽出し、キャッシュトラ
ック表(第2図、第3図の1051)のTR4のエリア
にそのSCBへのポインタを書き込む(第3図の105
5)。もし、未使用キュー1056に接続されるSCB
がなければ、リプレース可能キュー(第2図の1055
)からロック未取得のSCBを1個だけ抽出する(ステ
ップ711)。
ここで、未使用キュー1056とは、未だ使用されてい
ない、つまりトラック表1051にリンクされておらず
、データを格納していないスロットに対応するSCBを
接続したキューのことである。また、リプレース可能キ
ュー1055とは、ディスクドライブの物理トラックと
同一データを格納しているスロットに対応するSCBを
接続したキューのことである。これらは全てのディスク
ドライブに共通のキューである。これらのキューは、第
4図に示すスロット制御ブロックの2個のキューポイン
タ403,404を用いたキュー例えば第2図に示すよ
うな双方向キュー(DFWキュー)1053として実現
される。これらのキュー操作は、ディレクトリ105の
ロックフラグ(第8図のキャシュディレクトリロックフ
ラグ1883)を確保してから実行され、それによりプ
ロセッサ間の排他が可能となる。それ以外のキューにつ
いては、後述する。
第9図の動作フローに戻って、当該正ドライブ上の物理
トラックの指定レコードエリアに対してデータ書き込み
を行う(ステップ708)。なお、このデータ書き込み
をスルーライト動作と呼ぶ。
次に、当該物理トラックのデータをドライブからキャッ
シュ上の当該スロットにロードする(ステップ709)
。そして、当該SCBをリプレース可能キュー(第2図
の1055)から抜き取り、DCキュー(デュアルコピ
ー・キュー)(第2図の1O54)に接続替えを行う(
ステップ713)。ここで、DCキュー(1054)と
は、副ドライブに書き込むべき二重書き用データ(コピ
ートラック)を格納しているスロットに対応するSCB
を接続したキュー(ドライブ単位のキュー)のことであ
る。
次に、当該正ドライブのDCキュー長を+1して(ステ
ップ714)、DCキュー長と予め与えられた上限値と
を比較しくステップ715)、DCキュー長が上限値以
上の場合には、DCキューに接続されたスロットのうち
、 [(キュー長)−(下限値)]の個数用だけスロッ
トのロックを取得する(ステップ716)。すなわち、
ホストからの二重書き解除命令の実行がタイムアウトエ
ラーになるおそれがあるキュー長の上限値を予め定めて
おき、DCキュー長がそれ以上になった場合には、DC
キューにあるSCBでポイントされているキャッシュ上
のコピートラックを副ドライブに書き込んでしまう。書
き込むべきスロット数として、他の条件でDCキュー長
に最少限の個数だけ残しておく下限値を予め定めておき
、その下限値を残してそれ以外は全て副ドライブに書き
込む。
そして、副ドライブに書込むべきスロットのSCBの遷
移先キュー指示をリプレース可能キュー(第2図の10
55)としくステップ717)、DCキュー薯め書き処
理(ステップ722)を実行する(第9図の破線内の処
理)。すなわち、正ドライブのDCB(第8図の187
0)より、当該正ドライブとペアをなす副ドライブ番号
を読み出しくステップ718)、当該正ドライブのDC
キューに接続されたスロットのうちロック取得済みの全
スロットのデータを、キャッシュからその副ドライブに
書き込む(ステップ719)、そして、副ドライブに書
き込んだスロットのSCBを、DCキューから外して、
遷移先指示キュー(リプレース可能キュー(第2図の1
055)に接続替えする(ステップ720)。
もし、DCキュー長が上限値に満たない場合には、確保
していた全てのロックを開放しくステップ721)、処
理を終了する(ステップ72S)。
この場合のコピートラックの副ドライブへの書き込み動
作は、非同期纏め書き動作である。
以上が、キャッシュメモリを用いた二重書きのみを行う
ディスク制御装置102の動作説明である。
次に、DCキューの非同期纏め書き動作について詳述す
る。
第10図は、DCキューの非同期纏め書き処理のフロー
チャートである。
DCキューの非同期纏め書き処理では、先ず任意の正ド
ライブの1つ選択して、そのドライブの物理ロックを取
得する(ステップ801,802゜803)。物理ロッ
クを取得した後、次にその正ドライブのDCB(第8図
の1870)からDCキュー長1877を読み出し、そ
れがゼロでないときには、そのDCキューに接続されて
いるスロットのうち、同一シリンダ内に属するスロット
のみを選択して、ロックを取得する(ステップ804゜
805)。次に、遷移先指示キューをリプレース可能キ
ューとしくステップ806)、前述のDCキュー纏め書
き処理を実行した後(ステップ722)、取得した全て
のロックを解放する(ステップ808)、これにより、
処理を終了する(ステップ809)。
(ロ)二重書きで、かつディスク高速書き込みを行う動
作 第11図は、本発明の一実施例を示す二重書きと正ドラ
イブへのディスク高速書き込みの処理フローチャートで
あり、第5図は、本発明におけるバックアップメモリお
よびそのディレクトリの構成図である。
ディスク制御装置102のプロセッサ103は、チャネ
ル101を介してホストからアクセス要求を受は取ると
、どのディスクドライブに対するアクセス要求であるか
を認識する(ステップ900)。
ここでは、正ドライブ110のトラックlのレコド1に
対する書き込み要求であると仮定する。
プロセッサ103は、第8図の制御メモリ187内にあ
る当該ドライブに対するドライブ制御テーブル(DCB
)1870の論理ロック1873を調べて、他のプロセ
ッサが既にロックを取得しているか否かを判定する(ス
テップ901)。もし、他プロセツサが既にロックを取
得済みである場合には、チャネルにデバイスビジーを応
答して、処理を終了する(ステップ904)。未だ他プ
ロセツサがロックを取得済みでなければ、プロセッサ1
03が論理ロックを取得しくステップ902)、ディス
ク制御装置102はチャネル101を介してホストから
コマンド(ここでは、ライトコマンドとする)を受は取
り、アクセス対象トラック番号(TR1)、およびレコ
ード番号(R1)を認識する。
次に、その正ドライブのDCB (第8図の1870)
の物理ロック1872を調べて、それがセットされてい
なければ、それに ′1′ をセットすることにより、
その正ドライブの物理ロックを取得する(ステップ9o
5)。
次に、ディレクトリ1.05内の正ドライブ110用の
トラック表1051  (第2図または第3図参照)を
検索して、TRIに対するキャッシュスロットがヒツト
しているか否かを判定しくステップ906)、ヒツトし
ていれば、そのスロットのロックを確保しくステップ9
12)、バックアップメモリ上に当該スロットに対応す
るセグメントが確保されているか否かを判定する(ステ
ップ918)。具体的には、ディレクトリ(第5図の1
08)の当該スロットに対応するトラックアドレス(こ
こでは、TRI)のエントリを調べて、そこにバックア
ップメモリ上のセグメントへのポインタが格納されてい
るか否かを判定する。格納されているときには、バック
アップメモリ上に当該スロットに対応するセグメントが
確保されている。確保されていなければ、ディレクトリ
(第5図の108)内の空きセグメントキュー(第5図
のt082)から空きセグメントに対応するセグメント
管理ブロック(SGCB)を1個抽出し、ディレクトリ
(第5図の108)のトラック表の当該トラックのエン
トリにリンクする(ステップ919)。すなわち、バッ
クアップメモリの使用可能セグメントを確保する。そし
て、指定データをキャッシュの当該スロットの指定レコ
ードエリア、およびバックアップメモリ上の当該セグメ
ントの指定レコードエリアに同時に書き込むディスク高
速書き込みを実行する(ステップ920)。バックアッ
プメモリ上に当該スロットに対応するセグメントが確保
されていれば、そのままキャッシュとバックアップメモ
リ上に指定データのディスク高速書き込みを実行する。
そして、当該スロットのSCBがリプレース可能キュー
に存在すれば、それをDFWキューに移す(ステップ9
21,922)。元より当該スロットのSCBがDFW
キューに存在していれば、キュー操作は行わない(ステ
ップ921)。
ここで、DFWキューとは、正ドライブに対するディス
ク高速書き込みデータを格納しているスロットのSCB
を接続しているキューのことである。
そして、取得していた全てのロックを解放することによ
り、処理を終了する(ステップ923゜924)。
なお、アクセス対象スロットがミスヒツトの場合には(
ステップ906)、キャッシュの使用可能スロットを確
保した後(ステップ907)、正ドライブ上の物理トラ
ックに指定データを書き込み(ステップ910)、その
ドライブ上のライト済み物理トラックデータをキャッシ
ュにロードしくステップ911)、物理トラックデータ
を格納したスロットをDCキューに接続替えし、DCキ
ュー長を+1する(ステップ913)。
以上が、二重書きで、かつディスク高速書き込みを行う
場合の説明である。
次に、ホスト100および保守パネル130がらの要求
により、バックアップメモリ109の利用が不可能とな
り、動作が停止する場合、またはプロセッサ103,1
04がバックアップメモリの障害を検知して、バックア
ップメモリの利用を停止(rA塞)する場合の二重書き
動作について説明する。
第12図は、本発明の一実施例を示すバックアップメモ
リ閉塞時の二重書き処理フローチャートである。
保守パネル130からの要求によりバックアップメモリ
109の利用を停止する場合には、制御メモリ187内
のバックアップメモリ閉塞指示1886(第8図)を保
守パネル130がら設定する。
一方、ホストからの要求、あるいは障害検知によりバッ
クアップメモリの利用を停止する場合には、ホスト要求
、あるいは障害を検知したプロセッサがバックアップメ
モリ閉塞指示1886(第8図)を設定する。
第12図に示すように、バックアップメモリ閉塞指示1
886を検知した任意のプロセッサは、先ず制御メモリ
(第8図の187)内のホストアクセスの保留依頼フラ
グ1885を設定する(ステップ11’ O]、 )。
保留依頼フラグ1885が設定されると、プロセッサは
全ドライブに対するホストアクセス要求に対して、アク
セス要求の保留依頼の応答をチャネルに対して行う。そ
して、全ての正ドライブに対してステップ1120,7
22゜】109の処理を行う(ステップ1103)。先
ず、正ドライブについて、その論理ロックと物理ロック
の両方を取得したか否か判定する(1104)。
そして、正ドライブについてDFWキュー纏め書き処理
を行う(ステップ1120)。すなわち、当該圧ドライ
ブのDCB(第8図の1870)のDFWキュー長(1
880)を調べて(ステップ1105)、1以上の長さ
であれば、そのDFWキューに接続されたSCBに対応
する全てのスロットのロックを取得する(ステップ11
06)。当該スロットに格納されているデータをキャッ
シュから正ドライブの対応する物理トラックに書き込む
(ステップ1107)。そして、書き込み済みのスロッ
トに対応するSCBをそのDFWキューから外して、正
ドライブのDCキューに接続替えする(ステップ110
8)。
次に、正ドライブのDCキュー長が上限値を越えている
か否かを判定しくステップ1109)。越えている場合
は、正ドライブのDCキューを対象に、遷移先キュー指
示をリプレース可能キューとして、DCキュー纏め書き
処理を実行する(ステップ722)。最後に、取得した
全てのロックを開放する(ステップ1109)。そして
、次の正デバイスの選択を行う(ステップ1103,1
104)。
全ての正ドライブに対して、以上の処理を完了したなら
ば、制御メモリ187内のホストアクセスの保留依頼フ
ラグl885を解除する(ステップ1103,1110
)。このフラグが解除されている場合には、プロセッサ
は全ドライブに対するホストアクセス要求の受付けを再
開する。
以上が、ホスト100および保守パネル1.30からの
要求により、バックアップメモリ109の利用を停止す
る場合、またはプロセッサ103゜104がバッグアッ
プメモリの障害を検知して、バックアップメモリの利用
を停止(閉塞)する場合の二重書き処理の動作説明であ
る。
また、ホスト100および保守パネル130からの要求
により、指定圧ドライブのアクセスに対してのみバック
アップメモリの利用を停止する場合には、そのドライブ
のCDB (第8図の1870)内のDFW禁止フラグ
(1879)を設定する。
このフラグを検知したプロセッサは、先ずこの正ドライ
ブのDCB(第8図の1870)内のドライブアクセス
保留依頼フラグ1871を設定する。
このフラグが設定されると、プロセッサはそのドライブ
に対するホストアクセス要求に対して、アクセス要求の
保留依頼の応答をチャネルに対して行う。引き続いて、
その正ドライブのみについて、前述の二重書き動作(第
12図の1120.722゜11C)9)を実行した後
、その正ドライブのDCB(第8図の1870)内のド
ライブアクセス保留依頼フラグ1871を解除する。こ
のフラグが解除されている場合、プロセッサは当該ドラ
イブに対するホストアクセス要求の受付けを再開する。
最後に、ホストから正ドライブを指定して、正副ペアの
解除要求が出された場合に対するディスク制御装置10
2の二重書き動作を説明する。
この場合には、指定された正ドライブの論理ロック、物
理ロックの両方を取得した後、その正ドライブアクセス
保留依頼フラグ1871を設定し、その正ドライブのD
Cキューに接続される全てのスロットのロックをとった
後、その正ドライブのDCB(第8図の1870)から
副ドライブ番号1878を読み出す。次に、遷移先キュ
ー指示をリプレース可能キューにして、ロックをとった
上記スロットに対してDCキューの纏め書き処理(第1
2図のステップ722)を行った後、その正ドライブア
クセス保留依頼フラグ1871を解除し、取得した全て
のロックを解除して処理を終了する。
なお、本実施例では、ホストから正ドライブに対するア
クセス要求がない間に、第10図で説明したような非同
期纏め書き処理を行っているが、このようにすることで
、ホストから正ドライブに対するアクセス時に、DCキ
ュー長が上限値を越える確率を小さくすることができる
。その結果、ホストからの二重書き要求の平均処理時間
を小さくすることができる。
このように、本発明においては、キャッシュを内蔵し、
ホストから書き込みを指示されたデータを正ドライブに
書き込みした後、コピートラックとしてキャッシュに保
留し、ホストからの正ドライブに対する書き込み処理の
完了とは非同期で、コピートラックをキャッシュから副
ドライブに書き込むことにより、二重書きを行うディス
ク制御装置において、キャッシュ上の二重書き用コピー
トラック数を適切に制御することができるので、ホスト
から正副ペアの解除指示が出された時にも、速やかに正
副ドライブ格納データの一致をとることができる。また
、正ドライブに対して二重書きと合せて、バックアップ
メモリを利用したディスク高速書き込みを行なっている
状態からディスク高速書込みを停止した場合にも、速や
かに正副ドライブ格納データの一致をとることかできる
範囲で、キャッシュ上のコピートラック数を適切に制御
することができる。
〔発明の効果〕
以上説明したように、本発明によれば、二重書き処理の
性能向上を図りながら、正副ペアドライブの解除指示が
出された時点で、速やかに正副ドライブ格納データの内
容を一致させることができ、また、バックアップメモリ
の保守、障害等による正ドライブへのディスク高速書き
込み停止後に、正副ペアドライブの解除を行う場合にも
、速やかに正副ドライブ格納データの内容を一致させる
ことができる。
【図面の簡単な説明】
第1図は本発明の一実施例を示すディスク制御装置の構
成図、第2図は第1図におけるキャッシュおよびそのデ
ィレクトリの構成図、第3図は第1図におけるキャッシ
ュディレクトリ内のトラック表の構成図、第4図は第1
図におけるキャッシュディレクトリ内のスロット制御ブ
ロックの構成図、第5図は第1図におけるバックアップ
メモリおよびそのディレクトリの構成図、第6図は第1
図におけるバックアップメモリディレクトリ内のトラッ
ク表の構成図、第7図は第1図におけるバッグアップメ
モリディレクトリ内のセグメント制御ブロックの構成図
、第8図は第1図における制御メモリの構成図、第9図
は本発明の一実施例を示す二重書き処理のみを行う場合
の処理フローチャート、第10図は本発明の一実施例を
示すDCキューの非同期纏め書き処理のフローチャート
、第11図は本発明の一実施例を示す二重書き処理と正
ドライブへのディスク高速書き込みを行う場合の処理フ
ローチャート、第12図は本発明の一実施例を示すバッ
クアップメモリ閉塞時の二重書き処理のフローチャート
第13図は本発明の動作原理を示す説明図である。 100:ホストコンピュータ、101 :チャネル制御
装置、l○2:ディスク制御装置、110゜120  
ディスクドライブ(正、副)、130:保守パネル、1
03,104:プロセッサ、106キヤツシユメモリ、
105.キャッシュディレクトリ、1o9.バッグアッ
プメモリ、108・バック6アツプメモリデイレクトリ
、187・制御メモリ、1051:キャッシュディレク
トリTR表、1053 :キャッシュディレクトリ内D
FW(双方向)キュー、1054:キャッシュディレク
トリ内のDC(デュアルコピー)キュー ]、 O55
:リプレース可能キュー、1056:未使用キュー10
81:バックアップメモリディレクトリ内TR表、10
82:バックアップメモリディレクトリ内空きセグメン
トキュー、1870:制御メモリ内DCB(デバイスコ
ントロールブロック)、1872、物理ロックフラグ、
1873:論理ロックフラグ、1877:DCキュー長
、1886:バックアップメモリ閉塞指示。 第 図 (キャラツユトラ、り表) 第 図 第 図 第 図 第 図 第 図 第 図 第 図(その2) 第 図(その1) コピ トラック数〈上限 第 図(その2) (a−2) コピ トラック数〉上限 第 図(その3) (b−1) 第 図(その4) (b−2) コピートラック数?上限

Claims (1)

  1. 【特許請求の範囲】 1、キャッシュメモリを内蔵し、ホストコンピュータか
    ら正のディスクドライブに対し書き込み要求されたデー
    タを、上記正のディスクドライブに書き込んだ後にコピ
    ートラックとして上記キャッシュメモリに保留し、上記
    ホストコンピュータからの正のディスクドライブへの書
    き込み処理完了とは非同期に、上記コピートラックを上
    記キャッシュメモリから副のディスクドライブに書き込
    むディスク制御装置の二重書き方法において、上記キャ
    ッシュメモリ上の上記コピートラックの本数の上限値を
    、ある制限時間内にディスク制御装置が副のディスクド
    ライブに書き込み可能な範囲の本数に予め設定しておき
    、上記コピートラック本数が上記上限値の本数以内のと
    きには、正のディスクドライブへのデータ書き込み命令
    の実行完了とは非同期に上記コピートラックを副のディ
    スクドライブに格納し、上記コピートラックの本数が上
    記上限値の本数を越えたときには、上記ホストコンピュ
    ータの正のディスクドライブへの書き込み命令実行に同
    期して、上限値の本数未満の範囲で任意に定めた下限値
    の本数を越えて上記キャッシュメモリ上に存在する当該
    副のディスクドライブに関する未書き込みコピートラッ
    クを該副のディスクドライブに格納することを特徴とす
    るディスク制御装置のデータ二重書き方法。 2、キャッシュメモリおよび該キャッシュメモリをバッ
    クアップするための不揮発メモリを内蔵し、ホストコン
    ピュータから正のディスクドライブに対し書き込み要求
    されたデータを、上記キャッシュメモリと上記不揮発メ
    モリの両方に書き込み、上記ホストコンピュータから正
    のディスクドライブへの書き込み処理完了とは非同期に
    、上記キャッシュメモリ上のデータを上記正のディスク
    ドライブに書き込み、上記不揮発メモリのデータを無効
    化した後、上記正のディスクドライブへの書き込みとは
    非同期に、上記キャッシュメモリ上のコピートラックの
    データを上記正のディスクドライブとペア指定された副
    のディスクドライブに書き込むディスク制御装置のデー
    タ二重書き方法において、上記正のディスクドライブへ
    の書き込み完了後に上記キャッシュメモリ上に残すコピ
    ートラックの本数に予め上限値を定めておき、上記コピ
    ートラックの本数が上記上限値の本数以内のときには、
    上記正のディスクドライブへの書き込み完了とは非同期
    に、上記コピートラックを副のディスクドライブに格納
    し、上記コピートラックの本数が上記上限値の本数を越
    えたときには、上記正のディスクドライブに書き込みを
    行い、これと連続して上記コピートラックを上記副のデ
    ィスクドライブの対応する物理トラックに格納すること
    を特徴とするディスク制御装置のデータ二重書き方法。 3、請求項2に記載のディスク制御装置のデータ二重書
    き方法において、上記コピートラックの本数が上限値の
    本数を越えた場合で、かつホストコンピュータからの正
    のディスクドライブに対する書き込み要求トラックがキ
    ャッシュメモリ上に存在しない場合には、上記ホストコ
    ンピュータの書き込み要求データを上記正のディスクド
    ライブの指定物理トラックに直接書き込むとともに、該
    正のディスクドライブに書き込んだデータを上記キャッ
    シュメモリ上に読み出し、これに連続して該キャッシュ
    メモリ上のトラックを副のディスクドライブの対応する
    物理トラックに書き込むことを特徴とするディスク制御
    装置のデータ二重書き方法。 4、請求項2に記載のディスク制御装置のデータ二重書
    き方法において、上記ホストコンピュータから、バック
    アップ用不揮発メモリの使用停止要求があるか、あるい
    は上記不揮発メモリの障害により、正のディスクドライ
    ブに対する二重書き込み動作が継続できなくなるか、い
    ずれか一方の場合、ディスク制御装置内で上記不揮発メ
    モリの使用禁止を設定するとともに、上記正のディスク
    ドライブに対するホストコンピュータからのアクセスの
    受付けを一時的に保留させた後、上記正のディスクドラ
    イブに対するキャッシュメモリ上の全ての未反映コピー
    トラックを上記正のディスクドライブに書き込み、その
    後、保留させていた上記正のディスクドライブに対する
    ホストコンピュータからのアクセスを再び受付けること
    を特徴とするディスク制御装置のデータ二重書き方法。 5、請求項4に記載のディスク制御装置のデータ二重書
    き方法において、上記ディスク制御装置内で上記不揮発
    メモリの使用禁止を設定するとともに、正のディスクド
    ライブに対するホストコンピュータからのアクセスの受
    付けを一時的に保留させた後は、請求項2に記載された
    正のディスクドライブに対するデータ二重書き方法を中
    止して、請求項1に記載された正副ディスクドライブに
    対する二重書き方法で動作することを特徴とするディス
    ク制御装置の二重書き方法。 6、チャネル制御装置を介してホストコンピュータにそ
    れぞれ接続され、また正、副ペアを構成するディスクド
    ライブの複数組にそれぞれ接続された複数のプロセッサ
    と、正のディスクドライブへの書き込みデータのコピー
    トラックを格納するキャッシュメモリと、該キャッシュ
    メモリの管理情報を格納するディレクトリと、上記キャ
    ッシュメモリをバックアップするための不揮発メモリと
    、該不揮発メモリの管理情報を格納するディレクトリと
    を備えたディスク制御装置において、上記各プロセッサ
    相互間の連絡用として使用され、かつ各ディスクドライ
    ブに関する制御用のドライブ制御テーブルを持つ制御メ
    モリを具備したことを特徴とするディスク制御装置。
JP2198166A 1990-07-26 1990-07-26 ディスク制御装置のデータ二重書き方法 Pending JPH0484215A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2198166A JPH0484215A (ja) 1990-07-26 1990-07-26 ディスク制御装置のデータ二重書き方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2198166A JPH0484215A (ja) 1990-07-26 1990-07-26 ディスク制御装置のデータ二重書き方法

Publications (1)

Publication Number Publication Date
JPH0484215A true JPH0484215A (ja) 1992-03-17

Family

ID=16386566

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2198166A Pending JPH0484215A (ja) 1990-07-26 1990-07-26 ディスク制御装置のデータ二重書き方法

Country Status (1)

Country Link
JP (1) JPH0484215A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6467034B1 (en) 1999-03-26 2002-10-15 Nec Corporation Data mirroring method and information processing system for mirroring data
JP2008165819A (ja) * 2008-01-30 2008-07-17 Hitachi Ltd 記憶デバイス制御装置の制御方法、記憶デバイス制御装置、及びプログラム
US7962712B2 (en) 2002-12-18 2011-06-14 Hitachi, Ltd. Method for controlling storage device controller, storage device controller, and program
JP2014106629A (ja) * 2012-11-26 2014-06-09 Nec Corp 仮想テープ装置およびその冗長データ作成方法
US10528275B2 (en) 2016-08-05 2020-01-07 Fujitsu Limited Storage system, storage control device, and method of controlling a storage system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6467034B1 (en) 1999-03-26 2002-10-15 Nec Corporation Data mirroring method and information processing system for mirroring data
US7962712B2 (en) 2002-12-18 2011-06-14 Hitachi, Ltd. Method for controlling storage device controller, storage device controller, and program
JP2008165819A (ja) * 2008-01-30 2008-07-17 Hitachi Ltd 記憶デバイス制御装置の制御方法、記憶デバイス制御装置、及びプログラム
JP2014106629A (ja) * 2012-11-26 2014-06-09 Nec Corp 仮想テープ装置およびその冗長データ作成方法
US10528275B2 (en) 2016-08-05 2020-01-07 Fujitsu Limited Storage system, storage control device, and method of controlling a storage system

Similar Documents

Publication Publication Date Title
US5263154A (en) Method and system for incremental time zero backup copying of data
US8074035B1 (en) System and method for using multivolume snapshots for online data backup
US5375232A (en) Method and system for asynchronous pre-staging of backup copies in a data processing storage subsystem
US5379398A (en) Method and system for concurrent access during backup copying of data
US7293196B2 (en) Method, apparatus, and system for preserving cache data of redundant storage controllers
JP2557172B2 (ja) タイムゼロ・バックアップ・コピー・プロセスにおける副ファイル状態のポーリングのための方法およびシステム
US6374327B2 (en) Method of data migration
US6148416A (en) Memory update history storing apparatus and method for restoring contents of memory
JPH0683687A (ja) データ処理システム及びその方法
JPH1078918A (ja) チェックポイント処理加速装置および同装置を適用した計算機システム
JP2000181773A (ja) 記憶装置システム
US6658541B2 (en) Computer system and a database access method thereof
JPH05210555A (ja) ゼロ時間データ・バックアップ・コピーの方法及び装置
US6336164B1 (en) Method and system for preventing deadlock in a log structured array
JPH0237418A (ja) 記憶装置のデータ整合性制御方式
US7263580B2 (en) Cache flush based on checkpoint timer
EP0482853A2 (en) Method and apparatus for storage device management
JPH0484215A (ja) ディスク制御装置のデータ二重書き方法
JP2000293391A (ja) 大規模メモリシステム管理方法および装置
US7107404B2 (en) Method and system for data processing for controlling a cache memory
KR102262209B1 (ko) 더미 입출력 요청을 이용한 배리어 명령 전달 방법 및 그 장치
JPH07114444A (ja) ファイル移動制御方式
JPH1185594A (ja) リモートコピー用情報処理システム
JP2634867B2 (ja) デイスクキヤツシユデータ転送制御方式
JPH05216854A (ja) ホストコンピュータ装置