JP3515495B2 - ディスク制御装置及びその制御方法 - Google Patents

ディスク制御装置及びその制御方法

Info

Publication number
JP3515495B2
JP3515495B2 JP2000214471A JP2000214471A JP3515495B2 JP 3515495 B2 JP3515495 B2 JP 3515495B2 JP 2000214471 A JP2000214471 A JP 2000214471A JP 2000214471 A JP2000214471 A JP 2000214471A JP 3515495 B2 JP3515495 B2 JP 3515495B2
Authority
JP
Japan
Prior art keywords
cache memory
data
control
control system
disk
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 - Fee Related
Application number
JP2000214471A
Other languages
English (en)
Other versions
JP2001060176A (ja
Inventor
裕一 太郎田
一馬 高津
早苗 鎌倉
信和 桐ヶ谷
英明 大村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu 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
Priority claimed from JP05286339A external-priority patent/JP3136036B2/ja
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2000214471A priority Critical patent/JP3515495B2/ja
Publication of JP2001060176A publication Critical patent/JP2001060176A/ja
Application granted granted Critical
Publication of JP3515495B2 publication Critical patent/JP3515495B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Power Sources (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はディスク制御装置及びそ
の制御方法に係わり、特にキャッシュメモリを備え、上
位装置から指令されたデータをキャッシュメモリを介し
てディスクに書き込み、あるいはディスクより読み取っ
たデータをキャッシュメモリを介して読み取って上位装
置に転送するディスク制御装置及びその制御方法に関す
る。
【0002】
【従来の技術】磁気ディスクサブシステムは、I/Oデ
バイスとして磁気ディスク装置(DASD:Direct Acc
ess Storage Device)と、上位装置と該磁気ディスク装
置の間に設けられ磁気ディスク装置へのデータの書き込
み及び磁気ディスク装置からのデータの読み出しを制御
するディスク制御装置を備えている。磁気ディスク装置
は機械的動作を伴うため、アクセス時間はミリ秒台より
高速にすることが困難で、半導体メモリのアクセス時間
に比べると、相当の開きがある。そこで、アクセス速度
を向上させるためにディスク制御装置内にキャッシュメ
モリを備えたものがある。これはホストからのアクセス
が磁気ディスク装置上の特定データに集中する傾向にあ
ることを利用して、参照頻度が高いデータをキャッシュ
メモリに複写し、複写したデータへの再アクセスは磁気
ディスク装置上のデータをアクセスする代わりに、キャ
ッシュメモリ上から直接転送するものである。データは
LRU(Least Recently Used)アルゴリズムに基づき入
れ替えられるため、その時点でアクセス頻度が高いデー
タを保持する。アクセス頻度の高いデータは機械的な動
作が不要となり、I/O応答時間を大幅に短縮できる。
【0003】図2はキャッシュメモリを備えたディスク
制御装置(DCU)を含むシステムの構成図であり、1
0はホスト装置(CPU)、20a,20b,20c・
・・はホスト装置に設けられた複数のチャネル、30は
ディスク制御装置、40a〜40fは磁気ディスク装置
(DASD)である。ディスク制御装置において、31
a〜31c,31a′〜31c′は上位装置とのインタ
ーフェースを司るチャネルアダプタ(CA)、32a〜
32c,32a′〜32c′は磁気ディスク装置とのイ
ンターフェースを司るデバイスアダプタ(DA)、33
はキャッシュメモリ、34a,34a′はキャッシュメ
モリの管理及びヒット/ミス判定等の処理を行うキャッ
シュファンクションエンジン(CFE)、35a,35
a′は全体の資源管理及び処理動作に関する制御を行う
リソースマネージャ(RM)、36a,36a′は各ユ
ニットのIML(イニシャル・マイクロプログラム・ロ
ーデング)処理や状態監視処理、障害時のリカバリ処理
を行うサービスアダプタ、37a,37a′は各ユニッ
トの制御用マイクロプログラムを記憶する不揮発性のメ
モリ(PS)で、例えば磁気ディスク装置である。
【0004】各ユニットは相互にバス38a,38a′
で接続されており、各バス38a,38a′は図示しな
いがC-BUS,D-BUS,S-BUSを有している。C-BUSは各ユニッ
トがメッセージ通信及び制御情報のアクセスを行う制御
用バス、D-BUSは各ユニットがデータを授受するデータ
転送用バス、S-BUSはサービスアダプタ36a,36
a′がマスターになり、各ユニットの状況を管理するサ
ービスバスである。又、サービスアダプタ36a,36
a′には図示しないが操作パネルが接続されている。図
2のディスク制御装置では中央点線で左右に対称に構成
された二重化構成(G0は第1コントローラ側で0系,
G1は第2コントローラ側出1系)になっており、キャ
ッシュメモリ33は共通モジュールを構成している。C
PU10は所定のチャネルを介して第1コントローラ側
G0と第2コントローラ側G1側のチャネルアダプタに
適宜接続され、又、各ディスク装置(DASD)40a
〜40fは第1コントローラ側G0と第2コントローラ
側G1からアクセス可能になっている。従って、一方の
チャネルアダプタあるいはデバイスアダプタに障害が生
じてもCPUは他方のチャネルアダプタ、デバイスアダ
プタから磁気ディスク装置にアクセスすることができ
る。
【0005】チャネルアダプタ31a〜31c′、デバ
イスアダプタ32a〜32c′、キャッシュファンクシ
ョンエンジン34a〜34a′、リソースマネージャ3
5a〜35a′、サービスアダプタ36a,36a′は
それぞれマイクロプロセッサで構成されており、おおむ
ね図3に示す構成を備えている。図において、51はマ
イクロプロセッサ(MPU)、52はRAM構成の制御
記憶部(CS)、53はROM構成の制御記憶部(C
S)、54は内部バス38a,38a′に接続されたド
ライバ/レシーバ(DV/RV)、55はバスインター
フェースロジック(BIL)、56は外部インターフェ
ースと接続されたドライバ/レシーバ(DV/RV)、
57はバッファ又は制御テーブル記憶部(TS)、58
は個別LSI(ゲートアレイ)である。リソースマネー
ジャ35a,35a′の制御テーブル記憶部57には各
種制御テーブル、例えば排他管理テーブルEAT、パス
グループテーブルPGT、物理構成テーブルPCT等が
記憶される。
【0006】磁気ディスク装置の各トラック上にはCK
D形式(CKDフォーマット)に従ってデータが記憶さ
れている。図4はCKDフォーマットデータの説明図で
ある。トラック上には、ギャップで区切ったいくつかの
領域があり、先頭にはインデックスマークが付されてい
る。HAはホームアドレス領域であり、自分自身が存在
するトラックのアドレスを記述する領域であり、インデ
ックスマークの後に設けられている。ホームアドレス領
域の後にはカウント領域C、キー領域K、データ領域D
で構成されるレコードR0,R1,R2,・・・が複数
個書かれている。カウンタ領域Cには、トラックアドレ
ス(CCHH、CC:シリンダアドレス、HH:ヘッド
番号)、レコード番号R及び後に続くキー領域、データ
領域の長さなどが書かれている。従って、トラックアド
レスとレコード番号を指定することにより、個々のレコ
ードを指定することができる。キー領域Kには検索のた
めのキーが書かれるが必ずしも必要ではない。データ領
域Dには、ユーザデータが書かれている。
【0007】かかるディスク制御装置DCUによれば、
以下のようにデータの読み取り、書き込みが行われる。
図5及び図6はデータ読み取り時のレコードの流れの説
明図であり、図5はリードヒットしない場合(読み取る
レコードがキャッシュメモリに存在しない場合)、図6
はリードヒットした場合である。尚、キャッシュファン
クションエンジンCFE内蔵のバッファには、キャッシ
ュメモリCMに存在するレコードのアドレス(CCHH
R)と、該レコードが磁気ディスクDASDに保存され
ているか否かを示すフラグFLAG(1は非保存、0は
保存)が記憶されている。
【0008】チャネル装置CHよりシークコマンドSK
が発生すると、チャネルアダプタCAはシークコマンド
をコマンド待ち行列にキューイングし、しかる後、シー
ク動作が終了したように見せ掛けて動作終了信号をチャ
ネル装置CHに返す。チャネル装置CHはシーク動作終
了信号の受信により、セットセクタコマンドSSを発行
する。このコマンドを受信すると、チャネルアダプタC
Aはコマンド待ち行列にキューイングし、ついで、セッ
トセクタ動作が終了したように見せ掛けて動作終了信号
をチャネル装置CHに返す。チャネル装置CHはセット
セクタ動作終了信号の受信により、サーチIDコマンド
SIDを発行する。このコマンドを受信するとチャネル
アダプタCAはキャッシュファンクションエンジンCF
Eに要求されたアドレス(CCHHR)のレコードがキ
ャッシュメモリCMに存在するか問い合わせる。
【0009】要求されたレコードがキャッシュメモリC
Mに存在しなければ、チャネルアダプタCAはリソース
マネージャRMにその旨を通知すると共に、チャネル装
置CHを磁気ディスク制御装置DCUから切り離すため
にリトライ信号を発行する。尚、リトライ信号の受信に
より、チャネル装置CHは磁気ディスク制御装置DCU
から一時的に切り離れ、その間別の磁気ディスク制御装
置に対するサービス等を実行できる。又、チャネル装置
CHはリトライ信号を受信して切離れてから、次にコマ
ンド要求信号を受信した場合には、直前に発行したコマ
ンド(この例ではサーチIDコマンド)を再送するよう
になっている。リソースマネージャRMは排他制御テー
ブルを参照して対象となる磁気ディスクDAがアクセス
中でないことを確認し、所定のデバイスアダプタDAを
決定し、該デバイスアダプタの識別データをチャネルア
ダプタCAに通知、又該デバイスアダプタDAにチャネ
ルアダプタの識別データを通知する。
【0010】チャネルアダプタCAは通知されたデバイ
スアダプタDAにシークコマンドに含まれるCKDトラ
ック位置(CCHH)を渡してステージングを指示す
る。デバイスアダプタDAはステージングが指示される
と、指示された1CKDトラック(CCHH)分のデー
タを読み取りキャッシュメモリCMに書き込み(図5参
照)、書き込み後、ステージング終了をチャネルアダプ
タCAに通知する。これによりチャネルアダプタCAは
コマンド要求信号をチャネル装置CHに送出する。チャ
ネル装置CHはコマンド要求を受信すると、直前に発行
したサーチIDコマンドSIDを再度発行する。チャネ
ルアダプタCAはサーチIDコマンドSIDを受信すれ
ば、キャッシュメモリCM上で指示されたレコードの検
索を行い、検索終了によりサーチIDの動作終了信号を
チャネル装置CHに送る。チャネル装置CHはサーチI
Dの動作終了信号を受信すればリードコマンドRDを発
行する。チャネルアダプタCAはリードコマンドRDを
受信すれば、サーチしてあるレコードをキャッシュメモ
リCMから読み出してチャネル装置CHに転送する。
【0011】一方、サーチIDで要求されたレコードが
キャッシュメモリCMに存在すれば(リードヒット)、
チャネルアダプタCAはコマンド要求信号をチャネル装
置CHに送出する。チャネル装置CHはコマンド要求を
受信すると、リードコマンドRDを発行する。チャネル
アダプタCAはリードコマンドRDを受信すれば、要求
されたレコードをキャッシュメモリCMから読み出して
チャネル装置CHに転送する(図6参照)。
【0012】図7、図8はデータ書き込み時のデータの
流れの説明図であり、図7はライトスルーの場合、図8
はライトヒットの場合である。チャネル装置CHよりシ
ークコマンドSKが発生すると、チャネルアダプタCA
はシークコマンドをコマンド待ち行列にキューイング
し、しかる後、シーク動作が終了したように見せ掛けて
動作終了信号をチャネル装置CHに返す。チャネル装置
CHはシーク動作終了信号の受信により、セットセクタ
コマンドSSを発行する。このコマンドを受信すると、
チャネルアダプタCAはコマンド待ち行列にキューイン
グし、ついで、セットセクタ動作が終了したように見せ
掛けて動作終了信号をチャネル装置CHに返す。チャネ
ル装置CHはセットセクタ動作終了信号の受信により、
サーチIDコマンドSIDを発行する。このコマンドを
受信するとチャネルアダプタCAはキャッシュファンク
ションエンジンCFEに要求されたアドレス(CCHH
R)のレコードがキャッシュメモリCMに存在するか問
い合わせる。
【0013】要求されたレコードがキャッシュメモリC
Mに存在しなければ、チャネルアダプタCAはリソース
マネージャRMにその旨を通知すると共に、チャネル装
置CHを磁気ディスク制御装置DCUから切り離すため
にリトライ信号を発行する。尚、リトライ信号の受信に
より、チャネル装置CHは磁気ディスク制御装置DCU
から一時的に切り離れる。リソースマネージャRMは排
他制御テーブルを参照して対象となる磁気ディスクDA
がアクセス中でないことを確認し、所定のデバイスアダ
プタDAを決定し、該デバイスアダプタの識別データを
チャネルアダプタCAに通知、又該デバイスアダプタD
Aにチャネルアダプタの識別データを通知する。
【0014】チャネルアダプタCAは通知されたデバイ
スアダプタDAにシークコマンドに含まれる位置付けパ
ラメータ(CCHH)を渡して磁気ディスク装置DAS
Dをしてシーク動作を実行させ、シーク動作完了により
セットセクタコマンドに含まれる位置付けパラメータ
(セクタ値)を渡して同様に磁気ディスク装置DASD
にセットセクタ動作を実行させる。セットセクタ動作が
完了すれば、チャネルアダプタCAはチャネルコマンド
要求信号をチャネル装置に送る。チャネル装置CHはコ
マンド要求を受信すると、直前に発行したサーチIDコ
マンドSIDを再度発行する。チャネルアダプタCAは
サーチIDコマンドSIDを受信すれば、サーチIDの
パラメータ(レコード番号R)をデバイスアダプタDA
に渡して磁気ディスク装置DASDをしてサーチID動
作を実行させ、サーチ動作完了すれば動作終了信号をチ
ャネル装置CHに送る。
【0015】チャネル装置CHはサーチ動作終了信号を
受信すれば、ライトコマンドWDを発行する。チャネル
アダプタCAはライトコマンドを受信すれば、データ
(レコード)をキャッシュメモリCMに書き込むと共
に、デバイスアダプタDAを介して磁気ディスク装置D
ASDの指令アドレスCCHHRに書き込む(図7参
照)。尚、キャッシュファンクションエンジンCFEの
メモリには書き込まれたレコードのアドレスCCHHR
(フラグは0)が格納される。以上の処理はライトスル
ーとよばれる。このライトスルーでは磁気ディスク装置
DASDにキャッシュメモリと並行してレコードを書き
込むため、アクセス速度が遅い。このため、ディスク制
御装置DCUの内部に不揮発性メモリNVSを設け、該
キャッシュメモリ並行して不揮発性メモリに書き込んで
書き込み動作を終了するようにしてアクセスの高速化を
図ったディスク制御装置もある。
【0016】一方、サーチIDで要求されたアドレス
(CCHHR)のレコードがキャッシュメモリCMに存
在すれば(ライトヒット)、チャネルアダプタCAはコ
マンド要求信号をチャネル装置CHに送出する。チャネ
ル装置CHはコマンド要求を受信すると、ライトコマン
ドWDを発行する。チャネルアダプタCAはライトコマ
ンドWDを受信すれば、キャッシュメモリCMに記憶さ
れているCCHHRのレコードを書き替える(図8参
照)。この時、キャッシュファンクションエンジンCF
Eのメモリに記憶されているCCHHRに応じたフラグ
は1に変更される。以後、ディスク制御装置はホストと
の動作と関係なく、フラグが1のCCHHRのレコード
をキャッシュメモリCMから磁気ディスク装置DASD
に書き戻し(ライトバック)、書き戻しによりフラグを
0にする。
【0017】ライトヒット及びライトバック動作を行う
機能は高速書き込みモードとよばれる。この機能を実現
するためにはキャッシュメモリCMがバッテリーバック
アップされていなくてはならない。なぜならば、不用意
な電源断の際にキャッシュメモリ上のまだライトバック
動作が行われていないデータが失われてしまうからであ
る。
【0018】図9はバッテリーバックアップ用のバッテ
リーユニットを付加したディスク制御装置DCUの構成
図である。尚、図2と同一部分には同一符号を付し、
又、一部構成要素を省略して示してある。図中、39
a,39a′はユニットパワーコントローラ(UPC:
電源制御部)、39cはバッテリーユニット(BTU)
である。0系(G0)のユニットパワーコントローラ3
9aは電源スイッチオン・オフに基づいて0系側の各ユ
ニット及びキャッシュメモリ33への電源投入、切断を
制御し、電源オン・オフを示すパワー状態信号PWCを
バッテリーユニット39cに入力する。同様に、1系
(G1)のユニットパワーコントローラ39a′は電源
スイッチオン・オフに基づいて1系側の各ユニット及び
キャッシュメモリ33への電源投入、切断を制御し、電
源オン・オフを示すパワー状態信号PWC′をバッテリ
ーユニット39cに入力する。バッテリーユニット39
cはパワー状態信号PWC,PWC′を参照し、両系の
電源が共にオフの場合にのみキャッシュメモリ33にバ
ッテリー電圧を供給し、その記憶状態を保持する。
【0019】さて、オペレーティングシステム(OS)
がCKDフォーマットによってデータをハンドリングす
る場合、ディスク制御装置DCUにはCKDフォーマッ
トを前提としたディスク装置(CKDディスク装置)し
か接続できない。ところが、近年、SCSI等のインタ
フェースを保持するFBA(Fixed BlockArchitecture)
ディスク装置の容量が技術の進歩に伴って飛躍的に大き
くなり、従来のCKDディスク装置並みの容量を実現し
つつある。FBAフォーマットは図10に示すように、
全ての論理ブロック(FBAブロック)の長さが等し
く、1CKDトラックを所定数のFBAブロックに分割
したものである。各FBAブロックは固有の認識番号
1、2、・・・を有し、その先頭には64バイトのCK
D・FBAフォーマット変換(COF変換:CKD O
N FBA)用のID部が設けられている。又、各FB
Aブロックの前にはFBAブロックアドレス(FBAブ
ロックの識別番号)を記憶するID部(FBA用ブロッ
クID部)が設けられている。かかるFBAディスク装
置は小型で価格も安く、大型計算機システムの外部装置
としても十分使用できる性能を保持する。
【0020】
【発明が解決しようとする課題】CKD制御方式で上位
装置がデータをハンドリングするシステムにFBAディ
スク装置を適用できるようにするためには、上位装置か
ら転送されるCKDフォーマットデータをディスク制御
装置内でFBAフォーマットに変換する必要がある(図
11参照)。又、SCSIインターフェースを経由して
FBAディスクからFBAデータを読み取った場合、該
FBAデータをCKDフォーマットに変換したあと、上
位装置に転送する必要がある。しかし、従来、CKD・
FBAフォーマット変換(COF変換)を行う有効な方
法がなかった。特に、CKDディスク装置を用いる場
合、ディスク制御装置は上位装置よりのシークコマン
ド、セットセクタコマンド、サーチIDコマンドに応じ
た位置付け動作を行ってレコードを読み取るようにして
いるが、FBAディスク装置を用いる場合シークコマン
ド、セットセクタコマンド、サーチIDコマンドにより
CKDディスクの場合と同様の制御を行うことができな
かった。
【0021】又、CKD・FBAフォーマットの相互変
換(COF変換:CKD ON FBA)においては、書
き込み、あるいは読み取りデータをキャッシュメモリ上
に展開し、しかる後COF変換し、上位装置へデータを
転送する時はデバイスアダプタDAがチャネルアダプタ
CAに転送を許可し、FBAディスクへデータを転送す
る時はチャネルアダプタCAがデバイスアダプタDAに
転送許可を出すようにしている。しかし、かかる方法で
は、CKDディスク装置で可能であった並行転送(デバ
イスアダプタDAとキャッシュメモリCM間のデータ転
送と、キャッシュメモリCMとチャネルアダプタCA間
のデータ転送)が不可能となる問題がある。また、その
ような方法ではレスポンス時間が大幅にかかってしま
い、結果的に全体の処理時間が大幅にかかりシステムと
しての性能低下に繋がる問題が生じていた。
【0022】更に、従来のキャッシュメモリのバックア
ップ制御においては、0系、1系の電源が切断されると
キャッシュメモリにバックアップすべきデータが存在し
ているか否かに関係なく、常にキャッシュメモリをバッ
テリーバックアップしている。しかし、かかるバッテリ
ーバックアップ方法では、電源が投入された時バッテリ
ーが消耗していることが多く、バッテリーの充電が完了
するまでは高速書き込みモードを使用できず、ライト・
スルーモードのみで動作しなくてはならない問題があっ
た。
【0023】又、ディスク制御装置の高機能化及びRA
S性能の向上のために、制御装置の二重化が図られてい
る。かかる二重化構成により、一方の制御系がダウンし
ても他方の制御系で運用が続行可能となる。例えば、上
位装置は0系、1系のチャネルアダプタに接続されてい
るため、一方のチャネルアダプタが障害によりダウンし
ても他方のチャネルアダプタを介して磁気ディスク装置
にアクセスできる。又、0系、1系のデバイスアダプタ
は同じ磁気ディスク装置にアクセスできるようになって
おり、このため、一方のデバイスアダプタがダウンして
も他方のデバイスアダプタを介して磁気ディスク装置に
アクセスできる。
【0024】しかし、ジョブの制御、ディスク制御装置
内の資源の管理制御、制御装置配下のデバイスの情報を
制御するリソースマネージャRMにおいては、本来の意
味における二重化がとられていない。すなわち、両系の
制御テーブル記憶部に保持されている各種テーブルや制
御情報が互いに異なっており、一方のリソースマネージ
ャがダウンした場合に他方の系のリソースマネージャで
代行することができない。そこで、両系のリソースマネ
ージャにおける制御情報(ホスト側からの仕事の内容・
順番・制御情報、制御装置内の資源情報、各々のデバイ
スにおける状態等)の同一化を図るために常に更新を行
うことが考えられる。両系が正常に動作している場合
は、かかる方法でよいが、装置の立ち上げ時、片系の電
源ダウン時、片系の立ち上げ時、制御情報(制御テーブ
ル)の初期化中、更には相手側との更新不通時における
自系の制御情報(制御テーブル)の更新、初期化をいか
に行うかが問題になる。
【0025】以上から本発明の目的は、第1、第2の系に
共通に設けられたキャッシュメモリ上にバックアップす
べきデータが存在する場合のみキャッシュメモリをバッ
クアップし、これによりバッテリーの消耗を防止し、電
源投入時に直ちに高速書き込みモードを使用できるディ
スク制御装置の制御方法を提供することである。
【課題を解決するための手段】上記課題は本発明によれ
ば、上位装置とのインターフェースを司るチャネルアダ
プタと、ディスク装置とのインターフェースを司るデバ
イスアダプタと、をそれぞれ有する第1及び第2の制御
系と、前記第1の制御系の電源管理を行なう第1の保守
手段と、前記第2の制御系の電源管理を行なう第2の保
守手段と、前記第1の制御系に電力を供給する第1の電
源供給手段と、前記第2の制御系に電力を供給する第2
の電源供給手段と、前記第1及び第2の制御系から共用
され、前記第1の電源供給手段と前記第2の電源供給手
段とから電力の供給を受けるキャッシュメモリと、前記
キャッシュメモリに電力を供給するバッテリーユニット
と、を備えたディスク制御装置により達成される。
【作用】前記第1の保守手段は、前記第1の制御系の電
源断時、前記第1の制御系に関係するキャッシュメモリ
の記憶データがディスクに保存されたか否かを記憶し、
前記第2の制御系の電源断時、前記第2の制御系に関係
するキャッシュメモリの記憶データがディスクに保存さ
れたか否かを判断し、保存されている場合には、前記第
1の制御系の保存の有無に基づいてキャッシュメモリの
バッテリーバックアップの必要性を判定し、保存されて
いない場合には第1の制御系の保存の有無に関係なくキ
ャッシュメモリをバッテリーバックアップする。このよ
うにすれば、バッテリーユニットはキャッシュメモリ上
にバックアップすべきデータが存在する場合のみキャッ
シュメモリをバックアップし、これによりバッテリーの
消耗を防止でき、従って電源投入時に直ちに高速書き込
みモードを利用できる。
【0026】
【実施例】・1系統のキャッシュメモリのバックアップ
原理 図1は1系統のキャッシュメモリのバックアップ原理説明
図である。11は上位装置、30はディスク制御装置
(DCU)、40aはFBAフォーマット形式でデータ
を読み書きする磁気ディスク装置(DASD)である。
31aは上位装置とのインターフェースを司るチャネル
アダプタ(CA)、32aは磁気ディスク装置とのイン
ターフェースを司るデバイスアダプタ(DA)、33は
キャッシュメモリ、35aは全体の資源管理及び各種処
理動作を制御するリソースマネージャ、39cはキャッ
シュメモリ33をバッテリーバックアップするバッテリ
ーユニット(BTU)である。
【0027】FBAブロックの固定位置(先頭)に、該
FBAブロックに含まれるレコードの番号と該レコード
位置との対応関係を示すID部を持たせる。上位装置1
1からCKDフォーマットで位置付けコマンド(シーク
コマンド、サーチコマンド)が指令された時、デバイス
アダプタ32aはシークコマンドのパラメータ値(CK
Dトラック番号CCHH)に対応するFBAブロック番
号を求め、該番号のFBAブロック位置にヘッドを位置
付けする。ついで、セットセクタコマンドのパラメタ値
(セクタ値)に対応するFBAブロック番号を求め、該
FBAブロック番号が指示するFBAブロックから同一
CKDトラック内の最後のブロックまでを読み取ってキ
ャッシュメモリ33に展開する。しかる後、チャネルア
ダプタ31aはキャッシュメモリ33上で上位装置11
から指令されたレコードをID部に記録されている対応
関係を参照して検索する。そして、チャネルアダプタ3
1aはデータ読み取りの場合には、検索したCKDレコ
ードをキャッシュメモリ33から読み取って上位装置1
1へ転送する。又、データ書き込みの場合には、キャッ
シュメモリ上でレコードを書き替え、しかる後、書き替
えレコードをFBAブロック単位でFBAディスク装置
40aに書き込む。
【0028】又、デバイスアダプタ32aはFBAブロ
ック番号が指示するFBAブロックから1CKDトラッ
ク分のブロックを読み取って内蔵のバッファに記憶しつ
つ、該バッファより1FBAブロックづつキャッシュメ
モリ33に展開し、キャッシュメモリ33に1FBAブ
ロック分のデータの記憶が完了する毎に完了通知を出
す。チャネルアダプタ31aは完了通知が出される毎に
キャッシュメモリ33上で上位装置から指令されたレコ
ードを検索し、存在する場合にはキャッシュメモリ33
からレコードを読み出して上位装置11へ転送する。こ
れにより、FBAディスク装置の場合でもCKDディス
ク装置の場合と同様のデータ転送制御(並行転送制御)
ができる
【0029】更に、バッテリーユニット39cは、電源
断時、キャッシュメモリ33に記憶されているデータが
ディスク装置40aに保存されたか否かを判断し、保存
されていない場合にはキャッシュメモリをバッテリーバ
ックアップし、保存されている場合にはバッテリーバッ
クアップしないようにする。又、ディスク制御装置30
が二重化され、第1、第2の系に共通にキャッシュメモ
リ33が設けられている場合、バッテリーユニット39
cは一方の系の電源断時、該一方の系に関係するキャッ
シュメモリの記憶データがディスク装置に保存されたか
否かを記憶し、他方の系の電源断時、該他方の系に関係
するキャッシュメモリの記憶データがディスク装置に保
存されたか否かを判断し、保存されている場合には、一
方の系の保存の有無に基づいてキャッシュメモリのバッ
テリーバックアップの必要性を判定し、保存されていな
い場合には一方の系の保存の有無に関係なくキャッシュ
メモリをバッテリーバックアップする。以上により、バ
ッテリーユニット39cはキャッシュメモリ33上にバ
ックアップすべきデータが存在する場合のみキャッシュ
メモリをバックアップし、これによりバッテリーの消耗
を防止でき、従って電源投入時に直ちに高速書き込みモ
ードを利用できる。
【0030】(a)本発明の第1の実施例 図12はFBAディスク装置の場合でも、CKDディスク
装置の場合と同様の位置付け制御、データ検索制御を行
う本発明の第1の実施例構成図である。尚、説明を簡単
にするために、チャネルアダプタ、デバイスアダプタは
1個のみ示し、又バス線も1つのみ示す。図中、10は
CKD形式でデータを扱うOSを備えたホスト装置(C
PU)、20aはチャネル(CH)、30はディスク制
御装置(DCU)、40aはFBAフォーマットでデー
タの読み/書きを行う磁気ディスク装置(DASD)で
ある。
【0031】ディスク制御装置30において、31aは
上位装置とのインターフェースを司るチャネルアダプタ
(CA)、32aは磁気ディスク装置40aとのインタ
ーフェースを司るデバイスアダプタ(DA)、33はキ
ャッシュメモリ、34aはキャッシュメモリの管理及び
ヒット/ミス判定等の処理を行うキャッシュファンクシ
ョンエンジン(CFE)、35aは全体の資源管理及び
処理動作に関する制御を行うリソースマネージャ(R
M)、36aは各ユニットのIML処理や各種状態監視
処理、障害時のリカバリ処理を行うサービスアダプタ、
37aは各ユニットの制御用マイクロプログラムや制御
テーブル類を記憶する不揮発性メモリ、38aはバス
線、39dは操作パネルである。各ユニットは相互にバ
ス38aで接続されており、各バス38aは図示しない
がC-BUS,D-BUS,S-BUSを有している。
【0032】チャネルアダプタ31a、デバイスアダプ
タ32a、キャッシュファンクションエンジン34a、
リソースマネージャ35aはそれぞれマイクロプロセッ
サで構成されており、初期時、サービスアダプタSAの
制御でメモリ37aより制御用マイクロプログラムや制
御テーブル類がローデングされる(IML)。
【0033】磁気ディスク装置40aにはキャッシュメ
モリ33を介してFBAブロック単位でデータの読み/
書きが行われる。この場合、図13に示すように、各C
KDレコードは物理トラック上のインデックスからのバ
イト位置をBiとすれば、キャッシュメモリ上でもメモ
リ先頭から同じバイト位置Biに置かれる。ただし、F
BAブロックに分割したとき、それぞれのFBAブロッ
クの先頭にID部(例えばFBA用ブロックID及び6
4バイトのCOF用ID)を挿入する。又、実トラック
上のギャップに関しても同じ長さのダミーデータをキャ
ッシュメモリ上に設ける。各FBAブロックは図14に
示すように物理トラック長をn分割した同一の長さを備
え、前述のように先頭に64バイトのCOF用ID部及
びFBA用ブロックID部を有している。64バイトの
COF用ID部は以下に示す内容を有している。
【0034】すなわち、ID部には 当該FBAブロックに格納されるCKDトラックの先
頭セクタ値、 ブロック固有の情報(例えば当該ブロックに有効なレ
コードが存在する等)を格納するブロックフラグ、 トラック固有の情報(例えば、正常トラック、交替ト
ラック、不良トラック、欠陥交替トラック等)を格納す
るトラックフラグ、 当該ブロックのCKDトラックにおける論理CCH
H、 交替されるCKDトラックの論理CCHH又は不良ト
ラックの論理CCHH(ALT CCHH)、 当該ブロックに存在する個々のレコードの番号、 当該ブロックに存在する個々のレコードの情報(レコ
ードディスクリプタ)及び当該ブロックに格納されてい
るCKDトラックデータ(CCHH)の先頭からカウン
ト/HA(Home Address)/EOT(End of track)まで
のバイト数(レコードポインタ)が記録される。レコー
ドディスクリプタのBit15〜Bit9は以下の意味
を有し、その他のビットは未使用あるいはその他の用途
に用いられる。
【0035】 Bit15:標準レコード(物理CCHHと論理CCH
Hの値が一致するレコー ド)である Bit14:HAフィ−ルドである Bit13:EOTフィ−ルドである Bit12:レコードがこのブロックに収まっている Bit11:カウント部の書き込みで中断が発生した Bit10:キー部の書き込みで中断が発生した Bit9:データ部の書き込みで中断が発生した 以上のような方法で、データ(レコード)をFBAブロ
ック化してキャッシュメモリ33上に展開することによ
りFBAディスクに対してデータの書き込みあるいは読
み取りを1FBAブロック単位で行う。すなわち、ライ
ト動作時、デバイスアダプタ32aはID部を先頭と
し、次ぎのID部直前までのデータを1FBAブロック
として必要なブロックをディスク装置に書き込むことが
できる。又、リード動作時、デバイスアダプタ32aは
セットセクタで指定されたパラメタ値(セクタ値)に基
づいて、リードすべきFBAブロックをFBAディスク
装置40aより読み取ってキャッシュメモリ33上に展
開する。しかる後、チャネルアダプタ31aは展開され
たデータのID部を解析し、上位装置が要求しているフ
ィールドのデータだけを転送する。以下、データの読み
取り及び書き込みについて詳細に説明する。
【0036】データの読み取り 図15は本発明によるデータ読み取りの説明図である。
チャネル装置20aよりシークコマンドSKが発生する
と、チャネルアダプタ31aはシークコマンドをコマン
ド待ち行列にキューイングし、しかる後、シーク動作が
終了したように見せ掛けて動作終了信号をチャネル装置
20aに返す。チャネル装置20aはシーク動作終了信
号の受信により、セットセクタコマンドSSを発行す
る。このコマンドを受信すると、チャネルアダプタ31
aはコマンド待ち行列にキューイングし、ついで、セッ
トセクタ動作が終了したように見せ掛けて動作終了信号
をチャネル装置CHに返す。チャネル装置20aはセッ
トセクタ動作終了信号の受信により、サーチIDコマン
ドSIDを発行する。このコマンドを受信するとチャネ
ルアダプタ31aはキャッシュファンクションエンジン
34aに要求されたアドレス(CCHHR)のレコード
がキャッシュメモリ33に存在するか問い合わせる(ヒ
ット問い合わせ)。
【0037】要求されたレコードがキャッシュメモリ3
3に存在しなければ(NOT HIT)、チャネルアダ
プタ31aはリソースマネージャ35aにその旨を通知
すると共に、チャネル装置20aを磁気ディスク制御装
置30から切り離すためにリトライ信号を発行する。リ
ソースマネージャ35aは内蔵のテーブル記憶部に記憶
されている排他制御テーブルECTを参照して対象とな
る磁気ディスク装置40aがアクセス中でないことを確
認し、所定のデバイスアダプタ32aを決定し、該デバ
イスアダプタの識別データをチャネルアダプタ31aに
通知し、又、該デバイスアダプタ32aにチャネルアダ
プタ31aの識別データを通知する。
【0038】チャネルアダプタ31aは通知されたデバ
イスアダプタ32aにシークコマンドに含まれるCKD
トラック位置(CCHH)を渡し、シーク動作を指令す
る。デバイスアダプタ32aはシーク指令を受信する
と、次式によりCKDトラックCCHHの先頭FBAブ
ロック番号Xを演算する。 X=[(M−1)・(ヘッド本数)+N]・B ・・・(1) ただし、(1)式において、M=CC,N=HH、Bは1
CKDトラックに含まれるFBAブロック数である。
【0039】デバイスアダプタ32aは先頭FBAブロ
ック番号が求まれば、磁気ディスク装置40aに対して
SCSIインターフェースを介してヘッドを先頭ブロッ
クに位置付けするためのシーク動作を指令する。そし
て、磁気ディスク装置40aよりシーク指令に対する位
置付け完了信号を受信すれば、その旨をチャネルアダプ
タ31aに通知する。これにより、チャネルアダプタ3
1aはデバイスアダプタ32aにセットセクタコマンド
に含まれるセクタ値(S)を渡し、セットセクタ動作を
指令する。デバイスアダプタ32aはセットセクタ指令
を受信すると、次式により指示されたセクタに記録され
ている先頭のFBAブロック番号Yを演算する。 y=S・(1セクタのバイト長)/1FBAのバイト長 ・・・(2) (ただし、yはトラック先頭からのFBAブロック数) Y=X+[y] ・・・(3) ([y]は小数点を切り上げた整数)
【0040】ついで、デバイスアダプタ32aは磁気デ
ィスク装置40aに対してSCSIインターフェースを
介してヘッドをブロック番号YのFBAブロックに位置
付けするためのセットセクタ動作を指令する。そして、
磁気ディスク装置40aよりセットセクタ指令に対する
位置付け完了信号を受信すれば、磁気ディスク装置40
aに1CKDブロック分(例えばEOTを含むブロック
迄)の読み取りを指示し、読み取られたFBAブロック
をキャッシュメモリ33に書き込む(ステージング、図
13参照)。この際、キャッシュファンクションエンジ
ン34a内蔵のメモリには、各FBAブロックのID部
に記録されているレコードのアドレスCCHHRが格納
される。
【0041】キャッシュメモリ33への書き込みが終了
すれば、デバイスアダプタ32aはステージング終了を
チャネルアダプタ31aに通知する。これによりチャネ
ルアダプタ31aはコマンド要求信号をチャネル装置2
0aに送出する。チャネル装置20aはコマンド要求を
受信すると、直前に発行したサーチIDコマンドSID
を再度発行する。チャネルアダプタ31aはサーチID
コマンドSIDを受信すれば、ID情報(レコード番号
とポインタ)を参照してキャッシュメモリCM上で指示
されたレコードの検索を行い、検索終了によりサーチI
Dの動作終了信号をチャネル装置20aに送る。チャネ
ル装置20aはサーチIDの動作終了信号を受信すれば
リードコマンドRDを発行する。チャネルアダプタ31
aはリードコマンドRDを受信すれば、サーチしてある
レコードをキャッシュメモリ33からダイレクトに読み
出してチャネル装置20aに転送し、転送動作が終了す
れば、正常終了ステータスを報告する。
【0042】一方、サーチIDで要求されたレコードが
キャッシュメモリCMに存在すれば(リードヒット)、
チャネルアダプタ31aはコマンド要求信号をチャネル
装置20aに送出する。チャネル装置20aはコマンド
要求を受信すると、直前に発行したサーチIDコマンド
SIDを再度発行する。チャネルアダプタ31aはサー
チIDコマンドSIDを受信すれば、ID情報を参照し
てキャッシュメモリCM上で指示されたレコードの検索
を行い、検索終了によりサーチIDの動作終了信号をチ
ャネル装置20aに送る。チャネル装置20aはサーチ
IDの動作終了信号を受信すればリードコマンドRDを
発行する。チャネルアダプタCAはリードコマンドRD
を受信すれば、要求されたレコードをキャッシュメモリ
CMから読み出してチャネル装置CHに転送し、転送動
作終了後正常終了ステータスを報告する。
【0043】データの書き込み 図16はデータの書き変え手順の説明図である。チャネ
ル装置20aよりシークコマンドSKが発生すると、チ
ャネルアダプタ31aはシークコマンドをコマンド待ち
行列にキューイングし、しかる後、シーク動作が終了し
たように見せ掛けて動作終了信号をチャネル装置20a
に返す。チャネル装置20aはシーク動作終了信号の受
信により、セットセクタコマンドSSを発行する。この
コマンドを受信すると、チャネルアダプタ31aはコマ
ンド待ち行列にキューイングし、ついで、セットセクタ
動作が終了したように見せ掛けて動作終了信号をチャネ
ル装置CHに返す。チャネル装置20aはセットセクタ
動作終了信号の受信により、サーチIDコマンドSID
を発行する。このコマンドを受信するとチャネルアダプ
タ31aはキャッシュファンクションエンジン34aに
要求されたアドレス(CCHHR)のレコードがキャッ
シュメモリ33に存在するか問い合わせる(ヒット問い
合わせ)。
【0044】要求されたレコードがキャッシュメモリ3
3に存在しなければ、チャネルアダプタ31aはリソー
スマネージャ35aにその旨を通知すると共に、チャネ
ル装置20aを磁気ディスク制御装置30から切り離す
ためにリトライ信号を発行する。以後、図15と同様の
ステージング処理が実行される。ステージングが終了す
れば、デバイスアダプタ32aはステージング終了をチ
ャネルアダプタ31aに通知する。これによりチャネル
アダプタ31aはコマンド要求信号をチャネル装置20
aに送出する。チャネル装置20aはコマンド要求を受
信すると、直前に発行したサーチIDコマンドSIDを
再度発行する。チャネルアダプタ31aはサーチIDコ
マンドSIDを受信すれば、ID情報を参照してキャッ
シュメモリCM上で指示されたレコードの検索を行い、
検索終了によりサーチIDの動作終了信号をチャネル装
置20aに送る。
【0045】チャネル装置20aはサーチIDの動作終
了信号を受信すればライトコマンドWDを発行する。チ
ャネルアダプタ31aはライトコマンドWDを受信すれ
ば、サーチしてあるレコードをライトコマンドに付随す
るレコードでダイレクトに書き替え、書き替え終了後チ
ャネル装置に正常終了ステータスを報告する。又、キャ
ッシュファンクションエンジンCFEは書き替えレコー
ドのアドレスCCHHRに対応するフラグを”1”にす
る。又、以上と並行してディスク制御装置30内蔵の図
示しない不揮発性メモリ(NVS)にライトレコードが
書き込まれる。これは、何等の原因でキャッシュメモリ
33の内容が磁気ディスク装置40aに保存される前に
消失するのを防止するためである。
【0046】以後、デバイスアダプタ32aはホストの
動作と関係なく、フラグが1のCCHHRのレコードを
含むFBAブロックをキャッシュメモリ33から読み取
って磁気ディスク装置DASDに転送し、所定の位置に
書き込ませる(ライトバック)。この場合、キャッシュ
ファンクションエンジン34aは該レコードアドレスC
CHHRのフラグを0にする。一方、サーチIDで要求
されたレコードがキャッシュメモリ33に存在すれば
(ライトヒット)、チャネルアダプタ31aはコマンド
要求信号をチャネル装置20aに送出する。チャネル装
置20aはコマンド要求を受信すると、直前に発行した
サーチIDコマンドSIDを再度発行する。チャネルア
ダプタ31aはサーチIDコマンドSIDを受信すれ
ば、ID情報を参照してキャッシュメモリCM上で指示
されたレコードの検索を行い、検索終了によりサーチI
Dの動作終了信号をチャネル装置20aに送る。チャネ
ル装置20aはサーチIDの動作終了信号を受信すれば
ライトコマンドWDを発行する。以後、前述の場合と同
様に書き替え処理が行われる。
【0047】(b) 本発明の第2の実施例 第1の実施例では、デバイスアダプタが1CKDトラッ
ク分のFBAブロック1〜nをFBAディスク装置より
読み出してキャッシュメモリに展開し、しかる後、チャ
ネルアダプタがキャッシュメモリより所望のレコードを
検索してチャネル装置に転送するものとして説明した。
しかし、このような直列的なデータ転送ではレスポンス
時間がかかる。このため、第2の実施例ではキャッシュ
メモリへのFBAブロックの書き込みとキャッシュメモ
リからのデータの読み出しを並行的に実行するようにし
ている。
【0048】図17は本発明の第2の実施例の要部構成
図であり、30はディスク制御装置、31aはチャネル
アダプタ、32aはデバイスアダプタ、CBUSはコン
トロールバス、DBUSはデータバスである。チャネル
アダプタ31aにおいて、CICRはチャネルとの間で
データ転送を行う際のデータ送信・受信用のレジスタ、
CBCRはバスを介してデータ転送を行う際のデータ送
信・受信用のレジスタ、BCAはチャネルアダプタのデ
ータバッファである。デバイスアダプタ32aにおい
て、DICRはFBAディスク装置との間でデータ転送
を行う際のデータ送信・受信用のレジスタ、DBCRは
バスを介してデータ転送を行う際のデータ送信・受信用
のレジスタ、BDAはデバイスアダプタのデータバッフ
ァである。キャッシュメモリ33において、PTA、P
TBは複数のメモリアクセスポート、CTMは制御テー
ブル、CMBはキャッシュメモリ本体部である。キャッ
シュメモリ33はデュアルポートRAMのように複数の
アクセスポートPTA,PTBを備え、各々のポートよ
り同時にデータの書き込み、読み出しが可能となるよう
に構成されている。
【0049】デバイスアダプタ32aは位置付けコマン
ド(シーク、セットセクタ)により1CKDトラック分
のFBAブロック(EOTを含むブロックまで)を磁気
ディスク装置40aより読み取ってデータバッファBD
Aに記憶しつつ、該データバッファより1FBAブロッ
クづつキャッシュメモリ33に展開する。そして、キャ
ッシュメモリに1FBAブロック分のデータを記憶する
毎に記憶完了をキャッシュメモリ上に設けた制御テーブ
ルCTMに書き込む。チャネルアダプタ31aは制御テ
ーブルCTMを参照して1FBAブロックの書き込み完
了を識別する。1FBAブロックのキャッシュメモリ3
3への書き込み完了毎にチャネルアダプタ31aは上位
装置より指示されたレコードがキャッシュメモリに存在
するか否かをFBAブロック先頭のID部を参照して検
索し、存在する場合にはキャッシュメモリ33からレコ
ードを読み出して上位装置へ転送する。
【0050】図18は本発明の第2実施例の動作説明用
の構成図であり、図17と同一部分には同一符号を付し
ている。CPUはプロセッサであり、レジスタREGA
〜REGDを備えている。レジスタREGAにはキャッ
シュメモリ33に転送するデータワード数M(1FBA
ブロックのワード数)が記憶され、データバッファBD
Aからキャッシュメモリ33に1ワード分のデータが転
送される毎に1づつ減算され、零になる再びMがセット
される。レジスタREGBには、キャッシュメモリ33
に転送するデータが記憶されているデータバッファBD
Aのアドレスを示すポインタPが記憶され、1ワード転
送する毎に次のアドレスを指すようにポインタが更新さ
れる。レジスタREGCにはデータバッファBDAに記
憶する1CKDブロック分のデータワード数Nが記憶さ
れ、1ワードのデータがデータバッファに記憶される毎
にその内容を減算する。レジスタREGDにはFBAデ
ィスク40aから読み取ったデータを格納すべきデータ
バッファBDAのアドレスを示すポインタQが記憶さ
れ、1ワード記憶する毎に次のアドレスを指すようにな
っている。
【0051】図19はデバイスアダプタのFBAブロッ
ク転送処理の流れ図、図20はチャネルアダプタのレコ
ード読み取り処理の流れ図である。デバイスアダプタ3
2aは、FBAディスク装置40aよりデータを受信す
るに先立って、各レジスタREGA〜REGDにM,
P,N,Qを設定する(ステップ101)。以後、デバ
イスアダプタ32aはFBAディスク装置40aから受
信したFBAブロック1〜nのデータをデータバッファ
BDAに連続して記憶すると共に、1ワード記憶する毎
に、Qを歩進し、Nをカウントダウンする(ステップ1
02)。以後、N=0となるまでデータバッファBDA
への書き込みを行う。以上と並行して、データバッファ
BDAからキャッシュメモリ33へ1FBAブロック分
のデータを1ワードづつ転送すると共にMをカウントダ
ウン、Pを歩進する(ステップ103)。ついで、レジ
スタREGAの計数値Mが0になったかチェックし(ス
テップ104)、0でなければ、エラーが発生したチェ
ックする(ステップ105)。
【0052】エラーが発生することなく、M=0になれ
ば、換言すれば、最初の1FBAブロック分のデータの
キャッシュメモリ33への転送が完了すれば、デバイス
アダプタ32aは制御テーブルCTMに、今転送した第
1FBAブロックの上位装置への転送許可を設定する
(ステップ106)。尚、制御テーブルCTMには「転
送許可」としてキャッシュメモリ33に記憶したFBA
ブロックの順番B(1CKDトラックの先頭からの番
号)を記憶する。
【0053】ついで、1CKDトラック分のデータをキ
ャッシュメモリに転送したか調べ(ステップ107)、
転送してなければ、キャッシュメモリに転送したのは最
初のブロック(B=1)かチェックする(ステップ10
8)。最初のブロックでなければ、直ちにレジスタRE
GAの計数値Mとして1FBAブロックのワード数をセ
ットする(ステップ109)。一方、最初のブロックで
あれば、チャネルアダプタ31aにキャッシュメモリ3
3へのデータ転送開始を通知し(ステップ110)、レ
ジスタREGAの計数値Mとして1FBAブロックのワ
ード数をセットし(ステップ109)、以後、ステップ
102に戻り以降の処理を繰り返す。すなわち、第2ブ
ロックをキャッシュメモリ33に転送し、転送終了後、
制御テーブルCTMに第2ブロックの転送許可(B=
2)をセットし、第3ブロックのキャッシュメモリ33
への転送を開始する。
【0054】以上の制御をFBAディスク装置40aか
ら受け取った全ブロックをキャッシュメモリ33に転送
完了するまで行ない、全ブロックのキャッシュメモリへ
の転送終了により(ステップ111)、転送処理を終了
する。一方、ステップ105においてエラーの発生を検
出するとデータ転送を停止する(ステップ112)。上
記エラーはFBAディスク40aからデバイスアダプタ
32aへの転送時に検出されるエラーであり、FBA
ディスク装置40aがブロック転送に係るデータチェッ
クエラーを検出した場合、あるいは、デバイスアダプ
タ32aがそのブロックの取り込みでパリテイエラーを
検出した場合、それぞれエラー発生となる。尚、FBA
ディスク装置から第3番目のFBAブロックを受信して
いる際にエラーが検出されたものとする。
【0055】デバイスアダプタ32aはレジスタREG
A,REGC,REGDに初期値M,N,Qを再セット
してFBAディスクスイッチ40aから再びデータをも
らいなおす(ステップ102)。この際、FBAディス
ク装置40aは第3ブロック(B=3)からでなく第1
ブロック(B=1)から、すなわち、デバイスアダプタ
32aが要求したデータの先頭からデータを転送してく
る。又、デバイスアダプタ32aは既にキャッシュメモ
リ33に転送したブロックの再転送を抑止するために、
レジスタREGBには第3番目のブロックのデータバッ
ファBDAにおける開始アドレスX'0000BBBB'をセット
する。これにより、FBAディスク装置40aからデー
タバッファBDAには第1ブロックよりデータ転送・格
納が行われるが、データバッファBDAからキャッシュ
メモリ33へは第3ブロック、すなわち、エラーが検出
された時のブロックからのデータ転送が行われる。
【0056】一方、チャネルアダプタ31aはステップ
110において、デバイスアダプタ32aからキャッシ
ュメモリへのデータ転送開始通知を受信すると(ステッ
プ201)、制御テーブルCTMを読み込み(ステップ
202)、転送可能なブロックが存在するか調べる(ス
テップ203)。例えば、チャネルアダプタ31aはブ
ロック番号bとして初期値0を有している。従って、自
己の保持しているブロック番号bと制御テーブルCTS
に記憶されているブロック番号Bを比較し、b<Bのと
き、転送可能なブロックが存在するものとする。転送可
能なブロックが存在しなければ、ステップ202に飛
び、以後、転送可能なブロックがキャッシュメモリ33
に格納されるのを監視する。
【0057】転送可能なブロックが存在すれば、チャネ
ルアダプタ31aはb+1→bとすると共に、チャネル
よりコマンド(例えばリードコマンド)を受信する(ス
テップ204)。ついで、キャッシュメモリ33に転送
されたブロック内に目的とするCKDレコードが存在す
るか調べる(ステップ205)。存在しなければ、制御
テーブルCTMを読み込み(ステップ206)、転送可
能なブロックが存在しているか調べ(ステップ20
7)、存在してなければステップ206以降の処理を繰
り返し、転送可能なブロックがキャッシュメモリ33に
格納されるのを監視する。そして、転送可能なブロック
がキャッシュメモリに書き込まれればステップ205に
飛び、目的とするレコードが存在するか調べる。存在し
なければステップ206以降の処理が繰り返され、存在
すれば、該レコードを上位装置に転送する(ステップ2
08)。
【0058】ついで、コマンドチェインが終了したか調
べ(ステップ209)、終了してなければ次のコマンド
をチャネルより受信して以降の処理を繰り返し、終了し
ていればデータ転送処理を終了する(ステップ21
0)。図21は本発明の第2の実施例によるデータ転送
のタイミング説明図である。FBAディスク装置40
aからデバイスアダプタ32aのデータバッファBDA
に、一括して1CKDトラック分のFBAブロックが転
送される。また、データバッファBDAからキャッシ
ュメモリ33へは1FBAブロックづつ転送される。
以上と並行して、チャネルアダプタ31aはキャッシュ
メモリ33より該当CKDレコードを読み取ってチャネ
ルに転送する。
【0059】このように、キャッシュメモリへの書き込
みと読み出しを同時に行うため、レスポンス時間を短縮
できる。尚、図中、点線矢印が従来のキャッシュメモリ
33への転送開始時刻であり、本発明の第2実施例より
相当レスポンスが遅れていることが理解される。又、1
FBAブロック毎に区切ってデータをキャッシュメモリ
33に格納するようにしているから、エラーが発生して
も最初から全データをキャッシュメモリに転送・格納す
る必要がなく、換言すればエラーが生じたブロックのみ
から転送すればよいため、バスの有効利用が図れる。
【0060】(c) 本発明の第3の実施例 キャッシュメモリ33はその記憶内容が磁気ディスク装
置へ保存される前に消失しないように、電源切断時にバ
ッテリーバックアップされる。この場合、バッテリーが
消耗すると電源投入時にキャッシュメモリを用いた高速
書き込みモードを利用できなくなる。このため、無闇に
キャッシュメモリをバッテリーバックアップせず、真に
必要な時のみバッテリーバックアップすることにより、
バッテリーの消耗を防ぎ、電源投入時に直ちにキャッシ
ュメモリを用いた高速書き込みモードを利用できるよう
にする。
【0061】図22は本発明の第3の実施例構成図であ
り、30はディスク制御装置で、0系、1系の二重化構
成になっている。ディスク制御装置30において、31
a,31a′は上位装置とのインターフェースを司るチ
ャネルアダプタ(CA)、32a,32a′は磁気ディ
スク装置とのインターフェースを司るデバイスアダプタ
(DA)、33は両系に共通に設けたキャッシュメモ
リ、34a,34a′はキャッシュメモリの管理及びヒ
ット/ミス判定等の処理を行うキャッシュファンクショ
ンエンジン(CFE)、36a,36a′は各ユニット
のIML(イニシャル・マイクロプログラム・ローデン
グ)処理や状態監視処理、障害時のリカバリ処理を行う
サービスアダプタであり、これらのユニットはデータバ
ス、通信バスにより相互に接続されている。キャッシュ
ファンクションエンジン34a,34a′はキャッシュ
メモリ上のデータが全てライトバックできた/できない
をサービスアダプタ36a,36a′に通知することが
可能であり、また、キャッシュメモリ上に有効なデータ
があるか否かをサービスアダプタに通知することが可能
である。
【0062】39a,39a′はユニットパワーコント
ローラ(UPC:電源制御部)、39cはキャッシュメ
モリ33をバッテリーバックアップするバッテリーユニ
ット(BTU)である。尚、各系にはそれぞれ電源スイ
ッチが設けられ、自系ユニットと共通ユニット(キャッ
シュメモリ等)に電源を供給できるようになっている。
又、図示しないが、各系には全体の資源管理及び処理動
作に関する制御を行うリソースマネージャ(RM)や各
ユニットのマイクロプログラムを記憶する不揮発性のメ
モリを備えている。
【0063】各系のサービスアダプタ36a,36a′
と電源制御部39a,39a′間は信号線L1,L2;
L1′,L2′により接続されオフ要求信号OFF REQと
オフ可信号OFF OKを授受できるようになっている。電源
制御部39a,39a′は電源切断を検知すると、サー
ビスアダプタ36a,36a′にオフ要求信号OFF REQ
を送出し、バッテリーバックアップをすべきか、否かを
問い合わせる。かかる問い合わせに対して、サービスア
ダプタ36a,36a′はキャッシュファンクションエ
ンジン34a,34a′から書き戻し完了通知を受信し
ている場合にはオフ可信号OFF OKを電源制御部39a,
39a′に送出してバッテリーバックアップの不要を通
知し、書き戻し完了通知を受信していない場合にはオフ
可信号OFF OKを送出せず、バッテリーバックアップの必
要を通知する。尚、キャッシュファンクションエンジン
34a,34a′内蔵のメモリにおいてフラグ=”1”
に応じたキャッシュメモリ上のレコードが全てディスク
装置に書き戻された時(保存した時)、キャッシュファ
ンクションエンジン34a,34a′は書き戻し完了通
知をサービスアダプタ36a,36a′に通知する。
【0064】又、電源制御装置39a,39a′とバッ
テリーユニット39c間も信号線L3,L4;L3′,
L4′により接続されている。電源制御部39a,39
a′はバッテリーユニット39cに対して、自系の電
源オン・オフ状態を示す電源状態信号POWER STATEと、
サービスアダプタ36a,36a′からバッテリーバ
ックアップの不要通知があったかを示すオフ可信号OFF
OK STATEを入力する。バッテリーユニット39cは、図
23に示すように各系の電源状態信号POWERSTATE(オン・
オフ)とオフ可信号OFF OK STATE(オン・オフ)を記憶し、
各系における両信号のオン・オフに基づいてキャッシュ
メモリ33のバッテリーバックアップの要否(図23の
最右端の欄参照)を決定する。
【0065】すなわち、バッテリーユニット39cは、
一方の系(例えば0系)の電源切断中(POWER STATE=
オフ)において、該系のオフ可信号OFF OK STATEのオン
・オフを記憶する。かかる状態で、他方の系(1系)の
電源が切断された時(オン→オフ)、該1系のオフ可信
号OFF OK STATEのオン・オフを判断する。1系のオフ可
信号OFF OK STATEがオン(バッテリーバックアップ不
要)の場合には、0系のオフ可信号OFF OK STATEのオン
・オフに基づいてキャッシュメモリのバッテリーバック
アップの必要性を判定する。すなわち、0系のオフ可信
号OFF OK STATEがオン(不要)の場合(の場合)には
バッテリーバックアップせず、オフ(要)の場合(の
場合)にはバッテリーバックアップする。又、1系のオ
フ可信号OFFOK STATEがオフ(要)の場合(,の場
合)には一方の系のオフ可信号OFF OKSTATEのオン・オ
フに関係なくキャッシュメモリ33をバッテリーバック
アップする。尚、いずれか一方の系の電源状態がオンの
場合(,の場合)には、両系のオフ可信号OFF OK S
TATEに関係なくバッテリーバックアップはオフとなる。
【0066】図24はキャッシュメモリのバッテリーバ
ックアップ制御の一方の系(例えば0系)の流れ図であ
る。電源スイッチがオフすると(ステップ301)、電
源制御部39aはオフ要求信号OFF REQをオンしてサー
ビスアダプタ36aに送出する(ステップ302)。サ
ービスアダプタ36aは該信号を受け取ると、キャッシ
ュファンクションエンジン34aに通知する(ステップ
303)。これにより、キャッシュファンクションエン
ジン34aはチャネルアダプタ31aに新たなホストと
の転送ストップを指示し(ステップ304a)、又、デ
バイスアダプタ32aにレコード単位(CKDディスク
の場合)あるいはブロック単位(FBAディスクの場
合)でキャッシュメモリ33上のデータのライトバック
を指示する(ステップ304b)。
【0067】転送ストップの指示により、チャネルアダ
プタ31aはホストと切り離れ、新たな要求を受け付け
ない。又、デバイスアダプタ32aは指示されたレコー
ドあるいはブロックの、キャッシュメモリ上のデータを
磁気ディスク装置にライトバック(保存)する。尚、転
送すべきレコードはフラグFLAG=”1”のレコー
ド、あるいは該レコードを含むブロックである(ステッ
プ305)。デバイスアダプタ32aは指示されたレコ
ードあるいはブロックのライトバックが終了すればキャ
ッシュファンクションエンジン34aに通知する。これ
により、キャッシュファンクションエンジン34aは全
てのブロックのライトバックが完了したか調べ(ステッ
プ306)、終了してなければステップ304bに戻
り、デバイスアダプタ32aに次のレコードあるいはブ
ロックのライトバックを指示して以降の処理を繰り返
す。
【0068】全てのライトバックが完了すれば、キャッ
シュファンクションエンジン34aはその旨(ライトバ
ック完了指示)をサービスアダプタ36aに通知する
(ステップ307)。サービスアダプタ36aはキャッ
シュファンクションエンジン34aよりライトバック完
了指示を受信すれば、電源制御部39aにオフ可信号OF
F OK(バックアップ不要)を送る(ステップ308)。電
源制御部39aはオフ可信号OFF OKを受信すれば、電源
切断を行うと共に(ステップ309a)、サービスアダ
プタ36aからOFF OK指示(バックアップ不要指示)が
あったことをオフ可信号OFF OK STATE(オン)によりバッ
テリーユニット39cに通知する(309b)。又、電
源状態信号POWER STATEがオフとなり、バッテリーユニ
ット39cは0系の電源がオフとなったことを認識す
る。バッテリーユニット39cは、以上の電源状態信号
POWER STATEのオン・オフ状態及びオフ可信号OFF OK ST
ATEのオン・オフ状態を記憶し、もう一方の系(1系)
からの指示を待ち、図23に示す論理でキャッシュメモ
リ33のバッテリーバックアップの要否を決定する(ス
テップ310)。尚、バッテリーユニット39cは片系
の電源がオンの場合にはバッテリーバックアップはしな
い。
【0069】又、電源オフ時の異常として、データのラ
イトバックが完了せず、データがキャッシュメモリ上に
残る場合がある。かかる場合には、電源制御部39aか
らのオフ要求信号OFF REQに対して、サービスアダプタ
36aはオフ可信号OFF OKを送出しない。電源制御部3
9aは内部タイマにより設定時間以上オフ可信号OFFOK
を受信しなければ、自動的に電源オフとなり、バッテリ
ーユニット39cにサービスアダプタからOFF OK指示
(バックアップ不要指示)がないままに電源オフになっ
たことを通知する(309b)。換言すれば、オフ可信
号OFF OK STATE(オフ)、電源状態信号POWER STATE(オ
フ)がバッテリーユニット39cに通知される。更に、
異常時の電源オフとして、停電がある。この停電時に
は、電源制御部39aはサービスアダプタ36aに対し
てオフ要求信号OFF REQを発行せずに電源断となる。バ
ッテリーユニット39cでは、サービスアダプタからの
オフ可信号OFF OKがなかったという状態が記憶され、結
果的には電源オフ時の異常時と同様の状態になる。
【0070】図25はバッテリーユニット39cの回路
構成図であり、図23の,,の状態においてバッ
クアップオン・オフ信号BBUがオンするようになって
いる。39c-1,39c-2は0系、1系に設けられたラッチ回
路であり、電源状態信号POWER STATEがオンからオフに
変化する際のオフ可信号OFF OK STATEをラッチし、電源
状態信号POWER STATEがオフからオンになったときにク
リアされるようになっている。又、39c-3はナンドゲー
ト、39c-4はノアゲートと、39c-5はアンドゲートであ
る。パワーオン・オフ状態とラッチ状態によりバックア
ップオン・オフ信号BBUを出力するようになってい
る。一方の系の電源状態がオンの場合にはナンドゲート
39c-3の出力が”0”になり、無条件にバッテリーオフ
となる(BBU=”0”)。又、両方の電源状態がオフ
であり、少なくと一方のオフ可信号OFFOK”0”(バッ
クアップ要)の場合にバッテリーオンとなる(BB=”
1”)
【0071】以上では各系に共通にバッテリーユニット
39cを設けた場合であるが、バッテリーユニットを二
重化して0系、1系にそれぞれ設けて信頼性を向上する
ようにもできる。バッテリーユニットの二重化構成にお
いては、障害等により新たな、あるいは修理後のバッテ
リーユニットを装置に組み込む場合が生じる。このよう
にバッテリーユニットを装置に組込んだ時(INSTALL信
号オン時)、運用中のバッテリーユニットに記憶されて
いる0系、1系のOFF OK STATEを新たに組み込んだバッ
テリーユニットにコピーする必要がある。
【0072】図26はバッテリーユニットの二重化構造
のブロック図であり、39c′,39c″は0系、1系
のバッテリーユニットで、それぞれINSTALL信号のオン
により他方に記憶されている0系、1系のオフ可信号OF
F OKをコピーできるようになっている。又、キャッシュ
メモリの電源端子にはバッテリーユニット39c′,3
9c″のバッテリー供給端子が接続され、一方がダウン
しても他方よりバッテリーを供給できるようになってい
る。図27は二重化した場合におけるバッテリーユニッ
ト39c′、39c″の回路構成図であり、図25の構
成を基本とし、innstall信号のオンにより他方のバッテ
リーユニットに保持されている0系、1系のオフ可信号
OFF OK STATEをコピーできるように構成されている。な
お、39c-6,39c-7はオアゲート、39c-8,39c-9は1入力端
子がインヒビット端子となっているオアゲートである。
【0073】又、以上では0系、1系の二重化構成のデ
ィスク制御装置におけるキャッシュメモリのバッテリー
バックアップ制御について説明したが、一重化のディス
ク制御装置にも適用できる。かかる場合にはバッテリー
ユニットは、電源断時、キャッシュメモリに記憶されて
いるデータがディスクに保存されたか否かを判断し、保
存されていない場合にはキャッシュメモリをバッテリー
バックアップし、保存されている場合にはバッテリーバ
ックアップしないようにする。以上のように、キャッシ
ュメモリ上にバックアップすべきデータが存在する場合
にのみキャッシュメモリをバッテリーバックアップする
ため、バッテリーの消耗が少なく、次に電源を投入した
場合にもキャッシュメモリを使用した高速書き込み機能
を動作することができ、システムの高機能化、動作効率
の向上を図ることができる。又、バッテリーを二重化し
て持つことにより、信頼性の高いシステムを構築するこ
とができる。
【0074】(d) 本発明の第4の実施例 ディスク制御装置の高機能化及びRAS性能の向上のた
めに、制御装置の二重化が図られている。かかる二重化
構成によれば、一方の系のチャネルアダプタやデバイス
アダプタががダウンしても他方の系を代用することによ
り運用が可能となっている。しかし、ジョブの制御、デ
ィスク制御装置内の資源の管理制御、制御装置配下のデ
バイスの情報を制御するリソースマネージャRMにおい
ては、本来の意味における二重化がとられていない。す
なわち、両系のリソースマネージャの制御テーブル記憶
部が保持する各種テーブルや制御情報が異なっており、
一方のリソースマネージャがダウンした場合に他方の系
のリソースマネージャで代行することができない。
【0075】本発明の第4の実施例は、0系、1系の一
方のリソースマネージャRMがダウンしたとき他方のリ
ソースマネージャRMが代行可能となるようするもので
ある。このためには、両系のリソースマネージャRMが
制御テーブル記憶部に保持する各種制御情報(ホスト側
からの仕事の内容・順番・制御情報、制御装置内の資源
情報、各々のデバイスにおける状態等)の同一化を図る
必要がある。両系が正常に動作している場合は、同一化
を図るための更新を常に行うことで同一化が図れる。し
かしながら、装置の立ち上げ時、片系の電源ダウン時、
片系の立ち上げ時、制御情報の初期化中、更には相手側
との更新不通時における自系の制御情報の更新方法、初
期化方法が問題になる。本発明はこの問題を解決するこ
とにより、いかなる状態においても常に両系が共通の制
御情報を論理的に保持できるようにしている。
【0076】図28は本発明の第4の実施例に係るディ
スク制御装置の構成図であり、10はホスト、30はデ
ィスク制御装置、40a〜40nは磁気ディスク装置
(便宜上1つだけ示している)である。ディスク制御装
置30は二重化されており、詳細には図2に示す構成を
有しているが、便宜上チャネルアダプタ(CA)31a
〜31c,31a′〜31c′、デバイスアダプタ(D
A)32a〜32c,32a′〜32c′、リソースマ
ネージャ(RM)35a,35a′、サービスアダプタ
36a,36a′のみ示している。リソースマネージャ
35a,35a′には各種制御情報、テーブル類を記憶
する制御テーブル記憶部(TS)61,61′が設けら
れ、各制御テーブル上の固有のアドレス領域がメッセー
ジ領域MSAとして割り当てられており、一方のリソー
スマネージャは他方のメッセージ領域に書き込まれた情
報を読み取ることにより、マネージャ間通信(制御間通
信)ができるようになっている。
【0077】両系のリソースマネージャ35a,35
a′間は、複数の信号線、コピーバスにより接続されて
いる。ILは他系への割込み線であり、制御テーブル記
憶部61,61′のメッセージ領域MSAにあるメッセ
ージを書き込んだことを他系に通知するものである。こ
の割込み線の信号変化(オン・オフ)で他系のリソース
マネージャRMは相手のメッセージ領域MSAに書き込
まれている内容を読み取る。PLは自系の通電状態(電
源オン・オフ)を他系に通知する通電状態通知信号線、
RLは自系が動作可能状態(レディ)であるか動作不能
状態(ノットレディ)であるかを他系に通知する動作状
態通知信号線である。CPBは制御テーブルのコピーバ
スであり、該コピーバスを介して他系の制御テーブルよ
り情報を読み取って、自系の制御テーブルにコピーす
る。コピーバスにはアドレス線、データ線が含まれる。
【0078】図29はリソースマネージャ35aの構成
図であり、リソースマネージャ35a′も同一構成を有
している。61は制御テーブル記憶部、62はマイクロ
プロセッサ(MPU)、63はRAM構成の制御記憶部
(CS)、64はROM構成の制御記憶部(CS)、6
5はディスク制御装置の内部バスに接続されたドライバ
/レシーバ(DV/RV)、66はバスインターフェー
スロジック(BIL)、67は外部インターフェースと
接続されたドライバ/レシーバ(DV/RV)、68は
ドライバ/レシーバ67とバスBUS間に設けられ、バ
スのインターフェース制御を行うバスインターフェース
ロジック、69は制御テーブル、コピーバスCPBの制
御を行うテーブル記憶ポート(TSP)である。
【0079】マイクロプロセッサ62は他系に送るべき
データをテーブル記憶ポート69を介してメッセージ領
域MSAに書き込み、しかる後、割込み線ILをハイレ
ベルにする。これにより、他系のリソースマネージャは
コピーバスCPBを介してメッセージ領域MSAにアク
セスして該メッセージ領域に書き込まれてあるデータを
読み取る。かかるリソースマネージャ間の通信を制御間
通信あるいはマネージャ間通信という。この制御間通信
により制御テーブルのコピーを行うことができる。すな
わち、一方の系のリソースマネージャが制御テーブル内
容を更新した場合には、更新内容をメッセージ領域MS
Aにセットした後、更新した旨を割込み線(メッセージ
信号線)ILを介して他系のリソースマネージャに通知
する。これにより、他系のリソースマネージャはコピー
バスCPBを介して更新データを相手メッセージ領域よ
り読み取り、該データで自分の制御テーブル記憶部の内
容を更新する。
【0080】リソースマネージャ35,35′の制御テ
ーブル記憶部61,61′には、図30に示すように、
各種制御テーブル、例えば排他管理テーブルEAT、パ
スグループテーブルPGT、物理構成テーブルPCT等
や各種制御情報が記憶されている。排他管理制御テーブ
ルECTは各チャネルアダプタに対応させて磁気ディス
ク装置(デバイス1,2,3,・・・)の使用中、未使
用を記憶するものであり、リソースマネージャは所定の
デバイスの使用要求がチャネルアダプタから出された
時、他のいずれのチャネルアダプタも該磁気ディスク装
置を使用していない場合にその使用を許可し、使用中の
場合は使用を許可しない排他制御を実行する。
【0081】パスグループテーブルPGTは、どのパス
(チャネルアダプタ)がどのホスト装置に接続されてい
るかを記憶するものであり、ホスト毎にパスグループを
構成する。レコードの位置付けを完了した時(例えばサ
ーチID動作終了時)、あるいはホスト装置への各種動
作終了報告時、リソースマネージャはどのチャネルアダ
プタが該ホスト装置に接続されているかを調べ(同一グ
ループのチャネルアダプタを探す)、空いているチャネ
ルアダプタあるいはビジー率の最も低いチャネルアダプ
タにホスト装置への報告を割込みにより行なわせる。こ
れにより、複数のチャネルアダプタを有効に利用できる
(動的経路再結合機能)。物理構成テーブルPCTは、
I/Oサブシステムの物理構成を示すものであり、シス
テムを構成するチャネルアダプタ、各チャネルアダプタ
からアクセス可能なデバイスアダプタ、各チャネルアダ
プタからアクセス可能な磁気ディスク装置等が記憶され
る。排他制御テーブルECTやパスグループテーブルP
GTその他の制御情報は運用中に逐次変化する。
【0082】図31はリソースマネージャによる制御テ
ーブルの処理方法を示す図表であり、自系と他系の動作
状態及び相手からの信号線の状態に応じてリソースマネ
ージャが制御テーブルに関して何をしなければならない
かを示すものである。尚、リソースマネージャは自力で
オンライン状態になる場合には、パワーオンにより、I
MLを行い、IML完了によりレディ状態になり、しか
る後、制御テーブルの初期化を行い、初期化完了により
オンライン状態になる。図31において、相手の動作状
態としては、パワーオフ状態、IML中、相手待
ち(例えば相手のテーブル初期化動作終了待ち)、テ
ーブル初期化中、オンライン動作中の5つの状態があ
り、それぞれの状態時における通電状態通知信号線PL
及び動作状態通知信号線RLにより自系に通知されるパ
ワーオン・オフ、レディ/ノットレディは図示の通りで
ある。又、自系(RM0)の動作状態としては、IM
L完了、相手初期化待ち、テーブル初期化中、オ
ンライン中の4つの状態がある。
【0083】以上の、他系(RM1)及び自系(RM
0)の動作状態の組み合わせにに基づいて、自系のリソ
ースマネージャが何をしなければならないかが図31に
示される。考え方の基本は、以下の通りである。 (1) 自系がオンラインでなく、他系より進んだ状態にあ
る場合には、自系の制御テーブルの初期化を行って、相
手を待ち状態にさせる(初期化完了後に相手は自系の制
御テーブルをコピーする)、 (2) 自系がオンラインでなく、他系と同じ状態にある場
合には自系、他系ともに待ち状態になるが、予め設定さ
れているリソースマネージャ(RM0)が初期化を行
い、他のリソースマネージャ(RM1)は待ち状態にな
る、 (3) 他系より遅れた状態にあり、他系がオンライン中で
ない場合には、待ち状態になり、他系の初期化完了を待
って、該他系の制御テーブルをコピーする、 (4) 自系がオンラインでなく、他系がオンライン中の場
合には、他系の制御テーブルをコピーする、 (5) 自系がオンライン中の場合には相手からのコピー要
求によりコピー処理を実行する。
【0084】図32〜図34は制御テーブルの初期化及
びコピー処理の流れ図である。自系の電源がオンすると
(ステップ401)、IMLを開始し(ステップ40
2)、IML完了によりレディ状態になる(ステップ4
03)。ついで、状態通知信号線RLを参照して相手動
作状態がレディか調べる(ステップ404)。レディ状
態であれば、制御間通信により相手状態を要求する(ス
テップ405)。所定時間経過する前に、相手より状態
を確認すれば(ステップ406、407)、相手状態に
応じた処理を行う。一方、所定時間経過しても相手より
状態を受信できない場合には、第三者であるサービスア
ダプタに対して相手状態を問い合わせる(ステップ40
8)。サービスアダプタは全体ユニットの状態情報によ
り他系のリソースマネージャがノットレディ状態であれ
ば、その旨をリソースマネージャに通知し、これにより
リソースマネージャは自系テーブルの初期化を行う(ス
テップ409a,409b)。しかし、ステップ409
aにおいてレディ状態ならば信号線不良とみなし、操作
パネル等にアラームを出力して待機する(縮退:ステッ
プ409c)。
【0085】ステップ407において、設定時間経過前
に相手状態を受信すれば、相手状態が「相手待ち」、
「初期化中」、「オンライン中」であるか識別する(ス
テップ410)。オンライン中であれば、直ちに制御間
通信により相手にコピー要求を出し、相手制御テーブル
記憶部の内容をそっくりコピーして処理を終了する(ス
テップ411)。一方、相手状態が「初期化中」の場合
には、相手待ち状態になり(ステップ412)、相手の
テーブル初期化完了を待ち(ステップ413)、初期化
完了により相手の制御テーブル記憶部の内容をコピーす
る(ステップ414)。又、相手状態が「相手待ち」の
場合には、自分はRM0か判断し(ステップ415)、
RM0でなければ相手待ちになりステップ412以降の
処理を実行する。自分が予めRM0として設定されてい
る場合には、テーブルの初期化を開始し、初期化完了に
よりオンライン状態になる(ステップ416,41
7)。
【0086】ステップ404において、動作状態通知信
号線RLにより相手がノットレディ状態にある場合に
は、信号線の不良を考慮して以下の処理を行う。すなわ
ち、制御間通信により相手状態を確認する(ステップ4
18)。設定時間が経過する前に、相手より状態を受信
すれば(ステップ419、420)、相手はレディ状態
より進んだ状態にあり、状態通知信号線RLがノットレ
ディとなることはないから、動作状態通知信号線RLに
不良があるものとみなし(ステップ421)、操作パネ
ル等にアラームを出力して待機する(縮退:ステップ4
22)。一方、設定時間が経過しても相手より状態を受
信しない場合には、第三者であるサービスアダプタに対
して相手状態を問い合わせる。サービスアダプタは全体
のユニットの状態を把握しているから、他系の状態をリ
ソースマネージャに通知する(ステップ423)。リソ
ースマネージャは相手状態のレディ/ノットレディ状態
を確認し(ステップ424)、レディ状態であれば、信
号線(通電/レディ信号)不良とみなしてステップ42
1以降の処理を行う。しかし、ノットレディ状態であれ
ば、信号線(通電/レディ信号)は良好であり、まさし
く他系はノットレディ状態にあるものとして制御テーブ
ルを初期化する(ステップ425)。
【0087】図35は一方の系が制御テーブルを更新し
た後のコピー処理の流れ図である。制御テーブル記憶部
61の内容を更新すれば(ステップ501)、マイクロ
プロセッサ62はメッセージ領域MSAに更新メッセー
ジをセットすると共に、割込み線ILをハイレベルにす
る(ステップ502)。割込み線ILがハイレベルにな
ると、他系のリソースマネージャは相手のメッセージ領
域MSAにセットされている更新メッセージをコピーバ
スCPBを介して読み取り(ステップ503)、相手の
制御テーブルが更新されたことを認識し、読み取った情
報に基づいて自分の制御テーブルが保持している内容を
更新する(ステップ504)。
【0088】図36は他系(RM0)が電源オフの場合
において自系(RM1)が電源オンとなった場合の立ち
上げ手順説明図である。自系が電源オンとなれば直ちに
IMLを実行する。IML完了後、信号線により相手状
態を判別する。この場合、通電状態通知信号線PLによ
り他系が電源オフであることを判別できる。ついで、制
御間通信により他系の状態を確認する。他系がまさしく
電源オフであれば設定時間を経過しても自分の状態を通
知できないため、タイムアウトになる。タイムアウトに
なれば、他系がまさしく電源オフであると認識し、制御
テーブルを初期化し、オンライン状態になる。尚、タイ
ムアウトになった時、サービスアダプタに相手状態を確
認するようにもでき、図34の流れ図ではそのようにな
っている。
【0089】図37は、他系がオンライン中にも係らず
信号線の不良により電源オフ状態に見える場合の手順の
説明図である。自系が電源オンとなれば直ちにIMLを
実行する。IML完了後、信号線により相手状態を判別
する。この場合、通電状態通知信号線PLの不良により
他系が電源オフ状態に見える。ついで、制御間通信によ
り他系の状態がオンライン中であることが判明する。こ
の結果、信号線に障害があり、以降の処理にさしつかえ
るものとして、操作パネルにアラームを出し、自系の立
ち上げを停止する。尚、システムは片系のみによる運用
となる。
【0090】図38は0系(RM0)、1系(RM1)
が同時に立ち上がった場合の制御手順説明図である。両
系の電源がオンし、IMLを完了すると、両系は「相手
待ち」になる。0系のリソースマネージャ(RM0)は
制御間通信により1系の状態を問い合わせ、1系が「相
手待ち」であることを認識する。このように両系が「相
手待ち」になると、0系(RM0)が自分の制御テーブ
ルを初期化するものと予め設定してある。この結果、0
系は1系に自分が初期化中であることを通知すると共
に、制御テーブルの初期化を行う。初期化が完了すれ
ば、その旨を制御間通信により1系に通知し、オンライ
ン中になる。
【0091】1系は相手の初期化完了により、制御間通
信により0系の制御テーブルのコピー要求を出す。0系
はコピー要求により、一時的にビジー状態になると共
に、制御テーブル記憶部の全アドレスの内容を読み出
し、コピーバスを介して1系の制御テーブル記憶部に書
き込み、コピーを完了する。以後、両系は共にオンライ
ン状態になる。以上のようにすれば、独立な2系がいか
なる状態に陥っても、常にその共有する制御情報の内容
を保証でき、信頼性の高い磁気ディスク制御装置の二重
化を実現することができる。以上、本発明を実施例によ
り説明したが、本発明は請求の範囲に記載した本発明の
主旨に従い種々の変形が可能であり、本発明はこれらを
排除するものではない。
【0092】
【発明の効果】以上本発明によれば、バッテリーユニッ
トはキャッシュメモリ上にバックアップすべきデータが
存在する場合のみキャッシュメモリをバックアップし、
これによりバッテリーの消耗を防止でき、従って電源投
入時に直ちに高速書き込みモードを利用できる。
【図面の簡単な説明】
【図1】本発明の原理説明図である。
【図2】キャッシュメモリを備えたディスク制御装置を
含むシステムの構成図である。
【図3】CA,DA,RMの構成図である。
【図4】CKDフォーマットの説明図である。
【図5】データ読取説明図(リードヒットしない場合)
である。
【図6】データ読取説明図(リードヒットの場合)であ
る。
【図7】データ書き込みの説明図(ライトスルーの場
合)である。
【図8】データ書き込みの説明図(ライトヒット、ライ
トバックの場合)である。
【図9】従来のバッテリーバックアップの説明図であ
る。
【図10】FBAフォーマット説明図である。
【図11】CKD・FBAフォーマット変換説明図であ
る。
【図12】本発明のシステム構成図である。
【図13】フォーマット変換のためのキャッシュメモリ
上の展開説明図である。
【図14】FBAフォーマットの説明図である。
【図15】データ読取手順の説明図である。
【図16】データ書き替え手順の説明図である。
【図17】本発明の第2の実施例の要部構成図である。
【図18】第2実施例の動作説明用の構成図である。
【図19】デバイスアダプタのFBAブロック転送処理
の流れ図である。
【図20】チャネルアダプタのレコード読取処理の流れ
図である。
【図21】データ転送タイミングの説明図である。
【図22】本発明の第3の実施例構成図である。
【図23】バッテリーユニットのバッテリーオン・オフ
説明図表である。
【図24】バッテリーバックアップ制御の流れ図であ
る。
【図25】バッテリーユニットの回路構成図である。
【図26】バッテリーユニットを二重化した場合のブロ
ック図である。
【図27】二重化した場合のバッテリーユニットの回路
図である。
【図28】本発明の第4の実施例構成図である。
【図29】リソースマネージャの構成図である。
【図30】制御テーブル記憶部の内容説明図である。
【図31】制御テーブルの処理方法説明図である。
【図32】制御テーブルの初期化及びコピー処理の流れ
図(その1)である。
【図33】制御テーブルの初期化及びコピー処理の流れ
図(その2)である。
【図34】制御テーブルの初期化及びコピー処理の流れ
図(その3)である。
【図35】制御テーブルの同一化処理の流れ図である。
【図36】他系が電源オフの場合における立ち上げ手順
説明図である。
【図37】信号線不良が存在する場合の手順説明図であ
る。
【図38】同時に立ち上がった場合の制御手順説明図で
ある。
【符号の説明】
11・・上位装置 30・・ディスク制御装置 31a・・チャネルアダプタ 32a・・デバイスアダプタ 33・・キャッシュメモリ 35a・・リソースマネージャ 39c・・バッテリーユニット 40a・・磁気ディスク装置(FBAディスク)
フロントページの続き (51)Int.Cl.7 識別記号 FI G06F 12/08 557 G06F 1/00 335C (72)発明者 桐ヶ谷 信和 神奈川県川崎市中原区上小田中4丁目1 番1号 富士通株式会社内 (72)発明者 大村 英明 神奈川県川崎市中原区上小田中4丁目1 番1号 富士通株式会社内 (56)参考文献 特開 平5−151108(JP,A) 特開 平5−91224(JP,A) 特開 昭61−250720(JP,A) 特開 昭57−168360(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 12/16 340 G06F 1/26 G06F 1/32 G06F 3/06 301 G06F 12/08 541 G06F 12/08 557

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 上位装置とのインターフェースを司るチ
    ャネルアダプタと、ディスク装置とのインターフェース
    を司るデバイスアダプタと、をそれぞれ有する第1及び
    第2の制御系と、 前記第1の制御系の電源管理を行なう第1の保守手段
    と、 前記第2の制御系の電源管理を行なう第2の保守手段
    と、 前記第1の制御系に電力を供給する第1の電源供給手段
    と、 前記第2の制御系に電力を供給する第2の電源供給手段
    と、 前記第1及び第2の制御系から共用され、前記第1の電
    源供給手段と前記第2の電源供給手段とから電力の供給
    を受けるキャッシュメモリと、 前記キャッシュメモリに電力を供給するバッテリーユニ
    ットと、を備えたディスク制御装置であって、 前記第1の保守手段は、 前記第1の制御系の電源断時、前記第1の制御系に関係
    するキャッシュメモリの記憶データがディスクに保存さ
    れたか否かを記憶する記憶部と、 前記第2の制御系の電源断時、前記第2の制御系に関係
    するキャッシュメモリの記憶データがディスクに保存さ
    れたか否かを判断する判断部と、を備え、 前記判断部は、前記第2の制御系に関係するキャッシュ
    メモリの記憶データがディスクに保存されていると判断
    した場合には前記第1の制御系の判断結果に基づいてキ
    ャッシュメモリのバッテリーバックアップの必要性を判
    定し、前記第2の制御系に関係するキャッシュメモリの
    記憶データがディスクに保存されていない場合には前記
    第1の制御系の判断結果に関係なくキャッシュメモリの
    バッテリーバックアップが必要であると判断すること、 を特徴とするディスク制御装置。
  2. 【請求項2】 前記第1の保守手段は、記憶されている
    保存の有無情報を、前記第2の保守手段に記憶させる転
    送部を備えること、 を特徴とする請求項1記載のディスク制御装置。
  3. 【請求項3】 上位装置とのインターフェースを司るチ
    ャネルアダプタと、ディスク装置とのインターフェース
    を司るデバイスアダプタと、をそれぞれ有する第1及び
    第2の制御系と、 前記第1の制御系の電源管理を行なう第1の保守手段
    と、 前記第2の制御系の電源管理を行なう第2の保守手段
    と、 前記第1の制御系に電力を供給する第1の電源供給手段
    と、 前記第2の制御系に電力を供給する第2の電源供給手段
    と、 前記第1及び第2の制御系から共用され、前記第1の電
    源供給手段と前記第2の電源供給手段とから電力の供給
    を受けるキャッシュメモリと、前記キャッシュメモリに
    電力を供給するバッテリーユニットと、を備えたディス
    ク制御装置における制御方法であって、 前記第1の保守手段は、 前記第1の制御系の電源断時、前記第1の制御系に関係
    するキャッシュメモリの記憶データがディスクに保存さ
    れたか否かを記憶し、 前記第2の制御系の電源断時、前記第2の制御系に関係
    するキャッシュメモリの記憶データがディスクに保存さ
    れたか否かを判断し、保存されている場合には、前記第
    1の制御系の保存の有無に基づいてキャッシュメモリの
    バッテリーバックアップの必要性を判定し、 保存されていない場合には第1の制御系の保存の有無に
    関係なくキャッシュメモリをバッテリーバックアップす
    るディスク制御装置の制御方法。
  4. 【請求項4】 前記保守手段の一方を交換するとき、他
    方の保守手段に記憶されている保存の有無情報を該一方
    の保守手段に記憶させる請求項3記載のディスク制御装
    置の制御方法。
JP2000214471A 1993-11-16 2000-07-14 ディスク制御装置及びその制御方法 Expired - Fee Related JP3515495B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000214471A JP3515495B2 (ja) 1993-11-16 2000-07-14 ディスク制御装置及びその制御方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP05286339A JP3136036B2 (ja) 1993-11-16 1993-11-16 ディスク制御装置の制御方法
JP2000214471A JP3515495B2 (ja) 1993-11-16 2000-07-14 ディスク制御装置及びその制御方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP05286339A Division JP3136036B2 (ja) 1993-11-16 1993-11-16 ディスク制御装置の制御方法

Publications (2)

Publication Number Publication Date
JP2001060176A JP2001060176A (ja) 2001-03-06
JP3515495B2 true JP3515495B2 (ja) 2004-04-05

Family

ID=32314031

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000214471A Expired - Fee Related JP3515495B2 (ja) 1993-11-16 2000-07-14 ディスク制御装置及びその制御方法

Country Status (1)

Country Link
JP (1) JP3515495B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4858720B2 (ja) * 2008-03-05 2012-01-18 日本電気株式会社 エミュレータ、エミュレーション方法、プログラム、及び、記録媒体
JP5526697B2 (ja) * 2009-10-14 2014-06-18 ソニー株式会社 ストレージ装置およびメモリシステム

Also Published As

Publication number Publication date
JP2001060176A (ja) 2001-03-06

Similar Documents

Publication Publication Date Title
JP3136036B2 (ja) ディスク制御装置の制御方法
US6330642B1 (en) Three interconnected raid disk controller data processing system architecture
US6968425B2 (en) Computer systems, disk systems, and method for controlling disk cache
US6061750A (en) Failover system for a DASD storage controller reconfiguring a first processor, a bridge, a second host adaptor, and a second device adaptor upon a second processor failure
US6009481A (en) Mass storage system using internal system-level mirroring
US5586291A (en) Disk controller with volatile and non-volatile cache memories
US8595549B2 (en) Information system and I/O processing method
US7269690B2 (en) Disk array device and data processing method thereof
US7464236B2 (en) Storage system and storage management method
JP3151008B2 (ja) ディスクセクタ解析方法
US6006342A (en) Failover and failback system for a direct access storage device
US20060107129A1 (en) Method and computer program product for marking errors in BIOS on a RAID controller
US6591335B1 (en) Fault tolerant dual cache system
JPH11272427A (ja) データ退避方法および外部記憶装置
JP2001166993A (ja) 記憶制御装置およびキャッシュメモリの制御方法
US10969985B1 (en) Storage system and control method thereof
JP2710195B2 (ja) 記憶装置コントローラ
JP2002049511A (ja) アドレスの割付変更方法及びこれを用いた外部記憶サブシステム
JP3260999B2 (ja) ディスク制御装置の制御方法
JP7318367B2 (ja) ストレージ制御装置及びストレージ制御プログラム
JP3515495B2 (ja) ディスク制御装置及びその制御方法
JP2001290608A (ja) ディスク制御装置
JP3256329B2 (ja) ディスクアレイ装置及びその制御方法
JP3186725B2 (ja) ディスクアレイ制御装置、ディスクアレイ制御システム、その方法及びプログラムを記憶した記憶媒体
KR100423812B1 (ko) 디스크 캐쉬메모리 제어기 및 패리티 연산장치를 구비한알에이아이디 제어기 및 패리티 연산방법

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040113

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040115

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

Free format text: PAYMENT UNTIL: 20080123

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090123

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100123

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110123

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110123

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120123

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130123

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees