(57)【要約】【課題】スイッチ接続型ディスクアレイにおいて、スイッチ部とキャッシュメモリ部との接続に全二重パスを使用した場合に、全二重パスの持つ帯域の有効利用を低コストで実現すること。【解決手段】ホストインターフェース部４又はディスクインターフェース部６がキャッシュメモリ部７をアクセスする為に共有するアクセスパス１０を全二重パスで構成する。そして、この共有するアクセスパス１０を経由して発行されるキャッシュメモリ部７へのアクセス要求がリードアクセス、ライトアクセス交互に発行されるように制御する。【選択図】  図１
2004171362.tif 000002
【特許請求の範囲】
【請求項１】
磁気ディスク装置と、該磁気ディスク装置に記録するデータを一時格納するメモリと、上位装置に接続される第１のインターフェース部と、前記磁気ディスク装置に接続された第２のインターフェース部と、該第２のインターフェース部と前記第１のインターフェース部を前記メモリに接続する全二重パスとを有し、前記上位装置からのリードアクセスとライトアクセスを前記メモリに対し前記第１及び第２のインターフェース部と前記全二重パスを介して交互に実行することを特徴とする磁気ディスク記憶制御装置。
【請求項２】
磁気ディスク装置と、該磁気ディスク装置に記録するデータを一時格納するメモリと、上位装置に接続される第１のインターフェース部と、該第１のインターフェース部と前記メモリを接続する第１の全二重パスと、前記磁気ディスク装置に接続された第２のインターフェース部と、該第２のインターフェース部と前記メモリを接続する第２の全二重パスとを有し、前記上位装置からのリードアクセスとライトアクセスを前記メモリに対し前記第１及び第２のインターフェース部と前記第１及び第２の全二重パスを介して交互に実行することを特徴とする磁気ディスク記憶制御装置。
【請求項３】
前記磁気ディスク装置は複数の磁気ディスク装置を冗長配列して構成されたディスクアレイであることを特徴とする請求項２記載の磁気ディスク記憶制御装置。
【請求項４】
前記第１の全二重パスは前記第１のインターフェース部から前記メモリの方向にデータを転送する第１のパスと、前記メモリから前記第１のインターフェース部の方向にデータを転送する第２のパスを有し、前記第２の全二重パスは前記第２のインターフェース部から前記メモリの方向にデータを転送する第３のパスと、前記メモリから前記第２のインターフェース部の方向にデータを転送する第４のパスを有し、前記第１及び第３のパスのデータ転送と前記第２及び第４のパスのデータ転送が並行して行われることを特徴とする請求項２または３記載の磁気ディスク記憶制御装置。
【請求項５】
前記メモリは前記第１及び第２のインターフェース部から送信されるアクセス要求を複数保持する手段を有し、前記第１及び第２のインターフェース部は前記メモリの保持手段が保持可能な数だけのアクセス要求を送信することを特徴とする請求項１乃至４のいずれか１項に記載の磁気ディスク記憶制御装置。
【請求項６】
磁気ディスク装置と、該磁気ディスク装置に記録するデータを一時格納する複数のメモリと、上位装置に接続される複数の第１のインターフェース部と、前記磁気ディスク装置に接続された複数の第２のインターフェース部と、前記第１及び第２のインターフェース部からのアクセス要求を受信し前記複数のメモリのうちの同一のメモリに対するアクセス要求の調停を行うスイッチ部と、該スイッチ部と前記第１及び第２のインターフェース部を接続する第１の全二重パスと、当該スイッチ部と前記複数のメモリを接続する第２の全二重パスとを有し、前記スイッチ部は前記第１及び第２のインターフェース部から前記第１の全二重パスを介して受信したリードアクセスとライトアクセスを前記第２の全二重パスを介して前記同一のメモリに対し交互に送信することを特徴とする磁気ディスク記憶制御装置。
【請求項７】
前記磁気ディスク装置は複数の磁気ディスク装置を冗長配列して構成されたディスクアレイであることを特徴とする請求項６記載の磁気ディスク記憶制御装置。
【請求項８】
前記第１の全二重パスは前記第１のインターフェース部及び前記第２のインターフェース部から前記スイッチ部の方向にデータを転送する第１のパスと、前記スイッチ部から前記第１のインターフェース部及び前記第２のインターフェース部の方向にデータを転送する第２のパスを有し、前記第２の全二重パスは前記スイッチ部から前記複数のメモリの方向にデータを転送する第３のパスと、前記複数のメモリから前記スイッチ部の方向にデータを転送する第４のパスを有し、前記第３のパスのデータ転送と前記第４のパスのデータ転送が並行して行われることを特徴とする請求項６または７記載の磁気ディスク記憶制御装置。
【請求項９】
前記スイッチ部は前記第１のインターフェース部及び前記第２のインターフェース部から送信されるアクセス要求をリードアクセスとライトアクセスに分離して保持する手段を有し、該保持したアクセス要求を前記複数のメモリのうちの同一のメモリに対しリードアクセスとライトアクセスが交互に送信されるように調停することを特徴とする請求項６乃至８のいずれか１項に記載の磁気ディスク記憶制御装置。
【請求項１０】
前記スイッチ部は前記第１の全二重パスが接続される第１の複数のパスポート部と、前記第２の全二重パスが接続される第２の複数のパスポート部と、該第２の複数のパスポート部と前記第１の複数のパスポート部を接続するセレクタ部と、前記第１の複数のパスポート部からの前記複数のメモリへのアクセス要求に対し前記第２の複数のパスポート部の使用権を調停する第１のアービタと、前記第２の複数のパスポート部からの前記第１のインターフェース部及び前記第２のインターフェース部への返信に対し前記第１の複数のパスポート部の使用権を調停する第２のアービタとを有することを特徴とする請求項９記載の磁気ディスク記憶制御装置。
【請求項１１】
前記複数のメモリは前記スイッチ部から送信されるアクセス要求を複数保持する手段を有し、前記スイッチ部は前記メモリの保持手段が保持可能な数だけのアクセス要求を送信することを特徴とする請求項６乃至１０のいずれか１項に記載の磁気ディスク記憶制御装置。
【請求項１２】
前記第１のインターフェース部は複数のプロセッサと、該プロセッサの指示により上位装置とのデータ転送を行う複数のチャネルインターフェース回路と、該チャネルインターフェース回路と前記スイッチ部間の通信制御を行うメモリアクセス制御部とを有することを特徴とする請求項６乃至１１のいずれか１項に記載の磁気ディスク記憶制御装置。
【請求項１３】
前記第２のインターフェース部は複数のプロセッサと、該プロセッサの指示により前記スイッチ部とのデータ転送を行う複数のディスクインターフェース回路と、該ディスクインターフェース回路と前記スイッチ部間の通信制御を行うメモリアクセス制御部とを有することを特徴とする請求項６乃至１２のいずれか１項に記載の磁気ディスク記憶制御装置。
【請求項１４】
前記メモリは前記スイッチ部との間のデータ転送を制御するインターフェース部と、該インターフェース部が受取ったデータのヘッダを解析するメモリ制御部と、該メモリ制御部の指示によりデータの読み書きを行う複数のメモリモジュールとを有することを特徴とする請求項６乃至１３のいずれか１項に記載の磁気ディスク記憶制御装置。
【請求項１５】
複数の磁気ディスク装置を冗長配列して構成されたディスクアレイと、該ディスクアレイに記録するデータを一時格納する複数のキャッシュメモリと、ホストコンピュータからのアクセス要求及びデータを受取る複数のホストインターフェース部と、前記ディスクアレイからのアクセス要求及びデータを受取る複数のディスクインターフェース部と、前記複数のホストインターフェース部、前記複数のディスクインターフェース部及び前記複数のキャッシュメモリと全二重バスにより接続され前記複数のホストインターフェース部及び前記複数のディスクインターフェース部から送信されるアクセス要求をリードアクセスとライトアクセスに分離して保持する手段を有し該保持したアクセス要求を前記複数のキャッシュメモリのうちの同一のキャッシュメモリに対しリードアクセスとライトアクセスが交互に送信されるように調停するスイッチ部とを有することを特徴とする磁気ディスク記憶制御装置。
【請求項１６】
前記スイッチ部から前記複数のキャッシュメモリに対するデータの転送と、前記と同一のキャッシュメモリからの前記スイッチ部に対するデータ転送が並行して行われることを特徴とする請求項１５記載の磁気ディスク記憶制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はディスクアレイを有する磁気ディスク記憶制御装置に係り、特にディスクアレイに記録されるデータを一時的に格納するキャッシュメモリのアクセスパスの構成に関する。
【０００２】
【従来の技術】
磁気ディスク記憶制御装置（ディスクアレイ制御装置）はコンピュータの２次記憶装置として広く使用されているが、主記憶のＩ／Ｏ性能に比較し常に３〜４桁程度Ｉ／Ｏ性能が低く、従来からこの差を縮める努力が行われてきた。磁気ディスクサブシステムのＩ／Ｏ性能を向上させる為の方法としては、複数の磁気ディスク装置を並列動作させデータを複数の磁気ディスクに分散記憶させるディスクアレイ方式が知られている。
【０００３】
ディスクアレイ方式では、複数のディスク装置を並列に動作させる事で、Ｉ／Ｏ性能及びシーケンシャルアクセス時のスループット性能を向上する事ができるが、複数のディスクへのアクセスと同時にデータ転送を行う必要がある為、装置性能を引き上げる為にはディスク装置とホスト側Ｉ／Ｆ部を接続する内部パスにも高いデータ転送性能が求められる。
【０００４】
従来のディスクアレイ制御装置は特許文献１に示されるように、複数のホストコンピュータとのホストインターフェース部、複数のディスクドライブとのディスクインターフェース部、装置の制御情報を記憶する制御用共有メモリ部（以下共有メモリ部という）、ディスクドライブに書き込むデータを一時記憶するデータ用共有メモリ部（以下キャッシュメモリ部という）、スイッチ部、により構成されており、ホストインターフェース部及びディスクインターフェース部とスイッチ部はそれぞれ独立した一本の双方向パスで１対１に接続され、同じくスイッチ部と複数のキャッシュメモリ部とはそれぞれ独立した一本の双方向パスで接続されている。また、ホストインターフェース部及びディスクインターフェース部のプロセッサは接続パスで共有メモリ部と接続されており、ホストインターフェース部及びディスクインターフェース部は、共有メモリ部で互いに通信を取りながらスイッチ部経由でキャッシュメモリ部のアクセスを行う。
【０００５】
このようなディスクアレイはスイッチ接続型ディスクアレイと呼ばれ、一般的にスイッチ部とキャッシュメモリ部とを接続する双方向パスの帯域と本数で決定される総転送帯域によりシステムのスループット性能が決定されるが、キャッシュメモリ部との接続パスの物理本数は比較的多くすることが可能である為、物理ピン数の限界から接続パス１本の転送スループットは共有バス方式に比べ大きく出来ないものの、装置全体としての限界転送スループットは大きく、システムのスループット性能の向上を行いやすいアーキテクチャであると言われて来た。
【０００６】
また、ホストインターフェース部、ディスクインターフェース部あるいはキャッシュメモリ部の増設により、前記接続パスの本数も増加する為、機能部位の増設に従いシステム性能が向上する為、スケーラブルなアーキテクチャであるとも言われている。
【０００７】
【特許文献１】
特開２０００−２００１５６号公報（第６−７頁、図１）
【０００８】
【発明が解決しようとする課題】
ホストコンピュータ側の急速な性能向上、ネットワークの高速化に伴いディスクアレイシステムの性能に対する市場要求もより厳しいものとなって来ている。これに対し、前記の通りスイッチ接続型ディスクアレイでは、キャッシュメモリ部への接続パス本数を多くする事により装置としてのスループット性能の向上が可能であると言われて来た。
【０００９】
しかしスイッチ接続型ディスクアレイであっても、実装上の問題により接続パスの本数が限界に達し初めており、接続パス数の増加のみでは更なる性能向上には限界がある。この為、信号ピン数の増加無しに接続パス１本当たりの転送性能の向上が求められている。
【００１０】
使用する信号線数を増加させずにパスの転送性能を向上させるには、一般に動作周波数を上げると言う手段が考えられる。この場合、使用する物理インターフェース（Ｉ／Ｆ）の種類により動作周波数の上限が決定するが、近年通信等の分野ではＬＶＤＳに代表される差動信号を使用した低振幅Ｉ／Ｆを使用する事で動作周波数を向上する試みが多く見られる。
【００１１】
差動信号Ｉ／Ｆを使用した場合、そのパスは送信方向が単方向となる為、通常単方向のパスを２本組み合わせ全二重のパスとして使用する。これをディスクアレイ制御装置のスイッチ部とキャッシュメモリ部とを接続するパスに適用すれば、動作周波数の向上、即ち接続パス１本当りの転送性能向上が実現出来る。
【００１２】
キャッシュメモリ部を有するディスクアレイ装置の場合、一般にホストからのライトアクセスではホストインターフェース部はキャッシュメモリへのデータライト、ディスクインターフェース部はキャッシュメモリからのデータリードを行い、ホストからのリードアクセスではホストインターフェース部はキャッシュメモリからのデータリード、ディスクインターフェース部はキャッシュメモリへのデータライト行う。
【００１３】
この為、通常キャッシュメモリ部へのアクセスはライトアクセスとリードアクセスが混在するが、複数のホストコンピュータがデータを共有するようなディスクアレイ装置の場合、キャッシュメモリへのアクセスは比較的転送データ長の長いアクセスが主体である一方、ライトアクセス・リードアクセスの発生順は一定では無い。この為、単純に全二重パス化すると、ライトアクセスが連続した場合にはスイッチ部からキャッシュメモリ部への下りパスのみが混雑する一方、リードアクセスが連続した場合には反対に上りパスのみが混雑する事になり、全二重パスの有する帯域を有効利用できないと言う問題がある。
【００１４】
上記問題点はキャッシュメモリ部がスイッチ部から送られてくるアクセス要求パケットを一定数バッファリングする機能を有し、スイッチ部はキャッシュメモリ部がバッファ可能である個数だけ常に要求パケットを送りつけるというコネクションレスアクセス方式を採用し、バッファ可能なアクセス要求パケットの数を多くする事である程度緩和可能である。しかしながら、上記の通りディスクアレイサブシステムでは１回のアクセスでの転送データ長が比較的長い為、バッファ可能なアクセス要求パケットを多くする事は、装置コストに悪影響を及ぼす。
【００１５】
従って、スイッチ部とキャッシュメモリ部との接続に全二重パスを使用した場合に、全二重パスの持つ帯域の有効利用を低コストで実現する事が本発明の改善すべき課題である。
【００１６】
本発明の目的は、スイッチ部とキャッシュメモリ部間に全二重パスを適用した場合の接続パスの利用状況を改善する事で上記課題を解決し、ホストインターフェース部、ディスクインターフェース部、キャッシュメモリ部間のデータ転送スループットの高い磁気ディスク記憶制御装置を低コストで提供する事である。
【００１７】
【課題を解決する為の手段】
前記目的を達成するために本発明では、キャッシュメモリを有する磁気ディスクサブシステムにおいて、ホストインターフェース部及びディスクインターフェース部がキャッシュメモリをアクセスする為に共有するアクセスパスを全二重方式のパスで構成し、この全二重パスに対して前記キャッシュメモリへのアクセスが可能な限りリードアクセスとライトアクセスが交互に発行される様に制御を行う。
【００１８】
すなわち、共有する全二重パスにリードアクセスとライトアクセスが交互に転送されることにより、リードデータが上りパスをホストインターフェース部又はディスクインターフェースに向かって移動するのと同時に、ライトデータが下りパスをキャッシュメモリに向かって移動するようになる。
【００１９】
また、本発明ではリードデータとライトデータが、それぞれ下りパスと上りパスを同時刻に移動する比率を改善する事で効率を改善する為、１回のリードアクセスでリードデータが上りパスを移動する時間と１回のライトアクセスでライトデータが下りパスを移動する時間が等しい場合により効果が大きくなる。
【００２０】
また、本発明ではキャッシュメモリを共有するデータアクセスマスタの数が多く並列して動作している場合の方が、リードアクセス、ライトアクセス要求が同時刻にスイッチ部に発行され、スイッチ部がリード・ライトアクセスを交互に発行できる可能性が高まる。
【００２１】
【発明の実施の形態】
図１は、本発明を適用した磁気ディスク記憶制御装置（ディスクアレイ制御装置）の一実施例を示した図である。本実施例では、ディスクアレイ制御装置１は複数のホストコンピュータ３とのホストインターフェース部４、複数の磁気ディスクドライブを冗長配列したディスクアレイ５とのディスクインターフェース部６、装置の制御情報を記憶する共有メモリ部２及びディスクアレイ５に書き込むデータを一時記憶するキャッシュメモリ部７、スイッチ部８、により構成されている。
【００２２】
ホストインターフェース部４、ディスクインターフェース部６とスイッチ部８はそれぞれ独立した全二重パス９（以下Ｍパス９と呼ぶ）で１対１に接続され、同じくスイッチ部８とキャッシュメモリ部７とはそれぞれ独立した全二重パス１０（以下Ｓパス１０と呼ぶ）で接続されており、ホストインターフェース部４、ディスクインターフェース部６はスイッチ部８経由でキャッシュメモリ部７のアクセスを行うようになっている。また、ホストインターフェース部４、ディスクインターフェース部６からキャッシュメモリ部７へのアクセス方法はパケット方式を使用したコネクションレスの全二重方式となっている。
【００２３】
Ｍパス９は各インタフェース部からスイッチ部８方向へのデータ送信を担う下りパス９ａとスイッチ部８から各インタフェース部方向へのデータ送信を担う上りパス９ｂから構成されており、上り下りで独立したパスを有する事で全二重アクセスに対応している。同様にＳパス１０はスイッチ部８からキャッシュメモリ部７方向へのデータ送信を担う下りパス１０ａとキャッシュメモリ部７からスイッチ部８方向へのデータ送信を担う上りパス１０ｂから構成されており、上り下りで独立したパスを有する事で全二重アクセスに対応している。
【００２４】
また、ホストインターフェース部４、ディスクインターフェース部６の制御用プロセッサＭＰ１１，１４（以下ＣＨＰ１１、ＤＫＰ１１と呼ぶ）は図示されていない接続パス▲１▼で共有メモリ部２と接続されており、ホストインターフェース部４、ディスクインターフェース部６は、共有メモリ部２で互いに通信を取りながらスイッチ部８経由でキャッシュメモリ部７のアクセスを行う様になっている。
【００２５】
本実施例では、スイッチ部８に接続しているホストインターフェース部４、ディスクインターフェース部６は各２個、キャッシュメモリ部７の数量は４個であるが、この個数は任意に設定可能である。ただしスイッチ部８に接続するホストインターフェース部４、ディスクインターフェース部６の数がキャッシュメモリ部７の数に比較し多い場合の方がスイッチ部８にて調停を受けるアクセス要求の数が多く成る為、キャッシュメモリ部７に対しリードアクセス・ライトアクセスを交互に実行できる可能性が高くなり、効果は大きいと言える。
【００２６】
ホストインターフェース部４は、ホストインターフェース部４を制御する２個のプロセッサＭＰ１１（以下ＣＨＰ１１）、ＣＨＰ１１の指示によりホストＣＰＵ３とキャッシュメモリ部７間のデータ転送を行う２個のチャネルＩ／Ｆ回路１２、チャネルＩ／Ｆ回路１２とスイッチ部８間の通信制御を行うキャッシュメモリアクセス制御部１３から構成され、２つのチャネルＩ／Ｆ回路１２とキャッシュメモリアクセス制御部１３は専用パスで１対１に接続されている。
【００２７】
ディスクインターフェース部６は、ディスクインターフェース部６を制御する２個のプロセッサＭＰ１４（以下ＤＫＰ１４）、ＤＫＰ１４の指示によりディスクアレイ５とキャッシュメモリ部７間のデータ転送を行う２個のディスクＩ／Ｆ回路１５、ディスクＩ／Ｆ回路１５とスイッチ部８間の通信制御を行うキャッシュメモリアクセス制御部１３から構成され、２つのディスクＩ／Ｆ回路１５とキャッシュメモリアクセス制御部１３は専用パスで１対１に接続されている。
【００２８】
スイッチ部８は、ホストインターフェース部４又はディスクインターフェース部６からＭパス９ａ経由でキャッシュメモリアクセス要求を受信する。スイッチ部８は受信したキャッシュメモリアクセス要求を解析し、同一のキャッシュメモリ部７に対するアクセス要求が複数存在する場合にはアービトレーションを行い、キャッシュメモリ部７にアクセス要求を発行する順序を決定し、順にＳパス１０ａ経由でアクセス要求をキャッシュメモリ部７に発行する様に動作する。また、アクセス要求先が異なるキャッシュメモリ部７に分散している場合には、可能な限り同時に複数のＳパス１０ａ経由でアクセス要求をそれぞれのキャッシュメモリ部７に発行する。
【００２９】
本実施例は、スイッチ部８が同一のキャッシュメモリ部７に対するアクセス要求を受信した場合に、アクセス要求がリード・ライト交互にキャッシュメモリ部７に発行されるように動作する事が一つの特徴であるが、これを実現する為のスイッチ部８の構成説明は後ほど図５を使用して行う。
【００３０】
キャッシュメモリ部７は、ＳパスＩ／Ｆ部１６、メモリ制御部１７、複数のメモリモジュール１８の順に接続され構成されており、スイッチ部８経由で送られてくるアクセス要求を解析してメモリモジュール１８へのデータの読み、書きを行う。
【００３１】
ホストインターフェース部４及びディスクインターフェース部６のキャッシュメモリアクセス制御部１３は複数の通信パケットを保持出来るようになっており、これによりコネクションレスの全二重アクセスを実現しているが、これらについては後ほど説明する。
【００３２】
ホストコンピュータ３からディスクアレイ制御装置１へのデータの読み出し時は、その要求がチャネルＩ／Ｆ回路１２経由でまずＣＨＰ１１に伝わる。次にＣＨＰ１１は図示されていない接続パス▲１▼経由で共有メモリ部２上の制御情報を読み出し、キャッシュメモリ部７上に要求データが存在するかを確認する。要求データがキャッシュメモリ部７に存在する場合には、ＣＨＰ１１はチャネルＩ／Ｆ回路１２−キャッシュメモリアクセス制御部１３−スイッチ部８経由でキャッシュメモリ部７上の読み出し対象データを読み出し、ホストコンピュータ３に送信する。
【００３３】
要求データが存在しない場合、ＣＨＰ１１はディスクアレイ５上の対象データを読み出しキャッシュメモリ部７に書き込む指示を共有メモリ部２を介してある１つのディスクインターフェース部６のＤＫＰ１４に伝える。指示を受けたＤＫＰ１４は、ディスクアレイ５とキャッシュメモリ部７間のデータ転送を行うディスクＩ／Ｆ回路１５を使用して該当データをキャッシュメモリ部７に転送する。
【００３４】
データ転送終了後ＤＫＰ１４は共有メモリ部２を介して要求元のＣＨＰ１１にキャッシュメモリ部７へのデータ転送終了を報告する。データ転送終了の報告を受けてＣＨＰ１１は、チャネルＩ／Ｆ回路１２−キャッシュメモリアクセス制御部１３−スイッチ部８経由でキャッシュメモリ部７上の当該データを読み出しホストコンピュータ３への要求データの送信を行う。
【００３５】
ホストコンピュータ３からディスクアレイ制御装置１へのデータの書き込み時は、その要求がチャネルＩ／Ｆ回路１２経由でまずＣＨＰ１１に伝わる。次にＣＨＰ１１はチャネルＩ／Ｆ回路１２−キャッシュメモリアクセス制御部１３−スイッチ部８経由でキャッシュメモリ部７に当該データを書き込む。またＣＨＰ１１はキャッシュメモリ部７に当該データを書き込んだ事を共有メモリ部２を介してある１つのディスクインターフェース部６のＤＫＰ１４に伝える。またこの時点でホストコンピュータ３に対し書き込み終了通知を発行する。通知を受けたＤＫＰ１４はディスクアレイ５とキャッシュメモリ部７間のデータ転送を行うディスクＩ／Ｆ回路１５を使用してディスクＩ／Ｆ回路１５−キャッシュメモリアクセス制御部１３−スイッチ部８−キャッシュメモリ部７の経路を経由して該当データをキャッシュメモリ部７から読み出しディスクアレイ５に書き込む。
【００３６】
前記実施例では、ホストインターフェース部４、ディスクインターフェース部６とスイッチ部８はそれぞれ独立した全二重パス９で１対１に接続されているが、全二重パス９はホストインターフェース部４とディスクインターフェース部６が共有する構成にすることもできる。この場合は、キャッシュメモリ部７に対するライトアクセスとリードアクセスの交互に発行できる頻度をより高めることができる。
【００３７】
以上、本実施例の基本構成及び動作を説明したが、以下に各構成要素の具体的構成及び動作を説明する。
（１）パケットの構成について
図２はホストインターフェース部４、ディスクインターフェース部６からキャッシュメモリ部７へのアクセスに使用されるパケットの構成を示した図である。キャッシュメモリ部７へのライトアクセスにはコマンド・データパケット３０とステータスパケット３１が使用される。コマンド・データパケット３０は、パケットの種別３６、アクセス元３７、キャッシュアドレス３８、転送データ長３９、の各パケット情報を含むヘッダ部３４とキャッシュメモリ部７へのライトデータ４０を保持するデータ部３５、パケットのチェックコード４１から構成される。ステータスパケット３１は、同様なヘッダ部３４と転送結果を示すステータス４２、パケットチェックコード４１とから構成される。
【００３８】
キャッシュメモリ部７へのライトアクセスではホストインターフェース部４、ディスクインターフェース部６からスイッチ部８を経由し、キャッシュメモリ部７に対し下りのＭパス９ａ、Ｓパス１０ａを使用してコマンド・データパケット３０が送信される。キャッシュメモリ部７はライトデータ４０をキャッシュアドレス３８で指定されたキャッシュメモリアドレスに書き込み、その結果をステータスパケット３１にしてスイッチ部８経由でホストインターフェース部４、ディスクインターフェース部６に上りのＳパス１０ｂ、Ｍパス９ｂを使用して返信する。コマンド・データパケット３０におけるライトデータ４０の長さはステータスパケット３１のステータス４２に比較し遥かに長く、キャッシュメモリ部７へのライトアクセスでは、Ｍパス９、Ｓパス１０の下りパス９ａ、１０ａが使用される時間と上りパス９ｂ、１０ｂが使用される時間との比は約１００：１になる。
【００３９】
キャッシュメモリ部７へのリードアクセスにはコマンドパケット３２とデータ・ステータスパケット３３が使用される。コマンドパケット３２は、パケットの種別３６、アクセス元３７、キャッシュアドレス３８、転送データ長３９、の各パケット情報を含むヘッダ部３４とパケットのチェックコード４１から構成される。データ・ステータスパケット３３は、同様なヘッダ部３４とリードデータ４３を保持するデータ部３５、転送結果を示すステータス４２、パケットチェックコード４１とから構成される。
【００４０】
キャッシュメモリ部７へのリードアクセスではホストインターフェース部４、ディスクインターフェース部６からスイッチ部８を経由し、キャッシュメモリ部７に対し下りのＭパス９ａ、Ｓパス１０ａを使用してコマンドパケット３２が送信される。キャッシュメモリ部７はリードデータ４３をキャッシュアドレス３８で指定されたキャッシュメモリアドレスから読み出し、読み出したデータと読み出し結果からデータ・ステータスパケット３３を作成し、スイッチ部８経由でホストインターフェース部４、ディスクインターフェース部６に上りのＳパス１０ｂ、Ｍパス９ｂを使用して返信する。データ・ステータスパケット３３におけるリードデータ４３の長さはコマンドパケット３２のヘッダ部３４に比較し遥かに長く、キャッシュメモリ部７へのリードアクセスではライトアクセスの場合とは逆にＭパス９、Ｓパス１０の上りパス９ｂ、１０ｂが使用される時間と、下りパス９ａ、１０ａが使用される時間との比は約１００：１となる。
（２）キャッシュメモリアクセス制御部１３について
図３はキャッシュメモリアクセス制御部１３の構成を示したものである。キャッシュメモリアクセス制御部１３は、１つの下りパス用セレクタ６０、１つの上りパス用セレクタ６１、チャネルＩ／Ｆ回路１２又はディスクＩ／Ｆ回路１５に対応し１パケット分のパケットを一時格納するパケットバッファ６２が２個、スイッチ部８への下りＭパス９ａ用の１つのパスＩ／Ｆ回路６３ａ、スイッチ部８からの上りＭパス９ｂ用の１つのパスＩ／Ｆ回路６３ｂ、スイッチ部８から送られてくるパケットを一時保管する１つのＲｘパケットバッファ６５、そして主に下り方向の転送制御を行う１つのデータ転送制御部Ａ  ６６ａと主に上り方向の転送制御を行う１つのデータ転送制御部Ｂ  ６６ｂから構成される。
【００４１】
セレクタ６０の２つの入力ポートはパケットバッファ６２を経由してデータ線６７でそれぞれ異なるチャネルＩ／Ｆ回路１２又はディスクＩ／Ｆ回路１５に接続され、一方セレクタ６０の出力のポートはパスＩ／Ｆ６３ａを経由して下りデータ線６８ａでスイッチ部８の下りＭパスポートと接続される。
【００４２】
データ転送制御部Ａ  ６６ａは制御線６９で２つのチャネルＩ／Ｆ回路１２又はディスクＩ／Ｆ回路１５に接続され、一方制御線７０でスイッチ部８内のＭパス側制御部Ａ  ８７ａと接続される。下りデータ線６８ａ、制御線７０のセットが１つの下りＭパス９ａに相当する。データ転送制御部Ａ  ６６ａは、２つのチャネルＩ／Ｆ回路１２又はディスクＩ／Ｆ回路１５からのアクセス要求のアービトレーションを行い、制御線７０でスイッチ部８との通信を取りながらセレクタ６０を切替え、スイッチ部８への下り方向のパケット送信を行う。そしてこの時、制御線７０の示す情報を元に可能な限りスイッチ部８のＭパス側制御部Ａ  ８７ａに複数パケット分の転送要求が保持される様に動作する。
【００４３】
セレクタ６１の入力ポートはＲｘパケットバッファ６５を経由して上りデータ線６８ｂでスイッチ部８の上りＭパスポートと接続され、一方セレクタ６１の２つの出力ポートはパケットバッファ６２経由でそれぞれ異なるチャネルＩ／Ｆ回路１２又はディスクＩ／Ｆ回路１５に接続される。データ転送制御部Ｂ  ６６ｂはスイッチ部８から上りデータ線６８ｂを送られてきた返信パケットがＲｘパケットバッファ６５に取りこまれると、そのヘッダ部３５のアクセス元３７を解析し、セレクタ６１を切り替えて受信パケットをアクセス元となるチャネルＩ／Ｆ回路１２又はディスクＩ／Ｆ回路１５に送信する。
【００４４】
データ転送制御部Ａ  ６６ａとデータ転送制御部Ｂ  ６６ｂは独立して動作可能であり、上記構成により、本実施例ではＭパスにおいて最大２パケットまでのコネクションレスな全二重通信が可能となっている。
（３）スイッチ部８について
図４はスイッチ部８の構成を示したものである。スイッチ部８は大別してホストインターフェース部４及びディスクインターフェース部６にＭパス９にて接続される４つのＭパスポート部８０、キャッシュメモリ部７にＳパス１０にて接続される４つのＳパスポート部８１、両者を接続するセレクタ部８２、Ｍパスポート部８０からのキャッシュアクセス要求に対しＳパスポート部８１の使用権を調停するＴｘアービタ部８３、Ｓパスポート部８１からホストインターフェース部４及びディスクインターフェース部６への返信パケットのＭパス使用権を調停するＲｘアービタ部８４から構成される。
【００４５】
Ｍパスポート部８０はホストインターフェース部４又はディスクインターフェース部６のキャッシュメモリアクセス制御部１３との下りＭパス用の１つのパスＩ／Ｆ８６ａ、同じく上りＭパス用の１つのパスＩ／Ｆ８６ｂ、２パケット分までのパケットを一時格納する一つのパケットバッファ８８、そして下り方向の転送を制御するＭパス側制御部Ａ  ８７ａと上り方向の転送を制御するＭパス側制御部Ｂ  ８７ｂから構成される。
【００４６】
パケットバッファ８８の入力側は、下りＭパス用のパスＩ／Ｆ８６ａを介して下りデータ線６８ａでホストインターフェース部４又はディスクインターフェース部６のキャッシュアクセス制御部１３に接続されており、パケットバッファ８８の出力側は、内部下りパス８９ａで下り側セレクタ１００ａのＭパスポート入力側に接続されている。一方、上りＭパス用パスＩ／Ｆ８６ｂは入力側が内部上りパス８９ｂで上り側セレクタ１００ｂのＭパスポート出力側に接続され、出力側は上りデータ線６８ｂでホストインターフェース部４又はディスクインターフェース部６のキャッシュアクセス制御部１３の上りパスＩ／Ｆ６３ｂに接続されている。
【００４７】
Ｍパスポート部８０はさらに制御線７０でホストインターフェース部４又はディスクインターフェース部６内のデータ転送制御部Ａ  ６６ａと接続される一方、ＳパスＲＥＱ線９０、ＳパスＡＣＫ線９１ａでＴｘアービタ８３と接続されている。また、ＳパスＲＥＱ線９０に関しては、キャッシュライトアクセスとリードアクセスに対応して、要求するＳパスポートに各２本づつ接続されている。（▲１▼Ｗ、▲１▼Ｒ）
Ｓパスポート部８１はキャッシュメモリ部７のＳパスＩ／Ｆ部１６との下りＳパス用の１つのパスＩ／Ｆ９２ａ、同じく上りＳパス用の１つのパスＩ／Ｆ９２ｂ、２パケット分までのパケットを一時格納する一つのＲｘパケットバッファ９３、そして下り方向の転送を制御するＳパス側制御部Ａ  ９４ａと上り方向の転送を制御するＳパス側制御部Ｂ  ９４ｂから構成される。
【００４８】
下りＳパス用パスＩ／Ｆ９２ａは入力側を内部下りパス９５ａで下り側セレクタ１００ａのＳパスポート出力側に接続され、出力側を下りＳパスデータ線９６ａでキャッシュメモリ部７の下りＳパス用パスＩ／Ｆ１３１ａに接続されている。Ｒｘパケットバッファ９３の入力側は、上りＳパス用のパスＩ／Ｆ９２ｂを介してＳパス上りデータ線９６ｂでキャッシュメモリ部７の上りＳパス用パスＩ／Ｆ１３１ｂに接続されており、Ｒｘパケットバッファ９３の出力側は、内部上りパス９５ｂで上り側セレクタ１００ｂのＳパスポート入力側に接続されている。
【００４９】
Ｓパスポート部８１はさらに制御線９７でキャッシュメモリ部７のＳパス側制御部Ａ  １３２ａと接続される一方、ＭパスＲＥＱ線９８、ＭパスＡＣＫ線９９ａでＲｘアービタ８４と接続されている。
【００５０】
キャッシュメモリアクセス制御部１３からの１つのアクセス要求は、図２で示した構成を持つパケット（ライトアクセスではコマンド・データパケット３０、リードアクセスではコマンドパケット３２）として下りＭパス９ａ経由でＭパスポート部８０のパケットバッファ８８に書き込まれる。Ｍパス側制御部Ａ  ８７ａはこのパケットバッファ８８内の、パケットヘッダ部３４を解析しＳパスポートの使用要求（ＳパスＲＥＱ９０）をライト使用要求（▲１▼Ｗ）又は、リード使用要求（▲１▼Ｒ）でＴｘアービタ８３に発行する。
【００５１】
Ｔｘアービタ８３は４つのＭパスポート制御部８０からのアクセス要求に対しアービトレーションを行ない、下りＳパスポートの使用者を決定する。続けてＴｘアービタ８３は下り側セレクタ１００ａの切り替え及び転送の対象となるＭパス側制御部Ａ  ８７ａ、Ｓパス側制御部Ａ  ９４ａにＳパス使用権獲得（ＳパスＡＣＫ９１ａ）、転送開始指示（９１ｂ）、及びアクセス内容の通知を行う。通知を受けたＳパス側制御部Ａ  ９４ａは制御線９７でキャッシュメモリ部７との通信を取りながらパケットバッファ８８からパケットを抜き出しキャッシュメモリ部７へのパケット送信を行なう。Ｍパス側制御部Ａ  ８７ａはパケットバッファ８８からのパケットの抜き出しが完了した時点で、パケットバッファ８８上に保管されている次のパケットの解析作業を開始し、上記動作を繰り返す。
【００５２】
なおキャッシュメモリ部７側も２つまでのパケットを一時保管出来るパケットバッファを有しており、Ｓパスポート部８１はキャッシュメモリ部７の終了応答（ステータスパケット３１又はデータ・ステータスパケット３３）を待たずに、２つのパケットまでキャッシュメモリ部７に送信する事が出来るようになっている。
【００５３】
一方、キャッシュメモリ部７からの返信パケット（ライトアクセスおけるステータスパケット３１、リードアクセスにおけるデータ・ステータスパケット３３）は上りＳパス１０ｂ経由でＳパスポート部８１のＲｘパケットバッファ９３に書き込まれる。Ｓパス側制御部Ｂ  ９４ｂはこのＲｘパケットバッファ９３内の、パケットヘッダ部３４のアクセス元３７を解析しＭパスポートの使用要求（ＭパスＲＥＱ９８）をＲｘアービタ８４に発行する。
Ｒｘアービタ８４は４つのＳパスポート制御部８１からの使用要求に対しアービトレーションを行ない、上りＭパスポートの使用者を決定する。続けてＲｘアービタ８４は上り側セレクタ１００ｂの切り替え及び転送の対象となるＳパス側制御部Ｂ  ９４ｂ、Ｍパス側制御部Ｂ  ８７ｂにＭパス使用権獲得（ＭパスＡＣＫ９９ａ）、転送開始指示（９９ｂ）、及びアクセス内容の通知を行う。通知を受けたＭパス側制御部Ｂ  ８７ｂはパケットバッファ８８からパケットを抜き出しキャッシュメモリアクセス制御部１３への返信パケットの送信を行なう。
【００５４】
Ｍパス側、Ｓパス側の各制御部Ａ、Ｂは各々独立に動作可能となっており、上記の構成と動作によりスイッチ部８はＳパス１０、Ｍパス９とも全二重転送が可能であり、２パケットまでのコネクションレス転送を行なうようになっている。また上記の方法で、キャッシュメモリ部７に対するパケット送信動作が行なわれるが、本実施例ではＴｘアービタ８３が各Ｓパス１０の使用権を決定する際に、ライトアクセス・リードアクセスが交互になる様にアービトレーションする様になっており、これにより全二重パスであるＳパス１０の使用効率の向上が図られている。
（４）Ｔｘアービタ８３について
図５はＴｘアービタ８３の構成を示している。Ｔｘアービタ８３はＳパス１０に対応した４つのアービタブロック１１０から構成される。各アービタブロック１１０はライトアービタ部１１１、リードアービタ部１１２、Ｓパスポートの使用状況を示すＢＵＳＹフラグ１１３、セレクタ１１４、これらを制御するアービタ制御論理１１５から構成される。アービトレーションはＳパス毎、アクセス種別毎ののＲＥＱ信号を元に各Ｓパス毎実施され、ライト要求はライトアービタ部１１１、リード要求はリードアービタ部１１２にて行なわれる様になっている。
【００５５】
一回のＳパス１０へのパケット送信毎にアービタ制御論理１１５がセレクタ１１４を切り替え、ライト要求のアービトレーション、リード要求のアービトレーションが交互に行なわれる様になっている。また、ライト・リードいずれか片方のアクセス要求しかない場合は、アービタ制御論理１１５がこれを検出しセレクタ１１４をアクセス要求が発生している方に切り替えてアービトレーションを行なう。上記構成によりＴｘアービタ８３は各Ｓパス１０の使用権を決定する際に、ライトアクセス・リードアクセスが交互になる様に動作する。
（５）キャッシュメモリ部７について
図６はキャッシュメモリ部７の構成を示している。キャッシュメモリ部７は大別してＳパスＩ／Ｆ部１６とメモリ部１３１から構成されている。ＳパスＩ／Ｆ部１６はスイッチ部８の下りＳパスＩ／Ｆ９２ａと接続するパスＩ／Ｆ１３１ａ、スイッチ部８の上りＳパスＩ／Ｆ９２ｂと接続するパスＩ／Ｆ１３１ｂ、下りパス側を制御するＳパス側制御部Ａ  １３２ａ、上りパス側を制御するＳパス側制御部Ｂ  １３２ｂ、２パケット分までパケットの一時保持が可能な下りパス用パケットバッファ１３４ａ、２パケット分までパケットの一時保持が可能な上りパス用パケットバッファ１３４ｂから構成されている。
【００５６】
パスＩ／Ｆ１３１ａは下りＳパスデータ線９６ａでスイッチ部８の下りパスＩ／Ｆ９２ａと接続される一方、パケットバッファ１３４ａ、データ線１３５ａ、セレクタ１３６経由でデータ線１３７によりメモリモジュール１８に接続されている。Ｓパス側制御部Ａ  １３２ａは制御線９７でスイッチ部８のＳパス側制御部Ａ  ９４ａと接続され、制御線９７で通信をしながら下りデータ線９６ａを使用しスイッチ８からの送信パケットの受信を行なう。
【００５７】
パスＩ／Ｆ１３１ｂは上りＳパスデータ線９６ｂでスイッチ部８の上りパスＩ／Ｆ９２ｂと接続される一方、パケットバッファ１３４ｂ、データ線１３５ｂ、セレクタ１３６経由でデータ線１３７によりメモリモジュール１８に接続されている。Ｓパス側制御部Ｂ  １３２ｂは上りデータ線９６ｂを使用しスイッチ８への返信パケットの送信を行なう。
【００５８】
メモリ部１３１はメモリ制御部１７とメモリモジュール１８から構成されている。メモリ制御部１７の内部にはパケットヘッダ解析部１４０があり、メモリ制御部１７はＳパス１０ａで送信されパケットバッファ１３４ａに格納されたパケットのヘッダ情報を解析し、要求に従ってメモリモジュール１８に対するデータの読み書きを実行する。
【００５９】
メモリモジュール１８に対する読み書き動作が完了するとメモリ制御部１３１はＳパス側制御部Ｂ  １３２ｂにこれを通知し、Ｓパス側制御部Ｂ  １３２ｂは返信用パケットをパケットバッファ１３４ｂ上に作成してこれをスイッチ部８に送信する。
【００６０】
Ｓパス側制御部Ａ  １３２ａとＳパス側制御部Ｂ  １３２ｂは各々独立に動作可能となっており、上記の構成と動作によりＳパス１０は全二重転送が可能で、２パケットまでのコネクションレス転送を行なうようになっている。また、転送要求パケットの処理はスイッチ部８からの転送要求パケットの受信順に従って処理を行う様になっている。
（６）Ｓパス１０上のデータパケットの動きについて
図７はスイッチ部８上でホストインターフェース部４及びディスクインターフェース部６から１つのキャッシュメモリ部７へのアクセスが、４個が競合した場合のＳパス１０上のデータパケットの動きを示した図である。
【００６１】
図７の例では、スイッチ部８上で競合しているアクセス要求はキャッシュリードアクセス２個、キャッシュライトアクセス２個の合計４個である。スイッチ部８は図５に示したＴｘアービタ８３にて４つのアクセス要求をリードアクセス・ライトアクセス毎にアービトレーションする。これにより、まず１つのキャッシュリードアクセスが選択され下りＳパス１０ａを使用してリードのコマンドパケット２００がキャッシュメモリ部７に送信される。本例では２パケットまでのコネクションレスアクセスを採用している為、スイッチ部８は続けて次のアクセスのアービトレーションを行ない、今度は１つのキャッシュライトアクセスが選択され、リードのコマンドパケット２００に続けて１つ目のライトのコマンド・データパケット２０１が下りＳパス１０ａを使用してキャッシュメモリ部７に送信される。
【００６２】
キャッシュ部メモリ７は１つ目のリードのコマンドパケット２００を受信すると、これを解析してメモリモジュール１８よりデータを読み出し、ステータス情報を付加してデータ・ステータスパケット２０２を作成して上りＳパス１０ｂを使用してスイッチ部８に返信する。また、キャッシュメモリ部７は続けて送られてくる１つ目のライトアクセスについてもコマンド・データパケット２０１を解析して、メモリモジュール１８にデータを書き込み、結果をステータスパケット２０３として上りＳパス１０ｂを使用してスイッチ部８に返信する。
【００６３】
スイッチ部８は１つ目のリードのデータ・ステータスパケット２０２を受信すると、それをアクセス要求元に返信すると同時に、次のアクセスのアービトレーションを行ない、今度は２つ目のキャッシュリードアクセスが選択され、下りＳパス１０ａを使用して２つ目のリードのコマンドパケット２０４がキャッシュメモリ部７に送信する。また、スイッチ部８は次に１つ目のライトアクセスに対応するステータスパケット２０３を受信し、それをアクセス要求元に返信すると同時に、次のアクセスのアービトレーションを行ない、今度は２つ目のキャッシュライトアクセスを選択し、下りＳパス１０ａを使用して２つ目のライトのコマンド・データパケット２０５がキャッシュ部７に送信する。
【００６４】
キャッシュメモリ部７は同様に２つ目のリードのコマンドパケット２０４、２つ目のライトのコマンド・データパケット２０５を受信して、順に処理しそれぞれデータ・ステータスパケット２０６、ステータスパケット２０７としてスイッチ部８に返信する。したがって、ライトのコマンド・データパケット２０１、２０５とリードのデータ・ステータスパケット２０２、２０６の送信は、下り・上りの両Ｓパス１０で大部分の時間並行して行なわれる様に動作する事となる。
【００６５】
なお、ライトアクセス２つ、リードアクセス２つが、リード１、ライト１、リード２、ライト２の順に処理される例を示したが、ライト１、リード１、ライト２、リード２の順に処理される場合で有っても、リード１、ライト２の転送データパケット転送は大部分の時間並行して行なわれる様に動作する。
【００６６】
以上の本実施例によれば、スイッチ部８とキャッシュメモリ部７を接続するＳパス１０において下りＳパス１０ａと上りＳパス１０ｂが同時に使用される割合が高まる為、Ｓパス１０の使用率が向上し、ディスクアレイ装置のスループットを引き上げる事が可能となる。
【００６７】
【発明の効果】
本発明によれば、スイッチ部とキャッシュメモリ部間を接続する全二重パスの利用状況を改善する事で、ホストインターフェース部及びディスクインターフェース部とキャッシュメモリ部間のデータ転送スループットの高い磁気ディスク記憶制御装置を提供する事が出来る。
【図面の簡単な説明】
【図１】本発明の一実施例によるディスクアレイ制御装置のブロック構成図である。
【図２】図１に示す実施例におけるキャッシュメモリ部アクセスの転送に使用されるパケット構成を示す図である。
【図３】図１に示す実施例におけるキャッシュメモリアクセス制御部の構成を示す図である。
【図４】図１に示す実施例におけるスイッチ部の構成を示す図である。
【図５】図１に示す実施例におけるスイッチ部のＴｘアービタの構成を示す図である。
【図６】図１に示す実施例におけるキャッシュメモリ部の構成を示す図である。
【図７】図１に示す実施例におけるスイッチ部とキャッシュメモリ部間の転送パケットの動きを示す図である。
【符号の説明】
１    ディスクアレイ制御装置（磁気ディスク記憶制御装置）
２    共有メモリ部
３    ホストコンピュータ
４    ホストインターフェース部
５    ディスクアレイ
６    ディスクインターフェース
７    キャッシュメモリ部
８    スイッチ部
９    全二重パス（Ｍパス）
１０  全二重パス（Ｓパス）
９ａ，１０ａ    下りパス
９ｂ，１０ｂ    上りパス
１１，１４    プロセッサ
１２    チャネルＩ／Ｆ回路
１３    キャッシュメモリアクセス制御部
１５    ディスクＩ／Ｆ回路
１６    ＳパスＩ／Ｆ部
１７    メモリ制御部
１８    メモリモジュール
８３    Ｔｘアービタ
８４    Ｒｘアービタ
１３４ａ，１３４ｂ    パケットバッファ
【図１】
2004171362.tif 000003
【図２】
2004171362.tif 000004
【図３】
2004171362.tif 000005
【図４】
2004171362.tif 000006
【図５】
2004171362.tif 000007
【図６】
2004171362.tif 000008
【図７】
2004171362.tif 000009