(57)【要約】【課題】  Ｉ／Ｏコマンドに対する応答性能の低下を有効に防止し得るストレージ装置及びその制御方法を提案する。【解決手段】  ストレージ装置及びその制御方法において、論理デバイスごとに、当該論理デバイスのオーナ権を有するコマンド処理部が予めそれぞれ設定され、複数の論理ユニットを１つのグループとして管理すると共に、当該グループ内の１つの論理ユニットが当該グループを代表する論理ユニットとして定義され、上位装置から与えられたコマンドのフォーマットに基づいて、当該コマンドが対象とする論理ユニットが、グループ内の当該論理ユニットを代表する論理ユニット以外の論理ユニットである場合には、当該コマンドの対象となる論理ユニットと対応付けられた論理デバイスのオーナ権を有するコマンド処理部に当該コマンドを転送するようにした。
2016157421.tif 000002
【特許請求の範囲】
【請求項１】
複数の記憶デバイスを有し、各前記記憶デバイスがそれぞれ提供する記憶領域を１つのプールとして管理し、前記プールの一部を切り出した論理デバイスを論理ユニットと対応付けて、当該論理ユニットを上位装置に記憶領域として提供するストレージ装置において、
前記上位装置との間でコマンド及びデータを送受するチャネル制御部と、
それぞれ前記上位装置からのコマンドを処理する複数のコマンド処理部と
を備え、
前記論理デバイスごとに、当該論理デバイスのオーナ権を有する前記コマンド処理部が予めそれぞれ設定され、前記論理デバイスと対応付けられた前記論理ユニットを対象とする前記上位装置からの前記コマンドを、当該論理ユニットの前記オーナ権を有する前記コマンド処理部が実行し、
複数の前記論理ユニットが１つのグループとして管理されると共に、当該グループ内の１つの前記論理ユニットが当該グループを代表する論理ユニットとして定義され、
前記グループを代表する前記論理ユニットを対象とする前記コマンドのフォーマットと、当該論理ユニット以外の当該グループ内の前記論理ユニットを対象とする前記コマンドのフォーマットとが異なり、
前記チャネル制御部は、
前記上位装置から与えられた前記コマンドのフォーマットを解析し、
解析結果に基づいて、当該コマンドが対象とする前記論理ユニットが、前記グループ内の当該論理ユニットを代表する前記論理ユニット以外の前記論理ユニットである場合には、当該コマンドの対象となる前記論理ユニットと対応付けられた前記論理デバイスの前記オーナ権を有する前記コマンド処理部に当該コマンドを転送する
ことを特徴とするストレージ装置。
【請求項２】
前記グループを代表する前記論理ユニットを対象とする前記コマンドでは、対象とする前記論理ユニットが当該論理ユニットの識別子により指定され、
前記グループ内の当該グループを代表する前記論理ユニット以外の前記論理ユニットを対象とする前記コマンドでは、対象とする前記論理ユニットが属する前記グループを代表する前記論理ユニットの識別子と、対象とする前記論理ユニットと対応付けられた前記論理デバイスの識別子とが指定され、
前記チャネル制御部は、
前記論理ユニットと、当該論理ユニットと対応付けられた前記論理デバイスの前記オーナ権を有する前記コマンド処理部との対応関係が格納された第１のテーブルと、
前記論理デバイスと、当該論理デバイスの前記オーナ権を有する前記コマンド処理部との対応関係が格納された第２のテーブルとを管理し、
前記上位装置から与えられた前記コマンドのフォーマットが前記グループを代表する前記論理ユニットを対象とするフォーマットである場合には、当該コマンドで指定された前記識別子を有する前記論理ユニットと対応付けられた前記論理デバイスの前記オーナ権を有する前記コマンド処理部を前記第１のテーブル上で検索し、当該検索により検出した前記コマンド処理部に当該コマンドを転送し、
当該コマンドのフォーマットが前記グループを代表する前記論理ユニット以外の前記論理ユニットを対象とするフォーマットである場合には、当該コマンドで指定された前記識別子を有する前記論理デバイスの前記オーナ権を有する前記コマンド処理を前記第２のテーブル上で検索し、当該検索により検出した前記コマンド処理部に当該コマンドを転送する
ことを特徴とする請求項１に記載のストレージ装置。
【請求項３】
前記上位装置を構成する他のストレージ装置から、対象とする前記論理ユニットと対応付けられた前記論理デバイスの識別子が指定された前記コマンドが与えられ、
前記チャネル制御部は、
前記上位装置から与えられた前記コマンドのフォーマットが前記他のストレージ装置からの前記コマンドのフォーマットである場合には、当該コマンドで指定された前記論理デバイスの前記オーナ権を有する前記コマンド処理部を前記第２のテーブル上で検索し、当該検索により検出した前記コマンド処理部に当該コマンドを転送する
ことを特徴とする請求項２に記載のストレージ装置。
【請求項４】
前記グループを代表する前記論理ユニットに当該論理ユニット間での優先度が予めそれぞれ設定され、
前記コマンド処理部は、
複数の前記グループに属し、いずれの前記グループをも代表しない同一の前記論理ユニットを対象とする複数の前記コマンドが前記チャネル制御部から転送され、当該複数のコマンドが競合するときには、当該論理ユニットが属する各前記グループをそれぞれ代表する前記論理ユニットに設定された前記優先度に従った順番で前記コマンドを処理する
ことを特徴とする請求項２に記載のストレージ装置。
【請求項５】
前記コマンド処理部は、
前記グループを代表する前記論理ユニット以外の前記論理ユニットごとに、当該論理ユニットが属する各前記グループをそれぞれ代表する前記論理ユニットにそれぞれ対応させたキューを有し、前記チャネル制御部から転送される前記コマンドを当該コマンドで指定された前記論理ユニットの識別子に応じた前記キューに格納し、
各前記キューに格納された前記コマンドを、各前記キューにそれぞれ対応付けられた前記グループを代表する前記論理ユニットに設定された前記優先度に応じた個数ずつ順番にかつ繰り返し処理する
ことを特徴とする請求項４に記載のストレージ装置。
【請求項６】
複数の記憶デバイスを有し、各前記記憶デバイスがそれぞれ提供する記憶領域を１つのプールとして管理し、前記プールの一部を切り出した論理デバイスを論理ユニットと対応付けて、当該論理ユニットを上位装置に記憶領域として提供するストレージ装置の制御方法であって、
前記ストレージ装置は、
前記上位装置との間でコマンド及びデータを送受するチャネル制御部と、
それぞれ前記上位装置からのコマンドを処理する複数のコマンド処理部と
を有し、
前記論理デバイスごとに、当該論理デバイスのオーナ権を有する前記コマンド処理部が予めそれぞれ設定され、前記論理デバイスと対応付けられた前記論理ユニットを対象とする前記上位装置からの前記コマンドを、当該論理ユニットの前記オーナ権を有する前記コマンド処理部が実行し、
複数の前記論理ユニットが１つのグループとして管理されると共に、当該グループ内の１つの前記論理ユニットが当該グループを代表する論理ユニットとして定義され、
前記グループを代表する前記論理ユニットを対象とする前記コマンドのフォーマットと、当該論理ユニット以外の当該グループ内の前記論理ユニットを対象とする前記コマンドのフォーマットとが異なり、
前記チャネル制御部が、前記上位装置から与えられた前記コマンドのフォーマットを解析する第１のステップと、
前記チャネル制御部が、解析結果に基づいて、当該コマンドが対象とする前記論理ユニットが、前記グループ内の当該論理ユニットを代表する前記論理ユニット以外の前記論理ユニットである場合には、当該コマンドの対象となる前記論理ユニットと対応付けられた前記論理デバイスの前記オーナ権を有する前記コマンド処理部に当該コマンドを転送する第２のステップと
を備えることを特徴とするストレージ装置の制御方法。
【請求項７】
前記グループを代表する前記論理ユニットを対象とする前記コマンドでは、対象とする前記論理ユニットが当該論理ユニットの識別子により指定され、
前記グループ内の当該グループを代表する前記論理ユニット以外の前記論理ユニットを対象とする前記コマンドでは、対象とする前記論理ユニットが属する前記グループを代表する前記論理ユニットの識別子と、対象とする前記論理ユニットと対応付けられた前記論理デバイスの識別子とが指定され、
前記チャネル制御部は、
前記論理ユニットと、当該論理ユニットと対応付けられた前記論理デバイスの前記オーナ権を有する前記コマンド処理部との対応関係が格納された第１のテーブルと、
前記論理デバイスと、当該論理デバイスの前記オーナ権を有する前記コマンド処理部との対応関係が格納された第２のテーブルとを管理し、
前記第２のステップにおいて、前記チャネル制御部は、
前記上位装置から与えられた前記コマンドのフォーマットが前記グループを代表する前記論理ユニットを対象とするフォーマットである場合には、当該コマンドで指定された前記識別子を有する前記論理ユニットと対応付けられた前記論理デバイスの前記オーナ権を有する前記コマンド処理部を前記第１のテーブル上で検索し、当該検索により検出した前記コマンド処理部に当該コマンドを転送する一方、
当該コマンドのフォーマットが前記グループを代表する前記論理ユニット以外の前記論理ユニットを対象とするフォーマットである場合には、当該コマンドで指定された前記識別子を有する前記論理デバイスの前記オーナ権を有する前記コマンド処理を前記第２のテーブル上で検索し、当該検索により検出した前記コマンド処理部に当該コマンドを転送する
ことを特徴とする請求項６に記載のストレージ装置の制御方法。
【請求項８】
前記上位装置を構成する他のストレージ装置から、対象とする前記論理ユニットと対応付けられた前記論理デバイスの識別子が指定された前記コマンドが与えられ、
前記第２のステップにおいて、前記チャネル制御部は、
前記上位装置から与えられた前記コマンドのフォーマットが前記他のストレージ装置からの前記コマンドのフォーマットである場合には、当該コマンドで指定された前記論理デバイスの前記オーナ権を有する前記コマンド処理部を前記第２のテーブル上で検索し、当該検索により検出した前記コマンド処理部に当該コマンドを転送する
ことを特徴とする請求項７に記載のストレージ装置の制御方法。
【請求項９】
前記グループを代表する前記論理ユニットに当該論理ユニット間での優先度が予めそれぞれ設定され、
前記コマンド処理部が、複数の前記グループに属し、いずれの前記グループをも代表しない同一の前記論理ユニットを対象とする複数の前記コマンドが前記チャネル制御部から転送され、当該複数のコマンドが競合するときには、当該論理ユニットが属する各前記グループをそれぞれ代表する前記論理ユニットに設定された前記優先度に従った順番で前記コマンドを処理する第３のステップを備える
ことを特徴とする請求項７に記載のストレージ装置の制御方法。
【請求項１０】
前記コマンド処理部は、
前記グループを代表する前記論理ユニット以外の前記論理ユニットごとに、当該論理ユニットが属する各前記グループをそれぞれ代表する前記論理ユニットにそれぞれ対応させたキューを有し、前記チャネル制御部から転送される前記コマンドを当該コマンドで指定された前記論理ユニットの識別子に応じた前記キューに格納し、
前記第３のステップにおいて、前記コマンド処理部は、
各前記キューに格納された前記コマンドを、各前記キューにそれぞれ対応付けられた前記グループを代表する前記論理ユニットに設定された前記優先度に応じた個数ずつ順番にかつ繰り返し処理する
ことを特徴とする請求項９に記載のストレージ装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置及びその制御方法に関し、特に、Ｉ／Ｏ（Input/Output）コマンドの処理方式としてＬＤＥＶ（Logical Device）オーナ権を適用した処理方式が採用され、論理ユニット（ＬＵ：Logical Unit）の管理方式としてコングロメリットＬＵＮ（Conglomerate LUN）方式が採用されたストレージ装置に適用して好適なものである。
【背景技術】
【０００２】
近年、ＩＴ（Information Technology）技術の進歩に伴い、ストレージ装置に要求される応答性能も日々高くなってきている。このような要求に答えるため、近年では、上位装置からのＩ／Ｏコマンドを処理するプロセッサを複数搭載したストレージ装置が数多く登場している。【０００３】
従来、このようなストレージ装置におけるＩ／Ｏコマンドの処理方式として、コマンドデバイスを用いた処理方式がある（例えば、特許文献１参照）。【０００４】
この処理方式が適用された情報処理システムでは、上位装置がデータをリード／ライトする論理ユニットとは別にコマンドデバイスと呼ばれる論理ユニットがストレージ装置内に設けられ、上位装置はストレージ装置に対するコマンドをデータとしてそのコマンドデバイスに書き込む。【０００５】
そしてストレージ装置側では、コマンドデバイスに書き込まれたコマンドを、複数のプロセッサのうち、そのときそのコマンドを実行可能なプロセッサがコマンドデバイスから読み出して実行する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−２０９１４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、近年、Ｉ／Ｏコマンドの処理方式として、後述するＬＤＥＶ（Logical Device）オーナ権を適用した処理方式が提案されており、また論理ユニットの管理方式として、後述するコングロメリットＬＵＮ方式などが提案されている。【０００８】
このようなＬＤＥＶオーナ権を適用したＩ／Ｏコマンドの処理方式及びコングロメリットＬＵＮ方式を共に採用したストレージ装置では、後述のようにストレージ装置内でＩ／Ｏコマンドの不要な転送が発生し、Ｉ／Ｏコマンドに対する応答性能が低下するという課題がある。【０００９】
本発明は以上の点を考慮してなされたもので、Ｉ／Ｏコマンドに対する応答性能の低下を有効に防止し得るストレージ装置及びその制御方法を提案しようとするものである。
【課題を解決するための手段】
【００１０】
かかる課題を解決するため本発明の一実施形態においては、複数の記憶デバイスを有し、各前記記憶デバイスがそれぞれ提供する記憶領域を１つのプールとして管理し、前記プールの一部を切り出した論理デバイスを論理ユニットと対応付けて、当該論理ユニットを上位装置に記憶領域として提供するストレージ装置において、前記上位装置との間でコマンド及びデータを送受するチャネル制御部と、それぞれ前記上位装置からのコマンドを処理する複数のコマンド処理部とを設け、前記論理デバイスごとに、当該論理デバイスのオーナ権を有する前記コマンド処理部が予めそれぞれ設定され、前記論理デバイスと対応付けられた前記論理ユニットを対象とする前記上位装置からの前記コマンドを、当該論理ユニットの前記オーナ権を有する前記コマンド処理部が実行し、複数の前記論理ユニットが１つのグループとして管理されると共に、当該グループ内の１つの前記論理ユニットが当該グループを代表する論理ユニットとして定義され、前記グループを代表する前記論理ユニットを対象とする前記コマンドのフォーマットと、当該論理ユニット以外の当該グループ内の前記論理ユニットを対象とする前記コマンドのフォーマットとが異なり、前記チャネル制御部は、前記上位装置から与えられた前記コマンドのフォーマットを解析し、解析結果に基づいて、当該コマンドが対象とする前記論理ユニットが、前記グループ内の当該論理ユニットを代表する前記論理ユニット以外の前記論理ユニットである場合には、当該コマンドの対象となる前記論理ユニットと対応付けられた前記論理デバイスの前記オーナ権を有する前記コマンド処理部に当該コマンドを転送するようにした。【００１１】
また本発明の一実施形態においては、複数の記憶デバイスを有し、各前記記憶デバイスがそれぞれ提供する記憶領域を１つのプールとして管理し、前記プールの一部を切り出した論理デバイスを論理ユニットと対応付けて、当該論理ユニットを上位装置に記憶領域として提供するストレージ装置の制御方法であって、前記ストレージ装置は、前記上位装置との間でコマンド及びデータを送受するチャネル制御部と、それぞれ前記上位装置からのコマンドを処理する複数のコマンド処理部とを有し、前記論理デバイスごとに、当該論理デバイスのオーナ権を有する前記コマンド処理部が予めそれぞれ設定され、前記論理デバイスと対応付けられた前記論理ユニットを対象とする前記上位装置からの前記コマンドを、当該論理ユニットの前記オーナ権を有する前記コマンド処理部が実行し、複数の前記論理ユニットが１つのグループとして管理されると共に、当該グループ内の１つの前記論理ユニットが当該グループを代表する論理ユニットとして定義され、前記グループを代表する前記論理ユニットを対象とする前記コマンドのフォーマットと、当該論理ユニット以外の当該グループ内の前記論理ユニットを対象とする前記コマンドのフォーマットとが異なり、前記チャネル制御部が、前記上位装置から与えられた前記コマンドのフォーマットを解析する第１のステップと、前記チャネル制御部が、解析結果に基づいて、当該コマンドが対象とする前記論理ユニットが、前記グループ内の当該論理ユニットを代表する前記論理ユニット以外の前記論理ユニットである場合には、当該コマンドの対象となる前記論理ユニットと対応付けられた前記論理デバイスの前記オーナ権を有する前記コマンド処理部に当該コマンドを転送する第２のステップとを設けるようにした。
【発明の効果】
【００１２】
本発明の一実施形態によれば、Ｉ／Ｏコマンドに対する応答性能の低下を有効に防止し得るストレージ装置及びその制御方法を実現できる。
【図面の簡単な説明】
【００１３】
【図１】本実施の形態による情報処理システムの全体構成を示すブロック図である。
【図２】第１及び第２のストレージ装置の論理構成及びＬＤＥＶオーナ権の説明に供する概念図である。
【図３】ホストターゲット用ＭＰＰＫ検索テーブルの構成を示す概念図である。
【図４】ストレージ装置間Ｉ／ＯコマンドＭＰＰＫ検索テーブルの構成を示す概念図である。
【図５】ＬＤＥＶオーナ権に関する処理の流れの説明に供する概念図である。
【図６】ＬＤＥＶオーナ権に関する処理の流れの説明に供する概念図である。
【図７】ＬＤＥＶオーナ権に関する処理の流れの説明に供する概念図である。
【図８】ロジカル・ユニット・コングロメリットの説明に供する概念図である。
【図９】ロジカル・ユニット・コングロメリットの説明に供する概念図である。
【図１０】（Ａ）はＡＬＵ−ＳＬＵ関連テーブルの構成を示す概念図であり、（Ｂ）はＡＬＵ−ＬＤＥＶ関連テーブルの構成を示す概念図である。
【図１１】Ｉ／Ｏ対象としてＡＬＵ等を指定したＩ／ＯコマンドのＬＵＮフォーマットを示す概念図である。
【図１２】Ｉ／Ｏ対象としてＳＬＵを指定したＩ／ＯコマンドのＬＵＮフォーマットを示す概念図である。
【図１３】ローカルルータにより実行されるＩ／Ｏコマンド転送処理の処理手順を示すフローチャートである。
【図１４】ＳＬＵに対するＩ／Ｏコマンドが競合する場合のＩ／Ｏ処理の説明に供する概念図である。
【図１５】優先度管理テーブルの構成を示す概念図である。
【図１６】ＡＬＵごとのキューの説明に供する概念図である。
【図１７】ＳＬＵに対するＩ／Ｏコマンドが競合する場合の処理方法の説明に供する概念図である。
【発明を実施するための形態】
【００１４】
以下図面について、本実施の形態を詳述する。
【００１５】
（１）本実施の形態による情報処理システムの構成
図１において、１は全体として本実施の形態による情報処理システムを示す。この情報処理システム１は、ホスト計算機２と、第１及び第２のストレージ装置３Ａ，３Ｂとを備えて構成されている。
【００１６】
ホスト計算機２は、ＣＰＵ（Central Processing Unit）やメモリ等の情報処理資源を備えたコンピュータ装置であり、例えばパーソナルコンピュータや、ワークステーション、メインフレームなどから構成される。ホスト計算機２は、ネットワーク４を介して第１のストレージ装置３Ａと接続されており、当該第１のストレージ装置３Ａに対してリードコマンドやライトコマンドなどのＩ／Ｏコマンドを送信することにより、所望するデータを第１のストレージ装置３Ａにリード／ライトする。
【００１７】
第１及び第２のストレージ装置３Ａ，３Ｂは、１又は複数のチャネル制御部１０、１又は複数のディスク制御部１１、接続部１２、キャッシュメモリ１３、及び、複数のマイクロプロセッサパッケージ１４と、各ディスク制御部１１にそれぞれ接続された１又は複数の記憶デバイス１５とを備えて構成される。
【００１８】
チャネル制御部１０は、ホスト計算機２や自ストレージ装置以外の他のストレージ装置（第２又は第１のストレージ装置３Ｂ，３Ａ）との通信時におけるインタフェースとして機能するハードウェアであり、１又は複数のポート１０Ａと、マイクロプロセッサ２０、ポート制御部２１、ローカルルータ２２及びバッファメモリ２３とを備える。
【００１９】
各ポート１０Ａには、それぞれＩＰ（Internet Protocol）アドレスやＷＷＮ（World Wide Name）などの固有のアドレスが割り当てられる。第１及び第２のストレージ装置３Ａ，３Ｂに対するアクセスは、アクセス元に許可された特定のポート１０Ａのアドレスを指定して行われる。
【００２０】
マイクロプロセッサ２０は、チャネル制御部１０全体としての動作制御を司る機能を有するハードウェアであり、制御プログラム２４を実行することによりチャネル制御部１０全体としての各種処理が行われる。またポート制御部２１は、ホスト計算機２との通信時におけるプロトコル制御を行うインタフェースである。
【００２１】
ローカルルータ２２は、マイクロプロセッサ２０が制御プログラム２４を実行することにより具現化される仮想的なルータであり、受信したＩ／Ｏコマンドを適切なマイクロプロセッサパッケージ１４に転送するＩ／Ｏコマンド転送機能を有する。なお「適切なマイクロプロセッサパッケージ」の詳細については、後述する。さらにバッファメモリ２３は、チャネル制御部１０及びホスト計算機２間におけるデータ転送時のデータバッファとして利用される。このバッファメモリ２３には、後述する各種の制御情報２５も格納される。
【００２２】
ディスク制御部１１は、記憶デバイス１５に対するインタフェースとして機能するハードウェアである。ディスク制御部１１は、チャネル制御部１０を介して与えられるホスト計算機２からのＩ／Ｏコマンドに基づいて対応する記憶デバイス１５にアクセスし、当該記憶デバイス１５内のそのＩ／Ｏコマンドにおいて指定された記憶領域にデータをリード／ライトする。
【００２３】
接続部１２は、例えば超高速クロスバススイッチなどから構成され、すべてのチャネル制御部１０、ディスク制御部１１、キャッシュメモリ１３及びマイクロプロセッサパッケージ１４が接続される。これらチャネル制御部１０、ディスク制御部１１、キャッシュメモリ１３及びマイクロプロセッサパッケージ１４間におけるデータや各種コマンドの授受は、この接続部１２を介して行われる。
【００２４】
キャッシュメモリ１３は、それぞれ１又は複数の半導体記憶素子（例えばＤＲＡＭ（Dynamic Random Access Memory））から構成される。キャッシュメモリ１３には、ホスト計算機２からのＩ／Ｏコマンドに基づいてチャネル制御部１０及びディスク制御部１１間でやり取りされるデータ（つまり記憶デバイス１５にリード／ライトされるデータ）が一時的に格納される。
【００２５】
マイクロプロセッサパッケージ１４は、メモリコントローラハブ３０及びローカルメモリ３１と、複数のマイクロプロセッサ３２とを備えて構成される。メモリコントローラハブ３０は、複数のマイクロプロセッサ３２をローカルメモリ３１に接続するハブである。またローカルメモリ３１は、例えば、制御プログラム（マイクロプログラム）３３を保持するために利用される。
【００２６】
マイクロプロセッサ３２は、その第１又は第２のストレージ装置３Ａ，３Ｂ全体の動作制御を司る機能を有するハードウェアである。マイクロプロセッサ３２は、メモリコントローラハブ３０を介してローカルメモリ３１から制御プログラム（マイクロプログラム）３３を読み出し、当該制御プログラム３３に従って、チャネル制御部１０及び接続部１２を介して与えられる上位装置（第１のストレージ装置３Ａの場合にはホスト計算機２、第２のストレージ装置３Ｂの場合には第１のストレージ装置３Ａ）からのＩ／Ｏコマンドを処理する。なおＩ／Ｏコマンドの処理は、複数のマイクロプロセッサ３２のうち、そのときそのＩ／Ｏコマンドを処理可能な余裕のあるマイクロプロセッサ３２が実行する。
【００２７】
記憶デバイス１５は、例えばＳＣＳＩ（Small Computer System Interface）ディスク等の高価なディスクや、ＳＡＴＡ（Serial AT Attachment）ディスク又は光ディスク等の安価なディスクなどから構成される。
【００２８】
図２に示すように、１又は複数の記憶デバイス１５がそれぞれ提供する記憶領域がプール４０と呼ばれる１つの記憶領域として管理され、プール４０上の一部領域が切り出されて論理デバイス（以下、ＬＤＥＶ（Logical Device）と呼ぶ）４１として管理される。そして、これらのＬＤＥＶ４１がそれぞれそのＬＤＥＶ４１と同じ容量を有する論理ユニット４２と対応付けられ、これらの論理ユニット４２がホスト計算機２に記憶領域として提供される。なお、同一のホスト計算機２に割り当てられた複数の論理ユニット４２がホストグループ４３として管理される。
【００２９】
各論理ユニット４２には、それぞれ固有の識別子（ＬＵＮ）が付与される。そして各論理ユニット４２に対するデータのリード／ライトは、このＬＵＮと、論理ユニット４２内の所定大きさのブロック（以下、これを論理ブロックと呼ぶ）にそれぞれ付与されたその論理ブロックに固有の番号（ＬＢＡ：Logical Block Address）とを組み合わせたものをアドレスとして、当該アドレスをＩ／Ｏコマンドで指定することにより行われる。なお論理ユニット４２へのデータのリード／ライトは、実際には、その論理ユニット４２と対応付けられたＬＤＥＶ４１内のＩ／Ｏコマンドにおいて指定されたアドレスと対応付けられた記憶領域に対して行われる。
【００３０】
かかる構成に加えて、本実施の形態の第１及び第２のストレージ装置３Ａ，３Ｂには、ホスト計算機２により第１のストレージ装置３Ａ内のある論理ユニット４２にライトされたデータを、当該論理ユニット４２とペア設定された第２のストレージ装置３Ｂ内の論理ユニット４２にレプリケート（複製）するレプリケーション機能が搭載されている。
【００３１】
このため本情報処理システム１の場合、第１のストレージ装置３Ａの特定のチャネル制御部１０と、第２のストレージ装置３Ｂの特定のチャネル制御部１０とがケーブル又はネットワーク等の通信路５を介して接続されている。
【００３２】
そして第１のストレージ装置３Ａは、ホスト計算機２により論理ユニット４２にデータがライトされた場合であって、その論理ユニット４２が第２のストレージ装置３Ｂ内のいずれかの論理ユニット４２とペア設定されているときには、かかるライトと同期して又は非同期に、そのデータをＩ／Ｏコマンドと共に通信路５を介して第２のストレージ装置３Ｂに転送する。
【００３３】
また、このデータ及びＩ／Ｏコマンドを受信した第２のストレージ装置３Ｂは、このＩ／Ｏコマンドに基づいて、そのときデータがライトされた第１のストレージ装置３Ａ内の論理ユニット４２とペア設定された自ストレージ装置内の論理ユニット４２にこのデータをライトする。
【００３４】
（２）ＬＤＥＶオーナ権
（２−１）ＬＤＥＶオーナ権の概要
次に、ＬＤＥＶオーナ権について説明する。本実施の形態の場合、第１及び第２のストレージ装置３Ａ，３Ｂでは、ＬＤＥＶ４１ごとに、そのＬＤＥＶ４１に対するＩ／Ｏコマンドを処理する権限を有するマイクロプロセッサパッケージ１４が予め設定される。本明細書においては、この権限をそのＬＤＥＶに対するＬＤＥＶオーナ権と呼ぶものとする。このＬＤＥＶオーナ権は、ＬＤＥＶ４１の作成時に、外部からの指示に従って、外部からの指示がない場合には自動的にいずれかのマイクロプロセッサパッケージ１４に設定される。
【００３５】
ＬＤＥＶオーナ権は、第１又は第２のストレージ装置３Ａ，３Ｂを停止することなく他のマイクロプロセッサパッケージ１４に移動することができる。従って、ＬＤＥＶ４１へのＩ／Ｏアクセスの状況や、マイクロプロセッサパッケージ１４内の各プロセッサ３２の稼働率等のモニタリング情報を見ながら適宜ＬＤＥＶオーナ権を移動させることにより、マイクロプロセッサパッケージ１４間での負荷分散を行うことができる。
【００３６】
またマイクロプロセッサパッケージ１４が障害等で閉塞した場合、そのマイクロプロセッサパッケージ１４が有していたすべてのＬＤＥＶオーナ権が他のマイクロプロセッサパッケージ１４に移動されて、対応するＬＤＥＶ４１に対するＩ／Ｏ処理がＬＤＥＶオーナ権の移動先のマイクロプロセッサパッケージ１４により継続して処理される。
【００３７】
（２−２）ＬＤＥＶオーナ権に関するローカルルータの機能
第１及び第２のストレージ装置３Ａ，３Ｂのチャネル制御部に搭載されたローカルルータ２２（図１）は、受信したＩ／Ｏコマンドを上述のように適切なマイクロプロセッサパッケージ１４に転送するＩ／Ｏコマンド転送機能を有する。
【００３８】
このＩ／Ｏコマンド転送機能は、ホスト計算機２からのＩ／Ｏコマンドを適切なマイクロプロセッサパッケージ１４に転送する第１のＩ／Ｏコマンド転送機能（以下、これをホストＩ／Ｏコマンド転送機能と呼ぶ）と、第１及び第２のストレージ装置３Ａ，３Ｂ間でデータのレプリケーションが行われている場合に、レプリケーション元の第１のストレージ装置３ＡからのＩ／Ｏコマンドをレプリケーション先の第２のストレージ装置３Ｂにおいて適切なマイクロプロセッサパッケージ１４に転送する第２のＩ／Ｏコマンド転送機能（以下、これをストレージ装置間Ｉ／Ｏコマンド転送機能と呼ぶ）とに分けることができる。
【００３９】
そしてローカルルータ２２は、上述のホストＩ／Ｏコマンド転送機能を実現するための手段として、チャネル制御部１０（図１）の各ポート１０Ａ（図１）にそれぞれ対応させて、図３に示すようなホストターゲット用マイクロプロセッサパッケージ検索テーブル（以下、これをホストターゲット用ＭＰＰＫ検索テーブルと呼ぶ）５０を作成して管理している。
【００４０】
このホストターゲット用ＭＰＰＫ検索テーブル５０は、チャネル制御部１０のバッファメモリ２３（図１）に格納された上述の制御情報２５（図１）の一部を構成するもので、ＳＣＳＩ規格に従って上位装置が指定するソースＩＤ（ＳＩＤ）と、そのソースＩＤで管理されるグループを構成する各論理ユニット４２と、これらの論理ユニット４２とそれぞれ対応付けられた各ＬＤＥＶ４１のＬＤＥＶオーナ権を有するマイクロプロセッサパッケージ１４との対応関係を管理するために用いられる。
【００４１】
実際上、ホストターゲット用ＭＰＰＫ検索テーブル５０は、図３に示すように、ＳＩＤ欄５０Ａ、ＬＵＮ欄５０Ｂ及び先頭プロセッサ番号欄５０Ｃを備えて構成される。そしてＳＩＤ欄５０Ａには、ソースＩＤが格納され、ＬＵＮ欄５０Ｂには、対応するグループを構成する各論理ユニット４２のＬＵＮがそれぞれ格納される。また先頭プロセッサ番号欄５０Ｃには、対応する論理ユニット４２と対応付けられたＬＤＥＶ４１のＬＤＶＥオーナ権を有するマイクロプロセッサパッケージ１４内のマイクロプロセッサ３２（図１）のうち、その識別番号（以下、これをプロセッサ番号と呼ぶ）が最も小さいマイクロプロセッサ（以下、これを先頭マイクロプロセッサと呼ぶ）３２のプロセッサ番号が格納される。
【００４２】
そしてローカルルータ２２は、ホスト計算機２からのＩ／Ｏコマンドを受信した場合には、そのＩ／ＯコマンドからソースＩＤと、当該論理ユニット４２のＬＵＮとを取得し、取得したこれらソースＩＤ及びＬＵＮの組合せをキーとしてホストターゲット用ＭＰＰＫ検索テーブル５０上でその論理ユニット４２のＬＤＥＶオーナ権を有するマイクロプロセッサパッケージ１４の先頭マイクロプロセッサ３２のプロセッサ番号を検索する。またローカルルータ２２は、かかる検索により検出した先頭プロセッサ番号に対応するマイクロプロセッサパッケージ１４をさらに検索して、そのマイクロプロセッサパッケージ１４にそのＩ／Ｏコマンドを転送する。
【００４３】
一方、ローカルルータ２２は、上述のストレージ装置間Ｉ／Ｏコマンド転送機能を実現するための手段として、図４に示すようなストレージ装置間Ｉ／Ｏコマンド用マイクロプロセッサパッケージ検索テーブル（以下、これをストレージ装置間Ｉ／ＯコマンドＭＰＰＫ検索テーブルと呼ぶ）５１を作成して管理している。
【００４４】
このストレージ装置間Ｉ／ＯコマンドＭＰＰＫ検索テーブル５１は、チャネル制御部１０（図１）のバッファメモリ２３（図１）に格納された上述の制御情報２５（図１）の一部を構成するもので、自ストレージ装置内の各ＬＤＥＶ４１（図２）のＬＤＥＶオーナ権を管理するために用いられる。
【００４５】
実際上、ストレージ装置間Ｉ／ＯコマンドＭＰＰＫ検索テーブル５１は、図４に示すように、ＬＤＥＶ番号欄５１Ａ及び先頭プロセッサ番号欄５１Ｂを備えて構成される。そしてＬＤＥＶ番号欄５１Ａには、自ストレージ装置内に定義された各ＬＤＥＶ４１のＬＤＥＶ番号がそれぞれ格納され、また先頭プロセッサ番号欄５１Ｂには、対応するＬＤＥＶ４１のＬＤＥＶオーナ権を有するマイクロプロセッサパッケージ１４の先頭マイクロプロセッサ３２のプロセッサ番号が格納される。
【００４６】
ここで、ストレージ装置間のレプリケーションにおいて正側のストレージ装置及び副側のストレージ装置間で転送されるＩ／Ｏコマンドは、ベンダユニークなフォーマットでやり取りされることがある。この場合、ホスト計算機２からのＩ／Ｏコマンドでは、Ｉ／Ｏ対象とする論理ユニット４２がＬＵＮで指定されており、このＩ／Ｏコマンドを受信したストレージ装置において、ＬＵＮをＬＤＥＶ番号に変換することでアクセス先のＬＤＥＶを特定するが、ストレージ装置間でのＩ／Ｏコマンドのやり取りではＩ／Ｏ対象とする論理ユニットと対応付けられたＬＤＥＶのＬＤＥＶ番号をそのまま正側のストレージ装置から副側のストレージ装置に送信する。
【００４７】
本実施の形態においても、第１及び第２のストレージ装置３Ａ，３Ｂ間で転送されるＩ／Ｏコマンドでは、図１１について後述するＳＣＳＩコマンドのＬＵＮフォーマットのうちのバイト０，ビット５〜バイト１，ビット０に、Ｉ／Ｏ対象とする論理ユニットのＬＵＮに代えて、当該論理ユニットが対応付けられたＬＤＥＶ４１のＬＤＥＶ番号を格納したベンダユニークなＬＵＮフォーマットが適用される。
【００４８】
そして、第１のストレージ装置３ＡからのＩ／Ｏコマンドを受信した第２のストレージ装置３Ｂは、受信したＩ／Ｏコマンドから対象とするＬＤＥＶ４１のＬＤＥＶ番号を取得し、取得したＬＤＥＶ番号をキーとして、そのＬＤＥＶ４１のＬＤＥＶオーナ権を有するマイクロプロセッサパッケージ１４の先頭マイクロプロセッサ３２のプロセッサ番号をストレージ装置間Ｉ／ＯコマンドＭＰＰＫ検索テーブル５１上で検索する。また第２のストレージ装置３Ｂは、この検索により検出した先頭プロセッサ番号と対応付けられているマイクロプロセッサパッケージ１４を検索し、そのマイクロプロセッサパッケージ１４にそのＩ／Ｏコマンドを転送する。
【００４９】
（２−３）ＬＤＥＶオーナ権に関する処理の流れ
図５は、かかるＬＤＥＶオーナ権に関連して、Ｉ／Ｏコマンドを受信した第１又は第２のストレージ装置３Ａ，３Ｂにおいて実行される一連のＩ／Ｏ処理の流れを示す。
【００５０】
第１又は第２のストレージ装置３Ａ，３Ｂのチャネル制御部１０は、上位装置（第１のストレージ装置３Ａの場合にはホスト計算機２、第２のストレージ装置３Ｂの場合には第１のストレージ装置３Ａ）からＩ／Ｏコマンドが与えられると（ＳＰ１）、まず、受信したＩ／Ｏコマンドをローカルルータ２２により解析し、Ｉ／Ｏ対象の論理ユニット４２を特定する。
【００５１】
そしてローカルルータ２２は、特定した論理ユニット４２と対応付けられたＬＤＥＶ４１（図２）のＬＤＥＶオーナ権を有するマイクロプロセッサパッケージ１４を、上述のようにホストターゲット用ＭＰＰＫ検索テーブル５０又はストレージ装置間Ｉ／ＯコマンドＭＰＰＫ検索テーブル５１を用いて特定し、特定したマイクロプロセッサパッケージ１４にそのＩ／Ｏコマンドを転送する（ＳＰ２）。
【００５２】
かくして、このＩ／Ｏコマンドの転送を受けたマイクロプロセッサパッケージ１４によりそのＩ／Ｏコマンドが処理される（ＳＰ３）。
【００５３】
一方、図６は、マイクロプロセッサパッケージ１４にＩ／Ｏコマンドが転送された直後に、当該Ｉ／ＯコマンドにおいてＩ／Ｏ対象とする論理ユニット４２と対応付けられたＬＤＥＶ４１のＬＤＥＶオーナ権が他のマイクロプロセッサパッケージ１４に移動された場合における処理の流れを示す。
【００５４】
このケースでは、上位装置からのＩ／Ｏコマンドを受信したチャネル制御部１０がそのＩ／ＯコマンドをＩ／Ｏ対象のマイクロプロセッサパッケージ１４に転送するまでの処理（ＳＰ１０，ＳＰ１１）の流れは図５の場合と同様である。
【００５５】
ただし、このケースの場合には、そのＩ／Ｏコマンドの転送を受けたマイクロプロセッサパッケージ１４がＩ／Ｏ対象のＬＤＥＶ４１のＬＤＥＶオーナ権を既に有していないため、そのＩ／Ｏコマンドを当該ＬＤＥＶオーナ権の移動先のマイクロプロセッサパッケージ１４に転送する（ＳＰ１２）。
【００５６】
かくして、このＩ／Ｏコマンドの転送を受けたマイクロプロセッサパッケージ１４によりそのＩ／Ｏコマンドが処理される（ＳＰ１３）。
【００５７】
他方、図７は、第１及び第２のストレージ装置３Ａ，３Ｂ間でデータのレプリケーションを実行している場合における処理の流れを示す。
【００５８】
このケースでは、ホスト計算機２からのＩ／Ｏコマンドを受信した第１のストレージ装置３Ａのチャネル制御部１０がそのＩ／ＯコマンドをＩ／Ｏ対象のマイクロプロセッサパッケージ１４に転送するまでの処理（ＳＰ２０，ＳＰ２１）の流れは図５の場合と同様である。
【００５９】
ただし、このケースの場合、ホスト計算機２からのＩ／Ｏコマンドが転送されたマイクロプロセッサパッケージ１４は、Ｉ／Ｏコマンドに従って論理ユニット４２にデータをライトした後に（ＳＰ２２）、そのＩ／Ｏコマンド及びそのデータをチャネル制御部１０及び通信路５（図１）を介して第２のストレージ装置３Ｂに転送する（ＳＰ２３，ＳＰ２４）。
【００６０】
そして、このＩ／Ｏコマンド及びデータを受信した第２のストレージ装置３Ｂ側では、図５について上述した場合と同様にして、そのＩ／ＯコマンドにおいてＩ／Ｏ対象として指定された論理ユニット４２と対応付けられたＬＤＥＶ４１のＬＤＥＶオーナ権を有するマイクロプロセッサパッケージ１４に当該Ｉ／Ｏコマンドが転送されて処理される（ＳＰ２５，ＳＰ２６）。
【００６１】
（３）ロジカル・ユニット・コングロメリット（Logical Unit Conglomerate）
（３−１）コングロメリットＬＵＮ（Conglomerate LUN）方式の概要
次に、コングロメリットＬＵＮ方式について説明する。コングロメリットＬＵＮ方式は、ＳＰＣ（SCSI Primary Commands）の4r36hにおいて提案されている論理ユニット４２の管理方式である。
【００６２】
コングロメリットＬＵＮ方式では、図８に示すように、複数の論理ユニット４２をロジカル・ユニット・コングロメリットと呼ばれるグループにグループ化し、そのロジカル・ユニット・コングロメリット６０内において１つの論理ユニット４２をそのロジカル・ユニット・コングロメリット６０の代表の論理ユニット４２（以下、これをＡＬＵ（Administrative Logical Unit）４２Ａと呼ぶ）として定義すると共に、当該グループ内の他の論理ユニット４２をそのＡＬＵ４２Ａの配下の論理ユニット４２（以下、これをＳＬＵ（Subsidiary Logical Unit）４２Ｓと呼ぶ）として、そのロジカル・ユニット・コングロメリット６０内のＡＬＵ４２Ａに関連付ける。
【００６３】
この場合、ＡＬＵ４２Ａには通常の論理ユニット４２と同様にパス定義を行うことで、コングロメリットＬＵＮ方式において、上位装置は、ＡＬＵ４２ＡをＳＣＳＩデバイスとして認識し、その配下にあるＳＬＵ４２Ｓと同一のロジカル・ユニット・コングロメリット６０に属するＡＬＵ４２Ａを対象とした図１２について後述するＬＵＮフォーマットのＩ／Ｏコマンドにより行う。
【００６４】
またロジカル・ユニット・コングロメリット６０を構成する各論理ユニット４２（ＡＬＵ４２Ａ及びＳＬＵ４２Ｓ）に対しては、それぞれ独立にＬＤＥＶオーナ権を設定することができる。従って、例えば図９に示すように、同一のロジカル・ユニット・コングロメリット６０を構成する論理ユニット４２のうちの一部に対してあるマイクロプロセッサパッケージ１４のＬＤＥＶオーナ権を設定し、残りの論理ユニット４２に対して他のマイクロプロセッサパッケージ１４のＬＤＥＶオーナ権を設定することができる。
【００６５】
ＡＬＵ４２Ａ及びＳＬＵ４２Ｓの対応関係は、図１０（Ａ）に示すＡＬＵ−ＳＬＵ関連テーブル６２を用いて管理する。このＡＬＵ−ＳＬＵ関連テーブル６２は、システム内に設定可能なＳＬＵ数と同数のＡＬＵインデックス欄６２Ａを備える。そして各ＡＬＵインデックス欄６２Ａは、それぞれいずれかのＳＬＵ４２Ｓが対応付けられたＬＤＥＶ４１のＬＤＥＶ番号と関連付けられる。
【００６６】
また各ＡＬＵインデックス欄６２Ａには、それぞれシステム内に設定可能なＡＬＵ４２Ａの数と同じビット数を有するビットマップが格納される。そして、これらのビットマップでは、そのＡＬＵインデックス欄６２Ａに対応するＳＬＵ４２Ｓが属するロジカル・ユニット・コングロメリット６０のＡＬＵ４２Ａに対応するビットが「１」に設定され、他のビットが「０」に設定される。なお、以下においては、ビットマップの左端のビットの番号を「０」として、当該ビットからそのビットマップの「１」に設定されたビットまでのビットの数をそのビットマップに対応するＡＬＵ４２Ａのインデックス番号と呼ぶものとする。
【００６７】
ＡＬＵ４２Ａのインデックス番号は、便宜的にＡＬＵ４２Ａに付与されるものであり、そのＡＬＵ４２Ａが対応付けられるＬＤＥＶ４１のＬＤＥＶ番号とは異なる。このためＡＬＵ４２Ａのインデックス番号と、そのＡＬＵ４２Ａが対応付けられたＬＤＥＶ４１のＬＤＥＶ番号との対応関係は、図１０（Ｂ）に示すＡＬＵ−ＬＤＥＶ関連テーブル６３を用いて管理する。
【００６８】
このＡＬＵ−ＬＤＥＶ関連テーブル６３は、システム内に設定可能なＡＬＵ数と同数のＬＤＥＶ番号欄６３Ａを備える。そして各ＬＤＥＶ番号欄６３Ａは、それぞれいずれかのＡＬＵ４２Ａのインデックス番号と関連付けられる。また各ＬＤＥＶ番号欄６３Ａには、それぞれ対応するインデックス番号のＡＬＵ４２Ａと対応付けられたＬＤＥＶ４１のＬＤＥＶ番号が格納される。
【００６９】
従って、例えば図１０（Ａ）及び（Ｂ）の例の場合、例えば、「２」というＬＤＥＶ番号のＬＤＥＶ４１と対応付けられたＳＬＵ４２Ｓが属するロジカル・ユニット・コングロメリット６０のＡＬＵ４２Ａのインデックス番号は「１」であり、そのＡＬＵ４２Ａと対応付けられたＬＤＥＶ４１のＬＤＥＶ番号が「0000」であることが示されている。
【００７０】
なお本実施の形態の場合、これらＡＬＵ−ＳＬＵ関連テーブル６２及びＡＬＵ−ＬＤＥＶ関連テーブル６３は、マイクロプロセッサパッケージ１４のローカルメモリ３１（図１）に格納されて保持され、マイクロプロセッサ３２がＩ／Ｏコマンドを処理する際に利用される。
【００７１】
（３−２）本情報処理システムの特徴
ここで、上述のように各ＬＤＥＶ４１にＬＤＥＶオーナ権が設定された第１及び第２のストレージ装置３Ａ，３Ｂにおける論理ユニット４２の管理方式としてこのようなコングロメリットＬＵＮ方式を適用する場合について考える。
【００７２】
この場合、上述のようにホスト計算機２は、ロジカル・ユニット・コングロメリット６０を構成する論理ユニット４２のうちのＡＬＵ４２ＡのみをＳＣＳＩデバイスとして認識できるため、ホスト計算機２は、ロジカル・ユニット・コングロメリット６０を構成するＡＬＵ４２Ａ及びＳＬＵ４２Ｓのいずれにアクセスする場合においても、常にＡＬＵ４２ＡをＩ／Ｏ対象としてＩ／Ｏコマンドで指定することになる。
【００７３】
一方、このＩ／Ｏコマンドを受信した第１のストレージ装置３Ａ側では、そのＩ／Ｏコマンドにおいて指定されたＩ／Ｏ対象がロジカル・ユニット・コングロメリット６０のＡＬＵ４２Ａやロジカル・ユニット・コングロメリット６０を構成しない通常の論理ユニット４２であるときには、そのＩ／ＯコマンドがそのＡＬＵ４２Ａや、その通常の論理ユニット４２のＬＤＥＶオーナ権を有するマイクロプロセッサパッケージ１４に転送される。
【００７４】
そして、このＩ／Ｏコマンドを受信したマイクロプロセッサパッケージ１４は、受信したＩ／Ｏコマンドを解析し、自己がＬＤＥＶオーナ権を有するＬＤＥＶ４１と対応付けられたＡＬＵ４２Ａや通常の論理ユニット４２をＩ／Ｏ対象としている場合には、そのＩ／Ｏコマンドを処理し、他のマイクロプロセッサパッケージ１４がＬＤＥＶオーナ権を有するＬＤＥＶ４１と対応付けられた論理ユニット４２をＩ／Ｏ対象としている場合には、そのＩ／Ｏコマンドを当該他のマイクロプロセッサパッケージ１４に転送し、当該他のマイクロプロセッサパッケージ１４においてそのＩ／Ｏコマンドを処理することになる。
【００７５】
ところが、このようなＩ／Ｏコマンドの処理方法によると、ロジカル・ユニット・コングロメリット６０のＡＬＵ４２Ａと対応付けられたＬＤＥＶ４１のＬＤＥＶオーナ権を有するマイクロプロセッサパッケージ１４と、そのロジカル・ユニット・コングロメリット６０に属するＳＬＵ４２Ｓと対応付けられたＬＤＥＶ４１のＬＤＥＶオーナ権を有するマイクロプロセッサパッケージ１４とが異なる場合（図９参照）に、そのＳＬＵ４２Ｓを対象とするＩ／Ｏコマンドが、常にそのＡＬＵ４２ＡのＬＤＥＶオーナ権を有するマイクロプロセッサパッケージ１４からそのＳＬＵ４２ＳのＬＤＥＶオーナ権を有するマイクロプロセッサパッケージ１４に転送されることになるため、Ｉ／Ｏコマンドに対する応答性能が低下する問題がある。
【００７６】
また、かかる状況のもとでは、第１のストレージ装置３Ａ内部におけるデータの転送量を増大させるため、そのＩ／Ｏコマンドについての処理だけでなく、他のＩ／Ｏコマンドについての処理や、別のオペレーションにも悪影響を与え得る問題がある。
【００７７】
そこで本情報処理システム１では、第１及び第２のストレージ装置３Ａ，３Ｂのチャネル制御部１０が上位装置からのＩ／Ｏコマンドを受信した場合に、ローカルルータ２２（図１）においてそのＩ／Ｏコマンドを解析し、Ｉ／Ｏ対象の論理ユニット４２がロジカル・ユニット・コングロメリット６０のＳＬＵ４２Ｓである場合には、そのＩ／ＯコマンドをそのＳＬＵ４２Ｓと対応付けられたＬＤＥＶ４１のＬＤＥＶオーナ権を有するマイクロプロセッサパッケージ１４に直接転送するＩ／Ｏコマンド転送機能が第１及び第２のストレージ装置３Ａ，３Ｂに実装されていることを特徴の１つとしている。
【００７８】
そのための手段として、本情報処理システム１の場合、上位装置から第１又は第２のストレージ装置３Ａ，３Ｂに送信されるＩ／Ｏコマンドにおいて、ＡＬＵ４２ＡをＩ／Ｏ対象とする場合と、ＳＬＵ４２ＳをＩ／Ｏ対象とする場合とでＩ／Ｏ対象の論理ユニット４２を指定するフィールドのフォーマット（以下、これをＬＵＮフォーマットと呼ぶ）が異なっており、これにより第１のストレージ装置３Ａや第２のストレージ装置３Ｂのローカルルータ２２（図１）がＩ／ＯコマンドのＬＵＮフォーマットに基づいて、そのＩ／ＯコマンドのＩ／Ｏ対象がＡＬＵ４２Ａ及びＳＬＵ４２Ｓのいずれであるかを容易に判別し得るようになされている。
【００７９】
実際上、本情報処理システム１の場合、Ｉ／Ｏ対象としてＡＬＵ４２Ａ（及びロジカル・ユニット・コングロメリット６０を構成しない通常の論理ユニット４２）を指定するＩ／ＯコマンドにおけるＬＵＮフォーマットとしては、図１１に示すようなＬＵＮフォーマットが用いられる。
【００８０】
このＬＵＮフォーマットは、ＳＣＳＩ規格において仕様として定義されたフォーマットであり、バイト０，ビット７−６には、「ADDR METHOD」として固定値である「00b」が格納される。またバイト０，ビット５〜バイト１，ビット０には、Ｉ／Ｏ対象とする論理ユニットのＬＵＮが格納され、バイト２−バイト７には「リザーブ（Reserved）」として「０」が格納される。
【００８１】
一方、本情報処理システム１の場合、Ｉ／Ｏ対象としてＳＬＵ４２Ｓを指定するＩ／ＯコマンドにおけるＬＵＮフォーマットとしては、図１２に示すようなＬＵＮフォーマットが用いられる。
【００８２】
このＬＵＮフォーマットもＳＣＳＩ規格で定義されたフォーマットであり、バイト０−１において、同一ロジカル・ユニット・コングロメリット６０に属するＡＬＵ４２ＡのＬＵＮが図１２のバイト０−１と同様のフォーマットで指定される。
【００８３】
またこのＬＵＮフォーマットにおいてバイト２，ビット７〜バイト７，ビット０はＳＬＵ４２Ｓを指定するための領域であり、バイト２，ビット７−６に「ADDR METHOD」として固定値である「11b」が、バイト２，ビット５−４に「LENGTH」として固定値である「10b」が、バイト２，ビット３−０に「EXTENDED ADDRESS METHOD」として固定値である「2h」がそれぞれ格納される。
【００８４】
さらにバイト３−６は、Ｉ／Ｏ対象のＳＬＵ４２Ｓを特定するための識別情報として、そのＳＬＵ４２Ｓと対応付けられたＬＤＥＶ４１のＬＤＥＶ番号が格納される。このフィールドのＳＬＵ４２ＳのＬＤＥＶ番号を指定することにより、ローカルルータ２２（図１）においてＬＵＮフォーマットを解析したときに、従以来のストレージ装置間Ｉ／ＯコマンドＭＰＰＫ検索テーブル５１を使用することができ、Ｉ／Ｏコマンドの転送先のマイクロプロセッサパッケージ１４を容易に特定することができる。またバイト７には「リザーブ（Reserved）」として「０」が格納される。
【００８５】
（３−３）Ｉ／Ｏコマンド転送機能に関するローカルルータの処理
図１３は、上述した本実施の形態によるＩ／Ｏコマンド転送機能に関する第１及び第２のストレージ装置３Ａ，３Ｂのローカルルータ２２（図１）の具体的な処理内容を示す。ローカルルータ２２は、上位装置からのＩ／Ｏコマンドを受信すると、この図１３に示す処理手順従って、受信したＩ／Ｏコマンドを適切なマイクロプロセッサパッケージ１４に転送する。
【００８６】
実際上、ローカルルータ２２は、Ｉ／Ｏコマンドを受信するとこの図１３に示すＩ／Ｏコマンド転送処理を開始し、まず、受信したＩ／Ｏコマンドのコマンドディスクリプタブロック（ＣＤＢ：Command Descriptor Block）を解析し（ＳＰ３０）、解析結果に基づいて、そのＩ／ＯコマンドがＳＣＳＩコマンドであるか否かを判断する（ＳＰ３１）。
【００８７】
ここで、上述のように本実施の形態による情報処理システム１においては、第１及び第２のストレージ装置３Ａ，３Ｂ間におけるＩ／Ｏコマンドのフォーマットはベンダユニークなフォーマットであり、従って、この判断で否定結果を得ることは、そのＩ／Ｏコマンドが第１のストレージ装置３Ａから第２のストレージ装置３Ｂに送信されたＩ／Ｏコマンドであり、当該Ｉ／Ｏコマンドを受信したのが第２のストレージ装置３Ｂであることを意味する。
【００８８】
かくして、このときローカルルータ２２は、ステップＳＰ３０の解析により得られたＬＤＥＶ番号をキーとして、当該ＬＤＥＶ番号のＬＤＥＶ４１のＬＤＥＶオーナ権を有するマイクロプロセッサパッケージ１４の先頭マイクロプロセッサ３２（図１）のプロセッサ番号をストレージ装置間Ｉ／ＯコマンドＭＰＰＫ検索テーブル５１（図４）上で検索する（ＳＰ３４）。
【００８９】
そしてローカルルータ２２は、この検索により検出したマイクロプロセッサパッケージ１４にそのＩ／Ｏコマンドを転送し（ＳＰ３６）、この後、このＩ／Ｏコマンド転送処理を終了する。
【００９０】
一方、ステップＳＰ３１の判断で肯定結果を得ることは、そのＩ／Ｏコマンドが（Ａ）第１のストレージ装置３Ａ内のＡＬＵ４２Ａ、（Ｂ）当該ＡＬＵ４２Ａと同じロジカル・ユニット・コングロメリット６０に属し第１のストレージ装置３Ａ内に存在するＳＬＵ４２Ｓ、及び、（Ｃ）ロジカル・ユニット・コングロメリット６０を構成しない通常の論理ユニット４２のいずれかを対象とするＩ／ＯＬコマンドであることを意味する。
【００９１】
かくして、このときローカルルータ２２は、そのＩ／ＯコマンドのＬＵＮフォーマットのバイト２−７を参照して、そのＩ／ＯコマンドがＳＬＵ４２ＳをＩ／Ｏ対象とするＩ／Ｏコマンドであるか否か（ＬＵＮフォーマットが図１１のＬＵＮフォーマットではなく、図１２のＬＵＮフォーマットであるか否か）を判断する（ＳＰ３２）。
【００９２】
そしてローカルルータ２２は、この判断で否定結果を得るとそのＩ／ＯコマンドのＬＵＮフォーマットのバイト３−６からＩ／Ｏ対象のＳＬＵが対応付けられたＬＤＥＶ４１のＬＤＥＶ番号を取得する（ＳＰ３３）。
【００９３】
またローカルルータ２２は、取得したＬＤＥＶ番号をキーとして、当該ＬＤＥＶ番号のＬＤＥＶ４１と対応付けられた論理ユニット４２のＬＤＥＶオーナ権を有するマイクロプロセッサパッケージ１４の先頭マイクロプロセッサ３２のプロセッサ番号をストレージ装置間Ｉ／ＯコマンドＭＰＰＫ検索テーブル５１上で検索する（ＳＰ３４）。
【００９４】
そしてローカルルータ２２は、この検索により検出したマイクロプロセッサパッケージ１４にそのＩ／Ｏコマンドを転送し（ＳＰ３６）、この後、このＩ／Ｏコマンド転送処理を終了する。
【００９５】
これに対して、ローカルルータ２２は、ステップＳＰ３２の判断で否定結果を得ると、そのＩ／ＯコマンドのＬＵＮフォーマットのバイト０−１からＬＵＮを取得し、取得したＬＵＮが付与されたＡＬＵ４２Ａと対応付けられたＬＤＥＶ４１のオーナ権を有するマイクロプロセッサパッケージ１４の先頭マイクロプロセッサ３２のプロセッサ番号をホストターゲット用ＭＰＰＫ検索テーブル５０（図３）上で検索する（ＳＰ３５）。
【００９６】
そしてローカルルータ２２は、この検索により検出したマイクロプロセッサパッケージ１４にそのＩ／Ｏコマンドを転送し（ＳＰ３６）、この後、このＩ／Ｏコマンド転送処理を終了する。
【００９７】
（４）複数のホスト計算機が１つのＳＬＵを共有する場合の排他処理
図１４に示すように、１つのＳＬＵ４２Ｓに対して複数のＡＬＵ４２Ａが関連付けられており（つまりそのＳＬＵ４２Ｓが複数のロジカル・ユニット・コングロメリット６０に属しており）、各ＡＬＵ４２Ａがそれぞれ異なるホスト計算機２に割り当てられている場合、これらのホスト計算機２がそのＳＬＵ４２Ｓを共有している状況となり、そのＳＬＵ４２Ｓに対して複数の経路でＩ／Ｏコマンドが発行されることになる。このような状況のもとでは、そのＳＬＵ４２Ｓに対する複数のホスト計算機２からのＩ／Ｏコマンドが競合する事態が発生し得る。
【００９８】
そこで本実施の形態においては、１つのＳＬＵ４２Ｓに複数のＡＬＵ４２Ａが関連付けられた場合に、これらのＡＬＵ４２Ａに当該ＡＬＵ４２Ａ間での優先度を設定でき、当該ＳＬＵ４２ＳをＩ／Ｏ対象とするＩ／Ｏコマンドが複数のホスト計算機２から同時に与えられた場合（Ｉ／Ｏ処理が競合した場合）に、マイクロプロセッサパッケージ１４のマイクロプロセッサ３２（図１）が、そのＩ／Ｏコマンドが経由したＡＬＵ４２Ａに設定された優先度に応じた順番でこれらのＩ／Ｏコマンドを処理するようになされている。
【００９９】
このような処理を実現するための手段として、各マイクロプロセッサパッケージ１４のローカルメモリ３１（図１）には、図１５に示すような優先度管理テーブル７０が格納されている。優先度管理テーブル７０は、対応するＳＬＵ４２Ｓについて予め設定されたＡＬＵ４２Ａの優先度を管理するために利用されるテーブルであり、ＳＬＵ４２Ｓごとに用意される。
【０１００】
この優先度管理テーブル７０は、ＬＵＮ欄７０Ａ及び優先度欄７０Ｂを備えており、ＬＵＮ欄７０Ａには、その第１又は第２のストレージ装置３Ａ，３Ｂ内に存在する各ＡＬＵ４２Ａに対してそれぞれ付与されたＬＵＮがそれぞれ格納され、優先度欄７０Ｂには、対応するＳＬＵ４２Ｓについて、当該ＳＬＵ４２Ｓが関連付けられた各ＡＬＵ４２Ａに対してそれぞれ設定されたそのＡＬＵ４２Ａの優先度を表す値が格納される。なお図１５の例では、優先度の値が小さいものほど優先度が高いものとする。
【０１０１】
かくしてマイクロプロセッサパッケージ１４のマイクロプロセッサ３２は、チャネル制御部１０から転送されるＳＬＵ４２Ｓに対するＩ／Ｏコマンドが競合した場合には、そのＳＬＵ４２Ｓに対応する優先度管理テーブル７０を参照して、Ｉ／ＯコマンドのＬＵＮフォーマット（図１２）のバイト０−２にＬＵＮが格納されたＡＬＵ４２Ａの優先度がより高いＩ／Ｏコマンドをより優先的に処理する。
【０１０２】
この機能は、同一のＳＬＵ４２Ｓを共有する複数のホスト計算機２に対して優先度を設定することと同等であり、従って、このような機能を第１のストレージ装置３Ａに搭載することによって、より重要な処理を行うホスト計算機２からのＩ／Ｏコマンドをより優先的に処理させることができる。
【０１０３】
なお、上記構成に加えて、例えばＳＬＵ４２Ｓごとに、図１６に示すようなそのＳＬＵ４２Ｓに対応付けられたＡＬＵ４２Ａごとのキュー７１を各マイクロプロセッサパッケージ１４のローカルメモリ３１（図１）上に用意し、マイクロプロセッサパッケージ１４において、チャネル制御部１０から転送されてきたＩ／ＯコマンドをそのＬＵＮフォーマット（図１２）のバイト０−２に格納されたＬＵＮに対応するＡＬＵ４２Ａのキュー７１に格納し、これらのキュー７１に格納されたＩ／Ｏコマンドを、対応するＡＬＵ４２Ａの優先度に応じた個数ずつ順番にかつ繰り返し処理するようにしても良い。なお、「優先度に応じた個数」とは、より優先度が高いＡＬＵ４２Ａに対応するキュー７１に格納されたＩ／Ｏコマンドほどより多く処理することを意味する。
【０１０４】
例えば、図１５のようにＬＵＮが「０」〜「３」であるＡＬＵ４２Ａが４つ存在し、ＬＵＮが「２」、「３」及び「１」のＡＬＵ４２Ａにこの順番でより高い優先度が設定されている場合、まず、優先度が最も高い「ALU2」というＡＬＵ４２Ａに対応するキュー７１に格納されたＩ／Ｏコマンドを例えば３個処理した後、次に優先度が高い「ALU3」というＡＬＵ４２Ａに対応するキュー７１に格納されたＩ／Ｏコマンドを２個処理し、さらに最も優先度が低い「ALU1」というＡＬＵ４２Ａに対応するキュー７１に格納されたＩ／Ｏコマンドを１個処理し、この後、上述の処理を繰り返すようにすれば良い。
【０１０５】
このようにしても、上述と同様に、より重要な処理を行うホスト計算機２からのＩ／Ｏコマンドをより優先的に処理させることができる。
【０１０６】
さらに以上の方式は、例えば図１７に示すように、単一のＡＬＵ４２Ａが複数のポート１０Ａにパス定義されている環境においても適用することができる。この場合、優先度管理テーブル７０や、キュー７１は、ＳＬＵ４２Ｓ単位ではなく、ＡＬＵ４２Ａ単位で用意され、ポート１０Ａごとの当該ポート１０Ａ間での優先度を設定することになる。
【０１０７】
（５）本実施の形態の効果
以上のように本実施の形態による情報処理システム１では、上位装置からのＩ／Ｏコマンドが対象とする論理ユニット４２がＳＬＵ４２Ｓである場合には、その論理ユニット４２と対応付けられたＬＤＥＶ４１のオーナ権を有するマイクロプロセッサパッケージ１４にそのコマンドを直接転送するため、第１及び第２のストレージ装置３Ａ，３Ｂ内においてマイクロプロセッサパッケージ１４間でのＩ／Ｏコマンドの転送が発生するのを防止することができる。かくするにつき、かかる第１及び第２のストレージ装置３Ａ，３Ｂ内におけるマイクロプロセッサパッケージ１４間でのＩ／Ｏコマンドの転送に起因してＩ／Ｏコマンドに対する応答性能が低下するのを有効に防止することができる。
【０１０８】
（６）他の実施の形態
なお上述の実施の形態においては、本発明を図１のように構成された情報処理システム１に適用するようにした場合について述べたが、本発明はこれに限らず、この他種々の形態の情報処理システムに広く適用することができる。
【０１０９】
また上述の実施の形態においては、上位装置からのＩ／Ｏコマンドを処理するコマンド処理部としてのマイクロプロセッサパッケージ１４を図１のように構成するようにした場合について述べたが、本発明はこれに限らず、この他種々の構成を広く適用することができる。この場合、かかるコマンド処理部が有するマイクロプロセッサ３２（図１）の数は１つであっても良い。
【産業上の利用可能性】
【０１１０】
本発明は、Ｉ／Ｏコマンドの処理方式としてＬＤＥＶオーナ権を適用した処理方式が採用され、論理ユニットの管理方式としてコングロメリットＬＵＮ方式が採用されたストレージ装置のほか、同様のＩ／Ｏコマンド処理方式及び論理ユニット管理方式が共に採用されたストレージ装置に広く適用することができる。
【符号の説明】
【０１１１】
１……情報処理システム、２……ホスト計算機、３Ａ，３Ｂ……ストレージ装置、１０……チャネル制御部、１０Ａ……ポート、１４……マイクロプロセッサパッケージ、１５……記憶デバイス、２０，３２……マイクロプロセッサ、２２……ローカルルータ、２５……制御情報、４１……ＬＤＥＶ、４２……論理ユニット、４２Ａ……ＡＬＵ、４２Ｂ……ＳＬＵ、５０……ホストターゲット用ＭＰＰＫ検索テーブル、５１……ストレージ装置間Ｉ／ＯコマンドＭＰＰＫ検索テーブル、６０……ロジカル・ユニット・コングロメリット、６２……ＡＬＵ−ＳＬＵ関連テーブル、６３……ＡＬＵ−ＬＤＥＶ関連テーブル、７０……優先度テーブル、７１……キュー。
【図１】
2016157421.tif 000003
【図２】
2016157421.tif 000004
【図３】
2016157421.tif 000005
【図４】
2016157421.tif 000006
【図５】
2016157421.tif 000007
【図６】
2016157421.tif 000008
【図７】
2016157421.tif 000009
【図８】
2016157421.tif 000010
【図９】
2016157421.tif 000011
【図１０】
2016157421.tif 000012
【図１１】
2016157421.tif 000013
【図１２】
2016157421.tif 000014
【図１３】
2016157421.tif 000015
【図１４】
2016157421.tif 000016
【図１５】
2016157421.tif 000017
【図１６】
2016157421.tif 000018
【図１７】
2016157421.tif 000019
【国際調査報告】
2016157421.tif 000020
2016157421.tif 000021
2016157421.tif 000022
2016157421.tif 000023