JP2009230742A - 高可用性、低容量のシン・プロビジョニング - Google Patents

高可用性、低容量のシン・プロビジョニング Download PDF

Info

Publication number
JP2009230742A
JP2009230742A JP2008323103A JP2008323103A JP2009230742A JP 2009230742 A JP2009230742 A JP 2009230742A JP 2008323103 A JP2008323103 A JP 2008323103A JP 2008323103 A JP2008323103 A JP 2008323103A JP 2009230742 A JP2009230742 A JP 2009230742A
Authority
JP
Japan
Prior art keywords
capacity pool
volume
virtual volume
storage subsystem
storage
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.)
Granted
Application number
JP2008323103A
Other languages
English (en)
Other versions
JP5264464B2 (ja
JP2009230742A5 (ja
Inventor
Tomohiro Kawaguchi
智大 川口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of JP2009230742A publication Critical patent/JP2009230742A/ja
Publication of JP2009230742A5 publication Critical patent/JP2009230742A5/ja
Application granted granted Critical
Publication of JP5264464B2 publication Critical patent/JP5264464B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

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

Abstract

【課題】シン・プロビジョニングと高可用性を同時に提供。
【解決手段】仮想ボリュームは前記の少なくとも1つのストレージ要素から割り当てられる。容量プールは前記のディスクドライブと、外部ストレージボリュームの少なくとも一部分を含む。容量プールのストレージ要素はデータアクセス要求に応じて仮想ボリュームに割り当てられる。本システムはさらにストレージサブシステムに接続されたホストコンピュータを含み、ストレージサブシステム間インプット/アウトプットパスの切り替えを行うよう構成される。前記の各ストレージサブシステムは受信したライトI/Oを他のストレージサブシステムにコピーするよう構成される。他のストレージサブシステムからの要求を受信すると、前記ストレージサブシステムの容量プールのストレージ要素はストレージサブシステムの仮想ボリュームへの割り当てを阻止される。
【選択図】図1

Description

0001 本発明は一般にコンピュータストレージシステムに関し、より具体的にはコンピュータストレージシステムのシン・プロビジョニングに関する。
0002 シン・プロビジョニングは大規模な集中型のコンピュータディスクストレージシステム、ストレージエリアネットワーク(SANs)、ストレージ仮想化システムに適用されるメカニズムである。シン・プロビジョニングにより、スペースを容易に、過不足なくジャストインタイムに、サーバに割り当てることが可能となる。ストレージ容量のプールの多数が、個々のアプリケーションに割り当てられても未使用のままになる、従来のストレージアレイへの割り当て方法を指すファット・プロビジョニングに対比して、シン・プロビジョニングという語が用いられる。
0003 ストレージ統合環境では多数のアプリケーションが同一のストレージアレイへのアクセスを共有しているため、シン・プロビジョニングによって、管理者はすべてのアプリケーションのデータ増加要求に対応するため、単独の空きスペースバッファプールを維持することができる。シン・プロビジョニングを用いると、ストレージ容量の利用効率は、多額の管理費をかけずとも自動的に向上させることができる。組織は前もって購入するストレージ容量をより少なくでき、実際の商業利用にあわせてストレージ容量のバージョンアップを抑え、未使用のディスクキャパシティを回転させておくためにかかる操作費用を省くことができる。
0004 シン・プロビジョニングはオーバー割り当て、またはオーバーサブスクリプションを可能にする。オーバー割り当てまたはオーバーサブスクリプションは、ストレージアレイ自体に物理的にリザーブされているよりも多くのストレージ容量をサーバアプリケーションに割り当てることのできるメカニズムである。これによりアプリケーションストレージボリュームの柔軟な増加、減少が可能となり、1つのボリュームがどれだけ拡大するか、または縮小するかを正確に予測する必要がなくなる。アレイ上の物理的ストレージ容量は、ストレージボリュームが最初に割り当てられる時ではなく、データがアプリケーションにより実際に書かれる場合のみ専用となる。
0005 シン・プロビジョニングによってデータストレージ容量の無駄を削減する方法の1つは、Kanoへ2006年10月31日付けで付与された米国特許第7,130,960号にて開示され、ここで参照することにより、全体が本書に組み込まれる。シン・プロビジョニング技術は、書き込まれていないデータエリアへのストレージ容量の割り当てを阻止することにより、ストレージ容量の無駄を削減する。
0006 一方、高可用性は、所定の測定期間中、一定レベルの操作継続を確実にする、システム設計プロトコルと関連する実装である。可用性とは、ユーザコミュニティがシステムにアクセスできること、すなわち新しい作業を提出できるか、既存の作業の更新や修正ができるか、また以前の作業の結果を収集することができるかを指す。ユーザがシステムにアクセスできない場合、システムは利用不可能と見なされる。
0007 可用性向上のためのソリューションの1つは同期コピーシステムを利用することであり、これは日本国特許第2007−072538号で開示される。本技術は2つ以上のストレージサブシステムでのデータ複製システム、1つ以上の外部ストレージサブシステム、I/Oサーバでのパス変更機能を含む。1つのサブシステムが、例えばI/Oパス切断やデバイスエラーといった予期しない障害により停止すると、I/OサーバはI/Oパスを他のサブシステムに変更する。
0008 シン・プロビジョニングと高可用性はいずれもストレージシステムに望ましい属性である。しかし前記の2つの方法論は相殺し合う側面を持つ。
0009 本発明の方法論は、コンピュータストレージシステムでのシン・プロビジョニングのための従来技術に関連する上記およびその他の1つ以上の問題点を、実質的に取り除く方法とシステムに向けられる。
0010 本発明の諸側面は、高可用性を提供し、ストレージシステムの容量要求を減らすための方法と装置に向けられる。
0011 前記発明の1つの側面に従い、ストレージシステムはホストコンピュータ、2つ以上のストレージサブシステム、1つ以上の外部ストレージサブシステムを含む。ストレージサブシステムを第1のストレージサブシステムと呼ぶ場合もある。ホストコンピュータは2つ以上のストレージサブシステムに接続され、ストレージサブシステム間のI/Oパスを変更できる。2つ以上のストレージサブシステムは、外部ストレージボリュームにアクセスし、それらを自己のストレージ容量として扱うことができる。これらのストレージサブシステムはシン・プロビジョニング機能を含む。シン・プロビジョニング機能は容量プールの1つの要素として外部ストレージボリュームを使用できる。シン・プロビジョニング機能は、他のストレージサブシステムから要求を受けた時、容量プールエリアを割り当てから削除することもできる。ストレージサブシステムは相互に連絡し、ライトI/Oを受けた時には、このライトI/Oを相互にコピーし合う。
0012 本発明概念の1つの側面に従い、少なくとも1つの外部ボリュームと、第1のストレージサブシステムと第2のストレージサブシステム、すなわちペアを形成する第1の仮想ボリュームを含む第1のストレージサブシステムと、第2の仮想ボリュームを含む第2のストレージサブシステムを組み込んだ2つ以上のストレージサブシステムを含む、コンピュータ化されたデータストレージサブシステムが提供される。本発明システムでは、第1の仮想ボリュームと第2の仮想ボリュームがシン・プロビジョニングボリュームであり、第1の仮想ボリュームは、第1の仮想ボリュームに関連する第1の容量プールから容量を割り当てる働きをし、第2の仮想ボリュームは、第2の仮想ボリュームに関連する第2の容量プールから容量を割り当てることができ、容量は少なくとも1つの外部ボリュームを含み、少なくとも1つの外部ボリュームは第1の容量プールと第2の容量プールによって共有され、少なくとも1つの外部ボリュームか第1のストレージサブシステムか第2のストレージサブシステムが少なくとも1つのシン・プロビジョニング情報テーブルを格納し、シン・プロビジョニングの割り当て過程が実行されると、第1のストレージサブシステムが、共有の少なくとも1つの外部ボリュームから既に容量を割り当てていた場合、第2のストレージサブシステムが割り当て情報を参照し、仮想ボリュームアドレスと容量プールアドレスの関係を確立する働きをする。
0013 前記発明概念のもう1つの側面に従い、外部ストレージボリューム、相互に、また外部ストレージボリュームにも接続されている2つ以上のストレージサブシステムを含み、ストレージサブシステムはそれぞれキャッシュエリアを含み、ストレージサブシステムはそれぞれ少なくとも1つの仮想ボリュームと少なくとも1つの容量プールを含み、少なくとも1つの仮想ボリュームは少なくとも1つの容量プールのストレージ要素から割り当てられ、少なくとも1つの容量プールは外部ストレージボリュームの少なくとも一部分から構成される、コンピュータ化されたデータストレージシステムが提供される。少なくとも1つの容量プールのストレージ要素は、データアクセス要求に応じて仮想ボリュームに割り当てられる。本発明のストレージシステムはさらに、2つ以上のストレージサブシステムに接続され、2つ以上のストレージサブシステム間のパスのインプット/アウトプットを切り替える働きを持つホストコンピュータを含む。2つ以上のストレージサブシステムのうち第1のストレージサブシステムによるデータライト要求を受信した場合、第1のストレージサブシステムは、受信したデータライト要求を、2つ以上のストレージサブシステムのうち少なくとも第2のストレージサブシステムに提供するよう構成され、第1のストレージサブシステムから要求を受けた場合、第2のストレージサブシステムは、上記の少なくとも1つの容量プールのストレージ要素のうち少なくとも1つが、第2のストレージサブシステムの少なくとも1つの仮想ボリュームに割り当てられるのを阻止するよう構成されている。
0014 本発明概念のさらに他の側面に従い、2つ以上のストレージサブシステムに接続されたホストコンピュータを使ったデータストレージのための、コンピュータに実装された方法が提供される。2つ以上のストレージサブシステムは相互に接続され、外部ストレージサブシステムにも接続されており、それぞれのストレージサブシステムがキャッシュエリアを含み、それぞれのストレージサブシステムは少なくとも1つの仮想ボリュームと少なくとも1つの容量プールを含み、少なくとも1つの仮想ボリュームが、少なくとも1つの容量プールから割り当てられる。少なくとも1つの容量プールは、外部ストレージボリュームの少なくとも一部分を含む。少なくとも1つの仮想ボリュームはシン・プロビジョニングボリュームを含む。本発明の方法は、2つ以上のストレージサブシステムのうち第1のストレージサブシステムの第1の仮想ボリュームと、2つ以上のストレージサブシステムのうち第2のストレージサブシステムの第2の仮想ボリュームを、マスタボリュームとスレーブボリュームとしてペア化するステップと、第1のストレージサブシステムからの要求を受信した場合に、第2のストレージサブシステムのうち少なくとも1つの容量プールのストレージ要素のうち少なくとも1つが、第2の仮想ボリュームに割り当てられるのを防ぐステップで構成される。
0015 前記発明概念のさらに他の側面に従い、1つ以上のプロセッサにより実行されると、2つ以上のストレージサブシステムに接続されたホストコンピュータを使ったデータストレージのためにコンピュータに内蔵された方法を1つ以上のプロセッサが実行する、1つ以上のシーケンスの指示を具体化したコンピュータ可読メディアが提供される。2つ以上のストレージサブシステムは相互に、また外部ストレージボリュームにも接続される。ストレージボリュームはそれぞれキャッシュエリア、少なくとも1つの仮想ボリューム、少なくとも1つの容量プールを含む。前記の少なくとも1つの仮想ボリュームは、前記の少なくとも1つの容量プールから割り当てられる。少なくとも1つの容量プールは、外部ストレージボリュームの少なくとも一部分を含む。各ストレージサブシステムでは、少なくとも1つの仮想ボリュームが、シン・プロビジョニングボリュームである。本発明の方法は、2つ以上のストレージサブシステムのうち第1のストレージサブシステムの第1の仮想ボリュームと、2つ以上のストレージサブシステムのうち第2のストレージサブシステムの第2の仮想ボリュームを、マスタボリュームとスレーブボリュームとしてペア化するステップと、第1のストレージサブシステムからの要求を受けた場合に、第2のストレージサブシステムのうち少なくとも1つの容量プールのストレージ要素のうち少なくとも1つが、第2の仮想ボリュームに割り当てられるのを防ぐステップで構成される。
0016 本発明に関するその他の側面は、一部は次の説明に記載され、一部は説明において明白となるか、本発明の実行により判明する。本発明の諸側面は、特に以下の詳細な説明と付随する請求項に示される要素と、さまざまな要素と側面の組み合わせにより実現され、達成される。
0017 当然のことながら、前記の説明も以下の説明も典型的なものであって、説明のためのものに過ぎず、請求項に記載された発明又はその出願をいかなる方法であろうと限定することを意図するものではない。
0059 以下の本発明の詳細な説明において、本開示の一部を成す添付図面が参照され、同様の番号は基本的に同様の要素を示す。前記の添付画面は、限定のためではなく説明のため、本発明の原理と一致する特定の実施例、実装例を示す。これらの実装例は、当業者が本発明を実行できるよう、十分な詳細さをもって記述されており、その他の実装例が利用可能であること、本発明の精神と範囲から逸脱することなく、構造的変更および/またはさまざまな要素の置換が実行可能であることを理解されたい。したがって以下の詳細な説明は、限定された意味で解釈するべきものではない。さらに、前記の本発明のさまざまな実施例は、汎用コンピュータ上で動作するソフトウェアの形式か、専用ハードウェア形式か、またはソフトウェアとハードウェアの組み合わせで実装可能である。
0060 ストレージスペースの無駄を最小限に抑える目的と、ストレージボリュームへの迅速、容易なアクセスという目的の両方を実現させるため、シン・プロビジョニングと高可用性を含む2つの技術が組み合わされると、特定の問題が生じる。これはページマネジメントテーブルがストレージサブシステムに共有されていないという事実による。したがって、2つのストレージサブシステムのページマネジメントテーブルが、2つの異なるストレージサブシステムのシン・プロビジョニングのページエリアに同一の容量プールエリアを割り当て、アサインするという可能性がある。これにより、両方のストレージサブシステムが同じスペースへのI/O実施を試みた場合に、衝突が発生する。
0061 さらに、ページマネジメントテーブルが前記の衝突を防ぐためにストレージサブシステム間で共有された場合、ストレージサブシステム間の通信またはロックの衝突により待ち時間が発生する。
0062 ストレージサブシステムの構成要素は、本発明の諸側面に従い、図1、2、3、4、5と、6から18までで示され、説明される。
0063 図1は本発明の諸側面に従い、ストレージシステムを示す。
0064 図1に示されるストレージシステムは2つ以上のストレージサブシステム100、400と、ホストコンピュータ300、外部ボリューム621を含む。ストレージシステムは1つ以上のストレージネットワーク200、500も含む場合がある。ストレージサブシステム100、400は直接に、または表示されないネットワーク経由で相互に接続される。ホストコンピュータは直接に、またはストレージネットワーク200経由で、ストレージサブシステム100、400に接続される。外部ボリューム621は直接に、またはストレージネットワーク500経由で、ストレージサブシステム100、400に接続される。
0065 ホストコンピュータ300は、CPU301、メモリ302、一つ以上のストレージインタフェース303を含む。CPU301はメモリ302に格納されたプログラムとテーブルを実行するためのものである。ストレージインタフェース302は、ストレージネットワーク200を通じてストレージサブシステム100でホストインタフェース114に接続される。
0066 ストレージサブシステム100はストレージコントローラ110、ディスクユニット120、マネジメントターミナル130を含む。
0067 ストレージコントローラ110は、メモリ112に格納されたプログラムとテーブルを実行するためのCPU111、プログラム、テーブル、データ格納用のメモリ112、ディスクユニットにストレージコントローラを接続するためのSCSI I/Fになりうるディスクインタフェース116、ストレージコントローラをストレージネットワーク200を通じてホストコンピュータ300のストレージインタフェース303に接続するためのファイバチャネルI/Fになりうるホストインタフェース115、マネジメントターミナル130のストレージコントローラインタフェース133にストレージコントローラを接続するためのNIC I/Fになりうるマネジメントターミナルインタフェース114、もう1つのストレージサブシステム400でストレージコントローラインタフェース417にストレージコントローラを接続するためのファイバチャネルI/Fになりうるストレージコントローラインタフェース117、ストレージネットワーク500を通じて外部ボリューム621にストレージコントローラ110を接続するためのファイバチャネルI/Fになりうる外部ストレージコントローラインタフェース118を含む。ホストインタフェース115はホストコンピュータ300からI/O要求を受信し、CPU111に通知する。マネジメントターミナルインタフェース114はボリューム、ディスク、容量プール操作要求をマネジメントターミナル130から受信し、CPU111に通知する。
0068 ディスクユニット120はハードディスクドライブ(HDD)121などのディスクを含む。
0069 マネジメントターミナル130はマネジメントターミナルにより実行されたプロセスを管理するためのCPU131、メモリ132、マネジメントターミナルをストレージコントローラ110でインタフェース114に接続し、ボリューム、ディスク、容量プール操作をストレージコントローラ110に送信するためのNICになりうるストレージコントローラインタフェース133、キーボード、マウス、モニタ等のユーザインタフェース134を含む。
0070 ストレージサブシステム400はストレージコントローラ410、ディスクユニット420、マネジメントターミナル430を含む。これらの要素はストレージサブシステム100に関して記述された構成要素と類似した構成要素を含む。ストレージサブシステム400の要素は本段落中で以下に記述される。ストレージコントローラ410は、メモリ412に格納されたプログラムとテーブルを実行するためのCPU411、プログラム、テーブル、データ格納用のメモリ412、ディスクユニットにストレージコントローラを接続するためのSCSI I/Fになりうるディスクインタフェース416、ストレージコントローラをストレージネットワーク200を通じてホストコンピュータ300のストレージインタフェース303に接続するためのファイバチャネルI/Fになりうるホストインタフェース415、マネジメントターミナル430のストレージコントローラインタフェース433にストレージコントローラを接続するためのNIC I/Fになりうるマネジメントターミナルインタフェース414、もう1つのストレージサブシステム400でストレージコントローラインタフェース417にストレージコントローラを接続するためのファイバチャネルI/Fになりうるストレージコントローラインタフェース417、ストレージネットワーク500を通じて外部ボリューム621にストレージコントローラ410を接続するためのファイバチャネルI/Fになりうる外部ストレージコントローラインタフェース418を含む。ホストインタフェース415はホストコンピュータ300からI/O要求を受信し、CPU411に通知する。マネジメントターミナルインタフェース414はボリューム、ディスク、容量プール操作要求をマネジメントターミナル430から受信し、CPU411に通知する。ディスクユニット420はハードディスクドライブ(HDD)421などのディスクを含む。マネジメントターミナル430はマネジメントターミナルにより実行された処理を管理するためのCPU431、メモリ432、マネジメントターミナルをストレージコントローラ410でインタフェース414に接続し、ボリューム、ディスク、容量プール操作をストレージコントローラ410に送信するためのNICになりうるストレージコントローラインタフェース433、キーボード、マウス、モニタ等のユーザインタフェース434を含む。
0071 図2は本発明の諸側面に従い、ストレージシステムのホストコンピュータのメモリ例を示す。
0072 図2のホストコンピュータ300のメモリ302はボリュームマネジメントテーブル302‐11を含む場合がある。
0073 図3は本発明の諸側面に従い、ボリュームマネジメントテーブルの例を示す。
0074 ボリュームマネジメントテーブルは、あるボリュームの障害の際にそのボリュームから別のボリュームにパスを変更してデータ救出を助けるよう補助的に使用できる情報用ボリュームをペア形成するための、2つのホストボリューム情報列302‐11‐01、302‐11‐02を含む。ストレージシステムを形成するストレージサブシステムでのストレージボリュームのこうしたペア形成により、データ可用性を向上させるストレージ冗長性が提供される。
0075 図4、図5は本発明の諸側面に従い、ストレージサブシステムのストレージコントローラのメモリのための構造例を示す。図6、7、8、9、10、11、12、13、14、15、16、17、18は本発明の諸側面に従い、図4のプログラムとテーブルをさらに詳細に示す。
0076 図4はストレージサブシステム100のメモリ112に対応し、図5はストレージサブシステム400のメモリ412に対応する。これらのメモリは図1のストレージサブシステム100、400にも属する。一連のプログラムとテーブルがメモリ112、412に格納されている通りに示される。2つのメモリ112、412は類似しているので、以下では図4のみを詳細に記述する。
0077 ストレージコントローラのメモリ112に格納されるプログラムはボリューム操作プログラム1120‐02を含む。図6に示すように、ボリューム操作プログラムはボリューム操作待機プログラム112‐02‐1、ペア形成プログラム112‐02‐2、ペア削除プログラム112‐02‐3を含む。ボリューム操作待機プログラム112‐02‐1はCPU111が「ペア形成」または「ペア削除」を受信したときに実行されるシステム常駐プログラムである。ペア形成プログラム112‐02‐2はストレージサブシステム100とストレージサブシステム400のストレージボリューム間でボリューム複製のための関係を確立し、CPU111が「ペア形成」を受信したときに実行される。ペア形成プログラム112‐02‐2はボリューム操作待機プログラム112‐02‐1に呼び出される。ペア削除プログラム112‐02‐3はボリューム操作待機プログラム112‐02‐1に呼び出され、ストレージサブシステム100とストレージサブシステム400のストレージボリューム間に存在するボリューム複製のための関係を解放する。CPU111が「ペア削除」を受信したときに実行される。
0078 ストレージコントローラのメモリ112に格納されるプログラムは、さらにI/O操作プログラム112‐04を含む。図7に示されるように、I/O操作プログラム112‐04はライトI/O操作プログラム112‐04‐1とリードI/O操作プログラム112‐04‐2を含む。ライトI/O操作プログラム112‐04‐1はI/Oデータをホストコンピュータ300からキャッシュエリア112‐20に転送するシステム常駐プログラムであり、CPU111がライトI/O要求を受信したときに実行される。リードI/O操作プログラム112‐04‐2もI/Oデータをキャッシュエリア112‐20からホストコンピュータ300に転送するシステム常駐プログラムであり、CPU111がリードI/O要求を受信したときに実行される。
0079 ストレージコントローラのメモリ112に格納されるプログラムは、さらにディスクアクセスプログラム112‐05を含む。図8に示されるように、ディスクアクセスプログラム112‐05はディスク掃き出しプログラム112‐05‐1、キャッシュステージングプログラム112‐05‐2、キャッシュデステージプログラム112‐05‐3を含む。ディスク掃き出しプログラム112‐05‐1はダーティキャッシュデータを検索してそれらをディスク121に掃き出すシステム常駐プログラムであり、CPU111の作業負荷が低い時に実行される。キャッシュステージングプログラム112‐05‐2はデータをディスク121からキャッシュエリア112‐05‐20に転送するシステム常駐プログラムであり、CPU111がディスク121のデータへのアクセスを必要とするときに実行される。キャッシュデステージプログラム112‐05‐3はデータをキャッシュエリアから転送するシステム常駐プログラムであり、ディスク掃き出しプログラム112‐05‐1がダーティキャッシュデータをディスク121に掃き出すときに実行される。
0080 ストレージコントローラのメモリ112に格納されるプログラムは、さらに容量プールマネジメントプログラム112‐08を含む。図9に示されるように、容量プールマネジメントプログラム112‐08は容量プールページ割り当てプログラム112‐08‐1、容量プールガーベッジコレクションプログラム112‐08‐2、容量プール拡張プログラム112‐08‐3を含む。容量プールページ割り当てプログラム112‐08‐1は容量プールから新しい容量プールページと容量プールチャンクを受け、他のストレージサブシステムに任意のチャンクを削除するよう要求を送る。容量プールガーベッジコレクションプログラム112‐08‐2は容量プールからガーベッジコレクションを実行するシステム常駐プログラムであり、CPU111の作業負荷が低い時に実行される。容量プール拡張プログラム112‐08‐3はCPU111が「容量プール拡張」要求を受けた時に動作するシステム常駐プログラムであり、特定のRAIDグループか外部ボリューム621を特定の容量プールに追加する。
0081 ストレージコントローラのメモリ112に格納されるプログラムはさらに、図19に示されるように、他のストレージサブシステムからの要求に続いてスロット121‐3のロックやロック解除を行うスロット操作プログラム112‐09を含む。
0082 ストレージコントローラのメモリ112に格納されるテーブルはRAIDグループマネジメントテーブル112‐11を含む。図10に示されるように、RAIDグループマネジメントテーブル112‐11はストレージコントローラ110、410内のRAIDグループのID、RAIDレベルとRAID機構112‐11‐02列、HDDナンバー112‐11‐03、HDD容量112‐11‐04、ストレージサブシステム112‐11‐05を含む。RAIDレベル列112‐11‐02では、入力として「10」という数があると「ミラーリング、ストライピング」を意味し、数字の「5」は「パリティストライピング」を意味し、数字の「6」は「ダブルパリティストライピング」を意味し、「EXT」という入力は外部ボリューム621の使用を意味し、「N/A」という入力はRAIDグループが存在しないことを意味する。HDDナンバー112‐11‐03列では、RAIDレベル情報112‐11‐02が「10」か「5」か「6」の場合、ディスク121、421のIDリストがRAIDグループ内でグループ化されていることと、RAIDグループの容量がディスク121、421を含むことを意味する。RAIDグループとペア化されたストレージサブシステムは、このテーブルの最後の列で示される。
0083 ストレージコントローラのメモリ112に格納されたテーブルはさらに、仮想ボリュームマネジメントテーブル112‐12を含む。図11に示されるように、仮想ボリュームマネジメントテーブル112‐12はボリュームナンバーまたはID列112‐12‐01、ボリューム容量列112‐12‐02、容量プールナンバー列112‐12‐03、現在使用されているチャンク列112‐12‐05を含む。ボリューム列112‐12‐01はストレージコントローラ110、410の各仮想ボリュームのIDを含む。ボリューム容量列112‐12‐02は対応する仮想ボリュームのストレージ容量を含む。容量プールナンバー列112‐12‐03は仮想ボリュームに関連しており、この容量プールからデータを格納するため容量を割り当てる。仮想ボリュームはRAIDグループか外部ボリュームのチャンクから容量プールページを得る。仮想ボリュームにより現在使用されているチャンクは、現在使用されているチャンク列112‐12‐05に表示される。この列はRAIDグループと、さまざまなデータストレージ操作のために現在使用されているチャンクのチャンクナンバーを示す。
0084 ストレージコントローラのメモリ112に格納されたテーブルはさらに、仮想ボリュームページマネジメントテーブル112‐13を含む。図12に示されるように、仮想ボリュームマネジメントテーブル112‐13は、仮想ボリューム140内の仮想ボリュームページ140‐1のIDを提供する仮想ボリュームページアドレス112‐13‐01、関連するRAIDグループナンバー112‐13‐02、容量プールページアドレス112‐13‐03を含む。RAIDグループナンバー112‐13‐02は、外部ボリューム621を含む、割り当てられた容量プールページを有し、この列でのN/Aという入力は、仮想ボリュームページが容量プールページを割り当てないことを意味する。容量プールページアドレス112‐13‐03は、関連する容量プールページの開始論理アドレスを含む。
0085 ストレージコントローラのメモリ112に格納されたテーブルはさらに、容量プールページマネジメントテーブル112‐14を含む。図13に示されるように、容量プールページマネジメントテーブル112‐14は、容量プールナンバー112‐14‐01、RAIDグループリスト112‐14‐02、空き容量情報112‐14‐03を含む。容量プールナンバー112‐14‐01は、ストレージコントローラ110、410の容量プールのIDを含む。RAIDグループリスト112‐14‐02は、容量プール内のRAIDグループのリストを含む。N/Aという入力は、容量プールが存在しないことを示す。空き容量情報112‐14‐03は、容量プールの合計空きエリアを示す。
0086 ストレージコントローラのメモリ112に格納されたテーブルはさらに、容量プール要素マネジメントテーブル112‐15を含む。図14に示されるように、容量プール要素マネジメントテーブル112‐15は、RAIDグループナンバー112‐15‐01、容量プールナンバー112‐15‐02、空きチャンクキューインデックス112‐15‐03、使用チャンクキューインデックス112‐15‐04、削除チャンクキューインデックス112‐15‐05を含む。RAIDグループナンバー112‐15‐01はストレージコントローラ110、410のRAIDグループナンバーのIDを示す。容量プールナンバー112‐15‐02は、RAIDグループが属する容量プールのIDを示す。空きチャンクキューインデックス112‐15‐03は、空きチャンクキューインデックスの数を含む。使用チャンクキューインデックス112‐15‐04は使用されているチャンクキューインデックスの数を示す。削除チャンクキューインデックス112‐15‐05は、削除チャンクキューインデックスの数を含む。RAIDグループは空きチャンク、使用チャンク、削除されたチャンクをキューとして管理する。
0087 ストレージコントローラのメモリ112に格納されたテーブルはさらに、容量プールチャンクマネジメントテーブル112‐16を含む。図15に示されるように、容量プールチャンクマネジメントテーブル112‐16は、以下の列を含む:容量プールチャンクナンバー112‐16‐01、仮想ボリュームナンバー112‐16‐02、使用容量112‐16‐03、削除容量112‐16‐04、次のチャンクポインタ112‐16‐05。容量プールチャンクナンバー112‐16‐01はRAIDグループ内の容量プールチャンクのIDを含む。仮想ボリュームナンバー112‐16‐02は容量プールチャンクを使用する仮想ボリュームナンバーを含む。使用容量112‐16‐03は、容量プールチャンクの合計使用容量を含む。仮想ボリュームが容量プールチャンクから容量プールページを得ると、このパラメータは容量プールページサイズに従い増加する。削除容量情報112‐16‐04は容量プールチャンクからの合計削除容量を含む。仮想ボリュームがボリュームフォーマットか仮想ボリュームページ割り当てにより容量プールページを解放すると、このパラメータは容量プールページサイズに従い増加する。次のチャンクポインタ112‐16‐05は、その他の容量プールチャンクのポインタを含む。容量プールチャンクはキュー構造である。空きチャンクキューインデックス112‐15‐03と使用チャンクキューインデックス112‐15‐04は、図14で示されたキューのインデックスである。
0088 ストレージコントローラのメモリ112に格納されたテーブルはさらに、容量プールチャンクマネジメントテーブル112‐17を含む。図16に示されるように、容量プールページマネジメントテーブル112‐17は、容量プールチャンク内の容量プールページのオフセットを示す容量プールナンバー112‐17‐01と、容量プールページを指す仮想ボリュームページナンバーを示す仮想ボリュームページナンバー112‐17‐02を含む。この列では「ヌル」という入力はページが削除されたか、または割り当てられていないことを意味する。
0089 ストレージコントローラのメモリ112に格納されたテーブルはさらに、ペアマネジメントテーブル112‐19を含む。図17に示されるように、ペアマネジメントテーブル112‐19は、ボリュームナンバー112‐19‐01と、ペア化サブシステムナンバー112‐19‐02と、ペア化ボリュームナンバー112‐19‐03を示す列を含む。ボリュームナンバー情報112‐19‐01はストレージコントローラ110、410内の仮想ボリュームのIDを示す。ペア化サブシステムナンバー情報112‐19‐02は、ペア化ボリュームが属するストレージサブシステムのIDを示す。ペア化ボリュームナンバー情報112‐19‐03は、個々のストレージサブシステム内にあるペア化仮想ボリュームのIDを示す。ペア状態情報112‐19‐04は、ペアにおけるボリュームの役割をマスタかスレーブかN/Aとして示す。マスタはボリュームが外部ボリュームからシン・プロビジョニングの容量割り当てを操作できることを意味する。スレーブは、いつ割り当てを発生させるかをボリュームがマスタに尋ねることを意味する。マスタが既に外部ボリュームから容量プールページを割り当て済みなら、スレーブは仮想ボリュームページを外部ボリュームの前記の容量プールページに関連付ける。N/Aという入力は、ボリュームがその他の仮想ボリュームと何ら関係がないことを示す。
0090 ストレージコントローラのメモリ112に格納されたテーブルはさらに、キャッシュマネジメントテーブル112‐18を含む。図18に示されるように、キャッシュマネジメントテーブル112‐18は、キャッシュスロットナンバー112‐18‐01、ディスクナンバーまたは論理ユニットナンバー(LUN)112‐18‐02、ディスクアドレスまたは論理ブロックアドレス(LBA)112‐18‐03、次のスロットポインタ112‐18‐04、ロック状態112‐18‐05、キューの種類112‐18‐11、キューインデックスポインタ112‐18‐12を含む列を含む。キャッシュスロットナンバー112‐18‐01は、キャッシュエリア112‐20が複数のキャッシュスロットを含むキャッシュエリア112‐20でのキャッシュスロットのIDを含む。ディスクナンバー112‐18‐02は、図20に示されるように、キャッシュスロットがデータを格納するディスク121か仮想ボリューム140のナンバーを含む。ディスクナンバー112‐18‐02はキャッシュスロットナンバーに対応するディスク121か仮想ボリューム140を特定できる。ディスクアドレス112‐18‐03は、キャッシュスロットがデータを格納するディスクのアドレスを含む。キャッシュスロットはキュー構造であり、次のスロットポインタ112‐18‐04は次のキャッシュスロットナンバーを含む。「ヌル」という入力は、キューの末端を示す。ロック状態112‐18‐05列では、「ロック」という入力はスロットがロックされていることを意味する。「アンロック」という入力はスロットがロックされていないことを意味する。状態が「ロック」の時、CPU111、411は「ロック」により上書きができず、状態が「アンロック」に変わるまで待機する。キューの種類情報112‐18‐11は、キャッシュスロットキューの種類を示す。この列では、「空き」という入力は未使用キャッシュスロットを持つキューを意味し、「クリーン」という入力はディスクスロットと同じデータを格納するキャッシュスロットを持つキューを意味し、「ダーティー」という入力はディスクスロット内のデータとは異なるデータを格納するキャッシュスロットを持つキューを意味するので、ストレージコントローラ110は、今後ディスクスロットにキャッシュスロットデータを掃き出す必要がある。キューインデックスポインタ112‐18‐12はキャッシュスロットキューのインデックスを含む。
0091 ストレージコントローラのメモリ112、412はさらに、キャッシュエリア112‐20を含む。キャッシュエリア112‐20は、キャッシュマネジメントテーブル112‐18に管理されるキャッシュスロット112‐20‐1のナンバーを含む。キャッシュスロットは図19で示される。
0092 本発明の諸側面に従い、ストレージシステムの論理構造が図17から24に関して示され、説明される。図19から24において、実線はオブジェクトがポインタで参照されることを示し、点線はオブジェクトが計算により参照されることを意味する。
0093 図19は本発明の諸側面に従い、容量プールチャンク、容量プールページ、ディスクキャッシュの関係を図示する。
0094 ディスクユニット120内の各ディスクは多数のディスクスロット121‐3に分割される。容量プールチャンク121‐1はRAIDグループ内で構成される多数のディスクスロット121‐3を含む。容量プールチャンク121‐1は0個以上の容量プールページ121‐2を含むことができる。容量プールチャンク121‐1のサイズは固定されている。容量プールページ121‐2は1つ以上のディスクスロット121‐3を含む。容量プールページ121‐2のサイズも固定されている。ストライプのブロックのRAID内にある各ディスクスロット121‐3のサイズは固定され、図24に示されるキャッシュスロット112‐20‐1のサイズと同じである。ディスクスロットはホストデータまたはパリティデータを含む。
0095 図20は本発明の諸側面に従い、仮想ボリュームページ、仮想ボリュームスロット、仮想ボリュームの関係を図示する。
0096 仮想ボリューム140はその容量プールから容量を割り当て、I/O操作を通じてホストコンピュータ300によってアクセスすることもできる。仮想ボリュームは仮想ボリュームスロット140‐2を含む。1つ以上の仮想ボリュームスロット140‐2は仮想ボリュームページ140‐1を形成する。仮想ボリュームスロット140‐2はキャッシュスロット112‐20‐1かディスクスロット121‐3と同じ容量を持つ。
0097 図21は本発明の諸側面に従い、容量プールマネジメントテーブル、容量プール要素マネジメントテーブル、容量プールチャンクマネジメントテーブル、RAIDグループマネジメントテーブル、容量プールチャンクの関係を図示する。
0098 容量プールマネジメントテーブル112‐14、容量プール要素マネジメントテーブル112‐15、容量プールチャンクマネジメントテーブル112‐16、RAIDグループマネジメントテーブル112‐11、容量プールチャンク121‐1の関係が示される。示されるとおり、容量プールマネジメントテーブル112‐14はRAIDグループリスト112‐14‐02に従い、容量プール要素マネジメントテーブル112‐15を参照する。容量プール要素マネジメントテーブル112‐15は容量プールナンバー112‐15‐02に従い、容量プールマネジメントテーブル112‐14を参照する。容量プール要素マネジメントテーブル112‐15は空きチャンクキュー112‐15‐03、使用チャンクキュー112‐15‐04、削除チャンクキュー112‐15‐05に従い、容量プールチャンクマネジメントテーブル112‐16を参照する。容量プール要素マネジメントテーブル112‐15とRAIDグループマネジメントテーブル112‐11の関係は固定されている。容量プールチャンク121‐1と容量プールチャンクマネジメントテーブル112‐16の関係も固定されている。削除容量112‐16‐04はチャンクごとの比較のために容量プールチャンクマネジメントテーブル112‐16で使用される。
0099 図22は本発明の諸側面に従い、仮想ボリューム、仮想ボリュームページ、仮想ボリュームマネジメントテーブル、仮想ボリュームページマネジメントテーブル、容量プールマネジメントテーブル、容量プールチャンク、容量プールページ、容量プール要素マネジメントテーブルの関係を図示する。
00100 仮想ボリュームマネジメントテーブル112‐12は容量プールナンバー情報112‐12‐03に従い、容量プールマネジメントテーブル112‐14を参照する。仮想ボリュームマネジメントテーブル112‐12は現在のチャンク情報112‐12‐05に従い、割り当てられた容量プールチャンク121‐1を参照する。容量プールマネジメントテーブル112‐14は、RAIDグループリスト112‐14‐02に従い、ハードディスク上または外部ボリューム621上のRAIDグループを参照する。仮想ボリュームページマネジメントテーブル112‐13は、容量プールページアドレス112‐13‐03と容量プールページサイズに従い、容量プールページ121‐2を参照する。仮想ボリューム140と仮想ボリュームマネジメントテーブル112‐12の関係は固定されている。仮想ボリュームマネジメントテーブル112‐12と仮想ボリュームマネジメントテーブル112‐13の関係は固定されている。仮想ボリュームページ140‐1と仮想ボリュームページマネジメントテーブル112‐13は固定されている。
00101 図23は本発明の諸側面に従い、仮想ボリューム、仮想ボリュームページ、容量プールチャンク、容量プールページ、容量プールページマネジメントテーブルの関係を図示する。
00102 仮想ボリューム140、仮想ボリュームページ140‐1、容量プールチャンク121‐1、容量プールページ121‐2、容量プールページマネジメントテーブル112‐17の関係が示される。容量プールチャンクマネジメントテーブル112‐16は、仮想ボリュームナンバー112‐16‐02に従い、仮想ボリューム140を参照する。容量プールページマネジメントテーブル112‐17は仮想ボリュームページナンバー112‐17‐02に従い、仮想ボリュームページ140‐1を参照する。容量プールチャンク121‐1と容量プールチャンクマネジメントテーブル112‐16の関係は固定されている。容量プールページマネジメントテーブルの入力内容に従い、容量プールページマネジメントテーブル112‐17を容量プールページ121‐2に対応させることが可能である。
00103 図24は、本発明の諸側面に従い、キャッシュスロット、キャッシュマネジメントテーブル、ディスクスロットの関係を図示する。
00104 キャッシュスロット112‐20‐1、キャッシュマネジメントテーブル112‐18、ディスクスロット121‐3の関係が示される。キャッシュマネジメントテーブル112‐18は、ディスクナンバー112‐18‐02とディスクアドレス112‐18‐03に従い、ディスクスロット121‐3を参照する。キャッシュマネジメントテーブル112‐18とキャッシュスロット112‐20‐1の関係は固定されている。
00105 図25は、本発明の諸側面に従い、2つのストレージサブシステムの仮想ボリュームとペアマネジメントテーブルの関係を図示する。
00106 2つのストレージサブシステム100、400のうち、一方のストレージサブシステム100に属する仮想ボリューム140と、もう一方に属する仮想ボリューム140の関係は、ペアマネジメントテーブル112‐19に従って確立される。ペアマネジメントテーブル112‐19は、各サブシステムのペアマネジメントテーブル112‐19のペア化サブシステム112‐19‐02、ペア化ボリューム112‐19‐03の列の値に従い、一方のストレージサブシステム100の仮想ボリューム140をもう一方のストレージサブシステム400の仮想ボリューム140に対応させる。
00107 図26は、本発明の諸側面に従い、仮想ボリューム、RAIDグループ、外部ボリュームの関係を図示する。
00108 仮想ボリューム140、RAIDグループ、外部ボリューム621の関係が示される。ペア形成の1つのタイプは、一方のストレージサブシステム100の仮想ボリューム140ともう一方のストレージサブシステム400の仮想ボリューム140を対応させることにより確立される。また別のタイプのペア形成では、ストレージサブシステム100の仮想ボリュームページ140‐1が、同じストレージサブシステム100の外部ボリューム621またはディスク121に属する容量プールページ121‐2を参照する。ストレージサブシステム400の仮想ボリュームページ140‐1が、同じストレージサブシステム400の外部ボリューム621またはディスク121に属する容量プールページ121‐2を参照する。外部ボリューム621の同じ容量プールページ121‐2は、ストレージサブシステム100、400のペア化された仮想ボリューム140により共有される。よって仮想ボリューム140はストレージサブシステム間でペア化でき、各ストレージサブシステムの仮想ボリュームは外部ボリュームとペア化できる。しかし各ストレージサブシステムの仮想ボリュームは、同じストレージサブシステムのディスクとしかペア化できない。
00109 図27から38は、ストレージサブシステム100のCPU111またはストレージサブシステム400のCPU411により実行される方法のフローチャートを示す。ストレージサブシステム100のCPU111に関して以下の機能が記述されるが、それらはストレージサブシステム400にも同等に適用される。
00110 図27は本発明の諸側面に従い、ボリューム操作待機プログラムの実施方法の例を図示する。
00111 図6のボリューム操作待機プログラム112‐02‐1の実施方法の一例が、図27のフローチャートに示される。前記の方法は112‐02‐1‐0から始まる。112‐02‐1‐1では前記の方法はCPUがボリューム操作要求を受けたかどうかを決定する。CPUがボリューム操作要求を受けた場合、前記の方法は112‐02‐1‐2に進む。CPUがそのような要求を受けなかった場合、前記の方法は決定ステップ112‐02‐1‐1を繰り返す。112‐02‐1‐2では前記の方法は、受信した要求が「ペア形成」要求であるかどうかを決定する。「ペア形成」要求が受信された場合は、前記の方法はペア形成プログラム112‐02‐2を呼び出し、このプログラムを112‐02‐1‐3で実行する。ステップ112‐02‐1‐3の後、前記の方法は次の要求を待つためステップ112‐02‐1‐1に戻る。受信した要求が「ペア形成」要求ではない場合、112‐02‐1‐4で前記の方法が、受信したメッセージが「ペア削除」であると決定する。「ペア形成」要求がCPU111で受信された場合、前記の方法は112‐02‐1‐5に進む。112‐02‐1‐5ではCPU111が、2つ以上のストレージサブシステム間の既存の仮想ボリュームペア形成を解除するためペア形成プログラム112‐02‐3を呼び出す。「ペア削除」要求が受信されない場合、前記の方法はステップ112‐02‐1‐1に戻る。同じく、ステップ112‐02‐1‐5の後、前記の方法はステップ112‐02‐1‐1に戻る。
00112 図28は本発明の諸側面に従い、ペア形成プログラムの実施方法の例を図示する。
00113 図6のペア形成プログラム112‐02‐2の実施方法の一例が、図28のフローチャートに示される。この方法はいずれか一方のストレージサブシステムのCPUにより実行可能である。前記の方法は112‐02‐2‐0で始まる。112‐02‐2‐1で前記の方法は、指定された仮想ボリューム140が既に他のボリュームとペア化されているかどうかを決定する。図17のペア化サブシステム情報112‐19‐02、ペア化ボリュームナンバー情報112‐19‐03、ペア状態情報112‐19‐04が「N/A」に設定されている場合、仮想ボリュームはペア化されていない。このボリュームにペアが存在する場合、前記の方法は112‐02‐2‐11でエラーが発生したと決定する。ペアが存在しない場合、前記の方法はステップ112‐02‐2‐2に進み、指定された仮想ボリューム140の状態をチェックする。ここで前記の方法は、指定されたボリュームの要求された状態がマスタであるかどうかを決定する。状態がマスタであると決定された場合、前記の方法はステップ112‐02‐2‐3に進み、「ペア形成」要求を、もう一方のストレージサブシステムに送信する。112‐02‐2‐3で、マスタ状態の指定ボリュームとのペア化関係を確立するよう要求するために、「ペア形成」要求メッセージがもう一方のサブシステムに送信される。
00114 112‐02‐2‐4では前記の方法はCPUが返信メッセージを受信するのを待つ。112‐02‐2‐5で返信メッセージがチェックされる。メッセージが「OK」の場合、ペア化情報の設定は成功し、前記の方法はステップ112‐0‐2‐6に進む。112‐02‐2‐6では前記の方法は、指定された仮想ボリュームのペア化サブシステム情報112‐19‐02、ペア化ボリュームナンバー情報112‐19‐03、マスタまたはスレーブ状態112‐19‐04を含むペアマネジメントテーブル112‐19内の情報に従い、指定された仮想ボリューム140の情報を設定する。その後、前記の方法はステップ12‐02‐2‐7に進み、「完了」メッセージが「ペア形成」要求の送信者へ送信される。「ペア形成」要求は通常、ホストコンピュータ300かマネジメントターミナル130かマネジメントターミナル430により送信される。112‐02‐2‐10でペア形成プログラム112‐02‐2が終了する。
00115 112‐02‐2‐2で、指定された仮想ボリュームの状態がマスタと決定されない場合、状態はスレーブであり、前記の方法はステップ12‐02‐2‐8に進む。12‐02‐2‐8では前記の方法は、ペアマネジメントテーブル112‐19内の、指定されたボリューム140に関する情報、例えばペア化サブシステム情報112‐19‐02、ペア化ボリュームナンバー情報112‐19‐03と状態112‐19‐04等に従い、指定された仮想ボリューム140とそのペアのペア化関係を設定する。112‐02‐2‐9ではCPUが「ペア形成」要求の送信者に「OK」メッセージを送信する。「ペア形成」要求の送信者は「マスタ」ボリュームを含むもう一方のストレージサブシステムの場合もある。このステップの後、112‐02‐2‐10でペア形成プログラム112‐02‐2が終了する。
00116 図29は本発明の諸側面に従い、ペア削除プログラムの実施方法の例を図示する。
00117 図6のペア削除プログラム112‐02‐3の実施方法の一例が、図29のフローチャートに示される。この方法はいずれか一方のストレージサブシステムのCPUにより実行可能である。
00118 前記の方法は112‐02‐3‐0で始まる。112‐02‐3‐1では前記の方法が、指定された仮想ボリューム140が既にマスタ/スレーブ関係で他のボリュームとペア化されているかどうかを決定する。図17のペア化サブシステム情報112‐19‐02、ペア化ボリュームナンバー情報112‐19‐03、ペア状態情報112‐19‐04が「N/A」に設定されている場合、仮想ボリュームはまだペア化されていない。このボリュームにペアが存在しない場合、前記の方法は、削除対象のペアがないので112‐02‐3‐11でエラーが発生したと決定する。ペアが存在する場合、前記の方法はステップ112‐02‐3‐2に進み、指定された仮想ボリューム140の状態をチェックする。ここで前記の方法は、指定されたボリュームの要求された状態がマスタであるかどうかを決定する。状態がマスタであると決定された場合、前記の方法はステップ112‐02‐3‐3に進み、指定ボリュームとそのスレーブボリュームのペア化解除を要求するために、「ペア削除」要求をもう一方のストレージサブシステムに送信する。
00119 112‐02‐3‐4では前記の方法はCPUが返信メッセージを受信するのを待つ。112‐02‐3‐5で返信メッセージがチェックされる。メッセージが「OK」の場合、ペア化情報の設定は成功しており、前記の方法はステップ112‐0‐3‐6に進む。112‐02‐3‐6では前記の方法は、ペア化サブシステム情報112‐19‐02、ペア化ボリュームナンバー情報112‐19‐03、マスタまたはスレーブ状態112‐19‐04を含むペアマネジメントテーブル112‐19から、ペアに関する情報を削除する。その後、前記の方法はステップ12‐02‐3‐7に進み、「完了」メッセージが「ペア削除」要求の送信者へ送信される。「ペア削除」要求は通常、ホストコンピュータ300かマネジメントターミナル130かマネジメントターミナル430により送信される。112‐02‐3‐10でペア削除プログラム112‐02‐3が終了する。
00120 112‐02‐3‐2で状態がマスタ状態ではないと決定された場合、ボリュームの状態はスレーブであり、前記の方法は112‐02‐3‐8に進む。112‐02‐3‐8で前記の方法は、指定された仮想ボリューム140とそのペアをマネジメントテーブル112‐19から削除する。このステップは、ペア化サブシステム情報112‐19‐02、ペア化ボリュームナンバー情報112‐19‐03、マスタまたはスレーブ状態112‐19‐04をペアマネジメントテーブル112‐19から削除することを含む。112‐02‐3‐9でCPUは「ペア削除」要求の送信者に「OK」メッセージを送信する。「ペア削除」要求の送信者は「マスタ」ボリュームを含むもう一方のストレージサブシステムの場合もある。このステップの後、112‐02‐3‐10でペア削除プログラム112‐02‐3が終了する。
00121 図30は本発明の諸側面に従い、スロット操作プログラムの実施方法の例を図示する。
00122 図4および図5のスロット操作プログラム112‐09の実施方法の一例が、図30のフローチャートに示される。この方法は図26および図27で示される方法と同じく、いずれか一方のストレージサブシステムのCPUにより実行可能である。
00123 前記の方法は112‐09‐0で始まる。112‐09‐1では前記の方法はスロット操作要求が受信されたかどうかを決定する。要求が受信されていた場合、前記の方法は112‐09‐2に進む。そのような要求がCPU111に受信されていない場合、前記の方法はステップ112‐09‐1を繰り返す。112‐09‐2で、前記の方法は要求される操作のタイプを決定する。CPU111が「スロットロック」要求を受信した場合、前記の方法はステップ112‐09‐3に進む。CPU111が「スロットロック」要求を受信していない場合、前記の方法はステップ112‐09‐4に進む。112‐09‐3で前記の方法は、キャッシュマネジメントテーブル112‐18のロック状態列112‐18‐05に「ロック」状態を書き込むことにより、スロットのロックを試みる。しかし状態が既に「ロック」に設定されている以上、これは不可能である。状態が「ロック」の時、CPU111は状態が「アンロック」に変わるまで待つ。CPUが「ロック」情報の書き込みを終了した後、前記の方法はステップ112‐09‐6に進み、要求の送信者へ承認が送信される。このステップの後、スロット操作プログラムは112‐09‐7で終了する。112‐09‐4で前記の方法は「スロットアンロック」要求が受信されたかどうかを決定するため、受信された操作要求をチェックする。要求が「スロットアンロック」要求ではない場合、前記の方法は次の要求をチェックするため112‐09‐1に戻る。要求が「スロットアンロック」要求の場合、前記の方法は112‐09‐5に進む。112‐09‐5で、前記の方法はキャッシュマネジメントテーブル112‐18のロック状態列112‐18‐05に「アンロック」状態を書き込む。テーブルへの「アンロック」状態の書き込みを終了した後、前記の方法はステップ112‐09‐6に進み、承認は要求の送信者へ返され、スロット操作プログラムは112‐09‐7で終了する。
00124 図31は本発明の諸側面に従い、ライトI/O操作プログラムの実施方法の例を図示する。
00125 図7のライトI/O操作プログラム112‐04‐1の実施方法の一例が、図31のフローチャートに示される。この方法は、いずれか一方のストレージサブシステムのCPUにより実行可能である。
00126 前記の方法は112‐04‐1‐0で始まる。112‐04‐1‐1では前記の方法はライトI/O操作要求が受信されたかどうかを決定する。ライトI/O要求が受信されていない場合、前記の方法は112‐04‐1‐1を繰り返す。ライトI/O要求が受信されている場合、前記の方法はステップ112‐04‐1‐2に進む。112‐04‐1‐2で、前記の方法はライトI/O要求を送信したイニシエータを決定するためチェックを行う。ホストコンピュータ300か、ストレージサブシステム100、400のうち1つのいずれかが、要求を送信する可能性がある。要求がホストコンピュータ300により送信された場合、前記の方法は112‐04‐1‐5に進む。要求が他方のストレージサブシステムにより送信された場合、前記の方法は112‐04‐1‐3に進む。
00127 要求がストレージサブシステムの1つにより送信された場合、112‐04‐1‐3で前記の方法はペア状態情報を参照することにより、ストレージサブシステムの仮想ボリュームの状態をチェックする。状態が「マスタ」か「N/A」の場合、前記の方法は112‐04‐1‐5に進む。状態が「スレーブ」の場合、前記の方法はステップ112‐04‐1‐4に進む。112‐04‐1‐4では前記の方法はライトI/Oを複製し、スレーブである他方のストレージサブシステム内のペア化仮想ボリュームに送信する。ライトI/Oのターゲットは、図17に示されるペアマネジメントテーブル112‐19の、ペア化ボリュームサブシステム列112‐19‐02とペア化ボリュームナンバー列112‐04‐03を参照することにより決定される。その後、前記の方法は112‐04‐1‐5に進む。
00128 要求のイニシエータがホストコンピュータ300か、マスタ仮想ボリューム状態のストレージサブシステムの1つである場合、前記の方法は直接に112‐04‐1‐5へ進み、イニシエータがスレーブ仮想ボリューム状態のストレージサブシステムの1つである場合、前記の方法は112‐04‐1‐4を経由してから112‐04‐1‐5に到達する。112‐04‐1‐5では前記の方法は、I/Oライトデータのための仮想ボリュームに対応するキャッシュスロット112‐20‐1発見のため、キャッシュマネジメントテーブル112‐18を検索する。これらのキャッシュスロットは「空き」、「クリーン」、「ダーティ」キューにリンクされる。CPUが空きキャッシュスロット112‐20‐1を発見した場合、前記の方法はステップ112‐04‐1‐7に進む。CPUが空きキャッシュスロット112‐20‐1を発見しなかった場合、前記の方法はステップ112‐04‐1‐6に進む。112‐04‐1‐6で前記の方法は、図18、図24に示されるキャッシュマネジメントテーブル112−18の「空き」キューにリンクされたキャッシュスロット112‐20‐1を得てから、ステップ112‐04‐1‐7に進む。
00129 112‐04‐1‐7で前記の方法は、選択されたスロットにリンクされたロック状態列112‐18‐05に「ロック」情報を書き込むことにより、スロットのロックを試みる。状態が「ロック」の場合、CPUはスロットを上書きできず、状態が「アンロック」に変わるまで待つ。「ロック」状態の書き込みが終了した後、CPUはステップ112‐04‐1‐8に進む。112‐04‐1‐8で前記の方法は、ホストコンピュータ300か他方のストレージサブシステムからキャッシュスロット112‐20‐1にライトI/Oデータを転送する。112‐04‐1‐9で、前記の方法は「アンロック」状態をロック状態列112‐18‐05に書き込む。CPUが「アンロック」の書き込みを終えた後、前記の方法は112‐04‐1‐10に進む。
00130 112‐04‐1‐10で、前記の方法はライトI/O要求を送信したイニシエータを決定するため、再確認を行う。あるいは、この情報を保存してCPUに対して利用可能とする場合もある。ホストコンピュータ300が要求を送信した場合、前記の方法は112‐04‐1‐1に戻る。ストレージサブシステムの1つが要求を送信した場合、前記の方法は112‐04‐1‐11に進む。112‐04‐1‐11で、前記の方法は、図17に示されるペアマネジメントテーブル112‐19のペア状態列を参照することにより、キャッシュスロットに書き込むデータのある仮想ボリュームの状態をチェックする。状態が「スレーブ」か「N/A」の場合、前記の方法はステップ112‐04‐1‐1に戻る。状態が「マスタ」の場合、前記の方法は112‐04‐1‐12に進む。112‐04‐1‐12で、前記の方法はライトI/Oを複製し、スレーブボリュームになる他方のストレージサブシステムのペア化仮想ボリュームに送信する。前記の方法は、ペアマネジメントテーブル112‐19のペア化ボリュームサブシステム列112‐19‐02とペア化ボリュームナンバー列112‐19‐03を参照することにより、ライトI/Oターゲットを発見する。その後、前記の方法は112‐04‐1‐1に戻る。
00131 図32は本発明の諸側面に従い、リードI/O操作プログラムの実施方法の例を図示する。
00132 図7のリードI/O操作プログラム112‐04‐2の実施方法の一例が、図31のフローチャートに示される。この方法は、いずれか一方のストレージサブシステムのCPUにより実行可能である。
00133 前記の方法は112‐04‐2‐0で始まる。112‐04‐2‐1では前記の方法はリードI/O操作要求が受信されたかどうかを決定する。リード要求が受信されていない場合、前記の方法は112‐04‐2‐1を繰り返す。リード要求が受信された場合、前記の方法はステップ112‐04‐2‐2に進む。112‐04‐2‐2で、CPU111はI/O要求のキャッシュスロット112‐18‐1を発見するため、「クリーン」または「ダーティ」キューにリンクされたキャッシュマネジメントテーブル112‐18を検索する。CPUが対応キャッシュスロットを発見した場合、前記の方法はステップ112‐04‐2‐6に進む。CPUが対応キャッシュスロットを発見できない場合、前記の方法はステップ112‐04‐2‐3に進む。112‐04‐2‐3で前記の方法はキャッシュマネジメントテーブル112‐18の「空き」キューにリンクされたキャッシュスロット112‐20‐1を発見し、ステップ112‐04‐2‐4に進む。112‐04‐2‐4でCPU111は仮想ボリュームページマネジメントテーブル112‐13を検索し、仮想ボリュームページが参照する容量プールページ121‐2を発見する。前記の方法は続いて112‐04‐2‐5に進む。112‐04‐2‐5ではCPU111は図24に示されるように、ディスクスロット121‐3からキャッシュスロット112‐20‐1へデータを転送するため、キャッシュステージングプログラム112‐05‐2を呼び出す。112‐04‐2‐5の後、前記の方法は112‐04‐2‐6に進む。
00134 112‐04‐2‐6で、CPU111は選択されたスロットにリンクされたロック状態列112‐18‐05に「ロック」状態を書き込もうとする。状態が「ロック」の時、CPU111とCPU411はスロットを上書きできず、状態が「アンロック」に変わるまで待つ。「ロック」状態の書き込みを終了後、前記の方法はステップ112‐04‐2‐7に進む。112‐04‐2‐7ではCPU111はリードI/Oデータをキャッシュスロット112‐20‐1からホストコンピュータ300へ転送し、112‐04‐2‐8に進む。112‐04‐2‐8でCPU111は、ロック状態列112‐18‐05に「アンロック」状態を書き込むことにより、スロットの状態をアンロックに変更する。前記の方法がスロットの「アンロック」を終えた後、次のリードI/O操作を待つため112‐04‐2‐1に戻る。
00135 図33Aおよび図33Bは本発明の諸側面に従い、容量プールページ割り当てプログラムの実施方法の例を図示する。
00136 図9の容量プールページ割り当てプログラム112‐08‐1の実施方法の一例が、図33Aおよび図33Bのフローチャートに示される。この方法は、いずれか一方のストレージサブシステムのCPUにより実行可能であり、容量プールページ割り当てプログラム実施のために利用される。
00137 前記の方法は112‐08‐1‐0で始まる。112‐08‐1‐1で、前記の方法はペアマネジメントテーブル112‐19内のペア状態列112‐19‐04を参照することにより、仮想ボリューム140の状態をチェックする。状態が「マスタ」か「N/A」の場合、前記の方法はステップ112‐08‐1‐5に進む。状態が「スレーブ」の場合、前記の方法はステップ112‐08‐1‐2に進む。112‐08‐1‐2で前記の方法はマスタボリュームが属するストレージサブシステムに、参照された容量プールページを求める要求を送信する。前記の方法はペアマネジメントテーブル112‐9のペア化ボリュームサブシステム列112‐19‐02とペア化ボリュームナンバー列112‐19‐03を参照することによりストレージサブシステムを決定する。このようにして前記の方法は、仮想ボリュームページと容量プールページの関係に関する情報を得る。その後、前記の方法は112‐08‐1‐3に進む。112‐08‐1‐3で前記の方法は、図10のRAIDグループマネジメントテーブル112−11中のRAIDレベル列112‐11‐02を参照することにより、ページのソースをチェックする。前記のテーブルでRAIDレベルの状態が「EXT」と記される場合、ページは外部ボリュームに属し、前記の方法はステップ112‐08‐1‐5に進む。そうではない場合と、RAIDレベル列に他の入力がある場合、ページは内部ボリュームに属し、前記の方法はステップ112‐08‐1‐4に進む。112‐08‐1‐4で前記の方法は、ボリュームページマネジメントテーブル112‐13と容量プールページマネジメントテーブル112‐17で提供される情報に従い、仮想ボリュームページと容量プールページの関係を設定する。このステップの後、前記の方法は容量プールマネジメントプログラム112‐08‐1のCPUの実施過程を終了し、112‐08‐1‐2で終了する。
00138 参照されたページを含むストレージサブシステムの状態が「マスタ」か「N/A」の場合、前記の方法はステップ112‐08‐1‐5に進む。112‐08‐1‐5で前記の方法は、図11の仮想ボリュームマネジメントテーブル112‐12の、容量プール列112−12−05で現在使用されているRAIDグループとチャンクの列にある情報を利用する容量プールチャンクに、前記の外部ボリュームが関連するかどうかを決定する。現在のチャンク列112‐12‐05への入力内容が「N/A」の場合、前記の方法はステップ112‐08‐1‐7に進む。現在のチャンク列112‐12‐05が「N/A」以外の入力内容の場合、前記の方法はステップ112‐08‐1‐6に進む。112‐08‐1‐6で前記の方法は、前記の容量プールページ中の空きページサイズをチェックする。空きページがチャンク内に発見された場合、前記はステップ112‐08‐1‐8に進む。空きページがチャンク内に発見されない場合、前記の方法はステップ112‐08‐1‐7に進む。112‐08‐1‐7で前記の方法は、現在のチャンク列112‐12‐05が参照する容量プールページマネジメントテーブル112‐17と、図14の容量プール要素マネジメントテーブル112‐15の使用チャンクキューインデックス112‐15‐04を移動、結合させることで、古い容量プールチャンクを解放する。その後、前記の方法はステップ112‐08‐1‐8に進む。
00139 112‐08‐1‐8で前記の方法は、容量プール要素マネジメントテーブル112‐15の空きチャンクキューインデックス112‐15‐03が参照している容量プールマネジメントテーブル112‐17を現在のチャンク列112‐12‐05に結合させる。その後、前記の方法はステップ112‐08‐1‐9に進む。
00140 112‐08‐1‐9で前記の方法は、RAIDグループマネジメントテーブル112‐11のRAIDレベル列112‐11‐02を読み取ることにより、外部ボリューム621などの共有外部ボリュームに、前記の新しい容量プールチャンクが属するかどうかをチェックする。RAIDレベル列の状態が「EXT」と記されない場合、前記の方法はステップ112‐08‐1‐11に進む。RAIDレベル列の状態が「EXT」の場合、前記の方法はステップ112‐08‐1‐10に進む。112‐08‐1‐10で前記の方法は、新しい容量プールチャンクのために同じ外部ボリュームを共有するほかのストレージサブシステムに、「チャンク解放」要求メッセージを送信する。要求メッセージはブロードキャスティングで送信可能である。
00141 112‐08‐1‐10の後、かつRAIDレベル列に「EXT」と記されていない場合、前記の方法はステップ112‐08‐1‐11に進む。112‐08‐1‐11で前記の方法は、図12の仮想ボリュームページマネジメントテーブル112‐13と図17の容量プールページマネジメントテーブル112‐17の仮想ボリュームページと容量プールページの関係を設定することにより、新しく得た容量ページを仮想ボリュームページに割り当てる。このステップの後、容量プールマネジメントプログラム112‐08‐1の方法と実施が112‐08‐12で終了する。
00142 図34は本発明の諸側面に従い、キャッシュステージングプログラムの実施方法の例を図示する。
00143 図8のキャッシュステージングプログラム112‐08‐2の実施方法の一例が、図34のフローチャートに示される。この方法は、いずれか一方のストレージサブシステムのCPUにより実行可能である。
00144 前記の方法は112‐05‐2‐0で始まる。キャッシュステージングの方法は、CPUによるキャッシュステージングプログラム112‐05‐2を含む場合もある。112‐05‐2‐1で、前記の方法は図24に示される通り、スロットデータをディスクスロット121‐3からキャッシュスロット112‐20‐1に転送する。キャッシュステージングプログラムは112‐05‐2‐2で終了する。
00145 図35は本発明の諸側面に従い、ディスク掃き出しプログラムの実施方法の例を図示する。
00146 図8のディスク掃き出しプログラム112‐05‐1の実施方法の一例が、図35のフローチャートに示される。この方法は、いずれか一方のストレージサブシステムのCPUにより実行可能である。
00147 前記の方法は112‐05‐1‐0で始まる。ディスク掃き出しの方法は、CPUによるディスク掃き出しプログラム112‐05‐1を含む場合もある。112‐05‐1‐1で、前記の方法はキャッシュスロットを発見するため、キャッシュマネジメントテーブル112‐18の「ダーティ」キューを検索する。スロットが発見された場合、前記の方法は、ダーティキャッシュスロットであるダーティキューの第1のスロットを得て、112‐05‐1‐2に進む。112‐05‐1‐2で、前記の方法はキャッシュデステージプログラム112‐05‐3を呼び出し、ダーティキャッシュスロットをデステージする。このステップの後、前記の方法は112‐05‐1‐1に戻り、ダーティキャッシュスロットの検索を続ける。また、112‐05‐1‐1でダーティキャッシュスロットが発見されない場合にも、前記の方法はそのようなスロットの検索を続けるため、同じ112‐05‐1‐1に戻る。
00148 図36、図37、図38は本発明の諸側面に従い、キャッシュデステージプログラムの実施方法の例を図示する。
00149 図8のキャッシュデステージプログラム112‐05‐3の実施方法の一例が、図34A、34B、34Cのフローチャートに示される。この方法は、いずれか一方のストレージサブシステムのCPUにより実行可能である。
00150 前記の方法は112‐05‐3‐0で始まる。前記の方法はCPUによるキャッシュデステージプログラム112‐05‐3の実行により行われる。112‐05‐3‐1で前記の方法は、図17のペアマネジメントテーブル112‐19の状態列を参照することにより、仮想ボリューム140の状態をチェックする。状態が「マスタ」か「N/A」の場合、前記の方法は図37のステップ112‐05‐3‐8に進む。状態が「スレーブ」の場合、前記の方法は図37のステップ112‐05‐3‐2に進む。112‐05‐3‐2で、前記の方法はデステージ対象のスロットを含む仮想ボリュームページに関する容量プール割り当ての状態をチェックする。前記の方法は、図12の仮想ボリュームページマネジメントテーブル112‐13から、関連するRAIDグループナンバー112‐13‐02と容量プールページアドレス112‐13‐03を読み取る。パラメータが「N/A」ではない場合、前記の方法はステップ112‐05‐3‐5に進む。パラメータが「N/A」の場合、前記の方法はステップ112‐05‐3‐3に進む。112‐05‐3‐3で前記の方法は、新しい容量プールページをスロットに割り当てるために容量プールページ割り当てプログラム112‐08‐1を呼び出し、ステップ112‐05‐3‐4に進む。112‐05‐3‐4で前記の方法は、ページ初期化のために新しく割り当てられたページのスロット全体に「0」を入力する。ページのうち書き込みのあるエリアは上書きされない。前記の方法はその後、112‐05‐3‐5に進む。112‐05‐3‐5で前記の方法は、選択されたスロットにリンクされたロック状態列112‐18‐05に「ロック」状態を書き込もうとする。これによりスロットはロックされる。状態が「ロック」の場合、CPUはスロット内のデータを上書きできず、状態が「アンロック」になるのを待つ。前記の方法が「ロック」書き込みを終えた後、前記の方法はステップ112‐05‐3‐6に進む。112‐05‐3‐6で前記の方法はスロットデータをキャッシュスロット112‐20‐1からディスクスロット121‐3に転送し、ステップ112‐05‐3‐7に進む。112‐05‐3‐7で前記の方法はロック状態列112‐18‐05に「アンロック」状態を書き込む。「アンロック」の書き込みを終了後、キャッシュデステージプログラムは112‐05‐3‐30で終了する。
00151 ボリュームの状態がスレーブの場合、前記の方法は112‐05‐3‐1から112‐05‐3‐8に進み、スロットを含む仮想ボリュームページについて、容量プール割り当ての状態をチェックする。前記の方法は、仮想ボリュームページマネジメントテーブル112‐13の関連RAIDグループナンバー112‐13‐02と容量プールページアドレス112‐13‐03を読み取る。パラメータが「N/A」の場合は、仮想ボリュームのスロットに対応する容量プールページがあり、前記の方法はステップ112‐05‐3‐10に進む。112‐05‐3‐10で、前記の方法はマスタボリュームのストレージサブシステム内の容量プールページの割り当て状態を決定する。この場合、前記の方法は図17のペアマネジメントテーブル112‐19のペア化ボリュームサブシステム列112‐19‐02とペア化ボリュームナンバー列112‐19‐03を参照することにより、ストレージサブシステムを決定し、仮想ボリュームページと容量プールページの関係を得る。その後、前記の方法は112‐05‐3‐11に進む。112‐05‐3‐11で前記の方法は、仮想ボリュームマネジメントテーブルから関連するRAIDグループナンバー112‐13‐02と容量プールページアドレス112‐13‐03を読み取ることにより、前記のスロットを含む仮想ボリュームページの容量プール割り当ての状態をチェックする。パラメータが「N/A」の場合、マスタスロットに割り当てられた容量プールページはなく、前記の方法はステップ112‐05‐3‐12に進む。112‐05‐3‐12で前記の方法は、マスタの割り当て完了を待つのに適した長さでスリープし、その後ステップ112‐05‐3‐10に戻る。パラメータが「N/A」ではない場合、マスタスロットに割り当てられた容量プールページはなく、前記の方法はステップ112‐05‐3‐13に進む。112‐05‐3‐13で前記の方法は、仮想ボリュームページマネジメントテーブル112‐13と容量プールページマネジメントテーブル112−17の情報に従い、マスタボリュームの仮想ボリュームページと容量プールページの関係を設定する。この後、前記の方法はステップ112‐05‐3‐20に進む。
00152 112‐05‐3‐20では、前記の方法はマスタボリュームのストレージサブシステムに「スロットロック」メッセージを送る。メッセージは受信されたという承認を受信した後、前記の方法はステップ112‐05‐3‐21に進む。112‐05‐3‐21で前記の方法はマスタボリュームのスロット情報について質問する。回答を受信した後、前記の方法はステップ112‐05‐3‐22に進む。112‐05‐3‐22で前記の方法はマスタボリュームのスロット状態をチェックする。状態が「ダーティ」の場合、前記の方法は112‐05‐3‐23に進む。状態が「ダーティ」でない場合、前記の方法は112‐05‐3‐27に進む。112‐05‐3‐23で前記の方法は、キャッシュマネジメントテーブルで選択されたスロットにリンクされたロック状態列112‐18‐05に「ロック」状態を書き込むことにより、スロットのロックを試みる。状態が「ロック」の時、CPUは他の「ロック」コマンドでスロットを上書きすることができず、状態が「アンロック」に変わるのを待つ。CPUが「ロック」状態の書き込みを完了した後、前記の方法はステップ112‐05‐3‐24に進む。112‐05‐3‐24で前記の方法は、スレーブのスロット状態を「クリーン」に変更し、ステップ112‐05‐3‐25に進む。112‐05‐3‐25で、前記の方法はキャッシュマネジメントテーブルのロック状態列112‐18‐05に「アンロック」状態を書き込み、ステップ112‐05‐3‐26に進む。112‐05‐3‐26で前記の方法はマスタボリュームのストレージサブシステムに「スロットアンロック」メッセージを送る。承認を受信した後、前記の方法はキャッシュデステージプログラム112‐05‐3を、112‐05‐3‐30で終了する。
00153 マスタ状態が「ダーティ」の場合、112‐05‐3‐27で前記の方法は、選択されたスロットにリンクされたロック状態列112‐18‐05に「ロック」状態を書き込もうとする。状態が「ロック」の時、CPUは他の「ロック」コマンドでスロットを上書きすることができず、状態が「アンロック」に変わるのを待つ。「ロック」状態の書き込みを完了した後、CPUはステップ112‐05‐3‐28に進む。112‐05‐3‐28で、前記の方法はスロットデータをキャッシュスロット112‐20‐1からディスクスロット121‐3に転送する。転送の完了後、前記の方法はキャッシュスロット112‐20‐1を図18のキャッシュマネジメントテーブル112‐18のキューインデックスポインタ112‐18‐12の「クリーン」キューにリンクする。その後、前記の方法はステップ112‐05‐3‐26に進み、マスタボリュームのストレージサブシステムにアンロック要求を送信した後、前記の方法は112‐05‐3‐30で終了する。
00154 図39は本発明の諸側面に従い、容量プールガーベッジコレクションプログラムの実施方法の例を図示する。
00155 図9の容量プールガーベッジコレクションプログラム112‐08‐2の実施方法の一例が、図39のフローチャートに示される。この方法は、いずれか一方のストレージサブシステムのCPUにより実行可能である。
00156 前記の方法は112‐08‐2‐0で始まる。112‐08‐2‐1で、前記の方法は、容量プール要素マネジメントテーブル112‐15によりインデックス付けされた、使用チャンクキューにリンクされたチャンクを見つけるため、容量プールチャンクマネジメントテーブル112‐16を検索する。前記の方法は削除容量列112‐16‐04を参照し、前記のチャンクに対応する値が0以上であるかどうかをチェックし、これにより前記の方法はこのチャンクを「部分的に削除されたチャンク」として扱う。「部分的に削除されたチャンク」を発見できない場合、前記の方法はステップ112‐08‐2‐1を繰り返す。
00157 部分的に削除されたチャンクを発見した場合、前記の方法はステップ112‐08‐2‐2に進む。112‐08‐2‐2で前記の方法は、部分的に削除されたチャンクの代わりに新しい容量プールチャンク121‐1を割り当てるため、容量プール要素マネジメントテーブル112‐15によりインデックス付けされた「空きチャンク」キューにリンクされる容量プールチャンクマネジメントテーブル112‐16にアクセスする。その後、前記の方法はステップ112‐08‐2‐3に進む。
00158 112‐08‐2‐3で、前記の方法はステップ112‐08‐2‐4からステップ112‐08‐2‐7までを繰り返すポインタをクリアする。ポインタをクリアするため、前記の方法はポインタAを現在割り当てられているチャンクの第1のスロットに設定し、ポインタBは新しく割り当てられるチャンクの第1のスロットに設定する。その後、前記の方法はステップ112‐08‐2‐4に進む。
00159 112‐08‐2‐4で前記の方法は、スロットがチャンクの削除ページにあるかどうかを決定する。この決定を行うため、前記の方法は容量プールマネジメントテーブル112‐17を読み取り、容量プールページインデックス112‐17‐1からページオフセットを計算し、仮想ボリュームページナンバー112‐17‐02をチェックする。仮想ボリュームページナンバー112‐17‐02が「ヌル」の場合、前記の方法は112‐08‐2‐6に進む。仮想ボリュームページナンバー112‐17‐02が「ヌル」ではない場合、前記の方法は112‐08‐2‐5に進む。112‐08‐2‐5で、前記の方法はポインタAが示したスロットからポインタBが示したスロットにデータをコピーする。前記の方法は新しく割り当てられたチャンクの次のスロットにポインタBを進める。前記の方法はその後、ステップ112‐08‐2‐6に進む。
00160 112‐08‐2‐6で、前記の方法はポインタAをチェックする。ポインタAが現在のチャンクの最後のスロットに到達した場合、前記の方法はステップ112‐08‐2‐8に進む。ポインタAが現在のチャンクの最後のスロットに到達していない場合、前記の方法はステップ112‐08‐2‐7に進む。112‐08‐2‐7で前記の方法は現在のチャンクの次のスロットにポインタAを進める。その後、前記の方法は次のスロットをチェックするため、ステップ112‐08‐2‐4に戻る。
00161 ポインタAが112‐08‐2‐6でチャンクの下部に到達した場合、前記の方法は112‐08‐2‐8に進む。112‐08‐2‐8で前記の方法は、容量プールページマネジメントテーブル112‐17へコピーされたスロットの仮想ボリュームページ140‐1アドレスを格納し、新しくコピーされた容量プールページ121‐1アドレスとサイズを含むよう、仮想ボリュームページマネジメントテーブルを変更する。その後、前記の方法はステップ112‐08‐2‐9に進む。112‐08‐2‐9で前記の方法は、部分的に削除されたチャンクが発見されたものである現在のチャンクを、容量プール要素マネジメントテーブル112‐15によりインデックス付けされた「空きチャンク」キューに設定する。その後、前記の方法はステップ112‐08‐2‐1に戻る。
00162 図40は本発明の諸側面に従い、容量プールチャンク解放プログラムの実施方法の例を図示する。
00163 図9の容量プールチャンク解放プログラム112‐08‐3の実施方法の一例が、図40のフローチャートに示される。この方法は、いずれか一方のストレージサブシステムのCPUにより実行可能である。
00164 前記の方法は112‐08‐3‐0で始まる。112‐03‐3‐1で前記の方法は、「チャンク解放」操作要求が受信されたかどうかを決定する。要求が受信されていない場合、前記の方法は112‐08‐3‐1を繰り返す。こうした要求が受信された場合、前記の方法はステップ112‐08‐3‐2に進む。112‐08‐03‐2で、前記の方法は容量プール要素マネジメントテーブル112‐15によりインデックス付けされた「空きチャンク」にリンクされる仮想ボリュームを探して、容量プールチャンクマネジメントテーブル112‐16を検索する。前記の方法は、容量プールチャンクマネジメントテーブル112‐16から得たターゲットかボリュームを、「空きチャンク」キューから「削除されたチャンク」キューに送信し、112‐08‐03‐3に進む。112‐08‐03‐3で前記の方法は、ストレージサブシステムから「チャンク解放」操作要求への承認を返す。その後、前記の方法はステップ112‐08‐03‐1に戻る。
00165 図41、図42、図43、図44はマスタボリューム、スレーブボリュームへのライトI/Oとデステージの操作シーケンスを示す。これらの図では、ストレージサブシステム100の仮想ボリューム140は「マスタ」状態で動作し、140mと称する。ストレージサブシステム400の仮想ボリューム140は「スレーブ」状態で動作し、140sと称する。これらの図では、図1はホストコンピュータ300、ストレージサブシステム100、400、外部ボリューム621を示すために簡略化されている。マスタ仮想ボリューム、スレーブかボリュームは、140m、140sとして示される。S1‐1として示されるステップ等に加え、矢印の横の丸数字は実行中の操作のシーケンスを示す。
00166 図41は本発明の諸側面に従い、マスタボリュームへのI/O書き込みのシーケンスを示す。
00167 図41に示されるシーケンスはライトI/O操作プログラム112‐04‐1に対応する。S1‐1でホストコンピュータ300はライトI/O要求と、仮想ボリューム140mに書き込むべきデータを送信する。ストレージサブシステム100はライトI/Oデータをキャッシュスロットに格納する。この操作の進行中、ストレージサブシステム100はスロットをロックする。S1‐2ではライトI/Oデータをキャッシュエリアに格納した後、ストレージサブシステム100はこのライトI/O要求と書き込むべき付随データを、ストレージサブシステム400の仮想ボリューム140sに複製する。ストレージサブシステム400は自己のキャッシュスロットにライトI/Oデータを格納する。この操作の進行中、ストレージサブシステム400はスロットをロックする。S1‐3ではライトI/Oデータをキャッシュエリアに格納した後、仮想ストレージサブシステム400がストレージサブシステム100に承認メッセージを返す。S1‐4では前記の承認をストレージサブシステム400から受信した後、仮想ストレージサブシステム100はホストコンピュータ300に承認メッセージを返す。
00168 図42は本発明の諸側面に従い、スレーブボリュームへのI/O書き込みのシーケンスを示す。
00169 図42に示されるシーケンスも、ライトI/O操作プログラム112‐04‐1に対応する。S2‐1でホストコンピュータ300はライトI/O要求と、仮想ボリューム140sに書き込むべき付随データを送信する。S2‐2では、ストレージサブシステム400が、受信したライトI/O要求と書き込むべき付随データを、仮想ボリューム140mに複製する。ストレージサブシステム100は自己のキャッシュスロットにライトI/Oデータを格納する。この操作の進行中、ストレージサブシステム100はスロットをロックする。S2‐3ではライトI/Oデータをキャッシュスロットに格納した後、仮想ストレージサブシステム100はストレージサブシステム400に承認を返す。ストレージサブシステム400が前記の承認を受信した後、ストレージサブシステム400はライトI/Oデータを自己のキャッシュスロットに格納する。この操作の進行中、ストレージサブシステム100はスロットをロックする。S2‐4ではライトI/Oデータを自己のキャッシュエリアに格納した後、仮想ストレージサブシステム400はホストコンピュータ300に承認メッセージを返す。
00170 図43は本発明の諸側面に従い、マスタボリュームから外部ボリュームへのデステージのシーケンスを示す。
00171 図43に示されるシーケンスは、キャッシュデステージプログラム112‐05‐3に対応する。S3‐1で、ストレージサブシステム100は、割り当てられていない仮想ボリュームページにあるダーティキャッシュスロットを発見し、割り当てのために外部ボリューム621で新しい容量プールチャンクを得て、ストレージサブシステム400に「ページ解放」要求を送信する。S3‐2で、ストレージサブシステム400は前記の要求を受信し、ダーティと判断された前記の共有容量プールチャンクを検索、削除する。削除が完了した後、ストレージサブシステム400はストレージサブシステム100に承認を返す。次にS3‐3で、ストレージサブシステム100は削除の承認を受信した後、新しい容量プールページを、前記の容量プールチャンクから仮想ボリュームに割り当てる。その後、割り当て操作完了後のS3‐4では、ストレージサブシステム100がダーティキャッシュスロットを外部ボリューム621に転送し、この操作の間はストレージサブシステム100がスロットをロックする。その後S3‐5では、ダーティキャッシュスロットの転送後、ストレージサブシステム100が外部ボリューム621から承認を受信する。承認の受信後、ストレージサブシステム100はスロット状態をダーティからクリーンに変更し、スロットをアンロックする。
00172 図44は本発明の諸側面に従い、スレーブボリュームから外部ボリュームへのデステージのシーケンスを示す。
00173 図44に示されるシーケンスも、キャッシュデステージプログラム112‐05‐3に対応する。
00174 S4‐1で、ストレージサブシステム400は、割り当てられていない仮想ボリュームページにあるダーティキャッシュスロットを発見する。ストレージサブシステム400はストレージサブシステム100に仮想ボリューム140mでの容量プールページ割り当ての状態を質問する。S4‐2では要求に応じ、ストレージサブシステム100が容量プールページマネジメントテーブル112‐17から、仮想ボリュームページと容量プールページの関係を読み取り、ストレージサブシステム400に回答を送信する。回答受信後のS4‐3では、ストレージサブシステム400が仮想ボリューム140s上の同じ容量プールページに、仮想ボリュームページを割り当てる。次にS4‐4では、ストレージサブシステム400が「ロック要求」メッセージをストレージサブシステム100に送信する。S4‐5ではストレージサブシステム100がメッセージを受信し、仮想ボリューム140sの前記ダーティスロットと同じエリアにあるターゲットスロットをロックする。スロットのロック後、ストレージサブシステム100は承認と、仮想ボリューム140mのスロット状態をストレージサブシステム400に返す。S4‐6では承認が戻された後、仮想ボリューム140mのスロット状態がダーティの場合、ストレージサブシステム400はダーティキャッシュスロットを外部ボリューム621に返す。この操作中、ストレージサブシステム100はスロットをロックする。S4‐7ではダーティキャッシュスロットの転送後、ストレージサブシステム400が外部ボリューム621からの承認を受信する。承認の受信後、ストレージサブシステム100はスロット状態をダーティからクリーンに変更し、スロットをアンロックする。
00175 図45は本発明の諸側面に従い、ストレージシステムを図示する。
00176 図45に示されるストレージシステムは、2つ以上のストレージサブシステム100、400、ホストコンピュータ300を含む点で、図1に示されるストレージシステムに類似する。しかし図45に示されるストレージシステムは、外部ボリューム621ではなく外部ストレージサブシステム600を含む。図45のストレージシステムは、1つ以上のストレージネットワーク200も含む場合がある。ストレージサブシステム100、400は相互に直接接続される場合もある。ホストコンピュータはストレージサブシステム100、400に直接、またはストレージネットワーク200を経由して接続される可能性がある。外部ストレージサブシステム600はストレージサブシステム100、400に直接接続される場合がある。
00177 図46は本発明の諸側面に従い、ストレージサブシステム100、400に格納された他の容量プールマネジメントプログラムの構造例を図示する。
00178 容量プールマネジメントプログラム112‐08の構造の一例は、容量プールページ割り当てプログラム112‐08‐1a、容量プールガーベッジコレクションプログラム112‐08‐2、容量プール拡張プログラム112‐08‐3を含む。図9の容量プールマネジメントプログラム112‐08と比べた場合、図46に示されるプログラムは容量プールページ割り当てプログラム112‐08‐1の代わりに、容量プールページ割り当てプログラム112‐08‐1aを含む。
00179 図47Aおよび図47Bは本発明の諸側面に従い、容量プールページ割り当ての実施方法の例を示す。
00180 容量プールマネジメント割り当てプログラム112‐08‐1aの実施例は、図52のフローチャートに示される。このプログラムはストレージサブシステム100、400のCPU111、411により実行可能である。
00181 前記の方法は112‐08‐1a‐0で始まる。112‐08‐1a‐2では、CPU111などのストレージサブシステムのうち1つのCPUが、「ページ割り当て情報取得要求」をストレージサブシステム100から外部ストレージサブシステム600に送信する。ページ割り当て情報はマスタボリュームの仮想ボリュームページの割り当てに関連する。CPU111が回答を外部ストレージサブシステム600から受信した後、前記の方法は112‐08‐1a‐3に進む。
00182 112‐08‐1a‐3で、CPU111は外部ストレージサブシステムから受信した回答をチェックする。回答が「空き」の場合、要求されたページは外部ストレージボリュームに属しておらず、CPU111はステップ112‐08‐1a‐5に進む。回答がページナンバーとボリュームナンバーである場合、要求されたページは既に外部ストレージシステムに割り当てられており、CPU111はステップ112‐08‐1a‐4に進む。ステップ112‐08‐1a‐4でCPU111は、ボリュームページマネジメントテーブル112‐13aと要求プールページマネジメントテーブル112‐17に従い、仮想ボリュームページと容量プールページの間の関係についての情報を設定する。このステップの後、CPU111は112‐08‐1a‐12で容量プールページ割り当てプログラム112‐08‐1aを終了する。
00183 要求されたページがまだ外部ボリュームに割り当てられていないとき、ステップ112‐08‐1a‐5でCPU111は、ボリュームがチャンクに割り当てられているかを決定するため、仮想ボリュームマネジメントテーブル112‐05の現在使用されているRAIDグループ、容量プールチャンク112‐12‐05により参照される容量プールページマネジメントテーブル112‐17の行を参照する。現在使用されるチャンクの列112‐12‐05が「N/A」の場合、チャンクに割り当てられているボリュームは存在しないということであり、CPU111はステップ112‐08‐1a‐8に進む。現在使用されるチャンク列112‐12‐05が「N/A」に設定されていない場合、前記の方法はステップ112‐08‐1a‐6に進む。112‐08‐1a‐6でCPU111は、前記の容量プールページの中の空きページサイズをチェックする。利用可能な空きページがある場合、前記の方法はステップ112‐08‐1a‐8に進む。利用可能な空きページがない場合、前記の方法はステップ112‐08‐1a‐7に進む。112‐08‐1a‐7では前記の方法は、現在使用されているチャンク列112‐12‐05が参照する容量プールページマネジメントテーブル112‐17を、容量プール要素マネジメントテーブル112‐15の使用されるチャンクキューインデックス112‐15‐04に移動、結合させることで、古い容量プールチャンクを解放する。その後、前記の方法はステップ112‐08‐1a‐8に進む。
00184 112‐08‐1a‐8で前記の方法は、空きチャンクキューインデックス112‐15‐03が参照している容量プールページマネジメントテーブル112‐17を現在使用されているチャンク列112‐12‐05に移動、結合させることにより、新しい容量プールチャンクを得る。その後、前記の方法はステップ112‐08‐1a‐9に進む。
00185 112‐08‐1a‐9でCPU111は、RAIDレベル列112‐11‐02を読み取ることにより、前記の新しい容量プールチャンクが外部ボリューム621に属するかどうかを決めるためにチェックを行う。状態が「EXT」ではない場合、前記の方法はステップ112‐08‐1a‐11に進む。状態が「EXT」の場合、新しい容量プールチャンクは外部ボリュームに属さず、前記の方法はステップ112‐08‐1a‐10に進む。112‐08‐1a‐10で前記の方法は、新しいチャンクの中のページを選択し、選択されたページについて「ページ割り当て」要求を外部ストレージサブシステムに送信する。CPU111が回答を受信すると、前記の方法はステップ112‐08‐1a‐12に進む。112‐08‐1a‐12ではCPU111が、受信した回答をチェックする。回答が「既に割り当て済み」の場合、前記の方法はステップ112‐08‐1a‐10に戻る。回答が「成功」の場合、前記の方法はステップ112‐08‐1a‐11に進む。112‐08‐1a‐11ではCPU111が、仮想ボリュームページマネジメントテーブル112‐13と容量プールページマネジメントテーブル112‐17の仮想ボリュームページと容量プールページの関係を設定する。このステップの後、容量プールページ割り当てプログラム112‐08‐1aは112‐08‐1a‐11で終了する。
00186 図48は本発明の諸側面に従い、外部ストレージサブシステムを図示する。
00187 外部ストレージサブシステム600は図48でさらに詳しく示される。ストレージサブシステム600はストレージコントローラ610、ディスクユニット620、マネジメントターミナル630を含む。
00188 ストレージコントローラ610は、格納データに加えてプログラムとテーブルを格納するためのメモリ612、メモリに格納されたプログラムを実行するためのCPU611、SCSI I/Fなどディスクユニット621aに接続するためのディスクインタフェース616、ストレージサブシステムのいずれかで外部ストレージインタフェース118、418に親ストレージインタフェース615を接続するためのファイバチャネルI/Fなどの親ストレージインタフェース615、617、マネジメントターミナル630でストレージコントローラインタフェース633にディスクコントローラを接続するためのNIC I/Fなどのマネジメントターミナルインタフェース614を含む。親ストレージインタフェース615はストレージサブシステム100からI/O要求を受信し、CPU611に要求について通知する。マネジメントターミナルインタフェース616はボリューム、ディスク、容量プール操作要求をマネジメントターミナル630から受信し、CPU611に要求のことを通知する。
00189 ディスクユニット620はHDDなどのディスク621aを含む。
00190 マネジメントターミナル630はマネジメントターミナル630の処理を管理するためのCPU631、メモリ632、ストレージコントローラをマネジメントターミナルインタフェース614に接続するためのNICなどのストレージコントローラインタフェース633、キーボード、マウス、モニタなどのユーザインタフェースを含む。ストレージコントローラインタフェース633はボリューム、ディスク、容量プール操作をストレージコントローラ610に送信する。ストレージコントローラ610はデータ格納用の仮想ボリュームである外部ボリューム621を提供する。
00191 図49は本発明の諸側面に従い、外部ストレージサブシステムのメモリ用の構造例を図示する。
00192 外部ボリューム600のメモリ612用構造例は、図49で示される。前記メモリは仮想ボリュームページマネジメントプログラム112‐01a、I/O操作プログラム112‐04、ディスクアクセスプログラム112‐05、容量プールマネジメントプログラム112‐08a、スロット操作プログラム112‐09、RAIDグループマネジメントテーブル112‐11、仮想ボリュームマネジメントテーブル112‐−12、仮想ボリュームページマネジメントテーブル112‐13a、容量プールマネジメントテーブル112‐14、容量プール要素マネジメントテーブル112‐15、容量プールチャンクマネジメントテーブル112‐16、容量プールページマネジメントテーブル112‐17、ペアマネジメントテーブル112‐19、容量プールページマネジメントテーブル112‐17、キャッシュマネジメントテーブル112‐18、キャッシュエリア112‐20を含む。
00193 仮想ボリュームページマネジメントプログラム112‐01aはCPU611がストレージサブシステム100、400のうち1つから「ページ割り当て」要求を受信した時に動作する。指定されたページがすでに割り当て済みの場合、CPU611はエラーメッセージを要求者に返す。指定されたページがまだ割り当てられていない場合、CPU611はマスタボリュームページと指定されたページの関係を格納し、成功メッセージを返す。仮想ボリュームページマネジメントプログラム112‐01aはシステム常駐プログラムである。
00194 図50はストレージコントローラのメモリ412に格納された容量プールマネジメントプログラム112‐08を図示する。
00195 このプログラムは図9に示されるプログラムと類似する。
00196 図51は本発明の諸側面に従い、仮想ボリュームページマネジメントテーブルの構造例を図示する。
00197 仮想ボリュームページマネジメントテーブル112‐13aの構造の一例は、仮想ボリュームページアドレス112‐13a‐01、関連RAIDグループナンバー112‐13a‐02、容量プールページアドレス112‐13a‐03、マスタボリュームナンバー112‐13a‐04、マスタボリュームページアドレス112‐13a‐05を含む。
00198 仮想ボリュームページアドレス112‐13a‐01は仮想ボリュームの仮想ボリュームページのIDを含む。関連RAIDグループナンバー112‐13a‐02は、外部ボリューム621を含む、割り当てられた容量プールページのRAIDグループナンバーか、仮想ボリュームページがRAIDストレージシステムで容量プールページを割り当てられていないことを意味する「N/A」のいずれかを含む。容量プールページアドレス112‐13a‐03は、関連プールページの論理アドレスか、容量プールページの開始アドレスのいずれかを含む。マスタボリュームナンバー112‐13a‐04は、ページにリンクされたマスタボリュームのIDか、仮想ボリュームページが他のストレージサブシステムにリンクされていないことを意味する「N/A」のいずれかを含む。マスタボリュームページアドレス112‐13a‐05は、関連マスタボリュームページの論理アドレスか、仮想ボリュームページが他のストレージサブシステムにリンクされていないことを意味する「N/A」のいずれかを含む。
00199 図52は本発明の諸側面に従い、仮想ボリュームページマネジメントの実施方法の例を図示する。
00200 仮想ボリュームページマネジメントプログラム112‐1aの実施方法の一例が示される。このプログラムは外部ストレージサブシステム621のCPU611により実施可能である。
00201 前記の方法は112‐01a‐0で始まる。112‐01a‐1で前記の方法は、「ページ割り当て情報取得」要求が外部ストレージサブシステムで受信されたかどうかを決定する。こうしたメッセージが受信されていない場合、前記の方法はステップ112‐01a‐3に進む。CPU611がこのメッセージを受信している場合、前記の方法はステップ112‐01a‐2に進む。
00202 112‐01a‐2で前記の方法は、指定された要求ページについてかボリュームページマネジメントテーブル112‐13aをチェックする。マスタボリュームナンバー112‐13a‐04とマスタボリュームページアドレス112‐13a‐05がどちらも「N/A」の場合、前記の方法は要求されたストレージサブシステムに「空き」という回答を返す。マスタボリュームナンバー112‐13a‐04とマスタボリュームページアドレス112‐13a‐05が「N/A」ではない場合、前記の方法はマスタボリュームナンバー112‐13a‐04とマスタボリュームページアドレス112‐13a‐05の値を要求されたストレージサブシステムに返す。回答送信後、前記の方法は次の要求のため、ステップ112‐01a‐1に戻る。
00203 ページ割り当て情報要求メッセージが受信されていない場合、112‐01a‐3で前記の方法は「ページ割り当て」要求が受信されたことを決定する。そうでない場合、前記の方法は112‐01a‐1に戻る。このようなメッセージが受信されている場合、前記の方法は112‐01a‐4に進む。112‐01a‐4で前記の方法は指定されたページについて仮想ボリュームページマネジメントテーブル112‐13aをチェックする。関連RAIDグループナンバー112‐13a‐02、容量プールページアドレス112‐13a‐03、マスタボリュームナンバー112‐13a‐04、マスタボリュームページアドレス112‐13a‐05が「N/A」の場合、ページ割り当ては完了しておらず、前記の方法は112‐01a‐6に進む。112‐01a‐6で、前記の方法は指定された値をマスタボリュームナンバー112‐13a‐04とマスタボリュームページアドレス112‐13a‐05に格納してステップ112‐13a‐07に進み、ページ割り当ての完了成功を承認するため、要求者のストレージサブシステムに「成功」の回答を送信する。その後、前記の方法はステップ112‐01a‐1に戻る。
00204 関連RAIDグループナンバー112‐13a‐02、容量プールページアドレス112‐13a‐03、マスタボリュームナンバー112‐13a‐04、マスタボリュームページアドレス112‐13a‐05が「N/A」ではない場合、ページ割り当ては完了しており、前記の方法は112‐01a‐5に進む。112‐01a‐5で前記の方法は「ページ割り当て済み」という回答を要求者のストレージサブシステムに返し、112‐01a‐1に戻る。
00205 図53は本発明の諸側面に従い、マスタボリュームから外部ボリュームへのデステージのシーケンス例を図示する。
00206 示されるデステージシーケンス例では、ストレージサブシステム100の仮想ボリューム140が「マスタ」ボリューム140mとして動作し、ストレージサブシステム400の仮想ボリューム140が「スレーブ」ボリューム140sとして動作する。図53に示されるシーケンスはストレージコントローラのメモリに常駐するキャッシュデステージプログラム112‐05‐3の実施方法の一例であり、マスタ仮想ボリューム140mから外部ストレージサブシステム621にページをデステージするシーケンスを示す。
00207 第一にS3a‐1でストレージサブシステム100が、割り当てられていない仮想ボリュームページにあるダーティキャッシュスロットを発見する。ストレージサブシステム100は外部ストレージサブシステム600に、新しいページを割り当てるよう要求を送信する。第二にS3a‐2で、外部ストレージサブシステム600は要求を受信し、新しいページをチェックし、割り当てる。前記の操作が完了した後、外部ストレージサブシステム600はストレージサブシステム100に承認を返す。第三に、割り当て操作終了後のS3a‐3では、ストレージサブシステム100がダーティキャッシュスロットを外部ボリューム621に送信する。この操作の間、ストレージサブシステム100はスロットをロックする。第四に最後の操作として、転送後のS3a‐4で、ストレージサブシステム100は外部ストレージサブシステム600から承認を受信する。承認を受信した後、ストレージサブシステム100はスロット状態をダーティからクリーンに変更し、スロットをアンロックする。
00208 図54は本発明の諸側面に従い、スレーブボリュームから外部ボリュームへのデステージのシーケンス例を図示する。
00209 示されるデステージシーケンス例では、ストレージサブシステム100の仮想ボリューム140が「マスタ」ボリューム140mとして動作し、ストレージサブシステム400の仮想ボリューム140が「スレーブ」ボリューム140sとして動作する。図54に示されるシーケンスはストレージコントローラのメモリに常駐するキャッシュデステージプログラム112‐05‐3の実施方法の一例であり、スレーブ仮想ボリューム140sから外部ストレージサブシステム621にページをデステージするシーケンスを示す。
00210 第一にS4a‐2で、スレーブ仮想ボリューム140sを含むストレージサブシステム400が、割り当てられていない仮想ボリュームページにあるダーティキャッシュスロットを発見する。ストレージサブシステム400は外部ストレージサブシステム600に、このスロットの日付に新しいページを割り当てるよう要求する。第二にS4a‐2で、外部ストレージサブシステム600は要求を受信し、新しいページをチェックし、割り当てる。割り当て操作が完了した後、外部ストレージサブシステム600はストレージサブシステム400に承認を返す。第三にS4a‐3で、ストレージサブシステム400は「ロック」要求をストレージサブシステム100に送信する。第四にS4‐4で、ストレージサブシステム100がロック要求を受信し、仮想ボリューム140sのダーティスロットに対応するマスタ仮想ボリューム140mのターゲットスロットをロックする。スロットをロックした後、ストレージサブシステム100は承認メッセージと、仮想ボリューム140mのスロット状態を、ストレージサブシステム400のスレーブ仮想ボリュームに返す。第五に割り当て操作終了後のS4a‐5では、ストレージサブシステム400はダーティキャッシュスロットを外部ボリューム621に転送し、このデステージ操作の間、ストレージサブシステム400はスロットをロックする。第六に、転送後のS4a‐6で、ストレージサブシステム400は外部ストレージサブシステム600から承認メッセージを受信する。承認メッセージの受信後、ストレージサブシステム400はスロット状態をダーティからクリーンに変更し、スロットをアンロックする。
00211 図55は本発明の方法論の実施例を実装するコンピュータ/サーバシステム550の実施例を図示するブロック図である。システム5500はコンピュータ/サーバプラットフォーム5501、周辺機器デバイス群5502、ネットワークリソース群5503を含む。
00212 コンピュータプラットフォーム5501は、データバス5504やその他、コンピュータプラットフォーム5501の多様なパーツ全体または一部で情報を伝えるための通信メカニズムと、情報処理と他の計算、制御タスク実行のため5501に接続されたプロセッサ5505を含む可能性がある。コンピュータプラットフォーム5501は、プロセッサ5505により実行される指示と同じく様々な情報を格納するためバス5504に接続された、ランダムアクセスメモリ(RAM)その他のダイナミックストレージデバイスなどの、揮発性ストレージ5506も含む。揮発性ストレージ5506は、プロセッサ5505による指示実行中、一時的数値変数その他の中間的情報を格納するために使用される場合もある。コンピュータプラットフォーム5501はさらに、様々なシステム構成パラメータだけでなく、基本的インプット‐アウトプットシステム(BIOS)などのプロセッサ5505用静的情報、指示を格納するため、バス5504に接続された、リードオンリメモリ(ROMまたはEPROM)5507その他の静的ストレージデバイスを含む場合がある。磁気ディスク、光ディスク、ソリッドステートフラッシュメモリデバイスなど永続的ストレージデバイス5508が、情報、指示を格納するためにバス5501に提供、接続される。
00213 コンピュータプラットフォーム5501のシステム管理者またはユーザに情報を表示するため、コンピュータプラットフォーム5501は5504経由で、ブラウン管(CRT)、プラズマディスプレー、液晶ディスプレー(LCD)などのディスプレー5509に接続できる。情報とコマンド選択をプロセッサ5505に伝達するため、英数字その他のキーを含めてインプットデバイス5510は、バス5501に接続される。マウス、トラックボール、カーソル方向キーなど、情報とコマンド選択をプロセッサ5504に伝達するため、またディスプレー5509上でカーソルの移動をコントロールするための、別のタイプのユーザインプットデバイスがカーソルコントロールデバイス5511である。このインプットデバイスは典型的には、デバイスが平面上で位置を特定することを可能にする2本の軸、すなわち第一軸(例:x)と第二軸(例:y)による2自由度を持つ。
00214 外部ストレージデバイス5512はコンピュータプラットフォーム5501用の追加またはリムーバブルストレージ容量を提供するため、バス5504経由でコンピュータプラットフォーム5501に接続される。コンピュータシステム5500の実施例では、外部ストレージデバイス5512を他のコンピュータシステムとのデータ交換を促進するために使用できる。
00215 本発明は本書に記述された技術を実施するためのコンピュータシステム5500の使用に関連する。ある実施例において、前記の本発明のシステムはコンピュータプラットフォーム5501などのマシンに常駐する可能性がある。本発明の実施例に従い、本書に記述された技術は、揮発性メモリ5506に含まれる1つ以上の指示の1つ以上のシーケンスを実施するプロセッサ5505に応えてコンピュータシステム5500により実施される。こうした指示は、永続的ストレージデバイス5508などの他のコンピュータ可読メディアから揮発性メモリ5506へ読み取ることができる。揮発性メモリ5506に含まれる指示のシーケンスを実行することにより、プロセッサ5505は本書に記述された処理ステップを実行する。また別の実施例では、本発明を実装するため、ソフトウェア指示の代わりに、またはソフトウェア指示とともに、ハードワイヤ回路を使用できる。このように本発明の実施例は、特定の組み合わせのハードワイヤ回路やソフトウェアに限定されるものではない。
00216 本書で使用する「コンピュータ可読メディア」という語は、プロセッサ5505に対して実行指示を与える際に関連する任意のメディアを指す。コンピュータ可読メディアは本書に記述された方法および/または技術のいずれかを実装指示を運ぶマシン可読メディアの一例に過ぎない。こうしたメディアは非揮発性メディア、揮発性メディア、伝達メディアを含むがそれに限定されない多数の形式を取る。例えば非揮発性メディアは、ストレージデバイス5508のような光ディスクや磁気ディスクを含む。揮発性メディアは揮発性ストレージ5506のような動的メモリを含む。伝達メディアはデータバス5504で構成されるワイヤを含めて、同軸ケーブル、銅線、光ファイバーを含む。伝達メディアはまた、電波通信、赤外線通信の間に生成されるような音波や光波の形式を取る場合もある。
00217 コンピュータ可読メディアの一般的な形式は、例えばフロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープその他の磁気メディア、CD‐ROM、その他の光メディア、パンチカード、紙テープ、その他、穴のパターンによる物理メディア、RAM、PROM、EPROM、FLASH‐EPROM、フラッシュドライブ、メモリカード、その他メモリチップやカートリッジ、以下に記述するような搬送波、その他、コンピュータが読み取りを行うことのできるメディアを含む。
00218 プロセッサ5505へ実行のために1つ以上の指示の1つ以上のシーケンスを伝える際には、多様な形式のコンピュータ可読メディアが関連する場合もある。例えば前記の指示は、まずリモートコンピュータから磁気ディスクで伝わる場合がある。また別の方法として、リモートコンピュータが自己の動的メモリに指示をロードし、モデムを使って電話線で指示を送信することも可能である。コンピュータシステム5500にローカルなモデムは電話線でデータを受信し、赤外線トランスミッタを使ってデータを赤外線信号に変換することも可能である。赤外線検出器は赤外線信号で伝えられたデータを受信し、適切な回路がデータバス5504にデータを配置することができる。バス5504はデータを揮発性ストレージ5506に伝え、そこからプロセッサ5505は指示を検索し、実行する。別の選択肢として、プロセッサ5505の前後いずれかに、揮発性メモリ5506により受信された指示を、永続的ストレージデバイス5508に格納することも可能である。当技術分野で周知の様々なネットワークデータ通信プロトコルを利用して、インターネット経由でコンピュータプラットフォーム5501へ指示をダウンロードすることも可能である。
00219 コンピュータプラットフォーム5501はデータバス5504に接続されたネットワークインタフェースカード5513などの通信インタフェースも含む。通信インタフェース5513はローカルネットワーク5515に接続されたネットワークリンク5514との双方向データ通信接続を提供する。例えば通信インタフェース5513は、対応するタイプの電話線に通信接続を提供するための統合デジタルサービスネットワーク(ISDN)カードまたはモデムの場合がある。別の例としては、通信インタフェース5513が互換LANにデータ通信接続を提供するローカルエリアネットワークインタフェースカード(LAN NIC)の場合もある。周知の802.11a、802.11b、802.11g、Bluetoothなどワイヤレスリンクもネットワーク実施に利用可能である。こうした実施例のいずれにおいても、通信インタフェース5513は多種多様な情報を表すデジタルデータストリームを伝える電気信号、電磁信号、光信号を送受信する。
00220 ネットワークリンク5513は典型的には、1つ以上のネットワークから他のネットワークリソースへのデータ通信を提供する。例えばネットワークリンク5514は、ローカルネットワーク5515を経由してホストコンピュータ5516またはネットワークストレージ/サーバへの接続を提供する。さらに、または代案として、ネットワークリンク5513はゲートウェイ/ファイアウォール5517を通じて、インターネットのような広域またはグローバルネットワーク5518に接続可能である。このようにコンピュータプラットフォーム5501は、リモートネットワークストレージ/サーバ5519のように、インターネット5518上のどこに位置するネットワークリソースへもアクセスできる。一方では、コンピュータプラットフォーム5501はローカルエリアネットワーク5515および/またはインターネット5518上のどこに位置するクライアントからもアクセス可能となる。ネットワーククライアント5520、5521自体も、プラットフォーム5501に類似したコンピュータプラットフォームに基づき、実行可能である。
00221 ローカルネットワーク5515とインターネット5518はいずれも、デジタルデータストリームを伝える電気信号、電磁信号、光信号を利用する。デジタルデータをコンピュータプラットフォーム5501との間で相互に伝えるネットワークリンク5514上の様々なネットワークと信号を通じて、また通信インタフェース5513を通じて、情報を運ぶ搬送波の形式の例である。
00222 コンピュータプラットフォーム5501は、インターネット5518とLAN5515、ネットワークリンク5514と通信インタフェース5513を含む様々なネットワークを経由し、プログラムコードも含めて、メッセージを送信し、データを受信することができる。インターネットの例では、システム5501がネットワークサーバの役割をする場合、インターネット5518、ゲートウェイ/ファイアウォール5517、ローカルエリアネットワーク5515、通信インタフェース5513を通じて、クライアント5520および/または5521上で動作するアプリケーションプログラムのために要求されたコードやデータを送信する場合がある。同様に、他のネットワークからコードを受信する場合もある。
00223 受信されたコードはプロセッサ5505により受信されたとおりに実行され、そして/または永続的または揮発性ストレージデバイス5508、5506に個々に、または今後の実行のために非揮発性ストレージに格納される可能性がある。この方法で、コンピュータシステム5501は搬送波の形式でアプリケーションコードを得る可能性がある。
00224 本発明は特定のファイアウォールシステムに限定されたものではないことが理解されるべきである。本発明の方針にもとづくコンテンツ処理システムは、3つのファイアウォール操作モード、具体的にはNATモード、ルートモード、透過モードのいずれかで利用される。
00225 最後に、本書で記述された処理、技術はいかなる特定の装置とも本質的に関連するものではなく、任意の適切な組み合わせの構成要素により実行可能であることが、理解されるべきである。さらに、本書に記述された指導に従い、様々な種類の汎用デバイスが利用可能である。本書に記述された方法を実行するための専用装置を構築することが有益であるとも言える。本発明は、特定の例に関連して記述されてきたが、それらはあらゆる点において説明的なものであり限定的ではない。当業者は、多種多様な組み合わせのハードウェア、ソフトウェア、ファームウェアが本発明に適することを理解するべきである。例えば記述されたソフトウェアはアセンブラ、C/C++、Perl、shell、PHP、Java(登録商標)等、広範なプログラミングまたはスクリプト言語で実行可能である。
00226 さらに、本書で開示された発明の特定、実行を考慮すれば、前記の発明のその他の実施例は、当業者には明白である。記述された実施例の様々な側面および/または構成要素が、シン・プロビジョニング機能を伴うコンピュータ化されたストレージサブシステムにおいて単独に、または任意の組み合わせで利用可能である。以下の請求項により示される本発明の真の範囲と精神により、前記の特定と例は単に例を示すためのものとみなされることが意図されている。
なお、添付図面は、本発明の実施例を例示し、説明文と併せて、本発明技術の原理を説明し図示する働きをなす。具体的には次の通りである。
ストレージシステムを示す図である。 ストレージシステムのホストコンピュータ用メモリの例を示す図である。 ボリュームマネジメントテーブルの例を示す図である。 ストレージサブシステムのストレージコントローラのメモリ用ストラクチャの例を示す図である。 ストレージサブシステムのストレージコントローラのメモリ用ストラクチャの例を示す図である。 図4、図5のプログラムとテーブルをさらに詳細に示す図である。 図4、図5のプログラムとテーブルをさらに詳細に示す図である。 図4、図5のプログラムとテーブルをさらに詳細に示す図である。 図4、図5のプログラムとテーブルをさらに詳細に示す図である。 、図4、図5のプログラムとテーブルをさらに詳細に示す図である。 図4、図5のプログラムとテーブルをさらに詳細に示す図である。 図4、図5のプログラムとテーブルをさらに詳細に示す図である。 図4、図5のプログラムとテーブルをさらに詳細に示す図である。 図4、図5のプログラムとテーブルをさらに詳細に示す図である。 図4、図5のプログラムとテーブルをさらに詳細に示す図である。 図4、図5のプログラムとテーブルをさらに詳細に示す図である。 図4、図5のプログラムとテーブルをさらに詳細に示す図である。 図4、図5のプログラムとテーブルをさらに詳細に示す図である。 容量プールチャンク、容量プールページ、ディスクキャッシュの関係を示す図である。 仮想ボリュームページ、仮想ボリュームスロット、仮想ボリュームの関係を示す図である。 容量プールマネジメントテーブル、容量プール要素マネジメントテーブル、容量プールチャンクマネジメントテーブル、RAIDグループマネジメントテーブル、容量プールチャンクの関係を示す図である。 仮想ボリューム、仮想ボリュームページ、仮想ボリュームマネジメントテーブル、仮想ボリュームページマネジメントテーブル、容量プールマネジメントテーブル、容量プールチャンク、容量プールページ、容量プール要素マネジメントテーブルの関係を示す図である。 仮想ボリューム、仮想ボリュームページ、容量プールチャンク、容量プールページ、容量プールページマネジメントテーブルの関係を示す図である。 キャッシュスロット、キャッシュマネジメントテーブル、ディスクスロットの関係を示す図である。 2つのストレージサブシステムの仮想ボリュームとペアマネジメントテーブルの関係を示す図である。 仮想ボリューム、RAIDグループ、外部ボリュームの関係を示す図である。 ボリューム操作待機プログラムの実施方法の例を示す図である。 ペア形成プログラムの実施方法の例を示す図である。 ペア削除プログラムの実施方法の例を示す図である。 スロット操作プログラムの実施方法の例を示す図である。 ライトI/O操作プログラムの実施方法の例を示す図である。 リードI/O操作プログラムの実施方法の例を示す図である。 容量プールページ割り当てプログラムの実施方法の例を示す図である。 容量プールページ割り当てプログラムの実施方法の例を示す図である。 キャッシュステージングプログラムの実施方法の例を示す図である。 ディスク掃き出しプログラムの実施方法の例を示す図である。 キャッシュデステージングプログラムの実施方法の例を示す図である。 キャッシュデステージングプログラムの実施方法の例を示す図である。 キャッシュデステージングプログラムの実施方法の例を示す図である。 容量プールガーベッジコレクションプログラムの実施方法の例を示す図である。 容量プールチャンク解放プログラムの実施方法の例を示す図である。 マスタボリュームにI/Oを書き込むシーケンスを示す図である。 スレーブボリュームにI/Oを書き込むシーケンスを示す図である。 マスタボリュームから外部ボリュームにデステージするシーケンスを示す図である。 スレーブボリュームから外部ボリュームにデステージするシーケンスを示す図である。 本発明の他のストレージシステムを示す図である。 本発明のもう1つの容量プールマネジメントプログラムのための構造例を示す図である。 本発明の他の容量プール割り当ての実施方法の例を示す図である。 本発明の他の容量プール割り当ての実施方法の例を示す図である。 本発明の他の外部ストレージサブシステムを示す図である。 本発明の他の外部ストレージサブシステムのメモリの構造例を示す図である。 本発明の他のストレージコントローラのメモリに格納された容量プールマネジメントプログラムを示す図である。 本発明の他の仮想ボリュームページマネジメントテーブルの構造例を示す図である。 本発明の他の仮想ボリュームページマネジメントの実施方法例を示す図である。 本発明の他のマスタボリュームから外部ボリュームにデステージするシーケンスの例を示す図である。 本発明の他のスレーブボリュームから外部ボリュームにデステージするシーケンスの例を示す図である。 本発明のシステムを実装可能なコンピュータプラットフォームの実施例を示す図である。
100 ストレージサブシステム
110 ストレージコントローラ
111 CPU
112 メモリ
114 NIC
114 NIC
115 FC I/F
116 SCSI I/F
116 SCSI I/F
117 FC I/F
118 FC I/F
118 FC I/F
120 ディスクユニット
121 HDD
130 マネジメントターミナル
131 CPU
132 メモリ
133 NIC
134 ユーザI/F
300 ホストコンピュータ
301 CPU
302 メモリ
303 FC I/F
400 ストレージサブシステム
410 ストレージコントローラ
411 CPU
412 メモリ
415 FC I/F
417 FC I/F
420 ディスクユニット
421 HDD
430 マネジメントターミナル
431 CPU
432 メモリ
433 NIC
434 ユーザI/F
140 仮想ボリューム
5504 データバス
5505 CPU
5506 揮発性ストレージ
5507 EPROM/ファームウェアストレージ
5508 永続的ストレージ
5509 ディスプレー
5510 キーボード
5511 マウス/ポジションポインティングデバイス
5512 外部ストレージ
5513 ネットワークインタフェースカード
5515 インターネット
5516 ホスト
5517 ゲートウェイ/ファイアウォール
5518 インターネット
5519 ネットワークサーバ/ネットワークストレージ
5520 クライアント
5521 クライアント
5522 ネットワークサーバ/ネットワークストレージ

Claims (39)

  1. a.少なくとも1つの外部ボリュームと、
    b.第1の仮想ボリュームと第2の仮想ボリュームがペアを形成し、該第1の仮想ボリュームで構成される第1のストレージサブシステムと該第2の仮想ボリュームで構成される第2のストレージサブシステムとで構成される2つ以上のストレージサブシステムと、
    で構成され、
    i.前記第1の仮想ボリュームと前記第2の仮想ボリュームがシン・プロビジョニングボリュームであり、
    ii.前記第1の仮想ボリュームが第1の仮想ボリュームに関連する第1の容量プールから容量を割り当てる働きをし、
    iii.前記第2の仮想ボリュームが第2の仮想ボリュームに関連する第2の容量プールから容量を割り当てる働きをし、
    iv.前記容量は前記少なくとも1つの外部ボリュームで構成され、
    v.前記少なくとも1つの外部ボリュームは前記第1の容量プールと前記第2の容量プールに共有され、
    vi.前記少なくとも1つの外部ボリュームか、前記第1のストレージサブシステムか、前記第2のストレージサブシステムが、少なくとも1つのシン・プロビジョニング情報テーブルを格納し、
    vii.シン・プロビジョニング割り当て処理が実行されると、前記第1のストレージサブシステムが前記共有された少なくとも1つの外部ボリュームから容量を既に割り当ててある場合、前記第2のストレージサブシステムは割り当て情報を参照して仮想ボリュームアドレスと容量プールアドレスの関係を確立する働きをする、
    ことを特徴とするコンピュータ化されたデータストレージシステム。
  2. 前記第1のストレージサブシステムと第2のストレージサブシステムのそれぞれが、少なくとも1つのディスクドライブに接続する働きを持つインタフェースで構成されることを特徴とする、請求項1に記載のコンピュータ化されたデータストレージシステム。
  3. 前記容量プールと第2の容量プールのそれぞれが、少なくとも1つのディスクドライブを含む働きをすることを特徴とする、請求項1に記載のコンピュータ化されたデータストレージシステム。
  4. 前記2つ以上のストレージサブシステムのそれぞれが、
    コントローラメモリとコントローラCPUを含むストレージコントローラと、
    RAIDグループでグループ化されるハードディスクを0個以上含むディスクユニットと、
    マネジメントターミナルで構成され、
    前記各ハードディスクと外部ボリュームが容量プールページで構成され、
    第1のRAIDグループの0個以上の前記容量プールページが容量プールチャンクを形成し、
    前記仮想ボリュームが、仮想ボリュームページを形成する1つ以上の仮想ボリュームスロットで構成され、
    前記キャッシュエリアがキャッシュスロットで構成される、
    ことを特徴とする請求項1に記載のコンピュータ化されたデータストレージシステム。
  5. 前記コントローラメモリが、
    ボリューム操作プログラムと、
    I/Oプログラムと、
    ディスクアクセスプログラムと、
    容量プールマネジメントプログラムと、
    スロット操作プログラムと、
    仮想ボリュームマネジメントテーブルと、
    容量プールマネジメントテーブルと、
    容量プール要素マネジメントテーブルと、
    容量プールページマネジメントテーブルと、
    キャッシュマネジメントテーブルと、
    ペアマネジメントテーブルとで構成され、
    前記キャッシュエリアがデータ格納のためコントローラメモリに含まれることを特徴とする、請求項4に記載のコンピュータ化されたデータストレージシステム。
  6. 前記コントローラメモリがさらにRAIDグループマネジメントテーブルと、
    容量プールチャンクマネジメントテーブルを、
    格納することを特徴とする請求項4に記載のコンピュータ化されたデータストレージシステム。
  7. 前記ホストコンピュータがボリュームマネジメントテーブルを含むメモリで構成され、
    前記ボリュームマネジメントテーブルが前記ストレージサブシステムの前記仮想ボリュームのペア形成を提供する、
    ことを特徴とする請求項5に記載のコンピュータ化されたデータストレージシステム。
  8. 前記ボリューム操作プログラムが、
    ボリューム操作待機プログラムと、
    ペア形成プログラムと、
    ペア削除プログラムで構成され、
    前記ペア形成プログラムが前記ストレージサブシステムの1つの前記仮想ボリュームと前記ストレージサブシステムの別の1つの前記仮想ボリュームとの間のボリューム複製関係を確立し、
    前記ペア削除プログラムがボリューム複製関係を解除する、
    ことを特徴とする請求項5に記載のコンピュータ化されたデータストレージシステム。
  9. 前記容量プールマネジメントプログラムが容量プールページ割り当てプログラムで構成され、
    前記容量プール割り当てプログラムが新しい容量プールページと新しい容量プールチャンクを前記ストレージサブシステムの1つの容量プールから受信し、前記ストレージサブシステムの他のいくつかに対し、前記他のいくつかのストレージサブシステムで容量プールチャンクのうち任意の1つを削除するように要求を送信し、
    前記容量プールガーベッジコレクションプログラムが、ダーティデータを含む容量プールページを取り除くことにより、容量プールチャンクからのガーベッジコレクションを実行し、
    前記容量プールチャンク解放プログラムが、容量プール拡張要求に対応して、ハードディスクのグループか外部ボリュームの一部を前記容量プールに追加する、
    ことを特徴とする請求項5に記載のコンピュータ化されたデータストレージシステム。
  10. 前記容量プールマネジメントプログラムがさらに、
    容量プールガーベッジコレクションプログラムと、
    容量プールチャンク解放プログラムと、
    で構成されることを特徴とする請求項9に記載のコンピュータ化されたデータストレージシステム。
  11. 前記容量プールマネジメントテーブルが、前記容量プールのそれぞれと前記容量プールのそれぞれに関連するRAIDグループと前記容量プールのそれぞれに残る空き容量の関係を示すことを特徴とする、請求項5に記載のコンピュータ化されたデータストレージシステム。
  12. 前記容量プール要素マネジメントテーブルが前記RAIDグループのそれぞれと、関連容量プールと、空き容量プールチャンクと使用容量プールチャンクと削除容量プールチャンクとに対応するキューとの関係を示すことを特徴とする、請求項5に記載のコンピュータ化されたデータストレージシステム。
  13. 前記キャッシュマネジメントテーブルが、前記キャッシュスロットのそれぞれと、前記ハードディスクの対応する1つまたは前記仮想ボリュームの対応する1つと、前期対応ハードディスクのアドレスと、前記キャッシュスロットのロック状態と、前記キャッシュスロットと対応キューポインタで構成され、空きかクリーンかダーティであるキューの種類と、の関係を示すことを特徴とする、請求項5に記載のコンピュータ化されたデータストレージシステム。
  14. 前記ペアマネジメントテーブルが、第1のストレージサブシステムと前記第1のストレージサブシステムにペア形成されたペア化ストレージサブシステム上にある指定された仮想ボリュームと、前記指定された仮想ボリュームとペア形成されたペア化ストレージサブシステム上のペア化仮想ボリュームと、前記指定された仮想ボリュームと前記ペア化された仮想ボリュームで形成される指定されたペアの前記仮想ボリュームがマスタ状態かスレーブ状態かの状態の関係を示すことを特徴とする、請求項5に記載のコンピュータ化されたデータストレージシステム。
  15. 前記容量プールマネジメントテーブルが前記RAIDグループに従い前記容量プール要素マネジメントテーブルを参照し、
    前記容量プール要素マネジメントテーブルが前記容量プールチャンクに従い前記容量プールマネジメントテーブルを参照し、
    前記容量プール要素マネジメントテーブルが空きチャンクキュー、使用チャンクキュー、削除チャンクキューに従い前記容量プールチャンクマネジメントテーブルを参照し、
    前記容量プールチャンクの1つを前記容量プールチャンクの別の1つに向けるために、削除された容量が前記容量プールチャンクマネジメントテーブルで使用され、
    前記容量プール要素マネジメントテーブルと前記RAIDグループマネジメントテーブルの関係が固定しており、
    前記容量プールチャンクと前記容量プールチャンクマネジメントテーブルの関係も固定している、
    ことを特徴とする、請求項5に記載のコンピュータ化されたデータストレージシステム。
  16. 前記仮想ボリュームマネジメントテーブルが現在使われているチャンク情報に従い前記仮想ボリュームの1つに割り当てられている割り当て容量プールチャンクを参照し、
    前記容量プールマネジメントテーブルがRAIDグループリストに従いディスクユニットか外部ボリュームに属する0個以上のRAIDグループを参照し、
    前記仮想ボリュームページマネジメントテーブルが容量プールページアドレスと容量プールページサイズに従い前記容量プールページを参照し、
    前記仮想ボリュームと前記仮想ボリュームマネジメントテーブルの関係が固定しており、
    前記仮想ボリュームマネジメントテーブルと前記仮想ボリュームページマネジメントテーブルの関係が固定しており、
    前記仮想ボリュームページと前記仮想ボリュームページマネジメントテーブルの関係が固定している、ことを特徴とする、請求項5に記載のコンピュータ化されたデータストレージシステム。
  17. 前記容量プールチャンクマネジメントテーブルが仮想ボリュームナンバーに従い前記仮想ボリュームを参照し、
    前記容量プールページマネジメントテーブルが仮想ボリュームページナンバーに従い仮想ボリュームページを参照し、
    前記容量プールチャンクと前記容量プールチャンクマネジメントテーブルの関係が固定しており、
    前記容量プールページマネジメントテーブルが前記容量プールページマネジメントテーブルの入力内容に従い容量プールページに関連する、
    ことを特徴とする、請求項5に記載のコンピュータ化されたデータストレージシステム。
  18. 前記ペアマネジメントテーブルが前記ストレージサブシステムの1つにある仮想ボリュームを前記ストレージサブシステムの別の1つにある関連仮想ボリュームに関連づけることを特徴とする、請求項5に記載のコンピュータ化されたデータストレージシステム。
  19. 前記外部ボリュームの同一の容量プールページが、異なるストレージサブシステムのペア化仮想ボリュームにより共有可能であることを特徴とする、請求項5に記載のコンピュータ化されたデータストレージシステム。
  20. 前記ボリューム操作待機プログラムが、
    前記コントローラCPUがペア形成要求とペア削除要求を含むボリューム操作要求を受信したかどうかを決定するステップと、
    前記コントローラCPUがボリューム操作要求を受信した場合は、受信した要求がペア形成要求かペア削除要求かを決定するステップと、
    ペア形成要求が受信されていた場合は、ペア形成プログラムを実行するステップと、
    ペア削除要求が受信されていた場合は、ペア削除プログラムを実行するステップと、
    から成ることを特徴とし、
    前記ペア形成要求または前記ペア削除要求の送信者が、ホストコンピュータか、前記ストレージサブシステムの1つのマネジメントターミナルであることを特徴とする、請求項5に記載のコンピュータ化されたデータストレージシステム。
  21. 前記ペア形成プログラムが、
    前記第1のストレージサブシステム上の指定された仮想ボリュームが、前記第2のストレージサブシステム上の別の仮想ボリュームとペア化されているかどうかを決定するステップと、
    前記指定された仮想ボリュームがペア化されていない場合は、前記指定された仮想ボリュームの状態をマスタかスレーブかに決定するステップと、
    前記指定された仮想ボリュームがマスタの場合は、前記第2のストレージサブシステムにペア形成要求を送信し、前記第2のストレージサブシステムが前記要求を受け入れた場合は、前記ペアマネジメントテーブルに従い、マスタとして前記指定された仮想ボリュームと、スレーブとして前記第2ストレージサブシステムの仮想ボリュームの1つをペア化し、前記ペア形成要求の送信者に完了メッセージを送信するステップと、
    前記指定された仮想ボリュームの状態がスレーブと決定された場合は、前記ペアマネジメントテーブルに従い、スレーブとして指定された前記仮想ボリュームと、マスタとして前記第2ストレージサブシステムの仮想ボリュームの1つをペア化し、マスタ仮想ボリュームにOKメッセージを送信するステップと、
    から成ることを特徴とする、請求項20に記載のコンピュータ化されたデータストレージシステム。
  22. 前記ペア削除プログラムが、
    前記第1ストレージサブシステムの指定された仮想ボリュームと前記第2ストレージサブシステムの別の仮想ボリュームとの間にペア形成の関係が存在するかどうかを、前記ペアマネジメントテーブルを参照して決定するステップと、
    ペアが発見された場合は、前記指定された仮想ボリュームの状態をマスタかスレーブに決定するステップと、
    前記指定された仮想ボリュームがマスタの場合は、スレーブを含みペア関係の解放を要求している前記第2ストレージサブシステムにペア削除要求を送信し、ペア関係の解放に関する承認メッセージを受信し、前記ペアマネジメントテーブルからペア関係を削除して要求者に完了メッセージを送るステップと、
    前記指定された仮想ボリュームがスレーブの場合は、前記ペアマネジメントテーブルからペア関係を削除して承認メッセージをマスタに送信するステップと、
    から成ることを特徴とする、請求項5に記載のコンピュータ化されたデータストレージシステム。
  23. 前記キャッシュマネジメントテーブルでのキャッシュスロットの状態がまだロックに設定されていない場合、前記キャッシュマネジメントテーブルにロック状態を書き込むことにより、前記スロット操作プログラムがスロットロック要求に応じて、キャッシュスロットをロックする働きができ、
    前記キャッシュマネジメントテーブルにアンロック状態を書き込むことにより、前記スロット操作プログラムがスロットアンロック要求に応じて、キャッシュスロットをアンロックする働きができる
    ことを特徴とする、請求項5に記載のコンピュータ化されたデータストレージシステム。
  24. 前記ライトI/Oプログラムが、
    ホストコンピュータかストレージサブシステムの1つを含むイニシエータからライトI/O要求を受信し、
    前記キャッシュマネジメントテーブルを参照して、ライトI/Oデータを含む仮想ボリュームに対応する空きキャッシュスロットを、前記複数のキャッシュスロットの中から定め、
    前記キャッシュスロットをロックし、ライトI/Oデータを前記キャッシュスロットに書き込み、前記キャッシュスロットをアンロックし、
    イニシエータがマスタ状態の仮想ボリュームの場合、前記ライトI/Oデータを対応するスレーブ仮想ボリュームへ複製する、
    働きを持つことを特徴とする、請求項5に記載のコンピュータ化されたデータストレージシステム。
  25. 前記リードI/Oプログラムが、
    リードI/O要求を前記ホストコンピュータから受信し、
    リードI/Oデータがキャッシュスロットで利用可能な場合、前記複数のキャッシュスロットから、キャッシュスロットをロックしてリードI/Oデータを前記ホストコンピュータに送信し、
    リードI/Oデータがハードディスクの1つで利用可能な場合、前記複数のキャッシュスロットから空きキャッシュスロットを得て、データを含むキャッシュスロットを得るためにリードI/Oデータを前記ハードディスクから前記空きキャッシュスロットにステージングし、データを含む前記キャッシュスロットをロックし、前記ホストコンピュータに前記リードI/Oデータを送信する、
    働きを持つことを特徴とする、請求項5に記載のコンピュータ化されたデータストレージシステム。
  26. 前記容量プールマネジメントプログラムの前記容量プールページ割り当てプログラムが、
    参照された容量プールページがスレーブ仮想ボリュームに属する場合、対応するマスタ仮想ボリュームを含むストレージサブシステムに、対応するマスタ容量プールページを要求し、前記マスタ容量プールページが前記外部ボリュームに関連しない場合は、前記マスタ容量プールページを前記外部ボリュームに関連付け、
    参照された容量プールページがマスタ仮想ボリュームに属する場合、あるいは前記マスタ容量プールページが前記外部ボリュームと関連せず、前記スレーブ仮想ボリュームに属する前記参照された容量プールページのマスタ容量プールページのために、前記マスタ仮想ボリュームに関連する容量プールチャンクの中の空き容量プールページを得るか、関連容量プールチャンクが発見されない場合は新しい容量プールチャンクを得て、前期容量プールチャンクに関連する外部ボリュームの中の新しいプールページを割り当てる働きをすることを特徴とする、請求項5に記載のコンピュータ化されたデータストレージシステム。
  27. 前記キャッシュステージングプログラムがデータを前記ハードディスクから転送する働きを持つことを特徴とする、請求項5に記載のコンピュータ化されたデータストレージシステム。
  28. 前記ディスク掃き出しプログラムが、
    ダーティキャッシュスロットを前記キャッシュスロットから発見し、
    前記ダーティキャッシュスロットからデータをデステージする、
    働きを持つことを特徴とする、請求項5に記載のコンピュータ化されたデータストレージシステム。
  29. 前記キャッシュデステージプログラムが、
    前記データをもつキャッシュスロットを含むマスタ仮想ボリュームに対しては、前記キャッシュスロットに関連する容量プールページを特定するか割り当て、データを前記キャッシュスロットから前記容量プールページを持つ前記ハードディスクに転送し、
    前記キャッシュスロットを含み、容量プールページに関連しないスレーブ仮想ボリュームに対しては、ペア化されたマスタ仮想ボリュームに割り当てられた容量プールページを特定し、前記ペア化されたマスタ仮想ボリュームはスレーブ仮想ボリュームとペア化され、
    前記キャッシュスロットを含み、容量プールページに関連するスレーブ仮想ボリュームに対しては、ペア化マスタボリュームの対応するキャッシュスロットがダーティの場合はデータを前記キャッシュスロットから前記ハードディスクに転送し、ペア化マスタボリュームの対応するキャッシュスロットがクリーンの場合は前記スレーブ仮想ボリュームの状態をクリーンに変更する働きを持つことを特徴とする、請求項5に記載のコンピュータ化されたデータストレージシステム。
  30. ダーティデータを含むダーティキャッシュスロットからのダーティデータが前記外部ボリュームに送信されることを特徴とする、請求項5に記載のコンピュータ化されたデータストレージシステム。
  31. 外部ストレージボリュームと、
    ともに外部ストレージボリュームに接続された2つ以上のストレージサブシステムと、
    前記2つ以上のストレージサブシステムに動作可能なように接続され、前記2つ以上のストレージサブシステム間でインプット/アウトプットパスを切り替える働きを持つホストコンピュータと、
    で構成され、前記ストレージサブシステムのそれぞれがキャッシュデータで構成され、前記ストレージサブシステムのそれぞれが少なくとも1つの仮想ボリュームと少なくとも1つの容量プールで構成され、前記少なくとも1つの仮想ボリュームが前記少なくとも1つの容量プールのストレージ要素から割り当てられ、前記少なくとも1つの容量プールが前記外部ストレージボリュームの少なくとも一部分で構成され、前記少なくとも1つの容量プールのストレージ要素がデータアクセス要求に応じて前記仮想ボリュームに割り当てられることを特徴とし、
    前記2つ以上のストレージサブシステムのうち第1のストレージサブシステムによりデータライト要求を受信すると、前記第1のストレージサブシステムは、受信したデータライト要求を前記2つ以上のストレージサブシステムのうち少なくとも第2のストレージサブシステムに提供し、前記第1のストレージサブシステムから要求を受信後、前記第2のストレージサブシステムが、前記少なくとも1つの容量プールの少なくとも1つのストレージ要素が、前記第2のストレージサブシステムの前記少なくとも1つの仮想ボリュームに割り当てられることを阻止する働きをすることを特徴とする、コンピュータ化されたデータストレージシステム。
  32. 2つ以上のストレージサブシステムに接続され、ホストコンピュータを利用したデータストレージのコンピュータ実施の方法において、前記2つ以上のストレージサブシステムがともに外部ストレージボリュームに接続され、前記各ストレージサブシステムがキャッシュエリアで構成され、前記各ストレージサブシステムが少なくとも1つの仮想ボリュームと少なくとも1つの容量プールで構成され、前記少なくとも1つの仮想ボリュームが前記少なくとも1つの容量プールから割り当てられ、前記少なくとも1つの容量プールが前記外部ストレージボリュームの少なくとも一部分で構成され、前記少なくとも1つの仮想ボリュームがシン・プロビジョニングボリュームであることを特徴とし、該方法は、
    前記2つ以上のストレージサブシステムの第1のストレージサブシステムの第1の仮想ボリュームと、前記2つ以上のストレージサブシステムの第2のストレージサブシステムの第2の仮想ボリュームとを、マスタボリュームとスレーブボリュームとしてペア化するステップと、
    前記第1のストレージサブシステムから要求を受信すると、前記第2のストレージサブシステムの少なくとも1つの容量プールの少なくとも1つのストレージ要素が、前記第2の仮想ボリュームに割り当てられるのを阻止するステップと、
    から成ることを特徴とする、コンピュータ実施の方法。
  33. 前記少なくとも1つの容量プールが少なくとも1つのディスクドライブか外部ボリュームを含む働きをすることを特徴とする、請求項32に記載のコンピュータ実施の方法。
  34. 前記マスタボリュームを含むストレージサブシステムがマスタストレージサブシステムであり、前記スレーブボリュームを含むストレージサブシステムがスレーブストレージサブシステムであり、
    前記キャッシュエリアがデータ格納用のキャッシュスロットを含み、
    前記ハードディスクがデータ格納用のディスクスロットを含む、
    ことを特徴とする、請求項32に記載のコンピュータ実施の方法。
  35. さらに前記ホストコンピュータからのライトI/O操作を前記マスタボリュームへコピーするステップを含み、該コピーのステップが、
    前記マスタストレージサブシステムでライトI/O要求とライトデータを受信するステップと、
    前記マスタストレージサブシステムのキャッシュスロットに前記ライトデータを格納するステップと、
    前記ライトI/O要求と前記ライトデータを前記スレーブストレージサブシステムに複製するステップと、
    前記スレーブストレージサブシステムのキャッシュスロットに前記ライトデータを格納するステップと、
    前記スレーブストレージサブシステムから前記ライトI/O要求の完了の承認を前記マスタストレージサブシステムに返すステップと、
    前記マスタストレージサブシステムから承認を前記ホストコンピュータに送信するステップと、から成ることを特徴とする、請求項32に記載のコンピュータ実施の方法。
  36. さらに前記ホストコンピュータからのライトI/O操作を前記スレーブボリュームへコピーするステップを含み、該コピーのステップが、
    前記スレーブストレージサブシステムでライトI/O要求とライトデータを受信するステップと、
    前記ライトI/O要求と前記ライトデータを前記マスタストレージサブシステムに複製するステップと、
    前記マスタストレージサブシステムのキャッシュスロットに前記ライトデータを格納するステップと、
    前記マスタストレージサブシステムから前記ライトI/O要求の完了の承認を前記スレーブストレージサブシステムに返すステップと、
    前記スレーブストレージサブシステムのキャッシュスロットに前記ライトデータを格納するステップと、
    前記スレーブストレージサブシステムから承認を前記ホストコンピュータに送信するステップと、から成ることを特徴とする、請求項32に記載のコンピュータ実施の方法。
  37. さらに前記マスタボリュームから前記外部ボリュームへのデータのデステージのステップを含み、該デステージのステップが、
    割り当てられていない仮想ボリュームの容量プールページの中で前記マスタストレージサブシステムのダーティキャッシュスロットを発見するステップと、
    前記外部ボリュームに属する新しい容量プールチャンクを得るステップと、
    前記スレーブストレージサブシステムにページ解放要求を送信するステップと、
    前記スレーブストレージサブシステムの容量プールページを含む共有容量プールチャンクを検索し、削除するステップと、
    前記ページ解放要求の完了の承認を、前記スレーブストレージサブシステムから前記マスタストレージサブシステムへ送信するステップと、
    前記外部ボリュームに属する新しい容量プールチャンクから、前記マスタストレージサブシステム上の前記割り当てられていない仮想ボリュームに、新しい容量プールページを割り当てるステップと、
    前記ダーティキャッシュスロットのデータを前記外部ボリュームに転送するステップと、
    前記マスタストレージサブシステムの前記外部ボリュームから、前記転送完了の承認を受信するステップと、
    前記マスタストレージサブシステムで前記ダーティキャッシュスロットの状態を、ダーティからクリーンへ変更するステップと、
    から成ることを特徴とする、請求項32に記載のコンピュータ実施の方法。
  38. さらに前記スレーブボリュームから前記外部ボリュームへのデータのデステージのステップを含み、該デステージのステップが、
    ダーティキャッシュスロットが前記スレーブストレージサブシステムで割り当てられていない容量プールページに対応し、前記割り当てられていない容量プールページは前記スレーブ仮想ボリュームに割り当てられていない状況で、前記スレーブストレージサブシステムで前記ダーティキャッシュスロットを発見するステップと、
    前記割り当てられていない容量プールページの割り当て状態を、前記マスタストレージサブシステムに要求するステップと、
    前記割り当てられていない容量プールページと前記マスタストレージサブシステムの前記マスタ仮想ボリュームの関係を得て、該関係を前記スレーブストレージサブシステムに送信するステップと、
    前記スレーブストレージサブシステムで、前記割り当てられていない容量プールページを前記スレーブ仮想ボリュームに割り当てるステップと、
    前記スレーブストレージサブシステムからのロック要求を前記マスタストレージサブシステムに送信するステップと、
    前記マスタストレージサブシステムで前記ロック要求を受信し、前記スレーブストレージサブシステムの前記ダーティキャッシュスロットに対応して前記マスタストレージサブシステム上のターゲットキャッシュスロットをロックするステップと、
    前記スレーブストレージサブシステムに前記ロック要求完了の承認を返すステップと、
    前記マスタ仮想ボリュームの前記ターゲットキャッシュスロットのスロット状態がダーティの場合には、前記スレーブストレージサブシステムから前記外部ボリュームに、前記ダーティキャッシュスロットのデータを転送するステップと、
    前記スレーブ仮想ボリュームの前記外部ボリュームから前記データ転送の承認を受信するステップと、
    前記スレーブストレージサブシステムで前記ダーティキャッシュスロットのスロット状態をダーティからクリーンに変更するステップと、
    から成ることを特徴とする請求項32に記載のコンピュータ実施の方法。
  39. 1つ以上のプロセッサにより実行される時に、前記1つ以上のプロセッサが、2つ以上のストレージサブシステムに接続され、ホストコンピュータを利用したデータストレージのコンピュータ実施の方法を実行することができ、前記2つ以上のストレージサブシステムはともに外部ストレージボリュームに接続され、前記各ストレージサブシステムはキャッシュエリアで構成され、前記各ストレージサブシステムは少なくとも1つの仮想ボリュームと少なくとも1つの容量プールで構成され、前記少なくとも1つの仮想ボリュームは前記少なくとも1つの容量プールから割り当てられ、前記少なくとも1つの容量プールは前記外部ストレージボリュームの少なくとも一部分で構成され、前記少なくとも1つの仮想ボリュームがシン・プロビジョニングボリュームであることを特徴とし、前記方法が、
    前記2つ以上のストレージサブシステムのうち第1のストレージサブシステムの第1の仮想ボリュームと前記2つ以上のストレージサブシステムのうち第2のストレージサブシステムの第2の仮想ボリュームとを、マスタボリュームとスレーブボリュームとしてペア化するステップと、
    前記第1のストレージサブシステムから要求を受信すると、前記第2のストレージサブシステムの少なくとも1つの要求プールの少なくとも1つのストレージ要素が、前記第2の仮想ボリュームに割り当てられることを阻止するステップと、
    から成ることを特徴とする、1つ以上の命令シーケンスを実行するコンピュータで読み取り可能なメディア。
JP2008323103A 2008-03-21 2008-12-19 高可用性、低容量のシン・プロビジョニング Expired - Fee Related JP5264464B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/053,514 2008-03-21
US12/053,514 US20090240880A1 (en) 2008-03-21 2008-03-21 High availability and low capacity thin provisioning

Publications (3)

Publication Number Publication Date
JP2009230742A true JP2009230742A (ja) 2009-10-08
JP2009230742A5 JP2009230742A5 (ja) 2012-05-24
JP5264464B2 JP5264464B2 (ja) 2013-08-14

Family

ID=40791584

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008323103A Expired - Fee Related JP5264464B2 (ja) 2008-03-21 2008-12-19 高可用性、低容量のシン・プロビジョニング

Country Status (4)

Country Link
US (1) US20090240880A1 (ja)
EP (1) EP2104028A3 (ja)
JP (1) JP5264464B2 (ja)
CN (1) CN101539841B (ja)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011096014A1 (ja) * 2010-02-05 2011-08-11 株式会社日立製作所 仮想マシンと連携したThin-Provisioning容量管理を行う計算機システム、計算機、及び方法
JP2012531654A (ja) * 2009-10-09 2012-12-10 株式会社日立製作所 ストレージシステム及びストレージシステムの通信パス管理方法
JP2013508882A (ja) * 2009-10-26 2013-03-07 アマゾン テクノロジーズ インコーポレイテッド 複製されたデータインスタンスのプロビジョニングおよび管理
JP2013508884A (ja) * 2009-10-26 2013-03-07 アマゾン テクノロジーズ インコーポレイテッド 複製されたデータインスタンスのモニタリング
JP2013531283A (ja) * 2010-12-22 2013-08-01 株式会社日立製作所 ストレージの仮想化機能と容量の仮想化機能との両方を有する複数のストレージ装置を含んだストレージシステム
JP2015510616A (ja) * 2012-06-26 2015-04-09 株式会社日立製作所 ストレージシステム、及びストレージシステムの制御方法
US9135283B2 (en) 2009-10-07 2015-09-15 Amazon Technologies, Inc. Self-service configuration for data environment
US9207984B2 (en) 2009-03-31 2015-12-08 Amazon Technologies, Inc. Monitoring and automatic scaling of data volumes
US9218245B1 (en) 2009-03-31 2015-12-22 Amazon Technologies, Inc. Cloning and recovery of data volumes
US9705888B2 (en) 2009-03-31 2017-07-11 Amazon Technologies, Inc. Managing security groups for data instances
US10127149B2 (en) 2009-03-31 2018-11-13 Amazon Technologies, Inc. Control service for data management
US10860439B2 (en) 2009-10-26 2020-12-08 Amazon Technologies, Inc. Failover and recovery for replicated data instances
US10969985B1 (en) 2020-03-04 2021-04-06 Hitachi, Ltd. Storage system and control method thereof
US20220214823A1 (en) * 2021-01-07 2022-07-07 EMC IP Holding Company LLC Leveraging garbage collection for raid transformation

Families Citing this family (109)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008146574A (ja) * 2006-12-13 2008-06-26 Hitachi Ltd 記憶制御装置及び記憶制御方法
JP4331220B2 (ja) * 2007-03-07 2009-09-16 株式会社東芝 未使用物理領域自律管理機能を持つストレージ装置
JP2009043055A (ja) 2007-08-09 2009-02-26 Hitachi Ltd 計算機システム、ストレージ装置及びデータ管理方法
US8082400B1 (en) * 2008-02-26 2011-12-20 Hewlett-Packard Development Company, L.P. Partitioning a memory pool among plural computing nodes
US8244868B2 (en) * 2008-03-24 2012-08-14 International Business Machines Corporation Thin-provisioning adviser for storage devices
JP5028381B2 (ja) * 2008-10-22 2012-09-19 株式会社日立製作所 ストレージ装置およびキャッシュ制御方法
JP5277991B2 (ja) * 2009-01-27 2013-08-28 富士通株式会社 割当制御プログラム、割当制御装置及び割当制御方法
WO2011052005A1 (en) * 2009-10-27 2011-05-05 Hitachi, Ltd. Storage controller and storage control method for dynamically assigning partial areas of pool area as data storage areas
US9110594B2 (en) * 2009-11-04 2015-08-18 Seagate Technology Llc File management system for devices containing solid-state media
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
US8639876B2 (en) * 2010-01-27 2014-01-28 International Business Machines Corporation Extent allocation in thinly provisioned storage environment
US9965224B2 (en) * 2010-02-24 2018-05-08 Veritas Technologies Llc Systems and methods for enabling replication targets to reclaim unused storage space on thin-provisioned storage systems
US8447943B2 (en) 2010-02-24 2013-05-21 Hitachi, Ltd. Reduction of I/O latency for writable copy-on-write snapshot function
US20110238857A1 (en) * 2010-03-29 2011-09-29 Amazon Technologies, Inc. Committed processing rates for shared resources
US8321646B2 (en) * 2010-04-13 2012-11-27 Dot Hill Systems Corporation Method and apparatus for rebalancing storage components within a storage tier
US8463995B2 (en) 2010-07-16 2013-06-11 Hitachi, Ltd. Storage control apparatus and storage system comprising multiple storage control apparatuses
US9626127B2 (en) * 2010-07-21 2017-04-18 Nxp Usa, Inc. Integrated circuit device, data storage array system and method therefor
US8380961B2 (en) 2010-08-18 2013-02-19 International Business Machines Corporation Methods and systems for formatting storage volumes
US8392653B2 (en) 2010-08-18 2013-03-05 International Business Machines Corporation Methods and systems for releasing and re-allocating storage segments in a storage volume
US9176677B1 (en) * 2010-09-28 2015-11-03 Emc Corporation Virtual provisioning space reservation
US8688908B1 (en) 2010-10-11 2014-04-01 Infinidat Ltd Managing utilization of physical storage that stores data portions with mixed zero and non-zero data
JP5595530B2 (ja) * 2010-10-14 2014-09-24 株式会社日立製作所 データ移行システム及びデータ移行方法
US8533420B2 (en) 2010-11-24 2013-09-10 Microsoft Corporation Thin provisioned space allocation
US8577836B2 (en) 2011-03-07 2013-11-05 Infinidat Ltd. Method of migrating stored data and system thereof
CN103299265B (zh) * 2011-03-25 2016-05-18 株式会社日立制作所 存储系统和存储区域分配方法
US9367452B1 (en) 2011-09-30 2016-06-14 Emc Corporation System and method for apportioning storage
US9104529B1 (en) 2011-12-30 2015-08-11 Emc Corporation System and method for copying a cache system
US9158578B1 (en) 2011-12-30 2015-10-13 Emc Corporation System and method for migrating virtual machines
US9235524B1 (en) 2011-12-30 2016-01-12 Emc Corporation System and method for improving cache performance
US9053033B1 (en) * 2011-12-30 2015-06-09 Emc Corporation System and method for cache content sharing
US8930947B1 (en) 2011-12-30 2015-01-06 Emc Corporation System and method for live migration of a virtual machine with dedicated cache
US9009416B1 (en) * 2011-12-30 2015-04-14 Emc Corporation System and method for managing cache system content directories
US9043545B2 (en) * 2012-01-06 2015-05-26 Netapp, Inc. Distributing capacity slices across storage system nodes
EP2783288A1 (en) * 2012-03-15 2014-10-01 Hitachi, Ltd. Storage system and data management method
US9460018B2 (en) * 2012-05-09 2016-10-04 Qualcomm Incorporated Method and apparatus for tracking extra data permissions in an instruction cache
US9690703B1 (en) * 2012-06-27 2017-06-27 Netapp, Inc. Systems and methods providing storage system write elasticity buffers
US9104590B2 (en) * 2012-07-20 2015-08-11 Hitachi, Ltd. Storage system including multiple storage apparatuses and pool virtualization method
US9697111B2 (en) * 2012-08-02 2017-07-04 Samsung Electronics Co., Ltd. Method of managing dynamic memory reallocation and device performing the method
CN102855093B (zh) * 2012-08-16 2015-05-13 浪潮(北京)电子信息产业有限公司 实现自动精简配置存储系统动态扩容的系统及方法
US8990542B2 (en) 2012-09-12 2015-03-24 Dot Hill Systems Corporation Efficient metadata protection system for data storage
WO2014108935A1 (en) * 2013-01-11 2014-07-17 Hitachi, Ltd. Data storage system, method of controlling a data storage system and management system for a data storage system
CN106412030B (zh) * 2013-11-05 2019-08-27 华为技术有限公司 一种选择存储资源方法、装置及系统
US10120617B2 (en) 2013-11-12 2018-11-06 International Business Machines Corporation Using deterministic logical unit numbers to dynamically map data volumes
US9053002B2 (en) 2013-11-12 2015-06-09 International Business Machines Corporation Thick and thin data volume management
US9323764B2 (en) 2013-11-12 2016-04-26 International Business Machines Corporation Copying volumes between storage pools
US9529552B2 (en) 2014-01-14 2016-12-27 International Business Machines Corporation Storage resource pack management
US10033811B2 (en) 2014-01-14 2018-07-24 International Business Machines Corporation Matching storage resource packs to storage services
US9509771B2 (en) 2014-01-14 2016-11-29 International Business Machines Corporation Prioritizing storage array management commands
US9734066B1 (en) * 2014-05-22 2017-08-15 Sk Hynix Memory Solutions Inc. Workload-based adjustable cache size
US10152343B2 (en) 2014-08-13 2018-12-11 Hitachi, Ltd. Method and apparatus for managing IT infrastructure in cloud environments by migrating pairs of virtual machines
US9678681B2 (en) * 2015-06-17 2017-06-13 International Business Machines Corporation Secured multi-tenancy data in cloud-based storage environments
US10126985B2 (en) * 2015-06-24 2018-11-13 Intel Corporation Application driven hardware cache management
CN105511890B (zh) * 2016-01-29 2018-02-23 腾讯科技(深圳)有限公司 一种图形界面更新方法和装置
US10394491B2 (en) * 2016-04-14 2019-08-27 International Business Machines Corporation Efficient asynchronous mirror copy of thin-provisioned volumes
CN106126118A (zh) * 2016-06-20 2016-11-16 青岛海信移动通信技术股份有限公司 存储装置寿命的检测方法及电子设备
US10430121B2 (en) 2016-08-22 2019-10-01 International Business Machines Corporation Efficient asynchronous mirror copy of fully provisioned volumes to thin-provisioned volumes
US10761743B1 (en) 2017-07-17 2020-09-01 EMC IP Holding Company LLC Establishing data reliability groups within a geographically distributed data storage environment
US10880040B1 (en) 2017-10-23 2020-12-29 EMC IP Holding Company LLC Scale-out distributed erasure coding
US10572191B1 (en) 2017-10-24 2020-02-25 EMC IP Holding Company LLC Disaster recovery with distributed erasure coding
US10382554B1 (en) * 2018-01-04 2019-08-13 Emc Corporation Handling deletes with distributed erasure coding
US10783049B2 (en) * 2018-02-26 2020-09-22 International Business Machines Corporation Virtual storage drive management in a data storage system
US10579297B2 (en) 2018-04-27 2020-03-03 EMC IP Holding Company LLC Scaling-in for geographically diverse storage
US10936196B2 (en) 2018-06-15 2021-03-02 EMC IP Holding Company LLC Data convolution for geographically diverse storage
US11023130B2 (en) 2018-06-15 2021-06-01 EMC IP Holding Company LLC Deleting data in a geographically diverse storage construct
US10594340B2 (en) 2018-06-15 2020-03-17 EMC IP Holding Company LLC Disaster recovery with consolidated erasure coding in geographically distributed setups
US11249852B2 (en) 2018-07-31 2022-02-15 Portwonx, Inc. Efficient transfer of copy-on-write snapshots
US11354060B2 (en) 2018-09-11 2022-06-07 Portworx, Inc. Application snapshot for highly available and distributed volumes
US11436203B2 (en) 2018-11-02 2022-09-06 EMC IP Holding Company LLC Scaling out geographically diverse storage
US10901635B2 (en) 2018-12-04 2021-01-26 EMC IP Holding Company LLC Mapped redundant array of independent nodes for data storage with high performance using logical columns of the nodes with different widths and different positioning patterns
US11119683B2 (en) 2018-12-20 2021-09-14 EMC IP Holding Company LLC Logical compaction of a degraded chunk in a geographically diverse data storage system
US10931777B2 (en) 2018-12-20 2021-02-23 EMC IP Holding Company LLC Network efficient geographically diverse data storage system employing degraded chunks
US10892782B2 (en) 2018-12-21 2021-01-12 EMC IP Holding Company LLC Flexible system and method for combining erasure-coded protection sets
US11023331B2 (en) 2019-01-04 2021-06-01 EMC IP Holding Company LLC Fast recovery of data in a geographically distributed storage environment
US10942827B2 (en) 2019-01-22 2021-03-09 EMC IP Holding Company LLC Replication of data in a geographically distributed storage environment
US10866766B2 (en) 2019-01-29 2020-12-15 EMC IP Holding Company LLC Affinity sensitive data convolution for data storage systems
US10936239B2 (en) 2019-01-29 2021-03-02 EMC IP Holding Company LLC Cluster contraction of a mapped redundant array of independent nodes
US10846003B2 (en) 2019-01-29 2020-11-24 EMC IP Holding Company LLC Doubly mapped redundant array of independent nodes for data storage
US10942825B2 (en) 2019-01-29 2021-03-09 EMC IP Holding Company LLC Mitigating real node failure in a mapped redundant array of independent nodes
US10877675B2 (en) * 2019-02-15 2020-12-29 Sap Se Locking based on categorical memory allocation
US10944826B2 (en) 2019-04-03 2021-03-09 EMC IP Holding Company LLC Selective instantiation of a storage service for a mapped redundant array of independent nodes
US11029865B2 (en) 2019-04-03 2021-06-08 EMC IP Holding Company LLC Affinity sensitive storage of data corresponding to a mapped redundant array of independent nodes
US11113146B2 (en) 2019-04-30 2021-09-07 EMC IP Holding Company LLC Chunk segment recovery via hierarchical erasure coding in a geographically diverse data storage system
US11121727B2 (en) 2019-04-30 2021-09-14 EMC IP Holding Company LLC Adaptive data storing for data storage systems employing erasure coding
US11119686B2 (en) 2019-04-30 2021-09-14 EMC IP Holding Company LLC Preservation of data during scaling of a geographically diverse data storage system
US11748004B2 (en) 2019-05-03 2023-09-05 EMC IP Holding Company LLC Data replication using active and passive data storage modes
US11209996B2 (en) 2019-07-15 2021-12-28 EMC IP Holding Company LLC Mapped cluster stretching for increasing workload in a data storage system
US11449399B2 (en) 2019-07-30 2022-09-20 EMC IP Holding Company LLC Mitigating real node failure of a doubly mapped redundant array of independent nodes
US11023145B2 (en) 2019-07-30 2021-06-01 EMC IP Holding Company LLC Hybrid mapped clusters for data storage
US11228322B2 (en) 2019-09-13 2022-01-18 EMC IP Holding Company LLC Rebalancing in a geographically diverse storage system employing erasure coding
US11449248B2 (en) 2019-09-26 2022-09-20 EMC IP Holding Company LLC Mapped redundant array of independent data storage regions
US11288139B2 (en) 2019-10-31 2022-03-29 EMC IP Holding Company LLC Two-step recovery employing erasure coding in a geographically diverse data storage system
US11435910B2 (en) 2019-10-31 2022-09-06 EMC IP Holding Company LLC Heterogeneous mapped redundant array of independent nodes for data storage
US11119690B2 (en) 2019-10-31 2021-09-14 EMC IP Holding Company LLC Consolidation of protection sets in a geographically diverse data storage environment
US11435957B2 (en) 2019-11-27 2022-09-06 EMC IP Holding Company LLC Selective instantiation of a storage service for a doubly mapped redundant array of independent nodes
US11144220B2 (en) 2019-12-24 2021-10-12 EMC IP Holding Company LLC Affinity sensitive storage of data corresponding to a doubly mapped redundant array of independent nodes
US11231860B2 (en) 2020-01-17 2022-01-25 EMC IP Holding Company LLC Doubly mapped redundant array of independent nodes for data storage with high performance
US11494128B1 (en) 2020-01-28 2022-11-08 Pure Storage, Inc. Access control of resources in a cloud-native storage system
US11507308B2 (en) 2020-03-30 2022-11-22 EMC IP Holding Company LLC Disk access event control for mapped nodes supported by a real cluster storage system
US11288229B2 (en) 2020-05-29 2022-03-29 EMC IP Holding Company LLC Verifiable intra-cluster migration for a chunk storage system
US11693983B2 (en) 2020-10-28 2023-07-04 EMC IP Holding Company LLC Data protection via commutative erasure coding in a geographically diverse data storage system
US11847141B2 (en) 2021-01-19 2023-12-19 EMC IP Holding Company LLC Mapped redundant array of independent nodes employing mapped reliability groups for data storage
US11625174B2 (en) 2021-01-20 2023-04-11 EMC IP Holding Company LLC Parity allocation for a virtual redundant array of independent disks
US11531467B1 (en) 2021-01-29 2022-12-20 Pure Storage, Inc. Controlling public access of resources in a secure distributed storage system
US11520516B1 (en) 2021-02-25 2022-12-06 Pure Storage, Inc. Optimizing performance for synchronous workloads
US11733897B1 (en) 2021-02-25 2023-08-22 Pure Storage, Inc. Dynamic volume storage adjustment
US11726684B1 (en) 2021-02-26 2023-08-15 Pure Storage, Inc. Cluster rebalance using user defined rules
US11354191B1 (en) 2021-05-28 2022-06-07 EMC IP Holding Company LLC Erasure coding in a large geographically diverse data storage system
US11449234B1 (en) 2021-05-28 2022-09-20 EMC IP Holding Company LLC Efficient data access operations via a mapping layer instance for a doubly mapped redundant array of independent nodes
US20230056344A1 (en) * 2021-08-13 2023-02-23 Red Hat, Inc. Systems and methods for processing out-of-order events

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1357465A2 (en) * 2002-04-26 2003-10-29 Hitachi, Ltd. Storage system having virtualized resource
JP2004227558A (ja) * 2002-11-25 2004-08-12 Hitachi Ltd 仮想化制御装置およびデータ移行制御方法
US20060242378A1 (en) * 2005-04-21 2006-10-26 Yoshiki Kano System and method for managing disk space in a thin-provisioned storage subsystem
EP1727033A1 (en) * 2005-05-24 2006-11-29 Hitachi, Ltd. Storage system and operation method of storage system
EP1764678A1 (en) * 2005-09-05 2007-03-21 Hitachi, Ltd. Control method of device in storage system for virtualization
JP2007102455A (ja) * 2005-10-04 2007-04-19 Hitachi Ltd ストレージシステム及び構成変更方法
EP1785830A1 (en) * 2005-11-14 2007-05-16 Hitachi, Ltd. Method of improving efficiency of capacity of volume used for copy function and apparatus thereof
JP2007193573A (ja) * 2006-01-19 2007-08-02 Hitachi Ltd 記憶装置システム及び記憶制御方法
JP2007286946A (ja) * 2006-04-18 2007-11-01 Hitachi Ltd 計算機システム、アクセス制御方法及び管理計算機
EP1857918A2 (en) * 2006-05-16 2007-11-21 Hitachi, Ltd. Computer system comprising an external storage system having an external volume
JP2008134987A (ja) * 2006-10-30 2008-06-12 Hitachi Ltd 情報システム及び情報システムのデータ転送方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US6493804B1 (en) * 1997-10-01 2002-12-10 Regents Of The University Of Minnesota Global file system and data storage device locks
JP3612271B2 (ja) * 2000-09-12 2005-01-19 株式会社東芝 ファイルシステム
JP2003076592A (ja) * 2001-09-04 2003-03-14 Hitachi Ltd データ格納システム
GB0218891D0 (en) * 2002-08-14 2002-09-25 Ibm Method for data retention in a data cache and data storage system
US7263593B2 (en) * 2002-11-25 2007-08-28 Hitachi, Ltd. Virtualization controller and data transfer control method
JP2005267008A (ja) * 2004-03-17 2005-09-29 Hitachi Ltd ストレージ管理方法およびストレージ管理システム
JP2007280089A (ja) * 2006-04-07 2007-10-25 Hitachi Ltd 容量拡張ボリュームの移行方法

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1357465A2 (en) * 2002-04-26 2003-10-29 Hitachi, Ltd. Storage system having virtualized resource
JP2003316522A (ja) * 2002-04-26 2003-11-07 Hitachi Ltd 計算機システムおよび計算機システムの制御方法
JP2004227558A (ja) * 2002-11-25 2004-08-12 Hitachi Ltd 仮想化制御装置およびデータ移行制御方法
US20060242378A1 (en) * 2005-04-21 2006-10-26 Yoshiki Kano System and method for managing disk space in a thin-provisioned storage subsystem
US7130960B1 (en) * 2005-04-21 2006-10-31 Hitachi, Ltd. System and method for managing disk space in a thin-provisioned storage subsystem
JP2006302258A (ja) * 2005-04-21 2006-11-02 Hitachi Ltd シン・プロビジョン型ストレージサブシステムのディスクスペースを管理するシステムと方法
EP1727033A1 (en) * 2005-05-24 2006-11-29 Hitachi, Ltd. Storage system and operation method of storage system
JP2006330895A (ja) * 2005-05-24 2006-12-07 Hitachi Ltd ストレージシステム及びストレージシステムの運用方法
EP1764678A1 (en) * 2005-09-05 2007-03-21 Hitachi, Ltd. Control method of device in storage system for virtualization
JP2007072538A (ja) * 2005-09-05 2007-03-22 Hitachi Ltd ストレージ仮想化装置のデバイス制御引継ぎ方法
JP2007102455A (ja) * 2005-10-04 2007-04-19 Hitachi Ltd ストレージシステム及び構成変更方法
EP1785830A1 (en) * 2005-11-14 2007-05-16 Hitachi, Ltd. Method of improving efficiency of capacity of volume used for copy function and apparatus thereof
JP2007133822A (ja) * 2005-11-14 2007-05-31 Hitachi Ltd 記憶容量を効率的に使用する計算機システム及びその制御方法
JP2007193573A (ja) * 2006-01-19 2007-08-02 Hitachi Ltd 記憶装置システム及び記憶制御方法
JP2007286946A (ja) * 2006-04-18 2007-11-01 Hitachi Ltd 計算機システム、アクセス制御方法及び管理計算機
EP1857918A2 (en) * 2006-05-16 2007-11-21 Hitachi, Ltd. Computer system comprising an external storage system having an external volume
JP2007310495A (ja) * 2006-05-16 2007-11-29 Hitachi Ltd 計算機システム
JP2008134987A (ja) * 2006-10-30 2008-06-12 Hitachi Ltd 情報システム及び情報システムのデータ転送方法

Cited By (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10761975B2 (en) 2009-03-31 2020-09-01 Amazon Technologies, Inc. Control service for data management
US11379332B2 (en) 2009-03-31 2022-07-05 Amazon Technologies, Inc. Control service for data management
US10225262B2 (en) 2009-03-31 2019-03-05 Amazon Technologies, Inc. Managing security groups for data instances
US10282231B1 (en) 2009-03-31 2019-05-07 Amazon Technologies, Inc. Monitoring and automatic scaling of data volumes
US11914486B2 (en) 2009-03-31 2024-02-27 Amazon Technologies, Inc. Cloning and recovery of data volumes
US11770381B2 (en) 2009-03-31 2023-09-26 Amazon Technologies, Inc. Managing security groups for data instances
US11550630B2 (en) 2009-03-31 2023-01-10 Amazon Technologies, Inc. Monitoring and automatic scaling of data volumes
US11385969B2 (en) 2009-03-31 2022-07-12 Amazon Technologies, Inc. Cloning and recovery of data volumes
US11132227B2 (en) 2009-03-31 2021-09-28 Amazon Technologies, Inc. Monitoring and automatic scaling of data volumes
US9207984B2 (en) 2009-03-31 2015-12-08 Amazon Technologies, Inc. Monitoring and automatic scaling of data volumes
US9218245B1 (en) 2009-03-31 2015-12-22 Amazon Technologies, Inc. Cloning and recovery of data volumes
US10798101B2 (en) 2009-03-31 2020-10-06 Amazon Technologies, Inc. Managing security groups for data instances
US9705888B2 (en) 2009-03-31 2017-07-11 Amazon Technologies, Inc. Managing security groups for data instances
US10162715B1 (en) 2009-03-31 2018-12-25 Amazon Technologies, Inc. Cloning and recovery of data volumes
US10127149B2 (en) 2009-03-31 2018-11-13 Amazon Technologies, Inc. Control service for data management
US10977226B2 (en) 2009-10-07 2021-04-13 Amazon Technologies, Inc. Self-service configuration for data environment
US9135283B2 (en) 2009-10-07 2015-09-15 Amazon Technologies, Inc. Self-service configuration for data environment
JP2012531654A (ja) * 2009-10-09 2012-12-10 株式会社日立製作所 ストレージシステム及びストレージシステムの通信パス管理方法
JP2013508882A (ja) * 2009-10-26 2013-03-07 アマゾン テクノロジーズ インコーポレイテッド 複製されたデータインスタンスのプロビジョニングおよび管理
US11714726B2 (en) 2009-10-26 2023-08-01 Amazon Technologies, Inc. Failover and recovery for replicated data instances
US10860439B2 (en) 2009-10-26 2020-12-08 Amazon Technologies, Inc. Failover and recovery for replicated data instances
US11321348B2 (en) 2009-10-26 2022-05-03 Amazon Technologies, Inc. Provisioning and managing replicated data instances
US11907254B2 (en) 2009-10-26 2024-02-20 Amazon Technologies, Inc. Provisioning and managing replicated data instances
JP2013508884A (ja) * 2009-10-26 2013-03-07 アマゾン テクノロジーズ インコーポレイテッド 複製されたデータインスタンスのモニタリング
US9806978B2 (en) 2009-10-26 2017-10-31 Amazon Technologies, Inc. Monitoring of replicated data instances
US9336292B2 (en) 2009-10-26 2016-05-10 Amazon Technologies, Inc. Provisioning and managing replicated data instances
US11477105B2 (en) 2009-10-26 2022-10-18 Amazon Technologies, Inc. Monitoring of replicated data instances
JP2014053050A (ja) * 2009-10-26 2014-03-20 Amazon Technologies Inc 複製されたデータインスタンスのプロビジョニングおよび管理
WO2011096014A1 (ja) * 2010-02-05 2011-08-11 株式会社日立製作所 仮想マシンと連携したThin-Provisioning容量管理を行う計算機システム、計算機、及び方法
JP5276185B2 (ja) * 2010-02-05 2013-08-28 株式会社日立製作所 仮想マシンと連携したThin−Provisioning容量管理を行う計算機システム、計算機、及び方法
JP2013531283A (ja) * 2010-12-22 2013-08-01 株式会社日立製作所 ストレージの仮想化機能と容量の仮想化機能との両方を有する複数のストレージ装置を含んだストレージシステム
JP2015510616A (ja) * 2012-06-26 2015-04-09 株式会社日立製作所 ストレージシステム、及びストレージシステムの制御方法
US11543989B2 (en) 2020-03-04 2023-01-03 Hitachi, Ltd. Storage system and control method thereof
US10969985B1 (en) 2020-03-04 2021-04-06 Hitachi, Ltd. Storage system and control method thereof
US11556270B2 (en) * 2021-01-07 2023-01-17 EMC IP Holding Company LLC Leveraging garbage collection for raid transformation
US20220214823A1 (en) * 2021-01-07 2022-07-07 EMC IP Holding Company LLC Leveraging garbage collection for raid transformation

Also Published As

Publication number Publication date
EP2104028A2 (en) 2009-09-23
CN101539841A (zh) 2009-09-23
JP5264464B2 (ja) 2013-08-14
CN101539841B (zh) 2011-03-30
US20090240880A1 (en) 2009-09-24
EP2104028A3 (en) 2010-11-24

Similar Documents

Publication Publication Date Title
JP5264464B2 (ja) 高可用性、低容量のシン・プロビジョニング
JP5069011B2 (ja) ストレージモジュール及び容量プール空き容量調整方法
US9946460B2 (en) Storage subsystem and storage system architecture performing storage virtualization and method thereof
US8380893B2 (en) Storage system
JP5478107B2 (ja) 仮想ストレージ装置を管理する管理サーバ装置及び仮想ストレージ装置の管理方法
JP4147198B2 (ja) ストレージシステム
US8327094B2 (en) Logical volume transfer method and storage network system
JP5718533B1 (ja) ストレージシステムのデータ移行方法
US20050060505A1 (en) Remote storage disk control device and method for controlling the same
JP6898393B2 (ja) ストレージシステム及びデータ転送方法
JP2008152807A (ja) 計算機システム
JP2007257317A (ja) 記憶システム及び記憶領域解放方法並びにストレージシステム
JP2009043030A (ja) ストレージシステム
JP2002082775A (ja) 計算機システム
JP2005228278A (ja) 記憶領域の管理方法、管理装置及び管理プログラム
JP6663478B2 (ja) データ移行方法及び計算機システム
US11409454B1 (en) Container ownership protocol for independent node flushing
JP2004302556A (ja) 複数の計算機システム間でのデータ共有方法およびディスク制御装置
WO2019026222A1 (ja) ストレージシステム及びデータ転送制御方法
JP5272185B2 (ja) 計算機システム及びストレージシステム
US20230205638A1 (en) Active-active storage system and data processing method thereof
JP5597266B2 (ja) ストレージシステム
US11620062B1 (en) Resource allocation techniques using a metadata log
JP6000391B2 (ja) ストレージシステムのデータ移行方法
JP2010277342A (ja) 管理プログラム、管理装置および管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100903

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20100903

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20101105

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120131

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120402

A524 Written submission of copy of amendment under section 19 (pct)

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20120402

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120814

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121012

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130430

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5264464

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees