(57)【要約】【課題】磁気ディスク装置にエラーが発生しても、発生している問題を磁気ディスク装置自身で判断し、遅延を少なく上位装置にエラー状態を報告する磁気ディスク装置を提供する。【解決手段】磁気ディスク装置１０３において、データエラーが発生した際に、エラー情報テーブル１１０から既に格納されているエラー情報を読み出して自己チェックを行い、連続エラー判定を行う。連続エラーと判定された場合は、これ以上リトライしても修復不可能で処理遅延を発生させる可能性が高いと判断し、通常のデータエラー応答ではなくハードエラー応答として、上位装置にデータリカバリーを行うように促す。また、処理遅延によりリセット信号が発行された場合、ウォッチドッグタイマー１０９を発動し、既定時間内にリセット処理開始可能かを判断する。【選択図】図１
2010020840.tif 000002
【特許請求の範囲】
【請求項１】
ディスク制御装置を介して接続された上位装置からの処理要求に基づいて、記録媒体に対してデータの読み書き処理を行い、読み出したデータのデータエラーに対し自動修復処理を行うディスクコントローラを有する磁気ディスク装置であって、
前記磁気ディスク装置のエラー情報を格納するエラー情報テーブルを備え、
前記ディスクコントローラは、前記データエラーが発生した際に、前記エラー情報テーブルに格納されているエラー情報を読み出し、前記エラー情報に基づいて、過去のデータエラーとの連続性から前記データエラーが連続的に発生している連続エラーであるかを判断し、前記連続エラーであると判断した場合に、前記上位装置へハードエラーとしてエラー状態を報告することを特徴とする磁気ディスク装置。
【請求項２】
請求項１記載の磁気ディスク装置において、
前記ディスクコントローラは、前記エラー情報に基づいて、前記データエラーが前記連続エラーでないと判断した場合は、前記上位装置へ前記データエラーとしてエラー状態を報告することを特徴とする磁気ディスク装置。
【請求項３】
請求項１または２記載の磁気ディスク装置において、
前記ディスクコントローラに障害が発生し、前記ディスクコントローラがハングアップした際に、前記ディスク制御装置で発行されるリセット信号を起点に起動するウォッチドッグタイマーを備え、
前記ウォッチドッグタイマーは、カウント値が予め設定された既定値となった際に、前記ディスクコントローラに対して、リブート処理の割り込み信号を出力することを特徴とする磁気ディスク装置。
【請求項４】
請求項３記載の磁気ディスク装置において、
前記ディスクコントローラは、前記割り込み信号により、前記リブート処理を行った後、前記上位装置へ前記リブート処理を行ったとしてエラー状態を報告することを特徴とする磁気ディスク装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は磁気ディスク装置に関し、特にエラーを検出した場合にデータ修復を行うと共にエラー状態を判断する機能を備え、且つパフォーマンス劣化を抑えるため、命令処理遅延を最小限に留めて上位装置にエラー報告する磁気ディスク装置に関する。
【背景技術】
【０００２】
従来、磁気ディスク装置では記憶データとＥＣＣデータの整合性チェックを行うＥＣＣエラー訂正機能や、読み出しエラー時に条件を様々に変化させてリトライする機能を有している。このリトライ機能を利用して読み出しに成功したデータを記録媒体に書き戻し、または別の領域へデータを退避させ、同一データを読み出した時にエラーとならないようにするデータ修復機能も一般的に有している。
【０００３】
さらに、高い信頼性を必要とするシステム装置では、磁気ディスク装置を複数用いてＲＡＩＤ構成とし、データ修復能力の向上を図っている。ＲＡＩＤ構成では、１台の磁気ディスク装置に回復不可能なエラーが存在している場合でも、他の磁気ディスク装置から正しいデータを読み出してエラー箇所を修復できる。
【０００４】
万が一、１台の磁気ディスク装置が動作不能となった場合でも、磁気ディスク装置を交換後に他の磁気ディスク装置からデータ復旧するリビルド処理が行うことができる。特開平６−６７８１５号公報（特許文献１）には、磁気ディスクから読み取ったデータを訂正した後に磁気ディスクに書き戻すデータ修復技術が記載されている。
【特許文献１】特開平６−６７８１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
近年、磁気ディスク装置の記録密度向上により、データの読み出し、書き込みに高い制御技術が使われる反面、データ信頼性の低下、エラー要因発生時の影響範囲が大きくなることが懸念されている。この問題を対策する手段として、空き時間に磁気ディスク装置を全面読み出して、前記のデータ修復機能を用いて修復する機能が磁気ディスク装置自身やＲＡＩＤ構成に追加され、データ修復機能を強化している。
【０００６】
しかしながら、この修復機能には問題があった。上位装置からの読み出し書き込み要求と競合すると割り込み処理が入り、修復機能による読み出しを中断して上位装置からの要求を優先して実行するが、データエラーを修復中は修復完了してから要求実行するため、要求処理遅延が発生するという問題である。
【０００７】
処理遅延は１箇所の修復であれば問題ないレベルであるが、近年の高密度化によりエラー影響範囲が大きくなり、連続したエラーとなることが多くなっている。連続したエラー領域の修復中には上位装置からの要求が滞り処理が遅延した結果、コンピュータシステム装置全体のパフォーマンスが劣化してしまう。
【０００８】
また、割り込み処理の繰り返しとなり、磁気ディスク装置のハングアップを誘発する可能性が高くなると考えられる。
【０００９】
ハングアップによる無応答状態の改善策としては、上位装置のもつウォッチドッグタイマーで応答監視を行い、無応答時にリセットを行う方法が考えられる。しかし、上位装置はデータエラー修復によるコマンド処理遅延の無応答と、ハングアップによる無応答を区別することはできない。コマンド処理遅延状態でリセットをしても、リセット後に再度エラー修復が始まり遅延の解決にはならないという問題があった。
【００１０】
そこで、本発明の目的は、磁気ディスク装置にエラーが発生しても、発生している問題を磁気ディスク装置自身で判断し、遅延を少なく上位装置にエラー状態を報告する磁気ディスク装置を提供することにある。
【００１１】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１２】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【００１３】
すなわち、代表的なものの概要は、ディスクコントローラが、データエラーが発生した際に、エラー情報テーブルに格納されているエラー情報を読み出し、エラー情報に基づいて、過去のデータエラーとの連続性からデータエラーが連続的に発生している連続エラーであるかを判断し、連続エラーであると判断した場合に、上位装置へハードエラーとしてエラー状態を報告するものである。
【発明の効果】
【００１４】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【００１５】
すなわち、代表的なものによって得られる効果は、連続データエラーを検出時に自己チェックを行い処理遅延が懸念される場合、上位装置へ通常のデータエラー応答ではなく自己チェック結果を報告するため、上位装置はエラー状況に応じた対応が可能となる。これは磁気ディスク装置自身やＲＡＩＤ構成によるデータ修復機能の実行中にも適用され、上位装置からの読み出し書き込み要求と競合しても処理遅延を少なくすることができる。
【００１６】
また、リセット信号を受領した時も処理遅延とハングアップを区別して応答し、上位装置に適切な処置を促すことができる。リセット信号を受領後にウォッチドッグタイマーを発動するため、最小限の負荷で実行が可能である。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００１８】
図１により、本発明の一実施の形態に係る磁気ディスク装置を搭載したコンピュータシステムの構成について説明する。図１は本発明の一実施の形態に係る磁気ディスク装置を搭載したコンピュータシステムの構成を示す構成図である。
【００１９】
図１において、コンピュータシステムは、構成要素として大きくは中央処理装置であるＣＰＵ１０１、ディスク制御装置であるＲＡＩＤシステム１０２、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）バス１１１、磁気ディスク装置１０３から構成されている。また、このコンピュータシステムは上位装置と接続され、上位装置からの処理要求などを受け付けている。
【００２０】
ＲＡＩＤシステム１０２は、ＲＡＩＤ構成を統括するＲＡＩＤコントローラ１０４、ＣＰＵからの処理要求をＳＣＳＩコマンドに変換するＳＣＳＩコントローラ１０５、磁気ディスクへ送るコマンドを管理するコマンド制御部１０６で構成されている。
【００２１】
磁気ディスク装置１０３は、ＳＣＳＩコマンドを受領、応答するＳＣＳＩコントローラ１０７、磁気ディスク装置を制御するディスクコントローラ１０８、障害時の割り込み手段であるウォッチドッグタイマー１０９、磁気ディスク装置のエラー情報を格納するエラー情報テーブル１１０、磁気ディスク（記録媒体）２０６、磁気ディスク２０６にアクセスするための読み出しヘッド２０５および書き込みヘッド２０７から構成されている。
【００２２】
ＣＰＵ１０１からの処理要求がＲＡＩＤコントローラ１０４に届くと、ＳＣＳＩコントローラ１０５からＳＣＳＩコマンドとして磁気ディスク装置に発行される。コマンド制御部１０６は発行されるコマンド１つ１つに番号をつけ、磁気ディスク装置からの応答内容と処理時間を管理している。
【００２３】
磁気ディスク装置１０３はコマンドを受領し、ディスクコントローラ１０８によって処理要求を実施し、結果を応答する。エラーが発生して処理要求に応えられない場合は、エラー情報テーブル１１０にエラー内容を書き込み、エラー内容を応答して終了する。
【００２４】
磁気ディスク装置１０３のウォッチドッグタイマー１０９はディスクコントローラ１０８に障害が発生し、処理が止まってハングアップした時に発動し、タイマーが０になると、割り込み信号１１２をディスクコントローラ１０８へ発行する。
【００２５】
ＲＡＩＤコントローラ１０４は磁気ディスク装置１０３からの応答をＣＰＵ１０１へ送出するが、エラー応答である場合はリトライを行って、ＣＰＵ１０１からの処理要求に応えられるようにリカバリー処理を行う。
【００２６】
次に、図２により、本発明の一実施の形態に係る磁気ディスク装置の読み出し書き込みのデータ処理について説明する。図２は本発明の一実施の形態に係る磁気ディスク装置の読み出し書き込みのデータ処理を説明するためのブロック図であり、図１のディスクコントローラ１０８の制御による処理をブロック図で示している。
【００２７】
図２において、ディスクコントローラ１０８による制御は、コマンド実行制御部２０１、リクエスト競合部２０２、データスキャン制御部２０３、データバッファ２０４、エラー検出／リトライ制御部２０８、コマンド応答制御部２０９の各ブロックにより行われている。
【００２８】
コマンド実行制御部２０１で読み出し書き込み要求を受けると上位装置からの処理要求２１１としてリクエスト競合部２０２に送信される。データスキャン制御部２０３はデータ信頼性向上のための全面読み込みチェックを実行する自動データ修復要求２１２をリクエスト競合部２０２に定期的に送信している。
【００２９】
リクエスト競合部２０２は上位装置からの処理要求２１１と自動データ修復要求２１２を競合させ、基本的には上位装置からの処理要求２１１を優先して選択し、自動データ修復の実行を待たせる。
【００３０】
上位装置からの処理要求２１１がない時に自動データ修復要求２１２が来た場合は自動修復が選択され、自動修復機能が実行される。自動修復機能実行中に上位装置からの処理要求２１１が来た場合は、自動修復機能を中断して上位装置からの処理要求２１１が割り込みで選択されるが、実際のエラーの修復作業はデータ保全のために中断せず、全てに優先される。前記で待たされた処理は、優先される処理が終了した後に実行される。
【００３１】
このようにリクエスト競合部２０２で選択された要求は、コマンド信号２１３として展開され実行される。読み出しの場合は読み出しヘッド２０５で磁気ディスク２０６の指定アドレスを読み出し、データバッファ２０４に一時記録する。一時記録されたデータはエラー検出／リトライ制御部２０８でエラーチェックし、エラーが検出されなければコマンド応答制御部２０９にデータを送信する。
【００３２】
エラーが検出されたらエラーデータ訂正やリトライを試み、修復可能であれば修復データを、修復不可能であればエラー内容をコマンド応答制御部２０９に送信する。
【００３３】
書き込みの場合はデータバッファ２０４に一時記録されたデータを書き込みヘッド２０７で磁気ディスク２０６の指定アドレスへ書き込み、実行結果をコマンド応答制御部２０９へ送信する。コマンド応答制御部２０９は送られてきたコマンド実行結果やデータをコマンド番号ごとに上位装置に送出して、コマンド終了とする。この一連のデータ処理はディスクコントローラ１０８によって制御され、絶えず実行されるようになっている。
【００３４】
次に、図３により、本発明の一実施の形態に係る磁気ディスク装置においてエラーが検出された場合のデータ修復処理の処理フローについて説明する。図３は本発明の一実施の形態に係る磁気ディスク装置においてエラーが検出された場合のデータ修復処理の処理フローを示すフローチャートであり、読み出し処理を行う際に、エラー検出／リトライ制御部２０８によりエラーが検出された場合のデータ修復処理の処理フローを示している。
【００３５】
まず、コマンド信号２１３によって読み出しを実行し、データバッファ２０４に一時記録されたデータからエラーを検出する（ステップ３０１）。
【００３６】
ステップ３０１でエラーを検出した場合、リトライ処理を行い（ステップ３０２）、リトライ処理によって正常に読み出せたかを判定する（ステップ３０３）。
【００３７】
リトライ処理には最大リトライ回数と規定リトライ回数を設定可能とし、リトライ処理を行いステップ３０３で正常に読み出せなくても、最大リトライ回数に達するまではリトライ処理を繰り返す（ステップ３０４）。
【００３８】
ステップ３０３でリトライ処理によって正常に読み出せたら、規定リトライ回数に達しているかを判定する（ステップ３０５）。ステップ３０５で規定リトライ回数以内のリトライ処理でデータ訂正できた場合、訂正データでデータバッファ２０４の内容を更新し、正常応答として終了する（ステップ３０９）。
【００３９】
ステップ３０５で規定リトライ回数を超えていた場合、データ修復を行う（ステップ３０６）。
【００４０】
このデータ修復についての詳細は省略するが、一般的にはデータ訂正後のデータを書き込みヘッド２０７により読み出したアドレスへ上書きを行い、さらにベリファイを行ってデータ確認をして、次に読み出す時にエラーとならないように修復される。
【００４１】
また、ステップ３０４でリトライ処理で最大リトライ回数に達した時は、データエラーとしてエラー情報テーブル１１０にエラー情報を格納する（ステップ３０７）。この時、現在のエラー情報と過去のエラー情報を照合し、連続的にエラー発生している状態であるかを判定する（ステップ３０８）。
【００４２】
ステップ３０８で連続エラーと判定されない場合、通常のデータエラー応答を送出し、上位装置に装置リトライを促す（ステップ３１０）。
【００４３】
ステップ３０８で連続エラーと判定された場合は、これ以上リトライしても修復不可能で処理遅延を発生させる可能性が高いと判断し、ハードエラー応答として、上位装置にデータリカバリーを行うように促す（ステップ３１１）。
【００４４】
この処理フローは通常上位装置へデータエラー応答を行わない磁気ディスク装置の自動修復機能で検出されたエラーでも同様とする。ただし、通常のデータエラー応答は行わず、ステップ３１１でのハードエラー応答となった場合だけ応答する。
【００４５】
次に、図４により、本発明の一実施の形態に係る磁気ディスク装置の連続エラーを判定する処理の処理フローについて説明する。図４は本発明の一実施の形態に係る磁気ディスク装置の連続エラーを判定する処理の処理フローを示すフローチャートであり、連続とは数回のレベルではなく、今後継続的にエラーが発生し、大きな処理遅延を起こす要因があるかどうかの判定である。
【００４６】
まず、エラー情報テーブル１１０にエラー情報を格納する際に磁気ディスク装置１０３の全ヘッドでエラー情報の書き込みと過去のエラー情報の読み出しを行う（ステップ４０１）。その際、エラー情報テーブル１１０の書き込み／読み出し時間を監視し、リトライによるタイムアウトがないか確認する（ステップ４０２）。このことで、読み出しヘッド２０５、書き込みヘッド２０７が正常であるか簡易的に確認できる。
【００４７】
そして、エラー情報格納時に記録しておいた直近の既定ブロック数データアクセスにおける総リトライ数を閾値と照合し（ステップ４０３）、直近の既定時間の自動修復機能によるデータ修復回数を閾値と照合する（ステップ４０４）。
【００４８】
ここまでのステップは全て継続的な処理遅延要因がないかの確認である。
【００４９】
さらに、今回のデータエラーと連続エラーであるか、アドレスが連続的であるかを過去のエラー情報と照合して確認する（ステップ４０５）。これは一般的に読み込みが一定のブロック単位で行われるので、上位装置のリトライ方法によっては１箇所がエラーであると連続エラーになる可能性があり処理遅延を引き起こす可能性があり、それを防止するために設定する。
【００５０】
以上のステップで問題があればその内容を不揮発記録エリアに退避し、連続エラーと判定する（ステップ４０６）。
【００５１】
次に、図５により、本発明の一実施の形態に係る磁気ディスク装置のウォッチドッグタイマーの処理フローについて説明する。図５は本発明の一実施の形態に係る磁気ディスク装置のウォッチドッグタイマーの処理フローを示すフローチャートである。
【００５２】
ウォッチドッグタイマー１０９はディスクコントローラ１０８に障害が発生し、処理が止まってハングアップした時に発動させる。
【００５３】
具体的には、ＲＡＩＤシステム１０２のコマンド制御部１０６が磁気ディスク装置からの応答を精査し、規定時間応答がないコマンドがある場合、ＲＡＩＤコントローラ１０４に報告する。報告を受けたＲＡＩＤコントローラ１０４は再度同じコマンドを発行（リトライ）し、それでも応答がない場合、リセットを発行する。
【００５４】
このリセットを起点にウォッチドッグタイマー１０９はタイマーを有効とし、タイマーを初期値にセットする（ステップ５０１）。
【００５５】
その後、タイマーカウントを１ずつ減らしながら（ステップ５０２）、ＳＣＳＩバスを監視してリセット応答があるかを確認する（ステップ５０３）。ここでコマンド応答遅延の原因が磁気ディスクのデータ修復であれば、問題なくディスクコントローラ１０８はリセット応答が可能である。ディスクコントローラ１０８は、リセット処理を開始する際にウォッチドッグタイマー１０９を無効とし、タイマーは終了する。
【００５６】
ディスクコントローラ１０８がハングアップしている場合はタイマーカウントが進み、タイマーが０となったらウォッチドッグタイマー１０９は割り込み信号１１２をディスクコントローラ１０８へ発行し（ステップ５０４）、タイムアウトが発生したことを連絡する。その後、自身でタイマーを無効とし（ステップ５０５）終了する。
【００５７】
次に、図６により、本発明の一実施の形態に係る磁気ディスク装置において実際にタイムアウトが発生した場合の処理フローについて説明する。図６は本発明の一実施の形態に係る磁気ディスク装置において実際にタイムアウトが発生した場合の処理フローを示すフローチャートである。
【００５８】
上述したように、タイムアウトが発生するとＲＡＩＤシステム１０２がリセットを発行し、ウォッチドッグタイマーが発動する（ステップ６０１〜ステップ６０３）。
【００５９】
ここでタイマーに対して時間内に処理開始できるかを判定する（ステップ６０４）。ステップ６０４で時間内に処理開始できずにウォッチドッグタイマー１０９の割り込み信号１１２が発生した場合、ディスクコントローラ１０８は内部に障害が発生していると判断し、コントローラ内部の論理リブートを行って復旧させる（ステップ６０５）。
【００６０】
そして、ステップ６０５での復旧後に内部リブートを行ったことをエラー情報として格納／照合し（ステップ６０６）、過去の内部リブート発生情報を読み出し、読み出した情報から、内部リブート回数が規定値を超えているか判定する（ステップ６０７）。
【００６１】
ステップ６０７で内部リブート回数が規定値を超えていなければ、内部リブートを行ったとして、上位装置へ内部リブート応答を返す（ステップ６１４）。
【００６２】
ステップ６０７で内部リブート回数が規定値を超えていれば、磁気ディスク装置が正常ではないと判断し、上位装置へ切り離し要求を返して、早期の磁気ディスク交換を促すようにする（ステップ６１５）。
【００６３】
本実施の形態では、ＲＡＩＤ構成を採用しており、１台の磁気ディスク装置１０３を切り離してもデータ処理を継続可能である。且つ磁気ディスク装置１０３の交換によりデータ復旧も可能であるため、処理遅延要因となり得る磁気ディスク装置１０３を切り離すことは、処理遅延防止に非常に有効である。
【００６４】
また、ステップ６０４でリセット処理可能であった場合は、リセット処理を行い（ステップ６０８）、読み出し書き込みヘッドのチェックを行い（ステップ６０９）、ステップ６０９でのヘッドチェックがＯＫかを判定する（ステップ６１０）。
【００６５】
このチェックは図４に示すステップ４０２と同様の方法で、磁気ディスクのシステム管理エリアの所定の位置で全ヘッドに対して行う。
【００６６】
ステップ６１０でのヘッドチェックで問題が検出されれば、正常に読み出し書き込みできないと判断し、そのエラー情報を格納して（ステップ６１１）、上位装置へ切り離し要求を返す（ステップ６１５）。
【００６７】
ステップ６１１では、ヘッドが正常でないことを前提にエラー情報を格納するため、不揮発記録エリアにエラー情報を格納し、格納漏れがないようにする。
【００６８】
また、ステップ６１０でヘッドチェックで問題がなければ、リセット処理を行ったことをエラー情報として格納／照合し（ステップ６１２）、過去の内部リブート発生情報を読み出し、読み出した情報から、図４に示す連続エラー判定を行う（ステップ６１３）。
【００６９】
ステップ６１３で連続エラー判定でも問題がない場合、通常のリセット処理を実行して上位装置へリセット応答を返す（ステップ６１６）。
【００７０】
ステップ６１３で連続エラーと判定された場合、コマンドタイムアウトによるリセット発行の原因は連続エラーのデータ修復処理によるコマンド遅延と判断できるため、上位装置へ該当アドレス付近のリカバリー要求を返す（ステップ６１７）。
【００７１】
これにより、上位装置は当該磁気ディスクのリトライ処理から他の磁気ディスクのデータを上書きするリカバリー処理へ移ることができ、処理遅延を低減できる。
【００７２】
以上のように、本実施の形態では、磁気ディスク装置１０３自身で連続データエラーを検出時に自己チェックを行い処理遅延が懸念される場合、上位装置へ通常のデータエラー応答ではなく自己チェック結果を報告するため、上位装置はエラー状況に応じた対応が可能となる。これは磁気ディスク装置１０３自身やＲＡＩＤ構成によるデータ修復機能の実行中にも適用され、上位装置からの読み出し書き込み要求と競合しても処理遅延を少なくすることができる。
【００７３】
また、磁気ディスク装置１０３にウォッチドッグタイマー１０９を設け、ウォッチドッグタイマー１０９の動作により、リセット信号を受領した時も処理遅延とハングアップを区別して応答し、上位装置に適切な処置を促すことができる。また、リセット信号の受領後にウォッチドッグタイマー１０９を発動するため、最小限の負荷で実行が可能である。
【００７４】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【００７５】
例えば、本実施の形態では、ＳＣＳＩ仕様で説明したが、ＡＴＡ（Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ）、ＳＡＴＡ（Ｓｅｒｉａｌ  Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ）、ＳＡＳ（Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＳＣＳＩ）など他の仕様でも可能である。
【００７６】
また、エラー状況を判定して磁気ディスク装置１０３が決められた応答をする仕様としたが、上位装置との整合を取るために応答を自由に設定可能としたり、一部応答しないようにしてもよい。
【００７７】
また、連続エラー判定は磁気ディスク装置１０３がもつエラー情報での閾値判定としたが、上位装置のもつエラー情報との照合によって判定してもよい。ウォッチドッグタイマー１０９の起点はコマンドタイムアウトによるリセットとなっているが、上位装置のもつ別のリセット手段でも実現可能である。
【産業上の利用可能性】
【００７８】
近年の高記録密度、論理の複雑化した磁気ディスク装置においては、データエラーやハングアップの要因は完全に取り除くことができず、リカバリーする手段は必須である。
【００７９】
本発明はデータエラー時に連続エラー判定を実施することでエラーリトライ処理、修復処理によるコマンド遅延を抑えることができるので、データエラーが発生してもシステムパフォーマンスを劣化させることなく修復できるため、システムパフォーマンスが必要なシステムなどに広く適用可能である。
【００８０】
また、ウォッチドッグタイマーによりシステムタイムアウトにも要因別に適切なリカバリーを行うことができ、磁気ディスク装置と上位装置が連携することでコンピュータシステム全体の動作率を最適化し、性能劣化を防ぎながら非常に高いデータの信頼性が得られるため、高いデータの信頼性が必要となるシステムなどにも広く適用可能である。
【図面の簡単な説明】
【００８１】
【図１】本発明の一実施の形態に係る磁気ディスク装置を搭載したコンピュータシステムの構成を示す構成図である。
【図２】本発明の一実施の形態に係る磁気ディスク装置の読み出し書き込みのデータ処理を説明するためのブロック図である。
【図３】本発明の一実施の形態に係る磁気ディスク装置においてエラーが検出された場合のデータ修復処理の処理フローを示すフローチャートである。
【図４】本発明の一実施の形態に係る磁気ディスク装置の連続エラーを判定する処理の処理フローを示すフローチャートである。
【図５】本発明の一実施の形態に係る磁気ディスク装置のウォッチドッグタイマーの処理フローを示すフローチャートである。
【図６】本発明の一実施の形態に係る磁気ディスク装置において実際にタイムアウトが発生した場合の処理フローを示すフローチャートである。
【符号の説明】
【００８２】
１０１…ＣＰＵ、１０２…ＲＡＩＤシステム、１０３…磁気ディスク装置、１０４…ＲＡＩＤコントローラ、１０５…ＳＣＳＩコントローラ（ＲＡＩＤ側）、１０６…コマンド制御部、１０７…ＳＣＳＩコントローラ（磁気ディスク装置側）、１０８…ディスクコントローラ、１０９…ウォッチドッグタイマー、１１０…エラー情報テーブル、２０１…コマンド実行制御部、２０２…リクエスト競合部、２０３…データスキャン制御部、２０４…データバッファ、２０５…読み出しヘッド、２０６…磁気ディスク（記録媒体）、２０７…書き込みヘッド、２０８…エラー検出／リトライ制御部、２０９…コマンド応答制御部。
【図１】
2010020840.tif 000003
【図２】
2010020840.tif 000004
【図３】
2010020840.tif 000005
【図４】
2010020840.tif 000006
【図５】
2010020840.tif 000007
【図６】
2010020840.tif 000008