(57)【要約】【課題】  ストレージ装置側で扱うデバイスアドレス数が増大した場合でも、ホスト側で保持するデバイスアドレスを増やす必要無しに、全デバイスへのアクセスを可能としつつ、構成定義情報の管理が簡単で使用資源も抑えることができる技術を提供する。【解決手段】  ホスト２００側では、ストレージ装置１００側で扱う実デバイスに対するアクセスのための仮想デバイスを扱って仮想デバイスアドレス２３を保持し、仮想デバイスに対してマウントする実デバイスの指定を行い、仮想デバイスアドレス２３によりデータ入出力のためのアクセスを行う。コントローラ１０のＣＨＡ１１は、仮想デバイスアドレス２３に対して実デバイスアドレス３１をマッピングしてＳＭ１２上のテーブル４１に保持し、仮想デバイスアドレス２３によるアクセスを受けると、テーブル４１により対応する実デバイスアドレス３１を取得して実デバイスに対してアクセスする。【選択図】  図４
2006107257.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置とコントローラとを有し、通信手段を介して接続される外部装置からの要求に応じて前記記憶装置上に設けられるデバイスにデータを入出力する制御を行うストレージ装置であって、
前記外部装置側では、ストレージ装置側で扱う実デバイスに対するアクセスのための仮想デバイスを扱い、前記仮想デバイスに対するアクセスのための仮想デバイスアドレスを保持し、前記仮想デバイスに対してマウントあるいはアンマウントする実デバイスの指定を行い、前記仮想デバイスに対して前記仮想デバイスアドレスを指定してデータ入出力のためのアクセスの要求を発行し、
前記コントローラは、
前記外部装置側からの前記仮想デバイスに対してマウントあるいはアンマウントする実デバイスの指定に応じて、前記仮想デバイスアドレスに対して実デバイスアドレスをマッピングしてそのマッピング情報を第１のテーブルに格納して保持する処理と、
前記外部装置側から前記仮想デバイスアドレスが指定されたデータ入出力のためのアクセスの要求を受け、前記第１のテーブルにより前記指定された仮想デバイスアドレスに対してマッピングされている実デバイスアドレスを取得して、前記取得した実デバイスアドレスで実デバイスに対してアクセスするデータ入出力処理とを行うことを特徴とするストレージ装置。
【請求項２】
請求項１記載のストレージ装置において、
前記外部装置側では、前記仮想デバイスに対する実デバイスのマウントのためのマウント要求とアンマウントのためのアンマウント要求とを発行する処理を行い、
前記コントローラは、前記外部装置からの仮想デバイスアドレスの指定を含んだマウント要求に対応したマウント処理と、前記仮想デバイスアドレスの指定を含んだアンマウント要求に対応したアンマウント処理とを行い、
前記マウント処理では、前記指定された仮想デバイスアドレスに対して実デバイスアドレスを検索して、前記第１のテーブルで、前記指定された仮想デバイスアドレスに対して前記検索した実デバイスアドレスをマッピングする処理を行い、
前記アンマウント処理では、前記第１のテーブルで、前記指定された仮想デバイスアドレスに対する実デバイスアドレスのマッピングを無効化する処理を行うことを特徴とするストレージ装置。
【請求項３】
請求項２記載のストレージ装置において、
前記コントローラは、前記外部装置側からのマウント情報表示の要求に基づき、前記第１、第２のテーブルから情報を読み出して外部装置側に送信して表示させる処理を行うことを特徴とするストレージ装置。
【請求項４】
請求項２記載のストレージ装置において、
前記外部装置側では、前記実デバイスを識別するために付与する実デバイス識別情報を指定する処理を行い、
前記コントローラは、前記外部装置からの前記仮想デバイスアドレスと前記実デバイス識別情報の指定を含んだマウント要求に対応したマウント処理と、前記実デバイスアドレスと前記外部装置側から指定された実デバイス識別情報とを対応付けて第２のテーブルに格納して保持する処理とを行い、
前記マウント処理では、前記指定された実デバイス識別情報に対して実デバイスアドレスを前記第２のテーブルから検索して、前記第１のテーブルで、前記指定された仮想デバイスアドレスに対して前記検索した実デバイスアドレスをマッピングする処理を行うことを特徴とするストレージ装置。
【請求項５】
請求項４記載のストレージ装置において、
前記コントローラは、前記外部装置側との通信インタフェース処理を行うチャネルアダプタと、制御情報を格納する共有メモリと、データを格納するキャッシュメモリと、前記記憶装置側に対するデータ入出力処理を行うディスクアダプタとを有し、前記共有メモリ上に前記第１、第２のテーブルを保持し、前記キャッシュメモリ上に前記仮想デバイスに対するデータ入出力のためのデータを格納し、前記ディスクアダプタにより前記実デバイスに対して実デバイスアドレスでデータ入出力のアクセスを行い、
前記チャネルアダプタは、前記外部装置側からの前記マウント要求と前記アンマウント要求と前記データ入出力のためのアクセスの要求とを受け付け、前記共有メモリ上の第１、第２のテーブルを参照しながら、前記マウント処理と前記アンマウント処理と前記ディスクアダプタの処理を通じた前記データ入出力処理とを行うことを特徴とするストレージ装置。
【請求項６】
請求項５記載のストレージ装置において、
前記コントローラは、ストレージ装置動作中は、前記第１、第２のテーブルを前記共有メモリ上に保持し、随時前記第１、第２のテーブルの情報を前記記憶装置上のシステム領域にセーブし、ストレージ装置起動時は、前記第１、第２のテーブルを前記記憶装置上のシステム領域から前記共有メモリ上にロードして再構築することを特徴とするストレージ装置。
【請求項７】
請求項１記載のストレージ装置において、
前記コントローラは、世代保存単位で前記実デバイスのデータを記憶装置側に保存し、前記実デバイスアドレスに対して前記世代保存単位に対応した世代情報を対応付けて管理し、前記実デバイスアドレスと世代情報の指定に基づき特定世代の実デバイスのデータにアクセスすることを特徴とするストレージ装置。
【請求項８】
請求項１記載のストレージ装置において、
前記外部装置側は、前記仮想デバイスに対するアクセスのための論理分割の設定を行い、
前記コントローラは、前記論理分割に対応して、並列アクセスボリューム構成で前記仮想デバイスと実デバイスのマウントを行うことを特徴とするストレージ装置。
【請求項９】
請求項１記載のストレージ装置において、
前記外部装置側は、前記仮想デバイスに対するアクセスのための論理分割の設定を行い、
前記コントローラは、前記論理分割に対応して、前記仮想デバイスについてのバックアップ処理専用構成で前記仮想デバイスと実デバイスのマウントを行うことを特徴とするストレージ装置。
【請求項１０】
請求項１記載のストレージ装置において、
前記コントローラは、前記外部装置側からの要求に基づき、指定された仮想デバイスアドレスに対してキャッシュ常駐化機能を設定する処理を行い、前記キャッシュ常駐化機能が設定された仮想デバイスに対応する実デバイスのデータをキャッシュメモリ上の領域にステージングして、前記データ入出力処理で前記キャッシュメモリ上の実デバイスのデータに対してデータ入出力を行うことを特徴とするストレージ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ハードディスクドライブ（以下、ＨＤＤと称する）等の記憶装置に対するデータの記憶の制御を行うストレージ装置（ディスクアレイ装置、ストレージサブシステムともいう）に関し、特に、ストレージ装置とストレージ装置に対してデータ入出力要求を行うホストコンピュータ（以下、単にホストとも称する）等とを含んで構成されるコンピュータシステムで、ストレージ装置を利用するための、デバイスアドレス等のシステム構成定義情報の利用・管理の技術に関する。
【背景技術】
【０００２】
コンピュータシステムで扱われるデータ量の増加に伴い、ユーザ側のホストコンピュータに対しネットワーク等を介して通信接続されるストレージ装置を含んで構成されるコンピュータシステムにおいて、ストレージ装置の提供する記憶領域も大容量化が進んでいる。
【０００３】
ストレージ装置を利用するにあたって、ホスト側では、システム構成定義として、ホストに接続されるストレージ装置の記憶領域上のデバイスに対するアクセスのためのＩ／Ｏ（入出力）構成情報を持つ必要がある。従来、例えばメインフレーム系の接続において、ホストは、Ｉ／Ｏ構成情報として、ストレージ装置内のデバイスに対するアクセスの際に対象を一意に特定するために使用される制御情報であるデバイスアドレスを、ストレージ装置側の物理的構成と１：１で対応させて保持していた。すなわち、ストレージ装置で扱うすべてのデバイスアドレスをホスト側でも保持していた。ホストからストレージ装置のデバイスへのアクセスにおいて、ホストはデバイスアドレスを指定して要求（コマンド）を発行し、ストレージ装置は前記指定のデバイスアドレスによりデバイスに対応するＨＤＤ上の物理的記憶領域にアクセスしてデータのリード／ライト等の入出力処理を行う。なお、デバイスとは、ストレージ装置でＨＤＤ等により提供される記憶領域上に確保される物理的及び論理的な記憶ボリュームの単位を指している。
【０００４】
また、従来のストレージ装置及びコンピュータシステムで、ホストからストレージ装置のＨＤＤ上のデバイスに対してアクセス（ディスクアクセス）を行う他にも、システム内に接続される磁気テープ装置に対してデータのバックアップ等の目的でアクセス（テープアクセス）を行っていた。ストレージ装置のデバイスのデータを磁気テープ装置に対して入出力する場合に、磁気テープ装置のアドレスに対して磁気テープを適宜マウントして利用していた。磁気テープ装置にマウントされる磁気テープは例えばボリュームシリアル番号（ＶＯＬＳＥＲ）等の識別情報で識別される。上記磁気テープのマウントにより、ホストやストレージ装置から磁気テープ装置のアドレスを指定することで、ストレージ装置内のデバイスのデータを磁気テープの領域に対し入出力可能であった。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
前記ストレージ装置の大容量化などに伴い、ストレージ装置内で制御可能なあるいは必要となるデバイスアドレスは増大する傾向にある。また、ホストに接続可能なストレージ装置の数や、ホスト側での論理分割（ロジカルパーティション）数も増大すると考えられる。
【０００６】
上記傾向に伴い、前記従来構成である前記ホスト側とストレージ装置側での１対１での固定的な構成定義では、ホスト側で保持・管理する必要のあるデバイスアドレスの数も増大することになる。例えば、ストレージ装置内で扱うデバイスアドレス数が千単位・万単位に増大するなら、ホスト側でも同数のデバイスアドレスを管理する必要がある。上記ホスト側の保持するデバイスアドレス数が増大することで、その管理が難しくなり使用資源も多くなる問題がある。
【０００７】
また、前記ホスト側での構成定義の保持により、ストレージ装置内のデバイスに対してホスト側から常時アクセス可能な状態とすることができるが、ストレージ装置でディスクに格納される情報・データは、その内容によってはホスト側から常時アクセス可能な状態とする必要のないものもある。例えばストレージ装置内でホスト側から一時的にしかアクセスされないデバイスの場合などである。このようなタイプの情報・データが格納されているデバイスについての構成定義を、前記従来構成のようにホスト側でも固定的に保持しておく必然性はない。
【０００８】
本発明は以上のような問題に鑑みてなされたものであり、その目的は、ストレージ装置側で扱うデバイス及びデバイスアドレスの数が増大した場合でも、ホスト側でＩ／Ｏ構成情報として保持するデバイスアドレスをストレージ装置側にあわせて増やす必要無しに、ストレージ装置内の全デバイスへのアクセスを可能としつつ、システム構成定義情報の管理が簡単で使用資源も抑えることができる技術を提供することにある。
【課題を解決するための手段】
【０００９】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。前記目的を達成するために、本発明のストレージ装置は、ＨＤＤ等の記憶装置と、記憶装置にデータを記憶する制御を行うコントローラとを有し、通信手段を介して接続されるホストコンピュータ等の外部装置からの要求（コマンド）に応じて、前記記憶装置上に設けられる論理デバイス（ＬＤＥＶ）等のデバイス（記憶ボリューム）にデータを入出力する制御を行うストレージ装置であって、以下の技術的手段を有することを特徴とする。
【００１０】
本発明のストレージ装置は、本装置とホスト等の外部装置とを含んで構成されるコンピュータシステム上で、ストレージ装置内に有するデバイス（実デバイスと称して区別する）に対するアクセスのためのＩ／Ｏ構成情報（デバイスアドレス）の利用・管理にあたって、従来の磁気テープをマウントして利用する概念を導入する。すなわち、従来のようにホストでのシステム構成定義をストレージ装置側の物理構成（デバイス構成）に合わせて１：１で固定的に対応させるのではなく、ホスト等の外部装置側ではストレージ装置側で扱う実デバイスとは別のデバイス（仮想デバイスと称して区別する）を仮想的に扱い、この仮想デバイスに対してストレージ装置側で扱う実デバイスをマウントして利用する手段（デバイスマウント手段と称する）を設ける。ホスト等の外部装置側は仮想デバイスに対応した仮想デバイスアドレスでストレージ装置側にアクセスし、ストレージ装置側は前記仮想デバイスにマウントされる実デバイスに対応した実デバイスアドレスで実デバイスにアクセスする。ホスト等の外部装置側は、デバイス利用形態に応じて、必要な数の仮想デバイスアドレスを設定して保持する。コントローラは、記憶装置のグループ上に設けられる論理デバイスに対してＲＡＩＤ制御を行い、実デバイスとしては特にこの論理デバイスが相当する。
【００１１】
前記デバイスマウント手段は、例えば、ホスト側から仮想デバイス−実デバイスのマウント／アンマウントのための要求（マウント要求／アンマウント要求）を発行し、ストレージ装置側で前記コマンドに応じた仮想デバイス−実デバイスのマウント／アンマウント処理を行う構成である。これにより、ホスト側では、システム構成定義として、ストレージ装置側で扱うデバイスアドレス数よりも少ない仮想デバイスアドレスをＩ／Ｏ（入出力）構成情報として保持すれば済み、なおかつ、仮想デバイスへの実デバイスのマウント／アンマウントを適宜行うことでストレージ装置内のすべての実デバイスへのアクセスも保証される。
【００１２】
前記デバイスマウント手段による仮想デバイス−実デバイスのマウント／アンマウントは、ストレージ装置のコントローラで仮想デバイスと実デバイスとを仮想デバイスアドレスと実デバイスアドレスとで対応付け（マッピング）することによりなされる。コントローラは、ホスト等からのマウント要求に応じて、マウント処理として、指定された仮想デバイスアドレスに対して実デバイスアドレスをマッピングし、そのマッピング情報をコントローラのメモリ上に保持する。ストレージ装置の動作中は、前記マッピング情報を参照可能に保持する。ホスト等から仮想デバイスアドレスを指定してアクセスを受けた場合には、コントローラは、前記マッピング情報を参照して指定の仮想デバイスアドレスから対応する実デバイスアドレスを取得し、取得した実デバイスアドレスで実デバイスすなわち記憶装置側の記憶領域へのアクセスを行う。またコントローラは、ホスト等からのアンマウント要求に応じて、アンマウント処理として、指定された仮想デバイスアドレスに対してマウント状態にある実デバイスアドレスのマッピングを無効化し、そのマッピング情報をコントローラのメモリ上に保持する。
【００１３】
前記デバイスマウント手段として、ホスト側の利用プログラム（ストレージ装置を利用するためのソフトウェア）は、前記仮想デバイスアドレスをＩ／Ｏ構成情報として設定・保持し、前記デバイスのマウントに係わる各種要求（コマンド）をストレージ装置側に発行する手段（コマンド発行プログラム）を備える。前記要求として、仮想デバイスに実デバイスをマウントさせるためのマウント要求や、仮想デバイスから実デバイスをアンマウントさせるためのアンマウント要求や、マウント状態の仮想デバイスに対するデータ入出力のための各種要求や、デバイスのマウントの状態に係わる情報（マウント情報）をホスト側で表示あるいは取得するための要求（マウント情報表示要求）などがある。
【００１４】
前記デバイスマウント手段として、ストレージ装置側のコントローラ、特にそのうち、通信手段を介してホスト等の外部装置との通信インタフェース処理を行うチャネルアダプタなどの処理部は、前記ホスト側からの各種要求に応じたデバイスのマウントに係わる処理を行い、コントローラの共有メモリなどのメモリ上に、前記マッピング情報などのデバイスのマウントに係わる制御情報を格納する。コントローラは、デバイスのマウントに係わる制御情報として、複数の仮想デバイスアドレスと実デバイスアドレスを対応付ける第１のテーブル（仮想−実デバイスアドレスマッピングテーブル）と、ストレージ装置の有する複数の実デバイスに対するアクセスのための実デバイスアドレスと、この実デバイスについてホスト等から付与される識別情報である実デバイス識別情報とを対応付ける第２のテーブル（実デバイスアドレス識別テーブル）とを含む情報を管理する。
【００１５】
また、コントローラは、前記ホスト等からのマウント要求に基づき行うマウント処理として、前記要求で指示された仮想デバイスアドレスと実デバイス識別情報をもとに前記第２のテーブルから検索した実デバイスアドレスを、前記第１のテーブルにおいて前記指定の仮想デバイスアドレスに対してマッピングする処理を行う。前記マウント要求には、例えば仮想デバイスアドレスと実デバイス識別情報の指定が含まれる。
【００１６】
また、コントローラは、ホスト等からのリード／ライト等のデータ入出力の要求に基づき、前記第１のテーブルにおいて、前記要求で指示された仮想デバイスアドレスに対応するマウント状態にある実デバイスアドレスを取得して、取得した実デバイスアドレスの実デバイスに対してデータ入出力処理を行う。
【００１７】
また、コントローラは、前記ホスト等からのアンマウント要求に基づき行うアンマウント処理として、前記第１のテーブルにおいて、前記要求で指示された仮想デバイスアドレスについての実デバイスアドレスの対応付けを無効化する処理を行う。前記アンマウント要求には、例えば仮想デバイスアドレスの指定が含まれる。
【００１８】
また、コントローラは、前記ホスト等からのマウント情報表示・取得の要求に基づき、前記第１、第２のテーブルなどからマウント情報を読み出して応答として送信する処理を行う。前記要求には、例えば表示対象（すべてあるいは一部など）の指定が含まれる。
【００１９】
コントローラは、例えば、チャネルアダプタと、記憶装置に対するデータ入出力の制御を行うディスクアダプタと、制御情報を保持する共有メモリと、転送データを格納するキャッシュメモリとを有して構成される。チャネルアダプタは、前記ホスト等からのデバイスのマウントに係わる要求（マウント要求等）を受信しこれに対応した処理を行う。チャネルアダプタからアクセス可能な共有メモリ上に前記第１、第２のテーブルを含む制御情報を構築・保持し、キャッシュメモリ上に前記仮想デバイスに対するリード／ライト等のためのデータを格納する。ディスクアダプタにより前記実デバイスに対して実デバイスアドレスでデータ入出力のアクセスを行う。
【００２０】
また例えば、ストレージ装置は、前記第１、第２のテーブルを、ストレージ装置電源オン時などの所定タイミングで記憶装置側のシステム領域などから読み出してコントローラのメモリ上へロードして構築し、またストレージ装置電源オフ時などの所定タイミングでコントローラのメモリ上から記憶装置側のシステム領域などへ格納（セーブ）して保存する。また、コントローラは、ホスト等からの要求に応じて、実デバイス識別情報を第２のテーブルに対して書き込むと共に、記憶装置側の領域（固定領域）に対しても書き込む処理を行ってもよい。前記コントローラのメモリ上への第１、第２のテーブルの構築時には、記憶装置側の領域から実デバイス識別情報を読み込んで反映する処理を行う。
【００２１】
また、ホストから実デバイスを利用する際の処理手順は、例えば以下のようになる。まず、ホスト側で、仮想デバイスに対して目的の実デバイスをマウントするためのマウント要求をストレージ装置に対して発行する。次に、ストレージ装置で、指定の仮想デバイスに対して実デバイスをマウントする処理を行う。次に、ホスト側から、マウント状態となった仮想デバイスに対するデータ入出力アクセスを行う。次に、ホスト側から、前記マウント状態の仮想デバイスから実デバイスをアンマウントするための要求を発行する。次に、ストレージ装置、指定の仮想デバイスに対して実デバイスをアンマウントする処理を行う。これら処理をセットで連続して行ってもよいし、個別に行ってもよい。
【００２２】
また、前記ホスト以外でも、例えばストレージ装置に接続される管理端末（ＳＶＰ）から上記と同様にストレージ装置に対してデバイスのマウントに係わる処理の要求が行われ、ストレージ装置のコントローラで前記要求に対応して同様にデバイスのマウントに係わる処理を行う。
【発明の効果】
【００２３】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【００２４】
本発明によれば、ストレージ装置側で扱うデバイス及びデバイスアドレスの数が増大した場合でも、ホスト側でＩ／Ｏ構成情報として保持するデバイスアドレスをストレージ装置側にあわせて増やす必要無しに、ストレージ装置内の全デバイスへのアクセスを可能としつつ、システム構成定義情報の管理が簡単で使用資源も抑えることができる。
【発明を実施するための最良の形態】
【００２５】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一符号を付し、その繰り返しの説明は省略する。
【００２６】
（実施の形態１）
図１〜図１６は、本発明の実施の形態１におけるストレージ装置について説明するための図である。実施の形態１は、ホストとストレージ装置が接続されるコンピュータシステムにおいてデバイスマウント手段を備え、ホスト側では仮想デバイスを扱い、仮想デバイスに対してストレージ装置で扱う実デバイスを必要に応じてマウントしてアクセスするデバイスマウント方式の基本的な構成及び処理を示す形態である。ホスト側ではストレージ装置側よりも少ないＩ／Ｏ構成情報（仮想デバイスアドレス）を有する。なお、各実施の形態で示すデバイスマウントに係わる処理は、従来の磁気テープ装置における磁気テープのマウントとは独立した処理である。
【００２７】
＜ハードウェア構成＞
まず、実施の形態１のストレージ装置の全体構成について説明する。その後、本発明で特徴的な処理について説明する。図１は、実施の形態１のストレージ装置１００のハードウェア外観構成を示す。特にストレージ装置１００の正面から見た構成を示す。本ハードウェア構成は各実施の形態で共通であり、各実施の形態ではソフトウェア的な処理が異なる。
【００２８】
図１において、ストレージ装置１００は、一形態として、主にコントローラ（ディスクアレイ制御装置）１０を収容する制御筐体１２０と、主に複数のＨＤＤ３０を収容するＨＤＤ筐体１３０とで構成される。１つの制御筐体１２０の両側にＨＤＤ筐体１３０が配置されている。
【００２９】
制御筐体１２０では、後述するコントローラ１０を構成する複数のボード（回路基板）やその他電源や表示パネル等のユニットが図示しないバックボードを通じて接続されている。制御筐体１２０では、正面中央に、カバーで覆われたノート型ＰＣの形態の管理端末（ＳＶＰ）１６０が備えられている。カバーを開けることで管理端末１６０を使用できる。管理端末１６０の下部には、チャネルアダプタ（以下、ＣＨＡと称する）１１を構成するボードなどを装着するための複数のスロットが設けられている。各スロットに１つのＣＨＡ１１などのボードが着脱可能である。一形態として８枚のＣＨＡ１１のボードが装着される。各スロットにはボードを抜き差しするためのガイドレールが設けられていて、ガイドレールに沿ってボードが抜き差しされる。各スロットの奥手方向にはボードをコントローラ１０と電気的に接続するためのコネクタが設けられており、ボード側のコネクタ部分が接続されることで接続状態となる。保守員等により、必要に応じてボードの増設、減設、交換が可能である。コントローラ１０を構成する他のディスクアダプタ１４等も同様に制御筐体１２０に装着される。ＨＤＤ筐体１３０では、ＨＤＤ３０をキャニスタ等の機構と一体化した構成のディスクユニットが、多数、多段にわたって着脱可能に接続される。
【００３０】
＜コンピュータシステム構成＞
図２は、ストレージ装置１００を含むコンピュータシステム全体の構成を示す。コンピュータシステムは、ネットワーク３００に、１つ以上のストレージ装置１００、１つ以上のホストコンピュータ２００、磁気テープ装置９００などが接続される構成である。ネットワーク３００は、メインフレーム系の通信プロトコルに対応したネットワークや、ＳＡＮ（Storage Area Network）やＬＡＮ（Local Area Network）などのネットワーク、あるいはそれらが混在するネットワークである。
【００３１】
ストレージ装置１００は、主にコントローラ１０とこれに接続される複数のＨＤＤ３０を備え、コントローラ１０の一部を構成するＣＨＡ１１によりネットワーク３００に接続される。また、あるストレージ装置１００の設置場所（プライマリサイト）とは遠隔した場所（セカンダリサイト）に他のストレージ装置１００を設置して遠隔で通信可能である。ストレージ装置１００間で、例えばデータ保全のためのリモートコピーやレプリケーション等の実行が可能である。
【００３２】
ホスト２００は、ユーザが使用するコンピュータであり、例えばＰＣやワークステーションやメインフレームコンピュータである。ホスト２００は、コマンド（要求）をストレージ装置１００に送信することで、ストレージ装置１００の提供する各種機能を利用する。ホスト２００とストレージ装置１００は、ネットワーク３００を介して所定の通信プロトコルで通信接続される。ホスト２００とストレージ装置１００の通信は、ホスト２００がメインフレーム系である場合の接続では、ＥＳＣＯＮ（Enterprise System CONnection）（登録商標）やＦＩＣＯＮ（FIbre CONnection）（登録商標）などの通信プロトコルに従って行われる。また、ホスト２００がオープン系である場合の接続では、ＳＡＮやＬＡＮなどに対応した通信プロトコルに従って行われる。以下、ホスト２００は特にメインフレームコンピュータであり、ネットワーク３００上でＣＨＡ１１との間でメインフレーム系の通信プロトコルに従って通信するものとして説明する。この場合、ホスト２００は、ストレージ装置１００内のデバイスに対するアクセスにおいて、コントローラ１０のＣＨＡ１１に対して、ＨＤＤ３０側でのデータアクセス単位であるブロック単位でのデータアクセス要求を送信する。
【００３３】
コントローラ１０は、ＣＨＡ１１によりホスト２００から受信したコマンドに従ってデータ記憶に係わる各種制御を行う。例えばホスト２００からのリードコマンドやライトコマンドを受信して、ＨＤＤ３０上のデバイスに対するデータ入出力処理（リード／ライト処理）を行う。またコントローラ１０は、ホスト２００との間で、ストレージ装置１００を管理するための各種コマンドの授受も行う。またＨＤＤ３０のグループに対してディスクアレイ（ＲＡＩＤグループ）を設定してＲＡＩＤグループ上に論理デバイス（ＬＤＥＶ）を設定可能で、所定のＲＡＩＤ方式での制御が可能である。
【００３４】
複数のＨＤＤ３０は、コントローラ１０の各ＤＫＡ１４と、ＦＣ−ＡＬ等の形式の接続線で接続される。コントローラ１０に接続される記憶装置としてはＨＤＤ３０に限らず、フレキシブルディスク装置、半導体記憶装置など様々なものを用いることができる。ＤＫＡ１４とＨＤＤ３０との間は、直接接続される形態にもできるし、ネットワークやスイッチを介して接続される形態にもできる。更にＨＤＤ３０をコントローラ１０と一体化構成にすることも可能である。
【００３５】
データは、１つ以上のＨＤＤ３０により提供される記憶ボリューム、すなわちディスク上の物理的な記憶領域または物理的な記憶領域上に論理的に設定される記憶領域（論理デバイスや論理ユニット）に記憶される。ＨＤＤ３０上に設定される記憶ボリュームとしては、ホスト２００からアクセス可能でユーザデータが格納されるユーザデータ領域や、ＣＨＡ１１による制御などのシステム制御のためにシステムデータ等の格納のために使用されるシステム領域等がある。また、ＣＨＡ１１などの制御単位ごとにアクセス可能な記憶ボリュームを割り当てることも可能である。また前記割り当てでは、複数のＣＨＡ１１で１つの記憶ボリュームを共有する設定も可能である。
【００３６】
ＨＤＤ３０では、ディスク上の物理的な記憶領域のどの位置にデータを読み書きするかを識別する位置情報（物理アドレス）を持つ。例えばＨＤＤ３０ではシリンダやトラックといった位置情報を指定することで、ランダムアクセスとしてディスク上の任意位置にデータを読み書き可能である。実デバイスへのデータ入出力の際は、ＤＫＡ１４等での処理により、実デバイスアドレスとディスクにおける物理アドレスとの変換がなされる。
【００３７】
＜ホストコンピュータ＞
図３は、ストレージ装置１００に通信接続されるホスト２００の機能ブロック構成を示す。ホスト２００は、ＣＰＵ２０１、メモリ２０２、ポート２０３、入力装置２０４、出力装置２０５、記憶装置２０６、記録媒体読取装置２０７などを備えたメインフレームコンピュータである。ＣＰＵ２０１によりメモリ２０２上のプログラムが実行されることにより様々な機能が実現される。メモリ２０２上にアプリケーションプログラム２０、利用プログラム２１を有する。ポート２０３は、ネットワーク３００に接続され、ストレージ装置１００や他のホスト２００や磁気テープ装置９００等の外部装置との間で通信を行うための装置である。入力装置２０４は、ユーザによる操作のためのキーボードやマウスなどである。出力装置２０５は、情報を表示するためのディスプレイなどである。記憶装置２０６は、例えばＨＤＤや半導体記憶装置等である。記録媒体読取装置２０７は、記録媒体に記録されているプログラムやデータを読み取る装置である。読み取られたプログラムやデータは、メモリ２０２や記憶装置２０６に格納される。記録媒体は、例えばフレキシブルディスクやＣＤ−ＲＯＭ等である。
【００３８】
アプリケーションプログラム２０は、ストレージ装置１００の提供する機能を利用したオンライン処理等を制御するためのプログラムである。ホスト２００は、ストレージ装置１００の実デバイスに記憶されているデータに適宜アクセスしながらアプリケーションプログラム２０を実行することで各種の情報処理サービスを提供する。情報処理サービスは、例えば銀行の自動預金預け払いシステムなどである。
【００３９】
利用プログラム２１は、ストレージ装置１００の提供する各種機能を利用するためのプログラムであり、ＨＤＤ３０に対するデータ入出力のためのリード／ライトコマンド等の発行を行う機能を備える。また特にホスト２００がストレージ装置１００の保守・管理を行う役割の管理サーバである場合は、利用プログラム２１は、管理端末１６０と同様に各種保守・管理のための機能を備える。
【００４０】
＜コントローラ＞
コントローラ１０は、ＣＨＡ（チャネルアダプタ）１１、ＳＭ（共有メモリ）１２、ＣＭ（キャッシュメモリ）１３、ＤＫＡ（ディスクアダプタ）１４、及びこれら各部を接続するバスやスイッチなどの接続部を備える。各部はボードにより実装され、例えばスイッチ制御ボードなどにより相互に高速アクセス可能に接続される。また、各ボードを複数個用意して相互に接続することで、ＨＤＤ３０に対するデータパスを多重化した構成となる。本実施の形態では、各ＣＨＡ１１は、ＳＭ１２及びＣＭ１３にバスで接続される。また各ＤＫＡ１４もＳＭ１２及びＣＭ１３にバスで接続される。また、図示したようなコントローラ１０を更に二重化した形態なども可能である。多重化構成により、並列処理による性能向上や耐障害性が実現される。
【００４１】
各ＣＨＡ１１及びＤＫＡ１４は、内部ＬＡＮ１６２を通じて相互に通信可能に接続され、また管理端末１６０にも接続されている。これによりＣＨＡ１１やＤＫＡ１４に実行させるプログラムを管理端末１６０から送信してインストールすることが可能となっている。
【００４２】
ＳＭ１２及びＣＭ１３は、ＣＨＡ１１、ＤＫＡ１４により共用されるメモリである。ＳＭ１２は、主に制御情報やコマンド等を記憶するために利用され、ＣＭ１３は、主にデータ（ユーザデータ）を記憶するために利用される。ＳＭ１２は、ＣＨＡ１１とＤＫＡ１４との間で授受されるコマンド等を一時的に保持する。ＣＭ１３は、ＣＨＡ１１とＤＫＡ１４との間で授受されるデータを一時的に保持する。
【００４３】
ＣＨＡ１１側とＤＫＡ１４側とにおけるデータやコマンドの授受は、ＳＭ１２、ＣＭ１３及びスイッチ等を介して行われる。ＣＨＡ１１とＤＫＡ１４の間での通信は例えば以下のようになる。あるＣＨＡ１１があるホスト２００から受信したコマンドがライトコマンドであった場合、当該ＣＨＡ１１は、ライトコマンドをＳＭ１２に書き込むと共に、ホスト２００から受信したライトデータ（書き込み対象データ）をＣＭ１３に書き込む。一方、ＤＫＡ１４は、ＳＭ１２を監視しており、ＳＭ１２にライトコマンドが書き込まれたことを検出すると、当該ライトコマンドに従ってＣＭ１３からライトデータを読み出してＨＤＤ３０に書き込む処理を行う。
【００４４】
また、あるＣＨＡ１１があるホスト２００から受信したコマンドがリードコマンドであった場合、当該ＣＨＡ１１は、リードコマンドをＳＭ１２に書き込むと共に、リードデータ（読み出し対象データ）がＣＭ１３上に存在するかどうか調べる。ここでＣＭ１３にリードデータが存在すれば、ＣＨＡ１１はそのリードデータをホスト２００に送信する処理を行う。一方、リードデータがＣＭ１３に存在しない場合は、ＳＭ１２を監視することによりリードコマンドがＳＭ１２に書き込まれたことを検出したＤＫＡ１４が、ＨＤＤ３０からリードデータを読み出してこれをＣＭ１３に書き込むと共に、その旨をＳＭ１２に書き込む。そして、ＣＨＡ１１は、ＳＭ１２を監視することでリードデータがＣＭ１３に書き込まれたことを検出すると、そのリードデータをホスト２００に送信する処理を行う。
【００４５】
なお、このようにＣＨＡ１１からＤＫＡ１４に対するデータの書き込みや読み出しの指示を、ＳＭ１２を介在させて間接に行う構成の他、例えばＣＨＡ１１からＤＫＡ１４に対して前記指示を、ＳＭ１２を介さずに直接行う構成とすることもできる。また、ＳＭ１２及びＣＭ１３がＣＨＡ１１及びＤＫＡ１４に対して独立に設けられた構成であるが、これに限らず、ＳＭ１２やＣＭ１３がＣＨＡ１１やＤＫＡ１４の各々に分散されて設けられる形態も可能である。この場合、分散されたメモリを有する各処理部を相互に接続させる形態となる。
【００４６】
＜管理端末＞
管理端末（ＳＶＰ）１６０は、ストレージ装置１００の保守・管理を行うためのコンピュータであり、ストレージ装置１００の保守・管理の処理のためのソフトウェアを備える。管理端末１６０は、ストレージ装置１００に内蔵される形態や外付けされる形態が可能である。また管理端末１６０は、ストレージ装置１００の保守・管理を専用に行うコンピュータの形態や、ＰＣに保守・管理機能を持たせた形態などが可能である。また、管理端末１６０は、ＬＡＮや電話回線等に接続可能であり、ストレージ装置１００に対して遠隔で接続されるリモートコンソールの形態も可能である。また管理端末１６０は、ＬＡＮ等を通じて外部の保守センタなどと接続される。保守員は、管理端末１６０を操作して各種保守・管理の業務を行う。管理端末１６０を操作することにより、例えばＨＤＤ３０の物理ディスク構成や論理デバイスの設定、論理パスの設定、ＣＨＡ１１等において実行されるプログラムのインストール等を行うことができる。物理ディスク構成の設定としては、例えばＨＤＤ３０の増減設、ＲＡＩＤ構成の変更等を行うことができる。更に、ストレージ装置１００の動作状態の確認や、故障部位の特定等の作業を行うこともできる。各種設定や制御は、管理端末１６０で動作するＷｅｂサーバが提供するＷｅｂページをユーザインタフェースとして行われる。
【００４７】
管理端末１６０は、ＰＣの形態である場合、ホスト２００のハードウェア構成と同様に、ＣＰＵ、メモリ、ポート、入力装置、出力装置、記憶装置等を備える。ＣＰＵがメモリ上の制御プログラムを実行することで保守・管理のための各種機能を実現する。メモリには、制御プログラムや、保守・管理に係わる各種情報が記憶される。管理端末１６０のポートは内部ＬＡＮ１６２に接続され、ＣＨＡ１１やＤＫＡ１４等と通信可能である。またポートをＬＡＮや電話回線等に接続することも可能である。
【００４８】
＜磁気テープ装置＞
本実施の形態で示す磁気テープ装置９００に係わる構成は従来技術である。磁気テープ装置９００は、データのバックアップ等のために、命令に応じて磁気テープの領域にシーケンシャルアクセスでデータを入出力する処理を行う装置である。磁気テープ装置９００では、必要に応じてデッキに磁気テープがマウントされる。磁気テープ装置９００は、デッキにマウントされた状態の磁気テープに対し、磁気ヘッドの位置に基づいてシーケンシャルにデータを読み書きする動作を行う。磁気テープとしては、ＤＡＴテープ、カセットテープ、オープンテープ、カートリッジテープなどのメディアがある。ホスト２００やストレージ装置１００に対してネットワーク３００を介して磁気テープ装置９００が通信可能に接続される。ホスト２００やストレージ装置１００に磁気テープ装置９００を直接接続する構成も可能である。ネットワーク３００を介してコントローラ１０やホスト２００との間で通信が行われることにより、磁気テープ装置９００は、ストレージ装置１００のＨＤＤ３０に記憶されているデータのバックアップデータを磁気テープに記録する。ホスト２００は、例えばアプリケーションプログラム（２０）で使用するデータのバックアップや他のホスト２００への移行などのためにデータをコピーする等の目的で、磁気テープ装置９００へＨＤＤ３０のデータを書き出す機能を備える。また、ホスト２００は、例えば障害発生時に、磁気テープ装置９００に保管してあるバックアップデータからＨＤＤ３０へデータをリストアしたり、他のホスト２００から移行されてくるデータをコピーしたりするために、磁気テープ装置９００からデータを読み込む機能も備える。ホスト２００やストレージ装置１００は、磁気テープ装置９００に対するデータ入出力要求（テープアクセス要求）を送信可能であり、この要求に従って磁気テープ装置９００でのデータ入出力処理が行われる。磁気テープ装置のアドレス（識別情報）を指定してアクセスすることで、指定の磁気テープ装置９００でマウント状態の磁気テープに対しデータが入出力される。
【００４９】
＜デバイスマウント方式のための構成＞
図４は、１つのホスト２００と１つのストレージ装置１００との接続構成と、本発明に特徴的なデバイスマウント方式を実現するために係わる構成要素とを示す機能ブロック図である。ホスト２００は、アプリケーションプログラム２０、利用プログラム２１をインストールしている。またポート２０３を通じてネットワーク３００に接続してストレージ装置１００側のＣＨＡ１１と通信可能である。
【００５０】
ホスト２００側で、利用プログラム２１は、コマンド発行プログラム２２を含む。コマンド発行プログラム２２は、ストレージ装置１００に対してデバイスマウントに係わるコマンドの発行を含む各種コマンドを発行する処理を行うためのプログラムである。また、利用プログラム２１は、Ｉ／Ｏ構成情報として仮想デバイスアドレス２３を管理している。利用プログラム２１で、仮想デバイスアドレス２３の設定を含む構成定義ファイルを設定する。この構成定義は、従来実施されている構成定義と同様であるが、構成定義情報の概念が異なる。すなわち従来はストレージ装置側の物理構成とあわせて実デバイスアドレス３１相当の情報を直接管理していたが、本実施の形態では実デバイスアドレス３１は管理せず仮想デバイスアドレス２３を管理する。
【００５１】
ストレージ装置１００側で、コントローラ１０の各ＣＨＡ１１には、コマンド処理プログラム１５がインストールされている。コマンド処理プログラム１５は、ホスト２００側や管理端末１６０のコマンド発行プログラム２２，１６１から発行されて受信したコマンドに対応した処理をＣＨＡ１１で行うためのプログラムである。コマンドに対応した処理には、データ入出力のためのリード／ライト処理の他に、デバイスマウントに係わる処理がある。
【００５２】
コントローラ１０のＳＭ１２内には、デバイスマウント方式に係わる制御情報として、仮想−実デバイスアドレスマッピングテーブル４１と実デバイスアドレス識別テーブル４２とを保持する。各テーブル４１，４２については後述する。
【００５３】
また、ＨＤＤ３０側では、ＨＤＤ３０上の実デバイスに対応して、実デバイスアドレス３１が対応付けられている。実デバイスアドレス３１は、ストレージ装置１００内で使用される制御情報である。コントローラ１０からＨＤＤ３０側の実デバイスに対するアクセスの際は、実デバイスアドレス３１を指定してアクセスがなされる。実デバイスアドレス３１自体は、主にＳＭ１２上の制御情報（前記テーブル４１，４２）で管理される。各デバイスアドレス（２３，３１）は、コンピュータシステム内でホスト２００やストレージ装置１００によるデバイスへのハードウェア的なアクセスのために使用される制御情報である。例として、ホスト２００側で、仮想デバイスアドレス２３として、｛０，１，２，……｝を設定・保持している。ストレージ装置１００側で、実デバイスアドレス３１として、｛ａ，ｂ，ｃ，……｝を設定・保持している。
【００５４】
実デバイスに対しては、ホスト２００により実デバイスの利用のために必要に応じて実デバイス識別情報３２がソフトウェア的に付与される。実デバイス識別情報３２は、例えばメインフレーム系で使用されるボリュームシリアル番号（ＶＯＬＳＥＲ）などの情報である。ホスト２００のアプリケーションプログラム２０では実デバイス識別情報３２を利用する。実デバイス識別情報３２は、ホスト２００のユーザが実デバイスに対して利用のための名前や番号等を適宜付与して使用する。ＶＯＬＳＥＲとして例えば６文字以内の記号がユーザにより自由に付与される。
【００５５】
また、管理端末１６０に、ホスト２００と同様に、メモリ上に同様の機能を有するコマンド発行プログラム１６１を備えて、コントローラ１０のＣＨＡ１１に対して内部ＬＡＮ１６２を通じてデバイスマウント方式に係わるコマンドの発行を行う形態とすることが可能である。ホスト２００と管理端末１６０の一方または双方でデバイスマウントに係わるコマンドの発行を行う形態が可能である。管理端末１６０側から前記コマンドの発行を行う形態の場合、ホスト２００側は構成要素の追加なしで本デバイスマウント方式を実現可能である。
【００５６】
＜実デバイス＞
図５は、ストレージ装置１００で制御する実デバイスの例を示す説明図である。ストレージ装置１００側では、実デバイスとして例えば論理デバイス（ＬＤＥＶ）を扱う。コントローラ１０は、実デバイスとしてＬＤＥＶを割り当てて実デバイスアドレス３１を設定する。ＬＤＥＶは、複数のＨＤＤ３０からなるＲＡＩＤグループ上に設定される記憶ボリュームであり、コントローラ１０によりＬＤＥＶ単位でＲＡＩＤ制御、例えばＲＡＩＤ５等の方式での制御が行われる。例として、コントローラ１０により、４台のＨＤＤ３０｛＃０〜＃３｝で１つのＲＡＩＤグループが設定される。そして、このＲＡＩＤグループ上に、４台のＨＤＤ３０に跨るＬＤＥＶが複数設定される。ＬＤＥＶにおいて、例えばＨＤＤ＃０〜ＨＤＤ＃２にストライピングされたデータが格納され、ＨＤＤ＃３にそのパリティが格納される。図中、１つのＬＤＥＶである実デバイスＡは、実デバイスアドレスが「ａ」で、実デバイス識別情報が“ＤｅｖＡ”である。別のＬＤＥＶである実デバイスＢは、実デバイスアドレスが「ｂ」で、実デバイス識別情報が“ＤｅｖＢ”である。また、デバイスは、ホスト２００がオープン系の場合は論理ユニット（ＬＵ）などである。ＬＵは、ホスト２００側からみた論理的な記憶ボリュームであり、ストレージ装置１００側で物理的な記憶ボリュームに変換される。
【００５７】
一方、仮想デバイスは、ホスト２００内で仮想的に扱うデバイスである。デバイスマウントにより、仮想デバイスに実デバイスが対応付けされるものである。この対応付けは、仮想デバイスアドレス２３と実デバイスアドレス３１とのマッピングによる。マッピング情報は、前記テーブル４１により管理される。前記図４に示すように、例えば仮想デバイスアドレス「０」に対して実デバイスアドレス「ａ」がマッピングされる。これにより、ホスト２００側から仮想デバイスアドレス「０」を指定してアクセスすることで、ストレージ装置１００側で実デバイスアドレス「ａ」の実デバイスＡにアクセスされる。
【００５８】
＜チャネルアダプタ＞
ＣＨＡ１１は、一体的にユニット化されたボード上に形成されたハードウェア及びこのハードウェアにより実行されるソフトウェアにより実現される。ＣＨＡ１１は、ホスト２００等の外部装置からの要求を個々に受け付ける。ＣＨＡ１１には、個々に識別情報（アドレス）が割り当てられ、外部装置から識別情報を指定してアクセスすることで対応するＣＨＡ１１で処理が可能である。
【００５９】
ＣＨＡ１１は、ホスト２００側のポート２０３との間で、物理リンク及び物理リンク上の論理パスによって接続される。また他のＣＨＡ１１で、異なる物理リンク及び論理パスにより、他のストレージ装置１００や磁気テープ装置９００等に通信接続可能である。ＣＨＡ１１は、ホスト２００から前記ブロックアクセス要求を受け付ける。また別のＣＨＡ１１では、ＳＡＮを介してファイバチャネルプロトコルに従ったブロックアクセス要求を受け付ける。また別のＣＨＡ１１では、ホスト２００からのファイルアクセス要求を受け付ける。ＣＨＡ１１は、アクセス要求を受けると、ＤＫＡ１４に対するデータ入出力要求に変換して出力する。またライト処理の場合には要求にライトデータが含まれるようにすることができる。コントローラ１０でＣＨＡ１１として各通信プロトコルに対応したものを混在させて接続させることにより、異種ネットワークに接続されるストレージ装置を実現できる。
【００６０】
図６は、コントローラ１０におけるＣＨＡ１１のボードのハードウェア構成を示す。ＣＨＡ１１のボードは、ＣＰＵ１１１、メモリ１１２、ネットワークインタフェース部１１３、入出力制御部１１４、ボード接続コネクタ１１７、通信コネクタ１１８などを有する。なおＤＫＡ１４もＣＨＡ１１と同様のハードウェア構成である。ＣＰＵ１１１は、メモリ１１２を使用して制御プログラムを実行して、ＣＨＡ１１全体の制御を行う。ＣＨＡ１１で実行されるプログラムには、コマンド処理プログラム１５が含まれる。コマンド処理プログラム１５は、例えばメモリ１１２に格納されＣＰＵ１１１により実行される。あるいはＮＶＲＡＭ１１６に格納され、Ｉ／Ｏプロセッサ１１５により実行される。ネットワークインタフェース部１１３は、ネットワーク３００に接続され、通信プロトコルに従って外部装置との間でインタフェース動作を行う。入出力制御部１１４は、Ｉ／Ｏプロセッサ１１５、ＮＶＲＡＭ（不揮発性メモリ）１１６を有し、ＳＭ１２やＣＭ１３やＤＫＡ１４や管理端末１６０との間でデータやコマンドを入出力する制御を行う。Ｉ／Ｏプロセッサ１１５は、例えば１チップマイコンで構成され、上記データやコマンドの授受を制御してＣＰＵ１１１とＤＫＡ１４との通信を中継する。ＮＶＲＡＭ１１６は、Ｉ／Ｏプロセッサ１１５の制御を司るプログラムを格納する。ＮＶＲＡＭ１１６に記憶されるプログラムの内容は、管理端末１６０等から書き換えが可能である。ボード接続コネクタ１１７は、ストレージ装置１００のバックボードに設けられたコネクタに接続される。通信コネクタ１１８には、ネットワーク３００に接続するための通信ケーブルが接続される。
【００６１】
＜ディスクアダプタ＞
ＤＫＡ１４は、ＨＤＤ３０に対する制御を行う。例えば前記ＣＨＡ１１がホスト２００から受信したライトコマンドに従ってＨＤＤ３０上の記憶領域へライトデータの書き込みを行う。また、ＣＨＡ１１により送信された論理アドレス指定によるデータアクセス要求を、物理アドレス指定による物理ディスクへのデータアクセス要求に変換する処理などを行う。またＤＫＡ１４は、ＲＡＩＤグループに対するＲＡＩＤ制御を行う場合には、ＲＡＩＤ方式に従って並列アクセス等の制御を行う。またＤＫＡ１４は、ＨＤＤ３０に記憶されたデータのバックアップに関する制御や、プライマリサイトのストレージ装置１００のデータについての複製をセカンダリサイトのストレージ装置１００に転送する制御等も可能である。
【００６２】
なお、ＤＫＡ１４でＣＨＡ１１と同様にコマンド処理プログラム１５相当を備えてデバイスマウントに係わる処理を行う形態にすることも可能である。
【００６３】
＜デバイスマウント方式＞
図７は、デバイスマウント方式についての概要とデバイスマウント例を示す説明図である。ホスト２００側で、ストレージ装置１００側で管理している実デバイスアドレス３１の数よりも少ない数の仮想デバイスアドレス２３を保持する。簡単な例として、ホスト２００側で１６個の仮想デバイスアドレス２３を保持し、ストレージ装置１００側で２５６個の実デバイスアドレス３１を保持する場合を示す。ホスト２００側で保持する仮想デバイスアドレス２３の数は、利用形態等に応じてホスト２００のユーザが任意に設定可能である。また、ホスト２００は、複数の仮想デバイスアドレス２３についての同時使用（各仮想デバイスへの平行アクセス）が可能である。
【００６４】
ストレージ装置１００側で、仮想−実デバイスアドレスマッピングテーブル４１により、仮想デバイスアドレス「０」と実デバイスアドレス「ｃ」、仮想デバイスアドレス「１」と実デバイスアドレス「ｈ」がそれぞれマッピングされている。実デバイスアドレス識別テーブル４２により、実デバイスアドレス「ｃ」と実デバイス識別情報“ＤｅｖＣ”、実デバイスアドレス「ｈ」と実デバイス識別情報“ＤｅｖＨ”がそれぞれ関連付けされている。テーブル４１，４２における設定例を図８，９に示す。各実デバイスアドレス３１で特定される実デバイス（前記ＬＤＥＶ）として実デバイスＣと実デバイスＨを示す。
【００６５】
図８は、仮想−実デバイスアドレスマッピングテーブル４１の例を示す。仮想−実デバイスアドレスマッピングテーブル４１では、仮想デバイスアドレス２３と実デバイスアドレス３１とのマッピング情報が管理される。例えば、仮想デバイスアドレス｛＃０〜＃ｎ｝に対してそれぞれマッピングされる実デバイスアドレス｛＃ｃ，＃ｈ，……｝が格納されている。仮想デバイスアドレス＃０，＃１については実デバイスをマウント済みの状態（マウント状態）であり、その他の仮想デバイスアドレス｛＃２〜｝では実デバイスを未マウントあるいはアンマウントした状態（非マウント状態）である。
【００６６】
図９は、実デバイスアドレス識別テーブル４２の例を示す。実デバイスアドレス識別テーブル４２は、実デバイスアドレス３１に関連付けされる実デバイス識別情報３２や後述する世代情報などの情報が管理される。例えば、実デバイスアドレス｛＃ａ，＃ｂ，＃ｃ，……｝に対して実デバイス識別情報｛“ＤｅｖＡ”，“ＤｅｖＢ”，“ＤｅｖＣ”，……｝がホスト２００により付与されている。
【００６７】
前記図７で、ホスト２００側からストレージ装置１００にコマンドを発行してストレージ装置１００側でデバイスマウント（仮想デバイスへの実デバイスのマウント）を行うことにより、ホスト２００から実デバイスへのアクセスが可能な状態となる。ホスト２００からストレージ装置１００に対するアクセスは、仮想デバイスアドレス２３を指定したアクセス（仮想デバイスアクセス）である。また、ストレージ装置１００内では、実デバイスアドレス３１を指定したアクセス（実デバイスアクセス）である。ホスト２００からストレージ装置１００内の実デバイスに対する仮想デバイスアクセスは、ポート２０３とＣＨＡ１１間の物理リンク上に設定される論理パスを通じて行われる。なお、ホスト２００側では、Ｉ／Ｏ構成情報として、仮想デバイスアドレス２３以外の情報の保持は特に必要ではない。例えば、ホスト２００上のアプリケーションプログラム２０で、利用対象の実デバイスについての実デバイス識別情報３２を認識していれば、この実デバイス識別情報３２と、Ｉ／Ｏ構成情報として保持している仮想デバイスアドレス２３とを用いて実デバイスへアクセス可能である。勿論、ホスト２００側でＩ／Ｏ構成情報として仮想デバイスアドレス２３以外の情報を保持するようにしてもよい。
【００６８】
ホスト２００から実デバイスを利用する際の標準的な処理手順は、例えば以下のようになる。（１）まず、ホスト２００側で、デバイスマウントに関する状態を表わす情報を表示して確認する。（２）ホスト２００側で、仮想デバイスに対して実デバイスをマウントするための要求をストレージ装置に対して発行する。（３）ストレージ装置で、指定の仮想デバイスに対して実デバイスをマウントする処理を行う。（４）ホスト２００側から、マウント状態となった仮想デバイスに対するデータ入出力アクセスを行う。（５）ホスト２００側から、前記マウント状態の仮想デバイスから利用済みの実デバイスをアンマウントするための要求を発行する。（６）ストレージ装置１００で、指定の仮想デバイスに対して実デバイスをアンマウントする処理を行う。上記手順は一部省略も可能である。マウント情報の確認は必要時に行えばよい。マウント状態の実デバイスを連続して利用する場合は、マウント状態のまま連続してデータ入出力アクセスを行えばよい。ある仮想デバイスで別の実デバイスを利用することに切り替える場合には、マウント済みの実デバイスをアンマウントして別の実デバイスをマウントする。
【００６９】
実デバイスアドレス識別テーブル４２の実デバイス識別情報３２は、以下の場合などに構築・書き込みされる。（１）：ホスト２００からストレージ装置１００に対して実デバイス識別情報３２の書き込みのための処理を行う。例えば、ホスト２００からストレージ装置１００に対し、実デバイスアドレス３１及び実デバイス識別情報３２を指定して前記書き込みのための要求を発行する。そして、ストレージ装置１００のＣＨＡ１１で、前記要求に対応して、ＳＭ１２上の実デバイスアドレス識別テーブル４２に対して、指定の実デバイスアドレス３１に対応した実デバイス識別情報３２を書き込む処理を行う。あるいは、ＣＨＡ１１は、前記要求に対応して、前記指定の実デバイスアドレス３１に対応した実デバイス識別情報３２を、前記テーブル４２に書き込むと共に、ＤＫＡ１４を介してＨＤＤ３０上の固定領域に対しても書き込む処理を行う。前記実デバイス識別情報３２をＨＤＤ３０側に書き込む場合には、ＳＭ１２側にのみに書き込む場合と比べてディスクアクセスである分負荷が多くなる代わりにＳＭ１２側が揮発した際にＨＤＤ３０側の書き込み情報を利用して実デバイス識別情報３２を再構築できる。またあるいは、ホスト２００からストレージ装置１００に対して前記実デバイス識別情報３２の書き込みの目的で仮想デバイスアドレス２３、実デバイスアドレス３１、及び実デバイス識別情報３２を指定したマウント要求を行い、ＣＨＡ１１で前記マウント要求に応じてテーブル４１に前記指定の仮想デバイスアドレス２３へ実デバイスアドレス３１をマッピングすると共に、テーブル４２に前記指定の実デバイス識別情報３２を対応して書き込むようにしてもよい。（２）：ストレージ装置１００側での電源投入時などにおけるＳＭ１２上のテーブル４１，４２の構築時に、コントローラ１０がＨＤＤ３０上から実デバイス識別情報３２を読み込んでテーブル４２に反映する。
【００７０】
＜ホストコンピュータでの処理＞
ホスト２００側のコマンド発行プログラム２２で、ユーザによる操作に基づき、ストレージ装置１００の実デバイスに対するデータ入出力に係わるコマンド（要求）を発行する処理を行う。コマンド発行プログラム２２の処理により発行されるコマンドは、ポート２０３を通じてネットワーク３００上へ送出され、コントローラ１０のＣＨＡ１１で受信される。ＣＨＡ１１は、受信したコマンドに対応した処理をコマンド処理プログラム１５により行う。マウント要求、アンマウント要求、マウント情報表示は、管理端末１６０側からも同様に実行可能である。
【００７１】
コマンド発行プログラム２２により、マウント要求、アンマウント要求、マウント情報表示要求、及びデバイスのデータ入出力のための各種要求などを行うための各コマンドを発行する各処理（マウント要求コマンド発行処理、アンマウント要求コマンド発行処理、マウント情報表示コマンド発行処理、データ入出力のための各種コマンド発行処理）を行う。
【００７２】
マウント要求コマンド発行処理は、指定の仮想デバイスへ実デバイスをマウントする処理（マウント処理）をストレージ装置１００に行わせるための要求（マウント要求コマンド）を発行する処理である。本処理で、ホスト２００側でＩ／Ｏ構成情報として管理している個々の仮想デバイスアドレス２３に対してストレージ装置１００側のどの実デバイスアドレス３１をマッピングするかを指示する。マウント要求コマンドでは、仮想デバイスアドレス２３と、実デバイス識別情報３２とを指定する。
【００７３】
アンマウント要求コマンド発行処理は、指定の仮想デバイスから実デバイスをアンマウントする処理（アンマウント処理）をストレージ装置１００に行わせるための要求（アンマウント要求コマンド）を発行する処理である。本処理で、仮想デバイス−実デバイスのマウント状態を無効化する指示、すなわち仮想−実デバイスアドレスのマッピング情報を無効化する指示を行う。
【００７４】
マウント情報表示コマンド発行処理は、仮想デバイスと実デバイスのマウントの状態に係わる情報（マウント情報）をホスト２００側に表示させる処理（マウント情報表示処理）をストレージ装置１００に行わせるための要求（マウント情報表示コマンド）を発行する処理である。本処理で、コントローラ１０のＳＭ１２上のテーブル（４１，４２）からマウント情報を読み出してホスト２００側に送信させる。そして、ホスト２００側で、受信したマウント情報を出力装置２０５に所定の形式で表示する。これにより、ホスト２００のユーザに対して仮想デバイスアドレス２３、実デバイスアドレス３１、実デバイスアドレス識別情報３２などの関連が提示される。前記マウント情報は、主にテーブル４１から読み出される一部あるいはすべての仮想−実デバイスアドレスマッピング情報である。またマウント情報の表示以外でも、ホスト２００側でマウント情報を取得したい場合に本処理で取得する。マウント情報をホスト側で常に保持する必要はなく、必要な場合に本処理によりマウント情報を取得すればよい。
【００７５】
データ入出力のための各種コマンド発行処理は、実デバイスに対するデータのリード／ライト等を行うためのコマンドを発行する処理である。これは従来実施されている処理と同様であるが、定義情報の概念が異なる。すなわちホスト２００側から仮想デバイスアドレス２３を指定でコマンドを発行する。
【００７６】
＜チャネルアダプタでの処理＞
ＣＨＡ１１では、コマンド処理プログラム１５で、ホスト２００や管理端末１６０等から受信した各種コマンドに対応したコマンド処理を行う。コマンド処理プログラム１５は、前記各コマンドに対応して、マウント要求コマンド処理、アンマウント要求コマンド処理、マウント情報表示コマンド処理、データ入出力のためのコマンド処理等を行う。
【００７７】
マウント要求コマンド処理では、前記マウント要求コマンドに対応して、マウント要求コマンドが発行された仮想デバイスと、同マウント要求コマンドで指示された実デバイス識別情報３２とから該当する実デバイスをサーチして、仮想デバイスアドレス２３−実デバイスアドレス３１のマッピングを行い、そのマッピング情報をＳＭ１２の仮想−実デバイスアドレスマッピングテーブル４１の該当位置に格納する。
【００７８】
アンマウント要求コマンド処理では、前記アンマウント要求コマンドに対応して、アンマウント要求コマンドが発行された仮想デバイス（あるいは実デバイス）について、ＳＭ１２の仮想−実デバイスアドレスマッピングテーブル４１で、設定済みの該当の仮想−実デバイスアドレスマッピング情報を無効化する。
【００７９】
マウント情報表示コマンド処理では、ＳＭ１２のテーブル４１，４２で管理・保持している情報の一部あるいはすべてをマウント情報として読み出してホスト２００側に送信する。ホスト２００側では、ストレージ装置１００側から送信されたマウント情報を所定形式で表示する。
【００８０】
データ入出力のための各種コマンド処理では、仮想デバイスアドレス２３を指定で発行されたリード／ライトコマンド等の各種コマンドについて、ＳＭ１２の仮想−実デバイスアドレスマッピングテーブル４１の該当のマッピング情報により、仮想デバイスアドレス２３から実デバイスアドレス３１を取得して、取得した実デバイスアドレス３１でＨＤＤ３０側の実デバイスに対する処理を行う。
【００８１】
＜全体のフロー＞
図１０は、ストレージ装置１００の電源オンから処理終了までにおける、デバイスマウント方式に係わる全体の処理フロー図である。各テーブル４１，４２は、ストレージ装置１００の動作中は、ＳＭ１２上に保持される。ＳＭ１２の揮発及びテーブル４１，４２のデータのロストに備えるために、ストレージ装置１００は、適当なタイミングで、ＳＭ１２上のテーブル４１，４２の情報をＨＤＤ３０上のシステム領域等の空き領域または管理端末１６０側の記憶領域などに退避（セーブ）しておく処理を行う。揮発後のストレージ装置１００の電源投入時などに、前記退避しておいたテーブル４１，４２の情報を読み出してＳＭ１２上に再構築する処理を行う。
【００８２】
図１０で、まず、ストレージ装置１００の電源オンがなされると（Ｓ１０１）、起動モードにおいて、コントローラ１０は、ＨＤＤ３０のシステム領域からテーブル４１，４２の情報を読み出してＳＭ１２上へロードし、テーブル４１，４２を再構築する（Ｓ１０２）。また、コントローラ１０は、読み出した実デバイスアドレス識別テーブル４２内の実デバイス識別情報３２が不確定の場合は、ＨＤＤ３０上の固定位置に格納されている実デバイス識別情報３２を読み出して前記テーブル４２に反映する（Ｓ１０３）。
【００８３】
ストレージ装置１００は、前記テーブル４１，４２の構築後、ホスト２００側からのコマンドを受け付ける状態（通常モード）へ移行する。ＣＨＡ１１でホスト２００等の外部装置からのコマンドを受領する（Ｓ１０４）。ＣＨＡ１１は、受領コマンドに応じたコマンド処理をコマンド処理プログラム１５により実行する（Ｓ１０５）。１つのコマンド処理が終了したら他に受領コマンドがあるかどうか確認し、受領コマンドがある場合は同様に対応したコマンド処理を繰り返す（Ｓ１０６）。
【００８４】
処理終了後、コントローラ１０は、ＳＭ１２のテーブル４１，４２の情報をＨＤＤ３０のシステム領域に退避する必要があるか判断し（Ｓ１０７）、必要に応じてＳＭ１２のテーブル４１，４２の情報をＨＤＤ３０のシステム領域に退避する処理を行う（Ｓ１０８）。前記テーブル４１，４２の情報の退避は、例えば、装置電源オフによりスタンバイモードへ移行する際や、テーブル４１，４２の情報にマウント処理等による更新が発生した場合や、一定期間経過などのタイミングで行う。
【００８５】
次に、デバイスマウント方式における各コマンドに対応した処理について説明する。図１１は、マウント要求コマンドに対応したマウント処理についての説明図であり、図１２は、その処理フロー図である。図１３は、アンマウント要求コマンドに対応したアンマウント処理についての説明図であり、図１４は、その処理フロー図である。図１５は、マウント情報表示コマンドに対応したマウント情報表示処理についての説明図であり、図１６は、そのフロー図である。なおマウント状態のデバイスに対するリード／ライト処理は、仮想−実デバイスアドレス間の対応付け（アドレス取得）以外は従来動作と同様である。
【００８６】
＜マウント処理＞
図１１及び図１２において、マウント処理に関して、まず、ホスト２００または管理端末１６０からマウント要求コマンドが発行される。本コマンドには仮想デバイスアドレス２３と実デバイス識別情報３２の指定が含まれる。例えば、仮想デバイスアドレス「０」に対して、実デバイス識別情報が“ＤｅｖＣ”となる実デバイスをマウントさせるための要求である。
【００８７】
ストレージ装置１００は、前記コマンドを受領すると、ＣＨＡ１１のコマンド処理プログラム１５により、図１２に示すマウント処理を行う。ＣＨＡ１１では、受信コマンドの内容と、ＳＭ１２のテーブル４１，４２等を参照して、マウント可能かどうかを判断する。ＣＨＡ１１は、ホスト２００側から指定された仮想デバイスアドレス２３について、仮想−実デバイスアドレスマッピングテーブル４１中の仮想デバイスアドレス２３をサーチして、該当のマッピング情報を参照する（Ｓ２０１）。そして、このマッピング情報において、指定の仮想デバイスアドレス２３について非マウント状態かどうかを確認する（Ｓ２０２）。指定の仮想デバイスアドレス２３に対して既に実デバイスアドレス３１がマッピングされている場合は（Ｓ２０２−Ｎｏ）、ホスト２００側へ、指定の仮想デバイスに対して既に実デバイスがマウント状態であることを示すエラー情報を送信する応答処理を行う（Ｓ２０３）。指定の仮想デバイスアドレスに対して非マウント状態である場合（Ｓ２０２−Ｙｅｓ）、実デバイスのマウントを行うことが可能である。
【００８８】
また、ＣＨＡ１１は、ホスト１００側から前記実デバイス識別情報３２の書き込みのための実デバイスアドレス２３の直接指定が有る場合は（Ｓ２０４−Ｙｅｓ）、実デバイスアドレス識別テーブル４２に、指定の実デバイスアドレス３１に対応する位置に指定の実デバイス識別情報３２を書き込む処理を行う（Ｓ２０５）。
【００８９】
ＣＨＡ１１は、マウント要求指示のあった実デバイス識別情報３２によって実デバイスアドレス識別テーブル４２中の実デバイス識別情報３２をサーチし、指定の実デバイス識別情報３２に対応する実デバイスアドレス３１を求める（Ｓ２０６）。そして、仮想−実デバイスアドレスマッピングテーブル４１で、マウント要求指示が発行された仮想デバイスアドレス２３に対応する位置に、前記求めた実デバイスアドレス３１を格納する（Ｓ２０７）。これによりアドレスマッピングがなされ、すなわち指定の仮想デバイスに対し実デバイスがマウントされたマウント状態となる。ＣＨＡ１１は、ホスト２００側に、デバイスマウントが正常に完了したことを示す情報を送信する応答処理を行う（Ｓ２０８）。例えば、図１１で、ストレージ装置１００側で、指定の実デバイス識別情報“ＤｅｖＣ”によって実デバイスアドレス「ｃ」が求められ、これが仮想デバイスアドレス「０」とマッピングされる。
【００９０】
上記マウント処理の完了後、ホスト２００は、マウント状態である仮想デバイスに対するデータ入出力のための要求を行う。例えば、ホスト２００は、前記仮想デバイスアドレス「０」の仮想デバイスに対してデータをライトするためのライトコマンド及びライトデータを送信する。これは仮想デバイスアドレス２３を指定した仮想デバイスアクセスである。ストレージ装置１００では、前記要求に応じて、ＳＭ１２のテーブル４１の参照により、指定の仮想デバイスアドレス「０」に対応する実デバイスアドレス「ｃ」を取得する。そして、取得した実デバイスアドレス「ｃ」により、ＨＤＤ３０側の実デバイスＣに対するデータ入出力のための実デバイスアクセスを行う。ＣＨＡ１１は、ＳＭ１２にその入出力コマンドを格納し、またＣＭ１３にライトデータを格納する。ＤＫＡ１４が、ＳＭ１２から前記入出力コマンドを読み出して、またＣＭ１３から前記ライトデータを読み出して、実デバイスＣに対するデータ入出力を行う。そして前記データ入出力の応答をＤＫＡ１４からＣＨＡ１１側へ行い、ＣＨＡ１１からホスト２００側へコマンドに対する応答を行う。
【００９１】
＜アンマウント処理＞
図１３及び図１４において、アンマウント処理に関して、まず、ホスト２００または管理端末１６０からアンマウント要求コマンドが発行される。本コマンドには仮想デバイスアドレス２３の指定が含まれる。例えば、仮想デバイスアドレス「０」の仮想デバイスに対してマウント状態である実デバイスをアンマウントさせるための要求である。
【００９２】
ストレージ装置１００は、前記コマンドを受領すると、ＣＨＡ１１のコマンド処理プログラム１５により、図１４に示すアンマウント処理を行う。ＣＨＡ１１では、受信コマンドの内容と、ＳＭ１２のテーブル４１，４２等を参照して、アンマウント可能かどうかを判断する。ＣＨＡ１１は、ホスト２００側から指定された仮想デバイスアドレス２３について、仮想−実デバイスアドレスマッピングテーブル４１中の仮想デバイスアドレス２３をサーチして、該当のマッピング情報を参照する（Ｓ３０１）。そして、このマッピング情報において、指定の仮想デバイスアドレス２３についてマウント状態かどうかを確認する（Ｓ３０２）。指定の仮想デバイスアドレス２３に対して実デバイスアドレス３１がマッピングされていない場合は（Ｓ３０２−Ｎｏ）、ホスト２００側へ、指定の仮想デバイスに対して実デバイスが非マウント状態であることを示すエラー情報を送信する応答処理を行う（Ｓ３０３）。指定の仮想デバイスアドレスに対してマウント状態である場合（Ｓ３０２−Ｙｅｓ）、実デバイスのアンマウントを行うことが可能である。
【００９３】
ＣＨＡ１１は、仮想−実デバイスアドレスマッピングテーブル４１の該当のマッピング情報において、アンマウント要求指示が発行された仮想デバイスアドレス２３に対応する実デバイスアドレス３１のマッピングを無効化する（Ｓ３０４）。前記マッピングの無効化は、テーブル４１に書き込まれている実デバイスアドレス３１の値のリセットなどである。これにより指定の仮想デバイスから実デバイスがアンマウントされた非マウント状態となる。ＣＨＡ１１は、ホスト２００側に、デバイスのアンマウントが正常に完了したことを示す情報を送信する応答処理を行う（Ｓ３０５）。例えば、図１３で、ストレージ装置１００側で、指定の仮想デバイスアドレス「０」に対する実デバイスアドレス「ｃ」のマッピングが無効化され、実デバイスＣがアンマウントされる。
【００９４】
＜マウント情報表示処理＞
図１５及び図１６において、マウント情報表示処理に関して、まず、ホスト２００または管理端末１６０からマウント情報表示コマンドが発行される。このコマンドで、マウント情報としての表示（取得）の対象を指定可能とする。例えば、表示対象として、ホスト２００側で扱うすべての仮想デバイスアドレス２３や、指定範囲の仮想デバイスアドレス２３についてのマウント情報を要求する指示を行う。また例えば、表示対象として、マウント状態あるいは非マウント状態にあるすべての仮想デバイスアドレス２３についてのマウント情報を要求する。また例えば、特定の仮想デバイスアドレス２３や実デバイス識別情報３２についてのマウント情報を要求する。図中では、表示対象を、マウント状態にあるすべての仮想デバイスについてのマウント情報とした場合を示す。
【００９５】
ストレージ装置１００は、前記コマンドを受領すると、ＣＨＡ１１のコマンド処理プログラム１５により、図１６に示すマウント情報表示処理を行う。ＣＨＡ１１では、受信コマンドの内容を参照してマウント情報としての表示対象を確認する（Ｓ４０１）。そして、ＳＭ１２上のテーブル４１，４２から、表示対象となるマウント情報を読み出す（Ｓ４０２）。表示対象がすべてである場合はテーブル４１，４２のすべての情報をそのまま読み出す。表示対象が一部である場合は、指定の情報によりテーブル４１，４２から情報をサーチして読み出す。そして、ＣＨＡ１１は、読み出したマウント情報をホスト２００側に送信して表示させる応答処理を行う（Ｓ４０３）。なお指定の表示対象に該当するマウント情報が存在しない場合はその旨のエラー情報を送信する。例えば、図１５で、ストレージ装置１００側で、マウント状態にある２つの実デバイスＣ，Ｈに対応して、マウント情報として、｛０，ｃ，“ＤｅｖＣ”｝と｛１，ｈ，“ＤｅｖＨ”｝が読み出される。
【００９６】
＜セキュリティとプロテクション＞
仮想デバイスについてのセキュリティとプロテクションは、実デバイスアドレス３１に対応する実デバイス（前記ＬＤＥＶ）に対して設定されたＬＤＥＶセキュリティ機能とＬＤＥＶガード機能により実現される。デバイスマウント時、すなわち仮想デバイスアドレス２３に実デバイスアドレス３１がマッピングされた時に上記機能によるデバイス属性が引き継がれる。これにより、仮想デバイスに対するセキュリティとプロテクションが実デバイスと同様に満たされる。前記ＬＤＥＶセキュリティ機能は、従来技術であり、ホスト２００及びホスト２００を使用するユーザごとの、ＬＤＥＶに対するアクセス権限を設定する機能である。当該機能によりホスト２００及びユーザごとに対象の実デバイスのデータに対するアクセスの許可や制限が行われる。前記ＬＤＥＶガード機能は、従来技術であり、ストレージ装置１００側でのＬＤＥＶに対するアクセス権限（リードのみ許可、リード／ライト許可など）を設定する機能である。
【００９７】
以上、１つのホスト２００と１つのストレージ装置１００の接続におけるデバイスマウントについて説明してきたが、複数のホスト２００や複数のストレージ装置１００の間でのデバイスマウントについても同様に可能である。すなわち、ストレージ装置１００は、複数のホスト２００からのアクセスに対応して、各ホスト２００におけるマッピング情報等を管理する。ホスト２００は、複数のストレージ装置１００へのアクセスに対応して、各ストレージ装置１００に対する仮想デバイスアドレス２３を管理する。
【００９８】
以上説明したように、本実施の形態では、ホスト２００が必要に応じてアクセスの必要のある実デバイスを仮想デバイスに対してマウントしてデータアクセスを行う方式を採用しているので、ホスト２００側ではストレージ装置１００側よりも少ない数のＩ／Ｏ構成情報（仮想デバイスアドレス）を持てば済み、また適宜マウントを行うことによりすべての実デバイスにアクセスが可能である。従来構成では、ストレージ装置側で例えば２５６個のデバイスの制御を行う場合に、それに１：１で対応してホスト側で２５６個のデバイスアドレスを保持していたが、本実施の形態の場合では、ストレージ装置１００側に２５６個あるいは更に千単位、万単位で多数の実デバイスに増加する場合でも、ホスト２００側で対応した数のデバイスアドレスを保持する必要はない。またホスト２００側から常時アクセス可能な状態とする必要がない実デバイスについてのＩ／Ｏ構成情報をホスト２００側で保持する必要もない。従って、ホスト２００側でのＩ／Ｏ構成情報の管理が複雑にならずに済み、使用資源を節約できる。
【００９９】
（実施の形態２）
＜世代管理＞
次に、本発明の実施の形態２のストレージ装置では、実施の形態１の構成に加え、対象となる仮想デバイスについての世代管理を行う。ハードウェア構成は実施の形態１と同様である。図１７は、実施の形態２のストレージ装置でのデバイスマウント方式についての説明図である。世代管理として、同一の仮想デバイスについての時間的な経過によるデータ状態の変化を各世代の実デバイスのデータとしてストレージ装置１００側で保存・管理する処理を行い、ホスト２００側から同一の仮想デバイスアドレス２３のアクセスで異なる各世代のデータを利用可能にする。世代保存の契機は、定期的なタイミングや、データ更新等の条件設定されたタイミングや、ホスト２００等から指定されたタイミングなどである。
【０１００】
本世代管理では、前記図９の実デバイスアドレス識別テーブル４２に示すように、実デバイスアドレス３１ごとに、前記実デバイス識別情報３２に加え、世代情報３３を持たせ、これに対応して実デバイスについての各世代を管理する。世代情報３３は、世代番号やＴＯＤ（本日の時刻）情報などである。ストレージ装置１００で、テーブル４２において、同一の仮想デバイスアドレス２３に対して、世代保存単位で世代情報３３を付与する。各世代の実デバイスをＨＤＤ３０側の記憶領域に保存して管理する。これにより、コントローラ１０で、特定の世代の実デバイスを、実デバイスアドレス３１と世代情報３３の組によりアクセス可能である。ホスト２００側からは、世代情報３３を指定して仮想デバイスアクセスを行うことで、指定の世代の実デバイスへのアクセスが可能である。
【０１０１】
図１８は、図１７に対応した世代管理を行う場合のＳＭ１２上のテーブル４１，４２の設定例である。デバイスマウントにより、ＳＭ１２上のテーブル４１，４２において、仮想デバイスアドレス「０」に対して実デバイスアドレス「ａ」がマッピングされており、実デバイス識別情報“ＤｅｖＡ”がホスト２００により付与されている。そしてテーブル４２で、実デバイスアドレス「ａ」について、世代保存単位で異なる世代番号｛０，１，２，……，ｇ｝を付与して管理している。
【０１０２】
図１７で、例えば、世代保存の契機となるデータ更新や時刻などに対応した各世代の世代番号を｛０，１，……，ｇ｝、時間（ＴＯＤ情報）を｛ｔ０，ｔ１，……，ｔｇ｝としたとき、第ｇ世代の実デバイスＡｇが、実デバイスアドレス「ａ」と、世代情報「ｇ」または「ｔｇ」との組の情報の指定により特定される。ホスト２００側からは、仮想デバイスアドレス「０」と前記世代情報「ｇ」または「ｔｇ」との組の情報「ａｇ」で、特定の世代の実デバイスＡｇへアクセス可能である。
【０１０３】
また本世代管理を行う場合でも、実施の形態１と同様にコントローラ１０でマウント要求コマンド処理等のコマンド処理を行うことで、ホスト２００側から、指定の世代の実デバイスを特定の仮想デバイスにマウントして利用すること等が可能である。この場合、ホスト２００からのコマンドの発行に基づくマウント処理等の際、ＣＨＡ１１は、マウント要求指示のあった実デバイス識別情報３２と世代情報３３によって実デバイスアドレス識別テーブル４２中の実デバイス識別情報３２と世代情報３３をサーチして、対応する実デバイスアドレス３１を求めてデバイスマウントを行う。本世代管理を行う場合では、ホスト２００側から、各世代の実デバイスを同一の仮想デバイスアドレス２３の指定でアクセス可能であるという利便性がある。
【０１０４】
（実施の形態３）
＜論理分割＞
次に、本発明の実施の形態３のストレージ装置では、実施の形態１の構成に加え、対象となる仮想デバイスについての論理分割の設定を行い、論理分割に対応した仮想デバイスに対する専有利用などを行う。ハードウェア構成は実施の形態１と同様である。図１９は、実施の形態３のストレージ装置でのデバイスマウント方式についての説明図である。
【０１０５】
ホスト２００側での論理分割の設定により、ホスト２００のプロセッサ等の資源を分割して使用する。ホスト２００側で、各論理分割に対応したＩ／Ｏ構成情報を保持する構成とし、各論理分割で処理対象となるデバイスを設定する。コマンド処理等は前記実施の形態と同様である。これにより各論理分割において別の用途で独立してデバイスアクセスを行うことが可能である。本構成の場合、ホスト側では、Ｉ／Ｏ構成情報として、各論理分割で扱う分のデバイスアドレス数が管理される。
【０１０６】
例えば、ホスト２００側において論理分割＃１と＃２に分割する。論理分割＃２では、通常アクセス構成に対応したデバイスマウントを行う。これは従来の構成定義及びデバイス使用方法に対応している。すなわち、ホスト２００側の論理分割＃２で、Ｉ／Ｏ構成情報として、ストレージ装置１００側の実デバイスアドレスを１：１でそのまま持つか、あるいは仮想デバイスアドレス２３に実デバイスアドレスを１：１で対応させて持つ。ホスト２００の論理分割＃２に対応したプロセッサからストレージ装置１００側の実デバイス｛Ａ，Ｂ，……｝に対して実デバイスアドレス｛ａ，ｂ，……｝により１：１でアクセスする処理形態である。
【０１０７】
一方、ホスト２００の論理分割＃１では、専有構成に対応したデバイスマウントを行う。論理分割＃１では、一部の実デバイスを仮想デバイスへマウントした上で、論理分割＃１に対応したプロセッサからストレージ装置１００側の実デバイスに対し仮想デバイスアドレス２３を指定でアクセスする。ストレージ装置１００側で前記テーブル４１，４２の情報に基づきアドレス取得が行われ、実デバイスアドレス３１で実デバイスにアクセスされる。例えば、論理分割＃１でのデバイスマウントにより、実デバイス｛Ａ，Ｂ，……｝のうち実デバイス｛Ｃ，Ｈ｝を対象として専有する構成にする。実施の形態１と同様のマウント処理により、仮想デバイスアドレス「０」に実デバイスアドレス「ｃ」が、仮想デバイスアドレス「１」に実デバイスアドレス「ｈ」が、それぞれマッピングされる。そして、ホスト２００の論理分割＃１に対応したプロセッサから、論理分割＃２側と独立して、仮想デバイスアドレス「０」「１」で識別される２つの仮想デバイスを専有でアクセス（仮想デバイスアクセス）して利用する。このような論理分割に対応した構成の用途としては、例えば、仮想デバイスアクセスに対応した論理分割側の高速アクセス用途やバックアップ処理専用用途がある。
【０１０８】
なお、本論理分割に対応した構成において、複数の論理分割で共通するデバイス、例えば図１９における実デバイス｛Ｃ，Ｈ｝に対しては、原則、ホスト２００側の各論理分割（＃１，＃２）からの同時アクセスが可能である。この実デバイスに対する同時アクセスを許可するか不許可にするかなどは利用形態による。例えばバックアップ処理用途の場合、バックアップ処理対象の実デバイスと通常アクセス対象の実デバイスとでデータ整合性が確保されるように所定のコピー方式を用いて制御される。
【０１０９】
＜高速アクセス用途＞
前記論理分割に対応した構成の例として、仮想デバイスアクセスに対応する論理分割において、パラレルアクセスボリューム（ＰＡＶ）構成で定義（デバイスマウント及びＩ／Ｏ構成情報の保持）を行い、定義した仮想デバイスを高速アクセス用途で利用する。ＰＡＶ構成は従来技術である。これにより、本構成でマウントした実デバイスをホスト２００側から並列アクセスして高速処理することが可能となる。
【０１１０】
図２０（ａ），（ｂ）は、ＰＡＶ構成例と高速アクセス用途のための構成例を示す説明図である。図２０（ａ）のＰＡＶ構成例は、ある実デバイス（例えば実デバイスＥ）についてのＰＡＶ構成として、ベースが１ボリュームとエイリアスが２５５ボリュームの構成で、２５６ボリュームの並列アクセス可能な構成である。デバイスＥをホスト２００側から並列アクセスするために、デバイスＥに対応したベースボリューム（デバイスアドレスｅ０）と、ベースボリュームに対する２５５個のエイリアスボリューム（デバイスアドレスｅ１〜ｅｐ）が設定される。各ボリュームへの並列アクセスのために、ボリュームごとに独立した論理パスが設定される。この構成で、各デバイスアドレスを指定でアクセスすることで実デバイスＥに対し並列アクセス可能である。
【０１１１】
図２０（ｂ）の構成は、仮想デバイスアクセスに対応した論理分割を、前記ＰＡＶ構成で定義した構成である。ホスト２００は、例えば論理分割＃１の設定において、実デバイス識別情報が“ＤｅｖＥ”である実デバイスＥについて、デバイスマウントにより、複数の仮想デバイスアドレス２３を前記（ｂ）に示すＰＡＶ構成に対応して定義する。マウント処理により、各仮想デバイスアドレス「０」〜「ｐ」に対して実デバイスアドレス「ｅ０」〜「ｅｐ」をマッピングする。論理分割＃２側は、通常アクセス構成である。これにより、各ＰＡＶに対応して実デバイスＥへの並列アクセスが可能であるので、対象の実デバイスＥの高速処理が可能となる。例えば、ストレージ装置１００内に有する実デバイスのうち、負荷（アクセス数）が高いものや特に高速処理したいものがある場合に、その実デバイスを選択して上記論理分割に対応した構成を定義して利用する。
【０１１２】
＜バックアップ専用用途＞
また、前記論理分割に対応した構成の例として、仮想デバイスアクセスに対応する論理分割において、ストレージ装置１００内の、バックアップ処理実行対象となる実デバイスを、前記専有構成で定義を行い、バックアップ処理専用に利用する。
【０１１３】
図２１は、バックアップ専用用途のための構成例を示す説明図である。論理分割の設定及びデバイスマウントにより、一方の論理分割＃２側を通常アクセス構成とし、他方の論理分割＃１側をバックアップ処理専用の構成とする。例えば、論理分割＃２で、マウント処理により、実デバイス｛Ｃ，Ｈ｝をバックアップ処理対象実デバイスとして仮想デバイスにマウントする。すなわち、仮想デバイスアドレス｛０，１｝に対し実デバイスアドレス｛ｃ，ｈ｝をそれぞれマッピングする。そして、ホスト２００は、論理分割＃２側の実デバイス｛Ａ，Ｂ，……｝で通常アクセスでのオンライン処理（前記アプリケーションプログラム２０における処理）を行いながら、論理分割＃１側の仮想デバイス（実デバイス｛Ｃ，Ｈ｝）で仮想デバイスアクセスを行うことでバックアップ処理を行う。
【０１１４】
例えば、ホスト２００は、バックアップ処理の実行の際、論理分割＃１側で、ストレージ装置１００へ仮想デバイスアドレス「０」を指定で仮想デバイスアクセスあるいはバックアップ処理要求を行い、ストレージ装置１００のＣＨＡ１１は、仮想デバイスアドレス「０」に対応する実デバイスアドレス「ｃ」で、実デバイスＣの処理対象データを読み出し（コピー）して所定の論理パスで磁気テープ装置９００へ転送する。磁気テープ装置９００は、転送されたデータを磁気テープの領域へ書き込む。
【０１１５】
従来のように通常アクセス構成側（前記論理分割＃２）でバックアップ処理を実施した場合、オンライン処理とバックアップ処理とが同一の論理パスで混在するためにオンライン処理の性能に影響が出る。一方、本構成を使用した場合、オンライン処理とは別のバックアップ処理専有の論理パスでの処理となるため、論理パス競合がなくオンライン処理の性能への影響も出ない。従って、バックアップ処理対象実デバイスを専用アクセスして効率的なバックアップ処理を遂行できる。
【０１１６】
なお、前記バックアップ処理では、ストレージ装置１００のＣＨＡ１１が、他のストレージ装置１００や磁気テープ装置９００等の外部装置と通信を行うことで、実デバイスのデータを読み出して外部装置へ転送してコピー等を行うことが可能となっている。当該コピー動作中は、コピー元（プライマリ）やコピー先（セカンダリ）の実デバイスにデータ更新があった場合でも内容が整合するように制御がなされる。例えば従来技術として同期方式のコピーと非同期方式のコピーがある。同期方式のコピーでは、ホストからデバイスへの入出力において、コピー元とコピー先の更新を同期させる。非同期方式では、ホストからデバイスへの入出力において、コピー元とコピー先の更新を同期させず、時間的に遅れてデータ内容を一致（再同期）させる。
【０１１７】
（実施の形態４）
＜キャッシュ常駐化機能＞
次に、実施の形態４のストレージ装置では、実施の形態１の構成に加え、仮想デバイスアドレス２３に対して、キャッシュ常駐化機能を割り当ててキャッシュ常駐化処理を行う。ハードウェア構成は実施の形態１と同様である。図２２は、実施の形態４のストレージ装置でのデバイスマウント方式についての説明図である。
【０１１８】
従来の構成では、システムでキャッシュ常駐化機能を使用する場合、実デバイスアドレス３１相当に対してキャッシュ常駐化機能を割り当てて使用していた。従来のキャッシュ常駐化機能を簡単に説明すると、ストレージ装置で、キャッシュ常駐化の設定（割り当て）がなされた実デバイスを対象として、コントローラのキャッシュメモリ等のメモリ上に、対象実デバイスのデータをステージングすなわちデータ転送して格納して常駐化する処理が行われる。これにより、ホストから対象実デバイスのデータへのアクセスの際にコントローラからＨＤＤアクセスを行う必要がなく、前記キャッシュメモリ上に常駐化されているデータを入出力すればよいので対象実デバイスについての処理が効率化される。また、前記対象実デバイスについてのキャッシュ常駐化の機能を解除する際は、前記コントローラのキャッシュメモリ等のメモリ上から対象実デバイスのデータをデステージングすなわちデータ転送してＨＤＤの記憶領域へ格納する処理が行われる。
【０１１９】
本実施の形態４では、従来のキャッシュ常駐化機能を仮想デバイスに対して適用する。ホスト２００（あるいは管理端末１６０等）は、仮想デバイスアドレス２３の指定とキャッシュ常駐化機能のオン／オフの指示を含む要求をストレージ装置１００側に送信する。ストレージ装置１００は、ホスト２００側からの指示に基づき対象の仮想デバイスアドレス２３についてキャッシュ常駐化機能のオン／オフの設定を行う。また、コントローラ１０のＣＭ１３上に、キャッシュ常駐化機能に対応したキャッシュ領域を設定・確保する。
【０１２０】
前記キャッシュ常駐化機能のオン／オフは、例えば前記デバイスのマウント／アンマウントの操作に伴って対象の仮想デバイスに対して行う。デバイスマウントの契機で、ＣＭ１３上のキャッシュ常駐化機能オンで設定されたキャッシュ領域に対して、仮想デバイスアドレス２３に対応した実デバイスデータ（キャッシュデータ）１３１をＨＤＤ３０の領域からステージングする。同様に、デバイスアンマウントの契機で、ＣＭ１３上のキャッシュ領域に格納されている実デバイスデータ１３１を、実デバイスアドレス３１に対応したＨＤＤ３０の領域へデステージングする。
【０１２１】
図２２で、例えば、ホスト２００は、仮想デバイスアドレス「５」の指定とキャッシュ常駐化機能オンの指示を含んだマウント要求コマンドを発行する。ストレージ装置１００側のＣＨＡ１１で、前記コマンドに対応して、ＳＭ１２のテーブル４１，４２において、ホスト２００側から指定された仮想デバイスアドレス「５」に対応する実デバイスアドレス「ｆ」の実デバイスＦをマウントする設定を行うと共に、テーブル４２等において当該実デバイスＦについてのキャッシュ常駐化機能オンを設定する。そして、ＣＨＡ１１は、ＤＫＡ１４の処理を通じて、キャッシュ常駐化対象の仮想デバイスに対応する実デバイスＦのデータ（１３１）を、ＨＤＤ３０側から読み出してＣＭ１３上に確保したキャッシュ領域に格納する。ホスト２００から仮想デバイスアドレス「５」を指定でリード／ライト等の入出力アクセスが行われると、ＣＨＡ１１でＳＭ１２上のテーブル４１，４２の参照により指定の仮想デバイスアドレス「５」に対応した実デバイスアドレス「ｆ」が取得され、ＣＭ１３の該当キャッシュ領域へのキャッシュアクセスが行われ、該当実デバイスデータ１３１に対してリード／ライト等の入出力が行われる。また同様に、ホスト２００は、仮想デバイスアドレス「５」の指定とキャッシュ常駐化機能オフの指示を含んだアンマウント要求コマンドを発行する。ストレージ装置１００側のＣＨＡ１１で、前記コマンドに対応して、ＳＭ１２のテーブル４１，４２において、ホスト２００側から指定された仮想デバイスアドレス「５」に対応する実デバイスアドレス「ｆ」の実デバイスＦをアンマウントする設定を行うと共に、テーブル４２等において当該実デバイスＦについてのキャッシュ常駐化機能オフを設定する。そして、ＣＨＡ１１は、ＤＫＡ１４の処理を通じて、実デバイスＦのデータ（１３１）をＣＭ１３上に確保したキャッシュ領域から読み出してＨＤＤ３０の領域に格納する。
【０１２２】
このように仮想デバイスに対してキャッシュ常駐化機能を適用することで、仮想デバイスに対するリード／ライトデータがＣＭ１３上に常駐化されるため、仮想デバイスアドレス指定のキャッシュアクセスを使用した高速な処理が可能となる。
【０１２３】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【産業上の利用可能性】
【０１２４】
本発明は、記憶ボリュームを保持する第１のシステム（ストレージ装置）と、これに通信接続され前記記憶ボリュームへのアクセスを行う第２のシステム（ホストコンピュータ等）を含んで構成されるコンピュータシステムなどに利用可能である。
【図面の簡単な説明】
【０１２５】
【図１】本発明の実施の形態１のストレージ装置のハードウェア外観構成を示す図である。
【図２】本発明の実施の形態１のストレージ装置を含むコンピュータシステムの全体の構成を示す図である。
【図３】本発明の実施の形態１のストレージ装置を含むコンピュータシステムで、ストレージ装置に通信接続されるホストコンピュータの機能ブロック構成を示す図である。
【図４】本発明の実施の形態１のストレージ装置を含むコンピュータシステムで、１つのホストコンピュータと、１つのストレージ装置との接続構成と、本発明に特徴的なデバイスマウント方式を実現するために係わる構成要素とを示す機能ブロック図である。
【図５】本発明の実施の形態１のストレージ装置で制御する実デバイスの例を示す説明図である。
【図６】本発明の実施の形態１のストレージ装置で、コントローラにおけるチャネルアダプタのボードのハードウェア構成を示す。
【図７】本発明の実施の形態１のストレージ装置でのデバイスマウント方式についての概要とデバイスマウント例を示す説明図である。
【図８】本発明の実施の形態１のストレージ装置での、仮想−実デバイスアドレスマッピングテーブルの例を示す図である。
【図９】本発明の実施の形態１のストレージ装置での、実デバイスアドレス識別テーブルの例を示す図である。
【図１０】本発明の実施の形態１のストレージ装置での、電源オンから処理終了までにおける、デバイスマウント方式に係わる全体の処理フロー図である。
【図１１】本発明の実施の形態１のストレージ装置での、マウント要求コマンドに対応したマウント処理についての説明図である。
【図１２】本発明の実施の形態１のストレージ装置での、マウント要求コマンドに対応したマウント処理についての処理フロー図である。
【図１３】本発明の実施の形態１のストレージ装置での、アンマウント要求コマンドに対応したアンマウント処理についての説明図である。
【図１４】本発明の実施の形態１のストレージ装置での、アンマウント要求コマンドに対応したアンマウント処理についての処理フロー図である。
【図１５】本発明の実施の形態１のストレージ装置での、マウント情報表示コマンドに対応したマウント情報表示処理についての説明図である。
【図１６】本発明の実施の形態１のストレージ装置での、マウント情報表示コマンドに対応したマウント情報表示処理についてのフロー図である。
【図１７】本発明の実施の形態２のストレージ装置でのデバイスマウント方式についての説明図である。
【図１８】本発明の実施の形態２のストレージ装置での、図１７に対応した世代管理を行う場合の共有メモリ上のテーブルの設定例を示す図である。
【図１９】本発明の実施の形態３のストレージ装置でのデバイスマウント方式についての説明図である。
【図２０】（ａ），（ｂ）は、本発明の実施の形態３のストレージ装置での、ＰＡＶ構成例と高速アクセス用途のための構成例を示す説明図である。
【図２１】本発明の実施の形態３のストレージ装置での、バックアップ専用用途のための構成例を示す説明図である。
【図２２】本発明の実施の形態４のストレージ装置でのデバイスマウント方式についての説明図である。
【符号の説明】
【０１２６】
１０…コントローラ、１１…チャネルアダプタ、１２…共有メモリ、１３…キャッシュメモリ、１４…ディスクアダプタ、１５…コマンド処理プログラム、２０…アプリケーションプログラム、２１…利用プログラム、２２…コマンド発行プログラム、２３…仮想デバイスアドレス、３０…ＨＤＤ、３１…実デバイスアドレス、３２…実デバイス識別情報、３３…世代情報、４１…仮想−実デバイスアドレスマッピングテーブル、４２…実デバイスアドレス識別テーブル、１００…ストレージ装置、１１１…ＣＰＵ、１１２…メモリ、１１３…ネットワークインタフェース部、１１４…入出力制御部、１１５…Ｉ／Ｏプロセッサ、１１６…ＮＶＲＡＭ、１１７…ボード接続コネクタ、１１８…通信コネクタ、１２０…制御筐体、１３０…ＨＤＤ筐体、１３１…実デバイスデータ、１６０…管理端末、１６１…コマンド発行プログラム、１６２…内部ＬＡＮ、２００…ホストコンピュータ、２０１…ＣＰＵ、２０２…メモリ、２０３…ポート、２０４…入力装置、２０５…出力装置、２０６…記憶装置、２０７…記録媒体読取装置、３００…ネットワーク、９００…磁気テープ装置。
【図１】
2006107257.tif 000003
【図２】
2006107257.tif 000004
【図３】
2006107257.tif 000005
【図４】
2006107257.tif 000006
【図５】
2006107257.tif 000007
【図６】
2006107257.tif 000008
【図７】
2006107257.tif 000009
【図８】
2006107257.tif 000010
【図９】
2006107257.tif 000011
【図１０】
2006107257.tif 000012
【図１１】
2006107257.tif 000013
【図１２】
2006107257.tif 000014
【図１３】
2006107257.tif 000015
【図１４】
2006107257.tif 000016
【図１５】
2006107257.tif 000017
【図１６】
2006107257.tif 000018
【図１７】
2006107257.tif 000019
【図１８】
2006107257.tif 000020
【図１９】
2006107257.tif 000021
【図２０】
2006107257.tif 000022
【図２１】
2006107257.tif 000023
【図２２】
2006107257.tif 000024