(57)【要約】【課題】  小規模〜大規模な構成までシステム規模に見合った価格／性能のストレージシステムの提供。【課題手段】  プロトコル変換部１０及びキャッシュ制御部２１の間は相互結合網３１で互いに接続されており、キャッシュ制御部２１は、１つの制御クラスタが少なくとも２以上の任意の数のキャッシュ制御部２１を含む、複数の制御クラスタ７０に分けられており、キャッシュメモリ１１１の制御は制御クラスタ７０毎に独立しており、複数のキャッシュ制御部２１のいずれか一つが、管理情報記憶部１６０に記憶された管理情報に基づいて、プロトコル変換部１０と複数の制御クラスタ７０を１つのシステムとして管理する。【選択図】図１
2005301802.tif 000002
【特許請求の範囲】
【請求項１】
外部装置又はディスク装置とのインターフェースを有し、前記外部装置又は前記ディスク装置との間で取り交わされるデータのリード／ライトプロトコルをシステム内部のプロトコルに変換する複数のプロトコル変換部と、
前記ディスク装置に対しリード／ライトされるデータを格納するキャッシュメモリ及び該キャッシュメモリを制御するマイクロプロセッサを有する複数のキャッシュ制御部と、
ストレージシステムの管理情報を記憶する管理情報記憶部と、を有し、
前記複数のプロトコル変換部及び前記複数のキャッシュ制御部の間は、相互結合網で互いに接続されており、
前記複数のキャッシュ制御部は、少なくとも２以上の前記キャッシュ制御部を含む制御クラスタに分けられており、
前記キャッシュメモリの制御は前記制御クラスタ毎に独立しており、
前記複数のキャッシュ制御部のいずれか一つが、前記管理情報記憶部に記憶された管理情報に基づいて、前記複数のプロトコル変換部と前記複数の制御クラスタとを１つのシステムとして管理することを特徴とするストレージシステム。
【請求項２】
外部装置とのインターフェースを有し、前記外部装置との間で取り交わされるデータのリード／ライトプロトコルをシステム内部のプロトコルに変換する複数のプロトコル変換部と、
ディスク装置との間で取り交わされるデータのリード／ライトプロトコルをシステム内部のプロトコルに変換する複数のインターフェース、前記ディスク装置に対しリード／ライトされるデータを格納するキャッシュメモリ及び該キャッシュメモリを制御するマイクロプロセッサを有する複数のディスク制御部と、を有し、
前記プロトコル変換部及び前記ディスク制御部の間は、第一の相互結合網で互いに接続され、
前記ディスク制御部及び前記ディスク装置の間は、第二の相互結合網で互いに接続され、
前記ディスク制御部は、少なくとも２以上の前記ディスク制御部を含む制御クラスタに分けられており、
前記キャッシュメモリの制御は前記制御クラスタ毎に独立しており、
前記制御クラスタに含まれる前記ディスク制御部は互いに接続されており、
前記複数のプロトコル変換部と前記複数の制御クラスタとを１つのシステムとして管理するシステム管理部を有することを特徴とするストレージシステム。
【請求項３】
ディスク装置とのインターフェースを有し、前記ディスク装置との間で取り交わされるデータのリード／ライトプロトコルをシステム内部のプロトコルに変換する複数のプロトコル変換部と、
外部装置との間で取り交わされるデータのリード／ライトプロトコルをシステム内部のプロトコルに変換する複数のインターフェース、前記ディスク装置に対しリード／ライトされるデータを格納するキャッシュメモリ及び該キャッシュメモリを制御するマイクロプロセッサを有するチャネル制御部と、を有し、
前記複数のプロトコル変換部及びチャネル制御部は、相互結合網で互いに接続され、
前記キャッシュ制御部は、少なくとも２以上の前記チャネル制御部を含む制御クラスタに分けられており、
前記制御クラスタ内のチャネル制御部の前記キャッシュメモリには、該制御クラスタ内の前記インターフェースに接続された前記外部装置が利用するデータのみを格納し、
前記キャッシュメモリの制御及び前記ディスク装置の記憶領域の管理は前記制御クラスタ毎に独立しており、
前記複数のプロトコル変換部と前記複数の制御クラスタとを１つのシステムとして管理するシステム管理部を有することを特徴とするストレージシステム。
【請求項４】
外部装置又はディスク装置との間で取り交わされるデータのリード／ライトプロトコルをシステム内部のプロトコルに変換する複数のインターフェース、前記外部装置又は前記ディスク装置との間でリード／ライトされるデータを格納するキャッシュメモリ及び該キャッシュメモリを制御するマイクロプロセッサを有する複数のチャネル制御部を有し、
前記複数のチャネル制御部は、相互結合網で互いに接続され、
前記チャネル制御部は、少なくとも２以上の前記チャネル制御部を含む制御クラスタに分けられており、
前記キャッシュメモリの制御は前記制御クラスタ毎に独立しており、
前記複数の制御クラスタを１つのシステムとして管理するシステム管理部を有することを特徴とするストレージシステム。
【請求項５】
外部装置又はディスク装置との間で取り交わされるデータのリード／ライトプロトコルをシステム内部のプロトコルに変換する複数のプロトコル変換部と、
前記外部装置又は前記ディスク装置との間でリード／ライトされるデータを格納するキャッシュメモリ及び該キャッシュメモリを制御するマイクロプロセッサを有する複数のキャッシュ制御部と、を有し、
前記プロトコル変換部及び前記キャッシュ制御部の間は、第一の相互結合網で互いに接続され、
前記複数のキャッシュ制御部は、第二の相互結合網で互いに接続され、
前記複数のキャッシュ制御部は、少なくとも２以上の前記キャッシュ制御部を含む制御クラスタに分けられており、
前記制御クラスタに含まれる前記キャッシュ制御部は互いに接続されており、
前記キャッシュメモリの制御は前記制御クラスタ内で独立しており、
前記複数のプロトコル変換部と前記複数の制御クラスタとを１つのシステムとして管理するシステム管理部を有することを特徴とするストレージシステム。
【請求項６】
前記相互結合網は、前記リード／ライトされるデータを転送する第三の相互結合網と、前記ストレージシステムを管理するための制御情報を転送する第四の相互結合網に分けられていることを特徴とする請求項１、３又は４のいずれか一つに記載のストレージシステム。
【請求項７】
前記第一の相互結合網は、前記リード／ライトされるデータを転送する第三の相互結合網と、前記ストレージシステムを管理するための制御情報を転送する第四の相互結合網に分けられていることを特徴とする請求項２又は５に記載のストレージシステム。
【請求項８】
ストレージシステムの管理情報を記憶する管理情報記憶部を有し、
前記ディスク制御部のいずれか一つが、前記管理情報記憶部に記憶された管理情報に基づいて前記複数のプロトコル変換部と前記複数の制御クラスタとを１つのシステムとして管理するシステム管理部として機能することを特徴とする請求項２に記載のストレージシステム。
【請求項９】
ストレージシステムの管理情報を記憶する管理情報記憶部を有し、
前記チャネル制御部のいずれか一つが、前記管理情報記憶部に記憶された管理情報に基づいて前記複数のプロトコル変換部と前記複数の制御クラスタとを１つのシステムとして管理するシステム管理部として機能することを特徴とする請求項３に記載のストレージシステム。
【請求項１０】
ストレージシステムの管理情報を記憶する管理情報記憶部を有し、
前記キャッシュ制御部のいずれか一つが、前記管理情報記憶部に記憶された管理情報に基づいて前記複数のプロトコル変換部と前記複数の制御クラスタとを１つのシステムとして管理するシステム管理部として機能することを特徴とする請求項５に記載のストレージシステム。
【請求項１１】
ストレージシステムの管理情報を記憶する管理情報記憶部を有し、
前記チャネル制御部のいずれか一つが、前記管理情報記憶部に記憶された管理情報に基づいて前記複数の制御クラスタを１つのシステムとして管理するシステム管理部として機能することを特徴とする請求項４に記載のストレージシステム。
【請求項１２】
外部装置又はディスク装置とのインターフェースを有し、前記外部装置又はディスク装置との間で取り交わされるデータのリード／ライトプロトコルをシステム内部のプロトコルに変換する複数のプロトコル変換部と、
前記ディスク装置に対しリード／ライトされるデータを格納するキャッシュメモリ及び該キャッシュメモリを制御するマイクロプロセッサを有する複数のキャッシュ制御部と、を有し、
前記複数のプロトコル変換部及び前記複数のキャッシュ制御部の間は、相互結合網で互いに接続されており、
前記複数のキャッシュ制御部は、少なくとも２以上の前記キャッシュ制御部を含む制御クラスタに分けられており、
前記キャッシュメモリの制御は前記制御クラスタ毎に独立しており、
前記複数のキャッシュ制御部のいずれかに、ストレージシステムの管理情報が記憶されており、
前記複数のキャッシュ制御部のいずれか１つが、前記複数のプロトコル変換部と前記複数の制御クラスタとを１つのシステムとして管理することを特徴とするストレージシステム。
【請求項１３】
外部装置とのインターフェースを有し、前記外部装置との間で取り交わされるデータのリード／ライトプロトコルをシステム内部のプロトコルに変換する複数のプロトコル変換部と、
ディスク装置との間で取り交わされるデータのリード／ライトプロトコルをシステム内部のプロトコルに変換する複数のインターフェース、前記ディスク装置に対しリード／ライトされるデータを格納するキャッシュメモリ及び該キャッシュメモリを制御するマイクロプロセッサを有する複数のディスク制御部と、を有し、
前記プロトコル変換部及び前記ディスク制御部の間は、第一の相互結合網で互いに接続され、
前記ディスク制御部及び前記ディスク装置の間は、第二の相互結合網で互いに接続され、
前記ディスク制御部は、少なくとも２以上の前記ディスク制御部を含む制御クラスタに分けられており、
前記キャッシュメモリの制御は前記制御クラスタ毎に独立しており、
前記制御クラスタに含まれる前記ディスク制御部は互いに接続されており、
前記複数のディスク制御部のいずれかに、ストレージシステムの管理情報が記憶されており、
前記複数のディスク制御部のいずれか１つが、前記複数の第プロトコル変換部と前記複数の制御クラスタとを１つのシステムとして管理することを特徴とするストレージシステム。
【請求項１４】
ディスク装置とのインターフェースを有し、前記ディスク装置との間で取り交わされるデータのリード／ライトプロトコルをシステム内部のプロトコルに変換する複数のプロトコル変換部と、
外部装置との間で取り交わされるデータのリード／ライトプロトコルをシステム内部のプロトコルに変換する複数のインターフェース、前記ディスク装置に対しリード／ライトされるデータを格納するキャッシュメモリ及び該キャッシュメモリを制御するマイクロプロセッサを有するチャネル制御部と、を有し、
前記複数のプロトコル変換部及びチャネル制御部は、相互結合網で互いに接続され、
前記チャネル制御部は、少なくとも２以上の前記チャネル制御部を含む制御クラスタに分けられており、
前記制御クラスタ内のチャネル制御部の前記キャッシュメモリには、該制御クラスタ内の前記インターフェースに接続された複数の前記外部装置が利用するデータのみを格納し、
前記複数のチャネル制御部のいずれかに、ストレージシステムの管理情報が記憶されており、
前記キャッシュメモリの制御及び前記ディスク装置の記憶領域の管理は前記制御クラスタ毎に独立しており、
前記複数のチャネル制御部のいずれか１つが、前記複数プロトコル変換部と前記複数の制御クラスタとを１つのシステムとして管理することを特徴とするストレージシステム。
【請求項１５】
外部装置又はディスク装置との間で取り交わされるデータのリード／ライトプロトコルをシステム内部のプロトコルに変換する複数のインターフェース、前記外部装置又は前記ディスク装置との間でリード／ライトされるデータを格納するキャッシュメモリ及び該キャッシュメモリを制御するマイクロプロセッサを有する複数のチャネル制御部を有し、
前記複数のチャネル制御部は、相互結合網で互いに接続され、
前記チャネル制御部は、少なくとも２以上の前記チャネル制御部を含む制御クラスタに分けられており、
前記キャッシュメモリの制御は前記制御クラスタ毎に独立しており、
前記複数のチャネル制御部のいずれかに、ストレージシステムの管理情報が記憶されており、
前記複数のチャネル制御部のいずれか１つが、前記複数の制御クラスタを１つのシステムとして管理することを特徴とするストレージシステム。
【請求項１６】
外部装置又はディスク装置との間で取り交わされるデータのリード／ライトプロトコルをシステム内部のプロトコルに変換する複数のプロトコル変換部と、
前記外部装置又は前記ディスク装置との間でリード／ライトされるデータを格納するキャッシュメモリ及び該キャッシュメモリを制御するマイクロプロセッサを有する複数のキャッシュ制御部と、を有し、
前記プロトコル変換部及び前記キャッシュ制御部の間は、第一の相互結合網で互いに接続され、
前記複数のキャッシュ制御部は、第二の相互結合網で互いに接続され、
前記複数のキャッシュ制御部は、少なくとも２以上の前記キャッシュ制御部を含む制御クラスタに分けられており、
前記制御クラスタに含まれる前記キャッシュ制御部は互いに接続されており、
前記キャッシュメモリの制御は前記制御クラスタ内で独立しており、
前記複数のキャッシュ制御部のいずれかに、ストレージシステムの管理情報が記憶されており、
前記複数のキャッシュ制御部のいずれか１つが、前記複数のプロトコル変換部と前記複数の制御クラスタとを１つのシステムとして管理することを特徴とするストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、小規模〜大規模構成まで拡張可能なストレージシステムに関する。
【背景技術】
【０００２】
企業内へのＩＴシステムの浸透や、インターネットの発展による企業間のＩＴシステムの連携の拡大により、ＩＴシステムで処理されるデータを保存するストレージシステムが、ＩＴシステムの中心的な役割を担っている。ストレージシステムには、小規模な構成から大規模な構成のシステムまで数多くの種類のシステムがある。
【０００３】
例えば、小規模〜大規模までの構成を提供する主なストレージシステムの１つとして、従来技術では、図３６に示すようなアーキテクチャのストレージシステムが特許文献１に開示されている。このストレージシステムでは、計算機（以下「サーバ」とも言う）３との間のデータ転送を実行する複数のチャネルＩＦ部１１と、ハードディスク群２との間のデータ転送を実行する複数のディスクＩＦ部１６と、ハードディスク群２に格納するデータを一時的に格納するキャッシュメモリ部１４と、ストレージシステム８に関する制御情報（例えば、ストレージシステム８内のデータ転送制御に関する情報、ハードディスク群２に格納するデータの管理情報）を格納する制御メモリ部１５とを備え、チャネルＩＦ部１１及びディスクＩＦ部１６とキャッシュメモリ部１４との間は相互結合網４１で接続され、チャネルＩＦ部１１及びディスクＩＦ部１６と制御メモリ部１５との間は相互結合網４２で接続されていた。また、相互結合網４１や相互結合網４２は共通バスやスイッチで構成されていた。
【０００４】
このようにして、１つのストレージシステム８内において、キャッシュメモリ部１４及び制御メモリ部１５は全てのチャネルＩＦ部１１及びディスクＩＦ部１６からアクセス可能な構成となっていた。
【０００５】
チャネルＩＦ部１１は、サーバ３と接続するためのインターフェース（ホストＩＦ）１０４、サーバ３に対する入出力を制御するマイクロプロセッサ１０３、キャッシュメモリ部１４へのアクセスを制御するメモリアクセス部１０６、及び制御メモリ部１５へのアクセスを制御するメモリアクセス部１０７を有している。また、ディスクＩＦ部１６は、ハードディスク群２と接続するためのインターフェース（ディスクＩＦ１０５）及びハードディスク群２に対する入出力を制御するマイクロプロセッサ１０３、キャッシュメモリ部１４へのアクセスを制御するメモリアクセス部１０６、及び制御メモリ部１５へのアクセスを制御するメモリアクセス部１０７を有している。また、ディスクＩＦ部１６は、ＲＡＩＤの制御も行う。
【０００６】
上記ストレージシステムでは、サーバ３との間のデータ転送を制御するチャネルＩＦ部１１とハードディスク群２とのデータ転送を制御するディスクＩＦ部１６を分離し、キャッシュメモリ部１４、制御メモリ部１５を介して、チャネルＩＦ部１１とディスクＩＦ部１６の間のデータ転送を制御するため、チャネルＩＦ部１１とディスクＩＦ部１６の数を柔軟に変えることが可能であった。そのため、小規模〜大規模な構成をとることが可能となっていた。
【０００７】
また、特許文献２に開示されている従来技術では、複数のディスクアレイ装置をディスクアレイスイッチを介して複数のサーバに接続し、ディスクアレイスイッチ及び各ディスクアレイ装置に接続されたシステム構成管理手段で、複数のディスクアレイ装置を１つのストレージシステムとして管理していた。
【特許文献１】特開２０００−９９２８１号公報
【特許文献２】特開２０００−２４２４３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
銀行、証券、電話会社等に代表される大企業では、従来各所に分散していたコンピュータ及びストレージシステムを、データセンターの中に集中化したコンピュータシステム及びストレージシステム構成とすることにより、コンピュータシステム及びストレージシステムの運用、保守、管理に要する費用を削減する傾向にある。
【０００９】
一方、ＩＴバブル崩壊等の影響により経済が低迷する中、企業はＩＴシステムへの初期投資を抑えるとともに、ビジネス規模の拡張に応じてシステム拡張を行う傾向にある。このため、初期投資を抑え、事業規模に合わせてリーズナブルな投資で規模を拡張可能なコスト及び性能のスケーラビリティが、ストレージシステムに要求されている。
【００１０】
図３６に示す従来技術では、全てのチャネルＩＦ部１１と全てのディスクＩＦ部１６が、キャッシュメモリ部１４及び制御メモリ部１５を介して、チャネルＩＦ部１１とディスクＩＦ部１６の間のデータ転送を制御することにより、サーバ３からハードディスク群２へのデータのリード／ライトを実行する。そのため、全てのチャネルＩＦ部１１と全てのディスクＩＦ部１６からのアクセス負荷がキャッシュメモリ部１４及び制御メモリ部１５に集中する。
【００１１】
ストレージシステムに要求される性能（単位時間当たりのデータの入出力回数や単位時間当たりのデータの転送量）は年々増加している。将来的にそれに対応するため、チャネルＩＦ部１１及びディスクＩＦ部１６のデータ転送処理性能も向上させる必要がある。
【００１２】
上記のように、従来技術では全てのチャネルＩＦ部１１と全てのディスクＩＦ部１６が、キャッシュメモリ部１４及び制御メモリ部１５を介して、チャネルＩＦ部１１とディスクＩＦ部１６の間のデータ転送を制御するため、チャネルＩＦ部１１及びディスクＩＦ部１６のデータ転送処理性能が向上すると、キャッシュメモリ部１４や制御メモリ部へのアクセス負荷が増大し、これがネックとなり、ストレージシステム８の性能を向上することが将来的に難しくなるという問題があった。
【００１３】
一方、キャッシュメモリ部１４や制御メモリ部を大規模化して許容可能なアクセス性能を向上させることは可能である。しかしながら、全てのチャネルＩＦ部１１及びディスクＩＦ部１６からキャッシュメモリ部１４や制御メモリ部１５をアクセス可能とするためにキャッシュメモリ部１４や制御メモリ部１５をそれぞれ１つの共有メモリ空間として管理する必要があるため、キャッシュメモリ部１４や制御メモリ部１５を大規模化すると、小規模構成においてストレージシステムの低コスト化をすることが難しく、小規模構成のシステムを低価格で提供することが難しくなるという問題があった。
【００１４】
また、前記特許文献２に記載された従来技術では、ディスクアレイスイッチのポート数を増やすことや複数のディスクアレイスイッチを多段に接続することで、接続可能なディスクアレイ装置及びサーバの数を増やすことができ、小規模〜大規模な構成にスケーラブルに対応可能なストレージシステムを提供できた。しかしながら、サーバはディスクアレイスイッチを介してディスクアレイ装置にアクセスするため、ディスクアレイスイッチ内のサーバとのインターフェース部において、サーバとディスクアレイスイッチとの間のプロトコルをディスクアレイスイッチ内のプロトコルに変換し、さらにディスクアレイスイッチ５内のディスクアレイ装置とのインターフェース部において、ディスクアレイスイッチ内のプロトコルをディスクアレイスイッチとディスクアレイ装置との間のプロトコルに変換する処理が発生し、ディスクアレイスイッチを介さずに直接ディスクアレイ装置にアクセス可能な場合に比べ、特に応答性能が劣るという問題があった。
【００１５】
本発明の目的は、小規模〜大規模な構成までシステム規模に見合った価格／性能のストレージシステムを提供することにある。
【００１６】
より具体的には、本発明の目的は、ストレージシステムの共有メモリネックを解消するとともに、小規模な構成の低コスト化を図り、従来のディスクアレイ装置と同等以上の応答性能で、小規模〜大規模構成までコストとスループット性能のスケーラビリティを実現可能であり、かつ、コストを低減可能なストレージシステムを提供することにある。
【課題を解決するための手段】
【００１７】
本発明は、外部装置又はディスク装置とのインターフェースを有し、外部装置又ディスク装置との間で取り交わすデータのリード／ライトプロトコルをシステム内部のプロトコルに変換するプロトコル変換部と、ディスク装置に対しリード／ライトされるデータを格納するキャッシュメモリを有し、かつ、該キャッシュメモリを制御する複数のキャッシュ制御部と、ストレージシステムの管理情報を記憶する管理情報記憶部と、を有し、プロトコル変換部及び複数のキャッシュ制御部の間は相互結合網で互いに接続されており、複数のキャッシュ制御部は、１つの制御クラスタが少なくとも２以上のキャッシュ制御部を含む、複数の制御クラスタに分けられており、キャッシュメモリの制御は制御クラスタ毎に独立しており、複数のキャッシュ制御部のいずれか一つが、管理情報記憶部に記憶された管理情報に基づいて、複数のプロトコル変換部と複数の制御クラスタを１つのシステムとして管理する。
【発明の効果】
【００１８】
本発明によれば、ストレージシステムの共有メモリネックを解消するとともに、小規模な構成の低コスト化を図り、小規模〜大規模構成までコストと性能のスケーラビリティを実現可能なストレージシステムを提供することが可能となる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施例を図面を用いて説明する。
【実施例１】
【００２０】
図１は、本発明の第１の実施例のストレージシステムの構成を示すブロック図である。
【００２１】
ストレージシステム１は、プロトコル変換部１０、キャッシュ制御部２１、システム管理部６０、及び、ハードディスク群２、を有し、サーバ３と接続されている。
【００２２】
プロトコル変換部１０は、サーバ３又はハードディスク群２とのインターフェース部である。キャッシュ制御部２１は、サーバ３又はハードディスク群２のデータのキャッシュを保持し、また、ハードディスク群２に関する制御情報を格納する。プロトコル変換部１０は、サーバ３又はハードディスク群２が送信又は受信する制御データのプロトコルを適切に変換する。相互結合網３１は、プロトコル変換部１０、キャッシュ制御部２１及びシステム管理部６０を各々接続するネットワークである。また、システム管理部６０は、ストレージシステム１の構成に関する情報等を管理する。
【００２３】
図２は、相互結合網３１の具体的な構成の一例を示すブロック図である。
【００２４】
相互結合網３１は、２つのスイッチ部５１を有する。この２つのスイッチ部５１には、それぞれ、プロトコル変換部１０、キャッシュ制御部２１、及びシステム管理部６０から、１本ずつパスが接続されている。２つのスイッチ部５１のそれぞれにパスが接続されることで、プロトコル変換部１０、キャッシュ制御部２１、及びシステム管理部６０の間で２つのパスを確保し、信頼性を向上することができる。また、システム管理部６０は、２つのスイッチ部５１に接続されることで、パスを二重化している。これにより、システム全体の信頼性を向上することができる。なお、パスの個数は一実施例に過ぎず、パスの個数を限定するものではない。
【００２５】
なお、図２に示す相互結合網３１は、スイッチを利用したものを例に示したが、相互に接続され制御情報やデータを転送するものであればよい。例えば、相互結合網３１をバスで構成してもよい。
【００２６】
図３は、スイッチ部５１の具体的な構成の一例を示すブロック図である。
【００２７】
スイッチ部５１は、少なくとも４つのパスＩＦ１３０、ヘッダ解析部１３１、アービタ１３２、クロスバスイッチ１３３、４つのパスインターフェース（ＩＦ）１３５、及び、２つのパスＩＦ１３６と、を有する。各々のパスＩＦ（パスＩＦ１３０、パスＩＦ１３５、パスＩＦ１３６）には、それぞれバッファ１３４が接続されており、バッファ１３４を介してクロスバスイッチ１３３に接続されている。
【００２８】
パスＩＦ１３０は、プロトコル変換部１０との接続パスを接続するインターフェースであり、４つのプロトコル変換部１０から１本ずつパスが接続されている。パスＩＦ１３５は、キャッシュ制御部２１との接続パスを接続するインターフェースであり、４つのキャッシュ制御部２１へのパスが１本ずつ接続されている。パスＩＦ１３６は、システム管理部６０との接続パスを接続するインターフェースであり、２つのシステム管理部６０から１本ずつパスが接続されている。バッファ１３４は、プロトコル変換部１０、キャッシュ制御部２１、システム管理部６０の間で転送されるパケットをバッファリングする。
【００２９】
アービタ１３２は、各パスＩＦから送られた信号の調停を行い、クロスバスイッチ１３３を制御する。ヘッダ解析部１３１は、各パスＩＦから送られた信号のヘッダを取得し、信号の宛先であるパスＩＦを解析する。
【００３０】
図４は、プロトコル変換部１０、キャッシュ制御部２１、又は、システム管理部６０の間で転送されるパケットのフォーマットの一例を示す説明図である。
【００３１】
パケット２００は、ヘッダ２１０、ペイロード２２０、及び、エラーチェックコード２３０、を有する。ヘッダ２１０は、少なくともパケットの送信元と送信先を示す情報が格納されている。ペイロード２２０は、コマンド、アドレス、データ、及び、ステータスが格納されている。エラーチェックコード２３０は、パケット転送時のパケット内のエラー検出のためのコードである。
【００３２】
各パスＩＦ１３０、１３５、１３６は、パケットが入力されると、パケットのヘッダ２１０をヘッダ解析部１３１に送る。ヘッダ解析部１３１は、受け取ったヘッダに含まれるパケットの送信先から、各パスＩＦ間の接続要求を割り出し、その接続要求をアービタ１３２へ送る。アービタ１３２は、各パスＩＦからの接続要求を元にアービトレーションを行う。そして、アービトレーションの結果に基づいて、クロスバスイッチ１３３に対して接続切換えを示す信号を出力する。クロスバスイッチ１３３は、受け取った信号に基づいて、クロスバスイッチ１３３内の接続を切り換える。こうすることで、各パスＩＦが受け取った信号の宛先のパスＩＦに送信することができる。
【００３３】
なお、本実施例では、各パスＩＦにバッファを持つ構成としたが、スイッチ部５１内に１つの大きなバッファを持ち、その中から各パスＩＦにパケット格納領域を割り当てるという構成にしてもよい。また、ヘッダ解析部１３１に、スイッチ部５１内の障害情報を格納してもよい。
【００３４】
図５は、プロトコル変換部１０の構成の一例を示すブロック図である。
【００３５】
プロトコル変換部１０は、少なくとも、４つの外部インターフェース（ＩＦ）１００、転送制御部１０５、及び、２つのマイクロプロセッサを有する。
【００３６】
外部ＩＦ１００は、サーバ３又はハードディスク群２とのインターフェースである。転送制御部１０５は、キャッシュ制御部２１又はシステム管理部６０との間のデータ／制御情報の転送を制御する。マイクロプロセッサ１０２は、外部ＩＦ１００と転送制御部１０５を制御することにより、サーバ３又はハードディスク群２と外部ＩＦ１００と間のデータのリード／ライトプロトコルと、キャッシュ制御部２１又はシステム管理部６０と転送制御部１０５との間のデータ転送プロトコルと、を相互に変換する。このマイクロプロセッサは主記憶として自身に接続されたメモリ（図示していない）を有する。
【００３７】
なお、外部ＩＦ１００、マイクロプロセッサ１０２等の個数は一実施例に過ぎず、個数を限定するものではない。また、以降、全ての説明において、個数は例示であり、本発明を限定するものではない。
【００３８】
マイクロプロセッサ１０２は、共有バス１０８によって外部ＩＦ１００及び転送制御部１０５に接続される。また、外部ＩＦ１００は転送制御部１０５に直結されている。マイクロプロセッサ１０２は、サーバ３又はハードディスク群２並びに外部ＩＦ１００間のデータのリード／ライトプロトコルと、キャッシュ制御部２１又はシステム管理部６０並びに転送制御部１０５の間のデータ転送プロトコルと、を相互に変換する。プロトコル変換部１０は、マイクロプロセッサ１０２の制御によって、サーバ３からのリード／ライト要求を目的のキャッシュ制御部２１又は他のプロトコル変換部１０に転送する。また、プロトコル変換部１０は、マイクロプロセッサ１０２の制御によって、キャッシュ制御部２１又は他のプロトコル変換部１０からのリード／ライト要求をハードディスク群２に転送する処理を実行する。
【００３９】
なお、図５のマイクロプロセッサ１０２、外部ＩＦ１００、及び転送制御部１０５の間の接続構成は一実施例に過ぎず、構成を限定するものではない。マイクロプロセッサ１０２が外部ＩＦ１００及び転送制御部１０５を制御可能であり、外部ＩＦ１００から転送制御部１０５へデータを転送可能な構成であれば問題ない。
【００４０】
図６は、キャッシュ制御部２１の具体的な構成の一例を示すブロック図である。
【００４１】
キャッシュ制御部２１は、少なくとも、４つのマイクロプロセッサ１０１と、転送制御部１０５と、キャッシュメモリ部１１１と、制御メモリ部１１２を有する。
【００４２】
キャッシュメモリ部１１１は、サーバ３又はハードディスク群２との間でやり取りするデータを一時格納する。制御メモリ部１１２は、データ転送、キャッシュメモリ部１１１の管理、及びハードディスク群２の管理に関する制御情報を格納する。
【００４３】
キャッシュメモリ部１１１及び制御メモリ部１１２は、いずれも内蔵されるメモリモジュール１２２へのアクセスを制御するメモリコントローラ１２１を有する。なお、キャッシュメモリ部１１１及び制御メモリ部１１２を、同一のメモリコントローラ１２１及び同一のメモリモジュール１２２によって構成し、１つのメモリ空間上の異なる領域にキャッシュメモリ領域と制御メモリ領域とを割り当ててもよい。また、マイクロプロセッサ１０１は、主記憶として自身に接続されたメモリ（図示していない）を有する。なお、４つのマイクロプロセッサ１０１が、それぞれキャッシュメモリ部１１１及び制御メモリ部１１２を自身の主記憶として共有するＳＭＰ構成であってもよい。
【００４４】
マイクロプロセッサ１０１、キャッシュメモリ部１１１、制御メモリ部１１２、及び、転送制御部１０５は、スイッチ１０９を介して接続されている。マイクロプロセッサ１０１は、制御メモリ部１１２内に格納されている制御情報を参照し、キャッシュメモリ部１１１へのデータのリード／ライト、キャッシュメモリのディレクトリ管理、プロトコル変換部１０との間のデータ転送、システム管理部６０との間のシステム管理情報、等のやり取りを制御する。また、転送制御部１０５は、プロトコル変換部１０に接続されたハードディスク群２に書き込むデータの冗長化処理、いわゆるＲＡＩＤ処理を実行する。なお、このＲＡＩＤ処理は、プロトコル変換部１０において実行してもよい。
【００４５】
なお、図６に示すマイクロプロセッサ１０１、キャッシュメモリ部１１１、制御メモリ部１１２、及び転送制御部１０５の間の接続構成は一実施例に過ぎず、構成を限定するものではない。マイクロプロセッサ１０１がキャッシュメモリ部１１１、制御メモリ部１１２、及び転送制御部１０５を制御可能である構成であればよい。
【００４６】
図７は、システム管理部６０の具体的な構成の一例を示すブロック図である。
【００４７】
システム管理部６０は、少なくとも１つのマイクロプロセッサ１０１、転送制御部１０５、メモリコントローラ１２１、メモリモジュール１２２、及び、ＬＡＮコントローラ１２３、を有する。マイクロプロセッサ１０１は、メモリモジュール１２２を自身の主記憶とする。なお、マイクロプロセッサ１０１は、主記憶として、自身に接続されたメモリをメモリモジュール１２２とは別個に持ってもよい。
【００４８】
マイクロプロセッサ１０１は、メモリコントローラ１２１を介して、メモリモジュール１２２、転送制御部１０５、及び、ＬＡＮコントローラ１２３に接続されている。マイクロプロセッサ１０１は、プロトコル変換部１０及びキャッシュ制御部２１から収集した管理情報、相互結合網３１の管理情報、及び、ＬＡＮコントローラ１２３に接続された管理コンソールからユーザが設定した情報、等によって、ストレージシステム１全体の管理情報をまとめ、その管理情報をメモリモジュール１２２に格納する。また、その管理情報を使用してストレージシステム１の管理を行う。この管理情報は、メモリコントローラ１２１に繋がる不揮発性メモリ（図示していない）、又は、ハードディスク群２に保存することによって、システムの障害等で制御情報を失うことがなくなるので、ストレージシステム１の信頼性を高めることが可能となる。
【００４９】
なお、マイクロプロセッサ１０１、メモリコントローラ１２１、メモリモジュール１２２、ＬＡＮコントローラ１２３、及び、転送制御部１０５の間の接続構成は一実施例に過ぎず、構成を限定するものではない。マイクロプロセッサ１０１がメモリコントローラ１２１、メモリモジュール１２２、ＬＡＮコントローラ１２３、及び転送制御部１０５を制御可能である構成であればよい。また、システム管理部６０は、ユーザ（管理者）への情報の出力またはユーザからの情報の入力を行う管理コンソールが備えられる。
【００５０】
図１に示すように、本実施例では、２つのキャッシュ制御部２１を１つの制御クラスタ７０としてまとめ、この制御クラスタ７０内でキャッシュメモリ部１１１の管理を閉じる。すなわち、ある制御クラスタ７０内のキャッシュ制御部２１にあるマイクロプロセッサ１０１は、自制御クラスタ７０内のキャッシュメモリ部１１１及び制御メモリ部１１２のみを管理し、他制御クラスタ７０内のキャッシュメモリ部１１１、制御メモリ部１１２は管理しない。
【００５１】
ここで、制御クラスタ７０の２つのキャッシュ制御部２１内のキャッシュメモリ部１１１及び制御メモリ部１１２を二重化してもよい。こうすることにより、１つのキャッシュ制御部２１に障害が発生した場合、メモリの二重化をしたもう一方のキャッシュ制御部２１によって動作を継続することが可能となり、ストレージシステム１の信頼性を向上することが可能となる。
【００５２】
制御クラスタ７０内の２つのキャッシュメモリ部１１１に同一のデータを多重に格納する必要が生じた場合、該データをキャッシュ制御部２１へ転送するプロトコル変換部１０が、システム管理部６０内のメモリのあらかじめ定められた領域に、どのデータをどの制御クラスタ７０のキャッシュメモリ部１１１に多重に格納したかを示す制御情報を記録する。それと同時に、プロトコル変換部１０は、多重に格納されたデータであることを示す制御情報を該データと共にキャッシュ制御部２１に送る。キャッシュ制御部２１は、自キャッシュメモリ部１１１内の多重に格納されたデータへの更新又は削除が発生した場合、そのことを示す制御情報をシステム管理部６０へ送る。システム管理部６０は、それを受けて、メモリ内に記録されている、どのデータをどの制御クラスタ７０のキャッシュメモリ部１１１に多重に格納したかを示す制御情報を元に、多重に格納された該当データの更新又は削除の処理を実行する。
【００５３】
このように、キャッシュ制御部２１内のマイクロプロセッサ１０１が制御するキャッシュメモリ部１１１の範囲を、制御クラスタ７０内に限定することによって、キャッシュメモリ部１１１及び制御メモリ部１１２へのアクセス負荷を減らすことが可能となる。その結果、ストレージシステム１の性能を向上することが可能となる。
【００５４】
ここで、第１の実施例の変形例として、図８に示すようなストレージシステムについて説明する。図８では、プロトコル変換部１０を、サーバ３に接続するプロトコル変換部１０とハードディスク群２に接続するプロトコル変換部１０との２つにグループ分けしている。そして、２つのキャッシュ制御部２１とハードディスク群に接続する２つのプロトコル変換部１０を１つの制御クラスタ７１としてまとめる。自制御クラスタ７１のキャッシュ制御部２１内のキャッシュメモリ部１１１には、自制御クラスタ内のプロトコル変換部１０に繋がるハードディスク群２に記録するデータ、又は、記録されたデータのみを格納する。また、制御クラスタ７１は、自制御クラスタ７１内でキャッシュメモリ部１１１の管理を閉じさせる。すなわち、ある制御クラスタ７１内のキャッシュ制御部２１内のマイクロプロセッサ１０１は、自制御クラスタ７１内のキャッシュメモリ部１１１のみを管理し、他制御クラスタ７１内のキャッシュメモリ部１１１は管理しない。
【００５５】
なお、図８では、サーバ３に接続するプロトコル変換部１０が繋がる相互結合網３１と、ハードディスク群２に接続されるプロトコル変換部１０が繋がる相互結合網３１と、が分離して示されているが、これらは物理的には同一の相互結合網３１に繋がるものである。
【００５６】
また、前述したように、２つのキャッシュ制御部２１の間でキャッシュメモリ部１１１及び制御メモリ部１１２の内容を二重化してもよい。こうすることにより、１つのキャッシュ制御部２１に障害が発生した場合に、メモリの二重化をしたもう一方のキャッシュ制御部２１で、動作を継続することが可能となるので、ストレージシステム１の信頼性を向上することが可能となる。
【００５７】
このように、図８に示す第１の実施例の変形例では、キャッシュ制御部２１内のマイクロプロセッサ１０１が制御するキャッシュメモリ部１１１の範囲を制御クラスタ７１内に限定することにより、キャッシュメモリ部１１１及び制御メモリ部１１２へのアクセス負荷を減らすことが可能となり、その結果、ストレージシステム１の性能を向上することが可能となる。
【００５８】
また、前述のように、制御クラスタ７１内でハードディスク群２に関するキャッシュメモリ部１１１を閉じた管理とすることで、複数の制御クラスタ７１のキャッシュメモリ部１１１に渡って、多重にデータが格納されることがなくなる。そのため、図１の構成で必要であったシステム管理部６０における複数の制御クラスタ７０のキャッシュメモリ部１１１に多重に格納したデータの一致制御が不要となり、システムの管理が簡単化され、図１の構成に比べさらにストレージシステム１の性能を向上することが可能となる。
【００５９】
次に、第１の実施例の他の変形例として、図９に示すようなストレージシステムについて説明する。図９に示すように、制御クラスタ７０内の２つのキャッシュ制御部２１間が、２本のパスで接続されている。
【００６０】
図１０に、第１の実施例の他の変形例の、キャッシュ制御部２１の詳細な構成の一例を示す。
【００６１】
図１０に示すように、キャッシュ制御部２１は、内部ＩＦ１２６がスイッチ１０９に繋がる点を除いては、図６に示すキャッシュ制御部２１の構成と同様である。図９に示すように、スイッチ１０９には２つの内部ＩＦ１２６が接続される。制御クラスタ構成をとる２つのキャッシュ制御部２１間に内部ＩＦ１２６同士で繋ぐ接続パスを使用し、接続パスによってデータ及び制御情報の通信が行われる。２つのキャッシュ制御部２１の内部ＩＦ１２６間を接続パスで相互に繋ぐことによって、接続パスを通してデータ及び制御情報の通信を行う。例えば、この接続パスを介して、２つのキャッシュ制御部２１のキャッシュメモリ部１１１又は制御メモリ部１１２に格納される情報の２重化を行う。
【００６２】
このように、図９に示す第１の実例の他の実施例では、制御クラスタを２重化することによって、制御クラスタ７０を構成する２つのキャッシュ制御部２１の一方に障害が発生した場合、もう一方でストレージシステムの稼動を続けることが可能となるため、信頼性が向上する。
【００６３】
次に、本実施例のストレージシステム１全体の管理構成の一例を、図１１のブロック図を用いて説明する。
【００６４】
なお、ここでは前述した図８に示す構成のストレージシステム１における管理構成の一例を示す。
【００６５】
システム管理部６０では、ストレージシステム１全体の管理を３つのレイヤ、すなわち、ネットワーク、論理パス、及び、ストレージの３つのレイヤに分けて管理を行い、管理の簡単化を図る。具体的には、システム管理部６０は、ソフトウエアプログラムとして、ネットワーク管理部５０３、論理パス管理部５０２、及び、ストレージ管理部５０１を有する。
【００６６】
なお、図１１に示される各部は、実際にはソフトウエアプログラムであり、システム管理部６０のマイクロプロセッサ１０１で実行される。これらのプログラムはネットワークや可搬の記憶媒体を介してシステム管理部６０のメモリモジュール１２２に格納される。また、以降の説明では、図１１で示される各部が主語になる場合には、実際にはその処理はシステム管理部６０のマイクロプロセッサ１０１で実行される。さらに、各部に含まれる処理もプログラムである。なお、各部は専用のハードウェアで実行されてもよい。
【００６７】
また、ネットワークとは相互結合網３１のことを示す。ネットワーク管理部５０３は、少なくとも、ネットワークの制御５４１及びネットワークの障害処理５４２を行う。
【００６８】
例えば、相互結合網をスイッチ部５１（図２参照）によって構成した場合、ネットワーク管理部５０３は、プロトコル変換部１０、スイッチ部５１、キャッシュ制御部２１、及び、システム管理部６０、の物理的なリンクの設定、リンクの張り替え、物理的な障害の検出／処理を行う。
【００６９】
論理パス管理部５０２は、少なくとも、論理パスの割当て５３１及び論理パスの閉塞／切替え処理５３２を行う。論理パスとは、プロトコル変換部１０、キャッシュ制御部２１、及び、システム管理部６０、のそれぞれの間で設定される論理的なパスのことを示す。
【００７０】
例えば、相互結合網３１をスイッチ部５１（図２参照）によって構成した場合、論理パス管理部５０２は、１つのプロトコル変換部１０から１つのスイッチ部５１を経由して１つのキャッシュ制御部２１へ至るパスを、１つの論理パスとする。したがって、１つのプロトコル変換部１０と１つのキャッシュ制御部２１との間には、２つの論理パスが設定される。同様に、プロトコル変換部１０とシステム管理部６０との間、システム管理部６０とキャッシュ制御部２１との間、システム管理部６０とプロトコル変換部１０との間、システム管理部６０とキャッシュ制御部２１との間、システム管理部６０とシステム管理部６０との間、にも２つの論理パスが設定される。論理パス管理部５０２では、システムの立ち上げ時における前述の論理パスの設定、各部間にある２つの論理パスの内の１つに障害が起こった場合の閉塞、もう一方の論理パスへの切替え処理等を行う。
【００７１】
ストレージ管理部５０１は、少なくとも、ボリューム統合管理５２１、サーバ−ＬＵ（論理ユニット）割当て５２２、及び、システム障害処理５２３の処理を行う。ボリューム管理５２１では、各制御クラスタ７１内それぞれで管理される論理ボリュームを統合して管理する。そして、サーバ−ＬＵ割当て５２２において、統合した論理ボリュームの中からＬＵを切り出し、各サーバ３に割り当てる。これらボリューム管理５２１及びサーバ−ＬＵ割当て５２２によって、それぞれが独立した制御を行う複数の制御クラスタ７１の集まりを、サーバ３に対して１つのストレージシステム１として見せることが可能となる。
【００７２】
なお、変形例として、プロトコル変換部１０は、サーバ３を繋ぐプロトコル変換部１０の他に、ストレージシステム４を接続するような構成とすることも可能である。（図１２参照）
この場合、ボリューム統合管理５２１において、他のストレージシステムが提供するＬＵも含めて管理し、それらをサーバ−ＬＵ割当て５２２においてサーバ３に割当てる。こうすることによって、サーバ３からストレージシステム１を介して、他のストレージシステム４のボリュームにアクセスすることが可能となる。
【００７３】
また、ストレージ管理部５０１において、どのプロトコル変換部１０にどのサーバが接続されているかを示すテーブルを管理することにより、ストレージシステム１に繋がる複数のサーバ３間での通信及びデータ転送が可能となる。
【００７４】
プロトコル変換部１０に繋がるサーバ３とストレージシステム４との間でデータ転送を行う際は、ストレージ管理部５０１は、プロトコル変換部１０間で相互結合網３１を介してデータ転送を行う。このとき、該データをシステム管理部６０内のメモリにキャッシュしてもよい。また、該データをキャッシュ制御部２１内のキャッシュメモリ部１１１にキャッシュしてもよい。これにより、サーバ３及びストレージシステム４間のデータ転送性能が向上する。
【００７５】
また、図１２に示した変形例のさらに別の変形例として、図１３に示すように、ＳＡＮスイッチ６５を介して、ストレージシステム１と、サーバ３及び他のストレージシステム４と、の間を接続するように構成することもできる。さらに、プロトコル変換部１０内の外部ＩＦ１００に、ＳＡＮスイッチ６５を介してサーバ３及び他のストレージシステム４へアクセスするようにする。こうすることによって、ストレージシステム１に接続されたサーバ３から、ＳＡＮスイッチ６５及び複数のＳＡＮスイッチ６５からなるネットワークに接続されたサーバ３や他のストレージシステム４へのアクセスが可能となる。
【００７６】
図１１に戻り、システム障害処理５２３では、プロトコル変換部１０及びキャッシュ制御部２１からそれぞれの障害情報を収集する。そして、論理パス管理部５０２から論理パスの障害情報を収集し、これらの情報からストレージシステム１内の閉塞／交換する部位を判断する。そして、閉塞処理の実施を命ずる制御情報を該当する部位（プロトコル変換部１０、キャッシュ制御部２１、又は、スイッチ部５１）に送る。該制御情報を受けた該当部位は閉塞処理を行う。閉塞処理が完了した後、ユーザに障害部位の交換を促すメッセージを報知（例えば、管理コンソールに表示）する。ユーザはこのメッセージに従い、障害部位の交換を行う。そして、管理コンソールから障害部位の交換完了を示すメッセージを入力する。システム障害処理５２３は、このメッセージを受け取ると、閉塞解除を命ずる制御情報を該当する部位に送る。該制御情報を受けた該当部位は閉塞解除処理を行う。閉塞解除処理完了後、システムを通常動作に戻す。
【００７７】
以上のように、システム管理部６０は、システム管理部６０内で、ネットワーク、論理パス、ストレージの３つのレイヤに分けてストレージシステム１全体を管理する。
【００７８】
なお、ネットワーク管理部５０３と論理パス管理部５０２を１つの管理部として、システムの制御を行ってもよい。
【００７９】
本実施例では、図３６に示す従来技術において、チャネルＩＦ部１１において行っていた、サーバ３とのコマンド／データ送受信、コマンドの解析、サーバ３からの要求の振り分け処理、及び、ディスクＩＦ部１６において行っていたハードディスク群２とのコマンド／データ送受信、コマンドの解析、ハードディスク群２への要求の振り分け処理を、プロトコル変換部１０の処理としてチャネルＩ／Ｆ部１１から分離する。さらに、それ以外のチャネルＩＦ部１１及びディスクＩＦ部１６の処理は、まとめて、キャッシュ制御部２１での処理とする。
【００８０】
したがって、キャッシュ制御部２１は、少なくとも、キャッシュ制御５６１、データ転送制御５６２、及び、制御クラスタ内ボリューム管理５６３を行う。キャッシュ制御５６１は、キャッシュメモリ部１１１へのデータのリード／ライト制御、制御メモリ部１１２に格納したキャッシュメモリ部１１２内のディレクトリの管理、キャッシュメモリ部１１１内に要求データが存在するかどうかを調べるヒット・ミス判定処理を行う。データ転送制御５６２は、プロトコル変換部１０とキャッシュメモリ部１１１間のデータ転送の制御を行う。制御クラスタ内ボリューム管理５６３では、ハードディスク群２の物理的なボリュームから制御クラスタ内の論理的なボリュームを構成し、それを示すテーブルを管理する。
【００８１】
また、プロトコル変換部１０は、サーバ３を接続するプロトコル変換部１０のグループであるサーバ接続部５０２と、ハードディスク群２を接続するプロトコル変換部１０のグループであるデバイス接続部５０６と、に分けられる。
【００８２】
サーバ接続部５０４に属するプロトコル変換部１０は、少なくとも、コマンド処理５５１及び要求振分け５５２を行う。コマンド処理５５１は、サーバ３との間でコマンドの送受信を行い、サーバ３からのコマンドの解析、サーバ３へのコマンドの発行を行う。要求振分け５５２は、サーバ３からのデータのリード／ライトのコマンド及びデータを内部プロトコルに変換し、該当するキャッシュ制御部２１、又は、プロトコル変換部１０へ転送する。また、また要求振分け部５７２は、キャッシュ制御部２１又はプロトコル変換部１０からサーバ３へのコマンド及びデータを、内部プロトコルからサーバ３とプロトコル変換部１０の間のプロトコルに変換し、サーバ３へ送信する。
【００８３】
デバイス接続部５０６に属するプロトコル変換部１０は、少なくとも、コマンド処理５７１、要求振分け５７２、デバイス制御、デバイス障害処理を行う。
【００８４】
コマンド処理５７１は、デバイスとの間でコマンドの送受信を行い、デバイスへのコマンドの発行、デバイスからのリプライの解析を行う。要求振分け５７２は、デバイスへのデータのリード／ライトのコマンド及びデータを内部プロトコルから、デバイスとプロトコル変換の間のプロトコルに変換し、該当するデバイスへ転送する。また、デバイスからのリプライやデータを該当するキャッシュ制御部２１、又はプロトコル変換部１０へ転送する。デバイス制御５７３は、デバイスへのリード／ライトの制御を行う。デバイス障害処理５７４は、デバイスに障害が起こった場合、デバイスの閉塞／交換処理を行う。
【００８５】
以上のように、図３６に示す従来技術では、チャネルＩＦ部１１とディスクＩＦ部１６で分けて行っていた処理を、キャッシュ制御部２１においてまとめて行うことによって、データ転送のためにチャネルＩＦ部１１とディスクＩＦ部１６の間で制御メモリ部１５を介して行う通信処理がなくなるため、ストレージシステム１の性能を向上することが可能となる。
【００８６】
なお、本実施例では、デバイスとはハードディスク群２のことを指すが、ブロックデータを記録するデバイスであれば良く、例えば光ディスクでもよい。
【００８７】
以上、図８に示す構成のストレージシステム１における管理構成を説明したが、図１に示す構成の場合、システム管理部６０に複数の制御クラスタのキャッシュメモリ部に多重に格納されたデータの一致制御を行う処理が追加されることにより、同様の管理が可能となる。
【００８８】
次に、図１４乃至図１７を用いて、物理ボリュームと論理ボリュームの関係、論理ボリュームと論理ユニットの関係、論理ユニットのサーバへの割当て関係の例を説明する。なお、以降、論理ボリュームのことを仮想ボリュームと呼ぶ。
【００８９】
図１４は、物理デバイス管理テーブル６５１を示す説明図である。物理デバイス（本実施例ではハードディスク群２）と、複数の物理デバイスをまとめて１つのボリュームとした仮想ボリュームの関係を示している。
【００９０】
物理デバイス番号（ＰＤＥＶ＃）６３０は、それぞれ１つのハードディスクに対応する識別番号である。仮装ボリューム１番号６３１は、４つの物理デバイスから構成された１つの仮想ボリューム１それぞれに割り振られた制御クラスタ７１内で一意に決まる番号である。ＲＡＩＤクラス６０５は、仮想ボリューム１のＲＡＩＤ構成を示す情報である。ボリューム容量６０１は、仮想ボリューム１の容量を示す情報である。接続アダプタ番号６１０は、制御クラスタ内７１の仮想ボリューム１に対し、そのボリュームをどのプロトコル変換部（以下プロトコル変換アダプタ（ＰＡ）とも呼ぶ）１０が管理するかを示す情報である。仮想ボリューム２番号６３２は、複数の制御クラスタ７１の全ての仮想ボリューム１を統合管理するために割り振られた、システム管理部６０がストレージシステム１全体で一意に決まる番号である。
【００９１】
この物理デバイス管理テーブル６５１の仮想ボリューム２番号６３２以外の部分は、システム初期化時にキャッシュ制御部２１内で各制御クラスタ７１ごとに作成し、それをシステム管理部６０に登録する。システム管理部６０は、全ての制御クラスタ７１からのテーブルをもとに、仮想ボリューム２番号６３２を割り振ったテーブル（物理デバイス管理テーブル６５１）を作成する。そして、そのテーブルの中の各制御クラスタ７１に関係する部分のコピーを、該当する制御クラスタ７１のキャッシュ制御部２１に転送する。各キャッシュ制御部２１は、それを制御メモリ部１１２に格納する。
【００９２】
ハードディスク群２の構成に変更が生じた場合には、そのハードディスク群２を管理するキャッシュ制御部２１は、物理デバイス管理テーブル６５１の仮想ボリューム２番号以外の部分を変更し、それをシステム管理部６０に登録する。システム管理部６０は、登録された情報を元に物理デバイス管理テーブル６５１を変更し、そのテーブルの中の各制御クラスタ７１に関係する部分のコピーを、該当する制御クラスタ７１のキャッシュ制御部２１へ転送する。各キャッシュ制御部２１はそれを制御メモリ部１１２に格納する。
【００９３】
なお、物理デバイス管理テーブル６５１の作成に必要な情報を全てキャッシュ制御部２１からシステム管理部６０へ転送し、それをもとに物理デバイス管理テーブル６５１の全てをシステム管理部６０で作成してもよい。
【００９４】
図１５は、仮想ボリューム管理テーブル６５２を示す説明図である。仮想ボリューム１（又は仮想ボリューム２）は数台のハードディスクから構成されるため、その容量が数百ＧＢと大きくなる。そこで、ユーザの使い勝手向上のために、仮想ボリューム１（又は仮想ボリューム２）を、さらに容量の小さい複数の仮想ボリューム３に分割する。
【００９５】
仮想ボリューム管理テーブル６５２は、仮想ボリューム３の番号６３３と仮想ボリューム１内アドレス６４１との関係を示すためのテーブルである。また、仮想ボリューム管理テーブル６５２には、仮想ボリューム１がどのキャッシュ制御部２１で管理されるかを示す管理キャッシュ制御部番号６２１も含まれる。
【００９６】
なお、ハードディスクの容量が数ＧＢと小さい場合、又は、ユーザの必要とする論理ユニットの容量が数十から数百ＧＢと大きい場合は、仮想ボリューム３に分割する必要はない。この仮想ボリューム管理テーブル６５２は、キャッシュ制御部２１から転送された仮想論理ボリューム１の情報をもとに、システム管理部６０が作成する。
【００９７】
図１６は、論理ユニット管理テーブル６５３を示す説明図である。
【００９８】
論理ユニット管理テーブル６５３は、前述した仮想ボリューム３と、実際にユーザに提供する論理ユニットとの関係を示すテーブルである。論理ユニットは１つ又は複数の仮想ボリューム３から構成される。論理ユニット管理テーブル６５３では、論理ユニット番号６６１と、その論理ユニットを構成する仮想ボリューム３番号６３３との関係が示される。論理ユニット番号６６１は、論理ユニットに対して割り振られた、ストレージシステム１全体で一意に決まる番号である。ＲＡＩＤクラス６０５は、論理ユニットの信頼性を示すために、その論理ユニットが属する仮想論理ボリューム１のＲＡＩＤクラスを示す。管理キャッシュ制御部番号６２１は、論理ユニットを構成する仮想ボリューム３がどのキャッシュ制御部２１で管理されるかを示す。
【００９９】
なお、論理ユニットは、管理キャッシュ制御部が異なる複数の仮想ボリューム３から構成されていてもよい。異なる管理キャッシュ制御部によって構成されることによって、１つの論理ユニットに対するアクセスが複数のキャッシュ制御部２１に分散されるため、キャッシュ制御部２１への負荷が分散され、ストレージシステム１の性能を向上することが可能となる。
【０１００】
図１７は、論理ユニット割当て管理テーブル６５４を示す説明図である。
【０１０１】
論理ユニット割当て管理テーブル６５４は、接続サーバ番号６７０とそのサーバに割り当てられた論理ユニットの関係を示すテーブルである。
【０１０２】
サーバに対して複数の論理ユニットを割り振る場合、それぞれのサーバに割り振られた論理ユニットの番号は０番から割り振る必要がある。したがって、サーバに対しては、０番から始まる仮想論理ユニット番号６６２を割り振って論理ユニットを提供する。論理ユニット割当て管理テーブル６５４は、この仮想論理ユニット番号６６２と論理ユニット番号６６１との関係を示す。
【０１０３】
接続アダプタ番号６１１及び接続チャネル番号６１５は、サーバがどのプロトコル変換部１０のどの接続チャネルに接続されているかを示す。管理キャッシュ制御部番号６２１は、論理ユニットを構成する仮想ボリュームがどのキャッシュ制御部２１で管理されるかを示す。この管理キャッシュ制御部番号６２１は、サーバが接続されているプロトコル変換部１０がサーバからのアクセス要求に対し、どのキャッシュ制御部２１へアクセスすべきかを、システム管理部６０に問い合わせること無しに知るために必要である。プロトコル変換部１０は、管理キャッシュ制御部番号６２１を参照して、ホストからのアクセス要求に対する応答時間を短くすることが可能となる。
【０１０４】
なお、論理ユニット割当て管理テーブル６５４は、サーバ３が繋がるプロトコル変換部１０からの情報及び管理コンソールからのユーザの設定情報に基づいて、システム管理部６０が作成／管理する。そして、システム管理部６０は、そのテーブルの中の各プロトコル変換部１０に関係する部分のコピーを、該当するプロトコル変換部１０に転送する。各プロトコル変換部１０は、それをマイクロプロセッサ１０２に繋がるメモリに格納する。
【０１０５】
サーバの接続構成／論理ユニットの割当てに変更が生じた場合には、システム管理部６０は、論理ユニット割当て管理テーブル６５４を変更し、そのテーブルの中の各プロトコル変換部１０に関係する部分のコピーを、該当するプロトコル変換部１０へ転送する。各プロトコル変換部１０は、それをマイクロプロセッサ１０２に繋がるメモリ（図示していない）に格納する。
【０１０６】
また、前述した図１４乃至図１７に示したテーブルは、管理コンソールのモニタ上にそれら全部または一部を表示することができる。ユーザは、管理コンソールから論理ユニット、仮想ボリューム、及び、物理デバイス間の関係の全部または一部を設定することができる。
【０１０７】
なお、本実施例では、物理デバイスから、論理ボリューム、ユーザに提供する論理ユニットまで複数の種類のボリュームを構成したが、これは一例でありこれと同様の構成にする必要はない。必要なのは、制御クラスタ７１内ではその中で独立にボリュームを構成／管理し、システム管理部６０で、ストレージシステム１内すべての制御クラスタ７１が提供するボリュームを統合管理して、その中からボリュームを切り出し、ユーザに提供するという機能である。この機能により、本発明を実施可能である。
【０１０８】
図１８は、ストレージシステム１のシステム初期化時の動作の一例を示すフローチャートである。
【０１０９】
まず、システムの電源をＯＮ（７０１）すると、プロトコル変換部１０、キャッシャ制御部２２１、システム管理部６０は、自己動作チェック（７０２）を行う。自己動作チェック（７０２）では、プロトコル変換部１０、キャッシャ制御部２２１、システム管理部６０の各部は、自部内の診断を行い正常動作であるか障害があるかを調べる。障害があった場合、各部は、後の構成情報登録（７０６）においてシステム管理部６０に通知する。または、通知ができない障害の場合は自部内にある障害を示す表示部をＯＮにする。
【０１１０】
自己動作チェック７０２で正常動作と判断されると、プロトコル変換部１０、キャッシャ制御部２１、システム管理部６０の各部は、自部内の構成情報（自部を特定するＩＤ番号、自部内のプロセッサを特定するプロセッサ番号、プロセッサ種別／仕様、メモリ容量等）を収集する（７０３）。この際、ハードディスク群２が繋がるプロトコル変換部１０は、自身に繋がるハードディスク群２の構成を調べるとともに、ハードディスクに障害がないかをチェックする。ハードディスクに障害があった場合は、後の構成情報登録７０６においてシステム管理部６０に通知する。
【０１１１】
次に、システム管理部６０内のネットワーク管理部５０３は、相互結合網３１の物理的なリンクの情報を収集し、相互結合網３１の構成を調べる（７０４）。プロトコル変換部１０及びキャッシュ制御部（以下「ＣＡ」とも称する）２１は、自己情報収集７０３後、システム管理部（以下「ＭＡ」とも称する）６０がネットワーク構成情報収集を行うのに要する時間（又はあらかじめ設定した時間）だけ待って、システム管理部６０との間の論理パスの確立を行う（７０５）。その後、プロトコル変換部１０及びキャッシュ制御部２１は、それぞれが収集した自部内の構成情報をシステム管理部６０に登録する（７０６）。この際、前述したように、障害情報もシステム管理部６０へ通知される。
【０１１２】
次に、システム管理部６０は、システム管理部６０に繋がる管理コンソールのモニタに、図１４乃至図１７で示した構成情報の管理テーブルの一部又は全部（図のように各番号間の関係が全て定まったものではなく、ユーザ設定が必要な部分は、空欄のテーブル）を表示する。ユーザは、この管理コンソール上で物理デバイス、仮想ボリューム、論理ユニット間の関係の一部または全部の設定を行なう（７０７）。
【０１１３】
次に、システム管理部６０は、ユーザからの設定に基づいて図１４乃至図１７に示す管理テーブルを完成させ、システム管理部６０内のメモリに格納する（７０８）。これら管理テーブルは、障害が発生したときのために、システム管理部６０内の不揮発メモリ又はハードディスク群２の中のハードディスクの両方又はどちらか一方にも格納される。
【０１１４】
次に、管理テーブルの中で各プロトコル変換部１０、及び、各キャッシュ制御部２１それぞれに関係する部分のコピーを、各プロトコル変換部１０、及び、各キャッシュ制御部２１に配信する。コピーを配信された各部は、自部のメモリ内にコピーを格納する（７０９）。
【０１１５】
次に、プロトコル変換部１０は、システム管理部６０から配信された自部に関係する管理テーブルを参照し、自身がアクセスする必要があるキャッシュ制御部２１を調べ、該当するキャッシュ制御部２１との間に論理パスを確立する（７１０）。
【０１１６】
最後に、プロトコル変換部１０及びキャッシュ制御部２１は、全ての初期化動作が正常に終了したかを判断し、その結果をシステム管理部６０に通知する。システム管理部６０は、全てのプロトコル変換部１０、キャッシュ制御部２１の初期化正常終了通知と自身の初期化正常終了を確認する（７１１）。全ての初期化が正常に終了したかを確認した後、通常の動作（リード／ライト動作）を開始する（７１２）。
【０１１７】
図１９は、ストレージシステム１のシステム終了時の動作の一例を示すフローチャートである。
【０１１８】
まず、管理コンソールからシステム終了通知が発行されると（７２１）、システム管理部６０は、プロトコル変換部１０及びキャッシュ制御部２１にコマンドの受付中止を指示する制御情報を発行する。プロトコル変換部１０及びキャッシュ制御部２１は、この制御情報を受け、コマンドの受付を中止する（７２２）。コマンドの受付を中止した後、プロトコル変換部１０及びキャッシュ制御部２１は、すでに受け付けていたコマンドを全て処理する（７２３）。次に、プロトコル変換部１０及びキャッシュ制御部２１は、初期化時と同様に自身の構成情報を収集し、システム管理部６０に登録する（７２４）。次に、プロトコル変換部１０及びキャッシュ制御部２１は、動作終了が可能であることをシステム管理部６０に登録する（７２５）。
【０１１９】
その後、プロトコル変換部１０は、キャッシュ制御部との論理パスを閉塞する。また、プロトコル変換部１０及びキャッシュ制御部２１は、システム管理部６０との論理パスを閉塞する（７２６）。
【０１２０】
最後に、システム管理部６０は、プロトコル変換部１０及びキャッシュ制御部２１から登録された構成情報と、システム管理部６０内の構成情報を、不揮発メモリに保存する（７２７）。その後、管理コンソールのモニタ上にシステム終了可能である表示（例えば“システム終了プロセス完了、電源ＯＦＦ可”を表示）を行い、電源をＯＦＦする（７２８）。
【０１２１】
図２０は、サーバ３からストレージシステム１に記録されたデータを読み出す場合の一例を示すフローチャートである。
【０１２２】
まず、サーバ３は、ストレージシステム１に対してデータの読出しコマンドを発行する。
【０１２３】
プロトコル変換部１０内の外部ＩＦ１００が該データの読み出しコマンドを受信すると、コマンド待ち状態（７４１）にあったマイクロプロセッサ１０２は、外部ＩＦ１００が受信したコマンドを読み出し（７４２）、コマンド解析（７４３）を行う。コマンド解析の結果、サーバ３が要求するデータが記録されている論理ユニット（以下「ＬＵ」とも称する）を割り出す。マイクロプロセッサ１０２は、システム初期化／変更時にシステム管理部６０より配信された、自プロトコル変換部１０に関係する論理ユニット割当て管理テーブル６５４を参照し、要求されたデータが記録されたＬＵを構成する仮想ボリュームを管理するキャッシュ制御部２１を決定する（７４４）。
【０１２４】
そして、マイクロプロセッサ１０２は、自身の転送制御部１０５から、決定したキャッシュ制御部２１の転送制御部１０５に、相互結合網を介してデータのリード要求を発行する（７４５）。リード要求を受け取ったキャッシュ制御部２１内のマイクロプロセッサ１０１は、制御メモリ部１１２にアクセスして、論理ユニット管理テーブル６５３、仮想ボリューム管理テーブル６５２及び物理デバイス管理テーブル６５１を参照し、仮想ボリューム１番号（ＶＶＬ１）６３１及び仮想ボリューム１内アドレス６４１を決定する（７４６）。次に、マイクロプロセッサ１０１は、制御メモリ部１１２にアクセスして、決定した仮想ボリューム１番号６３１と仮想ボリューム１内アドレス６４１とから、自キャッシュメモリ部１１１内に要求データがある（キャッシュヒット）又はない（キャッシュミス）の判定を行う（７４７）。
【０１２５】
自キャッシュメモリ部１１１内に要求データがあった場合（キャッシュヒット）、マイクロプロセッサ１０１は、キャッシュメモリ部１１１から要求を発行したプロトコル変換部１０に要求データを読み出して転送するように、自部の転送制御部１０５に指示する（７５５）。転送制御部１０５は、要求を発行したプロトコル変換部１０の転送制御部１０５に相互結合網３１を介して要求データを転送する（７５６）。要求データを受け取ったプロトコル変換部１０の転送制御部１０５は、外部ＩＦ１００を通して、サーバ３にデータを送信する（７５７）。
【０１２６】
自キャッシュメモリ部１１１内に要求データがない場合（キャッシュミス）、マイクロプロセッサ１０１は、キャッシュメモリ部１１１に要求データを格納する領域を確保する（７４９）。キャッシュ領域確保後、マイクロプロセッサ１０１は、制御メモリ部１１２にアクセスして、物理デバイス管理テーブル６５１を参照し、要求された仮想ボリューム１を構成する物理デバイス（以下「ＰＤＥＶ」とも称する）を管理する接続アダプタ番号６１０（該当物理デバイス（ここではハードディスク）が繋がるプロトコル変換部１０の番号）を決定する（７５０）。
【０１２７】
次に、マイクロプロセッサ１０１は、自身の転送制御部１０５から、決定したプロトコル変換部１０の転送制御部１０５に、要求データを読み出してキャッシュ制御部２１に転送する（ステージング）ことを指示する制御情報を送る（７５１）。該当プロトコル変換部１０のマイクロプロセッサ１０２は、自身の転送制御部１０５からその制御情報を受け取り、初期化時／変更時にシステム管理部６０より配信された自身に関係のある物理デバイス管理テーブル６５１のコピーを参照し、データを読み出す物理デバイス（ＰＤＥＶ：ハードディスク）を決定する。そして決定したハードディスクからデータを読み出す（７５２）。読み出したデータは、自身の転送制御部１０５から要求を出したキャッシュ制御部２１の転送制御部１０５に相互結合網３１を介して転送する（７５３）。要求を出したキャッシュ制御部２１のマイクロプロセッサ１０１は、自身の転送制御部１０５が要求データを受信すると、そのデータをキャッシュメモリ部１１１に書き込み、制御メモリ部１１２に格納しているキャッシュメモリのディレクトリを更新する（７５４）。以降、該データの読み出しは、キャッシュヒット時の動作フロー（７５５以降）と同様である。
【０１２８】
以上のようにして、サーバ３からのリード要求に対し、ハードディスクからデータを読み出して、サーバ３へ送信する。
【０１２９】
図２１は、サーバ３からストレージシステム１にデータを書き込む場合の一例を示すフローチャートである。
【０１３０】
まず、サーバ３は、ストレージシステム１に対してデータの書き込みコマンドを発行する。
【０１３１】
プロトコル変換部１０内の外部ＩＦ１００がデータの書き込みコマンドを受信すると、コマンド待ち状態（７６１）にあったマイクロプロセッサ１０２は、外部ＩＦ１００からコマンドを読み出し（７６２）、コマンド解析（７６３）を行う。マイクロプロセッサ１０２は、コマンド解析の結果、サーバ３が要求するデータを記録する論理ユニット（ＬＵ）を割り出す。マイクロプロセッサ１０２は、システム初期化／変更時にシステム管理部６０より配信された、自プロトコル変換部１０に関係する論理ユニット割当て管理テーブル６５４を参照し、要求されたデータが記録されたＬＵを構成する仮想ボリュームを管理するキャッシュ制御部２１を決定する（７６４）。
【０１３２】
なお、前述のように仮想ボリュームを管理するキャッシュ制御部２１を二重化しておくと、ストレージシステム１の信頼性を向上させることができる。すなわち、仮想ボリュームごとにそのボリュームを管理するマスタのキャッシュ制御部２１とバックアップ用のキャッシュ制御部（以下「ＢＣＡ」とも称する）２１を決めておき、その両方にデータを書き込んでおく。そうすることにより、マスタのキャッシュ制御部２１に障害が起こった場合、バックアップのキャッシュ制御部２１で動作を継続することが可能となる。この場合、前記７６４の処理では、論理ユニット割当て管理テーブル６５４にはバックアップ用の管理キャッシュ制御部２１も記されており、その番号も割り出す。以降、バックアップ用の管理キャッシュ制御部２１が定められている場合についての説明をする。
【０１３３】
マイクロプロセッサ１０２は、自身の転送制御部１０５から、決定したキャッシュ制御部２１とバックアップ用のキャッシュ制御部２１との転送制御部１０５に相互結合網３１を介してデータのライト要求を発行する（７６５）。ライト要求を受け取ったキャッシュ制御部２１とバックアップ用のキャッシュ制御部２１内のマイクロプロセッサ１０１は、制御メモリ部１１２にアクセスして、論理ユニット管理テーブル６５３、仮想ボリューム管理テーブル６５２、及び、物理デバイス管理テーブル６５１を参照し、仮想ボリューム１番号６３１及び仮想ボリューム１内アドレス６４１を割り出す（７６６）。次に、マイクロプロセッサ１０１は制御メモリ部１１２へアクセスして、仮想ボリューム１番号６３１と仮想ボリューム１内アドレス６４１から自キャッシュメモリ部１１１内にライト要求されたデータがある（キャッシュヒット）又はない（キャッシュミス）の判定を行う（７６７）。
【０１３４】
自キャッシュメモリ部１１１内に要求データがあった場合（キャッシュヒット）、マイクロプロセッサ１０１は、転送制御部１０５を通じて、要求を出したプロトコル変換部１０にライト準備の完了（以下「ライト準備完」とも称する）を通知する（７７０）。
【０１３５】
自キャッシュメモリ部１１１内に要求データがない場合（キャッシュミス）、マイクロプロセッサ１０１は、キャッシュメモリ部１１１に要求データを格納する領域を確保し（７６９）、その後ライト準備完を通知する（７７０）。
【０１３６】
プロトコル変換部１０のマイクロプロセッサ１０２は、ライト準備完の通知を受け、外部ＩＦ１００を通じてサーバ３にライト準備完を通知する。その後、プロトコル変換部１０は、ライト準備完の通知を受けたサーバ３から送られてきたデータを、外部ＩＦ１００より受信する（７７２）。マイクロプロセッサ１０２は、そのデータを該当するキャッシュ制御部２１とそのバックアップ用のキャッシュ制御部２１の転送制御部１０５に送信するように、自身の転送制御部１０５に指示する（７７３）。データを受け取ったキャッシュ制御部２１及びバックアップ用のキャッシュ制御部２１のマイクロプロセッサ１０１は、そのデータを自身のキャッシュメモリ部１１１に書き込み、制御メモリ部１１２内のキャッシュメモリのディレクトリを更新する（７７４）。キャッシュメモリ部１１１へのライトが終了すると、キャッシュ制御部２１とバックアップ用のキャッシュ制御部２１のマイクロプロセッサ１０１は、ライト完了通知を、要求を出したプロトコル変換部１０へ転送制御部１０５を通じて送信する（７７５）。ライト完了通知を受け取ったプロトコル変換部１０のマイクロプロセッサ１０１は、外部ＩＦ１００を通じ、サーバ３にライト完了通知を送信する。キャッシュメモリ部１１１に書き込まれたデータは、マスタのキャッシュ制御部２１のマイクロプロセッサ１０１が、キャッシュメモリ部１１１の空き容量等を判断して、サーバ３からのライト要求とは非同期に、該当データを記録するボリュームを含むハードディスクに、そのハードディスクが繋がるプロトコル変換部１０を介して書き込む（７７６）。
【０１３７】
以上のようにして、サーバ３からのライト要求に対し、ハードディスクにライト動作を行う。
【０１３８】
図２２に、第１の実施例のストレージシステム１を筐体に実装する場合の構成の一例を示す。
【０１３９】
ＰＡ１０、ＣＡ２１、ＭＡ６０、及びスイッチ部５１／５２は、パッケージ上に実装し、それぞれＰＡブレード８０２、ＣＡパッケージ８０１、ＭＡブレード８０４、ＳＷブレード８０３として、制御ユニットシャーシ８２１に搭載する。制御ユニットシャーシ８２１の背面にはバックプレーン（図示していない）があり、各パッケージ、ブレードはコネクタを介してバックプレーンに接続される。バックプレーン上には配線が施されており、それにより、図２に示す接続構成のように、各パッケージ、ブレード間が接続される。
【０１４０】
なお、キャッシュ制御部２１は、プロトコル変換部１０やシステム管理部に比べ、搭載するプロセッサ数やメモリ容量が大きくなるため、ＣＡパッケージ８０１は他のブレードに比べ面積を約２倍にしている。また、これらパッケージ、ブレードは汎用／専用のブレードサーバを流用し、その上で専用のソフトウェアを実行するものとしてもよい。
【０１４１】
制御ユニットシャーシ８２１の上には、ハードディスクを実装したハードディスクユニット８１１を搭載するディスクユニットシャーシ８２２が４つ設けられる。制御ユニットシャーシ８２１の下方には、ストレージシステム１全体に電力を供給する電源ユニットを収めた電源ユニットシャーシ８２３を設ける。
【０１４２】
これらディスクユニットシャーシ８２２、制御ユニットシャーシ８２１、電源ユニットシャーシ８２３を、１９インチラック（図示していない）の中に収める。
【０１４３】
なお、ストレージシステム１はハードディスク群を有さないハードウェア構成もありうる。この場合、ストレージシステム１とは別の場所に存在するハードディスク群とストレージシステム１とがＰＡ１０を介して接続されることになる。
【０１４４】
以上のように構成された本発明の第１の実施例では、ストレージシステムでは、制御クラスタごとに独立してキャッシュメモリの制御を行うため、キャッシュメモリ部及び制御メモリ部へのアクセス負荷が減少する。また、キャッシュメモリの制御及びサーバとハードディスク間のデータ転送をキャッシュ制御部にあるマイクロプロセッサでまとめて行うため、図３６に示す従来技術で必要であったプロセッサ間の通信処理が減少する。これによって、ストレージシステム１全体の性能を向上することが可能となる。
【０１４５】
また、制御クラスタごとに独立してキャッシュメモリの制御を行うため、１つの制御クラスタごとにストレージシステムとして動作させることが可能となる。したがって、制御クラスタごとにシステムのコストを最適化することができ、小規模構成のシステムを低価格で提供すること、またシステム規模に見合った価格のシステムを提供することが可能となる。
【０１４６】
これにより、小規模〜大規模な構成までシステム規模に見合った価格／性能のストレージシステムを提供することが可能となる。
【実施例２】
【０１４７】
次に、本発明の第２の実施例について説明する。
【０１４８】
図２３は、本発明の第２の実施例の構成を示すブロック図である。
【０１４９】
ストレージシステム１は、サーバ３が繋がるプロトコル変換部１０とキャッシュ制御部２１とを接続する相互結合網３１、ハードディスク群２が繋がるプロトコル変換部１０とキャッシュ制御部２１とを接続する相互結合網３５が物理的に独立している点を除いて、第１の実施例の図２に示す構成と同様である。
【０１５０】
この相互結合網３１と相互結合網３５は物理的に独立しており、２つの相互結合網の間は直接接続されていない。
【０１５１】
図２４は、この相互結合網３１及び相互結合網３５を、それぞれスイッチ部５１、スイッチ部５２によって構成した場合の一例を示している。スイッチ部５２は、図３において前述したスイッチ部５１と比較して、パスＩＦの総数を４つとした構成となる。
【０１５２】
このように、第２の実施例では、独立した相互結合網を２つ用意することでコストが高くなる可能性があるが、第１の実施例の構成のように、サーバ３が繋がるプロトコル変換部１０とキャッシュ制御部２１との間のデータ転送、ハードディスク群２が繋がるプロトコル変換部１０とキャッシュ制御部２１との間のデータ転送が干渉することがなくなる。また、それぞれのデータ転送に要求される性能に適合する相互結合網を構成することが可能となる。そのため、ストレージシステム１の性能の向上が図れる。
【０１５３】
第２の実施例の構成においても、問題なく実施例１と同様の効果が得られ、小規模〜大規模な構成までシステム規模に見合った価格／性能のストレージシステムを提供することが可能となる。
【０１５４】
また図２５に示すように、キャッシュ制御部２１とプロトコル変換部１０とを１つの制御部としてディスク制御部２５にまとめ、１つの基板に実装してもよい。
【０１５５】
図２６は、第２の実施例のディスク制御部２５の具体的な一例を示すブロック図である。
【０１５６】
ディスク制御部２５は、少なくとも、４つのマイクロプロセッサ１０１、プロトコル変換部１０若しくはシステム管理部６０との間のデータ／制御情報の転送を制御する転送制御部１０５、ハードディスク群２との４つのＩＦ（外部ＩＦ）１００、サーバ３若しくはハードディスク群２との間でやり取りするデータを一時格納するキャッシュメモリ部１１１、及び、データ転送、キャッシュメモリ部１１１の管理並びにハードディスク群２の管理に関する制御情報を格納する制御メモリ部１１２を有する。
【０１５７】
なお、このディスク制御部２５は、ハードディスク群２だけでなく、サーバ３やストレージシステム４等の他のノードと接続するように構成してもよい。この場合、他のノードとのプロトコル変換を行うための外部ＩＦ１００を備え、チャネル制御部２５として機能する。
【０１５８】
キャッシュメモリ部１１１及び制御メモリ部１１２は、いずれもメモリモジュール１２２及びメモリモジュール１２２へのアクセスを制御するメモリコントローラ１２１から構成される。なお、キャッシュメモリ部１１１及び制御メモリ部１１２を、同一のメモリコントローラ１２１及びメモリモジュール１２２で構成し、１つのメモリ空間上の異なる領域にキャッシュメモリ領域と制御メモリ領域を割り当ててもよい。また、マイクロプロセッサは主記憶として自身に接続されたメモリ（図示していない）を有する。また、４つのマイクロプロセッサがキャッシュメモリ部１１１及び制御メモリ部を自身の主記憶として共有するＳＭＰ構成であっても問題ない。
【０１５９】
マイクロプロセッサ１０１、キャッシュメモリ部１１１、制御メモリ部１１２、外部ＩＦ１００、及び転送制御部１０５は、スイッチ１０９を介して接続される。マイクロプロセッサ１０１は、制御メモリ部内に格納した制御情報により、キャッシュメモリへのデータのリード／ライト、キャッシュメモリのディレクトリ管理、プロトコル変換部１０及びハードディスク群２との間のデータ転送、システム管理部６０との間のシステム管理情報のやり取り、を制御する。また、ハードディスク群２に書き込むデータの冗長化処理、いわゆるＲＡＩＤ処理も実行する。
【０１６０】
なお、マイクロプロセッサ１０１、キャッシュメモリ部１１１、制御メモリ部１１２、外部ＩＦ１００、及び転送制御部１０５の間の接続構成は一実施例に過ぎず、構成を限定するものではない。マイクロプロセッサ１０１がキャッシュメモリ部１１１、制御メモリ部１１２、外部ＩＦ１００、及び転送制御部１０５を制御可能である構成であればよい。
【０１６１】
また、図２５に示すように、制御クラスタ構成をとる２つのディスク制御部２５間を繋ぐ接続パスでデータ及び制御情報の通信を行うため、スイッチ１０９には２つの内部ＩＦ１２６を接続する。２つのディスク制御部２５の内部ＩＦ１２６間を接続パスで繋ぐことにより、接続パスを通してデータ及び制御情報の通信を行う。例えば、この接続パスを介して、２つのディスク制御部２５のキャッシュメモリ部１１１又は制御メモリ部１１２に格納される情報の２重化を行うことにより、制御クラスタ７２を構成する２つのディスク制御部２５の一方に障害が発生した場合、もう一方でストレージシステムの稼動を続けることが可能となるため、ストレージシステムの信頼性が向上する。
【０１６２】
このように、本発明の第２の実施例では、キャッシュ制御部２１とプロトコル変換部１０とを１つの制御部としてディスク制御部２５にまとめ、１つの基板に実装する。こうすることにより、スイッチ部５２を介してキャッシュ制御部２１とプロトコル変換部１０が通信をする必要が無くなり、データ転送性能が向上する。また、制御クラスタ７２を構成する部品点数が削減されるため、ストレージシステムのコスト削減が可能になる。
【実施例３】
【０１６３】
次に、本発明の第３の実施例につい説明する
図２７は、本発明の第３の実施例を示すブロック図である。
【０１６４】
ストレージシステム１は、相互結合網３１が相互結合網４１と相互結合網４２とに分割され、相互結合網４２にシステム管理部６０が接続されている点を除いて、第１の実施例の図１に示す構成と同様である。
【０１６５】
相互結合網４１はデータ転送専用の相互結合網で、相互結合網４２は制御情報の転送専用の相互結合網である。したがって、ストレージシステム１の管理を行うシステム管理部６０は相互結合網４２に接続される。
【０１６６】
このようにすることで、本発明の第３の実施例では、データ転送と制御情報の転送が互いに干渉することがなくなる。また、それぞれの転送に要求される性能に適合する相互結合網を構成することが可能となるため、ストレージシステム１の性能の向上が図れる。
【０１６７】
なお、第３の実施例の構成は、前述した第１の実施例の図８、第２の実施例の図２３の構成に適用しても、本発明を実施するうえで問題ない。
【０１６８】
本実施例の構成においても、問題なく第１の実施例と同様の効果が得られ、小規模〜大規模な構成までシステム規模に見合った価格／性能のストレージシステムを提供することが可能となる。
【実施例４】
【０１６９】
次に、第４の実施例について説明する。
【０１７０】
本発明の第１の実施例では、図１及び図８に示す構成のストレージシステム１において、制御クラスタ７０、７１内でキャッシュメモリ部１１１の管理を閉じさせるシステムについて述べた。すなわち、ある制御クラスタ７０、７１内のキャッシュ制御部２１内のマイクロプロセッサ１０１は、自制御クラスタ７０、７１内のキャッシュメモリ部１１１、制御メモリ部１１２のみを管理し、他制御クラスタ７０、７１内のキャッシュメモリ部１１１、制御メモリ部１１２は管理しない。
【０１７１】
第４の実施例では、図１及び図８に示す複数の制御クラスタ７０、７１内に物理的に分割されたキャッシュメモリ部１１１及び制御メモリ部１１２を、それぞれストレージシステム１全体で１つのメモリアドレス空間として制御することにより、ストレージシステム１全体のマイクロプロセッサ１０１、１０２で複数のキャッシュメモリ部及び制御メモリ部１１２をそれぞれ論理的に共有する制御方法について述べる。
【０１７２】
ここで、ストレージシステム１全体のマイクロプロセッサ１０１、１０２で複数のキャッシュメモリ部１１１及び制御メモリ部１１２をそれぞれ論理的に共有する。これは、物理的に複数のメモリ部にシステム内で一意に決まるグローバルなアドレスを割り当て、そのグローバルなアドレスマップを各プロセッサが持つ。このことにより、全てのマイクロプロセッサ１０１、１０２が、どのキャッシュメモリ部１１１又は制御メモリ部１１２内に格納されたデータまたは制御情報にもアクセス可能であることを意味する。
【０１７３】
ストレージシステム全体の管理構成は図１１に示す構成と同様である。システム管理部６０のメモリ内にユーザに提供するＬＵとそのＬＵを構成する仮想ボリュームを管理するキャッシュ制御部２１の対応関係を示す論理ユニット割り当てテーブル６５４を格納している。
【０１７４】
第１の実施例では、論理ユニット管理テーブル６５４は、各々のプロトコル変換部１０に関係する部分のコピーを、該当するプロトコル変換部１０へ転送し、各プロトコル変換部１０はそれをマイクロプロセッサ１０２に繋がるメモリに格納したが、第４の実施例では、コピーの配信を行わない。これに伴い、図１８に示すシステム初期化時の動作フローにおいて、ステップ７０９の処理で、プロトコル変換部１０への論理ユニット管理テーブル６５４のコピーの配信処理がなくなる。
【０１７５】
ここで本実施例においてサーバ３からストレージシステム１に記録されたデータを読み出す場合の一例を述べる。
【０１７６】
まずサーバ３は、ストレージシステム１に対してデータの読出しコマンドを発行する。ここで、コマンド解析の処理までは図２０の説明で述べた第１の実施例と同様である。その後の要求先ＣＡの決定処理（７４４）の方法が異なる。すなわち、マイクロプロセッサ１０２は、システム管理部６０にアクセスし、自プロトコル変換部１０に関係する論理ユニット割当て管理テーブル６５４を参照し、要求されたデータが記録されたＬＵを構成する仮想ボリュームを管理するキャッシュ制御部２１を決定する（７４４）。その後の処理（７４５〜７５７）は、図２０の説明で述べた第１の実施例と同様である。
【０１７７】
次に、サーバ３からストレージシステム１にデータを書き込む場合の一例を述べる。  まず、サーバ３は、ストレージシステム１に対してデータの書き込みコマンドを発行する。  ここで、コマンド解析の処理までは図２１の説明で述べた第１の実施例の方法と同様である。その後の要求先ＣＡの決定処理（７６４）の方法が異なる。すなわち、マイクロプロセッサ１０２はシステム管理部６０にアクセスし、自プロトコル変換部１０に関係する論理ユニット割当て管理テーブル６５４を参照し、要求されたデータが記録されたＬＵを構成する仮想ボリュームを管理するキャッシュ制御部２１を割り出す（７６４）。その後の処理（７６５〜７７６）は、図２１の説明で述べた第１の実施例の方法と同様である。
【０１７８】
このように、データの読み出し時または書き込み時に、毎回システム管理部６０にアクセスし、読み出しまたは書き込みの対象となるＬＵを構成する仮想ボリュームを管理するキャッシュ制御部２１を割り出すとした。しかし、ストレージシステム全体の論理ユニット割り当てテーブル６５４を全てのキャッシュ制御部２１の制御メモリ部１１２に格納しても本発明を実施するうえで問題ない。その場合、図２０、図２１に示す要求先ＣＡの決定処理（７４４、７６４）の方法が異なる。
【０１７９】
すなわち、システム初期化時に管理端末からの設定により、各プロトコル変換部１０がデータのリード／ライト要求を送るキャッシュ制御部２１を予め定めておく。その際、キャッシュ制御部２１に割り当てられるプロトコル変換部１０の数は、各キャッシュ制御部２１でなるべく等しくなるように設定する。こうすることにより、各キャッシュ制御部２１へのアクセス負荷を均等にすることができる。要求先ＣＡの決定処理（７４４、７６４）では、マイクロプロセッサ１０２は予め定められたキャッシュ制御部２１にアクセスし、自プロトコル変換部１０に関係する論理ユニット割当て管理テーブル６５４を参照し、要求されたデータが記録されたＬＵを構成する仮想ボリュームを管理するキャッシュ制御部２１を割り出す。その他の手順は、図２０及び図２１で説明した手順と同様である。
【０１８０】
また、図２０及び図２１の処理において、コマンド受信（７４２、７６２）後、そのコマンドをキャッシュ制御部２１のマイクロプロセッサ１０１に転送し、コマンド解析（７４３、７６３）をマイクロプロセッサ１０１で行うようにしても本発明を実施するうえで問題ない。この場合、要求先ＣＡ決定処理（７４４，７６４）では、マイクロプロセッサ１０１が制御メモリ部１１２内に格納された論理ユニット割当て管理テーブル６５４を参照し、要求されたデータが記録されたＬＵを構成する仮想ボリュームを管理するキャッシュ制御部２１を決定する。該当するキャッシュ制御部２１がコマンドを受けたマイクロプロセッサ１０１が属するキャッシュ制御部２１でない場合は、マイクロプロセッサ１０１は該当キャッシュ制御部２１内のキャッシュメモリ部１１１及び制御メモリ部１１２にアクセスして、７４５または７６５以降の処理を行う。
【０１８１】
または、コマンドを該当キャッシュ制御部２１内のマイクロプロセッサ１０１に転送して、該当キャッシュ制御部２１内のマイクロプロセッサ１０１とキャッシュメモリ部１１１及び制御メモリ部１１２により、７４５または７６５以降の処理を行う。
【０１８２】
このように、本発明の第４の実施例では、プロトコル変換部１０にマイクロプロセッサ１０２を搭載する必要がなくなる。
【０１８３】
また、第４の実施例の制御方法は、実施例１の図２、図９、実施例２の図２４、図２５、実施例３の図２７の構成に適用しても、本発明を実施するうえで問題ない。
【０１８４】
このように、第４の実施例の構成においても、問題なく第１の実施例１と同様の効果が得られ、小規模〜大規模な構成までシステム規模に見合った価格／性能のストレージシステムを提供することが可能となる。
【実施例５】
【０１８５】
次に、本発明の第５の実施例について説明する。
【０１８６】
図２８及び図２９は、本発明の第５の実施例のストレージシステムを示すブロック図である。
【０１８７】
図２８及び図２９に示すストレージシステム１は、システム管理部６０が無いことを除いて、第１の実施例の図１及び図２に示す構成と同様である。
【０１８８】
第５の実施例においては、第４の実施例と同様に、複数の制御クラスタ７０内に物理的に分割されたキャッシュメモリ部１１１及び制御メモリ部１１２が、それぞれストレージシステム全体で１つのメモリアドレス空間として制御される。これによって、ストレージシステム１全体のマイクロプロセッサ１０１、１０２で、複数のキャッシュメモリ部１１１、及び制御メモリ部１１２をそれぞれ論理的に共有する。
【０１８９】
一方、第１の実施例において、システム管理部６０内で作成され、そのメモリ内に格納されていた物理デバイス管理テーブル６５１、仮想ボリューム管理テーブル６５２、論理ユニット管理テーブル６５３、及び、論理ユニット割当管理テーブル６５４は、ローカルエリアネットワーク（ＬＡＮ）等の専用ネットワーク、又は相互結合網３１により各プロセッサに接続される管理端末で作成し、各プロトコル変換部１０、キャッシュ制御部２１に関係する部分のコピーを、それぞれ該当するプロトコル変換部１０、キャッシュ制御部２１内のメモリに格納する。
【０１９０】
このようにして各管理テーブルを各メモリに格納した場合、データの読み出し及び書き込みの手順は図２０、図２１に示す手順と同様になる。
【０１９１】
また、システム全体の論理ユニット管理テーブル６５４を全てのキャッシュ制御部２１の制御メモリ部１１２に格納しても良い。その場合、図２０、図２１に示す要求先ＣＡの決定処理（７４４、７６４）の方法が異なる。すなわち、システム初期化時に管理端末からの設定により、各プロトコル変換部１０がデータのリード／ライト要求を送るキャッシュ制御部２１を予め定めておく。その際、キャッシュ制御部２１に割り当てられるプロトコル変換部１０の数は、各キャッシュ制御部２１でなるべく等しくなるように設定する。
【０１９２】
こうすることにより、各キャッシュ制御部２１へのアクセス負荷を均等にすることができる。要求先ＣＡの決定処理（７４４、７６４）では、マイクロプロセッサ１０２は予め定められたキャッシュ制御部２１にアクセスし、自プロトコル変換部１０に関係する論理ユニット割当て管理テーブル６５４を参照し、要求されたデータが記録されたＬＵを構成する仮想ボリュームを管理するキャッシュ制御部２１を割り出す。その他の手順は、図２０、図２１で説明した手順と同様である。
【０１９３】
また、図２０、図２１の処理において、コマンド受信（７４２、７６２）後、そのコマンドをキャッシュ制御部２１のマイクロプロセッサ１０１に転送し、コマンド解析（７４３、７６３）をマイクロプロセッサ１０１で行っても良い。この場合、要求先ＣＡ決定処理（７４４，７４６）では、マイクロプロセッサ１０１が制御メモリ部１１２内に格納された論理ユニット割当て管理テーブル６５４を参照し、要求されたデータが記録されたＬＵを構成する仮想ボリュームを管理するキャッシュ制御部２１を割り出す。該当するキャッシュ制御部２１がコマンドを受けたマイクロプロセッサ１０１が属するキャッシュ制御部２１でない場合は、マイクロプロセッサ１０１は該当キャッシュ制御部２１内のキャッシュメモリ部１１１、及び制御メモリ部１１２にアクセスして、７４５または７６５以降の処理を行う。
【０１９４】
又は、コマンドを該当キャッシュ制御部２１内のマイクロプロセッサ１０１に転送して、該当キャッシュ制御部２１内のマイクロプロセッサ１０１とキャッシュメモリ部１１１及び制御メモリ部１１２により、７４５または７６５以降の処理を行う。
【０１９５】
このように、本発明の第５の実施例では、プロトコル変換部１０にマイクロプロセッサ１０２を搭載する必要がなくなる。本実施例の構成においても、問題なく実施例１と同様の効果が得られ、小規模〜大規模な構成までシステム規模に見合った価格／性能のストレージシステムを提供することが可能となる。
【実施例６】
【０１９６】
次に、本発明の第６の実施例のストレージシステムについて説明する。
【０１９７】
図３０は、第６の実施例のストレージシステムの構成を示すブロック図である。図３０は、第１の実施例の図１に類似しているが、システム管理部６０に代わってシステム管理情報記憶部１６０が備えられている点が異なる。なお、第１乃至第５の実施例と同一に機能する構成には同一の符号を付し、その説明を省略する。
【０１９８】
第１の実施例において説明したように、システム管理部６０は、ストレージシステム１の構成に関する情報等を管理している。本実施例では、システム管理情報記憶部１６０は、ストレージシステム１の構成に関する管理情報を記憶する。そして、その管理情報に基づくストレージシステム１の管理は、いずれかのキャッシュ制御部２１に備えられているマイクロプロセッサ１０１が担当する。
【０１９９】
図３１は、システム管理情報記憶部１６０の具体的な構成の一例を示すブロック図である。
【０２００】
システム管理情報記憶部１６０は、転送制御部１０５、メモリコントローラ１２１、及びメモリモジュール１２２等を有する。
【０２０１】
前述した実施例においてシステム管理部６０のマイクロプロセッサ１０１が行う処理は、いずれかの制御クラスタ７０のキャッシュ制御部２１に含まれるマイクロプロセッサ１０１において行わせるように設定する。ストレージシステムの管理情報は、システム管理情報記憶部１６０に記憶する。このシステムの管理を受け持つマイクロプロセッサ１０１は、当該マイクロプロセッサが備えられたキャッシュ制御部２１に繋がる管理コンソールから予め決定しておく。
【０２０２】
決定されたマイクロプロセッサ１０１の処理は、前述したシステム管理部６０の処理と同様である。すなわち、システムの管理を受け持つマイクロプロセッサ１０１は、プロトコル変換部１０及びキャッシュ制御部２１から収集した管理情報、相互結合網３１の管理情報、及び相互結合網３１を介して接続された管理コンソールからユーザが設定した情報等によって、ストレージシステム１全体の管理情報をまとめ、その管理情報をシステム管理情報記憶部１６０のメモリモジュール１２２に格納し、その管理情報を使用してストレージシステム１を管理する。
【０２０３】
例えば、図１１に示すシステム管理構成では、決定されたシステム管理を受け持つマイクロプロセッサ１０１において、ストレージ管理部５０１、論理パス管理部５０２及びネットワーク管理部５０３が、ソフトウエアプログラムとして実行される。より具体的には、システムの管理を受け持つマイクロプロセッサ１０１によって、第１の実施例のシステム起動処理（図１８）及びシステム終了処理（図１９）等が実行される。
【０２０４】
以上のように構成された第６の実施例のストレージシステムでは、ストレージシステム全体構成の管理を、いずれかの制御クラスタのキャッシュ制御部２１に含まれるマイクロプロセッサ１０１が行う。また、システムの管理に必要な管理情報は、システム管理情報記憶部１６０に備えられているメモリに記憶する。このように構成することで、ストレージシステム１にマイクロプロセッサ１０１を有するシステム管理部６０を設ける必要がなくなり、ストレージシステム全体としてコストを低減することができる。
【０２０５】
また、第３の実施例（図２７）のように、相互結合網を、データ転送専用の相互結合網４１と、制御情報の転送専用の相互結合網４２とに分けて構成してもよい。このように構成することで、データ転送と制御情報の転送が互いに干渉することがなくなる。また、それぞれの転送に要求される性能に適合する相互結合網を構成することが可能となるため、ストレージシステム１の性能の向上が図れる。
【０２０６】
また、第５の実施例（図２８、図２９）のように、管理情報記憶部１６０を省略した構成とすることもできる。この場合、ストレージシステム１全体の管理を受け持つマイクロプロセッサ１０１で、複数のキャッシュメモリ部１１１、及び制御メモリ部１１２をそれぞれ論理的に共有して、マイクロプロセッサ１０１に管理テーブルを作成して管理する。このように構成することで、小規模〜大規模な構成までシステム規模に見合った価格／性能のストレージシステムを提供することが可能となる。
【実施例７】
【０２０７】
次に、第７の実施例のストレージシステムについて説明する。
【０２０８】
図３２は、第７の実施例のストレージシステムの構成を示すブロック図である。なお、第１乃至第６の実施例と同一に機能する構成には同一の符号を付し、その説明を省略する。
【０２０９】
第７の実施例では、プロトコル変換部１０にサーバ３が接続され、プロトコル変換部１０は相互結合網３１によって互いに接続されている。また、ハードディスク群２は、相互結合網３７を介してディスク制御部２５に接続されている。このようにすることで、サーバ３とプロトコル変換部１０との間、ディスク制御部２５とハードディスク群２との間はそれぞれ独立した経路によってデータが送受信される。よって、相互結合網の負荷を分散することができ、ボトルネックを解消することができる。
【０２１０】
ディスク制御部２５には、図２６において前述したように、制御クラスタ構成をとる２つのディスク制御部２５間を繋ぐ接続パスでデータ及び制御情報の通信を行うため、スイッチ１０９に２つの内部ＩＦ１２６が接続される。２つのディスク制御部２５の内部ＩＦ１２６間を接続パスで繋ぐことにより、接続パスを通してデータ及び制御情報の通信を行う。例えば、この接続パスを介して、２つのディスク制御部２５のキャッシュメモリ部１１１又は制御メモリ部１１２に格納される情報の２重化を行うことによって、制御クラスタ７２を構成する２つのディスク制御部２５の一方に障害が発生した場合、他方のディスク制御部２５でストレージシステムの稼動を続けることが可能となるため、ストレージシステムの信頼性が向上する。
【０２１１】
以上のように構成された第７の実施例のストレージシステムでは、制御クラスタ７２とプロトコル変換部１０との間、及び制御クラスタ７２とハードディスク群２との間を独立した２つの相互結合網によって接続する。独立した相互結合網を設けることでコストが高くなる可能性があるが、第１の実施例のように、サーバ３が繋がるプロトコル変換部１０とディスク制御部２５との間のデータ転送、及びハードディスク群２とディスク制御部２５との間のデータ転送が干渉することがなくなる。また、それぞれのデータ転送に要求される性能に適合する相互結合網を構成することが可能となるため、ストレージシステム１の性能の向上が図れる。さらに、ディスク制御部２５とハードディスク群２との接続パスを自由に設定することができるので、ハードディスク群２の構成をフレキシブルに変更することが可能となる。
【０２１２】
また、前述した第６の実施例のように、システム管理部６０に代わって図３２に示すシステム管理情報記憶部１６０を設けて、いずれかのディスク制御部２５に備えられているマイクロプロセッサ１０１によってシステムを管理するように構成してもよい。このように構成することで、ストレージシステム１にマイクロプロセッサ１０１を有するシステム管理部６０を設ける必要がなくなり、ストレージシステム全体としてのコストを低減することができる。
【０２１３】
また、第３の実施例（図２７）のように、相互結合網３１の各々を、データ転送専用の相互結合網４１と、制御情報の転送専用の相互結合網４２とに分けて構成してもよい。
【実施例８】
【０２１４】
次に、第８の実施例のストレージシステムについて説明する。
【０２１５】
図３３は、本発明の第８の実施例のストレージシステムの構成を示すブロック図である。なお、第１乃至第７の実施例と同一に機能する構成には同一の符号を付し、その説明を省略する。
【０２１６】
第８の実施例では、チャネル制御部２５にはサーバ３が直接接続されている。このチャネル制御部２５は、相互結合網３１を介してプロトコル変換部１０に接続される。また、プロトコル変換部１０はハードディスク群２に接続される。
【０２１７】
なお、チャネル制御部２５は、前述したディスク制御部２５と同じ構成を有し、キャッシュ制御部２１及びプロトコル変換部１０を１つの制御部としてまとめたものである。よって、ハードディスク群２を接続するディスク制御部２５は、サーバ３等のクライアントを接続するチャネル制御部２５と同等の構成である。
【０２１８】
チャネル制御部２５のキャッシュメモリ部１１１には、接続されているサーバ３がストレージシステム１に入出力するデータが格納される。このチャネル制御部２５は、２つのチャネル制御部２５が１つの制御クラスタ７３としてまとめられ、制御クラスタ７３内でキャッシュメモリ部１１１及び制御メモリ部１１２の管理を閉じる。
【０２１９】
なお、図３３では、制御クラスタ７３を構成するチャネル制御部２５は、それぞれ独立しているが、図２５及び図２６に示すように、制御クラスタ構成をとる２つのチャネル制御部２５間を繋ぐ接続パスでデータ及び制御情報の通信を行うため、スイッチ１０９に２つの内部ＩＦ１２６を接続してもよい。２つのチャネル制御部２５の内部ＩＦ１２６間を接続パスで繋ぐことにより、接続パスを通してデータ及び制御情報の通信を行う。例えば、この接続パスを介して、２つのチャネル制御部２５のキャッシュメモリ部１１１又は制御メモリ部１１２に格納される情報を転送して、情報の２重化を行うことにより、制御クラスタ７３を構成する２つのチャネル制御部２５の一方に障害が発生した場合、他方のチャネル制御部２５でストレージシステムの稼動を続けることが可能となるため、ストレージシステムの信頼性が向上する。
【０２２０】
また、各サーバ３に接続されるチャネル制御部２５は、制御クラスタ７３毎にキャッシュ及び制御情報を閉じた管理とする。このように構成することで、キャッシュのヒット率が向上し、システム全体としてのスループットが向上する。
【０２２１】
また、前述した第６の実施例のように、システム管理部６０に代わって図３２に示すシステム管理情報記憶部１６０を用いて、いずれかのディスク制御部２５に備えられているマイクロプロセッサ１０１によってシステムの管理を行うよう構成してもよい。
【０２２２】
また、第３の実施例（図２７）のように、相互結合網３１を、データ転送専用の相互結合網４１と、制御情報の転送専用の相互結合網４２とに分けて構成してもよい。
【０２２３】
また、第５の実施例（図２８、図２９）のように、システム管理部６０を省略した構成とすることもできる。この場合、ストレージシステム１全体のマイクロプロセッサ１０１、１０２で、複数のキャッシュメモリ部１１１、及び制御メモリ部１１２をそれぞれ論理的に共有して、マイクロプロセッサ１０１、１０２毎に管理テーブルを作成して管理する。
【実施例９】
【０２２４】
次に、第９の実施例のストレージシステムについて説明する。
【０２２５】
図３４は、本発明の第９の実施例のストレージシステムの構成を示すブロック図である。なお、第１乃至第８の実施例と同一に機能する構成には同一の符号を付し、その説明を省略する。
【０２２６】
第９の実施例では、サーバ３に繋がるチャネル制御部２５と、ハードディスク群に繋がるディスク制御部２５と、がそれぞれ相互結合網３１に接続されている。そして、２つのチャネル制御部２５又は２つのディスク制御部２５が制御クラスタ構成をとる。
【０２２７】
なお、図３４では、制御クラスタ７３を構成するチャネル制御部２５は、それぞれ独立しているが、図２５及び図２６に示すように、制御クラスタ構成をとる２つのチャネル制御部２５間を繋ぐ接続パスでデータ及び制御情報の通信を行うために、スイッチ１０９に２つの内部ＩＦ１２６を接続してもよい。２つのチャネル制御部２５の内部ＩＦ１２６間を接続パスで繋ぐことにより、接続パスを通してデータ及び制御情報の通信を行う。よって、制御クラスタ７３を構成する２つのチャネル制御部２５の一方に障害が発生した場合、他方のチャネル制御部２５でストレージシステムの稼動を続けることが可能となるため、ストレージシステムの信頼性が向上する。
【０２２８】
また、各サーバ３又はハードディスク群２毎にチャネル制御部２５又はディスク制御部２５を含む制御クラスタ７３を持ち、制御クラスタ７３毎にキャッシュ及び制御情報を閉じた管理とする。このように構成することで、システム構成を最小限に押さえ低コスト化を実現しつつ、キャッシュのヒット率が向上し、システム全体としてのスループットが向上する。
【０２２９】
なお、前述した第６の実施例のように、システム管理部６０に代わって図３２に示すシステム管理情報記憶部１６０を用いて、いずれかのディスク制御部２５に備えられているマイクロプロセッサ１０１によってシステムの管理を行うよう構成してもよい。
【０２３０】
また、第３の実施例（図２７）のように、相互結合網を、データ転送専用の相互結合網４１と、制御情報の転送専用の相互結合網４２とに分けて構成してもよい。
【０２３１】
また、第５の実施例（図２８、図２９）のように、システム管理部６０を省略した構成とすることもできる。この場合、ストレージシステム１全体のマイクロプロセッサ１０１、１０２で、複数のキャッシュメモリ部１１１、及び制御メモリ部１１２をそれぞれ論理的に共有して、マイクロプロセッサ１０１、１０２毎に管理テーブルを作成して管理する。
【実施例１０】
【０２３２】
次に、第１０の実施例のストレージシステムについて説明する。
【０２３３】
図３５は、本発明の第１０のストレージシステムの構成を示すブロック図である。図３５は、図１に示す第１の実施例に類似しているが、キャッシュ制御部２１に相互結合網３１とは別の相互結合網３８が接続されている点が異なる。なお、第１乃至第９の実施例と同一の作用を行う構成には同一の符号を付し、その説明を省略する。
【０２３４】
キャッシュ制御部２１に接続された相互結合網３８は、キャッシュ制御部２１のキャッシュメモリ部１１１又は制御メモリ部１１２の記憶内容を、互いに転送することができるように構成されている。また、クラスタ構成を取るキャッシュ制御部２１は、前述した図１０のように、互いにパスによって接続されている。
【０２３５】
キャッシュ制御部２１間を接続する相互結合網を別に設けることで、相互結合網３１で行われるサーバ３が繋がるプロトコル変換部１０同士のデータ転送と、相互結合網３８で行われるキャッシュ制御部２１同士のデータ転送とが干渉することがなくなる。また、相互結合網３１及び相互結合網３８のそれぞれについて、データ転送に要求される性能に適合する相互結合網を別々に構成することが可能となる。
【０２３６】
以上のように構成された第１０の実施例では、キャッシュ制御部２１が相互結合網３８を介して接続されているので、互いの制御情報やキャッシュデータ等の送信が容易となる。特に、システムの変更等によって新たにキャッシュ制御部２１を追加した場合は、当該追加したキャッシュ制御部２１にはキャッシュ及び制御情報はまだ記憶されていない。このとき相互結合網３８を介して、他のキャッシュ制御部２１に記憶されているキャッシュ及び制御情報を送信によって、キャッシュ制御部２１同士でデータの交換を行っても、サーバ３とハードディスク群２との間のデータ転送に影響を与えることないので、システム全体のスループットが向上する。
【０２３７】
なお、システム管理部６０に代わって図３２に示すシステム管理情報記憶部１６０を用いて、いずれかのディスク制御部２５に備えられているマイクロプロセッサ１０１によってシステムの管理を行うよう構成してもよい。
【０２３８】
また、第３の実施例（図２７）のように、相互結合網３１、３８を、データ転送専用の相互結合網４１と、制御情報の転送専用の相互結合網４２とに分けて構成してもよい。
【０２３９】
また、第５の実施例（図２８、図２９）のように、ストレージシステム１を、システム管理部６０を省略した構成とすることもできる。この場合、ストレージシステム１全体のマイクロプロセッサ１０１、１０２で、複数のキャッシュメモリ部１１１、及び制御メモリ部１１２をそれぞれ論理的に共有して、マイクロプロセッサ１０１、１０２毎に管理テーブルを作成して管理する。
【図面の簡単な説明】
【０２４０】
【図１】本発明の第１の実施例のストレージシステムの構成を示すブロック図である。
【図２】本発明の第１の実施例の相互結合網３１の具体的な構成の一例を示すブロック図である。
【図３】本発明の第１の実施例のスイッチ部５１の具体的な構成の一例を示すブロック図である。
【図４】本発明の第１の実施例のパケットのフォーマットの一例を示す説明図である。
【図５】本発明の第１の実施例のプロトコル変換部１０の構成の一例を示すブロック図である。
【図６】本発明の第１の実施例のキャッシュ制御部２１の具体的な構成の一例を示すブロック図である。
【図７】本発明の第１の実施例のシステム管理部６０の具体的な構成の一例を示すブロック図である。
【図８】本発明の第１の実施例の変形例のストレージシステムの構成を示すブロック図である。
【図９】本発明の第１の実施例の別の変形例のストレージシステムの構成を示すブロック図である。
【図１０】本発明の第１の実施例の他の変形例のキャッシュ制御部２１の詳細な構成の一例を示す。
【図１１】本発明の第１の実施例のストレージシステム１全体の管理構成の一例を示すブロック図である。
【図１２】本発明の第１の実施例の変形例のストレージシステム１の構成の一例を示すブロック図である。
【図１３】本発明の第１の実施例の別の変形例のストレージシステム１の構成の一例を示すブロック図である。
【図１４】本発明の第１の実施例の物理デバイス管理テーブル６５１を示す説明図である。
【図１５】本発明の第１の実施例の仮想ボリューム管理テーブル６５２を示す説明図である。
【図１６】本発明の第１の実施例の論理ユニット管理テーブル６５３を示す説明図である。
【図１７】本発明の第１の実施例の論理ユニット割当て管理テーブル６５４を示す説明図である。
【図１８】本発明の第１の実施例のストレージシステム１のシステム初期化時の動作の一例を示すフローチャートである。
【図１９】本発明の第１の実施例のストレージシステム１のシステム終了時の動作の一例を示すフローチャートである。
【図２０】本発明の第１の実施例のデータを読み出す場合の一例を示すフローチャートである。
【図２１】本発明の第１の実施例のデータを書き込む場合の一例を示すフローチャートである。
【図２２】本発明の第１の実施例のストレージシステム１を筐体に実装する場合の構成の一例を示す説明図である。
【図２３】本発明の第２の実施例のストレージシステムの構成を示すブロック図である。
【図２４】本発明の第２の実施例の相互結合網３１の具体的な構成の一例を示すブロック図である。
【図２５】本発明の第２の実施例の別の変形例のストレージシステムの構成を示すブロック図である。
【図２６】本発明の第２の実施例のディスク制御部２５の具体的な一例を示すブロック図である。
【図２７】本発明の第３の実施例のストレージシステムを示すブロック図である。
【図２８】本発明の第５の実施例のストレージシステムを示すブロック図である。
【図２９】本発明の第５の実施例の相互結合網３１の具体的な構成の一例を示すブロック図である。
【図３０】本発明の第６の実施例のストレージシステムの構成を示すブロック図である。
【図３１】本発明の第６の実施例のシステム管理情報記憶部１６０の具体的な構成の一例を示すブロック図である。
【図３２】本発明の第７の実施例のストレージシステムの構成を示すブロック図である。
【図３３】本発明の第８の実施例のストレージシステムの構成を示すブロック図である。
【図３４】本発明の第９の実施例のストレージシステムの構成を示すブロック図である。
【図３５】本発明の第１０の実施例のストレージシステムの構成を示すブロック図である。
【図３６】従来技術のストレージシステムの構成を示すブロック図である。
【符号の説明】
【０２４１】
１  ストレージシステム
２  ハードディスク群
３  サーバ
１０  プロトコル変換部
２１  キャッシュ制御部
３１  相互結合網
６０  システム管理部
７０  制御クラスタ
１００  外部ＩＦ
１０１、１０２  マイクロプロセッサ
１０５  転送制御部
１１１  キャッシュメモリ部
１１２  制御メモリ部
【図１】
2005301802.tif 000003
【図２】
2005301802.tif 000004
【図３】
2005301802.tif 000005
【図４】
2005301802.tif 000006
【図５】
2005301802.tif 000007
【図６】
2005301802.tif 000008
【図７】
2005301802.tif 000009
【図８】
2005301802.tif 000010
【図９】
2005301802.tif 000011
【図１０】
2005301802.tif 000012
【図１１】
2005301802.tif 000013
【図１２】
2005301802.tif 000014
【図１３】
2005301802.tif 000015
【図１４】
2005301802.tif 000016
【図１５】
2005301802.tif 000017
【図１６】
2005301802.tif 000018
【図１７】
2005301802.tif 000019
【図１８】
2005301802.tif 000020
【図１９】
2005301802.tif 000021
【図２０】
2005301802.tif 000022
【図２１】
2005301802.tif 000023
【図２２】
2005301802.tif 000024
【図２３】
2005301802.tif 000025
【図２４】
2005301802.tif 000026
【図２５】
2005301802.tif 000027
【図２６】
2005301802.tif 000028
【図２７】
2005301802.tif 000029
【図２８】
2005301802.tif 000030
【図２９】
2005301802.tif 000031
【図３０】
2005301802.tif 000032
【図３１】
2005301802.tif 000033
【図３２】
2005301802.tif 000034
【図３３】
2005301802.tif 000035
【図３４】
2005301802.tif 000036
【図３５】
2005301802.tif 000037
【図３６】
2005301802.tif 000038