JP2010186471A - ストレージシステム間でシンプロビジョニングボリュームを移行させるための方法と装置 - Google Patents

ストレージシステム間でシンプロビジョニングボリュームを移行させるための方法と装置 Download PDF

Info

Publication number
JP2010186471A
JP2010186471A JP2010020340A JP2010020340A JP2010186471A JP 2010186471 A JP2010186471 A JP 2010186471A JP 2010020340 A JP2010020340 A JP 2010020340A JP 2010020340 A JP2010020340 A JP 2010020340A JP 2010186471 A JP2010186471 A JP 2010186471A
Authority
JP
Japan
Prior art keywords
storage system
source
thin provisioning
storage
data
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
JP2010020340A
Other languages
English (en)
Other versions
JP5352489B2 (ja
Inventor
Takashi Arakawa
敬史 荒川
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 JP2010186471A publication Critical patent/JP2010186471A/ja
Application granted granted Critical
Publication of JP5352489B2 publication Critical patent/JP5352489B2/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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

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

Abstract

【課題】シンプロビジョニングボリュームの効率的な移行方法。
【解決手段】複数のストレージシステムは、ホストコンピュータにシンプロビジョニングボリュームを提供する。ストレージシステムの少なくとも1つは、他のストレージシステムのストレージ領域を、仮想的に自分自身のストレージ領域(すなわち外部ストレージ)として提供する。ターゲットストレージシステムは、ソースストレージシステムから管理情報のインポート又は参照し、ソースストレージシステムを外部ストレージとして使用することにより、効率的な移行およびストレージリソースプールの統合を達成する。例えば、ソースストレージシステムとデスティネーションストレージシステムの間で同じ長さを持つチャンクを使用し、ストレージリソースプールはソースストレージシステムから管理情報をインポートして統合され、データの実際の位置を調整するためにページベースの自動再配置が実行される。
【選択図】図1

Description

0001 本発明は、全般的にはストレージ技術に関するものであり、特にストレージシステム間でシンプロビジョニングボリュームを移行させるための方法および装置に関する。さらに、本発明はストレージリソースプールの統合にも関する。
0002 ストレージコスト、管理コストおよび電力消費を低減するために、ストレージシステムでのシンプロビジョニングの適用が実施されてきた。シンプロビジョニングでは、ストレージシステムは、ホストコンピュータがデータを格納するためのストレージ領域として仮想ボリュームを提供する。仮想ボリュームにおいては、ストレージシステムは、ホストコンピュータから受け取った書き込みアクセスコマンドのターゲット位置にのみ物理的なデータストレージ領域を配分し割り付けを行う。すべての仮想ストレージ位置が、物理的なストレージ位置に対応付けられているわけではないので、プールされている領域の中の使用されている物理的な領域の合計は、ホストコンピュータに示された仮想の領域の合計よりも小さくすることが出来る。この能力を達成するために、ストレージシステムは、ストレージ領域(例えばHDDまたはフラッシュメモリのストレージ領域)をチャンクまたはページと呼ばれる複数の固定長の領域に分割して、チャンクと仮想ボリュームの論理セグメントとの間のマッピングを管理する。
0003 たとえば、参照によってここに援用する、米国特許第7,162,600号は、ストレージシステムにおいてシンプロビジョニングを実施するための技術と、外部ストレージを利用するための技術を開示している。具体的には、通常の(シンプロビジョニングではない)ボリュームとシンプロビジョニングボリュームとの間の移行のための方法が開示されている。
0004 しかしながら、シンプロビジョニングが各ストレージシステムで独立して実装されるので、多数のストレージシステムの間でシンプロビジョニングボリュームを効率的に移行することは容易には達成出来ない。すなわち、シンプロビジョニングボリュームの移行は、たとえ仮想ボリュームが実データをほんの少量しか格納していなくても、ストレージシステム間で仮想ボリュームの全ストレージ容量を転送することを要求する。特に、従来の技術は、チャンクの長さがストレージシステム間で異なる場合に、シンプロビジョニングボリュームの効率的な移行を達成する方法を提供していない。
0005 ストレージシステム間のボリュームの移行は、古いストレージシステムの再移植/再使用のため、ボリュームに保存されたデータを古いストレージシステムから新しいストレージシステムに移動する場合、あるいはストレージ環境を、外部ストレージの仮想化を備えた単一のストレージシステム上で集中的管理を実現(例えば、ストレージリソースプールの統合)するために再構築する場合などに必要とされる。
0006 したがって、ストレージシステム間のシンプロビジョニングボリュームの効率的な移行を達成し、かつストレージリソースプールを統合する方法および装置が必要とされる。
0007 本発明の手法は、シンプロビジョニングボリュームを移行させ、ストレージリソースプールを統合させるために、従来の技術に関連した上記や他の1つ以上の問題を実質的に解決する方法およびシステムへと向けられる。
0008 本発明の一つの実施形態においては、複数のストレージシステムが、ホストコンピュータにシンプロビジョニングボリュームを供給することが可能であり、ストレージシステム間でシンプロビジョニング構成に関する管理情報を転送(インポート/エクスポート)することが可能である。さらに、ストレージシステムの少なくとも1つは、他のストレージシステムへの接続によって、他のストレージシステム(すなわち外部ストレージ)のストレージ領域を、仮想的に自分自身のストレージ領域として提供する能力を有する。シンプロビジョニングボリュームのデスティネーション役のストレージシステムは、他のソースストレージシステムから得た管理情報をインポートまたは参照し、またソースストレージシステムを外部ストレージとして利用することによって、効率的な移行およびストレージリソースプールの統合を達成する。
0009 本発明の1つの実施形態は、ソースストレージシステムおよびデスティネーションストレージシステムの間で同じ長さを持つチャンクを使用するシンプロビジョニングボリュームの移行のための方法とプロセスを提供する。この実施形態において、ストレージリソースプールはソースストレージシステムから管理情報をインポートすることにより統合され、自動化したページベースの再配置が、データの実際の位置を調整するために行なわれる。
0010 別の実施形態は、ソースストレージシステムおよびデスティネーションストレージシステムの間で異なるチャンク長さを持つシンプロビジョニングボリュームの移行のための方法およびプロセスを示す。この実施形態では、ソースストレージシステムのシンプロビジョニングボリュームに関連する管理情報が、移行を行なうためにデスティネーションストレージシステムによって使用される。
0011 本発明の1つの態様によれば、チャンクプールを形成する多数のチャンクに分割されている多数のデータストレージユニットを含むシンプロビジョニングストレージシステムが提供される。本発明のシンプロビジョニングストレージシステムは、さらに、ストレージシステムをソースシンプロビジョニングストレージシステムと、少なくとも1つのホストコンピュータとに接続する少なくとも1つのネットワークインタフェースを含んでいる。シンプロビジョニングストレージシステムは、中央処理装置とメモリを組込んだストレージ制御装置をさらに含む。前述のストレージ制御装置は、ソースシンプロビジョニングストレージシステムのソースデータストレージボリュームと割り付けられたチャンクの対応を示すソースマッピング情報をソースシンプロビジョニングストレージシステムからインポートし、ターゲットデータストレージボリュームにプロビジョンするためにソースマッピング情報を使用し、プロビジョンされたターゲットデータストレージボリュームを、少なくとも1つのネットワークインタフェースを経由して少なくとも1つのホストコンピュータに利用可能にする。
0012 本発明の別の態様によれば、チャンクプールを形成する多数のチャンクへ分割された多数のストレージユニットを含む、シンプロビジョニングストレージシステムが提供される。本発明のシンプロビジョニングストレージシステムは、さらにストレージシステムを第二のシンプロビジョニングストレージシステムおよび少なくとも1つのホストコンピュータに接続する少なくとも1つのネットワークインタフェースと、 中央処理装置とメモリより成るストレージ制御装置とを含む。ストレージ制御装置は、ソースシンプロビジョニングストレージシステムのソースデータストレージボリュームと割り付けられたチャンクの対応を示すソースマッピング情報をソースシンプロビジョニングストレージシステムからインポートし、少なくとも1つのネットワークインタフェースによって、ソースデータストレージボリュームを少なくとも1つのホストコンピュータに外部ストレージとして利用可能にするために本ソースマッピング情報を使用する。
0013 さらにまた、本発明の別の態様によれば、チャンクプールを形成する多数のチャンクに分割された多数のデータストレージユニットを含むシンプロビジョニングストレージシステムが提供される。本発明のシンプロビジョニングストレージシステムは、さらにストレージシステムをターゲットシンプロビジョニングストレージシステムおよび少なくとも1つのホストコンピュータに接続する少なくとも1つのネットワークインタフェースと、中央処理装置とメモリより成るストレージ制御装置を含む。ストレージ制御装置は、ソースデータストレージボリュームをプロビジョンし、かつ少なくとも1つのネットワークインタフェースによってソースデータストレージボリュームをホストコンピュータに利用可能にする。少なくとも1つのホストコンピュータからのソースデータストレージボリュームに向けられた書き込みコマンドを受信すると、ストレージ制御装置はチャンクプールからソースデータストレージボリュームに少なくとも1つのチャンクを割り付けて、書き込みコマンドに伴うデータを、少なくとも1つの割り付けられたチャンクに格納する。ストレージ制御装置はさらにソースデータストレージボリュームと割り付けられたチャンクの対応を示すソースマッピング情報を格納し本ソースマッピング情報を、ターゲットシンプロビジョニングストレージシステムにエクスポートする。
0014 本発明に関連するさらなる態様は、一部は後続の記述で説明され、一部はこの記述から自明であるか、もしくは発明の実施により習得できるであろう。本発明の態様は、構成要素と諸構成要素の組合せと次の詳細な記述および付随する請求項において詳しく指摘した態様によって実現でき達成することができる。
0015 先の記述および以下の記述は偏に典型的で説明のためであり、請求される発明やその適用を如何なる意味でも制限する意図はないことを理解願いたい。
0016 添付の図面は、この明細書に組み入れられ、この明細書の一部を構成して本発明の実施形態を例証し、明細書の本文とあわせて、本発明技術の原理について説明し図示する役割を担っている。具体的には以下の通りである。
0017 図1は、複数のストレージシステム間でのシンプロビジョニングボリュームの移行の概観を示す。 0018 図2は、ホストコンピュータとストレージシステムの間のSANに対する移行の影響を回避するために、移行の前にSANが分離される別の構成の例を示す。 0019 図3は典型的なシステム構成を示す。 0020 図4はシンプロビジョニングボリューム(TPV)を提供する構成、および方法を示す。 0021 図5は、マッピング情報の例を示す。 0022 図6は、プール情報の典型的な実施形態を示す。 0023 図7は、TPVの書き込みプロセスの典型的な実施形態の例を示す。 0024 図8は、アクセス情報の例を示す。 0025 図9は、TPVの読み出しプロセスを示す。 0026 図10は、ソースストレージシステムにあるソースTPVからデスティネーションストレージシステムにあるデスティネーションTPVへのデータの効率的な移行の典型的なプロセスを示す。 0027 図11は、外部ストレージ情報の例を示す。 0028 図12は、再配置を行うか否かの決定をするプロセスを示す。 0029 図13は、再配置条件の例を示す。 0030 図14は、図12に記述のステップ1306で行なわれる再配置プロセスを示す。 0031 図15は、再配置情報の例を示す。 0032 図16は、ソースストレージシステムおよびデスティネーションストレージシステムの間でのセグメントおよびチャンクの境界が不揃いの例を示す。 0033 図17は、ソースストレージシステムにあるソースTPVからデスティネーションストレージシステムにあるデスティネーションTPVへのデータの効率的な移行の典型的なプロセスを示す。 0034 図18は、マッピング情報およびプール情報の典型的な実施形態を示す。 0034 図19は、マッピング情報およびプール情報の典型的な実施形態を示す。 0035 図20は、ソースTPVに保存されたデータをデスティネーションTPVへ移行するためのコピープロセスの典型的な実施形態を示す。 0036 図21は、新しいチャンクへのデータの典型的な対応を示す。 0037 図22は、デスティネーションTPVの典型的な書き込みプロセスを示す。 0038 図23は、デスティネーションTPVの典型的な読み出しプロセスを示す。 0039 図24は、ソースストレージシステムにあるソースTPVからデスティネーションストレージシステムにあるデスティネーションTPVへのデータの効率的な移行の典型的なプロセスを示す。 0040 図25は、ソースTPVに保存されたデータをデスティネーションTPVへ移行するためのコピープロセスを示す。 0041 図26は、ソースTPVに保存されたデータをデスティネーションTPVへ移行するための別のコピープロセスを示す。 0042 図27は、ソースストレージシステムおよびデスティネーションストレージシステムの間でのセグメントおよびチャンクの境界が不揃いの別の例を示す。 0043 図28は、新しいチャンクへのデータの別の典型的な対応を示す。 0044 図29は、本発明のシステムを実装することができるコンピュータプラットフォームの典型的な実施形態を示す。
0045 次の詳細な説明において、添付図面が参照されるが、図中において、同一の要素は類似の数字で示されている。前述の添付図面は、本発明の原理と一致する具体的な実施形態および実施例を説明のために示しているのであって、限定するために示しているのではない。これらの実施例は、当分野の業者が発明を実施することを可能にするほどに十分に詳細に記述されているが、これ以外の実施例も利用可能であり、構造の変更および/または諸要素の置換が本発明の範囲および精神から外れることなく行なう事が可能なことも明らかである。したがって、次の詳細な説明は、限定する意味において解釈すべきではない。さらに、記述されている発明の様々な実施形態は、汎用コンピュータ上で動作するソフトウェアの形、専門のハードウェアの形、あるいはソフトウェアとハードウェアの組み合わせた形、で実装することが可能である。
A. 第1の実施形態
A.1. システム構成
0046 図1は、複数のストレージシステム間のシンプロビジョニングボリュームの移行の概観を示す。下記に説明するように、ホストコンピュータ500および管理コンピュータ520はSAN900およびLAN902によってストレージシステム100に接続されている。各ストレージシステム100は、これらのコンピュータにシンプロビジョニングボリュームを提供することが出来る。さらに下記に説明するように、ソースストレージシステム100からデスティネーションストレージシステム100への1以上のシンプロビジョニングボリュームの中のデータのSAN900を経由した移行は、管理コンピュータ520からの指示に従ってデスティネーションストレージシステム100が行なうことができる。図2では、構成の別の例として、ホストコンピュータ500とストレージシステム100との間へのSAN900上での移行の影響を回避するために、SAN900が移行の前に分離される。
0047 図3は典型的なシステム構成を示す。特に、本発明が実装されるストレージシステム100は、ストレージ制御装置110、主プロセッサ111、スイッチ112、ホストインタフェース113、メモリ200、キャッシュ300、ディスク制御装置400、ディスク(例えばHDD)610、バックエンドパス601(例えばファイバチャネル、SATA、SAS、iSCSI(IP))の構成部分から成る。
0048 主プロセッサ101はストレージ制御装置100に関して様々なプロセスを実行する。主プロセッサ101および他の構成部分はメモリ200に格納された、マッピング情報201、プール情報202、外部ストレージ情報203、アクセス情報204、再配置条件205、再配置情報206の情報を使用する。
0049 主プロセッサ101は、メモリ200に格納した、書き込みプロセスプログラム211、読み出しプロセスプログラム212、インポートプログラム213、ページ再配置プログラム214、再配置決定プログラム215のプログラムの実行によりプロセスを行なう。これらのプロセスの詳細を以下に記述する。
0050 ホスト500および管理コンピュータ520は、SAN900(例えば、ファイバチャネル、ファイバチャネル・オーバ・イーサネット(登録商標)、iSCSI(IP))によってホストインタフェース113に接続されている。ホスト500および管理コンピュータ520およびストレージ制御装置110は、LAN902(例えばIPネットワーク)によって互いに接続されている。
0051 ストレージシステム100によって提供されるボリューム(論理ユニット)は、HDDの中の領域の集合で作られる。それらはパリティコードの格納(すなわちRAID構成による)あるいはミラーリングにより保護することができる。
0052 ホスト500はファイルシステム501、OS502およびアプリケーションプログラム503を有する。これらのプログラムを実行するために、ホスト500はさらに図1に示されてはいないプロセッサ、メモリ、ストレージデバイス等のリソースを有する。
0053 管理コンピュータ520はファイルシステム521、OS522および管理プログラム523を有する。これらのプログラムを実行するために、ホスト500は、さらに図1に示されてはいないプロセッサ、メモリ、ストレージデバイス等のリソースを有する。
A.2. ボリュームを提供する方法の概観
0054 図4はTPVを提供する構成および方法を示す。ストレージシステム100はプールボリューム620を有し、プールボリューム620はチャンク690と呼ばれる多数の固定長領域に分割される。ストレージシステム100は書き込みアクセスに際し仮想ボリューム(TPV)のセグメントにチャンク690を割り当てる。言いかえれば、物理的ストレージ領域は必要時に割り当てられる。図4では、TPVは、複数セグメントによって仮想的に構成され、チャンク690はプールボリューム620から割り付けられ、セグメント(すなわちTPVの固定長領域(ページ))に割り当てられる。たとえば、この図では、チャンク4はセグメント6に割り当てられている。すなわち、TPVはページベースのボリュームである。
0055 これを達成するために、ストレージ制御装置110は、マッピング情報201とプール情報202とを用いる。図5はマッピング情報201の例である。この情報は、各ボリュームのチャンクとセグメントの間のマッピング情報を保持する。割り当ての状態は、チャンクがセグメントに割り当てられていないならば「NO」である。内部/外部(層)の欄は、チャンクの中のデータがこのストレージシステム100の中に位置しているか、あるいはSAN900によって接続している外部ストレージシステム100に位置しているかを示す。外部ストレージシステム100へのアクセスにはオーバヘッドがあるので、外部ストレージの中のチャンクにアクセスするための性能は、内部チャンクへアクセスするより全般的には低く、このように、この情報はまたデータが位置づけられているストレージ層を示している。すなわち、内部ストレージはより高速層であり、外部ストレージはより低速層である。「再配置中」のフラグの使用法は後で記述する。この情報は、高速検索のために、各要素のリストあるいはディレクトリとして構築することができる。
0056 図6は、プール情報202の例を示す。この情報は、チャンクが使用されているかいないかを管理する。この情報の使用によって、ストレージ制御装置110は、以下に記述する書き込みプロセスにおいて空(未使用)チャンクを見つけることができる。チャンクがその時点で属する層は「層」欄に示される。さらにこの情報は、空きチャンクを高速探索するために各要素のリストあるいはディレクトリとして構築することができる。図6に記述してあるように、この情報によって管理されるプールボリューム620は外部ストレージシステム100にあるボリュームを含むことができる。すなわち、このストレージシステム100は、SAN900を経由して外部ストレージシステム100によって提供されるボリュームをこのストレージシステム100の仮想ボリュームとして使用することができ、この仮想ボリュームをプールボリューム620に適用することができる。
0057 参照によってここに援用する米国特許第7,441,096号は、ストレージシステム100によるデータのコピーおよびマッピング情報201の変更により、チャンク間のページに基づいたトランスペアレントなデータ再配置を実現する方法の例を開示している。
A.3. TPVへの書き込みプロセス
0058 図7は、TPV610への書き込みプロセスを示す。
0059 ステップ1001において、ホスト500は書き込み要求を発行し、ストレージ制御装置110へ書き込みデータを転送する。
0060 ステップ1002において、ストレージ制御装置110は、書き込み要求を参照して、ターゲットTPV610、および書き込みアクセスのターゲット領域をチェックする。
0061 ステップ1003において、ストレージ制御装置110はターゲット領域のセグメントに関しマッピング情報201をチェックする。チャンクがセグメントに既に割り当てられている場合は、プロセスはステップ1006に進む。そうでない場合は、プロセスはステップ1004に進む。
0062 ステップ1004において、ストレージ制御装置110は、書き込みデータを格納するために新しいチャンクを割り当てる。このために、ストレージ制御装置110はマッピング情報201およびプール情報202を更新する。プール情報202を使用して、ストレージ制御装置110は、内部ストレージから新しいチャンクを検出する。
0063 ステップ1005において、ストレージ制御装置110は、新しいチャンクに書き込みデータを格納する。その後、プロセスはステップ1010に進む。
0064 ステップ1006において、ストレージ制御装置110はマッピング情報201のフラグ「再配置中」をチェックする。このフラグは、後述する再配置プロセスでセットされ、チャンクが再配置中であるか否かを示す。再配置中である場合は、プロセスはステップ1007に進む。そうでない場合は、プロセスはステップ1009に進む。
0065 ステップ1007において、後述する再配置情報206を参照することにより、ストレージ制御装置110は、チャンクへの書き込みに関する領域が再配置プロセスにおいてコピー済かどうかをチェックする。YESの場合は、プロセスはステップ1008に進む。NOの場合は、プロセスはステップ1009に進む。
0066 ステップ1008において、ストレージ制御装置110は、再配置ターゲットへ書き込みデータを格納する。
0067 ステップ1009において、ストレージ制御装置110は、既存のチャンクへ書き込みデータを格納する。
0068 ステップ1010において、ストレージ制御装置110はアクセス情報204を更新する。この情報は、セグメント(すなわちページ)に関するアクセス特性を記録し、後述する再配置の決定に使用される。
0069 ステップ1011において、ストレージ制御装置110がターゲット領域の、すべてのセグメントのチェックを終了した場合、プロセスは終了する。そうでない場合、ストレージ制御装置110は次のセグメント(ステップ1012)にチェックを進める。
0070 図8は、アクセス情報204の例を示す。これは、単位時間当りのアクセス頻度、最終アクセス時点、および平均アクセス長、のような、各読み書きに対して各セグメントへのアクセスに関する情報を保持する。平均アクセス長に関する情報は、ある時間間隔で初期化してもよい。
0071 A.4. TPVへの読み出しプロセス
0072 図9は、TPV610の読み出しプロセスを示す。
0073 ステップ1101において、ホスト500はストレージ制御装置110へ読み出し要求を発行する。
0074 ステップ1102において、ストレージ制御装置110は、読み出し要求を参照してターゲットTPV610および読み出しアクセスのターゲット領域をチェックする。
0075 ステップ1103において、ストレージ制御装置110はターゲット領域のセグメントに関しマッピング情報201をチェックする。チャンクがセグメントに既に割り当てられている場合は、プロセスはステップ1104に進む。そうで無い場合には、プロセスはステップ1106に進む。
0076 ステップ1104において、ストレージ制御装置110はチャンクに格納されたデータをホスト500へ転送する。
0077 ステップ1105において、ストレージ制御装置110はアクセス情報204を更新する。
0078 ステップ1106において、ストレージ制御装置110はホスト500へゼロ(0)データを送信する。
0079 ステップ1107において、ストレージ制御装置110がターゲット領域のすべてのセグメントのチェックを終了した場合は、プロセスは終了する。そうで無い場合には、ストレージ制御装置110は次のセグメント(ステップ1108)にチェックを進める。
0080 A.5. ストレージシステム間でのTPVの移行プロセス
0081 ボリュームに格納されたデータのストレージシステム間での移行は、古いストレージシステムの再移植/再使用のために、データを古いストレージシステムから新しいストレージシステムに移動する場合、あるいはストレージ環境を、外部ストレージの仮想化を備えた単一のストレージシステム上で集中的管理を実現するために、再構築する場合に必要とされる。
0082 図10は、ソースストレージシステム100のソースTPV610から、デスティネーションストレージシステム100のデスティネーションTPV610へのデータの効率的な移行のプロセスについて記述する。
0083 このプロセス開始の前提として、ソースストレージシステム100のソースTPV610と関連するソースプールボリューム620は、SAN900を通してデスティネーションストレージシステム100から到達可能でなければならない。
0084 ステップ1201において、管理コンピュータ520は、ソースTPV610に関連するプールボリューム620(ソースプールボリューム620)が読み出し/書き込みコマンドを受理するように、ソースTPV610を有するストレージシステム100(ソースストレージシステム100)に指示をする。
0085 ステップ1202において、管理コンピュータ520は、ソースTPV610への書き込みアクセスを禁止するようにソースストレージシステム100に指示する。
0086 ステップ1203において、管理コンピュータ520は、書き込みプロセスが停止したかどうかをチェックする。書き込みプロセスが成功裡に停止した場合は、プロセスはステップ1204に進む。そうでない場合には、そのプロセスはステップ1211に進む。
0087 ステップ1204において、管理コンピュータ520は、書き込み禁止を備えたソースプールボリューム620に対し仮想ボリュームを割り当てるように、デスティネーションストレージシステム100に指示する。
0088 ステップ1205において、デスティネーションストレージシステム100は、外部ストレージ情報203の更新により外部ストレージとしてのソースプールボリューム620に仮想ボリュームを割り当てる。仮想ボリュームは書き込み禁止であってもよい。図11は、外部ストレージ情報203の例を示す。この情報は、仮想ボリュームと外部ストレージボリュームの間のマッピングを保持する。内部ボリュームIDは、デスティネーションストレージシステム100の中の仮想ボリュームの識別子を示す。接続ポートIDは、ソースプールボリューム620に向けてSAN900に接続されたポートの識別子を示す。すなわち、接続ポートIDは、デスティネーションストレージシステム100のポートの識別子を示す。外部ポートIDは、ソースプールボリューム620にアクセスするために使用されるソースストレージシステム100のポートの識別子を示す。外部LUN(logical unit number論理ユニット番号)は、ソースプールボリューム620の論理ユニット番号を示す。外部ストレージシステムは、ベンダー名、製品名およびシリアル番号のようなソースストレージシステム100に関する情報を示す。米国特許第7,162,600号に述べられているように、デスティネーションストレージシステム100は、ソースストレージシステム100のボリュームに、この情報を使用することによって、自分自身のボリュームとしてアクセスすることが出来る。
0089 ステップ1206において、管理コンピュータ520は、ソースTPV610に対するソースストレージシステム100のマッピング情報201と、ソースプールボリューム620に対するソースストレージシステム100のプール情報202とをインポートするようにデスティネーションストレージシステム100に指示をする。
0090 ステップ1207において、デスティネーションストレージシステム100はLAN902を通してソースストレージシステム100と通信し、ソースストレージシステム100からマッピング情報201およびプール情報202を入手する。
0091 ステップ1208において、デスティネーションストレージシステム100は、ソースストレージシステム100から得た外部ストレージ情報203、およびプール情報202を参照してデスティネーションストレージシステム100のプール情報202を更新する。
0092 ステップ1209において、デスティネーションストレージシステム100は、ソースストレージシステム100から得た外部ストレージ情報203とマッピング情報201に従ってデスティネーションストレージシステム100のマッピング情報201を更新することにより、デスティネーションTPV610を生成する。言いかえれば、ソースストレージシステム100のTPV610がデスティネーションストレージシステム100に再生されたのであり、外部ストレージにある実データは、前述の外部ストレージへのアクセス能力によって(SAN900を通して)アクセス可能になる。
0093 デスティネーションストレージシステム100にデスティネーションTPV610が生成された後、ステップ1210において、デスティネーションストレージシステム100は、デスティネーションTPV610の中のデータの実際の位置を再配置する(調整する)。再配置の詳細なプロセスは後に記述する。
0094 ステップ1211において、管理コンピュータ520は、移行エラーの発生を記録し、移行の失敗をユーザへ報告する。
A.6. 再配置決定プロセス
0095 図12は再配置を行うか否かを決定するプロセスを示す。
0096 ステップ1301において、ストレージ制御装置110は、テストすべきセグメント(すなわちページ)を選択する。
0097 ステップ1302において、ストレージ制御装置110は、アクセス情報204を参照して、再配置条件205と比較する値を入手する。
0098 ステップ1303において、ストレージ制御装置110は、再配置条件205に従って、セグメント中のデータの再配置の要否を決定する。図13は、再配置条件205の例を示す。この情報は、各移動に対し層間の再配置実行を決定する条件を保持している。この条件は、ユーザによって、ホスト500、管理コンピュータ520および/またはストレージシステム100の管理端末を通して登録することが出来る。ストレージ制御装置110は上記の値および条件を参照すること(比較すること)により要否を決定することができる。
0099 ステップ1304において再配置が決定の結果行なわれる場合は、プロセスはステップ1305に進む。そうでない場合にはプロセスは終了する。
0100 ステップ1305において、ストレージ制御装置110は、条件から決定された適切な層に再配置のデスティネーションを見つけて、プール情報202を更新する。
0101 ステップ1306において、ストレージ制御装置110は再配置を行なう。
詳細なプロセスは後に記述する。
0102 データの使用状況に応じてTPV610の中のデータの実際の位置を調整するために、上記の再配置決定プロセスは、所定間隔で繰り返し行なわれるか、あるいは、ストレージシステム110の負荷が低い時に実施される。このプロセスは、データを格納したセグメントに対して行なわれる。このプロセスによって、データの位置は、内部ストレージと外部ストレージとを含む、1つのストレージリソースプールの中で調整される。また、データは、アクセス頻度のような条件によって外部ストレージ(すなわちソースストレージシステム100)から内部ストレージ(すなわちデスティネーションストレージシステム100)に移動させることができる。
0103 A.7. 再配置プロセス
0104 図14は、図12に記述したステップ1306で実行される再配置プロセスを示す。
0105 ステップ1401において、ストレージ制御装置110は、移動すべきセグメントのために再配置情報206中にエントリを作成する。図15は、再配置情報206の例を示す。再配置情報206には、移動させるセグメントのID、デスティネーションとして選択された未使用の位置に関する情報、およびコピーの進行を表示するコピーポインタがある。ストレージ制御装置110は、さらにマッピング情報201のセグメントに対し、「再配置中」のフラグを「YES」にセットする。
0106 ステップ1402において、ストレージ制御装置110はセグメントのデータを、デスティネーションとして選択された位置へコピーする。コピーの進行に従って、再配置情報206のコピーポインタは更新され先に進む。
0107 ステップ1403において、コピーの完了の後、ストレージ制御装置110は、再配置に従ってセグメントと物理的位置との間のマッピングを変更するためにマッピング情報201を更新する。これは、ホスト500にとってはセグメントのトランスペアレントな再配置を実現する。
0108 ステップ1404において、ストレージ制御装置110は、これまでセグメントを保有していたチャンクを、使用するセグメントが不在になったら、当該チャンクを解放するためにプール情報202を更新する。
0109 ステップ1405において、ストレージ制御装置110は、再配置情報206内のエントリを削除し、マッピング情報を更新して、セグメントに対する“再配置中”のフラグを「NO」にセットする。
0110 上に記述した方法を使用することにより、多数のストレージシステムの間でのTPV610の効率的な移行が達成される。この移行方法は、移行中に扱われ転送されるデータ量の減少を実現する。さらに、これは、自動的なデータ再配置によってデータ配置の最適化を行い、内部ストレージおよび外部ストレージを含めて統合化されたストレージプールを実現する。
B. 第2の実施形態
0111 セグメントのサイズ(すなわちチャンクのサイズ)はソースストレージシステム100とデスティネーションストレージシステム100の間で、特に両者が異なる製品である場合は、異なることがあり得る。図16に示すように、セグメントサイズの違いはソースストレージシステム100とデスティネーションストレージシステム100の間のセグメントおよびチャンクの境界の不一致を引き起こす。この実施形態で述べている次のプロセスは、特にセグメントサイズがソースTPV610とデスティネーションTPV610の間で異なる場合に適用することができる。
B.1. ストレージシステム間のTPVの移行のプロセス
0112 図17は、ソースストレージシステム100のソースTPV610から、デスティネーションストレージシステム100のデスティネーションTPV610への、データの効率的な移行のプロセスについて記述する。
0113 このプロセスを始める前に、ソースストレージシステム100のソースTPV610に関連するソースプールボリューム620は、SAN900を通してデスティネーションストレージシステム100から到達可能でなければならない。
0114 ステップ1501―1505およびステップ1512は、図10に記述したステップ1201―1205およびステップ1212と同じである。違いは以下で説明する。
0115 ステップ1506において、管理コンピュータ520は、ソースTPV610に対するソースストレージシステム100のマッピング情報201と、ソースプールボリューム620に対するソースストレージシステム100のプール情報202とを入手するようにデスティネーションストレージシステム100に指示をする。
0116 ステップ1507において、デスティネーションストレージシステム100はLAN902を通してソースストレージシステム100と通信し、ソースストレージシステム100からマッピング情報201およびプール情報202を入手する。
0117 ステップ1508において、デスティネーションストレージシステム100は、ソースTPV610と同じ仮想サイズを持つデスティネーションTPV610を作成する。デスティネーションTPV610は、この時点ではTPV610の初期状態にある。
0118 ステップ1509において、デスティネーションストレージシステム100は、入手したマッピング情報201とプール情報202に従って、ソースTPV610とデスティネーションTPV610との間の移行のために、ソースプールボリューム620からデスティネーションプールボリューム620へデータをコピーする。コピープロセスの詳細なプロセスは後に記述する。デスティネーションストレージシステム100は、コピープロセスと平行してホスト500からの書き込みコマンドおよび読み出しコマンドを処理することができる。
0119 コピー動作の完了の後、ステップ1510において、管理コンピュータ520はソースストレージシステム100に、ソースTPV610、及びソースTPV610のための情報を保持するためのメモリやソースプールボリューム620のストレージ領域等の関連するリソースを解放するように指示をする。管理コンピュータ520はコピー動作の進行および完成をモニターする。
0120 ステップ1511において、ソースストレージシステム100はソースTPV610を削除し、関連するリソースを解放する。これら解放されたリソースは、ソースストレージシステム100が再使用することができる。さらに、それらはSAN900を通してデスティネーションストレージシステム100が再使用することも出来る。たとえば、デスティネーションストレージシステム100は、外部ストレージとして解放されたプールボリューム620を使用することができ、追加のプールボリューム620としてそれらを当てることもできる。
0121 この実施形態の中で使用するマッピング情報201、およびプール情報202を、図18および図19に示す。テーブルの各項目はそれぞれ前の実施形態の中で説明した項目と同じである。
B.2. TPV移行のためのコピープロセス
0122 図20は、ソースTPV610に保存されたデータのデスティネーションTPV610への移行のための前述のコピープロセスを示す。
0123 ステップ1601においては、デスティネーションストレージシステム100のストレージ制御装置110は、処理すべきセグメントとして、デスティネーションTPV610の最初のセグメントを選択する。
0124 ステップ1602において、ストレージ制御装置110は選択したセグメントに対しデスティネーションストレージシステム100のマッピング情報201をチェックする。もし、デスティネーションストレージシステム100のチャンクがセグメントに既に割り当てられている場合には、プロセスはステップ1606に進む。そうでない場合には、プロセスはステップ1603に進む。
0125 ステップ1603において、ストレージ制御装置110は、ソースストレージシステム100から得たマッピング情報201をチェックする。セグメントに対応する1つ以上のチャンクがソースストレージシステム100のソースプールボリューム620に存在する場合には、プロセスはステップ1604に進む。そうでない場合には、プロセスはステップ1606に進む。ストレージ制御装置110は、どのようにデスティネーションセグメントが、ソースセグメントに対応するかを、図16に示すようなデスティネーションセグメントID、デスティネーションセグメントサイズ、ソースセグメントIDおよびソースセグメントサイズによる計算によって認識することができる(例えば、第1のソースセグメントID=(デスティネーションセグメントID×デスティネーションセグメントサイズ)/ソースセグメントサイズ)。
0126 ステップ1604において、ストレージ制御装置110は、デスティネーションストレージシステム100のデスティネーションプールボリューム620の中の新しいチャンクを割り当てる。このために、ストレージ制御装置110は、デスティネーションストレージシステム100のマッピング情報201およびプール情報202を更新する。
0127 ステップ1605において、ストレージ制御装置110は、SAN900を通してソースプールボリューム620の対応するチャンクからデータを読み、図21に示すような対応(つまり、チャンクを有するデスティネーションセグメントとソースセグメントの重なった部分)に従って新しいチャンクへデータを格納する。デスティネーションセグメントがソースチャンクの対応しない領域を部分的に含んでいる場合は、ストレージ制御装置100は図21に示すように新しいチャンクの領域へゼロ(0)データを格納する。
0128 ステップ1606において、ストレージ制御装置110がデスティネーションTPV610のすべてのセグメントのチェックを完了した場合は、プロセスは終了する。そうでない場合には、ストレージ制御装置110は次のセグメントにチェックを進める(ステップ1607)。
B.3. TPVへの書き込みプロセス
0129 図22は、デスティネーションTPV610への書き込みプロセスを示す。このプロセスは上記のコピープロセスと並行して行なうことができる。言いかえれば、デスティネーションストレージシステム100はコピープロセスを行なうことと並行して書き込みコマンドを受け付けることができる。
0130 ステップ1701において、ホスト500は、デスティネーションストレージシステム100のストレージ制御装置110へ書き込み要求を発行し、書き込みデータを送る。
0131 ステップ1702において、ストレージ制御装置110は書き込み要求を参照しターゲットTPV610および書き込みアクセスのターゲット領域をチェックする。
0132 ステップ1703において、ストレージ制御装置110は、ターゲット領域のセグメントに関しデスティネーションストレージシステム100のマッピング情報201をチェックする。チャンクがセグメントに既に割り当てられている場合は、プロセスはステップ1708に進む。そうでない場合には、プロセスはステップ1704に進む。
0133 ステップ1704において、ストレージ制御装置110は、書き込みデータを格納するために新しいチャンクを割り当てる。このために、ストレージ制御装置110はマッピング情報201およびプール情報202を更新する。
0134 ステップ1705において、ストレージ制御装置110はソースストレージシステム100から得たマッピング情報201をチェックする。ターゲット領域に対応する1つ以上のチャンクが、ソースストレージシステム100のソースプールボリューム620に存在する場合は、プロセスはステップ1706に進む。そうでない場合には、プロセスはステップ1707に進む。
0135 ステップ1706において、ストレージ制御装置110はSAN900を通してソースプールボリューム620の対応するチャンクからデータを読み取り、対応(つまり、チャンクを持つデスティネーションセグメントとソースセグメントのオーバラップ部分)に従って新しいチャンクへデータを格納する。デスティネーションセグメントがソースチャンクが対応しない領域を部分的に含んでいる場合は、ストレージ制御装置100は新しいチャンクの領域へゼロ(0)データを格納する。
0136 ステップ1707において、ストレージ制御装置110は、新しいチャンクへ書き込みデータを格納する。
0137 ステップ1708において、ストレージ制御装置110は、デスティネーションストレージシステム100のデスティネーションプールボリューム620の既存のチャンクへ書き込みデータを格納する。
0138 ステップ1709において、ストレージ制御装置110はアクセス情報204を更新する。
0139 ステップ1710において、ストレージ制御装置110がターゲット領域のすべてのセグメントのチェックを完了した場合は、プロセスは終了する。そうでない場合には、ストレージ制御装置110は次のセグメントにチェックを進める(ステップ1711)。
B.4. TPVの読み出しプロセス
0140 図23はデスティネーションTPV610の読み出しプロセスを示す。このプロセスも上記のコピープロセスと並行して行なうことができる。言いかえれば、デスティネーションストレージシステム100はコピープロセスを行なうことと並行して読み出しコマンドを受け付けることができる。
0141 ステップ1801において、ホスト500はデスティネーションストレージシステム100のストレージ制御装置110へ読み出し要求を発行する。
0142 ステップ1802において、ストレージ制御装置110は読み出し要求を参照しターゲットTPV610、および読み出しアクセスのターゲット領域をチェックする。
0143 ステップ1803において、ストレージ制御装置110は、ターゲット領域のセグメントに対しデスティネーションストレージシステム100のマッピング情報201をチェックする。チャンクがそのセグメントに既に割り当てられている場合は、プロセスはステップ1807に進む。そうでない場合には、プロセスはステップ1804に進む。
0144 ステップ1804において、ストレージ制御装置110はソースストレージシステム100から得たマッピング情報201をチェックする。ターゲット領域に対応する1つ以上のチャンクがソースストレージシステム100のソースプールボリューム620に存在する場合は、プロセスはステップ1805に進む。そうでない場合には、プロセスはステップ1808に進む。
0145 ステップ1805において、ストレージ制御装置110はSAN900を通してソースプールボリューム620の対応するチャンクからデータを読み取る。
0146 ステップ1806において、ストレージ制御装置110は読み取ったデータをホスト500に転送する。ターゲット領域がソースチャンクが対応しない領域を含んでいる場合は、ストレージ制御装置100はデータを転送する際にこのギャップをゼロ(0)データで満たす。
0147 ステップ1807において、ストレージ制御装置110は、デスティネーションストレージシステムのデスティネーションプールボリューム620の既存のチャンクに格納されたデータをホスト500へ送信する。
0148 ステップ1808において、ストレージ制御装置110はホスト500へゼロ(0)データを送信する。
0149 ステップ1809において、ストレージ制御装置110はアクセス情報204を更新する。
0150 ステップ1810において、ストレージ制御装置110がターゲット領域のセグメントのすべてチェックを完了した場合は、プロセスは終了する。 そうでない場合には、ストレージ制御装置110は次のセグメントにチェックを進める(ステップ1811)。
0151 上に記述した方法を使用することによって、セグメントサイズがストレージシステム間で異なっても、複数のストレージシステム間でのTPVの効率的な移行が達成される。この移行方法は、移行において処理し転送するデータ量を減少させる。
0152 図16および図21に図示してある小さなセグメントから大きなセグメントへの移行に加え、この実施形態に述べられている方法は、大きなセグメントから小さなセグメントへの移行にも、図27および図28に示す様に適用することができる。
C. 第3の実施形態
0153 以下に述べるこの実施形態におけるプロセスは、プールボリューム620からではなく、ソースTPV610からデータをコピーすることによりTPV610の移行を実現するものである。下記に述べる方法を使用することによって、セグメントサイズがストレージシステム間で異なっても、複数のストレージシステム間でのTPV610の効率的な移行が達成される。この移行方法は、移行で転送するデータ量の減少のような利点を実現することができる。
C.1. ストレージシステム間でのTPVの移行のプロセス
0154 図24は、ソースストレージシステム100のソースTPV610からデスティネーションストレージシステム100のデスティネーションTPV610への、データの効率的な移行のプロセスについて記述している。
0155 このプロセスの開始前に、ソースストレージシステム100のソースTPV610はSAN900を通してデスティネーションストレージシステム100から到達可能でなければならない。
0156 ステップ1910―1912は図17に記述したステップ1510―1512と同じである。 違いについては詳細に下記で説明する。
0157 ステップ1901において、管理コンピュータ520は、ソースストレージシステム100にソースTPV610への書き込みアクセスを禁止するように指示をする。
0158 ステップ1902において、管理コンピュータ520は、書き込みプロセスが停止したか否かをチェックする。書き込みプロセスが成功裡に停止した場合は、プロセスはステップ1903に進む。そうでない場合には、プロセスはステップ1912に進む。
0159 ステップ1903において、管理コンピュータ520は、書き込み禁止のソースTPV610に対して仮想ボリュームを割り当てるようにデスティネーションストレージシステム100に指示をする。
0160 ステップ1904において、デスティネーションストレージシステム100は外部ストレージ情報203を更新して外部ストレージとしてソースTPV610に仮想ボリュームを割り当てる。米国特許第7,162,600号に述べられているように、デスティネーションストレージシステム100は、この情報の使用により自分自身のボリュームとしてソースストレージシステム100のボリュームにアクセスすることができる。仮想ボリュームは書き込み禁止となっている。
0161 ステップ1905において、管理コンピュータ520は、デスティネーションストレージシステム100に、ソースTPV610に関するソースストレージシステム100のマッピング情報201を得るように指示をする。
0162 ステップ1906において、デスティネーションストレージシステム100はLAN902を通してソースストレージシステム100と通信し、ソースストレージシステム100からマッピング情報201を入手する。
0163 ステップ1907において、デスティネーションストレージシステム100は、ソースTPV610と同じ仮想サイズを持つデスティネーションTPV610を作成する。デスティネーションTPV610は、この時点ではTPV610の初期状態にある。デスティネーションストレージシステム100は、ホスト500からデスティネーションTPV610への書き込みコマンドをこの時点では拒絶する。
0164 ステップ1908において、入手したマッピング情報201に従って、デスティネーションストレージシステム100はソースTPV610からデスティネーションTPV610へデータをコピーする。コピープロセスの詳細は後に記述する。
0165 ステップ1909において、コピーの完了後、デスティネーションストレージシステム100はホスト500からのデスティネーションTPV610への書き込みコマンドの受理を開始する。
C.2. TPVの移行のためのコピープロセス
0166 図25は、ソースTPV610に保存されたデータのデスティネーションTPV610への移行のための実施形態における前述のコピープロセスを示す。
0167 ステップ2001において、デスティネーションストレージシステム100のストレージ制御装置110は、処理するセグメントとして、デスティネーションTPV610の最初のセグメントを選択する。
0168 ステップ2002において、ストレージ制御装置110はソースストレージシステム100から得たマッピング情報201をチェックする。セグメントに対応する1つ以上のチャンクがソースストレージシステム100のソースプールボリューム620に存在する場合は、プロセスはステップ2003に進む。そうでない場合には、プロセスはステップ2005に進む。
0169 ステップ2003において、ストレージ制御装置110は、デスティネーションストレージシステム100のデスティネーションプールボリューム620の新しいチャンクを割り当てる。このために、ストレージ制御装置110は、デスティネーションストレージシステム100のマッピング情報201およびプール情報202を更新する。
0170 ステップ2004において、ストレージ制御装置110は、前述の対応(つまり、チャンクを持つデスティネーションセグメントとソースセグメントの重複部)に従ってSAN900を通してソースTPV610からデータを読む。次いで、ストレージ制御装置110は、対応に従って新しいチャンクへデータを格納する。デスティネーションセグメントがソースチャンクの対応しない領域を部分的に含んでいる場合は、ストレージ制御装置100は新しいチャンクの領域へゼロ(0)データを格納する。
0171 ステップ2005において、ストレージ制御装置110がデスティネーションTPV610のすべてのセグメントのチェックを完了した場合は、プロセスは終了する。そうでない場合には、ストレージ制御装置110は次のセグメントにチェックを進める(ステップ2006)。
0172 図26は、ソースTPV610に保存されたデータのデスティネーションTPV610への移行のためのコピープロセスの別の実施形態を示す。このコピープロセスは、不必要なデータの格納を行わないためにゼロ(0)データの検出を行なう。したがって、このコピープロセスでは、ソースストレージシステム100からのマッピング情報201の入手は、不必要なデータの格納を行わないために必要とされない。
0173 ステップ2101において、デスティネーションストレージシステム100のストレージ制御装置110は、処理するセグメントとして、デスティネーションTPV610の最初のセグメントを選択する。
0174 ステップ2102において、ストレージ制御装置110は、SAN900を通してソースTPV610から、デスティネーションセグメントに対応する領域のデータを読み取る。
0175 ステップ2103において、ストレージ制御装置110はデータをチェックする。データがすべてゼロ(0)データの場合は、プロセスはステップ2106に進む。そうでない場合には、プロセスはステップ2104に進む。
0176 ステップ2104において、ストレージ制御装置110は、デスティネーションストレージシステム100のデスティネーションプールボリューム620の新しいチャンクを割り当てる。このために、ストレージ制御装置110は、デスティネーションストレージシステム100のマッピング情報201およびプール情報202を更新する。
0177 ステップ2105において、ストレージ制御装置110は、新しいチャンクへデータを格納する。
0178 ステップ2106において、ストレージ制御装置110がデスティネーションTPV610のすべてのセグメントのチェックを完了した場合は、プロセスは終了する。そうでない場合には、ストレージ制御装置110は次のセグメントにチェックを進める(ステップ2107)。
0179 上記のプロセスにおいて、ゼロデータは使用されていないデータを示すものと認識される。他の特定の(あらかじめ決められた)パターンのデータを未使用データを示すものとして利用することができる。すなわち、ステップ2103では、ゼロデータの代わりに特定のパターンのデータを検知することができる。さらに、オール0を含めて多くのパターンが未使用データを示すものとして利用することができる。
0180 上記の移行の方法においては、移行プロセスは管理コンピュータ520からの指示によって行なわれる。しかしながら、このプロセスは、管理コンピュータ520なしでストレージシステム100の移行管理機能によって行なうことも出来る。たとえば、上に言及された管理コンピュータ520の主要な能力は、ストレージシステム100での管理プログラム520の実行によって、デスティネーションストレージシステム100あるいはソースストレージシステム100に持たせることが出来る。
D. 典型的なコンピュータプラットフォーム
0181 図29は、本発明の手法の実施形態を実装することが出来るコンピュータ/サーバシステム2200の実施形態を示すブロック図である。システム2200は、コンピュータ/サーバプラットフォーム2201、周辺機器2202およびネットワークリソース2203を備えている。
0182 コンピュータプラットフォーム2201は、コンピュータプラットフォーム2201の様々な部位の間で情報の通信をするための、データバス2204あるいは他のコミュニケーション機構、ならびに、情報処理や、他の計算処理および制御業務を行なう、バス2204と接続したプロセッサ2205を備えている。コンピュータプラットフォーム2201は、また、プロセッサ2205によって実行される命令だけでなく種々の情報を格納するための、バス2201に接続した、ランダムアクセスメモリ(RAM)あるいは他の動的ストレージデバイスのような、揮発性ストレージ2206を備えている。揮発性ストレージ2206は、また、プロセッサ2205による命令の実行の間の一時的変数あるいは他の中間情報を格納するために使用することも出来る。コンピュータプラットフォーム2201は、さらに、様々なシステム構成パラメーターだけでなく基本入出力システム(BIOS)の様な、プロセッサ2205のための静的な情報や命令を格納するために、バス2204と接続した読み取り専用メモリ(ROMまたはEPROM)2207あるいは他の静的ストレージデバイスを備えることができる。磁気ディスク、光ディスクあるいはソリッドステートフラッシュメモリデバイスのような永続性ストレージデバイス2208は、情報と命令の格納のためにバス2201に接続し提供される。
0183 コンピュータプラットフォーム2201は、コンピュータプラットフォーム2201のシステム管理者またはユーザへの情報の表示のために、陰極線管(CRT)、プラズマディスプレーあるいは液晶ディスプレー(LCD)のようなディスプレイ2209に、バス2204を経由して接続することができる。アルファニューメリックや他のキーを含む入力デバイス2210が、プロセッサ2204に情報やコマンドの選択を伝えるためにバス2201に接続される。別のタイプのユーザ入力デバイスとしては、プロセッサ2205に命令情報とコマンドの選択を伝えるため、あるいはディスプレイ2209上でカーソル移動をコントロールするための、マウス、トラックボールあるいはカーソル指示キーのようなカーソル制御デバイス2211がある。この入力デバイスは、2つの軸、第一軸(例えばx)および第二軸(例えばy)によって、典型的には2つの自由度を持っているが、これによって本デバイスは平面上での位置を指定することが可能となる。
0184 コンピュータプラットフォーム2201に追加のまたはリムーバブルストレージの容量を供給するために、バス2204を経由して外部ストレージデバイス2212をコンピュータプラットフォーム2201につなぐ事が出来る。計算機システム2200の一つの実施形態では、他の計算機システムとのデータの交換を容易にするために外部リムーバブルストレージデバイス2212を使用することが出来る。
0185 本発明は、ここに記述した技術を実装するのに、計算機システム2200を使用することに関わっている。ある実施形態では、本発明のシステムはコンピュータプラットフォーム2201のようなマシン上に搭載することができる。本発明の1つの実施形態によれば、ここに記述された技術は、揮発性メモリ2206に含まれている1つ以上の命令の1つ以上のシーケンスを実行するプロセッサ2205に応答して計算機システム2200によって実行される。そのような命令は、永続性ストレージデバイス2208のような他のコンピュータ可読媒体から揮発性メモリ2206に読み込む事が出来る。揮発性メモリ2206に含まれている一連の命令の実行は、プロセッサ2205に、ここに記述したプロセスのステップを実行させる。他の実施例においては、本発明を実装するために、ソフトウェア命令の代わりにあるいはソフトウェア命令と組み合わせてハード結線の回路を使用する事が出来る。このように、本発明の実施形態はハードウェア回路、ソフトウェアのどんな特定の組合せにも制限されてはいない。
0186 ここに使用されている用語“コンピュータ可読媒体”は、プロセッサ2205に実行するための命令を提供することに関与するあらゆる媒体を表す。コンピュータ可読媒体は、ここに記述した任意の方法及び/または技術を実装するための命令を運ぶことが出来る機械可読媒体の単に1つの例に過ぎない。そのような媒体は、不揮発性のメディアおよび揮発性のメディアを含み、これらに限定されることなく、多くの形式をとることが出来る。不揮発性のメディアは、例えば、ストレージデバイス2208のように、光ディスクまたは磁気ディスクを含んでいる。揮発性のメディアは、揮発性ストレージ2206のように、動的メモリを含んでいる。
0187 コンピュータ可読媒体の一般の形態は、例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープあるいは任意の他の磁気媒体、CD−ROM、任意の他の光学媒体、パンチカード、紙テープ、孔形式のパターンを備えた任意の他の物理的な媒体、RAM、PROM、EPROM、フラッシュEPROM、フラッシュドライブ、メモリカード、任意の他のメモリチップあるいはカートリッジ、などコンピュータが読むことができる如何なる他のメディアをも含んでいる。
0188 様々な形式のコンピュータ読み取り可能なメディアは、プロセッサ2205への1つ以上の命令の1つ以上のシーケンスを実行のために運ぶことができる。例えば、命令は、当初はリモートコンピュータから磁気ディスク上に運ばれてもよい。あるいは、リモートコンピュータは自らのダイナミックメモリに命令をロードし、モデムを使用して、電話回線上で命令を送ることができる。計算機システム2200のローカルモデムは、電話回線上のデータを受け取り、データを赤外線信号に変換するために赤外線送信機を使用することができる。赤外線検出器が、赤外線信号で運ばれたデータを受け取り、適切な回路がデータバス2204にデータを乗せることができる。バス2204は、データを揮発性ストレージ2206に運び、そこからプロセッサ2205が命令を取り出し実行する。揮発性メモリ2206によって受け取られた命令は、プロセッサ2205による実行の前後に永続性ストレージデバイス2208上に格納することも選択できる。命令は、業界では公知の様々なネットワークデータ通信プロトコルを使用して、インターネットを通じてコンピュータプラットフォーム2201へダウンロードすることも出来る。
0189 コンピュータプラットフォーム2201は、また、データバス2204に接続したネットワークインタフェースカード2213のような通信インタフェースを有する。通信インタフェース2213は、ローカルネットワーク2215に結合するネットワークリンク2214に接続され双方向のデータ通信接続を提供する。例えば、通信インタフェース2213は、統合デジタル通信網(ISDN)カードか、あるいは電話回線タイプに対応するデータ通信接続を提供するモデムでもよい。別の例として、通信インタフェース2213は、LAN互換のデータ通信接続を提供するローカルエリアネットワークインタフェースカード(LAN NIC)でもよい。公知の802.11a、802.11b、802.11gおよびBluetoothのような無線リンク、もまたネットワーク実装に使用することが出来る。すべてそのような実装例においては、通信インタフェース2213は、多様な形式の情報を表すデジタルデータストリームを運ぶ、電気的、電磁気的、光学的な信号を送信し受信する。
0190 ネットワークリンク2213は、典型的には、1つ以上のネットワークを通して他のネットワークリソースとのデータ通信を可能にする。例えば、ネットワークリンク2213は、ローカルネットワーク2215を通して、ホストコンピュータ2216、あるいはネットワークストレージ/サーバ2217への接続を可能にする。さらに、あるいは別の方法として、ネットワークリンク2214は、ゲートウェイ/ファイアウォール2217を通してインターネットのような広域またはグローバルネットワーク2218に接続することも出来る。このように、コンピュータプラットフォーム2201は、遠隔ネットワークストレージ/サーバ2219のように、インターネット2218のいかなる場所に位置したネットワークリソースにもアクセス可能である。一方では、コンピュータプラットフォーム2201はまた、ローカルエリアネットワーク2215及び/またはインターネット2218のいかなる場所に位置したクライアントからもアクセスすることが出来る。ネットワーククライアント2220および2221は、プラットフォーム2201に類似したコンピュータプラットフォームに基づいて自らを実装することが出来る。
0191 ローカルネットワーク2215およびインターネット2218は何れも、デジタルデータストリームを運ぶ電気的、電磁気的、あるいは光学的信号を使用する。様々なネットワークを通る信号、および通信インタフェース2213を通るネットワークリンク2214上の信号は、コンピュータプラットフォーム2201の間のデジタルデータを運び情報を転送する搬送波の典型的な形態である。
0192 コンピュータプラットフォーム2201は、インターネット2218、LAN2215、ネットワークリンク2214および通信インタフェース2213を含む多様なネットワークを通して、プログラムコードを含む、メッセージを送信しデータを受信することができる。インターネットの例において、システム2201がネットワークサーバとして働く場合、システム2201は,クライアント2220及び/または2221の上で走るアプリケーションプログラムのために要求されるコードあるいはデータを、インターネット2218、ゲートウェイ/ファイアウォール2217、ローカルエリアネットワーク2215および通信インタフェース2213を通して送信することができる。同様に、他のネットワークリソースからコードを受け取ることもできる。
0193 受信したコードはプロセッサ2205によって、受信した時に実行されてもよく、及び/または、それぞれ永続性または揮発性ストレージデバイスである2208および2206に各々格納され、あるいは後での実行のために他の不揮発性のストレージに格納されてもよい。このようにして、計算機システム2201は搬送波の形でアプリケーションコードを入手することが出来る。
0194 本発明は、どのような特定のファイアウォールシステムにも制限されないことは注目すべきである。本発明のポリシーベースのコンテント処理システムは、3つのファイアウォールオペレーティングモード、具体的には、NAT、ルーテッド、透過型のうちのどれででも使用できる。
0195 最後に、ここに記述されたプロセスと技術は、どの様な特別の装置とも本質的には関係がなく、構成要素のいかなる適切な組合せによっても実行され得ることを理解する必要がある。さらに、多様な型式の汎用目的のデバイスが、ここに記述された教示に従って使用可能である。あるいはまた、ここに記述された方法ステップを実行する専用の装置を構築することが有利であると判明するかも知れない。本発明は、特定の例に関して記述してきたが、それは全ての点で、限定のためではなく説明のためである。当分野での業者は、本発明を実施するのに相応しいハードウェア、ソフトウェア、及びファームウェアの多数の異なった組み合わせがあることが解るであろう。例えば、ここで記述されたソフトウェアは、アセンブラー、C/C++、perl、シェル、PHP、Java(登録商標)などのような、広範囲の多様なプログラミング言語あるいはスクリプト言語で実行できる。
0196 さらに、本発明のその他の実施についても、ここに開示された明細書の考察および本発明の実施から、当分野の業者には明白になるであろう。記述された実施形態の種々の態様及び/または構成要素は、コンピュータ化されたシステムの中で単独であるいは任意の組み合わせで、シンプロビジョニングボリュームを移行させ、ストレージリソースプールを統合するために使用することが出来る。明細書と例は典型的なものとしてのみ考慮されるよう意図したものであり、以下の請求項によって発明の真の範囲と精神とが示される。

Claims (20)

  1. シンプロビジョニングストレージシステムであって、該シンプロビジョニングストレージシステムは、
    a.チャンクプールを形成する複数のチャンクに分割された複数のデータストレージユニットと、
    b.前記ストレージシステムを、ソースシンプロビジョニングストレージシステムと少なくとも1つのホストコンピュータに接続するように構成された少なくとも1つのネットワークインタフェースと、
    c.中央処理装置とメモリより成るストレージ制御装置を含み、
    該ストレージ制御装置は、
    i.割り付け済チャンクの、前記ソースシンプロビジョニングストレージシステムでのとソースデータストレージボリュームへの対応を示すソースマッピング情報を、前記ソースシンプロビジョニングストレージシステムからインポートし、
    ii.前記ソースマッピング情報を、ターゲットデータストレージボリュームをプロビジョンするために使用し、
    iii.前記プロビジョンされたターゲットデータストレージボリュームを、前記少なくとも1つのネットワークインタフェースを通して、前記少なくとも1つのホストコンピュータに利用可能にする、
    ように構成されることを特徴とするシンプロビジョニングストレージシステム。
  2. 前記ストレージ制御装置は、さらに、
    前記ソースシンプロビジョニングストレージシステムの前記ソースデータストレージボリュームのデータを、前記プロビジョンされたターゲットデータストレージボリュームへ再配置し、
    前記データの前記再配置を反映するためにマッピング情報を更新する、
    ように構成されることを特徴とする請求項1によるシンプロビジョニングストレージシステム。
  3. 前記プロビジョンされたターゲットデータストレージボリュームのサイズは前記ソースデータストレージボリュームの第2のサイズと同じである
    ことを特徴とする請求項2によるシンプロビジョニングストレージシステム。
  4. 前記ストレージ制御装置は、さらに、前記ソースシンプロビジョニングストレージシステムのソースチャンクプールからのチャンクの割り付けを示すプール情報を、前記ソースシンプロビジョニングストレージシステムからインポートするように構成される
    ことを特徴とする、請求項1によるシンプロビジョニングストレージシステム。
  5. 前記ストレージ制御装置は、さらに、
    i.第3のデータストレージボリュームをプロビジョンし、該データストレージボリュームを前記少なくとも1つのネットワークインタフェース経由で前記少なくとも1つのホストコンピュータに利用可能にし、
    ii.前記少なくとも1つのホストコンピュータから前記第3のデータストレージボリュームに向けられた書き込みコマンドを受信すると、前記チャンクプールから少なくとも1つのチャンクを前記第3のデータストレージボリュームに割り付けて、前記書き込みコマンドに伴うデータを該割り付けられた少なくとも1つのチャンクに格納し、
    iii.前記割り付けられたチャンクの前記第3のデータストレージボリュームへの対応を示すためにマッピング情報を更新する、
    ように構成されることを特徴とする、請求項1によるシンプロビジョニングストレージシステム。
  6. 前記複数のチャンクの前記チャンクの長さは、前記ソースシンプロビジョニングストレージシステムのソースの複数のチャンクのソースチャンクの長さと同一であり、前記ストレージ制御装置はさらに前記ソースデータストレージボリュームに保存されたデータを前記ターゲットデータストレージボリュームに自動的にページベースの再配置を行なうように構成されることを特徴とする、
    請求項1によるシンプロビジョニングストレージシステム。
  7. 前記複数のチャンクの前記チャンクの長さは、前記ソースシンプロビジョニングストレージシステムのソースの複数のチャンクのソースチャンクの長さと相違しており、前記ストレージ制御装置は、前記ソースシンプロビジョニングストレージシステムの前記ソースデータストレージボリューム中のデータを前記プロビジョンされたターゲットデータストレージボリュームに前記ソースマッピング情報を用いて移行を行うように構成されることを特徴とする、
    請求項1によるシンプロビジョニングストレージシステム。
  8. 前記ストレージ制御装置はさらに、前記ソースデータストレージボリューム中のゼロデータの検出を行ない、前記検出されたゼロデータのコピーを省略するように構成されることを特徴とする、
    請求項2によるシンプロビジョニングストレージシステム。
  9. 前記ストレージ制御装置は、セグメント単位で前記データの前記再配置を行なうように構成されることを特徴とする、
    請求項1によるシンプロビジョニングストレージシステム。
  10. 前記ストレージ制御装置はさらに、前記データの前記再配置中に前記データストレージボリュームへの書き込みアクセスを許可するように構成されることを特徴とする、
    請求項1によるシンプロビジョニングストレージシステム。
  11. 前記少なくとも1つのネットワークインタフェースは、前記シンプロビジョニングストレージシステムを管理コンピュータに接続する動作が可能であって、前記ソースマッピング情報のインポートは前記管理コンピュータからの命令の受信を契機に行なわれることを特徴とする、
    請求項1によるシンプロビジョニングストレージシステム。
  12. 前記ストレージ制御装置はさらに、セグメントへの書き込みアクセスを受信すると、前記シンプロビジョニングストレージシステムのチャンクが前記セグメントに割り当てられていない時には、前記ソースシンプロビジョニングストレージシステムの少なくとも1つの対応するチャンクからデータを読み取るように構成されることを特徴とする、
    請求項1のシンプロビジョニングストレージシステム。
  13. 前記ストレージ制御装置はさらに、セグメントへの読み出しアクセスを受信すると、前記シンプロビジョニングストレージシステムのチャンクが前記セグメントに割り当てられていない時には、前記ソースシンプロビジョニングストレージシステムの少なくとも1つの対応するチャンクから、前記ホストコンピュータへデータを転送するように構成されることを特徴とする、
    請求項1のシンプロビジョニングストレージシステム。
  14. シンプロビジョニングストレージシステムであって、該シンプロビジョニングストレージシステムは、
    a.チャンクプールを形成する複数のチャンクに分割された複数のデータストレージユニットと、
    b.前記ストレージシステムを第2のシンプロビジョニングストレージシステムと少なくとも1つのホストコンピュータに、接続するように構成された少なくとも1つのネットワークインタフェースと、
    c.中央処理装置とメモリより成るストレージ制御装置を含み、
    該ストレージ制御装置は、
    i.割り付け済のチャンクの、前記ソースシンプロビジョニングストレージシステムのソースデータストレージボリュームへの対応を示すソースマッピング情報を、前記ソースシンプロビジョニングストレージシステムからインポートし、
    ii.前記少なくとも1つのネットワークインタフェースを通して前記ソースデータストレージボリュームを前記少なくとも1つのホストコンピュータへの外部ストレージとして利用可能にするために前記ソースマッピング情報を使用する、
    ように構成されることを特徴とするシンプロビジョニングストレージシステム。
  15. 前記少なくとも1つのネットワークインタフェースは前記シンプロビジョニングストレージシステムを管理コンピュータに接続する動作が可能であって、前記ソースマッピング情報のインポートは、前記管理コンピュータからの命令の受信を契機に行なわれることを特徴とする、
    請求項14によるシンプロビジョニングストレージシステム。
  16. 前記ストレージ制御装置は、さらに、
    i.第3のデータストレージボリュームをプロビジョンし、該データストレージボリュームを前記少なくとも1つのネットワークインタフェース経由で前記少なくとも1つのホストコンピュータに利用可能にし、
    ii.前記少なくとも1つのホストコンピュータから前記第3のデータストレージボリュームに向けられた書き込みコマンドを受信すると、前記チャンクプールから少なくとも1つのチャンクを前記第3のデータストレージボリュームに割り付けて、前記書き込みコマンドに伴うデータを該割り付けられた少なくとも1つのチャンクに格納し、
    iii.前記割り付けられたチャンクの前記第3のデータストレージボリュームへの対応を示すためにマッピング情報を更新する、
    ように構成されることを特徴とする、請求項14によるシンプロビジョニングストレージシステム。
  17. シンプロビジョニングストレージシステムであって、該シンプロビジョニングストレージシステムは、
    a.チャンクプールを形成する複数のチャンクに分割された複数のデータストレージユニットと、
    b.前記ストレージシステムをターゲットシンプロビジョニングストレージシステムおよび少なくとも1つのホストコンピュータに接続するように構成された少なくとも1つのネットワークインタフェースと、
    c.中央処理装置とメモリより成るストレージ制御装置を含み、
    該ストレージ制御装置は、
    i.ソースデータストレージボリュームをプロビジョンし、該ソースデータストレージボリュームを前記少なくとも1つのネットワークインタフェース経由で前記ホストコンピュータに利用可能にし、
    ii.前記少なくとも1つのホストコンピュータから前記ソースデータストレージボリュームに向けられた書き込みコマンドを受信すると、前記チャンクプールから少なくとも1つのチャンクを前記ソースデータストレージボリュームに割り付けて、前記書き込みコマンドに伴うデータを該割り付けられた少なくとも1つのチャンクに格納し、
    iii.前記割り付け済チャンクの前記ソースデータストレージボリュームへの対応を示すソースマッピング情報を保存し、
    iv.前記ターゲットシンプロビジョニングストレージシステムに前記ソースマッピング情報をエクスポートする、
    ように構成されることを特徴とするシンプロビジョニングストレージシステム。
  18. 前記ストレージ制御装置はさらに、前記ソースデータストレージボリュームへの書き込みアクセスを、移行の期間は禁止するように構成される
    ことを特徴とする請求項17によるソースシンプロビジョニングストレージシステム。
  19. 前記少なくとも1つのネットワークインタフェースは、前記ソースシンプロビジョニングストレージシステムを管理コンピュータに接続する動作が可能であり、前記管理コンピュータからの命令の受信を契機に、前記ソースマッピング情報のエクスポートを実行することを特徴とする、
    請求項17によるシンプロビジョニングストレージシステム。
  20. 前記ストレージ制御装置は、さらに、
    前記チャンクプールからの前記少なくとも1つのチャンクの割り付けを示すためにプール情報を更新し、
    前記プール情報を前記ターゲットシンプロビジョニングストレージシステムにエクスポートする、
    ように構成されることを特徴とする、請求項17によるシンプロビジョニングストレージシステム。
JP2010020340A 2009-02-11 2010-02-01 ストレージシステム間でシンプロビジョニングボリュームを移行させるための方法と装置 Expired - Fee Related JP5352489B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/369,363 US8407436B2 (en) 2009-02-11 2009-02-11 Methods and apparatus for migrating thin provisioning volumes between storage systems
US12/369,363 2009-02-11

Publications (2)

Publication Number Publication Date
JP2010186471A true JP2010186471A (ja) 2010-08-26
JP5352489B2 JP5352489B2 (ja) 2013-11-27

Family

ID=42148404

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010020340A Expired - Fee Related JP5352489B2 (ja) 2009-02-11 2010-02-01 ストレージシステム間でシンプロビジョニングボリュームを移行させるための方法と装置

Country Status (4)

Country Link
US (2) US8407436B2 (ja)
EP (1) EP2219106A3 (ja)
JP (1) JP5352489B2 (ja)
CN (1) CN101799742B (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013054416A (ja) * 2011-09-01 2013-03-21 Fujitsu Ltd ストレージシステム、ストレージ制御装置およびストレージ制御方法
JP2013246582A (ja) * 2012-05-24 2013-12-09 Fujitsu Ltd ストレージ装置およびストレージ装置の制御方法
JP2016527618A (ja) * 2013-07-02 2016-09-08 ヒタチ データ システムズ エンジニアリング ユーケー リミテッドHitachi Data Systems Engineering Uk Limited 仮想化されたファイル・システムのマイグレーションのための方法および装置、仮想化されたファイル・システムのマイグレーションのためのデータ・ストレージ・システム、ならびにデータ・ストレージ・システム内で使用するためのファイル・サーバ
JP2022517481A (ja) * 2019-01-25 2022-03-09 インターナショナル・ビジネス・マシーンズ・コーポレーション 大きいエクステント・プールから小さいエクステント・プールにデータを移行するための方法、システムおよびプログラム
JP2022116209A (ja) * 2020-09-23 2022-08-09 株式会社日立製作所 仮想ストレージシステム
US11829617B2 (en) 2016-02-29 2023-11-28 Hitachi, Ltd. Virtual storage system

Families Citing this family (100)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102246135B (zh) * 2008-11-07 2015-04-22 戴尔康佩伦特公司 数据存储系统的瘦导入
US8671265B2 (en) 2010-03-05 2014-03-11 Solidfire, Inc. Distributed data storage system providing de-duplication of data using block identifiers
US8843459B1 (en) 2010-03-09 2014-09-23 Hitachi Data Systems Engineering UK Limited Multi-tiered filesystem
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
CN102006335A (zh) * 2010-10-12 2011-04-06 浪潮电子信息产业股份有限公司 多服务器存储系统获得嵌入式存储控制器ip地址的方法
CN102651009B (zh) 2011-02-28 2014-09-24 国际商业机器公司 一种存储系统中检索数据的方法和设备
US8577836B2 (en) 2011-03-07 2013-11-05 Infinidat Ltd. Method of migrating stored data and system thereof
US20120278442A1 (en) * 2011-04-26 2012-11-01 Hitachi, Ltd. Server apparatus and method of controlling information system
US9003149B2 (en) * 2011-05-26 2015-04-07 International Business Machines Corporation Transparent file system migration to a new physical location
US8627034B2 (en) 2011-06-15 2014-01-07 Hitachi, Ltd. Storage control apparatus and storage control method
US9009437B1 (en) * 2011-06-20 2015-04-14 Emc Corporation Techniques for shared data storage provisioning with thin devices
US9218131B2 (en) * 2011-10-19 2015-12-22 Hitachi, Ltd. Method and apparatus to change tiers
JP2013114624A (ja) * 2011-11-30 2013-06-10 Hitachi Ltd ストレージシステム及びプール容量縮小の制御方法
US8930667B2 (en) 2011-12-13 2015-01-06 International Business Machines Corporation Controlling the placement of data in a storage system
US9054992B2 (en) 2011-12-27 2015-06-09 Solidfire, Inc. Quality of service policy sets
US9838269B2 (en) 2011-12-27 2017-12-05 Netapp, Inc. Proportional quality of service based on client usage and system metrics
US9047015B2 (en) 2012-04-13 2015-06-02 International Business Machines Corporation Migrating thin-provisioned volumes in tiered storage architectures
US20140032738A1 (en) * 2012-07-24 2014-01-30 Sudip S. Chahal Method, apparatus and system for estimating subscription headroom for a storage pool
US9229648B2 (en) * 2012-07-31 2016-01-05 Hewlett Packard Enterprise Development Lp Storage array reservation forwarding
US9063937B2 (en) * 2012-07-31 2015-06-23 Hewlett-Packard Development Company, L.P. Storage array reservation forwarding
CN103699334B (zh) * 2012-09-27 2018-04-24 伊姆西公司 用于管理虚拟机磁盘的方法和系统
US9542306B2 (en) 2013-03-13 2017-01-10 Seagate Technology Llc Dynamic storage device provisioning
JP6065695B2 (ja) * 2013-03-26 2017-01-25 富士通株式会社 ストレージ制御方法、ストレージシステム、およびストレージ制御プログラム
EP2821914B1 (en) * 2013-07-02 2017-09-13 Hitachi Data Systems Engineering UK Limited Method and apparatus for migration of a virtualized file system, data storage system for migration of a virtualized file system, and file server for use in a data storage system
WO2015000502A1 (en) * 2013-07-02 2015-01-08 Hitachi Data Systems Engineering UK Limited Method and apparatus for virtualization of a file system, data storage system for virtualization of a file system, and file server for use in a data storage system
US9460097B2 (en) 2013-07-02 2016-10-04 Hitachi Data Systems Engineering UK Limited Method and apparatus for migration of a virtualized file system, data storage system for migration of a virtualized file system, and file server for use in a data storage system
CN104572684B (zh) * 2013-10-17 2018-12-28 深圳市腾讯计算机系统有限公司 数据存储系统的容量调整方法、装置及数据存储系统
US20150244795A1 (en) 2014-02-21 2015-08-27 Solidfire, Inc. Data syncing in a distributed system
US20150293708A1 (en) * 2014-04-11 2015-10-15 Netapp, Inc. Connectivity-Aware Storage Controller Load Balancing
US9377953B2 (en) * 2014-04-23 2016-06-28 Netapp, Inc. Efficiency sets in a distributed system
US20150355862A1 (en) * 2014-06-04 2015-12-10 Pure Storage, Inc. Transparent array migration
US9798728B2 (en) 2014-07-24 2017-10-24 Netapp, Inc. System performing data deduplication using a dense tree data structure
US10133511B2 (en) 2014-09-12 2018-11-20 Netapp, Inc Optimized segment cleaning technique
US9671960B2 (en) 2014-09-12 2017-06-06 Netapp, Inc. Rate matching technique for balancing segment cleaning and I/O workload
US9836229B2 (en) 2014-11-18 2017-12-05 Netapp, Inc. N-way merge technique for updating volume metadata in a storage I/O stack
CN105740165A (zh) * 2014-12-10 2016-07-06 国际商业机器公司 用于管理统一存储系统的文件系统的方法和装置
US9836604B2 (en) 2015-01-30 2017-12-05 International Business Machines Corporation File integrity preservation
US9946604B1 (en) * 2015-02-04 2018-04-17 Tintri Inc. Optimized remote cloning
US9720601B2 (en) 2015-02-11 2017-08-01 Netapp, Inc. Load balancing technique for a storage array
US9971525B2 (en) * 2015-02-26 2018-05-15 Red Hat, Inc. Peer to peer volume extension in a shared storage environment
US9762460B2 (en) 2015-03-24 2017-09-12 Netapp, Inc. Providing continuous context for operational information of a storage system
US9710317B2 (en) 2015-03-30 2017-07-18 Netapp, Inc. Methods to identify, handle and recover from suspect SSDS in a clustered flash array
US9875043B1 (en) * 2015-03-31 2018-01-23 EMC IP Holding Company, LLC. Managing data migration in storage systems
JP6666540B2 (ja) * 2015-06-15 2020-03-18 富士通株式会社 ストレージ制御装置、及びプログラム
US9891845B2 (en) 2015-06-24 2018-02-13 International Business Machines Corporation Reusing a duplexed storage resource
US9740566B2 (en) 2015-07-31 2017-08-22 Netapp, Inc. Snapshot creation workflow
US10929022B2 (en) 2016-04-25 2021-02-23 Netapp. Inc. Space savings reporting for storage system supporting snapshot and clones
US10642763B2 (en) 2016-09-20 2020-05-05 Netapp, Inc. Quality of service policy sets
US11860940B1 (en) 2016-09-26 2024-01-02 Splunk Inc. Identifying buckets for query execution using a catalog of buckets
US11126632B2 (en) 2016-09-26 2021-09-21 Splunk Inc. Subquery generation based on search configuration data from an external data system
US11023463B2 (en) 2016-09-26 2021-06-01 Splunk Inc. Converting and modifying a subquery for an external data system
US11003714B1 (en) 2016-09-26 2021-05-11 Splunk Inc. Search node and bucket identification using a search node catalog and a data store catalog
US10795884B2 (en) 2016-09-26 2020-10-06 Splunk Inc. Dynamic resource allocation for common storage query
US11106734B1 (en) 2016-09-26 2021-08-31 Splunk Inc. Query execution using containerized state-free search nodes in a containerized scalable environment
US10353965B2 (en) 2016-09-26 2019-07-16 Splunk Inc. Data fabric service system architecture
US11314753B2 (en) 2016-09-26 2022-04-26 Splunk Inc. Execution of a query received from a data intake and query system
US11562023B1 (en) 2016-09-26 2023-01-24 Splunk Inc. Merging buckets in a data intake and query system
US11222066B1 (en) 2016-09-26 2022-01-11 Splunk Inc. Processing data using containerized state-free indexing nodes in a containerized scalable environment
US11294941B1 (en) 2016-09-26 2022-04-05 Splunk Inc. Message-based data ingestion to a data intake and query system
US11550847B1 (en) 2016-09-26 2023-01-10 Splunk Inc. Hashing bucket identifiers to identify search nodes for efficient query execution
US11321321B2 (en) 2016-09-26 2022-05-03 Splunk Inc. Record expansion and reduction based on a processing task in a data intake and query system
US11461334B2 (en) 2016-09-26 2022-10-04 Splunk Inc. Data conditioning for dataset destination
US11163758B2 (en) 2016-09-26 2021-11-02 Splunk Inc. External dataset capability compensation
US11567993B1 (en) * 2016-09-26 2023-01-31 Splunk Inc. Copying buckets from a remote shared storage system to memory associated with a search node for query execution
US11586627B2 (en) 2016-09-26 2023-02-21 Splunk Inc. Partitioning and reducing records at ingest of a worker node
US11281706B2 (en) 2016-09-26 2022-03-22 Splunk Inc. Multi-layer partition allocation for query execution
US10977260B2 (en) 2016-09-26 2021-04-13 Splunk Inc. Task distribution in an execution node of a distributed execution environment
US11243963B2 (en) 2016-09-26 2022-02-08 Splunk Inc. Distributing partial results to worker nodes from an external data system
US10984044B1 (en) 2016-09-26 2021-04-20 Splunk Inc. Identifying buckets for query execution using a catalog of buckets stored in a remote shared storage system
US10776355B1 (en) 2016-09-26 2020-09-15 Splunk Inc. Managing, storing, and caching query results and partial query results for combination with additional query results
US11580107B2 (en) 2016-09-26 2023-02-14 Splunk Inc. Bucket data distribution for exporting data to worker nodes
US11599541B2 (en) 2016-09-26 2023-03-07 Splunk Inc. Determining records generated by a processing task of a query
US11620336B1 (en) 2016-09-26 2023-04-04 Splunk Inc. Managing and storing buckets to a remote shared storage system based on a collective bucket size
US11593377B2 (en) 2016-09-26 2023-02-28 Splunk Inc. Assigning processing tasks in a data intake and query system
US20180089324A1 (en) 2016-09-26 2018-03-29 Splunk Inc. Dynamic resource allocation for real-time search
US11250056B1 (en) 2016-09-26 2022-02-15 Splunk Inc. Updating a location marker of an ingestion buffer based on storing buckets in a shared storage system
US11442935B2 (en) 2016-09-26 2022-09-13 Splunk Inc. Determining a record generation estimate of a processing task
US11416528B2 (en) 2016-09-26 2022-08-16 Splunk Inc. Query acceleration data store
US11269939B1 (en) 2016-09-26 2022-03-08 Splunk Inc. Iterative message-based data processing including streaming analytics
US11874691B1 (en) 2016-09-26 2024-01-16 Splunk Inc. Managing efficient query execution including mapping of buckets to search nodes
US10956415B2 (en) 2016-09-26 2021-03-23 Splunk Inc. Generating a subquery for an external data system using a configuration file
US11604795B2 (en) 2016-09-26 2023-03-14 Splunk Inc. Distributing partial results from an external data system between worker nodes
US11615104B2 (en) 2016-09-26 2023-03-28 Splunk Inc. Subquery generation based on a data ingest estimate of an external data system
US11663227B2 (en) 2016-09-26 2023-05-30 Splunk Inc. Generating a subquery for a distinct data intake and query system
US10037157B1 (en) * 2016-12-22 2018-07-31 EMC IP Holding Company LLC Techniques for migrating to a thinly-provisioned logical disk without writing zero blocks
US11921672B2 (en) 2017-07-31 2024-03-05 Splunk Inc. Query execution at a remote heterogeneous data store of a data fabric service
US11989194B2 (en) 2017-07-31 2024-05-21 Splunk Inc. Addressing memory limits for partition tracking among worker nodes
US11151137B2 (en) 2017-09-25 2021-10-19 Splunk Inc. Multi-partition operation in combination operations
US10896182B2 (en) 2017-09-25 2021-01-19 Splunk Inc. Multi-partitioning determination for combination operations
US11334543B1 (en) 2018-04-30 2022-05-17 Splunk Inc. Scalable bucket merging for a data intake and query system
CN109189324B (zh) 2018-07-09 2021-01-08 华为技术有限公司 一种数据迁移方法及装置
US10922268B2 (en) 2018-08-30 2021-02-16 International Business Machines Corporation Migrating data from a small extent pool to a large extent pool
US10809937B2 (en) 2019-02-25 2020-10-20 International Business Machines Corporation Increasing the speed of data migration
WO2020220216A1 (en) 2019-04-29 2020-11-05 Splunk Inc. Search time estimate in data intake and query system
US11715051B1 (en) 2019-04-30 2023-08-01 Splunk Inc. Service provider instance recommendations using machine-learned classifications and reconciliation
US11494380B2 (en) 2019-10-18 2022-11-08 Splunk Inc. Management of distributed computing framework components in a data fabric service system
JP7112437B2 (ja) * 2020-01-21 2022-08-03 株式会社日立製作所 ストレージシステムおよびデータ移行方法
US11922222B1 (en) 2020-01-30 2024-03-05 Splunk Inc. Generating a modified component for a data intake and query system using an isolated execution environment image
CN112000279A (zh) * 2020-07-29 2020-11-27 北京浪潮数据技术有限公司 一种数据卷的同步方法、装置和介质
US11704313B1 (en) 2020-10-19 2023-07-18 Splunk Inc. Parallel branch operation using intermediary nodes

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11184641A (ja) * 1997-12-24 1999-07-09 Hitachi Ltd サブシステムの移行方法
US20020143733A1 (en) * 1997-05-30 2002-10-03 Sreedhar Mukkamalla Integrating tablespaces with different block sizes
US20060010169A1 (en) * 2004-07-07 2006-01-12 Hitachi, Ltd. Hierarchical storage management system
JP2006031367A (ja) * 2004-07-15 2006-02-02 Hitachi Ltd 計算機システム、および、記憶装置システムの移行方法
US20060224844A1 (en) * 2005-03-29 2006-10-05 Hitachi, Ltd. Data copying method and apparatus in a thin provisioned system
JP2007115221A (ja) * 2005-09-20 2007-05-10 Hitachi Ltd ボリューム移行方法およびストレージネットワークシステム
JP2007280089A (ja) * 2006-04-07 2007-10-25 Hitachi Ltd 容量拡張ボリュームの移行方法
JP2008112276A (ja) * 2006-10-30 2008-05-15 Hitachi Ltd 再配置システムおよび再配置方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7191207B2 (en) * 2003-06-11 2007-03-13 International Business Machines Corporation Apparatus and method to dynamically allocate bandwidth in a data storage and retrieval system
US8117409B2 (en) * 2006-11-22 2012-02-14 Hitachi, Ltd. Method and apparatus for backup and restore in a dynamic chunk allocation storage system
JP5094193B2 (ja) * 2007-04-16 2012-12-12 株式会社日立製作所 記憶システム及びその制御方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020143733A1 (en) * 1997-05-30 2002-10-03 Sreedhar Mukkamalla Integrating tablespaces with different block sizes
JPH11184641A (ja) * 1997-12-24 1999-07-09 Hitachi Ltd サブシステムの移行方法
JP2004530216A (ja) * 2001-05-30 2004-09-30 オラクル・インターナショナル・コーポレイション 異なるブロックサイズのテーブルスペースの統合
US20060010169A1 (en) * 2004-07-07 2006-01-12 Hitachi, Ltd. Hierarchical storage management system
JP2006031367A (ja) * 2004-07-15 2006-02-02 Hitachi Ltd 計算機システム、および、記憶装置システムの移行方法
US20060224844A1 (en) * 2005-03-29 2006-10-05 Hitachi, Ltd. Data copying method and apparatus in a thin provisioned system
JP2006277723A (ja) * 2005-03-29 2006-10-12 Hitachi Ltd 少量配備システムにおけるデータコピーの方法と装置
JP2007115221A (ja) * 2005-09-20 2007-05-10 Hitachi Ltd ボリューム移行方法およびストレージネットワークシステム
JP2007280089A (ja) * 2006-04-07 2007-10-25 Hitachi Ltd 容量拡張ボリュームの移行方法
JP2008112276A (ja) * 2006-10-30 2008-05-15 Hitachi Ltd 再配置システムおよび再配置方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013054416A (ja) * 2011-09-01 2013-03-21 Fujitsu Ltd ストレージシステム、ストレージ制御装置およびストレージ制御方法
JP2013246582A (ja) * 2012-05-24 2013-12-09 Fujitsu Ltd ストレージ装置およびストレージ装置の制御方法
JP2016527618A (ja) * 2013-07-02 2016-09-08 ヒタチ データ システムズ エンジニアリング ユーケー リミテッドHitachi Data Systems Engineering Uk Limited 仮想化されたファイル・システムのマイグレーションのための方法および装置、仮想化されたファイル・システムのマイグレーションのためのデータ・ストレージ・システム、ならびにデータ・ストレージ・システム内で使用するためのファイル・サーバ
US11829617B2 (en) 2016-02-29 2023-11-28 Hitachi, Ltd. Virtual storage system
JP2022517481A (ja) * 2019-01-25 2022-03-09 インターナショナル・ビジネス・マシーンズ・コーポレーション 大きいエクステント・プールから小さいエクステント・プールにデータを移行するための方法、システムおよびプログラム
US11714567B2 (en) 2019-01-25 2023-08-01 International Business Machines Corporation Migrating data from a large extent pool to a small extent pool
JP7386861B2 (ja) 2019-01-25 2023-11-27 インターナショナル・ビジネス・マシーンズ・コーポレーション 大きいエクステント・プールから小さいエクステント・プールにデータを移行するための方法、システムおよびプログラム
JP2022116209A (ja) * 2020-09-23 2022-08-09 株式会社日立製作所 仮想ストレージシステム
JP7373018B2 (ja) 2020-09-23 2023-11-01 株式会社日立製作所 仮想ストレージシステム

Also Published As

Publication number Publication date
US20130166872A1 (en) 2013-06-27
CN101799742A (zh) 2010-08-11
US8407436B2 (en) 2013-03-26
US9128636B2 (en) 2015-09-08
EP2219106A2 (en) 2010-08-18
CN101799742B (zh) 2013-03-20
JP5352489B2 (ja) 2013-11-27
US20100205390A1 (en) 2010-08-12
EP2219106A3 (en) 2012-08-01

Similar Documents

Publication Publication Date Title
JP5352489B2 (ja) ストレージシステム間でシンプロビジョニングボリュームを移行させるための方法と装置
JP4124331B2 (ja) Dbms向け仮想ボリューム作成・管理方法
JP5309043B2 (ja) ストレージシステム及びストレージシステムでの重複データ削除のための方法
JP5121427B2 (ja) ユニファイドストレージシステムのための方法および装置
US7127581B2 (en) Data-migration method
US7558916B2 (en) Storage system, data processing method and storage apparatus
US7870105B2 (en) Methods and apparatus for deduplication in storage system
JP4568574B2 (ja) ストレージ装置の導入方法、プログラム並びに管理計算機
US8359444B2 (en) System and method for controlling automated page-based tier management in storage systems
US7124143B2 (en) Data migration in storage system
JP5461216B2 (ja) 論理ボリューム管理の為の方法と装置
US7865772B2 (en) Management device and management method
US8578121B2 (en) Computer system and control method of the same
US10241712B1 (en) Method and apparatus for automated orchestration of long distance protection of virtualized storage
JP5921684B2 (ja) 計算機システムおよびアプリケーションプログラム実行環境移行方法
US10031682B1 (en) Methods for improved data store migrations and devices thereof
US11693577B2 (en) Storage operation processing during data migration using migrated indicator from source storage
US8527716B2 (en) Volume sharing method and storage system using the same
JP2020027433A (ja) 情報システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120724

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130326

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130423

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130624

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130826

R150 Certificate of patent or registration of utility model

Ref document number: 5352489

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees