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

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

Info

Publication number
JP2015007880A
JP2015007880A JP2013132591A JP2013132591A JP2015007880A JP 2015007880 A JP2015007880 A JP 2015007880A JP 2013132591 A JP2013132591 A JP 2013132591A JP 2013132591 A JP2013132591 A JP 2013132591A JP 2015007880 A JP2015007880 A JP 2015007880A
Authority
JP
Japan
Prior art keywords
copy
transfer
area
storage
command
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
JP2013132591A
Other languages
English (en)
Other versions
JP6136629B2 (ja
Inventor
昌徳 古屋
Masanori Furuya
昌徳 古屋
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 JP2013132591A priority Critical patent/JP6136629B2/ja
Priority to EP14169631.0A priority patent/EP2819016B1/en
Priority to US14/287,244 priority patent/US9720621B2/en
Publication of JP2015007880A publication Critical patent/JP2015007880A/ja
Application granted granted Critical
Publication of JP6136629B2 publication Critical patent/JP6136629B2/ja
Priority to US15/632,432 priority patent/US20170293444A1/en
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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2064Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring while ensuring consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2069Management of state, configuration or failover
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • 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/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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2082Data synchronisation

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)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】コピー元からコピー先へのコピー処理を行なうストレージ装置において、コピー元内でのデータの転送処理を指示された後にコピー元が故障した場合でも、コピー先に記憶されたデータからコピー元を復旧できるようにする。【解決手段】コピー元記憶領域5A内の第1領域5aに記憶されたデータを前記コピー元記憶領域5A内の第2領域5bへ転送することを指示する転送コマンドを受信するコマンド制御部11と、前記転送コマンドの受信に応じて、前記第1領域5aから転送データを読み出し、前記第2領域5bに書き込む転送処理を開始する転送処理部12aと、前記転送処理の開始とともに、コピー処理において、前記第2領域5bに対応するコピー先記憶領域5Bの対応領域5dへの前記転送データのコピーを開始するコピー処理部12bと、をそなえる。【選択図】図4

Description

本件は、ストレージ制御装置,ストレージシステム,および制御プログラムに関する。
ストレージ装置におけるデータの転送処理は、サーバが、転送元のボリューム(記憶領域)から転送データを読み出し、読み出した転送データを転送先のボリューム(記憶領域)へ書き込むことにより行なわれる。
近年、サーバの負荷や通信回線の輻輳を抑えるため、ストレージ装置に記憶されたデータの転送処理をストレージ装置に実行させる(オフロードする)オフロードデータ転送機能をそなえた、サーバ等の情報処理装置が知られている。オフロードデータ転送機能としては、例えばMicrosoft(登録商標)社のWindows(登録商標) Server 2012に搭載されたOffloaded Data Transfer(ODX)が挙げられる。ODXでは、サーバから発行されたODXコマンドを受けて、ストレージ装置が主体となって、データの転送処理を行なう。
ODXによるデータの転送処理では、ストレージ装置は、論理的には瞬時に転送を完了し、ODXコマンドへの応答をサーバへ返し、物理的にはバックグラウンドで転送データの転送を行なう。また、ODXの転送元/転送先の領域へデータアクセスが行なわれると、ストレージ装置は、データアクセスを行なう前に、当該データアクセスに係る更新領域の転送データを転送する、いわゆるコピーオンライト/コピーオンリード動作を行なう。このように、ODXでは、ストレージ装置によりスナップショットが作成され、サーバからは瞬時に転送(コピー)が完了したように見える。
図29は、ODXによるストレージ装置でのデータ転送処理の一例を説明する図である。図29に示すように、ホスト装置としてのサーバは、ストレージ装置に記憶されたファイル(データ)をコピーする際に、転送元の範囲(領域)を示すPopulate Token及び転送先の範囲(領域)を示すWrite Using Tokenを発行する。ストレージ装置は、ホスト装置から受信した上記コマンドに基づいて、転送処理を行なう。
以下、ストレージ装置内部で起動(開始)される転送処理を、ODXセッションといい、ホスト装置から発行されるPopulate Token及びWrite Using Tokenの2つのコマンドを、まとめてODXコマンド(転送コマンド)という。
ところで、複数のストレージ装置を含むストレージシステムにおいて、データのバックアップを行なう手法の1つとして、Remote Equivalent Copy(REC)が知られている。RECは、ストレージ装置間(筐体間)でデータのミラーリングを行なう機能である。
図30は、RECによるストレージ装置間でのデータコピー処理の一例を説明する図である。RECでは、ホスト装置からのStart(開始)コマンドにより、RECセッションが起動(開始)される。RECセッションでは、ストレージ装置のコピー元ボリューム(記憶領域)がコピー中状態となり、コピー元ボリュームのデータを他のストレージ装置のコピー先ボリューム(記憶領域)へコピーする等価処理が実行される。コピー中はコピー先ボリュームが不完全なデータであるため、コピー先/コピー元のストレージ装置は、Suspend(切り離し)コマンドに伴う切り離し処理は実行しない。
コピー中状態及び等価状態では、コピー元で変更された情報は、コピー先へ反映される。また、等価状態において、ホスト装置からSuspendコマンドが発行されると、コピー元とコピー先とがSuspend状態(切り離し状態)となり、スナップショット(コピー先ボリューム)が作成される。切り離し状態では、コピー元への更新はコピー先へ反映されなくなり、ホスト装置は、コピー先ボリュームへアクセス可能となる。
また、RECでは、等価状態においてコピー元ストレージ装置が被災(故障)した場合、ホスト装置は、コピー先ストレージ装置へ切り離しコマンドを発行することで、コピー先ボリュームから業務を継続(フェイルオーバ)することが可能である。
RECがサポートするコピーモードには、同期モード及びConsistency(コンシステンシ)モードが含まれる。これらのコピーモードは、コピー元ストレージ装置がホスト装置からコピー元ボリュームに対するWrite Input/Output(I/O)(書込コマンド)を受領したときの、書込コマンドに係る書込データの扱いが異なる。
同期モードは、コピー元ストレージ装置が書込コマンドを受領した場合、書込コマンドに係る書込データをRECの機能によりコピー先ボリュームにコピーしてから、書込コマンドへの応答を返す動作モードである。
コンシステンシモードは、コピー元ストレージ装置が、書込コマンドへの応答を返してから、書込データを専用のバッファ(RECバッファ)に格納する。RECバッファに格納された書込データは、数秒間隔で纏めてコピー先ストレージ装置のRECバッファへ転送され、転送された書込データがRECバッファからコピー先ボリュームに展開される。コンシステンシモードでは、コピー元ストレージ装置が書込コマンドの順番を保って書込データをRECバッファに格納していくため、ある時点までの書込データがコピー先ボリュームに全て反映されていることが保証される(順序性保証)。
なお、RECと同様なミラーリングを、ストレージ装置内(筐体内)で行なうECも知られている。ECがサポートするコピーモードには、同期モードが含まれる。
また、他の技術として、ストレージ装置において、Transparent Failoverという技術がある。この技術は、ストレージ装置間でミラーリングを行ない、片方のストレージ装置が被災した場合、もう一方のストレージ装置に自動的にフェイルオーバをしてサーバからのアクセスを継続するものである。Transparent Failoverは、コピーセッションもストレージ装置間で同じ状態に保っておくことで、フェイルオーバした後のコピーセッションを手動で再設定せずに済み、また、初期コピーをやり直すことなく差分コピーによりコピーセッションを継続することができる。
なお、関連する技術として、コピー元から取得したコピーデータをコピー先で2重バックアップする場合におけるバックアップ処理を最適化する技術が知られている(例えば、特許文献1参照)。
特開2010−160764号公報
図31は、RECを行なうコピー元ストレージ装置において、ODXコマンドへの応答後にコピー元ストレージ装置が故障した場合の例を示す図である。図31に示すように、RECのコピー元(ストレージ装置)は、ホスト装置からのODXコマンドを受領すると(矢印(1)参照)、ODXセッションを起動する(矢印(2)参照)。そして、コピー元は、ODXコマンドに係る論理的な転送を完了すると、ODXコマンドに対して応答を返す(矢印(3)参照)。コピー元がホスト装置へ応答を返した時点では、ODXセッションにおいてODXコマンドに係る転送データの物理的な転送は完了しておらず、コピー元とコピー先とは物理データとしては不等価な状態である。
このとき、コピー元ストレージ装置において故障が発生した場合を想定する(矢印(4)参照)。この場合、ホスト装置は、RECのコピー先(ストレージ装置)へ切り離しコマンドを発行する。コピー先は、切り離しコマンドを受領すると(矢印(5−1)参照)、コピー元との等価状態を切り離し(矢印(5−2)参照)、ホスト装置へ応答を返す(矢印(5−3)参照)。
ホスト装置は、コピー元を復旧するため、RECによりコピー元のデータがコピーされたコピー先へRead I/O(読出コマンド)を発行する。このとき、読出コマンドには、コピー元の転送データに対応する、コピー先のコピー先転送データの読み出し指示も含まれる。コピー先は、読出コマンドを受領すると(矢印(6)参照)、読出コマンドで指定されたコピー転送データを読み出してホスト装置へ応答しようとする(矢印(7)参照)。
しかし、コピー元においてODXによる転送処理が未完了であったため、RECによるコピー先への転送データのコピーも未完了である。このため、コピー先は、読出コマンドで指定された領域へアクセスしても、コピー先転送データが存在しないため、読出に失敗する、又は、異なるデータを読み出すことになり、コピー先転送データを読み出してホスト装置へ応答することができない。
このように、RECを行なうコピー元ストレージ装置において、ODXコマンドへの応答後にコピー元ストレージ装置が故障した場合、ホスト装置は、コピー先ストレージ装置からコピー転送データを取得することができない。従って、ホスト装置が最新のデータによってコピー先ストレージ装置を復旧することができないという課題がある。
なお、ここまで、コピー元ストレージ装置における転送処理(例えばODX)の転送元及び転送先のボリューム(記憶領域)が、ともに筐体間コピー(例えばREC)によるコピー元のボリュームであるものとして説明したが、上述した課題はこれに限定されるものではない。例えば、上述した課題は、少なくとも転送処理の転送先が筐体間コピーによるコピー元のボリュームである場合にも同様に生じ得る。また、上述した課題は、筐体内コピー(例えばEC)を行なうストレージ装置においても、コピー元のボリュームが故障した場合に、同様に生じ得る。さらに、上述した課題は、転送処理の転送元の記憶領域及び転送先の記憶領域が同じボリュームの領域である場合(ボリューム内でデータ転送が行なわれる場合)においても、同様に生じ得る。
1つの側面では、本発明は、コピー元からコピー先の記憶領域へデータをコピーするコピー処理を行なうストレージ装置において、コピー元記憶領域内でのデータの転送処理を指示する転送コマンド受信後にコピー元が故障した場合でも、コピー先に記憶されたデータからコピー元を復旧できるようにすることを目的とする。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の1つとして位置付けることができる。
本件のストレージ制御装置は、一以上の記憶ボリュームを持つコピー元記憶領域に記憶されたデータを、前記コピー元記憶領域に対応する、一以上の記憶ボリュームを持つコピー先記憶領域へコピーするコピー処理を実行するストレージ制御装置であって、前記コピー元記憶領域内の第1領域に記憶されたデータを前記コピー元記憶領域内の第2領域へ転送することを指示する転送コマンドを、情報処理装置から受信するコマンド制御部と、前記転送コマンドの受信に応じて、前記第1領域から転送データを読み出し、前記第2領域に書き込む転送処理を開始する転送処理部と、前記転送処理の開始とともに、前記コピー処理において、前記第2領域に対応する前記コピー先記憶領域の対応領域への前記転送データのコピーを開始するコピー処理部と、をそなえる。
一実施形態によれば、コピー元からコピー先の記憶領域へデータをコピーするコピー処理を行なうストレージ装置において、コピー元記憶領域内でのデータの転送処理を指示する転送コマンド受信後にコピー元が故障した場合でも、コピー先に記憶されたデータからコピー元を復旧することができる。
第1実施形態の一例としてのストレージシステムの構成例を示す図である。 図1に示すストレージシステムによるバックアップの態様の一例を説明する図である。 図1に示すストレージ装置のハードウェア構成例を示す図である。 図1に示すストレージシステムの機能構成例を示す図である。 図4に示すコピー元ストレージ装置がODXコマンドを受信した場合の処理の一例を示すフローチャートである。 図5に示す同期転送処理の一例を示すフローチャートである。 同期モードの場合の同期転送処理を説明する図である。 コンシステンシモードの場合の同期転送処理を説明する図である。 図5に示す非同期転送処理の一例を示すフローチャートである。 図9に示す物理転送処理の一例を示すフローチャートである。 同期モードの場合の非同期転送処理を説明する図である。 コンシステンシモードの場合の非同期転送処理を説明する図である。 第2実施形態の一例としてのコピー元ストレージ装置の機能構成例を示す図である。 第2実施形態の一例としてのコピー先ストレージ装置の機能構成例を示す図である。 図13に示すRECバッファ管理部の処理の一例を説明する図である。 図13に示すコピー元ストレージ装置がODXコマンドを受信した場合の処理の一例を示すフローチャートである。 図16に示すコピー先非同期転送処理の一例を示すフローチャートである。 図17に示すバッファ転送処理の一例を示すフローチャートである。 同期モードの場合の非同期転送処理を説明する図である。 コンシステンシモードの場合の非同期転送処理を説明する図である。 図14に示すコピー先ストレージ装置が読出コマンドを受信した場合の処理の一例を示すフローチャートである。 同期モードの場合のコピー先読出処理を説明する図である。 コンシステンシモードの場合のコピー先読出処理を説明する図である。 図13に示すコピー元ストレージ装置が書込コマンドを受信した場合の処理の一例を示すフローチャートである。 同期モードの場合のコピー元書込処理を説明する図である。 コンシステンシモードの場合のコピー元書込処理を説明する図である。 図1に示すストレージシステムによるバックアップの態様の一例を説明する図である。 図1に示すストレージシステムによるバックアップの態様の一例を説明する図である。 ODXによるストレージ装置でのデータ転送処理の一例を説明する図である。 RECによるストレージ装置間でのデータコピー処理の一例を説明する図である。 RECを行なうコピー元ストレージ装置において、ODXコマンドへの応答後にコピー元ストレージ装置が故障した場合の例を示す図である。
以下、図面を参照して実施の形態を説明する。
〔1〕第1実施形態
〔1−1〕ストレージシステムの構成例
図1は、第1実施形態の一例としてのストレージシステム10の構成例を示す図であり、図2は、図1に示すストレージシステム10によるバックアップの態様の一例を説明する図である。
図1に示すように、ストレージシステム10は、ホスト装置2に接続され、ホスト装置2からの各種要求を受け、その要求に応じた各種処理を行なう。
ホスト装置2は、ストレージシステム10に接続されたホストコンピュータ(上位装置)であり、例えばWindows Server 2012等のODX(オフロードデータ転送機能)をサポートするOperating System(OS)を実行する。ホスト装置2としては、Personal Computer(PC)、サーバ、又はメインフレーム等の種々の情報処理装置が例として挙げられる。
ホスト装置2は、ストレージシステム10に対して、ODXコマンド(転送コマンド)やEC/RECコマンド(コピーコマンド)の発行、ボリューム5a〜5dに対する書込(更新)/読出コマンド等を発行する。なお、EC/RECコマンドとしては、Start(開始)コマンド、Suspend(切り離し)コマンド、又は、切り離し状態から等価状態へ遷移させるResume(再開)コマンド等が挙げられる。
ストレージシステム10は、1以上(図1では2つ)のストレージ装置1A及び1B(ストレージ装置1A及び1Bを区別しない場合には、単にストレージ装置1という)をそなえる。
ストレージ装置1Aは、1以上(図1では2つ)のコントローラモジュール(CM)3A及びDisk Enclosure(ディスクエンクロージャ,以下、DEという)4Aをそなえる。また、ストレージ装置1Bは、1以上(図1に示す例では2つ)のCM3B及びDE4Bをそなえる。以下、CM3A及び3Bを区別しない場合には、単にCM3といい、DE4A及び4Bを区別しない場合には、単にDE4という。
DE4は、1以上(図1では2つ)のボリューム5a及び5b、又は、5c及び5dを格納(管理)する。以下、ボリューム5a〜5dを区別しない場合には、単にボリューム5という。ボリューム(記憶領域,記憶ボリューム)5は、ホスト装置2又はCM3が記憶領域を物理的に又は仮想的に、1つの連続した記憶領域として管理する単位である。
以下、RECセッションにおけるコピー元のボリューム(記憶領域)をコピー元記憶領域5Aといい、コピー先のボリューム(記憶領域)をコピー先記憶領域5Bという。図2に示す例では、ストレージ装置1Aのボリューム5a及び5b(少なくともボリューム5b)がコピー元記憶領域5Aであり、ストレージ装置1Bのボリューム5c及び5d(少なくともボリューム5d)がコピー先記憶領域5Bである。
なお、コピー元記憶領域5A(ボリューム5a及び5b)及びコピー先記憶領域5B(ボリューム5c及び5d)は、それぞれ、物理ボリュームであってもよいし、論理(仮想)ボリュームであってもよい。
例えば、コピー元記憶領域5Aは、DE4Aがそなえる記憶装置41(図3参照)により実現される複数のボリュームのうちの1以上の物理又は論理(仮想)ボリューム(第1ボリューム)である。同様に、コピー先記憶領域5Bは、DE4Bがそなえる記憶装置41により実現される複数のボリュームのうちの1以上の物理又は論理(仮想)ボリューム(第2ボリューム)である。
CM(ストレージ制御装置)3は、ホスト装置2、DE4、及び他のCM3に接続され、ストレージ装置1における資源管理を行なうコンピュータ(情報処理装置)である。また、CM3は、ホスト装置2や他のCM3からの要求に応じ、DE4に対する各種処理(データ転送処理、データコピー処理、データ書込/読出処理等)を行なう。
以下の説明では、CM3は、ホスト装置2からODXコマンド、RECコマンド(コピーコマンド)、及び書込/読出コマンドを受信し、受信したコマンドに応じた処理を行なうものとして説明する。
CM3は、図2に示すように、ODXコマンドに応じて起動(開始)したODXセッション(転送処理)において、コピー元記憶領域5A内のボリューム5a(第1領域)に記憶されたデータを読み出して、ボリューム5b(第2領域)へ書き込むオフロード転送を行なう。また、CM3(ストレージ装置1)は、図2に示すように、RECコマンドに応じて起動(開始)したRECセッション(コピー処理)において、コピー元記憶領域5Aに記憶されたデータを、対応するコピー先記憶領域5Bへコピーする装置間(筐体間)コピーを行なう。
〔1−2〕ハードウェア構成
次に、図1及び図3を参照して、ストレージ装置1のハードウェア構成について説明する。図3は、図1に示すストレージ装置1のハードウェア構成例を示す図である。
CM3は、図1及び図3に示すように、Central Processing Unit(CPU)31、メモリ32、Channel Adapter(CA)33、Remote Adaptor(RA)34、及び1以上(図1では2つ)のDisk Interface(DI)35をそなえる。また、図3に示すように、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との間でデータ通信を行なう。RA34は、他のストレージ装置1(CM3)内のRA34と接続され、他のストレージ装置1とのインタフェース制御を行なうポートであり、他のストレージ装置1との間で例えばデータ通信を行なう。DI35は、ストレージシステム10に収容されるDE4とのインタフェース制御を行ない、DE4との間でデータ通信を行なう。図3に示す例では、CA33、RA34、及びDI35をまとめて、インタフェース部と表記している。
記憶部36は、種々のデータやプログラム等を格納するハードウェアである。記憶部36としては、例えばHard Disk Drive(HDD)等の磁気ディスク装置、Solid State Drive(SSD)等の半導体ドライブ装置、フラッシュメモリ等の不揮発性メモリ等の各種デバイスが挙げられる。
入出力部37は、例えばマウスやキーボード等の入力装置、及びディスプレイやプリンタ等の出力装置の少なくとも一方を含むものである。入出力部37は、入力装置によりストレージ装置1の管理者等の操作による動作命令を受け付ける一方、ストレージ装置1による処理結果やアラート等を出力装置に表示(出力)する。
記録媒体39aは、フラッシュメモリやROM等の記憶装置であり、種々のデータやプログラムを記録する。読取部38は、光ディスクやUniversal Serial Bus(USB)メモリ等のコンピュータ読取可能な記録媒体39bに記録されたデータやプログラムを読み出す装置である。
記録媒体39a及び39bの少なくとも一方には、本実施形態に係るストレージシステム10(CM3)の機能を実現する制御プログラムが格納されてもよい。例えば、CPU31は、記録媒体39a、又は読取部38を介して記録媒体39bから入力された制御プログラムを、メモリ32等の記憶装置に展開して実行する。これにより、CM3としてのコンピュータは、CPU31により、本実施形態に係るストレージ制御装置の機能を実現する。
DE4は、図3に示すように、1以上(図3では2つ)の記憶装置41をそなえる。
記憶装置41は、HDD等の磁気ディスク装置やSSD等の半導体ドライブ装置の各種デバイスであり、種々のデータやプログラム等を格納するハードウェアである。
また、記憶装置41は、CM3による管理を通じて、上述のように、コピー元記憶領域5A及びコピー先記憶領域5Bとして用いられる物理/論理ボリュームを実現する。
なお、上述した各ブロック31〜39a間は、それぞれバスで相互に通信可能に接続される。また、ストレージ装置1間(RA34間)、ホスト装置2−CA33間、及びDI35−DE4(記憶装置41)間は、それぞれ、LAN、Small Computer System Interface(SCSI)、InfiniBand(インフィニバンド(登録商標))、又はFibre Channel(ファイバチャネル)等により相互に通信可能に接続される。
なお、ストレージ装置1の上述したハードウェア構成は例示である。従って、個々のストレージ装置1内、CM3、DE4内でのハードウェアの増減や分割、任意の組み合わせでの統合等は、適宜行なわれてもよい。また、CM3のハードウェアは、ストレージ装置1における複数のCM3で共用されてもよい。
〔1−3〕ストレージシステムについて
ここで、第1実施形態に係るストレージシステム10について、簡単に説明する。
上述のように、RECを行なうコピー元ストレージ装置において、ODXコマンドへの応答後にコピー元ストレージ装置が故障した場合、ホスト装置は、コピー先ストレージ装置からコピー転送データを取得することができない。
これに対し、第1実施形態に係るストレージシステム10では、コピー元のCM3は、RECによる等価状態においてODXコマンドを受領した場合、ODXによる物理的なデータの転送処理とRECによるデータのコピー処理とをODXコマンドへの応答前に実行する。すなわち、コピー元のCM3は、ODXコマンドに係る転送処理と同期的にRECのコピー処理を行なうことによって、RECによるコピー元/コピー先の等価性を保証する。
従って、ODXコマンド受信後にストレージ装置1A又はコピー元記憶領域5Aが故障した場合でも、ホスト装置2は、コピー先記憶領域5Bに記憶された最新のデータからストレージ装置1A又はコピー元記憶領域5Aを復旧することができる。
なお、第1実施形態に係るストレージシステム10では、ストレージ装置1Aのコピー元記憶領域5Aにおける、ODXセッションの転送元及び転送先(ボリューム5a及び5b)のうち、少なくとも転送先(ボリューム5b)がRECセッションのコピー元であればよい。この場合、ストレージ装置1Bのコピー先記憶領域5Bにおけるボリューム5dが、RECセッションのコピー先となる。
〔1−4〕ストレージシステムの構成
次に、図4を参照して、図1に示すストレージシステム10の機能構成について説明する。図4は、図1に示すストレージシステム10の機能構成例を示す図である。
CM3は、図4に示すように、RECセッションのコピー元のストレージ装置1の機能としてストレージ装置1Aに示す構成をそなえ、RECセッションのコピー先のストレージ装置1の機能としてストレージ装置1Bに示す構成をそなえる。
なお、以下の説明では、ストレージシステム10におけるODX及びRECに係る機能に着目し、ストレージシステム10が、RECのコピーモードのうちの同期モードを用いる場合とコンシステンシモードを用いる場合とに分けて説明する。
〔1−4−1〕コピー元ストレージ装置の構成
はじめに、コピー元ストレージ装置1A(CM3A)の構成について説明する。
コピー元ストレージ装置1AのCM3Aは、ホストInterface(I/F)制御部11、セッション管理部12、RECバッファ管理部13、RECバッファ13a、及び装置間I/F制御部14をそなえる。
ホストI/F制御部(コマンド制御部)11は、CA33を介して、ホスト装置2との間のインタフェース制御を行なうものであり、ホスト装置2からの各種コマンドの受信、ホスト装置2への各種コマンドへの応答の送信等を行なう。また、ホストI/F制御部11は、受信したコマンドに応じた制御を行なう。このため、ホストI/F制御部11は、書込/読出コマンド制御部11a、ODXコマンド制御部11b、及びコピーコマンド制御部11cをそなえる。
書込/読出コマンド制御部11aは、ホスト装置2から受領した書込/読出コマンドに係る制御を行なう。
例えば、書込/読出コマンド制御部11aは、RECが等価状態の場合に、ボリューム5bへの書込コマンドを受信すると、書込データのボリューム5bへの書き込みを、DI35を介してDE4に指示する。また、書込/読出コマンド制御部11aは、RECによる書込データのコピー先(ボリューム5d)へのコピーを、セッション管理部12に指示する。
ODXコマンド制御部11bは、ホスト装置2から受領したODXコマンドに係る制御を行なう。
例えば、ODXコマンド制御部11bは、ボリューム5aに記憶されたデータ(転送データ)をボリューム5bへ転送することを指示するODXコマンドを受信すると、ODXセッションの起動を、セッション管理部12に指示する。
また、ODXコマンド制御部11bは、ODXセッション管理部12aによるODXセッション(転送処理)において、ODXコマンドに対する応答時間内に転送された転送データ(転送可能データ)に関する情報を含む応答を、ホスト装置2へ送信する。なお、転送可能データについては、後述する。
なお、ODXコマンド制御部11bは、少なくともODXセッション管理部12aによる転送先への転送可能データの物理的な転送が完了してから、ホスト装置2へ応答を送信する。
コピーコマンド制御部11cは、ホスト装置2から受領したRECコマンドに係る制御を行なう。
例えば、コピーコマンド制御部11cは、RECの開始コマンドを受信すると、コピーセッション管理部12bにRECセッションの起動を指示する。
RECバッファ管理部(バッファ管理部)13は、RECのコンシステンシモードでCM3Aにより利用されるRECバッファ13aを管理する。なお、RECバッファ13aは、例えばメモリ32の記憶領域の少なくとも一部の領域により実現される。
例えば、RECバッファ管理部13は、RECが等価状態の場合、コピーセッション管理部12bによるコピーの開始に応じて、転送可能データを応答時間内にRECバッファ13aへ格納する。また、RECバッファ管理部13は、所定のタイミングで、RECバッファ13aに格納された転送可能データを、ストレージ装置1Bへ送信(バッファ転送)する。
具体的には、RECバッファ管理部13は、コピーセッション管理部12bからRECセッションのコピー先(ボリューム5d)への転送可能データを渡されると、渡された順で転送可能データをRECバッファ13aに格納する。そして、RECバッファ管理部13は、RECバッファ13aに格納されたデータが所定サイズを超えた場合等の所定のタイミングで、又は、定期的に、RECバッファ13aに格納されているデータをストレージ装置1Bへ送信する。
このように、RECバッファ管理部13は、RECが等価状態の場合、ODXセッションによる転送先(ボリューム5b)への転送可能データの書き込みとは非同期で、コピー先(ボリューム5d)へ転送可能データを送信する。
なお、RECバッファ管理部13は、RECがコピー中状態の場合、バックグラウンドで動作するODXセッションにより転送先(ボリューム5b)に書き込まれた転送データを、RECバッファ13aに格納する。また、RECバッファ管理部13は、RECが等価状態又はコピー中状態である場合、コピー元記憶領域5Aでの更新データを、RECバッファ13aに格納する。
セッション管理部12は、ODXセッションやRECセッション等のセッションを管理する。なお、セッション管理部12は、セッションの管理に用いる管理情報をメモリ32等に保存し、参照/更新する。セッション管理部12は、ODXセッション管理部12a及びコピーセッション管理部12bをそなえる。
ODXセッション管理部(転送処理部)12aは、RECが等価状態の場合、ODXコマンドの受信に応じて、転送元であるボリューム5aから転送データを読み出し、転送先であるボリューム5bに書き込むODXセッションを起動(開始)する。
具体的には、ODXセッション管理部12aは、起動したODXセッションにおいて、転送コマンドに対する応答時間内に転送可能な、転送データの少なくとも一部の転送可能データについて、ボリューム5aから読み出してボリューム5bに書き込む。転送可能データに関する情報としては、転送したブロックサイズ、又は転送可能データが記憶された領域(例えばアドレス)等の情報が挙げられる。なお、応答時間は、ODXの仕様により、又はホスト装置2若しくはストレージシステム10の管理者等により、予め定められた時間であり、例えば数秒程度である。
ここで、ODXセッション管理部12aは、等価状態におけるODXセッションにおいて、転送データをブロック単位で転送する。なお、ブロックは、転送データのうちの纏まったサイズ(例えば数MByte)のデータ(一部転送データ)である。ODXセッション管理部12aは、1ブロック又は数ブロックのデータを転送すると、現在の時刻が応答時間の期限に達しているか否かを判断する。達していない場合、ODXセッション管理部12aは、次のブロックの転送を行なう。一方、ODXセッション管理部12aは、現在の時刻が応答時間の期限に達している場合(タイムアウトした場合)、ブロックの転送を止め、ODXセッションにおいて転送した全ブロック(転送可能データ)に関するサイズ等の情報を、ODXコマンド制御部11bへ通知する。
なお、図31に示すODXセッションでは、転送データは、ホスト装置2への応答送信後にバックグラウンドで実行される。しかし、ODXセッション管理部12aは、RECが等価状態の場合には、転送データのうちの転送可能データについて、応答時間内に転送を行なう。これにより、ホストI/F制御部11は、ODXによる物理的な転送が確実に完了した転送可能データをホスト装置2へ通知することができる。
なお、ODXコマンド制御部11bがホスト装置2へ応答を返すと、ホスト装置2は、新たなODXコマンドを発行する。新たなODXコマンドは、ボリューム5aのうちのODXセッション管理部12aが転送を行なわなかった領域に記憶されたデータを、ボリューム5bへ転送することを指示するものである。ホスト装置2は、ストレージ装置1Aから通知されたブロック数等の情報に基づいて、新たなODXコマンドに含める更新後の転送元及び転送先の領域(転送範囲)を決定する。
ODXセッション管理部12aは、ODXコマンドで指定される全ての領域に係る転送処理が完了するまで、応答を返すごとにホスト装置2から発行される新たなODXコマンドに基づいて、また、上述した転送可能データごとの転送処理を繰り返す。
なお、ODXセッション管理部12aは、RECが等価状態ではない(例えばコピー中状態の)場合や、ODXの転送先がRECのコピー元ではない場合等には、図31に示すものと同様の処理を行なう。すなわち、ODXセッション管理部12aはODXコマンドの受信に応じてODXセッションを起動してバックグラウンドで転送データの転送を行ない、ODXコマンド制御部11bはODXセッションが起動されると応答を返す。
コピーセッション管理部(コピー処理部)12bは、RECセッションを管理する。
例えば、コピーセッション管理部12bは、RECが等価状態ではない場合(例えばコピー中状態の場合)、RECセッション(コピー処理)において、コピー元記憶領域5Aのデータを対応するコピー先記憶領域5Bへコピーする。
また、コピーセッション管理部12bは、RECが等価状態の場合、ODXセッションの開始とともに、RECセッション(コピー処理)において、ODXの転送先(コピー元のボリューム5b)に対応するコピー先記憶領域5Bのボリューム5d(対応領域)への転送データのコピーを開始する。すなわち、コピーセッション管理部12bは、ODXセッションが開始されたこと(ODXコマンドを受信したこと)をトリガに、RECセッションにおける転送データのコピーを開始する。
具体的には、コピーセッション管理部12bは、RECが等価状態の場合、コピーの開始処理において、転送可能データのボリューム5dへのコピーを開始する。ここで、コピーセッション管理部12bが起動するコピーは、等価状態のRECが同期モード及びコンシステンシモードのいずれのコピーモードであるかに応じて、以下のように実行される。
・同期モードの場合
コピーセッション管理部12bは、同期モードの場合、開始したコピーにおいて、RECの機能により、応答時間内に転送可能データをボリューム5dへコピーする。
なお、同期モードの場合、ODXコマンド制御部11bは、ODXセッション管理部12aによる転送可能データの転送先へのODXセッションと、コピーセッション管理部12bによる転送可能データのRECコピー先へのコピーとが完了してから、ホスト装置2へ応答を送信する。
・コンシステンシモードの場合
コピーセッション管理部12bは、コンシステンシモードの場合、開始したコピーにおいて、RECの機能により、ボリューム5dへの転送可能データをRECバッファ管理部13に渡し、RECバッファ管理部13にRECバッファ13aへの格納を指示する。RECバッファ13aに格納された転送可能データは、上述のように、RECバッファ管理部13により、所定のタイミングでボリューム5dへ送信される。
なお、コンシステンシモードの場合、ODXコマンド制御部11bは、ODXセッション管理部12aによる転送可能データの転送先へのODXセッションと、RECバッファ管理部13によるRECバッファ13aへの転送可能データの格納とが完了してから、ホスト装置2へ応答を送信する。
また、コピーセッション管理部12bは、RECバッファ管理部13によるバッファ転送前に切り離しコマンドを受領した場合、RECバッファ13aに格納されているデータが全てバッファ転送されるまで、切り離し状態への変更処理を待機(待ち合わせ)する。
装置間I/F制御部14は、RA34を介して、ストレージ装置1Bとの間のインタフェース制御を行なうものである。例えば、装置間I/F制御部14は、コピーセッション管理部12b又はRECバッファ管理部13から送信されるRECセッション等に関するデータやコマンド等の情報をストレージ装置1Bへ送信する。また、装置間I/F制御部14は、ストレージ装置1BからRECセッション等に関する応答等の情報を受信し、コピーセッション管理部12b又はRECバッファ管理部13へ渡す。
以上のように、同期モードでは、ODXコマンド制御部11bは、ODXによる転送可能データの物理的な転送と、RECによる転送可能データのコピーとが完了してからホスト装置2へ応答を返す。従って、ホスト装置2への応答において、コピー元記憶領域5Aとコピー先記憶領域5Bとの同期(等価状態)を確実に保証することができる。
また、コンシステンシモードでは、ODXコマンド制御部11bは、ODXによる転送可能データの物理的な転送と、RECによる転送可能データのRECバッファ13aへの格納とが完了してからホスト装置2へ応答を返す。従って、ホスト装置2への応答において、コピー元記憶領域5Aとコピー先記憶領域5Bとの同期を、非同期のコピーモードであるコンシステンシモードで許容されるレベルで保証することができる。
〔1−4−2〕コピー先ストレージ装置の構成
次に、コピー先ストレージ装置1B(CM3B)の構成について説明する。
コピー先ストレージ装置1BのCM3Bは、ホストI/F制御部21、セッション管理部22、RECバッファ管理部23、RECバッファ23a、及び装置間I/F制御部24をそなえる。
ホストI/F制御部21は、CA33を介して、ホスト装置2との間のインタフェース制御を行なうものであり、CM3AのホストI/F制御部11と同様の機能をそなえる。
例えば、ホストI/F制御部21は、ホスト装置2からRECの切り離しコマンドを受信すると、セッション管理部22にRECセッションの停止を指示する。
RECバッファ管理部23は、RECのコンシステンシモードでCM3Bにより利用されるRECバッファ23aを管理する。なお、RECバッファ23aは、例えばメモリ32の記憶領域の少なくとも一部の領域により実現される。
例えば、RECバッファ管理部23は、コンシステンシモードにおいて、ストレージ装置1Aから送信(バッファ転送)されたデータ(転送可能データ)を、RECバッファ23aに格納する。また、RECバッファ管理部23は、RECバッファ管理部13と同様の所定のタイミングで、RECバッファ23aに格納されたデータをブロック単位で格納順に読み出し、セッション管理部22に渡す。
セッション管理部22は、RECセッション等のセッションを管理する。なお、セッション管理部22は、セッションの管理に用いる管理情報をメモリ32等に保存し、参照/更新する。
例えば、セッション管理部22は、RECがコピー中状態又は等価状態である場合、ストレージ装置1Bから送信されたRECのコピー元記憶領域5Aのデータについて、対応するコピー先記憶領域5Bへの書き込みをDE4に指示する。このとき、セッション管理部22は、コンシステンシモードの場合には、RECバッファ23aに格納されたデータ(転送可能データ)をRECバッファ管理部23から受け取り、当該データについて、コピー先記憶領域5Bへの書き込みをDE4に指示する。
装置間I/F制御部24は、RA34を介して、ストレージ装置1Aとの間のインタフェース制御を行なうものである。例えば、装置間I/F制御部24は、ストレージ装置1Aとの間で、RECセッション等に関するデータやコマンド等の情報を送受信する。
〔1−5〕ストレージシステムの動作例
次に、図5〜図12を参照して、上述の如く構成された第1実施形態の一例としてのストレージシステム10の動作例について説明する。
図5は、図4に示すコピー元ストレージ装置1AがODXコマンドを受信した場合の処理の一例を示すフローチャートであり、図6は、図5に示す同期転送処理の一例を示すフローチャートである。図7は、同期モードの場合の同期転送処理を説明する図であり、図8は、コンシステンシモードの場合の同期転送処理を説明する図である。図9は、図5に示す非同期転送処理の一例を示すフローチャートであり、図10は、図9に示す物理転送処理の一例を示すフローチャートである。図11は、同期モードの場合の非同期転送処理を説明する図であり、図12は、コンシステンシモードの場合の非同期転送処理を説明する図である。
図5に示すように、ホスト装置2によりコピー元ストレージ装置1AへODXコマンドが発行されると、ODXコマンド制御部11bによりODXコマンドが受領される(ステップS1;図7,図8,図11,図12の矢印(1)参照)。
ODXコマンド制御部11bでは、セッション管理部12へ、ODXセッションの起動が指示される。セッション管理部12では、ODXによる転送先のボリューム5bがRECのコピー元であるか否かの判断(ステップS2)、及び、コピー元である場合にはRECが等価状態であるか否かの判断が行なわれる(ステップS3)。
転送先がコピー元であり(ステップS2のYesルート)、且つ、RECが等価状態である場合(ステップS3のYesルート)、ODXセッション管理部12aにより、同期転送処理が実行される(ステップS4及び図6のステップS11〜S15)。同期転送処理が完了すると、処理が後述するステップS6へ移行する。
一方、転送先がコピー元ではない(ステップS2のNoルート)、又は、RECが等価状態ではない場合(ステップS3のNoルート)、ODXセッション管理部12aにより、非同期転送処理が起動される(ステップS5及び図9のステップS21〜S23)。なお、ステップS5では、ODXセッション管理部12aは、非同期転送処理の起動により、ODXセッションをバックグラウンドで起動させると、ODXコマンド制御部11bを介してホスト装置2へODXコマンドへの応答を返す(ステップS6)。
以上により、コピー元ストレージ装置1AがODXコマンドを受領した場合の処理が終了する。
次に、ステップS4における同期転送処理について説明する。
図6に示すように、同期転送処理では、ODXセッション管理部12aにより、ODXによる物理的な転送が転送データの少なくとも一部のブロック(一部転送データ)について実施される(ステップS11;図7,図8の矢印(2−1)参照)。また、同時に、セッション管理部12により、コピーモードが同期モードであるか否かが判断される(ステップS12)。
コピーモードが同期モードの場合(ステップS12のYesルート)、コピーセッション管理部12bにより、転送元から読み出された又は転送先へ書き込まれた一部転送データがRECのコピー先にコピーされる(ステップS13;図7の矢印(2−2)参照)。
一方、コピーモードが同期モードではない場合(ステップS12のNoルート)、つまりコンシステンシモードの場合、コピーセッション管理部12bにより、転送元から読み出された又は転送先へ書き込まれた一部転送データがRECバッファ管理部13へ渡される。RECバッファ管理部13では、渡された一部転送データがRECバッファ13aへ格納される(ステップS14;図8の矢印(2−2)参照)。
ステップS13又はS14の処理が完了すると、ODXセッション管理部12aにより、ODXコマンドで指示された転送範囲について、転送処理が完了したか否か、又は、タイムアウトしたか否かが判断される(ステップS15)。転送処理が完了しておらず、且つ、タイムアウトしていない場合(ステップS15のNoルート)、処理がステップS11に移行する。
一方、転送処理が完了した、又は、タイムアウトした場合(ステップS15のYesルート)、同期転送処理が完了し、図5のステップS6の処理が実行される。すなわち、図5のステップS6において、ODXコマンド制御部11bにより、ODXコマンドに対する応答がホスト装置2へ送信される(図7,図8の矢印(3)参照)。このとき、応答には、転送処理の完了又はタイムアウトまでに転送されたブロック数(転送可能データ)に関する情報が含まれる。
以上により、同期モードの場合における、コピー元ストレージ装置1AがODXコマンドを受領した場合の同期転送処理が終了する。
なお、コンシステンシモードの場合、RECバッファ13aに格納されたデータ(一部転送データ,転送可能データ)は、RECバッファ管理部13により、所定のタイミングでコピー先へバッファ転送される(図8の矢印(4−1)参照)。また、コピー先ストレージ装置1Bでは、バッファ転送されてRECバッファ23aに格納されたデータが、RECバッファ管理部23経由でセッション管理部22により読み出される。そして、セッション管理部22により、RECの機能でRECバッファ23aに格納されたデータがコピー先ボリューム5dへコピーされる(図8の矢印(4−2)参照)。
以上により、コンシステンシモードにおける、コピー元ストレージ装置1AがODXコマンドを受領した場合の同期転送処理が終了する。
なお、ホスト装置2は、応答に含まれるブロック数に基づいて(加味して)、先のODXコマンドで転送が行なわれなかった転送領域について、新たなODXコマンドをコピー元ストレージ装置1Aへ発行する。つまり、ホスト装置2は、転送が完了したブロック数を受領すると、続きのブロックアドレスから始まる次の転送範囲を指定するODXコマンドを発行する。ストレージシステム10では、このようにして、最初のODXコマンドで指定された転送範囲の転送データが全て転送される(又はRECバッファ13aに格納される)まで、上述した処理が繰り返される。
次に、図5に示すステップS5で起動される非同期転送処理について説明する。
図9に示すように、非同期転送処理では、ODXセッション管理部12aにより、ODXセッションが作成される(ステップS21;図11,図12の矢印(2)参照)。そして、ODXセッション管理部12aにより、ODXによる物理的な転送が、バックグラウンドで起動される(ステップS22)。なお、図5のステップS6におけるODXコマンドへの応答は、ODXコマンド制御部11bにより、ステップS22の処理が完了するとホスト装置2へ送信される(図11,図12の矢印(3)参照)。
次いで、ODXセッション管理部12aによる物理転送処理が実行される(ステップS23及び図10のステップS31〜S36)。
図10に示すように、物理転送処理では、ODXセッション管理部12aにより、ODXによる物理的な転送が実施される(ステップS31)。このとき、セッション管理部12により、コピーモードが同期モードであるか否かが判断される(ステップS32)。
コピーモードが同期モードである場合(ステップS32のYesルート)、コピーセッション管理部12bにより、転送元から読み出された又は転送先へ書き込まれた転送データがRECのコピー先にコピーされる(ステップS33)。
一方、コピーモードが同期モードではない場合(ステップS32のNoルート)、つまりコンシステンシモードの場合、コピーセッション管理部12bにより、転送元から読み出された又は転送先へ書き込まれた転送データがRECバッファ管理部13へ渡される。RECバッファ管理部13では、渡された転送データがRECバッファ13aへ格納される(ステップS34;図12の矢印(4)参照)。
ステップS33又はS34の処理が完了すると、ODXセッション管理部12aにより、ODXコマンドで指示された転送範囲について、転送処理が完了したか否かが判断される(ステップS35)。転送処理が完了していない場合(ステップS35のNoルート)、処理がステップS31に移行する。
一方、転送処理が完了した場合(ステップS35のYesルート)、ODXセッション管理部12aによりODXセッションが削除される(ステップS36)。
なお、コンシステンシモードの場合、RECバッファ13aに格納されたデータ(転送データ)は、RECバッファ管理部13により、所定のタイミングでコピー先へバッファ転送される(図12の矢印(5−1)参照)。また、コピー先ストレージ装置1Bでは、セッション管理部22により、バッファ転送されてRECバッファ23aに格納されたデータがRECの機能でボリューム5dへコピーされる(図12の矢印(5−2)参照)。
また、同期モード及びコンシステンシモードのいずれのコピーモードにおいても、コピーセッション管理部12bは、ODXセッション及びRECセッションの双方のコピーが完了したときに、RECを等価状態に遷移する(図11の矢印(4),図12の矢印(6)参照)。
以上により、コピー元ストレージ装置1AがODXコマンドを受領した場合の非同期転送処理が終了する。
〔2〕第2実施形態
次に、第2実施形態に係るストレージシステム10について説明する。
なお、第2実施形態に係るストレージシステム10の構成例、バックアップの態様、及びストレージ装置1のハードウェア構成例は、図1〜図3に示すものと基本的に同様であるため、重複した説明は省略する。
〔2−1〕ストレージシステムについて
はじめに、第2実施形態に係るストレージシステム10について、簡単に説明する。
ストレージシステム10の運用形態としては、ODXの転送元及び転送先がともにRECによるコピー対象(コピー元)である場合が多い。ODXは、ホスト装置2が認識できる業務ボリュームで使用されるため、ODXの転送元及び転送先のいずれか一方のみがREC対象であるというのは考えにくいことを踏まえると、この前提条件は一般的なストレージシステム10の運用環境で満たされているといえる。
上述した前提条件において、RECのコピー先ストレージ装置1B(ボリューム5c)には、ODXの転送元(ボリューム5a)のデータが存在するはずである。従って、ストレージ装置1Aは、ODXの転送先(ボリューム5b)に転送された転送データ自体の、RECによるストレージ装置1Bへのコピーを省略することができる。
例えば、第2実施形態に係るストレージシステム10は、RECが等価状態の場合、ホスト装置2からODXコマンドを受領すると、ODXセッションを起動するとともに、コピー先ストレージ装置1BでもODXセッションを起動させてから、ホスト装置2へ応答を返す。すなわち、コピー元のCM3Aは、ODXセッションの起動と同期的にRECのコピー先にもODXセッションの起動を行なわせることによって、RECによるコピー元及びコピー先で並行して同様のODXセッションを動かし、コピー元及びコピー先の等価性を保証する。
従って、第1実施形態と同様に、ODXコマンド受信後にストレージ装置1A又はコピー元記憶領域5Aが故障した場合でも、ホスト装置2は、コピー先記憶領域5Bに記憶されたデータからストレージ装置1A又はコピー元記憶領域5Aを復旧することができる。
さらに、RECによるストレージ装置1間での転送データ自体の通信を省略できるためストレージ装置1間でのデータ転送量を削減することも可能となる。
また、コピー元及びコピー先では、ODXセッションがバックグラウンドで動作するため、コピー元ストレージ装置1Aは、ODXセッションの起動後にホスト装置2へ応答を返すことができる。従って、ODXによる物理的な転送とRECによる物理的なコピーとを同期的に実行する場合よりも応答の遅延を低減することも可能となる。
なお、第2実施形態に係るストレージシステム10では、上述のように、ストレージ装置1Aのコピー元記憶領域5Aにおける、ODXセッションの転送元及び転送先(ボリューム5a及び5b)がともにRECセッションのコピー元であることを前提とする。この場合、ストレージ装置1Bのコピー先記憶領域5Bにおけるボリューム5c及び5dが、RECセッションのコピー先となる。また、ボリューム5c及び5dは、それぞれ、コピー先で起動されるコピー先ODXセッションの転送元及び転送先となる。
以下、第2実施形態に係るストレージシステム10の詳細について説明する。
〔2−2〕ストレージシステムの構成
次に、図13及び図14を参照して、図1に示すストレージシステム10の機能構成について説明する。図13及び図14は、それぞれ、第2実施形態の一例としてのコピー元ストレージ装置1A及びコピー先ストレージ1Bの機能構成例を示す図である。
CM3は、図13に示すようにRECセッションのコピー元のストレージ装置1の機能としてストレージ装置1Aに示す構成をそなえ、図14に示すようにRECセッションのコピー先のストレージ装置1の機能としてストレージ装置1Bに示す構成をそなえる。
なお、以下の説明では、ストレージシステム10におけるODX及びRECに係る機能に着目し、ストレージシステム10が、RECのコピーモードのうちの同期モードを用いる場合とコンシステンシモードを用いる場合とに分けて説明する。
また、図13及び図14において、図4に示す符号と同一の符号が付されたブロックは、図4に示すブロックと同様の機能を有するため、重複した説明は省略する。
〔2−2−1〕コピー元ストレージ装置の構成
はじめに、コピー元ストレージ装置1A(CM3A)の構成について説明する。
コピー元ストレージ装置1AのCM3Aは、ホストI/F制御部11、セッション管理部12、RECバッファ管理部13’、RECバッファ13a、及び装置間I/F制御部14をそなえる。なお、RECバッファ13a及び装置間I/F制御部14は、第1実施形態と同様である。
ホストI/F制御部(コマンド制御部)11は、第1実施形態とは異なる書込/読出コマンド制御部11a’及びODXコマンド制御部11b’をそなえるとともに、第1実施形態と同様のコピーコマンド制御部11cをそなえる。
書込/読出コマンド制御部11a’は、ホスト装置2から受領した書込/読出コマンドに係る制御を行なう。
例えば、書込/読出コマンド制御部11a’は、RECが等価状態の場合に、ボリューム5bへの書込コマンドを受信すると、ボリューム5bの書込先(書込領域)への書込データの書き込みを、DI35を介してDE4に指示する。また、書込/読出コマンド制御部11a’は、RECによる書込データのコピー先(ボリューム5d)へのコピー(コピー先CM3BでのODXセッションの起動)を、セッション管理部12に指示する。
また、書込/読出コマンド制御部11a’は、RECが等価状態の場合に、バックグラウンドでのODXによる転送データの書き込みが未完了の転送先(ボリューム5b)に対する書込コマンドをホスト装置2から受領する場合がある。
この場合、書込/読出コマンド制御部11a’は、書込データの書き込みよりも先に、ODXセッション管理部12a’に、書込先へのODXによる物理的な転送を開始させてから、書込先への書込データの書き込みを行なう(DE4に指示する)。次いで、書込/読出コマンド制御部11a’は、コピーセッション管理部12b’に、ODXによる転送データのボリューム5dへのコピーを開始させる。また、書込/読出コマンド制御部11a’は、コピーセッション管理部12b’に、RECの機能により書込データをコピー先へ送信させ、書込データをボリューム5bへ書き込ませる。そして、書込/読出コマンド制御部11a’は、ホスト装置2へ応答を返す。これにより、書込先に対する、ODXの転送データと書込データとの順序性を保証することができ、コピー元記憶領域5Aとコピー先記憶領域5Bとの同期(等価状態)を確実に保証することができる。
ODXコマンド制御部11b’は、ホスト装置2から受領したODXコマンドに係る制御を行なう。
例えば、ODXコマンド制御部11b’は、ボリューム5aに記憶されたデータ(転送データ)をボリューム5bへ転送することを指示するODXコマンドを受信すると、ODXセッションの起動を、セッション管理部12に指示する。
また、ODXコマンド制御部11b’は、ODXセッション管理部12a’による転送データのODXセッション(転送処理)と、コピーセッション管理部12b’による後述するコピー先転送コマンドの発行とが完了してから、ODXコマンドに対する応答をホスト装置2へ送信する。
RECバッファ管理部(バッファ管理部)13’は、RECのコンシステンシモードでCM3Aにより利用されるRECバッファ(バッファ)13aを管理する。
例えば、RECバッファ管理部13’は、RECが等価状態の場合、コピーセッション管理部12b’によるコピーの開始に応じて、コピー先転送コマンドをRECバッファ13aへ格納する。また、RECバッファ管理部13’は、第1実施形態のRECバッファ管理部13と同様の所定のタイミングで、RECバッファ13aに格納されたコピー先転送コマンドを、ストレージ装置1Bへ送信(バッファ転送)する。
具体的には、RECバッファ管理部13’は、コピーセッション管理部12b’からRECセッションのコピー先(ボリューム5d)へのコピー先転送コマンドを渡されると、渡された順でコピー先転送コマンドをRECバッファ13aに格納する。
このように、RECバッファ管理部13’は、ODXセッションによる転送先(ボリューム5b)への転送データの書き込みとは非同期で、コピー先(ボリューム5d)へコピー先転送コマンドを送信する。
なお、RECバッファ管理部13’は、RECがコピー中状態の場合、バックグラウンドで動作するODXセッションにより転送先(ボリューム5b)に書き込まれた転送データを、RECバッファ13aに格納する。また、RECバッファ管理部13’は、RECが等価状態又はコピー中状態である場合、コピー元記憶領域5Aでの更新データを、RECバッファ13aに格納する。
図15は、図13に示すRECバッファ管理部13’の処理の一例を説明する図である。図15に示すように、RECバッファ管理部13’は、更新データの書き込みやコピー先転送コマンドの発行がされた順に、更新データ又はコピー先転送コマンドをRECバッファ13aにおける所定サイズのブロックに格納していく。RECバッファ管理部13’は、RECバッファ13aのブロックがいっぱいになると、次のブロックに切り替えて、更新データ又はコピー先転送コマンドの格納を行なう。
ここで、RECによるバッファ転送によってコピー先へ送信された、RECバッファ13a内のデータは、ブロックごとにコピー先のボリューム5にコピーされる。このように、コンシステンシモードでは、ブロック単位でコピー先のボリューム5へのコピーが行なわれるため、ブロック間での順序性が保証される。
例えば、図15に示すように、ODXの転送先のボリューム5において、領域Aの更新データがRECバッファ13aのブロックに格納された状態で、ODXに係る転送データが領域Aに書き込まれた場合を想定する。この場合、RECバッファ管理部13’は、領域Aに係るコピー先転送コマンドを当該ブロックへ格納する。
しかし、当該ブロックは、領域Aについて、更新データとコピー先転送コマンドとが混在することになる。この場合、コピー先では、同一ブロック内の順序性は保証されないため、転送データが更新データにより上書きされてしまうことがある。
そこで、RECバッファ管理部13’は、コピー先転送コマンドをRECバッファ13aへ格納する際に、ブロックに格納されたデータのアドレスを管理する管理情報(図示省略)をメモリ32等から参照する。そして、RECバッファ管理部13’は、管理情報に基づき、更新データが同じブロックに格納されていると判断すると、ブロックに空きがあっても、ブロックを次のブロックに切り替えて(バッファ切替を行ない)、切り替えたブロックにコピー先転送コマンドを格納する。
これにより、コピー先転送コマンドがRECバッファ13a経由でコピー先へ送信される場合であっても、ブロック内での順序性を保証することができる。
なお、RECバッファ管理部13’は、RECが等価状態の場合に、書込/読出コマンド制御部11a'が、バックグラウンドでODXによる転送が動作している転送先(ボリューム5b)への書込コマンドを受領した場合にも、同様の処理を行なってよい。
セッション管理部12は、第1実施形態とは異なるODXセッション管理部12a’及びコピーセッション管理部12b’をそなえる。
ODXセッション管理部(転送処理部)12a’は、RECが等価状態の場合、ODXコマンドの受信に応じて、転送元であるボリューム5aから転送データを読み出し、転送先であるボリューム5bに書き込むODXセッションを起動(開始)する。
具体的には、ODXセッション管理部12a’は、ODXコマンドの受信に応じてODXセッションを起動して、バックグラウンドで転送データの転送を行なう。
コピーセッション管理部(コピー処理部)12b’は、RECが等価状態の場合、ODXセッションの開始とともに、RECセッション(コピー処理)において、ODXの転送先(コピー元のボリューム5b)に対応するコピー先記憶領域5Bのボリューム5d(対応領域)への転送データのコピーを開始する。すなわち、コピーセッション管理部12b’は、ODXセッションが開始されたこと(ODXコマンドを受信したこと)をトリガに、RECセッションにおける転送データのコピーを開始する。
具体的には、コピーセッション管理部12b’は、RECが等価状態の場合、コピーの開始処理において、コピー先転送コマンドを発行する。
ここで、コピー先転送コマンドは、ODXセッションを起動するための制御情報(ODX制御情報)である。例えば、コピー先転送コマンドには、コピー範囲のボリューム番号及びLogical Block Address(LBA)が含まれる。コピーセッション管理部12b’は、例えば、ホスト装置2からのODXコマンドを改変してコピー先転送コマンドを生成してもよいし、ODXコマンドに類するコマンドやストレージ装置1間での通信に用いられる指示を生成してコピー先転送コマンドとしてもよい。
このように、ODXコマンド制御部11b’は、ODXの転送元(ボリューム5a)に対応するコピー先(ボリューム5c)に記憶された、転送データに対応するコピー先転送データを、ODXの転送先(ボリューム5b)に対応するコピー先(ボリューム5d)に転送することを指示するコピー先転送コマンドを、コピー先に発行する。
ここで、コピーセッション管理部12b’が起動するコピーは、RECが同期モード及びコンシステンシモードのいずれのコピーモードであるかに応じて、以下のように実行される。
・同期モードの場合
コピーセッション管理部12b’は、同期モードの場合、開始したコピーにおいて、発行したコピー先転送コマンドを、RECの機能により他のストレージ装置1Bへ送信する。
なお、同期モードの場合、ODXコマンド制御部11b’は、ODXセッション管理部12a’によるODXセッションの起動処理(開始処理)と、コピーセッション管理部12b’によるコピー先転送コマンドの送信とが完了してから、ホスト装置2へ応答を送信する。
・コンシステンシモードの場合
コピーセッション管理部12b’は、コンシステンシモードの場合、開始したコピーにおいて、生成したコピー先転送コマンドをRECバッファ管理部13’に渡し、RECバッファ管理部13’にRECバッファ13aへの格納を指示する。RECバッファ13aに格納されたコピー先転送コマンドは、上述のように、RECバッファ管理部13’により、RECの機能により所定のタイミングでストレージ装置1Bへ送信される。
なお、コンシステンシモードの場合、ODXコマンド制御部11b’は、ODXセッション管理部12a’によるODXセッションの起動処理と、RECバッファ管理部13’によるRECバッファ13aへのコピー先転送コマンドの格納とが完了してから、ホスト装置2へ応答を送信する。
以上のように、同期モードでは、ODXコマンド制御部11b’は、ODXによるODXセッションの起動と、RECによるコピー先転送コマンドの送信とが完了してからホスト装置2へ応答を返す。従って、ホスト装置2への応答において、コピー元記憶領域5Aとコピー先記憶領域5Bとの同期(等価状態)を確実に保証することができる。
また、コンシステンシモードでは、ODXコマンド制御部11b’は、ODXによるODXセッションの起動と、RECによるコピー先転送コマンドのRECバッファ13aへの格納とが完了してからホスト装置2へ応答を返す。従って、ホスト装置2への応答において、コピー元記憶領域5Aとコピー先記憶領域5Bとの同期を、非同期のコピーモードであるコンシステンシモードで許容されるレベルで保証することができる。
〔2−2−2〕コピー先ストレージ装置の構成
次に、コピー先ストレージ装置1B(CM3B)の構成について説明する。
図14に示すように、コピー先ストレージ装置1BのCM3Bは、ホストI/F制御部21’、セッション管理部22、RECバッファ管理部23’、RECバッファ23a、及び装置間I/F制御部24’をそなえる。なお、RECバッファ23aは、第1実施形態のものと同様である。
ホストI/F制御部(コピー先コマンド制御部)21’は、第1実施形態に係るホストI/F制御部21と基本的に同様の機能をそなえる。例えば、ホストI/F制御部21’は、ホスト装置2からRECの切り離しコマンドを受信すると、セッション管理部22にRECセッションの停止を指示する。
また、ホストI/F制御部21’は、コピー先転送コマンドに基づくODXの物理的な転送が未完了のコピー先の転送先(ボリューム5d)への読出コマンドをホスト装置2から受領する場合がある。
この場合、ホストI/F制御部21’は、セッション管理部22に、読出元(読出領域)へのODXによる物理的な転送を開始させる。具体的には、ホストI/F制御部21’は、ODXセッション管理部22a’に、ボリューム5dの読出元へのコピー先転送データの書き込みを行なわせる。
そして、ホストI/F制御部21’は、読出元への物理的な転送が完了してから、読出コマンドに係る読出データをホスト装置2へ応答する。具体的には、ホストI/F制御部21’は、転送元(ボリューム5c)から読み出された又は転送先(読出元,ボリューム5d)へ書き込まれたコピー先転送データを、ホスト装置2へ応答する。
このように、ODXの物理的な転送が未完了の転送先(ボリューム5d)への読出コマンドが発行されても、ホストI/F制御部21’により、読出コマンドを契機に、読出元に対するODXによる物理的な転送が開始される。そして、ホストI/F制御部21’により、最新の読出データが読み出され、ホスト装置2へ応答される。これにより、CM3Bは、コピー先ODXセッションをバックグラウンドで実行して処理負荷を低減させつつ、コピー元記憶領域5Aとコピー先記憶領域5Bとの同期(等価状態)を確実に保証することができる。
RECバッファ管理部23’は、RECのコンシステンシモードでCM3Bにより利用されるRECバッファ23aを管理する。
例えば、RECバッファ管理部23’は、RECが等価状態の場合、ストレージ装置1Aから送信(バッファ転送)されたデータ(コピー先転送コマンド)を、RECバッファ23aに格納する。また、RECバッファ管理部23’は、RECバッファ管理部13’と同様の所定のタイミングで、RECバッファ23aに格納されたデータをブロック単位で格納順に読み出し、セッション管理部22に渡す。
セッション管理部22は、第1実施形態のセッション管理部22と基本的に同様である。セッション管理部22は、ODXセッションやRECセッション等のセッションを管理する。
例えば、セッション管理部22は、RECがコピー中状態又は等価状態の場合、ストレージ装置1Bから送信されたRECセッションに係るコピー元記憶領域5Aのデータについて、対応するコピー先記憶領域5Bへの書き込みをDE4に指示する。
セッション管理部22は、ODXセッション管理部22a’をそなえる。
ODXセッション管理部(コピー先転送処理部)22a’は、RECが等価状態の場合、ストレージ装置1Aから受信したコピー先転送コマンドに基づいて、コピー先ODXセッション(コピー先転送処理)を開始する。具体的には、ODXセッション管理部22a’は、当該コマンドで指定された転送元(ボリューム5c)からコピー先転送データを読み出し、転送先(ボリューム5d)に書き込むコピー先ODXセッションをバックグラウンドで起動(開始)する。
なお、ODXセッション管理部22a’は、同期モードの場合には、コピー先転送コマンドを装置間I/F制御部24’から受け取る。また、ODXセッション管理部22a’は、コンシステンシモードの場合には、RECバッファ23aに格納されたコピー先転送コマンドをRECバッファ管理部23’から受け取る。
装置間I/F制御部24’は、第1実施形態の装置間I/F制御部24と基本的に同様である。
また、装置間I/F制御部24’は、RECが等価状態の場合に、バックグラウンドで動作しているODXの転送先(ボリューム5d)への書込データを、ストレージ装置1Aから受領する場合がある。
この場合、装置間I/F制御部24’は、上述した書込/読出コマンド制御部11a’と同様に、書込データの書き込みよりも先に、ODXセッション管理部22a’に、書込先(書込領域)へのODXによる物理的な転送を開始させる。そして、装置間I/F制御部24’は、書込先への書込データの書き込みをDE4に指示する。これにより、書込先に対する、ODXの転送データと書込データとの順序性を保証することができ、ストレージ装置1A及び1Bを正しい等価状態に維持することができる。
〔2−3〕ストレージシステムの動作例
次に、図16〜図26を参照して、上述の如く構成された第2実施形態の一例としてのストレージシステム10の動作例について説明する。
〔2−3−1〕コピー元ストレージ装置がODXコマンドを受信した場合の動作例
はじめに、図16〜図20を参照して、図13に示すコピー元ストレージ装置1AがODXコマンドを受信した場合の動作例について説明する。
図16は、図13に示すコピー元ストレージ装置1AがODXコマンドを受信した場合の処理の一例を示すフローチャートであり、図17は、図16に示すコピー先非同期転送処理の一例を示すフローチャートである。図18は、図17に示すバッファ転送処理の一例を示すフローチャートである。図19は、同期モードの場合の非同期転送処理を説明する図であり、図20は、コンシステンシモードの場合の非同期転送処理を説明する図である。
なお、以下の説明において、図16〜図18における非同期転送処理は、図9及び図10を参照して説明した処理と同一又は略同一であるため、重複した説明は省略する。
図16に示すように、ホスト装置2によりRECのコピー元ストレージ装置1AへODXコマンドが発行されると、ODXコマンド制御部11b’によりODXコマンドが受領される(ステップS41;図19,図20の矢印(1)参照)。
ODXコマンド制御部11b’では、セッション管理部12へ、転送処理の起動が指示される。そして、セッション管理部12により、ODXによる転送先のボリューム5bがRECのコピー元であるか否かの判断(ステップS42)、及び、コピー元である場合にはRECが等価状態であるか否かの判断が行なわれる(ステップS43)。
転送先がコピー元であり(ステップS42のYesルート)、且つ、RECが等価状態である場合(ステップS43のYesルート)、ODXセッション管理部12a’により、非同期転送処理が起動される(ステップS44及び図9のステップS21〜S23)。なお、ステップS44では、ODXセッション管理部12a’は、非同期転送処理の起動により、ODXセッションをバックグラウンドで起動させると(図19及び図20の矢印(2−1)参照)、次のステップS45の処理を実行する。
ステップS45では、コピーセッション管理部12b’により、コピー先ストレージ装置1Bの非同期転送処理が起動される(図17のステップS51〜S56)。ステップS45のコピー先非同期転送処理が完了すると、ホスト装置2へODXコマンドへの応答を返し(ステップS47;図19及び図20の矢印(3)参照)、コピー元ストレージ装置1AがODXコマンドを受領した場合の処理が終了する。
一方、転送先がコピー元ではない(ステップS42のNoルート)、又は、RECが等価状態ではない場合(ステップS43のNoルート)、ODXセッション管理部12a’により、非同期転送処理が起動される(ステップS46)。ステップS46の非同期転送処理が起動されると、処理がステップS47へ移行する。
次に、ステップS45におけるコピー先非同期転送処理について説明する。
図17に示すように、コピー先非同期転送処理では、セッション管理部12により、コピーモードが同期モードであるか否かが判断される(ステップS51)。なお、ステップS51の前後において、コピーセッション管理部12b’は、コピー先ボリューム5cからコピー先ボリューム5dへのコピー先転送データの転送を指示するODX制御情報(コピー先転送コマンド)を発行(作成)する。
コピーモードが同期モードである場合(ステップS51のYesルート)、発行されたODX制御情報は、コピーセッション管理部12b’により、装置間I/F制御部14を介してストレージ装置1Bへ送信される(ステップS52)。
装置間I/F制御部24’によりODX制御情報を受信したストレージ装置1Bでは、ODXセッション管理部22a’により、ODX制御情報に基づく非同期転送処理が起動される(ステップS53及び図9のステップS21〜S23)。なお、ステップS53では、ODXセッション管理部22a’は、非同期転送処理の起動により、ODXセッションをバックグラウンドで起動させると(図19の矢印(2−2)参照)、コピー元ストレージ装置1AにODX起動完了を応答する(ステップS54)。
以上により、同期モードの場合における、コピー元ストレージ装置1AがODXコマンドを受領した場合のコピー先非同期転送処理が終了する。
一方、コピーモードが同期モードではない場合(ステップS51のNoルート)、つまりコンシステンシモードの場合、発行されたODX制御情報は、コピーセッション管理部12b’により、RECバッファ管理部13’へ渡される。RECバッファ管理部13’では、渡されたODX制御情報がRECバッファ13aへ格納される(ステップS55;図20の矢印(2−2)参照)。
そして、RECバッファ管理部13’により、バッファ転送処理が起動され(ステップS56及び図18のステップS61〜S69)、コンシステンシモードの場合における、コピー元ストレージ装置1AがODXコマンドを受領した場合のコピー先非同期転送処理が終了する。
次に、ステップS56におけるバッファ転送処理について説明する。
なお、図18に示すバッファ転送処理は、RECバッファ管理部13’により、バックグラウンドで定期的に起動される。
図18に示すように、RECバッファ管理部13’により、RECバッファ13aに格納されたデータ(ODX制御情報)が読み出され、コピー先へバッファ転送される(ステップS61;図20の矢印(4)参照)。また、コピー先ストレージ装置1Bでは、バッファ転送されてRECバッファ23aに格納されたデータが、RECバッファ管理部23’経由でセッション管理部22により読み出される(ステップS62;図20の矢印(5−1)参照)。そして、セッション管理部22により、読み出されたデータがODX制御情報であるか否かが判断される(ステップS63)。
読み出されたデータがODX制御情報である場合(ステップS63のYesルート)、ODXセッション管理部22a’により、当該ODX制御情報に基づいて、コピー先での非同期転送処理が起動される(ステップS64)。なお、ステップS64では、ODXセッション管理部22a’は、非同期転送処理の起動により、ODXセッションをバックグラウンドで起動させると(図20の矢印(5−2)参照)、次のステップS68の処理を実行する。
一方、RECバッファ23aから読み出されたデータがODX制御情報ではない場合(ステップS63のNoルート)、つまり更新データである場合、セッション管理部22により、RECのコピー先のボリューム5がODXによる転送先であるか否かが判断される(ステップS65)。
ボリューム5(例えばボリューム5d)がODXによる転送先である場合(ステップS65のYesルート)、ODXセッション管理部22a’により、既存のODXによる転送元(ボリューム5c)からボリューム5dへのコピー先転送データの物理的な転送が実行される(ステップS66)。転送が完了した場合、又は、ボリューム5がODXによる転送先ではない場合(ステップS65のNoルート)、装置間I/F制御部24’により、RECのコピー先へRECバッファ13aから読み出した更新データが反映され(ステップS67)、処理がステップS68に移行する。
ステップS68では、RECバッファ管理部23’により、RECバッファ23aからのデータの読み出しが完了したか否かが判断され、完了していない場合(ステップS68のNoルート)、処理がステップS62に移行する。一方、RECバッファ23a内の全てのデータの読み出しが完了した場合(ステップS68のYesルート)、RECバッファ管理部23’により、装置間I/F制御部24’を介して、RECのコピー元へバッファ転送の完了が通知される(ステップS69)。
以上により、RECバッファ管理部13’によるバッファ転送処理が終了する。
〔2−3−2〕コピー先ストレージ装置が読出コマンドを受信した場合の動作例
次に、図21〜図23を参照して、図14に示すコピー先ストレージ装置1Bが読出コマンドを受信した場合の動作例について説明する。
図21は、図14に示すコピー先ストレージ装置1Bが読出コマンドを受信した場合の処理の一例を示すフローチャートである。図22は、同期モードの場合のコピー先読出処理を説明する図であり、図23は、コンシステンシモードの場合のコピー先読出処理を説明する図である。
以下、図13及び図14に示すコピー元及びコピー先のストレージ装置1において、ODXセッションが起動された後、コピー元が故障した場合を想定する。このとき、図22及び図23に示すように、ホスト装置2は、コピー先へ切り離しコマンドを発行し、ホストI/F制御部21’が、切り離しコマンドを受領する(図22,図23の矢印(1−1)参照)。セッション管理部22は、コピー元との等価状態を切り離し(図22,図23の矢印(1−2)参照)、ホスト装置2へ応答を返す(図22,図23の矢印(1−3)参照)。また、ホスト装置2は、コピー元を復旧するため、コピー先へ読出コマンドを発行する。
以上を前提として、図21に示すように、ホストI/F制御部21’が読出コマンドを受領すると(ステップS71;図22,図23の矢印(2)参照)、セッション管理部22により、読出元がODXの転送先であるか否かが判断される(ステップS72)。
読出元がODXの転送先である場合(ステップS72のYesルート)、ODXセッション管理部22a’により、既存のODXによる転送元(ボリューム5c)からボリューム5dへのコピー先転送データの物理的な転送が実行される(ステップS73;図22,図23の矢印(3)参照)。転送が完了した場合、又は、読出元がODXによる転送先ではない場合(ステップS72のNoルート)、ホストI/F制御部21’により、読出コマンドに係るコピー先転送データを含むホスト装置2への応答が送信される(ステップS74)。なお、応答に含まれるコピー先転送データは、ODXの転送処理においてボリューム5cから読み出されたデータ、又は、転送処理が行なわれたボリューム5dから読み出されたデータである。
以上により、コピー先ストレージ装置1Bが読出コマンドを受信した場合の処理が終了する。
なお、ステップS74において、ホストI/F制御部21’は、ホスト装置2へ応答する読出データとして、ステップS73でODXセッション管理部22a’が転送先へ書き込むために転送元から読み出したデータを用いてもよい。
〔2−3−3〕コピー元ストレージ装置が書込コマンドを受信した場合の動作例
次に、図24〜図26を参照して、図13に示すコピー元ストレージ装置1Aが書込コマンドを受信した場合の動作例について説明する。
図24は、図13に示すコピー元ストレージ装置1Aが書込コマンドを受信した場合の処理の一例を示すフローチャートである。図25は、同期モードの場合のコピー元書込処理を説明する図であり、図26は、コンシステンシモードの場合のコピー元書込処理を説明する図である。
図24に示すように、コピー元の書込/読出コマンド制御部11a’がホスト装置2からの書込コマンドを受領すると(ステップS81;図25,図26の矢印(1)参照)、セッション管理部12ODXセッション管理部12a’により、書込領域がODXの転送先であるか否かが判断される(ステップS82)。
書込先(例えばボリューム5b)がODXの転送先である場合(ステップS82のYesルート)、ODXセッション管理部12a’により、既存のODXによる転送元(ボリューム5a)からボリューム5bへの転送データの物理的な転送が実行される(ステップS83;図25,図26の矢印(2)参照)。転送が完了した場合、又は、書込先がODXによる転送先ではない場合(ステップS82のNoルート)、書込/読出コマンド制御部11a’により、書込コマンドに係る書込(更新)データがボリューム5bへ書き込まれる(ステップS84;図25,図26の矢印(3)参照)。
次いで、コピーセッション管理部12b’により、コピーモードが同期モードであるか否かが判断される(ステップS85)。同期モードである場合(ステップS85のYesルート)、セッション管理部12により、RECによる書込データの送信のため、装置間I/F制御部14を介して書込データがストレージ装置1Bへ送信される(ステップS86;図25の矢印(4)参照)。
また、ストレージ装置1Bでは、ODXセッション管理部22a’により、RECによる書込データのコピー先のボリューム5がODXの転送先であるか否かが判断される(ステップS87)。
コピー先(例えばボリューム5d)がODXの転送先である場合(ステップS87のYesルート)、ODXセッション管理部22a’により、既存のODXによる転送元(ボリューム5c)からボリューム5dへのコピー先転送データの物理的な転送が実行される(ステップS88;図25の矢印(5)参照)。転送が完了した場合、又は、コピー先がODXによる転送先ではない場合(ステップS87のNoルート)、装置間I/F制御部24’により、RECにより受信した書込データがボリューム5dへ書き込まれる(ステップS89;図25の矢印(6)参照)。
また、装置間I/F制御部24’により、RECのコピー元ストレージ装置1Aへ書込データのコピー完了が応答される(ステップS90)。コピー先でのコピー完了の応答を受信すると、ストレージ装置1Aでは、書込/読出コマンド制御部11a’により、ホスト装置2へ書込コマンドへの応答が送信される(ステップS91;図25の矢印(7)参照)。
以上により、同期モードの場合における、コピー元ストレージ装置1Aが書込コマンドを受領した場合の処理が終了する。
一方、コピーモードが同期モードではない場合(ステップS85のNoルート)、つまりコンシステンシモードの場合、書込/読出コマンド制御部11a’により、ホスト装置2へ書込コマンドへの応答が送信される(ステップS92;図26の矢印(4)参照)。
また、コピーセッション管理部12b’により、書込データがRECバッファ管理部13’へ渡される。RECバッファ管理部13’では、渡された書込データがRECバッファ13aへ格納される(ステップS93;図26の矢印(5)参照)。
そして、RECバッファ管理部13’により、バッファ転送処理が起動される(ステップS94及び図18のステップS61〜S69)。
なお、バッファ転送処理では、上述のように、RECバッファ管理部13’により、所定のタイミングでRECバッファ13aに格納されたデータ(書込データ)が読み出され、コピー先へバッファ転送される(図26の矢印(6)参照)。また、コピー先のセッション管理部22により、RECバッファ管理部23’経由でバッファ転送された書込データがRECバッファ23aから読み出される(図26の矢印(7)参照)。さらに、既存のODXによる転送元(ボリューム5c)から、書込データのコピー先であるODXの転送先(ボリューム5d)へのコピー先転送データの物理的な転送が実行される(図26の矢印(8)参照)。そして、装置間I/F制御部24’により、RECのコピー先へ書込データが反映される(図26の矢印(9)参照)。
以上により、コンシステンシモードの場合における、コピー元ストレージ装置1Aが書込コマンドを受領した場合の処理が終了する。
〔3〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、かかる特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
例えば、上述したコピー元CM3Aの各機能を任意の組み合わせで統合又は分散してもよい。同様に、コピー先CM3Bの各機能を任意の組み合わせで統合又は分散してもよい。
また、上述したCM3は、コピー元がCM3Aの機能をそなえ、コピー先がCM3Bの機能をそなえるものとして説明したが、CM3は、自CM3がコピー元/先のいずれにも対応できるように、CM3A及び3B双方の機能をそなえてもよい。
さらに、上述したストレージシステム10は、図2に示すバックアップを行なうものとして説明したが、これに限定されるものではなく、例えば、図27又は図28に示す態様のバックアップを行なってもよい。
図27及び図28は、それぞれ、図1に示すストレージシステム10によるバックアップの態様の一例を説明する図である。
ストレージシステム10は、図27に示すように、EC等の筐体内コピーを実行してもよい。この場合、コピー先記憶領域5Aは、記憶装置41により実現される1以上の物理又は論理ボリュームであり、コピー先記憶領域5Bは、記憶装置41により実現される他の1以上の物理又は論理ボリュームである。なお、ストレージ装置1Aは、1のCM3Aがコピー元記憶領域5A及びコピー先記憶領域5Bを管理してもよいし、2つのCM3Aが、Direct Memory Access(DMA)ポート等を介した通信により、それぞれコピー元記憶領域5A及びコピー先記憶領域5Bを管理してもよい。また、図27に示すバックアップが行なわれる場合、第2実施形態に係るストレージ装置1Aでは、ODXセッション管理部12a’が、コピーセッション管理部12b’が発行したコピー先転送コマンドに基づいて、コピー先転送処理を開始すればよい。
または、ストレージシステム10は、図28に示すように、ODXを1つのボリューム内で行なってもよい。この場合においても、ストレージシステム10には、上述した第1又は第2実施形態を適用することができる。
なお、第1及び第2実施形態に係るCM3(ストレージ制御装置)の各種機能の全部もしくは一部は、コンピュータ(CPU,情報処理装置,各種端末を含む)が所定のプログラム(制御プログラム)を実行することによって実現されてもよい。
そのプログラムは、例えばフレキシブルディスク、CD、DVD、ブルーレイディスク等のコンピュータ読取可能な記録媒体(例えば図3に示す記録媒体39b)に記録された形態で提供される。なお、CDとしては、CD−ROM、CD−R、CD−RW等が挙げられる。また、DVDとしては、DVD−ROM、DVD−RAM、DVD−R、DVD−RW、DVD+R、DVD+RW等が挙げられる。また、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信回線を介してコンピュータに提供するようにしてもよい。
〔3〕付記
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
一以上の記憶ボリュームを持つコピー元記憶領域に記憶されたデータを、前記コピー元記憶領域に対応する、一以上の記憶ボリュームを持つコピー先記憶領域へコピーするコピー処理を実行するストレージ制御装置であって、
前記コピー元記憶領域内の第1領域に記憶されたデータを前記コピー元記憶領域内の第2領域へ転送することを指示する転送コマンドを、情報処理装置から受信するコマンド制御部と、
前記転送コマンドの受信に応じて、前記第1領域から転送データを読み出し、前記第2領域に書き込む転送処理を開始する転送処理部と、
前記転送処理の開始とともに、前記コピー処理において、前記第2領域に対応する前記コピー先記憶領域の対応領域への前記転送データのコピーを開始するコピー処理部と、
をそなえることを特徴とする、ストレージ制御装置。
(付記2)
前記転送処理部は、開始した前記転送処理において、前記転送コマンドに対する応答時間内に転送可能な、前記転送データの少なくとも一部の転送可能データについて、前記第1領域から読み出して前記第2領域に書き込み、
前記コピー処理部は、前記コピーの開始処理において、前記転送可能データの前記対応領域へのコピーを開始し、
前記コマンド制御部は、前記転送可能データに関する情報を含む応答を前記情報処理装置へ送信し、前記情報処理装置から、前記第1領域のうちの前記転送処理部が転送を行なわなかった領域に記憶されたデータを前記第2領域へ転送することを指示する新たな転送コマンドを受信する、
ことを特徴とする、付記1記載のストレージ制御装置。
(付記3)
前記コピー処理部は、開始した前記コピーにおいて、前記応答時間内に前記転送可能データを前記対応領域へコピーし、
前記コマンド制御部は、前記転送処理部による前記転送可能データの転送処理と、前記コピー処理部による前記転送可能データのコピーとが完了してから、前記情報処理装置へ前記応答を送信する、
ことを特徴とする、付記2記載のストレージ制御装置。
(付記4)
前記ストレージ制御装置は、前記コピー先記憶領域を有するストレージ装置にそなえられ、
前記コピー先記憶領域は、前記ストレージ装置とは異なる他のストレージ装置にそなえられ、
前記ストレージ制御装置は、
バッファと、
前記コピー処理部による前記コピーの開始に応じて、前記応答時間内に前記転送可能データを前記バッファへ格納し、所定のタイミングで、前記バッファに格納された前記転送可能データを、前記他のストレージ装置へ送信するバッファ管理部と、をそなえ、
前記コマンド制御部は、前記転送処理部による前記転送可能データの転送処理と、前記バッファ管理部による前記バッファへの前記転送可能データの格納とが完了してから、前記情報処理装置へ前記応答を送信する、
ことを特徴とする、付記2記載のストレージ制御装置。
(付記5)
前記ストレージ制御装置は、前記第1領域に記憶されたデータを前記コピー先記憶領域の第3領域にコピーするとともに、前記第2領域に記憶されたデータを前記コピー先記憶領域の前記対応領域である第4領域にコピーする前記コピー処理を実行し、
前記コピー処理部は、前記コピーの開始処理において、前記第3領域に記憶された前記転送データに対応するコピー先転送データを、前記第4領域に転送することを指示するコピー先転送コマンドを発行し、
前記コマンド制御部は、前記転送処理部による前記転送処理の開始処理と、前記コピー処理部による前記コピー先転送コマンドの発行とが完了してから、前記転送コマンドに対する応答を前記情報処理装置へ送信する、
ことを特徴とする、付記1記載のストレージ制御装置。
(付記6)
前記ストレージ制御装置は、前記コピー先記憶領域を有するストレージ装置にそなえられ、
前記コピー先記憶領域は、前記ストレージ装置とは異なる他のストレージ装置にそなえられ、
前記コピー処理部は、開始した前記コピーにおいて、発行した前記コピー先転送コマンドを、前記他のストレージ装置へ送信し、
前記コマンド制御部は、前記転送処理部による前記転送処理の開始処理と、前記コピー処理部による前記コピー先転送コマンドの送信とが完了してから、前記応答を前記情報処理装置へ送信する、
ことを特徴とする、付記5記載のストレージ制御装置。
(付記7)
前記ストレージ制御装置は、前記コピー先記憶領域及び前記コピー先記憶領域を有するストレージ装置にそなえられ、
前記転送処理部は、前記コピー処理部が発行した前記コピー先転送コマンドに基づいて、前記第3領域から前記コピー先転送データを読み出し、前記第4領域に書き込むコピー先転送処理を開始する、
ことを特徴とする、付記5記載のストレージ制御装置。
(付記8)
前記ストレージ制御装置は、前記コピー先記憶領域を有するストレージ装置にそなえられ、
前記コピー先記憶領域は、前記ストレージ装置とは異なる他のストレージ装置にそなえられ、
前記ストレージ制御装置は、
バッファと、
前記コピー処理部による前記コピーの開始に応じて、前記コピー先転送コマンドを前記バッファへ格納し、所定のタイミングで、前記バッファに格納された前記コピー先転送コマンドを、前記他のストレージ装置へ送信するバッファ管理部と、をそなえ、
前記コマンド制御部は、前記転送処理部による前記転送処理の開始処理と、前記バッファ管理部による前記バッファへの前記コピー先転送コマンドの格納とが完了してから、前記情報処理装置へ前記応答を送信する、
ことを特徴とする、付記5記載のストレージ制御装置。
(付記9)
前記コマンド制御部は、前記転送処理部による前記転送データの書き込みが未完了の前記第2領域に対する書込コマンドを前記情報処理装置から受信すると、前記転送処理部に、前記第2領域への前記転送データの書き込みを行なわせてから、前記第2領域へ前記書込コマンドに係る書込データを書き込む、
ことを特徴とする、付記5〜8のいずれか1項記載のストレージ制御装置。
(付記10)
一以上の記憶ボリュームを持つコピー元記憶領域に記憶されたデータを、前記コピー元記憶領域に対応する、一以上の記憶ボリュームを持つコピー先記憶領域へコピーするコピー処理を実行するストレージ制御装置をそなえるストレージシステムであって、
前記ストレージ制御装置は、
前記コピー元記憶領域内の第1領域に記憶されたデータを前記コピー元記憶領域内の第2領域へ転送することを指示する転送コマンドを、情報処理装置から受信するコマンド制御部と、
前記転送コマンドの受信に応じて、前記第1領域から転送データを読み出し、前記第2領域に書き込む転送処理を開始する転送処理部と、
前記転送処理の開始とともに、前記コピー処理において、前記第2領域に対応する前記コピー先記憶領域の対応領域への前記転送データのコピーを開始するコピー処理部と、
をそなえることを特徴とする、ストレージシステム。
(付記11)
前記転送処理部は、開始した前記転送処理において、前記転送コマンドに対する応答時間内に転送可能な、前記転送データの少なくとも一部の転送可能データについて、前記第1領域から読み出して前記第2領域に書き込み、
前記コピー処理部は、前記コピーの開始処理において、前記転送可能データの前記対応領域へのコピーを開始し、
前記コマンド制御部は、前記転送可能データに関する情報を含む応答を前記情報処理装置へ送信し、前記情報処理装置から、前記第1領域のうちの前記転送処理部が転送を行なわなかった領域に記憶されたデータを前記第2領域へ転送することを指示する新たな転送コマンドを受信する、
ことを特徴とする、付記10記載のストレージシステム。
(付記12)
前記コピー処理部は、開始した前記コピーにおいて、前記応答時間内に前記転送可能データを前記対応領域へコピーし、
前記コマンド制御部は、前記転送処理部による前記転送可能データの転送処理と、前記コピー処理部による前記転送可能データのコピーとが完了してから、前記情報処理装置へ前記応答を送信する、
ことを特徴とする、付記11記載のストレージシステム。
(付記13)
前記ストレージ制御装置及び前記コピー先記憶領域を有するコピー元ストレージ装置と、前記コピー先記憶領域を有するコピー先ストレージ装置とをそなえ、
前記ストレージ制御装置は、
バッファと、
前記コピー処理部による前記コピーの開始に応じて、前記応答時間内に前記転送可能データを前記バッファへ格納し、所定のタイミングで、前記バッファに格納された前記転送可能データを、前記他のストレージ装置へ送信するバッファ管理部と、をそなえ、
前記コマンド制御部は、前記転送処理部による前記転送可能データの転送処理と、前記バッファ管理部による前記バッファへの前記転送可能データの格納とが完了してから、前記情報処理装置へ前記応答を送信する、
ことを特徴とする、付記11記載のストレージシステム。
(付記14)
前記ストレージ制御装置は、前記第1領域に記憶されたデータを前記コピー先記憶領域の第3領域にコピーするとともに、前記第2領域に記憶されたデータを前記コピー先記憶領域の前記対応領域である第4領域にコピーする前記コピー処理を実行し、
前記コピー処理部は、前記コピーの開始処理において、前記第3領域に記憶された前記転送データに対応するコピー先転送データを、前記第4領域に転送することを指示するコピー先転送コマンドを発行し、
前記コマンド制御部は、前記転送処理部による前記転送処理の開始処理と、前記コピー処理部による前記コピー先転送コマンドの発行とが完了してから、前記転送コマンドに対する応答を前記情報処理装置へ送信する、
ことを特徴とする、付記10記載のストレージシステム。
(付記15)
前記ストレージ制御装置及び前記コピー先記憶領域を有するコピー元ストレージ装置と、前記コピー先記憶領域を有するコピー先ストレージ装置とをそなえ、
前記コピー先ストレージ装置は、
前記コピー先転送コマンドに基づいて、前記第3領域から前記コピー先転送データを読み出し、前記第4領域に書き込むコピー先転送処理を開始するコピー先転送処理部と、
前記コピー先転送処理部による前記コピー先転送データの書き込みが未完了の前記第4領域に対する読出コマンドを前記情報処理装置から受信すると、前記コピー先転送処理部に、前記第4領域への前記コピー先転送データの書き込みを行なわせてから、前記読出コマンドに係る読出データを前記情報処理装置へ応答するコピー先コマンド制御部と、
を有するコピー先ストレージ制御装置をそなえる、
ことを特徴とする、付記14記載のストレージシステム。
(付記16)
一以上の記憶ボリュームを持つコピー元記憶領域に記憶されたデータを、前記コピー元記憶領域に対応する、一以上の記憶ボリュームを持つコピー先記憶領域へコピーするコピー処理を実行するコンピュータに、
前記コピー元記憶領域内の第1領域に記憶されたデータを前記コピー元記憶領域内の第2領域へ転送することを指示する転送コマンドを、情報処理装置から受信し、
前記転送コマンドの受信に応じて、前記第1領域から転送データを読み出し、前記第2領域に書き込む転送処理を開始し、
前記転送処理の開始とともに、前記コピー処理において、前記第2領域に対応する前記コピー先記憶領域の対応領域への前記転送データのコピーを開始する、
処理を実行させることを特徴とする、制御プログラム。
(付記17)
開始した前記転送処理において、前記転送コマンドに対する応答時間内に転送可能な、前記転送データの少なくとも一部の転送可能データについて、前記第1領域から読み出して前記第2領域に書き込み、
前記コピーの開始処理において、前記転送可能データの前記対応領域へのコピーを開始し、
前記転送可能データに関する情報を含む応答を前記情報処理装置へ送信し、
前記情報処理装置から、前記第1領域のうちの転送を行なわなかった領域に記憶されたデータを前記第2領域へ転送することを指示する新たな転送コマンドを受信する、
処理を前記コンピュータに実行させることを特徴とする、付記16記載の制御プログラム。
(付記18)
開始した前記コピーにおいて、前記応答時間内に前記転送可能データを前記対応領域へコピーし、
前記転送可能データの転送処理と、前記転送可能データのコピーとが完了してから、前記情報処理装置へ前記応答を送信する、
ことを特徴とする、付記17記載の制御プログラム。
(付記19)
前記コンピュータは、前記コピー先記憶領域を有するストレージ装置にそなえられ、
前記コピー先記憶領域は、前記ストレージ装置とは異なる他のストレージ装置にそなえられ、
前記コピーの開始に応じて、前記応答時間内に前記転送可能データをバッファへ格納し、
所定のタイミングで、前記バッファに格納された前記転送可能データを、前記他のストレージ装置へ送信する、
処理を前記コンピュータに実行させ、
前記転送可能データの転送処理と、前記バッファへの前記転送可能データの格納とが完了してから、前記情報処理装置へ前記応答を送信する、
ことを特徴とする、付記17記載の制御プログラム。
(付記20)
前記第1領域に記憶されたデータを前記コピー先記憶領域の第3領域にコピーするとともに、前記第2領域に記憶されたデータを前記コピー先記憶領域の前記対応領域である第4領域にコピーする前記コピー処理を実行し、
前記コピーの開始処理において、前記第3領域に記憶された前記転送データに対応するコピー先転送データを、前記第4領域に転送することを指示するコピー先転送コマンドを発行し、
前記転送処理の開始処理と、前記コピー先転送コマンドの発行とが完了してから、前記転送コマンドに対する応答を前記情報処理装置へ送信する、
ことを特徴とする、付記16記載の制御プログラム。
1,1A,1B ストレージ装置
2 ホスト装置
3,3A,3B コントローラモジュール(ストレージ制御装置)
4,4A,4B ディスクエンクロージャ
5,5a〜5d ボリューム(記憶領域,第1〜第4領域)
5A コピー元記憶領域
5B コピー先記憶領域
10 ストレージシステム
11 ホストI/F制御部(コマンド制御部)
11a,11a’ 書込/読出コマンド制御部
11b,11b’ ODXコマンド制御部
11c コピーコマンド制御部
12,22 セッション管理部
12a,12a’ ODXセッション管理部(転送処理部)
12b,12b’ コピーセッション管理部(コピー処理部)
13,13’,23,23’ RECバッファ管理部
13a,23a RECバッファ
14,24,24’ 装置間I/F制御部
21,21’ ホストI/F制御部(コピー先コマンド制御部)
22a’ ODXセッション管理部(コピー先転送処理部)
31 CPU
32 メモリ
33 チャネルアダプタ
34 リモートアダプタ
35 ディスクインタフェース
36 記憶部
37 入力部
38 読取部
39a,39b 記録媒体
41 ドライブ(記憶装置)

