(57)【要約】【課題】スナップショットを実行した際に、データの更新が遅延することを抑制することができるストレージ装置、ストレージ方法及びプログラムを提供する。【解決手段】ＣＰＵ１０５は、ＨＤＤ２０の記憶領域の一部を論理ディスクの記憶領域に割り当てる。また、ＣＰＵ１０５は、スナップショット要求があったときに、論理ディスクの記憶領域にデータを書き込む旨の書き込み要求に応答して、論理ディスクに割り当てられていないＨＤＤ２０の記憶領域の一部を、前記書き込み要求がなされた論理ディスクの記憶領域に割り当てる。そして、ＣＰＵ１０５は、前記書き込み要求に基づいて、割り当てられたＨＤＤ２０の記憶領域に、データを書き込む。【選択図】図１
2012216044.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶する記憶部と、
前記記憶部の記憶領域の一部を論理ディスクの記憶領域に割り当てる第１の割り当て部と、
スナップショットを実行する旨のスナップショット要求があったときに、前記論理ディスクの記憶領域にデータを書き込む旨の書き込み要求に応答して、前記論理ディスクに割り当てられていない前記記憶部の記憶領域の一部を、前記書き込み要求がなされた論理ディスクの記憶領域に割り当てる第２の割り当て部と、
前記書き込み要求に基づいて、前記第２の割り当て部によって割り当てられた前記記憶部の記憶領域に、データを書き込む書き込み部と、
を備えることを特徴とするストレージ装置。
【請求項２】
前記第１の割り当て部は、
前記記憶部の記憶領域の一部のブロックを前記論理ディスクの記憶領域のブロックに割り当て、
前記第２の割り当て部は、
前記スナップショットを実行する旨のスナップショット要求があったときに、前記論理ディスクの記憶領域のブロックにデータを書き込む旨の書き込み要求に応答して、前記論理ディスクに割り当てられていない前記記憶部の記憶領域のブロックを、前記書き込み要求がなされた論理ディスクの記憶領域のブロックに割り当て、
前記書き込み部は、
前記書き込み要求に基づいて、前記第２の割り当て部によって割り当てられた前記記憶部の記憶領域のブロックに、データを書き込む、
ことを特徴とする請求項１に記載のストレージ装置。
【請求項３】
前記論理ディスクの記憶領域のブロックを識別する論理領域識別情報と、該ブロックに割り当てられた前記記憶部の記憶領域のブロックを識別する物理領域識別情報と、を対応付けてリンクテーブルに記憶するリンク記憶部、
をさらに備え、
前記第１の割り当て部は、
前記物理領域識別情報が付された前記記憶部の記憶領域の一部のブロックを、該物理領域識別情報に対応する論理領域識別情報が付された前記論理ディスクの記憶領域のブロックに割り当てる、
ことを特徴とする請求項２に記載のストレージ装置。
【請求項４】
前記スナップショット要求があったときに、前記リンクテーブルを複製することにより、第１のリンクテーブルと第２のリンクテーブルとを生成する複製部と、
前記第１のリンクテーブルにおいて、前記書き込み要求に応答して、該書き込み要求がなされた論理ディスクの記憶領域のブロックに付された前記論理領域識別情報に対応する前記物理領域識別情報を、前記第２の割り当て部によって割り当てられた前記記憶部の記憶領域のブロックに付された前記物理領域識別情報に更新するリンク更新部と、
をさらに備えることを特徴とする請求項３に記載のストレージ装置。
【請求項５】
前記第１の割り当て部は、
前記スナップショットを復元する旨の復元要求があったときに、前記第２のリンクテーブルを参照し、前記物理領域識別情報が付された前記記憶部の記憶領域の一部のブロックを、該物理領域識別情報に対応する論理領域識別情報が付された前記論理ディスクの記憶領域のブロックに割り当てる、
ことを特徴とする請求項４に記載のストレージ装置。
【請求項６】
前記第２のリンクテーブルを削除する削除部、
をさらに備えることを特徴とする請求項４又は５に記載のストレージ装置。
【請求項７】
前記第１及び第２のリンクテーブルに基づいて、前記論理ディスクの記憶領域のブロックに割り当てられていない前記記憶部の記憶領域のブロックを特定する特定部、
をさらに備え、
前記第２の割り当て部は、
前記スナップショット要求があったときに、前記書き込み要求に応答して、前記特定されたブロックを、前記書き込み要求がなされた論理ディスクの記憶領域のブロックに割り当てる、
ことを特徴とする請求項４乃至６のいずれか１項に記載のストレージ装置。
【請求項８】
記憶部の記憶領域の一部を論理ディスクの記憶領域に割り当てる第１の割り当て工程と、
スナップショットを実行する旨のスナップショット要求があったときに、前記論理ディスクの記憶領域にデータを書き込む旨の書き込み要求に応答して、前記論理ディスクに割り当てられていない前記記憶部の記憶領域の一部を、前記書き込み要求がなされた論理ディスクの記憶領域に割り当てる第２の割り当て工程と、
前記書き込み要求に基づいて、前記第２の割り当て工程において割り当てられた前記記憶部の記憶領域に、データを書き込む書き込み工程と、
を備えることを特徴とするストレージ方法。
【請求項９】
コンピュータに、
記憶部の記憶領域の一部を論理ディスクの記憶領域に割り当てる第１の割り当て手順と、
スナップショットを実行する旨のスナップショット要求があったときに、前記論理ディスクの記憶領域にデータを書き込む旨の書き込み要求に応答して、前記論理ディスクに割り当てられていない前記記憶部の記憶領域の一部を、前記書き込み要求がなされた論理ディスクの記憶領域に割り当てる第２の割り当て手順と、
前記書き込み要求に基づいて、前記第２の割り当て工程において割り当てられた前記記憶部の記憶領域に、データを書き込む書き込み手順と、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置、ストレージ方法及びプログラムに関する。
【背景技術】
【０００２】
ストレージ装置のスナップショットには、スナップショットを実行する旨のスナップショット要求があったときに、論理ディスクの全体を待避領域にコピーする物理スナップショット、スナップショット要求があった後、論理ディスクが更新されたときに、論理ディスクのうち更新されたブロックを待避領域にコピーする論理スナップショットなどがある。
これに関連し、スナップショット要求があった後、論理ディスクが更新されたときに、更新されたデータ量に基づいて、物理スナップショットと、論理スナップショットと、を切り替えて実行する技術が提案されている（例えば、特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１６３７２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示された技術では、物理スナップショット又は論理スナップショットのいずれを実行する場合であっても、論理ディスクの全部又は一部を読み出して待避領域に記録し、その後、論理ディスクを更新する。このため、データの更新が遅延するという問題があった。
【０００５】
本発明は、上記実情に鑑みてなされたものであり、スナップショットを実行した際に、データの更新が遅延することを抑制することができるストレージ装置、ストレージ方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の第１の観点に係るストレージ装置は、
データを記憶する記憶部と、
前記記憶部の記憶領域の一部を論理ディスクの記憶領域に割り当てる第１の割り当て部と、
スナップショットを実行する旨のスナップショット要求があったときに、前記論理ディスクの記憶領域にデータを書き込む旨の書き込み要求に応答して、前記論理ディスクに割り当てられていない前記記憶部の記憶領域の一部を、前記書き込み要求がなされた論理ディスクの記憶領域に割り当てる第２の割り当て部と、
前記書き込み要求に基づいて、前記第２の割り当て部によって割り当てられた前記記憶部の記憶領域に、データを書き込む書き込み部と、
を備えることを特徴とする。
【０００７】
上記目的を達成するため、本発明の第２の観点に係るストレージ方法は、
記憶部の記憶領域の一部を論理ディスクの記憶領域に割り当てる第１の割り当て工程と、
スナップショットを実行する旨のスナップショット要求があったときに、前記論理ディスクの記憶領域にデータを書き込む旨の書き込み要求に応答して、前記論理ディスクに割り当てられていない前記記憶部の記憶領域の一部を、前記書き込み要求がなされた論理ディスクの記憶領域に割り当てる第２の割り当て工程と、
前記書き込み要求に基づいて、前記第２の割り当て工程において割り当てられた前記記憶部の記憶領域に、データを書き込む書き込み工程と、
を備えることを特徴とする。
【０００８】
上記目的を達成するため、本発明の第３の観点に係るプログラムは、
コンピュータに、
記憶部の記憶領域の一部を論理ディスクの記憶領域に割り当てる第１の割り当て手順と、
スナップショットを実行する旨のスナップショット要求があったときに、前記論理ディスクの記憶領域にデータを書き込む旨の書き込み要求に応答して、前記論理ディスクに割り当てられていない前記記憶部の記憶領域の一部を、前記書き込み要求がなされた論理ディスクの記憶領域に割り当てる第２の割り当て手順と、
前記書き込み要求に基づいて、前記第２の割り当て工程において割り当てられた前記記憶部の記憶領域に、データを書き込む書き込み手順と、
を実行させることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、スナップショットを実行した際に、データの更新が遅延することを抑制することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態１に係るディスクアレイ装置の構成を示すブロック図である。
【図２】図１に示すリンクＴＢＬの構成を示す図である。
【図３】（ａ）乃至（ｃ）は、論理ディスク、物理ディスク、及びリンクＴＢＬの関係を説明するための図である。
【図４】図１に示すＣＰＵが実行するスナップショット処理のフローチャートである。
【図５】スナップショットによって作成された複数のリンクＴＢＬを説明するための図である。
【図６】（ａ）乃至（ｅ）は、スナップショット時にデータを書き込む動作の一例を説明するための図である。
【図７】本発明の実施形態２に係るディスクアレイ装置の構成を示すブロック図である。
【図８】（ａ）乃至（ｄ）は、物理領域を未使用領域として登録する動作の一例を説明するための図である。
【図９】図７に示すＣＰＵが実行する未使用領域登録処理を説明するためのフローチャートである。
【発明を実施するための形態】
【００１１】
（実施形態１）
以下、本発明の実施形態に係るディスクアレイ装置１００を、図面を参照して説明する。
【００１２】
本実施形態に係るディスクアレイ装置１００は、大容量の記憶装置としての機能の他、スナップショット要求があった後、論理ディスクへの書き込み要求があったときに、書き込み要求があった論理ディスクの記憶領域に物理ディスクの記憶領域を新たに割り当てて書き込むという特徴的な機能を有する。なお、上位装置としてのホストコンピュータは、ブロック単位で、ディスクアレイ装置１００にデータを書き込み、ディスクアレイ装置１００からデータを読み出す。
【００１３】
ディスクアレイ装置１００は、図１に示すように、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）コントローラ１０と、複数のＨＤＤ（Hard Disk Drive）２０（２０１、２０２、２０３、２０４）と、を備えている。
【００１４】
ＲＡＩＤコントローラ１０は、ホストＩ／Ｆ（Interface）１０１と、キャッシュメモリ１０２と、ディスクＩ／Ｆ１０３と、メモリ１０４と、ＣＰＵ（Central Processing Unit）１０５と、を備えている。
【００１５】
ホストＩ／Ｆ１０１は、ホストバスアダプタなどから構成され、上位装置としてのホストコンピュータとの接続を制御し、ホストコンピュータの要求に応答して、ホストコンピュータから供給されたデータをキャッシュメモリ１０２に一時的に記憶する。
【００１６】
キャッシュメモリ１０２は、ホストＩ／Ｆ１０１を介してホストコンピュータから供給されたデータを一時的に記憶する。
【００１７】
ディスクＩ／Ｆ１０３は、ディスクアダプタなどから構成され、ＨＤＤ２０との接続を制御し、所定のタイミングでキャッシュメモリ１０２に記憶されたデータをＨＤＤ２０に記憶する。
【００１８】
メモリ１０４は、リンクＴＢＬ（テーブル）１０４１を記憶している。
リンクＴＢＬ１０４１は、図２に示すように、論理ディスクの記憶領域（論理領域）を識別する論理領域ＩＤ（Identifier）と、物理ディスクの記憶領域（物理領域）を識別する物理領域ＩＤと、を対応付けて記憶している。なお、物理ディスクとは、物理的な記憶領域（例えば、ＨＤＤ２０１〜２０４）を意味し、論理ディスクとは、物理的な記憶領域を割り当てた論理的（仮想的）な記憶領域を意味する。
本実施形態では、論理ディスクに物理ディスクの一部を割り当てている。
【００１９】
例えば、図３（ａ）に示すように、論理ディスクが、論理領域ＩＤ１００１〜１００５が付された領域を備え、図３（ｂ）に示すように、物理ディスクが、物理領域ＩＤ０００１〜０００５が付された領域と未使用の領域とを備えているとする。また、リンクＴＢＬ１０４１は、図３（ｃ）に示すように、論理領域ＩＤと物理領域ＩＤとを対応付けて記憶しているとする。
この場合、後述するＣＰＵ１０５は、リンクＴＢＬ１０４１を参照し、論理領域ＩＤが付された論理領域に、この論理領域ＩＤに対応する物理領域ＩＤが付された物理領域を割り当てる。
このようにして、図３（ａ）及び（ｂ）において、破線の矢印で示すように、論理領域に物理領域が割り当てられる。このとき、ホストコンピュータは、ディスクアレイ装置１００の記憶領域を図３（ａ）に示す論理ディスクとして認識する。
【００２０】
図１に示すＣＰＵ１０５は、メモリ１０４に記憶された所定のプログラムを実行することにより、大容量の記憶装置としての機能の他、スナップショット要求があった後、論理領域への書き込み要求があったときに、書き込み要求があった論理領域に物理領域を新たに割り当てて書き込む等の特徴的な機能を有する。ＣＰＵ１０５の機能と制御の詳細については後述する。
【００２１】
ＨＤＤ２０は、ホストコンピュータから供給されたデータ等を記憶する。
【００２２】
次に、上記構成を有するディスクアレイ装置１００の動作を説明する。
【００２３】
ディスクアレイ装置１００は、大容量の記憶装置として機能する他、スナップショット要求があった後、論理領域への書き込み要求があったときに、書き込み要求があった論理領域に物理領域を新たに割り当てて書き込むという特徴的な動作を行う。
以下、スナップショット要求があった後、ホストコンピュータの要求に応答して、データをＨＤＤ２０に書き込む場合を例にしてディスクアレイ装置１００の特徴的な動作を説明する。
【００２４】
ＣＰＵ１０５は、ホストコンピュータからのスナップショット要求に応答して、図４に示すスナップショット処理を開始し、まず、ホストコンピュータからデータの書き込み要求があったか否かを判別する（ステップＳ１１）。ＣＰＵ１０５は、データの書き込み要求がないと判別した場合（ステップＳ１１；Ｎｏ）、ステップＳ１１を繰り返す。
一方、ＣＰＵ１０５は、書き込み要求があったと判別した場合（ステップＳ１１；Ｙｅｓ）、物理ディスクの未使用領域に新たな物理領域（ブロック）を確保する（ステップＳ１２）。このとき、ＣＰＵ１０５は、確保した新たな物理領域に物理領域ＩＤを付す。
【００２５】
ＣＰＵ１０５は、書き込み要求のあった論理領域（ブロック）に新たな物理領域を割り当てる（ステップＳ１３）。ＣＰＵ１０５は、割り当てた物理領域に、書き込み要求に係るデータを書き込む（ステップＳ１４）。ＣＰＵ１０５は、リンクＴＢＬ１０４１を複製し、次の世代のリンクＴＢＬ１０４１を生成する（ステップＳ１５）。このとき、ＣＰＵ１０５は、元のリンクＴＢＬ１０４１から何番目の世代であるかを示す世代番号を、生成したリンクＴＢＬ１０４１に付す。例えば、初めてリンクＴＢＬ１０４１を複製したときは、世代番号＝１を、生成したリンクＴＢＬ１０４１に付す。
【００２６】
ＣＰＵ１０５は、書き込み要求のあった論理領域に付された論理領域ＩＤに対応する物理領域ＩＤを、ステップＳ１３で割り当てた新たな物理領域に付された物理領域ＩＤに置き換えることにより、現在使用している元のリンクＴＢＬ１０４１を更新し（ステップＳ１６）、スナップショット処理を終了する。
このようにして、図５に示すように、現在使用しているリンクＴＢＬ１０４１とは別に、世代番号を付したリンクＴＢＬ１０４１が複製されていく。
【００２７】
以上の動作を、図３、４及び６を参照して具体的に説明する。
以下、理解を容易にするため、ホストコンピュータがスナップショット要求をディスクアレイ装置１００に送信した際、論理ディスクは、図３（ａ）に示すように、論理領域ＩＤ１００１〜１００５が付された論理領域を備え、物理ディスクは、図３（ｂ）に示すように、物理領域ＩＤ０００１〜０００５が付された物理領域と未使用領域とを備えているとする。また、リンクＴＢＬ１０４１は、図３（ｃ）に示すように、論理領域ＩＤと物理領域ＩＤとを対応付けて記憶しているとする。さらに、ホストコンピュータは、スナップショット要求をディスクアレイ装置１００に送信した後、図６（ａ）に示すように、論理領域ＩＤ＝１００４が付された論理領域へのデータの書き込み要求をディスクアレイ装置１００に送信したとする。
【００２８】
この場合、ホストコンピュータからデータの書き込み要求があったため、図４のステップＳ１１でＹｅｓとなり、ＣＰＵ１０５は、図６（ｂ）に示すように、物理ディスクの未使用領域に物理領域ＩＤ＝０００６を付した新たな物理領域を確保する（ステップＳ１２）。
【００２９】
ＣＰＵ１０５は、図６（ａ）及び（ｂ）に示すように、書き込み要求のあった論理領域ＩＤ＝１００４が付された論理領域に、物理領域ＩＤ＝０００６を付した新たな物理領域を割り当てる（ステップＳ１３）。そして、ＣＰＵ１０５は、物理領域ＩＤ＝０００６が付された物理領域に、書き込み要求に係るデータを書き込む（ステップＳ１４）。ＣＰＵ１０５は、リンクＴＢＬ１０４１を複製し、図６（ｅ）に示すように、世代番号＝１を付した第１世代のリンクＴＢＬ１０４１を生成する（ステップＳ１５）。
【００３０】
続いて、ＣＰＵ１０５は、図６（ｃ）及び（ｄ）に示すように、書き込み要求のあった論理領域に付された論理領域ＩＤ＝１００４に対応する物理領域ＩＤ＝０００４を、ステップＳ１３で割り当てた新たな物理領域に付された物理領域ＩＤ＝０００６に置き換えることにより、現在使用している元のリンクＴＢＬ１０４１を更新し（ステップＳ１６）、スナップショット処理を終了する。
【００３１】
このようにしてスナップショットを作成した後、第ｋ世代のスナップショットを復元したい場合、ユーザは、ホストコンピュータの操作部を操作して、その旨を指示する。
ホストコンピュータは、ユーザの操作指示に応答して、第ｋ世代のスナップショットを復元する旨の復元要求をディスクアレイ装置１００に送信する。ディスクアレイ装置１００のＣＰＵ１０５は、ホストコンピュータからの復元要求に応答して、世代番号＝ｋが付されたリンクＴＢＬ１０４１を参照し、論理領域ＩＤが付された論理領域に、論理領域ＩＤに対応する物理領域ＩＤが付された物理領域を割り当てる。
このようにして、高速にスナップショットを復元することができる。
【００３２】
また、第ｋ世代のスナップショットを削除したい場合、ユーザは、ホストコンピュータの操作部を操作して、その旨を指示する。
ホストコンピュータは、ユーザの操作指示に応答して、第ｋ世代のスナップショットを削除する旨の復元要求をディスクアレイ装置１００に送信する。ディスクアレイ装置１００のＣＰＵ１０５は、世代番号＝ｋが付されたリンクＴＢＬ１０４１を削除する。
【００３３】
以上、説明したように、ディスクアレイ装置１００は、スナップショット要求があった後、論理ディスクへの書き込み要求があったときに、書き込み要求があった論理領域に物理領域を新たに割り当てて書き込む。このため、論理ディスクの全部又は一部を読み出して待避領域に記録する必要がなく、データの更新が遅延することを抑制することができる。また、同じデータを２つの記憶領域に記憶することがないため、多数のスナップショットを作成することができる。
【００３４】
（実施形態２）
スナップショットの作成・削除を繰り返すと、論理領域に割り当てられない物理領域が存在するようになる。このように論理領域に割り当てられない物理領域は、論理領域に新たに割り当てることができる未使用領域として再利用されることが望ましい。
以下、論理領域に割り当てられない物理領域を自動で未使用領域として登録し、再利用することができるディスクアレイ装置１００Ａを説明する。
【００３５】
この場合のディスクアレイ装置１００Ａの構成を図７に示す。なお、図１と同一部分には同一符号を付す。
【００３６】
ディスクアレイ装置１００Ａは、実施形態１に係るディスクアレイ装置１００の構成要素の他、ＲＴＣ（Real Time Clock）１０６を備えている。
ＲＴＣ１０６は、ＣＰＵ１０５の要求に応答して、現在日時をＣＰＵ１０５に提供する。
【００３７】
以下、上記構成を有するディスクアレイ装置１００Ａが論理領域に割り当てられない物理領域を自動で未使用領域として登録する動作を中心に説明する。なお、理解を容易にするため、物理ディスクは、図８（ａ）に示すように、物理領域ＩＤ０００１〜００１０が付された物理領域と未使用領域とを備えているとする。また、リンクＴＢＬ１０４１は、図８（ｃ）に示すように、論理領域ＩＤと物理領域ＩＤとを対応付けて記憶しているとする。さらに、スナップショットの作成・削除を繰り返した結果、現在使用しているリンクＴＢＬ１０４１の他、図８（ｄ）に示すように、世代番号＝ｐが付された第ｐ世代のリンクＴＢＬ１０４１のみがメモリ１０４に記憶されていたとする。
【００３８】
ＣＰＵ１０５は、電源投入後、デーモンプロセスとして、図９に示す未使用領域登録処理を開始し、まず、ＲＴＣ１０６から取得した現在時刻が予め設定された所定の時刻（例えば、深夜２時）になったか否かを判別する（ステップＳ２１）。ＣＰＵ１０５は、現在時刻が所定の時刻になっていない場合（ステップＳ２１；Ｎｏ）、ステップＳ２１を繰り返す。
【００３９】
一方、ＣＰＵ１０５は、現在時刻が所定の時刻になったと判別した場合（ステップＳ２１；Ｙｅｓ）、論理領域に割り当てられていない物理領域を特定する（ステップＳ２２）。具体的には、ＣＰＵ１０５は、図８（ａ）に示す物理ディスクと図８（ｃ）に示すリンクＴＢＬ１０４１と図８（ｄ）に示すリンクＴＢＬ１０４１とを参照し、物理領域に付された物理領域ＩＤのうち、現在使用しているリンクＴＢＬ１０４１及びスナップショットで作成された第ｐ世代のリンクＴＢＬ１０４１に記憶されていない物理領域ＩＤ０００４、０００７、０００８を特定することにより、論理領域に割り当てられていない物理領域を特定する。
【００４０】
ＣＰＵ１０５は、特定した物理領域に付された物理領域ＩＤを削除することにより、特定した物理領域を未使用領域として登録する（ステップＳ２３）し、ステップＳ２１に処理を戻す。このようにして、ＣＰＵ１０５は、以上の処理を繰り返す。
【００４１】
以上、説明したように、ＣＰＵ１０５は、論理領域に割り当てられていない物理領域を未使用領域として自動で登録する。このため、論理領域に割り当てられない物理領域を、論理領域に新たに割り当てることができる未使用領域として再利用することができる。
【００４２】
この発明は上記の実施形態に限定されず、種々の変形及び応用が可能である。例えば、上記説明において示したハードウェアの構成及び動作は一例でありこれらに限定されるものではなく、適宜変更及び応用が可能である。
【００４３】
上記実施形態では、ディスクアレイ装置１００は、ブロック単位でデータを読み書きしているが、ブロックサイズは任意である。
【００４４】
上記実施形態では、ストレージ装置としてのディスクアレイ装置を例にして説明したが、これに限定されず、ストレージ装置は任意である。
【００４５】
上記実施形態２では、毎日所定の時刻（タイミング）になったときに、ＣＰＵ１０５は論理領域に割り当てられていない物理領域を未使用領域として登録しているが、これに限定されず、所定の周期（例えば、１月）で論理領域に割り当てられていない物理領域を未使用領域として登録してもよい。また、ユーザの操作指示に応答して、このような処理を実行してもよい。
【００４６】
上記実施形態２では、物理領域に付された物理領域ＩＤを削除することにより、論理領域に割り当てられていない物理領域を未使用領域として登録しているが、未使用領域であることを示す未使用フラグを物理領域に付してもよい。
この場合、ＣＰＵ１０５は、スナップショット要求があった後、論理領域への書き込み要求があったときに、未使用フラグが付された物理領域に新たな物理領域を確保し、未使用フラグを削除する。そして、ＣＰＵ１０５は、書き込み要求のあった論理領域に新たな物理領域を割り当て、書き込み要求に係るデータを書き込むようにすればよい。
【００４７】
なお、本発明に係るストレージ装置は、専用の装置を用いる必要はなく、通常のコンピュータにより実現することができる。例えばコンピュータに上記した各処理を実行させるためのプログラム及びデータを記録媒体（ＣＤ−ＲＯＭ等）に記録して配布し、これをインストールしてＯＳ（Operating System）上で実行することにより、本発明に係るストレージ装置を実現できる。また、プログラム及びデータの配布は、ＣＤ−ＲＯＭ等に限らず、通信回線等を介して行われてもよい。
【００４８】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【００４９】
（付記１）データを記憶する記憶部と、
前記記憶部の記憶領域の一部を論理ディスクの記憶領域に割り当てる第１の割り当て部と、
スナップショットを実行する旨のスナップショット要求があったときに、前記論理ディスクの記憶領域にデータを書き込む旨の書き込み要求に応答して、前記論理ディスクに割り当てられていない前記記憶部の記憶領域の一部を、前記書き込み要求がなされた論理ディスクの記憶領域に割り当てる第２の割り当て部と、
前記書き込み要求に基づいて、前記第２の割り当て部によって割り当てられた前記記憶部の記憶領域に、データを書き込む書き込み部と、
を備えることを特徴とするストレージ装置。
【００５０】
（付記２）前記第１の割り当て部は、
前記記憶部の記憶領域の一部のブロックを前記論理ディスクの記憶領域のブロックに割り当て、
前記第２の割り当て部は、
前記スナップショットを実行する旨のスナップショット要求があったときに、前記論理ディスクの記憶領域のブロックにデータを書き込む旨の書き込み要求に応答して、前記論理ディスクに割り当てられていない前記記憶部の記憶領域のブロックを、前記書き込み要求がなされた論理ディスクの記憶領域のブロックに割り当て、
前記書き込み部は、
前記書き込み要求に基づいて、前記第２の割り当て部によって割り当てられた前記記憶部の記憶領域のブロックに、データを書き込む、
ことを特徴とする付記１に記載のストレージ装置。
【００５１】
（付記３）前記論理ディスクの記憶領域のブロックを識別する論理領域識別情報と、該ブロックに割り当てられた前記記憶部の記憶領域のブロックを識別する物理領域識別情報と、を対応付けてリンクテーブルに記憶するリンク記憶部、
をさらに備え、
前記第１の割り当て部は、
前記物理領域識別情報が付された前記記憶部の記憶領域の一部のブロックを、該物理領域識別情報に対応する論理領域識別情報が付された前記論理ディスクの記憶領域のブロックに割り当てる、
ことを特徴とする付記２に記載のストレージ装置。
【００５２】
（付記４）前記スナップショット要求があったときに、前記リンクテーブルを複製することにより、第１のリンクテーブルと第２のリンクテーブルとを生成する複製部と、
前記第１のリンクテーブルにおいて、前記書き込み要求に応答して、該書き込み要求がなされた論理ディスクの記憶領域のブロックに付された前記論理領域識別情報に対応する前記物理領域識別情報を、前記第２の割り当て部によって割り当てられた前記記憶部の記憶領域のブロックに付された前記物理領域識別情報に更新するリンク更新部と、
をさらに備えることを特徴とする付記３に記載のストレージ装置。
【００５３】
（付記５）前記第１の割り当て部は、
前記スナップショットを復元する旨の復元要求があったときに、前記第２のリンクテーブルを参照し、前記物理領域識別情報が付された前記記憶部の記憶領域の一部のブロックを、該物理領域識別情報に対応する論理領域識別情報が付された前記論理ディスクの記憶領域のブロックに割り当てる、
ことを特徴とする付記４に記載のストレージ装置。
【００５４】
（付記６）前記第２のリンクテーブルを削除する削除部、
をさらに備えることを特徴とする付記４又は５に記載のストレージ装置。
【００５５】
（付記７）前記第１及び第２のリンクテーブルに基づいて、前記論理ディスクの記憶領域のブロックに割り当てられていない前記記憶部の記憶領域のブロックを特定する特定部、
をさらに備え、
前記第２の割り当て部は、
前記スナップショット要求があったときに、前記書き込み要求に応答して、前記特定されたブロックを、前記書き込み要求がなされた論理ディスクの記憶領域のブロックに割り当てる、
ことを特徴とする付記４乃至６のいずれかに記載のストレージ装置。
【００５６】
（付記８）記憶部の記憶領域の一部を論理ディスクの記憶領域に割り当てる第１の割り当て工程と、
スナップショットを実行する旨のスナップショット要求があったときに、前記論理ディスクの記憶領域にデータを書き込む旨の書き込み要求に応答して、前記論理ディスクに割り当てられていない前記記憶部の記憶領域の一部を、前記書き込み要求がなされた論理ディスクの記憶領域に割り当てる第２の割り当て工程と、
前記書き込み要求に基づいて、前記第２の割り当て工程において割り当てられた前記記憶部の記憶領域に、データを書き込む書き込み工程と、
を備えることを特徴とするストレージ方法。
【００５７】
（付記９）コンピュータに、
記憶部の記憶領域の一部を論理ディスクの記憶領域に割り当てる第１の割り当て手順と、
スナップショットを実行する旨のスナップショット要求があったときに、前記論理ディスクの記憶領域にデータを書き込む旨の書き込み要求に応答して、前記論理ディスクに割り当てられていない前記記憶部の記憶領域の一部を、前記書き込み要求がなされた論理ディスクの記憶領域に割り当てる第２の割り当て手順と、
前記書き込み要求に基づいて、前記第２の割り当て工程において割り当てられた前記記憶部の記憶領域に、データを書き込む書き込み手順と、
を実行させることを特徴とするプログラム。
【符号の説明】
【００５８】
１００、１００Ａ  ディスクアレイ装置
１０  ＲＡＩＤコントローラ
２０  ＨＤＤ
１０１  ホストＩ／Ｆ
１０２  キャッシュメモリ
１０３  ディスクＩ／Ｆ
１０４  メモリ
１０４１  リンクＴＢＬ
１０５  ＣＰＵ
１０６  ＲＴＣ
【図１】
2012216044.tif 000003
【図２】
2012216044.tif 000004
【図３】
2012216044.tif 000005
【図４】
2012216044.tif 000006
【図５】
2012216044.tif 000007
【図６】
2012216044.tif 000008
【図７】
2012216044.tif 000009
【図８】
2012216044.tif 000010
【図９】
2012216044.tif 000011