(57)【要約】【課題】データアクセスに伴う排他待ちを抑制することを課題とする。【解決手段】バックアップ装置１０は、物理ＬＢＡの連続したエントリ数を示す連続エントリ数情報をＬＢＡ変換テーブル１４ｃに設定する。そして、バックアップ装置１０は、読み出し要求を受け付けた場合に、読み出しを要求された論理ＬＢＡのうち先頭の論理ＬＢＡに対応するＬＢＡ変換テーブル１４ｃのエントリを読み出し、ＬＢＡ変換テーブル１４ｃのエントリに設定された連続エントリ数情報を取得する。その後、バックアップ装置１０は、取得された連続エントリ数情報に応じて、連続する物理ＬＢＡに対応する物理ボリュームを読み出す。【選択図】        図１
2010134659.tif 000002
【特許請求の範囲】
【請求項１】
上位装置から指定される論理アドレスとコピー先ボリュームでのデータ格納位置を示す物理アドレスとが対応付けられて記憶されているアドレス変換テーブルと、
前記物理アドレスからの連続したデータ数を示す連続データ数情報を前記アドレス変換テーブルに設定する連続データ数設定部と、
読み出し要求を受け付けた場合に、当該読み出しを要求された論理アドレスのうち先頭の論理アドレスに対応するアドレス変換テーブルのデータを読み出し、当該アドレス変換テーブルに設定された前記連続データ数情報を取得する連続データ情報取得部と、
前記連続データ情報取得部によって取得された前記連続データ数情報に応じて、連続する物理アドレスに対応する物理ボリュームを読み出す読出部と、
を備えることを特徴とするバックアップ装置。
【請求項２】
前記連続データ数設定部は、最後に割り当てを行った論理アドレスと今回アドレス変換テーブルを割り当てる論理アドレスとが連続しているか判定し、当該最後に割り当てを行った論理アドレスと今回アドレス変換テーブルを割り当てる論理アドレスとが連続している場合には、当該最後に割り当てを行った論理アドレスに対応する物理アドレスと今回アドレス変換テーブルを割り当てる論理アドレスに対応する物理アドレスとが連続するものとして、前記連続データ数情報を設定することを特徴とする請求項１に記載のバックアップ装置。
【請求項３】
一定時間、前記アドレス変換テーブルの新規割当てが行われなかった場合に、最後に割り当てを行った論理アドレスと今回アドレス変換テーブルを割り当てる論理アドレスとが連続しているか判定し、当該最後に割り当てを行った論理アドレスと今回アドレス変換テーブルを割り当てる論理アドレスとが連続している場合には、当該最後に割り当てを行った論理アドレスに対応する物理アドレスと今回アドレス変換テーブルを割り当てる論理アドレスに対応する物理アドレスとが連続するものとして、前記連続データ数情報を更新する連続データ数更新部をさらに備えることを特徴とする請求項１または２に記載のバックアップ装置。
【請求項４】
前記読出部は、前記連続データ数設定部による前記連続データ数情報の設定処理が完了していない論理アドレスに対する読み出し要求があった場合には、最後にアドレス変換テーブルを割り当てた論理アドレスまでは連続しているものと物理ボリュームを読み出すことを特徴とする請求項１〜３のいずれか一つに記載のバックアップ装置。
【請求項５】
上位装置から指定される論理アドレスとコピー先ボリュームでのデータ格納位置を示す物理アドレスとが対応付けられて記憶されているアドレス変換テーブルに、前記物理アドレスからの連続したデータ数を示す連続データ数情報を設定する連続データ数設定ステップと、
読み出し要求を受け付けた場合に、当該読み出しを要求された論理アドレスのうち先頭の論理アドレスに対応するアドレス変換テーブルのデータを読み出し、当該アドレス変換テーブルに設定された前記連続データ数情報を取得する連続データ情報取得ステップと、
前記連続データ情報取得ステップによって取得された前記連続データ数情報に応じて、連続する物理アドレスに対応する物理ボリュームを読み出す読出ステップと、
を含んだことを特徴とするバックアップ方法。
【請求項６】
上位装置から指定される論理アドレスとコピー先ボリュームでのデータ格納位置を示す物理アドレスとが対応付けられて記憶されているアドレス変換テーブルに、前記物理アドレスからの連続したデータ数を示す連続データ数情報を設定する連続データ数設定手順と、
読み出し要求を受け付けた場合に、当該読み出しを要求された論理アドレスのうち先頭の論理アドレスに対応するアドレス変換テーブルのデータを読み出し、当該アドレス変換テーブルに設定された前記連続データ数情報を取得する連続データ情報取得手順と、
前記連続データ情報取得手順によって取得された前記連続データ数情報に応じて、連続する物理アドレスに対応する物理ボリュームを読み出す読出手順と、
をコンピュータに実行させることを特徴とするバックアッププログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、論理ＬＢＡから物理ＬＢＡへの変換をＬＢＡ変換テーブルを用いて行うバックアップ装置、バックアップ方法およびバックアッププログラムに関する。
【背景技術】
【０００２】
従来より、ストレージ製品やコンピュータにおけるコピー元ボリュームをバックアップする手法の一つとして、ＯＰＣ（Ｏｎｅ  Ｐｏｉｎｔ  Ｃｏｐｙ）が知られている。ＯＰＣとは、バックアップ対象となるデータについて所定時点における（その後の更新等を含まない）データであるスナップショットを作成するものであり、具体的には、バックアップを作成する際に、当該作成時点における対象となるコピー元ボリュームの全データをバックアップする手法である。
【０００３】
例えば、ＯＰＣを実行するバックアップ装置は、ユーザからＯＰＣを行う旨のＯＰＣ指示を受付けると、当該ＯＰＣ指示を受付けた時点におけるコピー元ボリュームの全データを複製（コピー）する。そして、当該バックアップ装置は、当該ＯＰＣ指示を受付けた時点におけるスナップショットとして、複製したデータ（バックアップデータ）を格納する。具体的な一例をあげて説明すると、当該バックアップ装置は、ＯＰＣ指示を受付けた時刻や世代（セッション情報）に対応付けて、コピー元ボリューム全体を複製したデータであるバックアップデータを格納する。
【０００４】
また、上記したＯＰＣの拡張機能の一つとして、ＳｎａｐＯＰＣという手法が知られている。ＳｎａｐＯＰＣとは、バックアップを作成する際に、コピー元ボリュームのデータの内、更新が行われた箇所における更新前のデータのみをバックアップする手法である。
【０００５】
ＳｎａｐＯＰＣでは、ＳｎａｐＯＰＣでは、コピー先ボリュームとして実際にデータがコピーされるボリュームとしてコピー元ボリュームよりも容量の小さいボリューム（物理ボリューム）が獲得される。そのため、コピー先で必要とされる容量を低減することが可能である。一方で、ホストからコピー元ボリュームと同様のアクセスをコピー先でも可能とするために、ホストにはコピー元ボリュームと同一の容量があるボリュームとして認識させている（論理ボリューム）。そこで、ここでは、物理ボリューム上のＬＢＡを物理ＬＢＡとよび、論理ボリューム上のＬＢＡを論理ＬＢＡとよぶ。
【０００６】
具体的には、ＳｎａｐＯＰＣでは、図９に示すように、コピー先ボリュームに対して、物理上のＬＢＡ（Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ  Ａｄｒｅｓｓｉｎｇ）と論理的なＬＢＡを定義し、ＳｎａｐＯＰＣのコピー先ボリュームを「Ｓｎａｐ  Ｄａｔａ  Ｖｏｌｕｍｅ（ＳＤＶ）」と呼ぶ。また、コピー先のボリュームに関して、ホストに見えるＬＢＡを論理ＬＢＡ」と呼び、物理的に構成されたＬＢＡを「物理ＬＢＡ」と呼ぶ。なお、論理容量は、コピー元容量と等しくなる。
【０００７】
そして、ＳｎａｐＯＰＣを実行するバックアップ装置は、コピーセッションの設定やホストＩ／Ｏを論理ＬＢＡに対して行ない、ＳＤＶ上には物理ＬＢＡとして前詰めで記録する。その際に、論理ＬＢＡから物理ＬＢＡへ変換するテーブルとしてＬＢＡ変換テーブル域がＳＤＶ上に確保されている（図１０参照）。ＬＢＡ変換テーブルは、コピーを実行する際のデータ単位であるエントリ（例えば、１ＬＢＡ単位が５１２ｂｙｔｅ）を、論理容量分（１６ＬＢＡを１エントリとした単位で管理するため、総論理ＬＢＡ数／１６のエントリ）保持する。ＳｎａｐＯＰＣを実行するバックアップ装置は、論理ＬＢＡから対応する物理ＬＢＡ（１６ＬＢＡ長）の開始アドレスを得ることができるようになっている。
【０００８】
バックアップ装置は、ホストからのＩ／Ｏ要求を受け付けてＬＢＡ変換テーブルを読み出す場合に、一度のＲｅａｄでＩ／Ｏ全体のＬＢＡ変換テーブルを読み出し、物理ＬＢＡが連続していれば一括してＲｅａｄ／Ｗｒｉｔｅ処理を行う。この場合に、ＬＢＡ変換テーブルに対するＲｅａｄ中には、そのＬＢＡ範囲に対する他のデータアクセスの排他を行う。このため、同じ領域にアクセスするＩ／Ｏが発生した場合には、排他待ちとなり、排他待ち時間が発生する（図１１参照）。
【０００９】
【特許文献１】特開２００６−２２１６３６号公報
【特許文献２】特開２００５−２９３７７４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
ところで、上記した従来の技術では、一度のＩ／Ｏに対して複数のエントリをＬＢＡ変換テーブルから読み出すため、ＬＢＡ変換テーブルに対する他のデータアクセスの排他待ちが頻発するという課題がある。
【００１１】
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、データアクセスの排他待ちを抑制することを目的とする。
【課題を解決するための手段】
【００１２】
上述した課題を解決し、目的を達成するため、この装置は、物理ＬＢＡの連続したエントリ数を示す連続エントリ数情報をＬＢＡ変換テーブルに設定する。そして、読み出し要求を受け付けた場合に、当該読み出しを要求された論理ＬＢＡのうち先頭の論理ＬＢＡに対応するＬＢＡ変換テーブルのエントリを読み出し、当該ＬＢＡ変換テーブルのエントリに設定された連続エントリ数情報を取得する。その後、取得された連続エントリ数情報に応じて、連続する物理ＬＢＡに対応する物理ボリュームを読み出すことを要件とする。
【発明の効果】
【００１３】
開示の装置は、連続エントリ数情報に応じて、連続する物理ＬＢＡに対応する物理ボリュームを読み出すので、ＬＢＡ変換テーブルの１エントリで大きな物理ＬＢＡ範囲を管理できるように改善し、データアクセスの排他待ちを抑制するという効果を奏する。
【発明を実施するための最良の形態】
【００１４】
以下に添付図面を参照して、この発明に係るバックアップ装置、バックアップ方法およびバックアッププログラムの実施例を詳細に説明する。
【実施例１】
【００１５】
以下の実施例では、実施例１に係るバックアップ装置の構成および処理の流れを順に説明し、最後に実施例１による効果を説明する。
【００１６】
［バックアップ装置の構成］
まず最初に、図１〜図６を用いて、バックアップ装置１０の構成を説明する。図１は、実施例１に係るバックアップ装置の構成を示すブロック図である。図２は、ＳＤＶ用ＬＢＡテーブルフォーマットを説明するための図である。図３は、連続エントリ数カウントについて説明するための図である。図４は、ＬＢＡ変換テーブル読み出し処理について説明するための図である。図５は、ＬＢＡ変換テーブル読み出し処理の効果について説明するための図である。図６は、連続エントリ数カウントの更新処理について説明するための図である。
【００１７】
図１に示すように、このバックアップ装置１０は、ＣＡ（Ｃｈａｎｎｅｌ  Ａｄａｐｔｅｒ）１１、ＤＡ（Ｄｉｓｋ  Ａｄａｐｔｅｒ）１２、制御部１３、記憶部１４を備え、ＣＡ１０を介してホスト２０と接続される。以下にこれらの各部の処理を説明する。
【００１８】
ここで、ホスト２０は、オペレータによって使用される装置であり、例えば、このバックアップ装置１０を管理するユーザによって使用されるコンピュータ端末などが該当し、後述するＣＡ１１を経由して、バックアップ装置１０に、スナップショット作成する旨の指示を送信する。
【００１９】
ＣＡ１１は、ホスト２０とのＩ／Ｆ制御部であり、ホスト２０との間における情報の送受信を制御する。具体的には、ホスト２０から、Ｗｒｉｔｅ要求やＲｅａｄ要求（Ｉ／Ｏ要求）、スナップショットを作成する旨の指示を受信する処理を制御し、当該要求および指示に対する応答をホスト２０に送信する処理を制御する。
【００２０】
ＤＡ１２は、ディスクとのＩ／Ｆ制御部であり、制御部１３および記憶部１４との間における情報の送受信を制御する。例えば、ＤＡ１２は、記憶部１４に記憶されているデータの読み出しを制御したり、ＬＢＡ変換テーブル１４ｃに連続エントリ数カウントを設定、更新する処理を制御したりする。
【００２１】
記憶部１４は、バックアップ処理に必要なデータを記憶する記憶媒体であり、特に本発明に密接に関連するものとしては、コピー元ボリューム記憶部１４ａと、スナップショット記憶部１４ｂと、そのスナップショット記憶部１４ｂ内にＬＢＡ変換テーブル１４ｃを有する。
【００２２】
コピー元ボリューム記憶部１４ａは、バックアップ対象となるコピー元ボリュームを記憶する。なお、本発明は、バックアップ装置１０内のコピー元ボリューム記憶部１４ａに、バックアップ対象となるコピー元ボリュームを記憶する場合に限られるものではなく、例えば、ネットワークを経由して、コピー元ボリュームを記憶している記憶装置などに接続していてもよい。
【００２３】
スナップショット記憶部１４ｂは、バックアップを実行する時点における元データを示すスナップショットを記憶する。具体的には、スナップショット記憶部１４ｂは、後述する読出制御部１３ｅによって、記憶しているスナップショットのデータが読み出され、後述する書込制御部１３ａによって、記憶しているスナップショットのデータが変更される。
【００２４】
ＬＢＡ変換テーブル１４ｃは、コピー元ボリュームにおける箇所を特定する論理アドレスと、当該論理アドレスにおけるデータが格納されているスナップショット記憶部１４ｂ内の箇所を示す物理アドレスとを対応付けて、スナップショットが作成される時点各々について記憶するテーブルである。具体的には、ＬＢＡ変換テーブル１４ｃは、図２に例示するように、物理ＬＢＡの連続性に関する情報である連続エントリ数カウント（図２の例では、「Ｃｏｕｎｔ」と記載）を記憶している。
【００２５】
この連続エントリ数カウントは、そのエントリからＣｏｕｎｔ個のエントリにおける物理ＬＢＡ１４ｃが連続していることを示す。バックアップ装置１０は、Ｗｒｉｔｅ処理によりＬＢＡ変換テーブル１４ｃの新規割当てを行う場合に、連続エントリ数カウントを設定する（後に図３を用いて詳述）。なお、以下に説明するコピー先ボリュームへのＷｒｉｔｅ処理だけでなく、コピー元ボリュームへのＷｒｉｔｅ処理契機のコピー処理におけるＬＢＡ変換テーブル１４ｃの割当てにおいても、連続エントリ数カウントを設定する処理を行う。
【００２６】
制御部１３は、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行するが、特に、書込制御部１３ａ、割当制御部１３ｂ、連続エントリ数設定部１３ｃ、連続エントリ数取得部１３ｄ、読出制御部１３ｅ、連続エントリ数更新部１３ｆを有する。なお、以下で詳述するが、制御部１３は、最後にＬＢＡ変換テーブル１４ｃを割り当てた論理ＬＢＡ、連続性が検出されてから現時点まで継続しているエントリ数を示す継続中連続エントリ数、更新処理を行ったことを示す更新処理完了フラグをそれぞれ図示しないメモリに記憶させる。
【００２７】
書込制御部１３ａは、ホスト２０からコピー元ボリュームに対して変更を実行する旨の要求（Ｉ／Ｏ要求）を受信すると、コピー元ボリュームに対する更新を実行する。そして、ホスト２０からの更新要求（つまり、コピー元ボリュームに対して変更を実行する旨の要求）に対して、実行した旨を応答する。また、書込制御部１３ａは、更新が行われた箇所に対応する更新直前の元データをスナップショット記憶部１４ｂに格納する。
【００２８】
割当制御部１３ｂは、バックアップを実行する指示を受付けると、当該指示によって示される時点について作成されるスナップショットを格納する記憶領域を、当該指示によって示される時点それぞれに割り当てる。具体的には、割当制御部１３ｂは、前述した書込制御部１３ａによってコピー元ボリュームに対する更新処理（Ｗｒｉｔｅ処理）が実行された場合に、コピー元ボリュームのＬＢＡ変換テーブル１４ｃに新規割当てを行い、新規割当てを行う旨の通知を連続エントリ数設定部１３ｃに通知する。
【００２９】
連続エントリ数設定部１３ｃは、図３に示すように、物理ＬＢＡの連続したエントリ数を示す連続エントリ数情報をＬＢＡ変換テーブル１４ｃに設定する。例えば、連続エントリ数設定部１３ｃは、図３に示すように、Ｗｒｉｔｅ処理契機のコピー処理時において、論理ＬＢＡ０ｘ２０〜０ｘ４０に対して連続する物理ＬＢＡが割り当てられた場合に、連続エントリ数情報である「カウント」を設定する。
【００３０】
つまり、連続エントリ数設定部１３ｃは、前回割り当てを行った論理ＬＢＡと今回ＬＢＡ変換テーブルを割り当てる論理ＬＢＡとが連続しているか判定する。そして、連続エントリ数設定部１３ｃは、前回割り当てを行った論理ＬＢＡと今回ＬＢＡ変換テーブルを割り当てる論理ＬＢＡとが連続している場合には、前回割り当てを行った論理ＬＢＡに対応する物理ＬＢＡと今回ＬＢＡ変換テーブルを割り当てる論理ＬＢＡに対応する物理ＬＢＡとが連続するものとして、連続エントリ数情報を設定する。
【００３１】
詳細な処理について説明すると、連続エントリ数設定部１３ｃは、割当制御部１３ｂから新規割当てを行う旨の通知を受信すると、最後に割り当てを行った論理ＬＢＡと今回ＬＢＡ変換テーブル１４ｃを割り当てる論理ＬＢＡとが連続しているか判定する。
【００３２】
その結果、連続エントリ数設定部１３ｃは、最後に割り当てを行った論理ＬＢＡと今回ＬＢＡ変換テーブル１４ｃを割り当てる論理ＬＢＡとが連続している場合には、メモリ上に保持する継続中連続エントリ数をインクリメントし、改めて更新処理が必要となるため更新処理完了フラグを落とす。
【００３３】
また、連続エントリ数設定部１３ｃは、最後に割り当てを行った論理ＬＢＡと今回ＬＢＡ変換テーブル１４ｃを割り当てる論理ＬＢＡとが連続していない場合には、更新処理完了フラグが落ちているか判定する。
【００３４】
その結果、連続エントリ数設定部１３ｃは、更新処理完了フラグが落ちている場合には継続中連続エントリ数と今回の論理ＬＢＡから算出される連続ＬＢＡ変換テーブルを全てステージングし、それらの連続エントリ数を設定する処理を行うとともに、更新処理完了フラグを立てる。
【００３５】
連続エントリ数取得部１３ｄは、図４に示すように、ホスト２０から読み出し要求（Ｉ／Ｏ要求）を受け付けた場合に、当該読み出しを要求された論理ＬＢＡのうち先頭の論理ＬＢＡに対応するＬＢＡ変換テーブル１４ｃのエントリを読み出し、当該ＬＢＡ変換テーブル１４ｃのエントリに設定された連続エントリ数情報（図４の例では、カウント「２」）を取得する。その後、連続エントリ数取得部１３ｄは、取得された連続エントリ数情報としてのカウントの値を読出制御部１３ｅに通知する。
【００３６】
読出制御部１３ｅは、取得された前記連続エントリ数情報に応じて、連続する物理ＬＢＡに対応する物理ボリュームを読み出す。具体的には、読出制御部１３ｅは、連続エントリ数取得部１３ｄから連続エントリ数情報としてのカウントの値を受信すると、カウントの値分の物理ＬＢＡ上の物理ボリュームを読み出す。
【００３７】
このように、バックアップ装置１０は、図５に示すように、読み出すエントリを１エントリ（つまり、先頭の論理ＬＢＡに対応するＬＢＡ変換テーブル１４ｃのエントリ）のみにすることで、他の領域に対するＩ／Ｏが排他されない結果、データアクセス時間の短縮やデータアクセスに伴う排他待ちを抑制することができる。
【００３８】
また、読出制御部１３ｅは、連続エントリ数の更新処理が完了していない領域に対する読み出し要求である場合には、最後にＬＢＡ変換テーブル１４ｃを割り当てた論理ＬＢＡまでは連続しているものとして処理を行う。
【００３９】
つまり、読出制御部１３ｅは、Ｉ／Ｏを受け付けた開始ＬＢＡが未更新範囲に含まれるかを、最後にＬＢＡ変換テーブル１４ｃを割り当てた論理ＬＢＡと継続中連続エントリ数をもとに判定する。その結果、読出制御部１３ｅは、未更新範囲に含まれると判定した場合には、Ｉ／Ｏを受け付けた開始ＬＢＡに対応するＬＢＡ変換テーブル１４ｃを１エントリだけステージングし、該当ＬＢＡから最後にＬＢＡ変換テーブル１４ｃを割り当てた論理ＬＢＡまでのＬＢＡ範囲が連続しているものとして、物理ボリュームを読み出す。
【００４０】
連続エントリ数更新部１３ｆは、一定時間ＬＢＡ変換テーブル１４ｃの新規割当てが行われなかった場合には、連続エントリ数更新処理を行う。具体的には、連続エントリ数更新部１３ｆは、一定時間ＬＢＡ変換テーブル１４ｃの新規割当てが行われなかった場合には、継続中連続エントリ数分遡った範囲で、連続ＬＢＡ変換テーブルのカウントを更新する。
【００４１】
具体的な例を挙げて説明すると、図６に例示するように、連続エントリ数更新部１３ｆは、一定時間ＬＢＡ変換テーブル１４ｃの新規割当てが行われなかった場合に、前回の最後にＬＢＡ変換テーブル１４ｃに割り当てられた論理ＬＢＡ（図６の例では、０ｘ４０）と、先頭ＬＢＡ（図６の例では、０ｘ５０）が連続しているか判定する。その結果、連続エントリ数更新部１３ｆは、連続していると判定した場合には、それらのカウントを更新する連続エントリ数更新処理を行う。
【００４２】
［バックアップ装置による処理］
次に、図７を用いて、実施例１に係るバックアップ装置１０による処理を説明する。図７は、実施例１に係るバックアップ装置１０の処理動作を示すフローチャートである。
【００４３】
図７に示すように、バックアップ装置１０は、Ｉ／Ｏ発生を待機し（ステップＳ１０１）、Ｉ／Ｏ要求を受理すると、先頭論理ＬＢＡに対応するＬＢＡ変換テーブル１４ｃを１エントリだけステージングし（ステップＳ１０２）、ＬＢＡ変換テーブル１４ｃの新規割り当てが発生するか判定する（ステップＳ１０３）。
【００４４】
そして、バックアップ装置１０は、ＬＢＡ変換テーブル１４ｃの新規割り当てが発生する場合には（ステップＳ１０３肯定）、先頭の論理ＬＢＡに物理ＬＢＡを割り当ててＬＢＡ変換テーブル１４ｃを更新し（ステップＳ１０４）、最後に割り当てを行った論理ＬＢＡと今回ＬＢＡ変換テーブル１４ｃを割り当てる論理ＬＢＡとが連続しているか判定する（ステップＳ１０５）。
【００４５】
その結果、バックアップ装置１０は、最後に割り当てを行った論理ＬＢＡと今回ＬＢＡ変換テーブル１４ｃを割り当てる論理ＬＢＡとが連続している場合には（ステップＳ１０５肯定）、継続中連続エントリ数をインクリメントし、改めて更新処理が必要となるため更新処理完了フラグを落とす（ステップＳ１０６）。
【００４６】
また、バックアップ装置１０は、最後に割り当てを行った論理ＬＢＡと今回ＬＢＡ変換テーブル１４ｃを割り当てる論理ＬＢＡとが連続していない場合には（ステップＳ１０５否定）、更新処理完了フラグが落ちているか判定する（ステップＳ１０７）。
【００４７】
その結果、バックアップ装置１０は、更新処理完了フラグが落ちている場合には（ステップＳ１０７肯定）、継続中連続エントリ数と今回の論理ＬＢＡから算出される連続ＬＢＡ変換テーブル１４ｃを全てステージングし、それらの連続エントリ数設定処理を行うとともに、更新処理完了フラグを立てる（ステップＳ１０８）。
【００４８】
そして、バックアップ装置１０は、継続中連続エントリ数をクリアにし、最後にＬＢＡ変換テーブル１４ｃを割り当てた論理ＬＢＡをメモリ上に保持しておく（ステップＳ１０９）。その後、バックアップ装置１０は、物理ＬＢＡにアクセスしてＩ／Ｏ処理を行い、Ｉ／Ｏ処理が行われた範囲分の論理ＬＢＡを記憶する（ステップＳ１１０）。
【００４９】
その後、バックアップ装置１０は、Ｉ／Ｏ処理全てが完了したか判定し（ステップＳ１１１）、Ｉ／Ｏ処理全てが完了していない場合には（ステップＳ１１１否定）、Ｓ１０２に戻って上記の処理を繰り返し、また、Ｉ／Ｏ処理全てが完了した場合には（ステップＳ１１１肯定）、Ｓ１０１に戻って処理を繰り返す。
【００５０】
ここで、Ｓ１０３の説明に戻って、バックアップ装置１０は、ＬＢＡ変換テーブル１４ｃの新規割り当てが発生する場合には（ステップＳ１０３否定）、連続エントリ数の更新処理が完了していない領域に対するＩ／Ｏであるかを判定する（ステップＳ１１２）。その結果、バックアップ装置１０は、連続エントリ数の更新処理が完了していない領域に対するＩ／Ｏでない場合には（ステップＳ１１２否定）、Ｓ１１０に進む。
【００５１】
また、バックアップ装置１０は、連続エントリ数の更新処理が完了していない領域に対するＩ／Ｏである場合には（ステップＳ１１２肯定）、最後にＬＢＡ変換テーブル１４ｃを割り当てた論理ＬＢＡまでは連続しているものとして処理を行う（ステップＳ１１３）。
【００５２】
具体的には、バックアップ装置１０は、最後にＬＢＡ変換テーブル１４ｃを割り当てた論理ＬＢＡと継続中連続エントリ数を基に、Ｉ／Ｏを受け付けた開始ＬＢＡが未更新範囲に含まれるかを判定し、含まれる場合には、Ｉ／Ｏを受け付けた開始ＬＢＡに対応するＬＢＡ変換テーブル１４ｃを１エントリだけステージングし、該当ＬＢＡから最後にＬＢＡ変換テーブル１４ｃを割り当てた論理ＬＢＡまでのＬＢＡ範囲は連続しているものとして物理ＬＢＡを算出する。
【００５３】
ここで、ステップＳ１０１の説明に戻ると、バックアップ装置１０は、一定時間ＬＢＡ変換テーブル１４ｃの新規割当てが行われなかった場合には、更新処理完了フラグが落ちているか判定する（ステップＳ１１４）。その結果、バックアップ装置１０は、更新処理完了フラグが落ちている場合には（ステップＳ１１４肯定）、連続エントリ数更新処理を行うとともに、継続中連続エントリ数はクリアせず、更新処理完了フラグを立てる（ステップＳ１１５）。
【００５４】
[実施例１の効果]
上述してきたように、バックアップ装置１０は、物理ＬＢＡの連続したエントリ数を示す連続エントリ数情報をＬＢＡ変換テーブル１４ｃに設定する。そして、バックアップ装置１０は、読み出し要求を受け付けた場合に、読み出しを要求された論理ＬＢＡのうち先頭の論理ＬＢＡに対応するＬＢＡ変換テーブル１４ｃのエントリを読み出し、ＬＢＡ変換テーブル１４ｃのエントリに設定された連続エントリ数情報を取得する。その後、バックアップ装置１０は、取得された連続エントリ数情報に応じて、連続する物理ＬＢＡに対応する物理ボリュームを読み出す。このため、バックアップ装置１０は、読み出すエントリを１エントリ（つまり、先頭の論理ＬＢＡに対応するＬＢＡ変換テーブル１４ｃのエントリ）のみにすることで、他の領域に対するＩ／Ｏが排他されない結果、データアクセス時間の短縮やデータアクセスに伴う排他待ちを抑制することが可能である。
【００５５】
また、実施例１によれば、バックアップ装置１０は、最後に割り当てを行った論理ＬＢＡと今回ＬＢＡ変換テーブル１４ｃを割り当てる論理ＬＢＡとが連続しているか判定し、最後に割り当てを行った論理ＬＢＡと今回ＬＢＡ変換テーブル１４ｃを割り当てる論理ＬＢＡとが連続している場合には、最後に割り当てを行った論理ＬＢＡに対応する物理ＬＢＡと今回ＬＢＡ変換テーブルを割り当てる論理ＬＢＡに対応する物理ＬＢＡとが連続するものとして、連続エントリ数情報を設定する。このため、バックアップ装置１０は、連続エントリ数情報を適切に設定することが可能である。
【００５６】
また、実施例１によれば、バックアップ装置１０は、一定時間、ＬＢＡ変換テーブルの新規割当てが行われなかった場合に、最後に割り当てを行った論理ＬＢＡと今回ＬＢＡ変換テーブルを割り当てる論理ＬＢＡとが連続しているか判定し、最後に割り当てを行った論理ＬＢＡと今回ＬＢＡ変換テーブルを割り当てる論理ＬＢＡとが連続している場合には、最後に割り当てを行った論理ＬＢＡに対応する物理ＬＢＡと今回ＬＢＡ変換テーブルを割り当てる論理ＬＢＡに対応する物理ＬＢＡとが連続するものとして、連続エントリ数情報を更新する。このため、バックアップ装置１０は、例えば、複数Ｉ／Ｏに分かれたシーケンシャルＩ／Ｏの場合でも、連続した物理ＬＢＡとして連続エントリ数情報を設定することができる結果、正確に連続エントリ数情報を設定することが可能である。
【００５７】
また、実施例１によれば、バックアップ装置１０は、連続エントリ数情報の設定処理が完了していない論理ＬＢＡに対する読み出し要求があった場合には、最後にＬＢＡ変換テーブルを割り当てた論理ＬＢＡまでは連続しているものと物理ボリュームを読み出す。このため、バックアップ装置１０は、連続エントリ数情報の設定処理が完了していない領域に対する読み出しであっても、データアクセスの排他待ちを抑制することが可能である。
【実施例２】
【００５８】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では実施例２として本発明に含まれる他の実施例を説明する。
【００５９】
（１）システム構成等
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、書込制御部１３ａと読出制御部１３ｅを統合してもよい。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００６０】
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００６１】
（２）プログラム
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをコンピュータで実行することによって実現することができる。そこで、以下では、図８を用いて、上記の実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図８は、バックアッププログラムを実行するコンピュータを示す図である。
【００６２】
図８に示すように、バックアップ装置としてのコンピュータ６００は、ＨＤＤ６１０、ＲＡＭ６２０、ＲＯＭ６３０およびＣＰＵ６４０をバス６５０で接続して構成される。
【００６３】
そして、ＲＯＭ６３０には、上記の実施例と同様の機能を発揮するバックアッププログラム、つまり、図８に示すように、書込制御プログラム６３１、割当制御プログラム６３２、連続エントリ数設定プログラム６３３、連続エントリ数取得プログラム６３４、読出制御プログラム６３５および連続エントリ数更新プログラム６３６が予め記憶されている。なお、プログラム６３１〜６３６については、図１に示したバックアップ装置１０の各構成要素と同様、適宜統合または分散してもよい。
【００６４】
そして、ＣＰＵ６４０が、これらのプログラム６３１〜６３６をＲＯＭ６３０から読み出して実行することで、図８に示すように、各プログラム６３１〜６３６は、書込制御プロセス６４１、割当制御プロセス６４２、連続エントリ数設定プロセス６４３、連続エントリ数取得プロセス６４４、読出制御プロセス６４５および連続エントリ数更新プロセス６４６として機能するようになる。各プロセス６４１〜６４６は、図１に示した書込制御部１３ａ、割当制御部１３ｂ、連続エントリ数設定部１３ｃ、連続エントリ数取得部１３ｄ、読出制御部１３ｅ、連続エントリ数更新部１３ｆにそれぞれ対応する。
【００６５】
また、ＨＤＤ６１０には、図８に示すように、ＬＢＡ変換テーブル６１１が設けられる。なお、ＬＢＡ変換テーブル６１１は、図１に示したＬＢＡ変換テーブル１４ｃに対応する。そして、ＣＰＵ６４０は、ＬＢＡ変換テーブル６１１に対してデータを登録するとともに、ＬＢＡ変換テーブル６１１からＬＢＡ変換データ６２１を読み出してＲＡＭ６２０に格納し、ＲＡＭ６２０に格納されたＬＢＡ変換データ６２１に基づいて処理を実行する。
【図面の簡単な説明】
【００６６】
【図１】実施例１に係るバックアップ装置の構成を示すブロック図である。
【図２】ＳＤＶ用ＬＢＡテーブルフォーマットを説明するための図である。
【図３】連続エントリ数カウントについて説明するための図である。
【図４】ＬＢＡ変換テーブル読み出し処理について説明するための図である。
【図５】ＬＢＡ変換テーブル読み出し処理の効果について説明するための図である。
【図６】連続エントリ数カウントの更新処理について説明するための図である。
【図７】実施例１に係るバックアップ装置の処理手順を説明するためのフローチャートである。
【図８】バックアッププログラムを実行するコンピュータを示す図である。
【図９】従来技術を説明するための図である。
【図１０】従来技術を説明するための図である。
【図１１】従来技術を説明するための図である。
【符号の説明】
【００６７】
１０  バックアップ装置
１１  ＣＡ
１２  ＤＡ
１３  制御部
１３ａ  書込制御部
１３ｂ  割当制御部
１３ｃ  連続エントリ数設定部
１３ｄ  連続エントリ数取得部
１３ｅ  読出制御部
１３ｆ  連続エントリ数更新部
１４  記憶部
１４ａ  コピー元ボリューム記憶部
１４ｂ  スナップショット記憶部
１４ｃ  ＬＢＡ変換テーブル
２０  ホスト
【図１】
2010134659.tif 000003
【図２】
2010134659.tif 000004
【図３】
2010134659.tif 000005
【図４】
2010134659.tif 000006
【図５】
2010134659.tif 000007
【図６】
2010134659.tif 000008
【図７】
2010134659.tif 000009
【図８】
2010134659.tif 000010
【図９】
2010134659.tif 000011
【図１０】
2010134659.tif 000012
【図１１】
2010134659.tif 000013