JP6160296B2 - ストレージ制御装置,ストレージシステム,および制御プログラム - Google Patents

ストレージ制御装置,ストレージシステム,および制御プログラム Download PDF

Info

Publication number
JP6160296B2
JP6160296B2 JP2013132592A JP2013132592A JP6160296B2 JP 6160296 B2 JP6160296 B2 JP 6160296B2 JP 2013132592 A JP2013132592 A JP 2013132592A JP 2013132592 A JP2013132592 A JP 2013132592A JP 6160296 B2 JP6160296 B2 JP 6160296B2
Authority
JP
Japan
Prior art keywords
area
copy
unit
release
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.)
Active
Application number
JP2013132592A
Other languages
English (en)
Other versions
JP2015007881A (ja
Inventor
惇 前田
惇 前田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013132592A priority Critical patent/JP6160296B2/ja
Priority to US14/301,387 priority patent/US9268498B2/en
Priority to EP14172325.4A priority patent/EP2818999A1/en
Publication of JP2015007881A publication Critical patent/JP2015007881A/ja
Application granted granted Critical
Publication of JP6160296B2 publication Critical patent/JP6160296B2/ja
Active 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage 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/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/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/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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • 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/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • 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

Landscapes

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

Description

本件は、ストレージ制御装置,ストレージシステム,および制御プログラムに関する。
ディスクアレイシステム等のストレージ製品又はコンピュータ等のストレージシステムでは、ストレージデバイス(ストレージ,記憶装置)に記憶されたデータをバックアップするために、種々の手法が用いられる。例えば、Controller Module(コントローラモジュール,以下、CMという)等のストレージ制御装置が、ストレージに記憶されたデータのバックアップを、ホスト装置(上位装置)の資源を使用せずにストレージ制御装置のファームウェアで実施する、「アドバンスト・コピー機能」が知られている。
アドバンスト・コピー機能でサポートしているデータのバックアップ手法には、One Point Copy(OPC)機能や、Quick OPC(以下、QOPCという)機能がある。
図18及び図19は、それぞれ、OPC及びQOPCによるコピー処理の様子を説明する図である。
OPCとは、ストレージ制御装置が、コピー開始時点のバックアップ対象のデータのスナップショットを作成するものである。図18に示すように、ストレージ制御装置は、ホスト装置からOPC起動指示(複製指示)を受けると、コピー元ボリュームのスナップショットを作成してホスト装置へ論理コピーの完了応答を発行し、ホスト装置にはコピーが完了したかのようにみせる。そして、ストレージ制御装置は、当該指示を受けた時点におけるコピー元ボリュームの全データをバックグラウンドで実際にコピー(物理コピー)してコピー先ボリュームを作成する。
OPCでは、バックグラウンドコピーが未完了であるコピー元ボリュームの領域への更新指示があった場合、ストレージ制御装置は、その更新よりも先に該当領域のデータのコピー先ボリュームへのコピー処理を行なう。また、バックグラウンドコピーが未完了であるコピー先ボリュームの領域への参照/更新指示があった場合、ストレージ制御装置は、その参照/更新よりも先に該当領域に対するコピー処理を行なう。
OPCによれば、ストレージ制御装置は、ある時点でのスナップショットを高速に作成することができる。従って、ホスト装置は、OPC起動指示に対する応答を受信後、コピー元ボリューム及びコピー先ボリュームともに参照/更新が可能となる。
また、このようなOPCの拡張機能として、差分コピーを実現するQOPCがある。
図19に示すように、QOPCでは、OPCと同様に、ある時点におけるコピー元ボリュームのコピー先ボリュームが作成される。また、QOPCでは、OPCと異なり、バックグラウンドコピー開始後にデータの更新があった更新箇所が記憶される。そのため、QOPCでは、ストレージ制御装置は、差分データのみをバックグラウンドでコピーするだけで、2回目以降のコピー先ボリュームの作成、つまり再開(Restart;リスタート)が可能となる。
また、ストレージシステムにおいて、ストレージ装置内の資源を効率よく使用する手法として、ストレージのリソースを仮想化してストレージの物理容量を削減する、シン・プロビジョニング等のストレージ仮想化機能が用いられることがある。
図20は、ストレージ仮想化機能の一例を説明する図であり、(a)はストレージの割当処理の一例を示す図、(b)はストレージの解放処理の一例を示す図である。
以下、ストレージ仮想化機能がシン・プロビジョニングであるものとして説明し、シン・プロビジョニングにおける論理ボリューム(仮想ボリューム)を、Thin Provisioning Volume(TPV)という。
シン・プロビジョニングでは、ストレージ制御装置は、論理ボリュームを作成するときはストレージプール内の物理ディスクとの対応付けを行なわず、ホスト装置に対して仮想的なボリューム(TPV)を認識させておく。そして、ストレージ制御装置は、図20(a)に示すように、ホスト装置からTPVへのデータ書込処理(Write Input Output(I/O))等の要求が発行されたときに、ストレージプールから実際のストレージ資源(物理容量)を、要求された分だけTPVに割り当てる。
図20(b)に示すように、ストレージ制御装置は、ホスト装置からUNMAPコマンドの発行やボリュームのフォーマット指示等の物理領域解放指示を受けると、割り当てられた後に未使用となった領域の物理資源の割り当てを解放することができる。
ところで、コピー元及びコピー先にTPV等のストレージ仮想化機能を使用してデータバックアップの運用が行なわれる際、コピー元に物理資源の割り当てが行なわれていない領域が存在する場合がある。この場合、ストレージシステムは、コピー元及びコピー先の整合性をとるため、コピー元で物理資源が割り当てられていない領域には“0”データが書き込まれているものとみなし、コピー先の物理領域に“0”データをコピーする処理を行なうことがある。
しかしながら、このような“0”データのコピー処理は、実際には意味のないデータのバックアップをとるものである。つまり、ストレージシステムでは、本来なら不必要なデータコピー処理が動作することになるため、バックアップをとりたいデータ(コピー元の物理資源が割り当てられている領域のデータ)のコピー処理が遅延する可能性がある。また、物理資源が未割当の領域のコピー先に“0”データをコピーすることにより、コピー先のTPVが物理資源を割り当てられた状態になってしまい、物理資源が無駄に使用されることになる。
このような不都合を解消するため、例えば、シン・プロビジョニングの仮想ボリュームを複製する際に、コピー元領域に記憶領域が割り当てられていない場合、対応するコピー先領域の記憶領域を解放する技術が知られている(例えば、特許文献1及び2参照)。
特開2011−76572号公報 特開2010−271808号公報
上述のように、記憶領域が割り当てられていないコピー元領域に対応するコピー先領域の記憶領域を解放する技術により、コピー処理の遅延の抑制及び使用する物理資源の削減を図ることができる。
しかし、この技術では、物理割当がされていたコピー先TPVにデータが書き込まれていても、当該TPVが解放されてしまう等、不都合が生ずることがある。
なお、OPCやQOPCに限られず、ボリューム利用状況に応じて物理領域が可変的に割り当てられる仮想ボリュームについてバックアップを行なう手法であって、コピー先のデータを更新可能な種々のバックアップ手法においても同様である。
1つの側面では、本発明は、ボリューム利用状況に応じて記憶装置の記憶領域が可変的に割り当てられる仮想ボリュームを複製する際の不都合を解消することを目的とする。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の1つとして位置付けることができる。
本件のストレージ制御装置は、ボリューム利用状況に応じて記憶装置の記憶領域が可変的に割り当てられる仮想ボリュームを、複製指示に応じて複製してコピー先仮想ボリュームを作成する複製処理を行なう複製処理部と、前記複製処理部による複製処理において、前記複製指示を受けた時点でのコピー元仮想ボリュームの領域のうち、コピー元記憶領域が割り当てられていない未割当領域について、当該未割当領域に対応する前記コピー先仮想ボリュームの対応領域への、コピー先記憶領域の割り当てを解放する解放処理を行なう解放部と、前記複製指示後且つ前記複製処理及び解放処理が行なわれる前に更新要求に応じて更新された前記コピー先仮想ボリュームの一以上の更新領域を示す情報を管理する管理部と、前記コピー元仮想ボリュームの一以上の未割当領域のうち、対応する対応領域が前記更新要求に応じて更新された前記一以上の更新領域を含む未割当領域を特定する特定部と、前記解放部に、前記特定部が特定した前記未割当領域に対応する対応領域へのコピー先記憶領域の割り当ての解放を抑止させる抑止部と、をそなえる。
一実施形態によれば、ボリューム利用状況に応じて記憶装置の記憶領域が可変的に割り当てられる仮想ボリュームを複製する際の不都合を解消することができる。
論理コピーの完了後、コピー先の論理ボリュームに更新があった場合を説明する図である。 一実施形態に係るストレージシステムにおいて、論理コピーの完了後、コピー先の論理ボリュームに更新があった場合を説明する図である。 一実施形態の一例としてのストレージシステムの構成例を示す図である。 図3に示すストレージシステムによるバックアップの態様の一例を説明する図である。 図3に示すコントローラモジュールのハードウェア構成例を示す図である。 図3に示すコントローラモジュールの機能構成例を示す図である。 図6に示す保持部が保持するコピー制御テーブルの一例を示す図である。 図6に示す保持部が保持する割当管理テーブルの一例を示す図である。 図6に示す保持部が保持する更新管理テーブルの一例を示す図である。 図6に示す特定部の処理を説明する図である。 図6に示すコピー元コントローラモジュールによる複製処理及び解放処理の手順の一例を示すフローチャートである。 図11に示す解放処理を説明する図である。 図11に示す複製処理及び解放処理の完了後の様子を示す図である。 図6に示すコピー元コントローラモジュールによる複製処理及び解放処理の手順の一例を示すフローチャートである。 図11に示す複製処理の完了後にコピー元論理ボリュームが解放された様子を示す図である。 図14に示す解放処理を説明する図である。 図14に示す複製処理及び解放処理の完了後の様子を示す図である。 OPCによるコピー処理の様子を説明する図である。 QOPCによるコピー処理の様子を説明する図である。 ストレージ仮想化機能の一例を説明する図であり、(a)はストレージの割当処理の一例を示す図、(b)はストレージの解放処理の一例を示す図である。
以下、図面を参照して実施の形態を説明する。
〔1〕一実施形態
〔1−1〕ストレージシステムについて
図1は、論理コピーの完了後、コピー先の論理ボリュームに更新があった場合を説明する図であり、図2は、一実施形態に係るストレージシステムにおいて、論理コピーの完了後、コピー先の論理ボリュームに更新があった場合を説明する図である。なお、図1及び図2において、破線で示す領域(チャンク)は物理未割当の領域であり、実線で示す領域(チャンク)は物理割当済の領域であり、斜線で示す領域(ブロック)は更新データが書き込まれた更新領域である。
TPV等のストレージ仮想化機能を用いたOPC又はQOPCでは、ストレージ制御装置は、バックアップ開始直後、ホスト装置に論理コピーの完了を通知してコピーが完了しているように見せ、その後バックグラウンドでコピー(物理コピー)処理を行なう。ホスト装置は、論理コピーの完了通知を受けると、OPC/QOPCが完了したとみなし、バックアップ先の仮想ボリューム(TPV)に対するアクセス(参照又は更新)を自由に行なうことができる。
例えば、ホスト装置は、OPC/QOPCセッションのコピー元に物理未割当の領域が存在する場合、OPC/QOPC起動指示(複製指示)後に、コピー元の物理未割当の領域に対応するコピー先の領域への更新指示を発行することがある。このとき、ストレージ制御装置は、更新指示を受けて、対応するコピー先の領域に物理割り当てを行なってから更新する、又は、既に物理割当済の場合には当該コピー先の領域を更新する、といった動作を行なう(図1の上段、“コピー先論理ボリューム”参照)。
一方、上述のように、複製処理において、コピー元領域に記憶領域が割り当てられていない場合、対応するコピー先領域の記憶領域を解放する技術が知られている。仮に、OPC/QOPCにこの技術が用いられる場合を想定する。
TPVの複製指示及びコピー先TPVに対する更新指示の発行順序(一貫性)の観点からみると、複製指示によりコピー先TPVの物理割当領域が解放されてから、更新指示により当該領域に物理割当がされて更新データが書き込まれることが好ましい。
しかし、実際には、ストレージ制御装置によるOPC/QOPC起動指示に伴う物理コピーが、論理コピーの完了から遅延して、例えば更新指示に係る更新データの書き込みよりも後に実行されることがある。この場合、論理コピー完了後に発行された更新指示に係る更新データが、物理コピーに係るコピー先の物理割当の解放により失われてしまう場合がある(図1の下段、“コピー先論理ボリューム”参照)。
このように、ストレージ制御装置では、OPC/QOPC等によるTPVの複製処理と当該複製処理の指示後のコピー先TPVに対する更新処理との実行順序の一貫性(データの一貫性)が損なわれることによる、不都合が生じることがある。
そこで、一実施形態に係るストレージシステム(ストレージ制御装置)は、以下の(i)〜(iii)の処理を行なうことで、上述した不都合を解消する。
(i)論理コピー完了後(複製指示後)且つ物理コピー(複製処理及び解放処理)が行なわれる前に更新されたコピー先TPV(コピー先仮想ボリューム)の1以上の更新領域を管理する。
(ii)コピー元TPV(コピー元仮想ボリューム)の未割当領域のうち、対応するコピー先TPVの対応領域が1以上の更新領域を含む未割当領域を特定する。
(iii)物理コピーにおける解放処理において、特定した未割当領域に対応する更新領域への、コピー先記憶領域の割り当ての解放を抑止する。
上記(i)〜(iii)の処理により、図2の上段、“コピー先論理ボリューム”に示すように、コピー元TPV(コピー元仮想ボリューム)の未割当領域(チャンク)に対応する、更新領域を含む対応領域(チャンク)が、物理コピーにおける解放処理の解放対象から除外される。
従って、一実施形態に係るストレージシステム(ストレージ制御装置)によれば、図2の下段、“コピー先論理ボリューム”に示すように、物理コピーが完了しても、コピー先TPVの更新領域を含む領域への物理割当を解放させず、更新データを存続させることができる。
このように、OPC/QOPC等によるTPVの複製処理と当該複製処理の指示後のコピー先TPVに対する更新処理との実行順序の一貫性(データの一貫性)を保つことができ、上述した不都合を解消することができる。
以下、一実施形態に係るストレージシステム(ストレージ制御装置)の詳細を説明する。
〔1−2〕ストレージシステムの構成例
図3は、一実施形態の一例としてのストレージシステム1の構成例を示す図であり、図4は、図3に示すストレージシステム1によるバックアップの態様の一例を説明する図である。
図3に示すように、ストレージシステム1は、ホスト装置2に接続され、ホスト装置2からの各種要求を受け、その要求に応じた各種処理を行なう。
ホスト装置2は、ホストコンピュータ(上位装置)であり、ホスト装置2としては、Personal Computer(PC)、サーバ、又はメインフレーム等の種々の情報処理装置が例として挙げられる。ホスト装置2は、ストレージシステム1に接続され、例えば、後述するTPV5a及び5bに対する各種アクセス指示を発行する。また、ホスト装置2は、後述するOPC/QOPCの起動指示(複製指示)や、コピー先TPV5bに対する更新指示等を発行する。
ストレージシステム1は、複数のコントローラモジュール(CM)3A〜3N及びDisk Enclosure(ディスクエンクロージャ,以下、DEという)4をそなえる。以下、CM3A〜3Nを区別しない場合には、単にCM3という。なお、以下、説明の簡略化のため、図4に示すように、ストレージシステム1がCM3A及び3Bの2つのCM3をそなえるものとして説明する。
DE4は、物理ボリュームである複数のドライブ41を格納する。ドライブ(記憶装置)41は、Hard Disk Drive(HDD)等の磁気ディスク装置やSolid State Drive(SSD)等の半導体ドライブ装置等の各種デバイスであり、種々のデータやプログラム等を格納するハードウェアである。
CM(ストレージ制御装置)3は、ホスト装置2、DE4、及び他のCM3に接続され、ストレージシステム1における資源管理を行なうコンピュータ(情報処理装置)である。また、CM3は、ホスト装置2や他のCM3からの要求に応じ、DE4に対する各種処理(データ書込処理,データ更新処理,データ読出処理,データコピー処理等)を行なう。
ここで、本実施形態に係るCM3は、シン・プロビジョニング等のストレージ仮想化機能をそなえ、DE4におけるストレージの物理容量を削減することにより、設備コストの削減を実現する。
例えば、図4に示すように、CM3は、ホスト装置2から認識可能な論理ボリュームであるTPV5a及び5b、並びにThin Provisioning Pool(TPP)6a及び6bを管理する。以下、TPV5a及び5b、並びにTPP6a及び6bを区別しない場合には、それぞれ単にTPV5及びTPP6という。
TPV5は、ボリューム利用状況に応じてドライブ41の記憶領域が可変的に割り当てられ、ストレージシステム1(CM3)がそなえるストレージ仮想化機能により管理される少なくとも1つの仮想的なボリューム(仮想ボリューム)である。ホスト装置2は、TPV5を少なくとも1つの論理ボリュームとして認識し、ストレージシステム1に対して、TPV5の論理アドレスにより特定される記憶領域(論理データ領域)に対する各種処理の要求を行なう。
TPP6は、少なくとも1つのドライブ41により構成されるストレージであり、TPV5に対して割り当てられる物理資源(記憶領域)の仮想ストレージプールである。
例えば、各CM3は、個別にTPV5及びTPP6を管理することができる。一例として、図4に示すように、CM3AはTPV5a及びTPP6aを管理し、CM3BはTPV5b及びTPP6bを管理することができる。ここで、TPP6a及び6bは、互いに異なるドライブ41のリソースを用いてもよいし、一部又は全部のドライブ41のリソースを共用してもよい。
また、CM3は、OPCやQOPC等のアドバンスト・コピー機能をそなえ、TPV5に記憶されたデータのバックアップ(複製)を、ホスト装置2の資源を使用せずにCM3のファームウェアにより実施する。
以下、ストレージシステム1(CM3A)が、図4に示すように、CM3Aが管理するTPV5aをコピー元仮想ボリュームとし、CM3Bが管理するTPV5bをコピー先仮想ボリュームとして、TPV5aを複製してTPV5bを作成(新規作成又は更新)するものとして説明する。
なお、図4の例では、TPV5a及び5bがそれぞれ3つの論理ボリュームであるものとして示しているが、コピー元であるTPV5aは、少なくとも1つの論理ボリュームであればよい。また、コピー先であるTPV5bは、複製処理の開始前であれば、作成されていなくてもよい。
〔1−3〕ハードウェア構成
次に、図3及び図5を参照して、ストレージシステム1のハードウェア構成について説明する。図5は、図3に示すCM3のハードウェア構成例を示す図である。
CM3は、図3及び図5に示すように、Central Processing Unit(CPU)31、メモリ32、Channel Adapter(CA)33、Direct Memory Access(DMA)ポート34、及びDisk Interface(DI)35をそなえる。また、図5に示すように、CM3はさらに、記憶部36、入出力部37、読取部38、及び記録媒体39aをそなえてもよい。
CPU31は、CM3内の各ブロック31〜39aと接続され、種々の制御や演算を行なう演算処理装置(プロセッサ)である。CPU31は、メモリ32、記憶部36、記録媒体39a、DE4、又は図示しないRead Only Memory(ROM)等に格納されたプログラム(ファームウェア)を実行することにより、CM3における種々の機能を実現する。なお、CPU31に限らず、プロセッサとしては、Micro Processing Unit(MPU)等の電子回路が用いられてもよい。
メモリ32は、種々のデータやプログラムを格納するキャッシュメモリ等の記憶装置である。CPU31は、プログラムを実行する際に、メモリ32にデータやプログラムを格納し展開する。例えば、メモリ32は、CPU31がストレージ制御装置として機能するためのプログラム、ホスト装置2からDE4へ書き込まれるデータ、DE4からホスト装置2や他のCM3へ読み出されるデータ等を一時的に格納する。なお、メモリ32としては、例えばRandom Access Memory(RAM)等の揮発性メモリが挙げられる。
CA33は、ホスト装置2と接続され、ホスト装置2とのインタフェース制御を行なうアダプタであり、ホスト装置2との間でデータ通信を行なう。DMAポート34は、他のCM3内のDMAポート34と接続され、他のCM3とのインタフェース制御を行なうポートであり、他のCM3との間で例えばメモリ32を介したデータ通信を行なう。DI35は、ストレージシステム1に収容されるDE4とのインタフェース制御を行ない、DE4との間でデータ通信を行なう。図5に示す例では、CA33、DMAポート34、及びDI35をまとめて、インタフェース部と表記している。
記憶部36は、種々のデータやプログラム等を格納するハードウェアである。記憶部36としては、例えばHDD等の磁気ディスク装置、SSD等の半導体ドライブ装置、フラッシュメモリ等の不揮発性メモリ等の各種デバイスが挙げられる。
入出力部37は、例えばマウスやキーボード等の入力装置、及びディスプレイやプリンタ等の出力装置の少なくとも一方を含むものである。入出力部37は、入力装置によりストレージシステム1の管理者等の操作による動作命令を受け付ける一方、ストレージシステム1による処理結果やアラート等を出力装置に表示(出力)する。
記録媒体39aは、フラッシュメモリやROM等の記憶装置であり、種々のデータやプログラムを記録する。読取部38は、光ディスクやUniversal Serial Bus(USB)メモリ等のコンピュータ読取可能な記録媒体39bに記録されたデータやプログラムを読み出す装置である。
記録媒体39a及び39bの少なくとも一方には、本実施形態に係るストレージシステム1(CM3)の機能を実現する制御プログラムが格納されてもよい。例えば、CPU31は、記録媒体39a、又は読取部38を介して記録媒体39bから入力された制御プログラムを、メモリ32等の記憶装置に展開して実行する。これにより、CM3としてのコンピュータは、CPU31により、本実施形態に係るストレージ制御装置の機能を実現する。
なお、上述した各ブロック31〜39a間、及び複数のCM3のDMAポート34間は、それぞれバスで相互に通信可能に接続される。
また、ホスト装置2−CA33間、及びDI35−DE4間は、それぞれ、LAN、InfiniBand(インフィニバンド(登録商標))、又はFibre Channel(ファイバチャネル)等により相互に通信可能に接続される。
なお、ストレージシステム1の上述したハードウェア構成は例示である。従って、個々のストレージシステム1内やCM3内でのハードウェアの増減や分割、任意の組み合わせでの統合等は、適宜行なわれてもよい。
また、CM3のハードウェアは、複数のCM3全体で共用されてもよい。
〔1−4〕CMの構成
次に、図6を参照して、図3に示すストレージシステム1(CM3)の機能構成について説明する。図6は、図3に示すCM3の機能構成例を示す図である。
なお、以下、CM3におけるOPC/QOPC等の複製処理、及び複製処理に伴うTPV5へのTPP6の割り当ての解放処理に係る機能に着目して説明する。
CM3は、図6に示すように、コピー元のCM3の機能としてCM3Aに示す構成をそなえ、コピー先のCM3の機能としてCM3Bに示す構成をそなえる。
〔1−4−1〕コピー元CMの構成
はじめに、コピー元CM3Aの構成について説明する。CM3Aは、アクセス部10、複製部11、特定部12、抑止部13、及び保持部14をそなえる。
保持部14は、コピー制御テーブル14a、割当管理テーブル14b、及び更新管理テーブル14cを保持する。なお、保持部14は、図5に示すメモリ32又は記憶部36等により実現される。
アクセス部(管理部)10は、CA33を介して、ホスト装置2から指示を受信し、ホスト装置2へ応答を送信する。また、アクセス部10は、DMAポート34を介して、CM3Bへ指示を送信し、CM3Bから応答を受信する。さらに、アクセス部10は、DI35を介して、TPV5a(TPP6a)から/へのデータの読み出し/書き込み等を行なう。
なお、CM3A及び3Bは、アクセス部10及びCM3Bのアクセス部20により、DMAポート34を介して相互に情報の同期が可能である。例えば、アクセス部10は、各テーブル14a〜14cの情報や、ホスト装置2からの複製指示又は更新指示等の各種指示に関する情報(指示内容、アクセス範囲、更新データ等)、TPV5に関する情報等を、アクセス部20との間で共有することができる。例えば、アクセス部10は、ホスト装置2からCM3Bへの指示についても受信し、DMAポート34を介してCM3Bへ転送することができる。
また、アクセス部10は、ストレージ仮想化機能により、ホスト装置2からの書込指示及び物理領域解放指示等に応じて、TPV5aへのTPP6aの物理領域の割当及び解放等の処理を行なう。
さらに、アクセス部10は、ホスト装置2やCM3Bからの指示や応答に応じて、保持部14が保持する情報の管理(参照及び更新)を行なう。
図7〜図9は、それぞれ、図6に示すCM3(保持部14)が保持するコピー制御テーブル14a、割当管理テーブル14b、及び更新管理テーブル14cの一例を示す図である。
コピー制御テーブル(複製制御情報)14aは、図7に例示するように、コピー元TPV5aにおける複製処理の対象領域を示す情報である。コピー制御テーブル14aには、TPV5aの更新可能な最小単位(ブロック,第1サイズ)の領域ごとに複製の要否が設定される。例えば、コピー制御テーブル14aには、1ブロック(例えば8KByte)ごとに、複製対象を示す“1”又は複製対象外を示す“0”が、ビットマップ形式で設定される。
アクセス部10は、ホスト装置2からOPC又はQOPCの起動指示(複製指示)を受けると、複製指示で指定されたTPV5aに係るコピー制御テーブル14aの複製対象のブロック(対象ブロック)に“1”を設定して更新する。例えば、複製指示がOPCの起動指示又はQOPCの初回起動指示である場合、対象ブロックは、これらの起動指示で指定されたTPV5aの全てのブロックになる。一方、複製指示がQOPCの再開指示(リスタート指示)である場合、対象ブロックへの“1”の設定は行なわない。
また、アクセス部10は、OPC/QOPCの起動指示に応じて複製部11により複製処理又は解放処理が行なわれると、コピー制御テーブル14aのうちの複製処理又は解放処理が行なわれた対象ブロックに、“0”を設定して更新(リセット)する。なお、複製処理(バックグラウンドでの物理コピー)が未完了であるTPV5a又はTPV5bの領域への更新指示があると、CM3A(複製部11)は、更新処理よりも先に当該更新処理に係る領域の複製処理を行なう。この場合、アクセス部10は、複製処理を行なう都度、コピー制御テーブル14aの対象ブロックに、“0”を設定して更新(リセット)する。
さらに、アクセス部10は、QOPCの起動指示(初回起動指示又は再起動指示)に係る複製処理又は解放処理(物理コピー)の完了後、ホスト装置2からコピー元TPV5aへの更新指示を受けると、QOPCの機能として、コピー制御テーブル14aを更新する。すなわち、アクセス部10は、更新指示で指定されたアクセス領域に係るコピー制御テーブル14aの対象ブロックに“1”を設定して更新する。コピー制御テーブル14aの“1”が設定されたブロックは、次のQOPCの再開指示(再起動指示)に係る複製処理の複製対象のブロックとなる。
割当管理テーブル(割当管理情報)14bは、図8に示すように、TPV5aへTPP6aの記憶領域が割り当てられているか否かのステータスを、割当最小単位(チャンク,第2サイズ、例えば32MByte)の領域ごとに示す情報である。なお、チャンクサイズは、ブロックサイズよりも大きく、例えばブロックサイズの整数倍のサイズである。
割当管理テーブル14bは、論理ボリューム(TPV5a)を特定する情報(例えばLogical Unit Number(LUN))、論理アドレス、及び割当状態を含む。なお、論理ボリュームのLUNは、論理ボリュームを特定可能なユニークな情報であればよい。
一例として、割当管理テーブル14bは、論理ボリューム“0x000A”、論理アドレス“0x00000”(KByte)、及び割当状態“0”が対応付けられた情報を含む。
割当状態は、TPV5aにおける割当最小単位の領域にTPP6aの記憶領域が割り当てられているか否かを示す情報であり、例えば“0”は未割当、“1”は割当済を示す。例えば、図8に示す論理ボリューム“0x000A”、論理アドレス“0x00000”に対応する割当状態“0”は、論理アドレス“0x00000”〜“0x07CFF”の領域(チャンク)に物理割当がされていないことを示す。また、論理ボリューム“0x000A”、論理アドレス“0x07D00”に対応する割当状態“1”は、論理アドレス“0x07D00”〜“0x0F9FF”の領域(チャンク)に物理割当がされていることを示す。
アクセス部10は、ホスト装置2からTPV5aの物理未割当の領域への書込指示に応じて、アクセス対象のチャンクに物理割当を行なうとともに、割当管理テーブル14bにおける当該チャンクの割当状態を“1”に更新する。また、アクセス部10は、ホスト装置2からの物理領域解放指示に応じて、指示対象のチャンクの物理割当を解放するとともに、割当管理テーブル14bにおける当該チャンクの割当状態を“0”に更新する。
更新管理テーブル14cは、ホスト装置2から発行された更新指示等により更新されたコピー先TPV5bの更新領域を管理する情報である。なお、更新領域は、論理コピー完了後(複製指示後)且つ物理コピー(複製処理及び解放処理)が行なわれる前に更新されたコピー先TPV5bの1以上の領域である。
図9に示すように、更新管理テーブル14cには、TPV5bの更新可能な最小単位(ブロック,第1サイズ)ごとに更新の有無が設定される。例えば、更新管理テーブル14cには、1ブロック(例えば8KByte)あたりの更新有りを示す“1”又は更新無しを示す“0”が、ビットマップ形式で設定される。
アクセス部10は、ホスト装置2からCM3BのTPV5bへの更新指示を受信すると、当該指示をCM3Bへ転送する。そして、アクセス部10は、更新管理テーブル14cの更新指示に係るアクセス領域(ブロック)に“1”を設定して更新する。
また、アクセス部10は、TPV5aの複製処理又は解放処理が完了すると、更新管理テーブル14cの“1”が設定されたブロックに“0”を設定して更新(リセット)する。
なお、更新管理テーブル14cにおいて“1”が設定されたTPV5bの領域に対応するTPV5aの領域は、コピー制御テーブル14aにおいて“0”が設定されている(図7及び図9参照)。これは、既述のように、複製処理が未完了であるTPV5a又はTPV5bの領域への更新指示があると、CM3A(複製部11)は、更新処理よりも先に当該更新処理に係る領域の複製処理を行ない、コピー制御テーブル14aの該当ビットを“0”に設定するからである。
つまり、更新管理テーブル14cの情報は、コピー制御テーブル14aの情報から得られる。従って、保持部14は、更新管理テーブル14cを保持しなくてもよい。
複製部11は、アクセス部10を介して、ホスト装置2からの指示に応じたアドバンスト・コピーを実行する。例えば、複製部11は、複製処理部11a及び解放部11bをそなえる。
複製処理部11aは、アクセス部10が受信した複製指示に応じてTPV5aを複製し、CM3Bの管理下でTPV5bを作成(新規作成又は更新)する複製処理を行なう。具体的には、複製処理部11aは、複製指示を受けると、コピー元及びコピー先のTPV5のペアを作成することで、複製処理を行なうコピーセッションを作成し、TPV5aのスナップショットを作成する。そして、複製処理部11aは、アクセス部10を介してホスト装置2へ論理コピーの完了応答を発行する。
次いで、複製処理部11aは、当該指示を受けた時点におけるTPV5aのデータをバックグラウンドで実際にコピー(物理コピー)してTPV5bを作成する。具体的には、複製処理部11aは、複製処理(コピーセッション)においてTPV5aを複製する際に、コピー制御テーブル14aを参照して、“1”が設定されている領域(ブロック)を複製処理の対象領域として決定する。そして、複製処理部11aは、決定した対象領域の複製データを、コピー先のコピー領域(範囲)を含む制御情報とともに、アクセス部10を介してCM3Bへ送信する。
なお、複製処理部11aは、バックグラウンドコピーが未完了であるTPV5aの領域への書き込み等の更新指示があった場合、アクセス部10による更新よりも先に該当領域の複製データのTPV5bへのコピー処理を行なう。また、複製処理部11aは、バックグラウンドコピーが未完了であるTPV5bの領域への参照/更新指示があった場合、CM3Bのアクセス部20と協働して、アクセス部20による参照/更新よりも先に該当領域に対するコピー処理を行なう。
解放部11bは、複製処理部11aによる複製処理において、複製指示を受けた時点でのコピー元TPV5aの領域のうち、未割当領域を検索する。なお、未割当領域は、TPP6aのコピー元記憶領域が割り当てられていない領域(チャンク)である。具体的には、解放部11bは、解放処理において、割当管理テーブル14bを参照して、“0”が設定されているTPV5aのチャンクを検索する。
そして、解放部11bは、検索により検出した未割当領域に対応するコピー先TPV5bの対応領域(解放対象領域)への、コピー先記憶領域の割り当てを解放する。具体的には、解放部11bは、検索した未割当領域に対応するコピー先TPV5bの対応領域について、CM3Bの解放処理部21へ解放を指示する。
なお、解放部11bは、CM3Bへの解放指示を、DMAポート34を介した解放コマンドの送信によって行なうことができる。この解放コマンドには、TPV5b(論理ボリューム)を特定する情報(例えばLUN)、対応領域(範囲)の先頭論理アドレス(例えばLogical Block Address(LBA))、及び解放を行なうサイズが含まれる。なお、TPV5bのLUNについては、解放部11bは、複製処理部11aが複製指示に係るコピーセッションを作成したときに得られるコピー先のLUNを用いることができる。また、TPV5bのLBA及びサイズについては、解放部11bは、コピー元のコピーセッションの範囲から作成することができる。
ここで、図1及び図2を参照して説明したように、対応領域(図1の“解放対象”参照)には、更新領域が存在する場合がある。この場合、更新領域を含むチャンクへの物理割当を解放してしまうと、更新領域のデータが失われてしまう。
そこで、解放部11bは、検索により検出した未割当領域を、後述する特定部12へ通知する。特定部12及び後述する抑止部13は、通知した未割当領域に対応するコピー先TPV5bの対応領域に、更新領域が含まれるか否かを判断し、含まれると判断した場合、解放部11bへ、当該未割当領域が物理割当済の領域であると通知する。
これにより、解放部11bは、未割当領域のうち、抑止部13により物理割当済であると通知された未割当領域を除く未割当領域について、対応する対応領域への、コピー先TPP6bの記憶領域の割り当てを解放することができる。
なお、解放部11bによる上述した処理は、複製処理部11aによる複製処理の前に実施されることが好ましい。解放部11bによりTPV5bのチャンクが解放されると、アクセス部10により、解放されたチャンクに対応するコピー制御テーブル14a中の複数のブロックのビットが“0”に設定される。従って、複製処理部11aによる複製対象の領域を減らすことができ、複製処理の処理時間を短縮することができる。また、複製処理よりも先に解放処理を行なうことで、不要な物理割当(“0”データによる物理割当)を行なってから当該割当を解放するという無駄な処理を行なわずに済み、資源を効率的に使用することができる。
特定部12は、解放処理において、アクセス部10が管理する保持部14の更新管理テーブル14cを参照する。そして、特定部12は、コピー元TPV5aの1以上の未割当領域のうち、対応するコピー先TPV5bの対応領域がコピー先TPV5bの1以上の更新領域を含む未割当領域を特定する。
図10は、図6に示す特定部12の処理を説明する図である。
特定部12は、例えば図10の“コピー先論理ボリューム”に示すように、解放部11bにより検索されたTPV5aの未割当領域に対応する、TPV5bの更新管理テーブル14cの領域(チャンク)を参照する。そして、特定部12は、参照したチャンクに更新領域があるか否か(“1”が設定されたブロックがあるか否か)を判断する。図10に示す例では、特定部12は、上から1番目、4番目のチャンクには“1”が設定されたブロックがないため、更新領域が存在しないと判断する。一方、特定部12は、上から3番目、6番目のチャンクにはそれぞれ“1”が設定されたブロックがあるため、更新領域が存在すると判断する。
そして、特定部12は、更新領域があると判断したTPV5bの対応領域(チャンク)に対応する、TPV5aの未割当領域を特定する。図10に示す例では、特定部12は、上から3番目、6番目の対応領域に対応する、TPV5aの未割当領域を特定する。
なお、既述のように、更新管理テーブル14cを省略してもよい。この場合、特定部12は、更新管理テーブル14cに代えてコピー制御テーブル14aを参照すればよい。例えば、特定部12は、図10の“コピー元論理ボリューム”に示すように、解放部11bが検索したTPV5aの未割当領域に係るコピー制御テーブル14aの領域(チャンク)を参照し、更新領域があるか否か(“0”が設定されたブロックがあるか否か)を判断すればよい。
このように、特定部12は、解放部11bが解放処理の過程で検出した未割当領域について、適宜、上記判断を行なうため、対応するコピー先TPV5bの対応領域がコピー先TPV5bの1以上の更新領域を含む未割当領域を高速に検出できる。従って、複製処理及び解放処理の処理時間の増加を抑制できる。
また、特定部12が、既存のコピー制御テーブル14aに基づいて上記判断を行なう場合、保持部14は更新管理テーブル14cを保持しなくて済むため、CM3Aは記憶領域(メモリ32や記憶部36)を効率的に使用することができる。
抑止部13は、解放部11bに、特定部12が特定した未割当領域に対応する対応領域へのTPP6bのコピー先記憶領域の割り当ての解放を抑止させる。
例えば、抑止部13は、解放部11bに対して、特定部12が特定したTPV5aの未割当領域が、TPP6aの記憶領域が割り当てられた割当済領域であることを通知する。
これにより、解放部11bは、更新領域を含むTPV5bの対応領域に対応する、TPV5aの未割当領域を、物理割当済の領域とみなして、当該領域については、記憶領域の割り当ての解放を行なわない(CM3Bへ指示しない)。
このように、抑止部13によれば、解放部11bが未割当領域として検出した領域であっても、特定部12が上記判断によって特定した未割当領域については、解放部11bに、そもそも未割当領域でないものとして扱わせる。従って、特定部12が上記判断によって特定した未割当領域に係る解放処理を抑止させることができ、全体の解放処理の処理時間を低減させることができる。
なお、複製処理部11aは、解放部11bが物理割当済の領域とみなした領域(実際には未割当領域)を複製する際に、コピー制御テーブル14aにおける“1”が設定されたブロックについて、TPV5bの対応領域(チャンク)の対応ブロックへダミーデータ(例えば“0”データ)を送信してもよい。
上述したアクセス部10、複製部11、特定部12、及び抑止部13としての機能は、ストレージ制御装置としてのCM3A(CPU31)が、メモリ32上に制御プログラムを展開して実行することにより実現される。
〔1−4−2〕コピー先CMの構成
次に、コピー先CM3Bの構成について説明する。CM3Bは、アクセス部20及び解放処理部21をそなえる。
アクセス部20は、CM3A及びTPV5b(DE4)と接続される。
アクセス部20は、DMAポート34を介して、CM3Aから指示を受信し、CM3Aへ応答を送信する。また、アクセス部20は、DI35を介して、TPV5b(TPP6b)から/へのデータの読み出し及び書き込み等を行なう。なお、アクセス部20は、図3及び図6に示す例ではホスト装置2と接続されていないが、CA33を介してホスト装置2と接続され、ホスト装置2との間で指示の受信及び応答の送信を行なってもよい。
例えば、アクセス部20は、複製処理において、制御情報とともに複製データをアクセス部10から受信すると、制御情報により指定されるTPV5bの領域へ(物理未割当の場合には記憶領域を割り当ててから)複製データを書き込み、応答を返す。
また、アクセス部20は、TPV5bに対するホスト装置2からのデータの更新指示を、アクセス部10を介して受信すると(転送されると)、更新指示に係るアクセス領域について、複製指示に係る未完了の物理コピーが存在するか否かを判断する。
上述のように、アクセス部20は、アクセス部10との間でホスト装置2からの各種指示に関する情報を共有することができる。そのため、アクセス部20は、更新指示よりも前に受信した複製指示に関する情報に基づき、更新指示に係るアクセス領域が未完了の物理コピーの対象領域であるか否かを判断することができる。
判断の結果、アクセス領域が未完了の物理コピーの対象領域ではないと判断すると、アクセス部20は、更新指示に係る更新データをTPV5bに書き込み、アクセス部10経由でホスト装置2へ更新完了の応答を返す。
一方、アクセス領域が未完了の物理コピーの対象領域であると判断すると、アクセス部20は、アクセス部10へアクセス領域が物理コピー未完了である旨を通知する。アクセス部10(複製処理部11a)からアクセス領域への複製データを受信すると、アクセス部20は、アクセス領域に対して複製データを書き込んでから、更新データを書き込み、アクセス部10経由でホスト装置2へ更新完了の応答を返す。
解放処理部21は、解放部11bから解放コマンドを受信すると、ストレージ仮想化機能により、解放コマンドにより指定されるTPV5bの対応領域へのTPP6b(コピー先記憶領域)の割り当てを解放する。
〔1−5〕ストレージシステムの動作例
次に、上述の如く構成された一実施形態に係るストレージシステム1(CM3)の動作例を、複製指示の種類に応じて説明する。
〔1−5−1〕OPC/QOPCの開始指示(起動指示/初回起動指示)を受けた場合
はじめに、CM3Aが、ホスト装置2からOPCの起動指示、又は、QOPCの初回起動指示を受けた場合について、図11〜図13を参照して説明する。
図11は、図6に示すコピー元CM3Aによる複製処理及び解放処理の手順の一例を示すフローチャートである。図12は、図11に示す解放処理を説明する図であり、図13は、図11に示す複製処理及び解放処理の完了後の様子を示す図である。
図11に示すように、ホスト装置2からOPCの開始(起動指示)、及び、QOPCの開始(初回起動指示)のいずれかの複製指示が発行される(ステップS1)。CM3Aが複製指示を受信すると、アクセス部10により、コピーセッションが起動されて論理コピーが行なわれ、論理コピーの完了応答がホスト装置2へ送信される。また、アクセス部10により、複製指示に応じて、複製対象のTPV5aについて、コピー制御テーブル14aの対象ブロックに“1”が設定される(ステップS2)。
次いで、アクセス部10により、複製指示により指定されたコピー元及びコピー先のボリュームが、ともにTPV5であるか否かが判断される(ステップS3)。
コピー元及びコピー先のボリュームの少なくとも一方がTPV5ではない場合(ステップS3のNoルート)、CM3Aにより、コピー先の解放処理を行なわないと判断され(ステップS4)、処理がステップS5に移行する。
ステップS5では、複製処理部11aにより、解放処理を行なわなかった領域(複製指示の対象TPV5aのコピー制御テーブル14aに“1”が設定された全ブロックに対応するTPV5bのブロック)に対して、通常のコピー動作(物理コピー)が実行され、処理が終了する。
一方、コピー元及びコピー先のボリュームがともにTPV5である場合(ステップS3のYesルート)、解放部11bにより、コピー元TPV5aの最初の未割当領域が検索される(ステップS6、図12の(1)参照)。具体的には、解放部11bにより、複製対象のTPV5aについて、割当管理テーブル14bの先頭から、最初の未割当領域が検索される。
次いで、解放部11bにより、コピー元TPV5aの未割当領域が検出されたか否かが判断される(ステップS7)。未割当領域が検出された場合(ステップS7のYesルート)、解放部11bにより、検出された未割当領域が特定部12へ通知される。特定部12では、通知された未割当領域に相当するコピー先TPV5bの対応領域が更新済みか否かが判断される(ステップS8)。具体的には、特定部12により、未割当領域に対応する、TPV5bの更新管理テーブル14c(又はコピー制御テーブル14a)の領域(チャンク)が参照され、参照したチャンクに更新領域があるか否かが判断される(図12の(2)及び図10参照)。
コピー先TPV5bの対応領域が更新済みである場合(ステップS8のYesルート)、抑止部13により、当該コピー元TPV5aの未割当領域を示す情報が、メモリ32等に記憶される(ステップS9)。なお、コピー先TPV5bの対応領域が更新済みである場合とは、ステップS1の後、アクセス部10が論理コピーの完了応答をホスト装置2に送信した後に、対応領域に対する更新処理が行なわれた場合である。
そして、解放部11bにより、割当管理テーブル14bにおけるコピー元TPV5aの次の領域が検索され(ステップS10)、処理がステップS7に移行する。すなわち、ステップS7において、解放部11bにより、ステップS10で検出した領域が未割当領域か否かが判断される。なお、ステップS8において、コピー先TPV5bの対応領域が更新済みではない場合(ステップS8のNoルート)、処理がステップS10に移行する。
一方、ステップS7において、未割当領域が検出されなかった場合(ステップS7のNoルート)、つまりステップS6で未割当領域が検出されなかった場合、又は、ステップS10で検索された領域が未割当領域ではなかった場合、処理がステップS11に移行する。
ステップS11では、抑止部13により、ステップS7〜S10(ステップS9)の処理においてメモリ32等に記憶された未割当領域が物理資源割当済の領域であることが、解放部11bに通知される。解放部11bでは、抑止部13からの通知を受けて、当該コピー元TPV5aの未割当領域が物理資源割当済の領域であるとみなし、処理がステップS12に移行する。
なお、ステップS6からステップS7のNoルートを経由してステップS11に遷移してきた場合、コピー元TPV5aには未割当領域が存在しない。この場合、ステップS11では、メモリ32等に未割当領域を示す情報が記憶されていないため、解放部11bは、解放処理を行なわないと判断する。
ステップS12では、解放部11bにより、コピー先TPV5bの対応領域について、物理割当を解放していないコピー元TPV5aの未割当領域が存在するか否かが判断される。存在しない場合(ステップS12のNoルート)、つまりステップS11で割当済とみなした未割当領域を除く、コピー元TPV5aの全ての未割当領域について、コピー先TPV5bの対応領域への物理割当を解放した場合、処理がステップS5に移行する。
なお、ステップS5において、ステップS11で割当済とみなしたコピー元TPV5aの未割当領域に対応する、コピー先TPV5bの対応領域については、複製処理部11aにより、更新領域を除く領域に“0”データが書き込まれる。
一方、コピー先TPV5bの対応領域について、物理割当を解放していないコピー元TPV5aの未割当領域が存在する場合(ステップS12のYesルート)、処理がステップS13に移行する。
ステップS13では、解放部11bにより、検出済みのコピー元TPV5aの未割当領域(ステップS11で割当済とみなした未割当領域を除く)に相当する、コピー先TPV5bの対応領域への物理割当が解放される(図12の(3)参照)。具体的には、解放部11bにより、解放する対応領域に関する解放コマンドが生成され、CM3Bの解放処理部21へ送信される。解放処理部21では、受信した解放コマンドに従って、対応領域への物理割当が解放される。
次いで、アクセス部10により、コピー制御テーブル14aのビットマップが、ステップS14でコピー先TPV5bの解放が行なわれた対応領域に相当する範囲で“0”にリセットされ(ステップS14)、処理がステップS10に移行する。すなわち、アクセス部10により、コピー制御テーブル14aのうち、コピー先TPV5bの解放が行なわれた対応領域に相当するコピー元TPV5aの未割当領域の、チャンク内の全てのビットが“0”に設定される(図12の(4)参照)。
以上の処理により、ストレージシステム1では、図13に示すように、コピー元TPV5aの未割当領域に対応するコピー先TPV5bの対応領域のうち、更新領域(更新データ)を含む対応領域は、物理割当が解放されず、更新領域以外の領域に“0”データが書き込まれる。
従って、一実施形態に係るストレージシステム1(CM3)によれば、OPC/QOPCの起動指示に応じたTPV5aの複製処理と、当該複製処理の指示後のコピー先TPV5bに対する更新処理と、の実行順序の一貫性(データの一貫性)を保つことができる。
なお、図11において、ステップS9の処理を省略し、代わりにステップS11の処理が実行されてもよい。この場合、ステップS12の処理の前に行なわれるステップS11の処理を省略することができる。
〔1−5−2〕QOPCの再開指示(再起動指示)を受けた場合
次に、CM3Aが、ホスト装置2からQOPCの再開指示(再起動指示,リスタート指示)を受けた場合について、図14〜図17を参照して説明する。
図14は図6に示すコピー元CM3Aによる複製処理及び解放処理の手順の一例を示すフローチャートであり、図15は、図11に示す複製処理の完了後にコピー元TPV5aが解放された様子を示す図である。図16は、図14に示す解放処理を説明する図であり、図17は、図14に示す複製処理及び解放処理の完了後の様子を示す図である。
なお、図14に示す処理は、図11に示す処理と比較して、ステップS1に代えてステップS1’が実行されるとともに、ステップS2が実行されない点が異なるものの、他の処理は基本的に同様である。図14において、図11に示す符号と同一の符号が付された処理は、同一又は略同一の処理を示すため、重複した説明は省略する。
以下、図16に示す解放処理の流れに沿って、QOPCの再開指示に伴う複製処理及び解放処理を説明する。
前提として、ストレージシステム1がQOPCを実行可能であり、既にQOPCの初回起動指示に伴う複製処理が完了しているものとする。また、初回起動指示に伴う複製処理が完了した時点では、コピー元TPV5aに未割当領域は存在していないものとする。
ここで、QOPCのコピーセッションは、複製処理が完了した後も残存し、コピー元TPV5aに更新があった場合、上述のように、更新内容をコピー制御テーブル14aに記憶する。例えば、図15に示すように、初回起動指示に伴う複製処理の完了後、ホスト装置2からコピー元TPV5aに対して、物理領域解放指示が発行されたとする(図15の(1)参照)。このとき、アクセス部10は、当該指示により指定された領域(チャンク)へのコピー元TPP6aの記憶領域の割り当てを解放し、コピー制御テーブル14aの対応領域(チャンク)の全ビットマップを“1”に設定する(図15の(2)参照)。
その後、コピー先TPV5aに未割当領域が存在する状態で、ホスト装置2からQOPCの再開指示が発行されると(図14のステップS1’及び図16の(3)参照)、アクセス部10により、コピーセッションによる論理コピーが行なわれる。そして、アクセス部10により、論理コピーの完了応答がホスト装置2へ送信される。なお、QOPCの再開指示が受信されたとき、コピー制御テーブル14aには、前回の複製処理完了後、コピー元TPV5aに更新があったブロックに“1”が設定されているため、図11に示すステップS2の処理は行なわれない。
次に、解放部11bは、図16の(4)に示すように、コピー元TPV5aの最初の未割当領域を検索する(図14のステップS6参照)。
また、特定部12は、図16の(5)及び図10に示すように、解放部11bが検出した未割当領域に相当するコピー先TPV5bの対応領域が更新済みか否かを、更新管理テーブル14c(又はコピー制御テーブル14a)を参照して判断する(図14のステップS8参照)。
抑止部13は、特定部12が更新済みであると判断したコピー先TPV5bの対応領域に相当する未割当領域が、割当済である旨を解放部11bに通知し、解放部11bは、当該通知を受けてメモリ32等に記憶した未割当領域が割当済であるとみなす(図14のステップS11参照)。そして、解放部11bは、図16の(6)に示すように、検出済みのコピー元TPV5aの未割当領域(図14のステップS11で割当済とみなした未割当領域を除く)に相当する、コピー先TPV5bの対応領域への物理割当を解放する。
次いで、アクセス部10は、図16の(7)に示すように、コピー制御テーブル14aのビットマップを、コピー先TPV5bの解放が行なわれた対応領域に相当する範囲で“0”にリセットする(図14のステップS14参照)。
以上の処理により、ストレージシステム1では、図17に示すように、コピー元TPV5aの未割当領域に対応するコピー先TPV5bの対応領域のうち、更新領域(更新データ)を含む対応領域は、物理割当が解放されず、更新領域以外の領域に“0”データが書き込まれる。
従って、一実施形態に係るストレージシステム1(CM3)によれば、QOPCの再開指示に応じたTPV5aの複製処理と、当該複製処理の指示後のコピー先TPV5bに対する更新処理と、の実行順序の一貫性(データの一貫性)を保つことができる。
〔2〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、かかる特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
例えば、上述したコピー元CM3Aの複製部11(複製処理部11a,解放部11b)、特定部12、及び抑止部13としての機能を任意の組み合わせで統合又は分散してもよい。同様に、コピー先CM3Bのアクセス部20及び解放処理部21としての機能を任意の組み合わせで統合又は分散してもよい。
また、上述したCM3は、コピー元がCM3Aの機能をそなえ、コピー先がCM3Bの機能をそなえるものとして説明したが、CM3は、自CM3がコピー元/先のいずれにも対応できるように、CM3A及び3B双方の機能をそなえてもよい。
さらに、上述したストレージシステム1は、アドバンスト・コピー機能として、OPC又はQOPCを実行するものとして説明したが、これに限定されず、筐体内の等価コピーを行なうEquivalent Copy(EC)を実行してもよい。また、ストレージシステム1は、筐体間のコピーとして、他のストレージシステム1との間で、Remote OPCやRemote QOPC、Remote EC(REC)等を実行してもよい。ストレージシステム1が筐体内又は筐体間での種々のアドバンスト・コピーを実行する場合でも、上述したCM3A及びCM3Bを適用することができる。なお、筐体間のコピーの場合、CM3は、Remote Adaptor(RA)をそなえ、RAを介して例えばSmall Computer System Interface(SCSI)コマンド等により通信を行なえばよい。
なお、一実施形態及び変形例に係るCM3(ストレージ制御装置)の各種機能の全部もしくは一部は、コンピュータ(CPU,情報処理装置,各種端末を含む)が所定のプログラム(制御プログラム)を実行することによって実現されてもよい。
そのプログラムは、例えばフレキシブルディスク、CD、DVD、ブルーレイディスク等のコンピュータ読取可能な記録媒体(例えば図5に示す記録媒体39b)に記録された形態で提供される。なお、CDとしては、CD−ROM、CD−R、CD−RW等が挙げられる。また、DVDとしては、DVD−ROM、DVD−RAM、DVD−R、DVD−RW、DVD+R、DVD+RW等が挙げられる。また、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信回線を介してコンピュータに提供するようにしてもよい。
〔3〕付記
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
ボリューム利用状況に応じて記憶装置の記憶領域が可変的に割り当てられる仮想ボリュームを、複製指示に応じて複製してコピー先仮想ボリュームを作成する複製処理を行なう複製処理部と、
前記複製処理部による複製処理において、前記複製指示を受けた時点でのコピー元仮想ボリュームの領域のうち、コピー元記憶領域が割り当てられていない未割当領域について、当該未割当領域に対応する前記コピー先仮想ボリュームの対応領域への、コピー先記憶領域の割り当てを解放する解放処理を行なう解放部と、
前記複製指示後且つ前記複製処理及び解放処理が行なわれる前に更新された前記コピー先仮想ボリュームの一以上の更新領域を示す情報を管理する管理部と、
前記コピー元仮想ボリュームの一以上の未割当領域のうち、対応する対応領域が前記一以上の更新領域を含む未割当領域を特定する特定部と、
前記解放部に、前記特定部が特定した前記未割当領域に対応する対応領域へのコピー先記憶領域の割り当ての解放を抑止させる抑止部と、
をそなえることを特徴とする、ストレージ制御装置。
(付記2)
前記抑止部は、前記特定部が特定した未割当領域が、コピー元記憶領域が割当られている割当済領域であることを、前記解放部へ通知し、
前記解放部は、前記抑止部から割当済領域であると通知された未割当領域については、当該未割当領域に対応する対応領域への、コピー先記憶領域の割り当ての解放を行なわない、
ことを特徴とする、付記1記載のストレージ制御装置。
(付記3)
前記管理部は、前記コピー元仮想ボリュームへ前記コピー元記憶領域が割り当てられているか否かを示す割当管理情報を管理し、
前記解放部は、前記割当管理情報に基づいて、前記コピー元仮想ボリュームから未割当領域を検索し、検出した未割当領域を前記特定部へ通知し、
前記特定部は、前記解放部が検出した未割当領域に対応する対応領域が前記一以上の更新領域を含むか否かを判断することで、対応する対応領域が前記一以上の更新領域を含む未割当領域を特定する、
ことを特徴とする、付記1又は付記2記載のストレージ制御装置。
(付記4)
前記管理部は、前記コピー元仮想ボリュームにおける前記複製処理の対象領域を示す複製制御情報を管理し、前記複製制御情報の対象領域のうち、前記更新領域に対応する領域を、前記複製処理の対象領域から除外し、
前記特定部は、前記管理部が管理する前記複製制御情報に基づいて、対応する対応領域が前記一以上の更新領域を含む未割当領域を特定する、
ことを特徴とする、付記1〜3のいずれか1項記載のストレージ制御装置。
(付記5)
前記複製処理部は、前記複製制御情報に基づいて、前記特定部が特定した未割当領域に対応する対応領域のうち、前記更新領域以外の領域へ、ダミーデータを書き込む、
ことを特徴とする、付記4記載のストレージ制御装置。
(付記6)
前記解放部による解放処理は、前記複製処理部による前記複製処理の前に実行される、
ことを特徴とする、付記1〜5のいずれか1項記載のストレージ制御装置。
(付記7)
ボリューム利用状況に応じて記憶装置の記憶領域が可変的に割り当てられる仮想ボリュームを管理する第1及び第2のストレージ制御装置をそなえるストレージシステムであって、
前記第1のストレージ制御装置が、
前記第1のストレージ制御装置が管理するコピー元仮想ボリュームを複製指示に応じて複製して、前記第2のストレージ制御装置にコピー先仮想ボリュームを作成する複製処理を行なう複製処理部と、
前記複製処理部による複製処理において、前記複製指示を受けた時点でのコピー元仮想ボリュームの領域のうち、コピー元記憶領域が割り当てられていない未割当領域について、当該未割当領域に対応する前記コピー先仮想ボリュームの対応領域への、コピー先記憶領域の割り当てを解放する解放処理を行なう解放部と、
前記複製指示後且つ前記複製処理及び解放処理が行なわれる前に更新された前記コピー先仮想ボリュームの一以上の更新領域を示す情報を管理する管理部と、
前記コピー元仮想ボリュームの一以上の未割当領域のうち、対応する対応領域が前記一以上の更新領域を含む未割当領域を特定する特定部と、
前記解放部に、前記特定部が特定した前記未割当領域に対応する対応領域へのコピー先記憶領域の割り当ての解放を抑止させる抑止部と、
をそなえることを特徴とする、ストレージシステム。
(付記8)
前記抑止部は、前記特定部が特定した未割当領域が、コピー元記憶領域が割当られている割当済領域であることを、前記解放部へ通知し、
前記解放部は、前記抑止部から割当済領域であると通知された未割当領域については、当該未割当領域に対応する対応領域への、コピー先記憶領域の割り当ての解放を行なわない、
ことを特徴とする、付記7記載のストレージシステム。
(付記9)
前記管理部は、前記コピー元仮想ボリュームへ前記コピー元記憶領域が割り当てられているか否かを示す割当管理情報を管理し、
前記解放部は、前記割当管理情報に基づいて、前記コピー元仮想ボリュームから未割当領域を検索し、検出した未割当領域を前記特定部へ通知し、
前記特定部は、前記解放部が検出した未割当領域に対応する対応領域が前記一以上の更新領域を含むか否かを判断することで、対応する対応領域が前記一以上の更新領域を含む未割当領域を特定する、
ことを特徴とする、付記7又は付記8記載のストレージシステム。
(付記10)
前記管理部は、前記コピー元仮想ボリュームにおける前記複製処理の対象領域を示す複製制御情報を管理し、前記複製制御情報の対象領域のうち、前記更新領域に対応する領域を、前記複製処理の対象領域から除外し、
前記特定部は、前記管理部が管理する前記複製制御情報に基づいて、対応する対応領域が前記一以上の更新領域を含む未割当領域を特定する、
ことを特徴とする、付記7〜9のいずれか1項記載のストレージシステム。
(付記11)
前記複製処理部は、前記複製制御情報に基づいて、前記特定部が特定した未割当領域に対応する対応領域のうち、前記更新領域以外の領域へ、ダミーデータを書き込む、
ことを特徴とする、付記10記載のストレージシステム。
(付記12)
前記解放部は、未割当領域に対応する対応領域への、コピー先記憶領域の割り当てを解放する解放指示を前記第2のストレージ制御装置へ発行し、
前記第2のストレージ制御装置は、
前記解放部からの解放指示により指定された対応領域への、コピー先記憶領域の割り当てを解放する解放処理部、
をそなえることを特徴とする、付記7〜11のいずれか1項記載のストレージシステム。
(付記13)
前記解放部による解放処理は、前記複製処理部による前記複製処理の前に実行される、
ことを特徴とする、付記7〜12のいずれか1項記載のストレージシステム。
(付記14)
ボリューム利用状況に応じて記憶装置の記憶領域が可変的に割り当てられる仮想ボリュームを管理するコンピュータに、
コピー元仮想ボリュームを複製指示に応じて複製してコピー先仮想ボリュームを作成する複製処理を行ない、
前記複製処理において、前記複製指示を受けた時点でのコピー元仮想ボリュームの領域のうち、コピー元記憶領域が割り当てられていない未割当領域について、当該未割当領域に対応する前記コピー先仮想ボリュームの対応領域への、コピー先記憶領域の割り当てを解放する解放処理を行ない、
前記複製指示後且つ前記複製処理及び解放処理が行なわれる前に更新された前記コピー先仮想ボリュームの一以上の更新領域を示す情報を管理し、
前記コピー元仮想ボリュームの一以上の未割当領域のうち、対応する対応領域が前記一以上の更新領域を含む未割当領域を特定し、
前記解放処理において、特定した前記未割当領域に対応する対応領域へのコピー先記憶領域の割り当ての解放を抑止する、
処理を実行させることを特徴とする、制御プログラム。
(付記15)
前記解放処理において、前記特定する処理で特定した未割当領域が、コピー元記憶領域が割当られている割当済領域であるとみなし、当該割当済領域とみなした未割当領域に対応する対応領域への、コピー先記憶領域の割り当ての解放を行なわない、
ことを特徴とする、付記14記載の制御プログラム。
(付記16)
前記コピー元仮想ボリュームへ前記コピー元記憶領域が割り当てられているか否かを示す割当管理情報を管理する、
処理を前記コンピュータにさらに実行させ、
前記解放処理において、前記割当管理情報に基づいて、前記コピー元仮想ボリュームから未割当領域を検索し、
前記特定する処理において、前記検索により検出した未割当領域に対応する対応領域が前記一以上の更新領域を含むか否かを判断することで、対応する対応領域が前記一以上の更新領域を含む未割当領域を特定する、
ことを特徴とする、付記14又は付記15記載の制御プログラム。
(付記17)
前記コピー元仮想ボリュームにおける前記複製処理の対象領域を示す複製制御情報を管理し、
前記複製制御情報の対象領域のうち、前記更新領域に対応する領域を、前記複製処理の対象領域から除外する、
処理を前記コンピュータにさらに実行させ、
前記特定する処理において、前記複製制御情報に基づいて、対応する対応領域が前記一以上の更新領域を含む未割当領域を特定する、
ことを特徴とする、付記14〜16のいずれか1項記載の制御プログラム。
(付記18)
前記複製処理において、前記複製制御情報に基づいて、前記特定する処理で特定した未割当領域に対応する対応領域のうち、前記更新領域以外の領域へ、ダミーデータを書き込む、
ことを特徴とする、付記17記載の制御プログラム。
(付記19)
前記解放処理は、前記複製処理の前に実行される、
ことを特徴とする、付記14〜18のいずれか1項記載の制御プログラム。
1 ストレージシステム
2 ホスト装置
3,3A〜3N コントローラモジュール(ストレージ制御装置)
4 ディスクエンクロージャ
5,5a,5b シン・プロビジョニング ボリューム(仮想ボリューム)
6 シン・プロビジョニング プール(ストレージプール)
6a シン・プロビジョニング プール(ストレージプール,コピー元記憶装置)
6b シン・プロビジョニング プール(ストレージプール,コピー先記憶装置)
10 アクセス部(管理部)
11 複製部
11a 複製処理部
11b 解放部
12 特定部
13 抑止部
14 保持部
14a コピー制御テーブル(複製制御情報)
14b 割当管理テーブル(割当管理情報)
14c 更新管理テーブル
20 アクセス部
21 解放処理部
31 CPU
32 メモリ
33 チャネルアダプタ
34 DMAポート
35 ディスクインタフェース
36 記憶部
37 入出力部
38 読取部
39a,39b 記録媒体
41 ドライブ(記憶装置)

Claims (6)

  1. ボリューム利用状況に応じて記憶装置の記憶領域が可変的に割り当てられる仮想ボリュームを、複製指示に応じて複製してコピー先仮想ボリュームを作成する複製処理を行なう複製処理部と、
    前記複製処理部による複製処理において、前記複製指示を受けた時点でのコピー元仮想ボリュームの領域のうち、コピー元記憶領域が割り当てられていない未割当領域について、当該未割当領域に対応する前記コピー先仮想ボリュームの対応領域への、コピー先記憶領域の割り当てを解放する解放処理を行なう解放部と、
    前記複製指示後且つ前記複製処理及び解放処理が行なわれる前に更新要求に応じて更新された前記コピー先仮想ボリュームの一以上の更新領域を示す情報を管理する管理部と、
    前記コピー元仮想ボリュームの一以上の未割当領域のうち、対応する対応領域が前記更新要求に応じて更新された前記一以上の更新領域を含む未割当領域を特定する特定部と、
    前記解放部に、前記特定部が特定した前記未割当領域に対応する対応領域へのコピー先記憶領域の割り当ての解放を抑止させる抑止部と、
    をそなえることを特徴とする、ストレージ制御装置。
  2. 前記抑止部は、前記特定部が特定した未割当領域が、コピー元記憶領域が割当られている割当済領域であることを、前記解放部へ通知し、
    前記解放部は、前記抑止部から割当済領域であると通知された未割当領域については、当該未割当領域に対応する対応領域への、コピー先記憶領域の割り当ての解放を行なわない、
    ことを特徴とする、請求項1記載のストレージ制御装置。
  3. 前記管理部は、前記コピー元仮想ボリュームへ前記コピー元記憶領域が割り当てられているか否かを示す割当管理情報を管理し、
    前記解放部は、前記割当管理情報に基づいて、前記コピー元仮想ボリュームから未割当領域を検索し、検出した未割当領域を前記特定部へ通知し、
    前記特定部は、前記解放部が検出した未割当領域に対応する対応領域が前記一以上の更新領域を含むか否かを判断することで、対応する対応領域が前記一以上の更新領域を含む未割当領域を特定する、
    ことを特徴とする、請求項1又は請求項2記載のストレージ制御装置。
  4. 前記解放部による解放処理は、前記複製処理部による前記複製処理の前に実行される、
    ことを特徴とする、請求項1〜のいずれか1項記載のストレージ制御装置。
  5. ボリューム利用状況に応じて記憶装置の記憶領域が可変的に割り当てられる仮想ボリュームを管理する第1及び第2のストレージ制御装置をそなえるストレージシステムであって、
    前記第1のストレージ制御装置が、
    前記第1のストレージ制御装置が管理するコピー元仮想ボリュームを複製指示に応じて複製して、前記第2のストレージ制御装置にコピー先仮想ボリュームを作成する複製処理を行なう複製処理部と、
    前記複製処理部による複製処理において、前記複製指示を受けた時点でのコピー元仮想ボリュームの領域のうち、コピー元記憶領域が割り当てられていない未割当領域について、当該未割当領域に対応する前記コピー先仮想ボリュームの対応領域への、コピー先記憶領域の割り当てを解放する解放処理を行なう解放部と、
    前記複製指示後且つ前記複製処理及び解放処理が行なわれる前に更新要求に応じて更新された前記コピー先仮想ボリュームの一以上の更新領域を示す情報を管理する管理部と、
    前記コピー元仮想ボリュームの一以上の未割当領域のうち、対応する対応領域が前記更新要求に応じて更新された前記一以上の更新領域を含む未割当領域を特定する特定部と、
    前記解放部に、前記特定部が特定した前記未割当領域に対応する対応領域へのコピー先記憶領域の割り当ての解放を抑止させる抑止部と、
    をそなえることを特徴とする、ストレージシステム。
  6. ボリューム利用状況に応じて記憶装置の記憶領域が可変的に割り当てられる仮想ボリュームを管理するコンピュータに、
    コピー元仮想ボリュームを複製指示に応じて複製してコピー先仮想ボリュームを作成する複製処理を行ない、
    前記複製処理において、前記複製指示を受けた時点でのコピー元仮想ボリュームの領域のうち、コピー元記憶領域が割り当てられていない未割当領域について、当該未割当領域に対応する前記コピー先仮想ボリュームの対応領域への、コピー先記憶領域の割り当てを解放する解放処理を行ない、
    前記複製指示後且つ前記複製処理及び解放処理が行なわれる前に更新要求に応じて更新された前記コピー先仮想ボリュームの一以上の更新領域を示す情報を管理し、
    前記コピー元仮想ボリュームの一以上の未割当領域のうち、対応する対応領域が前記更新要求に応じて更新された前記一以上の更新領域を含む未割当領域を特定し、
    前記解放処理において、特定した前記未割当領域に対応する対応領域へのコピー先記憶領域の割り当ての解放を抑止する、
    処理を実行させることを特徴とする、制御プログラム。
JP2013132592A 2013-06-25 2013-06-25 ストレージ制御装置,ストレージシステム,および制御プログラム Active JP6160296B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013132592A JP6160296B2 (ja) 2013-06-25 2013-06-25 ストレージ制御装置,ストレージシステム,および制御プログラム
US14/301,387 US9268498B2 (en) 2013-06-25 2014-06-11 Storage controller, system, and method to control the copy and release processes of virtual volumes
EP14172325.4A EP2818999A1 (en) 2013-06-25 2014-06-13 Storage controller, storage system, and control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013132592A JP6160296B2 (ja) 2013-06-25 2013-06-25 ストレージ制御装置,ストレージシステム,および制御プログラム

Publications (2)

Publication Number Publication Date
JP2015007881A JP2015007881A (ja) 2015-01-15
JP6160296B2 true JP6160296B2 (ja) 2017-07-12

Family

ID=50980149

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013132592A Active JP6160296B2 (ja) 2013-06-25 2013-06-25 ストレージ制御装置,ストレージシステム,および制御プログラム

Country Status (3)

Country Link
US (1) US9268498B2 (ja)
EP (1) EP2818999A1 (ja)
JP (1) JP6160296B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6191209B2 (ja) * 2013-04-12 2017-09-06 富士通株式会社 ストレージ装置、制御プログラムおよび制御方法
US10089042B2 (en) * 2015-01-15 2018-10-02 Dell Products, Lp System and method for discovering a virtual disk spanned across independent storage controllers
JP2016212548A (ja) 2015-05-01 2016-12-15 富士通株式会社 ストレージ制御装置、ストレージ制御方法、及びストレージ制御プログラム
CN106547641B (zh) * 2015-09-17 2020-04-10 南京壹进制信息科技有限公司 一种基于卷的cdp备份方法
US20170371573A1 (en) * 2016-06-24 2017-12-28 Samsung Electronics Co., Ltd. Method of operating storage medium, method of operating host controlling the storage medium, and method of operating user system including the storage medium and the host
WO2019003416A1 (ja) * 2017-06-30 2019-01-03 株式会社日立製作所 ストレージシステム及び記憶制御方法
US10747464B2 (en) * 2018-10-25 2020-08-18 EMC IP Holding Company LLC Efficient data transmission techniques

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3606797B2 (ja) * 1999-09-30 2005-01-05 富士通株式会社 記憶装置のデータ領域間の複写処理方法、記憶システム、及びその記憶媒体
JP4700459B2 (ja) * 2005-09-27 2011-06-15 株式会社日立製作所 データ処理システム及びデータ管理方法並びにストレージシステム
JP5037881B2 (ja) * 2006-04-18 2012-10-03 株式会社日立製作所 ストレージシステム及びその制御方法
JP4818395B2 (ja) 2009-05-20 2011-11-16 富士通株式会社 ストレージ装置及びデータコピー方法
JP5540636B2 (ja) * 2009-10-02 2014-07-02 日本電気株式会社 ストレージシステム、ストレージ装置、ストレージ装置の記憶内容複製方法およびプログラム
JP5595530B2 (ja) * 2010-10-14 2014-09-24 株式会社日立製作所 データ移行システム及びデータ移行方法
JP5523292B2 (ja) * 2010-12-03 2014-06-18 株式会社日立製作所 シンプロビジョニングが適用された記憶制御装置
JP5942511B2 (ja) * 2012-03-19 2016-06-29 富士通株式会社 バックアップ装置,バックアップ方法,およびバックアッププログラム
JP2014038551A (ja) * 2012-08-20 2014-02-27 Fujitsu Ltd データ記憶装置、データ記憶装置の制御方法、及びデータ記憶装置の制御プログラム

Also Published As

Publication number Publication date
US20140380006A1 (en) 2014-12-25
JP2015007881A (ja) 2015-01-15
US9268498B2 (en) 2016-02-23
EP2818999A1 (en) 2014-12-31

Similar Documents

Publication Publication Date Title
JP6160296B2 (ja) ストレージ制御装置,ストレージシステム,および制御プログラム
JP2018028715A (ja) ストレージ制御装置、ストレージシステムおよびストレージ制御プログラム
US11144252B2 (en) Optimizing write IO bandwidth and latency in an active-active clustered system based on a single storage node having ownership of a storage object
US8650381B2 (en) Storage system using real data storage area dynamic allocation method
JP4961319B2 (ja) 仮想ボリュームにおける仮想領域に動的に実領域を割り当てるストレージシステム
US9678980B2 (en) Non-disruptive file system element reconfiguration on disk expansion
US9720621B2 (en) Storage controller, storage system, and non-transitory computer-readable storage medium having stored therein control program
US8386707B2 (en) Virtual disk management program, storage device management program, multinode storage system, and virtual disk managing method
JP2010020431A (ja) 上位装置から指定されるデバイスに関する記憶容量を変更するストレージシステム及び方法
KR20120050891A (ko) 스토리지 시스템에서 요청에 대한 응답과 연관된 지연의 감소
US10394491B2 (en) Efficient asynchronous mirror copy of thin-provisioned volumes
JP2007066192A (ja) ストレージシステム及びその制御方法並びにコンピュータプログラム
JP2008009978A (ja) 第1記憶場所から第2記憶場所に論理ボリュームを再配置するための方法、コンピュータ・システム、及びプログラム
JP2008269374A (ja) ストレージシステムおよびその制御方法
US20180307427A1 (en) Storage control apparatus and storage control method
US20170139779A1 (en) Controller, storage system, and non-transitory computer-readable storage medium having control program stored therein
US8938596B2 (en) Storage apparatus, control apparatus, and storage apparatus control method
US20130031320A1 (en) Control device, control method and storage apparatus
US11573729B2 (en) Storage device and storage control method
JP2007172082A (ja) 制御装置およびコピー制御方法
JP2021170245A (ja) ストレージ制御装置、ストレージシステムおよびストレージ制御プログラム
US20130151808A1 (en) Allocation device, allocation method and storage device
US20160357479A1 (en) Storage control apparatus
JP2012216044A (ja) ストレージ装置、ストレージ方法及びプログラム
WO2014115184A1 (en) Storage system and control method for storage system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160310

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170419

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170529

R150 Certificate of patent or registration of utility model

Ref document number: 6160296

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150