複数の磁気ディスク装置と、複数の磁気ディスク装置を接続してミラーリングを構築、制御するミラーリングコントローラ部と、ミラーリングコントローラ部を制御するホスト部とを備えたシステムにおいて、バックグランド動作で、接続されている複数の磁気ディスク装置に対して同時にリードチェックを実行することを特徴とするATI防止機能。前記ATI防止機能において、ミラーリングコントローラ部はリードチェックによりリードエラーとなった片側の磁気ディスク装置の一部のエリアに対して、正常な磁気ディスク装置から同一エリアのデータを読み出してリードエラーとなった片側の磁気ディスク装置の該当エリアにデータをコピーすることを特徴とするATI防止機能。前記従来例の、磁気ディスク装置内部のリフレッシュ機能では、ATIへの対策としては十分ではない。磁気ディスク媒体は、トラックピッチが一定ではなく若干のばらつきがあり、トラックピッチが広い箇所、狭い箇所がある。頻繁に書き込まれているトラックに隣接するトラックのトラックピッチが狭かった場合、磁気ディスク装置内で設定された閾値に達する前に、ATIの侵食がすすんでしまい、データの書き直し動作の最初の読み込み動作の時点でデータが読み出せないほど、既にデータが破壊されていることがある。また、特許文献1に記載されている書き直し方法は、片側ずつの磁気ディスク装置しかデータの読み出しが行われないため、同じ箇所に頻繁にデータ書き込みされ、隣接するトラックが徐々に侵食されているような場合、ATIによってデータが正常に読み出せず書き直しを実施しようとした時には、既にもう片側の磁気ディスク装置も同じようにATIによるデータ破壊が起きており、データの読み出しが出来ないことが考えられ、ATIの対策としては十分ではない。さらに、書き直しが行われるタイミングがホストからのコマンド処理でリードエラーとなった時に実施されるもので、ATIが起こっている範囲が広かった時、または複数箇所でATIが起こっている時その都度書き直しが発生してしまい、システムパフォーマンスを落としてしまうことが考えられる。前述の目的を達成するために、本発明は、複数の磁気ディスク装置と、複数の磁気ディスク装置を接続してミラーリングを構築、制御するミラーリングコントローラと、ミラーリングコントローラを制御するホスト部を備えたシステムで、前記ミラーリングコントローラは前記ホスト部からのリードコマンドやライトコマンドなどがある一定時間無かった時、例えば接続されている磁気ディスク装置が二台であった場合、この二台の磁気ディスク装置に対して、ミラーリングコントローラ制御にてバックグランド動作で二台同時に全データエリアに対してリードチェックを実施し、リードチェック中に二台の磁気ディスク装置の内の一台の磁気ディスク装置において、ある一部のエリアでリードエラーが発生すると、前記ミラーリングコントローラは二台の磁気ディスク装置の内のもう一つの正常な磁気ディスク装置の同一エリアに書き込まれているデータを読み出し、リードエラーが発生した磁気ディスク装置の前記同一エリアにデータを再書き込みすることで、書き込まれているデータを自動修復するように制御したことにある。前述のように、接続されている磁気ディスク装置に対して同時にリードチェックすることで、早期にATIを摘出することが出来る。前述のような構成としたことで、リードチェックでリードエラーになったエリアに対して、正常な磁気ディスク装置よりコピーして再書き込みすることで、リードエラーとなったエリアのデータを回復することが確実に出来る。また、ホスト部からコマンドがあった場合は、前記ミラーリングコントローラで前回までリードチェックを行ったエリアを記録してリードチェックを中断し、ホスト部からのコマンド処理を優先実行させ、コマンドが一定時間無くなった時、前述で記録したエリアの続きからリードチェックを再開することが出来るため、全データエリアに対してまんべんなくリードチェックをすることが出来る。ホストコマンドでエラーがあった時に復旧しているとパフォーマンスに影響するが、本発明ではシステムパフォーマンスに影響を与えず、かつ、復旧しようと思っても読めないといったことがないよう未然にATIのチェックが出来る。以下に、図1から図3を参照し、本発明の一実施形態を説明する。図1は、磁気ディスク装置二台から構成されるミラーリング機能を有する基本的なシステム構成図で、磁気ディスク装置1、磁気ディスク装置2、ミラーリングコントローラ部、ホスト部とから構成されている。図1に示す磁気ディスク装置1と磁気ディスク装置2は、総記憶容量、総セクタ数全てが同一の磁気ディスク装置で、これらの磁気ディスク装置はミラーリングコントローラ部が有するRAID1のミラーリング制御により、同じセクタ、同じトラックに同じデータが記録されている。ミラーリングコントローラ部は、ミラーリングコントローラ部を制御する上位のホスト部から、1台分の仮想的な磁気ディスク装置として認識されている。また、ミラーリングコントローラ部より下位の、磁気ディスク装置1と磁気ディスク装置2を制御しており、それぞれの磁気ディスク装置に対して、磁気ディスク装置1をマスタ、磁気ディスク装置2をミラー、またはその逆で、磁気ディスク装置2をマスタ、磁気ディスク装置1をミラーと設定している。また、磁気ディスク装置の読み書きの制御を行っており、ホスト部よりリードコマンドやライトコマンドが発行されると、磁気ディスク装置1と磁気ディスク装置2に対して同時に実行する。例えば、ホスト部より図1に示すデータ5を上書きする場合、ミラーリングコントローラ部は2台の磁気ディスク装置に対して同時にデータの書き込みを行う。新規のデータ書き込む場合は、2台の磁気ディスク装置の同一エリア、例えば図1に示すような空きエリア11に対して同時にデータの書き込みを行う。ホスト部よりデータ読み込みをする時は、書き込み時と同じようにミラーリングコントローラ部は2台の磁気ディスク装置に対して、同時にデータの読み込みを行う。例えば、図1に示すデータ1を読み出す場合、ミラーリングコントローラ部は2台の磁気ディスク装置に対して、データ1の読み出しを行う。ここで、マスタに設定されている磁気ディスク装置が1側となっていたら、ミラーリングコントローラ部は磁気ディスク装置1のデータ1を正常に読み出せた場合、このデータをホスト部へデータ転送し、磁気ディスク装置2から読み出したデータは読み捨て破棄する。逆に、マスタに設定されている磁気ディスク装置が2側となっていたら、ミラーリングコントローラ部は磁気ディスク装置2のデータ1を読み出し、このデータが正常であればホスト部へデータ転送し、磁気ディスク装置1から読み出したデータは読み捨て破棄する。本ミラーリングコントローラ部は、前述のように磁気ディスク装置1と磁気ディスク装置2に対して、同時に読み書きの制御を行っている。ミラーリングコントローラ部は、2台の磁気ディスク装置にデータ読み込みを行った際、マスタ側の磁気ディスク装置でリードエラーが発生すると、ミラー側の磁気ディスク装置のデータを、ホスト部へデータ転送する。この直後に、ミラーリングコントローラ部は、ミラー側で正常にデータ転送出来たデータをリードエラーとなったマスタ側に再書き込みを行う。例えば、磁気ディスク装置1がマスタ、磁気ディスク装置2がミラーと設定されている構成で、マスタ側のデータ3が正常に読み出せなかった場合、ミラーリングコントローラ部はミラー側のデータ3を使ってホストへデータ転送し、ミラー側のデータ3をマスタ側のデータ3に再書き込みを行う。ミラーリングコントローラ部は、ホスト部からミラーリングコントローラ部、磁気ディスク装置へデータの読み書きなどアクセスがない時に限り、ミラーリングコントローラ部の制御下において磁気ディスク装置へアクセスすることができバックグランド動作、ミラーリング構成の磁気ディスク装置に対して、通常の読み書き動作時と同様2台同時に磁気ディスク装置のリードチェックを行う。図2に、バックグランド動作時のリードチェックのフローチャートを示す。本ミラーリングコントローラ部は、図2でホスト部からの読み書き等のアクセスがn秒間なかったか監視する。この監視は、ホスト部からのアクセスとバックグランド動作のリードチェックとを同時に実行することで、システムパフォーマンスを落とすことがないようホスト部からのアクセスを優先的に処理することが目的で、このアクセスがないことを確認した後バックグランド動作に入る。システムによって磁気ディスク装置へのアクセス頻度が違ってくるため、アクセスの監視時間n秒の設定は変更することが可能となっている。次に、ミラーリングコントローラ部は通常の読み書き動作と同様に、磁気ディスク装置1と磁気ディスク装置2に対して、同時にリードチェックを実行する。このリードチェックは、OSOperatingSystemなどによって書き込まれるようなファイル単位ではなく、磁気ディスク装置の物理セクタ単位でシーケンシャルに実行されるため、2台の磁気ディスク装置の全エリアをまんべんなくリードチェックすることが出来る。このリードチェック中にホスト部からコマンドがあると、それまでチェックしたセクタをミラーリングコントローラ部に記録して、リードチェックを一時中断し、ホスト部からのコマンドを優先的に実行する。ホスト部からのコマンドがアクセスの監視時間n秒間無くなった時、ミラーリングコントローラ部に記録されているセクタの続きから、2台の磁気ディスク装置のリードチェックが再開される。また、リードチェックは先頭セクタから最終セクタまで全エリアがチェックされ、最終セクタのチェックが完了すると、再び先頭セクタに戻りリードチェックが再開される。このリードチェック中、s番目のセクタでリードエラーが発生した時、指定したr回だけリードチェックがリトライされる。例えば、図3に示すように2台の磁気ディスク装置に対してセクタ単位が256セクタと設定しリードチェックしている時に、磁気ディスク装置1のHDD1s番目でリードエラーが発生すると、ミラーリングコントローラ部にて設定している回数だけ、磁気ディスク装置1のHDD1s番目のリードチェックをリトライする。それでもリードエラーとなった場合、磁気ディスク装置1のHDD1s番目のデータ回復を実施する。ミラーリングコントローラ部は、磁気ディスク装置1のHDD1s番目のデータと対となるデータが記録されている磁気ディスク装置2のHDD2s番目のデータを読み出し、記録する。その後、リードエラーとなった磁気ディスク装置1のHDD1s番目に、先ほど読み出した磁気ディスク装置2のHDD2s番目のデータを上書きコピーする。このようにすることで、リードエラーとなった磁気ディスク装置1のHDD1s番目のデータが回復し、システムとしてミラーリング構成を維持することが出来る。前述のように、2台の磁気ディスク装置に対して同時にバックグランド動作でリードチェックを行うことで、ホスト部からのアクセスを邪魔しないためシステムのパフォーマンスを落とすことなくリードチェックをすることができ、早期にATIによりリードエラーとなった箇所を検出、復旧することが出来る。以下に、2つ目の実施形態について説明する。実施例1では、それぞれの磁気ディスク装置の全セクタをリードチェックする機能としたが、ATIはシステムログファイルのような、頻繁に上書きするファイルの隣接トラックで発生しやすい。このため、リードチェックする箇所を頻繁に上書きするファイル近辺に絞り、重点的に実施することも可能とする。例えば、図4に示すミラーリング構成におけるドライブ割り当て図のように、磁気ディスク装置内部はドライブの割り当てがされており、システムログファイルは一般的にOSOperatingSystemにより、Cドライブに格納される。このCドライブが、0セクタから8000000セクタまでで割り当てられていた場合、ミラーリングコントローラ部でリードチェックするエリアを、0セクタから8000000セクタまでと設定し記録させておくことで、Cドライブのみのリードチェックを実施することが出来る。さらに、OSのほかにアプリケーションで、例えば24000001から32000000セクタまでで割り当てられているFドライブにログ情報を頻繁に上書きしていた場合、ミラーリングコントローラ部でリードチェックするエリアを、Cドライブの0セクタから8000000セクタまでの他に、Fドライブの24000001から32000000セクタまでを設定し記録させておくことで、CドライブとFドライブのリードチェックを実施することが出来る。ドライブ割り当てではなく、頻繁に上書きするファイルが格納されているエリアに細かく絞ることも可能とする。全エリアをリードチェック対象とせず、前述のようにユーザでリードチェックが必要と判断し、設定したエリアのみリードチェック対象とすることで、ATIの早期検出が可能となる。以下に、3つ目の実施形態について説明する。実施例1ではリードエラーとなった該当セクタのみデータをコピーする機能としたが、ATIは磁気ディスク装置の物理セクタに関係無くシステムのデータ量に依存するため、データ量が大きい場合リードエラーになったエリアだけでなく、それに続く何セクタにも渡って発生することもある。例えば、図3に示すHDD2s番目、HDD2s1番目にまたがるようなデータを頻繁に上書きしている場合で、磁気ディスク装置2のHDD2s番目でリードエラーがあると、それに続くHDD2s1番目でもATIが発生しており、次のリードチェックですぐリードエラーとなることが考えられる。当然、HDD2s番目の回復処理を実施後、HDD2s1番目でも回復処理が実施される可能性が高い。このため、データ回復時の回復対象エリアをリードエラーとなったエリアだけではなく、その前後のエリアを対象とすることも可能とする。例えば、図3に示す磁気ディスク装置2のHDD2s番目でリードエラーが発生した場合、磁気ディスク装置1のHDD1s-1、HDD1s、HDD1s1番目からデータ読み出し、磁気ディスク装置2のHDD2sとその前後、HDD2s-1、HDD2s1番目へデータを書き込む。このようにリードエラーしたエリアだけでなく、その前後のエリアもデータコピーすることで、効率良くデータ修復をすることが可能となる。