JP4309354B2 - ストレージネットワークにおける書き込みオペレーション制御 - Google Patents

ストレージネットワークにおける書き込みオペレーション制御 Download PDF

Info

Publication number
JP4309354B2
JP4309354B2 JP2005014967A JP2005014967A JP4309354B2 JP 4309354 B2 JP4309354 B2 JP 4309354B2 JP 2005014967 A JP2005014967 A JP 2005014967A JP 2005014967 A JP2005014967 A JP 2005014967A JP 4309354 B2 JP4309354 B2 JP 4309354B2
Authority
JP
Japan
Prior art keywords
write
storage
control server
host computer
network
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
JP2005014967A
Other languages
English (en)
Other versions
JP2005216299A (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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of JP2005216299A publication Critical patent/JP2005216299A/ja
Application granted granted Critical
Publication of JP4309354B2 publication Critical patent/JP4309354B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/0614Improving the reliability of storage systems
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

説明する主題は、電子計算に関し、詳細には、電子計算システムのストレージを管理するシステムおよび方法に関する。
情報の効果的な収集、管理、および制御は、現代の企業プロセスの中心的な構成要素となっている。このため、大企業および小企業の双方の多くの企業は、現在、コンピュータベースの情報管理システムを実施している。
データ管理は、コンピュータベースの情報管理システムの重要な構成要素である。多くのユーザは、ストレージネットワークを実施して、コンピュータベースの情報管理システムのデータオペレーションを管理する。ストレージネットワークは、広範囲の地理的エリアにわたって分散することができる高信頼の管理されたストレージソリューションを提供するために、計算能力および計算複雑度と共に発展してきた。
データ冗長性は、ストレージネットワークの信頼性の1つの側面である。データが存在するネットワーク要素が故障した場合に、データの単一のコピーでは脆弱である。脆弱なデータ、または、脆弱なデータが存在するネットワーク要素を回復できる場合には、損失は一時的なものとすることができる。しかしながら、データまたはネットワーク要素のいずれをも回復できない場合には、脆弱なデータは永久に失われるおそれがある。
ストレージネットワークは、1つまたは2つ以上のネットワーク要素の故障の場合に、リモートコピープロシージャを実施してデータ冗長性を提供し、フェールオーバプロシージャを実施してデータ一貫性を提供する。リモートコピープロシージャは、第1のストレージサイトに存在する1つまたは2つ以上のデータセットを少なくとも第2のストレージサイトに複製する。データ一貫性グループ(DCG(data consistency group))は、各ストレージユニットが集約されたデータセットの一部を含む複数のストレージユニットから成るデータセットであり、各ストレージユニットは個別に複製される可能性がある。ストレージユニットは、論理的である場合もあるし、物理的である場合もある。集約された1次データセットおよび集約された2次データセットが一貫性を保った状態にあり、したがって、オペレーションの継続に有用な状態にあるように、複製が失敗すると直ちにすべてのローカル書き込みオペレーションおよびリモート書き込みオペレーションを停止することを保証した下で、ディスクアレイレベルで実施されたDCGによって、複数の論理ユニットにわたってデータセットを集約することができる。
大規模ストレージネットワークは、数十、さらには数百個のストレージセルを備えることがあり、ストレージネットワークのデータセットに書き込みオペレーションを実行する数百、さらには数千個のホストコンピュータを有することがある。効果的なストレージ管理技法は、複雑なストレージネットワークで実施されたDCGのデータ一貫性を確保しなければならない。
例示の一実施態様において、ストレージネットワークが提供される。ストレージネットワークは、複数のストレージセルであって、少なくとも1つのストレージセルが、物理的なストレージ媒体と、当該ストレージ媒体でデータ転送オペレーションを制御するストレージ媒体コントローラとを含む、複数のストレージセルと、少なくとも1つのストレージセルに書き込みオペレーションを実行するように構成できる複数のホストコンピュータと、1つまたは2つ以上のホストコンピュータの書き込みオペレーションを規制する少なくとも1つの書き込み制御サーバと、ストレージセルとホストコンピュータと書き込み制御サーバとの間の通信接続を提供する通信ネットワークと、を備える。
本明細書では、例示のストレージネットワークアーキテクチャ、および、コピーオペレーションにおける統一された書き込みブロックの順序付け方法を説明する。本明細書で説明する方法は、コンピュータ可読媒体上の論理命令として具体化することができる。これらの論理命令は、プロセッサで実行されると、汎用計算デバイスを、説明する方法を実施する専用マシンとしてプログラミングする。
[例示のネットワークアーキテクチャ]
図1は、ストレージネットワークを利用する、ネットワーク接続された計算システム100の例示の一実施態様の概略図である。このストレージネットワークはストレージプール110を備える。このストレージプール110は、任意の大きな量のストレージ空間を備える。実際には、ストレージプール110は、当該ストレージプール110を実施するのに使用される特定のハードウェアによって決定された有限のサイズ制限を有する。しかしながら、ストレージプール110に利用可能なストレージ空間には、理論的な制限はほとんどない。
複数の論理ディスク(論理ユニットまたはLUとも呼ばれる)112a、112bをストレージプール110内に割り当てることができる。各LU112a、112bは、連続した範囲の論理アドレスを備える。この論理アドレスは、ホストデバイス120、122、124、および128が使用する接続プロトコルから一意に識別されたLU112へ要求をマッピングすることによって、ホストデバイスがアドレス指定することができる。本明細書で使用されるように、用語「ホスト」は、自身のために、または、ホストに接続されたシステムのためにストレージを利用する計算システム(または複数の計算システム)を備える。例えば、ホストは、大規模データベースを処理するスーパーコンピュータとすることもできるし、トランザクションの記録を保持するトランザクション処理サーバとすることもできる。あるいは、ホストは、企業向けストレージサービスを提供するローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)上のファイルサーバとすることもできる。ファイルサーバは、複数のディスクドライブを管理するように構成された1つまたは2つ以上のディスクコントローラおよび/またはRAIDコントローラを備えることができる。ホストは、例えばファイバチャネル(FC)接続等の通信接続を介してストレージネットワークに接続される。
サーバ128等のホストは、他の計算システムもしくは計算デバイスまたはデータ処理システムもしくはデータ処理デバイスにサービスを提供することができる。例えば、クライアントコンピュータ126は、サーバ128等のホストを介してストレージプール110にアクセスすることができる。サーバ128は、クライアント126にファイルサービスを提供することができ、トランザクション処理サービス、電子メールサービス等の他のサービスを提供することができる。したがって、クライアントデバイス126は、ホスト128が消費するストレージを直接使用することもあるし、直接使用しないこともある。
無線デバイス120やコンピュータ122、124等のデバイスは、ホストでもあり、LU112a、112bに論理的に直接接続することができる。ホスト120〜128は複数のLU112a、112bに接続することができ、複数のホスト間でLU112a、112bを共有することができる。図1に示すデバイスのそれぞれは、メモリ、マスストレージ、およびネットワーク接続を管理するのに十分な一定のデータ処理能力を含むことができる。
図2は、ストレージプール110等のストレージプールを実施するのに使用できる例示のストレージネットワーク200の概略図である。ストレージネットワーク200は、通信ネットワーク212によって接続された複数のストレージセル210a、210b、210cを備える。ストレージセル210a、210b、210cは、1つまたは2つ以上の通信接続されたストレージデバイスとして実施することができる。例示のストレージデバイスには、米国カリフォルニア州パロアルトのHewlett-Packard社から市販されているストレージデバイスであるSTORAGEWORKS系列が含まれる。通信ネットワーク212は、例えばファイバチャネル(FC)スイッチングファブリック等の私設専用ネットワークとして実施することができる。あるいは、通信ネットワーク212の一部は、例えばインターネット小型コンピュータ用周辺機器インターフェース(iSCSI)プロトコル等の適切な通信プロトコルに準じた公衆通信ネットワークを使用して実施することもできる。
クライアントコンピュータ214a、214b、214cは、サーバ216、220等のホストを通じてストレージセル210a、210b、210cにアクセスすることができる。クライアント214a、214b、214cは、ファイルサーバ216に直接接続することもできるし、ローカルエリアネットワーク(LAN)やワイドエリアネットワーク(WAN)等のネットワーク218を介して接続することもできる。任意のストレージネットワークに含めることができるストレージセル210a、210b、210cの個数は、主として、通信ネットワーク212において実施された接続により制限される。単一のFCスイッチを備えるスイッチングファブリックは、256個またはそれより多くのポートを相互接続することができ、単一のストレージネットワークに数百個のストレージセル210a、210b、210cを提供することが可能である。
数百、さらには数千個のホストコンピュータが、ストレージネットワーク200に接続されて、ストレージセル210a、210b、210cに記憶されたデータにアクセスすることができる。ストレージネットワーク200は、少なくとも1つの書き込み制御サーバ230をさらに備える。この書き込み制御サーバ230は、ストレージネットワーク200に接続されたホストコンピュータの書き込みオペレーションを規制する。書き込み制御サーバのオペレーションについては、以下に詳細に説明する。
ホスト216、220および書き込み制御サーバ230は、サーバコンピュータとして具体化することができる。図3は、ホストを実施するのに利用できる例示の計算デバイス330の概略図である。計算デバイス330は、1つまたは2つ以上のプロセッサまたは処理ユニット332、システムメモリ334、およびバス336を含む。バス336は、システムメモリ334を含むさまざまなシステムコンポーネントをプロセッサ332に接続する。バス336は、数タイプのバス構造のうちの任意のものの1つまたは2つ以上を表す。バス構造には、メモリバスまたはメモリコントローラ、周辺バス、高速グラフィックスポート、およびさまざまなバスアーキテクチャの任意のものを使用するプロセッサまたはローカルバスが含まれる。システムメモリ334は、読み出し専用メモリ(ROM)338およびランダムアクセスメモリ(RAM)340を含む。ROM338には、基本入出力システム(BIOS)342が記憶される。このBIOS342は、立ち上げ期間中等に計算デバイス330内の要素間の情報転送を援助する基本ルーチンを含む。
計算デバイス330は、ハードディスク(図示せず)からの読み出しおよび当該ディスクへの書き込みを行うハードディスクドライブ344をさらに含み、着脱可能磁気ディスク348からの読み出しおよび当該ディスクへの書き込みを行う磁気ディスクドライブ346、ならびに、CDROMや他の光媒体等の着脱可能光ディスク352からの読み出しまたは当該ディスクへの書き込みを行う光ディスクドライブ350を含むことができる。ハードディスクドライブ344、磁気ディスクドライブ346、および光ディスクドライブ350は、SCSIインターフェース354または他の或る適切なインターフェースによってバス336に接続される。これらのドライブおよびこれらのドライブに関連したコンピュータ可読媒体は、計算デバイス330用のコンピュータ可読命令、データ構造体、プログラムモジュール、および他のデータの不揮発性ストレージを提供する。本明細書で説明する例示の環境は、ハードディスク、着脱可能磁気ディスク348、および着脱可能光ディスク352を使用するが、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)等の他のタイプのコンピュータ可読媒体も、例示の動作環境で使用することができる。
ハードディスク344、磁気ディスク348、光ディスク352、ROM338、またはRAM340には、複数のプログラムモジュールを記憶することができる。これらのプログラムモジュールには、オペレーティングシステム358、1つまたは2つ以上のアプリケーションプログラム360、他のプログラムモジュール362、およびプログラムデータ364が含まれる。ユーザは、キーボード366やポインティングデバイス368等の入力デバイスを通じて計算デバイス330にコマンドおよび情報を入力することができる。他の入力デバイス(図示せず)には、マイク、ジョイスティック、ゲームパッド、衛星放送受信用アンテナ、スキャナ等が含まれ得る。これらの入力デバイスおよび他の入力デバイスは、バス336に接続されたインターフェース370を通じて処理ユニット332に接続される。モニタ372または他のタイプの表示デバイスも、ビデオアダプタ374等のインターフェースを介してバス336に接続される。
計算デバイス330は、リモートコンピュータ376等の1つまたは2つ以上のリモートコンピュータへの論理接続を使用して、ネットワーク接続環境で動作することができる。リモートコンピュータ376は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス、または他の一般的なネットワークノードとすることができ、通常、計算デバイス330について上述した要素の多くまたはすべてを含む。ただし、図3には、メモリストレージデバイス378のみが図示されている。図3に示す論理接続には、LAN380およびWAN382が含まれる。
計算デバイス330は、LANネットワーク接続環境で使用される場合には、ネットワークインターフェースまたはアダプタ384を通じてローカルネットワーク380に接続される。計算デバイス330は、WANネットワーク接続環境で使用される場合には、通常、インターネット等のワイドエリアネットワーク382を介した通信を確立するためのモデム386または他の手段を含む。モデム386は、内蔵であってもよいし、外付けであってもよく、シリアルポートインターフェース356を介してバス336に接続される。ネットワーク接続環境では、計算デバイス330について示したプログラムモジュールまたはその一部は、リモートメモリストレージデバイスに記憶することができる。図示したネットワーク接続は例示であって、コンピュータ間に通信リンクを確立する他の手段を使用できることが理解されよう。
ホスト216、220は、通信ネットワーク212への接続を可能にするホストアダプタのハードウェアおよびソフトウェアを含むことができる。通信ネットワーク212への接続は、帯域幅の必要量に応じて、光結合を通じたものとすることもできるし、より従来式の導電ケーブルを通じたものとすることもできる。ホストアダプタは、計算デバイス330のプラグインカードとして実施することができる。ホスト216、220は、任意の個数のホストアダプタを実施して、通信ネットワーク212への接続を、ホストアダプタのハードウェアおよびソフトウェアがサポートするのと同数分提供することができる。
一般に、計算デバイス330のデータプロセッサは、コンピュータのさまざまなコンピュータ可読ストレージ媒体に異なる時刻に記憶された命令によってプログラミングされる。プログラムおよびオペレーティングシステムは、例えば、フロッピィディスク、CD−ROM、または電子的に分散される場合があり、コンピュータの2次メモリにインストールまたはロードされる。実行時に、プログラムは、コンピュータの1次電子メモリに少なくとも部分的にロードされる。
図4は、ストレージセル210等のストレージセル400の例示の一実施態様の概略図である。図4を参照して、ストレージセル400は、ディスクコントローラ410a、410bとも呼ばれる2つのネットワークストレージコントローラ(NSC(Network Storage Controller))を含む。これらのNSC410a、410bは、データのオペレーション、ならびに、1つまたは2つ以上のディスクアレイ440、442へのデータの転送および当該ディスクアレイからのデータの転送を管理する。NSC410a、410bは、マイクロプロセッサ416a、416bおよびメモリ418a、418bを有するプラグインカードとして実施することができる。各NSC410a、410bは、ホストへのインターフェースを提供する、すなわちスイッチングファブリック等の通信ネットワークを通じた2重のホストアダプタポート412a、414a、412b、414bを含む。ファイバチャネルの実施態様では、ホストアダプタポート412a、412b、414a、414bは、FCN_Portとして実施することができる。各ホストアダプタポート412a、412b、414a、414bは、スイッチングファブリックへのログインおよびスイッチングファブリックとのインターフェースを管理し、ログインプロセスにおいてファブリックに一意のポートIDを割り当てられる。図4に示すアーキテクチャは、十分に冗長なストレージセルを提供し、単一のNSCのみが、ストレージセル210を実施するのに必要とされる。
各NSC410a、410bは、NSC410a、410b間の通信接続438を可能にする通信ポート428a、428bをさらに含む。通信接続438は、FCポイントツーポイント接続として実施することもできるし、他の任意の適切な通信プロトコルに準拠して実施することもできる。
例示の一実施態様では、NSC410a、410bは、複数のファイバチャネルアービトレーテッドループ(FCAL(Fiber Channel Arbitrated Loop))ポート420a〜426a、420b〜426bをさらに含む。これらのFCALポートは、複数のストレージデバイス、例えば、ディスクドライブアレイ440、442とのFCAL通信接続を実施する。図示した実施の形態は、ディスクドライブアレイ440、442とのFCAL接続を実施するが、ディスクドライブアレイ440、442との通信接続は他の通信プロトコルを使用して実施できることも理解されよう。例えば、FCAL構成ではなく、FCスイッチングファブリックも使用することができる。
[例示のオペレーション]
例示のストレージネットワークのさまざまなコンポーネントを説明してきたが、次に、ストレージネットワーク200およびそのコンポーネントのオペレーションに注意を向けることにする。
動作時に、ストレージセル210a、210b、210cのディスクドライブアレイ440、442によって提供されるストレージ容量は、ストレージプール110に加えることができる。アプリケーションがストレージ容量を必要とすると、ホストコンピュータ128の論理命令は、1つまたは2つ以上のストレージセル210a、210b、210cにおいて利用可能なディスクドライブアレイ440、442で利用可能なストレージ容量からLUを確立することができる。LUは論理ユニットであって、物理ユニットではないので、LUを構成する物理的なストレージ空間は、複数のストレージセル210a、210b、210cにわたって分散されている場合があるということが理解されよう。アプリケーション用のデータは、ストレージネットワークの1つまたは2つ以上のLUに記憶することができる。
ストレージネットワーク200は、ストレージセル210a、210b、210cに記憶されたデータに対してデータ冗長性を提供するリモートコピープロシージャを実施することができる。例として、図2を参照して、ストレージセル210aに存在するLUは、ストレージセル210bに存在するリモートコピーを有することができ、ストレージセル210bは、ストレージセル210aから任意の距離に配置することができる。ストレージセル210aに存在するLUのさらに別のリモートコピーは、ストレージネットワーク210の他のストレージセルに保持することができる。同様に、ストレージセル210bに存在するLUは、ストレージセル210aまたは210cにリモートコピーを有することができ、ストレージセル210cに存在するLUは、ストレージセル210aまたは210bにリモートコピーを有することができる。リモートコピープロセスの期間中、LUの情報は、時に「ネットワーククラウド(network cloud)」と呼ばれることがあるスイッチングファブリックを横断してその宛先ストレージセルに送信される。
ストレージネットワークのデータにアクセスする必要があるアプリケーションは、ホストコンピュータに読み出しクエリーを発行(launch)することができる。ホストコンピュータは、読み出しクエリーに応答して、要求されたデータが存在する1つまたは2つ以上のストレージセルのNSC(または複数のNSC)に問い合わせを行う。NSC(または複数のNSC)は、要求されたデータが存在するストレージ媒体から当該要求されたデータを取り出し、そのデータをホストコンピュータに転送する。次に、ホストコンピュータは、要求側デバイスにそのデータを転送することができる。
[書き込みオペレーション]
アプリケーションは、ホストコンピュータ216、220に書き込み要求を発行することによって、ストレージネットワーク200にデータを書き込むことができる。書き込み要求に応答して、ホストコンピュータ216、220は、要求されたデータが存在する1つまたは2つ以上のストレージセル210a、210b、210cのNSC(または複数のNSC)410a、410bに書き込みコマンドを発行する。この書き込みコマンドは、ストレージネットワーク200に書き込まれるデータを含む。NSC(または複数のNSC)410a、410bは、書き込みコマンドに応答して、ストレージ媒体にデータを書き込む。ストレージネットワーク200が、記憶されたデータの1つまたは2つ以上のリモートコピーを実施するように構成されている場合、書き込みオペレーションからのデータは、ストレージネットワークの第2のストレージセル210a、210b、210cに同時に書き込まれる。このリモートコピーオペレーションは、ホストコンピュータ216、220またはNSC(または複数のNSC)410a、410bのいずれかによって実施することができる。
例示の一実施態様では、ストレージネットワーク210のデータ一貫性グループに対する書き込みオペレーションは、書き込み制御サーバ230によって規制される。図5は、ストレージネットワーク200のデータ一貫性グループに対する書き込みオペレーションを実行する第1の例示の実施態様のオペレーション500を示すフローチャートである。図5に示す例示の実施態様では、書き込み制御サーバ230は、ストレージネットワーク200のデータ一貫性グループに対する書き込みオペレーションを制限して、どの時点においても単一のホストコンピュータ216、220しか書き込みオペレーションを実行できないようにする。
オペレーション510において、ホストコンピュータは書き込み要求を起動し、この書き込み要求は、例えば通信ネットワーク212を介して書き込み制御サーバ230に送信される。書き込み制御サーバ230は、書き込み要求を受信し、オペレーション514において、書き込み要求を書き込み許可キュー(WPQ(write permission queue))に配置する。WPQは、ストレージネットワーク200に接続するホストコンピュータ216、220から受信した書き込み要求のリストを備える。
例示の一実施の形態では、書き込み制御サーバ230は、WPQ内の書き込み要求を、書き込み制御サーバ230において書き込み要求を受信した順序に配列する。代替的な実施の形態では、書き込み制御サーバ230は、書き込み要求がホストコンピュータ216、220によって生成された正確な時系列に従ってWPQを配列するように試みる。これは、複数の例示の実施態様の1つを使用して達成することができる。
例示の一実施態様は、着信した書き込み要求を書き込み制御サーバにおいて遅延させて、書き込み要求を生成したホストコンピュータ216、220と書き込み制御サーバ230との間の伝送遅延を補償する逆ハンディキャッププロセスを使用する。書き込み制御サーバ230は、ストレージネットワーク200に接続されたホストコンピュータ216、220に関連した伝送遅延を含むアレイを構築することができる。このアレイの伝送遅延値は、書き込み要求をWPQに配置する際に伝送遅延を補償するのに使用することができる。
アレイは、書き込み制御サーバ230によって実行されるバックグラウンドプロセスで構築することができる。アレイを構築するために、書き込み制御サーバ230は、ストレージネットワーク200に接続する1つまたは2つ以上のホストコンピュータ216、220をピングする。ホストコンピュータ216、220はこのピングに応答する。書き込み制御サーバ230と各ホストコンピュータ216、220との間の通信パスのラウンドトリップ時間(RTT)が計測される。RTTは2で除算され、書き込み要求が各ホストコンピュータ216、220から書き込み制御サーバ230への送信中に受ける伝送遅延、すなわち待ち時間が近似される。この伝送遅延は、適切なデータ構造体、例えば、メモリに記憶されたアレイに記憶することができ、それらの各ホストコンピュータ216、220に論理的に関連付けることができる。
伝送遅延を補償するために、着信した書き込み要求は、伝送遅延のアレイにおける最長遅延から、その要求を発したホストコンピュータ216、220に関連した遅延を差し引いたものに等しい期間だけ、書き込み制御サーバにおいて遅延される。例として、ホストコンピュータ216が20ナノ秒(ns)の伝送遅延を示し、この伝送遅延が、ストレージネットワーク200に接続されたすべてのホストコンピュータの中で最長の伝送遅延であると仮定する。ホストコンピュータ216からの書き込み要求は、書き込み制御サーバ230においては遅延しない(その理由は、20ns−20nsは0nsの遅延になるからである)。これに対して、ホストコンピュータ220は、14nsの伝送遅延を示すと仮定する。ホストコンピュータ220からの書き込み要求は、6ns(20ns−14ns)だけ遅延されることになる。このようにして、逆ハンディキャッププロセスは、WPQに書き込み要求を配置する際に、ホストコンピュータ216、220と書き込み制御サーバ230との間の伝送遅延を補償するように試みる。
伝送遅延のアレイを構築するプロセスは、バックグラウンドプロセスとして定期的に実行することもできるし、ホストコンピュータ216、220からの書き込み要求に応答して実行することもできる。書き込み制御サーバ230は、ホストコンピュータ216、220を1回だけピングすることもできるし、複数回ピングして平均RTTを導出することもできる。
代替的な実施態様では、ホストコンピュータ216、220からの書き込み要求は、当該書き込み要求が発せられた時刻を示すタイムスタンプで印を付けられる。ホストコンピュータ216、220のクロックが、書き込み制御サーバ230のクロックと同期している場合には、書き込み要求を自身の各タイムスタンプに従ってWPQに配置することができる。これに対して、ホストコンピュータ216、220のクロックが、書き込み制御サーバ230のクロックと同期していない場合には、上述したように、伝送遅延を使用して、書き込み要求をWPQに配置することができる。
図5を再び参照して、オペレーション518において、書き込み制御サーバ230は、書き込みアクセストークンを生成する。この書き込みアクセストークンは、WPQの最上部において、ホストコンピュータ216、220に送信される。書き込みアクセストークンは、書き込み制御サーバ230からのメッセージとして具体化することができ、例えば、連続番号やホストコンピュータが書き込み要求を生成した際のタイムスタンプ等、ホストコンピュータ216、220からの書き込み要求を特定する情報を含むことができる。また、このトークンは、書き込み制御サーバ230によって書き込み許可が与えられた時刻を示すタイムスタンプも含むことができる。
書き込みアクセストークンは、ホストコンピュータ216、220によって受信され、オペレーション522において、ホストコンピュータ216、220は、その書き込みアクセストークンに関連した書き込みオペレーションを起動する。ホストコンピュータ216、220は、WPQに複数の未処理の書き込み要求を有する場合があることが理解されよう。返された連続番号またはタイムスタンプを書き込みアクセストークンと照合することによって、書き込みオペレーションを書き込み要求に関連付けることができる。書き込みオペレーションは、通常のストレージネットワークオペレーションに従って実行することができる。ストレージネットワークがデータの冗長コピーを生成するように構成されている場合には、冗長コピーオペレーションも実行される。
オペレーション526および530はオプションである。オペレーション526において、ホストコンピュータ216、220は、書き込み起動信号を生成し、この書き込み起動信号は、書き込み制御サーバ230に送信される。書き込み起動信号は、書き込みオペレーションを特定する情報を含み、当該書き込みオペレーションが開始した時刻を示すタイムスタンプを含むことができる。オペレーション530において、書き込み制御サーバ230は、書き込み起動信号を適切なストレージ位置、例えば書き込み制御サーバ230に通信接続されたメモリに記憶する。
オペレーション534において、あらゆる冗長コピーオペレーションを含めて、書き込みオペレーションが成功して完了した時、または、失敗に終わった時に、ホストコンピュータ216、220は書き込み完了信号を生成する。この書き込み完了信号は、書き込み制御サーバ230に送信される。書き込み完了信号が成功を示している場合には(オペレーション538)、書き込み制御サーバ230は、WPQの次の書き込み要求に関連した書き込みアクセストークンをホストコンピュータ216、220に送信する。これに対して、書き込み完了信号が失敗を示している場合には、ストレージネットワークのデータ一貫性グループに対するすべての書き込みオペレーションが終了される(オペレーション542)。続いて、書き込み制御サーバ230は、ストレージネットワークのデータ一貫性グループに対するフェールオーバプロシージャをトリガする書き込み失敗信号を送信することができる(オペレーション546)。
オペレーション510〜538によって、書き込み制御サーバ230は、どの時点においても1つのホストコンピュータ216、220しか書き込みアクセスを有しないように、ストレージネットワーク200のデータ一貫性グループに対する書き込みオペレーションを規制することが可能になる。ホストコンピュータ、例えば216による書き込みオペレーションが成功して完了すると、書き込みアクセスは、別のホストコンピュータ、例えば220に許可される。これに対して、書き込みオペレーションが失敗である場合には、ストレージネットワークのデータ一貫性グループに対するすべての書き込みオペレーションが終了する。このようにして、データ一貫性グループのデータセットだけでなく、それらのローカルな複製またはリモートの複製に対しても、データ一貫性が常に維持される。
オプションの機能では、書き込み制御サーバ230は、書き込みオペレーションが時間しきい値を超えている場合に書き込みオペレーションを終了するタイムアウトプロシージャを実施することができる。例として、書き込み制御サーバ230は、書き込み起動信号がオペレーション530で受信された時にタイマを起動することができる。書き込み完了信号が所定の期間内に受信されない場合に、書き込み制御サーバは、ストレージネットワークのデータ一貫性グループに対するフェールオーバプロシージャをトリガする信号を生成することができる。
ホストコンピュータ216、220が書き込みオペレーションを実行している間に、着信した書き込み要求を書き込み制御サーバ230において受信してWPQに配置できることが理解されよう。その点で、オペレーション510および514は、図5に示す残りのオペレーションとは独立して繰り返し実行することができる。
図6は、ストレージネットワーク200の書き込みオペレーションを実行する第2の例示の実施態様のオペレーションを示すフローチャートである。図6に示す例示の実施態様では、書き込み制御サーバ230は、ストレージネットワーク200のデータ一貫性グループに対する書き込みオペレーションを認可し、どの時点においても書き込みオペレーションの実行を複数のホストコンピュータ216、220に許可し、かつ、データ一貫性グループの書き込みオペレーションを追跡する応答ログを保持する。書き込み失敗の場合に、書き込み制御サーバ230は、応答ログを調べて、失敗に終わった書き込みが認可された時刻を決定し、そして、応答ログで特定されたホストコンピュータに書き込み失敗信号を送信する。ホストコンピュータは、書き込み失敗信号に応答して、書き込み失敗後に発生した書き込みを取り消すことができ、したがって、ローカルな複製されたデータ一貫性グループのデータセットの一貫性を確保することができる。
図6を参照して、オペレーション610において、ホストコンピュータは、書き込み要求を起動し、この書き込み要求は、例えば通信ネットワーク212を介して、書き込み制御サーバ230に送信される。書き込み制御サーバ230は、オペレーション632において書き込み要求を受信し、オペレーション634において、書き込み要求をWPQに配置する。書き込み制御サーバ230は、図5に関連して説明したようなWPQに受信した書き込み要求を配置する同じプロシージャの1つを実施することができる。
オペレーション640において、書き込み制御サーバ230は、書き込みアクセストークンを生成し、この書き込みアクセストークンは、WPQの最上部において、ホストコンピュータ216、220に送信される。書き込みアクセストークンは、書き込み制御サーバ230からのメッセージとして具体化することができ、例えば、連続番号やホストコンピュータが書き込み要求を生成した際のタイムスタンプ等、ホストコンピュータ216、220からの書き込み要求を特定する情報を含むことができる。また、このトークンは、書き込み制御サーバ230によって書き込み許可が与えられた時刻を示すタイムスタンプも含むことができる。書き込みアクセストークンは、要求側のホストコンピュータ216、220に送信され、書き込み制御サーバ230が保持する応答ログに入力される。応答ログのエントリは、書き込み許可が与えられたホストコンピュータ216、220に関連した識別子と、書き込み許可が与えられた時刻を特定するタイムスタンプとを備える。応答ログは、例えば書き込み制御サーバ230のRAMやディスクメモリ等、書き込み制御サーバに通信接続されたメモリ位置に、適切なデータ構造体、例えばアレイまたはリンクされたリストに保持することができる。
書き込みアクセストークンは、ホストコンピュータ216、220によって受信され、オペレーション614において、ホストコンピュータ216、220は、その書き込みアクセストークンに関連した書き込みオペレーションを起動する。書き込みオペレーションは、図5に関連して説明したようなリモートコピーオペレーションを含むことができる。ホストコンピュータ216、220は、WPQに複数の未処理の書き込み要求を有する場合があることが理解されよう。返された連続番号またはタイムスタンプを書き込みアクセストークンと照合することによって、書き込みオペレーションを書き込み要求に関連付けることができる。書き込みオペレーションは、通常のストレージネットワークオペレーションに従って実行することができる。ストレージネットワークがデータの冗長コピーを生成するように構成されている場合には、冗長コピーオペレーションも実行される。
例示の一実施の形態では、各ホストコンピュータは、書き込みオペレーションを取り消すのに必要な情報を含む取り消しログを保持する。ストレージネットワーク200の取り消しログは、書き込みアクセストークンと共に送信されたタイムスタンプ用のエントリと、書き込みオペレーションが開始する時刻用のエントリと、書き込みオペレーションが終了する時刻用のエントリと、書き込みオペレーションのコンテンツが記憶される位置を特定するアドレス用のエントリと、書き込みオペレーションのコンテンツ用のエントリと、書き込みオペレーションのステータス用のエントリとを含むことができる。取り消しログは、データ一貫性グループにおける書き込み制御サーバ230とホストコンピュータ216、220との間の最長伝送遅延に、データ一貫性グループにおいて実施された最長書き込みタイムアウトを加えたものに対応する期間に発生した書き込みをホストが取り消すことができるほど十分大きなものであるべきである。オペレーション618において、ホストコンピュータ216、220は、書き込みオペレーションをその取り消しログに入力する。
オペレーション622において、ホストコンピュータ216、220は、書き込みオペレーションステータス信号を生成し、この書き込みオペレーションステータス信号は、書き込み制御サーバ230に送信される。書き込み制御ステータス信号は、書き込みオペレーションを特定する1つまたは2つ以上のエントリと、書き込みオペレーションが成功して完了したのか、それとも失敗したのかを示すエントリとを含む。失敗の場合、書き込みオペレーションステータス信号は、書き込み失敗警報として機能する。
ステップ624において、書き込みオペレーションが成功して完了したとホストコンピュータ216、220が判断すると、ホストコンピュータは、通常オペレーションを続行する。これに対して、書き込みオペレーションが失敗すると、ホストコンピュータ216、220は、オペレーション626において、すべての書き込みオペレーションを停止し、取り消しログを調べて、当該失敗した書き込みオペレーションについて許可が与えられた時刻よりも後に発生したあらゆる書き込みオペレーションを取り消す(オペレーション628)。
オペレーション622において生成された書き込みオペレーションステータス信号は、書き込み制御サーバ230において受信され、書き込み制御サーバ230は、その書き込みオペレーションステータス信号を解析して、当該信号が成功であるのか、それとも失敗であるのかを判断する(オペレーション644)。書き込みオペレーションが成功して完了した場合には、書き込み制御サーバ230は通常オペレーションを続行する。これに対して、書き込みオペレーションが失敗すると、書き込み制御サーバは、書き込みオペレーションに許可を与えることを終了し(オペレーション648)、応答ログのホストコンピュータ216、220に書き込み失敗信号を送信する(オペレーション652)。書き込み失敗信号は、書き込み制御サーバが当該失敗した書き込みオペレーションについて許可を与えた時刻を特定するタイムスタンプを含む。
ホストコンピュータ216、220は、書き込み失敗信号を受信すると、すべての書き込みオペレーションを停止し、自身の取り消しログを調べて、当該失敗した書き込みオペレーションについて許可が与えられた時刻よりも後に発生したあらゆる書き込みオペレーションを取り消す、すなわち、ホストコンピュータは、オペレーション626および628を実行する。書き込みが失敗したホストコンピュータは、それ自身の失敗情報に基づいて、オペレーション626および628をすでに実行している場合があることが理解されよう。
図6に示すオペレーションによって、データ一貫性グループにおける複数のホストコンピュータ216、220は、同時に書き込みオペレーションを実行することが可能になり、これによって、図5に示すオペレーションよりも良い性能が提供される。書き込みオペレーションが失敗した場合、ローカルの複製データ一貫性グループが一貫性のあるデータ状態に戻される。
別の例示の実施態様では、ストレージネットワーク内への均一時刻放送装置(UTB(Uniform Time Broadcaster))コンポーネントの導入に適応するために、図5および図6に示すオペレーションをわずかに変更することができる。UTBコンポーネントは、ストレージネットワーク200のすべてのコンポーネントが使用できるタイミング信号をブロードキャストする。UTBコンポーネントは、例えば、インターネット小型コンピュータ用周辺機器インターフェース(iSCSI)のブロードキャスト送信モードを使用することによって、書き込み制御サーバ230内に実施することもできるし、別個のコンポーネントとして実施することもできる。タイミング信号は、通信ネットワーク212を介してブロードキャストすることもできるし、別個の通信ネットワークを介してブロードキャストすることもできる。また、UTBは、GPS衛星時刻の受信機として実施することもできる。
UTBの導入によって、書き込み制御サーバ230は、WPQにおけるホストコンピュータ216、220からの書き込み要求をソートする、より決定論的なプロセスを実施することが可能になる。ストレージネットワークが均一なタイミングを使用するので、書き込み要求には、発信元ホストから統一したタイムスタンプを供給することができ、書き込み要求が生成された時刻を示す統一したタイムスタンプに従って、当該書き込み要求をWPQに配置することができる。したがって、逆ハンディキャッププロシージャは必要なくなる。これに対して、書き込み要求が発信元ホストからの統一したタイムスタンプを含まない場合には、書き込み制御サーバ230は、オプションとして逆ハンディキャッププロシージャを実施して、書き込み要求を生成したホストコンピュータと書き込み制御サーバとの間の伝送遅延を補償することができる。残りのオペレーションは、図5および図6で説明したように実施することができる。
別の例示の実施態様では、UTBは、ホストコンピュータ216、220と協働して、書き込み制御サーバ230がデータ一貫性グループに対する書き込みオペレーションの認可または追跡を行う必要をなくす。
図7は、ストレージネットワーク200の書き込みオペレーションを実行する第3の例示の実施態様のオペレーションを示すフローチャートである。図7に示すオペレーションは、ストレージネットワーク200のホストコンピュータに関連したプロセッサで実施することができる。
オペレーション710において、ホストコンピュータ216、220は、UTBからタイミングインジケータを含む信号を受信する。例示の一実施態様では、UTBは、ストレージネットワーク200のホストコンピュータにタイミング信号を絶えずブロードキャストし、したがって、ホストコンピュータ216、220は、UTBのクロック信号を表すクロック信号を絶えず受信する。代替的な実施の形態では、UTBは、タイミング信号を定期的に送信することができ、ホストコンピュータ216、220は、自身のクロックをUTBからのクロック信号と同期させるか、または、UTBタイミングインジケータとローカルタイマとの間の差分を表す信号を保持することができる。このように、ホストコンピュータは、UTBのタイミング信号を特定するタイミング情報を保持する。このタイミング情報は、UTBからのタイミングインジケータ、同期したローカルタイマ、またはUTBタイミングインジケータとローカルタイマとの間の差分を表す信号とすることができる。
オプションとして、ホストコンピュータ216、220は、UTBとホストコンピュータとの間の伝送遅延に関する情報を保持することができ、この情報をタイミング情報に関連付けて記録することができる。例えば、ホストコンピュータは、UTBを定期的にピングすることができ、UTBからの応答のRTTを決定することができる。RTTを2で除算して、伝送遅延を見積もることができる。
オペレーション714において、ホストコンピュータは、例えばクライアントからの書き込み要求に応答して、書き込みオペレーションを起動する。オペレーション718において、書き込みオペレーションは取り消しログに入力される。例示の実施の形態では、各ホストコンピュータは、書き込みオペレーションを取り消すのに必要な情報を含む取り消しログを保持する。取り消しログは、ほぼ図6に関連して説明したように実施することができる。ホストコンピュータ216、220は、書き込みオペレーションが起動された時刻のUTBのタイミング信号を特定するタイミング情報を取り消しログに記録する。これは、UTBタイミングインジケータと書き込みオペレーションとの間の関連を提供する。タイミング情報は伝送遅延を含むことができる。
書き込みオペレーションが成功して完了すると(オペレーション722)、ホストコンピュータ216、220は通常オペレーションを続行し、したがって、制御は再びオペレーション710に移動することができる。これに対して、書き込みオペレーションが失敗すると、制御はオペレーション726に移動し、ホストコンピュータ216、220は、書き込み失敗信号をストレージネットワーク200の他のホストコンピュータ216、220に送信する。書き込み失敗信号は、当該失敗した書き込みオペレーションに関連したUTBタイミングインジケータを特定するタイミング情報を含む。
例示の一実施態様では、ホストコンピュータ216、220は、例えばiSCSIのブロードキャスト送信モードを使用して、ストレージネットワークの他のホストコンピュータ216、220に直接信号をブロードキャストする。代替的な実施態様では、ホストコンピュータは、書き込み失敗信号を書き込み制御サーバ230に送信し、書き込み制御サーバ230が、書き込み失敗信号をストレージネットワーク200の他のホストコンピュータ216、220に送信する。
書き込み失敗信号に応答して、オペレーション730において、ホストコンピュータ216、220は、すべての書き込みオペレーションを停止し、オペレーション734において、ホストコンピュータ216、220は、自身の各取り消しログを使用して、失敗した書き込みオペレーション後に起動されたあらゆる書き込みオペレーションを取り消す。書き込み失敗信号を発信したホストコンピュータ216、220は、このローカルな書き込み失敗信号に応答してオペレーション730および734を実行できることが理解されよう。
図7に示すオペレーションによって、データ一貫性グループにおける複数のホストコンピュータ216、220が、同時に、かつ、書き込みアクセスの中央制御なしに、書き込みオペレーションを実行することが可能になる。書き込みオペレーションが失敗した場合、データ一貫性グループは一貫性のあるデータ状態に戻される。
ここに開示した明細書を考慮することにより、当業者には、本明細書で明示的に述べた特定の実施の形態に加えて、本発明の他の態様および実施の形態が明らかであろう。本明細書および図示した実施の形態は、単なる例としてみなされるものであり、本発明の真の範囲および精神は添付した特許請求の範囲によって示されることが意図されている。
ストレージネットワークを利用する、ネットワーク接続された計算システムの例示の一実施態様の概略図である。 ストレージネットワークの例示の一実施態様の概略図である。 ホストを実施するのに利用できる計算デバイスの例示の一実施態様の概略図である。 ストレージセルの例示の一実施態様の概略図である。 ストレージネットワークの書き込みオペレーションを実行する第1の例示の実施態様のオペレーションを示すフローチャートである。 ストレージネットワークの書き込みオペレーションを実行する第2の例示の実施態様のオペレーションを示すフローチャートである。 ストレージネットワークの書き込みオペレーションを実行する第3の例示の実施態様のオペレーションを示すフローチャートである。

Claims (4)

  1. ストレージネットワーク(200)であって、
    複数のストレージセル(210)であって、少なくとも1つのストレージセル(210a)が、物理的なストレージ媒体(440)と、該ストレージ媒体(440)でデータ転送オペレーションを制御するストレージ媒体コントローラ(410)とを含む、複数のストレージセル(210)と、
    少なくとも1つのストレージセル(210)に書き込みオペレーションを実行するように構成できる複数のホストコンピュータ(216、220)と、
    前記複数のホストコンピュータ(216、220)の1つまたは2つ以上の前記書き込みオペレーションを規制する少なくとも1つの書き込み制御サーバ(230)と、
    前記ストレージセル(210)と前記ホストコンピュータ(216、220)と前記書き込み制御サーバ(230)との間の通信接続を提供する通信ネットワーク(212)と、
    を備え、
    前記ホストコンピュータ(216、220)は、前記書き込み制御サーバ(230)に書き込み要求をサブミットし、
    前記書き込み制御サーバ(230)は、
    前記書き込み要求を書き込み許可キューに配置して、前記ホストコンピュータ(216、220)の書き込みオペレーションを規制し、
    前記書き込み要求を前記書き込み許可キューに配置する際に、着信した書き込み要求を遅延させて、ホストコンピュータ(216)から前記書き込み制御サーバ(230)への見積もり移動時間を大きくする
    ストレージネットワーク。
  2. ストレージネットワーク(200)であって、
    前記書き込み制御サーバ(230)は、どの時点においても前記書き込み許可キューの単一のホストコンピュータ(216)にしか書き込み許可を与えない、
    請求項1に記載のストレージネットワーク。
  3. ストレージネットワーク(200)における複数のホストコンピュータ(216、220)と複数のデータストレージデバイス(210)との間のデータ転送オペレーションを管理する方法であって、
    書き込み制御サーバ(230)において、前記ストレージネットワーク(200)に通信接続された前記複数のホストコンピュータ(216、220)から書き込み要求を受信すること、
    前記書き込み要求を書き込み許可キューに記憶すること、
    前記書き込み許可キューの書き込み要求に関連した少なくとも1つのホストコンピュータ(216)に、前記ホストコンピュータ(216)に書き込みオペレーションを起動する許可を与える許可信号を送信すること、および、
    着信した書き込み要求を遅延させて、ホストコンピュータ(216)から前記書き込み制御サーバ(230)への見積もり移動時間を大きくすること
    を含むデータ転送オペレーションを管理する方法。
  4. ホストコンピュータ(216)から、書き込みオペレーションが完了したことを示すステータス信号を受信すること、
    をさらに含む、請求項に記載のデータ転送オペレーションを管理する方法。
JP2005014967A 2004-01-28 2005-01-24 ストレージネットワークにおける書き込みオペレーション制御 Expired - Fee Related JP4309354B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/767,130 US8566446B2 (en) 2004-01-28 2004-01-28 Write operation control in storage networks

Publications (2)

Publication Number Publication Date
JP2005216299A JP2005216299A (ja) 2005-08-11
JP4309354B2 true JP4309354B2 (ja) 2009-08-05

Family

ID=34911280

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005014967A Expired - Fee Related JP4309354B2 (ja) 2004-01-28 2005-01-24 ストレージネットワークにおける書き込みオペレーション制御

Country Status (2)

Country Link
US (1) US8566446B2 (ja)
JP (1) JP4309354B2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8244913B1 (en) 2004-10-13 2012-08-14 Progress Software Corporation Replication horizon determination with an independent distributed database system
US9378099B2 (en) * 2005-06-24 2016-06-28 Catalogic Software, Inc. Instant data center recovery
US8856083B2 (en) * 2006-06-09 2014-10-07 Oracle International Corporation Framework to optimize delete all row operations on database objects to improve throughput, query ability and flashback
US20080282068A1 (en) * 2007-05-08 2008-11-13 Mediatek Inc. Host command execution acceleration method and system
SE533007C2 (sv) * 2008-10-24 2010-06-08 Ilt Productions Ab Distribuerad datalagring
WO2011108695A1 (ja) * 2010-03-05 2011-09-09 日本電気株式会社 並列データ処理システム、並列データ処理方法及びプログラム
US9560134B1 (en) * 2012-06-27 2017-01-31 Netapp, Inc. Storage array side write locking
US9026720B2 (en) * 2013-02-07 2015-05-05 Apple Inc. Non-volatile memory monitoring
WO2016098202A1 (ja) * 2014-12-17 2016-06-23 株式会社日立製作所 ストレージ装置およびその制御方法
CN106294440B (zh) * 2015-05-27 2019-06-07 阿里巴巴集团控股有限公司 数据实时迁移的方法和装置
CN104951252B (zh) * 2015-06-12 2018-10-16 北京联想核芯科技有限公司 一种数据访问方法及PCIe存储设备
US9864519B2 (en) * 2015-08-24 2018-01-09 Knuedge Incorporated Performing write operations in a network on a chip device
US11893254B2 (en) * 2021-06-04 2024-02-06 International Business Machines Corporation Dynamic permission management of storage blocks
US20230283666A1 (en) * 2022-01-10 2023-09-07 Pure Storage, Inc. Establishing A Guarantee For Maintaining A Replication Relationship Between Object Stores During A Communications Outage

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7203732B2 (en) 1999-11-11 2007-04-10 Miralink Corporation Flexible remote data mirroring
US7222176B1 (en) * 2000-08-28 2007-05-22 Datacore Software Corporation Apparatus and method for using storage domains for controlling data in storage area networks
US20020104008A1 (en) 2000-11-30 2002-08-01 Cochran Robert A. Method and system for securing control-device-lun-mediated access to luns provided by a mass storage device
US6594745B2 (en) 2001-01-31 2003-07-15 Hewlett-Packard Development Company, L.P. Mirroring agent accessible to remote host computers, and accessing remote data-storage devices, via a communcations medium
US6606690B2 (en) 2001-02-20 2003-08-12 Hewlett-Packard Development Company, L.P. System and method for accessing a storage area network as network attached storage
US6697881B2 (en) 2001-05-29 2004-02-24 Hewlett-Packard Development Company, L.P. Method and system for efficient format, read, write, and initial copy processing involving sparse logical units
US6915397B2 (en) 2001-06-01 2005-07-05 Hewlett-Packard Development Company, L.P. System and method for generating point in time storage copy
US6728848B2 (en) 2001-06-11 2004-04-27 Hitachi, Ltd. Method and system for backing up storage system data
US6895467B2 (en) 2001-10-22 2005-05-17 Hewlett-Packard Development Company, L.P. System and method for atomizing storage
US6721857B2 (en) 2001-10-23 2004-04-13 Hewlett-Packard Development Company, L.P. Flexible allegiance storage and computing architecture
US7003688B1 (en) * 2001-11-15 2006-02-21 Xiotech Corporation System and method for a reserved memory area shared by all redundant storage controllers
JP2003167683A (ja) 2001-11-30 2003-06-13 Hitachi Ltd 情報記憶システム及びその制御方法
US20030120676A1 (en) 2001-12-21 2003-06-26 Sanrise Group, Inc. Methods and apparatus for pass-through data block movement with virtual storage appliances
US6763436B2 (en) 2002-01-29 2004-07-13 Lucent Technologies Inc. Redundant data storage and data recovery system
JP4220166B2 (ja) * 2002-02-19 2009-02-04 株式会社日立製作所 ストレージエリアネットワークシステムのアクセス制御方法
JP2003330622A (ja) 2002-03-08 2003-11-21 Hitachi Ltd アクセス管理用サーバ、ディスクアレイシステム、及びそのアクセス管理方法
WO2003083678A1 (fr) 2002-03-29 2003-10-09 I-O Data Device, Inc. Appareil de controle d'acces et appareil de gestion de donnees
JP2003316616A (ja) 2002-04-24 2003-11-07 Hitachi Ltd 計算機システム
US7284030B2 (en) * 2002-09-16 2007-10-16 Network Appliance, Inc. Apparatus and method for processing data in a network

Also Published As

Publication number Publication date
US20050198032A1 (en) 2005-09-08
JP2005216299A (ja) 2005-08-11
US8566446B2 (en) 2013-10-22

Similar Documents

Publication Publication Date Title
JP4309354B2 (ja) ストレージネットワークにおける書き込みオペレーション制御
US7516356B2 (en) Method for transmitting input/output requests from a first controller to a second controller
US6345368B1 (en) Fault-tolerant access to storage arrays using active and quiescent storage controllers
TWI278749B (en) Support for single-node quorum in a two-node nodeset for a shared disk parallel file system
US8850141B2 (en) System and method for mirroring data
US9880753B2 (en) Write requests in a distributed storage system
US6148349A (en) Dynamic and consistent naming of fabric attached storage by a file system on a compute node storing information mapping API system I/O calls for data objects with a globally unique identification
EP0935375B1 (en) Name service for a highly configurable multi-node processing system
US9158779B2 (en) Multi-node replication systems, devices and methods
US8285824B2 (en) Storage system and data replication method that refuses one or more requests for changing the first logical configuration information until the first storage apparatus and second storage apparatus are synchronized
US20050283641A1 (en) Apparatus, system, and method for verified fencing of a rogue node within a cluster
JP4342452B2 (ja) トランザクションベースのストレージ動作
US20060161700A1 (en) Redirection of storage access requests
EP0935200A1 (en) Highly scalable parallel processing computer system architecture
WO2015077955A1 (zh) 一种写数据方法、装置和系统
US12105983B2 (en) Resilient implementation of client file operations and replication
WO2020232859A1 (zh) 分布式存储系统、数据写入方法、装置和存储介质
JP2001184248A (ja) 分散処理システムにおけるデータアクセス管理装置
JP2006092535A (ja) ストレージネットワークにおける内部ミラーオペレーション
US11221928B2 (en) Methods for cache rewarming in a failover domain and devices thereof
JP2005216304A (ja) 複数サイトでのデータの複製
WO2024174477A1 (zh) 一种存储系统的同步远程复制方法及装置
US7558886B2 (en) Method and apparatus for controlling data flows in distributed storage systems
Anderson et al. Failure-atomic file access in the Slice interposed network storage system
TW202211065A (zh) 在包括網路鍵值客戶端及網路鍵值目標的網路鍵值儲存體中對鎖定請求進行協調的系統與方法以及包含指令的非暫時性電腦可讀取媒體

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061207

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070305

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070308

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080318

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080613

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

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

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120515

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130515

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130515

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees