JP2005085117A - ディスクアレイコントローラ、ディスクアレイ装置及びディスクアレイ制御プログラム - Google Patents

ディスクアレイコントローラ、ディスクアレイ装置及びディスクアレイ制御プログラム Download PDF

Info

Publication number
JP2005085117A
JP2005085117A JP2003318409A JP2003318409A JP2005085117A JP 2005085117 A JP2005085117 A JP 2005085117A JP 2003318409 A JP2003318409 A JP 2003318409A JP 2003318409 A JP2003318409 A JP 2003318409A JP 2005085117 A JP2005085117 A JP 2005085117A
Authority
JP
Japan
Prior art keywords
logical unit
backup
master
data
management table
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.)
Granted
Application number
JP2003318409A
Other languages
English (en)
Other versions
JP3808851B2 (ja
Inventor
Taiichiro Izumi
泰一郎 泉
Shingo Kuwabara
真悟 桑原
Atsushi Ichise
敦司 市瀬
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2003318409A priority Critical patent/JP3808851B2/ja
Publication of JP2005085117A publication Critical patent/JP2005085117A/ja
Application granted granted Critical
Publication of JP3808851B2 publication Critical patent/JP3808851B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】バックアップ論理ユニットをマスタ論理ユニットに同期化するのに必要なコピー処理の期間におけるマスタ論理ユニットの負荷を低減する。
【解決手段】マスタLU210-0とバックアップLU210-1との同期化がt1で停止されると当該LU210-1にスナップショットが採取され、その後マスタLU210-0とバックアップLU210-2との同期化がt2で停止されると当該LU210-2にスナップショットが採取される。その後、バックアップLU210-1の再同期化が指示されると、テーブルDT1により示されるt1から現在までにマスタLU210-0に書かれたデータの集合をD1、テーブルDT2により示されるt2から現在までにマスタLU210-0に書かれたデータの集合をD2とすると、コントローラ22はD1のうちのD1−D2の部分を、バックアップLU210-2からバックアップLU210-1にコピーする。
【選択図】 図8

Description

本発明は、ホスト計算機から要求されたデータの読み出し/書き込みが行われるマスタ論理ユニットのスナップショットをバックアップ論理ユニットに採取するのに備えて、当該バックアップ論理ユニットをマスタ論理ユニットに同期化するのに好適なディスクアレイコントローラ、ディスクアレイ装置及びディスクアレイ制御プログラムに関する。
一般に外部記憶装置を備えたコンピュータシステムでは、当該外部記憶装置のデータを適宜別の記憶装置にバックアップすることが行われている。このようなデータのバックアップの機能としてスナップショット機能が知られている。スナップショット機能とは、マスタ論理ユニット(マスタLU)と呼ばれる、ある時点の論理ディスクの内容を、バックアップ論理ユニット(バックアップLU)と呼ばれる別の論理ディスクに複製する機能である。マスタLUとは、ホスト計算機上で動作するアプリケーションの実行により、当該ホスト計算機(アプリケーション)から要求されたデータの読み出し/書き込みが行われるLU(論理ディスク)をいう。バックアップLUとは、マスタLUのデータの複製を保持しておくLU(論理ディスク)をいう。スナップショットを実現するために、マスタLUと同じ大きさのバックアップLUが用意される。
従来、スナップショットデータの採取には、次の方法が適用されている。まず、スナップショットデータの採取が指示されるまで、マスタLUの内容とバックアップLUの内容とを一致化させる2重化制御(ミラー制御)、つまりマスタLUとバックアップLUとの同期化を行う。この状態でスナップショットの採取が指示されると、同期化を停止する。これによりバックアップLUにマスタLUのスナップショットデータが採取される。同期化を停止してからマスタLUに書き込まれたデータについては、差分データとして管理される。これにより、バックアップLUをマスタLUに再同期化する際には、差分データのみをバックアップLUに書き込むことで、短時間で再同期化が行える(マスタLUの内容全てをコピーする必要はない)。
この従来のスナップショット採取方法(以下、方法1と称する)においては、スナップショットが採取されたバックアップLUから、例えば磁気テープへのデータバックアップを行った後に、当該バックアップLUの内容を再度マスタLUと一致化させる「再同期化」の処理が必要となる。この再同期化の処理中には、差分データのみがマスタLUからバックアップLUへとコピーされる。このコピー処理の期間には、マスタLUには、バックアップLUへのデータコピーのためのアクセス(コピーアクセス)と、ホスト計算機からの読み出し/書き込み要求に従うアクセス(通常アクセス)とが集中する。
一方、マスタLUとバックアップLUとの同期化を停止した状態で、バックアップLUの内容をテンポラリLUにコピーすることで、当該テンポラリLUにスナップショットを採取する方法(以下、方法2と称する)が提案されている(例えば、特許文献1参照)。この方法2では、バックアップLUからテンポラリLUへのデータコピーが完了した段階で、バックアップLUの内容を再度マスタLUと一致化させる「再同期化」の処理が開始される。この方法2においても、上記方法1と同様に、再同期化の処理中には、差分データがマスタLUからバックアップLUへとコピーされる。
特開2001−331378号公報(段落0025乃至0028、図5)
上記したように従来は、マスタLUとバックアップLUとを同期化することでスナップショットを採取する方法として、方法1と方法2の2種類の方法が知られている。方法1では、マスタLUとバックアップLUとを同期化しておき、スナップショットの採取が指示されると、同期化を停止することで、バックアップLUにスナップショットが採取される。一方、方法2では、マスタLUとバックアップLUとの同期化を停止した状態で、バックアップLUの内容をテンポラリLUにコピーすることで、当該テンポラリLUにスナップショットが採取される。
いずれの方法においても、スナップショットが採取された後は、バックアップLUの内容を再度マスタLUと一致化させる「再同期化」の処理が必要となる。この再同期化の処理中には、差分データのみがマスタLUからバックアップLUへとコピーされる。このコピー処理の期間には、マスタLUには、バックアップLUへのデータコピーのためのアクセスと、ホスト計算機からの読み出し/書き込み要求に従うアクセスとが集中する。このため従来のスナップショット採取方法においては、バックアップLUの内容を再度マスタLUと一致化させる「再同期化」の処理の期間に、マスタLUの負荷の増大を招くという問題がある。
本発明は上記事情を考慮してなされたものでその目的は、バックアップ論理ユニットをマスタ論理ユニットに同期化するのに必要なコピー処理の期間におけるマスタ論理ユニットの負荷を低減できるディスクアレイコントローラ、ディスクアレイ装置及びディスクアレイ制御プログラムを提供することにある。
本発明の1つの観点によれば、ホスト計算機から要求されたデータの読み出し/書き込みが行われるマスタ論理ユニットと、このマスタ論理ユニットの複製を保持するための第1のバックアップ論理ユニット及び第2のバックアップ論理ユニットを含む複数のバックアップ論理ユニットとを備えたディスクアレイを制御するディスクアレイコントローラが提供される。このディスクアレイコントローラは、上記マスタ論理ユニットと上記第1のバックアップ論理ユニットとが同期化されている状態で上記第1のバックアップ論理ユニットへのスナップショット採取が上記ホスト計算機から指示されることにより当該同期化状態が停止された第1の時点を基準に、それ以降に発生した上記マスタ論理ユニットに対するデータ更新によって上記マスタ論理ユニットと上記第1のバックアップ論理ユニットとの間でデータが相異する更新位置を記録するための第1の差分管理テーブルと、上記第1の時点以降に上記マスタ論理ユニットと上記第2のバックアップ論理ユニットとが同期化されている状態で上記第2のバックアップ論理ユニットへのスナップショット採取が上記ホスト計算機から指示されることにより当該同期化状態が停止された第2の時点を基準に、それ以降に発生した上記マスタ論理ユニットに対するデータ更新によって上記マスタ論理ユニットと上記第2のバックアップ論理ユニットとの間でデータが相異する更新位置を記録するための第2の差分管理テーブルと、上記ホスト計算機から上記第1のバックアップ論理ユニットを上記マスタ論理ユニットに再同期化することが指示された場合、上記第1の時点以降に更新されたデータを上記第1のバックアップ論理ユニットにコピーするコピー手段とを備えることを特徴とする。このコピー手段は、上記第1の差分管理テーブル及び上記第2の差分管理テーブルのうち、上記第1の差分管理テーブルのみによって示される更新位置のデータを、上記第2のバックアップ論理ユニットから上記第1のバックアップ論理ユニットにコピーする第1のコピー手段と、上記第1の差分管理テーブル及び上記第2の差分管理テーブルによって共に示される更新位置のデータを、上記マスタ論理ユニットから上記第1のバックアップ論理ユニットにコピーする第2のコピー手段とを含む。
このような構成においては、第1の時点から現在までにマスタ論理ユニットに書かれた、第1のバックアップ論理ユニットとの間で異なるデータの更新位置が第1の差分テーブルに記録され、第1の時点より後の第2の時点から現在までにマスタ論理ユニットに書かれた、第2のバックアップ論理ユニットとの間で異なるデータの更新位置が第2の差分テーブルに記録される。ここで、第1及び第2の差分管理テーブルのうち、第1の差分管理テーブルのみによって示される更新位置のデータは、マスタ論理ユニット及び第2のバックアップ論理ユニットの双方に存在する。これに対し、第1及び第2の差分管理テーブルによって共に示される更新位置のデータは、マスタ論理ユニットにみに存在する。そこで、上記の構成においては、第1の差分管理テーブルのみによって示される更新位置のデータについては、第2のバックアップ論理ユニット(現世代のバックアップ論理ユニット)から第1のバックアップ論理ユニット(1世代前のバックアップ論理ユニット)にコピーされる。このように、マスタ論理ユニットと第1のバックアップ論理ユニットとの間で相異するデータのうち、第2のバックアップ論理ユニットにも存在するデータについては、当該第2のバックアップ論理ユニットから第1のバックアップ論理ユニットにコピーすることにより、その分だけ、第1のバックアップ論理ユニットをマスタ論理ユニットに同期化するのに必要なコピー処理の期間におけるマスタ論理ユニットの負荷を低減できる。ここで、第1のバックアップ論理ユニットを再同期化した後、その同期化状態が停止されて、当該第1のバックアップ論理ユニットにスナップショットが採取され、その後、今度は第2のバックアップ論理ユニットの再同期化が指示された場合には、第1のバックアップ論理ユニットが前回スナップショット採取済みの(現世代の)バックアップ論理ユニットとなり、第2のバックアップ論理ユニットが次にスナップショットを採取するのに用いられる(1つ前の世代の)バックアップ論理ユニットとなる。そこで、第1及び第2のバックアップ論理ユニットの関係、並びに第1及び第2の差分管理テーブルの関係を、それぞれ上記第1のバックアップ論理ユニットの再同期化が指示された場合と逆にして、マスタ論理ユニットと第2のバックアップ論理ユニットとの間で相異するデータのうち、第1のバックアップ論理ユニットにも存在するデータについては、当該第1のバックアップ論理ユニットから第2のバックアップ論理ユニットにコピーするならば、その分だけ、第2のバックアップ論理ユニットをマスタ論理ユニットに同期化するのに必要なコピー処理の期間におけるマスタ論理ユニットの負荷を低減できる。
また本発明の他の観点によれば、ホスト計算機から要求されたデータの読み出し/書き込みが行われるマスタ論理ユニットと、このマスタ論理ユニットの複製を保持するための複数のバックアップ論理ユニットとを備えたディスクアレイを制御するディスクアレイコントローラが提供される。このディスクアレイコントローラは、上記マスタ論理ユニットと上記複数のバックアップ論理ユニットのうちの1つとが同期化されている状態で上記ホスト計算機からスナップショット採取が指示されることにより当該同期化状態が停止された時点以降に発生した上記マスタ論理ユニットに対するデータ更新の更新位置を記録するための差分管理テーブルと、上記マスタ論理ユニットと上記複数のバックアップ論理ユニットのうちの1つである第1のバックアップ論理ユニットとが同期化されている状態で上記ホスト計算機からスナップショット採取が指示されることにより当該同期化状態が停止された後に、上記ホスト計算機から上記複数のバックアップ論理ユニットのうちの他の1つである第2のバックアップ論理ユニットを上記マスタ論理ユニットに同期化することが指示された場合、上記第2のバックアップ論理ユニットを上記マスタ論理ユニットに同期化するためのコピー処理を実行するコピー手段とを備えることを特徴とする。このコピー手段は、上記差分管理テーブルによって示される更新位置のデータを、上記マスタ論理ユニットから上記第2のバックアップ論理ユニットにコピーする第1のコピー手段と、上記差分管理テーブルによって更新位置が示されていないデータを、上記第1のバックアップ論理ユニットから上記第2のバックアップ論理ユニットにコピーする第2のコピー手段とを含む。
このような構成においては、差分管理テーブルによって更新位置が示されているデータは、マスタ論理ユニットのみに存在するのに対し、差分管理テーブルによって更新位置が示されていないデータは、マスタ論理ユニットだけでなく、第1のバックアップ論理ユニットにも存在する。そこで、上記の構成においては、差分管理テーブルによって更新位置が示されていないデータについては、第1のバックアップ論理ユニットから第2のバックアップ論理ユニットにコピーされる。このように、マスタ論理ユニットと第2のバックアップ論理ユニットとの間で相異するデータのうち、第1のバックアップ論理ユニットにも存在するデータについては、当該第1のバックアップ論理ユニットから第2のバックアップ論理ユニットにコピーすることにより、その分だけ、第2のバックアップ論理ユニットをマスタ論理ユニットに同期化するのに必要なコピー処理の期間におけるマスタ論理ユニットの負荷を低減できる。ここで、第2のバックアップ論理ユニットを同期化した後、その同期化状態が停止されて、当該第2のバックアップ論理ユニットにスナップショットが採取され、その後、今度は別のバックアップ論理ユニットの同期化が指示された場合には、この第2のバックアップ論理ユニット(前回スナップショット採取済みのバックアップ論理ユニット)及び別のバックアップ論理ユニット(次にスナップショットを採取するバックアップ論理ユニット)の関係を、上記第1及び第2のバックアップ論理ユニットの関係に置き換えれば良い。これにより、マスタ論理ユニットと次にスナップショットを採取するバックアップ論理ユニットとの間で相異するデータのうち、前回スナップショット採取済みのバックアップ論理ユニットにも存在するデータについては、当該スナップショット採取済みのバックアップ論理ユニットから次にスナップショットを採取するバックアップ論理ユニットにコピーすることにより、その分だけ、次にスナップショットを採取するバックアップ論理ユニットをマスタ論理ユニットに同期化するのに必要なコピー処理の期間におけるマスタ論理ユニットの負荷を低減できる。
前回スナップショット採取済みのバックアップ論理ユニットのデータを利用することで、新たにバックアップ論理ユニットをマスタ論理ユニットに同期化するのに必要なコピー処理の期間におけるマスタ論理ユニットの負荷を低減できる。
以下、本発明の実施の形態につき図面を参照して説明する。
[第1の実施形態]
図1は本発明の第1の実施形態に係る計算機システムの構成を示すブロック図である。図1の計算機システムは、各種アプリケーションを実行するホスト計算機10と、このホスト計算機10の外部記憶装置として用いられるディスクアレイ装置20とから構成される。なお、ディスクアレイ装置20がホスト計算機10を含む複数のホスト計算機によって共有される計算機システムであっても構わない。
ディスクアレイ21は、複数、例えば4台の論理ディスク装置210-0〜210-3から構成される。論理ディスク装置210-0〜210-3は、それぞれ少なくとも1台のディスク記憶装置、例えばハードディスクドライブ(HDD)を用いて構成される。本実施形態では、各論理ディスク装置210-0〜210-3にそれぞれ論理ユニット(Logical Unit)が割り当てられる。ここでは、論理ディスク装置210-0に割り当てられる論理ユニットは、ホスト計算機10がアプリケーションを実行することにより当該アプリケーションに従ってデータの読み出し/書き込みが行われるマスタ論理ユニット(以下、マスタLUと称する)として用いられる。そこで以下の説明では、論理ディスク装置210-0をマスタLU(#M)210-0と称する。一方、論理ディスク装置210-1,210-2,210-3に割り当てられる論理ユニットは、マスタLU(#M)210-0のデータの複製を保持するためのバックアップ論理ユニット(以下、バックアップLUと称する)として用いられる。そこで以下の説明では、論理ディスク装置210-1,210-2,210-3をそれぞれバックアップLU(#B1)210-1,(#B2)210-2,210-3と称する。このように本実施形態では、バックアップLUは複数台(3台)存在する。ここでは、各バックアップLUの世代はそれぞれ異なり、バックアップLU(#B1)は第1世代、バックアップLU(#B2)は第2世代、バックアップLU(#B3)は第3世代である。つまりバックアップLU(#B1)よりバックアップLU(#B2)のスナップショットの方が新しく、バックアップLU(#B2)よりバックアップLU(#B3)のスナップショットの方が更に新しい。なお、ディスクアレイ21におけるマスタLU及びバックアップLUの割り当て方と論理ディスク装置の数は、本実施形態に限られるものではない。
ディスクアレイコントローラ22は、ホスト計算機10からの要求に応じてディスクアレイ21内の各LU210-0〜210-3に対するアクセスを制御する。ディスクアレイコントローラ22は、当該コントローラ22の主制御部をなすマイクロプロセッサと、当該マイクロプロセッサが実行する制御プログラムが格納されるプログラムメモリ(いずれも図示せず)とを備えている。ディスクアレイコントローラ22はまた書き換えが可能な不揮発性メモリ220を備えている。本実施形態における不揮発性メモリ220は、バッテリでバックアップされた揮発性メモリ(例えばRAM)を用いて実現されている。しかし不揮発性メモリ220にフラッシュメモリを用いることも可能である。この不揮発性メモリ220には、差分管理テーブルDTが格納される。差分管理テーブルDTは、マスタLU(#M)210-0とバックアップLU(#Bk)210-k(kは1〜3のいずれか)との間の同期化が停止されている状態で、マスタLU(#M)210-0のデータ更新が発生した場合に、その更新されたデータを差分データとして管理するのに用いられる。ここでは、差分管理テーブルDTは、マスタLU(#M)210-0でのみデータが更新された際の更新位置(論理ブロックアドレス)を例えばビットマップ形式で記録するのに用いられる。つまり差分管理テーブルDTは、マスタLU(#M)210-0とバックアップLU(#Bk)210-kとの間でデータが異なる(マスタLUの方がデータが新しい)論理ブロックのアドレス(論理ブロックアドレス)を示すビットマップテーブルである。マスタLU(#M)210-0の各論理ブロックアドレスLBAiの領域と差分管理テーブルDTの各ビットiとの対応関係を図2に示す。バックアップLU(#Bk)210-kの各論理ブロックアドレスLBAiの領域と差分管理テーブルDTの各ビットiとの対応関係も、図2と同様である。なお、差分管理テーブルDTが、ディスクアレイ21に格納される構成であっても構わない。
次に、図1の計算機システムにおけるディスクアレイコントローラ22によるスナップショット管理について説明する。まず最初の段階では、ディスクアレイ装置20内のディスクアレイコントローラ22は、ホスト計算機10からの同期化指示により、次にホスト計算機10からスナップショットデータの採取が指示されるまで、マスタLU(#M)210-0とバックアップLU(#B1)210-1とを同期化する。マスタLUとバックアップLUとの同期化とは、マスタLUとバックアップLUとをミラー制御(2重化制御)することであり、マスタLUがミラー元、バックアップLUがミラー先となる。つまりディスクアレイコントローラ22は、ホスト計算機10からデータの書き込みが要求される毎に、そのデータを、マスタLU(#M)210-0の当該書き込み要求で指定された論理ブロックアドレス(開始論理ブロックアドレス)SLBAから始まる指定サイズの領域に書き込むと共に、バックアップLU(#B1)210-1の論理ブロックアドレスSLBAから始まる指定サイズの領域にも書き込む。この状態では、ホスト計算機10からはマスタLU(#M)210-0及びバックアップLU(#B1)210-1のうちのマスタLUだけが認識可能である。
このような状態で、ホスト計算機10からディスクアレイコントローラ22に対してスナップショット(スナップショットデータ)の採取が指示されたものとする。この場合、ディスクアレイコントローラ22はマスタLU(#M)210-0とバックアップLU(#B1)210-1との同期化を停止する。これにより、スナップショット採取の指示時点におけるマスタLU(#M)210-0のデータがスナップショットデータとしてバックアップLU(#B1)210-1に採取されたことになる。この状態では、バックアップLU(#B1)はマスタLU(#M)から切り離され、ホスト計算機10は、マスタLU(#M)及びバックアップLU(#B1)をそれぞれ認識可能である。通常、バックアップLU(#B1)にスナップショットが採取されると、そのバックアップLU(#B1)から例えば磁気テープへのデータバックアップ(テープバックアップ)が行われる。
次に、バックアップLU(#B1)210-1にスナップショットが採取された以降に、ホスト計算機10からディスクアレイコントローラ22に対してデータの書き込みが要求された場合の動作について、図3のフローチャートを参照して説明する。ここでは、説明を簡略化するために、書き込み要求で指定されるデータのサイズが1論理ブロックのサイズに一致するものとする。
ディスクアレイコントローラ22は、マスタLU(#M)210-0とバックアップLU(#B1)210-1との同期化が停止されている状態で、ホスト計算機10からのデータの書き込み要求を受け付けると、そのデータを、マスタLU(#M)210-0の当該書き込み要求で指定された論理ブロックアドレスの領域のみに書き込む(ステップS1)。ここで書き込み要求で指定された論理ブロックアドレスをLBAi、当該論理ブロックアドレスLBAiで指定される論理ブロック領域をAiと表現する。ステップS1の実行により、マスタLU(#M)210-0の論理ブロック領域Aiのデータは、バックアップLU(#Bk)210-kの論理ブロック領域Aiのデータ(旧データ)とは異なるデータ(新データ)に更新される。そこでディスクアレイコントローラ22は、このデータが相異する位置(更新位置)を、不揮発性メモリ220に格納されている差分管理テーブルDTに記録するために、当該テーブルDT中のビットのうち、論理ブロック領域Aiを指定する論理ブロックアドレスLBAiに対応する全てのビットiをON(オン)する(ステップS2)。
このように、ホスト計算機10から要求されたデータがマスタLU(#M)210-0だけに書き込まれると、そのデータの更新位置を差分データの更新位置として管理するために、その更新位置を示す論理ブロックアドレスiに対応する差分管理テーブルDT中のビットiがONされる。このことは、差分管理テーブルDTに更新位置(論理ブロックアドレス)を記録したことと等価である。
バックアップLU(#B1)210-1にスナップショットを採取した後、次のスナップショットをバックアップLU(#B2)210-2に採取するのに備えて、当該バックアップLU(#B2)210-2をマスタLU(#M)210-0に同期化するものとする。この場合、基本的にはマスタLU(#M)210-0のデータをバックアップLU(#B2)210-2にコピーする必要がある。従来は、このマスタLU(#M)210-0のデータを全てバックアップLU(#B2)210-2にコピーしている。このコピー処理の期間、マスタLU(#M)210-0には、ホスト計算機10からの読み出し/書き込み要求に従うアクセス(通常アクセス)と、バックアップLU(#B2)210-2へのデータコピーのためのアクセス(コピーアクセス)とが集中し、マスタLU(#M)の負荷が増大する。
そこで本実施形態では、バックアップLU(#B2)210-2をマスタLU(#M)210-0に同期化する期間におけるマスタLU(#M)の負荷を軽減するために、1世代前のバックアップLU(#B1)210-1のデータをバックアップLU(#B2)210-2へのコピーに利用する。このバックアップLU(#B1)210-1を利用してのコピー処理の概要について、図4を参照して説明する。
まず、マスタLU(#M)210-0及びバックアップLU(#B1)210-1のデータのうち、差分管理テーブルDT中でON(オン)状態にあるビットに対応する論理ブロックアドレスのデータは相異しており、マスタLU(#M)210-0のデータの方が新しい。このバックアップLU(#B1)210-1には含まれず、マスタLU(#M)210-0のみに含まれているデータの集合を差分データDと表現する。またバックアップLU(#B1)210-1に格納されているデータの集合をデータB1で表現し、マスタLU(#M)210-0及びバックアップLU(#B1)210-1の両方に含まれているデータ、つまり差分管理テーブルDT中でOFF(オフ)状態にあるビットに対応する論理ブロックアドレスのデータの集合をB1−Dで表現する。
本実施形態では、バックアップLU(#B1)210-1には含まれず、マスタLU(#M)210-0のみに含まれているデータDを、当該マスタLU(#M)からバックアップLU(#B2)にコピーする。一方、残りのデータ、即ちマスタLU(#M)及びバックアップLU(#B1)の両方に含まれているデータB1−Dについては、バックアップLU(#B1)からバックアップLU(#B2)にコピーする。
次に、バックアップLU(#B2)210-2をマスタLU(#M)210-0に同期化するためのコピー処理の詳細な手順について、図5のフローチャートを参照して説明する。今、ホスト計算機10からディスクアレイコントローラ22に対して、バックアップLU(#B2)210-2をマスタLU(#M)210-0に同期させるための同期化指示が与えられたものとする。この場合、ディスクアレイコントローラ22は同期化のためのコピー処理を次のように実行する。
まずディスクアレイコントローラ22は、論理ブロックアドレスLBAjを指定するパラメータjを初期値0に初期設定する(ステップS11)。次にディスクアレイコントローラ22は、論理ブロックアドレスLBAjに対応する差分管理テーブルDT中のビットjを参照して、当該ビットjがON状態にあるかを判定する(ステップS12)。
もし、差分管理テーブルDT中のビットjがON状態にあるならば、ディスクアレイコントローラ22は、当該ビットjに対応する論理ブロックアドレスLBAjで指定されるマスタLU(#M)210-0のデータをバックアップLU(#B2)210-2の論理ブロックアドレスLBAjの位置にコピーする(ステップS13)。そしてディスクアレイコントローラ22は、差分管理テーブルDT中のビットjをOFFした後(ステップS14)、ステップS15に進む。一方、差分管理テーブルDT中のビットjがOFF状態にあるならば、ディスクアレイコントローラ22は、当該ビットjに対応する論理ブロックアドレスLBAjで指定されるバックアップLU(#B1)210-1のデータをバックアップLU(#B2)210-2の論理ブロックアドレスLBAjの位置にコピーする(ステップS16)。そしてディスクアレイコントローラ22はステップS15に進む。
ステップS15において、ディスクアレイコントローラ22は、差分管理テーブルDTの全ビットについて処理したか、つまりバックアップLU(#B2)210-2へのコピーが完了したかを判定する。もし、未処理のビットが残っているならば、ディスクアレイコントローラ22はパラメータjを1インクリメントした後(ステップS17)、ステップS12に戻る。
さて、上記のコピー処理中にもホスト計算機10からディスクアレイコントローラ22に対してデータの書き込みが要求される。そこで、コピー処理中にホスト計算機10からディスクアレイコントローラ22に対してデータの書き込みが要求された場合の動作について、図6のフローチャートを参照して説明する。ここでは、説明を簡略化するために、書き込み要求で指定されるデータのサイズが1論理ブロックのサイズに一致するものとする。
ディスクアレイコントローラ22は、ホスト計算機10からのデータの書き込み要求を受け付けると、そのデータを、マスタLU(#M)210-0の当該書き込み要求で指定された論理ブロックアドレスの領域に書き込む(ステップS21)。ここで書き込み要求で指定された論理ブロックアドレスをLBAi、当該論理ブロックアドレスLBAiで指定される論理ブロック領域をAiと表現する。次にディスクアレイコントローラ22は、バックアップLU(#B2)210-2をマスタLU(#M)210-0に同期化するために、マスタLU(#M)210-0の論理ブロック領域Aiに書き込んだのと同じデータをバックアップLU(#B2)210-2の論理ブロック領域Aiにも書き込む(ステップS22)。
次にディスクアレイコントローラ22は、本実施形態のようにバックアップLU(#B2)210-2へのコピー処理中の状態では、つまりバックアップLU(#B2)210-2がマスタLU(#M)210-0に完全には同期化されていない状態では(ステップS23)、バックアップLU(#B2)210-2の論理ブロック領域Aiへのデータコピーが済んでいるか否かを判定する(ステップS24)。この判定は、書き込みの対象となる論理ブロックアドレスLBAiとコピーの対象となる論理ブロックアドレスLBAjとの大小を比較することにより行われる。ここでは、LBAi<LBAj(i<j)の場合にコピー済みが、LBAi≧LBAj(i≧j)の場合にコピー未完了が、それぞれ判定される。
もし、論理ブロックアドレスLBAiで指定される論理ブロック領域Aiへのデータコピーコピーが済んでいない場合には、ディスクアレイコントローラ22は、当該アドレスLBAiに対応する差分管理テーブルDT中のビットiをON状態にする(ステップS25)。このステップS25を実行する理由は、ホスト計算機10からの書き込み要求に従って、マスタLU(#M)210-0及びバックアップLU(#B2)210-2の同一論理ブロックアドレスLBAiの領域(論理ブロック領域)Aiに同一データを書き込んだ結果、当該アドレスLBAiの領域Aiのデータが、マスタLU(#M)210-0とバックアップLU(#B1)210-1との間で相異するためである。
もし、上記ステップS25が実行されないと、差分管理テーブルDT中のビットiがOFF状態にある場合には、その後のコピー処理で当該ビットiに対応する論理ブロックアドレスLBAiに関して、データバックアップLU(#B1)210-1のデータ、つまりマスタLU(#M)210-0の同一論理ブロックアドレスLBAiのデータ(新データ)とは異なる更新前のデータ(旧データ)がバックアップLU(#B2)210-2にコピーされる不具合が発生する。ステップS25の処理は、この不具合を防止するために行われる。このステップS25の処理により、差分管理テーブルDT中のビットiに対応する論理ブロックアドレスLBAiに関しては、マスタLU(#M)210-0のデータがバックアップLU(#B2)210-2にコピーされ(ステップS13)、しかる後に当該ビットiがOFFされる(ステップS14)。
なお、論理ブロックアドレスLBAiで指定されるバックアップLU(#B2)の領域には、当該アドレスLBAiで指定されるマスタLU(#M)の領域にステップS21で書かれたのと同一のデータが、ステップS22で書かれている。それにも拘わらずに、このデータがステップS13でマスタLU(#M)からバックアップLU(#B2)にコピーされるのは無駄である。そこで差分管理テーブルDTの各論理ブロックアドレス毎のエントリを2ビットで構成し、そのうちの1ビットをコピー不要を示すフラグビットに割り当てると良い。ここでは、上記ステップS25に代えて、アドレスLBAiに対応するフラグビットをONする処理を実行することにより、ON状態にあるフラグビットと対応付けられたアドレスLBAiへのデータコピー(ステップS13)が抑止されるようにすれば良い。また、差分管理テーブルDTと同様のビットマップ構造のコピー管理テーブルを用意し、コピーが完了したアドレスLBAiに対応するビットjを例えばONする構成としても良い。この構成では、上記ステップS25に代えて、アドレスLBAiに対応するコピー管理テーブル中のビットiをONして強制的にコピー完了を示すことにより、ON状態にあるビットiと対応付けられたアドレスLBAiへのデータコピー(ステップS13)を抑止することが可能となる。
明らかなように、バックアップLU(#B2)210-2へのコピーが全て完了した時点、つまりバックアップLU(#B2)210-2がマスタLU(#M)210-0に同期化された時点では、差分管理テーブルDTの全ビットはOFF状態にある。これ以降、ホスト計算機10からディスクアレイコントローラ22に対してスナップショットの採取が指示されるまでは、バックアップLU(#B2)210-2をマスタLU(#M)210-0に同期させる状態が継続される。そして、この状態でホスト計算機10からディスクアレイコントローラ22に対してスナップショットの採取が指示されると、マスタLU(#M)210-0とバックアップLU(#B2)210-2との同期化が停止される。
マスタLU(#M)210-0とバックアップLU(#B2)210-2との同期化が停止された状態では、差分管理テーブルDTの各ビットのうち、バックアップLU(#B2)210-2にスナップショットが採取されてからマスタLU(#M)210-0のみに書き込まれた差分データD’の論理ブロックアドレスiに対応するビットiがONされている。つまり、バックアップLU(#B2)210-2にスナップショットが採取された後、差分管理テーブルDTには、それ以降にマスタLU(#M)210-0に書き込まれたデータ(このデータの集合を差分データD’と表現する)の論理ブロックアドレス(更新位置)が記録される。また、バックアップLU(#B3)210-3にスナップショットが採取された場合も同様であり、それ以後、差分管理テーブルDTには、それ以降にマスタLU(#M)210-0に書き込まれたデータ(このデータの集合を差分データD”と表現する)の論理ブロックアドレス(更新位置)が記録される。
本実施形態では、バックアップLU(#B2)210-2にスナップショットが採取された後、次のスナップショットをバックアップLU(#B3)210-3に採取するのに備えて、当該バックアップLU(#B3)210-3をマスタLU(#M)210-0に同期化する場合に、差分管理テーブルDTの示す差分データD’を利用して図4に示すコピー処理が次のように行われる。
まず、バックアップLU(#B2)210-2に格納されているデータの集合をデータB2で表現し、マスタLU(#M)210-0及びバックアップLU(#B2)210-2の両方に含まれているデータ、つまり差分管理テーブルDT中でOFF状態にあるビットに対応する論理ブロックアドレスのデータの集合をB2−D’で表現する。ここでは、バックアップLU(#B2)に含まれていないデータD’は、マスタLU(#M)からバックアップLU(#B3)にコピーされ、残りのデータB2−D’については、バックアップLU(#B2)からバックアップLU(#B3)にコピーされる。
[第2の実施形態]
図7は本発明の第2の実施形態に係る計算機システムの構成を示すブロック図である。図7において、図1中の構成要素と同様の要素には便宜的に同一符号を付してある。第2の実施形態では、ディスクアレイ21は、マスタLU(#M)210-0と2台のバックアップLU、即ちバックアップLU(#B1)210-1及びバックアップLU(#B2)210-2とから構成される。ここでは、バックアップLU(#B1)210-1は第1世代、バックアップLU(#B2)210-2は第2世代であるものとする。
また、ディスクアレイコントローラ22の不揮発性メモリ220には、バックアップLU(#B1)210-1及びバックアップLU(#B2)210-2に対応して用意される差分管理テーブルDT1及びDT2が格納される。差分管理テーブルDT1及びDT2の構造は、上記第1の実施形態で適用された差分管理テーブルDTと同様である(図2参照)。
次に、図7の計算機システムにおけるディスクアレイコントローラ22によるスナップショット管理の概要について、図8及び図9を参照して説明する。まず最初の段階では、マスタLU(#M)210-0とバックアップLU(#B1)210-1とが同期化される。その後、ホスト計算機10からのスナップショット採取指示によりマスタLU(#M)とバックアップLU(#B1)との同期化が停止される。差分管理テーブルDT1には、バックアップLU(#B1)にスナップショットが採取された時点t1(第1の時点)から現時点までの間にマスタLU(#M)に書き込まれるデータ(このデータの集合を差分データD1と表現する)の論理ブロックアドレス(更新位置)が記録される。
次に、マスタLU(#M)210-0とバックアップLU(#B2)210-2とが同期化される。その後、ホスト計算機10からのスナップショット採取指示によりマスタLU(#M)とバックアップLU(#B2)210-2との同期化が停止される。差分管理テーブルDT2には、バックアップLU(#B2)にスナップショットが採取された時点t2(t2>t1,第2の時点)から現時点までの間にマスタLU(#M)に書き込まれたデータ(このデータの集合を差分データD2と表現する)の論理ブロックアドレスが記録される。
ここで、第1世代のバックアップLU(#B1)210-1及び第2世代のバックアップLU(#B2)210-2のうち、古い方のスナップショットが採取されたバックアップLU(#B1)210-1を用いた例えばテープバックアップが終了した後、次のスナップショットに備えて当該バックアップLU(#B1)210-1をマスタLU(#M)210-0に再同期化する指示が、時点t3にホスト計算機10からディスクアレイコントローラ22に与えられたものとする。この場合、差分データD1をバックアップLU(#B1)にコピーする必要がある。従来は、このD1を全てマスタLU(#M)からコピーしているため、マスタLU(#M)にはホスト計算機10からの読み出し/書き込み要求に従う通常アクセスと、バックアップLU(#B1)へのコピーアクセスとが集中し、マスタLU(#M)の負荷が増大する。
そこで本実施形態では、第1世代のバックアップLU(#B1)をマスタLU(#M)に再同期化する期間におけるマスタLU(#M)の負荷を軽減するために、第2世代のバックアップLU(#B2)を利用してコピー処理を行う。
まず、バックアップLU(#B1)にはバックアップLU(#B2)よりも古いスナップショットが採取されている。このため、差分管理テーブルDT1によって管理されている、マスタLU(#M)とバックアップLU(#B1)との間で相異する差分データD1のうち、マスタLU(#M)とバックアップLU(#B2)との間で相異する差分データD2が差分管理テーブルDT2によって管理される以前のデータ部分91は、バックアップLU(#B2)に含まれている。このデータ部分91をD1−D2で表現する。また、データD2(データ部分92)はマスタLU(#M)に含まれている。
本実施形態では、D1−D2(データ部分91)がバックアップLU(#B2)に含まれていることに着目し、バックアップLU(#B1)にD1をコピーする処理を、D2以外の部分、つまりD1−D2の部分(データ部分91)については、バックアップLU(#B2)からバックアップLU(#B1)にコピーし、D2の部分(データ部分92)については、マスタLU(#M)からバックアップLU(#B1)にコピーすることによって実現する。これにより、コピー処理の期間におけるマスタLU(#M)の負荷を、D1−D2の部分(データ部分91)のコピーに要する時間だけ低減できる。
次に、バックアップLU(#B1)をマスタLU(#M)に再同期化するためのコピー処理の詳細な手順について、図10のフローチャートを参照して説明する。今、ホスト計算機10からディスクアレイコントローラ22に対して、第1世代のバックアップLU(#B1)をマスタLU(#M)に再同期化するための再同期化指示が与えられたものとする。この場合、ディスクアレイコントローラ22は再同期化のためのコピー処理を次のように実行する。
まずディスクアレイコントローラ22は、論理ブロックアドレスLBAjを指定するパラメータjを初期値0に初期設定する(ステップS31)。次にディスクアレイコントローラ22は、論理ブロックアドレスLBAjに対応する差分管理テーブルDT1中のビットjを参照して、当該ビットjがON状態にあるかを判定する(ステップS32)。
もし、差分管理テーブルDT1中のビットjがON状態にあるならば、ディスクアレイコントローラ22は当該ビットjをオフする(ステップ33)。そしてディスクアレイコントローラ22は、差分管理テーブルDT2中のビットjがON状態にあるかを判定する(ステップS34)。もし、差分管理テーブルDT2中のビットjもON状態にあるならば、ディスクアレイコントローラ22は、当該ビットjに対応する論理ブロックアドレスLBAjで指定されるマスタLU(#M)のデータを第1世代のバックアップLU(#B1)の論理ブロックアドレスLBAjの位置にコピーする(ステップS35)。そしてディスクアレイコントローラ22は、差分管理テーブルDT2中のビットjをOFFした後(ステップS36)、ステップS37に進む。
一方、差分管理テーブルDT1中のビットjはON状態にあっても、差分管理テーブルDT2中のビットjがOFF状態にあるならば、ディスクアレイコントローラ22は、当該ビットjに対応する論理ブロックアドレスLBAjで指定される第2世代のバックアップLU(#B2)のデータを第1世代のバックアップLU(#B1)の論理ブロックアドレスLBAjの位置にコピーする(ステップS38)。そしてディスクアレイコントローラ22はステップS37に進む。
これに対し、差分管理テーブルDT1中のビットjがOFF状態にあるならば、ディスクアレイコントローラ22は当該ビットjに対応する論理ブロックアドレスLBAjで指定されるバックアップLU(#B1)のデータは、当該アドレスLBAjで指定されるマスタLU(#M)のデータに一致していると判断する。この場合、対応するデータをバックアップLU(#B1)にコピーする必要はないことから、ディスクアレイコントローラ22はステップS32からステップS37に進む。
ステップS37において、ディスクアレイコントローラ22は、差分管理テーブルDT1の全ビットについて処理したか、つまりバックアップLU(#B1)へのコピーが完了したかを判定する。もし、未処理のビットが残っているならば、ディスクアレイコントローラ22はパラメータjを1インクリメントした後(ステップS39)、ステップS32に戻る。
次に、上記再同期化のためのコピー処理中にホスト計算機10からディスクアレイコントローラ22に対してデータの書き込みが要求された場合の動作について、図11のフローチャートを参照して説明する。ここでは、説明を簡略化するために、書き込み要求で指定されるデータのサイズが1論理ブロックのサイズに一致するものとする。
ディスクアレイコントローラ22は、ホスト計算機10からのデータの書き込み要求を受け付けると、そのデータを、マスタLU(#M)の当該書き込み要求で指定された論理ブロックアドレスの領域に書き込む(ステップS41)。ここで書き込み要求で指定された論理ブロックアドレスをLBAi、当該論理ブロックアドレスLBAiで指定される論理ブロック領域をAiと表現する。次にディスクアレイコントローラ22はマスタLU(#M)の論理ブロック領域Aiに書き込んだのと同じデータを第1世代のバックアップLU(#B1)の論理ブロック領域Aiにも書き込む(ステップS42)。
ディスクアレイコントローラ22は、ステップS41及びS42によって、マスタLU(#M)及び第1世代のバックアップLU(#B1)の同一論理ブロックアドレスLBAiの領域に同一データを書き込むと、当該アドレスLBAiに対応する差分管理テーブルDT1中のビットiをOFFする(ステップS43)。また、マスタLU(#M)及び第1の世代のバックアップLU(#B1)のアドレスLBAiの領域に対するデータ書き込みの結果、当該アドレスLBAiの領域のデータは、マスタLU(#M)と第2の世代のバックアップLU(#B2)との間で相異する。そこでディスクアレイコントローラ22は、アドレスLBAiに対応する差分管理テーブルDT2中のビットiをONする(ステップS44)。
次に、上記したようにバックアップLU(#B1)を再同期化した後、今度はマスタLU(#M)と当該バックアップLU(#B1)との同期化状態を時点t4(t4>t3)で停止して、当該バックアップLU(#B1)にスナップショットを採取する場合について簡単に説明する。この時点t4では、上記の例とは逆に、バックアップLU(#B1)に採取されたスナップショットよりも、時点t2でバックアップLU(#B2)に採取されたスナップショットの方が古くなる。ここでは、時点t2が上記t1(第1の時点)に対応し、時点t4が上記t2(第2の時点)に対応する。そこで、次のスナップショットに備えてバックアップLU(#B2)をマスタLU(#M)に再同期化する指示が時点t5(t5>t4)で与えられた場合には、差分管理テーブルDT2によって管理されている、時点t2(第1の時点)から現時点までの間にマスタLU(#M)に書き込まれたデータ(このデータの集合を差分データD2’と表現する)をバックアップLU(#B2)にコピーする必要がある。ここで、差分管理テーブルDT1によって管理されている、時点t4(第2の時点)から現時点までの間にマスタLU(#M)に書き込まれたデータの集合を差分データD1’と表現する。この場合、D2’−D’の部分をバックアップLU(#B1)からバックアップLU(#B2)にコピーし、残りのD1’の部分をマスタLU(#M)からバックアップLU(#B2)にコピーすれば良い。
以下、同様にして、スナップショット採取先として、バックアップLU(#B1)及びLU(#B2)を交互に指定し、その際にスナップショット採取先として指定されていないバックアップLU(即ち前回スナップショット採取済みのバックアップLU)及びマスタLU(#M)の双方に存在する差分データについては、前回スナップショット採取済みのバックアップLUからスナップショット採取先のバックアップLUにコピーすれば良い。
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
本発明の第1の実施形態に係る計算機システムの構成を示すブロック図。 マスタLU(#M)210-0の各論理ブロックアドレスLBAiの領域と差分管理テーブルDTの各ビットiとの対応関係を示す図。 バックアップLU(#B1)210-1にスナップショットが採取された以降に、ホスト計算機10からディスクアレイコントローラ22に対してデータの書き込みが要求された場合の動作手順を示すフローチャート。 上記第1の実施形態においてバックアップLU(#B2)210-2をマスタLU(#M)210-0に同期化するために実行されるコピー処理の概要を示す図。 上記第1の実施形態におけるコピー処理の詳細な手順を示すフローチャート。 上記第1の実施形態においてコピー処理中にホスト計算機10からディスクアレイコントローラ22に対してデータの書き込みが要求された場合の動作手順を示すフローチャート。 本発明の第2の実施形態に係る計算機システムの構成を示すブロック図。 上記第2の実施形態においてバックアップLU(#B1)210-1をマスタLU(#M)210-0に同期化するために実行されるコピー処理の概要を示す図。 スナップショット採取時点t1及びt2以降に発生する差分データとマスタLU(#M)並びにバックアップLU(#B1)及びバックアップLU(#B2)との関係を示す図。 上記第2の実施形態におけるコピー処理の詳細な手順を示すフローチャート。 上記第2の実施形態においてコピー処理中にホスト計算機10からディスクアレイコントローラ22に対してデータの書き込みが要求された場合の動作手順を示すフローチャート。
符号の説明
10…ホスト計算機、20…ディスクアレイ装置、21…ディスクアレイ、22…ディスクアレイコントローラ、210-0…マスタLU(マスタ論理ユニット)、210-1〜210-3…バックアップLU(バックアップ論理ユニット)、DT,DT1,DT2…差分管理テーブル。

Claims (13)

  1. ホスト計算機から要求されたデータの読み出し/書き込みが行われるマスタ論理ユニットと、前記マスタ論理ユニットの複製を保持するための第1のバックアップ論理ユニット及び第2のバックアップ論理ユニットを含む複数のバックアップ論理ユニットとを備えたディスクアレイを制御するディスクアレイコントローラにおいて、
    前記マスタ論理ユニットと前記第1のバックアップ論理ユニットとが同期化されている状態で前記第1のバックアップ論理ユニットへのスナップショット採取が前記ホスト計算機から指示されることにより当該同期化状態が停止された第1の時点を基準に、それ以降に発生した前記マスタ論理ユニットに対するデータ更新によって前記マスタ論理ユニットと前記第1のバックアップ論理ユニットとの間でデータが相異する更新位置を記録するための第1の差分管理テーブルと、
    前記第1の時点以降に前記マスタ論理ユニットと前記第2のバックアップ論理ユニットとが同期化されている状態で前記第2のバックアップ論理ユニットへのスナップショット採取が前記ホスト計算機から指示されることにより当該同期化状態が停止された第2の時点を基準に、それ以降に発生した前記マスタ論理ユニットに対するデータ更新によって前記マスタ論理ユニットと前記第2のバックアップ論理ユニットとの間でデータが相異する更新位置を記録するための第2の差分管理テーブルと、
    前記ホスト計算機から前記第1のバックアップ論理ユニットを前記マスタ論理ユニットに再同期化することが指示された場合、前記第1の時点以降に更新されたデータを前記第1のバックアップ論理ユニットにコピーするコピー手段であって、前記第1の差分管理テーブル及び前記第2の差分管理テーブルのうち、前記第1の差分管理テーブルのみによって示される更新位置のデータを、前記第2のバックアップ論理ユニットから前記第1のバックアップ論理ユニットにコピーする第1のコピー手段と、前記第1の差分管理テーブル及び前記第2の差分管理テーブルによって共に示される更新位置のデータを、前記マスタ論理ユニットから前記第1のバックアップ論理ユニットにコピーする第2のコピー手段とを含むコピー手段と
    を具備することを特徴とするディスクアレイコントローラ。
  2. 前記第1のコピー手段によるコピー時に、対応する更新位置を示す情報を前記第1の差分管理テーブルから削除し、前記第2のコピー手段によるコピー時に、対応する更新位置を示す情報を前記第1の差分管理テーブル及び前記第2の差分管理テーブルから削除するテーブル操作手段を更に具備することを特徴とする請求項1記載のディスクアレイコントローラ。
  3. 前記コピー手段によるコピー処理中に前記ホスト計算機からデータの書き込みが要求された場合、当該データを前記マスタ論理ユニット及び前記第1のバックアップ論理ユニットの同一位置に書き込む手段を更に具備し、
    前記テーブル操作手段は、前記書き込み手段によりデータが書き込まれた位置が、前記第1の差分管理テーブルに更新位置として記録されている場合に当該更新位置を示す情報を前記第1の差分管理テーブルから削除すると共に当該更新位置を示す情報を前記第2の差分管理テーブルに記録することを特徴とする請求項2記載のディスクアレイコントローラ。
  4. ホスト計算機から要求されたデータの読み出し/書き込みが行われるマスタ論理ユニットと、前記マスタ論理ユニットの複製を保持するための第1のバックアップ論理ユニット及び第2のバックアップ論理ユニットを含む複数のバックアップ論理ユニットとを備えたディスクアレイを制御するディスクアレイコントローラにおいて、
    前記マスタ論理ユニットと前記第1のバックアップ論理ユニットとが同期化されている状態で前記第1のバックアップ論理ユニットへのスナップショット採取が前記ホスト計算機から指示されることにより当該同期化状態が停止された第1の時点を基準に、それ以降に発生した前記マスタ論理ユニットに対するデータ更新によって前記マスタ論理ユニットと前記第1のバックアップ論理ユニットとの間でデータが相異する更新位置を記録するための第1の差分管理テーブルと、
    前記マスタ論理ユニットと前記第2のバックアップ論理ユニットとが同期化されている状態で前記第2のバックアップ論理ユニットへのスナップショット採取が前記ホスト計算機から指示されることにより当該同期化状態が停止された第2の時点を基準に、それ以降に発生した前記マスタ論理ユニットに対するデータ更新によって前記マスタ論理ユニットと前記第2のバックアップ論理ユニットとの間でデータが相異する更新位置を記録するための第2の差分管理テーブルと、
    前記第1の時点が前記第2の時点に先行している状態で前記ホスト計算機から前記第1のバックアップ論理ユニットを前記マスタ論理ユニットに再同期化することが指示された第1の場合には、前記第1の時点以降に更新されたデータを前記第1のバックアップ論理ユニットにコピーし、前記第2の時点が前記第1の時点に先行している状態で前記ホスト計算機から前記第2のバックアップ論理ユニットを前記マスタ論理ユニットに再同期化することが指示された第2の場合には、前記第2の時点以降に更新されたデータを前記第2のバックアップ論理ユニットにコピーするコピー手段であって、前記第1の場合には、前記第1の差分管理テーブル及び前記第2の差分管理テーブルのうち、前記第1の差分管理テーブルのみによって示される更新位置のデータを、前記第2のバックアップ論理ユニットから前記第1のバックアップ論理ユニットにコピーし、前記第2の場合には、前記第1の差分管理テーブル及び前記第2の差分管理テーブルのうち、前記第2の差分管理テーブルのみによって示される更新位置のデータを、前記第1のバックアップ論理ユニットから前記第2のバックアップ論理ユニットにコピーする第1のコピー手段と、前記第1の場合には、前記第1の差分管理テーブル及び前記第2の差分管理テーブルによって共に示される更新位置のデータを、前記マスタ論理ユニットから前記第1のバックアップ論理ユニットにコピーし、前記第2の場合には、前記第1の差分管理テーブル及び前記第2の差分管理テーブルによって共に示される更新位置のデータを、前記マスタ論理ユニットから前記第2のバックアップ論理ユニットにコピーする第2のコピー手段とを含むコピー手段と
    を具備することを特徴とするディスクアレイコントローラ。
  5. 前記第1の場合における前記第1のコピー手段によるコピー時には、対応する更新位置を示す情報を前記第1の差分管理テーブルから削除し、前記第2の場合における前記第1のコピー手段によるコピー時には、対応する更新位置を示す情報を前記第2の差分管理テーブルから削除し、前記第2のコピー手段によるコピー時には、対応する更新位置を示す情報を前記第1の差分管理テーブル及び前記第2の差分管理テーブルから削除するテーブル操作手段を更に具備することを特徴とする請求項4記載のディスクアレイコントローラ。
  6. 前記第1の場合における前記コピー手段によるコピー処理中に前記ホスト計算機からデータの書き込みが要求された場合に、当該データを前記マスタ論理ユニット及び前記第1のバックアップ論理ユニットの同一位置に書き込み、前記第2の場合における前記コピー手段によるコピー処理中に前記ホスト計算機からデータの書き込みが要求された場合に、当該データを前記マスタ論理ユニット及び前記第2のバックアップ論理ユニットの同一位置に書き込む手段を更に具備し、
    前記テーブル操作手段は、前記第1の場合に、前記書き込み手段によりデータが書き込まれた位置が、前記第1の差分管理テーブルに更新位置として記録されているときは、当該更新位置を示す情報を前記第1の差分管理テーブルから削除すると共に当該更新位置を示す情報を前記第2の差分管理テーブルに記録し、前記第2の場合に、前記書き込み手段によりデータが書き込まれた位置が、前記第2の差分管理テーブルに更新位置として記録されているときは、当該更新位置を示す情報を前記第2の差分管理テーブルから削除すると共に当該更新位置を示す情報を前記第1の差分管理テーブルに記録することを特徴とする請求項5記載のディスクアレイコントローラ。
  7. ホスト計算機から要求されたデータの読み出し/書き込みが行われるマスタ論理ユニットと、前記マスタ論理ユニットの複製を保持するための複数のバックアップ論理ユニットとを備えたディスクアレイを制御するディスクアレイコントローラにおいて、
    前記マスタ論理ユニットと前記複数のバックアップ論理ユニットのうちの1つとが同期化されている状態で前記ホスト計算機からスナップショット採取が指示されることにより当該同期化状態が停止された時点以降に発生した前記マスタ論理ユニットに対するデータ更新の更新位置を記録するための差分管理テーブルと、
    前記マスタ論理ユニットと前記複数のバックアップ論理ユニットのうちの1つである第1のバックアップ論理ユニットとが同期化されている状態で前記ホスト計算機からスナップショット採取が指示されることにより当該同期化状態が停止された後に、前記ホスト計算機から前記複数のバックアップ論理ユニットのうちの他の1つである第2のバックアップ論理ユニットを前記マスタ論理ユニットに同期化することが指示された場合、前記第2のバックアップ論理ユニットを前記マスタ論理ユニットに同期化するためのコピー処理を実行するコピー手段であって、前記差分管理テーブルによって示される更新位置のデータを、前記マスタ論理ユニットから前記第2のバックアップ論理ユニットにコピーする第1のコピー手段と、前記差分管理テーブルによって更新位置が示されていないデータを、前記第1のバックアップ論理ユニットから前記第2のバックアップ論理ユニットにコピーする第2のコピー手段とを含むコピー手段と
    を具備することを特徴とするディスクアレイコントローラ。
  8. 前記第1のコピー手段によるコピー時に、対応する更新位置を示す情報を前記差分管理テーブルから削除するテーブル操作手段を更に具備することを特徴とする請求項7記載のディスクアレイコントローラ。
  9. 前記コピー手段によるコピー処理中に前記ホスト計算機からデータの書き込みが要求された場合、当該データを前記マスタ論理ユニット及び前記第2のバックアップ論理ユニットの同一位置に書き込む手段を更に具備し、
    前記テーブル操作手段は、前記書き込み手段によりデータが書き込まれた位置がコピー未完了の場合、当該位置を示す情報を前記差分管理テーブルに記録することを特徴とする請求項8記載のディスクアレイコントローラ。
  10. ホスト計算機から要求されたデータの読み出し/書き込みが行われるマスタ論理ユニットと、前記マスタ論理ユニットの複製を保持するための第1のバックアップ論理ユニット及び第2のバックアップ論理ユニットを含む複数のバックアップ論理ユニットとを備えたディスクアレイと、
    前記ディスクアレイを制御するディスクアレイコントローラとを具備し、
    前記ディスクアレイコントローラは、
    前記マスタ論理ユニットと前記第1のバックアップ論理ユニットとが同期化されている状態で前記第1のバックアップ論理ユニットへのスナップショット採取が前記ホスト計算機から指示されることにより当該同期化状態が停止された第1の時点を基準に、それ以降に発生した前記マスタ論理ユニットに対するデータ更新によって前記マスタ論理ユニットと前記第1のバックアップ論理ユニットとの間でデータが相異する更新位置を記録するための第1の差分管理テーブルと、
    前記第1の時点以降に前記マスタ論理ユニットと前記第2のバックアップ論理ユニットとが同期化されている状態で前記第2のバックアップ論理ユニットへのスナップショット採取が前記ホスト計算機から指示されることにより当該同期化状態が停止された第2の時点を基準に、それ以降に発生した前記マスタ論理ユニットに対するデータ更新によって前記マスタ論理ユニットと前記第2のバックアップ論理ユニットとの間でデータが相異する更新位置を記録するための第2の差分管理テーブルと、
    前記ホスト計算機から前記第1のバックアップ論理ユニットを前記マスタ論理ユニットに再同期化することが指示された場合、前記第1の時点以降に更新されたデータを前記第1のバックアップ論理ユニットにコピーするコピー手段であって、前記第1の差分管理テーブル及び前記第2の差分管理テーブルのうち、前記第1の差分管理テーブルのみによって示される更新位置のデータを、前記第2のバックアップ論理ユニットから前記第1のバックアップ論理ユニットにコピーする第1のコピー手段と、前記第1の差分管理テーブル及び前記第2の差分管理テーブルによって共に示される更新位置のデータを、前記マスタ論理ユニットから前記第1のバックアップ論理ユニットにコピーする第2のコピー手段とを含むコピー手段と
    から構成されることを特徴とするディスクアレイ装置。
  11. ホスト計算機から要求されたデータの読み出し/書き込みが行われるマスタ論理ユニットと、前記マスタ論理ユニットの複製を保持するための複数のバックアップ論理ユニットとを備えたディスクアレイと、
    前記ディスクアレイを制御するディスクアレイコントローラとを具備し、
    前記ディスクアレイコントローラは、
    前記マスタ論理ユニットと前記複数のバックアップ論理ユニットのうちの1つとが同期化されている状態で前記ホスト計算機からスナップショット採取が指示されることにより当該同期化状態が停止された時点以降に発生した前記マスタ論理ユニットに対するデータ更新の更新位置を記録するための差分管理テーブルと、
    前記マスタ論理ユニットと前記複数のバックアップ論理ユニットのうちの1つである第1のバックアップ論理ユニットとが同期化されている状態で前記ホスト計算機からスナップショット採取が指示されることにより当該同期化状態が停止された後に、前記ホスト計算機から前記複数のバックアップ論理ユニットのうちの他の1つである第2のバックアップ論理ユニットを前記マスタ論理ユニットに同期化することが指示された場合、前記第2のバックアップ論理ユニットを前記マスタ論理ユニットに同期化するためのコピー処理を実行するコピー手段であって、前記差分管理テーブルによって示される更新位置のデータを、前記マスタ論理ユニットから前記第2のバックアップ論理ユニットにコピーする第1のコピー手段と、前記差分管理テーブルによって更新位置が示されていないデータを、前記第1のバックアップ論理ユニットから前記第2のバックアップ論理ユニットにコピーする第2のコピー手段とを含むコピー手段と
    から構成されることを特徴とするディスクアレイ装置。
  12. ホスト計算機から要求されたデータの読み出し/書き込みが行われるマスタ論理ユニットと、前記マスタ論理ユニットの複製を保持するための第1のバックアップ論理ユニット及び第2のバックアップ論理ユニットを含む複数のバックアップ論理ユニットとを備えたディスクアレイを制御するディスクアレイコントローラに適用されるディスクアレイ制御プログラムであって、
    前記ディスクアレイコントローラに、
    前記マスタ論理ユニットと前記第1のバックアップ論理ユニットとが同期化されている状態で前記第1のバックアップ論理ユニットへのスナップショット採取が前記ホスト計算機から指示されることにより当該同期化状態が停止された第1の時点以降、前記マスタ論理ユニットに対するデータ更新が発生する毎に、前記第1の差分管理テーブルにデータ更新の更新位置を記録するステップと、
    前記第1の時点以降に前記マスタ論理ユニットと前記第2のバックアップ論理ユニットとが同期化されている状態で前記第2のバックアップ論理ユニットへのスナップショット採取が前記ホスト計算機から指示されることにより当該同期化状態が停止された第2の時点以降、前記マスタ論理ユニットに対するデータ更新が発生する毎に、前記第2の差分管理テーブルにデータ更新の更新位置を記録するステップと、
    前記ホスト計算機から前記第1のバックアップ論理ユニットを前記マスタ論理ユニットに再同期化することが指示された場合、前記第1の時点以降に更新されたデータを前記第1のバックアップ論理ユニットにコピーするステップであって、前記第1の差分管理テーブル及び前記第2の差分管理テーブルのうち、前記第1の差分管理テーブルのみによって示される更新位置のデータを、前記第2のバックアップ論理ユニットから前記第1のバックアップ論理ユニットにコピーする第1のコピーステップと、前記第1の差分管理テーブル及び前記第2の差分管理テーブルによって共に示される更新位置のデータを、前記マスタ論理ユニットから前記第1のバックアップ論理ユニットにコピーする第2のコピーステップとを含むステップと
    を実行させるためのディスクアレイ制御プログラム。
  13. ホスト計算機から要求されたデータの読み出し/書き込みが行われるマスタ論理ユニットと、前記マスタ論理ユニットの複製を保持するための複数のバックアップ論理ユニットとを備えたディスクアレイを制御するディスクアレイコントローラに適用されるディスクアレイ制御プログラムであって、
    前記ディスクアレイコントローラに、
    前記マスタ論理ユニットと前記複数のバックアップ論理ユニットのうちの1つとが同期化されている状態で前記ホスト計算機からスナップショット採取が指示されることにより当該同期化状態が停止された時点以降、前記マスタ論理ユニットに対するデータ更新が発生する毎に、差分管理テーブルにデータ更新の更新位置を記録するステップと、
    前記マスタ論理ユニットと前記複数のバックアップ論理ユニットのうちの1つである第1のバックアップ論理ユニットとが同期化されている状態で前記ホスト計算機からスナップショット採取が指示されることにより当該同期化状態が停止された後に、前記ホスト計算機から前記複数のバックアップ論理ユニットのうちの他の1つである第2のバックアップ論理ユニットを前記マスタ論理ユニットに同期化することが指示された場合、前記第2のバックアップ論理ユニットを前記マスタ論理ユニットに同期化するためのコピー処理を実行するステップであって、前記差分管理テーブルによって示される更新位置のデータを、前記マスタ論理ユニットから前記第2のバックアップ論理ユニットにコピーする第1のコピーステップと、前記差分管理テーブルによって更新位置が示されていないデータを、前記第1のバックアップ論理ユニットから前記第2のバックアップ論理ユニットにコピーする第2のコピーステップとを含むステップと
    を実行させるためのディスクアレイ制御プログラム。
JP2003318409A 2003-09-10 2003-09-10 ディスクアレイコントローラ、ディスクアレイ装置及びディスクアレイ制御プログラム Expired - Fee Related JP3808851B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003318409A JP3808851B2 (ja) 2003-09-10 2003-09-10 ディスクアレイコントローラ、ディスクアレイ装置及びディスクアレイ制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003318409A JP3808851B2 (ja) 2003-09-10 2003-09-10 ディスクアレイコントローラ、ディスクアレイ装置及びディスクアレイ制御プログラム

Publications (2)

Publication Number Publication Date
JP2005085117A true JP2005085117A (ja) 2005-03-31
JP3808851B2 JP3808851B2 (ja) 2006-08-16

Family

ID=34417701

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003318409A Expired - Fee Related JP3808851B2 (ja) 2003-09-10 2003-09-10 ディスクアレイコントローラ、ディスクアレイ装置及びディスクアレイ制御プログラム

Country Status (1)

Country Link
JP (1) JP3808851B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007018312A (ja) * 2005-07-08 2007-01-25 Hitachi Ltd ディスクアレイ装置及びその制御方法
JP2008276563A (ja) * 2007-04-27 2008-11-13 Toshiba Corp ディスクアレイ装置及び管理方法
CN101840315A (zh) * 2010-06-17 2010-09-22 华中科技大学 一种磁盘阵列的数据组织方法
JP2012014286A (ja) * 2010-06-29 2012-01-19 Toshiba Corp ストレージシステム、同システムにおけるデータバックアップ方法及びデータバックアッププログラム
JP2012515969A (ja) * 2009-01-23 2012-07-12 エルエスアイ コーポレーション アロケートオンライトのスナップショットを用いた、ダイナミックストレージ階層化のための方法及びシステム
JP7309025B2 (ja) 2020-07-31 2023-07-14 株式会社日立製作所 ストレージシステム及びストレージシステムにおけるデータ複製方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007018312A (ja) * 2005-07-08 2007-01-25 Hitachi Ltd ディスクアレイ装置及びその制御方法
JP2008276563A (ja) * 2007-04-27 2008-11-13 Toshiba Corp ディスクアレイ装置及び管理方法
JP2012515969A (ja) * 2009-01-23 2012-07-12 エルエスアイ コーポレーション アロケートオンライトのスナップショットを用いた、ダイナミックストレージ階層化のための方法及びシステム
US8713267B2 (en) 2009-01-23 2014-04-29 Lsi Corporation Method and system for dynamic storage tiering using allocate-on-write snapshots
CN101840315A (zh) * 2010-06-17 2010-09-22 华中科技大学 一种磁盘阵列的数据组织方法
JP2012014286A (ja) * 2010-06-29 2012-01-19 Toshiba Corp ストレージシステム、同システムにおけるデータバックアップ方法及びデータバックアッププログラム
JP7309025B2 (ja) 2020-07-31 2023-07-14 株式会社日立製作所 ストレージシステム及びストレージシステムにおけるデータ複製方法

Also Published As

Publication number Publication date
JP3808851B2 (ja) 2006-08-16

Similar Documents

Publication Publication Date Title
US8103843B2 (en) Snapshot system
JP4472995B2 (ja) 増分不一致を使用するミラーコピーの生成方法
US6073221A (en) Synchronization of shared data stores through use of non-empty track copy procedure
JP2005202915A (ja) スナップショット取得方法
JP2006268829A (ja) ストレージシステム間でオブジェクトをミラー化する方法と装置
JP2004258944A (ja) ストレージ装置およびその管理方法
JP2014137711A (ja) ストレージ装置、バックアッププログラム、およびバックアップ方法
US7694172B2 (en) Data backup device, data backup method, and recording medium storing data backup program
JPS607818B2 (ja) フアイルのバツクアツプ方法
JP4908481B2 (ja) データ記憶装置及び筐体内レプリケーション方法
JP3808851B2 (ja) ディスクアレイコントローラ、ディスクアレイ装置及びディスクアレイ制御プログラム
JP2008090378A (ja) ハイブリッドファイルシステム、オペレーティングシステム、キャッシュ制御方法および記録媒体
JP3842772B2 (ja) ディスクアレイコントローラ、ディスクアレイ装置及びディスクアレイ制御プログラム
US20070271311A1 (en) Disk array device and data management method for managing master data and replication data replicated from master data
JP2003173240A (ja) 記憶装置システム及びそのデータバックアップ方法
JP2000339104A (ja) ディスクサブシステム及びデータ複写方法。
US20060143423A1 (en) Storage device, data processing method thereof, data processing program thereof, and data processing system
JP4131621B2 (ja) 分散ミラードディスクシステム
JP2009059444A (ja) 情報処理装置および情報処理方法
JP2006040065A (ja) データ記憶装置およびデータ記憶方法
JP3043662B2 (ja) データバックアップ方式
JPH08241220A (ja) 外部記憶装置のオンライン容量拡張方法
JP2002091807A (ja) 差分データ取得機能
JP2003345524A (ja) 記憶制御装置の制御方法及び記憶制御装置
JPH11345158A (ja) ダンプ取得方法及び制御装置並びに情報処理システム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A132

Effective date: 20060221

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060424

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: 20060516

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060518

LAPS Cancellation because of no payment of annual fees