(57)【要約】【課題】１回のアドレス指定でデータのキャッシュメモリへの二重書込みをより高速に行なえるようにして処理性能の向上をはかる。【解決手段】ホストインターフェイスモジュール２０において２つの書込先を指定しうるアドレッシング情報を生成し、ブリッジモジュール４０において、前記アドレッシング情報に基づいて２つの転送先アドレスと各キャッシュメモリ３１での書込先アドレスとを生成し、書込対象データを、前記２つの転送先アドレスに対応する２つの管理モジュール３０へ転送し各管理モジュール３０のキャッシュメモリ３１における前記書込先アドレスに書き込む。【選択図】図１
2005070995.tif 000002
【特許請求の範囲】
【請求項１】
外部装置とのインターフェイスを制御する第１モジュールと、
キャッシュメモリを有する複数の第２モジュールと、
インターフェイスバスを介して該第１モジュールおよび該第２モジュールをそれぞれ接続されこれらの該第１モジュールおよび該第２モジュールの相互間をデータ転送可能に接続するブリッジモジュールとをそなえ、
該第１モジュールが、
該外部装置から受け取った書込対象データを該ブリッジモジュール経由で該複数の第２モジュールのうちの２つの第２モジュールにおけるキャッシュメモリに書き込むべく２つの書込先を指定しうるアドレッシング情報を生成するアドレス指定手段をそなえて構成されるとともに、
該ブリッジモジュールが、
該第１モジュールから前記書込対象データとともに受け取った前記アドレッシング情報を解析し、前記書込対象データを実際に書き込むべきキャッシュメモリを有する該２つの第２モジュールを指定する２つの転送先アドレスと各キャッシュメモリでの書込先アドレスとを生成するアドレス生成手段と、
前記書込対象データを、前記２つの転送先アドレスに対応する該２つの第２モジュールへ転送した後に各第２モジュールのキャッシュメモリにおける前記書込先アドレスに書き込むように、該ブリッジモジュールから該第２モジュールへのデータ転送を制御するデータ転送制御手段とをそなえて構成されていることを特徴とする、二重書込機能を有する装置。
【請求項２】
各第２モジュールが、当該第２モジュールとミラー関係にある第２モジュールに関する情報を管理するとともに、当該第２モジュールにおけるキャッシュメモリ内のマスタ領域アドレスと、当該第２モジュールとミラー関係にある第２モジュールにおけるキャッシュメモリ内のミラー領域アドレスとの対応関係を管理する管理手段を有しており、
該第１モジュールにおける該アドレス指定手段が、該２つの第２モジュールのうちの一方の第２モジュールにおける該管理手段から取得した情報に基づいて、前記アドレッシング情報を生成することを特徴とする、請求項１に記載の二重書込機能を有する装置。
【請求項３】
ディスク装置とホストとの間にそなえられ該ホストの該ディスク装置に対するアクセスを制御するストレージ制御装置であって、
該ディスク装置とのインターフェイスを制御するディスクインターフェイスモジュールと、
該ホストとのインターフェイスを制御するホストインターフェイスモジュールと、
キャッシュメモリを有し本装置全体を統括的に管理する複数の管理モジュールと、
インターフェイスバスを介して該ディスクインターフェイスモジュール，該ホストインターフェイスモジュールおよび該管理モジュールをそれぞれ接続されこれらの該ディスクインターフェイスモジュール，該ホストインターフェイスモジュールおよび該管理モジュールの相互間をデータ転送可能に接続するブリッジモジュールとをそなえ、
該ホストインターフェイスモジュールが、
該ホストから受け取った書込対象データを該ブリッジモジュール経由で該複数の管理モジュールのうちの２つの管理モジュールにおけるキャッシュメモリに書き込むべく２つの書込先を指定しうるアドレッシング情報を生成するアドレス指定手段をそなえて構成されるとともに、
該ブリッジモジュールが、
該ホストインターフェイスモジュールから前記書込対象データとともに受け取った前記アドレッシング情報を解析し、前記書込対象データを実際に書き込むべきキャッシュメモリを有する該２つの管理モジュールを指定する２つの転送先アドレスと各キャッシュメモリでの書込先アドレスとを生成するアドレス生成手段と、
前記書込対象データを、前記２つの転送先アドレスに対応する該２つの管理モジュールへ転送した後に各管理モジュールのキャッシュメモリにおける前記書込先アドレスに書き込むように、該ブリッジモジュールから該管理モジュールへのデータ転送を制御するデータ転送制御手段とをそなえて構成されていることを特徴とする、ストレージ制御装置。
【請求項４】
該アドレス指定手段が、前記アドレッシング情報において、前記書込対象データの各キャッシュメモリでの前記書込先アドレスとして、各管理モジュールの該キャッシュメモリ内におけるページアドレスと各ページ内でのオフセットアドレスとを指定することを特徴とする、請求項３に記載のストレージ制御装置。
【請求項５】
各管理モジュールが、当該管理モジュールとミラー関係にある管理モジュールに関する情報を管理するとともに、当該管理モジュールにおけるキャッシュメモリ内のマスタ領域アドレスと、当該管理モジュールとミラー関係にある管理モジュールにおけるキャッシュメモリ内のミラー領域アドレスとの対応関係を管理する管理手段を有しており、
該ホストインターフェイスモジュールにおける該アドレス指定手段が、該２つの管理モジュールのうちの一方の管理モジュールにおける該管理手段から取得した情報に基づいて、前記アドレッシング情報を生成することを特徴とする、請求項３または請求項４に記載のストレージ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホスト等の外部装置から転送されてきたデータを２以上のキャッシュメモリに書き込む二重書込機能（多重書込機能）をそなえた装置に関し、より具体的には、物理デバイス（例えば磁気ディスク装置）とホストとの間にそなえられ、このホストの物理デバイスに対するアクセスを制御するストレージ制御装置に関する。
【背景技術】
【０００２】
一般に、ホスト（コンピュータ）には、ネットワーク等を介し外部記憶装置としてのストレージ装置が接続されている。このストレージ装置は、ホストからのアクセス（入出力要求，Ｉ／Ｏ要求）に応じて、ホストからのデータを物理デバイス（例えばディスク装置）に書き込んだり、ホストから要求されたデータを物理デバイスから読み出してホストへ転送するもので、ディスク装置と、このディスク装置とホストとの間にそなえられホストのディスク装置に対するアクセスを制御するストレージ制御装置とから構成されている。
【０００３】
このストレージ制御装置においては、通常、少なくとも、ホスト４とのインターフェイスを制御するホストインターフェイスモジュールと、ディスク装置とのインターフェイスを制御するディスクインターフェイスモジュールと、本ストレージ制御装置の全体を統括的に管理する２以上の管理モジュールとがそなえられている。
そして、各管理モジュールは、ホストからディスク装置に書き込まれるべきデータや、ディスク装置からホストへ読み出されるべきデータを一時的に格納するキャッシュメモリを搭載され、このキャッシュメモリの管理も行なうように構成されている。
【０００４】
また、ホストインターフェイスモジュールと管理モジュールとの間を接続するインターフェイスバスや、ディスクインターフェイスモジュールと管理モジュールとの間を接続するインターフェイスバスとしては、標準バス、例えばＰＣＩ（Peripheral Component Interconnect）バスが用いられる。
このように構成されたストレージ制御装置では、ディスク装置からホストへデータを読み出す際には、まず、読出対象データが、そのデータを保持するディスク装置からディスクインターフェイスモジュールへ転送され、このディスクインターフェイスモジュールからＰＣＩバスを介して管理モジュールのキャッシュメモリに一時的に格納される。この後、管理モジュールのキャッシュメモリ上の読出対象データは、ＰＣＩバスを介してホストインターフェイスモジュールへ転送され、このホストインターフェイスモジュールからホストへ読み出される。
【０００５】
逆に、ホストからディスク装置にデータを書き込む際には、まず、書込対象データが、ホストからホストインターフェイスモジュールへ転送され、このホストインターフェイスモジュールからＰＣＩバスを介して管理モジュールのキャッシュメモリに一時的に格納される。このとき、ホストからのアクセス頻度が高い書込対象データは、キャッシュメモリに保持されるが、アクセス頻度が低くなると、キャッシュメモリからＰＣＩバスを介してディスクインターフェイスモジュールへ転送され、このディスクインターフェイスモジュールから所定のディスク装置に書き込まれる。
【０００６】
また、ホストからストレージ装置にデータを書き込む際には、キャッシュメモリを持つハードウェア（管理モジュール）の障害等によって、磁気ディスク装置等のディスク装置に書き込む前のユーザデータが消失してしまうのを防止するため、ストレージ制御装置内でホストから転送されたユーザデータを、２つのキャッシュメモリに二重に書き込むこと（複数のハードウェアに同一データを書き込むこと）が一般的に行なわれている（例えば下記特許文献１〜３参照）。
【０００７】
上述のような構成のストレージ制御装置において２つの管理モジュール（例えばＣＭ−ＡとＣＭ−Ｂ）におけるキャッシュメモリにデータの二重書込を行なう場合、通常、ホストから書込対象データを受け取ったホストインターフェイスモジュールは、そのデータを、ＰＣＩバスを介してＣＭ−Ａ（キャッシュメモリＡ）の指定アドレスにデータを転送して書き込むとともに、同じデータを、ＰＣＩバスを介してＣＭ−Ｂ（キャッシュメモリＢ）の指定アドレスにデータを転送して書き込むことになる。つまり、ホストインターフェイスモジュールと２つの管理モジュールとの間で同一データを２回転送している。
【特許文献１】特開平０７−１６０４３２号公報
【特許文献２】特開平０５−１８９３１４号公報
【特許文献３】特開平０７−２０９９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、従来のストレージ制御装置では、データの二重書込みを行なうために転送速度の遅い標準バスを用いて１つのホストインターフェイスモジュールから２つの管理モジュールに対し同一データを２回転送しなければならず、処理性能上、好ましくない。従って、１回のアドレス指定でデータのキャッシュメモリへの二重書込みをより高速に行なえるようにして、処理性能をより向上させることが望まれている。
【０００９】
また、単純に二重書込のための機構をハードウェアに付加した場合には、書込対象データが、２つの管理モジュール（ＣＭ−Ａ，ＣＭ−Ｂ）のキャッシュメモリ上で全く同じアドレスに書き込まれるように管理しなければならない。しかし、このような二重書込を行なうとキャッシュメモリ内のデータ配置に大きな制約が生じてデータ配置の自由度が低くなるため、キャッシュメモリ内に使用できない無駄な領域が生じてしまう。従って、キャッシュメモリにおけるデータ配置（キャッシュ管理）の自由度を増大させ、キャッシュメモリを効率よく使用できるようにすることも望まれている。
【００１０】
本発明は、このような課題に鑑み創案されたもので、１回のアドレス指定でデータのキャッシュメモリへの二重書込みをより高速に行なえるようにして処理性能の向上をはかるとともに、キャッシュ管理の自由度を増大させてキャッシュメモリの効率的使用を実現することを目的としている。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、本発明の二重書込機能を有する装置（請求項１）は、外部装置とのインターフェイスを制御する第１モジュールと、キャッシュメモリを有する複数の第２モジュールと、インターフェイスバスを介して該第１モジュールおよび該第２モジュールをそれぞれ接続されこれらの該第１モジュールおよび該第２モジュールの相互間をデータ転送可能に接続するブリッジモジュールとをそなえ、該第１モジュールが、該外部装置から受け取った書込対象データを該ブリッジモジュール経由で該複数の第２モジュールのうちの２つの第２モジュールにおけるキャッシュメモリに書き込むべく２つの書込先を指定しうるアドレッシング情報を生成するアドレス指定手段をそなえて構成されるとともに、該ブリッジモジュールが、該第１モジュールから前記書込対象データとともに受け取った前記アドレッシング情報を解析し前記書込対象データを実際に書き込むべきキャッシュメモリを有する該２つの第２モジュールを指定する２つの転送先アドレスと各キャッシュメモリでの書込先アドレスとを生成するアドレス生成手段と、前記書込対象データを前記２つの転送先アドレスに対応する該２つの第２モジュールへ転送した後に各第２モジュールのキャッシュメモリにおける前記書込先アドレスに書き込むように該ブリッジモジュールから該第２モジュールへのデータ転送を制御するデータ転送制御手段とをそなえて構成されていることを特徴としている。
【００１２】
このような装置において、各第２モジュールが、当該第２モジュールとミラー関係にある第２モジュールに関する情報を管理するとともに、当該第２モジュールにおけるキャッシュメモリ内のマスタ領域アドレスと、当該第２モジュールとミラー関係にある第２モジュールにおけるキャッシュメモリ内のミラー領域アドレスとの対応関係を管理する管理手段を有しており、該第１モジュールにおける該アドレス指定手段が、該２つの第２モジュールのうちの一方の第２モジュールにおける該管理手段から取得した情報に基づいて、前記アドレッシング情報を生成するように構成してもよい（請求項２）。
【００１３】
また、本発明のストレージ制御装置（請求項３）は、ディスク装置とホストとの間にそなえられ該ホストの該ディスク装置に対するアクセスを制御するものであって、該ディスク装置とのインターフェイスを制御するディスクインターフェイスモジュールと、該ホストとのインターフェイスを制御するホストインターフェイスモジュールと、キャッシュメモリを有し本装置全体を統括的に管理する複数の管理モジュールと、インターフェイスバスを介して該ディスクインターフェイスモジュール，該ホストインターフェイスモジュールおよび該管理モジュールをそれぞれ接続されこれらの該ディスクインターフェイスモジュール，該ホストインターフェイスモジュールおよび該管理モジュールの相互間をデータ転送可能に接続するブリッジモジュールとをそなえ、該ホストインターフェイスモジュールが、該ホストから受け取った書込対象データを該ブリッジモジュール経由で該複数の管理モジュールのうちの２つの管理モジュールにおけるキャッシュメモリに書き込むべく２つの書込先を指定しうるアドレッシング情報を生成するアドレス指定手段をそなえて構成されるとともに、該ブリッジモジュールが、該ホストインターフェイスモジュールから前記書込対象データとともに受け取った前記アドレッシング情報を解析し前記書込対象データを実際に書き込むべきキャッシュメモリを有する該２つの管理モジュールを指定する２つの転送先アドレスと各キャッシュメモリでの書込先アドレスとを生成するアドレス生成手段と、前記書込対象データを前記２つの転送先アドレスに対応する該２つの管理モジュールへ転送した後に各管理モジュールのキャッシュメモリにおける前記書込先アドレスに書き込むように該ブリッジモジュールから該管理モジュールへのデータ転送を制御するデータ転送制御手段とをそなえて構成されていることを特徴としている。
【００１４】
このとき、該アドレス指定手段が、前記アドレッシング情報において、前記書込対象データの各キャッシュメモリでの前記書込先アドレスとして、各管理モジュールの該キャッシュメモリ内におけるページアドレスと各ページ内でのオフセットアドレスとを指定してもよい（請求項４）。さらに、各管理モジュールが、当該管理モジュールとミラー関係にある管理モジュールに関する情報を管理するとともに、当該管理モジュールにおけるキャッシュメモリ内のマスタ領域アドレスと、当該管理モジュールとミラー関係にある管理モジュールにおけるキャッシュメモリ内のミラー領域アドレスとの対応関係を管理する管理手段を有しており、該ホストインターフェイスモジュールにおける該アドレス指定手段が、該２つの管理モジュールのうちの一方の管理モジュールにおける該管理手段から取得した情報に基づいて、前記アドレッシング情報を生成するように構成してもよい（請求項５）。
【発明の効果】
【００１５】
上述した本発明の二重書込機能を有する装置およびストレージ制御装置によれば、第１モジュール（ホストインターフェイスモジュール）のアドレス指定手段により２つの書込先を指定しうるアドレッシング情報が生成され、ブリッジモジュールでは、アドレス生成手段により、前記アドレッシング情報に基づいて２つの転送先アドレス（２つの第２モジュール（管理モジュール）を指定するもの）と各キャッシュメモリでの書込先アドレスとが生成される。そして、ブリッジモジュールのデータ転送制御手段により、書込対象データが、前記２つの転送先アドレスに対応する２つの第２モジュール（管理モジュール）へ転送され、各第２モジュール（管理モジュール）のキャッシュメモリにおける前記書込先アドレスに書き込まれる。
【００１６】
従って、第１モジュール（ホストインターフェイスモジュール）でアドレス指定を１回だけ行ない第１モジュール（ホストインターフェイスモジュール）からブリッジモジュールへのデータ転送を１回だけ行なえば、書込対象データが、標準バスよりも転送速度の速いブリッジモジュールを通じて２つの第２モジュール（管理モジュール）におけるキャッシュメモリに転送されて二重に書き込まれるので、キャッシュメモリへの二重書込をより高速に行なえ、処理性能を大幅に向上させることができる。
【００１７】
また、第１モジュール（ホストインターフェイスモジュール）のアドレス指定手段により、前記アドレッシング情報において、書込対象データの各キャッシュメモリでの前記書込先アドレスとして、各管理モジュールのキャッシュメモリ内におけるページアドレスと各ページ内でのオフセットアドレスとを指定することで、書込対象データを、２つの第２モジュール（管理モジュール）におけるキャッシュメモリ上で別々のアドレスに転送して書き込むことができるので、キャッシュ管理の自由度が増し、キャッシュメモリを効率よく使用することができる。
【００１８】
さらに、各第２モジュール（管理モジュール）に管理手段をそなえ、この管理手段によって、当該第２モジュール（管理モジュール）とミラー関係にある第２モジュール（管理モジュール）に関する情報を管理するとともに、当該第２モジュール（管理モジュール）におけるキャッシュメモリ内のマスタ領域アドレスと、当該第２モジュール（管理モジュール）とミラー関係にある管理モジュールにおけるキャッシュメモリ内のミラー領域アドレスとの対応関係を管理することにより、第１モジュール（ホストインターフェイスモジュール）におけるアドレス指定手段は、ミラー関係にある２つの第２モジュール（管理モジュール）どうしで通信を行なうことなく、２つの第２モジュール（管理モジュール）のうちの一方における管理手段から取得した情報に基づいて前記アドレッシング情報を生成することができる。
【００１９】
また、上述のごとく管理手段によってミラー関係にある第２モジュール（管理モジュール）のミラー領域を管理することで、ミラー関係にある２つの第２モジュール（管理モジュール）どうしで通信を行なうことなく、一方の第２モジュール（管理モジュール）が他方の管理モジュールのミラー領域を効率よく利用することができる。例えば、一方の第２モジュール（管理モジュール）においてキャッシュメモリのマスタ領域の容量が不足している場合、上記管理手段による管理状況に基づいて、他方の第２モジュール（管理モジュール）におけるキャッシュメモリ内のミラー領域を利用することができ、キャッシュメモリのマスタ領域もミラー領域も効率よく利用することが可能になる。
【発明を実施するための最良の形態】
【００２０】
以下、図面を参照して本発明の実施の形態を説明する。
〔１〕本発明の一実施形態の説明
図１は本発明の一実施形態としてのストレージ装置（ストレージ制御装置）の最小基本構成を示すブロック図で、この図１に示すストレージ装置１は、ホスト４からのアクセス（入出力要求，Ｉ／Ｏ要求）に応じて、ホスト４からのデータを書き込んだり、ホスト４から要求されたデータを読み出してホスト４へ転送したりするものである。このストレージ装置１は、ディスクユニット（ディスク装置，物理デバイス）２と、このディスクユニット２とホスト４との間にそなえられホスト４のディスクユニット２に対するアクセスを制御するストレージ制御装置３とから構成されている。
【００２１】
そして、ストレージ制御装置３は、ディスクインターフェイスモジュール１０，ホストインターフェイスモジュール２０，管理モジュール３０およびＰＣＩブリッジモジュール４０をそなえて構成されている。図１に示す最小基本構成のストレージ制御装置３において、ディスクインターフェイスモジュール１０，ホストインターフェイスモジュール２０およびＰＣＩブリッジモジュール４０はそれぞれ１組そなえられ、管理モジュール３０は２組そなえられている。
【００２２】
ディスクインターフェイスモジュール１０は、ディスクインターフェイスバス５４を介してディスクユニット２とのインターフェイス（データ転送）を制御するものである。
ホストインターフェイスモジュール（第１モジュール）２０は、ファイバチャネルインターフェイスバス５０を介してホスト（外部装置）４とのインターフェイス（データ転送）を制御するものである。このホストインターフェイスモジュール２０には、アドレス指定手段２１としての機能がそなえられているが、このアドレス指定手段２１としての機能については後述する。
【００２３】
各管理モジュール（第２モジュール）３０は、本ストレージ制御装置３の全体を統括的に管理するもので、ホスト４からディスクユニット２に書き込まれるべきデータや、ディスクユニット２からホスト４へ読み出されるべきデータを一時的に格納するキャッシュメモリ３１を搭載され、このキャッシュメモリ３１の管理を行なうものである。この管理モジュール３０には、管理手段３２としての機能もそなえられているが、この管理手段３２としての機能については後述する。
【００２４】
ＰＣＩブリッジモジュール（ブリッジモジュール）４０は、標準バスであるＰＣＩバス（インターフェイスバス）５１，５２，５３を介してディスクインターフェイスモジュール１０，ホストインターフェイスモジュール２０および管理モジュール３０をそれぞれ接続され、これらのディスクインターフェイスモジュール１０，ホストインターフェイスモジュール２０および管理モジュール３０の相互間をデータ転送可能に接続するものである。このＰＣＩブリッジモジュール４０には、アドレス生成手段４１およびデータ転送制御手段４２としての機能がそなえられているが、これらのアドレス生成手段４１およびデータ転送制御手段４２としての機能については後述する。なお、一般的なＰＣＩ−ＰＣＩブリッジは１：１接続を行なうように構成されるが、ここで用いられるＰＣＩブリッジモジュール４０はｎ：ｎ（複数：複数）接続可能に構成されている。
【００２５】
書込データの二重化は、ミラー関係にある２つの管理モジュール３０によって行なわれる。図１に示す最小基本構成のストレージ制御装置１では、管理モジュール３０が２組だけそなえられているので、これら２組の管理モジュール３０がミラー関係にあり、一方の管理モジュール３０がマスタＣＭとして取り扱われ、他方の管理モジュール３０がミラーＣＭ（ペアＣＭ）として取り扱われることになる。
【００２６】
ここで、各管理モジュール３０におけるキャッシュメモリ３１について、図３〜図５を参照しながら説明する。なお、図３は本実施形態のキャッシュメモリ３１の構成を示す図、図４は本実施形態のキャッシュメモリ３１におけるマスタ領域（ローカル領域）とミラー領域との対応関係を示す図、図５は本実施形態におけるキャッシュメモリ３１の管理動作の一例を説明するための図である。
【００２７】
図３に示すように、キャッシュメモリ３１内の領域（キャッシュ領域）は、一定サイズ（例えば２ＭＢ（メガバイト））のキャッシュページ毎に区切られ、４ＭＢ分の領域（２ページ分）が一つの単位として管理されている。そして、２ＭＢの各ページは、５２０バイト×１２８ブロック＝６６５６０バイトのＣＢＥ（Cache Bundle control Element）を３１個割り当てられて構成・管理されている。なお、各キャッシュページの管理は、未使用のＣＢＥをフリーのリンク群に接続することにより行なわれる。使用中のＣＢＥは、ＬＲＵ（Least Recently Used）リンクおよびハッシュエントリに接続することにより管理される。ただし、ミラー領域のＣＢＥはフリーリンクには接続しないものとする。
【００２８】
また、図３や図４に示すように、キャッシュ領域は、４ＭＢ単位でマスタ領域（マスタＣＢＥ群）とミラー領域（ミラーＣＢＥ群）とを交互に配置した２分割メモリフォーマットとして管理される。なお、図４においては、ミラー関係にある２つの管理モジュール３０（ＣＭ−ＡとＣＭ−Ｂ）におけるキャッシュメモリ３１のマスタ領域（ローカル領域）とミラー領域との対応関係が矢印によって示されている。
【００２９】
そして、本実施形態において、各管理モジュール３０におけるキャッシュメモリ３１のマスタ領域（ローカル領域）は、Ｉ／Ｏ要求を受け付けた管理モジュール３０によって読出／書込データ転送用メモリ領域として使用される。また、各管理モジュール３０におけるキャッシュメモリ３１のミラー領域は、当該管理モジュール３０のバックワードに位置する管理モジュール３０（当該管理モジュール３０とミラー関係にある管理モジュール３０）によって書込データの二重化用メモリ領域として使用されるほか、図５を参照しながら後述するごとくホスト４への読出データ転送用メモリ領域として使用される。つまり、本実施形態では、各管理モジュール３０におけるキャッシュメモリ３１のミラー領域は、バックワードに位置する管理モジュール３０（後述する管理手段３２）によって管理されており、当該管理モジュール３０が直接使用することができないように構成されている。
【００３０】
なお、各キャッシュメモリ３１のマスタ領域／ミラー領域においては、上記読出データ転送用メモリ領域を構成するため、そのメモリ領域としてのみ使用される最低容量が予め設定されている。その最低容量は、チューニングパラメタの“Readキャッシュ容量”として定義・設定されるようになっている。その最低容量のデフォルト値は例えば６４ＭＢであり、６４ＭＢを設定した場合、ＣＢＥにして約１０００ページ（正確には９９２ページ）の読出データ転送用メモリ領域が確保されることになる。
【００３１】
各キャッシュメモリ３１におけるマスタ領域とミラー領域とは、物理的な区画分けにより制限されている。このような物理的な制限により、マスタＣＭ側の管理手段３２（後述）によってミラーキャッシュ（ミラーＣＭ側のキャッシュメモリ３１のミラー領域）の管理を行なえるようになっている。このとき、マスタ領域とミラー領域との物理構成上の境界はハードウェアのキャッシュページを意識して設定される。これにより、本発明による二重書込（フォーキング書込：Forking Write）が実行可能になっている。本実施形態のフォーキング書込では、後述するように、キャッシュページアドレスとそのアドレスからのオフセット値（オフセットアドレス）とがホストインターフェイスモジュール２０のアドレス指定手段２１によって指定されるが、上述のようなハードウェアの物理的制限により、マスタ領域とミラー領域とでそのオフセット値は同じ値にしなければならない。
【００３２】
本実施形態のストレージ制御装置３においては、上述のようなキャッシュメモリ３１を管理すべく、各管理モジュール３０に管理手段（キャッシュ管理ファームウェア）３２としての機能がそなえられている。
この管理手段３２は、この管理手段３２を有する管理モジュール３０（マスタＣＭ）とミラー関係にある管理モジュール３０（ミラーＣＭ）に関する情報（そのミラーＣＭのＰＣＩバスを特定する番号等）を管理するとともに、マスタＣＭ側のキャッシュメモリ３１内のマスタ領域アドレスとミラーＣＭ側のキャッシュメモリ３１内のミラー領域アドレスとの対応関係（この対応関係は予め決められている）を管理することにより、ミラーキャッシュ（ミラーＣＭ側のキャッシュメモリ３１のミラー領域）をマスタＣＭ側から管理可能に構成されている。つまり、マスタＣＭ側の管理手段３２によって、ミラーキャッシュにおけるＣＢＥの使用／未使用を管理できるように構成されている。
【００３３】
また、本実施形態では、各管理モジュール３０が、上述した管理手段３２を用いてミラーキャッシュをマスタＣＭ側から管理可能に構成されているので、図５に示すように、ある管理モジュール３０（ＣＭ−Ａ）がホスト４の読出要求（Ｉ／Ｏ要求）に応じてディスクユニット２からディスクインターフェイスモジュール１０およびＰＣＩブリッジモジュール４０（図５では図示省略）経由で読み出された読出対象データをキャッシュメモリ３１に一時的に保存する際にそのキャッシュメモリ３１のマスタ領域の容量が万一不足していても、その管理モジュール３０（ＣＭ−Ａ）は、管理手段３２による管理状況に基づいて、図５の矢印Ａ１（ステージング処理）で示すごとく、この管理モジュール３０（ＣＭ−Ａ）とミラー関係にある管理モジュール３０（ＣＭ−Ｂ）におけるキャッシュメモリ３１内のミラー領域（予め確保されている上記読出データ転送用メモリ領域）に、前記読出対象データを保存させることができる。このようにミラーキャッシュに保存された読出対象データは、図５の矢印Ａ２（ホスト読出処理）で示すごとく、ＣＭ−Ｂにおけるミラー領域からＰＣＩブリッジモジュール４０およびホストインターフェイスモジュール２０経由でホスト４へ転送されるようになっている。
【００３４】
管理モジュール３０のキャッシュメモリ３１のマスタ領域において読出データのために使用されているＣＢＥの、ペアＣＢＥ（その管理モジュール３０とミラー関係にある管理モジュール３０のミラー領域における対応ＣＢＥ）は、書込データの二重化のために使用されることがないので、空き領域のままになる。このような領域を活用できれば、読出要求のＩ／Ｏ処理に際してもキャッシュメモリ３１を１００％に近い利用効率で使用することが可能になる。そこで、本実施形態では、各管理モジュール３０の管理手段３２としての機能を用いて、ミラーＣＭのミラー領域における上述のような空き領域を読出データ転送用メモリ領域として利用できるようにしている。
【００３５】
ただし、このような機能を実現するために、各管理モジュール３０とディスクインターフェイスモジュール１０，ホストインターフェイスモジュール２０との間には、これらのインターフェイスモジュール１０，２０について予め設定されている担当機番の管理モジュール３０（図５に示す例ではＣＭ−Ａ）のキャッシュメモリに対してアクセス可能なだけでなく、その担当機番の管理モジュール３０とは異なる管理モジュール３０（図５に示す例ではＣＭ−Ｂ）のキャッシュメモリ３１に対してもアクセス可能なインターフェイスがそなえられている。このインターフェイスにより、管理モジュール３０側からＩ／Ｏ要求キャッシュアドレスとともに管理モジュール論理ＩＤが指定される。また、インターフェイスモジュール１０，２０がキャッシュメモリ３１を参照する際には、論理ＩＤも合わせてセットアップされる。
【００３６】
さて、本実施形態のストレージ制御装置３は、上述のような管理モジュール３０（キャッシュメモリ３１および管理手段３２）をそなえた上で、フォーキング書込と呼ぶ書込データの二重書込（二重化）を実行するものであり、ついで、フォーキング書込を実行するための機能（ホストインターフェイスモジュール２０のアドレス指定手段２１としての機能，ＰＣＩブリッジモジュール４０のアドレス生成手段４１およびデータ転送制御手段４２としての機能）について説明する。
【００３７】
ホストインターフェイスモジュール２０におけるアドレス指定手段２１は、ホスト４から受け取った書込対象データをＰＣＩブリッジモジュール４０経由で２つの管理モジュール３０におけるキャッシュメモリ３１に二重化して書き込むべく２つの書込先を指定しうるアドレッシング情報を、２つの管理モジュール３０のうちの一方の管理モジュール３０（ここではＣＭ−Ａ）における管理手段３２から取得した情報に基づいて生成するものである。
【００３８】
ここで、図２は、アドレス指定手段２１によって生成されるアドレッシング情報のフォーマットを示す図である。この図２に示すように、上記アドレッシング情報においては、ＰＣＩバス５２に対して指示するアドレス（ＰＣＩアドレス）として、以下のもの（１）〜（４）が指定される。
（１）ベースアドレス（図２中のＢＡ）
（２）ＣＭ−Ａのキャッシュメモリ３１での書込先ページアドレス（ＰＡ−Ａ；図２中のプライマリページ）
（３）ＣＭ−Ｂのキャッシュメモリ３１での書込先ページアドレス（ＰＡ−Ｂ；図２中のセカンダリページ）
（４）上記（２），（３）の書込先ページアドレスによって指定される各キャッシュページ内での、書込先頭位置を示すオフセットアドレス（オフセット値；図２中のオフセットアドレス）
なお、図１に示す最小基本構成のストレージ制御装置３では、管理モジュール３０が２組のみそなえられており、これら２組の管理モジュール３０が常にミラー関係にあるので、図６〜図８を参照しながら後述する例とは異なり、書込対象データを転送すべき２つの転送先管理モジュール３０を特定するための情報（２つの転送先アドレス）は、上記アドレッシング情報において指定する必要はなく、ＰＣＩブリッジモジュール４０内部で固定的に保持されていればよい。
【００３９】
また、上記（１）のベースアドレス（ＢＡ）は、今回のＩ／Ｏ要求（書込要求）では書込対象データをホストインターフェイスモジュール２０からＰＣＩブリッジモジュール４０経由で管理モジュール３０に転送することをＰＣＩブリッジモジュール４０に対して指示するための情報である。より具体的には、例えば、ベースアドレスが“０１”の時に書込対象データをＣＭ−Ａのみに転送・書込し、ベースアドレスが“１０”の時には書込対象データをＣＭ−Ｂのみに転送・書込し、ベースアドレスが“１１”の時には書込対象データをＣＭ−ＡおよびＣＭ−Ｂの両方に転送・書込するようにＰＣＩブリッジモジュール４０に指示されるものとする。従って、ベースアドレスとして“１１”が指定された場合に、ＰＣＩブリッジモジュール４０におけるアドレス生成手段４１およびデータ転送制御手段４２としての機能により、本実施形態のフォーキング書込（二重書込）が実行されるようになっている。
【００４０】
ＰＣＩブリッジモジュール４０のアドレス生成手段４１は、ホストインターフェイスモジュール２０から書込対象データとともに受け取った前記アドレッシング情報を解析し、その書込対象データを実際に書き込むべきキャッシュメモリ３１を有する２つの管理モジュール３０（ＣＭ−Ａ，ＣＭ−Ｂ）を指定する２つの転送先アドレスと各キャッシュメモリ３１での書込先アドレスとを生成するものである。
【００４１】
ここで、前述したように、図１に示す最小基本構成のストレージ制御装置３では、前記２つの転送先アドレスは、前記アドレッシング情報において指定されずＰＣＩブリッジモジュール４０内部で固定的に保持されているので、保持されている情報を読み出すことによって生成される。また、ＣＭ−Ａのキャッシュメモリ３１上の書込先アドレス、および、ＣＭ−Ｂのキャッシュメモリ３１上の書込先アドレスとしては、それぞれ、下記アドレス（ａ１）および（ａ２）が生成される。
【００４２】
（ａ１）  （ＣＭ−ＡのＰＡ−Ａ）＋（オフセット値）
（ａ２）  （ＣＭ−ＢのＰＡ−Ｂ）＋（オフセット値）
これにより、書込対象データは、マスタＣＭおよびミラーＣＭのキャッシュメモリ３１で異なるアドレスに格納されるが、ページアドレスは異なっていても各キャッシュページ内でのオフセット（書込位置位置）は同一になるように管理されている。
【００４３】
データ転送制御手段４２は、同一の書込対象データを、２つの転送先アドレスに対応する２つの管理モジュール３０（ＣＭ−Ａ，ＣＭ−Ｂ）へ転送させ、各管理モジュール３０のキャッシュメモリ３１において、アドレス生成手段４１によって生成された上記書込アドレス（ａ１），（ａ２）に書き込むように、ＰＣＩブリッジモジュール４０から各管理モジュール３０へのデータ転送を制御するものである。
【００４４】
以上の構成により、図１に示す最小基本構成のストレージ制御装置３では、ホストインターフェイスモジュール２０がホスト４からファイバチャネルインターフェイスバス５０を通じてＩ／Ｏ要求として書込対象データの書込要求を受け取ると（図１の矢印Ａ１１参照）、アドレス指定手段２１により２つの書込先を指定しうるアドレッシング情報（図２参照）が生成される。このアドレッシング情報が、書込対象データとともに、ホストインターフェイスモジュール２０からＰＣＩバス５２を通じてＰＣＩブリッジモジュール４０へ転送される（図１の矢印Ａ１２参照）。
【００４５】
ＰＣＩブリッジモジュール４０では、アドレッシング情報を伴う書込コマンドを認識すると、アドレス生成手段４１により、ホストインターフェイスモジュール２０からのアドレッシング情報に基づいて、２つの転送先アドレス（ＣＭ−Ａ，ＣＭ−Ｂを指定するアドレス）と各キャッシュメモリ３１での書込先アドレス（ａ１），（ａ２）とが生成される。そして、データ転送制御手段４２により、同一の書込対象データが、前記２つの転送先アドレスに対応する２つの管理モジュール３０へ転送され、各管理モジュール３０のキャッシュメモリ３１における書込先アドレス（ａ１），（ａ２）に書き込まれる（図１の矢印Ａ１３，Ａ１４参照）。
【００４６】
このようにして、図１の矢印Ａ１１〜Ａ１４で示すようなフォーキング書込（書込対象データの二重書込）が実行され、同一の書込対象データが、ＣＭ−Ａのキャッシュメモリ３１のマスタ領域におけるキャッシュページのＣＢＥと、このキャッシュページのＣＢＥに予め対応付けられた、ＣＭ−Ｂのキャッシュメモリ３１のミラー領域におけるキャッシュページのＣＢＥ（ペアＣＢＥ）とに書き込まれる。
【００４７】
さて、次に、図６〜図８を参照しながら、本発明の一実施形態としてのストレージ装置（ストレージ制御装置）の具体的な構成例について説明する。ここで、図６はそのストレージ装置１（ストレージ制御装置３）の具体的な構成例を示すブロック図、図７は図６に示すストレージ制御装置３におけるＰＣＩブリッジモジュール４０の具体的な要部構成例を示すブロック図、図８は、図６および図７に示すストレージ制御装置３において、ホストインターフェイスモジュール２０（アドレス指定手段２１）で生成されるアドレッシング情報のフォーマットと同アドレッシング情報からＰＣＩブリッジモジュール４０（アドレス生成手段４１）で生成されるアドレス情報のフォーマットとを示す図である。なお、図６，図７において、既述の符号と同一の符号は同一もしくはほぼ同一の部分を示しているので、その説明は省略する。
【００４８】
図６に示すストレージ装置１のストレージ制御装置３は、８組のホストインターフェイスモジュール２０，４組の管理モジュール３０，４組のディスクインターフェイスモジュール１０および２組のＰＣＩブリッジモジュール４０をそなえて構成され、４組のディスクインターフェイスモジュール１０には、ディスクインターフェイスバス５４を介して例えば８台のディスクユニット２が接続されている。
【００４９】
この図６に示すストレージ制御装置３における各ホストインターフェイスモジュール２０にも、上述と同様のアドレス指定手段２１（図６では図示略）としての機能がそなえられている。このアドレス指定手段２１も、ホストインターフェイスモジュール２０がホスト４０から受け取った書込対象データをＰＣＩブリッジモジュール４０経由で２つの管理モジュール３０におけるキャッシュメモリ３１に二重化して書き込むべく２つの書込先を指定しうるアドレッシング情報を、２つの管理モジュール３０のうちの一方の管理モジュール３０（ＣＭ−Ａ，マスタＣＭ）における管理手段３２から取得した情報に基づいて生成するものである。ただし、図６に示すホストインターフェイスモジュール２０（アドレス指定手段２１）では、図８の（Ａ）に示すように、上記アドレッシング情報において、ＰＣＩバス５２に対して指示するアドレス（ＰＣＩアドレス）として、以下のもの（１）〜（７）が指定される。
【００５０】
（１）ベースアドレス（図８中のＢＡ）
（２）ＣＭ−Ａのキャッシュメモリ３１での書込先ページアドレス（ＰＡ−Ａ；図８中のプライマリページ）
（３）ＣＭ−Ｂのキャッシュメモリ３１での書込先ページアドレス（ＰＡ−Ｂ；図８中のセカンダリページ）
（４）上記（２），（３）の書込先ページアドレスによって指定される各キャッシュページ内での、書込先頭位置を示すオフセットアドレス（オフセット値；図８中のオフセットアドレス）
（５）ＣＭ−ＡのＰＣＩバスを特定する番号（書込対象データを実際に書き込むべきキャッシュメモリ３１を有するマスタＣＭを特定しうる特定情報；図８中のＰ−ＰＣＩ）
（６）ＣＭ−ＢのＰＣＩバスを特定する番号（書込対象データを実際に書き込むべきキャッシュメモリ３１を有するミラーＣＭを特定しうる特定情報；図８中のＳ−ＰＣＩ）
（７）オペレーションを特定するために付与される任意の番号（図８中のＴＩＤ(Transaction ID)）
なお、図６に示すストレージ制御装置３では、管理モジュール３０が４組そなえられているので、４組の管理モジュール３０の中からミラー関係にある２組の管理モジュール３０を指定する必要があり、このため、アドレス指定手段２１によって上記（５），（６）の情報が指定されるようになっている。
【００５１】
また、上記（１）のベースアドレス（ＢＡ）は、図２に示したものと同様の機能を果たすものであるが、このＢＡを用いて、例えば、ベースアドレスが“１０”の時には、書込対象データをＣＭ−Ａフィールド（上記（５））で指定した管理モジュール３０へのみ転送しＣＭ−Ｂフィールド（上記（６））の指定値は無視してＣＭ−Ａのみに書込を行ない、また、ベースアドレスが “１１”の時には書込対象データをＣＭ−ＡおよびＣＭ−Ｂの両方に転送・書込するようにＰＣＩブリッジモジュール４０に指示されるものとする。従って、この転送指示（二重書込指示）手法では、ベースアドレスとして“１１”が指定された場合に、ＰＣＩブリッジモジュール４０におけるアドレス生成手段４１およびデータ転送制御手段４２としての機能により、本実施形態のフォーキング書込（二重書込）が実行されるようになっている。
【００５２】
上述のようなＢＡを用いた転送指示（二重書込指示）手法以外に、ＢＡを用いず、基本的に、常に、上記（５），（６）のフィールドで指定された２つの管理モジュール３０（ＣＭ−Ａ，ＣＭ−Ｂ）への転送・書込を行ない、ＣＭ−Ａ指定値とＣＭ−Ｂの指定値とが同じ場合にのみ１つの管理モジュール３０への転送・書込を行なう手法を採用してもよい。
【００５３】
図６に示すストレージ制御装置３におけるＰＣＩブリッジモジュール４０には、図７に示すように、バス制御機構４３，アドレス解析／変換機構４４，内部転送制御機構４５，バッファ４６，４７，転送指示機構４８およびバス制御機構４９がそなえられている。
ここで、バス制御機構４３および４９は、それぞれ、ＰＣＩバス５２，５３の制御（インターフェイス制御）を行なうものである。
【００５４】
アドレス解析／変換機構４４は、上述したアドレス生成手段４１と同様の機能を果たすもので、ホストインターフェイスモジュール２０から書込対象データとともに受け取った、図８の（Ａ）に示すアドレッシング情報を解析し、その書込対象データを実際に書き込むべきキャッシュメモリ３１を有する２つの管理モジュール３０（ＣＭ−Ａ，ＣＭ−Ｂ）を指定する２つの転送先アドレスと各キャッシュメモリ３１での書込先アドレスとを生成するものである。
【００５５】
２つの転送先アドレスは、それぞれ、図８の（Ａ）に示すアドレッシング情報から、上記（５），（６）のフィールドにおける２つのＰＣＩバス番号（Ｐ−ＰＣＩ，Ｓ−ＰＣＩ）を読み出すことによって生成される。また、ＣＭ−Ａのキャッシュメモリ３１上の書込先アドレス、および、ＣＭ−Ｂのキャッシュメモリ３１上の書込先アドレスとしては、図１に示したストレージ制御装置３と同様にして、図８の（Ａ）に示すアドレッシング情報から、それぞれ、図８の（Ｂ）および（Ｃ）に示すごとく、下記アドレス（ａ１）および（ａ２）が生成される。
【００５６】
（ａ１）  （ＣＭ−ＡのＰＡ−Ａ）＋（オフセット値）
（ａ２）  （ＣＭ−ＢのＰＡ−Ｂ）＋（オフセット値）
これにより、図６に示すストレージ装置１においても、書込対象データは、マスタＣＭおよびミラーＣＭのキャッシュメモリ３１で異なるアドレスに格納されるが、ページアドレスは異なっていても各キャッシュページ内でのオフセット（書込位置位置）は同一になるように管理されている。
【００５７】
バッファ４６は、ＰＣＩブリッジモジュール４０のホストインターフェイスモジュール２０側にそなえられ、ホストインターフェイスモジュール２０から受信した書込対象データを一時的に保持するためのものである。また、バッファ４７は、各管理モジュール３０に対応してそなえられ、管理モジュール３０へ転送すべき書込対象データを、ターゲット書込バッファ４６から受け取って一時的に保持するためのものである。
【００５８】
内部転送制御機構４５および転送指示機構４８は、上述したデータ転送制御手段４２と同様の機能を果たすもので、実際には、これらの機構４５，４８は一体化されて構成される。内部転送制御機構４５は、アドレス解析／変換機構４４の出力（上記（５），（６）のフィールドにおける２つのＰＣＩバス番号）に基づいて、ホストインターフェイスモジュール側バッファ４６から管理モジュール側バッファ４７へ書込対象データを転送するものであり、転送指示機構４８は、アドレス解析／変換機構４４の出力（上記アドレス（ａ１），（ａ２））に基づいて、管理モジュール側バス制御機構４９に対し、管理モジュール側バッファ４７の書込対象データを指定アドレスへ転送することを指示するものである。
【００５９】
以上の構成により、図６および図７に示すストレージ制御装置３では、ホストインターフェイスモジュール２０がホスト４からファイバチャネルインターフェイスバス５０を通じてＩ／Ｏ要求として書込対象データの書込要求を受け取ると、アドレス指定手段２１により２つの書込先を指定しうるアドレッシング情報（図８の（Ａ）参照）が生成される。このアドレッシング情報が、書込対象データとともに、ホストインターフェイスモジュール２０からＰＣＩバス５２を通じてＰＣＩブリッジモジュール４０へ転送される（図７の矢印Ａ２１参照）。その際、書込対象データは、ホストインターフェイスモジュール２０から、デュアルライト（Dual Write）のＰＣＩアドレスフォーマットで転送される。
【００６０】
ＰＣＩブリッジモジュール４０では、デュアルライト（Dual Write）を受信すると、バッファ制御機構４３を介し、１回のＰＣＩ書込に対して２つのバッファ４６に同時に同一の書込対象データを書き込む（図７の矢印Ａ２２参照）。また、ＰＣＩブリッジモジュール４０では、アドレッシング情報を伴う書込コマンドを認識すると、アドレス解析／変換機構４４により、ホストインターフェイスモジュール２０からのアドレッシング情報から、２つの転送先アドレス（ＣＭ−Ａ，ＣＭ−ＢのＰＣＩバスを特定するＰＣＩバス番号）が抽出・生成されるとともに、各キャッシュメモリ３１での書込先アドレス（ａ１），（ａ２）が生成される。
【００６１】
そして、内部転送制御機構４５により、２つのバッファ４６に保持されている書込対象データが、それぞれ、ＣＭ−Ａ，ＣＭ−ＢのＰＣＩバス番号に対応する２つのバッファ４７へ転送され（図７の矢印Ａ２３参照）、さらに、転送指示機構４８およびバス制御機構４９により、２つのバッファ４７に転送された書込対象データが、それぞれ、ＣＭ−ＡおよびＣＭ−Ｂへ転送されてキャッシュメモリ３１内の指定アドレス（ａ１），（ａ２）に同時に書き込まれる（図７の矢印Ａ２４参照）。
【００６２】
このようにして、図６や図７に示すストレージ制御装置３によっても、図７の矢印Ａ２１〜Ａ２４で示すようなフォーキング書込（書込対象データの二重書込）が実行され、同一の書込対象データが、ＣＭ−Ａのキャッシュメモリ３１のマスタ領域におけるキャッシュページのＣＢＥと、このキャッシュページのＣＢＥに予め対応付けられた、ＣＭ−Ｂのキャッシュメモリ３１のミラー領域におけるキャッシュページのＣＢＥ（ペアＣＢＥ）とに書き込まれる。
【００６３】
このように、本発明の一実施形態としてのストレージ制御装置３（ストレージ装置１）によれば、ホストインターフェイスモジュール２０でアドレス指定を１回だけ行ないホストインターフェイスモジュール２０からＰＣＩブリッジモジュール４０へのデータ転送を１回だけ行なえば、書込対象データが、標準バス（ＰＣＩバス）よりも転送速度の速いＰＣＩブリッジモジュール４０を通じて２つの管理モジュール３０におけるキャッシュメモリ３１に転送されて二重に書き込まれるので、キャッシュメモリ３１への二重書込（フォーキング書込）を高速に行なえ、処理性能を大幅に向上させることができる。
【００６４】
また、ホストインターフェイスモジュール２０のアドレス指定手段２１により、書込対象データの各キャッシュメモリ３１での書込先アドレスとして、各管理モジュール３０のキャッシュメモリ３１内におけるページアドレスと各ページ内でのオフセットアドレスとを指定することで、書込対象データを２つの管理モジュール３０におけるキャッシュメモリ３１上で別々のアドレスに転送して書き込むことができるので、キャッシュ管理の自由度が増し、キャッシュメモリ３１を効率よく使用することができる。
【００６５】
さらに、各管理モジュール３０の管理手段（キャッシュ管理ファームウェア）３２により、ミラーキャッシュをマスタＣＭ側から管理可能に構成されているので、ホストインターフェイスモジュール２０におけるアドレス指定手段２１は、ミラー関係にある２つの管理モジュール３０どうしで通信を行なうことなく、２つの管理モジュール３０のうちの一方における管理手段３２から取得した情報に基づいてアドレッシング情報を生成することができる。
【００６６】
また、各管理モジュール３０の管理手段（キャッシュ管理ファームウェア）３２によりミラーキャッシュをマスタＣＭ側から管理することできるので、ミラー関係にある２つの管理モジュール３０どうしで通信を行なうことなく、一方の管理モジュール３０（ＣＭ−Ａ）が他方の管理モジュール３０（ＣＭ−Ｂ）のミラー領域を効率よく利用することができる。例えば、一方の管理モジュール３０（ＣＭ−Ａ）においてキャッシュメモリ３１のマスタ領域の容量が不足している場合、管理手段３２による管理状況に基づいて、他方の管理モジュール３０（ＣＭ−Ｂ）におけるキャッシュメモリ３１内のミラー領域の空き領域を利用することができ、キャッシュメモリ３１のマスタ領域もミラー領域も効率よく（ほぼ１００％）利用することが可能になる。
【００６７】
さらに、ＰＣＩブリッジモジュール４０外側のインターフェイスとしては標準バス（ＰＣＩバス５１〜５３）が使用されるため、ホストインターフェイスモジュール２０や管理モジュール３０としては、既存のハードウェアをそのまま使用することができ、アドレスの指定手法（アドレス指定手段２１としての機能）を変更するだけ、本発明によるフォーキング書込（データの二重書込）を実現することができる。
【００６８】
〔２〕その他
なお、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、上述した実施形態では、本発明をストレージ制御装置に適用した場合について説明したが、本発明は、これに限定されるものではなく、ホスト等の外部装置から転送されてきたデータを２以上のキャッシュメモリに書き込む二重書込機能（多重書込機能）をそなえた装置であれば、上述した実施形態と同様に適用され、上述した実施形態と同様の作用効果を得ることができる。
【００６９】
また、上述した実施形態では、ホスト４とストレージ制御装置３との間のインターフェイスがファイバチャネルインターフェイスである場合について説明したが、本発明は、これに限定されるものではない。
さらに、上述したアドレス指定手段２１，管理手段３２，アドレス生成手段４１，データ転送制御手段４２，バス制御機構４３，アドレス解析／変換機構４４，内部転送制御機構４５，転送指示機構４８およびバス制御機構４９としての機能は、ホストインターフェイスモジュール２０，管理モジュール３０，ＰＣＩブリッジモジュール４０を構成するＣＰＵ（Central Processing Unit；図示略）が所定のプログラムを実行することによって実現される。このプログラムは、例えばフレキシブルディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ，ＤＶＤ等のコンピュータ読取可能な記録媒体に記録された形態で提供される。
【００７０】
〔３〕付記
（付記１）  外部装置とのインターフェイスを制御する第１モジュールと、
キャッシュメモリを有する複数の第２モジュールと、
インターフェイスバスを介して該第１モジュールおよび該第２モジュールをそれぞれ接続されこれらの該第１モジュールおよび該第２モジュールの相互間をデータ転送可能に接続するブリッジモジュールとをそなえ、
該第１モジュールが、
該外部装置から受け取った書込対象データを該ブリッジモジュール経由で該複数の第２モジュールのうちの２つの第２モジュールにおけるキャッシュメモリに書き込むべく２つの書込先を指定しうるアドレッシング情報を生成するアドレス指定手段をそなえて構成されるとともに、
該ブリッジモジュールが、
該第１モジュールから前記書込対象データとともに受け取った前記アドレッシング情報を解析し、前記書込対象データを実際に書き込むべきキャッシュメモリを有する該２つの第２モジュールを指定する２つの転送先アドレスと各キャッシュメモリでの書込先アドレスとを生成するアドレス生成手段と、
前記書込対象データを、前記２つの転送先アドレスに対応する該２つの第２モジュールへ転送した後に各第２モジュールのキャッシュメモリにおける前記書込先アドレスに書き込むように、該ブリッジモジュールから該第２モジュールへのデータ転送を制御するデータ転送制御手段とをそなえて構成されていることを特徴とする、二重書込機能を有する装置。
【００７１】
（付記２）  該アドレス指定手段が、前記アドレッシング情報において、前記書込対象データの各キャッシュメモリでの前記書込先アドレスとして、各第２モジュールの該キャッシュメモリ内におけるページアドレスと各ページ内でのオフセットアドレスとを指定することを特徴とする、付記１に記載の二重書込機能を有する装置。
（付記３）  該アドレス指定手段が、前記アドレッシング情報において、前記書込対象データの前記２つの転送先アドレスとして、前記書込対象データを実際に書き込むべきキャッシュメモリを有する該２つの第２モジュールを特定しうる特定情報を指定することを特徴とする、付記２に記載の二重書込機能を有する装置。
【００７２】
（付記４）  該インターフェイスバスがＰＣＩ（Peripheral Component Interconnect）バスであり、
前記特定情報として、該２つの第２モジュールのＰＣＩバスを特定する番号が指定されることを特徴とする、付記３に記載の二重書込機能を有する装置。
（付記５）  各第２モジュールが、当該第２モジュールとミラー関係にある第２モジュールに関する情報を管理するとともに、当該第２モジュールにおけるキャッシュメモリ内のマスタ領域アドレスと、当該第２モジュールとミラー関係にある第２モジュールにおけるキャッシュメモリ内のミラー領域アドレスとの対応関係を管理する管理手段を有しており、
該第１モジュールにおける該アドレス指定手段が、該２つの第２モジュールのうちの一方の第２モジュールにおける該管理手段から取得した情報に基づいて、前記アドレッシング情報を生成することを特徴とする、付記１〜付記４のいずれか一項に記載の二重書込機能を有する装置。
【００７３】
（付記６）  各第２モジュールが、該ブリッジモジュール経由で該第１モジュールへ読み出されるべき読出対象データをキャッシュメモリに一時的に保存する際に当該キャッシュメモリのマスタ領域の容量が不足している場合、該管理手段による管理状況に基づいて、当該第２モジュールとミラー関係にある第２モジュールにおけるキャッシュメモリ内のミラー領域に、前記読出対象データを保存させることを特徴とする、付記５に記載の二重書込機能を有する装置。
【００７４】
（付記７）  外部装置とのインターフェイスを制御する第１モジュールと、キャッシュメモリを有する複数の第２モジュールと、インターフェイスバスを介して該第１モジュールおよび該第２モジュールをそれぞれ接続されこれらの該第１モジュールおよび該第２モジュールの相互間をデータ転送可能に接続するブリッジモジュールとをそなえ、該第１モジュールが該外部装置から受け取った書込対象データを該ブリッジモジュール経由で該複数の第２モジュールのうちの２つの第２モジュールにおけるキャッシュメモリに書き込む二重書込機能を有する装置であって、
各第２モジュールが、当該第２モジュールとミラー関係にある第２モジュールに関する情報を管理するとともに、当該第２モジュールにおけるキャッシュメモリ内のマスタ領域アドレスと、当該第２モジュールとミラー関係にある第２モジュールにおけるキャッシュメモリ内のミラー領域アドレスとの対応関係を管理する管理手段を有していることを特徴とする、二重書込機能を有する装置。
【００７５】
（付記８）  各第２モジュールが、該ブリッジモジュール経由で該第１モジュールへ読み出されるべき読出対象データをキャッシュメモリに一時的に保存する際に当該キャッシュメモリのマスタ領域の容量が不足している場合、該管理手段による管理状況に基づいて、当該第２モジュールとミラー関係にある第２モジュールにおけるキャッシュメモリ内のミラー領域に、前記読出対象データを保存させることを特徴とする、付記７に記載の二重書込機能を有する装置。
【００７６】
（付記９）  ディスク装置とホストとの間にそなえられ該ホストの該ディスク装置に対するアクセスを制御するストレージ制御装置であって、
該ディスク装置とのインターフェイスを制御するディスクインターフェイスモジュールと、
該ホストとのインターフェイスを制御するホストインターフェイスモジュールと、
キャッシュメモリを有し本装置全体を統括的に管理する複数の管理モジュールと、
インターフェイスバスを介して該ディスクインターフェイスモジュール，該ホストインターフェイスモジュールおよび該管理モジュールをそれぞれ接続されこれらの該ディスクインターフェイスモジュール，該ホストインターフェイスモジュールおよび該管理モジュールの相互間をデータ転送可能に接続するブリッジモジュールとをそなえ、
該ホストインターフェイスモジュールが、
該ホストから受け取った書込対象データを該ブリッジモジュール経由で該複数の管理モジュールのうちの２つの管理モジュールにおけるキャッシュメモリに書き込むべく２つの書込先を指定しうるアドレッシング情報を生成するアドレス指定手段をそなえて構成されるとともに、
該ブリッジモジュールが、
該ホストインターフェイスモジュールから前記書込対象データとともに受け取った前記アドレッシング情報を解析し、前記書込対象データを実際に書き込むべきキャッシュメモリを有する該２つの管理モジュールを指定する２つの転送先アドレスと各キャッシュメモリでの書込先アドレスとを生成するアドレス生成手段と、
前記書込対象データを、前記２つの転送先アドレスに対応する該２つの管理モジュールへ転送した後に各管理モジュールのキャッシュメモリにおける前記書込先アドレスに書き込むように、該ブリッジモジュールから該管理モジュールへのデータ転送を制御するデータ転送制御手段とをそなえて構成されていることを特徴とする、ストレージ制御装置。
【００７７】
（付記１０）  該アドレス指定手段が、前記アドレッシング情報において、前記書込対象データの各キャッシュメモリでの前記書込先アドレスとして、各管理モジュールの該キャッシュメモリ内におけるページアドレスと各ページ内でのオフセットアドレスとを指定することを特徴とする、付記９に記載のストレージ制御装置。
（付記１１）  該アドレス指定手段が、前記アドレッシング情報において、前記書込対象データの前記２つの転送先アドレスとして、前記書込対象データを実際に書き込むべきキャッシュメモリを有する該２つの管理モジュールを特定しうる特定情報を指定することを特徴とする、付記１０に記載のストレージ制御装置。
【００７８】
（付記１２）  該インターフェイスバスがＰＣＩ（Peripheral Component Interconnect）バスであり、
前記特定情報として、該２つの管理モジュールのＰＣＩバスを特定する番号が指定されることを特徴とする、付記１１に記載のストレージ制御装置。
（付記１３）  各管理モジュールが、当該管理モジュールとミラー関係にある管理モジュールに関する情報を管理するとともに、当該管理モジュールにおけるキャッシュメモリ内のマスタ領域アドレスと、当該管理モジュールとミラー関係にある管理モジュールにおけるキャッシュメモリ内のミラー領域アドレスとの対応関係を管理する管理手段を有しており、
該ホストインターフェイスモジュールにおける該アドレス指定手段が、該２つの管理モジュールのうちの一方の管理モジュールにおける該管理手段から取得した情報に基づいて、前記アドレッシング情報を生成することを特徴とする、付記９〜付記１２のいずれか一項に記載のストレージ制御装置。
【００７９】
（付記１４）  各管理モジュールが、該ディスク装置から該ディスクインターフェイスモジュールおよび該ブリッジモジュール経由で読み出された読出対象データをキャッシュメモリに一時的に保存する際に当該キャッシュメモリのマスタ領域の容量が不足している場合、該管理手段による管理状況に基づいて、当該管理モジュールとミラー関係にある管理モジュールにおけるキャッシュメモリ内のミラー領域に、前記読出対象データを保存させることを特徴とする、付記１３に記載のストレージ制御装置。
【００８０】
（付記１５）  ディスク装置とホストとの間にそなえられ該ホストの該ディスク装置に対するアクセスを制御すべく、該ディスク装置とのインターフェイスを制御するディスクインターフェイスモジュールと、該ホストとのインターフェイスを制御するホストインターフェイスモジュールと、本装置全体を統括的に管理する管理モジュールと、インターフェイスバスを介して該ディスクインターフェイスモジュール，該ホストインターフェイスモジュールおよび該管理モジュールをそれぞれ接続されこれらの該ディスクインターフェイスモジュール，該ホストインターフェイスモジュールおよび該管理モジュールの相互間をデータ転送可能に接続するブリッジモジュールとをそなえるとともに、該ホストインターフェイスモジュールが該ホストから受け取った書込対象データを該ブリッジモジュール経由で該複数の管理モジュールのうちの２つの管理モジュールにおけるキャッシュメモリに書き込むストレージ制御装置であって、
各管理モジュールが、当該管理モジュールとミラー関係にある管理モジュールに関する情報を管理するとともに、当該管理モジュールにおけるキャッシュメモリ内のマスタ領域アドレスと、当該管理モジュールとミラー関係にある管理モジュールにおけるキャッシュメモリ内のミラー領域アドレスとの対応関係を管理する管理手段を有していることを特徴とする、ストレージ制御装置。
【００８１】
（付記１６）  各管理モジュールが、該ディスク装置から該ディスクインターフェイスモジュールおよび該ブリッジモジュール経由で読み出された読出対象データをキャッシュメモリに一時的に保存する際に当該キャッシュメモリのマスタ領域の容量が不足している場合、該管理手段による管理状況に基づいて、当該管理モジュールとミラー関係にある管理モジュールにおけるキャッシュメモリ内のミラー領域に、前記読出対象データを保存させることを特徴とする、付記１５に記載のストレージ制御装置。
【産業上の利用可能性】
【００８２】
以上のように、本発明によれば、ホストインターフェイスモジュールからブリッジモジュールへのデータ転送を１回だけ行なえば、書込対象データが、標準バスよりも転送速度の速いブリッジモジュールを通じて２つのキャッシュメモリに転送されて二重に書き込まれ、キャッシュメモリへの二重書込をより高速に行なえ、処理性能を大幅に向上させることができる。
【００８３】
従って、本発明は、例えばホストの物理デバイス（磁気ディスク装置等）に対するアクセスを制御するストレージ制御装置のごとき、データの二重書込機能を有する装置に用いて好適であり、その有用性は極めて高いものと考えられる。
【図面の簡単な説明】
【００８４】
【図１】本発明の一実施形態としてのストレージ装置（ストレージ制御装置）の最小基本構成を示すブロック図である。
【図２】図１に示すストレージ制御装置（ホストインターフェイスモジュール）において生成されるアドレッシング情報のフォーマットを示す図である。
【図３】本実施形態のキャッシュメモリの構成を示す図である。
【図４】本実施形態のキャッシュメモリにおけるマスタ領域（ローカル領域）とミラー領域との対応関係を示す図である。
【図５】本実施形態におけるキャッシュメモリの管理動作の一例を説明するための図である。
【図６】本発明の一実施形態としてのストレージ装置（ストレージ制御装置）の具体的な構成例を示すブロック図である。
【図７】図６に示すストレージ制御装置におけるブリッジモジュールの具体的な要部構成例を示すブロック図である。
【図８】図６および図７に示すストレージ制御装置において、ホストインターフェイスモジュールで生成されるアドレッシング情報のフォーマットと同アドレッシング情報からＰＣＩブリッジモジュールで生成されるアドレス情報のフォーマットとを示す図である。
【符号の説明】
【００８５】
１    ストレージ装置
２    ディスクユニット（ディスク装置，物理デバイス）
３    ストレージ制御装置
４    ホスト（外部装置）
１０    ディスクインターフェイスモジュール
２０    ホストインターフェイスモジュール（第１モジュール）
２１    アドレス指定手段
３０    管理モジュール（第２モジュール）
３１    キャッシュメモリ
３２    管理手段（キャッシュ管理ファームウェア）
４０    ＰＣＩブリッジモジュール（ブリッジモジュール）
４１    アドレス生成手段
４２    データ転送制御手段
４３    バス制御機構
４４    アドレス解析／変換機構（アドレス生成手段）
４５    内部転送制御機構（データ転送制御手段）
４６，４７    バッファ
４８    転送指示機構（データ転送制御手段）
４９    バス制御機構
５０    ファイバチャネルインターフェイスバス
５１，５２，５３    ＰＣＩバス（インターフェイスバス）
５４    ディスクインターフェイスバス
【図１】
2005070995.tif 000003
【図２】
2005070995.tif 000004
【図３】
2005070995.tif 000005
【図４】
2005070995.tif 000006
【図５】
2005070995.tif 000007
【図６】
2005070995.tif 000008
【図７】
2005070995.tif 000009
【図８】
2005070995.tif 000010