(57)【要約】【課題】応答性を確保しつつ、消費電力の低減を可能とするストレージシステムを提供することが課題である。【解決手段】外部の上位装置と接続され、複数の記憶装置によって構成された複数のＲＡＩＤグループと、上位装置から複数ＲＡＩＤグループへのアクセスを制御するストレージコントローラとを備え、上位装置からのライトアクセス対象のＲＡＩＤグループを構成する複数の記憶装置のうちの１つはパリティを保存するパリティ保存用の記憶装置であることと、ストレージコントローラは上位装置からのライトアクセス対象のＲＡＩＤグループ内に構成される第１の論理ボリュームと、上位装置からのライトアクセス対象でないＲＡＩＤグループ内に構成される第２の論理ボリュームとを具備し、パリティ保存用の記憶装置を省電力状態とし、パリティ保存用の記憶装置に保存すべきパリティの変更情報を第２の論理ボリュームに保存する。【選択図】図１
2012033046.tif 000002
【特許請求の範囲】
【請求項１】
外部の上位装置と接続され、複数の記憶装置によって構成された複数のＲＡＩＤグループと、前記上位装置から前記複数ＲＡＩＤグループへのアクセスを制御するストレージコントローラとを備えるストレージ装置であって、
前記上位装置からのライトアクセス対象の前記ＲＡＩＤグループを構成する前記複数の記憶装置のうちの１つは、パリティを保存するパリティ保存用の記憶装置であることと、
前記ストレージコントローラは、前記上位装置からのライトアクセス対象の前記ＲＡＩＤグループ内に構成される第１の論理ボリュームと、前記上位装置からのライトアクセス対象でない前記ＲＡＩＤグループ内に構成される第２の論理ボリュームとを具備し、前記パリティ保存用の記憶装置を省電力状態とし、前記パリティ保存用の記憶装置に保存すべきパリティの変更情報を前記第２の論理ボリュームに保存することとを特徴とするストレージ装置。
【請求項２】
前記変更情報は、管理情報と変更履歴データとを含み、
前記管理情報は変更反映閾値と領域開始位置と領域サイズと有効開始位置とデータサイズと変更反映中フラグとを含み、前記変更履歴データは前記ライトアクセスにより更新されたパリティの前記パリティ保存用の記憶装置における保存先を示すアドレスとサイズと変更データとを含むことを特徴とする請求項１に記載のストレージ装置。
【請求項３】
前記ストレージコントローラは、特定のタイミングで前記パリティ保存用の記憶装置を起動状態とし、前記管理情報に基づいて前記変更履歴データを起動状態の前記パリティ保存用の記憶装置に反映する変更反映処理を行うことを特徴とする請求項２に記載のストレージ装置。
【請求項４】
前記ストレージコントローラは、前記変更履歴データのサイズが前記変更反映閾値を超えた場合に前記変更反映処理を行うことを特徴とする請求項３に記載のストレージ装置。
【請求項５】
前記ストレージコントローラは、あらかじめ定めた日付または時刻になった場合に前記変更反映処理を行うことを特徴とする請求項３乃至請求項４のいずれか１項に記載のストレージ装置。
【請求項６】
前記ストレージコントローラは、前記省電力状態の記憶装置を含む複数の記憶装置により構成されたＲＡＩＤグループのうちの１つの記憶装置が故障した場合に前記変更反映処理を行うことを特徴とする請求項３乃至請求項５のいずれか１項に記載のストレージ装置。
【請求項７】
前記ストレージコントローラは前記第２の論理ボリュームの容量を、前記第２の論理ボリュームに対応する前記ＲＡＩＤグループの記憶容量から実ボリュームが使用している記憶容量を減じた容量、もしくは、該容量からさらに特定の容量を減じた容量とすることを特徴とする請求項１乃至請求項６のいずれか１項に記載のストレージ装置。
【請求項８】
外部の上位装置と接続され、複数の記憶装置によって構成された複数のＲＡＩＤグループと、前記上位装置から前記複数ＲＡＩＤグループへのアクセスを制御するストレージコントローラとを備えるストレージ装置であって、前記上位装置からのライトアクセス対象の前記ＲＡＩＤグループを構成する前記複数の記憶装置のうちの１つは、パリティを保存するパリティ保存用の記憶装置であることと、前記ストレージコントローラは、前記上位装置からのライトアクセス対象の前記ＲＡＩＤグループを構成する前記複数の記憶装置のうち、前記パリティ保存用の記憶装置以外の記憶装置に対応した第１の論理ボリュームと、前記上位装置からのライトアクセス対象でない前記ＲＡＩＤグループを構成する前記複数の記憶装置に対応した第２の論理ボリュームとを具備し、前記パリティ保存用の記憶装置を省電力状態とすることとを特徴とするストレージ装置の制御方法であって、
前記上位装置からのライトアクセスにより、前記ストレージコントローラがデータを受信するステップと、
受信した前記データに基づき、前記パリティを計算するステップと、
前記パリティ保存用の記憶装置に保存すべきパリティの変更情報を前記第２の論理ボリュームに保存するステップとを備えることを特徴とするストレージ装置の制御方法。
【請求項９】
前記変更情報は管理情報と変更履歴データとを含み、
前記ストレージコントローラは、特定のタイミングで前記パリティ保存用の記憶装置を起動状態とするステップと、
前記管理情報に基づいて前記変更履歴データを起動状態の前記パリティ保存用の記憶装置に反映するステップとを備えることを特徴とする請求項８に記載のストレージ装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態はストレージ装置およびその制御方法に関する。
【背景技術】
【０００２】
従来、複数のＨＤＤなどで構成される大容量ストレージ装置に冗長性を持たせることで、データの信頼性向上、およびシステムの運用性向上を実現するＲＡＩＤという技術がある。ＲＡＩＤ技術は複数の種類が存在し、例えばＲＡＩＤ１（ミラーリング）、ＲＡＩＤ５（ＸＯＲパリティ）、およびＲＡＩＤ６（２重パリティ）がある。
【０００３】
いずれのＲＡＩＤでも、冗長な記憶装置（例えばＨＤＤ）を１台以上用意することで１台乃至２台（ＲＡＩＤ６の場合）のＨＤＤが故障してもデータを復元できるため、システムを停止することなく運用を継続することができる。具体的には、１台乃至２台ＨＤＤが故障した場合にそれ以上のＨＤＤが故障してしまう前に新しいＨＤＤを用意して再び冗長な状態を復元することで、継続的に安定したシステム運用を実現できる。
【０００４】
例えば大規模および中規模なストレージシステムでは、複数のＨＤＤで構成されるＲＡＩＤグループを複数用意し、ストレージマネージャ機能で制御する方法が一般的である。このストレージマネージャはさまざまな実現方法が考えられ、ＲＡＩＤコントローラ機能と一体化した装置で実現してもよい。また、ＲＡＩＤコントローラと独立したサーバなどで実現してもよい。
【０００５】
また、近年では大規模および中規模ストレージシステムの制御に仮想化の技術が利用される。仮想化の技術を用いると、例えばストレージマネージャがＲＡＩＤグループの構成や物理アドレスを隠蔽して論理的なボリュームを見せることにより、利用者はストレージシステムの物理的な構成がどうなっているか、データが実際にどこに配置されているか、などを意識することなく論理的なボリュームに対してアクセスすることでストレージシステムを利用できる。この技術の一例として、ディスクアレイに含まれるアレイの全領域（物理領域）をエクステント（物理エクステント）という一定サイズに区切って管理し、論理ディスクへのライトアクセスが発生した場合に当該ライトアクセスの対象となる領域に割り当てる（対応する）物理エクステントを実際に確保するという仮想論理ディスク方式がある。
【０００６】
さらに、ストレージの仮想化には容量の仮想化という方法もある。容量の仮想化とは、利用者が意識している（持っていると思っている）ストレージ容量の全てを物理的に割り当てるのではなく、実際の利用量に応じた容量を割り当てることである。実際の利用量が増加するに伴い物理容量の割り当てを増加させることで、利用者は何も意識することなくストレージシステムの動作が可能となる。
【０００７】
ＲＡＩＤ技術を用いたストレージ装置では、冗長性の向上のためのＨＤＤを常時稼動させる。例えばＲＡＩＤ１では１台につき１台、ＲＡＩＤ５では数台につき１台、ＲＡＩＤ６では数台につき２台の冗長なＨＤＤを常時稼動させておく必要がある。
【０００８】
ＨＤＤは１台あたり少なくとも１０ワット程度の電力を消費する。ＨＤＤは内部構造としてプラッタを物理的に回転させるため、ある程度の消費電力が必要となるのは避けがたいことである。
【０００９】
したがって、ストレージ装置においては信頼性を高めるために冗長度を向上するにつれて電力効率は悪くなるため、省電力化の技術が必要とされる。
【００１０】
省電力化の技術として、ＭＡＩＤ（Massive Arrays of Inactive Disks）と呼ばれる技術がある。これは、ＨＤＤの一部の電源をオフにしておくことで、省電力化を図る技術である。しかしながら、電源をオフにしているＨＤＤに実データが入っている場合、そのデータが必要になったときにＨＤＤの電源を改めて入れなければならないために応答性が悪い場合がある。また、他の省電力デバイスを一時的に代用する方法もあるが、十分なデータ量を用意すると相当に高価になってしまう。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００８−２７６６２６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
応答性を確保しつつ、消費電力の低減を可能とするストレージ装置およびその制御方法を提供することが課題である。
【課題を解決するための手段】
【００１３】
本実施形態のストレージ装置は、外部の上位装置と接続され、複数の記憶装置によって構成された複数のＲＡＩＤグループと、前記上位装置から前記複数ＲＡＩＤグループへのアクセスを制御するストレージコントローラとを備えるストレージ装置であって、前記上位装置からのライトアクセス対象の前記ＲＡＩＤグループを構成する前記複数の記憶装置のうちの一つは、パリティを保存するパリティ保存用の記憶装置であり、前記ストレージコントローラは、前記上位装置からのライトアクセス対象の前記ＲＡＩＤグループ内に構成される第１の論理ボリュームと、前記上位装置からのライトアクセス対象でない前記ＲＡＩＤグループを構成する前記複数の記憶装置に対応した第２の論理ボリュームとを具備し、前記パリティ保存用の記憶装置を省電力状態とし、前記パリティ保存用の記憶装置に保存すべきパリティの変更情報を前記第２の論理ボリュームに保存することを特徴とする。
【図面の簡単な説明】
【００１４】
【図１】実施形態に係るストレージ装置のハードウェア構成を示すブロック図である。
【図２】実施形態に係るストレージ装置の機能構成の一例を示すブロック図である。
【図３】実施形態に係るストレージ装置の変更情報の一例を示す図である。
【図４】実施形態に係るストレージ装置においてホスト装置からライトアクセスが行われた場合のライト処理の一例を示すフローチャートである。
【図５】実施形態に係るストレージ装置の変更反映処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、本実施形態について図面を参照して説明する。
【００１６】
図１は、本実施形態のストレージ装置１０のハードウェア構成を示すブロック図である。
【００１７】
ストレージ装置１０は、ストレージコントローラ２０、複数のディスクドライブなどの記憶装置で構成されるＲＡＩＤグループ３０、複数のディスクドライブで構成されるＲＡＩＤグループ４０、および外部の上位装置であるホスト装置と接続するためのデータ通信路５０を有する。
【００１８】
ディスクドライブとは、例えばハードディスクドライブ（ＨＤＤ）である。本実施形態においては、ＲＡＩＤグループ３０、ＲＡＩＤグループ４０がそれぞれ、４つのＨＤＤ３１〜３４と、４つのＨＤＤ４１〜４４とを備えて構成される。なお、本実施形態の各ＲＡＩＤグループはＲＡＩＤ６とされている。
【００１９】
ストレージコントローラ２０は、複数のＲＡＩＤグループと、外部のホスト装置などの上位装置との間のデータ送受信とを制御する機能を有する。ストレージコントローラ２０は、ホストインタフェース制御回路１１１、チップセット１１２、キャッシュメモリ１１３、マイクロプロセッサ１１４、メモリ（ローカルメモリ）１１５、ＲＯＭ１１６、ＲＡＩＤグループ３０を制御するＲＡＩＤコントローラ１２０、及びＲＡＩＤグループ４０を制御するＲＡＩＤコントローラ１２１を含む。
【００２０】
また、ストレージコントローラ２０は、ＲＡＩＤグループを構成する記憶装置を制御する。ストレージコントローラ２０は、ＲＡＩＤグループを構成する記憶装置のうちの一つをパリティ保存用の記憶装置とし、この記憶装置を平常時は省電力状態とする。この省電力状態とは、例えばＨＤＤのスピンを停止した状態のことであり、消費電力の省電力化がなされた状態のことである。省電力状態のＨＤＤに対してはデータのリード・ライトが行われない。本実施形態では、各ＲＡＩＤグループのＨＤＤ３４、４４を第２パリティ保存専用とし、これらのＨＤＤを平常時は省電力状態とする。
【００２１】
ＲＡＩＤ６のＲＡＩＤグループを含むストレージ装置１０では、ホスト装置からのライトデータを受信すると、ストレージコントローラ２０が第１パリティと第２パリティを計算する。パリティ保存用のＨＤＤであるＨＤＤ３４、およびＨＤＤ４４に計算された２つのパリティのうちの一つである第２パリティが保存される。
【００２２】
本実施形態では、例えば、ＲＡＩＤグループ３０にホスト装置からライト要求が行われると、ストレージコントローラ２０が第１パリティと第２パリティを計算する。ＨＤＤ３１〜３３にはライトデータと第１パリティが保存され、ＨＤＤ３４には第２パリティが保存される。
【００２３】
ホストインタフェース制御回路１１１は、ストレージコントローラ２０を外部のホスト装置と接続するためのＳＣＳＩ（Small Computer System Interface）、あるいはファイバチャネル（ＦＣ：Fibre Channel）のようなホスト接続用インタフェースを制御する。
【００２４】
チップセット１１２は、マイクロプロセッサ１１４、及びメモリ１１５、ＲＯＭ１１６のような周辺回路を接続するためのブリッジ回路である。チップセット１１２には、内部バスを介して、ホストインタフェース制御回路１１１、及びキャッシュメモリ１１３も接続される。内部バスは、例えばＰＣＩ（Peripheral Component Interconnect Bus）あるいはＰＣＩ−Ｅｘｐｒｅｓｓなどである。
【００２５】
キャッシュメモリ１１３は、外部のホスト装置によって要求された読み書きデータを一時的に保持するためのバッファメモリである。
【００２６】
マイクロプロセッサ１１４は、ＲＯＭ１１６からメモリ１１５にコピー（ロード）されたプログラム１１７を実行することにより、ストレージコントローラ２０内の他の要素の制御及び各種の処理を行う。
【００２７】
メモリ１１５は、ストレージコントローラ２０のローカルメモリとして用いられる。メモリ１１５は、ＲＯＭ１１６に格納されているプログラム１１７がマイクロプロセッサ１１４による実行のためにコピーされる領域及びマイクロプロセッサ１１４の各種処理でのワーク領域を提供する。
【００２８】
ＲＯＭ１１６は、プログラム１１７を予め格納する不揮発性メモリである。ＲＯＭ１１６に変えて、フラッシュＲＯＭのような書き換え可能な不揮発性メモリを用いても構わない。
【００２９】
次に、図２を用いてストレージ装置１０の機能構成を説明する。なお、図１と同一の構成については同一の符号とする。図２は、本実施形態のストレージ装置１０の機能構成の一例を示すブロック図であり、矢印は平常時における上位装置からのライトアクセスのさいデータの流れを表す。
【００３０】
ストレージ装置１０は、当該ストレージ装置１０に含まれるＲＡＩＤグループを構成する複数のＨＤＤが分割された複数の物理エクステントのうちの、１つ以上の物理エクステントが割り当てられた論理エクステントを含む論理ボリュームを構成する。ホスト装置からＲＡＩＤグループにアクセスする際には、この論理ボリュームに対してアクセスが実行される。論理ボリュームには、論理ボリュームを識別するための論理ユニット番号（ＬＵＮ：Logical Unit Number）が予め付与される。また、ストレージ装置１０は、ホスト装置からアクセスされる論理ボリューム上での物理エクステントとの対応関係（論理エクステントと当該論理エクステントに割り当てられる物理エクステントとの対応関係）を管理する。また、ストレージ装置１０のストレージコントローラ２０は論理ボリュームが作成された後、ホスト装置からライトアクセス（書き込み要求）を受信する都度、当該ライトアクセスの対象となる論理エクステント（論理ディスクに含まれる論理エクステント）に割り当てる物理エクステントを確保する機能（仮想論理ボリューム機能）を備える。
【００３１】
次に、本実施形態のストレージ装置１０において、外部の上位装置からアクセスが行われた場合のストレージ装置１０の動作について説明する。本実施形態において平常時は両ＲＡＩＤグループの第２パリティ保存用のＨＤＤ３４、４４は省電力状態とし、データのリード・ライトを行わないことは、ホスト装置からのリード要求においては問題ない。しかしながら、ホスト装置からのライト要求が行われた場合は、ＲＡＩＤの冗長性を損なわないために第２パリティの更新を行う必要がある。そのため、ホスト装置からのライトアクセスが行われた場合、本実施形態のストレージ装置１０のストレージコントローラ２０は、アクセス対象のＲＡＩＤグループを構成する省電力状態でないＨＤＤに保存すべきデータを対応する論理ボリューム（第１の論理ボリューム）に順次保存する。そして、アクセス対象のＲＡＩＤグループを構成するＨＤＤのうちの省電力状態のＨＤＤに保存されるべきデータであるストレージコントローラ２０が計算した第２パリティの変更情報を、アクセス対象外であるＲＡＩＤグループの起動状態のＨＤＤの物理エクステントで構成された論理ボリュームのうちの一つに順次保存する。この変更情報を保存するための論理ボリュームを第２の論理ボリュームとする。変更情報は後述する変更履歴データと管理情報とを備える。
【００３２】
すなわち、本実施形態のストレージ装置１０は各ＲＡＩＤグループにおいて、ＲＡＩＤグループを構成する複数のＨＤＤのうちの省電力状態でない記憶装置の記憶領域が分割された複数の物理エクステントに対応した論理エクステントにより構成される論理ボリュームを２つ備える。なお、これら２つの論理ボリュームの領域は重ならない。
【００３３】
ＲＡＩＤグループが有する２つの論理ボリュームのうち一つは第１の論理ボリュームであり、このＲＡＩＤグループにホスト装置からのライトアクセスが行われた際に、このＲＡＩＤグループを構成する起動状態のＨＤＤに保存されるべきデータが保存される。起動状態のＨＤＤに保存されるべきデータとは、ライトアクセスによるライトデータ、及びこのライトアクセスにより計算されたパリティのうちパリティ保存用の記憶装置に保存されないパリティである。
【００３４】
もう一方の論理ボリュームは第２の論理ボリュームであり、ストレージ装置１０を構成するＲＡＩＤグループのうち、この第２の論理ボリュームに対応する記憶装置を有するＲＡＩＤグループ以外のＲＡＩＤグループに、ホスト装置からのライトアクセスが行われた際に計算されたパリティのうちの一つの変更情報が保存される。
【００３５】
具体的には、ストレージ装置１０は、ＲＡＩＤグループ３０を構成するＨＤＤ３１〜３４のうち省電力状態であるＨＤＤ３４を除くＨＤＤ３１〜３３における物理エクステントが割り当てられた論理エクステントを含む論理ボリューム２１と、論理ボリューム２１に割り当てられ物理エクステント以外のＨＤＤ３１〜３３の物理エクステントが割り当てられた論理エクステントを含む論理ボリューム２２とを備える。また、ＲＡＩＤグループ４０を構成するＨＤＤ４１〜４３の物理エクステントが割り当てられた論理エクステントを含む論理ボリューム２４と、論理ボリューム２４に割り当てられ物理エクステント以外のＨＤＤ４１〜４３の物理エクステントが割り当てられた論理エクステントを含む論理ボリューム２５とを備える。論理ボリューム２１、２２、２４、及び２５はストレージコントローラ２０によって管理される。
【００３６】
本実施形態の２つのＲＡＩＤグループを含むストレージ装置１０はＲＡＩＤグループ４０にライトアクセスが行われた場合、ライトデータと第１パリティとを第１の論理ボリューム２４に保存し、ライトアクセスにより更新された第２パリティの変更情報をＲＡＩＤグループ３０に対応する第２の論理ボリューム２２に保存する。ＲＡＩＤグループ３０にデータを保存する際は、ライトデータと第１パリティとを第１の論理ボリューム２１に保存し、ライトアクセスにより更新された第２パリティの変更情報をＲＡＩＤグループ４０に対応する第２の論理ボリューム２５に保存する。これにより平常時は、第２パリティ保存用であるＨＤＤ３４、４４を省電力状態としたままでのホスト装置からのライトアクセスを可能とする。
【００３７】
なお、第２パリティ保存用の論理ボリュームである論理ボリューム２２、２５は、論理ボリューム２２、２５を構成する省電力状態でないＨＤＤ群を対応付けて、ＲＡＩＤコントローラ機能において実現できる範囲のＲＡＩＤ機能を有する。ストレージ装置１０の各ＲＡＩＤグループ内では３台のＨＤＤが常時稼動となっているため、例えばＲＡＩＤ５を用いて保存することが可能である。また、ＲＡＩＤグループを５台以上のＨＤＤで構成し、内４台以上のＨＤＤを常時稼動させ、ＲＡＩＤ６を構成して、パリティの変更情報を記憶することも可能である。なお、パリティ用である第２の論理ボリュームのＲＡＩＤレベルが実ボリュームのＲＡＩＤレベルと同一ならば、実ボリュームのＲＡＩＤレベルと同じ冗長度を保つことが可能である。１台のＨＤＤに書き込むことも可能であるが、負荷を分散させまた信頼性を損なわないためにＲＡＩＤ５やＲＡＩＤ６などを用いるのが効率がよい。
【００３８】
次に、第２の論理ボリューム６０に保存するデータ構造の一例を図３に示す。この論理ボリューム６０は第２の論理ボリューム２２、および２５である。
【００３９】
図３に示すように、本実施形態において論理ボリューム６０には、第２パリティの管理情報、および第２パリティの変更履歴データを備える変更情報が保存される。
【００４０】
管理情報とは、第２パリティ変更履歴データを管理するためのものである。また、この管理情報に基づいて、ストレージコントローラ２０は後述する変更反映処理を行う。本実施形態においては、第２の論理ボリュームに管理情報と変更履歴データとが記憶される。
【００４１】
第２パリティの管理情報のデータ構造は、「変更反映閾値」、「領域開始位置」、「領域サイズ」、「有効開始位置」、「データサイズ」、および「変更反映中フラグ」から構成される。
【００４２】
領域開始位置は、ストレージコントローラ２０における論理ボリューム６０の領域の開始位置を表す。領域サイズは、ストレージコントローラ２０における論理ボリューム６０の容量を表す。有効開始位置は、変更履歴データの開始位置を表し、後述する変更反映処理を行う際にストレージコントローラ２０がアクセスすべき位置を示す。すなわち、前回の変更反映処理を行った際に繁栄された変更履歴データの終点である。データサイズは、保存されている第２パリティの変更履歴データのサイズであり、保存されている第２パリティの変更履歴データの終点を示す。変更反映中フラグは変更反映処理が行われているか否かを示す。変更反映閾値とは、変更反映処理を行うか否かの判定を行うための閾値であり、あらかじめ利用者が設定する。例えば、ある特定の容量を変更反映閾値とし、変更履歴データのデータサイズが変更反映閾値を超えた場合に変更反映処理を行うとしてもよい。また、領域サイズに対するデータサイズの比率によって変更反映閾値を設定し、変更履歴データのデータサイズが変更反映閾値を超えた場合に変更反映処理を行うとしてもよい。
【００４３】
ストレージコントローラ２０はこの管理情報に基づいて、対象の第２の論理ボリュームからデータを読み出し本来保存すべきＨＤＤにパリティデータの反映を行う変更反映処理を行う。すなわち、変更反映条件（タイミング）が満たされた場合、管理情報に基づいて変更履歴データが本来保存されるべきであるＨＤＤの物理エクステントに変更データを反映する変更反映処理を行う。なお、変更反映条件が満たされた場合とは、論理ボリューム６０に保存された変更履歴データの量、もしくは第２ボリュームの領域サイズに対する変更履歴データの比率が変更反映閾値を超過した場合、もしくは、あらかじめ定めた周期が到来した場合としても良い。
【００４４】
第２パリティの変更履歴データは、「アドレス」、「サイズ」、および「変更データ」から構成される。アドレスとは、更新した第２パリティが本来どこにあるかを示し、サイズとは、更新した第２パリティの変更データがどこまでかを示す。すなわち、変更データのサイズである。変更データとは、ホスト装置からのライトアクセスの際に更新された第２パリティである。ち本実施形態では、ホスト装置からライト要求が行われるごとにＲＡＩＤグループのデータが更新され、更新した第２パリティが発生する。その際に、論理ボリューム６０の第２パリティの変更履歴データに更新した第２パリティのアドレス、サイズ、および変更データを順次記録する。
【００４５】
第２パリティの変更履歴データを反映する場合には、省電力状態であったＨＤＤを起動状態にして論理ボリューム６０から変更履歴データを順次読み出す。読み出された変更履歴データに基づき、変更データを対象のＨＤＤに書き込んでいく。全ての変更データの書き込みが終了した場合、ＨＤＤを省電力状態にし、変更反映中フラグをクリアし、変更反映処理を終了する。なお、変更反映処理終了した変更履歴データを消去することも可能である。その場合、変更反映を行った変更履歴データを順次消去しても良いし、全ての変更履歴データを反映した後に消去しても良い。
【００４６】
ここで通常時、すなわちＨＤＤ３４およびＨＤＤ４４が省電力状態である際に、ホスト装置がＲＡＩＤ６であるＲＡＩＤグループ３０にライト要求を行う場合のストレージ装置１０のライト処理について、図４のフローチャートを参照して説明する。
【００４７】
ホスト装置からライト要求を受信すると、まずストレージコントローラ２０はアクセス対象であるＲＡＩＤグループ３０における省電力状態であるＨＤＤ３４以外のＨＤＤのアクセス対象のストライプ内に保存されたデータを全てリードする（ステップＳ１１）。ストレージコントローラ２０はホスト装置からのライトデータとステップＳ１１でリードしたリードデータとから、第１パリティと第２パリティとを算出する（ステップＳ１２）。ストレージコントローラ２０は、受信したライトデータと算出した第１パリティを論理ボリューム２１に保存する（ステップＳ１３）。なお、受信したライトデータと算出した第１パリティはＲＡＩＤグループ３０のＨＤＤ３１〜３３のうち少なくとも２台以上のＨＤＤにストライプ単位で分散して書き込まれる。また、ストレージコントローラ２０は算出した第２パリティを保存するための第２の論理ボリュームである論理ボリューム２５にアクセスし、第２パリティの変更情報である管理情報と変更履歴データと含む変更情報を取得する（ステップＳ１４）。論理ボリューム２５が有する第２パリティの管理情報における「データサイズ」に基づき、第２の論理ボリューム２５が有する変更履歴データの終端にステップＳ１２で計算した第２パリティデータの変更履歴データであるアドレス、サイズ、変更データを追記し（ステップＳ１５）、管理情報のデータサイズをステップＳ１２で計算した第２パリティのサイズを追加したデータサイズに更新する（ステップＳ１６）。更新後、ホスト装置へライト完了を通知する（ステップＳ１７）。
【００４８】
続いて、ストレージコントローラ２０は、変更反映処理を行っている最中であるか否かの判定を行う（ステップＳ１８）。変更反映処理を行っているか否かの判定は、管理情報の変更反映中フラグに基づいて行う。
【００４９】
変更反映処理中の場合（ステップＳ１８がＮｏ）、ライト処理を終了する。変更反映処理を行っていない場合（ステップＳ１８がＹｅｓ）、変更反映条件を満たしているか否かの判定を行う（ステップＳ１９）。具体的には、論理ボリューム２５の管理情報の有する変更履歴データのデータサイズが変更反映閾値を超過しているか否かの判定を行う。
【００５０】
この変更履歴データのデータサイズが変更反映閾値を超過していない場合（ステップＳ１９がＮｏ）、変更反映処理中の場合と同様にライト処理を終了する。変更履歴データのデータサイズが変更反映閾値を超過している場合（ステップＳ１９がＹｅｓ）、ストレージコントローラ２０は、変更反映処理を行う（ステップＳ２０）。変更反映処理終了後、ライト処理を終了する。
【００５１】
ここで、図５を用いて本実施形態にかかるストレージ装置１０の変更反映処理について説明する。
【００５２】
まず、ストレージコントローラ２０は論理ボリューム２５の管理情報の変更反映中フラグに変更反映処理中であることを示すフラグを立てる（ステップＳ２１）。続いて、ストレージコントローラ２０は、ＲＡＩＤグループ３０の第２パリティデータの管理情報に基づいて変更履歴データを取得する（ステップＳ２２）。ステップＳ２２では、具体的には管理情報の有効開始位置と、データサイズとに基づいて、論理ボリューム２５に保存された変更履歴データを取得する。続いて、ストレージコントローラ２０は取得された変更履歴データに「変更データ」が含まれるか否かの判定を行う（ステップＳ２３）。取得された変更履歴データ中に「変更データ」が含まれない場合（ステップＳ２３がＮｏ）、変更反映処理を終了する。取得された変更履歴データ中に「変更データ」が含まれる場合（ステップＳ２３がＹｅｓ）、ＲＡＩＤグループ３０の有する省電力状態のＨＤＤ３４を起動する（ステップＳ２４）。次に、管理情報に基づいて変更反映処理の終了条件を設定する（ステップＳ２５）。具体的には、論理ボリューム２５が有する変更履歴データの終点であるデータサイズが、以下のステップＳ２７〜ステップＳ３０における処理のループ終了条件としてＲＡＩＤコントローラ１２０に設定される。なお、変更履歴データの終点は「データサイズ」を参照して設定される。
【００５３】
ここで、ストレージコントローラ２０は、変更反映変数Ｘ＝‘０’と設定する（ステップＳ２６）。変更反映変数とは、変更反映処理によって、それまでに省電力状態であるＨＤＤに書き込まれた変更データの量を示す。ここでは、まだＨＤＤ３４に変更データが反映されていないため‘０’とする。そしてストレージコントローラ２０は、管理情報の有効開始位置にある変更履歴データのアドレス、サイズ、変更データを順次抽出し（ステップＳ２７）、ステップＳ２７で抽出したサイズに基づいて第２パリティ変更データを論理ボリューム２５からリードし、取得したアドレスに基づいて起動状態であるＨＤＤ３４にライト処理を行う（ステップＳ２８）。ライト処理完了後、変更履歴データからステップＳ２７で抽出した変更履歴データを論理ボリューム２５から消去し、管理情報の有効開始位置とデータサイズとを更新する（ステップＳ２９）。すなわち、データサイズからステップＳ２８で書き込まれたサイズを減じ、有効開始位置を次の変更履歴データのアドレスの位置に更新する。
【００５４】
次に、ストレージコントローラ２０は変更反映変数ＸにステップＳ２７で取得した変更履歴データのデータサイズを加算し（ステップＳ３０）、加算された変更反映変数Ｘの値がステップＳ２５で設定された終点を越えているか否かの判定を行う（ステップＳ３１）。超えていない場合（ステップＳ３１がＮｏ）、ステップＳ２７の処理へ戻り、処理を繰り返す。
【００５５】
超えた場合（ステップＳ３１がＹｅｓ）、第２パリティ保存用のＨＤＤ３４を省電力状態に移行する（ステップＳ３２）。そして、管理情報の変更反映中フラグをクリアし（ステップＳ３３）、変更反映処理を終了する。
【００５６】
すなわちストレージ装置１０は第２パリティの変更履歴データ量があらかじめ設定した変更反映閾値を超過した場合、変更履歴データに基づいて本来第２パリティを保存すべきＨＤＤである省電力状態のＨＤＤ３４に反映する。
【００５７】
本実施形態のストレージ装置１０によれば、通常時は各ＲＡＩＤグループで１または２台のＨＤＤを省電力状態にし、その台数の分だけ消費電力を低減することが可能となる。また、データのリード性能には悪影響はなく、またライト性能についても大きな損失はない。信頼性については、パリティの論理ボリュームのＲＡＩＤレベルが実ボリュームのＲＡＩＤレベルと同一ならば、同じ冗長度を保つことができる。
【００５８】
また、特にパリティをひとつのＨＤＤにまとめて配置するような構成（ＲＡＩＤ４、またはＲＡＩＤ６で第２パリティを１台にまとめる構成）では、パリティ保存用のＨＤＤを省電力状態としておくと処理の効率がよい。この場合、リード要求に対しては計算の必要が無く、直接データを返すことができるため効率的な処理が可能である。また、本実施形態では、第２パリティをパリティ保存用のＨＤＤに保存するとしたが、第１パリティを保存することももちろん可能である。
【００５９】
本発明の実施形態を説明したが、この実施形態は例として提示したものであり発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
【００６０】
例えば、変更を反映するタイミングは上述した変更反映閾値によるもののほか、パリティ保存用の論理ボリュームの記憶容量に対する第２パリティの変更履歴データ量の比率があらかじめ設定した比率を超えた場合としても良い。また、利用者が指定した時刻に行うようにすることも可能である。利用者が指定する時刻は、例えばＩ／Ｏ要求が少ないとわかっているような時刻に指定すると良い。また、変更履歴の反映はあらかじめ定めた一定時刻にも行うようにすることも可能である。
【００６１】
また、本実施形態のいずれかのＲＡＩＤグループでＨＤＤの故障を検知した場合は、そのＲＡＩＤグループにおいて省電力状態のＨＤＤを稼動状態に変更する。そして、他方のＲＡＩＤグループに保存されている変更履歴をそのＨＤＤに反映することにより、縮退したＲＡＩＤグループとして動作を継続する。故障したＨＤＤが交換されると、新しいＨＤＤにあるべきデータが復元（リビルド）され、省電力状態であるべきＨＤＤは再び省電力状態になる。
【００６２】
なお、本実施形態においてパリティ用である第２の論理ボリュームの領域サイズ（容量）を、ＲＡＩＤグループ内の記憶領域で実データが使用してない領域（データが記憶されていない領域）の大きさに比例して動的に変更するようにすることも可能である。すなわち、論理ボリュームの容量を仮想化し実データが少ない場合は第１の論理ボリュームに対しては少ないディスク領域を与え、第２の論理ボリュームに大きな領域を与える。実データが増加してきた場合は第１の論理ボリュームに対して与える実ディスク容量を増加させ、第２の論理ボリュームの容量を小さくする。具体的には、対象のＲＡＩＤグループを構成する複数の記憶装置から省電力状態の記憶装置を除いた記憶装置の記憶容量から、実ボリュームで使用している記憶容量を減じた容量、もしくはさらに、そこからあらかじめ定められた特定の容量を減じた容量として変更することも可能である。この場合、実データが少ないうちは変更反映の頻度が少なくなるためさらなる省電力化が可能である。
【００６３】
また、ストレージ装置１０は、通常時は各ＲＡＩＤグループで１または２台のＨＤＤを省電力状態にすることを可能とする。すなわち、ストレージシステムの冗長性を確保しつつ、省電力状態としたＨＤＤの台数分の消費電力を低減することを可能とする。  
また、ストレージ装置１０を構成するＲＡＩＤグループにおいて省電力状態とするＨＤＤの台数は、そのＲＡＩＤにおける冗長性の数以下とする。例えば、ＲＡＩＤ６なら２台以下である。これにより、リード要求時にグループ内で稼動しているＨＤＤのみからリードデータを得ることができる。
【００６４】
また、本実施形態では、一つのストレージマネージャが複数のＲＡＩＤコントローラを制御するケースを説明したが、複数のストレージマネージャ間で必要な通信を行ってもよい。また本実施形態では、ＲＡＩＤグループを構成するディスクドライブは４つとしたが、２つ以上であればよい。また、本実施形態では２つのＲＡＩＤグループが存在する場合はお互いのパリティを他方の論理ボリュームに預けることにより、両方のＲＡＩＤグループでパリティのＨＤＤを省電力状態にしたが、３つのＲＡＩＤグループでは循環型にするなどとし、ＲＡＩＤグループがいくつであっても実施することは可能である。もちろん、特定のＲＡＩＤグループは省電力状態のＨＤＤなしにするなど、非対称に構成することも容易に可能である。また、ＲＡＩＤグループが１つとすることも可能である。
【符号の説明】
【００６５】
１０…ストレージ装置、２０…ストレージコントローラ、３０、４０…ＲＡＩＤグループ、５０…データ通信路、１１１…ホストインタフェース制御回路、１１２…チップセット、１１３…キャッシュメモリ、１１４…マイクロプロセッサ１１４…メモリ（ローカルメモリ）、１１６…ＲＯＭ１１６…プログラム、１２０、１２１…ＲＡＩＤコントローラ
【図１】
2012033046.tif 000003
【図２】
2012033046.tif 000004
【図３】
2012033046.tif 000005
【図４】
2012033046.tif 000006
【図５】
2012033046.tif 000007