JP3529236B2 - ディスク装置の二重化制御装置 - Google Patents
ディスク装置の二重化制御装置Info
- Publication number
- JP3529236B2 JP3529236B2 JP01965897A JP1965897A JP3529236B2 JP 3529236 B2 JP3529236 B2 JP 3529236B2 JP 01965897 A JP01965897 A JP 01965897A JP 1965897 A JP1965897 A JP 1965897A JP 3529236 B2 JP3529236 B2 JP 3529236B2
- Authority
- JP
- Japan
- Prior art keywords
- write
- disk
- input
- disk device
- primary
- 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
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Description
ディスク装置に対して二重化制御を行うディスク装置の
二重化制御装置に関し、特に、データの書き込みの最中
にホストコンピュータがダウンした後の再開時に、書き
込み不揃い箇所を容易に特定することができるディスク
装置の二重化制御装置に関する。
ためディスク装置を二重化するということが従来から行
われている。ディスク装置を二重化した情報処理装置で
は、ディスク装置に対する書き込み要求が発生すると、
正,副ディスク装置に対して同一データを書き込むよう
にしているが、正,副ディスク装置に於ける書き込み動
作は完全に同時に実行されるわけではない。このため、
二重化書き込みの最中にホストコンピュータがダウンす
ると、正,副ディスク装置の等価性を保証できなくな
る。従って、ホストコンピュータの復旧時には、正,副
ディスク装置の内容を一致させることが必要になる。
致させる場合、両者の内容を逐次比較することにより不
揃い箇所を探し出し、探し出した箇所の内容を正,副デ
ィスク装置何れかの内容に合わせるという方法をとるこ
とができる。しかし、この方法では、正,副ディスク装
置の不揃い箇所を探し出すために多くの時間がかかって
しまう。
を迅速に特定できる技術が必要になる。この種の従来の
技術としては、例えば、特開平3−129515号公報
に記載されている技術がある。
ムの運用時に、データの書き込み要求が発生した場合、
次のような処理を行う。先ず、正,副ディスク装置を制
御するディスク制御アダプタ内の不揮発性メモリに、デ
ータの書き込みアドレスとデータの書き込み中を示すフ
ラグとから構成される二重化書き込み中情報を格納し、
その後、正,副ディスク装置に対してデータの書き込み
を行う。そして、正,副ディスク装置に対するデータの
書き込みが両方とも正常終了すると、不揮発性メモリに
格納されている二重化書き込み中情報を削除する。以上
の処理を書き込み要求が発生する毎に行う。そして、コ
ンピュータシステムの電源投入時には、先ず、不揮発性
メモリに二重化書き込み中情報が格納されているか否か
を調べる。そして、二重化書き込み中情報が格納されて
いない場合には、正,副ディスク装置の内容が揃ってい
ると判断して直ちにシステム起動処理を実行する。一
方、二重化書き込み中情報が格納されている場合には、
正,副ディスク装置の内容が不揃いであると判断して、
二重化書き込み中情報中の書き込みアドレスによって示
される正ディスク装置内のデータを副ディスク装置の対
応する領域に複写してからシステム起動処理を実行す
る。
ステムに於いては、ホストコンピュータ上で複数のアプ
リケーションプログラムが同時に動作し、各アプリケー
ションプログラムからデータ書き込み要求がオーバラッ
プして発行される。このようなコンピュータシステム
に、上述した従来の技術を適用した場合、オーバラップ
して発行される全てのデータ書き込み要求に対応する二
重化書き込み中情報を不揮発性メモリに格納することが
必要になる。このため、オーバラップして発行されるデ
ータの書き込み要求の数が多いコンピュータシステムに
於いては、大容量の不揮発性メモリを設けなければなら
ない。
性メモリを設けなくとも、正,副ディスク装置の不揃い
箇所を容易に特定することができるディスク装置の二重
化制御装置を提供することにある。
するため、正ディスク装置,副ディスク装置に対して二
重化制御を行うディスク装置の二重化制御装置であっ
て、前記正ディスク装置,副ディスク装置それぞれに対
応して設けられた第1,第2のディスク制御装置と、ア
プリケーションプログラムから発行される書き込み要求
に応答して前記正,副ディスク装置に対して書き込み用
の入出力指示を複数オーバラップして発行することがで
きるホストコンピュータとを備えたディスク装置の二重
化制御装置に於いて、前記ホストコンピュータは、アプ
リケーションプログラムの書き込み要求に応答して前記
正,副ディスク装置に対して発行する書き込み用の入出
力指示のオーバラップ数の上限値を所定数に制限する入
出力制御部と、前記第1,第2のディスク制御装置内の
二重化書き込み履歴記憶部の内容に基づいて前記正ディ
スク装置と前記副ディスク装置との書き込み不揃い箇所
を特定する書き込み不揃い回復処理部とを備え、前記第
1,第2のディスク制御装置はそれぞれ、書き込み用の
入出力指示によって指示されたデータの書き込み位置及
び書き込みデータ量と、書き込み成否を示す情報とが設
定される書き込み履歴ブロックを前記所定数格納した半
導体メモリから構成される二重化書き込み履歴記憶部
と、前記ホストコンピュータから送られてくる書き込み
用の入出力指示に従って自ディスク制御装置に対応する
ディスク装置にデータを書き込むと共に、自ディスク制
御装置内の二重化書き込み履歴記憶部に格納されている
前記所定数の書き込み履歴ブロックの内の1つに前記入
出力指示によって指示されたデータの書き込み位置及び
書き込みデータ量と、書き込み成否を示す情報とを設定
することにより、最新の前記所定数分の書き込み用の入
出力指示に関する履歴を保存する入出力処理部とを備え
ている。
内の入出力制御部は、アプリケーションプログラムから
の書き込み要求に応答して正,副ディスク装置に対して
オーバラップして発行する書き込み用の入出力指示の上
限数を所定数に制限する。つまり、アプリケーションプ
ログラムから書き込み要求があった場合、第1,第2の
ディスク制御装置に対してオーバラップして発行してい
る書き込み用の入出力指示の数が所定数未満であれば、
直ちに、上記書き込み要求に従った入出力指示を発行
し、そうでなければ、オーバラップして発行している書
き込み用の入出力指示の数が所定数未満になるのを待っ
て上記書き込み要求に従った入出力指示を発行する。
理部は、ホストコンピュータから送られてくるデータの
書き込みを指示する入出力指示に従って自ディスク制御
装置に対応するディスク装置にデータを書き込むと共
に、自ディスク制御装置内の二重化書き込み履歴記憶部
に格納されている書き込み履歴ブロックの内の1つに入
出力指示によって指示されたデータの書き込み位置及び
書き込みデータ量と、書き込み成否を示す情報とを設定
する。書き込み不揃い回復処理部は、第1,第2のディ
スク制御装置内の二重化書き込み履歴記憶部の内容に基
づいて、正,副ディスク装置の書き込み不揃い箇所を特
定する。
スク装置との組を複数組備えたコンピュータシステムに
於いても、少ないメモリ容量で不一致箇所を特定できる
ようにするため、正ディスク装置と副ディスク装置との
組を複数備えたシステムの二重化制御を行うディスク装
置の二重化制御装置であって、前記各組に属する正ディ
スク装置,副ディスク装置の内の一方が接続された第1
のディスク制御装置と、前記各組に属する正ディスク装
置,副ディスク装置の内の他方が接続される第2のディ
スク制御装置と、アプリケーションプログラムから発行
される或る正ディスク装置と副ディスク装置の組に対す
る書き込み要求に応答して前記或る正,副ディスク装置
に対して書き込み用の入出力指示をオーバラップして発
行することができるホストコンピュータとを備えたディ
スク装置の二重化制御装置に於いて、前記ホストコンピ
ュータは、アプリケーションプログラムからの或る正,
副ディスク装置の組に対する書き込み要求に応答して前
記或る正,副ディスク装置に対して発行する書き込み用
の入出力指示のオーバラップ数の上限値を所定値に制限
する入出力制御部と、前記第1,第2のディスク制御装
置内の二重化書き込み履歴記憶部の内容に基づいて前記
正ディスク装置と前記副ディスク装置との書き込み不揃
い箇所を特定する書き込み不揃い回復処理部とを備え、
前記第1,第2のディスク制御装置はそれぞれ、書き込
み用の入出力指示によって指示されたデータの書き込み
位置及び書き込みデータ量と、書き込み成否を示す情報
とが設定される書き込み履歴ブロックを、自ディスク制
御装置に接続されているディスク装置毎に前記所定数格
納した半導体メモリから構成される二重化書き込み履歴
記憶部と、前記ホストコンピュータから送られてくる書
き込み用の入出力指示に従って自ディスク制御装置に接
続されているディスク装置の内の1台にデータを書き込
むと共に、自ディスク制御装置内の二重化書き込み履歴
部の内に格納されている、前記入出力指示によってデー
タの書き込みを指示された正,副ディスク装置に対応す
る前記所定数の書き込み履歴ブロックの内の1つに前記
入出力指示によって指示されたデータの書き込み位置及
び書き込みデータ量と、書き込み成否を示す情報とを設
定することにより、前記正,副ディスク装置に対する最
新の前記所定数分の書き込み用の入出力指示に関する履
歴を保存する入出力処理部とを備えている。
内の入出力制御部は、アプリケーションプログラムから
或る正ディスク装置と副ディスク装置の組に対する書き
込み要求に応答して上記正,副ディスク装置に対してオ
ーバラップして発行する書き込み用の入出力指示の上限
数を所定数に制限する。
処理部は、ホストコンピュータから送られてくる書き込
み用の入出力指示に従って自ディスク制御装置に接続さ
れているディスク装置の内の1台にデータを書き込むと
共に、自ディスク制御装置内の二重化書き込み履歴記憶
部に格納されている上記ディスク装置に対応する書き込
み履歴ブロックの内の1つに、上記入出力指示によって
指示されたデータの書き込み位置及び書き込みデータ量
と、書き込み成否を示す情報とを設定する。書き込み不
揃い回復処理部は、第1,第2のディスク制御装置内の
二重化書き込み履歴記憶部の内容に基づいて、正,副デ
ィスク装置の書き込み不揃い箇所を特定する。
図面を参照して詳細に説明する。
り、ホストコンピュータ1と、正ディスク装置2と、副
ディスク装置3と、第1のディスク制御装置4と、第2
のディスク制御装置5とを備えている。
1と、二重化構成記憶部12と、書き込み不揃い回復処
理部13と、入出力チャネル14,15と、複数のアプ
リケーションプログラム(AP)16−1〜16−iと
を備えている。
プログラム16−1〜16−iからデータの書き込み要
求に応答して正,副ディスク装置2,3に対してデータ
の書き込みを指示する書き込み用の入出力指示を発行す
る際、オーバラップして発行している書き込み用の入出
力指示の数が予め定められている所定数N未満の場合は
直ちに上記書き込み要求に対応した入出力指示を発行
し、そうでない場合はオーバラップして発行している書
き込み用の入出力指示の数が所定数N未満になるのを待
って正,副ディスク装置2,3に対して上記書き込み要
求に対応した入出力指示を発行する機能や、各アプリケ
ーションプログラム16−1〜16−iからデータの読
み出し要求が発行された時、正,副ディスク装置2,3
に対してデータの読み出しを指示する読み出し用の入出
力指示を発行する機能等を有する。
置2への経路情報及び副ディスク装置3への経路情報が
格納されている。
ディスク装置2,3の内容の不揃い箇所を特定し、両者
の内容を一致させる機能を有する。
それぞれ入出力処理部41,51と、二重化書き込み履
歴記憶部42,52と、入出力ポート43,53とを備
えている。
不揮発性の半導体メモリから構成され、上記した所定数
Nの書き込み履歴ブロックが格納される。図2は二重化
書き込み履歴記憶部42の内容例を示した図であり、N
個の書き込み履歴ブロック200−1〜200−Nが格
納される。各書き込み履歴ブロック200−1〜200
−Nは、通番履歴フィールド201と、ブロックアドレ
ス履歴フィールド202と、転送バイト数履歴フィール
ド203と、書き込みコマンド成否履歴フィールド20
4とから構成されている。尚、二重化書き込み履歴記憶
部52の内容も二重化書き込み履歴記憶部42と同様で
あり、以下の説明に於いては、二重化書き込み履歴記憶
部52に格納されている書き込み履歴ブロックは200
−1’〜200−N’の符号を用いて表すものとする。
トコンピュータ1から送られてくる書き込み用の入出力
指示に従って正,副ディスク装置2,3にデータを書き
込む機能,ホストコンピュータ1から送られてくる読み
出し用の入出力指示に従って正,副ディスク装置2,3
からデータを読み出す機能,二重化書き込み履歴記憶部
42,52に格納されている書き込み履歴ブロック20
0−1〜200−N,200−1’〜200−N’の各
フィールド201〜204に所定の情報を設定する機能
等を有する。尚、入出力処理部41,51は、第1番目
〜第N番目の書き込み用の入出力指示が加えられた場合
にはそれぞれ第1番目〜第N番目の書き込み履歴ブロッ
ク200−1〜200−N,200−1’〜200−
N’に所定の情報を設定し、第(N+1)番目〜第2N
番目の書き込みを指示する入出力指示が加えられた場合
にはそれぞれ第1番目〜第N番目の書き込み履歴ブロッ
ク200−1〜200−N,200−1’〜200−
N’に所定の情報を設定するというように、N個の書き
込みブロック200−1〜200−N,200−1’〜
200−N’をサイクリックに使用する。
1は、アプリケーションプログラム16−1〜16−i
からデータの書き込み要求或いはデータの読み出し要求
が発行されると、図3の流れ図に示すように、その内部
に設けられている待ち行列(図示せず)に書き込み要
求,読み出し要求を登録する(S1)。
に示すように、常時、待ち行列に要求(書き込み要求或
いは読み出し要求)が登録されているか否かを監視して
いる(S11)。そして、登録されている場合(S11
がYES)は、待ち行列の先頭に登録されている要求
が、書き込み要求か、読み出し要求かを調べる(S1
2)。
O)は、待ち行列の先頭に登録されている読み出し要求
を直ちに取り出す(S15)。また、書き込み要求であ
った場合(S12がYES)は、第1,第2のディスク
制御装置4,5に対してオーバラップして発行している
書き込み用の入出力指示の数を示すカウント値CNTが
予め定められている値Nになっているか否かを判断する
(S13)。尚、上記カウント値CNTは、初期状態に
於いては「0」になっている。
ていないと判断した場合(S13がNO)は、カウント
値CNTを+1した後(S14)、待ち行列の先頭に登
録されている書き込み要求を1つ取り出す(S15)。
また、カウント値CNTが「N」になっている場合に
は、カウント値CNTが「N」未満になるのを待ち、そ
の後、S14,S15の処理を順次行う。
れている書き込み要求或いは読み出し要求を1つ取り出
すと、入出力制御部11は、二重化構成記憶部12を参
照しして正,副ディスク装置2,3に対して入出力指示
を発行するための経路情報を求める(S16)。この例
の場合、正ディスク装置2に対する経路情報としては、
入出力チャネル14,正ディスク装置2のアドレスが求
められ、副ディスク装置3に対する経路情報としては、
入出力チャネル15,副ディスク装置3のアドレスが求
められる。
ションプログラム16−1〜16−iから発行された書
き込み要求,読み出し要求に基づいて、図5に示すよう
なコマンドディスクリプタブロック500を含む入出力
指示を作成し、作成した入出力指示をS16で求めた経
路情報を用いて、正,副ディスク装置2,3に対して発
行する(S17)。
タブロック500は、通番フィールド501と、要求元
フィールド502と、コマンドコードフィールド503
と、ブロックアドレスフィールド504と、転送バイト
数フィールド505とから構成される。
11が発行した入出力指示の通番が設定される。要求元
フィールド502には、その入出力指示に対応する書き
込み要求元,読み出し要求元のアプリケーションプログ
ラムを示す情報が設定される。コマンドコードフィール
ド503には、書き込み,読み出し,センス等の指令タ
イプが設定される。ブロックアドレスフィールド504
には、書き込み要求,読み出し要求によって要求された
データの書き込みアドレス,読み出しアドレスが設定さ
れる。転送バイト数フィールド505には、書き込み要
求,読み出し要求によって要求されたデータの転送バイ
ト数が格納される。
ら発行された入出力指示は、入出力チャネル14,入出
力ポート43を介して第1のディスク制御装置4内の入
出力処理部41に送られると共に、入出力チャネル1
5,入出力ポート53を介して第2のディスク制御装置
5内の入出力処理部51に送られる。
ュータ1から入出力指示が送られてくると、図6の流れ
図に示すように、コマンドディスクリプタブロック50
0のコマンドコードフィールド503の内容に基づい
て、それがデータの書き込みを指示するものなのか、読
み出しを指示するものなのかを判断する(S21)。
力指示がデータの読み出しを指示するものであると判断
した場合(S21がNO)は、直ちに、入出力指示を入
出力処理部41内に設けられている待ち行列(図示せ
ず)に登録する(S23)。
あると判断した場合(S21がYES)は、二重化書き
込み履歴記憶部42,52に格納されているN個の書き
込み履歴ブロック200−1〜200−N,200−
1’〜200−N’はサイクリックに使用するという規
則に基づいて使用する書き込み履歴ブロック(例えば、
書き込み履歴ブロック200−j,200−j’,1≦
j≦N)を決定し、その書き込み履歴ブロック200−
j,200−j’の各フィールド201〜204に必要
な情報を設定する(S22)。
ホストコンピュータ1から送られてきた入出力指示に含
まれているコマンドディスクリプタブロック500中の
通番フィールド501に設定されている通番を設定し、
ブロックアドレス履歴フィールド202には、コマンド
ディスクリプタブロック500のブロックアドレスフィ
ールド504に設定されている書き込みアドレスを設定
する。更に、転送バイト数履歴フィールド203にはコ
マンドディスクリプタブロック500の転送バイト数フ
ィールド505に設定されている転送バイト数を設定
し、書き込みコマンド成否履歴フィールド204には、
データの書き込みが“失敗”したことを示す情報を設定
する。尚、書き込みコマンド成否履歴フィールド204
には、初期状態に於いては、無効を示す情報が設定され
ている。
−j’の各フィールド201〜204に上記した各情報
を設定すると、入出力処理部41,51は、ホストコン
ピュータ1から送られてきた入出力指示をその内部に設
けられている待ち行列に登録する(S23)。
流れ図に示すように、その内部の待ち行列に入出力指示
が登録されているか否かを常時監視している(S3
1)。そして、登録されている場合(S31がYES)
は、待ち行列の先頭に登録されている入出力指示を1つ
取り出し(S32)、取り出した入出力指示に従って
正,副ディスク装置2,3に対するデータの書き込み処
理或いはデータの読み出し処理を行う(S33)。
合(S34がNO)は、ホストコンピュータ1に対して
読み出し処理が正常終了したか否かを示す情報,要求元
のアプリケーションプログラム名を含む読み出し完了通
知を送る(S37)。また、データの書き込み処理を行
った場合(S34がYES)は、二重化書き込み履歴記
憶部42,52に格納されている書き込み履歴ブロック
200−1〜200−N,200−1’〜200−N’
の内の、処理した入出力指示に付されていた通番と同じ
通番が通番履歴フィールド201に設定されている書き
込み履歴ブロックの書き込みコマンド成否履歴フィール
ド204に、書き込みの“成功”,“失敗”を示す情報
を設定し(S35)、その後、ホストコンピュータ1に
対して書き込み処理が正常終了したか否かを示す情報,
要求元のアプリケーションプログラム名,処理した入出
力指示に付されていた通番を含む書き込み完了通知を送
る(S36)。
1は、第1,第2のディスク制御装置4,5から書き込
み完了通知,読み出し完了通知が送られてきた場合、要
求元のアプリケーションプログラムに処理完了を通知す
る等の従来から行われている通常の処理を行うと共に、
書き込み完了通知が送られてきた場合には、図8の流れ
図に示す処理も行う。図8のS41では、送られてきた
書き込み完了通知に含まれている通番と同じ通番を有す
る書き込み完了通知が他系からも送られてきているか否
かを判断する。そして、他系からも送られてきている場
合(S41がYES)は、S42に於いてオーバラップ
して発行している入出力指示の数を示すカウント値CN
Tを−1する。
ータ1がダウンした場合を考えてみる。
いて、ホストコンピュータ1から送られてきた書き込み
用の入出力指示に従って正,副ディスク装置2,3に対
してデータの書き込みを行っている時に、ホストコンピ
ュータ1がダウンした場合、入出力指示によって指示さ
れたバイト数の書き込みを行うことができないことか
ら、二重化書き込み履歴記憶部42,52に格納されて
いるN個の書き込み履歴ブロック200−1〜200−
N,200−1’〜200−N’の内、上記入出力指示
に対応する書き込み履歴ブロックの書き込みコマンド成
否履歴フィールド204には“失敗”を示す情報が格納
される(図7,S35)。また、二重化書き込み履歴記
憶部42,52に格納されているN個の書き込み履歴ブ
ロック200−1〜200−N,200−1’〜200
−N’の内、未処理の入出力指示に対応する書き込み履
歴ブロックの書き込みコマンド成否履歴フィールド20
4には、図6のS22で設定された“失敗”を示す情報
が保持されたままになる。
ダウンした場合、二重化書き込み履歴記憶部42,52
に格納されている書き込み履歴ブロック200−1〜2
00−N,200−1’〜200−N’の内容は上記し
たようになる。
システムの稼働を開始する場合の動作を説明する。
不揃い回復処理部13が二重化構成記憶部12を参照し
て、正,副ディスク装置2,3への経路情報を求める
(図9,S51)。その後、書き込み不揃い回復処理部
13は、入出力制御部11を利用してディスク制御装置
4,5に対してセンス系の入出力指示を発行する(S5
2)。
の入出力指示は、入出力チャネル14,入出力ポート4
3を介して第1のディスク制御装置4内の入出力処理部
41に送られると共に、入出力チャネル15,入出力ポ
ート53を介して第2のディスク制御装置5内の入出力
処理部51に送られる。
入出力処理部41,51は、それぞれセンス系の入出力
指示が送られてくると、二重化書き込み履歴記憶部4
2,52に格納されているN個の書き込み履歴ブロック
200−1〜200−N,200−1’〜200−N’
をホストコンピュータ1に送る。
3は、入出力制御部11を使用して第1,第2のディス
ク制御装置4,5から送られてきた正系,副系それぞれ
N個ずつの書き込み履歴ブロック200−1〜200−
N,200−1’〜200−N’を得る(S53)。
は、正系の書き込み履歴ブロック200−1〜200−
Nの内の1つに注目し(S54)、現在注目している書
き込み履歴ブロック(書き込み履歴ブロック200−k
とする。1≦k≦N)とブロックアドレス履歴フィール
ド202,転送バイト数履歴フィールド203の内容が
同じものを副系の書き込み履歴ブロック200−1’〜
200−N’の中から探す(S58)。
0−1’〜200−N’の中から現在注目している正系
の書き込み履歴ブロック200−kとブロックアドレス
履歴フィールド202,転送バイト数履歴フィールド2
03の内容が同じ書き込み履歴ブロックを探し出せなか
った場合(図10,S59がNO)は、現在注目してい
る正系の書き込み履歴ブロック200−kのブロックア
ドレス履歴フィールド202、転送バイト数履歴フィー
ルド203の内容によって示される正ディスク装置2上
のデータを、副ディスク装置3の該当する部分にコピー
し(S68)、その後、再び図9のS54の処理を行
い、未注目の正系の書き込み履歴ブロックの内の1つを
注目する。
02,転送バイト数履歴フィールド203の内容が同じ
書き込み履歴ブロックを探し出せた場合(S59がYE
S)は、探し出した副系の書き込み履歴ブロック(書き
込み履歴ブロック200−m’とする)にマークを付し
(S60)、その後、書き込み履歴ブロック200−
k,200−m’の書き込みコマンド成否履歴フィール
ド204の内容が共に“成功”になっているか否かを判
断する(S61)。
なっていると判断した場合は、再び図9のS54の処理
を行う。
っていないと判断した場合は、コマンドコードフィール
ド503に“読み出し”を、ブロックアドレスフィール
ド504,転送バイト数フィールド505に、書き込み
履歴ブロック200−kのブロックアドレス履歴フィー
ルド202,転送バイト数履歴フィールド203の内容
を設定したコマンドディスクリプタブロック500を含
む入出力指示をディスク制御装置4に発行すると共に、
コマンドコードフィールド503に“読み出し”を、ブ
ロックアドレスフィールド504,転送バイト数フィー
ルド505に、書き込み履歴ブロック200−m’のブ
ロックアドレス履歴フィールド202,転送バイト数履
歴フィールド203の内容を設定したコマンドディスク
リプタブロック500を含む入出力指示をディスク制御
装置5に発行し、正,副ディスク装置2,3から個別に
データを読み出す(S62)。
み出したデータが一致する場合(S63がYES)は、
図9のS54の処理を行う。一方、両者が不一致の場合
(S63がNO)は、書き込み履歴ブロック200−
k,200−m’の書き込みコマンド成否履歴フィール
ド204の内容が共に“失敗”になっているか否かを判
断する(S64)。
ていると判断した場合は、S62で正ディスク装置2か
ら読み出したデータの不一致部分を副ディスク装置3の
該当する部分にコピーした後(S67)、図9のS54
の処理を行う。また、S64に於いて、何れか一方に
“失敗”が設定されていると判断した場合は、副系の書
き込み履歴ブロック200−m’に“失敗”が設定され
ているか否かを判断する(S65)。
0−m’に“失敗”が設定されていると判断した場合
(S65がYES)は、正ディスク装置2から読み出し
たデータの不一致部分を副ディスク装置3の該当する部
分にコピーした後(S67)、図9のS54の処理を行
う。また、正系の書き込み履歴ブロック200−kに
“失敗”が設定されていると判断した場合(S65がN
O)は、S62に於いて副ディスク装置3から読み出し
たデータの不一致部分を正ディスク装置2の該当する部
分にコピーした後(S66)、図9のS54の処理を行
う。
の正系の書き込み履歴ブロックがなくなるまで上述した
処理を繰り返し行い、未注目の正系の書き込み履歴ブロ
ックがなくなると(図9,S55がNO)、マークの付
されていない副系の書き込み履歴ブロックが存在するか
否かを判断する(S56)。そして、副系の書き込み履
歴ブロック200−1’〜200−N’の全てにマーク
が付されていると判断した場合(S56がNO)は、そ
の処理を終了する。また、マークが付されていない副系
の書き込み履歴ブロックが存在する場合は、その書き込
み履歴ブロックのブロックアドレス履歴フィールド20
2,転送バイト数203の内容によって示される副ディ
スク装置3の領域に、正ディスク装置2の該当する領域
のデータをコピーした後(S57)、その処理を終了す
る。
であり、2台のホストコンピュータ110,120と、
第1,第2のディスク制御装置130,140と、2台
の正ディスク装置150,153と、2台の副ディスク
装置151,152とから構成されている。尚、本実施
例では、ホストコンピュータ110,120はディスク
装置の同じアドレスはアクセスしないものとする。
51には同じディスク識別子VOL#Aが付与され、正
ディスク装置153と副ディスク装置152には同じデ
ィスク識別子VOL#Bが付与されている。つまり、
正,副ディスク装置150,151の組にはディスク識
別子VOL#Aが、正,副ディスク装置153,152
の組にはディスク識別子VOL#Bが付与され、同じ組
の正,副ディスク装置には同じ内容のデータが格納され
る。
は、それぞれ入出力制御部111,121と、二重化構
成記憶部112,122と、書き込み不揃い回復処理部
113,123と、入出力チャネル114,115,1
24,125と、アプリケーションプログラム116−
1〜116−p,126−1〜126−qとを備えてい
る。
ーションプログラム116−1〜116−p,126−
1〜126−qから発行されるディスク識別子を含む書
き込み要求に応答して上記ディスク識別子によって示さ
れる正,副ディスク装置に対して書き込み用の入出力指
示を発行する際、現在上記正,副ディスク装置に対して
オーバラップして発行している書き込み用の入出力指示
の数が予め定められている所定数N未満の場合は直ちに
上記書き込み要求に対応した入出力指示を上記正,副デ
ィスク装置に対して発行し、そうでない場合はオーバラ
ップして発行している入出力指示の数がN未満になるの
を待って上記正,副ディスク装置に対して上記書き込み
要求に対応した入出力指示を発行する機能や、各アプリ
ケーションプログラム116−1〜116−pからディ
スク識別子を含む書き込み要求が発行された時、上記デ
ィスク識別子によって示される正,副ディスク装置に対
して読み出し用の入出力指示を発行する機能等を有す
る。
ィスク識別子VOL#Aに対応して正ディスク装置15
0への経路情報と副ディスク装置151への経路情報と
が格納されると共に、データ識別子VOL#Bに対応し
て副ディスク装置152への経路情報と正ディスク装置
153への経路情報とが格納されている。
40は、それぞれ入出力処理部131,141と、二重
化書き込み履歴記憶部132,142と、入出力ポート
133,134,143,144とを備えている。
は、不揮発性の半導体メモリから構成されている。二重
化書き込み履歴記憶部132には、ホストコンピュータ
110と正ディスク装置150との組,ホストコンピュ
ータ110と副ディスク装置152との組,ホストコン
ピュータ120と正ディスク装置150との組,ホスト
コンピュータ120と副ディスク装置152との組に対
応して、それぞれN個の書き込み履歴ブロックが格納さ
れる。また、二重化書き込み履歴記憶部142には、ホ
ストコンピュータ110と副ディスク装置151との
組,ホストコンピュータ110と正ディスク装置153
との組,ホストコンピュータ120と副ディスク装置1
51との組,ホストコンピュータ120と正ディスク装
置153との組に対応して、それぞれN個の書き込み履
歴ブロックが格納される。ここで、二重化書き込み履歴
記憶部132,142に格納される各書き込み履歴ブロ
ックの構成は、図2に示した構成と同様である。
ホストコンピュータ110,120から送られてくるデ
ータの書き込みを指示する入出力指示(データを書き込
む正,副ディスク装置のディスク識別子を含む)に従っ
て、上記ディスク識別子によって示される正,副ディス
ク装置の組にデータを書き込む機能,二重化書き込み履
歴記憶部132,142に格納されている書き込み履歴
ブロックに所定の情報を設定する機能等を有する。
報を設定する際、入出力処理部131,141は、或る
ホストコンピュータから或る正,副ディスク装置に対す
る第1番目〜第N番目の書き込み用の入出力指示が加え
られた場合には、上記ホストコンピュータと上記正ディ
スク装置の組に対応して設けられているN個の書き込み
履歴ブロック,上記ホストコンピュータと上記副ディス
ク装置の組に対応して設けられているN個の書き込み履
歴ブロックのそれぞれ第1番目〜第N番目の書き込み履
歴ブロックに所定の情報を設定し、上記ホストコンピュ
ータから上記正,副ディスク装置への第(N+1)番目
〜第2N番目の書き込み用の入出力指示が加えられた場
合には上記ホストコンピュータと上記正ディスク装置の
組に対応して設けられているN個の書き込み履歴ブロッ
ク,上記ホストコンピュータと上記副ディスク装置の組
に対応して設けられているN個の書き込み履歴ブロック
のそれぞれ第1番目〜第N番目の書き込み履歴ブロック
に所定の情報を設定するというように、入出力指示の発
行元のホストコンピュータとデータの書き込み先の正,
副ディスク装置に対応して設けられているN個の書き込
み履歴ブロックをサイクリックに使用する。
部111は、アプリケーションプログラム116−t
(1≦t≦p)からディスク識別子VOL#Aを含む書
き込み要求が発行されると、前述した入出力制御部11
と同様の処理を行い、ディスク識別子VOL#Aが付与
された正,副ディスク装置150,151に対してデー
タの書き込みを指示する入出力指示を発行する。この
時、正,副ディスク装置150,151に対してオーバ
ラップして発行している書き込みを指示する入出力指示
の数が予め定められている所定数Nになっている場合
は、前述した実施例の入出力制御部11と同様に、正,
副ディスク装置150,151に対してオーバラップし
て発行している書き込みを指示する入出力指示の数が所
定数N未満になるのを待った後、上記書き込み要求に対
応した入出力指示を発行する。ここで、オーバラップし
て発行しているデータの書き込みを指示する入出力指示
の数が所定数N未満か否かは、前述した実施例と同様に
して判断する。但し、本実施例の場合は、正,副ディス
ク装置150,151に対してオーバラップして発行し
ている書き込みを指示する入出力指示の数と、正,副デ
ィスク装置153,152に対してオーバラップして発
行している書き込みを指示する入出力指示の数とを別々
に管理することが必要になる。
5に示したと同様のコマンドディスクリプタブロック5
00を含んでいるが、要求元フィールド502,ブロッ
クアドレスフィールド504の内容が前述した実施例と
は異なっている。つまり、要求元フィールド502は、
アプリケーションプログラム116−tの識別子に加え
てホストコンピュータ110の識別子を含み、ブロック
アドレスフィールド504は、データの書き込みアドレ
スに加えて正,副ディスク装置150,151のディス
ク識別子を含んでいる。
上記入出力指示は、第1,第2のディスク制御装置13
0,140内の入出力処理部131,141で受け付け
られる。
化書き込み履歴記憶部132に格納されているホストコ
ンピュータ110と正ディスク装置150との組に対応
するN個の書き込み履歴ブロックの内の1つに所定の情
報を書き込み、入出力処理部141は、二重化書き込み
履歴記憶部142に格納されているホストコンピュータ
110と副ディスク装置151との組に対応するN個の
書き込み履歴ブロックの内の1つに前述した実施例と同
様の情報を設定する。つまり、書き込み履歴ブロックの
通番履歴フィールド201に入出力指示中のコマンドデ
ィスクリプタブロック500の通番フィールドの内容
を、ブロックアドレス履歴フィールド202にコマンド
ディスクリプタブロック500のブロックアドレスフィ
ールド504の内容を、転送バイト数履歴フィールド2
03にコマンドディスクリプタブロック500の転送バ
イト数フィールド505の内容を、書き込みコマンド成
否履歴フィールド204に“失敗”を設定する。
れぞれ正ディスク装置150,副ディスク装置151に
対してデータの書き込み処理を行い、書き込み処理の結
果を該当する書き込み履歴ブロックの書き込みコマンド
成否履歴フィールド204にに設定する。データの書き
込み処理が終了すると、入出力処理部131,141
は、入出力指示の発行元のホストコンピュータ110に
対して書き込み完了通知を行う。
ータ110内の入出力制御部111で受け付けられ、入
出力制御部111は、正,副ディスク装置150,15
1に対してオーバラップして発行している書き込みを指
示する入出力指示の数を−1する。
リケーションプログラム126−1〜126−qが書き
込み要求を発行した場合も、前述したと同様の動作が行
われることになる。
るので、ホストコンピュータ110,120がダウンし
た後の再開時に、書き込み不揃い回復処理部113,1
23に前述した実施例の書き込み不揃い回復処理部13
と同様の処理を行わせることにより、正,副ディスク装
置の不揃い箇所を特定し、両者の内容を一致させること
ができる。
ン後の再開時には、書き込み不揃い回復処理部113
が、第1のディスク制御装置130から、ホストコンピ
ュータ110と正ディスク装置150との組に対応して
設けられているN個の書き込み履歴ブロック及びホスト
コンピュータ110と副ディスク装置152の組とに対
応して設けられているN個の書き込みブロックとを取得
し、第2のディスク制御装置140から、ホストコンピ
ュータ110と副ディスク装置151の組に対応して設
けられているN個の書き込み履歴ブロック及びホストコ
ンピュータ110と正ディスク装置153との組に対応
して設けられているN個の書き込み履歴ブロックとを取
得し、第1のディスク制御装置130から取得した2N
個の書き込み履歴ブロックの内容と第2のディスク制御
装置140から取得した2N個の書き込み履歴ブロック
の内容とに基づいて前述したと同様の処理を行うことに
より、不一致箇所を特定し、両者の内容を一致させる。
後の再開時には、書き込み不揃い回復処理部123が、
第1のディスク制御装置130から、ホストコンピュー
タ120と正ディスク装置150との組に対応して設け
られているN個の書き込み履歴ブロック及びホストコン
ピュータ120と副ディスク装置152の組とに対応し
て設けられているN個の書き込みブロックとを取得し、
第2のディスク制御装置140から、ホストコンピュー
タ120と副ディスク装置151の組に対応して設けら
れているN個の書き込み履歴ブロック及びホストコンピ
ュータ120と正ディスク装置153との組に対応して
設けられているN個の書き込み履歴ブロックとを取得
し、第1のディスク制御装置130から取得した2N個
の書き込み履歴ブロックの内容と第2のディスク制御装
置140から取得した2N個の書き込み履歴ブロックの
内容とに基づいて前述したと同様の処理を行うことによ
り、不一致箇所を特定し、両者の内容を一致させる。
130,140に設ける二重化書き込み履歴記憶部13
2,142が必要とする記憶容量は、「ディスク装置の
台数×ホストコンピュータの台数×書き込み履歴ブロッ
クのサイズ×N」となる。また、書き込み履歴ブロック
のサイズは、通番履歴フィールド201が2バイト,ブ
ロックアドレス履歴フィールド202が4バイト,転送
バイト数履歴フィールド203が3バイト,書き込みコ
マンド成否履歴フィールド204が1バイト程度で十分
であるので、10バイト程度となる。従って、Nを例え
ば「8」とした場合、二重化書き込み履歴記憶部13
2,142が必要とする記憶容量は0.3Kバイト程度
であり、微々たる量である。
ケーションプログラムから発行される書き込み要求の多
重処理数に上限を設けたので、ディスク制御装置に設け
る半導体メモリから構成される二重化書き込み履歴記憶
部の容量を少なくすることができる。
た図である。
る。
る。
ブロック500の構成例を示した図である。
である。
である。
る。
流れ図である。
す流れ図である。
プリケーションプログラム 130,140…ディスク制御装置 131,141…入出力処理部 132,142…二重化書き込み履歴記憶部 133,134,143,144…入出力ポート 150,153…正ディスク装置 151,152…副ディスク装置
Claims (3)
- 【請求項1】 正ディスク装置,副ディスク装置に対し
て二重化制御を行うディスク装置の二重化制御装置であ
って、前記正ディスク装置,副ディスク装置それぞれに
対応して設けられた第1,第2のディスク制御装置と、
アプリケーションプログラムから発行される書き込み要
求に応答して前記正,副ディスク装置に対して書き込み
用の入出力指示を複数オーバラップして発行することが
できるホストコンピュータとを備えたディスク装置の二
重化制御装置に於いて、 前記ホストコンピュータは、 アプリケーションプログラムの書き込み要求に応答して
前記正,副ディスク装置に対して発行する書き込み用の
入出力指示のオーバラップ数の上限値を所定数に制限す
る入出力制御部と、 前記第1,第2のディスク制御装置内の二重化書き込み
履歴記憶部の内容に基づいて前記正ディスク装置と前記
副ディスク装置との書き込み不揃い箇所を特定する書き
込み不揃い回復処理部とを備え、 前記第1,第2のディスク制御装置はそれぞれ、 書き込み用の入出力指示によって指示されたデータの書
き込み位置及び書き込みデータ量と、書き込み成否を示
す情報とが設定される書き込み履歴ブロックを前記所定
数格納した半導体メモリから構成される二重化書き込み
履歴記憶部と、 前記ホストコンピュータから送られてくる書き込み用の
入出力指示に従って自ディスク制御装置に対応するディ
スク装置にデータを書き込むと共に、自ディスク制御装
置内の二重化書き込み履歴記憶部に格納されている前記
所定数の書き込み履歴ブロックの内の1つに前記入出力
指示によって指示されたデータの書き込み位置及び書き
込みデータ量と、書き込み成否を示す情報とを設定する
ことにより、最新の前記所定数分の書き込み用の入出力
指示に関する履歴を保存する入出力処理部とを備えたこ
とを特徴とするディスク装置の二重化制御装置。 - 【請求項2】 前記半導体メモリは不揮発性メモリから
構成されることを特徴とする請求項1記載のディスク装
置の二重化制御装置。 - 【請求項3】 正ディスク装置と副ディスク装置との組
を複数備えたシステムの二重化制御を行うディスク装置
の二重化制御装置であって、前記各組に属する正ディス
ク装置,副ディスク装置の内の一方が接続された第1の
ディスク制御装置と、前記各組に属する正ディスク装
置,副ディスク装置の内の他方が接続される第2のディ
スク制御装置と、アプリケーションプログラムから発行
される或る正ディスク装置と副ディスク装置の組に対す
る書き込み要求に応答して前記或る正,副ディスク装置
に対して書き込み用の入出力指示をオーバラップして発
行することができるホストコンピュータとを備えたディ
スク装置の二重化制御装置に於いて、 前記ホストコンピュータは、 アプリケーションプログラムからの或る正,副ディスク
装置の組に対する書き込み要求に応答して前記或る正,
副ディスク装置に対して発行する書き込み用の入出力指
示のオーバラップ数の上限値を所定値に制限する入出力
制御部と、 前記第1,第2のディスク制御装置内の二重化書き込み
履歴記憶部の内容に基づいて前記正ディスク装置と前記
副ディスク装置との書き込み不揃い箇所を特定する書き
込み不揃い回復処理部とを備え、 前記第1,第2のディスク制御装置はそれぞれ、 書き込み用の入出力指示によって指示されたデータの書
き込み位置及び書き込みデータ量と、書き込み成否を示
す情報とが設定される書き込み履歴ブロックを、自ディ
スク制御装置に接続されているディスク装置毎に前記所
定数格納した半導体メモリから構成される二重化書き込
み履歴記憶部と、 前記ホストコンピュータから送られてくる書き込み用の
入出力指示に従って自ディスク制御装置に接続されてい
るディスク装置の内の1台にデータを書き込むと共に、
自ディスク制御装置内の二重化書き込み履歴部の内に格
納されている、前記入出力指示によってデータの書き込
みを指示された正,副ディスク装置に対応する前記所定
数の書き込み履歴ブロックの内の1つに前記入出力指示
によって指示されたデータの書き込み位置及び書き込み
データ量と、書き込み成否を示す情報とを設定すること
により、前記正,副ディスク装置に対する最新の前記所
定数分の書き込み用の入出力指示に関する履歴を保存す
る入出力処理部とを備えたことを特徴とするディスク装
置の二重化制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP01965897A JP3529236B2 (ja) | 1997-01-20 | 1997-01-20 | ディスク装置の二重化制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP01965897A JP3529236B2 (ja) | 1997-01-20 | 1997-01-20 | ディスク装置の二重化制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10207640A JPH10207640A (ja) | 1998-08-07 |
JP3529236B2 true JP3529236B2 (ja) | 2004-05-24 |
Family
ID=12005357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP01965897A Expired - Lifetime JP3529236B2 (ja) | 1997-01-20 | 1997-01-20 | ディスク装置の二重化制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3529236B2 (ja) |
-
1997
- 1997-01-20 JP JP01965897A patent/JP3529236B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH10207640A (ja) | 1998-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0405926B1 (en) | Method and apparatus for managing a shadow set of storage media | |
US7962712B2 (en) | Method for controlling storage device controller, storage device controller, and program | |
EP0405925B1 (en) | Method and apparatus for managing a shadow set of storage media | |
JP4115060B2 (ja) | 情報処理システムのデータ復旧方法及びディスクサブシステム | |
JP4387116B2 (ja) | ストレージシステムの制御方法、及びストレージシステム | |
US6499075B2 (en) | Computer system including a device with a plurality of identifiers | |
US6898681B2 (en) | Computer storage systems | |
US7185048B2 (en) | Backup processing method | |
US5210865A (en) | Transferring data between storage media while maintaining host processor access for I/O operations | |
JP4681247B2 (ja) | ディスクアレイ装置及びディスクアレイ装置の制御方法 | |
US5247618A (en) | Transferring data in a digital data processing system | |
US6260109B1 (en) | Method and apparatus for providing logical devices spanning several physical volumes | |
US7366870B2 (en) | System and method for accessing an offline storage unit through an online storage unit | |
US7290100B2 (en) | Computer system for managing data transfer between storage sub-systems | |
JPH0291749A (ja) | 不揮発型半導体メモリ装置 | |
JP4131894B2 (ja) | ランダムディスクライトに好適なディスク制御機構 | |
JP4104281B2 (ja) | データベースアクセス方法 | |
JP2002297427A (ja) | データのバックアップのための方法、装置、システム、プログラム及び記憶媒体 | |
JP3529236B2 (ja) | ディスク装置の二重化制御装置 | |
US8200916B2 (en) | Write set boundary management in support of asynchronous update of secondary storage | |
EP0405861B1 (en) | Transferring data in a digital data processing system | |
JP4204060B2 (ja) | 情報処理システムのデータ復旧方法及びディスクサブシステム | |
JP3425355B2 (ja) | 多重書き込み記憶装置 | |
JPH0713943A (ja) | 並列計算機 | |
JPH0991212A (ja) | ソフトウェア配布方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20040115 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040224 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080305 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090305 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090305 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100305 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100305 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110305 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110305 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120305 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120305 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130305 Year of fee payment: 9 |