(57)【要約】【課題】対象データがキャッシュメモリ上に格納されているかいないかに係わらず、常に高速にホームアドレスを読む命令に応答でき、かつエラーの発生確率を低くすること。【解決手段】ＤＡＳＤ３を制御するキャッシュメモリ２４を持つＦＣＵ２において、ＦＣＵ２の記憶部に不良交代情報テーブル２７の格納部を設け、電源の投入時、或いはリセット時に、配下の全ての前記ＤＡＳＤ３の不良トラック領域を読み出し、各トラックのホームアドレス部に格納されているフラグによって、不良交代リンクが作成されているかを判断し、その結果を前記記憶部に不良交代情報テーブル２７として格納し、ホームアドレスのリード命令を受領した場合、前記不良交代情報テーブル２７が有効かどうかを判断する。【選択図】        図１
2004158029.tif 000002
【特許請求の範囲】
【請求項１】
直接アクセス記憶装置を制御するキャッシュメモリを持つファイル制御装置において、
該ファイル制御装置の記憶部に不良交代情報テーブルの格納部を設け、
電源の投入時、或いはリセット時に、配下の全ての前記直接アクセス記憶装置の不良トラック領域を読み出し、各トラックのホームアドレス部に格納されているフラグによって、不良交代リンクが作成されているかを判断し、その結果を前記記憶部に不良交代情報テーブルとして格納し、
ホームアドレスのリード命令を受領した場合、前記不良交代情報テーブルが有効かどうかを判断することを特徴としたファイル制御装置。
【請求項２】
前記判断の結果、
前記不良交代情報テーブルが無効の場合は、対象のホームアドレスが、前記キャッシュメモリ上に存在すれば前記キャッシュメモリから、存在しなければ前記直接アクセス記憶装置から読み出して情報を転送し、
前記不良交代情報テーブルが有効の場合は、前記不良交代情報テーブル内の不良交代リンク情報を参照し、前記受領したホームアドレスのリード命令に対する応答の一部であるフラグ情報を確定することを特徴とした請求項１記載のファイル制御装置。
【請求項３】
前記確定したフラグ情報と、
既に受領しているシークアドレスを使用した、ホームアドレスのリード命令に対する応答の一部であるトラックアドレスとから、ホームアドレスのリード命令に対する完全な応答情報を作成することを特徴とした請求項２記載のファイル制御装置。
【請求項４】
前記直接アクセス記憶装置が固定長方式のアレイディスクであり、前記ファイル制御装置が該アレイディスクで可変長方式をエミュレートしている場合、
付加情報を含むホームアドレスのリード命令に対する応答の一部であるトラックの傷情報を標準値に確定し、
該傷情報と前記フラグ情報と前記トラックアドレスとから、完全な付加情報を含むホームアドレスのリード命令に対する応答情報を作成することを特徴とした請求項３記載のファイル制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、上位装置とであるチャネル転送と直接アクセス記憶装置（ＤＡＳＤ）との転送の経路が、時間的に独立に動作する非同期転送を行うディスク制御装置等のファイル制御装置に関する。
【背景技術】
【０００２】
図７は従来例の説明図であり、図７（ａ）はＣＫＤフォーマットの説明、図７（ｂ）はＦＢＡトラック上へのＣＫＤトラックのエミュレート方法の説明である。
【０００３】
従来、磁気ディスク装置や光ディスク装置等の外部記憶装置である直接アクセス記憶装置（ＤＡＳＤ）へのデータの記憶方法は、可変長方式であるＣＫＤフォーマットであり、また、上位装置（ＯＳ：オペレーティングシステム）が、ＤＡＳＤへデータを書き込むフォーマットもＣＫＤフォーマットである。
【０００４】
図７（ａ）において、ＣＫＤフォーマットのディスクのあるトラックｍ内には、インデックス（Ｉｎｄｅｘ）、ホームアドレスＨＡ、レコード（Ｒｅｃｏｒｄ）０、レコード１、レコード２、・・・レコードｋからなっている。
【０００５】
インデックスは、トラックの起点マーカである。ホームアドレスＨＡは、トラックの状態等を示すものであり、フラグ（Ｆｌａｇ）、トラックアドレス（Ｔｒａｃｋ  Ａｄｄｒｅｓｓ：シリンダ番号とヘッド番号）、誤り訂正コード（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ  Ｃｏｄｅ：ＥＣＣ）が設けてある。このフラグ（Ｆｌａｇ）はトラックが不良かどうかの使用状態を示し、例えば、２ビットによりなり、対象トラックが正常であれば「００」不良トラックであれば「１０」交代トラックであれば「０１」とするものである。誤り訂正コードＥＣＣはデータチェックのためのものである。
【０００６】
レコード０は、ユーザの使用できないレコードで、そのカウント部に不良トラックが発生したとき交代トラックのアドレスを記録するものである。レコード１〜レコードｋは、ユーザが使用できるレコードであり、それぞれ、カウント部Ｃ、キー部Ｋ（省略される場合もある）、データ部Ｄの３つのフィールドがある。このカウント部Ｃには、これに続くキー部Ｋ、データ部Ｄの長さが入っている。キー部Ｋには、データ部Ｄの検索等のための標識であるキーが入っている。データ部Ｄは、データを記録する部分である。
【０００７】
しかし、近年、可変長方式であるＣＫＤフォーマットのＤＡＳＤから、実記憶媒体を固定長方式であるＦＢＡフォーマットのＤＡＳＤに変更し、冗長情報を付加して信頼性を向上するレイド（ＲＡＩＤ）技術を使用する傾向が高まっている。
【０００８】
この場合、上位装置（ＯＳ）の発行するフォーマットと実ＤＡＳＤのフォーマットが異なるため、ファイル制御装置（以下、「ＦＣＵ〕という）が、ＦＢＡフォーマットＤＡＳＤ上に、ＣＫＤフォーマットをエミュレート（変換）する技術（Ｃｋｄ  Ｏｎ  Ｆｂａ＝ＣＯＦ）が広まってきている。このＣＯＦ技術を用いる場合、ＣＫＤフォーマットのトラックを、ＦＢＡフォーマットの実ＤＡＳＤ上に図７（ｂ）のようにエミュレートする。
【０００９】
図７（ｂ）において、上図はＦＢＡフォーマットの１トラックを示し、この例では、ブロックｎ、ブロックｎ＋１、ブロックｎ＋２、ブロックｎ＋３、ブロックｎ＋４、ブロックｎ＋５・・・ブロックｎ＋８４まである。この１ブロックには、ＣＫＤフォーマットのレコードが０から最大で８まで含むことができる。
【００１０】
例えば、ＦＢＡフォーマットのブロックｎ〜ブロックｎ＋１５（１６ブロック分）をＣＫＤフォーマットの１トラックが使用すると、図７（ｂ）の上図は同下図のように見かけ上見える。即ち、ＦＢＡフォーマットの１トラックではエミュレートしたＣＫＤフォーマットのトラックがトラックｍ（ＦＢＡブロックｎ〜ｎ＋１５）、トラックｍ＋１（ＦＢＡブロックｎ＋１６〜ｎ＋３１）、トラックｍ＋２（ＦＢＡブロックｎ＋３２〜ｎ＋４７）、トラックｍ＋３（ＦＢＡブロックｎ＋４８〜ｎ＋６３）、トラックｍ＋４（ＦＢＡブロックｎ＋６４〜ｎ＋７９）と約５トラック分となる。
【００１１】
さて、従来より、ライト動作においては、その処理を高速化するために、上位装置からのライト要求時には、ライトされるデータをＤＡＳＤには書き込まず、ファイル制御装置（ＦＣＵ）内の不揮発性メモリ（ＮＶＳ＝Ｎｏｎ  Ｖｏｌａｔｉｌｅ  Ｓｔｏｒａｇｅ）だけにデータを書き込み、ＦＣＵの遊休時間を利用して、ＤＡＳＤへの書き戻しを行う手法（ＤＡＳＤへの高速書き込み機構）が考えられている。
【００１２】
更に、この手法を改良した、ＮＶＳからＤＡＳＤへのデータの書き戻しの手法としては、連続した複数トラックを１イベントでＤＡＳＤへ書き戻す手法（マルチトラック・デステージ）が考えられている。
【００１３】
しかし、ＣＯＦ技術を用いたファイル・サブシステムにおいては、連続したトラックのデステージが、必ずしも性能向上を期待できない。なぜならば、ＣＫＤフォーマットの連続した２トラックは、ＦＢＡフォーマット上では、隣接したブロックとなり、ＣＫＤフォーマットの１トラック処理を基本とするＦＣＵでは、当該トラックの書き戻し後、後処理をしている間に、続くトラックの先頭部分が通りすぎ、一回転待ちを発生させるからである。
【００１４】
図７を用いて説明すると、例えば、従来のＣＫＤフォーマットＤＡＳＤを使用した場合、トラックｍをデステージした後、トラックｍ＋１のホームアドレスＨＡにＤＡＳＤのヘッドが到着するまでの時間は、トラックｍのレコードｋの処理が終了した後、ヘッドがインデックスを通過し、更にトラックｍ＋１のホームアドレスＨＡ部に位置付くまでの時間であり、比較的余裕があった。
【００１５】
しかしながら、ＣＯＦ技術を用いた場合、トラックｍの処理が終了してから、トラックｍ＋１の処理を開始するまでには、ブロック間ギャップＧ分の時間しか与えられない。論理的に、この時間だけではＦＣＵがエラーチェック等のトラックの終了処理と、続くトラックの開始処理を完結できない。このため、ヘッドは、ディスクが一回転して再びトラックｍ＋１（ＦＢＡフォーマットではブロックｎ＋１６）の先頭に位置付くのを待つことになる。
【００１６】
また、一般に、上位装置からのリード命令であるリードコマンド（Ｒｅａｄ  Ｃｏｍｍａｎｄ）全般に対する応答は、対象データがキャッシュメモリ上に格納されていれば、キャッシュメモリから読み出して応答し、対象データがキャッシュメモリ上に格納されていなければ、実ＤＡＳＤへのアクセスが発生し、ＤＡＳＤへのヘッドの位置付け、回転待ちのための時間が費やされていた。
【発明の開示】
【発明が解決しようとする課題】
【００１７】
上記従来のものにおいては次のような課題があった。
【００１８】
(1) 連続してデステージすることによってＤＡＳＤの回転待ちをなくすための手法であるためのマルチトラックデステージ手法が、ＣＯＦ技術を用いた場合回転待ちが発生し、その機能を果たさなくなるという問題があった。
【００１９】
(2) 上位装置からのリード命令全般に対する応答は、対象データがキャッシュメモリに格納されている場合でもその記憶場所を得るためのハッシュ変換、キャッシュメモリからの読み出し動作を行うための時間が消費され、また、ハード故障等によるアクセスエラーの発生する確率も高くなっていた。
【００２０】
本発明は、上記従来の課題を解決し、ＤＡＳＤへの論理ＣＫＤデステージトラックを連続に処理するのではなく、トラックの後処理、前処理を十分行える時間を確保できるようにして、無駄な回転待ちを無くし高速にデステージを行うこと、及び、対象データがキャッシュメモリ上に格納されているかいないかに係わらず、常に高速にホームアドレスを読む命令（Ｒｅａｄ  ＨＡ命令）に応答でき、かつ、エラーの発生確率を低くすることを目的とする。
【課題を解決するための手段】
【００２１】
本発明は、上記の課題を解決するため次のように構成した。
【００２２】
図１は本発明の原理説明図であり、図１中、１は上位装置、２はファイル制御装置（ＦＣＵ）、３は直接アクセス記憶装置（ＤＡＳＤ）、２０はメモリ部、２１はチャネルアダプタ（ＣＡ）、２２はデバイスアダプタ（ＤＡ）、２３はキャッシュ管理部（ＣＦＥ）、２４はキャッシュメモリ、２５は不揮発性メモリ（ＮＶＳ）、２７は不良交代情報テーブルを示している。
【００２３】
ＤＡＳＤ３を制御するキャッシュメモリ２４を持つＦＣＵ２において、ＦＣＵ２の記憶部に不良交代情報テーブル２７の格納部を設け、電源の投入時、或いはリセット時に、配下の全ての前記ＤＡＳＤ３の不良トラック領域を読み出し、各トラックのホームアドレス部に格納されているフラグによって、不良交代リンクが作成されているかを判断し、その結果を前記記憶部に不良交代情報テーブル２７として格納し、ホームアドレスのリード命令を受領した場合、前記不良交代情報テーブル２７が有効かどうかを判断する。このため、無効な不良交代情報テーブルの情報で応答することを防止できる。
【００２４】
また、前記判断の結果、前記不良交代情報テーブル２７が無効の場合は、対象のホームアドレスが、前記キャッシュメモリ２４上に存在すれば前記キャッシュメモリ２４から、存在しなければ前記ＤＡＳＤ３から読み出して情報を転送し、前記不良交代情報テーブル２７が有効の場合は、前記不良交代情報テーブル２７内の不良交代リンク情報を参照し、前記受領したホームアドレスのリード命令に対する応答の一部であるフラグ情報を確定する。このため、前記不良交代情報テーブル２７が無効の場合にもフラグ情報の応答ができ、有効の場合はフラグ情報の作成を高速に行うことが出来る。
【００２５】
さらに、前記確定したフラグ情報と、既に受領しているシークアドレスを使用したホームアドレスのリード命令に対する応答の一部であるトラックアドレスとから、ホームアドレスのリード命令に対する完全な応答情報を作成する。このため、前記不良交代情報テーブル２７が有効の場合のホームアドレスのリード命令に対する応答を高速に行うことが出来る。
【００２６】
また、前記ＤＡＳＤ３が固定長方式のアレイディスクであり、ＦＣＵ２が該アレイディスクで可変長方式をエミュレートしている場合、付加情報を含むホームアドレスのリード命令に対する応答の一部であるトラックの傷情報を標準値に確定し、該傷情報と前記フラグ情報と前記トラックアドレスとから、完全な付加情報を含むホームアドレスのリード命令に対する応答情報を作成する。このため、前記不良交代情報テーブル２７が有効の場合の付加情報を含むホームアドレスのリード命令に対する応答を、キャッシュメモリ等へアクセスせず高速に行うことができ、エラーの発生確率も低くすることができる。
【発明の効果】
【００２７】
本発明によれば次のような効果がある。
【００２８】
（１）ＦＣＵは、電源の投入時、或いはリセット時に、配下の全てのＤＡＳＤ３の不良トラック領域を読み出し、各トラックのホームアドレス部に格納されているフラグによって、不良交代リンクが作成されているか判断し、その結果を記憶部に不良交代情報テーブルとして格納し、ホームアドレスのリード命令を受領した場合、前記不良交代情報テーブルが有効かどうかを判断するため、無効な不良交代情報テーブルの情報で応答することを防止できる。
【００２９】
（２）ＦＣＵが、不良交代情報テーブルを無効と判断した場合は、対象のホームアドレスが、キャッシュメモリ上に存在すれば前記キャッシュメモリから、存在しなければＤＡＳＤ３から読み出して情報を転送し、不良交代情報テーブルが有効の場合は、不良交代情報テーブル内の不良交代リンク情報を参照し、受領したホームアドレスのリード命令に対する応答の一部であるフラグ情報を確定するため、不良交代情報テーブル２７が無効の場合にもフラグ情報の応答ができ、有効の場合はフラグ情報の作成を高速に行うことが出来る。
【００３０】
（３）確定したフラグ情報と、既に受領しているシークアドレスを使用したホームアドレスのリード命令に対する応答の一部であるトラックアドレスとから、ホームアドレスのリード命令に対する完全な応答情報を作成するため、不良交代情報テーブルが有効の場合のホームアドレスのリード命令に対する応答を高速に行うことが出来る。
【００３１】
（４）ＦＣＵがアレイディスクで可変長方式をエミュレートしている場合、付加情報を含むホームアドレスのリード命令に対する応答の一部であるトラックの傷情報を標準値に確定し、該傷情報とフラグ情報とトラックアドレスとから、完全な付加情報を含むホームアドレスのリード命令に対する応答情報を作成するため、不良交代情報テーブルが有効の場合の付加情報を含むホームアドレスのリード命令に対する応答を、キャッシュメモリ等へアクセスせず高速に行うことができ、エラーの発生確率も低くすることができる。
【発明を実施するための最良の形態】
【００３２】
図２、図３は本発明の第１実施例、図４〜図６は本発明の第２実施例を示した図である。以下、本発明の実施例を図面に基づいて説明する。
【００３３】
〔第１実施例の説明〕
１）：ファイル制御装置（ＦＣＵ）の説明
図２はファイル制御装置の説明図であり、ファイル制御装置（ＦＣＵ）２は、上位装置の指示によりＤＡＳＤ３にデータのリード／ライトを行うものであり、上位装置とはチャネルアダプタ（ＣＡ）２１で接続され、ディスクアレイ等のＤＡＳＤ３のＤＡＳＤアダプタ３１とはデバイスアダプタ（ＤＡ）２２で接続されている。また、このＦＣＵ２には、ハードデスク（ＨＤ）４に接続されたサービスアダプタ（ＳＡ）２６が設けてある。
【００３４】
ＦＣＵ２内には、チャネルアダプタ２１、デバイスアダプタ２２、キャッシュ管理部２３、キャッシュメモリ２４、不揮発性メモリ（ＮＶＳ）２５が設けてある。
【００３５】
チャネルアダプタ２１は、複数個設けてあり、主として上位装置のチャネルとのインタフェースを司り、デバイスアダプタ２２は、ＤＡＳＤ３とのインタフェースを制御するものである。キャッシュ管理部２３は、キャッシュメモリ２４に登録されているトラック等の管理を行うものである。
【００３６】
キャッシュメモリ２４は、ＤＡＳＤ３上の命令及びデータの内後で使われる可能性の高いものの写しを保持するバッファ記憶装置である。不揮発性メモリ２５は、バッテリバックアップされ、電源断時においてもデータが、喪失しないものである。
【００３７】
サービスアダプタ２６は、ハードデスク４からの情報により、ファイル制御装置の初期設定、ファイル装置のエラー情報の履歴の管理等を行うものである。ＤＡＳＤ３は、ＲＡＩＤ技術を使用したディスクアレイ等のＦＢＡフォーマット（固定長方式）の記憶装置である。ＤＡＳＤアダプタ３１は、ＦＣＵ２とのインタフェースを司るものである。
【００３８】
２）：ファイル制御装置の動作説明
ＦＣＵ２は、上位装置からＤＡＳＤ３へのデータの書き込み指示を受けると、チャネルアダプタ２１で上位装置からのＣＫＤフォーマットをＦＢＡフォーマットに変換し、キャッシュメモリ２４と不揮発性メモリ２５に同時に書き込む高速書き込み処理を行う。
【００３９】
キャッシュ管理部２３は、不揮発性メモリ２５内部に高速書き込み機構で生成されたトラックが存在することを検出すると、全てのトラック中で連続するトラックが存在するか否かを検索する。ここで、キャッシュ管理部２３は、連続デステージ可能なトラック間隔を算出し、デステージする先頭トラックと終了トラックとデステージトラック間隔とを情報として、デバイスアダプタ２２にデステージを要求する。
【００４０】
デステージ要求を受けたデバイスアダプタ２２は、前記情報により、先頭トラックに対して、ＤＡＳＤ３へのヘッドの位置決めであるセレクション命令を発行する。
【００４１】
ＤＡＳＤ３のセレクションが完了後、デバイスアダプタ２２は、前記キャッシュ管理部２３から受け取った情報を基に、デステージするトラックを決定する。
【００４２】
最初にデステージするトラックは、キャッシュ管理部２３から通知された、先頭トラックであり、次にデステージするトラックは、先頭トラックにデステージトラック間隔を加えたトラックである。更に、その次にデステージ対象とするトラックは、現デステージトラックに前記のデステージトラック間隔を加えたトラックである。
【００４３】
デバイスアダプタ２２は、この動作を繰り返し、キャッシュ管理部２３から通知された終了トラックアドレスを越えるまで前述の動作を繰り返す。
【００４４】
なお、デステージトラック間隔は、トラックの後処理、前処理が十分行える時間を確保できる分だけ、デステージ対象トラックをスキップする間隔である。従来のマルチトラックデステージでは、デステージトラック数分だけの無駄な回転待ちが発生していたが、この実施例のようにすることにより、無駄な回転待ちは発生しなくなる。
【００４５】
３）：デステージ動作の具体例による説明
図３はデステージ対象トラックの説明図である。
【００４６】
キャッシュ管理部２３は、不揮発性メモリ２５上に、デステージ対象のトラックがあることを検出する。今回、対象のＤＡＳＤ３は、１シリンダに１５ヘッド存在し、このデステージ対象トラックが、図３の様であったとする。また、対象のＤＡＳＤ３に対しては、３トラックの回転時間でトラックの後処理と、前処理が完了できるものとすると、連続デステージトラック間隔は４であると算出する。
【００４７】
ここで、今回デステージ対象となるトラックは、図３中で一回目の欄に○印の記されているトラックと、二回目の欄に●印の記されているトラックである。
【００４８】
(1) ：キャッシュ管理部２３は、デステージトラックの検索を行い、一回目として、先頭トラック（０）＝シリンダ値「０００５」・ヘッド値「００００」、終了トラック（＋２０）＝シリンダ値「０００６」・ヘッド値「０００５」、連続デステージトラック間隔＝４として、デバイスアダプタ２２にデステージを発行する。
【００４９】
(2) ：キャッシュ管理部２３からデステージ要求を受け付けたデバイスアダプタ２２は、トラック（０）であるシリンダ値「０００５」・ヘッド値「００００」に対してＤＡＳＤ３のセレクションを行う。
【００５０】
(3) ：デバイスアダプタ２２は、ＤＡＳＤ３のセレクションが完了後、図３中の一回目の欄にある先頭トラック（０）から、順に○印の付いているトラック（＋４）（＋８）（＋１２）（＋１６）をデステージして、終了トラック（＋２０）のデステージが完了した後に、連続デステージ処理完了をキャッシュ管理部２３に報告する。
【００５１】
(4) ：キャッシュ管理部２３は、二回目として、先頭トラック（＋１１）＝シリンダ値「０００５」・ヘッド値「０００Ｂ」、終了トラック（＋２３）＝シリンダ値「０００６」・ヘッド値「０００８」、連続デステージトラック間隔＝４として、デバイスアダプタ２２にデステージを発行する。
【００５２】
(5) ：キャッシュ管理部２３からデステージ要求を受け付けたデバイスアダプタ２２は、トラック（＋１１）であるシリンダ値「０００５」・ヘッド値「０００Ｂ」に対してＤＡＳＤ３のセレクションを行う。
【００５３】
(6) ：デバイスアダプタ２２は、ＤＡＳＤ３のセレクションが完了後、図３中の一回目の欄にある先頭トラック（＋１１）から、順に●印の付いているトラック（＋１５）（＋１９）をデステージして、終了トラック（＋２３）のデステージが完了した後に、連続デステージ処理完了をキャッシュ管理部２３に報告する。
【００５４】
なお、前記実施例では、連続デステージトラック間隔を４としたが、キャッシュ管理部２３は、デステージ対象ＤＡＳＤ３の種類を判断し、その対象ＤＡＳＤ３の性能に基づき連続デステージトラック間隔を算出するものであり、通常は１トラック分をスキップする間にトラックの前処理、後処理を行える。この場合は、連続デステージトラック間隔は２となる。
【００５５】
また、ハードデスク４等にあらかじめ連続デステージトラック数を記憶させておくことにより、ＦＣＵの初期設定により連続デステージトラック数をあらかじめ定義しておくことができる。これにより、キャッシュ管理部２３は、あらかじめ定義されている連続デステージトラック数から、デステージ可能な連続トラックを抽出する。
【００５６】
そして、キャッシュ管理部２３は、デステージ可能な連続トラックを抽出する際、前記デステージ可能な連続トラックが、あらかじめ定義されている連続デステージトラック数よりも少ない場合は、デステージを延期し、あらかじめ定義されている連続デステージトラック数よりも多い場合は、前記あらかじめ定義されている連続デステージトラック数だけデステージをデバイスアダプタ２２に要求する。
【００５７】
さらに、デバイスアダプタ２２は、連続デステージ処理を終了したのち、前記連続デステージによりデステージしたトラック数と、あらかじめ定義されている連続デステージトラック数を比較し、その比較値が異なる場合は、キャッシュ管理部２３に対し、論理矛盾を検出したことを通知する機構を設け、また、前記比較値が等しい場合は、キャッシュ管理部２３に対し、デステージが正常に終了したことを通知する機構を設ける。
【００５８】
〔第２実施例の説明〕
１）：ファイル制御装置（ＦＣＵ）の説明
図４は第２実施例におけるファイル制御装置の説明図であり、ファイル制御装置（ＦＣＵ）２は、上位装置の指示によりＤＡＳＤ３にデータのリード／ライトを行うものであり、上位装置とはチャネルアダプタ（ＣＡ）２１で接続され、ＤＡＳＤ３のＤＡＳＤアダプタ３１とデバイスアダプタ（ＤＡ）で接続されている。また、このＦＣＵ２には、ハードデスク（ＨＤ）４に接続されたサービスアダプタ（ＳＡ）２６が設けてある。
【００５９】
ＦＣＵ２内には、チャネルアダプタ２１、デバイスアダプタ２２、キャッシュ管理部２３、キャッシュメモリ２４、不揮発性メモリ（ＮＶＳ）２５が設けてある。
【００６０】
チャネルアダプタ２１は、複数個設けてあり、主として上位装置のチャネルとのインタフェースを司り、デバイスアダプタ２２は、ＤＡＳＤ３とのインタフェースを制御するものである。キャッシュ管理部２３は、キャッシュメモリ２４に登録されているトラック等の管理を行うものであり、その記憶部に不良交代情報テーブル２７を格納する場所が設けてある。
【００６１】
キャッシュメモリ２４は、ＤＡＳＤ３上の命令及びデータの内後で使われる可能性の高いものの写しを保持するバッファ記憶装置である。不揮発性メモリ２５は、バッテリバックアップされ、電源断時においてもデータが、喪失しないものである。
【００６２】
サービスアダプタ２６は、ハードデスク４からの情報により、ファイル制御装置の初期設定、ファイル装置のエラー情報の履歴の管理等を行うものである。ＤＡＳＤ３は、ディスク装置、光ディスク装置等の複数のデバイスからなる記憶装置である。ＤＡＳＤアダプタ３１は、ＦＣＵ２とのインタフェースを司るものである。
【００６３】
２）：不良交代情報テーブルの説明
図５は不良交代情報テーブルの説明図であり、図５（ａ）は不良交代情報テーブルの説明、図５（ｂ）は不良交代情報の１セット分の説明である。
【００６４】
図５（ａ）において、この例では１デバイス当たり不良交代情報は、左端のセット番号０〜４４のように最大４５トラック数分まで格納できる。この不良交代情報の１セット分には不良側、交代側それぞれ４バイト分の格納部がある。また、不良交代情報テーブル２７には、接続できる最大のデバイスの数分（この例では２５６デバイス）の格納部が設けてある。
【００６５】
図５（ｂ）において、不良交代情報の１セット分は、不良側と交代側に分かれている。不良側には、シリンダ値、ヘッド値、情報の格納部が設けてあり、交代側には、シリンダ値、ヘッド値、デバイス値（機番）の格納部が設けてある。この情報の格納部は、例えば「４０」が格納されていれば交代側が有効であることを示しており、「２０」であれば不良側が有効であることを示しており、「６０」であれば不良側及び交代側の両者が有効、即ちリンクが確立済であることを示すものである。
【００６６】
３）：付加情報を含むホームアドレスのリード命令（Ｄｉａｇ  Ｒｅａｄ  ＨＡ  Ｃｏｍｍａｎｄ）の説明
この実施例では、ファイル制御装置（ＦＣＵ）２内の不良交代情報テーブル２７に、配下の全てのＤＡＳＤ３の不良交代情報を格納しておく。この不良交代情報は、ホームアドレスをライト（Ｗｒｉｔｅ  ＨＡ）又は付加情報を含むホームアドレスのライト（Ｄｉａｇ  Ｗｒｉｔｅ  ＨＡ）の処理時に作成更新される。
【００６７】
付加情報を含むホームアドレスのリード命令（Ｄｉａｇ  Ｒｅａｄ  ＨＡ  Ｃｏｍｍａｎｄ）で転送するデータはフラグ（Ｆｌａｇ）、トラックアドレス（Ｔｒａｃｋ  Ａｄｄｒｅｓｓ）、傷情報、セル（Ｃｅｌｌ）値、物理トラックアドレスである。
【００６８】
この実施例では、ＦＣＵ２内にトラックの不良交代情報が格納されているので、ホームアドレスＨＡ部のフラグ情報はＦＣＵ２が作成することができる。トラックアドレスと物理トラックアドレスは、トラックの物理位置であるから、シーク（Ｓｅｅｋ）値と一致するはずであり、これはＦＣＵ２内で作成できる。
【００６９】
傷情報は、ＲＡＩＤ技術を用いるアレイディスクを考えた場合には、傷をゼロとした標準値で問題はない。セル値は、インデックスからの距離を示すものでありトラックに傷がない場合は固定値となる。
【００７０】
ホームアドレスのリード命令（Ｒｅａｄ  ＨＡ  Ｃｏｍｍａｎｄ）で転送するデータは、フラグとトラックアドレスであり、付加情報を含むホームアドレスのリード命令（Ｄｉａｇ  Ｒｅａｄ  ＨＡ  Ｃｏｍｍａｎｄ）で必要とされる情報の一部であるので、やはり、ＦＣＵ２内で作成できる。
【００７１】
このように、ＦＣＵ２内に不良交代情報を格納しておくことにより、Ｒｅａｄ  ＨＡ  Ｃｏｍｍａｎｄ及びＤｉａｇ  Ｒｅａｄ  ＨＡ  Ｃｏｍｍａｎｄに対しては、常に実ＤＡＳＤ３へのアクセス無しに、或いは、キャッシュメモリからのデータ読み込み無しに、対象情報を送出できる。
【００７２】
４）：ファイル制御装置（ＦＣＵ）の動作説明
以下、ＦＣＵ２の動作を説明する。
【００７３】
(1) ：ＦＣＵ２（キャッシュ管理部２３）は、ＦＣＵ２の電源の投入時、或いはリセット時に、配下の全てのＤＡＳＤ３の不良トラック領域を読み出し、各トラックのホームアドレスＨＡ部に格納されているフラグによって、不良交代リンクが作成されているかどうかを判断し、その結果をＦＣＵ２内のメモリ（記憶部）に不良交代情報テーブル２７として格納しておく。
【００７４】
(2) ：ＤＡＳＤ３のアクセスに関して、リード命令を発行するには、あらかじめ対象のトラックを特定するシーク命令を発行しておかねばならない。このため、ＦＣＵ２はリード命令に先立って上位装置のチャネルから発行されるシーク命令から、対象のトラックアドレスを認識できる。
【００７５】
(3) ：ＦＣＵ２は、上位装置のチャネルから、配下のＤＡＳＤ３のホームアドレスのリード命令（Ｒｅａｄ  ＨＡ  Ｃｏｍｍａｎｄ）を受領した場合、不良交代情報テーブル２７が有効か否かを判断する。
【００７６】
(4) ：もし、この判断の結果、不良交代情報テーブル２７が無効の場合（例えば、ＤＡＳＤ３のホームアドレスＨＡ部からの不良トラック情報読み込み失敗等）は、ＦＣＵ２は対象のホームアドレスＨＡのフラグ情報を確認できないので、通常通り、キャッシュメモリ２４上にデータが存在すれば前記キャッシュメモリ２４から、存在しなければＤＡＳＤ３から読み込み、通常のリード動作を行う。
【００７７】
(5) ：もし、前記判断の結果、不良交代情報テーブル２７が有効の場合は、前記不良交代情報テーブル２７内の不良交代リンク情報を参照し、対象トラックに不良交代リンクが作成されているか否かを判断する（不良トラックか、交代トラックか、正常トラックかの判断をする）。
【００７８】
(6) ：もし、不良交代リンクが作成されている場合、ホームアドレスＨＡ部のフラグ領域に該当するビットをセットする。また、このホームアドレスＨＡ部のトラックアドレスであるシリンダ・ヘッド値は、物理シリンダ・ヘッド値と常に一致するので、既にシーク命令により特定された値をセットすることで、キャッシュメモリを使用せずに、適切な値を応答できる。
【００７９】
(7) ：ＦＣＵ２が、付加情報を含むホームアドレスのリード命令（Ｄｉａｇ  Ｒｅａｄ  ＨＡ  Ｃｏｍｍａｎｄ）で、転送しなければならないデータは、前述のホームアドレスのリード命令（Ｒｅａｄ  ＨＡ  Ｃｏｍｍａｎｄ）で転送するデータに、トラックの傷情報と、セル値を付加したものである。しかし、アレイディスクを用いるＦＣＵ（ＣＯＦ技術を用いるＦＣＵ）２では、傷情報は常に標準値に特定できるので、これらの情報はＦＣＵ２内部で作成できる。このため、Ｄｉａｇ  Ｒｅａｄ  ＨＡ  Ｃｏｍｍａｎｄに対しても、ＦＣＵ２は適切な値を転送できる。
【００８０】
図６はＲｅａｄ  ＨＡ  Ｃｏｍｍａｎｄに対する処理フローチャートである。以下、図６の処理Ｓ１〜Ｓ５に従って説明する。
【００８１】
Ｓ１：ＦＣＵ２は、上位装置から、配下のＤＡＳＤ３のＲｅａｄ  ＨＡ  Ｃｏｍｍａｎｄを受領した場合、不良交代情報テーブル２７が有効か否かを判断し、この不良交代情報テーブル２７が有効の場合は、不良交代情報テーブル２７の不良交代リンク情報を参照し、対象トラックが不良交代トラックか否かを判断する。この判断で対象トラックが不良交代トラックの場合は処理Ｓ２に移り、もし、不良交代トラックでない場合は処理Ｓ５に移る（尚、前記不良交代情報テーブル２７が無効の場合は、キャッシュメモリ２４又はＤＡＳＤ３から読み込む、通常のリード動作を行う。）。
【００８２】
Ｓ２：ＦＣＵ２は、対象トラックが不良トラックか否かを判断する。この判断で対象トラックが不良トラックの場合は、処理Ｓ３に移り、もし、不良トラックでない場合は、処理Ｓ４に移る。
【００８３】
Ｓ３：ＦＣＵ２は、対象トラックのホームアドレスＨＡ部のフラグ領域に不良トラック情報をセットし、処理Ｓ５に移る。
【００８４】
Ｓ４：ＦＣＵ２は、対象トラックのホームアドレスＨＡ部のフラグ領域に交代トラック情報をセットし、処理Ｓ５に移る。
【００８５】
Ｓ５：ＦＣＵ２は、フラグ領域にセットした不良交代情報とトラックアドレスであるシリンダ・ヘッド値を上位装置に通知してこの処理を終了する。
【図面の簡単な説明】
【００８６】
【図１】本発明の原理説明図である。
【図２】第１実施例におけるファイル制御装置の説明図である。
【図３】第１実施例におけるデステージ対象トラックの説明図である。
【図４】第２実施例におけるファイル制御装置の説明図である。
【図５】第２実施例における不良交代情報テーブルの説明図である。
【図６】第２実施例におけるＲｅａｄ  ＨＡ  Ｃｏｍｍａｎｄに対する処理フローチャートである。
【図７】従来例の説明図である。
【符号の説明】
【００８７】
１  上位装置
２  ファイル制御装置（ＦＣＵ）
３  直接アクセス記憶装置（ＤＡＳＤ）
２０  メモリ部
２１  チャネルアダプタ（ＣＡ）
２２  デバイスアダプタ（ＤＡ）
２３  キャッシュ管理部（ＣＦＥ）
２４  キャッシュメモリ
２５  不揮発性メモリ（ＮＶＳ）
２７  不良交代情報テーブル
【図１】
2004158029.tif 000003
【図２】
2004158029.tif 000004
【図３】
2004158029.tif 000005
【図４】
2004158029.tif 000006
【図５】
2004158029.tif 000007
【図６】
2004158029.tif 000008
【図７】
2004158029.tif 000009