(57)【要約】【課題】ソリューション拡張のための装置停止を必要としない、より可用性、拡張性の高いディスクアレイ装置を実現する。【解決手段】共有メモリ２２をキャッシュページの集まりである複数の共有メモリブロック＃０、＃１、＃２、＃３として管理し、キャッシュページをＬＲＵリンクによってキャッシュ制御を行うディスクアレイ装置であって、ＬＲＵリンクとしてキャッシュページとして使用不可を示す使用不可リンク７１３を設け、共有メモリブロック＃０、＃１、＃２、＃３を、キャッシュメモリではなく別の用途に使用する場合に、共有メモリブロックに属する全てのキャッシュページをＬＲＵリンクから使用不可リンクにつなぎ換えることにより、共有メモリブロックをキャッシュメモリとして使用不可とする。【選択図】    図８
2005004282.tif 000002
【特許請求の範囲】
【請求項１】
ユーザーの選択によって各種の付加機能を実装することができるディスクアレイ装置において、
共有メモリの所定領域の使用用途を、キャッシュメモリ又は組み込まれる前記付加機能を実現する管理情報の格納用として自動的に設定することを特徴とするディスクアレイ装置。
【請求項２】
前記付加機能の組み込みに応じて、前記キャッシュメモリとして使用される共有メモリの所定領域の使用用途を前記付加機能を実現する管理情報の格納用に自動的に設定し、前記付加機能の取り外しに応じて、前記付加機能を実現する管理情報の格納用として使用される共有メモリの所定領域の使用用途を前記キャッシュメモリとして自動的に設定することを特徴とする請求項１に記載のディスクアレイ装置。
【請求項３】
前記付加機能を実現する管理情報の格納用に設定された前記共有メモリの所定領域を、キャッシュメモリの制御から外すことを特徴とする請求項１又は請求項２に記載のディスクアレイ装置。
【請求項４】
前記付加機能を実現する管理情報の格納用に設定された前記キャッシュメモリに未書き込みのデータが存在する場合、前記データをディスクへ書き込んで前記領域から追い出すことを特徴とする請求項１から請求項３の何れか１項に記載のディスクアレイ装置。
【請求項５】
前記共有メモリの一部に、前記共有メモリの各領域の使用用途を管理する管理情報を格納する管理領域を設け、
前記管理領域に示される前記所定領域の使用用途として、前記キャッシュメモリ又は前記付加機能を指定することにより、前記共有メモリの所定領域を、前記キャッシュメモリ又は前記付加機能を実現する管理情報の格納用に変更することを特徴とする請求項１から請求項４の何れか１項に記載のディスクアレイ装置。
【請求項６】
前記管理領域の管理情報に、前記領域が使用用途を変更中であるかどうかを示すフラグを設けたことを特徴とする請求項５に記載のディスクアレイ装置。
【請求項７】
前記共有メモリの増設に応じて、増設前の共有メモリの所定領域を、前記共有メモリの増設に伴って増加する領域の制御情報を格納する領域として自動的に設定することを特徴とする請求項１から請求項６の何れか１項に記載のディスクアレイ装置。
【請求項８】
前記キャッシュメモリとして使用される共有メモリの所定領域のデータを追い出し、当該領域を前記共有メモリの増設に伴って増加する領域の制御情報を格納する領域として自動的に設定することを特徴とする請求項７に記載のディスクアレイ装置。
【請求項９】
共有メモリをキャッシュページの集まりである複数の共有メモリブロックとして管理し、キャッシュページをＬＲＵリンクによってキャッシュ制御を行うディスクアレイ装置において、
前記ＬＲＵリンク以外に使用不可を示す使用不可リンクを設け、前記共有メモリブロックを、前記キャッシュメモリではなく別の用途に使用する場合に、前記共有メモリブロックに属する全てのキャッシュページを前記ＬＲＵリンクから使用不可リンクにつなぎ換えることにより、前記共有メモリブロックをキャッシュメモリとして使用不可とすることを特徴とするディスクアレイ装置。
【請求項１０】
ユーザーの選択によって各種の付加機能を実装することができるディスクアレイ装置の管理方法において、
共有メモリの所定領域の使用用途を、キャッシュメモリ又は組み込まれる前記付加機能を実現する管理情報の格納用として自動的に設定するステップを有することを特徴とするディスクアレイ装置の管理方法。
【請求項１１】
前記付加機能の組み込みに応じて、前記キャッシュメモリとして使用される共有メモリの所定領域の使用用途を前記付加機能を実現する管理情報の格納用に自動的に設定するステップと、前記付加機能の取り外しに応じて、前記付加機能を実現する管理情報の格納用として使用される共有メモリの所定領域の使用用途を前記キャッシュメモリとして自動的に設定するステップを有することを特徴とする請求項１０に記載のディスクアレイ装置の管理方法。
【請求項１２】
前記付加機能を実現する管理情報の格納用に設定された前記共有メモリの所定の領域を、キャッシュメモリの制御から外すステップを有することを特徴とする請求項１０又は請求項１１に記載のディスクアレイ装置の管理方法。
【請求項１３】
前記付加機能を実現する管理情報の格納用に設定された前記キャッシュメモリに未書き込みのデータが存在する場合、前記データをディスクへ書き込んで前記領域から追い出すステップを有することを特徴とする請求項１０から請求項１２の何れか１項に記載のディスクアレイ装置の管理方法。
【請求項１４】
前記共有メモリの一部に、前記共有メモリの各領域の使用用途を管理する管理情報を格納する管理領域を設け、
前記管理領域に示される前記所定領域の使用用途として、前記キャッシュメモリ又は前記付加機能を指定することにより、前記共有メモリの所定領域を、前記キャッシュメモリ又は前記付加機能を実現する管理情報の格納用に変更するステップを有することを特徴とする請求項１０から請求項１３の何れか１項に記載のディスクアレイ装置の管理方法。
【請求項１５】
前記管理領域の管理情報に、前記領域が使用用途を変更中であるかどうかを示すフラグを設定するステップを有することを特徴とする請求項１４に記載のディスクアレイ装置の管理方法。
【請求項１６】
前記共有メモリの増設に応じて、前記共有メモリの増設に伴って増加する領域の制御情報を格納する領域として自動的に設定するステップを有することを特徴とする請求項１０から請求項１５の何れか１項に記載のディスクアレイ装置の管理方法。
【請求項１７】
前記キャッシュメモリとして使用される共有メモリの所定の領域のデータを追い出し、当該領域を前記共有メモリの増設に伴って増加する領域の制御情報を格納する領域として自動的に設定することを特徴とする請求項１６に記載のディスクアレイ装置の管理方法。
【請求項１８】
共有メモリをキャッシュページの集まりである複数の共有メモリブロックとして管理し、キャッシュページをＬＲＵリンクによってキャッシュ制御を行うディスクアレイ装置の管理方法において、
前記ＬＲＵリンク以外に使用不可を示す使用不可リンクを設け、前記共有メモリブロックを、キャッシュメモリではなく別の用途に使用する場合に、前記共有メモリブロックに属する全てのキャッシュページを前記ＬＲＵリンクから使用不可リンクにつなぎ換えることにより、前記共有メモリブロックをキャッシュメモリとして使用不可とするステップを有することを特徴とするディスクアレイ装置の管理方法。
【請求項１９】
ユーザーの選択によって各種の付加機能を実装することができるディスクアレイ装置で実行され、ディスクアレイ装置の管理を行う管理プログラムにおいて、
共有メモリの所定領域の使用用途を、キャッシュメモリ又は組み込まれる前記付加機能を実現する管理情報の格納用として自動的に設定する機能を実行することを特徴とするディスクアレイ装置の管理プログラム。
【請求項２０】
前記付加機能の組み込みに応じて、前記キャッシュメモリとして使用される共有メモリの所定領域の使用用途を前記付加機能を実現する管理情報の格納用に自動的に設定する機能と、前記付加機能の取り外しに応じて、前記付加機能を実現する管理情報の格納用として使用される共有メモリの所定領域の使用用途を前記キャッシュメモリとして自動的に設定する機能を実行することを特徴とする請求項１９に記載のディスクアレイ装置の管理プログラム。
【請求項２１】
前記共有メモリの一部に、前記共有メモリの各領域の使用用途を管理する管理情報を格納する管理領域を設け、
前記管理領域に示される前記所定領域の使用用途として、前記キャッシュメモリ又は前記付加機能を指定することにより、前記共有メモリの所定領域を、前記キャッシュメモリ又は前記付加機能を実現する管理情報の格納用に変更する機能を有することを特徴とする請求項１９又は請求項２０に記載のディスクアレイ装置の管理方法。
【請求項２２】
共有メモリをキャッシュページの集まりである複数の共有メモリブロックとして管理し、キャッシュページをＬＲＵリンクによってキャッシュ制御を行うディスクアレイ装置の管理プログラムにおいて、
前記ＬＲＵリンク以外に使用不可を示す使用不可リンクを設け、前記共有メモリブロックを、キャッシュメモリではなく別の用途に使用する場合に、前記共有メモリブロックに属する全てのキャッシュページを前記ＬＲＵリンクから使用不可リンクにつなぎ換えることにより、前記共有メモリブロックをキャッシュメモリとして使用不可とする機能を有することを特徴とするディスクアレイ装置の管理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ディスクアレイ装置に関し、特に、可用性、拡張性の向上を実現するディスクアレイ装置の管理システムに関する。
【０００２】
【従来の技術】
近年、容量の効率化、統合管理、高速バックアップなどを目的として、大容量のディスクアレイ装置を中心に、複数のサーバを接続し、ストレージネットワークを構築するシステムが多くなってきている。
【０００３】
このようなシステムにおいては、ディスクアレイ装置の信頼性、可用性、スケーラビリティが非常に重視される。ディスクアレイ装置は、全てのコンポーネントを二重化することで単一箇所の故障によって動作が停止しないように、かつスケーラビリティ実現のためディスク、キャッシュメモリ、コントローラの増設を動作中にでも容易に行えるように設計されている。このようなディスクアレイ装置としては、例えば、特開２００３−１５８２６号公報（特許文献１）や特開平１１−２２４１６４号公報（特許文献２）に開示される装置がある。
【０００４】
また、高度な機能を実現するための様々なソリューション（ストレージソリューション）をサポートすることが一般的となりつつある。このソリューションとは、ディスクアレイ装置に対してソフトウェア的に付加される、データのバックアップ、複製ボリュームの作成、性能最適化、仮想化、負荷分散などの付加機能を意味しており、これらの付加機能を組み込むことにより、ディスクアレイ装置はストレージ管理サーバ、あるいは業務サーバと連携して、上記データのバックアップを含む各種の機能を実行できるようになる。
【０００５】
このようなソリューション（付加機能）を実現するには、ディスクアレイ装置内の共有メモリに多種多様な管理情報を保持することが必要となるが、ディスクアレイ装置はもともと高性能実現のため大容量のキャッシュメモリを備えているので、そのごく一部を用いることにより管理情報のための領域とすることは難しいことではない。
【０００６】
しかし、ディスクアレイ装置に組み込まれるソリューションの種類も多様になりりつつあり、場合によっては管理領域として使用するメモリ容量がかなり大きくなる場合もある一方で、ハードウェアのスケーラビリティが向上し、現時点で必要とする容量のキャッシュメモリだけ実装して必要に応じて容量拡張を行うことができるようになっている。このような状況の中で、必要なソリューションを必要な時に実装する（組み込む）ことができるといったソリューションの拡張性も重要になってくる。
【０００７】
すなわち、ソリューションの中には実現のために大容量の管理情報用のメモリを必要とするものがあるが、そのようなソリューションをユーザーが組み込んでいない場合にはソリューションの管理情報用の余分なメモリを実装する必要をなくし、ユーザーが組み込んだ場合にはたとえ動作中でも装置を停止することなく動的にソリューション（機能）を追加できることが望ましい。
【０００８】
【特許文献１】
特開２００３−１５８２６号公報
【特許文献２】
特開平１１−２２４１６４号公報
【０００９】
【発明が解決しようとする課題】
上述したように、必要なソリューションを必要な時に実装することのできるディスクアレイ装置の拡張性が重要になってきており、大容量のソリューション管理情報用のメモリを使用するソリューションをユーザーが必要としない場合には余分な管理情報用のメモリを使用せず、ユーザーが必要とする場合にはたとえ動作中でも装置を停止せずに動的に機能を拡張できることが望ましいが、従来のディスクアレイ装置においては、組み込まれて使用される多様なソリューションを想定して予め管理情報用に大容量のメモリ領域を確保することで対処していることが多い。このような場合、ソリューションを余り必要としないユーザにとっては使用しない無駄なメモリが増えることになり効率が悪い。また、ソリューションを組み込んだ時点で、メモリマップを変更しなければならないため、ディスクアレイ装置自体を停止させることなく動的に機能を拡張することが非常に困難であった。
【００１０】
また、ソリューション（付加機能）の増加やキャッシュメモリの容量拡大のために共有メモリを増設する場合もあるが、従来ではメモリ増設によるメモリ容量の増加分を考慮して予め管理情報用に余分のメモリ領域を確保することで対応しており、この場合も、メモリの増設を行わないとその分の領域が無駄になりメモリ効率が損なわれる。
【００１１】
本発明の目的は、上記従来の課題を解決するためになされたものであり、共有メモリの領域を付加機能用に使用する場合に、その変更を装置を停止させることなく動的に行うことができる、より可用性、拡張性の高いディスクアレイ装置を実現するディスクアレイ装置、ディスクアレイ装置の管理方法及び管理プログラムを提供することにある。
【００１２】
本発明の他の目的は、共有メモリの増設を行う場合に増設されたメモリの管理用領域を動的に設定することにより、効率的にメモリを使用することを可能とするディスクアレイ装置、ディスクアレイ装置の管理方法及び管理プログラムを提供することにある。
【００１３】
【課題を解決するための手段】
上記目的を達成する請求項１の本発明は、ユーザーの選択によって各種の付加機能を実装することができるディスクアレイ装置において、共有メモリの所定領域の使用用途を、キャッシュメモリ又は組み込まれる前記付加機能を実現する管理情報の格納用として自動的に設定することを特徴とする。
【００１４】
請求項２の本発明のディスクアレイ装置は、前記付加機能の組み込みに応じて、前記キャッシュメモリとして使用される共有メモリの所定領域の使用用途を前記付加機能を実現する管理情報の格納用に自動的に設定し、前記付加機能の取り外しに応じて、前記付加機能を実現する管理情報の格納用として使用される共有メモリの所定領域の使用用途を前記キャッシュメモリとして自動的に設定することを特徴とする。
【００１５】
請求項３の本発明のディスクアレイ装置は、前記付加機能を実現する管理情報の格納用に設定された前記共有メモリの所定領域を、キャッシュメモリの制御から外すことを特徴とする。
【００１６】
請求項４の本発明のディスクアレイ装置は、前記付加機能を実現する管理情報の格納用に設定された前記キャッシュメモリに未書き込みのデータが存在する場合、前記データをディスクへ書き込んで前記領域から追い出すことを特徴とする。
【００１７】
請求項５の本発明のディスクアレイ装置は、前記共有メモリの一部に、前記共有メモリの各領域の使用用途を管理する管理情報を格納する管理領域を設け、前記管理領域に示される前記所定領域の使用用途として、前記キャッシュメモリ又は前記付加機能を指定することにより、前記共有メモリの所定領域を、前記キャッシュメモリ又は前記付加機能を実現する管理情報の格納用に変更することを特徴とする。
【００１８】
請求項６の本発明のディスクアレイ装置は、前記管理領域の管理情報に、前記領域が使用用途を変更中であるかどうかを示すフラグを設けたことを特徴とする。
【００１９】
請求項７の本発明のディスクアレイ装置は、前記共有メモリの増設に応じて、増設前の共有メモリの所定領域を、前記共有メモリの増設に伴って増加する領域の制御情報を格納する領域として自動的に設定することを特徴とする。
【００２０】
請求項８の本発明のディスクアレイ装置は、前記キャッシュメモリとして使用される共有メモリの所定領域のデータを追い出し、当該領域を前記共有メモリの増設に伴って増加する領域の制御情報を格納する領域として自動的に設定することを特徴とする。
【００２１】
請求項９の本発明は、共有メモリをキャッシュページの集まりである複数の共有メモリブロックとして管理し、キャッシュページをＬＲＵリンクによってキャッシュ制御を行うディスクアレイ装置において、前記ＬＲＵリンク以外に使用不可を示す使用不可リンクを設け、前記共有メモリブロックを、前記キャッシュメモリではなく別の用途に使用する場合に、前記共有メモリブロックに属する全てのキャッシュページを前記ＬＲＵリンクから使用不可リンクにつなぎ換えることにより、前記共有メモリブロックをキャッシュメモリとして使用不可とすることを特徴とする。
【００２２】
請求項１０の本発明は、ユーザーの選択によって各種の付加機能を実装することができるディスクアレイ装置の管理方法において、共有メモリの所定領域の使用用途を、キャッシュメモリ又は組み込まれる前記付加機能を実現する管理情報の格納用として自動的に設定するステップを有することを特徴とする。
【００２３】
請求項１１の本発明のディスクアレイ装置の管理方法は、前記付加機能の組み込みに応じて、前記キャッシュメモリとして使用される共有メモリの所定領域の使用用途を前記付加機能を実現する管理情報の格納用に自動的に設定するステップと、前記付加機能の取り外しに応じて、前記付加機能を実現する管理情報の格納用として使用される共有メモリの所定領域の使用用途を前記キャッシュメモリとして自動的に設定するステップを有することを特徴とする。
【００２４】
請求項１２の本発明のディスクアレイ装置の管理方法は、前記付加機能を実現する管理情報の格納用に設定された前記共有メモリの所定の領域を、キャッシュメモリの制御から外すステップを有することを特徴とする。
【００２５】
請求項１３の本発明のディスクアレイ装置の管理方法は、前記付加機能を実現する管理情報の格納用に設定された前記キャッシュメモリに未書き込みのデータが存在する場合、前記データをディスクへ書き込んで前記領域から追い出すステップを有することを特徴とする。
【００２６】
請求項１４の本発明のディスクアレイ装置の管理方法は、前記共有メモリの一部に、前記共有メモリの各領域の使用用途を管理する管理情報を格納する管理領域を設け、前記管理領域に示される前記所定領域の使用用途として、前記キャッシュメモリ又は前記付加機能を指定することにより、前記共有メモリの所定領域を、前記キャッシュメモリ又は前記付加機能を実現する管理情報の格納用に変更するステップを有することを特徴とする。
【００２７】
請求項１５の本発明のディスクアレイ装置の管理方法は、前記管理領域の管理情報に、前記領域が使用用途を変更中であるかどうかを示すフラグを設定するステップを有することを特徴とする。
【００２８】
請求項１６の本発明のディスクアレイ装置の管理方法は、前記共有メモリの増設に応じて、前記共有メモリの増設に伴って増加する領域の制御情報を格納する領域として自動的に設定するステップを有することを特徴とする。
【００２９】
請求項１７の本発明のディスクアレイ装置の管理方法は、前記キャッシュメモリとして使用される共有メモリの所定の領域のデータを追い出し、当該領域を前記共有メモリの増設に伴って増加する領域の制御情報を格納する領域として自動的に設定することを特徴とする。
【００３０】
請求項１８の本発明は、共有メモリをキャッシュページの集まりである複数の共有メモリブロックとして管理し、キャッシュページをＬＲＵリンクによってキャッシュ制御を行うディスクアレイ装置の管理方法において、前記ＬＲＵリンク以外に使用不可を示す使用不可リンクを設け、前記共有メモリブロックを、キャッシュメモリではなく別の用途に使用する場合に、前記共有メモリブロックに属する全てのキャッシュページを前記ＬＲＵリンクから使用不可リンクにつなぎ換えることにより、前記共有メモリブロックをキャッシュメモリとして使用不可とするステップを有することを特徴とする。
【００３１】
請求項１９の本発明は、ユーザーの選択によって各種の付加機能を実装することができるディスクアレイ装置で実行され、ディスクアレイ装置の管理を行う管理プログラムにおいて、共有メモリの所定領域の使用用途を、キャッシュメモリ又は組み込まれる前記付加機能を実現する管理情報の格納用として自動的に設定する機能を実行することを特徴とする。
【００３２】
請求項２０の本発明のディスクアレイ装置の管理プログラムは、前記付加機能の組み込みに応じて、前記キャッシュメモリとして使用される共有メモリの所定領域の使用用途を前記付加機能を実現する管理情報の格納用に自動的に設定する機能と、前記付加機能の取り外しに応じて、前記付加機能を実現する管理情報の格納用として使用される共有メモリの所定領域の使用用途を前記キャッシュメモリとして自動的に設定する機能を実行することを特徴とする。
【００３３】
請求項２１の本発明のディスクアレイ装置の管理プログラムは、前記共有メモリの一部に、前記共有メモリの各領域の使用用途を管理する管理情報を格納する管理領域を設け、前記管理領域に示される前記所定領域の使用用途として、前記キャッシュメモリ又は前記付加機能を指定することにより、前記共有メモリの所定領域を、前記キャッシュメモリ又は前記付加機能を実現する管理情報の格納用に変更する機能を有することを特徴とする。
【００３４】
請求項２２の本発明は、共有メモリをキャッシュページの集まりである複数の共有メモリブロックとして管理し、キャッシュページをＬＲＵリンクによってキャッシュ制御を行うディスクアレイ装置の管理プログラムにおいて、前記ＬＲＵリンク以外に使用不可を示す使用不可リンクを設け、前記共有メモリブロックを、キャッシュメモリではなく別の用途に使用する場合に、前記共有メモリブロックに属する全てのキャッシュページを前記ＬＲＵリンクから使用不可リンクにつなぎ換えることにより、前記共有メモリブロックをキャッシュメモリとして使用不可とする機能を有することを特徴とする。
【００３５】
【発明の実施の形態】
以下、本発明の好ましい実施の形態について図面を参照して詳細に説明する。
【００３６】
図１は本発明を適用する第１の実施の形態によるディスクアレイ装置の構成を示すブロック図である。
【００３７】
本実施の形態によるシステムは、ストレージ管理サーバあるいは業務サーバ等のホスト１０と、ディスクアレイ装置２０とから構成され、ディスクアレイ装置２０は、複数のコントローラ２１Ａ、２１Ｂと、共有メモリ２２と、複数のディクス２３Ａ、２３Ｂ、２３Ｃとを備えて構成されている。
【００３８】
ディスクアレイ装置２０の共有メモリ２２に対しては、全てのコントローラ２１Ａ、２１Ｂからリードライトアクセスが可能である。また、コントローラ２１Ａ、２１Ｂは、ホスト１０から送られるコマンドにより、ホスト１０、共有メモリ２２、ディスク２３Ａ、２３Ｂ、２３Ｃ間のデータ転送を制御する。
【００３９】
コントローラ２１Ａ、２１Ｂは、プログラム制御可能なコンピュータ処理部（ＣＰＵ）によって実現され、共有メモリ２２の共有メモリブロックをキャッシュメモリ又はソリューションの管理領域として管理するための管理プログラム１０００を実行することにより管理を行う。この管理プログラム１０００は、磁気ディスク、半導体メモリその他の記録媒体に格納され、その記録媒体からコントローラ２１Ａ、２１Ｂであるコンピュータ処理部（ＣＰＵ）のメモリにロードされ、コンピュータ処理部の動作を制御することにより管理に必要な各機能を実現する。
【００４０】
図２は、共有メモリ２２の構成例を示しており、共有メモリブロックの管理情報を格納するための共有メモリブロック管理領域３１と、キャッシュ制御領域３２と、キャッシュメモリ又はソリューションを実現するための管理領域として使用される共有メモリブロック＃０〜＃３から構成されている。
【００４１】
共有メモリブロック管理領域３１は、共有メモリブロック＃０〜＃３の状態を管理する共有メモリブロック管理情報３１０を格納する領域である。キャッシュ制御領域３２は、共有メモリブロックをキャッシュメモリとして使用してキャッシュ機能を実現するためのキャッシュ制御情報３２０を格納する領域である。このキャッシュ機能は、コントローラ２１Ａ、２１Ｂによって制御される。
【００４２】
共有メモリブロック＃０〜＃３は、キャッシュメモリまたはソリューションの管理情報用として使用される領域である。キャッシュメモリとして割り当てられた場合、ホスト１０とディスク２３Ａ、２３Ｂ、２３Ｃ間のデータをやりとりする際のキャッシュメモリとして機能する。ソリューション用として割り当てられた場合、ソリューション（付加機能）を実現するための管理情報を格納する領域として利用される。
【００４３】
ソリューション（付加機能）を実現するための管理情報としては、例えば、ソリューションがバックアップ機能であれば、あるボリュームの更新の差分マップが管理情報となり、ソリューション用に割当てられた共有メモリブロックには、あるボリュームが更新される度にその更新差分が格納される。また、ソリューションが仮想ディスク機能であれば、論理的アドレスと物理的アドレスの対応テーブルが管理情報としてソリューション用に割当てられた共有メモリブロックに格納される。この管理情報としは、ソリューション（付加機能）の種類によって種々の情報が格納される。
【００４４】
図３は、各共有メモリブロック＃０〜＃３がキャッシュメモリとして使用される場合の内容を示している。ここでは、共有メモリブロック（＃０〜＃３の何れか）は、Ｎ個のキャッシュページＣ＃０〜Ｃ＃Ｎ−１から成っている。キャッシュページとは、データを一時的に格納するときの割り当ての単位である。共有メモリブロック＃０〜＃３が、ソリューション用の領域として利用されるときには、共有メモリブロックのキャッシュページによる分割には全く依存せず個々のソリューションに応じて任意の方法で使用される。
【００４５】
図４は、共有メモリブロック管理領域３１内に格納される共有メモリブロック管理情報３１０の内容例を示している。この共有メモリブロック管理情報３１０は、各共有メモリブロック＃０〜＃３に対する使用用途の種類を示す使用用途情報３１１と、他の使用用途への移行中であるかどうかを示す状態フラグ３１２を有している。
【００４６】
共有メモリブロック管理領域３１の共有メモリブロック管理情報３１０は、コントローラ２１Ａ及び２１Ｂによって管理され、ユーザによってディスクアレイ装置２０に特定のソリューションが組み込まれると、自動的に所定の共有メモリブロックの使用用途を組み込まれたソリューション用として使用用途情報３１１に設定される。また、組み込まれていたソリューションが解除された場合、使用されていた共有メモリブロックをキャッシュメモリ又は他のソリューション用として同様に使用用途情報３１１に設定される。
【００４７】
共有メモリブロックがキャッシュメモリ又はソリューション用として使用されている通常の状態においては、状態フラグ３１２には、「移行中でない」とのフラグがセットされ、使用用途の変更のための処理中である場合（後述の図８に示す処理中である場合）に、「移行中」とのフラグがセットされる。
【００４８】
図５は、共有メモリブロック管理情報３１０の内容の１例を示している。この例では、共有メモリブロック＃０の使用用途がソリューションＡ、共有メモリブロック＃１の使用用途がソリューションＢとなっている。また、共有メモリブロック＃２〜３の使用用途はキャッシュメモリとなっている。また、状態フラグ３１２により、共有メモリブロック＃１が「移行中」であることが示されている。
【００４９】
図６は、キャッシュメモリ制御情報３２０の内容例を示している。共有メモリブロック＃０〜＃３のキャッシュページ管理テーブル７３〜７６における、キャッシュページ（＃０〜＃Ｎ−１）ＬＲＵリンクポインタは、全ての共有メモリブロックがキャッシュメモリとして使用された場合のすべてのキャッシュページと一対一対応で存在し、当該キャッシュページがどのＬＲＵリンクポインタにリンクされ、またどの検索リンクポインタにリンクされているかを示している。
【００５０】
ＬＲＵリンクポインタには３種類のリンクポインタがあり、それぞれ通常ＬＲＵリンクポインタ７１１、未書き込みＬＲＵリンクポインタ７１２、使用不可ＬＲＵリンクポインタ７１３を起点として双方向でリンクされる。
【００５１】
通常ＬＲＵリンクポインタ７１１は、ディスク２３Ａ〜２３Ｃ上のデータと同じデータが格納されているキャッシュページがリンクされるリンクポインタであり、ホスト１０からの読み出しに対してキャッシュヒットとなる。このキャッシュページはいつでも追い出し制御が可能である。例えば、図６において、通常ＬＲＵリンクポインタ７１１の順方向には、共有メモリブロック＃０のキャッシュページ＃０ＬＲＵリンクポインタが格納される。
【００５２】
未書き込みＬＲＵリンクポインタ７１２は、ホスト１０から書き込み要求されたデータであって、まだ実際にはディスク２３Ａ〜２３Ｃに書き込まれていないデータが格納されているキャッシュページがリンクされ、バックグラウンド処理で随時ディスク２３Ａ〜２３Ｃへの書き込みが行われる。このキャッシュページはディスク２３Ａ〜２３Ｃへのデータの書き込みが完了しないと追い出すことはできない。
【００５３】
使用不可ＬＲＵリンクポインタ７１３は、本発明に基づいて新たに設けられたポインタであり、キャッシュメモリとして使用できないキャッシュページがリンクされる。すなわち、キャッシュメモリ以外の使用用途で使用されている共有メモリブロックに属するキャッシュページがリンクされる。このリンクのキャッシュページはキャッシュメモリとして使用されることは無いが、当該共有メモリブロックがキャッシュメモリの用途に変更されると、通常ＬＲＵリンク７１１に移行され、キャッシュメモリとして使用可能になる。
【００５４】
この使用付加ＬＲＵリンクポインタ７１３は、キャッシュメモリとして使用できないキャッシュページであることを明示するものである。
【００５５】
検索テーブル７２は、キャッシュページのヒット判定を高速に行うためのテーブルで、アドレスから一意に決まるエントリポインタからキャッシュページ（＃０〜＃Ｎ−１）検索リンクポインタにリンクされる。通常ＬＲＵリンクポインタ７１１または未書き込みリンクポインタ７１２にリンクされているキャッシュページは、必ず検索テーブル７２の適切なエントリポインタにリンクされていている。一方、使用不可リンクポインタ７１３にリンクされているキャッシュページはいずれのエントリポインタにもリンクされない。
【００５６】
次に、上記第１の実施の形態における動作について図を参照して説明する。
【００５７】
まず、本実施の形態のキャッシュメモリ制御動作について図７のフローチャートに従って説明する。ホスト１０からのコマンド（リード又はライトコマンド）を受信すると（ステップ７０１）、まず要求されたアドレスをキーとしてキャッシュページのヒット判定処理を行う（ステップ７０２）。
【００５８】
キャッシュページがヒットした場合、当該キャッシュページのリンクを通常ＬＲＵリンクポインタ７１１から外す（ステップ７０４）。
【００５９】
ヒットしなかった場合、追い出し処理として、通常ＬＲＵリンクポインタ７１１の最後尾位置にあるキャッシュページを検索テーブル７２から外して新たな検索テーブルにつなぎ換え（ステップ７０３）、その上でステップ７０４においてそのキャッシュページを通常ＬＲＵリンクポインタ７１１から外す。
【００６０】
次に、ホスト１０からのコマンドに基づく必要なデータ転送を行い（ステップ７０５）、転送が完了すると、ディスク２３Ａ、２３Ｂ、２３Ｃへの未書き込みデータの有無を判定し（ステップ７０６）、未書き込みデータが無ければ当該キャッシュページを通常ＬＲＵリンクポインタ７１１につなぎ（ステップ７０７）、未書き込みデータがあれば未書き込みＬＲＵリンクポインタ７１２につなぐ（ステップ７０８）。
【００６１】
次いで、本実施の形態においてキャッシュメモリとして割り当てられている共有メモリブロックを所定のソリューション（付加機能）用に使用用途を変更する場合の動作について図８のフローチャートに従って説明する。
【００６２】
まず、ある特定のソリューション（付加機能）を組み込んだ場合、キャッシュメモリとして割り当てられている共有メモリブロックの状態フラグ３１２を「移行中」にセットする（ステップ８０１）。これにより、当該共有メモリブロックは、使用用途の変更途上にあることが示される。
【００６３】
次に、当該共有メモリブロックに属するキャッシュページを順に通常ＬＲＵリンクポインタ７１１又は未書き込みリンクポインタ７１２から外し（ステップ８０２）、そのキャッシュページの未書き込みデータの有無を判定する（ステップ８０３）。
【００６４】
未書き込みデータがある場合、当該データのディスク２３Ａ〜２３Ｃへの書き込みを行う（ステップ８０４）。次に、キャッシュページをキャッシュヒットの判定が不要となるので検索テーブル７２のエントリポインタからリンクを外し（ステップ８０５）、使用不可ＬＲＵリンクポインタ７１３につなぐ（ステップ８０６）。
【００６５】
キャッシュページが共有メモリブロックの最後のキャッシュページでなければ（ステップ８０７）、ステップ８０２に戻って次のキャッシュページについてステップ８０２〜ステップ８０６の処理を行う。当該共有メモリブロックに属する全てのキャッシュページの使用不可ＬＲＵリンクポインタ７１３へのつなぎ込みが完了すると（ステップ８０７でＹＥＳ）、当該共有メモリブロックの使用用途情報３１１が、キャッシュメモリから組み込んだソリューションの管理情報用の領域へと変更される（ステップ８０８）。これにより、ソリューションの管理情報用の領域が確保されソリューションの使用が可能となる。
【００６６】
さらに、本実施の形態において、ソリューション（付加機能）の取り外しに従って、ソリューションの管理情報用として割り当てられている共有メモリブロックをキャッシュメモリとしての使用用途に変更する場合の動作について図９のフローチャートに従って説明する。
【００６７】
まず、使用用途をキャッシュメモリに変更するある特定のソリューションの管理用として割り当てられている共有メモリブロックの状態フラグ３１２を「移行中」にセットする（ステップ９０１）。これにより、当該共有メモリブロックは、使用用途の変更途上にあることが示される。
【００６８】
次に、当該共有メモリブロックに属するキャッシュページを順に通常ＬＲＵリンクポインタ７１１につなぐ（ステップ９０２）と共に、キャッシュヒットの判定が必要となるので検索テーブル７２のエントリポインタにつなぐ（ステップ９０３）。
【００６９】
また、その共有メモリブロックに属するキャッシュページを使用不可ＬＲＵリンクポインタ７１３から外す（ステップ９０４）。
【００７０】
キャッシュページが共有メモリブロックの最後のキャッシュページでなければ（ステップ９０５）、ステップ９０２に戻って次のキャッシュページについてステップ９０２〜ステップ９０４の処理を行う。当該共有メモリブロックに属する全てのキャッシュページの処理が終了すると（ステップ９０５でＹＥＳ）、当該共有メモリブロックの使用用途情報３１１が、ソリューションの管理情報用の領域からキャッシュメモリへと変更される（ステップ９０６）。これにより、キャッシュメモリとして使用可能となる。
【００７１】
本実施例によれば、キャッシュメモリとして使用していた共有メモリの一部を動的にソリューション領域に変更することが可能となるので、ディスクアレイ装置動作中にソリューションの拡張を実施することができ、ソリューション拡張のために装置を停止させる必要がないので、より可用性、拡張性の高いディスクアレイ装置を実現することが可能となる。
【００７２】
次に、本発明の第２の実施の形態によるディスクアレイ装置の管理方法について説明する。なお、本実施の形態のディスクアレイ装置の構成については、図１に示した構成と同じである。
【００７３】
本実施の形態では、ソリューションではなくキャッシュメモリの制御情報を格納する制御領域を動的に拡張するものである。共有メモリ２２の容量をハードウェア的に増設した場合にその増設した領域をキャッシュメモリとして使用する場合、キャッシュ制御領域３２も多く必要になる。
【００７４】
キャッシュ制御領域３２は共有メモリ２２全体の容量に比べて小さいため、メモリの増設を考慮して初めから最大キャッシュ容量をサポート可能なキャッシュ制御領域３２を構築すれば動的拡張は可能であるが、キャッシュの最低容量と最大容量の差が非常に大きいときは、最低容量キャッシュ用に最大容量キャッシュに必要なキャッシュ制御領域３２を使用するような事態が発生し実際にキャッシュメモリとして使用できる容量が少なくなってしまう。本実施の形態によれば、共有メモリ２２の容量に応じて適切なキャッシュ制御領域を確保することが可能となる。
【００７５】
本実施の形態における共有メモリ２２の管理情報領域３０の初期の状態は、第１の実施の形態と同様であり、その状態は図２で示される。共有メモリ２２をハードウェア的に増設した後の状態は図１０に示す状態となる。
【００７６】
図１０においては、共有メモリ２２の増設によって、共有メモリブロック＃４〜＃７が追加されており、かつ最初から存在する共有メモリブロック＃０を、増加した共有メモリブロック＃４〜＃７をキャッシュメモリとして使用するための拡張キャッシュ制御情報１０１０を格納する拡張キャッシュ制御領域１０１として割り当てている。
【００７７】
このような動作を実現するために本実施の形態における共有メモリブロック管理領域３１には、図１１に示されるように、共有メモリブロック＃０〜＃７についての使用用途３１１と状態フラグ３１２を管理する共有メモリブロック管理情報３１０が格納される。
【００７８】
そして、共有メモリ２２の増設前の状態では、図１２に示すように、共有メモリブロック＃０〜３がキャッシュメモリとして使用され、キャッシュメモリ＃４〜７が未実装の領域として管理されている。
【００７９】
共有メモリ２２が増設されると移行処理を経て、図１３に示すように、共有メモリブロック＃０が拡張キャッシュ制御領域１０１として使用され、これに伴って新たに追加された共有メモリブロック＃４と＃５がソリューションＡ、Ｂに利用され、共有メモリブロック＃６と＃７がキャッシュメモリとして使用できる状態となっている。
【００８０】
共有メモリ２２の増設によって、共有メモリブロックの使用用途を拡張キャッシュ制御領域１０１に変更する場合の処理は、図８のソリューションの管理情報用の領域に使用用途を変更する処理と同じである。すなわち、使用用途をソリューションの管理情報用の領域の代わりに拡張キャッシュ制御領域１０１とするだけである。また、共有メモリ２２の増設分を取り外して増設前の状態に戻した場合には、拡張キャッシュ制御領域１０１がキャッシュメモリに使用される。この場合の使用用途の変更処理は図９に示した処理と同様である。
【００８１】
加えて、共有メモリ２２の増設により増えた共有メモリブロックを、ソリューションの管理情報用の領域に使用用途を変更し、反対にキャッシュメモリとしての使用用途に戻す動作については、図８及び図９の動作と全く同じである。
【００８２】
拡張キャッシュ制御領域１０１に格納される拡張キャッシュ制御情報１０１０の内容は、図１４に示すように共有メモリブロック＃４〜＃７についてのキャッシュページのリンクポインタと検索リンクポインタが設けられ、これによって共有メモリブロック＃４〜＃７について図７で説明したキャッシュ制御が可能となる。
【００８３】
なお、キャッシュ制御領域３２のキャッシュ制御情報３２０については、図６に示した第１の実施の形態の内容と同様である。
【００８４】
第２の実施の形態によれば、共有メモリの増設を行った場合に、増設された容量に従って増設されたメモリの制御用領域が動的に設定され、効率的にメモリを使用することが可能となる。
【００８５】
本発明のディスクアレイ装置は、管理プログラム１０００をコントローラであるコンピュータ処理部（ＣＰＵ）で実行することにより、共有メモリ２２の共有メモリブロックをキャッシュメモリ又はソリューションの管理領域として管理する形態について説明したが、上述した各機能をハードウェア的に実現することも勿論可能である。
【００８６】
以上好ましい実施の形態及び実施例をあげて本発明を説明したが、本発明は必ずしも上記実施の形態及び実施例に限定されるものではなく、その技術的思想の範囲内において様々に変形して実施することができる。
【００８７】
【発明の効果】
以上説明したように本発明によれば、付加機能（ソリューション）の組み込みに応じて、キャッシュメモリとして使用される共有メモリの所定の領域を付加機能の動作用に自動的に設定するので、その変更を装置を停止させることなく動的に行うことができ、より可用性、拡張性の高いディスクアレイ装置を実現することが可能となる。
【００８８】
すなわち、ディスクアレイ装置において動作中に新規にソリューションを有効に設定したときに、共有メモリ上のそれまでキャッシュメモリとして使用していた領域をソリューション管理領域として使用するように動的に割り当てを変更することで、管理領域を多く使用するソリューションを使用し始める場合でも、メモリマップの変更のために装置を再起動させることなく、そのまま使い始めることができるようになる。
【００８９】
また、共有メモリの増設に応じて、増設前の共有メモリの所定の領域を、増設に伴って増加する領域の制御情報を格納する領域として自動的に設定することにより、共有メモリの増設を行った場合に、増設された容量に従って増設されたメモリの制御用領域が動的に設定され、効率的にメモリを使用することを可能とする。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態によるディスクアレイ装置の構成を示すブロック図である。
【図２】本発明の第１の実施の形態によるディスクアレイ装置の共有メモリの構成例を示す図である。
【図３】第１の実施の形態による共有メモリ内の共有メモリブロックの構成を示す図である。
【図４】第１の実施の形態による共有メモリ内の共有メモリブロック管理領域の内容を説明する図である。
【図５】共有メモリブロック管理領域の状態例を示す図である。
【図６】第１の実施の形態による共有メモリ内のキャッシュ制御領域の内容を説明する図である。
【図７】本発明の第１の実施の形態によるディスクアレイ装置のキャッシュ制御の動作を説明するフローチャートである。
【図８】本発明の第１の実施の形態によるディスクアレイ装置の使用用途変更の動作を説明するフローチャートである。
【図９】本発明の第１の実施の形態によるディスクアレイ装置の使用用途変更の動作を説明するフローチャートである。
【図１０】本発明の第２の実施の形態によるディスクアレイ装置の共有メモリの構成例を示す図である。
【図１１】第２の実施の形態による共有メモリ内の共有メモリブロック管理領域の内容を説明する図である。
【図１２】共有メモリ増設前の共有メモリブロック管理領域の状態例を示す図である。
【図１３】共有メモリ増設後の共有メモリブロック管理領域の状態例を示す図である。
【図１４】第２の実施の形態による共有メモリ内のキャッシュ制御領域の内容を説明する図である。
【符号の説明】
１０：ホスト
２０：ディスクアレイ装置
２１Ａ、２１Ｂ：コントローラ
２２：共有メモリ
２３Ａ、２３Ｂ、２３Ｃ：ディスク
３１：共有メモリブロック管理領域
３１０：共有メモリブロック管理情報
３２：キャッシュ制御領域
３２０：キャッシュ制御情報
１０１：拡張キャッシュ制御領域
１０１０：拡張キャッシュ制御情報
３１１：共有メモリブロック使用用途
３１２：共有メモリブロック状態フラグ
７１１：通常ＬＲＵリンクポインタ
７１２：未書き込みＬＲＵリンクポインタ
７１３：使用不可ＬＲＵリンクポインタ
１０００：管理プログラム
【図１】
2005004282.tif 000003
【図２】
2005004282.tif 000004
【図３】
2005004282.tif 000005
【図４】
2005004282.tif 000006
【図５】
2005004282.tif 000007
【図６】
2005004282.tif 000008
【図７】
2005004282.tif 000009
【図８】
2005004282.tif 000010
【図９】
2005004282.tif 000011
【図１０】
2005004282.tif 000012
【図１１】
2005004282.tif 000013
【図１２】
2005004282.tif 000014
【図１３】
2005004282.tif 000015
【図１４】
2005004282.tif 000016