(57)【要約】      （修正有）【課題】複雑なハードウエア構成を必要とせず、標準のＨＤＤ接続バスのみでミラードキャッシュ制御を行うことが可能なディスクアレイ装置を提供する。【解決手段】ディスクアレイ装置において、ホスト装置からのライトデータを格納するキャッシュメモリとキャッシュメモリの実装容量より２倍以上の記録容量を持つフラッシメモリドライブＳＳＤ（Solid State Drive）を搭載することで、コントローラが２重化された構成で、片側のコントローラ上のキャッシュメモリデータを、フラッシメモリドライブにミラードデータとして書込み、両コントローラ上のキャッシュメモリミラードデータとして管理することで、コントローラ間のデータ冗長性を維持することを可能とする。【選択図】図１
2011232962.tif 000002
【特許請求の範囲】
【請求項１】
上位装置からデータ記憶媒体へのライトデータを一時的に記憶する第1および第２のキャッシュメモリと、
前記第1のキャッシュメモリおよび前記第２のキャッシュメモリが記憶するライトデータのミラードデータを記憶するドライブデバイスと、
前記第1のキャッシュメモリを備え、前記第1のキャッシュメモリと前記ドライブデバイス間のミラードキャッシュ制御を行う第1のコントローラと、
前記第２のキャッシュメモリを備え、前記第２のキャッシュメモリと前記ドライブデバイス間のミラードキャッシュ制御を行う第２のコントローラと、
を備え、
前記ドライブデバイスは、
前記第1のキャッシュメモリが記憶するライトデータのミラードデータを記憶するためであり、前記第1のキャッシュメモリの容量以上である第1の格納領域と、
前記第2のキャッシュメモリが記憶するライトデータのミラードデータを記憶するためであり、前記第２のキャッシュメモリの容量以上である第2の格納領域と
を有するＳＳＤ（Solid State Drive）であることを特徴とするディスクアレイ装置。
【請求項２】
前記第２のコントローラは、
前記第1のコントローラの障害検出に基づいて、前記ドライブデバイスの第1の格納領域に記憶されたミラードデータを前記第２のキャッシュメモリに読み込むことを特徴とする請求項１に記載のディスクアレイ装置。
【請求項３】
前記ドライブデバイスは、
さらに、前記上位装置からアクセス可能な論理ディスク領域をさらに有することを特徴とする請求項１乃至２に記載のディスクアレイ装置。
【請求項４】
ディスクアレイ装置のミラードキャッシュ制御方法において、前記ディスクアレイ装置は、第1及び第２のキャッシュメモリと、第1及び第２のコントローラと、第１及び第２の格納領域を有するＳＳＤからなるドライブデバイスを備え、
上位装置からデータ記憶媒体へのライトデータを第1のキャッシュメモリに一時的に記憶するステップと、
前記第1のコントローラが、前記第1のキャッシュメモリが記憶するライトデータのミラードデータを前記第1のキャッシュメモリの容量以上である前記第1の格納領域に記憶するステップと、
上位装置から前記データ記憶媒体へのライトデータを第２のキャッシュメモリに一時的に記憶するステップと、
前記第2のコントローラが、前記第２のキャッシュメモリが記憶するライトデータのミラードデータを前記第２のキャッシュメモリの容量以上である前記第2の格納領域に記憶するステップと
を有することを特徴とするディスクアレイ装置のミラードキャッシュ制御方法。
【請求項５】
前記第２のコントローラが前記第１のコントローラの障害を検出するステップと、
前記検出するステップで障害を検出した場合に、
前記第２のコントローラが前記第２のキャッシュメモリに記憶されたライトデータを前記データ記憶媒体へ書き込むステップと、
前記第２のコントローラが前記第１の格納領域に記憶されたミラードデータを前記第２のキャッシュメモリに読み込むステップと
を有することを特徴とする請求項４に記載のディスクアレイ装置のミラードキャッシュ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はディスクアレイ装置およびミラードキャッシュ制御方法に関する。
【背景技術】
【０００２】
近年のディスクアレイ装置には、それぞれ異なるホスト装置と接続可能な２重化されたコントローラを備えた２重化コントローラ内蔵装置を構成しているものがある。この種のディスクアレイ装置では、各コントローラと対応するホスト装置との間でデータ転送が可能になっている。各コントローラには、ホスト装置との間の転送データを一時記憶するためのキャッシュメモリがそれぞれ設けられている。ホスト装置とディスクアレイ装置は、FCインタフェースまたはＳＣＳＩインタフェースにより接続され、ホスト装置からのIO要求をディスクアレイ装置が受け取り、その要求に従ったデータを転送することでアクセスを行う。通常これらのインタフェースはホスト装置とディスクアレイ装置との間で一対一に接続される。ホスト装置とディスクアレイ装置とを接続するインタフェースが１本の場合、アクセス性能は接続するインタフェースの種類に依存する。また、接続するインタフェースに障害が発生すると、代替パスを別に設けない限りアクセス不可能の状態となる。
【０００３】
これらを改善する技術の一つとして、ホスト装置からディスクアレイ装置へのアクセスパスを２本のインタフェースで接続し、１本が使用不可となっても残りの１本でアクセスを継続させる冗長化の技術がある。このアクセスパスの冗長化を利用して、片側のコントローラに障害が発生した場合でも、もう一方のコントローラにアクセスパスを切り替えることで、システムの運用を停止することなくアクセスの継続が可能である。
【０００４】
また、コントローラには、ホスト装置と論理ディスクとの間のデータ転送を仲介するキャッシュメモリが搭載されており、一時的に論理ディスク内のデータを保持することで、ホスト装置との高速なデータ転送が可能となる。コントローラは、ホスト装置からのライトデータをキャッシュメモリに一時的に格納した時点でホスト装置にライト完了を応答する。その後、キャッシュメモリのデータを論理ディスクに書き込むことで高速なアクセスを実現している。この方式は、一般的にライトバックキャッシュ（ＷＢＣ）と呼ばれている。ホスト装置からのライトデータは、コントローラのキャッシュメモリに格納された後、他コントローラのキャッシュメモリにもミラードデータとして格納される。こうすることで、片側のコントローラに障害が発生した場合でも、他コントローラに格納されたミラードデータを引き継ぐことができ、コントローラ障害に対するキャッシュメモリの冗長化を行うことができる。例えば、第１のコントローラに障害が発生した場合、ホスト装置からのアクセスパスが第２のコントローラ側に切り替わり、ホスト装置からのライトデータはすべて第２のコントローラの自キャッシュメモリに格納される。このとき、第１のコントローラの自キャッシュメモリに格納されていたデータは、第２コントローラの他キャッシュメモリにも格納されているため、ホスト装置からのライトデータを消失することなくアクセスを引き継ぐことができる。
【０００５】
例えば、特許文献１に開示されているように、上記した２重化コントローラを内蔵するディスクアレイ装置において、各コントローラ内のキャッシュメモリのデータの保全性を高めるために、いわゆるミラードキャッシュ方式を採用しているものがある。この方式は、ホスト装置から自系のコントローラで受け取ったライトデータを他系のコントローラのキャッシュメモリにコピー（ミラー）する方式である。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００１−４３０２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述したように、２重化コントローラを内蔵し、ミラードキャッシュ方式を適用する従来のディスクアレイ装置（２重化コントローラ内蔵装置）では、標準で必要とするドライブデバイスへの接続バス以外に両コントローラ間を接続する専用のバスを設ける必要があり、ハードウエア構成要素が増え、制御が複雑となると同時に、コスト面においても高価になるという問題がある。またキャッシュメモリ領域をミラードキャッシュ用に半分にする必要があり、キャッシュメモリとして効率的に使用することができないという問題もある。
【０００８】
本発明は、上記の問題点を解決するためになされたもので、標準のドライブデバイス接続バスのみでミラードキャッシュ制御を行うことで複雑なハードウエア構成を必要としないとともに、キャッシュメモリを効率的に使用することを可能とするディスクアレイ装置の提供を目的とする。
【課題を解決するための手段】
【０００９】
上記の問題を解決するために、
本発明に係るディスクアレイ装置は、上位装置からデータ記憶媒体へのライトデータを一時的に記憶する第1および第２のキャッシュメモリと、前記第1のキャッシュメモリおよび前記第２のキャッシュメモリが記憶するライトデータのミラードデータを記憶するドライブデバイスと、前記第1のキャッシュメモリを備え、前記第1のキャッシュメモリと前記ドライブデバイス間のミラードキャッシュ制御を行う第1のコントローラと、
前記第２のキャッシュメモリを備え、前記第２のキャッシュメモリと前記ドライブデバイス間のミラードキャッシュ制御を行う第２のコントローラと、を備え、前記ドライブデバイスは、前記第1のキャッシュメモリが記憶するライトデータのミラードデータを記憶するためであり、前記第1のキャッシュメモリの容量以上である第1の格納領域と、前記第2のキャッシュメモリが記憶するライトデータのミラードデータを記憶するためであり、前記第２のキャッシュメモリの容量以上である第2の格納領域とを有するＳＳＤ（Solid State Drive）であることを特徴とし、
本発明に係るディスクアレイ装置のミラードキャッシュ制御方法は、
前記ディスクアレイ装置は、第1及び第２のキャッシュメモリと、第1及び第２のコントローラと、第１及び第２の格納領域を有するＳＳＤからなるドライブデバイスを備え、上位装置からデータ記憶媒体へのライトデータを第1のキャッシュメモリに一時的に記憶するステップと、前記第1のコントローラが、前記第1のキャッシュメモリが記憶するライトデータのミラードデータを前記第1のキャッシュメモリの容量以上である前記第1の格納領域に記憶するステップと、上位装置から前記データ記憶媒体へのライトデータを第２のキャッシュメモリに一時的に記憶するステップと、前記第2のコントローラが、前記第２のキャッシュメモリが記憶するライトデータのミラードデータを前記第２のキャッシュメモリの容量以上である前記第2の格納領域に記憶するステップとを有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば複雑なハードウエア構成を必要とせず、標準のドライブデバイスへの接続バスのみでミラードキャッシュ制御を行うことが可能なディスクアレイ装置を提供できる。  
【図面の簡単な説明】
【００１１】
【図１】第１の実施形態におけるディスクアレイ装置の構成を示すブロック図。
【図２】第１の実施形態における分割割り当てしたＳＳＤの記憶領域の分割の一例を示す図。
【図３】第２の実施形態におけるディスクアレイ装置の構成を示すブロック図。
【図４】第２の実施形態におけるＳＳＤの記憶領域の分割の一例を示す図。
【発明を実施するための形態】
【００１２】
（第１の実施形態）
以下、本発明の第１の実施形態について図面を参照しながら説明する。
【００１３】
まず、図１、図２を参照して本実施形態のディスクアレイ装置の構造について説明する。
【００１４】
図１は、本実施形態のディスクアレイ装置１０の全体構成を示すブロック図である。ディスクアレイ装置１０はファイバチャネル（ＦＣ）インタフェースやSmall Computer System Interface（ＳＣＳＩもしくはスカジー）インタフェースによって上位装置であるホスト装置１７、１７０に接続されている。接続路１８はホスト装置、もしくはその集合体、もしくは他のデータ記憶装置とディスクアレイ装置１０とを接続する。図１においてはディスクアレイ装置１０に接続されるホスト装置を２つ例示してあるが、１つでもよいし、複数でもよい。また、接続形態はさまざまであるが、本実施形態において接続形態は問わないため、一括してＦＣインタフェースとする。
【００１５】
ディスクアレイ装置１０は各種処理を行うディスクアレイコントローラ（以下、単にコントローラという）を２つ以上もち、本実施例においては、第１のコントローラ１１と第２のコントローラ１１０を有する。第１のコントローラ１１と第２のコントローラ１１０はそれぞれドライブデバイス接続バスを介してデータ記憶媒体であるドライブデバイスと接続している。本実施形態では、ドライブデバイスとして、ハードディスクドライブ(ＨＤＤ)１９と、Solid State Drive（ＳＳＤ）２０を有する。なお、ＨＤＤ１９は図１においては一つとしているが、複数でもよい。また、一つもしくは複数のＨＤＤによって論理ディスク（ＬＵ）を構成してもよい。
【００１６】
第１のコントローラ１１はドライブデバイスであるＨＤＤ１９とＳＳＤ２０とに後述する「ミラードキャッシュ処理」を行うマイクロプロセッサ１３と、メモリ１４と、ホスト装置と第１のコントローラ１１とを接続するホストインタフェース１２と、ドライブデバイスと第１のコントローラ１１とを接続するディスクインタフェース１５と、接続路１８を介してホスト装置１７からのドライブデバイスに対する入出力要求におけるバッファの役目をするキャッシュメモリ１６とを備える。例えば、ホスト装置からのドライブデバイスへの書き込み処理は、キャッシュメモリ１６にエントリして、要求ホスト装置に対して書き込み完了を応答する。続いて、キャッシュメモリからドライブデバイスへ書き込みを行う。また、ホスト装置からのドライブデバイスへの読み込み処理においては、キャッシュメモリ１６にデータがエントリされているか否かを判定する。キャッシュメモリ１６にエントリされていれば、そのデータを応答し、キャッシュメモリ１６にエントリされていない場合は、データをドライブデバイスからキャッシュメモリ１６に読み出し、その後にキャッシュメモリ１６に読み出したデータをホスト装置１７に応答する
記号１２０、１３０、１４０、１５０の動作は、第1のコントローラ１１における記号１２、１３、１４、１５との動作と同様である。
【００１７】
図２は分割割り当てしたＳＳＤ２０の記憶領域２００を示す図である。図２に示すように、ＳＳＤ２０の記憶領域は、第１のコントローラ１１におけるミラードキャッシュデータを格納するータ格納領域２０２とはそ格納領域２０１と、第２のコントローラ１１０におけるミラードキャッシュデータを格納する格納領域２０２とに分割される。第１のミラードキャッシュデータ格納領域２０１と、第２のミラードキャッシュデれぞれキャッシュメモリ１６、１６０の容量以上の記憶領域である。本実施例ではキャッシュメモリ１６とキャッシュメモリ１６０とは同じ容量であるため、ＳＳＤ２０はキャッシュメモリ１６の２倍以上の容量を持つ。このように、ＳＳＤ２０の領域を、格納領域２０１と格納領域２０２とに分割することで、両コントローラのミラードキャッシュデータ（以下、ミラードデータという）を保持する。
【００１８】
以下に、ホスト装置１７からのディスクアレイ装置１０へのアクセスにおいてデータのミラードキャッシュ制御が行われる場合のディスクアレイ装置１０の動作を説明する。
【００１９】
ホスト装置１７からＨＤＤ１９にデータの書き込みを行う場合、ライトデータは、第１のコントローラ１１のキャッシュメモリ１６に格納される。その後、キャッシュメモリ１６に格納したライトデータのアドレスに対応したＳＳＤ２０が有する第１のコントローラ用ミラードキャッシュデータ格納領域２０１にデータ（ミラードデータ）を書き込む。本実施形態においては、ホスト装置１７からのライトアクセスの度にミラードデータの書き込みを行う。なお、ホスト装置１７０からＨＤＤ１９にデータの書き込みを行う場合、ライトデータは、第２のコントローラ１１０のキャッシュメモリ１６０に格納される。その後、キャッシュメモリ１６０に格納したライトデータのアドレスに対応したＳＳＤ２０が有する第２のコントローラ用ミラードキャッシュデータ格納領域２０２にデータ（ミラードデータ）の書き込みを行う。
【００２０】
第１のコントローラ１１に障害が発生し、ホスト装置１７からＨＤＤ１９へのアクセスが不可能となった場合、その時点でのライトデータは、第１のコントローラ１１のキャッシュメモリ１６とＳＳＤ２０とに保存されている状態となる。
【００２１】
第２のコントローラ１１０では、第１のコントローラ１１の障害検出により、キャッシュメモリ１６０のライトデータをＨＤＤ１９に移動し、ＳＳＤ２０の有する第１のコントローラ用ミラードキャッシュデータ格納領域２０１に格納されている第１のコントローラ１１のミラードデータを読み込む。その後、ＨＤＤ１９へ書き込むことでデータの保証を行う。
【００２２】
本実施形態によれば、標準のドライブデバイス接続バスのみでミラードキャッシュ制御を行うことで複雑なハードウエア構成を必要としないとともに、キャッシュメモリを効率的に使用することすることを可能とするディスクアレイ装置およびミラードキャッシュ制御方法を提供できる。
【００２３】
なお、本発明は上記した実施形態に限定されず、発明の要旨を逸脱しない範囲において、設計変更して構わない。
【００２４】
（第２の実施形態）
以下、本発明の第２の実施形態について図面を用いて説明する。なお、第１の実施形態と同一の構成には同一の符号を付し、説明は省略する。
【００２５】
図３は、本実施形態におけるディスクアレイ装置１０の構成を示す図である。本実施形態においては、ＳＳＤ２０は論理ディスク用領域１９１とミラードデータを格納するミラードキャッシュメモリ用領域１９２を有する。
【００２６】
すなわち、ＳＳＤ２０の記憶領域３００は、ミラードキャッシュデータを格納するミラードキャッシュメモリ用領域１９２と論理ディスク用の領域である論理ディスク用領域１９１とに分割されている。図４に本実施形態におけるＳＳＤ２０の記憶領域３００の分割の一例を示す。記憶領域３００は第１のコントローラ用ミラードキャッシュデータ格納領域３０１と、第２のコントローラ用ミラードキャッシュデータ格納領域３０２と、論理ディスク用領域３０３とを有する。格納領域３０１と格納領域３０２はそれぞれのコントローラが備えるキャッシュメモリの容量以上の記憶領域を有する。
【００２７】
ホスト装置１７からディスクアレイ装置１０にデータの書き込みを行う場合、ライトデータは、第１のコントローラ１１のキャッシュメモリ１６に格納される。その後、キャッシュメモリ１６に格納したライトデータのアドレスに対応したＳＳＤ２０が有する第１のコントローラ用ミラードキャッシュデータ格納領域３０１にデータ（ミラードデータ）を書き込む。本実施形態においては、ホスト装置１７からのライトアクセスの度にミラードデータの書き込みを行う。なお、ホスト装置１７０からディスクアレイ装置１０にデータの書き込みを行う場合、ライトデータは、第２のコントローラ１１０のキャッシュメモリ１６０に格納される。その後、キャッシュメモリ１６０に格納したライトデータのアドレスに対応したＳＳＤ２０が有する第２のコントローラ用ミラードキャッシュデータ格納領域３０２にデータ（ミラードデータ）の書き込みを行う。
【００２８】
ホスト装置１７からのライトアクセスによりキャッシュメモリ１６に格納されたデータは、ライトバック処理によりＨＤＤ１９に書き込みを行うが、例えばオンメモリデータベースを用いる場合にはデータベースを論理ディスク用領域３０３に格納する。
【００２９】
以上のように本実施形態では、ＳＳＤに構成された論理ディスク用領域にデータベースを定義しデータを格納するため、高速なシーク動作とデータ転送により、高速なデータアクセスが可能となる。また、ライトアクセスのみでリードアクセスを実施しないのであれば、データベースのバックアップとしての利用も可能である。
【符号の説明】
【００３０】
１０…ディスクアレイ装置、１１，１１０…コントローラ、１２，１２０…ホスト装置インタフェース、１３，１３０…マイクロプロセッサ、１４，１４０…メモリ、１５，１５０…ディスクインタフェース、１６，１６０…キャッシュメモリ、１７，１７０…ホスト装置、１８…接続路、１９…ハードディスクドライブ（ＨＤＤ）、２０…Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ（ＳＳＤ） 
【図１】
2011232962.tif 000003
【図２】
2011232962.tif 000004
【図３】
2011232962.tif 000005
【図４】
2011232962.tif 000006