Claims (10)

  1. 一以上の記憶ボリュームを持つコピー元記憶領域に記憶されたデータを、前記コピー元記憶領域に対応する、一以上の記憶ボリュームを持つコピー先記憶領域へコピーするコピー処理を実行するストレージ制御装置であって、
    前記コピー元記憶領域内の第1領域に記憶されたデータを前記コピー元記憶領域内の第2領域へ転送することを指示する転送コマンドを、情報処理装置から受信するコマンド制御部と、
    前記転送コマンドの受信に応じて、前記第1領域から転送データを読み出し、前記第2領域に書き込む転送処理を開始する転送処理部と、
    前記転送処理の開始とともに、前記コピー処理において、前記第2領域に対応する前記コピー先記憶領域の対応領域への前記転送データのコピーを開始するコピー処理部と、
    をそなえることを特徴とする、ストレージ制御装置。
  2. 前記転送処理部は、開始した前記転送処理において、前記転送コマンドに対する応答時間内に転送可能な、前記転送データの少なくとも一部の転送可能データについて、前記第1領域から読み出して前記第2領域に書き込み、
    前記コピー処理部は、前記コピーの開始処理において、前記転送可能データの前記対応領域へのコピーを開始し、
    前記コマンド制御部は、前記転送可能データに関する情報を含む応答を前記情報処理装置へ送信し、前記情報処理装置から、前記第1領域のうちの前記転送処理部が転送を行なわなかった領域に記憶されたデータを前記第2領域へ転送することを指示する新たな転送コマンドを受信する、
    ことを特徴とする、請求項1記載のストレージ制御装置。
  3. 前記コピー処理部は、開始した前記コピーにおいて、前記応答時間内に前記転送可能データを前記対応領域へコピーし、
    前記コマンド制御部は、前記転送処理部による前記転送可能データの転送処理と、前記コピー処理部による前記転送可能データのコピーとが完了してから、前記情報処理装置へ前記応答を送信する、
    ことを特徴とする、請求項2記載のストレージ制御装置。
  4. 前記ストレージ制御装置は、前記コピー先記憶領域を有するストレージ装置にそなえられ、
    前記コピー先記憶領域は、前記ストレージ装置とは異なる他のストレージ装置にそなえられ、
    前記ストレージ制御装置は、
    バッファと、
    前記コピー処理部による前記コピーの開始に応じて、前記応答時間内に前記転送可能データを前記バッファへ格納し、所定のタイミングで、前記バッファに格納された前記転送可能データを、前記他のストレージ装置へ送信するバッファ管理部と、をそなえ、
    前記コマンド制御部は、前記転送処理部による前記転送可能データの転送処理と、前記バッファ管理部による前記バッファへの前記転送可能データの格納とが完了してから、前記情報処理装置へ前記応答を送信する、
    ことを特徴とする、請求項2記載のストレージ制御装置。
  5. 前記ストレージ制御装置は、前記第1領域に記憶されたデータを前記コピー先記憶領域の第3領域にコピーするとともに、前記第2領域に記憶されたデータを前記コピー先記憶領域の前記対応領域である第4領域にコピーする前記コピー処理を実行し、
    前記コピー処理部は、前記コピーの開始処理において、前記第3領域に記憶された前記転送データに対応するコピー先転送データを、前記第4領域に転送することを指示するコピー先転送コマンドを発行し、
    前記コマンド制御部は、前記転送処理部による前記転送処理の開始処理と、前記コピー処理部による前記コピー先転送コマンドの発行とが完了してから、前記転送コマンドに対する応答を前記情報処理装置へ送信する、
    ことを特徴とする、請求項1記載のストレージ制御装置。
  6. 前記ストレージ制御装置は、前記コピー先記憶領域を有するストレージ装置にそなえられ、
    前記コピー先記憶領域は、前記ストレージ装置とは異なる他のストレージ装置にそなえられ、
    前記コピー処理部は、開始した前記コピーにおいて、発行した前記コピー先転送コマンドを、前記他のストレージ装置へ送信し、
    前記コマンド制御部は、前記転送処理部による前記転送処理の開始処理と、前記コピー処理部による前記コピー先転送コマンドの送信とが完了してから、前記応答を前記情報処理装置へ送信する、
    ことを特徴とする、請求項5記載のストレージ制御装置。
  7. 前記ストレージ制御装置は、前記コピー先記憶領域及び前記コピー先記憶領域を有するストレージ装置にそなえられ、
    前記転送処理部は、前記コピー処理部が発行した前記コピー先転送コマンドに基づいて、前記第3領域から前記コピー先転送データを読み出し、前記第4領域に書き込むコピー先転送処理を開始する、
    ことを特徴とする、請求項5記載のストレージ制御装置。
  8. 前記ストレージ制御装置は、前記コピー先記憶領域を有するストレージ装置にそなえられ、
    前記コピー先記憶領域は、前記ストレージ装置とは異なる他のストレージ装置にそなえられ、
    前記ストレージ制御装置は、
    バッファと、
    前記コピー処理部による前記コピーの開始に応じて、前記コピー先転送コマンドを前記バッファへ格納し、所定のタイミングで、前記バッファに格納された前記コピー先転送コマンドを、前記他のストレージ装置へ送信するバッファ管理部と、をそなえ、
    前記コマンド制御部は、前記転送処理部による前記転送処理の開始処理と、前記バッファ管理部による前記バッファへの前記コピー先転送コマンドの格納とが完了してから、前記情報処理装置へ前記応答を送信する、
    ことを特徴とする、請求項5記載のストレージ制御装置。
  9. 一以上の記憶ボリュームを持つコピー元記憶領域に記憶されたデータを、前記コピー元記憶領域に対応する、一以上の記憶ボリュームを持つコピー先記憶領域へコピーするコピー処理を実行するストレージ制御装置をそなえるストレージシステムであって、
    前記ストレージ制御装置は、
    前記コピー元記憶領域内の第1領域に記憶されたデータを前記コピー元記憶領域内の第2領域へ転送することを指示する転送コマンドを、情報処理装置から受信するコマンド制御部と、
    前記転送コマンドの受信に応じて、前記第1領域から転送データを読み出し、前記第2領域に書き込む転送処理を開始する転送処理部と、
    前記転送処理の開始とともに、前記コピー処理において、前記第2領域に対応する前記コピー先記憶領域の対応領域への前記転送データのコピーを開始するコピー処理部と、
    をそなえることを特徴とする、ストレージシステム。
  10. 一以上の記憶ボリュームを持つコピー元記憶領域に記憶されたデータを、前記コピー元記憶領域に対応する、一以上の記憶ボリュームを持つコピー先記憶領域へコピーするコピー処理を実行するコンピュータに、
    前記コピー元記憶領域内の第1領域に記憶されたデータを前記コピー元記憶領域内の第2領域へ転送することを指示する転送コマンドを、情報処理装置から受信し、
    前記転送コマンドの受信に応じて、前記第1領域から転送データを読み出し、前記第2領域に書き込む転送処理を開始し、
    前記転送処理の開始とともに、前記コピー処理において、前記第2領域に対応する前記コピー先記憶領域の対応領域への前記転送データのコピーを開始する、
    処理を実行させることを特徴とする、制御プログラム。
