(57)【要約】【課題】ディスク制御装置のインタフェース部におけるマイクロプロセッサのボトルネックを軽減し、ディスク制御装置によるストレージシステムの性能低下を防ぐこと。【解決手段】上位ホストサーバに接続された外部Ｉ／Ｆ送受信部１０１と、上位ホストサーバからのコマンドを処理するマイクロプロセッサ１１３，１１６を有するマイクロプロセッサ部と、外部Ｉ／Ｆ送受信部とマイクロプロセッサ部との間に介在されたコマンド制御回路１２１と、を備えたインタフェース部であって、コマンド制御回路１２１には複数のマイクロプロセッサ部１１１，１１４が接続され、コマンド制御回路はコマンドを一度に同時に複数のマイクロプロセッサ部へコマンド転送を行う多重ライト機能を有し、この多重ライト機能によって、上位ホストサーバからのコマンドを各マイクロプロセッサに分散して処理すること。【選択図】　　　　図１
2004139260.tif 000002
【特許請求の範囲】
【請求項１】
上位ホストサーバに接続された外部Ｉ／Ｆ送受信部と、前記上位ホストサーバから発行されるコマンドを処理するマイクロプロセッサを有するマイクロプロセッサ部と、前記外部Ｉ／Ｆ送受信部と前記マイクロプロセッサ部との間に介在されてインタフェースを仲介するコマンド制御回路と、を備えたストレージ装置のインタフェース部であって、
前記コマンド制御回路には複数のマイクロプロセッサ部が接続され、
前記コマンド制御回路は前記上位ホストサーバからのコマンドを一度に同時に前記複数のマイクロプロセッサ部へコマンド転送を行う多重ライト機能を有し、前記コマンド制御回路の多重ライト機能によって、前記上位ホストサーバからのコマンドを各マイクロプロセッサに分散して処理する
ことを特徴とするコマンド処理方式。
【請求項２】
請求項１において、
前記各マイクロプロセッサによるコマンド処理に際して、複数のコマンドフェーズの処理実行が前記各マイクロプロセッサで並列処理されることを特徴とするコマンド処理方式。
【請求項３】
請求項１において、
前記外部Ｉ／Ｆ送受信部を複数個有することを特徴とするコマンド処理方式。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ストレージ装置に対して発行される上位側の情報処理装置からのコマンドを多重ライト機能により複数個のマイクロプロセッサに転送し、円滑にコマンド処理するためのコマンド処理分散方式に関する。
【０００２】
【従来の技術】
図５は、従来技術に関する上位ホストサーバ、ＤＫＣ、ＤＫＵからなるデータ転送の全体構成を示す図である。図５において、上位ホストサーバとストレージ装置のディスク部としてのＤＫＵ（ディスクユニット）との間に介在してデータ転送の処理を制御するＤＫＣ（ディスクコントローラ）は、上位ホストサーバとのインタフェース部を形成するＣＨＡ（チャネルアダプタ）と、ＣＡＣＨＥ（キャッシュ）と、ＤＫＵとのインタフェース部を形成するＤＫＡ（ディスクアダプタ）と、から構成される。
【０００３】
そして、ＣＨＡは、図５に示すように、外部Ｉ／Ｆ送受信部位５０１と、コマンド制御回路５２１と、データ転送制御部５３１と、マイクロプロセッサ部位５１１と、から成り立っている。図５において、マイクロプロセッサ部位５１１には１つのマイクロプロセッサ制御回路５１２及びマイクロプロセッサ５１３が図示されているが、マイクプロセッサ部位５１１は複数接続されていても良い。
【０００４】
図５に示した従来技術において、一連のデータ転送は、上位ホストサーバと、ＤＫＣのインタフェース部であるＣＨＡを介してＤＫＵとの間で行われる。この時、インタフェース部であるＣＨＡに、コマンド処理のために図５に示すように１つ、又は例え２つのマイクロプロセッサを有していたとしても、どちらか一方のマイクロプロセッサがこのデータ転送に関する一連のコマンド処理、すなわちデータ転送終了ステータスを上位ホストサーバに返すまでの一連のコマンド処理を当該一方のマイクロプロセッサが負担して実行することになる。
【０００５】
また、従来技術におけるマルチプロセッサ処理方式によるシステム処理時間短縮は、主従関係にある２つのプロセッサと共用メモリとを具備し、いずれのプロセッサもが実行可能なコモンプログラムをメモリに含ませてこのコモンプログラムの実行配分を変えることで各プロセッサの並列処理量をほぼ均等にすることが開示されている（例えば、特許文献１参照）。
【０００６】
【特許文献１】
特開平５−２８１２０号公報
【０００７】
【発明が解決しようとする課題】
上述した従来技術によれば、上位ホストサーバから多くのＩ／Ｏ要求が発行されたり、或るコマンド処理に時間を要して何らかのビジー状態に陥る等で、マイクロプロセッサがインタフェース部（ＣＨＡ）のボトルネックになって、コマンドがキューイングされたり（コマンドを処理できないほど大量に受け取って蓄積された状態となる）、リトライされることがある。このような状況では、ＤＫＣの要因によるストレージシステムの性能低下が発生し得る。
【０００８】
また、前記特許文献１によれば、２つのプロセッサは主従関係にあって且つコモンプログラムのロードされた共用メモリを備えているという構成上の制約条件を基にして、システム処理時間の短縮を図るものであり、汎用のプロセッサやメモリを使用するＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ　Ａｒｒａｙｓ　Ｉｎｅｘｐｅｎｓｉｖｅ　Ｄｉｓｋｓ：ＤＫＣ＋ＤＫＵ）のインタフェース部には適用できないものであるという不都合さが生じる。
【０００９】
本発明の目的は、ディスクコントローラ（ＤＫＣ）のインタフェース部におけるマイクロプロセッサのボトルネックを軽減し、ディスクコントローラによるストレージシステムの性能低下を防ぐことにある。
【００１０】
【課題を解決するための手段】
前記課題を解決するために、本発明は主として次のような構成を採用する。　上位ホストサーバに接続された外部Ｉ／Ｆ送受信部と、前記上位ホストサーバから発行されるコマンドを処理するマイクロプロセッサを有するマイクロプロセッサ部と、前記外部Ｉ／Ｆ送受信部と前記マイクロプロセッサ部との間に介在されてインタフェースを仲介するコマンド制御回路と、を備えたストレージ装置のインタフェース部であって、
前記コマンド制御回路には複数のマイクロプロセッサ部が接続され、
前記コマンド制御回路は前記上位ホストサーバからのコマンドを一度に同時に前記複数のマイクロプロセッサ部へコマンド転送を行う多重ライト機能を有し、前記コマンド制御回路の多重ライト機能によって、前記上位ホストサーバからのコマンドを各マイクロプロセッサに分散して処理するコマンド処理方式。
【００１１】
この構成を採用することによって、上位ホストサーバから発行されたコマンド処理を各マイクロプロセッサにて負荷分散し、マイクロプロセッサによるボトルネックの軽減を図ることができる。
【００１２】
【発明の実施の形態】
本発明の実施形態に係るマルチプロセッサによるコマンド処理分散方式について、図１〜図４を参照しながら以下説明する。図１は本発明の実施形態に係る、上位ホストサーバとのインタフェース部であるＣＨＡ（チャネルアダプタ）の具体的構成を示す図であり、図２は本発明の実施形態に関するＣＨＡ内の２つのプロセッサにおける処理内容を示すフローであり、図３は本実施形態に関する２つのプロセッサにおけるコマンドフェーズの時間的経過を従来技術との比較で示す図である。図４は本発明の他の実施形態に係る、上位ホストサーバとのインタフェース部であるＣＨＡ（チャネルアダプタ）の具体的構成を示す図である。
【００１３】
図１に示す構成は、上位ホストサーバとのインタフェースであるディスク装置のインタフェース部（チャネルアダプタ（ＣＨＡ））のコマンド制御を行う部位を示している。外部Ｉ／Ｆ送受信部位１０１は外部Ｉ／Ｆ送受信回路１０２と外部Ｉ／Ｆプロトコル制御回路１０３から構成される。また、マイクロプロセッサ部位１１１，１１４はマイクロプロセッサ１１３，１１６とマイクロプロセッサ制御回路１１２，１１５から構成される。外部Ｉ／Ｆ送受信回路１０２は上位ホストサーバと接続される上位インタフェース回路である。外部Ｉ／Ｆプロトコル制御回路１０３は外部Ｉ／Ｆ送受信回路１０２で受信した情報をＣＨＡの内部インタフェース信号に変換するための回路である。
【００１４】
マイクロプロセッサ１１３，１１６は上位ホストサーバから発行されるコマンドを処理する。マイクロプロセッサ制御回路１１２，１１５はマイクロプロセッサ１１３，１１６の送受信情報をＣＨＡの内部インタフェース信号に変換するための回路である。コマンド制御回路１２１は外部Ｉ／Ｆプロトコル制御回路１０３とマイクロプロセッサ制御回路１１２，１１５のインタフェースを備えた回路であり、各マイクロプロセッサ１１３，１１６への多重ライト機能を持ち、その機能を用いて、外部Ｉ／Ｆ送受信回路１０２が上位ホストサーバから受信したコマンドを各マイクロプロセッサ１１３，１１６に転送する。ここで、多重ライト機能とは上位ホストサーバから１度のコマンドで送信される情報を複数のマイクロプロセッサへ一度に同時に送信する機能である。
【００１５】
本発明の実施形態の一特徴は、コマンド制御回路が複数のマイクロプロセッサへ一度に同時にコマンド転送を行う多重ライト機能を備えていることである。一般的に云って、一連のデータ転送を行う際に、イニシエータ（例えば上位指令装置）とターゲット（ディスク装置）との間で各種の情報交換を行うフェーズが発生する。本発明の実施形態では、ターゲットにおいてこの各種フェーズの情報交換の処理を複数のマイクロプロセッサに分散して実施させることにある。上述した多重ライト機能の詳細については以下に説明する。実際に、図１において、コマンド制御回路１２１が多重ライト機能を用いて、外部Ｉ／Ｆ送受信回路１０２が上位ホストサーバから受信したコマンドを各マイクロプロセッサ１１３，１１６に転送し、そのコマンドが処理される手順の一例を示す。
【００１６】
或る１つのコマンド（例えば、ＷＲＩＴＥ、ＲＥＡＤなど）が上位ホストサーバから指令されると、そのコマンドを実行するためにそのコマンド実行上の処理内容が複数のコマンドフェーズとして送信されてくる。例えば、下記の４つのコマンドフェーズが上位ホストサーバから送信されたとする。
【００１７】
（１）イニシエータがターゲットを選定、
（２）イニシエータが転送モードを示すコマンドを転送、
（３）イニシエータがデータ転送のためのデータ転送開始アドレス、データブロック転送回数等のデータ転送用パラメータを転送、
（４）イニシエータがデータ転送開始の指示を示す転送命令を発行。
【００１８】
この４つのコマンドフェーズは外部Ｉ／Ｆ送受信回路１０２で受信され、外部Ｉ／Ｆプロトコル制御回路１０３でＣＨＡ（チャネルアダプタ）の内部インタフェース信号に変換され、コマンド制御回路１２１を経由し、マイクロプロセッサ制御回路１１２，１１５を介してマイクロプロセッサ１１３，１１６にて処理される。
【００１９】
この４つのコマンドフェーズはコマンド制御回路１２１の多重ライト機能により全てのマイクロプロセッサ（本実施形態では１１３，１１６）に転送されるが、コマンド制御回路１２１を経由する際に、例えば、コマンドフェーズ１と３はマイクロプロセッサ１１３にて処理し、コマンドフェーズ２と４はマイクロプロセッサ１１６にて処理するというように、コマンド制御回路１２１上のマイクロプログラムが各コマンドフェーズに何らかのフラグを付加して、マイクロプロセッサ１１３，１１６に転送する。
【００２０】
次に、各マイクロプロセッサ１１３，１１６に転送されたコマンドフェーズの処理について説明する。本実施形態では、コマンドフェーズがコマンド制御回路１２１により各マイクロプロセッサ１１３，１１６に転送される際に付加されるフラグに基づいて、まず、マイクロプロセッサ１１３にてコマンドフェーズ１の処理を実行する。イニシエータがターゲットを選定する。このコマンドフェーズ１に対してターゲットはイニシエータに自分が選択されたことを返す。それと同時にコマンドフェーズ１が処理されたことをマイクロプロセッサ１１６にも同様に報告する。
【００２１】
コマンドフェーズ１が処理されたという報告を受けたマイクロプロセッサ１１６はコマンドフェーズ２の処理を実行する。このコマンドフェーズ２に対してターゲットはイニシエータに転送モードを把握したことを返す。それと同時にコマンドフェーズ２が処理されたことをマイクロプロセッサ１１３にも同様に報告する。コマンドフェーズ２が処理されたという報告を受けたマイクロプロセッサ１１３はコマンドフェーズ３の処理を実行する。
【００２２】
このコマンドフェーズ３に対してターゲットはイニシエータにデータ転送用パラメータを受信したことを返す。それと同時にコマンドフェーズ３が処理されたことをマイクロプロセッサ１１６にも同様に報告する。コマンドフェーズ３が処理されたという報告を受けたマイクロプロセッサ１１６はコマンドフェーズ４の処理を実行する。
【００２３】
このコマンドフェーズ４に対してターゲットはイニシエータにデータの転送を要求し、データ転送が開始される。それと同時にコマンドフェーズ４が処理されたことをマイクロプロセッサ１１３にも同様に報告し、全てのコマンドフェーズが処理されたことをマイクロプロセッサ１１３に知らせる。このように、本実施形態では４つのコマンドフェーズを例にコマンド処理の説明を行ったが、コマンドフェーズが５つ以上ある場合でも、同様の手順でコマンド処理が行われる。
【００２４】
このように、２個のマイクロプロセッサを用いた上述の手順でのコマンド処理を行うことにより、片方のマイクロプロセッサはコマンドフェーズを実行する準備が整っており、もう一方のマイクロプロセッサからの一つ前のコマンドフェーズの処理終了を受信次第、即時にコマンド処理が可能であり、１個のマイクロプロセッサで一連のコマンド処理を実行する時の次コマンドフェーズ処理に移るためのオーバヘッドを無くすことができる。
【００２５】
以上説明した本発明の実施形態に係るコマンド処理分散方式について、図２及び図３を参照しながら敷衍して再度説明する。本発明の実施形態では多重ライトを行うことによりマイクロプロセッサの負荷分散を可能とするものであり、一度の転送コマンドにおいて複数のマイクロプロセッサを介して別のアドレスへのライトを可能とするところに本発明の特徴が存する。ここで、多重ライトしたことによるコマンド処理の具体的手法は様々であり、コマンド制御回路上のマイクロプログラムによりその手法は委ねられる（上述の例では、マイクロプロセッサ１１３がコマンドフェーズ１，３を処理し、マイクロプロセッサ１１６がコマンドフェーズ２，４を処理するという手法）。要は、本実施形態では複数のマイクロプロセッサ（マルチプロセッサ）が効率良く動作するための仕組みとしてコマンド制御回路に多重ライト機能というハードウェアを備えている。
【００２６】
図２には、上位ホストサーバからのコマンドによる１つのデータ転送において、データ転送に至るまでの上位ホストサーバとディスク装置インタフェース部（ＣＨＡ）との間でやりとりされる状態の一例をフローチャートとして示している。まず、上位ホストサーバによって例えばライト（ＷＲＩＴＥ）命令が発行されると（ステップ１）、ＣＨＡにおいてそのコマンドを受信して、コマンド制御回路１２１の多重ライト機能により各マイクロプロセッサ１１３，１１６にコマンドを転送する（ステップ２）。この際、どのマイクロプロセッサにコマンドフェーズを実行させるかはコマンド制御回路１２１上のマイクロプログラムによりフラグを付加することで決める。
【００２７】
次いで、マイクロプロセッサ１１３はコマンドフェーズ１を処理してその終了報告を通知する（図３の上段における矢印を参照）。これと同時にマイクロプロセッサ１１６はコマンドフェーズ２を処理する（ステップ３）。その後、マイクロプロセッサ１１３はコマンドフェーズ３を処理し、マイクロプロセッサ１１６はコマンドフェーズ１の終了報告を受信し、コマンドフェーズ１終了後でなければ処理できないコマンドフェーズ２の処理（残処理）を実行し（図３の中段における期間Ｔを参照）、コマンドフェーズ２の終了報告を通知する（ステップ４）（図３の中段における矢印を参照）。
【００２８】
次いで、マイクロプロセッサ１１３はコマンドフェーズ２の終了報告を受信し、コマンドフェーズ３の残処理を実行してその終了報告を通知する。同時にマイクロプロセッサ１１６はコマンドフェーズ４を処理する（ステップ５）。続いて、マイクロプロセッサ１１６はコマンドフェーズ３の終了報告を受信してコマンドフェーズ４の残処理を実行し、そのコマンドフェーズ４の終了報告を通知する（ステップ６）。
【００２９】
図３には、本実施形態による多重ライトと従来技術との対比を示していて、この図示から分かるように、本実施形態では、コマンド制御回路上のマイクロプログラムによる制御の仕方とも相俟って、複数（例えば２つ）のマイクロプロセッサへ一度のコマンド転送を行い、並列処理することができてコマンド処理の時間短縮が図られ、また、マイクロプロセッサの負荷分散に繋がっている。従来技術では各コマンドフェーズの終了を待って次のコマンドフェーズの処理をしなければならず、コマンド処理時間やマイクロプロセッサ負荷について課題を残している。
【００３０】
翻って、上述した、図２に示すマイクロプロセッサ１１３，１１６によるコマンドフェーズの処理に際して、終了報告を他方のマイクロプロセッサに伝えた方が良い場合と、伝える必要の無い場合があると云うことについてはコマンド処理の仕方に因る。上述したように、１つのデータ転送のための各コマンドフェーズを各々のマイクロプロセッサにおいて分散（分担）して処理する場合、前のコマンドフェーズが終了し、経時的な順序を要する次のコマンドフェーズを実行するようにするためには終了報告を伝える必要がある。しかし、別々のデータ転送のための一連のコマンドを各々のマイクロプロセッサにおいて処理するような場合には、他方のマイクロプロセッサに対してコマンド処理の終了を伝える必要はない。
【００３１】
本発明の実施形態は、コマンド制御回路におけるハードウェアによって各々のマイクロプロセッサに処理すべきコマンドを転送するものであり、このコマンド処理を上述した２つのパターン（即ち、１つは１つのコマンドを２つのマイクロプロセッサで分担するパターンと、他は２つのコマンドをそれぞれのマイクロプロセッサで処理するパターン）又はそれ以外の方法で処理するかはコマンド制御回路上のマイクロプログラム如何によるため、他方のマイクロプロセッサに終了報告を伝えるべきか否かは本発明の必須要件ではない。
【００３２】
本発明では、複数のマイクロプロセッサでのコマンド処理を行うに際して、１つのコマンド転送を複数のマイクロプロセッサに複数回行うことなく、一度で複数マイクロプロセッサにコマンド転送を行うことを主眼としたものである。このようなコマンド制御回路の多重ライト機能を用いて各マイクロプロセッサにコマンド転送することによって、マイクロプロセッサでのコマンド処理を各マイクロプロセッサに負荷分散し、マイクロプロセッサに因るボトルネックを軽減しているのである。
【００３３】
次に、本発明が適用されるＲＡＩＤ（ＤＫＣ＋ＤＫＵ）におけるＦｉｂｒｅ　Ｃｈａｎｎｅｌ（ＦＣ）のコマンドに対する本発明の適否について説明する。本発明がＲＡＩＤに適するものはデータ転送系のコマンドである。つまり、キャッシュアクセスを要するコマンドと云うことになる。具体的には、ＦＣのコマンドはＦＣＰ＿ＣＭＮＤで示され、そのＦＣＰ＿ＣＭＮＤ形式のＦＣＰ＿ＣＤＢがデータ転送系を示すコマンドであり、コマンド名称はＷｒｉｔｅ、Ｒｅａｄである。これらのコマンドが上位ホストサーバから送信されると、本発明の多重ライト機能により両マイクロプロセッサ１１３，１１６にコマンドが送信される。
【００３４】
このコマンドを受信した場合（Ｗｒｉｔｅコマンドの例）、両マイクロプロセッサ１１３，１１６の役割は、図２に示した処理例以外に次のような処理例もある。即ち、コマンドを受信すると、予めマイクロプロセッサ１１３が外部Ｉ／Ｆ送受信部位１０１の制御を行い、もう１つのマイクロプロセッサ１１６がＣＨＡ内に位置するデータ転送制御部１３１を制御するように決めておき、それぞれ並列にデータ転送のための準備と制御を行う。即ち、マイクロプロセッサ１１３は、上位ホストサーバとのデータ転送を行うために外部Ｉ／Ｆ送受信部位１０１の制御、準備を行い、並列にもう１つのマイクロプロセッサ１１６が送信されたＦＣＰ＿ＣＭＮＤを基にデータ転送制御部１３１にキャッシュに対してデータ転送を行うための制御をする。マイクロプロセッサ１１６による準備が終了すると、マイクロプロセッサ１１３にＣＨＡ内部の転送準備が終了したことを通知する。そして、マイクロプロセッサ１１３は外部Ｉ／Ｆプロトコル制御回路１０３に対してデータ転送開始（ＧＯ）の指示を出す。
【００３５】
以上説明したように、本発明が適用されるＲＡＩＤにおいては、データ転送系のコマンドで、一方のマイクロプロセッサが上位ホストサーバとのＩ／Ｆである外部Ｉ／Ｆ送受信部位の制御を行い、もう１つのマイクロプロセッサがＲＡＩＤのＣＨＡ内のデータ転送制御部の制御を行うのが適するのである。
【００３６】
なお、本発明が適さないのはデータ転送系以外のコマンドに対してである。例えば、ＦＣＰ＿ＣＭＮＤのＦＣＰ＿ＣＤＢとしてＩｎｑｕｉｒｙコマンドがある。このコマンドはＲＡＩＤの装置情報を得るコマンドであり、ＣＨＡの不図示のフラッシュメモリに情報が書かれているので、キャッシュに対してのやりとりは発生しないため、マイクロプロセッサ１１６によるデータ転送制御部の制御を行う必要が無い。このように、データ転送系のコマンドでなくてキャッシュへのアクセスを必要としないコマンドは、片一方のマイクロプロセッサのみで処理した方が良い。
【００３７】
次に、本発明の他の実施形態について図４を用いて説明する。図１に示す実施形態では、マイクロプロセッサ部位は２つであったが、図４に図示するように、コマンド制御回路にマイクロプロセッサ部位とのインタフェースの口をそれ以上持つことが出来れば、それだけのマイクロプロセッサ部位、マイクロプロセッサを備えることができ、一層の負荷分散を望める可能性がある。また、図１に示す実施形態において、外部Ｉ／Ｆ送受信部位が１つであったが、図４に図示するように、複数個あっても構わない。その場合、バスフリーの状態でバス使用権を獲得するアービトレーションが行われる。
【００３８】
【発明の効果】
以上説明したように、本発明によれば、上位ホストサーバからのコマンドの処理を、多重ライト機能を備えたコマンド制御回路により各マイクロプロセッサへコマンドを転送し、複数のマイクロプロセッサにて分散処理する方式により、ディスク装置のインタフェース部のマイクロプロセッサのボトルネックを軽減し、ディスク装置によるストレージシステムの性能低下を防ぐことができる。
【図面の簡単な説明】
【図１】本発明の実施形態に係る、上位ホストサーバとのインタフェース部であるＣＨＡ（チャネルアダプタ）の具体的構成を示す図である。
【図２】本発明の実施形態に関するＣＨＡ内の２つのプロセッサにおける処理内容を示すフローである。
【図３】本実施形態に関する２つのプロセッサにおけるコマンドフェーズの時間的経過を従来技術との比較で示す図である。
【図４】本発明の他の実施形態に係る、上位ホストサーバとのインタフェース部であるＣＨＡ（チャネルアダプタ）の具体的構成を示す図である。
【図５】従来技術に関する上位ホストサーバ、ＤＫＣ、ＤＫＵからなるデータ転送の全体構成を示す図である。
【符号の説明】
１０１，５０１　外部Ｉ／Ｆ送受信部位
１０２，５０２　外部Ｉ／Ｆ送受信回路
１０３，５０３　外部Ｉ／Ｆプロトコル制御回路
１１１，１１４，５１１　マイクロプロセッサ部位
１１２，１１５，５１２　マイクロプロセッサ制御回路
１１３，１１６，５１３　マイクロプロセッサ
１２１，５２１　コマンド制御回路
１３１，５３１　データ転送制御部
【図１】
2004139260.tif 000003
【図２】
2004139260.tif 000004
【図３】
2004139260.tif 000005
【図４】
2004139260.tif 000006
【図５】
2004139260.tif 000007