JP4434543B2 - 分散ストレージシステム、ストレージ装置、およびデータのコピー方法 - Google Patents

分散ストレージシステム、ストレージ装置、およびデータのコピー方法 Download PDF

Info

Publication number
JP4434543B2
JP4434543B2 JP2002002937A JP2002002937A JP4434543B2 JP 4434543 B2 JP4434543 B2 JP 4434543B2 JP 2002002937 A JP2002002937 A JP 2002002937A JP 2002002937 A JP2002002937 A JP 2002002937A JP 4434543 B2 JP4434543 B2 JP 4434543B2
Authority
JP
Japan
Prior art keywords
data
storage device
storage
input buffer
host computer
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 - Fee Related
Application number
JP2002002937A
Other languages
English (en)
Other versions
JP2003208268A5 (ja
JP2003208268A (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 JP2002002937A priority Critical patent/JP4434543B2/ja
Priority to US10/194,316 priority patent/US7424519B2/en
Publication of JP2003208268A publication Critical patent/JP2003208268A/ja
Publication of JP2003208268A5 publication Critical patent/JP2003208268A5/ja
Application granted granted Critical
Publication of JP4434543B2 publication Critical patent/JP4434543B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • 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/2082Data synchronisation
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • 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
    • 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
    • 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/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • 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/2069Management of state, configuration or failover

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、データ記憶装置、特に、分散ストレージ装置及びそれを用いたシステムに係わる。
【0002】
【従来の技術】
電子商取引システムやデータセンタの構築が本格化するなか、地震、火事、あるいは停電など地域的な災害に対しても、顧客情報や商用コンテンツなどの重要データを保護できるシステムが求められている。
【0003】
従来、データの保護方法としては、RAID(Redundant Array of Independent Disks)、あるいはリモートコピーと呼ばれる方法などが用いられている。RAIDは、RAID-0からRAID-5に分類されるが、ディスク障害時のデータ保護のため、現在、主に用いられているのはRAID-1とRAID-5である。
【0004】
RAID-1は、現用と予備の2個のディスクに全く同じデータを書き込む方法であり、現用ディスクが故障しても、予備ディスクに現用ディスクと全く同じデータが記録されているため、データの消失を防止できる。
RAID-5は、ブロック単位に分割した記録データおよび記録データのパリティを複数のディスクに分散して記録する方法である。
【0005】
RAID-5では、RAIDを構成するディスクの一個に障害が発生した場合、残りの正常なディスクに記録されたデータおよびデータのパリティから、記録データを復元できる。また、RAID-5では、データを分散記録する複数のディスクに並列に書込み/読出しが可能であるため、ディスクが1個の場合と比較して高速なディスクアクセスが可能となる。
【0006】
リモートコピーとは、ネットワークを用いて、物理的に離れた場所にデータのレプリカを作成する方法である。リモートコピーには、サーバ同士をネットワークで接続する構成、およびストレージ・サブシステム同士をネットワークで接続する構成などがある。リモートコピーに用いられるネットワークとしては、主に通信品質が保証される専用線などが用いられている。
【0007】
【発明が解決しようとする課題】
RAIDは、データ保護のために広く用いられている方法であるが、この方法はサーバ付属のディスク間、またはSAN(Strage Area Network)を介してサーバと接続されるストレージ・サブシステム内部でのデータ保護手段であるため、地域的な災害に対してのデータ保護を行うことはできない。地域的な災害を避けるためのリモートコピーには、一般に専用線が用いられるが、専用線の通信コストは高く、大容量のデータのバックアップには、多くのコストが必要となる。
【0008】
リモートコピーにインターネットのような安価なネットワークを用いることも可能であるが、このような通信品質が保証されないネットワークを用いる場合、通信品質悪化(通信速度低下)によりバックアップが阻害されるのを防止する手段が必要となる。
【0009】
【課題を解決するための手段】
本発明では、3個以上のストレージデバイスをネットワーク経由で相互接続し、1個のコピー元ストレージデバイスから複数のコピー先ストレージデバイスに対し、並列にバックアップデータを転送することで、高速なデータのバックアップを実現する。
【0010】
また、コピー元ストレージデバイスから各コピー先ストレージデバイスへのデータ転送量を、コピー元ストレージデバイスから各コピー先ストレージデバイスへの通信コネクションの状態によって動的に変化させることで、通信品質が時々刻々と変化する安価なネットワークにおいて、特定の通信コネクションの通信状態悪化により、データのバックアップが阻害されるのを防止することができる。また、通信速度の保証される専用線においては、さらに高速なバックアップが可能となるであろう。
【0011】
さらに、コピー元のストレージデバイスに障害が発生した場合には、複数のバックアップ先ストレージデバイスからデータを並列に読み出すことで、高速なデータ復旧が可能となる。
【0012】
具体的には、本願発明はネットワークを介して複数のストレージ装置を互いに接続し、あるストレージ装置のデータのコピーを、他の複数のストレージ装置に作成するデータのコピー方法であって、ネットワークの通信コネクションの状態に応じて、あるストレージ装置からコピーを作成するためにアクセスするストレージ装置を動的に選択する。このとき、ネットワークの状態を監視するパケットを用いて、ネットワークの通信コネクションの状態を識別することができる。また、ストレージ装置は、他のストレージ装置との通信コネクション毎に分けられたデータフレーム送信用のデータ入力バッファを有し、データ入力バッファの状態に基づいて、ネットワークの通信コネクションの状態を識別することができる。具体的には、空きのおおいバッファに優先的にデータを送る、送出レートの大きいバッファに優先的にデータを送るなど様々な態様が考えられる。
【0013】
さらに、本願発明のシステムでは、ネットワークを介してホスト計算機と複数のストレージ装置を接続してなる分散ストレージシステムにおいて、ネットワークの通信コネクションの状態に応じて、ホストからアクセスするストレージ装置を動的に選択する。
また、本願発明のストレージ装置は、ネットワークを介して他のストレージ装置と接続され、互いにアクセス可能なストレージ装置であって、ネットワークの通信コネクションの状態に応じて、アクセスする他のストレージ装置を動的に選択する。
【0014】
【発明実施の形態】
以下、図を用いて本発明の実施例を説明する。
【0015】
図1は本発明に係わる分散ストレージシステムの全体構成図である。
【0016】
ネットワーク4を介して相互に接続された3個のストレージデバイス1〜3、および各ストレージデバイス1〜3と接続される4個のホスト計算機5〜8から構成される分散ストレージシステムの例である。各ストレージデバイス1〜3とホスト計算機5〜8は、例えば、ケーブルあるいは光ファイバーで直接接続することも、あるいはSANを介して接続することも可能である。また、ストレージデバイス1〜3をホスト計算機5〜8に内蔵し、ホスト計算機5〜8とストレージデバイス1〜3を内部バスで接続する構成も可能である。
【0017】
図2にストレージデバイス1の構成例を示す。ここで、ストレージデバイス2、3の構成は、ストレージデバイス1と同様でよい。ストレージデバイス1は、ストレージ制御装置9およびストレージ装置10から構成されている。ストレージ制御装置9とストレージ装置10は、データ転送バス11を介して接続される。
ストレージデバイス1は、2個のホストインタフェース12−1,12−2を介して、ホスト計算機5、6とそれぞれ接続され、また、2個のストレージコントローラ13−1,13−2を介して、ストレージ装置10と接続される。ストレージデバイス1は、ネットワークインタフェース14を介して、ネットワーク4経由で、他のストレージデバイス2、3と相互接続される。キャシュメモリ15は、ストレージ装置10への書込み、あるいは読出しデータを一時的に記憶するために用いられる。ホストインタフェース12、ストレージコントローラ13、ネットワークインタフェース14、キャッシュメモリは15、ストレージ制御装置内の内部バス16で相互に接続されている。
【0018】
ホスト計算機5、6は、オペレーティングシステムあるいはアプリケーション等のプロセスからの要求に従い、ホストインタフェース12を介して、ストレージ制御装置9にアクセス命令を発行し、ストレージ制御装置9は、ホスト計算機5、6からのアクセス命令に従って、ストレージコントローラ13を介してストレージ装置10が保持する記憶媒体17を制御し、データの書込みまたは読出しを行う。
【0019】
図3にホスト計算機5とストレージデバイス1との間のデータ書込み手順の例を示す。ホスト計算機5は、ストレージデバイス1に対して、データ書込みコマンドフレーム18を発行する。
図4には、図3に示すデータ転送に用いられる各フレームの例を示す。
まず、ホスト計算機5は、ストレージデバイス1に対して、データ書込みコマンドフレーム18(図4(a))を発行してデータ書込みを指示する。ここで、コマンドフレーム18の送信元ストレージデバイスから宛先ストレージデバイスへの命令は、コマンドフィールド29の命令コードとして記載される(図4(a))。
ホストインタフェース12−1は、コマンドフレーム18のコマンドフィールド29に含まれる転送データ長情報をもとに、キャッシュメモリ15にデータ受信領域を確保し、転送レディフレーム19(図4(b))をホスト計算機に送信する。ホスト計算5は、転送レディフレーム19を受信すると、ストレージデバイス1に対し、データフレーム20(図4(c))を出力する。ホストインタフェース12は、内部バス16を経由して、キャッシュメモリ15にホスト計算機5から転送されたデータフレームを書込み、転送レディフレーム19をホスト計算機に送信して、次のデータフレーム19の転送を要求する。もし受信したデータフレーム19が最終のデータフレーム19であった場合、または受信エラーが発生した場合、ホストインタフェース12は、ホスト計算機5に受信ステータスを示したレスポンスフレーム21(図4(d))を送信してデータ書込み転送を終了する。また、ホストインタフェース12は、ストレージコントローラ13およびネットワークインタフェース14に対し、書込みデータの論理ユニット番号28、コマンド29の内容(論理アドレス、転送データ長、データの書込み時間を示すタイムスタンプ)、キャッシュメモリ上のデータ記憶領域アドレスなどの情報を通知する。なお、各フレームのフレームヘッダ22には、各データ転送シーケンスを識別するためのシーケンス識別子26、シーケンス内におけるフレームの順序を示すシーケンス番号27、および送信先と送信元となるホスト計算機5あるいはストレージデバイス1を識別するための送信元アドレス24、宛先アドレス25を含むものとする。アドレスの形式は、ホスト計算機5とストレージデバイス6を接続するネットワークによって異なる。例として、Fiber channelの場合にはIDが、ネットワークがEthernet(イーサネット(富士ゼロックス社の登録商標))である場合にはMACアドレスが、ネットワークがレイヤ3のIPネットワークで構成されている場合には、IPアドレスが、それぞれアドレス24、25となる。
【0020】
ストレージコントローラ13は、ホストインタフェース12からの通知に従い、論理ユニット番号18から記憶媒体17の物理ユニット番号への変換、記憶媒体17の論理アドレスから物理アドレスへのアドレス変換、内部バス16を介してのキャシュメモリ15からのデータ読出し等を行い、最後にデータ転送バスを介して記憶媒体17にデータを書き込む。
【0021】
ネットワークインタフェース14は、ホストインタフェース12からの指示に従い、ネットワーク4を経由してホスト計算機5からの書込みデータを、分散ストレージシステムを構成する他のストレージデバイス2、3に分散してコピーする。このコピーはバックアップとして用いることができる。
【0022】
図5にネットワークインタフェース14の構成の例を示す。図5のネットワークインタフェース14は、バス制御部33、プロセッサ34、メモリ35、フレーム送信部36、フレーム受信部37から構成される。バス制御部33は、内部バス16の調停を行い、ストレージ制御装置9を構成する他の要素との間で、内部バス16を介してのデータ入出力を行う。プロセッサ34は、分散ストレージシステムを構成するストレージデバイス2、3との通信コネクションの設定・維持・管理、データ転送のフロー制御、データ転送先の決定などの処理を行う。メモリ35には、プロセッサ34で処理させるプログラムの他、分散ストレージシステムを構成する他のストレージデバイス2,3へ転送したデータを管理するローカル管理テーブル42、分散ストレージシステムを構成する他のストレージデバイスから転送されたデータを管理するためのリモート管理テーブル43を持つ。また、メモリ35には、障害発生時に障害データの復旧に使用する障害データテーブル44を待つ。フレーム送信部36は、分散ストレージシステムを構成する他のストレージデバイス2、3との通信コネクション毎に分けられたデータフレーム送信用のデータ入力バッファ38と、コマンドフレーム18あるいはデータ転送フローの制御用フレーム(例えば、TCPのAckフレーム)送信用のコマンド入力バッファ39を持つ。また、フレーム受信部37も分散ストレージシステムを構成するストレージデバイス2、3との通信コネクション毎に分けられたデータフレーム受信用のデータ出力バッファ40と、コマンドフレーム18あるいはデータ転送フロー制御フレーム受信用のコマンド入力バッファ39を持つ。
【0023】
図6にローカル管理テーブル42の構成例を示す。
図7にリモート管理テーブル43の構成例を示す。
【0024】
ここでストレージデバイス1の起動手順の例として、ストレージデバイス1が、ストレージデバイス2、3で構成される分散ストレージシステムの要素として起動した場合を説明する。初めに、ストレージデバイス1は、分散ストレージシステムを構成する他のストレージデバイス2、3に対し、分散ストレージシステムを構成するストレージデバイス1としての動作を開始することを広告する。広告を受け取ったストレージデバイス2、3は、広告発行元ストレージデバイス1を分散ストレージシステムを構成する要素として登録し、広告発行元のストレージデバイス1に登録完了の応答を返す。広告発行元のストレージデバイス1は、この登録完了応答により、分散ストレージシステムとして、有効に動作するストレージデバイス2、3を確認し、この応答があったストレージデバイス2、3との間で、データの送受信を行う。なお、上記の広告-応答処理は、分散ストレージシステムを構成するストレージデバイス2、3が正常に動作していることを確認するため、一定時間間隔で定期的に行うことも可能である。
【0025】
ストレージデバイス1が広告の発行先となるストレージデバイス2、3のアドレス24を知る方法としては、予めシステム管理者が広告先リストを設定する方法、予め設定された代表サーバに問い合わせる方法などがある。また、各ストレージデバイス1〜3を相互接続するネットワーク4がマルチキャストあるいはブロードキャストをサポートする場合には、広告先を意識せず、広告をマルチキャストあるいはブロードキャストすることも可能である。
【0026】
分散ストレージデバイスを構成する各ストレージデバイス1〜3間の通信コネクションは、固定的に通信コネクションを設定・維持しておく方法、例えばATMネットワークにおけるPVCのようなコネクション、あるいはデータ転送開始時に動的に設定し、データ転送完了時には切断する方法、例えば、IPネットワークにおけるTCPコネクションなどが考えられる。
【0027】
以下、分散ストレージシステムを構成する各ストレージデバイス1〜3を相互接続するネットワーク4が、インターネットに代表されるIPネットワークであり、各ストレージデバイス1〜3間のデータ転送フロー制御(パケット転送制御)がTCPで行われる場合について、データコピーの手順を述べる。
以下、データコピー元のストレージデバイスのことを、ローカル・ストレージデバイス、データコピー先のストレージデバイスをリモート・ストレージデバイスと呼ぶ。また、ホスト計算機からローカル・ストレージデバイスに書き込まれたデータをオリジナルデータ、ローカル・ストレージデバイスからリモート・ストレージデバイスに書き込まれたデータをレプリカデータと呼ぶ。
図8〜図12に、ローカル・ストレージデバイスからリモート・ストレージデバイスへのデータコピーの例として、ストレージデバイス1からストレージデバイス2へのデータコピーの例を示す。
図8〜図11は、データ送信時のストレージデバイス1のネットワークインタフェース14の動作例を示すフローチャートである。
【0028】
図8において、ホスト計算機5、6からのデータ書込み時、ホストインタフェース12は、ネットワークインタフェース14に対し、書込みデータの論理ユニット番号、論理アドレス、転送データ長、データの書込み時間を示すタイムスタンプ、キャッシュメモリ15上のデータ記憶領域アドレスなどを通知する。
【0029】
プロセッサ34は、通知されたデータと同一の論理ユニット番号と論理アドレスを持つエントリがローカル管理テーブル42に存在するかを検索する(46)。通知された論理ユニット番号と論理アドレスを持つエントリがローカル管理テーブル42に存在しない場合、プロセッサ34は、データ入力バッファ38の状態を確認(47)し、データ送信が可能なデータ入力バッファ38を見つける。ここで、例えば、他のデータ書込みのため、全てのデータ入力バッファ38からの送信が不可である場合、プロセッサ34は、他のデータ書込みが完了し、データ入力バッファ38が空くのを待つ(48)。また、送信可能なデータ入力バッファ38が複数発見された場合には、予め決められた手順(例えば、ラウンドロビン、ランダム、総データ転送量の少ないバッファを優先)に従って、送信を行うデータ入力バッファ38を選択する(49)。
【0030】
図9において、ホストインタフェース12から通知された書込みデータと同一の論理ユニット番号と論理アドレスを持つエントリ(以降、このエントリを旧エントリと呼ぶ)がローカル管理テーブル42に存在する場合、プロセッサ34は、データの転送先として、旧エントリに記載された転送先リモートストレージデバイスを優先的に選択する(56〜59)。これは、旧エントリに記載以外のリモートストレージデバイスにデータを転送すると、同一の論理ユニット番号と論理アドレスを持つデータが分散ストレージデバイス内に複数存在することになるからである。旧エントリに記載されたリモートストレージデバイスにデータを転送することが可能であれば、旧データは新しい書込みデータによって上書きされ、同一の論理ユニット番号と論理アドレスを持つデータが分散ストレージデバイス内に複数存在するという状況を避けることができる。
図10と図11において、もし、旧エントリに記載されたリモートストレージデバイスに対応するデータ入力バッファ38が、他のデータ送信に使用されているなどの理由により使用できない場合には、プロセッサ34は、旧エントリに記載以外のリモートストレージデバイスに対応するデータ入力バッファ38を選択する(60〜63)。この場合、プロセッサは34データの複重を避けるため、旧エントリに記載以外リモートストレージデバイスへのデータ転送完了後に、旧エントリに示されるリモートストレージデバイスに対し、旧エントリに示された論理ユニットと論理アドレスのデータ領域の解放、およびリモート管理テーブル43の解放データ領域に対応するエントリの消去を命令するコマンドフレーム18を送信する必要がある(68)。
【0031】
送信を行うデータ入力バッファ38の選択が完了すると、プロセッサ34は選択したデータ入力バッファ38のTCPコネクションの状態を確認し(50、64)、TCPコネクションが設定されていない場合には、選択したリモートストレージデバイスとの間で、3方向ハンドシェークを行い、TCPコネクションを設定する(51、65)。
ローカルストレージデバイスは、TCPコネクション設定後、リモートデバイスに対し、データの転送を行う(53、67)。
図12に、ストレージデバイス1とストレージデバイス2間のデータ書込み手順の例を示す。以下、ネットワーク4を介して各ストレージデバイス(1〜3)間で送受信される各フレーム(18〜21)は、送信側ストレージデバイスのデータ入力バッファ38において、ネットワーク4が許す最大パケット長に合わせて複数のブロックに分割、レイヤ2ヘッダ、IPヘッダ、TCPヘッダ等のヘッダを付与され、IPパケットとして、ネットワーク4を転送、受信側ストレージデバイスのデータ出力バッファ40において、レイヤ2ヘッダ、IPヘッダ、TCPヘッダ等を削除され、フレームに組み立てられるものとする。また、ネットワーク4におけるIPパケットの送受信は、TCPウィンドウにより制御されるものとする。
ストレージデバイス1は、ストレージデバイス2に対して、書込みコマンドフレーム18を送信する。書込みコマンドフレーム18を受信したストレージデバイス2は、キャッシュメモリ15にデータ受信に必要なバッファ容量を確保し、転送レディフレーム19をストレージデバイス1に返信する。書込みレディフレーム19を受信したストレージデバイス1のプロセッサ34は、バス制御部33を介し、ホストインタフェース12から指示されたキャッシュメモリ15のデータ書込みアドレスから書込みデータ(データフレーム20)を選択したデータ入力バッファ38に転送、ストレージデバイス2に送信する。
【0032】
ストレージデバイス2は、受信したデータフレーム20を、予め確保したキャッシュメモリ15のバッファ領域に転送、転送レディーフレーム19をローカルストレージデバイス1に送信して、次のデータの転送を要求する。もし受信したデータフレーム20が最終のデータフレーム20であった場合、または受信エラーが発生した場合、ストレージデバイス2は、ストレージデバイス1に受信ステータスを示したレスポンスフレーム21を送信してデータ転送を完了、ホストインタフェース12から、次のデータ書込み通知がない場合には、TCPコネクションを切断する。
データフレーム20のキャッシュメモリ書込み後、ストレージデバイス2のネットワークインタフェース14は、ストレージコントローラ13に対し、書込みデータの論理ユニット番号、論理アドレス、転送データ長、およびデータが一時記憶されているキャッシュメモリ領域などを通知する。ストレージコントローラ13は、ネットワークインタフェース14の通知を受信すると、論理ユニット番号から物理ユニット番号への変換、論理アドレスから物理アドレスへのアドレス変換、内部バス16を介してのキャシュメモリ15からのデータ読出し等を行い、最後にデータ転送バス11を介して記憶媒体17にデータを書き込む。
【0033】
ストレージデバイス1のネットワークインタフェース14は、ストレージデバイス2へのデータ転送が完了すると、データを転送したストレージデバイス2の識別子、書込みデータの論理ユニット番号、論理アドレス、タイムスタンプなどを含むエントリを、メモリ35に置かれたローカル管理テーブル42に記載する。また、ストレージデバイス2は、データ送信元のストレージデバイス1の識別子、書込みデータの論理ユニット番号、論理アドレス、タイムスタンプなどを含むエントリを、リモート管理テーブル43に記載する。
【0034】
図6にローカル管理テーブル42の構成例を示す。
図7にリモート管理テーブル43の構成例を示す。
【0035】
デバイス識別子ID=1のストレージデバイスが、デバイス識別子ID=2のリモートデバイスに論理ユニット番号LUN=1、論理アドレスLA=1、データ長L=2、タイムスタンプTS=0のデータを、デバイス識別子ID=3のリモートデバイスに論理ユニット番号LUN=1、論理アドレスLA=3、データ長L=3、タイムスタンプTS=1のデータを書き込んだ場合のローカル管理テーブル42とリモート管理テーブル43−1、43−2の例を示している。
【0036】
以上の動作により、ホスト計算機からストレージデバイスに書き込まれたオリジナルデータを、ストレージデバイス間の通信コネクションの状態によってデータ転送量を動的に変化させながら、リモートのストレージデバイスにレプリカデータとして保存することができる。以上の例では、データ転送量制御としてTCPウインドウ制御を用いたが、ATM(Asynchronous Transfer Mode)のABR(Available Bit Rate)サービスのように、ネットワークの状態を監視するパケットを用いて、各リモートストレージデバイスへのデータの転送量を変化させることも可能である。
【0037】
図13に、ホスト計算機とストレージデバイスとの間のデータ読出し手順の例を示す。ホスト計算機5からデータ読出しコマンドフレームを受信したストレージデバイス1は、読出し要求のあったデータが、キャッシュメモリ15内に存在するかを検索する。もし、キャッシュメモリ15にデータが存在する場合には、ストレージデバイス1は、キャッシュメモリ15からデータを読出し、フレームヘッダを付与して、データフレーム20として、ホスト計算機5に送信する。また、キャッシュメモリ15にデータが存在しない場合には、ストレージデバイス1は、ストレージコントローラ13を介して、記憶媒体17からデータをキャッシュメモリ15に転送、以下同様の手順で、ホスト計算機Aにデータフレーム20を送信する。ストレージデバイス1は、データフレーム20の送信が終了すると、ホスト計算機Aに対し、データフレーム送信のステータスを記載したレスポンスフレーム32を送信し、データの読出し動作を完了する。
【0038】
分散ストレージシステムを構成する各ストレージデバイス1〜3は、自身が持つ記憶媒体に障害が発生した、他のストレージデバイスにバックアップしていたレプリカデータを読み出し、ホスト計算機から障害記憶媒体に書き込まれたオリジナルデータを復旧すると同時に、他のストレージデバイスから障害記憶媒体に書き込まれていたレプリカデータの再バックアップを、他のストレージデバイスに指示する。
【0039】
図14に、記憶媒体17障害が発生したストレージデバイス1が、ストレージデバイス2および3にバックアップしていたレプリカデータを読み出し、障害記憶媒体17に書き込まれたオリジナルデータを復旧する手順を示す。ストレージデバイス1は、ストレージコントローラ13の管理する論理ユニット番号・論理アドレスと物理ユニット番号・物理アドレスとの変換テーブルおよびローカル管理テーブルから、障害記憶媒体17に書き込まれた各オリジナルデータのバックアップ先を特定、ストレージデバイス2、3に対して、レプリカデータの読出しコマンドフレーム18を送信する。
【0040】
レプリカデータの読出しコマンドフレーム18を受信したストレージデバイス2、3は、読出し要求のあったデータが、キャッシュメモリ15内に存在するかを検索する。もし、キャッシュメモリ15にデータが存在する場合には、キャッシュメモリ15からデータを読出し、データフレーム20として、記憶媒体障害が発生したストレージデバイス1に送信する。また、キャッシュメモリ15にデータが存在しない場合には、ストレージコントローラ13を介して、記憶媒体17からデータをキャッシュメモリ15に転送後、データフレーム20として、ストレージデバイス1にデータフレームを送信する。ストレージデバイス1は、ストレージデバイス2、3から転送されたデータを、キャッシュメモリ15およびストレージコントローラ13経由で、復旧用の記憶媒体17に書き込む。
【0041】
ストレージデバイス1は、障害記憶媒体17に書き込まれていた全てのオリジナルデータに対し、以上の手順を繰り返すことにより、障害記憶媒体17に書き込まれていたオリジナルデータの復旧を行うことができる。また、障害が発生した記憶媒体17の復旧前に、ホスト計算機5から障害記憶媒体17へのデータ読出しが発生した場合、ストレージデバイス1は、上記と同様の方法により、リモートストレージ2、3から、読出し要求があったデータのレプリカを読み出すことが可能であることは明らかである。
【0042】
図15と図16に、ストレージデバイス2から、ストレージデバイス1の障害記憶媒体に書き込まれていたレプリカデータの再バックアップを手順を示す。
図15は、ストレージデバイス1からストレージデバイス2への障害データテーブルの転送手順の例である。記憶媒体障害が発生したストレージデバイス1は、ストレージデバイス2から障害記憶媒体17に書き込まれていたレプリカデータの一覧を示す障害データテーブル44を作成する。
図17に障害データテーブル44の例を示す。ストレージデバイス1にレプリカデータを書き込んでいたストレージデバイス2は、ストレージデバイス1に対し、障害記憶媒体に書き込まれていたデータの一覧を示す障害データテーブル44のテーブルサイズ通知を要求する。ストレージデバイス1は、記憶媒体障害通知を受信すると、ストレージコントローラ13が保持する論理ユニット番号・論理アドレスと物理ユニット番号・物理アドレスとの変換テーブルおよびリモート管理テーブル43から、ストレージデバイス2からストレージデバイス1の障害記憶媒体に書き込まれていたレプリカデータの一覧を示す障害データテーブル44を作成し、ストレージデバイス2に対して、障害データテーブルのテーブルサイズを記載したデータフレーム31とレスポンスフレーム21を送信する。障害データテーブル44のテーブルサイズを記載したデータフレーム44を受信したストレージデバイス2は、ネットワークインタフェース14のメモリ35に、障害データテーブル書き込み容量を確保し、ストレージデバイス1に障害データテーブル44の転送要求コマンドフレーム18を送信する。障害データテーブル44の転送要求コマンドフレーム18を受信したストレージデバイス1は、障害データテーブル44を記載したデータフレーム20およびレスポンスフレーム21を送信する。障害データテーブル44を記載したデータフレーム31を受信したストレージデバイス2は、ネットワークインタフェース14のメモリ31に、障害データテーブル44書き込き込む。次に、ストレージデバイス2は、障害データテーブル44のエントリに示された論理ユニット番号と論理アドレスが示すデータが、キャッシュメモリ35内にあるかを検索する。キャッシュメモリ35にデータが存在する場合には、キャッシュメモリ35からデータを読出し、図12−2に示すデータ転送手順に従い、ストレージデバイス2のリモートストレージデバイスとなる、ストレージデバイス1および3に、データの再バックアップを行う。また、キャッシュメモリ35にデータが存在しない場合、ストレージデバイス2は、ストレージコントローラ13を介して、データをキャッシュメモリ35に転送後、上記手順と同様にして、ストレージデバイス1あるいは3にデータフレーム31を送信する。この時、データ転送先となるリモートストレージは、必ずしも記憶媒体障害が発生したストレージデバイス1である必要はない。なお、同様の手段により、ストレージデバイス3から、ストレージデバイス1の障害記憶媒体に書き込まれていたレプリカデータの再バックアップを行うことも可能であることは明らかである。
【0043】
分散ストレージシステムを構成する各ストレージデバイス1〜3は、あるストレージデバイスが障害により動作を停止した場合、あるいはシステム管理者から命令があった場合、マスタとして予め登録されているストレージデバイスが、障害ストレージデバイスが他のストレージデバイスにバックアップしていたレプリカデータを読み出し、オリジナルデータを復旧する。
【0044】
図18と図19に、ストレージデバイス1に障害が発生した場合のストレージデバイス2と3の間の動作の例を示す。ストレージデバイス1に障害が発生すると、分散ストレージシステムは、予め決められたリモートストレージデバイス2をマスタとし、それ以外のストレージデバイス(図14−1、図14−2ではストレージデバイス3のみ)をスレーブとして、オリジナルデータ復旧を行う。マスタのストレージデバイス2は、ストレージデバイス1の障害通知を受けると、ストレージデバイス1からストレージデバイス2に書き込まれたレプリカデータの一覧を示す障害データテーブル44をリモート管理テーブル43から作成、スレーブのストレージデバイス3に対しては、ストレージデバイス1からストレージデバイス3に書き込まれたレプリカデータの一覧を示す障害データテーブル44のテーブルサイズ転送要求コマンドフレーム18を送信する。障害データテーブル44のテーブルサイズ転送要求コマンドフレーム18を受信したストレージデバイス3は、ストレージデバイス1からストレージデバイス3に書き込まれたレプリカデータの一覧を示す障害データテーブル44をリモート管理テーブル43から作成し、ストレージデバイスに2に対して、作成した障害データテーブル44のサイズを記載したデータフレーム20とレスポンスフレーム21を送信する。ストレージデバイス3から障害データテーブル44のテーブルサイズを記載したデータフレーム20を受信したストレージデバイス2は、ネットワークインタフェース14のメモリ35に、ストレージデバイス3の障害データテーブル44書込み容量を確保し、ストレージデバイス3に障害データテーブル44の転送要求コマンドフレーム18を送信する。障害データテーブル44の転送要求コマンドフレーム18を受信したストレージデバイス3は、障害データテーブル44を記載したデータフレーム20およびレスポンスフレーム21を送信する。ストレージデバイス3の障害データテーブル44を記載したデータフレーム20を受信したストレージデバイス2は、ストレージデバイス2自身が保持する障害データテーブル44とストレージデバイス3から受信した障害データテーブル44を合成し、障害ストレージデバイス1が保持していたローカル管理テーブル44を再現する。ローカル管理テーブル44の合成時に、ストレージデバイス3の障害データテーブル44とストレージデバイス3の障害データテーブル44に、同一の論理ユニット番号と論理アドレスを持つエントリが存在する場合には、両エントリのタイムスタンプを比較し、よりタイムスタンプが新しいエントリを選択することで、データの複重を避けることができる。ストレージデバイス3の障害データテーブル44およびストレージデバイス3の障害データテーブル44に、同一の論理ユニット番号と論理アドレスを持つエントリが存在する状況は、例えば、ストレージデバイス1が突然停止したため、エントリ消去命令コマンドフレーム18が正常に送信されなかった場合などに発生する。マスタのストレージデバイス2は、合成したローカル管理テーブル44をもとに、図14−2に示す手順に従って、ストレージデバイス3から読出したレプリカデータと、自身が保持するレプリカデータから、ストレージデバイス1が保持してオリジナルデータを再現する。
【0045】
最後に、このオリジナルデータの再現がシステム管理者の命令ではなく、ストレージ障害により発生している場合、マスタのストレージデバイス2は、自身が保持していたストレージデバイス1のレプリカデータを、図9に示すのと同様の手順に従い、分散ストレージデバイスを構成する各ストレージデバイス(この実施例では、ストレージデバイス3のみとなる)に再バックアップする。以上の動作により、ストレージデバイス2とホスト計算機7は、障害により停止したストレージデバイス1とホスト計算機5に変わって、データ処理を再開することができる。
【0046】
【発明の効果】
本発明によれば、高速なデータのバックアップおよび高速なデータ復旧が可能となる。
【図面の簡単な説明】
【図1】分散ストレージシステムの構成図。
【図2】ストレージデバイスのブロック図。
【図3】ホスト計算機からストレージデバイスへのデータ書き込み手順の流れ図。
【図4】データ転送に使用されるフレーム構成図。
【図5】ネットワークインターフェースの構成図。
【図6】ローカル管理テーブルの表図。
【図7】リモート管理テーブルの表図。
【図8】データ書き込み時のローカルインターフェース動作連を示すフローチャート(その1)。
【図9】データ書き込み時のローカルインターフェース動作連を示すフローチャート(その2)。
【図10】データ書き込み時のローカルインターフェース動作連を示すフローチャート(その3)。
【図11】データ書き込み時のローカルインターフェース動作連を示すフローチャート(その4)。
【図12】ローカルデバイスからリモートデバイスへのデータ転送の動作の流れ図。
【図13】ホスト計算機からストレージデバイスへのデータ転送の動作の流れ図。
【図14】記憶媒体障害時のオリジナルデータ復旧の動作例。
【図15】記憶媒体障害時のレプリカデータ再バックアップにおける障害データテーブル転送の動作流れ図。
【図16】記憶媒体障害時のレプリカデータ再バックアップにおけるデータ転送の動作流れ図。
【図17】障害データテーブルの構成図。
【図18】ストレージデバイス障害時のオリジナルデータ復旧動作における障害データテーブル転送動作流れ図。
【図19】ストレージデバイス障害時のオリジナルデータ復旧動作におけるデータ転送動作流れ図。

Claims (13)

  1. ホスト計算機と、ネットワークを介して他のストレージ装置と接続されると共に、上記ホスト計算機と接続される複数のストレージ装置とを備え、
    上記ストレージ装置は、データを記録する記憶装置と、上記ネットワークに接続されるネットワークインタフェースと、上記ホスト計算機に接続されるホストインターフェースと、上記記憶装置を制御するストレージコントローラとを有し、
    上記ネットワークインタフェースは、上記他のストレージ装置との通信コネクションの制御を行うプロセッサと、上記他のストレージ装置へ転送したデータを論理ユニット番号と論理アドレスにより管理するローカル管理テーブル、および上記他のストレージ装置から転送されたデータを管理するためのリモート管理テーブルを持つメモリと、上記他のストレージ装置にデータを送信するフレーム送信部とを有し、
    上記フレーム送信部は、上記他のストレージ装置との通信コネクション毎に分けられたデータフレーム送信用の複数のデータ入力バッファを有し、
    上記プロセッサは、上記ローカル管理テーブルに上記ホスト計算機から送信されるデータと同一の上記論理ユニット番号と論理アドレスを持つエントリが存在しない場合、上記複数のデータ入力バッファの空き状態に基づいて、総データ転送量の少ないデータ入力バッファを、送信を行うデータ入力バッファとして優先的に選択することにより、上記ホスト計算機から送信されるデータのコピーを書き込むストレージ装置を選択し、
    上記ホスト計算機からデータを受信した送信元のストレージ装置は、データを送信する送信先のストレージ装置に対して、書込みコマンドフレームを送信し、
    書込みフレームコマンドを受信した送信先のストレージ装置は、キャッシュメモリにデータ受信に必要なバッファ容量を確保し、転送レディフレームを送信元のストレージ装置に返信し、
    転送レディフレームコマンドを受信した送信元のストレージ装置は、上記ホストインターフェースから指示されたキャッシュメモリのデータ書込みアドレスから書込みデータを選択したデータ入力バッファに転送することにより、送信先のストレージ装置に転送する
    ことを特徴とする分散ストレージシステム。
  2. 上記プロセッサは、上記ローカル管理テーブルに上記ホスト計算機から送信されるデータと同一の上記論理ユニット番号と論理アドレスを持つエントリが存在する場合、上記エントリに記載されたストレージ装置に対応する上記データ入力バッファを選択することにより、上記ホスト計算機から送信されるデータのコピーを書き込むストレージ装置を選択する
    ことを特徴とする請求項1記載の分散ストレージシステム。
  3. 上記プロセッサは、上記エントリに記載されたストレージ装置に対応する上記データ入力バッファが使用できない場合、上記データ入力バッファの空き状態に基づいて、上記総データ転送量の少ないデータ入力バッファを、送信を行うデータ入力バッファとして優先的に選択することにより、上記ホスト計算機から送信されるデータのコピーを書き込むストレージ装置を選択する
    ことを特徴とする請求項2記載の分散ストレージシステム。
  4. 複数の上記ホスト計算機を備え、
    上記複数のホスト計算機はそれぞれ、上記複数のストレージ装置のうちいずれかと上記ネットワークを介さずに接続されていることで組をなしており、
    上記ストレージ装置は、
    上記組をなすホスト計算機に接続されるホストインターフェイスを有する
    ことを特徴とする請求項1記載の分散ストレージシステム。
  5. 上記フレーム送信部は、さらに、制御用フレーム送信用のコマンド入力バッファを有する
    ことを特徴とする請求項1記載の分散ストレージシステム。
  6. ホスト計算機と接続されると共に、ネットワークを介して他のストレージ装置と接続され、該他のストレージ装置と互いにアクセス可能なストレージ装置であって、
    データを記録する記憶装置と、上記ネットワークに接続されるネットワークインタフェースと、上記ホスト計算機に接続されるホストインターフェースと、上記記憶装置を制御するストレージコントローラとを有し、
    上記ネットワークインタフェースは、上記ネットワークを介して接続される他のストレージ装置との通信コネクションの制御を行うプロセッサと、上記他のストレージ装置へ転送したデータを論理ユニット番号と論理アドレスにより管理するローカル管理テーブル、および上記他のストレージ装置から転送されたデータを管理するためのリモート管理テーブルを持つメモリと、上記他のストレージ装置にデータを送信するフレーム送信部とを有し、
    上記フレーム送信部は、上記他のストレージ装置との通信コネクション毎に分けられたデータフレーム送信用の複数のデータ入力バッファを有し、
    上記プロセッサは、上記ローカル管理テーブルに上記ホスト計算機から送信されるデータと同一の上記論理ユニット番号と論理アドレスを持つエントリが存在しない場合、上記複数のデータ入力バッファの空き状態に基づいて、総データ転送量の少ないデータ入力バッファを、送信を行うデータ入力バッファとして優先的に選択することにより、上記ホスト計算機から送信されるデータのコピーを書き込むストレージ装置を選択し、
    上記ストレージ装置は、データを送信する送信先のストレージ装置に対して、書込みコマンドフレームを送信し、送信先のストレージ装置から転送レディフレームコマンドを受信すると、上記ホストインターフェースから指示されたキャッシュメモリのデータ書込みアドレスから書込みデータを選択したデータ入力バッファに転送することにより、送信先のストレージ装置に転送する
    ことを特徴とするストレージ装置。
  7. 上記プロセッサは、上記ローカル管理テーブルに上記ホスト計算機から送信されるデータと同一の上記論理ユニット番号と論理アドレスを持つエントリが存在する場合、上記エントリに記載されたストレージ装置に対応する上記データ入力バッファを選択することにより、上記ホスト計算機から送信されるデータのコピーを書き込むストレージ装置を選択する
    ことを特徴とする請求項6記載のストレージ装置。
  8. 上記プロセッサは、上記エントリに記載されたストレージ装置に対応する上記データ入力バッファが使用できない場合、上記データ入力バッファの空き状態に基づいて、上記総データ転送量の少ないデータ入力バッファを、送信を行うデータ入力バッファとして優先的に選択することにより、上記ホスト計算機から送信されるデータのコピーを書き込むストレージ装置を選択する
    ことを特徴とする請求項7記載のストレージ装置。
  9. 上記フレーム送信部は、さらに、制御用フレーム送信用のコマンド入力バッファを有する
    ことを特徴とする請求項6記載のストレージ装置。
  10. ホスト計算機と接続されると共に、ネットワークを介して複数のストレージ装置を互いに接続し、該複数のストレージ装置のうちのあるストレージ装置のデータのコピーを、該複数のストレージ装置のうちの他の複数のストレージ装置に作成するデータのコピー方法であって、
    上記ストレージ装置は、データを記録する記憶装置と、上記ネットワークに接続されるネットワークインタフェースと、上記ホスト計算機に接続されるホストインターフェースと、上記記憶装置を制御するストレージコントローラとを有し、上記ネットワークインタフェースは、上記ネットワークを介して接続される他のストレージ装置との通信コネクションの制御を行うプロセッサと、上記他のストレージ装置へ転送したデータを論理ユニット番号と論理アドレスにより管理するローカル管理テーブル、および上記他のストレージ装置から転送されたデータを管理するためのリモート管理テーブルを持つメモリと、上記他のストレージ装置にデータを送信するフレーム送信部とを有し、上記フレーム送信部は、上記他のストレージ装置との通信コネクション毎に分けられたデータフレーム送信用の複数のデータ入力バッファを有するものであって、
    上記プロセッサが、上記ローカル管理テーブルに上記ホスト計算機から送信されるデータと同一の上記論理ユニット番号と論理アドレスを持つエントリが存在しない場合、上記複数のデータ入力バッファの空き状態に基づいて、総データ転送量の少ないデータ入力バッファを、送信を行うデータ入力バッファとして優先的に選択することにより、上記ホスト計算機から送信されるデータのコピーを書き込むストレージ装置を選択する第1のステップと、
    上記ホスト計算機からデータを受信した送信元のストレージ装置が、データを送信する送信先のストレージ装置に対して、書込みコマンドフレームを送信する第2のステップと、
    書込みフレームコマンドを受信した送信先のストレージ装置が、キャッシュメモリにデータ受信に必要なバッファ容量を確保し、転送レディフレームを送信元のストレージ装置に返信する第3のステップと、
    転送レディフレームコマンドを受信した送信元のストレージ装置が、上記ホストインターフェースから指示されたキャッシュメモリのデータ書込みアドレスから書込みデータを選択したデータ入力バッファに転送することにより、送信先のストレージ装置に転送する第4のステップと
    を備えることを特徴とするデータのコピー方法。
  11. 上記プロセッサが、上記ローカル管理テーブルに上記ホスト計算機から送信されるデータと同一の上記論理ユニット番号と論理アドレスを持つエントリが存在する場合、上記エントリに記載されたストレージ装置に対応する上記データ入力バッファを選択することにより、上記ホスト計算機から送信されるデータのコピーを書き込むストレージ装置を選択する
    ことを特徴とする請求項10記載のデータのコピー方法。
  12. 上記プロセッサが、上記エントリに記載されたストレージ装置に対応する上記データ入力バッファが使用できない場合、上記データ入力バッファの空き状態に基づいて、上記総データ転送量の少ないデータ入力バッファを、送信を行うデータ入力バッファとして優先的に選択することにより、上記ホスト計算機から送信されるデータのコピーを書き込むストレージ装置を選択する
    ことを特徴とする請求項11記載のデータのコピー方法。
  13. 上記フレーム送信部が、さらに、制御用フレーム送信用のコマンド入力バッファを有する
    ことを特徴とする請求項10記載のデータのコピー方法。
JP2002002937A 2002-01-10 2002-01-10 分散ストレージシステム、ストレージ装置、およびデータのコピー方法 Expired - Fee Related JP4434543B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002002937A JP4434543B2 (ja) 2002-01-10 2002-01-10 分散ストレージシステム、ストレージ装置、およびデータのコピー方法
US10/194,316 US7424519B2 (en) 2002-01-10 2002-07-15 Distributed storage system, storage device and method of copying data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002002937A JP4434543B2 (ja) 2002-01-10 2002-01-10 分散ストレージシステム、ストレージ装置、およびデータのコピー方法

Publications (3)

Publication Number Publication Date
JP2003208268A JP2003208268A (ja) 2003-07-25
JP2003208268A5 JP2003208268A5 (ja) 2005-07-28
JP4434543B2 true JP4434543B2 (ja) 2010-03-17

Family

ID=19190810

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002002937A Expired - Fee Related JP4434543B2 (ja) 2002-01-10 2002-01-10 分散ストレージシステム、ストレージ装置、およびデータのコピー方法

Country Status (2)

Country Link
US (1) US7424519B2 (ja)
JP (1) JP4434543B2 (ja)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI282053B (en) * 2002-06-19 2007-06-01 Quanta Comp Inc Data reading/writing method by calling for service routine of basic input/output system
US7103727B2 (en) * 2002-07-30 2006-09-05 Hitachi, Ltd. Storage system for multi-site remote copy
JP4452438B2 (ja) * 2002-11-11 2010-04-21 株式会社日立製作所 記憶システム
US7382788B2 (en) * 2002-12-24 2008-06-03 Applied Micro Circuit Corporation Method and apparatus for implementing a data frame processing model
JP2005108098A (ja) * 2003-10-01 2005-04-21 Hitachi Ltd データi/o装置及びデータi/o装置の制御方法
US7475134B2 (en) * 2003-10-14 2009-01-06 International Business Machines Corporation Remote activity monitoring
US7613785B2 (en) * 2003-11-20 2009-11-03 International Business Machines Corporation Decreased response time for peer-to-peer remote copy write operation
JP4489455B2 (ja) * 2004-02-16 2010-06-23 株式会社日立製作所 ディスク制御装置及びディスク制御装置の制御方法
WO2005101241A2 (en) * 2004-04-13 2005-10-27 Alon Tavori Method for depositing and retrieving digital records
US7529781B2 (en) * 2004-04-30 2009-05-05 Emc Corporation Online initial mirror synchronization and mirror synchronization verification in storage area networks
US7827144B1 (en) * 2005-11-17 2010-11-02 Hewlett-Packard Development Company, L.P. Methods of reading and writing data
US8595313B2 (en) * 2005-11-29 2013-11-26 Netapp. Inc. Systems and method for simple scale-out storage clusters
US8156174B2 (en) * 2007-04-13 2012-04-10 Platform Computing Corporation Method and system for information exchange utilizing an asynchronous persistent store protocol
JP2008305073A (ja) * 2007-06-06 2008-12-18 Hitachi Ltd ファイル共有システム及びファイル共有装置の起動方法
US8949614B1 (en) * 2008-04-18 2015-02-03 Netapp, Inc. Highly efficient guarantee of data consistency
US8015343B2 (en) 2008-08-08 2011-09-06 Amazon Technologies, Inc. Providing executing programs with reliable access to non-local block data storage
US9727473B2 (en) * 2008-09-30 2017-08-08 Intel Corporation Methods to communicate a timestamp to a storage system
TWI414942B (zh) * 2009-02-05 2013-11-11 Htc Corp 資料儲存裝置及其操作方法
US9454325B2 (en) * 2009-11-04 2016-09-27 Broadcom Corporation Method and system for offline data access on computer systems
US8903906B2 (en) * 2010-03-16 2014-12-02 Brother Kogyo Kabushiki Kaisha Information communications system, node device, method of communicating contents, computer readable recording medium storing a program
US11449394B2 (en) 2010-06-04 2022-09-20 Commvault Systems, Inc. Failover systems and methods for performing backup operations, including heterogeneous indexing and load balancing of backup and indexing resources
US8504526B2 (en) 2010-06-04 2013-08-06 Commvault Systems, Inc. Failover systems and methods for performing backup operations
FR2961924A1 (fr) * 2010-06-29 2011-12-30 France Telecom Gestion du lieu de stockage de donnees dans un systeme de stockage distribue
JP5902716B2 (ja) 2011-01-10 2016-04-13 ストローン リミテッド 大規模記憶システム
US8738583B2 (en) * 2011-02-09 2014-05-27 Cisco Technology, Inc. Efficiently delivering event messages using compiled indexing and paginated reporting
EP2864885B1 (en) 2012-06-25 2017-05-17 Storone Ltd. System and method for datacenters disaster recovery
AU2014101656A4 (en) 2013-03-21 2019-08-01 Storone Ltd. Deploying data-path-related plugins
US9483361B2 (en) 2013-05-08 2016-11-01 Commvault Systems, Inc. Information management cell with failover management capability
US10019203B1 (en) * 2013-05-30 2018-07-10 Cavium, Inc. Method and system for processing write requests
US9563518B2 (en) 2014-04-02 2017-02-07 Commvault Systems, Inc. Information management by a media agent in the absence of communications with a storage manager
US10365848B2 (en) * 2015-12-02 2019-07-30 Netapp, Inc. Space reservation for distributed storage systems
JP6458752B2 (ja) * 2016-03-04 2019-01-30 日本電気株式会社 ストレージ制御装置、ストレージシステム、ストレージ制御方法、および、プログラム
US10747630B2 (en) 2016-09-30 2020-08-18 Commvault Systems, Inc. Heartbeat monitoring of virtual machines for initiating failover operations in a data storage management system, including operations by a master monitor node
JP6930506B2 (ja) * 2018-08-08 2021-09-01 株式会社Jvcケンウッド データ記録送信装置、データ記録送信方法、及びデータ記録送信プログラム
US11200124B2 (en) 2018-12-06 2021-12-14 Commvault Systems, Inc. Assigning backup resources based on failover of partnered data storage servers in a data storage management system
US11099956B1 (en) 2020-03-26 2021-08-24 Commvault Systems, Inc. Snapshot-based disaster recovery orchestration of virtual machine failover and failback operations
US11645175B2 (en) 2021-02-12 2023-05-09 Commvault Systems, Inc. Automatic failover of a storage manager

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5680640A (en) * 1995-09-01 1997-10-21 Emc Corporation System for migrating data by selecting a first or second transfer means based on the status of a data element map initialized to a predetermined state
US6101497A (en) * 1996-05-31 2000-08-08 Emc Corporation Method and apparatus for independent and simultaneous access to a common data set
US6886035B2 (en) * 1996-08-02 2005-04-26 Hewlett-Packard Development Company, L.P. Dynamic load balancing of a network of client and server computer
US5966730A (en) * 1996-10-30 1999-10-12 Dantz Development Corporation Backup system for computer network incorporating opportunistic backup by prioritizing least recently backed up computer or computer storage medium
US6108300A (en) * 1997-05-02 2000-08-22 Cisco Technology, Inc Method and apparatus for transparently providing a failover network device
JPH1124846A (ja) 1997-07-03 1999-01-29 Hitachi Ltd ネットワークを利用したバックアップシステム
US7165152B2 (en) * 1998-06-30 2007-01-16 Emc Corporation Method and apparatus for managing access to storage devices in a storage system with access control
US6845395B1 (en) * 1999-06-30 2005-01-18 Emc Corporation Method and apparatus for identifying network devices on a storage network
US6810396B1 (en) * 2000-03-09 2004-10-26 Emc Corporation Managed access of a backup storage system coupled to a network
US7031986B2 (en) * 2000-06-27 2006-04-18 Fujitsu Limited Database system with backup and recovery mechanisms
US6785678B2 (en) * 2000-12-21 2004-08-31 Emc Corporation Method of improving the availability of a computer clustering system through the use of a network medium link state function
US6871296B2 (en) * 2000-12-29 2005-03-22 International Business Machines Corporation Highly available TCP systems with fail over connections
US20020176430A1 (en) * 2001-01-25 2002-11-28 Sangha Onkar S. Buffer management for communication systems
US6957279B2 (en) * 2001-04-30 2005-10-18 Lsi Logic Corporation Selectable logical identifier mapping
EP1415425B1 (en) * 2001-07-06 2019-06-26 CA, Inc. Systems and methods of information backup
JP4113352B2 (ja) * 2001-10-31 2008-07-09 株式会社日立製作所 ストレージ・ネットワークにおけるストレージ・リソース運用管理方法
US7085819B2 (en) * 2001-12-20 2006-08-01 Sigma Storage System and method for distributed network data storage
US7197571B2 (en) * 2001-12-29 2007-03-27 International Business Machines Corporation System and method for improving backup performance of media and dynamic ready to transfer control mechanism

Also Published As

Publication number Publication date
US20030131068A1 (en) 2003-07-10
US7424519B2 (en) 2008-09-09
JP2003208268A (ja) 2003-07-25

Similar Documents

Publication Publication Date Title
JP4434543B2 (ja) 分散ストレージシステム、ストレージ装置、およびデータのコピー方法
US6282610B1 (en) Storage controller providing store-and-forward mechanism in distributed data storage system
US7444541B2 (en) Failover and failback of write cache data in dual active controllers
JP5084551B2 (ja) 重複排除技術を用いたデータバックアップ方法、記憶制御通信装置及びプログラム
JP5132720B2 (ja) 記憶装置システム
US6813686B1 (en) Method and apparatus for identifying logical volumes in multiple element computer storage domains
US8234471B2 (en) Remote copy method and remote copy system
US8639976B2 (en) Power failure management in components of storage area network
US7421435B2 (en) Data processing system and storage subsystem provided in data processing system
US7428604B2 (en) Method and apparatus for moving logical entities among storage elements in a computer storage system
US6842784B1 (en) Use of global logical volume identifiers to access logical volumes stored among a plurality of storage elements in a computer storage system
US7607034B2 (en) Data storage system and control method thereof
CN101755257B (zh) 管理在不同的网络上将写入从首要存储器拷贝到次要存储器
US20070038656A1 (en) Method and apparatus for verifying storage access requests in a computer storage system with multiple storage elements
JP2006227964A (ja) ストレージシステム、処理方法及びプログラム
KR101200453B1 (ko) 통신 네트워크를 통한 데이터 세트 업데이트 시스템, 방법및 장치
US7243188B2 (en) Method and apparatus for maintaining inventory of logical volumes stored on storage elements
WO2005010766A1 (ja) データ格納システム
JP4874515B2 (ja) 記憶装置システム
JP2006344090A (ja) Sanディザスタリカバリシステム
US8589645B1 (en) Remote read for storage devices
JP2007141264A (ja) 記憶装置システム
JP2004185416A (ja) データ転送装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041215

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041215

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060419

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071017

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071030

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071226

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20071226

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080903

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081104

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090929

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091125

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: 20091217

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: 20091222

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130108

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees