JP2013029911A - 制御装置、制御方法およびストレージ装置 - Google Patents
制御装置、制御方法およびストレージ装置 Download PDFInfo
- Publication number
- JP2013029911A JP2013029911A JP2011164021A JP2011164021A JP2013029911A JP 2013029911 A JP2013029911 A JP 2013029911A JP 2011164021 A JP2011164021 A JP 2011164021A JP 2011164021 A JP2011164021 A JP 2011164021A JP 2013029911 A JP2013029911 A JP 2013029911A
- Authority
- JP
- Japan
- Prior art keywords
- data
- opc
- volume
- processing unit
- logical volume
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1456—Hardware arrangements for backup
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】OPCコピーにおいて一部のデータが他のボリュームにコピーされない状況の発生を抑制すること。
【解決手段】受付部3aは、第1のボリューム4aに記憶されたデータAをデータCで更新する指示を受け付ける。複写処理部3bは、受付部3aの更新指示の受け付けに応じて第2のボリューム4bについてのデータAの複写を開始し、第1のボリューム4aに記憶されているデータA、Bの第2のボリューム4bへの複写が完了するまでの間、第2のボリューム4bから第3のボリューム4cへのデータAの複写の開始を制限する。
【選択図】図1
【解決手段】受付部3aは、第1のボリューム4aに記憶されたデータAをデータCで更新する指示を受け付ける。複写処理部3bは、受付部3aの更新指示の受け付けに応じて第2のボリューム4bについてのデータAの複写を開始し、第1のボリューム4aに記憶されているデータA、Bの第2のボリューム4bへの複写が完了するまでの間、第2のボリューム4bから第3のボリューム4cへのデータAの複写の開始を制限する。
【選択図】図1
Description
本発明は制御装置、制御方法およびストレージ装置に関する。
ストレージ装置において、ある時点のボリュームの全データを複製ボリュームにコピーする機能であるOPC(One Point Copy)が知られている。OPCでは、必要になった時点でデータを業務ボリュームから複製ボリュームへ論理コピーし、物理コピー完了を待つことなく、業務ボリュームで業務を継続しながら、複製ボリュームをテープ装置へバックアップすることが可能である。
また、バックアップ取得周期(世代周期)毎に記録媒体を切り替えて世代別データのバックアップを行う技術が知られている。
OPCでは、原本データを全面コピーする。すなわち、次にバックアップを採取する際には、更新分をコピーするには最初から全面コピーを行う。このため、バックアップ世代を増やす等の目的でボリューム間のOPCが完了する前に、後の世代のOPCを起動すると、一部のデータが他のボリュームにコピーされない状況が発生するという問題がある。
本発明はこのような点に鑑みてなされたものであり、OPCコピーにおいて一部のデータが他のボリュームにコピーされない状況の発生を抑制する制御装置、制御方法およびストレージ装置を提供することを目的とする。
上記目的を達成するために、開示の制御装置が提供される。この制御装置は、受付部と複写処理部とを有している。
受付部は、第1のボリュームに記憶された第1のデータを第2のデータで更新する指示を受け付ける。
受付部は、第1のボリュームに記憶された第1のデータを第2のデータで更新する指示を受け付ける。
複写処理部は、受付部の更新指示の受け付けに応じて第2のボリュームについての第1のデータの複写を開始し、第1のボリュームに記憶されているデータの第2のボリュームへの複写が完了するまでの間、第2のボリュームから第3のボリュームへの第1のデータの複写の開始を制限する。
OPCコピーにおいて一部のデータが他のボリュームにコピーされない状況の発生を抑制することができる。
以下、実施の形態のストレージ装置を、図面を参照して詳細に説明する。第1の実施の形態において、開示のストレージ装置の実施の形態について説明し、その後、第2の実施の形態において、開示のストレージ装置をより具体的に説明する。
<第1の実施の形態>
図1は、第1の実施の形態のストレージ装置を示す図である。
第1の実施の形態のストレージ装置1は、電気通信回線や、光通信回線等を介してホスト装置2に接続されている。
図1は、第1の実施の形態のストレージ装置を示す図である。
第1の実施の形態のストレージ装置1は、電気通信回線や、光通信回線等を介してホスト装置2に接続されている。
ストレージ装置1は、制御装置(コンピュータ)3と、記憶装置4を有している。記憶装置4は、情報を記憶可能な記憶領域を有する。この記憶装置4は、1つまたは複数のHDD(Hard Disk Drive)や、SSD(Solid State Drive)等を有している。
図1の吹き出しの内部は、制御装置3の処理の推移を示している。図1に示すボリューム4a、4b、4cは、それぞれ記憶装置4の一部の記憶領域によって形成された論理的なボリュームである。ボリューム4aは、第1のボリュームの一例であり、ボリューム4bは、第2のボリュームの一例である。ボリューム4cは、第3のボリュームの一例である。
制御装置3は、各ボリューム4a、4b、4cと非同期の状態を保つ。制御装置3は、例えばボリューム4aからボリューム4bへのデータの複写指示をホスト装置2が受け付けた時点でボリューム4aに記憶されているデータをボリューム4bに複写する。図1に示すボリューム4aには、第1の世代であるデータAおよびデータBが記憶されている。
制御装置3は、受付部3aと複写処理部3bとを有している。受付部3aおよび複写処理部3bは、制御装置3が有する図示しないCPU(Central Processing Unit)が備える機能により実現することができる。
受付部3aは、ボリューム4aに記憶されているデータAをデータAの世代より後の第2の世代のデータCで更新する指示をホスト装置2から受け付ける。
複写処理部3bは、受付部3aの更新指示の受け付けに応じてボリューム4bにデータAおよびデータBを複写する処理(以下、「第1の複写処理」と言う)を開始する。具体的には、複写処理部3bは、ボリューム4aに記憶されているデータAおよびデータBのボリューム4bへの複写の進捗状況を示すビットマップ5aを用意する。ビットマップ5aの図1中上側のビットは、データAのボリューム4bへの複写(物理コピー)が完了しているか否かを示す値(完了を示す「0」または未完了を示す「1」)が設定される。ビットマップ5aの図1中下側のビットは、データBのボリューム4bへの複写が完了しているか否かを示す値が設定される。なお、図1では、制御装置3の処理の説明を分かり易くするために、ボリューム4aの近傍にビットマップ5aを図示している。
複写処理部3bは、受付部3aの更新指示の受け付けに応じてボリューム4bにデータAおよびデータBを複写する処理(以下、「第1の複写処理」と言う)を開始する。具体的には、複写処理部3bは、ボリューム4aに記憶されているデータAおよびデータBのボリューム4bへの複写の進捗状況を示すビットマップ5aを用意する。ビットマップ5aの図1中上側のビットは、データAのボリューム4bへの複写(物理コピー)が完了しているか否かを示す値(完了を示す「0」または未完了を示す「1」)が設定される。ビットマップ5aの図1中下側のビットは、データBのボリューム4bへの複写が完了しているか否かを示す値が設定される。なお、図1では、制御装置3の処理の説明を分かり易くするために、ボリューム4aの近傍にビットマップ5aを図示している。
複写処理部3bが第1の複写処理を開始した後に、受付部3aが、ボリューム4aに記憶されているデータAをデータCで更新する指示をホスト装置2から受け付けると、複写処理部3bは、ビットマップ5aのデータAのコピーの進捗状況を確認する。そして、複写処理部3bは、ボリューム4aに記憶されているデータAのボリューム4bへの複写が完了したことを確認すると、ボリューム4aのデータAが記憶されている記憶領域へのデータCの書き込みを許可する。但し、複写処理部3bは、ボリューム4aに記憶されているデータAのボリューム4bへの複写が完了するまでボリューム4bからボリューム4cへのデータAの複写の開始を制限する。データAの複写の開始を制限することにより、複写が未完了なままボリューム4cにデータAだけが複写されることを抑制することで、データの複写によるデータの世代のずれを抑制することができる。
その後、受付部3aが、ボリューム4aに記憶されているデータBをデータDで更新する指示をホスト装置2から受け付けると、複写処理部3bは、ビットマップ5aのデータBのコピーの進捗状況を確認する。そして、複写処理部3bは、ボリューム4aに記憶されているデータBのボリューム4bへの複写が完了したことを確認すると、ボリューム4aのデータBが記憶されている記憶領域へのデータDの書き込みを許可する。
複写処理部3bは、ビットマップ5aを参照し、ボリューム4aに記憶されている全てのデータAおよびデータBのボリューム4bへの複写が完了したことを確認すると、ボリューム4bの複写先のボリューム4cへのデータの複写(「第2の複写処理」)の開始を許可する。また、複写処理部3bは、ボリューム4bに記憶されているデータAおよびデータBの、ボリューム4cへのコピーの進捗状況を示すビットマップ5bを用意する。
その後、ホスト装置2の指示に応じてボリューム4aに記憶されているデータCおよびデータDを、ボリューム4bに複写する処理(「第3の複写処理」)を開始する。複写処理部3bは、ボリューム4aに記憶されているデータCおよびデータDの、ボリューム4bへのコピーの進捗状況を示すビットマップ5cを用意する。
このストレージ装置1によれば、複写が未完了なままボリューム4cにデータAだけがコピーされることを抑制することができる。従って、データの複写によるデータの世代のずれを抑制することができる。
<第2の実施の形態>
図2は、第2の実施の形態のストレージシステムを示すブロック図である。
ストレージシステム1000は、ホスト装置30と、このホスト装置30にファイバチャネル(FC:Fibre Channel)スイッチ31を介して接続されたストレージ装置100とを有している。なお、図2では1つのホスト装置30がストレージ装置100に接続されているが、複数のホスト装置が、ストレージ装置100に接続されていてもよい。
図2は、第2の実施の形態のストレージシステムを示すブロック図である。
ストレージシステム1000は、ホスト装置30と、このホスト装置30にファイバチャネル(FC:Fibre Channel)スイッチ31を介して接続されたストレージ装置100とを有している。なお、図2では1つのホスト装置30がストレージ装置100に接続されているが、複数のホスト装置が、ストレージ装置100に接続されていてもよい。
ストレージ装置100は、それぞれが複数のHDD20を備えるドライブエンクロージャ(DE:Drive Enclosure)20aと、このドライブエンクロージャ20aの物理記憶領域をRAID(Redundant Arrays of Inexpensive/Independent Disks)によって管理する制御モジュール(CM:Controller Module)10a、10bとを有している。なお、本実施の形態では、ドライブエンクロージャ20aが備える記憶媒体としては、HDD20を例示したが、HDD20に限らず、SSD等、他の記憶媒体を用いてもよい。以下、ドライブエンクロージャ20aが備える複数のHDD20を区別しない場合は、「HDD20群」と言う。HDD20群の総容量は、例えば600GB(Giga Byte)〜240TB(Tera Byte)である。
ストレージ装置100は、制御モジュール10a、10bを運用に使用することで、冗長性が確保されている。なお、ストレージ装置100が備える制御モジュールの数は、2つに限定されず、3つ以上の制御モジュールにより冗長性が確保されていてもよいし、制御モジュール10aのみを使用した構成であってもよい。
制御モジュール10a、10bは、それぞれ制御装置の一例であり、制御モジュール10a、10bは、それぞれ同じハードウェア構成によって実現される。
制御モジュール10a、10bは、それぞれ、ホスト装置30からのデータアクセス要求に応じてドライブエンクロージャ20aが有するHDD20の物理記憶領域へのデータアクセスをRAIDによって制御する。
制御モジュール10a、10bは、それぞれ、ホスト装置30からのデータアクセス要求に応じてドライブエンクロージャ20aが有するHDD20の物理記憶領域へのデータアクセスをRAIDによって制御する。
制御モジュール10a、10bは、それぞれ同じハードウェア構成によって実現されるため、代表的に、制御モジュール10aのハードウェア構成を説明する。
制御モジュール10aは、CPU101と、RAM(Random Access Memory)102と、フラッシュROM(Read Only Memory)103と、キャッシュメモリ104と、チャネルアダプタ(CA:Channel Adapter)105aと、デバイスインタフェース(DI:Device Interface)106a、106bとを備えている。
制御モジュール10aは、CPU101と、RAM(Random Access Memory)102と、フラッシュROM(Read Only Memory)103と、キャッシュメモリ104と、チャネルアダプタ(CA:Channel Adapter)105aと、デバイスインタフェース(DI:Device Interface)106a、106bとを備えている。
CPU101は、フラッシュROM103等に記憶されたプログラムを実行することにより、制御モジュール10a全体を統括的に制御する。RAM102は、CPU101に実行させるプログラムの少なくとも一部や、プログラムによる処理に必要な各種データを一時的に記憶する。フラッシュROM103は、不揮発性のメモリであり、CPU101により実行されるプログラムや、プログラムの実行に必要な各種のデータ等を記憶する。
また、フラッシュROM103は、ストレージ装置100の停電時等にキャッシュメモリ104に記憶されているデータの退避先となる。
キャッシュメモリ104は、HDD20群に書き込まれているデータやHDD20群から読み出したデータを一時的に記憶する。
キャッシュメモリ104は、HDD20群に書き込まれているデータやHDD20群から読み出したデータを一時的に記憶する。
そして、制御モジュール10aは、例えばホスト装置30からのデータ読み出し命令を受けたときに、読み出し対象のデータがキャッシュメモリ104に記憶されているか否かを判断する。読み出し対象のデータがキャッシュメモリ104に記憶されていれば、制御モジュール10aは、キャッシュメモリ104に記憶されている読み出し対象のデータをホスト装置30に送る。読み出し対象のデータをHDD20群から読み出す場合に比べ、データを迅速にホスト装置30に送ることができる。
また、キャッシュメモリ104には、CPU101による処理に必要なデータが一時的に記憶されてもよい。このキャッシュメモリ104としては、例えば、SRAM(Static Random Access Memory)等の揮発性の半導体装置が挙げられる。また、キャッシュメモリ104の記憶容量は、特に限定されないが、一例として2〜64GB程度である。
チャネルアダプタ105aは、ファイバチャネルスイッチ31に接続され、ファイバチャネルスイッチ31を介してホスト装置30のチャネルに接続される。チャネルアダプタ105aは、ホスト装置30と制御モジュール10aとの間でデータを送受信するインタフェース機能を提供する。
デバイスインタフェース106a、106bは、ドライブエンクロージャ20aに接続されている。このデバイスインタフェース106a、106bは、ドライブエンクロージャ20aが備えるHDD20群とキャッシュメモリ104との間でデータを送受信するインタフェース機能を提供する。制御モジュール10aは、デバイスインタフェース106a、106bを介してドライブエンクロージャ20aが備えるHDD20群との間でデータの送受信を行う。
制御モジュール10a、10bは、ルータ32を介して互いに接続されている。例えば、HDD20群に書き込みを要求するデータがホスト装置30からチャネルアダプタ105aを介して制御モジュール10aに送信されると、CPU101は、受信したデータをキャッシュメモリ104に格納する。また、CPU101はデータの格納と共に、受信したデータを、ルータ32を介して制御モジュール10bに送信する。そして、制御モジュール10bは、制御モジュール10bが有するCPUが受信したデータを制御モジュール10bが有するキャッシュメモリに格納する。この処理によって、制御モジュール10a内のキャッシュメモリ104と制御モジュール10b内のキャッシュメモリとに同一のデータが記憶される。
ドライブエンクロージャ20aには、ドライブエンクロージャ20aが備える複数のHDD20のうち、1つ、または複数のHDD20により構成されたRAIDグループが形成されている。このRAIDグループは、「論理ボリューム」「仮想ディスク」「RLU(RAID Logical Unit)」等と呼ばれる場合もある。
図2では、RAID5を構成する2つのRAIDグループ21、22を示している。なお、RAIDグループ21、22のRAID構成は、一例であり、図示のRAID構成に限定されない。例えば、RAIDグループ21、22は、任意の個数のHDD20を有することができる。また、RAIDグループ21、22は、RAID6等、任意のRAID方式で構成することができる。
次に、制御モジュール10aの機能を説明する。
図3は、第2の実施の形態の制御モジュールの機能を示すブロック図である。
制御モジュール10aは、論理ボリューム作成部11と、世代管理情報格納部12と、書き込み要求処理部13と、OPC処理部14と、OPC管理情報格納部15とを有している。なお、書き込み要求処理部13は、受付部の一例であり、OPC処理部14は、複写処理部の一例である。
図3は、第2の実施の形態の制御モジュールの機能を示すブロック図である。
制御モジュール10aは、論理ボリューム作成部11と、世代管理情報格納部12と、書き込み要求処理部13と、OPC処理部14と、OPC管理情報格納部15とを有している。なお、書き込み要求処理部13は、受付部の一例であり、OPC処理部14は、複写処理部の一例である。
ストレージ装置100は、ドライブエンクロージャ20aが有する一部または全部のHDD20で構成されたストレージプール(仮想的な記憶領域)20bを備えている。
論理ボリューム作成部11は、OPC処理部14が発行した論理ボリューム作成指示に応じてストレージプール20bの記憶領域の一部を割り当てた論理ボリュームを作成する。論理ボリューム作成部11は、HDD20の物理的な境界に制約されることなくストレージプール20bの容量を割り当てた論理ボリュームを作成することができる。図3では、論理ボリューム41、42、43が作成されている。
論理ボリューム作成部11は、OPC処理部14が発行した論理ボリューム作成指示に応じてストレージプール20bの記憶領域の一部を割り当てた論理ボリュームを作成する。論理ボリューム作成部11は、HDD20の物理的な境界に制約されることなくストレージプール20bの容量を割り当てた論理ボリュームを作成することができる。図3では、論理ボリューム41、42、43が作成されている。
世代管理情報格納部12には、RAIDグループ21、22に記憶されているデータの世代を管理する情報(世代管理情報)が格納されている。なお、世代管理情報については後に詳述する。
書き込み要求処理部13は、ホスト装置30が発行するデータの書き込み要求を確認すると、書き込み要求に含まれるデータを書き込む箇所を特定する情報(例えば、LBA(Logical Block Address)等)に基づいて、データ書き込み対象の論理ボリュームおよび書き込み対象領域を特定する。そして、書き込み要求処理部13は、データ書き込み対象の論理ボリュームを含むOPCセッション(OPCを実行するセッション)が確立されているか否かを判断する。データ書き込み対象の論理ボリュームを含むOPCセッションが確立されている場合、OPCおいてコピー対象領域を特定するビットマップのビットが「1」(コピー未完了)から「0」(コピー完了)に設定されるのを待機する。データ書き込み対象ビットマップのビットが「0」に設定されると、書き込み要求処理部13は、ホスト装置30が書き込みを要求したデータを、書き込み対象の論理ボリュームの特定した書き込み対象領域に書き込む。
OPC処理部14は、ホスト装置30が発行するOPC起動要求に応じて論理ボリューム間のOPCセッションを確立し、OPCを実行する。そして、コピー対象領域のコピーが完了すると、完了したコピー対象領域のビットマップのビットを「0」に設定する。
また、OPC処理部14は、複数の世代においてOPCセッションが確立されている場合、ある世代(当該世代)のデータのOPCを開始する前に、1つ前の世代のデータのコピーが完了したことを確認した後に当該世代のデータのOPCを開始する。この処理により、コピー対象のデータの一部だけがコピーされた論理ボリュームをコピー元とするOPCが開始されることを抑制することができる。
OPC管理情報格納部15には、OPCセッションを確立している論理ボリュームに関する情報が格納されている。
以上、制御モジュール10aの機能を説明したが、制御モジュール10bも制御モジュール10aと同様の機能を有している。
以上、制御モジュール10aの機能を説明したが、制御モジュール10bも制御モジュール10aと同様の機能を有している。
次に、OPC処理を説明する。
図4は、OPC処理部のOPC処理を説明する図である。
図4(a)では、第1の世代のデータA、Bが論理ボリューム43に記憶されており、第2の世代のデータC、Dが論理ボリューム42に記憶されており、第3の世代のデータE、Fが論理ボリューム41に記憶されている。
図4は、OPC処理部のOPC処理を説明する図である。
図4(a)では、第1の世代のデータA、Bが論理ボリューム43に記憶されており、第2の世代のデータC、Dが論理ボリューム42に記憶されており、第3の世代のデータE、Fが論理ボリューム41に記憶されている。
ここで、第1の世代のデータA、Bは、当初論理ボリューム41に記憶されていたが、ホスト装置30からのデータC、Dの書き込み要求に応じてOPC処理部14がOPCを実行することにより論理ボリューム42にコピーされ、さらに、ホスト装置30からのデータE、Fの書き込み要求に応じてOPC処理部14がOPCを実行することにより論理ボリューム43にコピーされたデータである。
第2の世代のデータC、Dは、ホスト装置30からのデータC、Dの書き込み要求に応じて書き込み要求処理部13が処理を行った結果、論理ボリューム41に書き込まれ、その後、ホスト装置30からのデータE、Fの書き込み要求に応じてOPC処理部14がOPCを実行することにより論理ボリューム42にコピーされたデータである。
第3の世代のデータE、Fは、ホスト装置30からのデータE、Fの書き込み要求に応じて書き込み要求処理部13が書き込み処理を行った結果、論理ボリューム41に書き込まれたデータである。
本実施の形態では、データA、Bから見たデータC、DおよびデータC、Dから見たデータA、Bをそれぞれ横世代のデータと言う。また、データA、Bから見たデータC、Dを後横世代のデータと言う。データC、Dから見たデータA、Bを前横世代のデータと言う。
図4(b)では、第1の世代のデータA、Bが論理ボリューム42に記憶されており、第1の世代のデータBおよび第2の世代のデータCが論理ボリューム43に記憶されており、第3の世代のデータD、Eが論理ボリューム41に記憶されている。
ここで、論理ボリューム42に記憶されている第1の世代のデータA、Bは、当初論理ボリューム41に記憶されていたが、ホスト装置30からのデータD、Eの書き込み要求に応じてOPC処理部14がOPCを実行することにより論理ボリューム42にコピーされたデータである。
また、論理ボリューム43に記憶されている第1の世代のデータBおよび第2の世代のデータCは、第1の世代のデータA、Bの論理ボリューム42へのOPC実行中に、ホスト装置30の要求によりOPC処理部14がOPCを実行することにより論理ボリューム41に書き込まれたデータCと当初論理ボリューム41に記憶されていたデータBとが論理ボリューム42にコピーされたデータである。
第3の世代のデータD、Eは、ホスト装置30からのデータD、Eの書き込み要求に応じて書き込み要求処理部13が処理を行った結果、論理ボリューム41に書き込まれたデータである。
本実施の形態では、データA、Bから見たデータC、BおよびデータC、Bから見たデータA、Bを縦世代のデータと言う。また、データA、Bから見たデータC、Bを後縦世代のデータと言う。データC、Bから見たデータA、Bを前縦世代のデータと言う。
図5は、世代管理情報を説明する図である。
世代管理情報格納部12には、データの世代を管理する情報がテーブル化して格納されている。
世代管理情報格納部12には、データの世代を管理する情報がテーブル化して格納されている。
図5に示す世代管理テーブル12aには、OLU番号(OLU_NUMBER)、世代番号(GENERATION_NUMBER)、割り込み世代番号(INTERRUPT_GENERARION_NUMBER)、プール番号(POOL_NUMBER)、プール内物理ボリューム番号(POOL_SSLU_NUMBER)、全世代数(TOTAL_GENERATION)、全横世代数(TOTAL_WIDTH_GENERATION)、全縦世代数(TOTAL_HEIGHT_GENERATION)、前横世代番号(PREV_WIDTH_GENERATION_OLU_NUMBER)、後横世代番号(NEXT_WIDTH_GENERATION_OLU_NUMBER)、前縦世代番号(PREV_HEIGHT_GENERATION_OLU_NUMBER)、および後縦世代番号(NEXT_HEIGHT_GENERATION_OLU_NUMBER)が設定されている。
OLU番号の欄には、当該世代のデータが格納されている論理ボリュームを、ホスト装置30が識別可能な番号が設定される。
世代番号の欄には、世代を識別する番号が設定される。この世代番号は、ホスト装置30から書き込み要求処理部13がデータを受け付ける際に、書き込み要求処理部13が設定する。
世代番号の欄には、世代を識別する番号が設定される。この世代番号は、ホスト装置30から書き込み要求処理部13がデータを受け付ける際に、書き込み要求処理部13が設定する。
割り込み世代番号の欄は、後述する割り込み処理により当該世代が作成された場合、当該世代が縦世代であることを示す番号が設定される。例えば、図4(b)では、論理ボリューム43に記憶されているデータC、Bは、論理ボリューム42に記憶されているデータA、Bに対し、割り込み世代の関係にある。
プール番号の欄には、ストレージプール20bを識別する番号が設定される。
プール内物理ボリューム番号の欄には、ストレージプール20b内に存在するRAIDグループを識別する番号が設定される。
プール内物理ボリューム番号の欄には、ストレージプール20b内に存在するRAIDグループを識別する番号が設定される。
全世代数の欄には、当該世代のデータより古い世代のデータの数が設定される。
全横世代数の欄には、当該世代を含み、横方向の世代の数が設定される。
全縦世代数の欄には、当該世代を含み、縦方向の世代の数が設定される。
全横世代数の欄には、当該世代を含み、横方向の世代の数が設定される。
全縦世代数の欄には、当該世代を含み、縦方向の世代の数が設定される。
前横世代番号の欄には、当該世代の1つ前の横世代の世代番号が設定される。当該世代の1つ前の横世代が存在しない場合は、当該欄は空欄である。
後横世代番号の欄には、当該世代の1つ後の横世代の世代番号が設定される。当該世代の1つ後の横世代が存在しない場合は、当該欄は空欄である。
後横世代番号の欄には、当該世代の1つ後の横世代の世代番号が設定される。当該世代の1つ後の横世代が存在しない場合は、当該欄は空欄である。
前縦世代番号の欄には、当該世代の1つ前の縦世代の世代番号が設定される。当該世代の1つ前の縦世代が存在しない場合は、当該欄は空欄である。
後縦世代番号の欄には、当該世代の1つ後の縦世代の世代番号が設定される。当該世代の1つ後の縦世代が存在しない場合は、当該欄は空欄である。
後縦世代番号の欄には、当該世代の1つ後の縦世代の世代番号が設定される。当該世代の1つ後の縦世代が存在しない場合は、当該欄は空欄である。
次に、OPC管理情報格納部15に格納されているOPC管理情報を説明する。
図6は、OPC管理情報を説明する図である。
世代管理情報格納部12には、OPC管理情報がテーブル化して格納されている。
図6は、OPC管理情報を説明する図である。
世代管理情報格納部12には、OPC管理情報がテーブル化して格納されている。
図6に示すOPC管理テーブル15aには、セッション名、コピー元論理ボリューム名、コピー先論理ボリューム名、およびビットマップの欄が設けられている。横方向に並べられた情報同士が互いに関連づけられている。
セッション名の欄には、OPCセッションを識別する名前が設定されている。
コピー元論理ボリューム名の欄には、OPCセッションを確立するデータコピー元の論理ボリュームのOLU番号が設定される。
コピー元論理ボリューム名の欄には、OPCセッションを確立するデータコピー元の論理ボリュームのOLU番号が設定される。
コピー先論理ボリューム名の欄には、OPCセッションを確立するデータコピー先の論理ボリュームのOLU番号が設定される。
ビットマップの欄には、OPCの進捗を識別する情報が、記憶領域毎に設定される。OPC処理部14は、ホスト装置30からコピー元論理ボリュームを特定したOPC起動許可を受け付けると、OPC管理テーブル15aの、受け付けたコピー元論理ボリュームに対応するビットマップ中の全てのビットを「1」に設定し、OPCを開始する。
ビットマップの欄には、OPCの進捗を識別する情報が、記憶領域毎に設定される。OPC処理部14は、ホスト装置30からコピー元論理ボリュームを特定したOPC起動許可を受け付けると、OPC管理テーブル15aの、受け付けたコピー元論理ボリュームに対応するビットマップ中の全てのビットを「1」に設定し、OPCを開始する。
次に、書き込み要求処理部13の処理を、フローチャートを用いて説明する。
図7は、書き込み要求処理部の処理を説明するフローチャートである。
[ステップS1] 書き込み要求処理部13は、OPC管理テーブル15aのコピー元論理ボリューム名の欄を参照し、ホスト装置30が指定したデータ書き込み先の論理ボリューム(以下、図7の説明において「当該論理ボリューム」と言う)に他の論理ボリュームとのOPCセッションが設定されているか否かを判断する。当該論理ボリュームに他の論理ボリュームとのOPCセッションが設定されている場合(ステップS1のYes)、ステップS2に遷移する。当該論理ボリュームに他の論理ボリュームとのOPCセッションが設定されていない場合(ステップS1のNo)、ステップS4に遷移する。
図7は、書き込み要求処理部の処理を説明するフローチャートである。
[ステップS1] 書き込み要求処理部13は、OPC管理テーブル15aのコピー元論理ボリューム名の欄を参照し、ホスト装置30が指定したデータ書き込み先の論理ボリューム(以下、図7の説明において「当該論理ボリューム」と言う)に他の論理ボリュームとのOPCセッションが設定されているか否かを判断する。当該論理ボリュームに他の論理ボリュームとのOPCセッションが設定されている場合(ステップS1のYes)、ステップS2に遷移する。当該論理ボリュームに他の論理ボリュームとのOPCセッションが設定されていない場合(ステップS1のNo)、ステップS4に遷移する。
[ステップS2] 書き込み要求処理部13は、OPC管理テーブル15aのビットマップの欄を参照し、書き込み要求に含まれる書き込み対象領域に対応するビットマップのビットが「0」か否かを判断する。書き込み要求に含まれる書き込み対象領域に対応するビットマップのビットが「0」である場合(ステップS2のYes)、ステップS4に遷移する。書き込み要求に含まれる書き込み対象領域に対応するビットマップのビットが「0」ではない場合(ステップS2のNo)、ステップS3に遷移する。
[ステップS3] 書き込み要求処理部13は、書き込み要求をキューに並ばせて5秒待機させる。なお、5秒は一例である。5秒経過した後に、ステップS2に遷移する。
[ステップS4] 書き込み要求処理部13は、書き込み要求のデータの書き込み対象領域への書き込みを開始する。書き込みが完了すると、ステップS5に遷移する。
[ステップS4] 書き込み要求処理部13は、書き込み要求のデータの書き込み対象領域への書き込みを開始する。書き込みが完了すると、ステップS5に遷移する。
[ステップS5] 書き込み要求処理部13は、ステップS4にて書き込んだデータに関する世代管理テーブル12aを作成する。また、当該書き込みに関連する他の世代管理テーブル12aの内容を更新する。その後、図7の処理を終了する。
次に、OPC処理部14のOPC起動処理を説明する。
図8は、OPC起動処理を説明するフローチャートである。
[ステップS10] OPC処理部14は、コピー先の論理ボリュームが存在するか否かを判断する。具体的には、OPC処理部14は、世代管理テーブル12aの前横世代番号の欄を参照し、前横世代番号が存在する場合、コピー先の論理ボリュームが存在すると判断する。コピー先の論理ボリュームが存在する場合(ステップS10のYes)、ステップS11に遷移する。コピー先の論理ボリュームが存在しない場合(ステップS10のNo)、ステップS12に遷移する。
図8は、OPC起動処理を説明するフローチャートである。
[ステップS10] OPC処理部14は、コピー先の論理ボリュームが存在するか否かを判断する。具体的には、OPC処理部14は、世代管理テーブル12aの前横世代番号の欄を参照し、前横世代番号が存在する場合、コピー先の論理ボリュームが存在すると判断する。コピー先の論理ボリュームが存在する場合(ステップS10のYes)、ステップS11に遷移する。コピー先の論理ボリュームが存在しない場合(ステップS10のNo)、ステップS12に遷移する。
[ステップS11] OPC処理部14は、コピー元論理ボリュームのビットマップを参照し、コピー元論理ボリュームに未コピー領域(ビットマップのビットが「1」の領域)が存在するか否かを判断する。コピー元論理ボリュームに未コピー領域が存在する場合(ステップS11のYes)、割り込み処理を実行するためにステップS12に遷移する。コピー元論理ボリュームに未コピー領域が存在しない場合(ステップS11のNo)、ステップS15に遷移する。
[ステップS12] OPC処理部14は、ストレージプール20bから新たな論理ボリュームを割り当てるよう論理ボリューム作成部11に依頼する。その後、ステップS13に遷移する。
[ステップS13] OPC処理部14は、ステップS12の依頼に基づいて論理ボリューム作成部11が作成した新たな論理ボリュームの論理ボリューム番号、コピー元論理ボリュームとの関係および割り込み世代番号を設定した世代管理テーブル12aを作成する。その後、ステップS14に遷移する。
[ステップS14] OPC処理部14は、ステップS13にて作成した世代管理テーブル12aの内容を、既存の世代管理テーブル12aに反映させる。具体的には、OPC処理部14は、コピー元論理ボリュームに記憶されているデータに対応する世代管理テーブル12aの前横世代の欄を参照する。そして、OPC処理部14は、前横世代の欄に設定された前横世代番号に一致する番号が自世代番号に設定された世代管理テーブル12aの後横世代番号の欄に、作成した世代管理テーブル12aの世代番号を設定する。その後、ステップS15に遷移する。
[ステップS15] OPC処理部14は、ホスト装置30が指定した論理ボリュームをコピー元論理ボリュームとするOPCセッションを確立してOPCを開始し、コピー対象領域のビットマップのビットをセットする。その後、ステップS16に遷移する。
[ステップS16] OPC処理部14は、ステップS15にて開始したOPCに関する情報を設定したレコードをOPC管理テーブル15aに追加する。その後、ステップS17に遷移する。
[ステップS17] OPC処理部14は、OPC処理を行う。なお、OPC処理については後に詳述する。OPC処理が終了すると、図8の処理を終了する。
以上でOPC起動処理の説明を終了する。
以上でOPC起動処理の説明を終了する。
次に、ステップS17のOPC処理を説明する。
図9および図10は、OPC処理を説明するフローチャートである。
[ステップS17a] OPC処理部14は、コピー元論理ボリュームに記憶されているコピー対象領域のデータを処理対象データに設定する。その後、ステップS17bに遷移する。
図9および図10は、OPC処理を説明するフローチャートである。
[ステップS17a] OPC処理部14は、コピー元論理ボリュームに記憶されているコピー対象領域のデータを処理対象データに設定する。その後、ステップS17bに遷移する。
[ステップS17b] OPC処理部14は、ステップS17aにて設定した処理対象データに対応する世代管理テーブル12aの前横世代の欄を参照し、処理対象データの前横世代のデータが存在するか否かを判断する。処理対象データの前横世代のデータが存在する場合(ステップS17bのYes)、ステップS17cに遷移する。処理対象データの前横世代のデータが存在しない場合(ステップS17bのNo)、図10のステップS17dに遷移する。
[ステップS17c] OPC処理部14は、処理対象データの識別情報をバッファに一時記憶し、処理対象データの前横世代のデータを新たな処理対象データに設定する。その後、ステップS17bに遷移する。
[ステップS17d] OPC処理部14は、処理対象データのコピーが完了するのを待機する。その後、ステップS17eに遷移する。
[ステップS17e] OPC処理部14は、コピーが完了したコピー対象領域のビットマップのビットを「0」に設定する。その後、ステップS17fに遷移する。
[ステップS17e] OPC処理部14は、コピーが完了したコピー対象領域のビットマップのビットを「0」に設定する。その後、ステップS17fに遷移する。
[ステップS17f] OPC処理部14は、処理対象データに対応する世代管理テーブル12aの縦世代の欄を参照し、処理対象データの縦世代のデータが存在するか否かを判断する。処理対象データの縦世代のデータが存在する場合(ステップS17fのYes)、ステップS17gに遷移する。処理対象データの縦世代のデータが存在しない場合(ステップS17fのNo)、ステップS17iに遷移する。
[ステップS17g] OPC処理部14は、OPC管理テーブル15aの各レコードを参照し、処理対象データの全ての縦世代のデータについてコピーが完了したか否かを判断する。具体的には、OPC処理部14は、縦世代のデータに関するOPCセッションが、OPC管理テーブル15aに設定されているか否かを判断する。処理対象データの全ての縦世代のデータについてコピーが完了した場合(ステップS17gのYes)、ステップS17iに遷移する。処理対象データの全ての縦世代のデータについてコピーが完了していない場合(ステップS17gのNo)、ステップS17hに遷移する。
[ステップS17h] OPC処理部14は、未処理の縦世代のデータを新たな処理対象データとする。その後、図9のステップS17bに遷移し、ステップS17b以降の処理を引き続き行う。
[ステップS17i] OPC処理部14は、ビットマップを参照し、全領域のコピーが完了したOPCセッションが存在するか否か判断する。全領域のコピーが完了したOPCセッションが存在する場合(ステップS17iのYes)、ステップS17jに遷移する。全領域のコピーが完了したOPCセッションが存在しない場合(ステップS17iのNo)、ステップS17dに遷移する。
[ステップS17j] OPC処理部14は、処理対象データの識別情報がバッファに存在するか否か、すなわち、図9のステップS17cにて一時記憶した識別情報が存在するか否かを判断する。識別情報がバッファに存在する場合(ステップS17jのYes)、ステップS17kに遷移する。識別情報がバッファに存在しない場合(ステップS17jのNo)、ステップS17pに遷移する。
[ステップS17k] OPC処理部14は、コピーが完了したOPCセッションを停止する。また、OPC処理部14は、OPC管理テーブル15aの、OPCセッションを停止したセッション名に一致するレコードを削除する。その後、ステップS17mに遷移する。
[ステップS17m] OPC処理部14は、バッファに記憶された識別情報により識別されるデータを処理対象データとする。その後、ステップS17nに遷移する。
[ステップS17n] OPC処理部14は、処理対象データのOPCを開始する。その後、図9のステップS17dに遷移する。
[ステップS17n] OPC処理部14は、処理対象データのOPCを開始する。その後、図9のステップS17dに遷移する。
[ステップS17p] OPC処理部14は、コピーが完了したコピー先論理ボリュームをコピー元論理ボリュームとするOPCの開始をホスト装置30に依頼する。その後、ステップS17qに遷移する。
[ステップS17q] OPC処理部14は、コピーが完了したOPCセッションを停止する。また、OPC処理部14は、OPC管理テーブル15aの、OPCセッションを停止したセッション名に一致するレコードを削除する。その後、OPC処理を終了する。
以上でOPC処理の説明を終了する。
図9、図10のOPC処理では、全領域のOPCが完了した場合、コピーが完了したコピー先論理ボリュームをコピー元論理ボリュームとするOPCの開始をホスト装置30に依頼する。従って、コピー対象のデータの一部だけがコピーされた論理ボリュームをコピー元とするOPCが開始されることを抑制することができる。また、前の世代のデータのOPCが完了した後に、後の世代のOPCを開始するので、OPC間におけるデータコピーを開始するタイミングの連携を取ることができる。
図9、図10のOPC処理では、全領域のOPCが完了した場合、コピーが完了したコピー先論理ボリュームをコピー元論理ボリュームとするOPCの開始をホスト装置30に依頼する。従って、コピー対象のデータの一部だけがコピーされた論理ボリュームをコピー元とするOPCが開始されることを抑制することができる。また、前の世代のデータのOPCが完了した後に、後の世代のOPCを開始するので、OPC間におけるデータコピーを開始するタイミングの連携を取ることができる。
以下、書き込み要求処理部13およびOPC処理部14が実行する処理を、具体例を用いて説明する。
<具体例1>
図11および図12は、具体例1を説明する図である。
<具体例1>
図11および図12は、具体例1を説明する図である。
図11では、書き込み要求処理部13の処理が図11(a)、図11(b)、図11(c)、図11(d)の順に遷移している様子を示している。
図11(a)は、OPC処理部14が、ホスト装置30のOPC起動要求に応じて論理ボリューム41と論理ボリューム42との間にOPCセッション名がOPC1のOPCセッション(以下、OPCセッションOPC1と言う)を確立し、書き込み要求処理部13が論理ボリューム41に記憶されている全てのデータA、Bを論理ボリューム42にコピーを行っている状態を示している。なお、図11(a)に示すビットマップB1は、OPC管理テーブル15aのセッション名がOPC1のビットマップの欄に設定されたビットマップに対応する。また、図11(a)では、OPCセッションOPC1のOPCを実行している状態を「OPC1実行中」と表記する。この状態で、書き込み要求処理部13が、論理ボリューム41のデータAが記憶されている領域にデータCを上書きする書き込み要求をホスト装置30から受け取ると、書き込み要求処理部13は、OPC管理テーブル15aのコピー元論理ボリューム名の欄を参照して論理ボリューム41を含むOPCセッションが設定されているか否かを判断する(ステップS1の処理)。図11に示す具体例では、論理ボリューム41を含むOPCセッションOPC1が設定されている。このため、書き込み要求処理部13は、OPC管理テーブル15aのセッション名OPC1のビットマップの欄を5秒毎に参照し、データAのビットマップのビットが「0」に設定されるまで待機する(ステップS2、S3の処理)。
図11(a)は、OPC処理部14が、ホスト装置30のOPC起動要求に応じて論理ボリューム41と論理ボリューム42との間にOPCセッション名がOPC1のOPCセッション(以下、OPCセッションOPC1と言う)を確立し、書き込み要求処理部13が論理ボリューム41に記憶されている全てのデータA、Bを論理ボリューム42にコピーを行っている状態を示している。なお、図11(a)に示すビットマップB1は、OPC管理テーブル15aのセッション名がOPC1のビットマップの欄に設定されたビットマップに対応する。また、図11(a)では、OPCセッションOPC1のOPCを実行している状態を「OPC1実行中」と表記する。この状態で、書き込み要求処理部13が、論理ボリューム41のデータAが記憶されている領域にデータCを上書きする書き込み要求をホスト装置30から受け取ると、書き込み要求処理部13は、OPC管理テーブル15aのコピー元論理ボリューム名の欄を参照して論理ボリューム41を含むOPCセッションが設定されているか否かを判断する(ステップS1の処理)。図11に示す具体例では、論理ボリューム41を含むOPCセッションOPC1が設定されている。このため、書き込み要求処理部13は、OPC管理テーブル15aのセッション名OPC1のビットマップの欄を5秒毎に参照し、データAのビットマップのビットが「0」に設定されるまで待機する(ステップS2、S3の処理)。
OPCセッションOPC1を用いたデータAのコピーが完了すると(ステップS17dの処理)、OPC処理部14は、論理ボリューム41のデータAが記憶されている領域に対応するビットマップB1のビットを「1」から「0」に設定する(ステップS17eの処理)。ビットマップのビットが「1」から「0」に設定されることにより、書き込み要求処理部13は、論理ボリューム41のデータAが記憶されている領域にデータCの上書きが可能となる(ステップS2のYes→ステップS4以降の処理)。
その後、図11(b)に示すように、書き込み要求処理部13が、論理ボリューム41のデータBが記憶されている領域にデータDを上書きする書き込み要求をホスト装置30から受け取ると、書き込み要求処理部13は、OPC管理テーブル15aのコピー元論理ボリューム名の欄を参照して論理ボリューム41を含むOPCセッションが設定されているか否かを判断する(ステップS1の処理)。図11(b)に示す具体例では、論理ボリューム41を含むOPCセッションOPC1が設定されている。このため、書き込み要求処理部13は、OPC管理テーブル15aのセッション名OPC1のビットマップの欄を参照し、データBのビットマップのビットが「0」に設定されるまで待機する(ステップS2、S3の処理)。
その後、図11(c)に示すように、データBのコピーが完了すると(ステップS17dの処理)、OPC処理部14は、論理ボリューム41のデータBが記憶されている領域に対応するビットマップB1のビットを「1」から「0」に設定する(ステップS17eの処理)。ビットマップのビットが「1」から「0」に設定されることにより、書き込み要求処理部13は、論理ボリューム41のデータBが記憶されている領域にデータDの上書きが可能となる(ステップS2のYes→ステップS4以降の処理)。
また、OPC処理部14は、ビットマップB1の全てのビットが「0」であることを確認すると(ステップS17iのYesの処理)、OPC管理テーブル15aを参照し、セッション名OPC1のコピー先論理ボリューム名の欄に設定された論理ボリューム名「OLU2」をコピー元論理ボリュームとするOPCセッションの確立をホスト装置30に要求する(ステップS17pの処理)。その後、OPC処理部14は、OPC管理テーブル15aからセッション名OPC1のレコードを削除する(ステップS17qの処理)。
その後、OPC処理部14は、OPCセッションの確立要求に応じて、ホスト装置30が発行した論理ボリューム42から論理ボリューム43へのデータコピー要求を受け付けると、OPC起動処理を行う。具体的には、OPC処理部14は、論理ボリューム42と論理ボリューム43との間にOPCセッション名がOPC2であるOPCセッションOPC2を確立し、ビットマップB2を用意する(ステップS15の処理)。また、確立したOPCセッションOPC2に関するレコードをOPC管理テーブル15aに追加する(ステップS16の処理)。そして、OPC処理部14は、OPCセッションOPC2を用いてOPC処理を開始する(ステップS17の処理)。
その後、OPC処理部14は、論理ボリューム41から論理ボリューム42へのデータコピー要求をホスト装置30から受け付けると、OPC起動処理を行う。具体的には、OPC処理部14は、論理ボリューム41と論理ボリューム42との間にOPCセッション名がOPC3であるOPCセッションOPC3を確立し、ビットマップB3を用意する(ステップS15の処理)。また、OPC処理部14は、確立したOPCセッションOPC3に関するレコードをOPC管理テーブル15aに追加する(ステップS16の処理)。そして、OPC処理部14は、OPCセッションOPC3を用いてOPC処理を開始する(ステップS17の処理)。
その後、書き込み要求処理部13が、論理ボリューム41のデータCが記憶されている領域にデータEを上書きする書き込み要求、および論理ボリューム41のデータDが記憶されている領域にデータFを上書きする書き込み要求をホスト装置30から受け取ると、書き込み要求処理部13は、OPC管理テーブル15aのコピー元論理ボリューム名の欄およびコピー先論理ボリューム名の欄を参照して論理ボリューム41を含むOPCセッションが設定されているか否かを判断する(ステップS1の処理)。図11(d)に示す具体例では、論理ボリューム41を含むOPCセッションOPC3が設定されている。このため、書き込み要求処理部13は、OPC管理テーブル15aのセッション名OPC3のビットマップの欄を参照し、データCおよびデータDのビットマップのビットがいずれも「0」に設定されるのを待機する(ステップS2、S3の処理)。
ところで、OPC処理部14は、OPCセッションOPC3のOPCを行う際に、まず、データCおよびデータDを処理対象データに設定する(ステップS17aの処理)。OPC処理部14は、処理対象データの前横世代のデータが存在するか否かを判断すると(ステップS17bの処理)、データAおよびデータBが存在する。このため、OPC処理部14は、データAおよびデータBを処理対象データとする(ステップS17cの処理)。データAおよびデータBの前横世代のデータは存在しないので、OPC処理部14は、OPCセッションOPC2を用いたデータAおよびデータBのコピーの完了を待機する(ステップS17dの処理)。OPCセッションOPC2を用いたデータAおよびデータBコピーが完了すると、OPC処理部14は、論理ボリューム42のデータAおよびデータBが記憶されている領域に対応するビットマップB2のビットを「1」から「0」に更新する(ステップS17eの処理)。論理ボリューム42のデータAおよびデータBが記憶されている領域に対応するビットマップB2のビットが「1」から「0」に更新されることにより、OPC処理部14は、論理ボリューム41のデータCが記憶されている領域にデータEの上書きが可能となる。また、OPC処理部14は、論理ボリューム41のデータDが記憶されている領域にデータFの上書きが可能となる(ステップS2のYes→ステップS4以降の処理)。
OPCセッションOPC2を用いた全領域のコピーが完了したので、OPC処理部14は、OPCセッションOPC2のコピー先の論理ボリューム43をOPCセッション元とするOPCコピーの開始をホスト装置30に依頼する(ステップS17pの処理)。その後、OPC処理部14は、5秒以上待機した後に、OPC管理テーブル15aからセッション名OPC2のレコードを削除する。
その後、OPC処理部14は、データCおよびデータDを処理対象データに設定する(ステップS17mの処理)。そして、OPC処理部14は、OPCセッションOPC3を用いたデータCおよびデータDのコピーの完了を待機する(ステップS17dの処理)。
OPCセッションOPC3を用いたデータCおよびデータDのコピーが完了すると、OPC処理部14は、論理ボリューム41のデータCおよびデータDが記憶されている領域に対応するビットマップB3のビットを「1」から「0」に更新する(ステップS17eの処理)。論理ボリューム41のデータCおよびデータDが記憶されている領域に対応するビットマップB3のビットが「1」から「0」に更新されることにより、OPC処理部14は、論理ボリューム41のデータCが記憶されている領域にデータEの上書きが可能となる。また、OPC処理部14は、論理ボリューム41のデータDが記憶されている領域にデータFの上書きが可能となる。
OPCセッションOPC3を用いた全領域のコピーが完了したので、OPC処理部14は、OPCセッションOPC3のコピー先の論理ボリューム42をOPCセッション元とするOPCコピーの開始をホスト装置30に依頼する(ステップS17pの処理)。その後、OPC処理部14は、5秒以上待機した後に、OPC管理テーブル15aからセッション名OPC3のレコードを削除する(ステップS17qの処理)。
ところで、OPC処理部14は、OPC処理部14自身が発行した論理ボリューム43をOPCセッション元とするOPCセッションの確立要求に応じて、ホスト装置30が発行した論理ボリューム43のデータコピー要求を受け付けると、OPC起動処理を実行する。具体的には、OPC処理部14は、コピー先論理ボリュームが存在しないので(ステップS10の処理)ストレージプール20bからの新しい論理ボリュームの割り当てを論理ボリューム作成部11に依頼する(ステップS12の処理)。論理ボリューム作成部11は、OPC処理部14の依頼に応じて図12に示すように論理ボリューム44を作成する。OPC処理部14は、作成した論理ボリューム44と論理ボリューム43との関係を世代管理テーブル12aに登録する(ステップS13の処理)。また、OPC処理部14は、コピー先の世代管理テーブル12aを更新する(ステップS14の処理)。そして、OPC処理部14は、論理ボリューム43と論理ボリューム44との間にOPCセッション名がOPC4であるOPCセッションOPC4を確立し、ビットマップB4を用意する(ステップS15の処理)。次に、OPC処理部14は、確立したOPCセッションOPC4に関するレコードをOPC管理テーブル15aに追加する(ステップS16の処理)。そして、OPC処理部14は、OPCセッションOPC4を用いてOPC処理を開始する(ステップS17の処理)。
また、OPC処理部14は、OPC処理部14自身が発行した論理ボリューム42をOPCセッション元とするOPCセッションの確立要求に応じて、ホスト装置30が発行した論理ボリューム42のデータコピー要求を受け付けると、OPC起動処理を実行する。具体的には、OPC処理部14は、論理ボリューム42と論理ボリューム43との間にOPCセッション名がOPC5であるOPCセッションOPC5を確立し、ビットマップB5を用意する(ステップS15の処理)。次に、OPC処理部14は、確立したOPCセッションOPC5に関するレコードをOPC管理テーブル15aに追加する(ステップS16の処理)。そして、OPC処理部14は、OPCセッションOPC5を用いてOPC処理を開始する(ステップS17の処理)。
<具体例2>
次に、制御モジュール10aが実行するOPC処理の他の具体例について説明する。
図13は、具体例2を説明する図である。
次に、制御モジュール10aが実行するOPC処理の他の具体例について説明する。
図13は、具体例2を説明する図である。
図13では、書き込み要求処理部13の処理が図13(a)、図13(b)、図13(c)の順に遷移している様子を示している。
図13(a)は、OPC処理部14が、ホスト装置30のデータコピー要求に応じてOPC起動処理を実行し、論理ボリューム41と論理ボリューム42との間にOPCセッション名がOPC11のOPCセッションOPC11を確立し、論理ボリューム41に記憶されている全てのデータA、Bを論理ボリューム42にコピーする処理を行っている状態を示している。この状態で、書き込み要求処理部13が、論理ボリューム41のデータAが記憶されている領域にデータCを上書きする書き込み要求をホスト装置30から受け取ると、書き込み要求処理部13は、OPC管理テーブル15aのコピー元論理ボリューム名の欄を参照して論理ボリューム41を含むOPCセッションが設定されているか否かを判断する(ステップS1の処理)。図13に示す具体例では、論理ボリューム41を含むOPCセッションOPC11が設定されている。このため、書き込み要求処理部13は、OPC管理テーブル15aのセッション名OPC1のビットマップの欄を5秒毎に参照し、データAのビットマップのビットが「0」に設定されるのを待機する(ステップS2、S3の処理)。
図13(a)は、OPC処理部14が、ホスト装置30のデータコピー要求に応じてOPC起動処理を実行し、論理ボリューム41と論理ボリューム42との間にOPCセッション名がOPC11のOPCセッションOPC11を確立し、論理ボリューム41に記憶されている全てのデータA、Bを論理ボリューム42にコピーする処理を行っている状態を示している。この状態で、書き込み要求処理部13が、論理ボリューム41のデータAが記憶されている領域にデータCを上書きする書き込み要求をホスト装置30から受け取ると、書き込み要求処理部13は、OPC管理テーブル15aのコピー元論理ボリューム名の欄を参照して論理ボリューム41を含むOPCセッションが設定されているか否かを判断する(ステップS1の処理)。図13に示す具体例では、論理ボリューム41を含むOPCセッションOPC11が設定されている。このため、書き込み要求処理部13は、OPC管理テーブル15aのセッション名OPC1のビットマップの欄を5秒毎に参照し、データAのビットマップのビットが「0」に設定されるのを待機する(ステップS2、S3の処理)。
OPCセッションOPC11を用いたデータAのコピーが完了すると(ステップS17dの処理)、OPC処理部14は、論理ボリューム41のデータAが記憶されている領域に対応するビットマップB11のビットを「1」から「0」に更新する(ステップS17eの処理)。ビットマップのビットが「1」から「0」に設定されることにより、書き込み要求処理部13は、論理ボリューム41のデータAが記憶されている領域にデータCの上書きが可能となる(ステップS2のYes→ステップS4以降の処理)。
その後、図13(b)に示すように、OPCセッションOPC11が実行されている途中に、ホスト装置30から論理ボリューム41のデータバックアップ指示を受け付けると、書き込み要求処理部13は、OPC管理テーブル15aのコピー元論理ボリューム名の欄およびコピー先論理ボリューム名の欄を参照して論理ボリューム41を含むOPCセッションが設定されているか否かを判断する(ステップS1の処理)。図13(b)に示す具体例では、論理ボリューム41を含むOPCセッションOPC11が設定されている。このため、OPCセッションOPC11のビットマップB11を参照し、コピーが完了していない領域が存在するか否かを判断する(ステップS11の処理)。図13(b)に示す具体例では、コピーが完了していない領域が存在する。このため、OPC処理部14は、ストレージプール20bからの新しい論理ボリュームの割り当てを論理ボリューム作成部11に依頼する(ステップS12の処理)。
論理ボリューム作成部11は、OPC処理部14の依頼に応じて論理ボリューム45を作成する。OPC処理部14は、作成した論理ボリューム45と論理ボリューム41との関係を世代管理テーブル12aに登録する(ステップS13の処理)。具体的には、OPC処理部14は、世代管理テーブル12aの割り込み世代番号の欄に、データA、Bの世代の割り込み世代であることを識別する情報を格納する。また、OPC処理部14は、コピー先の世代管理テーブル12aを更新する(ステップS14の処理)。そして、OPC処理部14は、論理ボリューム41と論理ボリューム45との間にOPCセッション名がOPC12であるOPCセッションOPC12を確立し、ビットマップB12を用意する(ステップS15の処理)。次に、OPC処理部14は、確立したOPCセッションOPC12に関するレコードをOPC管理テーブル15aに追加する(ステップS16の処理)。そして、OPC処理部14は、OPCセッションOPC12を用いてOPC処理を開始する(ステップS17の処理)。
その後、OPCセッションOPC11を用いたコピーが終了する前に、図13(c)に示すように、書き込み要求処理部13が、論理ボリューム41のデータBが記憶されている領域にデータDを上書きする書き込み要求をホスト装置30から受け取ると、書き込み要求処理部13は、OPC管理テーブル15aのコピー元論理ボリューム名の欄を参照して論理ボリューム41を含むOPCセッションが設定されているか否かを判断する(ステップS1の処理)。図13に示す具体例では、論理ボリューム41を含むOPCセッションOPC11およびOPCセッションOPC12が設定されている。このため、書き込み要求処理部13は、OPC管理テーブル15aのセッション名OPC11のビットマップの欄を5秒毎に参照し、データBのビットマップのビットがいずれも「0」に設定されるのを待機する(ステップS2、S3の処理)。
OPCセッションOPC11を用いたデータBのコピーが完了すると(ステップS17dの処理)、OPC処理部14は、論理ボリューム41のデータBが記憶されている領域に対応するビットマップB11のビットを「1」から「0」に更新する(ステップS17eの処理)。また、OPCセッションOPC12を用いたデータBのコピーが完了すると(ステップS17dの処理)、OPC処理部14は、論理ボリューム41のデータBが記憶されている領域に対応するビットマップB12のビットを「1」から「0」に更新する(ステップS17eの処理)。データBのビットマップのビットが「1」から「0」に設定されることにより、書き込み要求処理部13は、論理ボリューム41のデータBが記憶されている領域にデータDの上書きが可能となる(ステップS2のYes→ステップS4以降の処理)。
また、OPC処理部14は、ビットマップB11の全てのビットが「0」であることを確認すると(ステップS17fの処理)、全領域のコピーが完了したOPCセッションが存在するか否かを判断する(ステップS17iの処理)。本具体例では、全領域のコピーが完了したOPCセッションOPC11が存在するため、OPCセッション先の論理ボリューム42をOPCセッション元とするOPCコピーの開始をホスト装置30に依頼する(ステップS17pの処理)。
その後、OPC処理部14は、OPC管理テーブル15aからセッション名OPC11のレコードを削除する(ステップS17qの処理)。
OPC処理部14は、OPC処理部14自身が発行した論理ボリューム42をOPCセッション元とするOPCセッションの確立要求に応じて、ホスト装置30が発行した論理ボリューム42のデータコピー要求を受け付けると、OPC起動処理を実行する。具体的には、OPC処理部14は、論理ボリューム42と論理ボリューム43との間にOPCセッション名がOPC13であるOPCセッションOPC13を確立し、ビットマップB13を用意する(ステップS15の処理)。次に、OPC処理部14は、確立したOPCセッションOPC13に関するレコードをOPC管理テーブル15aに追加する(ステップS16の処理)。そして、OPC処理部14は、OPCセッションOPC13を用いてOPC処理を開始する(ステップS17の処理)。
OPC処理部14は、OPC処理部14自身が発行した論理ボリューム42をOPCセッション元とするOPCセッションの確立要求に応じて、ホスト装置30が発行した論理ボリューム42のデータコピー要求を受け付けると、OPC起動処理を実行する。具体的には、OPC処理部14は、論理ボリューム42と論理ボリューム43との間にOPCセッション名がOPC13であるOPCセッションOPC13を確立し、ビットマップB13を用意する(ステップS15の処理)。次に、OPC処理部14は、確立したOPCセッションOPC13に関するレコードをOPC管理テーブル15aに追加する(ステップS16の処理)。そして、OPC処理部14は、OPCセッションOPC13を用いてOPC処理を開始する(ステップS17の処理)。
この具体例2によれば、OPCセッションOPC11を用いた書き込みが実行されている途中でも論理ボリューム41に記憶されている最新のデータのバックアップをとることができる。
<具体例3>
次に、制御モジュール10aが実行するOPC処理の他の具体例について説明する。
図14および図15は、具体例3を説明する図である。
次に、制御モジュール10aが実行するOPC処理の他の具体例について説明する。
図14および図15は、具体例3を説明する図である。
図14では、書き込み要求処理部の処理が図14(a)、図14(b)、図14(c)の順に遷移している様子を示している。
図14(a)は、OPC処理部14が、ホスト装置30のOPC起動要求に応じて論理ボリューム42と論理ボリューム43との間にOPCセッション名がOPC21のOPCセッションOPC21を確立し、書き込み要求処理部13が論理ボリューム42に記憶されている全てのデータA、Bを論理ボリューム43にコピーする処理を行っている状態を示している。この状態でOPC処理部14は、論理ボリューム41から論理ボリューム42へのデータコピー要求をホスト装置30から受け付けると、OPC起動処理を行い、OPC管理テーブル15aにレコードを追加する(ステップS16の処理)。そして、論理ボリューム41と論理ボリューム42との間にOPCセッション名がOPC22であるOPCセッションOPC22を確立する。OPC処理部14は、ビットマップB22を用意し、OPCセッションOPC22を用いてOPC処理を開始する(ステップS17の処理)。
図14(a)は、OPC処理部14が、ホスト装置30のOPC起動要求に応じて論理ボリューム42と論理ボリューム43との間にOPCセッション名がOPC21のOPCセッションOPC21を確立し、書き込み要求処理部13が論理ボリューム42に記憶されている全てのデータA、Bを論理ボリューム43にコピーする処理を行っている状態を示している。この状態でOPC処理部14は、論理ボリューム41から論理ボリューム42へのデータコピー要求をホスト装置30から受け付けると、OPC起動処理を行い、OPC管理テーブル15aにレコードを追加する(ステップS16の処理)。そして、論理ボリューム41と論理ボリューム42との間にOPCセッション名がOPC22であるOPCセッションOPC22を確立する。OPC処理部14は、ビットマップB22を用意し、OPCセッションOPC22を用いてOPC処理を開始する(ステップS17の処理)。
その後、図14(b)に示すように、書き込み要求処理部13が、論理ボリューム41のデータCが記憶されている領域にデータEを上書きする書き込み要求をホスト装置30から受け取ると、書き込み要求処理部13は、OPC管理テーブル15aのコピー元論理ボリューム名の欄を参照して論理ボリューム41を含むOPCセッションが設定されているか否かを判断する(ステップS1の処理)。図14に示す具体例では、論理ボリューム41を含むOPCセッションOPC22が設定されている。このため、書き込み要求処理部13は、OPC管理テーブル15aのセッション名OPC22のビットマップの欄を参照し、データCのビットマップのビットが「0」に設定されるのを待機する(ステップS2、S3の処理)。そして、OPCセッションOPC22を用いたデータCのコピーが完了すると、OPC処理部14は、論理ボリューム42のデータCが記憶されている領域に対応するビットマップB22のビットを「1」から「0」に更新する(ステップS17eの処理)。論理ボリューム42のデータCが記憶されている領域に対応するビットマップB22のビットが「1」から「0」に更新されることにより、書き込み要求処理部13は、論理ボリューム41のデータCが記憶されている領域にデータEの上書きが可能となる(ステップS2のYes→ステップS4以降の処理)。
その後、図14(c)に示すように、OPCセッションOPC22が実行されている途中に、ホスト装置30から論理ボリューム42のOPC起動要求を受け付けると、OPC処理部14は、OPCセッションOPC21のビットマップB21を参照し、コピーが完了していない領域が存在するか否かを判断する(ステップS11の処理)。図14(c)に示す具体例では、コピーが完了していない領域が存在する。このため、OPC処理部14は、ストレージプール20bから新しい論理ボリュームの割り当てを論理ボリューム作成部11に依頼する(ステップS12の処理)。
論理ボリューム作成部11は、OPC処理部14の依頼に応じて論理ボリューム46を作成する。OPC処理部14は、作成した論理ボリューム46と論理ボリューム42との関係を世代管理テーブル12aに登録する(ステップS13の処理)。具体的には、OPC処理部14は、世代管理テーブル12aの割り込み世代番号の欄に、データA、Bの世代の割り込み世代であることを識別する情報を格納する。また、OPC処理部14は、コピー先の世代管理テーブル12aを更新する(ステップS14の処理)。そして、OPC処理部14は、論理ボリューム42と論理ボリューム46との間にOPCセッション名がOPC23であるOPCセッションOPC23を確立し、ビットマップB23を用意する(ステップS15の処理)。次に、OPC処理部14は、確立したOPCセッションOPC23に関するレコードをOPC管理テーブル15aに追加する(ステップS16の処理)。そして、OPC処理部14は、OPCセッションOPC23を用いてOPC処理を開始する(ステップS17の処理)。
その後、書き込み要求処理部13が、論理ボリューム41のデータDが記憶されている領域にデータFを上書きする書き込み要求をホスト装置30から受け取ると、書き込み要求処理部13は、OPC管理テーブル15aのコピー元論理ボリューム名の欄を参照して論理ボリューム41を含むOPCセッションが設定されているか否かを判断する(ステップS1の処理)。図14に示す具体例では、論理ボリューム41を含むOPCセッションOPC22が設定されている。このため、書き込み要求処理部13は、OPC管理テーブル15aのセッション名OPC22のビットマップの欄を5秒毎に参照し、データDのビットマップのビットが「0」に設定されるのを待機する(ステップS2、S3の処理)。
OPCセッションOPC21を用いたデータBのコピーが完了すると(ステップS17dの処理)、OPC処理部14は、論理ボリューム42のデータBが記憶されている領域に対応するビットマップB21のビットを「1」から「0」に更新する(ステップS17eの処理)。また、OPCセッションOPC23を用いたデータBのコピーが完了すると(ステップS17dの処理)、OPC処理部14は、論理ボリューム42のデータBが記憶されている領域に対応するビットマップB23のビットを「1」から「0」に更新する(ステップS17eの処理)。データBのビットマップのビットが「1」から「0」に設定されることにより、書き込み要求処理部13は、論理ボリューム42のデータBが記憶されている領域にデータDの上書きが可能となる。
また、OPCセッションOPC21を用いた全領域のコピーが完了したので、OPC処理部14は、OPCセッションOPC21のコピー先の論理ボリューム43をOPCセッション元とするOPCコピーの開始をホスト装置30に依頼する(ステップS17pの処理)。その後、OPC処理部14は、5秒以上待機した後に、OPC管理テーブル15aからセッション名OPC21のレコードを削除する(ステップS17qの処理)。
その後、OPC処理部14は、OPC処理部14自身が発行した論理ボリューム43をOPCセッション元とするOPCセッションの確立要求に応じて、ホスト装置30が発行した論理ボリューム43のデータコピー要求を受け付けると、OPC起動処理を実行する。具体的には、OPC処理部14は、コピー先論理ボリュームが存在しないので(ステップS10の処理)ストレージプール20bからの新しい論理ボリュームの割り当てを論理ボリューム作成部11に依頼する(ステップS12の処理)。論理ボリューム作成部11は、OPC処理部14の依頼に応じて図15に示すように論理ボリューム47を作成する。OPC処理部14は、作成した論理ボリューム47と論理ボリューム43との関係を世代管理テーブル12aに登録する(ステップS13の処理)。また、OPC処理部14は、コピー先の世代管理テーブル12aを更新する(ステップS14の処理)。そして、OPC処理部14は、論理ボリューム43と論理ボリューム47との間にOPCセッション名がOPC24であるOPCセッションOPC24を確立し、ビットマップB24を用意する(ステップS15の処理)。次に、OPC処理部14は、確立したOPCセッションOPC24に関するレコードをOPC管理テーブル15aに追加する(ステップS16の処理)。そして、OPC処理部14は、OPCセッションOPC24を用いてOPC処理を開始する(ステップS17の処理)。
ところで、OPCセッションOPC22を用いたデータDのコピーが完了すると、OPC処理部14は、論理ボリューム41のデータDが記憶されている領域に対応するビットマップB22のビットを「1」から「0」に更新する(ステップS17eの処理)。ビットマップB22のビットが「1」から「0」に設定されることにより、書き込み要求処理部13は、論理ボリューム41のデータDが記憶されている領域にデータFの上書きが可能となる。
その後、OPC処理部14は、論理ボリューム42をOPCセッション元とするOPCセッションの確立要求に応じて、ホスト装置30が発行した論理ボリューム43のデータコピー要求をホスト装置30から受け取ると、OPC起動処理を実行する。具体的には、OPC処理部14は、論理ボリューム42と論理ボリューム43との間にOPCセッション名がOPC25であるOPCセッションOPC25を確立し、ビットマップB25を用意する(ステップS15の処理)。次に、OPC処理部14は、確立したOPCセッションOPC25に関するレコードをOPC管理テーブル15aに追加する(ステップS16の処理)。そして、OPC処理部14は、OPCセッションOPC25を用いてOPC処理を開始する(ステップS17の処理)。以上で具体例3の処理の説明を終了する。
なお、本実施の形態では、ストレージ装置100内でのOPC(筐体内コピー)の場合を説明したが、筐体間でのコピーにも適用することができる。
以上、本発明の制御装置、制御方法およびストレージ装置を、図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物や工程が付加されていてもよい。
以上、本発明の制御装置、制御方法およびストレージ装置を、図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物や工程が付加されていてもよい。
また、本発明は、前述した各実施の形態のうちの、任意の2以上の構成(特徴)を組み合わせたものであってもよい。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、制御装置3および制御モジュール10a、10bが有する機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリ等が挙げられる。磁気記憶装置には、ハードディスクドライブ、フレキシブルディスク(FD)、磁気テープ等が挙げられる。光ディスクには、DVD、DVD−RAM、CD−ROM/RW等が挙げられる。光磁気記録媒体には、MO(Magneto-Optical disk)等が挙げられる。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、制御装置3および制御モジュール10a、10bが有する機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリ等が挙げられる。磁気記憶装置には、ハードディスクドライブ、フレキシブルディスク(FD)、磁気テープ等が挙げられる。光ディスクには、DVD、DVD−RAM、CD−ROM/RW等が挙げられる。光磁気記録媒体には、MO(Magneto-Optical disk)等が挙げられる。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROM等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
また、上記の処理機能の少なくとも一部を、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)等の電子回路で実現することもできる。
1、100 ストレージ装置
2、30 ホスト装置
3 制御装置
3a 受付部
3b 複写処理部
4 記憶装置
4a〜4c ボリューム
5a〜5c、B1〜B5、B11〜B13、B21〜B25 ビットマップ
10a、10b 制御モジュール
11 論理ボリューム作成部
12 世代管理情報格納部
12a 世代管理テーブル
13 書き込み要求処理部
14 OPC処理部
15 OPC管理情報格納部
15a OPC管理テーブル
20a ドライブエンクロージャ
20b ストレージプール
41〜47 論理ボリューム
2、30 ホスト装置
3 制御装置
3a 受付部
3b 複写処理部
4 記憶装置
4a〜4c ボリューム
5a〜5c、B1〜B5、B11〜B13、B21〜B25 ビットマップ
10a、10b 制御モジュール
11 論理ボリューム作成部
12 世代管理情報格納部
12a 世代管理テーブル
13 書き込み要求処理部
14 OPC処理部
15 OPC管理情報格納部
15a OPC管理テーブル
20a ドライブエンクロージャ
20b ストレージプール
41〜47 論理ボリューム
Claims (7)
- 第1のボリュームに記憶された第1のデータを第2のデータで更新する指示を受け付ける受付部と、
前記受付部の更新指示の受け付けに応じて第2のボリュームについての前記第1のデータの複写を開始し、前記第1のボリュームに記憶されているデータの前記第2のボリュームへの複写が完了するまでの間、前記第2のボリュームから第3のボリュームへの前記第1のデータの複写の開始を制限する複写処理部と、
を有することを特徴とする制御装置。 - 前記複写処理部は、前記第1のボリュームに記憶されている前記第1のデータの前記第2のボリュームへの複写が完了したとき、前記第1のボリュームの前記第1のデータを前記第2のデータで更新することを許可することを特徴とする請求項1記載の制御装置。
- 前記複写処理部は、前記第1のボリュームに記憶されているデータの前記第2のボリュームへの複写が完了すると、前記第2のボリュームに記憶されているデータを前記第3のボリュームへ複写することを許可することを特徴とする請求項1記載の制御装置。
- 前記受付部が前記第1のボリュームに記憶されている前記第1のデータを前記第2のデータで更新する指示を受け付けると、
前記複写処理部は、前記第1のデータの前世代の第3のデータが前記第2のボリュームに存在するか否かを判断し、前記第3のデータが前記第2のボリュームに存在する場合、前記第2のボリュームに記憶されている前記第3のデータの前記第3のボリュームへの複写が完了するまで、前記第1のボリュームから前記第2のボリュームへの前記第1のデータの複写の開始を制限することを特徴とする請求項1記載の制御装置。 - 前記複写処理部は、前記受付部が前記更新指示を受け付けた時点で前記第1のボリュームに記憶されていたデータの前記第2のボリュームへの複写が完了する前に、前記第1のボリュームに記憶されているデータを複写する指示を受け付けると、新たな第4のボリュームを用意し、用意した前記第4のボリュームに前記第1のボリュームに前記複写する指示を受けた時点で記憶されているデータの複写を開始することを特徴とする請求項1記載の制御装置。
- 第1のボリュームに記憶された第1のデータを第2のデータで更新する指示を受け付け、
更新指示の受け付けに応じて第2のボリュームについての前記第1のデータの複写を開始し、前記第1のボリュームに記憶されているデータの前記第2のボリュームへの複写が完了するまでの間、前記第2のボリュームから第3のボリュームへの前記第1のデータの複写の開始を制限する、
ことを特徴とする制御方法。 - データが記憶される複数のボリュームを構成する記憶装置と、前記複数のボリュームと通信回線を介して接続され、前記複数のボリュームへの情報の書き込みを制御する制御装置とを備えるストレージ装置において、
前記制御装置は、
第1のボリュームに記憶された第1のデータを第2のデータで更新する指示を受け付ける受付部と、
前記受付部の更新指示の受け付けに応じて第2のボリュームについての前記第1のデータの複写を開始し、前記第1のボリュームに記憶されているデータの前記第2のボリュームへの複写が完了するまでの間、前記第2のボリュームから第3のボリュームへの前記第1のデータの複写の開始を制限する複写処理部と、
を有することを特徴とするストレージ装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011164021A JP2013029911A (ja) | 2011-07-27 | 2011-07-27 | 制御装置、制御方法およびストレージ装置 |
US13/488,720 US20130031320A1 (en) | 2011-07-27 | 2012-06-05 | Control device, control method and storage apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011164021A JP2013029911A (ja) | 2011-07-27 | 2011-07-27 | 制御装置、制御方法およびストレージ装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013029911A true JP2013029911A (ja) | 2013-02-07 |
Family
ID=47598242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011164021A Pending JP2013029911A (ja) | 2011-07-27 | 2011-07-27 | 制御装置、制御方法およびストレージ装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20130031320A1 (ja) |
JP (1) | JP2013029911A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014526753A (ja) * | 2011-10-03 | 2014-10-06 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 多重ターゲット・コピーの維持 |
JPWO2017145272A1 (ja) * | 2016-02-24 | 2018-08-30 | 株式会社日立製作所 | データ移行方法及び計算機システム |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AT517985B1 (de) * | 2015-11-19 | 2017-10-15 | Innova Patent Gmbh | Verfahren zum Übertragen von Daten |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02159646A (ja) * | 1988-12-13 | 1990-06-19 | Hitachi Ltd | データベースのデータ保全方式 |
JPH05265903A (ja) * | 1992-03-17 | 1993-10-15 | Fujitsu Ltd | リモート保守実行方式 |
JP2010079526A (ja) * | 2008-09-25 | 2010-04-08 | Hitachi Ltd | ジャーナルの階層を管理する計算機システム及び方法 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5276860A (en) * | 1989-12-19 | 1994-01-04 | Epoch Systems, Inc. | Digital data processor with improved backup storage |
JPH0827754B2 (ja) * | 1992-05-21 | 1996-03-21 | インターナショナル・ビジネス・マシーンズ・コーポレイション | コンピュータシステムにおけるファイル管理方法及びファイル管理システム |
US5799141A (en) * | 1995-06-09 | 1998-08-25 | Qualix Group, Inc. | Real-time data protection system and method |
US6636954B2 (en) * | 2000-06-02 | 2003-10-21 | Fujitsu Limited | Method and apparatus for inter-disk copy processing, and a computer product |
JP4076326B2 (ja) * | 2001-05-25 | 2008-04-16 | 富士通株式会社 | バックアップシステム、データベース装置、データベース装置のバックアップ方法、データベース管理プログラム、バックアップ装置、バックアップ方法および、バックアッププログラム |
JP4519563B2 (ja) * | 2004-08-04 | 2010-08-04 | 株式会社日立製作所 | 記憶システム及びデータ処理システム |
JP4749112B2 (ja) * | 2005-10-07 | 2011-08-17 | 株式会社日立製作所 | 記憶制御システム及び方法 |
US7650533B1 (en) * | 2006-04-20 | 2010-01-19 | Netapp, Inc. | Method and system for performing a restoration in a continuous data protection system |
JP4839133B2 (ja) * | 2006-05-22 | 2011-12-21 | 株式会社日立製作所 | ストレージ装置のデータ管理方法及び計算機システム |
JP2007334709A (ja) * | 2006-06-16 | 2007-12-27 | Fujitsu Ltd | ストレージ制御装置、ストレージ制御プログラム、ストレージ制御方法 |
US7725704B1 (en) * | 2006-09-22 | 2010-05-25 | Emc Corporation | Techniques for performing a prioritized data restoration operation |
WO2008139545A1 (ja) * | 2007-05-01 | 2008-11-20 | Fujitsu Limited | ストレージシステム、ストレージ装置、リモートコピー方法 |
JP5228466B2 (ja) * | 2007-12-14 | 2013-07-03 | 富士通株式会社 | バックアップ装置、バックアップ方法およびバックアッププログラム |
JP2009146169A (ja) * | 2007-12-14 | 2009-07-02 | Fujitsu Ltd | ストレージシステム、ストレージ装置、データバックアップ方法 |
JP4774085B2 (ja) * | 2008-07-31 | 2011-09-14 | 富士通株式会社 | ストレージシステム |
JP4833273B2 (ja) * | 2008-12-09 | 2011-12-07 | 富士通株式会社 | ストレージ装置、リストア方法およびリストアプログラム |
JP4843687B2 (ja) * | 2009-01-09 | 2011-12-21 | 富士通株式会社 | バックアップ制御装置、ストレージシステム、バックアップ制御プログラム及びバックアップ制御方法 |
JP5544897B2 (ja) * | 2010-01-22 | 2014-07-09 | 富士通株式会社 | 記憶装置、制御装置および記憶装置の制御方法 |
JP5853649B2 (ja) * | 2011-11-30 | 2016-02-09 | 富士通株式会社 | ストレージ装置,制御装置及びプログラム |
-
2011
- 2011-07-27 JP JP2011164021A patent/JP2013029911A/ja active Pending
-
2012
- 2012-06-05 US US13/488,720 patent/US20130031320A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02159646A (ja) * | 1988-12-13 | 1990-06-19 | Hitachi Ltd | データベースのデータ保全方式 |
JPH05265903A (ja) * | 1992-03-17 | 1993-10-15 | Fujitsu Ltd | リモート保守実行方式 |
JP2010079526A (ja) * | 2008-09-25 | 2010-04-08 | Hitachi Ltd | ジャーナルの階層を管理する計算機システム及び方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014526753A (ja) * | 2011-10-03 | 2014-10-06 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 多重ターゲット・コピーの維持 |
JPWO2017145272A1 (ja) * | 2016-02-24 | 2018-08-30 | 株式会社日立製作所 | データ移行方法及び計算機システム |
Also Published As
Publication number | Publication date |
---|---|
US20130031320A1 (en) | 2013-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6708929B2 (ja) | ストレージ制御装置、ストレージシステムおよびストレージ制御プログラム | |
JP4464378B2 (ja) | 同一データを纏める事で格納領域を節約する計算機システム、ストレージシステム及びそれらの制御方法 | |
EP2631916A1 (en) | Data deletion method and device | |
JP5090072B2 (ja) | 第1記憶場所から第2記憶場所に論理ボリュームを再配置するための方法、コンピュータ・システム、及びプログラム | |
JP4681247B2 (ja) | ディスクアレイ装置及びディスクアレイ装置の制御方法 | |
JP2008015769A (ja) | ストレージシステム及び書き込み分散方法 | |
US11509716B2 (en) | Method and apparatus for performing simple storage service seamless migration using index objects | |
JP2007265403A (ja) | 階層型ストレージシステム間でのリモートミラー方式 | |
TWI531901B (zh) | 群組表資料沖除技術 | |
JP2007199920A (ja) | ストレージ装置及びその制御方法 | |
JP2007249573A (ja) | 自動拡張可能なボリュームに対して最適なi/oコマンドを発行するストレージシステム及びその制御方法 | |
US11099768B2 (en) | Transitioning from an original device to a new device within a data storage array | |
US7853769B2 (en) | Computer system for managing number of writes for storage medium and control method therefor | |
JP2012198639A (ja) | 制御装置、制御方法およびストレージ装置 | |
CN109074308A (zh) | 适应性的块转换表(btt) | |
JP4629413B2 (ja) | 優先順位を割り当てるための方法、システム、およびプログラム | |
JP6561765B2 (ja) | ストレージ制御装置およびストレージ制御プログラム | |
JP2013069096A (ja) | 制御装置、制御方法およびストレージ装置 | |
JP2013029911A (ja) | 制御装置、制御方法およびストレージ装置 | |
JP2007102436A (ja) | ストレージ制御装置およびストレージ制御方法 | |
JP5170169B2 (ja) | ディスクアレイ装置間のリモートコピー処理システム、処理方法、及び処理用プログラム | |
JP2014038551A (ja) | データ記憶装置、データ記憶装置の制御方法、及びデータ記憶装置の制御プログラム | |
US8972634B2 (en) | Storage system and data transfer method | |
JPWO2015141219A1 (ja) | ストレージシステム、制御装置、データアクセス方法およびプログラム | |
JP2007172082A (ja) | 制御装置およびコピー制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140404 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141224 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150127 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20150526 |