ストレージ装置、制御装置およびストレージ装置制御方法
【課題】バックアップデータを記憶する領域の連続性の低下を抑止する。
【解決手段】制御部11は、受信したバックアップ指示がバックアップ開始指示の場合、使用可能領域開始ポインタが示す位置からバックアップの処理を行う。次に制御部11は、受信したバックアップ指示がバックアップ終了指示の場合、割り当てられたバックアップ領域12aを開放する。さらに制御部11は、開放したバックアップ領域12aが、使用可能領域終了ポインタが示す位置に隣接するか否かを判断する。そして制御部11は、判断の結果、開放したバックアップ領域が、使用可能領域終了ポインタが示す位置に隣接する場合、開放したバックアップ領域12aの使用可能領域の末尾に、使用可能領域の末尾を示す使用可能領域終了ポインタを移動させる。
【解決手段】制御部11は、受信したバックアップ指示がバックアップ開始指示の場合、使用可能領域開始ポインタが示す位置からバックアップの処理を行う。次に制御部11は、受信したバックアップ指示がバックアップ終了指示の場合、割り当てられたバックアップ領域12aを開放する。さらに制御部11は、開放したバックアップ領域12aが、使用可能領域終了ポインタが示す位置に隣接するか否かを判断する。そして制御部11は、判断の結果、開放したバックアップ領域が、使用可能領域終了ポインタが示す位置に隣接する場合、開放したバックアップ領域12aの使用可能領域の末尾に、使用可能領域の末尾を示す使用可能領域終了ポインタを移動させる。
【発明の詳細な説明】
【技術分野】
【0001】
本件は、ストレージ装置、制御装置およびストレージ装置制御方法に関する。
【背景技術】
【0002】
情報技術の進歩および普及に伴い、磁気ディスク、光ディスク、半導体メモリ等の記憶媒体を利用し、記憶媒体にデータの読み書きが可能なストレージ装置が広く利用されている。ストレージ装置を用いることで、記憶媒体に対する大量のデータの記憶が容易になる。
【0003】
また、ストレージ装置において、記憶媒体の一部を、元のデータの破壊を防止するために、元のデータのコピーデータをバックアップデータとして記憶するバックアップ領域として用いるものがある。
【0004】
記憶媒体の空き領域の管理に関して、以下の技術が知られている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2004−280333号公報
【特許文献2】特開2010−86393号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ここで、ストレージ装置において、バックアップデータの書き込みおよび削除が繰り返されると、バックアップデータを記憶する領域が不連続になる場合がある。バックアップデータの記憶に使用するバックアップ領域が不連続である場合、バックアップデータの読み書きの処理や管理の処理の負荷等、ストレージシステムの負荷が増加する場合があるという問題点がある。
【0007】
本件はこのような点に鑑みてなされたものであり、バックアップデータを記憶する領域の連続性の低下を抑止可能なストレージ装置、制御装置およびストレージ装置制御方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するために以下のような記憶部と、記憶部に設けられたバックアップ領域へのデータのバックアップを制御する制御部とを有するストレージ装置が提供される。制御部は、バックアップ領域において、バックアップに使用可能な使用可能領域の先頭を示す使用可能領域開始ポインタと、使用可能領域の末尾を示す使用可能領域終了ポインタとを制御するポインタ制御部と、バックアップの制御に関するバックアップ指示を受信するバックアップ指示受信部と、バックアップ指示受信部が受信したバックアップ指示がバックアップの開始を指示するバックアップ開始指示の場合、バックアップ開始指示に基づいて使用可能領域開始ポインタが示す位置から使用可能領域をバックアップ対象のデータに割り当ててバックアップ処理を行うバックアップ処理部と、バックアップ指示受信部が受信したバックアップ指示がバックアップの終了を指示するバックアップ終了指示の場合、バックアップ終了指示に基づいて、バックアップ対象のデータに割り当てられた領域を開放する開放部と、開放部により開放した領域が、使用可能領域終了ポインタが示す位置に隣接するか否かを判断する判断部と、を有し、ポインタ制御部は、判断部による判断の結果、開放部により開放した領域が、使用可能領域終了ポインタが示す位置に隣接する場合、開放部により開放した領域の末尾に使用可能領域終了ポインタを移動させる。
【発明の効果】
【0009】
開示のストレージ装置、制御装置およびストレージ装置制御方法によれば、バックアップデータを記憶する領域の連続性の低下を抑止することが可能となる。
【図面の簡単な説明】
【0010】
【図1】第1の実施の形態のストレージ装置を示す図である。
【図2】第2の実施の形態のストレージ装置のハードウェア構成を示す図である。
【図3】第2の実施の形態のストレージ装置の機能を示すブロック図である。
【図4】第2の実施の形態のバックアップ領域を示す図である。
【図5】第2の実施の形態のバックアップ領域のボリュームを示す図である。
【図6】第2の実施の形態の使用可能領域ポインタテーブルを示す図である。
【図7】第2の実施の形態のバックアップ領域構成テーブルを示す図である。
【図8】第2の実施の形態のバックアップテーブルを示す図である。
【図9】第2の実施の形態の制御情報を示す図である。
【図10】第2の実施の形態のバックアップデータの書き込み時のバックアップ領域を示す図である。
【図11】第2の実施の形態のバックアップデータの書き込み時の動作を示す図である。
【図12】第2の実施の形態の使用可能領域終点に隣接しており、かつ、開放済領域とは隣接していないバックアップデータの開放時のバックアップ領域を示す図である。
【図13】第2の実施の形態の使用可能領域終点に隣接しており、かつ、開放済領域とは隣接していないバックアップデータの開放時の動作を示す図である。
【図14】第2の実施の形態の使用可能領域終点に隣接していないバックアップデータの開放時のバックアップ領域を示す図である。
【図15】第2の実施の形態の使用可能領域終点に隣接していないバックアップデータの開放時の動作を示す図である。
【図16】第2の実施の形態の使用可能領域終点に隣接しており、かつ、開放済領域と隣接しているバックアップデータの開放時のバックアップ領域を示す図である。
【図17】第2の実施の形態の使用可能領域終点に隣接しており、かつ、開放済領域と隣接しているバックアップデータの開放時の動作を示す図である。
【図18】第2の実施の形態のバックアップ領域における領域管理を示す図である。
【図19】第2の実施の形態のバックアップ領域のボリュームの増設を示す図である。
【図20】第2の実施の形態のバックアップ領域のボリュームの削除を示す図である。
【図21】第2の実施の形態のバックアップ処理を示すフローチャートである。
【図22】第2の実施の形態のバックアップデータ開放処理を示すフローチャートである。
【図23】第2の実施の形態のバックアップデータ開放処理を示すフローチャートである。
【図24】第2の実施の形態のボリューム増設処理を示すフローチャートである。
【図25】第2の実施の形態のボリューム削除処理を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、実施の形態を、図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態のストレージ装置を示す図である。本実施の形態のストレージ装置1は、制御部11、記憶部12を有する。制御部11は、バックアップ指示受信部11a、バックアップ処理部11b、開放部11c、判断部11d、ポインタ制御部11eを有する。記憶部12は、バックアップ領域12aを有する。
【0012】
なおバックアップ領域12aは、論理的にリング状の記憶領域として管理されている。バックアップ領域12aをリング状の記憶領域にした場合、バックアップ領域12aの最後のアドレスの記憶領域の次の記憶領域は、バックアップ領域12aの先頭のアドレスの記憶領域となる。例えば使用可能領域開始ポインタまたは使用可能領域終了ポインタをバックアップ領域12aの最後のアドレスの次に移動させる場合、使用可能領域開始ポインタまたは使用可能領域終了ポインタは、バックアップ領域12aの先頭のアドレスに移動される。これにより、バックアップ領域12aをサイクリックに繰り返し使用することができる。
【0013】
バックアップ指示受信部11aは、ホストコンピュータ等の上位装置からのバックアップの制御に関するバックアップ指示を受信する。これにより、元データのバックアップデータを記憶部12のバックアップ領域12aに書き込むバックアップ処理が開始される。
【0014】
バックアップ処理部11bは、バックアップ指示受信部11aが受信したバックアップ指示がバックアップの開始を指示するバックアップ開始指示の場合、バックアップ開始指示に基づいてバックアップ領域12aの使用可能領域開始ポインタが示す位置からバックアップの処理を行う。
【0015】
開放部11cは、バックアップ指示受信部11aが受信したバックアップ指示がバックアップの終了を指示するバックアップ終了指示の場合、バックアップ終了指示に基づいて、バックアップデータが書き込まれている、割り当てられたバックアップ領域12a上の記憶領域を開放する。
【0016】
判断部11dは、開放部11cにより開放したバックアップ領域12a上の記憶領域が、使用可能領域終了ポインタが示す位置に隣接するか否かを判断する。ここで「隣接する」とは、開放された記憶領域の先頭のアドレスが、使用可能領域終了ポインタが示す位置の次のアドレスであることを指す。
【0017】
ポインタ制御部11eは、バックアップ領域12aにおいて、バックアップに使用可能な使用可能領域の先頭を示す使用可能領域開始ポインタと、使用可能領域の末尾を示す使用可能領域終了ポインタとを制御する。ポインタ制御部11eは、判断部11dによる判断の結果、開放部11cにより開放したバックアップ領域12a上の記憶領域が、使用可能領域終了ポインタが示す位置に隣接する場合、使用可能領域終了ポインタを開放部11cにより開放したバックアップ領域12aの使用可能領域の末尾に移動させる。
【0018】
記憶部12は、バックアップデータを記憶するバックアップ領域12aを有する。記憶部12は、ハードディスクドライブ(HDD)、不揮発性半導体メモリやハードディスクドライブ以外の磁気記憶装置、光ディスク、その他のデータの記憶が可能な記憶媒体であってもよい。記憶部12は、記憶媒体の一部または全部の記憶領域である物理ボリュームであってもよく、1以上の物理ボリュームに設定された論理ボリュームであってもよい。記憶部12は、複数の記憶部によって設けられたディスクアレイであってもよい。
【0019】
以上のように、第1の実施の形態では、ポインタ制御部11eが、開放した記憶領域が使用可能領域終了ポインタが示す位置に隣接する場合、使用可能領域終了ポインタを開放した使用可能領域の末尾に移動させる。これにより、バックアップデータを記憶する領域の連続性の低下を抑止することが可能となる。
【0020】
[第2の実施の形態]
次に、図1に示したストレージ装置1の、バックアップ領域の連続性の低下を抑止する機能を、RAID(Redundant Arrays of Inexpensive Disks)を構成する記憶デバイス群を有するストレージ装置100に適用した実施の形態を、第2の実施の形態として説明する。
【0021】
図2は、第2の実施の形態のストレージ装置のハードウェア構成を示す図である。ストレージ装置100は、装置全体の制御を行うCM(Controller Module)110a,110b、記憶デバイス120a,120b,120c,120d、チャネルアダプタ130c,130d,130e,130f、デバイスインタフェース(DI:Device Interface)140a,140bを有する。
【0022】
ストレージ装置100は、後述するハードディスクドライブ等の複数の記憶デバイスに対するデータの入出力を行う。ストレージ装置100は、RAID0〜6等のRAID機能を有し、複数の記憶デバイスをまとめてRAIDを構成することにより、各RAIDをそれぞれ1台の記憶デバイスとして管理する。
【0023】
ホストコンピュータ300は、業務処理を実行するコンピュータであり、ファイバチャネル(Fibre Channel)で構成されたSAN(Storage Area Network)を介してストレージ装置100とデータ通信可能に接続されている。ホストコンピュータ300は、業務処理に使用するデータについて、ストレージ装置100への保存およびストレージ装置100からの読み出しを行う。
【0024】
CM110aは、CPU(Central Processing Unit)111a、キャッシュメモリ112aを有する。
CPU111aは、OS(Operating System:オペレーティングシステム)等に従って処理を実行し、各種制御を行う。また、CPU111aは、キャッシュメモリ112a、記憶デバイス120a〜120d、チャネルアダプタ130c〜130f、デバイスインタフェース140a,140b等の資源管理を行う。
【0025】
キャッシュメモリ112aは、CPU111aがストレージ装置100を制御するために必要な制御データを記憶する。また、キャッシュメモリ112aは、ホストコンピュータ300から送信され、記憶デバイス120a〜120dに記憶される書き込みデータおよびホストコンピュータ300から送信された読み出し要求に応じて記憶デバイス120a〜120dから読み出され、ホストコンピュータ300に送信される読み出しデータを一時的に記憶する。
【0026】
チャネルアダプタ130c,130dは、ホストコンピュータ300とCM110aとの接続制御を行う。チャネルアダプタ130e,130fは、ホストコンピュータ300とCM110bとの接続制御を行う。例えば、チャネルアダプタ130cは、ホストコンピュータ300からの要求を受け付けて、CM110aとの接続制御を行う。
【0027】
なお、チャネルアダプタ130c,130dとホストコンピュータ300との間の通信は、ファイバチャネルで構成されたSANによって接続されているが、ファイバチャネル以外の接続方式によって接続されていてもよい。また、チャネルアダプタ130c,130dとホストコンピュータ300との間の通信は、専用線やVPN(Virtual Private Network)を用いて、ストレージ装置100をホストコンピュータ300から遠隔地に設置するように構成してもよい。
【0028】
デバイスインタフェース140aは、CM110aと記憶デバイス120a〜120dとの接続制御を行う。デバイスインタフェース140bは、CM110bと記憶デバイス120a〜120dとの接続制御を行う。
【0029】
また、CM110a,110bは、バス150によって接続されている。このバス150を介して、CM110aおよびCM110bの間で、制御情報やデータが通信される。また、CM110a,110bは、制御装置として機能し、ストレージ装置100に対し着脱可能である。ここで、CM110bは、CPU111b、キャッシュメモリ112bを有し、CM110aと同一の構成であるため、説明を省略する。
【0030】
記憶デバイス120a〜120dは、RAIDを構成可能なハードディスクドライブであり、ホストコンピュータ300から送信されたユーザデータを記憶する。なお、ユーザデータは1個のハードディスクに記憶されている必要はなく、複数のハードディスクに渡って記憶されていてもよい。また、1個のハードディスクに複数のユーザデータが記憶されていてもよい。また、記憶デバイス120a〜120dは、例えば、SSD(Solid State Drive)等の不揮発性半導体メモリやハードディスクドライブ以外の磁気記憶装置、光ディスク、その他のデータの記憶が可能な記憶媒体を使用することができる。ハードディスクドライブ以外の磁気記憶装置には、磁気テープ等がある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)/RW(ReWritable)等がある。
【0031】
なお、図2において、CM110a,110bは、2個図示し、デバイスインタフェース140a,140bは、CM110a,110bそれぞれに対して1個ずつ、チャネルアダプタ130c〜130fは、CM110a,110bそれぞれに対して2個ずつ図示しているが、これらの数はそれぞれ任意である。
【0032】
また、図2において、ストレージ装置100に対して1つのホストコンピュータ300が接続されているが、ストレージ装置100に対して複数のホストコンピュータが接続されていてもよい。
【0033】
また、ストレージ装置100に対してCM110a,110bに従属して制御を受ける、制御部および記憶デバイスを有する増設用装置(図示省略)を接続してもよい。
以上のようなハードウェア構成によって、第2の実施の形態の処理機能を実現することができる。
【0034】
図3は、第2の実施の形態のストレージ装置の機能を示すブロック図である。第2の実施の形態のストレージ装置100は、制御部160、記憶デバイス120a〜120dを有する。制御部160は、バックアップ指示受信部161、バックアップ処理部162、開放部163、判断部164、ポインタ制御部165、追加割当制御部166、バックアップ領域管理部167、使用可能領域ポインタ情報記憶部171、バックアップ領域構成情報記憶部172、バックアップ情報記憶部173を有する。記憶デバイス120a〜120dは、バックアップ領域121を有する。なおバックアップ領域121は、リング状の論理的な記憶領域である。すなわちバックアップ領域121の最後のアドレスの次のアドレスは、バックアップ領域121の先頭のアドレスとなる。これによりバックアップ領域121は、サイクリックに繰り返し使用される。
【0035】
バックアップ指示受信部161は、ホストコンピュータ300からのバックアップの制御に関するバックアップ指示を受信する。これにより、元データのバックアップデータを記憶デバイス120a〜120dのバックアップ領域121に書き込むバックアップ処理が開始される。
【0036】
バックアップ指示は、例えば不定期に実行されるバックアップの指示である。不定期に実行されるバックアップには、例えばユーザがホストコンピュータ300を利用して行っている作業において、作業の対象となっているデータのバックアップがある。不定期に実行されるバックアップの場合、作業開始時にバックアップ処理が開始される。バックアップ処理中は、作業によって更新されたデータが随時バックアップされる。バックアップの対象となるデータは、例えばホストコンピュータ300内での作業用に記憶デバイス120a〜120dから読み出されたデータ(ファイルやフォルダ)である。ユーザの作業終了に伴って、バックアップ処理も終了する。
【0037】
バックアップ処理部162は、バックアップ指示受信部161が受信したバックアップ指示がバックアップの開始を指示するバックアップ開始指示の場合、バックアップ開始指示に基づいてバックアップ領域121の使用可能領域開始ポインタが示す位置からバックアップの処理を行う。例えばバックアップ開始指示において、記憶デバイス120a〜120d内のバックアップ領域121以外の記憶領域に記憶されたデータがバックアップ対象に指定される。バックアップ処理部162は、指定されたデータからバックアップデータを作成し、作成したバックアップデータをバックアップ領域121内のバックアップ使用可能領域に書き込む。また、バックアップデータが書き込まれたバックアップ使用可能領域は、バックアップデータ領域となる。なおバックアップ対象のデータから作成されるバックアップデータは、例えばバックアップ対象のデータのコピーである。またバックアップ対象のデータを圧縮して、バックアップデータとすることもできる。
【0038】
ここで、バックアップデータ領域は、バックアップデータ毎に設けられる。すなわち、複数のバックアップデータが存在すれば、それぞれのバックアップデータに対応してバックアップデータ領域が設定される。また、同一の元データの同一箇所について複数のバックアップデータが作成された場合にも、それぞれのバックアップデータに対してバックアップデータ領域が設定される。例えば、元データは同一だが、更新を行うユーザが複数存在する場合、ユーザ毎に異なるバックアップデータが生成されるとともにそれぞれに対応するバックアップデータ領域が設定される。また、各バックアップデータの使用が終了した場合、バックアップデータの更新が元データに反映された後にバックアップデータが削除されてバックアップデータ領域が開放され、または反映されずにバックアップデータが削除され、バックアップデータ領域が開放される。
【0039】
開放部163は、バックアップ指示受信部161が受信したバックアップ指示がバックアップの終了を指示するバックアップ終了指示の場合、バックアップ終了指示に基づいて割り当てられたバックアップ領域121上の記憶領域である、バックアップデータ領域を開放する。
【0040】
判断部164は、開放部163により開放したバックアップ領域121上の記憶領域が、使用可能領域終了ポインタが示す位置に隣接するか否かを判断する。また、判断部164は、使用可能領域終了ポインタの移動により、ポインタ制御部165によって当該領域の制御情報の状態フラグに開放済であることが設定されているバックアップ領域121の記憶領域が、使用可能領域終了ポインタが示す位置と隣接するか否かを判断する。
【0041】
ポインタ制御部165は、バックアップ領域121において、バックアップに使用可能なバックアップ使用可能領域の先頭を示す使用可能領域開始ポインタと、バックアップ使用可能領域の末尾を示す使用可能領域終了ポインタとを制御する。ポインタ制御部165は、判断部164による判断の結果、開放部163により開放したバックアップ領域121上の記憶領域が、使用可能領域終了ポインタが示す位置に隣接する場合、使用可能領域終了ポインタを開放部163により開放した記憶領域の末尾に移動させる。
【0042】
また、ポインタ制御部165は、判断部164による判断の結果、開放部163により開放したバックアップ領域121が、使用可能領域終了ポインタが示す位置に隣接しない場合、使用可能領域終了ポインタを移動せずに、開放部163により開放したバックアップ領域121が開放済の開放済領域であることを、当該領域の制御情報の状態フラグに設定する。
【0043】
また、ポインタ制御部165は、判断部164による判断の結果、使用可能領域終了ポインタの移動により、開放済領域が、使用可能領域終了ポインタが示す位置と隣接する場合、使用可能領域終了ポインタを開放済領域の末尾に移動させる。
【0044】
追加割当制御部166は、バックアップ領域121の記憶容量が減少した場合には、バックアップ領域121に追加のボリュームを割り当て、バックアップ領域121の記憶容量を増加する。このとき、追加割当制御部166は、追加のボリュームによってバックアップ領域121に追加される記憶領域を、使用可能領域開始ポインタが示す位置と使用可能領域終了ポインタが示す位置との間のバックアップ使用可能領域に割り当てる。
【0045】
また、追加割当制御部166は、バックアップ領域121の使用率が所定の比率以下になった場合、全記憶領域がバックアップ使用可能領域に含まれているボリュームをバックアップ領域121から削除する。ここでバックアップ領域121の使用率とは、バックアップ領域121全体に対する、バックアップデータが格納された領域の割合である。これにより、バックアップ領域121に余裕が生じた場合、バックアップ領域121のボリュームを減少させて、待機等の他の用途に転用することができる。
【0046】
バックアップ領域管理部167は、詳しくは図7において説明するが、バックアップ領域121が設定されているボリュームを識別する識別情報であるボリューム情報を含むバックアップ領域構成情報記憶部172に記憶されているバックアップ領域構成情報と、ボリュームの記憶領域に割り当てられたアドレスに基づいてバックアップ領域121を管理する。
【0047】
使用可能領域ポインタ情報記憶部171は、使用可能領域開始ポインタおよび使用可能領域終了ポインタのアドレスを示す使用可能領域ポインタ情報を記憶する。
バックアップ領域構成情報記憶部172は、記憶デバイス120a〜120dに設定されているボリュームのうち、バックアップ領域121を構成するボリュームを示すバックアップ領域構成情報を記憶する。
【0048】
バックアップ情報記憶部173は、バックアップ領域121に記憶されているバックアップデータに関する情報であり、バックアップデータのファイル名、元データの記憶位置やバックアップデータの記憶位置、バックアップされた日時等を示すバックアップデータ情報を記憶する。
【0049】
記憶デバイス120a〜120dは、RAIDを構成するハードディスクドライブ等の記憶デバイスであり、ホストコンピュータ300から送信されたデータやホストコンピュータ300に送信するデータを記憶する。記憶デバイス120a〜120dは、バックアップデータを記憶するバックアップ領域121を有する。バックアップ領域121は、記憶デバイス120a〜120dが有する1または複数のボリュームに設定されている。記憶デバイス120a〜120dは、不揮発性半導体メモリやハードディスクドライブ以外の磁気記憶装置、光ディスク、その他のデータの記憶が可能な記憶媒体であってもよい。記憶デバイス120a〜120dが有するボリュームは、第2の実施の形態では、記憶媒体の一部または全部の記憶領域である物理ボリュームである。しかし、これに限らず、1以上の物理ボリュームに設定された論理ボリュームであってもよい。記憶デバイス120a〜120dが有するボリュームは、記憶部として機能する。
【0050】
図4は、第2の実施の形態のバックアップ領域を示す図である。第2の実施の形態のストレージ装置100は、バックアップ領域121は記憶デバイス120a〜120dが有するボリューム121a1(ボリューム#11)、ボリューム121a2(ボリューム#12)、ボリューム121a3(ボリューム#13)に設定されている。ボリューム121a1〜121a3は、記憶デバイス120a〜120dにおいてパーティション単位で区分された記憶領域である物理ボリュームである。なお、これに限らず、ボリューム121a1〜121a3は、複数の物理ボリュームを仮想的に1つのボリュームとして結合した論理ボリュームであってもよい。バックアップ領域121を物理ボリューム単位で構成した場合、物理ボリューム内では物理アドレスも連続するため、記憶領域の連続性をさらに高めることができる。バックアップ領域121を論理ボリューム単位で構成した場合、各ボリュームの設定の自由度が高まり、記憶デバイスの記憶領域の利用効率を高めることができる。
【0051】
バックアップ領域121では、図4に示すように、ボリューム121a1〜121a3におけるアドレスが時計回りの回転方向に設定されている。バックアップ領域121は、バックアップ使用可能領域1210a、バックアップデータ領域1210bを有する。バックアップ領域121の点線Aと点線Bとの間の部分は、ボリューム121a1の記憶領域である。バックアップ領域121の点線Bと点線Cとの間の部分は、ボリューム121a2の記憶領域である。バックアップ領域121の点線Cと点線Aとの間の部分は、ボリューム121a3の記憶領域である。
【0052】
バックアップ使用可能領域1210aは、バックアップデータを記憶可能な空き領域であり、1または複数のボリューム(例えば、ボリューム121a1〜121a3)の記憶領域上に設定される。バックアップ使用可能領域1210aは、管理上は1つの連続した領域である。バックアップ使用可能領域1210aは、バックアップ使用可能領域の開始位置である使用可能領域始点のアドレスを示す使用可能領域開始ポインタと、バックアップ使用可能領域の終了位置である使用可能領域終点のアドレスを示す使用可能領域終了ポインタとによって管理される。すなわち、使用可能領域開始ポインタと使用可能領域終了ポインタとの間がバックアップ使用可能領域1210aとなる。使用可能領域開始ポインタおよび使用可能領域終了ポインタは、後述するように、各ポインタを含むボリュームおよび上記ボリュームにおけるアドレスを示す。
【0053】
図5は、第2の実施の形態のバックアップ領域のボリュームを示す図である。第2の実施の形態のストレージ装置100は、ボリューム121a1(ボリューム#11)、ボリューム121a2(ボリューム#12)、ボリューム121a3(ボリューム#13)に設定されたバックアップ領域121を、ボリュームおよび上記ボリュームにおけるアドレスを用いて管理する。具体的には、図5に示すように、バックアップ領域121にバックアップデータ領域1210c,1210e、バックアップ使用可能領域1210dが設定されているものとする。また、バックアップデータ領域1210c,1210eは、図5では上下に分離しているが、バックアップ領域121は循環しており、バックアップデータ領域1210c,1210eは、連続しているものとする。
【0054】
ここで、使用可能領域始点の値がボリューム121a2(ボリューム#12)のアドレス:0x2000000000であるものとする。この場合、ボリューム121a2における使用可能領域始点以降のアドレスの記憶領域121a22は、バックアップ使用可能領域1210dの一部となる。また、ボリューム121a2における使用可能領域始点以前のアドレスの記憶領域121a21は、バックアップ使用可能領域1210d以外の領域(バックアップデータ領域または開放済領域、例えば、バックアップデータ領域1210cの一部)となる。
【0055】
また、使用可能領域終点の値がボリューム121a3(ボリューム#13)のアドレス:0x1000000000であるものとする。この場合、ボリューム121a3における使用可能領域終点以前のアドレスの記憶領域121a31は、バックアップ使用可能領域1210dの一部となる。また、ボリューム121a2における使用可能領域始点以降のアドレスの記憶領域121a32は、バックアップ使用可能領域1210d以外の領域(バックアップデータ領域または開放済領域、例えば、バックアップデータ領域1210e)となる。
【0056】
図6は、第2の実施の形態の使用可能領域ポインタテーブルを示す図である。図6に示す使用可能領域ポインタテーブル171aは、第2の実施の形態のストレージ装置100が有する使用可能領域ポインタ情報記憶部171に記憶される。使用可能領域ポインタテーブル171aは、バックアップ使用可能領域の開始位置を示す使用可能領域開始ポインタおよび終了位置を示す使用可能領域終了ポインタを記憶するテーブルである。
【0057】
使用可能領域ポインタテーブル171aには、項目として“使用可能領域開始ポインタ”、“使用可能領域終了ポインタ”が設けられている。
使用可能領域開始ポインタは、ストレージ装置100の記憶デバイス120a〜120dに設定されたバックアップ領域121における、バックアップ使用可能領域の開始位置を含むボリュームおよび先頭アドレスを示すポインタである。ストレージ装置100は、データのバックアップを行う場合、使用可能領域開始ポインタで示されているアドレスを先頭アドレスとして、バックアップ使用可能領域にバックアップデータを書き込む。ストレージ装置100は、バックアップデータのバックアップ使用可能領域への書き込みが終了すると、使用可能領域開始ポインタのアドレスをバックアップデータが書き込まれたバックアップデータ領域の末尾に移動する。これにより、バックアップ使用可能領域の開始位置が移動して、次にバックアップデータの書き込みが行われる際、移動後のバックアップ使用可能領域ポインタで示されたアドレスを先頭アドレスとして、バックアップデータの書き込みが行われる。
【0058】
使用可能領域終了ポインタは、ストレージ装置100の記憶デバイス120a〜120dに設定されたバックアップ領域121における、使用可能領域の終了位置を含むボリュームおよび末尾アドレスを示すポインタである。ストレージ装置100において、バックアップデータが不要になり、バックアップデータが書き込まれているバックアップデータ領域の開放を行うものとする。この場合、ストレージ装置100は、開放される領域がバックアップ使用可能領域の末尾に隣接しており、かつ、他の開放済領域とは隣接していないときには(図12および図13で後述)使用可能領域終了ポインタで示されているアドレスを、開放の対象のバックアップデータ領域の末尾アドレスに移動する。これにより、バックアップ使用可能領域の終了位置が移動して、バックアップ使用可能領域の記憶容量が増加する。また、開放後のバックアップ使用可能領域の連続性も維持される。
【0059】
図7は、第2の実施の形態のバックアップ領域構成テーブルを示す図である。図7に示すバックアップ領域構成テーブル172aは、第2の実施の形態のストレージ装置100が有するバックアップ領域構成情報記憶部172に記憶される。バックアップ領域構成テーブル172aは、記憶デバイス120a〜120dに設定されているボリュームのうち、バックアップ領域121を構成するボリュームを示すバックアップ構成情報を記憶するテーブルである。
【0060】
バックアップ領域構成テーブル172aには、項目として“構成番号”、“ボリューム情報”が設けられている。
構成番号は、バックアップ領域を構成するボリュームの並び順を示す番号である。ストレージ装置100は、構成番号を各ボリュームに対して、例えば昇順に設定してもよい。バックアップ領域を構成するボリュームの記憶領域は、仮想的に、ボリュームの構成番号で示された順に連続しているものとして使用される。図7では、例えば、バックアップデータの書き込みの途中にボリューム#11の記憶領域の末尾までバックアップデータが書き込まれた場合、続いてボリューム#12の先頭の記憶領域からバックアップデータが書き込まれる。バックアップデータを削除するバックアップデータ領域の開放時ならびに使用可能領域開始ポインタおよび使用可能領域終了ポインタの移動時も同様に、構成番号に基づいて各ボリュームの記憶領域が仮想的に連続しているものとして動作する。
【0061】
ボリューム情報は、記憶デバイス120a〜120dに設定されているボリュームを特定可能な情報である。
図8は、第2の実施の形態のバックアップテーブルを示す図である。図8に示すバックアップテーブル173aは、第2の実施の形態のストレージ装置100が有するバックアップ情報記憶部173に記憶される。バックアップテーブル173aは、バックアップ領域121に記憶されているバックアップデータに関するバックアップ情報を記憶するテーブルである。
【0062】
バックアップテーブル173aには、項目として“ファイル名”、“コピー元情報”、“コピー先情報”、“日時”が設けられている。
ファイル名は、バックアップデータのファイル名を特定する識別情報である。ファイル名は、バックアップデータによるバックアップ対象の元データのファイル名を使用してもよい。
【0063】
コピー元情報は、バックアップデータの元データが記憶されているボリュームおよび記憶されている記憶領域の先頭アドレスを示す情報である。コピー元情報により、元データの記憶位置が示される。
【0064】
コピー先情報は、バックアップデータが記憶されているボリュームおよび記憶されている記憶領域の先頭アドレスを示す情報である。コピー先情報により、バックアップデータの記憶位置が示される。
【0065】
バックアップデータはバックアップ領域に記憶されているが、バックアップ領域は独自のアドレスを有さず、コピー先情報は、各ボリュームおよびボリュームのアドレスを用いて示される。
【0066】
日時は、バックアップが行われた日時を示す。バックアップデータは、例えば、ユーザがデータの一部または全部の更新を伴う作業を行う等、一時的に使用される場合、先に記憶されたバックアップデータが先に削除される(FIFO:First In, First Out)傾向がある。このため、第2の実施の形態のストレージ装置100では、FIFOに従ってバックアップデータが作成および削除されていく場合、バックアップ領域を循環的に使用することで、連続性の低下を抑止することができる。
【0067】
図9は、第2の実施の形態の制御情報を示す図である。図9に示す制御情報121dは、第2の実施の形態のストレージ装置100が有するバックアップ領域121に設定されたバックアップデータ領域、バックアップ使用可能領域、開放済領域のそれぞれの先頭のブロックに記憶される。制御情報121dは、バックアップ領域上に設定された各領域の状態を示す情報である。
【0068】
制御情報には、“状態フラグ”、“ネクストアドレス”、“バックアップサイズ”が、区分された各領域に対応して設定される。
状態フラグは、バックアップ領域121上における領域の状態を示すフラグである。例えば、領域が、1つの連続した空き領域であってバックアップデータを記憶可能なバックアップ使用可能領域であれば、状態フラグに“0”が設定される。領域が、バックアップデータの削除により開放された空き領域であるがバックアップ使用可能領域と連続していない開放済領域であれば、状態フラグに“1”が設定される。領域が、バックアップデータが記憶されているバックアップデータ領域であれば、状態フラグに“2”が設定される。
【0069】
ネクストアドレスは、制御情報に対応する領域がバックアップデータ領域(状態フラグが“2”)または開放済領域(状態フラグが“1”)であって、制御情報に対応する領域の次の領域がバックアップデータ領域またはバックアップ使用可能領域である場合に、上記次の領域の開始位置を含むボリュームおよび先頭アドレスを示す情報である。また、ネクストアドレスは、制御情報が示す領域がバックアップ使用可能領域(状態フラグが“0”)であれば、“0”が設定される。
【0070】
サイズは、制御情報に対応する領域がバックアップデータ領域または開放済領域であって、制御情報が示す領域がバックアップデータ領域(状態フラグが“2”)であれば、バックアップデータ領域に記憶されているデータのサイズが設定される。また、サイズは、制御情報が示す領域がバックアップ使用可能領域であれば、“0”が設定される。
【0071】
図10は、第2の実施の形態のバックアップデータの書き込み時のバックアップ領域を示す図である。図11は、第2の実施の形態のバックアップデータの書き込み時の動作を示す図である。図10および図11に従って、第2の実施の形態のストレージ装置100のバックアップ領域121に対するバックアップデータの書き込み時の動作を説明する。
【0072】
図10に示すように、バックアップ領域121に、バックアップデータ領域1211a、バックアップ使用可能領域1211cが設定されている場合に、バックアップ使用可能領域1211cの使用可能領域始点から新規バックアップデータ1211bが書き込まれたものとする。これにより、使用可能領域始点が後方(図10における時計回りの回転方向、アドレスの値が増加する方向)に移動し、バックアップ使用可能領域1211cは減少し、バックアップ使用可能領域1211cとなる。また、使用可能領域終点の位置は、変化しない。また、新規バックアップデータ1211bが書き込まれた領域は、バックアップデータ領域1211aの直後に隣接するバックアップデータ領域となる。
【0073】
図11に示すように、バックアップ領域121に、バックアップデータ領域、バックアップ使用可能領域が設定されている場合に、バックアップ使用可能領域1211cの使用可能領域始点から新規バックアップデータ1211bが書き込まれたとき、使用可能領域始点が、新規バックアップデータ1211bのサイズの分、アドレスの値が増加する方向(図11における右方向)に移動する。このため、書き込み前のバックアップ使用可能領域の開始位置に対応する使用可能領域開始ポインタ151a1aは、書き込み後のバックアップ使用可能領域1211cの開始位置に対応する使用可能領域開始ポインタ151a1bに更新される。また、新規バックアップデータ1211bの書き込みにより、新規バックアップデータ1211bが書き込まれた領域の先頭のブロック1211b1に、制御情報121d1が書き込まれる。制御情報121d1には、状態フラグに、新規バックアップデータ1211bが書き込まれ、バックアップデータ領域であることを示す値(例えば、“2”)が設定される。また、ネクストアドレスに、バックアップ使用可能領域1211cの先頭のアドレス(使用可能領域開始ポインタ151a1bの値)が設定される。また、サイズに、新規バックアップデータ1211bのサイズが設定される。サイズには、ブロック1211b1のサイズを含んでもよい。また、バックアップ使用可能領域1211cの先頭のブロック1211c1の制御情報121d2の各値は変更されない。具体的には、状態フラグにバックアップデータ領域であることを示す値(例えば、“0”)が設定されている。ネクストアドレスおよびサイズには、バックアップ使用可能領域に対応する値(例えば、“0”)が設定されている。また、バックアップ情報記憶部173に記憶されているバックアップ情報に、新規バックアップデータ1211bのバックアップ情報が設定される。
【0074】
図12は、第2の実施の形態の使用可能領域終点に隣接しており、かつ、開放済領域とは隣接していないバックアップデータの開放時のバックアップ領域を示す図である。図13は、第2の実施の形態の使用可能領域終点に隣接しており、かつ、開放済領域とは隣接していないバックアップデータの開放時の動作を示す図である。図12および図13に従って、第2の実施の形態のストレージ装置100の使用可能領域終点に隣接しており、かつ、開放済領域とは隣接していないバックアップデータの開放時の動作を説明する。
【0075】
図12に示すように、バックアップ領域121に、バックアップ使用可能領域、バックアップデータ領域が設定されている場合に、バックアップ使用可能領域1212aの使用可能領域終点の直前のバックアップデータの削除により領域が開放され、開放データ1212bが生じたものとする。これにより、使用可能領域終点が後方に移動し、開放データ1212bの領域がバックアップ使用可能領域となり、バックアップ使用可能領域は増加する。また、使用可能領域始点の位置は、変化しない。また、バックアップデータ領域は開放データ1212bの分減少し、バックアップデータ領域1212cとなる。
【0076】
図13に示すように、バックアップ領域121に、バックアップ使用可能領域、バックアップデータ領域が設定されている場合に、バックアップ使用可能領域1212aの使用可能領域終点の直前のバックアップデータの削除により領域が開放され、開放データ1212bが生じたとき、使用可能領域終点が、開放データ1212bのサイズの分、アドレスの値が増加する方向に移動する。このため、開放前のバックアップ使用可能領域1212aの終了位置に対応する使用可能領域終了ポインタ151a2aは、開放後のバックアップ使用可能領域の終了位置に対応する使用可能領域終了ポインタ151a2bに更新される。また、開放データ1212bの領域の開放により、開放データ1212bが開放された領域の先頭のブロック1212b1の制御情報121d31が更新され、制御情報121d32となる。制御情報121d32には、状態フラグにバックアップデータ領域であることを示す値(例えば、“0”)が設定される。ネクストアドレスおよびサイズには、バックアップ使用可能領域に対応する値(例えば、“0”)が設定される。また、バックアップデータ領域1212cの先頭のブロック1212c1の制御情報121d4の各値は変更されない。具体的には、制御情報121d4には、状態フラグに、バックアップデータ領域であることを示す値が設定されている。また、ネクストアドレスに、次に隣接する領域の先頭のアドレスが設定される。また、サイズに、バックアップデータ領域1212cのサイズが設定される。また、バックアップ情報記憶部173に記憶されているバックアップ情報に、開放データ1212bに対応する削除されたバックアップデータのバックアップ情報が削除される。
【0077】
図14は、第2の実施の形態の使用可能領域終点に隣接していないバックアップデータの開放時のバックアップ領域を示す図である。図15は、第2の実施の形態の使用可能領域終点に隣接していないバックアップデータの開放時の動作を示す図である。図14および図15に従って、第2の実施の形態のストレージ装置100の使用可能領域終点に隣接していないバックアップデータの開放時の動作を説明する。
【0078】
図14に示すように、バックアップ領域121に、バックアップ使用可能領域、バックアップデータ領域が設定されている場合に、バックアップデータ領域の途中のバックアップデータの削除により領域が開放され、開放データ1213cが生じるとともに、バックアップデータ領域1213b,1213dに分離したものとする。バックアップ使用可能領域1213aは、変化しない。また、使用可能領域始点および使用可能領域終点の位置は、変化しない。
【0079】
図15に示すように、バックアップ領域121に、バックアップ使用可能領域、バックアップデータ領域が設定されている場合に、バックアップデータ領域の途中のバックアップデータの削除により領域が開放され、開放データ1213cが生じるとともに、バックアップデータ領域1213b,1213dに分離したとき、使用可能領域終点の位置は変化しない。このため、開放前のバックアップ使用可能領域1213aの終了位置に対応する使用可能領域終了ポインタ151a2cの値は、開放後も変化しない。また、開放データ1213cの領域が開放されても、開放データ1213cの領域がバックアップ使用可能領域1213aと隣接していないので、開放データ1213cが開放された領域は、開放済領域となる。これにより、開放データ1213cが開放された領域の先頭のブロック1213c1の制御情報121d5の各値は変更されない。具体的には、制御情報121d5には、状態フラグに、開放済領域であることを示す値が設定されている。また、ネクストアドレスに、次に隣接する領域の先頭のアドレスが設定される。また、サイズに、開放データ1213cが開放された開放済領域のサイズが設定される。また、バックアップ情報記憶部173に記憶されているバックアップ情報に、開放データ1213cに対応する削除されたバックアップデータのバックアップ情報が削除される。
【0080】
図16は、第2の実施の形態の使用可能領域終点に隣接しており、かつ、開放済領域と隣接しているバックアップデータの開放時のバックアップ領域を示す図である。図17は、第2の実施の形態の使用可能領域終点に隣接しており、かつ、開放済領域と隣接しているバックアップデータの開放時の動作を示す図である。図16および図17に従って、第2の実施の形態のストレージ装置100の使用可能領域終点に隣接しており、かつ、開放済領域と隣接しているバックアップデータの開放時の動作を説明する。
【0081】
図16に示すように、バックアップ領域121に、バックアップ使用可能領域、2つのバックアップデータ領域、2つのバックアップデータの間に開放済領域が設定されていた場合に、開放済領域1214cとバックアップ使用可能領域1214aとの間のバックアップデータ領域が開放され、開放データ1214bが生じたものとする。これにより、使用可能領域終点が後方に移動し、開放済領域1214c、開放データ1214bの領域がバックアップ使用可能領域となり、バックアップ使用可能領域は増加する。また、使用可能領域始点の位置は、変化しない。また、バックアップデータ領域は開放データ1214bの分減少し、バックアップデータ領域1214dのみとなる。
【0082】
図17に示すように、バックアップ領域121に、バックアップ使用可能領域、2つのバックアップデータ領域、2つのバックアップデータの間に開放済領域が設定されていた場合に、開放済領域1214cとバックアップ使用可能領域1214aとの間のバックアップデータ領域が開放され、開放データ1214bが生じたとき、使用可能領域終点が、開放データ1214bおよび開放済領域1214cのサイズの分、アドレスの値が増加する方向に移動する。このため、開放前のバックアップ使用可能領域1214aの終了位置に対応する使用可能領域終了ポインタ151a2cは、開放済領域1214cの先頭のブロック1214c1の制御情報121d71のネクストアドレスが参照され、開放後のバックアップ使用可能領域の終了位置(参照されたネクストアドレスの1つ前のアドレス)に対応する使用可能領域終了ポインタ151a2dに更新される。また、開放データ1214bの領域の開放により、開放データ1214bが開放された領域の先頭のブロック1214b1の制御情報121d61が更新され、制御情報121d62となる。制御情報121d62には、状態フラグにバックアップデータ領域であることを示す値が設定される。ネクストアドレスおよびサイズには、バックアップ使用可能領域に対応する値が設定される。また、開放データ1214bの領域の開放により、開放済領域1214cがバックアップ使用可能領域となるため、開放済領域1214cの先頭のブロック1214c1の制御情報121d71が更新され、制御情報121d72となる。制御情報121d72には、状態フラグにバックアップデータ領域であることを示す値が設定される。ネクストアドレスおよびサイズには、バックアップ使用可能領域に対応する値が設定される。また、バックアップ情報記憶部173に記憶されているバックアップ情報に、開放データ1214bに対応する削除されたバックアップデータのバックアップ情報が削除される。
【0083】
図18は、第2の実施の形態のバックアップ領域における領域管理を示す図である。図18に示す第2の実施の形態のバックアップ領域121には、バックアップ使用可能領域1215a、バックアップデータ領域1215b,1215d,1215f,1215h、開放済領域1215c,1215e,1215gが設定されている。
【0084】
第2の実施の形態のストレージ装置100では、バックアップ領域121におけるバックアップデータの書き込み可能量は、バックアップ使用可能領域1215aの記憶容量となる。バックアップ使用可能領域1215aの記憶容量は、使用可能領域始点のボリュームおよびアドレスと使用可能領域終点のボリュームおよびアドレスとの差によって管理される。
【0085】
第2の実施の形態のストレージ装置100では、バックアップ使用可能領域1215aを1つの連続した記憶領域として使用し、バックアップ使用可能領域1215aと不連続な空き領域である開放済領域1215c,1215e,1215gを、バックアップデータの書き込みに使用しない。バックアップ対象の元データのサイズが、バックアップ使用可能領域1215aの記憶容量よりも大きい場合、バックアップデータをバックアップ領域121に書き込むことができない。
【0086】
ここで、バックアップ領域121に書き込まれた各バックアップデータが、FIFOで書き込みおよび削除されていれば、開放済領域の発生は抑制され、バックアップ使用可能領域1215aの記憶容量の低下が抑制される。また、ストレージ装置100は、バックアップ領域121が所定の比率以下に減少したことを検出した場合等、バックアップ使用可能領域1215aの記憶容量が低下した場合に、自動的または管理者に通知し、バックアップ領域121にボリュームを増設することができる。また、ストレージ装置100は、バックアップ領域121が所定の比率以上に増加したことを検出した場合等、バックアップ使用可能領域1215aの記憶容量が増大した場合に、自動的または管理者に通知し、バックアップ領域121からボリュームを削除することができる。
【0087】
図19は、第2の実施の形態のバックアップ領域のボリュームの増設を示す図である。第2の実施の形態のストレージ装置100は、上記のように、ボリューム121a1(ボリューム#11)、ボリューム121a2(ボリューム#12)、ボリューム121a3(ボリューム#13)に設定されたバックアップ領域121を、ボリュームおよび上記ボリュームにおけるアドレスを用いて管理する。具体的には、図19に示すように、バックアップ領域121にバックアップデータ領域1216a,1216c、バックアップ使用可能領域1216bが設定されているものとする。また、バックアップデータ領域1216a,1216cは、図19では上下に分離しているが、バックアップ領域121は循環しており、バックアップデータ領域1216a,1216cは、連続しているものとする。
【0088】
また、使用可能領域始点の値がボリューム121a2(ボリューム#12)のアドレス:0x2000000000であるものとする。また、ボリューム121a2における使用可能領域始点以降のアドレスの記憶領域121a22は、バックアップ使用可能領域1216bの一部である。また、ボリューム121a2における使用可能領域始点以前のアドレスの記憶領域121a21は、バックアップデータ領域1216aの一部である。また、使用可能領域終点の値がボリューム121a3(ボリューム#13)のアドレス:0x1000000000であるものとする。また、ボリューム121a3における使用可能領域終点以前のアドレスの記憶領域121a31は、バックアップ使用可能領域1216bの一部である。また、ボリューム121a2における使用可能領域始点以降のアドレスの記憶領域121a32は、バックアップデータ領域1216cである。また、ボリューム121a1(ボリューム#11)は、バックアップデータ領域1216aの一部である。
【0089】
ここで、バックアップ領域121に、ボリューム121a4(ボリューム#14)が、使用可能領域始点と使用可能領域終点との間に増設されるものとする。これにより、ボリューム121a4のすべての記憶領域が、増設領域1216b1としてバックアップ使用可能領域1216bの一部となりバックアップ使用可能領域1216bの記憶容量が増加する。
【0090】
図20は、第2の実施の形態のバックアップ領域のボリュームの削除を示す図である。第2の実施の形態のストレージ装置100は、上記のように、ボリューム121a1(ボリューム#11)、ボリューム121a2(ボリューム#12)、ボリューム121a3(ボリューム#13)、ボリューム121a4(ボリューム#14)に設定されたバックアップ領域121を、ボリュームおよび上記ボリュームにおけるアドレスを用いて管理する。具体的には、図20に示すように、バックアップ領域121にバックアップデータ領域1217a,1217c、バックアップ使用可能領域1217bが設定されているものとする。また、バックアップデータ領域1217a,1217cは、図20では上下に分離しているが、バックアップ領域121は循環しており、バックアップデータ領域1217a,1217cは、連続しているものとする。
【0091】
また、使用可能領域始点の値がボリューム121a2(ボリューム#12)のアドレス:0x2000000000であるものとする。また、ボリューム121a2における使用可能領域始点以降のアドレスの記憶領域121a22は、バックアップ使用可能領域1217bの一部である。また、ボリューム121a2における使用可能領域始点以前のアドレスの記憶領域121a21は、バックアップデータ領域1217aの一部である。また、使用可能領域終点の値がボリューム121a3(ボリューム#13)のアドレス:0x1000000000であるものとする。また、ボリューム121a3における使用可能領域終点以前のアドレスの記憶領域121a31は、バックアップ使用可能領域1217bの一部である。また、ボリューム121a2における使用可能領域始点以降のアドレスの記憶領域121a32は、バックアップデータ領域1217cである。また、ボリューム121a1(ボリューム#11)は、バックアップデータ領域1217aの一部である。また、使用可能領域始点のボリュームから使用可能領域終点のボリュームまでの間のボリューム121a4(ボリューム#14)は、バックアップデータ領域1217aの一部である。
【0092】
ここで、バックアップ領域121の記憶容量に余裕があり、ボリュームを減少させるものとする。この場合、ストレージ装置100は、バックアップ領域構成情報記憶部172に記憶されているバックアップ領域構成テーブル172aに基づき、使用可能領域始点のボリュームから使用可能領域終点のボリュームまでの間のボリュームのうち、最も使用可能領域終点に近いボリュームを、バックアップ使用可能領域1217bから削除する。図20では、使用可能領域始点のボリューム121a2から使用可能領域終点のボリューム121a3までの間のボリュームがボリューム121a4のみであるため、ボリューム121a4が、バックアップ使用可能領域1217bから削除される。これにより、ボリューム121a4の記憶領域である増設領域1217b1がバックアップ使用可能領域1217bから削除され、バックアップ使用可能領域1217bの記憶容量が減少する。
【0093】
図21は、第2の実施の形態のバックアップ処理を示すフローチャートである。第2の実施の形態のストレージ装置100は、ホストコンピュータ300が記憶デバイス120a〜120dに記憶されているデータについて更新を伴って使用する場合等に、記憶デバイス120a〜120dに記憶されているデータのバックアップを行う。このとき、ストレージ装置100は、バックアップ対象の元データをコピーしたバックアップデータをバックアップ領域121に書き込むバックアップ処理を実行する。以下では、図21に示すバックアップ処理をフローチャートのステップ番号に沿って説明する。
【0094】
[ステップS11]ポインタ制御部165は、使用可能領域ポインタ情報記憶部171を参照して、使用可能領域開始ポインタの値を取得する。
[ステップS12]ポインタ制御部165は、ステップS11で取得した使用可能領域開始ポインタの値に、バックアップ領域121に書き込むバックアップデータのデータサイズを加算し、加算した値を使用可能領域ポインタ情報記憶部171の使用可能領域ポインタに設定する。これにより、使用可能領域開始ポインタの値が、バックアップデータの書き込み後の開始位置を示すように変更される。
【0095】
[ステップS13]ポインタ制御部165は、バックアップデータのバックアップ領域121への書き込みにより新たに設定されるバックアップデータ領域について、制御情報を生成する。新たに設定されるバックアップデータ領域は、バックアップ使用可能領域の先頭部分であり、上記バックアップデータが書き込まれることで、新たにバックアップデータ領域となる領域である。
【0096】
[ステップS14]ポインタ制御部165は、バックアップデータのバックアップ領域121への書き込みによる変更後のバックアップ使用可能領域について、制御情報を生成する。変更後のバックアップ使用可能領域は、バックアップ使用可能領域のうちのバックアップデータが書き込まれる上記バックアップデータ領域以外の部分であり、上記バックアップデータの書き込みの後もバックアップ使用可能領域のまま維持される領域である。
【0097】
[ステップS15]バックアップ処理部162は、新たなバックアップデータ領域に書き込まれるバックアップデータのバックアップ情報を生成し、バックアップ情報記憶部173に記憶させる。
【0098】
[ステップS16]バックアップ処理部162は、バックアップデータを新たなバックアップデータ領域に書き込む。このとき、バックアップ処理部162は、新たなバックアップデータ領域の先頭のブロックに、ステップS13で生成した制御情報を書き込む。これにより、新たなバックアップデータ領域に、制御情報が設定される。また、バックアップ処理部162は、バックアップデータを書き込んだ後、続けてステップS14で生成した制御情報を次のブロックに書き込む。これにより、変更後のバックアップ使用可能領域に制御情報が設定される。その後、処理は終了する。
【0099】
図22および図23は、第2の実施の形態のバックアップデータ開放処理を示すフローチャートである。第2の実施の形態のストレージ装置100は、ホストコンピュータ300が記憶デバイス120a〜120dに記憶されているデータについての更新を伴う使用を終了した場合等に、バックアップ領域121に書き込まれたバックアップデータの削除を行う。このとき、ストレージ装置100は、バックアップ領域121においてバックアップデータが書き込まれたバックアップデータ領域を開放するバックアップデータ開放処理を実行する。以下では、図22および図23に示すバックアップデータ開放処理をフローチャートのステップ番号に沿って説明する。
【0100】
[ステップS21]開放部163は、バックアップ情報記憶部173に記憶されているバックアップ情報を参照して、開放の対象のバックアップデータのバックアップ情報を検出する。このとき、開放部163は、バックアップデータのファイル名により、開放の対象のバックアップデータを検出してもよい。
【0101】
[ステップS22]開放部163は、ステップS21で検出した開放の対象のバックアップデータのバックアップ情報を削除する。
[ステップS23]ポインタ制御部165は、開放の対象のバックアップデータ領域の制御情報を生成する。開放部163は、ポインタ制御部165が生成した制御情報を開放の対象のバックアップデータ領域の先頭のブロックに設定する。これにより、開放の対象のバックアップデータ領域の制御情報が更新される。
【0102】
[ステップS24]ポインタ制御部165は、使用可能領域ポインタ情報記憶部171を参照して、使用可能領域終了ポインタの値を取得する。
[ステップS25]判断部164は、開放の対象のバックアップデータの先頭のアドレスの1つ前のアドレスが、使用可能領域終了ポインタの値と一致するか否かを判定する。一致すれば(ステップS25 YES)、処理はステップS31(図23)に進められる。一方、一致しなければ(ステップS25 NO)、処理は終了する。
【0103】
[ステップS31]ポインタ制御部165は、ステップS24で取得した使用可能領域終了ポインタの値を、開放の対象のバックアップデータの制御情報のネクストアドレスの1つ前のアドレスに設定する更新を行う。これにより、使用可能領域終了ポインタの値が、開放の対象のバックアップデータの削除後の使用可能領域の終了位置を示すように変更される。従って、変更後のバックアップ使用可能領域において、最後部に開放の対象のバックアップデータ領域が追加される。
【0104】
[ステップS32]ポインタ制御部165は、開放の対象のバックアップデータの削除による変更後のバックアップ使用可能領域について、制御情報を生成する。開放部163は、ポインタ制御部165が生成した制御情報を開放の対象のバックアップデータの削除による変更後のバックアップ使用可能領域の先頭のブロックに設定する。これにより、バックアップ使用可能領域の制御情報が更新される。ここで、バックアップデータの開放の前後でバックアップ使用可能領域の開始位置は変更されない。従って、変更後のバックアップ使用可能領域の制御情報は、変更前のバックアップ使用可能領域の制御情報のブロックに書き込むことで更新される。変更後のバックアップ使用可能領域の制御情報では、状態フラグは、バックアップ使用可能領域を示す値(例えば、“0”)が設定される。ネクストアドレスは、開放の対象のバックアップデータ領域(または、開放により連続した開放済領域)の次の領域の先頭のアドレスが設定される。サイズは、“0”が設定される。
【0105】
[ステップS33]判断部164は、ステップS31で更新された使用可能領域終了ポインタに基づき、ステップS31による更新後の使用可能領域の次の領域の制御情報を取得する。
【0106】
[ステップS34]判断部164は、ステップS33で取得した制御情報の状態フラグが開放済領域を示す値(例えば、“1”)であるか否かを判定する。状態フラグが開放済領域を示す値であれば(ステップS34 YES)、処理はステップS31に進められる。一方、状態フラグが開放済領域を示す値でなければ(ステップS34 NO)、処理は終了する。
【0107】
図24は、第2の実施の形態のボリューム増設処理を示すフローチャートである。第2の実施の形態のストレージ装置100は、バックアップ領域121に対するバックアップデータ領域の比率(利用率)が所定の比率(例えば、90%)を超えた場合や、バックアップ領域121に対するバックアップ使用可能領域の比率(利用率)が所定の比率(例えば、10%)を下回った場合等に、バックアップ領域121にボリュームを追加してバックアップ領域121の記憶容量を増加するボリューム増設処理を実行する。以下では、図24に示すボリューム増設処理をフローチャートのステップ番号に沿って説明する。
【0108】
[ステップS41]ポインタ制御部165は、使用可能領域ポインタ情報記憶部171を参照して、使用可能領域開始ポインタの値および使用可能領域終了ポインタの値を取得する。
【0109】
[ステップS42]追加割当制御部166は、ステップS41で取得した使用可能領域開始ポインタの値および使用可能領域終了ポインタの値に基づき、使用可能領域開始ポインタのボリュームおよび使用可能領域終了ポインタのボリュームが一致するか否かを判定する。使用可能領域開始ポインタのボリュームおよび使用可能領域終了ポインタのボリュームが一致すれば(ステップS42 YES)、処理はステップS45に進められる。一方、使用可能領域開始ポインタのボリュームおよび使用可能領域終了ポインタのボリュームが一致しなければ(ステップS42 NO)、処理はステップS43に進められる。
【0110】
[ステップS43]追加割当制御部166は、バックアップ領域構成情報記憶部172を参照して、バックアップ領域構成情報を取得する。
[ステップS44]追加割当制御部166は、ステップS43で取得したバックアップ領域構成情報に、増設するボリュームを設定するように、バックアップ領域構成情報記憶部172に記憶されているバックアップ領域構成情報を更新する。これにより、バックアップ領域121にボリュームが増設され、バックアップ領域121の記憶容量が増加する。その後、処理は終了する。
【0111】
[ステップS45]追加割当制御部166は、ボリュームの増設を行わない。第2の実施の形態のストレージ装置100では、バックアップ領域121の使用率が所定の比率を超えており、かつ、使用可能領域開始ポインタのボリュームおよび使用可能領域終了ポインタのボリュームが一致する場合、すなわち、使用可能領域開始ポインタおよび使用可能領域終了ポインタが同一のボリュームに存在する場合には、バックアップ領域121にボリュームを増設しない。その後、処理は終了する。なお、これに限らず、ストレージ装置100は、バックアップ領域121のバックアップデータ領域における異なるボリュームの間にボリュームを追加して、バックアップ使用可能領域に割り当て、バックアップ領域の記憶容量を増加させてもよい。これにより、バックアップ使用可能領域の連続性よりもバックアップ使用可能領域の記憶容量の増加を優先させることができる。
【0112】
図25は、第2の実施の形態のボリューム削除処理を示すフローチャートである。第2の実施の形態のストレージ装置100は、バックアップ領域121に対するバックアップデータ領域の比率(利用率)が所定の比率(例えば、30%)を下回った場合等に、バックアップ領域121からボリュームを削除してバックアップ領域121の記憶容量を減少させ、ボリュームを待機等の他の用途に転用可能にするボリューム削除処理を実行する。以下では、図25に示すボリューム削除処理をフローチャートのステップ番号に沿って説明する。
【0113】
[ステップS51]ポインタ制御部165は、使用可能領域ポインタ情報記憶部171を参照して、使用可能領域開始ポインタの値および使用可能領域終了ポインタの値を取得する。
【0114】
[ステップS52]追加割当制御部166は、バックアップ領域構成情報記憶部172を参照して、バックアップ領域構成情報を取得する。
[ステップS53]追加割当制御部166は、ステップS51で取得した使用可能領域開始ポインタの値および使用可能領域終了ポインタの値ならびにステップS52で取得したバックアップ領域構成情報に基づき、使用可能領域開始ポインタのアドレスおよび使用可能領域終了ポインタのアドレスの間に、使用可能領域開始ポインタのボリュームおよび使用可能領域終了ポインタのボリューム以外の他のボリュームが存在するか否かを判定する。他のボリュームが存在すれば(ステップS53 YES)、処理はステップS54に進められる。一方、他のボリュームが存在しなければ(ステップS53 NO)、処理はステップS55に進められる。
【0115】
[ステップS54]追加割当制御部166は、ステップS52で取得したバックアップ領域構成情報からステップS53で使用可能領域開始ポインタのボリュームおよび使用可能領域終了ポインタのボリュームの間に存在すると判定したボリュームの1つを削除するように、バックアップ領域構成情報記憶部172に記憶されているバックアップ領域構成情報を更新する。これにより、バックアップ使用可能領域からボリュームが削除され、バックアップ領域121の記憶容量が減少する。ここで、使用可能領域開始ポインタのボリュームおよび使用可能領域終了ポインタのボリュームの間に複数のボリュームが存在する場合、使用可能領域終了ポインタを含むボリューム以外のボリュームであって最も使用可能領域終了ポインタに近いボリュームを削除する。これにより、バックアップデータの書き込みに使用される順序が遅いボリュームを削除することで、バックアップ処理の影響による遅延を抑制できる。その後、処理は終了する。
【0116】
[ステップS55]追加割当制御部166は、ボリュームの削除を行わない。ここで、第2の実施の形態のストレージ装置100では、使用可能領域開始ポインタのボリュームおよび使用可能領域終了ポインタのボリュームの間に他のボリュームが存在しない場合には、いずれのボリュームにおいても、少なくとも一部にバックアップデータが含まれていると考えられるため、バックアップ領域121のボリュームを削除しない。その後、処理は終了する。
【0117】
以上のような第2の実施の形態のストレージ装置100は、ポインタ制御部165が、バックアップデータ領域の開放時には、バックアップ使用可能領域終了ポインタを開放された領域の終了位置に移動させるので、バックアップ使用可能領域の連続性の低下を抑止することができる。
【0118】
また、バックアップ使用可能領域の記憶容量が減少した場合等には、追加割当制御部166が使用可能領域開始ポインタが示すアドレスと使用可能領域終了ポインタが示すアドレスとの間にボリュームを追加する。これにより、バックアップ使用可能領域の連続性を維持したままバックアップ使用可能領域の記憶容量を増加させることができる。
【0119】
また、バックアップ領域管理部167が、記憶デバイス120a〜120dのボリュームを識別するボリューム情報を含むバックアップ領域構成情報により、バックアップ領域121を管理する。これにより、ボリュームのアドレスを用いてバックアップ領域の連続性を維持することができ、ボリュームの記憶領域の管理が容易になる。また、バックアップ領域121へのボリュームの追加および削除が容易になる。
【0120】
また、ポインタ制御部165が、開放した領域が使用可能領域終了ポインタが示す位置に隣接しない場合、使用可能領域終了ポインタを移動せずに、開放した領域が開放済であることを、開放された領域の制御情報の状態フラグに設定する。これにより、バックアップ使用可能領域と隣接していないバックアップ領域121の記憶領域が開放された場合には、当該記憶領域をバックアップ使用可能領域に設定しないので、バックアップ使用可能領域の連続性が維持され、バックアップデータが連続しない領域に書き込まれることを抑制できる。
【0121】
また、追加割当制御部166が、バックアップ領域121の使用率が所定の比率以下になった場合等、バックアップ領域121の記憶容量に余裕が出た場合、全記憶領域が前記バックアップ使用可能領域に含まれているボリュームを1または複数個、バックアップ領域121から削除する。これにより、バックアップ領域121の記憶容量に余裕がある場合には、ボリュームをバックアップ使用可能領域から削除して他の用途に転用することができる。
【0122】
また、判断部164が、使用可能領域終了ポインタの移動により、開放済領域が使用可能領域終了ポインタが示す位置と隣接するか否かを判断する。ポインタ制御部165が、判断部164による判断の結果、使用可能領域終了ポインタの移動により、開放済領域が使用可能領域終了ポインタが示す位置と隣接する場合、使用可能領域終了ポインタを開放済領域の末尾に移動させる。これにより、バックアップ使用可能領域と、開放済領域との間のバックアップデータ領域が開放された場合、開放済領域および開放されたバックアップデータ領域がバックアップ使用可能領域となる。従って、バックアップ使用可能領域と隣接していない開放済領域について、バックアップ使用可能領域の連続性を維持しながら、バックアップ使用可能領域を増加させることができる。
【0123】
また、バックアップデータの領域、空き領域が不連続になるため、領域のアドレスやサイズなど領域単位で管理することになり領域の管理方法が複雑になることを解消でき、バックアップデータと空き領域の管理を単純化することができる。
【0124】
以上、開示のストレージ装置、制御装置およびストレージ装置制御方法を、図示の実施の形態に基づいて説明したが、各部の構成は同様の機能を有する任意の構成のものに置換することができる。また、開示の技術に他の任意の構成物や工程が付加されてもよい。また、開示の技術は前述した実施の形態のうちの任意の2以上の構成を組み合わせたものであってもよい。
【0125】
上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能であり、開示の技術は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
【符号の説明】
【0126】
1 ストレージ装置
11 制御部
11a バックアップ指示受信部
11b バックアップ処理部
11c 開放部
11d 判断部
11e ポインタ制御部
12 記憶部
12a バックアップ領域
【技術分野】
【0001】
本件は、ストレージ装置、制御装置およびストレージ装置制御方法に関する。
【背景技術】
【0002】
情報技術の進歩および普及に伴い、磁気ディスク、光ディスク、半導体メモリ等の記憶媒体を利用し、記憶媒体にデータの読み書きが可能なストレージ装置が広く利用されている。ストレージ装置を用いることで、記憶媒体に対する大量のデータの記憶が容易になる。
【0003】
また、ストレージ装置において、記憶媒体の一部を、元のデータの破壊を防止するために、元のデータのコピーデータをバックアップデータとして記憶するバックアップ領域として用いるものがある。
【0004】
記憶媒体の空き領域の管理に関して、以下の技術が知られている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2004−280333号公報
【特許文献2】特開2010−86393号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ここで、ストレージ装置において、バックアップデータの書き込みおよび削除が繰り返されると、バックアップデータを記憶する領域が不連続になる場合がある。バックアップデータの記憶に使用するバックアップ領域が不連続である場合、バックアップデータの読み書きの処理や管理の処理の負荷等、ストレージシステムの負荷が増加する場合があるという問題点がある。
【0007】
本件はこのような点に鑑みてなされたものであり、バックアップデータを記憶する領域の連続性の低下を抑止可能なストレージ装置、制御装置およびストレージ装置制御方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するために以下のような記憶部と、記憶部に設けられたバックアップ領域へのデータのバックアップを制御する制御部とを有するストレージ装置が提供される。制御部は、バックアップ領域において、バックアップに使用可能な使用可能領域の先頭を示す使用可能領域開始ポインタと、使用可能領域の末尾を示す使用可能領域終了ポインタとを制御するポインタ制御部と、バックアップの制御に関するバックアップ指示を受信するバックアップ指示受信部と、バックアップ指示受信部が受信したバックアップ指示がバックアップの開始を指示するバックアップ開始指示の場合、バックアップ開始指示に基づいて使用可能領域開始ポインタが示す位置から使用可能領域をバックアップ対象のデータに割り当ててバックアップ処理を行うバックアップ処理部と、バックアップ指示受信部が受信したバックアップ指示がバックアップの終了を指示するバックアップ終了指示の場合、バックアップ終了指示に基づいて、バックアップ対象のデータに割り当てられた領域を開放する開放部と、開放部により開放した領域が、使用可能領域終了ポインタが示す位置に隣接するか否かを判断する判断部と、を有し、ポインタ制御部は、判断部による判断の結果、開放部により開放した領域が、使用可能領域終了ポインタが示す位置に隣接する場合、開放部により開放した領域の末尾に使用可能領域終了ポインタを移動させる。
【発明の効果】
【0009】
開示のストレージ装置、制御装置およびストレージ装置制御方法によれば、バックアップデータを記憶する領域の連続性の低下を抑止することが可能となる。
【図面の簡単な説明】
【0010】
【図1】第1の実施の形態のストレージ装置を示す図である。
【図2】第2の実施の形態のストレージ装置のハードウェア構成を示す図である。
【図3】第2の実施の形態のストレージ装置の機能を示すブロック図である。
【図4】第2の実施の形態のバックアップ領域を示す図である。
【図5】第2の実施の形態のバックアップ領域のボリュームを示す図である。
【図6】第2の実施の形態の使用可能領域ポインタテーブルを示す図である。
【図7】第2の実施の形態のバックアップ領域構成テーブルを示す図である。
【図8】第2の実施の形態のバックアップテーブルを示す図である。
【図9】第2の実施の形態の制御情報を示す図である。
【図10】第2の実施の形態のバックアップデータの書き込み時のバックアップ領域を示す図である。
【図11】第2の実施の形態のバックアップデータの書き込み時の動作を示す図である。
【図12】第2の実施の形態の使用可能領域終点に隣接しており、かつ、開放済領域とは隣接していないバックアップデータの開放時のバックアップ領域を示す図である。
【図13】第2の実施の形態の使用可能領域終点に隣接しており、かつ、開放済領域とは隣接していないバックアップデータの開放時の動作を示す図である。
【図14】第2の実施の形態の使用可能領域終点に隣接していないバックアップデータの開放時のバックアップ領域を示す図である。
【図15】第2の実施の形態の使用可能領域終点に隣接していないバックアップデータの開放時の動作を示す図である。
【図16】第2の実施の形態の使用可能領域終点に隣接しており、かつ、開放済領域と隣接しているバックアップデータの開放時のバックアップ領域を示す図である。
【図17】第2の実施の形態の使用可能領域終点に隣接しており、かつ、開放済領域と隣接しているバックアップデータの開放時の動作を示す図である。
【図18】第2の実施の形態のバックアップ領域における領域管理を示す図である。
【図19】第2の実施の形態のバックアップ領域のボリュームの増設を示す図である。
【図20】第2の実施の形態のバックアップ領域のボリュームの削除を示す図である。
【図21】第2の実施の形態のバックアップ処理を示すフローチャートである。
【図22】第2の実施の形態のバックアップデータ開放処理を示すフローチャートである。
【図23】第2の実施の形態のバックアップデータ開放処理を示すフローチャートである。
【図24】第2の実施の形態のボリューム増設処理を示すフローチャートである。
【図25】第2の実施の形態のボリューム削除処理を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、実施の形態を、図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態のストレージ装置を示す図である。本実施の形態のストレージ装置1は、制御部11、記憶部12を有する。制御部11は、バックアップ指示受信部11a、バックアップ処理部11b、開放部11c、判断部11d、ポインタ制御部11eを有する。記憶部12は、バックアップ領域12aを有する。
【0012】
なおバックアップ領域12aは、論理的にリング状の記憶領域として管理されている。バックアップ領域12aをリング状の記憶領域にした場合、バックアップ領域12aの最後のアドレスの記憶領域の次の記憶領域は、バックアップ領域12aの先頭のアドレスの記憶領域となる。例えば使用可能領域開始ポインタまたは使用可能領域終了ポインタをバックアップ領域12aの最後のアドレスの次に移動させる場合、使用可能領域開始ポインタまたは使用可能領域終了ポインタは、バックアップ領域12aの先頭のアドレスに移動される。これにより、バックアップ領域12aをサイクリックに繰り返し使用することができる。
【0013】
バックアップ指示受信部11aは、ホストコンピュータ等の上位装置からのバックアップの制御に関するバックアップ指示を受信する。これにより、元データのバックアップデータを記憶部12のバックアップ領域12aに書き込むバックアップ処理が開始される。
【0014】
バックアップ処理部11bは、バックアップ指示受信部11aが受信したバックアップ指示がバックアップの開始を指示するバックアップ開始指示の場合、バックアップ開始指示に基づいてバックアップ領域12aの使用可能領域開始ポインタが示す位置からバックアップの処理を行う。
【0015】
開放部11cは、バックアップ指示受信部11aが受信したバックアップ指示がバックアップの終了を指示するバックアップ終了指示の場合、バックアップ終了指示に基づいて、バックアップデータが書き込まれている、割り当てられたバックアップ領域12a上の記憶領域を開放する。
【0016】
判断部11dは、開放部11cにより開放したバックアップ領域12a上の記憶領域が、使用可能領域終了ポインタが示す位置に隣接するか否かを判断する。ここで「隣接する」とは、開放された記憶領域の先頭のアドレスが、使用可能領域終了ポインタが示す位置の次のアドレスであることを指す。
【0017】
ポインタ制御部11eは、バックアップ領域12aにおいて、バックアップに使用可能な使用可能領域の先頭を示す使用可能領域開始ポインタと、使用可能領域の末尾を示す使用可能領域終了ポインタとを制御する。ポインタ制御部11eは、判断部11dによる判断の結果、開放部11cにより開放したバックアップ領域12a上の記憶領域が、使用可能領域終了ポインタが示す位置に隣接する場合、使用可能領域終了ポインタを開放部11cにより開放したバックアップ領域12aの使用可能領域の末尾に移動させる。
【0018】
記憶部12は、バックアップデータを記憶するバックアップ領域12aを有する。記憶部12は、ハードディスクドライブ(HDD)、不揮発性半導体メモリやハードディスクドライブ以外の磁気記憶装置、光ディスク、その他のデータの記憶が可能な記憶媒体であってもよい。記憶部12は、記憶媒体の一部または全部の記憶領域である物理ボリュームであってもよく、1以上の物理ボリュームに設定された論理ボリュームであってもよい。記憶部12は、複数の記憶部によって設けられたディスクアレイであってもよい。
【0019】
以上のように、第1の実施の形態では、ポインタ制御部11eが、開放した記憶領域が使用可能領域終了ポインタが示す位置に隣接する場合、使用可能領域終了ポインタを開放した使用可能領域の末尾に移動させる。これにより、バックアップデータを記憶する領域の連続性の低下を抑止することが可能となる。
【0020】
[第2の実施の形態]
次に、図1に示したストレージ装置1の、バックアップ領域の連続性の低下を抑止する機能を、RAID(Redundant Arrays of Inexpensive Disks)を構成する記憶デバイス群を有するストレージ装置100に適用した実施の形態を、第2の実施の形態として説明する。
【0021】
図2は、第2の実施の形態のストレージ装置のハードウェア構成を示す図である。ストレージ装置100は、装置全体の制御を行うCM(Controller Module)110a,110b、記憶デバイス120a,120b,120c,120d、チャネルアダプタ130c,130d,130e,130f、デバイスインタフェース(DI:Device Interface)140a,140bを有する。
【0022】
ストレージ装置100は、後述するハードディスクドライブ等の複数の記憶デバイスに対するデータの入出力を行う。ストレージ装置100は、RAID0〜6等のRAID機能を有し、複数の記憶デバイスをまとめてRAIDを構成することにより、各RAIDをそれぞれ1台の記憶デバイスとして管理する。
【0023】
ホストコンピュータ300は、業務処理を実行するコンピュータであり、ファイバチャネル(Fibre Channel)で構成されたSAN(Storage Area Network)を介してストレージ装置100とデータ通信可能に接続されている。ホストコンピュータ300は、業務処理に使用するデータについて、ストレージ装置100への保存およびストレージ装置100からの読み出しを行う。
【0024】
CM110aは、CPU(Central Processing Unit)111a、キャッシュメモリ112aを有する。
CPU111aは、OS(Operating System:オペレーティングシステム)等に従って処理を実行し、各種制御を行う。また、CPU111aは、キャッシュメモリ112a、記憶デバイス120a〜120d、チャネルアダプタ130c〜130f、デバイスインタフェース140a,140b等の資源管理を行う。
【0025】
キャッシュメモリ112aは、CPU111aがストレージ装置100を制御するために必要な制御データを記憶する。また、キャッシュメモリ112aは、ホストコンピュータ300から送信され、記憶デバイス120a〜120dに記憶される書き込みデータおよびホストコンピュータ300から送信された読み出し要求に応じて記憶デバイス120a〜120dから読み出され、ホストコンピュータ300に送信される読み出しデータを一時的に記憶する。
【0026】
チャネルアダプタ130c,130dは、ホストコンピュータ300とCM110aとの接続制御を行う。チャネルアダプタ130e,130fは、ホストコンピュータ300とCM110bとの接続制御を行う。例えば、チャネルアダプタ130cは、ホストコンピュータ300からの要求を受け付けて、CM110aとの接続制御を行う。
【0027】
なお、チャネルアダプタ130c,130dとホストコンピュータ300との間の通信は、ファイバチャネルで構成されたSANによって接続されているが、ファイバチャネル以外の接続方式によって接続されていてもよい。また、チャネルアダプタ130c,130dとホストコンピュータ300との間の通信は、専用線やVPN(Virtual Private Network)を用いて、ストレージ装置100をホストコンピュータ300から遠隔地に設置するように構成してもよい。
【0028】
デバイスインタフェース140aは、CM110aと記憶デバイス120a〜120dとの接続制御を行う。デバイスインタフェース140bは、CM110bと記憶デバイス120a〜120dとの接続制御を行う。
【0029】
また、CM110a,110bは、バス150によって接続されている。このバス150を介して、CM110aおよびCM110bの間で、制御情報やデータが通信される。また、CM110a,110bは、制御装置として機能し、ストレージ装置100に対し着脱可能である。ここで、CM110bは、CPU111b、キャッシュメモリ112bを有し、CM110aと同一の構成であるため、説明を省略する。
【0030】
記憶デバイス120a〜120dは、RAIDを構成可能なハードディスクドライブであり、ホストコンピュータ300から送信されたユーザデータを記憶する。なお、ユーザデータは1個のハードディスクに記憶されている必要はなく、複数のハードディスクに渡って記憶されていてもよい。また、1個のハードディスクに複数のユーザデータが記憶されていてもよい。また、記憶デバイス120a〜120dは、例えば、SSD(Solid State Drive)等の不揮発性半導体メモリやハードディスクドライブ以外の磁気記憶装置、光ディスク、その他のデータの記憶が可能な記憶媒体を使用することができる。ハードディスクドライブ以外の磁気記憶装置には、磁気テープ等がある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)/RW(ReWritable)等がある。
【0031】
なお、図2において、CM110a,110bは、2個図示し、デバイスインタフェース140a,140bは、CM110a,110bそれぞれに対して1個ずつ、チャネルアダプタ130c〜130fは、CM110a,110bそれぞれに対して2個ずつ図示しているが、これらの数はそれぞれ任意である。
【0032】
また、図2において、ストレージ装置100に対して1つのホストコンピュータ300が接続されているが、ストレージ装置100に対して複数のホストコンピュータが接続されていてもよい。
【0033】
また、ストレージ装置100に対してCM110a,110bに従属して制御を受ける、制御部および記憶デバイスを有する増設用装置(図示省略)を接続してもよい。
以上のようなハードウェア構成によって、第2の実施の形態の処理機能を実現することができる。
【0034】
図3は、第2の実施の形態のストレージ装置の機能を示すブロック図である。第2の実施の形態のストレージ装置100は、制御部160、記憶デバイス120a〜120dを有する。制御部160は、バックアップ指示受信部161、バックアップ処理部162、開放部163、判断部164、ポインタ制御部165、追加割当制御部166、バックアップ領域管理部167、使用可能領域ポインタ情報記憶部171、バックアップ領域構成情報記憶部172、バックアップ情報記憶部173を有する。記憶デバイス120a〜120dは、バックアップ領域121を有する。なおバックアップ領域121は、リング状の論理的な記憶領域である。すなわちバックアップ領域121の最後のアドレスの次のアドレスは、バックアップ領域121の先頭のアドレスとなる。これによりバックアップ領域121は、サイクリックに繰り返し使用される。
【0035】
バックアップ指示受信部161は、ホストコンピュータ300からのバックアップの制御に関するバックアップ指示を受信する。これにより、元データのバックアップデータを記憶デバイス120a〜120dのバックアップ領域121に書き込むバックアップ処理が開始される。
【0036】
バックアップ指示は、例えば不定期に実行されるバックアップの指示である。不定期に実行されるバックアップには、例えばユーザがホストコンピュータ300を利用して行っている作業において、作業の対象となっているデータのバックアップがある。不定期に実行されるバックアップの場合、作業開始時にバックアップ処理が開始される。バックアップ処理中は、作業によって更新されたデータが随時バックアップされる。バックアップの対象となるデータは、例えばホストコンピュータ300内での作業用に記憶デバイス120a〜120dから読み出されたデータ(ファイルやフォルダ)である。ユーザの作業終了に伴って、バックアップ処理も終了する。
【0037】
バックアップ処理部162は、バックアップ指示受信部161が受信したバックアップ指示がバックアップの開始を指示するバックアップ開始指示の場合、バックアップ開始指示に基づいてバックアップ領域121の使用可能領域開始ポインタが示す位置からバックアップの処理を行う。例えばバックアップ開始指示において、記憶デバイス120a〜120d内のバックアップ領域121以外の記憶領域に記憶されたデータがバックアップ対象に指定される。バックアップ処理部162は、指定されたデータからバックアップデータを作成し、作成したバックアップデータをバックアップ領域121内のバックアップ使用可能領域に書き込む。また、バックアップデータが書き込まれたバックアップ使用可能領域は、バックアップデータ領域となる。なおバックアップ対象のデータから作成されるバックアップデータは、例えばバックアップ対象のデータのコピーである。またバックアップ対象のデータを圧縮して、バックアップデータとすることもできる。
【0038】
ここで、バックアップデータ領域は、バックアップデータ毎に設けられる。すなわち、複数のバックアップデータが存在すれば、それぞれのバックアップデータに対応してバックアップデータ領域が設定される。また、同一の元データの同一箇所について複数のバックアップデータが作成された場合にも、それぞれのバックアップデータに対してバックアップデータ領域が設定される。例えば、元データは同一だが、更新を行うユーザが複数存在する場合、ユーザ毎に異なるバックアップデータが生成されるとともにそれぞれに対応するバックアップデータ領域が設定される。また、各バックアップデータの使用が終了した場合、バックアップデータの更新が元データに反映された後にバックアップデータが削除されてバックアップデータ領域が開放され、または反映されずにバックアップデータが削除され、バックアップデータ領域が開放される。
【0039】
開放部163は、バックアップ指示受信部161が受信したバックアップ指示がバックアップの終了を指示するバックアップ終了指示の場合、バックアップ終了指示に基づいて割り当てられたバックアップ領域121上の記憶領域である、バックアップデータ領域を開放する。
【0040】
判断部164は、開放部163により開放したバックアップ領域121上の記憶領域が、使用可能領域終了ポインタが示す位置に隣接するか否かを判断する。また、判断部164は、使用可能領域終了ポインタの移動により、ポインタ制御部165によって当該領域の制御情報の状態フラグに開放済であることが設定されているバックアップ領域121の記憶領域が、使用可能領域終了ポインタが示す位置と隣接するか否かを判断する。
【0041】
ポインタ制御部165は、バックアップ領域121において、バックアップに使用可能なバックアップ使用可能領域の先頭を示す使用可能領域開始ポインタと、バックアップ使用可能領域の末尾を示す使用可能領域終了ポインタとを制御する。ポインタ制御部165は、判断部164による判断の結果、開放部163により開放したバックアップ領域121上の記憶領域が、使用可能領域終了ポインタが示す位置に隣接する場合、使用可能領域終了ポインタを開放部163により開放した記憶領域の末尾に移動させる。
【0042】
また、ポインタ制御部165は、判断部164による判断の結果、開放部163により開放したバックアップ領域121が、使用可能領域終了ポインタが示す位置に隣接しない場合、使用可能領域終了ポインタを移動せずに、開放部163により開放したバックアップ領域121が開放済の開放済領域であることを、当該領域の制御情報の状態フラグに設定する。
【0043】
また、ポインタ制御部165は、判断部164による判断の結果、使用可能領域終了ポインタの移動により、開放済領域が、使用可能領域終了ポインタが示す位置と隣接する場合、使用可能領域終了ポインタを開放済領域の末尾に移動させる。
【0044】
追加割当制御部166は、バックアップ領域121の記憶容量が減少した場合には、バックアップ領域121に追加のボリュームを割り当て、バックアップ領域121の記憶容量を増加する。このとき、追加割当制御部166は、追加のボリュームによってバックアップ領域121に追加される記憶領域を、使用可能領域開始ポインタが示す位置と使用可能領域終了ポインタが示す位置との間のバックアップ使用可能領域に割り当てる。
【0045】
また、追加割当制御部166は、バックアップ領域121の使用率が所定の比率以下になった場合、全記憶領域がバックアップ使用可能領域に含まれているボリュームをバックアップ領域121から削除する。ここでバックアップ領域121の使用率とは、バックアップ領域121全体に対する、バックアップデータが格納された領域の割合である。これにより、バックアップ領域121に余裕が生じた場合、バックアップ領域121のボリュームを減少させて、待機等の他の用途に転用することができる。
【0046】
バックアップ領域管理部167は、詳しくは図7において説明するが、バックアップ領域121が設定されているボリュームを識別する識別情報であるボリューム情報を含むバックアップ領域構成情報記憶部172に記憶されているバックアップ領域構成情報と、ボリュームの記憶領域に割り当てられたアドレスに基づいてバックアップ領域121を管理する。
【0047】
使用可能領域ポインタ情報記憶部171は、使用可能領域開始ポインタおよび使用可能領域終了ポインタのアドレスを示す使用可能領域ポインタ情報を記憶する。
バックアップ領域構成情報記憶部172は、記憶デバイス120a〜120dに設定されているボリュームのうち、バックアップ領域121を構成するボリュームを示すバックアップ領域構成情報を記憶する。
【0048】
バックアップ情報記憶部173は、バックアップ領域121に記憶されているバックアップデータに関する情報であり、バックアップデータのファイル名、元データの記憶位置やバックアップデータの記憶位置、バックアップされた日時等を示すバックアップデータ情報を記憶する。
【0049】
記憶デバイス120a〜120dは、RAIDを構成するハードディスクドライブ等の記憶デバイスであり、ホストコンピュータ300から送信されたデータやホストコンピュータ300に送信するデータを記憶する。記憶デバイス120a〜120dは、バックアップデータを記憶するバックアップ領域121を有する。バックアップ領域121は、記憶デバイス120a〜120dが有する1または複数のボリュームに設定されている。記憶デバイス120a〜120dは、不揮発性半導体メモリやハードディスクドライブ以外の磁気記憶装置、光ディスク、その他のデータの記憶が可能な記憶媒体であってもよい。記憶デバイス120a〜120dが有するボリュームは、第2の実施の形態では、記憶媒体の一部または全部の記憶領域である物理ボリュームである。しかし、これに限らず、1以上の物理ボリュームに設定された論理ボリュームであってもよい。記憶デバイス120a〜120dが有するボリュームは、記憶部として機能する。
【0050】
図4は、第2の実施の形態のバックアップ領域を示す図である。第2の実施の形態のストレージ装置100は、バックアップ領域121は記憶デバイス120a〜120dが有するボリューム121a1(ボリューム#11)、ボリューム121a2(ボリューム#12)、ボリューム121a3(ボリューム#13)に設定されている。ボリューム121a1〜121a3は、記憶デバイス120a〜120dにおいてパーティション単位で区分された記憶領域である物理ボリュームである。なお、これに限らず、ボリューム121a1〜121a3は、複数の物理ボリュームを仮想的に1つのボリュームとして結合した論理ボリュームであってもよい。バックアップ領域121を物理ボリューム単位で構成した場合、物理ボリューム内では物理アドレスも連続するため、記憶領域の連続性をさらに高めることができる。バックアップ領域121を論理ボリューム単位で構成した場合、各ボリュームの設定の自由度が高まり、記憶デバイスの記憶領域の利用効率を高めることができる。
【0051】
バックアップ領域121では、図4に示すように、ボリューム121a1〜121a3におけるアドレスが時計回りの回転方向に設定されている。バックアップ領域121は、バックアップ使用可能領域1210a、バックアップデータ領域1210bを有する。バックアップ領域121の点線Aと点線Bとの間の部分は、ボリューム121a1の記憶領域である。バックアップ領域121の点線Bと点線Cとの間の部分は、ボリューム121a2の記憶領域である。バックアップ領域121の点線Cと点線Aとの間の部分は、ボリューム121a3の記憶領域である。
【0052】
バックアップ使用可能領域1210aは、バックアップデータを記憶可能な空き領域であり、1または複数のボリューム(例えば、ボリューム121a1〜121a3)の記憶領域上に設定される。バックアップ使用可能領域1210aは、管理上は1つの連続した領域である。バックアップ使用可能領域1210aは、バックアップ使用可能領域の開始位置である使用可能領域始点のアドレスを示す使用可能領域開始ポインタと、バックアップ使用可能領域の終了位置である使用可能領域終点のアドレスを示す使用可能領域終了ポインタとによって管理される。すなわち、使用可能領域開始ポインタと使用可能領域終了ポインタとの間がバックアップ使用可能領域1210aとなる。使用可能領域開始ポインタおよび使用可能領域終了ポインタは、後述するように、各ポインタを含むボリュームおよび上記ボリュームにおけるアドレスを示す。
【0053】
図5は、第2の実施の形態のバックアップ領域のボリュームを示す図である。第2の実施の形態のストレージ装置100は、ボリューム121a1(ボリューム#11)、ボリューム121a2(ボリューム#12)、ボリューム121a3(ボリューム#13)に設定されたバックアップ領域121を、ボリュームおよび上記ボリュームにおけるアドレスを用いて管理する。具体的には、図5に示すように、バックアップ領域121にバックアップデータ領域1210c,1210e、バックアップ使用可能領域1210dが設定されているものとする。また、バックアップデータ領域1210c,1210eは、図5では上下に分離しているが、バックアップ領域121は循環しており、バックアップデータ領域1210c,1210eは、連続しているものとする。
【0054】
ここで、使用可能領域始点の値がボリューム121a2(ボリューム#12)のアドレス:0x2000000000であるものとする。この場合、ボリューム121a2における使用可能領域始点以降のアドレスの記憶領域121a22は、バックアップ使用可能領域1210dの一部となる。また、ボリューム121a2における使用可能領域始点以前のアドレスの記憶領域121a21は、バックアップ使用可能領域1210d以外の領域(バックアップデータ領域または開放済領域、例えば、バックアップデータ領域1210cの一部)となる。
【0055】
また、使用可能領域終点の値がボリューム121a3(ボリューム#13)のアドレス:0x1000000000であるものとする。この場合、ボリューム121a3における使用可能領域終点以前のアドレスの記憶領域121a31は、バックアップ使用可能領域1210dの一部となる。また、ボリューム121a2における使用可能領域始点以降のアドレスの記憶領域121a32は、バックアップ使用可能領域1210d以外の領域(バックアップデータ領域または開放済領域、例えば、バックアップデータ領域1210e)となる。
【0056】
図6は、第2の実施の形態の使用可能領域ポインタテーブルを示す図である。図6に示す使用可能領域ポインタテーブル171aは、第2の実施の形態のストレージ装置100が有する使用可能領域ポインタ情報記憶部171に記憶される。使用可能領域ポインタテーブル171aは、バックアップ使用可能領域の開始位置を示す使用可能領域開始ポインタおよび終了位置を示す使用可能領域終了ポインタを記憶するテーブルである。
【0057】
使用可能領域ポインタテーブル171aには、項目として“使用可能領域開始ポインタ”、“使用可能領域終了ポインタ”が設けられている。
使用可能領域開始ポインタは、ストレージ装置100の記憶デバイス120a〜120dに設定されたバックアップ領域121における、バックアップ使用可能領域の開始位置を含むボリュームおよび先頭アドレスを示すポインタである。ストレージ装置100は、データのバックアップを行う場合、使用可能領域開始ポインタで示されているアドレスを先頭アドレスとして、バックアップ使用可能領域にバックアップデータを書き込む。ストレージ装置100は、バックアップデータのバックアップ使用可能領域への書き込みが終了すると、使用可能領域開始ポインタのアドレスをバックアップデータが書き込まれたバックアップデータ領域の末尾に移動する。これにより、バックアップ使用可能領域の開始位置が移動して、次にバックアップデータの書き込みが行われる際、移動後のバックアップ使用可能領域ポインタで示されたアドレスを先頭アドレスとして、バックアップデータの書き込みが行われる。
【0058】
使用可能領域終了ポインタは、ストレージ装置100の記憶デバイス120a〜120dに設定されたバックアップ領域121における、使用可能領域の終了位置を含むボリュームおよび末尾アドレスを示すポインタである。ストレージ装置100において、バックアップデータが不要になり、バックアップデータが書き込まれているバックアップデータ領域の開放を行うものとする。この場合、ストレージ装置100は、開放される領域がバックアップ使用可能領域の末尾に隣接しており、かつ、他の開放済領域とは隣接していないときには(図12および図13で後述)使用可能領域終了ポインタで示されているアドレスを、開放の対象のバックアップデータ領域の末尾アドレスに移動する。これにより、バックアップ使用可能領域の終了位置が移動して、バックアップ使用可能領域の記憶容量が増加する。また、開放後のバックアップ使用可能領域の連続性も維持される。
【0059】
図7は、第2の実施の形態のバックアップ領域構成テーブルを示す図である。図7に示すバックアップ領域構成テーブル172aは、第2の実施の形態のストレージ装置100が有するバックアップ領域構成情報記憶部172に記憶される。バックアップ領域構成テーブル172aは、記憶デバイス120a〜120dに設定されているボリュームのうち、バックアップ領域121を構成するボリュームを示すバックアップ構成情報を記憶するテーブルである。
【0060】
バックアップ領域構成テーブル172aには、項目として“構成番号”、“ボリューム情報”が設けられている。
構成番号は、バックアップ領域を構成するボリュームの並び順を示す番号である。ストレージ装置100は、構成番号を各ボリュームに対して、例えば昇順に設定してもよい。バックアップ領域を構成するボリュームの記憶領域は、仮想的に、ボリュームの構成番号で示された順に連続しているものとして使用される。図7では、例えば、バックアップデータの書き込みの途中にボリューム#11の記憶領域の末尾までバックアップデータが書き込まれた場合、続いてボリューム#12の先頭の記憶領域からバックアップデータが書き込まれる。バックアップデータを削除するバックアップデータ領域の開放時ならびに使用可能領域開始ポインタおよび使用可能領域終了ポインタの移動時も同様に、構成番号に基づいて各ボリュームの記憶領域が仮想的に連続しているものとして動作する。
【0061】
ボリューム情報は、記憶デバイス120a〜120dに設定されているボリュームを特定可能な情報である。
図8は、第2の実施の形態のバックアップテーブルを示す図である。図8に示すバックアップテーブル173aは、第2の実施の形態のストレージ装置100が有するバックアップ情報記憶部173に記憶される。バックアップテーブル173aは、バックアップ領域121に記憶されているバックアップデータに関するバックアップ情報を記憶するテーブルである。
【0062】
バックアップテーブル173aには、項目として“ファイル名”、“コピー元情報”、“コピー先情報”、“日時”が設けられている。
ファイル名は、バックアップデータのファイル名を特定する識別情報である。ファイル名は、バックアップデータによるバックアップ対象の元データのファイル名を使用してもよい。
【0063】
コピー元情報は、バックアップデータの元データが記憶されているボリュームおよび記憶されている記憶領域の先頭アドレスを示す情報である。コピー元情報により、元データの記憶位置が示される。
【0064】
コピー先情報は、バックアップデータが記憶されているボリュームおよび記憶されている記憶領域の先頭アドレスを示す情報である。コピー先情報により、バックアップデータの記憶位置が示される。
【0065】
バックアップデータはバックアップ領域に記憶されているが、バックアップ領域は独自のアドレスを有さず、コピー先情報は、各ボリュームおよびボリュームのアドレスを用いて示される。
【0066】
日時は、バックアップが行われた日時を示す。バックアップデータは、例えば、ユーザがデータの一部または全部の更新を伴う作業を行う等、一時的に使用される場合、先に記憶されたバックアップデータが先に削除される(FIFO:First In, First Out)傾向がある。このため、第2の実施の形態のストレージ装置100では、FIFOに従ってバックアップデータが作成および削除されていく場合、バックアップ領域を循環的に使用することで、連続性の低下を抑止することができる。
【0067】
図9は、第2の実施の形態の制御情報を示す図である。図9に示す制御情報121dは、第2の実施の形態のストレージ装置100が有するバックアップ領域121に設定されたバックアップデータ領域、バックアップ使用可能領域、開放済領域のそれぞれの先頭のブロックに記憶される。制御情報121dは、バックアップ領域上に設定された各領域の状態を示す情報である。
【0068】
制御情報には、“状態フラグ”、“ネクストアドレス”、“バックアップサイズ”が、区分された各領域に対応して設定される。
状態フラグは、バックアップ領域121上における領域の状態を示すフラグである。例えば、領域が、1つの連続した空き領域であってバックアップデータを記憶可能なバックアップ使用可能領域であれば、状態フラグに“0”が設定される。領域が、バックアップデータの削除により開放された空き領域であるがバックアップ使用可能領域と連続していない開放済領域であれば、状態フラグに“1”が設定される。領域が、バックアップデータが記憶されているバックアップデータ領域であれば、状態フラグに“2”が設定される。
【0069】
ネクストアドレスは、制御情報に対応する領域がバックアップデータ領域(状態フラグが“2”)または開放済領域(状態フラグが“1”)であって、制御情報に対応する領域の次の領域がバックアップデータ領域またはバックアップ使用可能領域である場合に、上記次の領域の開始位置を含むボリュームおよび先頭アドレスを示す情報である。また、ネクストアドレスは、制御情報が示す領域がバックアップ使用可能領域(状態フラグが“0”)であれば、“0”が設定される。
【0070】
サイズは、制御情報に対応する領域がバックアップデータ領域または開放済領域であって、制御情報が示す領域がバックアップデータ領域(状態フラグが“2”)であれば、バックアップデータ領域に記憶されているデータのサイズが設定される。また、サイズは、制御情報が示す領域がバックアップ使用可能領域であれば、“0”が設定される。
【0071】
図10は、第2の実施の形態のバックアップデータの書き込み時のバックアップ領域を示す図である。図11は、第2の実施の形態のバックアップデータの書き込み時の動作を示す図である。図10および図11に従って、第2の実施の形態のストレージ装置100のバックアップ領域121に対するバックアップデータの書き込み時の動作を説明する。
【0072】
図10に示すように、バックアップ領域121に、バックアップデータ領域1211a、バックアップ使用可能領域1211cが設定されている場合に、バックアップ使用可能領域1211cの使用可能領域始点から新規バックアップデータ1211bが書き込まれたものとする。これにより、使用可能領域始点が後方(図10における時計回りの回転方向、アドレスの値が増加する方向)に移動し、バックアップ使用可能領域1211cは減少し、バックアップ使用可能領域1211cとなる。また、使用可能領域終点の位置は、変化しない。また、新規バックアップデータ1211bが書き込まれた領域は、バックアップデータ領域1211aの直後に隣接するバックアップデータ領域となる。
【0073】
図11に示すように、バックアップ領域121に、バックアップデータ領域、バックアップ使用可能領域が設定されている場合に、バックアップ使用可能領域1211cの使用可能領域始点から新規バックアップデータ1211bが書き込まれたとき、使用可能領域始点が、新規バックアップデータ1211bのサイズの分、アドレスの値が増加する方向(図11における右方向)に移動する。このため、書き込み前のバックアップ使用可能領域の開始位置に対応する使用可能領域開始ポインタ151a1aは、書き込み後のバックアップ使用可能領域1211cの開始位置に対応する使用可能領域開始ポインタ151a1bに更新される。また、新規バックアップデータ1211bの書き込みにより、新規バックアップデータ1211bが書き込まれた領域の先頭のブロック1211b1に、制御情報121d1が書き込まれる。制御情報121d1には、状態フラグに、新規バックアップデータ1211bが書き込まれ、バックアップデータ領域であることを示す値(例えば、“2”)が設定される。また、ネクストアドレスに、バックアップ使用可能領域1211cの先頭のアドレス(使用可能領域開始ポインタ151a1bの値)が設定される。また、サイズに、新規バックアップデータ1211bのサイズが設定される。サイズには、ブロック1211b1のサイズを含んでもよい。また、バックアップ使用可能領域1211cの先頭のブロック1211c1の制御情報121d2の各値は変更されない。具体的には、状態フラグにバックアップデータ領域であることを示す値(例えば、“0”)が設定されている。ネクストアドレスおよびサイズには、バックアップ使用可能領域に対応する値(例えば、“0”)が設定されている。また、バックアップ情報記憶部173に記憶されているバックアップ情報に、新規バックアップデータ1211bのバックアップ情報が設定される。
【0074】
図12は、第2の実施の形態の使用可能領域終点に隣接しており、かつ、開放済領域とは隣接していないバックアップデータの開放時のバックアップ領域を示す図である。図13は、第2の実施の形態の使用可能領域終点に隣接しており、かつ、開放済領域とは隣接していないバックアップデータの開放時の動作を示す図である。図12および図13に従って、第2の実施の形態のストレージ装置100の使用可能領域終点に隣接しており、かつ、開放済領域とは隣接していないバックアップデータの開放時の動作を説明する。
【0075】
図12に示すように、バックアップ領域121に、バックアップ使用可能領域、バックアップデータ領域が設定されている場合に、バックアップ使用可能領域1212aの使用可能領域終点の直前のバックアップデータの削除により領域が開放され、開放データ1212bが生じたものとする。これにより、使用可能領域終点が後方に移動し、開放データ1212bの領域がバックアップ使用可能領域となり、バックアップ使用可能領域は増加する。また、使用可能領域始点の位置は、変化しない。また、バックアップデータ領域は開放データ1212bの分減少し、バックアップデータ領域1212cとなる。
【0076】
図13に示すように、バックアップ領域121に、バックアップ使用可能領域、バックアップデータ領域が設定されている場合に、バックアップ使用可能領域1212aの使用可能領域終点の直前のバックアップデータの削除により領域が開放され、開放データ1212bが生じたとき、使用可能領域終点が、開放データ1212bのサイズの分、アドレスの値が増加する方向に移動する。このため、開放前のバックアップ使用可能領域1212aの終了位置に対応する使用可能領域終了ポインタ151a2aは、開放後のバックアップ使用可能領域の終了位置に対応する使用可能領域終了ポインタ151a2bに更新される。また、開放データ1212bの領域の開放により、開放データ1212bが開放された領域の先頭のブロック1212b1の制御情報121d31が更新され、制御情報121d32となる。制御情報121d32には、状態フラグにバックアップデータ領域であることを示す値(例えば、“0”)が設定される。ネクストアドレスおよびサイズには、バックアップ使用可能領域に対応する値(例えば、“0”)が設定される。また、バックアップデータ領域1212cの先頭のブロック1212c1の制御情報121d4の各値は変更されない。具体的には、制御情報121d4には、状態フラグに、バックアップデータ領域であることを示す値が設定されている。また、ネクストアドレスに、次に隣接する領域の先頭のアドレスが設定される。また、サイズに、バックアップデータ領域1212cのサイズが設定される。また、バックアップ情報記憶部173に記憶されているバックアップ情報に、開放データ1212bに対応する削除されたバックアップデータのバックアップ情報が削除される。
【0077】
図14は、第2の実施の形態の使用可能領域終点に隣接していないバックアップデータの開放時のバックアップ領域を示す図である。図15は、第2の実施の形態の使用可能領域終点に隣接していないバックアップデータの開放時の動作を示す図である。図14および図15に従って、第2の実施の形態のストレージ装置100の使用可能領域終点に隣接していないバックアップデータの開放時の動作を説明する。
【0078】
図14に示すように、バックアップ領域121に、バックアップ使用可能領域、バックアップデータ領域が設定されている場合に、バックアップデータ領域の途中のバックアップデータの削除により領域が開放され、開放データ1213cが生じるとともに、バックアップデータ領域1213b,1213dに分離したものとする。バックアップ使用可能領域1213aは、変化しない。また、使用可能領域始点および使用可能領域終点の位置は、変化しない。
【0079】
図15に示すように、バックアップ領域121に、バックアップ使用可能領域、バックアップデータ領域が設定されている場合に、バックアップデータ領域の途中のバックアップデータの削除により領域が開放され、開放データ1213cが生じるとともに、バックアップデータ領域1213b,1213dに分離したとき、使用可能領域終点の位置は変化しない。このため、開放前のバックアップ使用可能領域1213aの終了位置に対応する使用可能領域終了ポインタ151a2cの値は、開放後も変化しない。また、開放データ1213cの領域が開放されても、開放データ1213cの領域がバックアップ使用可能領域1213aと隣接していないので、開放データ1213cが開放された領域は、開放済領域となる。これにより、開放データ1213cが開放された領域の先頭のブロック1213c1の制御情報121d5の各値は変更されない。具体的には、制御情報121d5には、状態フラグに、開放済領域であることを示す値が設定されている。また、ネクストアドレスに、次に隣接する領域の先頭のアドレスが設定される。また、サイズに、開放データ1213cが開放された開放済領域のサイズが設定される。また、バックアップ情報記憶部173に記憶されているバックアップ情報に、開放データ1213cに対応する削除されたバックアップデータのバックアップ情報が削除される。
【0080】
図16は、第2の実施の形態の使用可能領域終点に隣接しており、かつ、開放済領域と隣接しているバックアップデータの開放時のバックアップ領域を示す図である。図17は、第2の実施の形態の使用可能領域終点に隣接しており、かつ、開放済領域と隣接しているバックアップデータの開放時の動作を示す図である。図16および図17に従って、第2の実施の形態のストレージ装置100の使用可能領域終点に隣接しており、かつ、開放済領域と隣接しているバックアップデータの開放時の動作を説明する。
【0081】
図16に示すように、バックアップ領域121に、バックアップ使用可能領域、2つのバックアップデータ領域、2つのバックアップデータの間に開放済領域が設定されていた場合に、開放済領域1214cとバックアップ使用可能領域1214aとの間のバックアップデータ領域が開放され、開放データ1214bが生じたものとする。これにより、使用可能領域終点が後方に移動し、開放済領域1214c、開放データ1214bの領域がバックアップ使用可能領域となり、バックアップ使用可能領域は増加する。また、使用可能領域始点の位置は、変化しない。また、バックアップデータ領域は開放データ1214bの分減少し、バックアップデータ領域1214dのみとなる。
【0082】
図17に示すように、バックアップ領域121に、バックアップ使用可能領域、2つのバックアップデータ領域、2つのバックアップデータの間に開放済領域が設定されていた場合に、開放済領域1214cとバックアップ使用可能領域1214aとの間のバックアップデータ領域が開放され、開放データ1214bが生じたとき、使用可能領域終点が、開放データ1214bおよび開放済領域1214cのサイズの分、アドレスの値が増加する方向に移動する。このため、開放前のバックアップ使用可能領域1214aの終了位置に対応する使用可能領域終了ポインタ151a2cは、開放済領域1214cの先頭のブロック1214c1の制御情報121d71のネクストアドレスが参照され、開放後のバックアップ使用可能領域の終了位置(参照されたネクストアドレスの1つ前のアドレス)に対応する使用可能領域終了ポインタ151a2dに更新される。また、開放データ1214bの領域の開放により、開放データ1214bが開放された領域の先頭のブロック1214b1の制御情報121d61が更新され、制御情報121d62となる。制御情報121d62には、状態フラグにバックアップデータ領域であることを示す値が設定される。ネクストアドレスおよびサイズには、バックアップ使用可能領域に対応する値が設定される。また、開放データ1214bの領域の開放により、開放済領域1214cがバックアップ使用可能領域となるため、開放済領域1214cの先頭のブロック1214c1の制御情報121d71が更新され、制御情報121d72となる。制御情報121d72には、状態フラグにバックアップデータ領域であることを示す値が設定される。ネクストアドレスおよびサイズには、バックアップ使用可能領域に対応する値が設定される。また、バックアップ情報記憶部173に記憶されているバックアップ情報に、開放データ1214bに対応する削除されたバックアップデータのバックアップ情報が削除される。
【0083】
図18は、第2の実施の形態のバックアップ領域における領域管理を示す図である。図18に示す第2の実施の形態のバックアップ領域121には、バックアップ使用可能領域1215a、バックアップデータ領域1215b,1215d,1215f,1215h、開放済領域1215c,1215e,1215gが設定されている。
【0084】
第2の実施の形態のストレージ装置100では、バックアップ領域121におけるバックアップデータの書き込み可能量は、バックアップ使用可能領域1215aの記憶容量となる。バックアップ使用可能領域1215aの記憶容量は、使用可能領域始点のボリュームおよびアドレスと使用可能領域終点のボリュームおよびアドレスとの差によって管理される。
【0085】
第2の実施の形態のストレージ装置100では、バックアップ使用可能領域1215aを1つの連続した記憶領域として使用し、バックアップ使用可能領域1215aと不連続な空き領域である開放済領域1215c,1215e,1215gを、バックアップデータの書き込みに使用しない。バックアップ対象の元データのサイズが、バックアップ使用可能領域1215aの記憶容量よりも大きい場合、バックアップデータをバックアップ領域121に書き込むことができない。
【0086】
ここで、バックアップ領域121に書き込まれた各バックアップデータが、FIFOで書き込みおよび削除されていれば、開放済領域の発生は抑制され、バックアップ使用可能領域1215aの記憶容量の低下が抑制される。また、ストレージ装置100は、バックアップ領域121が所定の比率以下に減少したことを検出した場合等、バックアップ使用可能領域1215aの記憶容量が低下した場合に、自動的または管理者に通知し、バックアップ領域121にボリュームを増設することができる。また、ストレージ装置100は、バックアップ領域121が所定の比率以上に増加したことを検出した場合等、バックアップ使用可能領域1215aの記憶容量が増大した場合に、自動的または管理者に通知し、バックアップ領域121からボリュームを削除することができる。
【0087】
図19は、第2の実施の形態のバックアップ領域のボリュームの増設を示す図である。第2の実施の形態のストレージ装置100は、上記のように、ボリューム121a1(ボリューム#11)、ボリューム121a2(ボリューム#12)、ボリューム121a3(ボリューム#13)に設定されたバックアップ領域121を、ボリュームおよび上記ボリュームにおけるアドレスを用いて管理する。具体的には、図19に示すように、バックアップ領域121にバックアップデータ領域1216a,1216c、バックアップ使用可能領域1216bが設定されているものとする。また、バックアップデータ領域1216a,1216cは、図19では上下に分離しているが、バックアップ領域121は循環しており、バックアップデータ領域1216a,1216cは、連続しているものとする。
【0088】
また、使用可能領域始点の値がボリューム121a2(ボリューム#12)のアドレス:0x2000000000であるものとする。また、ボリューム121a2における使用可能領域始点以降のアドレスの記憶領域121a22は、バックアップ使用可能領域1216bの一部である。また、ボリューム121a2における使用可能領域始点以前のアドレスの記憶領域121a21は、バックアップデータ領域1216aの一部である。また、使用可能領域終点の値がボリューム121a3(ボリューム#13)のアドレス:0x1000000000であるものとする。また、ボリューム121a3における使用可能領域終点以前のアドレスの記憶領域121a31は、バックアップ使用可能領域1216bの一部である。また、ボリューム121a2における使用可能領域始点以降のアドレスの記憶領域121a32は、バックアップデータ領域1216cである。また、ボリューム121a1(ボリューム#11)は、バックアップデータ領域1216aの一部である。
【0089】
ここで、バックアップ領域121に、ボリューム121a4(ボリューム#14)が、使用可能領域始点と使用可能領域終点との間に増設されるものとする。これにより、ボリューム121a4のすべての記憶領域が、増設領域1216b1としてバックアップ使用可能領域1216bの一部となりバックアップ使用可能領域1216bの記憶容量が増加する。
【0090】
図20は、第2の実施の形態のバックアップ領域のボリュームの削除を示す図である。第2の実施の形態のストレージ装置100は、上記のように、ボリューム121a1(ボリューム#11)、ボリューム121a2(ボリューム#12)、ボリューム121a3(ボリューム#13)、ボリューム121a4(ボリューム#14)に設定されたバックアップ領域121を、ボリュームおよび上記ボリュームにおけるアドレスを用いて管理する。具体的には、図20に示すように、バックアップ領域121にバックアップデータ領域1217a,1217c、バックアップ使用可能領域1217bが設定されているものとする。また、バックアップデータ領域1217a,1217cは、図20では上下に分離しているが、バックアップ領域121は循環しており、バックアップデータ領域1217a,1217cは、連続しているものとする。
【0091】
また、使用可能領域始点の値がボリューム121a2(ボリューム#12)のアドレス:0x2000000000であるものとする。また、ボリューム121a2における使用可能領域始点以降のアドレスの記憶領域121a22は、バックアップ使用可能領域1217bの一部である。また、ボリューム121a2における使用可能領域始点以前のアドレスの記憶領域121a21は、バックアップデータ領域1217aの一部である。また、使用可能領域終点の値がボリューム121a3(ボリューム#13)のアドレス:0x1000000000であるものとする。また、ボリューム121a3における使用可能領域終点以前のアドレスの記憶領域121a31は、バックアップ使用可能領域1217bの一部である。また、ボリューム121a2における使用可能領域始点以降のアドレスの記憶領域121a32は、バックアップデータ領域1217cである。また、ボリューム121a1(ボリューム#11)は、バックアップデータ領域1217aの一部である。また、使用可能領域始点のボリュームから使用可能領域終点のボリュームまでの間のボリューム121a4(ボリューム#14)は、バックアップデータ領域1217aの一部である。
【0092】
ここで、バックアップ領域121の記憶容量に余裕があり、ボリュームを減少させるものとする。この場合、ストレージ装置100は、バックアップ領域構成情報記憶部172に記憶されているバックアップ領域構成テーブル172aに基づき、使用可能領域始点のボリュームから使用可能領域終点のボリュームまでの間のボリュームのうち、最も使用可能領域終点に近いボリュームを、バックアップ使用可能領域1217bから削除する。図20では、使用可能領域始点のボリューム121a2から使用可能領域終点のボリューム121a3までの間のボリュームがボリューム121a4のみであるため、ボリューム121a4が、バックアップ使用可能領域1217bから削除される。これにより、ボリューム121a4の記憶領域である増設領域1217b1がバックアップ使用可能領域1217bから削除され、バックアップ使用可能領域1217bの記憶容量が減少する。
【0093】
図21は、第2の実施の形態のバックアップ処理を示すフローチャートである。第2の実施の形態のストレージ装置100は、ホストコンピュータ300が記憶デバイス120a〜120dに記憶されているデータについて更新を伴って使用する場合等に、記憶デバイス120a〜120dに記憶されているデータのバックアップを行う。このとき、ストレージ装置100は、バックアップ対象の元データをコピーしたバックアップデータをバックアップ領域121に書き込むバックアップ処理を実行する。以下では、図21に示すバックアップ処理をフローチャートのステップ番号に沿って説明する。
【0094】
[ステップS11]ポインタ制御部165は、使用可能領域ポインタ情報記憶部171を参照して、使用可能領域開始ポインタの値を取得する。
[ステップS12]ポインタ制御部165は、ステップS11で取得した使用可能領域開始ポインタの値に、バックアップ領域121に書き込むバックアップデータのデータサイズを加算し、加算した値を使用可能領域ポインタ情報記憶部171の使用可能領域ポインタに設定する。これにより、使用可能領域開始ポインタの値が、バックアップデータの書き込み後の開始位置を示すように変更される。
【0095】
[ステップS13]ポインタ制御部165は、バックアップデータのバックアップ領域121への書き込みにより新たに設定されるバックアップデータ領域について、制御情報を生成する。新たに設定されるバックアップデータ領域は、バックアップ使用可能領域の先頭部分であり、上記バックアップデータが書き込まれることで、新たにバックアップデータ領域となる領域である。
【0096】
[ステップS14]ポインタ制御部165は、バックアップデータのバックアップ領域121への書き込みによる変更後のバックアップ使用可能領域について、制御情報を生成する。変更後のバックアップ使用可能領域は、バックアップ使用可能領域のうちのバックアップデータが書き込まれる上記バックアップデータ領域以外の部分であり、上記バックアップデータの書き込みの後もバックアップ使用可能領域のまま維持される領域である。
【0097】
[ステップS15]バックアップ処理部162は、新たなバックアップデータ領域に書き込まれるバックアップデータのバックアップ情報を生成し、バックアップ情報記憶部173に記憶させる。
【0098】
[ステップS16]バックアップ処理部162は、バックアップデータを新たなバックアップデータ領域に書き込む。このとき、バックアップ処理部162は、新たなバックアップデータ領域の先頭のブロックに、ステップS13で生成した制御情報を書き込む。これにより、新たなバックアップデータ領域に、制御情報が設定される。また、バックアップ処理部162は、バックアップデータを書き込んだ後、続けてステップS14で生成した制御情報を次のブロックに書き込む。これにより、変更後のバックアップ使用可能領域に制御情報が設定される。その後、処理は終了する。
【0099】
図22および図23は、第2の実施の形態のバックアップデータ開放処理を示すフローチャートである。第2の実施の形態のストレージ装置100は、ホストコンピュータ300が記憶デバイス120a〜120dに記憶されているデータについての更新を伴う使用を終了した場合等に、バックアップ領域121に書き込まれたバックアップデータの削除を行う。このとき、ストレージ装置100は、バックアップ領域121においてバックアップデータが書き込まれたバックアップデータ領域を開放するバックアップデータ開放処理を実行する。以下では、図22および図23に示すバックアップデータ開放処理をフローチャートのステップ番号に沿って説明する。
【0100】
[ステップS21]開放部163は、バックアップ情報記憶部173に記憶されているバックアップ情報を参照して、開放の対象のバックアップデータのバックアップ情報を検出する。このとき、開放部163は、バックアップデータのファイル名により、開放の対象のバックアップデータを検出してもよい。
【0101】
[ステップS22]開放部163は、ステップS21で検出した開放の対象のバックアップデータのバックアップ情報を削除する。
[ステップS23]ポインタ制御部165は、開放の対象のバックアップデータ領域の制御情報を生成する。開放部163は、ポインタ制御部165が生成した制御情報を開放の対象のバックアップデータ領域の先頭のブロックに設定する。これにより、開放の対象のバックアップデータ領域の制御情報が更新される。
【0102】
[ステップS24]ポインタ制御部165は、使用可能領域ポインタ情報記憶部171を参照して、使用可能領域終了ポインタの値を取得する。
[ステップS25]判断部164は、開放の対象のバックアップデータの先頭のアドレスの1つ前のアドレスが、使用可能領域終了ポインタの値と一致するか否かを判定する。一致すれば(ステップS25 YES)、処理はステップS31(図23)に進められる。一方、一致しなければ(ステップS25 NO)、処理は終了する。
【0103】
[ステップS31]ポインタ制御部165は、ステップS24で取得した使用可能領域終了ポインタの値を、開放の対象のバックアップデータの制御情報のネクストアドレスの1つ前のアドレスに設定する更新を行う。これにより、使用可能領域終了ポインタの値が、開放の対象のバックアップデータの削除後の使用可能領域の終了位置を示すように変更される。従って、変更後のバックアップ使用可能領域において、最後部に開放の対象のバックアップデータ領域が追加される。
【0104】
[ステップS32]ポインタ制御部165は、開放の対象のバックアップデータの削除による変更後のバックアップ使用可能領域について、制御情報を生成する。開放部163は、ポインタ制御部165が生成した制御情報を開放の対象のバックアップデータの削除による変更後のバックアップ使用可能領域の先頭のブロックに設定する。これにより、バックアップ使用可能領域の制御情報が更新される。ここで、バックアップデータの開放の前後でバックアップ使用可能領域の開始位置は変更されない。従って、変更後のバックアップ使用可能領域の制御情報は、変更前のバックアップ使用可能領域の制御情報のブロックに書き込むことで更新される。変更後のバックアップ使用可能領域の制御情報では、状態フラグは、バックアップ使用可能領域を示す値(例えば、“0”)が設定される。ネクストアドレスは、開放の対象のバックアップデータ領域(または、開放により連続した開放済領域)の次の領域の先頭のアドレスが設定される。サイズは、“0”が設定される。
【0105】
[ステップS33]判断部164は、ステップS31で更新された使用可能領域終了ポインタに基づき、ステップS31による更新後の使用可能領域の次の領域の制御情報を取得する。
【0106】
[ステップS34]判断部164は、ステップS33で取得した制御情報の状態フラグが開放済領域を示す値(例えば、“1”)であるか否かを判定する。状態フラグが開放済領域を示す値であれば(ステップS34 YES)、処理はステップS31に進められる。一方、状態フラグが開放済領域を示す値でなければ(ステップS34 NO)、処理は終了する。
【0107】
図24は、第2の実施の形態のボリューム増設処理を示すフローチャートである。第2の実施の形態のストレージ装置100は、バックアップ領域121に対するバックアップデータ領域の比率(利用率)が所定の比率(例えば、90%)を超えた場合や、バックアップ領域121に対するバックアップ使用可能領域の比率(利用率)が所定の比率(例えば、10%)を下回った場合等に、バックアップ領域121にボリュームを追加してバックアップ領域121の記憶容量を増加するボリューム増設処理を実行する。以下では、図24に示すボリューム増設処理をフローチャートのステップ番号に沿って説明する。
【0108】
[ステップS41]ポインタ制御部165は、使用可能領域ポインタ情報記憶部171を参照して、使用可能領域開始ポインタの値および使用可能領域終了ポインタの値を取得する。
【0109】
[ステップS42]追加割当制御部166は、ステップS41で取得した使用可能領域開始ポインタの値および使用可能領域終了ポインタの値に基づき、使用可能領域開始ポインタのボリュームおよび使用可能領域終了ポインタのボリュームが一致するか否かを判定する。使用可能領域開始ポインタのボリュームおよび使用可能領域終了ポインタのボリュームが一致すれば(ステップS42 YES)、処理はステップS45に進められる。一方、使用可能領域開始ポインタのボリュームおよび使用可能領域終了ポインタのボリュームが一致しなければ(ステップS42 NO)、処理はステップS43に進められる。
【0110】
[ステップS43]追加割当制御部166は、バックアップ領域構成情報記憶部172を参照して、バックアップ領域構成情報を取得する。
[ステップS44]追加割当制御部166は、ステップS43で取得したバックアップ領域構成情報に、増設するボリュームを設定するように、バックアップ領域構成情報記憶部172に記憶されているバックアップ領域構成情報を更新する。これにより、バックアップ領域121にボリュームが増設され、バックアップ領域121の記憶容量が増加する。その後、処理は終了する。
【0111】
[ステップS45]追加割当制御部166は、ボリュームの増設を行わない。第2の実施の形態のストレージ装置100では、バックアップ領域121の使用率が所定の比率を超えており、かつ、使用可能領域開始ポインタのボリュームおよび使用可能領域終了ポインタのボリュームが一致する場合、すなわち、使用可能領域開始ポインタおよび使用可能領域終了ポインタが同一のボリュームに存在する場合には、バックアップ領域121にボリュームを増設しない。その後、処理は終了する。なお、これに限らず、ストレージ装置100は、バックアップ領域121のバックアップデータ領域における異なるボリュームの間にボリュームを追加して、バックアップ使用可能領域に割り当て、バックアップ領域の記憶容量を増加させてもよい。これにより、バックアップ使用可能領域の連続性よりもバックアップ使用可能領域の記憶容量の増加を優先させることができる。
【0112】
図25は、第2の実施の形態のボリューム削除処理を示すフローチャートである。第2の実施の形態のストレージ装置100は、バックアップ領域121に対するバックアップデータ領域の比率(利用率)が所定の比率(例えば、30%)を下回った場合等に、バックアップ領域121からボリュームを削除してバックアップ領域121の記憶容量を減少させ、ボリュームを待機等の他の用途に転用可能にするボリューム削除処理を実行する。以下では、図25に示すボリューム削除処理をフローチャートのステップ番号に沿って説明する。
【0113】
[ステップS51]ポインタ制御部165は、使用可能領域ポインタ情報記憶部171を参照して、使用可能領域開始ポインタの値および使用可能領域終了ポインタの値を取得する。
【0114】
[ステップS52]追加割当制御部166は、バックアップ領域構成情報記憶部172を参照して、バックアップ領域構成情報を取得する。
[ステップS53]追加割当制御部166は、ステップS51で取得した使用可能領域開始ポインタの値および使用可能領域終了ポインタの値ならびにステップS52で取得したバックアップ領域構成情報に基づき、使用可能領域開始ポインタのアドレスおよび使用可能領域終了ポインタのアドレスの間に、使用可能領域開始ポインタのボリュームおよび使用可能領域終了ポインタのボリューム以外の他のボリュームが存在するか否かを判定する。他のボリュームが存在すれば(ステップS53 YES)、処理はステップS54に進められる。一方、他のボリュームが存在しなければ(ステップS53 NO)、処理はステップS55に進められる。
【0115】
[ステップS54]追加割当制御部166は、ステップS52で取得したバックアップ領域構成情報からステップS53で使用可能領域開始ポインタのボリュームおよび使用可能領域終了ポインタのボリュームの間に存在すると判定したボリュームの1つを削除するように、バックアップ領域構成情報記憶部172に記憶されているバックアップ領域構成情報を更新する。これにより、バックアップ使用可能領域からボリュームが削除され、バックアップ領域121の記憶容量が減少する。ここで、使用可能領域開始ポインタのボリュームおよび使用可能領域終了ポインタのボリュームの間に複数のボリュームが存在する場合、使用可能領域終了ポインタを含むボリューム以外のボリュームであって最も使用可能領域終了ポインタに近いボリュームを削除する。これにより、バックアップデータの書き込みに使用される順序が遅いボリュームを削除することで、バックアップ処理の影響による遅延を抑制できる。その後、処理は終了する。
【0116】
[ステップS55]追加割当制御部166は、ボリュームの削除を行わない。ここで、第2の実施の形態のストレージ装置100では、使用可能領域開始ポインタのボリュームおよび使用可能領域終了ポインタのボリュームの間に他のボリュームが存在しない場合には、いずれのボリュームにおいても、少なくとも一部にバックアップデータが含まれていると考えられるため、バックアップ領域121のボリュームを削除しない。その後、処理は終了する。
【0117】
以上のような第2の実施の形態のストレージ装置100は、ポインタ制御部165が、バックアップデータ領域の開放時には、バックアップ使用可能領域終了ポインタを開放された領域の終了位置に移動させるので、バックアップ使用可能領域の連続性の低下を抑止することができる。
【0118】
また、バックアップ使用可能領域の記憶容量が減少した場合等には、追加割当制御部166が使用可能領域開始ポインタが示すアドレスと使用可能領域終了ポインタが示すアドレスとの間にボリュームを追加する。これにより、バックアップ使用可能領域の連続性を維持したままバックアップ使用可能領域の記憶容量を増加させることができる。
【0119】
また、バックアップ領域管理部167が、記憶デバイス120a〜120dのボリュームを識別するボリューム情報を含むバックアップ領域構成情報により、バックアップ領域121を管理する。これにより、ボリュームのアドレスを用いてバックアップ領域の連続性を維持することができ、ボリュームの記憶領域の管理が容易になる。また、バックアップ領域121へのボリュームの追加および削除が容易になる。
【0120】
また、ポインタ制御部165が、開放した領域が使用可能領域終了ポインタが示す位置に隣接しない場合、使用可能領域終了ポインタを移動せずに、開放した領域が開放済であることを、開放された領域の制御情報の状態フラグに設定する。これにより、バックアップ使用可能領域と隣接していないバックアップ領域121の記憶領域が開放された場合には、当該記憶領域をバックアップ使用可能領域に設定しないので、バックアップ使用可能領域の連続性が維持され、バックアップデータが連続しない領域に書き込まれることを抑制できる。
【0121】
また、追加割当制御部166が、バックアップ領域121の使用率が所定の比率以下になった場合等、バックアップ領域121の記憶容量に余裕が出た場合、全記憶領域が前記バックアップ使用可能領域に含まれているボリュームを1または複数個、バックアップ領域121から削除する。これにより、バックアップ領域121の記憶容量に余裕がある場合には、ボリュームをバックアップ使用可能領域から削除して他の用途に転用することができる。
【0122】
また、判断部164が、使用可能領域終了ポインタの移動により、開放済領域が使用可能領域終了ポインタが示す位置と隣接するか否かを判断する。ポインタ制御部165が、判断部164による判断の結果、使用可能領域終了ポインタの移動により、開放済領域が使用可能領域終了ポインタが示す位置と隣接する場合、使用可能領域終了ポインタを開放済領域の末尾に移動させる。これにより、バックアップ使用可能領域と、開放済領域との間のバックアップデータ領域が開放された場合、開放済領域および開放されたバックアップデータ領域がバックアップ使用可能領域となる。従って、バックアップ使用可能領域と隣接していない開放済領域について、バックアップ使用可能領域の連続性を維持しながら、バックアップ使用可能領域を増加させることができる。
【0123】
また、バックアップデータの領域、空き領域が不連続になるため、領域のアドレスやサイズなど領域単位で管理することになり領域の管理方法が複雑になることを解消でき、バックアップデータと空き領域の管理を単純化することができる。
【0124】
以上、開示のストレージ装置、制御装置およびストレージ装置制御方法を、図示の実施の形態に基づいて説明したが、各部の構成は同様の機能を有する任意の構成のものに置換することができる。また、開示の技術に他の任意の構成物や工程が付加されてもよい。また、開示の技術は前述した実施の形態のうちの任意の2以上の構成を組み合わせたものであってもよい。
【0125】
上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能であり、開示の技術は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
【符号の説明】
【0126】
1 ストレージ装置
11 制御部
11a バックアップ指示受信部
11b バックアップ処理部
11c 開放部
11d 判断部
11e ポインタ制御部
12 記憶部
12a バックアップ領域
【特許請求の範囲】
【請求項1】
記憶部と、前記記憶部に設けられたバックアップ領域へのデータのバックアップを制御する制御部とを有するストレージ装置であって、
前記制御部は、
前記バックアップ領域において、前記バックアップに使用可能な使用可能領域の先頭を示す使用可能領域開始ポインタと、前記使用可能領域の末尾を示す使用可能領域終了ポインタとを制御するポインタ制御部と、
前記バックアップの制御に関するバックアップ指示を受信するバックアップ指示受信部と、
前記バックアップ指示受信部が受信したバックアップ指示が前記バックアップの開始を指示するバックアップ開始指示の場合、前記バックアップ開始指示に基づいて前記使用可能領域開始ポインタが示す位置から使用可能領域をバックアップ対象のデータに割り当ててバックアップ処理を行うバックアップ処理部と、
前記バックアップ指示受信部が受信したバックアップ指示が前記バックアップの終了を指示するバックアップ終了指示の場合、前記バックアップ終了指示に基づいて、バックアップ対象のデータに割り当てられた領域を開放する開放部と、
前記開放部により開放した領域が、前記使用可能領域終了ポインタが示す位置に隣接するか否かを判断する判断部と、
を有し、
前記ポインタ制御部は、前記判断部による判断の結果、前記開放部により開放した領域が、前記使用可能領域終了ポインタが示す位置に隣接する場合、前記開放部により開放した領域の末尾に前記使用可能領域終了ポインタを移動させる、
ことを特徴とするストレージ装置。
【請求項2】
前記バックアップ領域に追加の記憶部を割り当てる追加割当制御部を有し、
前記追加割当制御部は、前記追加の記憶部によって前記バックアップ領域に追加される記憶領域を、前記使用可能領域開始ポインタが示す位置と前記使用可能領域終了ポインタが示す位置との間の使用可能領域に割り当てる、
ことを特徴とする請求項1記載のストレージ装置。
【請求項3】
前記記憶部を識別する識別情報と、前記記憶部の記憶領域に割り当てられたアドレスに基づいて前記バックアップ領域を管理するバックアップ領域管理部を有することを特徴とする請求項2記載のストレージ装置。
【請求項4】
前記ポインタ制御部は、前記判断部による判断の結果、前記開放部により開放した領域が、前記使用可能領域終了ポインタが示す位置に隣接しない場合、前記使用可能領域終了ポインタを更新せずに、前記開放部により開放した記憶領域が開放済であることを状態フラグに設定する、
ことを特徴とする請求項3記載のストレージ装置。
【請求項5】
前記追加割当制御部は、前記バックアップ領域の使用率が所定の比率以下になった場合、全記憶領域が前記使用可能領域に含まれている記憶部を前記バックアップ領域から削除する、
ことを特徴とする請求項2記載のストレージ装置。
【請求項6】
前記判断部は、前記使用可能領域終了ポインタの移動により、前記状態フラグに開放済であることが設定されている領域が前記使用可能領域終了ポインタが示す位置と隣接するか否かを判断し、
前記ポインタ制御部は、前記判断部による判断の結果、前記使用可能領域終了ポインタの移動により、前記状態フラグに開放済であることが設定されている領域が前記使用可能領域終了ポインタが示す位置と隣接する場合、前記使用可能領域終了ポインタを前記状態フラグに開放済であることが設定されている領域の末尾に移動させる、
ことを特徴とする請求項4記載のストレージ装置。
【請求項7】
ストレージ装置の記憶部に設けられたバックアップ領域へのデータのバックアップを制御する制御部を有する制御装置であって、
前記制御部は、
前記バックアップ領域において、前記バックアップに使用可能な使用可能領域の先頭を示す使用可能領域開始ポインタと、前記使用可能領域の末尾を示す使用可能領域終了ポインタとを制御するポインタ制御部と、
前記バックアップの制御に関するバックアップ指示を受信するバックアップ指示受信部と、
前記バックアップ指示受信部が受信したバックアップ指示が前記バックアップの開始を指示するバックアップ開始指示の場合、前記バックアップ開始指示に基づいて前記使用可能領域開始ポインタが示す位置から使用可能領域をバックアップ対象のデータに割り当ててバックアップ処理を行うバックアップ処理部と、
前記バックアップ指示受信部が受信したバックアップ指示が前記バックアップの終了を指示するバックアップ終了指示の場合、前記バックアップ終了指示に基づいて、バックアップ対象のデータに割り当てられた領域を開放する開放部と、
前記開放部により開放した領域が、前記使用可能領域終了ポインタが示す位置に隣接するか否かを判断する判断部と、
を有し、
前記ポインタ制御部は、前記判断部による判断の結果、前記開放部により開放した領域が、前記使用可能領域終了ポインタが示す位置に隣接する場合、前記開放部により開放した領域の末尾に前記使用可能領域終了ポインタを移動させる、
ことを特徴とする制御装置。
【請求項8】
記憶部に設けられたバックアップ領域へのデータのバックアップを制御するストレージ装置制御方法であって、
前記バックアップの制御に関するバックアップ指示を受信し、
前記受信したバックアップ指示が前記バックアップの終了を指示するバックアップ終了指示の場合、前記バックアップ終了指示に基づいて、バックアップ終了対象のデータが割り当てられた領域を開放し、
前記開放した領域が、バックアップに使用可能な使用可能領域の末尾を示す使用可能領域終了ポインタが示す位置に隣接するか否かを判断し、
前記判断の結果、前記開放した領域が、前記使用可能領域終了ポインタが示す位置に隣接する場合、前記使用可能領域終了ポインタを前記開放した領域の末尾に移動させる、
ことを特徴とするストレージ装置制御方法。
【請求項1】
記憶部と、前記記憶部に設けられたバックアップ領域へのデータのバックアップを制御する制御部とを有するストレージ装置であって、
前記制御部は、
前記バックアップ領域において、前記バックアップに使用可能な使用可能領域の先頭を示す使用可能領域開始ポインタと、前記使用可能領域の末尾を示す使用可能領域終了ポインタとを制御するポインタ制御部と、
前記バックアップの制御に関するバックアップ指示を受信するバックアップ指示受信部と、
前記バックアップ指示受信部が受信したバックアップ指示が前記バックアップの開始を指示するバックアップ開始指示の場合、前記バックアップ開始指示に基づいて前記使用可能領域開始ポインタが示す位置から使用可能領域をバックアップ対象のデータに割り当ててバックアップ処理を行うバックアップ処理部と、
前記バックアップ指示受信部が受信したバックアップ指示が前記バックアップの終了を指示するバックアップ終了指示の場合、前記バックアップ終了指示に基づいて、バックアップ対象のデータに割り当てられた領域を開放する開放部と、
前記開放部により開放した領域が、前記使用可能領域終了ポインタが示す位置に隣接するか否かを判断する判断部と、
を有し、
前記ポインタ制御部は、前記判断部による判断の結果、前記開放部により開放した領域が、前記使用可能領域終了ポインタが示す位置に隣接する場合、前記開放部により開放した領域の末尾に前記使用可能領域終了ポインタを移動させる、
ことを特徴とするストレージ装置。
【請求項2】
前記バックアップ領域に追加の記憶部を割り当てる追加割当制御部を有し、
前記追加割当制御部は、前記追加の記憶部によって前記バックアップ領域に追加される記憶領域を、前記使用可能領域開始ポインタが示す位置と前記使用可能領域終了ポインタが示す位置との間の使用可能領域に割り当てる、
ことを特徴とする請求項1記載のストレージ装置。
【請求項3】
前記記憶部を識別する識別情報と、前記記憶部の記憶領域に割り当てられたアドレスに基づいて前記バックアップ領域を管理するバックアップ領域管理部を有することを特徴とする請求項2記載のストレージ装置。
【請求項4】
前記ポインタ制御部は、前記判断部による判断の結果、前記開放部により開放した領域が、前記使用可能領域終了ポインタが示す位置に隣接しない場合、前記使用可能領域終了ポインタを更新せずに、前記開放部により開放した記憶領域が開放済であることを状態フラグに設定する、
ことを特徴とする請求項3記載のストレージ装置。
【請求項5】
前記追加割当制御部は、前記バックアップ領域の使用率が所定の比率以下になった場合、全記憶領域が前記使用可能領域に含まれている記憶部を前記バックアップ領域から削除する、
ことを特徴とする請求項2記載のストレージ装置。
【請求項6】
前記判断部は、前記使用可能領域終了ポインタの移動により、前記状態フラグに開放済であることが設定されている領域が前記使用可能領域終了ポインタが示す位置と隣接するか否かを判断し、
前記ポインタ制御部は、前記判断部による判断の結果、前記使用可能領域終了ポインタの移動により、前記状態フラグに開放済であることが設定されている領域が前記使用可能領域終了ポインタが示す位置と隣接する場合、前記使用可能領域終了ポインタを前記状態フラグに開放済であることが設定されている領域の末尾に移動させる、
ことを特徴とする請求項4記載のストレージ装置。
【請求項7】
ストレージ装置の記憶部に設けられたバックアップ領域へのデータのバックアップを制御する制御部を有する制御装置であって、
前記制御部は、
前記バックアップ領域において、前記バックアップに使用可能な使用可能領域の先頭を示す使用可能領域開始ポインタと、前記使用可能領域の末尾を示す使用可能領域終了ポインタとを制御するポインタ制御部と、
前記バックアップの制御に関するバックアップ指示を受信するバックアップ指示受信部と、
前記バックアップ指示受信部が受信したバックアップ指示が前記バックアップの開始を指示するバックアップ開始指示の場合、前記バックアップ開始指示に基づいて前記使用可能領域開始ポインタが示す位置から使用可能領域をバックアップ対象のデータに割り当ててバックアップ処理を行うバックアップ処理部と、
前記バックアップ指示受信部が受信したバックアップ指示が前記バックアップの終了を指示するバックアップ終了指示の場合、前記バックアップ終了指示に基づいて、バックアップ対象のデータに割り当てられた領域を開放する開放部と、
前記開放部により開放した領域が、前記使用可能領域終了ポインタが示す位置に隣接するか否かを判断する判断部と、
を有し、
前記ポインタ制御部は、前記判断部による判断の結果、前記開放部により開放した領域が、前記使用可能領域終了ポインタが示す位置に隣接する場合、前記開放部により開放した領域の末尾に前記使用可能領域終了ポインタを移動させる、
ことを特徴とする制御装置。
【請求項8】
記憶部に設けられたバックアップ領域へのデータのバックアップを制御するストレージ装置制御方法であって、
前記バックアップの制御に関するバックアップ指示を受信し、
前記受信したバックアップ指示が前記バックアップの終了を指示するバックアップ終了指示の場合、前記バックアップ終了指示に基づいて、バックアップ終了対象のデータが割り当てられた領域を開放し、
前記開放した領域が、バックアップに使用可能な使用可能領域の末尾を示す使用可能領域終了ポインタが示す位置に隣接するか否かを判断し、
前記判断の結果、前記開放した領域が、前記使用可能領域終了ポインタが示す位置に隣接する場合、前記使用可能領域終了ポインタを前記開放した領域の末尾に移動させる、
ことを特徴とするストレージ装置制御方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【公開番号】特開2013−73594(P2013−73594A)
【公開日】平成25年4月22日(2013.4.22)
【国際特許分類】
【出願番号】特願2011−214610(P2011−214610)
【出願日】平成23年9月29日(2011.9.29)
【出願人】(000005223)富士通株式会社 (25,993)
【出願人】(399076998)株式会社富士通ビー・エス・シー (56)
【Fターム(参考)】
【公開日】平成25年4月22日(2013.4.22)
【国際特許分類】
【出願日】平成23年9月29日(2011.9.29)
【出願人】(000005223)富士通株式会社 (25,993)
【出願人】(399076998)株式会社富士通ビー・エス・シー (56)
【Fターム(参考)】
[ Back to top ]