JP2013132591A 2013-06-25 2013-06-25 ストレージ制御装置,ストレージシステム,および制御プログラム Expired - Fee Related JP6136629B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2013132591A JP6136629B2 (ja) 2013-06-25 2013-06-25 ストレージ制御装置,ストレージシステム,および制御プログラム
EP14169631.0A EP2819016B1 (en) 2013-06-25 2014-05-23 Storage controller, storage system, and control program
US14/287,244 US9720621B2 (en) 2013-06-25 2014-05-27 Storage controller, storage system, and non-transitory computer-readable storage medium having stored therein control program
US15/632,432 US20170293444A1 (en) 2013-06-25 2017-06-26 Storage controller, storage system, and non-transitory computer-readable storage medium having stored therein control program

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JP2015007880A true JP2015007880A (ja) 2015-01-15
JP6136629B2 JP6136629B2 (ja) 2017-05-31

Family

ID=50774689

Family Applications (1)

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

Country Status (3)

Country Link
US (2) US9720621B2 (ja)
EP (1) EP2819016B1 (ja)
JP (1) JP6136629B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3224729A1 (en) * 2014-11-25 2017-10-04 Lantiq Beteiligungs-GmbH & Co. KG Memory management device
US10078448B2 (en) * 2015-07-08 2018-09-18 Samsung Electronics Co., Ltd. Electronic devices and memory management methods thereof
US10324635B1 (en) * 2016-03-22 2019-06-18 EMC IP Holding Company LLC Adaptive compression for data replication in a storage system
US10565058B1 (en) 2016-03-30 2020-02-18 EMC IP Holding Company LLC Adaptive hash-based data replication in a storage system
US10176120B2 (en) 2017-02-22 2019-01-08 International Business Machines Corporation Cache prefetching in offloaded data transfer (ODX)
JP2019057147A (ja) * 2017-09-21 2019-04-11 東芝メモリ株式会社 メモリシステム
US11354060B2 (en) * 2018-09-11 2022-06-07 Portworx, Inc. Application snapshot for highly available and distributed volumes
JP7112437B2 (ja) * 2020-01-21 2022-08-03 株式会社日立製作所 ストレージシステムおよびデータ移行方法
US11435955B1 (en) * 2021-04-15 2022-09-06 EMC IP Holding Company, LLC System and method for offloading copy processing across non-volatile memory express (NVMe) namespaces

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030126388A1 (en) * 2001-12-27 2003-07-03 Hitachi, Ltd. Method and apparatus for managing storage based replication
JP2006293947A (ja) * 2005-04-15 2006-10-26 Hitachi Ltd リモートコピーペアの移行を行うシステム
JP2009122873A (ja) * 2007-11-13 2009-06-04 Hitachi Ltd ストレージシステム間でのリモートコピーを管理する装置
JP2009266120A (ja) * 2008-04-28 2009-11-12 Hitachi Ltd 情報システム及びi/o処理方法
WO2012049711A1 (en) * 2010-10-14 2012-04-19 Hitachi, Ltd. Data migration system and data migration method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005267038A (ja) * 2004-03-17 2005-09-29 Hitachi Ltd ストレージシステムの運用方法
JP4355674B2 (ja) * 2005-03-17 2009-11-04 富士通株式会社 リモートコピー方法及びストレージシステム
JP4843687B2 (ja) * 2009-01-09 2011-12-21 富士通株式会社 バックアップ制御装置、ストレージシステム、バックアップ制御プログラム及びバックアップ制御方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030126388A1 (en) * 2001-12-27 2003-07-03 Hitachi, Ltd. Method and apparatus for managing storage based replication
JP2003248606A (ja) * 2001-12-27 2003-09-05 Hitachi Ltd 記憶装置を応用したコピー管理の方法と装置
JP2006293947A (ja) * 2005-04-15 2006-10-26 Hitachi Ltd リモートコピーペアの移行を行うシステム
JP2009122873A (ja) * 2007-11-13 2009-06-04 Hitachi Ltd ストレージシステム間でのリモートコピーを管理する装置
JP2009266120A (ja) * 2008-04-28 2009-11-12 Hitachi Ltd 情報システム及びi/o処理方法
WO2012049711A1 (en) * 2010-10-14 2012-04-19 Hitachi, Ltd. Data migration system and data migration method

