JP3615274B2 - ファイル制御装置 - Google Patents
ファイル制御装置 Download PDFInfo
- Publication number
- JP3615274B2 JP3615274B2 JP19274495A JP19274495A JP3615274B2 JP 3615274 B2 JP3615274 B2 JP 3615274B2 JP 19274495 A JP19274495 A JP 19274495A JP 19274495 A JP19274495 A JP 19274495A JP 3615274 B2 JP3615274 B2 JP 3615274B2
- Authority
- JP
- Japan
- Prior art keywords
- track
- destage
- tracks
- continuous
- management unit
- 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
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Description
【産業上の利用分野】
本発明は、上位装置とであるチャネル転送と直接アクセス記憶装置(DASD)との転送の経路が、時間的に独立に動作する非同期転送を行うディスク制御装置等のファイル制御装置に関する。
【0002】
【従来の技術】
図7は従来例の説明図であり、図7(a)はCKDフォーマットの説明、図7(b)はFBAトラック上へのCKDトラックのエミュレート方法の説明である。
【0003】
従来、磁気ディスク装置や光ディスク装置等の外部記憶装置である直接アクセス記憶装置(DASD)へのデータの記憶方法は、可変長方式であるCKDフォーマットであり、また、上位装置(OS:オペレーティングシステム)が、DASDへデータを書き込むフォーマットもCKDフォーマットである。
【0004】
図7(a)において、CKDフォーマットのディスクのあるトラックm内には、インデックス(Index)、ホームアドレスHA、レコード(Record)0、レコード1、レコード2、・・・レコードkからなっている。
【0005】
インデックスは、トラックの起点マーカである。ホームアドレスHAは、トラックの状態等を示すものであり、フラグ(Flag)、トラックアドレス(Track Address:シリンダ番号とヘッド番号)、誤り訂正コード(Error Correction Code:ECC)が設けてある。このフラグ(Flag)はトラックが不良かどうかの使用状態を示し、例えば、2ビットによりなり、対象トラックが正常であれば「00」不良トラックであれば「10」交代トラックであれば「01」とするものである。誤り訂正コードECCはデータチェックのためのものである。
【0006】
レコード0は、ユーザの使用できないレコードで、そのカウント部に不良トラックが発生したとき交代トラックのアドレスを記録するものである。レコード1〜レコードkは、ユーザが使用できるレコードであり、それぞれ、カウント部C、キー部K(省略される場合もある)、データ部Dの3つのフィールドがある。このカウント部Cには、これに続くキー部K、データ部Dの長さが入っている。キー部Kには、データ部Dの検索等のための標識であるキーが入っている。データ部Dは、データを記録する部分である。
【0007】
しかし、近年、可変長方式であるCKDフォーマットのDASDから、実記憶媒体を固定長方式であるFBAフォーマットのDASDに変更し、冗長情報を付加して信頼性を向上するレイド(RAID)技術を使用する傾向が高まっている。
【0008】
この場合、上位装置(OS)の発行するフォーマットと実DASDのフォーマットが異なるため、ファイル制御装置(以下、「FCU〕という)が、FBAフォーマットDASD上に、CKDフォーマットをエミュレート(変換)する技術(Ckd On Fba=COF)が広まってきている。このCOF技術を用いる場合、CKDフォーマットのトラックを、FBAフォーマットの実DASD上に図7(b)のようにエミュレートする。
【0009】
図7(b)において、上図はFBAフォーマットの1トラックを示し、この例では、ブロックn、ブロックn+1、ブロックn+2、ブロックn+3、ブロックn+4、ブロックn+5・・・ブロックn+84まである。この1ブロックには、CKDフォーマットのレコードが0から最大で8まで含むことができる。 例えば、FBAフォーマットのブロックn〜ブロックn+15(16ブロック分)をCKDフォーマットの1トラックが使用すると、図7(b)の上図は同下図のように見かけ上見える。即ち、FBAフォーマットの1トラックではエミュレートしたCKDフォーマットのトラックがトラックm(FBAブロックn〜n+15)、トラックm+1(FBAブロックn+16〜n+31)、トラックm+2(FBAブロックn+32〜n+47)、トラックm+3(FBAブロックn+48〜n+63)、トラックm+4(FBAブロックn+64〜n+79)と約5トラック分となる。
【0010】
さて、従来より、ライト動作においては、その処理を高速化するために、上位装置からのライト要求時には、ライトされるデータをDASDには書き込まず、ファイル制御装置(FCU)内の不揮発性メモリ(NVS=Non Volatile Storage)だけにデータを書き込み、FCUの遊休時間を利用して、DASDへの書き戻しを行う手法(DASDへの高速書き込み機構)が考えられている。
【0011】
更に、この手法を改良した、NVSからDASDへのデータの書き戻しの手法としては、連続した複数トラックを1イベントでDASDへ書き戻す手法(マルチトラック・デステージ)が考えられている。
【0012】
しかし、COF技術を用いたファイル・サブシステムにおいては、連続したトラックのデステージが、必ずしも性能向上を期待できない。なぜならば、CKDフォーマットの連続した2トラックは、FBAフォーマット上では、隣接したブロックとなり、CKDフォーマットの1トラック処理を基本とするFCUでは、当該トラックの書き戻し後、後処理をしている間に、続くトラックの先頭部分が通りすぎ、一回転待ちを発生させるからである。
【0013】
図7を用いて説明すると、例えば、従来のCKDフォーマットDASDを使用した場合、トラックmをデステージした後、トラックm+1のホームアドレスHAにDASDのヘッドが到着するまでの時間は、トラックmのレコードkの処理が終了した後、ヘッドがインデックスを通過し、更にトラックm+1のホームアドレスHA部に位置付くまでの時間であり、比較的余裕があった。
【0014】
しかしながら、COF技術を用いた場合、トラックmの処理が終了してから、トラックm+1の処理を開始するまでには、ブロック間ギャップG分の時間しか与えられない。論理的に、この時間だけではFCUがエラーチェック等のトラックの終了処理と、続くトラックの開始処理を完結できない。このため、ヘッドは、ディスクが一回転して再びトラックm+1(FBAフォーマットではブロックn+16)の先頭に位置付くのを待つことになる。
【0015】
また、一般に、上位装置からのリード命令であるリードコマンド(Read Command)全般に対する応答は、対象データがキャッシュメモリ上に格納されていれば、キャッシュメモリから読み出して応答し、対象データがキャッシュメモリ上に格納されていなければ、実DASDへのアクセスが発生し、DASDへのヘッドの位置付け、回転待ちのための時間が費やされていた。
【0016】
【発明が解決しようとする課題】
上記従来のものにおいては次のような課題があった。
▲1▼:連続してデステージすることによってDASDの回転待ちをなくすための手法であるためのマルチトラックデステージ手法が、COF技術を用いた場合回転待ちが発生し、その機能を果たさなくなるという問題があった。
【0017】
▲2▼:上位装置からのリード命令全般に対する応答は、対象データがキャッシュメモリに格納されている場合でもその記憶場所を得るためのハッシュ変換、キャッシュメモリからの読み出し動作を行うための時間が消費され、また、ハード故障等によるアクセスエラーの発生する確率も高くなっていた。
【0018】
本発明は、上記従来の課題を解決し、DASDへの論理CKDデステージトラックを連続に処理するのではなく、トラックの後処理、前処理を十分行える時間を確保できるようにして、無駄な回転待ちを無くし高速にデステージを行うこと、及び、対象データがキャッシュメモリ上に格納されているかいないかに係わらず、常に高速にホームアドレスを読む命令(Read HA命令)に応答でき、かつ、エラーの発生確率を低くすることを目的とする。
【0019】
【課題を解決するための手段】
図1は本発明の原理説明図であり、図1中、1は上位装置、2はファイル制御装置(FCU)、3は直接アクセス記憶装置(DASD)、20はメモリ部、21はチャネルアダプタ(CA)、22はデバイスアダプタ(DA)、23はキャッシュ管理部(CFE)、24はキャッシュメモリ、25は不揮発性メモリ(NVS)、27は不良交代情報テーブルを示している。
【0020】
本発明は上記の課題を解決するため、次のように構成した。
(1)上位装置1等からのデータを格納するメモリ部20と、該メモリ部20を管理するキャッシュ管理部23と、DASD3とのインタフェースを制御するデバイスアダプタ22とを有するFCU2において、前記キャッシュ管理部23は、前記メモリ部20のデータのデステージをスケジュールし、前記メモリ部20のトラックのデステージの際に、複数トラックのデステージを前記デバイスアダプタ22に要求し、前記複数トラックのデステージは、連続トラックでないようにする。
【0021】
また、前記複数トラックのデステージ要求は、前記キャッシュ管理部23が、デステージ対象のDASD3の種類、性能等を判断し、連続デステージトラック間隔を算出して行う。
【0022】
さらに、前記複数トラックのデステージ要求は、前記キャッシュ管理部23が、あらかじめ定義されている連続デステージトラック数から、デステージ可能な連続トラックを抽出して行う。
【0023】
また、前記キャッシュ管理部23は、前記デステージ可能な連続トラックを抽出する際、前記デステージ可能な連続トラックが、前記あらかじめ定義されている連続デステージトラック数よりも少ない場合は、デステージを延期し、多い場合は、前記あらかじめ定義されている連続デステージトラック数だけデステージを要求する。
【0024】
さらに、前記複数トラックのデステージ要求を受けた前記デバイスアダプタ22は、前記キャッシュ管理部23から通知された先頭トラックからデステージを開始し、先頭トラックのデステージが完了した後の次のデステージ対象トラックは、キャッシュ管理部23から通知された連続デステージトラック間隔を、前記先頭トラックに加算したトラックとし、デステージトラック数が前記キャッシュ管理部23から通知された最終トラックを越える場合は、処理を終了する。
【0025】
また、前記デバイスアダプタ22は、前記連続デステージ処理を終了したのち、前記連続デステージによりデステージしたトラック数と、あらかじめ定義されている連続デステージトラック数を比較し、その比較結果をキャッシュ管理部23に通知する。
【0030】
【作用】
上記構成に基づく本発明の作用を説明する。
(1)キャッシュ管理部23は、メモリ部20のデータのデステージをスケジュールし、前記メモリ部20のトラックのデステージの際には、複数トラックのデステージをデバイスアダプタ22に要求し、前記複数トラックのデステージは、連続トラックでないようにする。このため、COF技術を用いたFBAフォーマットのDASD3に回転待ちを発生させることなく連続したデステージを行うことが出来る。
【0031】
また、前記複数トラックのデステージ要求は、前記キャッシュ管理部23が、デステージ対象のDASD3の種類、性能等を判断し、連続デステージトラック間隔を算出して行う。このため、DASD3の種類、性能に適した連続デステージトラック間隔が設定でき、デステージ時間を短縮することができる。
【0032】
さらに、前記複数トラックのデステージ要求は、前記キャッシュ管理部23が、あらかじめ定義されている連続デステージトラック数から、デステージ可能な連続トラックを抽出して行う。このため、DASD3の種類、性能に適した連続デステージトラック数でデステージでき、効率の良いデステージが可能となる。
【0033】
また、前記キャッシュ管理部23は、前記デステージ可能な連続トラックを抽出する際、前記デステージ可能な連続トラックが、前記あらかじめ定義されている連続デステージトラック数よりも少ない場合は、デステージを延期し、多い場合は、前記あらかじめ定義されている連続デステージトラック数だけのデステージを要求する。このため、DASD3に最適な連続デステージトラック数でデステージすることができる。
【0034】
さらに、前記複数トラックのデステージ要求を受けた前記デバイスアダプタ22は、前記キャッシュ管理部23から通知された先頭トラックからデステージを開始し、先頭トラックのデステージが完了した後の次のデステージ対象トラックは、キャッシュ管理部23から通知された連続デステージトラック間隔を、前記先頭トラックに加算したトラックとし、デステージトラック数が前記キャッシュ管理部23から通知された最終トラックを越える場合は、処理を終了する。このため、途中からデステージを始めないため、DASD3のセレクション時間を少なくできる。
【0035】
また、前記デバイスアダプタ22は、前記連続デステージ処理を終了したのち、前記連続デステージによりデステージしたトラック数と、あらかじめ定義されている連続デステージトラック数を比較し、その比較結果をキャッシュ管理部23に通知する。このため、連続デステージトラックの異常を早急に検出でき、異常に対する処理が早くできる。
【0040】
【実施例】
図2、図3は本発明の第1実施例、図4〜図6は本発明の第2実施例を示した図である。以下、本発明の実施例を図面に基づいて説明する。
【0041】
〔第1実施例の説明〕
1):ファイル制御装置(FCU)の説明
図2はファイル制御装置の説明図であり、ファイル制御装置(FCU)2は、上位装置の指示によりDASD3にデータのリード/ライトを行うものであり、上位装置とはチャネルアダプタ(CA)21で接続され、ディスクアレイ等のDASD3のDASDアダプタ31とはデバイスアダプタ(DA)22で接続されている。また、このFCU2には、ハードデスク(HD)4に接続されたサービスアダプタ(SA)26が設けてある。
【0042】
FCU2内には、チャネルアダプタ21、デバイスアダプタ22、キャッシュ管理部23、キャッシュメモリ24、不揮発性メモリ(NVS)25が設けてある。
【0043】
チャネルアダプタ21は、複数個設けてあり、主として上位装置のチャネルとのインタフェースを司り、デバイスアダプタ22は、DASD3とのインタフェースを制御するものである。キャッシュ管理部23は、キャッシュメモリ24に登録されているトラック等の管理を行うものである。
【0044】
キャッシュメモリ24は、DASD3上の命令及びデータの内後で使われる可能性の高いものの写しを保持するバッファ記憶装置である。不揮発性メモリ25は、バッテリバックアップされ、電源断時においてもデータが、喪失しないものである。
【0045】
サービスアダプタ26は、ハードデスク4からの情報により、ファイル制御装置の初期設定、ファイル装置のエラー情報の履歴の管理等を行うものである。DASD3は、RAID技術を使用したディスクアレイ等のFBAフォーマット(固定長方式)の記憶装置である。DASDアダプタ31は、FCU2とのインタフェースを司るものである。
【0046】
2):ファイル制御装置の動作説明
FCU2は、上位装置からDASD3へのデータの書き込み指示を受けると、チャネルアダプタ21で上位装置からのCKDフォーマットをFBAフォーマットに変換し、キャッシュメモリ24と不揮発性メモリ25に同時に書き込む高速書き込み処理を行う。
【0047】
キャッシュ管理部23は、不揮発性メモリ25内部に高速書き込み機構で生成されたトラックが存在することを検出すると、全てのトラック中で連続するトラックが存在するか否かを検索する。ここで、キャッシュ管理部23は、連続デステージ可能なトラック間隔を算出し、デステージする先頭トラックと終了トラックとデステージトラック間隔とを情報として、デバイスアダプタ22にデステージを要求する。
【0048】
デステージ要求を受けたデバイスアダプタ22は、前記情報により、先頭トラックに対して、DASD3へのヘッドの位置決めであるセレクション命令を発行する。
【0049】
DASD3のセレクションが完了後、デバイスアダプタ22は、前記キャッシュ管理部23から受け取った情報を基に、デステージするトラックを決定する。最初にデステージするトラックは、キャッシュ管理部23から通知された、先頭トラックであり、次にデステージするトラックは、先頭トラックにデステージトラック間隔を加えたトラックである。更に、その次にデステージ対象とするトラックは、現デステージトラックに前記のデステージトラック間隔を加えたトラックである。
【0050】
デバイスアダプタ22は、この動作を繰り返し、キャッシュ管理部23から通知された終了トラックアドレスを越えるまで前述の動作を繰り返す。
なお、デステージトラック間隔は、トラックの後処理、前処理が十分行える時間を確保できる分だけ、デステージ対象トラックをスキップする間隔である。従来のマルチトラックデステージでは、デステージトラック数分だけの無駄な回転待ちが発生していたが、この実施例のようにすることにより、無駄な回転待ちは発生しなくなる。
【0051】
3):デステージ動作の具体例による説明
図3はデステージ対象トラックの説明図である。
キャッシュ管理部23は、不揮発性メモリ25上に、デステージ対象のトラックがあることを検出する。今回、対象のDASD3は、1シリンダに15ヘッド存在し、このデステージ対象トラックが、図3の様であったとする。また、対象のDASD3に対しては、3トラックの回転時間でトラックの後処理と、前処理が完了できるものとすると、連続デステージトラック間隔は4であると算出する。
【0052】
ここで、今回デステージ対象となるトラックは、図3中で一回目の欄に○印の記されているトラックと、二回目の欄に●印の記されているトラックである。
▲1▼:キャッシュ管理部23は、デステージトラックの検索を行い、一回目として、先頭トラック(0)=シリンダ値「0005」・ヘッド値「0000」、終了トラック(+20)=シリンダ値「0006」・ヘッド値「0005」、連続デステージトラック間隔=4として、デバイスアダプタ22にデステージを発行する。
【0053】
▲2▼:キャッシュ管理部23からデステージ要求を受け付けたデバイスアダプタ22は、トラック(0)であるシリンダ値「0005」・ヘッド値「0000」に対してDASD3のセレクションを行う。
【0054】
▲3▼:デバイスアダプタ22は、DASD3のセレクションが完了後、図3中の一回目の欄にある先頭トラック(0)から、順に○印の付いているトラック(+4)(+8)(+12)(+16)をデステージして、終了トラック(+20)のデステージが完了した後に、連続デステージ処理完了をキャッシュ管理部23に報告する。
【0055】
▲4▼:キャッシュ管理部23は、二回目として、先頭トラック(+11)=シリンダ値「0005」・ヘッド値「000B」、終了トラック(+23)=シリンダ値「0006」・ヘッド値「0008」、連続デステージトラック間隔=4として、デバイスアダプタ22にデステージを発行する。
【0056】
▲5▼:キャッシュ管理部23からデステージ要求を受け付けたデバイスアダプタ22は、トラック(+11)であるシリンダ値「0005」・ヘッド値「000B」に対してDASD3のセレクションを行う。
【0057】
▲6▼:デバイスアダプタ22は、DASD3のセレクションが完了後、図3中の一回目の欄にある先頭トラック(+11)から、順に●印の付いているトラック(+15)(+19)をデステージして、終了トラック(+23)のデステージが完了した後に、連続デステージ処理完了をキャッシュ管理部23に報告する。
【0058】
なお、前記実施例では、連続デステージトラック間隔を4としたが、キャッシュ管理部23は、デステージ対象DASD3の種類を判断し、その対象DASD3の性能に基づき連続デステージトラック間隔を算出するものであり、通常は1トラック分をスキップする間にトラックの前処理、後処理を行える。この場合は、連続デステージトラック間隔は2となる。
【0059】
また、ハードデスク4等にあらかじめ連続デステージトラック数を記憶させておくことにより、FCUの初期設定により連続デステージトラック数をあらかじめ定義しておくことができる。これにより、キャッシュ管理部23は、あらかじめ定義されている連続デステージトラック数から、デステージ可能な連続トラックを抽出する。
【0060】
そして、キャッシュ管理部23は、デステージ可能な連続トラックを抽出する際、前記デステージ可能な連続トラックが、あらかじめ定義されている連続デステージトラック数よりも少ない場合は、デステージを延期し、あらかじめ定義されている連続デステージトラック数よりも多い場合は、前記あらかじめ定義されている連続デステージトラック数だけデステージをデバイスアダプタ22に要求する。
【0061】
さらに、デバイスアダプタ22は、連続デステージ処理を終了したのち、前記連続デステージによりデステージしたトラック数と、あらかじめ定義されている連続デステージトラック数を比較し、その比較値が異なる場合は、キャッシュ管理部23に対し、論理矛盾を検出したことを通知する機構を設け、また、前記比較値が等しい場合は、キャッシュ管理部23に対し、デステージが正常に終了したことを通知する機構を設ける。
【0062】
〔第2実施例の説明〕
1):ファイル制御装置(FCU)の説明
図4は第2実施例におけるファイル制御装置の説明図であり、ファイル制御装置(FCU)2は、上位装置の指示によりDASD3にデータのリード/ライトを行うものであり、上位装置とはチャネルアダプタ(CA)21で接続され、DASD3のDASDアダプタ31とデバイスアダプタ(DA)で接続されている。また、このFCU2には、ハードデスク(HD)4に接続されたサービスアダプタ(SA)26が設けてある。
【0063】
FCU2内には、チャネルアダプタ21、デバイスアダプタ22、キャッシュ管理部23、キャッシュメモリ24、不揮発性メモリ(NVS)25が設けてある。
【0064】
チャネルアダプタ21は、複数個設けてあり、主として上位装置のチャネルとのインタフェースを司り、デバイスアダプタ22は、DASD3とのインタフェースを制御するものである。キャッシュ管理部23は、キャッシュメモリ24に登録されているトラック等の管理を行うものであり、その記憶部に不良交代情報テーブル27を格納する場所が設けてある。
【0065】
キャッシュメモリ24は、DASD3上の命令及びデータの内後で使われる可能性の高いものの写しを保持するバッファ記憶装置である。不揮発性メモリ25は、バッテリバックアップされ、電源断時においてもデータが、喪失しないものである。
【0066】
サービスアダプタ26は、ハードデスク4からの情報により、ファイル制御装置の初期設定、ファイル装置のエラー情報の履歴の管理等を行うものである。DASD3は、ディスク装置、光ディスク装置等の複数のデバイスからなる記憶装置である。DASDアダプタ31は、FCU2とのインタフェースを司るものである。
【0067】
2):不良交代情報テーブルの説明
図5は不良交代情報テーブルの説明図であり、図5(a)は不良交代情報テーブルの説明、図5(b)は不良交代情報の1セット分の説明である。
【0068】
図5(a)において、この例では1デバイス当たり不良交代情報は、左端のセット番号0〜44のように最大45トラック数分まで格納できる。この不良交代情報の1セット分には不良側、交代側それぞれ4バイト分の格納部がある。また、不良交代情報テーブル27には、接続できる最大のデバイスの数分(この例では256デバイス)の格納部が設けてある。
【0069】
図5(b)において、不良交代情報の1セット分は、不良側と交代側に分かれている。不良側には、シリンダ値、ヘッド値、情報の格納部が設けてあり、交代側には、シリンダ値、ヘッド値、デバイス値(機番)の格納部が設けてある。この情報の格納部は、例えば「40」が格納されていれば交代側が有効であることを示しており、「20」であれば不良側が有効であることを示しており、「60」であれば不良側及び交代側の両者が有効、即ちリンクが確立済であることを示すものである。
【0070】
3):付加情報を含むホームアドレスのリード命令(Diag Read HA Command)の説明
この実施例では、ファイル制御装置(FCU)2内の不良交代情報テーブル27に、配下の全てのDASD3の不良交代情報を格納しておく。この不良交代情報は、ホームアドレスをライト(Write HA)又は付加情報を含むホームアドレスのライト(Diag Write HA)の処理時に作成更新される。
【0071】
付加情報を含むホームアドレスのリード命令(Diag Read HA Command)で転送するデータはフラグ(Flag)、トラックアドレス(Track Address)、傷情報、セル(Cell)値、物理トラックアドレスである。
【0072】
この実施例では、FCU2内にトラックの不良交代情報が格納されているので、ホームアドレスHA部のフラグ情報はFCU2が作成することができる。トラックアドレスと物理トラックアドレスは、トラックの物理位置であるから、シーク(Seek)値と一致するはずであり、これはFCU2内で作成できる。
【0073】
傷情報は、RAID技術を用いるアレイディスクを考えた場合には、傷をゼロとした標準値で問題はない。セル値は、インデックスからの距離を示すものでありトラックに傷がない場合は固定値となる。
【0074】
ホームアドレスのリード命令(Read HA Command)で転送するデータは、フラグとトラックアドレスであり、付加情報を含むホームアドレスのリード命令(Diag Read HA Command)で必要とされる情報の一部であるので、やはり、FCU2内で作成できる。
【0075】
このように、FCU2内に不良交代情報を格納しておくことにより、ReadHA Command及びDiag Read HA Commandに対しては、常に実DASD3へのアクセス無しに、或いは、キャッシュメモリからのデータ読み込み無しに、対象情報を送出できる。
【0076】
4):ファイル制御装置(FCU)の動作説明
以下、FCU2の動作を説明する。
▲1▼:FCU2(キャッシュ管理部23)は、FCU2の電源の投入時、或いはリセット時に、配下の全てのDASD3の不良トラック領域を読み出し、各トラックのホームアドレスHA部に格納されているフラグによって、不良交代リンクが作成されているかどうかを判断し、その結果をFCU2内のメモリ(記憶部)に不良交代情報テーブル27として格納しておく。
【0077】
▲2▼:DASD3のアクセスに関して、リード命令を発行するには、あらかじめ対象のトラックを特定するシーク命令を発行しておかねばならない。このため、FCU2はリード命令に先立って上位装置のチャネルから発行されるシーク命令から、対象のトラックアドレスを認識できる。
【0078】
▲3▼:FCU2は、上位装置のチャネルから、配下のDASD3のホームアドレスのリード命令(Read HA Command)を受領した場合、不良交代情報テーブル27が有効か否かを判断する。
【0079】
▲4▼:もし、この判断の結果、不良交代情報テーブル27が無効の場合(例えば、DASD3のホームアドレスHA部からの不良トラック情報読み込み失敗等)は、FCU2は対象のホームアドレスHAのフラグ情報を確認できないので、通常通り、キャッシュメモリ24上にデータが存在すれば前記キャッシュメモリ24から、存在しなければDASD3から読み込み、通常のリード動作を行う。
【0080】
▲5▼:もし、前記判断の結果、不良交代情報テーブル27が有効の場合は、前記不良交代情報テーブル27内の不良交代リンク情報を参照し、対象トラックに不良交代リンクが作成されているか否かを判断する(不良トラックか、交代トラックか、正常トラックかの判断をする)。
【0081】
▲6▼:もし、不良交代リンクが作成されている場合、ホームアドレスHA部のフラグ領域に該当するビットをセットする。また、このホームアドレスHA部のトラックアドレスであるシリンダ・ヘッド値は、物理シリンダ・ヘッド値と常に一致するので、既にシーク命令により特定された値をセットすることで、キャッシュメモリを使用せずに、適切な値を応答できる。
【0082】
▲7▼:FCU2が、付加情報を含むホームアドレスのリード命令(Diag Read HA Command)で、転送しなければならないデータは、前述のホームアドレスのリード命令(Read HA Command)で転送するデータに、トラックの傷情報と、セル値を付加したものである。しかし、アレイディスクを用いるFCU(COF技術を用いるFCU)2では、傷情報は常に標準値に特定できるので、これらの情報はFCU2内部で作成できる。このため、Diag Read HA Commandに対しても、FCU2は適切な値を転送できる。
【0083】
図6はRead HA Commandに対する処理フローチャートである。以下、図6の処理S1〜S5に従って説明する。
【0084】
S1:FCU2は、上位装置から、配下のDASD3のRead HA Commandを受領した場合、不良交代情報テーブル27が有効か否かを判断し、この不良交代情報テーブル27が有効の場合は、不良交代情報テーブル27の不良交代リンク情報を参照し、対象トラックが不良交代トラックか否かを判断する。この判断で対象トラックが不良交代トラックの場合は処理S2に移り、もし、不良交代トラックでない場合は処理S5に移る(尚、前記不良交代情報テーブル27が無効の場合は、キャッシュメモリ24又はDASD3から読み込む、通常のリード動作を行う。)。
【0085】
S2:FCU2は、対象トラックが不良トラックか否かを判断する。この判断で対象トラックが不良トラックの場合は、処理S3に移り、もし、不良トラックでない場合は、処理S4に移る。
【0086】
S3:FCU2は、対象トラックのホームアドレスHA部のフラグ領域に不良トラック情報をセットし、処理S5に移る。
S4:FCU2は、対象トラックのホームアドレスHA部のフラグ領域に交代トラック情報をセットし、処理S5に移る。
【0087】
S5:FCU2は、フラグ領域にセットした不良交代情報とトラックアドレスであるシリンダ・ヘッド値を上位装置に通知してこの処理を終了する。
【0088】
【発明の効果】
以上説明したように、本発明によれば次のような効果がある。
(1)キャッシュ管理部は、メモリ部のデータのデステージをスケジュールし、前記メモリ部のトラックのデステージの際には、複数トラックのデステージをデバイスアダプタに要求し、前記複数トラックのデステージは、連続トラックでないようにするため、COF技術を用いたFBAフォーマットのDASD3に回転待ちを発生させることなく連続したデステージを行うことが出来る。
【0089】
(2)複数トラックのデステージ要求は、キャッシュ管理部が、デステージ対象のDASD3の種類、性能等を判断し、連続デステージトラック間隔を算出して行うため、DASD3の種類、性能に適した連続デステージトラック間隔が設定でき、デステージ時間を短縮することができる。
【0090】
(3)複数トラックのデステージ要求は、キャッシュ管理部が、あらかじめ定義されている連続デステージトラック数から、デステージ可能な連続トラックを抽出して行うため、DASD3の種類、性能に適した連続デステージトラック数でデステージでき、効率の良いデステージが可能となる。
【0091】
(4)キャッシュ管理部は、デステージ可能な連続トラックを抽出する際、前記デステージ可能な連続トラックが、あらかじめ定義されている連続デステージトラック数よりも少ない場合は、デステージを延期し、多い場合は、前記あらかじめ定義されている連続デステージトラック数だけのデステージを要求するため、DASD3に最適な連続デステージトラック数でデステージすることができる。
【0092】
(5)複数トラックのデステージ要求を受けたデバイスアダプタは、キャッシュ管理部から通知された先頭トラックからデステージを開始し、先頭トラックのデステージが完了した後の次のデステージ対象トラックは、キャッシュ管理部から通知された連続デステージトラック間隔を、前記先頭トラックに加算したトラックとし、デステージトラック数が前記キャッシュ管理部から通知された最終トラックを越える場合は、処理を終了するため、途中からデステージを始めないので、DASD3のセレクション時間を少なくできる。
【0093】
(6)デバイスアダプタは、連続デステージ処理を終了したのち、前記連続デステージによりデステージしたトラック数と、あらかじめ定義されている連続デステージトラック数を比較し、その比較結果をキャッシュ管理部に通知するため、連続デステージトラックの異常を早急に検出でき、異常に対する処理が早くできる。
【図面の簡単な説明】
【図1】本発明の原理説明図である。
【図2】第1実施例におけるファイル制御装置の説明図である。
【図3】第1実施例におけるデステージ対象トラックの説明図である。
【図4】第2実施例におけるファイル制御装置の説明図である。
【図5】第2実施例における不良交代情報テーブルの説明図である。
【図6】第2実施例におけるRead HA Commandに対する処理フローチャートである。
【図7】従来例の説明図である。
【符号の説明】
1 上位装置
2 ファイル制御装置(FCU)
3 直接アクセス記憶装置(DASD)
20 メモリ部
21 チャネルアダプタ(CA)
22 デバイスアダプタ(DA)
23 キャッシュ管理部(CFE)
24 キャッシュメモリ
25 不揮発性メモリ(NVS)
27 不良交代情報テーブル
Claims (6)
- 上位装置等からのデータを格納するメモリ部と、
該メモリ部を管理するキャッシュ管理部と、
直接アクセス記憶装置とのインタフェースを制御するデバイスアダプタとを有するファイル制御装置において、
前記キャッシュ管理部は、前記メモリ部のデータのデステージをスケジュールし、前記メモリ部のトラックのデステージの際に、複数トラックのデステージを前記デバイスアダプタに要求し、前記複数トラックのデステージは、連続トラックでないことを特徴としたファイル制御装置。 - 前記複数トラックのデステージ要求は、前記キャッシュ管理部が、デステージ対象の前記直接アクセス記憶装置の種類、性能等を判断し、連続デステージトラック間隔を算出して行うことを特徴とした請求項1記載のファイル制御装置。
- 前記複数トラックのデステージ要求は、前記キャッシュ管理部が、あらかじめ定義されている連続デステージトラック数から、デステージ可能な連続トラックを抽出して行うことを特徴とした請求項1記載のファイル制御装置。
- 前記キャッシュ管理部は、前記デステージ可能な連続トラックを抽出する際、前記デステージ可能な連続トラックが、前記あらかじめ定義されている連続デステージトラック数よりも少ない場合は、デステージを延期し、多い場合は、前記あらかじめ定義されている連続デステージトラック数だけデステージを要求することを特徴とした請求項3記載のファイル制御装置。
- 前記複数トラックのデステージ要求を受けた前記デバイスアダプタは、前記キャッシュ管理部から通知された先頭トラックからデステージを開始し、先頭トラックのデステージが完了した後の次のデステージ対象トラックは、キャッシュ管理部から通知された連続デステージトラック間隔を、前記先頭トラックに加算したトラックとし、デステージトラック数が前記キャッシュ管理部から通知された最終トラックを越える場合は、処理を終了することを特徴とした請求項1記載のファイル制御装置。
- 前記デバイスアダプタは、前記連続デステージ処理を終了したのち、前記連続デステージによりデステージしたトラック数と、あらかじめ定義されている連続デステージトラック数を比較し、その比較結果をキャッシュ管理部に通知することを特徴とした請求項5記載のファイル制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19274495A JP3615274B2 (ja) | 1995-07-28 | 1995-07-28 | ファイル制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19274495A JP3615274B2 (ja) | 1995-07-28 | 1995-07-28 | ファイル制御装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004000312A Division JP4131953B2 (ja) | 2004-01-05 | 2004-01-05 | ファイル制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0944316A JPH0944316A (ja) | 1997-02-14 |
JP3615274B2 true JP3615274B2 (ja) | 2005-02-02 |
Family
ID=16296341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP19274495A Expired - Fee Related JP3615274B2 (ja) | 1995-07-28 | 1995-07-28 | ファイル制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3615274B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006252239A (ja) * | 2005-03-11 | 2006-09-21 | Fujitsu Ltd | ファイル制御装置 |
US9442847B2 (en) * | 2012-01-31 | 2016-09-13 | International Business Machines Corporation | Increased destaging efficiency by smoothing destaging between current and desired number of destage tasks |
US9727272B2 (en) | 2012-01-31 | 2017-08-08 | International Business Machines Corporation | Increased destaging efficiency for smoothing of destage tasks based on speed of disk drives |
-
1995
- 1995-07-28 JP JP19274495A patent/JP3615274B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0944316A (ja) | 1997-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6052799A (en) | System and method for recovering a directory for a log structured array | |
US6151685A (en) | System and method for recovering a segment directory for a log structured array | |
US6021463A (en) | Method and means for efficiently managing update writes and fault tolerance in redundancy groups of addressable ECC-coded sectors in a DASD storage subsystem | |
US6766491B2 (en) | Parity mirroring between controllers in an active-active controller pair | |
US7861035B2 (en) | Method of improving input and output performance of raid system using matrix stripe cache | |
JP3422370B2 (ja) | ディスクキャッシュ制御装置 | |
US7831764B2 (en) | Storage system having plural flash memory drives and method for controlling data storage | |
US6523087B2 (en) | Utilizing parity caching and parity logging while closing the RAID5 write hole | |
JP3697149B2 (ja) | キャッシュ・メモリを管理する方法 | |
US7721143B2 (en) | Method for reducing rebuild time on a RAID device | |
US6886075B2 (en) | Memory device system and method for copying data in memory device system | |
US20030236944A1 (en) | System and method for reorganizing data in a raid storage system | |
JP3230645B2 (ja) | データ処理方法、システムおよび装置 | |
JPH06332623A (ja) | アレイ型記録装置及び記録装置 | |
EP0899731B1 (en) | Improved disk log using distributed write | |
WO1993023803A1 (fr) | Appareil de commande pour pile de disques | |
JP2000293317A (ja) | 記憶制御装置 | |
JP2004213647A (ja) | データ記憶装置およびシステム用のログ構造の書込みキャッシュ | |
EP0690379A2 (en) | Enhanced data management in data storage subsystems | |
JPH06202817A (ja) | ディスクアレイ装置及びそのデータ更新方法 | |
US5715424A (en) | Apparatus and method for writing data onto rewritable optical media | |
JPH10105344A (ja) | データ記録装置システム及びそのデータ書込方法 | |
JP3270959B2 (ja) | ディスクアレイ装置におけるパリティ格納方法およびディスクアレイ装置 | |
JP2004213470A (ja) | ディスクアレイ装置及びディスクアレイ装置におけるデータ書き込み方法 | |
JP3615274B2 (ja) | ファイル制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20041026 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041029 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081112 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081112 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091112 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101112 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101112 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111112 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111112 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121112 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121112 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131112 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |