JP5549243B2 - ストレージ装置、ストレージ装置の制御方法及びストレージ装置の制御プログラム - Google Patents

ストレージ装置、ストレージ装置の制御方法及びストレージ装置の制御プログラム Download PDF

Info

Publication number
JP5549243B2
JP5549243B2 JP2010017829A JP2010017829A JP5549243B2 JP 5549243 B2 JP5549243 B2 JP 5549243B2 JP 2010017829 A JP2010017829 A JP 2010017829A JP 2010017829 A JP2010017829 A JP 2010017829A JP 5549243 B2 JP5549243 B2 JP 5549243B2
Authority
JP
Japan
Prior art keywords
copy
data
buffer
sessions
controller module
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.)
Expired - Fee Related
Application number
JP2010017829A
Other languages
English (en)
Other versions
JP2011158948A (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 JP2010017829A priority Critical patent/JP5549243B2/ja
Priority to US13/014,136 priority patent/US20110191551A1/en
Publication of JP2011158948A publication Critical patent/JP2011158948A/ja
Application granted granted Critical
Publication of JP5549243B2 publication Critical patent/JP5549243B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

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

Description

本発明はストレージ装置間でデータをコピーする技術に関する。
ストレージシステムは、ストレージシステムのデータ転送の性能の向上あるいはデータの保持の信頼性の向上のために、複数のディスクにデータを記録する。ストレージシステムは例えば、サーバのオペレーティングシステム(OS)がクラッシュする等してディスクへの書き込みが突然停止した場合であっても、復旧後に、停止前に複数のディスクに記録されたデータを復元可能である。ストレージシステムはデータの復元を可能とするために、ディスクへの書き込み順序を制御する。また、ストレージシステムは複数のストレージ装置間でデータのミラーリングを行う場合がある。データのミラーリングにおいて、ミラーリングの元となるデータを格納するボリュームを有するコピー元のストレージ装置とミラーリングされるデータを格納する先のボリュームを有するコピー先のストレージ装置は、ディスクへの書き込み順序を制御することで、データコピー処理途中で異常が発生した場合に、より短期間でデータの復旧を可能とする。以上から、ストレージシステムはデータをコピーする際、書き込み順序と同じ順序でコピーする。書き込みと同期してコピーが行われる同期コピーモードでは、書込み処理とコピー処理はストレージ装置で同じ順序で実行される。しかし、コピー元のストレージ装置とコピー先のストレージ装置が遠隔地にある場合がある。遠隔地間のミラーリングに同期コピーモードを使用することは、伝送路の遅延の影響を受けるため不適当である。よって、ストレージシステムは、遠隔地間でミラーリングを行う場合、遅延の影響を受けにくい非同期コピーモードを使用する。
順序性を保証した非同期コピーモードは、コピー元装置においてホストからライトされたデータをコピー元装置キャッシュ上の専用バッファ(RECバッファ)に格納する。専用バッファは順序性を保証した非同期コピー機能に使用する専用のバッファである。分散キャッシュメモリ型のストレージシステムでは、構成の簡単化のため、装置内のいずれかのコントローラモジュールにRAIDグループやその中のボリュームを割り当て、各コントローラモジュールが割り当てられたボリュームを管理する。このため、専用バッファはコントローラモジュールごとに存在する。各コントローラモジュールの専用バッファは、その領域内が複数の世代に時系列で分割されている。さらに、各コントローラの世代は、非同期コピーでデータ読書きの順序を保証するために、複数のコントローラ間で予めバッファセットという単位にまとめられる。ストレージシステムはバッファセットを単位としたコピー処理を実行する。コピー元装置キャッシュ上の専用バッファの全領域の使用率が一定量を超えた場合(全領域を使用する場合を含む)、あるいはデータ格納開始から一定時間経過した場合にコピー元装置キャッシュ上バッファデータを各コントローラで同期させてまとめてコピー先装置へ送信する。各コントローラで同期させられて転送されてくるデータをすべて完了したコピー先装置は、受信したデータをまとめてコピー先装置記憶媒体へ展開する。
しかし、ストレージ装置間コピーはバッファセットを単位とするため、コピー元のボリュームが一つのコントローラモジュールに集中する場合、あるいはコピー元の一つのコントローラモジュール配下のボリュームに格納されたデータの更新が集中する場合がある。これらの場合、コントローラモジュールのRECバッファにコピーデータが集中して格納される。このため、他のコントローラモジュールのRECバッファが空いてある場合でも世代でまとめて送信する。一部の専用バッファにはデータが格納されていないにも関わらずデータを送信するため、専用バッファ領域の無駄が多い。
特開2005−275525号公報
本発明はコピー処理を効率的に実行可能なストレージ装置の提供を目的とする。
コピー元装置のデータ記憶領域とコピー先装置のデータ記憶領域とを関連づけたコピーセッション情報に従って、データをコピー先装置にコピーするストレージ装置は、データを記憶する複数のボリュームと、複数のボリュームに対応づけられた複数のコントローラモジュールと、を備え、各コントローラモジュールは、複数の領域に分割され、分割された個々の領域は、世代として時系列に管理されるバッファを形成し、かつ複数のコントローラモジュール間の同一世代でまとめられてバッファセットを形成するメモリと、上位装置からのライト命令に対して、複数のボリュームの中の予め対応づけられたボリュームにデータを格納するとともに、バッファセットにデータを格納し、バッファセットを形成するいずれかのバッファがフルになるか、あるいはバッファセットへのデータの格納から一定時間が経過すると、バッファセットのデータをコピー先装置に送信する制御部とを有し、制御部は、コピー先装置へのバッファセットのコピーが完了すると、バッファセットを新しい世代に切り替えるとともに、一世代前の各コントローラモジュールのライト命令数とコピーセッション数を基に、各コントローラモジュールのコピーセッション数が偏らないように各コントローラモジュールの新たな世代のコピーセッション数を決定し、上位装置から最初のライト命令を受けたときに、ライト命令のデータを格納するボリュームに対応づけられたコントローラモジュールのコピーセッション数が「1」以上であれば、当該コピーセッションに対応するライト命令のデータを自コントローラモジュールのバッファに格納するとともにコピーセッション数を「1」減算し、コピーセッション数が「1」未満であれば、コピーセッション数が「1」以上の他コントローラモジュールに当該コピーセッションに対応するライト命令のデータをバッファに格納する処理を依頼する構成である。
開示のストレージ装置は、ストレージ装置間コピーで使用するバッファの使用量の偏りを無くすようにコントローラの担当ボリュームを変更するため、各コントローラのバッファを無駄なく使用できる。この結果、開示のストレージ装置はコピー処理を効率的に実行可能になる。
図1は、本実施例のストレージシステムである。 図2は、本実施例のコピー元ストレージ装置20の各CMが管理するRECバッファの説明図である。 図3は、本実施例のバッファインデックステーブルである。 図4は、本実施例のセッション管理テーブルである。 図5は、本実施例のバッファセットテーブルである。 図6は、本実施例のRECバッファにデータを格納する処理のフローチャートである。 図7は、本実施例のバッファセット切り替え時の処理のフローチャートである。 図8は、本実施例のCM01に送信するセッション振り分け情報の例である。 図9は、本実施例のCM02に送信するセッション振り分け情報の例である。 図10は、本実施例のCM03に送信するセッション振り分け情報の例である。 図11は、本実施例のCM04に送信するセッション振り分け情報の例である。 図12は、セッション割り当て処理のフローチャートである。 図13は、本実施例の各CMから取得したI/O数の例である 図14は、本実施例の算出したI/O比の例である。 図15は、本実施例の各CMのセッション数の一例である。 図16は、本実施例の各セッションの割り当ての上限数の例である。 図17は、本実施例の確定したセッション振り分け数の例である。 図18は、本実施例の格納先RECバッファ決定処理のフローチャートである。
以下、本発明の実施の一形態について、図面を参照して説明する。
[ストレージシステム]
図1は、本実施例のストレージシステムである。
ストレージシステム1は、ホスト装置10とストレージ装置20とストレージ装置30とを含む。本実施例では、ホスト装置10はストレージ装置20にストレージエリアネットワーク(SAN)等のネットワークで接続し、ストレージ装置20はストレージ装置30にWAN等のネットワーク40を介して接続する。ストレージ装置20とストレージ装置30は、例えば、互いに遠隔地にあるものとする。本実施例では、ホスト装置10がストレージ装置20にデータを書込むものとし、ストレージ装置20のデータをストレージ装置30にコピーするものとする。つまり、ストレージ装置20がコピー処理の対象の元となるデータを有するコピー元装置であり、ストレージ装置30がコピー処理によってデータを新たに格納するコピー先装置となる。以降の説明では、コピー処理の対象のデータをコピーデータとも言う。
ホスト装置10はストレージ装置20に対してデータの読出し、あるいはデータの書込みに関する命令を送信することにより、ストレージ装置20からのデータの読出しあるいはデータの書込みを行う。
[ストレージ装置]
次に、ストレージ装置20およびストレージ装置30について説明する。なお、本実施例では説明の便宜上、ストレージ装置20とストレージ装置30は同じボリューム構成を有するとする。以下ストレージ装置20について説明し、ストレージ装置20の同じ機能を有するモジュール、およびストレージ装置30のストレージ装置20と同様な部分については説明を省略する。また、以下の説明においてコピー元のストレージ装置20を単にコピー元、コピー先のストレージ装置30を単にコピー先という場合もある。
本実施例のストレージ装置20およびストレージ装置30は、コントローラモジュール毎にキャッシュメモリを分散して有する分散キャッシュメモリ形である。このため、データが格納されるディスク装置の管理単位であるボリュームは、ストレージ装置内のいずれかのコントローラモジュール(以下CMとする)に属するように予め設定されているものとする。なお、ボリュームは、各ディスク装置の記憶領域をまとめること、各ボリュームからRAIDを構成すること、RAIDを組み合わせるなどの物理的に独立な2つ以上のボリュームを組み合わせることなどによって定義された論理的に存在する論理ボリュームも含む。なお、ストレージ装置20からストレージ装置30へのコピー処理は、コピー元とコピー先のストレージ装置が異なるRAID構成であっても、コピー先のストレージ装置30にコピー対象のデータを格納可能な領域が確保できれば、実施可能である。
ストレージ装置20は、複数のコントローラモジュールCM01、CM02、CM03、CM04を有する。ディスク260、270、280、および290はデータを格納する例えば磁気ディスク装置である。バックエンドルーター(BRT)240は、各ディスク(260、270、280、および290)と各コントローラ(CM01、CM02、CM03、およびCM04)間を接続する接続部である。各コントローラは各ディスクに対してデータのリード(READ)、ライト(WRITE)を行う。可能である。
ストレージ装置20は、ストレージ装置20内の任意の一つのCMをマスタCMとして機能させる。以降の説明では、ストレージ装置20の各CMを管理するCMをマスタCMとし、マスタCM以外のCMを単にCMとする。マスタCMは通常のCMとしての機能と、他のCMを管理する機能を有する。本実施例では、CM01をマスタCMとする。マスタCMは世代交代時、ストレージ装置20のCM01、CM02、CM03およびCM04からそれぞれが担当するRECバッファのI/O情報を取得して次世代で各CMが担当するボリュームを決定する処理を実行する。
CM01(CM02、CM03、およびCM04)は、チャネルアダプタ(CA)201(211、221、231)、リモートアダプタ(RA)202(212、222、232)、メモリ204(214、224、234)、CPU203(213、223、233)、デバイスアダプタ(DA)205、206(215、216、225、226、235、236)を有する。CA201は、ホスト10とストレージ装置20間を接続するためのインターフェースである。RA202は、ストレージ装置30のRA302に接続するためのインターフェースである。各RAは、例えば、ストレージ装置間コピー処理時にデータを転送するために使用する。DAはBRT240とCM間を接続するためのインターフェースである。
メモリ204はRECバッファ、BITテーブル、バッファセット管理テーブル、セッション管理テーブルを記憶する。また、CPU203が動作するための制御プログラムが展開される領域である。
CPU203は、例えば、ディスク装置への読み書きを制御するディスク制御、ホスト装置10に対する情報の送受信を制御するCA制御、メモリを管理するキャッシュメモリ制御、コピー処理を管理するコピー処理制御、他CMとへのコピー処理依頼等、CM01の全体を制御する。
本実施例においてコピー先となるストレージ装置30のコントローラモジュールCM11、CM12、CM13、CM14、BRT340、ディスク350、360、370、380については説明を省略する。また各CM(CM11、CM12、CM13、CM14)が有するチャネルアダプタ(CA)301(311、321、331)、リモートアダプタ(RA)302(312、322、332)、メモリ304(314、324、334)、CPU303(313、323、333)、ファイバチャネル(FC)305、306(315、316、325、326、335、336)については、説明を省略する。
I/Oデータは、ホスト装置10から受信した読み書きの対象のデータである。I/Oデータはデータ本体とコピーを制御するためのコピー制御情報を含むコピー制御情報はコピー元のアドレス、コピー先のアドレス等を含む。

データ本体はRECバッファに格納され、コピー制御情報はBITテーブルに格納される。
ストレージシステム10は、データの読み書き処理の順序を保証する場合、コピー対象のデータをコピー元ストレージ装置20のディスク装置からコピー先ストレージ装置30のディスク装置へ転送する際に、RECバッファを使用する。例えば以下の手順でコピー元からコピー先へデータをコピーする。まず、コピー対象のボリュームを管理するCMはディスク装置からRECバッファにデータを格納する。コピー元は、バッファセットの処理対象世代のいずれかのRECバッファが一杯になるか、コピーデータのRECバッファへの格納時間が一定時間経過した後に、バッファセットのデータをまとめてコピー先ストレージ装置30のRECバッファに転送する。コピー先ストレージ装置30は、受信したコピーデータをRECバッファに展開する。コピー先ストレージ装置30は、全てのコピーデータを専用バッファに格納し、その後、コピー先ストレージ装置30の記録媒体12へ全てのコピーデータを展開する。コピー先ストレージ装置30はコピーデータの展開が完了すると、コピー元ストレージ装置20へ展開完了を通知する。その後、コピー元ストレージ装置20はRECバッファのコピーデータを開放する。
次に、メモリに格納されるRECバッファ、BIT管理テーブル、バッファセット管理テーブル等の情報について説明する。
[RECバッファ]
まず、RECバッファ(専用バッファ)について説明する。RECバッファは、各CMが有しており、ストレージ装置間コピー(Remote Equivalent Copy(REC))処理時にコピー処理に必要な情報を格納するための記憶領域である。本実施例では、RECバッファにコピー対象のデータ本体が格納される。
図2は、コピー元ストレージ装置20の各CMが管理するRECバッファの説明図である。図2のCM#01、CM#02、CM#03、CM#04はそれぞれCM01のRECバッファ領域、CM01のRECバッファ領域、CM03のRECバッファ領域、CM04のRECバッファ領域を示す。各CMは、データの読み書き処理の順序性を保証するため、RECバッファを複数の領域に分割して管理する。分割した個々の領域は世代として管理する。図2では、RECバッファは、世代1、世代2、世代3、世代4、および未使用の4つ世代、合計で8つの世代に分割されている。各世代は時系列で管理される。各CMのRECバッファは同じ数に分割されているものとする。各世代はストレージ装置間のコピー処理の完了後に開放される。開放とは、当該世代にデータを格納可能な状態であることである。世代内はさらに複数の固定長のバッファに分割される。CMは例えば固定長のバッファに格納可能なようにデータを適宜分割して格納する。
301、302、303、304、および305はボリュームである。各ボリュームが属するCMは予め定義されている。ストレージ装置間コピー処理時、原則として、コピー元の各CMは、それぞれのCMが担当するボリュームのデータをそれぞれのCMのRECバッファに読み出す。
例えば、図2の場合、ボリューム301、302、303はCM01に属する。従ってい、ストレージ装置間コピー処理時、CM01は、ボリューム301、302、303のいずれかに対する書込み命令(Write I/O)をホスト10から受け付けると、書込み命令に対応するRECバッファの現在の格納対象のバッファ領域に書込み命令(Write I/O)に対応するデータを格納する。
また、例えば、図2において、ボリューム301、302、303、304、305以外の図示しないボリュームに対してホスト10から書き込み命令がないとする。この場合でかつ後述する処理を適用しない場合、CM02およびCM04は、それぞれのCMが管理するRECバッファにはデータを展開しない。各CMがそれぞれRECバッファを管理する。
各CMのRECバッファをまとめて管理するため、ストレージ装置間コピーは、バッファセット306を単位として実行する。図2では、破線で囲ったバッファの組が一つのバッファセットになる。バッファセット306は、各CMのRECバッファを時系列に分割した世代を複数のCM間でまとめたデータの集合である。バッファセットを単位としてコピー処理を実行することにより、バッファセットに含まれる複数のCMが担当するRECバッファでデータ書込みの順序性を保つことができる。
図2では、CM02とCM04のバッファセット306に属する世代は、データが格納されていないにも関わらずバッファセットとして使用される。一方、CM01は書込み命令を受けたボリューム301、302、303を担当しているため、RECバッファに格納すべきデータが多い。このため、CM01のRECバッファの世代の領域は一杯になり易い。ストレージ装置20は、バッファセットを構成するいずれかのRECバッファが一杯になると、格納対象バッファの世代を切り替えて、次の世代にデータを格納する。図2では、ストレージ装置20は、現状の世代4のRECバッファが一杯になると未使用のRECバッファから世代5を作成する。またストレージ装置20は世代4のバッファセットをストレージ装置30への転送の対象にする。
[BITテーブル]
次に、バッファインデックステーブル(以降、BITテーブルとする)について説明する。図3はバッファインデックステーブルである。各CMは、それぞれBITテーブルを有する。BITテーブルは、各CMの世代内の個々のバッファに格納されたデータについて、コピー元からコピー先にコピーするための情報を格納するテーブルである。BITテーブルの情報は、バッファセットテーブルに格納されたCMIDおよびBitIDにより特定することができる。
ストレージ装置間コピーでは、コピー元はRECバッファのコピーデータとBITテーブルの情報とをコピー先に送信する。この結果、この結果コピー先はバッファを適切な領域に格納することができる。
BITテーブルは、バッファID、ステータス、サイズ,バッファアドレス、格納済I/O数を含む。バッファIDは管理対象のバッファを特定するための識別情報である。ステータスは、格納中、切り出し中、切り出し完了、転送中などの当該バッファの状態を特定する情報である。サイズは、当該バッファのサイズを特定するための情報である。バッファアドレスは、コピー元、コピー先のボリューム識別こやボリューム内の論理アドレスなどのバッファに含まれるデータの実アドレスを特定するための情報である。
格納済I/O数は、RECバッファの現在の処理対象の世代にWriteI/Oのデータをコピーした数を示す情報である。初期値は「0」である。バッファセットの世代が切り替えられたとき、各CMは切り替えられたバッファに対応する格納済I/O数をマスタに送信する。
[セッション管理テーブル]
ここで、RECのセッションを管理するセッション管理テーブルについて説明する。セッションは、コピー元とコピー先とを関連づけた情報である。図4はセッション管理テーブルである。各CMはそれぞれセッション管理テーブルを記憶する。例えば、管理者は、コピー先とコピー元のボリュームの組合せをコピー開始前に設定する。各CMはセッション管理テーブルとして組合せの情報をメモリに保持する。
セッション管理テーブルは、コピーセッションに関連する情報を含むため、セッション毎に存在する。コピーセッションに関連する情報は、セッションID、セッション種別、コピー元ボリューム、コピー先ボリューム、コピー範囲、格納先CM等である。セッションIDはセッション毎に存在する固有の識別情報である。セッション種別はリモートコピーや、ローカルコピーの種別を示す情報である。コピー元ボリュームはコピー元のボリューム番号やコピー元の先頭の論理アドレス(LBA)を含む情報である。コピー先ボリュームコピー先のボリューム番号やコピー先の先頭の論理アドレス(LBA)を含む情報である。コピー範囲は、コピー処理の範囲を示すブロック数を含む情報である。
格納先CMはセッションの格納先のRECバッファを管理するCMを特定する情報である。RECバッファは複数の世代に分割されて管理されているため、その分割数に対応する数のメンバを有する。本実施例ではRECバッファは8分割される。セッション管理テーブルの格納先CMは8個分のメンバとなる。各CMは、世代の交代時に、新たに使用するときにそれぞれのメンバを初期化する。各CMは、当該世代で格納先のRECバッファが未決定のセッションに関するコピーデータのWriteI/Oを受付けた場合、格納先のRECバッファを決定し、決定したRECバッファを管理するCMを格納先CMとして設定する。格納先CMは、例えば、8分割されたRECバッファ内の第一の領域に対する格納先CMとして「格納先CM情報「0」」、8分割されたRECバッファ内の第二の領域に対する格納先CMとして「格納先CM情報「1」」、以下同様に「格納先CM情報「2」」、、、「格納先CM情報「7」」となる。
[バッファセットテーブル]
次に、マスタCMが管理するバッファセットテーブルについて説明する。図5は、バッファセットテーブルである。バッファセットテーブルはバッファセットを管理し、特にコピー元とコピー先のRECバッファの組合せを管理するためのテーブルである。バッファセットは各CMのRECバッファの集まりであり、バッファセットを構成するRECバッファを全て含む。
本実施例ではRECバッファは8つの世代に分割されているため、各CMは世代数に相当する8個のバッファセットテーブルを有する。バッファセットの世代は時系列で管理される。
バッファセットテーブルは、バッファセットに含まれるCM毎に、CMID、BitID、セッション割り当て数、I/O数の情報、次格納先CM情報を含む。
CMIDはバッファを管理するCMを識別する情報である。BitIDはバッファを管理するIDである。
セッション割り当て数は新規にバッファセットを作成するとき、当該CMに対して設定される。各CMは、当該世代で始めてのWriteI/O処理のときに本メンバ(他のCMも参照)と「次格納先CM情報」を参照して、データ格納先のCMバッファを決定する。I/O数はバッファセットを切り替えるとき、各CMから通知される1世代前のバッファに格納したI/O数である。次格納先CM情報は、当該CMのセッションに対して、その世代で初回のWriteI/Oのときに格納するRECバッファを決定するための情報である。マスタCMが新しい世代に関するバッファセットテーブルを作成した時点では、セッション割り当て数には初期値(無効値)が設定される。当該CMのセッションに対して、その世代で初回のWriteI/Oが処理されるときに更新される。
次に、ストレージ装置間のコピー処理を説明する。
[RECバッファへのデータ格納処理]
まず、図6のRECバッファにデータを格納する処理のフローチャートに沿って、RECバッファへのデータ格納処理を説明する。CM01乃至CM04の何れかのCMは、RECバッファへのデータ格納処理を実行する。
CMは、ホスト10から書込み命令(WriteI/O)を受け付ける(S01)。WriteI/Oは、書込み先のボリュームのアドレス情報、サイズ情報、データ本体などの情報を含む。
CMは、WriteI/Oを格納するRECバッファを決定する(S02)。なお、S02のRECバッファの決定処理の詳細は後述する。
格納先のRECバッファの決定後、S01で受け付けたWriteI/Oで特定されるボリュームのアドレス情報に対応するディスク装置にデータ本体を書込む(S03)。なお、書込みはディスク装置ではなく、データを一時的に格納するためのキャッシュメモリへの書込みでもよい。
S03のデータ本体の書込み後、CMは書込み命令に対する応答をホスト10に出力する(S04)。次に、CMは、S02で決定したRECバッファに、書込み処理によって書き込まれたデータを展開する(S05)。なお、S04とS05の処理は同期する必要はない。
S05のRECバッファへの書込み処理の後、データが書込まれたRECバッファを管理するCMは、BIT管理テーブルのI/O数を一つインクリメントする(S06)。また、データが書込まれたRECバッファを管理するCMは、展開したデータに対応するように、BITテーブルにバッファID、ステータス、サイズ,バッファアドレス、格納済I/O数を書き込む。
[他CMへの委託]
ここで、S05のデータの展開について説明する。本実施例では、各CMは、自CMが管理するRECバッファにデータを展開するだけでなく、他CMが管理するRECバッファにデータを展開する場合がある。
自CMが、他のCMの管理するRECバッファにコピーデータを展開する場合の処理の一例を説明する。まず、自CMは他CM(データを展開するRECバッファを管理するCM)に対して、データを格納するのに十分な領域を確保することが可能か否かについて問い合わせる。自CMは他CMに、例えばデータのサイズを送信することで問い合わせる。他CMは問い合わせに含まれるサイズの領域を確保する。他CMはサイズに相当する領域をRECバッファに確保したことを自CMに対して応答する。自CMはコピーデータを他CMに送信する。他CMは自CMから受信したコピーデータをRECバッファに格納する。
自CMが担当するボリュームに対するデータを自CMのRECバッファに展開する場合、RECバッファの領域を確保して、当該領域にデータを展開する。よって、自CMのRECバッファにデータを展開する処理は、自CMが担当するボリュームに関するコピーデータを他CMのRECバッファに展開する処理よりも簡単である。
[バッファセット切り替え処理]
次に、図7のバッファセット切り替え時の処理のフローチャートに沿って、バッファセット切り替え時の処理を説明する。バッファセット切り替え時では、マスタCM(CM01)と他のCM(CM02、CM03、CM04)間で情報の送受信が発生する。マスタCMは、バッファセットの切り替え時に、次世代において各CMの担当するセッションの数を決定する。
本実施例では、世代交代のときにCMが担当するセッションを変更する。世代途中で一つのセッションに属する個々のコピーデータを複数のRECバッファに格納する場合、コピー先の各CMはRECバッファ間でI/Oの順序の判定処理が必要になり、効率が悪い。
マスタCMはバッファセットの世代の切り替え依頼を受け付ける(S11)。バッファセットの世代は、現在の世代になって所定時間が経過した場合、あるいは、CM01乃至CM04のいずれかのRECバッファの現在の世代の記憶領域がコピーデータで一杯になった場合に切り替える。本実施例では、バッファセットの世代の切り替え依頼は、マスタCMが所定時間経過の検出時に受け付ける場合や、あるいはCM01乃至CM04から記憶領域がコピーデータで一杯になった通知により受け付ける場合がある。
マスタCMはS11で世代の切り替え依頼を受け付けると、データのRECバッファへの格納処理の停止を各CM(CM01、CM02、CM03、CM04)に依頼する(S12)。このとき、マスタCMは、バッファセットを構成する全てのCMに、RECバッファへのコピーデータの格納処理の停止命令を送信する。
ここで、他のCMの動作を説明する。マスタCMによるバッファセット切り替え処理の実行前において、各CM(CM01、CM02、CM03、CM04)はそれぞれのRECバッファにデータを格納する処理が可能な状態である。他のCM(CM02、CM03、CM04)は、ホスト装置10からのWriteI/Oに応じて、RECバッファへのデータ格納を実行する(S21)。S12においてマスタCMが格納処理の停止依頼を各CM(CM02、CM03、CM04)に依頼する。このとき、各CMはマスタCMからの格納処理の停止依頼を取得する。
各CMは格納停止依頼を検出した否かを判別する(S22)。各CMは格納停止依頼を検出していない場合(S22:NO)、格納処理を継続して実行する。各CMは格納停止依頼を検出した場合(S22:YES)、現在の世代への新規のデータの格納を停止する(S23)。各CMは、S23の格納処理の停止後、マスタCMに格納停止の応答および各CMの格納対象であったRECバッファの現在の世代に格納したデータのI/O数をBITテーブルから読み出して、送信する。
一方、マスタCMは、他のCM(CM02、CM03、CM04)と同様にCM01として、S13とS14の処理を実行する。マスタCM(CM01)は格納停止依頼を検出した否かを判別する(S13)。マスタCM(CM01)は格納停止依頼を検出していない場合(S13:NO)、継続して格納停止依頼の取得を待つ。マスタCM(CM01)は格納停止依頼を検出した場合(S13:YES)、現在の世代への新規のデータの格納を停止する(S14)。。
マスタCMは、新しい世代のバッファセット管理テーブルの各CMのI/O数に、各CMから取得した直前まで格納対象であった世代のI/O数を記録する(S15)。マスタCMは、格納停止依頼に対する応答を各CMから取得したか否かを判定する(S16)。マスタCMは、格納停止依頼に対する応答を各CMから取得していない場合(S16:NO)、各CMからの応答があるまで待つ。一方、マスタCMは、格納停止依頼に対する応答を各CMから取得した場合(S16:YES)、新しい世代のバッファセット(新規バッファセット)用に各CMのセッション数の割り当てを計算する(S17)。セッション数の割り当て処理については後述する。
マスタCMは、各CMに新規バッファセットへの切り替え指示を送信する(S18)。なお、マスタCMはS18の切り替え指示とともに更新したセッション振り分け情報を含むバッファセットテーブルを各CMに送信する。図8乃至図11は、それぞれCM01乃至CM04に送信するセッション振り分け情報の例である。図9において、CM02がCM01のRECバッファに格納するセッションは「6」であり、CM02がCM02のRECバッファに格納するセッションは「14」であることを示す。
ここで、他のCMの動作を説明する。S18において、マスタCMは各CMに新規バッファセットへの切り替え指示を送信する。このとき、各CMは受信した切り替え指示に応じて世代の切り替え処理を実行する(S24)。各CMは、マスタCMから送信されたセッション割り当て情報を記憶する。一方、マスタCMは他のCM(CM02、CM03、CM04)と同様にCM01として、世代の切り替え処理を実行する(S19)。マスタCM(CM01)は、セッション割り当て情報を記憶する。各CMは、世代の切り替え依頼に対する応答をマスタCMに送信する。
マスタCMは、世代の切り替え依頼に対する応答を各CMから取得したか否かを判定する(S20)。マスタCMは、世代の切り替え依頼に対する応答を各CMから取得していない場合(S20:NO)、各CMからの応答があるまで待つ。マスタCMは、世代の切り替え依頼に対する応答を各CMから取得した場合(S20:YES)、切り替え処理を終了する。各CMは、新世代の領域にコピーデータを格納する処理を再開する。
[セッション数割り当て処理]
次に、図12のセッション割り当て処理のフローチャートに沿って、S17の新規バッファセットの各CMのRECバッファに対するセッション数の割り当て処理について説明する。本実施例では、セッションの単位で担当CMの割り振りを決定する。新規バッファセットのセッション数の割り当ては、直前に格納対象であったバッファセット(1世代前のバッファセット)のデータ格納の状況に基づき決定する。マスタCMは各CMから取得したI/O数からセッション数の割り当てを決定する。
I/O数からセッション数の割り当てを決定するのは、I/O数とセッション数は比例関係にあると想定可能であるためである。また、世代交代時に行うため、直前のRECバッファへのデータの格納状況に応じて、コントローラの担当ボリュームの配分が可能になる。 マスタCMは1世代前のバッファセットから、各CMのI/Oの比を算出する(S31)。図13は各CMから取得したI/O数を示す。図13では、CM01のI/O数は「0」、CM02のI/O数は「500」、CM03のI/O数は「200」、CM04のI/O数は「300」である。ここでマスタCMは、例えば、「0」より大きいI/O数の中で最小のI/O数を検出する。図13ではCM03の「200」が該当する。マスタCMは検出したI/O数で他のCMのI/O数を割ることによってI/O比を算出する。なお、小数点未満の値は繰り上がるとする。図14は算出したI/O比である。
マスタCMはS31で算出した各CMのI/O比の総和を求め、バッファセットを構成するCM数で割ることで、CMあたりのI/O数の平均を算出する(S32)。例えば、図14の各CMのI/O比の総和は「0」+「3」+「1」+「2」=「6」になる。マスタCMは、求めた総和を、バッファセットを構成するCM数「4」で割る。なお、小数点未満の値は繰り上がるとする。この結果、I/O比の平均は「2」となる。
次に、マスタCMは、総セッション数をI/O比の総和で除算して1つのI/O比あたりのセッション数を算出する(S33)。マスタCMは、各CMのセッション数をセッション管理テーブルから取得する。図15は各CMのセッション数の一例である。図15の各CMのセッションの総和は「0」+「20」+「8」+「10」=「38」になる。マスタCMは総セッション数「38」をI/O比の総和「6」で割り、1つのI/O比あたりのセッション数「7」を求める。
マスタCMは、S33で算出した1つのI/O比あたりのセッション数の値とS32で算出した各CMのI/O比の平均とを乗算して、各CMのセッションの割り当て数を算出する(S34)。図16は各セッションの割り当ての上限数である。
次に、マスタCMは、セッションの割り当てが初回の処理か否かを判別する(S35)。マスタCMは、セッションの割り当てが初回の処理である場合(S35:YES)、各CMの担当セッション数をセッションの割り当て情報に使用する(S36)。マスタCMは、セッションの割り当てが2回目以降である場合(S35:NO)、前回の世代で使用していたセッション割り当て情報を使用する(S37)。
次にマスタCMは、S34で決定した各CMのセッション割り当て数の平均と、S35乃至S37で決定した現在の直前世代の割り当て情報から、新規世代の各RECバッファに対する割り当てセッション数を決定する(S38)。以下で一例を説明する。例えば、各CMのセッション割り当て数の平均は「14」である。初回の割り当て処理であるとすると、マスタCMは、セッション割り当て情報として図15の各CMの担当セッション数を使用する。マスタCMは、セッション割り当ての上限となる「14」を超えないように各CMにセッションを振り分ける。図15の各CMの担当セッション数によれば、CM02のセッション数は「20」であり、平均「14」より大きい。そこで、マスタCMはCM02の担当するセッションが14を超えないように制限する。制限した結果、6つのセッションが余る。そこでマスタCMは振り分けられたセッション数が最小のCMに余ったセッションを振り分ける。この結果、セッション振り分けが完了する。図17は確定したセッション振り分け数である。以上によってマスタCMは各CMの次世代でのセッションの割り当て数を決定する。決定の後、マスタCMはS18以降の処理を実行する。
[各CMの格納先RECバッファ決定処理]
次に、図18の格納先RECバッファ決定処理のフローチャートに沿って、各CMが実行する格納先RECバッファの決定処理を説明する。
格納先RECバッファ決定処理は、ストレージ装置の各CM(CM01、CM02、CM03、CM04)がそれぞれ実行する。
なお、各CMはセッション管理テーブルを有する。各CMは、世代交代後S41を処理するまでにセッション管理テーブルの格納先CM情報を初期化する。
また、各CMはバッファセットテーブルを有する。各CMは、世代交代後S43を処理するまでにバッファセットテーブルの次格納先CM情報を初期化する。
コピー元のいずれかのCM(CM01、CM02、CM03、CM04)は、CMが担当するボリュームに対して、ホスト10からのWriteI/Oを受け付ける。以下、I/Oを受け付けたCMを自CMとする。
自CMは、受け付けたI/Oが現在の格納処理の対象の世代で始めてのI/Oか否かを、セッション管理テーブルの現在の格納処理の対象の世代に相当する格納先CM情報によって判別する(S41)。CM情報が設定されている場合すなわち初めてのI/Oではない場合(S41:NO)、自CMはセッションの格納先が決定しているCMのRECバッファに格納領域の獲得の依頼を送信する(S42)。一方、CM情報が設定されていない場合すなわち初めてのI/Oである場合(S41:YES)、自CMは、バッファセットテーブルの次格納先CM情報が無効か否か(次格納先CM情報が設定されているか)を判別する(S43)。
自CMは、次格納先CM情報が設定されている場合、すなわちS43で次格納先CM情報が無効ではないと判別した場合(S43:NO)、バッファセットテーブルの設定された格納先CMのセッション割り当て数を減算する(S44)。その後、自CMはS48の処理を実行する。一方、自CMは、バッファセットテーブルの次格納先CM情報にCM情報が設定されていない場合、すなわちS43で次格納先CM情報が無効であると判別した場合(S43:YES)、当該世代の初めてのコピー元ボリュームとコピー先ボリュームの組合せのセッションであるので、格納対象の世代のバッファセットテーブルの各CMに対する割り当て数を見て、自CM向けのセッション割り当て数が1以上であるか否かを判定する(S45)。S45で、自CM向けの割り当て数が1以上である場合(S45:YES)、自CM向けのセッション割り当て数を「1」減算する(S46)。一方、S45で、自CM向けの割り当て数が1未満である場合(S45:NO)、割り当て数が1以上の他CMを選択し、選択したCMの割り当て数を減算する(S47)。本実施例の処理では、自CMに割り当てられたセッション数を優先して使用する。なお、セッションを自CMと他CMに交互に振り分けることも可能である。
自CMはセッションの割り当ての決定後、S44、S46、またはS47で決定した当該世代の格納先CM情報をセッション管理テーブルの該当セッションの格納先CM情報に設定する(S48)。
自CMは格納対象世代のバッファセットテーブルの次格納先CM情報を更新する(S49)。例えば、S48で設定したCM以外でセッション割り当て数が1以上のCMを検索して、検索したCMを次格納先CM情報として設定する。また、自CMおよび他CMの割り当て数が全て「0」である場合、自CMは自CMを次格納先CM情報として設定する。
決定したCMのRECバッファに格納領域獲得の依頼を送信する(S50)。
[世代の解放]
コピー元はコピーが完了したバッファセットの世代を未使用バッファに変更することで、バッファ領域の枯渇を防ぐ。コピー先のマスタCMはバッファセットの処理対象の世代に含まれるデータをディスク装置に展開する処理が完了すると、当該世代に関してコピーが完了した旨をコピー元に送信する。コピー元のマスタCMは、コピー先からコピーの完了を受信すると、当該完了通知に対応する世代を未使用の世代に変更する。
本実施例のストレージ装置は、データを格納するストレージシステムに適用できる。
10 ホスト装置
40 ネットワーク
20、30 ストレージ装置
01、02、03、04、11、12、13、14 CM
201、211、221、231、301、311、321、331 CA
202、212、222、232、302、312、322、332 RA
203、213、223、233、303、313、323、333 CPU
204、214、224、234、304、314、324、334 MEMORY
205、206、215、216、225、226、235、236、305、306、315、316、325、326、335、336 FC
240、340 BRT

Claims (4)

  1. コピー元装置のデータ記憶領域とコピー先装置のデータ記憶領域とを関連づけたコピーセッション情報に従って、データをコピー先装置にコピーするストレージ装置であって、
    データを記憶する複数のボリュームと、
    前記複数のボリュームに対応づけられた複数のコントローラモジュールと、を備え、
    各コントローラモジュールは、
    複数の領域に分割され、分割された個々の領域は、世代として時系列に管理されるバッファを形成し、かつ複数のコントローラモジュール間の同一世代でまとめられてバッファセットを形成するメモリと、
    上位装置からのライト命令に対して、前記複数のボリュームの中の予め対応づけられたボリュームにデータを格納するとともに、前記バッファセットにデータを格納し、バッファセットを形成するいずれかのバッファがフルになるか、あるいはバッファセットへのデータの格納から一定時間が経過すると、バッファセットのデータをコピー先装置に送信する制御部とを有し、
    前記制御部は、
    コピー先装置へのバッファセットのコピーが完了すると、バッファセットを新しい世代に切り替えるとともに、
    一世代前の各コントローラモジュールのライト命令数とコピーセッション数を基に、各コントローラモジュールのコピーセッション数が偏らないように各コントローラモジュールの新たな世代のコピーセッション数を決定し、
    上位装置から最初のライト命令を受けたときに、ライト命令のデータを格納するボリュームに対応づけられたコントローラモジュールのコピーセッション数が「1」以上であれば、当該コピーセッションに対応するライト命令のデータを自コントローラモジュールのバッファに格納するとともにコピーセッション数を「1」減算し、コピーセッション数が「1」未満であれば、コピーセッション数が「1」以上の他コントローラモジュールに当該コピーセッションに対応するライト命令のデータをバッファに格納する処理を依頼することを特徴とするストレージ装置。
  2. 一世代前の各コントローラモジュールが受信したライト命令数を該ライト命令数が「0」より大きい最小値のライト命令受信数で除算して、各コントローラモジュールのライト命令数の比率を求め、求められた比率についての全コントローラモジュールの総和で一世代前の各コントローラモジュールのセッション受信数の総和である総セッション数を除算し、除算結果と該各コントローラモジュールのライト命令数の比率の総和をコントローラモジュール数で除算した比率平均とを乗算して各コントローラモジュールのセッション数の上限値を求め、求められた上限値と一世代前の各コントローラモジュールのセッション数を基に、上限値を超えた部分のセッション数を他のコントローラモジュールに振り分けることで、切り替え後の世代の各コントローラモジュールのセッション数を決定することを特徴とする請求項1に記載のストレージ装置。
  3. データを記憶する複数のボリュームと、複数のボリュームに対応づけられた複数のコントローラモジュールとを備え、各コントローラモジュールは、複数の領域に分割され、分割された個々の領域は、世代として時系列に管理されるバッファを形成し、かつ複数のコントローラモジュール間の同一世代でまとめられてバッファセットを形成するメモリを有し、コピー元装置のボリュームとコピー先装置のボリュームとを関連づけたコピーセッション情報に従ってコピー処理を行うストレージ装置の制御方法であって、
    上位装置からのライト命令に対して、前記複数のボリュームの中の予め対応づけられたボリュームにデータを格納するとともに、前記バッファセットにデータを格納し、
    バッファセットを形成するいずれかのバッファがフルになるか、あるいはバッファセットへのデータの格納から一定時間が経過すると、バッファセットのデータをコピー先装置に送信し、
    コピー先装置へのバッファセットのコピーが完了すると、バッファセットを新しい世代に切り替え、
    一世代前の各コントローラモジュールのライト命令数とコピーセッション数を基に、各コントローラモジュールのコピーセッション数が偏らないように各コントローラモジュールの新たな世代のコピーセッション数を決定し、
    上位装置から最初のライト命令を受けたときに、ライト命令のデータを格納するボリュームに対応づけられたコントローラモジュールのコピーセッション数が「1」以上であれば、当該コピーセッションに対応するライト命令のデータを自コントローラモジュールのバッファに格納するとともにコピーセッション数を「1」減算し、コピーセッション数が「1」未満であれば、コピーセッション数が「1」以上の他コントローラモジュールに当該コピーセッションに対応するライト命令のデータをバッファに格納する処理を依頼することを特徴とするストレージ装置の制御方法。
  4. データを記憶する複数のボリュームと、複数のボリュームに対応づけられた複数のコントローラモジュールと、を備え、各コントローラモジュールは、複数の領域に分割され、分割された個々の領域は、世代として時系列に管理されるバッファを形成し、かつ複数のコントローラモジュール間の同一世代でまとめられてバッファセットを形成するメモリを備え、コピー元装置のボリュームとコピー先装置のボリュームとを関連づけたコピーセッション情報に従ってコピー処理を行うストレージ装置の制御プログラムであって、
    上位装置からのライト命令に対して、前記複数のボリュームの中の予め対応づけられたボリュームにデータを格納するとともに、前記バッファセットにデータを格納し、
    バッファセットを形成するいずれかのバッファがフルになるか、あるいはバッファセットへのデータの格納から一定時間が経過すると、バッファセットのデータをコピー先装置に送信し、
    コピー先装置へのバッファセットのコピーが完了すると、バッファセットを新しい世代に切り替え、
    一世代前の各コントローラモジュールのライト命令数とコピーセッション数を基に、各コントローラモジュールのコピーセッション数が偏らないように各コントローラモジュールの新たな世代のコピーセッション数を決定し、
    上位装置から最初のライト命令を受けたときに、ライト命令のデータを格納するボリュームに対応づけられたコントローラモジュールのコピーセッション数が「1」以上であれば、当該コピーセッションに対応するライト命令のデータを自コントローラモジュールのバッファに格納するとともにコピーセッション数を「1」減算し、コピーセッション数が「1」未満であれば、コピーセッション数が「1」以上の他コントローラモジュールに当該コピーセッションに対応するライト命令のデータをバッファに格納する処理を依頼することをコンピュータに実行させることを特徴とするストレージ装置の制御プログラム。
JP2010017829A 2010-01-29 2010-01-29 ストレージ装置、ストレージ装置の制御方法及びストレージ装置の制御プログラム Expired - Fee Related JP5549243B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010017829A JP5549243B2 (ja) 2010-01-29 2010-01-29 ストレージ装置、ストレージ装置の制御方法及びストレージ装置の制御プログラム
US13/014,136 US20110191551A1 (en) 2010-01-29 2011-01-26 Storage apparatus and storage management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010017829A JP5549243B2 (ja) 2010-01-29 2010-01-29 ストレージ装置、ストレージ装置の制御方法及びストレージ装置の制御プログラム

Publications (2)

Publication Number Publication Date
JP2011158948A JP2011158948A (ja) 2011-08-18
JP5549243B2 true JP5549243B2 (ja) 2014-07-16

Family

ID=44342645

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010017829A Expired - Fee Related JP5549243B2 (ja) 2010-01-29 2010-01-29 ストレージ装置、ストレージ装置の制御方法及びストレージ装置の制御プログラム

Country Status (2)

Country Link
US (1) US20110191551A1 (ja)
JP (1) JP5549243B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5737118B2 (ja) * 2011-10-04 2015-06-17 富士通株式会社 ストレージシステム及びストレージシステムネットワーク
CN103782554B (zh) * 2012-07-25 2016-10-26 华为技术有限公司 数据分流方法,数据发送装置以及分流节点装置
JP6019940B2 (ja) * 2012-08-30 2016-11-02 富士通株式会社 情報処理装置、コピー制御プログラム、およびコピー制御方法
JP6613603B2 (ja) 2015-04-30 2019-12-04 富士通株式会社 ストレージ制御装置、ストレージ制御プログラム、およびストレージシステム
JP6708923B2 (ja) * 2016-03-14 2020-06-10 富士通株式会社 ストレージシステム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
JPH04268655A (ja) * 1991-02-22 1992-09-24 Nec Corp 入出力負荷分散制御方式
JP4147198B2 (ja) * 2004-03-23 2008-09-10 株式会社日立製作所 ストレージシステム
JP4519563B2 (ja) * 2004-08-04 2010-08-04 株式会社日立製作所 記憶システム及びデータ処理システム
JP4355674B2 (ja) * 2005-03-17 2009-11-04 富士通株式会社 リモートコピー方法及びストレージシステム
JP2006268420A (ja) * 2005-03-24 2006-10-05 Nec Corp ディスクアレイ装置、ストレージシステムおよび制御方法
JP4839133B2 (ja) * 2006-05-22 2011-12-21 株式会社日立製作所 ストレージ装置のデータ管理方法及び計算機システム
JP4935901B2 (ja) * 2007-05-01 2012-05-23 富士通株式会社 ストレージシステム、ストレージ装置、リモートコピー方法
JP4958641B2 (ja) * 2007-05-29 2012-06-20 株式会社日立製作所 記憶制御装置及びその制御方法
WO2008152691A1 (ja) * 2007-06-12 2008-12-18 Fujitsu Limited リモートコピー方法及びストレージシステム
JP4774085B2 (ja) * 2008-07-31 2011-09-14 富士通株式会社 ストレージシステム
JP5387315B2 (ja) * 2009-10-13 2014-01-15 富士通株式会社 記憶装置、制御装置および記憶装置の制御方法
JP5397148B2 (ja) * 2009-10-16 2014-01-22 富士通株式会社 記憶装置、制御装置および記憶装置の制御方法

Also Published As

Publication number Publication date
US20110191551A1 (en) 2011-08-04
JP2011158948A (ja) 2011-08-18

Similar Documents

Publication Publication Date Title
JP6791834B2 (ja) 記憶システム及び制御ソフトウェア配置方法
JP4774085B2 (ja) ストレージシステム
US8639898B2 (en) Storage apparatus and data copy method
JP4634812B2 (ja) 複数のコントローラ間に仮想ストレージセグメントを割り当てる能力を有するストレージシステム
JP4771615B2 (ja) 仮想記憶システム
JP4933284B2 (ja) ストレージ装置及び負荷分散方法
US8375167B2 (en) Storage system, control apparatus and method of controlling control apparatus
CN103793271B (zh) 用于在镜像卷之间进行切换的方法和系统
JP4961319B2 (ja) 仮想ボリュームにおける仮想領域に動的に実領域を割り当てるストレージシステム
JP2008181271A (ja) 仮想ボリュームに記憶されたデータをバックアップする記憶制御装置
JP2005216306A (ja) データを移動することなく仮想ストレージデバイス群を移動させる能力を含むストレージシステム
JP5218284B2 (ja) 仮想ディスク管理プログラム、ストレージ装置管理プログラム、マルチノードストレージシステム、および仮想ディスク管理方法
JP6024296B2 (ja) 情報処理装置、コピー制御プログラム、およびコピー制御方法
JP2007323218A (ja) バックアップシステム
JP5549243B2 (ja) ストレージ装置、ストレージ装置の制御方法及びストレージ装置の制御プログラム
WO2014174570A1 (ja) ストレージ管理計算機、ストレージ管理方法、およびストレージシステム
JP2012014286A (ja) ストレージシステム、同システムにおけるデータバックアップ方法及びデータバックアッププログラム
JP2008269469A (ja) ストレージシステム及びその管理方法
JP2022517890A (ja) コンポーザブルインフラストラクチャにおける記憶装置の故障耐性を維持するための方法とシステム
WO2018158808A1 (ja) 情報システム、管理プログラム及び情報システムのプログラム交換方法
CN113448502B (zh) 分布式存储系统和存储控制方法
KR101427535B1 (ko) 정보 처리 장치, 기록 매체 및 영역 해방 제어 방법
JP2021060818A (ja) ストレージシステムおよびデータ移行方法
WO2018055686A1 (ja) 情報処理システム
JP5263237B2 (ja) ストレージシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121005

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130911

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130924

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140505

R150 Certificate of patent or registration of utility model

Ref document number: 5549243

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees