(57)【特許請求の範囲】
【請求項１】
ホスト計算機からの指示によりミラー構成とすることが可能な、少なくとも１つのディスクドライブにより実現される２つの論理ディスクを備えたスナップショット機能を有するディスク記憶装置において、
ミラーが切り離された状態で前記ホスト計算機から与えられる書き込み要求に含まれている論理アドレス及びサイズの示す書き込み領域の情報をスナップショット差分情報として保持するためのスナップショット差分情報領域が割り当てられるメモリと、
ミラー切り離し直後から前記スナップショット差分情報領域が一杯になるまでの間、前記ホスト計算機から与えられる書き込み要求に含まれている論理アドレス及びサイズの示す書き込み領域の情報を、当該書き込み要求に含まれている論理アドレス及びサイズを対としたリスト形式で前記スナップショット差分情報領域に設定する第１の設定手段と、
前記スナップショット差分情報領域が一杯になった場合、前記スナップショット差分情報領域に前記リスト形式で設定されている前記書き込み領域の情報を、前記論理ディスクの領域が管理単位サイズで分割された領域毎に割り当てられるビットの論理状態により当該管理単位サイズの領域への書き込みの有無を保持するためのビットマップ形式に変換する切り替え手段と、
前記切り替え手段によるビットマップ形式への変換後、前記ホスト計算機から与えられる書き込み要求に含まれている論理アドレス及びサイズの示す書き込み領域に対応する、前記スナップショット差分情報領域内のビットマップのビットを、書き込み有りを示す論理状態に設定する第２の設定手段と、
ミラー再構成時、前記スナップショット差分情報領域に前記リスト形式または前記ビットマップ形式で保持されている書き込み領域の情報に基づいて、前記２つの論理ディスクの一方から他方への該当する領域間のコピーを行うコピー手段と
を具備することを特徴とするスナップショット機能を有するディスク記憶装置。
【請求項２】
前記メモリには、前記書き込み領域の情報が前記スナップショット差分情報領域に前記リスト形式または前記ビットマップ形式のいずれの形式で保持されているかを示す特定フラッグ情報であって、ミラー切り離し直後から前記スナップショット差分情報領域が一杯になるまでの間は前記リスト形式を示す特定フラッグ情報が設定されており、
前記切り替え手段は、前記ビットマップ形式への変換時に前記特定フラッグ情報を前記ビットマップ形式を示すように変更することを特徴とする請求項１記載のスナップショット機能を有するディスク記憶装置。
【請求項３】
ホスト計算機からの指示によりミラー構成とすることが可能な、少なくとも１つのディスクドライブにより実現される２つの論理ディスクを備えたスナップショット機能を有するディスク記憶装置において、
ミラーが切り離された状態で前記ホスト計算機から与えられる書き込み要求に含まれている論理アドレスとサイズとによって指定される書き込み領域の情報を当該論理アドレスとサイズとの対で保持するためのリスト形式のテーブルであるリスト形式差分情報テーブル及び前記論理ディスクの領域が管理単位サイズで分割された領域毎に割り当てられるビットの論理状態により当該管理単位サイズの領域への書き込みの有無を示すビットマップを含むビットマップ形式差分情報テーブルが選択的に格納されるスナップショット差分情報領域が割り当てられるメモリと、
ミラー切り離し直後、前記スナップショット差分情報領域に前記リスト形式差分情報テーブルを設定し、当該リスト形式差分情報テーブルに空きエントリが確保できなくなるまでの間は、前記ホスト計算機から与えられる書き込み要求に含まれている論理アドレスとサイズとの対を前記リスト形式差分情報テーブルの空きエントリに設定する第１の設定手段と、
前記リスト形式差分情報テーブルに空きエントリが確保できなくなった場合、その時点で前記スナップショット差分情報領域に格納されている当該リスト形式差分情報テーブルを前記ビットマップ形式差分情報テーブルに変換する切り替え手段と、
前記切り替え手段による前記ビットマップ形式差分情報テーブルへの変換後、前記ホスト計算機から与えられる書き込み要求に含まれている論理アドレス及びサイズの指定する書き込み領域に対応する前記ビットマップ形式差分情報テーブル内のビットを書き込み有りを示す論理状態に設定する第２の設定手段と、
ミラー再構成時、前記スナップショット差分情報領域に保持されている前記リスト形式差分情報テーブルまたは前記ビットマップ形式差分情報テーブルに基づいて、前記２つの論理ディスクの一方から他方への該当する領域間のコピーを行うコピー手段と
を具備することを特徴とするスナップショット機能を有するディスク記憶装置。
【請求項４】
前記メモリには、前記スナップショット差分情報領域に前記リスト形式差分情報テーブルまたは前記ビットマップ形式差分情報テーブルのいずれが保持されているかを示す特定フラッグ情報であって、ミラー切り離し直後から前記リスト形式差分情報テーブルに空きエントリが確保できなくなるまでの間は前記リスト形式差分情報テーブルを示す特定フラッグ情報が設定されており、
前記切り替え手段は、前記ビットマップ形式差分情報テーブルへの変換時に前記特定フラッグ情報を前記ビットマップ形式差分情報テーブルを示すように変更することを特徴とする請求項３記載のスナップショット機能を有するディスク記憶装置。
【請求項５】
ホスト計算機からの指示によりミラー構成とすることが可能な、少なくとも１つのディスクドライブにより実現される２つの論理ディスクと、ミラーが切り離された状態で前記ホスト計算機から与えられる書き込み要求に含まれている論理アドレス及びサイズの示す書き込み領域の情報をスナップショット差分情報として保持するためのスナップショット差分情報領域が割り当てられるメモリとを備えたスナップショット機能を有するディスク記憶装置に適用されるスナップショット差分情報管理方法であって、
ミラー切り離し直後から前記スナップショット差分情報領域が一杯になるまでの間、前記ホスト計算機から与えられる書き込み要求に含まれている論理アドレス及びサイズの示す書き込み領域の情報を、当該書き込み要求に含まれている論理アドレス及びサイズを対としたリスト形式で前記スナップショット差分情報領域に設定するステップと、
前記スナップショット差分情報領域が一杯になったことを検出するステップと、
前記スナップショット差分情報領域が一杯になったことが検出された場合、前記スナップショット差分情報領域に前記リスト形式で設定されている前記書き込み領域の情報を、前記論理ディスクの領域が管理単位サイズで分割された領域毎に割り当てられるビットの論理状態により当該管理単位サイズの領域への書き込みの有無を保持するためのビットマップ形式に変換するステップと、
前記ビットマップ形式への変換後、前記ホスト計算機から与えられる書き込み要求に含まれている論理アドレス及びサイズの示す書き込み領域に対応する、前記スナップショット差分情報領域内のビットマップのビットを、書き込み有りを示す論理状態に設定するステップと
を具備することを特徴とするスナップショット差分情報管理方法。
【請求項６】
ホスト計算機からの指示によりミラー構成とすることが可能な、少なくとも１つのディスクドライブにより実現される２つの論理ディスクと、ミラーが切り離された状態で前記ホスト計算機から与えられる書き込み要求に含まれている論理アドレス及びサイズの示す書き込み領域の情報をスナップショット差分情報として保持するためのスナップショット差分情報領域が割り当てられるメモリと、マイクロプロセッサとを備えたスナップショット機能を有するディスク記憶装置に適用されるスナップショット管理プログラムであって、
前記マイクロプロセッサに、
ミラー切り離し直後から前記スナップショット差分情報領域が一杯になるまでの間、前記ホスト計算機から与えられる書き込み要求に含まれている論理アドレス及びサイズの示す書き込み領域の情報を、当該書き込み要求に含まれている論理アドレス及びサイズを対としたリスト形式で前記スナップショット差分情報領域に設定するステップと、
前記スナップショット差分情報領域が一杯になったことを検出するステップと、
前記スナップショット差分情報領域が一杯になったことが検出された場合、前記スナップショット差分情報領域に前記リスト形式で設定されている前記書き込み領域の情報を、前記論理ディスクの領域が管理単位サイズで分割された領域毎に割り当てられるビットの論理状態により当該管理単位サイズの領域への書き込みの有無を保持するためのビットマップ形式に変換するステップと、
前記ビットマップ形式への変換後、前記ホスト計算機から与えられる書き込み要求に含まれている論理アドレス及びサイズの示す書き込み領域に対応する、前記スナップショット差分情報領域内のビットマップのビットを、書き込み有りを示す論理状態に設定するステップと
を実行させるためのスナップショット管理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ホスト計算機により当該計算機の外部記憶装置として用いられるスナップショット機能を有するディスク記憶装置に係り、特にスナップショット機能を実現するのに必要なスナップショット差分情報の保持形式を使い分けするスナップショット機能を有するディスク記憶装置、スナップショット差分情報管理方法及びスナップショット管理プログラムに関する
【０００２】
【従来の技術】
一般に、ホスト計算機の外記憶装置として用いられるディスク記憶装置として、複数のディスクドライブを有するディスクアレイ装置が知られている。ディスクアレイ装置はスナップショット機能を有していることが多い。スナップショット機能とは、ユーザの操作に応じて例えばホスト計算機から指示された時点のデータを保持する機能である。その実現方法として、２つの論理ディスクをミラー構成にして当該両ディスクのデータを一致化し、ホスト計算機から指示された時点でミラーを切り離す方法がある。このミラー構成によるスナップショット機能について以下に述べる。
【０００３】
まず、２つの論理ディスクをミラー構成とする。一方の論理ディスクをマスタ論理ディスク、もう一方をスナップショット論理ディスクと呼ぶ。
【０００４】
（１）ミラー構成時の動作
ミラー構成となっている状態では、マスタ論理ディスクとスナップショット論理ディスクとは同一記憶内容となっている。この状態では、ホスト計算機からはマスタ論理ディスクのみが見える。そこでホスト計算機からマスタ論理ディスクに対する書き込みを行うと、同じ内容がスナップショット論理ディスクにも書き込まれる。スナップショット論理ディスクに対する入出力は禁止されている。
【０００５】
（２）ミラー切り離し時の動作
ホスト計算機からディスクアレイ装置に対してミラーの切り離し指示が出されると、ホスト計算機からはスナップショット論理ディスクも見えるようになり、スナップショット論理ディスクに対する入出力が可能となる。この状態では、ホスト計算機からのマスタ論理ディスク及びスナップショット論理ディスクに対する書き込みは、それぞれの論理ディスクに対して行われる。
【０００６】
上記のようにすることで、ミラーの切り離し時のマスタ論理ディスクの内容が、スナップショット論理ディスクに保持される。
【０００７】
（３）ミラー再構成時の動作
ミラーを切り離した状態から再びミラー構成に変更した場合、マスタ論理ディスクとスナップショット論理ディスクの内容を同じにするため、マスタ論理ディスクの内容をスナップショット論理ディスクにコピーする。
【０００８】
【発明が解決しようとする課題】
上記したように、ミラー再構成時にマスタ論理ディスクとスナップショット論理ディスクの内容を同じにするには、マスタ論理ディスクの内容をスナップショット論理ディスクにコピーすればよい。しかし、この方法ではコピー量が膨大なものとなる。
【０００９】
そこで、ミラー再構成時のコピー処理におけるコピー量を削減するために、ミラー切り離し後にマスタ論理ディスク及びスナップショット論理ディスクに対して行った書き込み箇所の情報、つまりスナップショットの差分情報をディスクアレイ装置内に保持し、ミラー再構成時に、スナップショット差分情報に従って、変更箇所だけをマスタ論理ディスクからスナップショット論理ディスクにコピーするのが一般的である。
【００１０】
スナップショット差分情報は、ホスト計算機からの書き込み要求の処理時間を遅くしないようにするため、ディスクアレイ装置の制御装置（ディスクアレイ制御装置）に内蔵されたマイクロプロセッサのメモリに保持して用いられる。
【００１１】
スナップショット差分情報の保持形式には、リスト形式とビットマップ形式とがある。
リスト形式は、ミラー切り離し後に書き込みのあった領域を表す論理アドレス（開始論理アドレス）とサイズとを対にしてスナップショット差分情報として記憶する形式である。このリスト形式では、書き込みを行った領域を正確に記憶できるが、書き込み回数に比例してメモリ使用量が多くなるという問題がある。
【００１２】
一方、ビットマップ形式は、１ビット毎に書き込みの有無を保持する形式であり、書き込みサイズの管理単位は任意である。一般に、管理単位のサイズはスナップショット差分情報を保持するために使用できるメモリ容量により自動的に決まる。例えば、論理ディスクサイズを８００Ｇバイト、スナップショット差分情報のテーブルサイズを１Ｍバイト、つまり８Ｍビットとすると、書き込みサイズの管理単位は８００Ｇバイト／８Ｍ＝１００Ｋバイトとなる。この場合、例えば１Ｋバイトの書き込みであっても、１００Ｋバイト分のコピーが行われる。
【００１３】
このビットマップ形式では、リスト形式に比べてメモリ使用量を少なくできるものの、メモリ使用量を少なくするのに伴って管理単位が大きくなる。また、ビットマップ形式では、管理単位より小さい書き込みであっても管理単位分のコピーが行われる。このためビットマップ形式では、メモリ使用量を少なくして管理単位が大きくなるに従ってコピー量が多くなるという問題がある。
【００１４】
本発明は上記事情を考慮してなされたものでその目的は、スナップショット差分情報を保持するのに、予め定められたメモリ容量の範囲内でビットマップ形式とリスト形式とを使い分けることにより、比較的少ないメモリ容量でありながら、ビットマップ形式単独で使用する場合に比べてコピーデータ量を低減できるスナップショット機能を有するディスク記憶装置、スナップショット差分情報管理方法及びスナップショット管理プログラムを提供することにある。
【００１５】
【課題を解決するための手段】
本発明は、スナップショット機能を有するディスク記憶装置において、ミラー切り離し直後からメモリ上に確保されスナップショット差分情報領域が一杯になるまでの間、ホスト計算機から与えられる書き込み要求の指定する書き込み箇所の情報をリスト形式で上記スナップショット差分情報領域に設定する第１の設定手段と、上記スナップショット差分情報領域が一杯になった場合、当該領域にリスト形式で設定されている書き込み箇所の情報をビットマップ形式に変換する切り替え手段と、このビットマップ形式への変換後は、ホスト計算機から与えられた書き込み要求の指定する書き込み箇所の情報をビットマップ形式で上記スナップショット差分情報領域に設定する第２の設定手段と、ミラー再構成時、上記スナップショット差分情報領域にリスト形式またはビットマップ形式で保持されている書き込み箇所の情報に基づいて、ミラー構成の対象となる２つの論理ディスクの一方から他方への該当する領域間のコピーを行うコピー手段とを備えたことを特徴とする。
【００１６】
このように本発明においては、スナップショット差分情報の保持形式としてリスト形式とビットマップ形式とを使い分け、ミラー切り離し直後はリスト形式でスナップショット差分情報領域に情報を保持し、当該スナップショット差分情報領域が一杯になった場合に現在リスト形式で保持されている情報をビットマップ形式に変換して保持し直し、以降、ビットマップ形式で情報を保持する構成とすることにより、書き込み回数が著しく多くない場合など、スナップショット差分情報領域が一杯にならない限りにおいては、スナップショット差分情報がリスト形式で保持されるため、無条件にビットマップ形式を適用する場合に比べてミラー再構成時におけるコピーデータ量を少なくすることが可能となる。
【００１７】
ここで、スナップショット差分情報（書き込み箇所の情報）が上記スナップショット差分情報領域にリスト形式またはビットマップ形式のいずれの形式で保持されているかを示す特定フラッグ情報であって、ミラー切り離し直後からスナップショット差分情報領域が一杯になるまでの間はリスト形式を示す特定フラッグ情報が上記メモリの特定領域に格納され、且つ当該特定フラッグ情報が、上記切り替え手段によるリスト形式からビットマップ形式への変換時にビットマップ形式を示すように変更される構成とするならば、当該フラッグ情報を参照するだけで、現在リスト形式またはビットマップ形式のいずれが適用されているか簡単に判別できる。
【００１８】
なお、スナップショット差分情報領域が一杯になった状態とは、新たにスナップショット情報が保持可能な空き領域が存在しない状態を指す。また、スナップショット差分情報領域のサイズを予め定められた範囲で可変可能な構成では、新たにスナップショット情報が保持可能な空き領域が存在せず、且つスナップショット差分情報領域をこれ以上広げられない状態を指す。
【００１９】
【発明の実施の形態】
以下、本発明の実施の形態につき図面を参照して説明する。
図１は本発明の一実施形態に係るディスクアレイ装置の構成を示すブロック図である。
【００２０】
図１において、ディスクアレイ装置１０は、ディスクアレイ１１と、このディスクアレイ１１を制御するディスクアレイ制御装置１２とから構成される。ディスクアレイ１１は、複数の磁気ディスクドライブ（以下、ＨＤＤと称する）、例えば２台のＨＤＤ１１０-1及び１１０-2から構成される。この２台のＨＤＤ１１０-1及び１１０-2により提供される各物理ディスクはそれぞれ論理ディスクとして扱われ、適宜ミラー構成にして使用される。両論理ディスクの論理アドレス空間は同一である。
【００２１】
ディスクアレイ制御装置１２は、ディスクアレイ装置１０を利用するホスト計算機２０との間でインタフェース２１を介して入出力するための計算機入出力部１２１と、ディスクアレイ１１を構成する各ＨＤＤ１１０-1，１１０-2との間でインタフェース２２-1，２２-2を介して入出力するためのＨＤＤ入出力部１２２-1，１２２-2と、これら入出力部１２１及び１２２-1，１２２-2の間のデータ転送に用いられるデータバス１２３とを備えている。このデータバス１２３を介して転送されるデータを一時的に格納するバッファメモリは省略されている。インタフェース２１及び２２-1，２２-2は、例えばＳＣＳＩ（Small Computer System Interface）、或いはファイバチャネル（Fibre Channel）である。データバス１２３は、例えばＰＣＩ（Peripheral Component Interconnect Bus）である。
【００２２】
ディスクアレイ制御装置１２はまた、当該制御装置１２の主制御部をなし、計算機入出力部１２１及びＨＤＤ入出力部１２２-1，１２２-2を含む当該制御装置１２全体を制御するマイクロプロセッサ１２４と、マイクロプロセッサ１２４が実行する制御プログラム等が格納される不揮発性メモリ、例えばＲＯＭ（Read Only Memory）１２５と、マイクロプロセッサ１２４のワークエリア等を提供する揮発性メモリ、例えばＲＡＭ（Random Access Memory）１２６とを備えている。ＲＯＭ１２５に格納されている制御プログラムには、スナップショット機能を実現するためのスナップショット管理プログラムが含まれている。このスナップショット管理プログラムは、スナップショット差分情報を保持するのに、予め定められたメモリ容量の範囲内でビットマップ形式とリスト形式とを使い分けるための処理ルーチンを含んでいる。
【００２３】
ＲＡＭ１２６には、スナップショット差分情報を保持するスナップショット差分情報テーブル（以下、差分情報テーブルと称する）が格納される差分情報テーブル領域１２７が確保される。この差分情報テーブル領域１２７のサイズは、予め定められた上限サイズＵＳを超えない範囲で可変可能である。
【００２４】
本実施形態において、差分情報テーブル領域１２７に格納される差分情報テーブルには、図２に示すように、リスト形式差分情報テーブル１２７ａとビットマップ形式差分情報テーブル１２７ｂとの２種類ある。
【００２５】
リスト形式差分情報テーブル１２７ａは、図２（ａ）のデータ構造例に示すように、当該テーブル１２７ａのタイプ（種別）を示すテーブルタイプフィールド２０１ａ、サイズを示すテーブルサイズフィールド２０２ａ及びエントリ数を示すエントリ数フィールド２０３ａからなるテーブル管理ブロック２０４ａと、エントリ数フィールド２０３ａで指定される数のエントリ２０５ａの群とから構成される。エントリ２０５ａには、書き込み領域を示す論理アドレスとサイズ（書き込み領域サイズ）との対が設定される。図２（ａ）の例では、論理アドレス（とサイズとの対）が設定されるエントリ２０５ａの群は例えばエントリ間のリンクにより論理的にアドレス順に並んでいるものとする。
【００２６】
ビットマップ形式差分情報テーブル１２７ｂは、図２（ｂ）のデータ構造例に示すように、当該テーブル１２７ｂのタイプを示すテーブルタイプフィールド２０１ｂ、サイズを示すテーブルサイズフィールド２０２ｂ及び管理単位を示す管理単位サイズフィールド２０３ｂからなるテーブル管理ブロック２０４ｂと、ビットマップ２０５ｂとから構成される。
【００２７】
次に、図１の構成のディスクアレイ装置１０におけるミラー構成によるスナップショット機能の概要について説明する。
まず、本実施形態では、ホスト計算機２０（のファイルシステム）から、ディスクアレイ１１を構成するＨＤＤ１１０-1及び１１０-2のディスク領域がそれぞれ論理ディスクとして扱われる。ユーザの操作に従い、ホスト計算機２０からディスクアレイ装置１０に対してミラー構成とすることが指示された場合には、上記２つの論理ディスクの一方がマスタ論理ディスクに、他方がスナップショット論理ディスクに設定される。
【００２８】
ディスクアレイ装置１０がミラー構成となっている状態では、ホスト計算機２０からは、従来技術の欄で述べたようにマスタ論理ディスクのみが見える。この状態でホスト計算機２０からマスタ論理ディスクに対する書き込みを行うと、同じ内容がスナップショット論理ディスクにも書き込まれ、両ディスクの内容の一致化が図られる。
【００２９】
このミラー構成の状態で、ホスト計算機２０からディスクアレイ装置１０に対してミラーの切り離し指示を発行すると、ディスクアレイ装置１０ではミラー切り離しが行われ、ミラー構成が解除される。このとき、マスタ論理ディスクとスナップショット論理ディスクとは同一内容となっている。つまり、スナップショット論理ディスクには、ミラーの切り離し時のマスタ論理ディスクの内容が保持されている。
【００３０】
ミラーの切り離しが行われると、ホスト計算機２０からは、マスタ論理ディスクだけでなくスナップショット論理ディスクに対しても独立に入出力することが可能となる。このミラー切り離し後に、ホスト計算機２０からマスタ論理ディスク及びスナップショット論理ディスクに対してそれぞれ書き込みが行われた場合、書き込み箇所の情報、即ちスナップショット差分情報をディスクアレイ装置１０のディスクアレイ制御装置１２内に保持して、ミラー再構成時に、スナップショット差分情報に従って、変更箇所だけをマスタ論理ディスクからスナップショット論理ディスクにコピーできるようにする。
【００３１】
以下、ミラー切り離し状態において、ホスト計算機２０からディスクアレイ装置１０に対してマスタ論理ディスクまたはスナップショット論理ディスクに対する書き込み要求が発行された場合の動作の詳細を、図３及び図４のフローチャートを参照して説明する。
【００３２】
まず、ミラー切り離し直後、ディスクアレイ装置１０のディスクアレイ制御装置１２内のマイクロプロセッサ１２４は、ＲＡＭ１２６上にサイズＵＳを超えない範囲で差分情報テーブル領域１２７を確保し、図２（ａ）に示すデータ構造のリスト形式差分情報テーブル１２７ａを設定する。このリスト形式差分情報テーブル１２７ａのテーブルタイプフィールド２０１ａには、当該テーブル１２７ａがリスト形式差分情報テーブル（リスト形式スナップショット差分情報テーブル）であること、つまりスナップショット差分情報の保持形式としてリスト形式を適用していることを示す一種のフラッグ情報が設定されている。
【００３３】
さて、ミラー切り離し後において、ホスト計算機２０からディスクアレイ装置１０に対し、マスタ論理ディスクまたはスナップショット論理ディスクに対する書き込み要求が発行されたものとする。この書き込み要求はディスクアレイ制御装置１２内の計算機入出力部１２１で受け取られて、当該ディスクアレイ制御装置１２内のマイクロプロセッサ１２４に渡される。この書き込み要求は、書き込み先の領域（書き込み領域）を指定する論理アドレス（領域の開始位置を示す開始論理アドレス）とサイズ（領域のサイズ）とを含んでいる。
【００３４】
マイクロプロセッサ１２４は、ホスト計算機２０からの書き込み要求を受け取ると、差分情報（スナップショット差分情報）を差分情報テーブル領域１２７に設定するための処理を次のように実行する。
【００３５】
まずマイクロプロセッサ１２４は、差分情報テーブル領域１２７に現在格納されている差分情報テーブルのタイプ（種別）を、当該テーブルのテーブルタイプフィールド（２０１ａまたは２０１ｂ）を参照することで判定する（ステップＳ１）。なお、本実施形態では、差分情報テーブル領域１２７に格納されている差分情報テーブルのタイプを示す情報、つまりディスクアレイ装置１０にて現在適用されている差分情報保持形式を示す情報（フラッグ情報）が当該テーブルの特定フィールド（２０１ａまたは２０１ｂ）に設定されるものとしているが、当該情報を差分情報テーブルから独立に保持するようにしても構わない。
【００３６】
マイクロプロセッサ１２４は、差分情報テーブルのタイプがリスト形式である場合、即ち差分情報テーブル領域１２７にリスト形式差分情報テーブル１２７ａが格納されている場合、書き込み要求に含まれている書き込み領域を示す論理アドレス（論理ディスクアドレス）とサイズとで、リスト形式差分情報テーブル１２７ａ上のエントリ２０５ａを検索する（ステップＳ２）。そしてマイクロプロセッサ１２４は、この検索結果に応じて以下の処理を行う。
【００３７】
まず、指定された書き込み領域を示すエントリ２０５ａが既に存在する場合には（ステップＳ３）、差分情報設定の必要がないため、マイクロプロセッサ１２４は差分情報設定処理を終了し、書き込み要求で指定された書き込みのための制御を行う。
【００３８】
次に、指定された書き込み領域を示すエントリ２０５ａは存在しないが（ステップＳ３）、当該書き込み領域とオーバラップまたは隣接する書き込み領域（既書き込み領域）を示すエントリ２０５ａが存在する場合には（ステップＳ４）、マイクロプロセッサ１２４は、当該エントリ２０５ａの内容を、指定の書き込み領域と既書き込み領域とが併合された１つの書き込み領域を示すように更新する（ステップＳ５）。これにより、書き込み要求に伴うエントリ２０５ａの増加と、ミラー再構成後のコピー処理の増加を防ぐことができる。
【００３９】
マイクロプロセッサ１２４は、ステップＳ５を実行すると、当該ステップＳ５でのエントリ２０５ａの内容更新の結果、当該エントリ２０５ａの示す書き込み領域が、当該エントリ２０５ａと前側または後側にリンクしているエントリ２０５ａ、つまり論理的に隣接するエントリ２０５ａの示す書き込み領域とオーバラップまたは隣接するようになったか否かの条件判定を行う（ステップＳ６）。もし、条件が成立しているならば、マイクロプロセッサ１２４は上記２つのエントリ２０５ａの内容を１つにまとめる（ステップＳ７）。即ちマイクロプロセッサ１２４は、上記２つのエントリ２０５ａのいずれか一方を、当該２つのエントリ２０５ａの示す書き込み領域が併合された１つの書き込み領域を示すように更新し、もう一方のエントリ２０５ａをリンクから切り離して空きエントリ２０５ａとする。
【００４０】
またマイクロプロセッサ１２４は、指定の書き込み領域を示すエントリ２０５ａが存在せず（ステップＳ３）、且つ当該書き込み領域とオーバラップまたは隣接する書き込み領域（既書き込み領域）を示すエントリ２０５ａも存在しない場合には（ステップＳ４）、空きエントリ２０５ａが存在するか否かを調べる（ステップＳ９）。
【００４１】
もし、空きエントリ２０５ａが存在するならば、マイクロプロセッサ１２４は当該エントリ２０５ａに、書き込み要求で指定された書き込み領域を示す論理アドレスとサイズとの対、即ちスナップショット差分情報を設定する（ステップＳ８）。このときマイクロプロセッサ１２４は、エントリ２０５ａの論理的な並びがアドレス順となるように、スナップショット差分情報が設定されたエントリ２０５ａを論理的に隣接するエントリ２０５ａとリンク付けする。
【００４２】
これに対し、空きエントリ２０５ａが存在しないならば、マイクロプロセッサ１２４はエントリ２０５ａの追加が可能であるか否かを、エントリ２０５ａを追加してもリスト形式差分情報テーブル１２７ａのサイズ（差分情報テーブル領域１２７のサイズ）がＵＳを超えないか否かにより判定する（ステップＳ１０）。
【００４３】
もし、エントリ２０５ａが追加可能であるならば、マイクロプロセッサ１２４は差分情報テーブル領域１２７を１エントリ２０５ａ分広げて、リスト形式差分情報テーブル１２７ａにエントリ２０５ａを１つ追加し（ステップＳ１１）、その追加したエントリ２０５ａに、書き込み要求で指定された書き込み領域を示す論理アドレスとサイズとの対を設定する（ステップＳ８）。
【００４４】
一方、エントリ２０５ａが追加可能でないならば、マイクロプロセッサ１２４は、スナップショット差分情報の保持形式をリスト形式からビットマップ形式に切り替えるために、現在差分情報テーブル領域１２７に格納されているリスト形式差分情報テーブル１２７ａをビットマップ形式差分情報テーブル１２７ｂに変換（データ変換）する（ステップＳ１２）。次にマイクロプロセッサ１２４は、ビットマップ形式差分情報テーブル１２７ｂ中のビットマップ２０５ｂから、書き込み要求に含まれている論理アドレスとサイズ、及びビットマップ２０５ｂの管理単位サイズをもとに、指定された書き込み領域に対応するビットを全て検索する（ステップＳ１３）。そしてマイクロプロセッサ１２４は検索された全てのビットを書き込み（変更）有りを示す１にして（ステップＳ１４）、差分情報設定処理を終了する。ここで、書き込み領域に対応するビットが既に１である場合には、必ずしも当該ビットを１にする処理は行わなくてもよい。
【００４５】
またマイクロプロセッサ１２４は、差分情報テーブル領域１２７に格納されている差分情報テーブルのタイプがビットマップ形式である場合、即ち差分情報テーブル領域１２７にビットマップ形式差分情報テーブル１２７ｂが格納されている場合（ステップＳ１）、上記したリスト形式差分情報テーブル１２７ａからビットマップ形式差分情報テーブル１２７ｂへの切り替え時と同様に、ステップＳ１３，Ｓ１４を実行し、ビットマップ２０５ｂ中の指定された書き込み領域に対応するビットを１にする。
【００４６】
次にミラー再構成時のコピー処理について説明する。
【００４７】
マイクロプロセッサ１２４は、ホスト計算機２０からディスクアレイ装置１０に対し、ミラーを切り離した状態から再びミラー構成の状態に切り替えることが指示された場合、スナップショット論理ディスクの内容をマスタ論理ディスクと同一内容にするために、マスタ論理ディスクからスナップショット論理ディスクへのコピーを次のように行う。
【００４８】
まずマイクロプロセッサ１２４は、先の差分情報設定処理の場合と同様に、差分情報テーブル領域１２７に現在格納されている差分情報テーブルのタイプを調べる。
【００４９】
もし、差分情報テーブル領域１２７にリスト形式差分情報テーブル１２７ａが格納されている場合、マイクロプロセッサ１２４は、リスト形式差分情報テーブル１２７ａの各エントリ２０５ａを単位に、そのエントリ２０５ａに設定されている論理アドレスとサイズで示される、マスタ論理ディスク内の領域のデータを、スナップショット論理ディスクの対応する領域にコピーする動作を繰り返す。
【００５０】
一方、差分情報テーブル領域１２７にビットマップ形式差分情報テーブル１２７ｂが格納されている場合には、ビットマップ形式差分情報テーブル１２７ｂのビットマップ２０５ｂ上で１となっているビットを順次検索し、そのビットに対応するマスタ論理ディスク内の管理単位サイズ分の領域のデータを、スナップショット論理ディスクの対応する領域にコピーする動作を繰り返す。
【００５１】
以上により、ミラー切り離し状態で、マスタ論理ディスクに対して行われた書き込みについては、その書き込み領域のデータがスナップショット論理ディスクの対応する領域にコピーされる。また、スナップショット論理ディスクに対して行われた書き込みについては、その書き込み領域に、マスタ論理ディスクの対応する領域のデータ（ミラー切り離し時のデータ）がコピーされる。これにより、スナップショット論理ディスクの内容がマスタ論理ディスクの内容に一致化され、ミラー再構成が可能となる。
【００５２】
以上に述べたように本実施形態においては、スナップショット差分情報の保持には、差分情報テーブル領域１２７のサイズが予め定められたＵＳを超えない限りは、リスト形式が用いられる。したがって、ミラー再構成時にリスト形式が適用されている場合、即ち差分情報テーブル領域１２７にリスト形式差分情報テーブル１２７ａが格納されている場合、ビットマップ形式に比べて、コピーデータ量を少なくすることができる。この結果、コピー時間の短縮、コピー負荷が低減され、コピー中のマスタ論理ディスクに対するホスト計算機２０からの入出力性能の低下を少なくすることができる。また本実施形態においては、ミラー切り離し状態における書き込み回数が多くなって、ＵＳの範囲内でリスト形式差分情報テーブル１２７ａのエントリを増やすことができない場合、リスト形式差分情報テーブル１２７ａがビットマップ形式差分情報テーブル１２７ｂに変換され、以降、ビットマップ形式でスナップショット差分情報が保持される。したがって、書き込み回数が著しく増加しても、限られた大きさの差分情報テーブル領域１２７でありながら、スナップショット差分情報を正しく保持することができ、ミラー再構成時のコピー処理でスナップショット論理ディスクの内容をマスタ論理ディスクの内容に一致化させることができる。
【００５３】
以上に述べた実施形態では、リスト形式差分情報テーブル１２７ａの各エントリ２０５ａの論理的な順番が当該エントリ２０５ａに設定されている論理アドレスの順番となるように、各エントリ２０５ａ間がリンク付けされているものとして説明したが、これに限るものではない。例えば、リスト形式差分情報テーブル１２７ａ上のエントリ２０５ａの物理的な順番が当該エントリ２０５ａに設定されている論理アドレスの順番に一致するようにしてもよい。但し、この場合には、各エントリ２０５ａ間のエントリ情報の移動処理が必要となる。
【００５４】
また、以上に述べた実施形態では、ディスクアレイ１１を構成するＨＤＤ１１０-1，１１０-2のディスク領域がそれぞれ論理ディスクとして扱われるものとして説明したが、これに限るものではない。例えば、ＨＤＤ１１０-1，１１０-2の各ディスク領域をいずれも第１のディスク領域と第２のディスク領域とに２分割（２等分）し、第１のディスク領域同士からなるディスク領域と、第２のディスク領域からなるディスク領域とを、それぞれ論理ディスクとして扱って、ミラー構成、ミラー切り離し及びコピーを繰り返すようにしても構わない。また、１台のＨＤＤを内蔵するディスク記憶装置であっても、当該ＨＤＤのディスク領域を２分割して、各分割領域をそれぞれ論理ディスクとして扱い、ミラー構成、ミラー切り離し及びコピーを繰り返すことで、スナップショット機能を実現することも可能である。
【００５５】
なお、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【００５６】
【発明の効果】
以上詳述したように本発明によれば、スナップショット差分情報を保持するのに、予め定められたメモリ容量の範囲内でビットマップ形式とリスト形式とを使い分けし、ミラー切り離し直後はリスト形式でスナップショット差分情報領域に情報を保持し、当該スナップショット差分情報領域が一杯になった場合に現在リスト形式で保持されている情報をビットマップ形式に変換し、以降、ビットマップ形式で情報を保持する構成としたので、書き込み回数が著しく多くない場合など、スナップショット差分情報領域が一杯にならない限りにおいては、少ないメモリ容量でありながら、ビットマップ形式単独で使用する場合に比べてミラー再構成時におけるコピーデータ量を少なくすることができる。また本発明によれば、書き込み回数が著しく多くなってスナップショット差分情報領域が一杯になったとしても、ビットマップ形式への変換が行われて、ビットマップ形式で情報が保持されるため、情報を正しく保持することができる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係るディスクアレイ装置の構成を示すブロック図。
【図２】同実施形態で適用される２種の差分情報（スナップショット差分情報）テーブルのデータ構造例を示す図。
【図３】ミラー切り離し状態において、ホスト計算機２０からディスクアレイ装置１０に対してマスタ論理ディスクまたはスナップショット論理ディスクに対する書き込み要求が発行された場合の差分情報（スナップショット差分情報）設定処理の手順を説明するためのフローチャートの一部を示す図。
【図４】同フローチャートの残りを示す図。
【符号の説明】
１０…ディスクアレイ装置（ディスク記憶装置）
１１…ディスクアレイ
１２…ディスクアレイ制御装置
２０…ホスト計算機
１１０-1，１１０-2…ＨＤＤ（ディスクドライブ）
１２４…マイクロプロセッサ
１２５…ＲＯＭ
１２６…ＲＡＭ（メモリ）
１２７…差分情報テーブル領域（スナップショット差分情報領域）
１２７ａ…リスト形式差分情報テーブル
１２７ｂ…ビットマップ形式差分情報テーブル
２０１ａ，２０２ｂ…テーブルタイプフィールド
２０４ａ，２０４ｂ…テーブル管理ブロック
２０５ａ…エントリ
２０５ｂ…ビットマップ
【図１】
0004108944.tif 000002
【図２】
0004108944.tif 000003
【図３】
0004108944.tif 000004
【図４】
0004108944.tif 000005