JPH02264335A - 障害処理方法およびそのための装置 - Google Patents

障害処理方法およびそのための装置

Info

Publication number
JPH02264335A
JPH02264335A JP1085245A JP8524589A JPH02264335A JP H02264335 A JPH02264335 A JP H02264335A JP 1085245 A JP1085245 A JP 1085245A JP 8524589 A JP8524589 A JP 8524589A JP H02264335 A JPH02264335 A JP H02264335A
Authority
JP
Japan
Prior art keywords
cache
directory
processor
backup memory
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP1085245A
Other languages
English (en)
Other versions
JP2973425B2 (ja
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 JP1085245A priority Critical patent/JP2973425B2/ja
Publication of JPH02264335A publication Critical patent/JPH02264335A/ja
Application granted granted Critical
Publication of JP2973425B2 publication Critical patent/JP2973425B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 【産業上の利用分野〕 本発明は、ディスク制御装置における障害処理方法およ
びそのための装置に関し、特にキャッシュを内蔵し、デ
ィスクに対するホストコンピュータからの書込みデータ
をキャッシュ内に一時保留し、上述のホストコンピュー
タによるディスクに対する書込み動作とは非同期に、キ
ャッシュからディスクに対して纏め書き動作を行うディ
スク制御装置の障害に対し、書込み保留データの信頼性
を向上させるのに好適な障害処理方法およびそのための
装置に関する。
〔従来の技術〕
従来のキャッシュ付きディスク制御装置においては、頻
繁にアクセスされるデータをキャッシュに保持しておき
、それらのデータがアクセスされた場合は、ディスクま
でアクセスに行かずにキャッシュ上からデータを読出す
ことにより、データのアクセス効率の向上を図っている
。この場合。
例えば、特開昭60−79447号公報に開示されてい
る如く、キャッシュ障害を検知すると、キャッシュ全体
を切離し、キャッシュ上のデータはすべて捨てていた。
〔発明が解決しようとする課題〕
上記従来技術は、キャッシャ上にディスクドライブと同
一のデータを格納しておき、リードのみに利用する場合
のみを想定したものである。しかし、本発明の前提であ
る、ホストコンピュータからの書込みデータを一重キャ
ッシュ上に保留し、ホストコンピュータのディスクに対
する書込み動作とは非同期に、キャッシュからディスク
に対して纏め書き動作を行うようなディスク制御装置の
障害に対しては、キャッシュ上のデータを捨てるだけで
はすまない。
すなわち、ディスク制御装置で纏め書き動作を行う場合
には、キャッシュのバックアップメモリを用意して、キ
ャッシュ上の書込み保留データを二重化し、キャッシャ
障害時は上記バックアップメモリから、その逆の場合は
キャッシュから一重化となった書込み保留データをディ
スクドライブに反映させている。しかし、ディスク制御
装置内のプロセッサがキャッシュまたはバックアップメ
モリの管理情報を更新中にプロセッサ障害になると、管
理情報が不正となるため書込み保留データが失われてし
まう。
この場合、キャッシュするいはバックアップメモリその
ものはハード的に正常であるため、これらのメモリのハ
ードウェア障害の検知のみでは、キャッシュとバックア
ップメモリのいずれから書込み保留データをディスクド
ライブに反映させるかを決めることができず、前記従来
技術では対処することができない。
本発明は上記事情に鑑みてなされたもので、その目的と
するところは、従来の技術における上述の如き問題を解
消し、ホストコンピュータからの書込みデータを一重キ
ャッシュ上に保留し、ホストコンピュータのディスクに
対する書込み動作とは非同期に、キャッシュからディス
クに対して纏め書き動作を行うようなディスク制御装置
の障害に対しても対処可能な障害処理方法を提供するこ
とにある。
〔課題を解決するための手段〕
本発明の上記目的は、複数のプロセッサ、キャッシュメ
モリおよびキャッシュのバックアップメモリを内蔵し、
ホストコンピュータからのディスクドライブに対する書
込みを一時的に前記キャッシュメモリとバックアップメ
モリに保留した時点で、ホストコンピュータに書込み終
了を報告し、ホストコンピュータのデータ書込み動作と
は非同期に、前記キャッシュ上の保留データをディスク
ドライブに書込む動作(纏め書き動作)を行うディスク
制御装置において、前記キャッシュ上の保留データの管
理情報を有するキャッシュディレクトリ、前記バックア
ップメモリ上の保留データの管理情報を有するバックア
ップメモリディレクトリの情報の更新を、前記複数のプ
ロセッサ中のいずれか1つのプロセッサが、他のプロセ
ッサを排他しつつシーケンシャルに行うとともに、任意
のプロセッサが障害で動作停止したことを検出した時点
で、該プロセッサが前記キャッシュディレクトリ情報と
バックアップメモリディレクトリ情報のいずれを更新中
であったかを同定し、そのいずれかの管理情報の更新の
完結している方に対応するメモリから、前記書込み保留
データをディスクドライブに書込むことを特徴とする障
害処理方法およびそのための装置により達成される。
〔作用〕
本発明に係る障害処理方法においては、書込み保留デー
タを有するキャッシュまたはバックアップメモリの管理
情報の更新を、ディスク制御装置内の複数のプロセッサ
のうちの任意の一つのプロセッサが、排他的にかつシー
ケンシャルに行うことにより、プロセッサの障害によっ
てキャッシュとバックアップメモリの管理情報が同時に
破壊されることがないことに基づいて、プロセッサの障
害を検出した時点で、障害となったプロセッサがキャッ
シュまたはバックアップメモリのいずれの管理情報を更
新中であったかを、正常なプロセッサが同定し、キャッ
シュまたはバックアップメモリのうち、管理情報の更新
が完結している方から書込み保留データをディスクドラ
イブに書込むようにして、ディスク制御装置内で一重化
状態になった書込み保留データを確実にディスクドライ
ブに書込むことを可能とするものである。
また1本発明に係る障害処理装置は、これに必要な手段
を備えたものとなっている。
〔実施例〕
以下、本発明の実施例を図面に基づいて詳細に説明する
第2図は、本発明の一実施例であるキャッシュ付きディ
スクサブシステムの構成図である。本実施例のディスク
サブシステムは、ホストコンピュータ100に接続され
るチャネル制御袋[101,ディスク制御装置102.
ディスクドライブ1100および1200により構成さ
れる。ディスク制御装置102は、四つのプロセッサ1
03,104,105および106を内蔵し、それぞれ
のプロセッサは、プロセッサ間排他のためのロック機構
107.プロセッサ状態を反映する制御メモリ187.
キャッシュメモリ106G 。
その管理情報を格納するキャッシュディレクトリ105
0、キャッシュのバックアップメモリ109.その管理
情報を格納するバックアップメモリディレクトリ108
と接続される。また、各プロセッサはそれぞれ、チャネ
ル制御袋!!101.ディスクドライブ1100.12
00と接続される。
まず、各プロセッサが正常に動作する場合におけるディ
スク制御装置102の纏め書き動作を説明する0例えば
、ディスク制御装置102内のプロセッサ103が、チ
ャネルを介してホストコンピュータ100からのアクセ
ス要求を受取ると、プロセッサ103は、その要求を解
読し、それがどのディスクドライブに対するアクセス要
求かを判定する。
例として、ここでは、ディスクドライブ1100に対す
る書込み要求であるとする。
プロセッサ103は、ロック機構107に対して。
信号線126を介してディスクドライブ1100に対す
るロック要求を出す、ロック機構107の内部動作につ
いては、後で述べる。プロセッサ103は、ロック機構
107から、信号線125を介してディスクドライブ1
100に対するロック取得成功の応答が入ると、チャネ
ル制御装置101にコマンドを要求する。チャネル制御
装置f 101からコマンドがプロセッサ103に送ら
れると、プロセッサ103はこのコマンドを解読し、リ
ードlライトの区別(ここではライトコマンドとする)
と、アクセス対象 トラック番号(TRI)およびレコ
ード番号(R1)を認識する。
次に、プロセッサ103は、前述のキャッシュメモリ1
060の管理情報を格納するキャッシュディレクトリ1
050内のディスクドライブ1100用トラツク表38
01(第5図参照)を検索し、上述のアクセス対象トラ
ック番号TRIに対するキャッシュスロットが既にキャ
ッシュ上にアロケートされているか否かを判定する。こ
こでは、トラック表3801のTR1にスロット制御ブ
ロック354がアロケ−1−されており、スロット制御
ブロック354からキャッシュメモリ1060内のデー
タ格納エリア306に、TR1のデータが既に格納され
ている。これをトラックヒツトと呼ぶ、なお、第5図は
、キャッシュディレクトリ1050およびキャッシュメ
モリ1060の論理構成を示す図である。
キャッシュメモリ1060内のトラックヒツトデータに
は二種類ある。すなわち、キャッシュ上のスロッとに格
納されているデータとそれに対応するディスクドライブ
上のトラック上のデータが一致しているスロット(これ
を、「ノンベンディングスロット」と呼ぶ)、および、
それらが一致しないスロット(これを、「ベンディング
スロット」と呼ぶ)である、前者は第5図中でキャッシ
ュメモリ1060中のハツチング無しのスロットで、ま
た、後者はハツチング付きのスロットで示されている。
上記ベンディングスロットは、ディスク制御装置102
の纏め書き動作により、書込み保留データがキャッシュ
上に格納されることにより発生する。前述のTRIの場
合は、ノンベンディングスロットである。
ここで、第5図に基づいて、キャッシュディレクトリ1
050内のスロット制御ブロックをつないだキューの説
明をしておく、キュー322は、すべてのディスクドラ
イブにおけるノンベンディングスロットの位置をポイン
トするスロット制御ブロックを一つのキューに集めたも
のである。また、キュー320は、ディスクドライブ1
100に関するすべてのベンディングスロットの位置を
ポイントするスロット制御ブロックを一つのキューに集
めたもの、キュー321は、ディスクドライブ1200
に関するすべてのベンディングスロットの位置をポイン
トするスロット制御ブロックを一つのキューに集めたも
のである。このように、ベンディングスロットをポイン
トするスロット制御ブロックのキューは、ディスクドラ
イブ対応に独立させておく。
キュー323は、キャッシュ上の空きスロットの位置を
ポイントするスロット制御ブロックを一つのキューに集
めたものである。
プロセッサ103は、スロット制御ブロック354のス
ロットステータス(第6図参照)を判定し、当該スロッ
トを他プロセツサがアクセス中であるか否か(スロット
ステータスがビジーか否か)を、判定する。ここでは、
当該スロットを他プロセツサがアクセス中ではないとす
る。このとき、プロセッサ103は、スロット制御ブロ
ック350のスロットステータスをビジーに書換え、ロ
ック中プロセッサ翫に自プロセッサ番号である103を
書込む。
次に、当該スロットを纏め書きの対象とするために、ス
ロット制御ブロック354をノンベンディングスロット
キュー322から、ベンディングスロットキュー320
に移す、更に、キャッシュ上の書込み保留データを二重
化するために、バックアップメモリ109のディレクト
リ 108を検索し、キャッシュ上のベンディングスロ
ットと同一データを格納するためのバックアップメモリ
109上の空きスロットを確保する。
バックアップメモリ 109のディレクトリ 108内
には、バックアップメモリ109上のベンディングスロ
ットの位置を示すスロット制御ブロックをディスクドラ
イブ1100.1200対応につないだキュー4010
、4011.(第7図参照)およびバックアップメモリ
109上の空きスロット位置を示すスロット制御ブロッ
クを一つにつないだキュー4020がある。
例えば、キャッシュ上のTRIに対応するスロットを二
重化するためには、キュー4020がら空きスロット6
05をポイントするスロット制御ブロック654を抜取
って、ディスクドライブ1100用のベンディングスロ
ットキュー4010に追加する。そして、キャッシュデ
ィレクトリ上のTRIに対応するスロット制御ブロック
354のバックアップメモリスロットポインタとして、
バックアップメモリディレクトリ108上のスロット制
御ブロック654へのポインタを記憶する。
更に、プロセッサ103は、第8図に示す制御メモリ1
87上のジョブ票602の内容(Read/Write
の区別、アクセス対象ドライブh、アクセス対象トラッ
クおよびレコードNαならびにプロセッサが確保中のス
ロット番号等)を書込んだ後、前述のチャネル制御装置
101およびプロセッサ103を経由して、キャッシュ
スロット306(第5図参照)上のレコードR1のフィ
ールドおよびバックアップメモリのスロット605(第
7図参照)内のレコードR1のフィールドに書込みレコ
ードデータを同時に転送する。
キャッシュおよびバックアップメモリへの書込みレコー
ドデータの転送が終了した時点で、チャネル制御装置1
01に対して、ディスクドライブへのデータ書込み終了
の報告を返す、このとき、書込みレコードデータは、キ
ャッシュおよびバックアップメモリ上にベンディングス
ロットとして。
二重に保留されている状態にある。このようなベンディ
ングスロットのデータがある本数貯まると、チャネル制
御装置101からのアクセス要求を処理中でない任意の
プ、ロセッサが、ディスクドライブに複数トラック分纏
めて書出し、ディスクドライブに書き終えたキャッシュ
スロットおよびそれらに対応して確保したバックアップ
メモリスロットの制御ブロックを、ベンディングスロッ
トキューから解放し、空きスロットキューに戻す。
以上が、ディスク制御装!102における正常時の纏め
書き動作である。
次に、前述のロック機構107の構成および動作を、第
3図および第4図に従って説明する。
第3図は、ロック機構107の内部構成を示す図であり
、三つのレジスタ3000.3100.3300、監視
タイマ208.ロック制御部206.アービタ290か
ら構成される。レジスタ3000は、各ドライブ毎にロ
ック情報2000を記憶する。ロック情報2000中の
ビット2001に“1”がセットされると、あるプロセ
ッサが当該ドライブのロックを確保中であり、他プロセ
ツサが当該ドライブをアクセスすべきでないことを示す
また、更新フラグA (2002)に“1”がセットさ
れると、当該ドライブのロックを確保中のプロセッサが
、当該ドライブに関するキャッシュディレクトリ情報の
更新を行う可能性があることを示す。
逆に、更新フラグB (2003)に“1”がセットさ
れると、当該ドライブのロックを確保中のプロセッサが
、当該ドライブに関するバックアップメモリディレクト
リ情報の更新を行う可能性があることを示す、プロセッ
サHa (2004)には、当該ドライブのロックを確
保中のプロセッサ翫が、設定される。
レジスタ3100には、各ドライブに対するプロセッサ
からの新たなロック要求が設定される。また。
レジスタ3200には、各ドライブに対するロックの解
除要求、および既に他プロセツサが取得中のロックを強
制取得する要求が設定される。
これらのレジスタのドライブ毎の設定情報は。
ロック情報2000に設定されるものと同じである。
これらのレジスタの使用法は、次に述べるロック制御部
206の動作の説明と合せて述べる。
ロック制御部206の動作は、第4図のフローチャート
で示される。ロック制御部206は、上述のレジスタ3
100と3200のいずれかに任意のプロセッサがロッ
ク要求を設定したときに動作を開始する(ステップ40
00)、なお、複数のプロセッサがロック要求を設定す
る場合の競合は、アービタ290が処理する。
今、レジスタ3100に、あるドライブに対するロック
要求(ロックピットとプロセッサ翫をセット、ディレク
トリ更新を行う場合には、対応する更新フラグもセット
する)が設定されたものとすると、ロック制御部206
は、まず、監視タイマ206を起動した(ステップ41
90)後、レジスタ3000の当該ドライブに関するロ
ック情報中のロックピットを調べる(ステップ4300
)、ロックピットがセットされていなければ、監視タイ
マ206を停止させた後。
レジスタ3100の内容をレジスタ3000に転送し、
ロックを要求したプロセッサの当該ドライブに対するロ
ックを確保する(ステップ4600,4800)、また
ロックピットがセットされている場合には、ロック取得
待ちに入り監視タイマ208がタイムアウトするまでに
当該ロックピットがリセットされなければロック要求タ
イムアウトエラーを報告する(ステップ4400,45
00.4700)。
また、レジスタ3200にあるドライブに対するロック
要求(ロックピットとプロセッサNαをセット、ディレ
クトリ更新を行う場合には、対応する更新フラグもセッ
トする)が設定されたものとすると、ロック制御部20
6は、レジスタ3200の当該ドライブに関するロック
情報中のロックピットを調べ。
それが“l”ならば強制ロック取得要求、110”なら
ばロック解除要求と判定する。
強制ロック取得要求の場合は、レジスタ3200の内容
をレジスタ3000に無条件で転送し、レジスタ310
0にロック待ちの要求がある場合は、監視タイマ208
をリセットスタートさせる(ステップ4140゜418
0.4170)、この強制ロック取得モードは、同一プ
ロセッサが、同一ドライブのロックを取消したままで更
新フラグの内容のみを変化させる場合にも用いられる。
また、ロック解除要求の場合は。
当該ドライブに関するレジスタ3000と3100のロ
ック情報のプロセッサ島を比較し、それが等しい場合に
は、レジスタ3000.3100をクリアする0等しく
ない場合には、レジスタ3100のみをクリアする(ス
テップ4120.4130)。
以上の動作を行うディスク制御装置において、前述のキ
ャッシュディレクトリ1050またはバックアップメモ
リディレクトリ 108内の各スロット制御ブロックを
つないだキューを更新中に、プロセッサ障害が発生した
場合を考える。この場合、上記ディレクトリ内のベンデ
ィングスロットの管理情報が不正となり、不正ディレク
トリを有するメモリからの書込み保留データのディスク
ドライブへの書出しができなくなるため、ディスク制御
装置内で書込み保留データが事実上−重化の状態となる
。この状態を検出し、−重化状態となった書込み保留デ
ータをディスクドライブへ書出す処理を障害処理として
行う必要がある。
以下、上述のディスク制御装置を例に1本実施例による
障害処理動作を、第1図に示すフローチャートに従って
説明する。
本障害処理動作の開始には、二つの契機がある(ステッ
プ700)。第一は、チャネル制御袋@ 101からの
リセット入力である0例えば、ディスク制御装置102
内で、プロセッサ103が障害で停止すると、該プロセ
ッサは異常発生通知割込みをチャネル制御袋@101に
、信号線112を介して発生する。異常発生通知割込み
を受けたチャネル制御装置101は、プロセッサ103
に対し信号M 111を介してリセット信号を出力する
。リセット信号を受取ったプロセッサ103は、自プロ
セッサ番号を障害プロセッサ番号にセットする(ステッ
プ702)。
他の一つの契機は、ロック機構107におけるロック取
得タイムアウトエラーの発生である。この場合、いずれ
かのプロセッサが、あるディスクドライブのロックを確
保したままで永久障害になっていることが考えられる。
この場合には1次の如く、障害プロセッサを切分ける。
ロック機構107からのロックタイムアウト報告を受け
たプロセッサは、当該プロセッサがロックしようとして
いたディスクドライブに関し、ロック機構107中のレ
ジスタ3000のロック情報内のプロセッサ走を読出し
、読出したプロセッサ島について、前述の制御メモリ1
87中の当該プロセッサのプロセッサステータスを調べ
、それが永久障害状態であれば、障害プロセッサ番号と
して、当該プロセッサNαを設定する(ステップ701
,703)。
以上の処理の後、次の如き処理を行う。以下の処理は、
上記二つの契機に対して共通である。
まず、制御メモリ187中の障害となったプロセッサの
ジョブ票を調べて、障害プロセッサがアクセス処理中で
あったディスクドライブ島を読出す(ステップ713)
。その結果、アクセス処理中のドライブがあれば(ステ
ップ783)、ロック機構107中のレジスタ3000
内の該当するディスクドライブ情報を調べ、ロックピッ
トがセットされており、かつ、ロック取得プロセッサN
α(2004)が障害プロセッサNαと一致しているこ
とを調べる。一致していなければ、既に他のプロセッサ
が障害処理を開始しているとみなし、自プロセッサでは
障害処理は行なわない。
一致している場合、ロック機構107のレジスタ320
0に当該ディスクドライブに対する自プロセッサの強制
ロック要求をセットして、当該ディスクドライブのロッ
クを取得し、以下の処理を行う。
まず、当該ディスクドライブのロック情報内の更新フラ
グを調べ、キャッシュディレクトリ更新を示す更新フラ
グAと、バックアップメモリディレクトリ更新を示す更
新フラグBのいずれがセットされているかを調べる(ス
テップ704)。更新フラグAがセットされている場合
は、キャッシュディレクトリ更新中のプロセッサ障害で
キャッシュディレクトリ情報が破壊されたとみなして、
キャッシュを閉塞しくステップ705) 、障害プロセ
ッサがアクセス中であったディスクドライブに対するチ
ャネル制御装置101からのアクセスを一時停止する(
ステップ707)。
バックアップメモリ内の、当該ディスクドライブの書込
み保留データの当該ディスクドライブへの書出し処理は
、バックアップメモリディレクトリ内の、当該ディスク
ドライブに対するベンディングスロットキューにつなが
っている。前記スロット制御ブロックでポイントされた
バックアップメモリ上の当該ディスクドライブに対する
書込み保留データを、当該ディスクドライブ上に書出し
くステップ709)、書出し完了後、キャッシュディレ
クトリをイニシャライズして、当該ディスクドライブに
対するチャネル制御装置i 101からのアクセスを許
可し、制御メモリ187内の障害プロセッサのジョブ表
をクリアし、ロック機構107のレジスタ3200に、
当該ディスクドライブのロック解除要求をセットして、
当該ディスクドライブに対する纏め書き動作を再開する
(ステップ711,714)。
一方、更新フラグBがセットされている場合、バックア
ップメモリディレクトリ更新中のプロセッサ障害により
、バックアップメモリディレクトリ情報が破壊されたと
みなして、バックアップメモリを閉塞しくステップ70
6)、障害プロセッサがアクセス中であったディスクド
ライブに対するチャネル制御装置101からのアクセス
を一時停止しくステップ708)、キャッシュディレク
トリ内の当該ディスクドライブに対するベンディングス
ロットキューにつながっているスロット制御ブロックで
ポイントされた、キャッシュメモリ上の当該ディスクド
ライブに対する書込み保留データを、当該ディスクドラ
イブ上に書出しくステップ710)。
書出し完了後、バックアップメモリディレクトリをイニ
シャライズして、当該ディスクドライブに対するチャネ
ル制御袋[101からのアクセスを許可し、制御メモリ
187内の障害プロセッサのジョブ類をクリアし、ロッ
ク機構107のレジスタ3200に当該ディスクドライ
ブのロック解除要求をセットして、当該ディスクドライ
ブに対する纏め書き動作を再開する(ステップ712,
714)。
なお、ロック機構107で、異なるプロセッサがキャッ
シュディレクトリとバックアップメモリディレクトリを
同時に更新することが無いように。
前述の如くプロセッサ間排他を行っているため、複数の
プロセッサ障害によっても、キャッシュディレクトリと
バックアップメモリディレクトリの両方が同時に不正と
なることはない。
次に、プロセッサ自身は正常であるが、ディレクトリと
プロセッサを結ぶパスにパス障害が発生した場合を考え
る。
この場合、ディレクトリとプロセッサを結ぶパスにパス
障害が発生した以上、ディレクトリ更新中であったプロ
セッサ自身では、当該ディレクトリのイニシャライズ(
第1図ステップ714)はできないため、処理を完結さ
せることはできない。
これに対しては、ディレクトリ更新中であった当該プロ
セッサ自身が、自プロセッサを永久障害状態とすること
により、当該ディレクトリとの正常なパスを持つ他プロ
セツサが、ディレクトリ更新中であった当該プロセッサ
が確保したままのディスクドライブのロックを確保しよ
うとして、ロック機構107でロックタイムアウトエラ
ーが検出され、それを契機として第1図に示した障害処
理を行い、当該ディスクドライブの書込み保留データを
当該ディスクドライブに書出した後、当該ディスクドラ
イブの纏め書き動作を再開させることができる。
上記実施例によれば、纏め書き動作を行うディスク制御
装置において、ディスク制御装置内の任意のプロセッサ
が障害で動作を停止し、キャッシュメモリ上の書込み保
留データの管理情報、または、バックアップメモリ上の
書込み保留データの管理情報の更新を完結できない場合
でも、ロック機構107および制御メモリ187内のジ
ョブ類の情報により、それらの書込み保留データ管理情
報のうちのいずれかは正しい状態を保証でき、かつ、ど
ちらが正しいかを切分けることができるため、書込み保
留データ管理情報が正しい方のメモリから、書込み保留
データを確実にディスクドライブに書出すことができる
また、ロック機構107のキャッシュディレクトリおよ
びバックアップメモリディレクトリのロック情報が、デ
ィスクドライブ単位に記憶されるため、障害プロセッサ
がアクセスしていた各ディスクドライブ毎に、キャッシ
ュディレクトリとバックアップメモリディレクトリのい
ずれの書込み保留データ管理情報の更新が完結している
かを切分けることができ、ディスク制御装置内の複数の
プロセッサの同時障害発生の場合にも、障害プロセッサ
がアクセスしていた各ディスクドライブの書込み保留デ
ータを生存プロセッサが安全にディスクドライブに書出
すことができる。
これらにより、本実施例では、前述の如きディスク制御
装置の纏め書き動作の信頼度が大幅に向上するという効
果がある。
なお、上記実施例においては、ディスク制御装置内のプ
ロセッサ数を4台としたが、一般には0台゛のプロセッ
サでディスク制御装置を構成しても良い。また、キャッ
シュディレクトリとバックアップメモリディレクトリの
更新を切分けるための更新フラグA、Bをロック機構1
07内部のレジスタ内に設けたが、これらのフラグは、
キャッシュディレクトリ内、および、バックアップメモ
リディレクトリ内に設けることも可能である。すなわち
、キャッシュディレクトリ内のディスクドライブ対応の
ベンディングスロットキュー毎に更新フラグAを設け、
更に、バックアップメモリディレクトリ内のディスクド
ライブ対応のベンディングスロットキュー毎に更新フラ
グBを設け、プロセッサがそれぞれのキューを更新する
直前で、それらのフラグをセットし、更新終了後にそれ
らのフラグをリセットするようにすれば良い。
〔発明の効果〕
以上、詳細に説明した如く1本発明によれば、複数のプ
ロセッサ、キャッシュメモリおよびキャッシュのバック
アップメモリを内蔵し、ホストコンピュータからのディ
スクドライブに対する書込みを一時的に前記キャッシュ
メモリとバックアップメモリに保留した時点で、ホスト
コンピュータに書込み終了を報告し、ホストコンピュー
タのデータ書込み動作とは非同期に、前記キャッシュ上
の保留データをディスクドライブに書込む纏め書き動作
を行うディスク制御装置において、前記キャッシュ上の
保留データの管理情報を有するキャッシュディレクトリ
、前記バックアップメモリ上の保留データの管理情報を
有するバックアップメモリディレクトリの情報の更新を
、前記複数のプロセッサ中のいずれか1つのプロセッサ
が、他のプロセッサを排他しつつシーケンシャルに行う
とともに、任意のプロセッサが障害で動作停止したこと
を検出した時点で、該プロセッサが前記キャッシュディ
レクトリ情報とバックアップメモリディレクトリ情報の
いずれを更新中であったかを同定し、そのいずれかの管
理情報の更新の完結している方に対応するメモリから、
前記書込み保留データをディスクドライブに書込むよう
にしたことにより、書込み保留データをディスク制御装
置からデ、イスクドライブに書出せなくなったり、書込
み保留データがディスク制御装置内で一重化の状態のま
まになることを防止することができ、ディスク制御装置
による纏め書き動作の信頼度を大幅に向上させることが
可能な障害処理方法およびそのための装置を実現できる
という顕著な効果を奏するものである。
【図面の簡単な説明】
第1図は本発明の一実施例である、ディスク制御装置に
おける障害処理動作を示すフローチャート、第2図は実
施例のキャッシュ付きディスクサブシステムの構成図、
第3図はその要部であるロック機構の内部構成を示す図
、第4図はロック制御部の動作を示すフローチャート、
第5図はキャッシュディレクトリおよびキャッシュメモ
リの論理構成を示す図、第6図はキャッシュディレクト
リ内のスロット制御ブロックの構成図、第7図はバック
アップメモリディレクトリおよびバックアップメモリの
論理構成図、第8図は制御メモリの論理構成図である。 100:ホストコンピュータ、101:チャネル制御装
置、102:ディスク制御装置、103,104,10
5,106:プロセッサ、107:ロツク機構、108
:バックアップメモリディレクトリ、1060 :キャ
ッシュメモリ、187:制御メモリ、109:バックア
ップメモリ、1oso :キャッシュディレクトリ、1
100および1200:ディスクドライブ、3000,
3100,3300 : Oッ’)機構内のレジスタ、
208:監視タイマ、206:ロック制御部、290:
アービタ、2000 :ロック情報。 第 図

