JP6167722B2 - ストレージシステム,ストレージ制御装置及びデータ転送方法 - Google Patents

ストレージシステム,ストレージ制御装置及びデータ転送方法 Download PDF

Info

Publication number
JP6167722B2
JP6167722B2 JP2013152841A JP2013152841A JP6167722B2 JP 6167722 B2 JP6167722 B2 JP 6167722B2 JP 2013152841 A JP2013152841 A JP 2013152841A JP 2013152841 A JP2013152841 A JP 2013152841A JP 6167722 B2 JP6167722 B2 JP 6167722B2
Authority
JP
Japan
Prior art keywords
buffer
data
storage device
storage
state
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
JP2013152841A
Other languages
English (en)
Other versions
JP2015022705A (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 JP2013152841A priority Critical patent/JP6167722B2/ja
Priority to US14/291,060 priority patent/US9342418B2/en
Publication of JP2015022705A publication Critical patent/JP2015022705A/ja
Application granted granted Critical
Publication of JP6167722B2 publication Critical patent/JP6167722B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/2082Data synchronisation
    • 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/2094Redundant storage or storage space
    • 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/0656Data buffering arrangements
    • 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
    • G06F11/2074Asynchronous techniques

Landscapes

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

Description

本発明は、ストレージシステム,ストレージ制御装置及びデータ転送方法に関する。
ストレージシステムにおいては、複数のストレージ装置をそなえ、一のストレージ(業務ストレージ)装置のデータを他のストレージ(バックアップストレージ)装置に複写することにより、バックアップが行なわれている。
また、遠隔地に配置された複数のストレージ装置間において、一のストレージ装置のデータを地理的に離れた場所の他のストレージ装置に複写するリモートコピー機能も知られている。このようなリモートコピー機能の一つとして、非同期モードでリモートコピーを行なう際のデータの書き込み順序性を保証するREC(Remote Equivalent Copy)コンシステンシ・モード機能が知られている。
ストレージ装置としては、例えばRAID(Redundant Arrays of Inexpensive Disks)装置が用いられる。RAID装置は、複数のHDD(Hard Disk Drive)を組み合わせて、冗長化されたストレージとして管理するものであり、上位装置に対して仮想的なストレージ(論理ボリューム)を提供する。RAID装置は、分散キャッシュメモリ型のストレージシステムであり、論理ボリュームのデータのリード/ライト処理を制御モジュール(CM:Controller Module)毎に実行する。
REC機能においては、コピー元のストレージ装置(コピー元装置)内において記憶媒体内のデータをCM毎に用意されたコピー元装置内の記録専用バッファに格納する。又、CM毎の各記録専用バッファは、データの読み書き処理の順序性を保証するため、複数の領域(バッファ領域)に分割して管理される。分割した個々のバッファ領域は世代として管理される。
記録専用バッファのバッファ領域がフルになるか、もしくは、データの格納開始から一定時間経過すると、コピー元装置は、同一世代の各バッファ領域内のデータをまとめてネットワークを介して接続されたコピー先のストレージ装置(コピー先装置)へ送信する。以下、REC機能において、コピー元装置の記録専用バッファ内の同一世代のデータをまとめて、ネットワークを介して接続されたコピー先の記憶装置へ送信する手法をまとめ送り方式という場合がある。
コピー先装置においては、受信したデータを記録専用バッファに一旦格納する。コピー先装置は、データの受信をすべて完了すると記録専用バッファ内のデータをまとめてコピー先の記録媒体内へ展開する。
REC機能においては、上述の如く記録専用バッファを使用して順序性のあるまとめ送り方式のコピーを行なうために、各CMについての同世代のバッファ領域をバッファセットという単位で一括制御を行なっている。そして、コピー元記録専用バッファからのデータをバッファセットの単位で展開することで順序性を保証している。
図21は従来のストレージシステムのバッファ構成を示す図である。この図21に示すストレージシステム500は、ネットワーク502を介して2つのストレージ装置501a,501bが接続されている。この図21に示す例において、ストレージ装置501aがコピー元装置であり、ストレージ装置501bがコピー先装置である。以下、ストレージ装置501aをコピー元装置501aという場合があり、ストレージ装置501bをコピー先装置501bという場合がある。
ストレージ装置501a,501bはそれぞれ、4つのCM#0〜#3を備える。コピー元装置501aにおいては、各CM#0〜#3はそれぞれ1つの送信バッファを備えている。一方、コピー先装置においては、各CM#0〜#3はそれぞれローカルバッファとミラーバッファとの2つの受信バッファ(記録専用バッファ)を備えている。
また、コピー元装置501aにおいて、各CM毎の送信バッファは、それぞれ8つの(8世代分の)バッファ領域に分割されている。一方、コピー先装置501bにおいては、各CM#0〜#3のローカルバッファ及びミラーバッファが、それぞれコピー先装置501bと同様に、8つの(8世代分の)バッファ領域に分割されている。
コピー先装置501bにおいて、コピー元装置501aから送信され、図示しないポートから各CMのローカルバッファに転送されるデータは、他のCMのミラーバッファにその複写が格納されることで二重化される。
例えば、コピー元装置501aにおいて、CM#0のローカルバッファに転送されるデータは、CM#1のミラーバッファにその複写が転送されて格納されることで二重化される。同様に、CM#3のローカルバッファに転送されるデータはCM#0のミラーバッファに二重化され、CM#1のローカルバッファに転送されるデータはCM#2のミラーバッファに二重化される。又、CM#2のローカルバッファに転送されるデータはCM#3のミラーバッファに二重化される。
ここで、リモートコピー手法においては、コピー先装置501bにおいて、いずれかのCMがデグレード(Degrade:縮退)して使用不可の状態となった場合に、そのCMのローカルバッファに送信していたデータの送信先を二重化されている他のCMのミラーバッファに切り替えることでRECコンシステンシ転送を継続して行なう手法が知られている。すなわち、デグレードミラー(Degrade Mirror)監視手法である。
例えば、コピー先装置501bにおいてCM#0がデグレードした場合には、CM#1のミラーバッファに格納されている(二重化されている)データを用いてCM#0のデータの展開処理を継続する。なお、CM#0がデグレードしたことにより、CM#1のミラーバッファに格納されるCM#0のデータは二重化されていない状態(二重化崩れの状態)となる。
また、CM#3のローカルバッファに送信していたデータは、CM#0のミラーバッファを用いることができないので、このCM#0のミラーバッファへの転送を行なわせないようにしながら、二重化崩れの状態でRECコンシステンシ転送を継続させる。以下、このような二重化を行なわせないよう監視している状態を二重化禁止監視状態という場合がある。
RECコンシステンシ転送においては、コピー先装置501bは、記録専用バッファのデータを展開完了、解放する度に、コピー元装置501aに対して、バッファ解放通知と空きバッファ通知とをシーケンシャルに送信する。
例えばCM#0がデグレードした場合には、コピー先装置501bは、このデグレードしたCM#0のバッファを除いた使用可能な(生存している)バッファのバッファ領域を示すID(受信バッファID)を空きバッファ通知としてコピー元装置501aに送信する。
コピー元装置501aでは、空きバッファ通知で知らされた受信側バッファIDと、送信バッファですでに割り当て済みの受信側バッファIDを除いた受信側バッファIDとを送信側の空きバッファ管理テーブル(図示省略)に登録する。
コピー元装置501aは、データを送信する際に、この空きバッファ管理テーブルに登録されている受信側バッファIDを割り当ててコピー先装置501bへデータ送信を行なう。コピー先装置501bにおいては、データ受信時に、このデータに付された受信側バッファIDをみて、データの転送先のCMを判断する。
さて、前述の如く、一部のCMのデグレードにより二重化禁止状態となったコピー先装置501bにおいては、故障したCMの交換等によりデグレードが解消されると、二重化禁止状態を解除する必要がある。二重化禁止状態を解除して、バッファを二重化された状態に戻すことを二重化再構築という。
特開2006−106883号公報 特開2006−260292号公報 特開2007−511844号公報
しかしながら、このような従来のストレージシステムにおいて、二重化再構築を行なう前、すなわち二重化されていないバッファが存在する状態においても、この二重化されていないバッファを備えるCMがデグレードするおそれがある。このように、二重化されていないバッファを備えるCMがデグレードすると、RECセッション(REC Session)を使えない、エラーサスペンド(Error Suspend)の状態となる。
例えば、図21を用いて前述した例において、コピー先装置501bにおいて、CM#0がデグレードして二重化禁止監視状態にある場合には、CM#3のデータは二重化崩れの状態である。この状態で、更にCM#3がデグレードすると、コピー先装置501bにおいてCM#3のデータが消失し、エラーサスペンド状態となる。
エラーサスペンドの状態になると、コピー元装置501aとコピー先装置501bとの間でRECセッションを張りなおす必要があり、初期コピーとしてコピー元装置501aの全データのコピーを最初から行なう必要が生じる。従って、順序性保証データ転送の再開に時間がかかるという課題がある。
1つの側面では、本発明は、順序性保証データ転送における冗長故障時に、短時間でデータ転送を再開することができることを目的とする。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の1つとして位置付けることができる。
このため、このストレージシステムは、第1の記憶装置からネットワークを介して接続された第2の記憶装置に対して順序性保証データ転送を行なうストレージシステムにおいて、前記第2の記憶装置における冗長化された2以上の制御装置にそれぞれ設けられ、データを冗長化して記憶する冗長化された2以上の受信バッファと、前記第1の記憶装置と前記第2の記憶装置との間で順序性保証データのコピー状態の整合性があるか否かを示すコピーセッションの状態を管理するセッション管理部と、順序性保証データが前記冗長化された2以上の受信バッファのいずれからも喪失したことを示すバッファデータロスト状態を管理するバッファ管理部と、を備え、前記第2の記憶装置が前記ストレージシステムの処理を停止させた要因が、前記第2の記憶装置における記憶媒体へのデータの展開処理中に発生した、前記冗長化された2以上の制御装置の多重故障である場合に、前記セッション管理部は前記コピーセッションの状態に整合性なしを設定し、前記バッファ管理部は前記バッファデータロスト状態をロスト状態であると設定し、前記第1の記憶装置と前記第2の記憶装置との間でデータ転送処理が再開された場合に、前記バッファ管理部により前記バッファデータロスト状態が前記ロスト状態であると設定されていると、前記セッション管理部は前記コピーセッションの状態に整合性ありを設定し、前記バッファ管理部は前記バッファデータロスト状態をロスト状態ではないと設定する
一実施形態によれば、順序性保証データ転送における冗長故障時に、短時間でデータ転送を再開することができる。
実施形態の一例としてのストレージシステムのハードウェア構成を示す図である。 実施形態の一例としてのストレージシステムの機能構成を示す図である。 実施形態の一例としてのストレージシステムにおけるバッファ構成を例示する図である。 実施形態の一例としてのストレージシステムのストレージ装置におけるバッファの冗長化手法を説明する図である。 実施形態の一例としてのストレージシステムにおける受信バッファID管理テーブルを例示する図である。 実施形態の一例としてのバッファ管理テーブルを例示する図である。 実施形態の一例としてのバッファセット管理テーブルを例示する図である。 実施形態の一例としてのストレージシステムにおけるバッファ解放処理を例示する図である。 実施形態の一例としてのバッファセット管理テーブルを例示する図である。 実施形態の一例としてのストレージシステムにおける初回ネゴシエーション処理を説明するフローチャートである。 実施形態の一例としてのストレージシステムにおける初回ネゴシエーション直後の受信バッファID管理テーブルを例示する図である。 実施形態の一例としてのストレージシステムにおけるRECコンシステンシ転送の処理を説明するフローチャートである。 実施形態の一例としてのストレージシステムにおけるデグレード処理を説明するフローチャートである。 実施形態の一例としてのストレージシステムにおいてストレージ装置のCMをデグレードさせる例を示す図である。 実施形態の一例としてのストレージシステムにおけるホルト処理を説明するフローチャートである。 実施形態の一例としてのストレージシステムのストレージ装置においてホルト状態が検出される状態を示す図である。 実施形態の一例としてのストレージシステムのストレージ装置においてRECバッファの枯渇が生じた場合の処理を説明するフローチャートである。 実施形態の一例としてのストレージシステムのストレージ装置における差分ビットマップコピー処理を説明する図である。 実施形態の一例としてのストレージシステムにおけるアップグレード処理を説明するフローチャートである。 実施形態の一例としてのストレージシステムのストレージ装置においてアップグレードされた状態を示す図である。 従来のストレージシステムのバッファ構成を示す図である。
以下、図面を参照して本ストレージシステム,ストレージ制御装置及びデータ転送方法に係る実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形(実施形態及び各変形例を組み合わせる等)して実施することができる。又、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
(A)構成
図1は実施形態の一例としてのストレージシステム1のハードウェア構成を示す図、図2はその機能構成を示す図である。又、図3は実施形態の一例としてのストレージシステム1におけるバッファ構成を例示する図である。
実施形態の一例としてのストレージシステム1は、図1に示すように、リモート回線(通信回線)50を介して複数(図1に示す例では2つ)のストレージ装置10,20が通信可能に接続されている。これらの、ストレージ装置10,20は地理的に離れた場所に配置されている。
ストレージ装置10,20は、それぞれ1以上(本実施形態では4つ)のCM(情報処理装置)511−0〜511−3,521−0〜521−3をそなえる。
また、図1に示す例においては、ストレージ装置10に上位装置としてのホスト装置2が接続され、又、ストレージ装置20に上位装置としてのホスト装置3が接続されている。
ホスト装置2,3は、接続されたストレージ装置10,20のボリュームにデータの書き込みや読み出しを行なう。例えば、ホスト装置2はストレージ装置10の業務ボリュームであるコピー元ボリュームに対してリードやライトのデータアクセス要求を行なう。ストレージ装置10は、このデータアクセス要求に応じてコピー元ボリュームに対するデータアクセスを行ない、ホスト装置2に対して応答を行なう。
なお、ホスト装置2,3は、情報処理装置であり、例えば、図示しない、CPU(Central Processing Unit)やメモリ等をそなえたコンピュータである。
本ストレージシステム1は、ストレージ装置10のボリューム(論理ボリューム)のデータのコピーを他のストレージ装置20にデータ転送することにより移行(コピー)するデータ移行機能をそなえる。
ここでは、ストレージ装置10をコピー元筐体(移行元装置)とし、ストレージ装置20をコピー先筐体(移行先装置)とする。以下、データ移行として、ストレージ装置(第1の記憶装置)10のディスク装置131のデータのコピーをストレージ装置(第2の記憶装置)20にデータ転送して、ストレージ装置20のディスク装置231に格納する例について説明する。
以下、ストレージ装置10を移行元装置10といい、ストレージ装置20を移行先装置20という場合がある。又、以下、データのコピーをデータ移行と表現する場合がある。更に、ストレージ装置10とストレージ装置20との間におけるリモート回線50を介したデータ転送をリモート転送という場合がある。
リモート回線50は、データを通信可能に接続する通信回線であって、例えばTCP/IP等の規格に基づきデータ転送を実現する。
ストレージ装置10,20は、ホスト装置2,3に対して記憶領域を提供するものであり、例えば、RAID装置である。なお、図1中においては、便宜上、ストレージ装置10にホスト装置2が、又、ストレージ装置20にホスト装置3がそれぞれ接続された状態を示しているが、各ストレージ装置10,20にそれぞれ2以上のホスト装置が接続されてもよい。
ストレージ装置10,20は、図1に示すように、CM511−0〜511−3,521−0〜521−3及びディスクエンクロージャ130,230をそなえる。
CM511−0〜511−3,521−0〜521−3はストレージ装置10,20における種々の制御を行なうものであり、上位装置であるホスト装置2,3からのストレージアクセス要求(アクセス制御信号)に従って、ディスクエンクロージャ130,230のディスク装置131,231へのアクセス制御等、各種制御を行なう。CM511−0〜511−3,521−0〜521−3は互いに同様のハードウェア構成を有する。
以下、ストレージ装置10においてCM511−0をCM#0という場合があり、同様に、CM511−1,511−2,511−3をそれぞれCM#1,#2、#3という場合がある。又、ストレージ装置20においてCM521−0をCM#0という場合があり、同様に、CM521−1,521−2,521−3をそれぞれCM#1,#2、#3という場合がある。
また、以下、ストレージ装置10におけるCMを示す符号としては、複数のCMのうち1つを特定する必要があるときには符号511−0〜511−3もしくは#0〜#3を用いるが、任意のCMを指すときには符号511を用いるか、もしくは単にCMと示す。同様に、ストレージ装置20におけるCMを示す符号としては、複数のCMのうち1つを特定する必要があるときには符号521−0〜521−3もしくは#0〜#3を用いるが、任意のCMを指すときには符号521を用いるか、もしくは単にCMと示す。
ディスクエンクロージャ130,230は、1以上のディスク装置131,231をそなえる。ディスク装置131,231は、例えば、HDDやSSD(Solid State Drive)である。ストレージ装置10,20においては、このHDD131,231の記憶領域が論理ボリュームに対して割り当てられる。
CM511,521は、図1に示すように、CA(Channel Adapter)124,224,RA(Remote Adapter)125,225,CPU110,210,DA(Device Adapter)126,226及びメモリ127,227をそなえる。なお、図1に示す例においては、各ストレージ装置10,20に4つのCM511−0〜511−3,521−0〜521−3がそなえられているが、これに限定されるものではなく、それぞれ3つ以下もしくは4つ以上のCM511,521をそなえてもよい。
CA124,224は、ホスト装置2,3と通信可能に接続するインタフェースコントローラであり、例えば、ファイバチャネルアダプタである。
そして、例えばオペレータがホスト装置2を介して、ストレージ装置10からストレージ装置20へのデータ移行指示を入力すると、CA124がデータ移行指示を受信する受信部として機能する。
RA125,225は、リモート回線50を介して他のストレージ装置20,10と通信可能に接続(リモート接続)するインタフェースコントローラであり、例えば、ファイバチャネルアダプタである。
DA126,226は、ディスクエンクロージャ130,230と通信可能に接続するインタフェースコントローラであり、例えば、ファイバチャネルアダプタである。
メモリ127,227はROM(Read Only Memory)及びRAM(Random Access Memory)を含む記憶装置である。メモリ127,227のROMには、コピー制御(リモート転送制御)に係るソフトウェアプログラムやこのプログラム用のデータ類が書き込まれている。メモリ127,227上のソフトウェアプログラムは、CPU110,210に適宜読み込まれて実行される。又、メモリ127,227のRAMは、一次記憶メモリあるいはワーキングメモリとして利用される。
また、メモリ(RAM)127,227における所定の領域には、例えば、他のストレージ装置20,10に対して送信するデータが一時的に格納され、これによりメモリ127,227は、RECバッファ(記録専用バッファ)30−0〜30−3,40−0〜40−3,41−0〜41−3(図3等参照)として機能する。すなわち、メモリ127,227は、後述するリモート転送時に、他のストレージ装置20,10に対して転送するデータを一時的に格納する転送データバッファとして機能する。
図3に示すように、RECバッファ30−0〜30−3,40−0〜40−3,41−0〜41−3は、データの読み書き処理の順序性を保証するため、複数の領域(バッファ領域,格納領域)に分割して管理される。分割した個々のバッファ領域は世代として管理する。図3に示す例においては、RECバッファ30−0〜30−3,40−0〜40−3,41−0〜41−3は、世代1〜8の8つの世代のバッファ領域にそれぞれ分割されている。各世代のバッファ領域は時系列で管理される。
また、各バッファ領域はストレージ装置10,20間のコピー処理の完了後に開放される。開放とは、当該バッファ領域にデータを格納可能な状態とすることである。
ストレージ装置10において、CM#0にはRECバッファ30−0が備えられている。同様に、CM#1,#2,#3には、RECバッファ30−1,30−2,30−3がそれぞれ備えられている。
なお、以下、ストレージ装置10におけるRECバッファを示す符号としては、複数のRECバッファのうち1つを特定する必要があるときには符号30−0〜30−3を用いるが、任意のRECバッファを指すときには符号30を用いる。
また、ストレージ装置10における各RECバッファ30に備えられる各バッファ領域には、それぞれユニークな識別情報であるバッファIDが設定されている。図3に示す例において、RECバッファ30−0にはバッファID1000〜1007で表される8つのバッファ領域が形成されている。
同様に、RECバッファ30−1にはバッファID1100〜1107で表される8つのバッファ領域が、RECバッファ30−2にはバッファID1200〜1207で表される8つのバッファ領域が、RECバッファ30−3にはバッファID1300〜1307で表される8つのバッファ領域がそれぞれ形成されている。
そして、これらの各CM#0〜#3の各RECバッファ30において、図中、左右方向に隣接するバッファ領域が同世代として用いられる。例えば、CM#0,#1,#2,#3において、バッファID1000,1200,1200,1300の各バッファ領域が同世代として用いられる。
ストレージ装置20において、CM#0には2つのRECバッファ40−0,41−0が備えられている。同様に、CM#1にはRECバッファ40−1,41−1が、CM#2にはRECバッファ40−2,41−2が、CM#3にはRECバッファ40−3,41−3が、それぞれ備えられている。なお、以下、ストレージ装置10におけるRECバッファを示す符号としては、複数のRECバッファのうち1つを特定する必要があるときには符号40−0〜40−3や41−0〜41−3を用いるが、任意のRECバッファを指すときには符号40や41を用いる。
このストレージ装置20において、RECバッファ40は、ストレージ装置10のRECバッファ30に対応する。すなわち、RECバッファ40−0がRECバッファ30−0に対応し、このRECバッファ40−0に形成された各バッファ領域には、RECバッファ30−0の各バッファ領域と同じバッファIDが付されている。そして、RECコンシステンシ転送において、ストレージ装置10のRECバッファ30−0のデータのコピーが、ストレージ装置20のRECバッファ40−0に格納される。
同様に、RECバッファ40−1,40−2,40−3に形成された各バッファ領域には、RECバッファ30−1,30−2,30−3の各バッファ領域と同じバッファIDがそれぞれ付されている。そして、RECコンシステンシ転送において、ストレージ装置10のRECバッファ30−1,30−2,30−3のデータのコピーが、ストレージ装置20のRECバッファ40−1,40−2,40−3にそれぞれ格納される。なお、これらのRECバッファ40をローカルバッファといい、以下、RECバッファ40をローカルバッファ40という場合がある。
ストレージ装置20において、RECバッファ41は、RECバッファ40に対応して備えられ、RECバッファ40と同様の構成を備える。ただし、これらのRECバッファ41の各バッファ領域には、RECバッファ40とは異なるバッファIDが設定されている。
例えば、図3に示す例において、RECバッファ41−0にはバッファID1080〜1087で表される8つのバッファ領域が形成されている。
同様に、RECバッファ41−1にはバッファID1180〜1187で表される8つのバッファ領域が、RECバッファ41−2にはバッファID1280〜1287で表される8つのバッファ領域が、RECバッファ41−3にはバッファID1380〜1387で表される8つのバッファ領域がそれぞれ形成されている。
RECバッファ41には、RECバッファ40に格納されるデータのコピーが格納される。これらのRECバッファ41をミラーバッファという。以下、RECバッファ41をミラーバッファ41という場合がある。
ただし、本ストレージシステム1においては、ミラーバッファ41には、他のCMのローカルバッファ40のコピーが格納される。具体的には、各CMのミラーバッファ41には、当該CMと対(ペア)もしくはセットを成す他のCMのローカルバッファ40のコピーが格納される。
また、本ストレージシステム1においては、各CM511についての同世代のバッファ領域がバッファセットという単位で取り扱われ、一括制御される。
例えば、図3に示す例において、CM#0のバッファID1000、CM#1のバッファID1100,CM#2のバッファID1200及びCM#3のバッファID1300の各バッファが同世代のバッファ領域であり、同じバッファセットを構成する。同様に、図3に示す例において、ストレージ装置10,20において紙面横方向に並ぶ8つのバッファ領域が、同世代のバッファ領域であり、同じバッファセットを構成する。
また、各バッファセットには、バッファセットを一意に特定するためのバッファセットIDが設定されている。図3に示す例においては、8つのバッファセットが示されており、各バッファセットIDとして、例えば、0〜n(n=8)の整数が用いられる。
ここで、ストレージ装置20においては、2つのCMをペア(もしくはセット)とする。本実施形態においては、CM#0とCM#1とがペアを構成し、CM#2とCM#3とがペアを構成する。
そして、各CMのミラーバッファ41には、当該CMとペアを組むCMのローカルバッファ40のデータのコピーを格納することにより、ローカルバッファ40のデータを冗長化している。
すなわち、ストレージ装置20においては、ローカルバッファ40及びミラーバッファ41により冗長化され、これらのローカルバッファ40及びミラーバッファ41が冗長化受信バッファを構成する。
図4は実施形態の一例としてのストレージシステム1のストレージ装置20におけるバッファの冗長化手法を説明する図である。
この図4中において矢印で示すように、ストレージ装置20において、CM#0のミラーバッファ41−0には、CM#1のローカルバッファ40−1のデータのコピーが格納される。同様に、CM#1のミラーバッファ41−1には、CM#0のローカルバッファ40−0のデータのコピーが格納され、CM#2のミラーバッファ41−2は、CM#3のローカルバッファ40−3のデータのコピーが格納される。又、CM#3のミラーバッファ41−3には、CM#2のローカルバッファ40−2のデータのコピーが格納される。
以下、これらのペアを成す1組のCM(CM#0とCM#1,CM#2とCM#3)のことをペアCMという場合がある。
なお、RECバッファ30−0〜30−3,40−0〜40−3,41−0〜41−3を用いたデータのリモート転送手法については後述する。
また、メモリ127,227における他の所定の領域には、ホスト装置2,3から受信したデータや、ホスト装置2,3に対して送信するデータが一時的に格納され、これによりメモリ127,227はバッファメモリとしても機能する。又、メモリ127には、図示しないコピービットマップも格納される。
コピービットマップは、上述したRECバッファ30,40,41によるデータの更新順序を保証できなった状態でのストレージ装置10側でデータの整合性を保証するために用いられる。このコピービットマップには、ストレージ装置10における更新データ箇所やコピーセッション復旧までのデータ更新箇所等が差分ビットマップの形で記録される。
さらに、メモリ127,227における他の所定の領域には、後述するCPU110,210がプログラムを実行する際に、データやプログラムが一時的に格納・展開される。又、メモリ127における他の所定の領域には、RECコンシステンシ転送において一般的に用いられる、図示しない、セッションマッピングテーブルやRECバッファ制御テーブル等も格納される。
また、メモリ127のRAMには、後述する、受信バッファID管理テーブル101,バッファ管理テーブル102,バッファセット管理テーブル103及びセッション管理テーブル104が格納される。メモリ227のRAMには、後述する、受信バッファID管理テーブル201,バッファ管理テーブル202,バッファセット管理テーブル203及びセッション管理テーブル204が格納される。
メモリ122,222のROMには、CPU110,210が実行するプログラムや種々のデータが格納されている。
CPU110,210は、種々の制御や演算を行なう処理装置であり、メモリ122等に格納されたプログラムを実行することにより、種々の機能を実現する。
そして、ストレージ装置10のCPU110は、図2に示すように、IO処理部11,送信側コピー処理部12,送信側ネゴシエーション処理部13,送信側デグレード処理部14,送信側ホルト処理部15,送信側アップグレード処理部16及びテーブル管理部17として機能する。
また、ストレージ装置20のCPU210は、図2に示すように、受信側コピー処理部21,受信側ネゴシエーション処理部23,受信側デグレード処理部24,受信側ホルト処理部25,受信側アップグレード処理部26及びテーブル管理部27として機能する。
なお、IO処理部11,送信側コピー処理部12,送信側ネゴシエーション処理部13,送信側デグレード処理部14,送信側ホルト処理部15,送信側アップグレード処理部16及びテーブル管理部17としての機能を実現するためのプログラムや、受信側コピー処理部21,受信側ネゴシエーション処理部23,受信側デグレード処理部24,受信側ホルト処理部25,受信側アップグレード処理部26及びテーブル管理部27として機能するためのプログラムは、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RW等),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD+R,DVD−RW,DVD+RW,HD DVD等),ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体から図示しない読取装置を介してプログラムを読み取って、内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
IO処理部11,送信側コピー処理部12,送信側ネゴシエーション処理部13,送信側デグレード処理部14,送信側ホルト処理部15,送信側アップグレード処理部16及びテーブル管理部17としての機能を実現する際には、内部記憶装置(本実施形態ではメモリ127)に格納されたプログラムがコンピュータのマイクロプロセッサ(本実施形態ではCPU110)によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
同様に、受信側コピー処理部21,受信側ネゴシエーション処理部23,受信側デグレード処理部24,受信側ホルト処理部25,受信側アップグレード処理部26及びテーブル管理部27としての機能を実現する際には、内部記憶装置(本実施形態ではメモリ227)に格納されたプログラムがコンピュータのマイクロプロセッサ(本実施形態ではCPU210)によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
(a)ストレージ装置10
ストレージ装置10において、CM511は、IO処理部11,送信側コピー処理部12,送信側ネゴシエーション処理部13,送信側デグレード処理部14,送信側ホルト処理部15,送信側アップグレード処理部16及びテーブル管理部17として機能する。又、CM511には、受信バッファID管理テーブル101,バッファ管理テーブル102,バッファセット管理テーブル103及びセッション管理テーブル104が備えられる。なお、図2に示す例においては、ストレージ装置10に備えられた複数のCM511のうち、マスタとして機能する一のCM511のみを示し、スレーブとして機能する他のCM511の図示を省略している。すなわち、IO処理部11,送信側コピー処理部12,送信側ネゴシエーション処理部13,送信側デグレード処理部14,送信側ホルト処理部15,送信側アップグレード処理部16及びテーブル管理部17として機能は、マスタCM511に備えられる。
IO処理部11は、ホスト2から送信されるデータ(ライトデータ)を受け付け、処理する。IO処理部11は、格納予約処理部111及び格納処理部112を備える。
格納予約処理部111は、ホスト2から送信されたライトデータをバッファメモリに格納し、RECバッファ30に格納する準備を行なう。
格納処理部112は、RECバッファ30へのデータの格納制御を行なう。格納処理部112は、RECバッファ30がアクティブになると、格納予約処理部11によって準備されたライトデータをバッファメモリから読み出し、RECバッファ30に格納する。
送信側コピー処理部12は、ストレージ装置10のデータのコピーをRECコンシステンシ転送によりストレージ装置20に転送する処理を行なう。送信側コピー処理部12は、ストレージ装置10とストレージ装置20との間のデータ転送を制御する。本実施形態において、送信側コピー処理部12は、ストレージ装置10からストレージ装置20へのデータ転送をRECコンシステンシ転送を用いて行なう。
送信側コピー処理部12は、バッファ切替処理部121,割当処理部122及び転送処理部123を備える。
バッファ切替処理部121は、RECコンシステンシ転送におけるバッファ領域の世代間の切り替えを行なう。例えば、バッファ切替処理部121は、所定期間毎にRECバッファ30のアクティブな世代を、次世代のバッファ領域に切り替える。又、バッファ切替処理部121は、ストレージ装置10においてRECバッファ30におけるアクティブな(最新の)世代の領域のメモリサイズが枯渇した場合に、RECバッファ30のアクティブな世代を、次世代のバッファ領域に切り替える。
なお、このバッファ切替処理部121によるバッファ領域の切り替えは、既知の種々の手法を用いて行なうことができ、その詳細な説明は省略する。
割当処理部122は、ストレージ装置20にデータを送信する際に、受信バッファID管理テーブル101を参照して、受信側バッファIDを割り当てる処理を行なう。
図5は実施形態の一例としてのストレージシステム1における受信バッファID管理テーブル101,201を例示する図である。この図5に示す例においては、ストレージ装置20に備えられたRECバッファ40の各バッファ領域(バッファID)に対して、使用状況(空き状況)を示す“割当”もしくは“未割当”が対応付けられている。すなわち、このバッファ管理テーブル101において、“未割当”が設定されているバッファIDがストレージ装置20で使用可能なバッファ領域を示す。
割当処理部122は、この受信バッファID管理テーブル101において“未割当”が設定されているバッファIDを選択して、送信するデータに割り当てる。
なお、この割当処理部122によるバッファIDの割当手法は、既知の種々の手法を用いて行なうことができ、その詳細な説明は省略する。
また、割当処理部122は、ストレージ装置20のバッファ解放処理部213から、解放したバッファ領域のバッファID(受信バッファID)を解放通知とともに受信すると、この受信バッファID管理テーブル101におけるバッファIDに対して“未割当”を設定する。
転送処理部(転送継続処理部)123は、RECバッファ30に格納されているデータをストレージ装置20に送信する。転送処理部123は、データを、割当処理部122によって割り当てられたバッファIDとともにストレージ装置20に送信する。転送処理部123は、各CM511についての同世代のバッファ領域(バッファセット)単位でデータ転送を行なう。すなわち、転送処理部123はバッファセットを成す各バッファ領域のデータを一括してストレージ装置20に転送する。
なお、この転送処理部123によるデータ転送手法は、既知の種々の手法を用いて行なうことができ、その詳細な説明は省略する。
また、転送処理部123は、ストレージ装置20のバッファの状態(バッファ状態)として、後述するバッファ管理テーブル102に“Halt”が設定されている場合には、データの転送を行なわない。バッファ状態“Halt”は、バッファが使えない状態であり、順序性保障動作ができない状態を示す。
バッファ状態がホルト(Halt)の状態においては、ストレージ装置10,20間でコピーデータの転送は行なわれず、順序性保証されたデータ格納も行なわれない。
そして、ホスト装置2等からストレージ装置10に対して更新が行なわれると、RECセッションに関連付けされているコピービットマップ(図示省略)に更新箇所が記憶される。
なお、バッファ状態として設定される情報としては、“Halt ”の他に、“Active”と“Buffering”とがある。バッファ状態“Active”は、バッファが使える状態であり、順序性保障動作ができる状態を示す。すなわち、転送処理部123は、バッファ管理テーブル102においてバッファ状態として“Active”が設定されている場合に、データの転送を行なう。
バッファ状態の“Active”は、RECバッファ30が使用可能な状態を示し、RECバッファ30を用いたストレージ装置10,20間でのコピーが可能であることを示す。
バッファ状態の“Active”の状態においては、ストレージ装置10とストレージ装置20との間では、順序性保証された転送を行ないながら、RECバッファ30には順序性保証されたデータ格納が行なわれる。
バッファ状態が“Halt”及び“Buffering”の各状態は、いずれもRECバッファ30を用いたストレージ装置10,20間でのコピーを実施不可な状態(ホルト状態)であることを示す。このホルト状態においては、送信側ホルト処理部15や受信側ホルト処理部25によるホルト処理が実行される。
ただし、バッファ状態が“Buffering”においては、RECバッファ30のコピーデータは、ストレージ装置10からストレージ装置20へ転送はされないものの、RECバッファ30にはデータを格納可能である。すなわち、ホスト装置2等からストレージ装置10に対して更新が行なわれると、RECバッファ30に更新にかかるデータを格納することで、順序性保証は維持されている。
すなわち、ストレージ装置10からストレージ装置20へ転送はされないものの、順序性保障されたデータ格納を送信側のストレージ装置10においてキープした状態である。
メモリ上のバッファやディスクバッファでバッファリングし続けている状態で、ストレージ装置10,20間で転送が再開されると、バッファ状態が“Buffering”から“Active”に変更され、ストレージ装置10,20間でRECバッファ30を順序性保証された転送が再開される。
バッファの状態が転送再開で“Halt”から“Active”に変わると、コピービットマップに記憶された更新箇所に従って、ストレージ装置10からストレージ装置20に対して更新差分データが送信される(差分ビットマップコピー)。そして、この差分ビットマップコピーが完了した時点で、ストレージ装置10とストレージ装置20とのデータが整合性あり(Equivalent)な状態となる。
すなわち、コピーセッションの状態が “Copying” から “Equivalent” に遷移し、ストレージ装置10,20間で順序性保証データ転送が再開される。
送信側ネゴシエーション処理部13は、ストレージ装置10におけるネゴシエーション処理を行なう。
ネゴシエーションは、例えば、ストレージシステム1の起動時に実行され、例えば、認証方式の他、パラメータ・キーとそれに対応する適正な範囲値等を交換することにより、セッションの確立を行なう。送信側ネゴシエーション処理部13は、ストレージ装置20の受信側ネゴシエーション処理部23との間でネゴシエーションを行なう。
また、送信側ネゴシエーション処理部13は、ネゴシエーション処理時において、バッファ管理テーブル102やバッファセット管理テーブル103の初期化を行なう。
なお、本ストレージシステム1におけるネゴシエーション時の処理は図11を用いて後述する。
送信側デグレード処理部14は、ストレージ装置10において機器のデグレードを行なう。デグレードは、異常等が検知された機器を使用不可の状態(退避状態,非認識状態)にすることで、この機器による影響がシステム内の他の部位に波及することを阻止する。デグレードの手法としては、例えば、バスの遮断や電力供給の遮断等、既知の種々の手法を用いて行なうことができる。
例えば、ストレージ装置10において、いずれかのCMに異常が検知された場合に、送信側デグレード処理部14は、そのCMをデグレードさせ使用不可な状態にする。
送信側デグレード処理部14は、例えば、対象機器への電力供給やデータパスを遮断することでデグレードを実施する。なお、この送信側デグレード処理部14によるデグレード手法は、既知の種々の手法を用いて行なうことができ、その詳細な説明は省略する。
送信側アップグレード処理部16は、ストレージ装置10において、送信側デグレード処理部14によりデグレードされた機器を復旧(アップグレード)させて、使用可能な状態にする。例えば、いずれかのCMがデグレードした状態において、保守作業者がデグレードされたCMを交換等した場合には、送信側アップグレード処理部16は、このCMをアップグレードさせる。
送信側アップグレード処理部16は、例えば、遮断されていた対象機器への電力供給やデータパスを復旧させることでアップグレードを実施する。なお、この送信側アップグレード処理部16によるアップグレード手法は、既知の種々の手法を用いて行なうことができ、その詳細な説明は省略する。
送信側ホルト処理部(設定処理部)15は、ストレージ装置20においてシステム内の処理を停止させるホルト(Halt)状態が検出された場合の処理を行なう。送信側ホルト処理部15は、ストレージ装置20においてホルト状態が検出されると、ストレージ装置20へのデータ転送を中止させるとともに、バッファ管理テーブル102におけるバッファの状態を“Buffering”とする。又、送信側ホルト処理部15は、後述するセッション管理テーブル104におけるコピーセッションの状態(フェーズ)を“Equivalent(整合性あり)”の状態から“Copying(整合性なし)”に変更する。
更に、送信側ホルト処理部15は、バッファ管理テーブル102において受信側バッファデータロスト状態に“ロスト状態である”旨の設定を行なう。
例えば、図16においては、ストレージ装置20において、ペアCMを構成するCM#0とCM#1とがともにデグレードしている状態を示している。このように、ペアCMを構成する2つのCMが同時にデグレードすると(以下、ペアデグレードという場合がある)、CM#0,#1のローカルバッファ40及びミラーバッファ41の各データは、いずれも消失することとなる。
本ストレージシステム1においては、このように、ペアCMを構成する2つのCMが同時にデグレードした場合には、エラーサスペンド状態にはせずに、ホルト状態へ切り替え、ネゴシエーション禁止状態とする。
テーブル管理部(転送継続処理部,セッション管理部,バッファ管理部)17は、受信バッファID管理テーブル101,バッファ管理テーブル102,バッファセット管理テーブル103及びセッション管理テーブル104を管理し、これらのテーブルの設定値の変更等を行なう。
また、テーブル管理部17(セッション管理部)は、後述するバッファ管理テーブル102の受信側バッファデータロスト状態を参照して、受信側バッファデータロスト状態に“ロスト状態”が設定されている場合には、以下の処理を行なう。
すなわち、後述するセッション管理テーブル104におけるコピーセッションの状態(フェーズ)を“Copying(整合性なし)”から“Equivalent(整合性あり)”に書き換える。このように、テーブル管理部17は、セッション管理テーブル104の設定の変更等を行なうことにより、コピーセッションの状態を管理する。
また、テーブル管理部(バッファ管理部)17は、後述するバッファ管理テーブル102における受信側バッファデータロスト状態を“ロスト状態である”から“ロスト状態ではない”に書き換える。これにより、ストレージ装置10からストレージ装置20への順序性保証データ転送が継続して実行されることになる。このように、テーブル管理部17は、バッファ管理テーブル102の設定の変更等を行なうことにより、バッファデータロスト状態を管理する。
バッファ管理テーブル102は、ストレージ装置10におけるRECバッファ30に関する情報をテーブル状に管理する。なお、このバッファ管理テーブル102と同様の構成を備えるバッファ管理テーブル202がストレージ装置20にも格納されている。
図6は実施形態の一例としてのバッファ管理テーブル102,202を例示する図である。バッファ管理テーブル102,202は、この図6に示すように、バッファ領域のサイズに関する情報(送信バッファサイズ,1CM1バッファサイズ,バッファリストサイズ,1CMあたりのバッファトータルサイズ,送信バッファセット数)や、RECバッファ40の使用状態を示す情報(バッファ状態,ネゴシエーション状態,受信側バッファデータロスト状態,展開処理中バッファセットID,各バッファセットの使用状態)を備える。
なお、ストレージ装置10に備えられるバッファ管理テーブル102においては属性として“送信筐体”が設定され、ストレージ装置20に備えられるバッファ管理テーブル202においては属性として“受信筐体”が設定される。
バッファ状態としては、前述した“Active”,“Halt”及び“Buffering”のうちいずれかの状態が格納される。
また、受信側バッファデータロスト状態は、受信側のREC30がロスト状態であるか否かを示すものであり、「ロスト状態である」もしくは「ロスト状態ではない」のいずれかの状態が格納される。この受信側バッファデータロスト状態における「ロスト状態である」もしくは「ロスト状態ではない」旨の設定は、例えばフラグ等により設定される。
なお、バッファ管理テーブル102,202において、受信側バッファデータロスト状態以外の情報は、既知のバッファ管理テーブルと同様であるので、その説明は省略する。
バッファセット管理テーブル103は、各バッファセットに関する情報をテーブル状に管理する。
図7は実施形態の一例としてのバッファセット管理テーブル103を例示する図である。
バッファセット管理テーブル103は、バッファセット毎、すなわち、バッファセットIDに対して、バッファセットリンクPrev及びバッファセットリンクNextが関連付けて登録されている。
ここで、バッファセットリンクPrevは、一つ前の世代のバッファセットのバッファセットIDである。なお、図7に示す例においては、バッファセットID=0のバッファセットが先頭(最も古い世代)であるので、便宜上“0xffff”が設定されている。バッファセットリンクNextは、一つ後の世代のバッファセットのバッファセットIDである。
また、バッファセット管理テーブル103は、バッファセットを構成する各バッファ領域の状態を管理している。
すなわち、バッファセットを構成する各バッファ領域のバッファID(送信バッファID,受信バッファID)に対して、バッファ送信状態とバッファセット管理テーブル受信状態とが関連付けて登録されている。これらのバッファ送信状態及びバッファセット管理テーブル受信状態としては、“送信中”もしくは“送信済み”が設定される。
バッファセット管理テーブル103は、例えば、バッファ領域へのデータを格納時や、ストレージ装置10(送信側)とストレージ装置20(受信側)とで送受信バッファをくくりつける際、データ送信時、データ送信完了時、バッファセット解放時、等のタイミングで更新される。
ストレージ装置10,20間の順序性保証データ転送途中でストレージ装置20においてペアデグレードが生じてコピーセッションが停止された場合には、後述の如くコピーセッションの状態が“Copying” から “Equivalent” に遷移して再開されると、コピー元のストレージ装置10は、このバッファセット管理テーブル103を参照することで、最後に実行していたバッファセットのコピーを再度行なうことができる。
セッション管理テーブル104は、ストレージ装置10とストレージ装置20との間のコピーセッションの状態を管理するテーブルであり、コピーセッション毎に、“Copying(整合性なし)”もしくは“Equivalent(整合性あり)”が設定される。なお、このセッション管理テーブル104と同様の構成を備えるセッション管理テーブル204がストレージ装置20にも格納されている。
(b)ストレージ装置20
ストレージ装置20において、CM521は、受信側コピー処理部21,受信側ネゴシエーション処理部23,受信側デグレード処理部24,受信側ホルト処理部25,受信側アップグレード処理部26及びテーブル管理部27として機能する。又、CM521には、受信バッファID管理テーブル201,バッファ管理テーブル202,バッファセット管理テーブル203及びセッション管理テーブル204が備えられる。なお、図2に示す例においては、ストレージ装置20に備えられた複数のCM521のうち、マスタとして機能する一のCM521のみを示し、スレーブとして機能する他のCM521の図示を省略している。すなわち、受信側コピー処理部21,受信側ネゴシエーション処理部23,受信側デグレード処理部24,受信側ホルト処理部25,受信側アップグレード処理部26及びテーブル管理部27として機能は、マスタCM521に備えられる。
受信側コピー処理部21は、ストレージ装置10からRECコンシステンシ転送によりストレージ装置20に転送されたデータのコピーを受信する処理を行なう。受信側コピー処理部21は、ストレージ装置10とストレージ装置20との間のデータ転送を制御する。
受信側コピー処理部21は、受信処理部211,展開処理部212及びバッファ解放処理部213を備える。
受信処理部211は、ストレージ装置10から送信されたバッファセットのデータを受信する。又、受信処理部211は、受信したデータに付された受信バッファIDを参照して、受信したバッファセットを成す各データを、それぞれ対応するローカルバッファ40のバッファ領域に格納する。又、受信処理部211は、受信した各データのコピーをミラーバッファ41にも転送し、それぞれ対応するミラーバッファ41のバッファ領域に格納する。
展開処理部212は、受信処理部211がストレージ装置10から送信されるバッファセットの全てのデータ受信を完了すると、RECバッファ(ローカルバッファ40,ミラーバッファ41)内のバッファセットのデータをまとめてコピー先のディスク装置(記憶媒体)231内へ展開する。展開処理部212は、ストレージ装置10からのデータをバッファセットの単位で展開する。
バッファ解放処理部213は、展開処理部212がデータの展開を完了すると、データの格納に用いたローカルバッファ40及びミラーバッファ41を解放する。ここで、バッファの解放とは、新たにデータを格納可能な状態にすることをいう。又、バッファ解放処理部213は、解放する(受信可能となる)バッファ領域の受信バッファIDをストレージ装置10に通知する。
図8は実施形態の一例としてのストレージシステム1におけるバッファ解放処理を例示する図であり、図5に例示した受信バッファID管理テーブル101,201に対応している。
この図8に示す例においては、ストレージ装置10からストレージ装置20に対して、CM#0〜CM#3のバッファID1002,1102,1202及び1302からなるバッファセットのデータの展開が完了した状態を示す。又、バッファID1003,1004,1103,1104,1203,1204,1303及び1304のバッファセットのデータの転送も完了している。ただし、これらのバッファID1003,1004,1103,1104,1203,1204,1303及び1304の各バッファ領域は、バッファ解放処理部213により解放されていないので、これらのバッファIDは“割当”の状態である。又、これら以外のバッファ領域は“未割当”である。なお、この図8中においては、便宜上、ミラーバッファ41等の図示を省略している。
展開処理部212がID1002,1102,1202及び1302からなるバッファセットのデータの展開処理を完了すると、バッファ解放処理部213は、バッファ解放通知により、解放したバッファ領域のバッファID(受信バッファID)をストレージ装置10に通知する。すなわち、本ストレージシステム1においては、バッファ解放処理部213は、解放したバッファ領域のバッファID(受信バッファID)の通知と解放通知とを1回の通信でストレージ装置10に通知する。
具体的には、バッファ解放処理部213は、ストレージ装置10に対してバッファセットを解放するように送信する解放通知に、受信バッファIDを載せて送信する。すなわち、従来手法の如く解放通知に対する応答を待って受信バッファIDを通知する代わりに、解放通知に対する応答を待つことなく、解放通知とともに受信バッファID(空きバッファ通知)を送信する。
バッファ解放処理部213は、ストレージ装置10から、この空きバッファ通知に対する応答(空きバッファ通知応答)を受信すると、受信側バッファセット解放を行なう。
これにより、ストレージ装置20からストレージ装置10に対して、空きバッファ通知を短時間で送信することができるとともに、通信回数を低減させることができる。従って、転送効率を向上させ、ネットワーク50を有効に用いることができる。
受信側ネゴシエーション処理部23は、ストレージ装置20におけるネゴシエーション処理を行なう。
受信側ネゴシエーション処理部23は、ペアCMの少なくとも一方がアップグレードしていて使用可能な状態である場合にネゴシエーション処理を行ない、ペアCMの両方がデグレードしている場合には、ネゴシエーション処理を行なわない。
また、受信側ネゴシエーション処理部23は、ネゴシエーション処理時において、バッファ管理テーブル202やバッファセット管理テーブル203の初期化を行なう。又、このネゴシエーション処理時において、受信側ネゴシエーション処理部23は、ストレージ装置10に対して空き受信バッファIDの通知を行なう。
なお、本ストレージシステム1におけるネゴシエーション時の処理は図11を用いて後述する。
受信側デグレード処理部24は、ストレージ装置20において機器のデグレードを行なう。例えば、ストレージ装置20において、いずれかのCMに異常が検知された場合に、受信側デグレード処理部24は、そのCMをデグレードさせ使用不可な状態にする。なお、この受信側デグレード処理部24によるデグレード手法も、送信側デグレード処理部14と同様に既知の種々の手法を用いて行なうことができ、その詳細な説明は省略する。
受信側アップグレード処理部26は、ストレージ装置20において、受信側デグレード処理部24によりデグレードされた機器を復旧(アップグレード)させて、使用可能な状態にする。例えば、いずれかのCMがデグレードした状態において、保守作業者がデグレードされたCMを交換等した場合には、受信側アップグレード処理部26は、このCMをアップグレードさせる。
受信側アップグレード処理部26は、例えば、遮断されていた対象機器への電力供給やデータパスを復旧させることでアップグレードを実施する。なお、この受信側アップグレード処理部26によるアップグレード手法も、送信側アップグレード処理部16と同様に既知の種々の手法を用いて行なうことができ、その詳細な説明は省略する。
受信側ホルト処理部25は、ストレージ装置20においてシステム内の処理を停止させるホルト状態が検出された場合の処理を行なう。受信側ホルト処理部25は、ホルト状態が検出されると、ホルト要因がペアCMがデグレードしたことによるものであり、且つ、展開処理途中である場合に、セッション管理テーブル204におけるコピーセッションの状態(フェーズ)を“Equivalent(整合性あり)”から“Copying(整合性なし)”に変更する処理を行なう。又、受信側ホルト処理部25は、バッファ管理テーブル202において、受信側バッファデータロスト状態に“ロスト状態である”旨の設定を行なう。
一方、ホルト要因がペアCMがデグレードしたことによるものではない場合や、展開処理途中ではない場合には、受信側ホルト処理部25は、ホルト検出を抑止する(ホルト検出待ち合わせ)。例えば、ストレージ装置10のバッファが枯渇することによりホルト状態が生じた場合には、受信側ホルト処理部25は、ホルト状態が生じなかったものとする。
すなわち、受信側ホルト処理部25は、ペアCMのうちいずれかが動作可能である場合には、ホルト状態の検出を待ち合わせる。又、受信側ホルト処理部25は、ホルト要因がペアCMであった場合でも、展開処理途中に生じたものではない場合には、ホルト状態の検出を待ち合わせる。
テーブル管理部(転送継続処理部)27は、受信バッファID管理テーブル201,バッファ管理テーブル202,バッファセット管理テーブル203及びセッション管理テーブル204を管理し、これらのテーブルの設定値の変更等を行なう。
また、テーブル管理部27は、バッファ管理テーブル202の受信側バッファデータロスト状態を参照して、受信側バッファデータロスト状態に“ロスト状態”が設定されている場合には、以下の処理を行なう。
すなわち、セッション管理テーブル204におけるコピーセッションの状態(フェーズ)を“Copying(整合性なし)”から“Equivalent(整合性あり)”に書き換える。又、バッファ管理テーブル202における受信側バッファデータロスト状態を“ロスト状態である”から“ロスト状態ではない”に書き換える。これにより、ストレージ装置10とストレージ装置20との間の順序性保証データ転送が継続して実行されることになる。
バッファセット管理テーブル203は、各バッファセットに関する情報をテーブル状に管理する。
図9は実施形態の一例としてのバッファセット管理テーブル203を例示する図である。
バッファセット管理テーブル203には、バッファセット管理テーブル103と同様に、バッファセット毎、すなわち、バッファセットIDに対して、バッファセットリンクPrev及びバッファセットリンクNextが関連付けて登録されている。
また、バッファセット管理テーブル203は、バッファセットを構成する各バッファ領域の状態を管理している。
すなわち、バッファセットを構成する各バッファ領域のバッファID(送信バッファID,受信バッファID)に対して、バッファ受信状態,バッファセット管理テーブル受信状態及び受信可不可状態が関連付けて登録されている。バッファ受信状態及びバッファセット管理テーブル受信状態としては、“送信中”もしくは“送信済み”が設定される。又、受信可不可状態としては、“Mirror受信不可”,“Local受信不可”,“不可”及び“可”のいずれかが設定される。すなわち、ストレージ装置10においてローカルバッファ40における各バッファ領域や、ミラーバッファ41におけるそのミラー領域が受信可能であるか否かを示す情報が設定される。
例えば、図3に示すストレージ装置10において、CM#1がデグレードすると、CM#0はローカルバッファ40側だけで受信して、CM#1はローカルバッファ40が使えずに、CM#0のミラーバッファ41側がCM#1のローカルバッファ40の肩代わりで受信する状態になる。
このとき、受信バッファID“0x10xx”のバッファ領域は、“Mirror 受信不可”の状態となり、又、受信バッファID“0x11xx”のバッファ領域は、“Local 受信不可”の状態となる。なお、バッファID中の“x”は、変数(例えば、0〜3の整数)を示す。
ここで、CM#0とCM#1との両方がデグレードとなると、受信バッファID“0x10xx”及び“0x11xx”の各バッファ領域は、いずれもLocal/Mirror 両方とも受信不可の状態、すなわち“不可”の状態になる。
バッファセット管理テーブル203は、例えば、データ受信時やデータ展開時、バッファセット解放時、等のタイミングで更新される。
(B)動作
実施形態の一例としてのストレージシステム1における初回ネゴシエーション処理を、図11を参照しながら図10に示すフローチャート(ステップA1〜A9)に従って説明する。なお、図11は実施形態の一例としてのストレージシステム1における初回ネゴシエーション直後の受信バッファID管理テーブル101,201を例示する図である。
ストレージ装置10において、送信側ネゴシエーション処理部13は、ネゴシエーションが行なわれたか否かを確認する(ステップA1)。既にネゴシエーションが行なわれている場合には(ステップA1のNOルート参照)、処理を終了する。
ネゴシエーションが未だ行なわれていない場合には(ステップA1のYESルート参照)、送信側ネゴシエーション処理部13は、ストレージ装置20の受信側ネゴシエーション処理部23に対して通知(初期通知)を行なう(ステップA2)。
受信側ネゴシエーション処理部23は、各ペアCMについて、その少なくとも一方のCMがアップグレードしているか否かを確認する(ステップA3)。ペアCMを構成する両方のCMがデグレードしている場合には(ステップA3のNOルート参照)、ステップA8に移行する。
ペアCMを構成する少なくとも一方のCMがアップグレードしている、すなわち正常に動作している場合には(ステップA3のYESルート参照)、受信側ネゴシエーション処理部23は、バッファ管理テーブル202の初期化を行なう(ステップA4)。又、ここで、バッファ枯渇により生じたホルト処理において行なわれるネゴシエーションの場合には、受信側バッファデータロストの状態を忘れる処理を行なう。具体的には、テーブル管理部27は、バッファ管理テーブル202における受信側バッファデータロスト状態を“ロスト状態ではない”に設定する。
受信側ネゴシエーション処理部23は、バッファセット管理テーブル203の初期化を行なう(ステップA5)。更に、受信側ネゴシエーション処理部23は、ストレージ装置10に対して空き受信バッファIDの通知を行なう(ステップA6)。これにより、図11に示すように、受信バッファID管理テーブル101,201において、各バッファIDに“未割当”が設定される。又、受信側ネゴシエーション処理部23は、バッファ管理テーブル202のネゴシエーション状態に“ネゴシエーション処理済み”を設定する。
ストレージ装置10においては、送信側ネゴシエーション処理部13が、バッファ管理テーブル102及びバッファセット管理テーブル103の初期化を行なう(ステップA7)。
また、ここで、バッファ枯渇により生じたホルト処理において行なわれるネゴシエーションの場合には、受信側バッファデータロストの状態を忘れる処理を行なう。具体的には、テーブル管理部17は、バッファ管理テーブル102における受信側バッファデータロスト状態を“ロスト状態ではない”に設定する。
そして、送信側ネゴシエーション処理部13は、バッファ管理テーブル102のネゴシエーション状態に“ネゴシエーション処理済み”を設定する(ステップA8)。
また、セッション管理テーブル104において、コピーセッションの状態が “Copying” から “Equivalent” に遷移すると、ストレージ装置10,20間で順序性保証データ転送が再開可能となる。これにより、ストレージ装置10,20間で、図12に示すRECコンシステンシ転送(順序性保証データ転送)が再開され(ステップA9)、処理を終了する。又、バッファ管理テーブル102,202のバッファ状態には“Active”が設定される。
このように、ネゴシエーション処理が完了し、バッファ管理テーブル102,202のネゴシエーション状態に“ネゴシエーション済み”が設定され、バッファ状態に“Active”が設定されると、RECバッファ30,40,41へのバッファリングが可能となる。すなわち、ストレージ装置10において、ホスト2からI/O処理を受け付け可能な状態となる。
次に、実施形態の一例としてのストレージシステム1におけるRECコンシステンシ転送の処理を、図12に示すフローチャート(ステップB1〜B18)に従って説明する。
ホスト2からストレージ装置10に対してライト処理が行なわれると、ストレージ装置10において、I/O処理を受け付ける(ステップB1)。
ここで、RECバッファ30が枯渇状態であるか否かを確認し(ステップB2)、RECバッファ30が枯渇した状態であれば(ステップB2のYESルート参照)、ホルト処理を起動して(ステップB3)、処理を終了する。なお、ホルト処理については、図15及び図16を参照しながら後述する。
RECバッファ30が枯渇していない場合には(ステップB2のNOルート参照)、格納予約処理部111が、ホスト2から送信されたライトデータをバッファメモリに格納し、RECバッファ30に格納する準備を行なう(ステップB4)。
格納処理部112は、RECバッファ30へのデータの格納制御を行なう(ステップB5)。
例えば、RECバッファ30のバッファ領域へデータを格納してから所定期間を経過したり、アクティブな世代の領域のバッファ領域の空き容量が枯渇すると、バッファ切替処理部121は、RECバッファ30のアクティブな世代を、次世代のバッファ領域に切り替える(ステップB6)。
その後、割当処理部122が、受信バッファID管理テーブル101を参照して、受信側バッファIDを割り当て、転送処理部123が、バッファセットのデータを、割当処理部122によって割り当てられたバッファIDとともにストレージ装置20に送信する(ステップB7)。転送処理部123はバッファ状態に“Active”が設定されていれば、データ転送を実行する。
ストレージ装置20においては、受信処理部211が、ストレージ装置10から送信されたバッファセットのデータを受信し(ステップB8)、ローカルバッファ40及びミラーバッファ41に格納する。展開処理部212は、ローカルバッファ40もしくはミラーバッファ41のデータをディスク装置231内へ展開する(ステップB9)。
テーブル管理部27は、バッファ管理テーブル202の受信側バッファデータロスト状態を参照して、ロスト状態であるか否かを確認する(ステップB10)。受信側バッファデータロスト状態に“ロスト状態”が設定されている場合には(ステップB10のYESルート参照)、テーブル管理部27は、セッション管理テーブル204におけるコピーセッションの状態(フェーズ)を“Copying(整合性なし)”から“Equivalent(整合性あり)”に書き換える(ステップB11)。コピーセッションの状態が “Copying” から “Equivalent” に遷移すると、ストレージ装置10,20間で順序性保証データ転送が再開可能となる。
また、テーブル管理部27は、バッファ管理テーブル202における受信側バッファデータロスト状態を“ロスト状態ではない”に設定する(ステップB12)。すなわち、受信側バッファデータロストの状態を忘れる。そして、バッファ解放処理部213は、データの格納に用いたローカルバッファ40及びミラーバッファ41を解放する(ステップB13)。又、バッファ解放処理部213は、バッファ解放通知により、解放したバッファ領域のバッファID(受信バッファID)をストレージ装置10に通知する。一方、受信側バッファデータロスト状態に“ロスト状態”が設定されていない場合には(ステップB10のNOルート参照)、ステップB11,B12をスキップしてステップB13に移行する。
ストレージ装置10においても、テーブル管理部17は、バッファ管理テーブル102の受信側バッファデータロスト状態を参照して、ロスト状態であるか否かを確認する(ステップB14)。受信側バッファデータロスト状態に“ロスト状態”が設定されている場合には(ステップB14のYESルート参照)、テーブル管理部27は、セッション管理テーブル104におけるコピーセッションの状態(フェーズ)を“Copying(整合性なし)”から“Equivalent(整合性あり)”に書き換える(ステップB15)。ストレージ装置10とストレージ装置20との両方においてコピーセッションの状態が“Copying” から “Equivalent” に遷移すると、ストレージ装置10,20間で順序性保証データ転送が再開される。
また、テーブル管理部17は、バッファ管理テーブル102における受信側バッファデータロスト状態を“ロスト状態ではない”に設定する(ステップB16)。すなわち、受信側バッファデータロストの状態を忘れる。
そして、割当処理部122が、受信バッファID管理テーブル101を参照して、空き受信バッファIDの割当処理を行なう(ステップB17)。又、受信側バッファデータロスト状態に“ロスト状態”が設定されていない場合には(ステップB14のNOルート参照)、ステップB15,B16をスキップしてステップB17に移行する。その後、バッファ解放処理を行ない(ステップB18)、処理を終了する。
なお、この図12に示すフローチャートにおいては、ステップB1においてIO処理が行なわれた以降にステップB7の転送処理が実行されているが、IO処理と転送処理とは同期して行なわれるものではない。すなわち、RECバッファ40,41が受信可能な状態となれば、ステップB7以降の処理が実行される。
次に、実施形態の一例としてのストレージシステム1における受信側デグレード処理部24によるデグレード処理を、図14を参照しながら、図13に示すフローチャート(ステップC1〜C4)に従って説明する。なお、図14は実施形態の一例としてのストレージシステム1においてストレージ装置20のCMをデグレードさせる例を示す図である。この図14に示す例においては、ストレージ装置20のCM#0に異常が検知されデグレードさせる。
この図14に示すように、ストレージ装置20のCM#0でリカバリ不可な異常が検知されると、受信側デグレード処理部24は、デグレード対象であるCM#0のローカルバッファ40を受信不可に設定する(ステップC1)。
また、受信側デグレード処理部24は、デグレード対象であるCM#0のミラーバッファ41をミラーリング不可に設定する(ステップC2)。すなわち、CM#1のローカルバッファ40のデータのコピーの格納を不可にして、CM#0をデグレードさせる。なお、これらのステップC1,C2の順序は逆であってもよく、又、同時に行なってもよい。
その後、受信側デグレード処理部24は、デグレードさせたCM#0とペアCMを構成するCM#1もデグレードしているか否か、すなわち、ペアCMを構成するCM#0,CM#1の両方がデグレードしているかを確認する(ステップC3)。これらのペアCMの両方がデグレードしている場合には(ステップC3のYESルート参照)、ステップC4において、受信側ホルト処理部25が、ホルト処理を行なって(ステップC4)、処理を終了する。なお、ホルト処理については、図15及び図16を参照しながら後述する。
また、ペアCM(CM#0,CM#1)の少なくとも一方のCMがデグレードしていない場合には(ステップC3のNOルート参照)、そのまま処理を終了する。
次に、実施形態の一例としてのストレージシステム1におけるホルト処理を、図16を参照しながら、図15に示すフローチャート(ステップD1〜D12)に従って説明する。なお、図16は実施形態の一例としてのストレージシステム1のストレージ装置20においてホルト状態が検出される状態を示す図である。この図16に示す例においては、ストレージ装置20においてペアCMを構成するCM#0及びCM#1の両方がデグレードしている。
前述の如く、本ストレージシステム1においては、ペアCMを構成する2つのCMが同時にデグレードした場合には、エラーサスペンド状態にはせずに、ホルト状態へ切り替える。
ホルト状態が検出されると、ストレージ装置20において、受信側ホルト処理部25は、ホルト要因がペアCMを構成するCMがともにデグレードしたことであるか否かを確認する(ステップD1)。ホルト要因がペアデグレードである場合には(ステップD1のYESルート参照)、次に、ストレージ装置20において受信したデータの展開中であったか否かを確認する(ステップD2)。
展開中であった場合には(ステップD2のYESルート参照)、ストレージ装置20においてRECバッファ40,41に格納されたバッファは、ストレージ装置10とストレージ装置20との間で整合性がない状態であると考えられる。受信側ホルト処理部25は、テーブル管理部27を介して、セッション管理テーブル204におけるコピーセッションの状態(フェーズ)を“Equivalent(整合性あり)”から“Copying(整合性なし)”に変更する。(ステップD3)。これにより、ストレージ装置20においてRECバッファ40,41に格納されたデータは破棄されることとなる。
そして、受信側ホルト処理部25は、RECバッファ40,41のデータを破棄し(ステップD4)、バッファ管理テーブル202において、受信側バッファデータロスト状態に“ロスト状態である”旨の設定を行なう。すなわち、受信バッファデータロスト状態を覚える(ステップD5)。そして、受信側ホルト処理部25はホルト検出の待ち合わせを行なう(ステップD6)。なお、このホルト検出の待ち合わせは既知の手法であり、その詳細な説明は省略する。
また、ホルト要因がペアCMを構成するCMがともにデグレードしたことではない場合(ステップD1のNOルート参照)や、展開中でなかった場合には(ステップD2のNOルート参照)、ステップD3〜D5の処理をスキップしてステップD6に移行する。
一方、ストレージ装置10においては、送信側ホルト処理部15が、ストレージ装置20におけるホルト状態を検出し(ステップD7)、ストレージ装置20へのデータ転送を中止させるとともに、バッファの状態を“Buffering”とする(ステップD8)。これにより、転送処理部123によるストレージ装置10へのデータ転送は行なわれないが、RECバッファ30へのデータの格納(バッファリング)は行なわれることとなる。
送信側ホルト処理部15は、テーブル管理部17を介して、バッファ管理テーブル102において、受信側バッファデータロスト状態に“ロスト状態である”旨の設定を行なう。すなわち、受信バッファデータロスト状態を覚える(ステップD9)。
また、送信側ホルト処理部15(テーブル管理部17)は、セッション管理テーブル104におけるコピーセッションの状態(フェーズ)を“Equivalent(整合性あり)”の状態から“Copying(整合性なし)”に変更する(ステップD10)。
その後、送信側コピー処理部12による再送信の準備を行ない(ステップD11)、送信側ネゴシエーション処理部13によるネゴシエーション処理を行なう(ステップD12)。
このネゴシエーション処理において、図10のステップA3〜A9と同様の処理が行なわれる。すなわち、受信側ネゴシエーション処理部23が、各ペアCMについて、その少なくとも一方のCMがアップグレードしているか否かを確認する。そして、ペアCMを構成する少なくとも一方のCMがアップグレードしている場合には、ネゴシエーションが行なわれる。これにより、バッファ管理テーブル102,202のネゴシエーション状態に“ネゴシエーション済み”が設定され、バッファ状態に“Active”が設定されると、RECバッファ30,40,41への格納処理やバッファ切替処理が可能となり、ストレージ装置10からストレージ装置20へデータ転送可能な状態となる。
ストレージ装置10からストレージ装置20へデータ転送可能な状態になると、図12のステップB7以降の処理が実行される。すなわち、ストレージ装置10からストレージ装置20へデータ転送が再開される。
コピー元のストレージ装置10は、バッファセット管理テーブル103を参照し、最後に実行していたバッファセットのコピーから再開する。
これにより、ストレージ装置10のRECバッファ30とストレージ装置20のRECバッファ40,41との間の順序性が保証され、RECセッションを張り直し初期コピーを行なうことなく、順序性保証データ転送を再開することができる。
次に、実施形態の一例としてのストレージシステム1のストレージ装置10においてRECバッファ30の枯渇が生じた場合の処理を、図17に示すフローチャート(ステップF1〜F5)に従って説明する。
ストレージ装置10においてRECバッファ30の枯渇が検出されると、テーブル管理部17は、バッファ管理テーブル102におけるバッファ状態に“Halt”を設定する(ステップF1)。
また、テーブル管理部17は、セッション管理テーブル104において、“Equivalent”となっているコピーセッションを“Copying”に変更する(ステップF2)。
ホスト2等によりボリュームへの変更が行なわれると、その変更箇所がコピービットマップに記憶される(ステップF3)。 その後、送信側コピー処理部12による再送信の準備を行ない(ステップF4)、送信側ネゴシエーション処理部13によるネゴシエーション処理を行ない(ステップF5)、処理を終了する。
次に、実施形態の一例としてのストレージシステム1のストレージ装置10における差分ビットマップコピー処理について、図18に示すフローチャート(ステップG1〜G7)に従って説明する。なお、ストレージ装置10において、差分ビットマップコピーのコピースケジュール(差分ビットマップコピースケジュール)は定期的に起動される。
ストレージ装置10においては、先ず、送信側ネゴシエーション処理部13によるネゴシエーションが行なわれているか否かを確認する(ステップG1)。ネゴシエーションが未だ行なわれていない場合には(ステップG1のNOルート参照)、処理を終了する。
ネゴシエーションが行なわれている場合には(ステップG1のYESルート参照)、バッファ管理テーブル102における受信側バッファデータロスト状態を参照して、“ロスト状態ではない”であるか否かを確認する(ステップG2)。
受信側バッファデータロスト状態に“ロスト状態ではない” が設定されている場合には(ステップG2のYESルート参照)、送信側コピー処理部12が、コピービットマップに記憶されている更新箇所を差分コピースケジュールに反映させる(ステップG3)。
送信側コピー処理部12は、差分コピースケジュールに従って、差分ビットマップコピーを行なう(ステップG4)。
送信側コピー処理部12は、セッションのコピービットマップに記憶されている全ての差分コピーが完了したか否かを確認する(ステップG5)。 差分コピー(差分ビットマップコピー)が完了していない場合には(ステップG5のNOルート参照)、差分コピーが完了するまでステップG5を繰り返し行なう。
差分コピー(差分ビットマップコピー)が完了した場合には(ステップG5のYESルート参照)、テーブル管理部17は、セッション管理テーブル104におけるコピーセッションの状態(フェーズ)を“Copying”から“Equivalent”に書き換える(ステップG6)。
これにより、ストレージ装置10,20間で順序性保証データ転送が再開可能となり、ストレージ装置10,20間で、図12に示すRECコンシステンシ転送(順序性保証データ転送)が再開され(ステップG7)、処理を終了する。
また、受信側バッファデータロスト状態に“ロスト状態” が設定されている場合も(ステップG2のNOルート参照)、処理を終了する。
このように、ストレージ装置10においてRECバッファ30の枯渇によるホルト状態となった場合であっても、差分ビットマップコピーを行なうことにより、ストレージ装置10,20間で、RECコンシステンシ転送を再開することができる。
次に、実施形態の一例としてのストレージシステム1における受信側アップグレード処理部26によるアップグレード処理を、図20を参照しながら、図19に示すフローチャート(ステップE1〜E2)に従って説明する。なお、図20は実施形態の一例としてのストレージシステム1のストレージ装置20においてアップグレードされた状態を示す図である。この図20に示す例においては、ストレージ装置20においてデグレードしていたCM#0がアップグレードされている。
受信側アップグレード処理部26は、アップグレードの対象のCM(例えば、CM#0)のローカルバッファ40を受信可能に設定する(ステップE1)。
また、受信側アップグレード処理部25は、アップグレード対象であるCM#0のミラーバッファ41をミラーリング可に設定する(ステップE2)。すなわち、CM#1のローカルバッファ40のデータのコピーの格納を可能な状態にして、CM#0をアップグレードさせる。なお、これらのステップE1,E2の順序は逆であってもよく、又、同時に行なってもよい。
ペアデグレードの状態のCMの少なくとも1つのCMをアップグレードさせることにより、ペアデグレードが解消される。これにより、送信側ネゴシエーション処理部13及び受信側ネゴシエーション処理部23によるネゴシエーションが実行される(図10のステップA3のYESルート参照)。ネゴシエーションが実行されることにより、前述の如く、バッファ状態に“Active”が設定され、ストレージ装置10からストレージ装置20へデータ転送が再開される。
(C)効果
このように、実施形態の一例としてのストレージシステム1によれば、ストレージ装置10からストレージ装置20へのRECコンシステンシ・モードコピー(順序性保証データ転送)時において、コピー先のストレージ装置20でRECバッファ40,41からのデータ展開時にペアデグレードが発生した場合には、エラーサスペンド状態にはしないで、ホルト状態へ切り替える。
このホルト状態において、ストレージ装置20において受信したデータの展開中であった場合に、受信側ホルト処理部25及び送信側ホルト処理部15が、セッション管理テーブル204,104におけるコピーセッションの状態(フェーズ)を“Equivalent(整合性あり)”から“Copying(整合性なし)”に変更する。更に、受信側ホルト処理部25及び送信側ホルト処理部15が、バッファ管理テーブル202,102において、受信側バッファデータロスト状態に“ロスト状態である”旨の設定を行なう。
その後、ストレージ装置10,20間でデータ転送が再開された場合に、受信側バッファデータロスト状態に“ロスト状態”が設定されている場合には、テーブル管理部27,17が、セッション管理テーブル204,104におけるコピーセッションの状態(フェーズ)を“Copying(整合性なし)”から“Equivalent(整合性あり)”に書き換える。これにより、RECセッションを継続することができ、更新差分のコピーを実施するだけで順序性保障されたREC(RECコンシステンシ)を再開することができる。従って、ストレージ装置20においてペアデグレードが発生した場合においても、RECセッションを張り直し初期コピーを最初からやり直す必要がなく、短時間でデータ転送を再開することができる。
ペアデグレードの状態において、ペアCMを構成しているCMのうち少なくとも一方がアップグレードされると、送信側ネゴシエーション処理部13及び受信側ネゴシエーション処理部23によるネゴシエーション処理が開始される(図10のステップA3のYESルート参照)。ネゴシエーションが実行されることにより、前述の如く、バッファ状態に“Active”が設定され、ストレージ装置10からストレージ装置20へデータ転送が再開される。すなわち、ストレージ装置10とストレージ装置20との間でRECセッションを張りなおす必要がなく、ストレージ装置10からストレージ装置20へのRECセッションを再開される。ストレージ装置10とストレージ装置20とが等価となった時点で順序性保証されたRECコンシステンシ動作が再開される。このように、RECセッションを張り直し初期コピーを行なうことなく、データ転送を再開させることができる。
また、ストレージ装置20において、展開処理部212がバッファセットのデータの展開処理を完了すると、バッファ解放処理部213は、バッファ解放通知により受信バッファIDをストレージ装置10に通知する。すなわち、解放したバッファ領域の受信バッファIDの通知と解放通知とを1回の通信でストレージ装置10に通知する。これにより、ストレージ装置20からストレージ装置10に対して、空きバッファ通知を短時間で送信することができるとともに、通信回数を低減させることができる。従って、転送効率を向上させ、ネットワーク50を有効に用いることができる。
ストレージ装置10,20間の順序性保証データ転送途中でストレージ装置20においてペアデグレードが生じてコピーセッションが停止された場合には、コピーセッションの状態が“Copying” から “Equivalent” に遷移して再開されると、コピー元のストレージ装置10は、このバッファセット管理テーブル103を参照し、最後に実行していたバッファセットのコピーを再度行なう。
これにより、ストレージ装置10のRECバッファ30とストレージ装置20のRECバッファ40,41との間の順序性が保証され、RECセッションを張り直し初期コピーを行なうことなく、順序性保証データ転送を再開することができる。
また、ストレージ装置10,20間の順序性保証データ転送途中でストレージ装置20においてペアデグレードが生じると、受信側ホルト処理部25(テーブル管理部27)は、セッション管理テーブル204におけるコピーセッションの状態(フェーズ)を“Equivalent(整合性あり)”から“Copying(整合性なし)”に変更する。これにより、コピー元であるストレージ装置10において何らかの障害が生じてバッファセット管理テーブル103のデータが損傷した場合にも、ストレージ装置10,20間でRECバッファ30,40,41のデータに整合性が無いことを知ることができ、信頼性を向上させることができる。
(D)その他
開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成及び各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
例えば、上述した実施形態においては、ストレージ装置10のディスク装置131のデータのコピーをストレージ装置20にデータ転送して、ストレージ装置20のディスク装置231に格納する例について説明しているが、これに限定されるものではない。ストレージ装置20のディスク装置231のデータのコピーをストレージ装置10にデータ転送して、ストレージ装置10のディスク装置131に格納してもよい。すなわち、ストレージ装置20がストレージ装置10の各機能を備えるとともに、ストレージ装置10がストレージ装置20の各機能を備えてもよい。
また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
1 ストレージシステム
2,3 ホスト
10,20 ストレージ装置
11 IO処理部
12 送信側コピー処理部
13 送信側ネゴシエーション処理部
14 送信側デグレード処理部
15 送信側ホルト処理部
16 送信側アップグレード処理部
17,27 テーブル管理部(バッファ管理部,セッション管理部)
21 受信側コピー処理部
23 受信側ネゴシエーション処理部
24 受信側デグレード処理部
25 受信側ホルト処理部
26 受信側アップグレード処理部
30,30−0〜30−3 RECバッファ
40,40−0〜40−3 ローカルバッファ(RECバッファ)
41,41−0〜41−3 ミラーバッファ(RECバッファ)
50 リモート回線
101,201 受信バッファID管理テーブル
102,202 バッファ管理テーブル
103,203 バッファセット管理テーブル
104,204 セッション管理テーブル
110,210 CPU
111 格納予約処理部
112 格納処理部
121 バッファ切替処理部
122 割当処理部
123 転送処理部
211 受信処理部
212 展開処理部
213 バッファ解放処理部
124,224 CA
125,225 RA
126,226 DA
127,227 メモリ
130,230 ディスクエンクロージャ
131,231 ディスク装置
511,511−0〜511−3,521,521−0〜521−3 CM(ストレージ制御装置)

Claims (9)

  1. 第1の記憶装置からネットワークを介して接続された第2の記憶装置に対して順序性保証データ転送を行なうストレージシステムにおいて、
    前記第2の記憶装置における冗長化された2以上の制御装置にそれぞれ設けられ、データを冗長化して記憶する冗長化された2以上の受信バッファと、
    前記第1の記憶装置と前記第2の記憶装置との間で順序性保証データのコピー状態の整合性があるか否かを示すコピーセッションの状態を管理するセッション管理部と、
    順序性保証データが前記冗長化された2以上の受信バッファのいずれからも喪失したことを示すバッファデータロスト状態を管理するバッファ管理部と、を備え、
    前記第2の記憶装置が前記ストレージシステムの処理を停止させた要因が、前記第2の記憶装置における記憶媒体へのデータの展開処理中に発生した、前記冗長化された2以上の制御装置の多重故障である場合に、前記セッション管理部は前記コピーセッションの状態に整合性なしを設定し、前記バッファ管理部は前記バッファデータロスト状態をロスト状態であると設定し、
    前記第1の記憶装置と前記第2の記憶装置との間でデータ転送処理が再開された場合に、前記バッファ管理部により前記バッファデータロスト状態が前記ロスト状態であると設定されていると、前記セッション管理部は前記コピーセッションの状態に整合性ありを設定し、前記バッファ管理部は前記バッファデータロスト状態をロスト状態ではないと設定する
    ことを特徴とする、ストレージシステム。
  2. 前記バッファ管理部は、前記第2の記憶装置における前記ストレージシステムの処理停止中において、前記冗長化された2以上の制御装置のうち少なくとも一の制御装置が有効である場合に、当該制御装置の受信バッファのバッファ状態を有効状態に設定することを特徴とする、請求項1記載のストレージシステム。
  3. 前記第2の記憶装置は、展開が完了した時点のバッファ解放通知で今回解放する受信可能な受信バッファ識別情報を前記第1の記憶装置へ通知することを特徴とする、請求項1又は2記載のストレージシステム。
  4. 第1の記憶装置からネットワークを介して接続された第2の記憶装置に対して順序性保証データ転送を行なうストレージシステムにおいて、前記第1又は第2の記憶装置に備えられる制御装置であって、
    前記第2の記憶装置における冗長化された2以上の受信バッファと、
    前記第1の記憶装置と前記第2の記憶装置との間で順序性保証データのコピー状態の整合性があるか否かを示すコピーセッションの状態を管理するセッション管理部と、
    順序性保証データが前記冗長化された2以上の受信バッファのいずれからも喪失したことを示すバッファデータロスト状態を管理するバッファ管理部と、を備え、
    前記第2の記憶装置が前記ストレージシステムの処理を停止させた要因が、前記第2の記憶装置における記憶媒体へのデータの展開処理中に発生した、前記冗長化された2以上の制御装置の多重故障である場合に、前記セッション管理部は前記コピーセッションの状態に整合性なしを設定し、前記バッファ管理部は前記バッファデータロスト状態をロスト状態であると設定し、
    前記第1の記憶装置と前記第2の記憶装置との間でデータ転送処理が再開された場合に、前記バッファ管理部により前記バッファデータロスト状態が前記ロスト状態であると設定されていると、前記セッション管理部は前記コピーセッションの状態に整合性ありを設定し、前記バッファ管理部は前記バッファデータロスト状態をロスト状態ではないと設定する
    ことを特徴とする、ストレージ制御装置。
  5. 前記バッファ管理部は、前記第2の記憶装置における前記ストレージシステムの処理停止中において、前記冗長化された2以上の制御装置のうち少なくとも一の制御装置が有効である場合に、当該制御装置のバッファのバッファ状態を有効状態に設定することを特徴とする、請求項4記載のストレージ制御装置。
  6. 前記第2の記憶装置は、展開が完了した時点のバッファ解放通知で今回解放する受信可能な受信バッファ識別情報を前記第1の記憶装置へ通知することを特徴とする、請求項4又は5記載のストレージ制御装置。
  7. 第1の記憶装置からネットワークを介して接続された第2の記憶装置に対して順序性保証データ転送を行なうストレージシステムにおける順序性保証データ転送方法であって、
    冗長化された2以上の受信バッファは、前記第2の記憶装置における冗長化された2以上の制御装置にそれぞれ設けられ、データを冗長化して記憶し、
    セッション管理部は、前記第1の記憶装置と前記第2の記憶装置との間で順序性保証データのコピー状態の整合性があるか否かを示すコピーセッションの状態を管理し、
    バッファ管理部は、順序性保証データが前記第2の記憶装置において前記冗長化された2以上の受信バッファのいずれからも喪失したことを示すバッファデータロスト状態を管理し、
    前記第2の記憶装置が前記ストレージシステムの処理を停止させた要因が、前記第2の記憶装置における記憶媒体へのデータの展開処理中に発生した、前記冗長化された2以上の制御装置の多重故障である場合に、前記セッション管理部は前記コピーセッションの状態に整合性なしを設定し、前記バッファ管理部は前記バッファデータロスト状態をロスト状態であると設定し、
    前記第1の記憶装置と前記第2の記憶装置との間でデータ転送処理が再開された場合に、前記バッファデータロスト状態が前記ロスト状態であると設定されていると、前記セッション管理部は前記コピーセッションの状態に整合性ありを設定し、前記バッファ管理部は前記バッファデータロスト状態をロスト状態ではないと設定する
    ことを特徴とする、データ転送方法。
  8. 前記バッファ管理部は、前記第2の記憶装置における前記ストレージシステムの処理停止中において、前記冗長化された2以上の制御装置のうち少なくとも一の制御装置が有効である場合に、当該制御装置のバッファのバッファ状態を有効状態に設定することを特徴とする、請求項7記載のデータ転送方法。
  9. 前記第2の記憶装置は、展開が完了した時点のバッファ解放通知で今回解放する受信可能な受信バッファ識別情報を前記第1の記憶装置へ通知することを特徴とする、請求項7又は8記載のデータ転送方法。
JP2013152841A 2013-07-23 2013-07-23 ストレージシステム,ストレージ制御装置及びデータ転送方法 Active JP6167722B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013152841A JP6167722B2 (ja) 2013-07-23 2013-07-23 ストレージシステム,ストレージ制御装置及びデータ転送方法
US14/291,060 US9342418B2 (en) 2013-07-23 2014-05-30 Storage system, storage control device and data transfer method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013152841A JP6167722B2 (ja) 2013-07-23 2013-07-23 ストレージシステム,ストレージ制御装置及びデータ転送方法

Publications (2)

Publication Number Publication Date
JP2015022705A JP2015022705A (ja) 2015-02-02
JP6167722B2 true JP6167722B2 (ja) 2017-07-26

Family

ID=52391498

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013152841A Active JP6167722B2 (ja) 2013-07-23 2013-07-23 ストレージシステム,ストレージ制御装置及びデータ転送方法

Country Status (2)

Country Link
US (1) US9342418B2 (ja)
JP (1) JP6167722B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109207851B (zh) * 2018-09-28 2020-11-17 宝山钢铁股份有限公司 一种超高强钢板及其制造方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10359937B2 (en) * 2013-12-20 2019-07-23 Sandisk Technologies Llc System and method of implementing a table storage support scheme
US9348525B2 (en) * 2014-02-21 2016-05-24 Netapp, Inc. Systems and methods for a storage array-managed initiator cache
US20170322736A1 (en) * 2016-05-09 2017-11-09 Qualcomm Innovation Center, Inc. Reorder active pages to improve swap performance
JP2019057147A (ja) * 2017-09-21 2019-04-11 東芝メモリ株式会社 メモリシステム
US10901868B1 (en) * 2017-10-02 2021-01-26 Marvell Asia Pte, Ltd. Systems and methods for error recovery in NAND memory operations

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6052758A (en) * 1997-12-22 2000-04-18 International Business Machines Corporation Interface error detection and isolation in a direct access storage device DASD system
JP3693523B2 (ja) * 1999-05-18 2005-09-07 株式会社日立製作所 データ転送方法
JP4338075B2 (ja) * 2003-07-22 2009-09-30 株式会社日立製作所 記憶装置システム
US7613785B2 (en) 2003-11-20 2009-11-03 International Business Machines Corporation Decreased response time for peer-to-peer remote copy write operation
JP4382602B2 (ja) * 2004-04-23 2009-12-16 株式会社日立製作所 リモートコピーシステム
JP2006106883A (ja) 2004-09-30 2006-04-20 Toshiba Corp 計算機システム及びリモートレプリケーション方法
JP4355674B2 (ja) 2005-03-17 2009-11-04 富士通株式会社 リモートコピー方法及びストレージシステム
JP4935901B2 (ja) * 2007-05-01 2012-05-23 富士通株式会社 ストレージシステム、ストレージ装置、リモートコピー方法
JP4774085B2 (ja) * 2008-07-31 2011-09-14 富士通株式会社 ストレージシステム
JP5521595B2 (ja) * 2010-02-05 2014-06-18 富士通株式会社 ストレージシステム及びストレージ制御方法
JP5817296B2 (ja) * 2011-07-29 2015-11-18 富士通株式会社 制御装置、制御方法およびストレージ装置
US9075762B2 (en) * 2013-01-04 2015-07-07 International Business Machines Corporation Setting copy permissions for target data in a copy relationship

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109207851B (zh) * 2018-09-28 2020-11-17 宝山钢铁股份有限公司 一种超高强钢板及其制造方法

Also Published As

Publication number Publication date
US20150032981A1 (en) 2015-01-29
US9342418B2 (en) 2016-05-17
JP2015022705A (ja) 2015-02-02

Similar Documents

Publication Publication Date Title
JP6167722B2 (ja) ストレージシステム,ストレージ制御装置及びデータ転送方法
US9128621B2 (en) Storage system control method
CN102652423B (zh) 用于集群选择和协作复制的方法和系统
US8166241B2 (en) Method of improving efficiency of capacity of volume used for copy function and apparatus thereof
US8209505B2 (en) Storage system and method of taking over logical unit in storage system
US6571354B1 (en) Method and apparatus for storage unit replacement according to array priority
US8089487B2 (en) Storage control device and storage system
US9152351B2 (en) Storage device and method for backing up source volume
JP4711688B2 (ja) ストレージシステム
JP2010097385A (ja) データ管理プログラム、ストレージ装置診断プログラム、およびマルチノードストレージシステム
WO2012112308A1 (en) Power failure management in components of storage area network
JP2016057795A (ja) ストレージ制御装置,ストレージシステム及びストレージ制御プログラム
US7984260B2 (en) Storage system provided with a plurality of controller modules
JP5286212B2 (ja) ストレージクラスタ環境でのリモートコピー制御方法及びシステム
JP2010186282A (ja) ディスクアレイ制御装置
JP2008186142A (ja) リモートバックアップ方法及びストレージシステム
JP6974281B2 (ja) ストレージシステム及びストレージ制御方法
JP2015052844A (ja) コピー制御装置,コピー制御方法及びコピー制御プログラム
JP2018073231A (ja) ストレージシステムおよびストレージ装置
JP2010049637A (ja) 計算機システム、ストレージシステム及び構成管理方法
JP2005316762A (ja) ディスク記憶装置及びraid構築方法
JP5348300B2 (ja) データ管理プログラム、およびマルチノードストレージシステム
WO2016084156A1 (ja) ストレージシステム
JP5729043B2 (ja) ストレージ装置および制御装置
JP5772443B2 (ja) ストレージ装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160405

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170314

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170515

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170612

R150 Certificate of patent or registration of utility model

Ref document number: 6167722

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150