Also Published As

Publication number Publication date
US20140380005A1 (en) 2014-12-25
JP6136629B2 (ja) 2017-05-31
EP2819016A1 (en) 2014-12-31
US9720621B2 (en) 2017-08-01
EP2819016B1 (en) 2015-12-30
US20170293444A1 (en) 2017-10-12

Similar Documents

Publication Publication Date Title
JP6136629B2 (ja) ストレージ制御装置,ストレージシステム,および制御プログラム
US9311191B2 (en) Method for a source storage device sending data to a backup storage device for storage, and storage device
JP4727437B2 (ja) データベースを有するストレージシステムの記憶制御方法
US9678686B2 (en) Managing sequentiality of tracks for asynchronous PPRC tracks on secondary
US10691371B2 (en) Server based disaster recovery by making use of dual write responses
US8825968B2 (en) Information processing apparatus and storage control method
JP5286212B2 (ja) ストレージクラスタ環境でのリモートコピー制御方法及びシステム
JP2008108145A (ja) 計算機システム及びこれを用いたデータの管理方法
WO2015054897A1 (zh) 数据存储方法、数据存储装置和存储设备
JP2012507788A (ja) ストレージ・エリア・ネットワークを使用してコンピュータシステムを復旧するための方法およびシステム
US9841923B2 (en) Storage apparatus and storage system
JP5561334B2 (ja) データ転送装置
JP6160296B2 (ja) ストレージ制御装置,ストレージシステム,および制御プログラム
US20100138621A1 (en) Information processing system, controlling method in information processing system, and managing apparatus
JP2020177274A (ja) ストレージ装置、ストレージシステムおよびプログラム
JP5963324B2 (ja) 仮想シーケンシャルアクセスボリュームのデータのコピー方法、システム
US9304876B2 (en) Logical volume migration in single server high availability environments
WO2016006108A1 (ja) ストレージおよびその制御方法
US8275743B1 (en) Method and apparatus for securing data volumes to a remote computer using journal volumes
JP7050707B2 (ja) ストレージ制御装置、ストレージシステム、ストレージ制御方法、及び、ストレージ制御プログラム
US20160357479A1 (en) Storage control apparatus
JP2009129282A (ja) データ記憶装置、データバックアップ方法およびデータバックアッププログラム
JP2018169863A (ja) ストレージシステム、ストレージ制御装置およびコピー制御方法
JP2013012137A (ja) ディスクミラーリングシステム及びその管理方法

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

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170321

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170417

R150 Certificate of patent or registration of utility model

Ref document number: 6136629

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees