(57)【特許請求の範囲】
【請求項１】
信号入力ポートと信号出力ポートを備えたセレクタを有し、上記信号入力ポートには接続要求先のアドレスを含む信号が入力されるディスクアレイの制御方法であって、
上記信号入力ポートに入力された上記信号が接続を要求しているポート番号を調べるステップと、
上記接続を要求されているポート番号を格納し、該ポート番号を接続要求のキューとして管理するステップと、
上記接続を要求されているポートが、空いているか、占有されているかを調べ、空いているポート数を調べるステップと、
上記接続を要求されているポートが占有されている場合には、該接続要求に対してポートの割り当ては行わずに、上記キューの１番目にある該接続要求を（空いているポートの数＋１）番目にずらすステップと、
上記接続を要求されているポートが空いている場合には、該ポートを該接続要求に割り当てるステップとを有することを特徴とするディスクアレイ制御方法。
【請求項２】
上記ステップに加えてさらに、
上記接続を要求されているポート番号と、該要求をした入力信号の到着順序をキュー管理テーブルに登録するステップを有することを特徴とする請求項１に記載のディスクアレイ制御方法。
【請求項３】
上記ステップに加えてさらに、
上記入力信号が２重アクセスか否かを調べるステップを有することを特徴とする請求項１乃至２のいずれかに記載のディスクアレイ制御方法。
【請求項４】
上記接続が要求されているポートが、空いているか、占有されているかを調べ、空いているポート数を調べるステップにかえて、
上記接続を要求されている２つのポートが空いているか、占有されているかを調べ、空いているポート数を調べるステップを有することを特徴とする請求項３記載のディスクアレイ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを分割して複数の磁気ディスク装置に格納するディスクアレイ装置の制御装置に関する。
【背景技術】
【０００２】
コンピュータの主記憶のＩ／Ｏ性能に比べて、２次記憶装置として用いられる磁気ディスク装置を使ったサブシステムのＩ／Ｏ性能は３〜４桁程度小さく、従来からこの差を縮めること、すなわちサブシステムのＩ／Ｏ性能を向上する努力が各所でなされている。
サブシステムのＩ／Ｏ性能を向上させるための１つの方法として、複数の磁気ディスク装置でサブシステムを構成し、データを分割して複数の磁気ディスク装置に格納する手段、いわゆるディスクアレイと呼ばれるシステムが知られている。
【０００３】
例えば、１つの従来技術（以下、従来技術１という）では、図２に示すようにホストコンピュータ１０１とディスク制御装置２間のデータ転送を実行する複数のチャネルＩ／Ｆ部１１１と、磁気ディスク装置１２０とディスク制御装置間２のデータ転送を実行する複数のディスクＩ／Ｆ部１１２と、磁気ディスク装置１２０のデータを一時的に格納するキャッシュメモリ部１１５と、磁気ディスク１２０のデータ及びディスク制御装置２に関する制御情報を格納する共有メモリ部１１４を備え、キャッシュメモリ部１１５および共有メモリ部１１４は全チャネルＩ／Ｆ部１１１及びディスクＩ／Ｆ部１１２からアクセス可能な構成となっている。
この従来技術１では、チャネルＩ／Ｆ部１１１及びディスクＩ／Ｆ部１１２と共有メモリ部１１４、またチャネルＩ／Ｆ部１１１及びディスクＩ／Ｆ部１１２とキャッシュメモリ部１１５間は１：１に接続されている。
【０００４】
また、他の従来技術（以下、従来技術２という）では、図３に示すようにホストコンピュータ１０１とディスク制御装置３間のデータ転送を実行する複数のチャネルＩ／Ｆ部１１１と、磁気ディスク装置１２０とディスク制御装置３間のデータ転送を実行する複数のディスクＩ／Ｆ部１１２と、磁気ディスク装置１２０のデータを一時的に格納するキャッシュメモリ部１１５と、磁気ディスク１２０のデータ及びディスク制御装置２に関する制御情報を格納する共有メモリ部１１４を備える。
そして、各チャネルＩ／Ｆ部１１１及びディスクＩ／Ｆ部１１２と共有メモリ部１１４間は共有バス１３０で接続され、各チャネルＩ／Ｆ１１１部及びディスクＩ／Ｆ部１１２とキャッシュメモリ部１１５間は共有バス１３０により接続されている。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ディスクアレイシステムに対する高性能化要求に対して、これまでは、ディスクアレイ制御装置の大規模化や構成要素の高速化、例えばプロセッサ数やキャッシュ容量の増大、高性能プロセッサの適用、内部バス幅の拡大やバス転送能力の向上などで対応してきた。
しかしながら、前記従来技術２では、内部バスの転送能力がシステムの大規模化および性能向上に追従するのが困難になりつつある。
【０００６】
そこで内部バス性能を向上させて高いメモリアクセス性能を得るために、前記従来技術１のように、プロセッサとメモリ間を１：１に接続する方法が考えられる。
この方法によれば、メモリに接続したアクセスパス数に比例して内部バス性能が増加する。
しかしながら、搭載するプロセッサ数の増大に比例して、共有メモリおよびキャッシュメモリに接続するアクセスパス数も増加する。
そのため、内部バス性能を最大限に引き出すために、各プロセッサ−メモリ間のアクセスを効率的に制御する必要がある。
【０００７】
本発明の目的は上述の課題を解消し、プロセッサ−メモリ間のアクセスパスを効率的に使用し、メモリアクセススループット、特にキャッシュメモリへのアクセススループットの高いディスクアレイ制御装置を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明は、
ホストコンピュータとの１つ以上のインターフェース部と、複数の磁気ディスク装置との１つ以上のインターフェース部と、磁気ディスク装置のデータ及びディスクアレイ制御装置に関する制御情報を格納する物理的に独立した１つ以上の共有メモリ部を有し、前記ホストコンピュータとのインターフェース部、または前記複数の磁気ディスク装置とのインターフェース部からは、セレクタを介して前記共有メモリ部にアクセス可能であり、前記ホストコンピュータとのインターフェース部、または前記複数の磁気ディスク装置とのインターフェース部と前記セレクタ間と、前記セレクタと前記共有メモリ部間はアクセスパスにより接続されているディスクアレイ制御装置であって、
前記セレクタは、前記ホストコンピュータとのインターフェース部、または前記複数の磁気ディスク装置とのインターフェース部からの複数の入力ポートと、
前記共有メモリ部への複数の出力ポートを相互に接続する手段と、
前記複数の入力ポートから出力ポートへの接続要求を前記接続要求が到着した順に格納する手段と、複数の前記接続要求間の調停を行い、各出力ポートに前記入力ポートからの接続要求を割り当てる調停手段を有しており、
前記調停手段は、前記到着順に格納された接続要求の中の先頭の要求が、現在空いている出力ポートへの要求であれば、該要求へ出力ポートを割り当て、前記到着順に格納された接続要求の中の先頭の要求が、現在使用中の出力ポートへの要求であれば、２番目の要求を調べ、２番目の接続要求が、現在空いている出力ポートへの要求であれば、該要求へ出力ポートを割り当て、２番目の接続要求が、現在使用中の出力ポートへの要求であれば、３番目の要求を調べ、それ以降、多くとも現在空いている出力ポートの数に等しい回数だけ、上記出力ポートへの接続要求の調停（割り当て）を繰り返すようにしている。
【０００９】
また、前記共有メモリ部は各々物理的に独立した前記共有メモリ部間で二重化されており、前記セレクタから前記二重化された共有メモリ部両方への同時アクセスが発生するようにしている。
【００１０】
また、前記共有メモリ部が、磁気ディスク装置のデータを一時的に格納するキャッシュメモリ部と、前記キャッシュメモリ部及び前記ディスクアレイ制御装置に関する制御情報を格納する共有メモリ部に物理的に分割されており、
前記キャッシュメモリ部に繋がるセレクタと、前記共有メモリ部に繋がるセレクタが物理的に独立しており、
前記ホストコンピュータとのインターフェース部、及び前記複数の磁気ディスク装置とのインターフェース部から、前記キャッシュメモリ部、または前記共有メモリ部へのアクセスパスが物理的に独立しており、
少なくとも前記キャッシュメモリ部に繋がるセレクタに前記調停手段を備えるようにしている。
【００１１】
また、前記共有メモリ部は各々物理的に独立した前記共有メモリ部間で二重化されており、前記キャッシュメモリ部は各々物理的に独立した前記キャッシュメモリ部間で二重化されており、少なくと前記キャッシュメモリに繋がるセレクタから前記二重化されたキャッシュメモリ部両方への同時アクセスが発生し、少なくとも前記キャッシュメモリに繋がるセレクタに前記調停手段を備えるようにしている。
【００１２】
また、前記ホストコンピュータとのインターフェース部、または前記複数の磁気ディスク装置とのインターフェース部から、前記共有メモリ部、または前記キャッシュメモリ部へのアクセスの際に、最初にアドレスとコマンドを連続して送出し、前記共有メモリ部、または前記キャッシュメモリ部までのアクセスパスが確立した後に、データを送出するようにしている。
【発明の効果】
【００１３】
本発明によれば、ホストコンピュータとのインターフェース部、または複数の磁気ディスク装置とのインタフェース部と共有メモリ部の間にあるセレクタ部において、ホストコンピュータとのインターフェース部、または複数の磁気ディスク装置とのインタフェース部から共有メモリ部へのアクセス要求を、共有メモリ部へのアクセスパスへ効率よく振り分けることが可能となる。
それによって、ディスクアレイ制御装置のデータ転送のスループットを向上することができる。
【発明を実施するための最良の形態】
【００１４】
本発明の実施例について、以下詳細に説明する。
《実施例１》
図１に、本発明の一実施例を示す。
ディスクアレイ制御装置１は、チャネルＩ／Ｆ部１１１、ディスクＩ／Ｆ部１１２、セレクタ部１１３、共有メモリ部１１４と、アクセスパス０ １３５、アクセスパス１ １３６から構成される。
【００１５】
図１３に示すように、チャネルＩ／Ｆ部１１１は、ホストコンピュータとの１つのＩ／Ｆ（ホストＩ／Ｆ）５１と、１つのマイクロプロセッサ５０と、１つの共有メモリアクセス回路５２と、共有メモリ部１１４への１つのアクセスパスＩ／Ｆから構成される。
データ書き込み時は、ホストＩ／Ｆ５１は、ホストコンピュータ１０１から送られてきたデータをパケットに分割して共有メモリアクセス回路５２へ送出する。共有メモリアクセス回路５２は、ホストＩ／Ｆ５１から送られてくる複数のパケットを１つのアクセスパスを使用して共有メモリ部１１４へ送出する。
データ読み出し時は、共有メモリアクセス回路５２は、共有メモリ部１１４から送られてきた複数のパケットをホストＩ／Ｆ５１へ送出する。ホストＩ／Ｆ５１は、共有メモリアクセス回路５２から送られてきた複数のパケットを１つのデータにまとめ、ホストコンピュータ１０１へ送出する。
マイクロプロセッサ５０は、ホストＩ／Ｆ５１及び共有メモリアクセス回路５２でのデータの送受信を制御する。
ディスクＩ／Ｆ部１１２は、複数の磁気ディスク装置１２０との１つのＩ／Ｆ（ドライブＩ／Ｆ）、１つのマイクロプロセッサ、共有メモリ部１１４への１つのアクセス回路と、共有メモリ部１１４への１つのアクセスパスＩ／Ｆから構成されている。図１３に示すホストＩ／Ｆ５１をドライブＩ／Ｆで置き換えた構成となる。データの書き込みおよび読み出し時には、チャネルＩ／Ｆ部１１１の説明で述べた処理と少なくとも同様の処理が行われる。
ここで、上記に示した個数は一実施例に過ぎず、上記に限定するものではない。
【００１６】
共有メモリ部１１４は、磁気ディスク装置１２０へ記録するデータや、そのデータの管理情報及びシステム情報などの管理情報を格納する。
セレクタ部１１３には、２つのチャネルＩ／Ｆ部１１１、２つのディスクＩ／Ｆ部１１２からそれぞれ１本ずつ、計４本のアクセスパス０ １３５が接続されている。
また、セレクタ部１１３には、２つの共有メモリ部１１４へのアクセスパス１ １３６が１本ずつ、計２本接続されている。
これら１つのセレクタ部１１３とそれに繋がる２つのチャネルＩ／Ｆ部１１１及び２つのディスクＩ／Ｆ部１１２で１つのグループを形成し、セレクタグループ１５０と呼ぶ。
本実施例では、ディスクアレイ制御装置１が２つのセレクタグループ１５０を有する。
チャネルＩ／Ｆ部及びディスクＩ／Ｆ部とセレクタ部間のアクセスパスと、セレクタ部と共有メモリ部間のアクセスパスの間には上記のようなパス数の関係があるため、セレクタ部１１３ではチャネルＩ／Ｆ部１１１及びディスクＩ／Ｆ部１１２からの４本のアクセスパス０：１３５からの要求の内、共有メモリ部１１４へのアクセスパス１：１３６の数に相当する２個だけを選択して実行する機能を持つ。
ここで、上記個数は一実施例に過ぎず、個数を上記に限定するものではない。
【００１７】
１つのセレクタ部１１３から共有メモリ部１１４へ接続されるアクセスパスの数を、チャネルＩ／Ｆ部１１１及びディスクＩ／Ｆ部１１２から１つのセレクタ部１１３に接続されるアクセスパスの数より少なくし、チャネルＩ／Ｆ部１１１とディスクＩ／Ｆ部１１２の合計数よりもセレクタ部１１３の数が少なくなるように上記個数を設定すると、共有メモリ部１１４それぞれへ接続されるアクセスパス数を削減することができる。
共有メモリ部のＬＳＩピンネック及びパッケージのコネクタネックという問題が生じた場合、上記のようにすることで、ＬＳＩのピンネック及びパッケージのコネクタネックを解消することができる。
【００１８】
次に、セレクタ部１１３内部の構成について述べる。
図４は、セレクタ部１１３内の構成を示している。
セレクタ部１１３は、チャネルＩ／Ｆ部１１１、またはディスクＩ／Ｆ部１１２とのＩ／Ｆポート２１０と、共有メモリ部１１４とのＩ／Ｆポート２１１と、両者間を互いに接続するセレクタ２０６と、Ｉ／Ｆポート２１０及び２１１で入出力を行う際のデータのエラーチェック部２０１と、チャネルＩ／Ｆ部１１１、またはディスクＩ／Ｆ部１１２から送出されたアドレス、コマンド、及びデータをバッファリングするバッファ２０２と、チャネルＩ／Ｆ部１１１、またはディスクＩ／Ｆ部１１２から送出されたアドレス及びコマンドを解析するアドレス・コマンド（ａｄｒ、ｃｍｄ）解析部２０３と、解析結果を共有メモリ部１１４とのＩ／Ｆポート２１１への接続要求として、要求の到着順に管理するキュー管理部２０４と、キュー管理部内に登録された接続要求に基づいてアービトレーションを行い、共有メモリとのＩ／Ｆポート２１１への接続権を決定するアービトレーション部２０５を有する。
【００１９】
共有メモリ部のＬＳＩのピンネック及びパッケージのコネクタネックが生じた場合には、前述のように、チャネルＩ／Ｆ部１１１、またはディスクＩ／Ｆ部１１２とのＩ／Ｆポート２１０の数よりも、共有メモリ部１１４とのＩ／Ｆポート２１１の数を少なくすることで、それらのネックを解消できる。
本実施例では、チャネルＩ／Ｆ部１１１、またはディスクＩ／Ｆ部１１２とのＩ／Ｆポート２１０の数を４つ、共有メモリ部１１４とのＩ／Ｆポート２１１の数を２つとした。
【００２０】
図１２は、アドレス・コマンド（ａｄｒ、ｃｍｄ）解析部２０３、キュー管理部２０４、及びアービトレーション部２０５の詳細構成について示している。
アドレス・コマンド（ａｄｒ、ｃｍｄ）解析部２０３は、チャネルＩ／Ｆ部１１１、またはディスクＩ／Ｆ部１１２とのＩ／Ｆポート２１０の数に相当する４つのバッファ２２０を有し、バッファ内に各Ｉ／Ｆポート２１０からのアドレス（ａｄｒ）及びコマンド（ｃｍｄ）を格納する。
アドレスは長さが４バイトで最初の１バイトに出力ポート番号（ｐｏｒｔ Ｎｏ．）が示されている。
コマンドは長さが４バイトで最初の１バイトにアクセスの種類（読み出し：ＲＤ、書き込み：ＷＲ、２重読み出し：２Ｒ、２重書き込み：２Ｗ）が示されている。
ここで、共有メモリ部１１４が２重化されている場合、２重読み出し及び２重書き込みを行う場合がある。
このような２重アクセス時には、２つのポートを同時に使用するため、両方のポートの使用権を獲得する必要がある。
【００２１】
ｐｏｒｔ Ｎｏ．抽出部２２１では、アドレスから要求ポート番号を取り出す。
本実施例では、ｐｏｒｔ０に“００”、ｐｏｒｔ１に“１１”を割り当てた。
ｃｍｄ種類抽出部２２２では、コマンドからアクセスの種類を取り出す。
本実施例では、ＲＤに“００”、ＷＲに“０１”、２Ｒに“１０”、２Ｗに“１１”を割り当てた。
使用ポート決定部２２３では、アクセスの種類が２重アクセスでない場合ｐｏｒｔ Ｎｏ．をそのまま出力し、２重アクセスの場合それを示す“０１”を出力する。
キュー管理部２０４では、アドレス・コマンド（ａｄｒ、ｃｍｄ）解析部２０３から出力されたｐｏｒｔ Ｎｏ．を到着順に管理テーブル２２４に登録する。
【００２２】
アービトレーション部２０５では、管理テーブル２２４の先頭から要求ｐｏｒｔ Ｎｏ．を１つ取り出し、バッファ２２７に格納する。
そして、バッファ２２６に格納された使用中のｐｏｒｔ Ｎｏ．とバッファ２２７内の要求ｐｏｒｔ Ｎｏ．を比較器２２８で比較する。
ｐｏｒｔ Ｎｏ．が異なる場合、その番号をセレクタ切り替え信号ＳＥＬ０、ＳＥＬ１としてセレクタ２０６へ出力し、キュー管理部２０４内の順番入替え部２２５へキューの順番を１つ進めるように指示する。
ｐｏｒｔ Ｎｏ．が等しい場合、順番入替え部２２５へキューの順番を入れ替えるように指示する。
順番の入れ替え方法については、図６の調停のフローの説明で述べる。
ここで、アドレス、コマンドの長さ、アドレスまたはコマンド内のｐｏｒｔ Ｎｏ．またはｃｍｄ種類がそれぞれ示されている場所、ｐｏｒｔ Ｎｏ．またはｃｍｄ種類へのビットの割り当て方は一実施例に過ぎず、上記に限定するものではない。
また、共有メモリ部１１４が２重化されていない場合、２重アクセスは生じないため、ｃｍｄ種類抽出部２２２及び使用ｐｏｒｔ決定部２２３は必要なくなり、ｐｏｒｔ Ｎｏ．抽出部２２１の出力をキュー管理部２０４へ直接入力すればよい。
【００２３】
次に、セレクタ部１１３での処理の手順について述べる。
図５は、チャネルＩ／Ｆ部１１１、またはディスクＩ／Ｆ部１１２とのＩ／Ｆポート２１０のうちの１つにおける処理フローを示している。
まず、ステップ３０１で、チャネルＩ／Ｆ部１１１、またはディスクＩ／Ｆ部１１２内の共有メモリアクセス回路からアクセス要求（ＲＥＱ  ＯＮ）が来るまで待機する。
アクセス要求が来たら、ステップ３０２でアドレス（ａｄｒ）及びコマンド（ｃｍｄ）を解析する。
ステップ３０３でアドレス（ａｄｒ）、コマンド（ｃｍｄ）にエラーがないかどうかチェックし、エラーがあった場合ステップ３１５でエラー処理を行い、ステップ３０１のアクセス要求待機状態に戻る。
エラーがなかった場合、ステップ３０４で、共有メモリ部１１４とのＩ／Ｆポート２１１への接続要求として、キューに登録する。
そして、そのキューの内容に基づいてアービトレーションを行う。
ステップ３０５で、要求した共有メモリ部１１４とのＩ／Ｆポート２１１が獲得できるまで待機する。
獲得できたら、ステップ３０６でセレクタ２０６を切り替えて要求を出したＩ／Ｆポート２１０と獲得したＩ／Ｆポート２１１を接続する。
【００２４】
次に、ステップ３０７で共有メモリ（ＳＭ）部１１４へアクセス要求（ＲＥＱ  ＯＮ）を出し、アドレス（ａｄｒ）とコマンド（ｃｍｄ）を送出する。
ステップ３０８で、共有メモリ部１１４からアクセス承認（ＡＣＫ  ＯＮ）が返ってくるまで待機する。
アクセス承認（ＡＣＫ  ＯＮ）が返ってきたら、ステップ３０９でチャネルＩ／Ｆ部１１１、またはディスクＩ／Ｆ部１１２内の共有メモリアクセス回路へアクセス承認（ＡＣＫ  ＯＮ）を返す。
ステップ３１０で、データの書き込み時は共有メモリアクセス回路から送られてきたデータを共有メモリ部１１４へ送信する。
また、データの読み出し時は共有メモリ部１１４から送られてきたデータを共有メモリアクセス回路へ送信する。
【００２５】
その際、ステップ３１１でエラーのチェックを行う。
エラーを発見した場合、ステップ３１５でエラー処理を行い、ステップ３０１のアクセス要求待機状態へ戻る。
エラーが無い場合、ステップ３１２でステータス（Ｓｔａｔｕｓ）が届くのをチェックし、ステータス（Ｓｔａｔｕｓ）が届くまでデータを送信する。
ステータス（Ｓｔａｔｕｓ）が届いたら、ステップ３１３で共有メモリ部へ、アクセス承認（ＡＣＫ  ＯＮ）を取り下げるよう指示し、ステップ３０１のアクセス要求待機状態に戻る。
【００２６】
次に、ステップ３０４でのアービトレーション（調停）の方法について述べる。
図６は、調停のフローを示している。
ステップ４０１で、空いている出力ポートがあるかどうか調べ、空きポートができるまで待つ。
ステップ４０１で空きポートがあれば、ステップ４０２でキュー管理部２０４に到着順に格納された接続要求の中の先頭の要求を調べる。
ステップ４０３で現在空いている出力ポートへの要求であれば、ステップ４０４でその要求へ出力ポートを割り当てる。
ステップ４０３で、キュー管理部２０４に到着順に格納された接続要求の中の先頭の要求が、現在使用中の出力ポートへの要求であれば、ステップ４０６でキュー先頭の要求を（空きポート数＋１）番目にし、ステップ４０１へ戻る。
ステップ４０４で出力ポートを割り当てたら、ステップ４０５でキューの順番を１つ進め、ステップ４０１へ戻る。
上記の制御を行うことにより、共有メモリ部側のＩ／Ｆポート２１１を効率よく割り当てることが可能となり、高いスループットのデータ転送を実現できる。
【００２７】
また、図９に示すように、共有メモリ部１１４を各々物理的に独立した共有メモリ部１１４間で二重化して二重化領域（１６０）を形成する。すなわち、２個の共有メモリ部１１４を２重化した場合には各共有メモリ部に同一のデータが書き込まれる。また、各共有メモリ部全体を二重化したり、各共有メモリ部の一部分を二重化したりすることができる。
そして、セレクタ部１１３から二重化された共有メモリ部１１４両方への同時アクセス（２重アクセス）が発生するディスクアレイ制御装置４では、図６のステップ４０２、４０３においてキュー先頭の要求が２重アクセスかどうかを調べ、２重アクセスの場合、要求される２つのポートが空いていればポートを割り当て、そうでなければステップ４０６へ進むという処理を行う。
これによって、共有メモリ部１１４に格納したデータの信頼性を向上させることが可能となる。
また、磁気ディスク装置１２０に記録するデータの転送時、共有メモリ部１１４とのＩ／Ｆポート２１１を効率よく割り当てることが可能となり、高いスループットのデータ転送を実現できる。
【００２８】
《実施例２》
図１に示すディスクアレイ制御装置の構成を、図１０に示すように、共有メモリ部１１４を、磁気ディスク装置１２０に記録するデータを一時的に格納するキャッシュメモリ部１１５と、キャッシュメモリ部１１５及びディスクアレイ制御装置５に関する制御情報を格納する共有メモリ部１１４に物理的に分割し、キャッシュメモリ部１１５に繋がるセレクタ部（ＣＭセレクタ部）１２３と、共有メモリ部に繋がるセレクタ部（ＳＭセレクタ部）１１３を物理的に独立させた構成にする。
そして、チャネルＩ／Ｆ部１１１、及びディスクＩ／Ｆ部１１２から、キャッシュメモリ部１１５、または共有メモリ部１１４へのアクセスパス０ １３５、アクセスパス１ １３６を物理的に独立させ、少なくともキャッシュメモリ部１１５に繋がるセレクタ部（ＣＭセレクタ部）１２３において、実施例１で述べた調停を行う。これは、共有メモリ部に格納されるのは、キャッシュメモリ部１１５及びディスクアレイ制御装置５に関する制御情報であり、制御情報のデータ量は少ないので、ポートが使用中となる時間は小さく、すぐにポートは使用可能となるため、調停をしなくても格別の差し障りはないからである。
【００２９】
また、図１１に示すように、共有メモリ部１１４、及びキャッシュメモリ部１１５を各々物理的に独立した共有メモリ部１１４、及びキャッシュメモリ部１１５間でそれぞれ二重化して二重化領域（１６０）を形成し、少なくともキャッシュメモリに繋がるセレクタ部（ＣＭセレクタ部）１２３から二重化されたキャッシュメモリ部１１５両方への同時アクセス（２重アクセス）が発生するディスクアレイ制御装置６では、図６のステップ４０２、４０３においてキュー先頭の要求が２重アクセスかどうかを調べ、２重アクセスの場合、要求される２つのポートが空いていればポートを割り当て、そうでなければステップ４０６へ進むという処理を、キャッシュメモリ部に繋がるセレクタ部（ＣＭセレクタ部）１２３で行う。
これによって、共有メモリ部１１４に格納したデータの信頼性を向上させることが可能となる。
また、磁気ディスク装置１２０に記録するデータの転送時、キャッシュメモリ部１１５とのＩ／Ｆポート２１１を効率よく割り当てることが可能となり、高いスループットのデータ転送を実現できる。
【００３０】
《実施例３》
図７は、チャネルＩ／Ｆ部１１１またはディスクＩ／Ｆ部１１２内の共有メモリ（ＳＭ）アクセス回路から共有メモリ部１１４へ、またはチャネルＩ／Ｆ部１１１またはディスクＩ／Ｆ部１１２内のキャッシュメモリ（ＣＭ）アクセス回路からキャッシュメモリ部１１５へデータの書き込みを行うときの処理の流れを示している。
データの書き込み時は、ステップ５０１でＳＭまたはＣＭアクセス回路からセレクタ部１１３または１２３へアクセス要求（ＲＥＱ）を出し、続けてステップ５０２、５０３でアドレス（ＡＤＲ）、コマンド（ＣＭＤ）を送出する。
ステップ５０４、５０５でセレクタ部１１３または１２３において、アービトレーションを行い、セレクタを切り替えて共有メモリ部１１４またはキャッシュメモリ部１１５へのポートを割り当てる。
ステップ５０６で、セレクタ部１１３または１２３から共有メモリ部またはキャッシュメモリ部へアクセス要求（ＲＥＱ）を出し、続けてステップ５０７、５０８でアドレス（ＡＤＲ）、コマンド（ＣＭＤ）を送出する。
【００３１】
ステップ５０９で、共有メモリ部１１４またはキャッシュメモリ部１１５において、アクセスするメモリモジュールの選択を行い、選択後、ステップ５１０でセレクタ部１１３または１２３を経由してＳＭまたはＣＭアクセス回路へアクセス承認（ＡＣＫ  ＯＮ）を返す。
ＳＭまたはＣＭアクセス回路はＡＣＫ  ＯＮを受けたら、ステップ５１１でデータを送出する。
共有メモリ部１１４またはキャッシュメモリ部１１５はデータを全て受け取ったら、ステップ５１２で後処理を行い、ステップ５１３でセレクタ部１１３または１２３を経由してＳＭまたはＣＭアクセス回路へステータス（ＳＴＡＴＵＳ）を返す。
セレクタ部１１３または１２３はＳＴＡＴＵＳを受けたら、ステップ５１４で共有メモリ部１１４またはキャッシュメモリ部１１５へ、アクセス承認を取り下げるように指示を出す（ＡＣＫ  ＯＦＦ）。
ＳＭまたはＣＭアクセス回路はＳＴＡＴＵＳを受けたら、ステップ５１５でセレクタ部１１３または１２３に、アクセス承認を取り下げるように指示を出す（ＡＣＫ  ＯＦＦ）。
【００３２】
図８は、チャネルＩ／Ｆ部１１１またはディスクＩ／Ｆ部１１２内の共有メモリアクセス回路へ共有メモリ部１１４から、またはチャネルＩ／Ｆ部１１１またはディスクＩ／Ｆ部１１２内のキャッシュメモリアクセス回路へキャッシュメモリ部１１５からデータの読み出しを行うときの処理の流れを示している。
データの読み出し時の処理ステップ６０１〜６１０までは、データの書き込み時の処理ステップ５０１〜５１０までと同じである。
【００３３】
その後、共有メモリ部１１４またはキャッシュメモリ部１１５において、ステップ６１１で読み出しの前処理を行う。
ステップ６１２で、セレクタ部１１３または１２３を経由してＳＭまたはＣＭアクセス回路へデータを送出する。
データの送出が終了したら、共有メモリ部１１４またはキャッシュメモリ部１１５において、ステップ６１３で後処理を行い、ステップ６１４でセレクタ部１１３または１２３を経由してＳＭまたはＣＭアクセス回路へＳＴＡＴＵＳを返す。
セレクタ部１１３または１２３はＳＴＡＴＵＳを受けたら、ステップ６１５で共有メモリ部１１４またはキャッシュメモリ部１１５へ、アクセス承認を取り下げるように指示を出す（ＡＣＫ  ＯＦＦ）。
ＳＭまたはＣＭアクセス回路はＳＴＡＴＵＳを受けたら、ステップ６１６でセレクタ部１１３または１２３へ、アクセス承認を取り下げるように指示を出す（ＡＣＫ  ＯＦＦ）。
【００３４】
上記のように、チャネルＩ／Ｆ部１１１、またはディスクＩ／Ｆ部１１２から、共有メモリ部１１４またはキャッシュメモリ部１１５へのアクセスの際に、最初にアドレスとコマンドを連続して送出し、共有メモリ部１１４、またはキャッシュメモリ部１１５までのアクセスパスが確立した（ステップ５１０または６１０）後データを送出することによって、セレクタ部１１３または１２３において、転送データをバッファリングする必要がなくなり、セレクタ部１１３または１２３での制御が簡単化され、メモリへのアクセススループットの向上が可能となる。
【図面の簡単な説明】
【００３５】
【図１】本発明によるディスクアレイ制御装置の構成を示す図である。
【図２】従来のディスクアレイ制御装置の構成を示す図である。
【図３】従来のディスクアレイ制御装置の構成を示す図である。
【図４】本発明によるディスクアレイ制御装置内のセレクタ部の構成を示す図である。
【図５】セレクタ部での動作フローを示す図である。
【図６】セレクタ部内のアービトレーション部での動作フローを示す図である。
【図７】共有メモリ部またはキャッシュメモリ部へデータの書き込みを行うときのシーケンスを示す図である。
【図８】共有メモリ部またはキャッシュメモリ部からデータの読み出しを行うときのシーケンスを示す図である。
【図９】本発明によるディスクアレイ制御装置の他の構成を示す図である。
【図１０】本発明によるディスクアレイ制御装置の他の構成を示す図である。
【図１１】本発明によるディスクアレイ制御装置の他の構成を示す図である。
【図１２】本発明によるディスクアレイ制御装置内のセレクタ部の部分の詳細構成を示す図である。
【図１３】チャネルＩ／Ｆ部の構成を示す図である。
【符号の説明】
【００３６】
１、４、５、６  ディスクアレイ制御装置
５０  マイクロプロセッサ
５１  ホストＩ／Ｆ
５２  共有メモリアクセス回路
１０１  ホストコンピュータ
１１１  チャネルＩ／Ｆ部
１１２  ディスクＩ／Ｆ部
１１３  セレクタ部（ＳＭセレクタ部）
１１４  共有メモリ部
１１５  キャッシュメモリ部
１２０  磁気ディスク装置
１２３  ＣＭセレクタ部
１３５  アクセスパス０
１３６  アクセスパス１
１５０  セレクタグループ
【図１】
0004485503.tif 000002
【図２】
0004485503.tif 000003
【図３】
0004485503.tif 000004
【図４】
0004485503.tif 000005
【図５】
0004485503.tif 000006
【図６】
0004485503.tif 000007
【図７】
0004485503.tif 000008
【図８】
0004485503.tif 000009
【図９】
0004485503.tif 000010
【図１０】
0004485503.tif 000011
【図１１】
0004485503.tif 000012
【図１２】
0004485503.tif 000013
【図１３】
0004485503.tif 000014