Claims (1)

  1. 【特許請求の範囲】 1、複数のプロセッサ、キャッシュメモリおよびキャッ
    シュのバックアップメモリを内蔵し、ホストコンピュー
    タからのディスクドライブに対する書込みを一時的に前
    記キャッシュメモリとバックアップメモリに保留した時
    点で、ホストコンピュータに書込み終了を報告し、ホス
    トコンピュータのデータ書込み動作とは非同期に、前記
    キャッシュ上の保留データをディスクドライブに書込む
    動作(纏め書き動作)を行うディスク制御装置において
    、前記キャッシュ上の保留データの管理情報を有するキ
    ャッシュディレクトリ、前記バックアップメモリ上の保
    留データの管理情報を有するバックアップメモリディレ
    クトリの情報の更新を、前記複数のプロセッサ中のいず
    れか1つのプロセッサが、他のプロセッサを排他しつつ
    シーケンシャルに行うとともに、任意のプロセッサが障
    害で動作停止したことを検出した時点で、該プロセッサ
    が前記キャッシュディレクトリ情報とバックアップメモ
    リディレクトリ情報のいずれを更新中であったかを同定
    し、そのいずれかの管理情報の更新の完結している方に
    対応するメモリから、前記書込み保留データをディスク
    ドライブに書込むことを特徴とする障害処理方法。 2、前記各動作に加えて、前記二つのディレクトリ情報
    をイニシャライズして、前記纏め書き動作を再開するこ
    とを特徴とする請求項1記載の障害処理方法。 3、前記各動作に加えて、前記障害プロセッサがリセッ
    トで再起動せず、永久障害となった場合に、これを検出
    した時点で、前記永久障害が前記キャッシュディレクト
    リ情報とバックアップメモリディレクトリ情報のいずれ
    を更新中に発生したかを同定し、そのいずれかの管理情
    報の更新の完結している方に対応するメモリから、前記
    書込み保留データをディスクドライブに書込むとともに
    、前記二つのディレクトリ情報を再使用可能な形にイニ
    シャライズして、前記纏め書き動作を再開することを特
    徴とする請求項1記載の障害処理方法。 4、複数のプロセッサ、キャッシュメモリおよびキャッ
    シュのバックアップメモリを内蔵し、ホストコンピュー
    タからのディスクドライブに対する書込みを一時的に前
    記キャッシュメモリとバックアップメモリに保留した時
    点で、ホストコンピュータに書込み終了を報告し、ホス
    トコンピュータのデータ書込み動作とは非同期に、前記
    キャッシュ上の保留データをディスクドライブに書込む
    動作(纏め書き動作)を行うディスク制御装置において
    、前記キャッシュ上の保留データの管理情報を有するキ
    ャッシュディレクトリ、前記バックアップメモリ上の保
    留データの管理情報を有するバックアップメモリディレ
    クトリの情報の更新を、前記複数のプロセッサ中のいず
    れか1つのプロセッサが、他のプロセッサを排他しつつ
    シーケンシャルに実行中に、当該プロセッサと各ディレ
    クトリとを結ぶ書込みパスの障害発生を検出した時点で
    、該障害パスを使用中であったプロセッサを永久障害状
    態として、該永久障害が前記キャッシュディレクトリ情
    報とバックアップメモリディレクトリ情報のいずれを更
    新中に発生したかを同定し、そのいずれかの管理情報の
    更新の完結している方に対応するメモリから、前記書込
    み保留データをディスクドライブに書込むとともに、前
    記二つのディレクトリ情報を再使用可能な形にイニシャ
    ライズして、前記纏め書き動作を再開することを特徴と
    する障害処理方法。 5、前記キャッシュディレクトリ情報とバックアップメ
    モリディレクトリ情報を、前記ホストコンピュータから
    の書込み対象となる各ディスクドライブ対応に独立した
    データ構造とし、前記各動作を各ディスクドライブ対応
    に行うことを特徴とする請求項1〜4記載の障害処理方
    法。 6、複数のプロセッサ、キャッシュメモリおよびキャッ
    シュのバックアップメモリを内蔵し、ホストコンピュー
    タからのディスクドライブに対する書込みを一時的に前
    記キャッシュメモリとバックアップメモリに保留した時
    点で、ホストコンピュータに書込み終了を報告し、ホス
    トコンピュータのデータ書込み動作とは非同期に、前記
    キャッシュ上の保留データをディスクドライブに書込む
    動作(纏め書き動作)を行うディスク制御装置において
    、前記キャッシュ上の保留データの管理情報を有するキ
    ャッシュディレクトリ、前記バックアップメモリ上の保
    留データの管理情報を有するバックアップメモリディレ
    クトリの情報の更新を、前記複数のプロセッサ中のいず
    れか1つのプロセッサが、他のプロセッサを排他しつつ
    シーケンシャルに行う如く制御する手段と、任意のプロ
    セッサが障害で動作停止したことを検出する手段と、該
    障害で動作停止したプロセッサが前記キャッシュディレ
    クトリ情報とバックアップメモリディレクトリ情報のい
    ずれを更新中であったかを同定する手段を設けたことを
    特徴とする障害処理装置。 7、前記各手段に加えて、前記障害プロセッサがリセッ
    トで再起動せず、永久障害となった場合にこれを検出す
    る手段と、前記永久障害となったプロセッサの存在を検
    知した場合に、当該プロセッサがロック中の前記キャッ
    シュディレクトリまたはバックアップメモリディレクト
    リのロックを強制的に解除した後、他のプロセッサが取
    得することを可能とする手段を設けたことを特徴とする
    請求項6記載の障害処理装置。
