(57)【要約】  【課題】  全二重データ転送に適したバックエンド・ネットワークを有する、ディスク装置およびその制御方法を提供する。  【解決手段】  ディスクアダプタとデュアルポートを有するディスクドライブを、スイッチを介してデュアルループ接続し、ディスクアダプタがディスクドライブへ発行するコマンドの種類（Read/Write）に応じてコマンドの送信先ループを決定し、且つReadのエクスチェンジとWriteのエクスチェンジが平行して進行するようにディスクアダプタはReadおよびWriteコマンドを発行する。【選択図】  図１
2005149173.tif 000002
【特許請求の範囲】
【請求項１】
チャネルアダプタとキャッシュメモリとディスクアダプタとを有するディスクコントローラと、複数の入出力ポートを備えたディスクドライブを有するディスクアレイとからなるディスク装置において、
前記ディスクアダプタと前記ディスクアレイを、スイッチを介して接続し、
前記ディスクアダプタと前記ディスクドライブ間を転送されるエクスチェンジに含まれるコマンドの種類によって、転送されるフレームの送信先ドライブの入出力ポートを決定することを特徴とするディスク装置。
【請求項２】
請求項１記載のディスク装置において、コマンドの種類がデータの読み出しコマンドか、あるいはデータの書き込みコマンドかによって、前記フレームの送信先ドライブポートを決定することを特徴とするディスク装置。
【請求項３】
請求項２記載のディスク装置において、データの読み出しに関する上記エクスチェンジと、データの書き込みに関する上記エクスチェンジが、平行して進行することを特徴とするディスク装置。
【請求項４】
チャネルアダプタとキャッシュメモリとディスクアダプタとを有するディスクコントローラと、複数の入出力ポートを備えたディスクドライブを有するディスクアレイとからなるディスク装置において、
前記ディスクアダプタと前記ディスクアレイを、スイッチを介して接続し、
前記ディスクアダプタと前記ディスクドライブ間のエクスチェンジに含まれるコマンドの種類によって、前記スイッチと前記ディスクドライブ間において転送されるフレームが通るパスを決定することを特徴とするディスク装置。
【請求項５】
請求項４記載のディスク装置において、コマンドの種類がデータの読み出しコマンドか、あるいはデータの書き込みコマンドかによって、前記スイッチと前記ディスクドライブ間において前記フレームが通るパスを決定することを特徴とするディスク装置。
【請求項６】
チャネルアダプタとキャッシュメモリとディスクアダプタとを有するディスクコントローラと、複数の入出力ポートを備えたディスクドライブを有するディスクアレイとからなるディスク装置において、
前記ディスクアダプタと前記ディスクアレイを、スイッチを介して接続し、
前記ディスクアダプタと前記ディスクドライブ間のエクスチェンジに含まれるコマンドの種類によって、前記ディスクアダプタから前記ディスクドライブへ送るフレーム内の送信先情報を前記ディスクアダプタにおいて決定し、
前記スイッチは、前記ディスクアダプタが接続されたポートと前記ディスクアレイを構成するディスクドライブが接続された各ポートとのポート間接続の切り換えを、入力されたフレーム毎に、該フレーム内の送信先情報に従って行うことを特徴とするディスク装置。
【請求項７】
チャネルアダプタとキャッシュメモリとディスクアダプタとを有するディスクコントローラと、複数の入出力ポートを備えたディスクドライブを有するディスクアレイとからなり、
前記ディスクアダプタと前記ディスクアレイとが、スイッチを介して接続されたディスク装置の制御方法において、
前記スイッチが、前記ディスクアダプタが接続されたポートと前記ディスクアレイを構成するディスクドライブが接続された各ポートとのポート間接続を、入力されたフレーム毎に、前記ディスクアダプタと前記ディスクドライブ間のエクスチェンジに含まれるコマンドの種類とフレーム内の送信先情報に従って、切り換えることを特徴とするディスク装置の制御方法。
【請求項８】
前記スイッチが、前記ディスクアダプタから前記ディスクドライブへ転送されるフレームについては該フレーム内の送信先情報と誤り検出符号を変更し、前記ディスクドライブから前記ディスクアダプタへ転送されるフレームについては該フレーム内の送信元情報と誤り検出符号を変更することを特徴とする請求項７記載のディスク装置の制御方法。
【請求項９】
チャネルアダプタとキャッシュメモリとディスクアダプタとを有するディスクコントローラと、複数の入出力ポートを備えたディスクドライブを有するディスクアレイとからなり、
前記ディスクアダプタと前記ディスクドライブの第１のドライブポート群が、第１のスイッチを介して接続され、前記ディスクアダプタと前記ディスクドライブの第２のドライブポート群が、第２のスイッチを介して接続され、さらに第１のスイッチと第２のスイッチとが接続されたディスク装置の制御方法において、
前記ディスクアダプタと前記ディスクドライブ間のエクスチェンジに含まれるコマンドの種類によって、転送されるフレームの送信先ドライブの入出力ポートを決定することを特徴とするディスク装置の制御方法。
【請求項１０】
チャネルアダプタとキャッシュメモリとディスクアダプタとを有するディスクコントローラと、複数の入出力ポートを備えたディスクドライブを有するディスクアレイとからなり、
第１のディスクアダプタと前記ディスクドライブの第１のドライブポート群が第１のスイッチを介して接続され、第１のディスクアダプタと前記ディスクドライブの第２のドライブポート群が第２のスイッチを介して接続され、第２のディスクアダプタと前記ディスクドライブの第２のドライブポート群が第２のスイッチを介して接続され、第２のディスクアダプタと前記ディスクドライブの第１のドライブポート群が第１のスイッチを介して接続され、さらに第１のスイッチと第２のスイッチが接続されたディスク装置の制御方法において、
前記第１のディスクアダプタあるいは第２のディスクアダプタと前記ディスクドライブ間のエクスチェンジに含まれるコマンドの種類によって、転送されるフレームの送信先ドライブの入出力ポートを決定することを特徴とするディスク装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムにおける２次記憶装置に関し、特に入出力データ転送性能が高いディスク装置に関する。
【背景技術】
【０００２】
現在のコンピュータシステムにおいては、ＣＰＵ（中央処理装置）が必要とするデ−タは２次記憶装置に保存され、ＣＰＵなどが必要とするときに応じて２次記憶装置に対してデ−タの書き込みおよび読み出しを行う。この２次記憶装置としては、一般に不揮発な記憶媒体が使用され、代表的なものとして磁気ディスク装置や、光ディスク装置などのディスク装置がある。近年高度情報化に伴い、コンピュータシステムにおいて、この種の２次記憶装置の高性能化が要求されている。
【０００３】
高性能ディスク装置では、入出力インターフェイスとしてファイバチャネルが使用されることが多い。図２０、図２１、図２２にファイバチャネルの接続トポロジを示す。図２０は、ポイントツーポイント(point to point)と呼ばれるトポロジである。このトポロジでは、ファイバチャネルのポートはN_Portと呼ばれ、一対のN_Port間は物理的には送受信２本の伝送路で相互に接続されている。図２１は、アービトレイテッドループ(Arbitrated Loop、以下FC-ALと記す)と呼ばれるトポロジである。FC-ALにおけるファイバチャネルのポートはNL_Port(Node Loop Portｔ)と呼ばれ、各NL_Portをループ状に接続するトポロジである。FC_ALは多数のディスクドライブを接続する場合に多く適用される。図２２は、ファブリック(Fabric)と呼ばれるトポロジである。このトポロジは、サーバやストレージ装置のポート(N_Port)とファイバチャネルのスイッチのポート(F_Port)を接続するトポロジである。ポイントツーポイント・トポロジとファブリック・トポロジでは、接続された一対のポート間で全二重データ転送が可能である。
【０００４】
図２３と図２４に、ファイバチャネルFCP(Fibre Channel Protocol for SCSI、以下FCPと記す)におけるエクスチェンジの例を示す。一般的に、エクスチェンジはシーケンス群からなり、またシーケンスは一連の動作を行う(又は複数の)フレームからなる。図２３はReadの例である。イニシエータからターゲットへReadコマンドが送られ(FCP_CMND)、それに対してターゲットからイニシエータへ読み出しデータが送られ(FCP_DATA)、最後にターゲットからイニシエータへステータス情報が送信されて(FCP_RSP)、エクスチェンジが終了する。図２４はWriteの例である。イニシエータからターゲットへWriteコマンドが送られ(FCP_CMND)、必要に応じてターゲットからイニシエータへバッファ制御情報が送られ(FCP_XFER_RDY)、それに対してイニシエータからターゲットへ書き込みデータが送られ(FCP_DATA)、最後にターゲットからイニシエータへステータス情報が送信されて(FCP_RSP)、エクスチェンジが終了する。このようにFCPでは、データ転送に方向性があり、多くの場合半二重オペレーションが行われている。データを送信しながら別のデータを平行して受信する場合を全二重オペレーションという。
【０００５】
ファイバチャネルは全二重データ転送が可能なので、FCPにおいても全二重オペレーションを活用すればデータ転送能力が向上する。FCPにおいて全二重データ転送を実現する第１の従来技術としては、例えばキューロジック(QLogic)社が発行しているホワイトペーパ“Full-Duplex and Fibre Channel, http://www.qlogic.com/documents/datasheets/knowledge_data/whitepapers/tb_duplex.pdf”に記載の方法がある。第１の従来技術では、ディスクドライブを接続した複数のFC-ALとサーバを、スイッチを介して接続し、サーバと複数のFC-ALとの間で平行してデータ転送を行う。
【０００６】
上位処理装置と記憶制御装置間において全二重データ転送を実現する方法が、特開２００３−８５１１７号の「記憶処理装置およびその運用方法」に開示されている。以下、該公報に記載の従来技術を第２の従来技術と呼ぶ。第２の従来技術では、上位装置と記憶制御装置間が全二重動作となるように、上位装置からのコマンド、データ量等に従って、入出力処理を行うチャネルプロセッサを制御する。
【０００７】
ディスクアレイ制御部とディスクドライブとをスイッチ接続したディスクアレイシステムが、特開２０００−２２２３３９号の「ディスクサブシステム」に開示されている。以下、該公報に記載の従来技術を第３の従来技術と呼ぶ。
【０００８】
【特許文献１】特開２００３−８５１１７号の「記憶処理装置およびその運用方法」
【０００９】
【特許文献２】特開２０００−２２２３３９号の「ディスクサブシステム」
【非特許文献１】キューロジック(QLogic)社が発行しているホワイトペーパ“Full-Duplex and Fibre Channel, http://www.qlogic.com/documents/datasheets/knowledge_data/whitepapers/tb_duplex.pdf”
【発明の開示】
【発明が解決しようとする課題】
【００１０】
ネットワーク技術の進歩に伴い、１チャネル当りのデータ転送速度は年々増加している。例えばディスク装置に使われるファイバチャネルでは、現状でチャネル当りのデータ転送速度が１Ｇｂｐｓから２Ｇｂｐｓであるが、近い将来４Ｇｂｐｓから１０Ｇｂｐｓへ高速化されることが予定されている。サーバとディスク装置間（以下フロントエンドと呼ぶ）のスループットはこの高速化に従うことが予想される。ところが、ディスク装置内のディスクアダプタとディスクアレイ間（以下バックエンドと呼ぶ）のスループットは以下の理由により、フロントエンドほど高速化されないと予想される。
【００１１】
第１の理由は、ディスクドライブは機械部品を含むので、電子、光素子のみ高速化を行えば良いフロントエンドに比べ高速化が難しいこと、である。第２の理由は、たとえディスクドライブが高速化したとしても、全てのディスクドライブ毎に高速インターフェイスを搭載するのは、多数のディスクドライブを有するディスク装置の高コスト化を招く、ことである。そこで、チャネル当たりのスピードを高速化せずに、ファイバチャネルの全二重データ転送能力を活用することにより、ディスク装置のバックエンドを高スループット化することが考えられる。
【００１２】
ファイバチャネルインターフェイスを有するディスクドライブでは、信頼性を高めるため、複数の入出力ポートを備えるディスクドライブが一般的である。第１の従来技術では、複数入出力ポートを有するディスクドライブについて考慮されておらず、バックエンドが複数入出力ポートを有するディスクドライブからなるディスク装置への適用は困難である。
【００１３】
第２の従来技術では、データ転送中のダイナミックな制御が必要であり、制御方法が複雑という問題があった。また、第２の従来技術では、ディスク装置のバックエンドにおける全二重データ転送については触れられていない。
【００１４】
第３の従来技術では、複数の入出力ポートを備えるディスクドライブのバックエンドへの適用と、全二重データ転送については触れられていない。
【００１５】
本発明の目的は、ディスク装置のバックエンドに好適な、全二重データ転送ネットワークを有するディスク装置を提供することにある。
【００１６】
本発明の他の目的は、信頼性の高いバックエンド・ネットワークを有するディスク装置を提供することにある。
【課題を解決するための手段】
【００１７】
上記目的を達成するため、本発明は、チャネルアダプタとキャッシュメモリとディスクアダプタとを有するディスクコントローラと、複数の入出力ポートを備えたディスクドライブを有するディスクアレイとからなるディスク装置において、前記ディスクアダプタと前記ディスクアレイを、スイッチを介して接続し、  前記ディスクアダプタと前記ディスクドライブ間を転送されるエクスチェンジに含まれるコマンドの種類によって、転送されるフレームの送信先ドライブの入出力ポートを決定するようにした。
【００１８】
また、コマンドの種類がデータの読み出しコマンドか、あるいはデータの書き込みコマンドかによって、前記フレームの送信先ドライブポートを決定するようにした。
【００１９】
さらに、データの読み出しに関する上記エクスチェンジと、データの書き込みに関する上記エクスチェンジが、平行して進行するようにした。
【００２０】
さらにまた、前記ディスクアダプタと前記ディスクドライブ間のエクスチェンジに含まれるコマンドの種類によって、前記スイッチと前記ディスクドライブ間において転送されるフレームが通るパスを決定するようにした。
【００２１】
また、コマンドの種類がデータの読み出しコマンドか、あるいはデータの書き込みコマンドかによって、前記スイッチと前記ディスクドライブ間において前記フレームが通るパスを決定するようにした。
【００２２】
さらにまた、前記ディスクアダプタと前記ディスクドライブ間のエクスチェンジに含まれるコマンドの種類によって、前記ディスクアダプタから前記ディスクドライブへ送るフレーム内の送信先情報を前記ディスクアダプタにおいて決定し、前記スイッチは、前記ディスクアダプタが接続されたポートと前記ディスクアレイを構成するディスクドライブが接続された各ポートとのポート間接続の切り換えを、入力されたフレーム毎に、該フレーム内の送信先情報に従って行うようにした。
【００２３】
また、前記スイッチは、前記ディスクアダプタが接続されたポートと前記ディスクアレイを構成するディスクドライブが接続された各ポートとのポート間接続を、入力されたフレーム毎に、前記ディスクアダプタと前記ディスクドライブ間のエクスチェンジに含まれるコマンドの種類とフレーム内の送信先情報に従って、切り換えるようにした。
【００２４】
さらに、前記スイッチは、前記ディスクアダプタから前記ディスクドライブへ転送されるフレームについては該フレーム内の送信先情報と誤り検出符号を変更し、前記ディスクドライブから前記ディスクアダプタへ転送されるフレームについては該フレーム内の送信元情報と誤り検出符号を変更するようにした。
【００２５】
さらにまた、前記ディスクアダプタと前記ディスクドライブの第１のドライブポート群を、第１のスイッチを介して接続し、前記ディスクアダプタと前記ディスクドライブの第２のドライブポート群を、第２のスイッチを介して接続し、さらに第１のスイッチと第２のスイッチを接続し、前記ディスクアダプタと前記ディスクドライブ間のエクスチェンジに含まれるコマンドの種類によって、転送されるフレームの送信先ドライブの入出力ポートを決定するようにした。
【００２６】
また、第１のディスクアダプタと前記ディスクドライブの第１のドライブポート群を第１のスイッチを介して接続し、第１のディスクアダプタと前記ディスクドライブの第２のドライブポート群を第２のスイッチを介して接続し、第２のディスクアダプタと前記ディスクドライブの第２のドライブポート群を第２のスイッチを介して接続し、第２のディスクアダプタと前記ディスクドライブの第１のドライブポート群を第１のスイッチを介して接続し、さらに第１のスイッチと第２のスイッチを接続し、
前記第１のディスクアダプタあるいは第２のディスクアダプタと前記ディスクドライブ間のエクスチェンジに含まれるコマンドの種類によって、転送されるフレームの送信先ドライブの入出力ポートを決定するようにした。
【発明の効果】
【００２７】
本発明によれば、容易な制御で全二重データ転送が可能なバックエンド・ネットワークを有するディスク装置が実現でき、ディスク装置のスループットを向上させる効果を奏する。
【発明を実施するための最良の形態】
【００２８】
以下、図面を参照して本発明に係る実施の形態を詳細に説明する。
【００２９】
（第１の実施の形態）
図１に、本発明の第１の実施の形態であるディスク装置の構成を示す。ディスク装置は、ディスクコントローラＤＫＣと、ディスクアレイＤＡ１と、スイッチＳＷからなる。ディスクコントローラＤＫＣは、チャネルアダプタＣＨＡと、キャッシュメモリＣＭと、ディスクアダプタＤＫＡからなる。チャネルアダプタＣＨＡとキャッシュメモリＣＭとディスクアダプタＤＫＡは、相互接続網ＮＷで接続されている。チャネルアダプタＣＨＡは、チャネルＣ１、Ｃ２を介して上位装置（図示せず）と接続する。ディスクアダプタＤＫＡはチャネルＤ０１、Ｄ０２とスイッチＳＷを介して、ディスクアレイＤＡ１と接続されている。
【００３０】
図２は、チャネルアダプタＣＨＡの構成を示す。
チャネルアダプタＣＨＡは、チャネルＣ１、Ｃ２に接続されたホストチャネル・インターフェイス２１と、相互結合網ＮＷに接続されたキャッシュメモリ・インターフェイス２２と、サービスプロセッサＳＶＰに接続するためのネットワーク・インターフェイス２３と、上位装置との間でのデータ転送を制御するためのプロセッサ２４と、該プロセッサが参照する各種のテーブルや実行すべきソフトウェアを格納したローカルメモリ２５と、これらの要素間の相互接続するプロセッサ周辺制御部２６からなる。
【００３１】
サービスプロセッサＳＶＰは、プロセッサ２４、３４（後出）が参照する上記各種テーブルの設定、変更、あるいはディスク装置の稼働状況のモニタ等に使用する。
【００３２】
ホストチャネル・インターフェイス２１は、チャネルパスＣ１、Ｃ２上のデータ転送プロトコルと、ディスクコントローラ内部のデータ転送プロトコルとの間の変換機能を有し、ホストチャネル・インターフェイス２１とキャッシュメモリ・インターフェイス２２との間は信号線２７によって接続されている。
【００３３】
図３は、ディスクアダプタＤＫＡの構成を示す。
ディスクアダプタＤＫＡは、相互結合網ＮＷに接続されたキャッシュメモリ・インターフェイス３１と、ディスクチャネルＤ０１、Ｄ０２に接続されたディスクチャネル・インターフェイス３２と、サービスプロセッサＳＶＰに接続するためのネットワーク・インターフェイス３３と、プロセッサ３４と、該プロセッサが参照する各種のテーブルや実行すべきソフトウェアを格納したローカルメモリ３５と、これらの要素間の相互接続するプロセッサ周辺制御部３６とからなる。
【００３４】
キャッシュメモリ・インターフェイス３１とディスクチャネル・インターフェイス３２との間は信号線３７によって接続されている。ディスクチャネル・インターフェイス３２は、ディスクコントローラ内部のデータ転送プロトコルと、ディスクチャネルＤ０１、Ｄ０２上のデータ転送プロトコル、例えば、ＦＣＰとの間の変換機能を備えている。
【００３５】
本実施の形態におけるディスクアレイＤＡ１の構成を述べる。図１に示したディスクアレイＤＡ１は、チャネルＤ１１、Ｄ１２上に接続した４個のディスクドライブからなるディスクアレイと、Ｄ１３、Ｄ１４上に接続した４個のディスクドライブからなるディスクアレイからなる。チャネルＤ１１を例にとると、ディスクドライブＤＫ０、ＤＫ１、ＤＫ２、ＤＫ３が、チャネルＤ１１上に接続されている。このように、多数のドライブを一つのチャネル上に接続してディスクドライブにアクセスする方法としては、ファイバチャネル・アービトレイテッド・ループ（以下ＦＣ−ＡＬと呼ぶ）がある。
【００３６】
図４に本実施の形態におけるＦＣ−ＡＬの接続形態の詳細を示す。各ディスクドライブは、それぞれＮＬポートを２個有する。各ディスクドライブの入出力ポートおよびスイッチＳＷの入出力ポートは、送信機Ｔｘと受信機Ｒｘを有する。スイッチＳＷのディスクアレイＤＡ１接続側入出力ポートは、ＦＬ（Ｆａｂｒｉｃ  Ｌｏｏｐ）ポートである。チャネルＤ１１により、スイッチＳＷ、ディスクドライブＤＫ０、ＤＫ１、ＤＫ２、ＤＫ３をループ状に接続する。同様にチャネルＤ１２により、スイッチＳＷ、ディスクドライブＤＫ０、ＤＫ１、ＤＫ２、ＤＫ３をループ状に接続する。これら２個のループは、ファイバチャネルのパブリックループであり、ディスクドライブＤＫ０、ＤＫ１、ＤＫ２、ＤＫ３は、スイッチＳＷを介して、ディスクアダプタＤＫＡのディスクチャネル・インターフェイス３２と通信可能である。以上、チャネルＤ１１、Ｄ１２の接続形態を例に説明したが、チャネルＤ１３、Ｄ１４でも同様である。
【００３７】
次に、本実施の形態のスイッチ動作を説明する。図５に示すように、スイッチＳＷは入出力ポートＰ１、Ｐ２、Ｐ３、Ｐ４、Ｐ５、Ｐ６を有する。ポートＰ１、Ｐ２、Ｐ３、Ｐ４、Ｐ５、Ｐ６は、全二重データ転送可能な入出力ポートである。動作の例として、ポートＰ１からフレームを入力し、ポートＰ２、Ｐ３、Ｐ４、Ｐ５、Ｐ６から出力する場合を述べる。スイッチＳＷは図５に示すように、クロスバスイッチ５１０と、スイッチコントローラ５１１からなる。クロスバスイッチ５１０は、この例では６×６のクロスバスイッチであり、入力ポートｉｎ１、ｉｎ２、ｉｎ３、ｉｎ４、ｉｎ５、ｉｎ６と、出力ポートｏｕｔ１、ｏｕｔ２、ｏｕｔ３、ｏｕｔ４、ｏｕｔ５、ｏｕｔ６を有する。
【００３８】
ポートＰ１から入力したフレームは、シリアルパラレル変換装置ＳＰ１と、バッファメモリＢＭ１と、８ｂ１０ｂ変換デコーダＤＥＣ１とフレームヘッダ解析部５０１を経由し、スイッチコントローラ５１１と入力ポートｉｎ１へ入力される。スイッチコントローラ５１１において、入力フレームのヘッダ部分に書かれた送信先ポートＩＤに従い、クロスバスイッチ５１０を切り換える。例として、ポートＰ６に接続されたデバイスのポートが送信先として選ばれた場合は、入力したフレームは出力ポートｏｕｔ６と、８ｂ１０ｂ変換エンコーダＥＮＣ１と、バッファメモリＢＭ２と、パラレルシリアル変換装置ＰＳ１を経由して、ポートＰ６から出力される。ここで、バッファメモリＢＭ１、ＢＭ２はＦＩＦＯ(Ｆｉｒｓｔ−Ｉｎ  Ｆｉｒｓｔ−ｏｕｔ)メモリである。
【００３９】
ディスクアダプタＤＫＡとディスクアレイＤＡ１を、スイッチＳＷを介して接続したことにより、ディスクアダプタＤＫＡはディスクドライブＤＫ０〜ＤＫ７の任意の入出力ポートにフレームを送信することができる。
【００４０】
図１において、ディスクアダプタＤＫＡとスイッチＳＷは、２本のチャネルＤ０１、Ｄ０２によって接続されているが、説明を容易にする為、ここではチャネルＤ０１のみ使用する場合を考える。ディスクアダプタＤＫＡ内のプロセッサ３４が参照する、バックエンド管理テーブルの例を図６に示す。ドライブ番号に対応して、Readコマンドの送信先ドライブのポートＩＤと、Writeコマンドの送信先ドライブポートＩＤが、図６の６０１にセットされている。６０１において、PID_0.a〜PID_7.aは、チャネルＤ１１あるいはチャネルＤ１３と接続されたＦＣ−ＡＬ上のディスクドライブのポートＩＤを示す。PID_0.b〜PID_7.bは、チャネルＤ１２あるいはチャネルＤ１４と接続されたＦＣ−ＡＬ上のディスクドライブのポートＩＤを示す。通常動作時(各ドライブポートが正常)は、ディスクアダプタＤＫＡから送信されたReadコマンドは、チャネルＤ０１とスイッチＳＷを経由し、送信先ポートであるPID_0.a〜PID_7.aのいずれかに届く。読み出しデータは、Readコマンドと方向は逆であるが同じパスを通る。一方Writeコマンドと書き込みデータは、チャネルＤ０１とスイッチＳＷを経由して、送信先ポートであるPID_0.b〜PID_7.bのいずれかに届く。
【００４１】
例として、ドライブ番号０のディスクドライブに対するReadと、ドライブ番号１のディスクドライブに対するWriteの動作について述べる。図３のプロセッサ３４は、図６の６０１を参照することにより、ReadコマンドをPID_0.aへ、WriteコマンドをPID_1.bへ送信する。Readコマンドが通るパスは、ディスクアダプタＤＫＡから始まり、チャネルＤ０１、スイッチＳＷ、チャネルＤ１１を経由し、ポートPID_0.aへ至る。Writeコマンドが通るパスは、ディスクアダプタＤＫＡから始まり、チャネルＤ０１、スイッチＳＷ、チャネルＤ１２を経由し、ポートPID_1.bへ至る。このようにコマンドの種類(Read/Write)によって、スイッチとディスクアレイ間でデータが通るパスを分けているので、ReadのエクスチェンジとWriteのエクスチェンジを平行して進行させることができる。
【００４２】
図２５は、ReadエクスチェンジとWriteエクスチェンジが平行して進行している場合の、ディスクアダプタＤＫＡ−スイッチ間ＳＷ(チャネルＤ０１上)のフレーム例を示す図である。ReadエクスチェンジとWriteエクスチェンジのデータ転送シーケンスに重なる時間の部分が生じるように、ディスクアダプタＤＫＡはReadコマンドとWriteコマンドを発行する。ディスクアダプタＤＫＡは、ReadコマンドとWriteコマンドを、必ずしも同時に発行する必要はない。また、ReadエクスチェンジとWriteエクスチェンジで、データ転送サイズが同じである必要もない。さらに、複数のReadエクスチェンジと複数のWriteエクスチェンジが平行して進行してもよい。
【００４３】
このとき、チャネルＤ０１上では平行して双方向にデータ転送が行われる。つまり、ディスクアダプタＤＫＡとスイッチＳＷ間において全二重オペレーションの状態となる。プロセッサ３４は、ReadエクスチェンジとWriteエクスチェンジのデータ転送シーケンスの時間が重なるようにコマンドを発行することにより、ディスクアダプタＤＫＡとスイッチＳＷ間の全二重オペレーションが可能となる。ディスクアダプタＤＫＡが送信先ポートＩＤを決定するためには、エクスチェンジ開始時に1回だけ管理テーブルを参照するだけでよいので、非常に容易な手段で全二重オペレーションを実現できることが分かる。
【００４４】
もし、ディスクドライブのポートの一方に障害が発生した場合は、６０２あるいは６０３の設定を適用することにより、ディスクアダプタＤＫＡはディスクアレイＤＡ１にアクセス可能である。例えば、ドライブ番号２のディスクドライブをReadしようとしたが、PID_2.aのポートに障害が発生した場合を考える。このとき、プロセッサ３４は６０２の設定を参照し、ドライブ番号２のディスクドライブに対してはReadコマンドをPID_2.bのポートへ送信する。同様に、ドライブ番号３のディスクドライブをWriteしようとしたが、PID_3.bのポートに障害が発生した場合を考える。このとき、プロセッサ３４は６０３の設定を参照し、ドライブ番号３のディスクドライブに対してはWriteコマンドをPID_3.aのポートへ送信する。
【００４５】
バックエンド管理テーブルの他の例を図７に示す。図６の管理テーブルとの違いは、例えば７０１の項目に記されているように、Readコマンド送信先ポートとWriteコマンド送信先ポートが同じＦＣ−ＡＬ上に設定されている点である。この場合、Readエクスチェンジとriteエクスチェンジが同じＦＣ−ＡＬの帯域を共有することになる。しかし、例えば、ドライブ番号０のディスクドライブへのReadとドライブ番号２のディスクドライブへのWriteのように、異なるＦＣ−ＡＬ上のエクスチェンジを平行して進行させることにより、チャネルＤ０１上では平行して双方向にデータ転送が行われる。このように同じＦＣ−ＡＬ上にReadのエクスチェンジとWriteのエクスチェンジが混在する設定にしていても、全二重オペレーションは問題なく実施でき、半二重オペレーション実行時に対してスループットが向上する。
【００４６】
以上、第１の実施の形態においては、ディスクアダプタが、発行するコマンドの種類(Read/Write)に応じて、送信先のディスクポートを決定していた。同様の処理はスイッチにおいても実施可能である。
【００４７】
（第２の実施の形態）
図８から図１１Ａ、図１１Ｂに、本発明における第２の実施の形態を示す。本実施の形態では、ディスクアダプタで設定された送信先ドライブポートにかかわらず、スイッチにおいてフレーム内情報を変更することで全二重オペレーションを実現する。
【００４８】
図８は本実施の形態で使用するスイッチの構成を示す。図５のスイッチに対して、メモリ８１２が追加され、スイッチ部８１０は共有メモリ型となっている。プロセッサ８１１は、共有メモリ型スイッチ８１０に蓄えられたフレームを読み書き可能である。メモリ８１２には図１１Ａおよび図１１Ｂに示す管理テーブルが格納され、プロセッサ８１１は図１０のフローチャートに従い、フレーム変更処理を行う。図１１Ａの管理テーブルでは、ディスクアダプタからスイッチへ送信されたフレーム内の送信先ポートＩＤ 1101に対する変更ポートＩＤ 1102、1103が対応づけられている。1102はReadのエクスチェンジに対する変更ポートＩＤであり、1103はWriteのエクスチェンジに対する変更ポートＩＤである。図１１Ｂの管理テーブルは、エクスチェンジ毎に作製される変更項目を示し、図１０のフローチャートに従って作製、参照される。
【００４９】
図１０のフローチャートは、スイッチをフレームが通過するたびに実行される。詳細には、このフレーム変更処理は、ディスクアダプタとスイッチ間での入出力に際して実行される。二重実行を防ぐため、スイッチとディスクアレイとの入出力に際しては、実行されない。
【００５０】
ステップ1001において、入力フレームがFCP_CMNDかどうかチェックし、新しいエクスチェンジが開始したかを判断する。次にフレームがFCP_CMNDの場合は、ステップ1002においてコマンド種類を調べる。次にコマンドがReadまたはWriteの場合は、ステップ1003に進む。
【００５１】
ステップ1003において、FCP_CMNDフレームからエクスチェンジＩＤ OX_IDと、送信先ＩＤ D_ID、送信元ＩＤ S_IDを読み取る。読み取ったOX_ID、S_ID、D_IDを、それぞれ図１１Ｂテーブルの1104、1105、1106にセットする。1106にセットした送信先ポートＩＤと図１１Ａテーブルから、変更後の送信元ポートＩＤ 1107、送信先ポートＩＤ 1108をセットする。一つのエクスチェンジにおいて、ディスクアダプタからスイッチへ入力されるフレームに対しては1109の変更を行い、スイッチからディスクアダプタへ出力されるフレームに対しては1110の変更を行い、合わせて２種類のフレーム変更処理を行う。1109では送信先ポートＩＤのみ変更し、1110では送信元ポートＩＤのみ変更する。1110の変更は、ディスクアダプタへ送信されるフレームのS_IDとD_IDに矛盾を発生させないために必要である。
【００５２】
次に図１０のステップ1004に進む。ここで先に作製したテーブル図１１Ｂに従い、フレームの送信先ポートＩＤ D_IDを変更し、さらにＣＲＣ(Cyclic Redundancy Check)を計算し直してフレーム内の所定の位置に書き戻す。
【００５３】
ステップ1001で判定がNoの場合は、ステップ1005へ進む。フレーム内のエクスチェンジＩＤ OX_ID、送信元ポートＩＤ S_ID、送信先ポートＩＤ D_IDを読み取り、図１１Ｂテーブルの各行と比較する。テーブル内に該当する項目があれば（各行においてOX_ID、S_ID、D_IDが全て一致する項目があれば）、ステップ1006へ進み、図１１Ｂテーブルに従って送信元ポートＩＤ S_ID、送信先ポートＩＤ D_IDを変更し、さらにＣＲＣを計算し直してフレーム内の所定の位置へ書き戻す。次にステップ1007へ進み、エクスチェンジ終了条件を調べる。もしエクスチェンジが終了した場合には、ステップ1008へ進み、図１１Ｂから該当するエクスチェンジの行のエントリを削除する。
【００５４】
なお、図９にフレームの構造(例としてFCP_CMND)を示すが、送信先ポートＩＤは９０１、送信元ポートＩＤは９０２、エクスチェンジＩＤは９０３、コマンド種類は９０４、エラー検出情報は９０５、エクスチェンジ終了状況は９０６を調べることにより、容易に知ることができる。
【００５５】
以上述べたように本実施の形態によれば、スイッチにおけるフレーム変更処理により、第１の実施の形態と同様の動作を実現できるので、ディスクアダプタの負荷を低減できる効果がある。
（第３の実施の形態）
図１２に本発明の、第３の実施の形態であるディスク装置の構成を示す。本実施の形態のディスク装置は、スイッチを二重化した点に特徴がある。本実施の形態において、ディスクアダプタＤＫＡと、スイッチＳＷ１、ＳＷ２と、ディスクアレイＤＡ２との間のデータ転送方式は、ファイバチャネルを使用している。
【００５６】
本実施の形態のディスク装置は、ディスクコントローラＤＫＣと、スイッチＳＷ１、ＳＷ２と、ディスクアレイＤＡ２からなる。ディスクコントローラＤＫＣは、チャネルアダプタＣＨＡと、キャッシュメモリＣＭと、ディスクアダプタＤＫＡからなる。
【００５７】
ディスクアダプタＤＫＡとスイッチＳＷ１をチャネルＤ０１で接続し、ディスクアダプタＤＫＡとスイッチＳＷ２をチャネルＤ０２で接続する。スイッチＳＷ１とスイッチＳＷ２は、チャネル1201で接続する。
【００５８】
ディスクアレイＤＡ２を構成する各ディスクドライブは、入出力ポートを２個有する。例えば、ディスクドライブＤＫ０、ＤＫ４、ＤＫ８、ＤＫ１２は、チャネルＤ１１およびＤ２１の両チャネルと接続する。ディスクアレイＤＡ２は、チャネルＤ１１とＤ２１に接続した４個のディスクからなるディスクアレイと、Ｄ１２とＤ２２に接続した４個のディスクからなるディスクアレイと、Ｄ１３とＤ２３に接続した４個のディスクからなるディスクアレイと、Ｄ１４とＤ２４に接続した４個のディスクからなるディスクアレイ、からなる。チャネルＤ１１、Ｄ１２、Ｄ１３、Ｄ１４、Ｄ２１、Ｄ２２、Ｄ２３、Ｄ２４は、ＦＣ−ＡＬでディスクドライブを接続する。
【００５９】
本実施の形態におけるバックエンド管理テーブル例を図１３に示す。項目1301（ＶＤＥＶ）は、ディスクドライブが属する論理グループを示す。ディスクアダプタＤＫＡは、項目1302、1303、1304のDKA Port値が０の場合はチャネルＤ０１を、値が１の場合はチャネルＤ０２を使用して、スイッチＳＷ１あるいはスイッチＳＷ２と接続し、ディスクアレイＤＡ２と通信する。PID_0.a〜PID_15.aは、スイッチＳＷ１に接続されたＦＣ−ＡＬ上のディスクドライブのポートＩＤを示す。PID_0.b〜PID_15.bは、スイッチＳＷ２に接続されたＦＣ−ＡＬ上のディスクドライブのポートＩＤを示す。通常動作時（ＳＷ１、ＳＷ２共に正常）は、ディスクアダプタＤＫＡから送信されたReadコマンドはＳＷ１を経由し、送信先ポートであるPID_0.a〜PID_15.aのいずれかに届く。読み出しデータは、Readコマンドと方向は逆であるが同じパスを通る。一方Writeコマンドと書き込みデータは、スイッチＳＷ１と、チャネル1201と、スイッチＳＷ２を経由して、送信先ポートであるPID_0.b〜PID_15.bのいずれかに届く。
【００６０】
例として、ドライブ番号０のディスクドライブに対するReadと、ドライブ番号４のディスクドライブに対するWriteの動作について述べる。Readコマンドが通るパスは、ディスクアダプタＤＫＡから始まり、チャネルＤ０１、スイッチＳＷ１、チャネルＤ１１を経由し、ポートPID_0.aへ至る。Writeコマンドが通るパスは、ディスクアダプタＤＫＡから始まり、チャネルＤ０１、スイッチＳＷ１、チャネル１２０１、スイッチＳＷ２、チャネルＤ２１を経由し、ポートPID_4.bへ至る。
【００６１】
このようにコマンドの種類(Read/Write)によって、スイッチとディスクアレイ間でデータが通るパスを分けているので、ReadのエクスチェンジとWriteのエクスチェンジを平行して進行させることができ、ディスクアダプタＤＫＡとスイッチＳＷ１間の全二重オペレーションが可能となる。
【００６２】
スイッチＳＷ１に障害が発生した場合は、1303の設定を適用し、ＳＷ２に障害が発生した場合は1304の設定を適用することにより、１個のスイッチに障害が発生した場合でもディスクアダプタＤＫＡは、ディスクアレイＤＡ２にアクセス可能である。ただし、スイッチ障害発生時は、一つのＦＣ−ＡＬの帯域を共有するコマンド数が増えることになるので、正常時に比べスループットは低下する場合がある。
【００６３】
図１４Ａ、図１４Ｂ、図１４Ｃ及び図１５により、本発明の実施の形態におけるスループット向上効果を説明する。図１４Ａ、図１４Ｂ、及び図１４Ｃに比較検討したトポロジを示す。図１４Ａ、図１４Ｂ、及び図１４Ｃは、ＦＣ−ＡＬに接続された４台のディスクドライブに対して、内ドライブ２個に対してはWrite、他のドライブ２個に対してはReadを実行するトポロジを示している。図１４Ａは従来のディスク装置のトポロジである。ディスクアダプタにＦＣ−ＡＬが直結されている。ループ速度は１Ｇｂｐｓである。図１４Ｂは、本実施の形態のトポロジであるが、コマンド種類(Read/Write)毎にループを分けた例である。ループ速度は１Ｇｂｐｓであるが、ディスクアダプタとスイッチ間および２個のスイッチ間のチャネル速度は２Ｇｂｐｓとした。図１４Ｃは、図１４Ｂ同様、本実施の形態のトポロジであるが、異なるコマンド(Read/Write)を同じループに混在させた例である。ループ速度は１Ｇｂｐｓであるが、ディスクアダプタとスイッチ間および２個のスイッチ間のチャネル速度は２Ｇｂｐｓとした。
【００６４】
図１５は、図１４Ａ、図１４Ｂ、及び図１４Ｃで示したトポロジにおけるスループットの実測例である。図１５において、曲線(Ａ)は図１４Ａ、曲線(Ｂ)は図１４Ｂ、曲線(Ｃ)は図１４Ｃのトポロジにおけるスループット特性を示す。横軸は１コマンド当たりのデータ転送サイズ（ＫＢ）を、縦軸はスループット（ＭＢ/s）である。
グラフから明らかな様に、データ転送サイズ８ＫＢ以上で従来の(Ａ)トポロジに比べてスループット向上が認められ、データ転送サイズ１６ＫＢ以上で３６％、データ転送サイズが１２８ＫＢ以上の領域では８７％のスループット向上を確認できた。
【００６５】
また、曲線(Ｂ)と(Ｃ)を比較するとわかるが、コマンド(Read/Write)によって使用するループを別にした方が、ループ内に異なるコマンドを混在させるよりもスループット向上効果が高い。
【００６６】
以上、第３の実施の形態では、ディスクアダプタの入出力ポート２個の内１個を定常系、他１個を障害時用の交替系として説明したが、もちろん、２個の入出力ポートを同時に使用しても構わない。図１６に、ディスクアダプタの２個の入出力ポートを同時使用する場合のバックエンド管理テーブル例を示す。図１６の項目1601に示すように、ディスクドライブによって使用するディスクアダプタのポートを変更している。これにより、２個のディスクアダプタ・ポート間でバックエンド・ネットワーク負荷を分散できる。また、障害発生時に使用してみて初めて、交替系の故障が判明するのを防止する効果がある。
（第４の実施の形態）
図１７に、本発明の第４の実施の形態であるディスク装置の構成を示す。本実施の形態において、ディスクアダプタＤＫＡ１、ＤＫＡ２と、スイッチＳＷ１、ＳＷ２と、ディスクアレイＤＡ３との間のデータ転送方式は、ファイバチャネルを使用している。本実施の形態は、第３の実施の形態に比べてディスクコントローラを構成する要素が二重化されており、信頼性が高い特徴を有する。チャネルアダプタＣＨＡ1、ＣＨＡ２、キャッシュメモリＣＭ１、ＣＭ２、ディスクアダプタＤＫＡ１、ＤＫＡ２は、２つの相互結合網ＮＷ１、ＮＷ２で相互接続されている。ディスクアダプタＤＫＡ１は、スイッチＳＷ１あるいはＳＷ２を介してディスクアレイと接続可能である。ディスクアダプタＤＫＡ２も同様に、スイッチＳＷ１あるいはＳＷ２を介してディスクアレイＤＡ３と接続可能である。本実施の形態におけるバックエンド管理テーブルの例を、図１８に示す。PID_0.a〜PID31.aは、スイッチＳＷ１に接続されたＦＣ−ＡＬ上のディスクドライブのポートＩＤを示す。また、PID_0.b〜PID31.bは、スイッチＳＷ２に接続されたＦＣ−ＡＬ上のディスクドライブのポートＩＤを示す。ディスクアダプタＤＫＡ１は、ＤＫＡPort値が０の場合はチャネルＤ０１を、値が１の場合はチャネルＤ０２を使用して、スイッチＳＷ１あるいはＳＷ２と接続し、ディスクアレイＤＡ３と通信する。ディスクアダプタＤＫＡ１は、ＤＫＡPort値が０の場合はチャネルＤ０３を、値が１の場合はチャネルＤ０４を使用して、スイッチＳＷ１あるいはＳＷ２と接続し、ディスクアレイＤＡ３と通信する。図１８では、図１６の管理テーブルに比べてＤＫＡ番号1801の項目が追加されている。項目1801は、二重化されているディスクアダプタのどちらを使用するかを示す。例えばＤＫＡ番号が０ならば、そのディスクドライブはディスクアダプタＤＫＡ１からアクセスする。逆に、ＤＫＡ番号が１ならば、そのディスクドライブはディスクアダプタＤＫＡ２からアクセスする。ディスクアダプタのうちどちらか一方に障害が発生した場合は、他方のディスクアダプタからアクセスするように管理テーブルのＤＫＡ番号1801を変更する。本実施の形態によれば、ディスクアダプタを二重化しているので信頼性が向上できる効果の他、正常動作時は２個のディスクアダプタ間で負荷を分散できる効果がある。また、言うまでもないが、第1から第３の実施の形態と同様に、ディスクアダプタが発行するコマンドの種類によって、フレーム送信先のディスクドライブ・ポートを決定することにより、全二重オペレーション実行時のスループットが向上する効果がある。
【００６７】
図１８の管理テーブルでは、スイッチＳＷ１と接続されたディスクドライブのポートはRead用、スイッチＳＷ２と接続されたディスクドライブのポートはWrite用に割り当てている(スイッチＳＷ１、ＳＷ２正常時)。例えば、ディスクアダプタＤＫＡ１からドライブ０へのWriteデータは、ディスクアダプタＤＫＡ１からスイッチＳＷ１、チャネル１７０１、スイッチＳＷ２を順に経由し、ドライブ０へ転送される。また、ドライブ４からディスクアダプタＤＫＡ２へのReadデータは、ドライブ４からスイッチＳＷ１、チャネル１７０１、スイッチＳＷ２を順に経由して、ディスクアダプタＤＫＡ２へ転送される。図１８の設定では、スイッチ間をつなぐチャネル１７０１上のデータ転送方向は、スイッチＳＷ１からスイッチＳＷ２への一方向となる。
【００６８】
第４の実施の形態における、バックエンド管理テーブルの他の例を図２６に示す。図２６の設定では、同じスイッチに接続するディスクドライブのポートでも、属するループによってRead用ポートあるいはWrite用ポートの割り当てを変更している点に特徴がある。
【００６９】
図２６によれば、ドライブ０、４、８、１２・・・２８およびドライブ２、６、１０、１４・・・３０のスイッチＳＷ１へ接続するポートはRead用ポート、スイッチＳＷ２へ接続するポートはWrite用ポートとして割り当てる。一方、ドライブ１、５、９、１３・・・２９およびドライブ３、７、１１、１５・・・３１のスイッチＳＷ１へ接続するポートはWrite用ポート、スイッチＳＷ２へ接続するポートはRead用ポートとして割り当てる。例えば、ドライブ０へのWriteデータは、ディスクアダプタＤＫＡ１からスイッチＳＷ１、チャネル１７０１、スイッチＳＷ２を順に経由し、ドライブ０へ転送される。それに対して、ドライブ１からのReadデータは、ドライブ１からスイッチＳＷ２、チャネル１７０１、スイッチＳＷ１を順に経由して、ディスクアダプタＤＫＡ１へ転送される。このように、同じスイッチに接続したドライブポートにおいて、Read／Writeコマンドとドライブポートとの対応をループ毎に変えることにより、スイッチ間で双方向にデータが流れるようになるので、チャネル１７０１上においても全二重オペレーションが実現可能である。図１８の設定に比べて図２６の設定では，スイッチ間を接続するチャネル１７０１の配線本数を節約することができる。
【００７０】
（第５の実施の形態）
図１９に、本発明の第５の実施の形態であるディスク装置の構成を示す。上記第１から第４の実施の形態では、バックエンド・ネットワークはファイバチャネルを使用していたが、本実施の形態ではＳＡＳ(Serial Attached SCSI)を使用した例を示す。ディスクアダプタＤＫＡ１は、エキスパンダ1904あるいはエキスパンダ1905を介してディスクアレイと接続可能である。ディスクアダプタＤＫＡ２も同様に、エキスパンダ1904あるいはエキスパンダ1905を介してディスクアレイと接続可能である。ディスクアダプタＤＫＡ１とエキスパンダ１、２間と、ディスクアダプタＤＫＡ２とエキスパンダ１、２間、および、エキスパンダ１、２間は、Wideポートで接続し、エキスパンダと各ディスクドライブ間を、Narrowポートで接続している。エキスパンダは、ファイバチャネルのスイッチに相当するが、ループ接続はサポートされていない。従って、多数のディスクドライブを接続する場合は、複数のエキスパンダを多段に接続し、ドライブ接続ポート数を増やしても良い。使用できるディスクドライブは、２ポートを有するＳＡＳドライブ1901の他、ＳＡＴＡ(Serial ATA)ドライブ1902も接続できる。ただし、入出力ポートが１個のＳＡＴＡドライブ１９０３の場合はセレクタ１９０６を介して、エキスパンダ1904およびエキスパンダ1905と接続する。本実施の形態によれば、ファイバチャネルドライブより安価なＳＡＳドライブ、ＳＡＴＡドライブを使用できるので、ディスク装置を低コスト化できる。また、言うまでもないが、第1から第４の実施の形態と同様に、ディスクアダプタが発行するコマンドの種類によって、フレーム送信先のディスクドライブ・ポートを決定することにより、全二重オペレーション実行時のスループットが向上する効果がある。
【００７１】
さらに本実施例の形態によれば、ディスクドライブの２個の入出力ポートを定常的に使用することにより全二重データ転送を実現しているので、障害発生時に初めて交替用ディスクドライブポートの障害が発見されるのを防止することができる。そして、ディスクアダプタとディスクアダプタ間の接続を２個のエキスパンダを冗長化しているので、バックエンドネットワークの信頼性が高い。
【図面の簡単な説明】
【００７２】
【図１】本発明の第１の実施の形態のディスク装置を示す図である。
【図２】本発明のチャネルアダプタ１０の構成例を示す図である。
【図３】本発明のディスクアダプタ２０の構成例を示す図である。
【図４】本発明のバックエンド構成例の詳細を示す図である。
【図５】本発明に用いるスイッチの構成例を示す図である。
【図６】本発明のディスクアダプタで参照される管理テーブル例を示す図である。
【図７】本発明のディスクアダプタで参照される管理テーブル例を示す図である。
【図８】本発明の第２の実施の形態に用いるスイッチの構成を示す図である。
【図９】本発明のＦＣＰ＿ＣＭＮＤのフレーム例を示す図である。
【図１０】本発明のスイッチにおける処理フロー例を示す図である。
【図１１Ａ】本発明のスイッチで参照される管理テーブル例を示す図である。
【図１１Ｂ】本発明のスイッチで参照される管理テーブル例を示す図である。
【図１２】本発明の第３の実施の形態のディスク装置を示す図である。
【図１３】本発明の第３の実施の形態で参照される管理テーブルを示す図である。
【図１４Ａ】本発明の第３の実施の形態の効果を説明するための比較図である。
【図１４Ｂ】本発明の第３の実施の形態の効果を説明するための図である。
【図１４Ｃ】本発明の第３の実施の形態の効果を説明するための図である。
【図１５】本発明の第３の実施の形態の効果を説明するための図である。
【図１６】本発明の第３の実施の形態で参照される管理テーブルを示す図である。
【図１７】本発明の第４の実施の形態のディスク装置を示す図である。
【図１８】本発明の第４の実施の形態で参照される管理テーブルを示す図である。
【図１９】本発明の第５の実施の形態のディスク装置を示す図である。
【図２０】ポイントツーポイント・トポロジを説明する図である。
【図２１】アービトレイテッドループ・トポロジを説明する図である。
【図２２】ファブリック・トポロジを説明する図である。
【図２３】Read動作時のエクスチェンジを説明する図である。
【図２４】Write動作時のエクスチェンジを説明する図である。
【図２５】本発明の同時進行するReadエクスチェンジとWriteエクスチェンジ例を説明する図である。
【図２６】本発明のバックエンド管理テーブル例を示す図である。
【符号の説明】
【００７３】
ＤＫＣ・・・ディスクコントローラ、
ＣＨＡ、ＣＨＡ１、ＣＨＡ２・・・チャネルアダプタ、
ＣＭ、ＣＭ１、ＣＭ２・・・キャッシュメモリ、
ＤＫＡ、ＤＫＡ１、ＤＫＡ２・・・ディスクアダプタ、
ＤＡ１、ＤＡ２、ＤＡ３・・・ディスクアレイ、
ＤＫ０、ＤＫ１、ＤＫ２、ＤＫ３、
ＤＫ４、ＤＫ５、ＤＫ６、ＤＫ７、
ＤＫ８、ＤＫ１２・・・ディスクドライブ、
Ｃ１、Ｃ２、Ｄ０１、Ｄ０２、Ｄ０３、Ｄ０４、Ｄ１１、Ｄ１２、Ｄ１３、Ｄ１４Ｄ２１、Ｄ２２、Ｄ２３、Ｄ２４・・・チャネル
ＳＷ、ＳＷ１、ＳＷ２・・・スイッチ
Ｐ１、Ｐ２、Ｐ３、Ｐ４、Ｐ５、Ｐ６・・・スイッチポート
５１０・・・クロスバスイッチ、
５１１・・・スイッチコントローラ、
ｉｎ１、ｉｎ２、ｉｎ３、ｉｎ４、ｉｎ５、ｉｎ６・・・クロスバスイッチ入力ポート、
ｏｕｔ１、ｏｕｔ２、ｏｕｔ３、ｏｕｔ４、ｏｕｔ５、ｏｕｔ６・・・クロスバスイッチ出力ポート、
ＳＰ１・・・シリアルパラレル変換装置、
ＰＳ１・・・パラレルシリアル変換装置、
ＢＭ１、ＢＭ２・・・パッファメモリ、
ＤＥＣ１・・・８ｂ１０ｂ変換デコーダ、
ＥＮＣ１・・・８ｂ１０ｂ変換エンコーダ、
Ｔｘ・・・送信機、
Ｒｘ・・・受信機、
ＮＬ・・・ＮＬポート、
ＦＬ・・・ＦＬポート、
Ｎ・・・Ｎポート、
Ｆ・・・Ｆポート、
ＮＷ、ＮＷ１、ＮＷ２・・・相互結合網、
ＶＥＤＶ０、ＶＤＥＶ１、ＶＤＥＶ２、ＶＤＥＶ３、ＶＥＤＶ４、ＶＤＥＶ５、Ｖ  ＤＥＶ６、ＶＤＥＶ７・・・論理グループ、
ＳＶＰ・・・サービスプロセッサ、
２１・・・ホストチャネル・インターフェイス、
２２、３１・・・キャッシュメモリ・インターフェイス
２３、３３・・・ネットワーク・インターフェイス、
２４、３４・・・プロセッサ、
２６、３６・・・プロセッサ周辺制御部、
２５、３５・・・ローカルメモリ、
２７、３７・・・信号線、
８１０・・・共有メモリ型スイッチ、
８１１・・・プロセッサ、
８１２・・・メモリ、
１９０１・・・ＳＡＳドライブ、
１９０２、１９０３・・・ＳＡＴＡドライブ、
１９０６・・・セレクタ、
１９０４、１９０５・・・エキスパンダ。
【図１】
2005149173.tif 000003
【図２】
2005149173.tif 000004
【図３】
2005149173.tif 000005
【図４】
2005149173.tif 000006
【図５】
2005149173.tif 000007
【図６】
2005149173.tif 000008
【図７】
2005149173.tif 000009
【図８】
2005149173.tif 000010
【図９】
2005149173.tif 000011
【図１０】
2005149173.tif 000012
【図１１Ａ】
2005149173.tif 000013
【図１１Ｂ】
2005149173.tif 000014
【図１２】
2005149173.tif 000015
【図１３】
2005149173.tif 000016
【図１４Ａ】
2005149173.tif 000017
【図１４Ｂ】
2005149173.tif 000018
【図１４Ｃ】
2005149173.tif 000019
【図１５】
2005149173.tif 000020
【図１６】
2005149173.tif 000021
【図１７】
2005149173.tif 000022
【図１８】
2005149173.tif 000023
【図１９】
2005149173.tif 000024
【図２０】
2005149173.tif 000025
【図２１】
2005149173.tif 000026
【図２２】
2005149173.tif 000027
【図２３】
2005149173.tif 000028
【図２４】
2005149173.tif 000029
【図２５】
2005149173.tif 000030
【図２６】
2005149173.tif 000031