(57)【特許請求の範囲】
【請求項１】
定期的にデータを磁気記録媒体に書き込んだ後、読み出して元のデータと照合することによって、磁気ヘッドの書き込み機能が正常に動作しているか否かを診断する磁気ヘッド診断機能を有する磁気ディスク装置を配下に複数接続し、中央処理装置から転送されてきたデータについて冗長データを生成する第１の機能と、前記中央処理装置から転送されてきた前記データ及び生成した前記冗長データを複数の前記磁気ディスク装置に格納する第２の機能とを有するディスク制御装置において、
前記磁気ヘッド診断機能によって、いずれかの前記磁気ディスク装置の異常が検出されたときに、異常が検出された前記磁気ディスク装置以外の残りの前記磁気ディスク装置に格納されているデータから、異常が検出された前記磁気ディスク装置に格納されたデータを生成するデータ生成手段と、
前記データ生成手段により生成された前記データと、異常が検出された前記磁気ディスク装置上のデータとを比較する比較手段と、
前記比較手段により不一致となったデータの格納位置を、書き込み不可領域として表示する表示手段と
を備え、
前記磁気ヘッド診断機能を有する磁気ディスク装置は、
上位装置から前記データの書き込み要求が発行された場合に、予め格納された当該データを書き込む書き込み要求領域を記憶する書込み領域管理テーブルを読み出し、前記書き込み要求のあったデータの領域が、前記書き込み領域管理テーブルに登録済みでない領域であって、前記書込み領域の数が規定値を超えた場合に、磁気ヘッドの書き込み機能が正常に動作しているか否かを診断すると共に、
前記書き込み不可領域の障害が発生した後に、前記中央処理装置からの読み出し要求に応答する場合には、全ての前記磁気ヘッドの書き込み機能が正常に動作しているか否かを判断し、全ての前記磁気ヘッドの書き込み機能が正常に動作していると判断されたときに、前記中央処理装置からの読み出し要求に応じたデータを読み出すことを特徴とするディスク制御装置。
【請求項２】
請求項１記載のディスク制御装置において、
さらに配下にスペア磁気ディスク装置が接続され、
前記磁気ヘッド診断機能によって、いずれかの磁気ディスク装置の異常を検出したときには、異常が検出された前記磁気ディスク装置以外の残りの前記磁気ディスク装置に格納されているデータから、異常が検出された前記磁気ディスク装置に格納されたデータを生成し、当該生成したデータを前記スペア磁気ディスク装置に格納するデータ回復手段と、
前記データ回復手段により生成されて前記スペア磁気ディスク装置に格納された前記データと、異常が検出された前記磁気ディスク装置上のデータとを比較する比較手段とを備えることを特徴とするディスク制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、後発的に生じる磁気ディスク装置の特殊な書き込み障害の対策技術に係り、特に、磁気記録媒体にデータが書き込まれず、かつ、データが書き込まれなかったことを磁気ディスク装置自身が検出できないという障害の対策技術に関する。
【０００２】
【従来の技術】
特開平５−４１０４１「磁気ディスクライト・リード診断方式」に有るように、磁気ディスク装置にデータを書き込んだのち読み出してもとのデータと照合することによって、磁気ディスク装置の正常性を診断し検証する方法があった。
【０００３】
また、複数の磁気ディスク装置を組合わせて冗長構成とすることにより、磁気ディスク装置個々の有する信頼性よりも、装置全体としての可用性を格段に高めることのできる外部記憶装置として、ＲＡＩＤ装置が知られている（"Ａ Ｃａｓｅ ｆｏｒ Ｒｅｄｕｎｄａｎｔ Ａｒｒａｙｓ ｏｆ Ｉｎｅｘｐｅｎｓｉｖｅ Ｄｉｓｋｓ（ＲＡＩＤ）"、 Ｐａｔｔｅｒｓｏｎ  ｅｔ ａｌ、Ｐｒｏｃ. ＡＣＭ ＳＩＧＭＯＤ、Ｊｕｎｅ １９８８）。
【０００４】
【発明が解決しようとする課題】
記録と再生のためのそれぞれの専用磁気ヘッドを有する複合型磁気ヘッドを用いて、高記録密度を達成した磁気ディスク装置が主流となっている。従来は、記録再生用に１つのインダクティブヘッドを兼用していたため、異常があれば再生の際に早期に発見できた。しかし、複合型磁気ヘッドでは再生ヘッドの異常は早期に発見できても、記録ヘッドの異常は、発見が困難であった。一般に、記録ヘッドは信頼性が高く、異常の発生は稀であるが、万一の異常発生の場合であっても、記録の信頼性を確保する必要がある。
【０００５】
実際には磁気記録媒体面に情報が格納されていないにもかかわらず、その磁気ディスク装置自身が障害の信号を発しないという稀で特殊な障害（以下、書込不可・不通知障害という。）が発生した場合に、磁気記録媒体には、書き込み前のデータが残る。そして、当該領域に対して読み出しが行われた場合には、磁気ディスク装置自身は、異常を意識・検出できず、残存するデータを読み出し、中央処理装置その他の上位装置に転送することとなる。従って、このような特殊な障害は、ＲＡＩＤ装置の構成であっても排除できない。つまり、書込不可・不通知障害により失われたデータは、ＲＡＩＤ装置構成であっても回復できないことを意味している。
【０００６】
より具体的には、ＲＡＩＤ技術におけるＲＡＩＤのクラス４、クラス５の構成では、情報を書き込む際の冗長データ（パリティ）生成手段として、更新前データ、新データ及び更新前パリティから、新パリティを生成する。
【０００７】
新パリティ生成処理の基礎データとなる更新前データ及び更新前パリティにおいて、書込不可・不通知障害が発生した場合には、生成される新パリティは不正なものとなる。従って、ＲＡＩＤ装置が、この段階で障害発生を検出し、障害のある磁気ディスク装置のデータを、他の正常な磁気ディスク装置から生成しようとすると、不正なデータを生成してしまうことになる。
【０００８】
本願の発明者らは、磁気ディスク装置自身を診断する契機として書込み動作実行毎に診断する方法と、一定時間間隔で診断する方法を検討した。
【０００９】
前者では、書込不可・不通知障害が発生した時点で障害を検知できるが、診断のための処理時間が必要となる。具体的には、通常の磁気ディスク装置は、書込済みのデータを読出すためには、最低、磁気ディスク媒体の１回分の回転待ち時間が必要となる。媒体の回転数が１００００ｒｐｍの磁気ディスク装置の場合で、最短で６ｍｓの待ち時間の増加、書込確認処理時間の増加となる。
【００１０】
後者では、書込み動作実行毎の書込確認処理時間の増加は防止できる。しかし磁気ディスク装置に対する、ある診断と次の診断との間に、書込不可・不通知障害が発生した場合には、これに起因するデータ（残存する旧データ）を、上位装置に送出してしまうという問題がある。
【００１１】
本発明は、上述の特殊な障害の対策を目的とするものであって、書込不可・不通知障害が発生した場合に、書き込み不可が生じた領域を特定することにより、外部記憶装置が、バックアップデータ又はジャーナルデータから、書き込み不可となったデータを回復する。
【００１２】
本発明の他の目的は、書き込み処理を含む所定の入出力処理時間の増加を抑えながら、書込不可・不通知障害の検出技術を提供することにある。
【００１３】
【課題を解決するための手段】
定期的又は不定期に、磁気ヘッド診断を実施して、書き込み障害の発生を検知する。書き込み対象となった領域の履歴を管理し、書き込み不可障害が発生した領域を特定する。ＲＡＩＤ５の冗長性を用いて、書き込み不可障害の部分のデータを回復する。
【００１４】
データを読み出す際に、読み出し対象が正常な書き込み機能によって磁気記録媒体上に書き込まれたか否かを確認する手段を設ける。書き込み不可障害により旧データが上位装置へ送出されることを防止する。
【００１５】
本発明によれば、書き込み障害検出のための処理時間を増加させることなく、書き込み不可障害に対応できる効果がある。
【００１６】
より具体的には、１）実際に、磁気記録媒体にデータを書き込み、その書き込んだデータを読み出して、書き込む前の元のデータと照合することによって、書込不可の障害発生を検出する機能と、２）記憶領域上で書込不可が発生した障害領域を特定する機能とを磁気ディスク装置に持たせる。
【００１７】
３）記録媒体上に診断に用いられる領域を確保し、定期的に診断領域に磁気ヘッドを位置付け、診断領域に診断データを書き込んだ後、そのデータを読み出して診断データと照合することにより、磁気ヘッドを検査する磁気ヘッド検査手段を有する。
【００１８】
磁気ヘッド検査手段は、各磁気ヘッド毎に診断データを書き込むための領域（検査領域）を割当ててもよい。この場合において各磁気ヘッド毎の検査領域を、磁気記録媒体上で、複数の磁気ヘッドの切り替え処理分ずらして配置することにより、磁気記録媒体が１回転すれば、複数の磁気ヘッドの読み書きが行なえるようにしてもよい。
【００１９】
磁気ヘッド検査手段は、診断データを書き込むための領域を割当て、診断データを書き込み後、読み出し、磁気記録媒体に欠陥がないことを確認する機能を有してもよい。
【００２０】
４）上位装置から書き込み要求が発行された書き込み要求領域を記憶する書き込み領域管理手段を磁気ディスク装置に備える。書き込み領域管理手段は、記憶した書き込み要求領域数が、規定値を超えた場合に磁気ヘッドの検査を実行し、全ての磁気ヘッドが正常であった場合には、前記書き込み領域管理手段により登録した書き込み領域をクリアし、いずれかの磁気ヘッドについて障害を検出したときには、上位装置からの全ての読み出し要求、書き込み要求に対して障害を報告してもよい。
【００２１】
さらに書き込み領域管理手段は、定期的に、前記磁気ヘッド検査手段に前記磁気ヘッドの書き込み機能が正常に動作しているか否かの検査を実行させ、全ての前記磁気ヘッドが正常であったときには、前記書き込み領域管理手段が記憶している前記書き込み要求領域をクリアし、いずれかの前記磁気ヘッドについて障害を検出したときには、前記上位装置からの前記書き込み要求又は前記読み出し要求に対して障害を報告するようにしても良い。
【００２２】
また、上記１）の機能、又は、３）の手段を有する磁気ディスク装置により構成したＲＡＩＤ装置において、ＲＡＩＤ装置のディスク制御装置は、６）ある磁気ディスク装置から書込不可の障害発生が報告されたされた場合に、その報告に係る磁気ディスク装置（障害のある磁気ディスク装置）を除く、残りの磁気ディスク装置から、障害のある磁気ディスク装置のデータを再生する手段と、７）前記データを再生する手段により再生したデータと、障害のある磁気ディスク装置が格納しているデータとを比較する手段と、８）前記比較手段により不一致となった領域を、書込不可領域として表示する手段を備える。これら手段により、書込不可の障害が発生した場合においても、書込不可となった領域を特定することを特徴とする。
【００２３】
さらに、上記諸機能又は手段を有する磁気ディスク装置により構成したＲＡＩＤ装置であって、スペア磁気ディスク装置を備えたものにおいて、ＲＡＩＤ装置のディスク制御装置は、９）磁気ディスク装置から書込不可の障害発生が報告されたされた場合に、その報告に係る磁気ディスク装置（障害のある磁気ディスク装置）を除く、残りの磁気ディスク装置から、障害のある磁気ディスク装置のデータを再生し前記スペア磁気ディスク装置に格納するデータ回復手段と、１０）前記回復手段により回復されたデータを格納するスペア磁気ディスク装置と、障害のある磁気ディスク装置のデータとを比較する手段と、１１）前記比較手段により不一致となった領域を、書込不可領域として表示する手段を備える。これら手段により、書き込み不可障害が発生した場合に書き込み不可となった領域を、スペア磁気ディスク装置との対比において、特定することを特徴とする。
【００２４】
更に、１２）書込不可障害が発生した際に不正データ（新規データが書込不可となったため、再生されてしまう残存する旧データ）を上位装置に送出しない機能を磁気ディスク装置に持たせる。
【００２５】
つまり、磁気記録媒体上に診断に用いられる領域を確保し、この領域に診断データを書き込んだ後、そのデータを読み出して診断データと照合することにより、磁気ヘッドを検査する磁気ヘッド検査手段と、上位装置から前記情報の書き込み要求が発行された場合に、当該情報を書き込む書き込み要求領域を記憶する書き込み領域管理手段と、上位装置から前記情報の読み出し要求が発行された場合に、当該情報を読み出す読み出し要求領域の一部又は全部が、前記書き込み管理手段が記憶している前記書き込み要求領域と一致するか否かを判定する読み出し領域判定手段と、前記読み出し要求領域の一部又は全部が前記読み出し判定手段が記憶している書き込み要求領域と一致していた場合に、前記磁気ヘッドの書き込み機能が正常に動作しているか否かを検査する磁気ヘッド検査手段とを、磁気ディスク装置に備える。これら手段により、書込不可の障害により不正となるデータを、上位装置に送出することを防止できる。
【００２６】
【発明の実施の形態】
図１に、本発明の第１の実施の形態を示す。
【００２７】
磁気ディスク装置１０００は、磁気記録媒体１０１０、磁気記録媒体を回転駆動するスピンドルモータ１０２０、磁気記録媒体上にデータを読み書きするための磁気ヘッド１０３０、磁気ヘッドを制御する磁気ヘッド制御部１０４０、上位装置とのインタフェースを制御（情報のやり取りを制御）するインタフェース制御部１０８０、磁気ヘッド制御部及びインタフェース制御部間に設けられ、上位装置と磁気記録媒体との間の情報の書き込み又は読み出しを制御することにより上位装置からの入出力要求を実行するリード/ライト制御部１０５０、これら制御部を有機的に連結し機能させるための制御プロセッサ１０６０、制御プロセッサ１０６０上で動作するプログラム、パラメータその他の制御情報を格納する制御メモリ１０７０から構成されている。
【００２８】
本磁気ディスク装置１０００には、磁気ヘッド１０３０の正常性を検査する磁気ヘッド検査手段１１００と、上位装置からの書き込み要求に応答し、書き込み要求領域を記録する書き込み領域管理手段１１１０がプログラムされている。
【００２９】
図２に、書き込み領域管理手段１１１０の処理の流れを示す。
【００３０】
管理手段１１１０は、上位装置からの書き込み要求が発行された場合に動作する。処理２０１０では、上位装置からの書き込み対象領域の物理トラックアドレスを算出する。これは、本実施の形態の書き込み領域管理単位が物理トラック単位としているためである。
【００３１】
処理２０２０では、処理２０１０により算出した上位装置からの書き込み要求領域が既に書き込み管理テーブル（以下、適宜、テーブルをＴＢＬと略記する。）に登録済みかを確認する。この結果、既に書き込み領域管理ＴＢＬに登録済みであると判断された場合は、当該上位装置からの要求に対する書き込み処理を実行する。
【００３２】
書き込み領域管理ＴＢＬに登録されていないと判断された場合には、処理２０３０にて当該書き込み領域管理ＴＢＬに空きエントリが存在するかを判定する。この判定の結果、書き込み領域管理ＴＢＬに空きエントリが存在しないと判断された場合には、磁気ヘッド診断手段１１００を実施し磁気ディスク装置１０００のデータ書き込み機構が正常に動作しているかを確認（処理２０４０）する。
【００３３】
磁気ヘッド手段１１００は、磁気ディスク装置１０００に搭載されている全ての磁気ヘッド１０３０にて実際に磁気記録媒体にデータの書き込み検査を実施し、全ての磁気ヘッド１０３０が正常であると確認された場合には、書き込み領域管理ＴＢＬに登録されている上位装置からの書き込み要求は正常に行われたと判断し、書き込み領域管理ＴＢＬをクリアする。つまり、処理２０４０と処理２０５０により磁気ヘッド診断手段１１００を実行し、書き込み領域管理ＴＢＬの空きエントリを確保する。
【００３４】
処理２０３０にて書き込み領域管理ＴＢＬに空きエントリが存在した場合、処理２０６０にて上位装置からの書き込み要求領域を書き込み領域管理ＴＢＬに登録し書き込み処理を実施する。
【００３５】
処理２０３０にて書き込み領域管理ＴＢＬに空きエントリが存在しなかった場合には、磁気ヘッド診断手段１１００を実行し書き込み領域管理ＴＢＬの空きエントリを確保したのち、処理２０６０にて上位装置からの書き込み要求領域を書き込み領域管理ＴＢＬに登録し書き込み処理を実施する。
【００３６】
磁気ヘッド診断１１００の結果、書き込み不可障害が発生していると処理２０５０で判断された場合には、当該上位装置からの書き込み要求に対して、書き込み不可障害を報告し（処理２０７０）、書き込み処理を終了する。
【００３７】
図３を用いて、磁気ヘッド診断手段１１００の動作を説明する。
【００３８】
診断手段１１００は、書き込み領域管理手段１１１０によって又は定期的に、起動される。診断手段１１００は、磁気ディスク装置１０００の書き込み機構が正常に機能しているかを診断する機能で、磁気ディスク装置１０００に搭載する全ての磁気ヘッド１０３０において、磁気記録媒体１０１０上の診断領域に診断データを書き込んだ後、その診断領域のデータを読み出し、正常に診断データが磁気記録媒体１０１０上に書き込まれたかを検査する（処理３０２０〜処理３０６０）。
【００３９】
かかる検査の結果、正しく診断データが書き込まれていない、即ち、書込不可障害が発生していると判断された場合には、処理３０９０にて書き込み不可障害フラグを設定する。この書き込み不可障害フラグが設定されている場合には、磁気ディスク装置１０００に対する全ての入出力要求に対して書き込み不可障害を報告する。
【００４０】
検査の結果、全ての磁気ヘッド１０３０にて正しく診断データが書き込まれていると判断された場合には、処理３１００にて書き込み領域管理ＴＢＬをクリアする。
【００４１】
尚、診断データは、磁気ヘッド診断を実施する度にユニークな診断データを用いるように制御されている。更に本実施の形態では、磁気ヘッド診断方法として、診断データを書き込んだ後に読み出す方法を示したが、診断領域に磁気記録媒体の欠陥が発生する可能性があるため、診断領域のデータを読み出し、その後、診断データを書き込み、読み出す方法でも良い。
【００４２】
加えて、磁気ヘッド診断処理時間を短縮するために、各磁気ヘッド毎の診断領域を図４のように磁気記録媒体上、磁気ヘッド切り替え処理時間分ずらして配置する。これにより、磁気記録媒体が１回転する間に複数の磁気ヘッドにて診断領域の書き込み、又は、読み出しを実施できるため、磁気ヘッド診断処理時間を短縮することができる。
【００４３】
書き込み不可障害が発生した場合には、上位装置からの全ての入出力要求に対して書き込み不可障害を報告する（２０７０、図２）。上位装置は、本障害報告を契機に書き込み領域管理ＴＢＬの内容を磁気ディスク装置１０００から読み出す。なお、磁気ディスク装置１０００が上位装置に報告する書き込み不可領域は、上位装置が認識可能な論理アドレスに変換されて報告される。
【００４４】
以上のように、本発明の第１の実施の形態では、磁気ディスク装置１０００において書き込み不可障害が発生した場合に、上位装置に書き込み不可障害が発生したことを通知すると伴に、磁気記録媒体１０１０に書き込みが行われなかった領域を上位装置に報告できる。
【００４５】
より具体的には図５に示すようである。磁気ヘッド診断手段１１００が実行される間に、書き込みが行われた領域が書き込み領域管理ＴＢＬに、領域Ｂ、領域Ｃ、...のように格納されて行く。ここで後発的に、磁気ヘッド診断手段１１００の実行により、書き込み不可障害が検出されたときには、書き込み管理ＴＢＬに登録されている領域が、書き込み不可となっている可能性がある。
【００４６】
したがって、書き込み不可障害の回復手順としては、処理４０１０に示すように、書き込み不可となった可能性がある領域を、障害の検出された障害磁気ディスク装置から読み出し、障害磁気ディスクの代替となる正常な磁気ディスク装置にコピーする（処理４０２０）。その後、書き込みが行えなかった領域のデータを、ジャーナルデータその他の冗長データ部分から回復する（処理４０３０）。これにより障害状態からの回復ができる。
【００４７】
図６を用いて、第２の実施の形態におけるシステム構成図について説明する。
【００４８】
ディスク制御装置５０００は、配下に磁気ディスク装置５０１０を接続し、上位装置（ホスト）である中央処理装置５０２０に接続される。
【００４９】
磁気ディスク装置５０１０は、第１の実施の形態で示した磁気ディスク装置１０００と同じであっても良いが、書き込み領域管理手段１１１０を備えない磁気ディスク装置であってもかまわない。
【００５０】
ディスク制御装置５０００は、中央処理装置５０２０とのインタフェースを制御するチャネルＩ/Ｆ制御部５０３０、磁気ディスク装置５０１０とのインタフェースを制御するディスク制御部５０４０を備えている。これらの制御部は、データ転送制御回路その他の制御回路と、制御回路を制御する制御プロセッサ、及び、制御プロセッサで動作するプログラムを格納するメモリ（いずれも図示せず）から構成されている。
【００５１】
ディスク制御装置５０００は、中央処理装置５０２０からの書き込みデータや、磁気ディスク装置５０１０からの読み出しデータを格納するキャッシュメモリ５０５０を備え、また各制御部間の制御情報を格納するための制御メモリ５０６０、及び、保守等を実施するためのサービスプロセッサ５０７０を備えている。
【００５２】
ディスク制御部５０４０は、配下の複数の磁気ディスク装置５０１０をＲＡＩＤ５構成とする機能を有している。ＲＡＩＤ５とは、中央処理装置から転送されたデータから冗長データ（本実施の形態での冗長データはパリティである。）を生成し、パリティが一つの磁気ディスク装置に固定しないように各磁気ディスク装置５０１０に循環的に配置する構成をいう。
【００５３】
尚、本実施の形態では、スペア磁気ディスク装置５０１５を備えている。スペア磁気ディスク装置５０１５は、ＲＡＩＤ５を構成する磁気ディスク装置の１つが障害となった場合に、代替する磁気ディスク装置である。
【００５４】
スペア磁気ディスク装置５０１５は、１つの磁気ディスク装置に障害が発生した場合に、他の正常な磁気ディスク装置５０１０のデータから、その障害磁気ディスク装置に格納されたデータを回復・生成させるデータ生成手段５１００と、複数の磁気ディスク装置から読み出したデータの排他的論理和（ＸＯＲ：Ｅｘｃｌｕｓｉｖｅ  ＯＲ）を行い、結果がゼロであるか否かを判定するデータ比較手段５１１０と機能的に連携している。
【００５５】
サービスプロセッサ５０７０は、データ比較手段５１１０により、排他的論理和の結果がゼロでなかった領域を表示する、書き込み不可領域表示手段５１２０を備えている。
【００５６】
磁気ディスク装置５０１０の１台の磁気ディスク装置において書き込み不可障害が発生した場合の動作について説明する。
【００５７】
書き込み不可障害は、第１の実施の形態で説明した磁気ヘッド診断手段１１００によって検出され報告される。書き込み不可障害の発生の報告を受けたディスク制御部５０４０は、データ比較手段５１１０により、書き込み不可となった領域を特定する。具体的には、前述したＲＡＩＤ５構成の場合、
Ｄａｔａ１ ＸＯＲ Ｄａｔａ２ ＸＯＲ Ｄａｔａ３ ＝ Ｐａｒｉｔｙ１
となっている。この状態でＤａｔａ２に対してＤａｔａ２ａの書き込み要求が発行された際の新パリティは、
Ｄａｔａ１ ＸＯＲ Ｄａｔａ２ａ ＸＯＲ Ｄａｔａ３ ＝ Ｄａｔａ２ ＸＯＲ Ｄａｔａ２ａ ＸＯＲ Ｐａｒｉｔｙ１ ＝ Ｐａｒｉｔｙ１ａ
となる。この状態で、Ｄａｔａ２ａを磁気ディスク装置へ書き込む際に書き込み不可障害が発生すると記録媒体上には本来Ｄａｔａ２ａが書き込まれなければならないがＤａｔａ２のままとなる。したがって、データ比較手段によりＲＡＩＤ５を構成する各磁気ディスク装置からデータを読み出して排他的論理をとると
Ｄａｔａ１ ＸＯＲ Ｄａｔａ２ ＸＯＲ Ｄａｔａ３ ＸＯＲ Ｐａｒｉｔｙ１ａ＝
Ｄａｔａ１ ＸＯＲ Ｄａｔａ２ ＸＯＲ Ｄａｔａ３ ＸＯＲ Ｄａｔａ１ ＸＯＲ Ｄａｔａ２ａ ＸＯＲ Ｄａｔａ３ ＝ Ｄａｔａ２ ＸＯＲ Ｄａｔａ２ａ
となり結果がゼロとならず、書き込み不可障害が発生した領域を特定することができる。
【００５８】
データ比較手段５１１０により摘出した書き込み不可障害発生領域を、書き込み不可領域表示手段５１２０により、サービスプロセッサ５０７０に表示する。その後、障害が報告された磁気ディスク装置に格納されていたデータを生成するデータ生成手段５１００により、生成したデータを、スペア磁気ディスク装置５０１５に格納する。また、サービスプロセッサ５０７０に表示された、書き込み不可領域のデータを、ジャーナルデータその他のデータから回復することにより、磁気ディスク装置５０１０で発生した書き込み不可障害を全て回復・生成することができる。
【００５９】
次に第３の実施の形態について説明する。このシステム構成図は、第２の実施の形態とほぼ同じで図６のようであるが、第２の実施の形態では、データ生成手段５１００がディスク制御装置５０００に位置しているが、第３の実施の形態では、磁気ディスク装置５０１０に位置している。
【００６０】
本実施の形態では、書き込み不可障害が磁気ディスク装置５０１０から報告された場合に、障害発生磁気ディスク装置のデータを、障害磁気ディスク装置が有するデータ生成手段５１００により、スペア磁気ディスク装置５０１５に回復する。その後、データ比較手段５１１０により、スペア磁気ディスク装置５０１５と障害磁気ディスク装置５０１０の内容を比較することにより、書き込み不可障害発生領域を特定する。
【００６１】
具体的には、書き込み不可障害が発生した領域を、データ生成手段５１００によりデータ生成を行うと、
Ｄａｔａ１ ＸＯＲ Ｄａｔａ３ ＸＯＲ Ｐａｒｉｔｙ１ａ ＝Ｄａｔａ２ａ
となり、スペア磁気ディスク装置５０１５上にはＤａｔａ２ａが回復される。
【００６２】
一方、障害磁気ディスク装置上には書き込み不可障害発生前のデータＤａｔａ２が格納されているため、これらデータの排他的論理和をとってもゼロとならず、データ比較手段５１１０により、書き込み不可領域を特定することができる。
【００６３】
第１から第３の実施の形態では、書き込み不可障害が発生した場合に、書き込み不可領域を特定する機能を有していた。これらの実施の形態では、書き込み不可障害が発生したデータ、即ち、書き込み前の旧データを書き込み後のデータとして上位装置に送出してしまうため、不正なデータに基づいて２次データを作成してしまう可能性がある。このため、次に示す第４の実施の形態では、書き込み不可障害が発生した場合においても、不正なデータを上位装置に送出しない機能を達成している。
【００６４】
図７に、本発明の第４の実施の形態を示す。第１の実施の形態で示した磁気ディスク装置１０００に、読み出しチェック手段６０１０を追加したものである。図８に、読み出し領域チェック手段６０１０の処理の流れを示す。
【００６５】
読み出し領域チェック手段６０１０は、上位装置からの読み出し要求に応答し、処理７０１０（図８）により当該読み出し要求の物理トラックアドレスを算出する。次の処理７０２０では、処理７０１０により算出した上位装置からの読み出し要求領域の一部又は全部が、書き込み領域管理ＴＢＬに登録されているか否かを確認する。この結果、読み出し要求領域の一部又は全部が書き込み領域管理ＴＢＬに登録されていた場合は、磁気ヘッド診断手段１１００を実行する（処理７０３０）。全ての磁気ヘッドの書き込み機能が正常に動作していると判断された場合には（ＹＥＳ、処理７０４０）、読み出し処理を実行する。
【００６６】
一方、処理７０２０にて、読み出し対象領域が書き込み領域管理ＴＢＬに登録されていないと判断された場合には、そのまま読み出し処理を実行する。さらに、処理７０３０により磁気ヘッド診断手段により書き込み不可障害が発生していると判断された場合には、処理７０５０にて上位装置に書き込み不可障害の発生を報告し処理を終了する。
【００６７】
図９を用いて、第４の実施の形態の動作について説明する。
【００６８】
領域Ａへの書き込み実施後、定期起動による磁気ヘッド診断手段１１００が動作する。この磁気ヘッド診断手段１１００により、磁気ディスク装置１０００に搭載される全ての磁気ヘッドにおける書き込み機能が正常に動作していることが確認できると、書き込み領域管理ＴＢＬをクリアする。
【００６９】
その後、現実には書き込み不可障害が発生していることに、未だ、磁気ディスク装置１０００や、ディスク制御装置５０００は気がついていない。すると、例えば、領域Ｂ、領域Ｃ、.....に対する書き込み要求は達成されず、現実には磁気記録媒体１０１０上に書かれていない。しかし書き込み領域管理ＴＢＬに、領域Ｂと領域Ｃがアクセスされたことを示す履歴情報が登録されている状態となる。つまり、現実の書き込みが正常でも異常でも、領域Ｂ、領域Ｃ、....にアクセスがあったことは、書き込み領域管理ＴＢＬに登録される。
【００７０】
この後、領域Ａに対する読み出し要求が行われると、読み出し領域チェック手段６０１０が動作することにより、読み出し対象となった領域Ａは、磁気ヘッド診断手段１１００により磁気ヘッドが正常であると判断された時点より前に、磁気記録媒体１０１０に書き込まれた領域であることが判明する。すなわち領域Ａの書き込み処理を実施した磁気ヘッドは、書き込み機能が正常に動作していた時期に用いられたこととなる。このため、磁気記録媒体１０１０上のデータは、正しいデータであるので、そのまま読み出し処理を実行する。
【００７１】
一方、領域Ｂ、領域Ｃへのアクセスについては、磁気ヘッド診断手段１１００を実行して異常がないことを確認した後のアクセスである。磁気ヘッドに新たに異常が生じている可能性を排除できていない状態にある。従って、磁気ヘッド診断手段１１００を実行して磁気ヘッドが正常か否かを確認する。この結果、書き込み不可障害が発生していることを検知した場合には、領域Ｃに対する読み出し要求に対して、書き込み不可障害を報告する。
【００７２】
このようにして、磁気ディスク装置１０００において書き込み不可障害が発生した場合には、不正なデータは上位装置に送出しない。
【００７３】
また、読み出し要求に伴う読み出し領域チェック手段６０１０の実施、書き込み要求に伴う書き込み領域管理手段１１１０の実施は、磁気ヘッドのシーク動作と同時期に行われるため、磁気ディスク装置１０００の入出力処理時間の増加にはならない。
【００７４】
一方、磁気ヘッド診断１１００の実施には、診断領域への所定のデータの書き込み、読み出しを行う必要から、最低、磁気記録媒体が２回転するに要する処理時間が費やされるので、いかなる契機で、磁気ヘッドの診断を実施するかが問題となる。
【００７５】
磁気ヘッドの診断は、１）定期的に行われる場合と、２）読み出そうとするときに、読み出し対象領域が、書き込み領域管理ＴＢＬに登録されていた場合に、それぞれ行われる。
【００７６】
前者では、起動周期を数秒単位とすることで、磁気ヘッドの診断処理に要する時間を隠蔽できる。後者では、通常の入出力負荷環境では、読み出し対象領域が、書き込み領域管理ＴＢＬに登録されている確率が低いため問題とならない。但し、書き込み直後に読み出しが行われるようなアクセスパターンにおいては、頻繁に磁気ヘッド診断が動作する可能性があるが、第２の実施の形態で示したような、キャッシュ付きディスク制御装置に第４の実施の形態の磁気ディスク装置を接続することにより、前述のアクセスパターンの場合であっても、ディスク制御装置上のキャッシュメモリに読み出し対象データが存在する確率が高く、実質的に磁気ディスク装置への読み出し要求が発行されないため、更に磁気ヘッド診断処理に要する時間（オーバヘッド）を少なくすることができる。
【００７７】
【発明の効果】
本発明によれば、磁気記録媒体にデータが書き込めない障害であって、かつ、その障害の発生を検出できないものが磁気ディスク装置において発生した場合においても、書き込み不可障害が発生した領域を特定することができ、障害回復を確実に行うことができる。
【００７８】
更に、書き込み不可障害が発生しても不正なデータの送出を抑えることができ、かつ、これらの措置を磁気ディスク装置やこれを用いたシステムの性能を低下させることなく、実現できる効果がある。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態である磁気ディスク装置１０００の概略構成を示す図である。
【図２】図１の書き込み領域管理手段１１１０の処理を示すフローチャートである。
【図３】図１の磁気ヘッド診断手段１１００の処理を示すフローチャートである。
【図４】磁気ヘッド診断手段１１００の処理の高速化を行うための診断領域の配置を示す図である。
【図５】第１の実施の形態における書き込み不可障害の検出と障害回復の手順を示す図である。
【図６】第２の実施の形態におけるシステム構成を示す概略図である。
【図７】第４の実施の形態である磁気ディスク装置１０００の概略構成を示す図である。
【図８】図７の読み出し領域チェック手段６０１０の処理を示すフローチャートである。
【図９】第４の実施の形態における書き込み不可障害の検出と障害発生の報告を説明するための図である。
【符号の説明】
１０００…磁気ディスク装置、        １０１０…磁気記録媒体、
１０２０…スピンドルモータ、        １０３０…磁気ヘッド、
１０６０…制御プロセッサ、          １０７０…制御メモリ、
５０００…ディスク制御装置、        ５０１０…磁気ディスク装置、
５０４０…ディスク制御部、          ５０５０…キャッシュメモリ。
【図１】
0004012420.tif 000002
【図２】
0004012420.tif 000003
【図３】
0004012420.tif 000004
【図４】
0004012420.tif 000005
【図５】
0004012420.tif 000006
【図６】
0004012420.tif 000007
【図７】
0004012420.tif 000008
【図８】
0004012420.tif 000009
【図９】
0004012420.tif 000010