JP2015162091A - 記憶制御装置、ストレージシステム、記憶制御方法、および記憶制御プログラム - Google Patents

記憶制御装置、ストレージシステム、記憶制御方法、および記憶制御プログラム Download PDF

Info

Publication number
JP2015162091A
JP2015162091A JP2014036919A JP2014036919A JP2015162091A JP 2015162091 A JP2015162091 A JP 2015162091A JP 2014036919 A JP2014036919 A JP 2014036919A JP 2014036919 A JP2014036919 A JP 2014036919A JP 2015162091 A JP2015162091 A JP 2015162091A
Authority
JP
Japan
Prior art keywords
data
storage
control device
unit
storage control
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.)
Pending
Application number
JP2014036919A
Other languages
English (en)
Inventor
祥成 篠▲崎▼
Yoshinari Shinozaki
祥成 篠▲崎▼
秀憲 山田
Hidenori Yamada
秀憲 山田
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 JP2014036919A priority Critical patent/JP2015162091A/ja
Priority to US14/608,931 priority patent/US20150242146A1/en
Publication of JP2015162091A publication Critical patent/JP2015162091A/ja
Pending legal-status Critical Current

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/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/2076Synchronous techniques
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • 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/2002Error 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 interconnections or communication control functionality are redundant
    • G06F11/2005Error 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 interconnections or communication control functionality are redundant using redundant communication controllers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/28Using a specific disk cache architecture
    • G06F2212/285Redundant cache memory
    • G06F2212/286Mirrored cache memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/312In storage controller

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)
  • Computer Security & Cryptography (AREA)

Abstract

【課題】バックアップの処理時間を削減する。
【解決手段】第1記憶部と、獲得部と、書込部と、要求部と、転送部とを備える記憶制御装置がある。第1記憶部は、第1記憶装置に書き込むデータを記憶する。獲得部は、第1記憶装置へのデータの書き込み要求が与えられたとき、データを書き込むために使用する第1記憶部の第1空き領域を獲得する。書込部は、データを第1記憶部に書き込む。要求部は、書込部による第1記憶部へのデータの書き込みが完了する前に、第2記憶装置に書き込むデータを記憶する第2記憶部を備える転送先の記憶制御装置に対して、データを書き込むために使用する第2記憶部の第2空き領域の獲得を要求する。転送部は、転送先の記憶制御装置に第1記憶部に書き込んだデータを転送する。
【選択図】図1

Description

本発明はデータをバックアップする技術に関する。
ストレージシステムでは、災害などによる被害を最小限に抑えるために、運用系の記憶装置に記憶されているデータを更新するとき、同期して遠隔地にある待機系の記憶装置にデータの更新内容を記憶させる遠隔地バックアップ手法が用いられている。遠隔地バックアップ手法には、例えば、REC(Remote Equivalent Copy)などがある。記憶装置とは、例えば、HD(Hard Disk)などである。以下の説明では、運用系の記憶装置のことを、コピー元の記憶装置(第1記憶装置)とも言う。待機系の記憶装置のことを、コピー先の記憶装置(第2記憶装置)とも言う。遠隔地バックアップのことを、単にバックアップとも言う。また、災害などによる被害を最小限に抑える手法のことを、ディザスタリカバリとも言う。
ストレージシステムでは、サーバなどのホストコンピュータからコピー元の記憶装置にデータを書き込むとき、コピー元の記憶装置に記憶するデータを一時的に記憶するキャッシュメモリを備える転送元の記憶制御装置が用いられている。以下の説明では、ホストコンピュータのことを、単にホストとも言う。また、キャッシュメモリのことを、キャッシュとも言う。転送元の記憶制御装置が備えるキャッシュのことを第1キャッシュとも言う。
また、ストレージシステムでは、転送元の記憶制御装置から転送されたデータをコピー先の記憶装置に書き込むとき、コピー先の記憶装置に記憶するデータを一時的に記憶するキャッシュメモリを備える転送先の記憶制御装置が用いられている。以下の説明では、転送先の記憶装置が備えるキャッシュのことを第2キャッシュとも言う。
転送元の記憶制御装置は、ホストからデータの書き込み要求があると、データを書き込むために、第1キャッシュの空き領域を獲得する。また、転送元の記憶制御装置は、第1キャッシュの空き領域の獲得が完了すると、ホストからデータを取得し、取得したデータを獲得した第1キャッシュの空き領域に書き込む。そして、転送元の記憶制御装置は、第1キャッシュの空き領域の獲得が完了すると、転送先の記憶制御装置に第2キャッシュの空き領域の獲得を要求する。以下の説明では、第1キャッシュの空き領域のことを、第1空き領域とも言う。また、第2キャッシュの空き領域のことを、第2空き領域とも言う。
転送先の記憶制御装置は、転送元の記憶制御装置から第2空き領域の獲得要求を受信すると、第2空き領域を獲得する。
そして、転送元の記憶制御装置は、転送先の記憶制御装置が第2空き領域の獲得を完了すると、第1キャッシュに記憶されたデータを転送先の記憶制御装置に転送開始する。
以上のように、ストレージシステムでは、転送元の記憶制御装置と、転送先の記憶制御装置とを用いて、コピー元の記憶装置の更新内容をコピー先の記憶装置にコピーする。これにより、ストレージシステムでは、コピー元の記憶装置の記憶内容をコピー先の記憶装置にバックアップしている。
関連する技術として、ディスクアレイ装置内には、各ユーザの専用領域であるSLPR(Storage Logical Partition)が設定される。各SLPRは、ポート、キャッシュメモリ、論理デバイス等の各種資源を分割したもので、権限の無いSLPRにホストコンピュータはアクセスできない。また、各SLPRの管理者も、他のSLPRの構成を参照することや変更することはできない。リモートコピー時には、各SLPRにそれぞれ単位時間内転送量が検出される。単位時間内転送量が最大転送量を超えた場合、そのSLPRからホストコンピュータへの応答を意図的に遅らせて、ホストコンピュータからのデータ流入を抑制する技術が知られている。
また、関連する他の技術として、論理ボリュームを論理記憶装置という複数の小領域に分割し、ユーザの指定した領域についてのみをリモートコピー、移行コピー対象とする。また、任意のRAIDグループの任意の論理記憶装置から、論理ボリュームを構成する手段を設ける技術が知られている。
さらに、関連する他の技術として、マスタストレージ装置の通信用メモリ領域は、複数のメモリバッファから成る使用可能バッファと、通信のために割り当てられた複数のメモリバッファから成る使用中バッファとを有する。バッファ制御部は、ストレージ管理装置からのバッファ予約要求に応じて使用可能バッファから指定された予約バッファサイズ分の予約バッファを確保する。そして、バッファ制御部は、ストレージ管理装置からのリモートコピー開始要求に応答して予約バッファ中のメモリバッファを割り当てて使用中バッファとする。リモートコピー部は、使用中バッファを用いてリモートストレージ装置との間でリモートコピーを実行する技術が知られている。
さらに、関連する他の技術として、コピー元装置は、コピー先装置に設けられた受信用バッファの識別に用いられる受信用バッファ識別情報を取得する識別情報取得部と、前記受信用バッファに転送するデータを格納する送信用バッファとを備える。また、コピー元装置は、転送処理を行う際に、送信用バッファに設けられた送信用バッファ識別情報と受信用バッファ識別情報とに基づいて送信用バッファと受信用バッファとを対応づけるデータ転送制御部を備える。さらに、コピー元装置は、対応づけに基づいて送信用バッファのデータを受信用バッファに対して転送する転送処理部を備える技術が知られている(例えば、特許文献1〜特許文献4)。
特開2005−190057号公報 特開2000−132343号公報 特開2005−122235号公報 特開2010−244583号公報
前述した記憶制御技術では、転送元の記憶制御装置において、第1空き領域の獲得や第1空き領域へのデータの書き込みの所要時間が長くなると、他の処理の開始時刻が遅くなり、バックアップの処理時間が長くなるという問題がある。
本発明は、一側面として、バックアップの処理時間を削減する技術を提供する。
本明細書で開示する記憶制御装置のひとつに、第1メモリと、獲得部と、書込部と、要求部と、転送部とを備える記憶制御装置がある。第1記憶部は、第1記憶装置に書き込むデータを記憶する。獲得部は、第1記憶装置へのデータの書き込み要求が与えられたとき、データを書き込むために使用する第1記憶部の第1空き領域を獲得する。書込部は、データを第1記憶部に書き込む。要求部は、書込部による第1記憶部へのデータの書き込みが完了する前に、第2記憶装置に書き込むデータを記憶する第2記憶部を備える転送先の記憶制御装置に対して、データを書き込むために使用する第2記憶部の第2空き領域の獲得を要求する。転送部は、転送先の記憶制御装置に第1記憶部に書き込んだデータを転送する。
1実施態様によれば、バックアップの処理時間を削減することができる。
記憶制御装置の一実施例を示す機能ブロック図である。 ストレージシステムの一実施例を示すブロック図である。 通信経路の一例を示す図である。 同期処理でバックアップする処理の一例を示す図である。 同期処理でバックアップする処理におけるデータ転送の処理時間を示す図である。 非同期処理でバックアップする処理の一例を示す図(その1)である。 非同期処理でバックアップする処理の一例を示す図(その2)である。 非同期処理でバックアップする処理の一例を示す図(その3)である。 非同期処理でバックアップする処理の一例を示す図(その4)である。 同期処理のバックアップの処理時間と非同期処理のバックアップの処理時間との違いを示す図である。 転送元の記憶制御装置の処理を示すフローチャート(その1)である。 転送元の記憶制御装置の処理を示すフローチャート(その2)である。 転送元の記憶制御装置の処理を示すフローチャート(その3)である。 転送元の記憶制御装置の処理を示すフローチャート(その4)である。 転送元の記憶制御装置の処理を示すフローチャート(その5)である。 転送元の記憶制御装置の処理を示すフローチャート(その6)である。 転送元の記憶制御装置の処理を示すフローチャート(その7)である。 転送先の記憶制御装置による空き領域の獲得処理を示すフローチャートである。 中継先の記憶制御装置による空き領域の獲得処理を示すフローチャート(その1)である。 中継先の記憶制御装置による空き領域の獲得処理を示すフローチャート(その2)である。
[実施形態]
実施形態の記憶制御装置について説明する。
図1は、記憶制御装置の一実施例を示す機能ブロック図である。
図1を参照して、実施形態の記憶制御装置について説明する。以下の説明では、転送元の記憶制御装置1、転送先の記憶制御装置2、転送元の記憶制御装置1と同じ筐体内にある中継先の記憶制御装置3、および転送先の記憶制御装置2と同じ筐体内にある中継先の記憶制御装置4の機能を説明する。
また、転送元の記憶制御装置1とは、コピー元の記憶装置に接続された記憶制御装置である。転送先の記憶制御装置2とは、コピー先の記憶装置に接続された記憶制御装置である。中継先の記憶制御装置3と、中継先の記憶制御装置4とは、転送元の記憶制御装置1と、転送先の記憶制御装置2との間でデータや各種要求の送受信を中継する記憶制御装置である。
転送元の記憶制御装置1、転送先の記憶制御装置2、中継先の記憶制御装置3、および中継先の記憶制御装置4の機能は、同じ機能を有するので、転送元の記憶制御装置1の機能を一例として説明する。
記憶制御装置1は、例えば、制御部10と、記憶部20と、送受信部30とを備える。記憶制御装置1は、例えば、後述するコントロールモジュールである。
制御部10は、獲得部11と、取得部12と、書込部13と、要求部14と、転送部15と、決定部16と、通知部17とを含む。記憶部20は、キャッシュ部21と、メモリ部23とを含む。そして、キャッシュ部21は、コピー元の記憶装置に書き込むデータ22を一時的に記憶する。メモリ部23は、識別情報24と、管理情報25と、性能情報26とを記憶する。送受信部30は、受信部31と、送信部32とを含む。データ22とは、書き込み要求において、コピー元の記憶装置に書き込む全データのことである。
獲得部11は、ホストからコピー元の記憶装置へのデータ22の書き込み要求が与えられたとき、データ22を書き込むために使用する第1記憶部の第1空き領域を獲得する。第1記憶部とは、転送元の記憶制御装置1が備える記憶部20のことである。また、第1空き領域とは、例えば、第1記憶部に含まれるキャッシュ部21の記憶領域の一部である。また、書き込み要求は、ホストから送信され、転送元の記憶制御装置1の受信部31で受信されると、獲得部11、要求部14、転送部15、および決定部16に与えられる。そして、書き込み要求には、例えば、データ22の書き込み先の記憶装置の識別番号と、書き込むデータのサイズなどの情報が付与されている。また、書き込み要求には、データ22がバックアップするデータであるか否かを示す実施情報と、バックアップを同期型と非同期型とのどちらで実行するのかを示す種別情報とが付与されても良い。
取得部12は、獲得部11が第1空き領域を獲得したとき、データ22を取得する。取得部12は、例えば、獲得部11が第1空き領域を獲得したとき、ホストにデータ22の取得を要求する。これにより、取得部12は、ホストからの応答として、データ22を取得しても良い。
書込部13は、取得部12がホストから取得したデータ22を第1記憶部に書き込む。
要求部14は、書込部13による第1記憶部へのデータ22の書き込みが完了する前に、第2記憶部を備える転送先の記憶制御装置2に対して、データ22を書き込むために使用する第2記憶部の第2空き領域の獲得を要求する。第2記憶部とは、転送先の記憶制御装置2が備える記憶部20のことであり、第2記憶装置に書き込むデータ22を記憶する。
要求部14は、データ22の書き込み要求が与えられてから、獲得部11が第1空き領域を獲得するまでの獲得時間が第1閾値以上であるか否かを判定しても良い。そして、要求部14は、獲得時間が第1閾値以上であるとき、書込部13が第1記憶部へのデータ22の書き込みを完了する前に、転送先の記憶制御装置に対して、第2空き領域の獲得を要求しても良い。第1閾値は、例えば、ストレージシステムにおいて、非同期処理でバックアップする処理におけるオーバーヘッドが短縮されるように、適宜設定しても良い。
さらに、要求部14は、第1空き領域を獲得してから、書込部13が第1記憶装置に書き込むデータ22を第1記憶部に書き込み完了するまでの書き込み時間が第2閾値以上であるか否かを判定しても良い。そして、要求部14は、書き込み時間が第2閾値以上であるとき、書込部13が第1記憶部へのデータ22の書き込みを完了する前に、転送先の記憶制御装置2に対して、第2空き領域の獲得を要求しても良い。第2閾値は、例えば、ストレージシステムにおいて、非同期処理でバックアップする処理におけるオーバーヘッドが短縮されるように、適宜設定しても良い。
また、要求部14は、データ22の書き込み要求が与えられてから、書込部13が第1記憶装置に書き込むデータ22を第1記憶部に書き込み完了するまでの転送準備時間が第5閾値以上であるか否かを判定しても良い。そして、要求部14は、データ22を第1記憶部に書き込み完了するまでの時間が第5閾値以上であるとき、書込部13が第1記憶部へのデータ22の書き込みを完了する前に、転送先の記憶制御装置2に対して、第2空き領域の獲得を要求する。第5閾値は、例えば、ストレージシステムにおいて、非同期処理でバックアップする処理におけるオーバーヘッドが短縮されるように、適宜設定しても良い。
転送部15は、転送先の記憶制御装置2に第1記憶部に書き込んだデータ22を転送する。
また、転送部15は、書込部13が第1記憶装置に書き込むデータ22のうち、所定量以上のデータが第1記憶部に書込まれたとき、所定量のデータを転送先の記憶制御装置に転送しても良い。以下の説明では、所定量のデータのことを分割データとも言う。所定量のデータとは、例えば、DMA(Direct Memory Access)転送の単位のデータや、データを書き込むキャッシュページの単位のデータでも良い。また、所定量のデータとは、DMA転送の単位の複数個分のデータや、データ22を書き込むキャッシュページの単位の複数個分のデータでも良い。また、所定量のデータのサイズは、非同期処理でバックアップする処理におけるオーバーヘッドが短縮されるように、適宜設定しても良い。
転送部15は、書き込み要求が与えられてから、転送先の記憶制御装置2に第1記憶装置に書き込むデータ22を転送完了するまでの応答時間が第3閾値以上であるか否かを判定しても良い。そして、転送部15は、応答時間が第3閾値以上であるとき、データ22のうち、所定量以上のデータが第1空き領域に書込まれたとき、所定量のデータを転送先の記憶制御装置2に転送する。第3閾値は、例えば、ストレージシステムにおいて、非同期処理でバックアップする処理におけるオーバーヘッドが短縮されるように、適宜設定しても良い。
転送部15は、第1空き領域を獲得してから、書込部13が第1記憶装置に書き込むデータ22を第1記憶部に書き込み完了するまでの書き込み時間が第4閾値以上であるか否かを判定しても良い。そして、転送部15は、書き込み時間が第4閾値以上である場合、データ22のうち、所定量以上のデータが第1空き領域に書込まれたとき、所定量のデータを転送先の記憶制御装置に転送する。第4閾値は、例えば、ストレージシステムにおいて、非同期処理でバックアップする処理におけるオーバーヘッドが短縮されるように、適宜設定しても良い。なお、第4閾値は、第2閾値と同じ時間でも良い。
転送部15は、書込部13が第1記憶装置に書き込むデータ22を第1空き領域に書き込み完了してから、転送先の記憶制御装置2に第1記憶装置に書き込むデータ22を転送完了するまでの転送時間が第6閾値以上であるか否かを判定しても良い。そして、転送部15は、応答時間が第6閾値以上である場合、データ22のうち、所定量以上のデータ22が第1記憶部に書込まれたとき、所定量のデータ22を転送先の記憶制御装置2に転送する。第6閾値が、例えば、ストレージシステムにおいて、非同期処理でバックアップする処理におけるオーバーヘッドが短縮されるように、適宜設定しても良い。
決定部16は、データ22や要求を転送先の記憶制御装置2に転送する通信経路を決定する。決定部16による通信経路の決定については、後述する。
通知部17は、決定部16により決定された通信経路を、通信経路上の記憶制御装置に通知する。通信経路上の記憶制御装置とは、例えば、転送先の記憶制御装置2と、中継先の記憶制御装置3と、中継先の記憶制御装置4とのことである。
ここで、転送先の記憶制御装置2と、中継先の記憶制御装置3と、中継先の記憶制御装置4とが有する機能の中で、転送元の記憶制御装置1と異なる機能を説明する。
転送先の記憶制御装置2が備える第2獲得部は、転送元の記憶制御装置1から第2空き領域の獲得要求を受信したとき、第2記憶部の第2空き領域を獲得する。
転送元の記憶制御装置1において、決定部16は、中継先の記憶制御装置3を介して、転送先の記憶制御装置2にデータ22を転送する通信経路を決定する。また、要求部14は、書込部13による第1記憶部へのデータ22の書き込みが完了する前に、中継するデータ22を記憶する第3記憶部を備える中継先の記憶制御装置3に対してデータ22を書き込むために使用する第3記憶部の第3空き領域の獲得を要求する。そして、中継先の記憶制御装置3が備える第3獲得部は、転送元の記憶制御装置1から第3空き領域の獲得要求を受信したとき、第3記憶部の第3空き領域を獲得する。また、中継元の記憶制御装置3が備える第3要求部は、第3獲得部による第3空き領域の獲得が完了する前に、通知部17から通知された通信経路を参照し、転送先の記憶制御装置2に第2空き領域の獲得を要求する。なお、転送元の記憶制御装置1が中継先の記憶制御装置3を介して、転送先の記憶制御装置2にデータ22を転送する通信処理のことを、クロスアクセスとも言う。
転送元の記憶制御装置1において、決定部16が中継先の記憶制御装置3と、中継先の記憶制御装置4とを介して、転送先の記憶制御装置2にデータ22を転送する通信経路を決定する。第3要求部は、第3獲得部による第3空き領域の獲得が完了する前に、中継するデータ22を記憶する第4記憶部を備える第2中継先の記憶制御装置に対して、データ22を書き込むために使用する第4記憶部の第4空き領域の獲得を要求する。そして、中継先の記憶制御装置4が備える第4獲得部は、第4空き領域の獲得要求を受信したとき、第4記憶部の第4空き領域を獲得する。また、中継先の記憶制御装置4が備える第4要求部は、第4獲得部による第4空き領域の獲得が完了する前に、通知部17から通知された通信経路を参照し、転送先の記憶制御装置2に第2空き領域の獲得を要求する。
キャッシュ部21は、書き込み要求において、ホストから取得したコピー元の記憶装置に書き込むデータ22を一時的に記憶する。
メモリ部23は、バックアップ処理で用いる各種情報を記憶する。
識別情報24には、例えば、ストレージシステムが備える複数の記憶装置それぞれの識別番号を示す情報が格納されている。また、コピー先の記憶装置の識別番号には、例えば、記憶制御装置1からコピー先の記憶装置にデータ22を転送するための複数の通信経路を示す情報が関連付けられて記憶されても良い。決定部16は、例えば、ホストから書き込み要求を与えられたとき、識別情報24に格納されたコピー先の記憶装置の識別情報24に関連付けられた複数の通信経路を参照しても良い。そして、決定部16は、例えば、ラウンドロビンや、過去の通信経路の使用率に応じて通信経路を決定し、データ22の転送処理の負荷分散をしても良い。
また、転送部15は、ホストから書き込み要求が与えられたとき、識別情報24に格納されたコピー先の記憶装置の識別番号を指定して、転送先の記憶制御装置2にデータ22を転送しても良い。これにより、転送先の記憶制御装置2は、コピー先の記憶装置を識別し、転送元の記憶制御装置1から転送されたデータ22をコピー先の記憶装置に書き込む。識別番号は、例えば、LUN(logical unit number)番号でも良い。
管理情報25には、例えば、データ22のうち、第1記憶装置に記憶されたデータを識別する情報が格納されている。すなわち、管理情報25は、第1記憶装置に対するデータ22の書き込みの進捗状況を示す情報である。管理情報25は、例えば、ビットマップでも良い。
性能情報26は、例えば、前回までの処理において計算された各種処理の処理時間を示す情報である。性能情報26には、例えば、獲得時間と、書き込み時間と、転送準備時間と、応答時間と、転送時間とが格納されても良い。性能情報26には、さらに、第1閾値〜第6閾値が格納されても良い。性能情報26は、例えば、キャッシュのヒット率(獲得時間)、レスポンス時間(応答時間)、書き込み性能(書き込み時間)、スループット(転送時間)などが格納されている。
要求部14は、書込部13が第1記憶部へのデータ22の書き込みを完了する前に、転送先の記憶制御装置2に対して、第2空き領域の獲得を要求するか否かを判定するとき、性能情報26に格納された時間と閾値を用いて判定しても良い。また、転送部15は、データ22のうち、所定量のデータを転送先の記憶制御装置2に転送するか否かを判定するとき、性能情報26に格納された時間と閾値を用いて判定しても良い。
受信部31は、ホストや他の記憶制御装置から送信されるデータ22や要求を受信する。
送信部32は、ホストや他の記憶制御装置にデータ22や要求を送信する。
図2は、ストレージシステムの一実施例を示すブロック図である。
図2を参照して、実施形態のストレージシステム5について説明する。図2では、説明の簡単化のため、ストレージシステム5が2つの筐体を備える例を示すが、3つ以上の筐体を備えても良い。
ストレージシステム5は、ホストコンピュータ41、42と、筐体51、52とを備える。筐体51は、コントロールモジュール60、70と、コピー元の記憶装置101とを備える。また、筐体52は、コントロールモジュール80、90と、コピー先の記憶装置102とを備える。なお、図示しないが、各コントロールモジュール60〜90には、複数の記憶装置が接続されても良い。
そして、筐体51と、筐体52とは、ネットワーク6を介して通信可能に接続されている。以下の説明では、ホストコンピュータ41、42のことをホスト41、42とも言う。また、コントロールモジュール60〜90のことを、CM60〜CM90とも言う。
ホスト41は、例えば、サーバであり、筐体51に記憶装置101の識別番号が付与された書き込み要求と、データ22とを送信する。ホスト42は、ホスト41と同じ構成であるため、説明を省略する。
筐体51は、例えば、ストレージ装置であり、コントロールモジュール60、70と、記憶装置101とを備える。筐体52は、筐体51と同じ構成であるため、説明を省略する。
CM60は、制御回路61と、メモリ62と、キャッシュ63と、CA64と、RA65と、FC66、67とを備える。そして、CM60は、例えば、図1の記憶制御装置1として機能する。CM70〜CM90は、CM60と同じ構成要素を用いて構成されるため、説明を省略する。CM70は、例えば、中継先の記憶制御装置3として機能する。また、CM80は、例えば、中継先の記憶制御装置4として機能する。そして、CM90は、例えば、転送先の記憶制御装置2として機能する。以下の説明では、転送元の記憶制御装置1のことを、CM60とも言う。転送先の記憶制御装置2のことを、CM90とも言う。中継先の記憶制御装置3のことを、CM70とも言う。中継先の記憶制御装置4のことを、CM80とも言う。
制御回路61は、CM(Controller Module)60全体の制御をする。そして、制御回路61は、例えば、CPU、マルチコアCPU、FPGA(Field Programmable Gate Array)およびPLD(Programmable Logic Device)などである。制御回路61は、例えば、図1において、制御部10として機能する。なお、記憶部20に記憶されるデータ22と、識別情報24と、管理情報25と、性能情報26とは、例えば、CPU、FPGA、およびPLDのキャッシュに記憶されても良い。
メモリ62は、各種データを記憶する。そして、メモリ62は、例えば、ROM(Read Only Memory)およびRAM(Random Access Memory)などの半導体メモリや、HD(Hard Disk)などで構成される。メモリ62は、例えば、図1において、メモリ部23として機能する。そして、メモリ62は、例えば、図1に示す、識別情報24と、管理情報25と、性能情報26とを記憶しても良い。なお、メモリ62は、例えば、図1において、キャッシュ部21として機能しても良い。この場合には、メモリ62は、図1に示すデータ22を記憶しても良い。
また、ROMは、ブートプログラムなどのプログラムを記憶している。RAMは、制御回路61のワークエリアとして使用される。HDは、OS、アプリケーションプログラム、ファームウェアなどのプログラム、および各種データを記憶している。
メモリ62は、例えば、制御回路61を、制御部10として機能させる記憶制御プログラムを記憶する。
記憶制御処理をするとき、記憶制御装置1は、メモリ62に記憶された記憶制御プログラムをRAMに読み出す。そして、RAMに読み出された記憶制御プログラムを制御回路61で実行することにより、記憶制御装置1は、記憶制御処理を実行する。
なお、記憶制御プログラムは、制御回路61が後述するCA64を介してアクセス可能であれば、ホスト41が有する記憶装置に記憶されていても良い。
キャッシュ63は、ホスト41から送信され、記憶装置101に記憶するデータ22を一時的に記憶する。そして、キャッシュ63は、例えば、SRAM(Static Random Access Memory)、およびRAMなどの半導体メモリで構成される。そして、キャッシュ63は、例えば、図1に示す、データ22を記憶しても良い。なお、キャッシュ63は、例えば、図1において、メモリ部23として機能しても良い。この場合には、キャッシュ63は、図1に示す識別情報24と、管理情報25と、性能情報26とを記憶しても良い。
CA(Channel Adapter)64は、ホスト41との通信を制御する通信インターフェイスである。RA(Remote Adapter)65は、CM80のRA85やCM90のRA95と接続され、筐体52との通信を制御する通信インターフェイスである。FC(Fibre Channel)66は、記憶装置との通信を制御する通信インターフェイスである。CA64と、RA65と、FC66は、例えば、図1において、送受信部30として機能する。
ネットワーク6は、例えば、LAN、無線通信、またはインターネットなどであり、CM60と他の装置を通信接続する。
また、図示しないがCM60は、読書装置と、記録媒体と、入出力インターフェイスと、表示装置と、バスとを備えても良い。
読書装置は、バスを介して制御回路61に制御され、着脱可能な記録媒体のデータのリード/ライトを行なう。そして、読書装置は、例えば、FDD(Floppy Disk Drive)、CDD(Compact Disc Drive)、DVDD(Digital Versatile Disk Drive)、BDD(Blu−ray(登録商標) Disk Drive)およびUSB(Universal Serial Bus)などである。
記録媒体は、各種データを保存する。記録媒体は、例えば、記憶制御プログラムを記憶する。さらに、記録媒体は、図1に示す、識別情報24と、管理情報25と、性能情報26とを記憶しても良い。
そして、記録媒体は、読書装置とバスを介して制御回路61に接続され、制御回路61が読書装置を制御することにより、データのリード/ライトが行なわれる。また、記録媒体は、例えば、FD(Floppy Disk)、CD(Compact Disc)、DVD(Digital Versatile Disk)、BD(Blu−ray(登録商標) Disk)、およびフラッシュメモリなどである。
入出力インターフェイスは、例えば、キーボード、マウス、およびタッチパネルなどと接続され、接続された装置から各種情報を示す信号が入力されると、入力された信号を、バスを介して制御回路61に出力する。また、入出力インターフェイスは、制御回路61から出力された各種情報を示す信号が入力されると、接続された各種装置にその信号を出力する。
表示装置は、例えば、入出力インターフェイスに接続され、各種情報を表示する。
図3は、通信経路の一例を示す図である。
図3を参照して、バックアップ処理で用いる通信経路を説明する。図3には、一例として、記憶装置101をコピー元に設定し、CM90に接続された記憶装置102をコピー先に設定したときの通信経路を示す。
図3に示すように、CM60と、CM90との間の通信経路は、通信経路P1〜P4がある。通信経路P1は、CM60とCM90とが直接通信をする通信経路である。通信経路P2は、CM60とCM90とがCM70を介して通信をする通信経路である。通信経路P3は、CM60とCM90とがCM80を介して通信をする通信経路である。通信経路P4は、CM60とCM90とがCM70とCM80とを介して通信をする通信経路である。通信経路P1〜P4を示す情報は、CM60に接続された記憶装置101をコピー元に設定し、CM90に接続された記憶装置102をコピー先に設定したとき、識別情報24に記憶装置102の識別番号と関連付けられて格納されても良い。
記憶装置101をコピー元に設定し、記憶装置102をコピー先に設定したときの通信経路は、例えば、CM60がRA65を備えていないとき、通信経路P2、P4のみとなる。この場合には、記憶装置102の識別番号と関連付けられて、通信経路P2、P4を示す情報が識別情報24に格納されても良い。
また、記憶装置101をコピー元に設定し、記憶装置102をコピー先に設定したときの通信経路は、例えば、CM90がRA95を備えていないとき、通信経路P3、P4のみとなる。この場合には、記憶装置102の識別番号と関連付けられて、通信経路P3、P4を示す情報が識別情報24に格納されても良い。
以上のように、記憶装置101と記憶装置102との間の通信経路を、識別情報24に設定することにより、ホスト41から受信したデータ22を転送するとき、決定部16は、複数の通信経路の中から通信経路を選択することができる。また、決定部16は、ラウンドロビンや過去の通信経路の使用率に応じて複数の通信経路の中から使用する通信経路を決定することにより、データ22を転送する処理の負荷を分散することができる。
図4は、同期処理でバックアップする処理の一例を示す図である。
図4を参照して、同期処理でバックアップする処理を説明する。同期処理のバックアップとは、例えば、バックアップする処理に含まれる各処理について、1つの処理が終わるごとに、次の処理を順番に実行する処理のことを言う。
図4は、CM60からCM90に、CM70とCM80とを介してデータ22を転送する処理を示す。すなわち、図4は、バックアップ処理において、データ22を転送する処理の手順が最も多くなる例を示している。図4のストレージシステム5は、図2のストレージシステム5と同じ構成である。また、図4では、説明の簡単化のため、各記憶制御装置から制御回路およびメモリの図示を省略している。
ホスト41は、コピー元の記憶装置101にデータ22を書き込むとき、記憶装置101と接続されているCM60に書き込み要求を送信する(S1)。
CM60は、書き込み要求を受信すると、データ22を書き込むために使用するキャッシュ63の第1空き領域(FS:Free Space)68を獲得し、ホスト41に第1空き領域68の獲得完了の通知を送信する(S2)。
ホスト41は、第1空き領域68の獲得完了の通知を受信すると、CM60にデータ22を送信する(S3)。
CM60は、データ22を受信すると、データ22をキャッシュ63に書き込む。そして、CM60は、データ22の書き込みが完了したとき、データ22を転送する通信経路を決定し、CM70にデータ22を転送するために使用するキャッシュ73の第3空き領域78の獲得を要求する(S4)。また、CM60は、決定した通信経路を通信経路上のCM70と、CM80と、CM90とに通知する。そして、CM60は、所定のタイミングで、キャッシュ63に書き込んだデータ22をコピー元の記憶装置101に記憶しても良い。CM60は、例えば、キャッシュ63に書き込んだデータ22を、制御回路61の使用率が少ないときに、コピー元の記憶装置101に記憶しても良い。
CM70は、第3空き領域78の獲得要求を受信すると、第3空き領域78を獲得し、CM60に第3空き領域78の獲得完了の通知を送信する(S5)。
CM60は、第3空き領域78の獲得完了の通知を受信すると、第1空き領域68に書き込んだデータ22をCM70に送信する(S6)。そして、CM60は、ホスト41からの書き込み要求に対する書き込み応答を送信する。そして、ホスト41は、CM60から書き込み応答を受信すると、CM60との通信を終了しても良い。
CM70は、データ22を受信すると、データ22をキャッシュ73に書き込む。そして、CM70は、データ22の書き込みが完了したとき、CM60から通知された通信経路に従って、CM80にデータ22を転送するために使用するキャッシュ83の第4空き領域88の獲得を要求する(S7)。
CM80は、第4空き領域88の獲得要求を受信すると、第4空き領域88を獲得し、CM70に第4空き領域88の獲得完了の通知を送信する(S8)。
CM70は、第4空き領域88の獲得完了の通知を受信すると、第3空き領域78に書き込んだデータ22をCM80に送信する(S9)。
CM80は、データ22を受信すると、データ22をキャッシュ83に書き込む。そして、CM80は、データ22の書き込みが完了したとき、CM60から通知された通信経路に従って、CM90にデータ22を書き込むために使用するキャッシュ93の第2空き領域98の獲得を要求する(S10)。
CM90は、第2空き領域98の獲得要求を受信すると、第2空き領域98を獲得し、CM80に第2空き領域98の獲得完了の通知を送信する(S11)。
CM80は、第2空き領域98の獲得完了の通知を受信すると、第4空き領域88に書き込んだデータ22をCM90に送信する。そして、CM90は、データ22を受信すると、データ22をキャッシュ93に書き込む(S12)。
また、CM90は、キャッシュ93に書き込んだデータ22を記憶装置102に書き込む(S13)。そして、CM90は、データ22を受信したことを、バックアップ処理で用いた通信経路を介してCM60に通知しても良い。
なお、CM90は、所定のタイミングで、キャッシュ93に書き込んだデータ22をコピー先の記憶装置102に記憶しても良い。CM90は、例えば、キャッシュ93に書き込んだデータ22を、制御回路91の使用率が少ないときに、コピー先の記憶装置102に記憶しても良い。
以上のように、ストレージシステム5は、CM60からCM90にデータ22を転送することにより、データ22を記憶装置102に書き込んで、記憶装置101の記憶内容と同じ内容を記憶装置102にバックアップすることができる。
図4で説明したデータ22のバックアップ処理では、S1〜S13までの処理が順番に処理されるので、S1〜S13の処理にかかる時間がバックアップ処理時間として蓄積される。そして、CM60は、例えば、CM90からデータ22を受信したことが通知されたとき、ホスト41にI/O応答を送信する。したがって、バックアップ処理時間が長いほど、CM60からホスト41にI/O応答が返されるまでの時間が長くなる。
図5は、同期処理でバックアップする処理におけるデータ転送の処理時間を示す図である。
図4と図5とを参照して、同期処理でバックアップする処理の処理時間について説明する。
図5は、説明の簡単化のため、バックアップする処理において、転送元の記憶制御装置1であるCM60から転送先の記憶制御装置2であるCM90に直接データ22を転送する処理を一例として説明する。以下の説明では、RECにおいて、CM60とCM90とがSCSI−FCP(Small Computer System Interface Fibre Channel Protocol)を利用して通信しているものとして説明する。また、CM60とCM90と間のRTT(Round−Trip delay Time)は、例えば、40msであるものとする。
SCSI−FCPでは、FCP_CMND、FCP_XFER_RDY、FCP_DATA、FCP_RSPのフレームを使用して、CM60とCM90との間でデータ22の送受信を行う。
まず、CM60は、FCP_CMND(FCP Command)を利用して、CM90に第2空き領域98の獲得を要求する(S21)。
CM90は、CM60からFCP_CMNDを受信すると、第2空き領域98の獲得をする(S22)。
そして、CM90は、第2空き領域98の獲得が完了すると、FCP_XFER_RDY(FCP Ready)を利用して、CM60に第2空き領域98の獲得完了を通知する(S23)。すなわち、CM90は、データ22の受信準備ができたことをCM60に通知する。
CM60は、FCP_XFER_RDYを受信すると、FCP_DATA(FCP Data)を利用して、FCP_CMND前にキャッシュ63に書き込んだデータ22を、CM90に送信する(S24)。
CM90は、FCP_DATAによりデータ22を受信すると、FCP_RSP(FCP Response)を利用して、CM60にデータ22を受信したことを通知する(S25)。
上述のように、CM60は、S21〜S25の処理を実行することにより、データ22をCM90に転送している。
ここで、CM60とCM90と間のRTTが40msであるので、S21、S23、およびS25における各フレームの送受信には、20msの処理時間がかかる。さらに、S22における第2空き領域98の獲得処理時間には、書込みするデータ22のデータ量に応じて、βmsの処理時間がかかるものとする。そして、S24におけるデータ22の送受信には、20msと、転送するデータ22のデータ量と、ネットワーク6の帯域とに応じて加算されるαmsの処理時間がかかるものとする。
したがって、バックアップを同期処理で実行すると、CM60からCM90にデータ22を転送するには、80ms+αms+βmsの処理時間がかかることになる。
さらに、CM90は、S24で受信したデータ22を、第2空き領域98に書き込んでからS25の処理を実行する。したがって、処理時間には、第2空き領域98へのデータ22の書き込み時間も加算されることになる。
また、クロスアクセスする場合には、CM60がCM90にデータ22を転送するとき、CM70とCM80において、第3空き領域や第4空き領域の獲得処理などの処理時間が加算されることになる。
よって、バックアップを同期処理で実行すると、CM60〜CM90において、空き領域の獲得や空き領域へのデータの書き込みの所要時間が長くなると、他の処理の開始時刻が遅くなり、バックアップの処理時間が長くなるという問題がある。
実施形態の記憶制御装置1は、例えば、バックアップする処理におけるデータ転送において、第1空き領域の獲得が完了する前に、転送先の記憶制御装置2に第2空き領域の獲得を要求する。これにより、実施形態の記憶制御装置1は、第1空き領域の獲得をしているとき、転送先の記憶制御装置2に第2空き領域の獲得処理を実行させ、バックアップの処理時間を削減するものである。
また、実施形態の記憶制御装置1は、データ22のうち、所定量以上のデータが第1記憶部に書込まれたとき、所定量のデータを転送先の記憶制御装置2に転送する。これにより、実施形態の記憶制御装置1は、データの転送開始時刻を早くするとともに、転送するデータ22のデータ量と、ネットワーク6の帯域とに応じて加算されるαmsの処理時間を短縮し、バックアップの処理時間を削減するものである。
図6〜図9は、非同期処理でバックアップする処理の一例を示す図である。
非同期処理のバックアップとは、例えば、バックアップする処理に含まれる各処理について、複数の処理を非同期に実行する処理のことを言う。
図6を参照して説明する。
図6は、CM60からCM90に、直接データ22を転送する処理を示す。図6のストレージシステム5は、図2のストレージシステム5と同じ構成である。また、図6では、説明の簡単化のため、各記憶制御装置から制御回路とメモリとの図示を省略している。
ホスト41は、コピー元の記憶装置101にデータ22を書き込むとき、記憶装置101と接続されているCM60に書き込み要求を送信する(S31)。
CM60は、書き込み要求を受信すると、データ22を書き込むために使用するキャッシュ63の第1空き領域68の獲得を開始する(S32)。また、CM60は、データ22を転送する通信経路を決定する。図6では、通信経路を、CM60からCM90に直接データ22を送信する通信経路に決定したものとして説明する。さらに、CM60は、性能情報26を参照して、応答時間が第3閾値以上であるか否かを判定する。図6では、応答時間が第3閾値以上であるものとして説明する。したがって、CM60は、データ22の転送を所定量のデータごとに行なう分割転送方式を用いて転送すると決定する。
そして、CM60は、決定した通信経路に従って、CM90にデータ22を書き込むために使用するキャッシュ93の第2空き領域98の獲得を要求する(S33)。
CM90は、第2空き領域98の獲得要求を受信すると、第2空き領域98の獲得を開始する(S34)。以上により、CM60による第1空き領域68の獲得処理と、CM90による第2空き領域98の獲得処理とが非同期に実行される。
CM60は、第1空き領域68の獲得が完了すると、ホスト41に第1空き領域68の獲得完了の通知を送信する。ホスト41は、第1空き領域68の獲得完了の通知を受信すると、CM60にデータ22を送信する(S35)。CM60は、データ22を受信すると、データ22をキャッシュ63に書き込む。
CM90は、第2空き領域98の獲得が完了すると、CM60に第2空き領域98の獲得完了の通知を送信する。CM60は、第2空き領域98の獲得完了の通知を受信すると、データ22のうち、所定量以上のデータがキャッシュ63に書き込まれたとき、所定量のデータをCM90に送信する。CM60は、所定量のデータをCM90に繰り返し送信することにより、データ22をCM90に送信する(S36)。そして、CM90は、所定量のデータを繰り返し受信することにより、CM60からデータ22を受信する。また、CM90は、CM60から受信した所定量のデータを繰り返しキャッシュ93に書き込むことにより、データ22をキャッシュ93に書き込む。なお、CM90による所定量のデータのキャッシュ93への書き込みは、CM60から所定量のデータを受信するごとに開始される。
そして、CM60は、CM90へのデータ22の送信が完了すると、ホスト41からの書き込み要求に対する書き込み応答をホスト41に送信する。そして、ホスト41は、CM60から書き込み応答を受信すると、CM60との通信を終了しても良い。
また、CM90は、キャッシュ93に書き込んだデータ22を記憶装置102に書き込む(S37)。なお、CM90は、所定のタイミングで、キャッシュ93に書き込んだデータ22をコピー先の記憶装置102に書き込んでも良い。CM90は、例えば、キャッシュ93に書き込んだデータ22を、制御回路91の使用率が少ないときに、コピー先の記憶装置102に書き込んでも良い。
以上のように、実施形態の記憶制御装置1、2は、第1空き領域68の獲得の完了を待つことなく、第2空き領域98の獲得を開始する。すなわち、実施形態の記憶制御装置1、2は、第1空き領域の獲得処理と、第2空き領域の獲得処理とを非同期に実行するので、バックアップの処理時間を削減することができる。また、実施形態の記憶制御装置1、2は、データ22の転送を分割して行い、各データ転送の処理時間を短くすることにより、一度に転送するよりも短い時間でデータ22を転送することができる。さらに、実施形態の記憶制御装置1、2は、データ22の転送を分割し、空き領域にデータ22の書き込みが完了する前に、所定量のデータの転送を開始するので、バックアップ処理の時間を削減することができる。
図7を参照して説明する。
図7は、CM80を介して、CM60からCM90にデータ22を転送する処理を示す。図7のストレージシステム5は、図2のストレージシステム5と同じ構成である。また、図7では、説明の簡単化のため、各記憶制御装置から制御回路とメモリとの図示を省略している。
ホスト41は、コピー元の記憶装置101にデータ22を書き込むとき、記憶装置101と接続されているCM60に書き込み要求を送信する(S41)。
CM60は、書き込み要求を受信すると、データ22を書き込むために使用するキャッシュ63の第1空き領域68の獲得を開始する(S42)。また、CM60は、データ22を転送する通信経路を決定する。図7では、通信経路を、CM80を介して、CM60からCM90にデータ22を送信する通信経路に決定したものとして説明する。さらに、CM60は、性能情報26を参照して、応答時間が第3閾値以上であるか否かを判定する。図7では、応答時間が第3閾値未満であるものとして説明する。したがって、CM60は、データ22を一度の転送処理で送信する一括転送方式を用いて転送すると決定する。
そして、CM60は、決定した通信経路に従って、CM80にデータ22を書き込むために使用するキャッシュ83の第4空き領域88の獲得を要求する(S43)。
CM80は、第4空き領域88の獲得要求を受信すると、第4空き領域88の獲得を開始する(S44)。以上により、CM60による第1空き領域68の獲得処理と、CM80による第4空き領域88の獲得処理とが非同期に実行される。
そして、CM80は、決定した通信経路に従って、CM90にデータ22を書き込むために使用するキャッシュ93の第2空き領域98の獲得を要求する(S45)。
CM90は、第2空き領域98の獲得要求を受信すると、第2空き領域98の獲得を開始する(S46)。以上により、CM60による第1空き領域68の獲得処理と、CM80による第4空き領域88の獲得処理と、CM90による第2空き領域98の獲得処理とが非同期に実行される。
CM60は、第1空き領域68の獲得が完了すると、ホスト41に第1空き領域68の獲得完了の通知を送信する。ホスト41は、第1空き領域68の獲得完了の通知を受信すると、CM60にデータ22を送信する(S47)。CM60は、データ22を受信すると、データ22のキャッシュ63への書き込みを開始する。
CM80は、第4空き領域88の獲得が完了すると、CM60に第4空き領域88の獲得完了の通知を送信する。CM60は、第4空き領域88の獲得完了の通知を受信し、キャッシュ63へのデータ22の書き込みが完了すると、キャッシュ63に書き込んだデータ22をCM80に送信する(S48)。そして、CM80は、データ22を受信すると、データ22のキャッシュ83への書き込みを開始する。さらに、CM60は、CM80へのデータ22の送信が完了すると、ホスト41からの書き込み要求に対する書き込み応答をホスト41に送信する。そして、ホスト41は、CM60から書き込み応答を受信すると、CM60との通信を終了しても良い。
CM90は、第2空き領域98の獲得が完了すると、CM80に第2空き領域98の獲得完了の通知を送信する。CM80は、第2空き領域98の獲得完了の通知を受信し、キャッシュ83へのデータ22の書き込みが完了すると、キャッシュ83に書き込んだデータ22をCM90に送信する(S49)。そして、CM90は、データ22を受信すると、データ22のキャッシュ93への書き込みを開始する。
また、CM90は、キャッシュ93へのデータ22の書き込みが完了すると、キャッシュ93に書き込んだデータ22を記憶装置102に書き込む(S50)。なお、CM90は、所定のタイミングで、キャッシュ93に書き込んだデータ22をコピー先の記憶装置102に書き込んでも良い。CM90は、例えば、キャッシュ93に書き込んだデータ22を、制御回路91の使用率が少ないときに、コピー先の記憶装置102に書き込んでも良い。
以上のように、実施形態の記憶制御装置1、2、4は、第1空き領域の獲得処理と、第2空き領域の獲得処理と、第4空き領域の獲得処理とを非同期に実行するので、バックアップの処理時間を削減することができる。
図8を参照して説明する。
図8は、CM70を介して、CM60からCM90にデータ22を転送する処理を示す。図8のストレージシステム5は、図2のストレージシステム5と同じ構成である。また、図8では、説明の簡単化のため、各記憶制御装置から制御回路とメモリとの図示を省略している。
ホスト41は、コピー元の記憶装置101にデータ22を書き込むとき、記憶装置101と接続されているCM60に書き込み要求を送信する(S61)。
CM60は、書き込み要求を受信すると、データ22を書き込むために使用するキャッシュ63の第1空き領域68の獲得を開始する(S62)。また、CM60は、データ22を転送する通信経路を決定する。図8では、通信経路を、CM70を介して、CM60からCM90にデータ22を送信する通信経路に決定したものとして説明する。さらに、CM60は、性能情報26を参照して、応答時間が第3閾値以上であるか否かを判定する。図8では、応答時間が第3閾値未満であるものとして説明する。したがって、CM60は、データ22を一度の転送処理で送信する一括転送方式を用いて転送すると決定する。
そして、CM60は、CM60が決定した通信経路に従って、CM70にデータ22を書き込むために使用するキャッシュ73の第3空き領域78の獲得を要求する(S63)。
CM70は、第3空き領域78の獲得要求を受信すると、第3空き領域78の獲得を開始する(S64)。以上により、CM60による第1空き領域68の獲得処理と、CM70による第2空き領域78の獲得処理が非同期に実行される。
そして、CM70は、CM60が決定した通信経路に従って、CM90にデータ22を書き込むために使用するキャッシュ93の第2空き領域98の獲得を要求する(S65)。
CM90は、第2空き領域98の獲得要求を受信すると、第2空き領域98の獲得を開始する(S66)。以上により、CM60による第1空き領域68の獲得処理と、CM70による第3空き領域78の獲得処理と、CM90による第2空き領域98の獲得処理とが非同期に実行される。
CM60は、第1空き領域68の獲得が完了すると、ホスト41に第1空き領域68の獲得完了の通知を送信する。ホスト41は、第1空き領域68の獲得完了の通知を受信すると、CM60にデータ22を送信する(S67)。CM60は、データ22を受信すると、データ22のキャッシュ63への書き込みを開始する。
CM70は、第3空き領域78の獲得が完了すると、CM60に第3空き領域78の獲得完了の通知を送信する。CM60は、第3空き領域78の獲得完了の通知を受信し、キャッシュ63へのデータ22の書き込みが完了すると、キャッシュ63に書き込んだデータ22をCM70に送信する(S68)。
そして、CM70は、データ22を受信すると、データ22のキャッシュ73への書き込みを開始する。さらに、CM60は、CM70へのデータ22の送信が完了すると、ホスト41からの書き込み要求に対する書き込み応答をホスト41に送信する。そして、ホスト41は、CM60から書き込み応答を受信すると、CM60との通信を終了しても良い。
CM90は、第2空き領域98の獲得が完了すると、CM70に第2空き領域98の獲得完了の通知を送信する。CM70は、第2空き領域98の獲得完了の通知を受信し、キャッシュ73へのデータ22の書き込みが完了すると、キャッシュ73に書き込んだデータ22をCM90に送信する(S69)。そして、CM90は、データ22を受信すると、データ22のキャッシュ93への書き込みを開始する。
また、CM90は、キャッシュ93へのデータ22の書き込みが完了すると、キャッシュ93に書き込んだデータ22を記憶装置102に書き込む(S70)。なお、CM90は、所定のタイミングで、キャッシュ93に書き込んだデータ22をコピー先の記憶装置101に書き込んでも良い。CM90は、例えば、キャッシュ93に書き込んだデータ22を、制御回路91の使用率が少ないときに、コピー先の記憶装置102に書き込んでも良い。
以上のように、実施形態の記憶制御装置1、2、3は、第1空き領域の獲得処理と、第2空き領域の獲得処理と、第3空き領域の獲得処理とを非同期に実行するので、バックアップの処理時間を削減することができる。
図9を参照して説明する。
図9は、CM70とCM80とを介して、CM60からCM90にデータ22を転送する処理を示す。図9のストレージシステム5は、図2のストレージシステム5と同じ構成である。また、図9では、説明の簡単化のため、各記憶制御装置から制御回路とメモリとの図示を省略している。
ホスト41は、コピー元の記憶装置101にデータ22を書き込むとき、記憶装置101と接続されているCM60に書き込み要求を送信する(S81)。
CM60は、書き込み要求を受信すると、データ22を書き込むために使用するキャッシュ63の第1空き領域68の獲得を開始する(S82)。また、CM60は、データ22を転送する通信経路を決定する。図9では、通信経路を、CM70とCM80とを介して、CM60からCM90にデータ22を送信する通信経路に決定したものとして説明する。さらに、CM60は、性能情報26を参照して、応答時間が第3閾値以上であるか否かを判定する。図9では、応答時間が第3閾値以上であるものとして説明する。したがって、CM60は、データ22の転送を所定量のデータごとに行なう分割転送方式を用いて転送すると決定する。
そして、CM60は、CM60が決定した通信経路に従って、CM70にデータ22を書き込むために使用するキャッシュ73の第3空き領域78の獲得を要求する(S83)。
CM70は、第3空き領域78の獲得要求を受信すると、第3空き領域78の獲得を開始する(S84)。以上により、CM60による第1空き領域68の獲得処理と、CM70による第3空き領域78の獲得処理とが非同期に実行される。
そして、CM70は、CM60が決定した通信経路に従って、CM80にデータ22を書き込むために使用するキャッシュ83の第4空き領域88の獲得を要求する(S85)。
CM80は、第4空き領域88の獲得要求を受信すると、第4空き領域88の獲得を開始する(S86)。以上により、CM60による第1空き領域68の獲得処理と、CM70による第3空き領域78の獲得処理と、CM80による第4空き領域88の獲得処理とが非同期に実行される。
そして、CM80は、CM60が決定した通信経路に従って、CM90にデータ22を書き込むために使用するキャッシュ93の第2空き領域98の獲得を要求する(S87)。
CM90は、第2空き領域98の獲得要求を受信すると、第2空き領域98の獲得を開始する(S88)。以上により、CM60による第1空き領域68の獲得処理と、CM70による第3空き領域78の獲得処理と、CM80による第4空き領域88の獲得処理と、CM90による第2空き領域98の獲得処理とが非同期に実行される。
CM60は、第1空き領域68の獲得が完了すると、ホスト41に第1空き領域68の獲得完了の通知を送信する。ホスト41は、第1空き領域68の獲得完了の通知を受信すると、CM60にデータ22を送信する(S89)。CM60は、データ22を受信すると、データ22のキャッシュ63への書き込みを開始する。
CM70は、第3空き領域78の獲得が完了すると、CM60に第3空き領域78の獲得完了の通知を送信する。CM60は、第3空き領域78の獲得完了の通知を受信すると、データ22のうち、所定量以上のデータがキャッシュ63に書き込まれたとき、所定量のデータをCM70に送信する。CM60は、所定量のデータをCM70に繰り返し送信することにより、データ22をCM70に送信する(S90)。そして、CM70は、所定量のデータを繰り返し受信することにより、CM60からデータ22を受信する。また、CM70は、CM60から受信した所定量のデータ22を繰り返しキャッシュ73に書き込むことにより、データ22をキャッシュ73に書き込む。CM70による所定量のデータのキャッシュ73への書き込みは、CM60から所定量のデータを受信するごとに開始される。さらに、CM60は、CM70へのデータ22の送信が完了すると、ホスト41からの書き込み要求に対する書き込み応答をホスト41に送信する。そして、ホスト41は、CM60から書き込み応答を受信すると、CM60との通信を終了しても良い。
CM80は、第4空き領域88の獲得が完了すると、CM70に第4空き領域88の獲得完了の通知を送信する。CM70は、第4空き領域88の獲得完了の通知を受信すると、データ22のうち、所定量以上のデータがキャッシュ73に書き込まれたとき、所定量のデータをCM80に送信する。CM70は、所定量のデータをCM80に繰り返し送信することにより、データ22をCM80に送信する(S91)。そして、CM80は、所定量のデータを繰り返し受信することにより、CM70からデータ22を受信する。また、CM80は、CM70から受信した所定量のデータ22を繰り返しキャッシュ83に書き込むことにより、データ22をキャッシュ83に書き込む。CM80による所定量のデータのキャッシュ83への書き込みは、CM70から所定量のデータを受信するごとに開始される。。
CM90は、第2空き領域98の獲得が完了すると、CM80に第2空き領域98の獲得完了の通知を送信する。CM80は、第2空き領域98の獲得完了の通知を受信すると、データ22のうち、所定量以上のデータがキャッシュ83に書き込まれたとき、所定量のデータをCM90に送信する。CM80は、所定量のデータをCM90に繰り返し送信することにより、データ22をCM90に送信する(S92)。そして、CM90は、所定量のデータを繰り返し受信することにより、CM80からデータ22を受信する。また、CM90は、CM80から受信した所定量のデータ22を繰り返しキャッシュ93に書き込むことにより、データ22をキャッシュ93に書き込む。CM90による所定量のデータのキャッシュ93への書き込みは、CM80から所定量のデータを受信するごとに開始される。
また、CM90は、キャッシュ93へのデータ22の書き込みが完了すると、キャッシュ93に書き込んだデータ22を記憶装置102に書き込む(S93)。なお、CM90は、所定のタイミングで、キャッシュ93に書き込んだデータ22をコピー先の記憶装置101に書き込んでも良い。CM90は、例えば、キャッシュ93に書き込んだデータ22を、制御回路91の使用率が少ないときに、コピー先の記憶装置102に書き込んでも良い。
以上のように、実施形態の記憶制御装置1〜4は、第1空き領域の獲得処理と、第2空き領域の獲得処理と、第3空き領域の獲得処理と、第4空き領域の獲得処理とを非同期に実行するので、バックアップの処理時間を削減することができる。
また、実施形態の記憶制御装置1〜4は、データ22の転送を分割して行い、各データ転送の処理時間を短くすることにより、一度に転送するよりも短い時間でデータ22を転送することができる。さらに、実施形態の記憶制御装置1〜4は、データ22の転送を分割し、空き領域にデータ22の書き込みが完了する前に、所定量のデータの転送を開始するので、バックアップ処理の時間を削減することができる。
図10は、同期処理のバックアップの処理時間と非同期処理のバックアップの処理時間との違いを示す図である。
図10は、転送元の記憶制御装置1と転送先の記憶制御装置2との間で直接データ22を送受信するバックアップ処理を示している。図10(a)は、同期処理のバックアップ処理を示すシーケンス図である。図11(b)は、非同期処理のバックアップ処理を示すシーケンス図である。
図2、図10(a)を参照して、同期処理のバックアップ処理におけるデータの転送処理を説明する。
転送元の記憶制御装置1は、時刻t1において、ホスト41からのデータ22の書き込み要求を受信すると(SS1)、キャッシュ63の第1空き領域68の獲得を開始する(SS2)。
転送元の記憶制御装置1は、時刻t2において、第1空き領域68の獲得が終了すると、ホスト41からデータ22を取得して、データ22のキャッシュ63への書き込みを開始する(SS3)。
転送元の記憶制御装置1は、時刻t3において、データ22のキャッシュ63への書き込みが完了すると(SS4)、転送先の記憶制御装置2に第2空き領域98の獲得を要求する。転送先の記憶制御装置2は、第2空き領域98の獲得要求を受信すると、第2空き領域98の獲得を開始する。そして、転送先の記憶制御装置2は、第2空き領域98の獲得要求を完了すると(SS5)、第2空き領域98の獲得完了の通知を転送元の記憶制御装置1に送信する(SS6)。
転送元の記憶制御装置1は、転送先の記憶制御装置2が第2空き領域98の獲得完了の通知を受信すると、キャッシュ63に書き込んだデータ22を転送先の記憶制御装置2に送信する。そして、転送先の記憶制御装置2は、データ22を受信すると、データ22の受信完了通知を転送元の記憶制御装置1に通知する。
転送元の記憶制御装置1は、時刻t5において、受信完了通知を転送元の記憶制御装置2から受信すると、ホスト41にデータ22の書き込み処理の完了を示す書き込み応答を送信する(SS7)。
図2、図10(b)を参照して、非同期処理のバックアップ処理におけるデータの転送処理を説明する。また、非同期処理のバックアップ処理では、分割転送方式を用いて、3つの所定量のデータを送信するものとして説明する。
転送元の記憶制御装置1は、時刻t1において、ホスト41からのデータ22の書き込み要求を受信すると(SA1)、転送先の記憶制御装置2に第2空き領域98の獲得を要求し(SA2)、キャッシュ63の第1空き領域68の獲得を開始する(SA3)。
転送先の記憶制御装置2は、第2空き領域98の獲得要求を受信すると、第2空き領域98の獲得を開始する(SA4)。
転送元の記憶制御装置1は、時刻t2において、第1空き領域68の獲得が終了すると、ホスト41からデータ22を取得して、データ22のキャッシュ63への書き込みを開始する(SA5)。
そして、転送先の記憶制御装置2は、第2空き領域98の獲得要求を完了すると、第2空き領域98の獲得完了の通知を転送元の記憶制御装置1に送信する(SA6)。
転送元の記憶制御装置1は、第2空き領域98の獲得完了の通知を受信し、データ22のキャッシュ63へ所定量のデータ1の書き込みが完了すると、所定量のデータ1を転送先の記憶制御装置2に送信する(SA7)。さらに、転送元の記憶制御装置1は、データ22のキャッシュ63へ所定量のデータ2の書き込みが完了すると、所定量のデータ2を転送先の記憶制御装置2に送信する(SA8)。また、転送元の記憶制御装置1は、時刻t3において、データ22のキャッシュ63へ所定量のデータ3の書き込みが完了すると、所定量のデータ3を転送先の記憶制御装置2に送信する(SA9)。
そして、転送先の記憶制御装置2は、データ22を受信すると、データ22の受信完了通知を転送元の記憶制御装置1に通知する。
転送元の記憶制御装置1は、時刻t4において、受信完了通知を転送元の記憶制御装置2から受信すると、ホスト41にデータ22の書き込み処理の完了を示す書き込み応答を送信する(SA0)。
以上のように、同期処理のバックアップ処理では、転送先の記憶制御装置2の第2空き領域98の獲得を、データ22の書き込み開始後に行なっている。これに対して、非同期処理のバックアップ処理では、転送先の記憶制御装置2の第2空き領域98の獲得を他の処理と非同期に実行している。これにより、非同期処理のバックアップ処理では、データ22の書き込み開始時において、転送先の記憶制御装置2の第2空き領域98の獲得が完了している。したがって、非同期処理のバックアップ処理では、データ22の書き込み開始時に、データ22の書き込みを直ちに開始できる。
また、同期処理のバックアップ処理では、転送元の記憶制御装置1のキャッシュ63へのデータ22の書き込みが完了してから、転送先の記憶制御装置2へのデータ22の転送を開始している。これに対して、非同期処理のバックアップ処理では、転送元の記憶制御装置1のキャッシュ63へ所定量のデータが書き込まれた時点で、所定量のデータごとに転送先の記憶制御装置2への転送を開始している。したがって、非同期処理のバックアップ処理では、転送元の記憶制御装置1のキャッシュ63へのデータ22の書き込みを待たずに、データ22の転送を開始できる。
さらに、同期処理のバックアップ処理では、転送元の記憶制御装置1のキャッシュ63へのデータ22の書き込みが完了してから、転送先の記憶制御装置2へデータ22を一括で転送している。これに対して、非同期処理のバックアップ処理では、転送元の記憶制御装置1のキャッシュ63へ所定量のデータが書き込まれるごとに、転送先の記憶制御装置2へ所定量のデータを転送している。したがって、非同期処理のバックアップ処理では、データ転送を多重化して、転送元の記憶制御装置1から転送先の記憶制御装置2へ所定のデータを送信することができる。
以上のように、非同期処理のバックアップ処理では、空き領域の獲得処理と、データの転送処理とを非同期化することにより、例えば、図10示す削減時間(t5−t4)だけ、同期処理のバックアップ処理よりも処理時間を削減することができる。
図11〜図17は、転送元の記憶制御装置の処理を示すフローチャートである。図18は、転送先の記憶制御装置による空き領域の獲得処理を示すフローチャートである。図19、図20は、中継先の記憶制御装置による空き領域の獲得処理を示すフローチャートである。
図1と、図11〜図20とを参照して、実施形態の記憶制御装置が実行するバックアップの処理について説明する。
図11を参照して説明する。
転送元の記憶制御装置1は、ホストからデータ22の書き込み要求を受信する(S101)。ここで、書き込み要求には、データ22がバックアップするデータであるか否かを示す実施情報と、バックアップを同期型と非同期型とのどちらで実行するのかを示す種別情報とが付与されているものとする。非同期型のバックアップとは、例えば、スタック転送やコンシステンシー転送を用いたバックアップ処理のことを言う。
そして、記憶制御装置1は、受信したデータ22に付与された実施情報を参照し、バックアップするデータであるか否かを判定する(S102)。
記憶制御装置1は、データ22がバックアップしないデータであるとき(S102にてNo)、データ22をコピー元の記憶装置に書き込む(S103)。そして、記憶制御装置1は、処理を終了する。
記憶制御装置1は、データ22がバックアップするデータであるとき(S102にてYes)、データ22に付与された種別情報を参照し、データ22に対して実施するバックアップ処理が同期型か非同期型かを判定する(S104)。
記憶制御装置1は、データ22に対して実施するバックアップ処理が非同期型であるとき(S104にてNo)、所定の非同期型のバックアップ処理を実行する(S105)。そして、記憶制御装置1は、処理を終了する。
図12を参照して説明する。
記憶制御装置1は、データ22に対して実施するバックアップ処理が同期型であるとき(S104にてYes)、コピー先の記憶装置に転送をする状態であるか否かを判定する(S201)。
記憶制御装置1は、コピー先の記憶装置に転送をしない状態であるとき(S201にてNo)、ホストから受信したデータをコピー元の記憶装置に書き込む(S202)。
そして、記憶制御装置1は、データ22をコピー元の記憶装置に記憶したことをビットマップに記憶する(S203)。そして、転送元の記憶制御装置1は、処理を終了する。なお、コピー先の記憶装置に転送しない状態とは、コピー先の記憶装置が故障している、転送元の記憶制御装置1と転送先の記憶制御装置2との間の通信経路が故障している、オペレータがバックアップのデータ転送を停止する設定をしているなどの状態がある。また、これらの状態は、発生時に記憶制御装置1に通知され、記憶制御装置1にて認識され手も良い。
記憶制御装置1は、コピー先の記憶装置にアクセス可能であるとき(S201にてYes)、データの通信経路を決定する(S204)。記憶制御装置1は、通信経路を決定したら、決定した通信経路を通信経路上の各記憶制御装置に通知する。以下の説明では、特に断らない限り、記憶制御装置1は、記憶制御装置2と直接通信する通信経路を選択したものとする。
さらに、記憶制御装置1は、性能情報26を参照し、前回までの処理において計算された第1空き領域の獲得時間が第1閾値以上であるか否かを判定する(S205)。
記憶制御装置1は、第1空き領域の獲得時間が第1閾値未満のとき(S205にてNo)、性能情報26を参照し、前回までの処理において計算された書き込み時間が第2閾値以上であるか否かを判定する(S206)。
記憶制御装置1は、書き込み時間が第2閾値未満のとき(S206にてNo)、同期処理でバックアップを実行する(S207)。
記憶制御装置1は、第1空き領域の獲得時間が第1閾値以上のとき(S205にてYes)、非同期処理でバックアップを実行することを決定し、S301の処理を実行する。また、記憶制御装置1は、書き込み時間が第2閾値以上のとき(S206にてYes)、非同期処理でバックアップを実行することを決定し、S301の処理を実行する。
S301以降の処理では、S401〜S406、S501、およびS601〜S606に示すデータの転送処理と、S701〜S703に示す空き領域の獲得処理とは、非同期に実行される。
図13を参照して説明する。
記憶制御装置1は、第1空き領域の獲得を開始する(S301)。
そして、記憶制御装置1は、性能情報26を参照して、応答時間が第3閾値以上であるか否かを判定する(S302)。
記憶制御装置1は、応答時間が第3閾値以上であるとき(S302にてYes)、分割転送方式を選択する(S303)。そして、記憶制御装置1は、S401を実行する。
図14を参照して説明する。
記憶制御装置1は、第1空き領域の獲得を完了すると、ホストからデータ22を取得する(S401)。なお、記憶制御装置1は、S401でホストから取得するデータ22がないとき、S403に続いて実行される処理において、S401を省略してS402を実行しても良い。
このとき、記憶制御装置1は、所定量のデータを記憶できるサイズがあれば、獲得する第1空き領域をデータ22よりも小さいサイズとしてもよい。これにより、記憶制御装置1は、第1空き領域の獲得時間を削減することができる。分割転送方式を用いるときの第1空き領域のサイズは、データ22の転送速度が向上するように適宜設定しても良い。
そして、記憶制御装置1は、取得したデータ22を第1記憶部に書き込む(S402)。
記憶制御装置1は、所定量のデータを第1記憶部に書き込んだか否かを判定する(S403)。
記憶制御装置1は、所定量のデータを第1記憶部に書き込んでいないとき(S403にてNo)、S401の処理を実行する。
記憶制御装置1は、所定量のデータを第1記憶部に書き込んだとき(S403にてYes)、転送先の記憶制御装置2から第2空き領域の獲得完了通知を受信したか否かを判定する(S404)。記憶制御装置1は、転送先の記憶制御装置2から第2空き領域の獲得完了通知を受信するまで、S404の処理を繰り返す(S404にてNo)。
記憶制御装置1は、転送先の記憶制御装置2から第2空き領域の獲得完了通知を受信すると(S404にてYes)、所定量のデータを転送先の記憶制御装置2に送信する(S405)。
そして、記憶制御装置1は、所定量のデータを送信することにより、転送先の記憶制御装置2にデータ22を全て転送したか否かを判定する(S406)。記憶制御装置1は、データ22を全て転送していないとき(S406にてNo)、S401の処理を実行する。
記憶制御装置1は、データ22を全て転送したとき(S406にてYes)、S501の処理を実行する。
図15を参照して説明する。
記憶制御装置1は、ホストに書き込み応答を送信する(S501)。そして、記憶制御装置1は、処理を終了する。
図13を参照して説明する。
記憶制御装置1は、応答時間が第3閾値未満であるとき(S302にてNo)、一括転送方式を選択する(S304)。そして、記憶制御装置1は、S601の処理を実行する。
図16を参照して説明する。
記憶制御装置1は、ホストからデータ22を取得する(S601)。なお、記憶制御装置1は、S601でホストから取得するデータ22がないとき、S603に続いて実行される処理において、S601を省略してS602を実行しても良い。
そして、記憶制御装置1は、取得したデータ22を第1記憶部に書き込む(S602)。
記憶制御装置1は、データ22を第1記憶部に書き込んだか否かを判定する(S603)。
記憶制御装置1は、データ22を第1記憶部に書き込んでいないとき(S603にてNo)、S601の処理を実行する。
記憶制御装置1は、データ22を第1記憶部に書き込んだとき(S603にてYes)、転送先の記憶制御装置2から第2空き領域の獲得完了通知を受信したか否かを判定する(S604)。記憶制御装置1は、転送先の記憶制御装置2から第2空き領域の獲得完了通知を受信するまで、S604の処理を繰り返す(S604にてNo)。
記憶制御装置1は、転送先の記憶制御装置2から第2空き領域の獲得完了通知を受信すると(S604にてYes)、データ22を転送先の記憶制御装置2に転送する(S605)。
そして、記憶制御装置1は、データ22の転送が完了したか否かを判定する(S606)。記憶制御装置1は、データ22の転送が完了していないとき(S606にてNo)、S605の処理を実行する。
記憶制御装置1は、データ22の転送が完了したとき(S606にてYes)、図15に示すS501の処理を実行する。そして、記憶制御装置1は、処理を終了する。
図17を参照して説明する。
S701〜S703の処理は、S401〜S406、S501、およびS601〜S606と非同期に実行される。
記憶制御装置1は、使用するRAが自装置のものであるか否かを判定する(S701)。記憶制御装置1は、使用するRAが自装置のものであるとき(S701にてYes)、転送先の記憶制御装置2に第2空き領域の獲得を要求する(S702)。そして、記憶制御装置1は、処理を終了する。
記憶制御装置1は、使用するRAが自装置のものでないとき(S701にてNo)、同じ筐体内にある中継先の記憶制御装置3に第3空き領域の獲得を要求する(S703)。使用するRAが自装置のものでないときとは、例えば、S204において、中継先の記憶制御装置3を介して、転送先の記憶制御装置2と通信する通信経路が決定されたときである。そして、記憶制御装置1は、処理を終了する。
図18を参照して説明する。
以下の説明では、図17のS702において、転送元の記憶制御装置1から転送先の記憶制御装置2に第2空き領域の獲得要求が送信されたものとして説明する。また、記憶制御装置2は、記憶制御装置1と記憶制御装置2とが直接通信する通信経路を通知されているものとする。
記憶制御装置2は、記憶制御装置1から第2空き領域の獲得要求を受信する(S801)。
記憶制御装置2は、第2空き領域の獲得を開始する(S802)。
記憶制御装置2は、第2空き領域の獲得が完了すると、記憶制御装置1に第2空き領域の獲得完了を通知する(S803)。
そして、記憶制御装置2は、空き領域の獲得処理を終了する。
中継先の記憶制御装置3から獲得要求を受信したときの処理を説明する。
記憶制御装置2は、例えば、中継先の記憶制御装置3から第2空き領域の獲得要求を受信したとき、S801とS802とを実行する。そして、記憶制御装置2は、S803において、中継先の記憶制御装置3に第2空き領域の獲得完了を通知する。
また、中継先の記憶制御装置4から獲得要求を受信したときの処理を説明する。
記憶制御装置2は、例えば、中継先の記憶制御装置4から第2空き領域の獲得要求を受信したとき、S801とS802とを実行する。そして、記憶制御装置2は、S803において、中継先の記憶制御装置4に第2空き領域の獲得完了を通知する。
図19を参照して説明する。
以下の説明では、図17のS703において、転送元の記憶制御装置1から中継先の記憶制御装置3に第3空き領域の獲得要求が送信されたものとして説明する。また、記憶制御装置3には、記憶制御装置3を介して、記憶制御装置1と記憶制御装置2とが通信する通信経路を通知されているものとする。記憶制御装置3は、S902およびS903の処理とS904の処理とを非同期に処理する。
記憶制御装置3は、記憶制御装置1から第3空き領域の獲得要求を受信する(S901)。
記憶制御装置3は、第3空き領域の獲得を開始する(S902)。
記憶制御装置3は、第3空き領域の獲得が完了すると、記憶制御装置1に第3空き領域の獲得完了を通知する(S903)。
また、記憶制御装置3は、記憶制御装置2に第2空き領域の獲得を要求する(S904)。
そして、記憶制御装置3は、空き領域の獲得処理を終了する。
記憶制御装置3に、記憶制御装置3と記憶制御装置4とを介して、記憶制御装置1と記憶制御装置2とが通信する通信経路を通知されている場合の処理について説明する。
記憶制御装置3は、例えば、記憶制御装置1から第3空き領域の獲得要求を受信したとき、S901〜S903を実行する。そして、記憶制御装置3は、S904において、記憶制御装置4に対して第4空き領域の獲得を要求する。
図20を参照して説明する。
以下の説明では、図17のS703において、転送元の記憶制御装置1から中継先の記憶制御装置4に第4空き領域の獲得要求が送信されたものとして説明する。また、記憶制御装置3は、記憶制御装置4を介して、記憶制御装置1と記憶制御装置2とが通信する通信経路が通知されているものとする。記憶制御装置3は、S1002およびS1003の処理とS1004の処理とを非同期に処理する。
記憶制御装置4は、記憶制御装置1から第4空き領域の獲得要求を受信する(S1001)。
記憶制御装置4は、第4空き領域の獲得を開始する(S1002)。
記憶制御装置4は、第4空き領域の獲得が完了すると、記憶制御装置1に第4空き領域の獲得完了を通知する(S1003)。
また、記憶制御装置4は、記憶制御装置2に第2空き領域の獲得を要求する(S1004)。
そして、記憶制御装置4は、空き領域の獲得処理を終了する。
記憶制御装置4に、記憶制御装置3と記憶制御装置4とを介して、記憶制御装置1と記憶制御装置2とが通信する通信経路が通知されている場合の処理について説明する。
記憶制御装置2は、例えば、中継先の記憶制御装置3から第4空き領域の獲得要求を受信したとき、S1001とS1002とを実行する。そして、記憶制御装置2は、S1003において、中継先の記憶制御装置3に第4空き領域の獲得完了を通知する。
以上のように、実施形態の記憶制御装置1は、書込部13による第1記憶部へのデータの書き込みが完了する前に、転送先の記憶制御装置2に対して、データを書き込むために使用する第2記憶部の第2空き領域の獲得を要求する。これにより、記憶制御装置1は、第1空き領域の獲得処理を、記憶制御装置2による第2空き領域の獲得処理と非同期に実行するので、バックアップの処理時間を削減することができる。
実施形態の記憶制御装置1は、データ22を分割して転送することで、データ転送の処理時間を短くし、一度に転送するよりも短い時間でデータ22を転送する。これにより、実施形態の記憶制御装置1は、バックアップの処理時間を削減することができる。
実施形態の記憶制御装置1は、データ22を分割し、データの転送を多重化することにより、一度に転送するよりも短い時間でデータ22を転送する。これにより、実施形態の記憶制御装置1は、バックアップの処理時間を削減することができる。
実施形態の記憶制御装置1は、データ22を分割して転送し、キャッシュにデータ22の書き込みが完了する前に所定量のデータの転送を開始する。これにより、実施形態の記憶制御装置1は、バックアップの処理時間を削減することができる。
実施形態の記憶制御装置1〜4は、第1空き領域の獲得処理と、第2空き領域の獲得処理と、第3空き領域の獲得処理と、第4空き領域の獲得処理とを非同期に実行するので、バックアップの処理時間を削減することができる。
なお、本実施形態は、以上に述べた実施形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
以上記載した各実施例を含む実施形態に関し、さらに以下の付記を開示する。なお、本発明は、以下の付記に限定されるものではない。
(付記1)
第1記憶装置に書き込むデータを記憶する第1記憶部と、
前記第1記憶装置へのデータの書き込み要求が与えられたとき、前記データを書き込むために使用する前記第1記憶部の第1空き領域を獲得する獲得部と、
前記データを前記第1記憶部に書き込む書込部と、
前記書込部による前記第1記憶部への前記データの書き込みが完了する前に、第2記憶装置に書き込むデータを記憶する第2記憶部を備える転送先の記憶制御装置に対して、前記データを書き込むために使用する前記第2記憶部の第2空き領域の獲得を要求する要求部と、
前記転送先の記憶制御装置に前記第1記憶部に書き込んだデータを転送する転送部と、
を備えることを特徴とする記憶制御装置。
(付記2)
前記転送部は、
前記書込部が前記第1記憶装置に書き込む全データのうち、所定量以上のデータが前記第1記憶部に書込まれたとき、前記所定量のデータを前記転送先の記憶制御装置に転送する
ことを特徴とする付記1に記載の記憶制御装置。
(付記3)
前記要求部は、
前記データの書き込み要求が与えられてから、前記獲得部が前記第1空き領域を獲得するまでの時間が第1閾値以上のとき、前記書込部が前記第1記憶部への前記データの書き込みを完了する前に、前記転送先の記憶制御装置に対して、前記第2空き領域の獲得を要求する
ことを特徴とする付記1または2に記載の記憶制御装置。
(付記4)
前記要求部は、
前記第1空き領域を獲得してから、前記書込部が前記第1記憶装置に書き込む全データを前記第1記憶部に書き込み完了するまでの時間が第2閾値以上のとき、前記書込部が前記第1記憶部への前記データの書き込みを完了する前に、前記転送先の記憶制御装置に対して、前記第2空き領域の獲得を要求する
ことを特徴とする付記1〜3のいずれか一つに記載の記憶制御装置。
(付記5)
前記転送部は、
前記書き込み要求が与えられてから、前記転送先の記憶制御装置に前記第1記憶装置に書き込む全データを転送完了するまでの時間が第3閾値以上の場合、前記所定量以上のデータが前記第1空き領域に書込まれたとき、前記所定量のデータを前記転送先の記憶制御装置に転送する
ことを特徴とする付記2〜4のいずれか一つに記載の記憶制御装置。
(付記6)
前記転送部は、
前記第1空き領域を獲得してから、前記書込部が前記第1記憶装置に書き込む全データを前記第1記憶部に書き込み完了するまでの時間が第4閾値以上の場合、前記所定量以上のデータが前記第1空き領域に書込まれたとき、前記所定量のデータを前記転送先の記憶制御装置に転送する
ことを特徴とする付記2〜5のいずれか一つに記載の記憶制御装置。
(付記7)
前記要求部は、
前記データの書き込み要求が与えられてから、前記書込部が前記第1記憶装置に書き込む全データを前記第1記憶部に書き込み完了するまでの時間が第5閾値以上のとき、前記書込部が前記第1記憶部への前記データの書き込みを完了する前に、前記転送先の記憶制御装置に対して、前記第2空き領域の獲得を要求する
ことを特徴とする付記1〜6に記載の記憶制御装置。
(付記8)
前記転送部は、
前記書込部が前記第1記憶装置に書き込む全データを前記第1空き領域に書き込み完了してから、前記転送先の記憶制御装置に前記第1記憶装置に書き込む全データを転送完了するまでの時間が第6閾値以上の場合、前記所定量以上のデータが前記第1記憶部に書込まれたとき、前記所定量のデータを前記転送先の記憶制御装置に転送する
ことを特徴とする付記2〜7のいずれか一つに記載の記憶制御装置。
(付記9)
転送元の記憶制御装置と転送先の記憶制御装置とを備えるストレージシステムであって、
転送元の記憶制御装置は、
第1記憶装置に書き込むデータを記憶する第1記憶部と、
前記第1記憶装置へのデータの書き込み要求が与えられたとき、前記データを書き込むために使用する前記第1記憶部の第1空き領域を獲得する獲得部と、
前記取得部が取得したデータを前記第1空き領域に書き込む書込部と、
前記書込部による前記第1記憶部への前記データの書き込みが完了する前に、第2記憶装置に書き込むデータを記憶する第2記憶部を備える転送先の記憶制御装置に対して、前記データを書き込むために使用する前記第2記憶部の第2空き領域の獲得を要求する要求部と、
前記転送先の記憶制御装置に前記第1記憶部に書き込んだデータを転送する転送部と、
を備え、
前記転送先の記憶制御装置は、
前記第2空き領域の獲得要求を受信したとき、前記第2空き領域を獲得する第2獲得部と、
を備えることを特徴とするストレージシステム。
(付記10)
前記ストレージシステムは、第1中継先の記憶制御装置をさらに備え、
前記転送元の記憶制御装置は、さらに、
前記データを転送する通信経路を決定する決定部と、
前記決定部により決定された前記通信経路を、前記通信経路上の記憶制御装置に通知する通知部と、
を備え、
前記要求部は、
前記決定部が前記第1中継先の記憶制御装置を介して、前記転送先の記憶制御装置にデータを転送する通信経路を決定したとき、前記書込部による前記第1記憶部への前記データの書き込みが完了する前に、中継するデータを記憶する第3記憶部を備える前記第1中継先の記憶制御装置に対して、前記データを書き込むために使用する前記第3記憶部の第3空き領域の獲得を要求し、
前記第1中継先の記憶制御装置は、
前記第3空き領域の獲得要求を受信したとき、前記第3空き領域を獲得する第3獲得部と、
前記第3獲得部による前記第3空き領域の獲得が完了する前に、前記通知部から通知された通信経路を参照し、前記転送先の記憶制御装置に前記第2空き領域の獲得を要求する第3要求部と、を備える
ことを特徴とする付記9に記載のストレージシステム。
(付記11)
前記ストレージシステムは、第2中継先の記憶制御装置をさらに備え、
前記第3要求部は、
前記決定部が前記第1中継先の記憶制御装置と、前記第2中継先の記憶制御装置とを介して、前記転送先の記憶制御装置にデータを転送する通信経路を決定したとき、前記第3獲得部による前記第3空き領域の獲得が完了する前に、中継するデータを記憶する第4記憶部を備える前記第2中継先の記憶制御装置に対して、前記データを書き込むために使用する前記第4記憶部の第4空き領域の獲得を要求し、
前記第2中継先の記憶制御装置は、
前記第4空き領域の獲得要求を受信したとき、前記第4空き領域を獲得する第4獲得部と、
前記第4獲得部による前記第4空き領域の獲得が完了する前に、前記通知部から通知された通信経路を参照し、前記転送先の記憶制御装置に前記第2空き領域の獲得を要求する第4要求部と、を備える
ことを特徴とする付記10に記載のストレージシステム。
(付記12)
第1記憶装置に書き込むデータを記憶する第1記憶部を備える記憶制御装置を制御するコンピュータによって実行される記憶制御方法であって、
前記コンピュータは、
前記第1記憶装置へのデータの書き込み要求が与えられたとき、前記データを書き込むために使用する前記第1記憶部の第1空き領域を獲得し、
前記取得したデータを前記第1空き領域に書き込み、
前記書き込み処理において、前記第1記憶部への前記データの書き込みが完了する前に、第2記憶装置に書き込むデータを記憶する第2記憶部を備える転送先の記憶制御装置に対して、前記データを書き込むために使用する前記第2記憶部の第2空き領域の獲得を要求し、
前記転送先の記憶制御装置に前記第1記憶部に書き込んだデータを転送する
ことを特徴とする記憶制御方法。
(付記13)
第1記憶装置へのデータの書き込み要求が与えられたとき、前記データを書き込むために使用する前記第1記憶部の第1空き領域を獲得し、
前記取得したデータを前記第1空き領域に書き込み、
前記書き込み処理において、前記第1記憶部への前記データの書き込みが完了する前に、第2記憶装置に書き込むデータを記憶する第2記憶部を備える転送先の記憶制御装置に対して、前記データを書き込むために使用する前記第2記憶部の第2空き領域の獲得を要求し、
前記転送先の記憶制御装置に前記第1記憶部に書き込んだデータを転送する
処理を、前記第1記憶部を備える記憶制御装置を制御するコンピュータに実行させる記憶制御プログラム。
1〜4 記憶制御装置
5 ストレージシステム
6 ネットワーク
10 制御部
11 獲得部
12 取得部
13 書込部
14 要求部
15 転送部
16 決定部
17 通知部
20 記憶部
21 キャッシュ部
23 メモリ部
30 送受信部
41、42 ホストコンピュータ
51、52 筐体
60 CM
101、102 記憶装置

Claims (11)

  1. 第1記憶装置に書き込むデータを記憶する第1記憶部と、
    前記第1記憶装置へのデータの書き込み要求が与えられたとき、前記データを書き込むために使用する前記第1記憶部の第1空き領域を獲得する獲得部と、
    前記データを前記第1記憶部に書き込む書込部と、
    前記書込部による前記第1記憶部への前記データの書き込みが完了する前に、第2記憶装置に書き込むデータを記憶する第2記憶部を備える転送先の記憶制御装置に対して、前記データを書き込むために使用する前記第2記憶部の第2空き領域の獲得を要求する要求部と、
    前記転送先の記憶制御装置に前記第1記憶部に書き込んだデータを転送する転送部と、
    前記転送先の記憶制御装置に前記第1記憶部に書き込んだデータを転送する転送部と、
    を備えることを特徴とする記憶制御装置。
  2. 前記転送部は、
    前記書込部が前記第1記憶装置に書き込む全データのうち、所定量以上のデータが前記第1記憶部に書込まれたとき、前記所定量のデータを前記転送先の記憶制御装置に転送する
    ことを特徴とする請求項1に記載の記憶制御装置。
  3. 前記要求部は、
    前記データの書き込み要求が与えられてから、前記獲得部が前記第1空き領域を獲得するまでの時間が第1閾値以上のとき、前記書込部が前記第1記憶部への前記データの書き込みを完了する前に、前記転送先の記憶制御装置に対して、前記第2空き領域の獲得を要求する
    ことを特徴とする請求項1または2に記載の記憶制御装置。
  4. 前記要求部は、
    前記第1空き領域を獲得してから、前記書込部が前記第1記憶装置に書き込む全データを前記第1記憶部に書き込み完了するまでの時間が第2閾値以上のとき、前記書込部が前記第1記憶部への前記データの書き込みを完了する前に、前記転送先の記憶制御装置に対して、前記第2空き領域の獲得を要求する
    ことを特徴とする請求項1〜3のいずれか一つに記載の記憶制御装置。
  5. 前記転送部は、
    前記書き込み要求が与えられてから、前記転送先の記憶制御装置に前記第1記憶装置に書き込む全データを転送完了するまでの時間が第3閾値以上の場合、前記所定量以上のデータが前記第1空き領域に書込まれたとき、前記所定量のデータを前記転送先の記憶制御装置に転送する
    ことを特徴とする請求項2〜4のいずれか一つに記載の記憶制御装置。
  6. 前記転送部は、
    前記第1空き領域を獲得してから、前記書込部が前記第1記憶装置に書き込む全データを前記第1記憶部に書き込み完了するまでの時間が第4閾値以上の場合、前記所定量以上のデータが前記第1空き領域に書込まれたとき、前記所定量のデータを前記転送先の記憶制御装置に転送する
    ことを特徴とする請求項2〜5のいずれか一つに記載の記憶制御装置。
  7. 転送元の記憶制御装置と転送先の記憶制御装置とを備えるストレージシステムであって、
    転送元の記憶制御装置は、
    第1記憶装置に書き込むデータを記憶する第1記憶部と、
    前記第1記憶装置へのデータの書き込み要求が与えられたとき、前記データを書き込むために使用する前記第1記憶部の第1空き領域を獲得する獲得部と、
    前記取得部が取得したデータを前記第1空き領域に書き込む書込部と、
    前記書込部による前記第1記憶部への前記データの書き込みが完了する前に、第2記憶装置に書き込むデータを記憶する第2記憶部を備える転送先の記憶制御装置に対して、前記データを書き込むために使用する前記第2記憶部の第2空き領域の獲得を要求する要求部と、
    前記転送先の記憶制御装置に前記第1記憶部に書き込んだデータを転送する転送部と、
    前記転送先の記憶制御装置は、
    前記第2空き領域の獲得要求を受信したとき、前記第2空き領域を獲得する第2獲得部と、
    を備えることを特徴とするストレージシステム。
  8. 前記ストレージシステムは、第1中継先の記憶制御装置をさらに備え、
    前記転送元の記憶制御装置は、さらに、
    前記データを転送する通信経路を決定する決定部と、
    前記決定部により決定された前記通信経路を、前記通信経路上の記憶制御装置に通知する通知部と、
    を備え、
    前記要求部は、
    前記決定部が前記第1中継先の記憶制御装置を介して、前記転送先の記憶制御装置にデータを転送する通信経路を決定したとき、前記書込部による前記第1記憶部への前記データの書き込みが完了する前に、中継するデータを記憶する第3記憶部を備える前記第1中継先の記憶制御装置に対して、前記データを書き込むために使用する前記第3記憶部の第3空き領域の獲得を要求し、
    前記第1中継先の記憶制御装置は、
    前記第3空き領域の獲得要求を受信したとき、前記第3空き領域を獲得する第3獲得部と、
    前記第3獲得部による前記第3空き領域の獲得が完了する前に、前記通知部から通知された通信経路を参照し、前記転送先の記憶制御装置に前記第2空き領域の獲得を要求する第3要求部と、を備える
    ことを特徴とする請求項7に記載のストレージシステム。
  9. 前記ストレージシステムは、第2中継先の記憶制御装置をさらに備え、
    前記第3要求部は、
    前記決定部が前記第1中継先の記憶制御装置と、前記第2中継先の記憶制御装置とを介して、前記転送先の記憶制御装置にデータを転送する通信経路を決定したとき、前記第3獲得部による前記第3空き領域の獲得が完了する前に、中継するデータを記憶する第4記憶部を備える前記第2中継先の記憶制御装置に対して、前記データを書き込むために使用する前記第4記憶部の第4空き領域の獲得を要求し、
    前記第2中継先の記憶制御装置は、
    前記第4空き領域の獲得要求を受信したとき、前記第4空き領域を獲得する第4獲得部と、
    前記第4獲得部による前記第4空き領域の獲得が完了する前に、前記通知部から通知された通信経路を参照し、前記転送先の記憶制御装置に前記第2空き領域の獲得を要求する第4要求部と、を備える
    ことを特徴とする請求項8に記載のストレージシステム。
  10. 第1記憶装置に書き込むデータを記憶する第1記憶部を備える記憶制御装置を制御するコンピュータによって実行される記憶制御方法であって、
    前記コンピュータは、
    前記第1記憶装置へのデータの書き込み要求が与えられたとき、前記データを書き込むために使用する前記第1記憶部の第1空き領域を獲得し、
    前記取得したデータを前記第1空き領域に書き込み、
    前記書き込み処理において、前記第1記憶部への前記データの書き込みが完了する前に、第2記憶装置に書き込むデータを記憶する第2記憶部を備える転送先の記憶制御装置に対して、前記データを書き込むために使用する前記第2記憶部の第2空き領域の獲得を要求し、
    前記転送先の記憶制御装置に前記第1記憶部に書き込んだデータを転送する
    ことを特徴とする記憶制御方法。
  11. 第1記憶装置へのデータの書き込み要求が与えられたとき、前記データを書き込むために使用する前記第1記憶部の第1空き領域を獲得し、
    前記取得したデータを前記第1空き領域に書き込み、
    前記書き込み処理において、前記第1記憶部への前記データの書き込みが完了する前に、第2記憶装置に書き込むデータを記憶する第2記憶部を備える転送先の記憶制御装置に対して、前記データを書き込むために使用する前記第2記憶部の第2空き領域の獲得を要求し、
    前記転送先の記憶制御装置に前記第1記憶部に書き込んだデータを転送する
    処理を、前記第1記憶部を備える記憶制御装置を制御するコンピュータに実行させる記憶制御プログラム。
JP2014036919A 2014-02-27 2014-02-27 記憶制御装置、ストレージシステム、記憶制御方法、および記憶制御プログラム Pending JP2015162091A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014036919A JP2015162091A (ja) 2014-02-27 2014-02-27 記憶制御装置、ストレージシステム、記憶制御方法、および記憶制御プログラム
US14/608,931 US20150242146A1 (en) 2014-02-27 2015-01-29 Storage control apparatus and storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014036919A JP2015162091A (ja) 2014-02-27 2014-02-27 記憶制御装置、ストレージシステム、記憶制御方法、および記憶制御プログラム

Publications (1)

Publication Number Publication Date
JP2015162091A true JP2015162091A (ja) 2015-09-07

Family

ID=53882245

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014036919A Pending JP2015162091A (ja) 2014-02-27 2014-02-27 記憶制御装置、ストレージシステム、記憶制御方法、および記憶制御プログラム

Country Status (2)

Country Link
US (1) US20150242146A1 (ja)
JP (1) JP2015162091A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180105675A (ko) * 2016-01-18 2018-09-28 알리바바 그룹 홀딩 리미티드 데이터 동기화 방법, 장치, 및 시스템
WO2019008654A1 (ja) * 2017-07-04 2019-01-10 株式会社日立製作所 ストレージシステム、コピー制御方法、及び計算機システム
JP2021093069A (ja) * 2019-12-12 2021-06-17 富士通株式会社 情報処理装置、同期制御方法及び同期制御プログラム

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106557521B (zh) * 2015-09-29 2020-07-14 佳能株式会社 对象索引方法、对象搜索方法及对象索引系统
US10593421B2 (en) 2015-12-01 2020-03-17 Cnex Labs, Inc. Method and apparatus for logically removing defective pages in non-volatile memory storage device
US11620565B1 (en) * 2017-02-24 2023-04-04 Iqvia Inc. System and method for enhanced distribution of data to compute nodes
US10528256B2 (en) 2017-05-24 2020-01-07 International Business Machines Corporation Processing a space release command to free release space in a consistency group
US10915381B2 (en) * 2018-10-16 2021-02-09 Ngd Systems, Inc. System and method for computational storage device intercommunication
US11068351B2 (en) * 2018-11-19 2021-07-20 International Business Machines Corporation Data consistency when switching from primary to backup data storage

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4436316B2 (ja) * 2005-12-27 2010-03-24 富士通株式会社 ビットマップ処理方式

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180105675A (ko) * 2016-01-18 2018-09-28 알리바바 그룹 홀딩 리미티드 데이터 동기화 방법, 장치, 및 시스템
JP2019508796A (ja) * 2016-01-18 2019-03-28 アリババ グループ ホウルディング リミテッド データ同期方法、装置及びシステム
US10754873B2 (en) 2016-01-18 2020-08-25 Alibaba Group Holding Limited Data synchronization method, apparatus, and system
KR102153804B1 (ko) * 2016-01-18 2020-09-09 알리바바 그룹 홀딩 리미티드 데이터 동기화 방법, 장치, 및 시스템
US11010404B2 (en) 2016-01-18 2021-05-18 Advanced New Technologies Co., Ltd. Data synchronization method, apparatus, and system
WO2019008654A1 (ja) * 2017-07-04 2019-01-10 株式会社日立製作所 ストレージシステム、コピー制御方法、及び計算機システム
US11016698B2 (en) 2017-07-04 2021-05-25 Hitachi, Ltd. Storage system that copies write data to another storage system
JP2021093069A (ja) * 2019-12-12 2021-06-17 富士通株式会社 情報処理装置、同期制御方法及び同期制御プログラム

Also Published As

Publication number Publication date
US20150242146A1 (en) 2015-08-27

Similar Documents

Publication Publication Date Title
JP2015162091A (ja) 記憶制御装置、ストレージシステム、記憶制御方法、および記憶制御プログラム
EP2557494B1 (en) Storage apparatus and data copy method between thin-provisioning virtual volumes
EP2821925B1 (en) Distributed data processing method and apparatus
US7343449B2 (en) Storage subsystem and storage system
EP2437167A1 (en) Method and system for virtual storage migration and virtual machine monitor
EP1814035A2 (en) Storage controller and data management method
CN109791522B (zh) 数据迁移的方法、系统及智能网卡
CN108475229B (zh) 数据迁移的方法、主机、及固态存储设备
US8386707B2 (en) Virtual disk management program, storage device management program, multinode storage system, and virtual disk managing method
US10552089B2 (en) Data processing for managing local and distributed storage systems by scheduling information corresponding to data write requests
US8364919B2 (en) Remote copy system and method
CN106844417B (zh) 基于文件目录的热迁移方法及装置
KR101427535B1 (ko) 정보 처리 장치, 기록 매체 및 영역 해방 제어 방법
CN106980556B (zh) 一种数据备份的方法及装置
CN111225003B (zh) 一种nfs节点配置方法和装置
JP2014010540A (ja) 仮想サーバ環境のデータ移行制御装置、方法、システム
CN112104729A (zh) 一种存储系统及其缓存方法
EP4379543A1 (en) Cloud desktop data migration method, service node, management node, server, electronic device, and computer-readable storage medium
KR20120063946A (ko) 대용량 통합 메모리를 위한 메모리 장치 및 이의 메타데이터 관리 방법
EP1693756B1 (en) Storage subsystem and storage system
JP7050707B2 (ja) ストレージ制御装置、ストレージシステム、ストレージ制御方法、及び、ストレージ制御プログラム
WO2014115184A1 (en) Storage system and control method for storage system
CN117827115A (zh) 基于nas的存储系统及管理方法、装置、设备、介质
JP5731665B2 (ja) 計算機システム及び複製制御方法
CN118210449A (zh) 缓存同步方法、装置、计算机设备及存储介质