JP3260998B2 - ディスク制御装置 - Google Patents

ディスク制御装置

Info

Publication number
JP3260998B2
JP3260998B2 JP02779495A JP2779495A JP3260998B2 JP 3260998 B2 JP3260998 B2 JP 3260998B2 JP 02779495 A JP02779495 A JP 02779495A JP 2779495 A JP2779495 A JP 2779495A JP 3260998 B2 JP3260998 B2 JP 3260998B2
Authority
JP
Japan
Prior art keywords
disk
record format
format information
record
track
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
JP02779495A
Other languages
English (en)
Other versions
JPH08221210A (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
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP02779495A priority Critical patent/JP3260998B2/ja
Priority to US08/548,429 priority patent/US6009498A/en
Publication of JPH08221210A publication Critical patent/JPH08221210A/ja
Priority to US09/458,554 priority patent/US6101574A/en
Application granted granted Critical
Publication of JP3260998B2 publication Critical patent/JP3260998B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、可変長のデータ形式を
もつディスク装置に対し、上位装置の入出力要求に基づ
いてデータの読み書きを行うディスク制御装置に関し、
特に、キャッシュメモリ上にトラック単位にデータを保
持して上位装置のアクセスに迅速に対応するディスク制
御装置に関する。
【0002】
【従来の技術】近年、計算機システムの外部記憶に使用
される磁気ディスクサブシステムにあっては、複数の磁
気ディスク装置を物理デバイスとして配下に接続したデ
ィスク制御装置に、キャッシュ技術を採用することは不
可欠のものとなっている。このようなディスク制御装置
のキャッシュ機能はディスクキャッシュとして知られて
おり、大量データのアクセスに伴いキャッシュメモリの
容量増加、および電源遮断時のデータ保持を保証するた
めのキャッシュメモリの不揮発化など、様々な手法が提
案されている。
【0003】中でも、キャッシュメモリ上でディスク装
置のデータをトラック単位に保持し、ディスク装置から
キャッシュメモリへのデータのステージング処理を前提
とせず、書込処理でキャッシュメモリがミスヒットとな
っても、ディスク装置へのアクセスの必要なしに、キャ
ッシュメモリ上にホストコンピュータからのデータを格
納して入出力処理を終了し、入出力処理時間の短縮を可
能とする技術は注目を浴びている。
【0004】このようにキャッシュメモリでのトラック
単位のデータの保持により、入出力終了までの全ての処
理をキャッシュメモリ上で終了する機能は、ディスク装
置上でワークデータセットの生成と更新、及び加工とい
った処理を行う場合、実行時間の短縮に大きく貢献す
る。ところでキャッシュメモリ上のデータ管理をディス
ク装置のトラック単位で行うようにしたキャッシュ制御
は、固定長のブロックとしてディスク装置にデータを格
納する磁気ディスクサブシステムにあっては、ディスク
装置のレコードフォーマットは固定的に決まっているた
め、比較的容易にキャッシュメモリ上でトラック単位の
レコード管理が実現可能である。
【0005】
【発明が解決しようとする課題】しかしながら、可変長
データを格納するCKD形式のディスク装置を用いたサ
ブシステムでは、各トラックのレコード数は可変長であ
り、またトラック単位にフォーマット可能なため、キャ
ッシュ上とディスク上でレコード形式が異なる可能性も
あり、ディスク装置のレコード形式を確認しないまま、
キャッシュメモリ上で入出力処理を終了することには、
様々な問題がある。
【0006】例えば、入出力処理はホストコンピュータ
の一方的な指示により行われるが、しばしば入出力処理
ソフトの認識に間違いがあり、ディスク装置上のレコー
ド形式と異なる形式のレコード書込みが行われることが
ある。このような入出力処理ソフトとディスク装置上の
レコード形式の相違は、入出力処理ソフトのバグに起因
したエラーもあるが、それ以外に、入出力処理ソフトが
意図的に最後のレコード形式を変えて異常終了させる場
合もある。
【0007】このようなレコード形式の相違に対し、従
来は、ディスク装置をアクセスしてレコードのデータ長
などを確認しながら書込みを行っていたので、これらの
間違いに対して処理を拒否することができる。しかし、
レコードに対する書込データをキャッシュメモリ上に書
いた時点で、入出力処理の終了をホストコンピュータに
通知するキャッシュ制御では、ディスク装置のレコード
形式がキャッシュメモリに書き込んだレコード形式のも
のと異なっていても認識できず、処理の失敗を報告でき
ないという問題が生じる。
【0008】また別の例として、ディスク装置の読出し
や検索処理では、データが不定長であるために、トラッ
クのレコードを順次読み出さなければ、目的とするレコ
ードにアクセスできず、キャッシュメモリ上で処理を終
了することはできない。本発明は、このような従来の問
題点に鑑みてなされたもので、可変長データを格納した
CKD形式のディスク装置につき、キャッシュメモリ上
にトラック単位にデータを保持し、ディスク装置にアク
セスすることなくレコード形式を認識してキャッシュメ
モリ側だけで入出力処理を終了できるディスク制御装置
を提供することを目的とする。
【0009】
【課題を解決するための手段】図1は本発明の原理説明
図である。まず本発明は、可変長のデータ形式(CKD
形式)をもつディスク装置18に対し、上位装置10の
入出力要求に基づいてデータの読み書きを行うディスク
制御装置12を対象とする。
【0010】ディスク制御装置12には、キャッシュメ
モリ32、レコード形式情報テーブル(LTD; Look-a
-side Table Directory )50、ライトキャッシュ制御
部44、リードキャッシュ制御部46が設けられる。
尚、レコード形式情報テーブル50は、図面上は、LT
Dと表示している。キャッシュメモリ32は、ディスク
装置18のデータをトラック単位に保持する。レコード
形式情報テーブル50には、各ディスク装置18におけ
るトラックのレコード形式情報が保持される。
【0011】ライトキャッシュ制御部44は、上位装置
10からの書込要求に対し、キャッシュメモリ32上に
対応するトラックデータが存在する場合(ヒット時)
は、キャッシュシュメモリ32上で書込処理を終了し、
上位装置10に処理終了を報告する。またキャッシュメ
モリ32上に対応するトラックデータが存在しない場合
(ミスヒット時)は、レコード形式情報テーブル50の
参照によりレコード形式を解析してキャッシュメモリ3
2に展開するトラック上のレコード位置を認識し、キャ
ッシュメモリ32上で書込処理を終了し、上位装置10
に処理終了を報告する。
【0012】リードキャッシュ制御部46は、上位装置
10からの読出要求に対しキャッシュメモリ上に対応す
るトラックデータが存在する場合(ヒット時)は、キャ
ッシュメモリ32上のデータを上位装置10に転送して
処理を終了する。またキャッシュメモリ32上に対応す
るトラックデータが存在しない場合(ミスヒット時)
は、ディスク装置18から対応するトラックをステージ
ングした後に上位装置10にデータを転送して読出処理
を終了する。
【0013】レコード形式情報テーブル50は、レコー
ド形式情報として、トラック上のR0レコード(システ
ム情報の格納領域)のデータ長を保持する。ライトキャ
ッシュ制御部44は、上位装置10からトラックデータ
のR0レコードに続くR1レコード以降のレコード形式
を変更(ユーザレコード形式の変更)する処理要求(フ
ォーマット・ライト命令)を受けた際に、レコード形式
情報テーブル50のR0レコードのデータ長から、R1
レコードの開始位置を認識してキャッシュメモリ32上
でレコード形式を変更することができる。
【0014】レコード形式情報テーブル50は、レコー
ド形式情報として、トラック上に存在するレコード数を
保持する。このためライトキャッシュ制御部44は、上
位装置10からのレコード番号の指定による書込要求に
対し、レコード形式情報テーブル50のレコード数を参
照して、指定されたレコードがトラック上に存在するか
否か判定できる。
【0015】レコード形式情報テーブル50は、レコー
ド形式情報として、トラック上のレコードが全て等しい
データ長を持つことを示す等長フラグを保持する。この
ためライトキャッシュ制御部44は、上位装置10から
のレコード番号の指定による書込要求に対し、等長フラ
グとそのレコード長からキャッシュメモリ32上の指定
レコードの位置(アドレス)を計算して書き込むことが
できる。
【0016】更にディスク制御装置12には、不良トラ
ックと交代トラックとの対応を示す不良交代トラック対
応テーブル54が設けられる。この場合、レコード形式
情報テーブル50は、レコード形式情報として、不良ト
ラックを認識する不良トラックフラグを保持する。ライ
トキャッシュ制御部44は、上位装置からの書込要求に
対し不良トラックフラグを認識した場合は、不良交代ト
ラック対応テーブル54を参照してキャッシュメモリ3
2上の交代トラックに書き込む。
【0017】キャッシュメモリとしては、電源遮断時に
データ保持可能な不揮発性キャッシュメモリ30を備
え、レコード形式情報テーブル50を不揮発性キャッシ
ュメモリ30に格納する。これによって装置電源の切断
投入に対し継続的にレコード形式情報テーブル50のテ
ーブル内容を保持することができる。ディスク装置18
は、レコード形式情報テーブル50の内容を格納する専
用の領域60をディスク媒体上に備える。これによって
ディスク装置18の配置換えやシステム間でのディスク
装置の移し換えがあっても、レコード形式情報テーブル
50の内容を有効に利用可能とする。
【0018】更にディスク制御装置12には、電源切断
時に、レコード形式情報テーブル50の内容を、対応す
るディスク装置18に書き込むテーブル書戻し部102
と、電源投入時に、ディスク装置18からレコード形式
情報を読み出してキャッシュメモリ32上のテーブル格
納領域に格納するテーブル生成部100が設けられる。
【0019】更に、ディスク制御装置には、履歴管理テ
ーブル52が設けられる。履歴管理テーブル52には、
実装可能な複数のディスク装置の各々のデバイス番号#
1〜#256について、未接続や不使用などを示すテー
ブル無効情報と、有効に使用できることを示すテーブル
有効情報を格納する。テーブル生成部100は、電源投
入時に、履歴管理テーブル52を参照し、ディスク装置
18のデバイス番号#1〜#6の順番にレコード形式情
報テーブル50の格納領域をキャッシュメモリ32上に
確保する。このとき、テーブル有効情報が認識された場
合はテーブル格納領域を確保し、テーブル無効情報が認
識された場合はテーブル格納領域を確保せずにキャッシ
ュデータ領域104として使用させる。
【0020】キャッシュメモリとして電源遮断時にデー
タ保持可能な不揮発性キャッシュメモリ30を設けた場
合、不揮発性キャッシュメモリ30に履歴管理テーブル
52を格納する。磁気ディスク制御装置12に履歴管理
テーブル52を設けた場合、テーブル生成部100は、
電源投入時に、ディスク装置18のデバイス番号#1〜
#6に従って履歴管理テーブル52を順次参照し、テー
ブル有効情報を認識した場合は、対応するディスク装置
のレコード形式情報を読み込み、テーブル無効情報を認
識した場合は、対応するディスク装置のレコード形式情
報の読込みを禁止する。
【0021】テーブル書戻し部102は、定期的にレコ
ード形式情報テーブルの内容を、対応するディスク装置
に書き戻す。またライトキャッシュ制御部44が、上位
装置から要求されたレコード形式をキャッシュメモリ3
2上で変更し、対応するレコード形式情報テーブルのレ
コード形式情報を更新した場合、テーブル書戻し部10
2は、ライトキャッシュ制御部44によるレコード形式
の変更処理の終了を認識した際に、レコード形式情報を
対応するディスク装置18に書き戻す。
【0022】ライトキャッシュ制御部44は、レコード
形式を変更した際に、履歴管理テーブル52にテーブル
無効情報をセットする。この場合、テーブル書戻し部1
02は、電源切断時に、履歴管理テーブル52を参照し
てテーブル無効情報をもつレコード形式情報テーブルの
みを、対応するディスク装置に書き戻す。テーブル有効
フラグのものはキャッシュ上とディスク上でのレコード
形式が一致していたため、レコード形式情報を書き戻す
必要はない。
【0023】レコード形式情報テーブル50は、レコー
ド形式情報として、更に、レコード形式情報が有効か無
効かを示すフラグ情報を有し、装置の運用中に、テーブ
ル生成部102は、レコード形式情報テーブルのフラグ
情報が無効を示すトラックについて、レコード形式情報
を生成してテーブルに格納する。例えばテーブル生成部
100は、ライトキャッシュ制御部46で上位装置10
からレコード形式を初期化するフォーマットライトを実
行してキャッシュメモリ32上に1トラック分のレコー
ドを生成した際に、対応するレコード形式情報を生成し
てレコード形式情報テーブル50に格納する。
【0024】またテーブル生成部100は、レコード形
式情報テーブル50のフラグ情報が無効となっているト
ラックを定期的に検索してディスク装置18からトラッ
クデータを読み出し、このトラックデータを解析してレ
コード形式情報を生成する。更に、テーブル生成部10
0は、リードキャッシュ制御部46によるディスク装置
18からのトラックデータのステージング時に、レコー
ド形式情報テーブル50のフラグ情報の無効を認識した
場合、ステージングされたトラックデータを解析してレ
コード形式情報を生成する。
【0025】更に、テーブル生成部100は、ディスク
装置が新たに増設されて使用可能となった場合、キャッ
シュメモリ32上に増設ディスク装置のレコード形式情
報テーブルの格納領域を確保すると同時に、増設ディス
ク装置の全トラックデータを定期的に読み出して解析す
ることにより、レコード形式情報を生成して前記レコー
ド形式情報テーブル50に格納する。
【0026】リードキャッシュ制御部46は、上位装置
10からの読出要求に対し対応データがキャッシュメモ
リ32上に存在しない場合、レコード形式情報テーブル
50を参照して複数のディスク装置18に亘る複数トラ
ックデータのステージングを認識した場合、複数のディ
スク装置18に対し並列読出しを指示して複数トラック
を同時にステージングさせることを特徴とする。
【0027】
【作用】このような本発明のディスク制御装置によれ
ば、可変長のレコード形式をもつディスク装置であって
も、上位装置からの書込要求に対しミスヒットとなった
場合にも、レコード形式情報テーブルを参照すること
で、実際のディスク装置でのレコード形式を認識し、認
識したレコード形式に従ってキャッシュメモリ上で指定
レコードへの書込みを行って上位装置に処理の完了を報
告することができる。
【0028】キャッシュメモリ上で書込処理を終了した
トラックのデータは、LRUに従ったキャッシュメモリ
からの追出し時に、ライトバック処理によりディスク装
置に書き込まれるが、レコード形式は一致していること
から、レコード形式の相違によるエラーを起こすことな
く、正常にライトバックできる。一方、上位装置からデ
ィスク装置のレコード形式とは異なる書込要求があって
も、レコード形式情報テーブルの参照で、書込要求のレ
コード形式とディスク装置のレコード形式の相違が認識
でき、この場合には、後にライトバックできないことか
ら、上位装置にレコード形式の相違による処理の失敗を
報告することができる。
【0029】
【実施例】
<目 次> 1.動作環境 2.機能構成 3.キャッシュ制御の概略 4.ミスヒット時のキャッシュライト処理 5.LRU処理とライトバック処理 6.LTDテーブルの初期生成処理 7.LTDテーブルの書戻し処理 8.LTDテーブルの生成処理 9.増設時のLTDテーブル生成処理 10.並列ステージング処理 1.動作環境 図2は本発明が適用される磁気ディスクサブシステムの
構成である。図2において、この実施例にあっては、2
台のホストコンピュータ10−1,10−2に対しディ
スク制御装置12が設けられ、ディスク制御装置12の
配下に、ストリングコントローラ16を介して6台のデ
ィスク装置18−1〜18−6を接続している。ここ
で、ディスク装置18−1〜18−6は、デバイス機番
#01〜#06を有する。
【0030】ディスク制御装置12にはMPU20が設
けられ、MPU20に対し内部バス35を介して、RO
M22、RAM25、ホストインタフェース制御部2
6、キャッシュ制御部28、ヒット判定部36、デバイ
スインタフェース制御部38を接続している。ホストイ
ンタフェース制御部26には、この実施例にあっては、
4つのチャネルアダプタ(CA)24−1〜24−4が
設けられる。
【0031】この内、チャネルアダプタ24−1がチャ
ネルバス14−1によってホストコンピュータ10−1
に接続され、またチャネルアダプタ24−2がチャネル
バス14−2によってホストコンピュータ10−2に接
続されている。デバイスインタフェース制御部38に
は、4台のデバイスアダプタ40−1〜40−4が設け
られる。この内、デバイスアダプタ40−1,40−2
をデバイスバス42−1,42−2を介してストリング
コントローラ16に接続している。
【0032】キャッシュ制御部28に対しては、不揮発
性キャッシュメモリ30とキャッシュメモリ32が設け
られる。不揮発性キャッシュメモリ30はバックアップ
電源34を接続しており、装置電源が遮断してもバック
アップ電源34からの電源供給でデータを保持すること
ができる。これに対し、キャッシュメモリ32にはバッ
クアップ電源を設けておらず、電源切断時にはデータが
消える揮発性メモリである。キャッシュ制御部28は、
ヒット判定部36と連携をとりながら、ホストコンピュ
ータ10からの入出力要求に対するキャッシュ制御を行
う。
【0033】図3は本発明が適用される動作環境の他の
実施例であり、この実施例は図2のディスク制御装置1
2を2系統設けて二重化構成としたことを特徴とする。
図3において、ホストコンピュータ10−1,10−2
に対しては、同じ構成をもつディスク制御装置12−
1,12−2が設けられる。ディスク制御装置12−
1,12−2は、その配下に共通にストリングコントロ
ーラ16を介して6台のディスク装置18−1〜18−
6を接続している。
【0034】ディスク制御装置12−1,12−2は、
図2のディスク制御装置12と全く同じであり、各回路
部については同じ数字の後ろに−1,−2を付けてい
る。また、ディスク制御装置12−1,12−2の内部
バス35−1,35−2は、ブリッジ回路44を介して
接続されており、MPU20−1,20−2間で命令お
よびデータのやり取りができるようにしている。
【0035】この二重化構成にあっては、ホストコンピ
ュータ10−1,10−2からの入出力要求に対し、そ
れぞれが個別に動作することを基本とする。相違点は、
一方のディスク制御装置でキャッシュ上のデータ更新が
行われた場合、他方のディスク装置のキャッシュデータ
との同一性を保証するため、更新したデータの複写を他
のディスク装置に対して行うことになる。 2.ディスク制御装置の機能構成 図4は本発明のディスク制御装置12の機能を表してい
る。まずディスク制御装置12には、キャッシュ制御の
ための基本的な制御部としてライトキャッシュ制御部4
4とリードキャッシュ制御部46が設けられる。ライト
キャッシュ制御部44およびリードキャッシュ制御部4
6によるキャッシュ制御のため、ヒット判定回路36、
キャッシュ管理テーブル48、キャッシュデータ領域1
04およびLRU部56が設けられる。
【0036】ここで、キャッシュ管理テーブル48は不
揮発性キャッシュメモリ30に格納され、またキャッシ
ュデータ領域104およびLRU部56は揮発性のキャ
ッシュメモリ32に展開されている。キャッシュデータ
領域104には、ストリングコントローラ16の配下に
接続したディスク装置18−1〜18−6のデータがト
ラック単位に格納されている。
【0037】また、キャッシュデータのサイズは基本的
にはトラック単位であるが、データ長が短い場合にはト
ラックサイズの2分の1の大きさをもつパーシャル・ト
ラックデータとして格納される場合もある。キャッシュ
管理テーブル48には、トラックアドレスをエントリと
したキャッシュ制御に必要な情報が格納されている。こ
のようなトラック制御に通常必要な機能に加え、本発明
にあっては、新たにレコード形式情報テーブル50を設
けている。レコード形式情報テーブル50には、現在デ
ィスク制御装置12に接続されている使用可能なディス
ク装置18−1〜18−6のデバイス機番#01〜#0
6ごとに、各トラックのレコード形式に関する情報が格
納されている。
【0038】このレコード形式情報テーブル50は、ル
ックアサイド・テーブル・ディレクトリ(Look-a-side
Table Directory;LTD)として実現される。そこで図
面中は、レコード形式情報テーブル50をLTDとして
いる。図4の実施例にあっては、レコード形式情報テー
ブル50を揮発性のキャッシュメモリ32に設けてい
る。
【0039】このレコード形式情報テーブル50を不揮
発性キャッシュメモリ30に設けることもできる。不揮
発性キャッシュメモリ30にレコード形式情報テーブル
50を設けた場合には、電源の切断投入に関わりなく継
続的にディスク制御装置12内にレコード形式情報テー
ブルが維持できるため、電源切断時におけるディスク装
置18−1〜18−6への書戻し、および電源投入時に
おけるディスク装置18−1〜18−6からの読出しに
よる初期生成が不要となる。
【0040】以下の実施例にあっては、レコード形式情
報テーブル50を揮発性のキャッシュメモリ32に設け
た場合を例にとって説明する。更に本発明にあっては、
履歴管理テーブル52が新たに設けられる。履歴管理テ
ーブル52には、ディスク制御装置12に接続可能な最
大構成分のディスク装置のデバイス機番、例えばデバイ
ス機番#001〜#256分の履歴情報の格納領域が準
備され、この履歴管理情報格納領域の一部をレコード形
式情報テーブル50の管理情報の格納に使用している。
【0041】具体的には、履歴管理テーブル52には、
デバイス機番をエントリとしてキャッシュメモリ32に
展開しているレコード形式情報テーブル50のデバイス
機番ごとのアドレス先頭位置を示すポインタ情報と、キ
ャッシュメモリ32に展開しているレコード形式情報テ
ーブル50が、有効に使えるか使えないかの情報を格納
している。
【0042】更に、ディスク装置18−1〜18−6に
あっては、初期フォーマットの際に使用不能な不良トラ
ックが判っており、この不良トラックに対し交代トラッ
クを決めていることから、この関係を示す不良交代トラ
ック対応テーブル54をキャッシュメモリ32に展開し
ている。この不良交代トラック対応テーブル54の内容
は、独立したテーブルとせずにレコード形式情報テーブ
ル50の情報の1つとして格納するようにしてもよい。
【0043】更に、レコード形式情報テーブル50をキ
ャッシュメモリ32上に生成するためのテーブル生成部
100が設けられる。テーブル生成部100は、装置電
源投入時におけるレコード形式情報テーブル50の初期
生成と、装置の運用中における無効状態にあるレコード
形式情報の途中生成を行う。電源投入時の初期生成にあ
っては、テーブル生成部100は履歴管理テーブル52
を参照して、現在使用可能なディスク装置18−1〜1
8−6のデバイス機番#01〜#06に対応した6つの
テーブル格納領域を、キャッシュメモリ32上のテーブ
ルポインタで指定したアドレス先頭位置を基準に確保
し、続いてディスク装置18−1〜18−6に、電源切
断時に書き戻したレコード形式情報を読み出して展開す
る。
【0044】このためディスク装置18−1〜18−6
には、ディスク装置18−1に代表して示すように、ユ
ーザトラック領域58以外に、ディスク装置12のみが
アクセス可能な制御装置使用領域60を設けている。こ
の制御装置使用領域60は、通常、デバイス・サポート
トラック(DST)と呼ばれている。この制御装置使用
領域60には、装置電源の切断時、キャッシュメモリ3
2の対応するレコード形式情報テーブル50のレコード
形式情報が格納される。
【0045】また装置電源の投入時には、制御装置使用
領域60のレコード形式情報が読み出され、キャッシュ
メモリ32上に、対応するレコード形式情報テーブル5
0を展開することになる。テーブル書戻し部102は基
本的には、装置電源の切断時にレコード形式情報テーブ
ル50の内容を、対応するディスク装置18−1〜18
−6の制御装置使用領域60に書き戻す。電源切断時に
テーブル書戻しをしておくと、ディスク装置18−1〜
18−6と一体にレコード形式情報を物理的に移動する
ことができ、例えば他のシステムのディスク制御装置に
ディスク装置を入れ替えたり交換したりする場合に、現
在のディスク制御装置で使用しているレコード形式情報
をそのまま有効情報として他のシステムのディスク制御
装置で利用することができる。
【0046】また装置の運用中におけるテーブルデータ
の書戻しは、ディスク装置の制御装置使用領域60に常
に最新のレコード形式情報を格納することとなり、電源
切断などによりテーブル書戻しが不能になった場合のレ
コード形式データの信頼性を保証することができる。図
5は、図4のディスク装置18−1〜18−6の可変長
のレコード形式であるCKD形式のトラック構造であ
る。即ち図5は、同心円上のトラックを直線で表わして
おり、インデックス106の間が1トラック分のデータ
長となる。このトラック上には、ギャップで区切ったい
くつかの領域がある。まず先頭はホーム・アドレス領域
(HA)であり、2バイトのシリンダ・アドレスCCと
2バイトのヘッド番号HHによってトラック・アドレス
を記述している。
【0047】このホーム・アドレス領域HAの後ろに、
上位のシステムプログラムが使用するためのレコードR
0を設けている。レコードR0はキー領域をもたず、カ
ウント領域Cとデータ領域Dで例えば8バイトとなる特
殊な形式のレコードである。レコードR0に続いて、カ
ウント領域C、キー領域K、データ領域Dから構成され
るユーザ領域となるレコードR1,R2,・・・が複数
書かれている。
【0048】ユーザレコードのカウント領域Cには、ト
ラック・アドレスCCHH、レコード番号Rおよび、後
続するキー領域Kのデータ長K、後続するデータ領域D
のデータ長DDが記述されている。このようなCKD形
式にあっては、各レコードのキー領域K、データ領域D
共に可変長であることを特徴とし、トラックの使用効率
およびアクセスの高速化を図っている。またホストコン
ピュータからの入出力要求は、トラックアドレスとレコ
ード番号を指定することにより個々のレコードを指定し
たアクセスができる。
【0049】図6は、図4のキャッシュ管理テーブル4
8の構成である。キャッシュ管理テーブル48は、トラ
ックアドレス62、更新フラグ64、パーシャルフラグ
66および開始セクタ番号68で構成される。図7は、
キャッシュメモリ32のキャッシュデータ領域104に
対するトラックデータの格納状態である。本発明にあっ
ては、CKD形式のデータをトラック単位に格納してい
る。例えばディスク装置のフォーマッティングによる最
小物理セクタが1KBであり、1トラックが128セク
タであったとすると、キャッシュメモリ32上の通常の
トラック単位のデータは、トラックセグメント70−1
〜70−4のように128KBのトラックセグメントと
して格納される。
【0050】ここで、トラックセグメント70−1〜7
0−4は、図6のキャッシュ管理テーブル48のトラッ
クアドレスに対応して格納されている。1トラック分の
セクタ長をもつトラックセグメント70−1〜7−4に
ついては、そのトラックアドレスから明らかなように、
キャッシュ管理テーブル48のパーシャルフラグ66は
0にリセットされている。
【0051】これに対し、トラックアドレス0225,
0888はパーシャル・トラックセグメント72−1,
72−2であり、半トラック分の64セクタ長(64K
B)であり、このためキャッシュ管理テーブル48にお
いて、対応するパーシャルフラグ66が1にセットされ
て、パーシャル・トラックセグメントであることを示し
ている。
【0052】また、パーシャルフラグをオンしたトラッ
クアドレス0225,0888のパーシャル・トラック
セグメント72−1,72−2については、レコードR
0の次のレコード番号が必ずしもR1とはならず、任意
のパーシャルセクタ長を切り出すことができるため、そ
の開始セクタ番号68に先頭のレコードのセクタ番号を
格納している。例えばトラックアドレス0225にあっ
ては、先頭レコードはR64であり、トラックの半分の
64セクタ目からのパーシャルデータをキャッシュに展
開している。またトラックアドレス0888の先頭レコ
ード番号はR01であり、これは先頭から64セクタ分
のパーシャルデータを展開していることになる。
【0053】図8は、本発明で用いるレコード形式情報
テーブル50の構成である。レコード形式情報テーブル
(LTD)50は、トラックアドレス74、フラグ7
6、先頭ユーザレコードのレコード番号78、各レコー
ドのレコード長80、R1レコード以降のカウント部C
に書かれているシリンダアドレス,ヘッドアドレスCC
HH84で構成される。
【0054】図9は、図8のレコード形式情報を1トラ
ック分取り出したもので、フラグ76は1バイト、レコ
ード番号78は同じく1バイト、レコード長80は2バ
イト、レコード数82は1バイト、CCHH84は3バ
イト、の合計8バイトのフォーマット構成をもつ。更に
フラグ76は、不良トラックフラグ86、標準フラグ8
8およびLTDフラグ90で構成される。不良トラック
フラグ86は、1のセット状態で不良トラックであるこ
とを示し、0のリセット状態で正常トラックであること
を示す。不良トラックフラグ86が1にセットされてい
る場合には不良トラックであることから、不良トラック
のトラックアドレスにより、図4の不良交代トラック対
応テーブル54を参照することで交代トラックのトラッ
クアドレスを認識することができ、認識した交代トラッ
クアドレスにアクセスするようになる。
【0055】標準フラグ88は、1のセット状態でレコ
ードが標準フォーマットであることを表わす。標準フォ
ーマットは、図5のように、レコードR0のキー領域の
データ長KL=0でキー領域がなく、且つ各レコードR
1〜R2,・・・のレコード長が全て等しい、例えば全
て8セクタとなる等長レコードの場合である。一方、標
準フラグ88が0にリセットされている場合には、標準
フォーマット以外の非標準フォーマットであることを表
わす。
【0056】更に、LTDフラグ90は、ビット1のセ
ットでそのレコード形式情報が有効であることを表わ
し、ビット0へのリセットでそのレコード形式情報が無
効であることを表わしている。LTDフラグの1のセッ
トでレコード形式情報が有効であれば、そのレコード形
式情報を使ったキャッシュメモリ上のアクセスが行われ
る。もしLTDフラグ90がビット0にリセットされて
無効であれば、そのレコード形式情報に従ったアクセス
は行わない。
【0057】図10は、図4の不良交代トラック対応テ
ーブル54の構成である。不良交代トラック対応テーブ
ル54は、不良トラックアドレス90と交代トラックア
ドレス94で構成される。不良交代トラックであること
は、図8のレコード形式情報テーブル50を算出した際
に図9のフラグ76の中の不良トラックフラグ86のビ
ット1のセットで認識でき、このときに不良交代トラッ
ク対応テーブル54の不良トラックアドレス92をエン
トリとして、対応する交代トラックアドレス94を検索
し、検索した交代トラックアドレスにアクセスすること
ができる。
【0058】図11は、図4のキャッシュメモリ32に
展開したレコード形式情報テーブル50の格納状態であ
る。また図12は、図4の不揮発性キャッシュメモリ3
0に格納された履歴管理テーブル52の概略である。ま
ず図12の履歴管理テーブルは、例えばディスク制御装
置に接続可能な最大構成のディスク装置の台数が256
台であったとすると、そのデバイス番号#001〜#2
56に対応して60バト領域の履歴管理データ52−1
〜52−256をもっている。
【0059】図13は、図12における1つの履歴管理
データを取り出している。履歴管理データは、先頭4バ
イトのLTD有効/無効情報96と最後の4バイトでな
るポインタ情報98で構成される。LTD有効/無効情
報96は、対応するデバイス機番のディスク装置がディ
スク制御装置に実装接続されて使用可能状態にあるとき
には、LTD有効情報として例えばXE´8E4D2D
6´を格納している。これに対し、ディスク制御装置1
2に対しディスク装置が実装されていなかったり、未接
続であったり、更には実装されていても使用しない場合
には、無効情報が格納される。無効情報は例えばX´0
0000000´が格納される。アドレスポインタ98
としては、デバイス機番に対応したレコード形式情報テ
ーブルを格納しているキャッシュメモリ32の先頭アド
レスが格納されている。またアドレスポインタ98にX
´FFFFFFFF´を格納した場合は、キャッシュメ
モリ32上にデータ形式情報テーブルの領域が確保され
ておらず、未接続や不使用となっていることを表わす。
【0060】ここでアドレスポインタ98は、図14に
取り出して示すように、デバイス機番#001〜#25
6をエントリとして、アドレスポインタ98−1〜98
−256を格納した専用のLTDポインタテーブル55
としてもよい。図11のキャッシュメモリ32上には、
例えば図4のように、ディスク制御装置に実装されて使
用可能なディスク装置がデバイス機番#01〜#06の
6台のディスク装置18−1〜18−6であったとする
と、電源投入時のテーブル生成機能により、図12の履
歴管理テーブル52をデバイス機番#001〜#256
の順番に参照し、図13のように、LTD有効/無効情
報96が有効となっているデバイス機番#001〜#0
06の6つのディスク装置についてのみ、そのレコード
形式情報の格納領域50−1〜50−6をキャッシュ上
に確保する。
【0061】これに対し、履歴管理テーブル52におけ
るLTD有効/無効情報96が無効となっている残りの
デバイス機番#007〜#256のディスク装置につい
ても、図11の破線の領域のように、実際にキャッシュ
メモリ32上にはレコード形式情報のテーブル領域50
−7〜50−256を確保せず、これらの領域はキャッ
シュデータ領域として解放する。
【0062】尚、図11,図12にあっては、デバイス
機番#001〜#256について、偶数機番のバンクと
奇数機番のバンクに分けてキャッシュメモリ上の展開と
履歴管理テーブル52の管理を行なっている。なお、実
際の装置ではデバイス機番は#000から始まって#2
55で終わっており、このため図11,図12の左側の
奇数バンクは実際には偶数バンクとなり、右側の偶数バ
ンクは実際には奇数バンクとなるが、実質的に相違はな
い。
【0063】また図4の機能ブロックにあっては、ディ
スクキャッシュの機能をライトキャッシュ制御部44と
リードキャッシュ制御部46に分けて示しているが、実
際の装置にあっては、ライトキャッシュ制御部44およ
びリードキャッシュ制御部46の制御機能は、キャッシ
ュ機能エンジンとして実現されたユニットで実現され、
またキャッシュメモリを間に介したホストコンピュータ
10とディスク装置側とのデータのやり取りについて
は、リ・ソース・マネージャとして知られたユニットの
機能で実現される。 3.キャッシュ制御の概略 図15のフローチャートは本発明のディスク制御装置に
おけるキャッシュ制御の全体的な処理であり、図4の機
能ブロックを参照して説明すると次のようになる。
【0064】まず磁気ディスクサフブシステムの電源を
投入すると、ステップS1で所定の初期化処理を行う。
次にステップS2で、レコード形式情報テーブル50の
読込展開処理を行う。即ち、現在使用可能なディスク装
置のデバイス機番#01〜##06について、履歴管理
テーブル52を参照してキャッシュメモリ32内に展開
するテーブルの先頭アドレスを知り、480バイトのサ
イズをもつレコード形式情報テーブル50をデバイス機
番#01〜#06の順番に展開する。
【0065】続いて、展開したレコード形式情報テーブ
ル50に、対応するディスク装置18−1〜18−6よ
り、例えばディスク装置18−1に示すように、その制
御装置使用領域60に格納されているレコード形式情報
を読み込んで展開する。ステップS2で、レコード形式
情報テーブルの読込展開処理が済むと、ディスク制御装
置はレディ・オン状態となり、ステップS3でホストコ
ンピュータ10からの入出力要求を待つ。
【0066】ステップS3で、ホストコンピュータ10
から任意のレコードを指定したライト要求を受けると、
ステップS4で、このライト要求が判別され、ステップ
S5で、ライトキャッシュ制御部44がヒット判定回路
36にステップS5のようにヒット判定を依頼する。ヒ
ット判定回路36は、指定されたレコード番号に対応す
るトラックアドレスをエントリとしてキャッシュ管理テ
ーブル48を検索する。要求された指定レコードを含む
トラックアドレスが存在すれば、ステップS6でヒット
となり、ステップS7で、キャッシュデータ領域104
の該当するレコードの更新を行う。
【0067】レコード更新を行った場合は、図6のキャ
ッシュ管理テーブル48における更新フラグ64を1に
セットする。キャッシュ管理テーブルの更新フラグを1
にセットしていると、後の説明で明らかにするLRU部
56によるトラックセグメント追出し処理の際に、ディ
スク装置のトラックデータと相違していることが判り、
ライトバック処理によるディスク書込みを行うことにな
る。
【0068】一方、キャッシュ管理テーブル48の検索
で該当するトラックアドレスが存在しなかった場合に
は、ステップS6でミスヒットが判定され、ステップS
8に進み、レコード形式情報テーブル50を参照し、キ
ャッシュデータ領域104上の指定レコードの書込位置
を確定し、キャッシュデータ領域104上にトラックデ
ータが展開されていなくとも、要求された指定レコード
の書込みを行う。このレコード形式情報テーブル50の
参照によるキャッシュライト処理は、後の説明で更に明
らかにされる。
【0069】ライト要求があったときのレコード形式情
報テーブル50の参照は、キャッシュミスヒットの場合
にのみ行われ、キャッシュヒットの場合には、ヒットし
たキャッシュメモリ上のトラック形式とそのときのレコ
ード形式情報テーブル50の内容が相違している可能性
があるため、レコード形式参照テーブル50の参照は禁
止する。
【0070】このようなキャッシュメモリ上のトラック
形式とレコード形式情報テーブル50のレコード形式情
報とが不一致となる状態は、ホストコンピュータからの
フォーマットライトの要求に基づくキャッシュメモリ上
でのレコード形式の変更が行われても、直ちにレコード
形式情報テーブル50の更新は行われず、レコード形式
情報テーブル50の更新はフォーマットライト済みのト
ラックデータを対応するディスク装置にライトバックす
る際に更新されるからである。このため、キャッシュメ
モリ上のレコード形式とそのレコード形式情報テーブル
50の内容が不一致となる状態が起きる可能性がある。
【0071】ステップS8で、レコード形式情報テーブ
ル50の参照によるキャッシュライト処理を終了する
と、ステップS9で、処理の終了をホストコンピュータ
10に応答する。これによって、ホストコンピュータ1
0からのライト要求がキャッシュミスヒットとなって
も、キャッシュメモリ上の処理で迅速に終了することに
なる。
【0072】このようにホストコンピュータからのライ
ト要求に対するミスヒット時の処理がキャッシュメモリ
上で全て終了できることで、例えばストリングコントロ
ーラ16に対してRAID構成のディスク装置18−1
〜18−6を実デバイスとして設けたような場合にあっ
ては、次の点でキャッシュライトにおける改善効果が得
られる。
【0073】リード動作を伴わない更新処理(アップ
デートライト) リード処理と同期しないランダム更新処理(巨大デー
タベースの更新など) キャッシュ空間を越えるデータの更新処理 これら〜の処理は、RAID構成のディスク装置の
場合、必ず実際のディスク装置より読込みを行った後に
ヒット判定処理が行われ、CKD形式のディスク装置の
場合でミスヒットになると、直接ディスク装置に書き込
むライトスルー処理となり、ディスクキャッシュを設け
たことによる効果は得ることができない。
【0074】しかしながら本発明のディスク装置におけ
る全トラックのレコード形式情報を格納したレコード形
式情報テーブル50を用いたディスクキャッシュにあっ
ては、要求されたトラックのレコード形式情報がディス
ク制御装置12側に記憶されているため、キャッシュミ
スヒット状態で例えばアップデートライトコマンドが発
行されていても、ディスク装置からのステージング処理
を行ったり、直接ディスク装置に書き込むライトスルー
処理を必要とすることなく、キャッシュメモリ上だけで
処理を完了することができる。
【0075】一方、ホストコンピュータ10からの入出
力要求がフォーマットライトであった場合には、ステッ
プS11で、フォーマットライト要求が判別され、ステ
ップS12のフォーマットライト処理に進む。ホストコ
ンピュータ10からのフォーマットライト要求には、図
5のCKD形式の全レコードを変更するフォーマットラ
イトと、ユーザ領域であるレコードR1以降を変更する
フォーマットライトの2種類がある。
【0076】トラック全体を変更するフォーマットライ
トが行われた際には、全く新しいレコード形式情報テー
ブル50を生成する。一方、ユーザ領域となるレコード
R1以降のフォーマットライトについては、通常、トラ
ック単位で可能であることから、フォーマットライトを
行ったトラックアドレスについてのみレコード情報形式
テーブル50の内容を更新することになる。このフォー
マットライト処理の詳細も後の説明で明らかにされる。
【0077】更に、ホストコンピュータ10からの入出
力要求がリード要求であった場合には、ステップS13
に進み、この場合にはリードキャッシュ制御部46がヒ
ット判定回路36にヒット判定を依頼する。ヒット判定
回路36がリード要求の指定レコードを含むトラックア
ドレスをエントリとしてキャッシュ管理テーブル48を
検索し、存在している場合にはステップS14でヒット
となり、ステップS16で、該当するレコードを読み出
してホストコンピュータ10に転送し、ステップS17
で終了応答を行う。
【0078】一方、ステップS14でミスヒットとなっ
た場合には、ステップS15に進み、ディスク装置から
のステージング処理を行う。このステージング処理の際
に、リードキャッシュ制御部30は、該当するディスク
装置のレコード形式情報テーブル50を参照し、要求さ
れたレコードがトラック上に存在するか否かを判断する
ことができる。
【0079】即ち、図8のように、レコード形式情報テ
ーブル50にはそのトラックのレコード数82が格納さ
れており、要求されたレコード番号がレコード情報形式
テーブル50に格納しているレコード数82のセクタ数
を越えている場合には、トラック上に存在しないことが
実際にディスク装置をアクセスすることなく判り、ホス
トコンピュータに対し直ちにリード処理の失敗を報告す
ることができる。
【0080】更にステップS15のステージング処理に
あっては、ホストコンピュータ10から要求されたリー
ド処理のレコード数に対し、レコード形式情報テーブル
50から1トラック当たりのレコード数が判り、要求レ
コード数が1トラックか複数トラックかを判断できる。
このため、複数トラックに当たるステージング処理の必
要を判断した場合には、デバイスアダプタ側に対しディ
スク装置の並列アクセスによるステージング処理を要求
することができる。
【0081】このようなライトキャッシュ制御およびリ
ードキャッシュ制御に伴う処理を終了すると、ステップ
S10で、ディスク制御装置の停止指示の有無をチェッ
クし、停止指示があるまでステップS3のホストコンピ
ュータ10からの入出力要求に基づく処理を繰り返す。
ステップS10で、ディスク制御装置12に対する停止
指示を判別すると、ステップS18で、レコード形式情
報テーブル50のディスク装置への書戻し処理を行う。
【0082】このレコード形式情報テーブル50のディ
スク装置への書戻しは、キャッシュメモリ32上に展開
しているレコード形式情報テーブル50を全ての対応す
るディスク装置18−1〜18−6の制御装置使用領域
60に格納してもよいが、キャッシュメモリ上とディス
ク装置上のレコード形式が一致している同期がとれてい
る場合には、書戻しは必要ない。したがって、キャッシ
ュメモリ上のレコード形式とディスク装置上のレコード
形式が一致していない非同期となっているレコード形式
情報テーブル50についてのみ、ディスク装置への書戻
しを行えばよい。
【0083】このキャッシュメモリ32上のレコード形
式情報テーブル50とディスク装置18−1〜18−6
上の制御装置使用領域60のレコード形式情報の同期性
の確保のための書戻しは、停止指示を受けた際に、図1
3の内容をもつ履歴管理テーブル52を参照し、LTD
有効/無効情報96について無効情報がセットされてい
るレコード形式情報テーブル50についてのみ、対応す
るディスク装置への書戻しを行えばよい。
【0084】この書戻し処理の詳細も後の説明で明らか
にされる。ステップS18で、ディスク装置への書込処
理が済むと、ステップS19で、ディスク制御装置12
自身にとって必要な終了処理を行い、電源停止に至る。
このため、ディスク制御装置の電源遮断による停止状態
にあっても、ディスク装置18−1〜18−6にそのレ
コード形式情報が格納保存されており、次にディスク制
御装置12の電源を投入して起動した際のキャッシュメ
モリ32上へのレコード形式情報テーブル50の展開を
可能とする。
【0085】またディスク装置18−1〜18−6自身
に自己のレコード形式情報が格納されているため、物理
的にディスク装置と一体にレコード形式情報を移動する
ことができ、ストリングコントローラ16に対するディ
スク装置の交換や他のディスク制御装置に対するディス
ク装置の据替え時にも、そのレコード形式情報が有効に
活用できる。
【0086】なお、レコード形式情報テーブル50を揮
発性のキャッシュメモリ32ではなく不揮発性キャッシ
ュメモリ30に設けた場合には、ディスク装置への書戻
し処理は不要となる。 4.ミスヒット時のキャッシュライト処理 図16のフローチャートは、図15のステップS8にお
けるレコード形式情報テーブルの参照によるミスヒット
時のキャッシュライト処理の詳細である。まずステップ
S1で、ホストコンピュータ12からのライト要求で指
定されたレコードを含むトラックアドレスによりレコー
ド形式情報テーブル50を参照する。続いてステップS
2で、目的レコードがトラック上に存在するか否か判断
する。
【0087】即ち、図8のレコード形式情報テーブル5
0のトラック上のレコード数82を示すセクタ数と指定
レコード番号を比較し、指定レコード番号が小さければ
トラック上に存在するものと判断する。また指定レコー
ド数がテーブル上のレコード数82のセクタ数より大き
ければトラック上に存在しないことから、ステップS8
に進み、ホストコンピュータに対しエラー報告を行う。
【0088】ステップS2で目的レコードがトラック上
に存在した場合には、ステップS3に進み、実ディスク
装置の書込条件が成立するか否か判断する。この実施例
にあっては、レコード形式情報テーブルの参照により次
の6つの条件を満足したときに、実ディスク装置への書
込条件成立と判断する。 レコードR0がキー長KL=0、データ長DL=8の
標準フォーマットである。但し、データ部はオールゼロ
である必要はない。
【0089】レコードR1以降の全てのレコードのキ
ー長KL=0でデータ長DLが同一である。即ち、等長
レコード形式である。 レコードR1以降のレコード番号が全て昇順である。
但し、レコードR1は任意のレコード番号から開始され
ていてもよい。 レコードR0以降のカウント部の値CCHHが全て同
一である。但し、論理的なCCHHが実際のシーク値と
異なる場合があり、この場合にはレコードR1以降のC
CHHが同一であればよい。
【0090】レコード形式情報テーブル50にはキー
部が格納されていないので(KL=0)、キーサーチを
伴わないチャネルコマンドワード列である。 CKDコマンド体系または拡張CKDコマンド体系で
ある。 このような〜の条件が成立すると、ステップS4に
進み、不良トラックか否かチェックする。即ち、図9の
レコード形式情報の中のフラグ76について、その不良
トラックフラグ86をチェックする。不良トラックフラ
グ86が1にセットされていれば不良トラックであるこ
とが判り、その不良トラックアドレスをエントリとし
て、ステップS7で、図10の不良交代トラック対応テ
ーブル54を参照し、交代トラックアドレス94を求め
る。
【0091】次にステップS5で、キャッシュメモリ上
の目的レコードのアドレスを計算する。具体的には、図
8のレコード形式情報テーブル50において、レコード
番号78によってレコードR0に続く最初のレコード番
号を知り、その先頭レコード番号から目的レコードまで
のレコード数にレコード長80のセクタ長を掛け合わせ
て、目的レコードの先頭アドレスを計算する。
【0092】続いてステップS6で、キャッシュメモリ
32のキャッシュデータ領域104における目的レコー
ドアドレスに要求されたレコードデータを書き込む。更
にステップS8で、図6のキャッシュ管理テーブル48
への登録を行い、この場合、更新フラグ64は1にセッ
トして、LRU56による追出しの際に対応するディス
ク装置にライトバックできるようにしておく。
【0093】一方、ステップS3で、前記〜の条件
を満足しなかった場合には、ステップS10のライトス
ルー処理を行う。 5.LRU処理とライトバック処理 図17のフローチャートは、図4のLRU部56による
キャッシュ無効化によるデータ追出し処理である。キャ
ッシュメモリ32のキャッシュデータ領域104に図7
のように格納されたトラックセグメントまたはパーシャ
ル・トラックセグメントは、所定時間アクセスされない
状態に達すると、LRU部56によるキャッシュ追出し
を伴うキャッシュ無効化処理が行われる。このLRU部
56による追出しの際に、まずステップS2で、図6の
キャッシュ管理テーブル48を参照し、ステップS3
で、更新フラグ64が1にオンしているか否かチェック
する。
【0094】更新フラグ64が1にオンしていれば、キ
ャッシュメモリ上で更新されたトラックセグメントが実
際のディスク装置のトラックデータと異なっていること
から、ステップS4で、ライトバック処理をデバイスア
ダプタ40−1,40−2側に依頼する。そして、追出
しが済んだキャッシュセグメントをキャッシュ管理テー
ブル48から削除し、これによりキャッシュデータ領域
104の追出しの済んだトラックセグメントの無効化が
行われる。
【0095】一方、キャッシュ管理テーブル48の更新
フラグが0にオフしていた場合には、ステップS6に進
み、レコード形式情報テーブル50を参照する。そして
ステップS7で、図9のレコード形式情報のフラグ76
の中のLTDフラグ90が無効か否かチェックする。L
TDフラグ90が0にリセットされて無効であれば、ス
テップS8で、デバイスアダプタ40−1,40−2側
にライトバックを依頼する。
【0096】レコード形式情報のLTDフラグ90が無
効となっているのは、ホストコンピュータ10からのユ
ーザ領域のレコードR1以降のフォーマットライトを実
行した場合であり、しかもフォーマットライト後にその
トラックに対するライト要求が行われずにキャッシュ管
理テーブル48への登録も行われていない状態である。
【0097】したがって、この状態のトラックセグメン
トについては、ディスク装置へのライトバックを依頼
し、ユーザ領域のレコード形式を変更したフォーマット
処理の内容にディスク装置の該当するトラックを一致さ
せる。ステップS8でライトバックを依頼した後、ステ
ップS9で、デバイスアダプタ40−1,40−2より
ライトバックの終了報告を受けると、LTDフラグを有
効を示す1にセットする。
【0098】図18のフローチャートは、デバイスアダ
プタ40−1,40−2によるディスク装置へのライト
バック処理である。デバイスアダプタ40−1,40−
2は、ライトキャッシュ制御部44側からのライトバッ
ク依頼の有無をチェックしており、ライトバック依頼を
受けるとステップS2に進み、該当するディスク装置に
対するデバイスバスをチェックする。このデバイスバス
を使用していない状態が一定時間続いた場合には、ステ
ップS3で、デバイスバスの空きと判断し、該当するデ
ィスクアクセスにより、依頼されたトラックデータを書
き込むライトバックを行う。 6.レコード形式情報テーブルの初期化生成処理 図19のフローチャートは、システムの電源投入時にお
けるレコード形式情報テーブル50の初期生成の詳細で
ある。まずステップS1で、ディスク制御装置12に接
続しているディスク装置の内、不使用のディスク装置お
よび未接続のディスク装置を除く有効に使用可能なディ
スク装置を認識する。例えば図4にあっては、ディスク
機番#01〜#06をもつ6台のディスク装置18−1
〜18−6が有効ディスク装置として認識される。
【0099】次にステップS2で、有効ディスク装置の
中の最初のディスク機番#01をセットし、ステップS
3で、履歴管理テーブル52を参照する。履歴管理テー
ブル52は、図13のようにLTD有効/無効情報96
が設けられており、無効情報がセットされているか否
か、ステップS4でチェックする。無効情報がセットさ
れておらず有効情報がセットされている場合には、ディ
スク機番#01のディスク装置18−1における制御装
置使用領域60に格納したレコード形式情報は有効に更
新されていることが判り、履歴管理テーブル52のポイ
ンタ98で指定されるキャッシュデータ領域104の先
頭アドレスから、キャッシュ上にディスク装置18−1
の制御装置使用領域60から読み込んだレコード形式情
報を展開する。
【0100】続いてステップS6で、ディスク装置18
−1からのレコード形式情報の読込みにエラーがあった
か否かチェックし、正常に読込展開できれば、ステップ
S7で、展開したレコード形式情報テーブルの領域をキ
ャッシュデータ領域104から削除する。一方、ステッ
プS6で、ディスク装置18−1からのリードアクセス
にエラーがあった場合には、ステップS10で、レコー
ド形式情報テーブル50にオールゼロのデータを展開
し、更にステップS11で、LTDフラグを無効にセッ
トしておく。
【0101】このLTDフラグの無効状態のセットによ
り、後にホストコンピュータ10からフォーマットライ
トが要求された際にレコード形式情報の新たな生成処理
が行われることになる。ステップS1〜S7の処理が済
むと、ステップS8で、使用可能な有効ディスク装置の
全ての処理の終了の有無をチェックし、全てのディスク
を終了していなければ、ステップS9で、次のディスク
機番#02をセットし、ステップS3からの処理を全デ
ィスクの終了まで繰り返す。 7.レコード形式情報テーブルの書戻し処理 図20は、図15のステップS18のレコード形式情報
テーブルのディスク装置への書戻し処理の詳細である。
ディスク制御装置の電源遮断に先立って終了指示が行わ
れると、図20のLTD書戻し処理が開始され、まずス
テップS1で未接続および未使用以外の有効ディスク装
置を認識し、ステップS3で、最初のディスク機番例え
ばディスク機番#01をセットする。
【0102】次にステップS3で、履歴管理テーブル5
2を参照し、ステップS4で、無効情報がセットされて
いるか否かチェックする。無効情報がセットされている
場合には、キャッシュメモリ上のレコード形式情報とデ
ィスク装置上のレコード形式情報が不一致となる非同期
状態であることから、ステップS5で、デバイスアダプ
タ40−1,40−2側に対しレコード形式情報テーブ
ルのディスク装置への書込みを依頼する。
【0103】これによりディスクアダプタ40−1,4
0−2側は指定されたディスク装置18−1に対するレ
コード形式情報の書込みを行い、ステップS6で、エラ
ーの有無をチェックする。エラーがなければ、ステップ
S7で、履歴管理テーブル52に有効情報をセットし、
ディスク装置18−1のレコード形式情報が正常に更新
されたことを示す。
【0104】一方、ディスク装置への書込みでエラーが
発生した場合には、ディスク装置のレコード形式情報は
正常に更新されていないことから、履歴管理テーブル5
2に無効情報をセットする。この無効情報のセットによ
り、次に電源投入を行った際にディスク装置からキャッ
シュメモリ上へのレコード形式情報テーブル50の展開
が阻止される。
【0105】またステップS4で、履歴管理テーブル5
2に有効情報がセットされていた場合には、この時点で
キャッシュ上のレコード形式とディスク装置上のレコー
ド形式は一致して同期性が確保されていることから、ス
テップS5〜S7のレコード形式情報のディスク装置へ
の書戻しは行わない。ステップS8にあっては、全ディ
スク装置の処理終了の有無をチェックしており、ステッ
プS9で、次のディスク装置18−2のディスク機番#
02をセットし、ステップS3からの処理を全ディスク
装置が終わるまで繰り返す。
【0106】図21は、レコード形式情報テーブル50
のディスク装置に対する書戻し処理の他の実施例であ
り、図20の処理に加え、オプションとして設けること
ができる。この図21の書戻し処理にあっては、装置の
運用中に一定時間ごとに書戻し処理を行うようにしたこ
とを特徴とする。まずステップS1でタイマを起動し、
ステップS2で、例えば10分経過したか否かチェック
している。10分を経過するとタイムアウトを判別し
て、ステップS3に進み、レコード形式情報テーブルの
ディスク装置への書戻しを行う。このディスク装置への
書戻しは、図20のステップS3〜S10の処理と同じ
になる。
【0107】図22のフローチャートは、レコード形式
情報テーブル50の書戻し処理の他の実施例であり、図
21の実施例と同様、図20の基本的な書戻し処理に対
するオプションとして設けることができる。この図21
の書戻し処理にあっては、ホストコンピュータからのデ
バイス初期化処理であるフォーマットライトに伴う一連
の入出力処理を行うチャネル・コマンドワード・チェー
ンの最後を判別して、ディスク装置への書戻し処理を行
うようにしたことを特徴とする。
【0108】この図22の処理を行うため、まずホスト
コンピュータ10側において、フォーマットライトを行
うチャネルコマンドのサブパラメータとして、チャネル
・コマンドワード・チェーンがフォーマットライト処理
の最後であることを宣言する終了宣言コードを設ける。
そこで図22の処理にあっては、ホストコンピュータ1
0からフォーマットライト要求があったことをステップ
S1で判別すると、ステップS2で、終了宣言コードの
有無をチェックしている。フォーマットライト要求に伴
う一連の処理が終了して、最後の入出力要求のサブパラ
メータとして設けた終了宣言コードがステップS2で終
了し、フォーマットライトに伴うレコード形式情報テー
ブル50の更新が済んでいることから、ステップS3
で、レコード形式情報テーブル50のディスク装置への
書戻しを行う。このディスク装置への書戻しは、図20
のステップS3〜S10と同じになる。 8.レコード形式情報テーブルの生成処理 図23のフローチャートは、図15のステップS12の
フォーマットライト処理の詳細であり、本発明にあって
は、フォーマットライト処理の際にレコード形式情報テ
ーブルの更新あるいはレコード形式情報テーブルの生成
を行う。
【0109】ホストコンピュータ10からフォーマット
ライトが要求されると、まずステップS1で、指定デバ
イス機番のレコード形式情報テーブル50を参照し、そ
のトラックのLTDフラグが有効か否かチェックする。
フラグが有効であれば、ユーザ領域となるレコードR1
以降のフォーマットライトであることから、ステップS
3で、不良トラックか否かチェックし、不良トラックで
あれば、ステップS4で、交代トラックを検索し、対象
トラックを特定する。
【0110】続いてステップS5で、レコード形式情報
テーブル50の内容からユーザ領域となるレコードR1
のアドレスを計算し、ステップS6で、レコードR1以
降をフォーマッティングする。続いてステップS7で、
フォーマッティングが済んだレコード形式情報テーブル
50のトラックアドレスのレコード形式情報を更新す
る。
【0111】続いてステップS8で、LTDフラグを有
効にセットし、更にステップS9で、履歴管理テーブル
52に無効情報をセットし、キャッシュメモリ上のレコ
ード形式とディスク装置上のレコード形式が不一致とな
る非同期状態にあることを表わす。このレコード形式情
報の不一致状態は、図20の書戻し処理の際に同期性が
確保される。
【0112】一方、ステップS2で、LTDフラグが無
効であった場合には、トラックデータ全体を生成するフ
ォーマットライトが必要となり、ステップS10で、キ
ャッシュメモリ上に1トラック分のトラックセグメント
を生成し、ステップS11でレコード形式情報テーブル
50に対応するレコード形式情報を生成して格納する。
【0113】このステップS10,S11のトラックセ
グメントとレコード形式情報の生成は、図19のレコー
ド形式情報テーブルの初期化生成処理でディスク装置か
らのレコード形式情報の読込みでエラーとなって、オー
ルゼロのデータを展開しているレコード形式情報テーブ
ルについては、全トラックについてフォーマットライト
によるトラックセグメントとレコード形式情報の生成を
行うことになる。
【0114】図24のフローチャートは、本発明におけ
るレコード形式情報生成処理の他の実施例であり、この
実施例にあっては、装置運用中の定期的なパトロール処
理によりレコード形式情報を生成するようにしたことを
特徴とする。まずステップS1において、タイマをスタ
ートし、ステップS2で、一定時間を経過したときのタ
イムアウトによりレコード形式情報生成処理を開始す
る。まずステップS3で、使用可能となっている有効デ
ィスク装置の履歴管理テーブル52を参照し、ステップ
S4で、無効情報がセットされているディスク装置のデ
バイス機番を判別する。
【0115】続いてステップS5で、無効情報がセット
された対象ディスクをアクセスするデバイスアダプタを
決定し、ステップS6で、アダプタの空き状態をチェッ
クする。アダプタの空き状態が判別されると、ステップ
S7で、トラックアドレスTをT=0にセットして、レ
コード形式情報テーブルをステップS8で参照し、その
トラックアドレスのLTDフラグが無効か否かステップ
S9でセットする。
【0116】LTDフラグが無効であればレコード形式
情報が存在しないことから、ステップS10で、対象と
なっているディスク装置から該当トラックをリードし、
リードトラックを解析してレコード形式情報を作成し、
レコード形式情報テーブル50に格納する。続いてステ
ップS11で、LTDフラグを有効にセットする。最終
的にステップS12で、全トラックの処理を終了したか
否かチェックし、終了していなければ、ステップS13
で、トラックアドレスTを1つ増加し、ステップS8か
らの処理を繰り返す。
【0117】またステップS9で、参照したトラックア
ドレスのLTDフラグが有効であった場合には、レコー
ド形式情報の生成は必要ないことから、ステップS13
で、トラックアドレスTを増加して、次のトラックアド
レスの処理に進む。図25は、本発明におけるLTD生
成処理の他の実施例であり、リードキャッシュ制御部4
6によるディスク装置からのステージング処理の際にレ
コード形式情報を生成するようにしたことを特徴とす
る。
【0118】リードキャッシュ制御部46によるステー
ジング処理の際に、まずステップS1で、ディスクアダ
プタ40−1,40−2側にステージング処理を依頼し
た後、ステップS2で、レコード形式情報テーブル50
の該当するトラックアドレスを参照し、ステップS3
で、LTDフラグが無効か否かチェックする。LTDフ
ラグが無効であれば、そのレコード形式情報は生成され
ていないことから、ステップS4で、ディスク装置から
のトラックデータのリードによるキャッシュメモリへの
転送を行った後、ステップS5で、デバイスアダプタ側
のバッファメモリ上に格納しているトラックデータを解
析してレコード形式情報を生成し、ステップS6で、レ
コード形式情報テーブル50の対応するトラックアドレ
スのレコード形式情報を更新する。最終的にステップS
7で、更新が済んだトラックアドレスのLTDフラグを
有効にセットする。
【0119】一方、ステップS3でLTDフラグが有効
であった場合には、レコード形式情報は既に生成済みで
あることから、ステップS8で、ディスク装置からトラ
ックデータをリードしてキャッシュに転送する通常のス
テージングを行う。 9.増設時のレコード形式情報テーブルの生成処理 図26のフローチャートは、ディスク制御装置12に対
しディスク装置18−1〜18−6に加えて新たに別の
ディスク装置を増設した際のレコード形式情報テーブル
の生成処理である。
【0120】まずステップS1で、ディスク制御装置1
2がディスク装置の増設を認識する。ディスク装置の増
設は、デバイスアダプタ40−1,40−2側で増設に
伴うディスク装置の増設情報(NOT READY TO READY)を
認識して通知していることで判る。増設デバイスを認識
すると、ステップS2で、増設したディスク装置のデバ
イス機番、例えばデバイス機番#07のテーブル領域を
確保するため、履歴管理テーブル52のポインタで指定
されるテーブルの先頭アドレスから所定サイズ、例えば
540バイト分の領域の解放を要求する。
【0121】このキャッシュデータ領域の解放要求を受
けて、ステップS3で、該当領域のキャッシュデータの
無効化即ち追出しを行う。続いてステップS4で、増設
したディスク装置の制御装置使用領域60にデータ形式
情報が格納されているか否かチェックする。データ形式
情報が格納されていなければ、ステップS5で、増設し
たディスク装置からトラックデータをリードし、ステッ
プS6で、トラック形式を解析してレコード形式情報を
生成し、ステップS7で、新たに確保したキャッシュメ
モリ上のレコード形式情報テーブルにデータを書き込む
テーブル生成を行う。また増設したディスク装置にレコ
ード形式情報が格納されていれば、ステップS9で、電
源投入時と同様、制御装置使用領域60のレコード形式
情報をリードして、キャッシュデータ領域に新たに確保
したレコード形式情報テーブルの領域に展開する。 10.並列ステージング処理 図27のフローチャートは、レコード形式情報テーブル
50の利用によるリードキャッシュ制御部46による並
列ステージング処理である。ホストコンピュータ10か
らのリード要求に対し、リードキャッシュ制御部46に
おいてミスヒットとなった場合、ディスク装置側からの
ステージングが複数トラックに跨って行われる場合があ
る。通常のステージングは、同じデバイスアダプタが順
番にトラックごとのステージングを行う。これは実際の
ディスク装置において1トラック上に存在するレコード
数を確定することができないために行われる。即ち、通
常はディスク装置のトラックのレコードをサーチしイン
デックスを検出した後でないと、要求レコード数が次の
トラック数に亘っているか否か判断することができな
い。
【0122】これに対し本発明にあっては、ディスク制
御装置12にレコード形式情報が記憶されているため、
ホストコンピュータ10からのリード要求で指定された
レコード数が1トラック上に存在するのか複数トラック
上に存在するのかを、ステージング処理を開始する前に
認識することができる。そして複数のディスク装置の複
数トラックに亘るものと判断した場合は、全トラックの
ステージングを同時に開始できるので、ホストコンピュ
ータに対するリードデータの転送準備を迅速に行うこと
ができる。
【0123】図27において、ホストコンピュータ10
からのリード要求に対しリードキャッシュ制御部46
は、ステップS1で、レコード形式情報テーブル50を
参照し、要求されたレコード数が複数のディスク装置に
分散されて複数トラックに亘るか否か、ステップS2で
チェックする。複数トラックに亘ることが判別される
と、ステップS3で、複数トラックの並列ステージング
をスケジュールする。
【0124】このスケジュールに基づき、ステップS4
で、デバイスアダプタ40−1,40−2に並列ステー
ジングを要求する。ここでデバイスアダプタの台数を並
列ステージングの要求トラック数が越えていた場合に
は、1台のディスク装置に順番にステージングを要求す
ることになる。続いてステップS5で、スケジュールに
従ったデバイスアダプタによるディスク装置からのステ
ージングが並列的に開始され、トラックデータをキャッ
シュメモリ32のキャッシュデータ領域104に並列的
に転送する。このトラックデータの並列転送において、
最初にステージングを開始したデバイスアダプタによる
キャッシュメモリへの転送が一定データ量に達すると、
チャネルアダプタ24−1,24−2側に対する再結合
要求が出され、再結合要求の完了をもって、キャッシュ
メモリ32のキャッシュデータ領域104によるステー
ジングが済んでいるデータの上位装置への転送が平行し
て行われる。
【0125】これの複数のディスク装置のトラックに亘
る並列ステージングにより、ホストコンピュータからの
リード要求に対するミスヒット時のデータ転送をより高
速化することができる。またステップS2で、1トラッ
クのステージングであった場合には、通常のディスク装
置のリードアクセスによるステージングが行われること
になる。
【0126】尚、上記の実施例は、RAID構成のディ
スク装置に対するディスクキャッシュを用いたアクセス
制御を例にとっているが、RAID以外に、複数のデバ
イスバスでアクセス可能なディスク装置に対するディス
クキャッシュ制御についても同様に適用できる。更に本
発明は、上記の実施例の数値的な限定は受けない。
【0127】
【発明の効果】以上説明してきたように本発明によれ
ば、可変長のレコード形式をもつディスク装置を対象と
したキャッシュ制御において、ディスク制御装置側にデ
ィスク装置の形式情報を格納したテーブルを記憶して、
上位装置からのライト要求に伴うミスヒット時に参照す
ることで、キャッシュメモリ上のトラックのレコード位
置を、ディスク装置のレコード形式を実際に参照するこ
となく確定し、キャッシュメモリ上で上位装置からのラ
イト要求に伴う処理を全て行なって迅速に終了させるこ
とができる。
【0128】また、上位装置からの実際のディスク装置
におけるレコード形式とは異なったレコード形式の要求
に対しても、ディスク制御装置でテーブルのレコード形
式を参照することでレコード形式の相違を認識でき、相
違したレコード形式による入出力要求を、ディスク装置
をアクセスすることなく迅速に拒否することができる。
【0129】更に、上位装置のリード要求に伴うディス
ク装置からのステージングについても、レコード形式の
テーブルを参照することで複数トラックのステージング
を認識して、並列的なステージングによる高速応答がで
きる。
【図面の簡単な説明】
【図1】本発明の原理説明図
【図2】本発明の実施例のブロック図
【図3】二重化した本発明の実施例のブロック図
【図4】本発明の機能を示したブロック図
【図5】CKDフォーマットによるトラック構造の説明
【図6】キャッシュ管理テーブルの説明図
【図7】キャッシュメモリの説明図
【図8】レコード形式情報テーブル(LTD)の説明図
【図9】レコード形式情報のフォーマット説明図
【図10】不良交代トラック対応テーブルの説明図
【図11】キャッシュメモリ上のレコード形式情報テー
ブル(LTD)の格納領域の展開説明図
【図12】履歴管理テーブルの説明図
【図13】履歴管理テーブル情報のフォーマット説明図
【図14】LTDポインタテーブルの説明図
【図15】キャッシュ制御の全体処理のフローチャート
【図16】ミスヒット時のキャッシュライト処理のフロ
ーチャート
【図17】LRU処理のフローチャート
【図18】デバイスアダプタによるライトバック処理の
フローチャート
【図19】電源投入時のレコード形式情報テーブル(L
TD)の初期生成処理のフローチャート
【図20】電源切断時のレコード形式情報テーブル(L
TD)の書戻し処理のフローチャート
【図21】定期的なLTDテーブル書戻し処理のフロー
チャート
【図22】レコード形式を変更するフォーマットライト
の処理終了に伴うレコード形式情報テーブル(LTD)
の書戻し処理のフローチャート
【図23】レコード形式を変更するフォーマットライト
時のレコード形式情報テーブル(LTD)の生成と更新
のフローチャート
【図24】定期的なレコード形式情報テーブル(LT
D)の生成処理のフローチャート
【図25】ステージングに伴なうレコード形式情報テー
ブル(LTD)の生成処理のフローチャート
【図26】ディスク装置増設時のレコード形式情報テー
ブル(LTD)の生成処理のフローチャート
【図27】並列ステージング処理のフローチャート
【符号の説明】
10,10−1,10−2:ホストコンピュータ(上位
装置) 12,12−1,12−2:ディスク制御装置 14−1,14−2:チャネルバス 16:ストリングコントローラ 18,18−1〜18−6:ディスク装置(物理デバイ
ス) 20,20−1,20−2:MPU 22,22−1,22−2:ROM 24−1〜24−8:チャネルアダプタ(CA) 25,25−1,25−2:RAM 26,26−1,26−2:ホストインタフェース制御
部 28,28−1,28−2:キャッシュ制御部 30,30−1,30−2:不揮発性キャッシュメモリ 32,32−1,32−2:キャッシュメモリ(揮発
性) 34,34−1,34−2:バックアップ電源 36,36−1,36−2:ヒット判定回路 38,38−1,38−2:デバイスインタフェース制
御部 40−1〜40−8:デバイスアダプタ(DA) 42−1〜42−8:デバイスバス 44:ライトキャッシュ制御部 46:リードキャッシュ制御部 48:キャッシュ管理テーブル 50:レコード形式情報テーブル(LTD) 52:履歴管理テーブル 54:不良交代トラック対応テーブル 56:LRU部 58:ユーザ領域 60:制御装置使用領域(DST領域) 100:テーブル生成部 102:テーブル書戻し部
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平5−28046(JP,A) 特開 平3−282841(JP,A) 特開 平6−348600(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 3/06

Claims (20)

    (57)【特許請求の範囲】
  1. 【請求項1】可変長のデータ形式をもつディスク装置に
    対し、上位装置の入出力要求に基づいてデータの読み書
    きを行うディスク制御装置に於いて、 前記ディスク装置のデータをトラック単位に保持するキ
    ャッシュメモリと、 前記ディスク装置におけるトラックのレコード形式情報
    を保持するレコード形式情報テーブルと、 前記上位装置からの書込要求に対し、前記キャッシュメ
    モリ上に対応するトラックデータが存在する場合は前記
    キャッシュメモリ上で書込処理を終了し、前記キャッシ
    ュメモリ上に対応するトラックデータが存在しない場合
    は、前記レコード形式情報テーブルの参照によりレコー
    ド形式を解析して前記キャッシュメモリに展開するトラ
    ック上のレコード位置を認識し、前記キャッシュメモリ
    上で書込処理を終了するライトキャッシュ制御部と、 上位装置からの読出要求に対し前記キャッシュメモリ上
    に対応するトラックデータが存在する場合は前記キャッ
    シュメモリ上のデータを前記上位装置に転送して処理を
    終了し、前記キャッシュメモリ上に対応するトラックデ
    ータが存在しない場合は、前記ディスク装置から対応す
    るトラックをステージングした後に前記上位装置にデー
    タを転送して読出処理を終了するリードキャッシュ制御
    部と、を備え、前記レコード形式情報テーブルは、レコード形式情報と
    してトラック上に存在するレコード数を保持し、 前記ライトキャッシュ制御部は、前記上位装置からのレ
    コード番号の指定による書込要求に対し、前記レコード
    形式情報テーブルのトラック上に存在するレコード数を
    参照して、指定されたレコードがトラック上に存在する
    か否か判定すること を特徴とするディスク制御装置。
  2. 【請求項2】請求項1記載のディスク制御装置に於い
    て、 前記レコード形式情報テーブルは、レコード形式情報と
    して、トラック上のR0レコードのデータ長を保持し、 前記ライトキャッシュ制御部は、前記上位装置からトラ
    ックデータの前記R0レコードに続くR1レコード以降
    のレコード形式を変更する処理要求を受けた際に、前記
    レコード形式情報テーブルのR0レコードのデータ長か
    ら前記R1レコードの開始位置を認識して前記キャッシ
    ュメモリ上でレコード形式を変更することを特徴とする
    ディスク制御装置。
  3. 【請求項3】請求項1記載のディスク制御装置に於い
    て、 前記レコード形式情報テーブルは、レコード形式情報と
    して、トラック上のレコードが全て等しいデータ長を持
    つことを示す等長フラグを保持し、 前記ライトキャッシュ制御部は、前記上位装置からのレ
    コード番号の指定による書込要求に対し、前記等長フラ
    グとそのレコード長から前記キャッシュメモリ上の指定
    レコードの位置を計算して書き込むことを特徴とするデ
    ィスク制御装置。
  4. 【請求項4】請求項1記載のディスク制御装置に於い
    て、更に、不良トラックと交代トラックとの対応を示す
    不良交代トラック対応テーブルを有し、 前記レコード形式情報テーブルは、レコード形式情報と
    して、不良トラックを認識する不良トラックフラグを保
    持し、 前記ライトキャッシュ制御部は、前記上位装置からの書
    込要求に対し前記不良トラックフラグを認識した場合
    は、前記不良交代トラック対応テーブルを参照して前記
    キャッシュメモリ上の交代トラックに書き込むことを特
    徴とするディスク制御装置。
  5. 【請求項5】請求項1記載のディスク制御装置に於い
    て、 前記キャッシュメモリは、電源遮断時にデータ保持可能
    な不揮発性キャッシュメモリを備え、前記レコード形式
    情報テーブルを前記不揮発性キャッシュメモリに格納
    し、装置電源の切断投入に対し継続的にテーブル内容を
    保持することを特徴とするディスク制御装置。
  6. 【請求項6】請求項1記載のディスク制御装置に於い
    て、前記ディスク装置は前記レコード形式情報テーブル
    の内容を格納する専用の領域をディスク媒体上に備えた
    ことを特徴とするディスク制御装置。
  7. 【請求項7】請求項記載のディスク制御装置に於い
    て、更に、 電源切断時に、前記レコード形式情報テーブルの内容
    を、対応するディスク装置に書き込むテーブル書戻し部
    と、 電源投入時に、前記ディスク装置から前記レコード形式
    情報テーブルの内容を読み出して前記キャッシュメモリ
    上のテーブル格納領域に格納するテーブル生成部と、 を設けたことを特徴とするディスク制御装置。
  8. 【請求項8】請求項記載のディスク制御装置に於い
    て、更に、 実装可能な複数のディスク装置の各々のデバイス番号に
    ついて、未接続や不使用等を示すテーブル無効情報と、
    有効に使用できることを示すテーブル有効情報を格納し
    た履歴管理テーブルを設け、 前記テーブル生成部は、電源投入時に、前記履歴管理テ
    ーブルを参照して前記ディスク装置のデバイス番号の順
    番にレコード形式情報テーブルの格納領域を前記キャッ
    シュメモリ上に確保する際に、前記テーブル有効情報が
    認識された場合はテーブル格納領域を確保し、前記テー
    ブル無効情報が認識された場合はテーブル格納領域を確
    保せずにキャッシュデータ領域として使用させることを
    特徴とするディスク制御装置。
  9. 【請求項9】請求項記載のディスク制御装置に於い
    て、前記キャッシュメモリは、電源遮断時にデータ保持
    可能な不揮発性キャッシュメモリを備え、前記不揮発性
    キャッシュメモリに前記履歴管理テーブルを格納したこ
    とを特徴とするディスク制御装置。
  10. 【請求項10】請求項記載のディスク制御装置に於い
    て、更に、 前記テーブル生成部は、電源投入時に、前記ディスク装
    置のデバイス番号に従って前記履歴管理テーブルを順次
    参照し、前記テーブル有効情報を認識した場合は、対応
    するディスク装置のレコード形式情報を読み込み、前記
    テーブル無効情報を認識した場合は、対応するディスク
    装置のレコード形式情報の読込みを禁止することを特徴
    とするディスク制御装置。
  11. 【請求項11】請求項記載のディスク制御装置に於い
    て、 前記テーブル書戻し部は、定期的に前記レコード形式情
    報テーブルの内容を、対応するディスク装置に書き戻す
    ことを特徴とするディスク制御装置。
  12. 【請求項12】請求項記載のディスク制御装置に於い
    て、 前記ライトキャッシュ制御部は、上位装置から要求され
    たレコード形式を前記キャッシュメモリ上で変更した際
    に、対応する前記レコード形式情報テーブルのレコード
    形式情報を更新し、 前記テーブル書戻し部は、前記ライトキャッシュ制御部
    によるレコード形式の変更処理の終了を認識した際に、
    前記レコード形式情報を対応するディスク装置に書き戻
    すことを特徴とするディスク制御装置。
  13. 【請求項13】請求項12記載のディスク制御装置に於
    いて、 前記ライトキャッシュ制御部は、レコード形式を変更し
    た際に、前記履歴管理テーブルにテーブル無効情報をセ
    ットし、 前記テーブル書戻し部は、電源切断時には、前記履歴管
    理テーブルを参照してテーブル無効情報をもつレコード
    形式情報テーブルのみを対応するディスク装置に書き戻
    すことを特徴とするディスク制御装置。
  14. 【請求項14】請求項1記載のディスク制御装置に於い
    て、 前記レコード形式情報テーブルは、レコード形式情報と
    してレコード形式情報が有効か無効かを示すフラグ情報
    を有し、 前記フラグ情報が無効を示すトラックについてレコード
    形式情報を生成してレ前記コード形式情報テーブルに格
    納するテーブル生成部を設けたことを特徴とするディス
    ク制御装置。
  15. 【請求項15】請求項14記載のディスク制御装置に於
    いて、前記テーブル生成部は、 前記ライトキャッシュ制御部で前記上位装置からレコー
    ド形式を初期化するフォーマットライトを実行して前記
    キャッシュメモリ上に1トラック分のレコードを生成し
    た際に、対応するレコード形式情報を生成してレコード
    形式情報テーブルに格納することを特徴とするディスク
    制御装置。
  16. 【請求項16】請求項14記載のディスク制御装置に於
    いて、前記テーブル生成部は、前記レコード形式情報テ
    ーブルのフラグ情報が無効を示しているトラックを定期
    的に検索して前記ディスク装置からトラックデータを読
    み出し、該トラックデータを解析してレコード形式情報
    を生成することを特徴とするディスク制御装置。
  17. 【請求項17】請求項14記載のディスク制御装置に於
    いて、前記テーブル生成部は、 前記リードキャッシュ制御部による前記ディスク装置か
    らトラックデータをステージングした時に、前記レコー
    ド形式情報テーブルの対応するフラグ情報の無効を認識
    した場合、前記ステージングしたトラックデータを解析
    してレコード形式情報を生成することを特徴とするディ
    スク制御装置。
  18. 【請求項18】請求項1記載のディスク制御装置に於い
    て、 前記テーブル生成部は、ディスク装置が新たに増設され
    て使用可能となった場合、前記キャッシュメモリ上に増
    設ディスク装置のレコード形式情報テーブルの格納領域
    を確保すると同時に、前記増設ディスク装置の全トラッ
    クデータを定期的に読み出して解析することにより、レ
    コード形式情報を生成して前記レコード形式情報テーブ
    ルに格納することを特徴とするディスク制御装置。
  19. 【請求項19】請求項1記載のディスク制御装置に於い
    て、 前記リードキャッシュ制御部は、上位装置からの読出要
    求に対し対応データが前記キャッシュメモリ上に存在し
    ない場合、前記レコード形式情報テーブルを参照して複
    数のディスク装置に亘る複数トラックデータのステージ
    ングを認識した場合、前記複数のディスク装置に対し並
    列読出しを指示して複数トラックを同時にステージング
    させることを特徴とするディスク制御装置。
  20. 【請求項20】可変長のデータ形式をもつディスク装置
    に対し、上位装置の入出力要求に基づいてデータの読み
    書きを行うディスク制御装置に於いて、 前記ディスク装置のデータを保持する記憶部と、 前記ディスク装置におけるレコード形式情報を保持する
    レコード形式情報テーブルと、 前記上位装置からの書込要求に対し、前記記憶部上に対
    応するデータが存在する場合は前記記憶部上で書込処理
    を終了し、前記記憶部上に対応するデータが存在しない
    場合は、前記レコード形式情報テーブルの参照によりレ
    コード形式を解析して前記記憶部に展開するレコード位
    置を認識し、前記記憶部上で書込処理を終了する書込み
    制御部と、 上位装置からの読出要求に対し前記記憶部上に対応する
    データが存在する場合は前記記憶部上のデータを前記上
    位装置に転送して処理を終了し、前記記憶部上に対応す
    るデータが存在しない場合は、前記ディスク装置から対
    応するデータをステージングした後に前記上位装置にデ
    ータを転送して読出処理を終了する読出し制御部と、 を備え前記レコード形式情報テーブルは、レコード形式情報と
    してトラック上に存在するレコード数を保持し、 前記書込み制御部は、前記上位装置からのレコード番号
    の指定による書込要求に対し、前記レコード形式情報テ
    ーブルのトラック上に存在するレコード数を参照して、
    指定されたレコードがトラック上に存在するか否か判定
    すること を特徴とするディスク制御装置。
JP02779495A 1995-02-16 1995-02-16 ディスク制御装置 Expired - Fee Related JP3260998B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP02779495A JP3260998B2 (ja) 1995-02-16 1995-02-16 ディスク制御装置
US08/548,429 US6009498A (en) 1995-02-16 1995-10-26 Disk control unit for holding track data in cache memory
US09/458,554 US6101574A (en) 1995-02-16 1999-12-09 Disk control unit for holding track data in non-volatile cache memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP02779495A JP3260998B2 (ja) 1995-02-16 1995-02-16 ディスク制御装置

Publications (2)

Publication Number Publication Date
JPH08221210A JPH08221210A (ja) 1996-08-30
JP3260998B2 true JP3260998B2 (ja) 2002-02-25

Family

ID=12230890

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02779495A Expired - Fee Related JP3260998B2 (ja) 1995-02-16 1995-02-16 ディスク制御装置

Country Status (1)

Country Link
JP (1) JP3260998B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006252239A (ja) * 2005-03-11 2006-09-21 Fujitsu Ltd ファイル制御装置

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001166993A (ja) * 1999-12-13 2001-06-22 Hitachi Ltd 記憶制御装置およびキャッシュメモリの制御方法
WO2002017055A1 (fr) 2000-08-18 2002-02-28 Fujitsu Limited Dispositif de commande de disque, procede de commande de disque, dispositif de commande a distance de disque, et procede de commande a distance de disque
JP2006134034A (ja) * 2004-11-05 2006-05-25 Murata Mach Ltd コンテンツデータ提供装置およびネットワークシステム
JP2010238336A (ja) * 2009-03-31 2010-10-21 Sharp Corp 記録装置、記録方法、プログラム、及び、記録媒体
JP6206138B2 (ja) * 2013-12-02 2017-10-04 富士通株式会社 ストレージ制御装置およびストレージ制御装置の制御プログラム
US10691566B2 (en) * 2017-07-27 2020-06-23 International Business Machines Corporation Using a track format code in a cache control block for a track in a cache to process read and write requests to the track in the cache

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006252239A (ja) * 2005-03-11 2006-09-21 Fujitsu Ltd ファイル制御装置

Also Published As

Publication number Publication date
JPH08221210A (ja) 1996-08-30

Similar Documents

Publication Publication Date Title
US6009498A (en) Disk control unit for holding track data in cache memory
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
US5089958A (en) Fault tolerant computer backup system
JP3422370B2 (ja) ディスクキャッシュ制御装置
US6101574A (en) Disk control unit for holding track data in non-volatile cache memory
US6772283B2 (en) Disk control device and method processing variable-block and fixed-block accesses from host devices
US6738863B2 (en) Method for rebuilding meta-data in a data storage system and a data storage system
US5283884A (en) CKD channel with predictive track table
US6058489A (en) On-line disk array reconfiguration
US8166235B2 (en) Flash memory storage system
KR100962883B1 (ko) 소스 데이터를 타겟 데이터로 이전하는 방법, 시스템 및제조물
US7849258B2 (en) Storage apparatus and data verification method for the same
WO1993023803A1 (fr) Appareil de commande pour pile de disques
US7047390B2 (en) Method, system, and program for managing a relationship between one target volume and one source volume
US8683130B2 (en) Fabricating key fields
US6715030B1 (en) Apparatus and method for storing track layout information for performing quick write operations
JP3260999B2 (ja) ディスク制御装置の制御方法
JP3260998B2 (ja) ディスク制御装置
US7047378B2 (en) Method, system, and program for managing information on relationships between target volumes and source volumes when performing adding, withdrawing, and disaster recovery operations for the relationships
JPH07152499A (ja) ディスクアレイ装置におけるパリティ格納方法、障害回復方法およびディスクアレイ装置
TWI522805B (zh) 用來於一儲存系統中進行快取管理之方法與裝置
JP3122252B2 (ja) ディスクアレイ制御方式
JP3615274B2 (ja) ファイル制御装置
JP3614886B2 (ja) ファイルシステム
JP2531538B2 (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: 20011113

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