JP1085245A 1989-04-04 1989-04-04 障害処理方法およびそのための装置 Expired - Lifetime JP2973425B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1085245A JP2973425B2 (ja) 1989-04-04 1989-04-04 障害処理方法およびそのための装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1085245A JP2973425B2 (ja) 1989-04-04 1989-04-04 障害処理方法およびそのための装置

Publications (2)

Publication Number Publication Date
JPH02264335A true JPH02264335A (ja) 1990-10-29
JP2973425B2 JP2973425B2 (ja) 1999-11-08

Family

ID=13853181

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1085245A Expired - Lifetime JP2973425B2 (ja) 1989-04-04 1989-04-04 障害処理方法およびそのための装置

Country Status (1)

Country Link
JP (1) JP2973425B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5283884A (en) * 1991-12-30 1994-02-01 International Business Machines Corporation CKD channel with predictive track table
JP2004227098A (ja) * 2003-01-20 2004-08-12 Hitachi Ltd 記憶デバイス制御装置の制御方法、及び記憶デバイス制御装置
CN110688266A (zh) * 2019-08-21 2020-01-14 深圳市金泰克半导体有限公司 故障内存条定位方法、装置及存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5283884A (en) * 1991-12-30 1994-02-01 International Business Machines Corporation CKD channel with predictive track table
JP2004227098A (ja) * 2003-01-20 2004-08-12 Hitachi Ltd 記憶デバイス制御装置の制御方法、及び記憶デバイス制御装置
CN110688266A (zh) * 2019-08-21 2020-01-14 深圳市金泰克半导体有限公司 故障内存条定位方法、装置及存储介质
CN110688266B (zh) * 2019-08-21 2023-01-06 深圳市金泰克半导体有限公司 故障内存条定位方法、装置及存储介质

Also Published As

Publication number Publication date
JP2973425B2 (ja) 1999-11-08

Similar Documents

Publication Publication Date Title
JP2830218B2 (ja) キャッシュ付ディスク制御装置の障害処理方法
US4924466A (en) Direct hardware error identification method and apparatus for error recovery in pipelined processing areas of a computer system
US7650467B2 (en) Coordination of multiprocessor operations with shared resources
US7421535B2 (en) Method for demoting tracks from cache
US5586291A (en) Disk controller with volatile and non-volatile cache memories
JP2557172B2 (ja) タイムゼロ・バックアップ・コピー・プロセスにおける副ファイル状態のポーリングのための方法およびシステム
JP3139964U (ja) システムのロールバックのための、レベル2キャッシュのバンクへのレベル2キャッシュのトランザクションのロギング
JP2846837B2 (ja) 障害を早期検出するためのソフトウェア制御方式のデータ処理方法
US6219751B1 (en) Device level coordination of access operations among multiple raid control units
JPH07141117A (ja) ディスク制御装置の制御方法
US6728791B1 (en) RAID 1 read mirroring method for host adapters
JPS6367686B2 (ja)
US6101574A (en) Disk control unit for holding track data in non-volatile cache memory
JPH02166539A (ja) フェッチ方法
US6658541B2 (en) Computer system and a database access method thereof
JP7318367B2 (ja) ストレージ制御装置及びストレージ制御プログラム
JPH0567976B2 (ja)
JPH02264335A (ja) 障害処理方法およびそのための装置
US7080198B1 (en) Method for snooping RAID 1 write transactions by a storage device
JPH0245845A (ja) データ処理システム
US6701385B1 (en) Raid 1 write mirroring method for host adapters
US6988166B1 (en) Method for snooping raid 1 read transactions by a storage device
JP3555847B2 (ja) キャッシュメモリの障害処理装置、キャッシュメモリの障害処理方法、マルチプロセッサシステム
JPH05216854A (ja) ホストコンピュータ装置
JP3033509B2 (ja) トランザクションの遅延リカバリ方式、遅延リカバリ方法および遅延リカバリプログラムを記録した記録媒体

Legal Events

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

Free format text: PAYMENT UNTIL: 20080903

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20080903

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20090903

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20090903

Year of fee payment: 10