(57)【要約】【課題】一対のコントローラにより、ホストアクセスに応じて物理デイスク群を制御するストレージ制御装置において、キャッシュメモリへのデータライト時のミラーリング処理を軽減し、高速動作を可能とする。【解決手段】相手コントローラ（１、２）のキャッシュメモリ（１６、２６）のミラー領域（１６−２、２６−２）を割り当て、ミラー管理テーブル（１６０、２６０）を作成し、相手コントローラのキャッシュメモリのミラーページの獲得を、ミラー管理テーブルを参照して実行する。コントローラ間でのミラーページ獲得メッセージのやり取りが不要となり、コントローラ間のハード、特に、ＣＰＵの負荷を軽減して、ライトデータのミラーリングが可能となる。しかも、相手コントローラのプログラム動作を不要とでき、コントローラ自体の性能を向上できる。【選択図】図５
2004171437.tif 000002
【特許請求の範囲】
【請求項１】
依頼装置からのデータアクセス要求に応じて、ストレージ装置をアクセスするストレージ制御装置において、
第１のキャッシュメモリを有し、複数のストレージ装置の内、第１のストレージ装置を担当する第１のコントローラと、
第２のキャッシュメモリを有し、前記複数のストレージ装置の内、第２のストレージ装置を担当する第２のコントローラとを有し、
前記第１のコントローラは、前記第２のキャッシュメモリのミラー領域を管理する第１のミラー管理テーブルを有し、
前記第２のコントローラは、前記第１のキャッシュメモリのミラー領域を管理する第２のミラー管理テーブルを有し、
前記第１のコントローラが、前記依頼装置からデータ書込み要求を受けたことに応じて、前記第１のキャッシュメモリのリード／ライト領域のページを割り付けるとともに、前記第１のミラー管理テーブルを参照して、前記第２のキャッシュメモリのミラー領域の格納ページを獲得し、前記依頼装置からの書込みデータを、前記第１のキャッシュメモリのリード／ライト領域の割り付けられたページに書込み、且つ前記第２のキャッシュメモリのミラー領域の獲得ページにコピーする
ことを特徴とするストレージ制御装置。
【請求項２】
依頼装置からのデータアクセス要求に応じて、一対のコントローラのいずれかが、ストレージ装置をアクセスするストレージ制御方法において、
前記一対の一方のコントローラが、前記依頼装置からデータ書込み要求を受けたことに応じて、前記一方のコントローラに設けられた第１のキャッシュメモリのリード／ライト領域のページを割り付けるステップと、
前記一方のコントローラに設けられ、前記他方のコントローラの第２のキャッシュメモリのミラー領域を管理する第１のミラー管理テーブルを参照して、前記第２のキャッシュメモリのミラー領域の格納ページを獲得するステップと、
前記依頼装置からの書込みデータを、前記第１のキャッシュメモリのリード／ライト領域の割り付けられたページに書込むステップと、
前記書込み後に前記第２のキャッシュメモリのミラー領域の獲得ページにコピーするステップとを有する
ことを特徴とするストレージ制御方法。
【請求項３】
前記一対のコントローラは、前記第１及び第２のキャッシュメモリのサイズを相互に通知し、前記サイズに応じて、前記第１及び第２のキャッシュメモリのミラー領域を割り当て、前記第１及び第２のミラー管理テーブルを作成するステップを更に有する
ことを特徴とする請求項２のストレージ制御方法。
【請求項４】
前記一方のコントローラは、前記第１のキャッシュメモリのリード／ライト領域の割り付けられたページに書込まれたデータを、前記ストレージ装置にライトバックするステップと、
前記ライトバック完了により、前記第１のミラー管理テーブルの前記獲得ページを開放するステップを更に有する
ことを特徴とする請求項２のストレージ制御方法。
【請求項５】
前記一方のコントローラが、前記依頼装置から複数ページ分のデータ書込み要求を受けたことに応じて、前記コピー中に、前記第１のキャッシュメモリのリード／ライト領域の割り付けられた次ページに次ページのデータを書込むステップを更に有する
ことを特徴とする請求項２のストレージ制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、磁気デイスク等の物理デイスクを使用してデータを管理するストレージ制御装置及びその方法に関し、特に、コントローラを２重化したストレージ制御装置及びその方法に関する。
【０００２】
【従来の技術】
磁気デイスク、光磁気デイスク、光デイスク等の記憶媒体を利用したストレージ機器では、データ処理装置の要求で、記憶媒体を実アクセスする。データ処理装置が、大容量のデータを使用する場合には、複数のストレージ機器と制御装置とを備えたストレージ装置を利用する。
【０００３】
このようなストレージ装置では、保存データの信頼性や、装置の信頼性を向上するため、冗長構成を採用している。図１２は、従来技術の説明図である。
【０００４】
図１２に示すように、各々ホストに接続する一対のコントローラ１００、１１０に、複数のストレージ機器（デイスク装置）１５０−１〜１５０−ｎが接続されている。冗長構成のため、通常、デイスク装置１５０−１〜１５０−ｎは、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  （ｏｒ  Ｉｎｄｅｐｅｎｄｅｎｔ）  Ｄｉｓｋｓ）というデイスクの多重化構成を採用する。又、コントローラを２重化し、一対のコントローラ１００、１１０で構成する。
【０００５】
従って、通常は、両コントローラ１００、１１０で、デイスク装置１５０−１〜１５０−ｎを分担して制御するが、片方のコントローラ（例えば、１００）が故障しても、他方のコントローラ（例えば、１１０）が、デイスク装置１５０−１〜１５０−ｎを制御することができる。
【０００６】
又、ホストアクセスのレスポンスを向上するため、コントローラ１００、１１０内に、キャッシュメモリ１２０、１３０を設けている。このキャッシュメモリ１２０、１３０は、リード／ライト領域とミラー領域とを有し、リード／ライト領域には、自己が分担するデイスク装置のデータの一部と、ホストからのライトデータを格納する。
【０００７】
即ち、ホストからのリードアクセスに対し、対象データが、キャッシュメモリ１２０、１３０にステージングされていれば、実際に、デイスク装置をアクセスすることなく、キャッシュメモリのデータを読出し、転送する。又、ホストからのライトアクセスに対しては、キャッシュメモリ１２０、１３０にライトデータを書き込んで、書き込み完了とする。キャッシュメモリ１２０、１３０のライトデータは、処理の空き時間に、対象デイスク装置にライトバックされる。
【０００８】
一方、ミラー領域は、前述のように、コントローラの２重化のため、一方のコントローラ１００又は１１０が、自己のキャッシュメモリ１２０又は１３０に書き込んだライトデータを、他方のコントローラ１１０又は１００のキャッシュメモリ１３０又は１２０にコピーしておくためのものである。これにより、前述のように、一方のコントローラが故障しても、他方のコントローラが、ミラー領域に、一方のコントローラのライトバック前のライトデータを保持しているため、データの消失を防止できる。
【０００９】
従来、このライトデータのミラーリングは、次のように行われていた。ここでは、コントローラ１００にライトアクセスが到来した場合を説明するが、コントローラ１１０にライトアクセスが到来した場合も同様である。
【００１０】
コントローラ１００が、ホストからデータ書き込み要求を受けると（▲１▼）、キャッシュメモリ１２０の書き込みページの割り付けを行う（▲２▼）。次に、コントローラ１００は、コントローラ１１０に、キャッシュメモリ１３０のミラーページの獲得要求を送信する（▲３▼）。コントローラ１１０は、キャッシュメモリ１３０のミラーページの割り付けを行った後（▲４▼）、コントローラ１００にミラーページの獲得を応答する（▲５▼）。
【００１１】
次に、ホストからのデータを、キャッシュメモリ１２０の割り付けたページに書き込む（▲６▼）。キャッシュメモリ１２０の書き込まれたデータを、コントローラ１１０の割り付けられたミラーページにコピーする（▲７▼）。コピー完了後、コントローラ１００は、ホストにデータ書き込み完了報告を通知する（▲８▼）。
【００１２】
このようにして、ライトデータのミラーリングを行っていた（例えば、特許文献１参照）。
【００１３】
【特許文献１】
特開２００２−１３２４５３号公報
【００１４】
【発明が解決しようとする課題】
従来技術では、ミラーページの獲得のため、コントローラ１００、１２０が、獲得依頼、獲得応答のメッセージのやりとりが必要であり、コントローラ間のハードの負荷が大きい。このため、ライトデータのミラーリング時の性能向上が困難である。
【００１５】
又、ミラーページ獲得のため、相手コントローラ（図１２では、コントローラ１１０）のプログラム動作が必要となり、自コントローラの処理にもかかわらず、相手コントローラの負荷が生じ、２つのコントローラとしての性能向上が困難である。
【００１６】
従って、本発明の目的は、ライトデータのミラーリングを、コントローラ間の負荷を軽減して実行するためのストレージ制御装置及び制御方法を提供するにある。
【００１７】
又、本発明の他の目的は、相手コントローラの負荷を軽減して、ライトデータのミラーリングを実行するためのストレージ制御装置及びその制御方法を提供するにある。
【００１８】
更に、本発明の他の目的は、ライトデータのミラーリングを高速に実行するためのストレージ制御装置及びその制御方法を提供するにある。
【００１９】
【課題を解決するための手段】
この目的の達成のため、本発明のストレージ制御装置は、第１のキャッシュメモリを有し、複数のストレージ装置の内、第１のストレージ装置を担当する第１のコントローラと、第２のキャッシュメモリを有し、前記複数のストレージ装置の内、第２のストレージ装置を担当する第２のコントローラとを有し、前記第１のコントローラは、前記第２のキャッシュメモリのミラー領域を管理する第１のミラー管理テーブルを有し、前記第２のコントローラは、前記第１のキャッシュメモリのミラー領域を管理する第２のミラー管理テーブルを有し、前記第１のコントローラが、前記依頼装置からデータ書込み要求を受けたことに応じて、前記第１のキャッシュメモリのリード／ライト領域のページを割り付けるとともに、前記第１のミラー管理テーブルを参照して、前記第２のキャッシュメモリのミラー領域の格納ページを獲得し、前記依頼装置からの書込みデータを、前記第１のキャッシュメモリのリード／ライト領域の割り付けられたページに書込み、且つ前記第２のキャッシュメモリのミラー領域の獲得ページにコピーする。
【００２０】
又、本発明のストレージ制御方法は、依頼装置からのデータアクセス要求に応じて、一対のコントローラのいずれかが、ストレージ装置をアクセスするストレージ制御方法において、前記一対の一方のコントローラが、前記依頼装置からデータ書込み要求を受けたことに応じて、前記一方のコントローラに設けられた第１のキャッシュメモリのリード／ライト領域のページを割り付けるステップと、前記一方のコントローラに設けられ、前記他方のコントローラの第２のキャッシュメモリのミラー領域を管理する第１のミラー管理テーブルを参照して、前記第２のキャッシュメモリのミラー領域の格納ページを獲得するステップと、前記依頼装置からの書込みデータを、前記第１のキャッシュメモリのリード／ライト領域の割り付けられたページに書込むステップと、前記書込み後に前記第２のキャッシュメモリのミラー領域の獲得ページにコピーするステップとを有する。
【００２１】
本発明では、相手コントローラのキャッシュメモリのミラー領域のミラー管理テーブルを自己のコントローラが保有し、ミラーページ獲得を行うことにより、コントローラ間でのミラーページ獲得メッセージのやり取りが不要となり、コントローラ間のハード、特に、ＣＰＵの負荷を軽減して、ライトデータのミラーリングが可能となる。しかも、相手コントローラのプログラム動作を不要とでき、コントローラ自体の性能を向上できる。
【００２２】
又、本発明のストレージ制御装置は、好ましくは、前記第１及び前記第２のコントローラは、前記第１及び第２のキャッシュメモリのサイズを相互に通知し、前記サイズに応じて、前記第１及び第２のキャッシュメモリのミラー領域を割り当て、前記第１及び第２のミラー管理テーブルを作成する。
【００２３】
又、本発明のストレージ制御方法は、好ましくは、前記一対のコントローラは、前記第１及び第２のキャッシュメモリのサイズを相互に通知し、前記サイズに応じて、前記第１及び第２のキャッシュメモリのミラー領域を割り当て、前記第１及び第２のミラー管理テーブルを作成するステップを更に有する。
【００２４】
この本発明の態様では、相手コントローラのキャッシュメモリのミラー領域を割り当て、ミラー管理テーブルを作成することにより、相手コントローラのキャッシュメモリのサイズに応じたミラー領域を設定でき、コントローラ間でのミラーページ獲得メッセージのやり取りが不要となる。
【００２５】
又、本発明のストレージ制御装置では、好ましくは、前記第１のコントローラは、前記第１のキャッシュメモリのリード／ライト領域の割り付けられたページに書込まれたデータを、前記ストレージ装置にライトバックした後、前記第１のミラー管理テーブルの前記獲得ページを開放する。
【００２６】
又、本発明のストレージ制御方法は、好ましくは、前記一方のコントローラは、前記第１のキャッシュメモリのリード／ライト領域の割り付けられたページに書込まれたデータを、前記ストレージ装置にライトバックするステップと、前記ライトバック完了により、前記第１のミラー管理テーブルの前記獲得ページを開放するステップを更に有する。
【００２７】
この本発明の態様では、ライトバック時に、ミラー領域を管理する管理テーブルで、ミラーページを開放するので、他方のコントローラの手間がなく、他方のコントローラのミラー開放が可能となる。
【００２８】
又、本発明のストレージ制御装置は、好ましくは、前記第１のコントローラがデグレードした時に、前記第２のコントローラが、前記第１のコントローラが担当するストレージ装置も担当し、且つ前記第２のキャッシュメモリのミラー領域のコピーページを前記リード／ライト領域にリンクする。
【００２９】
又、本発明のストレージ制御方法は、好ましくは、前記一方のコントローラがデグレードした時に、前記他方のコントローラが、前記一方のコントローラが担当するストレージ装置も担当し、且つ前記第２のキャッシュメモリのミラー領域のコピーページを第２のキャッシュメモリのリード／ライト領域にリンクするステップとを更に有する。
【００３０】
これにより、一方のコントローラがデグレードした時に、他方のコントローラは、ミラーデータを引き継ぎ、代行して処理することができる。
【００３１】
又、本発明のストレージ制御装置及び方法は、好ましくは、前記第２のコントローラは、前記第２のキャッシュメモリのミラー領域へのリード／ライト処理を禁止する。これにより、デグレードしたコントローラが、立ち上がった時に、ミラー領域を確保できる。
【００３２】
又、本発明のストレージ制御装置又は方法は、好ましくは、前記第１のコントローラが、前記依頼装置から複数ページ分のデータ書込み要求を受けたことに応じて、前記第１のキャッシュメモリのリード／ライト領域のページを複数割り付けるとともに、前記第１のミラー管理テーブルを参照して、前記第２のキャッシュメモリのミラー領域の複数の格納ページを獲得し、前記依頼装置からの書込みデータを、前記第１のキャッシュメモリのリード／ライト領域の割り付けられたページに書込み、且つ前記第２のキャッシュメモリのミラー領域の獲得ページにコピーし、前記コピー中に、前記第１のキャッシュメモリのリード／ライト領域の割り付けられた次ページに次ページのデータを書込む。
【００３３】
これにより、連続ページの書込み処理を、ミラーリングしながら、高速化できる。
【００３４】
又、本発明のストレージ制御装置又は方法は、好ましくは、前記第１及び第２のコントローラの各々は、前記キャッシュメモリ及び前記ストレージ装置を制御する制御ユニットと、前記コントローラ間での通信を行うためのノードチャネル回路とを有する。
【００３５】
又、本発明のストレージ制御装置又は方法は、好ましくは、前記制御ユニットは、前記ノードチャネル回路に、前記第１のキャッシュメモリのリード／ライト領域の割り付けられたページのデータを、前記第２のキャッシュメモリのミラー領域の獲得ページにＤＭＡ転送することを指示し、前記コピーを行う。
【００３６】
このため、制御ユニットのコピー負荷が軽減でき、ミラーリング処理を、最小の負荷で実行できる。
【００３７】
【発明の実施の形態】
以下、本発明の実施の形態を、ストレージシステム、ライト処理、ライトバック処理、デグレード処理、他の実施の形態の順で説明する。
【００３８】
［ストレージシステム］
図１は、本発明の一実施の形態のストレージシステムの構成図であり、磁気デイスクを使用したＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋ）システムを示す。図１に示すように、ストレージシステムは、一対の磁気デイスクコントローラ（以下、コントローラという）１、２と、この一対のコントローラ１、２にラインｌ１，ｌ２で接続された多数の磁気デイスク装置５０−１〜５０−ｍ、５２−１〜５２−ｎとからなる。
【００３９】
コントローラ１、２は、直接又はネットワーク機器を介し、ホストやサーバーに接続され、ホストやサーバーの大量のデータを、ＲＡＩＤデイスクドライブ（磁気デイスク装置）へ高速かつ、ランダムに読み書きが出来るシステムである。一対のコントローラ１、２は、同一の構成を有し、ＣＡ（Ｃｈａｎｎｅｌ  Ａｄａｐｔｅｒ）１１、１２、２１、２２と、ＣＭ（Ｃｅｎｔｒａｌｉｚｅｄ  Ｍｏｄｕｌｅ）１０、１５〜１９、２０、２５〜２９と、ＤＡ（Ｄｅｖｉｃｅ  Ａｄａｐｔｅｒ）１３、１４、２３、２４のファンクションモジュールによって構成されている。
【００４０】
ＣＡ（Ｃｈａｎｎｅｌ  Ａｄａｐｔｅｒ）１１、１２、２１、２２は、ホストを結ぶホスト・インタフェースの制御をつかさどる回路であり、例えば、ファイバーチャネル回路（ＦＣ）とＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）回路等で構成される。ＤＡ（Ｄｅｖｉｃｅ  Ａｄａｐｔｅｒ）１３、１４、２３、２４は、デイスクデバイス５０−１〜５０−ｍ、５２−１〜５２−ｍを制御するため、デイスクデバイスとコマンド、データのやり取りを行う回路であり、例えば、ファイバーチャネル回路（ＦＣ）とＤＭＡ回路等で構成される。
【００４１】
ＣＭ（Ｃｅｎｔｒａｌｉｚｅｄ  Ｍｏｄｕｌｅ）は、ＣＰＵ１０，２０と、ブリッジ回路１７、２７と、メモリー（ＲＡＭ）１５、２５と、フラッシュメモリ１９，２９と、ＩＯブリッジ回路１８，２８とを有する。メモリー１５，２５は、バッテリーでバックアップされ、その一部が、キャッシュメモリ１６，２６として使用される。
ＣＰＵ１０，２０は、ブリッジ回路１７を介し、メモリー１５，２５、フラッシュメモリ１９，２９、ＩＯブリッジ回路１８，２８に接続される。このメモリー１５，２５は、ＣＰＵ１０，２０のワーク領域に使用され、フラッシュメモリ１９，２９は、ＣＰＵ１０，２０が実行するプログラムを格納する。このプログラムとして、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ），ファイルアクセスプログラム（リード／ライトプログラム）、ＲＡＩＤ管理プログラム等を格納する。ＣＰＵ１０，２０は、このプログラムを実行し、リード／ライト処理、ＲＡＩＤ管理処理等を実行する。
【００４２】
ＰＣＩ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ  Ｉｎｔｅｒｆａｃｅ）バス３１は、ＣＡ１１，１２，２１，２２と、ＤＡ１３，１４，２３，２４とを接続するとともに、ＩＯブリッジ回路１８を介し、ＣＰＵ１０，２０、メモリー１５，２５を接続する。更に、ＰＣＩバス３１には、ＰＣＩ−ノードリンクブリッジ回路３０，４０が接続される。コントローラ１のＰＣＩ−ノードリンクブリッジ回路３０は、コントローラ２のＰＣＩ−ノードリンクブリッジ回路４０と接続され、コントローラ１，２間のコマンド、データの交信を行う。
【００４３】
コントローラ１は、例えば、デイスク装置５０−１〜５０−ｍを担当し、コントローラ２は、例えば、デイスク装置５２−１〜５２−ｎを担当する。図１では、デイスク装置５０−１〜５０−ｍと、５２−１〜５２−ｎとが、ＲＡＩＤ５の構成を有する。同様に、ＲＡＩＤ１，ＲＡＩＤ０＋１の構成も可能である。
【００４４】
キャッシュメモリ１６，２６は、各々、担当するデイスク装置のデータの一部を格納し、ホストからのライトデータを格納する。ＣＰＵ１０，２０は、ＣＡ１１，１２，２１，２２を介しホストからのリード要求を受けて、キャッシュメモリ１６，２６を参照し、物理デイスクへのアクセスが必要かを判定し、必要であれば、デイスクアクセス要求をＤＡ１３，１４，２３，２４に要求する。又、ＣＰＵ１０，２０は、ホストからのライト要求を受けて、ライトデータをキャッシュメモリ１６，２６に書込み、且つ内部でスケジュールされるライトバック等をＤＡ１３，１４，２３，２４に要求する。
【００４５】
［ライト処理］
次に、キャッシュメモリのミラー領域割り付け処理及びライト処理を、図２乃至図６で説明する。先ず、キャッシュメモリのミラー領域割り付け処理を、図２乃至図４で説明する。図２は、本発明の一実施の形態のキャッシュメモリのミラー領域割り付け処理フロー図、図３は、図２のミラー領域割り付けの説明図、図４は、図３のミラー管理テーブルの説明図である。
【００４６】
図３に示すように、コントローラ１のキャッシュメモリ１６は、コントローラ１のリード／ライト領域１６−１と、コントローラ２のミラー領域１６−２と、ミラー管理テーブル１６０とからなる。又、コントローラ２のキャッシュメモリ２６は、コントローラ２のリード／ライト領域２６−１と、コントローラ１のミラー領域２６−２と、ミラー管理テーブル２６０とからなる。
【００４７】
ミラー管理テーブル１６０は、キャッシュメモリ２６のミラー領域２６−２の管理のための情報を記憶し、ミラー管理テーブル２６０は、キャッシュメモリ１６のミラー領域１６−２の管理のための情報を記憶する。図４に示すように、ミラー管理テーブル１６０，２６０は、ミラー領域として割り当てられた各ページ１〜ｘと、各ページの次の空きページへのリンク情報とからなるページ管理テーブルＭＭＴと、未使用のリンク先頭空きページを示す未使用ミラーポインタＭＰとを有する。
【００４８】
図３を参照して、図２により、ミラー領域割り付け処理を説明する。
【００４９】
（Ｓ１０）装置の立上げ時に、ミラー領域割り付け処理を実行する。
【００５０】
（Ｓ１２）先ず、コントローラ１又は２のＣＰＵ１０又は２０は、自己のキャッシュメモリ１６又は２６のサイズ（ページ数）を、ＰＣＩ−ノードブリッジ回路３０，４０を介し、相手のコントローラ２又は１のＣＰＵ２０又は１０に通知する。
【００５１】
（Ｓ１４）通知されたコントローラ２又は１のＣＰＵ２０又は１０は、相手のコントローラ１又は２のキャッシュメモリ１６又は２６のキャッシュサイズの３割分を、ミラー領域１６−１又は２６−１を割り当て、このミラーサイズのミラー管理テーブル１６０又は２６０を作成する。
【００５２】
例えば、キャッシュメモリ１６の容量が、１００ページとし、キャッシュメモリ２６の容量が、１１０ページとすると、キャッシュメモリ１６の３３ページ分が、ミラー領域１６−２に割り当てられ、キャッシュメモリ２６の３０ページ分が、ミラー領域２６−２に割り当てられる。
【００５３】
従って、ＣＰＵ１０は、３３ページのミラー管理テーブル１６０を、ＣＰＵ２０は、３０ページのミラー管理テーブル２６０を作成する。この３割分は、例示であり、２割等他の値を使用できる。
【００５４】
このように、ミラー領域を固定にすることにより、コントローラ間の獲得要求を無くすことができる。但し、担当する物理デイスクの容量等により、各コントローラのキャッシュサイズが異なる場合があるため、相互にキャッシュサイズを通知し、その固定割合をミラー領域に割り当てる。このため、キャッシュサイズの相違にも対応できる。又、キャッシュサイズが同一であれば、キャッシュサイズの相互通知は、不要である。
【００５５】
次に、図５を参照して、図６によりライト処理を説明する。尚、図５では、コントローラ１が、ホストからデータ書込み要求が受けた場合を説明するが、コントローラ２が、ホストからデータ書込み要求を受けた場合も同様である。
【００５６】
（Ｓ２０）コントローラ１のＣＰＵ１０は、ＣＡ１１，１２を介しホストからデータ書込み要求を受ける（▲１▼）。
【００５７】
（Ｓ２２）ＣＰＵ１０は、キャッシュメモリ１６のリード／ライト領域１６−１の書込みページを割り付ける（▲２▼）。
【００５８】
（Ｓ２４）ＣＰＵ１０は、ミラー管理テーブル１６０のミラーページ獲得要求を発する（▲３▼）。
【００５９】
（Ｓ２６）ＣＰＵ１０は、ミラー管理テーブル１６０のミラーページを獲得する。即ち、図４の未使用ミラーポインタＭＰに示す先頭空きページをミラーページとして、ＣＰＵ１０に通知する。そして、未使用ミラーポインタＭＰを、その通知したミラーページの次ページに更新し、ページ管理テーブルＭＭＴのリンク情報を更新する（▲４▼）。
【００６０】
（Ｓ２８）データ書込み可能状態となり、コントローラ１のＣＰＵ１０は、ＣＡ１１，１２をするホストから書込みデータを、ステップＳ２２で割り付けた書込みページに書込む（▲５▼）。即ち、ＣＰＵ１０は、ＣＡ１１，１２に、リード／ライト領域１６−１の書込みページへの書込みデータのＤＭＡ転送を指示する。
【００６１】
（Ｓ３０）ＣＰＵ１０は、書込みページに書込みデータを書き込んだ後、書込みページのデータを、コントローラ２のキャッシュメモリ２６のミラー領域２６−２のミラーページへコピーする（▲６▼）。即ち、ＣＰＵ１０は、ＰＣＩ−ノードブリッジ回路３０へ、書込みページのデータを、コントローラ２のキャッシュメモリ２６のミラー領域２６−２のミラーページへＤＭＡ転送を指示する。これにより、キャッシュメモリ１６の書込みページのデータが、ＰＣＩ−ノードブリッジ回路３０，４０を介し、キャッシュメモリ２６のミラーページにコピーされる。
【００６２】
（Ｓ３２）コピー完了後、ＣＰＵ１０は、ＣＡ１１，１２を介しホストに、データ書込完了報告を通知する（▲７▼）。
【００６３】
このようにして、相手コントローラのキャッシュメモリのミラー領域を割り当て、ミラー管理テーブルを作成することにより、コントローラ間でのミラーページ獲得メッセージのやり取りが不要となり、コントローラ間のハード、特に、ＣＰＵの負荷を軽減して、ライトデータのミラーリングが可能となる。しかも、相手コントローラのプログラム動作を不要とでき、コントローラ自体の性能を向上できる。
【００６４】
［ライトバック処理］
次に、キャッシュメモリに書込まれたライトデータの物理デイスクへの書込みであるライトバック処理を説明する。図７は、本発明の一実施の形態のライトバック処理フロー図、図８は、ライトバック処理の説明図である。図８を参照して、図７により、ライトバック処理を説明する。尚、図８では、コントローラ１のキャッシュメモリ１６のライトバックを説明するが、コントローラ２のキャッシュメモリ２６のライトバックも同様である。
【００６５】
（Ｓ４０）ライトバックは、ホストアクセス処理のバックグラウンドで所定のスケジュールで実行する。ＣＰＵ１０は、キャッシュメモリ１６のリード／ライト領域１６−１の対象ページ（ローカルページという）のライトバックを、ＤＡ１３，１４に指示する。ＤＡ１３，１４は、これにより、ローカルページのデータを読み出し、対応する物理デイスク５０−１〜５０−ｍに、書込む（▲１▼）。
【００６６】
（Ｓ４２）書込み完了後、ＤＡ１３，１４は、ライトバック完了を、ＣＰＵ１０に通知する。
【００６７】
（Ｓ４４）ＣＰＵ１０は、このローカルページに対応するキャッシュメモリ２６のミラーページのＣＢＥ（Ｃａｃｈｅ  Ｂｌｏｃｋ  Ｅｌｅｍｅｎｔ：キャッシュブロック構成）に、初期化データ（例えば、ａｌｌ「０」）をコピーする（▲２▼）。これにより、ミラーページの属性はフリーとなる。尚、ミラーページでは、そのＣＢＥは、ミラーページ構成であることが書き込まれている。
【００６８】
（Ｓ４６）この初期化コピー後、ＣＰＵ１０は、ミラー管理テーブル１６０の該当ミラーページの開放要求を発し（▲３▼）、ミラーページを開放する（▲４▼）。即ち、図４の未使用ミラーポインタＭＰに示す先頭空きページをその開放するミラーページに更新し、ページ管理テーブルＭＭＴのその開放ミラーページのリンク情報を、今まで先頭であった空きページに更新する。
【００６９】
（Ｓ４８）その後、当該ローカルページをミラー状態から切り離す。即ち、ローカルページのＣＢＥのミラー情報を初期化する。これにより、ライトバック処理を終了する。
【００７０】
このように、ライトバックにより、ミラー管理テーブル１６０からミラーページを開放する。又、ミラーページのＣＢＥを操作するため、簡単に相手コントローラのキャッシュメモリのミラーページの状態を開放状態に変更できる。
【００７１】
［デグレート処理］
次に、片方のコントローラがデグレード（障害発生）した時の処理を、図９により説明する。ここでは、コントローラ１がデグレードした例で説明するが、コントローラ２がデグレードした場合も同様である。
【００７２】
コントローラ１がデグレードした場合に、コントローラ２は、自己の担当する物理デイスク５２−１〜５２−ｎの他に、コントローラ１が担当していた物理デイスク５０−１〜５０−ｍも担当する。従って、コントローラ２は、キャッシュメモリ２６のミラー領域２６−２（コントローラ１のミラーデータ）を、全て引き継がなければならない。
【００７３】
このため、図９に示すように、コントローラ２のＣＰＵ２０は、キャッシュメモリ２６のミラー領域２６−２の全てのページのＣＢＥをチエックし、ミラーページ属性のミラーページを、ハッシュテーブルにより、ローカルリンク（リード／ライト領域２６−１のリンク）に組み込む。
【００７４】
これにより、コントローラ２は、コントローラ１が担当していた物理デイスク５０−１〜５０−ｍへのライトバックを含むリード／ライトアクセスを実行できる。
【００７５】
又、ミラー領域２６−２は、新規のリード／ライトの使用を禁止する。これにより、デグレードしたコントローラ１が、立ち上がった時に、コントローラ１のミラー領域２６−２を確保できる。
【００７６】
［他の実施の形態］
次に、本発明のライト処理の他の実施の形態を、図１１を参照して、図１０により説明する。尚、図１１では、コントローラ１が、ホストからデータ書込み要求が受けた場合を説明するが、コントローラ２が、ホストからデータ書込み要求を受けた場合も同様である。
【００７７】
（Ｓ５０）コントローラ１のＣＰＵ１０は、ＣＡ１１，１２を介しホストから複数ページのデータ書込み要求を受ける（▲１▼）。
【００７８】
（Ｓ５２）ＣＰＵ１０は、キャッシュメモリ１６のリード／ライト領域１６−１に、複数の書込みページを割り付ける（▲２▼）。
【００７９】
（Ｓ５４）ＣＰＵ１０は、ミラー管理テーブル１６０の複数のミラーページ獲得要求を発する（▲３▼）。
【００８０】
（Ｓ５６）ＣＰＵ１０は、ミラー管理テーブル１６０の複数のミラーページを獲得する。即ち、図４の未使用ミラーポインタＭＰに示す先頭空きページをミラーページの先頭として、ＣＰＵ１０に通知する。そして、未使用ミラーポインタＭＰを、その通知したミラーページから複数ページ分、次ページに更新し、ページ管理テーブルＭＭＴのリンク情報を更新する（▲４▼）。
【００８１】
（Ｓ５８）データ書込み可能状態となり、コントローラ１のＣＰＵ１０は、ＣＡ１１，１２をするホストから１ページ目の書込みデータを、ステップＳ５２で割り付けた先頭書込みページに書込む（▲５▼）。即ち、ＣＰＵ１０は、ＣＡ１１，１２に、リード／ライト領域１６−１の先頭書込みページへの書込みデータのＤＭＡ転送を指示する。
【００８２】
（Ｓ６０）ＣＰＵ１０は、書込みページに書込みデータのＤＭＡ転送を指示し、書込み終了後、書込みページのデータを、コントローラ２のキャッシュメモリ２６のミラー領域２６−２のミラーページへコピー開始する（▲６▼）。即ち、ＣＰＵ１０は、ＰＣＩ−ノードブリッジ回路３０へ、書込みページのデータを、コントローラ２のキャッシュメモリ２６のミラー領域２６−２のミラーページへＤＭＡ転送を指示する。これにより、キャッシュメモリ１６の書込みページのデータが、ＰＣＩ−ノードブリッジ回路３０，４０を介し、キャッシュメモリ２６のミラーページにコピーされる。
【００８３】
（Ｓ６２）ＣＰＵ１０は、コピー開始ページが最終ページかを判定する。
【００８４】
（Ｓ６４）コピー開始ページが最終ページであるときは、コピー完了後、ＣＰＵ１０は、ＣＡ１１，１２を介しホストに、データ書込完了報告を通知する（▲７▼）。
【００８５】
（Ｓ６６）一方、コピー開始ページが最終ページでない時は、コントローラ１のＣＰＵ１０は、ＣＡ１１，１２をするホストから次ページ目の書込みデータを、ステップＳ５２で割り付けた次書込みページに書込む。即ち、ＣＰＵ１０は、ＣＡ１１，１２に、リード／ライト領域１６−１の次書込みページへの書込みデータのＤＭＡ転送を指示する。書込みページへの書込みと、コピーページのコピーが終了すると、ステップＳ６０に戻る。
【００８６】
このようにして、相手コントローラのキャッシュメモリのミラー領域を割り当て、ミラー管理テーブルを作成することにより、コントローラ間でのミラーページ獲得メッセージのやり取りが不要となり、コントローラ間のハード、特に、ＣＰＵの負荷を軽減して、ライトデータのミラーリングが可能となる。しかも、相手コントローラのプログラム動作を不要とでき、コントローラ自体の性能を向上できる。
【００８７】
更に、複数のページにまたがるデータ書込み動作の場合に、データ書込み動作とデータコピー動作が、ハードウェアのデータ転送動作を伴い、ファーム動作に比較して遅いから、データコピー動作中に、次のキャッシュメモリのローカルページへのデータ書込みを動作させる。これにより、ミラーリングを伴うライト動作を高速化できる。
【００８８】
前述の実施の形態では、図１のような冗長構成のＲＡＩＤで説明したが、これ以外の冗長構成のストレージシステムに適用できる。又、物理デイスクは、磁気デイスク、光デイスク、光磁気デイスク、各種のストレージデバイスを適用できる。
【００８９】
以上、本発明を実施の形態により説明したが、本発明の趣旨の範囲内において、本発明は、種々の変形が可能であり、本発明の範囲からこれらを排除するものではない。
【００９０】
（付記１）依頼装置からのデータアクセス要求に応じて、ストレージ装置をアクセスするストレージ制御装置において、第１のキャッシュメモリを有し、複数のストレージ装置の内、第１のストレージ装置を担当する第１のコントローラと、第２のキャッシュメモリを有し、前記複数のストレージ装置の内、第２のストレージ装置を担当する第２のコントローラとを有し、前記第１のコントローラは、前記第２のキャッシュメモリのミラー領域を管理する第１のミラー管理テーブルを有し、前記第２のコントローラは、前記第１のキャッシュメモリのミラー領域を管理する第２のミラー管理テーブルを有し、前記第１のコントローラが、前記依頼装置からデータ書込み要求を受けたことに応じて、前記第１のキャッシュメモリのリード／ライト領域のページを割り付けるとともに、前記第１のミラー管理テーブルを参照して、前記第２のキャッシュメモリのミラー領域の格納ページを獲得し、前記依頼装置からの書込みデータを、前記第１のキャッシュメモリのリード／ライト領域の割り付けられたページに書込み、且つ前記第２のキャッシュメモリのミラー領域の獲得ページにコピーすることを特徴とするストレージ制御装置。
【００９１】
（付記２）前記第１及び前記第２のコントローラは、前記第１及び第２のキャッシュメモリのサイズを相互に通知し、前記サイズに応じて、前記第１及び第２のキャッシュメモリのミラー領域を割り当て、前記第１及び第２のミラー管理テーブルを作成することを特徴とする付記１のストレージ制御装置。
【００９２】
（付記３）前記第１のコントローラは、前記第１のキャッシュメモリのリード／ライト領域の割り付けられたページに書込まれたデータを、前記ストレージ装置にライトバックした後、前記第１のミラー管理テーブルの前記獲得ページを開放することを特徴とする付記１のストレージ制御装置。
【００９３】
（付記４）前記第１のコントローラがデグレードした時に、前記第２のコントローラが、前記第１のコントローラが担当するストレージ装置も担当し、且つ前記第２のキャッシュメモリのミラー領域のコピーページを前記リード／ライト領域にリンクすることを特徴とする付記１のストレージ制御装置。
【００９４】
（付記５）前記第２のコントローラは、前記第２のキャッシュメモリのミラー領域へのリード／ライト処理を禁止することを特徴とする付記４のストレージ制御装置。
【００９５】
（付記６）前記第１のコントローラが、前記依頼装置から複数ページ分のデータ書込み要求を受けたことに応じて、前記第１のキャッシュメモリのリード／ライト領域のページを複数割り付けるとともに、前記第１のミラー管理テーブルを参照して、前記第２のキャッシュメモリのミラー領域の複数の格納ページを獲得し、前記依頼装置からの書込みデータを、前記第１のキャッシュメモリのリード／ライト領域の割り付けられたページに書込み、且つ前記第２のキャッシュメモリのミラー領域の獲得ページにコピーし、前記コピー中に、前記第１のキャッシュメモリのリード／ライト領域の割り付けられた次ページに次ページのデータを書込むことを特徴とする付記１のストレージ制御装置。
【００９６】
（付記７）前記第１及び第２のコントローラの各々は、前記キャッシュメモリ及び前記ストレージ装置を制御する制御ユニットと、前記コントローラ間での通信を行うためのノードチャネル回路とを有することを特徴とする付記１のストレージ制御装置。
【００９７】
（付記８）前記制御ユニットは、前記ノードチャネル回路に、前記第１のキャッシュメモリのリード／ライト領域の割り付けられたページのデータを、前記第２のキャッシュメモリのミラー領域の獲得ページにＤＭＡ転送することを指示し、前記コピーを行うことを特徴とする付記７のストレージ制御装置。
【００９８】
（付記９）依頼装置からのデータアクセス要求に応じて、一対のコントローラのいずれかが、ストレージ装置をアクセスするストレージ制御方法において、前記一対の一方のコントローラが、前記依頼装置からデータ書込み要求を受けたことに応じて、前記一方のコントローラに設けられた第１のキャッシュメモリのリード／ライト領域のページを割り付けるステップと、前記一方のコントローラに設けられ、前記他方のコントローラの第２のキャッシュメモリのミラー領域を管理する第１のミラー管理テーブルを参照して、前記第２のキャッシュメモリのミラー領域の格納ページを獲得するステップと、前記依頼装置からの書込みデータを、前記第１のキャッシュメモリのリード／ライト領域の割り付けられたページに書込むステップと、前記書込み後に前記第２のキャッシュメモリのミラー領域の獲得ページにコピーするステップとを有することを特徴とするストレージ制御方法。
【００９９】
（付記１０）前記一対のコントローラは、前記第１及び第２のキャッシュメモリのサイズを相互に通知し、前記サイズに応じて、前記第１及び第２のキャッシュメモリのミラー領域を割り当て、前記第１及び第２のミラー管理テーブルを作成するステップを更に有することを特徴とする付記９のストレージ制御方法。
【０１００】
（付記１１）前記一方のコントローラは、前記第１のキャッシュメモリのリード／ライト領域の割り付けられたページに書込まれたデータを、前記ストレージ装置にライトバックするステップと、前記ライトバック完了により、前記第１のミラー管理テーブルの前記獲得ページを開放するステップを更に有することを特徴とする付記９のストレージ制御方法。
【０１０１】
（付記１２）前記一方のコントローラがデグレードした時に、前記他方のコントローラが、前記一方のコントローラが担当するストレージ装置も担当し、且つ前記第２のキャッシュメモリのミラー領域のコピーページを第２のキャッシュメモリのリード／ライト領域にリンクするステップとを更に有することを特徴とする付記９のストレージ制御方法。
【０１０２】
（付記１３）前記他方のコントローラは、前記第２のキャッシュメモリのミラー領域へのリード／ライト処理を禁止するステップを更に有することを特徴とする付記１２のストレージ制御方法。
【０１０３】
（付記１４）前記一方のコントローラが、前記依頼装置から複数ページ分のデータ書込み要求を受けたことに応じて、前記コピー中に、前記第１のキャッシュメモリのリード／ライト領域の割り付けられた次ページに次ページのデータを書込むステップを更に有することを特徴とする付記９のストレージ制御方法。
【０１０４】
（付記１５）前記一対のコントローラの各々は、前記キャッシュメモリ及び前記ストレージ装置を制御する制御ユニットと、前記コントローラ間での通信を行うためのノードチャネル回路とを有することを特徴とする付記９のストレージ制御方法。
【０１０５】
（付記１６）前記コピーステップは、前記制御ユニットが、前記ノードチャネル回路に、前記第１のキャッシュメモリのリード／ライト領域の割り付けられたページのデータを、前記第２のキャッシュメモリのミラー領域の獲得ページにＤＭＡ転送することを指示し、前記コピーを行うステップからなることを特徴とする付記１５のストレージ制御方法。
【０１０６】
【発明の効果】
このように、本発明では、相手コントローラのキャッシュメモリのミラー領域を割り当て、ミラー管理テーブルを作成することにより、コントローラ間でのミラーページ獲得メッセージのやり取りが不要となり、コントローラ間のハード、特に、ＣＰＵの負荷を軽減して、ライトデータのミラーリングが可能となる。しかも、相手コントローラのプログラム動作を不要とでき、コントローラ自体の性能を向上できる。
【図面の簡単な説明】
【図１】本発明の一実施の形態のストレージシステムの構成図である。
【図２】本発明の一実施の形態のミラー領域割り当て処理フロー図である。
【図３】図２の本発明の一実施の形態のキャッシュメモリの説明図である。
【図４】図３のミラー管理テーブルの構成図である。
【図５】本発明の一実施の形態のデータ書き込み動作の説明図である。
【図６】図５のデータ書込み処理フロー図である。
【図７】図１のライトバック処理フロー図である。
【図８】図７のライトバック処理の動作説明図である。
【図９】図１のデグレード処理の説明図である。
【図１０】本発明の他の実施の形態のデータ書込み処理フロー図である。
【図１１】図１０のデータ書込み処理の動作説明図である。
【図１２】従来技術のデータ書込み処理の説明図である。
【符号の説明】
１、２  ストレージコントローラ
１１、１２、２１、２３  チャネルアダプター
１３、１４、２３、２４  デバイスアダプター
１０、２０  ＣＰＵ
１５，２５  メモリ
１６、２６  キャッシュメモリ
１６−１、２６−１  リード／ライト領域
１６−２、２６−２  ミラー領域
３０、４０  ＰＣＩ−ノードブリッジ回路
３１、４１  ＰＣＩバス
５０−１〜５０−ｍ、５２−１〜５２−ｎ  物理デイスク装置（ストレージ装置）
１６０、２６０  ミラー管理テーブル
【図１】
2004171437.tif 000003
【図２】
2004171437.tif 000004
【図３】
2004171437.tif 000005
【図４】
2004171437.tif 000006
【図５】
2004171437.tif 000007
【図６】
2004171437.tif 000008
【図７】
2004171437.tif 000009
【図８】
2004171437.tif 000010
【図９】
2004171437.tif 000011
【図１０】
2004171437.tif 000012
【図１１】
2004171437.tif 000013
【図１２】
2004171437.tif 000014