JP2006277042A - アレイコントローラ、ディスクアレイ制御方法及びプログラム - Google Patents
アレイコントローラ、ディスクアレイ制御方法及びプログラム Download PDFInfo
- Publication number
- JP2006277042A JP2006277042A JP2005091999A JP2005091999A JP2006277042A JP 2006277042 A JP2006277042 A JP 2006277042A JP 2005091999 A JP2005091999 A JP 2005091999A JP 2005091999 A JP2005091999 A JP 2005091999A JP 2006277042 A JP2006277042 A JP 2006277042A
- Authority
- JP
- Japan
- Prior art keywords
- data
- write
- disk
- array
- cache memory
- 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.)
- Pending
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
【課題】ディスクアレイのデータの保全性を維持しながら、ディスクアレイ全体のデータ書き込みに要する時間を短縮できるようにする。
【解決手段】ディスクアレイ10は、それぞれライトキャッシュメモリ110a乃至113aを有するHDD110乃至113から構成される。HDD110及び111はホスト30から要求されたデータを格納し、HDD112及び113はホスト30から要求されたデータの冗長データを格納するのに用いられる。アレイコントローラ20のWC制御部22は、ディスクアレイ10のHDD110乃至113のうち、冗長データを格納するのに用いられるHDD112及び113のみをライトバックモードに設定する。これにより、HDD112及び113へのデータ(冗長データ)書き込みは、当該HDD112及び113のライトキャッシュメモリに冗長データが書き込まれた段階で完了する。
【選択図】図1
【解決手段】ディスクアレイ10は、それぞれライトキャッシュメモリ110a乃至113aを有するHDD110乃至113から構成される。HDD110及び111はホスト30から要求されたデータを格納し、HDD112及び113はホスト30から要求されたデータの冗長データを格納するのに用いられる。アレイコントローラ20のWC制御部22は、ディスクアレイ10のHDD110乃至113のうち、冗長データを格納するのに用いられるHDD112及び113のみをライトバックモードに設定する。これにより、HDD112及び113へのデータ(冗長データ)書き込みは、当該HDD112及び113のライトキャッシュメモリに冗長データが書き込まれた段階で完了する。
【選択図】図1
Description
本発明は、ライトキャッシュメモリを有する複数のディスクドライブから構成される冗長性を持つ少なくとも1つのディスクアレイを制御するのに好適な、アレイコントローラ、ディスクアレイ制御方法及びプログラムに関する。
近年のディスクドライブ、例えばハードディスクドライブ(HDD)は、ディスクへのアクセスを制御するコントローラ(ディスクコントローラ)内にキャッシュ(ライトキャッシュメモリ)を有しているのが一般的である(例えば、特許文献1参照)。このキャッシュは、ライトバックモード及びライトスルーモードの中から選択されたモードで用いられる。ライトバックモードとは、ホストシステム(ホストコンピュータ)からHDDのコントローラにデータの書き込みが要求されたときに、当該コントローラが要求されたデータをキャッシュに書き込んだ時点でホストシステムに書き込み完了を通知するモードである。これに対してライトスルーモードとは、要求されたデータをキャッシュに書き込むと共にディスク(ディスク媒体)にも書き込むモードである。ライトスルーモードでは、要求されたデータがディスクに書き込まれた時点で、書き込みが完了する。このため、キャッシュをライトバックモードで使用することにより、ディスクへの書き込みを高速化することができる。キャッシュをライトバックモードで使用することを、ライトバックキャッシュをオンすると呼ぶこともある。
一方、冗長データを持つことによりデータの信頼性を向上させる技術として、複数のディスクドライブ(HDD)を用いて構成される冗長性を持つディスクアレイ(冗長化ディスクアレイ)、つまりRAID(Redundant Array of Inexpensive Disks、またはRedundant Array of Independent Disks)が知られている。RAIDには幾つかのレベル(RAIDレベル)が定義されており、RAID1(ミラーリング)やRAID5(パリティ付きストライピング)などが知られている。いずれも複数のHDDを用いて構成される冗長化ディスクアレイにデータ及び冗長データを配置することにより、いずれか1台のHDDに障害が発生してもデータの復元を可能にする技術である。
RAID1レベルで使用されるディスクアレイを構成する複数のHDDは、マスタHDDとスレーブHDDとに分けられる。マスタHDDとスレーブHDDとには同一データが書き込まれる。また、RAID5レベルで使用されるディスクアレイを構成する複数(3台以上の)のHDDは、いずれもデータ並びにパリティデータ(冗長データ)の格納用に用いられ、パリティデータは各HDDに分散して格納される。
また最近は、HDDのコストが下がってきたこともあって、データストレージ装置のより一層の信頼性向上のために、当該ストレージ装置が2組のディスクアレイ(論理ユニット)で構成される場合も多くなってきている。ここでは、2組のディスクアレイの一方がマスタディスクアレイ(マスタ論理ユニット)として、他方がバックアップディスクアレイ(バックアップ論理ユニット)としてそれぞれ定義され、マスタディスクアレイに書き込まれたデータがバックアップディスクアレイにコピーされる。
特開2003−263276号公報(段落0014)
ディスクアレイ内の各HDD(ディスクドライブ)へのデータ書き込みに要する時間は主として、
・HDD内のヘッドシーク時間
・回転待ち時間
・HDDのコントローラにおけるデータ処理時間
・ディスクへのデータ転送時間
で決まる。
・HDD内のヘッドシーク時間
・回転待ち時間
・HDDのコントローラにおけるデータ処理時間
・ディスクへのデータ転送時間
で決まる。
これらの時間のうち、シーク時間と回転待ち時間とは、HDD間でばらつくため、結果的にHDD間の処理完了時間の差として表れる。この処理完了時間の差は、ディスクアレイ全体における処理完了までの遅延を招く。
最近、HDDのディスクへのデータ書き込み時間は、高速化している。仮にディスクへの転送速度を50MB/sと仮定すると、64kBのデータの書き込み時間は、1.28msとなる。これに対して、HDDの平均シーク時間は4〜5ms、平均回転待ち時間は3ms程度(HDDの回転速度が10,000rpmクラス)である。このため、ディスクアレイを構成する各HDDへのアクセスを高速化するためには、当該HDDのヘッドシーク時間及び回転待ち時間を短くして、HDDの処理完了時間を短縮すると共にHDD間の処理完了時間のばらつきを少なくする必要がある。
そこで、各HDDに実装されているキャッシュ(ライトキャッシュメモリ)をライトバックモードで使用することにより、つまりライトバックキャッシュをONすることにより、上記シーク時間、回転待ち時間、及びHDD間の処理完了時間のばらつきの影響を回避して、ディスクアレイ全体に対するデータ書き込み時間を短縮することが考えられる。
しかしながら、HDDへのデータ書き込みは当該HDDのキャッシュにデータが書き込まれた時点で完了となる。このため、HDDのディスクへのデータ書き込みが完了する前に電源遮断が発生した場合には、データがHDDへ書き込めていない状態が発生してデータが消失するおそれがある。そこで従来は、このようなデータ消失を招かないように、つまりデータの保全性を確保するために、ディスクアレイを構成するHDDを全てライトスルーモードで使用するのが一般的である。
本発明は上記事情を考慮してなされたものでその目的は、ディスクアレイのデータの冗長性を利用することで、当該ディスクアレイのデータの保全性を維持しながら、ディスクアレイ全体のデータ書き込みに要する時間を短縮することができるアレイコントローラ、ディスクアレイ制御方法及びプログラムを提供することにある。
本発明の1つの観点によれば、ディスク媒体に書き込むべきライトデータを一時格納するためのライトキャッシュメモリを有する複数のディスクドライブから構成される冗長性を持つ少なくとも1つのディスクアレイを制御するアレイコントローラが提供される。このアレイコントローラは、データ及び当該データの冗長データを上記ディスクアレイの上記複数のディスクドライブに分散して書き込むための制御を行うライト制御手段と、上記複数のディスクドライブのうち冗長データが書き込まれるディスクドライブのみ、上記ライトキャッシュメモリにデータが書き込まれた段階で当該ドライブへの書き込みを完了させるためのライトバックモードに設定するライトキャッシュ制御手段とから構成される。
このような構成のアレイコントローラにおいては、冗長データが書き込まれるディスクドライブのライトキャッシュメモリのみがライトバックモードで用いられる。つまり、冗長データが書き込まれるディスクドライブでは、冗長データがライトキャッシュメモリに書き込まれた段階で、当該ディスクドライブへの書き込みが完了する。このため、ディスクアレイ全体のデータ書き込み完了時刻は、他のディスクドライブ、つまり非ライトバックモード(ライトスルーモード)でデータが書き込まれる他のディスクドライブにおけるデータ書き込み完了時刻のみに依存する。したがって、ディスクアレイ全体のデータ書き込み完了時刻が、ディスクアレイを構成する全てのディスクドライブにおけるデータ書き込み完了時刻に依存する従来技術に比べて、ディスクアレイ全体のデータ書き込みに要する時間を短縮することが可能となる。ここで、冗長データが書き込まれるディスクドライブでは、冗長データが当該ディスクドライブのライトキャッシュメモリに書き込まれた後、当該ライトキャッシュメモリに書き込まれた冗長データが実際に当該ディスクドライブのディスク媒体に書き込まれるまでの期間に電源遮断が発生した場合、当該ライトキャッシュメモリに書き込まれた冗長データが消失するおそれがある。しかし、この冗長データは、上記ディスクアレイを構成する他のディスクドライブのデータから復元することができる。なお、冗長データが書き込まれるディスクドライブが予め定められるRAID1、或いはRAID3等を適用するディスクアレイの制御では、上記ライトキャッシュ制御手段によるライトバックモードへの設定は、システム立ち上げ時などにおいて予め行うことが可能となる。これに対し、冗長データが書き込まれるディスクドライブが変更されるRAID5等を適用するディスクアレイの制御では、冗長データの書き込みが発生する都度、当該冗長データの書き込み先のディスクドライブを確認して、当該ディスクドライブのみライトバックモードに設定されるようにすると良い。
また、上記少なくとも1つのディスクアレイをホストからの書き込み要求で要求されたデータ及び当該データの冗長データが書き込まれるマスタ側ディスクアレイとして、当該マスタ側ディスクアレイのデータを読み出して、ライトキャッシュメモリを有する複数のディスクドライブから構成される冗長性を持つバックアップ側ディスクアレイにコピーするための制御を行うコピー制御手段を追加し、このバックアップ側ディスクアレイの上記複数のディスクドライブの全てが上記ライトバックモードに設定される構成とすると良い。
このような構成においては、マスタ側ディスクアレイのデータをバックアップ側ディスクアレイにコピーする処理に要する時間を短縮することが可能となる。ここでは、マスタ側ディスクアレイから読み出されたデータがバックアップ側ディスクアレイの各ディスクドライブのライトキャッシュメモリに書き込まれた後、当該ライトキャッシュメモリに書き込まれたデータが実際に当該ディスクドライブのディスク媒体に書き込まれる前に電源遮断が発生した場合、当該ライトキャッシュメモリに書き込まれたデータが消失するおそれがある。しかし、このデータは、マスタ側ディスクアレイのデータを利用して復元することが可能である。
また、コピー制御手段によってマスタ側ディスクアレイから読み出されたデータを一時格納するためのキャッシュメモリを追加して、バックアップ側ディスクアレイに1回で書き込むことができるデータの最大サイズである1ライトサイズよりも大きいサイズでマスタ側ディスクアレイのデータを上記コピー制御手段がキャッシュメモリに読み込み、当該キャッシュメモリに読み込まれたデータを当該コピー制御手段が複数回に分けてバックアップ側ディスクアレイにコピーする構成とすると良い。
このようにすると、キャッシュメモリに読み込まれたデータがバックアップ側ディスクアレイにコピーされる期間を利用して、ホストから要求されたマスタ側ディスクアレイへのデータ書き込みまたはマスタ側ディスクアレイからのデータ読み出し、更にはマスタ側ディスクアレイからの次にコピーすべきデータの読み出しが効率的に実行できる。換言すれば、ホストから要求されたマスタ側ディスクアレイへのデータ書き込みまたはマスタ側ディスクアレイからのデータ読み出し、更にはマスタ側ディスクアレイからの次にコピーすべきデータの読み出しの期間を利用して、キャッシュメモリに読み込まれたデータをバックアップ側ディスクアレイに効率的にコピーすることが可能となる。
また、上記キャッシュメモリを電源の遮断時にも当該メモリに格納されているデータを保持可能な構成とすると共に、当該キャッシュメモリを有効に利用するために、マスタ側ディスクアレイからキャッシュメモリに読み込まれたデータが、当該データがバックアップ側ディスクアレイの複数のディスクドライブのライトキャッシュメモリから当該ディスクドライブのディスク媒体に実際に書き込まれると予測される時間を待ってコピー制御手段によってクリアされる構成とすると良い。このようにすると、コピー制御手段が上記時間を待っている期間に電源遮断が発生しても、その後電源が復旧した場合に、上記キャッシュメモリを利用して、バックアップ側ディスクアレイの複数のディスクドライブのデータを復元させることが可能となる。
また、マスタ側ディスクアレイから読み出されたデータと当該データのアドレスとが、一定サイズのデータブロック単位にキャッシュメモリに格納される構成とし、キャッシュメモリに格納されたデータをバックアップ側ディスクアレイの複数のディスクドライブに上記ライトバックモードで書き込んだ後に当該データをキャッシュメモリからクリアし、当該データのアドレスのみ上記予測される時間を待ってクリアするならば、キャッシュメモリの領域をより有効に利用できる。しかも、コピー制御手段が上記時間を待っている期間に電源遮断が発生しても、その後電源が復旧した場合に、キャッシュメモリに格納されているアドレスを利用してマスタ側ディスクアレイ及びバックアップ側ディスクアレイからデータを読み出して比較するならば、両データが一致していない場合、マスタ側ディスクアレイから読み出されたデータでバックアップ側ディスクアレイのデータを復元させることが可能となる。
本発明によれば、ディスクアレイ内で冗長データが書き込まれるディスクドライブのライトキャッシュメモリのみをライトバックモードで用いることにより、当該ディスクアレイのデータの保全性を維持しながら、当該ディスクアレイ全体のデータ書き込みに要する時間を短縮することができる。
以下、本発明の実施の形態につき図面を参照して説明する。
[第1の実施形態]
図1は本発明の第1の実施形態に係るコンピュータシステムの構成を示すブロック図である。図1のコンピュータシステムは、ディスクアレイ10と、このディスクアレイ10を制御するアレイコントローラ(ディスクアレイコントローラ)20と、各種アプリケーションを実行するホスト(ホストコンピュータ)30とから構成される。ホスト30は、ディスクアレイ10を外部記憶装置として用いる。
[第1の実施形態]
図1は本発明の第1の実施形態に係るコンピュータシステムの構成を示すブロック図である。図1のコンピュータシステムは、ディスクアレイ10と、このディスクアレイ10を制御するアレイコントローラ(ディスクアレイコントローラ)20と、各種アプリケーションを実行するホスト(ホストコンピュータ)30とから構成される。ホスト30は、ディスクアレイ10を外部記憶装置として用いる。
ディスクアレイ10は、複数のディスクドライブ、例えば4台のHDD(磁気ディスクドライブ)110(#0),111(#1),112(#3),113(#4)から構成磁気ディスクドライブされるRAIDである。ここでは、ディスクアレイ10は、RAID1レベルのディスクアレイ、いわゆるミラーリングディスクアレイとして用いられる。ディスクアレイ10は、RAID1マスタ11MとRAID1スレーブ11Sとから構成される。RAID1マスタ11Mは、ホスト30から要求されたデータを書き込むのに用いられる。RAID1スレーブ11Sは、ホスト30から要求されたデータと同一のデータを冗長データ(ミラーデータ)として書き込むのに用いられる。つまりRAID1スレーブ11Sは、RAID1マスタ11Mの複製を格納するのに用いられる。図1の例では、RAID1マスタ11MはHDD110(#0),111(#1)から構成され、RAID1スレーブ11SはHDD112(#2),113(#3)から構成される。
HDD#0乃至#3は、それぞれ当該HDD#0乃至#3のディスク(ディスク媒体)に書き込むべきデータを一時格納するためのライトキャッシュメモリ(WC)110a乃至113aを有する。
アレイコントローラ20は、ライト制御部21とWC制御部(ライトキャッシュ制御部
)22とを含む。ライト制御部21は、ホスト30からの書き込み要求を受けて、要求されたデータ(要求データ)をRAID1マスタ11Mに書き込むと共に、当該要求データに対応する冗長データ(ここでは、要求データと同一の冗長データ)をRAID1スレーブ11Sに書き込むための制御を行う。WC制御部22は、HDD#0乃至#3が有するライトキャッシュメモリ110a乃至113aの各々をライトバックモードで使用するか、或いはライトスルーモードで使用するか、つまりライトバックキャッシュON(WBC−ON)の状態またはライトバックキャッシュOFF(WBC−OFF)の状態のいずれで使用するかを制御する。本実施形態において、ライト制御部21及びWC制御部22は、アレイコントローラ20の図示せぬマイクロプロセッサ(コンピュータ)のプログラムメモリにインストールされた制御プログラムを当該マイクロプロセッサが読み取って実行することにより実現される。このプログラムは、コンピュータで読み取り可能な記憶媒体に予め格納して頒布可能である。また、このプログラムが、ネットワークを介してダウンロード(頒布)されても構わない。
)22とを含む。ライト制御部21は、ホスト30からの書き込み要求を受けて、要求されたデータ(要求データ)をRAID1マスタ11Mに書き込むと共に、当該要求データに対応する冗長データ(ここでは、要求データと同一の冗長データ)をRAID1スレーブ11Sに書き込むための制御を行う。WC制御部22は、HDD#0乃至#3が有するライトキャッシュメモリ110a乃至113aの各々をライトバックモードで使用するか、或いはライトスルーモードで使用するか、つまりライトバックキャッシュON(WBC−ON)の状態またはライトバックキャッシュOFF(WBC−OFF)の状態のいずれで使用するかを制御する。本実施形態において、ライト制御部21及びWC制御部22は、アレイコントローラ20の図示せぬマイクロプロセッサ(コンピュータ)のプログラムメモリにインストールされた制御プログラムを当該マイクロプロセッサが読み取って実行することにより実現される。このプログラムは、コンピュータで読み取り可能な記憶媒体に予め格納して頒布可能である。また、このプログラムが、ネットワークを介してダウンロード(頒布)されても構わない。
次に、図1のシステムにおけるアレイコントローラ20による制御について図2及び図3を参照して説明する。図2はアレイコントローラ20のWC制御部22によるライトキャッシュメモリの制御の手順を示すフローチャート、図3はアレイコントローラ20のライト制御部21による書き込み制御に応じて実行されるHDD#0乃至#3の動作を従来と対比して説明するためのタイミングチャートである。
まず、WC制御部22は、例えばシステムの立ち上げ時に、RAID1マスタ11M側の各HDD、即ちHDD#0及び#1の各々を、ライトスルーモード(WBC−OFF)に設定する(ステップS1)。またWC制御部22は、RAID1スレーブ11S側の各HDD、即ちHDD#2及び#3の各々を、ライトバックモード(WBC−ON)に設定する(ステップS2)。以後、RAID1マスタ11M側のHDD#0及び#1が有するライトキャッシュメモリ110a及び111aはライトスルーモードで使用され、RAID1スレーブ11S側のHDD#2及び#3が有するライトキャッシュメモリ112a及び113aはライトバックモードで使用される。
今、ホスト30からアレイコントローラ20に対して、ディスクアレイ10にデータDを書き込むことが要求されたものとする。このデータDは例えばデータD1及びD2に分割される。このデータD1及びD2は、RAID1マスタ11MのそれぞれHDD#0及び#1に分散して書き込まれる。また、このデータD1及びD2は、RAID1スレーブ11SのそれぞれHDD#2及び#3にも書き込まれる。
従来は、RAID1マスタ11M及びRAID1スレーブ11Sへのデータ書き込みは、いずれもライトスルーモードで行われている。この場合、RAID1マスタ11MのHDD#0及び#1と、RAID1スレーブ11SのHDD#2及び#3とに対するデータ書き込みに要する時間、即ちHDD#i(i=1,2,3,4)に対するデータ書き込みに要する時間は、図3(a)に示すように、HDD#iにおけるデータ処理時間(ハッチングが施された棒線の部分の期間)と、HDD#iにおけるヘッドシーク時間、回転待ち時間及びデータ転送時間の和(黒で塗りつぶされた棒線の部分の期間)とを加算したものとなる。
データ処理時間とは、アレイコントローラ20(のライト制御部21)からの書き込み要求をHDD#iが受け取って解釈するのに要する時間である。ヘッドシーク時間とは、要求されたデータの書き込みを開始すべきディスク上の先頭トラックにヘッドを移動するのに要する時間である。また回転待ち時間とは、ヘッドが上記先頭トラックに移動された後(つまりシーク完了後)、要求されたデータの書き込みを開始すべき先頭セクタがヘッド位置に到達するまでディスクが回転する時間である。データ転送時間とは、ディスクへのデータ転送に要する時間である。
ここで、データ処理時間及びデータ転送時間はHDD#iに殆ど依存しない。これに対して、シーク時間及び回転待ち時間はHDD#i毎に異なる。このため、図3(a)の例のように、HDD#0乃至#3で時刻t1に同時にデータ書き込み処理が開始されたとしても、データ書き込み処理が完了する時刻はHDD#i毎に異なる。
図3(a)の例では、RAID1マスタ11Mのデータ書き込み処理の完了時刻はHDD#0のデータ書き込み処理の完了時刻で決まり、時刻t11である。これに対し、RAID1スレーブ11Sのデータ書き込み処理の完了時刻はHDD#2のデータ書き込み処理の完了時刻で決まり、時刻t11より時間T1後の時刻t12である。つまり、ディスクアレイ10全体では、データ書き込み処理の完了時刻はRAID1スレーブ11SのHDD#2のデータ書き込み処理の完了時刻で決まり、t12となる。
ところが本実施形態では、RAID1スレーブ11Sの各HDD#2及び#3のライトキャッシュメモリ112a及び113aは、RAID1マスタ11Mの各HDD#0及び#1のライトキャッシュメモリ110a及び111aとは異なり、ライトバックモードで使用される。このライトバックモードでは、各HDD#2及び#3に書き込むべきデータ(D1及びD2)がライトキャッシュメモリ112a及び113aに書き込まれた段階で、当該HDD#2及び#3への書き込みが完了したものとして、当該HDD#2及び#3からアレイコントローラ20に書き込み完了が通知される。
このため本実施形態では、図3(b)に示すように、図3(a)の場合と同様にHDD#0乃至#3で時刻t1に同時にデータ書き込み処理が開始されたものとすると、RAID1スレーブ11SのHDD#2及び#3では、RAID1マスタ11Mの各HDD#0及び#1と比べて、シーク時間+回転待ち時間の分だけ早い時刻t13に書き込みが完了することになる。図3(b)におけるHDD#2及び#3でのデータ書き込み処理に要する時間は、データ処理時間(ハッチングが施された棒線の部分の期間)と、データ転送時間(黒で塗りつぶされた棒線の部分の期間)とを加算したものとなる。この場合、t12−t13で表される時間が、RAID1スレーブ11Sにおいてライトバックモード(WBC−ON)でデータ書き込みを行ったことによる効果である。但し、RAID1マスタ11Mでは、図3(b)に示すように、時刻t11まではデータ書き込みは完了しないことから、実際に短縮される時間はt12−t11=T1である。つまり、ディスクアレイ10全体では、データ書き込み処理の完了時刻はRAID1マスタ11MのHDD#0のデータ書き込み処理の完了時刻で決まり、t11となる。
このように本実施形態では、RAID1スレーブ11S側のHDD#2及び#3のライトキャッシュメモリ112a及び113aは、ライトバックモードで用いられる。ライトキャッシュメモリ112a及び113aに書き込まれたデータ(D1及びD2)は、HDD#2及び#3における処理の空き時間等を利用して、当該HDD#2及び#3のディスクに書き込まれる(ライトバックされる)。このため、ディスクアレイ10全体におけるデータ書き込み処理の完了時刻t11以降、HDD#2及び#3のライトキャッシュメモリ112a及び113aのデータが当該HDD#2及び#3のディスクに実際に書き込まれる前に電源遮断が発生すると、ライトキャッシュメモリ112a及び113aのデータは消失するおそれがある。
しかし本実施形態では、RAID1マスタ11M側のHDD#0及び#1のライトキャッシュメモリ110a及び111aは、ライトスルーモードで用いられる。このため、上記時刻t11の時点では、データ(D1及びD2)はHDD#0及び#1のディスクに書き込まれている。したがって、このHDD#0及び#1のディスクに書き込まれたデータ(D1及びD2)を用いて、RAID1スレーブ11S側のHDD#2及び#3のデータ(冗長データ)を復元できる。
[第2の実施形態]
図4は本発明の第2の実施形態に係るコンピュータシステムの構成を示すブロック図である。図4において、図1と同様の要素には便宜的に同一参照符号を付してある。図4のコンピュータシステムが図1のコンピュータシステムと異なるのは、RAID1を適用するディスクアレイ10に代えて、例えばRAID5を適用するディスクアレイ40が用いられている点にある。ここでは、ディスクアレイ40が3台のHDD41(#0),42(#1),43(#2)から構成されるものとする。HDD41(#0),42(#1),43(#2)は、それぞれライトキャッシュメモリ41a,42a,43aを有する。
図4は本発明の第2の実施形態に係るコンピュータシステムの構成を示すブロック図である。図4において、図1と同様の要素には便宜的に同一参照符号を付してある。図4のコンピュータシステムが図1のコンピュータシステムと異なるのは、RAID1を適用するディスクアレイ10に代えて、例えばRAID5を適用するディスクアレイ40が用いられている点にある。ここでは、ディスクアレイ40が3台のHDD41(#0),42(#1),43(#2)から構成されるものとする。HDD41(#0),42(#1),43(#2)は、それぞれライトキャッシュメモリ41a,42a,43aを有する。
RAID5では、冗長データ(パリティデータ)PはHDD41(#0),42(#1),43(#2)に分散して配置(格納)される。この点で、RAID5は、冗長データ(パリティデータ)Pが常に特定のHDDに配置されるRAID3と異なる。
今、図4のシステムにおいて、ホスト30から要求されたデータ(要求データ)DをデータD1及びD2に分割して、ディスクアレイ40に書き込むものとする。この場合、ライト制御部21はデータD1及びD2のパリティデータPを冗長データPとして生成する。この冗長データPをHDD#0,#1,#2のいずれに書き込むかは、要求データDの格納先アドレスに基づいてライト制御部21によって決定される。このため第2の実施形態では、WC制御部22は第1の実施形態と異なって、HDD#0乃至#2が有するライトキャッシュメモリ41a乃至43aの各々をライトバックモードで使用するか、或いはライトスルーモードで使用するかを、ライト制御部21によるデータ書き込みの都度設定する必要がある。
そこで、データ書き込み時のWC制御部22によるライトキャッシュメモリの制御について、図5のフローチャートを参照して説明する。まず、WC制御部22は、ライト制御部21によるデータ書き込みに際し、当該ライト制御部21に対して冗長データ(パリティデータ)Pの書き込み先となるHDDを問い合わせる(ステップS11)。するとライト制御部21からWC制御部22に対し、冗長データ書き込み先HDDが通知される。なお、ライト制御部21によるデータ書き込みに際し、当該ライト制御部21からWC制御部22に対して冗長データ書き込み先HDDが自動的に通知される構成とすることも可能である。WC制御部22は、ライト制御部21から通知された冗長データ書き込み先HDDのみライトバックモード(WBC−ON)に設定し、残りのHDDは全てライトスルーモード(WBC−OFF)に設定する(ステップS12)。図4のシステムの状態は、ライト制御部21からWC制御部22に対して、HDD#2が冗長データPの書き込み先HDDとして通知された結果、当該HDD#2がライトバックモードに設定され、残りのHDD#0及び#1がライトスルーモードに設定されている様子を示している。なお、ディスクアレイ40がRAID3を適用するならば、このモード設定を、第1の実施形態と同様に予め(例えばシステムの立ち上げ時に)行うことが可能である。また、ライトバックモード、ライトスルーモードは、HDDへの書き込みコマンド毎に設定することもできる。
図4のシステムにおいて、ディスクアレイ40全体におけるデータ書き込み処理の完了時刻以降、HDD#2のライトキャッシュメモリ43aのデータ、つまり冗長データPが当該HDD#2のディスクに実際に書き込まれる前に電源遮断が発生したものとする。このとき、冗長データPに対応するデータD1及びD2は、それぞれHDD#0及びHDD#1のディスクに書き込まれている。したがって、このHDD#0及び#1のディスクに書き込まれたデータD1及びD2を用いて、HDD#2のディスクに書き込むべき冗長データPを復元できる。
[第3の実施形態]
図6は本発明の第3の実施形態に係るコンピュータシステムの構成を示すブロック図である。図6において、図1と同様の要素には便宜的に同一参照符号を付してある。図6のコンピュータシステムの特徴は、図1中のディスクアレイ10に相当する2つのディスクアレイを、それぞれマスタ論理ユニット(マスタLU)50及びバックアップ論理ユニット(バックアップLU)51として有している点にある。バックアップLU51は、マスタLU50の内容を例えば定期的にバックアップするのに用いられる。マスタLU50は、図1中のRAID1マスタ11M及びRAID1スレーブ11Sに相当する、それぞれRAID1マスタ500(#0)及びRAID1スレーブ501(#0)から構成される。同様にバックアップLU51は、RAID1マスタ510(#1)及びRAID1スレーブ511(#1)から構成される。
図6は本発明の第3の実施形態に係るコンピュータシステムの構成を示すブロック図である。図6において、図1と同様の要素には便宜的に同一参照符号を付してある。図6のコンピュータシステムの特徴は、図1中のディスクアレイ10に相当する2つのディスクアレイを、それぞれマスタ論理ユニット(マスタLU)50及びバックアップ論理ユニット(バックアップLU)51として有している点にある。バックアップLU51は、マスタLU50の内容を例えば定期的にバックアップするのに用いられる。マスタLU50は、図1中のRAID1マスタ11M及びRAID1スレーブ11Sに相当する、それぞれRAID1マスタ500(#0)及びRAID1スレーブ501(#0)から構成される。同様にバックアップLU51は、RAID1マスタ510(#1)及びRAID1スレーブ511(#1)から構成される。
また図6のコンピュータシステムでは、図1中のアレイコントローラ20に代えてアレイコントローラ200が用いられる。アレイコントローラ200は、ライト制御部21及びWC制御部22に加えてコピー制御部23を有している。コピー制御部23は、マスタLU50のデータのバックアップをバックアップLU51に採取するために、マスタLU50のデータをバックアップLU51にコピーするための制御を行う。このコピー制御機能は、インボックスレプリケーション(IBR)と呼ばれる。アレイコントローラ20は更に、データ復元部24、キャッシュメモリ25及びバックアップ用バッテリ26を有している。但し、データ復元部24、キャッシュメモリ25及びバックアップ用バッテリ26は、後述する変形例で用いられるため、ここでの説明は省略する。1
次に、図6のシステムにおけるアレイコントローラ200による制御について図7及び図8を参照して説明する。図7はアレイコントローラ200のWC制御部22によるライトキャッシュメモリの制御の手順を示すフローチャート、図8はアレイコントローラ20のコピー制御部23によるコピー制御に応じて実行されるRAID1マスタ#0及びRAID1スレーブ#0並びにRAID1マスタ#1及びRAID1スレーブ#1の動作を従来と対比して説明するためのタイミングチャートである。
次に、図6のシステムにおけるアレイコントローラ200による制御について図7及び図8を参照して説明する。図7はアレイコントローラ200のWC制御部22によるライトキャッシュメモリの制御の手順を示すフローチャート、図8はアレイコントローラ20のコピー制御部23によるコピー制御に応じて実行されるRAID1マスタ#0及びRAID1スレーブ#0並びにRAID1マスタ#1及びRAID1スレーブ#1の動作を従来と対比して説明するためのタイミングチャートである。
まず、ライト制御部21は、例えばシステムの立ち上げ時に、マスタLU50に含まれているRAID1マスタ500(#0)側の各HDDを、ライトスルーモード(WBC−OFF)に設定する(ステップS21)。またWC制御部22は、マスタLU50に含まれているRAID1スレーブ501(#0)側の各HDDと、バックアップLU51に含まれている各HDD、即ちRAID1マスタ510(#1)側の各HDD及びRAID1スレーブ511(#1)側の各HDDを、ライトバックモード(WBC−ON)に設定する(ステップS22)。以後、RAID1マスタ#0側の各HDDが有するライトキャッシュメモリはライトスルーモードで使用され、RAID1スレーブ#0及び#1並びにRAID1マスタ#1側の各HDDが有するライトキャッシュメモリはライトバックモードで使用される。ホスト30からの書き込み要求に対するデータの書き込みは、マスタLU50に対してのみ行われる。この場合、要求されたデータの書き込みは、第1の実施形態から理解されるように、マスタLU50に含まれているRAID1マスタ500へのデータ書き込みが完了した時点で完了する。
今、ホスト30からアレイコントローラ200に対してマスタLU50のデータのバックアップが要求されたものとする。この場合、アレイコントローラ200のコピー制御部23は、マスタLU50のデータをバックアップLU51にコピーするデータコピー処理を実行する。このデータコピー処理は、マスタLU50に含まれているRAID1マスタ#0及びRAID1スレーブ#0の各HDDのデータを一定サイズ(ここでは、1回のライトサイズ)毎に読み出す処理と、一定サイズ(1ライトサイズ)のデータの読み出し完了後に、その読み出されたデータを、バックアップLU51に含まれているRAID1マスタ#1及びRAID1スレーブ#1の各HDDに書き込む処理とから構成される。
もし、バックアップLU51側のRAID1マスタ#1及びRAID1スレーブ#1の各HDDが、従来と同様にライトスルーモードに設定されている場合、一定サイズのデータの読み出し処理と書き込み処理とは、図8(a)に示すようなタイミングで実行される。図8(a)の例では、マスタLU50側のRAID1マスタ#0及びRAID1スレーブ#0(の各HDD)からのデータ読み出し処理が時刻t20で開始されて時刻t21で完了した様子が示されている。また図8(a)の例では、RAID1マスタ#0及びRAID1スレーブ#0から読み出されたデータをバックアップLU51側のRAID1マスタ#1及びRAID1スレーブ#1に書き込むデータ書き込み処理が時刻t21で開始されて時刻t22で完了した様子が示されている。図8においてハッチングが施された棒線の長さは、図3と同様にデータ処理時間を表す。また、黒で塗りつぶされた棒線の長さは、図3と同様に、ライトスルーモードではヘッドシーク時間と回転待ち時間とデータ転送時間の和を表し、ライトバックモードではデータ転送時間を表す。
ところが本実施形態では、バックアップLU51側のRAID1マスタ#1及びRAID1スレーブ#1の各HDDがライトバックモードに設定されている。このため、上記一定サイズのデータの読み出し処理と書き込み処理とは、図8(b)に示すようなタイミングで実行される。この図8(b)の例では、RAID1マスタ#0及びRAID1スレーブ#0から読み出されたデータをバックアップLU51側のRAID1マスタ#1及びRAID1スレーブ#1に書き込むデータ書き込み処理は、図8(a)の場合と同様に時刻t21で開始されるものの、当該データ書き込み処理が完了する時刻は、図8(a)の場合より時間T2だけ短い時刻t23(t22−t23=T2)となる。つまり、バックアップLU51側のRAID1マスタ#1及びRAID1スレーブ#1の各HDDをライトバックモードに設定することで、一定サイズのデータのコピーに要する時間を、従来よりも時間T2だけ短縮することができる。
[第1の変形例]
次に、上記第3の実施形態の第1の変形例について説明する。この第1の変形例では、マスタLU50のデータをバックアップLU51にバックアップ(コピー)する処理の期間にホスト30からデータの書き込み/読み出しが要求された場合に、その要求されたデータ書き込み/読み出しが実行されることを前提としている。第1の変形例の特徴は、この要求されたデータ書き込み/読み出しがマスタLU50(側のRAID1マスタ#0及びRAID1スレーブ#0)のみを対象に行われることに着目し、その期間もバックアップLU51側でのデータコピーのためのデータ書き込みが有効に行われるようにした点にある。
次に、上記第3の実施形態の第1の変形例について説明する。この第1の変形例では、マスタLU50のデータをバックアップLU51にバックアップ(コピー)する処理の期間にホスト30からデータの書き込み/読み出しが要求された場合に、その要求されたデータ書き込み/読み出しが実行されることを前提としている。第1の変形例の特徴は、この要求されたデータ書き込み/読み出しがマスタLU50(側のRAID1マスタ#0及びRAID1スレーブ#0)のみを対象に行われることに着目し、その期間もバックアップLU51側でのデータコピーのためのデータ書き込みが有効に行われるようにした点にある。
以下、上記第3の実施形態の第1の変形例について図9及び図10を参照して説明する。図9はアレイコントローラ200のコピー制御部23によるコピー制御の手順を示すフローチャート、図10はアレイコントローラ20のコピー制御部23によるコピー制御に応じて実行されるRAID1マスタ#0及びRAID1スレーブ#0でのデータ読み出し処理並びにRAID1マスタ#1及びRAID1スレーブ#1でのデータ書き込み処理と、ライト制御部21による制御に応じて実行されるRAID1マスタ#0及びRAID1スレーブ#0でのデータ書き込み処理とを従来と対比して説明するためのタイミングチャートである。なお、図10の例では、ライト制御部21による制御に応じて実行されるRAID1スレーブ#0でのデータ書き込み処理は、RAID1マスタ#0でのデータ書き込み処理(従来のデータ書き込み処理)と同様にライトスルーモードで行われるものとする。
一般にアレイコントローラ20は、図6に示すようにキャッシュメモリ25を有している。ここでは、キャッシュメモリ25のサイズは、バックアップLU51(側のRAID1マスタ#1及びRAID1スレーブ#1)に1回のライト動作でデータを書き込むことができる最大のサイズ(1回のライトサイズ)より十分大きい(例えば2倍以上)ものとする。コピー制御部23は、マスタLU50側(のRAID1マスタ#0及びRAID1スレーブ#0)から読み出すデータ(バックアップLU51側にコピーすべきデータ)を、バックアップLU51側(のRAID1マスタ#1及びRAID1スレーブ#1)に書き込むデータのサイズ(1回のライトサイズ)より大きいサイズ(2倍以上のサイズ、例えば6倍のサイズ)でアレイコントローラ200内に読み込み、当該アレイコントローラ200内のキャッシュメモリ25に一時格納する(ステップS31)。キャッシュメモリ25には、例えば一定サイズのデータブロック毎に、当該ブロックのデータだけでなく、当該ブロックのデータの書き込み先を示すアドレスが格納される。
コピー制御部23は、キャッシュメモリ25に格納されたデータを、1回のライトサイズを単位に取り出して、バックアップLU51側(のRAID1マスタ#1及びRAID1スレーブ#1)に書き込む(ステップS32)。コピー制御部23は、このステップS32を、キャッシュメモリ25に格納されている全データについて繰り返す(ステップS33)。またコピー制御部23は、上記ステップS31を、マスタLU50からバックアップLU51にコピーすべき全データについて繰り返す(ステップS34)。
このコピー制御部23の制御により、ホスト30から要求されたデータをマスタLU50側に書き込む(またはマスタLU50側から読み出す)期間を有効に利用できる。もし、マスタLU50からバックアップLU51にコピーすべきデータを1ライトサイズ単位でマスタLU50から読み出した場合、1ライトサイズのデータの読み出し処理と書き込み処理とは、図10(a)に示すようなタイミングで実行される。図10において右斜め上から左斜め下に向かう方向のハッチングが施された棒線の長さは、図3と同様にデータ処理時間を表す。また、左斜め上から右斜め下に向かう方向のハッチングが施された棒線の長さは、ヘッドシーク時間と回転待ち時間との和を表す。また、黒で塗りつぶされた棒線の長さは、データ転送時間を表す。
図10(a)の例では、マスタLU50側のRAID1マスタ#0及びRAID1スレーブ#0からのデータ読み出し処理が時刻t30で開始されて、それぞれ時刻t31及びt32(t31>t32)で完了した様子が示されている。この場合、マスタLU50全体では、当該マスタLU50からのデータ読み出し処理は時刻t32で完了したことになる。
すると、マスタLU50のRAID1マスタ#0及びRAID1スレーブ#0では図10(a)に示すように、それぞれ時刻t32及びt31から、ホスト30により要求されたデータを書き込む処理が開始される。このホスト30により要求されたデータをRAID1マスタ#0及びRAID1スレーブ#0に書き込む処理は、それぞれ時刻t34及びt33(時刻t34>t32)に完了する。この場合、マスタLU50からバックアップLU51にコピーすべき次の1ライトサイズのデータをRAID1マスタ#0及びRAID1スレーブ#0から読み出す処理が、それぞれ時刻t34及びt33から開始される。この処理は、マスタLU50全体では、図10(a)の場合、時刻t35に完了する。
一方、バックアップLU51のRAID1マスタ#1及びRAID1スレーブ#1では、RAID1マスタ#0及びRAID1スレーブ#0から読み出された1ライトサイズのデータを書き込む処理が、図10(a)に示すように時刻t32から開始される。この処理はライトバックモードで実行されることから、短時間で完了する、しかし、次の1ライトサイズのデータを書き込む処理は、時刻t35まで待たないと実行されない。
これに対して第1の変形例では、マスタLU50からバックアップLU51にコピーすべきデータが、時刻t30から開始される読み出し処理で、1回のライトサイズより大きいサイズ(ここでは6倍のサイズ)でアレイコントローラ200のキャッシュメモリ25に読み込まれる。このため、キャッシュメモリ25に読み込まれたデータを、ホスト30から要求されたデータのマスタLU50への書き込み(またはマスタLU50からの読み出し)に必要な時間T11と、次にマスタLU50からバックアップLU51にコピーすべき、1回のライトサイズより大きいサイズのデータの読み出しに必要な期間T12とを利用して、図10(b)に示すように、時刻t37から1回のライトサイズ単位で、順次バックアップLU51に書き込むことが可能となる。ここで、マスタLU50からキャッシュメモリ25に読み込むデータのサイズを、当該データを1ライトサイズ単位に分割してバックアップLU51に書き込むのに要する時間Tが上記時間T11(=t39−t37)とT12(=t40−t39)との和を超えない最大の時間となるサイズとすると良い。
[第2の変形例]
次に、上記第3の実施形態の第2の変形例について説明する。本実施形態において、アレイコントローラ200内のキャッシュメモリ25は、バックアップ用バッテリ26によってバックアップされる。但し、マスタLU50からキャッシュメモリ25に読み出されたバックアップLU51にコピーすべきデータは、次のデータのために速やかにクリアされることが好ましい。そこで、キャッシュメモリ25に読み出されたデータが全てバックアップLU51側のHDDのライトキャッシュメモリにライトバックモードで書き込まれた段階で、当該キャッシュメモリ25のデータをクリアすることが考えられる。しかし、キャッシュメモリ25のデータをクリアした後、バックアップLU51側のHDDのライトキャッシュメモリに書き込まれているデータが当該HDDのディスクに実際に書き込まれる前に電源遮断が発生すると、当該ライトキャッシュメモリのデータは消失するおそれがある。
次に、上記第3の実施形態の第2の変形例について説明する。本実施形態において、アレイコントローラ200内のキャッシュメモリ25は、バックアップ用バッテリ26によってバックアップされる。但し、マスタLU50からキャッシュメモリ25に読み出されたバックアップLU51にコピーすべきデータは、次のデータのために速やかにクリアされることが好ましい。そこで、キャッシュメモリ25に読み出されたデータが全てバックアップLU51側のHDDのライトキャッシュメモリにライトバックモードで書き込まれた段階で、当該キャッシュメモリ25のデータをクリアすることが考えられる。しかし、キャッシュメモリ25のデータをクリアした後、バックアップLU51側のHDDのライトキャッシュメモリに書き込まれているデータが当該HDDのディスクに実際に書き込まれる前に電源遮断が発生すると、当該ライトキャッシュメモリのデータは消失するおそれがある。
このような不具合を防止するため、第3の実施形態の第2の変形例では、アレイコントローラ200のコピー制御部23によるコピー制御が、図11に示すフローチャートに従って実行される。この図11のフローチャートにおいて、図9のフローチャートと同様の部分には同一参照符号を付してある。
以下、アレイコントローラ200のコピー制御部23によるコピー制御について、図11を参照して、図9のフローチャートと相違する部分について説明する。コピー制御部23は、マスタLU50からアレイコントローラ200のキャッシュメモリ25に読み出された、1ライトサイズより大きいサイズのデータを全てバックアップLU51側のHDDのライトキャッシュメモリに書き込むと(ステップS33)、一定時間を待つ(ステップS33a)。この一定時間は、バックアップLU51側のHDDのライトキャッシュメモリにデータが書き込まれた後、当該データを当該HDDのディスクに実際に書き込むのに必要な時間に設定される。コピー制御部23は、上記一定時間が経過すると、アレイコントローラ20のキャッシュメモリ25に読み出されているデータをクリアする(ステップS33b)。その後、コピー制御部23はステップS34の判定を行う。
これにより第2の変形例においては、アレイコントローラ20のキャッシュメモリ25に読み出されているデータをクリアした後に、システムの電源遮断が発生しても、その時点には、キャッシュメモリ25から取り出されてバックアップLU51側の各HDDのライトキャッシュメモリに書き込まれれたデータは、当該HDDのディスクに実際に書き込まれている。したがって、データの保全性を確保しながら、アレイコントローラ20のキャッシュメモリ25を有効に利用できる。
アレイコントローラ20のデータ復元部24は、コピー制御部23が上記一定時間を待っている期間にシステムの電源遮断が発生した場合、バックアップ用バッテリ26のバックアップによってキャッシュメモリ25に保持されているデータを、電源復旧後にバックアップLU51側の各HDDにライトスルーモードで書き込む。つまりデータ復元部24は、キャッシュメモリ25に保持されているデータを用いて、バックアップLU51のデータを復旧する。
前記したようにキャッシュメモリ25には、データブロック毎に当該ブロックのデータの他に書き込み先を示すアドレスが格納される。しかし、キャッシュメモリ25に保持されているデータをバックアップLU51のHDDにライトバックモードで書き込んだ後は、アドレスに比較して大きなメモリサイズを必要とするデータを当該キャッシュメモリ25からクリアして、そのクリアされたキャッシュメモリ25の領域を速やかに開放するようにしても良い。ここでは、コピー制御部23が上記一定時間を待っている期間にシステムの電源遮断が発生した場合、データ復元部24は電源が復旧した後に、キャッシュメモリ25に保持されているアドレスに基づいて、マスタLU50及びバックアップLU51からデータを読み出す必要がある。そしてデータ復元部24は、両データを比較して両データが一致しているかを判定し、一致していない場合、マスタLU50側のデータでバックアップLU51側のデータを復元する。
なお、本発明は、上記実施形態またはその変形例そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態またはその変形例に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態またはその変形例に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態または変形例に亘る構成要素を適宜組み合せてもよい。
10,40…ディスクアレイ、 11M,500,510…RAID1マスタ、 11S,501,511…RAID1スレーブ、20,200…アレイコントローラ、21…ライト制御部、22…WC制御部(ライトキャッシュ制御部)、23…コピー制御部、24…データ復元部、25…キャッシュメモリ、26…バックアップ用バッテリ、50…マスタLU(マスタ論理ユニット、マスタ側ディスクアレイ)、51…バックアップLU(バックアップ論理ユニット、バックアップ側ディスクアレイ)、41a,42a,43a,110a,111a,112a,113a…ライトキャッシュメモリ(WC)、41,42,43,110,111,112,113…HDD(磁気ディスクドライブ)
Claims (9)
- ディスク媒体に書き込むべきライトデータを一時格納するためのライトキャッシュメモリを有する複数のディスクドライブから構成される冗長性を持つ少なくとも1つのディスクアレイを制御するアレイコントローラにおいて、
データ及び当該データの冗長データを前記ディスクアレイの前記複数のディスクドライブに分散して書き込むための制御を行うライト制御手段と、
前記複数のディスクドライブのうち前記冗長データが書き込まれるディスクドライブのみ、前記ライトキャッシュメモリにデータが書き込まれた段階で当該ドライブへの書き込みを完了させるためのライトバックモードに設定するライトキャッシュ制御手段と
を具備することを特徴とするアレイコントローラ。 - 前記少なくとも1つのディスクアレイをホストからの書き込み要求で要求されたデータ及び当該データの冗長データが書き込まれるマスタ側ディスクアレイとして、当該マスタ側ディスクアレイのデータを読み出して、ライトキャッシュメモリを有する複数のディスクドライブから構成される冗長性を持つバックアップ側ディスクアレイにコピーするための制御を行うコピー制御手段を更に具備し、
前記ライトキャッシュ制御手段は、前記バックアップ側ディスクアレイの前記複数のディスクドライブの全てを前記ライトバックモードに設定する
ことを特徴とする請求項1記載のアレイコントローラ。 - 前記コピー制御手段によって前記マスタ側ディスクアレイから読み出されたデータを一時格納するためのキャッシュメモリを更に具備し、
前記コピー制御手段は、前記バックアップ側ディスクアレイに1回で書き込むことができるデータの最大サイズである1ライトサイズよりも大きいサイズで前記マスタ側ディスクアレイのデータを前記キャッシュメモリに読み込み、当該キャッシュメモリに読み込まれたデータを複数回に分けて前記バックアップ側ディスクアレイにコピーする
ことを特徴とする請求項2記載のアレイコントローラ。 - 前記キャッシュメモリは電源の遮断時に当該メモリに格納されているデータが消失しないように構成されており、
前記コピー制御手段は、前記マスタ側ディスクアレイから前記キャッシュメモリに読み込まれたデータを、当該データが前記バックアップ側ディスクアレイの前記複数のディスクドライブの前記ライトキャッシュメモリから当該ディスクドライブのディスク媒体に実際に書き込まれると予測される時間を待ってクリアする
ことを特徴とする請求項3記載のアレイコントローラ。 - 前記コピー制御手段が前記時間を待っている期間に電源遮断が発生し、その後電源が復旧した場合、前記キャッシュメモリを利用して、前記バックアップ側ディスクアレイの前記複数のディスクドライブのデータを復元させるデータ復元手段を更に具備することを特徴とする請求項4記載のアレイコントローラ。
- 前記キャッシュメモリは電源の遮断時に当該メモリに格納されているデータが消失しないように構成されており、
前記コピー制御手段は、前記マスタ側ディスクアレイから読み出されたデータと当該データのアドレスとを、一定サイズのデータブロック単位に前記キャッシュメモリに格納し、前記キャッシュメモリに格納されたデータを前記バックアップ側ディスクアレイの前記複数のディスクドライブに前記ライトバックモードで書き込んだ後に当該データを前記キャッシュメモリからクリアし、当該データのアドレスのみ前記予測される時間を待ってクリアする
ことを特徴とする請求項3記載のアレイコントローラ。 - 前記コピー制御手段が前記時間を待っている期間に電源遮断が発生し、その後電源が復旧した場合、前記キャッシュメモリに格納されているアドレスを利用して前記マスタ側ディスクアレイ及び前記バックアップ側ディスクアレイからデータを読み出して比較し、両データが一致していない場合、前記マスタ側ディスクアレイから読み出されたデータで前記バックアップ側ディスクアレイのデータを復元するデータ復元手段を更に具備することを特徴とする請求項6記載のアレイコントローラ。
- ディスク媒体に書き込むべきライトデータを一時格納するためのライトキャッシュメモリを有する複数のディスクドライブから構成される冗長性を持つ少なくとも1つのディスクアレイを制御するディスクアレイ制御方法において、
データ及び当該データの冗長データを前記ディスクアレイの前記複数のディスクドライブに分散して書き込むための制御を行うステップと、
前記複数のディスクドライブのうち前記冗長データが書き込まれるディスクドライブのみ、前記ライトキャッシュメモリにデータが書き込まれた段階で当該ドライブへの書き込みを完了させるためのライトバックモードに設定するステップと
を具備することを特徴とするディスクアレイ制御方法。 - ディスク媒体に書き込むべきライトデータを一時格納するためのライトキャッシュメモリを有する複数のディスクドライブから構成される冗長性を持つ少なくとも1つのディスクアレイを制御するアレイコントローラに実行させるためのプログラムであって、
前記アレイコントローラに、
データ及び当該データの冗長データを前記ディスクアレイの前記複数のディスクドライブに分散して書き込むための制御を行うステップと、
前記複数のディスクドライブのうち前記冗長データが書き込まれるディスクドライブのみ、前記ライトキャッシュメモリにデータが書き込まれた段階で当該ドライブへの書き込みを完了させるためのライトバックモードに設定するステップと
を実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005091999A JP2006277042A (ja) | 2005-03-28 | 2005-03-28 | アレイコントローラ、ディスクアレイ制御方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005091999A JP2006277042A (ja) | 2005-03-28 | 2005-03-28 | アレイコントローラ、ディスクアレイ制御方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006277042A true JP2006277042A (ja) | 2006-10-12 |
Family
ID=37211778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005091999A Pending JP2006277042A (ja) | 2005-03-28 | 2005-03-28 | アレイコントローラ、ディスクアレイ制御方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006277042A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013161112A (ja) * | 2012-02-01 | 2013-08-19 | Nec Corp | 情報処理装置、制御装置、及び情報処理方法 |
US9189350B2 (en) | 2012-01-06 | 2015-11-17 | Nec Corporation | Disk array control apparatus, disk array apparatus, and disk array control method |
-
2005
- 2005-03-28 JP JP2005091999A patent/JP2006277042A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9189350B2 (en) | 2012-01-06 | 2015-11-17 | Nec Corporation | Disk array control apparatus, disk array apparatus, and disk array control method |
JP2013161112A (ja) * | 2012-02-01 | 2013-08-19 | Nec Corp | 情報処理装置、制御装置、及び情報処理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7441081B2 (en) | Write-back caching for disk drives | |
JP3316500B2 (ja) | 移動されたデータの完全性を維持しながらraidセットにおけるドライブ数の拡張 | |
JP4486348B2 (ja) | ドライブの稼働時間を抑止するディスクアレイ | |
JP5353887B2 (ja) | ディスクアレイ装置の制御ユニット、データ転送装置及び復電処理方法 | |
JP4930555B2 (ja) | 制御装置、制御方法およびストレージシステム | |
JP5409159B2 (ja) | 情報処理装置、情報処理装置の制御方法及びプログラム | |
JP2004213064A (ja) | Raid装置及びその論理デバイス拡張方法 | |
JP2010211734A (ja) | 不揮発性メモリを用いた記憶装置 | |
US7721143B2 (en) | Method for reducing rebuild time on a RAID device | |
JP2002259062A (ja) | 記憶装置システム及び記憶装置システムにおけるデータの複写方法 | |
JP2006268503A (ja) | 計算機システム、ディスク装置およびデータ更新制御方法 | |
US7130973B1 (en) | Method and apparatus to restore data redundancy and utilize spare storage spaces | |
JP2000357059A (ja) | ディスクアレイ装置 | |
JP2004213470A (ja) | ディスクアレイ装置及びディスクアレイ装置におけるデータ書き込み方法 | |
JP2002099390A (ja) | ディスク制御装置 | |
JP4398596B2 (ja) | ディスクアレイ装置 | |
JP2005107839A (ja) | アレイコントローラ及びディスクアレイ再構築方法 | |
JP2010026812A (ja) | 磁気ディスク装置 | |
JP2007087263A (ja) | ミラーメモリ構成のコンピュータシステムにおけるダンプ方法、ダンプ制御機構、およびダンププログラム | |
JP2005107675A (ja) | ディスクアレイコントローラ及びディスクドライブの複製方法 | |
JP2006277042A (ja) | アレイコントローラ、ディスクアレイ制御方法及びプログラム | |
JP2009252001A (ja) | Raidシステム、及びエラーセクタの修復方法 | |
JP2007310548A (ja) | ディスクアレイ装置およびデータ管理方法 | |
JP2007323377A (ja) | 記録装置、管理データの書き込み方法および管理データの修復方法 | |
JPH09212424A (ja) | ディスクキャッシュ及びディスクキャッシュ方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080225 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080311 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080909 |