(57)【特許請求の範囲】
【請求項１】
複数のストレージデバイスと、前記複数のストレージデバイスと外部装置とを第１系統で中継する第１中継装置と、前記複数のストレージデバイスと前記外部装置とを前記第１系統と異なる第２系統で中継する第２中継装置と、を備え、
前記第１中継装置および前記第２中継装置は、それぞれ、
前記ストレージデバイスへのアクセスをおこなうための第１指定先情報と、前記ストレージデバイスに対する前記外部装置からのアクセスを中継して前記ストレージデバイスへのアクセスをおこなうための第２指定先情報との対応関係を記憶する記憶部と、
中継負荷にもとづいて前記第１中継装置または前記第２中継装置を経由する前記ストレージデバイスに対応する前記第２指定先情報ごとの中継経路であって前記外部装置によるアクセス先とする前記第１中継装置または前記第２中継装置の指定を含む前記中継経路を決定し、
前記中継経路に更新があった場合に決定した前記中継経路を前記外部装置に通知し、
前記第２指定先情報により特定可能なアクセス要求を前記外部装置から受け付けて、前記対応関係にもとづいて前記ストレージデバイスへのアクセスをおこなう、
制御部と、
を備えるストレージ装置。
【請求項２】
前記制御部は、前記中継経路が更新された場合、前記外部装置から当該ストレージデバイスへのアクセス要求の受け付けを契機にして、更新された前記中継経路を前記外部装置に通知する、
請求項１記載のストレージ装置。
【請求項３】
前記第１中継装置は、
前記複数のストレージデバイスのうち第１群と前記第１中継装置とを中継する第１下位中継装置と、
前記複数のストレージデバイスのうち前記第１群と異なる第２群と前記第１中継装置とを中継する第２下位中継装置と、
を備え、
前記第２中継装置は、
前記第１群と前記第２中継装置とを中継する第３下位中継装置と、
前記第２群と前記第２中継装置とを中継する第４下位中継装置と、
を備える、
請求項１記載のストレージ装置。
【請求項４】
前記中継負荷は、前記第１中継装置、前記第２中継装置、前記第１下位中継装置、前記第２下位中継装置、前記第３下位中継装置、および前記第４下位中継装置のそれぞれの処理負荷を含む請求項３記載のストレージ装置。
【請求項５】
前記制御部は、
前記ストレージデバイスに対応する論理ボリュームの識別情報を前記第２指定先情報とする前記対応関係を生成する、
請求項１記載のストレージ装置。
【請求項６】
前記中継負荷は、前記第１中継装置および前記第２中継装置が中継する通信負荷を含む請求項１記載のストレージ装置。
【請求項７】
複数のストレージデバイスと外部装置とを中継する中継装置であって、
前記ストレージデバイスへのアクセスをおこなうための第１指定先情報と、前記ストレージデバイスに対する前記外部装置からのアクセスを中継して前記ストレージデバイスへのアクセスをおこなうための第２指定先情報との対応関係を記憶する記憶部と、
中継負荷にもとづいて当該中継装置、または当該中継装置と異なる系統で前記複数のストレージデバイスと前記外部装置とを中継する他の中継装置を経由する前記ストレージデバイスに対応する前記第２指定先情報ごとの中継経路であって前記外部装置によるアクセス先とする当該中継装置または前記他の中継装置の指定を含む前記中継経路を決定し、
前記中継経路に更新があった場合に決定した前記中継経路を前記外部装置に通知し、
前記第２指定先情報により特定可能なアクセス要求を前記外部装置から受け付けて、前記対応関係にもとづいて前記ストレージデバイスへのアクセスをおこなう、
制御部と、
を備える中継装置。
【請求項８】
複数のストレージデバイスと外部装置とを中継する中継装置の中継制御プログラムであって、
コンピュータに、
前記ストレージデバイスへのアクセスをおこなうための第１指定先情報と、前記ストレージデバイスに対する前記外部装置からのアクセスを中継して前記ストレージデバイスへのアクセスをおこなうための第２指定先情報との対応関係を決定し、
中継負荷にもとづいて当該中継装置、または当該中継装置と異なる系統で前記複数のストレージデバイスと前記外部装置とを中継する他の中継装置を経由する前記ストレージデバイスに対応する前記第２指定先情報ごとの中継経路であって前記外部装置によるアクセス先とする前記中継装置または前記他の中継装置の指定を含む前記中継経路を決定し、
前記中継経路に更新があった場合に決定した前記中継経路を前記外部装置に通知し、
前記第２指定先情報により特定可能なアクセス要求を前記外部装置から受け付けて、前記対応関係にもとづいて前記ストレージデバイスへのアクセスをおこなう、
処理を実行させる中継制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置、中継装置、および中継制御プログラムに関する。
【背景技術】
【０００２】
サーバなどの外部記憶装置として、ＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）などのストレージデバイスを複数搭載するストレージ装置が知られている。ストレージ装置は、記憶容量拡大や信頼性向上の要請から、ストレージデバイスを高密度に搭載するとともにストレージデバイスと接続するアクセスパスの冗長化を図っている。ストレージ装置は、複数の中継装置（たとえば、エキスパンダ）を備えることで、サーバなどの外部装置と高密度に搭載されたストレージデバイスとを冗長性を有して中継する。また、ストレージ装置は、ストレージデバイスへの冗長化されたアクセスパスを外部装置が選択することで、アクセス負荷を分散することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２００７−５３６６１２号公報
【特許文献２】特開２０１２−７３９８３号公報
【特許文献３】特開２００５−２６６９３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、外部装置は、あらかじめ設定する接続構成に依存してアクセスパスを選択する場合がある。また、外部装置は、ストレージ装置におけるアクセスパスの負荷を把握することが難しい。そのため、ストレージ装置におけるストレージデバイスへのアクセスの中継は、非効率となる場合が多い。
【０００５】
１つの側面では、本発明は、ストレージデバイスへのアクセスを効率よく中継できるストレージ装置、中継装置、および中継制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、ストレージ装置が提供される。ストレージ装置は、複数のストレージデバイスと、複数のストレージデバイスと外部装置とを第１系統で中継する第１中継装置と、複数のストレージデバイスと外部装置とを第１系統と異なる第２系統で中継する第２中継装置とを備える。第１中継装置および第２中継装置は、それぞれ、記憶部と制御部とを備える。記憶部は、ストレージデバイスへのアクセスをおこなうための第１指定先情報と、ストレージデバイスに対する外部装置からのアクセスを中継してストレージデバイスへのアクセスをおこなうための第２指定先情報との対応関係を記憶する。制御部は、中継負荷にもとづいて第１中継装置または第２中継装置を経由するストレージデバイスに対応する第２指定先情報ごとの中継経路であって外部装置によるアクセス先とする第１中継装置または第２中継装置の指定を含む中継経路を決定し、中継経路に更新があった場合に決定した中継経路を外部装置に通知し、第２指定先情報により特定可能なアクセス要求を外部装置から受け付けて、対応関係にもとづいてストレージデバイスへのアクセスをおこなう。
【発明の効果】
【０００７】
１態様によれば、ストレージデバイスへのアクセスを効率よく中継できる。
【図面の簡単な説明】
【０００８】
【図１】第１の実施形態のストレージシステムの一例を示す図である。
【図２】第２の実施形態のストレージシステムの一例を示す図である。
【図３】第２の実施形態のエキスパンダのハードウェア構成の一例を示す図である。
【図４】第２の実施形態のＬＵＮ番号決定処理を示すフローチャートである。
【図５】第２の実施形態のＬＵＮ番号管理テーブルの一例を示す図である。
【図６】第２の実施形態のサーバが上位エキスパンダに対しておこなう接続先確認のコマンドシーケンスの一例を示す図である。
【図７】第２の実施形態のサーバが下位エキスパンダに対しておこなう接続先確認のコマンドシーケンスの一例を示す図である。
【図８】第２の実施形態のサーバが上位エキスパンダに対しておこなうＬＵＮ番号取得のコマンドシーケンスの一例を示す図である。
【図９】第２の実施形態の推奨アクセスパステーブル生成処理を示すフローチャートである。
【図１０】第２の実施形態のエキスパンダ状態管理テーブル（担当分）の一例を示す図である。
【図１１】第２の実施形態のエキスパンダ状態管理テーブル（全体分）の一例を示す図である。
【図１２】第２の実施形態の推奨アクセスパス決定処理を示すフローチャートである。
【図１３】第２の実施形態の推奨アクセスパステーブルの一例を示す図である。
【図１４】第２の実施形態の推奨アクセスパス通知処理を示すフローチャートである。
【図１５】第２の実施形態のサーバがディスクにおこなうＳＳＰ Ｒｅａｄアクセスのコマンドシーケンスの一例を示す図である。
【図１６】第２の実施形態のアクセスデバイス指定一覧表の一例を示す図である。
【図１７】第２の実施形態のＤＥにおける推奨アクセスパスの一例（その１）を示す図である。
【図１８】第２の実施形態のＤＥにおける推奨アクセスパスの一例（その２）を示す図である。
【図１９】第２の実施形態のＤＥにおける推奨アクセスパスの一例（その３）を示す図である。
【図２０】第２の実施形態のＤＥにおける推奨アクセスパスの一例（その４）を示す図である。
【発明を実施するための形態】
【０００９】
以下、実施形態について、図面を参照しながら詳細に説明する。
［第１の実施形態］
まず、第１の実施形態のストレージシステムについて図１を用いて説明する。図１は、第１の実施形態のストレージシステムの一例を示す図である。
【００１０】
ストレージシステム１は、ストレージ装置２と外部装置８を含む。ストレージ装置２は、外部装置８の外部記憶装置であり、たとえば、ドライブエンクロージャである。外部装置８は、情報処理装置であり、たとえば、サーバまたはホストなどである。
【００１１】
ストレージ装置２は、第１中継装置３と、第２中継装置４と、複数のストレージデバイス５ａ，５ｂを含む。第１中継装置３と第２中継装置４は、外部装置８からのアクセスを複数のディスクに中継する中継装置であり、たとえば、エキスパンダである。ストレージデバイス５ａ，５ｂは、ＨＤＤやＳＳＤなどの記憶装置である。
【００１２】
第１中継装置３は、外部装置８からストレージデバイス５ａ，５ｂへのアクセスを第１系統６（実線で図示）で中継する。第２中継装置４は、外部装置８からストレージデバイス５ａ，５ｂへのアクセスを第２系統７（破線で図示）で中継する。このように、ストレージ装置２は、ストレージデバイス５ａ，５ｂへのアクセスパスを二重化した冗長構成を有する。
【００１３】
なお、ストレージ装置２は、第１中継装置３と第２中継装置４を上位中継装置として、第１中継装置３と複数のストレージデバイス５ａ，５ｂとの間および第２中継装置４と複数のストレージデバイス５ａ，５ｂとの間にそれぞれ下位中継装置を備える階層構造を有してもよい。この場合、ストレージ装置２は、ツリー型トポロジによって、より高密度にストレージデバイス５ａ，５ｂを備えることができる。
【００１４】
第１中継装置３は、記憶部３ａと制御部３ｃとを備える。記憶部３ａは、第１指定先情報と第２指定先情報との対応関係３ｂを記憶する。
第１指定先情報は、ストレージデバイス５ａ，５ｂへのアクセスをおこなうための情報であり、換言すれば、ストレージデバイス５ａ，５ｂをアクセス先として直接指定可能な情報である。第１指定先情報は、たとえばストレージデバイス５ａ，５ｂのアドレスである。
【００１５】
第２指定先情報は、ストレージデバイス５ａ，５ｂに対する外部装置８からのアクセスを中継してストレージデバイス５ａ，５ｂへのアクセスをおこなうための情報である。換言すれば、第２指定先情報は、ストレージデバイス５ａ，５ｂをアクセス先として間接指定可能な情報である。第２指定先情報は、たとえば第１中継装置３または第２中継装置４がアクセスを中継するＬＵＮ（Logical Unit Number）である。対応関係３ｂは、第１指定先情報と第２指定先情報との対応関係を示す情報である。
【００１６】
制御部３ｃは、中継負荷にもとづいてストレージデバイス５ａ，５ｂに対応する第２指定先情報ごとの中継経路を決定する。中継負荷は、中継装置（第１中継装置３、第２中継装置４）の中継にかかる負荷であり、処理負荷や通信負荷などがある。中継経路は、外部装置８とのアクセスを中継する経路であり、第１中継装置３が中継する第１系統６と、第２中継装置４が中継する第２系統７とがある。たとえば、制御部３ｃは、中継負荷にもとづいてストレージデバイス５ａに対応する第２指定先情報の中継経路を第１中継装置３が中継する第１系統６とする。また、制御部３ｃは、中継負荷にもとづいてストレージデバイス５ｂに対応する第２指定先情報の中継経路を第２中継装置４が中継する第２系統７として決定する。
【００１７】
制御部３ｃは、決定した中継経路を外部装置８に通知する。これにより、外部装置８は、ストレージデバイス５ａ，５ｂに関して第２指定先情報に対応する中継経路を取得できる。
【００１８】
制御部３ｃは、第２指定先情報により特定可能なストレージデバイス５ａ，５ｂへのアクセス要求を外部装置８から受け付けると、対応関係３ｂにもとづいてストレージデバイス５ａ，５ｂを特定してアクセス要求を中継する。
【００１９】
また、第２中継装置４は、記憶部４ａと制御部４ｃとを備える。記憶部４ａは、ストレージデバイス５ａ，５ｂの第１指定先情報と第２指定先情報との対応関係４ｂを記憶する。対応関係４ｂは、第１指定先情報と第２指定先情報との対応関係を示す情報である。
【００２０】
制御部４ｃは、中継負荷にもとづいてストレージデバイス５ａ，５ｂに対応する第２指定先情報ごとの中継経路を決定する。たとえば、制御部４ｃは、中継負荷にもとづいてストレージデバイス５ａに対応する第２指定先情報の中継経路を第１中継装置３が中継する第１系統６とする。また、制御部４ｃは、中継負荷にもとづいてストレージデバイス５ｂに対応する第２指定先情報の中継経路を第２中継装置４が中継する第２系統７として決定する。
【００２１】
制御部４ｃは、決定した中継経路を外部装置８に通知する。これにより、外部装置８は、ストレージデバイス５ａ，５ｂに関して第２指定先情報に対応する中継経路を取得できる。
【００２２】
制御部４ｃは、第２指定先情報により特定可能なストレージデバイス５ａ，５ｂへのアクセス要求を外部装置８から受け付けると、対応関係４ｂにもとづいてストレージデバイス５ａ，５ｂを特定してアクセス要求を中継する。
【００２３】
これにより、外部装置８は、第１中継装置３または第２中継装置４をアクセス先とし、第２指定先情報により特定されるストレージデバイス５ａ，５ｂにアクセス要求をおこなうことができる。一方、ＤＥ１０は、外部装置８の直接のアクセス先をストレージデバイス５ａ，５ｂとせず、第１中継装置３または第２中継装置４とすることで、ストレージ装置２におけるアクセスパスをコントロールできる。
【００２４】
このように、ストレージ装置２は、第１中継装置３または第２中継装置４を介した第２指定先情報によるストレージデバイス５ａ，５ｂへのアクセスを外部装置８に案内することで、ストレージ装置２における中継負荷に対応した中継制御をおこなうことができる。したがって、ストレージ装置２は、ストレージデバイス５ａ，５ｂへのアクセスにかかる中継負荷を分散し、ストレージデバイス５ａ，５ｂへのアクセスを効率よく中継できる。
【００２５】
［第２の実施形態］
次に、第２の実施形態のストレージシステムについて図２を用いて説明する。図２は、第２の実施形態のストレージシステムの一例を示す図である。
【００２６】
ストレージシステム１ａは、ＤＥ（Drive Enclosure）１０とサーバ２０を含む。ＤＥ１０は、サーバ２０とＳＡＳ（Serial Attached ＳＣＳＩ（Small Computer System Interface））インタフェースで接続する外部記憶装置であり、第１の実施形態で示したストレージ装置２の一形態である。サーバ２０は、第１の実施形態で示した外部装置８の一形態である。
【００２７】
ＤＥ１０は、エキスパンダ３０（ｅ００，ｅ１０，ｅ０１，ｅ０２，ｅ１１，ｅ１２）と、ディスク５０（ｄ００，ｄ０１，ｄ０２，ｄ０３，ｄ１０，ｄ１１，ｄ１２，ｄ１３）を含む。ＤＥ１０は、複数のスロットを備え、ディスク５０は、各スロットにセットされる。
【００２８】
ディスク５０は、ＳＡＳインタフェースで接続（実線で図示）するエンドデバイスであり、たとえば、ＳＡＳ ＨＤＤやＳＡＳ ＳＳＤである。なお、ＤＥ１０は、一例として８台のディスク５０を含むが、説明を簡単にするためであって、８台に限られるものではない。
【００２９】
エキスパンダ３０は、デバイス接続数を拡張可能な中継装置であり、たとえば、ＳＡＳスイッチでありＳＡＳスイッチを多段接続可能である。ＤＥ１０は、エキスパンダｅ００，ｅ１０をサーバ２０と接続する上位エキスパンダ３０１とし、エキスパンダｅ０１，ｅ０２，ｅ１１，ｅ１２を上位エキスパンダ３０１を介してサーバ２０と接続する下位エキスパンダ３０２としている。下位エキスパンダ３０２は、ディスクｄ００，ｄ０１，ｄ０２，ｄ０３，ｄ１０，ｄ１１，ｄ１２，ｄ１３を接続する。なお、ＤＥ１０は、上位エキスパンダ３０１と下位エキスパンダ３０２の２段構成であるが、エキスパンダ３０を３段以上に接続する多段構成であってもよい。
【００３０】
エキスパンダｅ００は、パスｐ００でサーバ２０と接続し、パスｐ０１でエキスパンダｅ０１と接続し、パスｐ０２でエキスパンダｅ０２と接続する。エキスパンダｅ０１は、ディスク５０のうちディスクｄ００，ｄ０１，ｄ０２，ｄ０３の一群（第１群）とそれぞれ接続する。エキスパンダｅ０２は、ディスク５０のうちディスクｄ１０，ｄ１１，ｄ１２，ｄ１３の一群（第２群）とそれぞれ接続する。これにより、エキスパンダｅ００は、サーバ２０からディスク５０へのアクセスを中継できる。
【００３１】
エキスパンダｅ１０は、パスｐ１０でサーバ２０と接続し、パスｐ１１でエキスパンダｅ１１と接続し、パスｐ１２でエキスパンダｅ１２と接続する。エキスパンダｅ１１は、ディスク５０のうちディスクｄ００，ｄ０１，ｄ０２，ｄ０３の一群（第１群）とそれぞれ接続する。エキスパンダｅ１２は、ディスク５０のうちディスクｄ１０，ｄ１１，ｄ１２，ｄ１３の一群（第２群）とそれぞれ接続する。これにより、エキスパンダｅ１０は、サーバ２０からディスク５０へのアクセスを中継できる。
【００３２】
したがって、ＤＥ１０は、エキスパンダｅ００をルートにするツリー型トポロジによってサーバ２０とディスク５０を接続するアクセスパスを有する。また、ＤＥ１０は、エキスパンダｅ１０をルートにするツリー型トポロジによってサーバ２０とディスク５０を接続するアクセスパスを有する。このように、ＤＥ１０は、アクセスパスを二重化した冗長構成を有する。
【００３３】
また、ＤＥ１０は、エキスパンダｅ００とエキスパンダｅ１０をＩ２Ｃ（Inter Integrated Circuit）インタフェースで接続（破線で図示）し、エキスパンダｅ００とエキスパンダｅ１０とをＳＡＳインタフェースと独立して通信可能にする。
【００３４】
次に、第２の実施形態のエキスパンダのハードウェア構成について図３を用いて説明する。図３は、第２の実施形態のエキスパンダのハードウェア構成の一例を示す図である。
エキスパンダ３０は、ＰＬＤ（Programmable Logic Device）３１と、電源３２と、スイッチ３３と、エキスパンダチップ４０を含む。ＰＬＤ３１は、常駐電源で動作する電源制御装置としての機能を含み、スイッチ３３からの入力信号に応じてエキスパンダチップ４０への電源３２の入出力状態を切り替える。
【００３５】
エキスパンダチップ４０は、シリアルインタフェース（Ｓｅｒｉａｌ）４１と、イーサネット（登録商標）インタフェース（Ｅｔｈｅｒ）４２と、プロセッサ４３と、メモリ４４と、Ｉ２Ｃインタフェース４５と、物理リンク４６を含む。
【００３６】
シリアルインタフェース４１とイーサネットインタフェース４２は、デバッグなど保守管理用の周辺機器を接続する機器接続インタフェースである。Ｉ２Ｃインタフェース４５は、上位エキスパンダ３０１間の通信インタフェースである。物理リンク４６は、Ｐｈｙ０からＰｈｙ３５の物理ポートを含み、ＳＡＳ物理リンク（ＳＡＳインタフェース）としてディスク５０または他のエキスパンダ３０と接続する。
【００３７】
プロセッサ４３は、エキスパンダチップ４０の制御部として機能する。プロセッサ４３には、バスを介してメモリ４４と複数の周辺機器が接続されている。プロセッサ４３は、２以上のプロセッサで構築されたマルチコアプロセッサであってもよい。
【００３８】
プロセッサ４３は、たとえばＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、またはＰＬＤである。
【００３９】
メモリ４４は、エキスパンダ３０の記憶部として機能する。メモリ４４は、揮発性メモリ（たとえば、ＲＡＭ（Random Access Memory））と不揮発性メモリ（たとえば、ＲＯＭ（Read Only Memory））とを含む。
【００４０】
不揮発性メモリには、ＯＳ（Operating System）のプログラム、アプリケーションプログラム、および各種データが格納される。揮発性メモリには、プロセッサ４３に実行させるＯＳのプログラムやアプリケーションプログラムの少なくとも一部が一時格納される。また、揮発性メモリには、プロセッサ４３による処理に必要な各種データが格納される。また、揮発性メモリは、プロセッサ４３のキャッシュメモリとして機能する。
【００４１】
なお、機器接続インタフェースは、エキスパンダ３０に周辺機器を接続するための通信インタフェースである。たとえば機器接続インタフェースには、図示しないメモリ装置やメモリリーダライタを接続することができる。メモリ装置は、機器接続インタフェースとの通信機能を搭載した記録媒体である。メモリリーダライタは、メモリカードへのデータの書き込み、またはメモリカードからのデータの読み出しをおこなう装置である。メモリカードは、たとえば、カード型の記録媒体である。
【００４２】
また、機器接続インタフェースには、図示しないモニタを接続してもよい。その場合、機器接続インタフェースは、プロセッサ４３からの命令にしたがって、画像をモニタの画面に表示させるグラフィック処理機能を有する。
【００４３】
また、機器接続インタフェースは、図示しないキーボードやマウスを接続してもよい。その場合、機器接続インタフェースは、キーボードやマウスから送られてくる信号をプロセッサ４３に送信する。なお、マウスは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【００４４】
また、機器接続インタフェースは、図示しない光学ドライブ装置を接続してもよい。光学ドライブ装置は、レーザ光などを利用して、光ディスクに記録されたデータの読み取りをおこなう。光ディスクは、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスクには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。
【００４５】
以上のようなハードウェア構成によって、第２の実施形態のエキスパンダ３０の処理機能を実現することができる。エキスパンダ３０の処理機能は、たとえば、ＳＡＳ制御、Ｐｈｙ（Physical layer）制御、ＳＭＰ（Serial Management Protocol）制御、ＳＳＰ（Serial SCSI Protocol）制御の他、各種制御をおこなう。
【００４６】
なお、第１の実施形態に示した第１中継装置３と第２中継装置４も、図３に示したエキスパンダ３０と同様のハードウェアにより実現することができる。
エキスパンダ３０は、たとえば、コンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第２の実施形態の処理機能を実現する。エキスパンダ３０に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。たとえば、エキスパンダ３０に実行させるプログラムをメモリ４４に格納しておくことができる。プロセッサ４３は、メモリ４４内のプログラムの少なくとも一部を揮発性メモリにロードし、プログラムを実行する。また、エキスパンダ３０に実行させるプログラムを、光ディスク、メモリ装置、メモリカードなどの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、たとえばプロセッサ４３からの制御により、メモリ４４にインストールされた後、実行可能となる。またプロセッサ４３が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【００４７】
次に、第２の実施形態のＬＵＮ番号決定処理について図４を用いて説明する。図４は、第２の実施形態のＬＵＮ番号決定処理を示すフローチャートである。
ＬＵＮ番号決定処理は、ＬＵＮ番号を決定する処理である。ＬＵＮ番号は、ディスク５０の間接指定先となる情報である。ＬＵＮ番号決定処理は、エキスパンダ３０の初期化処理時（たとえば、電源投入時）に、上位エキスパンダ３０１が有する制御部（プロセッサ４３）によって実行される。なお、エキスパンダ３０が上位エキスパンダ３０１であるか否かは、出荷時にあるいは管理者によってあらかじめ設定されるものであってもよいし、エキスパンダ３０相互の接続関係から決定されるものであってもよい。
【００４８】
［ステップＳ１１］制御部は、下位エキスパンダ３０２を介してディスク５０のＳＡＳアドレスとスロット番号を取得する。ＳＡＳアドレスは、ＳＡＳデバイスに割り当てられたユニークな情報であり、サーバ２０がディスク５０を直接指定可能な直接指定先に相当する。スロット番号は、ディスク５０がセットされているスロットに割り当てられたユニークな番号である。
【００４９】
たとえば、上位エキスパンダ３０１であるエキスパンダｅ００の制御部は、下位エキスパンダ３０２であるエキスパンダｅ０１，ｅ０２にＳＡＳフレーム「SMP DISCOVER REQUEST FUNCTION」を発行する。これにより、エキスパンダｅ００の制御部は、ディスク５０のＳＡＳアドレスとスロット番号を取得することができる。また、上位エキスパンダ３０１であるエキスパンダｅ１０の制御部は、下位エキスパンダ３０２であるエキスパンダｅ１１，ｅ１２にＳＡＳフレーム「SMP DISCOVER REQUEST FUNCTION」を発行する。これによりエキスパンダｅ１０の制御部は、ディスク５０のＳＡＳアドレスとスロット番号を取得することができる。
【００５０】
［ステップＳ１２］制御部は、所定のＬＵＮ番号付与規則にしたがいディスク５０のＬＵＮ番号を決定する。ＬＵＮ番号は、ディスク５０に割り当てられるユニークな番号であり、サーバ２０がディスク５０を間接指定可能な間接指定先に相当する。
【００５１】
［ステップＳ１３］制御部は、ＬＵＮ番号管理テーブルを生成する。ＬＵＮ番号管理テーブルは、ディスク５０ごとのＳＡＳアドレスとＬＵＮ番号との対応関係を示す情報である。ＬＵＮ番号管理テーブルについては、図５を用いて後で説明する。
【００５２】
［ステップＳ１４］制御部は、当該エキスパンダ３０の制御状態を、サーバ２０の接続を待ち受ける接続待ち状態に遷移し、ＬＵＮ番号決定処理を終了する。
これにより、上位エキスパンダ３０１は、ディスク５０のＳＡＳアドレスとＬＵＮ番号とを対応付けることができる。なお、２つある上位エキスパンダ３０１は、ＬＵＮ番号管理テーブルをそれぞれ独立に生成するようにしてよい。また、ＬＵＮ番号管理テーブルは、２つある上位エキスパンダ３０１の一方によって生成された後、２つある上位エキスパンダ３０１の双方で共有されるものであってもよい。
【００５３】
次に、第２の実施形態のＬＵＮ番号管理テーブルの一例について図５を用いて説明する。図５は、第２の実施形態のＬＵＮ番号管理テーブルの一例を示す図である。
ＬＵＮ番号管理テーブル２００は、ＳＡＳアドレス、ＬＵＮ番号を項目に含む。たとえば、ＳＡＳアドレス「7XXXXXXX XXXXXX00」とＬＵＮ番号「４０００」は対応関係にあり、同一のディスク５０（たとえばｄ００）の情報である。同様にして、ＬＵＮ番号管理テーブル２００は、ＤＥ１０に搭載されるすべてのディスク５０のＳＡＳアドレスとＬＵＮ番号との対応関係を有する。
【００５４】
次に、サーバ２０がＤＥ１０に接続したときのディスク５０の認識について図６から図８を用いて説明する。まず、上位エキスパンダ３０１に対してサーバ２０がおこなう接続先確認について図６を用いて説明する。図６は、第２の実施形態のサーバが上位エキスパンダに対しておこなう接続先確認のコマンドシーケンスの一例を示す図である。
【００５５】
サーバ２０は、ＤＥ１０との接続時に、直接接続する上位エキスパンダ３０１を認識し、上位エキスパンダ３０１に対して上位エキスパンダ３０１の接続先を問い合わせる。以下、図６に示すコマンドシーケンスにしたがい説明する。
【００５６】
［シーケンスｓｑ１１］サーバ２０は、上位エキスパンダ３０１の１つであるエキスパンダｅ００に、接続先確認としてＳＡＳフレーム「SMP DISCOVER REQUEST FUNCTION」を発行する。
【００５７】
［シーケンスｓｑ１２］エキスパンダｅ００は、ＳＡＳフレーム「SMP DISCOVER REQUEST FUNCTION」の応答として、エキスパンダｅ００と接続する下位エキスパンダ３０２のＳＡＳアドレスをサーバ２０に応答する。具体的には、エキスパンダｅ００は、下位エキスパンダ３０２としてエキスパンダｅ０１，ｅ０２を接続するので、エキスパンダｅ０１，ｅ０２のＳＡＳアドレスをサーバ２０に応答する。
【００５８】
［シーケンスｓｑ１３］サーバ２０は、上位エキスパンダ３０１のもう１つであるエキスパンダｅ１０に、接続先確認としてＳＡＳフレーム「SMP DISCOVER REQUEST FUNCTION」を発行する。
【００５９】
［シーケンスｓｑ１４］エキスパンダｅ１０は、ＳＡＳフレーム「SMP DISCOVER REQUEST FUNCTION」の応答として、エキスパンダｅ１０と接続する下位エキスパンダ３０２のＳＡＳアドレスをサーバ２０に応答する。具体的には、エキスパンダｅ１０は、下位エキスパンダ３０２としてエキスパンダｅ１１，ｅ１２を接続するので、エキスパンダｅ１１，ｅ１２のＳＡＳアドレスをサーバ２０に応答する。
【００６０】
これにより、サーバ２０は、下位エキスパンダ３０２のＳＡＳアドレスを取得することができる。
次に、下位エキスパンダ３０２に対してサーバ２０がおこなう接続先確認について図７を用いて説明する。図７は、第２の実施形態のサーバが下位エキスパンダに対しておこなう接続先確認のコマンドシーケンスの一例を示す図である。
【００６１】
サーバ２０は、上位エキスパンダ３０１の接続先確認後に、上位エキスパンダ３０１の接続先である下位エキスパンダ３０２に対して下位エキスパンダ３０２の接続先を問い合わせる。以下、図７に示すコマンドシーケンスにしたがい説明する。
【００６２】
［シーケンスｓｑ２１］サーバ２０は、エキスパンダｅ００の下位エキスパンダ３０２の１つであるエキスパンダｅ０１に、接続先確認としてＳＡＳフレーム「SMP DISCOVER REQUEST FUNCTION」を発行する。
【００６３】
［シーケンスｓｑ２２］エキスパンダｅ０１は、サーバ２０がＳＣＳＩ Target Port Groupに準拠していることを検出して、ＳＡＳフレーム「SMP DISCOVER REQUEST FUNCTION」の応答としてダミーステータスを応答する。ダミーステータスは、エキスパンダｅ０１と接続する下位デバイスがないとする応答（「No Device Attached」）である。これにより、エキスパンダｅ０１は、サーバ２０がディスク５０を直接に認識することを抑制する。なお、エキスパンダｅ０１は、サーバ２０がＳＣＳＩ Target Port Groupに準拠していない場合、エキスパンダｅ０１と接続する下位デバイスとして、ディスクｄ００，ｄ０１，ｄ０２，ｄ０３のＳＡＳアドレスをサーバ２０に応答する。
【００６４】
［シーケンスｓｑ２３］サーバ２０は、エキスパンダｅ００の下位エキスパンダ３０２のもう１つであるエキスパンダｅ０２に、接続先確認としてＳＡＳフレーム「SMP DISCOVER REQUEST FUNCTION」を発行する。
【００６５】
［シーケンスｓｑ２４］エキスパンダｅ０２は、サーバ２０がＳＣＳＩ Target Port Groupに準拠していることを検出して、ＳＡＳフレーム「SMP DISCOVER REQUEST FUNCTION」の応答としてダミーステータスを応答する。ダミーステータスは、エキスパンダｅ０２と接続する下位デバイスがないとする応答である。
【００６６】
これにより、エキスパンダｅ０２は、サーバ２０がディスク５０を直接に認識することを抑制する。なお、エキスパンダｅ０２は、サーバ２０がＳＣＳＩ Target Port Groupに準拠していない場合、エキスパンダｅ０２と接続する下位デバイスとして、ディスクｄ１０，ｄ１１，ｄ１２，ｄ１３のＳＡＳアドレスをサーバ２０に応答する。
【００６７】
なお、サーバ２０がエキスパンダｅ０１，ｅ０２に対して接続先確認をおこなうコマンドシーケンスについて説明したが、サーバ２０がエキスパンダｅ１１，ｅ１２に対して接続先確認をおこなうコマンドシーケンスもこれと同様である。
【００６８】
これにより、下位エキスパンダ３０２は、サーバ２０がＳＣＳＩ Target Port Groupに準拠する場合、ディスク５０の直接指定先であるＳＡＳアドレスをサーバ２０に対して隠秘することができる。サーバ２０に対するＳＡＳアドレスの隠秘は、サーバ２０がディスク５０に直接にアクセスすることを制限する。また、下位エキスパンダ３０２は、サーバ２０がＳＣＳＩ Target Port Groupに準拠しない場合、ディスク５０の直接指定先であるＳＡＳアドレスをサーバ２０に対して公開することができる。
【００６９】
なお、下位エキスパンダ３０２は、上位エキスパンダ３０１からのＳＡＳフレーム「SMP DISCOVER REQUEST FUNCTION」に対してＳＡＳアドレスとスロット番号とを応答する。すなわち、下位エキスパンダ３０２は、ＳＡＳフレーム「SMP DISCOVER REQUEST FUNCTION」の発行元を識別して応答内容を変更できる。これにより、サーバ２０は、ディスク５０のＳＡＳアドレスを取得することができない。また、上位エキスパンダ３０１は、ディスク５０のＳＡＳアドレスとスロット番号とを取得することができる。
【００７０】
次に、上位エキスパンダ３０１に対してサーバ２０がおこなうＬＵＮ番号取得について図８を用いて説明する。図８は、第２の実施形態のサーバが上位エキスパンダに対しておこなうＬＵＮ番号取得のコマンドシーケンスの一例を示す図である。
【００７１】
サーバ２０は、下位エキスパンダ３０２の接続先（すなわちディスク５０）を確認できないことから、上位エキスパンダ３０１に対して上位エキスパンダ３０１に付随する論理ボリュームのＬＵＮ番号の取得をおこなう。以下、図８に示すコマンドシーケンスにしたがい説明する。
【００７２】
［シーケンスｓｑ３１］サーバ２０は、上位エキスパンダ３０１の１つであるエキスパンダｅ００に、ＬＵＮ番号の取得要求としてＳＣＳＩコマンド「SSP REPORT LUNS COMMAND」を発行する。
【００７３】
［シーケンスｓｑ３２］エキスパンダｅ００は、エキスパンダｅ００に付随する論理ボリュームのＬＵＮ番号をサーバ２０に応答する。なお、エキスパンダｅ００は、ＬＵＮ番号管理テーブルにしたがいＬＵＮ番号を応答することができる。
【００７４】
［シーケンスｓｑ３３］サーバ２０は、上位エキスパンダ３０１のもう１つであるエキスパンダｅ１０に、ＬＵＮ番号の取得要求としてＳＣＳＩコマンド「SSP REPORT LUNS COMMAND」を発行する。
【００７５】
［シーケンスｓｑ３４］エキスパンダｅ１０は、エキスパンダｅ１０に付随する論理ボリュームのＬＵＮ番号をサーバ２０に応答する。なお、エキスパンダｅ１０は、ＬＵＮ番号管理テーブルにしたがいＬＵＮ番号を応答することができる。
【００７６】
これにより、サーバ２０は、ＤＥ１０のディスク５０を、上位エキスパンダ３０１に付随する論理ボリュームとして認識することができる。したがって、エキスパンダｅ００は、サーバ２０に応答したＬＵＮ番号に対応するディスク５０について、サーバ２０がエキスパンダｅ００宛てにアクセスすることを期待できる。また、エキスパンダｅ１０は、サーバ２０に応答したＬＵＮ番号に対応するディスク５０について、サーバ２０がエキスパンダｅ１０宛てにアクセスすることを期待できる。
【００７７】
次に、第２の実施形態の推奨アクセスパステーブル生成処理について図９を用いて説明する。図９は、第２の実施形態の推奨アクセスパステーブル生成処理を示すフローチャートである。
【００７８】
推奨アクセスパステーブル生成処理は、推奨アクセスパステーブルを生成する処理である。推奨アクセスパステーブルは、ディスク５０ごと、すなわち論理ボリュームごとの推奨アクセスパスを示す情報である。推奨アクセスパスは、サーバ２０に対して推奨する、論理ボリュームへのアクセスパスであり、経由する上位エキスパンダ３０１の指定を含む。推奨アクセスパステーブル生成処理は、タイマトリガ（たとえば、所定時間ごと）またはイベントトリガ（たとえば、所定の状態変化を検出）で、上位エキスパンダ３０１が有する制御部（プロセッサ４３）によって実行される。
【００７９】
［ステップＳ２１］制御部は、下位エキスパンダ３０２から推奨アクセスパステーブル生成に用いる各種情報を取得する。たとえば、推奨アクセスパステーブル生成に用いる各種情報は、コマンド受信数、役割、経路状態などがある。
【００８０】
［ステップＳ２２］制御部は、取得した各種情報にもとづいてエキスパンダ状態管理テーブル（担当分）を生成する。エキスパンダ状態管理テーブル（担当分）については、図１０を用いて後で説明する。
【００８１】
［ステップＳ２３］制御部は、他の上位エキスパンダ３０１との間で、生成したエキスパンダ状態管理テーブル（担当分）を交換する。
［ステップＳ２４］制御部は、生成したエキスパンダ状態管理テーブル（担当分）と、他の上位エキスパンダ３０１から取得したエキスパンダ状態管理テーブル（担当分）とから、エキスパンダ状態管理テーブル（全体分）を生成する。制御部は、生成したエキスパンダ状態管理テーブル（全体分）を、たとえばメモリ４４に格納する。エキスパンダ状態管理テーブル（全体分）については、図１１を用いて後で説明する。
【００８２】
［ステップＳ２５］制御部は、推奨アクセスパス決定処理を実行する。推奨アクセスパス決定処理は、推奨アクセスパスを決定する処理である。推奨アクセスパス決定処理については、図１２を用いて後で説明する。
【００８３】
［ステップＳ２６］制御部は、決定した推奨アクセスパスにもとづいて推奨アクセスパステーブルを生成し、推奨アクセスパステーブル生成処理を終了する。制御部は、生成した推奨アクセスパステーブルを、たとえばメモリ４４に格納する。推奨アクセスパステーブルについては、図１３を用いて後で説明する。
【００８４】
次に、推奨アクセスパステーブル生成処理のステップＳ２２において生成したエキスパンダ状態管理テーブル（担当分）について図１０を用いて説明する。図１０は、第２の実施形態のエキスパンダ状態管理テーブル（担当分）の一例を示す図である。
【００８５】
エキスパンダ状態管理テーブル２１０は、エキスパンダ状態管理テーブル（担当分）の一例である。エキスパンダ状態管理テーブル２１０は、対象エキスパンダ、コマンド受信数、Ｍ／Ｓ種別、上位エキスパンダとの経路状態、情報生成担当エキスパンダを項目に含む。対象エキスパンダは、上位エキスパンダ３０１である情報生成担当エキスパンダの下位に相当する下位エキスパンダ３０２を示す。コマンド受信数は、対象エキスパンダの単位時間当たりの通信負荷を示す。なお、コマンド受信数は、通信負荷の一例であって、コマンド送信数や、コマンド中継数、あるいはこれらの組み合わせなどによって対象エキスパンダの通信負荷を示すものであってもよい。
【００８６】
Ｍ／Ｓ種別は、エキスパンダ３０の種別であり、Ｍａｓｔｅｒ（マスタ）とＳｌａｖｅ（スレーブ）とがある。複数のエキスパンダ３０のうち１つのエキスパンダ３０がマスタを担当し、その他のエキスパンダ３０がスレーブを担当する。たとえば、Ｍ／Ｓ種別は、あらかじめ設定される。マスタは、ＤＥ１０の環境情報（ＤＥ１０の内部温度や、ファンや電源の状態など）の監視や採取をおこなう。また、マスタは、ＳＥＳ（SCSI Enclosure Service）というＳＣＳＩコマンドを用いて、異常検出時におけるサーバ２０への通知や、サーバ２０からの要求に対する応答などをおこなう。したがって、マスタは、スレーブと比較して負荷が大きい。
【００８７】
上位エキスパンダとの経路状態は、上位エキスパンダ３０１との間のアクセスパスの状態を示し、正常と異常とがある。情報生成担当エキスパンダは、エキスパンダ状態管理テーブル（担当分）の生成を担当する上位エキスパンダ３０１を示す。
【００８８】
たとえば、エキスパンダ状態管理テーブル２１０は、エキスパンダｅ０１のコマンド受信数が「４０００」であり、Ｍ／Ｓ種別が「マスタ」であり、上位エキスパンダとの経路状態が「正常」であることを示す。また、エキスパンダ状態管理テーブル２１０は、エキスパンダｅ０２のコマンド受信数が「０」であり、Ｍ／Ｓ種別が「スレーブ」であり、上位エキスパンダとの経路状態が「正常」であることを示す。エキスパンダ状態管理テーブル２１０の情報生成担当は、上位エキスパンダ３０１の１つである、エキスパンダｅ００である。なお、上位エキスパンダ３０１のもう１つである、エキスパンダｅ１０もまた、エキスパンダ状態管理テーブル（担当分）を生成する。
【００８９】
次に、推奨アクセスパステーブル生成処理のステップＳ２４において生成したエキスパンダ状態管理テーブル（全体分）について図１１を用いて説明する。図１１は、第２の実施形態のエキスパンダ状態管理テーブル（全体分）の一例を示す図である。エキスパンダ状態管理テーブル２２０は、エキスパンダ状態管理テーブル（全体分）の一例である。エキスパンダ状態管理テーブル（全体分）は、エキスパンダ状態管理テーブル（担当分）と同様の構成を有する。
【００９０】
エキスパンダ状態管理テーブル２２０は、エキスパンダｅ００が生成したエキスパンダ状態管理テーブル（担当分）と、エキスパンダｅ１０が生成したエキスパンダ状態管理テーブル（担当分）とをマージして生成されたエキスパンダ状態管理テーブルである。
【００９１】
したがって、エキスパンダ状態管理テーブル２２０は、エキスパンダｅ００が収集したエキスパンダｅ０１，ｅ０２に関する情報と、エキスパンダｅ１０が収集したエキスパンダｅ１１，ｅ１２に関する情報とを含む。
【００９２】
次に、推奨アクセスパス決定処理について図１２を用いて説明する。図１２は、第２の実施形態の推奨アクセスパス決定処理を示すフローチャートである。推奨アクセスパス決定処理は、推奨アクセスパスを決定する処理である。推奨アクセスパス決定処理は、推奨アクセスパステーブル生成処理のステップＳ２５で、上位エキスパンダ３０１が有する制御部（プロセッサ４３）によって実行される。
【００９３】
［ステップＳ３１］制御部は、エキスパンダ状態管理テーブル（全体分）を参照する。
［ステップＳ３２］制御部は、下位エキスパンダ３０２について上位エキスパンダ３０１との間で経路状態「異常」があるか否かを判定する。制御部は、経路状態「異常」がある下位エキスパンダ３０２がある場合にステップＳ３３にすすみ、経路状態「異常」がある下位エキスパンダ３０２がない場合にステップＳ３４にすすむ。
【００９４】
［ステップＳ３３］制御部は、異常経路を代替する推奨アクセスパスを決定して、推奨アクセスパス決定処理を終了する。
たとえば、制御部は、エキスパンダｅ００，ｅ０１間で経路状態が「異常」の場合、ディスクｄ００，ｄ０１，ｄ０２，ｄ０３についてエキスパンダｅ１０経由、ディスクｄ１０，ｄ１１，ｄ１２，ｄ１３についてエキスパンダｅ００経由の推奨アクセスパスとする。また、制御部は、エキスパンダｅ００，ｅ０２間で経路状態が「異常」の場合、ディスクｄ００，ｄ０１，ｄ０２，ｄ０３についてエキスパンダｅ００経由、ディスクｄ１０，ｄ１１，ｄ１２，ｄ１３についてエキスパンダｅ１０経由の推奨アクセスパスとする。また、制御部は、エキスパンダｅ１０，ｅ１１間で経路状態が「異常」の場合、ディスクｄ００，ｄ０１，ｄ０２，ｄ０３についてエキスパンダｅ００経由、ディスクｄ１０，ｄ１１，ｄ１２，ｄ１３についてエキスパンダｅ１０経由の推奨アクセスパスとする。また、制御部は、エキスパンダｅ１０，ｅ１２間で経路状態が「異常」の場合、ディスクｄ００，ｄ０１，ｄ０２，ｄ０３についてエキスパンダｅ１０経由、ディスクｄ１０，ｄ１１，ｄ１２，ｄ１３についてエキスパンダｅ００経由の推奨アクセスパスとする。
【００９５】
［ステップＳ３４］制御部は、上位エキスパンダ３０１の間で通信負荷が均衡しているか否かを判定する。制御部は、上位エキスパンダ３０１の間で通信負荷が均衡している場合にステップＳ３５にすすみ、上位エキスパンダ３０１の間で通信負荷が均衡していない場合にステップＳ３６にすすむ。なお、通信負荷が均衡しているか否かの判定は、エキスパンダｅ０１のコマンド受信数とエキスパンダｅ０２のコマンド受信数の和と、エキスパンダｅ１１のコマンド受信数とエキスパンダｅ１２のコマンド受信数の和とを比較しておこなうことができる。制御部は、２つの和の差分が所定範囲内にあるとき、上位エキスパンダ３０１の間の通信負荷の均衡を判定することができる。
【００９６】
［ステップＳ３５］制御部は、上位エキスパンダ３０１の間で通信負荷が均衡していることから、マスタを担うエキスパンダ３０の負荷を低減する推奨アクセスパスを決定して、推奨アクセスパス決定処理を終了する。
【００９７】
たとえば、制御部は、エキスパンダｅ０１がマスタを担う場合、ディスクｄ００，ｄ０１，ｄ０２，ｄ０３のうち、エキスパンダｅ００経由の推奨アクセスパスの一部を、エキスパンダｅ１０経由の推奨アクセスパスに振り替える。また、制御部は、エキスパンダｅ０２がマスタを担う場合、ディスクｄ１０，ｄ１１，ｄ１２，ｄ１３のうち、エキスパンダｅ００経由の推奨アクセスパスの一部を、エキスパンダｅ１０経由の推奨アクセスパスに振り替える。また、制御部は、エキスパンダｅ１１がマスタを担う場合、ディスクｄ００，ｄ０１，ｄ０２，ｄ０３のうち、エキスパンダｅ１０経由の推奨アクセスパスの一部を、エキスパンダｅ００経由の推奨アクセスパスに振り替える。また、制御部は、エキスパンダｅ１２がマスタを担う場合、ディスクｄ１０，ｄ１１，ｄ１２，ｄ１３のうち、エキスパンダｅ１０経由の推奨アクセスパスの一部を、エキスパンダｅ００経由の推奨アクセスパスに振り替える。
【００９８】
これにより、制御部は、マスタを担うエキスパンダ３０の負荷をマスタを担わないエキスパンダ３０に分散することができる。なお、推奨アクセスパスの振替数は、あらかじめ設定されるもの（たとえば、振替数「１」など）であってもよいし、エキスパンダ状態管理テーブル（全体分）が保持する各種パラメータに応じて決定されるもの（たとえば、振替数「２」など）であってもよい。また、推奨アクセスパスの振替は、マスタを担うエキスパンダ３０の負荷分散の一例であって、推奨アクセスパスの組換えなどであってもよい。
【００９９】
［ステップＳ３６］制御部は、上位エキスパンダ３０１の間で通信負荷が均衡していないことから、上位エキスパンダ３０１の間の通信負荷の均衡を図る推奨アクセスパスを決定して、推奨アクセスパス決定処理を終了する。
【０１００】
たとえば、制御部は、エキスパンダｅ００の通信負荷がエキスパンダｅ１０の通信負荷より高い場合、エキスパンダｅ００の下位エキスパンダ３０２（ｅ０１，ｅ０２）の通信負荷を比較する。制御部は、エキスパンダｅ０１の通信負荷が高い場合、ディスクｄ００，ｄ０１，ｄ０２，ｄ０３のうち、エキスパンダｅ１０経由の推奨アクセスパスを、エキスパンダｅ００経由の推奨アクセスパスより所定数（たとえば、１つ）多くする。また、制御部は、エキスパンダｅ０２の通信負荷が高い場合、ディスクｄ１０，ｄ１１，ｄ１２，ｄ１３のうち、エキスパンダｅ１０経由の推奨アクセスパスを、エキスパンダｅ００経由の推奨アクセスパスより所定数（たとえば、１つ）多くする。一方、制御部は、エキスパンダｅ１０の通信負荷がエキスパンダｅ００の通信負荷より高い場合、エキスパンダｅ１０の下位エキスパンダ３０２（ｅ１１，ｅ１２）の通信負荷を比較する。制御部は、エキスパンダｅ１１の通信負荷が高い場合、ディスクｄ００，ｄ０１，ｄ０２，ｄ０３のうち、エキスパンダｅ００経由の推奨アクセスパスを、エキスパンダｅ１０経由の推奨アクセスパスより所定数（たとえば、１つ）多くする。また、制御部は、エキスパンダｅ１２の通信負荷が高い場合、ディスクｄ１０，ｄ１１，ｄ１２，ｄ１３のうち、エキスパンダｅ００経由の推奨アクセスパスを、エキスパンダｅ１０経由の推奨アクセスパスより所定数（たとえば、１つ）多くする。
【０１０１】
これにより、制御部は、エキスパンダ３０の負荷に応じた推奨アクセスパスを決定することができる。なお、制御部は、各パラメータ（経路状態、エキスパンダ３０の処理負荷、エキスパンダ３０の通信負荷）を評価し、２以上のパラメータの総合評価から推奨アクセスパスを決定するようにしてもよい。
【０１０２】
次に、推奨アクセスパステーブル生成処理のステップＳ２６において生成した推奨アクセスパステーブルについて図１３を用いて説明する。図１３は、第２の実施形態の推奨アクセスパステーブルの一例を示す図である。推奨アクセスパステーブル２３０は、制御部が生成する推奨アクセスパステーブルの一例である。推奨アクセスパステーブル２３０は、対象ディスク、前回決定時の推奨アクセスパス、今回決定時の推奨アクセスパス、変化を項目に含む。
【０１０３】
前回決定時の推奨アクセスパスは、推奨アクセスパステーブル生成処理において前回に決定した推奨アクセスパスを示す。今回決定時の推奨アクセスパスは、推奨アクセスパステーブル生成処理において今回に決定した推奨アクセスパスを示す。変化は、前回決定時の推奨アクセスパスと今回決定時の推奨アクセスパスとの変化の有無を示す。なお、推奨アクセスパステーブルの初回の生成時においては、すべての対象ディスクについて変化「あり」が設定される。
【０１０４】
たとえば、ディスクｄ００は、前回決定時の推奨アクセスパスがエキスパンダｅ００経由であり、今回決定時の推奨アクセスパスがエキスパンダｅ００経由であり、前回決定時の推奨アクセスパスと今回決定時の推奨アクセスパスとで変化がないことを示す。また、ディスクｄ０３は、前回決定時の推奨アクセスパスがエキスパンダｅ００経由であり、今回決定時の推奨アクセスパスがエキスパンダｅ１０経由であり、前回決定時の推奨アクセスパスと今回決定時の推奨アクセスパスとで変化があることを示す。
【０１０５】
次に、推奨アクセスパス通知処理について図１４を用いて説明する。図１４は、第２の実施形態の推奨アクセスパス通知処理を示すフローチャートである。推奨アクセスパス通知処理は、推奨アクセスパスをサーバ２０に通知する処理である。推奨アクセスパス通知処理は、上位エキスパンダ３０１が有する制御部（プロセッサ４３）によって推奨アクセスパステーブル生成処理の実行ごとに実行される。
【０１０６】
［ステップＳ４１］制御部は、推奨アクセスパステーブルの初回の生成であるか否かを判定する。制御部は、推奨アクセスパステーブルの初回の生成である場合にステップＳ４３にすすみ、推奨アクセスパステーブルの初回の生成でない場合にステップＳ４２にすすむ。
【０１０７】
［ステップＳ４２］制御部は、推奨アクセスパステーブルを参照し、推奨アクセスパスの変化の有無を判定する。制御部は、推奨アクセスパスに変化がある場合に、ステップＳ４３にすすみ、変化がない場合に推奨アクセスパス通知処理を終了する。
【０１０８】
［ステップＳ４３］制御部は、推奨アクセスパスに変化があることをサーバ２０に通知し、推奨アクセスパス通知処理を終了する。
これにより、サーバ２０は、推奨アクセスパスに変化があった場合に推奨アクセスパスの変化を取得できる。
【０１０９】
次に、サーバ２０からディスク５０へのアクセスと、上位エキスパンダ３０１からサーバ２０への推奨アクセスパスの変化の通知について図１５を用いて説明する。図１５は、第２の実施形態のサーバがディスクにおこなうＳＳＰ Ｒｅａｄアクセスのコマンドシーケンスの一例を示す図である。図１５に示すコマンドシーケンスは、サーバ２０が上位エキスパンダ３０１の１つであるエキスパンダｅ００を介してディスクｄ００にアクセスする場合を示す。なお、サーバ２０がもう１つのエキスパンダｅ１０を介してディスクｄ００にアクセスする場合も同様である。
【０１１０】
［シーケンスｓｑ４１］サーバ２０は、ディスクｄ００に対応するＬＵＮ番号「４０００」を指定して、上位エキスパンダ３０１（ここでは、エキスパンダｅ００）にＳＳＰ Ｒｅａｄを発行する。このとき、サーバ２０が推奨アクセスパスを取得している場合、サーバ２０は、推奨アクセスパスにしたがった上位エキスパンダ３０１にＳＳＰ Ｒｅａｄを発行する。
【０１１１】
［シーケンスｓｑ４２］エキスパンダｅ００は、ＬＵＮ番号「４０００」に対する最初のＳＣＳＩコマンドの受信があった場合、または推奨アクセスパスに変化があった場合に、アクセスパスの状態変化をサーバ２０に通知する。たとえば、エキスパンダｅ００は、SK/SC/SS=06/2A/06（ASYMMETRIC ACCESS STATE CHANGED）のＳＣＳＩ Ｓｅｎｃｅをサーバ２０に通知する。これにより、エキスパンダｅ００は、推奨アクセスパスに変化（アクセスパスの状態変化）があることをサーバ２０に通知することができる。
【０１１２】
［シーケンスｓｑ４３］サーバ２０は、アクセスパスの状態をエキスパンダｅ００に要求する。
［シーケンスｓｑ４４］エキスパンダｅ００は、要求されたアクセスパスの推奨アクセスパス（たとえば、ＬＵＮ番号「４０００」）をサーバ２０に通知する。
【０１１３】
ここで、サーバ２０が推奨アクセスパスの通知を受けた場合の、ＤＥ１０が有する各デバイスのサーバ２０の認識方法について図１６を用いて説明する。図１６は、第２の実施形態のアクセスデバイス指定一覧表の一例を示す図である。
【０１１４】
アクセスデバイス指定一覧表２４０によれば、サーバ２０は、ＳＡＳアドレスによってエキスパンダ３０にアクセスすることができる。たとえば、サーバ２０は、ＳＡＳアドレス「5XXXXXXX XXXX00XX」によりエキスパンダｅ００にアクセスする。これにより、サーバ２０は、エキスパンダｅ００にアクセスしてＤＥ１０の状態取得をおこなうことができる。
【０１１５】
また、アクセスデバイス指定一覧表２４０によれば、サーバ２０は、上位エキスパンダ３０１のＳＡＳアドレスを用いて、上位エキスパンダ３０１に付随する論理ボリュームとしてディスク５０にアクセスすることができる。たとえば、サーバ２０は、ＳＡＳアドレスを用いて上位エキスパンダ３０１にアクセスし、ＬＵＮ番号「４０００」を指定することで、ディスクｄ００にアクセスすることができる。
【０１１６】
たとえば、従来、サーバ２０は、ディスクｄ００のＳＡＳアドレス「7XXXXXXX XXXXXX00」＋ＬＵＮ番号「０（デフォルト値）」のように、ディスク５０を直接指定してディスク５０にアクセスしていた。これによれば、サーバ２０は、エキスパンダｅ００のＳＡＳアドレス「5XXXXXXX XXXX00XX」＋ディスクｄ００のＬＵＮ番号「４０００」のように、ディスク５０を間接指定してディスク５０にアクセスできる。
【０１１７】
このとき、サーバ２０は、ＳＡＳアドレス「5XXXXXXX XXXX00XX」を用いればエキスパンダｅ００にアクセスすることができ、ＳＡＳアドレス「5XXXXXXX XXXX10XX」を用いればエキスパンダｅ１０にアクセスすることができる。すなわち、サーバ２０は、エキスパンダｅ００経由またはエキスパンダｅ１０経由でディスクｄ００にアクセスすることができる。推奨アクセスパスは、サーバ２０がディスクｄ００にアクセスする際のアクセス先となる上位エキスパンダ３０１を推奨するアクセスパスである。
【０１１８】
再び、図１５に示すコマンドシーケンスの説明に戻る。たとえば、ＬＵＮ番号「４０００」に対する推奨アクセスパスの変化は、エキスパンダｅ００経由のアクセスパスからエキスパンダｅ１０経由のアクセスパスの変化であったとする。
【０１１９】
［シーケンスｓｑ４５］サーバ２０は、ディスクｄ００に対応するＬＵＮ番号「４０００」を指定して、推奨アクセスパスにしたがいエキスパンダｅ１０にＳＳＰ Ｒｅａｄを発行する。
【０１２０】
［シーケンスｓｑ４６］エキスパンダｅ１０は、ＬＵＮ番号管理テーブル２００を参照し、ＬＵＮ番号「４０００」からディスクｄ００のＳＡＳアドレス「7XXXXXXX XXXXXX00」を取得する。エキスパンダｅ１０は、ＳＡＳアドレス「7XXXXXXX XXXXXX00」を指定して、ディスクｄ００にＳＳＰ Ｒｅａｄを発行する。
【０１２１】
［シーケンスｓｑ４７］ディスクｄ００は、エキスパンダｅ１０にＳＳＰ Ｒｅａｄを応答する。
［シーケンスｓｑ４８］エキスパンダｅ１０は、ＳＳＰ Ｒｅａｄ応答をサーバ２０に転送する。
【０１２２】
このように、上位エキスパンダ３０１がサーバ２０とディスク５０のアクセスを中継することで、ＤＥ１０は、推奨アクセスパスによるサーバ２０からディスク５０へのアクセスを実現できる。
【０１２３】
次に、ＤＥ１０におけるアクセス負荷の分散例について図１７と図１８を用いて説明する。図１７は、第２の実施形態のＤＥにおける推奨アクセスパスの一例（その１）を示す図である。図１８は、第２の実施形態のＤＥにおける推奨アクセスパスの一例（その２）を示す図である。
【０１２４】
たとえば、図１７は、サーバ２０からエキスパンダｅ１０，ｅ１２を経由してディスクｄ１０，ｄ１１，ｄ１２，ｄ１３に継続的なアクセスがある状態で、サーバ２０が新規にエキスパンダｅ００経由のディスクアクセスをおこなう場合を示す。サーバ２０は、エキスパンダｅ００，ｅ０１を経由してディスクｄ００，ｄ０１，ｄ０２，ｄ０３にアクセスをおこなう。ここで、エキスパンダｅ０１がマスタを担っていることから、エキスパンダｅ００，ｅ１０は、エキスパンダｅ０１の過重な負荷を検出し、エキスパンダｅ０１のアクセス負荷の一部をエキスパンダｅ１１に分散する推奨アクセスパスを決定する。たとえば、エキスパンダｅ００，ｅ１０は、ディスクｄ０３の推奨アクセスパスをエキスパンダｅ００経由からエキスパンダｅ１０経由に更新する。
【０１２５】
これにより、エキスパンダｅ００は、サーバ２０によるディスクｄ０３へのアクセス要求を契機にして、エキスパンダｅ１０経由の推奨アクセスパスをサーバ２０に通知する。エキスパンダｅ１０経由の推奨アクセスパスを受けて、図１８に示すように、サーバ２０は、エキスパンダｅ１０経由でディスクｄ０３にアクセスをおこなう。このようにして、ＤＥ１０は、アクセス負荷を分散することができる。
【０１２６】
次に、ＳＣＳＩ Target Port Groupをサポートするサポートサーバと、サポートしない未サポートサーバとが混在するストレージシステムにおいて、ＤＥ１０がおこなうアクセス負荷の分散例について図１９と図２０を用いて説明する。図１９は、第２の実施形態のＤＥにおける推奨アクセスパスの一例（その３）を示す図である。図２０は、第２の実施形態のＤＥにおける推奨アクセスパスの一例（その４）を示す図である。
【０１２７】
図１９，図２０に示すＤＥ１０は、ＳＣＳＩ Target Port Groupをサポートするサーバ２０ａと、ＳＣＳＩ Target Port Groupをサポートしないサーバ２０ｂと接続する。ＤＥ１０は、サーバ２０ｂからのアクセスについて負荷分散をおこなうことができない。しかしながら、サーバ２０ｂと併せてサーバ２０ａがＤＥ１０に接続されている場合、ＤＥ１０は、サーバ２０ａのアクセスをコントロールすることで負荷分散をおこなうことができる。
【０１２８】
たとえば、図１９は、サーバ２０ｂからエキスパンダｅ００，ｅ０１を経由してディスクｄ０２，ｄ０３に、またサーバ２０ｂからエキスパンダｅ１０，ｅ１２を経由してディスクｄ１２，ｄ１３に継続的なアクセスがある状態を示す。
【０１２９】
ここで、サーバ２０ａが新規にディスクｄ００，ｄ０１，ｄ１０，ｄ１１にアクセスをおこなうとする。このとき、ＤＥ１０は、エキスパンダｅ０２，ｅ１１でコマンド受信がないことから、エキスパンダｅ０２，ｅ１１を経由する推奨アクセスパスをサーバ２０ａに対して通知する。
【０１３０】
これにより、図２０に示すように、サーバ２０ａは、エキスパンダｅ０２，ｅ１１を経由するディスクアクセスをおこなうことができる。したがって、ＤＥ１０は、接続先のサーバ２０に未サポートサーバが混在しても、アクセス負荷を分散してディスク５０に効率よく中継をおこなうことができる。
【０１３１】
以上、実施形態を例示したが、実施形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、第１中継装置３、第２中継装置４、ストレージ装置２、ＤＥ１０およびエキスパンダ３０が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。
【０１３２】
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１３３】
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムにしたがった処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムにしたがった処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムにしたがった処理を実行することもできる。
【０１３４】
また、上記の処理機能の少なくとも一部を、ＤＳＰ、ＡＳＩＣ、ＰＬＤなどの電子回路で実現することもできる。
【符号の説明】
【０１３５】
１，１ａ  ストレージシステム
２  ストレージ装置
３  第１中継装置
３ａ，４ａ  記憶部
３ｂ，４ｂ  対応関係
３ｃ，４ｃ  制御部
４  第２中継装置
５ａ，５ｂ  ストレージデバイス
６  第１系統
７  第２系統
８  外部装置
１０  ＤＥ
２０，２０ａ，２０ｂサーバ
３０，ｅ００，ｅ０１，ｅ０２，ｅ１０，ｅ１１，ｅ１２  エキスパンダ
３１  ＰＬＤ
３２  電源
３３  スイッチ
４０  エキスパンダチップ
４１  シリアルインタフェース
４２  イーサネットインタフェース
４３  プロセッサ
４４  メモリ
４５  Ｉ２Ｃインタフェース
４６  物理リンク
５０，ｄ００，ｄ０１，ｄ０２，ｄ０３，ｄ１０，ｄ１１，ｄ１２，ｄ１３  ディスク
２００  ＬＵＮ番号管理テーブル
２１０  エキスパンダ状態管理テーブル
２２０  エキスパンダ状態管理テーブル
２３０  推奨アクセスパステーブル
２４０  アクセスデバイス指定一覧表
３０１  上位エキスパンダ
３０２  下位エキスパンダ
【図１】
0006380040.tif 000002
【図２】
0006380040.tif 000003
【図３】
0006380040.tif 000004
【図４】
0006380040.tif 000005
【図５】
0006380040.tif 000006
【図６】
0006380040.tif 000007
【図７】
0006380040.tif 000008
【図８】
0006380040.tif 000009
【図９】
0006380040.tif 000010
【図１０】
0006380040.tif 000011
【図１１】
0006380040.tif 000012
【図１２】
0006380040.tif 000013
【図１３】
0006380040.tif 000014
【図１４】
0006380040.tif 000015
【図１５】
0006380040.tif 000016
【図１６】
0006380040.tif 000017
【図１７】
0006380040.tif 000018
【図１８】
0006380040.tif 000019
【図１９】
0006380040.tif 000020
【図２０】
0006380040.tif 000021