(57)【要約】【課題】  故障時の性能低下の抑制を可能とするディスクアレイ装置及びその制御装置等を提供する。【解決手段】  ディスクアレイ装置のドライブへの読書きを制御する制御装置は、ディスクアレイ装置の他の制御装置が備えるメモリとの間で多重化されたキャッシュメモリ領域を含むメモリと、ホストからの要求に応じてドライブへのデータの読書きを制御し、データの書込みが行われる場合には、キャッシュメモリ領域へのデータの書込みが完了した時点で書込み完了の旨をホストへ通知する制御手段と、他の制御装置が故障した場合に、他のディスクアレイ装置の制御装置が備えるメモリとの間でキャッシュメモリ領域を多重化する再構成手段と、を備える。【選択図】      図１
2018156503.tif 000002
【特許請求の範囲】
【請求項１】
ディスクアレイ装置のドライブへの読書きを制御する制御装置であって、
前記ディスクアレイ装置の他の制御装置が備えるメモリとの間で多重化されたキャッシュメモリ領域を含むメモリと、
ホストからの要求に応じて前記ドライブへのデータの読書きを制御し、前記データの書込みが行われる場合には、前記キャッシュメモリ領域への前記データの書込みが完了した時点で書込み完了の旨を前記ホストへ通知する制御手段と、
前記他の制御装置が故障した場合に、他の前記ディスクアレイ装置の前記制御装置が備えるメモリとの間で前記キャッシュメモリ領域を多重化する再構成手段と、
を備える制御装置。
【請求項２】
前記再構成手段は、複数の前記他のディスクアレイ装置のそれぞれの前記制御装置が備えるメモリとの間で前記キャッシュメモリ領域を多重化する、
請求項１に記載の制御装置。
【請求項３】
前記再構成手段は、所定の条件に基づいて、前記データの各々について、複数の前記他のディスクアレイ装置のそれぞれの前記制御装置が備えるメモリとの間で多重化された前記キャッシュメモリ領域のいずれに格納するかを決定する、
請求項２に記載の制御装置。
【請求項４】
前記再構成手段は、前記データの各々に対するアクセス頻度に基づいて、データの各々について、複数の前記他のディスクアレイ装置のそれぞれの前記制御装置が備えるメモリとの間で多重化された前記キャッシュメモリ領域のいずれに格納するかを決定する、
請求項３に記載の制御装置。
【請求項５】
前記再構成手段は、前記複数の他のディスクアレイ装置の運用状況に基づいて前記データの各々について、複数の前記他のディスクアレイ装置のそれぞれの前記制御装置が備えるメモリとの間で多重化された前記キャッシュメモリ領域のいずれに格納するかを決定する、
請求項３又は４に記載の制御装置。
【請求項６】
請求項１から５のいずれか一項に記載の複数の制御装置と、
前記複数の制御装置の前記制御手段によって読書きが制御されるドライブと、
を備えるディスクアレイ装置。
【請求項７】
ホストからの要求に応じてディスクアレイ装置のドライブへのデータの読書きを制御し、前記データの書込みが行われる場合には、前記ディスクアレイ装置の他の制御装置が備えるメモリとの間で多重化されたキャッシュメモリ領域へのデータの書込みが完了した時点で書込み完了の旨を前記ホストへ通知し、
前記他の制御装置が故障した場合に、他の前記ディスクアレイ装置に含まれるメモリとの間で前記キャッシュメモリ領域を多重化する、
ディスクアレイ装置の制御方法。
【請求項８】
コンピュータに、
ホストからの要求に応じてディスクアレイ装置のドライブへのデータの読書きを制御し、前記データの書込みが行われる場合には、前記ディスクアレイ装置の他の制御装置が備えるメモリとの間で多重化されたキャッシュメモリ領域へのデータの書込みが完了した時点で書込み完了の旨を前記ホストへ通知する処理と、
前記他の制御装置が故障した場合に、他の前記ディスクアレイ装置に含まれるメモリとの間で前記キャッシュメモリ領域を多重化する処理と、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、ディスクアレイ装置、制御方法及びプログラムに関する。
【背景技術】
【０００２】
複数のディスクを搭載して構成されるディスクアレイ装置に対しては、大量のデータの読書きが行われる。そのため、ディスクアレイ装置においては、データの書込み速度や信頼性の向上が求められている。
【０００３】
特許文献１には、システムに対する制約を守ったまま自立負荷分散制御ができる、分散ストレージシステム等に関する技術が記載されている。
【０００４】
特許文献２には、キャッシュ障害発生時においてもライトアクセス応答速度と信頼性を維持する、大規模構成可能なストレージシステム及びその制御方法等が記載されている。
【０００５】
特許文献３には、ストレージ装置のデータの一部を格納するキャッシュメモリを備えたコントローラにおけるキャッシュの有効利用を図る構成のストレージシステム等に関する技術が記載されている。
【０００６】
特許文献４には、ディスク装置への書込みデータのキャッシュ完了報告の応答時間を短縮する技術等が記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１４−３２５７５号公報
【特許文献２】特開２００５−４３９３０号公報
【特許文献３】特開２００８−４７０２９号公報
【特許文献４】特開２０１４−１９１３５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ディスクアクセス装置においては、制御を行うコントローラが故障した場合であっても、単にデータの保全が考慮されるのみならず、性能の低下が最小限に留められることが好ましい。すなわち、上述した各特許文献に記載の技術に対して、故障時の性能低下の更なる抑制が求められている。
【０００９】
本発明は、上記課題を解決するためになされたものであって、故障が生じた場合の性能低下の抑制を可能とするディスクアレイ装置及びその制御装置等を提供することを主たる目的とする。
【課題を解決するための手段】
【００１０】
本発明の一態様における制御装置は、ディスクアレイ装置のドライブへの読書きを制御する制御装置であって、ディスクアレイ装置の他の制御装置が備えるメモリとの間で多重化されたキャッシュメモリ領域を含むメモリと、ホストからの要求に応じてドライブへのデータの読書きを制御し、データの書込みが行われる場合には、キャッシュメモリ領域へのデータの書込みが完了した時点で書込み完了の旨をホストへ通知する制御手段と、他の制御装置が故障した場合に、他のディスクアレイ装置の制御装置が備えるメモリとの間でキャッシュメモリ領域を多重化する再構成手段と、を備える。
【００１１】
また、本発明の一態様におけるディスクアレイ装置は、複数の上述した制御装置と、複数の制御装置の制御手段によって読書きが制御されるドライブと、を備える。
【００１２】
また、本発明の一態様における制御方法は、ホストからの要求に応じてディスクアレイ装置のドライブへのデータの読書きを制御し、データの書込みが行われる場合には、ディスクアレイ装置の他の制御装置が備えるメモリとの間で多重化されたキャッシュメモリ領域へのデータの書込みが完了した時点で書込み完了の旨をホストへ通知し、他の制御装置が故障した場合に、他のディスクアレイ装置に含まれるメモリとの間でキャッシュメモリ領域を多重化する。
【００１３】
また、本発明の一態様におけるプログラムは、コンピュータに、ホストからの要求に応じてディスクアレイ装置のドライブへのデータの読書きを制御し、データの書込みが行われる場合には、ディスクアレイ装置の他の制御装置が備えるメモリとの間で多重化されたキャッシュメモリ領域へのデータの書込みが完了した時点で書込み完了の旨をホストへ通知する処理と、他の制御装置が故障した場合に、他のディスクアレイ装置に含まれるメモリとの間でキャッシュメモリ領域を多重化する処理とを実行させる。
【発明の効果】
【００１４】
本発明によると、故障が生じた場合の性能低下の抑制を可能とするディスクアレイ装置及びその制御装置等を提供することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態における制御装置を示す図である。
【図２】本発明の実施形態におけるディスクアレイ装置及びその制御装置を示す図である。
【図３】実施形態において２台のディスクアレイ装置の間でキャッシュメモリ領域の再構成が行われる例を示す図である。
【図４】実施形態においてキャッシュメモリ領域の再構成が行われる別の例を示す図である。
【図５】実施形態において複数のディスクアレイ装置の間でキャッシュメモリ領域の再構成が行われる例を示す図である。
【図６】本発明の実施形態におけるディスクアレイ装置及びその制御装置の動作を示すフローチャートである。
【図７】本発明の実施形態における制御装置等を実現するハードウェアを示す図である。
【発明を実施するための形態】
【００１６】
（第１の実施形態）
本発明の各実施形態について、添付の図面を参照して説明する。まず、本発明の第１の実施形態について説明する。図１は、本発明の第１の実施形態における制御装置を示す図である。また、図２は、本発明の第１の実施形態におけるディスクアレイ装置を示す図である。
【００１７】
図１に示すとおり、本発明の第１の実施形態における制御装置１００は、ディスクアレイ装置のドライブへの読書きを制御する。制御装置１００は、制御部１１０と、再構成部１２０と、メモリ１３０とを備える。制御部１１０は、ホストからの要求に応じてドライブへのデータの読書きを制御し、データの書込みが行われる場合には、キャッシュメモリ領域へのデータの書込みが完了した時点で書込み完了の旨をホストへ通知する。再構成部１２０は、ディスクアレイ装置の他の制御装置が故障した場合に、他のディスクアレイ装置の制御装置が備えるメモリとの間でキャッシュメモリ領域を多重化する。メモリ１３０は、データを一時的に格納する読書き可能な記憶領域である。本実施形態において、メモリ１３０は、ディスクアレイ装置の他の制御装置が備えるメモリとの間で多重化されたキャッシュメモリ領域を含む。
【００１８】
図２は、制御装置１００を含むディスクアレイ装置を示す図である。図２に示すように、ディスクアレイ装置１０は、１台以上のドライブ１１と、制御装置１００を備える。ドライブ１１は、データを格納する。制御装置１００は、ドライブ１１への読書きを制御する。
【００１９】
本実施形態においてディスクアレイ装置１０は、冗長化や高速化等を目的として、複数の制御装置１００を備えることを想定する。図２に示す例ではディスクアレイ装置１０は、制御装置１００−１及び１００−２の２つの制御装置１００を備える場合の例を示す。
【００２０】
なお、制御装置１００は、一例として、図７に示すようなハードウェア５００とプログラムとの任意の組み合わせにより実現される。ハードウェア５００は、一例として、以下のような構成を含む。
【００２１】
・ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）５０１
・ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）５０２
・ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）５０３
・ＲＡＭ５０３にロードされるプログラム５０４
・プログラム５０４を格納する不揮発性の記憶部５０５
・他の装置等と接続するための外部インターフェース５０６
・各構成要素を接続するバス５０７
制御装置１００の制御部１１０又は再構成部１２０は、これらの機能を実現するプログラム５０４をＣＰＵ５０１が取得して実行することで実現される。各装置の各構成要素の機能を実現するプログラム５０４は、例えば、予め記憶部５０５やＲＯＭ５０２等に格納されており、必要に応じてＣＰＵ５０１が読み出す。プログラム５０４の実行に必要なデータは、適宜ＲＡＭ５０３に展開される。なお、プログラム５０４は、例えば予めディスクアレイ装置１０のドライブ１１に格納され、外部インターフェース５０６を介してＣＰＵ５０１に供給されてもよい。また、制御装置１００のメモリ１３０は、例えばＲＡＭ５０３等によって実現されてもよい。また、制御装置１００は、この他の手法によって実現されてもよい。
【００２２】
続いて、本実施形態におけるディスクアレイ装置１０及び制御装置１００の各構成要素について説明する。
【００２３】
ドライブ１１は、データを格納する。ディスクアレイ装置１０は、一般に複数のドライブ１１を備える。図２に示す例では、ドライブ１１−１から１１−４の４つのドライブが記載されている。ドライブ１１−１から１１−４の各々は、論理的なドライブでもよいし、物理的に別個のドライブでもよい。なお、本実施形態においては、ドライブ１１の台数や構成は任意であり、図２に示す例に限定されない。
【００２４】
また、複数のドライブ１１によって、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ）が構成されてもよい。また、本実施形態においては、ドライブ１１の物理的な種類は特に限定されない。ドライブ１１として、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）や、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）が用いられる。
【００２５】
制御装置１００は、ディスクアレイ装置１０のドライブ１１への読書きを制御する。制御装置１００の制御部１１０は、ホストとなる他のサーバからの要求に応じてデータの読書きを行う。
【００２６】
また、制御部１１０は、ドライブ１１へ格納されるデータのアクセス頻度や容量等の管理等を行ってもよい。制御部１１０は、ディスクアレイ装置１０や制御装置１００を実現するハードウェアの故障を検知してもよい。複数のディスクアレイ装置１０が通信ネットワークを介して接続することでシステムが構成される場合には、制御部１１０は、他のディスクアレイ装置の状態等を示す情報を収集してもよい。これらの制御部１１０の処理は、一般的なディスクアレイ装置における処理と同様に行われる。
【００２７】
制御部１１０は、例えば、ディスクアレイ装置の制御ソフトウェアとハードウェアとの組み合わせによって実現される。また、制御部１１０の実行に際して必要となるデータは、メモリ１３０へ適宜格納される。
【００２８】
ディスクアレイ装置１０に対しては、応答速度を向上が求められる。本実施形態では、ドライブ１１へのデータの書込みが行われる場合に、制御部１１０は、メモリ１３０のキャッシュメモリ領域にデータが格納された段階で、書込み完了の旨をデータの書込みを要求したホストへ通知すると想定する。
【００２９】
上述したような、キャッシュメモリ領域にデータが格納された段階で書込み完了の旨を通知する処理が実現される場合には、データの保全性が維持される必要がある。すなわち、メモリ１３０に格納され、かつ、ドライブ１１には未格納であるデータの保全が考慮される必要がある。
【００３０】
本実施形態におけるディスクアレイ装置１０のように制御装置１００が冗長化された場合には、データの保全性を維持するための手法として、キャッシュメモリ領域を冗長化する手法が考えられる。例えば、図２に示すディスクアレイ装置１０では、メモリ１３０−１及び１３０−２の各々に設けられたキャッシュメモリ領域には、同じ内容のデータが格納されてデータが多重化される。すなわち、２つの制御装置１００−１及び１００−２に、キャッシュのペアが生成される。
【００３１】
このようにすることで、制御装置１００−１及び１００−２のいずれか一方が故障した場合においても、キャッシュメモリ領域に格納されたデータは、未故障である動作する他方のキャッシュメモリ領域から正常に読み出される。つまり、キャッシュメモリ領域に格納されているが、ドライブ１１には未格納であるデータが保全される。
【００３２】
なお、本実施形態においては、制御装置１００の故障として、制御装置を実現するメモリやその他の構成部品等のハードウェアの故障が想定される。そして、制御装置１００の故障によって、制御装置１００による通常の動作が行われない状態となることが想定される。例えば、制御装置１００の故障によって、ドライブ１１へのデータの読書きが行われず、また、キャッシュメモリ領域に格納されたデータの保全性が維持されない可能性がある状態となることが想定される。
【００３３】
キャッシュメモリ領域にデータが格納された段階で書込み完了の旨を通知する処理が行われる場合には、制御装置１００のいずれかに故障した場合においても、冗長性が維持されることが好ましい。そこで、すなわち、ディスクアレイ装置１０において、上述した手順とは異なる手順によってメモリ１３０のキャッシュメモリ領域に格納されたデータが冗長化される。例えば、予めディスクアレイ装置１０に搭載されたフラッシュメモリ等の不揮発記憶デバイス等を用いてデータが冗長化される。
【００３４】
この場合においては、データの保全性は確保される。しかしながら、例えば図２に示す例では、正常に動作する１つの制御装置１００によってデータの読書きが制御される。このため、２つの制御装置１００が正常に動作する場合と比較すると、ディスクアレイ装置１０のデータの読書きに関する性能は低下する。
【００３５】
また、複数のディスクアレイ装置１０が、通信ネットワークを介して互いに接続して構成されたシステムとして運用される場合がある。このような場合においては、一つのディスクアレイ装置１０の制御装置１００が故障した際に、他のディスクアレイ装置１０は、正常に動作する場合がある。しかしながら、制御装置１００が故障し、性能が低下したディスクアレイ装置１０がボトルネックとなる可能性がある。つまり、複数のディスクアレイ装置１０によって構成されるシステムにおいては、一つのディスクアレイ装置１０の制御装置１００の故障により、システムの全体としての応答速度が低下する可能性がある。
【００３６】
そこで、本実施形態においては、再構成部１２０は、ディスクアレイ装置の他の制御装置が故障した場合に、他のディスクアレイ装置の制御装置が備えるメモリとの間でキャッシュメモリ領域を冗長化する。つまり、再構成部１２０は、キャッシュのペアを再構成する。短制御措置の故障は、上述のように、例えば制御部１１０によって検知される。なお、再構成部１２０は、例えば、ディスクアレイ装置の制御ソフトウェアの一部に含まれ、ハードウェアとの組み合わせによって実現される。また、再構成部１２０の実行に際して必要となるデータは、メモリ１３０へ適宜格納される。
【００３７】
図３を参照して、再構成部１２０による冗長化の例を説明する。図３に示す例では、ディスクアレイ装置１０−１及び１０−２が通信ネットワークを介して接続されている。なお、本実施形態では、ディスクアレイ装置１０−１及び１０−２を接続する通信ネットワークの種類や規格は特に制限されない。ディスクアレイ装置１０−１及び１０−２は、任意の規格のバスによって接続されてもよい。
【００３８】
図３に示す例においては、ディスクアレイ装置１０−１の制御装置１００−１１及び１００−１２との間で、キャッシュメモリ領域が多重化されている。すなわち、メモリ１３０−１１に設けられたキャッシュメモリ領域と、メモリ１３０−１２に設けられたキャッシュメモリ領域とには、同じデータが格納されてキャッシュのペアが生成される。同様に、ディスクアレイ装置１０−２の制御装置１００−２１及び１００−２２との間で、キャッシュメモリ領域が多重化されている。
【００３９】
そして、ディスクアレイ装置１０−１の制御装置１００−１１が故障した場合を想定する。この場合には、メモリ１３０−１１のキャッシュメモリ領域へのアクセスは不可能な状態にある。そのため、メモリ１３０−１２のキャッシュメモリ領域に格納されたデータは多重化されていない状態となる。
【００４０】
一方、この場合には、ディスクアレイ装置１０−２の制御装置１００−２１及び１００−２２の各々は正常に動作する。
【００４１】
そこで、制御部１１０−１２が制御装置１００−１１の故障を検知すると、再構成部１２０−１２は、キャッシュメモリ領域を冗長化する処理を開始する。制御部１１０−１２が制御装置１００−１１の故障を検知する場合の手法は、特に限定されない。故障の検知には、既知の手法が適宜用いられる。
【００４２】
図３に示す例では、ディスクアレイ装置１０−２の制御装置１００−２１及び１００−２２が利用可能である。再構成部１２０−１２は、ディスクアレイ装置１０−２の制御装置１００−２１又は１３０−２２が備えるメモリ１３０−２１との間でキャッシュメモリ領域を冗長化する。
【００４３】
図３に示す例では、メモリ１３０−１２のキャッシュメモリ領域に格納されたデータは、ディスクアレイ装置１０−２に含まれるメモリ１３０−２２に設けられたキャッシュメモリ領域にも格納される。メモリ１３０−１及び１３０−２の各々に設けられたキャッシュメモリ領域には、同じ内容のデータが格納されてデータが多重化される。すなわち、それぞれが別個のディスクアレイ装置１０−１及び１０−２を制御する制御装置１００−１２及び１００−２２に、キャッシュのペアが生成される。
【００４４】
なお、メモリ１３０−２２に設けられたキャッシュメモリ領域に対するデータの読書きに関する制御は、例えば制御部１１０−１２によって行われる。つまり、制御装置１００−２２は、メモリ１３０−２２の一部の領域を制御装置１００−１２への提供のみを行い、キャッシュメモリ領域に対するデータの読書きに関する制御は行わない。ただし、上述した制御とは異なる制御が行われてもよい。
【００４５】
このようにすることで、ディスクアレイ装置１０−１の一つの制御装置１００−１１が故障した場合、ディスクアレイ装置１０−１において正常に動作する制御装置１００−１２に対する負荷が分散される。この結果として、制御装置１００−１１が故障した場合におけるディスクアレイ装置１０−１に対するデータの読書きに関する性能が改善される。
【００４６】
なお、図３に示す例では、ディスクアレイ装置１０−２は、制御装置が多重化されていた。しかしながら、ディスクアレイ装置１０−２の制御装置は、多重化されていなくてもよい。つまり、再構成部１２０がキャッシュメモリ領域を冗長化する場合の他のディスクアレイ装置の制御装置は、多重化されていてもよいし、一重系の制御装置であってもよい。
【００４７】
なお、再構成部１２０は、キャッシュメモリ領域に含まれるデータに応じて、既知の手法のように、制御対象となるディスクアレイ装置１０が備える構成要素との間でキャッシュメモリ領域を多重化してもよい。この場合には、例えばドライブ１１の一部の領域に新たにキャッシュメモリ領域が生成されてもよい。また、新たに生成されるキャッシュメモリ領域は、例えばディスクアレイ装置１０又はその各構成要素に予め用意された、フラッシュメモリ等の不揮発記憶デバイス等であってもよい。
【００４８】
別の例として、再構成部１２０は、他の複数のディスクアレイ装置１０の制御装置１００が備えるメモリとの間でキャッシュメモリ領域を多重化してもよい。図４及び図５を参照して、この場合における再構成部１２０による多重化の例を説明する。
【００４９】
図４に示す例では、ドライブ１１−１に、データＡ、データＢ及びデータＣが格納されている。また、ディスクアレイ装置１０−１の制御装置１００−１１及び１００−１２との間で、キャッシュメモリ領域が多重化されている。すなわち、メモリ１３０−１１に設けられたキャッシュメモリ領域と、メモリ１３０−１２に設けられたキャッシュメモリ領域とには、同じデータが格納されてキャッシュのペアが生成される。同様に、ディスクアレイ装置１０−２の制御装置１００−２１及び１００−２２との間で、キャッシュメモリ領域が多重化されている。
【００５０】
また、図４に示す例では、メモリ１３０−１１のキャッシュメモリ領域及びメモリ１３０−１２キャッシュメモリ領域には、データＡ、データＢ及びデータＣのそれぞれについて、別個にキャッシュのペアが作成されている。
【００５１】
なお、この例では、データＡ、データＢ及びデータＣのそれぞれは、各々のデータへのアクセス頻度が異なることが想定される。例えば、データＡへのアクセス頻度は、ディスクアレイ装置１０−１に格納されたデータへの平均的なアクセス頻度よりも高いことが想定される。同様に、データＢへのアクセス頻度は平均的なアクセス頻度と同程度であり、データＣへのアクセス頻度は平均的なアクセス頻度よりも低いことが想定される。
【００５２】
この例において、ディスクアレイ装置１０−１の制御装置１００−１１が故障した場合を想定する。この場合においても、メモリ１３０−１１のキャッシュメモリ領域へのアクセスは不可能な状態にある。そのため、メモリ１３０−１２のキャッシュメモリ領域に格納されたデータは多重化されていない状態となる。
【００５３】
そこで、再構成部１２０−１２は、キャッシュメモリ領域を多重化してキャッシュのペアを再構成する。図５に、再構成部１２０−１２がキャッシュメモリ領域を多重化する場合の例を示す。図５に示す例では、ディスクアレイ装置１０−１、ディスクアレイ装置１０−２及び１０−３の３つのディスクアレイ装置１０が、通信ネットワークを介して接続されている。
【００５４】
そこで、再構成部１２０−１２は、例えばディスクアレイ装置１０−２及び１０−３等の制御装置が備えるメモリを用いることで、キャッシュメモリ領域を多重化してキャッシュのペアを再構成する。
【００５５】
この場合に、まず、制御部１１０−１２は、ディスクアレイ装置１０−２及び１０−３の運用状況を取得する。運用状況には、ディスクアレイ装置１０−２及び１０−３の各々の構成、負荷状況、故障の有無等の運用や性能に関する情報が含まれる。また、制御部１１０−１２は、ディスクアレイ装置１０−１に格納されたデータのアクセス頻度や容量等のデータに関する状況を取得する。この場合には、主にキャッシュメモリ領域に格納されたデータに関する状況が取得される。
【００５６】
そして、再構成部１２０−１２は、制御部１１０−１２によって取得された、運用状況と、データに関する状況とに基づいて、キャッシュメモリ領域の多重化の相手となるディスクアレイ装置等を決定する。すなわち、再構成部１２０−１２は、いずれのディスクアレイ装置の制御装置に設けられたメモリとの間でキャッシュのペアを作成するかを決定する。
【００５７】
図５に示す例では、上述のように、データＡへのアクセス頻度が最も高い。そして、ディスクアレイ装置１０−２の負荷は、ディスクアレイ装置１０−３の負荷よりも低い場合を想定する。
【００５８】
そこで、再構成部１２０−１２は、データＡに関するキャッシュメモリ領域について、ディスクアレイ装置１０−２の制御装置１００−２２が備えるメモリ１３０−２２との間でキャッシュメモリ領域を多重化する。メモリ１３０−２２にデータＡに関するキャッシュメモリ領域が生成されると、再構成部１２０−１２は、メモリ１３０−１２に格納されたデータＡに関するキャッシュメモリ領域のデータを適宜転送する。これにより、データＡに関して多重化されたキャッシュメモリ領域が再構成される。
【００５９】
また、再構成部１２０−１２は、データＢに関するキャッシュメモリ領域について、ディスクアレイ装置１０−３の制御装置１００−３２が備えるメモリ１３０−３２との間でキャッシュメモリ領域を多重化する。この場合においても、メモリ１３０−３２にデータＢに関するキャッシュメモリ領域が生成されると、再構成部１２０−１２は、メモリ１３０−１２に格納されたデータＢに関するキャッシュメモリ領域のデータを適宜転送する。これにより、データＢに関して多重化されたキャッシュメモリ領域が再構成される。
【００６０】
一方、データＣに関しては、上述のように、アクセス頻度が少ないと想定される。つまり、メモリ１３０−１２にデータＣに関してキャッシュメモリ領域に格納されたデータが、ディスクアレイ装置１０−１の内部において冗長化されても、負荷の増加や応答速度の低下の程度は小さいと想定される。
【００６１】
そこで、再構成部１２０−１２は、データＣに関するキャッシュメモリ領域について、ドライブ１１−１等との間でキャッシュメモリ領域を多重化する。この場合に、ドライブ１１−１にキャッシュのペアが再構成される場合のデータＣに関するキャッシュメモリ領域は、ドライブ１１の一部の領域であってもよい。また、データＣ用のキャッシュメモリ領域は、例えばドライブ１１に予め用意された、フラッシュメモリ等の不揮発記憶デバイス等であってもよい。
【００６２】
なお、上述の例では、データＡからＣへのアクセス頻度に基づいて、キャッシュメモリ領域を多重化する場合の相手となるディスクアレイ装置１０等が決定された。ただし、再構成部１２０は、その他の指標を基準として用いて、当該指標に基づき、キャッシュメモリ領域を多重化する場合の相手となるディスクアレイ装置１０等を決定してもよい。
【００６３】
例えば、再構成部１２０は、データＡからＣへの大きさに基づいて、キャッシュメモリ領域を多重化する場合の相手となるディスクアレイ装置１０等が決定されてもよい。また、再構成部１２０は、他のディスクアレイ装置１０の運用状況や性能に基づいて、キャッシュメモリ領域を多重化する場合の相手となるディスクアレイ装置１０等を決定してもよい。この場合に指標となる性能には、他のディスクアレイ装置１０からのアクセス速度や、他のディスクアレイ装置１０の制御装置において利用可能なメモリ用容量等が含まれるが、特に限定されない。
【００６４】
また、キャッシュメモリ領域を多重化する場合の相手となるディスクアレイ装置１０等は、予め定められていてもよい。
【００６５】
また、上述の例では、データＡからＣの各々に対するキャッシュメモリ領域が、それぞれ異なるディスクアレイ装置１０の制御装置に設けられたメモリとの間で多重化された。しかしながら、複数のデータについて、同じディスクアレイ装置１０の制御装置に設けられたメモリとの間でキャッシュメモリ領域が多重化されてもよい。例えば、図５に示す例において、データＡ用のキャッシュメモリ領域及びデータＢ用のキャッシュメモリ領域のいずれもが、ディスクアレイ装置１０−２のメモリ１３０−２２に設けられて多重化されてもよい。また、全てのデータについて、同じディスクアレイ装置１０の制御装置に設けられたメモリとの間でキャッシュメモリ領域が多重化されてもよい。
【００６６】
また、キャッシュメモリ領域の多重化や再構成の単位は、図４及び図５の例にて示されるようなデータに限られない。キャッシュメモリ領域の多重化や再構成の単位は、ディスクアレイ装置１０に格納されるデータの種類や、ディスクアレイ装置１０の主にドライブ１１等における物理的又は論理的な構成等に応じて適宜定められればよい。また、制御装置１００による制御の内容や、制御部１１０等を実現するソフトウェアの種類等に応じてキャッシュメモリ領域の多重化や再構成の単位が定められてもよい。すなわち、制御装置１００及びディスクアレイ装置１０においては、予め定められたデータの単位でキャッシュメモリ領域の多重化や再構成が行われればよい。
【００６７】
また、図４及び図５の例は、データＡからＣの各々が、常に、物理的に別個のドライブに格納されることを示すものではない。データＡからＣの各々は、物理的に別個のドライブに格納されてもよいし、同じドライブに格納されてもよい。データＡからＣの各々が、任意の態様でドライブ１１に格納されていればよい。
【００６８】
また、上述の例では、キャッシュメモリ領域に格納されたデータは、キャッシュのペアとして二重化されることを想定して説明された。しかしながら、キャッシュメモリ領域に格納されたデータは、三重化等、更に多重化されてもよい。
【００６９】
上述のように再構成部１２０が動作することで、ディスクアレイ装置１０の一つの制御装置１００が故障した場合、当該ディスクアレイ装置１０において正常に動作する制御装置１００に対する負荷が分散される。
【００７０】
なお、キャッシュメモリ領域が設けられた（すなわち、キャッシュのペアの作成先とされた）他のディスクアレイ装置１０の単体としての読書きの性能は、通常の動作を行う場合と比較して低下する可能性がある。
【００７１】
しかしながら、一つの制御装置１００が故障したディスクアレイ装置１０の読書きの性能は改善される。複数のディスクアレイ装置１０によって構成されるシステムにおいて、一つの制御装置１００が故障したディスクアレイ装置１０は、応答速度の観点ではボトルネックとなる。そして、このディスクアレイ装置１０の性能が改善されることで、一つのディスクアレイ装置１０の制御装置１００が故障した場合に、複数のディスクアレイ装置１０によって構成されるシステムの全体としての応答速度の低下が抑制される。
【００７２】
また、一つのディスクアレイ装置１０の制御装置１００が故障した場合には、キャッシュのペアの再構成のためにリソースが必要とされる。これに対して、上述のように再構成部１２０が動作することで、キャッシュのペアの再構成のために必要となるリソースが複数のディスクアレイ装置１０に分散される。
【００７３】
続いて、図６に示すフローチャートを参照して、本実施形態における制御装置１００によるディスクアレイ装置１０の制御の例を説明する。この例では、ディスクアレイ装置１０は、複数の制御装置１００を備えることを想定する。また、複数の制御装置１００の各々のメモリ１３０に確保されたキャッシュメモリ領域は、キャッシュのペアが生成されて多重化されていることを想定する。
【００７４】
最初、正常に動作する制御装置１００の制御部１１０は、他の制御装置１００故障を検知する（ステップＳ１０１）。ステップＳ１０１における故障の検知動作は、例えば繰り返して実行されてもよい。
【００７５】
故障が検知されると、主に再構成部１２０によって、他のディスクアレイ装置１０の制御装置１００が備えるメモリ１３０との間でキャッシュメモリ領域を多重化する再構成処理が行われる。この場合に、まず、制御部１１０は、他のディスクアレイ装置１０の運用状況及び主にキャッシュメモリ領域に格納されたデータ等に関する状況を取得する（ステップＳ１０２）。制御部１１０は、他のディスクアレイ装置１０の構成、負荷状況、故障の有無等に関する運用状況や、主にキャッシュメモリ領域に格納されたデータに関するアクセス頻度や容量等の状況を取得する。
【００７６】
再構成部１２０は、キャッシュメモリ領域の多重化の相手となるディスクアレイ装置１０等を決定する（ステップＳ１０３）。複数の他のディスクアレイ装置１０が存在する場合には、再構成部１２０は、キャッシュメモリ領域の多重化の相手となるディスクアレイ装置１０等を決定する。この場合には、再構成部１２０は、ステップＳ１０２にて制御部１１０が取得した運用状況やデータの状況に基づいて、キャッシュメモリ領域の多重化の相手となる決定する。
【００７７】
また、複数の他のディスクアレイ装置１０が存在する場合には、再構成部１２０は、キャッシュメモリ領域の多重化の相手となるディスクアレイ装置１０の各々に格納されるデータを決定してもよい。
【００７８】
続いて、再構成部１２０は、ステップＳ１０３にて決定されたディスクアレイ装置１０との間でキャッシュメモリ領域を再構成する（ステップＳ１０４）。つまり、再構成部１２０及び他のディスクアレイ装置１０の制御装置１００によって、キャッシュメモリ領域が冗長化され、キャッシュのペアが再構成される。また、このステップにおいて、再構成部１２０は、対象となるキャッシュメモリ領域のデータを転送する。
【００７９】
以上のとおり、本実施形態におけるディスクアレイ装置１０の制御装置１００は、多重化された他の制御装置１００との間でキャッシュメモリ領域を多重化する。これにより、キャッシュメモリ領域にデータが格納された段階で書込み完了の旨を通知する処理が実現される。そして、制御装置１００は、冗長化の他方となる他の制御装置１００が故障した場合に、他のディスクアレイ装置１０の制御装置の１００との間でキャッシュメモリ領域を多重化する。
【００８０】
このようにすることで、ディスクアレイ装置１０の一つの制御装置１００が故障した場合、当該ディスクアレイ装置１０において正常に動作する制御装置１００に対する負荷が分散される。そして、複数のディスクアレイ装置１０によってシステムが構成される場合に、当該システムの全体としての応答速度の低下が抑制される。
【００８１】
すなわち、本実施形態における制御装置１００及び当該制御装置１００を備えるディスクアレイ装置１０は、故障時の性能低下の抑制を可能とする。
【００８２】
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。また、各実施形態における構成は、本発明のスコープを逸脱しない限りにおいて、互いに組み合わせることが可能である。
【符号の説明】
【００８３】
１０    ディスクアレイ装置
１１    ドライブ
１００    制御装置
１１０    制御部
１２０    再構成部
１３０    メモリ
【図１】
2018156503.tif 000003
【図２】
2018156503.tif 000004
【図３】
2018156503.tif 000005
【図４】
2018156503.tif 000006
【図５】
2018156503.tif 000007
【図６】
2018156503.tif 000008
【図７】
2018156503.tif 000009