JP4371724B2 - 記憶システム及び記憶装置システム - Google Patents

記憶システム及び記憶装置システム Download PDF

Info

Publication number
JP4371724B2
JP4371724B2 JP2003270619A JP2003270619A JP4371724B2 JP 4371724 B2 JP4371724 B2 JP 4371724B2 JP 2003270619 A JP2003270619 A JP 2003270619A JP 2003270619 A JP2003270619 A JP 2003270619A JP 4371724 B2 JP4371724 B2 JP 4371724B2
Authority
JP
Japan
Prior art keywords
data
guarantee
disk
guarantee code
remote
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2003270619A
Other languages
English (en)
Other versions
JP2005025683A (ja
Inventor
信一 中山
陽一 後藤
圭史 田村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2003270619A priority Critical patent/JP4371724B2/ja
Priority to US10/770,375 priority patent/US7124258B2/en
Priority to EP04003814A priority patent/EP1510921A3/en
Publication of JP2005025683A publication Critical patent/JP2005025683A/ja
Priority to US11/521,497 priority patent/US7421553B2/en
Application granted granted Critical
Publication of JP4371724B2 publication Critical patent/JP4371724B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • G06F11/2076Synchronous techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、例えば、それぞれ異種類の正記憶装置システムと副記憶装置システムとの間でリモートコピーを実行可能な記憶システム及び記憶装置システムに関する。
例えば、大容量のデータを取り扱う基幹業務用のデータベースシステムでは、ホストコンピュータとは別体に構成された記憶装置システムを用いて、データを管理している。この記憶装置システムは、ディスクアレイ装置とも呼ばれ、多数のディスク記憶装置をアレイ状に配設して構成されているものである。記憶装置システムは、例えば、RAID(Redundant Array of Independent Inexpensive Disks)に基づいて構築されている。記憶装置システムが有する物理的な記憶領域上には、仮想的な記憶領域である論理ボリュームが形成されている。ホストコンピュータ上で作動する業務用アプリケーションプログラム(以下、ホストコンピュータ)は、記憶装置システムに対して所定形式の書込みコマンド又は読出しコマンドを発行することにより、所望のデータの読み書きを行うことができる。
例えば、データの書込みを行う場合について説明する。ホストコンピュータによるデータ操作の結果は、ホストコンピュータのバッファに一時的に記憶されている。ホストコンピュータによる一連のデータ操作が終了して区切りがつくと(トランザクション単位のコミット等)、ホストコンピュータは、データベースの更新を行わせるべく、記憶装置システムにデータ書込み要求(書込みコマンド)を送信する。この書込み要求には、記憶装置システムに書き込むべき一つ以上の(通常は多数の)データが含まれている。記憶装置システムは、ホストコンピュータからデータ書込み要求を受信すると、書込み要求に含まれるデータをキャッシュメモリに記憶する。キャッシュメモリに記憶されたデータは、アドレス変換等が行われた後で、所定のディスク装置の所定領域に記憶される。書込みが要求されたデータを所定の記憶領域に格納すると、記憶装置システムは、ホストコンピュータに書込み完了を報告する。
ここで、記憶装置システムは、複数のディスク記憶装置にデータを分散して記憶し、冗長性を高めてデータの安全性を確保することができる。さらに、地震等の災害に備えて、物理的に離れた遠隔地の記憶装置システムに同一のデータをコピーして保存するリモートコピーも可能である。リモートコピーでは、物理的に離れて存在する複数の記憶装置システム同士を専用回線または公衆回線を介して相互に接続し、ホストコンピュータを介さずに、各記憶装置システム間で直接的にデータをコピーする。これにより、コピー元の記憶装置システム(以下、ローカル側記憶装置システム)に形成される正論理ボリュームとコピー先の記憶装置システム(以下、リモート側記憶装置システム)に形成される副論理ボリュームとは、一対一に対応し、互いに同一内容のデータを保持する。従って、障害等によってローカル側記憶装置システムのデータの全部または一部が失われた場合等でも、ホストコンピュータは、リモート側記憶装置システムの副論理ボリュームのデータを用いてデータ処理を行うことができる。なお、記憶装置システムは、リモートコピーとは別に、データのバックアップを定期的に又は不定期に取るようになっており、バックアップデータとジャーナルデータとに基づいて、所定時点までデータを回復させることができる。
リモートコピーは、同期式と非同期式とに大別することができる。同期式のリモートコピーの場合は、ホストコンピュータからのデータ書込み要求がローカル側記憶装置システムに送信されると、ローカル側記憶装置システムは、受信したデータ(書込みが要求されたデータ)をキャッシュメモリに記憶した後、通信回線を経由してリモート側記憶装置システムにデータを転送する。リモート側記憶装置システムは、データを受信してキャッシュメモリに記憶すると、データ受信を示す応答信号をローカル側記憶装置システムに送信する。ローカル側記憶装置システムは、リモート側記憶装置システムからの応答信号を受信すると、データ書込みが正常に行われた旨の書込み完了報告をホストコンピュータに通知する。このように、同期式リモートコピーでは、ホストコンピュータからのデータ書込み要求とリモート側記憶装置システムへのデータ転送とが同期して実行される。従って、同期式リモートコピーでは、リモート側記憶装置システムからの応答を待つ時間だけ遅延が生じるため、ローカル側記憶装置システムとリモート側記憶装置システムとの間の距離が比較的短距離である場合に適している。逆に、ローカル側とリモート側の各記憶装置システム間が遠距離の場合は、応答遅延や伝播遅延の問題から、一般的に同期式リモートコピーは適さない。
一方、非同期式リモートコピーの場合、ローカル側記憶装置システムは、ホストコンピュータからのデータ書込み要求を受信すると、受信データをキャッシュメモリへ記憶し、直ちにホストコンピュータに書込み完了報告を行う。ローカル側記憶装置システムは、ホストコンピュータへ書込み完了報告を行った後で、リモート側記憶装置システムにデータを転送する。即ち、ホストコンピュータへの書込み完了報告とリモート記憶装置システムへのデータ転送とは、非同期で行われる。従って、非同期式リモートコピーの場合は、各記憶装置システム間の距離とは無関係に、速やかに書込み完了報告をホストコンピュータに送信することができる。このため、各記憶装置システム間の距離が比較的遠距離である場合に適している。逆に、ホストコンピュータへ書込み完了報告を行う時点では、リモート記憶装置システムへのデータ転送がまだ行われていないため、書込み完了報告がされても、正論理ボリュームの記憶内容と副論理ボリュームの記憶内容とが同一である保証はない。
ところで、記憶装置システムの信頼性を図る一つの観点は、ホストコンピュータが要求した通りに正しくデータを記憶し、また、ホストコンピュータが要求した通りの正しいデータを読み出すことができるかどうかである。このため、記憶装置システムでは、データ転送中のビットエラーを防止すべく、例えば、LRC(Longitudinal Redundancy Check:水平冗長検査)やCRC(Cyclic Redundancy Check:巡回冗長検査)、ECC(Error-Correcting Code)等の技術を採用する。しかし、記憶装置システムでは、複数のディスク記憶装置を並列動作させてデータの入出力を行うために、所定のアドレス変換を行ってデータを分割して処理する。従って、分割したデータの異常アドレスに対処するのが難しい。そこで、転送元アドレスのような転送対象のデータを特定可能な保証コードをデータに付加することにより、記憶装置システム内で、データが正しく転送されたか否かを保証する技術も提案されている(特許文献1参照)。
特開2000−347815号公報
従来技術では、保証コードをデータに付加することにより、記憶装置システムの内部でデータ転送が正しく行われたか否かを保証するため、単一の記憶装置システムで運用される記憶システムであれば、十分なデータ保証を行うことも可能である。しかし、異種類の記憶装置システムが混在するいわゆるヘテロ環境下では、各記憶装置システム間でデータ保証方式がそれぞれ異なる可能性が高く、また、類似のデータ保証方式を採用している場合であっても、データ保証コードの構成や検証方法等の細部が相違する。従って、ある記憶装置システムから別の記憶装置システムに転送したデータが正しく記憶された否か、又は、ある記憶装置システムから別の記憶装置システムに読み出されたデータが正しいデータであるか否かを保証することは難しい。ここで、ヘテロ環境とは、例えば、それぞれ供給者が異なる複数種類の記憶装置システムが混在する環境を意味し、例えば、データ入出力に関する基本的機能は共通するがデータ転送時の保証機能のような周辺のサポート機能等で相違する異なる種類の記憶装置システムを、相互に接続して運用する記憶環境を意味する。
一つの記憶システムが同一供給者により提供される複数の記憶装置システムだけで構成されている場合は、上述したLRC等のエラー訂正技術だけで充分であり、各記憶装置システム間で転送されるデータが正しく記憶されたか否か、正しく読み出されたデータであるか否かまで考慮する必要がない。また、供給者は、各記憶装置システムの内部構造を把握しているため、各記憶装置システムのバージョンや処理性能等が異なる場合でも、必要があれば比較的簡単に、各記憶装置システム間を転送されるデータの保証を行うことができる。
しかし、供給者がそれぞれ異なる複数種類の記憶装置システムが混在するヘテロ環境下では、各供給者が統一されたデータ保証方式を採用等する場合を除き、各供給者の記憶装置システム間を転送されるデータが正しいデータであるか否かを保証することは難しい。ある供給者が採用するデータ保証方式は、他の供給者の記憶装置システムにそのまま適用することができず、また、自分以外の他の供給者が提供する記憶装置システムの内部構造等を勝手に改造等することはできないためである。従って、ヘテロ環境下では、仕様や性能等が種々相違する各記憶装置システム間を転送されるデータの信頼性を充分に確保することができず、その改善が求められている。
本発明は、上記の問題点に鑑みてなされたもので、その目的は、それぞれ異なる種類の記憶装置システムが混在する記憶システムにおいて、各記憶装置システム間を転送されるデータを保証することができる記憶システム及び記憶装置システムを提供することにある。本発明の他の目的は、サポート機能がそれぞれ異なる複数種類の記憶装置システムを接続する記憶システムにおいて、高機能の記憶装置システム側で低機能の記憶装置システム側の処理を代替処理可能な記憶システムを提供することにある。本発明の更なる目的は、後述する実施の形態の記載から明らかになるであろう。
上記課題を解決すべく、本発明に従う記憶システムは、それぞれ異なる種類の正記憶装置システムと副記憶装置システムとを相互に接続して構成され、上位装置との間でデータを送受信する記憶システムであって、前記正記憶装置システムは、前記上位装置からデータ書込み要求を受信する受信手段と、前記受信したデータ書込み要求に応じて、書込みを要求されたデータを保持するデータ保持手段と、前記受信したデータ書込み要求に応じて、前記書込みを要求されたデータを前記副記憶システム側に転送し保持させる転送手段と、前記副記憶システム側に保持された前記データが正しいデータであるか否かを保証するデータ保証手段と、を備えて構成されている。
正記憶装置システムは、上位装置により利用される正のデータ群を保持し、副記憶装置システムは、正のデータ群を一対一でコピーしてなる副データ群を保持している。正記憶装置システムと副記憶装置システムとは、例えば、別々の供給者(製造者)により提供されるもので、それぞれ種類が相違する。種類の相違とは、少なくとも各記憶装置システム間でデータ保証機能に相違がある場合を含む意味である。
正記憶装置システムは、上位装置からデータ書込み要求を受信すると、受信データを自機内に保持すると共に、副記憶装置システムにもデータを転送する。さらに、正記憶装置システムは、データ保証手段によって、副記憶装置システムに保持されたデータが正しいデータであるか否か、即ち、副記憶装置システムに転送されたデータが正しく保持されているか、副記憶装置システムから読み出されるデータが正しいデータであるかを検査して保証する。このように、本発明に従う記憶システムでは、正記憶装置システムが副記憶装置システムのデータ保証まで代わりに行うようになっている。従って、正記憶装置システムが、異なる種類の副記憶装置システムと接続されている場合、特に、正記憶装置システムから利用可能なデータ保証機能を備えていない副記憶装置システムと接続されている場合でも、副記憶装置システムに転送されるデータを保証することができ、記憶システムの信頼性を向上させることができる。ここで、正記憶装置システムから利用可能なデータ保証機能を備えていない場合には、副記憶装置システムがデータ保証機能を最初から備えていない場合も含まれる。なお、上位装置への書込み完了報告は、データ保証方式に応じて、副記憶装置システムへのデータ転送と同時に(同期処理)、又は、副記憶装置システムへのデータ転送とは別に(非同期処理)行うことができる。
本発明の一態様では、前記データ保証手段は、前記副記憶装置システムに転送された前記データを前記副記憶装置システムから読出し、前記データ保持手段に保持されているデータと比較することにより、データ保証を行う。
即ち、例えば、正記憶装置システムから副記憶装置システムにデータを転送した後で、この転送したデータを副記憶装置システムから読出し、元のデータと照合することにより、副記憶装置システムに正しくデータが保持されているか否かを検査して保証する。副記憶装置システムは、正記憶装置システムから転送されたデータを保持し、正記憶装置システムからの読出し要求に応じてデータを転送するだけの機能を備えていればよく、データ保証のための新たな機能追加等は必要ない。
本発明の他の態様では、前記データ保証手段は、前記受信手段が前記データ書込み要求を受信した場合に、書込みを要求されたデータに基づいて保証コードを生成する保証コード生成手段と、前記生成された保証コードを保持する保証コード保持手段と、前記副記憶装置システムから読み出されたデータに基づいて保証コードを抽出する抽出手段と、前記保証コード保持手段により保持されている保証コードと前記抽出手段により抽出された保証コードとを比較することにより、データ保証を行う比較手段と、を備えて構成されている。
即ち、正記憶装置システムは、上位装置からデータ書込み要求を受信すると、書込みが要求されたデータに基づいて保証コードを生成する。この保証コードは、書込みが要求されたデータの属性(例えば、論理アドレスやエラー訂正用の冗長符号等)に基づいて生成される。生成された保証コードは、正記憶装置システム内だけで保持され、副記憶装置システムにはデータのみが転送される。副記憶装置システムからデータを読み出した場合に、この読み出したデータに基づいて保証コードを抽出し、正記憶装置システム内に保持されていた保証コードと比較する。正側と副側の2つの保証コードが一致する場合は、正しくデータ転送が行われたことを示し、両コードが一致しない場合は、エラーが発生したものと判定することができる。
本発明の更に別の態様では、前記データ保証手段は、前記受信手段が前記データ書込み要求を受信した場合に、書込みを要求されたデータに基づいて保証コードを生成する保証コード生成手段と、前記生成された保証コードを保持する保証コード保持手段と、前記生成された保証コードと前記書込みを要求されたデータとを関連付けて保証コード付きデータとして前記転送手段により前記副記憶装置システムに転送し保持させる保証コード付きデータ転送手段と、前記副記憶装置システムから読み出された前記保証コード付きデータから保証コードを抽出する抽出手段と、前記保証コード保持手段により保持されている保証コードと前記抽出手段により抽出された保証コードとを比較することにより、データ保証を行う比較手段と、を備えて構成されている。
即ち、上位装置からデータ書込み要求を受信すると、正記憶装置システムは、受信データに基づいて保証コードを生成し、保持する。さらに、正記憶装置システムは、生成した保証コードと受信データとを関連付けて「保証コード付きデータ」として副記憶装置システムに転送する。そして、正記憶装置システムは、副記憶装置システムから保証コード付きデータを読出し、この読み出した保証コード付きデータから保証コードを抽出する。副記憶装置システムから読み出した保証コード付きデータから抽出される保証コードと正記憶装置システムに保持されている保証コードとを比較することにより、副記憶装置システムにデータが正しく保持されているか否かを判定して保証することができる。
ここで、前記保証コード付きデータは、前記副記憶装置システムにより前記書込みを要求されたデータとして認識されるように構成することができる。即ち、上位装置からの受信データの外側に保証コードを付加するのではなく、保証コードと受信データとを一体化させることにより、保証コード付きデータをあたかも上位装置からの受信データであるかのように見せかける。従って、予め受信データのデータ長が所定値(例えば、512bit等)に固定されている場合は、保証コードを一体化させる分だけ受信データのデータ長は標準のデータ長よりも長くなる。
本発明の別の態様では、前記データ保証手段の作動を制御するためのデータ保証選択手段を備えている。
ここで、データ保証手段の作動を制御するとは、データ保証手段によるデータ保証を行うか否かの選択のほかに、データ保証を行う場合のモード選択等が含まれる。また、副記憶装置システム毎にそれぞれ異なるモードでデータ保証を行うように選択することもできる。本発明に従う記憶システムでは、正記憶装置システム側で副記憶装置システム側のデータ保証も一括して行うため、正記憶装置システム側の処理負担が増大する。従って、記憶システムを構成する全ての副記憶装置システムについて、一律にデータ保証を行うのではなく、正記憶装置システムの処理性能やメモリ容量等を考慮し、必要に応じてデータ保証を作動可能にするのが好ましい。
本発明の別の態様では、前記データ保証手段は複数のデータ保証モードを備えており、前記データ保証選択手段は、前記各データ保証モードのうち少なくともいずれか1つを選択するようになっている。
即ち、例えば、正記憶装置システムの処理性能やメモリ容量等を考慮して、データ保証モードを自動的に又はユーザの手動操作により選択することができるようになっている。また、各アプリケーション毎に、又は各副記憶装置システム毎に、データ保証モードをそれぞれ選択するようにしてもよい。適切なデータ保証モードを設定することにより(データ保証を行わない場合も含む)、記憶システムの信頼性を維持しながら効率的に運用することができる。
ここで、前記データ保証手段は、
(1)前記書込みを要求されたデータを前記副記憶装置システムに転送して保持させ、前記副記憶システムに保持された前記データを読み出して、前記正記憶装置システム内に保持されたデータと比較することにより、データの保証を行う第1の保証モードと、(2)前記書込みを要求されたデータに基づいて生成される保証コードを前記正記憶装置システム内で保持し、前記副記憶装置システムから読み出されるデータから抽出される保証コードと前記正記憶装置システム内に保持された保証コードとを比較することにより、データの保証を行う第2の保証モードと、
(3)前記書込みを要求されたデータに基づいて生成される保証コードを前記正記憶装置システム内で保持し、前記保証コードと前記データとを関連付けて構成される保証コード付きデータを前記副記憶装置システムに転送して保持させ、前記副記憶装置システムから読み出される前記保証コード付きデータから抽出される保証コードと前記正記憶装置システム内に保持される保証コードとを比較することにより、データの保証を行う第3の保証モードと、のうち少なくともいずれか2つ以上の保証モードを備えることができる。
即ち、第1の保証モードは、副記憶装置システムに転送したデータを直ちに読み出して、正記憶装置システム内に保持されているデータと照合することにより、データ保証を行うものである。この第1の保証モードは、簡単な構成で実現することができ、正記憶装置システム側の処理負担も少なく、容易に導入することができる。しかし、副記憶装置システムにデータを転送する度にデータを読み出して照合するため、上位装置からの書込み要求に対する応答(書込み完了報告の送信)が遅くなる。従って、正と副の記憶装置システム間の距離が比較的短い場合や正記憶装置システムの処理性能等に余力が乏しい場合に有効である。また、第1の保証モードでは、副記憶装置システムにデータを転送するとき、即ち、副記憶装置システムにリモートコピーを行う時点でデータ保証を行い、副記憶装置システムからのデータ読出し時にはデータ保証を行わないので、保証の信頼度は相対的に低くなる。第2の保証モードでは、正記憶装置システムは、上位装置から受信したデータに基づいて保証コードを生成して管理し、副記憶装置システムには受信データのみを転送する。従って、副記憶装置システムからのデータ読出し時に保証コード同士を照合することにより、データの保証を行うことができ、第1の保証モードよりも信頼性は高くなる。しかし、正記憶装置システム側で保証コードを管理する必要があり、その分だけ正記憶装置システムの処理負担は増大する。第3の保証モードは、正記憶装置システムで生成した保証コードを上位装置からの受信データに関連付けて保証コード付きデータとし、この保証コード付きデータを副記憶装置システムに転送して保持させる。データに保証コードが付加されているので、データ保証の信頼性は最も高くなる。しかし、データに付加される保証コードの分だけ、副記憶装置システムの記憶容量を圧迫する。また、保証コード付きデータ全体として上位装置からの受信データのように見せかけることにより、副記憶装置システム側では、保証コードをデータと分離して管理等する必要が無くなる。しかし、保証コードの分だけデータサイズが大きくなり、副記憶装置システムの記憶領域のフォーマットと異なる可能性が高いため、既存の記憶領域に適用する場合は、例えば、既存データを全て読出してフォーマットをやり直す等の工夫が必要となる。
本発明の別の観点に従う記憶システムは、データ入出力に関するサポート機能がそれぞれ異なる複数種類の記憶装置システムが混在する記憶システムであって、前記複数種類の記憶装置システムのうち高機能の記憶装置システムが、前記複数種類の記憶装置システムのうち低機能の記憶装置システム用の所定のサポート機能を代替処理で実行する。
データ入出力に関するサポート機能とは、データ入出力操作という基本機能を直接的に又は間接的に補助する機能を意味し、例えば、データ入力時やデータ出力時に正しいデータが取り扱われているか否かを保証するデータ保証機能等を挙げることができる。基本的なデータ入出力機能が共通する複数の記憶装置システムを相互に接続してなる記憶システムでは、例えば、各供給者の設計思想等の相違から、各記憶装置システム毎に副次的なサポート機能がそれぞれ相違する場合がある。また、各供給者毎に、記憶装置システムのCPU性能や搭載メモリ量、記憶装置システムに実装されるプログラム部品等が種々相違する。そこで、本発明に従う記憶システムでは、それぞれ異なる複数種類の記憶装置システムのうち、高機能の記憶装置システムが低機能の記憶装置システム用の所定のサポート機能を代替処理で実行する。換言すれば、他の記憶装置システムをサポート可能な余力のある高機能(高性能)の記憶装置システムで、低機能の記憶装置システムに用いられる所定のサポート機能を実行させる。これにより、高機能の記憶装置システムが所定のサポート機能を主導することができ、複数種類の記憶装置システムが混在する環境下でも、所定の信頼性を確保することができる。
例えば、前記高機能の記憶装置システムは、前記所定のサポート機能を実行する所定のイベントが発生したか否かを判定する判定手段と、前記所定のイベントが発生したと判定された場合は、前記所定のサポート機能を前記低機能の記憶装置システムに代わって代替処理で実行する代替処理手段とを備えている。
前記代替処理手段は、前記所定のサポート機能を同期処理又は非同期処理で実行することができる。
ここで、同期処理とは、所定のサポート機能を実行すべき所定のイベントの発生時と所定のサポート機能の実行時とが略同期していることを意味し、非同期処理とは、所定のイベントの発生と所定のサポート機能の実行とが同期せずに別々のタイミングで行われることを意味する。
前記代替処理手段は、前記所定のサポート機能に係るデータに冗長データを加えることなく、又は、前記所定のサポート機能に係るデータに該データに由来する冗長データを付加することにより、前記所定のサポート機能を代替処理することができる。
例えば、代替処理手段は、所定のサポート機能に係るデータに何ら冗長データを加えることなく、データ操作の方法を変える等して所定のサポート機能を実行することができる場合がある。また、代替処理手段は、所定のサポート機能に係るデータに冗長データ(例えば、データに由来する冗長データ)を付加することにより、所定のサポート機能を実行できる場合がある。
本発明の一態様では、前記代替処理手段による前記所定のサポート機能の代替処理の動作モードを選択する選択手段を備えている。
動作モードには、所定のサポート機能の代替処理を行わない場合も含む。高機能の記憶装置システムの処理性能やメモリ容量等を考慮して、適切な動作モードを選択することにより、異種類の記憶装置システムが混在する記憶システムの利便性を高めつつ、効率的に運用することができる。
本発明の他の観点に従う記憶装置システムは、上位装置及び異種類の記憶装置システムにそれぞれ接続される記憶装置システムであって、前記上位装置からデータ書込み要求を受信する受信手段と、前記受信したデータ書込み要求に応じて、書込みを要求されたデータを保持するデータ保持手段と、前記受信したデータ書込み要求に応じて、前記書込みを要求されたデータを前記異種類の記憶装置システム側に転送し保持させる転送手段と、前記異種類の記憶装置システム側に保持された前記データが正しいデータであるか否かを保証するデータ保証手段と、を備えて構成されている。
前記データ保証手段は、前記異種類の記憶装置システムに転送された前記データを前記異種類の記憶装置システムから読出し、前記データ保持手段に保持されているデータと比較することにより、データ保証を行うことができる。
また、前記データ保証手段は、前記受信手段が前記データ書込み要求を受信した場合に、書込みを要求されたデータに基づいて保証コードを生成する保証コード生成手段と、前記生成された保証コードを保持する保証コード保持手段と、前記異種類の記憶装置システムから読み出されたデータに基づいて保証コードを抽出する抽出手段と、前記保証コード保持手段により保持されている保証コードと前記抽出手段により抽出された保証コードとを比較することにより、データ保証を行う比較手段と、を備えて構成することができる。
さらに、前記データ保証手段は、前記受信手段が前記データ書込み要求を受信した場合に、書込みを要求されたデータに基づいて保証コードを生成する保証コード生成手段と、前記生成された保証コードを保持する保証コード保持手段と、前記生成された保証コードと前記書込みを要求されたデータとを関連付けて保証コード付きデータとして前記転送手段により前記異種類の記憶装置システムに転送し保持させる保証コード付きデータ転送手段と、前記異種類の記憶装置システムから読み出された前記保証コード付きデータから保証コードを抽出する抽出手段と、前記保証コード保持手段により保持されている保証コードと前記抽出手段により抽出された保証コードとを比較することにより、データ保証を行う比較手段と、を備えて構成することができる。
本発明のさらに別の観点に従うプログラムは、上位装置及び異種類の記憶装置システムにそれぞれ接続される記憶装置システムを制御するためのプログラムであって、前記上位装置から受信したデータ書込み要求に応じて、書込みを要求されたデータを記憶手段に保持させるローカル側保持機能と、前記受信したデータ書込み要求に応じて、前記書込みを要求されたデータを前記異種類の記憶装置システム側に転送し保持させる転送機能と、前記異種類の記憶装置システム側に保持された前記データが正しいデータであるか否かを保証するデータ保証機能と、を実現する。
以下、図1〜図12に基づき、本発明の実施の形態を説明する。
図1〜図3に基づいて、本発明の第1の実施の形態を説明する。本実施例による記憶システムは、それぞれ種類の異なる正記憶装置システム10と副記憶装置システム40とを相互に接続して構成されており、ホストコンピュータ1により利用されるようになっている。
ホストコンピュータ1は、例えば、CPU(Central Processing Unit)やメモリ等を備えたコンピュータシステムである。ホストコンピュータ1のCPUが各種プログラムを実行することにより、種々の機能が実現される。ホストコンピュータ1は、例えば、パーソナルコンピュータやワークステーション、あるいはメインフレームコンピュータとして構成される。
あるホストコンピュータ1は、記憶装置システム10とLAN(Local Area Network)2を介して接続することができる。また、別のホストコンピュータ1は、SAN(Storage Area Network)3を介して記憶装置システム10,40とそれぞれ接続することもできる。また、ホストコンピュータ1は、図示せぬ専用線を介して直接的に記憶装置システム10と接続も可能である。
LAN2は、例えば、インターネットようなネットワークでもよいし、又は専用ネットワークでもよい。LAN2を介して行われるデータ通信は、例えば、TCP/IP(Transmission Control Protocol/Internet Protocol)プロトコルに従って行われる。LAN2に接続されたホストコンピュータ1は、記憶装置システム10に対して所定のコマンドを送信することにより、ファイル名指定によるデータアクセス要求(ファイル単位でのデータ入出力要求)を行うことができる。
SAN3は、ディスク装置群30又はディスク装置群60により提供される記憶領域のデータ管理単位であるブロックを単位として、データの授受を行うためのものである。SAN3を介して行われる通信は、一般に、ファイバチャネルプロトコルに従う。SAN3に接続されたホストコンピュータ1は、ファイバチャネルプロトコルに従って、ブロック単位でのデータアクセス要求を行うようになっている。
また、SAN3側のみ図示するが、LAN2及びSAN3には、それぞれバックアップ装置4が接続されている。バックアップ装置4としては、例えば、MO(magneto-optic:光磁気型記憶装置)、CD−R(CD-Recordable:読み書き可能なコンパクトディスク)、DVD-RAM(Digital Versatile Disk-RAM:読み書き可能なDVD)等のディスク系記憶デバイスや、例えば、DAT(Digital Audio Tape)テープ、カセットテープ、オープンテープ、カートリッジテープ等のテープ系記憶デバイス等を用いることができる。バックアップ装置4は、ディスク装置群30と通信を行うことにより、定期的に又は不定期にディスク装置群30に記憶されているデータのバックアップを取ることができる。
本記憶システムは、それぞれ異なる種類の記憶装置システム10,40を備えている。より多くの記憶装置システムから構築することもできるが、説明の便宜上2つの記憶装置システム10,40を例に挙げて説明する。
一方の記憶装置システム10は、ホストコンピュータ1の近傍に設置されたローカルディスクシステム(プライマリサイト)であり、そのディスク装置群30には正論理ボリュームが論理的に形成される。他方の記憶装置システム40は、ローカルディスクシステムから離れた場所に設置されるリモートディスクシステム(セカンダリサイト)であり、そのディスク装置群60には、正論理ボリュームに対応する副論理ボリュームが形成されている。
以下、正記憶装置システム10をローカルディスクシステム、副記憶装置システム40をリモートディスクシステムとそれぞれ呼ぶことにする。ここで、ローカルディスクシステム10とリモートディスクシステム40とは、それぞれ供給者(製造者)が相違し、データ入出力に関する基本的仕様は共通するが、データ保証等のサポート機能は互いに相違している。即ち、図示の記憶システムは、それぞれ異なる種類のディスクシステム10,40が混在するというヘテロ環境になっている。
まず、ローカルディスクシステム10の構成について説明する。ローカルディスクシステム10は、制御装置20と、制御装置20により制御される複数のディスク装置群30とに大別される。制御装置20は、それぞれ後述するように、MPU(Micro Processing Unit)21と、チャネル制御部22と、接続部23と、ディスク制御部24と、共有メモリ25と、キャッシュメモリ26と、キャッシュコントローラ27とを備えて構成することができる。制御装置20は、ホストコンピュータ1から受信した各種のコマンドに従ってデバイス装置群30に対する制御を行う。例えば、制御装置20は、ホストコンピュータ1からデータの入出力要求を受信すると、ディスク装置群30に記憶されているデータの入出力処理を行う。各ディスク装置群30が備える複数のディスク記憶装置31により提供される物理的な記憶領域上には、論理的な記憶領域である論理ボリューム(Logical Unit)が設定されている。
MPU21は、図示せぬ内部LANにより、各チャネル制御部22、各ディスク制御部24、共有メモリ25、キャッシュコントローラ27等の必要な回路と相互に接続されている。MPU21は、プログラムメモリ(図示せず)内に格納されたプログラムコードを読み出して実行することにより、制御装置20の全体動作を制御する。また、MPU21には、ローカルディスクシステム10のマンマシンインターフェースとなるコンソール28が接続されている。ユーザは、コンソール28を介して、後述するデータ保証モードの選択等を行うことができるようになっている。
各チャネル制御部22は、制御装置20と各ホストコンピュータ1との間のデータ通信を行うものである。各チャネル制御部22は、それぞれに接続されるホストコンピュータ1と通信を行うための通信インターフェースを有し、また、ホストコンピュータ1から受信した各種コマンドを解釈して処理するためのコマンドプロセッサ機能を備える。各チャネル制御部22には、それぞれを識別するためのネットワークアドレス(例えば、IPアドレス)が割り当てられており、各チャネル制御部22は、それぞれが個別にNAS(Network Attached Storage)として振る舞うようになっている。従って、各チャネル制御部22は、各ホストコンピュータ1からのデータ入出力要求をそれぞれ個別に受け付ける。各チャネル制御部22は、ハードウェア回路やソフトウェア等により実現される。
接続部23は、例えば、高速スイッチング動作によりデータ伝送を行う超高速クロスバスイッチ等のような高速バスとして構成されている。接続部23は、各チャネル制御部22と、各ディスク制御部24と、共有メモリ25と、キャッシュコントローラ27とを相互に接続する。これらの各チャネル制御部22、各ディスク制御部24、キャッシュコントローラ27との間のデータやコマンドの授受は、接続部15を介して行われる。
各ディスク制御部24は、各ディスク装置群30を制御するものである。例えば、ディスク制御部24は、チャネル制御部22がホストコンピュータ1から受信した書込み要求に従って、ディスク装置群30の所定のアドレスにへデータを書き込む。また、ディスク制御部24は、論理アドレスを物理アドレスに変換することにより、論理ボリュームに対するデータアクセス要求を物理ディスクへのデータアクセス要求に返還する。さらに、ディスク制御部24は、ディスク装置群30がRAIDにより管理されている場合は、RAID構成に従ったデータアクセスを行う。また、ディスク制御部24は、デバイス装置群30に記憶されたデータの複製管理制御やバックアップ制御も行う。さらに、ディスク制御部24は、災害発生時のデータ消失防止(ディザスタリカバリ)等を目的として、プライマリサイトの記憶装置システム10のデータの複製をセカンダリサイトに設置された他の記憶装置システム40にも記憶させる制御(レプリケーション機能またはリモートコピー機能と呼ばれる)等も行う。
共有メモリ25及びキャッシュメモリ26は、各チャネル制御部22や各ディスク制御部24等により共有される記憶メモリである。共有メモリ12には、主として制御情報やコマンド等が格納されるようになったおり、また、共有メモリ12はワーク領域等の用途に使用される。キャッシュメモリ26は、主として、ホストコンピュータ1から受信したデータやディスク装置群30から読み出されたデータ等を記憶するために利用される。例えば、チャネル制御部22がホストコンピュータ1から書込み要求のコマンドを受信した場合、チャネル制御部22は、この書込みコマンドを共有メモリ25に書き込むと共に、ホストコンピュータ1から受信した書込みデータをキャッシュメモリ26に書き込む。一方、ディスク制御部24は、共有メモリ25を監視している。ディスク制御部24は、共有メモリ25に書込みコマンドが書き込まれたことを検出すると、当該コマンドに従ってキャッシュメモリ26から書込みデータを読出し、読み出したデータをディスク装置群30に書き込む。
キャッシュコントローラ27は、キャッシュメモリ26へのデータ入出力を管理するものである。各チャネル制御部22や各ディスク制御部24は、キャッシュコントローラ27を介してキャッシュメモリ26へのデータ書込み、データ読出しを行う。詳細は図2と共に後述するが、本実施例では、キャッシュコントローラ27において、リモートディスクシステム40にコピーするデータの保証を行うようになっている。しかし、本発明はこれに限らず、例えば、MPU21でデータ保証を行っても良いし、チャネル制御部22でデータ保証を行う構成としてもよい。
次に、コンソール28について説明する。ユーザがコンソール28を介してMPU21に指示を与えると、MPU21は、ユーザからの指示に応じて、ローカルディスクシステム10の環境設定等を行う。また、ローカルディスクシステム10の各種ステータス情報等は、コンソール28の画面を通じて、ユーザに提供される。より詳しくは、ユーザは、コンソール28を操作することで、論理ボリュームの設定、ディスク記憶装置31の増設や減設、RAID構成の変更等を行うことができる。また、ユーザは、コンソール28の画面を介して、ローカルディスクシステム10の動作状態を確認したり、障害発生等を監視できる。
ディスク装置群30は、多数のディスク記憶装置31をアレイ状に配設して構成されており、ホストコンピュータ1に対してRAIDにより管理される記憶領域を提供するものである。ディスク記憶装置31としては、例えば、ハードディスク装置、フレキシブルディスク装置、半導体記憶装置等の種々のデバイスを用いることができる。各ディスク制御部24と各ディスク装置群30とは、図1中に示すように、直接的に接続してもよいし、ネットワークを介して間接的に接続してもよい。また、ディスク装置群30とディスク制御部24とを一体的に構成することもできる。ディスク装置群30に設定される論理ボリュームには、ホストコンピュータ1からアクセス可能なユーザディスクや、チャネル制御部22の制御に使用されるシステムディスク等が含まれる。また、各チャネル制御部22毎にそれぞれ1つの論理ボリュームを割り当てることもできるし、複数のチャネル制御部22で1つの論理ボリュームを共有することもできる。
次に、リモートディスクシステム40について説明する。リモートディスクシステム40は、ローカルディスクシステム10から離れた遠隔地に設置されており、SAN3を介して各ディスクシステム10,40は接続されている。リモートディスクシステム40は、リモートコピー機能(又はレプリケーション機能)により、ローカルディスクシステム10のディスク装置群30に記憶されているデータの複製先装置として利用される。なお、ローカルディスクシステム10とリモートディスクシステム40とは、SAN3に限らず、例えば、ATM(Asynchronous Transfer Mode)等の通信回線を介して接続する構成としてもよい。なお、図中では、ローカルディスクシステムをローカルシステムと、リモートディスクシステムをリモートシステムと、それぞれ略記する場合がある。
既に述べたとおり、リモートディスクシステム40は、ローカルディスクシステム10の供給者とは異なる供給者により提供されるもので、各ディスクシステム10,40の種類は異なる。従って、リモートディスクシステム40は、ローカルディスクシステム10と全く異なる構造を有する場合もあるが、本実施の形態では、説明の便宜上、ローカルディスクシステム10に類似の構成を有するものとする。
例えば、リモートディスクシステム40は、制御装置50と、制御装置50により制御されるディスク装置群60を備えて構成される。そして、制御装置50は、例えば、MPU51と、チャネル制御部52と、接続部53と、ディスク制御部54と、共有メモリ55と、キャッシュメモリ56とを備えて構成することができる。簡単に説明すると、MPU51は、リモートディスクシステム40の全体を制御する。チャネル制御部52は、SAN3を介するデータ通信を行う。接続部53は、チャネル制御部52と、ディスク制御部54と、共有メモリ55及びキャッシュメモリ56との間の接続を行う。ディスク制御部54は、ディスク装置群60との間でデータの入出力を行う。共有メモリ55には、各種制御情報等が記憶される。キャッシュメモリ56には、ローカルディスクシステム10から転送されたデータ等が記憶される。ディスク装置群60は、複数のディスク記憶装置から構成され、各ディスク記憶装置が提供する物理的記憶領域には、正論理ボリュームに対応する副論理ボリュームが設定されている。
リモートコピー時に、ローカルディスクシステム10からSAN3を介してリモートディスクシステム40に転送されたデータは、キャッシュメモリ56に記憶される。キャッシュメモリ56に記憶されたデータは、ディスク制御部54によりアドレス変換等が行われた後、ディスク装置群60に記憶される。一方、ローカルディスクシステム10からデータの読出しが要求された場合、ディスク制御部54はディスク装置群60からデータを読出してキャッシュメモリ56に記憶する。キャッシュメモリ56に記憶されたデータは、チャネル制御部52からSAN3を介してローカルディスクシステム10に送信される。
本記憶システムにおいて、リモートディスクシステム40は、ローカルディスクシステム10から送信されたデータの記憶と、ローカルディスクシステム10から要求されたデータの送信という、基本的なデータ入出力機能を実行することができればよい。ローカルディスクシステム10から受信したデータを正しく記憶しているか(アドレス異常等が生じていないか)を検証するデータ保証作業は、後述するように、専らローカルディスクシステム10で担当する。
次に、図2を参照して、ローカルディスクシステム10のキャッシュコントローラ27の機能を説明する。図2は、キャッシュコントローラ27を中心とする要部のブロック図であり、チャネル制御部22やディスク制御部24等は図示を省略している。キャッシュコントローラ27は、それぞれ後述するように、ローカルディスク書込み部101と、リモートディスク書込み部102と、リモートディスク読出し部103と、書込み判定部104とを備えている。ここで、以下の説明では、ローカルディスクシステム10の正論理ボリュームをローカルディスク、リモートディスクシステムの副論理ボリュームをリモートディスク、とそれぞれ称する場合がある。
ローカルディスク書込み部101は、ホストコンピュータ1からチャネル制御部22を介して受信したデータ書込み要求に従って、受信データをキャッシュメモリ26に書き込む。キャッシュメモリ26に書き込まれたデータは、ディスク制御部24によりアドレス変換等が行われた後、ディスク装置群30の所定領域に記憶される。ローカルディスクへのデータ書込みが完了すると、リモートディスク書込み部102は、ホストコンピュータ1から受信したデータをSAN3を介してリモートディスクシステム40に送信し、キャッシュメモリ56に記憶させる。リモートディスクシステム40のキャッシュメモリ56に記憶されたデータは、ディスク制御部54によりアドレス変換等が行われた後、リモートディスクに記憶される。リモートディスクへの書込みが行われると、リモートディスク読出し部103は、SAN3等を介して、リモートディスクに保持されたばかりのデータを直ちに読出す。リモートディスクから読み出されたデータは、SAN3からチャネル制御部22を介して、書込み判定部104に入力される。また、ローカルディスクに書き込まれたデータも書込み判定部104に入力される。これにより、書込み判定部104は、ローカルディスクに書き込まれたデータとリモートディスクへ転送した直後にリモートディスクから読み出されたデータとを比較し、両者が同一であるか否かを判定する。両方のデータが同一である場合(データの内容及び論理アドレスが一致する場合)、書込み判定部104は、リモートディスクへのデータ転送が正常に行われたと判定し、データ保証を行う。逆に、両方のデータが不一致の場合、書込み判定部104は、データ転送が正常に行われなかったものと判定し、MPU21にエラーを通知する。正常なデータ転送が行われなかった場合、再度データがリモートディスクシステム40に転送され、データ転送が正常に行われたか否かの検査が再び行われる。
なお、ローカルディスクへのデータ書込みとリモートディスクへのデータ転送とは並行処理で行われてもよい。また、リモートディスクシステム40のキャッシュメモリ56にデータが保持された時点で、リモートディスクへの書込みが行われたものと判定してもよい。さらに、ディスク制御部24で行うアドレス変換処理をキャッシュコントローラ27で実行してもよい。
以上の処理の流れを図3のタイムチャートに基づいて説明する。まず、ホストコンピュータ1は、データの書込み要求をローカルディスクシステム10に送信する(S1)。このデータ書込み要求には、ローカルディスクの所定の記憶領域を指定する論理アドレス(Logical Address)とデータとが含まれている。
ホストコンピュータ1からSAN3等を介してデータ書込み要求を受信すると、ローカルディスクシステム10は、ディスク制御部24等を介して、受信データをローカルディスクの所定箇所に書き込む(S2)。また、ローカルディスクシステム10は、リモートディスクシステム40に対し、データの書込みを要求する(S3)。リモートディスクシステム40は、ローカルディスクシステム10から受信したデータをキャッシュメモリ56に記憶し、論理アドレスで指定された所定の記憶領域にデータを書き込む(S4)。リモートディスクシステム40は、リモートディスクにデータを書き込むと(あるいは、キャッシュメモリ56にデータを保持した時点で)、書込み完了通知をローカルディスクシステム10に送信する(S5)。
ローカルディスクシステム10は、リモートディスクシステム40から書込み完了通知を受信すると、リモートディスクに書き込まれたばかりのデータの読出しを、リモートディスクシステム40に対して要求する(S6)。リモートディスクシステム40は、ローカルディスクシステム10からデータ読出し要求を受信すると、書き込んだばかりのデータを読み出し(S7)、読み出したデータをローカルディスクシステム10に送信する(S8)。ローカルディスクシステム10は、ローカルディスクに書き込んだデータと、リモートディスクから読み出されたデータとを比較し、両者が一致するか否かを判定する(S9)。両データが一致する場合、ローカルディスクシステム10は、データ転送が正常に行われたものと判定し、ホストコンピュータ1に対して、書込み完了報告を通知する(S10)。本実施例では、ローカルディスクシステム10からリモートディスクシステム40へのデータ転送と、ローカルディスクシステム10からホストコンピュータ1への書込み完了報告とが同期して行われる。一方、ローカルディスクに書き込まれたデータとリモートディスクから読み出されたデータとが不一致の場合、ローカルディスクシステム10は、正常なデータ転送が行われなかったものと判定し、S3に戻って、再びデータをリモートディスクシステム40に送信する。
本実施例は以上詳述した通りであって、それぞれ供給者が異なり、搭載機能等が種々相違するローカルディスクシステム10とリモートディスクシステム40とが混在する記憶システムの場合でも、ローカルディスクシステム10側でリモートディスクシステム40側のデータ保証処理を行うことができる。従って、いわゆるヘテロ環境下の記憶システムでも、データ保証を実現して信頼性を高めることができる。
また、本実施例では、リモートディスクシステム40に転送したデータを直ちに読み出して、ローカルディスクシステム10に保持されたデータと比較する構成であるから、簡単な構成でリモートディスクシステム40のデータ保証を実現できる。また、ローカルディスクシステム10の処理負担も比較的少なくて済むため、ローカルディスクシステム10のコンピュータ資源(処理性能やメモリ容量等)に余力が乏しい場合でも、リモートディスクシステム40のデータ保証を代替処理して記憶システムの信頼性を高めることができる。
別の観点に従えば、データ入出力に関するサポート機能の一種であるデータ保証を、高機能のローカルディスクシステム10が低機能のリモートディスクシステム40の分まで代替処理するため、記憶システムを構成する各記憶装置システムのコンピュータ資源を有効に利用して、記憶システム全体の信頼性を高めることができる。
次に、図4〜図7を参照して、本発明の第2実施例を説明する。本実施例の特徴は、ホストコンピュータ1から受信したデータに基づいて保証コードを生成し、保証コードはローカルディスクシステム側で管理し、データのみをリモートディスクシステム側に転送する点にある。
図4のシステム全体図及び図5の要部ブロック図にも示すように、本実施例のローカルディスクシステム10では、キャッシュコントローラ110が保証コード設定部116を備えている点で、前記実施例と相違する。図2は、キャッシュコントローラ110を中心とする要部のブロック図である。キャッシュコントローラ110は、例えば、ローカルディスク書込み部111と、リモートディスク書込み部112と、リモートディスク読出し部113と、保証コード設定部114と、保証コード抽出部115と、保証コード判定部116とを備えて構成することができる。
ローカルディスク書込み部112は、ホストコンピュータ1からのデータ書込み要求に応じて、受信したデータをキャッシュメモリ26に記憶させる。キャッシュメモリ26に記憶されたデータは、ディスク制御部24によりローカルディスクに記憶される。リモートディスク書込み部112は、ホストコンピュータ1から受信したデータをSAN3を介してリモートディスクシステム40に送信し、リモート側のキャッシュメモリ56に記憶させる。リモートディスク読出し部113は、データ読出し要求に応じて、リモートディスクからデータを読み出すものである。
保証コード設定部114は、ホストコンピュータ1から受信したデータに基づいて、保証コードを生成し、生成した保証コードを受信データに関連付けて設定するものである。保証コードは、ホストコンピュータ1から受信したデータの属性に基づいて生成されるものである。即ち、保証コードは、例えば、受信データが格納されるべき論理アドレスやエラー訂正用の情報(LRC等)に基づいて、生成することができる。生成された保証コードは、受信データに対応付けられて、キャッシュメモリ26内に形成された保証コード管理テーブル117に記憶される。
保証コード抽出部115は、リモートディスク113から読み出したデータに基づいて、保証コードを抽出(生成)する。即ち、保証コード抽出部115は、保証コード設定部114と同一の方法に従って、リモートディスクから読み出したデータの属性に基づいて、保証コードを生成する。リモートディスクに記憶されるデータは、ローカルディスクに記憶されるデータのコピーである。従って、リモートコピーが正常に行われている場合、ローカルディスクに記憶されるデータの属性に基づいて生成されるローカル側の保証コード(オリジナル保証コード)とリモートディスクに記憶されるデータの属性に基づいて生成されるリモート側の保証コードとは、同一となる。そこで、保証コード判定部116は、保証コード抽出部115から入力されるリモート側の保証コードと、保証コード管理テーブル117から読み出されるローカル側の保証コードとを比較することにより、両保証コードが一致するか否かを判定する。両保証コードが一致する場合は、データ転送(リモートコピー)が正常に行われたものと判定し、リモートディスクから正常にデータが読み出されたことを保証することができる。一方、両保証コードが不一致の場合は、リモートディスクから読み出したデータに異常が生じている場合なので、MPU21にエラーを通知する。
図6は、リモート側保証コード(GC(R))とローカル側保証コード(GC(L))とを比較する様子を示す模式図である。図6(a)に示すように、リモートディスクから読み出されたD1は、保証コードを備えていない。即ち、リモートディスクシステム40では、保証コードを管理していない。図6(b)に示すように、保証コード抽出部115は、リモートディスクから読み出したデータD1に基づいて、リモート側の保証コード(GC(R))を生成する。一方、図6(d)に示すように、保証コード管理テーブル117には、ホストコンピュータ1から受信したデータ毎に、論理アドレスLAと保証コードとがそれぞれ対応付けられて記憶されている。図6(c)に示すように、あるデータをリモートディスクから読み出す場合、保証コード判定部116は、読み出すべきデータの論理アドレスを検索キーとして保証コード管理テーブル117を検索し、該当する保証コード(GC(L))を読み出す。このようにして、それぞれ得られたリモート側保証コード(GC(R))とローカル側保証コード(GC(L))とを比較する。そして、両者が一致する場合はデータ保証を行うことができ、両者が不一致の場合はエラー通知を出す。なお、上述した保証コードの生成、比較等の各処理は、キャッシュコントローラ110内で実行させる場合に限らない。例えば、割込処理等でMPU21により実行させることもできる。また、あるいは、保証コードの設定をディスク制御部24で実行し、リモート側保証コードの生成をチャネル制御部22で実行し、両保証コードの比較をMPU21で実行するようにしてもよい。さらに、保証コード管理テーブル117は、キャッシュメモリ26に限らず、例えば、保証コード専用のディスクを設けてもよい。
以上の処理の流れを図7のタイムチャートに基づいて説明する。まず、ホストコンピュータ1は、SAN3を介して、データ書込み要求をローカルディスクシステム10に送信する(S11)。このデータ書込み要求には、書き込むべきデータと、データを書き込むべき位置(論理アドレス)とが含まれている。ローカルディスクシステム10は、ホストコンピュータ1からのデータ書込み要求に基づいて、保証コードを生成し(S12)、生成した保証コードを保証コード管理テーブル117に登録する(S13)。
次に、ローカルディスクシステム10は、ホストコンピュータ1から受信したデータ書込み要求に従って、リモートディスクシステム40に対し、データの書込みを要求する(S14)。このデータ書込み要求には、書き込むべきデータとデータを書き込むべき論理アドレスとが含まれており、S12で生成された保証コードは含まれていない。リモートディスクシステム40は、ローカルディスクシステム10からSAN3を介して受信したデータをキャッシュメモリ56に記憶し、キャッシュメモリ56に記憶したデータをディスク装置群60の所定位置に格納させる(S15)。そして、リモートディスクシステム40は、指定された論理アドレスへのデータの記憶が完了した旨をローカルディスクシステム10に通知する(S16)。ローカルディスクシステム10は、リモートディスクシステム40から書込み完了通知を受信すると、ホストコンピュータ1に対してデータ書込みが完了した旨を報告する(S17)。従って、本実施例では、リモートディスクシステム40へのデータ転送とホストコンピュータ1への書込み完了通知とが同期処理で行われる。
ホストコンピュータ1がリモートディスクから所定のデータを読み出して利用する場合、ホストコンピュータ1は、ローカルディスクシステム10にデータ読出し要求を送信する(S18)。ローカルディスクシステム10は、ホストコンピュータ1からの要求に応じて、リモートディスクシステム40にデータの読出しを要求する(S19)。リモートディスクシステム40は、ローカルディスクシステム10からの要求に応じて、リモートディスクの所定の論理アドレスに記憶されたデータを読出し(S20)、読み出したデータをローカルディスクシステム10に送信する(S21)。
ローカルディスクシステム10は、リモートディスクシステム40からデータを受信すると、この受信したデータに基づいてリモート側の保証コードを生成する(S22)。ローカルディスクシステム10は、S13で保証コード管理テーブル117に記憶されたローカル側の保証コードと、S22で生成されたリモート側の保証コードとを比較する(S23)。そして、両保証コードが一致する場合、ローカルディスクシステム10は、リモートディスクシステム40から読み出されたデータは正常なデータであると判定し、このデータをSAN3を介してホストコンピュータ1に送信する(S24)。一方、リモート側の保証コードとローカル側の保証コードとが不一致の場合、ローカルディスクシステム10は、エラー処理を行う(S25)。エラー処理としては、例えば、ローカルディスクに記憶されている正常なデータをリモートディスクへ再度コピーする処理等を挙げることができる。
このように構成される本実施例でも、リモートディスクシステム40におけるデータ保証をローカルディスクシステム10が代替処理するため、上述した実施例と同様の効果を得ることができる。これに加えて、本実施例では、データに由来する保証コードを生成し、ローカル側の保証コードとリモート側の保証コードとを比較する構成のため、より高い信頼性をもったデータ保証を行うことができる。また、保証コードは、ローカルディスクシステム10側で作成して管理し、リモートディスクシステム40はデータのみを管理するため、リモートディスクシステム40側に何ら機能変更等を行う必要が無く、比較的容易に記憶システムの信頼性を向上させることができる。
次に、図8〜図10に基づいて、本発明の第3実施例を説明する。本実施例の特徴は、保証コードとデータとを一体化し、リモートディスクシステム40側でも保証コードを保持させる点にある。
図8は、ローカルディスクシステム10のキャッシュコントローラ120を中心とする要部ブロック図である。上記同様に、チャネル制御部22及びディスク制御部24等は図示が省略されている。このキャッシュコントローラ120は、ローカルディスク書込み部121と、リモートディスク書込み部122と、リモートディスク読出し部123と、保証コード設定部124と、保証コード抽出部125と、保証コード判定部126とを備えている。
ローカルディスク書込み部121は、ホストコンピュータ1からのデータ書込み要求に基づいて、受信データをキャッシュメモリ26に記憶させ、キャッシュメモリ26からディスク制御部24を介してディスク装置群30の所定の領域にデータを記憶させるものである。リモートディスク書込み部122は、ホストコンピュータ1からのデータ書込み要求に基づいて、リモートディスクシステム40のリモートディスクにデータをコピーさせるものである。リモートディスク読出し部123は、リモートディスクの所定の論理アドレスに記憶されたデータを読み出すものである。保証コード設定部124は、ホストコンピュータ1から受信したデータに基づいて保証コードを生成する。上記同様に、保証コードは、受信データを一意に特定するユニークな情報であり、受信データの属性から生成される。
保証コード設定手段124により生成された保証コードは、保証コード管理テーブル127に登録され管理される。また、保証コードは、保証コード設定手段124からリモートディスク書込み部122に入力される。リモートディスク書込み部122は、ホストコンピュータ1から受信したデータに保証コードを関連付けることにより、受信データと保証コードとを一体化した「保証コード付きデータ」として、リモートディスクシステム40に送信する。リモートディスクシステム40は、カプセル化された保証コード付きデータの全体を、リモートディスクに書き込むべきデータであると認識し、保持する。
保証コード抽出部125は、リモートディスク読出し部123によりリモートディスクから読み出された保証コード付きデータに基づいて、保証コードのみを抽出する。保証コード判定部126は、保証コード管理テーブル127に管理されているローカル側の保証コードと、保証コード抽出部125により保証コード付きデータから抽出された保証コードとを比較する。両保証コードが一致する場合、保証コード判定部126は、リモートディスクから正しいデータが読み出された事を保証することができる。一方、両保証コードが不一致の場合、保証コード判定部126は、MPU21にエラーを通知する。
図9を参照する。図9(a)に示すように、リモートディスクには、保証コードGC(R)とデータD1とが関連付けられて一体化された保証コード付きデータが記憶されている。保証コード付きデータは、受信データと保証コードとが一体化されているので、元の受信データよりはデータ長が長くなる。例えば、受信データのデータ長が512bitであり、保証コードが8bitの場合は、保証コード付きデータは最低でも520bitのデータ長さを有する。保証コード抽出部125は、保証コード付きデータからリモート側の保証コードGC(R)を分離して抽出する。一方、保証コード判定部126は、指定された論理アドレスに基づいて、保証コード管理テーブル127からローカル側の保証コードGC(L)を読み出す。保証コード判定部126は、両保証コードを比較することにより、リモートディスクシステム40側のデータ保証を代替して実行する。
図10のタイムチャートを参照して動作の流れを説明する。まず、ホストコンピュータ1は、ローカルディスクシステム10に対し、データ書込み要求を送信する(S31)。ローカルディスクシステム10は、データ書込み要求に応じて、保証コードを生成し(S32)、生成した保証コードを受信データに関連付けて保証コード管理テーブル127に記憶させる(S33)。次に、ローカルディスクシステム10は、リモートディスクシステム40に対し、データの書込みを要求する(S34)。ここで、ローカルディスクシステム10からリモートディスクシステム40に送信されるデータは、上述のように、ホストコンピュータ1から受信したデータと該データに基づいて生成される保証コードとを関連付け、一体化してなる保証コード付きデータである。
リモートディスクシステム40は、保証コード付きデータを受信すると、この保証コード付きデータの全体を「受信データ」としてキャッシュメモリ56に保持し、キャッシュメモリ56からディスク制御部54を介してディスク装置群60に記憶させる(S35)。ここで、上述のように、保証コード付きデータは、一体的に付加される保証コードの分だけデータサイズが増大する。従って、リモートディスクシステム40へ記憶可能な実効的記憶容量は低下する。また、リモート側のディスク装置群60のフォーマットと保証コード付きデータのデータサイズとが不一致の場合が多いと考えられるため、新品のディスクに保証コード付きデータを記憶させる。リモートディスクシステム40は、保証コード付きデータを記憶すると、ローカルディスクシステム10に書込み完了を報告する(S36)。ローカルディスクシステム10は、リモートディスクシステム40から書込み完了を受信すると、ホストコンピュータ1に対しデータの書込み完了を報告する(S37)。従って、リモートコピーとホストコンピュータ1への書込み完了報告とは、同期処理で行われる。
次に、ホストコンピュータ1がローカルディスクシステム10に対し、論理アドレスを指定して所定のデータの読出しを要求すると(S38)、ローカルディスクシステム10は、リモートディスクシステム40に対してデータの読出しを要求する(S39)。これにより、リモートディスクシステム40は、指定された論理アドレスのデータ(保証コード付きデータ)を読出し(S40)、保証コード付きデータをローカルディスクシステム10に送信する(S41)。
ローカルディスクシステム10は、リモートディスクシステム40から保証コード付きデータを受信し、この受信した保証コード付きデータから保証コードを抽出する(S42)。そして、ローカルディスクシステム10は、保証コード管理テーブル127に登録されているローカル側の保証コードと、保証コード付きデータから分離抽出されたリモート側の保証コードとを比較する(S43)。そして、ローカルディスクシステム10は、両保証コードが一致する場合、正常にデータが読み出されたことをリモートディスクシステム40に代わって保証し、リモートディスクから読み出したデータをホストコンピュータ1に送信する(S44)。一方、両保証コードが不一致の場合、ローカルディスクシステム10は、エラー処理を行う(S45)。エラー処理としては、例えば、再度のリモートコピー等を挙げることができる。
このように構成される本実施例でも、ローカルディスクシステム10側でリモートディスクシステム40側のデータ保証を代替処理できるので、上記実施例と同様の効果を得ることができる。これに加えて、本実施例では、データのみならず保証コードもリモートディスクに記憶させるため、より一層高い信頼性をもったデータ保証を行うことができる。
次に、図11を参照して、本発明の第4実施例を説明する。本実施例の特徴は、ローカルディスクシステム10側で代替処理するリモートディスクシステム40側のデータ保証モードを選択可能とした点にある。
図11は、データ保証モードを選択するための処理を示す。まず、データ保証モードを設定又は変更する場合、ユーザは、コンソール28の画面に表示されたメニューに基づいて、所望のデータ保証モードを選択する(S51)。本実施例では、4種類の保証モードが予め用意されている。即ち、データ保証を行わないモード(保証無しモード)、リモートディスクに書き込んだデータを直ちに読み出して比較する第1の保証モードA、保証コードをローカルディスクシステム10のみで管理する第2の保証モードB、保証コード付きデータをリモートディスクに格納させる第3の保証モードC、の4種類である。
ローカルディスクシステム10に複数のリモートディスクシステムが接続されている場合等には、ユーザは、各リモートディスクシステム毎にそれぞれデータ保証モードを選択することができる。また、論理ボリューム毎にそれぞれ異なるデータ保証モードを選択することもできる。
保証無しモードが選択された場合(S52)、ローカルディスクシステム10はリモートディスクシステム40側のデータ保証を行わない(S53)。第1のデータ保証モードが選択された場合(S54)、ローカルディスクシステム10は、第1の実施例で述べたように、リモートディスク(あるいはキャッシュメモリ56)に書き込んだデータを直ちに読み出し、ローカルディスク(あるいはキャッシュメモリ26)に保持されているデータと比較することにより、リモートディスクシステム40側のデータ保証を代替処理で実現する(S55)。
第2のデータ保証モードが選択された場合(S56)、第2の実施例で述べたように、ホストコンピュータ1から受信したデータに基づいて保証コードを生成し、生成した保証コードをローカルディスクシステム10のみで管理することにより、ローカルディスクシステム10は、リモートディスクシステム40に代わってデータ保証を行う(S57)。第3のデータ保証モードが選択された場合(S58)、第3の実施例で述べたように、保証コード付きデータをリモートディスクに記憶させることにより、ローカルディスクシステム10は、リモートディスクシステム40に代わってデータ保証を行う(S59)。
このように、本実施例では、予め複数用意されているデータ保証モードからいずれか1つ又は複数のデータ保証モードを選択可能である。従って、ローカルディスクシステム10の処理能力やメモリ搭載量等を考慮して、あるいは、リモートディスクシステム40の構成や記憶システム全体の運用方法を考慮して、適切なデータ保証モードを選択することができる。従って、ヘテロ環境下にある記憶システムの信頼性を簡易な構成で高めることができると共に、より柔軟で弾力的な運用を行うことができ、使い勝手が向上する。
図12は、本発明の第5実施例による記憶システムの全体動作を示すタイムチャートである。本実施例では、非同期処理を行う。即ち、ローカルディスクシステム10は、ホストコンピュータ1からデータ書込み要求を受信すると(S11)、受信データをローカルディスクに記憶させると共に、保証コードを生成し(S12)、生成した保証コードを保証コード管理テーブル127に登録する(S13)。そして、リモートディスクへのデータコピーを行う前に、ホストコンピュータ1に書込み完了を報告する(S17A)。図12では、保証コードを記憶させた直後にホストコンピュータ1へ書込み完了を報告するようになっているが、別のタイミングで書込み完了報告をホストコンピュータ1に送信してもよい。また、図10のタイムチャートでも、図12と同様に非同期処理を行うことができる。
なお、本発明は、上述した各実施の形態に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。
本発明の第1実施例による記憶システムの全体構成を示すブロック図である。 ローカルディスクシステムの要部を示すブロック図である。 記憶システムの全体動作を示すタイムチャートである。 本発明の第2実施例による記憶システムの全体構成を示すブロック図である。 ローカルディスクシステムの要部を示すブロック図である。 保証コードに基づいて判定する様子を模式的に示す説明図である。 記憶システムの全体動作を示すタイムチャートである。 本発明の第3実施例による記憶システムの全体構成を示すブロック図である。 保証コードに基づいて判定する様子を模式的に示す説明図である。 記憶システムの全体動作を示すタイムチャートである。 本発明の第4実施例によるデータ保証モードの選択処理を示すフローチャートである。 本発明の第5実施例による記憶システムの全体動作を示すタイムチャートである。
符号の説明
1 ホストコンピュータ
3 SAN
10 ローカルディスクシステム
20 制御装置
21 MPU
22 チャネル制御部
23 接続部
24 ディスク制御部
25 共有メモリ
26 キャッシュメモリ
27 キャッシュコントローラ
30 ディスク装置群
40 リモートディスクシステム
50 制御装置
51 MPU
52 チャネル制御部
53 接続部
54 ディスク制御部
55 共有メモリ
56 キャッシュメモリ
60 ディスク装置群
101 ローカルディスク書込み部
102 リモートディスク書込み部
103 リモートディスク読出し部
104 書込み判定部
110 キャッシュコントローラ
111 ローカルディスク書込み部
112 リモートディスク書込み部
113 リモートディスク読出し部
114 保証コード設定部
115 保証コード抽出部
116 保証コード判定部
117 保証コード管理テーブル
120 キャッシュコントローラ
121 ローカルディスク書込み部
122 リモートディスク書込み部
123 リモートディスク読出し部
124 保証コード設定部
125 保証コード抽出部
126 保証コード判定部

Claims (1)

  1. 正記憶システムと、前記正記憶システムとは異なる種類の副記憶システムとを接続して構成され、上位装置との間でデータを送受信する記憶システムであって、
    前記正記憶装置システムは、
    前記上位装置からデータ書込み要求を受信する受信手段と、
    前記受信したデータ書込み要求に応じて、書込みを要求されたデータを保持するデータ保持手段と、
    前記受信したデータ書込み要求に応じて、前記書込みを要求されたデータを前記副記憶システム側に転送し保持させる転送手段と、
    前記データ保持手段により保持される前記データと前記副記憶システム側に保持された前記データとが一致するか検査して保証するデータ保証手段と、
    を備え、
    前記データ保証手段は、
    (1)前記書込みを要求されたデータを前記副記憶装置システムに転送して保持させ、前記副記憶システムに保持された前記データを読み出して、前記正記憶装置システム内に保持されたデータと比較し、両方のデータが一致する場合に、データの保証を行う第1の保証モードと、
    (2)前記書込みを要求されたデータに基づいて生成される保証コードを前記正記憶装置システム内で保持し、前記副記憶装置システムから読み出されるデータに基づいて生成される保証コードと前記正記憶装置システム内に保持された保証コードとを比較し、両方の保証コードが一致する場合に、データの保証を行う第2の保証モードと、
    (3)前記書込みを要求されたデータに基づいて生成される保証コードを前記正記憶装置システム内で保持し、前記保証コードと前記データとを関連付けて構成される保証コード付きデータを前記副記憶装置システムに転送して保持させ、前記副記憶装置システムから読み出される前記保証コード付きデータから抽出される保証コードと前記正記憶装置システム内に保持される保証コードとを比較し、両方の保証コードが一致する場合に、データの保証を行う第3の保証モードと、
    のうち少なくともいずれか2つ以上の保証モードを備えている記憶装置システム。
JP2003270619A 2003-07-03 2003-07-03 記憶システム及び記憶装置システム Expired - Lifetime JP4371724B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2003270619A JP4371724B2 (ja) 2003-07-03 2003-07-03 記憶システム及び記憶装置システム
US10/770,375 US7124258B2 (en) 2003-07-03 2004-02-03 Storage system and storage device system
EP04003814A EP1510921A3 (en) 2003-07-03 2004-02-19 Remote copy storage system
US11/521,497 US7421553B2 (en) 2003-07-03 2006-09-15 Remote copy operation between different sort of storage system and storage device system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003270619A JP4371724B2 (ja) 2003-07-03 2003-07-03 記憶システム及び記憶装置システム

Publications (2)

Publication Number Publication Date
JP2005025683A JP2005025683A (ja) 2005-01-27
JP4371724B2 true JP4371724B2 (ja) 2009-11-25

Family

ID=33549935

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003270619A Expired - Lifetime JP4371724B2 (ja) 2003-07-03 2003-07-03 記憶システム及び記憶装置システム

Country Status (3)

Country Link
US (2) US7124258B2 (ja)
EP (1) EP1510921A3 (ja)
JP (1) JP4371724B2 (ja)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7155667B1 (en) * 2000-06-21 2006-12-26 Microsoft Corporation User interface for integrated spreadsheets and word processing tables
US6948135B1 (en) * 2000-06-21 2005-09-20 Microsoft Corporation Method and systems of providing information to computer users
US7000230B1 (en) * 2000-06-21 2006-02-14 Microsoft Corporation Network-based software extensions
US7346848B1 (en) * 2000-06-21 2008-03-18 Microsoft Corporation Single window navigation methods and systems
US7913159B2 (en) * 2003-03-28 2011-03-22 Microsoft Corporation System and method for real-time validation of structured data files
US7296017B2 (en) * 2003-03-28 2007-11-13 Microsoft Corporation Validation of XML data files
US7334187B1 (en) * 2003-08-06 2008-02-19 Microsoft Corporation Electronic form aggregation
US20050171875A1 (en) * 2004-01-30 2005-08-04 Michael Seitz System and method for synchronizing commitment updates
US9229646B2 (en) * 2004-02-26 2016-01-05 Emc Corporation Methods and apparatus for increasing data storage capacity
JP4422519B2 (ja) * 2004-03-18 2010-02-24 株式会社日立製作所 情報処理システム
US8949395B2 (en) 2004-06-01 2015-02-03 Inmage Systems, Inc. Systems and methods of event driven recovery management
US9209989B2 (en) * 2004-06-01 2015-12-08 Inmage Systems, Inc. Causation of a data read operation against a first storage system by a server associated with a second storage system according to a host generated instruction
US7681105B1 (en) * 2004-08-09 2010-03-16 Bakbone Software, Inc. Method for lock-free clustered erasure coding and recovery of data across a plurality of data stores in a network
US7681104B1 (en) * 2004-08-09 2010-03-16 Bakbone Software, Inc. Method for erasure coding data across a plurality of data stores in a network
US20060074933A1 (en) * 2004-09-30 2006-04-06 Microsoft Corporation Workflow interaction
US8487879B2 (en) * 2004-10-29 2013-07-16 Microsoft Corporation Systems and methods for interacting with a computer through handwriting to a screen
US7712022B2 (en) * 2004-11-15 2010-05-04 Microsoft Corporation Mutually exclusive options in electronic forms
US7584417B2 (en) * 2004-11-15 2009-09-01 Microsoft Corporation Role-dependent action for an electronic form
US7721190B2 (en) * 2004-11-16 2010-05-18 Microsoft Corporation Methods and systems for server side form processing
JP4214987B2 (ja) * 2004-11-22 2009-01-28 船井電機株式会社 光ディスク記録再生装置
JP4390694B2 (ja) 2004-12-24 2009-12-24 富士通株式会社 Dma回路及びこれを用いたディスクアレイ装置
US7937651B2 (en) * 2005-01-14 2011-05-03 Microsoft Corporation Structural editing operations for network forms
US8862852B2 (en) * 2005-02-03 2014-10-14 International Business Machines Corporation Apparatus and method to selectively provide information to one or more computing devices
US7360112B2 (en) * 2005-02-07 2008-04-15 International Business Machines Corporation Detection and recovery of dropped writes in storage devices
JP2006252239A (ja) * 2005-03-11 2006-09-21 Fujitsu Ltd ファイル制御装置
JP2006268403A (ja) * 2005-03-24 2006-10-05 Fujitsu Ltd データストレージシステム及びストレージ制御装置のログデータの等価制御方法
US8010515B2 (en) * 2005-04-15 2011-08-30 Microsoft Corporation Query to an electronic form
GB0507912D0 (en) * 2005-04-20 2005-05-25 Ibm Disk drive and method for protecting data writes in a disk drive
JP2006309447A (ja) 2005-04-27 2006-11-09 Hitachi Ltd 記憶システム及びバックアップ方法
JP2007140887A (ja) * 2005-11-18 2007-06-07 Hitachi Ltd ストレージシステム、ディスクアレイ装置、ボリューム提示方法及びデータ一致性確認方法
JP4413184B2 (ja) * 2005-11-28 2010-02-10 富士通株式会社 データストレージシステム及びデータストレージ制御装置
US8001459B2 (en) * 2005-12-05 2011-08-16 Microsoft Corporation Enabling electronic documents for limited-capability computing devices
US8769065B1 (en) * 2006-06-28 2014-07-01 Emc Corporation Methods and apparatus for implementing a data management framework to collect network management data
JP2008117253A (ja) * 2006-11-07 2008-05-22 Hitachi Ltd 記憶装置システムと計算機システムおよびその処理方法
JP5331323B2 (ja) * 2007-09-26 2013-10-30 株式会社日立製作所 ストレージサブシステム及びその制御方法
US7865468B2 (en) * 2008-02-29 2011-01-04 International Business Machines Corporation Prefetching remote files on local disk space
US8386729B2 (en) * 2008-04-17 2013-02-26 International Business Machines Corporation Dynamic volume compare for asynchronous remote copy verification
JP5284905B2 (ja) 2009-08-12 2013-09-11 富士通株式会社 データ移行方法、及びプログラム
US10025523B1 (en) * 2009-12-28 2018-07-17 EMC IP Holding Company LLC Techniques for processing data requests directed to virtualized devices
US8407517B2 (en) 2010-04-08 2013-03-26 Hitachi, Ltd. Methods and apparatus for managing error codes for storage systems coupled with external storage systems
US9558078B2 (en) 2014-10-28 2017-01-31 Microsoft Technology Licensing, Llc Point in time database restore from storage snapshots
JP7106953B2 (ja) * 2018-04-10 2022-07-27 富士通株式会社 サーバ切り替えプログラム、サーバ切り替え方法、及びサーバ切り替えシステム
US11093170B2 (en) * 2019-04-02 2021-08-17 EMC IP Holding Company LLC Dataset splitting based on workload footprint analysis
JP7142052B2 (ja) * 2020-03-23 2022-09-26 株式会社日立製作所 ハイブリッドクラウドにおけるデータを保護する方法

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3732546A (en) * 1971-02-04 1973-05-08 D Ronkin Information storage and retrieval system
US4941201A (en) * 1985-01-13 1990-07-10 Abbott Laboratories Electronic data storage and retrieval apparatus and method
JPH0636473A (ja) * 1992-07-16 1994-02-10 Matsushita Electric Ind Co Ltd 光情報記録装置及びその方法
US5297208A (en) * 1992-08-05 1994-03-22 Roger Schlafly Secure file transfer system and method
JPH06334713A (ja) 1993-05-26 1994-12-02 Fujitsu Ltd 簡易手順リモートループバック方法
US5598549A (en) * 1993-06-11 1997-01-28 At&T Global Information Solutions Company Array storage system for returning an I/O complete signal to a virtual I/O daemon that is separated from software array driver and physical device driver
JP3188071B2 (ja) * 1993-10-14 2001-07-16 富士通株式会社 ディスクキャッシュ装置
US5537533A (en) * 1994-08-11 1996-07-16 Miralink Corporation System and method for remote mirroring of digital data from a primary network server to a remote network server
US5592618A (en) * 1994-10-03 1997-01-07 International Business Machines Corporation Remote copy secondary data copy validation-audit function
US6052797A (en) * 1996-05-28 2000-04-18 Emc Corporation Remotely mirrored data storage system with a count indicative of data consistency
DE19622630C1 (de) * 1996-06-05 1997-11-20 Siemens Ag Verfahren zum gruppenbasierten kryptographischen Schlüsselmanagement zwischen einer ersten Computereinheit und Gruppencomputereinheiten
GB9715684D0 (en) * 1997-07-25 1997-10-01 Computer Forensics Limited Integrity verification and authentication of copies of computer data
US6073220A (en) * 1997-09-03 2000-06-06 Duocor, Inc. Apparatus and method for providing a transparent disk drive back-up
US6988176B2 (en) * 1997-09-12 2006-01-17 Hitachi, Ltd. Method and apparatus for data duplexing in storage unit system
JP4689137B2 (ja) * 2001-08-08 2011-05-25 株式会社日立製作所 リモートコピー制御方法、及びストレージシステム
US6311320B1 (en) * 1998-12-07 2001-10-30 Lsi Logic Corporation Alterable scripting tool and method
JP2000347815A (ja) 1999-06-07 2000-12-15 Hitachi Ltd ディスクアレイシステム
JP4546629B2 (ja) 2000-05-25 2010-09-15 株式会社日立製作所 記憶システム、記憶システムの応答方法及び記録媒体
JP3753598B2 (ja) * 2000-07-06 2006-03-08 株式会社日立製作所 計算機、計算機システムおよびデータ転送方法
US6701455B1 (en) 2000-08-29 2004-03-02 Hitachi, Ltd. Remote copy system with data integrity
US6505307B1 (en) * 2000-09-06 2003-01-07 Unisys Corporation Method and apparatus for ensuring data integrity
EP1255198B1 (en) * 2001-02-28 2006-11-29 Hitachi, Ltd. Storage apparatus system and method of data backup
JP4135855B2 (ja) 2001-02-28 2008-08-20 株式会社日立製作所 記憶装置システム及びバックアップ方法
JP3997061B2 (ja) * 2001-05-11 2007-10-24 株式会社日立製作所 記憶サブシステムおよび記憶サブシステムの制御方法
CA2458908A1 (en) * 2001-08-31 2003-03-13 Arkivio, Inc. Techniques for storing data based upon storage policies

Also Published As

Publication number Publication date
US20050005066A1 (en) 2005-01-06
JP2005025683A (ja) 2005-01-27
US20070011414A1 (en) 2007-01-11
EP1510921A3 (en) 2008-06-11
EP1510921A2 (en) 2005-03-02
US7124258B2 (en) 2006-10-17
US7421553B2 (en) 2008-09-02

Similar Documents

Publication Publication Date Title
JP4371724B2 (ja) 記憶システム及び記憶装置システム
US10108367B2 (en) Method for a source storage device sending data to a backup storage device for storage, and storage device
US7669022B2 (en) Computer system and data management method using a storage extent for backup processing
US7469289B2 (en) Storage system having virtualized resource
JP4738941B2 (ja) ストレージシステム及びストレージシステムの管理方法
US6792557B1 (en) Storage area network system
US20060129772A1 (en) Data processing method and system
JP5286212B2 (ja) ストレージクラスタ環境でのリモートコピー制御方法及びシステム
US7975171B2 (en) Automated file recovery based on subsystem error detection results
JP2005196683A (ja) 情報処理システム、情報処理装置、及び情報処理システムの制御方法
JP2007072571A (ja) 計算機システム及び管理計算機ならびにアクセスパス管理方法
JP2005326935A (ja) 仮想化ストレージを備える計算機システムの管理サーバおよび障害回避復旧方法
JP2007066162A (ja) ストレージシステム及びストレージシステムの管理方法
US8732420B2 (en) Remote copy system and method
US7543121B2 (en) Computer system allowing any computer to copy any storage area within a storage system
US20050097391A1 (en) Method, system, and article of manufacture for data replication
JP2009026091A (ja) 接続管理プログラム、接続管理方法および情報処理装置
JP4454299B2 (ja) ディスクアレイ装置及びディスクアレイ装置の保守方法
US7315960B2 (en) Storage area network system
US20090177916A1 (en) Storage system, controller of storage system, control method of storage system
JP2007128551A (ja) ストレージエリアネットワークシステム
JP4721057B2 (ja) データ管理システム,データ管理方法及びデータ管理用プログラム
JPH04299435A (ja) データベース等価方式
JP2019197602A (ja) ストレージ管理装置及びストレージ管理プログラム
JP2001043149A (ja) リモートfcuの制御方法及びリモートfcu

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060614

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20060614

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090409

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090414

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090611

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090901

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090901

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120911

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4371724

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130911

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term