説明

ディスクアレイ装置およびデータ管理方法

【課題】ディスクアレイ装置の立ち上げ後の再ミラー化時にも、複製データを短時間で作成することを可能にするディスクアレイ装置およびデータ管理方法を提供する。
【解決手段】更新管理テーブル保存制御部45は、キャッシュメモリ25に保存されている更新管理テーブルをシステムボリューム33に保存する。更新管理テーブル復帰制御部47は、装置立ち上げ指示を受け付けると、システムボリューム33に保存されている更新管理テーブルをキャッシュメモリ25に保存する。更新管理テーブル制御部42は、レプリケーションボリューム31に保存されている複製データのうち、キャッシュメモリ25に保存された更新管理テーブルが示す更新の差のみを更新する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ディスクアレイ装置およびデータ管理方法に関し、特には、マスターデータと、マスターデータの複製である複製データと、を管理するディスクアレイ装置およびデータ管理方法に関する。
【背景技術】
【0002】
従来、種々のディスクアレイ装置が知られている。
【0003】
特許文献1(特開2003−223284号公報)には、ディスク装置を追加してディスクアレイ装置の記憶容量を拡張する場合に、不揮発性メモリに容量拡張用の情報を格納することによって、データ損失を防ぐディスクアレイ装置が記載されている。
【0004】
また、特許文献2(特開平6−332777号公報)には、ジャーナルファイルを不揮発性メモリに格納し、電源断等の障害時にもジャーナルファイルからデータを復元してデータベースの整合性を維持するデータ管理システムが記載されている。
【0005】
また、特許文献3(特開2000−330730号公報)には、マスターボリューム内のマスターデータの複製データをコピーボリューム内に保存するディスクアレイ装置が記載されている。
【0006】
このディスクアレイ装置は、マスターデータと複製データとの更新の差分を表す更新履歴テーブルを、キャッシュメモリに格納する。このディスクアレイ装置は、その更新履歴テーブルを参照して、マスターデータおよび複製データにおいて、両データの差分のみを更新し、複製データとマスターデータとを同じ内容にする。
【0007】
なお、以下では、複製データとマスターデータとを同じ内容にする修理を「ミラー化」と称し、2回目以降の「ミラー化」を「再ミラー化」と称する。
【特許文献1】特開2003−223284号公報
【特許文献2】特開平6−332777号公報
【特許文献3】特開2000−330730号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
特許文献1および特許文献2には、複製データを短時間で作成するための技術は記載されていない。一方、特許文献3に記載されたディスクアレイ装置は、更新履歴テーブルを参照して、マスターデータおよび複製データのうち両データの差分のみを更新するため、短時間で複製データを作成できる。
【0009】
特許文献3に記載されたディスクアレイ装置は、更新履歴テーブルを、キャッシュメモリに格納する。キャッシュメモリ内のデータは、電源断等によりディスクアレイ装置の動作が停止すると、消去される。このため、このディスクアレイ装置では、ディスクアレイ装置の立ち上げ後の再ミラー化時には、更新履歴テーブルがなく、よって、マスターボリューム内のマスターデータ全体を、コピーボリューム内にコピーする必要があった。
【0010】
このため、ディスクアレイ装置の立ち上げ後の再ミラー化時には、複製データを短時間で作成できない。
【0011】
本発明の目的は、ディスクアレイ装置の立ち上げ後の再ミラー化時に、複製データを短時間で作成することを可能にするディスクアレイ装置およびデータ管理方法を提供することである。
【課題を解決するための手段】
【0012】
上記目的を達成するために、本発明のディスクアレイ装置は、ホストコンピュータにて更新されるマスターデータと、前記マスターデータの複製である複製データと、を管理するディスクアレイ装置であって、前記マスターデータを保存するマスターボリュームと、前記複製データを保存する複製ボリュームと、を含む複数のディスクと、前記マスターボリュームに保存されているマスターデータと前記複製ボリュームに保存されている複製データとの更新の差を表す更新差分情報を保存するキャッシュメモリと、不揮発性格納部と、前記キャッシュメモリに保存されている前記更新差分情報を、前記不揮発性格納部に保存する保存制御部と、前記ディスクアレイ装置を起動する旨の起動指示を受け付けると、前記不揮発性格納部に保存されている前記更新差分情報を、前記キャッシュメモリに保存する復帰制御部と、前記複製ボリュームに保存されている複製データのうち、前記キャッシュメモリに保存されている更新差分情報が示す前記更新の差のみを更新する情報制御部と、を含む。
【0013】
また、本発明のデータ管理方法は、ホストコンピュータにて更新されるマスターデータを保存するマスターボリュームおよび前記マスターデータの複製である複製データを保存する複製ボリュームを含む複数のディスクと、前記マスターボリュームに保存されているマスターデータと前記複製ボリュームに保存されている複製データとの更新の差を表す更新差分情報を保存するキャッシュメモリと、不揮発性格納部と、を含むディスクアレイ装置が行うデータ管理方法であって、前記キャッシュメモリに保存されている前記更新差分情報を、前記不揮発性格納部に保存する保存制御ステップと、前記ディスクアレイ装置を起動する旨の起動指示を受け付けると、前記不揮発性格納部に保存されている前記更新差分情報を、前記キャッシュメモリに保存する復帰制御ステップと、前記複製ボリュームに保存されている複製データのうち、前記キャッシュメモリに保存されている更新差分情報が示す前記更新の差のみを更新する情報制御ステップと、を含む。
【0014】
上記発明によれば、ディスクアレイ装置は、キャッシュメモリに保存されている更新差分情報を不揮発性格納部に保存し、起動指示を受け付けると、不揮発性格納部に保存されている更新差分情報をキャッシュメモリに保存する。ディスクアレイ装置は、複製ボリュームに保存されている複製データのうち、キャッシュメモリに保存された更新差分情報が示す更新の差のみを更新する。
【0015】
このため、ディスクアレイ装置の動作停止に伴い、キャッシュメモリ内の更新差分情報が消去されても、ディスクアレイ装置の起動時には、不揮発性格納部に保存されている更新差分情報がキャッシュメモリに展開される。
【0016】
よって、ディスクアレイ装置の立ち上げ後の再ミラー化時に、更新差分情報を用いることができる。このため、ディスクアレイ装置の立ち上げ後の再ミラー化時に、複製データのうち更新の差のみを更新することが可能となり、複製データを短時間で作成することが可能になる。
【0017】
なお、前記複製ボリュームに保存されている複製データは、さらに、前記ホストコンピュータにて更新され、前記情報制御部は、さらに、前記マスターボリュームに保存されているマスターデータのうち、前記キャッシュメモリに保存された更新差分情報が示す前記更新の差のみを更新することが望ましい。
【0018】
上記発明によれば、ディスクアレイ装置の立ち上げ後の再ミラー化時に、更新差分情報を用いることができ、マスターデータのうち更新の差のみを更新することが可能となる。したがって、ディスクアレイ装置の立ち上げ後の再ミラー化時に、複製データを短時間で作成することが可能になる。
【0019】
また、前記保存制御部は、前記ディスクアレイ装置を停止する旨の停止指示を受け付けると、前記キャッシュメモリに保存されている前記更新差分情報を、前記不揮発性格納部に保存することが望ましい。
【0020】
上記発明によれば、ディスクアレイ装置の停止に伴い、更新差分情報が消失することを防止できる。
【0021】
また、前記保存制御部は、前記マスターデータおよび前記複製データの両方が一定時間変更されずに保持されているか否かを検出し、該マスターデータおよび該複製データの両方が一定時間変更されずに保持されていると、前記キャッシュメモリに保存されている前記更新差分情報を、前記不揮発性格納部に保存することが望ましい。
【0022】
上記発明によれば、例えば、一定時間、マスターデータまたは複製データが更新されないときに、停電等の障害によってキャッシュメモリ内の更新差分情報が消失されても、ディスクアレイ装置の起動時に、不揮発性格納部から更新差分情報を読み取ることが可能となる。
【0023】
このため、ディスクアレイ装置の立ち上げ後の再ミラー化時に、更新差分情報を用いることができ、マスターデータのうち更新の差のみを更新することが可能となる。
【0024】
また、前記情報制御部は、前記ホストコンピュータからデータ更新指示を受け付けると、該データ更新指示に基づいて、前記キャッシュメモリに保存されている前記更新差分情報を更新し、かつ、前記マスターボリュームに保存されているマスターデータまたは前記複製ボリュームに保存されている複製データを更新し、前記保存制御部は、前記キャッシュメモリに保存されている更新差分情報が更新されると、該更新差分情報を、前記不揮発性格納部に保存することが望ましい。
【0025】
上記発明によれば、マスターデータまたは複製データが更新されるたびに、更新差分情報が、不揮発性格納部に保存される。
【0026】
このため、ディスクアレイ装置の障害により、キャッシュメモリ内の最新の更新差分情報が消失しても、ディスクアレイ装置の起動時に、その最新の更新差分情報を、不揮発性格納部から読み取ることが可能となる。
【0027】
したがって、ディスクアレイ装置の立ち上げ後の再ミラー化時に、更新差分情報を用いることができる。よって、ディスクアレイ装置の立ち上げ後の再ミラー化時に、複製データを短時間で作成することが可能になる。
【0028】
また、前記複数のディスクは、前記不揮発性格納部を含むことが望ましい。
【0029】
上記発明によれば、複数のディスクを、マスターボリューム、複製ボリュームおよび不揮発性格納部として用いることが可能となる。
【発明の効果】
【0030】
本発明によれば、ディスクアレイ装置の立ち上げ後の再ミラー化時に、複製データを短時間で作成することが可能になる。
【発明を実施するための最良の形態】
【0031】
以下、本発明の実施例を図面を参照して説明する。
【0032】
図1は、本発明の一実施例のディスクアレイ装置のハードウェア構成を示したブロック図である。
【0033】
図1において、ディスクアレイ装置1は、ホストコンピュータ10と接続され、また、ディスクアレイコントローラ20と、ディスク30〜33と、を含む。
【0034】
ディスクアレイコントローラ20は、ホストコンピュータ10とディスク30〜33との間に設けられる。ディスクアレイコントローラ20は、インタフェースチップ21と、メモリコントローラ22と、マイクロプロセッサ23と、ローカルメモリ24と、キャッシュメモリ25と、インタフェースチップ26と、を含む。
【0035】
ディスク30は、ホストコンピュータ10にて更新されるマスターデータを保存するマスターボリュームとして用いられる。
【0036】
ディスク31は、マスターデータの複製である複製データを保存するレプリケーションボリュームとして用いられる。
【0037】
ディスク32は、種々のデータを保存する。
【0038】
ディスク33は、システムボリューム(不揮発性格納部)として用いられる。
【0039】
インタフェースチップ21は、SCSI(Small Computer System Interface)またはファイバチャネルのような汎用バスで、ホストコンピュータ10と接続する。
【0040】
インタフェースチップ26は、SCSIまたはファイバチャネルのような汎用バスで、ディスク30〜33と接続する。
【0041】
キャッシュメモリ25は、インタフェースチップ21および26の間で通信されるリードデータおよびライトデータを格納する。また、キャッシュメモリ25は、マスターボリューム30に保存されているマスターデータとレプリケーションボリューム31に保存されている複製データとの更新の差を表す更新管理テーブル(更新差分情報)を保存する。
【0042】
メモリコントローラ22は、キャッシュメモリ25を制御する。
【0043】
マイクロプロセッサ23は、ディスクアレイコントローラ20を総括的に制御する。
【0044】
ローカルメモリ24は、例えば、マイクロプロセッサ23にて使用されるマイクロコードおよび制御情報を格納する。
【0045】
なお、本実施例では、4台のディスク30〜33が用いられているが、ディスクの台数は4台に限らず適宜変更可能である。
【0046】
図2は、ディスクアレイ装置1の機能的な構成を示したブロック図である。なお、図2において、図1に示したものと同一のものには同一符号を付してある。
【0047】
図2において、ディスクアレイコントローラ20は、ホストIO受信部40と、排他制御部41と、更新管理テーブル制御部42と、リード/ライト制御部43と、装置停止指示検出部44と、更新管理テーブル保存制御部45と、装置立ち上げ指示検出部46と、更新管理テーブル復帰制御部47と、システムボリューム制御部48と、キャッシュメモリ25と、を含む。
【0048】
ホストIO受信部40は、ホストコンピュータ10と通信する。
【0049】
装置停止指示検出部44は、装置停止指示を検出する。なお、装置停止指示は、ディスクアレイ装置1を停止する旨の停止指示の一例である。
【0050】
装置立ち上げ指示検出部46は、装置立ち上げ指示を検出する。なお、装置立ち上げ指示は、ディスクアレイ装置1を起動する旨の起動指示の一例である。
【0051】
リード/ライト制御部43は、ディスク30〜32を制御する。
【0052】
システムボリューム制御部48は、システムボリューム33を制御する。
【0053】
排他制御部41は、ホストIO処理と、装置停止指示による処理と、装置立ち上げ指示による処理とを、排他的に制御する。
【0054】
更新管理テーブル制御部42は、ホストIO処理時に、キャッシュメモリ25内の更新管理テーブルの参照および更新を制御する。
【0055】
また、更新管理テーブル制御部42は、情報制御部の一例であり、レプリケーションボリューム31に保存されている複製データのうち、キャッシュメモリ25に保存された更新管理テーブルが示す更新の差のみを更新する。なお、更新管理テーブル制御部42は、マスターボリューム30に保存されているマスターデータのうち、キャッシュメモリ25に保存された更新管理テーブルが示す更新の差のみを更新してもよい。
【0056】
更新管理テーブル保存制御部45は、保存制御部の一例であり、装置停止指示による処理時に、キャッシュメモリ25から更新管理テーブルを読み出し、システムボリューム制御部48を用いて、その更新管理テーブルをシステムボリューム33に保存する。
【0057】
更新管理テーブル復帰制御部47は、復帰制御部の一例であり、装置立ち上げ指示による処理時に、システムボリューム制御部48を用いて、システムボリューム33から更新管理テーブルを読み出し、その更新管理テーブルをキャッシュメモリ25に書き込む。
【0058】
次に、動作を説明する。
【0059】
まず、データレプリケーションについて説明する。データレプリケーションは、ディスクアレイ装置1がホストコンピュータ10にて運用されているときに、マスターボリューム30の複製を作成する機能である。
【0060】
ディスクアレイ装置1は、ディスク30を、ホストコンピュータ10にて使用されるマスターボリューム30として用い、また、ディスク31を、マスターボリューム30内のデータの複製を格納するためのレプリケーションボリューム31として用いる。
【0061】
マスターボリューム30およびレプリケーションボリューム31は、複数のブロックに分割され、ブロック単位でデータを管理する。また、マスターボリューム30の各ブロックは、レプリケーションボリューム31の各ブロックと、1対1で対応している。
【0062】
ディスクアレイコントローラ20は、データレプリケーション運用時に、マスターボリューム30とレプリケーションボリューム31を関連付ける。この関連付けは、例えば、以下のように行われる。
【0063】
マスターボリューム30とレプリケーション31とが分離されているときに、ホストIO受信部40が、ホストコンピュータ10からミラー化指示を受け付けると、ホストIO受信部40は、そのミラー化指示を排他制御部41に提供する。
【0064】
排他制御部41は、ミラー化指示を受け付けると、ミラー化指示を更新管理テーブル制御部42に提供する。
【0065】
更新管理テーブル制御部42は、ミラー化指示を受け付けると、処理をミラー化中にし、マスターボリューム30とレプリケーションボリューム31とを関連付けられる。この関連づけにより、マスターボリューム30とレプリケーションボリューム31との関係は、図3に示した状態から図4に示した状態に変化する。
【0066】
この関連付け時に、更新管理テーブル制御部42は、マスターボリューム30用の更新管理テーブルAと、レプリケーションボリューム31用の更新管理テーブルBとを、キャッシュメモリ25に作成する。
【0067】
図5は、更新管理テーブルの一例を示した説明図である。
【0068】
図5において、更新管理テーブルには、ボリューム内の各ブロック(アドレス)と、各ブロックに対応するフラグ5bとが示される。
【0069】
更新管理テーブル制御部42は、最初のミラー化時(ミラー化指示を受け付けたとき)、更新管理テーブルA内のすべてのフラグをON状態にし、更新管理テーブルB内のすべてのフラグをOFF状態にする。
【0070】
その後、更新管理テーブル制御部42は、リード/ライト制御部43を制御して、キャッシュメモリ25内の更新管理テーブルAのフラグがON状態となっているマスターボリューム30のブロックのデータをコピーし、そのデータを、そのブロックに対応するレプリケーションボリューム31のブロックに書き込む。
【0071】
この場合、更新管理テーブルA内のすべてのフラグがON状態なので、更新管理テーブル制御部42は、マスターボリューム30内のすべてのデータを、レプリケーションボリューム31にコピーする。このため、最初のミラー化が完了する。
【0072】
その後、ホストIO受信部40が、ホストコンピュータ10から分離指示を受け付けると、ホストIO受信部40は、その分離指示を排他制御部41に提供する。
【0073】
排他制御部41は、分離指示を受け付けると、更新管理テーブル制御部42に分離指示を提供する。
【0074】
更新管理テーブル制御部42は、分離指示を受け付けると、マスターボリューム30とレプリケーションボリューム31との関連付けを解消して、マスターボリューム30からレプリケーションボリューム31を分離する(図3参照)。
【0075】
なお、図3および図4に示されたデータは、例えば、更新管理テーブル制御部42によって、キャッシュメモリ25に保存される。
【0076】
図6は、ミラー化動作を説明するためのフローチャートである。以下、図6を参照してミラー化動作を説明する。
【0077】
まず、ステップS601では、更新管理テーブル制御部42は、現在の処理がミラー化中か否かを判断する。更新管理テーブル制御部42は、現在の処理がミラー化中であると、ステップS602を実行し、現在の処理がミラー化中でないと、ミラー化動作を終了する。
【0078】
ステップS602では、更新管理テーブル制御部42は、更新管理テーブルAのフラグの中でON状態のものがあるか判断する。更新管理テーブル制御部42は、ON状態である更新管理テーブルAのフラグがあると、ステップS603を実行し、ON状態である更新管理テーブルAのフラグがないと、ミラー化動作を終了する。
【0079】
ステップS603では、更新管理テーブル制御部42は、リード/ライト制御部43を制御して、更新管理テーブルAのフラグがON状態となっているマスターボリューム30のブロックのデータをコピーし、そのデータを、そのブロックに対応するレプリケーションボリューム31のブロックに書き込む。その後、更新管理テーブル制御部42は、ステップS604を実行する。
【0080】
ステップS604では、更新管理テーブル制御部42は、更新管理テーブルAのフラグをOFF状態にして、ミラー化動作を終了する。
【0081】
図7は、データライト時の動作を説明するためのフローチャートである。以下、図7を参照して、データライト時の動作を説明する。
【0082】
ホストIO受信部40は、ホストコンピュータ10からライト指示(ホストデータを含む)を受け付けると、そのライト指示を排他制御部41に提供する。排他制御部41は、ライト指示を受け付けると、そのライト指示を更新管理テーブル制御部42に提供する。
【0083】
更新管理テーブル制御部42は、ライト指示を受け付けると、ステップS701を実行する。
【0084】
ステップS701では、更新管理テーブル制御部42は、そのライト指示がマスターボリューム30へのアクセスか判断する。更新管理テーブル制御部42は、そのライト指示がマスターボリューム30へのアクセスであると、ステップS702を実行し、そのライト指示がマスターボリューム30へのアクセスでないと、ステップS703を実行する。
【0085】
ステップS702では、更新管理テーブル制御部42は、現在の処理がミラー化中か否か判断する。更新管理テーブル制御部42は、現在の処理がミラー化中であると、ステップS704を実行し、現在の処理がミラー化中でないと、ステップS705を実行する。
【0086】
ステップS704では、更新管理テーブル制御部42は、マスターボリューム30とレプリケーションボリューム31に、ホストデータを書き込む。このため、ミラー化中に、ホストコンピュータ10からマスターボリューム30にデータがライトされても、そのデータ更新がレプリケーションボリューム31に反映され、マスターボリューム30のマスターデータと、レプリケーションボリューム31の複製データが一致する。
【0087】
ステップS705では、更新管理テーブル制御部42は、更新管理テーブルA内のフラグのうち、ホストコンピュータ10にてアクセスされたマスターボリューム30のブロックに対応するフラグをON状態に変更する。その後、更新管理テーブル制御部42は、ステップS706を実行する。
【0088】
ステップS706では、更新管理テーブル制御部42は、ホストコンピュータ10にてアクセスされたマスターボリューム30のブロックに、ホストデータを書き込む。
【0089】
一方、ステップS703では、更新管理テーブル制御部42は、そのライト指示がレプリケーションボリューム31へのアクセスか判断する。更新管理テーブル制御部42は、そのライト指示がレプリケーションボリューム31へのアクセスであると、ステップS707を実行し、そのライト指示がレプリケーションボリューム31へのアクセスでないと、ステップS708を実行する。
【0090】
ステップS707では、更新管理テーブル制御部42は、更新管理テーブルB内のフラグのうち、ホストコンピュータ10にてアクセスされたレプリケーションボリューム31のブロックに対応するフラグをON状態に変更する。その後、更新管理テーブル制御部42は、ステップS709を実行する。
【0091】
ステップS709では、更新管理テーブル制御部42は、ホストコンピュータ10にてアクセスされたレプリケーションボリューム31のブロックに、ホストデータを書き込む。
【0092】
一方、ステップS708では、更新管理テーブル制御部42は、ホストコンピュータ10にてアクセスされたボリューム(例えば、ディスク32)にホストデータを書き込む。
【0093】
次に、再ミラー化動作を説明する。
【0094】
ホストIO受信部40は、ホストコンピュータ10から再ミラー化指示を受け付けると、その再ミラー化指示を排他制御部41に提供する。排他制御部41は、再ミラー化指示を受け付けると、その再ミラー化指示を、更新管理テーブル制御部42に提供する。
【0095】
更新管理テーブル制御部42は、再ミラー化指示を受け付けると、処理をミラー化中にし、図6に示したミラー化動作を実行する。
【0096】
なお、更新管理テーブル制御部42は、図6に示したミラー化動作を終了する前に、以下の動作を行うことが望ましい。
【0097】
更新管理テーブル制御部42は、更新管理テーブルBのフラグの中でON状態のものがあるか判断する。
【0098】
更新管理テーブル制御部42は、ON状態である更新管理テーブルBのフラグがあると、リード/ライト制御部43を制御して、更新管理テーブルBのフラグがON状態となっているレプリケーションボリューム31のブロックのデータをコピーし、そのデータを、そのブロックに対応するマスターボリューム30のブロックに書き込む。
【0099】
その後、更新管理テーブル制御部42は、更新管理テーブルBのフラグをOFF状態にして、ミラー化動作を終了する。
【0100】
再ミラー化時では、更新管理テーブルのフラグのうち、ホストコンピュータ10にてデータが更新されたブロックのフラグだけがON状態となっているため、更新されたブロックのデータのみがコピーされる。よって、データ更新の時間を短縮することが可能となる。
【0101】
ここで、更新管理テーブルは、マスターボリューム30とレプリケーションボリューム31とが分離状態である状況下で更新されたブロックを示しており、この更新管理テーブルは、キャッシュメモリ25に保存されている。
【0102】
キャッシュメモリ25が、その更新管理テーブルを保存している状態で、電源断等によりディスクアレイ装置1が停止され、その後、ディスクアレイ装置1が立ち上げられると、キャッシュメモリ25は初期化されてしまい、更新管理テーブル制御部42は、更新管理テーブルのすべてのフラグをON状態にする。この状態から、再ミラー化指示が行われると、マスターボリューム30内のマスターデータ全体を、レプリケーションボリューム31にコピーしてしまうことになる。
【0103】
そこで、ディスクアレイ装置1は、再ミラー化指示時に、マスターボリューム内のマスターデータ全体をコピーしないために、ディスクアレイ装置1の停止時に、キャッシュメモリ25内の更新管理テーブルを、システムディスク領域(システムボリューム33)に保存する。
【0104】
図8は、装置停止時の動作を説明するためのフローチャートである。以下、図8を参照して装置停止時の動作を説明する。
【0105】
装置停止指示検出部44は、装置停止指示を検出すると、その装置停止指示を排他制御部41に提供する。
【0106】
排他制御部41は、装置停止指示を受け付けると、ステップS100を実行する。
【0107】
ステップS100では、排他制御部41は、ホストコンピュータ10からのアクセスを禁止状態にして、マスターボリューム30およびレプリケーションボリューム31のデータが更新されない状態にする。
【0108】
その後、排他制御部41は、装置停止指示を更新管理テーブル保存制御部45に提供する。更新管理テーブル保存制御部45は、装置停止指示を受け付けると、ステップS101を実行する。
【0109】
ステップS101では、更新管理テーブル保存制御部45は、複数のディスク30〜33に搭載されている1つのボリュームを選択し、そのボリュームが、マスターボリュームまたはレプリケーションボリュームであるか判断する。
【0110】
なお、この判断を実行するための情報(図3または図4に示した情報)は、例えば、図1に示したキャッシュメモリ25およびローカルメモリ24に保存されており、更新管理テーブル保存制御部45は、キャッシュメモリ25またはローカルメモリ24から、その情報を読み取って、ステップS101を実行する。
【0111】
更新管理テーブル保存制御部45は、そのボリュームがマスターボリュームまたはレプリケーションボリュームであると、ステップS102を実行し、そのボリュームがマスターボリュームでもなくレプリケーションボリュームでもないと、ステップS103を実行する。
【0112】
ステップS102では、更新管理テーブル保存制御部45は、キャッシュメモリ25から更新管理テーブルの情報を読み出す。その後、更新管理テーブル保存制御部45は、その更新管理テーブルの情報を、マスターボリューム30とレプリケーションボリューム31の関連付け情報、および、その状態(図3および図4参照)と併せて、システムボリューム33に保存する処理を、システムボリューム制御部48に実行させる。その後、更新管理テーブル保存制御部45は、ステップS103を実行する。
【0113】
なお、マスターボリューム30とレプリケーションボリューム31の関連付け情報、および、その状態(図3および図4参照)が、例えば、キャッシュメモリ25に保存されている場合は、更新管理テーブル保存制御部45は、キャッシュメモリ25からそれらの情報を読み出し、システムボリューム制御部48に、それらの情報をシステムボリューム33に保存させる。
【0114】
ステップS103では、更新管理テーブル保存制御部45は、複数のディスク30〜33に搭載されているすべてのボリュームについてステップS101を実行したか判断し、すべてのボリュームについてステップS101を実行していないと、ステップS101を実行し、すべてのボリュームについてステップS101を実行して場合、動作を終了する。
【0115】
図9は、装置立ち上げ時の動作を説明するためのフローチャートである。以下、図9を参照して、装置立ち上げ時の動作を説明する。
【0116】
装置立ち上げ指示検出部46は、装置立ち上げ指示を検出すると、その装置立ち上げ指示を排他制御部41に提供する。
【0117】
排他制御部41は、装置立ち上げ指示を受け付けると、ホストコンピュータ10からのアクセスを禁止状態にして、マスターボリューム30およびレプリケーションボリューム31のデータが更新されない状態にする。
【0118】
その後、排他制御部41は、装置立ち上げ指示を更新管理テーブル復帰制御部47に提供する。更新管理テーブル復帰制御部47は、装置立ち上げ指示を受け付けると、ステップS110を実行する。
【0119】
ステップS110では、更新管理テーブル復帰制御部47は、複数のディスク30〜33に搭載されている1つのボリュームを選択し、そのボリュームが、マスターボリュームまたはレプリケーションボリュームであるか判断する。
【0120】
なお、この判断を実行するための情報(例えば、図3または図4に示した情報)は、例えば、図1に示したキャッシュメモリ25およびローカルメモリ24に保存されており、更新管理テーブル保存制御部45は、ローカルメモリ24から、その情報を読み取って、ステップS110を実行する。
【0121】
更新管理テーブル復帰制御部47は、そのボリュームがマスターボリュームまたはレプリケーションボリュームであると、ステップS111を実行し、そのボリュームがマスターボリュームでもなくレプリケーションボリュームでもないと、ステップS112を実行する。
【0122】
ステップS111では、更新管理テーブル復帰制御部47は、システムボリューム33に保存されている、マスターボリューム30とレプリケーションボリューム31の関連付け情報、その状態、および、更新管理テーブルの情報を読み出してキャッシュメモリ25に展開する処理を、システムボリューム制御部48に実行させる。その後、更新管理テーブル復帰制御部47は、ステップS112を実行する。
【0123】
ステップS112では、更新管理テーブル復帰制御部47は、複数のディスク30〜33に搭載されているすべてのボリュームについてステップS110を実行したか判断し、すべてのボリュームについてステップS110を実行していないと、ステップS110を実行し、すべてのボリュームについてステップS110を実行して場合、動作を終了する。
【0124】
すべての読み出しが完了すると、排他制御部41は、ホストコンピュータ10からのアクセス禁止状態を解除する。このため、ホストコンピュータ10からのアクセスが可能な状態となり、通常の運用が可能となる。
【0125】
本実施例によれば、更新管理テーブル保存制御部45は、装置停止時に、キャッシュメモリ25内の更新管理テーブルをシステムボリューム33に保存し、また、更新管理テーブル復帰制御部47は、装置立ち上げ時に、システムボリューム33から更新管理テーブルを読み出して、その更新管理テーブルをキャッシュメモリ25に保存する。
【0126】
このため、ディスクアレイ装置1の動作停止に伴い、キャッシュメモリ25内の更新管理テーブルが消去されても、ディスクアレイ装置1の起動時には、システムボリューム33に保存されている更新管理テーブルがキャッシュメモリ25に展開される。
【0127】
よって、ディスクアレイ装置1の立ち上げ後の再ミラー化時に、更新管理テーブルを用いることができる。このため、ディスクアレイ装置の立ち上げ後の再ミラー化時に、最小限のコピーのみの実施でミラー化が実施でき、複製データおよび/またはマスターデータを短時間で作成することが可能になる。
【0128】
また、本実施例では、更新管理テーブル保存制御部45は、装置停止指示を受け付けると、キャッシュメモリ25に保存されている更新管理テーブルを、システムボリューム33に保存する。
【0129】
この場合、ディスクアレイ装置1の停止に伴い、更新管理テーブルが消失することを防止できる。
【0130】
なお、更新管理テーブル保存制御部45は、例えば、以下のような機能をさらに有してもよい。
【0131】
図10は、更新管理テーブル保存制御部45の追加機能、具体的には、マスターボリューム30またはレプリケーションボリューム31に、一定期間、データのライトが実施されない状態を定期的に監視する監視タスクを説明するためのフローチャートである。
【0132】
なお、図10において、図8に示した処理と同一の処理には同一符号を付してある。以下、図8の処理と異なる点を中心に動作を説明する。
【0133】
ステップS101およびS121では、更新管理テーブル保存制御部45は、マスターボリューム30またはレプリケーションボリューム31に、一定期間、データの書き込み(ライト)が実施されない状態を定期的に監視する。
【0134】
更新管理テーブル保存制御部45は、マスターボリューム30またはレプリケーションボリューム31に、一定期間、データのライトが実施されないと、ステップS102を実行して、その時点の更新管理テーブルの情報をシステムボリューム33に保存する。
【0135】
この場合、長時間ライトが無い状態で、停電などの装置障害によりキャッシュメモリ25内の更新管理テーブルが消失しても、装置立ち上げ時に、システムボリューム33から更新管理テーブルを読み込み、その更新管理テーブルをキャッシュメモリ25に復帰することができる。このため、再ミラー化時に最小限のコピーのみでミラー化が実施できる。
【0136】
図11および図12は、更新管理テーブル制御部42および更新管理テーブル保存制御部45の変形例を説明するためのフローチャートである。
【0137】
なお、図11において、図7に示した処理と同一の処理には同一符号を付してあり、また、図12において、図6に示した処理と同一の処理には同一符号を付してある。以下、以下、図7および図6の処理と異なる点を中心に動作を説明する。
【0138】
図11において、ステップS705Aは、図7に示したステップS705の代わりに実行され、ステップS707Aは、図7に示したステップS707の代わりに実行される。
【0139】
ステップS705Aでは、更新管理テーブル制御部42は、更新管理テーブルA内のフラグのうち、ホストコンピュータ10にてアクセスされたマスターボリューム30のブロックに対応するフラグをON状態に変更する。その後、更新管理テーブル制御部42は、更新管理テーブルAをシステムボリューム33に保存する処理を、更新管理テーブル保存制御部45に実行させる。その後、更新管理テーブル制御部42は、ステップS706を実行する。
【0140】
ステップS707Aでは、更新管理テーブル制御部42は、更新管理テーブルB内のフラグのうち、ホストコンピュータ10にてアクセスされたレプリケーションボリューム31のブロックに対応するフラグをON状態に変更する。その後、更新管理テーブル制御部42は、更新管理テーブルBをシステムボリューム33に保存する処理を、更新管理テーブル保存制御部45に実行させる。その後、更新管理テーブル制御部42は、ステップS709を実行する。
【0141】
また、図12において、ステップS604Aは、図6に示したステップS604の代わりに実行される。
【0142】
ステップS604Aでは、更新管理テーブル制御部42は、更新管理テーブルAのフラグをOFF状態にして、その後、更新管理テーブルAをシステムボリューム33に保存する処理を更新管理テーブル保存制御部45に実行させ、その後、ミラー化動作を終了する。
【0143】
この場合、ミラー化していない状態時の更新管理テーブルのフラグ情報が更新されるたびに、更新管理テーブル保存制御部45が、フラグ情報が更新された更新管理テーブルをシステムボリューム33に保存してから、更新管理テーブル制御部42が、ホストデータを書き込む。
【0144】
このため、装置障害によりキャッシュメモリ25内の更新管理テーブルが消失した場合でも、装置障害発生時までの更新管理テーブルがシステムボリューム33に保存されている。よって、更新管理テーブル復帰制御部47が、システムボリューム33に保存されている更新管理テーブルを、図9に示した手順でキャッシュメモリ25に展開することにより、キャッシュメモリ25内の更新管理テーブルを、装置障害発生前の状態とすることができる。
【0145】
したがって、ディスクアレイ装置1の立ち上げ後の再ミラー化時にも、複製データを短時間で作成することが可能になる。
【0146】
さらに、図1では、マスターボリューム、レプリケーションボリューム、および、システムボリュームのそれぞれは、1台のディスクであるが、それらは、RAIDを構成しているディスクでも実施可能である。
【0147】
また、図1では、更新管理テーブルがシステムボリュームに保存されるが、マスターボリュームまたはレプリケーションのボリュームとして使用されているディスクの空きエリアに、更新管理テーブルが保存されてもよい。また、他のコンパクトフラッシュメモリなどの不揮発なメモリに、更新管理テーブルが保存されてもよい。
【0148】
以上説明した実施例において、図示した構成は単なる一例であって、本発明はその構成に限定されるものではない。
【図面の簡単な説明】
【0149】
【図1】本発明の一実施例のディスクアレイ装置のハードウェア構成を示したブロック図である。
【図2】ディスクアレイ装置1の機能的な構成を示したブロック図である。
【図3】レプリケーション時の各ボリュームの状態を示した説明図である。
【図4】レプリケーション時の各ボリュームの状態を示した説明図である。
【図5】更新管理テーブルの一例を示した説明図である。
【図6】ミラー化動作を説明するためのフローチャートである。
【図7】データライト時の動作を説明するためのフローチャートである。
【図8】装置停止時の動作を説明するためのフローチャートである。
【図9】装置立ち上げ時の動作を説明するためのフローチャートである。
【図10】監視タスクを説明するためのフローチャートである。
【図11】更新管理テーブル制御部42および更新管理テーブル保存制御部45の変形例を説明するためのフローチャートである。
【図12】更新管理テーブル制御部42および更新管理テーブル保存制御部45の変形例を説明するためのフローチャートである。
【符号の説明】
【0150】
1 ディスクアレイ装置
10 ホストコンピュータ
20 ディスクアレイコントローラ
21 インタフェースチップ
22 メモリコントローラ
23 マイクロプロセッサ
24 ローカルメモリ
25 キャッシュメモリ
26 インタフェースチップ
30〜33 ディスク
40 ホストIO受信部
41 排他制御部
42 更新管理テーブル制御部
43 リード/ライト制御部43
44 装置停止指示検出部
45 更新管理テーブル保存制御部
46 装置立ち上げ指示検出部
47 更新管理テーブル復帰制御部
48 システムボリューム制御部

【特許請求の範囲】
【請求項1】
ホストコンピュータにて更新されるマスターデータと、前記マスターデータの複製である複製データと、を管理するディスクアレイ装置であって、
前記マスターデータを保存するマスターボリュームと、前記複製データを保存する複製ボリュームと、を含む複数のディスクと、
前記マスターボリュームに保存されているマスターデータと前記複製ボリュームに保存されている複製データとの更新の差を表す更新差分情報を保存するキャッシュメモリと、
不揮発性格納部と、
前記キャッシュメモリに保存されている前記更新差分情報を、前記不揮発性格納部に保存する保存制御部と、
前記ディスクアレイ装置を起動する旨の起動指示を受け付けると、前記不揮発性格納部に保存されている前記更新差分情報を、前記キャッシュメモリに保存する復帰制御部と、
前記複製ボリュームに保存されている複製データのうち、前記キャッシュメモリに保存されている更新差分情報が示す前記更新の差のみを更新する情報制御部と、を含むディスクアレイ装置。
【請求項2】
請求項1に記載のディスクアレイ装置において、
前記複製ボリュームに保存されている複製データは、さらに、前記ホストコンピュータにて更新され、
前記情報制御部は、さらに、前記マスターボリュームに保存されているマスターデータのうち、前記キャッシュメモリに保存された更新差分情報が示す前記更新の差のみを更新する、ディスクアレイ装置。
【請求項3】
請求項1または2に記載のディスクアレイ装置において、
前記保存制御部は、前記ディスクアレイ装置を停止する旨の停止指示を受け付けると、前記キャッシュメモリに保存されている前記更新差分情報を、前記不揮発性格納部に保存する、ディスクアレイ装置。
【請求項4】
請求項1または2に記載のディスクアレイ装置において、
前記保存制御部は、前記マスターデータおよび前記複製データの両方が一定時間変更されずに保持されているか否かを検出し、該マスターデータおよび該複製データの両方が一定時間変更されずに保持されていると、前記キャッシュメモリに保存されている前記更新差分情報を、前記不揮発性格納部に保存する、ディスクアレイ装置。
【請求項5】
請求項2に記載のディスクアレイ装置において、
前記情報制御部は、前記ホストコンピュータからデータ更新指示を受け付けると、該データ更新指示に基づいて、前記キャッシュメモリに保存されている前記更新差分情報を更新し、かつ、前記マスターボリュームに保存されているマスターデータまたは前記複製ボリュームに保存されている複製データを更新し、
前記保存制御部は、前記キャッシュメモリに保存されている更新差分情報が更新されると、該更新差分情報を、前記不揮発性格納部に保存する、ディスクアレイ装置。
【請求項6】
請求項1ないし5のいずれか1項に記載のディスクアレイ装置において、
前記複数のディスクは、前記不揮発性格納部を含む、ディスクアレイ装置。
【請求項7】
ホストコンピュータにて更新されるマスターデータを保存するマスターボリュームおよび前記マスターデータの複製である複製データを保存する複製ボリュームを含む複数のディスクと、前記マスターボリュームに保存されているマスターデータと前記複製ボリュームに保存されている複製データとの更新の差を表す更新差分情報を保存するキャッシュメモリと、不揮発性格納部と、を含むディスクアレイ装置が行うデータ管理方法であって、
前記キャッシュメモリに保存されている前記更新差分情報を、前記不揮発性格納部に保存する保存制御ステップと、
前記ディスクアレイ装置を起動する旨の起動指示を受け付けると、前記不揮発性格納部に保存されている前記更新差分情報を、前記キャッシュメモリに保存する復帰制御ステップと、
前記複製ボリュームに保存されている複製データのうち、前記キャッシュメモリに保存されている更新差分情報が示す前記更新の差のみを更新する情報制御ステップと、を含むデータ管理方法。
【請求項8】
請求項7に記載のデータ管理方法において、
前記複製ボリュームに保存されている複製データは、さらに、前記ホストコンピュータにて更新され、
前記情報制御ステップでは、さらに、前記マスターボリュームに保存されているマスターデータのうち、前記キャッシュメモリに保存された更新差分情報が示す前記更新の差のみを更新する、データ管理方法。
【請求項9】
請求項7または8に記載のデータ管理方法において、
前記保存制御ステップでは、前記ディスクアレイ装置を停止する旨の停止指示を受け付けると、前記キャッシュメモリに保存されている前記更新差分情報を、前記不揮発性格納部に保存する、データ管理方法。
【請求項10】
請求項7または8に記載のデータ管理方法において、
前記保存制御ステップでは、前記マスターデータおよび前記複製データの両方が一定時間変更されずに保持されているか否かを検出し、該マスターデータおよび該複製データの両方が一定時間変更されずに保持されていると、前記キャッシュメモリに保存されている前記更新差分情報を、前記不揮発性格納部に保存する、データ管理方法。
【請求項11】
請求項8に記載のデータ管理方法において、
前記ホストコンピュータからデータ更新指示を受け付けると、該データ更新指示に基づいて、前記キャッシュメモリに保存されている前記更新差分情報を更新し、かつ、前記マスターボリュームに保存されているマスターデータまたは前記複製ボリュームに保存されている複製データを更新する更新ステップをさらに含み、
前記保存制御ステップでは、前記キャッシュメモリに保存されている更新差分情報が更新されると、該更新差分情報を、前記不揮発性格納部に保存する、データ管理方法。
【請求項12】
請求項7ないし11のいずれか1項に記載のデータ管理方法において、
前記複数のディスクは、前記不揮発性格納部を含む、データ管理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2007−310548(P2007−310548A)
【公開日】平成19年11月29日(2007.11.29)
【国際特許分類】
【出願番号】特願2006−137598(P2006−137598)
【出願日】平成18年5月17日(2006.5.17)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.コンパクトフラッシュ
【出願人】(000004237)日本電気株式会社 (19,353)
【出願人】(390001395)NECシステムテクノロジー株式会社 (438)
【Fターム(参考)】