説明

ストレージ装置およびその制御方法

【課題】応答性を確保しつつ、消費電力の低減を可能とするストレージシステムを提供することが課題である。
【解決手段】外部の上位装置と接続され、複数の記憶装置によって構成された複数のRAIDグループと、上位装置から複数RAIDグループへのアクセスを制御するストレージコントローラとを備え、上位装置からのライトアクセス対象のRAIDグループを構成する複数の記憶装置のうちの1つはパリティを保存するパリティ保存用の記憶装置であることと、ストレージコントローラは上位装置からのライトアクセス対象のRAIDグループ内に構成される第1の論理ボリュームと、上位装置からのライトアクセス対象でないRAIDグループ内に構成される第2の論理ボリュームとを具備し、パリティ保存用の記憶装置を省電力状態とし、パリティ保存用の記憶装置に保存すべきパリティの変更情報を第2の論理ボリュームに保存する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態はストレージ装置およびその制御方法に関する。
【背景技術】
【0002】
従来、複数のHDDなどで構成される大容量ストレージ装置に冗長性を持たせることで、データの信頼性向上、およびシステムの運用性向上を実現するRAIDという技術がある。RAID技術は複数の種類が存在し、例えばRAID1(ミラーリング)、RAID5(XORパリティ)、およびRAID6(2重パリティ)がある。
【0003】
いずれのRAIDでも、冗長な記憶装置(例えばHDD)を1台以上用意することで1台乃至2台(RAID6の場合)のHDDが故障してもデータを復元できるため、システムを停止することなく運用を継続することができる。具体的には、1台乃至2台HDDが故障した場合にそれ以上のHDDが故障してしまう前に新しいHDDを用意して再び冗長な状態を復元することで、継続的に安定したシステム運用を実現できる。
【0004】
例えば大規模および中規模なストレージシステムでは、複数のHDDで構成されるRAIDグループを複数用意し、ストレージマネージャ機能で制御する方法が一般的である。このストレージマネージャはさまざまな実現方法が考えられ、RAIDコントローラ機能と一体化した装置で実現してもよい。また、RAIDコントローラと独立したサーバなどで実現してもよい。
【0005】
また、近年では大規模および中規模ストレージシステムの制御に仮想化の技術が利用される。仮想化の技術を用いると、例えばストレージマネージャがRAIDグループの構成や物理アドレスを隠蔽して論理的なボリュームを見せることにより、利用者はストレージシステムの物理的な構成がどうなっているか、データが実際にどこに配置されているか、などを意識することなく論理的なボリュームに対してアクセスすることでストレージシステムを利用できる。この技術の一例として、ディスクアレイに含まれるアレイの全領域(物理領域)をエクステント(物理エクステント)という一定サイズに区切って管理し、論理ディスクへのライトアクセスが発生した場合に当該ライトアクセスの対象となる領域に割り当てる(対応する)物理エクステントを実際に確保するという仮想論理ディスク方式がある。
【0006】
さらに、ストレージの仮想化には容量の仮想化という方法もある。容量の仮想化とは、利用者が意識している(持っていると思っている)ストレージ容量の全てを物理的に割り当てるのではなく、実際の利用量に応じた容量を割り当てることである。実際の利用量が増加するに伴い物理容量の割り当てを増加させることで、利用者は何も意識することなくストレージシステムの動作が可能となる。
【0007】
RAID技術を用いたストレージ装置では、冗長性の向上のためのHDDを常時稼動させる。例えばRAID1では1台につき1台、RAID5では数台につき1台、RAID6では数台につき2台の冗長なHDDを常時稼動させておく必要がある。
【0008】
HDDは1台あたり少なくとも10ワット程度の電力を消費する。HDDは内部構造としてプラッタを物理的に回転させるため、ある程度の消費電力が必要となるのは避けがたいことである。
【0009】
したがって、ストレージ装置においては信頼性を高めるために冗長度を向上するにつれて電力効率は悪くなるため、省電力化の技術が必要とされる。
【0010】
省電力化の技術として、MAID(Massive Arrays of Inactive Disks)と呼ばれる技術がある。これは、HDDの一部の電源をオフにしておくことで、省電力化を図る技術である。しかしながら、電源をオフにしているHDDに実データが入っている場合、そのデータが必要になったときにHDDの電源を改めて入れなければならないために応答性が悪い場合がある。また、他の省電力デバイスを一時的に代用する方法もあるが、十分なデータ量を用意すると相当に高価になってしまう。
【先行技術文献】
【特許文献】
【0011】
【特許文献1】特開2008−276626号公報
【発明の概要】
【発明が解決しようとする課題】
【0012】
応答性を確保しつつ、消費電力の低減を可能とするストレージ装置およびその制御方法を提供することが課題である。
【課題を解決するための手段】
【0013】
本実施形態のストレージ装置は、外部の上位装置と接続され、複数の記憶装置によって構成された複数のRAIDグループと、前記上位装置から前記複数RAIDグループへのアクセスを制御するストレージコントローラとを備えるストレージ装置であって、前記上位装置からのライトアクセス対象の前記RAIDグループを構成する前記複数の記憶装置のうちの一つは、パリティを保存するパリティ保存用の記憶装置であり、前記ストレージコントローラは、前記上位装置からのライトアクセス対象の前記RAIDグループ内に構成される第1の論理ボリュームと、前記上位装置からのライトアクセス対象でない前記RAIDグループを構成する前記複数の記憶装置に対応した第2の論理ボリュームとを具備し、前記パリティ保存用の記憶装置を省電力状態とし、前記パリティ保存用の記憶装置に保存すべきパリティの変更情報を前記第2の論理ボリュームに保存することを特徴とする。
【図面の簡単な説明】
【0014】
【図1】実施形態に係るストレージ装置のハードウェア構成を示すブロック図である。
【図2】実施形態に係るストレージ装置の機能構成の一例を示すブロック図である。
【図3】実施形態に係るストレージ装置の変更情報の一例を示す図である。
【図4】実施形態に係るストレージ装置においてホスト装置からライトアクセスが行われた場合のライト処理の一例を示すフローチャートである。
【図5】実施形態に係るストレージ装置の変更反映処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0015】
以下、本実施形態について図面を参照して説明する。
【0016】
図1は、本実施形態のストレージ装置10のハードウェア構成を示すブロック図である。
【0017】
ストレージ装置10は、ストレージコントローラ20、複数のディスクドライブなどの記憶装置で構成されるRAIDグループ30、複数のディスクドライブで構成されるRAIDグループ40、および外部の上位装置であるホスト装置と接続するためのデータ通信路50を有する。
【0018】
ディスクドライブとは、例えばハードディスクドライブ(HDD)である。本実施形態においては、RAIDグループ30、RAIDグループ40がそれぞれ、4つのHDD31〜34と、4つのHDD41〜44とを備えて構成される。なお、本実施形態の各RAIDグループはRAID6とされている。
【0019】
ストレージコントローラ20は、複数のRAIDグループと、外部のホスト装置などの上位装置との間のデータ送受信とを制御する機能を有する。ストレージコントローラ20は、ホストインタフェース制御回路111、チップセット112、キャッシュメモリ113、マイクロプロセッサ114、メモリ(ローカルメモリ)115、ROM116、RAIDグループ30を制御するRAIDコントローラ120、及びRAIDグループ40を制御するRAIDコントローラ121を含む。
【0020】
また、ストレージコントローラ20は、RAIDグループを構成する記憶装置を制御する。ストレージコントローラ20は、RAIDグループを構成する記憶装置のうちの一つをパリティ保存用の記憶装置とし、この記憶装置を平常時は省電力状態とする。この省電力状態とは、例えばHDDのスピンを停止した状態のことであり、消費電力の省電力化がなされた状態のことである。省電力状態のHDDに対してはデータのリード・ライトが行われない。本実施形態では、各RAIDグループのHDD34、44を第2パリティ保存専用とし、これらのHDDを平常時は省電力状態とする。
【0021】
RAID6のRAIDグループを含むストレージ装置10では、ホスト装置からのライトデータを受信すると、ストレージコントローラ20が第1パリティと第2パリティを計算する。パリティ保存用のHDDであるHDD34、およびHDD44に計算された2つのパリティのうちの一つである第2パリティが保存される。
【0022】
本実施形態では、例えば、RAIDグループ30にホスト装置からライト要求が行われると、ストレージコントローラ20が第1パリティと第2パリティを計算する。HDD31〜33にはライトデータと第1パリティが保存され、HDD34には第2パリティが保存される。
【0023】
ホストインタフェース制御回路111は、ストレージコントローラ20を外部のホスト装置と接続するためのSCSI(Small Computer System Interface)、あるいはファイバチャネル(FC:Fibre Channel)のようなホスト接続用インタフェースを制御する。
【0024】
チップセット112は、マイクロプロセッサ114、及びメモリ115、ROM116のような周辺回路を接続するためのブリッジ回路である。チップセット112には、内部バスを介して、ホストインタフェース制御回路111、及びキャッシュメモリ113も接続される。内部バスは、例えばPCI(Peripheral Component Interconnect Bus)あるいはPCI−Expressなどである。
【0025】
キャッシュメモリ113は、外部のホスト装置によって要求された読み書きデータを一時的に保持するためのバッファメモリである。
【0026】
マイクロプロセッサ114は、ROM116からメモリ115にコピー(ロード)されたプログラム117を実行することにより、ストレージコントローラ20内の他の要素の制御及び各種の処理を行う。
【0027】
メモリ115は、ストレージコントローラ20のローカルメモリとして用いられる。メモリ115は、ROM116に格納されているプログラム117がマイクロプロセッサ114による実行のためにコピーされる領域及びマイクロプロセッサ114の各種処理でのワーク領域を提供する。
【0028】
ROM116は、プログラム117を予め格納する不揮発性メモリである。ROM116に変えて、フラッシュROMのような書き換え可能な不揮発性メモリを用いても構わない。
【0029】
次に、図2を用いてストレージ装置10の機能構成を説明する。なお、図1と同一の構成については同一の符号とする。図2は、本実施形態のストレージ装置10の機能構成の一例を示すブロック図であり、矢印は平常時における上位装置からのライトアクセスのさいデータの流れを表す。
【0030】
ストレージ装置10は、当該ストレージ装置10に含まれるRAIDグループを構成する複数のHDDが分割された複数の物理エクステントのうちの、1つ以上の物理エクステントが割り当てられた論理エクステントを含む論理ボリュームを構成する。ホスト装置からRAIDグループにアクセスする際には、この論理ボリュームに対してアクセスが実行される。論理ボリュームには、論理ボリュームを識別するための論理ユニット番号(LUN:Logical Unit Number)が予め付与される。また、ストレージ装置10は、ホスト装置からアクセスされる論理ボリューム上での物理エクステントとの対応関係(論理エクステントと当該論理エクステントに割り当てられる物理エクステントとの対応関係)を管理する。また、ストレージ装置10のストレージコントローラ20は論理ボリュームが作成された後、ホスト装置からライトアクセス(書き込み要求)を受信する都度、当該ライトアクセスの対象となる論理エクステント(論理ディスクに含まれる論理エクステント)に割り当てる物理エクステントを確保する機能(仮想論理ボリューム機能)を備える。
【0031】
次に、本実施形態のストレージ装置10において、外部の上位装置からアクセスが行われた場合のストレージ装置10の動作について説明する。本実施形態において平常時は両RAIDグループの第2パリティ保存用のHDD34、44は省電力状態とし、データのリード・ライトを行わないことは、ホスト装置からのリード要求においては問題ない。しかしながら、ホスト装置からのライト要求が行われた場合は、RAIDの冗長性を損なわないために第2パリティの更新を行う必要がある。そのため、ホスト装置からのライトアクセスが行われた場合、本実施形態のストレージ装置10のストレージコントローラ20は、アクセス対象のRAIDグループを構成する省電力状態でないHDDに保存すべきデータを対応する論理ボリューム(第1の論理ボリューム)に順次保存する。そして、アクセス対象のRAIDグループを構成するHDDのうちの省電力状態のHDDに保存されるべきデータであるストレージコントローラ20が計算した第2パリティの変更情報を、アクセス対象外であるRAIDグループの起動状態のHDDの物理エクステントで構成された論理ボリュームのうちの一つに順次保存する。この変更情報を保存するための論理ボリュームを第2の論理ボリュームとする。変更情報は後述する変更履歴データと管理情報とを備える。
【0032】
すなわち、本実施形態のストレージ装置10は各RAIDグループにおいて、RAIDグループを構成する複数のHDDのうちの省電力状態でない記憶装置の記憶領域が分割された複数の物理エクステントに対応した論理エクステントにより構成される論理ボリュームを2つ備える。なお、これら2つの論理ボリュームの領域は重ならない。
【0033】
RAIDグループが有する2つの論理ボリュームのうち一つは第1の論理ボリュームであり、このRAIDグループにホスト装置からのライトアクセスが行われた際に、このRAIDグループを構成する起動状態のHDDに保存されるべきデータが保存される。起動状態のHDDに保存されるべきデータとは、ライトアクセスによるライトデータ、及びこのライトアクセスにより計算されたパリティのうちパリティ保存用の記憶装置に保存されないパリティである。
【0034】
もう一方の論理ボリュームは第2の論理ボリュームであり、ストレージ装置10を構成するRAIDグループのうち、この第2の論理ボリュームに対応する記憶装置を有するRAIDグループ以外のRAIDグループに、ホスト装置からのライトアクセスが行われた際に計算されたパリティのうちの一つの変更情報が保存される。
【0035】
具体的には、ストレージ装置10は、RAIDグループ30を構成するHDD31〜34のうち省電力状態であるHDD34を除くHDD31〜33における物理エクステントが割り当てられた論理エクステントを含む論理ボリューム21と、論理ボリューム21に割り当てられ物理エクステント以外のHDD31〜33の物理エクステントが割り当てられた論理エクステントを含む論理ボリューム22とを備える。また、RAIDグループ40を構成するHDD41〜43の物理エクステントが割り当てられた論理エクステントを含む論理ボリューム24と、論理ボリューム24に割り当てられ物理エクステント以外のHDD41〜43の物理エクステントが割り当てられた論理エクステントを含む論理ボリューム25とを備える。論理ボリューム21、22、24、及び25はストレージコントローラ20によって管理される。
【0036】
本実施形態の2つのRAIDグループを含むストレージ装置10はRAIDグループ40にライトアクセスが行われた場合、ライトデータと第1パリティとを第1の論理ボリューム24に保存し、ライトアクセスにより更新された第2パリティの変更情報をRAIDグループ30に対応する第2の論理ボリューム22に保存する。RAIDグループ30にデータを保存する際は、ライトデータと第1パリティとを第1の論理ボリューム21に保存し、ライトアクセスにより更新された第2パリティの変更情報をRAIDグループ40に対応する第2の論理ボリューム25に保存する。これにより平常時は、第2パリティ保存用であるHDD34、44を省電力状態としたままでのホスト装置からのライトアクセスを可能とする。
【0037】
なお、第2パリティ保存用の論理ボリュームである論理ボリューム22、25は、論理ボリューム22、25を構成する省電力状態でないHDD群を対応付けて、RAIDコントローラ機能において実現できる範囲のRAID機能を有する。ストレージ装置10の各RAIDグループ内では3台のHDDが常時稼動となっているため、例えばRAID5を用いて保存することが可能である。また、RAIDグループを5台以上のHDDで構成し、内4台以上のHDDを常時稼動させ、RAID6を構成して、パリティの変更情報を記憶することも可能である。なお、パリティ用である第2の論理ボリュームのRAIDレベルが実ボリュームのRAIDレベルと同一ならば、実ボリュームのRAIDレベルと同じ冗長度を保つことが可能である。1台のHDDに書き込むことも可能であるが、負荷を分散させまた信頼性を損なわないためにRAID5やRAID6などを用いるのが効率がよい。
【0038】
次に、第2の論理ボリューム60に保存するデータ構造の一例を図3に示す。この論理ボリューム60は第2の論理ボリューム22、および25である。
【0039】
図3に示すように、本実施形態において論理ボリューム60には、第2パリティの管理情報、および第2パリティの変更履歴データを備える変更情報が保存される。
【0040】
管理情報とは、第2パリティ変更履歴データを管理するためのものである。また、この管理情報に基づいて、ストレージコントローラ20は後述する変更反映処理を行う。本実施形態においては、第2の論理ボリュームに管理情報と変更履歴データとが記憶される。
【0041】
第2パリティの管理情報のデータ構造は、「変更反映閾値」、「領域開始位置」、「領域サイズ」、「有効開始位置」、「データサイズ」、および「変更反映中フラグ」から構成される。
【0042】
領域開始位置は、ストレージコントローラ20における論理ボリューム60の領域の開始位置を表す。領域サイズは、ストレージコントローラ20における論理ボリューム60の容量を表す。有効開始位置は、変更履歴データの開始位置を表し、後述する変更反映処理を行う際にストレージコントローラ20がアクセスすべき位置を示す。すなわち、前回の変更反映処理を行った際に繁栄された変更履歴データの終点である。データサイズは、保存されている第2パリティの変更履歴データのサイズであり、保存されている第2パリティの変更履歴データの終点を示す。変更反映中フラグは変更反映処理が行われているか否かを示す。変更反映閾値とは、変更反映処理を行うか否かの判定を行うための閾値であり、あらかじめ利用者が設定する。例えば、ある特定の容量を変更反映閾値とし、変更履歴データのデータサイズが変更反映閾値を超えた場合に変更反映処理を行うとしてもよい。また、領域サイズに対するデータサイズの比率によって変更反映閾値を設定し、変更履歴データのデータサイズが変更反映閾値を超えた場合に変更反映処理を行うとしてもよい。
【0043】
ストレージコントローラ20はこの管理情報に基づいて、対象の第2の論理ボリュームからデータを読み出し本来保存すべきHDDにパリティデータの反映を行う変更反映処理を行う。すなわち、変更反映条件(タイミング)が満たされた場合、管理情報に基づいて変更履歴データが本来保存されるべきであるHDDの物理エクステントに変更データを反映する変更反映処理を行う。なお、変更反映条件が満たされた場合とは、論理ボリューム60に保存された変更履歴データの量、もしくは第2ボリュームの領域サイズに対する変更履歴データの比率が変更反映閾値を超過した場合、もしくは、あらかじめ定めた周期が到来した場合としても良い。
【0044】
第2パリティの変更履歴データは、「アドレス」、「サイズ」、および「変更データ」から構成される。アドレスとは、更新した第2パリティが本来どこにあるかを示し、サイズとは、更新した第2パリティの変更データがどこまでかを示す。すなわち、変更データのサイズである。変更データとは、ホスト装置からのライトアクセスの際に更新された第2パリティである。ち本実施形態では、ホスト装置からライト要求が行われるごとにRAIDグループのデータが更新され、更新した第2パリティが発生する。その際に、論理ボリューム60の第2パリティの変更履歴データに更新した第2パリティのアドレス、サイズ、および変更データを順次記録する。
【0045】
第2パリティの変更履歴データを反映する場合には、省電力状態であったHDDを起動状態にして論理ボリューム60から変更履歴データを順次読み出す。読み出された変更履歴データに基づき、変更データを対象のHDDに書き込んでいく。全ての変更データの書き込みが終了した場合、HDDを省電力状態にし、変更反映中フラグをクリアし、変更反映処理を終了する。なお、変更反映処理終了した変更履歴データを消去することも可能である。その場合、変更反映を行った変更履歴データを順次消去しても良いし、全ての変更履歴データを反映した後に消去しても良い。
【0046】
ここで通常時、すなわちHDD34およびHDD44が省電力状態である際に、ホスト装置がRAID6であるRAIDグループ30にライト要求を行う場合のストレージ装置10のライト処理について、図4のフローチャートを参照して説明する。
【0047】
ホスト装置からライト要求を受信すると、まずストレージコントローラ20はアクセス対象であるRAIDグループ30における省電力状態であるHDD34以外のHDDのアクセス対象のストライプ内に保存されたデータを全てリードする(ステップS11)。ストレージコントローラ20はホスト装置からのライトデータとステップS11でリードしたリードデータとから、第1パリティと第2パリティとを算出する(ステップS12)。ストレージコントローラ20は、受信したライトデータと算出した第1パリティを論理ボリューム21に保存する(ステップS13)。なお、受信したライトデータと算出した第1パリティはRAIDグループ30のHDD31〜33のうち少なくとも2台以上のHDDにストライプ単位で分散して書き込まれる。また、ストレージコントローラ20は算出した第2パリティを保存するための第2の論理ボリュームである論理ボリューム25にアクセスし、第2パリティの変更情報である管理情報と変更履歴データと含む変更情報を取得する(ステップS14)。論理ボリューム25が有する第2パリティの管理情報における「データサイズ」に基づき、第2の論理ボリューム25が有する変更履歴データの終端にステップS12で計算した第2パリティデータの変更履歴データであるアドレス、サイズ、変更データを追記し(ステップS15)、管理情報のデータサイズをステップS12で計算した第2パリティのサイズを追加したデータサイズに更新する(ステップS16)。更新後、ホスト装置へライト完了を通知する(ステップS17)。
【0048】
続いて、ストレージコントローラ20は、変更反映処理を行っている最中であるか否かの判定を行う(ステップS18)。変更反映処理を行っているか否かの判定は、管理情報の変更反映中フラグに基づいて行う。
【0049】
変更反映処理中の場合(ステップS18がNo)、ライト処理を終了する。変更反映処理を行っていない場合(ステップS18がYes)、変更反映条件を満たしているか否かの判定を行う(ステップS19)。具体的には、論理ボリューム25の管理情報の有する変更履歴データのデータサイズが変更反映閾値を超過しているか否かの判定を行う。
【0050】
この変更履歴データのデータサイズが変更反映閾値を超過していない場合(ステップS19がNo)、変更反映処理中の場合と同様にライト処理を終了する。変更履歴データのデータサイズが変更反映閾値を超過している場合(ステップS19がYes)、ストレージコントローラ20は、変更反映処理を行う(ステップS20)。変更反映処理終了後、ライト処理を終了する。
【0051】
ここで、図5を用いて本実施形態にかかるストレージ装置10の変更反映処理について説明する。
【0052】
まず、ストレージコントローラ20は論理ボリューム25の管理情報の変更反映中フラグに変更反映処理中であることを示すフラグを立てる(ステップS21)。続いて、ストレージコントローラ20は、RAIDグループ30の第2パリティデータの管理情報に基づいて変更履歴データを取得する(ステップS22)。ステップS22では、具体的には管理情報の有効開始位置と、データサイズとに基づいて、論理ボリューム25に保存された変更履歴データを取得する。続いて、ストレージコントローラ20は取得された変更履歴データに「変更データ」が含まれるか否かの判定を行う(ステップS23)。取得された変更履歴データ中に「変更データ」が含まれない場合(ステップS23がNo)、変更反映処理を終了する。取得された変更履歴データ中に「変更データ」が含まれる場合(ステップS23がYes)、RAIDグループ30の有する省電力状態のHDD34を起動する(ステップS24)。次に、管理情報に基づいて変更反映処理の終了条件を設定する(ステップS25)。具体的には、論理ボリューム25が有する変更履歴データの終点であるデータサイズが、以下のステップS27〜ステップS30における処理のループ終了条件としてRAIDコントローラ120に設定される。なお、変更履歴データの終点は「データサイズ」を参照して設定される。
【0053】
ここで、ストレージコントローラ20は、変更反映変数X=‘0’と設定する(ステップS26)。変更反映変数とは、変更反映処理によって、それまでに省電力状態であるHDDに書き込まれた変更データの量を示す。ここでは、まだHDD34に変更データが反映されていないため‘0’とする。そしてストレージコントローラ20は、管理情報の有効開始位置にある変更履歴データのアドレス、サイズ、変更データを順次抽出し(ステップS27)、ステップS27で抽出したサイズに基づいて第2パリティ変更データを論理ボリューム25からリードし、取得したアドレスに基づいて起動状態であるHDD34にライト処理を行う(ステップS28)。ライト処理完了後、変更履歴データからステップS27で抽出した変更履歴データを論理ボリューム25から消去し、管理情報の有効開始位置とデータサイズとを更新する(ステップS29)。すなわち、データサイズからステップS28で書き込まれたサイズを減じ、有効開始位置を次の変更履歴データのアドレスの位置に更新する。
【0054】
次に、ストレージコントローラ20は変更反映変数XにステップS27で取得した変更履歴データのデータサイズを加算し(ステップS30)、加算された変更反映変数Xの値がステップS25で設定された終点を越えているか否かの判定を行う(ステップS31)。超えていない場合(ステップS31がNo)、ステップS27の処理へ戻り、処理を繰り返す。
【0055】
超えた場合(ステップS31がYes)、第2パリティ保存用のHDD34を省電力状態に移行する(ステップS32)。そして、管理情報の変更反映中フラグをクリアし(ステップS33)、変更反映処理を終了する。
【0056】
すなわちストレージ装置10は第2パリティの変更履歴データ量があらかじめ設定した変更反映閾値を超過した場合、変更履歴データに基づいて本来第2パリティを保存すべきHDDである省電力状態のHDD34に反映する。
【0057】
本実施形態のストレージ装置10によれば、通常時は各RAIDグループで1または2台のHDDを省電力状態にし、その台数の分だけ消費電力を低減することが可能となる。また、データのリード性能には悪影響はなく、またライト性能についても大きな損失はない。信頼性については、パリティの論理ボリュームのRAIDレベルが実ボリュームのRAIDレベルと同一ならば、同じ冗長度を保つことができる。
【0058】
また、特にパリティをひとつのHDDにまとめて配置するような構成(RAID4、またはRAID6で第2パリティを1台にまとめる構成)では、パリティ保存用のHDDを省電力状態としておくと処理の効率がよい。この場合、リード要求に対しては計算の必要が無く、直接データを返すことができるため効率的な処理が可能である。また、本実施形態では、第2パリティをパリティ保存用のHDDに保存するとしたが、第1パリティを保存することももちろん可能である。
【0059】
本発明の実施形態を説明したが、この実施形態は例として提示したものであり発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
【0060】
例えば、変更を反映するタイミングは上述した変更反映閾値によるもののほか、パリティ保存用の論理ボリュームの記憶容量に対する第2パリティの変更履歴データ量の比率があらかじめ設定した比率を超えた場合としても良い。また、利用者が指定した時刻に行うようにすることも可能である。利用者が指定する時刻は、例えばI/O要求が少ないとわかっているような時刻に指定すると良い。また、変更履歴の反映はあらかじめ定めた一定時刻にも行うようにすることも可能である。
【0061】
また、本実施形態のいずれかのRAIDグループでHDDの故障を検知した場合は、そのRAIDグループにおいて省電力状態のHDDを稼動状態に変更する。そして、他方のRAIDグループに保存されている変更履歴をそのHDDに反映することにより、縮退したRAIDグループとして動作を継続する。故障したHDDが交換されると、新しいHDDにあるべきデータが復元(リビルド)され、省電力状態であるべきHDDは再び省電力状態になる。
【0062】
なお、本実施形態においてパリティ用である第2の論理ボリュームの領域サイズ(容量)を、RAIDグループ内の記憶領域で実データが使用してない領域(データが記憶されていない領域)の大きさに比例して動的に変更するようにすることも可能である。すなわち、論理ボリュームの容量を仮想化し実データが少ない場合は第1の論理ボリュームに対しては少ないディスク領域を与え、第2の論理ボリュームに大きな領域を与える。実データが増加してきた場合は第1の論理ボリュームに対して与える実ディスク容量を増加させ、第2の論理ボリュームの容量を小さくする。具体的には、対象のRAIDグループを構成する複数の記憶装置から省電力状態の記憶装置を除いた記憶装置の記憶容量から、実ボリュームで使用している記憶容量を減じた容量、もしくはさらに、そこからあらかじめ定められた特定の容量を減じた容量として変更することも可能である。この場合、実データが少ないうちは変更反映の頻度が少なくなるためさらなる省電力化が可能である。
【0063】
また、ストレージ装置10は、通常時は各RAIDグループで1または2台のHDDを省電力状態にすることを可能とする。すなわち、ストレージシステムの冗長性を確保しつつ、省電力状態としたHDDの台数分の消費電力を低減することを可能とする。
また、ストレージ装置10を構成するRAIDグループにおいて省電力状態とするHDDの台数は、そのRAIDにおける冗長性の数以下とする。例えば、RAID6なら2台以下である。これにより、リード要求時にグループ内で稼動しているHDDのみからリードデータを得ることができる。
【0064】
また、本実施形態では、一つのストレージマネージャが複数のRAIDコントローラを制御するケースを説明したが、複数のストレージマネージャ間で必要な通信を行ってもよい。また本実施形態では、RAIDグループを構成するディスクドライブは4つとしたが、2つ以上であればよい。また、本実施形態では2つのRAIDグループが存在する場合はお互いのパリティを他方の論理ボリュームに預けることにより、両方のRAIDグループでパリティのHDDを省電力状態にしたが、3つのRAIDグループでは循環型にするなどとし、RAIDグループがいくつであっても実施することは可能である。もちろん、特定のRAIDグループは省電力状態のHDDなしにするなど、非対称に構成することも容易に可能である。また、RAIDグループが1つとすることも可能である。
【符号の説明】
【0065】
10…ストレージ装置、20…ストレージコントローラ、30、40…RAIDグループ、50…データ通信路、111…ホストインタフェース制御回路、112…チップセット、113…キャッシュメモリ、114…マイクロプロセッサ114…メモリ(ローカルメモリ)、116…ROM116…プログラム、120、121…RAIDコントローラ

【特許請求の範囲】
【請求項1】
外部の上位装置と接続され、複数の記憶装置によって構成された複数のRAIDグループと、前記上位装置から前記複数RAIDグループへのアクセスを制御するストレージコントローラとを備えるストレージ装置であって、
前記上位装置からのライトアクセス対象の前記RAIDグループを構成する前記複数の記憶装置のうちの1つは、パリティを保存するパリティ保存用の記憶装置であることと、
前記ストレージコントローラは、前記上位装置からのライトアクセス対象の前記RAIDグループ内に構成される第1の論理ボリュームと、前記上位装置からのライトアクセス対象でない前記RAIDグループ内に構成される第2の論理ボリュームとを具備し、前記パリティ保存用の記憶装置を省電力状態とし、前記パリティ保存用の記憶装置に保存すべきパリティの変更情報を前記第2の論理ボリュームに保存することとを特徴とするストレージ装置。
【請求項2】
前記変更情報は、管理情報と変更履歴データとを含み、
前記管理情報は変更反映閾値と領域開始位置と領域サイズと有効開始位置とデータサイズと変更反映中フラグとを含み、前記変更履歴データは前記ライトアクセスにより更新されたパリティの前記パリティ保存用の記憶装置における保存先を示すアドレスとサイズと変更データとを含むことを特徴とする請求項1に記載のストレージ装置。
【請求項3】
前記ストレージコントローラは、特定のタイミングで前記パリティ保存用の記憶装置を起動状態とし、前記管理情報に基づいて前記変更履歴データを起動状態の前記パリティ保存用の記憶装置に反映する変更反映処理を行うことを特徴とする請求項2に記載のストレージ装置。
【請求項4】
前記ストレージコントローラは、前記変更履歴データのサイズが前記変更反映閾値を超えた場合に前記変更反映処理を行うことを特徴とする請求項3に記載のストレージ装置。
【請求項5】
前記ストレージコントローラは、あらかじめ定めた日付または時刻になった場合に前記変更反映処理を行うことを特徴とする請求項3乃至請求項4のいずれか1項に記載のストレージ装置。
【請求項6】
前記ストレージコントローラは、前記省電力状態の記憶装置を含む複数の記憶装置により構成されたRAIDグループのうちの1つの記憶装置が故障した場合に前記変更反映処理を行うことを特徴とする請求項3乃至請求項5のいずれか1項に記載のストレージ装置。
【請求項7】
前記ストレージコントローラは前記第2の論理ボリュームの容量を、前記第2の論理ボリュームに対応する前記RAIDグループの記憶容量から実ボリュームが使用している記憶容量を減じた容量、もしくは、該容量からさらに特定の容量を減じた容量とすることを特徴とする請求項1乃至請求項6のいずれか1項に記載のストレージ装置。
【請求項8】
外部の上位装置と接続され、複数の記憶装置によって構成された複数のRAIDグループと、前記上位装置から前記複数RAIDグループへのアクセスを制御するストレージコントローラとを備えるストレージ装置であって、前記上位装置からのライトアクセス対象の前記RAIDグループを構成する前記複数の記憶装置のうちの1つは、パリティを保存するパリティ保存用の記憶装置であることと、前記ストレージコントローラは、前記上位装置からのライトアクセス対象の前記RAIDグループを構成する前記複数の記憶装置のうち、前記パリティ保存用の記憶装置以外の記憶装置に対応した第1の論理ボリュームと、前記上位装置からのライトアクセス対象でない前記RAIDグループを構成する前記複数の記憶装置に対応した第2の論理ボリュームとを具備し、前記パリティ保存用の記憶装置を省電力状態とすることとを特徴とするストレージ装置の制御方法であって、
前記上位装置からのライトアクセスにより、前記ストレージコントローラがデータを受信するステップと、
受信した前記データに基づき、前記パリティを計算するステップと、
前記パリティ保存用の記憶装置に保存すべきパリティの変更情報を前記第2の論理ボリュームに保存するステップとを備えることを特徴とするストレージ装置の制御方法。
【請求項9】
前記変更情報は管理情報と変更履歴データとを含み、
前記ストレージコントローラは、特定のタイミングで前記パリティ保存用の記憶装置を起動状態とするステップと、
前記管理情報に基づいて前記変更履歴データを起動状態の前記パリティ保存用の記憶装置に反映するステップとを備えることを特徴とする請求項8に記載のストレージ装置の制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate