(57)【要約】【課題】  キャッシュメモリ（スイッチ経由）への書き込み処理を減らしながらも、データの２重化を実現して装置性能を向上させることができるディスクアレイ装置のデータ処理技術を提供する。【解決手段】  ディスクアレイ装置において、ホストインターフェース部１１は、ホストコンピュータ／サーバー１からの書き込みデータを保存する不揮発メモリ部２２と、ホストコンピュータ／サーバー１からの書き込みデータを不揮発メモリ部２２とグローバルキャッシュメモリ部１４に転送するデータ転送制御部２１とを有し、ホストコンピュータ／サーバー１から書き込み要求を受けた場合に、データ転送制御部２１により、ホストコンピュータ／サーバー１からの書き込みデータを、不揮発メモリ部２２と、スイッチ部１５を介したグローバルキャッシュメモリ部１４とに転送して書き込む。【選択図】  図１ 
2005301419.tif 000002
【特許請求の範囲】
【請求項１】
データを格納する複数の記憶デバイスと、
前記複数の記憶デバイスに対するデータの書き込みまたは読み出しを制御する記憶デバイス制御部と、
自ディスクアレイ装置の外部の上位装置から書き込み要求または読み出し要求を受けるチャネル制御部と、
前記上位装置と前記複数の記憶デバイスとの間で通信されるデータが一時的に保存されるキャッシュメモリと、
前記チャネル制御部、前記記憶デバイス制御部および前記キャッシュメモリに接続される接続部とを有し、
前記チャネル制御部は、
前記上位装置からの書き込みデータを保存する第１の不揮発メモリと、
前記上位装置からの書き込みデータを前記第１の不揮発メモリと前記キャッシュメモリに転送する第１のデータ転送制御部とを有し、
前記上位装置から書き込み要求を受けた場合に、前記第１のデータ転送制御部により、前記上位装置からの書き込みデータを、前記第１の不揮発メモリと、前記接続部を介した前記キャッシュメモリとに転送して書き込む機能を有することを特徴とするディスクアレイ装置。
【請求項２】
請求項１記載のディスクアレイ装置において、
前記記憶デバイス制御部は、前記キャッシュメモリに書き込まれたデータを前記キャッシュメモリから前記記憶デバイスに転送して書き込む機能を有し、
前記チャネル制御部は、前記キャッシュメモリのデータが前記記憶デバイスに書き込まれた後、前記第１の不揮発メモリに書き込まれているデータの領域を解放する機能を有することを特徴とするディスクアレイ装置。
【請求項３】
請求項１記載のディスクアレイ装置において、
前記チャネル制御部は、前記キャッシュメモリに障害が発生した後の回復時に、前記第１の不揮発メモリに書き込まれているデータを読み出して前記キャッシュメモリに書き込む機能を有し、
前記記憶デバイス制御部は、前記キャッシュメモリに書き込まれたデータを読み出して前記記憶デバイスに転送して書き込む機能を有することを特徴とするディスクアレイ装置。
【請求項４】
請求項３記載のディスクアレイ装置において、
前記チャネル制御部は、前記キャッシュメモリのデータが前記記憶デバイスに書き込まれた後、前記第１の不揮発メモリに書き込まれているデータの領域を解放する機能を有することを特徴とするディスクアレイ装置。
【請求項５】
請求項１記載のディスクアレイ装置において、
前記チャネル制御部は、前記キャッシュメモリに障害が発生した後の回復時に、前記第１の不揮発メモリに書き込まれているデータを読み出して前記記憶デバイスに転送して書き込む機能を有することを特徴とするディスクアレイ装置。
【請求項６】
請求項５記載のディスクアレイ装置において、
前記チャネル制御部は、前記第１の不揮発メモリのデータが前記記憶デバイスに書き込まれた後、前記第１の不揮発メモリに書き込まれているデータの領域を解放する機能を有することを特徴とするディスクアレイ装置。
【請求項７】
請求項１記載のディスクアレイ装置において、
前記記憶デバイス制御部は、
前記キャッシュメモリに書き込まれたデータを保存する第２の不揮発メモリと、
前記キャッシュメモリに書き込まれたデータを前記第２の不揮発メモリと前記記憶デバイスに転送する第２のデータ転送制御部とを有し、
デステージ要求を受けた場合に、前記第２のデータ転送制御部により、前記キャッシュメモリに書き込まれたデータを、前記第２の不揮発メモリと、前記記憶デバイスとに転送して書き込む機能を有することを特徴とするディスクアレイ装置。
【請求項８】
請求項７記載のディスクアレイ装置において、
前記記憶デバイス制御部は、前記キャッシュメモリに書き込まれたデータが前記記憶デバイスに転送されない場合、前記第２の不揮発メモリに書き込まれたデータを読み出して前記記憶デバイスに転送して書き込む機能を有することを特徴とするディスクアレイ装置。
【請求項９】
請求項８記載のディスクアレイ装置において、
前記記憶デバイス制御部は、前記第２の不揮発メモリのデータが前記記憶デバイスに書き込まれた後、前記第２の不揮発メモリに書き込まれているデータの領域を解放する機能を有することを特徴とするディスクアレイ装置。
【請求項１０】
請求項１記載のディスクアレイ装置において、
前記チャネル制御部は、前記上位装置との間で複数のパスで書き込み要求または読み出し要求を受けるために複数からなり、
第１のチャネル制御部は、第１のパスを介した前記上位装置からの第１の書き込みデータを保存する第３の不揮発メモリと、前記上位装置からの第１の書き込みデータを前記第３の不揮発メモリと前記キャッシュメモリに転送する第３のデータ転送制御部とを有し、
第２のチャネル制御部は、第２のパスを介した前記上位装置からの第２の書き込みデータを保存する第４の不揮発メモリと、前記上位装置からの第２の書き込みデータを前記第４の不揮発メモリと前記キャッシュメモリに転送する第４のデータ転送制御部とを有し、
前記第１の書き込みデータの後に前記第２の書き込みデータが入力される場合に、
前記第１のチャネル制御部は、前記第３のデータ転送制御部により前記第１の書き込みデータを前記第３の不揮発メモリと前記キャッシュメモリとに転送して書き込み、前記キャッシュメモリから前記記憶デバイスに転送して書き込まれたことを確認した後に、前記第３の不揮発メモリ内の前記第１の書き込みデータを保存する機能を有し、
前記第２のチャネル制御部は、前記第４のデータ転送制御部により前記第２の書き込みデータを前記第４の不揮発メモリと前記キャッシュメモリとに転送して書き込み、前記キャッシュメモリから前記記憶デバイスに転送して書き込まれたことを確認した後に、前記第４の不揮発メモリ内の前記第２の書き込みデータを保存する機能を有することを特徴とするディスクアレイ装置。
【請求項１１】
データを格納する複数の記憶デバイスと、
前記複数の記憶デバイスに対するデータの書き込みまたは読み出しを制御する記憶デバイス制御部と、
自ディスクアレイ装置の外部の上位装置から書き込み要求または読み出し要求を受けるチャネル制御部と、
前記上位装置と前記複数の記憶デバイスとの間で通信されるデータが一時的に保存されるキャッシュメモリと、
前記チャネル制御部、前記記憶デバイス制御部および前記キャッシュメモリに接続される接続部とを有するディスクアレイ装置のデータ処理方法であって、
前記チャネル制御部は、
前記上位装置からの書き込みデータを保存する第１の不揮発メモリと、
前記上位装置からの書き込みデータを前記第１の不揮発メモリと前記キャッシュメモリに転送する第１のデータ転送制御部とを有し、
前記上位装置から書き込み要求を受けた場合に、前記第１のデータ転送制御部により、前記上位装置からの書き込みデータを、前記第１の不揮発メモリと、前記接続部を介した前記キャッシュメモリとに転送して書き込むことを特徴とするディスクアレイ装置のデータ処理方法。
【請求項１２】
請求項１１記載のディスクアレイ装置のデータ処理方法において、
前記記憶デバイス制御部は、前記キャッシュメモリに書き込まれたデータを前記キャッシュメモリから前記記憶デバイスに転送して書き込み、
前記チャネル制御部は、前記キャッシュメモリのデータが前記記憶デバイスに書き込まれた後、前記第１の不揮発メモリに書き込まれているデータの領域を解放することを特徴とするディスクアレイ装置のデータ処理方法。
【請求項１３】
請求項１１記載のディスクアレイ装置のデータ処理方法において、
前記チャネル制御部は、前記キャッシュメモリに障害が発生した後の回復時に、前記第１の不揮発メモリに書き込まれているデータを読み出して前記キャッシュメモリに書き込み、
前記記憶デバイス制御部は、前記キャッシュメモリに書き込まれたデータを読み出して前記記憶デバイスに転送して書き込むことを特徴とするディスクアレイ装置のデータ処理方法。
【請求項１４】
請求項１３記載のディスクアレイ装置のデータ処理方法において、
前記チャネル制御部は、前記キャッシュメモリのデータが前記記憶デバイスに書き込まれた後、前記第１の不揮発メモリに書き込まれているデータの領域を解放することを特徴とするディスクアレイ装置のデータ処理方法。
【請求項１５】
請求項１１記載のディスクアレイ装置のデータ処理方法において、
前記チャネル制御部は、前記キャッシュメモリに障害が発生した後の回復時に、前記第１の不揮発メモリに書き込まれているデータを読み出して前記記憶デバイスに転送して書き込むことを特徴とするディスクアレイ装置のデータ処理方法。
【請求項１６】
請求項１５記載のディスクアレイ装置のデータ処理方法において、
前記チャネル制御部は、前記第１の不揮発メモリのデータが前記記憶デバイスに書き込まれた後、前記第１の不揮発メモリに書き込まれているデータの領域を解放することを特徴とするディスクアレイ装置のデータ処理方法。
【請求項１７】
請求項１１記載のディスクアレイ装置のデータ処理方法において、
前記記憶デバイス制御部は、
前記キャッシュメモリに書き込まれたデータを保存する第２の不揮発メモリと、
前記キャッシュメモリに書き込まれたデータを前記第２の不揮発メモリと前記記憶デバイスに転送する第２のデータ転送制御部とを有し、
デステージ要求を受けた場合に、前記第２のデータ転送制御部により、前記キャッシュメモリに書き込まれたデータを、前記第２の不揮発メモリと、前記記憶デバイスとに転送して書き込むことを特徴とするディスクアレイ装置のデータ処理方法。
【請求項１８】
請求項１７記載のディスクアレイ装置のデータ処理方法において、
前記記憶デバイス制御部は、前記キャッシュメモリに書き込まれたデータが前記記憶デバイスに転送されない場合、前記第２の不揮発メモリに書き込まれたデータを読み出して前記記憶デバイスに転送して書き込むことを特徴とするディスクアレイ装置のデータ処理方法。
【請求項１９】
請求項１８記載のディスクアレイ装置のデータ処理方法において、
前記記憶デバイス制御部は、前記第２の不揮発メモリのデータが前記記憶デバイスに書き込まれた後、前記第２の不揮発メモリに書き込まれているデータの領域を解放することを特徴とするディスクアレイ装置のデータ処理方法。
【請求項２０】
請求項１１記載のディスクアレイ装置のデータ処理方法において、
前記チャネル制御部は、前記上位装置との間で複数のパスで書き込み要求または読み出し要求を受けるために複数からなり、
第１のチャネル制御部は、第１のパスを介した前記上位装置からの第１の書き込みデータを保存する第３の不揮発メモリと、前記上位装置からの第１の書き込みデータを前記第３の不揮発メモリと前記キャッシュメモリに転送する第３のデータ転送制御部とを有し、
第２のチャネル制御部は、第２のパスを介した前記上位装置からの第２の書き込みデータを保存する第４の不揮発メモリと、前記上位装置からの第２の書き込みデータを前記第４の不揮発メモリと前記キャッシュメモリに転送する第４のデータ転送制御部とを有し、
前記第１の書き込みデータの後に前記第２の書き込みデータが入力される場合に、
前記第１のチャネル制御部は、前記第３のデータ転送制御部により前記第１の書き込みデータを前記第３の不揮発メモリと前記キャッシュメモリとに転送して書き込み、前記キャッシュメモリから前記記憶デバイスに転送して書き込まれたことを確認した後に、前記第３の不揮発メモリ内の前記第１の書き込みデータを保存し、
前記第２のチャネル制御部は、前記第４のデータ転送制御部により前記第２の書き込みデータを前記第４の不揮発メモリと前記キャッシュメモリとに転送して書き込み、前記キャッシュメモリから前記記憶デバイスに転送して書き込まれたことを確認した後に、前記第４の不揮発メモリ内の前記第２の書き込みデータを保存することを特徴とするディスクアレイ装置のデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスクアレイ装置およびそのデータ処理技術に関し、特に、キャッシュメモリ（スイッチ経由）への書き込み処理を減らしながらも、データの２重化を実現できるデータ処理方法に適用して有効な技術に関する。
【背景技術】
【０００２】
本発明者が検討したところによれば、従来のディスクアレイ装置およびそのデータ処理技術に関しては、以下のような技術が考えられる。
【０００３】
たとえば、従来のディスクアレイ装置のデータ処理技術においては、ユーザの性能向上に対応するため、上位装置とディスクアレイ装置内の記憶装置との間のデータを一時的に格納するキャッシュメモリを２重化構造にし、それぞれのキャッシュメモリに上位装置から転送されるデータを格納して、データを２重化して管理する技術がある。このような技術では、上位装置のインターフェースと２重化構造のキャッシュメモリとの間を接続する内部データ転送パスにスイッチ接続方式を採用するものがある。このスイッチ接続方式では、スイッチ部を介して、上位装置のインターフェースと２重化構造のキャッシュメモリとの間、記憶装置のインターフェースと２重化構造のキャッシュメモリとの間が１対１で接続されている（特許文献１参照）。
【特許文献１】特開平１１−３１２１２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、前記のような本発明者が検討した従来のディスクアレイ装置およびそのデータ処理技術に関して、本発明者が検討した結果、以下のようなことが明らかとなった。
【０００５】
たとえば、従来のディスクアレイ装置のデータ処理技術においては、前述の通り、上位装置のインターフェースと２重化構造のキャッシュメモリとの間、記憶装置のインターフェースと２重化構造のキャッシュメモリとの間を、同一のスイッチ部を介して１対１で接続するために、同一データの２重書きのためにはスイッチ帯域を１重書きの場合と比較して２倍消費するという問題がある。
【０００６】
すなわち、上位装置から転送されるデータを２重化構造のキャッシュメモリに格納する際に、スイッチ部には、上位装置からのデータを上位装置のインターフェースからスイッチ部を介して一方のキャッシュメモリに格納する帯域と、同じデータを同一のスイッチ部を介して他方のキャッシュメモリに格納する帯域とが必要となる、この結果、スイッチ部の帯域は、同一データを２重書き方式で実行する場合には１重書き方式で実行する場合に比べて２倍必要となる。このため、２重書き方式の思想を引き継ぎながら、スイッチ部の帯域を１重書き方式と同等にすることが望まれている。
【０００７】
そこで、本発明の目的は、キャッシュメモリ（スイッチ経由）への書き込み処理を減らしながらも、データの２重化を実現して装置性能を向上させることができるディスクアレイ装置のデータ処理技術を提供することにある。
【０００８】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００９】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【００１０】
本発明は、データを格納する複数の記憶デバイスと、複数の記憶デバイスに対するデータの書き込みまたは読み出しを制御する記憶デバイス制御部と、自ディスクアレイ装置の外部の上位装置から書き込み要求または読み出し要求を受けるチャネル制御部と、上位装置と複数の記憶デバイスとの間で通信されるデータが一時的に保存されるキャッシュメモリと、チャネル制御部、記憶デバイス制御部およびキャッシュメモリに接続される接続部とを有するディスクアレイ装置およびそのデータ処理方法に適用され、以下のような特徴を有するものである。
【００１１】
すなわち、本発明においては、チャネル制御部が、上位装置からの書き込みデータを保存する不揮発メモリと、上位装置からの書き込みデータを不揮発メモリとキャッシュメモリに転送するデータ転送制御部とを有し、上位装置から書き込み要求を受けた場合に、データ転送制御部により、上位装置からの書き込みデータを、不揮発メモリと、接続部を介したキャッシュメモリとに転送して書き込むものである。そして、記憶デバイス制御部が、キャッシュメモリに書き込まれたデータをキャッシュメモリから記憶デバイスに転送して書き込み、チャネル制御部は、キャッシュメモリのデータが記憶デバイスに書き込まれた後、不揮発メモリに書き込まれているデータの領域を解放するものである。
【００１２】
また、本発明においては、チャネル制御部が、キャッシュメモリに障害が発生した後の回復時に、不揮発メモリに書き込まれているデータを読み出してキャッシュメモリに書き込み、記憶デバイス制御部が、キャッシュメモリに書き込まれたデータを読み出して記憶デバイスに転送して書き込むものである。そして、チャネル制御部は、キャッシュメモリのデータが記憶デバイスに書き込まれた後、不揮発メモリに書き込まれているデータの領域を解放するものである。
【００１３】
あるいは、本発明においては、チャネル制御部が、キャッシュメモリに障害が発生した後の回復時に、不揮発メモリに書き込まれているデータを読み出して記憶デバイスに転送して書き込むものである。そして、チャネル制御部は、不揮発メモリのデータが記憶デバイスに書き込まれた後、不揮発メモリに書き込まれているデータの領域を解放するものである。
【００１４】
また、本発明においては、記憶デバイス制御部が、キャッシュメモリに書き込まれたデータを保存する不揮発メモリと、キャッシュメモリに書き込まれたデータを不揮発メモリと記憶デバイスに転送するデータ転送制御部とを有し、デステージ要求を受けた場合に、データ転送制御部により、キャッシュメモリに書き込まれたデータを、不揮発メモリと、記憶デバイスとに転送して書き込むものである。さらに、記憶デバイス制御部は、キャッシュメモリに書き込まれたデータが記憶デバイスに転送されない場合、不揮発メモリに書き込まれたデータを読み出して記憶デバイスに転送して書き込むものである。そして、記憶デバイス制御部は、不揮発メモリのデータが記憶デバイスに書き込まれた後、不揮発メモリに書き込まれているデータの領域を解放するものである。
【００１５】
また、本発明においては、チャネル制御部が、上位装置との間で複数のパスで書き込み要求または読み出し要求を受けるために複数からなり、第１、第２のチャネル制御部がそれぞれ、各パスを介した上位装置からの書き込みデータを保存する不揮発メモリと、上位装置からの書き込みデータを不揮発メモリとキャッシュメモリに転送するデータ転送制御部とを有し、第１の書き込みデータの後に第２の書き込みデータが入力される場合に、第１のチャネル制御部は、第１の書き込みデータがキャッシュメモリから記憶デバイスに転送して書き込まれたことを確認した後に、不揮発メモリ内の第１の書き込みデータを保存し、第２のチャネル制御部は、第２の書き込みデータがキャッシュメモリから記憶デバイスに転送して書き込まれたことを確認した後に、不揮発メモリ内の第２の書き込みデータを保存するものである。具体的には、第１の書き込みデータと第２の書き込みデータとの一部が同じ場合に、第１の書き込みデータのうちの一部を保存して第２の書き込みデータを消去し、また第１の書き込みデータと第２の書き込みデータとが同じ場合には、第１の書き込みデータ、第２の書き込みデータを保存するものである。
【発明の効果】
【００１６】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【００１７】
本発明によれば、キャッシュメモリ（スイッチ経由）への書き込み処理を減らしながらも、データの２重化を実現して装置性能を向上させることができる。この結果、装置の高速化や大規模化に対しても、高速・大規模構成対応で信頼性維持が可能となる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の機能を有する部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００１９】
＜ディスクアレイ装置の概念構成＞
図１により、本発明の一実施の形態に係るディスクアレイ装置の概念構成の一例を説明する。図１はディスクアレイ装置の概念構成を示す図である。
【００２０】
本実施の形態に係るディスクアレイ装置の概念構成は、自ディスクアレイ装置の外部のホストコンピュータ／サーバー（上位装置）１に接続され、データを格納する磁気ディスク装置２のＨＤＤ（ハードディスクドライブ：記憶デバイス）３１を含み、ホストコンピュータ／サーバー１から書き込み要求または読み出し要求を受けるホストインターフェース部（チャネル制御部）１１と、ＨＤＤ３１に対するデータの書き込みまたは読み出しを制御するディスクインターフェース部（記憶デバイス制御部）１２と、ホストコンピュータ／サーバー１とＨＤＤ３１との間で通信されるデータが一時的に保存されるグローバルキャッシュメモリ部（キャッシュメモリ）１４と、ホストインターフェース部１１、ディスクインターフェース部１２およびグローバルキャッシュメモリ部１４に接続されるスイッチ部（接続部）１５とから構成される。
【００２１】
このような構成において、特に、ホストインターフェース部１１は、ホストコンピュータ／サーバー１からの書き込みデータを保存する不揮発メモリ部（不揮発メモリ）２２と、ホストコンピュータ／サーバー１からの書き込みデータを不揮発メモリ部２２とグローバルキャッシュメモリ部１４に転送するデータ転送制御部２１とを有し、ホストコンピュータ／サーバー１から書き込み要求を受けた場合に、データ転送制御部２１により、ホストコンピュータ／サーバー１からの書き込みデータを、不揮発メモリ部２２と、スイッチ部１５を介したグローバルキャッシュメモリ部１４とに転送して書き込む。この書き込みデータの２重書きは、同時に行うか、あるいは結果的に２重書きを実現可能な時間差を持って行ってもよい。このとき、スイッチ部１５は、グローバルキャッシュメモリ部１４に対して１つのパスで接続する。そして、ディスクインターフェース部１２が、グローバルキャッシュメモリ部１４に書き込まれたデータをグローバルキャッシュメモリ部１４からＨＤＤ３１に転送して書き込み、ホストインターフェース部１１は、グローバルキャッシュメモリ部１４のデータがＨＤＤ３１に書き込まれた後、不揮発メモリ部２２に書き込まれているデータの領域を解放する。
【００２２】
＜ディスクアレイ装置の全体構成＞
図２により、本実施の形態に係るディスクアレイ装置の全体構成の一例を説明する。図２はディスクアレイ装置の全体構成を示す図である。
【００２３】
本実施の形態に係るディスクアレイ装置は、前述した図１のような最小限の構成要素からなる場合もあるが、ディスク容量やキャッシュメモリ容量の増大、スイッチの拡張などによる装置の大規模化、処理の高速化などが進むにつれ、この要求を満たすために、図２に示すような高速化・大規模化対応の構成となることが主である。図２に示すディスクアレイ装置は、ホストコンピュータ／サーバー１との間で複数の装置群、複数のパスで接続され、またディスクアレイ装置内においても磁気ディスク装置２内の複数のＨＤＤとの間が複数のパスで接続される。
【００２４】
このディスクアレイ装置では、ディスクアレイ制御装置１０内に、ホストインターフェース部１１、ディスクインターフェース部１２、グローバルキャッシュメモリ部１４、スイッチ部１５がそれぞれ複数備えられている。この例では、ホストインターフェース部１１が８個、ディスクインターフェース部１２が４個、グローバルキャッシュメモリ部１４が４個、スイッチ部１５が２個備えられ、また、電源遮断時などにグローバルキャッシュメモリ部１４に電源を供給するためのメモリ用バッテリ１８が備えられている。なお、ディスクアレイ制御装置１０には、図示しないが、制御情報を格納する共有メモリ部、装置管理を行うサービスプロセッサなども備えられている。
【００２５】
このように、８個のホストインターフェース部１１、４個のディスクインターフェース部１２を、これらの数より少ない２個のスイッチ部１５に接続した構成では、それぞれのスイッチ部１５へ各インターフェース部１１，１２がグローバルキャッシュメモリ部１４へのデータ転送要求をするため、グローバルキャッシュメモリ部１４とスイッチ部１５とのパスが競合する。特に、２重書きがあれば、２つのパスを占有するために競合の度合が増すことになる。よって、本実施の形態のように、ホストインターフェース部１１内に不揮発メモリ部２２を設け、ホストコンピュータ／サーバー１からのデータを、データ転送制御部２１により、内部の不揮発メモリ部２２と、スイッチ部１５を介したグローバルキャッシュメモリ部１４とに書き込むことで、２重書きでもスイッチ部１５におけるパスの占有率を減らすことができる。
【００２６】
本実施の形態のディスクアレイ装置では、たとえばホストコンピュータ／サーバー１から受信したコマンドに従って磁気ディスク装置２に対する制御を行う。たとえば、ホストコンピュータ／サーバー１からデータ入出力要求を受信して、磁気ディスク装置２が備えるＨＤＤ３１に記憶されるデータの読み書きを行う。
【００２７】
ホストコンピュータ／サーバー１は、ＣＰＵやメモリを備えたコンピュータ、サーバーなどの情報処理装置である。このホストコンピュータ／サーバー１が備えるＣＰＵによって各種プログラムが実行されることにより、様々な機能が実現される。ホストコンピュータは、たとえばパーソナルコンピュータやワークステーションであることもあるし、メインフレームコンピュータであることもある。
【００２８】
このホストコンピュータ／サーバー１は、異なるユーザの情報処理装置とすることができる。なお、ユーザとは、たとえば企業とすることができ、または企業内における部署などの部門とすることもでき、あるいは個人とすることもできる。
【００２９】
ホストコンピュータ／サーバー１は、たとえばＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を介してディスクアレイ制御装置１０と通信可能に接続される。ＳＡＮは、磁気ディスク装置２が提供する記憶資源におけるデータの管理単位であるブロックを単位としてホストコンピュータ／サーバー１との間でデータの授受を行うためのネットワークである。ＳＡＮを介して行われるホストコンピュータ／サーバー１とディスクアレイ制御装置１０との間の通信は、たとえばファイバチャネルプロトコルに従って行われる。ホストコンピュータ／サーバー１からは、ディスクアレイ制御装置１０に対して、ファイバチャネルプロトコルに従ってブロック単位のデータアクセス要求が送信される。
【００３０】
また、ホストコンピュータ／サーバー１は、ＳＡＮなどのネットワークを介さずに直接にディスクアレイ制御装置１０と通信可能に接続される。ネットワークを介さずに直接に、ホストコンピュータ／サーバー１とディスクアレイ制御装置１０との間の通信は、たとえばＦＩＣＯＮ（Ｆｉｂｒｅ  Ｃｏｎｎｅｃｔｉｏｎ）（登録商標）やＥＳＣＯＮ（Ｅｎｔｅｒｐｒｉｓｅ  Ｓｙｓｔｅｍ  Ｃｏｎｎｅｃｔｉｏｎ）（登録商標）、ＡＣＯＮＡＲＣ（Ａｄｖａｎｃｅｄ  Ｃｏｎｎｅｃｔｉｏｎ  Ａｒｃｈｉｔｅｃｔｕｒｅ）（登録商標）、ＦＩＢＡＲＣ（Ｆｉｂｒｅ  Ｃｏｎｎｅｃｔｉｏｎ  Ａｒｃｈｉｔｅｃｔｕｒｅ）（登録商標）などの通信プロトコルに従って行われる。ホストコンピュータ／サーバー１からは、ディスクアレイ制御装置１０に対して、これらの通信プロトコルに従ってブロック単位のデータアクセス要求が送信される。
【００３１】
もちろん、ホストコンピュータ／サーバー１とディスクアレイ制御装置１０との間は、ＳＡＮを介して接続される場合、ＳＡＮを介さずに直接に接続される場合に限らず、たとえば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を介して接続されているようにすることもできる。ＬＡＮを介して接続される場合には、たとえばＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）プロトコルに従って通信を行うようにすることができる。
【００３２】
磁気ディスク装置２は、多数の記憶デバイスを備えている。これにより、ホストコンピュータ／サーバー１に対して大容量の記憶領域を提供することができる。記憶デバイスは、ＨＤＤ３１などのデータ記憶媒体、あるいはＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）を構成する複数のＨＤＤ３１により構成されてなるようにすることができる。また、ＨＤＤ３１により提供される物理的な記憶領域である物理ボリュームには、論理的な記録領域である論理ボリュームを設定することができる。
【００３３】
ディスクアレイ制御装置１０と磁気ディスク装置２との間は、直接に接続される形態とすることもできるし、ネットワークを介して接続されるようにすることもできる。さらに、磁気ディスク装置２は、ディスクアレイ制御装置１０と一体として構成されることもできる。
【００３４】
ディスクアレイ制御装置１０内のホストインターフェース部１１は、ホストコンピュータ／サーバー１との間で通信を行うための通信インターフェースを備え、ホストコンピュータ／サーバー１との間でデータ入出力コマンドなどを授受する機能を備える。詳細には、後述する図３，図４のような構成となっている。なお、ホストインターフェース部１１は、サービスプロセッサと共に内部ＬＡＮで接続され、これによりホストインターフェース部１１に実行させるマイクロプログラムなどをサービスプロセッサから受信し、インストールすることが可能となっている。
【００３５】
スイッチ部１５は、ホストインターフェース部１１、ディスクインターフェース部１２、グローバルキャッシュメモリ部１４、共有メモリ部、サービスプロセッサを相互に接続する。ホストインターフェース部１１、ディスクインターフェース部１２、グローバルキャッシュメモリ部１４、共有メモリ部、サービスプロセッサの間でのデータやコマンドの授受は、スイッチ部１５を介することにより行われる。スイッチ部１５は、たとえばクロスバスイッチで構成される。
【００３６】
グローバルキャッシュメモリ部１４および共有メモリ部は、ホストインターフェース部１１、ディスクインターフェース部１２により共有される記憶メモリである。グローバルキャッシュメモリ部１４は、主にデータを記憶するために利用されるのに対して、共有メモリ部は、主に制御情報やコマンドなどを記憶するために利用される。
【００３７】
たとえば、あるホストインターフェース部１１がホストコンピュータ／サーバー１から受信したデータ入出力要求が書き込みコマンドであった場合には、当該ホストインターフェース部１１は書き込みコマンドを共有メモリ部に書き込むと共に、ホストコンピュータ／サーバー１から受信した書き込みデータをグローバルキャッシュメモリ部１４に書き込む。一方、ディスクインターフェース部１２は、共有メモリ部を監視しており、共有メモリ部に書き込みコマンドが書き込まれたことを検出すると、当該コマンドに従ってグローバルキャッシュメモリ部１４から書き込みデータを読み出して磁気ディスク装置２内のＨＤＤ３１に書き込む。
【００３８】
また、あるホストインターフェース部１１がホストコンピュータ／サーバー１から受信したデータ入出力要求が読み出しコマンドであった場合には、読み出し対象となるデータがグローバルキャッシュメモリ部１４に存在するかどうかを調べる。ここで、グローバルキャッシュメモリ部１４に存在すれば、ホストインターフェース部１１はそのデータをホストコンピュータ／サーバー１に送信する。一方、読み出し対象となるデータがグローバルキャッシュメモリ部１４に存在しない場合には、当該ホストインターフェース部１１は読み出しコマンドを共有メモリ部に書き込むと共に、共有メモリ部を監視する。読み出しコマンドが共有メモリ部に書き込まれたことを検出したディスクインターフェース部１２は、磁気ディスク装置２内のＨＤＤ３１から読み出し対象となるデータを読み出して、これをグローバルキャッシュメモリ部１４に書き込むと共に、その旨を共有メモリ部に書き込む。そして、ホストインターフェース部１１は、読み出し対象となるデータがグローバルキャッシュメモリ部１４に書き込まれたことを検出すると、そのデータをホストコンピュータ／サーバー１に送信する。
【００３９】
このように、ホストインターフェース部１１およびディスクインターフェース部１２の間では、グローバルキャッシュメモリ部１４を介してデータの授受が行われ、グローバルキャッシュメモリ部１４には、ＨＤＤ３１に記憶されるデータのうち、ホストインターフェース部１１やディスクインターフェース部１２により読み書きされるデータが記憶される。さらに、２重書き動作時には、詳細は後述するが、グローバルキャッシュメモリ部１４とともに、ホストインターフェース部１１の内部の不揮発メモリ部２２にもデータが書き込まれる。
【００４０】
なお、ホストインターフェース部１１からディスクインターフェース部１２に対するデータの書き込みや読み出しの指示を、共有メモリ部を介在させて間接的に行う構成の他、たとえばホストインターフェース部１１からディスクインターフェース部１２に対してデータの書き込みや読み出しの指示を共有メモリ部を介さずに直接に行う構成とすることもできる。また、ホストインターフェース部１１にディスクインターフェース部１２の機能を持たせて、データ入出力制御部とすることもできる。
【００４１】
ディスクインターフェース部１２は、データを記憶する複数のＨＤＤ３１と通信可能に接続され、磁気ディスク装置２の制御を行う。たとえば、上述のように、ホストインターフェース部１１がホストコンピュータ／サーバー１から受信したデータ入出力要求に応じて、ＨＤＤ３１に対してデータの読み書きを行う。詳細には、後述する図１０のような構成となっている。なお、各ディスクインターフェース部１２は、サービスプロセッサと共に内部ＬＡＮで接続されており、相互に通信を行うことが可能である。これにより、ディスクインターフェース部１２に実行させるマイクロプログラムなどをサービスプロセッサから受信し、インストールすることが可能となっている。
【００４２】
本実施の形態においては、グローバルキャッシュメモリ部１４および共有メモリ部がホストインターフェース部１１およびディスクインターフェース部１２に対して独立に設けられていることについて記載したが、これに限られるものではなく、グローバルキャッシュメモリ部１４および共有メモリ部がホストインターフェース部１１およびディスクインターフェース部１２の各々に分散されて設けられることも好ましい。この場合、スイッチ部１５は、分散されたグローバルキャッシュメモリ部１４または共有メモリ部を有するホストインターフェース部１１およびディスクインターフェース部１２を相互に接続させることになる。
【００４３】
また、ホストインターフェース部１１、ディスクインターフェース部１２、グローバルキャッシュメモリ部１４、スイッチ部１５、共有メモリ部の少なくともいずれかが一体として構成されているようにすることもできる。
【００４４】
サービスプロセッサは、ディスクアレイ制御装置１０を保守・管理するためのコンピュータである。オペレータは、サービスプロセッサを操作することにより、たとえば磁気ディスク装置２内のＨＤＤ３１の構成の設定や、ホストコンピュータ／サーバー１とホストインターフェース部１１との間の通信路であるパスの設定、論理ボリュームの設定、ホストインターフェース部１１やディスクインターフェース部１２において実行されるマイクロプログラムのインストールなどを行うことができる。ここで、磁気ディスク装置２内のＨＤＤ３１の構成の設定としては、たとえばＨＤＤ３１の増設や減設、ＲＡＩＤ構成の変更（ＲＡＩＤ１からＲＡＩＤ５への変更など）などとすることができる。
【００４５】
さらに、サービスプロセッサからは、ディスクアレイ制御装置１０の動作状態の確認や故障部位の特定、ホストインターフェース部１１で実行されるオペレーティングシステムのインストールなどの作業を行うことができる。これらの設定や制御は、サービスプロセッサが備えるユーザインターフェース、あるいはサービスプロセッサで動作するＷｅｂサーバにより提供されるＷｅｂページを表示する管理クライアントの情報処理装置のユーザインターフェースからオペレータなどにより行うようにすることができる。オペレータなどは、サービスプロセッサを操作して障害監視する対象や内容の設定、障害通知先の設定などを行うこともできる。
【００４６】
サービスプロセッサは、ディスクアレイ制御装置１０に内蔵されている形態とすることもできるし、外付けされている形態とすることもできる。また、サービスプロセッサは、ディスクアレイ制御装置１０および磁気ディスク装置２の保守・管理を専用に行うコンピュータとすることもできるし、汎用のコンピュータに保守・管理機能を持たせたものとすることもできる。
【００４７】
＜ホストインターフェース部の構成＞
図３により、本実施の形態に係るディスクアレイ装置において、ホストインターフェース部の構成の一例を説明する。図３はホストインターフェース部の構成を示す図である。
【００４８】
ホストインターフェース部１１は、たとえば２つのパスでホストコンピュータ／サーバー１、スイッチ部１５と接続される例で、ホストコンピュータ／サーバー１とのＩ／Ｆ（インターフェース）を持つ２つのＩ／Ｆ制御部２０１と、ホストコンピュータ／サーバー１との間の入出力を制御する２つのＭＰ（マイクロプロセッサ）部２１０と、ホストコンピュータ／サーバー１からのデータを転送制御するデータ転送制御部２１と、ホストコンピュータ／サーバー１からのデータを格納する不揮発メモリ部２２から構成される。各ＭＰ部２１０には、制御プログラムを格納するＬＭ（ローカルメモリ）部２１１が設けられ、この制御プログラムに基づいて、Ｉ／Ｆ制御部２０１、データ転送制御部２１、ＭＰ部２１０が制御される。
【００４９】
このホストインターフェース部１１において、Ｉ／Ｆ制御部２０１は、ホストコンピュータ／サーバー１からのデータを受け取り、プロトコルを制御してデータ転送制御部２１へ渡す。このプロトコルは、ＦｉｂｒｅＩ／Ｆやメインフレーム用Ｉ／Ｆなどに対応してそれぞれ異なる。そして、データ転送制御部２１は、ＭＰ部２１０の命令により、不揮発メモリ部２２にホストコンピュータ／サーバー１からのデータを書き込み、あるいはグローバルキャッシュメモリ部１４からのデータを読み込むことができる。
【００５０】
＜データ転送制御部と不揮発メモリ部の構成＞
図４により、本実施の形態に係るディスクアレイ装置において、ホストインターフェース部内のデータ転送制御部と不揮発メモリ部の構成の一例を説明する。図４はデータ転送制御部と不揮発メモリ部の構成を示す図である。
【００５１】
データ転送制御部２１は、Ｉ／Ｆ制御部２０１、スイッチ部１５をそれぞれ介して入力されるデータのエラーチェックを行う４つのエラーチェック回路部３０１と、Ｉ／Ｆ制御部２０１とスイッチ部１５とを接続するためのセレクタ３０２と、Ｉ／Ｆ制御部２０１を介して入力されるアドレス、コマンド、データを一時的に格納する２つのパケットバッファ３０３と、入力されたアドレス、コマンドを解析するアドレス／コマンド解析部３０６と、セレクタ３０２の切り替えを制御するＤＭＡ制御部３１０などから構成される。ＤＭＡ制御部３１０内には、アクセス要求のアービトレーションを行うアービタ３０８と、ハードウェア情報を格納する制御レジスタ３０９とを有し、制御レジスタ３０９はＭＰ部２１０より設定が可能となっている。
【００５２】
このデータ転送制御部２１において、複数のＩ／Ｆ制御部２０１と、複数のスイッチ部１５へ接続させるためのセレクタ３０２の切り替えがＤＭＡ制御部３１０で制御され、このＤＭＡ制御部３１０はホストコンピュータ／サーバー１からのデータのアドレス／コマンドを解析するアドレス／コマンド解析部３０６の情報により制御され、これによってデータ転送を制御することが可能となっている。
【００５３】
また、データ転送制御部２１の外部には、データ転送制御部２１内のセレクタ３０２に接続される不揮発メモリ部２２が設けられている。この不揮発メモリ部２２には、データ転送制御部２１との入出力を制御する不揮発メモリ制御部２２１と、データ転送制御部２１を介して転送されてきたデータを格納する不揮発メモリ２２２が備えられている。この不揮発メモリ部２２においては、不揮発メモリ制御部２２１の制御により、データ転送制御部２１のセレクタ３０２を介して転送されてきたデータが不揮発メモリ２２２に格納される。
【００５４】
＜２重書き動作のデータフロー＞
図５により、本実施の形態に係るディスクアレイ装置において、２重書き動作のデータフローの一例を説明する。図５は２重書き動作のデータフローを示す図である。図５および後述する図において、リクエスト信号はＲＥＱ、アクノリッジ信号はＡＣＫ、コマンドはＣＭＤ、アドレスはＡＤＲと記述する。
【００５５】
まず、ホストコンピュータ／サーバー１からコマンド／データが転送されてくると、この転送されてきたコマンド／データをホストインターフェース部１１で受け取り、データ転送制御部２１内のパケットバッファ３０３に格納して（ステップ１０００）、アドレス／コマンド解析部３０６でアドレス解析を行う（ステップ１００１）。そして、データ転送制御部２１は、セレクタ３０２を介してスイッチ部１５へアクセス開始を示すリクエスト信号を送出する（ステップ１００２）。さらに、スイッチ部１５は、グローバルキャッシュメモリ部１４へリクエスト信号を送出する（ステップ１００３）。
【００５６】
続いて、データ転送制御部２１は、スイッチ部１５へパケットバッファ３０３に格納したアドレスおよびコマンドを連続して送出する（ステップ１００４ａ）。並行して（ステップ１００４ｂ）、データ転送制御部２１は、不揮発メモリ部２２にパケットバッファ３０３に格納したデータを転送する。そして、不揮発メモリ部２２では、不揮発メモリ制御部２２１の制御により、不揮発メモリ２２２にホストコンピュータ／サーバー１からのデータが書き込まれる（ステップ１００５）。
【００５７】
一方、スイッチ部１５は、データ転送制御部２１からリクエスト信号を受け取ると、続いて送られてきたアドレスおよびコマンドを受信し、アクセス要求に基づいてアービトレーションを行い、この結果に基づいてグローバルキャッシュメモリ部１４へ接続を切り替える（ステップ１００６）。さらに、スイッチ部１５は、グローバルキャッシュメモリ部１４へアドレスおよびコマンドを連続して送出する（ステップ１００７）。
【００５８】
そして、スイッチ部１５は、データ転送制御部２１にグローバルキャッシュメモリ部１４への接続権が得られたたことを示すアクノリッジ信号を返す（ステップ１００８）。そして、データ転送制御部２１は、このアクノリッジ信号を受け取って、スイッチ部１５にパケットバッファ３０３に格納したデータを転送する（ステップ１００９）。さらに、スイッチ部１５は、転送されてきたデータをグローバルキャッシュメモリ部１４に転送する（ステップ１０１０）。そして、グローバルキャッシュメモリ部１４（内部のキャッシュメモリ）には、ホストコンピュータ／サーバー１からのデータが書き込まれる（ステップ１０１１）。
【００５９】
続いて、グローバルキャッシュメモリ部１４は、メモリライトが終了すると、スイッチ部１５にステータスを送出する（ステップ１０１２）。さらに、スイッチ部１５は、送られてきたステータスをデータ転送制御部２１に送出する（ステップ１０１３）。そして、データ転送制御部２１は、このステータスを受け取って、スイッチ部１５へのリクエスト信号をオフする（ステップ１０１４）。
【００６０】
さらに、スイッチ部１５は、データ転送制御部２１からのリクエスト信号のオフを確認すると、データ転送制御部２１へのアクノリッジ信号をオフする（ステップ１０１５）。そして、データ転送制御部２１は、スイッチ部１５からのアクノリッジ信号のオフを確認すると、ホストコンピュータ／サーバー１へアクノリッジ信号を転送する（ステップ１０１６）。
【００６１】
このようにして、ホストコンピュータ／サーバー１からのデータを、不揮発メモリ部２２とグローバルキャッシュメモリ部１４とに書き込むことで、データの２重化が可能となる。この際に、従来の２重書きと異なり、スイッチ部１５はグローバルキャッシュメモリ部１４へライトデータを送るのみであり、グローバルキャッシュメモリ部１４のパスがビジーを待たなくて良くなる。すなわち、従来の２重書きでは、２つのグローバルキャッシュメモリ部に対して書き込みを行うので、１つ目のキャッシュメモリ部に対して書き込みを行っている際には２つ目のキャッシュメモリ部のパスがビジーとなり、待たなければならなかった。よって、本実施の形態では、空いたパスで他の処理を並行して行うことができるので、高速化対応が可能となる。
【００６２】
＜２重書き動作＞
図６，図７により、本実施の形態に係るディスクアレイ装置において、２重書き動作の処理フローの一例を説明する。それぞれ、図６は２重書き動作の処理フローを示す図、図７はディスクインターフェース部とホストインターフェース部の通信の管理テーブルを示す図、である。
【００６３】
２重書き動作においては、不揮発メモリ部２２内の不揮発メモリ２２２、グローバルキャッシュメモリ部１４内のキャッシュメモリに対するデータの書き込みと、このデータを磁気ディスク装置２のＨＤＤ３１にデステージした後のエリアの解放までを実行する。この２重書き動作では、ディスクインターフェース部１２とホストインターフェース部１１との通信に、図７に示すような管理テーブルを用いて実行される。
【００６４】
管理テーブルには、開始アドレス、領域サイズ、管理元のＭＰＩＤとポートＩＤ、ライトペンディングフラグ、プロテクトフラグ、関連キャッシュメモリ（または不揮発メモリ）アドレス情報などのパラメータが格納される。この管理テーブルは、グローバルキャッシュメモリ部１４用と、不揮発メモリ部２２用に、たとえばホストインターフェース部１１のＭＰ部２１０内のＬＭ部２１１や、ディスクインターフェース部１２のＭＰ部内のＬＭ部、共有メモリ部などに設けられている。
【００６５】
管理元のＭＰＩＤとポートＩＤは、ライトしたマイクロプロセッサの番号情報とポート番号情報であり、“ＦＦ”はフリーエリアの意味である。ライトペンディングフラグにおいて、“０１”の場合はライトペンディングデータが残っており、“００”の場合は全てのデータのライト処理が済んだことを意味している。プロテクトフラグにおいて、“０１”の場合はライト処理にプロテクトがかかっており、リード処理のみが可能な状態であり、“００”の場合はライト処理が可能な状態である。関連キャッシュメモリ（または不揮発メモリ）アドレス情報は、グローバルキャッシュメモリ部１４または不揮発メモリ部２２に対する２重書き場所のアドレスを示す情報である。
【００６６】
この管理テーブルをサーチして、管理元のＭＰＩＤとポートＩＤが“ＦＦ”のマイクロプロセッサを使用して、ライトペンディングフラグが“００”の場合で、プロテクトフラグが“００”の場合に、関連するグローバルキャッシュメモリ部１４と不揮発メモリ部２２に対してライトデータの２重書きが可能となる。
【００６７】
この２重書動作は、図６に示すように、まず、ディスクアレイ装置のホストインターフェース部１１は、ホストコンピュータ／サーバー１よりコマンドを受信し、このコマンドの内容を解析する（ステップ１１０１）。そして、不揮発メモリ部２２のアドレスの空き領域を確認し、空き領域の中から決められた単位あるいは必要な領域のみを確保してメモリアドレスを決定する（ステップ１１０２）。この時に、グローバルキャッシュメモリ部１４も同様に空き領域を確保する。さらに、不揮発メモリ部２２、グローバルキャッシュメモリ部１４に確保した領域の情報を管理テーブルに登録する（ステップ１１０３）。
【００６８】
続いて、ホストインターフェース部１１は、ホストコンピュータ／サーバー１から受信したデータを、不揮発メモリ部２２にライト可能か否かを判定し（ステップ１１０４）、ライト可能な場合（ＯＫ）は、データ転送制御部２１より、内部の不揮発メモリ部２２のステップ１１０２で決定されたアドレスへデータをライトし、またこのデータが消されないようにライトプロテクトする。並行して、ホストコンピュータ／サーバー１からのデータを、グローバルキャッシュメモリ部１４にライト可能か否かを判定し（ステップ１１０５）、ライト可能な場合（ＯＫ）は、データ転送制御部２１より、グローバルキャッシュメモリ部１４のステップ１１０２で決定されたアドレスへデータをライトする。そして、不揮発メモリ部２２とグローバルキャッシュメモリ部１４へのデータの２重書き処理の終了を確認後、ホストコンピュータ／サーバー１へ２重書き処理の完了を通知する（ステップ１１０６）。
【００６９】
この時点で、ホストコンピュータ／サーバー１からのデータは、グローバルキャッシュメモリ部１４にライトペンディングデータとして確保され、そのバックアップは不揮発メモリ部２２に同様にライトペンディングデータとして保存されている。この２重書きのライト処理の終了後、ディスクインターフェース部１２へペンディングを通知する（ステップ１１０７）。この通知方法は、ホットラインによる通知でもよく、制御情報をグローバルキャッシュメモリ部１４上に格納するようにして、ディスクインターフェース部１２がポーリングする方法でもよい。
【００７０】
さらに、ステップ１１０７で認知したディスクインターフェース部１２は、グローバルキャッシュメモリ部１４上よりデータを磁気ディスク装置２のＨＤＤ３１へ格納するために、格納先アドレスを決定する（ステップ１１０８）。この決定方法は、ＲＡＩＤ構成や、管理情報を参考にシステムの制約により決定する。そして、ディスクインターフェース部１２は、グローバルキャッシュメモリ部１４からＨＤＤ３１へデータを転送して、ＨＤＤ３１にデータを書き込む（ステップ１１０９）。データをグローバルキャッシュメモリ部１４上よりＨＤＤ３１へ書き込む処理をデステージングと言う。
【００７１】
続いて、ディスクインターフェース部１２は、デステージ終了か否かを判定し（ステップ１１１０）、デステージが終了した場合はホストインターフェース部１１にデステージ終了を通知する。さらに、ディスクインターフェース部１１は、グローバルキャッシュメモリ部１４のライトペンディング情報をクリアし、それを受けて管理テーブルのテーブル情報が更新される（ステップ１１１１）。そして、不揮発メモリ部２２の管理テーブルもステップ１１１１と同様にペンディング情報がクリアされ、ライトプロテクトもクリアし、領域は解放される（ステップ１１１２）。
【００７２】
一方、ステップ１１０４の不揮発メモリ部２２へのライト、ステップ１１０５のグローバルキャッシュメモリ部１４へのライトでメモリアクセスがＮＧだったときには、その領域をＮＧであるとして他が間違えてエントリしないように、テーブル情報を更新して領域を閉塞する（ステップ１１５１）。さらに、再度、不揮発メモリ部２２、グローバルキャッシュメモリ部１４の代替のメモリ領域を探し、ステップ１１０２のようにメモリアドレスを決定する（ステップ１１５２）。そして、不揮発メモリ部２２、グローバルキャッシュメモリ部１４に確保したエリアの情報を管理テーブルに再登録する（ステップ１１５３）。
【００７３】
この２重書き動作によれば、デステージすると同時にエリアを解放することで、メモリ領域を無尽蔵に確保しないようにすることができる。この場合は、ライトペンディングデータを確保することが目的なので、読み出しデータをグローバルキャッシュメモリ部１４に格納するためにステージングしておく必要がない。
【００７４】
＜グローバルキャッシュメモリ部に障害が起きた場合の回復方法＞
図８，図９により、本実施の形態に係るディスクアレイ装置において、グローバルキャッシュメモリ部に障害が起きた場合の回復方法の一例を説明する。それぞれ、図８は不揮発メモリ部のデータをグローバルキャッシュメモリ部を介して磁気ディスク装置へ転送する場合の回復処理フローを示す図、図９は不揮発メモリ部のデータをグローバルキャッシュメモリ部を介さずに磁気ディスク装置へ転送する場合の回復処理フローを示す図、である。
【００７５】
グローバルキャッシュメモリ部１４に障害が起こったとき、具体的には、グローバルキャッシュメモリ部１４内のキャッシュメモリが閉塞し、そこにライトペンディングデータがあった場合の処理方法には方法１と方法２の２つがある。方法１は、ホストインターフェース部１１が、不揮発メモリ部２２のデータをリードして、復元したいグローバルキャッシュメモリ部１４へ転送し、さらにディスクインターフェース部１２が、グローバルキャッシュメモリ部１４から磁気ディスク装置２のＨＤＤ３１へデータを転送する方法である。方法２は、ホストインターフェース部１１のデータ転送制御部２１が、不揮発メモリ部２２からディスクインターフェース部１２へ、グローバルキャッシュメモリ部１４を介さずに直接に転送する方法である。
【００７６】
まず、方法１において、障害時のデータを回復する処理フローを図８に基づいて説明する。この方法１における障害としては、コマンドが不良の場合（ステップ１２０１）、グローバルキャッシュメモリ部１４の故障を検知した場合（ステップ１２０２）、グローバルキャッシュメモリ部１４をバックアップしていたバッテリが障害となり、メモリ揮発要因となった場合（ステップ１２０３）などがある。
【００７７】
ステップ１２０１のコマンドの不良、ステップ１２０２のグローバルキャッシュメモリ部１４の障害、ステップ１２０３のバッテリの障害の少なくとも１つが発生して、グローバルキャッシュメモリ部１４のデータが破壊／揮発により異常になった時（ステップ１２０５）、データの復元が必要となる場合である（ステップ１２０６）。また、閉塞しているグローバルキャッシュメモリ部１４を保守交換し、データを復元したい場合（ステップ１２０４）も、同様にデータの復元が必要となる。
【００７８】
まず、データの復元が必要な場合に、ホストインターフェース部１１は、グローバルキャッシュメモリ部１４の交換終了／エリア確保完了か否かを判定し（ステップ１２０７）、グローバルキャッシュメモリ部１４の交換（増設も含む）が終了しておらず、保守しなくてはならない場合（Ｎｏ）は交換／増設を行う（ステップ１２０８）。
【００７９】
一方、ステップ１２０７でグローバルキャッシュメモリ部１４の交換終了／エリア確保完了の場合（Ｙｅｓ）は、復元元のグローバルキャッシュメモリ部１４とエリアを確保し、この確保した情報が管理テーブルにエントリされる。そして、グローバルキャッシュメモリ部１４のアドレスを割り当ててアドレスを決定する（ステップ１２０９）。さらに、ライトペンディングデータか否かを判定し（ステップ１２１０）、ライトペンディングデータならば（Ｙｅｓ）、不揮発メモリ部２２にデータが保管されているので取り出しが可能である。
【００８０】
続いて、ホストインターフェース部１１は、不揮発メモリ部２２のアドレスを決定し、データ転送制御部２１が、そのアドレスよりデータを読み出す（ステップ１２１１）。そして、ホストインターフェース部１２が、不揮発メモリ部２２から読み出したデータをグローバルキャッシュメモリ部１４に書き込み、データの復元を完了する（ステップ１２１３）。
【００８１】
一方、ステップ１２１０でライトペンディングデータではない場合（Ｎｏ）、すなわちデステージ終了のデータである場合は、ディスクインターフェース部１２が、磁気ディスク装置２のＨＤＤ３１からデータをグローバルキャッシュメモリ部１４へ読み出す（ステップ１２１２）。そして、ディスクインターフェース部１２が、ＨＤＤ３１から読み出したデータをグローバルキャッシュメモリ部１４に書き込み、データの復元を完了する（ステップ１２１３）。
【００８２】
次に、方法２において、障害時のデータを回復する処理フローを図９に基づいて説明する。この方法２において、直接、ライトペンディングデータを磁気ディスク装置２のＨＤＤ３１へ書き込む場合に、ステップ１３０１〜ステップ１３５３は、前述した図６のステップ１１０１〜ステップ１１５３と同じであるので、説明を省略する。ただし、ステップ１３５１では、ステップ１３０４の不揮発メモリ部２２へのライトでメモリアクセスがＮＧだったときに、管理テーブルのテーブル情報を更新して領域を閉塞する。
【００８３】
ステップ１３０５のグローバルキャッシュメモリ部１４のライトにおいてＮＧの場合は、ディスクインターフェース部１２が待機状態になるように通知する（ステップ１３５４）。さらに、ホストインターフェース部１１は、ホストインターフェース部１１からのデータのＨＤＤ３１への格納アドレスを予め決定しておき、ディスクインターフェース部１２に通知する（ステップ１３５５）。そして、ホストインターフェース部１１よりディスクインターフェース部１２へスイッチ部１５を経由してデータを転送し、不揮発メモリ部２２のデータをＨＤＤ３１へ書き込む（ステップ１３５６）。そして、データがＨＤＤ３１へ格納され、この格納終了を確認後、ホストコンピュータ／サーバー１へ完了を通知する（ステップ１３５７）。
【００８４】
このような方法１、方法２の回復方法によれば、グローバルキャッシュメモリ部１４と不揮発メモリ部２２からなる複数のメモリ構成なので、違うホストインターフェース部１１によって、グローバルキャッシュメモリ部１４、不揮発メモリ部２２の拡張が必要となったときや、故障によりグローバルキャッシュメモリ部１４、不揮発メモリ部２２を交換する際にも対応可能である。また、グローバルキャッシュメモリ部１４、不揮発メモリ部２２を着脱できるようにする実装も可能である。
【００８５】
＜不揮発メモリ部を有するディスクインターフェース部の構成＞
図１０により、本実施の形態に係るディスクアレイ装置において、不揮発メモリ部を有するディスクインターフェース部の構成の一例を説明する。図１０は不揮発メモリ部を有するディスクインターフェース部の構成を示す図である。
【００８６】
電源断時に緊急デステージ機能を実現する際に、データを磁気ディスク装置２のＨＤＤ３１だけではなく、ディスクインターフェース部１２内にもデータを格納する機能を有して、データをできるだけ保証したいという要求がある。この要求に対して、ディスクインターフェース部１２内に不揮発メモリ部を設け、この不揮発メモリ部にもデータを格納して保証する方法がある。この場合に、ＨＤＤ３１への転送速度は遅く、不揮発メモリ部への転送が早く、容量がＨＤＤ＞＞不揮発メモリ部であるため、データを圧縮する演算機能が必要となる。このような構成を、以下において説明する。
【００８７】
ディスクインターフェース部１２の構成は、図示しないが、前述（図３）したホストインターフェース部１１と同様に、Ｉ／Ｆ制御部、ＬＭ部が設けられたＭＰ部、データ転送制御部、不揮発メモリ部から構成され、Ｉ／Ｆ制御部が磁気ディスク装置２とのインターフェースとなっている以外は同じである。このディスクインターフェース部１２において、データ転送制御部は、ＭＰ部の命令により、グローバルキャッシュメモリ部１４からのデータを、Ｉ／Ｆ制御部を介して磁気ディスク装置２に転送してＨＤＤ３１に書き込むとともに、不揮発メモリ部にも書き込む。
【００８８】
このディスクインターフェース部１２内のデータ転送制御部４１は、図１０に示すように、前述（図４）したホストインターフェース部１１のデータ転送制御部２１と同様の、エラーチェック回路部４０１、セレクタ４０２、パケットバッファ４０３、アドレス／コマンド解析部４０６、アービタ４０８と制御レジスタ４０９を有するＤＭＡ制御部４１０などに加えて、演算部４３０を有して構成される。この演算部４３０は、ディスクアレイのパリティ演算、ならびに緊急デステージ時の圧縮演算などの機能を持っている。また、データ転送制御部４１の外部にも同様の、不揮発メモリ制御部４２１と不揮発メモリ４２２が備えられた不揮発メモリ部４２が設けられている。
【００８９】
＜デステージの際の格納動作＞
図１１により、本実施の形態に係るディスクアレイ装置において、デステージの際の格納動作の処理フローの一例を説明する。図１１はデステージの際の格納動作の処理フローを示す図である。
【００９０】
たとえば、電源トラブルなどで、装置を緊急停止する必要にせまられたとき、緊急デステージ指示で、グローバルキャッシュメモリ部１４内のキャッシュメモリのライトペンディングデータを予備のバッテリなどで駆動しながら限られた時間で磁気ディスク装置２のＨＤＤ３１へデータを書き込むことが必要となる。この際、クリティカルな動作であり、ＨＤＤ３１へデータが転送されない場合を考慮し、データロストを防ぐために、前述（図１０）した不揮発メモリ部４２を有するディスクインターフェース部１２の構成において、この不揮発メモリ部４２にもデータを書き込み、もしＨＤＤ３１へ格納されない場合は不揮発メモリ部４２よりＨＤＤ３１へ書き込みを実施する。
【００９１】
まず、ディスクインターフェース部１２は、緊急デステージ指示を受けると（ステップ１４０１）、管理テーブルをサーチして（ステップ１４０２）、グローバルキャッシュメモリ部１４からライトペンディングデータを読み出す（ステップ１４０３）。そして、グローバルキャッシュメモリ部１４から読み出したデータを、不揮発メモリ部４２にライト可能か否かを判定し（ステップ１４０４）、ライト可能な場合（ＯＫ）は、データ転送制御部４１より、不揮発メモリ部４２へデータをライトし、またこのデータが消されないようにライトプロテクトする。並行して、ＨＤＤ３１にライト可能か否かを判定し（ステップ１４０５）、ライト可能な場合（ＯＫ）は、データ転送制御部４１より、ＨＤＤ３１へデータをライトする。
【００９２】
そして、不揮発メモリ部４２とＨＤＤ３１へのデステージが終了したか否かを判定し（ステップ１４０６）、終了した場合（ＯＫ）は、管理テーブルのペンディングフラグをクリアする（ステップ１４０７）。一方、ステップ１４０６でＨＤＤ３１へのライトがＮＧの場合は、管理テーブルのペンディングフラグを残す（ステップ１４５４）。そして、予備のバッテリが切れることによりパワーダウンしてデステージ終了となる（ステップ１４０８）。
【００９３】
続いて、復旧立ち上げによりパワーオンになると（ステップ１４０９）、ペンディングフラグが残っていないか否か、すなわちペンディングデータが無いか否かを判定し（ステップ１４１０）、ペンディングデータが無い場合（Ｙｅｓ）は、不揮発メモリ部４２の管理テーブルのペンディング情報がクリアされ、ライトプロテクトもクリアし、領域は解放される（ステップ１４１１）。一方、ステップ１４１０でペンディングデータがある場合（Ｎｏ）、すなわちステップ１４５４でＨＤＤ３１へ全てのペンディングデータがライトされなかった場合は、不揮発メモリ部４２よりＨＤＤ３１へ書き込みを行い（ステップ１４５５）、不揮発メモリ部４２の管理テーブルの情報をクリアして領域は解放される（ステップ１４１１）。
【００９４】
なお、ステップ１４０４の不揮発メモリ部４２へのライト、ステップ１４０５のＨＤＤ３１へのライトでメモリアクセスがＮＧだったときには、管理テーブルのテーブル情報を更新して領域を閉塞し（ステップ１４５１）、さらに、再度、不揮発メモリ部４２、ＨＤＤ３１の代替のメモリアドレスを決定した後（ステップ１４５２）、不揮発メモリ部４２、ＨＤＤ３１に確保したエリアの情報を管理テーブルに再エントリする（ステップ１４５３）。
【００９５】
このデステージの際の格納動作によれば、デステージＮＧの場合のリカバリとして２重書きを実施し、もしＨＤＤ３１へ格納されない場合はライトペンディングフラグを残し、このフラグが残っていれば不揮発メモリ部４２よりＨＤＤ３１へ書き込みを実施することで、復旧後のデータ信頼性が向上する。この原理は、前述したホストインターフェース部１１の不揮発メモリ部２２のライトバッファ制御と同じであり、ディスクインターフェース部１２側でＨＤＤ３１へのデステージスピードが遅い場合に、不揮発メモリ部４２にも書き込んでおくことで、万が一、途中で終わっても後で継続できるようになる。
【００９６】
＜キャッシュリード動作＞
図１２により、本実施の形態に係るディスクアレイ装置において、グローバルキャッシュメモリ部からのリード動作の処理フローの一例を説明する。図１２はグローバルキャッシュメモリ部からのリード動作の処理フローを示す図である。
【００９７】
ホストコンピュータ／サーバー１からの読み出し要求に対しては、グローバルキャッシュメモリ部１４内のキャッシュメモリに、対応するデータがある場合とない場合で異なり、以下のような動作となる。
【００９８】
まず、ディスクアレイ装置のホストインターフェース部１１は、ホストコンピュータ／サーバー１よりコマンドを受信し、このコマンドの内容を解析する（ステップ１５０１）。そして、管理テーブルをサーチして（ステップ１５０２）、グローバルキャッシュメモリ部１４にデータがあるか否か、すなわちキャッシュヒットかキャッシュミスかを判定し（ステップ１５０３）、キャッシュヒットした場合は、ホストインターフェース部１１がグローバルキャッシュメモリ部１４よりデータをリードして（ステップ１５０８）、ホストコンピュータ／サーバー１へリードデータを転送する（ステップ１５０９）。
【００９９】
一方、ステップ１５０３でキャッシュミスの場合は、ディスクインターフェース部１２へステージ要求する（ステップ１５０４）。さらに、ディスクインターフェース部１２は、磁気ディスク装置２のＨＤＤ３１のアドレスを決定した後（ステップ１５０５）、ＨＤＤ３１からグローバルキャッシュメモリ部１４へデータを転送する（ステップ１５０６）。データをＨＤＤ３１よりグローバルキャッシュメモリ部１４へ転送する処理をステージングと言う。このステージングの終了後、ホストインターフェース部１１へ通知すると（ステップ１５０７）、ホストインターフェース部１１がグローバルキャッシュメモリ部１４よりデータをリードして（ステップ１５０８）、ホストコンピュータ／サーバー１へリードデータを転送する（ステップ１５０９）。
【０１００】
＜キャッシュリード動作のデータフロー＞
図１３により、本実施の形態に係るディスクアレイ装置において、キャッシュリード動作のデータフローの一例を説明する。図１３はキャッシュリード動作のデータフローを示す図である。
【０１０１】
まず、ホストコンピュータ／サーバー１からコマンドが転送されてくると、この転送されてきたコマンドをホストインターフェース部１で受け取り、データ転送制御部２１内のパケットバッファ３０３に格納して（ステップ１６００）、アドレス／コマンド解析部３０６でコマンド解析を行う。そして、データ転送制御部２１は、セレクタ３０２を介してスイッチ部１５へアクセス開始を示すリクエスト信号を送出する（ステップ１６０１）。続いて、データ転送制御部２１は、スイッチ部１５へアドレスおよびコマンドを連続して送出する（ステップ１６０２）。
【０１０２】
そして、スイッチ部１５は、データ転送制御部２１からリクエスト信号を受け取ると、続いて送られてきたアドレスおよびコマンドを受信し、アクセス要求に基づいてアービトレーションを行い、この結果に基づいてグローバルキャッシュメモリ部１４へ接続を切り替える（ステップ１６０３）。さらに、スイッチ部１５は、データ転送制御部２１にグローバルキャッシュメモリ部１４への接続権が得られたたことを示すアクノリッジ信号を返す（ステップ１６０５）。
【０１０３】
さらに、スイッチ部１５は、グローバルキャッシュメモリ部１４へアクセス開始を示すリクエスト信号を送出する（ステップ１６０４）。続いて、スイッチ部１５は、グローバルキャッシュメモリ部１４へアドレスおよびコマンドを連続して送出する（ステップ１６０６）。
【０１０４】
そして、グローバルキャッシュメモリ部１４は、メモリアクセスのための前処理を行い（ステップ１６０７）、グローバルキャッシュメモリ部１４からデータを読み出す（ステップ１６０８）。そして、グローバルキャッシュメモリ部１４は、この読み出したデータをスイッチ部１５に転送する（ステップ１６０９）。さらに、スイッチ部１５は、転送されてきたデータをデータ転送制御部２１に転送する（ステップ１６１０）。そして、データ転送制御部２１は、ホストコンピュータ／サーバー１へリードデータを転送する（ステップ１６１１）。
【０１０５】
続いて、グローバルキャッシュメモリ部１４は、メモリリードが終了すると、スイッチ部にステータスを送出する（ステップ１６１２）。さらに、スイッチ部１５は、送られてきたステータスをデータ転送制御部２１に送出する（ステップ１６１３）。そして、データ転送制御部２１は、このステータスを受け取って、スイッチ部１５へのリクエスト信号をオフする（ステップ１６１４）。
【０１０６】
さらに、スイッチ部１５は、データ転送制御部２１からのリクエスト信号のオフを確認すると、データ転送制御部２１へのアクノリッジ信号をオフする（ステップ１６１５）。そして、データ転送制御部２１は、スイッチ部１５からのアクノリッジ信号のオフを確認すると、ホストコンピュータ／サーバー１へアクノリッジ信号を転送する（ステップ１６１６）。
【０１０７】
＜複数の不揮発メモリ部におけるデータの相互制御＞
図１４〜図１６により、本実施の形態に係るディスクアレイ装置において、複数の不揮発メモリ部におけるデータの相互制御の一例を説明する。それぞれ、図１４は複数の不揮発メモリ部において最小限にバックアップを取る場合を示す図、図１５は複数の不揮発メモリ部において時間管理によりバックアップを多重に取る場合を示す図、図１６は図１５の場合の時間管理情報を含む管理テーブルを示す図、である。
【０１０８】
図１４に示すように、ホストコンピュータ／サーバー１からのパスが複数（この例では２つ）ある場合に、データ転送制御部２１ａ，２１ｂ、不揮発メモリ部２２ａ，２２ｂを有するホストインターフェース部１１ａ，１１ｂにおいて、関連するデータがグローバルキャッシュメモリ部１４上で同じアドレスの部分にあった場合に、ホストインターフェース部１１ａ，１１ｂ内の不揮発メモリ部２２ａ，２２ｂ上の保管を積極的に制御することも可能である。
【０１０９】
具体的には、グローバルキャッシュメモリ部１４上ではコマンドの順番に重ね書きされるが、重ねられた段階で、古いデータのバックアップである不揮発メモリ部２２ａ，２２ｂ上のデータは重なったデータの分はクリア、すなわちフリー化し、そして全体がデステージしたときに、残っている不揮発メモリ部２２ａ，２２ｂ上のデータをクリアするように制御することができる。
【０１１０】
ここでは、ホストコンピュータ／サーバー１からの第１パスによるホストコマンド（ライトデータ）１をＣ１、第２パスによるホストコマンド（ライトデータ）２をＣ２とし、このＣ２はＣ１と一部分でデータ／アドレスが重なるものである。
【０１１１】
まず、Ｃ１がホストコンピュータ／サーバー１からホストインターフェース部１１ａに発行されると（ステップ１７０１）、データ転送制御部２１ａより、不揮発メモリ部２２ａへＣ１を書き込むとともに（ステップ１７０２）、スイッチ部１５へＣ１を転送する（ステップ１７０３）。そして、スイッチ部１５より、Ｃ１をグローバルキャッシュメモリ部１４へ書き込む（ステップ１７０４）。
【０１１２】
一方、Ｃ２がホストコンピュータ／サーバー１からホストインターフェース部１１ｂに発行されると（ステップ１７０５）、データ転送制御部２１ｂより、不揮発メモリ部２２ｂへＣ２を書き込むとともに（ステップ１７０６）、スイッチ部１５へＣ２を転送する（ステップ１７０７）。そして、スイッチ部１５より、Ｃ２をグローバルキャッシュメモリ部１４へ書き込む（ステップ１７０８）。このとき、先に書かれたＣ１の一部のデータが重なった場合は、Ｃ２のデータがグローバルキャッシュメモリ部１４へ書き込まれる。
【０１１３】
続いて、重なったＣ１のデータを不揮発メモリ部２２ａ上からクリアする（ステップ１７０９）。そして、Ｃ１とＣ２の合わせたデータをグローバルキャッシュメモリ部１４からディスクインターフェース部１２へ転送する（ステップ１７１０）。これにより、ディスクインターフェース部１２より、磁気ディスク装置２のＨＤＤ３１へＣ１とＣ２の合わせたデータが書かれる（ステップ１７１１）。このＨＤＤ３１に書かれた後は、グローバルキャッシュメモリ部１４よりＣ１とＣ２の合わせたデータをクリアする（ステップ１７１２）。そして、不揮発メモリ部２２ａよりＣ１の残存データ、すなわちＣ２との共通部を除いた部分をクリアし、不揮発メモリ部２２ｂよりＣ２のデータをクリアする（ステップ１７１３）。この時点で、不揮発メモリ部２２ａには、Ｃ１のうち、Ｃ２との共通部が保存される。
【０１１４】
この制御によれば、複数のホストインターフェース部１１ａ，１１ｂでグローバルキャッシュメモリ部１４上のデータが共有される場合、バックアップを複数持つことは通常、効率が悪いので、最小限度にバックアップすることで、不揮発メモリ部２２ａ，２２ｂ内のデータの相互関係を利用したバックアップを実現することができる。
【０１１５】
この制御とは反対に、バックアップを残す方法も可能である。すなわち、不揮発メモリ部２２ａ，２２ｂ内のデータとグローバルキャッシュメモリ部１４内のデータを連動して消去しない方法である。通常は、グローバルキャッシュメモリ部１４内のデータに連動して不揮発メモリ部２２ａ，２２ｂ内のデータは消去される。また、前述のように、グローバルキャッシュメモリ部１４で同一のデータがあった場合に、後のデータのバックアップを残して古いデータを消去する方法もメモリ格納エリアを無駄にしないということで利点があるが、逆に残した場合は、時間管理によりバックアップを多重に取る制御方法が必要となる。
【０１１６】
この制御では、図１６に示すような管理テーブルが使用される。この管理テーブルには、前述した図７のプロテクトフラグ情報に代えて、プロテクト識別子とタイムスタンプの情報を格納する。プロテクト識別子において、“００”の場合はノーマル（データ本体）、“０１”の場合はプロテクト（データ本体）、“０２”の場合はバックアップ１、“０３”の場合はバックアップ２、“０４”の場合はバックアップ３をそれぞれ意味している。タイムスタンプは、世代バックアップを考慮して書き込んだ時刻を示す情報である。
【０１１７】
この管理テーブルを用いた制御は、図１５に示すように、Ｃ２がＣ１とアドレスが重なるデータ（上書き）の場合で、まず、ステップ１８０１〜ステップ１８０８は前述（図１４）のステップ１７０１〜ステップ１７０８と同じであり、ステップ１８０８において、先に書かれたＣ１が重なった場合は、Ｃ２のデータがグローバルキャッシュメモリ部１４へ書き込まれる。
【０１１８】
続いて、重なったＣ１のデータを不揮発メモリ部２２ａ上からクリアせず、図１６に示す管理テーブルのプロテクト識別子のバックアップの値を書き換え、またタイムスタンプを記録する（ステップ１８０９）。そして、Ｃ１とＣ２の合わせたデータをグローバルキャッシュメモリ部１４からディスクインターフェース部１２へ転送する（ステップ１８１０）。これにより、ディスクインターフェース部１２より、磁気ディスク装置２のＨＤＤ３１へＣ１とＣ２の合わせたデータが書かれる（ステップ１８１１）。このＨＤＤ３１に書かれた後は、グローバルキャッシュメモリ部１４よりＣ１とＣ２の合わせたデータをクリアする（ステップ１８１２）。
【０１１９】
そして、不揮発メモリ部２２ａ上のＣ１、不揮発メモリ部２２ｂ上のＣ２は、ホストインターフェース部１１ａ，１１ｂあるいはホストコンピュータ／サーバー１で管理され、バックアップデータとして消去の要求があるまで保存される。
【０１２０】
この制御によれば、複数のデータを分散してバックアップすることができる。すなわち、管理テーブルの構造を変化させ、バックアップとして残すか、グローバルキャッシュメモリ部１４と連動して消去するかを選択できるので、データを複数残すことによって簡易的な世代バックアップを実現することができる。
【０１２１】
＜不揮発メモリ部の実装＞
本実施の形態のように、ホストインターフェース部１１、ディスクインターフェース部１２に不揮発メモリ部２２，４２を実装する場合には、メモリアレイ構造にして、さらにアクセス時間を短くすることができる。特に、メインフレームなどのインターフェースによってバッファサイズが大きくなる場合には、たとえば特開２００２−１７８５３号公報の技術を援用することで対応可能となる。すなわち、メインフレームの種類によって、バッファサイズの拡張の必要性が出ており、その解決方法として前記公報の技術を用いることができる。これによれば、複数のメモリ構成なので、違うホストインターフェース部、ディスクインターフェース部によって、メモリの拡張が必要となったときや、故障により不揮発メモリ部を交換する際にも対応が可能である。
【０１２２】
＜本実施の形態の効果＞
（１）ホストインターフェース部１１上に不揮発メモリ部２２を追加し、グローバルキャッシュメモリ部１４と両方にデータを書き込む方式を採用することで、２重書きを実現しながら、スイッチ部１５の帯域の消費を半減し、装置性能を向上させることができる。すなわち、２重書き方式の思想は引き継ぎながらも、スイッチ部１５内のグローバルキャッシュメモリ部１４のパスはホストインターフェース部１１あるいはディスクインターフェース部１２に対して１対１に接続して帯域の消費率を減らし、スイッチ部１５の帯域を１重書き方式と同等にすることができる。
【０１２３】
（２）２重書きにおいて、スイッチ部１５への転送命令は１重書きのみとなり、スイッチ部１５の他の帯域を別の処理に使用して高速化を実現することができる。すなわち、従来、グローバルキャッシュメモリ部１４へのデータ書き込み処理に利用されていた帯域を複数のホストインタフェース部１１の処理に利用できるので、ホストコンピュータ／サーバー１との転送性能を上げることができる。この結果、高速化に対応しながら信頼性を維持することができる。
【０１２４】
（３）ディスク容量やキャッシュメモリ容量の増大、スイッチの拡張などによる装置の大規模化に対して、グローバルキャッシュメモリ部１４のデータが破壊されてもホストインターフェース部１１内の不揮発メモリ部２２のデータを磁気ディスク装置２のＨＤＤ３１に書き込むことで、データロストを回避することができる。この結果、大規模化に対応しながら信頼性を維持することができる。
【０１２５】
（４）ホストインターフェース部１１でデータを確保し、かつグローバルキャッシュメモリ部１４でデータを確保して、そして磁気ディスク装置２のＨＤＤ３１へデータを格納するという階層化したディスクアレイ装置のアーキテクチャを実現することができる。
【０１２６】
（５）ディスクインターフェース部１２が、グローバルキャッシュメモリ部１４よりデータを磁気ディスク装置２のＨＤＤ３１へ転送できた場合に、ホストインターフェース部１１内の不揮発メモリ部２２にある同じデータの領域を解放することで、メモリ領域を無尽蔵に確保しないようにすることができる。
【０１２７】
（６）グローバルキャッシュメモリ部１４の障害などで閉塞したグローバルキャッシュメモリ部１４にライトペンディングデータがある場合でも、不揮発メモリ部２２のデータを用いて磁気ディスク装置２のＨＤＤ３１への書き込みデータを復元することができる。
【０１２８】
（７）デステージの際に、ディスクインターフェース部１２側で磁気ディスク装置２のＨＤＤ３１へのデステージスピードが遅い場合に、不揮発メモリ部４２にも書き込むことで、万が一、途中で終わっても、後で不揮発メモリ部４２のデータを用いて保証することができる。
【０１２９】
（８）複数のホストインターフェース部１１ａ，１１ｂでグローバルキャッシュメモリ部１４上のデータが共有される場合、不揮発メモリ部２２ａ，２２ｂ内のデータの相互関係を利用して、最小限のバックアップを実現したり、時間管理によってバックアップを多重にとり、世代バックアップを実現することができる。
【０１３０】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【図面の簡単な説明】
【０１３１】
【図１】本発明の一実施の形態に係るディスクアレイ装置の概念構成を示す図である。
【図２】本発明の一実施の形態に係るディスクアレイ装置の全体構成を示す図である。
【図３】本発明の一実施の形態に係るディスクアレイ装置において、ホストインターフェース部の構成を示す図である。
【図４】本発明の一実施の形態に係るディスクアレイ装置において、データ転送制御部と不揮発メモリ部の構成を示す図である。
【図５】本発明の一実施の形態に係るディスクアレイ装置において、２重書き動作のデータフローを示す図である。
【図６】本発明の一実施の形態に係るディスクアレイ装置において、２重書き動作の処理フローを示す図である。
【図７】本発明の一実施の形態に係るディスクアレイ装置において、ディスクインターフェース部とホストインターフェース部の通信の管理テーブルを示す図である。
【図８】本発明の一実施の形態に係るディスクアレイ装置において、不揮発メモリ部のデータをグローバルキャッシュメモリ部を介して磁気ディスク装置へ転送する場合の回復処理フローを示す図である。
【図９】本発明の一実施の形態に係るディスクアレイ装置において、不揮発メモリ部のデータをグローバルキャッシュメモリ部を介さずに磁気ディスク装置へ転送する場合の回復処理フローを示す図である。
【図１０】本発明の一実施の形態に係るディスクアレイ装置において、不揮発メモリ部を有するディスクインターフェース部の構成を示す図である。
【図１１】本発明の一実施の形態に係るディスクアレイ装置において、デステージの際の格納動作の処理フローを示す図である。
【図１２】本発明の一実施の形態に係るディスクアレイ装置において、グローバルキャッシュメモリ部からのリード動作の処理フローを示す図である。
【図１３】本発明の一実施の形態に係るディスクアレイ装置において、キャッシュリード動作のデータフローを示す図である。
【図１４】本発明の一実施の形態に係るディスクアレイ装置において、複数の不揮発メモリ部において最小限にバックアップを取る場合を示す図である。
【図１５】本発明の一実施の形態に係るディスクアレイ装置において、複数の不揮発メモリ部において時間管理によりバックアップを多重に取る場合を示す図である。
【図１６】本発明の一実施の形態に係るディスクアレイ装置において、複数の不揮発メモリ部において時間管理によりバックアップを多重に取る場合の時間管理情報を含む管理テーブルを示す図である。
【符号の説明】
【０１３２】
１…ホストコンピュータ／サーバー、２…磁気ディスク装置、１０…ディスクアレイ制御装置、１１…ホストインターフェース部、１２…ディスクインターフェース部、１４…グローバルキャッシュメモリ部、１５…スイッチ部、１８…メモリ用バッテリ、２１，４１…データ転送制御部、２２，４２…不揮発メモリ部、３１…ＨＤＤ、２０１…Ｉ／Ｆ制御部、２１０…ＭＰ部、２１１…ＬＭ部、２２１，４２１…不揮発メモリ制御部、２２２，４２２…不揮発メモリ部、３０１，４０１…エラーチェック回路部、３０２，４０２…セレクタ、３０３，４０３…パケットバッファ、３０６，４０６…アドレス／コマンド解析部、３０８，４０８…アービタ、３０９，４０９…制御レジスタ、３１０，４１０…ＤＭＡ制御部、４３０…演算部。
【図１】
2005301419.tif 000003
【図２】
2005301419.tif 000004
【図３】
2005301419.tif 000005
【図４】
2005301419.tif 000006
【図５】
2005301419.tif 000007
【図６】
2005301419.tif 000008
【図７】
2005301419.tif 000009
【図８】
2005301419.tif 000010
【図９】
2005301419.tif 000011
【図１０】
2005301419.tif 000012
【図１１】
2005301419.tif 000013
【図１２】
2005301419.tif 000014
【図１３】
2005301419.tif 000015
【図１４】
2005301419.tif 000016
【図１５】
2005301419.tif 000017
【図１６】
2005301419.tif 000018