(57)【要約】【課題】  物理記憶デバイスへのデータ書き込み時や、時間経過後のデータの改竄などのデータ異常を検出することのできるストレージ装置を提供する。【解決手段】  ストレージ装置において、ホストインタフェースアダプタ部２と、ストレージインタフェースアダプタ部３と、データを一時的に記憶するキャッシュメモリ部４と、ホストインタフェースアダプタ部２、ストレージインタフェースアダプタ部３、キャッシュメモリ部４を接続するスイッチ部５と、物理記憶デバイス６への書き込みデータに基づいた圧縮データを生成する圧縮データ回路部３０と、圧縮データ回路部３０で生成された圧縮データを保存する圧縮データ保存部２０とを備え、圧縮データ回路部３０は、物理記憶デバイス６からのデータの読み出し時に、読み出しデータを圧縮し、その圧縮データと、圧縮データ保存部２０に保存された読み出しデータに対応する圧縮データとを比較し、データ不正を検出する。【選択図】  図１
2006251960.tif 000002
【特許請求の範囲】
【請求項１】
上位装置との間でデータ転送を制御する複数のホストインタフェースアダプタ部と、
複数の物理記憶デバイスとの間でデータ転送を制御するディスクインタフェースアダプタ部と、
前記データを一時的に記憶するキャッシュメモリ部と、
前記ホストインタフェースアダプタ部、前記ディスクインタフェースアダプタ部、前記キャッシュメモリ部を接続するスイッチ部と、
前記物理記憶デバイスへの書き込みデータに基づいた圧縮データを生成する圧縮データ回路部と、
前記圧縮データ回路部で生成された前記圧縮データを保存する圧縮データ保存部とを備え、
前記圧縮データ回路部は、前記物理記憶デバイスからのデータの読み出し時に、その読み出しデータを圧縮し、その圧縮データと、前記圧縮データ保存部に保存された読み出しデータに対応する圧縮データとを比較し、データ不正を検出することを特徴とするストレージ装置。
【請求項２】
請求項１記載のストレージ装置において、
前記圧縮データは、前記書き込みデータまたは前記読み出しデータに基づいて不可逆圧縮されたデータであることを特徴とするストレージ装置。
【請求項３】
請求項２記載のストレージ装置において、
前記不可逆圧縮されたデータは、前記書き込みデータまたは前記読み出しデータを複数バイトごとに排他論理和演算したデータであることを特徴とするストレージ装置。
【請求項４】
請求項１記載のストレージ装置において、
前記圧縮データ保存部は、不揮発メモリデバイス、または前記物理記憶デバイスより小さい容量の物理記憶デバイスから構成されることを特徴とするストレージ装置。
【請求項５】
請求項１記載のストレージ装置において、
前記圧縮データ保存部は、前記スイッチ部に接続され、前記スイッチ部を介して、前記物理記憶デバイスへの書き込みデータに基づいた圧縮データを保存することを特徴とするストレージ装置。
【請求項６】
請求項１記載のストレージ装置において、
前記圧縮データ回路部は、前記物理記憶デバイスへの書き込みデータに基づいた圧縮データを、前記物理記憶デバイスごとに生成することを特徴とするストレージ装置。
【請求項７】
請求項１記載のストレージ装置において、
前記複数の物理記憶デバイスは、冗長パリティを生成する冗長構成を構成し、
前記圧縮データ回路部により、前記データ不正が検出されると、前記データ不正が検出されたデータ以外の前記冗長構成のデータを用いて、前記データ不正が検出されたデータが復元されることを特徴とするストレージ装置。
【請求項８】
請求項１記載のストレージ装置において、
前記ストレージ装置を２台以上接続し、前記ストレージ装置間でのリモートコピーを行う際、リモートコピー元の前記ストレージ装置から、前記圧縮データ保存部に保存された圧縮データを送信し、リモートコピー先のストレージ装置では、前記リモートコピー元のストレージ装置から送信された圧縮データと、前記リモートコピーにより書き込むデータの圧縮データとを比較し、データ不正を検出することを特徴とするストレージ装置。
【請求項９】
請求項８記載のストレージ装置において、
前記データ不正が検出されると、前記リモートコピー元のストレージ装置から前記リモートコピーのデータおよび前記圧縮データ保存部に保存された圧縮データを再送信することを特徴とするストレージ装置。
【請求項１０】
請求項８記載のストレージ装置において、
前記リモートコピー元のストレージ装置から送信する前記圧縮データを暗号化することを特徴とするストレージ装置。
【請求項１１】
請求項１記載のストレージ装置において、
前記圧縮データ保存部は、前記圧縮データ回路部で生成された圧縮データを２世代以上保存し、前記２世代以上の圧縮データに基づいて抽出された差分データを前記圧縮データ回路部で生成された圧縮データに関連づけて保存することを特徴とするストレージ装置。
【請求項１２】
請求項１１記載のストレージ装置において、
前記物理記憶デバイスにミスデータが書き込まれた際、前記圧縮データ保存部に保存された差分データに基づいて、前記圧縮データ回路部で生成された圧縮データが保存された古い世代のデータに復元することを特徴とするストレージ装置。
【請求項１３】
請求項１記載のストレージ装置において、
前記圧縮データ回路部は、前記物理記憶デバイスへの２重書きする書き込みデータに基づいた圧縮データを生成して、前記圧縮データ保存部に保存し、前記２重書きされたデータが２重読み出しされる際、前記２重読み出しするデータのそれぞれの圧縮データと、前記圧縮データ保存部に保存された読み出しデータに対応する圧縮データとを比較し、データ不正を検出することを特徴とするストレージ装置。
【請求項１４】
請求項１３記載のストレージ装置において、
前記圧縮データ回路部により、前記データ不正が検出されると、前記２重書きされたデータの内、前記データ不正が検出されていないデータを用いて、前記データ不正が検出されたデータが復元されることを特徴とするストレージ装置。
【請求項１５】
請求項１記載のストレージ装置において、
前記圧縮データ回路部は、前記ホストインタフェースアダプタ部内および前記ディスクインタフェースアダプタ部内に実装されることを特徴とするストレージ装置。
【請求項１６】
請求項１５記載のストレージ装置において、
前記圧縮データ回路部は、前記物理記憶デバイスへの書き込みデータに基づいた圧縮データを、前記ホストインタフェースアダプタ部および前記ディスクインタフェースアダプタ部の接続ポートごとに生成することを特徴とするストレージ装置。
【請求項１７】
請求項１５記載のストレージ装置において、
前記圧縮データ保存部は、前記ホストインタフェースアダプタ部および前記ディスクインタフェースアダプタ部に接続され、前記ホストインタフェースアダプタ部および前記ディスクインタフェースアダプタ部内に実装された前記圧縮データ回路部からの圧縮データを保存することを特徴とするストレージ装置。
【請求項１８】
請求項１６記載のストレージ装置において、
前記ホストインタフェースアダプタ部の接続ポートまたは前記ディスクインタフェースアダプタ部の接続ポートに複数の外部接続の前記ストレージ装置を接続し、
前記複数の外部接続のストレージ装置により、冗長パリティを生成する冗長構成を構成し、
前記圧縮データ回路部により、前記データ不正が検出されると、前記データ不正が検出されたデータ以外の前記冗長構成のデータを用いて、前記データ不正が検出されたデータが復元されることを特徴とするストレージ装置。
【請求項１９】
請求項１６記載のストレージ装置において、
前記ホストインタフェースアダプタ部の接続ポートまたは前記ディスクインタフェースアダプタ部の接続ポートに外部接続の前記ストレージ装置を接続し、
前記圧縮データ回路部により、前記データ不正が検出されると、前記データ不正の検出情報を、前記外部接続のストレージ装置に送信することを特徴とするストレージ装置。
【請求項２０】
請求項１６記載のストレージ装置において、
前記ストレージ装置を２台以上接続し、前記ストレージ装置間でのリモートコピーを行う際、リモートコピー元の前記ストレージ装置から、前記圧縮データ保存部に保存された前記圧縮データを送信し、リモートコピー先の前記ストレージ装置では、リモートコピー元の前記ストレージ装置から送信された圧縮データと、リモートコピーにより書き込むデータの圧縮データとを比較し、データ不正を検出することを特徴とするストレージ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置に関し、特に、物理記憶デバイスに書き込まれるデータのデータ不正やデータ改竄などによるデータ異常の検出に適用して有効な技術に関するものである。
【背景技術】
【０００２】
従来、ストレージ装置において、物理記憶デバイスに書き込まれるデータの異常は、ベリファイチェックにより検出していた。
【０００３】
また、通信回線を介して伝送される通信データの改竄を圧縮データを用いて検出する技術があった（例えば、特許文献１参照）。
【特許文献１】特開２００１−１１１４３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来のベリファイチェックによる検出では、データが正常と判定された場合でも、物理記憶デバイスに書き込まれたデータが異常となる場合があり、確実なデータ異常のチェックができなかった。
【０００５】
例えば、ベリファイチェックは、ホストコンピュータなどからの書き込みコマンドによる書き込みデータと、書き込み処理後に、そのデータを読み取り、書き込みデータと読み取ったデータを比較することにより、データ異常を検出しているが、データを読み取る際、ディスクキャッシュのデータがヒットするデータとなる場合があり、その場合は、ディスクキャッシュのデータは正常なデータであり、物理記憶デバイスに書き込まれた時にデータが異常となっても、ベリファイチェックの結果では正常の判断をしてまっていた。
【０００６】
また、このような物理記憶デバイスに書き込まれた時にデータが異常となる要因としては、例えば、以下の示すような場合があり、ベリファイチェックだけでは、そのデータ異常を完全に検出することはできなかった。
【０００７】
（１）物理記憶デバイス内部での媒体部への書込み空振り
例えば、物理記憶デバイスのヘッド部の故障により、データの書き込み時に正常に書き込みできず、空振りしてしまった場合である。
【０００８】
（２）媒体部へ書き込みアドレス間違い
例えば、物理記憶デバイスのセレクタ部の故障により、データの書き込み時のアドレスを間違い、間違ったアドレスに書き込みデータを書き込んでしまった場合である。
【０００９】
（３）旧データの書き込み
例えば、物理記憶デバイスのバッファの故障、セレクタの故障、チップイネーブル制御信号の故障により、データの書き込み時のデータではなく、バッファに記憶されていた古い前のデータが、新しい次のデータに更新されずに、古いデータのまま書き込んでしまった場合である。
【００１０】
また、物理記憶デバイスにデータが書き込まれた後に、ホストコンピュータなどからがアクセスしていない時間中などに物理記憶デバイスに対して、直接データの改竄が行われる場合も考えられ、時間経過後のデータ不正については、ベリファイチェックでのチェックはできず、時間経過後にその改竄されたデータが読み取られても、そのまま正常なデータとして処理されてしまっていた。
【００１１】
これは、例えば、物理記憶デバイスへのデータの改竄、通信経路の成りすましなどによるデータの書き換えや前のデータとの交換、ディスクマップの改竄などである。
【００１２】
このようなデータの改竄などは、書き込み時のベリファイチェックでは、そのデータ不正を確認できず、その後に、チェックすることもできないため、問題となっていた。
【００１３】
また、マスタとバックアップの２重書きを行っている時に、そのどちらかのデータが入れ替えられたりして、データが異常となっていた場合では、マスタとバックアップのデータが異なってしまうが、どちらのデータが正常なデータを確認することはできなかった。
【００１４】
また、特許文献１記載の技術においても、通信回線を介して伝送される通信データの改竄を検出することはできるが、通信回線を介して伝送されたデータが、物理記憶デバイスに書き込まれた際のデータの異常を検出することはできなかった。
【００１５】
そこで、本発明の目的は、物理記憶デバイスへのデータ書き込み時や、時間経過後のデータの改竄などのデータ異常を検出することのできるストレージ装置を提供することにある。
【課題を解決するための手段】
【００１６】
本発明によるストレージ装置は、上位装置との間でデータ転送を制御する複数のホストインタフェースアダプタ部と、複数の物理記憶デバイスとの間でデータ転送を制御するディスクインタフェースアダプタ部と、データを一時的に記憶するキャッシュメモリ部と、ホストインタフェースアダプタ部、ディスクインタフェースアダプタ部、キャッシュメモリ部を接続するスイッチ部と、物理記憶デバイスへの書き込みデータに基づいた圧縮データを生成する圧縮データ回路部と、圧縮データ回路部で生成された圧縮データを保存する圧縮データ保存部とを備え、圧縮データ回路部は、物理記憶デバイスからのデータの読み出し時に、その読み出しデータを圧縮し、その圧縮データと、圧縮データ保存部に保存された読み出しデータに対応する圧縮データとを比較し、データ不正を検出するものである。
【発明の効果】
【００１７】
本発明によれば、データ不正を検出するためのデータを少なくすることができる。また、冗長パリティコードを生成するＲＡＩＤ構成があれば、検出したデータ不正を訂正し、不正となったデータを復元することができる。
【００１８】
また、時間が経過して読み出されるデータであってもデータ信頼性を確認することが可能であり、時間が経過して、アクセスが無いデータであっても、現在保存されているデータに不正が無いかを定期的に確認することができる。
【００１９】
また、外部接続された他社デバイスに対しても、データ不正がないかを監視する機能を提供することができ、外部接続された他のデバイスを冗長構成とすることにより、データを復元することができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００２１】
（実施の形態１）
＜ストレージ装置の構成＞
図１により本発明の実施の形態１に係るストレージ装置の構成について説明する。図１は本発明の実施の形態１に係るストレージ装置の構成を示す構成図である。
【００２２】
図１において、ストレージ装置１０は、ホストインタフェースアダプタ部２、ストレージインタフェースアダプタ部（ディスクインタフェースアダプタ部）３、キャッシュメモリ部４、スイッチ部５、物理記憶デバイス６、サービスプロセッサ部７、圧縮データ保存部２０、ホストインタフェースアダプタ部２およびストレージインタフェースアダプタ部３内に設けられた圧縮データ回路部３０から構成されている。
【００２３】
ホストインタフェースアダプタ部２は、ホストコンピュータ（上位装置）１からのデータをネットワークＣＮ−１を介して受信し、スイッチ部５を介してキャッシュメモリ部４へ書き込む。
【００２４】
ストレージインタフェースアダプタ部３はキャッシュメモリ部４へ、ホストインタフェースアダプタ部２から書き込まれたデータを、接続する各ポートの物理記憶デバイス６への特定マッピングに合わせてアドレスを決定し、物理記憶デバイス６へ転送し、物理記憶デバイス６への格納の終了を確認する。場合によっては書き込まれたデータをもう一度読み出しデータを比較する。
【００２５】
また、ホストインタフェースアダプタ部２は、ホストコンピュータ１からのデータをスイッチ部５に２重書きコマンドを指示することで、２つのキャッシュメモリ部４にデータを転送することができる。それぞれのキャッシュメモリ部４の同じデータは、ストレージインタフェースアダプタ部３をより別々の複数の物理記憶デバイス６からなる論理デバイスへ格納されることが可能である。
【００２６】
サービスプロセッサ部７は、ストレージ装置１０を保守・管理するために用いられるコンピュータである。
【００２７】
圧縮データ保存部２０は、スイッチ部５に接続され、物理記憶デバイス６と接続するストレージインタフェースアダプタ部３、またはリモートコピー等で接続するホストインタフェースアダプタ部２から保存される圧縮データを回収する。なお、圧縮データ保存部２０は、スイッチ部５に接続するのではなく、直接ストレージインタフェースアダプタ部３およびホストインタフェースアダプタ部２に接続し、圧縮データを回収するようにしてもよい。
【００２８】
圧縮データ保存部２０は、圧縮データ回路部３０により、生成された圧縮データを保存するものであり、例えば、不揮発メモリや、高性能で信頼性の高いＨＤＤなどの物理記憶ディスクで構成され、保存する圧縮データについては、データの異常やデータ改竄などが発生しないように管理されるようになっている。
【００２９】
また、圧縮データ保存部２０を不揮発メモリで構成した場合では、データの信頼性を高くすることができ、可動部がないため故障の発生が少ないなどのメリットがあり、圧縮データ保存部２０をＨＤＤなどのディスクで構成した場合では、不揮発メモリに比べて、多くの圧縮データを保存でき、データの書き込み速度も速く、データの処理速度が速くなるメリットがある。
【００３０】
また、圧縮データ保存部２０の構成にかかわらず、物理記憶デバイス６への書き込みデータそのものではなく、その圧縮データを書き込むため、その容量は少なくてもよく、不揮発メモリやＨＤＤなどの物理記憶ディスクのどちらにおいても、記憶容量は小さいが性能の良い構成や、完全なエラー訂正を行う構成などにすることが可能であり、圧縮データ保存部２０へ保存されるデータの信頼性を高めることができる。
【００３１】
また、ストレージ装置１０は、内部接続の物理記憶デバイス６だけではなく、ホストインタフェースアダプタ部２やストレージインタフェースアダプタ部３を介して、外部接続デバイスとなる外部接続のストレージ装置１０が接続可能である。
【００３２】
また、ストレージインタフェースアダプタ部３に接続されたスイッチ装置９を介して外部接続デバイスとなる外部接続のストレージ装置１０が接続可能である。
【００３３】
＜圧縮データ回路部の構成＞
次に、図２および図３により、本発明の実施の形態１に係るストレージ装置の圧縮データ回路部の構成について説明する。図２は本発明の実施の形態１に係るストレージ装置のホストインタフェースアダプタ部およびストレージインタフェースアダプタ部の構成を示す構成図、図３は本発明の実施の形態１に係るストレージ装置のホストインタフェースアダプタ部およびストレージインタフェースアダプタ部内の圧縮データ回路部の構成を示す構成図である。
【００３４】
図２において、ホストインタフェースアダプタ部２およびストレージインタフェースアダプタ部３は、インタフェース制御部５０１、データ転送制御部５０２、マイクロプロセッサ部５１０、マイクロプロセッサ部５１０内のローカルメモリ部５１１から構成され、データ転送制御部５０２は、アドレスコマンド解析／生成部５５０、ＤＭＡ制御部／制御レジスタ５５１、圧縮生成回路部５５２、圧縮データ比較回路部５５３から構成されている。
【００３５】
圧縮データ回路部３０は、データ転送制御部５０２内の圧縮生成回路部５５２および圧縮データ比較回路部５５３から構成されている。
【００３６】
ホストインタフェースアダプタ部２およびストレージインタフェースアダプタ部３は、マイクロプロセッサ部５１０による処理により、インタフェース制御部５０１およびデータ転送制御部５０２が制御され、ホストコンピュータ１や物理記憶デバイス６との間のデータ転送やスイッチ部５を経由した圧縮データ保存部２０へのデータ転送などの処理を行っている。
【００３７】
図３において、圧縮データ回路部３０の圧縮生成回路部５５２は、圧縮演算部５６０および演算メモリ５６１から構成され、圧縮データ比較回路部５５３は、比較演算部５７０および演算メモリ５７１から構成されている。
【００３８】
圧縮生成回路部５５２は、圧縮演算部５６０および演算メモリ５６１により、インタフェース制御部５０１からの書き込みデータを圧縮し、その結果をスイッチ部５を経由して圧縮データ保存部２０へ転送し、圧縮データ保存部２０に圧縮演算した圧縮データを保存する。
【００３９】
圧縮データ比較回路部５５３は、比較演算部５７０および演算メモリ５７１により、インタフェース制御部５０１からの読み出しデータの圧縮データと圧縮データ保存部２０に保存された圧縮データを比較し、圧縮データが一致するかを判断する。
【００４０】
＜ストレージ装置の動作の概要＞
次に、図４により、本発明の本発明の実施の形態１に係るストレージ装置の動作の概要について説明する。図４は、本発明の実施の形態１に係るストレージ装置の動作の概要を説明するための説明図である。
【００４１】
図４に示すように、まず、従来では、上述のように、書き込みデータに対して、ベリファイチェックを行っても、ベリファイチェックの結果では正常にもかかわらず、物理記憶デバイスに書き込まれたデータが異常となる場合があり（Ｓ１００）、本実施の形態では、データの書き込み時に、圧縮生成回路部５５２により、書き込みデータに対して圧縮演算を行い、圧縮演算された圧縮データを、物理記憶デバイス６とは異なる圧縮データ保存部２０に保存する（Ｓ１０１）。
【００４２】
そして、ユーザデータ改竄（不正）される場合、そのデータの読み出し時に、圧縮データ比較回路部５５３により、データ改竄（不正）されたデータの圧縮データを比較し、相違することでデータ不正を検出し、その不正データは、例えば、ＲＡＩＤ技術などを用いて回復することが可能である（Ｓ１０２）。
【００４３】
また、圧縮データを用いたデータの改竄（不正）の検出は、データの読み出し時だけではなく、定期診断の時などに、物理記憶デバイス６に記憶されたデータの全てのデータに対して行うことも可能である。
【００４４】
＜圧縮のアルゴリズム＞
次に、図５により、本発明の実施の形態１に係るストレージ装置の圧縮アルゴリズムの一例について説明する。図５は発明の実施の形態１に係るストレージ装置の圧縮アルゴリズムの一例を説明するための説明図である。
【００４５】
本実施の形態では、図５に示すように、例えば、５１２Ｂｙｔｅごとのデータを、２５６Ｂｙｔｅ×２のデータとして、４ＢｙｔｅずつＥＯＲ演算を繰り返し、１６Ｂｙｔｅ×２のデータとして圧縮データを生成している。
【００４６】
従って、生成された圧縮データにより、５１２Ｂｙｔｅごとのデータ不正を検出することが可能である。
【００４７】
また、この圧縮データは５１２Ｂｙｔｅのデータが不正か否かを判断するためのデータであり、ＥＯＲ演算により、不可逆圧縮を行い５１２Ｂｙｔｅのデータの不正検出のためのデータを３２Ｂｙｔｅのデータのみで行うことができるようになっている。
【００４８】
このため、圧縮データのデータ容量を低減することができ、圧縮データを保存する圧縮データ保存部２０の容量を少なくすることができ、より高性能で信頼性の高い、ディスクやメモリを使用することが可能となる。
【００４９】
＜圧縮データの保存および照合の動作＞
次に、図６および図７により、本発明の実施の形態１に係るストレージ装置の圧縮データの保存および照合の動作について説明する。図６は本発明の実施の形態１に係るストレージ装置の圧縮データの保存の動作を示すフローチャート、図７は本発明の実施の形態１に係るストレージ装置の圧縮データの照合の動作を示すフローチャートである。
【００５０】
まず、ストレージ装置の圧縮データの保存の動作としては、図６に示すように、まず、ホストインタフェースアダプタ部２が、ホストコンピュータ１やサーバなどからのライトデータを受信し（Ｓ７０１）、メモリアドレスを決定し（Ｓ７０２）、テーブルエントリ処理を行い（Ｓ７０３）、キャッシュメモリライト処理を行う（Ｓ７０４）。
【００５１】
そして、ホストコンピュータ１やサーバなどへ完了通知を送信し（Ｓ７０５）、ストレージインタフェースアダプタ部３へ通知する（Ｓ７０６）。
【００５２】
そして、ストレージインタフェースアダプタ部３では、物理記憶デバイス６に対するアドレスを決定し（Ｓ７０７）、デステージング処理を行い物理記憶デバイス６への書き込みを行う（Ｓ７０８）。
【００５３】
また、Ｓ７０８でのデステージング処理と並行して圧縮データを生成し、圧縮データ保存部２０へ保存する（Ｓ７０９）。
【００５４】
そして、Ｓ７０８でのデステージングとＳ７０９での圧縮データ格納が終了したか否かを判断し（Ｓ７１０）、Ｓ７１０で未終了と判断されるとＳ７１０に戻り、Ｓ７１０で終了と判断されると、ライトデータのエントリを削除するテーブル更新を行い（Ｓ７１１）、ライトデータに対するキャッシュメモリのエリアフリー化を行い（Ｓ７１２）、終了する。
【００５５】
また、ストレージ装置１０の圧縮データの照合の動作としては、図７に示すように、まず、ホストコンピュータ１側でファイルアロケート検索を行い（Ｓ７５０）、リードコマンドを送信する（Ｓ７５１）。
【００５６】
そして、ホストインタフェースアダプタ部２がそのリードコマンドを受信し（Ｓ７５２）、アドレス、テーブルを検索する（Ｓ７５３）。
【００５７】
そして、リードコマンドに対して、キャッシュメモリヒットか否かを判定し（Ｓ７５４）、Ｓ７５４でキャッシュミスと判断されると、ストレージインタフェースアダプタ部３へ通知し（Ｓ７５５）、アドレスを算出し（Ｓ７５６）、ステージング処理を行い物理記憶デバイス６からの読み出しを行い（Ｓ７５７）、圧縮データの演算を行う（Ｓ７５８）。
【００５８】
また、Ｓ７５７でのステージング処理と並行して、圧縮データ格納アドレスを検索し（Ｓ７５９）、圧縮データを読み込む（Ｓ７６０）。
【００５９】
そして、Ｓ７５８で演算された圧縮データとＳ７６０で読み込まれた圧縮データを照合し（Ｓ７６１）、Ｓ７６１で照合がＯＫであれば、リードデータを送信し（Ｓ７６４）、終了する。
【００６０】
また、Ｓ７６１で照合がＮＧであれば、ＲＡＩＤ技術などを用いてデータを復元を行い（Ｓ７６２）、物理記憶デバイス６へ復元したデータを書き込み（Ｓ７６３）、リードデータを送信し（Ｓ７６４）、終了する。
【００６１】
また、Ｓ７５４でキャッシュヒットと判断されると、リードデータを送信し（Ｓ７６４）、終了する。
【００６２】
＜圧縮データの管理およびデータ復元＞
次に、図８〜図１１により、本発明の実施の形態１に係るストレージ装置の圧縮データの管理およびデータ復元について説明する。図８〜図１１は発明の実施の形態１に係るストレージ装置の圧縮データの管理およびデータ復元を説明するための説明図であり、図８は物理記憶デバイスのディスクごとに圧縮データを保存するデータ例を示す図、図９は不正データと圧縮データの関係するための説明図、図１０は圧縮データの管理テーブルの一例を示す図、図１１は圧縮データを保存するための照合保存データフォーマットの一例を示す図である。
【００６３】
図８に示すように、本実施の形態では、物理記憶デバイス６のディスク２０１〜２０４ごとに圧縮データ２１１〜２１４を生成し、内部ディスクデータの物理デバイスマップに対して、圧縮データの物理デバイスマップ２５０を生成している。
【００６４】
また、複数のディスク２０１〜２０４などに対して、論理デバイスマップ２００が生成され、論理デバイス２２１は、ディスク２０１〜２０４から構成される３Ｄ＋ＰのＲＡＩＤ構成の論理デバイスとして認識され、ディスク２０１〜２０４のいずれかのディスクのデータが不正となっても、他のディスクのデータにより不正データを復元することができる構成となっている。
【００６５】
また、圧縮データは、例えば、図１１に示すような照合保存データフォーマットの形式で保存され、図１０に示すような管理テーブルにより、圧縮データの管理が行われている。
【００６６】
また、図９に示すように、論理デバイス２２１として構成された書き込みデータ９０１の一部のデータ（Ｄ０４のデータ）が、不正となり、不正データ９０２となった場合、書き込み時に生成された圧縮データ（データＤ０４の圧縮データが格納されるＳ２１のデータ）が、読み出し時に再計算された圧縮データと異なるため、Ｄ０４のデータが不正であることが検出される。
【００６７】
例えば、図９に示す例では、データ「Ｘ」の圧縮データは「Ｐ」、データ「Ｙ」の圧縮データは「Ｑ」、データ「Ｚ」の圧縮データは「Ｒ」、データ「Ａ」の圧縮データは「Ｏ」である例を示している。また、Ｘ（＋）Ｙ（＋）Ｚ＝Ａ（（＋）＝ＥＯＲ演算）となるパリティ生成を行っている例を示している。
【００６８】
図９においては、書き込み時のＤ０４のデータは「ＸＹＸ」で、読み出し時の不正データとなったＤ０４のデータは「ＸＺＸ」であり、それぞれ、Ｓ２１の圧縮データが「ＰＱＰ」と「ＰＲＰ」となり、圧縮データの比較により、一致しないことが検出されるため、Ｄ０４のデータが不正データであることが検出される。
【００６９】
そして、不正データと検出されたデータ（Ｄ４の「ＸＺＸ」）は、他のデータ（Ｄ０３、Ｄ０５、Ｐ２のデータ）から演算され、Ｄ０４の「Ｚ」のデータは、「Ｙ」に復元され、Ｄ４のデータは正常な「ＸＹＸ」のデータとすることができる。
【００７０】
また、「ＸＹＸ」の圧縮データは「ＰＱＰ」であるので、次回、Ｄ４のデータが読み込まれた際には、圧縮データの比較により不正は検出されず、正常なデータとなる。
【００７１】
また、このように復元した場合に、例えば図１０に示すような管理テーブルの復元回数を更新することにより、同じ箇所のデータが複数回の復元を行っている場合に、故障の可能性が高いなどの判断も行うことが可能である。
【００７２】
以上のように本発明によれば、圧縮データ回路部３０により、データ書き込み時のデータに対する圧縮データを生成し、物理記憶デバイス６とは別の圧縮データ保存部２０内に保存し、データの読み出し時に、その読み出しデータの圧縮データと、圧縮データ保存部２０内に保存した読み出しデータに対応する圧縮データを比較し、読み出しデータの不正を検出するので、データ不正を検出するためのデータを少なくすることができ、バックアップ容量を少なくすることが可能である。また、冗長パリティコードを生成するＲＡＩＤ構成があれば、検出したデータ不正を訂正し、不正となったデータを復元することが可能である。
【００７３】
また、時間が経過して読み出されるデータであってもデータ信頼性を確認することが可能であり、時間が経過して、アクセスが無いデータであっても、現在保存されているデータに不正が無いかを定期的に確認することが可能である。
【００７４】
また、外部接続された他社デバイスに対しても、データ不正がないかを監視する機能を提供することができ、外部接続された他のデバイスを冗長構成とすることにより、データを復元することが可能である。
【００７５】
（実施の形態２）
実施の形態２は、実施の形態１において、圧縮データの生成を物理記憶デバイス６ごとではなく、ホストインタフェースアダプタ部２およびストレージインタフェースアダプタ部３の各ポートごとに生成するようにしたものである。
【００７６】
実施の形態２のストレージ装置の構成は実施の形態１と同様の構成であり、圧縮データの生成を物理記憶デバイス６ごとではなく、ホストインタフェースアダプタ部２およびストレージインタフェースアダプタ部３の各ポートごとに行う以外の動作は実施の形態１と同様である。
【００７７】
＜圧縮データの管理およびデータ復元＞
次に、図１２〜図１４により、本発明の実施の形態２に係るストレージ装置の圧縮データの管理およびデータ復元について説明する。図１２〜図１４は発明の実施の形態２に係るストレージ装置の圧縮データの管理およびデータ復元を説明するための説明図であり、図１２は接続ポートに内部ディスクが接続された説明図、図１３は接続ポートに外部ディスクが接続された説明図、図１４は接続ポートに外部接続デバイスが接続された場合のエラー処理を示すフローチャートである。
【００７８】
まず、ストレージインタフェースアダプタ部３の接続ポートに内部ディスクが接続された場合では、例えば、図１２に示すように、各ポート３１１〜３１４に接続された物理記憶デバイス６からなる内部デバイスに対する圧縮データが、ポートごとに生成されて、圧縮データ保存部２０内に保存されている。
【００７９】
また、各ポート３１１〜３１４に接続された物理記憶デバイス６からなる内部デバイスは、論理デバイスマップ３２０として管理され、冗長構成を有するデータとして、管理されている。
【００８０】
また、冗長構成は、図１２に示す例では、パリティグループ３０１〜３０３を異なるポートごとに生成する構成としている。なお、パリティグループは、同じポート内で生成することも可能である。
【００８１】
図１２に示すように、各ポートごとに圧縮データを生成しても、内部デバイスが各ポートに接続されている場合は、データの読み出し時の圧縮データの比較において、データ不正が検出されると、不正が検出されたデータが属するパリティグループの他のデータにより、不正データを復元して、正常なデータに書き換えることが可能である。
【００８２】
また、ホストインタフェースアダプタ部２またはストレージインタフェースアダプタ部３の接続ポートに外部ディスクが接続された場合では、例えば、図１３に示すように、例えば、外部接続デバイス１〜４がストレージインタフェースアダプタ部３の接続ポートに接続され、外部接続デバイス５がホストインタフェースアダプタ部２に接続された構成となっている。
【００８３】
図１３に示す例では、外部接続デバイス１〜４は４台のデバイスで、ＲＡＩＤ構成の１つの記憶デバイスとして管理され、外部接続デバイス５は１台のデバイスで、１つの記憶デバイスとして管理されている。
【００８４】
また、外部接続デバイス１〜５の各デバイスは、ストレージ装置１０からは、内部の構成を把握することはできず、ストレージ装置１０内では、図１２に示すような、論理デバイスマップを仮想的に用いることにより、各データの管理を行うようになっている。
【００８５】
まず、外部接続デバイス１〜４においては、内部デバイスと同様に、論理デバイスマップにより、冗長構成のデータが生成され、外部接続デバイス１〜４によるＲＡＩＤ構成のデバイスとして、データの書き込みが行われる。
【００８６】
その際、各ポートのデータに対して仮想の論理デバイスマップのデータとしての圧縮データが生成されて、圧縮データ保存部２０内に保存されている。
【００８７】
図１３に示すような外部接続デバイスの場合であっても、外部接続デバイスのキャッシュメモリには正常に書き込みデータが書き込まれたが、その後の外部接続デバイスの物理記憶デバイスへの書き込みに失敗していた場合には、ストレージ装置１０側には、キャッシュメモリに正常に書き込まれたことが報告され、ストレージ装置１０側では、外部接続デバイスの物理記憶デバイスへのデータ不正をデータ書き込み時には検出することができない。
【００８８】
そこで、外部接続デバイス１〜４の場合では、データの読み出し時の圧縮データの比較において、データ不正が検出されると、外部接続デバイス１〜４内の構成は分からないため、不正が検出されたデータが格納された外部接続デバイスを閉塞させ、残りの３台の外部接続デバイスによりデータを復元することが可能である。
【００８９】
データ不正が検出された外部接続デバイスは、外部接続デバイス自体の故障が無ければ、残りの３台の外部接続デバイスによりデータを復元したデータを書き込むか、または、データ不正が検出された外部接続デバイスを交換した後、残りの３台の外部接続デバイスによりデータを復元したデータを書き込むことにより、データの復元が行われる。
【００９０】
また、例えば、４台の外部接続デバイスが同じもので、外部接続デバイスの構成がストレージ装置１０側で内部デバイスと同様に管理できる場合であれば、内部デバイスと同様に、論理デバイスマップを管理し、ＲＡＩＤ構成の内部デバイスと同様に、データ管理を行い、データの復元も、内部デバイスと同様に行うことも可能である。
【００９１】
また、外部接続デバイス５の場合では、データの読み出し時の圧縮データの比較において、データ不正が検出されると、外部接続デバイス５内の構成は分からないため、不正が検出されたことを外部接続デバイス５に対して報告し、外部接続デバイス５側での対応となる。
【００９２】
外部接続デバイス５が、内部で３Ｄ＋ＰなどのＲＡＩＤ構成をとっており、ストレージ装置１０からのデータ不正の検出の報告により、データ不正箇所を把握でき、ＲＡＩＤによりそのデータ不正を復元できる場合には、外部接続デバイス５内部の処理により、データの復元が行われる。
【００９３】
また、外部接続デバイス５が、ＲＡＩＤ構成などを取っていない場合は、データの復元はできないことになるが、データ不正を認識することが可能であり、データ不正に対する何らかの対応を取ることが可能である。
【００９４】
また、ホストコンピュータ１側でバックアップデータなどを保存している場合などでは、保存しているバックアップデータにより、外部接続デバイス５のデータ不正となったデータを復元することも可能である。この際も、圧縮データ保存部２０内に保存されている圧縮データとバックアップデータの圧縮データを比較することにより、照合が行われ、正常なバックアップデータであることが確認された後、データが復元されるようになっている。
【００９５】
また、この様な、ホストインタフェースアダプタ部２またはストレージインタフェースアダプタ部３の接続ポートに外部ディスクが接続された処理としては、図１４に示すように、まず、ホストコンピュータ１などからのデータの読み出しコマンドなどがあると、圧縮データ保存部２０内に保存された圧縮データと、読み出しコマンドによるデータの圧縮データとを比較しデータ不正のチェックを行う（Ｓ８００）。
【００９６】
そして、Ｓ８００でデータ不正が検出されると、エラーの報告をホストコンピュータ１および外部接続デバイスに対して行う（Ｓ８０１）。なお、Ｓ８００でデータ不正が検出されなかった場合には、通常のデータの読み出し処理が行われて、ホストコンピュータ１に読み出しデータが送信される。
【００９７】
そして、Ｓ８０１でのエラーの報告の後、外部接続デバイスのデータを復元できるか否かを判断し（Ｓ８０２）、Ｓ８０２で復元不可と判断されると、処理を終了し、ホストコンピュータ１のバックアップデータなどによりデータの復元が可能であれば、そのバックアップデータによりデータの復元を行う。
【００９８】
また、Ｓ８０２で復元可と判断されると、例えば、３Ｄ＋ＰのＲＡＩＤ構成により、データ不正のデータを復元して、データの再チェックを行う（Ｓ８０３）。
【００９９】
そして、ホストコンピュータ１に対して、新データが書き込まれていることを報告し（Ｓ８０４）、ホストコンピュータ１からの再読み出しが行われて（Ｓ８０５）、読み出し処理を終了する。
【０１００】
以上のように、本実施の形態では、圧縮データ回路部３０により、データ書き込み時のデータに対する接続ポートごとの圧縮データを生成し、物理記憶デバイス６とは別の圧縮データ保存部２０内に保存し、データの読み出し時に、その読み出しデータの圧縮データと、圧縮データ保存部２０内に保存した読み出しデータに対応する圧縮データを比較し、読み出しデータの不正を検出するので、内部接続デバイスだけではなく、外部接続デバイスに対しても、データ不正を検出することができ、外部接続デバイスが複数で冗長構成を構成しているか、外部接続デバイス内部で情緒構成を構成している場合には、データ不正のデータを復元することが可能である。
【０１０１】
（実施の形態３）
実施の形態３は、実施の形態１におけるストレージ装置を複数台接続し、リモートコピーにより、別のストレージ装置にデータを転送する場合のデータ不正を検出するものである。
【０１０２】
実施の形態３のストレージ装置１０の構成は実施の形態１と同様の構成であり、ストレージ装置１０が、例えばホストインタフェースアダプタ部２を介して他のストレージ装置１０と接続され、ストレージ装置１０間でのリモートコピーによるデータ転送を行う構成となっている。
【０１０３】
また、本実施の形態のストレージ装置１０には、実施の形態１と同様に、データの書き込み時に圧縮データが生成されて、圧縮データ保存部２０内に保存されて、データの書き込み時の動作およびデータの読み出し時の動作は実施の形態１と同様である。
【０１０４】
＜リモートコピー時の動作＞
図１５〜図１７により、本発明の実施の形態３に係るストレージ装置のリモートコピー時の動作について説明する。図１５〜図１７は発明の実施の形態３に係るストレージ装置のリモートコピー時の動作を説明するための説明図であり、図１５はストレージ装置を３台用いたリモートコピーのデータの流れを示す図、図１６はリモートコピー時にデータの改竄などが発生しなかった場合の動作を示す図、図１７はリモートコピー時にデータの改竄などが発生した場合の動作を示す図である。
【０１０５】
まず、図１５に示すように、ストレージ装置１０は、第１装置、第２装置、第３装置として３台で構成されており、第１装置がホストコンピュータ１と接続され、第１装置がホストコンピュータからの書き込みデータを記憶し、第１装置に書き込まれたデータは、リモートコピーにより、第２装置および第３装置へ転送され、第２装置および第３装置内にも記憶される。
【０１０６】
また、図１５に示す例では、第１装置でのホストコンピュータ１からの書き込みコマンドの受信後、ホストコンピュータ１へＯＫ応答し、第２装置でのリモートコピーのデータの受信がＯＫとなり、第３装置の途中でデータが改竄されたケースを示している。
【０１０７】
この場合、通常、リモートコピーでは、ベリファイチェックは行われず、チェックＳＵＭやＬＲＣなどにより通信路の保証を実施しているが、通信パケット（フレーム）の改竄、成りすましは、悪意のある第３者により解析された場合、また空振りデータを挿入された場合は、不可保護コード（ＣＲＣ等）の正常でデータ不正を検出できないケースもあり、第３装置としての応答が受信ＯＫとなる場合がある。
【０１０８】
そこで、本実施の形態では、書き込みデータの圧縮データをリモートコピー先の装置に先に送付し、次にデータセットを送付し、リモートコピー先の装置では、受信したデータの圧縮データと、先に送付された圧縮データとを比較し、データ不正を検出している。また、データ不正を検出した場合は、送信元に知らせて、再送要求を行い、正常なデータを受信する。
【０１０９】
まず、第１装置から第２装置へのリモートコピーでは、図１６に示すように、送信装置となる第１装置では、ホストコンピュータ１からの書き込みコマンドにより、例えば、データ「ＡＡＡ」を書き込み、その書き込みデータの圧縮データ「ＳＳＳ」を生成し、圧縮データを受信装置となる第２装置へ送信する。
【０１１０】
この圧縮データの送信は、不正ができないように暗号化などにより内容が保証されており、この暗号化などの処理については、圧縮データは容量が小さいために、その処理負荷を抑えて処理することができるようになっている。
【０１１１】
その後、データ「ＡＡＡ」を第２装置へ送信し、第２装置では第１装置からの圧縮データ「ＳＳＳ」を受信し、その後、データ「ＡＡＡ」を受信する。
【０１１２】
また、第２装置では、受信したデータ「ＡＡＡ」から圧縮データ「ＳＳＳ」を生成し、第１装置から受信した圧縮データと比較し、第１装置と第２装置間のリモートコピーではデータ不正は無いので、比較の結果、正常を確認し、送信側の第１装置へＯＫ応答を行う。
【０１１３】
そして、第１装置では、第２装置からのＯＫ応答により、正常確認を行い、データクリアを実施し、全てのデータのリモートコピーが完了すると、リモートコピーの処理が終了する。
【０１１４】
また、第２装置から第３装置へのリモートコピーでは、図１７に示すように、第２装置では、第１装置からのリモートコピーのデータ「ＡＡＡ」を書き込み、その書き込みデータの圧縮データ「ＳＳＳ」を生成し、圧縮データを受信装置となる第３装置へ送信する。
【０１１５】
その後、データ「ＡＡＡ」を第３装置へ送信する。この時、データが改竄などされて、データ「ＡＡＡ」ではなく、データ「ＡＢＡ」が第３装置へ送信される。
【０１１６】
第３装置では第２装置からの圧縮データ「ＳＳＳ」を受信し、その後、改竄されたデータ「ＡＢＡ」を受信する。
【０１１７】
また、第３装置では、受信したデータ「ＡＢＡ」から圧縮データ「ＳＴＳ」を生成し、第２装置から受信した圧縮データと比較し、第２装置と第３装置間のリモートコピーではデータ不正があるので、比較の結果、不正を確認し、送信側の第２装置へＮＧ応答を行う。
【０１１８】
そして、第２装置では、第３装置からのＮＧ応答により、異常を確認し、圧縮データ「ＳＳＳ」とデータ「ＡＡＡ」を再送信する。
【０１１９】
なお、再送信のときに、圧縮データは再送信せずに、データのみを再送信することも可能である。
【０１２０】
第３装置では、再送信されたデータと圧縮データにより、２回目の比較を行い、再送信ではデータの改竄が行われず、比較の結果、正常を確認し、送信側の第２装置へＯＫ応答を行う。
【０１２１】
そして、第２装置では、第３装置からのＯＫ応答により、正常確認を行い、データクリアを実施し、全てのデータのリモートコピーが完了すると、リモートコピーの処理が終了する。
【０１２２】
以上のように、本実施の形態では、リモートコピーにおける外部からのデータの改竄や成りすまし等のデータ不正を、圧縮データをリモートコピー先の装置へ送信することで検出することが可能である。
【０１２３】
（実施の形態４）
実施の形態４は、実施の形態１において、データ書き込み時のデータに対する圧縮データを１世代以上、圧縮データ保存部２０などに保存し、世代間において、圧縮データに基づいて、修正部を検出し、修正データのみの差分データを生成して、圧縮データと関連づけて保存することにより、１世代前のデータの復元を行うことができるようにしたものである。
【０１２４】
実施の形態４のストレージ装置の構成は実施の形態１と同様の構成であり、圧縮データを１世代以上保存し、世代間において、圧縮データに基づいて、修正部を検出し、修正データのみの差分データを生成する以外の動作は実施の形態１と同様である。
【０１２５】
＜１世代前のデータの復元の動作＞
図１８〜図２０により、本発明の実施の形態４に係るストレージ装置の１世代前のデータの復元の動作について説明する。図１８〜図２０は発明の実施の形態４に係るストレージ装置の１世代前のデータの復元の動作を説明するための説明図であり、図１８はミスデータを書き込んだ状態を示す図、図１９は２世代の圧縮データを保存した状態を示す図、図２０は１世代前の状態に復元した状態を示す図である。
【０１２６】
図１９および図２０においては、圧縮データを２世代保存する例を示している。
【０１２７】
図１８に示すように、データ「ＢＡＡ」が保存されている状態で、ユーザが間違って、データ「ＢＡＢ」の書き込みを行ってしまった場合、そのままデータ「ＢＡＢ」が書き込まれ、差分情報が保存されていない場合には、データ「ＢＡＡ」に復元することができない。しかし、データの復元を行うために、全てのデータの差分情報を管理すると、差分データの作成処理には、データを比較しなければならず時間もかかってしまう。
【０１２８】
そこで、本実施の形態では、書き込み時の圧縮データ生成を、１世代以上行い、圧縮データを用いて、データの修正部を検出して、差分データを保存している。
【０１２９】
まず、図１９に示すように、ストレージ装置１０に、データ「ＢＡＡ」が保存されていた状態から、ミスデータ「ＢＡＢ」が書き込まれた場合では、第１世代保存圧縮データとしては、データ「ＢＡＡ」の時の圧縮データ「ＴＳＳ」と、データ「ＢＡＡ」が書き込まれる前のデータとの圧縮データに基づいた差分データ「Ａ＋α１」が保存され、第２世代保存圧縮データとしては、現在書き込まれたデータ「ＢＡＢ」の時の圧縮データ「ＴＳＴ」と、データ「ＢＡＢ」が書き込まれる前のデータ「ＢＡＡ」との圧縮データに基づいた差分データ「Ｂ＋α２」が保存されている。
【０１３０】
この差分データは、世代間の圧縮データを比較することにより、例えば、第１世代の圧縮データ「ＴＳＳ」と、第２世代の圧縮データ「ＴＳＴ」により、修正部を確認することができるので、その修正部のみの差分データを抽出することが可能であり、差分データの全てを比較する必要がなく、差分データ抽出に関する処理を高速に行うことが可能である。
【０１３１】
また、ユーザがデータ「ＢＡＢ」を書き込んだ後に、ミスデータを書き込んだことが分かった場合のデータの復元としては、図２０に示すように、第２世代の圧縮データと関連づけて保存された差分データ「Ｂ＋α２」と、現在書き込まれているミスデータ「ＢＡＢ」により、ミスデータ「ＢＡＢ」が書き込まれる前のデータ「ＢＡＡ」を生成して、データを復元する。
【０１３２】
データ「ＢＡＡ」が書き込まれた後は、第１世代保存圧縮データとしては、データ「ＢＡＢ」が書き込まれていたときの、圧縮データ「ＴＳＴ」と、差分データ「Ｂ＋α２」が保存され、第２世代保存圧縮データとしては、復元されたデータ「ＢＡＡ」の圧縮データ「ＴＳＳ」と、データ「ＢＡＡ」が書き込まれる前のデータ「ＢＡＢ」との圧縮データに基づいた差分データ「Ａ＋α３」が保存される。
【０１３３】
以上のように、本実施の形態では、圧縮データを１世代以上保存し、圧縮データに基づいた差分データを圧縮データに関連づけて保存することにより、バックアップデータを保存していない場合であっても、ミスデータを書き込んだ後に、圧縮データと差分データにより、更新前のデータへ戻すことが可能である。
【０１３４】
（実施の形態５）
実施の形態５は、実施の形態１において、データを２重書する場合に、圧縮データにより、２重書きデータの不正を検出するようにしたものである。
【０１３５】
実施の形態５のストレージ装置の構成は実施の形態１と同様の構成であり、データを２重書する場合に、圧縮データにより、２重書きデータの不正を検出する以外の動作は実施の形態１と同様である。
【０１３６】
＜２重書きデータの片方がデータ不正した場合の検出と回復＞
図２１〜図２５により、本発明の実施の形態５に係るストレージ装置の２重書きデータの片方がデータ不正した場合の検出と回復について説明する。図２１〜図２４は発明の実施の形態５に係るストレージ装置の２重書きデータの片方がデータ不正した場合の検出と回復を説明するための説明図であり、図２１は２重書きデータの片方がデータ不正した場合を示す図、図２２はデータ不正後に２重リードしない場合を示す図、図２３はデータ不正後に２重リードする場合を示す図、図２４は２重リードしてデータ不正していないデバイスを確認してデータ不正を訂正する例を示す図である。
【０１３７】
図２１に示すように、データをマスタ側とバックアップ側に２重書きする場合において、マスタ側でデータ不正が発生し、マスタ側への書き込みデータ「ＡＡＢ」がデータ「ＡＡＡ」として書き込まれ、その書き込み自体は正常としてホストコンピュータ１などに返答された場合は、通常使用するマスタ側のデータのデータ不正を検出することができない状態となってしまう。
【０１３８】
また、２重書き後に、図２２に示すように、２重リードせずに、マスタ側のデータのみを読み出した場合は、データ不正は検出できず、データ不正のまま読み出しが実行されてしまう。また、２重書き後に、図２３に示すように、２重リードして、データの比較を行った場合は、データの不正は比較によって検出できるが、マスタ側とバックアップ側のどちらのデータが正しいのかを判断することができない。
【０１３９】
そこで、本実施の形態では、２重書きするデータの圧縮データを圧縮データ保存部２０などに保存し、圧縮データにより、２重書きされたデータのどちらかがデータ不正を受けた場合に、そのデータ不正の検出と、どちらのデータが不正なのかを検出して、データ不正を訂正し、データの回復を行っている。
【０１４０】
図２４に示すように、データを２重書きで書き込んだ際に生成され、圧縮データ保存部２０などに保存されたデータ「ＡＡＢ」に対応する圧縮データ「ＳＳＴ」と、マスタ側に書き込まれたデータ不正のデータ「ＡＡＡ」の圧縮データ「ＳＳＳ」およびバックアップ側に書き込まれたデータ「ＡＡＢ」の圧縮データ「ＳＳＴ」とを比較し、データ不正の検出と、どちらのデータが正しいデータなのかを検出する。
【０１４１】
図２４に示す例では、圧縮データ保存部２０などに保存された圧縮データ「ＳＳＴ」との比較において、マスタ側の圧縮データが「ＳＳＳ」で、バックアップ側の圧縮データが「ＳＳＴ」なので、データ不正を検出でき、さらに、マスタ側の圧縮データ「ＳＳＳ」が、圧縮データ保存部２０などに保存された圧縮データ「ＳＳＴ」と異なることから、マスタ側のデータがデータ不正で、バックアップ側のデータが正しいデータであることを検出することができる。
【０１４２】
そして、マスタ側とバックアップ側のどちらのデータが正しいデータかが検出できれば、正しいデータから、データ不正のデータを回復コピーすることにより、２重書き時のデータ不正を訂正することが可能である。
【０１４３】
なお、本実施の形態においても、２重書きデータのマスタ側およびバックアップ側のデータの比較を行うことなく、実施の形態１と同様に、２重書きされたデータの圧縮データにより、マスタ側のデータの読み出し時に、データ不正を検出し、データ不正が検出された場合に、バックアップ側のデータを確認して、バックアップ側のデータが正しいデータであることが確認できた場合には、バックアップ側のデータから、マスタ側のデータを回復コピーすることにより、不正データの訂正を行うようにしてもよい。
【０１４４】
以上のように、本実施の形態では、データを２重書する場合に、その書き込みデータの圧縮データを保存し、２重書きされたそれぞれのデータの圧縮データと比較することにより、２重書きの際のデータの不正を検出することができ、どちらのデータが正しいデータかを検出することが可能である。
【０１４５】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【図面の簡単な説明】
【０１４６】
【図１】本発明の実施の形態１に係るストレージ装置の構成を示す構成図である。
【図２】本発明の実施の形態１に係るストレージ装置のホストインタフェースアダプタ部およびストレージインタフェースアダプタ部の構成を示す構成図である。
【図３】本発明の実施の形態１に係るストレージ装置のホストインタフェースアダプタ部およびストレージインタフェースアダプタ部内の圧縮データ回路部の構成を示す構成図である。
【図４】本発明の実施の形態１に係るストレージ装置の動作の概要を説明するための説明図である。
【図５】発明の実施の形態１に係るストレージ装置の圧縮アルゴリズムの一例を説明するための説明図である。
【図６】本発明の実施の形態１に係るストレージ装置の圧縮データの保存の動作を示すフローチャートである。
【図７】本発明の実施の形態１に係るストレージ装置の圧縮データの照合の動作を示すフローチャートである。
【図８】本発明の実施の形態１に係るストレージ装置の物理記憶デバイスのディスクごとに圧縮データを保存するデータ例を示す図である。
【図９】本発明の実施の形態１に係るストレージ装置の不正データと圧縮データの関係するための説明図である。
【図１０】本発明の実施の形態１に係るストレージ装置の圧縮データの管理テーブルの一例を示す図である。
【図１１】本発明の実施の形態１に係るストレージ装置の圧縮データを保存するための照合保存データフォーマットの一例を示す図である。
【図１２】本発明の実施の形態２に係るストレージ装置の接続ポートに内部ディスクが接続された説明図である。
【図１３】本発明の実施の形態２に係るストレージ装置の接続ポートに外部ディスクが接続された説明図である。
【図１４】本発明の実施の形態２に係るストレージ装置の接続ポートに外部接続デバイスが接続された場合のエラー処理を示すフローチャートである。
【図１５】本発明の実施の形態３に係るストレージ装置のストレージ装置を３台用いたリモートコピーのデータの流れを示す図である。
【図１６】本発明の実施の形態３に係るストレージ装置のリモートコピー時にデータの改竄などが発生しなかった場合の動作を示す図である。
【図１７】本発明の実施の形態３に係るストレージ装置のリモートコピー時にデータの改竄などが発生した場合の動作を示す図である。
【図１８】本発明の実施の形態４に係るストレージ装置のミスデータを書き込んだ状態を示す図である。
【図１９】本発明の実施の形態４に係るストレージ装置の２世代の圧縮データを保存した状態を示す図である。
【図２０】本発明の実施の形態４に係るストレージ装置の１世代前の状態に復元した状態を示す図である。
【図２１】発明の実施の形態５に係るストレージ装置の２重書きデータの片方がデータ不正した場合を示す図である。
【図２２】発明の実施の形態５に係るストレージ装置のデータ不正後に２重リードしない場合を示す図、図２３はデータ不正後に２重リードする場合を示す図である。
【図２３】発明の実施の形態５に係るストレージ装置のデータ不正後に２重リードする場合を示す図である。
【図２４】発明の実施の形態５に係るストレージ装置の２重リードしてデータ不正していないデバイスを確認してデータ不正を訂正する例を示す図である。
【符号の説明】
【０１４７】
１…ホストコンピュータ、２…ホストインタフェースアダプタ部、３…ストレージインタフェースアダプタ部（ディスクインタフェースアダプタ部）、４…キャッシュメモリ部、５…スイッチ部、６…物理記憶デバイス、７…サービスプロセッサ部、９…スイッチ装置、１０…ストレージ装置、２０…圧縮データ保存部、３０…圧縮データ回路部、２００…論理デバイスマップ、２２１…論理デバイス、２０１〜２０４…ディスク、２１１〜２１４…圧縮データ、２５０…物理デバイスマップ、３０１〜３０３…パリティグループ、３１１〜３１４…ポート、３２０…論理デバイスマップ、５０１…インタフェース制御部、５０２…データ転送制御部、５１０…マイクロプロセッサ部、５１１…ローカルメモリ部、５５０…アドレスコマンド解析／生成部、５５１…ＤＭＡ制御部／制御レジスタ、５５２…圧縮生成回路部、５５３…圧縮データ比較回路部、５６０…圧縮演算部、５６１…演算メモリ、５７０…比較演算部、５７１…演算メモリ、９０１…データ、９０２…不正データ。
【図１】
2006251960.tif 000003
【図２】
2006251960.tif 000004
【図３】
2006251960.tif 000005
【図４】
2006251960.tif 000006
【図５】
2006251960.tif 000007
【図６】
2006251960.tif 000008
【図７】
2006251960.tif 000009
【図８】
2006251960.tif 000010
【図９】
2006251960.tif 000011
【図１０】
2006251960.tif 000012
【図１１】
2006251960.tif 000013
【図１２】
2006251960.tif 000014
【図１３】
2006251960.tif 000015
【図１４】
2006251960.tif 000016
【図１５】
2006251960.tif 000017
【図１６】
2006251960.tif 000018
【図１７】
2006251960.tif 000019
【図１８】
2006251960.tif 000020
【図１９】
2006251960.tif 000021
【図２０】
2006251960.tif 000022
【図２１】
2006251960.tif 000023
【図２２】
2006251960.tif 000024
【図２３】
2006251960.tif 000025
【図２４】
2006251960.tif 000026