JP2013069096A - 制御装置、制御方法およびストレージ装置 - Google Patents
制御装置、制御方法およびストレージ装置 Download PDFInfo
- Publication number
- JP2013069096A JP2013069096A JP2011206895A JP2011206895A JP2013069096A JP 2013069096 A JP2013069096 A JP 2013069096A JP 2011206895 A JP2011206895 A JP 2011206895A JP 2011206895 A JP2011206895 A JP 2011206895A JP 2013069096 A JP2013069096 A JP 2013069096A
- Authority
- JP
- Japan
- Prior art keywords
- bit
- bitmap
- value
- bits
- copy
- 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.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】既にコピーが完了した領域の再度のコピー処理を抑制すること。
【解決手段】第1の記憶領域2aから第2の記憶領域3aへのデータコピー中に第2のビットマップ6を作成する依頼を受け取ると、第2のビットマップ6の各ビットにそれぞれ対応する第1のビットマップ4のビットの集合のうちビット値が1のビットとビット値が0のビットとが混在するビットの集合4aに含まれるビット値が1のビットを特定する特定部1bと、特定部1bが特定したビットが管理するデータを第2の記憶領域3aにコピーし、特定部1bが特定したビット値が1のビットのビット値を0に変更するコピー処理部1cと、特定部1bが特定したビットのビット値が0に変更されると第1のビットマップ4の集合4aに対応する第2のビットマップ6のビット値を0に設定する設定部1dと、を有する。
【選択図】図1
【解決手段】第1の記憶領域2aから第2の記憶領域3aへのデータコピー中に第2のビットマップ6を作成する依頼を受け取ると、第2のビットマップ6の各ビットにそれぞれ対応する第1のビットマップ4のビットの集合のうちビット値が1のビットとビット値が0のビットとが混在するビットの集合4aに含まれるビット値が1のビットを特定する特定部1bと、特定部1bが特定したビットが管理するデータを第2の記憶領域3aにコピーし、特定部1bが特定したビット値が1のビットのビット値を0に変更するコピー処理部1cと、特定部1bが特定したビットのビット値が0に変更されると第1のビットマップ4の集合4aに対応する第2のビットマップ6のビット値を0に設定する設定部1dと、を有する。
【選択図】図1
Description
本発明は制御装置、制御方法およびストレージ装置に関する。
記憶装置の記憶領域が所定サイズで分割され、分割された領域それぞれがビットに対応付けられたビットマップに基づき、記憶領域に保持されているデータを他の記憶領域にコピーする技術が知られている。例えば、ビットのONとOFFによってコピー済みかコピー未実施かを管理する。コピー開始時は、ビットマップの全ビットをONにしておき、コピーが完了した領域のビットをOFFにする。全ビットがOFFになるとコピー完了となる。
また、コピー処理実行中でも動的にビットマップのサイズを変更する技術が知られている。例えば、ビットマップの変更後の1ビットに対し、変更前の複数ビットが関連する場合に変更前の複数ビットの一部でもONである場合は、変更後のビットマップのビットをONにする処理を実行する技術が知られている。
しかしながら、前述したビットマップのサイズを変更する処理を実行すると、既にコピーが完了した領域についても再度コピー処理が実行されるという問題があった。
1つの側面では、本発明は、既にコピーが完了した領域の再度のコピー処理を抑制する制御装置、制御方法およびストレージ装置を提供することを目的とする。
1つの側面では、本発明は、既にコピーが完了した領域の再度のコピー処理を抑制する制御装置、制御方法およびストレージ装置を提供することを目的とする。
上記目的を達成するために、開示の制御装置が提供される。この制御装置は、特定部と、コピー処理部と、設定部とを有している。
特定部は、第1の記憶領域から第2の記憶領域へのデータコピー中にデータコピーの進捗を示すビットを複数備える第1のビットマップの各ビットが管理するデータサイズを、より大きく変更して第1のビットマップのビット数を減らした第2のビットマップを作成する依頼を受け取ると、第2のビットマップの各ビットにそれぞれ対応する第1のビットマップのビットの集合のうちデータコピー未完了を示す第1の値とデータコピー完了を示す第2の値とが混在するビットの集合に含まれる第1の値のビットを特定する。
特定部は、第1の記憶領域から第2の記憶領域へのデータコピー中にデータコピーの進捗を示すビットを複数備える第1のビットマップの各ビットが管理するデータサイズを、より大きく変更して第1のビットマップのビット数を減らした第2のビットマップを作成する依頼を受け取ると、第2のビットマップの各ビットにそれぞれ対応する第1のビットマップのビットの集合のうちデータコピー未完了を示す第1の値とデータコピー完了を示す第2の値とが混在するビットの集合に含まれる第1の値のビットを特定する。
コピー処理部は、特定部が特定したビットが管理するデータを第2の記憶領域にコピーし、特定部が特定したビットの第1の値を第2の値に変更する。
設定部は、特定部が特定したビットの第1の値が第2の値に変更されると第1のビットマップのビットの集合に対応する第2のビットマップのビットの値を第2の値に設定する。
設定部は、特定部が特定したビットの第1の値が第2の値に変更されると第1のビットマップのビットの集合に対応する第2のビットマップのビットの値を第2の値に設定する。
既にコピーが完了した領域の再度のコピー処理を抑制することができる。
以下、実施の形態の制御装置を、図面を参照して詳細に説明する。
<第1の実施の形態>
図1は、第1の実施の形態のストレージ装置を示す図である。
<第1の実施の形態>
図1は、第1の実施の形態のストレージ装置を示す図である。
第1の実施の形態のストレージ装置10は、制御装置(コンピュータ)1と、第1の記憶装置2と、第2の記憶装置3とを有している。第1の記憶装置2および第2の記憶装置3は、制御装置1に接続されている。第1の記憶装置2および第2の記憶装置3は、SSD(Solid State Drive)やHDD(Hard Disk Drive)等により実現することができる。
制御装置1は、第1の記憶装置2が備える第1の記憶領域2aから第2の記憶装置3が備える第2の記憶領域3aへのデータコピーを制御する。
制御装置1は、ビットマップ記憶部1aと、特定部1bと、コピー処理部1cと、設定部1dとを有している。なお、ビットマップ記憶部1aは、制御装置1が有するRAM(Random Access Memory)が備えるデータ記憶領域により実現することができる。特定部1bと、コピー処理部1cと、設定部1dとは、制御装置1が有するCPU(Central Processing Unit)が備える機能により実現することができる。
制御装置1は、ビットマップ記憶部1aと、特定部1bと、コピー処理部1cと、設定部1dとを有している。なお、ビットマップ記憶部1aは、制御装置1が有するRAM(Random Access Memory)が備えるデータ記憶領域により実現することができる。特定部1bと、コピー処理部1cと、設定部1dとは、制御装置1が有するCPU(Central Processing Unit)が備える機能により実現することができる。
ビットマップ記憶部1aには、第1の記憶領域2aから第2の記憶領域3aへのデータコピーの進捗を示すビットを複数備える第1のビットマップ4を記憶している。図1に示す第1のビットマップ4は、ビット番号「0」からビット番号「7」までの8ビットで構成されている。各ビットには、それぞれ第1の記憶領域2aを所定の領域の大きさで分割したブロックのコピーの進捗を示す値(1または0)が設定される。ここで1は、第1の値の一例であり、0は第2の値の一例である。以下、各ビットの値を「ビット値」と言う。制御装置1は、コピー開始時は第1のビットマップ4の全てのビット値を1にしておき、コピーが完了したブロックのビットの値を0にする。第1のビットマップ4の全てのビット値が0になるとコピー完了となる。
制御装置1には、管理装置5が接続されている。管理装置5は、第1のビットマップ4の各ビットが管理するデータサイズを、より大きく変更して第1のビットマップ4のビット数を減らした第2のビットマップ6を作成する依頼を制御装置1に送信する。本実施の形態では、管理装置5は、第1のビットマップ4の各ビットが管理するデータサイズを、2倍に変更し、第1のビットマップ4のビットの数を半分に減らした第2のビットマップ6を作成する依頼を制御装置1に送信する。
特定部1bは、第1の記憶領域2aから第2の記憶領域3aへのデータコピー中に前述した依頼を管理装置5から受け取ると、第2のビットマップ6の各ビットにそれぞれ対応する第1のビットマップ4のビットの集合のうち、ビット値0とビット値1とが混在するビットの集合4aに含まれるビット番号「5」のビットを特定する。具体的には、特定部1bは、第1のビットマップ4の0ビット目から順に2つのビットを1つのビットの集合としてビット値の混在の有無を判断する。ビット番号「0」と「1」のビット値はいずれも1であるため、特定部1bは、2つのビットを1ビットにまとめてもビット値は混在しないと判断する。ビット番号「2」と「3」のビット値はいずれも0であるため、特定部1bは、2つのビットを1ビットにまとめてもビット値は混在しないと判断する。ビット番号「4」のビット値は0であり、ビット番号「5」のビット値は1であるため、特定部1bは、2つのビットを1ビットにまとめるとビット値が混在すると判断する。従って、特定部1bは、ビット番号「4」と「5」の集合4aに含まれるビット番号「5」のビットを特定する。ビット番号「6」と「7」のビット値はいずれも1であるため、特定部1bは、2つのビットを1ビットにまとめてもビット値は混在しないと判断する。
コピー処理部1cは、特定部1bが特定したビット番号「5」のビットが管理する第1の記憶領域2aのデータを第2の記憶領域3aにコピーする。そして、コピーが完了すると、ビット番号「5」のビット値を0に変更する。
設定部1dは、ビット番号「5」のビット値が0に変更されると第1のビットマップ4のビットの集合4aに対応する第2のビットマップ6のビットのビット値を0に設定する。具体的には、設定部1dは、各ビットの値が確定していない第2のビットマップ6を作成する。そして、設定部1dは、第1のビットマップ4のビット番号「0」と「1」のビット値1を第2のビットマップ6のビット番号「0」のビット値とする。第1のビットマップ4のビット番号「2」と「3」のビット値0を第2のビットマップ6のビット番号「1」のビット値とする。第1のビットマップ4のビット番号「4」と「5」のビット値0を第2のビットマップ6のビット番号「2」のビット値とする。設定部1dは、第2のビットマップ6の各ビットのビット値の設定が終了すると、ビットマップ記憶部1aの第1のビットマップ4が記憶されている記憶領域を解放し、他の情報が上書き可能な状態にする。
コピー処理部1cは、第2のビットマップ6を用いて第1の記憶領域2aのコピー未完了の領域に記憶されているデータを第2の記憶領域3aへコピーする。第2のビットマップ6を作成し、第1のビットマップ4と置き換えることで、ビットマップ記憶部1aに占める1セッション当たりのビットマップの使用量を減らすことができる。
この制御装置1によれば、集合4aのビット番号「5」のビット値を0に変更した後に第1のビットマップ4を第2のビットマップ6に置き換えた。この処理により、既にコピーが完了した領域について再度コピー処理が実行されることが抑制される。従って、集合4aの両方のビットをコピーする場合に比べ、コピー時間を減らすことができる。
また、第1の記憶領域2aから第2の記憶領域3aへのデータコピーを停止せずにコピー処理部1cが使用する第1のビットマップ4を第2のビットマップ6に変更できる。従って、データコピーを停止し、新たなコピーセッションの設定をしてデータコピーを再開する場合に比べ、業務の運用に及ぼす影響を少なくすることができる。また、コピーセッションを設定し直すことによる余分なコピー処理がなくなる。
以下、第2の実施の形態において、開示の制御装置をより具体的に説明する。
<第2の実施の形態>
図2は、第2の実施の形態に係るストレージシステムの全体構成例を示す図である。図2に示すストレージシステム100は、CE(Controller Enclosure)200と、DE(Drive Enclosure)300とを含む。また、CE200には、ホスト装置400が接続されている。
<第2の実施の形態>
図2は、第2の実施の形態に係るストレージシステムの全体構成例を示す図である。図2に示すストレージシステム100は、CE(Controller Enclosure)200と、DE(Drive Enclosure)300とを含む。また、CE200には、ホスト装置400が接続されている。
CE200は、CM(Controller Module)201、202を備える。CM201、202のそれぞれは、制御装置の一例であり、ホスト装置400からのI/O(In/Out)要求に応じて、DE300内の記憶装置に対するデータの読み書きを行う。CM201、202は、DE300内の記憶装置によって実現される物理記憶領域をRAID(Redundant Arrays of Inexpensive Disks)によって管理し、これらの物理記憶領域に対するアクセスを制御する。
なお、ホスト装置400と、CM201、202は、例えばルータ等を介して互いに接続されていてもよい。また、CMは、CE200内に1つのみ設けられてもよいし、3つ以上設けられてもよい。CMが複数設けられることで、DE300に対するアクセス制御系統が冗長化され、アクセス制御処理の信頼性が向上する。
DE300は、CM201、202からのアクセス制御対象となる複数の記憶装置を備える。本実施の形態のDE300は、記憶装置としてHDDを備えるディスクアレイ装置である。なお、DE300が備える記憶装置としては、SSD等の他の種類の不揮発性記憶装置を使用することもできる。また、CE200には、複数のDE300が接続されていてもよい。
ホスト装置400は、ユーザの操作に応じて、CM201、202に対して、DE300内のHDDへのアクセスを要求する。ホスト装置400は、例えば、ユーザの操作に応じて、CM201、202のいずれかを通じて、DE300内のHDDからのデータの読み出しや、DE300内のHDDに対するデータの書き込みを行うことができる。また、ホスト装置400は、CE200に対しDE300内のHDDのコピー領域を指定してデータのDE300内の他のHDDへのコピーを指示することができる。以下、ホスト装置400が指定するコピー領域の単位をセッションと言う。
管理装置500は、管理者の操作に応じて、ストレージシステム100の動作を管理する。例えば、管理者は、管理装置500を操作することで、CM201、202に対する動作設定を行うことができる。なお、管理装置500とCM201、202とは、例えば、LAN(Local Area Network)ケーブルを介して接続されている。なお、ホスト装置400が管理装置500を兼ねていてもよい。
なお、CE200内のCM201、202は、ともに同様の構成を有し、同様の処理を実行可能である。そこで、以下、CM201についてのみ説明し、CM202についての説明を省略する。
図3は、CMのハードウェア構成例を示す図である。
CM201は、CPU211によって装置全体が制御されている。CPU211には、RAM212および複数の周辺機器が、バス217を介して接続されている。RAM212は、CM201の主記憶装置として使用され、CPU211に実行させるプログラムの少なくとも一部や、このプログラムによる処理に必要な各種データを一時的に記憶する。
CM201は、CPU211によって装置全体が制御されている。CPU211には、RAM212および複数の周辺機器が、バス217を介して接続されている。RAM212は、CM201の主記憶装置として使用され、CPU211に実行させるプログラムの少なくとも一部や、このプログラムによる処理に必要な各種データを一時的に記憶する。
CPU211には、周辺機器の例として、SSD213、入力I/F(インタフェース)214、CA(Channel Adapter)215およびDI(Drive Interface)216が接続されている。
SSD213は、CM201の二次記憶装置として使用され、CPU211によって実行されるプログラムやその実行に必要な各種のデータ等を記憶する。なお、二次記憶装置としては、例えば、HDD等の他の種類の不揮発性記憶装置が使用されてもよい。
入力I/F214には、操作キー等を備える入力装置214aが接続されている。入力I/F214は、入力装置214aに対する操作入力に応じた信号をCPU211に出力する。
CA215は、ホスト装置400とCM201との間でデータを送受信するインタフェース処理を実行する。CA215とホスト装置400とは、例えば、FC(Fibre Channel)規格に従って通信する。
DI216は、DE300とCM201との間でデータを送受信するインタフェース処理を実行する。DI216とDE300とは、例えば、SAS(Serial Attached SCSI,SCSI:Small Computer System Interface)規格に従って通信する。
次に、管理装置のハードウェア構成を説明する。
図4は、管理装置のハードウェア構成例を示す図である。
管理装置500は、図4に示すようなコンピュータとして実現される。このコンピュータは、CPU501によって装置全体が制御されている。CPU501には、バス508を介して、RAM502と複数の周辺機器が接続されている。
図4は、管理装置のハードウェア構成例を示す図である。
管理装置500は、図4に示すようなコンピュータとして実現される。このコンピュータは、CPU501によって装置全体が制御されている。CPU501には、バス508を介して、RAM502と複数の周辺機器が接続されている。
RAM502は、コンピュータの主記憶装置として使用される。RAM502には、CPU501に実行させるプログラムの少なくとも一部が一時的に格納される。また、RAM502には、CPU501による処理に必要な各種データが格納される。
バス508に接続されている周辺機器としては、HDD503、グラフィック処理装置504、入力インタフェース505、光学ドライブ装置506および通信インタフェース507がある。
HDD503は、コンピュータの二次記憶装置として使用される。HDD503には、CPU501が実行するプログラムや、各種データが格納される。なお、二次記憶装置としては、フラッシュメモリ等の半導体記憶装置を使用することもできる。
グラフィック処理装置504には、モニタ504aが接続されている。グラフィック処理装置504は、CPU501からの命令に従って、画像をモニタ504aの画面に表示させる。モニタ504aとしては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置等がある。
入力インタフェース505には、例えば、キーボード505aとマウス505bとが接続されている。入力インタフェース505は、キーボード505aやマウス505bから送られてくる信号をCPU501に送信する。マウス505bは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボール等がある。
光学ドライブ装置506は、レーザ光等を利用して、光ディスク506aに記録されたデータの読み取りを行う。光ディスク506aは、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク506aには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等がある。
通信インタフェース507は、CM201、202との間でLANケーブルを介してデータを送受信する。
なお、ホスト装置400についても、図6と同様のハードウェア構成によって実現できる。ただし、ホスト装置400が備える通信インタフェースは、CM201、202との間で光ファイバ等を介してデータを送受信する。
なお、ホスト装置400についても、図6と同様のハードウェア構成によって実現できる。ただし、ホスト装置400が備える通信インタフェースは、CM201、202との間で光ファイバ等を介してデータを送受信する。
図3に示すようなハードウェア構成のCM201、202内には、以下のような機能が設けられる。
図5は、CMの機能を示すブロック図である。
図5は、CMの機能を示すブロック図である。
DE300は、複数のHDD301の物理記憶領域の一部によって構成される論理的なボリューム41、42を有している。ボリューム42は、複数のHDD301によって実現される物理記憶領域のうち、ボリューム41とは異なる物理記憶領域によって構成される。ボリューム41は、以下の説明においてデータコピー元となるボリュームであり、ボリューム42は、データコピー先となるボリュームである。
CM201は、ビットマップ記憶部110と、セッション管理部120と、コピー処理部130と、ビットマップ変更部140とを有している。なお、ビットマップ変更部140は、特定部と設定部の一例である。
ビットマップ記憶部110は、ボリューム42にコピーするデータが記憶されたボリューム41の記憶領域をブロック単位に分割し、分割した1ブロックを1ビットに対応させたビットマップを記憶する。なお、ビットマップは、RAM212の一部の記憶領域で構成される。
セッション管理部120は、ボリューム41からボリューム42へデータをコピーする際にホスト装置400が発行するコピーコマンドを受け取ると、コピーコマンドに含まれる内容をセッション管理テーブルに記憶する。また、セッション管理部120は、コピーコマンドに含まれる内容をコピー処理部130に通知する。
図6は、セッション管理テーブルの一例を示す図である。
セッション管理テーブル121には、第1コピー種別、第2コピー種別、コピー元LUN(Logical Unit Number)、コピー先LUNが記憶される。第1のコピー種別は、データコピーを作成する方法に関する情報である。具体的には、第1のコピー種別は、スナップショットかミラーリングかを識別する情報を含む。
セッション管理テーブル121には、第1コピー種別、第2コピー種別、コピー元LUN(Logical Unit Number)、コピー先LUNが記憶される。第1のコピー種別は、データコピーを作成する方法に関する情報である。具体的には、第1のコピー種別は、スナップショットかミラーリングかを識別する情報を含む。
スナップショットは、ある時点のデータイメージのコピーを瞬時に作成する技術である。スナップショットには論理的には瞬時にディスクイメージのコピーを作成し、物理的にはデータアクセスが行われた時点で更新領域のコピーが行われるコピーオンライト方式と、スナップショットを物理的に完全な複製データとしたい場合に、コピーオンライトを行うと同時にバックグラウンドでデータイメージ全体のコピーを行うバックグラウンド方式がある。
ミラーリングは、ボリューム41の内容とボリューム42の内容が等しくなるように継続的にボリューム41への更新をボリューム42へ転送し続け、切り離し命令によりボリューム41からボリューム42へのデータ転送を停止する(二重化切り離し)ことで、その命令発行時点のボリューム41の複製データをボリューム42に作成する処理である。なお、本実施の形態では、DE300(筐体)内でのデータコピーを例示するが、DE300とDE300以外のDEとのデータコピーを行うこともできる。
第2のコピー種別は、第1のコピー種別を細分化した情報である。例えば、第1のコピー種別が、スナップショットである場合には、第2のコピー種別には、コピーオンライト方式かバックグラウンド方式かを識別する情報が設定される。
コピー元LUNは、ボリューム41を識別する情報である。
コピー先LUNは、ボリューム42を識別する情報である。
コピー処理部130は、セッション管理部120からコピー処理の依頼を受け取ると、ボリューム41内のコピー領域の指定に基づきボリューム41とボリューム42間にコピーセッションを設定する。ここで、コピーセッションは、ボリューム41に記憶されているデータを、ボリューム42にコピーする際の管理単位である。
コピー先LUNは、ボリューム42を識別する情報である。
コピー処理部130は、セッション管理部120からコピー処理の依頼を受け取ると、ボリューム41内のコピー領域の指定に基づきボリューム41とボリューム42間にコピーセッションを設定する。ここで、コピーセッションは、ボリューム41に記憶されているデータを、ボリューム42にコピーする際の管理単位である。
また、コピー処理部130は、ボリューム41、42それぞれに対するボリューム管理テーブルを作成する。そして、コピー処理部130は、必要に応じてボリューム管理テーブルを更新する。
図7は、ボリューム管理テーブルの一例を説明する図である。
ボリューム管理テーブル131には、ボリューム41のLUN、およびボリューム41の空き容量(物理残容量)が設定される。ボリューム管理テーブル132には、ボリューム42のLUN、およびボリューム42の空き容量(物理残容量)が設定される。
ボリューム管理テーブル131には、ボリューム41のLUN、およびボリューム41の空き容量(物理残容量)が設定される。ボリューム管理テーブル132には、ボリューム42のLUN、およびボリューム42の空き容量(物理残容量)が設定される。
再び図5に戻って説明する。
また、コピー処理部130は、コピー領域を分割したブロックを1ビットに対応させたビットマップを作成する。コピー処理部130は、作成したビットマップをビットマップ記憶部110に記憶する。コピー処理部130は、作成したビットマップおよびコピーセッションを用いてボリューム41とボリューム42との間でデータコピーを行う。
また、コピー処理部130は、コピー領域を分割したブロックを1ビットに対応させたビットマップを作成する。コピー処理部130は、作成したビットマップをビットマップ記憶部110に記憶する。コピー処理部130は、作成したビットマップおよびコピーセッションを用いてボリューム41とボリューム42との間でデータコピーを行う。
コピー処理部130は、データコピー時には、ビットマップ記憶部110に記憶されているビットマップの未コピー領域に対応するビットを「1」にセットし、コピーが完了した領域に対応するビットを「0」にセットすることで、ボリューム41からボリューム42へのデータコピーの進捗を管理する。
ビットマップ変更部140は、コピーセッションが設定されている状態で管理装置500からビットマップの各ビットが管理するデータサイズを変更する指示(以下、「変更指示」と言う)が送られてくると、ビットマップ記憶部110が管理しているビットマップ各ビットが管理するデータサイズを変更する。
以下、ビットマップ変更部140が変更指示に従いビットマップの各ビットが管理するデータサイズを変更する方法を、各ビットが管理するデータサイズを、より小さく変更してビットマップのビット数を増やす方法(以下、「第1の変更方法」と言う)、各ビットが管理するデータサイズを、より大きく変更してビットマップのビット数を減らす方法(以下、「第2の変更方法」と言う)の順に説明する。
図8は、第1の変更方法を説明する図である。
第1の変更方法は、変更するデータサイズに応じて1ビットを複数のビットに拡張する。図8では、第1の変更方法の一例として、ビットマップB1の各ビットが管理するデータサイズを半分に変更する場合を例に説明する。
第1の変更方法は、変更するデータサイズに応じて1ビットを複数のビットに拡張する。図8では、第1の変更方法の一例として、ビットマップB1の各ビットが管理するデータサイズを半分に変更する場合を例に説明する。
ビットマップ変更部140は、第1のコピー種別(スナップショット、ミラーリング)を問わず、コピー処理部130に一旦コピー処理を停止させる。そして、ビットマップ変更部140は、ビットマップB1をビットマップ記憶部110から獲得する。そして、ビットマップ変更部140は、獲得したビットマップB1のビット番号「7」、ビット番号「6」、・・・、ビット番号「0」の順番に、変更するデータサイズに合わせて、ビットマップB1の各ビットの値を2倍に拡張していく。そして、拡張したビットの値をビットマップB2の対応するビットに格納していく。
例えば、ビットマップB1のビット番号「7」のビットの値は「0」であるため、ビットマップ変更部140は、ビットの値を「00」に拡張する。そして、ビットマップ変更部140は、拡張したビットの値「00」をビットマップB2のビット番号「E」、「F」に格納する。次に、ビットマップB1のビット番号「6」のビットの値は「1」であるため、ビットマップ変更部140は、ビットの値を「11」に拡張する。そして、ビットマップ変更部140は、拡張したビットの値「11」をビットマップB2のビット番号「C」、「D」に格納する。
ビットマップB1のビット番号「7」、ビット番号「6」、・・・、ビット番号「0」の順番に処理を行うのは、ビット番号「0」から処理を開始すると、ビットの値を拡張した情報を格納した際に、まだ拡張していないビットの値が上書きされてしまうためである。
ビットマップ変更部140は、ビットマップB2のビット番号「0」、「1」のビットに値が格納されると、コピー処理部130に、停止していたコピー処理を再開させる。
図9は、第2の変更方法を説明する図である。
図9は、第2の変更方法を説明する図である。
図9では、第2の変更方法の一例として、ビットマップB3の各ビットが管理するデータサイズを2倍に変更する場合を例に説明する。
以下、第2の変更方法を、第1コピー種別がスナップショットの場合、ミラーリングの場合の順に説明する。
以下、第2の変更方法を、第1コピー種別がスナップショットの場合、ミラーリングの場合の順に説明する。
<第1コピー種別がスナップショットの場合>
ビットマップ変更部140は、ビットマップB3の各ビットが管理するデータサイズを2倍に変更することによって、ビットマップB4のビットの値「0」と「1」とが混在する箇所と、混在しない箇所を識別する。
ビットマップ変更部140は、ビットマップB3の各ビットが管理するデータサイズを2倍に変更することによって、ビットマップB4のビットの値「0」と「1」とが混在する箇所と、混在しない箇所を識別する。
ビットマップB3の各ビットが管理するデータサイズを2倍に変更する場合、隣り合う2つのビットがビットを統合する集合となる。以下、ビットマップB3のビットの値「0」と「1」とが混在するビットの集合を「ビット混在グループ」と言う。
図9ではビットマップB3のビット番号「4」、「5」のビットの値がそれぞれ「0」と「1」で異なり、ビット混在グループG1を構成する。また、ビット番号「6」、「7」のビットの値がそれぞれ「1」と「0」で異なりビット混在グループG2を構成する。
ここで、図9のクエスチョンマーク(?)で示したビットマップB4のビット番号「2」、「3」のビットは、ビット値を0に設定しても1に設定しても、ボリューム42に書き込まれるデータにデータ化けが発生する可能性が生じる。
例えば、ビットマップB4のビット番号「2」、「3」のビットの値を「1」とした後に、ビットマップB4のビット番号「2」、「3」のビットが管理するボリューム41の記憶領域にデータが更新された場合、更新された記憶領域をボリューム42へのコピー対象領域としてしまうと、同一領域に対するデータ書き込みが複数存在する可能性がある。このため、スナップショット作成時のデータではないデータが、ボリューム42にコピーされてしまう可能性がある。
そこで、ビットマップ変更部140は、ビットマップB3のビット番号「5」に対応する記憶領域に記憶されているデータ、およびビットマップB1のビット番号「6」に対応する記憶領域に記憶されているデータをボリューム42にコピーする処理をコピー処理部130に実行させる。コピー処理部130のコピー完了後に、ビットマップ変更部140は、ビットマップB3のビット番号「5」、「6」それぞれのビットの値を「1」から「0」に変更する。そして、ビット混在グループがなくなった状態でコピー処理部130に一旦コピー処理を停止させ、ビットマップ変更部140は、ビットマップB3の各ビットの値をビットマップB4の対応するビットに格納していく。具体的には、ビットマップ変更部140は、ビットマップB3の0ビット目からビット番号「0」、「1」、・・・、「F」の順に、変更する倍率に合わせてビットマップB4の各ビットにビットの値を格納していく。具体的には、隣り合う2つのビットの値が「00」のとき「0」を、隣り合う2つのビットの値が「11」のとき「1」を格納する。ビットマップB3のビット番号「0」、「1」、・・・、「F」の順にビットの値を格納することにより、まだ処理していないビット番号のビットの値が上書きされるのを防ぐことができる。ビットマップ変更部140は、処理が完了次第、ビットマップ記憶部110に記憶されているビットマップB3を解放し、コピー処理部130が停止していたコピー処理を再開させる。コピー処理部130は、ビットマップB4を使用してコピー処理を行う。
ここで、第2のコピー種別がコピーオンライト方式である場合は、コピー処理部130は、ホスト装置400からWrite I/Oが発行されたのを契機にデータのバックアップを開始する。すなわち、第2のコピー種別がコピーオンライト方式である場合は、コピー処理部130は、Write I/Oが発行されるまでバックアップのためのコピー処理は動作しない。そのため、ビットマップ変更部140がビットマップB3をビットマップB4に変更すると、ビット混在グループの、ビットの値が「1」の記憶領域に対するコピー処理が動作するため、コピー処理結果を記憶する物理容量をボリューム42に確保する。
そのため、コピー処理部130は、ビットマップ変更部140が識別したビット混在グループの値が1のビットの数に基づいて、ビット混在グループのビットの値が1のコピーが動作する数を求めることにより、コピー処理結果を記憶するボリューム42の物理容量を予め求める。
そして、ボリューム42の物理容量が不足する場合は、コピー処理部130は、不足する記憶領域を、プール領域から動的に割り当てる。また、コピー処理部130は、不足する記憶領域の割り当てができない場合は、その旨を管理装置500に通知する。
ここで、プール領域は、DE300内のHDD内の未使用の物理記憶領域のうち、ボリューム41およびボリューム42に対して割り当て可能な領域である。プール領域の位置を示すアドレスは、図示しないプール領域管理テーブルに登録されている。
<第1コピー種別がミラーリングの場合>
ビットマップB3のビット混在グループに対応するビットマップB4のビット番号「2」、「3」それぞれビットの値を「1」にすると、コピー処理部130は、ボリューム41の記憶領域に記憶されているボリューム42にコピーが完了したデータを再度、ボリューム42にコピーする。第1コピー種別がミラーリングの場合、再度のコピーを行ってもコピーの前後で同じデータがボリューム42に書き込まれるため、データ化けは生じない。しかし、余分なコピー処理が動作してしまうことになる。余分なコピー処理を回避するため、ビットマップ変更部140は、スナップショットのときと同じように、ビット混在グループが存在するときはコピー処理をコピー処理部130に動作させ、混在状態がなくなった状態で、ビットマップ変更部140は、変更する倍率に合わせてビットマップB4の各ビットにビットの値を格納していく。これにより、余分なコピー処理を省くことができる。
ビットマップB3のビット混在グループに対応するビットマップB4のビット番号「2」、「3」それぞれビットの値を「1」にすると、コピー処理部130は、ボリューム41の記憶領域に記憶されているボリューム42にコピーが完了したデータを再度、ボリューム42にコピーする。第1コピー種別がミラーリングの場合、再度のコピーを行ってもコピーの前後で同じデータがボリューム42に書き込まれるため、データ化けは生じない。しかし、余分なコピー処理が動作してしまうことになる。余分なコピー処理を回避するため、ビットマップ変更部140は、スナップショットのときと同じように、ビット混在グループが存在するときはコピー処理をコピー処理部130に動作させ、混在状態がなくなった状態で、ビットマップ変更部140は、変更する倍率に合わせてビットマップB4の各ビットにビットの値を格納していく。これにより、余分なコピー処理を省くことができる。
次に、CM201の処理を説明する。以下の説明では、ビットマップB1、B3のように管理装置500から変更指示が送られてきた時点でビットマップ記憶部110に記憶されているビットマップを「既存のビットマップ」と言う。
図10は、CMの処理を示すフローチャートである。
[ステップS1] ビットマップ変更部140は、ボリューム41とボリューム42間にコピーセッションが存在する状態で管理装置500から変更指示が送られてくると、変更指示が、第2の変更方法を実行する指示か否かを判断する。第2の変更方法を実行する指示である場合(ステップS1のYes)、ステップS3に遷移する。第1の変更方法を実行する指示である場合(ステップS1のNo)、ステップS2に遷移する。
[ステップS1] ビットマップ変更部140は、ボリューム41とボリューム42間にコピーセッションが存在する状態で管理装置500から変更指示が送られてくると、変更指示が、第2の変更方法を実行する指示か否かを判断する。第2の変更方法を実行する指示である場合(ステップS1のYes)、ステップS3に遷移する。第1の変更方法を実行する指示である場合(ステップS1のNo)、ステップS2に遷移する。
[ステップS2] ビットマップ変更部140は、RAM212から新たな記憶領域を獲得する。そして獲得した記憶領域を用いて第1の変更方法を実行し、各ビットが管理するデータサイズを、より小さく変更してビットマップのビット数を増やす。その後、図10の処理を終了する。
[ステップS3] ビットマップ変更部140は、既存のビットマップにビット混在グループが存在するか否かを判断する。既存のビットマップにビット混在グループが存在する場合(ステップS3のYes)、ステップS4に遷移する。既存のビットマップにビット混在グループが存在しない場合(ステップS3のNo)、ステップS5に遷移する。
[ステップS4] ビットマップ変更部140は、ビット混在時のコピー処理を実行する。なお、ビット混在時のコピー処理は後に詳述する。ビット混在時のコピー処理を終了すると、ステップS3に遷移する。
[ステップS5] ビットマップ変更部140は、既存のビットマップの各ビットの値を新たに作成したビットマップの対応するビットに格納していく。各ビットの値の格納が終了すると、RAM212の既存のビットマップが記憶されている記憶領域の専有を解除する。その後、図10の処理を終了する。
次に、ステップS4のビット混在時のコピー処理を説明する。
図11は、ビット混在時のコピー処理を示すフローチャートである。
[ステップS4a] コピー処理部130は、セッション管理テーブル121に記憶されている第1コピー種別を参照し、コピー種別がスナップショットか否かを判断する。コピー種別がスナップショットである場合(ステップS4aのYes)、ステップS4bに遷移する。コピー種別がスナップショットではなくミラーリングである場合(ステップS4aのNo)、ステップS4eに遷移する。
図11は、ビット混在時のコピー処理を示すフローチャートである。
[ステップS4a] コピー処理部130は、セッション管理テーブル121に記憶されている第1コピー種別を参照し、コピー種別がスナップショットか否かを判断する。コピー種別がスナップショットである場合(ステップS4aのYes)、ステップS4bに遷移する。コピー種別がスナップショットではなくミラーリングである場合(ステップS4aのNo)、ステップS4eに遷移する。
[ステップS4b] コピー処理部130は、セッション管理テーブル121に記憶されている第2コピー種別を参照し、第2コピー種別がコピーオンライトか否かを判断する。第2コピー種別がコピーオンライトである場合(ステップS4bのYes)、ステップS4cに遷移する。第2コピー種別がコピーオンライトではない場合(ステップS4bのNo)、ステップS4eに遷移する。
[ステップS4c] コピー処理部130は、ビットマップの変更に伴いボリューム42の物理容量が不足するか否かを判断する。具体的には、コピー処理部130は、変更指示に含まれる倍率に基づいて、増加する可能性のある最大の物理容量を計算する。以下、一例として変更指示が、各ビットが管理するデータサイズを16倍に変更してビットマップのビット数を1/16に減らす指示である場合を説明する。
ビット混在グループの15ビットの値が「1」であり、1ビットの値が「0」である場合、既存のビットマップの15ビット分のデータがボリューム42に書き込まれることになる。従って、コピー処理部130は、増加する可能性のある最大の物理容量である既存のビットマップの15ビット分のデータの容量と、物理残容量とを比較し、15ビット分のデータの容量が、物理残容量より多い場合、ボリューム42の物理容量が不足すると判断する。このように、各ビットが管理するデータサイズをn倍(n>1)に変更する場合に、コピー処理部130は、増加する可能性のある最大の物理容量である(n−1)ビット分のデータの容量と、物理残容量とを比較し、(n−1)ビット分のデータの容量が、物理残容量より多い場合、ボリューム42の物理容量が不足すると判断する。
コピー処理部130は、ボリューム42の物理容量が不足すると判断した場合(ステップS4cのYes)、ステップS4dに遷移する。ボリューム42の物理容量が不足しないと判断した場合(ステップS4cのNo)、ステップS4eに遷移する。
[ステップS4d] コピー処理部130は、DE300内のプール領域からコピーに必要な物理容量を獲得し、獲得した物理容量をボリューム42に追加で割り当てる。その後、ステップS4eに遷移する。
[ステップS4e] コピー処理部130は、既存のビットマップのビット混在グループのビットの値が1のビット番号に対応するボリューム41の記憶領域に記憶されているデータをボリューム42にコピーする。その後、図11の処理を終了する。
ところで、図11に示すフローチャートでは、実際にビットマップを変更する際に増加するボリューム42の記憶容量を演算した。しかし、CM201は、ビットマップの変更に伴いボリューム42に確保する物理残容量をシミュレーションすることもできる。具体的には、ビットマップ変更部140は、管理装置500から各ビットが管理するデータサイズを仮に所定の倍率に変更したときに、ボリューム42に確保する物理残容量を演算する指示(以下、「シミュレーション指示」と言う)が送られてくると、以下のシミュレート処理を行う。
図12は、シミュレート処理を示すフローチャートである。
[ステップS11] ビットマップ変更部140は、管理装置500から送られてくるシミュレーション指示に含まれる倍率が、各ビットが管理するデータサイズを、より大きく変更する倍率か否かを判断する。各ビットが管理するデータサイズを、より大きく変更する倍率である場合(ステップS11のYes)、ステップS12に遷移する。各ビットが管理するデータサイズを、より小さく変更する倍率、または、倍率が1である場合(ステップS11のNo)、図12の処理を終了する。
[ステップS11] ビットマップ変更部140は、管理装置500から送られてくるシミュレーション指示に含まれる倍率が、各ビットが管理するデータサイズを、より大きく変更する倍率か否かを判断する。各ビットが管理するデータサイズを、より大きく変更する倍率である場合(ステップS11のYes)、ステップS12に遷移する。各ビットが管理するデータサイズを、より小さく変更する倍率、または、倍率が1である場合(ステップS11のNo)、図12の処理を終了する。
[ステップS12] ビットマップ変更部140は、ビットマップ記憶部110に記憶されている既存のビットマップに対し、図11のステップS4cにて説明した処理と同様の方法で、シミュレーション指示に含まれる倍率に基づいて、増加する可能性のある最大の物理容量を計算する。すなわち、各ビットが管理するデータサイズをn倍に変更する場合に、ビットマップ変更部140は、増加する可能性のある最大の物理容量である(n−1)ビット分のデータの容量を計算する。その後、ステップS13に遷移する。
[ステップS13] ビットマップ変更部140は、ステップS12にて計算した増加する可能性のある最大の物理容量と、物理残容量とを比較し、実際に倍率を変更した場合、ボリューム42の物理容量が不足するか否か、および不足する場合は不足する物理容量を計算する。その後、ステップS14に遷移する。
[ステップS14] ビットマップ変更部140は、ステップS12の計算結果およびステップS13の判断結果を管理装置500に送信する。その後、図12の処理を終了する。
以上述べたように、CE200によれば、ボリューム41とボリューム42間にコピーセッションが存在する状態でビットマップB3をビットマップB4に変更できるようにした。これによりビットマップを変更する際にコピーセッションの設定のやり直しがなくなるため、既存業務の運用に与える影響が低減する。
また、コピーセッションの設定のやり直しにより、同じ記憶領域に同じデータが書き込まれることを抑制することができる。従って、データコピーの処理時間を短縮することができる。
また、遠隔地のストレージ装置へのリモートコピー(REC)を実行する場合、余分なコピー処理を抑制することにより、回線に流れるデータ量が減り、回線帯域が有効に使えるようになる。
なお、本実施の形態では、CE200が、管理装置500の指示によりビットマップの変更を行う場合を説明したが、CE200が、自動でビットマップを変更する状況を判断し、ビットマップを変更することも可能である。CE200がビットマップを変更する状況を自動で判断する場合、ビットマップを変更する基準となる容量および変更する倍率をCE200に予め設定しておく。そして、コピーセッションの数の増加等によりビットマップの容量が、設定した容量より大きくなると、自動でビットマップの変更を行う。
以上、本発明の制御装置、制御方法およびストレージ装置を、図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物や工程が付加されていてもよい。
また、本発明は、前述した各実施の形態のうちの、任意の2以上の構成(特徴)を組み合わせたものであってもよい。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、制御装置1およびCM201、202が有する機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリ等が挙げられる。磁気記憶装置には、ハードディスクドライブ、フレキシブルディスク(FD)、磁気テープ等が挙げられる。光ディスクには、DVD、DVD−RAM、CD−ROM/RW等が挙げられる。光磁気記録媒体には、MO(Magneto-Optical disk)等が挙げられる。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、制御装置1およびCM201、202が有する機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリ等が挙げられる。磁気記憶装置には、ハードディスクドライブ、フレキシブルディスク(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〜第2の実施の形態に関し、さらに以下の付記を開示する。
(付記1) 第1の記憶領域から第2の記憶領域へのデータコピー中に前記データコピーの進捗を示すビットを複数備える第1のビットマップの各ビットが管理するデータサイズを、より大きく変更して前記第1のビットマップのビット数を減らした第2のビットマップを作成する依頼を受け取ると、前記第2のビットマップの各ビットにそれぞれ対応する前記第1のビットマップのビットの集合のうちデータコピー未完了を示す第1の値とデータコピー完了を示す第2の値とが混在するビットの集合に含まれる前記第1の値のビットを特定する特定部と、
前記特定部が特定したビットが管理するデータを前記第2の記憶領域にコピーし、前記特定部が特定した前記ビットの前記第1の値を前記第2の値に変更するコピー処理部と、
前記特定部が特定した前記ビットの前記第1の値が前記第2の値に変更されると前記第1のビットマップの前記ビットの集合に対応する前記第2のビットマップのビットの値を前記第2の値に設定する設定部と、
を有することを特徴とする制御装置。
(付記1) 第1の記憶領域から第2の記憶領域へのデータコピー中に前記データコピーの進捗を示すビットを複数備える第1のビットマップの各ビットが管理するデータサイズを、より大きく変更して前記第1のビットマップのビット数を減らした第2のビットマップを作成する依頼を受け取ると、前記第2のビットマップの各ビットにそれぞれ対応する前記第1のビットマップのビットの集合のうちデータコピー未完了を示す第1の値とデータコピー完了を示す第2の値とが混在するビットの集合に含まれる前記第1の値のビットを特定する特定部と、
前記特定部が特定したビットが管理するデータを前記第2の記憶領域にコピーし、前記特定部が特定した前記ビットの前記第1の値を前記第2の値に変更するコピー処理部と、
前記特定部が特定した前記ビットの前記第1の値が前記第2の値に変更されると前記第1のビットマップの前記ビットの集合に対応する前記第2のビットマップのビットの値を前記第2の値に設定する設定部と、
を有することを特徴とする制御装置。
(付記2) 前記コピー処理部は、前記データコピーの種別がコピーオンライトか否かを判断し、前記データコピーの種別がコピーオンライトであると判断した場合、前記特定部が特定したビットが管理するデータを前記第2の記憶領域にコピーする際に要する物理容量を演算して前記物理容量が前記第2の記憶領域に確保できるか否かを判断し、
前記物理容量が前記第2の記憶領域に確保できない場合、ストレージプールから確保した物理容量を前記第2の記憶領域に追加することを特徴とする付記1記載の制御装置。
前記物理容量が前記第2の記憶領域に確保できない場合、ストレージプールから確保した物理容量を前記第2の記憶領域に追加することを特徴とする付記1記載の制御装置。
(付記3) 前記設定部は、前記第1のビットマップに付されたビット番号の小さい方からビットの値を前記第1の値または前記第2の値に設定することを特徴とする付記1記載の制御装置。
(付記4) 前記コピー処理部は、作成した前記第2のビットマップを用いて前記第1の記憶領域から前記第2の記憶領域に前記データをコピーすることを特徴とする付記1記載の制御装置。
(付記5) コンピュータが、
第1の記憶領域から第2の記憶領域へのデータコピー中に前記データコピーの進捗を示すビットを複数備える第1のビットマップの各ビットが管理するデータサイズを、より大きく変更して前記第1のビットマップのビット数を減らした第2のビットマップを作成する依頼を受け取ると、前記第2のビットマップの各ビットにそれぞれ対応する前記第1のビットマップのビットの集合のうちデータコピー未完了を示す第1の値とデータコピー完了を示す第2の値とが混在するビットの集合に含まれる前記第1の値のビットを特定し、
特定したビットが管理するデータを前記第2の記憶領域にコピーし、特定したビットの前記第1の値を前記第2の値に変更し、
特定したビットの前記第1の値が前記第2の値に変更されると前記第1のビットマップの前記ビットの集合に対応する前記第2のビットマップのビットの値を前記第2の値に設定する、
ことを特徴とする制御方法。
第1の記憶領域から第2の記憶領域へのデータコピー中に前記データコピーの進捗を示すビットを複数備える第1のビットマップの各ビットが管理するデータサイズを、より大きく変更して前記第1のビットマップのビット数を減らした第2のビットマップを作成する依頼を受け取ると、前記第2のビットマップの各ビットにそれぞれ対応する前記第1のビットマップのビットの集合のうちデータコピー未完了を示す第1の値とデータコピー完了を示す第2の値とが混在するビットの集合に含まれる前記第1の値のビットを特定し、
特定したビットが管理するデータを前記第2の記憶領域にコピーし、特定したビットの前記第1の値を前記第2の値に変更し、
特定したビットの前記第1の値が前記第2の値に変更されると前記第1のビットマップの前記ビットの集合に対応する前記第2のビットマップのビットの値を前記第2の値に設定する、
ことを特徴とする制御方法。
(付記6) 第1の記憶領域と第2の記憶領域とを備える少なくとも1つの記憶装置と、
前記第1の記憶領域から前記第2の記憶領域へのデータコピー中に前記データコピーの進捗を示すビットを複数備える第1のビットマップの各ビットが管理するデータサイズを、より大きく変更して前記第1のビットマップのビット数を減らした第2のビットマップを作成する依頼を受け取ると、前記第2のビットマップの各ビットにそれぞれ対応する前記第1のビットマップのビットの集合のうちデータコピー未完了を示す第1の値とデータコピー完了を示す第2の値とが混在するビットの集合に含まれる前記第1の値のビットを特定する特定部と、
前記特定部が特定したビットが管理するデータを前記第2の記憶領域にコピーし、前記特定部が特定した前記ビットの前記第1の値を前記第2の値に変更するコピー処理部と、
前記特定部が特定した前記ビットの前記第1の値が前記第2の値に変更されると前記第1のビットマップの前記ビットの集合に対応する前記第2のビットマップのビットの値を前記第2の値に設定する設定部と、
を有することを特徴とするストレージ装置。
前記第1の記憶領域から前記第2の記憶領域へのデータコピー中に前記データコピーの進捗を示すビットを複数備える第1のビットマップの各ビットが管理するデータサイズを、より大きく変更して前記第1のビットマップのビット数を減らした第2のビットマップを作成する依頼を受け取ると、前記第2のビットマップの各ビットにそれぞれ対応する前記第1のビットマップのビットの集合のうちデータコピー未完了を示す第1の値とデータコピー完了を示す第2の値とが混在するビットの集合に含まれる前記第1の値のビットを特定する特定部と、
前記特定部が特定したビットが管理するデータを前記第2の記憶領域にコピーし、前記特定部が特定した前記ビットの前記第1の値を前記第2の値に変更するコピー処理部と、
前記特定部が特定した前記ビットの前記第1の値が前記第2の値に変更されると前記第1のビットマップの前記ビットの集合に対応する前記第2のビットマップのビットの値を前記第2の値に設定する設定部と、
を有することを特徴とするストレージ装置。
1 制御装置
1a、110 ビットマップ記憶部
1b 特定部
1c、130 コピー処理部
1d 設定部
2 第1の記憶装置
2a 第1の記憶領域
3 第2の記憶装置
3a 第2の記憶領域
4 第1のビットマップ
5、500 管理装置
6 第2のビットマップ
10 ストレージ装置
100 ストレージシステム
120 セッション管理部
121 セッション管理テーブル
131、132 ボリューム管理テーブル
140 ビットマップ変更部
200 CE
201、202 CM
400 ホスト装置
B1〜B4 ビットマップ
1a、110 ビットマップ記憶部
1b 特定部
1c、130 コピー処理部
1d 設定部
2 第1の記憶装置
2a 第1の記憶領域
3 第2の記憶装置
3a 第2の記憶領域
4 第1のビットマップ
5、500 管理装置
6 第2のビットマップ
10 ストレージ装置
100 ストレージシステム
120 セッション管理部
121 セッション管理テーブル
131、132 ボリューム管理テーブル
140 ビットマップ変更部
200 CE
201、202 CM
400 ホスト装置
B1〜B4 ビットマップ
Claims (5)
- 第1の記憶領域から第2の記憶領域へのデータコピー中に前記データコピーの進捗を示すビットを複数備える第1のビットマップの各ビットが管理するデータサイズを、より大きく変更して前記第1のビットマップのビット数を減らした第2のビットマップを作成する依頼を受け取ると、前記第2のビットマップの各ビットにそれぞれ対応する前記第1のビットマップのビットの集合のうちデータコピー未完了を示す第1の値とデータコピー完了を示す第2の値とが混在するビットの集合に含まれる前記第1の値のビットを特定する特定部と、
前記特定部が特定したビットが管理するデータを前記第2の記憶領域にコピーし、前記特定部が特定した前記ビットの前記第1の値を前記第2の値に変更するコピー処理部と、
前記特定部が特定した前記ビットの前記第1の値が前記第2の値に変更されると前記第1のビットマップの前記ビットの集合に対応する前記第2のビットマップのビットの値を前記第2の値に設定する設定部と、
を有することを特徴とする制御装置。 - 前記コピー処理部は、前記データコピーの種別がコピーオンライトか否かを判断し、前記データコピーの種別がコピーオンライトであると判断した場合、前記特定部が特定したビットが管理するデータを前記第2の記憶領域にコピーする際に要する物理容量を演算して前記物理容量が前記第2の記憶領域に確保できるか否かを判断し、
前記物理容量が前記第2の記憶領域に確保できない場合、ストレージプールから確保した物理容量を前記第2の記憶領域に追加することを特徴とする請求項1記載の制御装置。 - 前記設定部は、前記第1のビットマップに付されたビット番号の小さい方からビットの値を前記第1の値または前記第2の値に設定することを特徴とする請求項1記載の制御装置。
- コンピュータが、
第1の記憶領域から第2の記憶領域へのデータコピー中に前記データコピーの進捗を示すビットを複数備える第1のビットマップの各ビットが管理するデータサイズを、より大きく変更して前記第1のビットマップのビット数を減らした第2のビットマップを作成する依頼を受け取ると、前記第2のビットマップの各ビットにそれぞれ対応する前記第1のビットマップのビットの集合のうちデータコピー未完了を示す第1の値とデータコピー完了を示す第2の値とが混在するビットの集合に含まれる前記第1の値のビットを特定し、
特定したビットが管理するデータを前記第2の記憶領域にコピーし、特定したビットの前記第1の値を前記第2の値に変更し、
特定したビットの前記第1の値が前記第2の値に変更されると前記第1のビットマップの前記ビットの集合に対応する前記第2のビットマップのビットの値を前記第2の値に設定する、
ことを特徴とする制御方法。 - 第1の記憶領域と第2の記憶領域とを備える少なくとも1つの記憶装置と、
前記第1の記憶領域から前記第2の記憶領域へのデータコピー中に前記データコピーの進捗を示すビットを複数備える第1のビットマップの各ビットが管理するデータサイズを、より大きく変更して前記第1のビットマップのビット数を減らした第2のビットマップを作成する依頼を受け取ると、前記第2のビットマップの各ビットにそれぞれ対応する前記第1のビットマップのビットの集合のうちデータコピー未完了を示す第1の値とデータコピー完了を示す第2の値とが混在するビットの集合に含まれる前記第1の値のビットを特定する特定部と、
前記特定部が特定したビットが管理するデータを前記第2の記憶領域にコピーし、前記特定部が特定した前記ビットの前記第1の値を前記第2の値に変更するコピー処理部と、
前記特定部が特定した前記ビットの前記第1の値が前記第2の値に変更されると前記第1のビットマップの前記ビットの集合に対応する前記第2のビットマップのビットの値を前記第2の値に設定する設定部と、
を有することを特徴とするストレージ装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011206895A JP2013069096A (ja) | 2011-09-22 | 2011-09-22 | 制御装置、制御方法およびストレージ装置 |
US13/588,451 US20130080725A1 (en) | 2011-09-22 | 2012-08-17 | Control apparatus, control method, and storage apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011206895A JP2013069096A (ja) | 2011-09-22 | 2011-09-22 | 制御装置、制御方法およびストレージ装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013069096A true JP2013069096A (ja) | 2013-04-18 |
Family
ID=47912555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011206895A Ceased JP2013069096A (ja) | 2011-09-22 | 2011-09-22 | 制御装置、制御方法およびストレージ装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20130080725A1 (ja) |
JP (1) | JP2013069096A (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6019940B2 (ja) * | 2012-08-30 | 2016-11-02 | 富士通株式会社 | 情報処理装置、コピー制御プログラム、およびコピー制御方法 |
US9582521B2 (en) * | 2013-02-11 | 2017-02-28 | International Business Machines Corporation | Management of database allocation during reorganization |
US9886464B2 (en) * | 2014-11-25 | 2018-02-06 | Sap Se | Versioned bloom filter |
US10108344B1 (en) * | 2015-05-06 | 2018-10-23 | American Megatrends, Inc. | Systems, devices and methods using a solid state device as a caching medium with an SSD filtering or SSD pre-fetch algorithm |
US10263638B2 (en) * | 2016-05-31 | 2019-04-16 | Texas Instruments Incorporated | Lossless compression method for graph traversal |
US11074018B2 (en) * | 2017-04-06 | 2021-07-27 | International Business Machines Corporation | Network asset management |
CN110413200B (zh) * | 2018-04-28 | 2023-06-09 | 伊姆西Ip控股有限责任公司 | 数据同步的方法、设备和计算机程序产品 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4439960B2 (ja) * | 2004-03-22 | 2010-03-24 | 株式会社日立製作所 | ストレージ装置 |
US20060047926A1 (en) * | 2004-08-25 | 2006-03-02 | Zheng Calvin G | Managing multiple snapshot copies of data |
-
2011
- 2011-09-22 JP JP2011206895A patent/JP2013069096A/ja not_active Ceased
-
2012
- 2012-08-17 US US13/588,451 patent/US20130080725A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20130080725A1 (en) | 2013-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7783850B2 (en) | Method and apparatus for master volume access during volume copy | |
US7558916B2 (en) | Storage system, data processing method and storage apparatus | |
US7975115B2 (en) | Method and apparatus for separating snapshot preserved and write data | |
JP5056747B2 (ja) | 記憶領域管理装置、記憶領域管理方法 | |
US7133982B2 (en) | Method, system, and article of manufacture for consistent copying of storage volumes | |
US8639898B2 (en) | Storage apparatus and data copy method | |
US20060004876A1 (en) | Data migration in storage system | |
JP2013069096A (ja) | 制御装置、制御方法およびストレージ装置 | |
JP5218284B2 (ja) | 仮想ディスク管理プログラム、ストレージ装置管理プログラム、マルチノードストレージシステム、および仮想ディスク管理方法 | |
JP5853734B2 (ja) | 仮想ストレージ装置,制御装置及び制御プログラム | |
US8677067B2 (en) | Storage system and method for controlling storage system | |
JP2007323218A (ja) | バックアップシステム | |
JP2008269374A (ja) | ストレージシステムおよびその制御方法 | |
JP4629413B2 (ja) | 優先順位を割り当てるための方法、システム、およびプログラム | |
JP6561765B2 (ja) | ストレージ制御装置およびストレージ制御プログラム | |
JP2008250458A (ja) | ストレージシステム及びストレージシステムの管理方法 | |
US8316205B2 (en) | Storage system, copy method, and primary storage apparatus | |
JP2011028520A (ja) | ディスクアレイ装置及び物理ディスクの復元方法 | |
JP2014038551A (ja) | データ記憶装置、データ記憶装置の制御方法、及びデータ記憶装置の制御プログラム | |
US11188425B1 (en) | Snapshot metadata deduplication | |
JP2013029911A (ja) | 制御装置、制御方法およびストレージ装置 | |
US20160357479A1 (en) | Storage control apparatus | |
JP2009252114A (ja) | ストレージシステム及びデータ退避方法 | |
US11340795B2 (en) | Snapshot metadata management | |
US20240220378A1 (en) | Information processing system and information processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140603 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150317 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150318 |
|
A045 | Written measure of dismissal of application [lapsed due to lack of payment] |
Free format text: JAPANESE INTERMEDIATE CODE: A045 Effective date: 20150728 |