JPH08241174A - ディスク制御装置の制御方法 - Google Patents

ディスク制御装置の制御方法

Info

Publication number
JPH08241174A
JPH08241174A JP7044081A JP4408195A JPH08241174A JP H08241174 A JPH08241174 A JP H08241174A JP 7044081 A JP7044081 A JP 7044081A JP 4408195 A JP4408195 A JP 4408195A JP H08241174 A JPH08241174 A JP H08241174A
Authority
JP
Japan
Prior art keywords
track
fba
record
disk
block
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
JP7044081A
Other languages
English (en)
Other versions
JP3260999B2 (ja
Inventor
Yuuichi Tarouda
裕一 太郎田
Keishichirou Tanaka
啓七郎 田中
Kazuma Takatsu
一馬 高津
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
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP04408195A priority Critical patent/JP3260999B2/ja
Priority to US08/568,131 priority patent/US5862363A/en
Publication of JPH08241174A publication Critical patent/JPH08241174A/ja
Application granted granted Critical
Publication of JP3260999B2 publication Critical patent/JP3260999B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0661Format or protocol conversion arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1262Formatting, e.g. arrangement of data block or words on the record carriers with more than one format/standard, e.g. conversion from CD-audio format to R-DAT format
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1883Methods for assignment of alternate areas for defective areas
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】 FBAディスク装置に対する読み/書き動作
の効率化、高速化を図る。 【構成】 ディスク40上の1CKDトラックを複数個
の固定長のFBAブロックに分割し、先頭のFBAブロ
ックにはCKDトラックのホームアドレスHAとCKD
フォーマットを有するレコードR0のみを記録し、他の
FBAブロックには、CKDフォーマットを有するレコ
ードR1,R2・・・の各フィールド(COUNTフィールド、KEY
フィールド、DATAフィールド)を記録する。これによ
り、ディスク制御装置30が上位装置11よりレコード
R1からのフォーマットライト処理命令を受け付けた場
合でも、該HA/R0のFBAブロックはキャッシュメ
モリ33に読み出されず、レコードR1以降のFBAブ
ロックのみが読み出される。このため、メモリ上でレコ
ードR1以降のライト処理を簡単に行うことができ、高
速にフォーマットライト処理を行うことができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はディスク制御装置の制御
方法に係わり、特に上位装置と磁気ディスク装置との間
に設けられ、メモリ上でCKDフォーマットとFBAフ
ォーマットのエミュレーション(フォーマット変換)を
行い、固定長単位で磁気ディスク装置にアクセスするデ
ィスク制御装置の制御方法に関する。
【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は
ディスク制御装置(DCU)、40a〜40fは磁気デ
ィスク装置(DASD)である。ディスク制御装置にお
いて、31a〜31c,31a′〜31c′は上位装置
とのインターフェースを司るチャネルアダプタ(C
A)、32a〜32c,32a′〜32c′は磁気ディ
スク装置とのインターフェースを司るデバイスアダプタ
(DA)、33はキャッシュメモリ、34a,34a′
はキャッシュメモリの管理及びヒット/ミス判定等の処
理を行うキャッシュファンクションエンジン(CF
E)、35a,35a′は全体の資源管理及び処理動作
に関する制御を行うリソースマネージャ(RM)、36
a,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′には図示しないが操作パネルが接続されている。
【0005】図2のディスク制御装置では中央点線で左
右に対称に構成された二重化構成(G0は第1コントロ
ーラ側で0系,G1は第2コントローラ側で1系)にな
っており、キャッシュメモリ33は共通モジュールを構
成している。CPU10は所定のチャネルを介して第1
コントローラ側G0と第2コントローラ側G1側のチャ
ネルアダプタに適宜接続され、又、各ディスク装置(D
ASD)40a〜40fは第1コントローラ側G0と第
2コントローラ側G1からアクセス可能になっている。
従って、一方のチャネルアダプタあるいはデバイスアダ
プタに障害が生じてもCPUは他方のチャネルアダプ
タ、デバイスアダプタから磁気ディスク装置にアクセス
することができる。
【0006】チャネルアダプタ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等が記憶される。
【0007】磁気ディスク装置の各トラック上にはCK
D形式(CKDフォーマット)に従ってデータが記憶さ
れている。図4はCKDフォーマットデータの説明図で
ある。トラック上には、ギャップで区切ったいくつかの
領域があり、先頭にはインデックスマークが付されてい
る。HAはホームアドレス領域であり、自分自身が存在
するトラックのアドレスを記述する領域であり、インデ
ックスマークの後に設けられている。ホームアドレス領
域の後にはカウント領域C、キー領域K、データ領域D
で構成されるレコードR0,R1,R2,・・・が複数
個書かれている。カウンタ領域Cには、トラックアドレ
ス(CCHH、CC:シリンダアドレス、HH:ヘッド
番号)、レコード番号R及び後に続くキー領域、データ
領域の長さなどが書かれている。従って、トラックアド
レスとレコード番号を指定することにより、個々のレコ
ードを指定することができる。キー領域Kには検索のた
めのキーが書かれるが必ずしも必要ではない。データ領
域Dには、ユーザデータが書かれている。尚、トラック
先頭のレコードR0はカウント領域とデータ領域で構成
され、キー領域を有していない。
【0008】かかるディスク制御装置(DCU)30に
よれば、以下のようにデータの読み取り、書き込みが行
われる。図5及び図6はデータ読み取り時のレコードの
流れの説明図であり、図5はリードヒットしない場合
(読み取るレコードがキャッシュメモリに存在しない場
合)、図6はリードヒットした場合である。尚、キャッ
シュファンクションエンジンCFE内蔵のバッファBF
には、キャッシュメモリCMに存在するレコードのアド
レス(CCHHR)と、該レコードが磁気ディスクDA
SDに保存されているか否かを示すフラグFLAG(1
は非保存、0は保存)が記憶されている。
【0009】チャネル装置CHよりシークコマンドSK
が発生すると、チャネルアダプタCAはシークコマンド
をコマンド待ち行列にキューイングし、しかる後、シー
ク動作が終了したように見せ掛けて動作終了信号をチャ
ネル装置CHに返す。チャネル装置CHはシーク動作終
了信号の受信により、セットセクタコマンドSSを発行
する。このコマンドを受信すると、チャネルアダプタC
Aはコマンド待ち行列にキューイングし、ついで、セッ
トセクタ動作が終了したように見せ掛けて動作終了信号
をチャネル装置CHに返す。チャネル装置CHはセット
セクタ動作終了信号の受信により、サーチIDコマンド
SIDを発行する。このコマンドを受信するとチャネル
アダプタCAはキャッシュファンクションエンジンCF
Eに対して要求されたアドレス(CCHHR)のレコー
ドがキャッシュメモリCMに存在するか問い合わせる。
【0010】要求されたレコードがキャッシュメモリC
Mに存在しなければ、チャネルアダプタCAはリソース
マネージャRMにその旨を通知すると共に、チャネル装
置CHを磁気ディスク制御装置DCUから切り離すため
にリトライ信号を発行する。尚、リトライ信号の受信に
より、チャネル装置CHは磁気ディスク制御装置DCU
から一時的に切り離れ、その間別の磁気ディスク制御装
置に対するサービス等を実行できる。又、チャネル装置
CHはリトライ信号を受信して切離れてから、次にコマ
ンド要求信号を受信した場合には、直前に発行したコマ
ンド(この例ではサーチIDコマンド)を再送するよう
になっている。リソースマネージャRMは排他制御テー
ブルを参照して対象となる磁気ディスクDASDがアク
セス中でないことを確認し、所定のデバイスアダプタD
Aを決定し、該デバイスアダプタの識別データをチャネ
ルアダプタCAに通知し、又該デバイスアダプタDAに
チャネルアダプタの識別データを通知する。
【0011】チャネルアダプタCAは通知されたデバイ
スアダプタDAにシークコマンドに含まれるCKDトラ
ック位置(CCHH)を渡してステージングを指示す
る。デバイスアダプタDAはステージングが指示される
と、指示された1CKDトラック(CCHH)分のデー
タを読み取りキャッシュメモリCMに書き込み(図5の
矢印A参照)、書き込み後、ステージング終了をチャネ
ルアダプタCAに通知する。これによりチャネルアダプ
タCAはコマンド要求信号をチャネル装置CHに送出す
る。チャネル装置CHはコマンド要求を受信すると、直
前に発行したサーチIDコマンドSIDを再度発行す
る。チャネルアダプタCAはサーチIDコマンドSID
を受信すれば、キャッシュメモリCM上で指示されたレ
コードの検索を行い、検索終了によりサーチIDの動作
終了信号をチャネル装置CHに送る。チャネル装置CH
はサーチIDの動作終了信号を受信すればリードコマン
ドRDを発行する。チャネルアダプタCAはリードコマ
ンドRDを受信すれば、サーチしてあるレコードをキャ
ッシュメモリCMから読み出してチャネル装置CHに転
送する(図5の矢印B参照)。
【0012】一方、サーチIDで要求されたレコードが
キャッシュメモリCMに存在すれば(リードヒット)、
チャネルアダプタCAはコマンド要求信号をチャネル装
置CHに送出する。チャネル装置CHはコマンド要求を
受信すると、リードコマンドRDを発行する。チャネル
アダプタCAはリードコマンドRDを受信すれば、要求
されたレコードをキャッシュメモリCMから読み出して
チャネル装置CHに転送する(図6の矢印C参照)。
【0013】図7、図8はデータ書き込み時のデータの
流れの説明図であり、図7はライトスルーの場合、図8
はライトヒットの場合である。チャネル装置CHよりシ
ークコマンドSKが発生すると、チャネルアダプタCA
はシークコマンドをコマンド待ち行列にキューイング
し、しかる後、シーク動作が終了したように見せ掛けて
動作終了信号をチャネル装置CHに返す。チャネル装置
CHはシーク動作終了信号の受信により、セットセクタ
コマンドSSを発行する。このコマンドを受信すると、
チャネルアダプタCAはコマンド待ち行列にキューイン
グし、ついで、セットセクタ動作が終了したように見せ
掛けて動作終了信号をチャネル装置CHに返す。チャネ
ル装置CHはセットセクタ動作終了信号の受信により、
サーチIDコマンドSIDを発行する。このコマンドを
受信するとチャネルアダプタCAはキャッシュファンク
ションエンジンCFEに要求されたアドレス(CCHH
R)のレコードがキャッシュメモリCMに存在するか問
い合わせる。
【0014】要求されたレコードがキャッシュメモリC
Mに存在しなければ、チャネルアダプタCAはリソース
マネージャRMにその旨を通知すると共に、チャネル装
置CHを磁気ディスク制御装置DCUから切り離すため
にリトライ信号を発行する。尚、リトライ信号の受信に
より、チャネル装置CHは磁気ディスク制御装置DCU
から一時的に切り離れる。リソースマネージャRMは排
他制御テーブルを参照して対象となる磁気ディスクDA
SDがアクセス中でないことを確認し、所定のデバイス
アダプタDAを決定し、該デバイスアダプタの識別デー
タをチャネルアダプタCAに通知、又該デバイスアダプ
タDAにチャネルアダプタの識別データを通知する。
【0015】チャネルアダプタCAは通知されたデバイ
スアダプタDAにシークコマンドに含まれる位置付けパ
ラメータ(CCHH)を渡して磁気ディスク装置DAS
Dをしてシーク動作を実行させ、シーク動作完了により
セットセクタコマンドに含まれる位置付けパラメータ
(セクタ値)を渡して同様に磁気ディスク装置DASD
にセットセクタ動作を実行させる。セットセクタ動作が
完了すれば、チャネルアダプタCAはチャネルコマンド
要求信号をチャネル装置に送る。チャネル装置CHはコ
マンド要求を受信すると、直前に発行したサーチIDコ
マンドSIDを再度発行する。チャネルアダプタCAは
サーチIDコマンドSIDを受信すれば、サーチIDの
パラメータ(レコード番号R)をデバイスアダプタDA
に渡して磁気ディスク装置DASDをしてサーチID動
作を実行させ、サーチ動作が完了すれば動作終了信号を
チャネル装置CHに送る。
【0016】チャネル装置CHはサーチ動作終了信号を
受信すれば、ライトコマンドWDを発行する。チャネル
アダプタCAはライトコマンドを受信すれば、データ
(レコード)をキャッシュメモリCMに書き込むと共
に、デバイスアダプタDAを介して磁気ディスク装置D
ASDの指令アドレスCCHHRに書き込む(図7の矢
印D,E参照)。尚、キャッシュファンクションエンジ
ンCFEのメモリには書き込まれたレコードのアドレス
CCHHR(フラグは0)が格納される。以上の処理は
ライトスルーとよばれる。このライトスルーでは磁気デ
ィスク装置DASDにキャッシュメモリと並行してレコ
ードを書き込むため、アクセス速度が遅い。このため、
ディスク制御装置DCUの内部に不揮発性メモリNVS
(図示せず)を設け、該キャッシュメモリと並行して不
揮発性メモリに書き込んで書き込み動作を終了するよう
にしてアクセスの高速化を図ったディスク制御装置もあ
る。
【0017】一方、サーチIDで要求されたアドレス
(CCHHR)のレコードがキャッシュメモリCMに存
在すれば(ライトヒット)、チャネルアダプタCAはコ
マンド要求信号をチャネル装置CHに送出する。チャネ
ル装置CHはコマンド要求を受信すると、ライトコマン
ドWDを発行する。チャネルアダプタCAはライトコマ
ンドWDを受信すれば、キャッシュメモリCMに記憶さ
れているCCHHRのレコードを書き替える(図8矢印
F参照)。この時、キャッシュファンクションエンジン
CFEのメモリに記憶されているCCHHRに応じたフ
ラグは1に変更される。以後、ディスク制御装置はホス
トとの動作と関係なく、フラグが1のCCHHRのレコ
ードをキャッシュメモリCMから磁気ディスク装置DA
SDに書き戻し(ライトバック、図8矢印G参照)、書
き戻しによりフラグを0にする。
【0018】さて、オペレーティングシステム(OS)
がCKDフォーマットによってデータをハンドリングす
る場合、ディスク制御装置DCUにはCKDフォーマッ
トを前提としたディスク装置(CKDディスク装置)し
か接続できない。ところが、近年、SCSI等のインタ
フェースを保持するFBA(Fixed BlockArchitecture)
ディスク装置の容量が技術の進歩に伴って飛躍的に大き
くなり、従来のCKDディスク装置並みの容量を実現し
つつある。かかるFBAディスク装置は、利用環境が限
られたCKDディスク装置に比較し、価格、消費電力、
設置面積の点で優れている。
【0019】FBAフォーマットは図9に示すように、
全ての論理ブロック(FBAブロック)の長さが等し
く、1CKDトラックを所定数のFBAブロックに分割
したものである。各FBAブロックは固有の認識番号
1、2、3、・・・を有し、その先頭には64バイトの
CKD・FBAフォーマット変換(COF変換:CKD
ON FBA)のためのID部(COF用ID部)が設
けられている。又、各FBAブロックの前にはFBAブ
ロックアドレス(FBAブロックの識別番号)を記憶す
るID部(FBA用ブロックID部)が設けられてい
る。かかるFBAディスク装置は小型で価格も安く、大
型計算機システムの外部装置としても十分使用できる性
能を保持する。
【0020】
【発明が解決しようとする課題】CKD制御方式で上位
装置がデータをハンドリングするシステムにFBAディ
スク装置を適用できるようにするためには、上位装置か
ら転送されるCKDフォーマットデータをディスク制御
装置内でFBAフォーマットに変換する必要がある(図
10参照)。又、SCSIインターフェースを経由して
FBAディスクからFBAブロックデータを読み取った
場合(FBA用ブロックID部は読み出されない)、該
FBAブロックデータをCKDフォーマットに変換した
あと、上位装置に転送する必要がある。
【0021】従来、CKD・FBAフォーマット変換
(COF変換)を行う有効な方法がなかった。特に、C
KDディスク装置を用いる場合、ディスク制御装置は上
位装置よりのシークコマンド、セットセクタコマンド、
サーチIDコマンドに応じた位置付け動作を行ってレコ
ードを読み取るようにしているが、FBAディスク装置
を用いる場合シークコマンド、セットセクタコマンド、
サーチIDコマンドによりCKDディスクの場合と同様
の制御を行うことができなかった。このため、本発明者
等はFBAディスク装置であってもCKDディスク装置
の場合と同様の制御ができるようにしたディスク制御装
置の制御方法を特願平5-286339号(出願日:平成5年11月1
6日)として提案している。
【0022】この提案されている制御方法によればFB
Aディスク装置であってもCKDディスク装置の場合と
同様の制御ができるが、FBAディスク装置に対する読
み込み動作及び書き動作の効率化、高速化の点で不十分
であり、改善の余地がある。又、上記提案されている制
御方法においては、上位装置からの書き込み処理が途中
で中断した場合の配慮やFBAディスクのトラックに不
良が発生した場合の配慮がされていなかった。
【0023】以上から本発明の第1の目的は、FBAデ
ィスク装置に対してCKDディスク装置の時と同様の制
御ができ、しかも、FBAディスク装置に対する読み/
書き動作の効率化、高速化が可能な制御方法を提供する
ことである。本発明の第2の目的は、上位装置からの書
き込み処理が途中で中断して誤ったデータがFBAディ
スクに記録された場合でも、該誤ったデータを上位装置
に転送しないようにできる制御方法を提供することであ
る。本発明の第3の目的は、FBAディスクのトラック
に不良が発生した場合でも、、不良トラックに替えて交
替トラックに正しいデータを書き込め、又、該交替トラ
ックから正しいデータを読み取って上位装置に転送でき
る制御方法を提供することである。本発明の第4の目的
は、FBAディスク装置に対してCKDディスク装置の
時と同様の制御ができ、しかも、トラックの不良交替処
理の効率化、高速化が可能な制御方法を提供することで
ある。
【0024】
【課題を解決するための手段】図1は本発明の原理説明
図である。11は下位装置をCKDフォーマットの入出
力装置とみなして入出力命令を発行する上位装置、30
はディスク制御装置(DCU)、40はFBAフォーマ
ット形式でデータを読み書きする磁気ディスク装置(D
ASD)である。ディスク制御装置30において、31
は上位装置とのインターフェースを司るチャネルアダプ
タ(CA)、32は磁気ディスク装置とのインターフェ
ースを司るデバイスアダプタ(DA)、33はキャッシ
ュメモリ、34はキャッシュファンクションエンジン
(CFE)で不良交替管理テーブルDAT、バッファ等
を有するもの、35は全体の資源管理及び各種処理動作
を制御するリソースマネージャ、39はキャッシュメモ
リに対するデータアクセス制御部である。
【0025】
【作用】
(a) 請求項1の作用 ディスク上の1CKDトラックを複数個の固定長のFB
Aブロックに分割し、先頭のFBAブロックにはCKD
トラックのホームアドレスHAとCKDフォーマットを
有するレコードR0のみを記録し、他のFBAブロック
には、CKDフォーマットを有するレコードR1,R2・・・
の各フィールド(COUNTフィールド、KEYフィールド、DAT
Aフィールド)を記録する。このようにすれば、ディスク
制御装置30が上位装置11よりレコードR1からのフ
ォーマットライト処理命令を受け付けた場合でも、該H
A/R0のFBAブロックはメモリ33に読み出され
ず、レコードR1以降のFBAブロックのみが読み出さ
れる。このため、メモリ上でレコードR1以降のライト
処理を簡単に行うことができ、高速にフォーマットライ
ト処理を行うことができる。
【0026】(b) 請求項2の作用 各FBAブロックの所定位置(先頭位置)に設けられた
ID部に該FBAブロックに含まれるレコードの番号と
該レコードの位置RPIを記録する。そして、上位装置
11からCKDフォーマットでヘッド位置付けコマンド
(シークコマンド、セットセクタコマンド)が指令され
た時、デバイスアダプタ32はシークコマンドのパラメ
ータ値(CKDトラック番号CCHH)が指定するCK
Dトラックの先頭FBAブロックの番号を求め、該番号
のFBAブロック位置にヘッドを位置付けする。つい
で、セットセクタコマンドのパラメタ値(セクタ値)に
対応するFBAブロック番号を求め、該FBAブロック
番号が指示するFBAブロックから該FBAブロックが
所属するCKDトラック内の最後のFBAブロックまで
の全ブロックを読み取ってキャッシュメモリ33に展開
する。しかる後、チャネルアダプタ31は上位装置11
からサーチIDコマンドにより指令されたレコードをキ
ャッシュメモリ33上で、ID部に記録されているレコ
ード情報RPIを参照して検索する。チャネルアダプタ
31はデータ読み取りの場合には、検索したCKDレコ
ードをキャッシュメモリ33から読み取って上位装置1
1へ転送する。又、データ書き込みの場合には、チャネ
ルアダプタ31はキャッシュメモリ上でレコードを書き
替え、しかる後、デバイスアダプタ32は書き替えレコ
ードをFBAブロック単位でFBAディスク装置40に
書き戻す。以上のようにすれば、FBAディスク装置の
場合でもCKDディスク装置の場合と同様にシークコマ
ンド、セットセクタコマンド、サーチIDコマンドに対
する位置付け制御、データ検索制御ができる。
【0027】(c) 請求項3の作用 上位装置11からの書き込み処理が中断したか否かを示
すフラグWIFを記録する領域を、各レコードのフィー
ルド(COUNTフィールド、KEYフィールド、DATAフィール
ド)毎に前記FBAブロックのID部に設ける。チャネ
ルアダプタ31は所定のレコードのCOUNTフィールド、K
EYフィールド、DATAフィールドのデータをキャッシュメ
モリ33に書き込む際、該当フィールドのフラグWIF
をセットし、書き込み処理が正常に終了した時に該フラ
グをリセットする。これにより、書き込み中に処理が中
断した場合には、フラグWIFはセットされたままにな
る。かかる状態で、上位装置11より所定フィールドの
READ命令を受け付けた場合、チャネルアダプタ31
はID部の該当フィールドのフラグWIFを参照し、該
フラグが書き込み中断を示していない場合には該フィー
ルドのデータをメモリ33より読み出して上位装置11
に転送し、該フラグが書き込み中断を示している場合に
は該フィールドのデータを上位装置11に転送しない。
これにより、データの書き込み中断を認識でき、REA
処理命令に対して誤ったデータの転送を防止できる。
【0028】(d) 請求項4及び請求項5の作用 複数のFBAブロックに跨っているレコードをキャッシ
ュメモリ33から読み出し又は該メモリへ書き込む際、
データアクセス制御部39は各FBAブロックの先頭に
配置されているID部をスキップしてレコードをキャッ
シュメモリ33より読み出しあるいは書き込む。このよ
うにすれば、上位装置11からの書き込み命令あるいは
読み出し命令で要求されたレコードが1FBAブロック
サイズより長く、複数のFBAブロックに跨る場合であ
っても、各ブロックのID部の存在に関係なくキャッシ
ュメモリ33へ連続してレコードを書き込め、あるいは
キャッシュメモリからレコードを読み出すことができ
る。
【0029】(e) 請求項6の作用 電源投入により使用不可能状態から使用可能状態に移行
したとき、使用可能状態になったことをディスク制御装
置30に報告する機能を有しないディスク装置40に対
して、デバイスアダプタ32は定期的にディスクの状態
を検索するコマンドを発行し、ディスク装置から該コマ
ンドの応答があるか否かにより該ディスク装置が使用可
能状態になったことを認識し、リソースマネージャ35
に通知する。これにより、ディスク制御装置30は、レ
ディー状態通知機能を有しないディスク装置が配下とし
て接続されてもノットレディーからレディーへの移行を
確実に認識することができる。
【0030】(f) 請求項7の作用 ホームアドレスHA及びレコードR0が標準フォーマッ
トを有するものであるか否かを示すフラグをキャッシュ
ファンクションエンジン34のバッファBFに記憶して
おく。上位装置11より、所定トラックのホームアドレ
スHA及びレコードR0の読み込み命令が発行された
時、チャネルアダプタ31は該フラグを参照し、標準フ
ォーマットを有するものであれば、内部的にホームアド
レスHA及びレコードR0(擬似HA/R0)を作成し
て上位装置11に転送する。このようにすれば、キャッ
シュメモリ33にレコードR1から展開されているトラ
ックに対して、上位装置よりHA/R0部の読み込み命
令が発行された場合でも、ディスク装置40から該HA
部/R0部が記録されているFBAブロックを読み出す
必要がなく、高速にHA/R0を上位装置に転送するこ
とができる。
【0031】(g) 請求項8の作用 ホームアドレスHA及びレコードR0が標準フォーマッ
トを有し、かつ、メモリ上にレコードR1から展開され
ているトラックが複数連続して存在する場合、チャネル
アダプタ31は各トラックのHA/R0部(先頭FBA
ブロック)を内部的に作成することにより各トラックの
FBAブロックの連続性を確保する。デバイスアダプタ
32はディスク装置40へ、書き込み開始FBAブロ
ックと書き込みブロック数Nをオペランドとする書き
込み命令を磁気ディスク装置に指令して複数のトラック
に渡って連続してN個のFBAブロックを該磁気ディス
ク装置に書き戻す。HA/R0部のみで先頭FBAブロ
ックを構成する場合には、キャッシュメモリ33上にH
A/R0部は読み出されず、レコードR1から展開され
る。このため、連続する複数のトラックのレコードがキ
ャッシュメモリ33上に展開されている場合、先頭のF
BAブロックが抜けた不連続の状態になる。デバイスア
ダプタ32からFBAディスク装置40への書き込み
は、書き込み開始FBAブロックと書き込みブロッ
ク数Nを指定して行う。このため、複数トラックにわた
って連続的にFBAブロックを該磁気ディスク装置に書
き戻す場合、先頭FBAブロックが抜けていると連続し
たブロックの範囲ごとに1つのライトコマンドを発行す
る必要がある。しかし、請求項8によれば各トラックの
先頭ブロックを内部的に作成して各トラックのFBAブ
ロックの連続性を維持できるため、キャッシュメモリ上
の複数のトラックデータを1つのライトコマンドで書き
戻せ、SCSIインターフェース上のオーバーヘッドを
小さくすることができる。
【0032】(h) 請求項9の作用 不良トラックと交替トラックの対応を示す不良・交替テ
ーブルDATをディスク制御装置内に設ける。チャネル
アダプタ31は上位装置11から所定トラックへの処理
命令を受信した時、該テーブルDATを参照して該トラ
ックが不良トラックであるか調べ、不良トラックの場合
には交替トラックを求め、交替トラックに対して上位装
置から指示された処理を行うように動作する。以上のよ
うにすれば、不良トラックにアクセスすることなく直接
交替トラックにアクセスすることができ、高速アクセス
が可能になる。
【0033】(i) 請求項10の作用 交替トラックとして用いるトラック(シリンダ)を予め
設定し、各トラックの先頭FBAブロックのID部に、
実際に不良トラックの交替トラックとして使用されて
いるか否かを示すフラグ、実際に不良トラックの交替
トラックとして用いられている場合には、該交替トラッ
クのトラックアドレスと不良トラックのトラックアドレ
スを記録する。デバイスアダプタ32は電源が投入され
た後あるいはリセットされた後、前記各トラックの先頭
FBAブロックを読み取ってキャッシュファンクション
エンジン34に通知し、該キャッシュファンクションエ
ンジン34は不良・交替テーブルDATを作成する。こ
のようにすれば、電源が切断されても、あるいは記憶内
容がリセットされても不良・交替テーブルDATを作成
できる。
【0034】(j) 請求項11の作用 キャッシュメモリファンクションエンジン34は、上位
装置11から不良・交替処理命令を受け付けたとき、該
命令により指示された不良トラックと交替トラックのト
ラックアドレスを不良・交替テーブルDATに記入し、
該テーブルを更新する。このようにすれば、常にに最新
の不良・交替トラックの対応がテーブルに記憶されるた
め、誤って不良トラックにアクセスすることはない。
【0035】(k) 請求項12、13の作用 全FBAブロックのID部に(1) 正常/不良トラックの
別を示すフラグと、(2)不良の場合には交替トラックの
トラックアドレスを含む不良・交替トラック情報DAT
I記録する。チャネルアダプタ31又はデバイスアダプ
タ32はメモリ33に展開されたFBAブロックのID
部を検査し、該FBAブロックが不良トラックに記録さ
れていることが判明すれば、直ちに交替トラックにヘッ
ドを位置付けして必要なデータを読み出してメモリに展
開すると共に、新たに判明された不良、交替トラックの
対応をテーブルDATに記入する。以上のようにすれ
ば、上位装置11からの不良・交替処理命令によるテー
ブルDATの更新が失敗した場合であっても交替トラッ
クよりデータをメモリに読み出して処理でき、しかも、
不良・交替テーブルを更新することができる。
【0036】
【実施例】
(a) 本発明のシステムの構成 図11は本発明のシステム構成図であり、FBAディス
ク装置の場合であってもCKDディスク装置の場合と同
様の位置付け制御、データ読み書き制御を行う構成を有
している。尚、説明を簡単にするために、チャネルアダ
プタ、デバイスアダプタは1個のみ示し、又、ディスク
装置、チャネルも1つのみ示す。図中、10はCKD形
式でデータを扱うOSを備えたホスト装置(CPU)、
20はチャネル(CH)、30はディスク制御装置(D
CU)、40はFBAフォーマットでデータの読み/書
きを行う磁気ディスク装置(DASD)である。ディス
ク制御装置30において、31は上位装置とのインター
フェースを司るチャネルアダプタ(CA)、32は磁気
ディスク装置40とのインターフェースを司るデバイス
アダプタ(DA)、33はキャッシュメモリ(CM)、
34はキャッシュメモリCMの管理及びトラックの不良
・交替管理のための処理を行うキャッシュファンクショ
ンエンジン(CFE)、35は全体の資源管理及び処理
動作に関する制御を行うリソースマネージャ(RM)、
36は各ユニットのIML処理や各種状態監視処理、障
害時のリカバリ処理を行うサービスアダプタ、37は各
ユニットの制御用マイクロプログラムや制御テーブル類
を記憶する不揮発性メモリ、38はバス線、39はキャ
ッシュメモリ33に対するデータのアクセス制御を行う
データアクセス制御部、41は操作パネルである。各ユ
ニットは相互にバス38で接続されており、各バス38
は図示しないがC-BUS,D-BUS,S-BUSを有している。
【0037】キャッシュファンクションエンジン34に
おいて、BFはフラグバッファ、DATは不良・交替ト
ラックテーブルである。フラグバッファBFには、キ
ャッシュメモリCMに存在するレコードのアドレス(C
CHHR)と、該レコードが磁気ディスクDASDに
保存されているか否かを示すフラグFLAG(1は非保
存、0は保存)と、HA/R0が標準フォーマットを
有しているか否かを示す標準フォーマットフラグが記憶
される。チャネルアダプタ31、デバイスアダプタ3
2、キャッシュファンクションエンジン34、リソース
マネージャ35はそれぞれマイクロプロセッサで構成さ
れており、初期時、サービスアダプタSAの制御で不揮
発性メモリ37より制御用マイクロプログラムや制御テ
ーブル類がローデングされる(IML)。
【0038】(b) FBAブロックの構成 図12は本発明の1CKDトラックのFBAブロックの
構成図である。ディスク上の1CKDトラックは複数個
の固定長のFBAブロック1a,1b,・・・1nに分
割されている。尚、図では説明上、1CKDトラックが
4つのFBAブロックで構成されている場合が示されて
いる。各FBAブロックの先頭には64バイトのID部
(COF用ID部であり、以後単にID部という)が設
けられ、それ以降にCKDデータ(レコード)の各フィ
ールドが記録されるようになっている。先頭のFBAブ
ロック1aにはCKDトラックのホームアドレス部H
AとCKDフォーマットを有するレコードR0のみを
記録し、余りは空きになっている。他のFBAブロック
1b〜1nには、CKDフォーマットを有するレコード
R1,R2,・・・の各フィールド(COUNTフィールド、KEY
フィールド、DATAフィールド)が記録される。先頭以外
の各FBAブロックには複数のレコードが記録される場
合もあるし、又、複数のFBAブロックに跨って1つの
レコードが記録される場合もある。
【0039】各FBAブロックのID部には図13に示
すようにCOF変換、不良・交替トラック管理、その他
の処理のために以下の(1)〜(7)の情報が記録されてい
る。すなわち、(1) 対象FBAブロックのCKDトラッ
ク先頭からの相対ブロック番号、(2) FBAブロック固
有の情報(例えば当該ブロックに有効なレコードが存在
する等)を指示するブロックフラグ、(3) トラック固有
の情報(例えば、正常トラック、交替トラック、不良ト
ラック、欠陥交替トラックの別)を指示するトラックフ
ラグ、(4) 当該FBAブロックが所属するCKDトラッ
クの論理アドレスCCHH、(5) 交替されるCKDトラ
ック(交替トラック)の論理アドレスCCHH、又は不良
トラックの論理アドレスCCHH(ALT CCH
H)、(6) 当該FBAブロックに存在する個々のレコー
ドの番号、(7) 当該ブロックに存在する個々のレコード
の情報(レコードディスクリプタ)、及びレコードポイ
ンタが、ID部に記録される。(7) のレコードポインタ
は、当該FBAブロックの先頭から各レコードのカウン
ト部迄のバイト数、ホームアドレス部HA迄のバイト
数、トラック上のレコード群の終わりを示すEOT(En
d of track)までのバイト数が記録される。
【0040】レコードディスクリプタの第15ビット〜
第9ビットは以下の意味を有し、その他の第8ビット〜
第0ビットは未使用あるいはその他の用途に用いられ
る。 第15Bit:標準レコード(物理アドレスCCHHと
論理アドレスCCHHの値が一致するレコード)である 第14Bit:HA(Home Address)フィ−ルドである 第13Bit:EOT(End of Track)フィ−ルドである 第12Bit:レコードがこのブロックに収まっている 第11Bit:カウント部Cの書き込みで中断が発生し
た 第10Bit:キー部Kの書き込みで中断が発生した 第9Bit :データ部Dの書き込みで中断が発生した キャッシュメモリ33は図14に示すように複数の物理
トラック(実トラック)に対応するトラック記憶領域3
1〜33mを備え、各トラック記憶領域はFBAブロッ
クサイズで分割され、それぞれのブロック領域にはブロ
ックアドレスYが割り振られ、又、各ブロック領域内は
ID部のサイズ(=64バイト単位)で順にアドレスX
が付されている。
【0041】上位装置からのレコードの書き込み指示が
あると、デバイスアダプタ32は該レコードを含むFB
Aブロックをキャッシュメモリ33に展開する。つい
で、チャネルアダプタ31はキャッシュメモリ33に記
憶されている対象レコードの内容を書替える。しかる
後、デバイスアダプタ32は該レコードを含むをFBA
ブロックを磁気ディスク装置40に書き込む。又、上位
装置からレコードの読み込みが指示されると、デバイス
アダプタ32は該レコードを含むFBAブロックをキャ
ッシュメモリ33に展開し、チャネルアダプタ31は該
キャッシュメモリより指示されたレコードを上位装置に
転送する。例えば、レコードRiを書き替える場合、該
レコードRiの実トラック上の位置がインデックスID
XからBバイトとする。かかる場合、レコードRiはキ
ャッシュメモリ33の所定トラック記憶領域33iの先
頭からBバイト位置に展開される。従って、チャネルア
ダプタ31はキャッシュメモリ上でBバイト位置から始
まるレコードRiの内容を書き替える。しかる後、デバ
イスアダプタ32はFBAブロック単位で該レコードを
磁気ディスク装置に書き込む。
【0042】又、レコードの読み出しにおいて、デバイ
スアダプタ32はセットセクタで指定されたパラメタ値
(セクタ値)に基づいて、キャッシュメモリに展開すべ
きFBAブロック(トラック先頭からの相対ブロック番
号をjとする)を求め、該FBAブロックからトラック
最後のブロックまでのデータをキャッシュメモリ33に
展開する。この場合、所定トラック記憶領域33iの第
jブロック領域以降に順次FBAブロックデータを記憶
する。しかる後、チャネルアダプタ31は展開されたデ
ータのID部を解析し、上位装置が要求しているフィー
ルドのデータだけを転送する。以上のような方法で、デ
ータ(レコード)をFBAブロック化してキャッシュメ
モリ33上に展開することによりFBAディスクに対し
てデータの書き込みあるいは読み取りをFBAブロック
単位で行う。以下、データの読み取り及び書き込みにつ
いて詳細に説明する。
【0043】(c) データの読み取り 図15は本発明によるデータ読み取りの説明図である。
尚、図中○印は指示や終了報告がリソースマネージャR
Mを経由していることを示す。チャネル装置20よりシ
ークコマンドSKが発生すると、チャネルアダプタ31
はシークコマンドをコマンド待ち行列にキューイング
し、しかる後、シーク動作が終了したように見せ掛けて
動作終了信号をチャネル装置20に返す。チャネル装置
20はシーク動作終了信号の受信により、セットセクタ
コマンドSSを発行する。このコマンドを受信すると、
チャネルアダプタ31はコマンド待ち行列にキューイン
グし、ついで、セットセクタ動作が終了したように見せ
掛けて動作終了信号をチャネル装置CHに返す。チャネ
ル装置20はセットセクタ動作終了信号の受信により、
サーチIDコマンドSIDを発行する。このコマンドを
受信するとチャネルアダプタ31はキャッシュファンク
ションエンジン34に要求されたアドレス(CCHH
R)のレコードがキャッシュメモリ33に存在するか問
い合わせる(ヒット問い合わせ)。
【0044】要求されたレコードがキャッシュメモリ3
3に存在しなければ(NOT HIT)、チャネルアダ
プタ31はリソースマネージャ35にその旨を通知する
と共に、チャネル装置20を磁気ディスク制御装置30
から切り離すためにリトライ信号を発行する。リソース
マネージャ35は内蔵のテーブル記憶部に記憶されてい
る排他制御テーブルECTを参照して対象となる磁気デ
ィスク装置40がアクセス中でないことを確認し、所定
のデバイスアダプタ32を決定し、シークコマンドに含
まれるCKDトラック位置(CCHH)を渡し、シーク
動作を指令する。デバイスアダプタ32はシーク指令を
受信すると、次式によりCKDトラックCCHHの先頭
FBAブロック番号Pを演算する。
【0045】 P=[M・(ヘッド本数)+N]・B ・・・(1) ただし、(1)式において、M=CC(最小値は0),N
=HH(最小値は0)、Bは1CKDトラックに含まれ
るFBAブロック数である。デバイスアダプタ32は先
頭FBAブロック番号が求まれば、磁気ディスク装置4
0に対してSCSIインターフェースを介してヘッドを
先頭ブロックPに位置付けするためのシーク動作を指令
する。そして、磁気ディスク装置40よりシーク指令に
対する位置付け完了信号を受信すれば、その旨をチャネ
ルアダプタ31に通知する。これにより、チャネルアダ
プタ31はデバイスアダプタ32にセットセクタコマン
ドに含まれるセクタ値(S)を渡し、セットセクタ動作
を指令する。デバイスアダプタ32はセットセクタ指令
を受信すると、次式により指示されたセクタに記録され
ているFBAブロックのトラック先頭からの相対ブロッ
ク番号Qを演算する。
【0046】 y=S・(1セクタのバイト長)/1FBAのバイト長 ・・・(2) (ただし、yはトラック先頭からのFBAブロック数) Q=P+[y] ・・・(3) ([y]は小数点を切り上げた整数) ついで、デバイスアダプタ32は磁気ディスク装置40
に対してSCSIインターフェースを介して相対ブロッ
ク番号QのFBAブロックからリードするためのリード
処理動作を指令する。尚、このリード処理はFBAブロ
ックの相対ブロック番号Qを含むリード命令を固定長の
磁気ディスク装置40に発行して所定のFBAブロック
を読み取る処理である。磁気ディスク装置40より読み
込み処理指令に対する位置付け完了信号を受信すれば、
磁気ディスク装置40に1CKDブロック分(例えばE
OTを含むブロック迄)の読み取りを指示し、読み取ら
れたFBAブロックをキャッシュメモリ33に書き込む
(ステージング、図15参照)。この際、キャッシュフ
ァンクションエンジン34内蔵のメモリには、各FBA
ブロックのID部に記録されているレコードのアドレス
CCHHRが格納される。
【0047】キャッシュメモリ33への書き込みが終了
すれば、デバイスアダプタ32はステージング終了をリ
ソースマネージャ経由でチャネルアダプタ31に通知す
る。これによりチャネルアダプタ31はコマンド要求信
号をチャネル装置20に送出する。チャネル装置20は
コマンド要求を受信すると、直前に発行したサーチID
コマンドSIDを再度発行する。チャネルアダプタ31
はサーチIDコマンドSIDを受信すれば、FBAブロ
ックのID情報(レコード番号とポインタ)を参照して
キャッシュメモリCM上で指示されたレコードの検索を
行い、検索終了によりサーチIDの動作終了信号をチャ
ネル装置20に送る。チャネル装置20はサーチIDの
動作終了信号を受信すればリードコマンドRDを発行す
る。チャネルアダプタ31はリードコマンドRDを受信
すれば、サーチしてあるレコードをキャッシュメモリ3
3からダイレクトに読み出してチャネル装置20に転送
し、転送動作が終了すれば、正常終了ステータスを報告
する。
【0048】一方、サーチIDで要求されたレコードが
キャッシュメモリCMに存在すれば(リードヒット)、
チャネルアダプタ31はコマンド要求信号をチャネル装
置20に送出する(図15点線参照)。チャネル装置2
0はコマンド要求を受信すると、直前に発行したサーチ
IDコマンドSIDを再度発行する。チャネルアダプタ
31はサーチIDコマンドSIDを受信すれば、ID情
報を参照してキャッシュメモリCM上で指示されたレコ
ードの検索を行い、検索終了によりサーチIDの動作終
了信号をチャネル装置20に送る。チャネル装置20は
サーチIDの動作終了信号を受信すればリードコマンド
RDを発行する。チャネルアダプタCAはリードコマン
ドRDを受信すれば、要求されたレコードをキャッシュ
メモリCMから読み出してチャネル装置CHに転送し、
転送動作終了後正常終了ステータスを報告する。
【0049】(d) データの書き込み 図16はデータの書き替え手順の説明図である。チャネ
ル装置20よりシークコマンドSKが発生すると、チャ
ネルアダプタ31はシークコマンドをコマンド待ち行列
にキューイングし、しかる後、シーク動作が終了したよ
うに見せ掛けて動作終了信号をチャネル装置20に返
す。チャネル装置20はシーク動作終了信号の受信によ
り、セットセクタコマンドSSを発行する。このコマン
ドを受信すると、チャネルアダプタ31はコマンド待ち
行列にキューイングし、ついで、セットセクタ動作が終
了したように見せ掛けて動作終了信号をチャネル装置C
Hに返す。チャネル装置20はセットセクタ動作終了信
号の受信により、サーチIDコマンドSIDを発行す
る。このコマンドを受信するとチャネルアダプタ31は
キャッシュファンクションエンジン34に要求されたア
ドレス(CCHHR)のレコードがキャッシュメモリ3
3に存在するか問い合わせる(ヒット問い合わせ)。
【0050】要求されたレコードがキャッシュメモリ3
3に存在しなければ、チャネルアダプタ31はリソース
マネージャ35にその旨を通知すると共に、チャネル装
置20を磁気ディスク制御装置30から切り離すために
リトライ信号を発行する。以後、図15と同様のステー
ジング処理が実行される。ステージングが終了すれば、
デバイスアダプタ32はステージング終了をリソースマ
ネージャ経由でチャネルアダプタ31に通知する。これ
によりチャネルアダプタ31はコマンド要求信号をチャ
ネル装置20に送出する。チャネル装置20はコマンド
要求を受信すると、直前に発行したサーチIDコマンド
SIDを再度発行する。チャネルアダプタ31はサーチ
IDコマンドSIDを受信すれば、ID情報を参照して
キャッシュメモリCM上で指示されたレコードの検索を
行い、検索終了によりサーチIDの動作終了信号をチャ
ネル装置20に送る。
【0051】チャネル装置20はサーチIDの動作終了
信号を受信すればライトコマンドWDを発行する。チャ
ネルアダプタ31はライトコマンドWDを受信すれば、
サーチしてあるレコードをライトコマンドに付随するレ
コードでダイレクトに書き替え、書き替え終了後チャネ
ル装置に正常終了ステータスを報告する。又、キャッシ
ュファンクションエンジンCFEは書き替えレコードの
アドレスCCHHRに対応するフラグを”1”にする。
又、以上と並行してディスク制御装置30内蔵の図示し
ない不揮発性メモリ(NVS)にライトレコードが書き
込まれる。これは、何等の原因でキャッシュメモリ33
の内容が磁気ディスク装置40に保存される前に消失す
るのを防止するためである。以後、デバイスアダプタ3
2はホストの動作と関係なく、フラグが1のCCHHR
のレコードを含むFBAブロックをキャッシュメモリ3
3から読み取って磁気ディスク装置DASDに転送し、
所定の位置に書き込ませる(ライトバック)。この場
合、キャッシュファンクションエンジン34は該レコー
ドアドレスCCHHRのフラグを0にする。
【0052】一方、サーチIDで要求されたレコードが
キャッシュメモリ33に存在すれば(ライトヒット)、
チャネルアダプタ31はコマンド要求信号をチャネル装
置20に送出する(図16の点線参照)。チャネル装置
20はコマンド要求を受信すると、直前に発行したサー
チIDコマンドSIDを再度発行する。チャネルアダプ
タ31はサーチIDコマンドSIDを受信すれば、FB
AブロックのID情報を参照してキャッシュメモリCM
上で指示されたレコードの検索を行い、検索終了により
サーチIDの動作終了信号をチャネル装置20に送る。
チャネル装置20はサーチIDの動作終了信号を受信す
ればライトコマンドWDを発行する。以後、前述の場合
と同様に書き替え処理が行われる。
【0053】以上のようにすれば、FBAディスク装置
の場合でもCKDディスク装置の場合と同様にシークコ
マンド、セットセクタコマンド、サーチIDコマンドに
対する位置付け制御、データ検索制御ができる。又、先
頭のFBAブロックにはCKDトラックのホームアドレ
スHAとレコードR0のみを記録するようにしたから、
ディスク制御装置30が上位装置11よりレコードR1
からのフォーマットライト処理命令を受け付けた場合で
も、該HA/R0のFBAブロックはキャッシュメモリ
33に読み出されず、レコードR1以降のFBAブロッ
クのみが読み出される。このため、キャッシュメモリ上
でレコードR1以降のライト処理を簡単に行うことがで
き、高速にフォーマットライト処理を行うことができ
る。尚、HA/R0とレコードR1以降のデータを同一
のFBAブロックに記録する場合には、レコードR1か
らのフォーマットライト処理命令に対してHA/R0の
データも読み出してメモリ上に展開し、HA/R0以外
のレコード部分のみをライト処理する必要があり、ライ
ト処理が複雑になって高速のフォーマットライト処理が
できない。
【0054】(e) データアクセス制御部 図17はキャッシュメモリへのデータアクセス説明図で
ある。キャッシュメモリ33は複数のトラック記憶領域
を備え、各トラック記憶領域33iは図17(A)に示
すようにFBAブロック単位で分割され、該分割された
領域1a,1b,・・・,1nにブロックアドレスYが
付されている。又、各分割領域内はID部のサイズ単位
(=64バイト)で順に内部アドレスXが付され、各ブ
ロックの先頭64バイト(内部アドレスX=0)にはI
D部が記憶される。チャネルアダプタ31は、キャッシ
ュメモリ33への書き込みあるいは読み出し時に、ブロ
ックアドレスYと、分割領域内のアドレスXを指定す
る。例えば、図17(B)に示すようにトラック記憶領
域33iの第2FBAブロック1b(ブロックアドレス
Y=2)のアドレスX0より第3ブロック領域1c(ブ
ロックアドレスY=3)までレコードRiが書き込まれ
ているとすると、チャネルアダプタ31は該レコードR
iの読み取り、あるいは書き替えに際して、ブロックア
ドレス2,3と、内部アドレスX0をデータアクセス制
御部39に入力する。データアクセス制御部39は該ア
ドレスに基づいてキャッシュメモリ33にアクセスして
レコードRiの読み書きを行う。
【0055】図18はデータアクセス制御部39の構成
図である。39aはブロックアドレスY0及び内部アド
レスX0がセットされるアドレスレジスタで、下位nビ
ットに内部アドレスX0がセットされ、上位にブロック
アドレスY0がセットされる。下位nビットで表現でき
るアドレス数(2のn乗)はブロック領域の大きさと等
しくなっている。39bは読み出すべき全ブロック領域
のブロックアドレスを記憶するブロックアドレスメモ
リ、39cはID部と同一サイズ(=64バイト)のデ
ータをキャッシュメモリ33から読み/書きする毎に内
部アドレスX0をインクリメント(X0+1→X0)する
+1インクリメント部、39dは64バイトのデータを
キャッシュメモリから読み書きする毎に内部アドレスX
0を+2インクリメント(X0+2→X0)する+2イン
クリメント部、39eは+1インクリメント部から出力
される内部アドレスX0が0であるか、換言すれば次に
アクセスされる部分がID部であるかを判定するデコー
ダである。
【0056】39fはマルチプレクサであり、X0≠0
の場合には、+1インクリメント部39cから出力され
る内部アドレスX0をアドレスカウンタ39aの下位n
ビットにセットし、X0=0の場合には、+2インクリ
メント部39dから出力される内部アドレスX0をアド
レスカウンタ39aの下位nビットにセットする。39
gはポインタであり、最初はブロックアドレスメモリ3
9bの先頭アドレスを指し、以後、1ブロック領域の読
み書きが完了する毎にインクリメントし、次のアドレス
を指すようにしたもの、39hは1ブロック領域の読み
書きが完了する毎に、換言すればX0=0となる毎にポ
インタ39gの内容をインクリメントする+1インクリ
メント部である。
【0057】チャネルアダプタ31あるいはデバイスア
ダプタ32は、メモリ33への書き込みあるいは読み出
し時に、ブロックアドレス(複数ブロックにわたる場
合にはそれぞれのブロックアドレス)Y0,Y1,・・・
と、先頭ブロックアドレスY0で指定される領域内の
アドレスX0を指定する。ブロックアドレスY0,Y1
・・・はブロックアドレスメモリ39bに記憶されると
共に、内部アドレスX0はアドレスレジスタ39aの下
位nビットにセットされる。初期時、ポインタ39gは
ブロックアドレスメモリ39bの先頭アドレス指してい
るから該先頭アドレスに記憶されているブロックアドレ
スデータY0が読み出されてアドレスカウンタ39aの
上位ビットにセットされる。これにより、アドレスカウ
ンタ39aにセットされているアドレスに基づいてキャ
ッシュメモリ33がアクセスされる。64バイトのデー
タの読み/書きが終了すれば、+1インクリメント部3
9c、+2インクリメント部39dは内部アドレスX0
を+1,+2それぞれインクリメントする。デコーダ3
9eは+1インクリメント部39cの出力X0が0であ
るかチェックする。
【0058】X0=0でなければ、マルチプレクサ39
fは+1インクリメントした内部アドレX0をアドレス
カウンタ39aの下位nビットにセットし、次の64バ
イトのデータの読み/書きを行なう。以後、同様な処理
が繰り返され、X0=0になれば、マルチプレクサ39
fは+2インクリメントした内部アドレスX0をアドレ
スカウンタ39aの下位nビットにセットする。又、ポ
インタ39gはインクリメントされ、2番目のアドレス
を指す。この結果、次のブロック領域のアドレスY1
アドレスカウンタ39aの上位ビットにセットされる。
これにより、次のブロック領域の第2アドレスからデー
タの読み/書きが行なわれ、ID部はスキップされる。
すなわち、ID部の存在に関係なくキャッシュメモリ3
3へ連続してレコードを書き込め、あるいは、キャッシ
ュメモリ33からレコードを読み出すことができる。以
上より、複数のFBAブロックに跨っているレコードを
キャッシュメモリ33から読み出し、又は、該メモリへ
書き込む際、データアクセス制御部39は各FBAブロ
ックの先頭に配置されているID部をスキップしてレコ
ードをキャッシュメモリ33より読み出しあるいは書き
込むように動作する。
【0059】(f) 書き込み中断フラグを用いたリード/
ライト処理 各FBAブロックのID部には図13で説明したよう
に、上位装置11からの書き込み処理が中断したか否か
を示すフラグを記録する領域が各レコードのフィールド
(COUNTフィールド、KEYフィールド、DATAフィールド)毎
に設けられている。すなわち、各レコードのデスクリプ
タの第9ビット〜第11ビットには、DATAフィールドの
書き込み中で中断したか、KEYフィールドの書き込み中
で中断したか、COUNTフィールドの書き込み中で中断し
たかが記憶される。この中断フラグを用いて、書き込み
中断したフィールドのデータを上位装置に転送しないよ
うに制御することができる。
【0060】図19は書き込み中断フラグを用いたリー
ド/ライト処理フロー図である。チャネルアダプタ31
は上位装置より所定レコードのCOUNTフィールド、KEYフ
ィールド、DATAフィールドの書き込みコマンドを受信す
ると(ステップ101)、キャッシュメモリ33の対象
FBAブロック領域の先頭に記憶されているID部の中
断フラグを”1”にセットする(ステップ102)。つ
いで、書き込み処理が正常に終了した監視する(ステッ
プ103)。そして、レコードのCOUNTフィールドの書
替えが正常に終了すれば、該COUNTフィールドの中断フ
ラグを”0”にリセットし、又、レコードのKEYフィー
ルドの書替えが正常に終了すれば、該KEYフィールドの
中断フラグを”0”にリセットし、更に、DATAフィール
ドの書替えが正常に終了すれば、該DATAフィールドの中
断フラグを”0”にリセットする(ステップ104)。
しかし、所定のフィールド書き込み中に、上位装置10
よりシステムリセットやセレクティブリセットを受け付
け、書き込み処理が中断した場合には、チャネルアダプ
タ31は中断フラグをリセットしない。この結果、書き
込み中に処理が中断した場合には、フラグをセットした
ままデバイスアダプタ32はFBAブロック単位でキャ
ッシュメモリ上のデータをディスク装置40にライトバ
ックすることになる(ステップ105)。
【0061】かかる状態で、上位装置10より所定レコ
ードの所定フィールドのREAD命令を受け付けた場
合、デバイスアダプタ32は該レコードを含むFBAブ
ロックをキャッシュメモリ33に読み出す(ステップ1
06)。チャネルアダプタ31は指令されたレコードが
含まれるFBAブロックの先頭ID部における該当フィ
ールドの中断フラグがセットされているかチェックする
(ステップ107)。中断フラグがセットされていない
場合には、すなわち、書き込み中断を示していない場合
には該フィールドのデータをキャッシュメモリ33より
読み出して上位装置に転送し(ステップ108)、中断
フラグがセットされている場合には、すなわち、書き込
み中断を示している場合には該フィールドのデータを上
位装置11に転送せず、エラー通知を送る(ステップ1
09)。以上により、データの書き込み中断を認識で
き、REA処理命令に対して誤ったデータの転送を防止
できる。
【0062】(g) ディスク装置の状態監視 電源投入により使用不可能状態(ノットレディー)から
使用可能状態(レディー状態)に移行したとき、使用可
能状態になったことをディスク制御装置30に報告する
機能を有しないディスク装置がある。そこで、ディスク
制御装置30は図20に示す処理フローに従ってこれら
ディスク装置の状態監視を実行する。尚、デバイスアダ
プタ32の記憶部には、図21に示すように状態監視テ
ーブルCMTが設けられ、各ディスク装置の論理アドレ
ス(機番)に対応させてレディー状態監視の要否及びレ
ディー/ノットレディーの状態が記憶されるようになっ
ている。
【0063】デバイスアダプタ32はレディー状態監視
要のディスク装置が全てレディー状態になったか監視し
(ステップ201)、全てがレディー状態になっていな
ければ、定期的にノットレディー状態の磁気ディスク装
置に対してTEST UNIT READYコマンドを送出する(ステッ
プ202)。該コマンドに対して応答があるかチェック
し(ステップ203)、応答があれば、状態監視テーブ
ルCMTにおける該当機番の状態欄にレディーを記入し
(ステップ204)、初めに戻り以降の処理を繰り返
す。しかし、所定時間経過しても応答がなければ(ステ
ップ205)、状態監視テーブルCMTを更新すること
なく、初めに戻り以降の処理を繰り返す。そして、上記
監視処理によりレディー状態監視要のディスク装置が全
てレディー状態になれば、監視処理を終了する。以上に
より、ディスク制御装置30は、レディー状態通知機能
を有しないディスク装置が配下として接続されてもノッ
トレディーからレディーへの移行を確実に認識すること
ができる。
【0064】(h) HA/R0の生成 トラック先頭の第1FBAブロックはホームアドレスH
A又はレコードR0の読み/書き命令が指令されない限
り、キャッシュメモリ33に読み出されない。ところ
で、キャッシュメモリ33にレコードR1以降のデータ
が展開されて所定のレコードの読み/書きが行われた
後、上位装置が該読み書きしたレコードの所属するトラ
ック確認等のために、HA/R0のリードコマンドを出
す場合がある。かかる場合、ディスク装置よりHA/R
0部をキャッシュメモリ33に読み出すのでは相当の時
間を必要とする。
【0065】HA/R0が標準のフォーマットを有して
いるか否かが判れば、内部的に該HA/R0を生成して
上位装置に転送でき、アクセス時間を短縮できる。そこ
で、HA/R0部が標準フォーマットを有するものであ
るか否かを示すフラグをディスク装置に対応させてキャ
ッシュメモリ管理部34のバッファBFに記憶してお
き、リードHA/R0が指令された時、該標準フォーマ
ットフラグを参照して内部的に該HA/R0を生成して
上位装置に転送する。図22はリードHA/R0の処理
フローである。チャネルアダプタ31は、上位装置より
リードコマンドを受信すると(ステップ301)、HA
/R0のリードコマンドかチェックし(ステップ30
2)、HA/R0のリードコマンドでなければキャッシ
ュメモリ33上の対象レコードを検索して上位装置に転
送する(ステップ303)。
【0066】しかし、HA/R0のリードコマンドであ
れば、チャネルアダプタ31は、標準フォーマットフラ
グが”1”であるかチェックする(ステップ304)。
標準フォーマットフラグが”1”であれば、チャネルア
ダプタ31は内部的に擬似HA/R0を生成してキャッ
シュメモリ33の対応するブロック領域に記憶すると共
に、該擬似HA/R0を上位装置へ転送する(ステップ
305、306)。すなわち、キャッシュメモリ33に
展開されているFBAブロックのうち、リード命令の対
象であるHA/R0と同一トラック上のFBAブロック
のID部よりトラックアドレス(CCHH)を求め、該
トラックアドレスを用いて擬似HA/R0を生成して上
位装置に転送する。しかし、標準フォーマットフラグ
が”0”の場合には、デバイスアダプタ32はHA/R
0を含むFBAブロックをキャッシュメモリ33に読み
出し、しかる後、チャネルアダプタ31は該HA/R0
を上位装置に転送する(ステップ307)。以上のよう
にすれば、HA/R0部が標準フォーマットを有する場
合にはディスク装置40から該HA部/R0部が記録さ
れているFBAブロックを一々読み出す必要がなく、高
速にHA/R0を上位装置に転送することができる。
【0067】(i) 連続トラックのディスク装置への書き
戻し HA/R0部のみで先頭FBAブロックを構成する本発
明の場合には、キャッシュメモリ33上にレコードR1
から展開される。このため、連続する複数トラックのレ
コードがキャッシュメモリ33上に展開されている場
合、先頭のFBAブロックが抜けた不連続の状態にな
る。ところで、デバイスアダプタ32からFBAディス
ク装置40への書き込みはSCSIインタフェースに従
って、書き込み開始FBAブロックと書き込みブロ
ック数Bnを指定して行う。このため、複数トラックに
わたって連続的にFBAブロックを該磁気ディスク装置
に書き戻す場合、先頭FBAブロックが抜けていると1
つのSCSIライトコマンドでもって書き戻せなくな
る。そこで、HA/R0部が標準フォーマットを有する
場合には、チャネルアダプタ31は各トラックのHA/
R0部を内部的に作成してキャッシュメモリ33の各ト
ラック記憶領域33iの先頭ブロック領域に記憶して、
各トラックのFBAブロックの連続性を維持する。この
ようにすれば、複数トラックに渡って連続するFBAブ
ロックを1つのライトコマンドでの連続書き込みが可能
になる。
【0068】図23は連続トラックの書き込み処理フロ
ーである。キャッシュメモリ上のデータの書き戻し(ラ
イトバック)が必要になると(ステップ401)、チャ
ネルアダプタ31はHA/R0部が標準フォーマットを
有する場合には、各トラックの擬似HA/R0部を内部
的に作成してキャッシュメモリ33の各トラック記憶領
域33iの先頭ブロック領域に記憶する(ステップ40
2)。これにより、各トラックのFBAブロックの連続
性が維持される。ついで、デバイスアダプタ32は、書
き込み開始FBAブロックと書き込みブロック数Bnを
ディスク装置に指令し(ステップ403)、ディスク装
置への書き戻しを開始する(ステップ404)。そし
て、1FBAブロックの書き込みが終了する毎に書き込
みブロック数Bnをデクリメント(Bn−1→Bn)し
(ステップ405)、ついで、Bn=0になったか監視
し(ステップ406)、Bn=0になる迄ステップ40
4以降の処理を繰り返す。以上より、複数のトラックに
渡ってFBAブロックの連続性を維持できるため、複数
のトラックに連続してキャッシュメモリ上のレコードを
一括して書き戻せ、メモリを効率的に活用できる。
【0069】(j) 不良、交替トラック制御 キャッシュメモリ管理部34には不良・交替テーブルD
ATが設けられている。この不良・交替テーブルは図2
4に示すように、各ディスク装置毎に、不良トラックの
トラックアドレスCCHHとその交替トラックのトラッ
クアドレスCCHHとの対応を記憶するものである。こ
のように不良・交替テーブルDATを設けるとディスク
装置に対するアクセスを効率良く行うことができる。
【0070】図25は不良・交替トラックが存在する場
合の処理フローである。デバイスアダプタ32はシーク
コマンド、ライトバック等により所定トラックへヘッド
を位置付けする必要があるか監視し(ステップ50
1)、必要があると、不良・交替テーブルDATを参照
し(ステップ502)、対象トラックが不良トラックか
チェックする(ステップ503)。不良トラックでなけ
れば、指示されたトラックへヘッドを位置付けする(ス
テップ504)。一方、ステップ503において、不良
トラックであれば、該不良トラックの交替トラックをテ
ーブルDATより求め、該交代トラックを対象トラック
とし(ステップ505)、以後、対象トラック、すなわ
ち、交替トラックへヘッドを位置付けする(ステップ5
05)。このようにすれば、不良トラックにアクセスす
ることなく直接交替トラックにアクセスすることがで
き、高速アクセスが可能になる。
【0071】(i) 不良・交替テーブルの生成 電源が切断されたり、リセットがかかると、不良・交替
テーブルDATはクリアされる。このため、電源投入
後、あるいは、リセット後に不良・交替テーブルDAT
を生成する必要がある。図26は不良・交替テーブルの
生成処理フローである。各ディスク装置では、交替トラ
ックとして用いるトラック(シリンダ)が予め決まって
おり、該各トラックの先頭FBAブロックのID部に、
実際に不良トラックの交替トラックとして使用されて
いるか否かを示すフラグ、実際に不良トラックの交替
トラックとして用いられている場合には、該交替トラッ
クのトラックアドレスと不良トラックのトラックアドレ
スが記録されている。
【0072】そこで、デバイスアダプタ32は、電源投
入後、あるいはリセット後、前記シリンダの各トラック
の先頭FBAブロックに記録されているID部を読み取
り、交替トラックのトラックアドレスと不良トラックの
トラックアドレスをキャッシュファンクションエンジン
34に通知する(ステップ601,602)。これによ
り、キャッシュファンクションエンジン34は通知され
た不良トラックアドレス及び交替トラックアドレスを用
いて、不良・交替テーブルDATを作成する(ステップ
603)。ついで、全ディスク装置の不良・交替テーブ
ルを作成したかチェックし(ステップ604)、全ディ
スク装置の不良・交替テーブルが作成されていれば、不
良・交替テーブルの生成処理を終了し、作成されていな
ければ、対象ディスク装置を変更し(ステップ60
5)、ステップ602以降の処理を実行する。以上のよ
うにすれば、電源が切断されても、あるいは不良・変換
テーブルがリセットされても該不良・交替テーブルDA
Tを作成することができる。
【0073】(j) 不良・交替テーブルの更新 不良・交替テーブルDATは常に最新の内容となるよう
に更新しなければならない。図27は不良・交替テーブ
ルの更新処理のフローである。不良トラックが発見され
ると上位装置に通知され、上位装置は不良トラックのF
BAブロックのID部に不良・交替トラック情報を書き
込むための不良・交替処理命令を発行する。従って、チ
ャネルアダプタ31は上位装置より不良・交替処理命令
を受信したか監視し(ステップ701)、該不良・交替
処理命令を受信すればキャッシュファンクションエンジ
ン34に通知する。この通知により、キャッシュファン
クションエンジン34は、不良・交替処理命令により指
示された不良トラックアドレスと交替トラックアドレス
を不良・交替テーブルDATに記入し、該テーブルを更
新する(ステップ702)。このようにすれば、常に最
新の不良・交替トラックの対応がテーブルDATに記憶
されるため、高速に交代トラックにアクセスすることが
できる。
【0074】(j) 不良・交替テーブルが不完全な場合の
不良・交替制御 不良・交替処理命令に基づいて、不良・交替テーブルD
ATに新たな不良トラックと交替トラックの対応を記入
するようになっているが、この記入処理に失敗する場合
がある。図28は不良・交替テーブルが不完全な場合の
不良・交替制御の処理フローである。尚、全FBAブロ
ックのID部に、(1) 正常/不良トラックの別を示すフ
ラグと、(2)不良の場合には交替トラックのトラックア
ドレスを含む情報を記録してあるものとする。上位装置
からの読み込みコマンド又は書き込みコマンドにより、
デバイスアダプタ32は所定のFBAブロックをキャッ
シュメモリ33に読み出す(ステップ801)。つい
で、チャネルアダプタ31は読み出されたFBAブロッ
クにおけるID部の不良・交替トラック情報を参照し
(ステップ802)、キャッシュメモリに読み出したデ
ータが不良トラック上のデータであるかチェックする
(ステップ803)。正常なトラックから読み出したデ
ータであれば以後、通常の処理を行う。
【0075】 一方、キャッシュメモリ上のデータが不
良トラックから読み出したデータであれば、不良トラッ
クの交替トラックアドレスCCHHをID部より読み込
み(ステップ804)、不良・交替テーブルDATに記
入すると共に(ステップ805)、交替トラックにヘッ
ドを位置付けして必要なデータをキャッシュメモ33に
読み出してメモリに展開する。以上のようにすれば、上
位装置からの不良・交替処理命令に基づいたテーブルD
ATの更新が失敗した場合であっても交替トラックより
データをキャッシュメモリに読み出して処理でき、しか
も、不良・交替テーブルDATを更新することができ
る。以上、本発明を実施例により説明したが、本発明は
請求の範囲に記載した本発明の主旨に従い種々の変形が
可能であり、本発明はこれらを排除するものではない。
【0076】
【発明の効果】以上本発明によれば、FBAディスク装
置の場合でもCKDディスク装置の場合と同様にシーク
コマンド、セットセクタコマンド、サーチIDコマンド
に対する位置付け制御、データ検索制御ができる。又、
先頭のFBAブロックにはCKDトラックのホームアド
レスHAとレコードR0のみを記録するようにしたか
ら、ディスク制御装置が上位装置よりレコードR1から
のフォーマットライト処理命令を受け付けた場合でも、
該HA/R0のFBAブロックはキャッシュメモリに読
み出されず、レコードR1以降のFBAブロックのみが
読み出される。このため、メモリ上でレコードR1以降
のライト処理を簡単に行うことができ、高速にフォーマ
ットライト処理を行うことができる。
【0077】本発明によれば、上位装置からの書き込み
処理が中断したか否かを示すフラグをフィールド(COUNT
フィールド、KEYフィールド、DATAフィールド)毎にFB
AブロックのID部に記録するようにしたから、レコー
ド読み出し時に該フラグを参照することにより、データ
の書き込み中断があったフィールドであるか否かを認識
でき、REA処理命令に対して誤ったデータを上位装置
に転送しないようにできる。本発明によれば、複数のF
BAブロックに跨っているレコードをキャッシュメモリ
から読み出し、又は、該メモリへ書き込む際、各FBA
ブロックの先頭に配置されているID部をスキップして
レコードを読み出しあるいは書き込むようにしたから、
上位装置から要求されたレコードが1FBAブロックサ
イズより長く、複数のFBAブロックに跨る場合であっ
ても、各ブロックのID部の存在に関係なくキャッシュ
メモリへ連続してレコードを書き込め、あるいはキャッ
シュメモリからレコードを読み出すことができる。
【0078】本発明によれば、定期的にディスクの状態
を検索するコマンドを発行し、ディスク装置から該コマ
ンドの応答があるか否かにより該ディスク装置が使用可
能状態になったことを認識するようにしたから、ディス
ク制御装置は、レディー状態通知機能を有しないディス
ク装置が配下として接続されてもノットレディーからレ
ディーへの移行を確実に認識することができる。本発明
によれば、ホームアドレスHA及びレコードR0が標準
フォーマットを有するものであるか否かを示すフラグを
記憶し、上位装置より所定トラックのホームアドレスH
A及びレコードR0の読み込み命令が発行された時、該
HA/R0部が標準フォーマットを有するものであれ
ば、内部的にホームアドレスHA及びレコードR0(擬
似HA/R0)を作成して上位装置に転送する。このよ
うにしたから、キャッシュメモリにレコードR1から展
開されているトラックに対して、上位装置よりHA/R
0部の読み込み命令が発行された場合でも、ディスク装
置から該HA部/R0部が記録されているFBAブロッ
クを読み出す必要がなく、高速にHA/R0を上位装置
に転送することができる。
【0079】本発明によれば、各トラックのホームアド
レスHA及びレコードR0(先頭FBAブロック)を内
部的に作成してキャッシュメモリに記憶するようにした
から、各トラックのFBAブロックの連続性を確保でき
る。この結果、複数のトラックに渡って連続してFBA
ブロックを磁気ディスク装置に書き戻すことができる。
本発明によれば、不良トラックと交替トラックの対応を
示すテーブルをディスク制御装置内に設けたから、該テ
ーブルを参照して不良トラックの有無、交替トラックの
アドレスを認識できるため、対象トラックが不良トラッ
クの場合にはテーブルより交替トラックを求め、交替ト
ラックに対して上位装置から指示された処理を直接行う
ようにできる。この結果、不良トラックにアクセスする
ことなく直接交替トラックにアクセスすることができ、
高速アクセスが可能になる。
【0080】本発明によれば、交替トラックとして用い
るトラック(シリンダ)を予め設定し、該各トラックの
先頭FBAブロックのID部に、実際に不良トラック
の交替トラックとして使用されているか否かを示すフラ
グ、実際に不良トラックの交替トラックとして用いら
れている場合には、該交替トラックのトラックアドレス
と不良トラックのトラックアドレスを記録する。この結
果、電源が切断されたり、リセットがかかってテーブル
内容がクリアされても、前記各トラックの先頭FBAブ
ロックを読み取ることにより、不良・交替テーブルDA
Tを復元(作成)することができる。
【0081】本発明によれば、上位装置から不良・交替
処理命令を受け付けたとき、該命令により指示された不
良トラックと交替トラックのトラックアドレスの対応を
不良・交替テーブルDATに記入し、該テーブルを更新
するようにしたから、常にに最新の不良・交替トラック
の対応をテーブルに記憶でき、誤って不良トラックにア
クセスすることはない。
【0082】本発明によれば、全FBAブロックのID
部に(1) 正常/不良トラックの別を示すフラグと、(2)
不良の場合には交替トラックのトラックアドレスを含む
情報を記録する。そして、キャッシュメモリに展開され
たFBAブロックのID部を検査し、該FBAブロック
が不良トラックに記録されていることが判明すれば、直
ちに交替トラックにヘッドを位置付けして必要なデータ
を読み出してメモリに展開すると共に、新たに判明され
た不良、交替トラックの対応をテーブルDATに記入す
る、このようにしたから、上位装置からの不良・交替処
理命令に基づいたテーブルDATの更新に失敗した場合
であっても交替トラックよりデータをメモリに読み出し
て処理でき、しかも、不良・交替テーブルを更新するこ
とができる。
【図面の簡単な説明】
【図1】本発明の原理説明図である。
【図2】キャッシュメモリを備えたディスク制御装置を
含むシステムの構成図である。
【図3】CA,DA,RMの構成図である。
【図4】CKDフォーマットの説明図である。
【図5】データ読取説明図(リードヒットしない場合)
である。
【図6】データ読取説明図(リードヒットの場合)であ
る。
【図7】データ書き込みの説明図(ライトスルーの場
合)である。
【図8】データ書き込みの説明図(ライトヒット、ライ
トバックの場合)である。
【図9】FBAフォーマット説明図である。
【図10】CKD・FBAフォーマット変換説明図であ
る。
【図11】本発明のシステム構成図である。
【図12】1CKDトラック分のFBAブロックの説明
図である。
【図13】FBAフォーマットの説明図である。
【図14】フォーマット変換のためのキャッシュメモリ
上の展開説明図である。
【図15】データ読み取り手順説明図である。
【図16】データ書替え手順説明図である。
【図17】キャッシュメモリへのデータアクセス説明図
である。
【図18】データアクセス制御部の構成図である。
【図19】書き込み中断フラグを用いたリード/ライト
処理フローである。
【図20】状態監視処理フローである。
【図21】状態監視テーブルの説明図である。
【図22】リードHA/R0の処理フローである。
【図23】連続トラックの書き戻し処理フローである。
【図24】不良・交替テーブルの構成図である。
【図25】不良・交替テーブルを用いた処理フローであ
る。
【図26】不良・交替テーブルの生成処理フローであ
る。
【図27】不良・交替テーブルの更新処理フローであ
る。
【図28】不良・交替テーブルが不完全な場合の処理フ
ローである。
【符号の説明】
11・・上位装置 30・・ディスク制御装置 31・・チャネルアダプタ 32・・デバイスアダプタ 33・・キャッシュメモリ 34・・キャッシュファンクションエンジン 35・・リソースマネージャ 39・・データアクセス制御部 40・・ディスク装置
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 G11B 20/12 102 9295−5D G11B 20/12 102

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】 下位装置を記録形式が可変長(CKDフ
    ォーマット)の入出力装置とみなして入出力命令を発行
    する上位装置と、記録形式が固定長(FBAフォーマッ
    ト)のディスク装置との間に設けられ、メモリ上でCK
    DフォーマットとFBAフォーマットのエミュレーショ
    ンを行い、固定長単位でディスク装置にアクセスするデ
    ィスク制御装置の制御方法において、 ディスク上の1CKDトラックを複数個の固定長のFB
    Aブロックに分割し、 先頭のFBAブロックにはCKDトラックのホームアド
    レスHAとCKDフォーマットを有するレコードR0の
    みを記録し、 他のFBAブロックには、CKDフォーマットを有する
    レコードR1,R2・・・の各フィールド(COUNTフィールド、
    KEYフィールド、DATAフィールド)を記録するディスク制
    御装置の制御方法。
  2. 【請求項2】 各FBAブロックの先頭位置に設けられ
    たID部に該FBAブロックに含まれるレコードの番号
    と該レコードの位置を記録し、 ディスク制御装置は、上位装置からCKDフォーマット
    でヘッド位置付けコマンドが指令された時、該位置付け
    コマンドのパラメータ値よりFBAブロック番号を求
    め、 該FBAブロック番号が指示するFBAブロックから該
    FBAブロックが属するCKDトラック内の最後のFB
    Aブロックまでを読み取ってメモリに展開し、 メモリ上で上位装置より指示されたレコードを前記ID
    部の記録情報を参照して検索するディスク制御装置の制
    御方法。
  3. 【請求項3】 上位装置からの書き込み処理が中断した
    か否かを示すフラグを各レコードのフィールド毎に前記
    FBAブロックのID部に記録し、 上位装置よりの読み込み命令の対象であるフィールドの
    フラグを参照し、 該フラグが書き込み中断を示していない場合には該フィ
    ールドのデータをメモリより読み出して上位装置に転送
    し、 該フラグが書き込み中断を示している場合には該フィー
    ルドのデータを上位装置に転送しないようにした請求項
    2記載のディスク制御装置の制御方法。
  4. 【請求項4】 複数のFBAブロックに跨っているレコ
    ードをメモリから読み出す際、又はメモリへ書き込む
    際、各FBAブロックの先頭に配置されているID部を
    スキップしてレコードをメモリより読み出しあるいは書
    き込む手段を設けた請求項2記載のディスク制御装置の
    制御方法。
  5. 【請求項5】 1CKDトラック分のデータが記憶され
    るメモリ上の記憶領域をFBAブロック単位に分割し、
    該分割された領域にブロックアドレスYを付すと共に、
    各分割領域内をID部のサイズ単位で順に内部アドレス
    Xを付し、 ブロックアドレスYと内部アドレスXを指定し、 前記サイズ毎にメモリにレコードを書き込み又はメモリ
    からレコードを読み出す毎にアドレスXをインクリメン
    トし、 アドレスXがゼロになった時、ブロックアドレスをイン
    クリメントすると共に、アドレスXを2インクリメント
    することによりID部の書き込み又は読み出しをスキッ
    プすることを特徴とする請求項4記載のディスク制御装
    置の制御方法。
  6. 【請求項6】 電源投入により使用不可能状態から使用
    可能状態に移行したとき、使用可能状態になったことを
    ディスク制御装置に報告する機能を有しないディスク装
    置に対して定期的にディスクの状態を検索するコマンド
    を発行し、 ディスク装置から該コマンドの応答があるか否かにより
    該ディスク装置が使用可能状態になったことを認識する
    請求項2記載のディスク制御装置の制御方法。
  7. 【請求項7】 ホームアドレスHA及びレコードR0が
    標準フォーマットを有するものであるか否かを示すフラ
    グを記憶し、 上位装置より所定トラックのホームアドレスHA及びレ
    コードR0の読み込み命令が発行された時、該フラグを
    参照し、標準フォーマットを有するものであれば、内部
    的にホームアドレスHA及びレコードR0を作成して上
    位装置に転送する請求項2記載のディスク制御装置の制
    御方法。
  8. 【請求項8】 ホームアドレスHA及びレコードR0が
    標準フォーマットを有し、かつ、メモリ上にレコードR
    1から展開されているトラックが連続して複数存在する
    場合、各トラックのホームアドレスHA及びレコードR
    0を内部的に作成して先頭FBAブロックを生成し、 該生成した先頭FBAブロックをメモリに記憶すること
    により各トラックのFBAブロックの連続性を保証し、 書き込み開始FBAブロックと書き込みブロック数Nを
    ディスク装置に指令し、複数のトラックに渡って連続し
    てN個のFBAブロックを該ディスク装置に書き込む請
    求項7記載のディスク制御装置の制御方法。
  9. 【請求項9】 ディスク装置毎に、不良トラックと交替
    トラックの対応を示す制御テーブルをディスク制御装置
    内に設け、 上位装置から所定トラックへの処理命令を受信した時、
    前記制御テーブルを参照して該トラックが不良トラック
    であるか調べ、 不良トラックの場合には交替トラックを制御テーブルよ
    り求め、 交替トラックに対して上位装置から指示された処理を行
    う請求項2記載のディスク制御装置の制御方法。
  10. 【請求項10】 ディスク装置において交替トラックと
    して用いるトラックを予め設定し、 前記各トラックの先頭FBAブロックのID部に、実
    際に不良トラックの交替トラックとして使用されている
    か否かを示すフラグ、実際に不良トラックの交替トラ
    ックとして用いられている場合には、該交替トラックの
    トラックアドレスと不良トラックのトラックアドレスを
    記録し、 電源投入された後あるいはリセットされた後、前記トラ
    ックの先頭FBAブロックのID部に記録されている不
    良・交替情報に基づいて前記制御テーブルを作成する請
    求項9記載のディスク制御装置の制御方法。
  11. 【請求項11】 上位装置から不良・交替処理命令を受
    け付けたとき、該命令により指示された不良トラックと
    交替トラックのトラックアドレスを前記制御テーブルに
    記入する請求項10記載のディスク制御装置の制御方
    法。
  12. 【請求項12】 全FBAブロックのID部に正常/不
    良トラックの別を示すフラグと、不良の場合には交替ト
    ラックのトラックアドレスを記録し、 上位装置からの不良・交替処理命令に基づいて該命令で
    指示されたトラック上の全FBAブロックのID部に不
    良/交替情報を記録し、 上位装置よりのアクセス要求により、ディスク装置から
    読み取られてメモリに展開された所定トラックのFBA
    ブロックのID部を検査し、 該FBAブロックが不良トラックに記録されている場合
    には、直ちに交替トラックにヘッドを位置付けして必要
    なデータを読み出してメモリに展開する請求項11記載
    のディスク制御装置の制御方法。
  13. 【請求項13】 前記ID部の検査により得られた不良
    トラックと交替トラックの対応を前記制御テーブルに記
    入する請求項12記載のディスク制御装置の制御方法。
JP04408195A 1995-03-03 1995-03-03 ディスク制御装置の制御方法 Expired - Fee Related JP3260999B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP04408195A JP3260999B2 (ja) 1995-03-03 1995-03-03 ディスク制御装置の制御方法
US08/568,131 US5862363A (en) 1995-03-03 1995-12-06 Method of controlling a disk device by disk control unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP04408195A JP3260999B2 (ja) 1995-03-03 1995-03-03 ディスク制御装置の制御方法

Publications (2)

Publication Number Publication Date
JPH08241174A true JPH08241174A (ja) 1996-09-17
JP3260999B2 JP3260999B2 (ja) 2002-02-25

Family

ID=36792799

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04408195A Expired - Fee Related JP3260999B2 (ja) 1995-03-03 1995-03-03 ディスク制御装置の制御方法

Country Status (2)

Country Link
US (1) US5862363A (ja)
JP (1) JP3260999B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000007105A1 (fr) * 1998-07-27 2000-02-10 Hitachi, Ltd. Systeme informatique

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1376328A3 (en) 1996-01-19 2006-04-19 Hitachi, Ltd. Storage system
US6304940B1 (en) * 1997-08-14 2001-10-16 International Business Machines Corporation Shared direct access storage system for MVS and FBA processors
JP3407628B2 (ja) * 1997-12-19 2003-05-19 株式会社日立製作所 計算機システム
JP3404289B2 (ja) * 1998-05-22 2003-05-06 富士通株式会社 ディスク制御装置及びその制御方法
JP2000047972A (ja) * 1998-07-29 2000-02-18 Hitachi Ltd 入出力制御方式
US6185638B1 (en) * 1998-10-07 2001-02-06 International Business Machines Corporation Method and system for dynamically assigning addresses to an input/output device
US6170023B1 (en) * 1998-10-07 2001-01-02 International Business Machines Corporation System for accessing an input/output device using multiple addresses
US6748486B2 (en) * 2001-01-04 2004-06-08 International Business Machines Corporation Method, system, and data structures for superimposing data records in a first data format to memory in a second data format
JP4170044B2 (ja) * 2002-08-16 2008-10-22 富士通株式会社 ディスク記憶装置
JP4409262B2 (ja) * 2003-11-26 2010-02-03 株式会社日立製作所 ストレージ制御装置、及びストレージ制御装置の制御方法
US7487427B2 (en) * 2004-06-30 2009-02-03 Sap Ag Interface workbench for high volume data buffering and connectivity
DE102004039886A1 (de) * 2004-08-17 2006-03-09 Endress + Hauser Flowtec Ag Verfahren zum Betreiben eines Feldgerätes der Automatisierungstechnik
US9336142B2 (en) * 2013-11-06 2016-05-10 International Business Machines Corporation Cache configured to log addresses of high-availability data via a non-blocking channel

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5301304A (en) * 1988-05-20 1994-04-05 International Business Machines Corporation Emulating records in one record format in another record format
JP2826857B2 (ja) * 1989-12-13 1998-11-18 株式会社日立製作所 キャッシュ制御方法および制御装置
JPH0833864B2 (ja) * 1990-01-30 1996-03-29 富士通株式会社 データ保全方式
US5206939A (en) * 1990-09-24 1993-04-27 Emc Corporation System and method for disk mapping and data retrieval
US5283884A (en) * 1991-12-30 1994-02-01 International Business Machines Corporation CKD channel with predictive track table
JP3175371B2 (ja) * 1992-03-06 2001-06-11 三菱電機株式会社 データ記憶フォーマット変換方式及びその変換方法及びアクセス制御装置及びデータアクセス方法
US5553307A (en) * 1992-04-17 1996-09-03 Hitachi, Ltd. Method and device for transferring noncontiguous blocks in one transfer start by creating bit-map indicating which block is to be transferred
US5421003A (en) * 1992-09-17 1995-05-30 International Business Machines Corporation Disk storage system with fault tolerant media maintenance
JP3422370B2 (ja) * 1992-12-14 2003-06-30 株式会社日立製作所 ディスクキャッシュ制御装置
US5530829A (en) * 1992-12-17 1996-06-25 International Business Machines Corporation Track and record mode caching scheme for a storage system employing a scatter index table with pointer and a track directory
JP3183993B2 (ja) * 1993-03-31 2001-07-09 株式会社東芝 ディスク制御システム
US5535372A (en) * 1994-07-06 1996-07-09 International Business Machines Corporation Method and apparatus for efficient updating of CKD data stored on fixed block architecture devices

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000007105A1 (fr) * 1998-07-27 2000-02-10 Hitachi, Ltd. Systeme informatique

Also Published As

Publication number Publication date
JP3260999B2 (ja) 2002-02-25
US5862363A (en) 1999-01-19

Similar Documents

Publication Publication Date Title
US6772283B2 (en) Disk control device and method processing variable-block and fixed-block accesses from host devices
US5155835A (en) Multilevel, hierarchical, dynamically mapped data storage subsystem
US7814270B2 (en) Storage systems and methods of controlling cache memory of storage systems
US6470421B1 (en) Method and means for reducing device contention by random accessing and partial track staging of records according to a first DASD format but device mapped according to a second DASD format
US5568628A (en) Storage control method and apparatus for highly reliable storage controller with multiple cache memories
US8161259B2 (en) Computer system, storage system and method for saving storage area by integrating same data
JPH07141117A (ja) ディスク制御装置の制御方法
JPS6117025B2 (ja)
JP3260999B2 (ja) ディスク制御装置の制御方法
JP3561002B2 (ja) ディスク装置
US20040268070A1 (en) Method and apparatus for backing up data in virtual storage medium
US7487298B2 (en) Disk array device, method for controlling the disk array device and storage system
JPH07200187A (ja) ディスクアレイ装置
US6574589B1 (en) Information processing system for sharing internal auxiliary storage device
JP3515495B2 (ja) ディスク制御装置及びその制御方法
JP3614886B2 (ja) ファイルシステム
US20230297242A1 (en) Storage device and data recovery method by storage device
JPH05257810A (ja) 情報記録再生装置および情報記録方法
JPH06110619A (ja) 外部記憶装置
JPH07325674A (ja) 半導体メモリの交換方法および半導体ディスクサブシステムの制御方法
JP2004213684A (ja) 半導体ディスク装置
JP2000311112A (ja) 情報システム
JP2004199711A (ja) 半導体ディスク装置
JP2004158047A (ja) 半導体ディスク装置
JPH07121304A (ja) ディスク制御方法

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: 20011204

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

Free format text: PAYMENT UNTIL: 20071214

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20081214

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20091214

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20091214

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20101214

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20111214

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20111214

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20121214

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees