JP2005505035A - 記憶ネットワーク中の記憶資源のプーリング及び供給 - Google Patents

記憶ネットワーク中の記憶資源のプーリング及び供給 Download PDF

Info

Publication number
JP2005505035A
JP2005505035A JP2003531328A JP2003531328A JP2005505035A JP 2005505035 A JP2005505035 A JP 2005505035A JP 2003531328 A JP2003531328 A JP 2003531328A JP 2003531328 A JP2003531328 A JP 2003531328A JP 2005505035 A JP2005505035 A JP 2005505035A
Authority
JP
Japan
Prior art keywords
switch
virtual target
storage
initiator
physical device
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.)
Pending
Application number
JP2003531328A
Other languages
English (en)
Inventor
サントッシュ シー ロレイアカー
ユ ピン チェン
リネイト イー マラノン
サンジェイ サクシーナ
Original Assignee
マランティ ネットワークス インコーポレイテッド
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 マランティ ネットワークス インコーポレイテッド filed Critical マランティ ネットワークス インコーポレイテッド
Publication of JP2005505035A publication Critical patent/JP2005505035A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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]
    • 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/0631Configuration or reconfiguration of storage systems by allocating resources to 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/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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1014Server selection for load balancing based on the content of a request
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1034Reaction to server failures by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】サーバーと記憶装置とを接続する記憶ネットワークを提供する。
【解決手段】本発明の実施の形態では、記憶アクセスのためのサービスの品質(QoS)を提供するスイッチ(204)を備える。QoSは、記憶装置(206)の自動的プーリング(1206)と、これらのプール(802)からの仮想ターゲットの供給により部分的に可能化される。QoSは、各接続について帯域幅を指定された範囲内に維持することにより、より詳細には、イニシエーター(サーバー、202)からの許容される同時的要求数を制御することにより、行われる。負荷平衡も本発明の実施の形態では提供されて、要求に対する応答時間を改良して、さらに、QoSを提供することを容易にする。
【選択図】図12

Description

【技術分野】
【0001】
関連出願
本願は、2001年9月28日出願の米国仮出願シリアル番号第60/325,704号、「記憶エリア・ネットワークのための記憶スイッチ」の優先権を主張する。ここに参照により組み込む。
【0002】
また、本願は同時に出願された次の出願にも関係する。ここに参照により組み込む。
「記憶エリア・ネットワークのための記憶スイッチ」
米国シリアル番号第10/051,321号
「記憶システム内のプロトコル翻訳」
米国シリアル番号第10/051,415号
「サーバー無し記憶サービス」
米国シリアル番号第10/051,164号
「記憶システム内のパケット分類」
米国シリアル番号第10/051,093号
「記憶システムの仮想化」
米国シリアル番号第10/051,396号
「記憶ネットワーク内のサービスの品質の実行」
米国シリアル番号第10/051,339号
「記憶ネットワーク内の負荷平衡」
米国シリアル番号第10/051,053号
【0003】
技術分野
本発明は、一般に、記憶エリア・ネットワークに関連する。
【0004】
背景技術
データ集中アプリケーションの急激な成長は生データ記憶容量に対する需要を増加し続けている。企業がeコマース、オンライン取引、及びデータベースにより依存するにつれて、管理及び記憶する必要のある情報量が巨大となる。この結果、より多くの記憶を追加し、より多くのユーザにサービスし、そしてより多くのデータをバックアップの進行する必要性は、とても厄介な作業となる。
【0005】
データのこの成長する需要を満たすために、記憶エリア・ネットワーク(SAN)の概念が人気を得ている。SANは、記憶ネットワーク産業協会(SNIA)により、コンピュータ・システムと記憶要素との間、及び記憶要素間のデータ転送を主要な目的とするネットワークとして定義される。記憶装置をサーバーに直接に、例えば、SCSI接続により接続するのとは異なり、イーサネット(登録商標)(例えば、NASシステム)等の伝統的なイーサネットによりLANに記憶装置を追加するのとは異なり、SANは、直接接続SCSI及びNASカウンタパートのように同じ帯域幅限界を持つ傾向がない本質的に独立なネットワークを形成し、また、増大した構成可能性とスケーラビリテイを提供する。
【0006】
より詳細には、SAN環境では、記憶装置(例えば、テープ・ドライブ及びRAID配列)及びサーバーは、一般にさまざまなスイッチ及び装置を経由して相互接続される。普通、スイッチ及び装置への接続は、ファイバー・チャンネルである。一般に、この構造は、SAN上のいずれのサーバーもいずれの記憶装置に通信可能にし、また、この逆も可能にする。さらに、サーバーから記憶装置への代替的経路を提供する。換言すると、もし、特定のサーバーが遅い又は完全に利用不可能な場合、SAN上の別のサーバーが記憶装置へのアクセスを提供できる。また、SANは、複数のコピーを可能にするミラー・データを可能にし、従って、データの利用可能性の信頼性を高める。より多くの記憶が必要とされる場合、追加の記憶装置を特定のサーバーに接続する必要無くしてSANに追加でき、新規な装置を記憶ネットワークに単純に追加でき、いずれのポイントからもアクセスできる。
【0007】
図1の機能ブロック図に、SANの一例がシステム100中に示されている。図示するように、1つ又は複数のサーバー102が存在する。これらのサーバー102は例示目的ためにのみ示す。サーバー102は、イーサネット接続を介してLAN106及び/又はルーター108へ接続され、そして、インターネットなどのWAN110に接続される。さらに、各サーバー102は、時々、SANの「ファブリック」と呼ばれる複数のファイバー・チャンネル・スイッチ112の各々にファイバー・チャンネル接続を介して接続されている。2つのスイッチ112が、説明目的のためにのみ示されている。そして、各スイッチ112が、複数のSAN装置114の各々に接続されている。2つの装置114は説明目的のためにのみ示されている。そして、各装置は、テープ・ドライブ、光ドライブ、又はRAID配列などの複数の記憶装置の各々に接続されている。さらに、各スイッチ112と装置114はルーター108に接続されたゲートウェイ118に接続されていて、最終的には、インターネットなどのワイド・エリア・ネットワーク(WAN)18へ接続されている。図1は、スイッチ112、装置114、記憶装置116、及びゲートウェイ118を含むSAN119の可能な構成の一例を示す。他の構成も可能である。例えば、1つの装置が全てのスイッチよりも少なく接続してもよい。
【0008】
装置114は、SANの記憶管理を実行する。装置114がデータを受信すると、それは装置114内のメモリにデータを記憶する。そして、プロセッサ(また、装置内にある)により、データを正しい記憶装置へ転送するためにデータを解析して操作する。この、記憶そして転送プロセスは、典型的にデータ・アクセスの速度を低下する。
【0009】
装置はあるスイッチングを実行するが、多数のサーバーが存在し(3つよりも多数)、各装置はわずかなポートを持つため(普通、2つ又は4つのみ)、スイッチ112が多くのサーバーを少ない装置へ接続するために必要とされる。それにもかかわらず、スイッチ112はほとんどビルトイン・インテリジェンスを持たず、単に、データを選択された装置114へ転送するだけである。装置の1つの限界は、多くの装置がしばしば制限された又は設定数のポートを持つという事実である。ポートを装置に追加することは可能であるが、典型的に大変に高価である。各1つ又は2つのポートは高価なCPU又はサーバー・カードによりサポートされている。従って、ポートを追加することは、全ファイル・カード(記憶及び転送機能と仮想化を実行する)を装置に追加しなければならず、普通は大変に高価である。代替的には、装置を単にSANに追加することである。しかし、これは大変に費用がかかる傾向を持つ。
【0010】
さらに、SANは、普通、装置114内で「仮想化」として知られる機能を一般に実行する。仮想化は、1つ又は複数の物理的記憶装置の空間が特定のユーザに割当てられるが、その空間の物理的位置がユーザに未知のままに留まる時に発生する。例えば、ユーザはその会社の「エンジニアリング記憶空間」ENG:をアクセスすることができる。彼又は彼女が取付けられたディスク装置をアクセスして又は「見る」時、仮想空間ENG:にアクセスして「見る」。それにもかかわらず、ENG:空間は、いくつかの物理記憶装置上に分割でき、又は、単一記憶装置上で断片化さえできる。従って、サーバーが仮想装置(例えば、ENG:)及びブロック番号を要求する時、装置は、要求された仮想装置と物理的に相互に関連する記憶装置を決定し、それにデータを送らなければならない。
【0011】
SANは、数年前に導入されたが、幅広い使用については、相互操作性問題、利用可能な熟練の欠如、及び高い導入コストが、大きな障害として残っている。例えば、現在のSANは、高い配備コストと高い管理コストを有する。再び、図1を参照すると、スイッチ、装置、及びゲートウェイの各々は典型的に異なる売り手からのものであり、売り手特有管理ツールの多用を生じ、標準的な管理の欠如を生む。この結果、SANを配備するために、装備を複数の売り手から購入しなければならない。図1に示すように,スイッチ、装置、ゲートウェイ、記憶装置、サーバー、及び、ルーターの各々は、管理ステーション120として示されるそれ自身の管理を有する。独立の物理的管理ステーションが示されているが、しばしば独立な管理は、互いに通信しない単一コンピュータ上の売り手特有の独立のソフトウェアの形式であることを理解する。この結果、SANの中央管理が存在せず、普通、多くの人による管理がしばしば必要な複数の管理ステーションが存在するため、その管理コストは高い。
【0012】
さらに、SANのために仮想ターゲットを供給すること(又は、「生成する」こと)は、重荷になっている。新しい仮想ターゲットの生成が必要な時、人間の管理者は、性能、初期に必要な容量と潜在的な成長に必要な容量、データ利用可能性、及びデータ保護など、データについてのアプリケーション要求を最初に決定しなければならない。より詳細には、管理者は1つ又は複数の物理装置の一部又は全部を仮想ターゲットに割当て、そして最良の性能を作り及びデータ安全性のためのアクセス制御を作るためにこれらの装置を構成しなければならない。管理者はさらに、記憶ネットワークを通るルートが必要とされる利用可能性のレベルを持つことを確保し、そしてもし、1つの経路がダウンした時にターゲットへの別の経路が利用可能となるように、高い利用可能性が必要とされる場合は代替的な経路を導入しなければならない。さらに、管理者は仮想ターゲットがアクセス可能となる前に機能性を証明するために環境を試験しなければならない。全体に、このような仮想ターゲットを生成するために数日又は数週間を要して、この期間はSANのユーザにとってしばしば受け入れることができない。
【0013】
発明の開示
本発明の1つの実施の形態によるシステムは、スイッチとの通信で自動的に記憶資源を発見して、それら資源の性質に関する情報を得る。1つの実施の形態では、性質が知られると、装置は予め定義されたポリシーに従って分類され、そして記憶プール中に置かれる。
【0014】
プールから、仮想ターゲットが供給できる。1つの実施の形態では、仮想ターゲットはユーザ・ドメインに置かれる。また、イニシエーター接続が1つの実施の形態で供給される。仮想ターゲット、イニシエーター接続、及びユーザ・ドメインの全てが1つの実施の形態ではサービスの品質(QoS)ポリシーを定義するために機能する。
【0015】
本発明の別の実施の形態によるシステムは、さらにイニシエーターとターゲットとの間の接続のためのサービスの品質を実行できる。1つの実施の形態では、サービスの品質は、イニシエーターからターゲットへ送ることのできる同時的要求を制御することにより実行される。
【0016】
本発明のさらに別の実施の形態によるシステムは、負荷平衡を動的に供給できる。1つの実施の形態では、負荷平衡は選択された経路が最短の平均応答時間を有するターゲットへの複数の代替的経路の1つに要求を送ることにより実行される。別の実施の形態では、負荷平衡は最短の平均応答時間を持つミラーされたターゲットへ要求を送るミラーされたターゲット内で実行される。
以下に、本発明の特定の例示的な実施の形態を添付図面を参照して説明する。
【0017】
実施の形態の説明
図2に示されるシステム200は本発明による記憶スイッチを含む。図示されるように、このようなシステムは既存のシステムを大幅に簡潔にする。1つの実施の形態では、システム200は複数のサーバー202を有する。説明目的のために、3つのサーバー202が示されるが、他の実施の形態ではより多い又は少ないサーバーも使用できる。図示しないが、サーバーはLANにも接続できる。図示するように、各サーバー202は記憶スイッチ204に接続される。しかし、別の実施の形態では、各サーバー202は存在する記憶スイッチ204の全てよりも少ないものに接続してよい。サーバーとスイッチとの間に形成される接続はどんなプロトコルを使用できるが、1つの実施の形態では、接続はファイバー・チャンネル又はギガビット・イーサネット(iSCSIプロトコルに従いパケットを運ぶ)のいずれかである。他の実施の形態は、インテル社により定義されるインフイニバンド・プロトコル、又は他のプロトコル又は接続を使用してもよい。
【0018】
図示された実施の形態では、各スイッチ204は次に複数の記憶装置又はサブシステム206の各々に接続される。しかし、他の実施の形態では、各スイッチ204は全ての記憶装置又はサブシステム206よりは少ないものに接続できる。記憶スイッチ204と記憶装置206との間に形成される接続はどんなプロトコルも使用できるが、1つの実施の形態では、接続はファイバー・チャンネル又はギガビット・イーサネットのいずれかである。
【0019】
いくつかの実施の形態では、1つ又は複数のスイッチ204の各々がメトロポリタン・エリア・ネットワーク又はインターネットなどのワイド・エリア・ネットワーク208に接続される。記憶スイッチ204とWAN208との間に形成される接続は一般に大部分の実施の形態ではインターネット・プロトコル(IP)を使用する。MAN/WAN208に直接的に接続しているように図示されるが、他の実施の形態ではスイッチ204とMAN/WAN208との間に中間にルーター(図示しない)を使用してよい。
【0020】
さらに、それぞれの管理ステーション210が、各記憶スイッチ204へ、各サーバー202へ、及び各記憶装置206へ接続している。管理ステーションが別々のコンピュータとして示されているが、単一コンピュータへに集中された装置の各タイプを管理するためのソフトウェアであることが理解される。
【0021】
図3は、本発明の代替的な実施の形態によるシステムを示す。このような実施の形態では、2つのSAN302、304が形成されて、各々が本発明の実施の形態により1つ又は記憶スイッチ204を使用する。SAN302及び304は、インターネットなどのWAN208を介してスイッチ208により接続されている。接続208はどんな標準又はプロトコルであることができ、しかし、1つの実施の形態では、ソネット上のパケット(PoS)又は10ギガビット・イーサネットである。
【0022】
図4は、本発明のさらに別の実施の形態のシステムを示すもので、スイッチ204が互いに直接的に接続されている。図2又は3に示される実施の形態のいずれでも、もし、1つより多いスイッチが使用される場合、これらのスイッチは図4に示すように接続できる。
【0023】
本発明による記憶スイッチは、広範囲に分布された非常に多数の管理ステーションと多数の熟練した管理用人員を持つ代りに、共有記憶プールとして使用できる広範囲に分布された記憶装置の集中管理を可能にする。このような記憶スイッチは、「インテリジェント」スイッチであり、図2と図1を比較することで理解できるように、スイッチ、装置、及びゲートウェイの機能は本発明の1つの実施の形態による記憶スイッチ204中に効率的に統一化されている。そのスイッチング機能に加えて、このような記憶スイッチ204は従来のアーキテクチャでは装置により典型的に提供される仮想化と記憶装置(例えば、ミラーリング)を提供し、またプロトコル翻訳を提供する。また、本発明のいくつかの実施の形態による記憶スイッチは追加の機能を実行する(例えば、仮想プライベート・ネットワークを介してのデータ・セキュリテイ)。このような追加の機能は、負荷平衡など伝統的にサーバーにより実行される従来システムでは他の装置により実行される機能、及び、記憶アクセスのためのサービスの品質など従来のシステムでは以前利用できなかった他の機能を含む。さらに、1つの実施の形態では、記憶アクセス機能のためのサービスの品質が「アプリケーション認識」、すなわち、提供されるサービスの品質は記憶ターゲットへの接続を開始するアプリケーションの性質により指定される。
【0024】
さらに、本発明による実施の形態によれば記憶スイッチのインテリジェンスは各スイッチ・ポートへ配達される。この配達されたインテリジェンスは、システムのスケーラビリテイと利用可能性を可能にする。
【0025】
さらに、配達されたインテリジェンスは本発明の1つの実施の形態によるスイッチがデータを「ワイヤ速度」、記憶スイッチ204が典型的なネットワーク・スイッチ(図1中のスイッチ112など)により導入されるもの以上の待ち時間をデータパケットに導入しないことを意味する、で処理することを可能にする。すなわち、スイッチに対する「ワイヤ速度」は特定のポートへの接続により測定される。従って、OC−48接続を有する1つの実施の形態では、記憶スイッチはOC−48速度(2.5ビットn秒)を達成できる。OC−48速度で移動する2キロバイト・パケット(10ビット・バイトを持つ)は、スイッチに入るのに8マイクロ秒の短い時間を要する。1キロパイト・パケットは、4マイクロ秒の短い時間を要する。100バイトの最小パケットは、単に400n秒だけを要する。しかし、言葉「ワイヤ速度」処理がここで使用される時、このような処理が100バイト・パケットを処理するために400n秒の短い時間を要することを意味するのではない。それは1つの実施の形態で記憶スイッチがOC−48速度で1500バイト(1バイトが10ビットであるように、10ビット符号化を持つ)の最大イーサネット・パケットを処理できること、すなわち、約6μ秒(キロバイト当たり4μ秒、又は、n秒当たり2.5ビット)で処理できることを意味する。1GBイーサネット・ポートを持つ実施の形態では、処理が一般にナノ秒当たり1ビットとして定義される場合、そのポートの「ワイヤ速度」データはキロバイト当たり10μ秒となり、スイッチがキロバイトを処理するために10μ秒までを有する。2GBファイバー・チャンネルを持つ実施の形態では、「ワイヤ速度」はキロバイト当たり5μ秒となる。さらに別の実施の形態は、10ギガバイト・イーサネット又はOC−192又はそれ以上でデータ処理をしてもよい。
【0026】
ここで使用される「仮想化」は、本質的に、ユーザに与えられた仮想ターゲット空間を1つ又は複数の物理的記憶ターゲット装置上の空間へマッピングすることを意味する。「仮想」及び「仮想ターゲット」は、加入者毎に割当てられた記憶空間が記憶スイッチ204に接続する1つ又は複数の物理的記憶ターゲット装置のどこでも良いという事実から来る。物理的空間は、1つ又は複数の「論理単位」(LU)を含むことのできる「仮想ターゲット」として供給できる。各仮想ターゲットは、しばしば、iSCSI及びFCプロトコルで使用される1つ又は複数のLU番号(LUN)で識別される1つ又は複数のLUからなる。各論理単位は、一般に1つ又は複数のエクステント、物理的装置上の記憶空間の連続したスライス、を含む。すなわち、仮想ターゲットは記憶装置全体(1エクステント)、単一記憶装置の一部(1つ又は複数のエクステント)、又は、複数の記憶装置の部分(複数エクステント)を占めることができる。物理的装置、LU、エクステント数、及びそれらの正確な位置は加入者ユーザには重要ではなく、そして見ることができない。
【0027】
記憶空間はいくつかの異なる記憶装置から来てもよいが、各仮想ターゲットは時々ここで「ドメイン」と呼ばれる1つ又は複数の「プール」に属している。同じドメインのユーザのみが彼等のドメイン中の仮想ターゲットを共有することを許される。また、ドメイン組がメンバーとしていくつかのドメインを含んで形成できる。ドメイン組の使用は複数ドメインのユーザの管理を容易にする。例えば、もし、1つの会社が5つのドメインを持つが、サービスを止めることを選択した場合、単に1つの動作がそのドメイン組を全体として使用不可能にするのに必要とされる。ドメイン組のメンバーは他のドメインのメンバーであることができる。
【0028】
図5は、本発明の実施の形態による記憶スイッチ204の機能ブロック図である。1つの実施の形態では、記憶スイッチ204は複数のラインカード502、504及び506と、複数のファブリック・カード508と、2つのシステム制御カード510とを含む。以下に、各々を詳細に説明する。
【0029】
システム制御カード
2つのシステム制御カード510の各々は、全てのラインカード502、504、506に接続している。1つの実施の形態では、このような接続は、SCCとのイーサネット接続を介して周知のI2C信号により形成される。SCCは、I2C接続により、電源投入の制御と、個別のラインカード及びファブリック・カードの監視をする。イーサネット接続を介してのカード内通信を使用して、SCCはさまざまな記憶サービス、例えば、仮出願番号第60/325,704号に記載されるスナップショップ及び複製、を開始する。
【0030】
さらに、SCCは、スイッチに接続された物理的装置と、例えば、サーバー及び記憶装置と、全ての仮想ターゲットと、記憶スイッチとの構成情報を追跡するデータベース512を維持する。さらに、データベースは、使用、エラー、アクセス・データ、ユーザ、仮想ターゲットのドメイン組及び異なるドメインに関する情報を維持する。データベースのレコードは、ここでは「オブジェクト」と呼ばれる。イニシエーター(例えば、サーバー)及びターゲット(例えば、記憶装置)は、周知のワールド・ワイド・ユニーク識別子(WWUI)を持つ。データベースは、SCC内のメモリ装置内に維持される。1つの実施の形態では、メモリ装置はフラッシュ・メモリから形成されている。しかし、他のメモリ装置も満足である。
【0031】
記憶スイッチ204は、管理ステーション210によりイーサネット接続を使用してSCC510を介して到達できる。従って、SCCは、管理ステーションに接続するために追加のイーサネット・ポートを含む。
【0032】
2つのSCC510の内の1つは主動作SCCである。他は予備であり、記憶スイッチ中の動作に同期しているが、直接にはそれらを制御しない。SCCは、もし1つのSCCが故障したならば、他が主コントローラとなるという、高度の利用可能性モードで動作する。
【0033】
ファブリック・カード
スイッチ204の1つの実施の形態では、3つのファブリック・カード508が存在する。他の実施の形態では、より多い又は少ないファブリック・カードを持つことができる。1つの実施の形態では、各ファブリック・カード508は、ラインカード502、504、及び506の各々に接続し、全てのラインカードを一緒に接続する役割を果たす。1つの実施の形態では、ファブリック・カード508の各々は、全てのラインカードが充たされている時、最大トラフイックを処理できる。各ラインカードにより処理されるこのようなトラフイック負荷は、1つの実施の形態で、160Gbpsまでである。他の実施の形態では、より高い又は低い最大トラフイック容積を処理できる。もし、1つのファブリック・カード508が故障した場合、2つの生き残ったカードは可能な最大スイッチ・トラフイック:1つの実施の形態では、各ラインカードは20Gbpsのトラフイック、10Gbps入場及び10Gbps出場を発生する、に対する十分な帯域幅をまだ持つ。しかし、通常の環境下では、3つの全てのファブリック・カードが同時に活動する。各ラインカードから、データ・トラフイックがデータを収容できる3つのファブリック・カードのいずれか1つに送信される。
【0034】
ラインカード
ラインカードは、サーバー装置及び記憶装置への接続を形成する。1つの実施の形態では、記憶スイッチ204は、16ラインカードまで支援する。他の装置では異なる数を支援できる。さらに、1つの実施の形態では、3つのタイプのラインカードが使用される。ギガビット・イーサネット(GigE)カード502と、ファイバー・チャンネル(FC)カード504と、WANカード506とである。他の実施の形態はより多い又は少ないタイプのラインカードを含んでも良い。GigEカード502は、1つの実施の形態ではiSCSIサーバー又はiSCSI記憶装置(又は、他のイーサネット・ベース装置)のいずれかに接続する、イーサネット接続用である。FCカード504は、ファイバー・チャンネル・プロトコル(FCP)サーバー又はFCP記憶装置のいずれかに接続するファイバー・チャンネル接続用である。WANカード506は、MAN又はWANに接続するためである。
【0035】
図6は、本発明の実施の形態による記憶スイッチ204に使用される一般的なラインカード600の機能ブロック図を示す。この図は、全てのタイプのラインカード、例えば、GigE502、FC504、又はWAN506、において共通なコンポーネントを示す。他の実施の形態では、ラインカードの他のタイプが、インフイニバンドなどの他のプロトコルを使用する装置へ接続するために使用できる。ラインカードの相異点は後で説明する。
【0036】
ポート
各ラインカード600は、複数のポート602を含む。ポートは、サーバー又は記憶装置のいずれかへのラインカードの接続を形成する。図示された実施の形態では8つのポートが示されているが、他の実施の形態ではより多い又は少ないものが使用できる。例えば、1つの実施の形態では、各GigEカードは8つまでの1Gbイーサネット・ポートを支援でき、各FCカードは8つの1GbFCポート又は4つの2GbFCポートのいずれかまでを支援でき、各WANカードは4つのOC−48ポート又は2つのOC−192ポートのいずれかまでを支援できる。従って、1つの実施の形態では、最大の可能な接続は、スイッチ204当たり128ポートである。各ラインカードのポートは、フルデュプレックスであり、サーバー又は他のクライアントのいずれか、又は、記憶装置又はサブシステムへ接続する。
【0037】
さらに、各ポート602は、付随メモリ603を持つ。単に1つのメモリ装置が1つのポートに接続されているのが示されているが、各メモリポートはそれ自身のメモリ装置を有してよく、また、全てのポートが単一のメモリ装置へ接続してもよい。説明の簡潔のため、単一のメモリ装置がここでは1つのポートに接続されているのが示されている。
【0038】
記憶プロセッサ・ユニット
1つの実施の形態では、各ポートは記憶プロセッサ・ユニット(SPU)601と関連付けられる。1つの実施の形態では、SPUは、データ・トラフイックを高速に処理して、ワイヤ速度操作を可能にする。1つの実施の形態では、SPUはいくつかの要素:パケット集合及び分類エンジン(PACE)604、パケット処理ユニット(PPU)606、SRAM605、及びCAM607、を含む。他の実施の形態はより多い又は少ない要素を使用でき、また、同じ機能を得るために要素を結合できる。例えば、いくつかの実施の形態は、SPU内にPACE及びPPUを含むが、SPUはメモリ要素を他のSPUと共有することができる。
【0039】
PACE
各ポートは、パケット集合及び分類エンジン(PACE)604に接続されている。図示されるように、PACE604は2つのポートを二倍の帯域幅を有する単一データ・チャンネルに集合する。例えば、PACE604は、2つの1Gbポートを単一の2Gbデータ・チャンネルに集合する。PACEは、仮出願番号第60/325,704号に記載されるように、各受信パケットを制御パケット又はデータパケットに分類する。制御パケットは処理のためにブリッジ616を経由してCPU614へ送られる。データパケットは以下に説明するパケット処理ユニット(PPU)606へ追加されたローカル・ヘッダと共に送信される。1つの実施の形態では、ローカル・ヘッダは、16バイトであり、64バイトのデータ「セル」を生ずる(16バイトのヘッダ及び48バイトのペイロード)。ローカル・ヘッダは、情報を運ぶために使用され、スイッチ204により内部的に使用される。ローカル・ヘッダは、パケットがスイッチを去る前に除去される。従って、ここで使用される「セル」はスイッチ内で局所的に使用される移送単位であり、ローカル・ヘッダとオリジナル・パケット(いくつかの実施の形態では、元のTCP/IPヘッダも元のパケットから除去される)を含む。しかし、本発明の全ての実施の形態がローカル・ヘッダを作成し、外部パケットとは異なる「内部パケット」(セル)を持つのではない。従って、ここで使用される言葉「パケット」は「内部」又は「外部」パケットのいずれかを指すことができる。
【0040】
分類機能は、スイッチが、従来システムの記憶及び転送モデルを使用せずに、ワイヤ速度で記憶仮想化及びプロトコル翻訳機能を実行可能にすることを助ける。各PACEはPPU606への専用化経路を持つが、図示された実施の形態中の4つのPACEの全ては、CPU614への経路を共有する。これは、1つの実施の形態では、104MHz/32(3.2Gbps)ビット・データ経路である。
【0041】
パケット処理ユニット(PPU)
PPU606は、オンザフライで仮想化及びプロトコル翻訳を実行する。これはセルは、仮出願番号第60,325704号に記載されるように、この処理のためにバッフアされないことを意味する。また、後述する他のスイッチ・ベース記憶サービス機能を実行する。1つの実施の形態では、PPUは、セルを入場と出場の両方向へ、OC−48速度又は2.5Gbpsで移動できる。他の実施の形態では、セルをOC−192速度又は10Gbpsで移動できる。1つの実施の形態では、PPUは、共に同時的に動作する入場PPU6061及び出場PPU6062を含む。入場PPU6061は、PACE604から入来するデータを受信して、データをトラフイック・マネージャ608iヘ送信する。出場PPU6062は、トラフイック・マネージャ608eからデータを受信して、データをPACE604へ送信する。図6に示されるただ1つのPPU606が入場PPU6061及び出場PPU6062を有するが、1つの実施の形態では全てのPPU606が入場及び出場PPUの両方を含むことが理解される。説明の簡潔さのため、図6に示されるただ1つのPPUのみが入場及び出場PPUの両方を備えている。
【0042】
多数の記憶接続(例えば、サーバーから仮想ターゲット)が、各ポートで同時に確立できる。しかし、各接続は仮想ターゲットに対して独特であり、TCP制御ブロック・インデックス(iSCSI接続の場合)及びポート番号により独特に識別できる。接続が確立される時、ラインカード600のCPU614は、PPU606に活動仮想ターゲットをそれに接続ために仮想ターゲット記述子(VTD)を送信することにより知らせる。VTDは、PPUがデータについて適当に動作、例えば、仮想化、翻訳、及びさまざまな記憶サービスの実行、をするのに必要な仮想ターゲット及び接続とに関する全ての関連情報を含む。VTDは、SCCデータベース中のオブジェクトから導出され、普通、SCCデータベース中の関連オブジェクト中に記憶されている情報の小組を含む。図7aに本発明の1つの実施の形態のVTD中のフィールドの例が示される。しかし、本発明の他の実施の形態は、より多い、少ない又は異なるフィールドを持つことができる。
【0043】
同様に、物理的ターゲット記述子(PTD)が、本発明の実施の形態で使用される。PTDは、現実の物理的装置、それらの個別のLU、又はそれらの個別のエクステント(全体LU又は連続する部分)を記述し、そしてVTDのそれと同様な情報を含む。また、VTDと同じく、PTDはSCCデータベース中のオブジェクトから導出される。図7bに本発明の1つの実施の形態のPTDのフィールドの例を示す。しかし、本発明の他の実施の形態は、より多い、少ない又は異なるフィールドを持つことができる。
【0044】
VTD及びPTDを記憶してそれらに高速にアクセスするために、1つの実施の形態では、PPU606がSRAM605及びCAM607に接続されている。SRAM605は、VTD及びPTDデータベースを記憶する。また、VTD識別子(VTDID)又はアドレス、及びPTD識別子(PTDID)のリストが、VTDの高速アクセスのためにPPUCAM607中に維持される。VTDIDは、TCP制御ブロック・インデックス及びLUNを用いてインデックス(マップ)される。PTDIDは、VTDIDを使用してインデックスされる。さらに、IPルーテイング・サービスのために、CAM607は、経路が追加又は除去された時にCPUにより更新される経路テーブルを含む。
【0045】
単に1つのCAM及びSRAが、1つのPPUに接続するように示されているが、これは図面の簡潔さを維持するためであることに注意する。さまざまの実施の形態では、各PPUはそれ自身のCAM及びSRAM装置に接続されるか、又は、PPUは単一のCAM及び/又はSRAMに全て接続される。
【0046】
PPUへの各未決の要求については(例えば、読出し又は書込み)、要求の状態を追跡するためにタスク制御ブロックがPPUSRAM607中に設定される。入場PPU上の記憶スイッチにより受信された要求の状態を追跡する入場タスク制御ブロック(ITCB)及び出場PPU上の記憶スイッチにより送信される要求の状態を追跡する出場タスク制御ブロック(ETCB)が存在する。各仮想ターゲット接続については、多数の同時的要求が存在し得、従って、多くのタスク制御ブロックが存在し得る。タスク制御ブロックは要求が開始される時に割当てられ、要求が完了する時に解放される。
【0047】
トラフイック・マネージャ
各ラインカード600上に2つのトラフイック・マネージャ(TM)608:入場トラフイックのための1つのTM608i及び出場トラフイックのための1つのTM608e、が存在する。1つの実施の形態では、入場TMは64バイト・データセルの形式のセルを全ての4つのSPUから受信する。このような実施の形態では、各データセルは、16バイトのローカル・ヘッダと48バイトのペイロードを持つ。ヘッダは、TMにセルの宛先ポートを知らせるフローIDを含む。いくつかの実施の形態では、SPUはまた、セルをTMへ転送する前にTMヘッダをセルに取付けてもよい。また、いくつかの実施の形態では、TM又はSPUのいずれかは、セルをファブリック・カードを通じての送信のためにより小さいセルに分割できる。
【0048】
入場TMは、1つの実施の形態では、データセルを128ビット104Mhzインターフェイス610を経由してファブリック・カードへ送信する。他の実施の形態では、125Mhz又は他の速度で動作する。出場TMはファブリック・カードからデータセルを受信してそれらを4つのSPUへ配達する。
入場及び出場TMの両方は、配達のためにセルを待ち行列させるための大きなバッフア612を持つ。入場及び出場TMのための両バッフア612は、64MBであり、多数のパケットを待ち行列できる。SPUは、普通、ファブリック・カードの出力流れは入力流れと同じ程度に速いので、セルを入場TMへ素早く送信できる。従って、セルは素早く出場TMへ移動する。一方、出場TMは、出力ポートが渋滞又は複数の入場ラインカードにより供給されるため、バックアップされてよい。このような場合、操作を素早くするように出力SPUに知らせるため、出力セルのヘッダ中にフラグが設定される。また、出場TMは、以下に説明する記憶アクセスのためのサービスの品質を提供する際に使用される流れ制御機能を活性化するために、入場SPUへ要求を送信する。インターネット上の通信トラフイックとは異なり、記憶トラフイックに対しては、パケット又はセルを落とすことは許されないことに注意する。従って、バッフア中のセルの量が指定された閾値を越えると直ちに、SPUはバッフアのオーバーフローを避けるために入力トラフイックを遅くするためその流れ制御機能を活性化する。
【0049】
ファブリック接続
ファブリック接続610は、TMの256ビット・パラレル信号(それぞれ、128ビット入場及び128ビット出場)を、160Gbpsのバックプレーンへの16ビット・シリアル・インターフェイス(8ビット入場及び8ビット出場)へ変換する。従って、バックプレーンは、16分の1のピンで16倍早い速度で動作している。この変換は、数千の接続ピンとワイヤを無しに合理的なコストで高い利用可能度のバックプレーンの構成を可能にする。さらに、1つの実施の形態では3つのファブリック・カードが存在するため、1つの実施の形態では各ラインカード上に3つの高速コネクタが存在し、これらコネクタの各々は8ビット信号を3つのファブリック・カードのそれぞれに接続する。もちろん、他の実施の形態は3つのファブリック・カード610を必要としないであろう。
【0050】
CPU
各ラインカード上には、プロセッサ(CPU)614が存在する。1つの実施の形態では、プロセッサはパワーPC750Cxeである。1つの実施の形態では、CPU614は、バス・コントローラ615とブリッジ616とを経由して3.2Gbバスにより各PACEに接続する。さらに、CPU614は各PPU、CAM及びTMにも接続する。しかし、いくつかの実施の形態では、この接続はより遅い40Mbpsである。3.2Gb及び40Mbpsの両経路はCPUがラインカード中の大部分の装置と通信することを可能にし、そしてラインカード上の全ての装置の内部レジスタを読取り及び書込むことを可能にし、マイクロコードをダウンロードし、そして制御パケットを送信及び受信することを可能にする。
【0051】
各ラインカード上のCPUは、電源投入時に各チップを初期化する責任を持ち、SPU及びマイクロコードが必要な各ポートへマイクロコードをダウンロードする。ラインカードが動作状態になると、CPUは制御トラフイックを処理する。仮想ターゲット接続を確立するのに必要な情報については、CPUはSCCから情報を要求し、次にSCCデータベース中の適当なオブジェクトから情報を得る。
【0052】
ラインカード−ポートの区別
ラインカードの各タイプのポート、例えば、GigE、FC、又はWANは、1つの実施の形態では各ラインカードは1つのタイプのポートのみを支援するため、別個である。以下に1つの実施の形態のポートの各タイプについて説明する。もちろん、別の実施の形態では、インフイニバンドなどの他のプロトコルを支援するため、他のラインカード・ポートが設計できる。
【0053】
GigEポート
ギガビット・イーサネット・ポートは、iSCSIサーバーと記憶装置に接続する。GigEポートは全ての種類のイーサネット・トラフイックを運ぶが、本発明の1つの実施の形態によるワイヤ速度で記憶スイッチ204により一般に処理されるネットワーク・トラフイックは、TCP/IPパケット中のiSCSIパケットデータユニット(PDU)だけである。しかし、他の実施の形態では、イーサネット上を運ばれる他のプロトコル(ネットワーク・ファイル・システム(NFS)のような)によるパケットが、GigEポートで受信されて、SPU及び/又はCPUにより処理されてよい。
【0054】
GigEポートは、仮想ターゲット又はiSCSI装置のためにTCP/IPセグメントを送受信する。仮想ターゲットのためにTCP接続を確立するために、ラインカードCPU614とSCC510の両方が関与する。TCPパケットが受信される時、そして初期のハンドシェーキングが行われた後、TCP制御ブロックが生成されて、GigEポート・メモリ603中に格納される。また、接続を認証して仮想ターゲットの構成を理解する目的のため、VTDがSCCデータベースのオブジェクトから検索されて、CPUSDRAM605中に記憶される。TCP制御ブロックは、パケットが所属しそして1つの実施の形態ではTCPセグメント番号、状態、ウインドウ大きさ、及び接続に関する潜在的に他の情報を含む特定のTCPセッション又はiSCSI接続を識別する。さらに、TCP制御ブロックは、ここで「TCP制御ブロック・インデックス」と呼ばれるインデックスにより識別される。接続のためのVTDが作られて、SPURAM605中に記憶されなければならない。CPUは、そのSDRAM中に記憶されていて、元はSCCデータベースから得られたVTD情報を検索することにより、VTDを作成する。VTDIDが、VTDの素早い参照のためにSPUCAM607中のVTDIDのリスト中に設定される。VTDIDは、TCP制御ブロック・インデックスと合併され、そしてインデックスされる。
【0055】
ポートが、iSCSIPDUを受信する時、本質的にその接続の終了点として機能するが、その後にスイッチがターゲットへの新しい接続を始める。入場側でパケットを受信した後、ポートは、特定のTCP接続を識別するTCP制御ブロック・インデックスによりPACEへiSCSIPDUを配達する。非TCPパケット又はiSCSIPDUを含まないTCPパケットについては、ポートは接続の終点として動作することなくパケットを受信しそして送信する。典型的に、ポート602は、iSCSIパケットがTCP制御ブロック・インデックスを使用して受信又は送信されるPACE604と通信する。パケットのTCP制御ブロック・インデックスが、−1の時、それは非iSCSIパケットを識別する。
【0056】
FCポート
FCポートは、サーバー及びFC記憶装置に接続する。FCポートは、接続するサーバーにファイバー・チャンネル記憶サブシステム(すなわち、ターゲット)として見える。それはイニシエーター(例えば、サーバー)が接続を確立するために業界で知られているプロセス・ログイン(PLOGI又はPRLI)を実行することを可能にする仮想ターゲット装置の大きなプールを表すことを意味する。FCポートは、GID拡張リンクサービス(ELS)を受け取り、そしてそのイニシエーター(例えば、サーバー)によるアクセスのために利用可能なターゲット装置のリストを戻す。
【0057】
ファイバー・チャンネル記憶装置に接続する時、ポートはファイバー・チャンネルFポートとして見え、記憶装置から業界で知られているファブリック・ログインを受け取り、そしてGID要求を受け取りそして処理することにより名前サービス機能を提供することを意味する。換言すれば、ポートは記憶装置にはイニシエーターとして見える。
【0058】
さらに、FCポートは別の既存のSANネットワークに接続でき、このような例では他のネットワークには多くのLUを持つターゲットとして見える。
【0059】
ポートの初期化では、ラインカードCPUはファブリック・ログイン、プロセス・ログイン、及びGIDを送信し、そして同じものを受信する両方を完了しなければならない。SCCは、FCELSをiSNS要求及び応答に変換するためのアプリケーションを支援する。この結果、SCC内の同じデータベースは、あたかもそれらがiSCSIイニシエーター及びターゲットであるかのように、FCイニシエーター(例えば、サーバー)及びターゲット(例えば、記憶装置)の両方を追跡する。
【0060】
FC接続を確立する時、GigEポートとは異なり、FCポートはTCP制御ブロック又はその等価物を生成する必要がない。必要な全ての情報はFCヘッダから利用可能である。しかし、VTD(D_IDによりインデックスされる)はGigEポートについて説明したのと同様な態様で確立される必要がある。
【0061】
FCポートは、1Gb又は2Gbとして構成できる。1Gbポートとして、図6に示すように、2つのポートが単一のPACEへ接続されるが、2Gbポートとして構成される1つの実施の形態では、ポート・トラフイック及びSPUにより収容可能なトラフイックは、SPUでの渋滞を避けるために一致すべきである。1つの実施の形態では、ポートはPOS/PHYインターフェイスによりPACEへ接続される。各ポートは別個に構成できる。すなわち、1つのPACEは2つの1Gbポートを持つことができ、そして別のPACEは単一の2Gbポートを持つ。
【0062】
WANポート
WANラインカードを含む実施の形態では、WANラインカードは1つの実施の形態ではOC−48及びOC−192接続を支援する。従って、2つのタイプのWANポート:OC−48及びOC−192が存在する。OC−48については、各SPUに対して1つのポートが存在する。PACEには集合機能はないが、分類機能が存在する。WANポートはSONETに接続し、そしてそれはICMP、RIP、BPG、IP及びTCPなどのネットワーク・パケットを送信及び受信する時、GigEポートのように動作する。GigEポートとは異なり、WANポートは1つの実施の形態では、追加のハードウェア部品を必要とするIPSecとVPNによりネットワーク・セキュリテイを支援する。
OC−192はより高速のワイヤ速度を生ずるので、OC−192を支援する実施の形態ではより高速のSPUが必要とされる。
【0063】
スイッチに基づいた記憶動作
本発明の実施の形態による記憶スイッチは、プーリング及び供給を含む、さまざまなスイッチに基づいた記憶動作を実行する。記憶アクセスのためのサービスの品質及び負荷平衡の各々について以下に説明する。
iSCSI及びFCプロトコルの一般的な知識は仮定される。iSCSIのさらなる情報に関しては、参照によりここに組み込まれた、インターネット・ドラフト及びインターネット・エンジニアリング・タスク・フォース(IETF)による、2001年11月19日の進行中の作業、“draft−ietf−ips−iSCSI−09.txt”を参照。ファイバー・チャンネル(FC)のさらなる情報に関しては、参照によりここに組み込まれた、“情報システム−SCSI用dpANSファイバー・チャンネル・プロトコル”Rev.012、1995年12月4日(アメリカン・ナショナル・スタンダードの提案草案)を参照。さらに、両方は仮出願番号第60/325,704号に記載されている。
【0064】
記憶プール
図2の物理的な構成に示すように、本発明の実施の形態によるシステムは、1つ又は複数のサーバー202及び1つ又は複数の物理的装置206、すなわち、記憶装置又はサブシステム、に接続されたスイッチ204を含む。各物理的ターゲットは、1つ又は複数の論理的ユニット(LU)207を含む。仮想ターゲットが最終的に形成されるのはこれらLUからである。
【0065】
しかし、仮想ターゲットが生成、又は「供給」できる前に、スイッチは取付けられた及び/又はそれによりアクセス可能な物理的記憶装置及びそれらの物理的記憶装置の特性を「知る」ことが必要である。従って、本発明の1つの実施の形態では、記憶装置又はイニシエーター装置がスイッチに接続又は登録される時、スイッチは新装置の性能特性について学ばなければならない。1つの実施の形態では、スイッチは記憶アクセス時間、データ転送速度、キャシュ支援、装置への代替経路の数、RAID支援、及び物理的装置のLUに対する許容最大命令を測定できるユーテイリテイ・プログラムを含む。いくつかの実施の形態では、一旦、装置がスイッチに接続されると、ユーテイリテイ・プログラムが自動的に装置を発見して、そして必要な情報をユーザ又は他の介在なしに自動的に集める。このような実施の形態では、スイッチはポートへの信号線のリセット又は撹乱がある時、装置の追加/削除を発見する。装置が発見されると、性能特性に関する情報を集めるために装置へさまざまな質問が送られる。例えば、読出し/書込み命令が転送速度を測定し又はアクセス時間を検査するために送信できる。代替的に、いくつかの実施の形態では、性能特性を得ることは、管理者が管理ステーション210で性能特性を入力することにより行うことができ、そして、特性はスイッチ204へ供給される。
【0066】
全てにエンドユーザに対して一般に見えない、装置に関して集められた情報に基づき、本発明の1つの実施の形態では、スイッチはポリシーに基づき装置を分類する。例えば、最良特性を持つ装置はプラチナ装置として分類される。中間的な性能特性を持つ装置はゴールド又はシルバー装置として分類される。最低の性能特性を持つ装置はブロンズ装置として分類される。もちろん、定義されるタイプのポリシーは無限であり、本発明の実施の形態中で変化する。さらに、いくつかの実施の形態では、管理者は、例えば、プラチナ・ビルデイング1、プラチナ・ビルデイング2のようにポリシーを再分割でき、そしてこのように再分割されたポリシーへ資源を割当てる。しかし、本発明の1つの実施の形態に使用されるポリシーの一例を以下の表1に示す。
【0067】
表1
Figure 2005505035
【0068】
図8に示すように、一旦、ポリシーが記憶装置に対して決定されると、その装置のLUが、時々、「ドメイン」とここで呼ばれる、記憶プール802へ割当てられてられる。各記憶装置が1つ又は複数のLUを含むため、特定の記憶装置の全てのLUは同じプールに割当てられる。しかし、1つの実施の形態では、各LUはスイッチにより別個の記憶ノードとしてみなされ、そして各LUはSCCデータベース512内のLUオブジェクトにより記述される。従って、各プールはメンバーとしてLUを有する。1つの実施の形態では、プールへの割当ては物理的記憶装置が動作する、例えば、iSCSI又はファイバー・チャンネル、プロトコルとは独立に実行される。当業者には理解されるように、各プールはLUがそれに割当てられたプールに関するリストによりスイッチ中で定義され、そのリストは1つの実施の形態ではSCCデータベース512中に記憶される。このようなリストはLUオブジェクトへのポインタを含む。
【0069】
一般に、各プールは、特定の性質を持つユーザのみによりアクセス可能である。例えば、記憶プールはビルデイング1にいるユーザのために設立でき、プールは「ビルデイング1共有ゴールド記憶プール」と命名される。別の例示的なプールは「エンジニアリング専用シルバー記憶プール」と命名されて、特定の会社のエンジニアリング・チームにより専用にアクセスされてよい。もちろん、プールの無限の変形が設定でき、ここに記載されて示されるものは例示のみである。
【0070】
さらに、1つの実施の形態では、2つの特別なプールが存在する。「デフォルト・プール」と「ノー・プール」である。デフォルト・プールは、記憶ネットワークへアクセスするだれにもアクセスを許容する。これに対して、「ノー・プール」は、一般的にユーザにアクセス可能ではなく、スイッチ自身又はシステム管理者のみにアクセス可能である。一旦、プールに割当てられると、LUはスイッチ自身又はシステム管理者により異なるプールへ再割当てできる。例えば、LUは最初はノー・プール中に置かれて、テストされて、そして後で、デフォルト・プール又は他のプールへ移動される。
【0071】
サービスの品質及びサービス・レベル・アグリメント
サービス・レベル・アグリメント(SLA)は、時々、ネットワーク通信中で使用されるが、記憶ネットワークの文脈で一般的には使用されておらず、サービスの品質(QoS)ポリシーと共に記憶ネットワーク中に使用されてはいない。SLA/QoSを提供することにより、ユーザはデータの記憶及び検索の条件を選択できる。1つの実施の形態では、QoSポリシーは、3つの要素:仮想ターゲットの供給、イニシエーター接続の供給、及びユーザ・ドメインの定義により定義される。以下に各々が説明される。しかし、いくつかの実施の形態は、QoSポリシーを定義するために3つの全ての定義を必要としない。例えば、いくつかの実施の形態は、仮想ターゲットの供給、及びイニシエーター接続の供給のみを必要とし、ユーザ・ドメインの定義を必要としない。他の実施の形態では、QoSポリシーを定義するために全く異なる要素を使用してよい。
【0072】
仮想ターゲットの供給
物理的装置についてのLUがアクセス可能プールに存在すると、それらLUについて仮想ターゲットが生成できる。一旦、生成されると、図9に示すように、サーバー(及びそれらのそれぞれのユーザ)は、1つ又は複数の仮想ターゲット902を「見る」であろう。仮想ターゲットは各々が1つ又は複数のエクステント907からなるが、彼等は物理的装置206を必ずしも「見」ない。エクステントは、物理的装置から全体LU又はその隣接する部分である。図9の例に示すように、例示的仮想ターゲット902中の各エクステントは、いくつかの物理的装置からの全体LUにより形成されている。なお、「エクステント」は、ターゲットが「仮想」であることを自覚しないサーバーなどのイニシエーターからLUNにより参照できる。LUにより使用されるプロトコルを含む仮想ターゲットの構造は、サーバーとは関連性がない。しかし、図9に示すように、各仮想ターゲットは物理的装置206のLUへマップするエクステントからなる。
【0073】
仮想ターゲットを供給するために、ユーザは本発明の1つの実施の形態において仮想ターゲットのためのいくつかの特性を選択する。特性は以下を含む。
・大きさ(例えば、ギガバイト単位)、
・記憶プール、1つの実施の形態では、ユーザはユーザがアクセスを許された記憶プールだけから選択するが、
・所望の利用可能性、例えば、常に利用可能(データが重要で、ダウンすること許されない)、普通の利用可能性等、
・仮想ターゲットのWWUI、
・バックアップ・プール、
・ユーザ認証データ、
・ミラーされたメンバー数、
・ミラーされたメンバーの場所(例えば、ローカル又は遠隔)
また、他の実施の形態では異なる、追加の、又はより少ない特性も選択できる。
【0074】
その後、スイッチは仮想ターゲットが形成できるかどうかを決定するため、そして特にスイッチは仮想ターゲットについて必要の大きさに合うLU(又はLUの部分)の数が利用可能かどうかを決定するため、選択されたプールからの利用可能な資源を解析する。もし、そうであるならば、仮想ターゲットが1つ又は複数のエクステントにより生成される。そして、仮想ターゲット・オブジェクトが、仮想ターゲット、そのエクステント、及びその特性を識別するSCCデータベース内に形成される。以下の表2に4つの仮想ターゲットについてのユーザ選択特性の例が示されている。
【0075】
表2−仮想ターゲット
Figure 2005505035
【0076】
新仮想ターゲットを供給するのに加えて、本発明の実施の形態によるスイッチは、既存のターゲットを新しい又は異なる情報により修正することもでき、又は、それらがもはや必要でなければ仮想ターゲットを削除できる。
【0077】
イニシエーター接続の供給
サーバー又は他のイニシエーターがスイッチへ接続されてそしてイニシエーターがiSNS又はSLPを支援する時、1つの実施の形態では、イニシエーターはそれ自身をスイッチに登録して、イニシエーター・オブジェクトをSCSIデータベース内に記憶する。他の実施の形態では、スイッチはイニシエーター接続を生成し、更新し、又は削除するアクセス供給機能を含む。
アクセス接続−スイッチとイニシエーター(サーバーなど)との間の接続−を生成する際、ユーザは1つの実施の形態の表3に示されるさまざまなパラメータを指定する。
【0078】
表3−イニシエーター接続
Figure 2005505035
【0079】
上記の情報の全て又はいくつかが、SCCデータベース中に記憶されたイニシエーター・オブジェクト内に格納される。接続が除去される時、イニシエーター・オブジェクトが削除される。
【0080】
そして、スイッチ、管理ステーション、又は他のネットワーク管理は仮想ターゲットを形成するためにイニシエーターに利用可能なLUを指定して、特定の接続のための記憶プールを生成する。
【0081】
ユーザ・ドメイン
物理的装置と同様に、仮想ターゲットは指定された特性を持つもののみにアクセス可能なプールに割当てられることができる。すなわち、物理的装置と同様に、仮想ターゲットはユーザ指定ドメイン(時々、ここではユーザ・ドメインと呼ばれる)、デフォルト・ドメイン(だれにもアクセス可能)、又はノー・ドメインに割当てることができる。各ドメインは、1つの実施の形態では、その領域へ割当てられた全ての仮想ターゲットのリストを含むSCCデータベース中のオブジェクトにより識別される。仮想ターゲットについては、ノー・ドメインは予備仮想ターゲット、ミラーされた仮想ターゲットのメンバー、又は別のスイッチからの遠隔仮想ターゲットを含むことができる。本質的に、仮想ターゲット・ノー・ドメインは、或るタイプの仮想ターゲットためのパーキング場所である。説明の便宜のために、仮想ターゲットに言及する時、プールはここでは「ドメイン」と呼ばれる。しかし、物理的装置に言及する時、プールは「プール」と呼び続ける。しかし、概念的には「プール」と「ドメイン」とは本質的に同じものであることに理解すべきである。
【0082】
一旦、上述したようにイニシエーター接続が供給されると、イニシエーターの要求に合った仮想ターゲットが供給され、イニシエーターのためのアクセス可能プール中に置かれるか、又は、前に供給された仮想ターゲットがイニシエーターに、例えば、ノー・ドメイン又はデフォルト・ドメインなどの別のドメインから仮想ターゲットをイニシエーターのユーザ・ドメインに移動することにより、アクセス可能とされる。(仮想ターゲット又はイニシエーター接続のいずれかが最初に供給できる。それが特定の順序で供給されるべき要求はない。)そして、一旦、イニシエーターが例えば読出し又は書込み要求を送信することにより、仮想ターゲットへのアクセスを要求すると、仮想ターゲット・オブジェクト及びイニシエーター・オブジェクトの両方がSCCデータベースから読み出され、そして、イニシエーター接続及び仮想ターゲットに関する情報が要求を処理する際に使用するために関連するラインカードに送られる。
【0083】
仮想ターゲットを供給する例が、図10a−dを参照して与えられる。図10aを参照すると、スイッチに接続された全部で6つのLU―LU1、LU2、LU3、LU4、LU5、LU6―を有する物理的装置があり、全てが2つのイニシエーターX及びYにアクセス可能なプール「X−Yユーザ・プール」中に置かれていると仮定する。もし、イニシエーターXが2つの仮想ターゲットを要求すると、1つの状況では、LUは仮想ターゲットVT1及びVT2を形成するために供給される。ここでは、VT1はエクステントとしてLU1−3を含み、VT2はエクステントとしてLU4−6を含み、VT1及びVT2は共にサーバーXユーザ・ドメイン中に置かれて、図10bに示すようにサーバーXが両方の仮想ターゲットにアクセスすることを可能にする。サーバーYは、Yユーザ・ドメイン中に仮想ターゲットが置かれていないため、VT1又はVT2のいずれにもアクセスしない。代替的に、図10cを参照すると、もし、サーバーX及びサーバーYが共に1つの仮想ターゲットを要求すると、前と同様にVT1及びVT2が供給されるが、VT1がサーバーXのユーザ・ドメインに置かれ、一方、VT2がサーバーYのユーザ・ドメインに置かれる。
【0084】
もし、代りに、Yがミラーされた仮想ターゲットMを要求すると、VT1及びVT2が仮想ターゲットMのメンバーとして生成される。VT1及びVT2はスイッチのノー・ドメイン中に置かれる。しかし、図10dに示すように、MはYにアクセス可能とされる。Mのメンバーとして、VT1及びVT2は独立にはアクセス可能ではない。
【0085】
本発明のいくつかの実施の形態では、1つのスイッチへ結合された装置と仮想ターゲットがイニシエーターにアクセス可能であるだけでなく、別のスイッチに供給された仮想ターゲットも同様にアクセス可能である。図11を参照すると、サーバーXがスイッチAに結合され、そしてサーバーYがスイッチBに結合されている。VT1がスイッチA中のサーバーXのドメインの一部として供給され、VT2がスイッチB中のサーバーYのドメインの一部として供給される。さらに、スイッチBがスイッチAへのイニシエーターとして供給され、スイッチAがスイッチBへのイニシエーターとして供給される。このようにして、スイッチAはスイッチBを経由してVT2にアクセスでき、スイッチBはスイッチAを経由してVT1にアクセスできる。従って、スイッチBを経由してアクセスされるためここではVT1’として呼ばれるVT1をサーバーYの領域中に含むことができ、ここではVT2’として呼ばれるVT2をサーバーYの領域中に含むことができる(物理的装置のLUは一時に1つのプールのみに属することができるが、仮想ターゲットは一時に1つのドメインよりも多くに属することができる)。XがVT2にアクセスする時、スイッチBはスイッチAをイニシエーターとして見る。同様に、YがVT1にアクセスする時、スイッチAはスイッチBをイニシエーターとして見る。1つの実施の形態では、管理者はスイッチBの選択された資源を他のスイッチ、例えば、スイッチA、又はその逆、に利用可能としてもよい。
【0086】
SLAの定義
本発明の1つの実施の形態では、イニシエーターによる仮想ターゲットへのアクセスが、ユーザにより選択されたQoSポリシーがその一部であるSLAに従って提供される。以下の表6に1つの実施の形態でユーザによりSLAのために選択できるいくつかのパラメータの例が示される。
【0087】
表4
Figure 2005505035
【0088】
ユーザがSLAと一致する時、ユーザはサービスの品質(QoS)ポリシーも選択する。上述したように、1つの実施の形態では、QoSポリシーは一般的に仮想ターゲット(供給されるような)、イニシエーター接続(供給されるような)、及びユーザ・ドメインにより定義される。従って、上の表4を再び参照し、表中の最初の3つの項目、「イニシエーターのID」、「仮想ターゲットのID」及び「ユーザ・ドメインのID」は、これらの項目が供給されるとイニシエーター接続及び仮想ターゲットの属性が定義されるため、本質的にQoSポリシーを記述する。例えば、イニシエーター接続のための最小及び最大帯域幅は、既に識別されている(表2及び3を参照)。ユーザ・ドメインはポリシーの定義を補助する。例えば、イニシエーター接続又は仮想ターゲット接続がより遅いかどうかを決定し、そして、QoSを2つの内のより遅い方へ強制する。もちろん、上述したように、ユーザ・ドメインは全ての実施の形態で必要でないであろう。同様に、他の実施の形態は上の表4に示されたものより多い、少ない、又は異なるパラメータを使用してSLAを定義してよい。
【0089】
図12
図12は、1つの実施の形態で、QoSを提供できるように、仮想ターゲットと接続を供給するステップを要約する。図示されるように、本発明の1つの実施の形態によると、スイッチは、ステップ1202で、スイッチと関連した物理的装置の特性を発見して決定する。そして、スイッチは、ステップ1204で、これらの装置を分類して、これらの装置を特定の記憶プールに関連付ける。スイッチは、ステップ1208で、イニシエーター接続のための情報を受信して、ステップ1210で、接続を供給し、SCCデータベース中にオブジェクトを生成する。また、スイッチは、ステップ1212で、仮想ターゲットのためのパラメータを受信して、ステップ1214で、これらのパラメータに従い仮想ターゲットを供給し、もし、資源が利用可能ならば、SCCデータベース内にオブジェクトを生成する。ステップ1208−1214は、どんな順番でも実行でき、図12に示された順番は例示のみである。ステップ1216で、仮想ターゲットが供給された後、ユーザ・ドメインが生成されて、仮想ターゲットがユーザ・ドメインに置かれるか、又は、仮想ターゲットは既存のユーザ・ドメイン中に置かれる。また、ユーザは前に供給された仮想ターゲットにアクセスを試みることができる(従って、ステップ1214は全ての接続については必要ではないであろう)。最後に、ステップ1218で、本発明の実施の形態によると、スイッチは、SLA/QoSパラメータを受信する。
【0090】
オブジェクト
上述したように、各仮想ターゲット、各イニシエーター接続、及び各物理的装置は、それぞれのエンティテイについてオブジェクト中に含まれた情報によりSCCデータベース内で識別される。各仮想ターゲット・オブジェクト及び物理的ターゲット・オブジェクトは、それを構成するLU又はエクステントのリストを含む。仮想ターゲット・オブジェクトの一例は、本発明の1つの実施の形態では、次の情報を含む。
【0091】
・エンティテイ・タイプ
・エンティテイ識別子
・IPアドレス管理
・時間スタンプ及びフラグ
・ポート
・ドメイン情報
・SCNビットマップ
・容量と質問情報
・エクステントの数
・エクステントのリスト
・エクステント・ロケーター
・仮想モード・ページ
・サービスの品質のポリシー(例えば、表4の最初の3つの項目)
・統計−使用、エラー、及び特性データ
・SLA識別子
物理的ターゲット(又は、LU)オブジェクトは同様な情報を含んでよい。
【0092】
オブジェクト中、「エンティテイ・タイプ」はエンティテイが仮想ターゲット又は物理的ターゲットかどうかを識別する。「エンティテイ識別子」は、1つの実施の形態では、WWUIであり、いくつかの実施の形態では、ユーザにより生成される。「IPアドレス管理」は、エンティテイ、例えば、管理ステーションがそれにより構成される装置のアドレスを示す。例えば、仮想ターゲットは、本発明の実施の形態ではSCCを通じてアクセスされる管理ステーションにより構成される。
【0093】
「時間スタンプ及びフラグ」は仮想ターゲット又は他のエンティテイが生成され又は変更された時間などの事象を追跡するのに使用される。フラグは、仮想ターゲット中のデータのコピーなど、進行中の事象又はさまざまなサービスを指示するために使用される。「ポート」は、それを通じてLUがアクセスできるポートのリストを含み、ポート名とラインカード数、TCP/IPアドレス又はファイバ・チャンネル24ビット・アドレス、及び、ポートがエンティテイのための一次的又は二次的ポートであるかどうかに関する情報を含む。
【0094】
「ドメイン情報」は仮想ターゲット又はエンティテイが属する記憶ドメイン又はプールを含む。「SCNビットマップ」は仮想ターゲットのためのシステム変更通知を指示する。「容量と質問情報」は仮想又は物理的ターゲットがどれだけ大きいかを指示し、及び、装置ベンダーにより通常提供される質問情報を含む。例えば、物理的装置についての質問情報はしばしばその製造者を識別する。仮想ターゲットについての質問情報はしばしばその仮想ターゲットを生成したスイッチを識別する。
【0095】
物理的装置の各LUは、仮想ターゲットを形成するために使用されるエクステントと呼ばれる記憶空間の隣接した1つ又は複数の部分からなる。従って、「エクステントの数」はどれだけの数のエクステントが仮想ターゲットを形成するかを識別する。「エクステントのリスト」は、各エクステントを1つの実施の形態ではオフセット及び大きさにより識別する。例えば、3つのエクステントからなる10GB仮想ターゲットは、表5に示すように「エクステントのリスト」内でエクステントを識別してよい。
【0096】
表5
Figure 2005505035
【0097】
「エクステント・ロケーター」は、正確にエクステントがどこに位置するか、すなわち、どの物理的装置上にあるかを識別する。例えば、上記の10GB、3エクステント仮想ターゲットは以下のエクステント・ロケーターを持つてもよい。
【0098】
表6
Figure 2005505035
【0099】
表5及び表6の両方を使用したこの例では、仮想ターゲットの第1エクステントは、オフセット5GB(表6)で開始して2GB(表5)まで延びる物理的装置2(表6)にマップされていると決定できる。第2エクステント(表5)は、オフセット3GB(表6)で開始して5GB(表5)まで延びる物理的装置1(表6)にマップされている。最後に、第3エクステントは、オフセット15GB(表6)で開始して3GB(表5)まで延びる物理的装置3(表6)にマップされている。
【0100】
もし、いくつかの実施の形態で、仮想ターゲットがミラーされると、ミラーされた仮想ターゲットの各メンバーは、エクステント・ロケーターは異なるが、同一のエクステント・リストを持つ。
【0101】
「仮想モードページ」は、当業者には理解されるように、SCSI命令中にしばしば見られるモードページを識別する。この情報はブロック転送大きさ、直接データ支援、又はアプリケーション・ソフトウェアがSCSIモードページ命令により設定できそして検索できるどんな独特な情報を含む。
【0102】
「サービスの品質のポリシー」は、仮想ターゲットのサービスの特性を決定し、仮想ターゲットが供給される時に選択される。1つの実施の形態では、サービスの品質のポリシーは、表4の最初の3つの項目中に見られる識別子を使用して定義される。
【0103】
「統計」は、本発明の1つの実施の形態ではスイッチにより仮想ターゲットの実行時に収集される。これらは、本発明の1つの実施の形態では、使用、エラー。及び性能データを含み、以下にさらに説明される。
「SLA識別子」は、SLAに関する情報についてのSLAオブジェクトを識別する。
【0104】
統計
本発明の実施の形態によるスイッチは統計も収集する。1つの実施の形態では、1つのイニシエーターから1つの仮想ターゲットへの各接続に対して、以下の情報がイニシエーターに接続するラインカードのSPUにより収集される。
【0105】
1.全読み取りアクセス(読み取り要求数)
2.蓄積された読み取り転送バイト(記憶から読み取られた全バイト数)
3.蓄積された読み取り応答時間(要求の受け取りから応答を得るまでの時間)
4.全書込みアクセス(書込み要求数)
5.蓄積された書込み転送バイト
6.蓄積された書込み応答時間
7.蓄積された回復可能エラー
8.蓄積された回復不可能エラー
【0106】
各ラインカード上のCPUは、周期的にSPUから統計を要求する。SPUはデータを戻すことにより応答する。そして、SPUはデータをゼロにリセットして収集を開始する。
【0107】
収集されたデータに基づいて、CPUは以下の統計を維持する。
1.平均読み取りアクセス速度
2.最大読み取りアクセス速度
3.平均読み取り転送速度
4.最大読み取り転送速度
5.最小読み取り応答時間
6.平均読み取り応答時間
7.最大読み取り応答時間
8.平均書込みアクセス速度
9.最大書込みアクセス速度
10.平均書込み転送速度
11.最大書込み転送速度
12.最小書込み応答時間
13.平均書込み応答時間
14.最大書込み応答時間
15.十億の要求当たりの回復可能エラー
16.十億の要求当たりの回復不可能エラー
【0108】
1つの実施の形態ではある所定の時間間隔後に、CPUはSCCへ統計を転送して、関連VTD(SPU内に記憶されている)を更新する。別の実施の形態では、SCCはCPUから統計を要求し、CPUはそれをSCCへ提供する。いくつかの実施の形態では、SCCはまた、データが正確で過剰に蓄積されないように、その統計を周期的、例えば、週単位でリセットする。
【0109】
QoSの実行
1つの実施の形態では、イニシエーター接続帯域幅の最小パーセンテイジは、QoSにより保証される。従って、このような実施の形態で、複数のイニシエーターが単一のポート上で供給される時、全てのイニシエーターの全ての最小帯域幅の合計は100%に等しいか又はそれより少なければならない。対照的に、最大パーセンテイジは、同じ接続上で他の競合するユーザが存在しない時に接続の可能な使用を与える。従って、全てのイニシエーターの帯域幅の最大パーセンテイジの和は、接続の帯域幅100%を超えることができる。この場合、定義されたスイッチング優先度(表2参照)が、どのイニシエーターが予定の最初を獲得するかを決定する。
【0110】
従来の接続ネットワークでは(記憶ネットワークとは反対に)、QoSはユーザが支払った接続のデータ帯域幅のパーセンテイジを獲得することを保証するために使用される。それはオーディオ及びビデオなどの時間敏感データが、送信前に予約されたデータ帯域幅を交渉するか又は時間敏感送信を渋滞した状況でより高い優先度を与えるかのいずれかにより、許容できる中断のみを経験することを可能にする。QoSは、パケットを落とす出費によってスイッチング・トラフイックを優先付けることでさえ実行される。
【0111】
しかし、要求が1つ又は複数のパケットを含むことができる従来のネットワーク通信システムとは異なり、記憶システムの要求を落とすことは許容できない。1つの実施の形態では、要求が完了するまで、イニシエーターからターゲットへ送受信される全てのパケットを含む。例えば、iSCSI命令PDU、iSCSIR2T、iSCSI書込みデータPDU、及びiSCSI応答PDUは、単一の要求を形成する。本発明の実施の形態による記憶スイッチに対しては、1つの実施の形態では、データ帯域幅が秒当たりの要求数に要求の平均転送大きさを掛算して計算される。例えば、秒当たり1000要求で、平均転送大きさが8KBの場合、記憶装置の帯域幅は、8MB/秒(又は、80Mb/秒)である。しかし、スイッチは要求の平均転送大きさの制御を持たないため、記憶アクセスについてのQoSを実行することは秒当たり同時に許容される要求数を制御することになる。従って、もし、イニシエーターから多すぎる要求が送信されると、同時的要求の数は減少されなければならない。1つの実施の形態では、最悪のケースでは、一時に1つの要求のみがイニシエーターから送られることができる。
【0112】
仮想ターゲットは、最大数の同時的要求を支援する。複数の仮想ターゲットをアクセスするイニシエーターは、それがアクセスしている全ての仮想ターゲットについての要求の最大数の和に等しい要求の最大数を送信できる。しかし、複数のイニシエーターが1つ又は複数の仮想ターゲットを共有する時、利用可能な要求の最大数は、帯域幅の最小パーセンテイジのそれぞれのQoSパラメータに従って比例配分されて、イニシエーター間で共有される。例えば、もし、2つのイニシエーターが100の同時的要求を収容できる仮想ターゲットへのアクセスを共有していて、そして、イニシエーター1が帯域幅の最小の70%を得て、イニシエーター2が帯域幅の最小の30%を得ている場合、最初は、イニシエーター1は70要求を送信でき、イニシエーター2は30要求を送信できる。しかし、各イニシエーターはそれ自身の要求大きさを持つから、大きな要求大きさはより大きな帯域幅を消費して、より小さな転送大きさの他のイニシエーターを締め出す。従って、以下に説明するように、1つの実施の形態では、帯域幅の範囲を保証するために各イニシエーターによる可能な要求の調節が実行される。
【0113】
入場及び出場ラインカード内のトラフイック管理(TM)608(図6)は、異なる接続の転送帯域幅を監視する。また、TMは、QoSパラメータに基づいて配達を予定する。従って、TMは各共有された接続がその最小帯域幅を得て、最大帯域幅により制限されることを保証する。換言すると、TMは各接続が指定された範囲内にあることを保証する。そのようにするため、1つの実施の形態では、パケットがTMバッフア612内で蓄積される時、このような蓄積はイニシエーターがその限界に到達したことを指示する。TMは、違反したイニシエーターにその接続を遅くするように指示する制御メッセージをSPUへ送信する。このようなメッセージを受信した後、SPUは違反したイニシエーターへ許容される要求の数を減らして、一方、より少ない持分を受け取っているイニシエーターへ許容される要求の数を増加する。1つの実施の形態では、サーバーへの利用可能な要求の数の通知は、iSCSIPDU中のMaxCmdSNフィールドで行われる。
【0114】
例えば、イニシエーターA及びイニシエーターBの両方が、それらの最小帯域幅50%として共有されたイニシエーター接続を持つ。100KBの転送大きさを使用して、イニシエーターAは秒当たり800要求を送信し、よって、接続上で秒当たり80MBの帯域幅を得ている。転送大きさ4Kを使用して、イニシエーターBは秒当たり2000要求を送信するが、たった秒当たり8MBの帯域幅を得る。従って、もし、イニシエーターAに許された最大帯域幅が秒当たり70MBである場合、スイッチは秒当たり70MBを得るためにイニシエーターAからの要求数を秒当たり700の要求に減少しなければならない。従って、入場トラフイック・マネージャ608iは、入場SPUに、イニシエーターAがその最大を超過して、パケットがバッフア612iに蓄積していることを報告する。SPUは、そのメッセージを受け取ると、Aへの可能な要求の数を減少してそしてBへのそれらを増加する。よって、イニシエーターBはより多くの要求を接続上に送信できる。イニシエーターがその最小パーセンテイジ帯域幅に到達してもその可能な要求の使用を最大化しない時、調節は必要でないことに注意する。さらに、イニシエーターBが現在、接続の50%を要求していないため、イニシエーターAはその最大の可能な帯域幅まで使用することが自由である(しかし、超過しない)。
【0115】
同様に、もし、2つの異なる接続上の2つのイニシエーターが単一の仮想ターゲットを共有している場合、各イニシエーターに対して比例分割された要求数は、出場ラインカード上のTM608eが2つのイニシエーター間の不当な帯域幅の使用を検知する時、調節される。それはこのような不当な帯域幅使用を、違反したイニシエーターがパケットをバッフア612eに蓄積する時に発見する。
【0116】
接続が共有されていないで、物理的記憶装置自身がビジーとなって渋滞を発生した時、出場TM608eはPPUにパケットがバッフア612eに蓄積していることを知らせる。再び、SPUはイニシエーターを遅くするために、可能な要求の数を減少する。
【0117】
また、スイッチはイニシエーターと記憶装置との間の帯域幅を一致する。例えば、最小100%の1Gb接続を持つイニシエーターを支援するため、他の仮想ターゲットは記憶接続上に割当てることができない。しかし、イニシエーターが接続の50%帯域幅のみを要求する時、残りの50%は別の仮想ターゲットに割当てることができる。
【0118】
最後に、他の全てが等しい時、接続の優先度が、どの命令がラインカードのスイッチ・トラフイック・マネージャにより最初に配達されかを決定する。
以下の表7が、1つの実施の形態についてここで説明されたQoS実行を要約する。
【0119】
表7
Figure 2005505035
【0120】
第1の状態において、イニシエーター入場ポートは共有されずそしてターゲット出場ポートは共有されない場合、渋滞はしばしばビジーな物理的ターゲット装置により発生されて一般に出場バッフア閾値が超過する時に検出される(出場バッフアは許容ポイント超えてバックアップされる)。従って、適当な動作はイニシエーターからの可能な要求数を減少することである。
【0121】
第2の状態において、共有されたイニシエーター入場ポートは、ターゲット出場ポートが共有されないように、異なるポート上の異なるターゲットにアクセスするイニシエーターにより共有される。イニシエーターの1つにより使用される過剰な帯域幅は、閾値が超過されたかどうかを決定することにより入場バッフア内で検出されて、バッフアが許容ポイントを超えてバックアップするようにする。適当な動作は、違反イニシエーターからの可能な要求数を減少することである。
【0122】
第3の状態において、イニシエーター入場ポートは共有されないが、ターゲット出場ポートは共有されて、同じターゲットが異なるポートから異なるイニシエーターによりアクセスされることを指示する。イニシエーターの1つによる過剰な要求数によって発生する過剰な帯域幅の使用は、出場バッフア内で検出される。適当な動作は、異なるイニシエーターからの可能な要求数を再分配することである。例えば、1つのイニシエーターの可能な要求数を減少し、一方、他のイニシエーターの要求数を増加する。
【0123】
第4の状態において、イニシエーター入場ポートは共有されないが、ターゲット出場ポートは共有される。しかし、この場合、異なるターゲットは異なるイニシエーターにより同じ出場ポート上でアクセスされる。このような場合、過剰な帯域幅が各ターゲットが接続帯域幅のパーセンテイジを与えられている出場バッフア内で検出される。このような場合で取るべき適当な動作は、違反イニシエーターへの可能な要求数を減少することである。
【0124】
最後に、第5の状態は共有されたイニシエーター入場ポート及び共有されたターゲット出場ポートを示す。このような状態では、二段階決定が存在する。第1は各仮想ターゲットが帯域幅のその割当てられたパーセンテイジを獲得することを保証し、そして、第2に異なるイニシエーターへ可能な要求数を比例配分することである。このような決定はバッフア閾値が超過したかどうか見ることにより、入場及び出場バッフアの両方で行われる。適当な動作は、上記の4つの状態で行われたように各仮想ターゲットを別個に取り扱い、必要により要求数を減少することである。
理解されるように、表7は説明のためであり、別の実施の形態では、QoSを実行するために別の動作を行うことができ、そして上述にない他の状態が発生できる。
【0125】
負荷平衡
1つの実施の形態では、負荷平衡が使用され、ターゲット装置への複数の経路が利用可能な時、より速くターゲット装置に到達するために経路が動的に選択されることにより発生する。負荷平衡は、スイッチ内の各ポート上で、各要求に対して、各ポート上でのSPU処理パワーを使用することにより動的に実行される(固定された時間間隔で、静的にするのとは反対に)。
【0126】
フェイルオーバーは負荷平衡の特別な場合であり、本発明のいくつかの実施の形態で使用される。フェイルオーバーはミラーされたターゲットの1つのメンバーが利用不可能になった時、又は、複数の経路によりアクセス可能なターゲットへの1つの経路が使用不可能になった時に発生し、いずれの場合、他のメンバーがアクセスされるか又は他の経路が利用される。
【0127】
本発明の実施の形態によるスイッチにおいて、スイッチは負荷平衡に関して2つの異なるタイプの動作を実行する。
【0128】
1.図13bを参照すると、もし、仮想ターゲットがミラーされている場合、スイッチはイニシエーターの読出し要求を、最短の平均応答時間を持つミラーされた仮想ターゲットのメンバーを選択することにより、ミラーされたメンバーの1つへ送る。
【0129】
2.図13aを参照すると、もし、LUへ複数の経路が存在する場合、スイッチはLUへの要求を最短の平均応答時間を持つ経路に送信する。しかし、1つの実施の形態では、この負荷平衡は、他の実施の形態ではこのような要件は持たないが、複数の経路がターゲットLUから同じSPUへ接続されている時にのみ、実行される。
【0130】
いくつかの実施の形態では、スイッチはまた、「通過」構成を支援する。このような実施の形態では、仮想ターゲットは物理的ターゲット自身であり、そして全ての命令は解釈無しに、例えば、仮想化又は翻訳無しに、スイッチを「通過」する。このような実施の形態では、全ての負荷平衡機能はサーバー自身により処理される。
【0131】
さらに詳細には、負荷平衡について、上述したように収集された統計を使用して、本発明によるスイッチは、ミラーされた仮想ターゲットの各メンバーの応答時間を含む、各ターゲットの平均応答時間を追跡する。関連する統計は各VTDに記憶されて、CPUにより定期的に更新される。読取り操作の際、SPU(VTDを参照する)は最小の平均応答時間を持つ経路を選択してその経路上に要求を転送するか、又は、それは最小の平均応答時間を持つミラーされたメンバーを選択してそのメンバーへ要求を転送する。ミラーされたターゲットでは、書込みはミラーされた仮想ターゲットの全てのメンバーに対して行われるから、書込み操作に対してミラーされたメンバー間の選択は行われないことに注意する。1つの経路が他の経路に対して明確な利益がない時、又は、1つのミラーされたメンバーが他の経路に対して明確な利益がない時、命令は交互にさまざまな経路/メンバーへ送られる。
【0132】
本発明の1つの実施の形態では、複数の同時的接続はiSCSI装置に対してのみ使用される。ファイバー・チャンネルは現在、このような複数の同時的接続を支援しない。しかし、他のプロトコルを使用する他の実施の形態もまた複数同時接続を支援する。
【0133】
上述の特定の実施の形態は本発明の説明の目的ためのみであり、さまざまな修正が本発明の精神と範囲から逸脱することなく当業者にできる。従って、本発明の範囲は特許請求の範囲のみにより限定される。
【図面の簡単な説明】
【0134】
【図1】従来技術システムによるSANの概略的な機能ブロック図。
【図2】本発明の1つの実施の形態による記憶スイッチを使用するSANシステムの概略的な機能ブロック図。
【図3】本発明の別の実施の形態による記憶スイッチを使用するシステムの概略的な機能ブロック図。
【図4】本発明のさらに別の実施の形態による記憶スイッチを使用するシステムの概略的な機能ブロック図。
【図5】本発明の実施の形態による記憶スイッチの概略的な機能ブロック図。
【図6】本発明の実施の形態による記憶スイッチに使用されるラインカードの概略的な機能ブロック図。
【図7a】本発明の実施の形態による記憶スイッチに使用される仮想ターゲット記述子の概略的なブロック図。
【図7b】本発明の実施の形態による記憶スイッチに使用される物理的ターゲット記述子の概略的なブロック図。
【図8】記憶プールを示す概略的なブロック図。
【図9】サーバーにより「見られる」仮想ターゲットを示す概略的な論理ブロック図。
【図10a】物理的装置の例示的な記憶プールを示す概略的なブロック図。
【図10b】さまざまな例示的仮想ターゲット記憶プールを示す概略的なブロック図。
【図10c】さまざまな例示的仮想ターゲット記憶プールを示す概略的なブロック図。
【図10d】さまざまな例示的仮想ターゲット記憶プールを示す概略的なブロック図。
【図11】第2スイッチに接続された記憶装置の第1スイッチからのアクセス可能性を示す概略的なブロック図。
【図12】本発明の実施の形態によるステップを示すフロー図。
【図13a】負荷平衡を示す概略的なブロック図。
【図13b】負荷平衡を示す概略的なブロック図。

Claims (50)

  1. 記憶ネットワーク中のスイッチにより使用される方法であって、
    1つ又は複数の論理ユニット(LU)を含み、スイッチと通信する、物理的装置の性能特性に関する情報を自動的に獲得し、
    性能特性に基づき、物理的装置に対してLUを記憶プールに割当てることを含む方法。
  2. 性能特性に基づいたポリシーに従いLUを分類することをさらに含む請求項1に記載の方法。
  3. 性能特性に基づいたポリシーに従いLUを分類することをさらに含み、記憶プールがポリーにより定義されている請求項1に記載の方法。
  4. 記憶プール中のLUを使用して仮想ターゲットを供給することをさらに含む請求項1に記載の方法。
  5. 記憶プール中のLUを使用して仮想ターゲットを供給することをさらに含み、この仮想ターゲットがユーザの選択した基準に従って供給される請求項1に記載の方法。
  6. 各LUに対して、LUに関する情報を含んだLUオブジェクトをスイッチ内に記憶することを含む請求項1に記載の方法。
  7. 記憶プールがLUのリストにより定義されている請求項1に記載の方法。
  8. 物理的装置がスイッチと通信する状態に置かれる時、物理的装置を自動的に発見することをさらに含む請求項1に記載の方法。
  9. 記憶ネットワーク内のスイッチにより使用される方法であって、
    スイッチと通信する複数の物理的装置の性能特性について情報を自動的に獲得し、各物理的装置は1つ又は複数の論理的ユニット(LU)を含み、
    各物理的装置の性能特性に基づき、複数のポリシーのそれぞれに従いそれぞれのLUを分類して、各物理的装置のそれぞれについてLUを複数の記憶プールのそれぞれに割当て、
    選択された記憶プールに割当てられたLUを使用して仮想ターゲットを供給することを含む方法。
  10. それぞれの記憶プールの各々がそれぞれのポリシーにより定義される請求項9に記載の方法。
  11. 仮想ターゲットがユーザ選択基準に従い供給される請求項9に記載の方法。
  12. LUに関する情報を含むLUオブジェクトを各LUについてスイッチ内に記憶することを含む請求項9に記載の方法。
  13. それぞれの記憶プールの各々がそれに割当てられたそれぞれのLUのリストにより定義される請求項9に記載の方法。
  14. それぞれの記憶プールの各々は、それぞれのポリシーにより定義され、そしてそれぞれはポリシーはそれぞれの記憶プールに割当てられたLUの性能特性を包含する請求項9に記載の方法。
  15. 各物理的装置がスイッチと通信状態に置かれた時、自動的に複数の物理的装置の各々を発見することをさらに含む請求項9に記載の方法。
  16. 仮想ターゲットをユーザ・ドメインと関連付けることをさらに含む請求項9に記載の方法。
  17. 仮想ターゲットをユーザ・ドメインと関連付けることをさらに含み、ユーザ・ドメインは第2スイッチにより供給される第2仮想ターゲットと関連付けられている請求項9に記載の方法。
  18. 記憶ネットワーク内のスイッチにより使用される方法であって、
    ユーザから仮想ターゲットについての要求を受け取り、この要求は仮想ターゲットの大きさと仮想ターゲットがそこから供給される記憶プールとを含み、
    指定された大きさを満たす記憶プールに割当てられた記憶資源が利用可能であるかどうか自動的に決定し、
    もし、記憶資源が利用可能であるならば、仮想ターゲットを供給する、
    ことを含む方法。
  19. 記憶資源が少なくとも論理ユニット(LU)の部分である請求項18に記載の方法。
  20. 記憶プールがポリシーにより定義されて、そしてプールに割当てられた記憶資源の全てがポリシーにより包含される請求項18に記載の方法。
  21. 記憶資源が記憶プールへユーザの介入無しに割当てられる請求項20に記載の方法。
  22. 要求が仮想ターゲットの所望の利用可能性をさらに含み、仮想ターゲットを供給することが所望の利用可能性を持つ仮想ターゲットを供給することをさらに含む請求項18に記載の方法。
  23. イニシエーターから仮想ターゲットへのイニシエーター接続を供給することをさらに含む請求項18に記載の方法。
  24. 仮想ターゲットをユーザ・ドメインと関連付けることをさらに含む請求項18記載の方法。
  25. 仮想ターゲットをユーザ・ドメインと関連付けることをさらに含み、そしてユーザ・ドメインが第2スイッチにより供給された第2仮想ターゲットと関連付けられている請求項18に記載の方法。
  26. 記憶ネットワーク中のスイッチにより使用される方法であって、
    イニシエーターから記憶ネットワーク内の仮想ターゲットに接続するための記憶アクセスについてのサービスの品質ポリシーを生成することを含み、
    指定されたパラメータの第1組に従い仮想ターゲットを供給し、
    指定されたパラメータの第2組に従いイニシエーター接続を供給することを含む方法。
  27. 生成することが、仮想ターゲットをイニシエーターによりアクセス可能なユーザ・ドメインと関連付けることをさらに含む請求項26に記載の方法。
  28. 仮想ターゲットを供給することが、記憶プールからの資源を使用することを含み、そして資源はポリシーにより分類されていて、記憶プールが接続の選択された組にアクセス可能である請求項26に記載の方法。
  29. 記憶ネットワーク中で使用される方法であって、
    第1スイッチにより、第1スイッチと通信する記憶資源を使用して第1仮想ターゲットを供給し、
    第2スイッチにより、第2スイッチと通信する記憶資源を使用して第2仮想ターゲットを供給し、
    第1仮想ターゲットを第1スイッチと通信するイニシエーターによりアクセス可能なユーザ・ドメインと関連付け、
    第2仮想ターゲットもイニシエーターによりアクセス可能にするため、第2仮想ターゲットをユーザ・ドメインと関連付けることを含む方法。
  30. 第2仮想ターゲットをユーザ・ドメインと関連付けるステップが、第1スイッチから第2スイッチへイニシエーター接続を供給することを含む請求項29に記載の方法。
  31. 記憶ネットワーク中のスイッチにより使用される方法であって、
    スイッチと通信する複数の物理的装置の各々を自動的に発見し、そして各物理的装置の性能特性に関する情報を取得し、各物理的装置は1つ又は複数の論理ユニット(LU)を含み、
    各物理的装置の性能特性に基づいて、それぞれのLUを複数のポリシーのそれぞれ1つに従い分類し、そしてLUをそれぞれの物理的装置のために複数の記憶プールのそれぞれ1つに割当て、
    仮想ターゲットに対する要求を受け取り、この要求は仮想ターゲットの大きさ及びそこから仮想ターゲットが供給される選択された記憶プールを含み、
    指定された大きさに合った記憶プールに割当てられた記憶資源が利用可能かを決定し、
    記憶資源が利用可能ならば、仮想ターゲットを供給し、
    イニシエーターから仮想ターゲットへ接続するための要求を受け取り、この要求は最小帯域幅を含み、
    接続を供給することを含む方法。
  32. 接続を供給することが、接続に関する情報を記憶することを含む請求項31に記載の方法。
  33. 仮想ターゲットをイニシエーターによりアクセス可能なユーザ・ドメインと関連付けることをさらに含む請求項31に記載の方法。
  34. 記憶ネットワークに使用されるスイッチであって、
    スイッチと通信する複数の物理的装置の性能特性に関する情報を自動的に取得し、各物理的装置は1つ又は複数の論理ユニット(LU)を含み、
    各物理的装置の性能特性に基づいて、LUをそれぞれの物理的装置のために複数の記憶プールのそれぞれ1つに割当てることを含むスイッチ。
  35. 選択された記憶プールに割当てられたLUを使用して仮想ターゲットを供給する手段をさらに含む請求項34に記載のスイッチ。
  36. イニシエーターから仮想ターゲットへのイニシエーター接続を供給する手段をさらに含む請求項35に記載のスイッチ。
  37. 記憶ネットワークに使用されるスイッチであって、
    スイッチと通信する複数の物理的装置の性能特性に関する情報を自動的に取得するユーテイリテイ・プログラムと、そして各物理的装置は1つ又は複数の論理ユニット(LU)を含み、そしてユーテイリテイ・プログラムはLUを各物理的装置に対して各物理的装置の性能特性に基づいて複数の記憶プールのそれぞれ1つに割当てるように構成されていて、
    ユーテイリテイ・プログラムと通信する複数のLUオブジェクトを含むデータベースとを含み、そして各LUオブジェクトはユーテイリテイ・プログラムにより得られた少なくともいくつかの情報を含み、そしてデータベースはそれぞれの記憶プールの各々についての記憶プール・オブジェクトをさらに含み、この記憶プール・オブジェクトはそれぞれの記憶プール内のLUのリストを含む、前記スイッチ。
  38. ユーテイリテイ・プログラムが、複数のポリシーの1つに従い各物理的装置のLUを分類するようにさらに構成されている請求項37に記載のスイッチ。
  39. ユーテイリテイ・プログラムが、物理的装置がスイッチと通信する状態に置かれた時に各物理的装置を自動的に発見するようにさらに構成されている請求項37に記載のスイッチ。
  40. データベースが、複数の仮想ターゲット・オブジェクトをさらに含み、そして各仮想ターゲット・オブジェクトが特定の仮想ターゲットを形成するエクステントを識別するエクステント・オブジェクトのリストを含む請求項37に記載の方法。
  41. データベースが、ユーザ・ドメインに所属する仮想ターゲットのリストを含んだユーザ・ドメイン・オブジェクトをさらに含む請求項37に記載のスイッチ。
  42. 第1スイッチであって、それと通信する1つ又は複数の物理的装置及びそれと通信する1つ又は複数のイニシエーターを有し、各物理的装置は1つ又は複数の論理ユニット(LU)を含む、前記第1スイッチと、
    第2スイッチであって、それと通信する1つ又は複数の物理的装置及びそれと通信する1つ又は複数のイニシエーターを有し、各物理的装置は1つ又は複数の論理ユニット(LU)を含む、前記第2スイッチと、を含み
    前記第1スイッチは、第1仮想ターゲットの記述を含み、第1仮想ターゲットは前記第1スイッチと通信する1つ又は複数の物理的装置のLUを使用して形成され、
    前記第2スイッチは、第2仮想ターゲットの記述を含み、第2仮想ターゲットは前記第2スイッチと通信する1つ又は複数の物理的装置のLUを使用して形成され、
    前記第1スイッチは、ユーザ・ドメインの記述を含み、ユーザ・ドメインは第1仮想ターゲット及び第2仮想ターゲットの両方を含む、
    記憶ネットワーク。
  43. 前記第2スイッチは、第1スイッチから第2スイッチへのイニシエーター接続の記述を含む請求項42に記載の記憶ネットワーク。
  44. 記憶ネットワーク中のスイッチにより実行される時、以下のステップを実行する命令を記憶した機械読取り可能な媒体であって、
    スイッチと通信する複数の物理的装置の性能特性に関する情報を自動的に取得し、各物理的装置は1つ又は複数の論理ユニット(LU)を含むステップと、
    各物理的装置の性能特性に基づいて、それぞれのLUを複数のポリシーのそれぞれ1つに従い分類し、そしてLUをそれぞれの物理的装置のために複数の記憶プールのそれぞれ1つに割当てるステップと、
    選択された記憶プールに割当てられたLUを使用して仮想ターゲットを供給するステップと、
    を含む機械読取り可能な媒体。
  45. 供給するステップを実行する命令が、ユーザが選択した基準に従い仮想ターゲットを供給することを含む請求項44に記載の機械読取り可能な媒体。
  46. 各LUについて、スイッチ内にLUオブジェクトを記憶し、LUオブジェクトはLUに関する情報を含むステップを実行する命令をさらに含む請求項44に記載の機械読取り可能な媒体。
  47. それぞれの記憶プールは、それに割当てられたそれぞれのLUのリストにより定義される請求項44に記載の機械読取り可能な媒体。
  48. それぞれの記憶プールは、それぞれのポリシーにより定義され、そしてそれぞれのポリシーはそれぞれの記憶プールに割当てられたLUの性能特性を包含する請求項44に記載の機械読取り可能な媒体。
  49. 各物理的装置がスイッチと通信する状態に置かれた時、複数の物理的装置の各々を自動的に発見するための命令をさらに含む請求項44に記載の機械読取り可能な媒体。
  50. 仮想ターゲットをユーザ・ドメインと関連付けるための命令をさらに含む請求項44に記載の機械読取り可能な媒体。
JP2003531328A 2001-09-28 2002-09-27 記憶ネットワーク中の記憶資源のプーリング及び供給 Pending JP2005505035A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US32570401P 2001-09-28 2001-09-28
US10/050,974 US6976134B1 (en) 2001-09-28 2002-01-18 Pooling and provisioning storage resources in a storage network
PCT/US2002/030914 WO2003027856A1 (en) 2001-09-28 2002-09-27 Pooling and provisionig storage resources in a storage network

Publications (1)

Publication Number Publication Date
JP2005505035A true JP2005505035A (ja) 2005-02-17

Family

ID=26728915

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003531328A Pending JP2005505035A (ja) 2001-09-28 2002-09-27 記憶ネットワーク中の記憶資源のプーリング及び供給

Country Status (4)

Country Link
US (2) US6976134B1 (ja)
EP (1) EP1438665A4 (ja)
JP (1) JP2005505035A (ja)
WO (1) WO2003027856A1 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006053782A (ja) * 2004-08-12 2006-02-23 Hitachi Ltd ファイバーチャネルスイッチを含むコンピュータシステムの管理方法、管理プログラム及びそのコンピュータシステム
JP2007065712A (ja) * 2005-08-29 2007-03-15 Nippon Telegr & Teleph Corp <Ntt> iSCSI自動接続方法及びシステム
JP2008512959A (ja) * 2004-09-08 2008-04-24 ピボタル ディシジョンズ エルエルシー 光伝送システム内にファイバーチャネルの距離拡張を組み込むための装置および方法
JP2009535681A (ja) * 2006-04-28 2009-10-01 インターナショナル・ビジネス・マシーンズ・コーポレーション ストレージ・デバイス・ポートの選択の最適化
JP2010191989A (ja) * 2010-04-26 2010-09-02 Hitachi Ltd 記憶制御システム及び方法
JP2012079183A (ja) * 2010-10-04 2012-04-19 Fujitsu Ltd ストレージシステムの仮想化制御装置及び制御プログラム
JP5445138B2 (ja) * 2007-12-28 2014-03-19 日本電気株式会社 データ分散格納方法およびデータ分散格納システム
US9495109B2 (en) 2014-02-21 2016-11-15 Fujitsu Limited Storage controller, virtual storage apparatus, and computer readable recording medium having storage control program stored therein

Families Citing this family (180)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7864758B1 (en) * 2001-09-28 2011-01-04 Emc Corporation Virtualization in a storage system
US8868715B2 (en) * 2001-10-15 2014-10-21 Volli Polymer Gmbh Llc Report generation and visualization systems and methods and their use in testing frameworks for determining suitability of a network for target applications
US8543681B2 (en) * 2001-10-15 2013-09-24 Volli Polymer Gmbh Llc Network topology discovery systems and methods
US7290277B1 (en) * 2002-01-24 2007-10-30 Avago Technologies General Ip Pte Ltd Control of authentication data residing in a network device
US7134139B2 (en) * 2002-02-12 2006-11-07 International Business Machines Corporation System and method for authenticating block level cache access on network
US7606167B1 (en) * 2002-04-05 2009-10-20 Cisco Technology, Inc. Apparatus and method for defining a static fibre channel fabric
US7433952B1 (en) 2002-04-22 2008-10-07 Cisco Technology, Inc. System and method for interconnecting a storage area network
JP4704659B2 (ja) 2002-04-26 2011-06-15 株式会社日立製作所 記憶装置システムの制御方法および記憶制御装置
US20060013222A1 (en) * 2002-06-28 2006-01-19 Brocade Communications Systems, Inc. Apparatus and method for internet protocol data processing in a storage processing device
JP3956786B2 (ja) * 2002-07-09 2007-08-08 株式会社日立製作所 記憶装置の帯域制御装置、方法及びプログラム
US7583681B2 (en) 2002-07-30 2009-09-01 Brocade Communications Systems, Inc. Method and apparatus for establishing metazones across dissimilar networks
US7206314B2 (en) * 2002-07-30 2007-04-17 Brocade Communications Systems, Inc. Method and apparatus for transparent communication between a fibre channel network and an infiniband network
JP2004110367A (ja) 2002-09-18 2004-04-08 Hitachi Ltd 記憶装置システムの制御方法、記憶制御装置、および記憶装置システム
US7263593B2 (en) 2002-11-25 2007-08-28 Hitachi, Ltd. Virtualization controller and data transfer control method
US20040122938A1 (en) * 2002-12-19 2004-06-24 Messick Randall E. Method and apparatus for dynamically allocating storage array bandwidth
JP2004220450A (ja) * 2003-01-16 2004-08-05 Hitachi Ltd ストレージ装置、その導入方法、及びその導入プログラム
JP2004259079A (ja) * 2003-02-27 2004-09-16 Hitachi Ltd データ処理システム
US7831736B1 (en) 2003-02-27 2010-11-09 Cisco Technology, Inc. System and method for supporting VLANs in an iSCSI
US20040181707A1 (en) * 2003-03-11 2004-09-16 Hitachi, Ltd. Method and apparatus for seamless management for disaster recovery
US7363382B1 (en) * 2003-03-31 2008-04-22 Cisco Technology, Inc. Apparatus, methods, and articles incorporating multiple path failover driver mechanism
US8560627B2 (en) * 2003-05-23 2013-10-15 Alcatel Lucent Virtual switch for use in fibre channel applications
JP4438457B2 (ja) 2003-05-28 2010-03-24 株式会社日立製作所 記憶領域割当方法、システム及び仮想化装置
JP4278445B2 (ja) 2003-06-18 2009-06-17 株式会社日立製作所 ネットワークシステム及びスイッチ
JP2005018193A (ja) * 2003-06-24 2005-01-20 Hitachi Ltd ディスク装置のインタフェースコマンド制御方法ならびに計算機システム
US7451208B1 (en) 2003-06-28 2008-11-11 Cisco Technology, Inc. Systems and methods for network address failover
JP4383132B2 (ja) * 2003-09-02 2009-12-16 株式会社日立製作所 仮想化制御装置及び計算機システム
US7640316B2 (en) * 2003-09-05 2009-12-29 International Business Machines Corporation Apparatus and method to write information to two virtual tape servers
US7587479B2 (en) * 2003-09-25 2009-09-08 Microsoft Corporation System and method for computing concurrent network connection information
JP4307202B2 (ja) * 2003-09-29 2009-08-05 株式会社日立製作所 記憶システム及び記憶制御装置
US20050071560A1 (en) * 2003-09-30 2005-03-31 International Business Machines Corp. Autonomic block-level hierarchical storage management for storage networks
US20050083960A1 (en) * 2003-10-03 2005-04-21 Nortel Networks Limited Method and apparatus for transporting parcels of data using network elements with network element storage
US20050157730A1 (en) * 2003-10-31 2005-07-21 Grant Robert H. Configuration management for transparent gateways in heterogeneous storage networks
JP4141937B2 (ja) * 2003-11-10 2008-08-27 株式会社日立製作所 データ保管方法、データ保管プログラム、およびコンピュータ読取り可能な記録媒体
JP4319925B2 (ja) * 2004-03-02 2009-08-26 株式会社日立製作所 ストレージネットワークシステムの制御方法及びストレージネットワークシステム
US8335909B2 (en) 2004-04-15 2012-12-18 Raytheon Company Coupling processors to each other for high performance computing (HPC)
US8336040B2 (en) 2004-04-15 2012-12-18 Raytheon Company System and method for topology-aware job scheduling and backfilling in an HPC environment
US7555613B2 (en) * 2004-05-11 2009-06-30 Broadcom Corporation Storage access prioritization using a data storage device
US20050262322A1 (en) * 2004-05-21 2005-11-24 Kenneth Ma System and method of replacing a data storage drive
US20050235336A1 (en) * 2004-04-15 2005-10-20 Kenneth Ma Data storage system and method that supports personal video recorder functionality
US9178784B2 (en) 2004-04-15 2015-11-03 Raytheon Company System and method for cluster management based on HPC architecture
US20050231849A1 (en) * 2004-04-15 2005-10-20 Viresh Rustagi Graphical user interface for hard disk drive management in a data storage system
US20050235364A1 (en) * 2004-04-15 2005-10-20 Wilson Christopher S Authentication mechanism permitting access to data stored in a data processing device
US20050235283A1 (en) * 2004-04-15 2005-10-20 Wilson Christopher S Automatic setup of parameters in networked devices
US7681007B2 (en) 2004-04-15 2010-03-16 Broadcom Corporation Automatic expansion of hard disk drive capacity in a storage device
US7124143B2 (en) * 2004-05-10 2006-10-17 Hitachi, Ltd. Data migration in storage system
JP4646574B2 (ja) 2004-08-30 2011-03-09 株式会社日立製作所 データ処理システム
JP4612373B2 (ja) * 2004-09-13 2011-01-12 株式会社日立製作所 記憶装置及び記憶装置を用いた情報システム
US7434090B2 (en) * 2004-09-30 2008-10-07 Copan System, Inc. Method and apparatus for just in time RAID spare drive pool management
US20060075199A1 (en) * 2004-10-06 2006-04-06 Mahesh Kallahalla Method of providing storage to virtual computer cluster within shared computing environment
US7620984B2 (en) * 2004-10-06 2009-11-17 Hewlett-Packard Development Company, L.P. Method of managing computer system
JP2006127028A (ja) 2004-10-27 2006-05-18 Hitachi Ltd 記憶システム及び記憶制御装置
US7409519B2 (en) * 2004-11-12 2008-08-05 International Business Machines Corporation Synchronizing logical systems
US20060123285A1 (en) * 2004-11-16 2006-06-08 De Araujo Daniel F Dynamic threshold scaling in a communication system
US20060112155A1 (en) * 2004-11-24 2006-05-25 Agami Systems, Inc. System and method for managing quality of service for a storage system
EP2296085B1 (en) * 2004-11-30 2013-05-15 Fujitsu Limited Data storage system and capacity changing method
US20060230136A1 (en) * 2005-04-12 2006-10-12 Kenneth Ma Intelligent auto-archiving
US7502964B2 (en) * 2005-04-29 2009-03-10 Network Appliance, Inc. Selecting and using storage devices based on functional tests and probable time to failure
JP5057656B2 (ja) 2005-05-24 2012-10-24 株式会社日立製作所 ストレージシステム及びストレージシステムの運用方法
US20070079097A1 (en) * 2005-09-30 2007-04-05 Emulex Design & Manufacturing Corporation Automated logical unit creation and assignment for storage networks
JP4806556B2 (ja) 2005-10-04 2011-11-02 株式会社日立製作所 ストレージシステム及び構成変更方法
US20070083482A1 (en) * 2005-10-08 2007-04-12 Unmesh Rathi Multiple quality of service file system
US9002795B2 (en) 2006-01-26 2015-04-07 Seagate Technology Llc Object-based data storage device
US9953097B2 (en) * 2006-03-16 2018-04-24 Ebay Inc. System and method for managing network traffic routing
JP4504329B2 (ja) * 2006-03-31 2010-07-14 株式会社東芝 ストレージシステム、当該ストレージシステムに用いられるストレージ及びアクセス制御方法
US20070233868A1 (en) * 2006-03-31 2007-10-04 Tyrrell John C System and method for intelligent provisioning of storage across a plurality of storage systems
FR2902594A1 (fr) * 2006-06-16 2007-12-21 France Telecom Unite et procede de definition d'une regle de session dans un reseau
US7552280B1 (en) 2006-06-28 2009-06-23 Emc Corporation Asymmetrically interleaving access to redundant storage devices
JP4939154B2 (ja) 2006-09-14 2012-05-23 株式会社日立製作所 ストレージ装置及び構成設定方法
JP2008084094A (ja) * 2006-09-28 2008-04-10 Hitachi Ltd 記憶システム及びその管理方法並びに記憶制御装置
US7783833B2 (en) * 2006-09-28 2010-08-24 Hitachi, Ltd. Storage system, method for managing the same, and storage controller
JP2008112398A (ja) * 2006-10-31 2008-05-15 Hitachi Ltd ストレージシステム及び通信帯域制御方法
US20080148270A1 (en) * 2006-12-15 2008-06-19 International Business Machines Corporation Method and implementation for storage provisioning planning
EP2100224B1 (en) * 2007-01-03 2010-12-22 Raytheon Company Computer storage system
US20080177881A1 (en) * 2007-01-19 2008-07-24 Dell Products, Lp System and Method for Applying Quality of Service (QoS) in iSCSI Through ISNS
US8051419B2 (en) * 2007-02-26 2011-11-01 Inventec Corporation Method of dynamically adjusting number of task request
US8285758B1 (en) 2007-06-30 2012-10-09 Emc Corporation Tiering storage between multiple classes of storage on the same container file system
US7694191B1 (en) 2007-06-30 2010-04-06 Emc Corporation Self healing file system
US7818535B1 (en) 2007-06-30 2010-10-19 Emc Corporation Implicit container per version set
US7631155B1 (en) 2007-06-30 2009-12-08 Emc Corporation Thin provisioning of a file system and an iSCSI LUN through a common mechanism
US8280974B2 (en) * 2007-07-31 2012-10-02 Hewlett-Packard Development Company, L.P. Migrating workloads using networked attached memory
US8819344B1 (en) 2007-08-09 2014-08-26 Emc Corporation Shared storage access load balancing for a large number of hosts
US20090049236A1 (en) * 2007-08-15 2009-02-19 Hitachi, Ltd. System and method for data protection management for network storage
JP2009077044A (ja) * 2007-09-19 2009-04-09 Toshiba Corp 放送受信装置及び方法
US8006111B1 (en) 2007-09-21 2011-08-23 Emc Corporation Intelligent file system based power management for shared storage that migrates groups of files based on inactivity threshold
US7945640B1 (en) * 2007-09-27 2011-05-17 Emc Corporation Methods and apparatus for network provisioning
US8903772B1 (en) 2007-10-25 2014-12-02 Emc Corporation Direct or indirect mapping policy for data blocks of a file in a file system
WO2009122831A1 (ja) * 2008-03-31 2009-10-08 日本電気株式会社 秘匿処理装置、秘匿処理方法、および秘匿処理プログラム
WO2010023052A2 (en) 2008-08-26 2010-03-04 International Business Machines Corporation A method, apparatus and computer program for provisioning a storage volume to a virtual server
US8417895B1 (en) 2008-09-30 2013-04-09 Violin Memory Inc. System for maintaining coherency during offline changes to storage media
US8838850B2 (en) * 2008-11-17 2014-09-16 Violin Memory, Inc. Cluster control protocol
US8442059B1 (en) 2008-09-30 2013-05-14 Gridiron Systems, Inc. Storage proxy with virtual ports configuration
US8214599B2 (en) * 2008-11-04 2012-07-03 Gridiron Systems, Inc. Storage device prefetch system using directed graph clusters
US8775741B1 (en) 2009-01-13 2014-07-08 Violin Memory Inc. Using temporal access patterns for determining prefetch suitability
US8443150B1 (en) 2008-11-04 2013-05-14 Violin Memory Inc. Efficient reloading of data into cache resource
US8214608B2 (en) * 2008-11-04 2012-07-03 Gridiron Systems, Inc. Behavioral monitoring of storage access patterns
US8788758B1 (en) 2008-11-04 2014-07-22 Violin Memory Inc Least profitability used caching scheme
US8285961B2 (en) 2008-11-13 2012-10-09 Grid Iron Systems, Inc. Dynamic performance virtualization for disk access
US8874867B2 (en) * 2008-11-21 2014-10-28 Lsi Corporation Identification and containment of performance hot-spots in virtual volumes
US20100169570A1 (en) * 2008-12-31 2010-07-01 Michael Mesnier Providing differentiated I/O services within a hardware storage controller
US9213721B1 (en) 2009-01-05 2015-12-15 Emc Corporation File server system having tiered storage including solid-state drive primary storage and magnetic disk drive secondary storage
US8028017B2 (en) * 2009-04-16 2011-09-27 International Business Machines Corporation Virtual controllers with a large data center
US8650362B2 (en) 2009-04-17 2014-02-11 Violin Memory Inc. System for increasing utilization of storage media
US8667366B1 (en) 2009-04-17 2014-03-04 Violin Memory, Inc. Efficient use of physical address space for data overflow and validation
US8713252B1 (en) 2009-05-06 2014-04-29 Violin Memory, Inc. Transactional consistency scheme
US8402198B1 (en) 2009-06-03 2013-03-19 Violin Memory, Inc. Mapping engine for a storage device
US9069676B2 (en) 2009-06-03 2015-06-30 Violin Memory, Inc. Mapping engine for a storage device
US8402246B1 (en) 2009-08-28 2013-03-19 Violin Memory, Inc. Alignment adjustment in a tiered storage system
US8073942B2 (en) * 2009-10-20 2011-12-06 Dell Products, Lp System and method for storage discovery in a storage area network using device domains under control of a storage device
US8037345B1 (en) 2010-03-31 2011-10-11 Emc Corporation Deterministic recovery of a file system built on a thinly provisioned logical volume having redundant metadata
US9495119B1 (en) 2010-07-08 2016-11-15 EMC IP Holding Company LLC Static load balancing for file systems in a multipath I/O environment
US8959288B1 (en) 2010-07-29 2015-02-17 Violin Memory, Inc. Identifying invalid cache data
US8832384B1 (en) 2010-07-29 2014-09-09 Violin Memory, Inc. Reassembling abstracted memory accesses for prefetching
US9684712B1 (en) * 2010-09-28 2017-06-20 EMC IP Holding Company LLC Analyzing tenant-specific data
US8972689B1 (en) 2011-02-02 2015-03-03 Violin Memory, Inc. Apparatus, method and system for using real-time performance feedback for modeling and improving access to solid state media
US8635416B1 (en) 2011-03-02 2014-01-21 Violin Memory Inc. Apparatus, method and system for using shadow drives for alternative drive commands
US9319350B2 (en) * 2011-04-21 2016-04-19 Hewlett Packard Enterprise Development Lp Virtual address for virtual port
US10481794B1 (en) * 2011-06-28 2019-11-19 EMC IP Holding Company LLC Determining suitability of storage
US10013281B2 (en) * 2011-06-29 2018-07-03 Microsoft Technology Licensing, Llc Controlling network utilization
WO2013070800A1 (en) 2011-11-07 2013-05-16 Nexgen Storage, Inc. Primary data storage system with quality of service
JP5853819B2 (ja) * 2012-03-29 2016-02-09 富士通株式会社 制御プログラム、制御方法、記憶制御装置および情報処理システム
US9195473B2 (en) * 2012-04-05 2015-11-24 Blackberry Limited Method for sharing an internal storage of a portable electronic device on a host electronic device and an electronic device configured for same
US10061692B1 (en) * 2012-05-10 2018-08-28 EMC IP Holding Company LLC Method and system for automated storage provisioning
US9152637B1 (en) 2012-08-22 2015-10-06 Emc Corporation Just-in time formatting of file system metadata
US9152552B2 (en) * 2012-09-11 2015-10-06 International Business Machines Corporation Securing sensitive information in a network cloud
KR101951908B1 (ko) * 2012-10-18 2019-04-25 한국전자통신연구원 로봇 소프트웨어 컴포넌트를 위한 디바이스 공유 장치 및 방법
US9582218B2 (en) * 2013-01-09 2017-02-28 Cisco Technology, Inc. Serial attached storage drive virtualization
US9110813B2 (en) * 2013-02-14 2015-08-18 Avago Technologies General Ip (Singapore) Pte Ltd Cache load balancing in storage controllers
US9424117B1 (en) 2013-03-15 2016-08-23 Emc Corporation Virtual storage processor failover
US9880773B2 (en) * 2013-03-27 2018-01-30 Vmware, Inc. Non-homogeneous disk abstraction for data oriented applications
WO2014163620A1 (en) * 2013-04-02 2014-10-09 Violin Memory, Inc. System for increasing storage media performance
US9003112B2 (en) * 2013-06-12 2015-04-07 Infinidat Ltd. System, method and a non-transitory computer readable medium for read throtling
US20150032954A1 (en) * 2013-07-24 2015-01-29 Netapp, Inc. Method and system for presenting and managing storage shares
JP6179321B2 (ja) 2013-09-27 2017-08-16 富士通株式会社 ストレージ管理装置、制御方法及び制御プログラム
CA2866073C (en) 2013-10-02 2021-11-30 Evertz Microsystems Ltd. Video router
US9277002B2 (en) * 2014-01-09 2016-03-01 International Business Machines Corporation Physical resource management
JP6273966B2 (ja) 2014-03-27 2018-02-07 富士通株式会社 ストレージ管理装置、性能調整方法及び性能調整プログラム
US10897506B2 (en) 2014-07-02 2021-01-19 Hewlett Packard Enterprise Development Lp Managing port connections
US9806987B2 (en) 2014-07-30 2017-10-31 Futurewei Technologies, Inc. Method and apparatus for reducing response time in information-centric networks
US9763518B2 (en) 2014-08-29 2017-09-19 Cisco Technology, Inc. Systems and methods for damping a storage system
TW201624277A (zh) 2014-12-31 2016-07-01 萬國商業機器公司 協助虛擬機器即時遷移的方法
US9853873B2 (en) * 2015-01-10 2017-12-26 Cisco Technology, Inc. Diagnosis and throughput measurement of fibre channel ports in a storage area network environment
US9900250B2 (en) 2015-03-26 2018-02-20 Cisco Technology, Inc. Scalable handling of BGP route information in VXLAN with EVPN control plane
US9762509B2 (en) * 2015-04-20 2017-09-12 Ge Aviation Systems Llc Apparatus and method of operating a network traffic policing module
US10222986B2 (en) 2015-05-15 2019-03-05 Cisco Technology, Inc. Tenant-level sharding of disks with tenant-specific storage modules to enable policies per tenant in a distributed storage system
US11588783B2 (en) 2015-06-10 2023-02-21 Cisco Technology, Inc. Techniques for implementing IPV6-based distributed storage space
US9892075B2 (en) 2015-12-10 2018-02-13 Cisco Technology, Inc. Policy driven storage in a microserver computing environment
US10289502B2 (en) * 2016-03-07 2019-05-14 International Business Machines Corporation User-defined failure domains for software-defined storage systems
US10432722B2 (en) * 2016-05-06 2019-10-01 Microsoft Technology Licensing, Llc Cloud storage platform providing performance-based service level agreements
US20170351639A1 (en) 2016-06-06 2017-12-07 Cisco Technology, Inc. Remote memory access using memory mapped addressing among multiple compute nodes
US11563695B2 (en) 2016-08-29 2023-01-24 Cisco Technology, Inc. Queue protection using a shared global memory reserve
US10503654B2 (en) 2016-09-01 2019-12-10 Intel Corporation Selective caching of erasure coded fragments in a distributed storage system
US10545914B2 (en) 2017-01-17 2020-01-28 Cisco Technology, Inc. Distributed object storage
US10243823B1 (en) 2017-02-24 2019-03-26 Cisco Technology, Inc. Techniques for using frame deep loopback capabilities for extended link diagnostics in fibre channel storage area networks
US10713203B2 (en) 2017-02-28 2020-07-14 Cisco Technology, Inc. Dynamic partition of PCIe disk arrays based on software configuration / policy distribution
US10254991B2 (en) 2017-03-06 2019-04-09 Cisco Technology, Inc. Storage area network based extended I/O metrics computation for deep insight into application performance
US10795860B1 (en) 2017-04-13 2020-10-06 EMC IP Holding Company LLC WAN optimized micro-service based deduplication
US10795859B1 (en) 2017-04-13 2020-10-06 EMC IP Holding Company LLC Micro-service based deduplication
US10303534B2 (en) 2017-07-20 2019-05-28 Cisco Technology, Inc. System and method for self-healing of application centric infrastructure fabric memory
US10949088B1 (en) 2017-07-21 2021-03-16 EMC IP Holding Company LLC Method or an apparatus for having perfect deduplication, adapted for saving space in a deduplication file system
US10459633B1 (en) * 2017-07-21 2019-10-29 EMC IP Holding Company LLC Method for efficient load balancing in virtual storage systems
US10936543B1 (en) 2017-07-21 2021-03-02 EMC IP Holding Company LLC Metadata protected sparse block set for SSD cache space management
US10860212B1 (en) 2017-07-21 2020-12-08 EMC IP Holding Company LLC Method or an apparatus to move perfect de-duplicated unique data from a source to destination storage tier
US11461269B2 (en) 2017-07-21 2022-10-04 EMC IP Holding Company Metadata separated container format
US11113153B2 (en) 2017-07-27 2021-09-07 EMC IP Holding Company LLC Method and system for sharing pre-calculated fingerprints and data chunks amongst storage systems on a cloud local area network
US10481813B1 (en) 2017-07-28 2019-11-19 EMC IP Holding Company LLC Device and method for extending cache operational lifetime
US10929382B1 (en) 2017-07-31 2021-02-23 EMC IP Holding Company LLC Method and system to verify integrity of a portion of replicated data
US11093453B1 (en) 2017-08-31 2021-08-17 EMC IP Holding Company LLC System and method for asynchronous cleaning of data objects on cloud partition in a file system with deduplication
US10404596B2 (en) 2017-10-03 2019-09-03 Cisco Technology, Inc. Dynamic route profile storage in a hardware trie routing table
US10942666B2 (en) 2017-10-13 2021-03-09 Cisco Technology, Inc. Using network device replication in distributed storage clusters
US10936195B2 (en) * 2017-10-30 2021-03-02 EMC IP Holding Company LLC Data storage system using in-memory structure for reclaiming space from internal file system to pool storage
US11042637B1 (en) 2018-02-01 2021-06-22 EMC IP Holding Company LLC Measuring code sharing of software modules based on fingerprinting of assembly code
EP3776231B1 (en) * 2018-03-30 2023-05-03 Google LLC Procedures for implementing source based routing within an interconnect fabric on a system on chip
WO2019191431A1 (en) 2018-03-30 2019-10-03 Provino Technologies, Inc. PROTOCOL LEVEL CONTROL FOR SYSTEM ON A CHIP (SoC) AGENT RESET AND POWER MANAGEMENT
US10990298B2 (en) 2018-10-22 2021-04-27 International Business Machines Corporation Implementing data requests with quality of service information
US10901825B2 (en) 2018-10-22 2021-01-26 International Business Machines Corporation Implementing a storage drive utilizing a streaming mode
US10884653B2 (en) 2018-10-22 2021-01-05 International Business Machines Corporation Implementing a mapping between data at a storage drive and data blocks at a host
US10733131B1 (en) * 2019-02-01 2020-08-04 Hewlett Packard Enterprise Development Lp Target port set selection for a connection path based on comparison of respective loads
US10698618B1 (en) 2019-03-26 2020-06-30 International Buisness Machines Corporation User-defined failure domains for software-defined storage systems
CN114442910A (zh) 2020-11-06 2022-05-06 伊姆西Ip控股有限责任公司 管理存储系统的方法、电子设备和计算机程序产品
US20220317881A1 (en) * 2021-03-30 2022-10-06 EMC IP Holding Company LLC Method and apparatus for affinity based smart data protection policy for pooled protection targets

Family Cites Families (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5365526A (en) 1992-12-18 1994-11-15 Amdahl Corporation Trace system for an I/O channel
ATE187294T1 (de) 1994-03-08 1999-12-15 Excel Switching Corp Fernmeldevermittlungsanlage mit verbesserter redundanz
US5436886A (en) 1994-07-14 1995-07-25 Northern Telecom Limited ATM switch in dual switch plane operation
CA2162200A1 (en) 1994-11-23 1996-05-24 Gagan Lal Choudhury Efficiently providing multiple grades of service with protection against overloads in shared resources
US6427185B1 (en) 1995-09-29 2002-07-30 Nortel Networks Limited Method and apparatus for managing the flow of data within a switching device
GB9606834D0 (en) 1996-03-30 1996-06-05 Int Computers Ltd Inter-processor communication
JP3419627B2 (ja) 1996-06-11 2003-06-23 株式会社日立製作所 ルータ装置
US6185601B1 (en) 1996-08-02 2001-02-06 Hewlett-Packard Company Dynamic load balancing of a network of client and server computers
JP2964957B2 (ja) 1996-08-15 1999-10-18 日本電気株式会社 高速ルーティング制御方式
US5954799A (en) 1996-11-07 1999-09-21 Northern Telecom Limited Access to telecommunications networks in a multi-service environment by mapping and exchanging control message between CPE adaptors and access server
US6658526B2 (en) 1997-03-12 2003-12-02 Storage Technology Corporation Network attached virtual data storage subsystem
US7389312B2 (en) 1997-04-28 2008-06-17 Emc Corporation Mirroring network data to establish virtual storage area network
US6101508A (en) 1997-08-01 2000-08-08 Hewlett-Packard Company Clustered file management for network resources
US6067545A (en) 1997-08-01 2000-05-23 Hewlett-Packard Company Resource rebalancing in networked computer systems
US6023733A (en) 1997-10-30 2000-02-08 Cisco Technology, Inc. Efficient path determination in a routed network
US6057863A (en) 1997-10-31 2000-05-02 Compaq Computer Corporation Dual purpose apparatus, method and system for accelerated graphics port and fibre channel arbitrated loop interfaces
US6253240B1 (en) * 1997-10-31 2001-06-26 International Business Machines Corporation Method for producing a coherent view of storage network by a storage network manager using data storage device configuration obtained from data storage devices
US5941972A (en) 1997-12-31 1999-08-24 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
US6154787A (en) 1998-01-21 2000-11-28 Unisys Corporation Grouping shared resources into one or more pools and automatically re-assigning shared resources from where they are not currently needed to where they are needed
US6272534B1 (en) 1998-03-04 2001-08-07 Storage Technology Corporation Method and system for efficiently storing web pages for quick downloading at a remote device
US6199146B1 (en) 1998-03-12 2001-03-06 International Business Machines Corporation Storage management system and method for increasing capacity utilization of nonvolatile storage devices using partially filled substitute storage devices for continuing write operations
US6157963A (en) 1998-03-24 2000-12-05 Lsi Logic Corp. System controller with plurality of memory queues for prioritized scheduling of I/O requests from priority assigned clients
US6209023B1 (en) 1998-04-24 2001-03-27 Compaq Computer Corporation Supporting a SCSI device on a non-SCSI transport medium of a network
AU3671599A (en) 1998-04-29 1999-11-16 Abrizio, Inc. Packet-switch system
US6304578B1 (en) 1998-05-01 2001-10-16 Lucent Technologies Inc. Packet routing and queuing at the headend of shared data channel
US6434656B1 (en) 1998-05-08 2002-08-13 International Business Machines Corporation Method for routing I/O data in a multiprocessor system having a non-uniform memory access architecture
US6115752A (en) 1998-05-21 2000-09-05 Sun Microsystems, Inc. System and method for server selection for mirrored sites
US6438595B1 (en) 1998-06-24 2002-08-20 Emc Corporation Load balancing using directory services in a data processing system
US6195703B1 (en) 1998-06-24 2001-02-27 Emc Corporation Dynamic routing for performance partitioning in a data processing network
US6260120B1 (en) 1998-06-29 2001-07-10 Emc Corporation Storage mapping and partitioning among multiple host processors in the presence of login state changes and host controller replacement
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
US6092178A (en) 1998-09-03 2000-07-18 Sun Microsystems, Inc. System for responding to a resource request
US6199112B1 (en) 1998-09-23 2001-03-06 Crossroads Systems, Inc. System and method for resolving fibre channel device addresses on a network using the device's fully qualified domain name
US6148414A (en) 1998-09-24 2000-11-14 Seek Systems, Inc. Methods and systems for implementing shared disk array management functions
US6470013B1 (en) 1998-10-13 2002-10-22 Cisco Technology, Inc. Use of enhanced ethernet link—loop packets to automate configuration of intelligent linecards attached to a router
US6212606B1 (en) 1998-10-13 2001-04-03 Compaq Computer Corporation Computer system and method for establishing a standardized shared level for each storage unit
US6621818B1 (en) 1998-10-19 2003-09-16 Texas Instruments Incorporated Ring configuration for network switches
US6493750B1 (en) 1998-10-30 2002-12-10 Agilent Technologies, Inc. Command forwarding: a method for optimizing I/O latency and throughput in fibre channel client/server/target mass storage architectures
US6400730B1 (en) 1999-03-10 2002-06-04 Nishan Systems, Inc. Method and apparatus for transferring data between IP network devices and SCSI and fibre channel devices over an IP network
US6952401B1 (en) 1999-03-17 2005-10-04 Broadcom Corporation Method for load balancing in a network switch
US6446141B1 (en) * 1999-03-25 2002-09-03 Dell Products, L.P. Storage server system including ranking of data source
IE20000203A1 (en) 1999-03-25 2001-02-21 Converge Net Technologies Inc Storage domain management system
US6389432B1 (en) 1999-04-05 2002-05-14 Auspex Systems, Inc. Intelligent virtual volume access
US6247099B1 (en) 1999-06-03 2001-06-12 International Business Machines Corporation System and method for maintaining cache coherency and data synchronization in a computer system having multiple active controllers
US6421723B1 (en) 1999-06-11 2002-07-16 Dell Products L.P. Method and system for establishing a storage area network configuration
JP2001014147A (ja) 1999-06-28 2001-01-19 Hitachi Ltd セットアップ代行システム
AU6083200A (en) 1999-07-16 2001-02-05 Netconvergence, Inc. A communication system for general connection interface machines
JP2001127766A (ja) 1999-10-25 2001-05-11 Toshiba Corp ラインインターフェース装置、及び、パケット交換機
US6687247B1 (en) 1999-10-27 2004-02-03 Cisco Technology, Inc. Architecture for high speed class of service enabled linecard
US6542972B2 (en) 2000-01-31 2003-04-01 Commvault Systems, Inc. Logical view and access to physical storage in modular data and storage management system
EP1256198A1 (en) * 2000-02-08 2002-11-13 Nishan Systems, Inc. Method and apparatus for transferring data between different network devices over an ip network
US20020103889A1 (en) 2000-02-11 2002-08-01 Thomas Markson Virtual storage layer approach for dynamically associating computer storage with processing hosts
EP1282861A4 (en) 2000-04-18 2008-03-05 Storeage Networking Technologi VIRTUALIZATION OF STORAGE IN A STORAGE AREA NETWORK
US6574195B2 (en) 2000-04-19 2003-06-03 Caspian Networks, Inc. Micro-flow management
US6745207B2 (en) * 2000-06-02 2004-06-01 Hewlett-Packard Development Company, L.P. System and method for managing virtual storage
USD442585S1 (en) 2000-06-15 2001-05-22 Micro Net Technology, Inc. Disk subsystem for a storage area network
US6693906B1 (en) 2000-07-17 2004-02-17 Advanced Micro Devices, Inc. Apparatus and method for buffer-free evaluation of packet data bytes with multiple min terms
US6831916B1 (en) 2000-09-28 2004-12-14 Balaji Parthasarathy Host-fabric adapter and method of connecting a host system to a channel-based switched fabric in a data network
WO2002061525A2 (en) 2000-11-02 2002-08-08 Pirus Networks Tcp/udp acceleration
US6725393B1 (en) * 2000-11-06 2004-04-20 Hewlett-Packard Development Company, L.P. System, machine, and method for maintenance of mirrored datasets through surrogate writes during storage-area network transients
US7027412B2 (en) * 2000-11-10 2006-04-11 Veritas Operating Corporation System for dynamic provisioning of secure, scalable, and extensible networked computer environments
US6880070B2 (en) 2000-12-08 2005-04-12 Finisar Corporation Synchronous network traffic processor
US6907457B2 (en) 2001-01-25 2005-06-14 Dell Inc. Architecture for access to embedded files using a SAN intermediate device
JP2002222061A (ja) 2001-01-25 2002-08-09 Hitachi Ltd 記憶領域を設定する方法、記憶装置およびプログラム記憶媒体
EP1370947A4 (en) 2001-02-13 2009-05-27 Candera Inc STORAGE VIRTUALIZATION SERVER SILICON BASE
US20020133539A1 (en) 2001-03-14 2002-09-19 Imation Corp. Dynamic logical storage volumes
US6496914B1 (en) * 2001-03-22 2002-12-17 Emc Corporation Method and system for administering storage devices on a network
US20020194324A1 (en) 2001-04-26 2002-12-19 Aloke Guha System for global and local data resource management for service guarantees
US20030074473A1 (en) 2001-10-12 2003-04-17 Duc Pham Scalable network gateway processor architecture

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006053782A (ja) * 2004-08-12 2006-02-23 Hitachi Ltd ファイバーチャネルスイッチを含むコンピュータシステムの管理方法、管理プログラム及びそのコンピュータシステム
JP4580195B2 (ja) * 2004-08-12 2010-11-10 株式会社日立製作所 ファイバーチャネルスイッチを含むコンピュータシステムの管理方法、管理プログラム及びそのコンピュータシステム
JP2008512959A (ja) * 2004-09-08 2008-04-24 ピボタル ディシジョンズ エルエルシー 光伝送システム内にファイバーチャネルの距離拡張を組み込むための装置および方法
JP4664365B2 (ja) * 2004-09-08 2011-04-06 ピボタル ディシジョンズ エルエルシー 光伝送システム内にファイバーチャネルの距離拡張を組み込むための装置および方法
JP2007065712A (ja) * 2005-08-29 2007-03-15 Nippon Telegr & Teleph Corp <Ntt> iSCSI自動接続方法及びシステム
JP2009535681A (ja) * 2006-04-28 2009-10-01 インターナショナル・ビジネス・マシーンズ・コーポレーション ストレージ・デバイス・ポートの選択の最適化
JP5445138B2 (ja) * 2007-12-28 2014-03-19 日本電気株式会社 データ分散格納方法およびデータ分散格納システム
JP2010191989A (ja) * 2010-04-26 2010-09-02 Hitachi Ltd 記憶制御システム及び方法
JP2012079183A (ja) * 2010-10-04 2012-04-19 Fujitsu Ltd ストレージシステムの仮想化制御装置及び制御プログラム
US8683155B2 (en) 2010-10-04 2014-03-25 Fujitsu Limited Virtualization control apparatus and storage system
US9495109B2 (en) 2014-02-21 2016-11-15 Fujitsu Limited Storage controller, virtual storage apparatus, and computer readable recording medium having storage control program stored therein

Also Published As

Publication number Publication date
WO2003027856A1 (en) 2003-04-03
US7539824B2 (en) 2009-05-26
EP1438665A1 (en) 2004-07-21
EP1438665A4 (en) 2007-05-23
US20060075191A1 (en) 2006-04-06
US6976134B1 (en) 2005-12-13

Similar Documents

Publication Publication Date Title
JP4264001B2 (ja) 記憶ネットワーク中のサービスの品質の実行
US7539824B2 (en) Pooling and provisioning storage resources in a storage network
JP2005505814A (ja) 記憶ネットワーク中の負荷平衡
US7773521B2 (en) Storage switch traffic bandwidth control
US7529781B2 (en) Online initial mirror synchronization and mirror synchronization verification in storage area networks
US7617365B2 (en) Systems and methods to avoid deadlock and guarantee mirror consistency during online mirror synchronization and verification
US7185062B2 (en) Switch-based storage services
US7484058B2 (en) Reactive deadlock management in storage area networks
US7558264B1 (en) Packet classification in a storage system
US20030093541A1 (en) Protocol translation in a storage system
US7373472B2 (en) Storage switch asynchronous replication
WO2006026708A2 (en) Multi-chassis, multi-path storage solutions in storage area networks
US7792917B2 (en) Multiple network shared disk servers
JP2005505820A (ja) 記憶システムにおける仮想化
US20050262309A1 (en) Proactive transfer ready resource management in storage area networks
WO2006026577A2 (en) Systems and methods for assigning tasks to derived timers of various resolutions in real-time systems to maximize timer usage
WO2005104727A2 (en) Proactive transfer ready resource management in storage area networks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050927

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20051202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20051202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080901

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090309