(57)【要約】【課題】ストレージモジュール間のアクセスを高速に行う。【解決手段】第一及び第二のストレージモジュールを含んだ複数のストレージモジュールを有するストレージシステムにおいて、第一のストレージモジュールが、複数のポートを有した第一のスイッチ回路と、第一のスイッチ回路が有する複数のポートのいずれかのポートに内部パスを介して接続されている第一回路とを備える。第二のストレージモジュールが、第二回路を備える。第一のスイッチ回路が有する複数のポートのいずれかのポートに、第一のスイッチ回路と第二の回路とを結ぶためのパスであるダイレクトパスが繋がる。第一の回路が、第二の回路宛のパケットを発行し、第一のスイッチ回路が、第一の回路から第二回路宛のパケットを受信し、そのパケットを、第二の回路へのダイレクトパスに繋がっているポートから出力する。【選択図】図１
2010092243.tif 000002
【特許請求の範囲】
【請求項１】
第一及び第二のストレージモジュールを含んだ複数のストレージモジュールを有するストレージシステムであって、
前記第一のストレージモジュールが、
複数のポートを有した第一のスイッチ回路と、
前記第一のスイッチ回路が有する前記複数のポートのいずれかのポートに接続されている第一回路と
を備え、
前記第二のストレージモジュールが、第二回路を備え、
前記第一のスイッチ回路が有する前記複数のポートのいずれかのポートに、前記第一のスイッチ回路と前記第二の回路とを結ぶためのパスであるダイレクトパスが繋がっており、
前記第一の回路が、前記第二の回路宛のパケットを発行し、
前記第一のスイッチ回路が、前記第一の回路から前記第二回路宛のパケットを受信し、そのパケットを、前記第二の回路への前記ダイレクトパスに繋がっているポートから出力する、
ストレージシステム。
【請求項２】
前記第一のストレージモジュールが、前記第一の回路として、
ライトコマンド又はリードコマンドであるＩ／Ｏ（Input/Output）コマンドを外部装置から受け付ける回路である第一の外部Ｉ／Ｆ回路と、
物理記憶装置と通信するためのインタフェース回路である第一のストレージＩ／Ｆ回路と、
前記外部装置からのライトコマンドに従って前記物理記憶装置に書き込まれるライト対象データ、及び、前記外部装置からのリードコマンドに従って前記物理記憶装置から読み出され前記外部装置に送信されるリード対象データが書き込まれる回路である第一のキャッシュメモリ回路と、
前記外部Ｉ／Ｆ回路で受けたＩ／Ｏコマンドを処理する回路である第一のプロセッサ回路と
を備え、
前記第二のストレージモジュールが、複数のポートを備えた第二のスイッチ回路を有し、前記第二の回路として、
ライトコマンド又はリードコマンドであるＩ／Ｏコマンドを外部装置から受け付ける回路である第二の外部Ｉ／Ｆ回路と、
物理記憶装置と通信するためのインタフェース回路である第二のストレージＩ／Ｆ回路と、
前記物理記憶装置に書き込まれるライト対象データ、及び、前記物理記憶装置から読み出されたリード対象データが書き込まれる回路である第二のキャッシュメモリ回路と、
前記外部装置からのＩ／Ｏコマンドを処理する回路である第二のプロセッサ回路と
のうちの少なくとも前記第二のキャッシュメモリ回路及び前記第二のプロセッサを有しており、
前記第一のスイッチ回路が有する複数のポートには、
前記第一の外部Ｉ／Ｆ回路が接続されているポート（１１）と、
前記第一のストレージＩ／Ｆ回路が接続されているポート（１２）と、
前記第一のキャッシュメモリ回路が接続されているポート（１３）と、
前記第一のプロセッサ回路が接続されているポート（１４）と
の他に、
前記第一のスイッチ回路と前記第二のキャッシュメモリ回路とを結ぶためのダイレクトパスに繋がっているポート（１５）と、
前記第一のスイッチ回路と前記第二のプロセッサ回路とを結ぶためのダイレクトパスに繋がっているポート（１６）と、
前記第一のスイッチ回路と前記第二のスイッチ回路とを結ぶためのスイッチ接続パスに繋がっているポート（１７）と
があり、
前記第二のスイッチ回路が有する複数のポートには、
前記第二の外部Ｉ／Ｆ回路が接続されているポート（２１）と、
前記第二のストレージＩ／Ｆ回路が接続されているポート（２２）と、
前記第二のキャッシュメモリ回路が接続されているポート（２３）と、
前記第二のプロセッサ回路が接続されているポート（２４）と
前記第二のスイッチ回路と前記第一のスイッチ回路とを結ぶためのスイッチ接続パスに繋がっているポート（２５）と
があり、
前記第一のスイッチ回路が、
（２−１）前記第一の外部Ｉ／Ｆ回路、前記第一のストレージＩ／Ｆ回路、前記第一のキャッシュメモリ回路及び前記第一のプロセッサ回路のいずれかから発行されたパケットを前記ポート（１１）乃至（１４）のいずれかを介して受信し、
（２−２）受信したパケットの宛先が、前記第二のキャッシュメモリ回路又は前記第二のプロセッサ回路である場合には、ダイレクトパスとスイッチ接続パスのどちらのパスに接続されているポートから送信対象のパケットを送信するかを判別し、
（２−３）判別したポートから、送信対象のパケットを送信し、
前記ポート（１５）又は（１６）から送信されたパケットは、前記第二のスイッチ回路を経由せずに、ダイレクトパスを介して前記第二のキャッシュメモリ回路又は前記第二のプロセッサ回路に届き、
前記ポート（１７）から送信されたパケットは、スイッチ接続パス及び前記第二のスイッチ回路を経由して、前記第二のキャッシュメモリ回路又は前記第二のプロセッサ回路に届く、
請求項１記載のストレージシステム。
【請求項３】
前記第一のスイッチ回路が、
前記（２−１）で、アクセス速度情報を含んだパケットを受信し、
前記（２−２）で、前記受信したパケット内のアクセス速度情報が高速を表していれば、送信対象のパケットを前記ポート（１５）又は（１６）から転送すると判別し、一方、前記受信したパケット内のアクセス速度情報が低速を表していれば、送信対象のパケットを前記ポート（１７）から転送すると判別する、
請求項２記載のストレージシステム。
【請求項４】
前記第一の外部Ｉ／Ｆが、アクセス速度として高速又は低速の設定を、前記外部装置から受け付け、設定されているアクセス速度を表すアクセス速度情報を含んだパケットを送信する、
請求項３記載のストレージシステム。
【請求項５】
前記第一の外部Ｉ／Ｆ回路、前記第一のストレージＩ／Ｆ回路、前記第一のスイッチ回路及び前記第一のプロセッサ回路のうちの少なくとも一つが、ストレージシステム内の稼働状況に応じて、送信するパケット内に、高速と低速のどちらかを表すアクセス速度情報を含める、
請求項３記載のストレージシステム。
【請求項６】
前記稼動状況が、ストレージシステム内に障害が発生している状況であれば、送信するパケット内に含まれるアクセス速度情報は、高速を表すアクセス速度情報である、
請求項３記載のストレージシステム。
【請求項７】
前記第一のプロセッサ回路が、前記第二又は第一のキャッシュメモリ回路にライト対象のデータが書かれたことの報告としてのパケットである報告パケットを前記第二又は第一のキャッシュメモリ回路から受信し、
前記報告パケット内のアクセス速度情報が高速を表す情報であっても、リードパケット内のアクセス速度情報、及び、取得パケット内のアクセス速度情報のうちの少なくとも一方が、低速を表す情報とされ、
前記リードパケットは、前記第一又は第二のプロセッサ回路が前記第一又は第二のストレージＩ／Ｆ回路を宛先として送信するパケットであって、前記第一又は第二のストレージＩ／Ｆ回路に前記第二又は第一のキャッシュメモリ回路からライト対象データを取得させるためのパケットであり、
前記取得パケットは、前記リードパケットに応答して前記第一又は第二のストレージＩ／Ｆ回路から前記第二又は第一のキャッシュメモリ回路を宛先として送信されるパケットであって、前記ライト対象データを取得するためのパケットである、
請求項３記載のストレージシステム。
【請求項８】
前記第一のスイッチ回路から前記第二のキャッシュメモリ回路へのパスとしてダイレクトパスとスイッチ接続パスとを切替えるための第一のスイッチ部と、
前記第一のスイッチ回路から前記第二のプロセッサ回路へのパスとしてダイレクトパスとスイッチ接続パスとを切替えるための第二のスイッチ部と
を備え、
前記第一のスイッチ部は、前記ポート（１５）と前記ポート（２６）との間に設けられたパススイッチ（１Ａ）と、前記パススイッチ（１Ａ）と前記第二のキャッシュメモリ回路との間に設けられたパススイッチ（１Ｂ）とで構成されており、
前記第一のスイッチ部は、前記ポート（１６）と前記ポート（２７）との間に設けられたパススイッチ（２Ａ）と、前記パススイッチ（２Ａ）と前記第二のプロセッサ回路との間に設けられたパススイッチ（２Ｂ）とで構成されており、
前記パススイッチ（１Ａ）及び前記パススイッチ（１Ｂ）の両方が第一の状態になったときに、前記ポート（１５）がダイレクトパスに繋がるポートとなり、前記パススイッチ（１Ａ）及び前記パススイッチ（１Ｂ）の両方が第二の状態になったときに、前記ポート（１５）がスイッチ接続パスに繋がるポートとなり、
前記パススイッチ（２Ａ）及び前記パススイッチ（２Ｂ）の両方が第一の状態になったときに、前記ポート（１６）がダイレクトパスに繋がるポートとなり、前記パススイッチ（２Ａ）及び前記パススイッチ（２Ｂ）の両方が第二の状態になったときに、前記ポート（１６）がスイッチ接続パスに繋がるポートとなる、
請求項２記載のストレージシステム。
【請求項９】
前記第二のストレージモジュールが増設されたときに、前記パススイッチ（１Ａ）及び前記パススイッチ（１Ｂ）の両方が第一の状態にされ、且つ、前記パススイッチ（２Ａ）及び前記パススイッチ（２Ｂ）の両方が第一の状態にされる、
請求項８記載のストレージシステム。
【請求項１０】
前記第一のスイッチ回路は、前記第一のスイッチ回路が有する各ポートを通じて、各回路が有する各種のＩＤを取得し、取得したＩＤを基に、各回路のアドレス情報を生成して、ルーティングテーブルを作成し、
取得されるＩＤの種類として、ストレージモジュールの識別子であるモジュールＩＤがあり、
前記アドレス情報には、モジュールＩＤが含まれ、
前記ルーティングテーブルには、前記第一のスイッチ回路が有する各ポートの接続先の回路のアドレス情報である接続先アドレス情報と、前記第一のスイッチ回路が有する各ポートを通じてアクセス可能な全ての回路のアドレス情報であるルーティング先アドレス情報とが登録され、
前記第一のスイッチ回路は、接続先アドレス情報とルーティング先アドレス情報が同じであって、それらの情報に第二のストレージモジュールを表すモジュールＩＤが含まれている場合に、それらの情報に対応するポートが、ダイレクトパスに接続されているポートであることを特定する、
請求項２記載のストレージシステム。
【請求項１１】
前記第二のストレージモジュールが、複数のポートを備えた第二のスイッチ回路を有し、
前記第一のスイッチ回路が有する複数のポートには、前記第一の回路に接続されているポート（１１）と、前記第二の回路への前記ダイレクトパスに繋がっているポート（１２）との他に、前記第一のスイッチ回路と前記第二のスイッチ回路とを結ぶためのスイッチ接続パスに繋がっているポート（１３）が含まれており、
前記第二のスイッチ回路が有する複数のポートには、前記第二の回路に接続されているポート（２１）と、前記スイッチ接続パスに繋がっているポート（２２）とが含まれており、
前記第一のスイッチ回路が、
（１１−１）前記第二の回路を宛先とするパケットを前記第一の回路から受信し、
（１１−２）前記ダイレクトパスと前記スイッチ接続パスのどちらのパスに接続されているポートから送信対象のパケットを送信するかを判別し、
（１１−３）判別したポートから、送信対象のパケットを送信し、
前記ポート（１２）から送信されたパケットは、前記第二のスイッチ回路を経由せずに、前記ダイレクトパスを介して前記第二の回路に届き、
前記ポート（１３）から送信されたパケットは、前記スイッチ接続パス及び前記第二のスイッチ回路を経由して、前記第二の回路に届く、
請求項１記載のストレージシステム。
【請求項１２】
前記第一のスイッチ回路が、
前記（１１−１）で、アクセス速度情報を含んだパケットを受信し、
前記（１２−２）で、前記受信したパケット内のアクセス速度情報が高速を表していれば、送信対象のパケットを前記ポート（１２）から転送すると判別し、一方、前記受信したパケット内のアクセス速度情報が低速を表していれば、送信対象のパケットを前記ポート（１３）から転送すると判別する、
請求項１１記載のストレージシステム。
【請求項１３】
前記第一の回路が、ストレージシステム内の稼働状況に応じて、送信するパケット内に、高速と低速のどちらかを表すアクセス速度情報を含める、
請求項１２記載のストレージシステム。
【請求項１４】
前記稼動状況が、ストレージシステム内に障害が発生している状況であれば、送信するパケット内に含まれるアクセス速度情報は、高速を表すアクセス速度情報である、
請求項１３記載のストレージシステム。
【請求項１５】
前記第一のスイッチ回路から前記第二の回路へのパスとしてダイレクトパスとスイッチ接続パスとを切替えるためのスイッチ部を備え、
前記第二のスイッチ回路が有する複数のポートには、ポート（２３）が含まれており、
前記スイッチ部は、前記ポート（１１）と前記ポート（２３）との間に設けられたパススイッチ（１Ａ）と、前記パススイッチ（１Ａ）と前記第二の回路との間に設けられたパススイッチ（１Ｂ）とで構成されており、
前記パススイッチ（１Ａ）及び前記パススイッチ（１Ｂ）の両方が第一の状態になったときに、前記ポート（１１）がダイレクトパスに繋がるポートとなり、前記パススイッチ（１Ａ）及び前記パススイッチ（１Ｂ）の両方が第二の状態になったときに、前記ポート（１１）がスイッチ接続パスに繋がるポートとなる、
請求項１１乃至１４のうちのいずれかに記載のストレージシステム。
【請求項１６】
前記第二のストレージモジュールが増設されたときに、前記パススイッチ（１Ａ）及び前記パススイッチ（１Ｂ）の両方が第一の状態にされ、且つ、前記パススイッチ（２Ａ）及び前記パススイッチ（２Ｂ）の両方が第一の状態にされる、
請求項１１記載のストレージシステム。
【請求項１７】
前記第一のスイッチ回路は、前記第一のスイッチ回路が有する各ポートを通じて、各回路が有する各種のＩＤを取得し、取得したＩＤを基に、各回路のアドレス情報を生成して、ルーティングテーブルを作成し、
取得されるＩＤの種類として、ストレージモジュールの識別子であるモジュールＩＤがあり、
前記アドレス情報には、モジュールＩＤが含まれ、
前記ルーティングテーブルには、前記第一のスイッチ回路が有する各ポートの接続先の回路のアドレス情報である接続先アドレス情報と、前記第一のスイッチ回路が有する各ポートを通じてアクセス可能な全ての回路のアドレス情報であるルーティング先アドレス情報とが登録され、
前記第一のスイッチ回路は、接続先アドレス情報とルーティング先アドレス情報が同じであって、それらの情報に第二のストレージモジュールを表すモジュールＩＤが含まれている場合に、それらの情報に対応するポートが、ダイレクトパスに接続されているポートであることを特定する、
請求項１１記載のストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のストレージモジュールで構成されたストレージシステムに関する。
【背景技術】
【０００２】
複数のストレージモジュールで構成されたストレージシステムとして、例えば特許文献１に開示のシステムが知られている。このシステムによれば、ストレージモジュールが有するスイッチ部と、別のストレージモジュールが有するスイッチ部とを互いに結合することで、モジュール間の通信が可能となっている。
【特許文献１】特開２００５−２２７８０７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
例えば、第一のストレージモジュール内の回路（以下、第一回路、例えばマイクロプロセッサ）が、第二のストレージモジュール内の回路（以下、第二回路、例えばキャッシュメモリ）にアクセスする場合、第一回路から第二回路に対するパケットが、第一のストレージモジュール内のスイッチ（以下、第一ＳＷ）と第二のストレージモジュール内のスイッチ（以下、第二ＳＷ）の両方を経由することになる。このため、ストレージモジュール間のアクセスを高速に行うことが困難になり得る。
【０００４】
従って、本発明の目的は、ストレージモジュール間のアクセスを高速に行うことにある。
【課題を解決するための手段】
【０００５】
第一及び第二のストレージモジュールを含んだ複数のストレージモジュールを有するストレージシステムにおいて、第一のストレージモジュールが、複数のポートを有した第一のスイッチ回路と、第一のスイッチ回路が有する複数のポートのいずれかのポートに内部パスを介して接続されている第一回路とを備える。第二のストレージモジュールが、第二回路を備える。第一のスイッチ回路が有する複数のポートのいずれかのポートに、第一のスイッチ回路と第二の回路とを結ぶためのパスであるダイレクトパスが繋がる。第一の回路が、第二の回路宛のパケットを発行し、第一のスイッチ回路が、第一の回路から第二回路宛のパケットを受信し、そのパケットを、第二の回路へのダイレクトパスに繋がっているポートから出力する。
【発明を実施するための最良の形態】
【０００６】
以下、図面を参照して、本発明の幾つかの実施形態を説明する。
【実施例１】
【０００７】
図１は、本発明の第一実施形態に係るストレージシステムの構成例を示す。
【０００８】
ストレージシステムは、複数のストレージモジュール（以下、モジュール）１０１で構成されている。本実施形態で言う「モジュール」とは、増設及び減設の一単位であり、単独でもストレージシステムとして機能する。
【０００９】
モジュール１０１は、複数のパッケージ（以下、ＰＫ）と、複数のＨＤＤ（Hard Disk Drive）１１２で構成されている。ＨＤＤに代えて、フラッシュメモリなど、他種の物理記憶装置が採用されても良い。
【００１０】
ＰＫは、モジュール１０１に対する増設及び減設の一単位である。ＰＫは、例えば回路基板である。ＰＫとしては、例えば、ＣＨＡ（Channel Adaptor）１１１、ＤＫＡ（Disk Adaptor）１１３、ＳＷ（Switch）１１５、ＣＭ（Cache Memory）１１７及びＭＰ（Micro Processor）１１９がある。ＣＨＡ１１１は、ホスト計算機（他種の外部装置でもよい）１００に対するインタフェースとして機能する回路である。ＤＫＡ１１３は、ＨＤＤ１１２に対するインタフェースとして機能する回路である。ＳＷ１１５は、或るＰＫから他のＰＫへのデータ転送を制御する。ＣＭ１１７は、ホスト１００とＨＤＤ１１２との間で送受信されるデータを一時的に記憶するメモリを有した回路である。ＭＰ１１９は、他のＰＫの動作を制御する。各種ＰＫは、１又は複数存在する。
【００１１】
モジュール１０１は、例えば図２に示すような筺体２０１を有し、筺体２０１内に、前述した各種のＰＫや、ＨＤＤ１１２を有する。ＰＫは、複数のスロット１５０のいずれかに挿し込まれて、筺体２０１内部のバックボード（回路基板）１７０１が有するコネクタ（図示せず）に接続される。
【００１２】
以下、モジュールを、モジュールｎとして説明し、ｎは、通し番号０、１、…の整数であるとする。そして、モジュール内の各ＰＫも、そのモジュールの通し番号と同じ番号を付与して説明する。そうすることで、どのＰＫがどのモジュールに存在するかが明確になる。また、以下、モジュールの数は２であるとし、それらのモジュールは、モジュール０及びモジュール１であるとする。
【００１３】
モジュール０，１間の接続は、図１に示すように、ＳＷ０とＳＷ１の接続に加えて、ＳＷ０とモジュール１内のＳＷ１以外のＰＫとの接続、及び、ＳＷ１とモジュール０内のＳＷ０以外のＰＫとの接続により、実現されている。具体的には、例えば、ＳＷ０は、ＳＷ１以外に、ＣＭ１及びＭＰ１に接続され、ＳＷ１は、ＳＷ０以外に、ＣＭ０及びＭＰ０に接続されている。このため、ＳＷ０とＣＭ０及びＭＰ０とを結ぶパス（ＳＷ１とＣＭ０及びＭＰ０とを結ぶパス）として、ＳＷ１（ＳＷ０）を経由するパスと、ＳＷ１（ＳＷ０）を非経由のパスとの２種類のパスが存在する。以下、ＳＷ１（ＳＷ０）を経由するパスを、「ＳＷ接続パス」と言い、ＳＷ１（ＳＷ０）を非経由のパスを、「ダイレクトパス」と言うことがある。
【００１４】
ＳＷ０とＣＭ１及びＭＰ１との接続、及び、ＳＷ１とＣＭ０及びＭＰ０との接続は、種々の方法、例えば、図３乃至図５に示すいずれかの方法により実現される。図３に示す方法によれば、一方のＰＫ（例えばＳＷ０）が有するコネクタと、他方のＰＫ（例えばＣＭ１又はＭＰ１）が有するコネクタに、ケーブルが接続される。図４に示す方法によれば、ケーブルの一端が、それぞれ、ＳＷ０、ＭＰ０及びＣＭ０のコネクタに接続され、ケーブルの他端が、バックボード１が有するコネクタに接続される。図５に示す方法によれば、ケーブルが、バックボード０が有するコネクタ及びバックボード１が有するコネクタに接続される。図４及び図５に示す方法では、バックボード１（及びバックボード０）のプリント配線に従って、ＳＷ接続パス及びダイレクトパスが実現される。
【００１５】
再び図１を参照する。以下、モジュール０及び１のうちモジュール０を代表的に例に採り説明する。
【００１６】
ＳＷ０は、複数のポート（以下、ＳＷポート）、例えば８個のＳＷポート＃１〜＃８を有する（ＳＷ１については、ポートの図示が省略されている）。それら８個のＳＷポート＃１〜＃８のうち、ＳＷポート＃１及び＃２が、ＳＷ接続パスに繋がるＳＷポートであり、ＳＷポート＃３及び＃４が、ダイレクトパスに繋がるＳＷポートであり、その他のＳＷポート＃７、＃８、＃６及び＃５が、ＳＷ０と他のＰＫ０とを結ぶ内部パスに接続されているＳＷポートである。すなわち、ＳＷ０が有する８個のＳＷポートには、ＳＷ１、ＣＭ１、ＭＰ１、及び、モジュール０内のＰＫが接続される。なお、８個のＳＷポートのうちのいずれに、ＳＷ１、ＣＭ１、ＭＰ１、及び、ＰＫ０のいずれが接続されても良い。つまり、例えば、ＳＷポート＃１及び＃２が、ＳＷ接続パスに繋がる専用のＳＷポートであるわけではなく、他のＳＷポートにＳＷ接続パスが接続されても良いし、同様に、ＳＷポート＃３及び＃４は、ダイレクトパスに繋がる専用のＳＷポートであるわけではなく、他のＳＷポートにダイレクトパスが接続されても良い。
【００１７】
ＳＷ０は、図６に示す処理、すなわち、
Ｓ６０１：ＳＷポート＃１〜＃８を通じて、モジュールＩＤ、スロットＩＤ及びＰＫＩＤを取得する；
Ｓ６０２：ＰＫＡＤ（ＰＫアドレス）を生成する；
Ｓ６０３：ルーティングテーブルを作成する；
を実行する。以下、各処理を説明する。
【００１８】
＜Ｓ６０１：モジュールＩＤ、スロットＩＤ及びＰＫ−ＩＤの取得＞。
【００１９】
モジュールＩＤとは、モジュール１０１の識別子である。
【００２０】
スロットＩＤとは、ＰＫが挿されたスロット１５０（図２参照）の識別子である。スロットＩＤは、ＰＫの種別に関わらずに非重複のコードであっても良いし、ＰＫの種別についてのみ非重複のコードであっても良い。図１及び図１０の例によれば、例えば、ＤＫＡについての或るスロットと、ＣＨＡについての或るスロットには、同じ識別子“００００”が割り当てられている。
【００２１】
ＰＫＩＤとは、ＰＫの種別の識別子である（各ＰＫ種別とＰＫＩＤの一例を図７に示す）。従って、各ＰＫのＰＫ種別が同じであれば、各ＰＫのＰＫＩＤは同じとなる。
【００２２】
各ＰＫ０（ＣＨＡ０、ＤＫＡ０など）は、バックボード０に接続されたときに、モジュールＩＤ及びスロットＩＤを、バックボード０から取得する。具体的には、例えば、ＰＫ０は、スロット１５０を介してバックボード０のコネクタに接続されたときに検出される抵抗値から、モジュールＩＤ及びスロットＩＤを識別する。また、ＰＫ０には、予め、ＰＫＩＤが設定されている。識別されたモジュールＩＤ及びスロットＩＤや、予め設定されているＰＫＩＤは、ＰＫ０が有する記憶資源（例えばメモリ）に記憶される。
【００２３】
ＳＷ０は、各ＳＷポート＃１〜＃８を通じて、各ＰＫ（ＳＷ０以外のＰＫ０、ＳＷ１、ＭＰ１、ＣＭ１）からモジュールＩＤ、スロットＩＤ及びＰＫＩＤを取得する。ＳＷポート＃１及び＃２から取得されたモジュールＩＤ、スロットＩＤ及びＰＫＩＤとしては、ＳＷ１のモジュールＩＤ、スロットＩＤ及びＰＫＩＤの他に、ＳＷ１に接続されている各ＰＫ１のモジュールＩＤ、スロットＩＤ及びＰＫＩＤがある。取得されたモジュールＩＤ、スロットＩＤ及びＰＫＩＤと、それらのＩＤが経由したＳＷポートの識別子との組が、例えば、ＳＷ０が有する記憶資源（例えばメモリ）に記憶される。
【００２４】
＜Ｓ６０２：ＰＫＡＤの生成＞
【００２５】
ＳＷ０は、各ＳＷポート＃１〜＃８について、ＰＫＡＤを生成する。ＰＫＡＤは、図８に示すように、モジュールＩＤ、スロットＩＤ及びＰＫＩＤで構成されたデータである。
【００２６】
＜Ｓ６０３：ルーティングテーブルの作成＞
【００２７】
ＳＷ０は、ＳＷポート＃１〜＃８の各々についてのＰＫＡＤを基に、ルーティングテーブルを作成する。
【００２８】
図１０は、ＳＷ０が有するルーティングテーブルを示す。
【００２９】
ルーティングテーブルは、ＳＷ０が受け取ったパケットの宛先がどこの場合にどのＳＷポートからそのパケットを転送するかを表すテーブルである。具体的には、例えば、ルーティングテーブルには、ＳＷポート毎に、ＳＷポート番号、接続先ＰＫＡＤ、ルーティング先ＰＫＡＤ及びダイレクトパスフラグが記録される。以下、一つのＳＷポート（以下、図１０の説明において「対象ＳＷポート」と言う）を例に採り、各情報要素について説明する。
【００３０】
ＳＷポート番号は、対象ＳＷポートの識別番号である。
【００３１】
接続先ＰＫＡＤは、対象ＳＷポートに接続されているＰＫのＰＫＡＤである。すなわち、接続先ＰＫＡＤは、対象ＳＷポートを経由して取得されたモジュールＩＤ、スロットＩＤ及びＰＫＩＤを基に作成されたＰＫＡＤである。
【００３２】
ルーティング先ＰＫＡＤは、対象ＳＷポートから転送可能な全てのＰＫのＰＫＡＤである。ルーティング先ＰＫＡＤは、ＤＫＡ、ＣＨＡ、ＣＭ及びＭＰのそれぞれのＰＫについて記録される。対象ＳＷポートに接続されているＰＫがＳＷ１以外の場合には（対象ＳＷポートに対応した接続先ＰＫＡＤにおけるＰＫＩＤがＰＫ種別“ＳＷ”以外のＰＫ種別に対応している場合に）、対象ＳＷポートについて、一つのルーティング先ＰＫＡＤ、つまり接続先ＰＫＡＤと同じＰＫＡＤが、そのＰＫＡＤ内のＰＫＩＤが表すＰＫ種別に対応した欄に設定される。一方、対象ＳＷポートに接続されているＰＫがＳＷ１の場合には（対象ＳＷポートに対応した接続先ＰＫＡＤにおけるＰＫＩＤがＰＫ種別“ＳＷ”に対応している場合に）、対象ＳＷポートについて、複数のルーティング先ＰＫＡＤが設定される（図１０において、ＳＷポート＃１及び＃２についてのレコードを参照）。なぜなら、接続先ＰＫのＳＷ１の場合、ＳＷ１からは、ＳＷ１のモジュールＩＤ、スロットＩＤ及びＰＫＩＤに加えて、ＳＷ１に接続されている各ＰＫ１（ＤＫＡ１、ＣＨＡ１、ＣＭ１、及びＭＰ１）のモジュールＩＤ、スロットＩＤ及びＰＫＩＤが取得されるためである。
【００３３】
ダイレクトパスフラグは、対象ＳＷポートに繋がっているパスがダイレクトパスか否かを表すフラグである。図１０においてダイレクトパスフラグが○印（つまり立っている（値“１”））になっているＳＷポートに、ダイレクトパスが繋がっている。ＳＷ０は、対象ＳＷポートに対応したルーティング先ＰＫＡＤが一つだけであり、且つ、そのルーティング先ＰＫＡＤが対象ＳＷポートに対応している接続先ＰＫＡＤと同じであれば、対象ＳＷポートに接続されているパスをダイレクトパスと判断し、対象ＳＷポートに対応したダイレクトパスフラグを立てる。具体的には、図１０によれば、ＳＷポート＃３及び＃４について、ルーティング先ＰＫＡＤは一つだけであり、それは接続先ＰＫＡＤと同じであるため、ＳＷ０は、ＳＷポート＃３及び＃４はダイレクトパスに繋がっていると判断する。
【００３４】
ＳＷ０は、いずれかのＳＷポートを介してパケットを受信し、このルーティングテーブルを参照して、受信したパケットに指定されている宛先に対応したＳＷポートを特定し、そのＳＷポートから、そのパケットを転送する。
【００３５】
図９は、パケットのフォーマットの一例を示す。
【００３６】
パケットには、ＰＫＡＤ、コマンド種別情報、アクセス速度ビット、及び転送対象のデータが含まれる。ＰＫＡＤは、宛先ＰＫのＰＫＡＤである。コマンド種別情報は、パケットが意味する命令の種別（例えば、ライト或いはリード）を表す情報である。アクセス速度ビットは、パケットの転送速度を高速（“１”）とするか低速（“０”）とするかを表すビットである。
【００３７】
ＳＷ０は、パケットを受信した場合に、パケット内のＰＫＡＤと同じルーティング先ＰＫＡＤに対応したＳＷポートを特定し、特定したＳＷポートから、そのパケットを転送する。
【００３８】
もし、特定された複数のＳＷポートが特定された場合（例えば、ＳＷ０がＣＭ１のＰＫＡＤを含んだパケットを受信し、それにより、ＳＷポート＃１、＃２及び＃４が特定された場合）、そのうちの一つのＳＷポート（例えばＳＷポート＃４）が、ダイレクトパスに繋がっているＳＷポートであり、それ以外のＳＷポート（例えばＳＷポート＃１及び＃２）が、ＳＷ接続パスに繋がっているＳＷポートである。この場合、ＳＷ０は、受信したパケット内のアクセス速度ビットが高速を表していれば、ダイレクトパスに繋がっているＳＷポート（例えばＳＷポート＃４）からそのパケットを転送し、一方、受信したパケット内のアクセス速度ビットが低速を表していれば、ＳＷ接続パスに繋がっている一以上のＳＷポート（例えばＳＷポート＃１又は＃２）のうちのいずれかから、そのパケットを転送する。それら一以上のＳＷポートの選択されるＳＷポートは、例えば、負荷が低いＳＷポートである。
【００３９】
ＳＷ０が作成したルーティングテーブルの情報が、ＳＷ０から、ＳＷ０に繋がっている各ＭＰ（ＭＰ０及びＭＰ１）に送信され、各ＭＰに共用される。各ＭＰは、複数のポート（以下、ＭＰポート）を有しており、その情報を基に、ＭＰは自分のどのＭＰポートがダイレクトパスに繋がっているかを知ることができる。このため、ＭＰは、パケットを送信するとき、ダイレクトパスを経由して他モジュール（そのＭＰを有するモジュールとは異なるモジュール）内のＳＷに送信するか、或いは、自モジュール（そのＭＰを有するモジュール）内のＳＷに送信するかを、ルーティングテーブルの情報を基に判断することができる。
【００４０】
図１１は、ＣＨＡ０がホストからライトコマンドを受領した場合に実行される処理のフローを示す。
【００４１】
ＣＨＡ０は、ライトコマンドを受領すると、ライト受信報告処理が行われる。すなわち、ＣＨＡ０は、そのライトコマンドを基に、ＭＰ１を宛先としたパケット（以下、パケットＷ１）を生成して、ＳＷ０に送信する（Ｓ１）。パケットＷ１では、パケット種別情報は、ライトを表す情報である。ＳＷ０は、ＣＨＡ０からパケットＷ１を受信し（Ｓ２）、パケットＷ１の宛先がダイレクトパスに繋がっているＭＰ１であるため、アクセスが高速アクセスか否かを判断する（Ｓ３）。ＳＷ０は、アクセスが高速アクセスと判断した場合（Ｓ３：ＹＥＳ）、ＳＷポート＃３からダイレクトパスを通じてＭＰ１にパケットＷ１を転送する（Ｓ４）。一方、ＳＷ０は、アクセスが低速アクセスと判断した場合（Ｓ３：ＮＯ）、ＳＷポート＃１又は＃２からＳＷ接続パスを通じてＭＰ１にパケットＷ１を転送する（Ｓ６、Ｓ７）。
【００４２】
次に、ＣＭライトＤＭＡ（Direct Memory Access）起動処理が行われる。すなわち、ＭＰ１が、ＣＨＡ０からのパケットＷ１に応答して、ＳＷ０を通じて、ＣＨＡ０を宛先としたパケット（以下、パケットＷ２）を送信する（Ｓ５、Ｓ８、Ｓ９、Ｓ１０）。パケットＷ２では、コマンド種別情報は、例えばライトを表す情報である。
【００４３】
次に、ＣＭライト処理が行われる。すなわち、ＣＨＡ０が、ＭＰ１からのパケットＷ２に応答して、ＣＭ１を宛先としたパケット（以下、パケットＷ３）を送信する（Ｓ１１）。パケットＷ３には、コマンド種別情報としてライトを表す情報が含まれ、また、ホストからのライトコマンドに従うライト対象のデータが含まれる。ＳＷ０は、ＣＨＡ０からパケットＷ３を受信し（Ｓ１２）、パケットＷ３の宛先がダイレクトパスに繋がっているＣＭ１であるため、アクセスが高速アクセスか否かを判断する（Ｓ１３）。ＳＷ０は、アクセスが高速アクセスと判断した場合（Ｓ１３：ＹＥＳ）、ＳＷポート＃４からダイレクトパスを通じてＣＭ１にパケットＷ３を転送する（Ｓ１４）。一方、ＳＷ０は、アクセスが低速アクセスと判断した場合（Ｓ１３：ＮＯ）、ＳＷポート＃１又は＃２からＳＷ接続パスを通じてＣＭ１にパケットＷ３を転送する（Ｓ１７、Ｓ１８）。ＣＭ１が、ＣＨＡ０からのパケットＷ３に応答して、パケットＷ３内のデータをＣＭ１に書く（Ｓ１５、Ｓ１９）。
【００４４】
次に、ＣＭライト完了報告が行われる。すなわち、ＣＭ１が、ＭＰ１を宛先としたパケット（以下、パケットＷ４）を送信する（Ｓ１６、Ｓ２０）。パケットＷ４は、ライト完了の報告としてのパケットであり、例えば、パケットＷ３と同じ経路を通って、ＭＰ１に届く。
【００４５】
次に、ＣＭリードＤＭＡ起動処理が行われる。すなわち、ＭＰ１は、パケットＷ４に応答して、ＤＫＡ０を宛先としたパケット（以下、パケットＷ５）を生成する（Ｓ２１）。ＭＰ１は、アクセスが高速アクセスの場合は（Ｓ２２：ＹＥＳ）、パケットＷ５内のアクセス速度ビットを、高速を表すビットとし、パケットＷ５をＭＰポート＃１（ダイレクトパスに繋がっているＭＰポート）を通じて送信する（Ｓ２３）。一方、ＭＰ１は、アクセスが低速アクセスの場合は（Ｓ２２：ＮＯ）、パケットＷ５内のアクセス速度ビットを、低速を表すビットとし、パケットＷ５をＭＰポート＃２（ＳＷ１に繋がるＭＰポート）を通じて送信する（Ｓ２４）。ＳＷ０が、パケットＷ５を受信し、パケットＷ５を、パケットＷ５の宛先であるＤＫＡ０に送信する（Ｓ２５、Ｓ２６）。
【００４６】
次に、ＣＭリード処理が行われる。すなわち、ＤＫＡ０は、パケットＷ５に応答して、ＣＭ１を宛先とするパケット（以下、パケットＷ６）を生成して、ＳＷ０に送信する（Ｓ２７）。パケットＷ６では、パケット種別情報は、リードを表す情報である。ＳＷ０は、ＣＨＡ０からパケットＷ６を受信し（Ｓ２８）、パケットＷ６の宛先がダイレクトパスに繋がっているＣＭ１であるため、アクセスが高速アクセスか否かを判断する（Ｓ２９）。ＳＷ０は、アクセスが高速アクセスと判断した場合（Ｓ２９：ＹＥＳ）、ＳＷポート＃４からダイレクトパスを通じてＣＭ１にパケットＷ６を転送する（Ｓ３０）。一方、ＳＷ０は、アクセスが低速アクセスと判断した場合（Ｓ２９：ＮＯ）、ＳＷポート＃１又は＃２からＳＷ接続パスを通じてＣＭ１にパケットＷ６を転送する（Ｓ３２、Ｓ３３）。ＣＭ１が、ＤＫＡ０からのパケットＷ６に応答して、ＣＭ１からデータをリードし（Ｓ３１、Ｓ３４）、ＤＫＡ０を宛先としたパケット（以下、パケットＷ７）を送信する（Ｓ３５、Ｓ３６）。パケットＷ７には、ＣＭ１からリードされたデータが含まれている。
【００４７】
最後に、ライト完了報告処理が行われる。すなわち、ＤＫＡ０は、パケットＷ７に応答して、パケットＷ７内のデータを、ＨＤＤ１１２に書き（Ｓ３７）、ＭＰ１を宛先としたパケット（以下、パケットＷ８）を生成して、ＳＷ０に送信する（Ｓ３８）。ＳＷ０は、ＤＫＡ０からパケットＷ８を受信し、パケットＷ８の宛先がダイレクトパスに繋がっているＭＰ１であるため、アクセスが高速アクセスか否かを判断する（Ｓ３９）。ＳＷ０は、アクセスが高速アクセスと判断した場合（Ｓ３９：ＹＥＳ）、ＳＷポート＃３からダイレクトパスを通じてＭＰ１にパケットＷ８を転送する（Ｓ４０）。一方、ＳＷ０は、アクセスが低速アクセスと判断した場合（Ｓ３９：ＮＯ）、ＳＷポート＃１又は＃２からＳＷ接続パスを通じてＭＰ１にパケットＷ８を転送する（Ｓ４１、Ｓ４２）。ＭＰ１が、パケットＷ８を受信する（Ｓ４３）。
【００４８】
以上が、ＣＨＡ０がホストからライトコマンドを受領した場合に実行される処理のフローである。なお、このフローにおいて、ＣＭライト処理の後、ＨＤＤ１１２へのライト動作を早くする必要がない場合は、ＤＫＡ０は、ＳＷ接続パスを通じてＣＭ１からデータをリードすることができる。具体的には、例えば、パケットのシーケンス番号１〜ｋのうち、シーケンス番号１からｍ（１＜ｍ＜ｋ）のパケットについては、高速アクセスを有効にしておき（つまりダイレクトパスを使用してＣＭ１からデータをリードすることがあり）、シーケンス番号（ｍ＋１）からｋのパケットについては、高速アクセスを無効にしておく。これにより、ダイレクトパスを専有しないでＨＤＤ１１２にアクセスすることができる。
【００４９】
図１２は、ＣＨＡ０がホストからリードコマンドを受領した場合に実行される処理のフローを示す。
【００５０】
ＣＨＡ０は、リードコマンドを受領すると、リード受信報告処理が行われる。すなわち、ＣＨＡ０は、そのリードコマンドを基に、ＭＰ１を宛先としたパケット（以下、パケットＲ１）を生成して、ＳＷ０に送信する（Ｓ１０１）。そのパケットでは、パケット種別情報は、リードを表す情報である。ＳＷ０は、ＣＨＡ０からパケットＲ１を受信し（Ｓ１０２）、アクセスが高速アクセスか否かを判断する（Ｓ１０３）。ＳＷ０は、アクセスが高速アクセスと判断した場合（Ｓ１０３：ＹＥＳ）、ＳＷポート＃３からダイレクトパスを通じてＭＰ１にパケットを送信する（Ｓ１０４）。一方、ＳＷ０は、アクセスが低速アクセスと判断した場合（Ｓ１０３：ＮＯ）、ＳＷポート＃１又は＃２からＳＷ接続パスを通じてＭＰ１にパケットを送信する（Ｓ１０６、Ｓ１０７）。ホストからのリードコマンドに従うリード対象のデータがＣＭ１に存在すれば、リード起動処理、ＣＭライト処理及びＣＭライト完了報告がスキップされ、Ｓ１２２が行われる。
【００５１】
次に、リード起動処理が行われる。すなわち、ＭＰ１が、ＣＨＡ０からのパケットＲ１に応答して、ＳＷ０を通じて、ＤＫＡ０を宛先としたパケット（以下、パケットＲ２）を送信する（Ｓ１０５、Ｓ１０８、Ｓ１０９、Ｓ１１０）。ＤＫＡ０が、パケットＲ２に応答して、ＨＤＤ１１２から、リード対象のデータを読み出す。
【００５２】
次に、ＣＭライト処理が行われる。すなわち、ＤＫＡ０が、ＣＭ１を宛先としたパケット（以下、パケットＲ３）を送信する（Ｓ１１２）。パケットＲ３には、コマンド種別情報としてライトを表す情報が含まれ、また、ＨＤＤ１１２から読み出されたリード対象のデータが含まれる。ＳＷ０は、ＤＫＡ０からパケットＲ３を受信し（Ｓ１１２）、アクセスが高速アクセスか否かを判断する（Ｓ１１３）。ＳＷ０は、アクセスが高速アクセスと判断した場合（Ｓ１１３：ＹＥＳ）、ＳＷポート＃４からダイレクトパスを通じてＣＭ１にパケットＲ３を転送する（Ｓ１１４）。一方、ＳＷ０は、アクセスが低速アクセスと判断した場合（Ｓ１１３：ＮＯ）、ＳＷポート＃１又は＃２からＳＷ接続パスを通じてＣＭ１にパケットＷ３を転送する（Ｓ１１７、Ｓ１１８）。ＣＭ１が、ＤＫＡ０からのパケットＲ３に応答して、パケットＲ３内のデータをＣＭ１に書く（Ｓ１１５、Ｓ１１９）。
【００５３】
次に、ＣＭライト完了報告が行われる。すなわち、ＣＭ１が、ＭＰ１を宛先としたパケット（以下、パケットＲ４）を送信する（Ｓ１１６、Ｓ１２０）。
【００５４】
次に、ＣＭリードＤＭＡ起動処理が行われる。すなわち、ＭＰ１は、パケットＲ４に応答して、ＣＨＡ０を宛先としたパケット（以下、パケットＲ５）を生成する（Ｓ１２１）。ＭＰ１は、アクセスが高速アクセスの場合は（Ｓ１２２：ＹＥＳ）、パケットＲ５内のアクセス速度ビットを、高速を表すビットとし、パケットＲ５をＭＰポート＃１を通じて送信する（Ｓ１２３）。一方、ＭＰ１は、アクセスが低速アクセスの場合は（Ｓ１２２：ＮＯ）、パケットＲ５内のアクセス速度ビットを、低速を表すビットとし、パケットＲ５をＭＰポート＃２を通じて送信する（Ｓ１２４）。ＳＷ０が、パケットＲ５を受信し、パケットＲ５を、パケットＲ５の宛先であるＣＨＡ０に送信する（Ｓ１２５、Ｓ１２６）。
【００５５】
次に、ＣＭリード処理が行われる。すなわち、ＣＨＡ０は、パケットＲ５に応答して、ＣＭ１を宛先とするパケット（以下、パケットＲ６）を生成して、ＳＷ０に送信する（Ｓ１２７）。パケットＲ６には、コマンド種別情報として、リードを表す情報が含まれる。ＳＷ０は、ＤＫＡ０からパケットＲ６を受信し（Ｓ１２８）、アクセスが高速アクセスか否かを判断する（Ｓ１２９）。ＳＷ０は、アクセスが高速アクセスと判断した場合（Ｓ１２９：ＹＥＳ）、ＳＷポート＃４からダイレクトパスを通じてＣＭ１にパケットＲ６を転送する（Ｓ１３０）。一方、ＳＷ０は、アクセスが低速アクセスと判断した場合（Ｓ１２９：ＮＯ）、ＳＷポート＃１又は＃２からＳＷ接続パスを通じてＣＭ１にパケットＲ６を転送する（Ｓ１３２、Ｓ１３３）。ＣＭ１が、ＣＨＡ０からのパケットＲ６に応答して、ＣＭ１からデータをリードし（Ｓ１３１、Ｓ１３４）、ＣＨＡ０を宛先としたパケット（以下、パケットＲ７）を送信する（Ｓ１３５、Ｓ１３６）。パケットＲ７には、ＣＭ１からリードされたデータが含まれている。
【００５６】
最後に、リード完了報告処理が行われる。すなわち、ＣＨＡ０は、パケットＲ７に応答して、パケットＲ７内のデータをホストに送信し（Ｓ１３７）、ＭＰ１を宛先としたパケット（以下、パケットＲ８）を生成して、ＳＷ０に送信する（Ｓ１３８）。ＳＷ０は、ＣＨＡ０からパケットＲ８を受信し、アクセスが高速アクセスか否かを判断する（Ｓ１３９）。ＳＷ０は、アクセスが高速アクセスと判断した場合（Ｓ１３９：ＹＥＳ）、ＳＷポート＃３からダイレクトパスを通じてＭＰ１にパケットＲ８を転送する（Ｓ１４０）。一方、ＳＷ０は、アクセスが低速アクセスと判断した場合（Ｓ１３９：ＮＯ）、ＳＷポート＃１又は＃２からＳＷ接続パスを通じてＭＰ１にパケットＲ８を転送する（Ｓ１４１、Ｓ１４２）。ＭＰ１が、パケットＲ８を受信する（Ｓ１４３）。
【００５７】
以上が、ＣＨＡ０がホストからリードコマンドを受領した場合に実行される処理のフローである。
【００５８】
図１１及び図１２を参照して説明した処理フローにおいて、アクセスが高速アクセスであることが必要なケースとしては、下記３つのケースＡ〜Ｃ、
（ケースＡ）高速処理が必要なデータをリード又はライトするケース；
（ケースＢ）いずれかのモジュールが正常に動作していないケース；
（ケースＣ）モジュールの稼働状況から高速アクセスが好ましいと判断されたケース；
のうちの少なくとも一つがある。
【００５９】
ケースＡでは、ホスト１００が、ＣＨＡ０に、高速アクセスか低速アクセスかを設定する。その設定は、ホスト１００がＩ／Ｏコマンド（ライトコマンド或いはリードコマンド）を送信する度にホスト１００により行われる。具体的には、例えば、ホスト１００からのＩ／Ｏコマンドに、アクセス速度を表す情報として、高速又は低速を表す情報が含まれている。ＣＨＡ０は、高速アクセスが設定されている場合は、送信するパケット内のアクセス速度ビットを“１”（高速）に設定する。
【００６０】
ケースＢでは、モジュールが正常に動作していないことがいずれかのＰＫ（例えばＭＰ）で検出された時点（例えば、二重化されているＰＫのうちの一つに障害が発生したことが検出された時点）から後にパケットが送信される場合、そのパケットの送信元のＰＫ（ＣＨＡ、ＤＫＡ、ＭＰ、或いはＳＷ）が、そのパケット内のアクセス速度ビットを“１”（高速）に設定する。もし、受信したパケット内にアクセス速度ビット“０”（低速）が設定されていても（ＣＨＡ０に低速アクセスが設定されていても）、送信対象のパケット内のアクセス速度ビットは“１”に設定されて良い。
【００６１】
ケースＣの一例として、低速アクセスが設定されたパケットを頻繁に受信したことによりＳＷ接続パスが高負荷になっているケースが考えられる。このケースでは、受信したパケットに低速アクセスが設定されていても、送信されるパケットには高速アクセスが設定され、そのパケットがダイレクトパスを通じて送信されて良い。
【００６２】
以下、図１１及び図１２を参照して説明した処理フローにおける下記４つのケース、
（ケース１）ＣＨＡ０からＳＷ０を通じてのＣＭ１又はＭＰ１へのアクセス；
（ケース２）ＤＫＡ０からＳＷ０を通じてのＣＭ１又はＭＰ１へのアクセス；
（ケース３）ＭＰ０からＳＷ０を通じてのＣＭ１又はＭＰ１（ＤＫＡ１又はＣＨＡ１についても同様）へのアクセス；
（ケース４）ＣＭ１からの応答（ＣＭライト完了報告処理）；
を詳細に説明する。
【００６３】
＜ケース１及びケース２について＞。
【００６４】
図１３は、ケース１でのアクセスの流れの概要を示す。図１４は、ケース２でのアクセスの流れの概要を示す。図１５は、ケース１及びケース２での処理のフローを示す。以下、図１３〜図１５を参照して、ケース１及びケース２について説明する。
【００６５】
Ｓ８０１では、ＭＰ０が、ＣＨＡ０に、高速アクセス又は低速アクセスを設定する。
【００６６】
Ｓ８０１´では、ホスト１００が、ＣＨＡ０に、高速アクセス又は低速アクセスを設定する。
【００６７】
Ｓ９０１では、ＭＰ０が、ＤＫＡ０に、高速アクセス又は低速アクセスを設定する。
【００６８】
Ｓ８０２（Ｓ９０２）では、ＣＨＡ０（ＤＫＡ０）が、自分に設定されているアクセス速度情報（高速アクセス又は低速アクセス）に従うアクセス速度ビットを、パケットに設定し、そのパケットを送信する。
【００６９】
Ｓ８０３（Ｓ９０３）では、ＳＷ０が、アクセスが高速アクセスか低速アクセスかを判断する。
【００７０】
Ｓ８０４（Ｓ９０４）では、ＳＷ０が、送信対象のパケットに高速アクセスが設定されていれば、ダイレクトパスを通じてそのパケットを送信し、一方、送信対象のパケットに低速アクセスが設定されていれば、ＳＷ接続パスをそのパケットを通じて送信する。
【００７１】
図１６は、図１５のＳ８０３（Ｓ９０３）の処理の詳細を示す。
【００７２】
Ｓ１１０１では、ＳＷ０が、ＣＨＡ０（又はＤＫＡ０）からパケットを受信する。
【００７３】
Ｓ１１０２では、ＳＷ０は、ＳＷ０が有するルーティングテーブルを参照し、Ｓ１１０１で受信したパケット内のＰＫＡＤをルーティング先ＰＫＡＤとするＳＷポートを特定する。
【００７４】
Ｓ１１０２で特定されたＳＷポートに、ダイレクトパスに接続されているＳＷポートが無ければ（Ｓ１１０３：ＮＯ）、ＳＷ０は、Ｓ１１０４で、送信対象のパケットに低速アクセス（アクセス速度ビット“０”）を設定する。
【００７５】
Ｓ１１０２で特定されたＳＷポートに、ダイレクトパスに接続されているＳＷポートがあれば（Ｓ１１０３：ＹＥＳ）、ＳＷ０は、Ｓ１１０５で、Ｓ１１０１で受信したパケット内のアクセス速度ビットが“１”（高速）か否かを判断する。
【００７６】
Ｓ１１０１で受信したパケット内のアクセス速度ビットが“１”（高速）であれば（Ｓ１１０５：ＹＥＳ）、ＳＷ０は、Ｓ１１０６で、送信対象のパケットに高速アクセス（アクセス速度ビット“１”）を設定する。
【００７７】
一方、Ｓ１１０１で受信したパケット内のアクセス速度ビットが“０”（低速）であれば（Ｓ１１０５：ＮＯ）、ＳＷ０は、Ｓ１１０７で、送信対象のパケットに低速アクセス（アクセス速度ビット“０”）を設定する。
【００７８】
＜ケース３について＞。
【００７９】
図１７は、ケース３でのアクセスの流れの概要を示す。図１８は、ケース３での処理のフローを示す。以下、図１７及び図１８を参照して、ケース３について説明する。
【００８０】
Ｓ１２０１では、ＭＰ０が、モジュール１へのアクセスは高速アクセスが必要か否かを判断し、その判断の結果に従うアクセス速度ビットを送信対象のパケットに設定し、そのパケットを送信する。
【００８１】
Ｓ１２０２では、ＳＷ０が、ＭＰ０から受信したパケット内のアクセス速度ビットを基に、アクセスが高速アクセスか低速アクセスかを判断する。Ｓ１２０２では、図１３〜１５のＳ８０３（Ｓ９０３）と同様の処理が行われる。
【００８２】
Ｓ１２０３では、ＳＷ０が、送信対象のパケットに高速アクセスが設定されていれば、ダイレクトパスを通じてそのパケットを送信し、一方、送信対象のパケットに低速アクセスが設定されていれば、ＳＷ接続パスを通じてそのパケットを送信する。
【００８３】
図１９は、図１８のＳ１２０１の処理の詳細を示す。
【００８４】
Ｓ１４０１では、ＭＰ０が、ＳＷ０が保持するルーティングテーブルの情報をＳＷ０から取得する。Ｓ１４０２では、ＭＰ０は、ルーティングテーブルの情報を基に、自分が有するどのＭＰポートがダイレクトパスに接続されているかを判断する。これらＳ１４０１及びＳ１４０２は、予め行われていても良い。
【００８５】
Ｓ１４０３では、ＭＰ０は、パケットの宛先のＰＫが、ダイレクトパスに接続されているＰＫか否かを判断する。
【００８６】
Ｓ１４０３の判断の結果が否定的であれば（Ｓ１４０３：ＮＯ）、ＭＰ０は、Ｓ１４０４で、送信対象のパケットに低速アクセスを設定し、そのパケットを、ＳＷ０に接続されているＭＰポート（ダイレクトパスに非接続のＭＰポート）から送信する。
【００８７】
Ｓ１４０３の判断の結果が肯定的であれば（Ｓ１４０３：ＹＥＳ）、ＭＰ０は、Ｓ１４０５で、送信対象のパケットに高速アクセスを設定すべきか否かを判断する。高速アクセスを設定すべきと判断されるケースとしては、例えば、前述したケースＢ又はケースＣがある。
【００８８】
Ｓ１４０５の判断の結果が肯定的であれば（Ｓ１４０５：ＹＥＳ）、ＭＰ０は、Ｓ１４０６で、送信対象のパケットに高速アクセスを設定し、そのパケットを、ＭＰ０に繋がっているダイレクトパスを通じて送信する（ＳＷ１に繋がっているＭＰポートから送信する）。
【００８９】
Ｓ１４０５の判断の結果が肯定的であれば（Ｓ１４０５：ＮＯ）、ＭＰ０は、Ｓ１４０７で、送信対象のパケットに低速アクセスを設定し、そのパケットを、ＭＰ０に繋がっているダイレクトパスを通じて送信する（ＳＷ０に繋がっているＭＰポートから送信する）。
【００９０】
＜ケース４について＞。
【００９１】
図２０は、ケース４での応答の流れの概要を示す。図２１は、ケース４での処理のフローを示す。
【００９２】
Ｓ１５０１では、ＣＭ１が、リードが設定されたパケット（以下、図２０及び図２１の説明において「リードパケット」と言う）に応答して、ＣＭ１から読み出したデータを含んだパケットを送信する。その際、ＣＭ１は、送信対象のパケットに、リードパケット内のアクセス速度ビットと同じ値のアクセス速度ビットを設定する。つまり、リードパケットに、アクセス速度ビット”１”が設定されていれば、送信対象のパケットにアクセス速度ビット”１”が設定される。送信対象のパケットは、リードパケットを受信したＣＭポート（ＣＭが有するポート）と同じＣＭポートから送信される。
【００９３】
ＣＭ１からダイレクトパス経由でパケットが送信された場合、ＳＷ０を経由して、リードパケットの送信元のＰＫ０に、そのパケットが送信される。
【００９４】
一方、ＣＭ１からＳＷ１へとパケットが送信された場合、以下のＳ１５０２及びＳ１５０３が行われる。
【００９５】
Ｓ１５０２では、ＳＷ１が、ＣＭ１から受信したパケット内のアクセス速度ビットを基に、アクセスが高速アクセスか低速アクセスかを判断する。Ｓ１５０２では、図１３〜図１５のＳ８０３（Ｓ９０３）と同様の処理が行われる。
【００９６】
Ｓ１５０３では、ＳＷ１が、送信対象のパケットに高速アクセスが設定されていれば、ダイレクトパスを通じてそのパケットを送信し、一方、送信対象のパケットに低速アクセスが設定されていればＳＷ接続パスを通じてそのパケットを送信する。
【００９７】
以上が、第一実施形態の説明である。なお、第一実施形態の変形例として、図２２に示すように、モジュール１には、ＳＷ１がなくても良い。この場合、ＳＷ０からＣＭ１及びＭＰ１へのアクセスは、必ずダイレクトパスを通じて行われる。
【実施例２】
【００９８】
本発明の第二の実施形態を説明する。その際、第一の実施形態との相違点を主に説明し、第一の実施形態との共通点については説明を省略或いは簡略する。
【００９９】
図２３は、本発明の第二の実施形態に係るストレージシステムの構成例を示す。
【０１００】
各モジュール９０１に、パススイッチが設けられる。パススイッチは、ダイレクトパス経由のアクセスとするか、ＳＷ接続パス経由のアクセスとするかを切り替えるための装置である。
【０１０１】
図２３の例によれば、モジュール０が、パススイッチ２００１Ａ及び２００１Ｂを備え、モジュール１が、パススイッチ２００１Ｃ及び２００１Ｄを備える。パススイッチ２００１Ａと、パススイッチ２００１Ａに繋がるパススイッチ２００１Ｃとで第一のスイッチセットが構成され、パススイッチ２００１Ｂと、パススイッチ２００１Ｂに繋がるパススイッチ２００１Ｄとで第二のスイッチセットが構成される。第一のスイッチセット（第二のスイッチセット）がオン状態であると（具体的には、第一のスイッチセット（第二のスイッチセット）を構成する全てのパススイッチ２００１Ａ及び２００１Ｃ（２００１Ｂ及び２００１Ｄ）がオン状態であると）、ＳＷ０は、ＳＷ０のＳＷポート＃１（＃２）からダイレクトパスを通じてＭＰ１（ＣＭ１）にパケットを送信することができる。一方、第一のスイッチセット（第二のスイッチセット）がオフ状態であると（具体的には、第一のスイッチセット（第二のスイッチセット）を構成する全てのパススイッチ２００１Ａ及び２００１Ｃ（２００１Ｂ及び２００１Ｄ）がオフ状態であると）、ＳＷ０は、ＳＷ０のＳＷポート＃１（＃２）からＳＷ接続パスを通じてＭＰ１（ＣＭ１）にパケットを送信することができる。
【０１０２】
パススイッチのオン状態／オフ状態は、人間（例えば管理者）によって手動で切り替えられても良いし、いずれかのＰＫ（例えばＭＰ或いはＳＷ）からの信号に応じて自動で切り替えられても良い。以下、ＭＰ０及び１がパス切替えを行うこととする。
【０１０３】
パススイッチのオン状態／オフ状態の切り替えは、種々のタイミングで行うことが可能であるが、本実施形態では、特に、下記（Ａ）及び（Ｂ）のいずれかのタイミング、
（Ａ）モジュールが増設又は減設された、
（Ｂ）ストレージシステムの稼働状況が特定の状況に変化した（例えば、ダイレクトパスの負荷が高くなった）、
で行われる。
【０１０４】
ＭＰ０又はＭＰ１は、上記（Ａ）又は（Ｂ）が検出されたときに、図２４に示すパス切替え処理を行う。このとき、切替え対象のスイッチセットが既にオン状態であれば、パス切替え処理によってオフ状態に切り替えられ、逆に、既にオフ状態であれば、オン状態に切り替えられる。
【０１０５】
ＭＰ０を例に採り、図２４を参照して、パス切替え処理を説明する。その際、切替え対象のスイッチセットが、第一のスイッチセットであるとする。
【０１０６】
Ｓ３００１で、ＭＰ０は、パススイッチ２００１Ａに繋がっているＳＷポート＃１を閉塞する。ＳＷポート＃１の閉塞が行われることにより、例えば、ＭＰ０が管理するポート管理テーブル（図２５参照）において、ＳＷポート＃１に対応した状態情報が、”閉塞”に更新される。ポート管理テーブルは、ＳＷポート毎にポート番号及び状態情報を有し、例えば、ＣＭ０、又は、ＭＰ１が保持するメモリに記憶される。
【０１０７】
Ｓ３００２で、ＭＰ０は、パススイッチ２００１Ａのオン／オフ状態を切り替える。
【０１０８】
Ｓ３００３で、ＭＰ０は、ＳＷポート＃１を開放する。ＳＷポート＃１の開放が行われることにより、例えば、前述のポート管理テーブル（図２５参照）において、ＳＷポート＃１に対応した状態情報が、”開放”に更新される。
【０１０９】
Ｓ３００４で、ＭＰ０が、ＳＷ０にルーティングテーブルを更新させる。
【０１１０】
以上の一連の処理が終了すると、ＳＷ０が切替え後のパスを介してパケットを送信することができる。
【０１１１】
以上の構成により、一つのＳＷポート、ＭＰポート及びＣＭポートを、ダイレクトパスとＳＷ接続パスのどちらを経由するアクセスにも利用することができる。このため、ＳＷポート、ＭＰポート及びＣＭポートの数を削減することが期待できる、及び／又は、Ｉ／Ｏコマンドのより高速な処理が期待できる。例えば、ＣＭ１或いはＭＰ１へのアクセスの頻度が少ない場合には、ＳＷポート＃１及び＃２の少なくとも一方をＳＷ接続パスに繋がるようなパス切替え処理が行われることで、ＳＷ接続パスが増えるため、ＳＷ０を経由するＤＫＡ１及び／又はＣＨＡ１へのアクセスをより高速に行うことが期待できる。
【０１１２】
以下、パス切替え処理が行われる流れの一例を説明する。
【０１１３】
まず、ストレージシステムがモジュール０のみで構成されているとする。このときに、モジュール１が増設されたとする。
【０１１４】
このとき、図２６に示すように、ＭＰ０（及びＭＰ１）が、モジュール１の増設を検出し（Ｓ２６０１：ＹＥＳ）、ダイレクトパスを増やすためのパス切替え処理を行う（Ｓ２６０４）。
【０１１５】
その後、ＭＰ０は、第一種の稼働状況に稼働状況が変化したことを検出した場合（Ｓ２６０２：ＹＥＳ、Ｓ２６０３：ＮＯ）、ＳＷ接続パスを増やすためのパス切替え処理を行う（Ｓ２６０５）。第一種の稼働状況としては、例えば、モジュール０からＭＰ１及びＣＭ１へのアクセス頻度が第一の閾値未満になった状況が考えられる。
【０１１６】
また、その後、ＭＰは、第二種の稼働状況に稼働状況が変化したことを検出した場合（Ｓ２６０２：ＹＥＳ、Ｓ２６０３：ＮＯ）、ダイレクトパスを増やすためのパス切替え処理を行う（Ｓ２６０４）。第二種の稼働状況としては、例えば、モジュール０からＭＰ１及びＣＭ１へのアクセス頻度が第二の閾値以上（第二の閾値≧第一の閾値）になった状況が考えられる。
【０１１７】
以下、上記の流れにおける各ケースについて詳細に説明する。
【０１１８】
＜モジュール１の増設前＞。
【０１１９】
モジュール１の増設前は、ＳＷ０のＳＷポート＃１〜＃４にはいずれのＰＫが接続されていない。このため、図２７に示すように、ＳＷポート＃１〜＃４の状態は、×印で示すように、閉塞になっている。ＳＷ０のルーティングテーブル（以下、ルーティングテーブル０）は、図２８に示すようになっている。すなわち、ルーティングテーブル０には、ＳＷポート＃１〜＃４について、接続先ＰＫＡＤ及びルーティング先ＰＫＡＤが記録されていない。
【０１２０】
同様に、増設前のモジュール１について、ＳＷ１のＳＷポート＃１〜＃６の状態、ＣＭ１のＣＭポートの状態、及びＭＰ１のＭＰポートの状態が、閉塞になっている。ＳＷ１のルーティングテーブル（以下、ルーティングテーブル１）は、図２９に示すようになっている。すなわち、ルーティングテーブル１には、ＳＷポート＃１〜＃６について、接続先ＰＫＡＤ及びルーティング先ＰＫＡＤが記録されていない。
【０１２１】
＜モジュール１の増設＞。
【０１２２】
図２７に示すように、モジュール１が増設された場合、ＭＰ０が、パススイッチ２００１Ａ及び２００１Ｂをオン状態に切り替え、ＭＰ１が、パススイッチ２００１Ｃ及び２００１Ｄをオン状態に切り替える。その後、ＭＰ０が、ＳＷ０のＳＷポート＃１〜＃４の状態を、閉塞から開放に切り替え、同様に、ＭＰ１が、ＳＷ１のＳＷポート＃１〜＃６の状態を、閉塞から開放に切り替える。
【０１２３】
その後、ＳＷ０が、ルーティングテーブル０を、図３０に示すルーティングテーブル０に更新する。すなわち、ＳＷ０が、ＳＷポート＃１〜＃４を通じて、ＳＷポート＃１〜＃４に接続されているＰＫから、モジュールＩＤ、スロットＩＤ及びＰＫＩＤを取得し、ＰＫＡＤを生成し、生成されたＰＫＡＤを、接続先ＰＫＡＤ（更にルーティング先ＰＫＡＤ）としてルーティングテーブル０に登録する。その際、ＳＷ０は、接続先ＰＫＡＤとルーティング先ＰＫＡＤが同じＳＷポート＃１及び＃２について、ダイレクトパスフラグ“１”（図３０において○印）を設定する。また、接続先がＳＷ１であれば、ＳＷ０は、ＳＷ１に接続されているＰＫ１のモジュールＩＤ、スロットＩＤ及びＰＫＩＤを受けるので、ＳＷ０は、それらのモジュールＩＤ、スロットＩＤ及びＰＫＩＤを基に生成したＰＫＡＤを、ルーティング先ＰＫＡＤとして、ルーティングテーブル０に登録する。
【０１２４】
ＳＷ１は、同様に、ルーティングテーブル１を、図３１に示すルーティングテーブル１に更新する。
【０１２５】
ルーティングテーブル０及び１が更新された後、ＳＷ０からダイレクトパスを通じたＣＭ１或いはＭＰ１へのアクセスと、ＳＷ０からＳＷ接続パスを通じたＣＭ１或いはＭＰ１へのアクセスのいずれも可能となる。
【０１２６】
＜第一種の稼働状況の検出時＞。
【０１２７】
例えばモジュール１の増設後、第一種の稼働状況が検出された場合、図３２に示すように、ＳＷ接続パスを増やすためのパス切替え処理が行われる。すなわち、ダイレクトパスに代えてＳＷ接続パスが採用される。
【０１２８】
具体的には、例えば、ＭＰ０が、第一種の稼働状況を検出した場合、ルーティングテーブル０を参照し、ダイレクトパスに繋がっているＳＷポート＃３及び＃４を特定する。そして、ＭＰ０は、パススイッチ２００１Ａ及び２００１Ｂに繋がっているＳＷポート＃１及び＃２の状態、及び、特定されたＳＷポート＃３及び＃４の状態を、開放から閉塞に切り替える。ＭＰ０は、ＳＷポート＃１〜＃４の状態が閉塞になっている間、ホスト１００からＩ／Ｏコマンドの受付を保留にしても良いし（例えば所定の応答（例えばビジー）をホスト１００に返しても良いし）、ホスト１００からＩ／Ｏコマンドを受け付けても良い。ホスト１００からＩ／Ｏコマンドを受信した場合、ＭＰ０は、そのＩ／Ｏコマンドの処理においてモジュール１へパケットを送信する必要が無ければ、そのＩ／Ｏコマンドを処理し、モジュール１へパケットを送信する必要があれば、ホスト１００に所定の応答（例えばビジー）を返しても良い。
【０１２９】
ＭＰ１が、ＳＷ１のＳＷポート＃１〜＃６の状態を開放から閉塞に切り替える。ＭＰ１は、この処理を、例えば、ＳＷ０のＳＷポート＃１〜＃４の状態が閉塞にされる前にＭＰ０から所定の指令を受けたことに応答して、或いは、ＳＷ０のＳＷポート＃１等の特定のＳＷポートを介してアクセスできなくなったことを検出したことに応答して、行うことができる。
【０１３０】
ＭＰ０が、パススイッチ２００１Ａ及び２００１Ｂの状態を、オン状態からオフ状態に切り替える。同様に、ＭＰ１が、パススイッチ２００１Ｃ及び２００１Ｄの状態を、オン状態からオフ状態に切り替える。
【０１３１】
次に、ＭＰ０が、ＳＷ０のＳＷポート＃１〜＃４の状態を閉塞から開放に切り替え、同様に、ＭＰ１が、ＳＷ１のＳＷポート＃１〜＃６の状態を閉塞から開放に切り替える。
【０１３２】
次に、ＳＷ０が、ＳＷ０のＳＷポート＃１〜＃４を通じて、ＳＷ１から、ＳＷ１のモジュールＩＤ、スロットＩＤ及びＰＫＩＤや、ＳＷ１に接続されているＰＫのモジュールＩＤ、スロットＩＤ及びＰＫＩＤを取得し、ルーティングテーブル０を、図３３に示すルーティングテーブル０に更新する。すなわち、ＳＷポート＃１及び＃２について、ダイレクトパスフラグが“１”から“０”に更新される（図３３において、図３０に示した○印が無くなる）。また、ＳＷポート＃１及び＃２について、接続先ＰＫＡＤ及びルーティング先ＰＫＡＤが、始めからＳＷ１に接続されていたＳＷポート＃３及び＃４についての接続先ＰＫＡＤ及びルーティング先ＰＫＡＤと同じになる。ＳＷポート＃１及び＃２は、ＳＷポート＃３及び＃４と同様にＳＷ接続パスに繋がるからである。
【０１３３】
同様に、ＳＷ１が、ＳＷ１のＳＷポート＃１〜＃４を通じて、ＳＷ０から、ＳＷ０のモジュールＩＤ、スロットＩＤ及びＰＫＩＤや、ＳＷ０に接続されているＰＫのモジュールＩＤ、スロットＩＤ及びＰＫＩＤを取得する。また、ＳＷ１が、ＳＷ１のＳＷポート＃５及び＃６を通じて、ＣＭ１及びＭＰ１から、ＣＭ１及びＭＰ１のモジュールＩＤ、スロットＩＤ及びＰＫＩＤを取得する。そして、ＳＷ１は、それらの取得されたモジュールＩＤ、スロットＩＤ及びＰＫＩＤを基に、ルーティングテーブル１を、図３４に示すルーティングテーブル１に更新する。
【０１３４】
その後、ＳＷ０を通じてＣＭ１及びＭＰ１へのアクセスが再開される。
【０１３５】
＜第二種の稼働状況の検出時＞。
【０１３６】
例えば、ＳＷ接続パスを増やすためのパス切替え処理が行われた後、第二種の稼働状況が検出された場合、図３５に示すように、ダイレクトパスを増やすためのパス切替え処理が行われる。すなわち、ＳＷ接続パスに代えてダイレクトパスが採用される。
【０１３７】
具体的には、例えば、ＭＰ０が、第二種の稼働状況を検出した場合、ルーティングテーブル０を参照し、ＳＷ接続パスに繋がっているＳＷポート＃３及び＃４を特定する。そして、ＭＰ０は、パススイッチ２００１Ａ及び２００１Ｂに繋がっているＳＷポート＃１及び＃２の状態、及び、特定されたＳＷポート＃３及び＃４の状態を、開放から閉塞に切り替える。また、ＭＰ１が、ＳＷ１のＳＷポート＃１〜＃６の状態を開放から閉塞に切り替える。
【０１３８】
ＭＰ０が、パススイッチ２００１Ａ及び２００１Ｂの状態を、オフ状態からオン状態に切り替える。同様に、ＭＰ１が、パススイッチ２００１Ｃ及び２００１Ｄの状態を、オフ状態からオン状態に切り替える。
【０１３９】
次に、ＭＰ０が、ＳＷ０のＳＷポート＃１〜＃４の状態を閉塞から開放に切り替え、同様に、ＭＰ１が、ＳＷ１のＳＷポート＃１〜＃６の状態を閉塞から開放に切り替える。
【０１４０】
次に、ＳＷ０が、ＳＷ０のＳＷポート＃１及び＃２を通じて、ＣＭ１及びＭＰ１から、ＣＭ１及びＭＰ１のそれぞれのモジュールＩＤ、スロットＩＤ及びＰＫＩＤを取得する。また、ＳＷ０は、ＳＷ０のＳＷポート＃３及び＃４を通じて、ＳＷ１から、ＳＷ１のモジュールＩＤ、スロットＩＤ及びＰＫＩＤや、ＳＷ１に接続されているＰＫのモジュールＩＤ、スロットＩＤ及びＰＫＩＤを取得する。そして、ＳＷ０は、それらの取得されたモジュールＩＤ、スロットＩＤ及びＰＫＩＤを基に、ルーティングテーブル０を、図３６に示すルーティングテーブル０に更新する（ここでは、特にＰＫの増設などが行われていないため、結果として、ルーティングテーブル０の内容が、図３０に示したルーティングテーブル０の内容に戻る）。
【０１４１】
同様に、ＳＷ１が、ＳＷ１のＳＷポート＃１〜＃４を通じて、ＳＷ０から、ＳＷ０のモジュールＩＤ、スロットＩＤ及びＰＫＩＤや、ＳＷ０に接続されているＰＫのモジュールＩＤ、スロットＩＤ及びＰＫＩＤを取得する。また、ＳＷ１が、ＳＷ１のＳＷポート＃５及び＃６を通じて、ＣＭ１及びＭＰ１から、ＣＭ１及びＭＰ１のモジュールＩＤ、スロットＩＤ及びＰＫＩＤを取得する。そして、ＳＷ１は、ルーティングテーブル１を、図３７に示すルーティングテーブル１に更新する（ここでは、特にＰＫの増設などが行われていないため、結果として、ルーティングテーブル１の内容が、図３１に示したルーティングテーブル１の内容に戻る）。
【０１４２】
その後、ＳＷ０を通じてＣＭ１及びＭＰ１へのアクセスが再開される。
【０１４３】
以上が、第二の実施形態の説明である。なお、上述の説明によれば、第一スイッチセット（パススイッチ２００１Ａ及び２００１Ｃのセット）の状態と第二スイッチセット（パススイッチ２００１Ｂ及び２００１Ｄのセット）の状態が共に切り替えられるが、第一スイッチセットの状態及び第二スイッチセットの状態の一方が切り替えられ他方は切り替えられないままであっても良い。
【０１４４】
以上、本発明の好適な実施形態を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこの実施形態にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。例えば、ＨＤＤ１１２は、モジュール毎に存在することに代えて、モジュールには非存在であり、複数のモジュールに共通であっても良い。この場合、例えば、ＤＫＡ０を通じてもＤＫＡ１を通じてもＨＤＤ１１２にアクセスが行われても良い。
【図面の簡単な説明】
【０１４５】
【図１】本発明の第一の実施形態に係るストレージシステムの構成例を示す。
【図２】モジュールの外観の一例の概要を示す。
【図３】モジュール間接続の第一の例を示す。
【図４】モジュール間接続の第二の例を示す。
【図５】モジュール間接続の第三の例を示す。
【図６】ＳＷのルーティングテーブルの作成処理のフローを示す。
【図７】ＰＫ種別とＰＫＩＤとの関係の一例を示す。
【図８】ＰＫＡＤのフォーマットの一例を示す。
【図９】パケットのフォーマットの一例を示す。
【図１０】ＳＷ０が有するルーティングテーブルを示す。
【図１１】ＣＨＡ０がホストからライトコマンドを受領した場合に実行される処理のフローを示す。
【図１２】ＣＨＡ０がホストからリードコマンドを受領した場合に実行される処理のフローを示す。
【図１３】ケース１でのアクセスの流れの概要を示す。
【図１４】ケース２でのアクセスの流れの概要を示す。
【図１５】ケース１及びケース２での処理のフローを示す。
【図１６】図１５のＳ８０３（Ｓ９０３）の処理の詳細を示す。
【図１７】ケース３でのアクセスの流れの概要を示す。
【図１８】ケース３での処理のフローを示す。
【図１９】図１８のＳ１２０１の処理の詳細を示す。
【図２０】ケース４でのアクセスの流れの概要を示す。
【図２１】ケース４での処理のフローを示す。
【図２２】モジュール間接続の変形例を示す。
【図２３】本発明の第二の実施形態に係るストレージシステムの構成例を示す。
【図２４】パス切替え処理のフローを示す。
【図２５】ポート管理テーブルの構成例を示す。
【図２６】パス切替え処理のフローを示す。
【図２７】モジュール１の増設時のパス切替えの概要を示す。
【図２８】モジュール１の増設前のルーティングテーブル０を示す。
【図２９】モジュール１の増設前のルーティングテーブル１を示す。
【図３０】モジュール１の増設後のルーティングテーブル０を示す。
【図３１】モジュール１の増設後のルーティングテーブル１を示す。
【図３２】第一種の稼働状況の検出時のパス切替えの概要を示す。
【図３３】第一種の稼働状況の検出後のルーティングテーブル０を示す。
【図３４】第一種の稼働状況の検出後のルーティングテーブル１を示す。
【図３５】第二種の稼働状況の検出時のパス切替えの概要を示す。
【図３６】第二種の稼働状況の検出後のルーティングテーブル０を示す。
【図３７】第二種の稼働状況の検出後のルーティングテーブル１を示す。
【符号の説明】
【０１４６】
１０１…ストレージモジュール
【図１】
2010092243.tif 000003
【図２】
2010092243.tif 000004
【図３】
2010092243.tif 000005
【図４】
2010092243.tif 000006
【図５】
2010092243.tif 000007
【図６】
2010092243.tif 000008
【図７】
2010092243.tif 000009
【図８】
2010092243.tif 000010
【図９】
2010092243.tif 000011
【図１０】
2010092243.tif 000012
【図１１】
2010092243.tif 000013
【図１２】
2010092243.tif 000014
【図１３】
2010092243.tif 000015
【図１４】
2010092243.tif 000016
【図１５】
2010092243.tif 000017
【図１６】
2010092243.tif 000018
【図１７】
2010092243.tif 000019
【図１８】
2010092243.tif 000020
【図１９】
2010092243.tif 000021
【図２０】
2010092243.tif 000022
【図２１】
2010092243.tif 000023
【図２２】
2010092243.tif 000024
【図２３】
2010092243.tif 000025
【図２４】
2010092243.tif 000026
【図２５】
2010092243.tif 000027
【図２６】
2010092243.tif 000028
【図２７】
2010092243.tif 000029
【図２８】
2010092243.tif 000030
【図２９】
2010092243.tif 000031
【図３０】
2010092243.tif 000032
【図３１】
2010092243.tif 000033
【図３２】
2010092243.tif 000034
【図３３】
2010092243.tif 000035
【図３４】
2010092243.tif 000036
【図３５】
2010092243.tif 000037
【図３６】
2010092243.tif 000038
【図３７】
2010092243.tif 000039