(57)【要約】【課題】  記憶デバイス制御装置の内部処理の効率化を実現する。【解決手段】  情報処理装置からの要求に応じて記憶デバイスに対するデータの書き込み／読み出しを行う記憶デバイス制御装置であって、前記情報処理装置との間で通信を行う通信インターフェース部と、前記記憶デバイスとの間で通信を行う記憶デバイスインターフェース部と、前記情報処理装置と前記記憶デバイスとの間で授受されるデータが記憶される第１のメモリを有するキャッシュメモリ部と、前記通信インターフェース部、前記記憶デバイスインターフェース部、前記キャッシュメモリ部を、それぞれ互いに通信可能に接続する接続部と、を有し、前記接続部は、前記第１のメモリに記憶される前記データと同一のデータが記憶される第２のメモリを有すること、とする。【選択図】    図３
2005115603.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置からの要求に応じて記憶デバイスに対するデータの書き込み／読み出しを行う記憶デバイス制御装置であって、
前記情報処理装置との間で通信を行う通信インターフェース部と、
前記記憶デバイスとの間で通信を行う記憶デバイスインターフェース部と、
前記情報処理装置と前記記憶デバイスとの間で授受されるデータが記憶される第１のメモリを有するキャッシュメモリ部と、
前記通信インターフェース部、前記記憶デバイスインターフェース部、前記キャッシュメモリ部を、それぞれ互いに通信可能に接続する接続部と、を有し、
前記接続部は、前記第１のメモリに記憶される前記データと同一のデータが記憶される第２のメモリを有すること、
を特徴とする記憶デバイス制御装置。
【請求項２】
前記通信インターフェース部及び前記記憶デバイスインターフェース部は、
前記第２のメモリをアクセスするか否かを設定する第１のアクセス可否情報を、前記第１のメモリへのアクセス要求に含めて前記接続部に送信するアクセス制御部を有し、
前記接続部は、
前記アクセス制御部より受信したアクセス要求に含まれる前記第１のアクセス可否情報に基づいて、前記第２のメモリをアクセスするか否かを制御する制御部を有すること、
を特徴とする請求項２に記載の記憶デバイス制御装置。
【請求項３】
前記キャッシュメモリ部は、
前記第１のメモリへの前記データの書き込み／読み出しを制御するメモリ制御部と、
前記メモリ制御部からのアクセスを可能とし、前記第１のメモリに記憶される前記データと同一のデータが記憶される第３のメモリと、
を有することを特徴とする請求項１に記載の記憶デバイス制御装置。
【請求項４】
前記通信インターフェース部及び前記記憶デバイスインターフェース部は、
前記第３のメモリをアクセスするか否かを設定するための第２のアクセス可否情報を、前記第１のメモリへのアクセス要求に含めて前記接続部に送信するアクセス制御部を有し、
前記メモリ制御部は、
前記アクセス制御部より前記接続部を介して受信したアクセス要求に含まれる前記第２のアクセス可否情報に基づいて、前記第３のメモリをアクセスするか否かを制御すること、
を特徴とする請求項３に記載の記憶デバイス制御装置。
【請求項５】
前記通信インターフェース部及び前記記憶デバイスインターフェース部は、
全ての前記通信インターフェース部及び全ての前記記憶デバイスインターフェース部、前記通信インターフェース部又は前記記憶デバイスインターフェース部、前記メモリ部、のいずれかを宛先に指定した宛先情報を、前記データ又は当該データの転送を制御するための制御用データに付加して前記接続部に送信するアクセス制御部を有し、
前記接続部は、
前記アクセス制御部より受信した前記データ又は前記制御用データに付加される前記宛先情報に基づいて、当該宛先情報により指定された宛先との間の通信を制御する制御部を有すること、
を特徴とする請求項１に記載の記憶デバイス制御装置。
【請求項６】
前記接続部の前記制御部は、
前記データ又は前記制御用データを転送するためのデータバスが使用可能な状態となるまでの間、当該受信したデータ又は制御用データを前記第２のメモリに記憶しておくこと、
を特徴とする請求項５に記載の記憶デバイス制御装置。
【請求項７】
前記接続部の前記制御部は、
前記受信したデータ又は制御用データが、前記宛先に所定時間内に送信されたか否かを示す情報を、当該受信したデータ又は制御用データの送信元に返信すること、
を特徴とする請求項５に記載の記憶デバイス制御装置。
【請求項８】
前記接続部の前記制御部は、
前記受信したデータ又は制御用データに付加された前記宛先情報が、全ての前記通信インターフェース部及び全ての前記記憶デバイスインターフェース部を宛先に指定した場合、当該受信したデータ又は制御用データを当該宛先にパラレルに送信すること、
を特徴とする請求項５に記載の記憶デバイス制御装置。
【請求項９】
前記通信インターフェース部及び前記記憶デバイスインターフェース部は、
前記データ又は当該データの転送を制御するための制御用データに対して、前記接続部における転送処理の優先度を設定する優先度情報を付加して前記接続部に送信するアクセス制御部を有し、
前記接続部は、
前記アクセス制御部より受信した前記データ又は前記制御用データに付加される前記優先度情報に基づいて、当該優先度情報により設定された前記優先度に応じて前記転送処理を行う制御部を有すること、
を特徴とする請求項１に記載の記憶デバイス制御装置。
【請求項１０】
前記優先度情報は、第１のデータサイズを有する前記データ又は前記制御用データに対して、前記第１のデータサイズより小さい第２のデータサイズを有する前記データ又は前記制御用データについての前記優先度を高く設定した情報であること、
を特徴とする請求項９に記載の記憶デバイス制御装置。
【請求項１１】
前記第１のメモリは、
前記情報処理装置と前記記憶デバイスとの間で授受される前記データと、
前記授受を制御するための制御用データと、を記憶すること、
を特徴とする請求項１に記載の記憶デバイス制御装置。
【請求項１２】
前記通信インターフェース部及び前記記憶デバイスインターフェース部と前記接続部との間、及び、前記接続部と前記キャッシュメモリ部との間は、
前記情報処理装置と前記記憶デバイスとの間で授受される前記データと、前記授受を制御するための制御用データの転送において共に使用されるデータバスを介して接続されること、
を特徴とする請求項１に記載の記憶デバイス制御装置。
【請求項１３】
前記接続部は、
前記通信インターフェース部、前記記憶デバイスインターフェース部、前記キャッシュメモリ部をネットワーク接続する高速クロスバ・スイッチであることを特徴とする請求項１に記載の記憶デバイス制御装置。
【請求項１４】
前記通信インターフェース部、前記記憶デバイスインターフェース部、前記キャッシュメモリ部、前記接続部、はそれぞれユニットであり、
前記記憶デバイス制御装置は、前記ユニットを装着可能な装着部を有することを特徴とする請求項１に記載の記憶デバイス制御装置。
【請求項１５】
情報処理装置との間で通信を行う通信インターフェース部と、
記憶デバイスとの間で通信を行う記憶デバイスインターフェース部と、
前記情報処理装置と前記記憶デバイスとの間で授受されるデータが記憶される第１のメモリを有するキャッシュメモリ部と、
前記通信インターフェース部、前記記憶デバイスインターフェース部、前記キャッシュメモリ部を、それぞれ互いに通信可能に接続する接続部と、を有し、
前記接続部は、前記第１のメモリに記憶される前記データと同一のデータが記憶される第２のメモリを有する記憶デバイス制御装置の制御方法であって、
前記通信インターフェース部は、
前記情報処理装置から前記記憶デバイスに対するデータの書き込み／読み出しの要求を受信し、
当該要求に応じた前記第１のメモリへのアクセス要求を前記接続部に送信し、
前記接続部は、
前記通信インターフェース部より前記アクセス要求を受信し、
前記アクセス要求の内容を前記第２のメモリに対して実行するか否かを制御すること、
を特徴とする記憶デバイス制御装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶デバイス制御装置及びその制御方法に関する。
【背景技術】
【０００２】
情報処理装置からの要求に応じて記憶デバイスに対するデータの書き込み／読み出しを行う記憶デバイス制御装置が知られている（例えば、以下に示す特許文献１参照）。記憶デバイス制御装置は、情報処理装置が担う様々な情報処理サービスの分野に対して、広範囲にわたって利用されている。
【特許文献１】特開２０００−９９２８１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、情報処理装置と記憶デバイス制御装置との間で要求されるデータ転送速度は、年々高速化の一途をたどっている。記憶デバイス制御装置は、情報処理装置との間でのデータ転送の高速化に追従させるために、内部処理を効率よく行う仕組みが求められている。このような仕組みを備えることで、情報処理装置からの要求に対する応答時間を短縮化されて、ひいては装置全体としてのスループット（処理能力）の向上が見込まれるようになる。  
そこで、本発明は、記憶デバイス制御装置およびその制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００４】
前述した課題を解決するための主たる本発明は、情報処理装置からの要求に応じて記憶デバイスに対するデータの書き込み／読み出しを行う記憶デバイス制御装置であって、前記情報処理装置との間で通信を行う通信インターフェース部と、前記記憶デバイスとの間で通信を行う記憶デバイスインターフェース部と、前記情報処理装置と前記記憶デバイスとの間で授受されるデータが記憶される第１のメモリを有するキャッシュメモリ部と、前記通信インターフェース部、前記記憶デバイスインターフェース部、前記キャッシュメモリ部を、それぞれ互いに通信可能に接続する接続部と、を有し、前記接続部は、前記第１のメモリに記憶される前記データと同一のデータが記憶される第２のメモリを、有することする。
【０００５】
本発明によれば、通信インターフェース部、記憶デバイスインターフェース部、キャッシュメモリ部を、それぞれ互いに通信可能に接続する接続部に、キャッシュメモリ部の第１のメモリに記憶されるデータと同一のデータが記憶される第２のメモリを設けている。
【０００６】
ここで、例えば、通信インターフェース部もしくは記憶デバイスインターフェース部（以後、これらを総じてインターフェース部と称する）がキャッシュメモリ部の第１のメモリのデータ等にアクセスしようとする場合、アクセスしようとしている前記データが接続部の第２のメモリに存在すれば、接続部は第２のメモリに記憶されているデータをインターフェース部に返信できる。つまり接続部が有する第２のメモリは、インターフェース部が第１のメモリにアクセスする際のキャッシュとして機能する。
【０００７】
本発明によれば、接続部とキャッシュメモリ部との間のトラフィック量を減らすことができる。また、インターフェース部が、第２のメモリに記憶されているデータ等にアクセスする際、前述したように接続部がキャッシュメモリ部にアクセスすることがない分、インターフェース部が、第１のメモリに記憶されているデータ等にアクセスしようとする際のアクセスタイムは短縮され、ひいては装置全体としてのスループットを向上させることができる。
【発明の効果】
【０００８】
本発明によれば、記憶デバイス制御装置及びその制御方法を提供することができる。
【発明を実施するための最良の形態】
【０００９】
＝＝＝ストレージシステムの全体構成＝＝＝
本実施の形態に係るストレージシステムの全体構成を示すブロック図を図１に示す。  
ストレージシステムは、記憶デバイス制御装置１００、ホスト計算機（『情報処理装置』）２００、記憶デバイス３００、によって構成される。
【００１０】
記憶デバイス制御装置１００は、ストレージシステム全体の制御を司る。具体的には、記憶デバイス制御装置１００は、ホスト計算機２００と接続され、ホスト計算機２００からの「データ」のリード／ライト要求を受信する。また、多数の記憶デバイス３００と接続されており、ホスト計算機２００からの「データ」の入出力要求に応じて、記憶デバイス３００のリソースである記憶ボリウムに対して「データ」の書き込み／読み出しを行う。
【００１１】
なお、記憶ボリウムとは、記憶デバイス３００により提供される物理的な記憶領域である物理ボリウム（図１中、ＰＶ０乃至３）と、物理ボリウム上に論理的に設定される記憶領域である論理ボリウム（図１中、ＬＶＡ及びＬＶＢ）とを含む記憶リソースである。
【００１２】
記憶デバイス制御装置１００とホスト計算機２００との間の通信は、高速な通信プロトコルに従って行う。例えば、ファイバチャネルやＳＣＳＩ（Small Computer System Interface）、ＦＩＣＯＮ（Fibre Connection）（登録商標）、ＥＳＣＯＮ(Enterprise System Connection) （登録商標）、ＡＣＯＮＡＲＣ（Advanced Connection Architecture）（登録商標）、ＦＩＢＡＲＣ（Fibre Connection Architecture）（登録商標）、ＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）等である。
【００１３】
また、記憶デバイス制御装置１００とホスト計算機２００との間の通信は、前述した各通信プロトコルを混在させることもできる。例えばホストＡ（２００）との間の通信はファイバチャネルで行い、ホストＢ（２００）との間の通信はＴＣＰ／ＩＰで行うようにすることもできる。ホスト計算機２００がメインフレーム計算機である場合には、例えばＦＩＣＯＮやＥＳＣＯＮ、ＡＣＯＮＡＲＣ、ＦＩＢＡＲＣが用いられる。またホスト計算機２００がオープン系の計算機である場合には、例えばファイバチャネルやＳＣＳＩ、ＴＣＰ／ＩＰが用いられる。
【００１４】
なお、ホスト計算機２００からの「データ」のリード／ライト要求は、記憶ボリウムにおける「データ」の管理単位であるブロックを単位として行うようにすることもできるし、ファイル名を指定することによりファイル単位に行うようにすることもできる。後者の場合には記憶デバイス制御装置１００は、ホスト計算機２００からのファイルレベルでのアクセスを実現するＮＡＳ（Network Attached Storage）として機能する。
【００１５】
ホスト計算機２００は、不図示のクライアント計算機に対して、各種の情報処理サービスを提供するコンピュータである。ホスト計算機２００により提供される情報処理サービスは、例えば、銀行の自動預金預け払いサービスやインターネットのホームページ閲覧サービスのようなオンラインサービスを始め、科学技術分野における実験シミュレーションを行うバッチ処理サービス等である。またホスト計算機２００と記憶デバイス制御装置１００間のバスは２重化されており、片方のバスに障害が発生しても他方のバスにより入出力要求の受信を継続して行うことができる。
【００１６】
記憶デバイス３００は、物理ボリウムや論理ボリウムを含む記憶リソースをストレージシステムに提供するものであり、例えばハードディスク装置（ディスクドライブ）や半導体記憶デバイス等様々なものを採用することができる。なお、以下では、記憶デバイス３００は、ディスクドライブであるものとして説明する。
【００１７】
管理端末４００は、ストレージシステムの保守管理を行うためのコンピュータである。例えば、記憶デバイス３００上への論理ボリウムの設定や、ホストＩＦ部５００やディスクＩＦ部６００のＭＰＵ５２０又は６２０において実行されるプログラムのインストール等を行うことができる。なお、管理端末４００は、ストレージシステムに組み込まれるように構成できるし、遠隔地に設置されてストレージシステムと通信ネットワークで接続された形態とすることもできる。この場合、例えば他のコンピュータから通信ネットワークを介して更新プログラムを受信し、ホストＩＦ部５００やディスクＩＦ部６００にインストールすることができる。
【００１８】
＝＝＝記憶デバイス制御装置の外観＝＝＝
記憶デバイス制御装置１００は、図２に示すような筐体を成す。すなわち、記憶デバイス制御装置１００は、ホストＩＦ部５００を成すチャネル制御ユニット、ディスクＩＦ部６００を成すディスク制御ユニット、パススイッチ部７００を成すパススイッチユニット、キャッシュメモリ部７００を成すキャッシュメモリユニットを、それぞれ装着可能なユニット装着部１１０を備えている。このユニット装着部１１０に、ストレージシステムに応じたユニット（チャネル制御ユニット、ディスク制御ユニット、パススイッチユニット、キャッシュメモリユニット）が装着されることで、当該ストレージシステムの制御が行われることになる。なお、これらのユニットは、回路基板上に形成されたハードウェアや、このハードウェアにより実行されるファームウェアによって実現できる。
【００１９】
＝＝＝記憶デバイス制御装置の構成＝＝＝
図１中の破線部内は、ホストＡ（２００）側の系であり且つ制御系又は待機系のいずれか一方の系を実現する上での必要最小限な構成を示している。以下、図１の破線部内に含まれる、ホストＩＦ部（『通信インターフェース部』）５００、ディスクＩＦ部（『記憶デバイスインターフェース部』）６００、キャッシュメモリ部７００、パススイッチ部（『接続部』）８００について、図３を用いて説明する。
【００２０】
＜ホストＩＦ部＞
ホストＩＦ部５００は、ホスト計算機（ＨＯＳＴ）２００と記憶デバイス制御装置１００との間の通信を行う。また、ホストＩＦ部５００は、ホストＩＦ制御部（ＨＣＴＬ）５１０、プロセッサ（ＭＰＵ）５２０、ローカルメモリ（ＬＭ）５３０、メモリアクセス制御部（ＭＡＣＴＬ、）５４０を備える。  
ホストＩＦ制御部５１０は、ホスト計算機２００と接続されており、ホスト計算機２００との間の通信プロトコルに応じて、ホスト計算機２００と記憶デバイス制御装置１００との間で授受される「データ」のプロトコル変換処理を実行する。  
ＭＰＵ５２０は、ホストＩＦ部５００におけるデータ転送全般の制御を司る。この制御としては、ＭＰＵ５２０が、ローカルメモリ５３０に記憶されている制御プログラムを読み出して実行する同期モードと、ＭＰＵ５２０の動作とは独立してメモリアクセス制御部５４０がローカルメモリ５３０から制御プログラムを読み出して実行する非同期モードの二つのモードが選択可能である。
【００２１】
なお、図３では、ＭＰＵ５２０が、ローカルメモリ５３０を直接アクセス可能とする、いわゆる同期モードの場合の構成を示しているが、ＭＰＵ５２０とローカルメモリ５３０との間にローカルメモリ制御部（不図示）を設けてもよい。この場合、メモリアクセス制御部５４０は、ＭＰＵ５２０を介することなくローカルメモリ制御部（不図示）を介して、ローカルメモリ５３０に記憶されているデータや、ＭＰＵ５２０からの制御コマンドをアクセス可能とする、いわゆるＤＭＡ（Direct Memory Access）コントローラとして機能する。
【００２２】
メモリアクセス制御部（『アクセス制御部』）５４０は、パススイッチ部８００を介した内部（他のホストＩＦ部５００、ディスクＩＦ部６００、キャッシュメモリ部７００）へのデータ転送を制御する。具体的には、メモリアクセス制御部５４０は、ホストＩＦ制御部５１０や、ＭＰＵ５２０又はローカルメモリ制御部（不図示）から「データ」又は「制御用データ」を受信する。そして、当該受信した「データ」又は「制御用データ」に基づいて、当該内部へのデータ転送用のパケット（後述）１０の生成を行う。なお、キャッシュメモリ部７００等からパススイッチ部８００を介してパケット１０を受信した場合には、当該パケット１０からデータ抽出を行う。
【００２３】
＜ディスクＩＦ部＞
ディスクＩＦ部６００は、記憶デバイス制御装置１００と記憶デバイス３００との間の通信を行う。また、ディスクＩＦ部６００は、ディスクＩＦ制御部（ＤＣＴＬ）６１０、プロセッサ（ＭＰＵ）６２０、ローカルメモリ（ＬＭ）６３０、メモリアクセス制御部（ＭＡＣＴＬ）６４０を備える。
【００２４】
ディスクＩＦ制御部６１０は、記憶デバイス３００と接続されており、記憶デバイス３００と記憶デバイス制御装置１００との間で授受される「データ」のプロトコル変換処理を実行する。ＭＰＵ６２０は、ディスクＩＦ部６００におけるデータ転送全般の制御を司る。この制御としては、ホストＩＦ部５００と同様に、同期モード又は非同期モードが選択可能である。
【００２５】
メモリアクセス制御部（『アクセス制御部』）６４０は、パススイッチ部８００を介した内部（ホストＩＦ部５００、他のディスクＩＦ部６００、キャッシュメモリ部７００）へのデータ転送を制御する。具体的には、メモリアクセス制御部６４０は、ディスクＩＦ制御部６１０や、ＭＰＵ６２０又はＭＰＵ６２０とローカルメモリ６３０に設ける不図示のローカルメモリ制御部（不図示）から「データ」又は「制御用データ」を受信する。そして、当該受信した「データ」又は「制御用データ」に基づいて、当該内部へのデータ転送用のパケット（後述）１０の生成を行う。なお、キャッシュメモリ部７００等からパススイッチ部８００を介してパケット１０を受信した場合には、当該パケット１０からデータ抽出を行う。
【００２６】
＜キャッシュメモリ部＞
キャッシュメモリ部７００は、メモリ（ＭＥＭ１）７１０と、メモリ制御部（ＭＣＴＬ）７２０と、を備える。なお、メモリ制御部７２０とメモリ７１０との間は内部バス９０３を介して接続されている。
【００２７】
メモリ（『第１のメモリ』）７１０は、ホスト計算機２００と記憶デバイス３００との間で授受される「データ」を記憶する他、記憶デバイス制御装置１００内部での内部バス９００を介したデータ転送を制御するための「制御用データ」を記憶する。このメモリ７１０としては、ＳＲＡＭやＤＲＡＭなどの揮発性メモリや、フラッシュメモリやＥＥＰＲＯＭなどの不揮発性メモリといった種々のメモリを採用することができる。
【００２８】
なお、「制御用データ」とは、例えば、ホストＩＦ部５００及びディスクＩＦ部６００のＭＰＵ５２０及びＭＰＵ６２０が実行する「マイクロプログラム」、キャッシュデータの記憶先がメモリ（８２０、７２１、７００）のいずれかであることを指定する「キャッシュ・ディレクトリ情報」、ホストＩＦ部５００とディスクＩＦ部６００との間で連携して処理を行うために必要な「ＪＯＢ管理情報」、ホストＩＦ部５００及びディスクＩＦ部６００の種類や数、記憶デバイス３００の容量、メモリ（８２０、７２１、７００）の容量等、記憶デバイス制御装置１００内部の構成を示す「構成情報」、閉塞部位や障害内容などの情報である「障害情報」、などが挙げられる。
【００２９】
メモリ７１０のアドレス空間としては、「データ」用の記憶領域（以下、データ記憶領域）７１１と「制御用データ」用の記憶領域（以下、制御用データ記憶領域）７１２がそれぞれ区画されている。すなわち、キャッシュメモリ部７００は、従来の記憶デバイス制御装置が備えるキャッシュメモリ部と共有メモリ部それぞれの機能を合わせ持つことになる。このため、記憶デバイス制御装置１００内部の構成が簡略化して、保守の面においても有利となる。
【００３０】
メモリ制御部７２０は、メモリ７１０のアドレス空間に区画されたデータ記憶領域７１１又は制御用データ記憶領域７１２へのアクセスを制御する。また、メモリ制御部７２０は、メモリ７１０から読み出した「データ」などをパススイッチ部８００を介してホストＩＦ部５００又はディスクＩＦ部６００に返信するとき、メモリ７１０から読み出した「データ」などのパケット（後述）１０の生成を行う。
【００３１】
メモリ制御部７２０内部には、メモリ７１０に記憶されている「データ」及び「制御用データ」と同一の「データ」及び「制御用データ」を記憶するメモリ（ＭＥＭ３）７２１を備える。なお、メモリ（『第３のメモリ』）７２１は、メモリ制御部７２０がアクセス可能であればよく、パススイッチ部８００とキャッシュメモリ部７００間の内部バス９０２上や、メモリ制御部７２０とメモリ７１０との間の内部バス上に備えてもよい。
【００３２】
ここで、キャッシュメモリ部７００内において、メモリ７２１はＬ１（Level 1）キャッシュ、メモリ７１０はＬ２（Level 2）キャッシュとして機能させることが可能である。このため、メモリ７２１は、メモリ７１０よりもデータ転送速度が高速なメモリであることが好ましい。
【００３３】
なお、メモリアクセス制御部５４０及び６４０にてメモリ７１０が直接処理可能なデータフォーマットに予めデータ変換を行うようにした場合、メモリ制御部７２０を備えなくてもよい。しかしながら、メモリ制御部７２０及びメモリ７２１を備えることによって、後述するように、ホストＩＦ部５００又はディスクＩＦ部６００からメモリ７１０までの通信経路上に、メモリ（８２０、７２１、７１０）の順に３層分のキャッシュ階層を構築できる。また、キャッシュ階層の層数が、メモリ（８２０及び７１０）による２層から、メモリ（８２０、７２１、７１０）による３層に増える分、記憶先を設定する際の自由度が増加する。そこで、記憶デバイス制御装置１００全体のキャッシュ・ヒット率を向上させるべく、そのデータ内容に応じてメモリ（８２０、７２１、７１０）の少なくともいずれかに自由に配置しておくことが容易となる。
【００３４】
＜パススイッチ部＞
パススイッチ部８００は、パススイッチ制御部（ＳＣＴＬ）８１０を備える。パススイッチ制御部８１０は、ホストＩＦ部５００、ディスクＩＦ部６００、キャッシュメモリ部７００をそれぞれ互いに通信可能に接続する。また、パススイッチ制御部８１０は、ホストＩＦ部５００のメモリアクセス制御部５４０又はディスクＩＦ部６００のメモリアクセス制御部６４０から受信したパケット１０の通信属性（後述）に基づいて、キャッシュメモリ部７００、一のホストＩＦ部５００又は一のディスクＩＦ部６００、又は、全ホストＩＦ部５００及び全ディスクＩＦ部６００との間でパケット１０を介した通信を行う。なお、パススイッチ部８００としては、例えば、ホストＩＦ部５００、ディスクＩＦ部６００、キャッシュメモリ部７００を、スターネット接続する高速クロスバ・スイッチを採用することができる。
【００３５】
ここで、ホストＩＦ部５００とパススイッチ部８００との間は内部バス９００、ディスクＩＦ部６００とパススイッチ部８００との間は内部バス９０１、パススイッチ部８００とキャッシュメモリ部７００との間は内部バス９０２が、それぞれ接続されている。内部バス９００乃至９０１は、「データ」と「制御用データ」の転送においてともに使用されるデータバスである。すなわち、内部バス９００乃至９０２は、「データ」転送用の内部バスと「制御用データ」転送用の内部バスを共有化したものとなる。このため、「データ」転送用の内部バスと「制御用データ」転送用の内部バスとが互いに独立してある配線と比べて、配線同士の間隔に余裕をもたせることができる。この結果、配線間のクロストーク等の現象が回避できて、高速データ転送が可能となる。また、各インターフェース部の増設や制御ロジックの追加などに伴うデータバスの拡張も容易となる。
【００３６】
パススイッチ制御部（『制御部』）８１０は、メモリ７２１と同様に、メモリ７１０に記憶されている「データ」及び「制御用データ」と同一の「データ」及び「制御用データ」を記憶するメモリ（ＭＥＭ２）８２０を備える。なお、メモリ（『第２のメモリ』）８２０は、パススイッチ制御部８１０がアクセス可能であればよく、ホストＩＦ部５００又はディスクＩＦ部６００とパススイッチ部８００間の内部バス９００上や、パススイッチ部８００とキャッシュメモリ部７００との間の内部バス９０に備えてもよい。
【００３７】
また、メモリ８２０は、ホストＩＦ部５００又はディスクＩＦ部６００がメモリ７１０にアクセスしようとするとき、メモリ７２１又はメモリ７１０よりも高レベル（階層）のキャッシュとして機能させることが可能である。すなわち、記憶デバイス制御装置１００内部において、メモリ８２０はＬ１（Level 1）キャッシュ、メモリ７２１はＬ２（Level 2）キャッシュ、メモリ７１０はＬ３（Level 3）キャッシュとして機能させることが可能である。なお、キャッシュメモリ部７００がメモリ７２１を備えない場合、メモリ８２０はＬ１キャッシュ、メモリ７１０はＬ２キャッシュとして機能する。このため、メモリ８２０は、メモリ７２１やメモリ７１０よりもデータ転送速度が高速なメモリであることが好ましい。
【００３８】
以上、パススイッチ部８００のパススイッチ制御部８１０がメモリ８２０を備えることで、例えば、ホストＩＦ部５００又はディスクＩＦ部６００がキャッシュメモリ部７００のメモリ７１０の「データ」等にアクセスしようとする場合、このアクセスしようとしている「データ」等がパススイッチ部８１０のメモリ８２０に存在すれば、パススイッチ部８００はメモリ８２０に記憶されている「データ」等をホストＩＦ部５００又はディスクＩＦ部６００に返信できる。また、この結果として、パススイッチ部８００とキャッシュメモリ部７００との間のトラフィック量を減らすことができる。
【００３９】
さらに、ホストＩＦ部５００又はディスクＩＦ部６００がメモリ７１０に記憶されている「データ」等にアクセスする際、前述したようにパススイッチ部８００がキャッシュメモリ部７００にアクセスすることがない分、ホストＩＦ部５００又はディスクＩＦ部６００がメモリ７１０に記憶されている「データ」等にアクセスしようとする際のアクセスタイムが短縮されて、ひいては装置全体としてのスループットを向上できる。
【００４０】
＝＝＝  パケット・フォーマット  ＝＝＝
メモリアクセス制御部５４０及びメモリアクセス制御部６４０にて生成されるパケット１０のフォーマットについて、図４を用いて説明する。  
パケット１０は、実際の「データ」又は「制御用データ」と、当該パケット１０の誤り検出又は誤り訂正を行うための「チェックコード」と、を含むデータ部１２に対して、ヘッダ部１１を付加することで構成される。  
ヘッダ部１１は、当該パケット１０の送信元となるホストＩＦ部５００又はディスクＩＦ部６００に付与された「送信元ＩＤ」、当該パケット１０の送信先（ノード）となるホストＩＦ部５００、ディスクＩＦ部６００又はキャッシュメモリ部７００に付与された「送信先ＩＤ」、「通信属性」、当該パケット１０送信先での「アクセス・アドレス情報」、当該パケット１０送信先でアクセスするときの「データ長」、などによって構成される。
【００４１】
なお、「送信先ＩＤ」としては、全てのホストＩＦ部５００及び全てのディスクＩＦ部６００についても指定可能である。また、「通信属性」は、当該パケット１０が「データ」又は「制御用データ」のいずれを対象とするかを識別するための「データ種別情報」、パススイッチ部８００内メモリ８２０へのアクセスを行うか否かを指定する「第１のアクセス可否情報」、メモリ制御部７２０内メモリ７２１への「第２のアクセス可否情報」、当該パケット１０の対象ノードがキャッシュメモリ部７００、特定ＩＦ部（５００又は６００）又は全ＩＦ部（５００及び６００）のいずれかを指定する「ノード情報（『宛先情報』）」、パススイッチ部８００内での処理の優先度を指定する「優先度情報」を有している。
【００４２】
＝＝＝パススイッチ部が取り扱う通信内容＝＝＝
パススイッチ部８００は、ホストＩＦ部５００又はディスクＩＦ部６００から受信したパケット１０の通信属性に基づいて、キャッシュメモリ部７００との間の通信（以下、キャッシュメモリ通信と称する。）、特定されたＭＰＵ５２０又は６２０との通信（以下、特定ＭＰＵ通信と称する。）、全てのＭＰＵ５２０及び６２０との通信（以下、全ＭＰＵ通信と称する。）のいずれかを行う。以下、それぞれの通信の概要を図面に基づいて説明する。
【００４３】
＜キャッシュメモリ通信＞
キャッシュメモリ通信は、主として、ホストＩＦ部５００又はディスクＩＦ部６００（以下、マスターＩＦ部と称する。）のＭＰＵ５２０又は６２０（以下、マスターＭＰＵと称する。）が、キャッシュメモリ部７００のメモリ７１０（制御用データ記憶領域７１２）に記憶してあるキャッシュ・ディレクトリ情報や更新プログラムなどの「制御用データ」を読み出す場合や、当該「制御用データ」を更新する場合に用いられる。図５は、このときのアクセスの様子を示す図である。
【００４４】
また、キャッシュメモリ通信は、ホスト計算機２００からの記憶デバイス３００に対する「データ」の書き込み／読み出し要求に応じて、記憶デバイス制御装置１００が、記憶デバイス３００と同一の「データ」が記憶されるキャッシュメモリ部７００のメモリ７１０（データ用記憶領域７１１）をアクセスする場合の通信のことも含める。図６は、このときのアクセスの様子を示す図である。
【００４５】
ここで、キャッシュメモリ通信では、マスターＩＦ部５００又は６００からキャッシュメモリ部７００（メモリ７１０）までアクセスする必要が生じた場合、内部バス９００乃至９０３の全てが使用されることになる。このため、内部バス９００乃至９０３の使用効率を上げることで、キャッシュメモリ通信のアクセス効率、ひいては記憶デバイス制御装置１００全体のスループットが向上することになる。  
そこで、本発明では、以下に説明する各処理（リード処理、ライト処理、優先処理）において、内部バス９００乃至９０３の使用効率を向上させる仕組みを備える。
【００４６】
＜＜リード処理＞＞
図７は、キャッシュメモリ通信時でのリード処理を説明するフローチャートである。以下では、マスターＩＦ部５００又は６００において、キャッシュメモリ部７００のメモリ７１０に記憶されている「制御用データ」のリード要求が発生した場合の処理について説明する。なお、マスターＩＦ部５００又は６００において、キャッシュメモリ部７００のメモリ７１０に記憶されている「データ」のリード要求が発生した場合の処理も、以下に説明する「制御用データ」の場合と同様であるため説明は省略する。
【００４７】
まず、マスターＩＦ部５００又は６００のマスターＭＰＵ５２０又は６２０は、キャッシュメモリ部７００に対して「制御用データ」（キャッシュ・ディレクトリ情報等）のリード要求をパケット１０に変換された後、内部バス９００又は９０１を介してパススイッチ部８００に対して送信する（Ｓ７００）。パススイッチ部８００のパススイッチ制御部８１０は、マスターＩＦ部５００又は６００から受信したリード要求に含まれる通信属性の「ノード情報」を解析して、キャッシュメモリ通信であることを識別する（Ｓ７０１）。また、パススイッチ制御部８１０は、当該受信したリード要求に含まれる通信属性「第１のアクセス可否情報」を解析して、パススイッチ部８００内のメモリ８２０へのアクセスを行うか否かを識別する（Ｓ７０２）。
【００４８】
ここで、メモリ８２０へのアクセスを行う場合（Ｓ７０２：ＹＥＳ）、パススイッチ制御部８１０は、メモリ８２０に記憶されているキャッシュ・タグ情報を読み出す等して、当該受信したリード要求に応じた「制御用データ」が記憶されているか否かのキャッシュ・ヒットの確認を行う（Ｓ７０３）。キャッシュ・ヒットの場合（Ｓ７０４：ＹＥＳ）、パススイッチ制御部８１０は、当該ヒットした「制御用データ」を、内部バス９００又は９０１を介して、当該リード要求送信元であるマスターＩＦ部５００又は６００に返信する（Ｓ７０５）。そして、マスターＩＦ部５００又は６００は、パススイッチ部８００からの当該「制御用データ」を受信する（Ｓ７０６）。
【００４９】
一方、メモリ８２０へのアクセスを行わない場合や（Ｓ７０２：ＮＯ）、キャッシュ・ヒットしなかった場合（Ｓ７０４：ＮＯ）、パススイッチ制御部８１０は、マスターＩＦ部５００又は６００から受信したリード要求を、内部バス９０２を介してキャッシュメモリ部７００に送信する。キャッシュメモリ部７００のメモリ制御部７２０は、パススイッチ部８００から受信したリード要求に含まれる通信属性の「第２のアクセス可否情報」を解析して、メモリ制御部７２０内のメモリ７２１へのアクセスを行うか否かを識別する（Ｓ７０８）。
【００５０】
ここで、メモリ７２１へのアクセスを行う場合（Ｓ７０８：ＹＥＳ）、メモリ制御部７２０は、メモリ７２１に対して、当該受信したリード要求に応じた「制御用データ」が記憶されているか否かのキャッシュ・ヒットの確認を行う（Ｓ７０９）。キャッシュ・ヒットの場合（Ｓ７１０：ＹＥＳ）、メモリ制御部７２０は、当該ヒットした「制御用データ」を、内部バス９０２、パススイッチ部８００及び内部バス９００又は９０１を介して、マスターＩＦ部５００又は６００に返信する（Ｓ７１１）。
【００５１】
一方、メモリ７２１へのアクセスを行わない場合や（Ｓ７０８：ＮＯ）、キャッシュ・ヒットしなかった場合（Ｓ７１０：ＮＯ）、メモリ制御部７２０は、当該受信したリード要求に応じた「制御用データ」をメモリ７１０（制御用データ記憶領域７１２）から読み出すことになる（Ｓ７１２）。そして、メモリ７１０から読み出した「制御用データ」を、メモリ制御部７２０、内部バス９０２、パススイッチ部８００及び内部バス９００又は９０１を介して、マスターＩＦ部５００又は６００に返信する（Ｓ７１３）。
【００５２】
以上、マスターＩＦ部５００又は６００がキャッシュメモリ部７００のメモリ７１０の「データ」又は「制御用データ」にアクセスしようとする場合、このアクセスしようとしている「データ」又は「制御用データ」がパススイッチ部８１０のメモリ８２０に存在すれば、パススイッチ部８００は、メモリ８２０に記憶されている「データ」又は「制御用データ」を、マスターＩＦ部５００又は６００に返信できる。この結果、パススイッチ部８００とキャッシュメモリ部７００との間の内部バス９０２及び９０３上でのトラフィック量を減らすことができる。
【００５３】
また、アクセスしようとする「データ」又は「制御用データ」がパススイッチ部８１０のメモリ８２０に存在しなくても、メモリ制御部７２０内のメモリ７２１に存在すれば、メモリ制御部７２０は、メモリ７２１に記憶されている「データ」又は「制御用データ」を、マスターＩＦ部５００又は６００に返信できる。この結果、メモリ制御部７２０とメモリ７１０との間の内部バス９０３上でのトラフィック量を減らすことができる。
【００５４】
以上、本発明によれば、内部バス９００乃至９０３の使用効率を向上できて、ひいては記憶デバイス制御装置１００全体のスループットを向上できる。
【００５５】
＜＜ライト処理＞＞
図８は、キャッシュメモリ通信時でのライト処理を説明するフローチャートである。以下では、マスターＩＦ部５００又は６００において、キャッシュメモリ部７００のメモリ７１０に対するライト要求が発生した場合の処理について説明する。なお、以下のライト処理は、ライトスルー方式を採用した場合についての説明であるが、勿論ライトバック方式を採用してもよい。
【００５６】
まず、マスターＩＦ部５００又は６００のマスターＭＰＵ５２０又は６２０は、キャッシュメモリ部７００に対するライト要求とそのライトデータがパケット１０に変換された後、内部バス９００又は９０１を介してパススイッチ部８００に送信する（Ｓ８００）。パススイッチ部８００のパススイッチ制御部８１０は、マスターＩＦ部５００又は６００から受信したライト要求に含まれる通信属性の「ノード情報」を解析して、キャッシュメモリ通信であることを識別する（Ｓ８０１）。また、パススイッチ制御部８１０は、当該受信したリード要求に含まれる通信属性の「第１のアクセス可否情報」を解析して、パススイッチ部８００内のメモリ８２０へのアクセスを行うか否かを識別する（Ｓ８０２）。
【００５７】
ここで、メモリ８２０へのアクセスを行う場合（Ｓ８０２：ＹＥＳ）、パススイッチ制御部８１０は、マスターＩＦ部５００又は６００から当該ライト要求と併せて受信したライトデータをメモリ８２０へ書き込む（Ｓ８０３）。引き続いて、パススイッチ制御部８１０は、当該受信したライト要求及びライトデータを、内部バス９０２を介してキャッシュメモリ部７００に送信する（Ｓ８０４）。なお、メモリ８２０へのアクセスを行わない場合においても（Ｓ８０２：ＮＯ）、パススイッチ制御部８１０は、当該受信したライト要求及びライトデータを、内部バス９０２を介してキャッシュメモリ部７００に送信する（Ｓ９０４）。
【００５８】
キャッシュメモリ部７００のメモリ制御部７２０は、パススイッチ部８００から受信したライト要求に含まれる通信属性の「第２のアクセス可否情報」を解析して、メモリ制御部７２０内のメモリ７２１へのアクセスを行うか否かを識別する（Ｓ９０５）。ここで、メモリ７２１へのアクセスを行う場合（Ｓ９０５：ＹＥＳ）、メモリ制御部７２０は、パススイッチ部８００から当該ライト要求と併せて受信したライトデータをメモリ８２０へ書き込む（Ｓ９０６）。さらに、メモリ７１０に対しても同様のライトデータを書き込む（Ｓ９０７）。  
なお、メモリ８２０へのアクセスを行わない場合には（Ｓ９０５：ＮＯ）、メモリ制御部７２０は、メモリ７１０に対してのみライトデータの書き込みを行う（Ｓ９０７）。
【００５９】
そして、メモリ制御部７２０は、ライト処理の完了と併せて、パススイッチ部８００及び内部バス９００又は９０１を介して、マスターＩＦ部５００又は６００に"ライト完了通知"を返信する（Ｓ９０８）。この結果、マスターＩＦ部５００又は６００は、当該ライト要求が完了したことを識別できる（Ｓ８０９）。
【００６０】
以上、マスターＩＦ部５００又は６００は、パススイッチ部８００が備えるパススイッチ制御部８１０とキャッシュメモリ部７００が備えるメモリ制御部７２０を介して、メモリ（８２０、７２１、７１０）の少なくともいずれかにライトデータを自由に配置しておくことができる。このライト処理の仕組みを利用して、例えば、マスターＩＦ部５００又は６００からの参照頻度の高い「データ」などは、パススイッチ部８００内のメモリ８２０に配置しておく等、データ内容（参照頻度、更新頻度やデータサイズなど）に応じて、ライトデータをメモリ（８２０、７２１、７１０）のいずれかに配置できる。この結果、記憶デバイス制御装置１００全体のキャッシュ・ヒット率を高めることができ、内部バス９００乃至９０３の使用効率の向上化や、ひいては記憶デバイス制御装置１００全体のスループットを向上できる。
【００６１】
＜＜優先処理＞＞
図９は、パススイッチ制御部８１０での優先処理を説明するフローチャートである。  
まず、マスターＩＦ部５００又は６００は、キャッシュメモリ部７００へのアクセス要求Ａについて、通信属性の「優先度情報」を"優先度Ａ"としたパケット１０を生成して、パススイッチ部８００に送信する（Ｓ９００）。また、同様に、先ほどのアクセス要求Ａとは異なるキャッシュメモリ部７００へのアクセス要求Ｂについて、通信属性の「優先度情報」を"優先度Ｂ"としたパケット１０を生成して、パススイッチ部８００に送信する（Ｓ９０１）。
【００６２】
パススイッチ部８００のパススイッチ制御部８１０は、マスターＩＦ部５００又は６００から受信したアクセス要求Ａとアクセス要求Ｂについて、それぞれの優先度を識別する（Ｓ９０２）。ここで、アクセス要求Ａの優先度Ａが、アクセス要求Ｂの優先度Ｂより高ければ（Ｓ９０３：ＹＥＳ）、アクセス要求Ａをアクセス要求Ｂに優先させてその処理を行っていく（Ｓ９０４）。一方、アクセス要求Ｂの優先度Ｂが、アクセス要求Ａの優先度Ａより高ければ（Ｓ９０３：ＮＯ）、アクセス要求Ｂをアクセス要求Ａに優先させてその処理を行っていく（Ｓ９０５）。
【００６３】
以上、パススイッチ制御部８１０が、マスターＩＦ部５００又は６００から複数のアクセス要求を受け付けたときに行う優先処理の概要である。本発明では、この優先処理の仕組みを利用して、例えば、「制御用データ」の処理を「データ」の処理よりも優先度を高く設定しておく。このことによって、"セクタ単位（５１２Ｂｙｔｅ）"となる「データ」の処理が、"４〜６Ｂｙｔｅ"程度単位となる「制御用データ」の処理よりも優先された結果、一回の「データ」の処理で内部バス９００乃至９０３を多くの時間占有することがなくなる。すなわち、「制御用データ」の処理が多くの待ち時間を要することがなくなる。
【００６４】
＜特定ＭＰＵ通信＞
特定ＭＰＵ通信は、マスターＭＰＵ５２０又は６２０と、スレーブとなるＭＰＵ（以下、スレーブＭＰＵと称する。）５２０又は６２０との間で行われる場合に用いられる。例えば、ホストＩＦ部５００のＭＰＵ５２０（マスターＭＰＵ）が、特定のディスクＩＦ部６００のＭＰＵ６２０（スレーブＭＰＵ）に対して、記憶デバイス３００への書き込み／読み出し処理を要求等する場合や、ディスクＩＦ部６００のＭＰＵ６２０（スレーブＭＰＵ）からホストＩＦ部５００のＭＰＵ５２０（マスターＭＰＵ）に対して応答等する場合がある。図１０は、このときのアクセスの様子を示す図である。
【００６５】
図１１のフローチャートを用いて、特定ＭＰＵ通信時における記憶デバイス制御装置１００の動作を説明する。  
まず、マスターＭＰＵ５２０又は６２０は、スレーブＭＰＵ５２０又は６２０に対する「制御用データ」の送信要求とその「制御用データ」とをパケット１０に変換された後、内部バス９００又は９０１を介してパススイッチ部８００に送信する（Ｓ１１００）。なお、このとき生成したパケット１０の通信属性（「ノード情報」）は、"特定ＭＰＵ通信"に設定される。このため、パススイッチ部８００のパススイッチ制御部８１０は、マスターＭＰＵ５２０又は６２０から受信した要求に含まれる通信属性（「ノード情報」）を解析して、特定ＭＰＵ通信であることを識別できる（Ｓ１１０１）。
【００６６】
なお、パススイッチ制御部８１０は、適宜なタイミングで、内部バス９００又は９０１の使用状況を検出する（Ｓ１１０２）。この検出結果に基づき、当該受信した要求に応じた内部バス９００又は９０１が既に使用中にある場合には（Ｓ１１０３：ＹＥＳ）、パススイッチ制御部８１０は、当該要求と併せて受信した「制御用データ」を、メモリ８２０に一時的に記憶しておく（Ｓ１１０４）。そして、当該内部バス９００又は９０１が使用中の状態（Ｓ１１０３：ＹＥＳ）から空きの状態（Ｓ１１０３：ＮＯ）になったとき、パススイッチ制御部８１０は、当該メモリ８２０に一時的に記憶した「制御用データ」を読み出し、Ｓ１１０５以降の処理を再開する。
【００６７】
すなわち、パススイッチ部８００のメモリ８２０は、メモリ７１０やメモリ７２１に対するキャッシュメモリとして機能する他、バッファとしても機能する。このバッファの機能によって、例えば、マスターＭＰＵ５２０又は６２０は、パススイッチ部８００と送信先のスレーブＭＰＵ５２０又は６２０との間の内部バス９００又は９０１が仮に使用中であった場合、「制御用データ」等をパススイッチ部８００に改めて送信する必要がなくなる。よって、マスターＭＰＵ５２０又は６２０の負荷が軽減されるともに、内部バス９００又は９０１でのトラフィック量が減ることになる。
【００６８】
つぎに、当該受信した要求に応じた内部バス９００又は９０１が空きの状態であった場合（Ｓ１１０３：ＮＯ）、パススイッチ制御部８１０は、当該要求を受信してから当該要求を実行するまでに所定の時間を経過しているか否かを識別する（Ｓ１１０５）。ここで、所定の時間を経過していない場合に（Ｓ１１０５：ＹＥＳ）、パススイッチ制御部８１０は、当該要求と併せて受信した「制御用データ」を、内部バス９００又は９０１を介してスレーブＭＰＵ５２０又は６２０に送信する（Ｓ１１０６）。
【００６９】
そして、スレーブＭＰＵ５２０又は６２０は、パススイッチ部８００から内部バス９０２を介して「制御用データ」を受信し、当該「制御用データ」にデータ誤りがあるか否かを検証し、さらにはローカルメモリ５３０又は６３０への書き込むなどの所定の処理を行う。また、スレーブＭＰＵ５２０又は６２０は、「制御用データ」にデータ誤りが発生しておらず且つ所定の処理が正常に行われた場合、パススイッチ部８００を介してマスターＭＰＵ５２０又は６２０に"正常通知"を返信する（Ｓ１１１０）。なお、「制御用データ」のデータ誤り又は所定の処理の異常が発生した場合には、パススイッチ部８００を介してマスターＭＰＵ５２０又は６２０に"異常通知"を返信する（Ｓ１１１０）。
【００７０】
ところで、所定の時間を経過していた場合（Ｓ１１０５：ＮＯ）、パススイッチ制御部８１０は、マスターＭＰＵ５２０又は６２０に"送信タイムアウト通知"を返信する（Ｓ１１０７）。マスターＭＰＵ５２０又は６２０は、"送信タイムアウト通知"や、スレーブＭＰＵ５２０又は６２０からの"異常通知"を受信することで、今回の通信において異常が発生したことを識別できる（Ｓ１１０８）。また、マスターＭＰＵ５２０又は６２０は、スレーブＭＰＵ５２０又は６２０から"正常通知"を受信することで、今回の通信が正常に行われたことを識別できる（Ｓ１１１１）。
【００７１】
＜全ＭＰＵ通信＞
全ＭＰＵ通信は、マスターＭＰＵ５２０又は６２０と、マスターＭＰＵ５２０又は６２０以外の全てのスレーブＭＰＵ５２０又は６２０との間で行われる場合に用いられる。例えば、マスターＩＦ部５００又は６００が、全てのＭＰＵ５２０又は６２０における処理の同期化を図るために、自身が検出した"装置の構成情報"や"障害情報"などの「制御用データ」を、全てのスレーブＭＰＵ５２０又は６２０に送信する目的で使用される。図１２は、このときのアクセスの様子を示す図である。
【００７２】
図１３のフローチャートを用いて、全ＭＰＵ通信時における記憶デバイス制御装置１００の動作を説明する。  
まず、マスターＩＦ部５００又は６００のメモリアクセス制御部５４０又は６４０においてパケット１０が生成されるとき、当該パケット１０の通信属性の「ノード情報」が"全ＭＰＵ通信"に設定される。この結果、パススイッチ部８００のパススイッチ制御部８１０は、マスターＭＰＵ５２０又は６２０から受信した要求（Ｓ１３００）に含まれる通信属性の「ノード情報」を解析して、全ＭＰＵ通信であることを識別できる（Ｓ１３０１）。
【００７３】
なお、パススイッチ制御部８１０は、内部バス９００及び９０１の使用状況を検出し（Ｓ１３０２）、内部バス９００及び９０１が既に使用中にある場合には（Ｓ１３０２：ＹＥＳ）、当該要求と併せて受信した「制御用データ」を、メモリ８２０に一時的に記憶しておく（Ｓ１３０４）。そして、当該内部バス９００又は９０１が空きの状態になったとき（Ｓ１３０３：ＮＯ）、パススイッチ制御部８１０は、当該メモリ８２０に一時的に記憶した「制御用データ」を読み出してＳ１３０５以降の処理を再開する。
【００７４】
つぎに、内部バス９００及び９０１が空きの状態であった場合（Ｓ１３０３：ＮＯ）、パススイッチ制御部８１０は、当該要求を実行するまでに所定の時間を経過していない場合に（Ｓ１３０５：ＹＥＳ）、当該要求と併せて受信した「制御用データ」を効率よく転送するために、内部バス９００又は９０１を介して全てのスレーブＭＰＵ５２０又は６２０に一斉にパラレルに送信する（Ｓ１３０６）。一方、所定の時間を経過していた場合には（Ｓ１３０５：ＮＯ）、パススイッチ制御部８１０は、マスターＭＰＵ５２０又は６２０に"送信タイムアウト通知"を返信する（Ｓ１３０７）。
【００７５】
なお、パススイッチ部８００から「制御用データ」を受信した後のスレーブＭＰＵ５２０又は６２０での処理（Ｓ１３０９及びＳ１３１０）は、特定ＭＰＵ通信の場合（Ｓ１１０９及びＳ１１１０）と同様である。すなわち、マスターＭＰＵ５２０又は６２０は、"送信タイムアウト通知"や、スレーブＭＰＵ５２０又は６２０からの"異常通知"を受信することで、今回の通信において異常が発生したことを識別できる（Ｓ１３０８）。また、マスターＭＰＵ５２０又は６２０は、スレーブＭＰＵ５２０又は６２０から"正常通知"を受信することで、今回の通信が正常に行われたことを識別できる（Ｓ１３１１）。
【００７６】
＝＝＝記憶デバイス制御装置の動作（具体例）＝＝＝
パススイッチ部８００が取り扱うキャッシュメモリ通信、特定ＭＰＵ通信、全ＭＰＵ通信の少なくともいずれかを含んだ、記憶デバイス制御装置１００の具体的な動作について、いくつか例を挙げて説明する。
【００７７】
＜ホストからのリード要求への応答（キャッシュメモリ通信＋特定ＭＰＵ通信）＞
キャッシュメモリ通信と特定ＭＰＵ通信を含んだ具体例として、ホストＩＦ部５００からのリード要求に応じた「データ」がキャッシュメモリ部７００等に記憶されてなかった場合（すなわち、キャッシュミス時）、ホストＩＦ部５００（ＭＰＵ５２０）とディスクＩＦ部６００（ＭＰＵ６２０）が、相互に連携した処理を行うことで記憶デバイス３００から読み出したデータをホスト計算機２００に返信する処理について説明する。
【００７８】
なお、この連携処理については、ホストＩＦ部５００とディスクＩＦ部６００とを連携させるためにＪＯＢ管理情報（『制御用データ』）を受け渡す処理と、ディスクＩＦ部６００が記憶デバイス３００から「データ」を読み出した後、キャッシュメモリ部７００への書き込みが完了したことをホストＩＦ部５００に通知する処理と、ホストＩＦ部５００が当該通知を受けた後に、キャッシュメモリ部７００に書き込まれた「データ」を読み出してホスト計算機２００へ転送する処理と、に分類できる。
【００７９】
まず、図１２のフローチャートを用いて、ホストＩＦ部５００とディスクＩＦ部６００との間で行われるＪＯＢ管理情報の受け渡し処理について説明する。なお、ホストＩＦ部５００は、ホスト計算機２００からの記憶デバイス３００へのリード要求を受け付けて、キャッシュメモリ部７００のメモリ７１０（制御用データ記憶領域７１２）からキャッシュ・ディレクトリ情報を読み出した結果、キャッシュミスであることを識別したものとする。
【００８０】
ホストＩＦ部５００のＭＰＵ５２０は、ローカルメモリ５３０からＪＯＢ管理情報を読み出した後、当該ＪＯＢ管理情報をパススイッチ部８００のメモリ８２０に対して書き込むためのライト要求を発生する（Ｓ１２０１）。なお、ＪＯＢ管理情報とは、記憶デバイス３００をアクセスする際の「ディスクアドレス情報」や、キャッシュメモリ部７００のメモリ７１０をアクセスする際の「メモリアドレス情報」や、各アクセス時のデータサイズなど、ホストＩＦ部５００とディスクＩＦ部６００との間での連携処理でホストＩＦ部５００とディスクＩＦ部６００が共通に使用するパラメータ情報である。
【００８１】
ホストＩＦ部５００のメモリアクセス制御部５４０は、当該ライト要求を受け付けて、当該ライト要求と当該ＪＯＢ管理情報それぞれのパケット１０を生成した後、内部バス９００を介してパススイッチ部８００に送信する（Ｓ１２０２）。なお、このとき生成したパケット１０の通信属性の「第１のアクセス可否情報」は、パススイッチ部８００のメモリ８２０へのアクセスを行うように設定される。このため、パススイッチ部８００のパススイッチ制御部８１０は、メモリアクセス制御部５４０から受信したＪＯＢ管理情報を、メモリ８２０に書き込むことになる（Ｓ１２０３）。
【００８２】
一方、ホストＩＦ部５００のＭＰＵ５２０は、特定のディスクＩＦ部６００に対して当該ＪＯＢ管理情報の受け渡しを行うために、当該ディスクＩＦ部６００への割り込み要求を発生する（Ｓ１２０４）。ホストＩＦ部５００のメモリアクセス制御部５４０は、当該割り込み要求を受け付けて、当該割り込み要求のパケット１０を生成し、内部バス９００を介してパススイッチ部８００に送信する（Ｓ１２０５）。なお、このとき生成したパケット１０の通信属性の「ノード情報」は、"特定ＭＰＵ通信"に設定される。すなわち、パススイッチ部８００のパススイッチ制御部８１０は、メモリアクセス制御部５４０から受信した割り込み要求について、特定ＭＰＵ通信であることを識別し、内部バス９０１を介してディスクＩＦ部６００に送信する（Ｓ１２０６）。
【００８３】
ディスクＩＦ部６００のメモリアクセス制御部６４０は、パススイッチ部８００から割り込み要求を受信したとき、ＭＰＵ６２０に対して割り込みを発生させる（Ｓ１２０７）。この結果、ＭＰＵ６２０は、ホストＩＦ部５００からＪＯＢ管理情報の受け渡し要求が発生したことを識別する。そして、ＭＰＵ６２０は、パススイッチ部８００のメモリ８２０に記憶されているＪＯＢ管理情報を読み出すためのリード要求を発生する（Ｓ１２０８）。
【００８４】
ディスクＩＦ部６００のメモリアクセス制御部６４０は、当該リード要求を受け付けて、当該リード要求のパケット１０を生成し、内部バス９０２を介してパススイッチ部８００に送信する（Ｓ１２０９）。パススイッチ部８００のパススイッチ制御部８１０は、メモリ８２０に記憶されているＪＯＢ管理情報を読み出し（Ｓ１２１０）、内部バス９０２を介してパススイッチ部８００に返信する（Ｓ１２１１）。
【００８５】
以上により、ホストＩＦ部５００とディスクＩＦ部６００との間でのＪＯＢ管理情報の受け渡しが完了する。つぎに、図１３のフローチャート（ブロックＡ内）を用いて、ＪＯＢ管理情報が受け渡されたディスクＩＦ部６００が、記憶デバイス３００から「データ」を読み出した後、キャッシュメモリ部７００に記憶したことをホストＩＦ部５００に通知する処理について説明する。
【００８６】
まず、ディスクＩＦ部６００のＭＰＵ６２０は、ディスクＩＦ制御部６１０に対して、ＪＯＢ管理情報に基づいたＤＭＡ転送用のパラメータを設定するとともに、ＤＭＡ転送の起動要求を発生する（Ｓ１５０１）。ディスクＩＦ制御部６１０は、当該要求を受け付けて、記憶デバイス３００に対して「データ」を読み出すためのリード要求を発生し（Ｓ１５０２）、記憶デバイス３００から当該リード要求に応じた「データ」を読み出す（Ｓ１５０３）。
【００８７】
この記憶デバイス３００から読み出された「データ」は、メモリアクセス制御部６４０に対してＤＭＡ転送される（Ｓ１５０４）。
【００８８】
そして、メモリアクセス制御部６４０は、ＤＭＡ転送されてきた「データ」を、キャッシュメモリ部７００のメモリ７１０（データ用記憶領域７１１）に書き込むために、ライト要求及びライトデータのパケット１０を生成する。その後、内部バス９０１を介してパススイッチ部８００に送信する（Ｓ１５０５）。なお、このとき生成したパケット１０の通信属性のうち、「ノード情報」は"キャッシュメモリ通信"に、「第１のアクセス可否情報」及び「第２のアクセス可否情報」はそれぞれ"アクセス不可"となるように設定される。
【００８９】
パススイッチ部８００のパススイッチ制御部８１０は、メモリアクセス制御部６４０から受信したパケット１０の「データ」が、キャッシュメモリ通信であることを識別して、そのパケット１０を内部バス９０２を介してキャッシュメモリ部７００に送信する（Ｓ１５０６）。この結果、キャッシュメモリ部７００のメモリ制御部７２０は、パススイッチ部８００から受信したパケット１０から「データ」を抽出してメモリ７１０（データ用記憶領域７１１）に書き込む（Ｓ１５０７）。そして、その書き込みが完了すると、内部バス９０２、パススイッチ部８００及び内部バス９０１を介して、ディスクＩＦ部６００にライト完了通知を送信する（Ｓ１５０８）。
【００９０】
ディスクＩＦ部６００のメモリアクセス制御部６４０は、キャッシュメモリ部７００からのライト完了通知を受信したとき、ＭＰＵ６２０に対して割り込みを発生させる（Ｓ１５０９）。この結果、ＭＰＵ６２０は、キャッシュメモリ部７００のメモリ７１０への「データ」の書き込みが完了したことを識別する。そして、ＭＰＵ６２０は、ホストＩＦ部５００がメモリ７１０に記憶されている「データ」を読み出すための割り込み要求を発生する（Ｓ１５１０）。
【００９１】
ディスクＩＦ部６００のメモリアクセス制御部６４０は、当該割り込み要求を受け付けて、当該割り込み要求のパケット１０を生成し、内部バス９０２を介してパススイッチ部８００に送信する（Ｓ１５１１）。なお、このとき生成したパケット１０の通信属性の「ノード情報」は、"特定ＭＰＵ通信"に設定される。
【００９２】
パススイッチ部８００のパススイッチ制御部８１０は、メモリアクセス制御部６４０から受信した割り込み要求について、特定ＭＰＵ通信であることを識別し、内部バス９００を介してホストＩＦ部５００に送信する（Ｓ１５１２）。そして、ホストＩＦ部５００のメモリアクセス制御部５４０は、ディスクＩＦ部６００からの割り込み要求を受信したとき、ＭＰＵ５２０に対して割り込みを発生させる（Ｓ１５１３）。この結果、ＭＰＵ５２０は、ホストＩＦ制御部５１０に対して、ＤＭＡ転送の起動要求を発生する（Ｓ１５１４）。
【００９３】
つぎに、図１３のフローチャート（ブロックＢ内）を用いて、ホストＩＦ部５００が、当該通知を受けた後に、キャッシュメモリ部７００（データ用記憶領域７１１）に書き込まれた「データ」を読み出してホスト計算機２００へ転送する処理について説明する。なお、この処理は、キャッシュメモリ通信のみに該当する。
【００９４】
ホストＩＦ部５００のホストＩＦ制御部５１０は、当該ＤＭＡ転送の起動要求を受け付けて、キャッシュメモリ部７００に書き込まれた「データ」を読み出すためのリード要求を発生する（Ｓ１５１５）。メモリアクセス制御部５４０は、当該リード要求を受け付けて、当該リード要求のパケット１０を生成して、内部バス９００を介してパススイッチ部８００に送信する（Ｓ１５１６）。なお、このとき生成したパケット１０の通信属性のうち、「ノード情報」は"キャッシュメモリ通信"に、「第１のアクセス可否情報」及び「第２のアクセス可否情報」はそれぞれ"アクセス不可"となるように設定される。
【００９５】
パススイッチ部８００のパススイッチ制御部８１０は、メモリアクセス制御部５４０から受信したリード要求について、"キャッシュメモリ通信"であることを識別し、内部バス９０２を介してキャッシュメモリ部７００に送信する（Ｓ１５１７）。キャッシュメモリ部７００のメモリ制御部７２０は、パススイッチ部８００から受信したリード要求を受け付けて、メモリ７１０（データ用記憶領域７１１）に書き込まれた「データ」を読み出す（Ｓ１５１８）。この読み出された「データ」は、パケット１０に変換された後、内部バス９０２、パススイッチ部８００及び内部バス９００を介してホストＩＦ部５００に送信される（Ｓ１５１９）。
【００９６】
ホストＩＦ部５００のメモリアクセス制御部５４０は、キャッシュメモリ部７００から受信した「データ」を、ホストＩＦ制御部５１０に対してＤＭＡ転送を行う（Ｓ１５２０）。この結果、ホストＩＦ制御部５１０は、ＤＭＡ転送された「データ」について、ホスト計算機２００との間の通信プロトコルに応じたプロトコル変換処理を施す。そして、ホスト計算機２００からの要求に対して、このプロトコル変換された「データ」を返信することになる（Ｓ１５２１）。
【００９７】
＜マイクロプログラム更新処理（キャッシュメモリ通信）＞
キャッシュメモリ通信を含んだ具体例として、マスターＩＦ部５００が、管理端末（ＳＶＰ）４００から通信ネットワークを介して受信した更新マイクロプログラム（『制御用データ』）を、キャッシュメモリ部７００のメモリ７１０（制御用データ記憶領域７１２）へ書き込む処理と、他のスレーブＩＦ部５００又は６００が、キャッシュメモリ部７００（制御用データ記憶領域７１２）に書き込まれた更新マイクロプログラムを読み出す処理と、について、図１６のフローチャートを用いて説明する。
【００９８】
まず、マスターＩＦ部（ホストＩＦ部）５００は、管理端末４００からＬＡＮ（Local Area Network）等の通信ネットワークを介して更新マイクロプログラムを受信しており（Ｓ１６０１）、当該更新マイクロプログラムをローカルメモリ５３０に書き込む（Ｓ１６０２）。また、マスターＩＦ部５００のマスターＭＰＵ５２０は、キャッシュメモリ部７００のメモリ７１０（制御用データ記憶領域７１２）に対して更新マイクロプログラムを書き込むためのライト要求を発生する（Ｓ１６０３）。
【００９９】
マスターＩＦ部５００のメモリアクセス制御部５４０は、当該ライト要求と当該更新マイクロプログラムそれぞれのパケット１０を生成した後、内部バス９００を介してパススイッチ部８００に送信する（Ｓ１６０４）。なお、このとき生成したパケット１０の通信属性のうち、「ノード情報」は"キャッシュメモリ通信"であり、「第１のアクセス可否情報」及び「第２のアクセス可否情報」は"アクセス不可"となるように設定される。そこで、パススイッチ部８００のパススイッチ制御部８１０は、メモリアクセス制御部５４０から受信したパケット１０について、キャッシュメモリ通信であることを識別し、内部バス９０２を介してキャッシュメモリ部７００に送信する（Ｓ１６０５）。
【０１００】
キャッシュメモリ部７００のメモリ制御部７２０は、パススイッチ部８００から受信したパケット１０より更新マイクロプログラムを抽出して、メモリ７１０の制御用データ記憶領域７１２に書き込む（Ｓ１６０６）。そして、メモリ制御部７２０は、その書き込みが完了したとき、パススイッチ部８００を介してマスターＩＦ部５００に対して"書き込み完了通知"を返信するとともに、他のスレーブＩＦ部５００又は６００に対しても同様の"書き込み完了通知"を送信する（Ｓ１６０７）。
【０１０１】
他のスレーブＩＦ部５００又は６００は、パススイッチ部８００から"書き込み完了通知"を受信したとき、キャッシュメモリ部７００のメモリ７１０（制御用データ記憶領域７１２）に記憶していたマイクロプログラムが更新されたことを識別する。そこで、他のスレーブＩＦ部５００又は６００のＭＰＵ５２０又は６２０は、キャッシュメモリ部７００のメモリ７１０（制御用データ記憶領域７１２）から、更新マイクロプログラムを読み出すためのリード要求を発生する（Ｓ１６０８）。
【０１０２】
他のスレーブＩＦ部５００又は６００のメモリアクセス制御部５４０又は６４０は、当該リード要求に応じたパケット１０を生成した後、パススイッチ部８００を介してキャッシュメモリ部７００に送信する（Ｓ１６０９）。なお、このとき生成したパケット１０の通信属性の「ノード情報」は"キャッシュメモリ通信"である。
【０１０３】
キャッシュメモリ部７００のメモリ制御部７２０は、パススイッチ部８００から受信したリード要求に応じて、メモリ７１０（制御用データ記憶領域７１２）から更新マイクロプログラムを読み出す（Ｓ１６１０）。そして、当該更新マイクロプログラムをパケット１０に変換した後、パススイッチ部８００を介して他のスレーブＩＦ部５００又は６００に返信する（Ｓ１６１１）。この結果、他のスレーブＩＦ部５００又は６００は、キャッシュメモリ部７００から更新マイクロプログラムを受け取ることができて、ローカルメモリ５３０又は６３０に書き込むことになる（Ｓ１６１２）。
【０１０４】
＜構成情報更新処理（全ＭＰＵ通信）＞
全ＭＰＵ通信を含んだ具体例として、マスターＩＦ部５００が、装置内部の構成情報を、全てのスレーブＩＦ部５００及び６００に対して送信する処理について、図１７のフローチャートを用いて説明する。
【０１０５】
まず、マスターＩＦ部５００は、記憶デバイス制御装置１００内部の構成が変更されたことを検出して構成情報更新処理のタスクを発生する。そして、マスターＩＦ部５００は、ローカルメモリ５２０に予め設けておいたブロードキャスト用のアドレス空間に更新構成情報を書き込む。この結果、マスターＩＦ部５００のＭＰＵ５２０は、全てのスレーブＩＦ部５００及び６００に対して更新構成情報をブロードキャスト（送信）するためのライト要求を発生する（Ｓ１７０１）。そして、マスターＩＦ部５００のＭＰＵ５２０は、構成情報更新処理のタスクを一時中断して別処理のタスクに切り替える。
【０１０６】
マスターＩＦ部５００のメモリアクセス制御部５４０は、当該ライト要求と当該更新構成情報それぞれのパケット１０を生成した後、内部バス９００を介してパススイッチ部８００に送信する（Ｓ１７０２）。なお、このとき生成したパケット１０の通信属性のうち、「ノード情報」は"全ＭＰＵ通信"であり、「第１のアクセス可否情報」及び「第２のアクセス可否情報」は"アクセス不可"となるように設定される。そこで、パススイッチ部８００のパススイッチ制御部８１０は、メモリアクセス制御部５４０から受信したパケット１０について、全ＭＰＵ通信であることを識別し、内部バス９００及び９０１を介して全てのスレーブＩＦ部５００及び６００にブロードキャストする（Ｓ１７０３）。
【０１０７】
スレーブＩＦ部５００及び６００は、パススイッチ部８００を介してブロードキャストされたパケット１０を受信して、ローカルメモリ５３０又は６３０に更新構成情報を書き込む（Ｓ１７０４）。そして、この更新構成情報の書き込みが完了したとき、パススイッチ部８００に対して"書き込み完了通知"を返信する（Ｓ１７０５）。
【０１０８】
パススイッチ部８００のパススイッチ制御部８１０は、全てのスレーブＩＦ部５００及び６００から"書き込み完了通知"が返信されるのを待ってから、マスターＩＦ部５００に対して"全書き込み完了通知"を返信する（Ｓ１７０６）。そして、マスターＩＦ部５００のメモリアクセス制御部５４０は、マスターＩＦ部５００のＭＰＵ５２０が現在行っている別処理のタスクに対して割り込みを発生する（Ｓ１７０７）。
【０１０９】
マスターＩＦ部５００のＭＰＵ５２０は、この割り込みを受けて、構成情報更新処理のタスクを再開するとともに、当該構成情報更新処理のタスクが完了したことを識別することができる。  
このように、マスターＩＦ部５００は、更新構成情報を全てのスレーブＩＦ部５００及び６００に対して送信する。なお、マスターＩＦ部５００が、検出した障害情報を、全てのスレーブＩＦ部５００及び６００に対して送信する処理についても、同様の処理フローとして説明できる。
【０１１０】
以上、本実施の形態について説明したが、前述した実施例は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更／改良され得るとともに、本発明にはその等価物も含まれる。
【図面の簡単な説明】
【０１１１】
【図１】本実施の形態に係るストレージシステムの全体構成を示すブロック図である。
【図２】本実施の形態に係る記憶デバイス制御装置の外観構成を示す図である。
【図３】本実施の形態に係る記憶デバイス制御装置の構成を示すブロック図である。
【図４】本実施の形態に係るパケットの構成を説明する図である。
【図５】本実施の形態に係るキャッシュメモリ通信時におけるアクセスの様子を示す図である。
【図６】本実施の形態に係るキャッシュメモリ通信時におけるアクセスの様子を示す図である。
【図７】本実施の形態に係るキャッシュメモリ通信時でのリード処理を説明するフローチャートである。
【図８】本実施の形態に係るキャッシュメモリ通信時でのライト処理を説明するフローチャートである。
【図９】本実施の形態に係るパススイッチ制御部での優先処理を説明するフローチャートである。
【図１０】本実施の形態に係る特定ＭＰＵ通信時におけるアクセスの様子を示す図である。
【図１１】本実施の形態に係る特定ＭＰＵ通信時における記憶デバイス制御装置の動作を説明するフローチャートである。
【図１２】本実施の形態に係る記憶デバイス制御装置において、ホスト計算機からのリード要求に応じた動作を説明するフローチャートである。
【図１３】本実施の形態に係る記憶デバイス制御装置において、ホスト計算機からのライト要求に応じた動作を説明するフローチャートである。
【図１４】本実施の形態に係る全ＭＰＵ通信時におけるアクセスの様子を示す図である。
【図１５】本実施の形態に係る全ＭＰＵ通信時における記憶デバイス制御装置の動作を説明するフローチャートである。
【図１６】本実施の形態に係る記憶デバイス制御装置において、管理端末からのプログラム更新要求に応じた動作を説明するフローチャートである。
【図１７】本実施の形態に係る記憶デバイス制御装置において、構成情報更新処理を説明するフローチャートである。
【符号の説明】
【０１１２】
１０      パケット
１１      ヘッダ部
１２      データ部
１００    記憶デバイス制御装置
１１０    ユニット装着部
２００    ホスト計算機
３００    記憶デバイス
４００    管理端末
５００    ホストＩＦ部
６００    ディスクＩＦ部
７００    キャッシュメモリ部
８００    パススイッチ部
【図１】
2005115603.tif 000003
【図２】
2005115603.tif 000004
【図３】
2005115603.tif 000005
【図４】
2005115603.tif 000006
【図５】
2005115603.tif 000007
【図６】
2005115603.tif 000008
【図７】
2005115603.tif 000009
【図８】
2005115603.tif 000010
【図９】
2005115603.tif 000011
【図１０】
2005115603.tif 000012
【図１１】
2005115603.tif 000013
【図１２】
2005115603.tif 000014
【図１３】
2005115603.tif 000015
【図１４】
2005115603.tif 000016
【図１５】
2005115603.tif 000017
【図１６】
2005115603.tif 000018
【図１７】
2005115603.tif 000019