JP4615595B2 - ストレージスイッチ、ストレージシステム、データコピー方法 - Google Patents

ストレージスイッチ、ストレージシステム、データコピー方法 Download PDF

Info

Publication number
JP4615595B2
JP4615595B2 JP2008325318A JP2008325318A JP4615595B2 JP 4615595 B2 JP4615595 B2 JP 4615595B2 JP 2008325318 A JP2008325318 A JP 2008325318A JP 2008325318 A JP2008325318 A JP 2008325318A JP 4615595 B2 JP4615595 B2 JP 4615595B2
Authority
JP
Japan
Prior art keywords
bitmap
bit
size
unit
storage area
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
JP2008325318A
Other languages
English (en)
Other versions
JP2010146450A (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 JP2008325318A priority Critical patent/JP4615595B2/ja
Priority to US12/637,409 priority patent/US8180985B2/en
Publication of JP2010146450A publication Critical patent/JP2010146450A/ja
Application granted granted Critical
Publication of JP4615595B2 publication Critical patent/JP4615595B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1466Management of the backup or restore process to make the backup process non-disruptive
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents

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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、仮想スイッチで仮想ボリュームをコピーする際にコピーの進捗状態を管理するビットマップ情報の管理単位を動的に変更するストレージスイッチ、ストレージシステム、データコピー方法に関する。
ストレージスイッチ(以下、仮想スイッチ)は、SAN(Storage Area Network)を介してスイッチに接続されるストレージの物理ボリュームを切り出しや連結を行うことで、仮想的なボリュームをサーバに提供している。
図18に一般的な仮想スイッチを用いた仮想ストレージシステムの構成を示す。仮想スイッチは、少なくとも一つまたは複数の磁気ディスク装置(図中ストレージと表記)の磁気媒体(図中物理ボリュームと表記)を、切り出しや連結を行うことで仮想ボリュームを運用サーバに提供する。また、仮想スイッチによって構成される仮想ボリュームの切り出し、連結の設定指示等、仮想スイッチに対する指示は、管理サーバから行われる。尚、運用サーバ、仮想スイッチ、ストレージはSANによって接続されており、管理サーバ、仮想スイッチはLAN(Local Area Network)によって接続されている。
仮想スイッチには、管理サーバからの指示に応じて、または定期的に仮想ボリュームの複製を作成するコピー機能を有するものがある。仮想スイッチは、仮想ボリュームのコピーをする際、仮想ボリュームのコピー対象領域を一定サイズの複数のブロックに分割し、ブロック単位でコピー処理を行う。また、仮想スイッチは、仮想ボリュームのコピー対象領域を分割したブロックを1ビットに対応させたビットマップ情報を作成し、ビットのONとOFFによってコピー済みかコピー未実施かを管理する。コピー開始時は、ビットマップ情報の全ビットをONにしておき、コピーが完了したブロックのビットをOFFにする。全ビットがOFFになるとコピー完了となる。
仮想ボリュームのコピー処理は、運用サーバへの影響を与えないように行うため、コピー中でも運用サーバからのI/O(Input/Output)が実行可能なように制御されている。コピー中に運用サーバからRead I/Oが発行された場合は、コピー元の仮想ボリュームからデータが読み出される。一方、コピー処理中に運用サーバからWrite I/Oが発行された場合は、コピー元とコピー先の両方の仮想ボリュームにデータが書き込まれる。
コピー処理は、仮想ボリュームのコピー領域の全てのデータのコピーが完了した後もコピー完了が指示されるまでコピー元とコピー先の等価が維持される(等価維持状態)。しかし、コピー中や等価維持状態の仮想ボリュームのコピー処理を一時停止(サスペンド)するサスペンド中は、コピー先へのデータの書き込みは行われない。そのため、サーバからコピー中の仮想ボリュームにWrite I/Oが発行された場合、コピー元の仮想ボリュームのみにデータを書き込み、そのブロックのビットマップ情報をコピー未実施状態(ON)に設定する。コピー処理再開(レジューム)が行われるとビットマップ情報のコピー未実施状態のブロックについてコピー処理が再開される。
また、本発明の関連ある従来技術として、以下の文献が開示されている。
特開2001−16697号公報 特開2002−297455号公報
ビットマップ情報のサイズは、仮想ボリュームのサイズと分割するブロックのサイズによって決定する。例えば、2Tバイトの仮想ボリュームを32Mバイトのブロックに分割した場合は、ビットマップ情報のサイズは8Kバイトとなる。仮想ボリュームのサイズが同じならば、ブロックサイズが大きいほどビットマップ情報のサイズは小さく、ブロックサイズが小さいほどビットマップ情報のサイズは大きくなる。
ブロックサイズは、小さいほど効率的にコピーの進捗状態を制御することが可能となる。例えばサスペンド中に所定ブロック内の1Mバイト分、運用サーバ(ホスト)からWrite I/Oがコピー元へ行われた場合を考える。Write I/Oによって更新されたデータを含むブロックはコピー未実施状態に変更されるので、ブロックサイズが32Mバイトである場合、31Mバイト分はデータが更新されていないにも関わらず、無駄なコピーを行ってしまう。さらに、更新されたデータが2つのブロックに跨っていた場合は、63Mバイト分はデータが更新されていないにも係わらず、無駄なコピーを行ってしまう。一方、ブロックサイズが1Mバイトで更新されたデータが1つのブロック内に収まる場合、無駄なコピーは全く行わなくても済む。
また、あるブロックのコピー実施中は排他制御を行う必要があるため、運用サーバからの当該ブロックに対するWrite I/Oを待たせる必要がある。このとき、ブロックサイズが小さいほどコピーとWirte I/Oとの競合が発生しにくく、たとえ競合した場合でもWrite I/Oを待たせる時間が短くて済む。
一般的に仮想スイッチにおいてはビットマップ情報のようなシステム情報に使用できる領域はあまり大きくない。そのため、ビットマップ情報のサイズは決まっており、仮想ボリュームのサイズによりブロックサイズが決定する。仮想ボリュームのサイズが大きくなると、ブロックサイズも大きな値にせざるを得ないのが実状である。
一方、ビットマップ情報のようなシステム情報を記録しているメモリやディスクは年々安価になっており、システムハードウェアの活性交換や追加などが行われたり、システムファームウェアの改善によりシステム情報の領域に余裕ができる場合がある。しかし、領域の追加によりシステム情報に使用できる領域が大きくなっても、コピー処理が実行されている最中にビットマップ情報を動的に変えることはできないためビットマップ情報のサイズを変えることができなかった。
本発明は上述した問題点を解決するためになされたものであり、コピー処理実行中でも動的にビットマップ情報のサイズを変更することができるストレージスイッチ、ストレージシステム、データコピー方法を提供することを目的とする。
ストレージスイッチは、記憶領域が所定サイズで分割され、該分割された領域それぞれがビットに対応付けられたビットマップに基づき、前記記憶領域に保持されているデータを他の記憶領域にコピーするストレージスイッチであって、現在の分割サイズよりも小さい分割サイズの領域それぞれがビットに対応付けられた第1ビットマップを作成する第1ビットマップ作成部と、前記第1ビットマップに対し、前記記憶領域内のコピーが完了した領域に対応するビットを変更する第1ビット変更部と、前記第1ビットマップと分割サイズが同一の第2ビットマップを作成する第2ビットマップ作成部と、前記記憶領域のコピー中にホストから該記憶領域にライト要求が発生した場合、前記第2ビットマップに対し、ライト要求が発生した前記記憶領域内の領域に対応するビットを変更する第2ビット変更部と、前記第1ビット変更部によって変更された第1ビットマップと、前記第2ビット変更部によって変更された第2ビットマップとをマージするビットマップマージ部とを備える。
ストレージシステムは、仮想ボリュームが所定サイズで分割され、該分割された領域それぞれがビットに対応付けられたビットマップに基づき、前記仮想ボリュームに保持されているデータを他の仮想ボリュームにコピーするストレージシステムであって、前記仮想ボリューム内のデータを保持する記憶装置と、現在の分割サイズよりも小さい分割サイズの領域それぞれがビットに対応付けられた第1ビットマップを作成する第1ビットマップ作成部と、前記第1ビットマップに対し、前記仮想ボリューム内のコピーが完了した領域に対応するビットを変更する第1ビット変更部と、前記第1ビットマップと分割サイズが同一の第2ビットマップを作成する第2ビットマップ作成部と、前記仮想ボリュームのコピー中にホストから該仮想ボリュームにライト要求が発生した場合、前記第2ビットマップに対し、ライト要求が発生した前記仮想ボリューム内の領域に対応するビットを変更する第2ビット変更部と、前記第1ビット変更部によって変更された第1ビットマップと、前記第2ビット変更部によって変更された第2ビットマップとをマージするビットマップマージ部とを備える。
データコピー方法は、記憶領域が所定サイズで分割され、該分割された領域それぞれがビットに対応付けられたビットマップに基づき、前記記憶領域に保持されているデータを他の記憶領域にコピーするデータコピー方法であって、現在の分割サイズよりも小さい分割サイズの領域それぞれがビットに対応付けられた第1ビットマップを作成する第1ビットマップ作成ステップと、前記第1ビットマップに対し、前記記憶領域内のコピーが完了した領域に対応するビットを変更する第1ビット変更ステップと、前記第1ビットマップと分割サイズが同一の第2ビットマップを作成する第2ビットマップ作成ステップと、前記記憶領域のコピー中にホストから該記憶領域にライト要求が発生した場合、前記第2ビットマップに対し、ライト要求が発生した前記記憶領域内の領域に対応するビットを変更する第2ビット変更ステップと、前記第1ビット変更ステップによって変更された第1ビットマップと、前記第2ビット変更ステップによって変更された第2ビットマップとをマージするビットマップマージステップと、を実行する。
ホストからのI/Oや動作中のコピー処理を継続したまま、ビットマップ情報のサイズを変更することができる。
(実施の形態1)
実施の形態1では、ビットマップサイズを大きくする(すなわち、分割サイズを小さくする)場合について述べる。
図1に、本実施の形態に係るストレージシステムの構成を示す。ストレージシステム600は、仮想スイッチ(ストレージスイッチ)100、少なくとも1つの磁気ディスク装置400(記憶装置)から構成される。またストレージシステム600は、運用サーバ401(ホスト)、管理サーバ402と接続されている。運用サーバ401は、仮想スイッチによって管理されている仮想ボリュームに対しデータ書き込み、読み込みをSANを経由して実行し、管理サーバ402は、仮想スイッチ100に対する処理実行指示をLANを経由して発行し、処理結果を取得する。
仮想スイッチ100の機能構成について説明する。仮想スイッチ100は、拡大ビットマップ作成部1(第1ビットマップ作成部)、拡大ビットマップ変更部2(第1ビット変更部)、ライト用ビットマップ作成部3(第2ビットマップ作成部)、ライト用ビットマップ変更部4(第2ビット変更部)、ビットマップマージ部5、ビットマップ切替え部6を備える。
拡大ビットマップ作成部1は、現在の分割サイズよりも小さい分割サイズの領域それぞれがビットに対応付けられたビットマップ(ここでは第1ビットマップとする)を作成する。
拡大ビットマップ変更部2は、第1ビットマップに対し、仮想ボリューム内のコピーが完了した領域に対応するビットを変更する。
ライト用ビットマップ作成部3は、第1ビットマップと分割サイズが同一のビットマップ(ここでは第2ビットマップとする)を作成する。尚、第2ビットマップは、少なくとも運用サーバからライト要求が発生したときに作成できていればよい。
ライト用ビットマップ変更部4は、仮想ボリュームのコピー中に運用サーバから仮想ボリュームにライト要求が発生した場合、第2ビットマップに対し、ライト要求が発生した仮想ボリューム内の領域に対応するビットを変更する。
ビットマップマージ部5は、拡大ビットマップ変更部2によって変更された第1ビットマップと、ライト用ビットマップ変更部4によって変更された第2ビットマップとをマージする。
ビットマップ切替え部6は、現在の分割サイズのビットマップからビットマップマージ部5によってマージされたビットマップに切り替える。
次に、仮想スイッチ100のハードウェア構成を図2に示す。仮想スイッチ100は、CPU(Central Processing Unit)501、主記憶装置であるメモリ502、フラッシュROM等の不揮発性記憶装置503を備える。また仮想スイッチ100は、磁気ディスク装置400、および運用サーバ401とSAN接続を可能にし、磁気ディスク装置400とのデータ入出力を制御するSANインターフェイス504を備え、管理サーバ402と接続可能なLANインターフェイス505を備える。
上述の図1で示した各機能は、不揮発性記憶装置503に予め備えられたファームウェアが、CPU501、メモリ502の各ハードウェアと協働することで実現される。
ここで、図3を参照しつつ、拡大されたビットマップについて説明する。ここでは、64Mバイトの仮想ボリュームを2バイトのビットマップで管理している状態から、4バイトのビットマップに切り替える場合を例として説明する。拡大ビットマップ作成部1は、ブロックサイズ2MBの現在のビットマップ(図3(A)参照)に対し、ブロックサイズ1MBのビットマップ(図3(B)参照)を作成する。仮想ボリュームサイズの総量は64Mバイトであるため、作成されたビットマップのサイズは2バイトから4バイトへ拡張されたものとなる。このように、ビットマップサイズが2倍になると管理できるブロック数が2倍になるため、ブロックサイズは反比例して2分の1となる。
切替前のビットマップの1ビットは切替え後のビットマップの2ビットで表されるため、拡大ビットマップ変更部2は、切替え後のビットマップに対し、切替時には切替え前のビットマップのONのビットに対応するビットをすべてONにする。
上述の例では、簡単のためビットマップサイズが整数倍になる例を示したが、整数倍でない場合の例を図4に示す。整数倍でない場合、切替前のブロックと切替後のブロックが整数倍と異なり対応関係が複雑になる。すなわち、切替後のビットマップ(図4(B)参照)の1ビットに対し、切替前のビットマップ(図4(A)参照)の複数ビットが関連するようになる。その場合、拡大ビットマップ変更部2は、関連する切替前の複数ビットの一部でもONである場合は、切替後のビットマップのビットをONにする。
また、運用サーバ401からのWrite I/Oやコピー処理を行うとビットマップの状態が変わってしまうため、ビットマップの切替中はそのボリュームに対するWrite I/Oとコピーを停止するのが望ましい。しかし、ビットマップの切替は、ビットマップサイズが大きくなるほど変換に時間がかかってしまう。そのため、運用を継続させながら切替えを行うにはWrite I/Oとコピーを停止せずにビットマップの切替えを行う必要がなる。
運用を継続させながら切替えを行う方法について、図5を参照しつつ説明する。実施の形態1では、ビットマップの切替中は、切替後のビットマップ(図5(b)参照)と同じサイズ(切替前よりもブロックサイズが小さい)のWrite I/O用のビットマップ(図5(C)参照)を用意する。すなわち、ライト用ビットマップ作成部3は、拡大ビットマップ作成部1によって作成されたビットマップと同じサイズ、同じブロックサイズのWrite I/O用ビットマップを作成する。
ここで、運用サーバ401からのWrite I/Oによりコピー元のデータが更新された場合、ライト用ビットマップ変更部4は、このWrite I/O用ビットマップに対し更新された領域に対応するビットをONからOFFに書き換えることで、仮想ボリュームの更新領域を管理する。そして、ビットマップの変換が終わった後に、ビットマップマージ部5は、拡大ビットマップ変更部2によってビット変更されたビットマップ(変換後のビットマップ)と、ライト用ビットマップ変更部4によってビット変更されたビットマップとを融合する(図5(D)参照)。
上述処理を図6のフローチャートに基づき説明する。仮想ボリューム内のデータを他の仮想ボリュームにコピーする処理が行われている最中に、ビットマップ拡大変更処理が行われる際、拡大ビットマップ作成部1は、現在のビットマップサイズよりも大きいサイズの拡大ビットマップを作成する(以下、現在のビットマップを切替前ビットマップ、拡大ビットマップを切替後ビットマップと称す)。
ここで、ライト用ビットマップ作成部3は、運用サーバ401からのWrite I/Oの処理を一時停止させ(S1)、Write I/O用ビットマップを作成する(S2)。ライト用ビットマップ作成部3は、Write I/O用ビットマップを作成した後、停止していたWrite I/Oの処理を再開する(S3)。一方、拡大ビットマップ変更部2は、切替後ビットマップに対し、切替前ビットマップでOFFになっているビットに対応したビットをOFFにする(S4)。拡大ビットマップ変更部2は、S4の処理を全てのビット変換が終わるまで繰り返し実施する。
他方、ライト用ビットマップ変更部4は、ライト用ビットマップに対し、Write I/Oが発生した際に更新されたブロックと対応するビットをONからOFFに変更する。
拡大ビットマップ変更部2による、切替後ビットマップに対するビット変更処理が完了した場合、ビットマップマージ部5は運用サーバ401からのWrite I/Oやコピー処理を一時停止させ(S5)、ビットマップの更新が行われないようにする。ビットマップマージ部5は、切替後ビットマップとライト用ビットマップとを融合する(S6)。その後、ビットマップ切替え部6は、切替前ビットマップを削除し、融合されたビットマップを仮想ボリュームのコピー処理の管理情報とすることで切替前ビットマップと融合されたビットマップとを切り替える(S7)。ビットマップ切替え部6は、停止していたWrite I/Oを再開させる(S8)。
以降、ビットマップマージ部5によって融合されたビットマップが仮想ボリュームのコピー処理の管理情報となることで、仮想ボリュームのコピー処理やWrite I/Oが引き続き行われる。
ここで、Write I/O用ビットマップを用意せず、Write I/Oによるデータ更新を変換前のビットマップで管理した場合の例を図7に示す。例えば変換前のビットマップの状態が図7(A)に示すような状態である場合、Write I/Oによるデータ更新をそのまま変換前のビットマップで管理する場合、変更前のビットマップの状態は図7(B)に示すような状態になる。かかる状態のビットマップをそのまま変換した場合、図7(C)に示す状態である。Write I/O用ビットマップを用いることによる処理後の結果と(図5(D)参照)、Write I/O用ビットマップを用いない方法での結果(図7(C)参照)を対比すると、本例では仮想ボリュームに対し3ブロック分無駄なコピーを行わなければならないことになる。
ここで、Write I/O用ビットマップを用意しない上述例の処理を図8のフローチャートを参照しつつ説明する。
まず、仮想ボリュームのコピー処理および運用サーバ401からのWrite I/O処理が停止し(S11)、ビットマップ変換処理が行われる(S12)。ビットマップ変換処理の後に停止していた仮想ボリュームのコピー処理および運用サーバ401からのWrite I/O処理が再開される(S13)。S11からS13の処理が全てのビット変換が終わるまで繰り返し行われる。
全てのビット変換が終わった場合、ビットマップの切替が行われ(S14)、仮想ボリュームのコピー処理および運用サーバ401からのWrite I/O処理が再開する(S15)。以降、変換後ビットマップが仮想ボリュームのコピー処理の管理情報となることで、仮想ボリュームのコピー処理やWrite I/Oが引き続き行われる。
尚、S11からS14までは、運用サーバ401からのWrite I/Oが発生した場合は変換前ビットマップが更新され、S15以降、運用サーバ401からのWrite I/Oが発生した場合は変換後ビットマップが更新される。
次に、図9を用いて切替前ビットマップ、切替後ビットマップ、Write I/O用ビットマップを対比させることで、コピー実施を行ったブロックのビットをOFFにする処理について説明する。
ビットマップ切替中のコピー処理は、切替前のブロック単位で実施する。すなわち、拡大ビットマップ変更部2は、まず、切替前ビットマップに対し、コピーが完了したブロックのビットをOFFにする(図9(A)、図9(B)参照)。続いて拡大ビットマップ変更部2は、切替後ビットマップに対し、変換前ビットマップのビットが全てOFFになっている関連するビットをOFFにする(図9(C)、図9(D)参照)。
このとき、ライト用ビットマップ作成部3は、Write I/O用ビットマップに対し、コピーが完了した切替前ブロックに含まれるビットをOFFにしない(図9(E)、図9(F)参照)。これは、コピーが完了してビットをOFFにする狭間に運用サーバ401からのWrite I/Oが行われた場合、コピーが必要にもかかわらずコピー済みとなってしまうのを避けるためである。
次に、仮想ボリュームのコピー処理を図10のフローチャートを参照しつつ説明する。
拡大ビットマップ変更部2は、変換前ビットマップにONビットがあるかを判定し(S21)、ONビットが無い場合(S21、No)、コピー処理は終了する。
一方、ONビットがある場合(S21、Yes)、ONビットに対応する仮想ボリュームのブロックがコピーされる(S22)。拡大ビットマップ変更部2は、変換前のビットマップの対象ビットをOFFにし(S23)、変換後ビットマップの対象ビットをOFFにする(S24)。
(実施の形態2)
実施の形態1では、ビットマップサイズを大きくする(分割サイズを小さくする)方法について述べてきたが、ビットマップサイズを小さくする(分割サイズを大きくする)ことにより仮想スイッチ内の制御データ領域不足時に領域確保を行うことも可能である。実施の形態2では、ビットマップを小さくすることを可能にした仮想スイッチについて説明する。
図11に実施の形態2における仮想スイッチの機能構成を示す。仮想スイッチ200は、実施の形態1で示した仮想スイッチ100に対し、さらに縮小ビットマップ作成部11、縮小ビットマップ変更部12を備える。
縮小ビットマップ作成部11は、現在の分割サイズよりも大きい分割サイズの領域それぞれがビットに対応付けられたビットマップ(ここでは第3ビットマップ)を作成する。
縮小ビットマップ変更部12は、第3ビットマップに対し、仮想ボリューム内のコピーが完了した領域に対応するビットを変更し、さらに、仮想ボリュームのコピー中に運用サーバ401から仮想ボリュームにライト要求が発生した場合、現在の分割サイズのビットマップに対し、ライト要求が発生した仮想ボリューム内の領域に対応するビットを変更する。
尚、実施の形態1の説明と同一符号の機能部は、実施の形態1と同一であるためここでの説明を割愛する。また、仮想スイッチ200のハードウェア構成も実施の形態1と同様であるためここでの説明を割愛する。
次に、図12を参照しつつビットマップサイズの縮小について説明する。ここでは、64Mバイトのボリュームを4バイトのビットマップで管理している状態から、2バイトのビットマップに切り替える場合を例として記述する。
縮小ビットマップ作成部11は、ブロックサイズ1MBの現在のビットマップ(図12(A)参照)に対し、ブロックサイズ2MBのビットマップ(図12(B)参照)を作成する。仮想ボリュームサイズの総量は64Mバイトであるため、作成されたビットマップのサイズは4バイトから2バイトへ縮小されたものとなる。このように、ビットマップサイズが2分の1になると管理できるブロック数が2分の1になるため、ブロックサイズは反比例して2倍となる。
切替前のビットマップの2ビットは切替後のビットマップの1ビットと対応するため、縮小ビットマップ変更部12は、切り替え前のビットマップのONのビットに関連するビットをすべてONにする。
上述の例では、簡単のため切替前のビットマップサイズが切替後のビットマップの整数倍である例を示したが、整数倍でない場合の例を図13に示す。整数倍でない場合、切替前のビットマップ(図13(A)参照)の1ビットに対し、切替後のビットマップ(図13(B)参照)の複数ビットが関連する。その場合、縮小ビットマップ変更部12は、関連する切替前の複数ビットの一部でもONである場合は、切替後のビットマップのビットをONにする。
図14のフローチャートに仮想ボリュームのコピーを実施している最中にビットマップ縮小処理を行った場合の動作を示す。尚、ビットマップを縮小する場合は、変換前のビットマップのほうが細かなデータ管理が可能であるため、ビットマップ縮小処理ではWrite I/O用ビットマップは作成されない。
仮想ボリュームのコピーが行われている最中に、ビットマップ縮小変更処理が行われる際、縮小ビットマップ作成部11は、現在のビットマップサイズよりも小さいサイズの縮小ビットマップを作成する(以下、現在のビットマップを切替前ビットマップ、縮小ビットマップを切替後ビットマップと称す)。
縮小ビットマップ変更部12は、運用サーバ401からのWrite I/Oの処理、仮想ボリュームのコピー処理を停止させ(S31)、切替後ビットマップに対し、切替前ビットマップでONになっているビットに対応したビットをONにする(S32)。縮小ビットマップ変更部12は、S32の処理の後、停止していた運用サーバ401からのWrite I/Oの処理、仮想ボリュームのコピー処理を再開させる(S33)。縮小ビットマップ変更部12は、全てのビット変換が終わるまでS31からS33までの処理を繰り返す。
このように縮小ビットマップの変更処理が行われた後に、ビットマップ切替え部6は、ビットマップの切替えを行う(S34)。このとき、ビットマップ切替え部6は、一時的にWrite I/Oとコピーを停止し、切替前のビットマップを削除する。その後、停止された運用サーバ401からのWrite I/Oの処理、および仮想ボリュームのコピー処理が再開される(S35)。
以降、切替後のビットマップ情報にしたがってWrite I/Oやコピー処理が行われる。
ビットマップの切替中に、その仮想ボリュームに対するWrite I/Oを受信した場合は、縮小ビットマップ変更部12は切替前のビットマップのWriteされた領域のブロックのビットをONにする。尚、ビットマップの切替中のコピー処理は、切替前のビットマップのブロック単位で実施される。
また、実施の形態2に記載した仮想スイッチに、少なくとも1つの磁気ディスク装置を接続することで、ストレージシステムとして提供することもできる。
(実施の形態3)
ビットマップで管理するブロックサイズは、細かいほどWrite I/Oによって生ずるビットのONによる無駄なコピー処理が発生しなくなる。しかし、ブロックサイズが細かくなるほどビットマップサイズが大きくなってしまう。そのため、運用サーバからのI/O傾向にあわせてブロックサイズを決定することが望ましい。
そこで、実施の形態3では、運用サーバからのI/O傾向の分析を行うことで上述実施の形態1、実施の形態2で説明したビットマップサイズの変換を自動的に行う方法を提案する。
実施の形態3に係る仮想スイッチの機能構成を図15に示す。仮想スイッチ300は、実施の形態2で示した仮想スイッチ200に対し、さらに分割サイズ算出部21を備える。
分割サイズ算出部21は、運用サーバ401から仮想ボリュームに対しライトされるデータサイズの統計情報を保持し、その統計情報に基づき仮想ボリュームを分割するサイズを算出する。また、拡大ビットマップ作成部1、縮小ビットマップ作成部11のいずれかが、算出された分割サイズの領域それぞれがビットに対応付けられたビットマップを作成する。以降、実施の形態1、2で説明したようにビットマップを切り替える。
尚、実施の形態1、2の説明と同一符号の機能部は、実施の形態1、2と同一であるためここでの説明を割愛する。また、仮想スイッチ300のハードウェア構成も実施の形態1と同様であるためここでの説明を割愛する。
ここで、分割サイズ算出部21による処理について説明する。運用サーバ401からのI/Oの統計は、仮想ボリューム毎に管理がなされる。分割サイズ算出部21は、仮想ボリュームに対してWrite I/Oを受信すると、その仮想ボリュームに書き込まれるサイズを統計情報として蓄積する。
図16に、分割サイズ算出部21によって蓄積された統計情報を示す。図16で示すように、分割サイズ算出部21は、仮想ボリュームを識別する仮想ボリューム番号、および仮想ボリューム番号ごとに当該仮想ボリュームに対してアクセスがある毎に割り振られるシーケンシャルな番号(アクセスサイズ1・・N)、およびそのアクセスしたデータのサイズ(図16におけるx1、x2、・・・、xn)の各データを蓄積する。尚、アクセスサイズに振られた番号は、当該仮想ボリュームにアクセスされた回数としても使用される。
分割サイズ算出部21は、図17で示す計算式によってI/O傾向を解析する。
予め定義された回数(N回)分のデータが蓄積されると、分割サイズ算出部21は、アクセスサイズの平均値μを算出し(図17(A)参照)、さらに、標準偏差δを算出する(図17(B)参照)。標準偏差は大きいほどデータがバラついていることを表す。そこで、δがμのR%(Rは予め定義された値)未満ならば、Write I/Oが一定サイズμに近い値で行われる傾向であるため、拡大ビットマップ作成部1または縮小ビットマップ作成部11はブロックサイズがμになるようにビットマップ拡大処理(実施の形態1参照)またはビットマップ縮小処理(実施の形態2参照)を実行する。
すなわち、分割サイズ算出部21によって現在の分割サイズよりも小さい分割サイズが算出された場合、拡大ビットマップ作成部1が分割サイズ算出部21によって算出された分割サイズとなるビットマップを作成し、また分割サイズ算出部21によって現在の分割サイズよりも大きい分割サイズが算出された場合、縮小ビットマップ作成部11が分割サイズ算出部21によって算出された分割サイズとなるビットマップを作成する。
尚、Nが小さいと頻繁にビットマップサイズ変換が発生し変換処理のオーバーヘッドが問題となってしまい、逆にNが大きすぎるとビットマップサイズの自動変換が発生しなくなってしまう。また、同様にRが大きいとアクセスにバラつきがあるにも係わらず頻繁にビットマップサイズの自動変更が発生してしまい、Rが小さいとアクセス傾向が分散していると判断されビットマップの自動変換が発生しなくなってしまう。そのため、分割サイズ算出部21は、NもRも運用に合わせて最適な値に変更できるように仮想スイッチの管理インタフェースからの設定も受け付ける。
また、実施の形態3に記載した仮想スイッチに、少なくとも1つの磁気ディスク装置を接続することで、ストレージシステムとして提供することもできる。
このように、実施の形態1〜3によって、ビットマップサイズの動的変更ができることにより、サーバの運用を継続しながら以下のような効果を奏することができる。
本実施の形態によって、ブロックサイズを運用に合わせることができ、コピー処理の効率化を図ることができる。また、本実施の形態によって、コピー処理との競合を減らすことによるWrite I/Oの性能向上を図ることができる。
また、本実施の形態によって、ビットマップサイズを大きくすることによる仮想スイッチ内の未使用制御データ領域の効率的な利用を図ることができる。また、本実施の形態によって、ビットマップサイズを小さくすることによる仮想スイッチ内の制御データ領域不足時の領域確保を図ることができる。
以上、本実施の形態によれば、以下の付記で示す技術的思想が開示されている。
(付記1) 記憶領域が所定サイズで分割され、該分割された領域それぞれがビットに対応付けられたビットマップに基づき、前記記憶領域に保持されているデータを他の記憶領域にコピーするストレージスイッチであって、
現在の分割サイズよりも小さい分割サイズの領域それぞれがビットに対応付けられた第1ビットマップを作成する第1ビットマップ作成部と、
前記第1ビットマップに対し、前記記憶領域内のコピーが完了した領域に対応するビットを変更する第1ビット変更部と、
前記第1ビットマップと分割サイズが同一の第2ビットマップを作成する第2ビットマップ作成部と、
前記記憶領域のコピー中にホストから該記憶領域にライト要求が発生した場合、前記第2ビットマップに対し、ライト要求が発生した前記記憶領域内の領域に対応するビットを変更する第2ビット変更部と、
前記第1ビット変更部によって変更された第1ビットマップと、前記第2ビット変更部によって変更された第2ビットマップとをマージするビットマップマージ部と、
を備えるストレージスイッチ。
(付記2) 付記1に記載のストレージスイッチにおいて、さらに、
現在の分割サイズのビットマップから前記ビットマップマージ部によってマージされたビットマップに切り替えるビットマップ切替え部を備えることを特徴とするストレージスイッチ。
(付記3) 付記1に記載のストレージスイッチにおいて、さらに、
現在の分割サイズよりも大きい分割サイズの領域それぞれがビットに対応付けられた第3ビットマップを作成する第3ビットマップ作成部と、
前記第3ビットマップに対し、前記記憶領域内のコピーが完了した領域に対応するビットを変更し、さらに、前記記憶領域のコピー中にホストから該記憶領域にライト要求が発生した場合、現在の分割サイズのビットマップに対し、ライト要求が発生した前記記憶領域内の領域に対応するビットを変更する第3ビット変更部と、
を備えるストレージスイッチ。
(付記4) 付記3に記載のストレージスイッチにおいて、さらに、
ホストから前記記憶領域に対しライトされるデータサイズの統計情報を保持し、該統計情報に基づき前記記憶領域を分割するサイズを算出する分割サイズ算出部を備え、
前記第1ビットマップ作成部は、前記分割サイズ算出部によって現在の分割サイズよりも小さい分割サイズが算出された場合、前記分割サイズ算出部によって算出された分割サイズの領域それぞれがビットに対応付けられた第1ビットマップを作成し、
前記第3ビットマップ作成部は、前記分割サイズ算出部によって現在の分割サイズよりも大きい分割サイズが算出された場合、前記分割サイズ算出部によって算出された分割サイズの領域それぞれがビットに対応付けられた第3ビットマップを作成することを特徴とするストレージスイッチ。
(付記5) 仮想ボリュームが所定サイズで分割され、該分割された領域それぞれがビットに対応付けられたビットマップに基づき、前記仮想ボリュームに保持されているデータを他の仮想ボリュームにコピーするストレージシステムであって、
前記仮想ボリューム内のデータを保持する記憶装置と、
現在の分割サイズよりも小さい分割サイズの領域それぞれがビットに対応付けられた第1ビットマップを作成する第1ビットマップ作成部と、
前記第1ビットマップに対し、前記仮想ボリューム内のコピーが完了した領域に対応するビットを変更する第1ビット変更部と、
前記第1ビットマップと分割サイズが同一の第2ビットマップを作成する第2ビットマップ作成部と、
前記仮想ボリュームのコピー中にホストから該仮想ボリュームにライト要求が発生した場合、前記第2ビットマップに対し、ライト要求が発生した前記仮想ボリューム内の領域に対応するビットを変更する第2ビット変更部と、
前記第1ビット変更部によって変更された第1ビットマップと、前記第2ビット変更部によって変更された第2ビットマップとをマージするビットマップマージ部と、
を備えるストレージシステム。
(付記6) 付記5に記載のストレージシステムにおいて、さらに、
現在の分割サイズのビットマップから前記ビットマップマージ部によってマージされたビットマップに切り替えるビットマップ切替え部を備えることを特徴とするストレージシステム。
(付記7) 付記5に記載のストレージシステムにおいて、さらに、
現在の分割サイズよりも大きい分割サイズの領域それぞれがビットに対応付けられた第3ビットマップを作成する第3ビットマップ作成部と、
前記第3ビットマップに対し、前記仮想ボリューム内のコピーが完了した領域に対応するビットを変更し、さらに、前記仮想ボリュームのコピー中にホストから該仮想ボリュームにライト要求が発生した場合、現在の分割サイズのビットマップに対し、ライト要求が発生した前記仮想ボリューム内の領域に対応するビットを変更する第3ビット変更部と、
を備えるストレージスイッチ。
(付記8) 付記7に記載のストレージスイッチにおいて、さらに、
ホストから前記仮想ボリュームに対しライトされるデータサイズの統計情報を保持し、該統計情報に基づき前記仮想ボリュームを分割するサイズを算出する分割サイズ算出部を備え、
前記第1ビットマップ作成部は、前記分割サイズ算出部によって現在の分割サイズよりも小さい分割サイズが算出された場合、前記分割サイズ算出部によって算出された分割サイズの領域それぞれがビットに対応付けられた第1ビットマップを作成し、
前記第3ビットマップ作成部は、前記分割サイズ算出部によって現在の分割サイズよりも大きい分割サイズが算出された場合、前記分割サイズ算出部によって算出された分割サイズの領域それぞれがビットに対応付けられた第3ビットマップを作成することを特徴とするストレージシステム。
(付記9) 記憶領域が所定サイズで分割され、該分割された領域それぞれがビットに対応付けられたビットマップに基づき、前記記憶領域に保持されているデータを他の記憶領域にコピーするデータコピー方法であって、
現在の分割サイズよりも小さい分割サイズの領域それぞれがビットに対応付けられた第1ビットマップを作成する第1ビットマップ作成ステップと、
前記第1ビットマップに対し、前記記憶領域内のコピーが完了した領域に対応するビットを変更する第1ビット変更ステップと、
前記第1ビットマップと分割サイズが同一の第2ビットマップを作成する第2ビットマップ作成ステップと、
前記記憶領域のコピー中にホストから該記憶領域にライト要求が発生した場合、前記第2ビットマップに対し、ライト要求が発生した前記記憶領域内の領域に対応するビットを変更する第2ビット変更ステップと、
前記第1ビット変更ステップによって変更された第1ビットマップと、前記第2ビット変更ステップによって変更された第2ビットマップとをマージするビットマップマージステップと、
を実行するデータコピー方法。
(付記10) 付記9に記載のデータコピー方法において、さらに、
現在の分割サイズのビットマップから前記ビットマップマージステップによってマージされたビットマップに切り替えるビットマップ切替えステップを実行することを特徴とするデータコピー方法。
(付記11) 付記9に記載のデータコピー方法において、さらに、
現在の分割サイズよりも大きい分割サイズの領域それぞれがビットに対応付けられた第3ビットマップを作成する第3ビットマップ作成ステップと、
前記第3ビットマップに対し、前記記憶領域内のコピーが完了した領域に対応するビットを変更し、さらに、前記記憶領域のコピー中にホストから該記憶領域にライト要求が発生した場合、現在の分割サイズのビットマップに対し、ライト要求が発生した前記記憶領域内の領域に対応するビットを変更する第3ビット変更ステップと、
を実行するデータコピー方法。
(付記12) 付記11に記載のデータコピー方法において、さらに、
ホストから前記記憶領域に対しライトされるデータサイズの統計情報を保持し、該統計情報に基づき前記記憶領域を分割するサイズを算出する分割サイズ算出ステップを実行し、
前記第1ビットマップ作成ステップは、前記分割サイズ算出ステップによって現在の分割サイズよりも小さい分割サイズが算出された場合、前記分割サイズ算出ステップによって算出された分割サイズの領域それぞれがビットに対応付けられた第1ビットマップを作成し、
前記第3ビットマップ作成ステップは、前記分割サイズ算出ステップによって現在の分割サイズよりも大きい分割サイズが算出された場合、前記分割サイズ算出ステップによって算出された分割サイズの領域それぞれがビットに対応付けられた第3ビットマップを作成することを特徴とするデータコピー方法。
実施の形態1に係るストレージシステムの機能構成の一例を示す図である。 本実施の形態に係る仮想スイッチのハードウェア構成の一例を示す図である。 実施の形態1に係る拡大されたビットマップについて説明するための図である(整数倍)。 実施の形態1に係る拡大されたビットマップについて説明するための図である(非整数倍)。 実施の形態1に係る仮想スイッチの動作の一例について説明する図である。 実施の形態1に係る仮想スイッチの処理の一例を示すフローチャートである。 Write I/O用ビットマップを用意しない場合の動作例を示す図である。 Write I/O用ビットマップを用意しない場合の処理例を示すフローチャートである。 実施の形態1に係る切替前ビットマップ、切替後ビットマップ、Write I/O用ビットマップを対比させた図である。 実施の形態1に係る仮想ボリュームのコピー処理の一例を示すフローチャートである。 実施の形態2に係る仮想スイッチの機能構成の一例を示す図である。 実施の形態2に係る縮小されたビットマップについて説明するための図である(整数倍)。 実施の形態2に係る縮小されたビットマップについて説明するための図である(非整数倍)。 実施の形態2に係る仮想スイッチの処理の一例を示すフローチャートである。 実施の形態3に係る仮想スイッチの機能構成の一例を示す図である。 実施の形態3に係る分割サイズ算出部によって蓄積された統計情報の一例を示す図である。 実施の形態3に係る分割サイズ算出部が使用する計算式を示す図である。 ストレージシステムの構成を示す図である。
符号の説明
1 拡大ビットマップ作成部、2 拡大ビットマップ変更部、3 ライト用ビットマップ作成部、4 ライト用ビットマップ変更部、5 ビットマップマージ部、6 ビットマップ切替え部、11 縮小ビットマップ作成部、12 縮小ビットマップ変更部、21 分割サイズ算出部、100、200、300 仮想スイッチ、400 磁気ディスク装置、401 運用サーバ、402 管理サーバ、600 ストレージシステム

Claims (6)

  1. 記憶領域が所定サイズで分割され、該分割された領域それぞれがビットに対応付けられたビットマップに基づき、前記記憶領域に保持されているデータを他の記憶領域にコピーするストレージスイッチであって、
    現在の分割サイズよりも小さい分割サイズの領域それぞれがビットに対応付けられた第1ビットマップを作成する第1ビットマップ作成部と、
    前記第1ビットマップに対し、前記記憶領域内のコピーが完了した領域に対応するビットを変更する第1ビット変更部と、
    前記第1ビットマップと分割サイズが同一の第2ビットマップを作成する第2ビットマップ作成部と、
    前記記憶領域のコピー中にホストから該記憶領域にライト要求が発生した場合、前記第2ビットマップに対し、ライト要求が発生した前記記憶領域内の領域に対応するビットを変更する第2ビット変更部と、
    前記第1ビット変更部によって変更された第1ビットマップと、前記第2ビット変更部によって変更された第2ビットマップとをマージするビットマップマージ部と、
    を備えるストレージスイッチ。
  2. 請求項1に記載のストレージスイッチにおいて、さらに、
    現在の分割サイズのビットマップから前記ビットマップマージ部によってマージされたビットマップに切り替えるビットマップ切替え部を備えることを特徴とするストレージスイッチ。
  3. 請求項1に記載のストレージスイッチにおいて、さらに、
    現在の分割サイズよりも大きい分割サイズの領域それぞれがビットに対応付けられた第3ビットマップを作成する第3ビットマップ作成部と、
    前記第3ビットマップに対し、前記記憶領域内のコピーが完了した領域に対応するビットを変更し、さらに、前記記憶領域のコピー中にホストから該記憶領域にライト要求が発生した場合、現在の分割サイズのビットマップに対し、ライト要求が発生した前記記憶領域内の領域に対応するビットを変更する第3ビット変更部と、
    を備えるストレージスイッチ。
  4. 請求項3に記載のストレージスイッチにおいて、さらに、
    ホストから前記記憶領域に対しライトされるデータサイズの統計情報を保持し、該統計情報に基づき前記記憶領域を分割するサイズを算出する分割サイズ算出部を備え、
    前記第1ビットマップ作成部は、前記分割サイズ算出部によって現在の分割サイズよりも小さい分割サイズが算出された場合、前記分割サイズ算出部によって算出された分割サイズの領域それぞれがビットに対応付けられた第1ビットマップを作成し、
    前記第3ビットマップ作成部は、前記分割サイズ算出部によって現在の分割サイズよりも大きい分割サイズが算出された場合、前記分割サイズ算出部によって算出された分割サイズの領域それぞれがビットに対応付けられた第3ビットマップを作成することを特徴とするストレージスイッチ。
  5. 仮想ボリュームが所定サイズで分割され、該分割された領域それぞれがビットに対応付けられたビットマップに基づき、前記仮想ボリュームに保持されているデータを他の仮想ボリュームにコピーするストレージシステムであって、
    前記仮想ボリューム内のデータを保持する記憶装置と、
    現在の分割サイズよりも小さい分割サイズの領域それぞれがビットに対応付けられた第1ビットマップを作成する第1ビットマップ作成部と、
    前記第1ビットマップに対し、前記仮想ボリューム内のコピーが完了した領域に対応するビットを変更する第1ビット変更部と、
    前記第1ビットマップと分割サイズが同一の第2ビットマップを作成する第2ビットマップ作成部と、
    前記仮想ボリュームのコピー中にホストから該仮想ボリュームにライト要求が発生した場合、前記第2ビットマップに対し、ライト要求が発生した前記仮想ボリューム内の領域に対応するビットを変更する第2ビット変更部と、
    前記第1ビット変更部によって変更された第1ビットマップと、前記第2ビット変更部によって変更された第2ビットマップとをマージするビットマップマージ部と、
    を備えるストレージシステム。
  6. 記憶領域が所定サイズで分割され、該分割された領域それぞれがビットに対応付けられたビットマップに基づき、前記記憶領域に保持されているデータを他の記憶領域にコピーするデータコピー方法であって、
    現在の分割サイズよりも小さい分割サイズの領域それぞれがビットに対応付けられた第1ビットマップを作成する第1ビットマップ作成ステップと、
    前記第1ビットマップに対し、前記記憶領域内のコピーが完了した領域に対応するビットを変更する第1ビット変更ステップと、
    前記第1ビットマップと分割サイズが同一の第2ビットマップを作成する第2ビットマップ作成ステップと、
    前記記憶領域のコピー中にホストから該記憶領域にライト要求が発生した場合、前記第2ビットマップに対し、ライト要求が発生した前記記憶領域内の領域に対応するビットを変更する第2ビット変更ステップと、
    前記第1ビット変更ステップによって変更された第1ビットマップと、前記第2ビット変更ステップによって変更された第2ビットマップとをマージするビットマップマージステップと、
    を実行するデータコピー方法。
JP2008325318A 2008-12-22 2008-12-22 ストレージスイッチ、ストレージシステム、データコピー方法 Expired - Fee Related JP4615595B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008325318A JP4615595B2 (ja) 2008-12-22 2008-12-22 ストレージスイッチ、ストレージシステム、データコピー方法
US12/637,409 US8180985B2 (en) 2008-12-22 2009-12-14 Storage switch, storage system, and data copying method using bitmaps representing different sized regions

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008325318A JP4615595B2 (ja) 2008-12-22 2008-12-22 ストレージスイッチ、ストレージシステム、データコピー方法

Publications (2)

Publication Number Publication Date
JP2010146450A JP2010146450A (ja) 2010-07-01
JP4615595B2 true JP4615595B2 (ja) 2011-01-19

Family

ID=42267789

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008325318A Expired - Fee Related JP4615595B2 (ja) 2008-12-22 2008-12-22 ストレージスイッチ、ストレージシステム、データコピー方法

Country Status (2)

Country Link
US (1) US8180985B2 (ja)
JP (1) JP4615595B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014005261A1 (zh) 2012-07-02 2014-01-09 杭州华为数字技术有限公司 存储扩展装置及服务器
JP6260384B2 (ja) * 2014-03-19 2018-01-17 富士通株式会社 ストレージ制御装置,制御プログラム,及び制御方法
US10360231B2 (en) 2015-07-06 2019-07-23 Oracle International Corporation Dynamically switching between data sources
CN110413200B (zh) * 2018-04-28 2023-06-09 伊姆西Ip控股有限责任公司 数据同步的方法、设备和计算机程序产品
JP7309580B2 (ja) * 2019-11-14 2023-07-18 株式会社東芝 通信装置、通信方法及びプログラム
CN113127151B (zh) * 2021-03-25 2023-03-21 山东英信计算机技术有限公司 一种虚拟化环境中数据的实时复制方法、系统及介质
US11886411B2 (en) * 2021-05-24 2024-01-30 Molecula Corp. Data storage using roaring binary-tree format

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005519408A (ja) * 2002-03-06 2005-06-30 マラソン テクノロジーズ コーポレイション 増分不一致を使用するミラーコピーの生成方法
JP2005267569A (ja) * 2004-03-22 2005-09-29 Hitachi Ltd ストレージ装置および情報管理システム
JP2005301590A (ja) * 2004-04-09 2005-10-27 Hitachi Ltd ストレージシステム及びデータ複製方法
JP2006331100A (ja) * 2005-05-26 2006-12-07 Hitachi Ltd 差分ビットマップ管理方法、ストレージ装置及び情報処理システム
JP2008269338A (ja) * 2007-04-20 2008-11-06 Hitachi Ltd ストレージ装置及び管理単位設定方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3606797B2 (ja) 1999-09-30 2005-01-05 富士通株式会社 記憶装置のデータ領域間の複写処理方法、記憶システム、及びその記憶媒体
US6757797B1 (en) 1999-09-30 2004-06-29 Fujitsu Limited Copying method between logical disks, disk-storage system and its storage medium
JP3714184B2 (ja) 2001-03-29 2005-11-09 富士通株式会社 記憶装置のデータ領域間複写処理方法、及び記憶システム
US7873782B2 (en) * 2004-11-05 2011-01-18 Data Robotics, Inc. Filesystem-aware block storage system, apparatus, and method
JP2008234030A (ja) * 2007-03-16 2008-10-02 Hitachi Ltd コピーシステム及びコピー方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005519408A (ja) * 2002-03-06 2005-06-30 マラソン テクノロジーズ コーポレイション 増分不一致を使用するミラーコピーの生成方法
JP2005267569A (ja) * 2004-03-22 2005-09-29 Hitachi Ltd ストレージ装置および情報管理システム
JP2005301590A (ja) * 2004-04-09 2005-10-27 Hitachi Ltd ストレージシステム及びデータ複製方法
JP2006331100A (ja) * 2005-05-26 2006-12-07 Hitachi Ltd 差分ビットマップ管理方法、ストレージ装置及び情報処理システム
JP2008269338A (ja) * 2007-04-20 2008-11-06 Hitachi Ltd ストレージ装置及び管理単位設定方法

Also Published As

Publication number Publication date
US20100161924A1 (en) 2010-06-24
US8180985B2 (en) 2012-05-15
JP2010146450A (ja) 2010-07-01

Similar Documents

Publication Publication Date Title
JP4615595B2 (ja) ストレージスイッチ、ストレージシステム、データコピー方法
CN101727331B (zh) 升级活动虚拟机的客户操作系统的方法和设备
JP2008015769A (ja) ストレージシステム及び書き込み分散方法
US20060047926A1 (en) Managing multiple snapshot copies of data
JP4464378B2 (ja) 同一データを纏める事で格納領域を節約する計算機システム、ストレージシステム及びそれらの制御方法
US11128535B2 (en) Computer system and data management method
WO2012147119A1 (en) Management system and control method for provisioning storage space to writable snapshots satisfying performance requirements
JP2010079588A (ja) 仮想ボリュームを有する記憶制御装置
JP2016181078A (ja) ストレージシステム、ストレージの管理方法、及び、コンピュータ・プログラム
US20150242147A1 (en) Storage management apparatus, storage apparatus, and computer readable storage medium
JP2005202942A (ja) 情報記録媒体、データ処理装置及びデータ処理方法
JP2007286975A (ja) 計算機システム及びストレージシステム並びにボリューム割り当て方法
US11176089B2 (en) Systems and methods for implementing dynamic file systems
JP5949816B2 (ja) キャッシュ制御装置及びその制御方法、ストレージ装置、並びにコンピュータ・プログラム
JP7212093B2 (ja) ストレージシステム、ストレージシステムの移行方法
JP6015700B2 (ja) 情報記憶装置および情報記憶方法
US10540112B2 (en) System and method for migrating virtual machines with storage while in use
WO2016139774A1 (ja) 情報処理装置、情報処理システム
JP5012599B2 (ja) メモリ内容復元装置、メモリ内容復元方法及びメモリ内容復元プログラム
JP2006039942A (ja) 階層記憶システムにおけるファイル管理装置及びそのファイル管理方法
JP2006085209A (ja) 計算機システムのデプロイメント方式
JP4641528B2 (ja) データ書き込みプログラム及びデータ書き込み方法
JPH08241220A (ja) 外部記憶装置のオンライン容量拡張方法
US8886908B2 (en) Management of multiple capacity types in storage systems
JP2005316697A (ja) ディスクアレイシステムおよびデータバックアップ方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101008

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101020

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131029

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees