(57)【要約】【課題】磁気ディスク装置自身でデータの自動修復を行う場合、装置の動作率が上昇し、温度上昇などにより装置寿命が短縮するという問題がある。【解決手段】自動修復要求信号１１４が発行され、リクエスト競合部１０６でこれが選択されると、自動修復アドレスレジスタ１０５で示すアドレスよりデータを読み出し（ステップ５０１）、エラーチェックしてエラーがあった場合はデータ修復機能により記録媒体のデータを上書きする（ステップ５０２）。その後、自動修復アドレスレジスタ１０５の値を更新する（ステップ５０３）。一回の自動修復処理要求に対して規定量のデータチェック、データ修復を行い処理終了する。ここで規定量とは、例えば磁気ディスクの１トラックに記録されているデータ量である。また一定周期で自動修復アドレスレジスタ１０５の値を不揮発記憶エリアに退避しておく（ステップ５０４）。【選択図】図５
2007183808.tif 000002
【特許請求の範囲】
【請求項１】
磁気ディスクから読み出したデータのエラー訂正を行い、訂正後のデータを前記磁気ディスクに上書きするデータ修復機能を有する磁気ディスク装置において、上位装置からのコマンド処理の空き時間を利用して、前記磁気ディスクから規定量のデータを読み出して前記データ修復機能によるデータ修復を繰り返し行うことにより、前記磁気ディスクのデータを修復することを特徴とする磁気ディスク装置。
【請求項２】
前記データ修復を一定間隔で行うことを特徴とする請求項１記載の磁気ディスク装置。
【請求項３】
前記規定量は、前記磁気ディスクの１トラックに記録されているデータ量であることを特徴とする請求項１記載の磁気ディスク装置。
【請求項４】
前記データの修復において、訂正不能なエラーを検出した場合、そのエラーアドレスを上位装置から読み出し可能なテーブルに記憶することを特徴とする請求項１記載の磁気ディスク装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は磁気ディスク装置に係り、特に磁気ディスクのデータエラーを自動修復する機能に関する。
【背景技術】
【０００２】
磁気ディスク装置では記憶データにＥＣＣデータを付加して磁気ディスクに記録し、磁気ディスクより読み出した際に記憶データとＥＣＣデータの整合性チェックを行い、不整合が発見された場合は記憶データを修正するＥＣＣエラー訂正機能を有している。また、修正したデータを磁気ディスクに書き戻し、同一データを読み出した時にエラーとならないようにするデータ修復機能も一般的に有している。特許文献１には、記録媒体のレコードから読み取ったデータを中央処理装置に転送すると共にＲＡＭにコピーし、訂正可能な読み取りエラーが検出された場合、前記ＲＡＭにコピーしたデータを訂正し、かつ訂正したデータを読み出して記録媒体の該当レコードを書き直す技術が記載されている。
【０００３】
【特許文献１】特開平６−６７８１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記従来技術によるエラー訂正能力には限界があり、近年の記録密度の上昇により磁気ディスクに傷が生じた時などでは影響範囲が大きくなり、ＥＣＣエラー訂正機能で訂正できない確率が高くなる傾向にある。このため高い信頼性を必要とする場合には磁気ディスク装置を複数用いてＲＡＩＤ構成とし、エラー訂正能力の向上を図っている。この場合でも新たな問題が発生している。それはリビルド失敗という不具合である。これは複数台の磁気ディスク装置で構成しているＲＡＩＤのうち１台が動作不能となった場合にはその１台の磁気ディスク装置の切り離しを行い、不具合の磁気ディスク装置を交換後に残りの磁気ディスク装置からデータ復元するリビルド処理を行うが、リビルド処理中にリビルド元の磁気ディスク装置でデータエラーが発生するとリビルド処理が行えなくなる。つまり、ＲＡＩＤでは１台の磁気ディスク装置のデータエラーは修復可能だが、２台の磁気ディスク装置のデータエラーは修復不可能なためである。
【０００５】
ＲＡＩＤではデータ読み出し時にデータエラーを検出すると、データエラーを検出した磁気ディスク装置以外の磁気ディスク装置のデータからデータ修復して上書きするリカバリを行うが、未使用エリアについては全く読み出しを行わない。これに対してリビルド処理は磁気ディスク装置の全記憶エリアに対して行うため、未使用エリアに対してもリビルド元からのデータ読み出し、データ復元、リビルド先へのデータ書き込みを行う。よって未使用エリアの磁気ディスクにキズなどがあると読み出しがエラーとなり、リビルドが失敗してＲＡＩＤ構成が復元できなくなってしまう。
【０００６】
この問題を対策する手段としてＲＡＩＤ管理ソフトによるコンシステンシーチェック処理を行っている。これは通常の読み出し書き込みの空き時間を利用して磁気ディスク装置のデータを全面読み出しし、ＲＡＩＤを構成する磁気ディスク装置間のデータ整合性をチェックするものであり、磁気ディスク装置からの読み出しがエラーとなった場合および磁気ディスク装置間のデータ不整合が生じた場合に修復するものである。しかしコンシステンシーチェックにも問題がある。それは磁気ディスク装置の全面読み出しを行うため中央処理装置（ＣＰＵ）からの読み出し、書き込みを行う場合のオーバヘッドが大きいという点である。
【０００７】
リビルド失敗を対策する別の手段として考えられるのがオフラインデータコレクションの使用である。これはコマンド処理のない空き時間に磁気ディスク装置自身で全データを読み出し、データエラーを検出した場合はエラー訂正したデータによりエラー修復を行う機能であるが、コマンド処理の空き時間を全面的に利用するため磁気ディスク装置の動作率が高くなり、磁気ディスク装置を構成する部品、特に読み出し書き込みヘッドの温度上昇により経時劣化が促進され、磁気ディスク装置の寿命を短縮するという問題がある。
【０００８】
またコンシステンシーチェックにしてもオフラインデータコレクションにしても、一度起動すれば全データのチェックが可能であるが、これを定期的に行う場合にはＲＡＩＤ管理ソフトなどから定期的に再起動する必要がある。
【０００９】
本発明の目的は、磁気ディスク装置のデータの自動修復を、オーバヘッドが少なく、かつ装置寿命を短縮させることなく行うことである。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明の磁気ディスク装置においては、磁気ディスクから読み出したデータのエラー訂正を行い、訂正後のデータを前記磁気ディスクに上書きするデータ修復機能を有し、上位装置からのコマンド処理の空き時間を利用して、前記磁気ディスクから規定量のデータを読み出して前記データ修復機能によるデータ修復を繰り返し行うことにより、前記磁気ディスクのデータを修復することを特徴とする。
【００１１】
前記データ修復は、一定間隔で行うことが望ましい。
【００１２】
前記規定量は、例えば前記磁気ディスクの１トラックに記録されているデータ量である。
【００１３】
前記データの修復において、訂正不能なエラーを検出した場合、そのエラーアドレスを上位装置から読み出し可能なテーブルに記憶する。
【発明の効果】
【００１４】
本発明によれば、磁気ディスク装置のデータの自動修復を、オーバヘッドが少なく、かつ装置寿命を短縮させることなく行うことができる。
【発明を実施するための最良の形態】
【００１５】
以下、図面を用いて実施例について詳細に説明する。図１は磁気ディスク装置の機能ブロック図である。構成要素としてクロック発生回路であるＯＳＣ１０１、自動修復の実行間隔を示す自動修復間隔レジスタ１０３、自動修復の有効／無効を示す自動修復有効レジスタ１０４、自動修復の起動信号を作成するカウンタ１０２、次に実行すべき自動修復アドレスを保持する自動修復アドレスレジスタ１０５、ＣＰＵからの処理要求と自動修復要求との競合処理を行うリクエスト競合部１０６、リトライ成功時に記録媒体である磁気ディスクに上書きするリトライステップの閾値を保持するリトライ閾値レジスタ１０７、リクエスト競合部で選択された処理を実行するコマンド実行部１０８から成る。
【００１６】
自動修復有効レジスタ１０４が自動修復有効と示している場合にカウンタ１０２が有効となり、ＯＳＣ１０１からのクロック信号１１１を用いて自動修復間隔レジスタ１０３に示す時間間隔で自動修復要求信号１１４を出力する。リクエスト競合処理部１０６ではＣＰＵからの処理要求１１６とカウンタ１０２からの自動修復要求信号１１４の競合を行い、自動修復処理を行っていない時にＣＰＵからの処理要求がきた場合にはＣＰＵからの処理要求を選択し、自動修復処理を行っている時にＣＰＵからの処理要求がきた場合には、自動修復処理を中断した後にＣＰＵからの処理要求を選択する。またＣＰＵからの処理要求がない時に自動修復要求信号１１４が来た場合は自動修復を選択し、ＣＰＵからの処理要求を処理中に自動修復要求信号１１４が来た場合は自動修復処理の実行を待たせ、ＣＰＵからの処理が終了した後に自動修復要求信号１１４を選択する。コマンド実行部１０８ではリクエスト競合部１０６で選択されたコマンド信号１１７に従いコマンド処理を実行制御する。同時に自動修復間隔レジスタ１０３、自動修復有効レジスタ１０４、自動修復アドレスレジスタ１０５、ＣＰＵからの処理要求と自動修復要求との競合処理を行うリクエスト競合部１０６、リトライ閾値レジスタ１０７の制御も行う。なお、コマンド実行部１０８とリクエスト競合部１０６はマイクロコンピュータで実行される機能である。
【００１７】
図２は本実施例の読み出し書き込みのデータ処理ブロック図である。構成要素としてデータを記録する記録媒体（磁気ディスク）２０１、磁気ディスク２０１からデータを読み出す読み出しヘッド２０２、読み出しヘッド２０２からの読み出し信号から記録データを復調する復調回路２０３、復調した読み出しデータを一時記憶するデータバッファ２０４、データバッファ２０４のデータをチェックし、エラーの有無およびエラー訂正を行うエラー検出訂正回路２０５、データバッファ２０４からのデータを磁気ディスク２０１に適したフォーマットに変調する変調回路２０６、記録媒体２０１にデータを書き込む書き込みヘッド２０７、データバッファ２０４のデータをＣＰＵに送出するデータ転送制御部２０８から成る。
【００１８】
図３は本実施例のコマンド実行部１０８により読み出し処理を行う際のデータ修復処理に関する処理を示した処理フロー図である。コマンド実行部１０８では読み出し要求を受けると、まず指定アドレスにシークを行わせる（ステップ３０１）。次に磁気ディスクよりデータを読み出し（ステップ３０２）、データバッファ２０４に一時記憶させた後にエラー検出訂正回路２０５によりエラーチェックを行い（ステップ３０３）、エラーがなければデータ転送制御部２０８によりＣＰＵにデータを送出してコマンド処理を終了する。もしエラーが検出され、且つエラー訂正可能であればエラー検出訂正回路２０５によりエラー訂正を行い、データバッファ２０４の内容を訂正後のデータに更新し、データ転送制御部２０８によりＣＰＵにデータを送出してコマンド処理を終了する。エラー検出訂正回路２０５でエラー訂正不能を検出した場合（ステップ３０４）、リトライ処理を行う（ステップ３０５）。リトライ処理については本発明と直接関係しないので詳細な説明は省略するが、一般的には単純に再読み出ししてみる、ヘッドを記録トラックの左右に微小移動させて再読み出ししてみるなどを行っている。これらのリトライ処理をリトライステップとして管理し、リトライ処理を行ってもエラー訂正可能にならない場合は（ステップ３０６）、次のリトライステップを実行し（ステップ３０７）、最終リトライステップのリトライを行ってもエラー訂正可能とならない場合は（ステップ３０８）、エラー情報を格納して（ステップ３０９）エラー終了する。リトライ処理が成功し（ステップ３０６）、エラー訂正可能となれば訂正後のデータをデータ転送制御部２０８によりＣＰＵにデータを送出してコマンド処理を終了するが、この際にリトライステップを確認し、規定値（リトライ閾値レジスタ１０７で示す閾値）を超えていた場合は（ステップ３１０）、訂正後のデータを磁気ディスクに上書きし（ステップ３１１）、さらにベリファイ処理を行って（ステップ３１２）、次に当該データを磁気ディスクから読み出しする時にエラーとならないように修復しておく。
【００１９】
図４は本実施例の磁気ディスク装置の電源投入時の処理を示した処理フローである。磁気ディスク装置としては自己診断や種々の初期化などがあるが、説明を簡単にするため本実施例に関する部分のみを示している。電源投入時には自動修復有効レジスタ１０４をリセット（無効）し（ステップ４０１）、自動修復間隔レジスタ１０３、リトライ閾値レジスタ１０７に規定値をセットし（ステップ４０２）、不揮発記憶エリアに退避していた値を自動修復アドレスレジスタ１０５に復元した（ステップ４０３）後、自動修復有効レジスタ１０４をセット（有効）する。これ以降は図１に示すカウンタ１０２から自動修復要求信号１１４が一定周期で発行され、磁気ディスク２０１からデータを読み出してエラーチェックし、データ修復機能により磁気ディスク２０１のデータエラーを修復していく。
【００２０】
図５は自動修復処理の処理を示す処理フローである。自動修復要求信号１１４が発行され、リクエスト競合部１０６でこれが選択されると、自動修復アドレスレジスタ１０５で示すアドレスよりデータを読み出し（ステップ５０１）、エラーチェックしてエラーがあった場合はデータ修復機能により記録媒体のデータを上書きする（ステップ５０２）。その後、自動修復アドレスレジスタ１０５の値を更新する（ステップ５０３）。一回の自動修復処理要求に対して規定量のデータチェック、データ修復を行い処理終了する。ここで規定量とは、例えば磁気ディスクの１トラックに記録されているデータ量である。また一定周期で自動修復アドレスレジスタ１０５の値を不揮発記憶エリアに退避しておく（ステップ５０４）。これは電源切断し、次に電源投入した際に自動修復が完了したアドレスから継続して処理を行わせるためである。
【００２１】
図６は本実施例の自動修復機能を制御するための磁気ディスク装置に対する追加コマンド仕様である。本実施例ではＡＴＡコマンドを使用するものとし、SET FEATUREコマンドに図６に示すサブコマンドを拡張して、自動修復有効レジスタ１０４、自動修復間隔レジスタ１０５、リトライ閾値レジスタ１０７をＣＰＵから制御可能とし、よりきめの細かな自動修復を行えるようにしている。
【００２２】
図７は本実施例の効果を説明した図である。磁気ディスクから連続的にデータを読み出し、エラー修復した場合には磁気ディスク装置の温度、特に読み出し書き込みヘッドの温度上昇が大きい。このため経時劣化が促進され、磁気ディスク装置の寿命を短縮するという問題があった。これに対し、本実施例により間欠的にデータを読み出し、エラー修復した場合には、データ読み出し／エラー修復を行っている時間帯は温度上昇するが、休息時間帯で温度が低下するので、最高温度を下げることができる。これは自動修復機能を追加したことによる温度上昇の増分を低く抑えることであり、経時劣化を抑制し、磁気ディスク装置の寿命の短縮を軽減する効果がある。
【００２３】
次に、他の実施例について説明する。本実施例では磁気ディスク装置自身で行った自動修復の結果、訂正不能なエラーを検出した場合にそのエラーアドレスを一時記憶し、上位装置からエラーアドレスを読み出せるようにするものである。図８は本実施例の訂正不能アドレスを一時記憶するテーブル仕様である。本実施例ではテーブルのエントリ数は１００であり、１エントリのデータ長は現在のＡＴＡ仕様でのアドレス長に合わせて６バイトとしている。またこのエラーテーブルはエントリＮＯ１から使用することとしている。本実施例ではエントリＮＯ３までエラーアドレスが一時記憶されている。図９は本実施例の前記エラーテーブルを読み出すための磁気ディスク装置に対する追加コマンド仕様であり、図１０はこの追加コマンドを使用してＣＰＵがエラーテーブルを読み出す手順を示したフローである。まず図６に示す追加コマンドの「自動修復有効レジスタをリセット」を実行し（ステップ１００１）、自動修復機能を一時的に無効化する。次に図９の「最終エントリＮＯの読み出し」を行う（ステップ１００２）。当コマンドでは５１２バイトのデータ読み出しをＰＩＯモードで行い、その先頭に最終エントリＮＯが格納されているので、これを確認し（ステップ１００３）、これがゼロであれば「自動修復有効レジスタをセット」を実行し（ステップ１００７）、自動修復機能を有効にする。最終エントリＮＯが１以上であれば「エラーテーブルの読み出し」を行う（ステップ１００４）。当コマンドでは５１２バイトのデータ読み出しをＰＩＯモードで行う。エラーアドレスはその先頭から５１０バイトにわたって８５エントリ分が格納されている。次に最終エントリまでエラーアドレスを読み込んだか判定し（ステップ１００５）、まだ読み込むべきエラーアドレスが残っている場合は再度「エラーテーブルの読み出し」を行う。これにより次の８５エントリ分のエラーアドレスが読み込める。本実施例ではエラーアドレスは３エントリ分しかないので、１回の「エラーテーブルの読み出し」ですべてのエラーアドレスが読み込まれる。その後「最終エントリＮＯのクリア」を行い（ステップ１００６）、図８に示すエラーテーブルをクリアする。最後に「自動修復有効レジスタをセット」を実行し（ステップ１００７）、自動修復機能を有効にする。
【００２４】
本エラーアドレステーブルを有効に活用できる一例として、磁気ディスク装置をＲＡＩＤ構成で使用する場合が挙げられる。ＲＡＩＤ構成のそれぞれの磁気ディスク装置のエラーアドレステーブルを読み出し、エラーアドレスのデータはＲＡＩＤを構成する他の磁気ディスク装置のデータから復元し、ＣＰＵから当該磁気ディスク装置に書き込むことで、自動修復機能によりエラー訂正できなかったデータに対しても正しく復元ができ、データの信頼性を飛躍的に向上することができる。
【００２５】
以上説明した実施例ではＡＴＡ仕様で説明したが、ＳＣＳＩ仕様でも可能である。また自動修復要求は一定間隔としたが、連続でなければそれ以外でもよい。たとえばランダムな間隔でもよい。また電源投入により自動修復機能が有効となる構成となっているが、ＣＰＵからのコマンドで有効にする形態でもよい。自動修復を制御するためのコマンドやエラーテーブルをＣＰＵが取得するためのコマンドの仕様は上記以外でもよいことは当然である。
【００２６】
上記実施例によれば、データの自動修復処理を間欠的に実施することで動作率の上昇を抑えることができるので、磁気ディスク装置の寿命劣化を招くことなく非常に高いデータの信頼性が得られる。また、近年の高記録密度となった磁気ディスク装置においても自らデータチェックを行い、誤りがあれば訂正して記録媒体に再書込みしているので高いデータの信頼性を確保できる。特にＲＡＩＤ構成で磁気ディスク装置を使用する場合には、磁気ディスク装置でのエラー訂正ができない場合でもＲＡＩＤを構成している他の磁気ディスク装置のデータから復元できるので非常に高いデータの信頼性が得られる。
【図面の簡単な説明】
【００２７】
【図１】実施例による磁気ディスク装置の機能ブロック図である。
【図２】実施例による磁気ディスク装置の読み出し書き込みのデータ処理ブロック図である。
【図３】実施例による磁気ディスク装置のデータ修復処理に関する処理フロー図である。
【図４】実施例による磁気ディスク装置の電源投入時の処理を示す処理フロー図である。
【図５】実施例による磁気ディスク装置の自動修復処理の処理を示す処理フロー図である。
【図６】実施例による自動修復機能を制御するための追加コマンド仕様を示す図である。
【図７】実施例の効果を説明するための図である。
【図８】他の実施例による訂正不能アドレスを一時記憶するテーブル仕様を示す図である。
【図９】他の実施例によるエラーテーブルを読み出すための追加コマンド仕様を示す図である。
【図１０】他の実施例によるエラーテーブルを読み出す処理フロー図である。
【符号の説明】
【００２８】
１０１…クロック発生回路、１０２…カウンタ、１０３…自動修復感覚レジスタ、１０４…自動修復有効レジスタ、１０５…自動修復アドレスレジスタ、１０６…リクエスト競合部、１０７…リトライ閾値レジスタ、１０８…コマンド実行部、１１１…クロック信号、１１４…自動修復要求信号、１１６…ＣＰＵからの処理要求、１１７…コマンド信号、２０１…記録媒体（磁気ディスク）、２０２…読み出しヘッド、２０３…復調回路、２０４…データバッファ、２０５…エラー検出訂正回路、２０６…変調回路、２０７…書き込みヘッド、２０８…データ転送制御部。
【図１】
2007183808.tif 000003
【図２】
2007183808.tif 000004
【図３】
2007183808.tif 000005
【図４】
2007183808.tif 000006
【図５】
2007183808.tif 000007
【図６】
2007183808.tif 000008
【図７】
2007183808.tif 000009
【図８】
2007183808.tif 000010
【図９】
2007183808.tif 000011
【図１０】
2007183808.tif 000012