JP4783076B2 - ディスクアレイ装置及びその制御方法 - Google Patents

ディスクアレイ装置及びその制御方法 Download PDF

Info

Publication number
JP4783076B2
JP4783076B2 JP2005199811A JP2005199811A JP4783076B2 JP 4783076 B2 JP4783076 B2 JP 4783076B2 JP 2005199811 A JP2005199811 A JP 2005199811A JP 2005199811 A JP2005199811 A JP 2005199811A JP 4783076 B2 JP4783076 B2 JP 4783076B2
Authority
JP
Japan
Prior art keywords
difference
logical volume
disk array
management information
volume
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005199811A
Other languages
English (en)
Other versions
JP2007018312A (ja
Inventor
元 佐藤
佑光 松井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2005199811A priority Critical patent/JP4783076B2/ja
Priority to US11/224,075 priority patent/US20070011402A1/en
Priority to EP06250633A priority patent/EP1746492A1/en
Publication of JP2007018312A publication Critical patent/JP2007018312A/ja
Application granted granted Critical
Publication of JP4783076B2 publication Critical patent/JP4783076B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、ディスアレイ装置及びその制御方法に関し、例えばスナップショット機能が搭載されたディスクアレイ装置に適用して好適なものである。
従来、下記特許文献1に記載のように、ディスクアレイ装置の機能の1つとして、スナップショットの作成指示を受けた時点における指定された論理ボリューム(以下、これをプライマリボリュームと呼ぶ)のイメージを保持する、いわゆるスナップショット機能がある。スナップショット機能は、人為的なミスによりデータが消失してしまったときや、所望時点におけるファイルシステムの状態を復元したいときなどに、その時点におけるプライマリボリュームを復元するために用いられる。
かかるスナップショット機能により保持されるプライマリボリュームのイメージ(バーチャルボリュームとも呼ばれる)は、スナップショットの作成指示を受けた時点におけるプライマリボリューム全体のデータではなく、現在のプライマリボリュームのデータと、プールボリュームと呼ばれる専用の論理ボリュームに保持される差分データとから構成される。この差分データは、スナップショットの作成指示を受けた時点におけるプライマリボリュームと、現在のプライマリボリュームとの差分である。そしてこれらの差分データと現在のプライマリボリュームとに基づいて、かかるスナップショット作成指示された時点におけるプライマリボリュームの状態が復元される。従って、スナップショット機能によれば、プライマリボリュームの内容をそのまま記憶する場合に比べて、より小さい記憶容量でスナップショット作成指示された時点のプライマリボリュームを復元できるという利点がある。
特開2003−242011号公報
ところで、従来のディスクアレイ装置においては、OS(Operating System)などからなるマイクロプログラムや、各論理ボリュームの開始LBA(Logical Brock Address)、終了LBA、容量及び属性などの構成情報、各外部ポートの設定情報などのディスクアレイ装置全体を起動及び制御するために必要な情報(以下、これらをまとめてシステム情報と呼ぶ)がディスアレイ装置内の2つ又はそれ以上のディスクドライブにそれぞれミラー状に書き込まれて保持されている。このようにシステム情報が書き込まれる領域はシステム領域と呼ばれ、かかる各ディスクドライブに予め固定的に確保されている。
そして、従来のディスクアレイ装置では、上述したスナップショット機能における各差分データの管理情報(以下、これらをスナップショット差分管理情報と呼ぶ)も、ユーザ指示により装置を停止させる計画停止の際に、このシステム領域に退避させて保持するように構成されていた。
このため、かかる従来のディスクアレイ装置では、ユーザの希望によりスナップショット機能が搭載されていない場合や、未だスナップショット機能を利用していない場合においても、上述のようなスナップショット差分管理情報を保持するための記憶領域が、使用されないにもかかわらずシステム領域内に予め固定的に確保されるなど、記憶資源を有効かつ効率的に使用し難い問題があった。
本発明は以上の点を考慮してなされたもので、記憶資源を有効かつ効率的に使用し得るディスクアレイ装置及びその制御方法を提案しようとするものである。
かかる課題を解決するため、本発明は、指定された時点における第1の論理ボリュームの内容と、現在の前記第1の論理ボリュームの内容との差分を表す差分データ及びその管理情報である差分管理情報を保持し、保持した前記差分データ及び前記差分管理情報に基づいて、前記指定された時点における当該第1の論理ボリュームを復元する機能が搭載されたディスクアレイ装置において、前記ディスクアレイ装置の稼動時に前記差分管理情報を保持するためのメモリと、1又は複数の記憶デバイスと、前記メモリ及び前記記憶デバイスに対するデータの読み書きを制御する制御部とを備え、前記制御部は、外部操作に応じて、前記差分管理情報を格納するための第2の論理ボリュームを前記記憶デバイスが提供する記憶領域に設定し、前記ディスクアレイ装置の稼動を停止させる際には、前記メモリに保持された前記差分管理情報を前記第2の論理ボリュームに退避させ、前記ディスクアレイ装置を起動させる際には、当該差分管理情報を前記第2の論理ボリュームから前記メモリに読み出させることを特徴とする。
また本発明は、指定された時点における第1の論理ボリュームの内容と、現在の前記第1の論理ボリュームの内容との差分を表す差分データ及びその管理情報である差分管理情報を保持し、保持した前記差分データ及び前記差分管理情報に基づいて、前記指定された時点における当該第1の論理ボリュームを復元する機能が搭載されたディスクアレイ装置の制御方法において、外部操作に応じて、前記差分管理情報を格納するための第2の論理ボリュームを所定の記憶デバイスが提供する記憶領域に設定する第1のステップと、前記ディスクアレイ装置の稼動を停止させる際には、所定のメモリに保持された前記差分管理情報を前記第2の論理ボリュームに退避させ、前記ディスクアレイ装置を起動させる際には、当該差分管理情報を前記第2の論理ボリュームから前記メモリに読み出させる第2のステップとを備えることを特徴とする。
本発明によれば、差分管理情報を格納するための第2の論理ボリュームを必要なときに設定できるようにすることができるため、差分管理情報を格納するための記憶領域を予め固定的に確保しておく場合に比べて、記憶資源を有効かつ効率的に使用することができる。
以下図面について、本発明の一実施の形態を詳述する。
(1)第1の実施の形態
(1−1)本実施の形態によるディスクアレイ装置1の構成
図1は、本実施例に係るディスクアレイ装置1の構成を示す。ディスクアレイ装置1は、通信ネットワーク2を介してホスト装置(上位ホスト装置)3に接続されている。
ホスト装置3は、ディスクアレイ装置1の上位装置として機能するサーバ、パーソナルコンピュータ、ワークステーション、メインフレームなどから構成される。通信ネットワーク2としては、例えば、LAN(Local Area Network)、SAN(Storage Area Network)、インターネット、専用回線等を挙げることができる。
ホスト装置3がオープン系の場合、通信ネットワーク2を介したホスト装置3及びディスクアレイ装置1間の通信は、例えばTCP/IP(Transmission Control Protocol/Internet Protocol)、FCP(Fibre Channel Protocol )、iSCSI(internet Small Computer System Interface)等のプロトコルに従って行われる。またホスト装置3がメインフレーム系の場合、通信ネットワーク2を介したホスト装置3及びディスクアレイ装置1間の通信は、例えばFICON(Fibre Connection:登録商標)、ESCON(Enterprise System Connection:登録商標)、ACONARC(Advanced Connection Architecture:登録商標)、FIBARC(Fibre Connection Architecture:登録商標)等の通信プロトコルに従って行われる。
ディスクアレイ装置1は、二重化されたコントローラ10,20を備えるデュアルコントローラ構成を有する。コントローラ10は、主にCPU11、ローカルメモリ(LM)12、データコントローラ(D−CTL)13、キャッシュメモリ(CM)14、ファイバチャネルプロトコルコントローラ(F−CTL)15、PBC(Port Bypass Circuit)16、エンクロージャーコントローラ(E−CTL)17、及びFC−AL(Fibre Channel Arbitrated Loop)30,31を備える。
CPU11は、ホスト装置3からのデータ入出力要求に応答して、複数のディスクドライブDRV0〜DRV14へのデータ入出力処理(ライトアクセス又はリードアクセス)を制御するプロセッサであり、ローカルメモリ12に格納されたマイクロプログラムを実行することによりデータコントローラ13、ファイバチャネルプロトコルコントローラ15及びPBC16等を制御する。
データコントローラ13は、CPU11の制御に基づいて、ファイバチャネルプロトコルコントローラ15とキャッシュメモリ14との間のデータ転送を制御する。キャッシュメモリ14は、ファイバチャネルプロトコルコントローラ15を介してフロントインターフェース又はバックインターフェースとの間で授受されるデータを一時的に記憶する。
ファイバチャネルプロトコルコントローラ15は、フロントインターフェース接続用ファイバチャネル18Fを介してホスト装置3にインターフェース接続されており、ファイバチャネルプロトコルによるブロックアクセス要求を受信する機能を有する。またファイバチャネルプロトコルコントローラ15は、バックインターフェース接続用ファイバチャネル18Bを介してディスクドライブDRV0〜DRV14にインターフェース接続されており、ディスクドライブDRV0〜DRV14を制御するコマンド等を規定するプロトコルに従って、ディスクドライブDRV0〜DRV14へのデータ入出力要求を送信する機能を有する。PBC16は、バックインターフェース接続用ファイバチャネル18Bの接続先として、二つのFC−AL30,31のうち何れか一方又は両者を選択し、接続切り替えを行う。
FC−AL30は、FC−AL31上に実装されたPBC35を介して、偶数番号のディスクドライブDRV0,DRV2,…,DRV14にループ接続されている。またFC−AL31は、FC−AL31上に実装されたPBC35を介して、奇数番号のディスクドライブDRV1,DRV3,…,DRV13にループ接続されている。
PBC35は、システム運用上の障害を最小限に止めて、ノードの追加や削除が行えるようにFC−AL30,31を自動的にオープン又はクローズする電子スイッチである。PBC35は、ファイバチャネルプロトコルコントローラ15やディスクドライブDRV0〜DRV14をバイパスして、これらをFC−AL30,31から電気的に除外する機能を有する。例えばPBC35は、障害が発生したディスクドライブDRV0〜DRV14をFC−AL30,31から切り離して、他のディスクドライブDRV0〜DRV14とファイバチャネルプロトコルコントローラ15との間の通信を可能にする。またPBC35は、FC−AL30,31の動作を維持したままで、ディスクドライブDRV0〜DRV14の抜き差しを可能にする。例えば、新たなディスクドライブが装着された場合には、そのディスクドライブをFC−AL30,31に取り込み、ファイバチャネルプロトコルコントローラ15との間の通信を可能にする。
エンクロージャーコントローラ(E−CTL)17は、SES(SCSI Enclosure Surcuit)ドライブを制御する。SESドライブは、SCSI3(Small Computer System Interface 3)規格に規定されるSES(SCSI Enclosure Services)やESI(Enclosure Service I/F)の機能を備えており、SES(SCSI Enclosure Service)やESI(Enclosure Service I/F)の機能を動作させることができる。本実施例の場合、SESドライブは、FC−AL30〜33の他に、エンクロージャーコントローラ17とも通信可能なディスクドライブである。ここでは、各FC−ALにつき2台のディスクドライブDRV0〜DRV3をSESドライブとしているが、全てのディスクドライブDRV0,DRV2,…,DRV14をSESドライブとしてもよい。
一方、コントローラ20は、コントローラ10と同様に構成されており、CPU21、ローカルメモリ(LM)22、データコントローラ(D−CTL)23、キャッシュメモリ(CM)24、ファイバチャネルプロトコルコントローラ(FC−CTL)25、PBC26、エンクロージャーコントローラ(E−CTL)27、フロントインターフェース接続用ファイバチャネル28F、バックインターフェース接続用ファイバチャネル28B、及びFC−AL32,33を備えて構成される。
PBC26は、バックインターフェース接続用ファイバチャネル28Bの接続先として、2つのFC−AL32,33のうち何れか一方又は両方を選択し、接続切り替えを行う。FC−AL32は、PBC35を介して偶数番号のディスクドライブDRV0,DRV2,…,DRV14にループ接続している。FC−AL33は、PBC35を介して奇数番号のディスクドライブDRV1,DRV3,…,DRV13にループ接続されている。
データコントローラ13,23はバス36を介して相互に接続されており、一方のデータコントローラ13(又は23)がバス36を介して他方のデータコントローラ23(又は13)に対して、コマンド転送やデータ転送等を行うこともできる。例えば、両コントローラ10,20が分担して同一の論理ボリュームに対するアクセスを行う場合に、両コントローラ間でライトデータ又はリードデータの転送を行うこともできる。
コントローラ10,20は、ディスクドライブDRV0,DRV2,…,DRV14をいわゆるRAID方式に規定されるRAIDレベル(例えば、0,1,5)で制御することができる。RAID方式では、複数のディスクドライブDRV0,DRV2,…,DRV14を一つのグループ(以下、RAIDグループと称する。)として管理する。RAIDグループ上には、ホスト装置3からのアクセス単位である論理ボリュームが形成される。各論理ボリュームには、LUN(Logical Unit Number)と呼ばれる識別子が付与されている。
なお、PBC16とFC−AL30,31との間には、それぞれPBC40,41が実装されている。PBC40は、FC−AL30に障害が生じた場合には、バックインターフェース接続用ファイバチャネル18Bを、ファイバチャネル44(点線)を介してFC−AL32に接続する。PBC41は、FC−AL31に障害が生じた場合には、バックインターフェース接続用ファイバチャネル18Bを、ファイバチャネル45(点線)を介してFC−AL33に接続する。
同様に、PBC26とFC−AL32,33との間には、それぞれPBC42,43が実装されている。PBC42は、FC−AL32に障害が生じた場合には、バックインターフェース接続用ファイバチャネル28Bを、ファイバチャネル46(点線)を介してFC−AL30に接続する。PBC43は、FC−AL33に障害が生じた場合には、バックインターフェース接続用ファイバチャネル28Bを、ファイバチャネル47(点線)を介してFC−AL31に接続する。
仮に、各コントローラ10,20に実装されている全てのPBC40〜43がファイバチャネル44〜47に接続することにより、バックインターフェース接続用ファイバチャネル18B,28Bが相手コントローラ側のFC−AL30〜33に接続された状態を想定すると、この状態は、例えば、特開2000−187561号の図1に示されているように、両コントローラ間を接続するファイバチャネルループに複数のディスクドライブが接続する状態と同じになる。
以下の説明においては、FC−AL30をコントローラ20の稼働系FC−AL、FC−AL31をコントローラ20の待機系FC−AL、FC−AL32をコントローラ20の待機系FC−AL、FC−AL33をコントローラ20の稼働系FC−ALとした場合を想定して説明を進める。
図2は複数のディスクドライブDRV10〜DRV14に形成される論理ボリュームを示している。ここでは、説明の便宜上、二つの論理ボリュームLU1,LU2が示されている。ホスト装置3に搭載されているOS(Operating System)は、論理ボリューム名を指定してディスクアレイ装置10にアクセスする。仮に、各論理ボリュームLU1,LU2を構成する物理ディスクを一つにすると、その物理ディスクが故障したときに、その論理ボリュームLU1,LU2は使用不能となる。これを防止するために、RAID方式では、各論理ボリュームLU1,LU2が異なる複数のディスクドライブDRV10〜DRV14上に形成される。その一方で、コントローラ10の稼働系FC−AL30は偶数番号のディスクドライブDRV10、12、14に接続され、コントローラ20の稼働系FC−AL33は奇数番号のディスクドライブDRV11、13に接続されているため、各々の論理ボリュームLU1,LU2へのアクセスは、必ずしも何れか一方のコントローラ10又は20のみが行うものではなく、両コントローラ10,20が協調制御の下、協力して行うように構成してもよい。
ホスト装置3からディスクアレイ装置1の論理ボリュームLU1又はLU2に対して、ライトアクセスが行われると、このライトアクセスと共にホスト装置3から出力されて一方のコントローラ10内のキャッシュメモリ14に格納されたライトデータは、バス36を介して他方のコントローラ20内のキャッシュメモリ14にも格納される。このようにデータを二重化することで、一方のコントローラ10に障害が生じた場合でも、他方のコントローラ20にフェイルオーバーできる。キャッシュメモリ14,24にライトデータが格納された時点でディスクアレイ装置1はホスト装置3に対してライトアクセス完了の通知を行う。次いで、コントローラ10は、FC−AL30を介してディスクドライブDRV0,DRV2,…,DRV14へのライトアクセスを行う。ライトアクセスが行われる論理ボリュームLU1又はLU2は、偶数番号のディスクドライブDRV0,DRV1,…,DRV14だけでなく、奇数番号のディスクドライブDRV1,DRV3,…,DRV13をも含むので、奇数番号のディスクドライブDRV1,DRV3,…,DRV13へのライトアクセスは、コントローラ20がFC−AL33を介して行う。
一方、ホスト装置3からディスクアレイ装置1の論理ボリュームLU1又はLU2に対して、リードアクセスが行われると、コントローラ10はキャッシュメモリ14をチェックし、リードアクセスの対象となるデータがある場合には、該当データを読み取ってホスト装置3に送信する。キャッシュメモリ14に該当データがない場合には、コントローラ10は、FC−AL61を介してディスクドライブDRV0,DRV2,…,DRV14へのリードアクセスを行う。リードアクセスが行われる論理ボリュームLU1又はLU2は、偶数番号のディスクドライブDRV10、12、14だけでなく、奇数番号のディスクドライブDRV11、13をも含むので、奇数番号のディスクドライブDRV11、13へのリードアクセスはコントローラ30がFC−AL33を介して行う。各コントローラ10,20によって読み出されたリードデータはキャッシュメモリ14,24に二重書きされる。
このように、一つの論理ボリュームに対するアクセスを、両コントローラ10,20が協調制御の下、協力して行うことにより、各コントローラ10,20の処理負荷を均等化できる。本実施例では、偶数番号のディスクドライブDRV10、12、14と、奇数番号のディスクドライブDRV11、13とに二分して、各コントローラ10,20の処理負荷を均等化する例を示したが、各コントローラ10,20が担当するディスクドライブ数が略同程度になるように、例えば、ディスクドライブDRV11、12と、ディスクドライブDRV13、14とに二分して、各コントローラ10,20の処理負荷を均等化してもよい。
また、本実施例では、二つのPBC16,26を制御して、バックインターフェース接続用ファイバチャネル18B,28Bを稼働系FC−AL30,33に接続するだけで、全てのディスクドライブDRV0〜DRV14は、何れか一方のコントローラ10又は20に接続されるため、FC−AL30〜33上に実装された個々のPBC35を個別に制御する必要がなく、制御が容易である。また、各CPU11,21は、各コントローラ内の稼働系FC−ALと待機系のFC−ALを区別することなく、両者とも同一のデバイスとして認識しているので、制御が容易である。
(1−2)スナップショット差分管理情報の管理方式
次に、かかるディスクアレイ装置1におけるスナップショット差分管理情報の管理方式について説明する。
本ディスクアレイ装置1では、図3に示すように、FC−AL30〜33に接続された先頭から5つ分のディスクドライブDRV0〜4に固定的にシステム領域SAR0〜SAR4が割り当てられ、これら5つのディスクドライブDRV0〜4の各システム領域SAR0〜SAR4内にそれぞれマイクロプログラムなどの全てのユーザが共通に使用するシステム情報を保持(5重化)する一方で、オプション機能であるスナップショット機能の実行により得られる上述のスナップショット差分管理情報の一部を、予めユーザにより設定された専用の論理ボリューム(以下、これを差分管理ボリュームと呼ぶ)に保持するようになされた点を特徴の1つとしている。
図4は、このような本ディスクアレイ装置1におけるスナップショット差分管理情報の管理方式を概念的に示したものである。本ディスクアレイ装置1の場合、スナップショット差分管理情報としては、差分ビットマップ50、プライマリボリュームアドレステーブル51及び差分情報テーブル52が存在する。
差分ビットマップ50は、スナップショット作成対象の論理ボリュームLUであるプライマリボリュームLUPの内容変更の有無を、64〔Kbyte〕(ある範囲(例えば1〜512〔Kbyte〕の範囲など)で可変とすることができる)のブロック領域BL単位で管理するためのビットマップであり、プライマリボリュームLUP内の各ブロック領域BLとそれぞれ1対1で対応付けられた複数のビットを有する。この差分ビットマップ50は、スナップショット作成指示が与えられたタイミングでリセット(オール「0」)され、その後、プライマリボリューム内のいずれかのブロック領域BLの内容が最初に更新されたときに(すなわち、そのブロック領域BLに新たにデータが書き込まれ又はそのブロック領域BLに書き込まれていたデータが上書きされたときに)、そのブロック領域BLと対応付けられたビットが「0」から「1」に変更される。
プライマリボリュームアドレステーブル51は、プライマリボリュームLUPの各ブロック領域BLと差分情報テーブル52上の対応する管理領域52Aとを対応付けたテーブルであり、プライマリボリュームLUPの各ブロック領域BLにそれぞれ対応させて、複数のアドレス領域51Aが設けられている。そして、これらアドレス領域51Aには、プライマリボリュームLUPの対応するブロック領域BLの内容が更新されて、対応する差分データDDFがプールボリュームLUPOOLに格納されたときに、後述のようにその差分データDDFと対応付けて作成された差分情報テーブル52上の管理領域52Aのアドレスが格納される。
差分情報テーブル52は、プールボリュームLUPOOLに格納された各差分データDDFとそれぞれ1対1で対応付けられた複数の管理領域52Aを有している。各管理領域52Aには、例えば図5に示すように、4〔Byte〕の次差分管理情報アドレスフィールドFL1、4〔Byte〕の前差分管理情報アドレスフィールドFL2、同じく4〔Byte〕の世代管理ビットマップフィールドFL3、1〔Byte〕のプライマリボリュームLUNフィールドFL4、同じく1〔Byte〕のリザーブフィールドFL5及び2〔Byte〕のプライマリボリューム通し番号フィールドFL6がそれぞれ設けられている。
このうち世代管理ビットマップフィールドFL3は、複数世代分のバーチャルボリューム(スナップショット)の作成を可能とするために世代管理用のビットマップを格納するフィールドであり、対応する差分データDDFが属するバーチャルボリュームの世代が格納される。また次差分管理情報アドレスフィールドFL1には、次世代のバーチャルボリュームにおける対応する差分データDDFと関連付けられた管理領域52Aの差分情報テーブル52上のアドレスが格納される。さらに前差分管理情報アドレスフィールドFL2には、前世代のバーチャルボリュームにおける対応する差分データDDFと関連付けられた管理領域52Aの差分情報テーブル52上のアドレスが格納される。この前差分管理情報アドレスフィールドFL2に格納されているアドレスを辿って行くことによって、より古い世代のバーチャルボリュームにおける対応する差分データDDF及びその管理情報にアクセスすることができる。
プライマリボリュームLUNフィールドFL4には、対応するプライマリボリュームLUPのLUNの下1〔Byte〕が格納される。これはチェックコードとして使用される。またプライマリボリューム内通し番号フィールドFL6には、プライマリボリュームLUP内での対応するブロック領域BLの通し番号が格納される。これもチェックコードとして使用される。なお、リザーブフィールドFL5は、将来の拡張のために設けられたものであり、通常はダミーデータが格納される。
このようなスナップショット差分管理情報のうち、差分ビットマップ50は、ディスクアレイ装置1の立ち下がり時にシステム情報の一部として図3について上述したシステム領域SAR0〜SAR4に格納されて保存され、プライマリボリュームアドレステーブル51及び差分情報テーブル52は、ディスクアレイ装置1の立下り時に差分管理ボリュームLUDMに格納されて保存される。そしてこれら差分ビットマップ50、プライマリボリュームアドレステーブル51A及び差分情報テーブル52は、ディスクアレイ装置1の立ち上がり時にそれぞれシステム領域SAR0〜SAR4や差分管理ボリュームLUDMから読み出されてキャッシュメモリ14,24上に展開され、その後必要に応じて後述のように更新される。
なお、差分ビットマップ50、プライマリボリュームアドレステーブル51及び差分情報テーブル52は、コントローラ10,20毎にそれぞれ作成される。ただし、このとき各コントローラ10,20同士が通信を行いながら同期して差分情報テーブル52等を作成するため、同じものが作成されることとなる。このように差分ビットマップ50、プライマリボリュームアドレステーブル51及び差分情報テーブル52をディスクアレイ装置1内において2重化してもつことにより、一方のデータが壊れた場合においても他方のデータによって対応することが可能となる。
図6は、本ディスクアレイ装置1における差分管理ボリュームLUDMの設定手順を示すフローチャートである。本ディスクアレイ装置1では、差分管理ボリュームLUDMを設定する場合、通常の論理ボリュームLUを作成する場合と同様にして、まず複数のディスクドライブDRV0〜DRVからなるRAIDグループを設定する(S1)。具体的には、専用のソフトウェアがインストールされたホスト装置3(図1)を操作して、そのディスプレイに所定の設定画面を表示させ、この設定画面を用いて、新たに作成しようとするRAIDグループを構成するディスクドライブDRV0〜DRV、RAIDグループの容量、RAID構成(4D+1P等)及びRAIDレベル(1、1+0、2〜6)などを設定する。
続いて、ユーザは、このようにして設定したRAIDグループ内に論理ボリュームLUを作成する(S2)。具体的には、上述した設定画面を用いて、新たに作成しようとする論理ボリュームLUのLUNや容量などをそれぞれ設定する。
この後ユーザは、このようにして作成した1又は複数の論理ボリュームLUの中から所望の論理ボリュームLUを差分管理ボリュームLUDMに設定する(S3)。具体的には、ホスト装置3を操作して、そのディスプレイに例えば図7に示すような設定画面60を表示させ、その後この設定画面60の右下に表示された設定ボタン61をクリックするようにする。この結果、ホスト装置3のディスプレイ上に、図8に示すセレクトロジカルユニットダイアログ62が表示される。
このセレクトロジカルユニットダイアログ62は、差分管理ボリュームLUDMに設定しようとする論理ボリュームLUを選択するためのダイアログであり、そのディスクアレイ装置1内に形成された全ての論理ボリュームLUの中から対象となる各論理ボリュームLUのLUNや、容量及びその論理ボリュームLUが属するRAIDグループの識別番号などの各種情報が論理ボリューム情報表示欄62A内に一覧表示される。
かくしてユーザは、このセレクトロジカルユニットダイアログ62の論理ボリューム情報表示欄62Aに表示された情報を目視確認しながら必要な条件(この実施の形態では容量が5〔Gbyte〕以上)を満たす所望の論理ボリュームLUを選択し、その後OKボタン63をクリックするようにする。この結果、図9に示すような確認メッセージダイアログ64がホスト装置3のディスプレイに表示される。そしてユーザは、問題がなければこの確認メッセージダイアログ64のOKボタン65をクリックするようにする。
かくして、このとき選択された論理ボリュームLUが差分管理ボリュームLUDMとして設定され、図10に示すように、この選択された論理ボリュームLU(差分管理ボリュームLUDM)のLUNや容量及び当該論理ボリュームLUが属するRAIDグループの識別番号などの各種情報が設定画面60の差分管理ボリューム表示欄60Aに表示される。
このように設定された差分管理ボリュームLUDMは、ディスクアレイ装置1内において、他の通常の論理ボリュームLUと同様に扱われる。ただし、差分管理ボリュームLUDMに設定された論理ボリュームLUは、ホスト装置3からは認識されないように遮蔽される。
なお、本実施のディスクアレイ装置1の場合、セレクトロジカルユニットダイアログ62(図8)を用いて、差分管理ボリュームLUDMとして最大2個の論理ボリュームLUを選択し設定することができる。この場合、2個目の論理ボリュームLUは、1個目の論理ボリュームLUのミラーリング用として用いられる。
本ディスクアレイ装置1の場合、差分管理ボリュームLUDMが設定されていなければ、スナップショット機能が実行されない。この場合における差分管理ボリュームLUDMが設定されているか否かの判断は、オプションであるスナップショット機能用のプログラムを購入してインストールし、管理プログラムからのその開錠キーを入力した段階では行われず、実際にホスト装置3からディスクアレイ装置1に対してスナップショット作成指示を与えたときに当該ディスクアレイ装置1の各コントローラ10,20内のCPU11,21によって行われる。
図11は、このような判断に関するCPU11,21の処理手順を示すフローチャートである。CPU11,21は、ホスト装置3からスナップショット作成指示が与えられると、まずキャッシュメモリ14,24上に展開されているシステム情報に基づいて、差分管理ボリュームLUDMが設定されているか否かを判定する(S10)。
そしてCPU11,21は、差分管理ボリュームLUDMが設定されていないときには、ホスト装置3に対してエラーメッセージを送信する(S11)。この結果、対応するホスト装置3のディスプレイに対応するエラーメッセージが表示される。
一方、CPU11,21は、差分管理ボリュームLUDMが設定されているときには、プライマリボリュームLUPに対するデータのライト/リード処理と並行して、図12に示すフローチャートに従って、スナップショットの作成処理を実行する(S12)。
すなわち、CPU11,21は、スナップショット作成処理を開始すると、まず差分ビットマップ50(図4)及びプライマリボリュームアドレステーブル51(図4)をそれぞれクリアし(S20)、その後プライマリボリュームLUPへのライトアクセスを待ち受ける(S21)。
そしてCPU11,21は、この後ホスト装置3からプライマリボリュームLUPへのライトアクセスがあると(S21:YES)、まず差分ビットマップ50を参照して、そのときライトデータを書き込むべきプライマリボリュームLUPのブロック領域BLに対するライトアクセスが、最後のスナップショット作成指示が与えられてから最初のものであるか否かを判定する(S22)。
CPU11,21は、このライトアクセスがそのブロック領域BLに対する最初のものでなかった場合には(S22:NO)、再度、プライマリボリュームLUPへのライトアクセスを待ち受ける待ち受け状態に戻る(S21)。
これに対して、CPU11,21は、このライトアクセスがそのブロック領域BLに対する最初のものであった場合には(S22:YES)、プライマリボリュームLUPにおけるライトアクセス直前の当該ブロック領域BLのデータを読み出し、これを差分データDDF(図4)としてプールボリュームLUPOOL(図4)の対応するアドレス位置に書き込ませる(S23)。
またCPU11,21は、この後、キャッシュメモリ14,24に展開されている差分ビットマップ50、プライマリボリュームアドレステーブル51及び差分情報テーブル52の更新処理を実行する(S24)。
具体的に、CPU11,21は、差分ビットマップ50の対応するビットを「0」から「1」に変更する。またCPU11,21は、差分情報テーブル52上にその差分データDDFに対する管理領域52A(図4)を確保し、その管理領域52Aにおける世代管理ビットマップフィールドFL3(図5)、プライマリボリュームLUNフィールドFL4(図5)及びプライマリボリューム通し番号フィールドFL6(図5)に必要な情報をそれぞれ格納する。この際CPU11,21は、前世代のバーチャルボリュームが存在する場合には、その管理領域52Aにおける前差分管理情報アドレスフィールドFL2(図5)に、前世代の差分データDDFと対応付けられた管理領域52Aの差分情報テーブル52上のアドレスを格納すると共に、当該前世代の差分データDDFと対応付けられた管理領域52Aの次差分管理情報アドレスフィールドFL1(図5)に、上述のようにそのときに確保した管理領域52Aの差分情報テーブル52上のアドレスを格納する。さらにCPU11,21は、この管理領域52Aのアドレスをプライマリボリュームアドレステーブル51の対応するアドレス領域51Aに格納する。
そしてCPU11,21は、再度、プライマリボリュームLUPへのライトアクセスを待ち受ける待ち受け状態に戻る(S21)。また、この後CPU11,21は、同様の処理を繰り返すことで(S21〜S24−S21)、スナップショット作成指示時のプライマリボリュームLUPのイメージ(バーチャルボリューム)を保持する。
一方、図13は、ディスクアレイ装置1の計画停止時における差分情報の退避に関するCPU11,21の処理手順を示すフローチャートである。
CPU11,21は、ユーザの操作に基づいてホスト装置3から稼動を停止すべき旨のコマンドが送信されてくると、まず、他方のコントローラ10,20のCPU11,21と通信して、自CPU11,21及び他方のCPU21,11の少なくとも一方がスナップショット差分管理情報を更新処理中であるか否かを判断する(S30)。
CPU11,21は、かかる判断において肯定結果を得ると(S30:YES)、双方のCPU11,21がスナップショット差分管理情報の更新処理を終えるのを待ち受け、やがて双方のCPU11,21がスナップショット差分管理情報の更新処理を終えると(S30:NO)、キャッシュメモリ14,24に保持されているシステム情報に基づいて、差分管理ボリュームLUDMのLUNを取得する(S31)。またCPU11,21は、ミラーリング用の差分管理ボリューム(2個目の差分管理ボリューム)LUDMが設定されている場合には、その差分管理ボリュームLUDMのLUNも取得する(S31)。
そしてCPU11,21は、このようにして取得した差分管理ボリュームLUDMのLUNとシステム情報とに基づいて、キャッシュメモリ14,24に保持しているスナップショット差分管理情報のうちのプライマリボリュームアドレステーブル51及び差分情報テーブル52のデータを、差分管理ボリュームLUDMに格納(退避)させる(S32)。この際CPU11,21は、ミラーリング用の差分管理ボリュームLUDMが設定されている場合には、かかるプライマリボリュームアドレステーブル51及び差分情報テーブル52のデータを、そのミラー側の差分管理ボリュームLUDMにも退避させる(S32)。
またCPU11,21は、これと同様にしてシステムキャッシュメモリ14,24に保持されているシステム情報に基づいてシステム領域SAR0〜SAR4が設けられたディスクドライブDRV0〜DRV4を検出し、キャッシュメモリ14,24に展開しているスナップショット差分管理情報のうちの差分ビットマップ50を、キャッシュメモリ14,24に展開している他のシステム情報と共にかかるシステム領域SAR0〜SAR4に格納(退避)させる(S32)。
他方、図14は、ディスクアレイ装置1の立ち上がり時におけるスナップショット差分管理情報の読み出しに関するCPU11,21の処理手順を示すフローチャートである。
CPU11,21は、ユーザの操作に基づいてホスト装置3からディスクアレイ装置1を立ち上げるべき旨のコマンドが送信されてくると、まず、上述のシステム領域SAR0〜SAR4が設けられた5つのディスクドライブDRV0〜DRV4のいずれかからシステム情報を読み出し、これをキャッシュメモリ14,24に展開する(S40)。
続いてCPU11,21は、キャッシュメモリ14,24に展開したシステム情報に基づいて差分管理ボリュームLUDMのLUNを検出し(S41)、この後この検出したLUNの論理ボリュームLU、すなわち差分管理ボリュームLUDMからスナップショット差分管理情報(プライマリボリュームアドレステーブル51及び差分情報テーブル52)を読み出して、これをキャッシュメモリ14,24に展開する(S42)。
この際、CPU11,21は、差分管理ボリュームLUDMが2つ設定されている場合には、図15に示すように、初期時には、これら2つの差分管理ボリュームLUDMのうちの最初に設定された方の差分管理ボリュームLUDM(以下、これをマスター側の差分管理ボリュームLUDMと呼ぶ)からスナップショット差分管理情報を読み出すものの、退避時の書込みエラーによりデータが壊れているなど、なんらかの原因によりその読み出しに失敗したときには、対象を最後に設定された方の差分管理ボリュームLUDM(以下、これをミラー側の差分管理ボリュームLUDMと呼ぶ)に切り替えて、この差分管理ボリュームLUDMからスナップショット差分管理情報を読み出すようにディスクドライブDRV0〜DRVを制御する。また、このときCPU11,21は、ミラー側の差分管理ボリュームLUDMからのスナップショット差分管理情報の読み出しを、読み出しに失敗した位置から再開するように対応するディスクドライブDRV0〜DRVを制御する。
さらにCPU11,21は、ミラー側の差分管理ボリュームLUDMからスナップショット差分管理情報を読み出している場合に、その読み出しに失敗したときには、対象をマスター側の差分管理ボリュームLUDMに切り替えて、この差分管理ボリュームLUDMからスナップショット差分管理情報を読み出すようにディスクドライブ11を制御する。この場合にも、CPU11,21は、読み出しに失敗した位置から差分情報の読み出しを再開するように対応するディスクドライブDRV0〜DRVを制御する。
このように本ディスクアレイ装置1では、ユーザの都合に合わせてユーザが自由に差分管理ボリュームLUDMを設定でき、この設定された差分管理ボリュームLUDMに差分ビットマップ50を除くスナップショット差分管理情報を格納するようにしているため、例えば従来のディスクアレイ装置のように、スナップショット機能の購入の有無及びスナップショット機能の使用の有無にかかわりなく、スナップショット差分管理情報を格納するための記憶容量をシステム領域SAR0〜SAR4内に予め固定的に確保しておく場合に比べて、有効かつ効率的にディスクドライブDRV0〜DRV4の記憶容量(記憶資源)を使用することができる。
また本ディスクアレイ装置1では、このような差分管理ボリュームLUDMを2つ設定でき、2つの差分管理ボリュームLUDMが設定されたときには、キャッシュメモリ14,24に保持されたスナップショット差分管理情報を各差分管理ボリュームLUDMのそれぞれに退避させるようにしているため、退避時の書込みエラーなどの原因により一方の差分管理ボリュームLUDMに格納されたスナップショット差分管理情報に不具合が発生した場合においても、実用上十分に対応することができる。
なお本ディスクアレイ装置1の場合、スナップショット差分管理情報を差分管理ボリュームLUDMやシステム領域SAR0〜SAE4から読み出してキャッシュメモリ14,24上に展開した後に、そのキャッシュメモリ14,24におけるスナップショット差分管理情報が格納された記憶領域にアクセスするための専用のウインドが予め設けている。
すなわち、通常、キャッシュメモリ14,24へのアクセス時には、キャッシュメモリ14,24の記憶領域全体を一度に参照することができないため、図16に示すように、キャッシュメモリ14,24におけるデータを読み出そうとする領域MARのみを取り囲むようにウインドWが設定され、その領域MARにのみ排他的にアクセスできるようにする処理が行われる。
この場合において、あるアクセスに対してウインドWを設定する際には、先行する排他的な設定を削除後、ウインドWを前のアクセスに対する位置から今回のアクセスに対する位置に切り替えるなどの処理が必要となる。このため、かかる処理によりオーバーヘッドが発生して、迅速なメモリアクセスを行い得ない場合がある。
そこで本ディスクアレイ装置1では、キャッシュメモリ14,24上の頻繁にアクセスされるスナップショット差分管理情報が格納される固定的な領域MAR(DM)に対して専用のウインドWDMを予め設定しておき、他の領域にウインドWが設定されている場合においても、専用のウインドWDMを用いて当該スナップショット差分管理情報が格納された領域MAR(DM)に対して排他的にアクセスできるようにすることで、ウインド切り替えに伴うオーバーヘッドを削減し、かかる領域MAR(DM)に対する迅速なアクセスを可能としている。
なお、このように専用のウインドWDMを設定できるようにする領域MARは、キャッシュメモリ14,24におけるスナップショット差分管理情報が格納される領域MAR(DM)に限らず、頻繁にアクセスされる他の固定的な領域MARについても同様に専用のウインドWを設定できるようにしても良い。
(2)第2の実施の形態
図1において70は、第2の実施の形態によるディスクアレイ装置を示す。このディスクアレイ装置70は、差分管理ボリュームLUDMの設定方法が異なる点を除いて第1の実施の形態によるディスクアレイ装置1と同様に構成されている。
すなわち、第1の実施の形態によるディスクアレイ装置1では、図17に示すように、1つのコントローラ10,20あたりのキャッシュメモリ14,24の容量に対して、スナップショット差分管理情報を格納するために使用する容量が予め定められている。この図17からも明らかなように、1つのコントローラ10,20あたりのキャッシュメモリ14,24の容量が1024〜8192〔Mbyte〕である場合、スナップショット差分管理情報を格納するために使用できる容量は512〜4096〔Mbyte〕である。
このため第1の実施の形態では、図7〜図10について上述した設定画面60等を用いて差分管理ボリュームLUDMに設定する論理ボリュームLUを選択する際には、キャッシュメモリ14,24におけるスナップショット差分管理情報を格納するために使用する容量の最大値が409〔MB〕であることを考慮して、その最低限度の記憶容量が5〔Gbyte〕であることが差分管理ボリュームLUDMとして選択できる論理ボリュームLUの条件となっていた。
このような構成によれば、差分管理ボリュームLUDMを設定する際に、ユーザがディスクアレイ装置1における各コントローラ10,20のキャッシュメモリ14,24の容量を気にすることなく、固定的に5〔Gbyte〕以上の容量を有する論理ボリュームLUを選択すればよいため、差分管理ボリュームLUDMの設定作業を容易化させ得るという利点がある。しかしながら、その反面、このような構成によると、差分管理ボリュームLUDMとして512〔Mbyte〕の容量しか必要がない場合にも固定的に5〔Gbyte〕以上の論理ボリュームLUを選択しなければならないため、その差分だけ容量が無駄になるという問題がある。
そこで本実施の形態によるディスクアレイ装置70では、差分管理ボリュームLUDMを設定する際、各コントローラ10,20のCPU71,72が当該ディスクアレイ装置70における各コントローラ10,20のキャッシュメモリ14,24の容量を調査し、その調査結果に基づいて最適な容量を有する論理ボリュームLUを差分管理ボリュームLUDMの候補としてユーザに提示するようになされた点を特徴としている。
図18は、このような差分管理ボリュームLUDMの設定処理に関する本ディスクアレイ装置70内のCPU71,72の処理手順を示すフローチャートである。
CPU71,72は、ユーザがホスト装置3を操作して差分管理ボリュームLUDMを設定するための所定のコマンドを入力すると、まず、所定のディスクドライブDRV0〜DRV4のシステム領域SAR0〜SAR4から読み出されてキャッシュメモリ14,24に展開されたシステム情報に基づいて、各コントローラ10,20内のキャッシュメモリ14,24の容量を検出する(S50)。また、CPU71,72は、かかるシステム情報に基づいて、未使用の論理ボリュームLU及びその論理ボリュームLUの容量をそれぞれ検出する(S51)。
続いてCPU71,72は、これらの検出結果に基づいて、差分管理ボリュームLUDMの候補となり得る論理ボリュームLU、つまりコントローラ10,20におけるキャッシュメモリ14,24の容量よりも予め定められた所定量(例えば数Mbyte〜数百Mbyte程度)以内の大きさの容量を有する未使用の論理ボリュームLUが存在するか否かを判定する(S52)。
そしてCPU71,72は、この判定により差分管理ボリュームLUDMの候補となり得る論理ボリュームLUが存在しないと判定したときには(S52:NO)、ホスト装置3に対してエラーメッセージを送信し、この後この一連の処理を終了する。かくして、このときそのホスト装置3のディスプレイに対応するエラーメッセージが表示される。
これに対して、CPU71,72は、この判定により差分管理ボリュームLUDMの候補となり得る論理ボリュームLUが存在すると判定したときには、対応する全ての論理ボリュームLUについての各種情報をホスト装置3に送信することにより、例えば図19に示すようなセレクトロジカルユニットダイアログ80をホスト装置3のディスプレイに表示させる(S54)。
このセレクトロジカルユニットダイアログ80には、差分管理ボリュームLUDMの候補となり得る全ての論理ボリュームLUについて、LUNや容量などの情報が一覧表示される。またこのセレクトロジカルユニットダイアログ80では、差分管理ボリュームLUDMの候補となり得る全ての論理ボリュームLUのうち、その容量がコントローラ10,20内のキャッシュメモリ14,24の容量に対して必要となる容量よりも大きくかつ当該容量に最も近い容量の論理ボリュームLUが強調表示される。
そしてCPU71,72は、セレクトロジカルユニットダイアログ80に掲載した差分管理ボリュームLUDMの候補となり得る全ての論理ボリュームLUのうちのいずれかの論理ボリュームLUが選択されるのを待ち受け(S55)、やがてホスト装置3からセレクトロジカルユニットダイアログ80に一覧表示された論理ボリュームLUのうちの1つの論理ボリュームLUを選択する操作が入力された旨のコマンドが入力されると(S55:YES)、これに応動してその選択された論理ボリュームLUを差分管理ボリュームLUDMに設定する(S56)。この後CPU71,72は、かかる一連の処理を終了する。
これに対してCPU71,72は、セレクトロジカルユニットダイアログ80に掲載した論理ボリュームLUのいずれも選択されなかったときには(S55:NO)、その段階で管理ボリュームLUDMを設定することなく、この一連の処理を終了する。従って、この場合には、第1の実施の形態において上述した手順に従ってユーザ自身で差分管理ボリュームLUDMとなり得る論理ボリュームLUを探すこととなる。
このように本実施の形態によるディスクアレイ装置70では、差分管理ボリュームLUDMを設定する際、各コントローラ10,20内のキャッシュメモリ14,24の容量を調査し、その調査結果に基づいて最適な容量を有する論理ボリュームLUを差分管理ボリュームLUDMの候補としてユーザに提示するようになされているため、差分管理ボリュームLUDMの設定が容易であり、例えばスナップショット機能の初期設定作業を簡易化させることができる。
またこの場合において、本ディスクアレイ装置70は、差分管理ボリュームLUDMの候補として、キャッシュメモリ14,24の容量よりも予め定められた所定量以内の大きさの容量を有する未使用の論理ボリュームLUを提示するため、差分管理ボリュームLUDMとしてキャッシュメモリ14,24の容量に応じた最適な容量の論理ボリュームLUを提示することができ、この結果キャッシュメモリ14,24の容量に比して無駄に容量の大きい論理ボリュームが差分管理ボリュームLUDMとして設定されるという不具合を未然にかつ有効に防止することができる。
(3)他の実施の形態
なお上述の第1及び第2の実施の形態においては、ミラー側の差分管理ボリュームLUDMを1つだけ設定(つまり差分管理ボリュームLUDMを2つだけ設定)できるようにした場合について述べたが、本発明はこれに限らず、ミラー側の差分管理ボリュームLUDMを2つ以上設定(つまり差分管理ボリュームLUDMを3つ以上設定)できるようにしても良い。
また上述の第2の実施の形態においては、差分管理ボリュームLUDMの候補の論理ボリュームLUをユーザに提示する手法として、図19のようなセレクトロジカルユニットダイアログ80をホスト装置3のディスプレイに表示させるようにした場合について述べたが、本発明はこれに限らず、提示手法としては、この他種々の方法を広く適用することができる。
本発明は、ディスクアレイ装置に適用することができる。
本実施の形態によるディスクアレイ装置の構成を示すブロック図である。 論理ボリュームの説明に供する概念図である。 本実施の形態によるスナップショット差分管理情報の管理方式の説明に供する概念図である。 本実施の形態によるスナップショット差分管理情報の管理方式の説明に供する概念図である。 差分情報テーブルの説明に供する概念図である。 差分管理ボリュームの設定手順の説明に供するフローチャートである。 設定画面を示す図である。 セレクトロジカルユニットダイアログを示す図である。 確認メッセージダイアログを示す図である。 差分管理ボリューム設定後の設定画面を示す図である。 スナップショット作成指示受信後のCPUの処理手順を示すフローチャートである。 スナップショット作成処理に関するCPUの処理手順を示すフローチャートである。 スナップショット差分管理情報の退避に関するCPUの処理手順を示すフローチャートである。 スナップショット差分管理情報の読み出しに関するCPUの処理手順を示すフローチャートである。 スナップショット差分情報の読出し障害時におけるCPUの処理内容の説明に供する概念図である。 キャッシュメモリの固定領域に設定される専用のウインドの説明に供する概念図である。 キャッシュメモリの容量とスナップショット差分管理情報のデータ量と関係の説明に供する図表である。 第2の実施の形態によるディスクアレイ装置における差分管理ボリュームの設定に関するCPUの処理手順を示すフローチャートである。 差分管理ボリュームの候補の一覧表示の様子を示す図である。
符号の説明
1,70……ディスクアレイ装置、3……ホスト装置、10,20……コントローラ、11,21……CPU、12,22……ローカルメモリ、14,24……キャッシュメモリ、50……差分ビットマップ、51……プライマリボリュームアドレステーブル、52……差分情報テーブル、60……設定画面、62,80……セレクトロジカルユニットダイアログ、DRV0〜DRV14……ディスクドライブ、論理ボリューム……LU,LU1,LU2……論理ボリューム、LUDN……差分管理ボリューム、LUP……プライマリボリューム、LUPOOL……プールボリューム、MAR,MAR(DM)……領域、W,WDM……ウインド。

Claims (10)

  1. 指定された時点における第1の論理ボリュームの内容と、現在の前記第1の論理ボリュームの内容との差分を表す差分データ及びその管理情報である差分管理情報を保持し、保持した前記差分データ及び前記差分管理情報に基づいて、前記指定された時点における第1の論理ボリュームを復元する機能が搭載されたディスクアレイ装置において、
    前記ディスクアレイ装置の稼動時に前記差分管理情報を保持するためのメモリと、
    1又は複数の記憶デバイスと、
    前記メモリ及び前記記憶デバイスに対するデータの読み書きを制御する制御部と
    を備え、
    前記記憶デバイスは、
    システムを起動及び制御するために用いられるシステム情報を格納するためのシステム領域及びユーザデータを格納するためのユーザデータ領域を記憶領域として提供し、
    前記制御部は、
    外部操作に応じて、前記第1の論理ボリューム及び前記差分管理情報を格納するための第2の論理ボリュームを前記ユーザデータ領域に設定し、
    前記ディスクアレイ装置の稼動を停止させる際には、前記メモリに保持された前記差分管理情報のうち前記第1の論理ボリュームの内容変更の有無を管理するための情報である差分ビットマップを前記システム領域に退避させ、前記メモリに保持された前記差分管理情報のうちプールボリュームに格納された各差分データとそれぞれ1対1で対応付けられた複数の管理領域を有する差分情報テーブル及び前記第1の論理ボリュームの各ブロック領域と前記差分情報テーブル上の対応する管理領域とを対応付けたプライマリボリュームアドレステーブルを前記第2の論理ボリュームに退避させ、
    前記ディスクアレイ装置を起動させる際には、当該差分管理情報を前記システム領域及び前記第2の論理ボリュームから前記メモリに読み出させ、
    前記第2の論理ボリュームを設定する際には、前記メモリの記憶容量を検出し、次いで前記記憶デバイスが提供する論理ボリュームのうち、未使用の論理ボリュームを検出し、該検出した未使用の論理ボリュームのうち、前記検出したメモリの記憶容量のうち前記差分管理情報を格納するために使用する記憶容量よりも大きな記憶容量であり、かつ、予め定められた記憶容量以内の記憶容量の論理ボリュームを、前記差分管理情報を退避させる前記第2の論理ボリュームの候補としてユーザに提示する
    ことを特徴とするディスクアレイ装置。
  2. 前記制御部は、
    前記外部操作に応じて、前記第2の論理ボリュームを複数設定し、
    前記ディスクアレイ装置の稼動を停止させる際には、設定された各前記第2の論理ボリュームにそれぞれ前記差分管理情報を退避させる
    ことを特徴とする請求項1に記載のディスクアレイ装置。
  3. 前記制御部は、
    前記第2の論理ボリュームを上位装置が認識できないように遮蔽する
    ことを特徴とする請求項1に記載のディスクアレイ装置。
  4. 前記差分管理情報は、
    対応する前記差分データの世代を管理するための情報を含む
    ことを特徴とする請求項1に記載のディスクアレイ装置。
  5. 前記差分管理情報は、
    対応する前記差分データと、当該差分データの前の前記世代及び又は次の前記世代の前記差分データとを関連付ける情報を含む
    ことを特徴とする請求項1に記載のディスクアレイ装置。
  6. 指定された時点における第1の論理ボリュームの内容と、現在の前記第1の論理ボリュームの内容との差分を表す差分データ及びその管理情報である差分管理情報を保持し、保持した前記差分データ及び前記差分管理情報に基づいて、前記指定された時点における第1の論理ボリュームを復元する機能が搭載されたディスクアレイ装置の制御方法において、
    前記ディスクアレイ装置は、
    前記ディスクアレイ装置の稼動時に前記差分管理情報を保持するためのメモリと、
    1又は複数の記憶デバイスと、
    前記メモリ及び前記記憶デバイスに対するデータの読み書きを制御する制御部と、
    を備え、
    前記記憶デバイスが、
    システムを起動及び制御するために用いられるシステム情報を格納するためのシステム領域及びユーザデータを格納するためのユーザデータ領域を記憶領域として提供する第1のステップと、
    前記制御部が、
    外部操作に応じて、前記第1の論理ボリューム及び前記差分管理情報を格納するための第2の論理ボリュームを前記ユーザデータ領域に設定する第2のステップと、
    前記ディスクアレイ装置の稼動を停止させる際には、前記メモリに保持された前記差分管理情報のうち前記第1の論理ボリュームの内容変更の有無を管理するための情報である差分ビットマップを前記システム領域に退避させ、前記メモリに保持された前記差分管理情報のうちプールボリュームに格納された各差分データとそれぞれ1対1で対応付けられた複数の管理領域を有する差分情報テーブル及び前記第1の論理ボリュームの各ブロック領域と前記差分情報テーブル上の対応する管理領域とを対応付けたプライマリボリュームアドレステーブルを前記第2の論理ボリュームに退避させる第3のステップと、
    前記ディスクアレイ装置を起動させる際には、当該差分管理情報を前記システム領域及び前記第2の論理ボリュームから前記メモリに読み出させる第4のステップと、
    前記第2の論理ボリュームを設定する際には、前記メモリの記憶容量を検出し、次いで前記記憶デバイスが提供する論理ボリュームのうち、未使用の論理ボリュームを検出し、該検出した未使用の論理ボリュームのうち、前記検出したメモリの記憶容量のうち前記差分管理情報を格納するために使用する記憶容量よりも大きな記憶容量であり、かつ、予め定められた記憶容量以内の記憶容量の論理ボリュームを、前記差分管理情報を退避させる前記第2の論理ボリュームの候補としてユーザに提示する第5のステップと
    を備えることを特徴とするディスクアレイ装置の制御方法。
  7. 前記第のステップでは、
    前記外部操作に応じて、前記第2の論理ボリュームを複数設定し、
    前記第のステップでは、
    前記ディスクアレイ装置の稼動を停止させる際に、設定された各前記第2の論理ボリュームにそれぞれ前記差分管理情報を退避させる
    ことを特徴とする請求項に記載のディスクアレイ装置の制御方法。
  8. 前記第2の論理ボリュームを上位装置が認識できないように遮蔽する
    ことを特徴とする請求項に記載のディスクアレイ装置の制御方法。
  9. 前記差分管理情報は、
    対応する前記差分データの世代を管理するための情報を含む
    ことを特徴とする請求項に記載のディスクアレイ装置の制御方法。
  10. 前記差分管理情報は、
    対応する前記差分データと、当該差分データの前の前記世代及び又は次の前記世代の前記差分データとを関連付ける情報を含む
    ことを特徴とする請求項に記載のディスクアレイ装置の制御方法。
JP2005199811A 2005-07-08 2005-07-08 ディスクアレイ装置及びその制御方法 Expired - Fee Related JP4783076B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005199811A JP4783076B2 (ja) 2005-07-08 2005-07-08 ディスクアレイ装置及びその制御方法
US11/224,075 US20070011402A1 (en) 2005-07-08 2005-09-13 Disk array apparatus and method for controlling the same
EP06250633A EP1746492A1 (en) 2005-07-08 2006-02-06 Disk array apparatus and method for controlling the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005199811A JP4783076B2 (ja) 2005-07-08 2005-07-08 ディスクアレイ装置及びその制御方法

Publications (2)

Publication Number Publication Date
JP2007018312A JP2007018312A (ja) 2007-01-25
JP4783076B2 true JP4783076B2 (ja) 2011-09-28

Family

ID=36972878

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005199811A Expired - Fee Related JP4783076B2 (ja) 2005-07-08 2005-07-08 ディスクアレイ装置及びその制御方法

Country Status (3)

Country Link
US (1) US20070011402A1 (ja)
EP (1) EP1746492A1 (ja)
JP (1) JP4783076B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4756992B2 (ja) * 2005-10-25 2011-08-24 株式会社日立製作所 ストレージシステム及び記憶制御方法
JP4809040B2 (ja) * 2005-11-08 2011-11-02 株式会社日立製作所 ストレージ装置及びスナップショットのリストア方法
JP2010033125A (ja) 2008-07-25 2010-02-12 Hitachi Ltd ストレージ装置及びデータ転送方法
US20100049931A1 (en) * 2008-08-20 2010-02-25 Jacobson Michael B Copying Logical Disk Mappings Between Arrays
US8473697B1 (en) * 2008-10-29 2013-06-25 Netapp, Inc. Method and system for volume based snapshot restore
JP5381519B2 (ja) * 2009-09-01 2014-01-08 富士通株式会社 ディスクへの書き込み位置の誤算出を検出するストレージ制御装置、ストレージシステム、及びアクセス方法。
KR101358492B1 (ko) * 2009-11-26 2014-03-07 닛본 덴끼 가부시끼가이샤 중계 장치
JP2011170589A (ja) * 2010-02-18 2011-09-01 Nec Corp ストレージ制御装置、ストレージ装置およびストレージ制御方法
US9483355B1 (en) * 2012-06-29 2016-11-01 EMC IP Holding Company LLC Tracking copy sessions
CN113590053B (zh) * 2021-09-30 2021-12-03 苏州浪潮智能科技有限公司 一种逻辑卷恢复方法、装置、设备、存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5535399A (en) * 1993-09-30 1996-07-09 Quantum Corporation Solid state disk drive unit having on-board backup non-volatile memory
US6078990A (en) * 1998-02-06 2000-06-20 Ncr Corporation Volume set configuration using a single operational view
JP2000187561A (ja) 1998-12-24 2000-07-04 Hitachi Ltd 記憶装置システム
JP3427010B2 (ja) * 1999-07-12 2003-07-14 株式会社東芝 コンピュータシステム
US6772178B2 (en) * 2001-07-27 2004-08-03 Sun Microsystems, Inc. Method and apparatus for managing remote data replication in a distributed computer system
US6948089B2 (en) * 2002-01-10 2005-09-20 Hitachi, Ltd. Apparatus and method for multiple generation remote backup and fast restore
US20030177149A1 (en) * 2002-03-18 2003-09-18 Coombs David Lawrence System and method for data backup
JP4704659B2 (ja) * 2002-04-26 2011-06-15 株式会社日立製作所 記憶装置システムの制御方法および記憶制御装置
JP4292882B2 (ja) * 2003-03-18 2009-07-08 株式会社日立製作所 複数のスナップショット維持方法及びサーバ装置及びストレージ装置
JP3953986B2 (ja) * 2003-06-27 2007-08-08 株式会社日立製作所 ストレージ装置、及びストレージ装置の制御方法
JP3808851B2 (ja) * 2003-09-10 2006-08-16 株式会社東芝 ディスクアレイコントローラ、ディスクアレイ装置及びディスクアレイ制御プログラム
JP2005141335A (ja) * 2003-11-04 2005-06-02 Sony Corp 情報記録再生装置とそのファイルアクセス方法
JP4412989B2 (ja) * 2003-12-15 2010-02-10 株式会社日立製作所 複数の記憶システムを有するデータ処理システム

Also Published As

Publication number Publication date
JP2007018312A (ja) 2007-01-25
EP1746492A1 (en) 2007-01-24
US20070011402A1 (en) 2007-01-11

Similar Documents

Publication Publication Date Title
JP4783076B2 (ja) ディスクアレイ装置及びその制御方法
US7386755B2 (en) Backup copying and restoration processing in a storage subsystem
US7028216B2 (en) Disk array system and a method of avoiding failure of the disk array system
US6968425B2 (en) Computer systems, disk systems, and method for controlling disk cache
JP3974538B2 (ja) 情報処理システム
US7480780B2 (en) Highly available external storage system
US7594072B2 (en) Method and apparatus incorporating virtualization for data storage and protection
US7519851B2 (en) Apparatus for replicating volumes between heterogenous storage systems
US7337350B2 (en) Clustered storage system with external storage systems
US20090150629A1 (en) Storage management device, storage system control device, storage medium storing storage management program, and storage system
US20070239933A1 (en) Volume providing system and method
US20070300033A1 (en) System and method for reconfiguring continuous data protection system upon volume size change
US20100036896A1 (en) Computer System and Method of Managing Backup of Data
US20080281876A1 (en) Methods and apparatus to recover data and configuration of storage system
JP2007317186A (ja) バックアップデータおよびジャーナルを管理するための方法および装置
JP2007249573A (ja) 自動拡張可能なボリュームに対して最適なi/oコマンドを発行するストレージシステム及びその制御方法
US7849264B2 (en) Storage area management method for a storage system
EP2101266A1 (en) Remote copy system and method having copy path check unit
JP4836014B2 (ja) ディスクアレイ装置及び物理ディスクの復元方法
JP3667084B2 (ja) データ多重化制御方法
JP4433372B2 (ja) データアクセスシステム及び方法
JP4898609B2 (ja) ストレージ装置、データ回復方法及び計算機システム
JP4294692B2 (ja) 情報処理システム
JP2009252114A (ja) ストレージシステム及びデータ退避方法
JP5309816B2 (ja) データ管理プログラム、データ管理装置、およびデータ管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080509

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101224

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110329

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110520

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110628

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110708

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140715

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees