(57)【要約】【課題】  フォームファクタの少ない変更で記憶制御システムの性能を向上する。【解決手段】  記憶制御システム６００が構築される筐体１０内に、２以上のＮＡＳヘッドから構成されるスケールアウト型ＮＡＳヘッドグループ１１１と、スケールアウト型ＮＡＳヘッドグループ１１１を構成するＮＡＳヘッドである各ＮＡＳヘッドメンバ１１０Ｌよりも高性能のＮＡＳヘッドであるスケールアップ型ＮＡＳヘッド１１０Ｈとの両方が備えられる。筐体１０には、ＮＡＳヘッドメンバ１１０Ｌ及びＮＡＳヘッドメンバ１１０Ｌとは異なる他種のチャネル制御部１１２が差し込まれる汎用型スロット１０４に差し込むことができる。スケールアップ型ＮＡＳヘッド１１０Ｈは、筐体１０内において、汎用型スロット１０４とは別の場所に実装される。【選択図】図３
2005293370.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶する記憶デバイスと、
前記記憶デバイスに対してデータの読出し又は書込みを行う記憶デバイス制御部と、
サーバとして動作する複数のチャネル制御部と、
前記複数のチャネル制御部の中から選択されたチャネル制御部と前記記憶デバイス制御部との間でやり取りされる前記データが格納される１以上のメモリと、
前記記憶デバイス制御部、前記複数のチャネル制御部及び前記１以上のメモリに接続され、前記記憶デバイス制御部、前記選択されたチャネル制御部及び前記１以上のメモリの間でやり取りされる前記データの通信媒体となるデータ通信媒体と、
前記複数のチャネル制御部に接続され、前記複数のチャネル制御部の各々と他のチャネル制御部との間でやり取りされるサーバ間メッセージの通信媒体となるサーバ間通信媒体と
を備え、
前記複数のチャネル制御部は、同一の筐体内に搭載され、スケールアウト型ＮＡＳヘッドグループを構成する２以上のＮＡＳヘッドメンバと、前記ＮＡＳヘッドメンバよりも高性能のＮＡＳヘッドであるスケールアップ型ＮＡＳヘッドとを含んでおり、
前記筐体には、前記ＮＡＳヘッドメンバ及び前記ＮＡＳヘッドメンバとは異なる他種のチャネル制御部が差し込まれる複数の汎用型スロットが備えられ、
前記２以上のＮＡＳヘッドメンバの各々は、前記汎用型スロットに差し込まれて実装され、
前記スケールアップ型ＮＡＳヘッドは、前記筐体内において、前記複数の汎用型スロットとは別の場所に実装される、
記憶制御システム。
【請求項２】
前記ＮＡＳヘッドメンバ、前記スケールアップ型ＮＡＳヘッド及び前記記憶デバイス制御部のうちの少なくとも１つが、ブロックレベルのデータを処理する第１のプロセッサを備え、
前記ＮＡＳヘッドメンバには、前記１以上のメモリとは別の１以上の第１のメモリと、前記第１のプロセッサよりも高性能の１以上の第２のプロセッサとが備えられ、前記１以上の第１のメモリの各々は、前記１以上の第２のプロセッサに共有されることなく、前記１以上の第２のプロセッサのうちの１つの第２のプロセッサに使用され、
前記スケールアップ型ＮＡＳヘッドには、前記１以上のメモリとは別の第２のメモリと、前記第１のプロセッサよりも高性能の複数の第３のプロセッサとが備えられ、前記第２のメモリは、前記複数の第３のプロセッサに共有されるようになっている、
請求項１記載の記憶制御システム。
【請求項３】
前記記憶デバイスにはデータベースが存在し、
前記ＮＡＳヘッドメンバの前記第２のプロセッサは、ＷＥＢサーバとして動作するためのコンピュータプログラムを読込むことにより、ＷＥＢサーバとして動作し、
前記スケールアップ型ＮＡＳヘッドの前記複数の第３のプロセッサは、前記データベースを処理するデータベースサーバとして動作するためのコンピュータプログラムを読込むことにより、データベースサーバとして動作する、
請求項２記載の記憶制御システム。
【請求項４】
前記ＮＡＳヘッドメンバの前記第２のプロセッサは、前記記憶制御システムの外部の通信ネットワークに接続された外部機器からのアクセスに応じた問合せを、前記サーバ間通信媒体を介して前記スケールアップ型ＮＡＳヘッドに送信し、
前記複数の第３のプロセッサの少なくとも１つは、前記問合せに従って、前記記憶デバイス制御部を介して前記データベースを処理することにより、前記問合せに対するデータである応答データを、前記データ通信媒体を介して前記１以上のメモリに読出し、且つ、前記問合せに対する応答メッセージを、前記サーバ間通信媒体を介して前記ＮＡＳヘッドメンバの前記第２のプロセッサに送信し、
前記第２のプロセッサは、前記応答メッセージを受け、前記１以上のメモリに記憶されている前記応答データを、前記データ通信媒体を介して取得し、前記取得した応答データ、又は、前記応答データを加工することによって得られたデータを、前記外部機器に提供する、
請求項３記載の記憶制御システム。
【請求項５】
前記ＮＡＳヘッドメンバと前記スケールアップ型ＮＡＳヘッドとの間で、前記データ及びサーバ間メッセージがやり取りされる場合、
前記サーバ間メッセージは、前記サーバ間通信媒体を介してやり取りされ、
前記データは、前記１以上のメモリ及び前記データ通信媒体を介してやり取りされる、
請求項１記載の記憶制御システム。
【請求項６】
前記データ通信媒体は、前記サーバ間通信媒体よりもデータ転送帯域が広く、
前記サーバ間通信媒体は、前記データ通信媒体よりも通信経路の数が多い、
請求項１記載の記憶制御システム。
【請求項７】
前記スケールアップ型ＮＡＳヘッドは、
前記１以上のメモリとは別の第２のメモリと、
前記第１のプロセッサよりも高性能のプロセッサであって、前記第２のメモリを共有する複数の第３のプロセッサと、
前記サーバ間通信媒体に含まれる複数の転送経路にそれぞれ接続される複数の通信ポートを備えた通信コントローラと、
前記通信ポートが前記ＮＡＳヘッドメンバから受信したサーバ間メッセージを前記通信コントローラから受信するメモリコントローラと
を備え、
前記メモリコントローラは、前記複数の通信ポートのうちのどの通信ポートが前記サーバ間メッセージを受信したかに基づいて、前記受信したサーバ間メッセージを処理すべき第３のプロセッサを前記複数の第３のプロセッサの中から選択し、前記選択された第３のプロセッサに対して前記受信したサーバ間メッセージを処理させる、
請求項１記載の記憶制御システム。
【請求項８】
前記スケールアップ型ＮＡＳヘッドと前記ＮＡＳヘッドメンバの両方が、前記記憶制御システムの外部の通信ネットワークに接続される通信インターフェースを備える、
請求項１記載の記憶制御システム。
【請求項９】
前記ＮＡＳヘッドメンバ及び前記スケールアップ型ＮＡＳヘッドの各々は、ファイルレベルのデータをブロックレベルのデータに変換するＮＡＳプロセッサを備え、
前記記憶デバイス制御部は、前記ＮＡＳプロセッサによって変換されたブロックレベルのデータを取得して処理する入出力プロセッサを備える、
請求項１記載の記憶制御システム。
【請求項１０】
データを記憶する記憶デバイスに対してデータの読出し又は書込みを行う記憶デバイス制御部と、
サーバとして動作する複数のチャネル制御部と、
前記複数のチャネル制御部の中から選択されたチャネル制御部と前記記憶デバイス制御部との間でやり取りされる前記データが格納される１以上のメモリと、
前記記憶デバイス制御部、前記複数のチャネル制御部及び前記１以上のメモリに接続され、前記記憶デバイス制御部、前記選択されたチャネル制御部及び前記１以上のメモリの間でやり取りされる前記データの通信媒体となるデータ通信媒体と
を備え、
前記複数のチャネル制御部には、スケールアウト型チャネル制御部グループを構成する２以上のスケールアウトチャネルメンバと、前記スケールアウトチャネルメンバよりも高性能のチャネル制御部であるスケールアップチャネルとが含まれており、
前記データ通信媒体とは別に、前記スケールアウトチャネルメンバと前記スケールアップチャネルとの間でやり取りされるサーバ間メッセージの通信媒体となるサーバ間通信媒体を備える、
ことを特徴とする記憶制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばＲＡＩＤシステムのような記憶制御システムに関する。
【背景技術】
【０００２】
例えば、データセンタ等のような大規模なデータを取り扱うデータベースシステムでは、ホストコンピュータとは別に構成された記憶制御システムを用いてデータを管理する。この記憶制御システムは、例えば、多数の記憶デバイスをアレイ状に配設して構成されたRAID（Redundant Array of Independent Inexpensive Disks）のようなディスクアレイシステムである。
【０００３】
このような記憶制御システムには、例えば、特開２００３−３１６７１３号公報に開示されているように、ファイル単位のＩ／Ｏ要求を処理するネットワークチャネルアダプタ（以下、ＣＨＮ）を備えることにより、ＮＡＳ（Network Area Storage）となることができるものがある。
【０００４】
【特許文献１】特開２００３−３１６７１３号公報。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述した記憶制御システムは、ＣＨＮを搭載することによりファイルサーバとして動作することができる。しかし、ファイルサーバとしてだけでなく、別種のサーバとしても動作することができればより有用であると考えられる。具体的には、例えば、一つの記憶制御システムでいわゆるサーバ３階層モデルが実現されることが望ましいと考えられる。
【０００６】
ファイルサーバとしてだけでなく別種のサーバとしても動作することを一つの記憶制御システムで実現するための方法として、例えば、個々のＣＨＮの性能を高める方法が考えられる。しかし、その方法を実際に行うことは難しい。なぜなら、通常、記憶制御システムには予め決められたフォームファクタがあるからである。
【０００７】
具体的には、例えば、ＣＨＮは、上述した公報の図３に示されているように、全体として薄型のボードとすることができる。このため、上述した公報の図２に示されているように、狭いピッチで、ＣＨＮを差し込める複数のアダプタスロットを配列することができる。各アダプタスロットは、上述した公報の図２及び段落２７に記載されているように、ＣＨＮのみならず、ユーザ任意の他のアダプタボード（例えばディスクアダプタ）も差し込むことができるように構成されている。このような場合、単純にＣＨＮを高性能にすると、他のアダプタボードよりも高い熱を発生したり多くの電力を必要としたりするので、アダプタスロットに関わるフォームファクタの制限を守ることができない。
【０００８】
また、上述のことを実現するための別の方法として、フォームファクタが全体的により緩和された記憶制御システムを新たに構築する方法も考えられる。しかし、その方法を単純に採用するとなると、例えば、記憶制御システムのフォームファクタがＳＡＮ（Storage Area Network）向けに設計されている場合、ＣＨＮを基本とした新たなフォームファクタ（換言すればＮＡＳ向けのフォームファクタ）の設計が必要になってしまうという問題が生じる。
【０００９】
また、ＮＡＳ向けのフォームファクタを採用すると、例えば、記憶制御システムに、ＳＡＮ向けのアダプタボードを多く搭載することができず、実装効率が下がるという問題が生じてしまう。
【００１０】
従って、本発明の目的は、フォームファクタの少ない変更で記憶制御システムの性能を向上することにある。具体的には、例えば、ＳＡＮ向けのフォームファクタで設計されていても、そのフォームファクタを大きく変更することなく、ＮＡＳに関する性能を高めることにある。
【００１１】
本発明の更なる目的は、後の記載から明らかになるであろう。
【課題を解決するための手段】
【００１２】
本発明の第１の観点に従う記憶制御システムは、データを記憶する記憶デバイスと、前記記憶デバイスに対してデータの読出し又は書込みを行う記憶デバイス制御部と、サーバとして動作する複数のチャネル制御部と、前記複数のチャネル制御部の中から選択されたチャネル制御部と前記記憶デバイス制御部との間でやり取りされる前記データが格納される１以上のメモリと、データ通信媒体と、サーバ間通信媒体とを備える。前記データ通信媒体は、前記記憶デバイス制御部、前記複数のチャネル制御部及び前記１以上のメモリに接続され、前記記憶デバイス制御部、前記選択されたチャネル制御部及び前記１以上のメモリの間でやり取りされる前記データの通信媒体となる。前記サーバ間通信媒体は、前記複数のチャネル制御部に接続され、前記複数のチャネル制御部の各々と他のチャネル制御部との間で行われる通信の媒体となる。前記複数のチャネル制御部は、同一の筐体内に搭載され、スケールアウト型ＮＡＳヘッドグループを構成する２以上のＮＡＳヘッドメンバと、前記ＮＡＳヘッドメンバよりも高性能のＮＡＳヘッドであるスケールアップ型ＮＡＳヘッドとを含んでいる。前記筐体には、前記ＮＡＳヘッドメンバ及び前記ＮＡＳヘッドメンバとは異なる他種のチャネル制御部が差し込まれる複数の汎用型スロットが備えられる。前記２以上のＮＡＳヘッドメンバの各々は、前記汎用型スロットに差し込まれて実装される。前記スケールアップ型ＮＡＳヘッドは、前記筐体内において、前記複数の汎用型スロットとは別の場所に実装される。
【００１３】
本発明の第１の観点に従う記憶制御システムの第１の実施態様では、前記ＮＡＳヘッドメンバ、前記スケールアップ型ＮＡＳヘッド及び前記記憶デバイス制御部のうちの少なくとも１つが、ブロックレベルのデータを処理する第１のプロセッサを備える。前記ＮＡＳヘッドメンバには、前記１以上のメモリとは別の１以上の第１のメモリと、前記第１のプロセッサよりも高性能の１以上の第２のプロセッサとが備えられ、前記１以上の第１のメモリの各々は、前記１以上の第２のプロセッサに共有されることなく、前記１以上の第２のプロセッサのうちの１つの第２のプロセッサに使用される。このようなＮＡＳヘッドメンバを複数台使用して並列処理或いは並行処理することにより、スケールアウト型ＮＡＳヘッドグループが提供される。前記スケールアップ型ＮＡＳヘッドには、前記１以上のメモリとは別の第２のメモリと、前記第１のプロセッサよりも高性能の複数の第３のプロセッサとが備えられ、前記第２のメモリは、前記複数の第３のプロセッサに共有されるようになっている。前記第２と第３のプロセッサは同種のプロセッサ（例えば動作周波数が同じプロセッサ）であっても良い。
【００１４】
本発明の第１の観点に従う記憶制御システムの第２の実施態様では、前記第１の実施態様において、前記記憶デバイスにはデータベースが存在する。前記ＮＡＳヘッドメンバの前記第２のプロセッサは、ＷＥＢサーバとして動作するためのコンピュータプログラムを読込むことにより、ＷＥＢサーバとして動作する。前記スケールアップ型ＮＡＳヘッドの前記複数の第３のプロセッサは、前記データベースを処理するデータベースサーバとして動作するためのコンピュータプログラムを読込むことにより、データベースサーバとして動作する。
【００１５】
本発明の第１の観点に従う記憶制御システムの第３の実施態様では、前記第２の実施態様において、前記ＮＡＳヘッドメンバの前記第２のプロセッサは、前記記憶制御システムの外部の通信ネットワークに接続された外部機器からのアクセスに応じた問合せを、前記サーバ間通信媒体を介して前記スケールアップ型ＮＡＳヘッドに送信する。送信された前記問合せは、例えば、前記スケールアップ型ＮＡＳヘッドの前記第２のメモリに格納される。前記複数の第３のプロセッサの少なくとも１つは、前記問合せに従って、前記記憶デバイス制御部を介して前記データベースを処理することにより、前記問合せに対するデータである応答データを、前記データ通信媒体を介して前記１以上のメモリに読出し、且つ、前記問合せに対する応答メッセージを、前記サーバ間通信媒体を介して前記ＮＡＳヘッドメンバの前記第２のプロセッサに送信する。前記第２のプロセッサは、前記応答メッセージを受け、前記１以上のメモリに記憶されている前記応答データを、前記データ通信媒体を介して取得し、前記取得した応答データ、又は、前記応答データを加工することによって得られたデータを、前記外部機器に提供する。
【００１６】
本発明の第１の観点に従う記憶制御システムの第４の実施態様では、前記ＮＡＳヘッドメンバと前記スケールアップ型ＮＡＳヘッドとの間で、前記データ及びサーバ間メッセージがやり取りされる場合、前記サーバ間メッセージは、前記サーバ間通信媒体を介してやり取りされ、前記データは、前記１以上のメモリ及び前記データ通信媒体を介してやり取りされる。
【００１７】
本発明の第１の観点に従う記憶制御システムの第５の実施態様では、前記データ通信媒体は、前記サーバ間通信媒体よりもデータ転送帯域が広く、前記サーバ間通信媒体は、前記データ通信媒体よりも通信経路の数が多い。具体的には、例えば、前記データ通信媒体は、高速クロスバスイッチ又はＳＡＮ（Storage Area Network）であり、前記サーバ間通信媒体は、ＬＡＮ（Local Area Network）である。
【００１８】
本発明の第１の観点に従う記憶制御システムの第６の実施態様では、前記スケールアップ型ＮＡＳヘッドは、前記１以上のメモリとは別の第２のメモリと、前記第１のプロセッサよりも高性能のプロセッサであって、前記第２のメモリを共有する複数の第３のプロセッサと、前記サーバ間通信媒体に含まれる複数の転送経路にそれぞれ接続される複数の通信ポートを備えた通信コントローラ（例えばＬＡＮコントローラ）と、前記通信ポートが前記ＮＡＳヘッドメンバから受信したサーバ間メッセージを前記通信コントローラから受信するメモリコントローラとを備える。前記メモリコントローラは、前記複数の通信ポートのうちのどの通信ポートが前記サーバ間メッセージを受信したかに基づいて、前記受信したサーバ間メッセージを処理すべき第３のプロセッサを前記複数の第３のプロセッサの中から選択し、前記選択された第３のプロセッサに対して前記受信したサーバ間メッセージを処理させる。
【００１９】
本発明の第１の観点に従う記憶制御システムの第７の実施態様では、前記スケールアップ型ＮＡＳヘッドと前記ＮＡＳヘッドメンバの両方が、前記記憶制御システムの外部の通信ネットワークに接続される通信インターフェースを備える。
【００２０】
本発明の第１の観点に従う記憶制御システムの第８の実施態様では、前記第７の実施態様において、前記第一のチャネル制御部の前記第二のプロセッサは、前記障害が発生した旨を表す障害発生情報を前記共有メモリに書きこむ。複数の前記第二のチャネル制御部の各々の前記第四のプロセッサ、及び、前記一以上の第三のチャネル制御部の各々の前記第六のプロセッサは、前記共有メモリにアクセスし、前記第六のプロセッサよりも前記第四のプロセッサが先に前記障害発生情報を検出した場合には、前記第四のプロセッサはそれを無視する。
【００２１】
本発明の第１の観点に従う記憶制御システムの第９の実施態様では、前記ＮＡＳヘッドメンバ及び前記スケールアップ型ＮＡＳヘッドの各々は、ファイルレベルのデータをブロックレベルのデータに変換するＮＡＳプロセッサを備え、前記記憶デバイス制御部は、前記ＮＡＳプロセッサによって変換されたブロックレベルのデータを取得して処理する入出力プロセッサを備える。この場合、例えば、前記ＮＡＳプロセッサと前記入出力プロセッサとの間に専用割り込み線が備えられ、前記ＮＡＳプロセッサは、前記専用割り込み線を介して、前記ブロックレベルのデータを前記入出力プロセッサに転送する。或いは、例えば、前記ブロックレベルのデータが一時格納されるキューが備えられ、前記入出力プロセッサは、前記キューをポーリングし、前記ＮＡＳプロセッサ、前記ブロックレベルのデータを前記キューに格納した場合、前記入出力プロセッサが前記キューから前記ブロックレベルのデータを取得し処理する。
【００２２】
本発明に従う記憶制御システムは、例えば、以下のように、より抽象的に表現することができる。
【００２３】
すなわち、記憶制御システムは、データを記憶する記憶デバイスに対してデータの読出し又は書込みを行う記憶デバイス制御部と、サーバとして動作する複数のチャネル制御部と、前記複数のチャネル制御部の中から選択されたチャネル制御部と前記記憶デバイス制御部との間でやり取りされる前記データが格納される１以上のメモリと、前記記憶デバイス制御部、前記複数のチャネル制御部及び前記１以上のメモリに接続され、前記記憶デバイス制御部、前記選択されたチャネル制御部及び前記１以上のメモリの間でやり取りされる前記データの通信媒体となるデータ通信媒体とを備える。前記複数のチャネル制御部には、スケールアウト型チャネル制御部グループを構成する２以上のスケールアウトチャネルメンバと、前記スケールアウトチャネルメンバよりも高性能のチャネル制御部であるスケールアップチャネルとが含まれている。前記記憶制御システムは、前記データ通信媒体とは別に、前記スケールアウトチャネルメンバと前記スケールアップチャネルとの間で行われる通信の媒体となるサーバ間通信媒体を更に備える。スケールアウト型チャネル制御部グループを構成する２以上のスケールアウトチャネルメンバは、例えば、ＷＥＢサーバ等のように並列処理可能な処理を実行しても良い。それに対し、スケールアップチャネルは、データベースサーバ等のように並列処理が困難な処理（例えばシリアル処理で行ったほうが好ましい処理）を実行しても良い。
【００２４】
本発明の第２の観点に従う方法は、記憶制御システムにおけるデータ処理方法であり、第１〜第５のステップを有する。第１のステップでは、スケールアウト型チャネル制御部グループを構成する２以上のスケールアウトチャネルメンバの中から選択されたスケールアウトチャネルメンバが、外部機器（例えばホスト装置）から通信ネットワークを介してアクセスを受ける。第２のステップでは、前記選択されたスケールアウトチャネルメンバは、そのアクセスに基づく問合せを、サーバ間通信媒体を介して、スケールアップ型チャネル制御部に送信する。第３のステップでは、前記スケールアップ型チャネル制御部は、データ通信媒体を介して、記憶デバイスにアクセス可能な記憶デバイス制御部と通信を行うことで、前記問合せに従うデータを、前記データ通信媒体に接続されている１以上のメモリに読み出す。第４のステップでは、前記スケールアップ型チャネル制御部は、前記サーバ間通信媒体を介して、応答メッセージを前記選択されたスケールアウトチャネルメンバに送信する。第５のステップでは、前記選択されたスケールアウトチャネルメンバは、前記応答メッセージを受け、前記１以上のメモリに記憶されたデータを、前記データ通信媒体を介して読出し、前記読み出したデータを前記外部機器に送信する。
【発明の効果】
【００２５】
本発明によれば、フォームファクタの少ない変更で記憶制御システムの性能を向上することができる。
【発明を実施するための最良の形態】
【００２６】
以下、図面を参照して、本発明の一実施形態について説明する。
【００２７】
図１は、本発明の一実施形態に係る記憶制御システムの外観の概略を示す。
【００２８】
記憶制御システム６００は、例えば一つの筐体１０に構築することができる。なお、筐体１０内の構成を分かり易く示すため、筐体１０は想像線（図１では点線）で示している。
【００２９】
筐体１０は、例えば、縦及び横の長さは約１メートル、高さは約２メートルの大きさである。筐体１０には、例えば、正面１０７Ｆ側及び背面１０７Ｂ側に、複数の記憶デバイス３００が差し込まれる記憶デバイス収納ケース３０１と、１又は複数（例えば２台）のスケールアップＮＡＳヘッド（以下、「スケールアップＮＡＳ」と略記）１１０Ｈが差し込まれるスケールアップＮＡＳ収納ケース３０２と、複数種類のアダプタブレードが差し込まれるブレード収納部３０３とが備えられる。また、筐体１０には、複数の電源ユニット４００と、複数のバッテリユニット５００とがそれぞれ着脱可能に設けられている。また、筐体１０には、複数のファン１３が設けられている。
【００３０】
記憶デバイス収納ケース３０１には、複数の記憶デバイス３００がアレイ状に配列される。この実施形態では、記憶デバイス３００は、ハードディスクドライブであるが、変形例として、ハードディスクドライブに限らず、光ディスクドライブ（例えばＤＶＤドライブ）や、磁気テープドライブ等、任意の記憶デバイスが採用されても良い。
【００３１】
スケールアップＮＡＳ収納ケース３０２には、例えば、図２（Ａ）に示すような、空気取り込み口１０７を正面に有するボックス状のスケールアップＮＡＳ１１０Ｈ（具体例として、いわゆる１Ｕサーバ）が差し込まれる。スケールアップＮＡＳ収納ケース３０２は、ブレード収納部３０３とは別の場所に設けられている。
【００３２】
ブレード収納部３０３には、横方向に並んだ複数のブレードスロット１０４が備えられている。ブレードスロット１０４と隣のブレードスロット１０４との間隔は、ブレードスロット１０４の幅よりも狭くなっている。各ブレードスロット１０４には、複数種類のアダプタブレードのうちの任意のアダプタブレードを差し込むことができるようになっている。換言すれば、複数種類のアダプタブレードは、それぞれ、ブレードスロット１０４に関わるフォームファクタに従って作られている。複数種類のアダプタブレードには、例えば、ファイバチャネルを介してブロックレベルのＩ／Ｏ要求（入出力要求）を受信するファイバチャネルアダプタブレードと、インターネット等を介してファイルレベルのＩ／Ｏ要求を受信する組込み型ＮＡＳブレード１１０Ｌと、記憶デバイス３００に対するデータの読出し又は書込みを制御するディスクアダプタブレードと、後述するキャッシュメモリのアダプタブレードとが含まれる。組込み型ＮＡＳブレード１１０Ｌは、例えば図２（Ｂ）に示すように、ブレード状のＮＡＳヘッドであり、後述するストレージ接続部に繋がるコネクタ５０９Ａと、後述するサーバ接続部に繋がるコネクタ５０９Ｂとが備えられる。組込み型ＮＡＳブレード１１０Ｌには、少なくともファイルサーバとして動作するために高性能のプロセッサ（例えば、ブロックレベルのＩ／Ｏ要求を処理する後述のＩ／Ｏプロセッサよりも動作周波数が高いプロセッサ）が搭載されるため、一般に、組込み型ＮＡＳブレードが発生する熱量や消費する電力量は、他種のアダプタブレードに比べて多い。そのため、ブレード収納部３０３には、例えば、熱、冷却及び電力のうちの少なくとも１つのフォームファクタの関係上、Ｋ個のブレードスロット１０４のうち、組込み型ＮＡＳブレードはＮ枚（Ｋ＞Ｎ、Ｎ≧２、例えば、Ｋ＝３２、Ｎ＝８）まで搭載することができる。Ｎ枚の組込み型ＮＡＳブレードのうちの２以上の組込み型ＮＡＳブレードにより一つのスケールアウト型ＮＡＳヘッドグループが構築される。以下、スケールアウト型ＮＡＳヘッドグループを構成する組込み型ＮＡＳブレードを「スケールアウトＮＡＳメンバ」と略記する。
【００３３】
この記憶制御システム６００では、スケールアップＮＡＳ１１０ＨもスケールアウトＮＡＳメンバ１１０Ｌも例えば空冷式で冷却される。また、この記憶制御システム６００では、スケールアップＮＡＳ１１０Ｈから奪った熱を有する空気も、スケールアウトＮＡＳメンバ１１０Ｌから奪った熱を有する空気も、同一の方向へ排気される。具体的には、例えば、図示のように、スケールアップＮＡＳ１１０Ｈの外側（例えば正面１０７Ｆ又は背面１０７Ｂ）から空気取り込み口１０７を介して取り込まれた空気は、筐体１０の中心側へ送られ、その後、筐体１０の上方へ送られ、ファン１３を介して筐体１０の外へ排出される。スケールアウトＮＡＳメンバ１１０Ｌの外側（例えば正面１０７Ｆの下方及び筐体１０の下部）から取り込まれた空気も、筐体１０の中心側から上方へ送られ、ファン１３を介して筐体１０の外へ排出される。
【００３４】
図３は、本実施形態に係る記憶制御システムを備えるコンピュータシステムの構成を示すブロック図である。
【００３５】
このコンピュータシステム１では、通信ネットワーク（例えばＬＡＮ又はインターネット）８２０に、１以上のホスト端末２００と、記憶制御システム６００とが接続されている。通信ネットワーク８２０は、ファイルレベルのデータがやり取りされる通信ネットワークであり、例えば、ＬＡＮ、インターネット、専用回線、公衆回線等を場合に応じて適宜用いることができる。
【００３６】
１又は複数のホスト装置２００の各々は、例えば、ＣＰＵ（Central Processing Unit）やメモリ等の情報処理資源を備えたコンピュータ装置であり、例えば、パーソナルコンピュータ、ワークステーション、メインフレーム等として構成される。ホスト端末２００は、例えば、キーボードスイッチやポインティングデバイス、マイクロフォン等の情報入力装置（図示せず）と、例えば、モニタディスプレイやスピーカー等の情報出力装置（図示せず）とを備えている。さらに、ホスト端末２００は、例えば、ＷＷＷブラウザ２００Ａと、ＮＡＳを利用するためのＮＡＳ利用ソフトウェア２００Ｂと、Windows（登録商標）又はＵＮＩＸ（登録商標）等のＯＳ（オペレーティングシステム）とを備える。ホスト端末２００は、例えば、ファイル名を指定してファイル単位でのデータ入出力を記憶制御システム６００に要求する。ＮＡＳ利用ソフトウェア２００Ｂとしては、例えば、ＯＳ２００ＣがＵＮＩＸ（登録商標）の場合、ＮＦＳ（Network
File System）であり、ＯＳ２００ＣがＷｉｎｄｏｗｓ（登録商標）の場合、ＣＩＦＳ（Common Interface File System）である。
【００３７】
記憶制御システム６００は、例えば、アレイ状に配列された多数の記憶デバイス３００を備えるＲＡＩＤシステムである。記憶制御システム６００は、例えば、多重化（例えば二重化）された記憶制御サブシステム６００Ａを有する。記憶制御サブシステム６００Ａは、記憶制御装置１００と記憶装置ユニット１０１とに大別することができる。記憶制御装置１００は、例えば、複数のチャネル制御部１１２と、複数のディスクアダプタ（以下、ＤＫＡ）１４０と、キャッシュメモリ１３０と、共有メモリ１２０と、ストレージ接続部１５０と、サーバ接続部１５１とを備えている。複数のチャネル制御部１１２には、スケールアウト型ＮＡＳヘッドグループ（以下、スケールアウトＮＡＳ）１１１を構成する２以上のスケールアウトＮＡＳメンバ１１０Ｌと、スケールアップＮＡＳ１１０Ｈとが含まれている（以下、スケールアウトＮＡＳメンバ及びスケールアップＮＡＳを総称する場合には「ＮＡＳアダプタ」呼ぶ）。
【００３８】
ＮＡＳアダプタ１１０Ｌ及び１１０Ｈは、ホスト端末２００との間のデータ通信を行うものである。ＮＡＳアダプタ１１０Ｌ及び１１０Ｈは、例えば、ＣＰＵやメモリ等を備えたマイクロコンピュータシステムとして構成されており、ホスト端末２００から受信した各種コマンドを解釈して実行する。ＮＡＳアダプタ１１０Ｌ及び１１０Ｈの各々には、自分を識別するためのネットワークアドレス（例えば、ＩＰアドレスやＷＷＮ）が割り当てられている。ＮＡＳアダプタ１１０Ｌ及び１１０Ｈの各々は、ホスト端末２００から通信ネットワーク８２０を介してファイル単位でのＩ／Ｏコマンド（例えば、ファイル名と、そのファイル名を持つファイルをリード又はライトする命令とを含んだコマンド、以下、「ファイルＩ／Ｏコマンド」と言う）を受けて、そのファイルＩ／Ｏコマンドを処理するＮＡＳ（Network Attached Storage）として振る舞うことができるようになっている。スケールアウトＮＡＳ１１１を構成する各スケールアウトＮＡＳメンバ１１０Ｌは、いわゆるサーバ３階層モデルにおけるフロントエンドのサーバ、例えばＷＥＢサーバとして動作するためのコンピュータプログラム（以下、ＷＥＢサーバプログラム）４７０を取得し、そのプログラム４７０に従って動作する。スケールアップＮＡＳ１１０Ｈは、いわゆるサーバ３階層モデルにおけるバックエンドのサーバ、例えばデータベースサーバとして動作するためのコンピュータプログラム（以下、ＤＢサーバプログラム）４５０を取得し、そのプログラム４５０に従って動作する。なお、サーバ３階層モデルにおけるミッドティアのサーバ、例えばアプリケーションサーバとして動作するためのコンピュータプログラム（以下、ＡＰサーバプログラム）４６０は、スケールアウトＮＡＳメンバ１１０Ｌ及びスケールアップＮＡＳ１１０Ｈの一方又は両方が取得しても良い。具体的には、例えば、スケールアウトＮＡＳメンバ１１０Ｌが、ＷＥＢサーバプログラム４７０とＡＰサーバプログラム４６０とを取得することによりＷＥＢアプリケーションサーバとして動作しても良い。
【００３９】
各ＤＫＡ１４０は、記憶装置ユニット１０１内の論理的な記憶ユニット（以下、ＬＵ）３１０との間のデータ授受を行うものである。各ＤＫＡ１４０は、ＬＵ３１０を備える記憶デバイス３００に接続するための図示しない通信ポートを備えている。また、各ＤＫＡ１４０は、ＣＰＵやメモリ等を備えたマイクロコンピュータシステムとして構成されている。各ＤＫＡ１４０は、スケールアウトＮＡＳメンバ１１０Ｌ或いはスケールアップＮＡＳ１１０Ｈからキャッシュメモリ１３０に書き込まれたデータを取得してＬＵ３１０に書込んだり、また、ＬＵ３１０から読み出したデータをキャッシュメモリ１３０に格納したりする。各ＤＫＡ１４０は、ＬＵ３１０との間でデータ入出力を行う場合、論理的なアドレスを物理的なアドレスに変換する。
【００４０】
キャッシュメモリ（以下、「ＣＭ」と略記する場合有り）１３０は、例えば揮発性又は不揮発性のメモリであり、ホスト端末２００から受信したデータや、後述するＬＵ３１０から読出されたデータを一時的に記憶するものである。
【００４１】
共有メモリ（以下、「ＳＭ」と略記する場合有り）１２０は、例えば不揮発性のメモリであり、ホスト装置との間でやり取りされるデータに関する制御情報（例えば、ＣＭ１３０上に確保されたどのキャッシュ領域にどのデータが格納されるべきかを示す情報）等が格納される。また、共有メモリ１２０には、例えば、ワーク領域（例えば、各チャネル制御部１１２及びＤＫＡ１４０のＣＰＵ間でやり取りされるメッセージを一時的に記憶する領域）が設定される。なお、図示の例では、ＣＭ１３０とＳＭ１２０は、物理的に分離しているが、一つのメモリであっても良い。その場合、そのメモリ上のメモリ空間が、論理的に、ＣＭ用の空間とＳＭ用の空間とに分けられても良い。
【００４２】
ストレージ接続部１５０は、各チャネル制御部１１２、各ＤＫＡ１４０、キャッシュメモリ１３０及び共有メモリ１２０を相互に接続させる。ストレージ接続部１５０は、例えば、高速スイッチング動作によってデータ伝送を行う超高速クロスバスイッチ等のような高速バスとして構成することができる。ストレージ接続部１５０は、キャッシュメモリ１３０を介して各チャネル制御部１１２と各ＤＫＡ１４０と間でやり取りされるデータの通信媒体である。例えば、ストレージ接続部１５０における各転送経路のデータ転送帯域は、サーバ接続部１５１よりも広いことが好ましい。
【００４３】
サーバ接続部１５１には、各チャネル制御部１１２と１以上の他のチャネル制御部１１２とが接続される。サーバ接続部１５１は、各チャネル制御部１１２と他のチャネル制御部１１２との間でやり取りされるサーバ間メッセージの通信媒体である。なお、サーバ接続部１５１は、ＮＡＳアダプタ間の専用ネットワークとなればどのような構成であっても良い。例えば、サーバ接続部１５１は、ＬＡＮであっても良いしファイバであっても良い。例えば、サーバ接続部１５１における転送経路の数は、ストレージ接続部１５０よりも多いことが好ましい。具体的には、例えば、各ＮＡＳアダプタには、ストレージ接続部１５０に接続される通信ポートよりも、サーバ接続部１５１に接続される通信ポートの方が多く搭載され、その多くの通信ポートの各々がサーバ接続部１５１に接続される。
【００４４】
記憶装置ユニット１０１には、アレイ状に配列された複数の記憶デバイス３００が含まれている。記憶デバイス３００としては、例えば、ハードディスク、フレキシブルディスク、磁気テープ、半導体メモリ、光ディスク等のようなデバイスを用いることができる。記憶デバイス３００の記憶領域上には、論理的な記憶デバイスである複数の論理ユニット（以下、「ＬＵ」と略記）３１０が備えられている。或るＬＵ３１０には、データベース（例えば、リレーショナルデータベース又はオブジェクトデータベース）１０３や、１以上のデータファイル１０４が格納されている。各ＬＵ３１０には、そのＬＵに格納されているデータに関するファイルメタデータが格納されていても良い。各ＬＵ３１０のファイルメタデータには、そのＬＵ３１０に格納されている各ファイルに関する属性情報（例えばファイル名及び格納先アドレス等）が登録されている。
【００４５】
図４は、スケールアウトＮＡＳメンバ１１０Ｌの構成例を示すブロック図である。
【００４６】
スケールアウトＮＡＳメンバ１１０Ｌは、通信ポート２０７Ａと、外部ネットワークＩ／Ｆ（インターフェース）５０３と、データ転送ＬＳＩ５０１Ａ及び５０１Ｂと、ブリッジＬＳＩ５０２と、Ｉ／Ｏプロセッサ５０４及びＩ／Ｏメモリ５０７を備えた１又は複数の入出力制御部８６９と、メモリコントローラ５０５と、ＮＡＳプロセッサ５０６と、ＮＡＳメモリ５０８と、ストレージコネクタ５０９Ａと、サーバコネクタ５０９Ｂとを備えている。
【００４７】
外部ネットワークＩ／Ｆ５０３は、メモリコントローラ５０５及びブリッジＬＳＩ５０２を介してＮＡＳプロセッサ５０６から受けた指示に従って、通信ポート２０７Ａの制御を行う。外部ネットワークＩ／Ｆ５０３は、例えばＬＡＮコントローラである。
【００４８】
ブリッジＬＳＩ５０２は、例えば、ＬＡＮコントローラ５０３、メモリコントローラ５０５、及びデータ転送ＬＳＩ５０１の相互の通信を可能とするためのＬＳＩ（Large-Scale Integrated circuit）である。
【００４９】
メモリコントローラ５０５は、ＮＡＳプロセッサ５０６とＮＡＳメモリ５０８との間の通信を制御するためのＬＳＩである。メモリコントローラ５０５は、ＮＡＳプロセッサ５０６、ＮＡＳメモリ５０８及びブリッジＬＳＩ５０２に接続される。
【００５０】
ＮＡＳメモリ５０８は、ＮＡＳプロセッサ５０６の制御を司るプログラムや、ＣＭ１３０とホスト端末２００との間でやり取りされるデータ等を記憶することができる。ＮＡＳメモリ５０８は、例えば、ファイルシステムプログラム８１７、ネットワーク制御プログラム８１８、ＷＥＢサーバプログラム４７０、ＡＰサーバプログラム４６０、及び、ＨＴＴＰデーモンとして動作するためのＨＴＴＰ（Hyper Text Transfer Protocol）デーモンプログラム８６５等を記憶することができる。ファイルシステムプログラム８１７は、例えば、ファイルＩ／Ｏコマンドに含まれているファイル名と、そのファイル名を有するファイルが格納されている場所のアドレス情報（例えばＬＵＮ及び先頭論理ブロックアドレス）との対応づけを管理し、その対応付けに基づいて、ファイルＩ／ＯコマンドをブロックＩ／Ｏコマンドに変換する。ネットワーク制御プログラム８１８は、例えば、ＮＦＳ（Network
File System）とＳａｍｂａの２つのファイルシステムプロトコルを含んで構成される。ＮＦＳは、ＮＦＳが動作するＵＮＩＸ（登録商標）オペレーティングシステムを搭載したホスト装置からのファイルＩ／Ｏコマンドを受け付ける。一方、Ｓａｍｂａは、ＣＩＦＳ（Common
Interface File System）が動作するＷｉｎｄｏｗｓ（登録商標）オペレーティングシステムを搭載したホスト端末らのファイルＩ／Ｏコマンドを受け付ける。
【００５１】
ＮＡＳプロセッサ５０６は、ＣＰＵ（例えば６４ビットＣＰＵ）又はマイクロプロセッサである。ＮＡＳプロセッサ５０６は、例えば、Ｉ／Ｏプロセッサ５０４よりも高性能（例えば、演算処理速度が速い、動作クロック周波数が高い）である。ＮＡＳプロセッサ５０６は、メモリコントローラ５０５に接続されている。ＮＡＳプロセッサ５０６は、ＮＡＳメモリ５０８に格納されているファイルシステムプログラム８１７及びネットワーク制御プログラム８１８等を読出し、読み出したコンピュータプログラムに従う処理を実行することができる。例えば、ＮＡＳプロセッサ５０６は、ネットワーク制御プログラム８１８により、ホスト端末２００からのファイルＩ／Ｏコマンドを受け付ける。また、ＮＡＳプロセッサ５０６は、ファイルシステムプログラム８１７により、ホスト端末２００から受信しＮＡＳメモリ５０８に格納されたファイルＩ／ＯコマンドをブロックＩ／Ｏコマンドに変換してＩ／Ｏプロセッサ５０４に出力することができる。また、例えば、ＮＡＳプロセッサ５０６は、ＷＥＢサーバプログラム４７０を読込むことにより、ＷＥＢサーバとして動作することができるし、ＡＰサーバプログラム４６０を読込むことにより、ＡＰサーバとして動作することもできる。
【００５２】
Ｉ／Ｏプロセッサ５０４は、ＣＰＵ（例えば３２ビットＣＰＵ）又はマイクロプロセッサであり、Ｉ／Ｏメモリ５０７から読み出した制御プログラム８６４により、ストレージ接続部１５０との間のデータの授受や、ＮＡＳプロセッサ５０６とストレージ接続部１５０との間のデータ通信の中継や、その他の後述する種々の処理を実行することができる。
【００５３】
Ｉ／Ｏメモリ５０７は、Ｉ／Ｏプロセッサ５０４の制御を司るコンピュータプログラム等を格納する。
【００５４】
データ転送ＬＳＩ５０１Ａは、ストレージコネクタ５０９Ａと、Ｉ／Ｏプロセッサ５０４と、ブリッジＬＳＩ５０２とに接続され、データ（例えば後述するＤＢ処理によって抽出された応答データ）の転送の制御を行う。データ転送ＬＳＩ５０１Ｂは、サーバコネクタ５０９Ｂと、ブリッジＬＳＩ５０２とに接続され、ＮＡＳヘッド間でやり取りされるサーバ間メッセージ（例えば問合せとそれに対する応答）の転送の制御を行う。データ転送ＬＳＩ５０１Ａとデータ転送ＬＳＩ５０１Ｂは、図示のように物理的に別れて配置されても良いし、一体型に構成されても良い。
【００５５】
ストレージコネクタ５０９Ａは、ストレージ接続部１５０に接続される。具体的には、例えば、ストレージコネクタ５０９Ａは、ストレージ接続部１５０に含まれるＣＭ転送経路（ＣＭ１３０に接続された転送経路）及びＳＭ転送経路（ＳＭ１２０に接続されて転送経路）に接続される。なお、必ずしも、一つのストレージコネクタ５０９Ａに、ＣＭ転送経路とＳＭ転送経路とが混在する必要はない。例えば、ストレージコネクタ５０９Ａの代わりに、ＣＭ転送経路に接続される第１のストレージコネクタと、ＳＭ転送経路に接続される第２のストレージコネクタとが備えられても良い。
【００５６】
サーバコネクタ５０９Ｂは、サーバ接続部１５１に接続される。具体的には、例えば、サーバコネクタ５０９Ｂは、サーバ接続部１５１に含まれる転送経路に接続される。
【００５７】
図５は、スケールアップＮＡＳ１１０Ｈの構成例を示すブロック図である。
【００５８】
この図では、スケールアウトＮＡＳメンバ１１０Ｌと同一の構成要素については、参照番号は異なるが同一の名称を付している。同一名称の構成要素は、同一の機能を有する。以下、説明の重複を避けるため、スケールアウトＮＡＳメンバ１１０Ｌとの相違点を主に説明し、重複する部分については説明を簡略或いは省略する。
【００５９】
スケールアップＮＡＳ１１０Ｈにおいて、スケールアウトＮＡＳメンバ１１０Ｌと最も異なる点は、複数（例えば４つ）のＮＡＳプロセッサ１５０６が、メモリコントローラ１５０５を介して同一のＮＡＳメモリ１５０８を共有する点である。例えば、複数のＮＡＳプロセッサ１５０６が、それぞれＤＢサーバプログラム４５０を読込み、ＤＢ処理を複数のＮＡＳプロセッサ１５０６が分担し並行して行うことにより、高速なＤＢ処理が実現される。換言すれば、１台で高性能なＮＡＳヘッドが提供される。なお、複数のＮＡＳプロセッサ１５０６は、対称型マルチプロセッサ（ＳＭＰ）であっても良いし、非対称型マルチプロセッサ（ＡＭＳＰ）であっても良い。
【００６０】
ＮＡＳメモリ１５０８には、ＤＢサーバプログラム１５０８が格納される。
【００６１】
以上が、スケールアウトＮＡＳメンバ１１０Ｌ及びスケールアップＮＡＳ１１０Ｈの構成例である。なお、本実施形態において、記憶制御システム６００内でのいわゆるサーバ３階層モデルの下では、スケールアップＮＡＳ１１０ＨとＤＫＡ１４０とが通信することにより、ＬＵ３１０から読み出されたデータ（例えば、ＤＢ１０３に関連する全てのデータ、或いは、ＤＢ処理によって生成された応答データ）はＮＡＳメモリ１５０８に格納される。しかし、スケールアウトＮＡＳメンバ１１０ＬとＤＫＡ１４０とは通信をしないので、スケールアウトＮＡＳメンバ１１０ＬのＮＡＳメモリ５０８にはデータが格納されない。このため、スケールアウトＮＡＳメンバ１１０ＬのＮＡＳメモリ５０８は、スケールアップＮＡＳ１１０ＨのＮＡＳメモリ１５０８よりも記憶容量を小さくしても良い。
【００６２】
図６は、ＤＫＡ１４０の構成例を示すブロック図である。
【００６３】
ＤＫＡ１４０には、通信ポート２２Ａと、ＦＣコントローラ６０２と、データ転送ＬＳＩ６０１と、ＩＯプロセッサ６０３及びＩ／Ｏメモリ６０４を備えた１又は複数の入出力制御部８７０と、コネクタ６０５とを備えている。
【００６４】
通信ポート２２Ａは、図示しない通信ネットワーク（例えばファイバチャネル）を介して記憶デバイス３００と通信を行うためのポートである。
【００６５】
ＦＣコントローラ６０２は、通信ポート２２Ａとデータ転送ＬＳＩ６０１との間に介在する。ＦＣコントローラ６０２は、例えば、ファイバチャネルプロトコルに従い、ブロックレベルのデータの授受を制御する。
【００６６】
Ｉ／Ｏメモリ６０４には、Ｉ／Ｏプロセッサ６０３の制御を司るプログラムを格納するためのものである。
【００６７】
Ｉ／Ｏプロセッサ６０３は、ＣＰＵ又はマイクロプロセッサである。Ｉ／Ｏプロセッサ６０３は、データ転送ＬＳＩ６１０、Ｉ／Ｏメモリ６０４及びＳＶＰ２３に接続されており、Ｉ／Ｏメモリ６０４内の種々のコンピュータプログラムを読込んで、データやコマンドの授受を制御する。
【００６８】
データ転送ＬＳＩ６０１は、ストレージ接続部１５０に接続されるコネクタ６０５と、Ｉ／Ｏプロセッサ６０３と、ＦＣコントローラ６０２とに接続され、データ転送の制御を行うＬＳＩである。
【００６９】
本実施形態では、１台の記憶制御システム６００でいわゆるサーバ３階層モデルが構築されている。従って、この記憶制御システム６００内では、サーバ３階層モデルに応じた様々な処理流れが行われる。以下、ＷＥＢサーバプログラム４７０とＤＢサーバプログラム４５０との間でデータ処理が行われる場合の一例を説明する。なお、以下の説明では、ＷＥＢサーバプログラム４７０は、ＡＰサーバプログラム４６０と一体になったＷＥＢアプリケーションサーバプログラムであっても良い。
【００７０】
図７は、本実施形態に係るコンピュータシステム１において行われる処理流れの概要を示す。
【００７１】
例えば、ホスト端末２００に表示されている或るＷＥＢ画面（例えばＨＴＭＬで記述されたＷＥＢページ）に対して、ユーザがＷＥＢページ要求操作（例えば、所望のキーワードを入力して検索実行ボタンを押す操作）を行った場合、そのＷＥＢページ要求操作に従うＷＥＢページ要求（例えば、所望のキーワードを有するＷＥＢページ）が、ホスト端末２００から、通信ネットワーク８２０を介して、スケールアウトＮＡＳ１１１の中から選択されたスケールアウトＮＡＳメンバ１１０Ｌに送信される（ステップＳ１）。
【００７２】
スケールアウトＮＡＳメンバ１１０Ｌが受けたＷＥＢページ要求は、ＮＡＳプロセッサ５０６に読込まれたＷＥＢサーバプログラム４７０によって解釈される。ＷＥＢサーバプログラム４７０は、そのＷＥＢページ要求に基づいて、ＤＢサーバ問合せメッセージ（例えば、「SELECT：列名  FROM：表名  WEHRE：条件」の構文を有するSQL（Structured Query Language））を生成し、そのＤＢサーバ問合せメッセージを、サーバ接続部１５１を介して、スケールアップＮＡＳ１１０Ｈに送信する（Ｓ２）。なお、ＤＢサーバ問合せメッセージは、例えば、スケールアウトＮＡＳメンバ１１０Ｌのファイルシステムで管理されているファイル情報に基づいて生成することができる。
【００７３】
スケールアップＮＡＳ１１０Ｈが受けたＤＢサーバ問合せメッセージは、複数のＮＡＳプロセッサ１５０６に読込まれたＤＢサーバプログラム４５０（換言すれば、複数のＮＡＳプロセッサ１５０６の中から選択されたＮＡＳプロセッサ）によって解釈される。ＤＢサーバプログラム４５０は、ＤＢサーバ問合せメッセージの解釈の結果に基づくＤＢ処理を実行する（Ｓ３）。このＤＢ処理は、複数のＮＡＳプロセッサ１５０６のうちの１つのＮＡＳプロセッサによって行われても良いし、２以上のＮＡＳプロセッサの並列処理又は並行処理によって行われてもよい。また、このＤＢ処理では、例えば、複数のＮＡＳプロセッサ１５０６のうちの少なくとも１つのＮＡＳプロセッサが、ＤＫＡ１４０のＩ／Ｏプロセッサ６０３とやり取りすることにより、ＬＵ３１０内のＤＢ（例えばリレーショナルデータベース）１０３から、ＤＢサーバ問合せメッセージにより要求されたデータ（以下、問合せ応答データ）を取得する。
【００７４】
問合せ応答データを取得したスケールアップＮＡＳ１１０Ｈは、その問合せ応答データを、ストレージ接続部１５０を介して、キャッシュメモリ１３０に書込む（Ｓ４）。また、そのスケールアップＮＡＳ１１０Ｈは、Ｓ２のＤＢサーバ問合せメッセージの応答である問合せ応答メッセージ（例えば、問合せ応答データを格納した場所を示すポインタ（以下、キャッシュポインタ）を含むサーバ間メッセージ）を、サーバ接続部１５１を介して、ＤＢサーバ問合せメッセージの送信元のスケールアウトＮＡＳメンバ１１０Ｌに送信する（Ｓ５）。このように、問合せ応答データそれ自体ではなくそれよりもデータサイズの小さい応答メッセージがサーバ接続部１５１を流れるので、サーバ接続部１５１の転送帯域がストレージ接続部１５０のそれよりも狭くて良い。なお、Ｓ３のＤＢ処理において、問合せ応答データが既にキャッシュメモリ１３０に書き込まれている場合には、スケールアップＮＡＳ１１０Ｈは、Ｓ４を行わず、その問合せ応答データの格納場所を表すポインタを、サーバ接続部１５１を介してスケールアウトＮＡＳメンバ１１０Ｌに送信しても良い。
【００７５】
スケールアウトＮＡＳメンバ１１０Ｌが受けた問合せ応答メッセージは、例えば、ＮＡＳプロセッサ５０６に読込まれたＷＥＢサーバプログラム４７０によって解釈される。ＷＥＢサーバプログラム４７０は、その問合せ応答メッセージに応答して、ストレージ接続部１５０を介してキャッシュメモリ１３０から問合せ応答データを取得する（Ｓ６）。そして、ＷＥＢサーバプログラム４７０は、取得した問合せ応答データ（或いはそれを加工したデータ）を載せたＷＥＢページ４９０を生成し、そのＷＥＢページ４９０を、Ｓ１のＷＥＢページ要求の送信元であるホスト端末２００に提供する（Ｓ７）。
【００７６】
以下、Ｓ１〜Ｓ７の処理の具体的な流れの一例を説明する。なお、以下の説明では、各ステップに属するステップに対しては、枝コードを付する。例えば、Ｓ２に属するステップには、「Ｓ２Ａ」のように、「Ｓ２」の後に大文字のアルファベットを枝コードとして付する。
【００７７】
図８は、図７のＳ１〜Ｓ２の処理の具体例を示す。
【００７８】
スケールアウトＮＡＳ１１１を構成する２以上のスケールアウトＮＡＳメンバ１１０Ｌの中から選択されたスケールアウトＮＡＳメンバ１１０Ｌにおいて、ＮＡＳプロセッサ５０６に読込まれたＷＥＢサーバプログラム４７０が、ホスト端末２００から受信したＷＥＢページ要求を取得する（Ｓ１）。そして、ＷＥＢサーバプログラム４７０は、そのＷＥＢページ要求の内容に基づいて、ＤＢサーバ問合せメッセージを生成し（Ｓ２Ａ）、生成したＤＢサーバ問合せメッセージを、サーバ接続部１５１を介してスケールアップＮＡＳ１１０に送信する（Ｓ２Ｂ）。送信されたＤＢサーバ問合せメッセージは、スケールアップＮＡＳ１１０ＨのＮＡＳメモリ１５０８に一旦格納される（Ｓ２Ｃ）。
【００７９】
図９は、図７のＳ３〜Ｓ４の処理の具体例を示す。
【００８０】
スケールアップＮＡＳ１１０Ｈにおけるメモリコントローラ１５０５が、ＮＡＳメモリ１５０８に格納されたＤＢサーバ問合せメッセージ１０８を取得し（Ｓ３Ａ）、取得したＤＢサーバ問合せメッセージ１０８を、複数のＮＡＳプロセッサ１５０６の中から選択したＮＡＳプロセッサ１５０６に振り分ける（Ｓ３Ｂ）。
【００８１】
ＤＢサーバ問合せメッセージが振り分けられたＮＡＳプロセッサ１５０６は、自分が管理しているファイルシステムを基に、ＤＢ１０３の存在場所（例えば、ＬＵ３１０のＩＤ、先頭論理ブロックアドレス及びデータサイズ）を把握し、ＤＢ１０３を取得するためのブロックレベルのＩ／Ｏ要求をＩ／Ｏプロセッサ１５０４に送信する（Ｓ３Ｃ）。
【００８２】
スケールアップＮＡＳ１１０ＨのＩ／Ｏプロセッサ１５０４は、ストレージ接続部１５０及びＳＭ１２０を介して、ＤＫＡ１４０のＩ／Ｏプロセッサ６０３とプロセッサ間通信を行うと共に（Ｓ３Ｄ）、そのＩ／Ｏ要求を、ストレージ接続部１５０及びＣＭ１３０を介して、ＤＫＡ１４０のＩ／Ｏプロセッサ６０３に送信する（Ｓ３Ｅ）。
【００８３】
ＤＫＡ１４０のＩ／Ｏプロセッサ６０３は、プロセッサ間通信により知らされたキャッシュ領域（ＣＭ１３０上の領域）から、ストレージ接続部１５０を介してＩ／Ｏ要求を読み出す（Ｓ３Ｆ）。そして、Ｉ／Ｏプロセッサ６０３は、そのＩ／Ｏ要求に従って、ＬＵ３１０からＤＢ１０３を取得し、そのＤＢ１０３を、ストレージ接続部１５０を介してキャッシュメモリ１３０に格納する（Ｓ３Ｇ）。そして、ＤＫＡ１４０のＩ／Ｏプロセッサ６０３は、ストレージ接続部１５０及びＳＭ１２０を介して、スケールアップＮＡＳ１１０ＨのＩ／Ｏプロセッサ１５０４とプロセッサ間通信を行う（Ｓ３Ｈ）。
【００８４】
スケールアップＮＡＳ１１０ＨのＩ／Ｏプロセッサ１５０４は、プロセッサ間通信により知らされたキャッシュ領域（ＣＭ１３０上の領域）から、ストレージ接続部１５０を介してＤＢ１０３を読み出し（Ｓ３Ｉ）、ＮＡＳメモリ１５０８に格納する。１又は複数のＮＡＳプロセッサ１５０６は、Ｓ３Ｂで振り分けられたＤＢサーバ問合せメッセージの内容に基づいて、ＮＡＳメモリ１５０８に格納されたＤＢ１０３を処理する（Ｓ３Ｋ）。例えば、１又は複数のＮＡＳプロセッサ１５０６は、ＮＡＳメモリ１５０８に格納されたＤＢ１０３からユーザ所望のキーワードを有するデータを抽出する。
【００８５】
Ｓ３ＫのＤＢ処理によって、問合せ応答データ１０５が生成され、ＮＡＳメモリ１５０８に格納される。
【００８６】
複数のＮＡＳプロセッサ１５０６の中から選択されたＮＡＳプロセッサ１５０６は、問合せ応答データ１０５をキャッシュメモリ１３０に格納することを要求するＩ／Ｏ要求をＩ／Ｏプロセッサ１５０４に送信する（Ｓ４Ａ）。Ｉ／Ｏプロセッサ１５０４は、そのＩ／Ｏ要求に応答して、ＮＡＳメモリ１５０８内の問合せ応答データ１０５を取得しキャッシュメモリ１３０に格納する（Ｓ４Ｂ）。
【００８７】
図１０は、図７のＳ５〜Ｓ７の処理の具体例を示す。
【００８８】
スケールアップＮＡＳ１１０ＨのＮＡＳプロセッサ１５０６（換言すればＤＢサーバプログラム４５０）は、問合せ応答データ１０５が格納された場所の情報を含んだ問合せ応答メッセージを、サーバ接続部１５１を介して、ＤＢサーバ問合せメッセージの送信元のスケールアウトＮＡＳメンバ１１０Ｌに送信する（Ｓ５）。
【００８９】
スケールアウトＮＡＳメンバ１１０ＬのＮＡＳプロセッサ５０６（換言すればＷＥＢサーバプログラム４７０）は、その問合せ応答メッセージに含まれる情報が示す場所から問合せ応答データ１０５を取得するためのＩ／Ｏ要求をＩ／Ｏプロセッサ５０４に出力する（Ｓ６Ａ）。Ｉ／Ｏプロセッサ５０４は、そのＩ／Ｏ要求に従って、キャッシュメモリ１３０からストレージ接続部１５０を介して問合せ応答データ１０５を取得し、取得した問合せ応答データ１０５をＮＡＳメモリ５０８に格納する（Ｓ６Ｂ）。
【００９０】
ＮＡＳプロセッサ５０６は、ＮＡＳメモリ５０８に格納された問合せ応答データ１０５（又はそれを加工して得られたデータ）を載せたＷＥＢページ４９０を生成し（Ｓ７Ａ）、生成したＷＥＢページ４９０を、ＷＥＢページ要求の送信元のホスト端末２００に提供する（Ｓ７Ｂ）。
【００９１】
以上、上述した実施形態によれば、一台の記憶制御システム６００に、スケールアウトＮＡＳ１１１とスケールアップＮＡＳ１１０Ｈとの両方が搭載される。これにより、記憶制御システム６００が高性能化される。
【００９２】
また、上述した実施形態によれば、スケールアウトＮＡＳ１１１を構成する２以上のスケールアウトＮＡＳメンバ１１０Ｌの各々や、スケールアップＮＡＳ１１０Ｈは、サーバとして動作する。記憶制御システム６００には、ＬＵ３１０に格納されたりＬＵ３１０から読み出されたりするデータ（例えばユーザデータ）が流れるストレージ接続部１５０とは別に、サーバ間メッセージ（上記データとは別のデータ、例えば問合せメッセージや応答メッセージ）をやり取りするためのサーバ接続部１５１が設けられる。これにより、記憶制御システム６００内で、スケールアウトＮＡＳメンバ１１０ＬとスケールアップＮＡＳ１１０Ｈとの間でやり取りされるのがデータであるかサーバ間メッセージであるかに応じて、複数の接続部が選択的に使用される。この結果、記憶制御システム６００内で効率的なデータ処理を行うことができる。
【００９３】
また、上述した実施形態によれば、ＷＥＢサーバ等のように並列処理可能な処理をスケールアウトＮＡＳ１１１が行い、ＤＢサーバ等のように並列処理困難な処理をスケールアップＮＡＳ１１０Ｈが行う。これにより、記憶制御システム６００内でより効率的なデータ処理を行うことができる。
【００９４】
さて、本実施形態には幾つかの変形例が考えられる。
【００９５】
図１１は、本発明の第１の変形例におけるスケールアップＮＡＳの構成例である。
【００９６】
サーバコネクタ１５０９Ｂに接続されるデータ転送ＬＳＩには、複数の入出力ポート５０１Ａ〜５０１Ｄが備えられている。複数の入出力ポート５０１Ａ〜５０１Ｄには、それぞれ、サーバ接続部１５１に含まれる複数の転送経路が接続されている。また、複数の入出力ポート５０１Ａ〜５０１Ｄには、それぞれ、複数のポートＩＤ（例えばＭＡＣアドレス或いはＩＰアドレス）が割当てられている。
【００９７】
ＮＡＳメモリ１５０８には、メッセージ振分けテーブル５０３と、メッセージバッファ５０２とが備えられている。メッセージ振分けテーブル５０３は、スケールアウトＮＡＳメンバ１１０Ｌから受信したメッセージメッセージを、複数のＮＡＳプロセッサ１５０６のうちのどのＮＡＳプロセッサに振り分けるかを決定するために使用されるテーブルである。例えば、メッセージ振分けテーブル５０３には、複数のポートＩＤ（例えばＭＡＣアドレス）にそれぞれ対応した複数の振分け先が記録されている。
【００９８】
この第１の変形例において、例えば、第１の入出力ポート５０１を介して、スケールアウトＮＡＳメンバ１１０Ｌからのサーバ間メッセージ（例えば問合せメッセージ）が、メッセージバッファ５０２に格納された場合（Ｓ１１）、メモリコントローラ１５０５が、そのメッセージが通過した入出力ポート５０１ＡのポートＩＤに対応した振分け先をメッセージ振分けテーブル５０３から把握する（Ｓ１２）。そして、メモリコントローラ１５０５が、把握された振分け先に該当する第１のＮＡＳプロセッサ１５０６に、メッセージバッファ５０２に格納されたメッセージを処理させる（Ｓ１３）。
【００９９】
図１２は、本発明の第２の変形例におけるスケールアップＮＡＳ１１０Ｈ及びスケールアウトＮＡＳメンバ１１０Ｌの少なくとも一方とＤＫＡ２２との間のデータ通信例を示す。
【０１００】
第２の変形例では、スケールアップＮＡＳ１１０Ｈ及びスケールアウトＮＡＳメンバ１１０Ｌの少なくとも一方（以下、「ＮＡＳヘッド１１０」と総称する）には、Ｉ／Ｏプロセッサは搭載されず、ＮＡＳヘッド内のＩ／Ｏプロセッサが行う処理を、ＤＫＡ２２のＩ／Ｏプロセッサ６０３に行わせる。
【０１０１】
例えば、図１２（Ａ）に示すように、ＮＡＳヘッド１１０とＤＫＡ２２との間に、専用の割込み線５１０が備えられる。この場合、ＮＡＳプロセッサ５０６（又は１５０６）から出力されたブロックレベルのＩ／Ｏ要求は、専用の割込み線５１０を介して、ＤＫＡ２２のＩ／Ｏプロセッサ６０３に送信される。
【０１０２】
また、例えば、図１２（Ｂ）に示すように、ＮＡＳヘッド１１０上のＮＡＳメモリ５０８（又は１５０８）に、コマンドキュー５１１が設けられる。ＮＡＳプロセッサ５０６（又は１５０６）から出力されたブロックレベルのＩ／Ｏ要求は、そのコマンドキュー５１１に格納される（Ｓ２１）。ＤＫＡ２２のＩ／Ｏプロセッサ６０３は、コマンドキューをポーリングし（Ｓ２２）、Ｉ／Ｏ要求が存在することを検出した場合には、そのＩ／Ｏ要求をコマンドキューから取得する（Ｓ２３）。
【０１０３】
図１３は、本発明の第３の変形例における記憶制御システム６００内のキャッシュメモリ１３０の構成例を示す。
【０１０４】
第３の変形例では、キャッシュメモリ１３０には、サーバ間処理の際の使用領域（以下、サーバ使用領域）１３０Ａと、通常のリードライト処理の使用領域（以下、通常使用領域）１３０Ｂとが設けられる。「サーバ間処理」とは、ファイルサーバとしてだけでなく他種のサーバ（例えば上述したＷＥＢサーバ、ＡＰサーバ、及びＤＢサーバのうちの少なくとも１つ）として動作した場合に行なわれる処理のことである。「通常のリードライト処理」とは、リードコマンド又はライトコマンドをホスト端末２００から受け、そのコマンドに応答して、ＬＵ３１０からデータをリードする、又は、ＬＵ３１０にデータをライトする処理のことである。
【０１０５】
この第３変形例では、サーバ間処理であるか通常のリードライト処理であるかに応じて、キャッシュメモリ１３０に存在する複数の使用領域の中からいずれかが選択される。
【０１０６】
具体的には、例えば、スケールアップＮＡＳ１１０ＨとＤＫＡ２２との間でＤＢ処理が行われる場合、問合せ応答データはサーバ使用領域１３０Ａに格納される。一方、例えば、スケールアップＮＡＳ１１０ＨやスケールアウトＮＡＳメンバ１１０Ｌが単なるファイルサーバとして動作することにより、ＤＫＡ２２を介してＬＵ３１０とデータがやり取りする場合、或いは、別種のチャネルアダプタ（ＣＨＡ、例えば、ファイバチャネルを介してブロックレベルのＩ／Ｏ要求を受けるファイバチャネルアダプタ（ＣＨＦ））１１０が、ＤＫＡ２２を介してＬＵ３１０とデータをやり取りする場合、そのデータは、通常使用領域１３０Ｂに格納される。
【０１０７】
図１４は、本発明の第４の変形例における記憶制御システム６００の外観を示す。
【０１０８】
記憶制御システム６００は、例えば、基本筐体１０と複数の増設筐体１２とから構成することができる。増設筐体１２は、記憶制御システム６００のオプションであり、例えば、１つの基本筐体１０に最大４個の増設筐体１２を接続することができる。各増設筐体１２には、複数の冷却ファン１３が設けられている。また、各増設筐体１２には、複数の記憶デバイス３００と、複数の電源ユニット４００と、複数のバッテリユニット５００とがそれぞれ着脱可能に設けられており、それらの各々は、例えば、基本筐体１０のスロット１０４に差し込まれたアダプタボードが有する制御機能により制御される。
【０１０９】
図１５は、本実施形態の第５変形例に係るコンピュータシステム１において行われる処理流れの概要を示す。
【０１１０】
Ｓ３のＤＢ処理によって、問合せ応答データを取得したスケールアップＮＡＳ１１０Ｈは、その問合せ応答データを、問合せ応答メッセージと共に、サーバ接続部１５１を介してスケールアウトＮＡＳメンバ１１０Lに送信する（Ｓ５４）。この場合、スケールアウトＮＡＳメンバ１１０Ｌは、その問合せ応答データに基づいてＷＥＢページ４９０を生成し、そのＷＥＢページ４９０ホスト端末２００に提供する（Ｓ６）。
【０１１１】
また、この第５変形例では、スケールアップＮＡＳ１１０Ｈは、転送する問合せ応答データのデータサイズに基づいて、その問合せ応答データをサーバ接続部１５１とストレージ接続部１５０のどちらを介して転送するかを選択しても良い。その具体例を図１６に示す。
【０１１２】
図１６は、本実施形態の第５の変形例においてスケールアップＮＡＳ１１０Ｈが行う一つの処理を示す。
【０１１３】
例えば、スケールアップＮＡＳ１１０ＨのＮＡＳメモリ１５０８には、転送データサイズ閾値（その値は例えば２００ＭＢ）が記録されている。
【０１１４】
スケールアップＮＡＳ１１０Ｈは、Ｓ３のＤＢ処理によって問合せ応答データを取得した場合、その問合せ応答データのデータサイズと、ＮＡＳメモリ１５０８上の転送データサイズ閾値とを比較する（Ｓ１００）。Ｓ１００の比較の結果、問合せ応答データのデータサイズが転送データサイズ閾値以上であることが判別された場合、スケールアップＮＡＳ１１０Ｈは、Ｓ４の処理、すなわち、ストレージ接続部１５０を介して問合せ応答データをキャッシュメモリ１３０に格納する処理を実行する。一方、Ｓ１００の比較の結果、問合せ応答データのデータサイズが転送データサイズ閾値未満であることが判別された場合、スケールアップＮＡＳ１１０Ｈは、Ｓ５４の処理、すなわち、サーバ接続部１５１を介して問合せ応答データをスケールアウトＮＡＳメンバ１１０Lに送信する処理を実行する。
【０１１５】
以上、本発明の実施形態及び変形例を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこの実施形態及び変形例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。例えば、ＷＥＢサーバ、ＡＰサーバ及びＤＢサーバがそれぞれ分離している必要は無い。具体的には、例えば、ＷＥＢサーバプログラム４７０が、ＡＰサーバとしての機能の全部或いは一部を備えていても良いし、ＤＢサーバプログラム４５０が、ＡＰサーバとしての機能の全部或いは一部を備えていても良い。また、例えば、スケールアップＮＡＳ１１０Ｈ及び／又はスケールアウトＮＡＳメンバ１１０Ｌは、データのデータサイズに限らず、所定の条件（例えば送信対象のデータの属性等）に基づいて、ストレージ接続部１５０とサーバ接続部１５１のどちらを介してデータを送信するかを選択し、選択した方の接続部を介してデータを送信しても良い。
【図面の簡単な説明】
【０１１６】
【図１】本発明の一実施形態に係る記憶制御システムの外観の概略を示す。
【図２】スケールアップＮＡＳ１１０Ｈ及びスケールアウトＮＡＳメンバ１１０Ｌの外観の概略を示す。
【図３】本実施形態に係る記憶制御システムを備えるコンピュータシステムの構成を示すブロック図である。
【図４】スケールアウトＮＡＳメンバ１１０Ｌの構成例を示すブロック図である。
【図５】スケールアップＮＡＳ１１０Ｈの構成例を示すブロック図である。
【図６】ＤＫＡ１４０の構成例を示すブロック図である。
【図７】本実施形態に係るコンピュータシステム１において行われる処理流れの概要を示す。
【図８】図７のＳ１〜Ｓ２の処理の具体例を示す。
【図９】図７のＳ３〜Ｓ４の処理の具体例を示す。
【図１０】図７のＳ５〜Ｓ７の処理の具体例を示す。
【図１１】本発明の第１の変形例におけるスケールアップＮＡＳの構成例である。
【図１２】本発明の第２の変形例におけるスケールアップＮＡＳ１１０Ｈ及びスケールアウトＮＡＳメンバ１１０Ｌの少なくとも一方とＤＫＡ２２との間のデータ通信例を示す。
【図１３】本発明の第３の変形例における記憶制御システム６００内のキャッシュメモリ１３０の構成例を示す。
【図１４】本発明の第４の変形例における記憶制御システム６００の外観を示す。
【図１５】本実施形態の第５変形例に係るコンピュータシステム１において行われる処理流れの概要を示す。
【図１６】本実施形態の第５の変形例においてスケールアップＮＡＳ１１０Ｈが行う一つの処理を示す。
【符号の説明】
【０１１７】
１００…記憶制御装置  １０１…記憶装置ユニット  １０３…データベース  １０４…データファイル  １１０Ｈ…スケールアップＮＡＳヘッド  １１０Ｌ…スケールアウトＮＡＳメンバ  １１１…スケールアウトＮＡＳ  １２０…共有メモリ  １３０…キャッシュメモリ  １４０…ディスクアダプタ  １５０…ストレージ接続部  １５１…サーバ接続部  ２００…ホスト端末  ３１０…論理ユニット  ６００…記憶制御システム  ８００…ディスク制御部
【図１】
2005293370.tif 000003
【図２】
2005293370.tif 000004
【図３】
2005293370.tif 000005
【図４】
2005293370.tif 000006
【図５】
2005293370.tif 000007
【図６】
2005293370.tif 000008
【図７】
2005293370.tif 000009
【図８】
2005293370.tif 000010
【図９】
2005293370.tif 000011
【図１０】
2005293370.tif 000012
【図１１】
2005293370.tif 000013
【図１２】
2005293370.tif 000014
【図１３】
2005293370.tif 000015
【図１４】
2005293370.tif 000016
【図１５】
2005293370.tif 000017
【図１６】
2005293370.tif 000018