JP5227361B2 - Scsii/oリファーラルを利用したイニシエータ及びストレージクラスタ間の通信方法及びシステム - Google Patents

Scsii/oリファーラルを利用したイニシエータ及びストレージクラスタ間の通信方法及びシステム Download PDF

Info

Publication number
JP5227361B2
JP5227361B2 JP2010094996A JP2010094996A JP5227361B2 JP 5227361 B2 JP5227361 B2 JP 5227361B2 JP 2010094996 A JP2010094996 A JP 2010094996A JP 2010094996 A JP2010094996 A JP 2010094996A JP 5227361 B2 JP5227361 B2 JP 5227361B2
Authority
JP
Japan
Prior art keywords
data
initiator
target device
referral
port
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
JP2010094996A
Other languages
English (en)
Other versions
JP2011054152A (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.)
LSI Corp
Original Assignee
LSI Logic Corp
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 LSI Logic Corp filed Critical LSI Logic Corp
Publication of JP2011054152A publication Critical patent/JP2011054152A/ja
Application granted granted Critical
Publication of JP5227361B2 publication Critical patent/JP5227361B2/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
    • 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
    • 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
    • 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/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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols

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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、ブロックストレージプロトコルを介してアクセスされるネットワーク接続された記憶装置(ストレージ)に関し、特に、マルチプルトランスポートプロトコルからネットワークを介しての、イニシエータシステム及びブロックストレージクラスタ間に、スモールコンピュータシステムインターフェイス(SCSI:スカジー)入力/出力リファーラルを用いて、マルチパス機能を実現するためのシステム及び方法に関する。
ブロックストレージクラスタ及びイニシエータ間の通信を提供するための現在利用可能なシステム及び方法は、必要とされているレベルのパフォーマンスを提供できていない。
従って、現在利用可能なソリューションの上記した問題に対処することができる、ブロックストレージクラスタ及びイニシエータ間の通信を提供するためのシステム/方法を提供することが課題となっている。
本発明の一実施形態では、ネットワークを介して通信可能に接続されたイニシエータ及びストレージクラスタ間に、スモールコンピュータシステムインターフェイス(SCSI)入力/出力リファーラルを介してマルチパス機能を実現する方法を提供する。ストレージクラスタは、少なくとも第1のターゲットデバイス及び第2のターゲットデバイスを備えている。該方法は、第1のターゲットデバイスで、イニシエータからネットワークを介して、データの第1部分及びデータの第2部分に対する要求を含んでいる入力/出力(I/O)を受信するステップと、データの第2部分ではなくデータの第1部分が第1のターゲットデバイスに記憶され、且つデータの第2部分が第2のターゲットデバイスに記憶されている場合に、イニシエータへデータの第1部分の転送を開始し、且つイニシエータにSCSI I/Oリファーラルリストを伝送するステップを含む。ここでリファーラルリストは、第2のターゲットデバイスの第1ポートを識別するための第1ポート識別子と、第2のターゲットデバイスの第2ポートを識別するための第2ポート識別子を含み、第1及び第2のポートは、データの第2部分にアクセスするためのアクセスポートとして特定され、第1ポート識別子及び第2ポート識別子はSCSI関連ポート識別子である。
本発明の別の実施形態では、ネットワークを介して通信可能に接続されたイニシエータ及びストレージクラスタ間に、スモールコンピュータシステムインターフェイス(SCSI)入力/出力リファーラルを介してマルチパス機能を提供するための方法を実行するための、コンピュータ実行可能命令を有するコンピュータ可読記憶媒体を提供する。ストレージクラスタは、少なくとも第1のターゲットデバイス及び第2のターゲットデバイスを備えており、該方法は、第1のターゲットデバイスで、イニシエータからネットワークを介して、データの第1部分及びデータの第2部分に対する要求を含んでいる入力/出力(I/O)を受信するステップと、データの第2部分ではなくデータの第1部分が第1のターゲットデバイスに記憶され、且つデータの第2部分が第2のターゲットデバイスに記憶されている場合に、イニシエータに対してデータの第1部分の転送を開始し、イニシエータへSCSI I/Oリファーラルリストを伝送するステップとを含んでいる。リファーラルリストは、第2のターゲットデバイスの第1ポートを識別するための第1ポート識別子と、第2のターゲットデバイスの第2ポートを識別するための第2ポート識別子を含み、第1及び第2のポートは、データの第2部分にアクセスするためのアクセスポートと特定され、第1ポート識別子及び第2ポート識別子はSCSI関連ポート識別子である。
本発明のさらに別の実施形態では、ネットワークを介して通信可能に接続されるイニシエータ及びストレージクラスタ間に、スモールコンピュータシステムインターフェイス(SCSI)入力/出力リファーラルを介してマルチパス機能を提供するための方法を実行するための、コンピュータ実行可能命令を有するコンピュータ可読記憶媒体を提供するが、ストレージクラスタは、少なくとも第1のターゲットデバイス及び第2のターゲットデバイスを備えており、該方法は、第1のターゲットデバイスで、イニシエータからネットワークを介して、データ要求を含んでいる入力/出力(I/O)を受信するステップと、データ要求に含まれているデータが、第1のターゲットデバイスではなく、第2のターゲットデバイスに含まれている場合に、イニシエータにSCSI I/Oリファーラルリストを伝送するステップとを含んでいる。ここでリファーラルリストは、第2のターゲットデバイスの第1ポートを識別するための第1ポート識別子と、第2のターゲットデバイスの第2ポートを識別するための第2ポート識別子を含み、第1及び第2のポートは、該データにアクセスするためのアクセスポートとして特定される。該方法はさらに、第2のターゲットデバイスで、ネットワークを介してイニシエータからリファーラルI/Oを受信するステップであって、リファーラルI/OがSCSI I/Oリファーラルリストに応答して、且つイニシエータの指示通りに第1ポート及び第2ポートのいずれか1つを介してデータにアクセスすることを要求するステップと、イニシエータへのデータの転送を開始するステップとを含む。第1ポート識別子及び第2ポート識別子はSCSI関連ポート識別子である。
前述の一般的な説明及び後述の詳細な説明は、両方とも単なる例示であって、特許請求された発明を必ずしも限定するものではない。本明細書において説明され且つその一部を構成する添付図面は、本発明の実施形態を図示しており、本発明の概要とともに、本発明の原理を説明するためのものである。
本発明の一実施形態による、ブロックストレージプロトコルを介してアクセス可能なネットワークストレージの装置/システムのブロック図である。 本発明のシステム/方法の実施形態において又は実施形態によって実現される、リファーラルを用いたSCSIコマンド/応答の遠隔処理コールの概略ブロック図である。 本発明の一実施形態による、イニシエータ及びクラスタストレージアレイ間の通信のための方法を示すフロー図である。 本発明の一実施形態による、SCSIリファーラルフォーマットを説明するための図である。 本発明の別の一実施形態による、仮想ボリュームの一部分へのマルチプルパスを有するネットワークストレージ実現のトポロジーブロック図である。 本発明のさらに別の一実施形態による、マルチプルパスを有するSCSI入力/出力のリファーラルフォーマットの図である。 本発明の代替的な一実施形態による、マルチプルパスを有するSCSI入力/出力のリファーラルフォーマットの図である。 本発明の他の一実施形態による、優先マルチプルパスを有するSCSI入力/出力のリファーラルフォーマットの図である。 本発明の一実施形態による、ネットワークを介して通信可能に接続されたイニシエータ及びストレージクラスタ間に、スモールコンピュータシステムインターフェイス入力/出力(SCSI I/O)リファーラルを介してマルチパス機能を提供するための方法を示すフロー図である。 本発明の代替的な一実施形態による、ネットワークを介して通信可能に接続されたイニシエータ及びストレージクラスタ間に、スモールコンピュータシステムインターフェイス入力/出力(SCSI I/O)リファーラルを介するマルチパス機能を提供するための方法を示すフロー図である。 本発明のさらなる一実施形態による、マルチプルトランスポートプロトコルから仮想ボリュームの一部分へのマルチプルパスを有する、ネットワークストレージ実現のトポロジーブロック図である。
以下に本発明の現在好適である実施形態の詳細を、添付図面を参照して説明する。
図1は、本発明の一実施形態による、ブロックストレージプロトコルを介してアクセス可能なネットワークストレージの装置及びシステムを示している。例えば、ブロックストレージプロトコルは、ファイバチャネル、iSCSI、又はシリアル接続(Serial Attached) SCSI(SAS)等のネットワーク化可能媒体トランスポートに実装される、スモールコンピュータシステムインターフェイス(SCSI)プロトコルである。本発明はさらに、SCSI RDMAプロトコル(SRP)等の別のブロックストレージプロトコルで実現される。本発明のシステム/方法は、ブロックストレージクラスタを形成する、多数の協働する離散状態のストレージシステムに対して、共通のコモン論理ブロックアドレス空間をもつデータを分配できるようにするために、ブロックストレージプロトコルを拡張する。
図1に示されている実施形態では、ネットワークストレージ装置/システム/ストレージの基盤構造(インフラストラクチャー)100は、アプリケーションシステム/サーバ102を備えている。アプリケーションシステム102は1又は複数のアプリケーション104を実行する。アプリケーションシステム102で動作するアプリケーション104は、ストレージエリアネットワーク(SAN)110を通って/介して/利用して、1又は複数のストレージシステム(106、108)に記憶されているストレージリソースにアクセスする。アプリケーションは、サーバのオペレイティングシステム114のブロックストレージプロトコルスタック(例:スモールコンピュータシステムインターフェイス(SCSI)プロトコルスタック)112を用いて(一般性を失うことなしに)、ストレージリソース/ネットワークストレージリソースにアクセスする。サーバ102のオペレイティングシステム114は、直接サーバハードウエアで動作するか又は仮想環境における仮想マシン内で動作しても、一般性を失うことはない。
本発明のこの実施形態では、サーバ102のSCSIプロトコルスタック112は、ブロックストレージデバイス/論理ユニット/SCSI論理ユニットとして、アプリケーション104に対して、ローカル(例:サーバ上)ストレージリソース及び遠隔(例:ネットワーク上)ストレージリソースを提供する。論理ユニット/SCSI論理ユニットのそれぞれは、一意の論理ブロックアドレス空間を有している。遠隔ストレージリソース/遠隔ストレージデバイス(106、108)は、サーバ102及び/又はストレージシステム(106、108)の1又は複数のSANアダプタ116によってアクセスされ、該アダプタはブロックストレージプロトコルがマッピングされているネットワーク媒体トランスポートプロトコルを実行する。例えば、SCSIプロトコルは種々多様な実装可能なネットワークトランスポート上にマッピングされる。SANアダプタ116及びその媒体トランスポートプロトコル層は、物理的又は仮想的なネットワークアダプタであっても、一般性を失うことはない。
本発明の実施形態では、ストレージエリアネットワーク110は、ポートレベルのアドレス指定を許可する任意のネットワーク媒体及びトランスポートプロトコル(例:ファイバチャネル、イーサネット、インフィニバンド、及びシリアル接続SCSI(SAS))で実現される。媒体トランスポート層プロトコルは、ネットワークファブリック110にわたるエンドポイントのポートからエンドポイントのポートへの、プロトコルパケットのルーティングの全てを処理する。ネットワーク110は、一般性を失うことなく、単一のファブリック又は多重の冗長ファブリックとして実現される。ネットワーク110は、単一のネットワーク媒体及びトランスポートプロトコルで実装される単一ネットワーク、又は多重のネットワーク媒体及びトランスポートプロトコルの組み合わせで実装される多重ネットワークである。アプリケーションシステム/サーバ102上のネットワークポートは、ストレージシステム(106、108)上のネットワークポートに、物理的に到達できることが好ましい。
本発明のさらなる実施形態では、ストレージシステム(106、108)は、ネットワーク接続ストレージデバイスである。例えば、ストレージシステム(106、108)は、自身のローカルデバイスをSAN110上で可視状態にできる汎用コンピュータ、専用ストレージアレイ、又はネットワークディスクドライブである。ストレージシステムのストレージリソースは、媒体トランスポートプロトコル層を実行するSANポートを介してアクセスされる。SCSI層は、SANポートをストレージポートとして用いてストレージネットワークと通信する。ストレージシステム106及び108のそれぞれは、自身の物理的ストレージデバイスにデータ保護又はブロック抽出を適用する、ローカルブロック仮想化層(118、120)を備えている。例えば、冗長アレイオブインエクスペンシブディスク(RAID)等のデータ保護が、専用ネットワークストレージシステムで用いられる。ストレージシステム106及び108のそれぞれはさらに、内部ブロックプロトコルスタック(122、124)を備えており、これは実際に接続された物理ストレージデバイス126にアクセスして、それをネットワーク110にエクスポートする。
アプリケーションシステム/アプリケーションサーバ102で利用可能なストレージの容量は、ストレージシステム(106、108)の個々にさらにストレージデバイス126を追加すること、又は追加的なストレージシステム(106、108)をストレージエリアネットワークに追加することによって、拡張できる。ストレージシステム(106、108)の個々に追加的なストレージデバイス126が追加された場合、ストレージシステム(106、108)におけるローカルブロック仮想化層(118、120)を用いて、多数の物理ディスク(126)からより大きな仮想ブロックストレージデバイス(128、130)が生成される。これによって、単一論理ブロックアドレス空間(128、130)は維持されるが、しかしながらある時点で、個々のストレージシステム(106、108)上の物理的接続ポイントの数が使い果たされるので、結果として総容量の拡張には制限が与えられる。ストレージシステムがストレージネットワークに追加された場合、アプリケーションが使用できるストレージ総量は、単一のストレージシステムの物理的な限界を超えて増大できる。しかしながら、多数のストレージシステム(106、108)によって提供されるストレージは、それらをアプリケーションサーバ(102)が使用するためには、共通の論理ブロックアドレス空間に一括される必要がある。
多数のネットワーク接続ストレージシステム(106、108)上のストレージリソース126から単一のネーム空間/共通の論理アドレス空間を生成するために、数多くの技術が利用される。例えば、クラスタファイルシステム又はオブジェクトストレージプロトコル等、異なるストレージプロトコルを用いる技術である。ブロックストレージクラスタ集合体がストレージエリアネットワーク110に追加されると、結果としてブロッククラスタ集合体が複数の冗長SANファブリック110のそれぞれにおいて、クラスタブロック仮想化デバイスによって提供される。クラスタブロック仮想化デバイスは、ネットワークストレージシステム及びアプリケーションシステムの間に存在する。クラスタブロック仮想化デバイスは、ネットワークストレージシステム/ストレージシステムによってエクスポートされた、ブロックストレージ論理ユニットをインポートし、且つ、仮想ボリュームを生成することによって、追加的な仮想ブロックの層を生成する。次にクラスタブロック仮想化デバイスは、仮想ボリュームを論理ユニットとしてアプリケーションシステムにエクスポートする。アプリケーションシステムは、ストレージシステムによってエクスポートされた論理ユニットを見るすなわちアクセスすることはなく、仮想ボリューム/クラスタ仮想ボリュームを見るのみである。クラスタの物理的構造発見、仮想化マッピング、及びマネジメントはクラスタ仮想化マネージャによって提供される。クラスタ仮想化マネージャは、一対の分離した冗長デバイス上のSANのエッジにおける又はエッジ上の任意の場所に存在する。ブロックストレージクラスタ集合体の機能は、クラスタブロック仮想化デバイス/ブロッククラスタ仮想化デバイスにわたって分配されても、一般性を失うことはない。
あるいは、ブロックストレージクラスタ集合体/ブロッククラスタ集合体は、アプリケーションシステム102に追加される(アプリケーションシステム集合体)。例えば、ブロッククラスタ集合体は、アプリケーションシステムのブロックストレージプロトコルスタックに追加された、追加的な抽出層によって提供される。該抽出層をアプリケーションシステムに配置するために、数多くの選択肢が実現されえる。ストレージシステムによってエクスポートされた論理ユニットを、ブロック仮想化層がマスキングすなわち隠し、且つ、ブロック仮想化層の上層のブロックストレージプロトコルスタックに、仮想ブロックを提示する。ブロックストレージクラスタ集合体がストレージエリアネットワークに追加された場合(ネットワーク集合体)と異なり、ブロックストレージクラスタ集合体をアプリケーションシステムに追加する場合は、ストレージシステムによってエクスポートされた論理ユニットは、アプリケーションシステム/サーバにアクセスできる。ブロック仮想化層は、アプリケーションシステム/サーバで動作しているアプリケーションから、該論理ユニットへのアクセスを隠す。ネットワーク集合体と同様に、ブロッククラスタ集合体がアプリケーションシステムに追加される場合は、クラスタ仮想化マネージャ機能が、クラスタ内のストレージリソースを発見し、且つ仮想化マッピングをアプリケーションサーバにわたって分配するために与えられる。このマネジメントアプローチの変形の1つは、各サーバにおいて分離したクラスタ仮想化構造を有するものであり、これによって仮想ボリュームがアプリケーションサーバ間で共有されるのを防ぐことができる。あるいは、仮想ボリュームの共有を提供するためには、クラスタ全体に及ぶ仮想化マネージャが必要となる。
図1に示されている本発明の実施形態では、ブロックストレージクラスタ集合体がストレージシステム(106、108)(ストレージシステム集合体)に追加されている。ブロッククラスタ集合体は、ストレージシステム(106、108)の一方又は両方のブロックプロトコルスタック(122、124)に追加された、クラスタブロック仮想化層132によって提供される。クラスタブロック仮想化層132は、ローカル及び遠隔ストレージシステム上のデバイス126を一括して仮想ボリューム(128、130)にする。クラスタ内の各ストレージシステム(106、108)上のストレージデバイス126は、1又は複数の別のストレージシステムによって検出可能/可視である(例:ストレージシステム106のストレージデバイスは、ストレージシステム108にとって可視であり、且つストレージシステム108のストレージデバイスは、ストレージシステム106にとって可視である)ので、クラスタブロック仮想化層132による仮想ボリューム(128、130)の生成が可能になる。ストレージシステム集合体の多くでは、仮想ボリューム(128、130)のみが、クラスタブロック仮想化層132によってエクスポートされて、ストレージエリアネットワーク110を介してアプリケーションシステム102に至る。ネットワークストレージのいくつかでは、ストレージシステム(106又は108)に到達した、1又は複数の異なるストレージシステムからのデータを必要とする入力/出力(I/O)要求が、I/Oの要求を満たすために、正しいストレージシステムに転送される。入出力リダイレクションを実行するために、プロキシI/O及びコマンド転送等、数多くの技術が実現される。上述された別のブロックストレージクラスタ技術と同様に、ストレージシステム集合体においても、個々のクラスタ仮想化マネージャ機能134は、ストレージの基盤構造において、少なくとも1つのストレージシステム(106、108)に存在している必要がある。一般性を失うことなしに、クラスタ仮想化マネージャ機能134は、クラスタ内のストレージシステム(106、108)に分配され、これにより、ストレージ管理機能の低コストでの低侵撃性(invasiveness)が実現される。
ブロックストレージクラスタを生成するための上述の方法及び装置は、多数の有用な特徴を提供する。例えば、ブロックストレージボリュームは、多数のストレージシステム(106、108)に分散できる。また、アプリケーションシステム102は、クラスタ内の任意のストレージシステムからのデータにアクセスできる。さらにまた、仮想ボリューム(128、130)は、全てのストレージノード/ストレージシステム(106、108)にわたって、共通のブロックアドレス空間を提供できる。しかしながら、上述の方法/装置(ネットワーク集合体、ストレージシステム集合体、アプリケーションシステム集合体)のそれぞれは、別個の問題点を有している。
ネットワーク110(ネットワーク集合体)におけるストレージ集合体の問題点は、ネットワーク110において追加的な専用部品が必要になることである。専用部品は、ネットワークファブリック110に追加コストが必要となり、且つ、単一ストレージシステムから多重システムストレージクラスタへの移動にかかるコストを高額にしてしまう。さらに、ストレージ集合体デバイスが、全体のコストを最小化するよう生成された場合のネットワークファブリックに含まれていなければ、ネットワークは、集合体デバイス及びクラスタ仮想化マネージャを組み込むために、リケーブル(re-cabled)される必要がある。またさらに、単一ストレージシステムからストレージクラスタへの移動は、ストレージシステムの実(リアル)ボリュームの代わりに仮想ボリュームを使用するために、全てのアプリケーションシステムの再構成を必要とする。
アプリケーションサーバ102上のストレージ集合体(アプリケーションシステム集合体)の不利点は、サーバブロックストレージスタック112に、追加的な部品を追加する必要があることである。該部品は、システム上で動作しているアプリケーション104によるアクセスから、全ての非仮想論理ユニットをマスキングするために必要とされる。クラスタにアクセスする全てのオペレイティングシステム114に対してマスキングが完了していない場合は、非仮想論理ユニットに対する無秩序なアクセスによって、データの破損又は損失が発生する。アプリケーションに対してブロックの仮想化を提供するためには、アプリケーションシステムにおけるクラスタブロック仮想化層もまた必要となる。オペレイティングシステムのそれぞれに対して、一意のクラスタブロック仮想化部品が必要とされる。これらの一意のクラスタブロック仮想化部品は、自身の機能を遂行するために、システムのストレージスタックにおける隠しインターフェースを使用せざるを得ないが、これによって、維持及びテストが必要な構成が激増してしまう。また、クラスタ仮想化マネージャがさらに、アプリケーションシステムから切り離された外部システムを必要とする。クラスタ仮想化マネージャがアプリケーションシステム上に位置する場合、クラスタ仮想化マネージャは、アプリケーションのために使用することができるはずのリソースを消費し、またさらに、基盤構造における他の全てのアプリケーションシステムと通信する必要がある。アプリケーションシステムにおいて、クラスタ仮想化マネージャによって維持され、且つクラスタブロック仮想化層によって用いられる、ブロックストレージのマップを分配し更新するためには、ストレージ仮想化マネージャの位置に関係なく、別個のプロトコルが必要となる。
ストレージシステム(106、108)におけるストレージの集合体(ストレージシステム集合体)は、追加的なネットワーク部品のコストを排除できる。ストレージシステム集合体はさらに、ストレージスタック112における部品がアプリケーションシステム102に与える影響、及び、アプリケーションシステム102で動作しているストレージ仮想化マネージャの影響を排除できる。ストレージシステム集合体は、ブロックストレージクラスタ/ブロックストレージクラスタリングのために必要な部品の全てが、ストレージシステム(106、108)上に配置されるようにすることができる。ストレージシステム集合体は、入出力要求が誤ったストレージシステムに送付されたとき、要求先の変更をするよう要求する。前述のように、プロキシI/O及びコマンド転送の少なくとも一方は、要求先変更のために用いられるが、しかしながら、両方とも欠点がある。プロキシI/Oが用いられるとき、元々の誤送された要求を受け取ったストレージシステムを介して、ルートデータに対して追加的な記憶を追加し、且つ遅延を生じさせる。プライベートストレージクラスタ相互接続に対するコマンド転送は、追加的なコストをストレージクラスタに追加し、且つクラスタの最大規模を制限してしまう。
本発明は、上述されたブロックストレージクラスタ技術の弱点を、図1に示される装置/システム100等の、ネットワークストレージの装置/システムで用いるための、SCSIリファーラル技術/方法を提供することによって克服している。本発明の技術/方法は、アプリケーションシステムブロックストレージスタック112において非標準部品、又はストレージネットワーク110において追加的な専用クラスタデバイスを必要とせずに、ブロックストレージクラスタを作成できるよう構成される。
図3には、本発明の実施形態による、ネットワークストレージの実装を介したデータ転送のための方法(例:イニシエータシステム/イニシエータ及びクラスタストレージアレイ/ブロックストレージクラスタアレイ間の通信のための方法)が示されている。例えば、該方法は、ブロックストレージクラスタをするための技術を、後述される(図2及び図3に図示)ストレージプロトコルコマンド及び応答シーケンス(SCSIコマンド/応答の遠隔処理コールモデル等)を用いて実現する。本発明の現在の実施形態では、方法300は、クラスタストレージアレイ302の複数のストレージシステムに含まれる第1のストレージシステムで、コマンドを受け取るステップを備えている。例えば、ブロックストレージクラスタは、2つ以上のストレージシステム(106、108)を備えており、それぞれが物理ストレージデバイス126と通信可能に接続される又は該デバイスを含んでいる。さらに、コマンドは、ストレージエリアネットワーク110を介して、イニシエータ/イニシエータシステム/ホスト/サーバ102から第1のストレージシステム106(例:ターゲットシステム/ターゲット)に送信される。実施形態では、コマンドは、データに対する要求(例:読み込み要求)等の、I/O要求である。別の実施形態では、ターゲットは、クラスタアレイにおける任意のストレージシステムであり、且つコマンドは、クラスタ/クラスタストレージアレイにおける、任意の予想ターゲットストレージシステム上の任意のポート(例:図2に示される主ポート)を用いて送信される。さらにまた、コマンドはSCSIコマンドであり、イニシエータ/イニシエータシステム102はSCSIイニシエータであり、ターゲット(例:第1のストレージシステム106)はSCSIターゲットである。
別の実施形態では、コマンドがストレージエリアネットワーク110/ネットワークトランスポートを介して送信されるとき、コマンドは確立されたイニシエータ及びターゲットの関係(例:I_Tネクサス)で送信される。SCSIプロトコルでは、イニシエータ及びターゲット間のI_Tネクサスは、イニシエータ上のSCSIポート(例:サーバ/アプリケーションシステム102のSCSIポート)及びターゲットのSCSIポート(例:第1のストレージシステム106のSCSIポート)間で確立される。多数のポートを有するターゲットは、各ポートに対し、一意のSCSIポート識別子を与える。多数のストレージシステムを有するブロックストレージクラスタ(例:ブロックストレージクラスタのターゲット)は、クラスタ内の全てのストレージシステム上の各ポートに対して、一意のポート識別子を与える。SCSIポート識別子は、SCSIアーキテクチャモデル規格で規定されるような、SCSI関連のポート識別子である。別の実施形態では、SCSIコマンドのそれぞれは、ボリュームの論理ブロックアドレス空間における、データのスターティングアドレス及び長さによって、転送されるべきデータを識別する。
一実施形態では、方法300はさらに、第1のストレージシステムに記憶されているデータ要求で要求されたデータを、ストレージエリアネットワーク304を介してイニシエータシステムに転送するステップを含む。本発明のこの実施形態では、コマンドを受け取るストレージシステム(例:ターゲットストレージシステム)に記憶されている/存在している要求されたデータの任意部分が、イニシエータに移動/転送される。例えばデータは、上述のI_Tネクサスで、一連のSCSIデータ転送ステップにより、ターゲット106及びイニシエータ102の間で移動される(例:第1のストレージシステム106に記憶されたデータが、アプリケーションシステム/イニシエータ102に転送される)。本発明のこの実施形態では、特定のSCSIコマンドの要求に従って、データはイニシエータ及びターゲットの間のいずれかの方向又は双方向に流れる。
本発明の別の実施形態では、方法300はさらに、データ要求により要求されたデータの一部が、第1のストレージシステムによって記憶されていない/に存在していないが、ストレージクラスタ/クラスタストレージアレイ306の、複数のストレージシステムに含まれる、第2のストレージシステムに記憶されている/存在している場合に、第1のストレージシステムからのリファーラル応答を、イニシエータシステムに転送するステップを含む。実施形態では、リファーラル応答は、イニシエータに対して、オリジナルのデータ要求で要求されたデータの全てが転送されたわけではないことの指標となり、リファーラル応答は、イニシエータシステムを第2のストレージシステムにダイレクトする(向ける)ための情報を提供し、且つ/又は、リファーラル応答は、イニシエータシステムに対して、クラスタの1又は複数の別のストレージシステム(例:第2のストレージシステム108)が、該データの一部/リマインダを記憶することを示す指標となる。例えば、リファーラル応答は、要求されたデータのリマインダ(例:ステップ302で受信したオリジナルのデータ要求で要求されたデータのリマインダ)が位置している/記憶されているクラスタの、1又は複数の別のストレージシステム/クラスタノード(例:第2のストレージシステム108等)へのリファーラルのリストを含んでいる。
上述のように、リファーラルは、オリジナルのデータ要求を満たすためにイニシエータによってデータが取得される必要のある、追加のクラスタノード/ストレージシステムのそれぞれに対して存在している。本発明のこの実施形態では、リファーラルリスト中の各リファーラルは、自身がイニシエータをリファーするストレージシステム/ノードのそれぞれに対して以下の情報(図4に図示)を含んでいる。すなわち、ポート識別子(例:オリジナルのデータ要求で要求されたデータのリマインダの少なくともいくつかを備える、クラスタノード/ストレージシステム上のポートと関連している)、オフセット(例:その関連するストレージシステム/ストレージノード上の、データの第1のバイトの論理ブロックアドレス)、及び長さ(例:リファーラルに送信されるデータ量)である。ポート識別子は、SCSIアーキテクチャモデル規格によって規定されるSCSI関連ポート識別子の定義に従う。ボリューム、論理ユニット、及びターゲット等の、リファーラルを完成させるために必要な別の情報は、SCSIリファーラルを生成するコマンドのコンテクストから利用可能である。
本発明の実施形態では、方法300はさらに、第2のストレージシステム308で第2のコマンドを受信するステップを含む。例えば、イニシエータ102はリファーラルのリストの受信に応答して、データのリマインダの少なくとも一部を記憶しているとリファーラルのリストで特定されている、クラスタ内の別のストレージシステムの1つに、第2のコマンドを送信する(例:ストレージエリアネットワークを介して)。例えば、イニシエータは、第2のコマンド(例:リファーラル応答に基づいたもの)を、リファーラルリストに特定されている(記載されている)ポートであって、第2のシステムと関連しているポートに送信する。他の実施形態では、ブロックストレージプロトコルイニシエータ102は、オリジナルの要求で要求されたデータを保持するクラスタ内の全ての別のストレージシステムに対して、リファーラルリストに示されているポート(例:第2のポート)を用いて、個別にコマンドを送信する。
本発明のさらに別の実施形態では、方法300はさらに、記憶された要求データの一部を、第2のストレージシステムからイニシエータシステムに、ストレージエリアネットワーク310を介して転送するステップを含む。例えば、上述のようにイニシエータ102は、オリジナルの要求で要求されたデータを保持するクラスタ内の全ての別のストレージシステム(例:ストレージシステム108)に対して、リファーラルリストに示されているポート(例:第2のポート)を用いて個別のコマンドを送信し、ストレージシステムは自身のローカルデータを、自身のローカルデータが転送されたことを示すステータスとともに、イニシエータに返送する。リファーラルに基づいて発行されたコマンドに応答する全てのデータ転送が完了すると、ブロックストレージプロトコルは、その呼び出し側(caller)に戻ることによって、オペレーションを完了する。
オリジナルのデータ要求(ステップ302での)で要求されたデータの全てが、第1のストレージシステムによって記憶され/転送される本発明の代替的な実施形態では、方法300はさらに、転送完了応答を、第1のストレージシステムからイニシエータシステムに送信するステップを含んでおり、転送完了応答は、データ要求で要求されたデータの全てが転送されたことを示す。さらなる実施形態では、コマンドに応答する全てのデータが転送された時、あるいはコマンド及びデータ転送のいずれかにおいて、エラー状態が生じる場合は、ターゲットは、コマンドステータスを含むSCSI応答をイニシエータに返送/送信することによって、動作を完了する(方法ステップ314)。
本発明をサポートするために、多数の特性を提供することができるストレージアレイクラスタ技術が必要となる。例えば、ブロックストレージプロトコルターゲットは、クラスタ内のストレージシステム(106、108)の全てにわたって分配される必要がある。さらに、クラスタ内の全てのストレージシステム上の全てのポートは、一意のポート識別子を有する必要がある。ポート識別子は、SCSIアーキテクチャモデル規格で規定された、SCSI関連ポート識別子である必要がある。さらにまた、仮想ボリュームのための論理ブロックアドレス空間は、仮想ボリュームが存在するストレージシステムの全てにわたって共通である必要がある。さらに、全てのストレージシステム(106、108)上のクラスタブロック仮想化機能(134)は、仮想ボリューム(128、130)内で、クラスタ内のどのストレージシステムが、どのアドレスレンジのデータを保持しているかを決定できるようにする必要がある。
上述のように、本発明の方法は、ストレージシステム(106、108)上にブロック仮想化を提供するブロックストレージクラスタにおいて実装される。実施形態では、本発明のシステム/方法は、コマンド転送又はプロキシI/Oを用いるのではなく、クラスタブロック仮想化(132、134)を実装するものであり、クラスタブロック仮想化は、SCSIチェック条件及びSCSIセンスデータにおけるリファーラルのリストを備えるステータス情報とともに自身のローカルデータ転送を完了することによって、データが別のクラスタノードに存在することを示す。
さらなる実施形態では、SCSIイニシエータ102は新規のチェック条件を検出し、各リファーラルに新規のSCSIコマンドを発行し、そして全てのリファーラルが完了するとトラッキングするよう構成される。イニシエータ102はさらに、多数のイニシエータ-ターゲットネクサスにわたってリファーラルを介して抽出されたデータを蓄積するよう構成される。
本発明のシステム/方法は、現在のブロックストレージクラスタのアプローチよりも利点が多い。まず、クラスタ化をサポートするために、ストレージの基盤構造における追加のハードウェアを必要としない。ホストエージェント及びストレージシステム内に存在するブロック仮想化にはよくあることだが、SAN110にハードウェアを追加する必要はない。さらに、イニシエータ102にとっては、ターゲット及び論理ユニットの発見に変更はなく、ターゲットはストレージクラスタの全てのノード上で可視であり、且つ、ストレージクラスタのノードは、どの論理ユニットがターゲットで入手可能かを決定するよう構成される。さらにまた、非仮想化ボリュームをイニシエータから隠す必要がなく、且つ仮想化されたボリュームのみが、クラスタ内のストレージシステムからエクスポートされる。さらに、イニシエータは、クラスタ内のデータの分配についての情報を保有する必要がない。本発明のイニシエータ/ホスト102は、クラスタ内のどこにデータが存在しているかを決定するよう構成される。データは、クラスタ内の任意のノード上の任意のポートから要求される。リファーラルはイニシエータを、データを保持しているクラスタノードにダイレクトする(向ける)。さらに、ストレージシステム(106、108)上のデータは、イニシエータに知らせることなく移動されるが、それは、誤ったクラスタノード上のポートを介して、イニシエータがデータにアクセスしようとしても、イニシエータはデータを備えているクラスタノード上のポートに容易にリダイレクトできる(リファーラルによって)からである。またさらに、本発明の方法は、任意数のストレージデバイスに適用されるが、これはSANに追加されたハードウェアの容量に限定されるような、SAN110におけるストレージ仮想化とは対照的である。そのうえ、本発明の方法は、クラスタノード上にマルチプルポートを有するストレージクラスタに適用される。データが2以上のパスを介してアクセス可能な場合、リファーラルは、データにアクセスできる単一ポートを備えるのみでよい。標準的なストレージプロトコルにおいて本発明を実装することは、イニシエータシステム上のブロックストレージプロトコルスタックに、固有のソフトウェアをインストールする必要がないという点で有利である。
上述のSCSIのI/Oリファーラルを提供するためのシステム/方法は、イニシエータが、複数のターゲットデバイスに散在する論理ユニット番号(LUN)上のデータにアクセスすることを可能にする。ターゲットデバイスは、ディスク、ストレージアレイ、テープライブラリ、又は任意の別のタイプのストレージデバイスである。本発明のさらなる実施形態では、イニシエータが、2以上のターゲットポートを介して、仮想ボリュームの一部(例:一部とは、データセグメントであって、物理ディスク、仮想ディスク、又はターゲット上で入手できる任意の別のデータのセグメントである)にアクセスできるようなシステム/方法を提供する。例えばこれは、あるデータセグメントに対するアクセスを有するターゲットデバイスが、ストレージエリアネットワーク(SAN)に接続される2以上のポートを有している場合に発生する。このような例で、ターゲットデバイスがイニシエータに対し、データセグメントが利用できる多数のパスのそれぞれについて情報を提供できるような、本発明のシステム/方法が提供される。
図5には、本発明の実施形態による、SCSIのI/Oリファーラルを介してマルチパス機能を提供するよう構成されるシステム(例:トポロジ)が示される。システム500は、イニシエータ502(例:アプリケーションサーバ)を含む。イニシエータ502は、ストレージエリアネットワーク504を介して、複数のターゲット/ターゲットデバイス/ストレージデバイス(506、508、510、512)と通信可能に接続される。本発明の現在の実施形態では、システム500はさらに、複数のデータセグメント(514、516、518、520)を備えており、これらは仮想ボリューム522を構成している又はその一部である又はそれに含まれている。イニシエータ502は、ターゲットデバイスの1又は複数のポート(図5ではポート0〜ポート7として示される)を介して、仮想ボリューム522の一部にアクセスするよう構成される。例えば、イニシエータ502は、SCSI I/Oリファーラルの上記の方法を用いて、仮想ボリューム522を構成するデータセグメントのそれぞれに対してマルチプルパスを有することができる。
本発明の実施形態では、イニシエータ502に対し、データセグメント(514、516、518、520)が多数のターゲットポートで入手可能であることを伝ええるために、ターゲットデバイス(506、508、510、512)は、異なるポートがリストしてあるが異なるポートを同じデータセグメントに関連付けている/関連付けられていることを示した、多数のSCSI I/Oリファーラルを、返送する。データセグメントは、自身のデータオフセット及びデータ長の値によって、SCSI リファーラルリストにおいて一意に識別されている。例えば、イニシエータ502は、ターゲット506のポート0及びポート1のいずれかを介して、ターゲットの1つ(例:ターゲット506)に接触し又はI/Oを送信して、データセグメント(514、516、518、520)にわたって散在しているデータであってマルチプルポートを介してアクセス可能なデータを要求する。例えば、I/O はデータセグメント514、データセグメント516、データセグメント518、及びデータセグメント520のそれぞれに記憶されている/にわたって散在しているデータを要求する。これにより、ターゲット506は、ローカルに保持されているデータ(例:データセグメント514のデータ)に関するデータ転送を開始する。さらに、ターゲット506は次に、以下のリファーラルを備えているSCSI I/Oリファーラルリストを返送する。
ポート2識別子:
データセグメント516データオフセット、データセグメント516データ長
ポート3識別子:
データセグメント516データオフセット、データセグメント516データ長
ポート4識別子:
データセグメント518データオフセット、データセグメント518データ長
ポート5識別子:
データセグメント518データオフセット、データセグメント518データ長
ポート6識別子:
データセグメント520データオフセット、データセグメント520データ長
ポート7識別子:
データセグメント520データオフセット、データセグメント520データ長
本発明の実施形態では、I/Oリファーラルリストの受信に応答して、イニシエータ502は次に、SCSI I/Oリファーラルリストにおいて識別されているデータセグメントのそれぞれに対して、リファーラルI/Oを発行するよう構成される。例えば、イニシエータ502はセグメント516、518、及び520に対し、イニシエータ502によって送信されたオリジナルのI/Oで要求されたデータのリマインダを検索するために、I/Oリファーラルを発行する。本発明の実施形態では、イニシエータ502は、どのポートを介して各データセグメントにアクセスするべきかを、選択的に決定する。上述した本発明のI/Oリファーラルマルチパスリスト化方法によって、イニシエータ502はI/Oリファーラルリストに基づいて同一のデータセグメントにアクセスするための代替可能な経路/マルチプルパスを決定することができる。例えば、イニシエータ502は、リファーラルI/Oを介してデータセグメント516にアクセスするために、上記のSCSI I/Oリファーラルリストに基づいて、ポート2及びポート3のいずれかを選択する。さらに、所与のリファーラルI/Oが問題に遭遇した場合は、イニシエータ502は同一のデータセグメントへのアクセスを、別のポートで再試行するという選択をする。例えば、イニシエータ502がポート2を介してリファーラルI/Oを発行して、データセグメント516にアクセス/アクセスの要求をしたが、リファーラルI/Oが問題に遭遇した場合、イニシエータは、代わりにポート3を介してリファーラルI/Oを発行することで、リファーラルI/Oを再試行する(例:データセグメントへの所与のパスが好ましくない場合は、イニシエータは代替的なパスへ障害迂回する)。図6は、オリジナルのI/Oがターゲット514のポート0に送信され、オリジナルのI/Oのサイズが400ブロックであり、且つデータセグメント(514、516、518、520)のそれぞれが、オリジナルのI/O要求で要求されたデータの100ブロックを保持している場合に、上記のトポロジにあるターゲットによって提供されるSCSI I/Oリファーラルリスト例を示す。
上述のI/Oリファーラルのマルチパス方法/機能によって、イニシエータは任意時にデータセグメントへの新規の/代替的なパスを利用できる。該機能の使用例は、ラウンドロビンスケジューリング等の、システム500の負荷バランシングを達成することである。イニシエータの振る舞いに依存して、上述のI/Oリファーラルマルチパス方法/機能は、SCSI I/Oリファーラルリストにおけるリファーラルの順序付けに基づいて、ターゲットが負荷を分配できるようにする。このような順序付けは、ラウンドロビンスケジューリングを介して、負荷分配等によって決定される。
本発明の代替的な実施形態では、SCSI I/Oリファーラルリストは、上述したような必然的なポートグループ化の実現とは異なり、同一のデータセグメントへのマルチプルポートを明示的にグループ化する。明示的なグループ化は、追加構造をSCSI I/Oリファーラルリストに追加することによって達成される。主に図7を参照すると、代替的なSCSI I/Oリファーラルリスト(図6で示されたものに対して)が、本発明のさらなる実施形態による、上述のトポロジにあるターゲットによって提供されている。ポート識別子は、SCSIアーキテクチャモデル規格で規定されたSCSI関連ポート識別子に従っている。データセグメントが常にマルチプルポートを介してアクセス可能である構成では、代替的な方法である明示的なポートグループ化/図7に示される代替的なSCSI I/Oリファーラルリストが効率の向上を促進するが、それは利用可能なポートのそれぞれに対してデータセグメントオフセット及びデータセグメント長を反復/再リスト化する必要性を排除/除去するからである。
本発明のさらなる実施形態では、ターゲットデバイスが主パス及び代替パスを指定できるようにすることが有益であるが、さらに追加的な優先事項を与えることが本発明には包含されている。主に図8を参照すると、代替的なSCSI I/Oリファーラルリスト例が、上記のトポロジにあるターゲットによって提供されており、該リストが本発明のさらなる実施形態による、上述された主パス及び代替パスの指定を実現する。ポート識別子は、SCSIアーキテクチャモデル規格で規定されたSCSI関連ポート識別子に従っている。
図9を参照すると、本発明の実施形態による、ネットワークを介して通信可能に接続されるイニシエータ及びストレージクラスタ間に、スモールコンピュータシステムインターフェイス(SCSI I/O)リファーラルを介して、マルチパス機能を提供するための方法900が示されている。実施形態では、方法900は上述したシステム500を介して実施される。本発明のこの実施形態では、ストレージクラスタは、少なくとも第1のターゲットデバイス及び第2のターゲットデバイスを備えている。例えば、第1及び第2のターゲットデバイスの少なくとも一方は、ディスク、ストレージアレイ、テープライブラリ、及び/又はストレージデバイスである。本発明の実施形態では、方法900は第1のターゲットデバイスで、ネットワーク902を介してイニシエータから入力/出力(I/O)を受信するステップを含む。例えば、I/Oはデータの第1部分及びデータの第2部分に対する要求(例:読み出し要求)を含む。本発明の実施形態では、データの第1部分は第1のデータセグメントに位置しており、データの第2部分は第2のデータセグメントに位置している。さらに、第1のデータセグメント及び第2のデータセグメントは、仮想ボリュームに含まれている。
さらなる実施形態では、方法900はさらに、データの第2部分ではなくデータの第1部分が、第1のターゲットデバイスに記憶されている場合、且つデータの第2部分が第2のターゲットデバイスに記憶されている場合、イニシエータへデータの第1部分の転送を開始するステップ904、及びイニシエータへSCSI I/Oリファーラルリストを送出するステップ906を含む。実施形態では、リファーラルリストは、第2のターゲットデバイスの第1ポートを識別するための第1ポート識別子、及び第2のターゲットデバイスの第2ポートを識別するための第2ポート識別子を含む。第1ポート及び第2ポートはリファーラルリストでは、データの第2部分にアクセスするためのアクセスポート(例:イニシエータがデータの第2部分にアクセスするために介する、第2のターゲットデバイスのアクセスポート)と特定される。別の実施形態では、リファーラルリストは、第2のデータセグメントのデータオフセット値及び/又はデータ長によって、第2のデータセグメントを識別する。第1のポート識別子及び第2のポート識別子は、SCSIアーキテクチャモデル規格によって規定される、SCSI関連ポート識別子の定義に従う。
追加的な実施形態では、方法900はさらに、第2のターゲットデバイスで、ネットワーク908を介してイニシエータからリファーラルI/Oを受信するステップを含む。例えば、リファーラルI/Oは、SCSI I/Oリファーラルリストに応答する。また、リファーラルI/Oは、イニシエータの指示通りに第1ポート及び第2ポートのいずれか1つを介して、データの第2部分へのアクセスを要求する。
図10を参照すると、本発明の実施形態による、ネットワークを介して通信可能に接続されるイニシエータ及びストレージクラスタ間に、スモールコンピュータシステムインターフェイス(SCSI I/O)リファーラルを介して、マルチパス機能を提供するための方法1000が示される。実施形態では、方法1000は上述したシステム500により実行される。本発明の実施形態では、ストレージクラスタは、少なくとも第1のターゲットデバイス及び第2のターゲットデバイスを備えている。方法1000は第1のターゲットデバイスで、ネットワーク1002を介してイニシエータから入力/出力(I/O)を受信するステップを含む(例:I/Oはデータ要求を含む)。方法1000はさらに、データ要求に含まれるデータが、第1のターゲットデバイスには記憶されていないが、第2のターゲットデバイスには記憶されている場合に、SCSI I/Oリファーラルリストをイニシエータ1004へ送信するステップを含む。リファーラルリストは、第2のターゲットデバイスの第1ポートを識別するための、第1ポート識別子及び、第2のターゲットデバイスの第2ポートを識別するための、第2ポート識別子を備え、第1ポート及び第2ポートは、該データにアクセスするためのアクセスポートとして特定される。第1ポート識別子及び第2ポート識別子は、SCSIアーキテクチャモデル規格によって規定される、SCSI関連ポート識別子の定義に従う。方法1000はさらに、第2のターゲットデバイスで、ネットワーク1006を介してイニシエータからリファーラルI/Oを受信するステップを含む。リファーラルI/Oは、SCSI I/Oリファーラルリストに応答し、且つ、リファーラルI/Oは、イニシエータの指示通りに、第1ポート又は第2ポートを介して、データへのアクセスを要求する。方法1000はさらに、イニシエータ1008へデータの転送を開始するステップも含む。
図11を参照すると、本発明の実施形態による、SCSI I/Oリファーラルを介してマルチパス機能を提供するよう構成されたシステム(例トポロジ)が示される。システム1100は、イニシエータ1002(例:アプリケーションサーバ)を備える。イニシエータ1002は、ストレージエリアネットワーク(1104、1106)を介して、複数のターゲット/ターゲットデバイス/ストレージデバイス(1108、1110)と通信可能に接続するよう構成される。図11に示されるように、ストレージエリアネットワーク1104(ファイバチャネル)及び1106(iSCSI)は、異なる媒体トランスポート層プロトコルで実現される。本発明の実施形態ではシステム1100はさらに、仮想ボリューム1122を構成する/の一部である/に含まれる複数のデータセグメント(1112、1114)を含む。ターゲットデバイス、データセグメント、及び仮想ボリュームは全て、ストレージクラスタ1116を構成している。イニシエータ1102は、仮想ボリューム1122の一部分にアクセスするよう構成され、該部分は、ターゲットデバイスの1又は複数のポート(図11ではポート1〜ポート4)を介する1又は複数のデータセグメント(1112、1114)である。例えば、イニシエータ1102は、SCSI I/Oリファーラルの上記の方法を用いて、仮想ボリューム1112を構成するデータセグメントのそれぞれに対し、マルチプルパスを有することができる。
本発明の実施形態では、イニシエータ1102にデータセグメント(1112、1114)がマルチプルターゲットポートで入手可能であることを伝えるために、ターゲットデバイス(1108、1110)は、異なるポートがリストしてあるが、異なるポートを同じデータセグメントに関連付けている/関連付けられていることを示しているマルチプルSCSI I/Oリファーラルを返送する。データセグメントは、自身の論理ブロックアドレス(LBA)及びデータ長の値によって、SCSI リファーラルリストで一意に識別されている。例えば、イニシエータ1102は、ターゲット1110のポート3及びポート4のいずれかを介して、ターゲットの1つ(例:ターゲット1110)に接触又はI/Oを送信して、データセグメント(1112、1114)にわたって散在しており、且つマルチプルポートを介してアクセス可能なデータを要求する。例えば、以下のI/Oは、データセグメント1112及びデータセグメント1114のそれぞれに記憶されている/に分散されているデータを要求する。
ポート4、LBA0、長さ200
そして、ターゲット1110は、ローカルに保持されているデータ(例:データセグメント1114のデータ)に関するデータ転送を開始する。さらに、データセグメント1112及び1114の長さがそれぞれ100ブロックであれば、ターゲット1110は次に、1つのエントリを含む以下のリファーラルリストを備えたSCSI I/Oリファーラルリストを返送する。
LBA0、長さ100、ポート1関連ポートID、ポート2関連ポートID
本発明の現在の実施形態では、イニシエータ1102は、I/Oリファーラルリストの受信に応答して、次にSCSI I/Oリファーラルリストで特定されているデータセグメントのそれぞれに対して、リファーラルI/Oを発行するよう構成される。例えば、イニシエータ1102は、データセグメント1112及び1114に対し、イニシエータ1102によって送出されたオリジナルのI/Oで要求されたデータのリマインダを検索するために、I/Oリファーラルを発行する。本発明の実施形態では、イニシエータ1102は、どのポートを介して各データセグメントにアクセスするべきかを、選択的に決定する。上述した本発明のI/Oリファーラルマルチパスリスト方法によって、イニシエータ1102は、I/Oリファーラルリストに基づいて、同一のデータセグメントにアクセスするための代替可能な経路/マルチプルパスを決定することができる。例えば、イニシエータ1102は、リファーラルI/Oを介してデータセグメント1112にアクセスするために、上記のSCSI I/Oリファーラルリストに基づいて、ポート1及びポート2のいずれかを選択する。さらに、所与のリファーラルI/Oが問題に遭遇した場合は、イニシエータ1102は同一のデータセグメントへのアクセスを、別のポートで再試行するという選択をする。例えば、イニシエータ1102がポート2を介してリファーラルI/Oを発行して、データセグメント1112にアクセス/アクセスの要求をしたが、リファーラルI/Oが問題に遭遇した場合、イニシエータは、代わりにポート1を介してリファーラルI/Oを発行することで、リファーラルI/Oをリトライする(例:データセグメントへの所与のパスが好ましくない場合は、イニシエータは代替的なパスへ迂回する)。
上述のI/Oリファーラル方法/機能は、マルチプル媒体トランスポートプロトコルがSCSIリファーラルストレージシステムで共存することを可能にする。該方法/機能は、SCSIリファーラルストレージシステムにおけるポート識別子を一定サイズにできる。さらに、異なる媒体トランスポート層プロトコルのSCSIポートのためのポート識別子は、本方法/機能によって発行されるリファーラル又はリファーラルリストで共存できる。さらにまた、ある媒体トランスポートプロトコルのポートに対して発行されたI/Oは、第2の媒体トランスポートプロトコルのポートにリダイレクトされる。例えば、SASポートに向けられていたI/Oが、ファイバチャネルポートにリダイレクトされる。
本発明による前述された実施形態は、本明細書の教示に従ってプログラムされた従来の汎用デジタルコンピュータを用いて、簡便に実現できることは、コンピュータ技術の当業者には明らかであろう。適切なソフトウェアコーディングが、本開示の教示に基づいて熟練のプログラマによって容易に準備されることも、ソフトウェア技術の当業者には明らかであろう。
本発明は、ソフトウェアパッケージの形態で簡便に実現できる。ソフトウェアパッケージは、開示された本発明の機能及びプロセスをコンピュータが実行するようプログラムするために用いられる、記憶されたコンピュータコードを備えたコンピュータ可読ストレージ媒体を採用している、コンピュータプログラム製品である。コンピュータ可読記憶媒体は、任意のタイプの従来型フロッピディスク、光ディスク、CD-ROM、磁気ディスク、ハードディスクドライブ、光磁気ディスク、ROM、RAM、EPROM、EEPROM、磁気又は光カード、あるいは電子指示を記憶するための任意の別の適宜の媒体であるが、それに限定するものではない。
前述で開示された方法におけるステップの具体的な順序又は階層は、アプローチ例である。必要に応じて、該方法におけるステップの具体的な順序又は階層を、本発明の範囲内において再変更が可能である。添付の方法クレームは、見本的な順序でさまざまなステップの要素を提示したものであり、提示された具体的な順序又は階層に限定するものではない。
本発明及びそれに付随する多数の利点は、前述の記載によって理解されるべきである。また、本発明の技術思想及び範囲を逸脱しない限りは、又はマテリアルアドバンテージの全てを犠牲にすることなしに、これに関する部品の形態、構造、及び配置において、多くの変更が可能である。前述された形式は、本発明の実施形態にすぎないので、このような変更に関しては、以下に記載の特許請求の範囲に包含されるものである。

Claims (20)

  1. ネットワークを介して通信可能に接続されるイニシエータ及びストレージクラスタ間に、スモールコンピュータシステムインターフェイス入力/出力(SCSI I/O)リファーラルを介してマルチパス機能を提供するための方法であって、ストレージクラスタは、少なくとも第1のターゲットデバイス及び第2のターゲットデバイスを備えており、該方法は、
    第1のターゲットデバイスにおいて、ネットワークを介してイニシエータから、データの第1部分及びデータの第2部分に対する要求を含んだ入力/出力(I/O)信号を受信するステップと、
    データの第2部分ではなくデータの第1部分が第1のターゲットデバイスに記憶され、且つデータの第2部分が第2のターゲットデバイスに記憶されている場合に、イニシエータへデータの第1部分の転送を開始し、イニシエータへSCSI I/Oリファーラルリストを伝送するステップと
    を含み、
    リファーラルリストが、第2のターゲットデバイスの第1ポートを識別するための第1のSCSI関連ポート識別子と、第2のターゲットデバイスの第2ポートを識別するための第2のSCSI関連ポート識別子とを含み、第1及び第2のポートは、データの第2部分にアクセスするためのアクセスポートとして特定される
    ことを特徴とする方法。
  2. 請求項1記載の方法において、
    該方法はさらに、第2のターゲットデバイスにおいて、ネットワークを介してイニシエータからリファーラルI/Oを受信するステップを含み、
    リファーラルI/Oは、SCSI I/Oリファーラルリストに応答し、該リファーラルI/Oにより、イニシエータの指示通りに第1ポート及び第2ポートのいずれか一方を介して、データの第2部分へのアクセスが要求される
    ことを特徴とする方法。
  3. 請求項2記載の方法において、該方法はさらに、イニシエータへのデータの第2部分の転送を開始するステップを含むことを特徴とする方法。
  4. 請求項3記載の方法において、データの第1部分は第1のデータセグメントに位置し、データの第2部分は第2のデータセグメントに位置することを特徴とする方法。
  5. 請求項4記載の方法において、第1のデータセグメント及び第2のデータセグメントは、仮想ボリュームに含まれていることを特徴とする方法。
  6. 請求項5記載の方法において、第1のターゲットデバイス及び第2のターゲットデバイスは、ディスク、ストレージアレイ、テープライブラリ、及びストレージデバイスのいずれかであることを特徴とする方法。
  7. 請求項5記載の方法において、リファーラルリストは、第2のデータセグメントのデータオフセット値によって、第2のセグメントを識別することを特徴とする方法。
  8. 請求項7記載の方法において、リファーラルリストは、第2のデータセグメントのデータ長によって、第2のセグメントを識別することを特徴とする方法。
  9. 請求項8記載の方法において、リファーラルリストは、第1ポート識別子及び第2ポート識別子を、第2のデータセグメント、該第2のデータセグメントのデータオフセット、及び第2のデータセグメントのデータ長と関連付けることを特徴とする方法。
  10. ネットワークを介して通信可能に接続されるイニシエータ及びストレージクラスタ間に、スモールコンピュータシステムインターフェイス入力/出力(SCSI I/O)リファーラルを介してマルチパス機能を提供するための方法を実行するための、コンピュータ実行可能命令を有するコンピュータ可読記憶媒体であって、ストレージクラスタは、少なくとも第1のターゲットデバイス及び第2のターゲットデバイスを備えており、該方法は、
    第1のターゲットデバイスで、ネットワークを介してイニシエータから、データの第1部分及びデータの第2部分に対する要求を備える入力/出力(I/O)を受信するステップと、
    データの第2部分ではなくデータの第1部分が第1のターゲットデバイスに記憶され、且つデータの第2部分が第2のターゲットデバイスに記憶されている場合に、イニシエータへデータの第1部分の転送を開始し、イニシエータへSCSI I/Oリファーラルリストを伝送するステップと
    を含み、
    リファーラルリストが、第2のターゲットデバイスの第1ポートを識別するための第1のSCSI関連ポート識別子、及び、第2のターゲットデバイスの第2ポートを識別するための第2のSCSI関連ポート識別子を含み、第1ポート及び第2ポートは、データの第2部分にアクセスするためのアクセスポートとして特定される
    ことを特徴とするコンピュータ可読記憶媒体。
  11. 請求項10記載のコンピュータ可読記憶媒体において、該方法はさらに、第2のターゲットデバイスで、ネットワークを介してイニシエータからリファーラルI/Oを受信するステップを含み、リファーラルI/Oは、SCSI I/Oリファーラルリストに応答し、該リファーラルI/Oにより、イニシエータの指示通りに第1ポート及び第2ポートのいずれか1つを介して、データへのアクセスが要求されることを特徴とするコンピュータ可読記憶媒体。
  12. 請求項11記載のコンピュータ可読記憶媒体において、該方法はさらに、イニシエータへのデータの第2部分の転送を開始するステップを含むことを特徴とするコンピュータ可読記憶媒体
  13. 請求項12記載のコンピュータ可読記憶媒体において、データの第1部分が第1のデータセグメントに位置し、且つデータの第2部分が第2のデータセグメントに位置することを特徴とする、コンピュータ可読記憶媒体。
  14. 請求項13記載のコンピュータ可読記憶媒体において、第1のデータセグメント及び第2のデータセグメントが、仮想ボリュームに含まれていることを特徴とするコンピュータ可読記憶媒体。
  15. 請求項14記載のコンピュータ可読記憶媒体において、第1のターゲットデバイス及び第2のターゲットデバイスは、ディスク、ストレージアレイ、テープライブラリ、及びストレージデバイスのいずれかであることを特徴とするコンピュータ可読記憶媒体。
  16. 請求項14記載のコンピュータ可読記憶媒体において、リファーラルリストは、第2のデータセグメントのデータオフセット値によって、第2のセグメントを識別することを特徴とするコンピュータ可読記憶媒体。
  17. 請求項16記載のコンピュータ可読記憶媒体において、リファーラルリストは、第2のデータセグメントのデータ長によって、第2のセグメントを識別することを特徴とする、コンピュータ可読記憶媒体。
  18. 請求項17記載のコンピュータ可読記憶媒体において、リファーラルリストは、第1ポート識別子及び第2ポート識別子を、第2のデータセグメント、該第2のデータセグメントのデータオフセット値、及び第2のデータセグメントのデータ長と関連付けることを特徴とするコンピュータ可読記憶媒体。
  19. システムであって、
    第1のターゲットデバイスにおいて、イニシエータから、データの第1部分及びデータの第2部分に対する要求を含んだ入力/出力(I/O)信号を受信する手段と、
    データの第2部分ではなくデータの第1部分が第1のターゲットデバイスに記憶され、且つデータの第2部分が第2のターゲットデバイスに記憶されている場合に、イニシエータへデータの第1部分の転送を開始する手段と、イニシエータへSCSI I/Oリファーラルリストを伝送する手段と
    を備え、
    リファーラルリストが、第2のターゲットデバイスの第1ポートを識別するための第1のSCSI関連ポート識別子と、第2のターゲットデバイスの第2ポートを識別するための第2のSCSI関連ポート識別子とを含み、第1及び第2のポートは、データの第2部分にアクセスするためのアクセスポートとして特定される
    ことを特徴とするシステム。
  20. ネットワークを介して通信可能に接続されるイニシエータ及びストレージクラスタ間に、スモールコンピュータシステムインターフェイス入力/出力(SCSI I/O)リファーラルを介してマルチパス機能を提供するための方法を実行するための、コンピュータ実行可能命令を有するコンピュータ可読記憶媒体であって、ストレージクラスタは、少なくとも第1のターゲットデバイス及び第2のターゲットデバイスを備えており、該方法は、
    第1のターゲットデバイスで、ネットワークを介してイニシエータから、データ要求を含んだ入力/出力(I/O)信号を受信するステップと、
    データ要求に含まれるデータが第1のターゲットデバイスではなく第2のターゲットデバイスに記憶されている場合に、イニシエータへSCSI I/Oリファーラルリストを伝送するステップであって、リファーラルリストが、第2のターゲットデバイスの第1ポートを識別するための第1のSCSI関連ポート識別子と、第2のターゲットデバイスの第2ポートを識別するための第2のSCSI関連ポート識別子を含み、第1ポート及び第2ポートは、該データにアクセスするためのアクセスポートとして特定される、伝送ステップと、
    第2のターゲットデバイスにおいて、ネットワークを介してイニシエータからリファーラルI/Oを受信するステップであって、リファーラルI/OがSCSI I/Oリファーラルリストに応答し、リファーラルI/Oにより、イニシエータの指示通りに第1ポート及び第2ポートのいずれか一方を介して、データへのアクセスが要求される、受信ステップと、
    イニシエータにデータの転送を開始するステップと
    を含むことを特徴とする、コンピュータ可読記憶媒体。
JP2010094996A 2009-09-01 2010-04-16 Scsii/oリファーラルを利用したイニシエータ及びストレージクラスタ間の通信方法及びシステム Expired - Fee Related JP5227361B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/552,058 2009-09-01
US12/552,058 US20100153612A1 (en) 2008-12-15 2009-09-01 Transport agnostic scsi i/o referrals

Publications (2)

Publication Number Publication Date
JP2011054152A JP2011054152A (ja) 2011-03-17
JP5227361B2 true JP5227361B2 (ja) 2013-07-03

Family

ID=43242427

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010094996A Expired - Fee Related JP5227361B2 (ja) 2009-09-01 2010-04-16 Scsii/oリファーラルを利用したイニシエータ及びストレージクラスタ間の通信方法及びシステム

Country Status (6)

Country Link
US (2) US20100153612A1 (ja)
EP (2) EP2549372A1 (ja)
JP (1) JP5227361B2 (ja)
KR (1) KR101425698B1 (ja)
CN (1) CN102006316A (ja)
TW (1) TWI497316B (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8219714B2 (en) * 2008-09-24 2012-07-10 Oracle America, Inc. Storage area network and method for provisioning therein
US8055736B2 (en) * 2008-11-03 2011-11-08 International Business Machines Corporation Maintaining storage area network (‘SAN’) access rights during migration of operating systems
US8892789B2 (en) * 2008-12-19 2014-11-18 Netapp, Inc. Accelerating internet small computer system interface (iSCSI) proxy input/output (I/O)
JP5528243B2 (ja) * 2010-07-23 2014-06-25 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチパスを制御するシステム及び方法
DE102012206283B4 (de) 2011-05-06 2013-04-11 International Business Machines Corporation Verteilung des Datenflusses auf mehrere Pfade (Multi-Pathing) in einem Speicherbereichsnetzwerk
WO2013103555A1 (en) * 2011-12-29 2013-07-11 Unisys Corporation Providing cluster storage with fibre channel over ethernet and multipath input/output
JP5920114B2 (ja) 2012-08-29 2016-05-18 富士通株式会社 ストレージ装置、ストレージ装置の制御方法及び制御プログラム
US8990453B1 (en) * 2012-12-14 2015-03-24 Emc Corporation Adaptive and optimized flow control mechanism
US9037898B2 (en) * 2012-12-18 2015-05-19 International Business Machines Corporation Communication channel failover in a high performance computing (HPC) network
US9401862B2 (en) * 2013-02-07 2016-07-26 Dell Products L.P. Optimized internet small computer system interface path
WO2014155493A1 (ja) * 2013-03-25 2014-10-02 株式会社日立製作所 計算機システム及びアクセス制御方法
US10101945B1 (en) 2013-05-29 2018-10-16 EMC IP Holding Company LLC Method and apparatus for enhancing command burst tolerance
US9716611B1 (en) * 2013-05-29 2017-07-25 EMC IP Holding Company LLC Method and apparatus for enhancing link anomaly tolerance in a SCSI system
JP2015097006A (ja) * 2013-11-15 2015-05-21 富士通株式会社 ストレージ制御装置、制御方法、及びプログラム
US9563846B2 (en) 2014-05-01 2017-02-07 International Business Machines Corporation Predicting and enhancing document ingestion time
US10176157B2 (en) 2015-01-03 2019-01-08 International Business Machines Corporation Detect annotation error by segmenting unannotated document segments into smallest partition
CN106155948B (zh) * 2015-04-16 2019-07-05 伊姆西公司 用于存储系统的方法、聚合配置引擎、聚合配置工具以及文件系统
CN106293501A (zh) * 2015-06-25 2017-01-04 中兴通讯股份有限公司 数据读写方法及装置
CN106060013A (zh) * 2016-05-18 2016-10-26 浪潮电子信息产业股份有限公司 一种基于iSCSI的虚拟化方法
CN108228076B (zh) * 2016-12-14 2020-10-16 华为技术有限公司 访问磁盘的方法和主机
KR102241188B1 (ko) * 2019-11-21 2021-04-19 주식회사 가야데이터 이기종 스토리지 고가용성 서비스 제공 방법 및 스토리지 다중화 장치
CN112540872B (zh) * 2020-11-26 2022-04-01 华云数据控股集团有限公司 通用持续数据保护方法、装置及电子设备
EP4283457A3 (en) * 2022-05-23 2024-02-07 Samsung Electronics Co., Ltd. Computing system for managing distributed storage devices, and method of operating the same

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3431972B2 (ja) * 1993-11-29 2003-07-28 株式会社日立製作所 仮想ディスクシステム
US5917723A (en) * 1995-05-22 1999-06-29 Lsi Logic Corporation Method and apparatus for transferring data between two devices with reduced microprocessor overhead
US6304942B1 (en) * 1999-08-09 2001-10-16 Lsi Logic Corporation Providing an upgrade path for an existing data storage system
US6591310B1 (en) * 2000-05-11 2003-07-08 Lsi Logic Corporation Method of responding to I/O request and associated reply descriptor
JP2001337790A (ja) * 2000-05-24 2001-12-07 Hitachi Ltd 記憶システム及びその階層管理制御方法
US6728789B2 (en) * 2001-04-30 2004-04-27 Lsi Logic Corporation System and method employing a static logical identifier in conjuction with a look up table to provide access to a target
US6816945B2 (en) * 2001-08-03 2004-11-09 International Business Machines Corporation Quiesce system storage device and method in a dual active controller with cache coherency using stripe locks for implied storage volume reservations
US6915363B2 (en) * 2001-12-13 2005-07-05 Seagate Technology Llc System for selectively controlling spin-up control for data storage devices in an array using predetermined out of band (OOB) signals
JP2003202964A (ja) * 2002-01-09 2003-07-18 Hitachi Ltd 計算機システムの制御方法、計算機システム、記憶装置の制御方法及び記憶装置
US6931410B2 (en) * 2002-01-11 2005-08-16 International Business Machines Corporation Method, apparatus, and program for separate representations of file system locations from referring file systems
JP4704659B2 (ja) * 2002-04-26 2011-06-15 株式会社日立製作所 記憶装置システムの制御方法および記憶制御装置
US7055014B1 (en) * 2003-08-11 2006-05-30 Network Applicance, Inc. User interface system for a multi-protocol storage appliance
JP2005115506A (ja) * 2003-10-06 2005-04-28 Hitachi Ltd ストレージシステム
JP2005148868A (ja) * 2003-11-12 2005-06-09 Hitachi Ltd ストレージ装置におけるデータのプリフェッチ
US7734868B2 (en) * 2003-12-02 2010-06-08 Nvidia Corporation Universal RAID class driver
US7478211B2 (en) * 2004-01-09 2009-01-13 International Business Machines Corporation Maintaining consistency for remote copy using virtualization
JP4391265B2 (ja) * 2004-02-26 2009-12-24 株式会社日立製作所 ストレージサブシステムおよび性能チューニング方法
US20050228943A1 (en) * 2004-04-02 2005-10-13 Decenzo David P Multipath redundant storage system architecture and method
US7516214B2 (en) * 2004-08-31 2009-04-07 Emc Corporation Rules engine for managing virtual logical units in a storage network
JP4438582B2 (ja) * 2004-09-22 2010-03-24 株式会社日立製作所 データ移行方法
US7624236B2 (en) * 2004-12-27 2009-11-24 Intel Corporation Predictive early write-back of owned cache blocks in a shared memory computer system
EP1949214B1 (en) * 2005-10-28 2012-12-19 Network Appliance, Inc. System and method for optimizing multi-pathing support in a distributed storage system environment
US8001267B2 (en) * 2005-12-15 2011-08-16 International Business Machines Corporation Apparatus, system, and method for automatically verifying access to a multipathed target at boot time
EP1811378A2 (en) * 2006-01-23 2007-07-25 Xyratex Technology Limited A computer system, a computer and a method of storing a data file
US9032164B2 (en) * 2006-02-17 2015-05-12 Emulex Corporation Apparatus for performing storage virtualization
US7933921B2 (en) * 2006-11-29 2011-04-26 Netapp, Inc. Referent-controlled location resolution of resources in a federated distributed system
JP5330702B2 (ja) * 2008-01-31 2013-10-30 株式会社日立製作所 複数のコントローラモジュールを備えた記憶装置システム
US8307240B2 (en) * 2008-12-15 2012-11-06 Netapp, Inc. Small computer system interface input output (SCSI IO) referral
US8219715B2 (en) * 2008-12-15 2012-07-10 Netapp, Inc. Multi-pathing with SCSI I/O referrals
US8332549B2 (en) * 2009-03-31 2012-12-11 Lsi Corporation Method and system for implementing parallelism with SCSI I/O referrals

Also Published As

Publication number Publication date
EP2549372A1 (en) 2013-01-23
TW201109938A (en) 2011-03-16
KR101425698B1 (ko) 2014-08-01
CN102006316A (zh) 2011-04-06
JP2011054152A (ja) 2011-03-17
US20100153612A1 (en) 2010-06-17
KR20110025052A (ko) 2011-03-09
EP2290518A3 (en) 2012-04-18
US20120303894A1 (en) 2012-11-29
EP2290518A2 (en) 2011-03-02
US8732340B2 (en) 2014-05-20
TWI497316B (zh) 2015-08-21

Similar Documents

Publication Publication Date Title
JP5227361B2 (ja) Scsii/oリファーラルを利用したイニシエータ及びストレージクラスタ間の通信方法及びシステム
US8219715B2 (en) Multi-pathing with SCSI I/O referrals
US8937965B2 (en) Storage system comprising function for migrating virtual communication port added to physical communication port
JP5255858B2 (ja) ストレージシステム上の仮想ポートを管理するための方法および装置
JP5755026B2 (ja) 複数のストレージシステムにおけるマルチパススイッチング
JP5026283B2 (ja) 協調的共用ストレージアーキテクチャ
US9647933B1 (en) Port identifier management for path failover in cluster environments
US6950914B2 (en) Storage system
US20050278465A1 (en) Methods and structure for supporting persistent reservations in a multiple-path storage environment
US20140351545A1 (en) Storage management method and storage system in virtual volume having data arranged astride storage device
US11200082B2 (en) Data storage system employing dummy namespaces for discovery of NVMe namespace groups as protocol endpoints
US9037900B2 (en) Small computer system interface input output (SCSI IO) referral
JP2015532734A (ja) 物理ストレージシステムを管理する管理システム、物理ストレージシステムのリソース移行先を決定する方法及び記憶媒体
US8171178B2 (en) Scaling of small computer system interface input output (SCSI I/O) referrals
US7925758B1 (en) Fibre accelerated pipe data transport
JP2011048427A (ja) データ管理システム、その分散記憶装置とユーザ計算端末、そのコンピュータプログラムとデータ処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120906

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130213

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130315

R150 Certificate of patent or registration of utility model

Ref document number: 5227361

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

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees