(57)【要約】【課題】分散メモリ型システムの階層メモリ化したトラックマッピング情報へオーナ権が跨ったアクセスによりアクセス性能低下を防止する。【解決手段】仮想ボリュームへの実記憶領域割り当ては、第一にプールからページを割り当て、第二に当該ページからトラックを割り当てる。そして、ページは複数トラックからなり、ホストライト契機で割り当てられたトラックデータが前詰めで保存する。仮想ボリュームとページとの間のマッピング情報はトラックデータとは異なる制御情報ページ上に格納し、マッピング情報は前記制御情報ページに格納し、仮想ボリュームのオーナ権を持つマイクロプロセッサのみがアクセスする。【選択図】図３
2015127967.tif 000002
【特許請求の範囲】
【請求項１】
計算機に接続されるストレージシステムにおいて、
前記計算機と接続されるインタフェース部と、
前記インタフェース部に接続され、複数のマイクロプロセッサより構成する複数の制御部と、
前記複数の制御部が共有してアクセスする共有メモリと、
前記制御部のマイクロプロセッサが共有してアクセスするローカルメモリと、
前記計算機が使用するデータを格納する物理記憶デバイスと、
前記計算機に割り当てる第１の論理記憶領域と
前記第１の論理記憶領域に割り当てる第２の論理記憶領域と、
前記物理記憶デバイスから構成される物理記憶領域とを設け、
第１の制御情報で、前記第１の論理記憶領域の前記第２の論理記憶領域への割り当てを
行い、
第２の制御情報で、前記第２の論理記憶領域の前記物理記憶領域への割り当てを行い、
前記計算機から第１の論理記憶領域へのアクセス要求があった場合に、前記第１の制御
情報および第２の制御情報で、前記複数の制御部よりアクセス要求の処理を担当する制御部を選択する
ことを特徴としたストレージシステム。
【請求項２】
請求項１に記載のストレージシステムであって、前記第１の制御情報を前記物理記憶領域のユーザが使用するトラックと別のトラックに配置し、前記第２の制御情報を前記共有メモリに配置し、前記選択されたアクセス要求の処理を担当する制御部だけがアクセス可能としたこと特徴としたストレージシステム。
【請求項３】
請求項２に記載のストレージシステムであって、前記第１の制御情報が、第１の論理記憶領域のトラック番号と第２の論理記憶領域のトラック番号とトラック割り当て状態との対応関係テーブルで構成し、前記第２の制御情報が、
（１）前記制御部と第１の論理記憶領域との対応関係テーブル、
（２）前記第１の論理記憶領域と第２の論理記憶領域との対応関係テーブル、
（３）前記第１の論理記憶領域とその容量との対応関係テーブル、
（４）前記第１の論理記憶領域とその属性との対応関係テーブル、
（５）前記第２の論理記憶領域と前記物理記憶デバイスとの対応関係テーブル、
（６）前記第２の論理記憶領域と前記物理記憶領域との対応関係テーブル、
（７）前記物理記憶領域と前記物理記憶デバイスとの対応関係テーブル、
（８）物理記憶領域を構成する最小単位であるページと前記第２の論理記憶領域への割り当て位置と割り当て状態との対応関係テーブル、
（９）前記第２の論理記憶領域と、前記（８）の対応関係テーブルが前記共有メモリ上に格納されているアドレスとの対応関係テーブル、
（１０）第２の論理記憶領域と物理記憶デバイスの最小構成単位であるトラック番号との対応関係テーブル
の少なくとも１つ以上で構成されることを特徴とするストレージシステム。
【請求項４】
請求項３に記載のストレージシステムであって、前記計算機からの第１の論理記憶領域へのボリューム作成要求において、
前記共有メモリ上で、前記第２の論理記憶領域と前記共有メモリ上に存在する物理記憶領域を構成する最小単位であるページと前記第２の論理記憶領域への割り当て位置と割り当て状態との対応関係テーブルのアドレスとの対応関係テーブルを作成するのに必要な容量を算出し、前記物理記憶領域上で作成に必要な前記の第１の制御情報の容量を算出しボリューム作成ないしは領域作成の可否を判断することを特徴とするストレージシステム。
【請求項５】
請求項３に記載のストレージシステムであって、前記計算機からのデータライトまたはコピー要求時に、前記第１の制御情報でのページ番号の算出と、ライトまたはコピー対象トラック割り当て状態ないしページ割り当て状態の判断による新規トラックないし新規ページの割り当てとライトまたはコピー対象トラックに対する実データの書き込みまたはコピーを実施することを特徴とするストレージシステム。
【請求項６】
請求項３に記載のストレージシステムであって、前記計算機からのデータリード要求において、第２の論理記憶領域のトラック番号とページサイズとページ番号で、当該ページ内の先頭アドレスからのオフセット値を計算し、ディスク上のページ先頭アドレスと前記オフセット値に該当するアドレスのデータを前記計算機に送信することを特徴とするストレージシステム。
【請求項７】
請求項３に記載のストレージシステムであって、前記計算機からのコピー要求において、前記制御部は、
（１）コピーＢＭテーブルと差分ＢＭテーブルとでコピーペアの作成
（２）対象トラックをコピーしＨＤＥＶ間コピーペア管理テーブルの更新
を実行することを特徴とするストレージシステム。
【請求項８】
請求項３に記載のストレージシステムであって、前記計算機からの先行コピー要求において前記制御部は、
（１）更新前トラックデータのコピー先トラックへのコピー
（２）コピーＢＭテーブルと差分ＢＭテーブルの更新
を実行することを特徴とするストレージシステム
【請求項９】
請求項３に記載のストレージシステムであって、前記計算機からのコピー要求による差分リストアにおいて前記制御部は、差分ＢＭテーブルでトラックコピーを実行することを特徴とするストレージシステム。
【請求項１０】
請求項９に記載のストレージシステムであって、前記差分リストアで通常ボリュームと仮想ボリュームを入れ替えてトラックコピーを実行することを特徴とするストレージシステム。
【請求項１１】
請求項３に記載のストレージシステムであって、前記計算機からのリクラメーション要求において、前記制御部は、コピー先トラックのトラックエントリとページエントリの破棄を実行することを特徴とするストレージシステム。
【請求項１２】
請求項３に記載のストレージシステムであって、前記計算機からライト要求時のガベージコレクション動作で、前記制御部は、
（１）トラックマッピングテーブルより未割り当てのトラックエントリの中から、第２の論理記憶領域のトラック番号がページマッピングテーブルのページ番号よりも大きく、かつ最大であるトラックエントリの取得と、
（２）前記取得したトラックエントリの割り当て判定情報の「割り当て済み」への変更と
を実行することを特徴とするストレージシステム。
【請求項１３】
請求項３に記載のストレージシステムであって、前記計算機からのオーナ権移動要求において、前記制御部は、トラックマッピングテープルの破棄と前記制御部と第１の論理記憶領域との対応関係テーブルの更新を実行することを特徴とするストレージシステム。
【請求項１４】
請求項４に記載のストレージシステムであって、前記計算機からのデータライト要求時に、前記第１の制御情報でのページ番号の算出と、ライト対象トラック割り当て状態ないしページ割り当て状態の判断による新規トラックないし新規ページの割り当てとライト対象トラックに対する実データの書き込みを実施することを特徴とするストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置における仮想ボリュームの制御情報領域への動的な実記憶領域割り当て方法に関する。
【背景技術】
【０００２】
特許文献１のように、ストレージ装置内部に複数のマイクロプロセッサと各マイクロプロセッサからしかアクセスできないローカルメモリとを設けたものが開示されている。このストレージ装置は、記憶デバイスとの入出力処理を実行するマイクロプロセッサにオーナ権を付与し、マイクロプロセッサのローカルメモリに当該記憶デバイスとの入出力処理に必要なキャッシュ制御情報を格納するものである。
【０００３】
また、特許文献２によると、仮想記憶領域への実記憶領域の動的な割り当てに関わる処理では、仮想記憶領域に対するホストライトを契機とした仮想記憶領域への実記憶領域の割り当てと、仮想記憶領域から実記憶領域へのアドレス変換を行う。その仮想記憶領域への入出力に必要なアドレス変換情報は、仮想ボリュームの数や容量に比例して大きくなる課題があるが、ローカルメモリに比べてアクセス性能は劣るが安価な記憶デバイスに格納することで解決できる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１０／１３１３７３号
【特許文献２】米国特許第７６１３８９６号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
仮想記憶領域からなる仮想記憶デバイスのオーナ権を持つマイクロプロセッサが、前述したアドレス変換情報が格納される記憶デバイスのオーナ権を持たないならば、仮想記憶デバイスとの入出力処理に必要なアドレス変換情報をリードすることができない。また、オーナ権を持てるとしても、そのオーナ権を跨ってボリュームにアクセスするため、その性能が低下するという課題がある。なお、オーナ権を跨るボリュームアクセスとは、例えば、当該ボリュームへのアクセス権を持つマイクロプロセッサを変更すること（オーナ権移動）を表す。更に、仮想記憶領域への入出力に必要なアドレス変換情報を、ローカルメモリに比べてアクセス性能が劣る記憶デバイスに分散して格納する方法では、アクセスが頻繁に発生すると該記憶デバイス上のアドレス変換情報へのアクセスも増加する。そのため、全体のアクセス性能が低下してしまうという課題がある。
【０００６】
本発明では、仮想記憶領域から実記憶領域へのアドレス変換情報を記憶デバイス上に格納し、仮想記憶デバイスのオーナ権を持つマイクロプロセッサからのアクセスを可能としアクセス性能を向上させることを目的とする。
【課題を解決するための手段】
【０００７】
前記目的を達成するために、本発明は、
（１）複数の記憶デバイスから第一の仮想記憶領域に第一の実記憶領域（以下、ページ）を割り当て、第一の仮想記憶領域に割り当てられたページから、第二の仮想記憶領域に第二の実記憶領域（以下、トラック）を割り当てる。ページは複数トラックからなり、第二の仮想記憶領域へ割り当てられた順番でトラックデータを格納する。
（２）第一の仮想記憶領域と複数の記憶デバイスとの間の第一のアドレス変換情報のサイズはページ数に比例し、共有メモリに保存する。また、第二の仮想記憶領域と第一の仮想記憶領域との間の第二のアドレス変換情報のサイズはトラック数に比例し、第一の仮想記憶領域に割り当てられたページ上に格納する。
（３）第二の仮想記憶領域からなる仮想記憶デバイスとの入出力に必要な第二のアドレス変換情報を、第一の仮想記憶領域に割り当てられたページ上に格納することで、第二のアドレス変換情報をアクセスする際に必要なキャッシュ制御情報を、当該仮想記憶デバイスのオーナ権を持つマイクロプロセッサのローカルメモリに格納する
ことを特徴とするものである。
【発明の効果】
【０００８】
本発明によれば、記憶デバイスにアドレス変換情報を格納する仮想記憶デバイスに対する入出力処理をマイクロプロセッサが排他的に実行できる。
【図面の簡単な説明】
【０００９】
【図１】ストレージシステムの全体構成を示すブロック構成図である。
【図２】ストレージコントローラ内で実行するマイクロプログラムの構成を示す構成図である。
【図３】ストレージ装置内の論理構成を示す構成図である。
【図４】ＳＭ（Shared  Memory）内に保存する管理テーブルを示す構成図である。
【図５】ＭＰＰＫ（Micro  Processor  PacKage）番号とＨＤＥＶ番号との対応関係を管理するための管理テーブルの構成図である。
【図６】ＨＤＥＶ（Host  logical  DEVice）番号とＬＤＥＶ（Logical  DEVice）番号との対応関係を管理するための管理テーブルの構成図である。
【図７】ＨＤＥＶ番号とボリュームサイズとの対応関係を管理するための管理テーブルの構成図である。
【図８】ＨＤＥＶ番号とＨＤＥＶの属性との関係を管理する管理テーブル構成図である。
【図９】ＨＤＥＶ番号とディスク番号との関係を管理する管理テーブル構成図である。
【図１０】ＬＤＥＶ番号とプール番号との関係を管理する管理テーブル構成図である。
【図１１】プール番号とディスク番号との関係を管理する管理テーブル構成図である。
【図１２】ページ割り当て処理で用いるＰＭＴ（Page  Mapping  Table）の構成図である。
【図１３】ＰＭＴ管理ディレクトリの構成図である。
【図１４】ＴＭＴ管理ディレクトリの構成図である。
【図１５】ページ内のトラック割り当て処理で用いるＴＭＴ（Track  Mapping  Table）の構成図である。
【図１６】第１実施例での仮想ボリューム作成処理のフローチャートである。
【図１７】第１実施例での仮想ボリュームへのトラック割り当て処理のフローチャートである。
【図１８】第２実施例でのトラック番号とコピー状態との関係を管理する管理テーブル構成図である。
【図１９】第２実施例でのトラック番号と更新状態との関係を管理する管理テーブル構成図である。
【図２０】第２実施例でのペア状態の管理テーブル構成図である。
【図２１】第２実施例でのコピーペア作成処理のフローチャートである。
【図２２】第２実施例でのコピージョブによるバックグラウンドコピー処理のフローチャートである。
【図２３】第２実施例でのホストライトコマンド契機の先行コピー処理を説明するためのフローチャートである。
【図２４】第２実施例での差分リストアコマンド処理のフローチャートである。
【図２５】第３実施例でのＭＦホストライトコマンド契機によるトラック割り当て解放処理のフローチャートである。
【図２６】第４実施例でのオーナ権移動処理のフローチャートである。
【図２７】第３実施例でのボリューム役割変更のフローチャートである。
【図２８】第５実施例でのストレージシステムの全体構成を示すブロック構成図である。
【図２９】第５実施例でのファイル構造図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら本発明の実施の形態を説明する。なお、以下の説明では、「管理テーブル」等の表現にて各種情報を説明することがあるが、各種情報は、テーブル以外のデータ構造で表現されていてもよい。また、データ構造に依存しないことを示すために「管理テーブル」を「管理情報」と呼ぶことができる。
【００１１】
また、「プログラム」を主語として処理を説明する場合がある。そのプログラムは、プロセッサ例えば、ＭＰ（Micro  Processor）によって実行されるもので、定められた処理をするものである。なお、適宜に記憶資源（例えばメモリ）及び通信インタフェース装置（例えば通信ポート）を用いながら行うため、処理の主語がプロセッサとされてもよい。プロセッサは、ＭＰの他に専用ハードウェアを有していても良い。コンピュータプログラムは、プログラムソースから各計算機にインストールされても良い。プログラムソースは、例えば、プログラム配布サーバ又は記憶メディアであっても良い。
【００１２】
また、各要素例えば、ＬＤＥＶ（Logical  DEVice）は、番号などで識別可能であるが、識別可能な情報であれば、名前など他種の識別情報が用いられても良い。本発明の図及び説明において同一部分には同一符号を付与しているが、本発明が本実施例に制限されることは無く、本発明の思想に合致するあらゆる応用例が本発明の技術的範囲に含まれる。また、特に限定しない限り、各構成要素は複数でも単数でも構わない。
【実施例１】
【００１３】
本発明の第一の実施例であるストレージ装置における仮想ボリュームの制御情報領域への動的な実記憶領域割り当て方法について、図１から図１７で説明する。最初に図１から図４でハードウェア構成とソフトウェア構成（プログラム構造、テーブル構造）の概要を説明し、次に、図５から図１５で各管理テーブルの詳細説明をする。最後に、具体的な動作（処理）を図１６及び図１７で説明する。
【００１４】
まず、ストレージシステムの全体構成を図１で説明する。ストレージシステムは、複数のストレージ装置１０１と、複数のメインフレーム（Main  Frame）ホスト計算機（以下、ＭＦホスト計算機）１０２と、管理端末計算機１０３とで構成する。
【００１５】
各ストレージ装置１０１と各ＭＦホスト計算機１０２は、ネットワーク１１２を介して接続される。複数のストレージ装置のうち一つのストレージ装置１０１と管理端末計算機１０３は、ネットワーク１１１を介して接続される。各ＭＦホスト計算機１０２は、通信線１１４を介してネットワーク１１２に接続される。各ストレージ装置１０１は、通信線１１６を介してネットワーク１１２に接続される。管理端末計算機１０３は、通信線１１３を介してネットワーク１１１に接続される。第１のストレージ装置１０１は、通信線１１５を介してネットワーク１１１に接続される。
【００１６】
なお、上述の通信線１１３〜１１６は、例えば、メタルケーブルや光ファイバケーブル等の有線として構成される。しかし、各ＭＦホスト計算機１０２と各ストレージ装置１０１、各ストレージ装置１０１と管理端末計算機１０３、各ＭＦホスト計算機１０２と管理端末計算機１０３をそれぞれ無線で接続することも可能である。この場合は、通信線１１３〜１１６は不要となる。また、ネットワーク１１１とネットワーク１１２は、共通のネットワークであっても良い。各ネットワーク１１１、１１２は、通信ネットワークであり、例えば、ＳＡＮ（Storage  Area  Network）又はＬＡＮ（Local  Area  Network）である。
【００１７】
次に、各ストレージ装置１０１の構成を説明する。各ストレージ装置１０１は、一つまたは複数のストレージコントローラ１３１と、一つまたは複数のディスク１３２を備える。一つまたは複数のディスク１３２には、データを格納する記憶デバイスとして、少なくとも、ＳＳＤ（Solid  State  Drive）、ＳＡＳ（Serial  Attached  SCSI）タイプＨＤＤ（Hard  Disk  Drive）、ＳＡＴＡ（Serial  Advanced  Technology  Attachment）タイプＨＤＤが含まれている。なお、ディスク１３２は、それらのうちの少なくとも１つに代えて、またはそれらに加えて、他の種類の物理的な記憶デバイス、例えば、追記型光ディスクメディアなどであっても良い。
【００１８】
一つまたは複数のディスク１３２は、例えば、ファイバチャネルケーブル等の通信線を介して、ストレージコントローラ１３１に接続される。なお、複数のディスク１３２で、一つまたは複数のＲＡＩＤ（Redundant  Array  of  Independent  Disks）グループを構成することができる。
【００１９】
次に、ストレージコントローラ１３１の構成を説明する。ストレージコントローラ１３１は各ＭＦホスト計算機１０２から受信したコマンドで、ディスク１３２に対するデータの入出力処理、即ち、ディスク１３２へのデータのライト（書き込み）やリード（読み出し）を制御する。
【００２０】
ストレージコントローラ１３１は、アクセス要求元のＭＦホスト計算機１０２に対して、実記憶領域が既に割り当てられている状態の論理デバイス、または後述するシン・プロビジョニング機能で使用する仮想記憶領域で構成される論理デバイスを、アクセス対象の論理デバイスあるいは論理ボリュームとして提供する。
【００２１】
仮想記憶領域からなる論理デバイスは、実記憶領域が既に割り当て済みであってもよいし、未割り当てでもよい。この際、ストレージコントローラ１３１は、実記憶領域、または仮想記憶領域を、シリンダ・ヘッド番号（以下、トラック番号）によって参照したり、識別したりすることができる。ストレージコントローラ１３１は、記憶資源と、通信インタフェース装置（以下、インタフェース装置を「Ｉ／Ｆ」と略記）と、それらに接続された演算装置とを有する。
【００２２】
演算装置は、ＭＰＰＫ（Micro  Processor  PacKage）１２３内のＭＰ（Micro  Processor）１４１などである。記憶資源は、ＭＰＰＫ１２３内のＬＭ（Local  Memory）１４２、ＣＭＰＫ（Cache  Memory  PacKage）１２４内の共有メモリＳＭ（Shared  Memory）１４３、キャッシュメモリＣＭ（Cache  Memory）１４４などである。
【００２３】
通信Ｉ／Ｆは、ＭＦホスト計算機１０２からリードやライトを受信するＣＨＡＰＫ（Channel  Adapter  PacKage）１２１と、管理端末計算機１０３からローカルコピーの指示を受信するＮＩＣ（Network  Interface  Card）１２５と、ディスクからデータを受送信するＤＫＡＰＫ（DisK  Adapter  PacKage）１２２とを備える。
【００２４】
これらＣＭＰＫ１２４、ＭＰＰＫ１２３、ＣＨＡＰＫ１２１、ＮＩＣ１２５、ＤＫＡＰＫ１２２は、バス等の通信線と通信切り替えを担当するＳＷＰＫ（Switch  PacKage）１２６を介して相互に接続される。
【００２５】
各ＭＦホスト計算機１０２や管理端末計算機１０３のハードウェア構成は、通信インタフェース装置と記憶資源と、それらに接続された演算装置とを有する一般的な計算機である。通信インタフェース装置としては、例えば、ネットワーク１１２を介した通信を行うためのホストバスアダプタ（Host  Bus  Adaptor：ＨＢＡ）と、ネットワーク１１１を介した通信を行うためのＮＩＣである。記憶資源は、メモリや内蔵ＨＤＤなどで構成される。
【００２６】
図２に、ストレージコントローラ１３１内で実行するマイクロプログラム２０１の構成を示す。同図のローカルメモリＬＭ１４２には、一つまたは複数のマイクロプログラム２０１が、ＭＰ１４１によって読み込まれる。このマイクロプログラム２０１には、コマンド制御部２１１、ＲＡＩＤ制御部２１２、オーナ権制御部２１３が含まれる。ＭＰ１４１が、ＬＭ１４２に読み込まれたマイクロプログラム２０１内の各制御部２１１から２１３を実行することにより、後述する種々の処理が行われる。
【００２７】
ＣＭ制御情報２０２は、ＬＭ１４２上にキャッシュした情報などを制御するものである。また、管理テーブルのキャッシュ２０３は、共有メモリＳＭ１４３上にある各管理テーブル（図４）をローカルメモリＬＭ１４２に格納（キャッシュ）したものである。これにより、ＭＰ１４１は、アクセスに時間がかかるＳＭ１４３ではなく、高速にアクセスできるＬＭ１４２から各管理テーブルの情報を取得できる。ＣＭ１４４は、各ＭＦホスト計算機１０２から受信したライトデータおよびマイクロプログラム２０１内のＲＡＩＤ制御部２１２がディスク１３２から読み出したデータを一時的に記憶するものである。
【００２８】
オーナ権制御部２１４は、後述するＨＤＥＶのオーナ権を持つＭＰＰＫ番号と、そのＨＤＥＶ番号との対応を管理する管理テーブル４０１の設定や参照を担当する。そして、コマンド制御部２１１またはＣＨＡＰＫ１２１からの設定または参照の問い合わせに対して、ＨＤＥＶのオーナ権を持つＭＰＰＫ番号とそのＨＤＥＶ番号との対応関係を、設定または参照させる。また、オーナ権制御部２１４は、後述するオーナ権移行処理において、コマンド制御部からオーナ権の変更を要求されると、ＨＤＥＶのオーナ権を持つＭＰＰＫ番号と、そのＨＤＥＶ番号との対応関係を設定する。その後、ＣＨＡＰＫ１２１内とＬＭ１４２上とにある管理テーブル４０１の複製に対して、古い情報を無効化し最新の情報に更新する。
【００２９】
ＣＨＡＰＫ１２１は、ネットワーク１１２を介して、各ＭＦホスト計算機１０２と接続され、アクセス要求としてアクセスコマンド（ライトコマンド又はリードコマンド）を受信し、受信したアクセスコマンドをコマンド制御部２１１に転送する。ＣＨＡＰＫ１２１は、前記転送処理においてリードまたはライトコマンドのパラメータであるＨＤＥＶ番号とＣＨＡＰＫ１２１内の管理テーブル４０１の複製とで、ＨＤＥＶのオーナ権を持つＭＰＰＫを特定する。その後、ＣＨＡＰＫ１２１は、特定したＭＰＰＫ内のコマンド制御部２１１に対して、リードまたはライトコマンドを処理させるためにアクセスコマンドを転送する。
【００３０】
ＮＩＣ１２５は、ネットワーク１１１で管理端末計算機１０３と接続され、後述するボリューム間のデータコピー指示を受信した場合、受信した指示をコマンド制御部２１１に転送する。ＤＫＡＰＫ１２２は、各ディスク１３２と記憶資源（ＬＭ１４２とＳＭ１４３とＣＭ１４４）との間のデータ送受信を行う。ＤＫＡＰＫ１２２は、通信路を介して各ディスク１３２にそれぞれ接続される。
【００３１】
次に、ストレージ装置１０１の基本的動作を説明する。ストレージコントローラ１３１は、ＣＨＡＰＫ１２１を介して、いずれかのＭＦホスト計算機１０２からライトコマンドを受信した場合、ＭＦホスト計算機１０２から受信したライトデータをＣＭ１４４に記憶する。
【００３２】
ストレージコントローラ１３１は、ＣＭ１４４に記憶しているライトデータを、ＤＫＡＰＫ１２２を介してディスク１３２に書き込む。なお、ストレージコントローラ１３１は、ＭＦホスト計算機１０２へのライトコマンド処理完了の通知を、ＣＭ１４４に記憶した時点ないしライトデータをディスク１３２に書き込んだ時点で行う。
【００３３】
ＭＦホスト計算機１０２からリードコマンドを受信した場合、ストレージコントローラ１３１は、そのリードコマンドにパラメータで指定されるデータ（リード対象データ）がＣＭ１４４に記憶されているか否かを調べる。
【００３４】
リード対象データがＣＭ１４４に記憶されている場合、ストレージコントローラ１３１は、リード対象データをＣＭ１４４から読み出し、読み出したリード対象データを、ＣＨＡＰＫ１２１を介してＭＦホスト計算機１０２に送信する。一方、リード対象データがＣＭ１４４に記憶されていない場合、ストレージコントローラ１３１は、ＤＫＡＰＫ１２２を介して、一つまたは複数のディスク１３２からリード対象データを読み出し、読み出したリード対象データをＣＭ１４４に記憶する。その後、ストレージコントローラ１３１は、ＣＭ１４４に記憶されているリード対象データを、ＣＨＡＰＫ１２１を介してＭＦホスト計算機１０２に送信する。
【００３５】
次に、図３でストレージ装置１０１の論理構成を説明する。ストレージ装置１０１は、各ＭＦホスト計算機１０２や管理端末計算機１０３から参照される記憶領域を構成するホスト用論理デバイスとして、一つまたは複数のホスト用論理デバイス（Host  logical  DEVice、以下、ＨＤＥＶ）３１１を有する。
【００３６】
ＨＤＥＶ３１１には、ストレージ装置１０１内で固有のＨＤＥＶ番号が付けられ、ＭＦホスト計算機１０２や管理端末計算機１０３は、ＨＤＥＶ番号でＨＤＥＶ３１１を識別する。例えば、各ＭＦホスト計算機１０２上のＯＳ（Operating  System）３０１は、ＨＤＥＶ３１１に対してリードアクセスまたはライトアクセスを行う。
【００３７】
ＨＤＥＶ３１１は、トラックの集合（トラック１、トラック２、トラック３・・・）で構成される。また、各トラックに付与されたシリンダ・ヘッド番号（トラック番号）は、各ＭＦホスト計算機１０２や管理端末計算機１０３が、各トラックを識別するときの参照対象とする。なお、ＨＤＥＶ３１１は、図４及び図８のＨＤＥＶ番号とボリューム属性とを管理する管理テーブル４０４により、通常ボリュームと仮想ボリュームとに分類される。
【００３８】
ＨＤＥＶ３１１が通常ボリュームの場合、一つまたは複数のディスク１３２内の記憶領域として定義される。また、ＨＤＥＶ３１１は、複数のＲＡＩＤグループで構成される記憶領域として定義されていてもよい。ＨＤＥＶ３１１が仮想ボリュームの場合、ＨＤＥＶ３１１内のトラックデータは、一つまたは複数の論理デバイス（以下、ＬＤＥＶと称することがある。）上に保存される。
【００３９】
ＬＤＥＶ３１２には、ストレージ装置１０１内で固有のＬＤＥＶ番号が付けられ、マイクロプログラム２０１は、ＬＤＥＶ番号により、ＬＤＥＶ３１２を識別する。ＬＤＥＶ３１２は、トラック番号に対応した複数のトラックから構成される。トラック内には、１または複数のレコード（図示せず）で構成され、各レコードには、ＭＦホスト計算機１０２がリードまたはライトするデータが格納される。
【００４０】
ＬＤＥＶ３１２内のトラックには、前述のＨＤＥＶ３１１内のトラック番号に対応するトラックデータが保存される。ＨＤＥＶ内のトラック番号とＬＤＥＶ内のトラック番号との対応関係は、図４及び図１５のＴＭＴ（Track  Mapping  Table）４１０により管理される。
【００４１】
この際、ストレージ装置１０１内で、全てのトラックサイズは一定の値である。各ディスク１３２にはストレージ装置１０１内で固有のディスク番号がつけられ、マイクロプログラム２０１は、このディスク番号で各ディスク１３２を識別する。
【００４２】
また、ＬＤＥＶ３１２は、シン・プロビジョニング機能で用いられる仮想ボリューム上に保存される。ＬＤＥＶ３１２のデータが保存される仮想ボリュームは、この仮想ボリュームに対して実記憶領域を提供するプール３１３と関連付けられる。プール３１３にはストレージ装置１０１内で固有のプール番号がつけられ、マイクロプログラム２０１は、このプール番号でプール３１３を識別する。
【００４３】
プール３１３は、一つまたは複数のディスク１３２から構成される。また、プール３１３は、一つまたは複数のＲＡＩＤグループから構成されていてもよい。一つまたは複数のディスク１３２は、ストレージ装置の内部にあってもよいし、外部にあってもよい。
【００４４】
図４は、ＳＭ１４３内に格納される各管理テーブルの構成を示す。各管理テーブルは、ストレージ装置１０１の起動時に作成されるか、必要に応じて動的に作成される。また管理テーブル４０１〜４１０内の各フィールドは、ストレージ装置１０１の論理構成の変更契機に更新される。
【００４５】
図５に、ＨＤＥＶのオーナ権を持つＭＰＰＫ番号と、そのＨＤＥＶ番号との対応関係を管理する管理テーブル４０１を示す。オーナ権は、ＨＤＥＶに対するホストからのリードまたはライト要求を処理するＭＰＰＫを定めたものである。
【００４６】
オーナ権を持つＭＰＰＫ１２３は、ＨＤＥＶ３１１に対するホストからのリードまたはライト要求を処理するために必要な制御情報を、他のＭＰＰＫ１２３から排他的に扱うことができる。この制御情報は、当該ＨＤＥＶ３１１に対するリードまたはライトデータがＣＭ１４４にキャッシュされているかどうかを示す情報や、図１２及び図１３に示すＨＤＥＶが仮想ボリューム属性の場合におけるＰＭＴ（Page  Mapping  Table）などである。ＭＰＰＫ番号とＨＤＥＶ番号との対応を管理するテーブル４０１は、ＳＭ１４３などに保存される。
【００４７】
図６に、ＨＤＥＶ３１１が仮想ボリュームから構成される場合のＨＤＥＶ番号とＬＤＥＶ番号との対応関係を管理するテーブル４０２の構成を示す。管理テーブル４０２は、ＨＤＥＶ番号フィールド６０１とＬＤＥＶ番号フィールド６０２から構成される。
【００４８】
ＨＤＥＶ番号は、ストレージ装置１０１内でＨＤＥＶ３１１を一意に識別するための番号であって、ＨＤＥＶ番号フィールド６０１の各エントリには、ＨＤＥＶ３１１に対応した番号が格納される。ＬＤＥＶ番号は、ストレージ装置１０１内でＬＤＥＶ３１２を一意に識別するための番号であって、ＬＤＥＶ番号フィールド６０２の各エントリには、ＬＤＥＶ３１２に対応した番号が格納される。ＨＤＥＶ番号とＬＤＥＶ番号との対応を管理するための管理テーブル４０２は、ＳＭ１４３などに保存される。
【００４９】
図７に、ＨＤＥＶ番号とボリュームサイズとの対応関係を管理するための管理テーブル４０３の構成を示す。管理テーブル４０３は、ＨＤＥＶ番号フィールド７０１とボリュームサイズフィールド７０２から構成される。ＨＤＥＶ番号は、ストレージ装置１０１内でＨＤＥＶ３１１を一意に識別するための番号であって、ＨＤＥＶ番号フィールド７０１の各エントリには、ＨＤＥＶ３１１に対応した番号が格納される。
【００５０】
ボリュームサイズフィールド７０２の各エントリには、ＨＤＥＶ３１１に対応したボリュームサイズが格納される。ボリュームサイズは、通常ボリュームまたは仮想ボリュームにデータを格納することができる最大容量であり、ボリュームサイズフィールド７０２の各エントリには、通常ボリュームまたは仮想ボリュームの容量が数値で格納される。ＨＤＥＶ番号とボリュームサイズとの対応を管理するための管理テーブル４０３は、ＳＭ１４３などに保存される。
【００５１】
図８に、ＨＤＥＶ番号とボリューム属性との対応関係を管理するための管理テーブル４０４の構成を示す。管理テーブル４０４は、ＨＤＥＶ番号フィールド８０１とボリューム属性フィールド８０２から構成される。ＨＤＥＶ番号は、ストレージ装置１０１内でＨＤＥＶ３１１を一意に識別するための番号であって、ＨＤＥＶ番号フィールド８０１の各エントリには、ＨＤＥＶ３１１に対応した番号が格納される。
【００５２】
ボリューム属性は、ＨＤＥＶ３１１のボリューム属性が通常ボリュームまたは仮想ボリュームであることを特定するものであり、ボリューム属性フィールド８０２の各エントリには、通常ボリュームまたは仮想ボリュームの名称が格納される。
【００５３】
ＨＤＥＶ３１１のボリューム属性が通常ボリュームであるとき、このＨＤＥＶ３１１は、一つまたは複数のディスク１３２内の実記憶領域で構成されたボリュームであることを示す。ＨＤＥＶ番号とボリューム属性との対応関係を管理するための管理テーブル４０４は、ＳＭ１４３などに保存される。
【００５４】
図９に、ＨＤＥＶ３１１が通常ボリューム時のＨＤＥＶ番号とディスク番号との対応関係を管理するための管理テーブル４０５の構成を示す。管理テーブル４０５は、ＨＤＥＶ番号フィールド９０１とディスク番号フィールド９０２から構成される。ＨＤＥＶ番号は、ストレージ装置１０１内でＨＤＥＶ３１１を一意に識別するための番号であって、ＨＤＥＶ番号フィールド９０１の各エントリには、ＨＤＥＶ３１１に対応した番号が格納される。
【００５５】
ディスク番号は、ストレージ装置１０１内でディスク１３２を一意に識別するための番号であって、ディスク番号フィールド９０２の各エントリには、ＨＤＥＶ３１１を構成するディスク１３２の番号が格納される。ＨＤＥＶ番号とディスク番号との対応を管理するための管理テーブル４０５は、ＳＭ１４３などに保存する。
【００５６】
図１０に、ＬＤＥＶ番号とプール番号とＳＭ１４３内のＰＭＴ（Page  Mapping  Table）アドレスとの対応関係を管理する管理テーブル４０６の構成を示す。管理テーブル４０６はＬＤＥＶ３１２のボリューム属性が仮想ボリュームであるときの管理テーブルである。この管理テーブル４０６は、ＬＤＥＶ番号フィールド１００１とプール番号フィールド１００２とＳＭ１４３内のＰＭＴアドレスフィールド１００３で構成する。
【００５７】
ＬＤＥＶ番号は、ストレージ装置１０１内でＬＤＥＶ３１２を一意に識別するための番号で、ＬＤＥＶ番号フィールド１００１の各エントリには、ＬＤＥＶ３１２に対応した番号が格納される。プール番号は、ストレージ装置１０１内でプール３１３を一意に識別するための番号であって、プール番号フィールド１００２の各エントリには、ＬＤＥＶ３１２に対応したプール３１３の番号が格納される。ＳＭ内のＰＭＴアドレスフィールド１００３の各エントリには、ＬＤＥＶ３１２に対応した（後述する）ＳＭ１４３内のＰＭＴアドレスが格納される。ＬＤＥＶ番号とプール番号との対応関係を管理するための管理テーブル４０６は、ＳＭ１４３などに保存される。
【００５８】
図１１に、プール番号とディスク番号との対応を管理するための管理テーブル４０７の構成を示す。管理テーブル４０７は、ＨＤＥＶ３１１のボリューム属性が仮想ボリュームであるときの管理テーブルであって、プール番号フィールド１１０１とディスク番号フィールド１１０２から構成される。
【００５９】
プール番号は、ストレージ装置１０１内でプール３１３を一意に識別するための番号であって、プール番号フィールド１１０１の各エントリには、プール３１３に対応した番号が格納される。ディスク番号は、ストレージ装置１０１内でディスク１３２を一意に識別するための番号であって、ディスク番号フィールド１１０２の各エントリには、プール３１３に実記憶領域が割り当てられるディスク１３２の番号が格納される。プール番号とディスク番号との対応を管理するための管理テーブル４０７は、ＳＭ１４３などに保存される。
【００６０】
本実施例は、ＨＤＥＶ３１１を、仮想記憶領域を有する仮想ボリュームとして管理し、仮想ボリュームへのアクセス時に、前記仮想ボリュームへプールから第一の実記憶領域（以下、ページ）を割り当て、さらに第一の実記憶領域（ページ）から第二の実記憶領域（トラック）を割り当てるものである。
【００６１】
仮想ボリュームへの実記憶領域割り当て処理は、ページ割り当て処理と、ページからのトラック割り当て処理とがある。ページ割り当て処理では、ＰＭＴ（Page  Mapping  Table）４０８とＰＭＴ管理ディレクトリ４０９とで、ＬＤＥＶに対するページ割り当て要求によりＬＤＥＶへの実記憶領域の割り当てをページ単位で行う。このＬＤＥＶへのページ割り当て機能をシン・プロビジョニング機能と呼ぶ。
【００６２】
図１２に、ＬＤＥＶへのページ割り当て処理で用いるＰＭＴ（Page  Mapping  Table）４０８の構成を示す。ＰＭＴ４０８は、ページ番号フィールド１２０１、ページ種別フィールド１２０２、ＬＤＥＶ内のページ先頭アドレスフィールド１２０３、ディスク番号フィールド１２０４、ディスク内のページ先頭アドレスフィールド１２０５、ページ割り当て済み判定情報フィールド１２０６により構成する。このＰＭＴ４０８は、ＬＤＥＶ３１２毎に設け、ＬＭ１４２などに格納される。または、ＳＭ１４３に格納しその情報をＬＭ１４２にキャッシュすることも可能である。
【００６３】
ＰＭＴ４０８のＬＤＥＶ内のページ番号１２０１、ＬＤＥＶ内のページ番号１２０１に対応するページ種別１２０２、ＬＤＥＶ内のページ先頭アドレス１２０３、ディスク番号１２０４、ディスク内のページ先頭アドレス１２０５、ページ割り当て済み判定情報１２０６との組み合わせを、ページマッピングエントリと呼ぶ。
【００６４】
ページ番号フィールド１２０１の各エントリには、ＬＤＥＶ３１２内に割り当てられるページのページ番号が格納される。ページ種別フィールド１２０２は、ＬＤＥＶ３１２内に割り当てられるページに保存される情報の種別を表す。ページ種別は、ＭＦホスト１０２からリードまたはライトされるトラックデータが保存されるユーザデータページや、ＴＭＴ（Track  Mapping  Table）４１０が保存される制御情報ページである。
【００６５】
ＬＤＥＶ内のページ先頭アドレスフィールド１２０３の各エントリには、ＬＤＥＶ３１２内に割り当てられるページの先頭アドレスが格納される。ディスク番号フィールド１２０４の各エントリには、ＬＤＥＶ３１２を構成するディスク１３２の番号が格納される。
【００６６】
ディスク内のページ先頭アドレス１２０５はディスク内の実記憶領域の先頭アドレスで、ディスク内のページ先頭アドレスフィールド１２０５の各エントリにはＬＤＥＶ３１２を構成するディスク１３２の先頭アドレスが格納される。ページ割り当て済み判定情報フィールド１２０６の各エントリには、ＬＤＥＶ３１２にページ割り当て時は「割り当て済み」情報、未割り当て時は「未割り当て」情報が格納される。即ち、このページ割り当て済み判定情報により、ページ単位でＬＤＥＶへの実記憶領域の割り当て状態を管理することを可能としている。
【００６７】
ページは、プール３１３に格納される一定のサイズの記憶領域であり、ＬＤＥＶ３１２の記憶領域を分割管理するための単位で、一つまたは複数のトラックで構成する。トラックはストレージ装置１０１で管理する一定サイズで、例えば、５９，３９２バイトで構成する。
【００６８】
図１３に、ＬＤＥＶ３１２とＰＭＴ４０８との対応関係を管理するＰＭＴ（Page  Mapping  Table）管理ディレクトリ４０９の構成を示す。ＰＭＴ管理ディレクトリ４０９は、ＬＤＥＶ番号フィールド１３０１と、ＰＭＴのアドレスフィールド１３０２から構成され、ＳＭ１４３などに保存される。ＬＤＥＶ番号フィールド１３０１の各エントリには、ＬＤＥＶ３１２の番号が格納される。ＰＭＴのアドレスフィールド１３０２の各エントリには、ＬＤＥＶ３１２のページを管理するためのＰＭＴ４０８のアドレスが格納される。
【００６９】
図１４に、ＬＤＥＶ３１２からＨＤＥＶ３１１への割り当て情報を管理するＴＭＴ（Track  Mapping  Table）管理ディレクトリ４１０の構成を示す。ＴＭＴ管理ディレクトリ４１０は、ＬＤＥＶ番号フィールド１４０１と、ＬＤＥＶ内の初期データトラック番号フィールド１４０２、ＬＤＥＶ内次割り当てトラック番号フィールド１４０３から構成され、ＳＭ１４３などに保存される。
【００７０】
ＬＤＥＶ番号フィールド１４０１の各エントリには、ＬＤＥＶ３１２の番号が格納される。初期データトラック番号フィールド１４０２の各エントリには、ＬＤＥＶ３１２上の初期データトラックのトラック番号が格納される。次割り当てトラック番号フィールド１４０３の各エントリには、ＬＤＥＶ３１２上の、次回新規割り当ての候補となるトラック番号が格納される。
【００７１】
図１５に、ＬＤＥＶ３１２に割り当てられたページから、ＨＤＥＶ３１１にトラック割り当てを行う処理を実行するときに用いるＴＭＴ（Track  Mapping  Table）１５１１の構成を示す。このＴＭＴ１５１１は、ＨＤＥＶ内のトラック番号フィールド１５０１と、ＬＤＥＶ内のトラック番号フィールド１５０２と、トラック割り当て済み判定情報フィールド１５０３で構成する。なお、ＴＭＴ１５１１はＨＤＥＶ３１１毎に設定し、ＬＤＥＶ３１２内の一または複数のページ上に格納する。
【００７２】
ＴＭＴ１５１１でのＨＤＥＶ内のトラック番号１５０１と、ＨＤＥＶ内のトラック番号１５０１に対応するＬＤＥＶ内のトラック番号１５０２と、トラック割り当て済み判定情報１５０３との組み合わせを、トラックマッピングエントリと呼ぶ。ＨＤＥＶ内のトラック番号フィールド１５０１の各エントリには、ＬＤＥＶ３１２に割り当てられたページから、ＨＤＥＶ３１１に割り当てられたトラックのトラック番号が格納される。ＬＤＥＶ内のトラック番号フィールド１５０２の各エントリには、ＨＤＥＶ３１１に割り当てられたＬＤＥＶ３１２内のトラック番号が格納される。
【００７３】
トラック割り当て済み判定情報フィールド１５０３の各エントリには、ＨＤＥＶ３１１にトラック割り当て済の場合は「割り当て済み」情報、未割り当ての場合は「未割り当て」情報を格納する。即ち、この割り当て済み判定情報により、トラック単位で仮想記憶領域へのＬＤＥＶからの実記憶領域の割り当て状態を管理できる。
【００７４】
次に図１６と図１７を用い、本実施例の動作について説明する。まず、管理端末計算機１０３からの仮想ボリューム作成コマンドの受信により、コマンド制御部２１１が仮想ボリューム属性のＨＤＥＶを作成する処理を説明する。仮想ボリューム作成コマンドのパラメータは、例えば、ＨＤＥＶ番号（１６−ａ）と仮想ボリュームサイズ（１６−ｂ）である。ページサイズは、例えば、５９，３９２×６７２バイトである。
【００７５】
コマンド制御部２１１は、管理端末計算機１０３から仮想ボリューム作成コマンドのパラメータを受信した場合（Ｓ１６０１）、仮想ボリュームサイズ（１６−ｂ）とページサイズ（５９，３９２×６７２バイト）で、ＰＭＴ（Page  Mapping  Table）作成に必要なＳＭサイズ（１６−ｃ）を計算する。
【００７６】
ＣＭＰＫ１２４内のＳＭ１４３上の未使用領域のサイズが、ＳＭサイズ（１６−ｃ）に満たない（Ｓ１６０８：「Ｙｅｓ」）ならば、コマンド制御部２１１は、管理端末計算機１０３に対してボリューム作成不可を応答する（Ｓ１６０２）。未使用領域のサイズがＳＭサイズ（１６−ｃ）以上（Ｓ１６０８：「Ｎｏ」）ならば、コマンド制御部２１１は、ＳＭ１４３上の未使用領域にＰＭＴ４０８を確保し、このＰＭＴアドレス（１６−ｄ）を取得する。
【００７７】
コマンド制御部２１１は、仮想ボリュームサイズ（１６−ｂ）と、トラックサイズと、を基に、仮想ボリュームに必要なＴＭＴ（Track  Mapping  Table）のサイズ（１６−ｅ）を計算する。コマンド制御部２１１は、ＴＭＴのサイズ（１６−ｅ）と、ページサイズと、を基に、ＴＭＴを格納する一つまたは複数ページ（制御情報ページ）数（１６−ｆ）を計算する（Ｓ１６０３）。
【００７８】
仮想ボリュームに必要な制御情報ページ数に対して、プール容量が足りない（Ｓ１６０９：「Ｙｅｓ」）ならば、コマンド制御部２１１は、管理端末計算機１０３に対してボリューム作成不可を応答する（Ｓ１６０４）。仮想ボリュームに必要な制御情報ページがプールに確保できる（Ｓ１６０９：「Ｎｏ」）ならば、コマンド制御部２１１は、制御情報ページ数（１６−ｆ）を基に、プールから仮想ボリュームへ一つまたは複数の制御情報ページを割り当てる。コマンド制御部２１１は、割り当て済みの一つまたは複数の制御情報ページの初期化を行う。その初期値は、例えば、“０”である（Ｓ１６０５）。
【００７９】
コマンド制御部２１１は、ＭＰＰＫ番号とＨＤＥＶ番号との対応を管理する管理テーブル４０１（図５）の未使用エントリに、このボリュームのオーナ権を持つＭＰＰＫ番号とＨＤＥＶ番号（１６−ａ）とを設定する。当該ボリュームに対するオーナ権を持つＭＰＰＫ番号（１６−ａ）は、仮想ボリューム作成コマンドのパラメータで指定されていてもよい。また、コマンド制御部２１１が、ストレージ装置内で最も負荷の小さいＭＰＰＫ番号を、当該ボリュームに対するオーナ権を持つＭＰＰＫ番号（１６−ａ）として設定してもよい。
【００８０】
コマンド制御部２１１は、ＨＤＥＶ番号とＬＤＥＶ番号との対応を管理する管理テーブル４０２（図６）の未使用エントリに、ＨＤＥＶ番号（１６−ａ）と未使用のＬＤＥＶ番号（１６−ｇ）とを設定する。
【００８１】
コマンド制御部２１１は、ＨＤＥＶ番号とボリュームサイズとの対応を管理する管理テーブル４０３（図７）の未使用エントリに、ＨＤＥＶ番号（１６−ａ）とボリュームサイズ（１６−ｂ）とを設定する。
【００８２】
コマンド制御部２１１は、ＨＤＥＶ番号とＨＤＥＶの属性との対応を管理する管理テーブル４０４（図８）の未使用エントリに、ＨＤＥＶ番号（１６−ａ）と、「仮想ボリューム」属性を設定する。
【００８３】
コマンド制御部２１１は、ＬＤＥＶ番号（１６−ｇ）とプール番号とＰＭＴアドレスとの対応とを管理する管理テーブル４０６（図１０）の未使用エントリに、ＬＤＥＶ番号（１６−ｇ）とＬＤＥＶ番号（１６−ｇ）のＬＤＥＶにページ割り当てを行うプール番号とＰＭＴアドレス（１６−ｄ）とを設定する。
【００８４】
また、コマンド制御部２１１は、ＬＤＥＶ番号（１６−ｇ）のＬＤＥＶから新規トラック割り当て処理を行い、割り当てたトラックのトラック番号（１６−ｈ）とＬＤＥＶ内次割り当てトラック番号（１６−ｉ）とを取得する。その後、ＴＭＴ（Track  Mapping  Table）４１０（図１４）の未使用エントリに、ＬＤＥＶ番号（１６−ｇ）とＬＤＥＶ内初期データトラック番号（１６−ｈ）とＬＤＥＶ内次割り当てトラック番号（１６−ｉ）とを設定する（Ｓ１６０６）。最後に、コマンド制御部２１１は、管理端末計算機１０３に、ボリューム作成完了を応答する（Ｓ１６０７）。
【００８５】
次に、コマンド制御部２１１が、ＭＦホスト計算機１０２からのライトアクセスを受領した際の処理を図１７で説明する。ライトアクセス時のパラメータは、例えば、ＨＤＥＶ番号（１７−ａ）とＨＤＥＶ内のトラック番号（１７−ｂ）である。ページサイズは、例えば、５９，３９２×６７２バイトである（Ｓ１７０１）。
【００８６】
コマンド制御部２１１は、ＭＦホスト計算機１０２からライトアクセスのパラメータを受信した場合、ＨＤＥＶ３１１のトラック番号（１７−ｂ）とトラックサイズを基に、ＨＤＥＶ３１１内のアドレス（１７−ｃ）を計算する。
【００８７】
コマンド制御部２１１は、ＨＤＥＶ番号（１７−ａ）と、ＨＤＥＶ番号とＬＤＥＶ番号との対応関係を管理する管理テーブル４０２（図６）から、ＨＤＥＶ３１１に対応するＬＤＥＶ番号（１７−ｄ）を取得する。コマンド制御部２１１は、ＬＤＥＶ番号（１７−ｄ）と、ＰＭＴ管理ディレクトリ４０９と、を元に、ＬＤＥＶ番号（１７−ｄ）に対応するＰＭＴ４０８（図１３）を取得する。コマンド制御部２１１は、ＰＭＴ４０８内において、ページ種別１２０２が制御情報ページである一つまたは複数のページマッピングエントリを調べ、ＬＤＥＶ内のページ先頭アドレス１２０３からＴＭＴ１５１１の位置を取得する（Ｓ１７０２）。
【００８８】
コマンド制御部２１１は、ＴＭＴ１５１１の位置とトラック番号（１７−ａ）とを基に、トラック番号（１７−ａ）に対応するトラックマッピングエントリ（１７−ｅ）を取得する。
【００８９】
コマンド制御部２１１は、トラックマッピングエントリ（１７−ｅ）内のトラック割り当て済み判定情報１５０３を参照し、トラック割り当て済み判定情報１５０３が「割り当て済み」（Ｓ１７０５：「Ｎｏ」）のときは、次の（Ｗ１）〜（Ｗ６）の動作を行う。
（Ｗ１）コマンド制御部２１１は、トラックマッピングエントリ（１７−ｅ）内のＬＤＥＶ内のトラック番号（１７−ｆ）を取得する。
（Ｗ２）コマンド制御部２１１は、トラック番号（１７−ｆ）とページサイズから、トラック番号（１７−ｆ）を含むＬＤＥＶ内のページ番号（１７−ｇ）と、当該ページ内の先頭アドレスからのオフセット（１７−ｈ）を計算する。
（Ｗ３）コマンド制御部２１１は、ＰＭＴ４０８と、ＬＤＥＶ内のページ番号（１７−ｇ）と、を基に、ＬＤＥＶ内のページ番号（１７−ｇ）に対応するページマッピングエントリ（１７−ｉ）を取得する。
（Ｗ４）コマンド制御部２１１は、ページマッピングエントリ（１７−ｉ）からディスク上のページ先頭アドレス（１７−ｊ）を取得し、オフセット（１７−ｈ）を加算して、ライト対象トラックのディスク上のアドレス（１７−ｋ）を計算する。
（Ｗ５）コマンド制御部２１１は、アドレス（１７−ｋ）に対して、ＭＦホスト計算機１０２から送られたデータをライトする（Ｓ１７０３）。
（Ｗ６）ＭＦホスト計算機に対してライトコマンド完了を応答する（Ｓ１７０４）。
【００９０】
コマンド制御部２１１は、トラックマッピングエントリ（１７−ｅ）内のトラック割り当て済み判定情報を参照し、トラック割り当て済み判定情報が「未割り当て」（Ｓ１７０５：「Ｙｅｓ」）のときは、次の動作を行う。
【００９１】
まず、コマンド制御部２１１は、ＴＭＴ管理ディレクトリ４１０（図１４）の次割り当てトラックアドレス１４０３が指すＬＤＥＶ内のトラック番号（１７−ｌ）をＴＭＴ内のトラックエントリ（１７−ｅ）内のトラック番号に設定する。
【００９２】
コマンド制御部２１１は、さらに、トラック割り当て済み判定情報を「割り当て済み」に設定する。そして、ＴＭＴ管理ディレクトリ４１０の次割り当てトラックアドレス１４０３の値をインクリメントし、次のトラック割り当て候補先とする（Ｓ１７０６からＳ１７０９）。その後、コマンド制御部２１１は、前記（Ｗ１）〜（Ｗ６）の処理を行う。この（Ｗ１）〜（Ｗ６）の処理を“Ｓ１７１１“と称し、以下の説明で使用する。
【００９３】
コマンド制御部２１１は、（Ｗ３）で取得したページマッピングエントリ（１７−ｉ）のページ割り当て済み判定情報が「未割り当て」（Ｓ１７０６：「Ｙｅｓ」）の場合は、ＬＤＥＶ番号とプール番号とＰＭＴアドレスとの対応を管理する管理テーブル４０６（図１０）を参照して、ＬＤＥＶ番号（１７−ｄ）に対応したプール番号（１７−ｍ）を取得する。
【００９４】
コマンド制御部２１１は、取得したプール番号（１７−ｍ）を基に、プール番号とディスク番号の対応を管理する管理テーブル４０７（図１１）を参照して、プール番号（１７−ｍ）に対応したディスク番号（１７−ｎ）を取得する。
【００９５】
コマンド制御部２１１は、取得したディスク番号（１７−ｎ）を基に、ＬＤＥＶ番号（１７−ｄ）に対応するプール３１３に属する一つまたは複数のディスク１３２から、ページ単位で実記憶領域の割り当てを行う（Ｓ１７０７）。
【００９６】
この際、コマンド制御部２１１は、ＰＭＴ４０８（図１２）を参照して、ライトアクセス先のアドレスが示すトラックを含むページエントリを探し、新たに割り当てたページの先頭アドレスをＰＭＴ４０８に登録し、割り当て済み判定情報フィールド１２０６の「未割り当て」を「割り当て済み」に設定して、ＰＭＴ４０８を更新する。以上が、コマンド制御部２１１が、ＭＦホスト計算機１０２からのライトアクセスを受領した際の処理である。
【００９７】
ＭＦホスト計算機１０２からのリードアクセス時は、前記（Ｗ１）〜（Ｗ４）からリード対象トラックのアドレス（１７−ｋ）を計算し、そのアドレス（１７−ｋ）のデータをＭＦホスト計算機１０２へ送信する。
【００９８】
コマンド制御部２１１は、トラックマッピングエントリ（１７−ｅ）内のトラック割り当て済み判定情報を参照し、トラック割り当て済み判定情報が「未割り当て」のときはＴＭＴ管理ディレクトリ４１０（図４）上の初期データトラック番号１４０２（図１４）のトラックを、ＭＦホスト計算機１０２からリード可能とすることができる。
【００９９】
以上が、仮想ボリュームに対してプールからＬＤＥＶへのページ割り当てを行い、ＬＤＥＶからＨＤＥＶへのトラック割り当てを行う処理である。これにより、分散メモリ型システム（図１）の階層メモリ化（図３）したトラックマッピング情報に対して、オーナ権が跨らないようにアクセスできる。このため、高速なトラックマッピング情報へのアクセス、すなわち高速なボリュームへのアクセスを実現できる。
【実施例２】
【０１００】
本発明の第二の実施例である通常ボリュームから仮想ボリュームへのデータコピー処理について図１８から図２４で説明する。具体的には、コピー元ＨＤＥＶ３１１（正ボリューム）を実記憶領域から構成される通常ボリュームとして管理し、コピー先ＨＤＥＶ３１１（副ボリューム）を仮想記憶領域から構成される仮想ボリュームとして管理し、正ボリューム（１８−ａ）と副ボリューム（１８−ｂ）との間でデータコピーを行うものである。
【０１０１】
図１８に、トラック番号とそのコピー状態を管理する管理テーブル（コピーＢＭテーブル）１８１１の構成を示す。コピーＢＭテーブル１８１１は、トラック番号フィールド１８０１とコピー状態フィールド１８０２から構成される。トラック番号はＨＤＥＶ３１１内でトラックを一意に識別するための番号であって、トラック番号フィールド１８０１の各エントリには、ＨＤＥＶ３１１内の各トラックに対応した番号が格納される。
【０１０２】
コピー状態は、トラックが、「コピー済み」または「未コピー」であることを特定するものであり、コピー状態フィールド１８０２の各エントリには、「コピー済み」（例えば、ビットがオン“ｂ’１”）または「未コピー」（例えば、ビットがオフ“ｂ’０”）に対応した情報が格納される。
【０１０３】
図１９に、トラック番号とその更新状態を管理するテーブル（差分ＢＭテーブル）１９１１の構成を示す。差分ＢＭテーブル１９１１は、トラック番号フィールド１９０１と更新状態フィールド１９０２から構成される。
【０１０４】
トラック番号は、ＨＤＥＶ３１１内でトラックを一意に識別するための番号であって、トラック番号フィールド１９０１の各エントリには、ＨＤＥＶ３１１内の各トラックに対応した番号が格納される。
【０１０５】
更新状態は、トラックが、「更新済み」または「未更新」であることを特定するものであり、更新状態フィールド１９０２の各エントリには、「更新済み」（例えば、ビットがオン“ｂ’１”）または「未更新」（例えば、ビットがオン“ｂ’０”）に対応した情報が格納される。
【０１０６】
図２０に、ＨＤＥＶ間のコピー処理を実行するときに用いるペア管理テーブル２０１１の構成を示す。ペア管理テーブル２０１１は、ペア番号フィールド２００１、コピー元ＨＤＥＶ番号フィールド２００２、コピー元トラック範囲フィールド２００３、コピー先ＨＤＥＶ番号フィールド２００４、コピー先トラック範囲フィールド２００５、コピーＢＭテーブルアドレスフィールド２００６、差分ＢＭテーブルアドレスフィールド２００７、で構成し、コピーペア毎に設定し、ＳＭ１４３などに格納される。
【０１０７】
ペア管理テーブル２０１１のペア番号フィールド２００１の各エントリには、ペア毎に割り振られるペア番号が格納される。コピー元ＨＤＥＶ番号フィールド２００２の各エントリには、コピー元のＨＤＥＶのＨＤＥＶ番号が格納される。コピー元トラック範囲フィールド２００３の各エントリには、コピー元ＨＤＥＶのコピー開始トラック番号とコピー終了トラック番号が格納される。
【０１０８】
コピー先ＨＤＥＶ番号フィールド２００４の各エントリには、コピー先のＨＤＥＶのＨＤＥＶ番号が格納される。コピー先トラック範囲フィールド２００５の各エントリには、コピー先ＨＤＥＶのコピー開始トラック番号とコピー終了トラック番号が格納される。コピーＢＭテーブルアドレスフィールド２００６の各エントリには、コピーＢＭテーブルのアドレスが格納される。差分ＢＭテーブルアドレスフィールド２００７の各エントリには、差分ＢＭテーブルのアドレスが格納される。
【０１０９】
次に、通常ボリューム属性のＨＤＥＶ３１１（正ボリューム）から仮想ボリューム属性のＨＤＥＶ３１１（副ボリューム）へのデータコピーにおけるペア作成処理について図２１で説明する。管理端末計算機１０３から正ボリューム（２１−ａ）と副ボリューム（２１−ｂ）との間でコピーペア作成コマンドを受けると、コマンド制御部２１１は、以下の動作を行う。
【０１１０】
コマンドパラメータは、例えば、正ボリューム（２１−ａ）のＨＤＥＶ番号（２１−ｃ）と副ボリューム（２１−ｂ）のＨＤＥＶ番号（２１−ｄ）と、正ボリューム（２１−ａ）のコピー元トラック範囲（２１−ｅ）と、副ボリューム（２１−ｂ）のコピー先トラック範囲（２１−ｆ）と、である。コピー元トラック範囲（２１−ｅ）のトラック数と、コピー先トラック範囲（２１−ｆ）のトラック数は等しい（Ｓ２１０１）。
【０１１１】
コマンド制御部２１１は、コピー元トラック範囲（２１−ｅ）またはコピー先トラック範囲（２１−ｆ）から、コピーＢＭテーブル１８１１と、差分ＢＭテーブル１９１１に必要なＳＭ１４３容量を計算する（Ｓ２１０２）。コピーＢＭテーブル１８１１と差分ＢＭテーブル１９１１に必要なＳＭ１４３容量が確保できない（Ｓ２１０７：「Ｙｅｓ」）ならば、コマンド制御部２１１は、管理端末計算機１０３に対して、ペア作成失敗を応答する（Ｓ２１０３）。
【０１１２】
コピーＢＭテーブル１８１１と差分ＢＭテーブル１９１１に必要なＳＭ１４３容量が確保できる（Ｓ２１０７：「Ｎｏ」）ならば、コマンド制御部２１１は、コピーＢＭテーブル１８１１と差分ＢＭテーブル１９１１をＳＭ１４３上に確保する。コマンド制御部２１１は、確保したコピーＢＭテーブル１８１１と差分ＢＭテーブル１９１１を初期化する。代表的な初期値は“０”であるが、これに限定はされない（Ｓ２１０４）。
【０１１３】
コマンド制御部２１１は、ペア管理テーブル２０１１内の未使用のペア番号を新しく割り当てる。そして、コマンド制御部２１１は、正ボリューム（２１−ａ）のＨＤＥＶ番号（２１−ｃ）と副ボリューム（２１−ｂ）のＨＤＥＶ番号（２１−ｄ）と、正ボリューム（２１−ａ）のコピー元トラック範囲（２１−ｅ）と、副ボリューム（２１−ｂ）のコピー先トラック範囲（２１−ｆ）と、コピーＢＭテーブル１８１１のアドレスと、差分ＢＭテーブル１９１１のアドレスとを、ペアエントリ（２１−ｇ）として設定する（Ｓ２１０５）。
【０１１４】
コマンド制御部２１１は、管理端末計算機１０３に、ペア作成コマンド完了を応答する（Ｓ２１０６）。以上が、通常ボリューム属性のＨＤＥＶ３１１から仮想ボリューム属性のＨＤＥＶ３１１へのデータコピーにおける、ペア作成処理の動作である。
【０１１５】
続いて、通常ボリューム属性のＨＤＥＶ３１１（正ボリューム）から仮想ボリューム属性のＨＤＥＶ３１１（副ボリューム）へのデータコピーにおけるコピージョブの動作について図２２で説明する。
【０１１６】
コマンド制御部２１１は、前述したペア作成処理を行った後、コピージョブ（図示しない）を起動する。コピージョブは、前述したペア作成処理で設定したペアエントリ（２１−ｇ）を基に、データコピー処理を次の通り行う（Ｓ２２０１）。
【０１１７】
コピージョブはペアエントリ（２１−ｇ）を参照して、コピー対象トラック番号（２１−ｈ）を、正ボリューム（２１−ａ）のコピー元トラック範囲の先頭トラック番号に設定する（Ｓ２２０２）。コピージョブは、コピー対象トラック番号（２１−ｈ）がコピー元トラック範囲の終端トラック番号に至る（Ｓ２２０３：「Ｙｅｓ」）まで、次の（Ｃ１）〜（Ｃ７）の順番で処理を行う。
（Ｃ１）コピージョブは、ペアエントリ（２１−ｇ）内のコピーＢＭテーブルアドレスからコピーＢＭテーブル１８１１を取得する。
（Ｃ２）コピージョブは、コピー対象トラック番号（２１−ｈ）と、正ボリューム（２１−ａ）のコピー開始トラック番号（２１−ｉ）から、コピー開始トラック番号（２１−ｉ）からのオフセット（２１−ｊ）を計算する。
このとき、トラック番号（２１−ｈ）と（２１−ｉ）との差と、オフセット（２１−ｊ）との値は等しい。
（Ｃ３）コピージョブは、コピー開始トラック番号（２１−ｉ）からのオフセット（２１−ｊ）と、コピーＢＭテーブル１８１１から、トラック番号（２１−ｈ）のコピー状態を取得する。
（Ｃ４）コピージョブは、トラック番号（２１−ｈ）のコピー状態が「コピー済み」（Ｓ２２０４の「Ｎｏ」）であったならば、次の（Ｃ５）から（Ｃ７）の処理を行わず、コピー対象トラック番号（２１−ｈ）をインクリメント（Ｓ２２０８）して（Ｃ１）に戻る。
（Ｃ５）コピージョブは、トラック番号（２１−ｈ）のコピー状態が「未コピー」（Ｓ２２０４の「Ｙｅｓ」）であったならば、ペアエントリ（２１−ｇ）の副ボリューム（２１−ｂ）におけるコピー開始トラック番号（２１−ｋ）とオフセット（２１−ｊ）から副ボリューム（２１−ｂ）におけるコピー先トラック番号（２１−ｌ）を計算する（Ｓ２２０５）。
（Ｃ６）コピージョブは、正ボリューム（２１−ａ）のトラック番号（２１−ｈ）のトラックデータを、副ボリューム（２１−ｂ）のコピー先トラック番号（２１−ｌ）にコピーする（Ｓ２２０６）。コマンド制御部２１１は、ＴＭＴ１５１１を参照し、コピー先トラック番号（２１−ｌ）の割り当て判定情報が「未割り当て」であるならば、副ボリューム（２１−ｂ）のコピー先トラック番号（２１−ｌ）への前述した新規トラック割り当て（Ｓ１７１１：（Ｗ１）から（Ｗ６））を行う。
（Ｃ７）コピージョブは、正ボリューム（２１−ａ）のトラック番号（２１−ｈ）に対応するコピーＢＭテーブルのコピー状態を「コピー済み」に設定する（Ｓ２２０７）。
以上が、通常ボリューム属性のＨＤＥＶ３１１から仮想ボリューム属性のＨＤＥＶ３１１へのデータコピーにおける、コピージョブの動作である。
【０１１８】
次に、通常ボリューム属性のＨＤＥＶ３１１（正ボリューム）から仮想ボリューム属性のＨＤＥＶ３１１（副ボリューム）へのデータコピーにおける、ＭＦホスト計算機１０２からのライトによる先行コピー動作について図２３で説明する。
【０１１９】
ＭＦホスト計算機１０２から正ボリューム（２３−ａ）に対するライトコマンドをコマンド制御部２１１が受け取る（Ｓ２３０１）と、下記（ＣＷ１）から（ＣＷ８）の動作を行う。このとき、コマンドパラメータは、例えば、正ボリューム（２３−ａ）のＨＤＥＶ番号（２３−ｂ）と、ライト対象トラックのトラック番号（２３−ｃ）である。
【０１２０】
コマンド制御部２１１は、ペア管理テーブル２０１１から、コピー元ＨＤＥＶ番号が（２３−ｂ）である一つまたは複数のペアエントリを取得する。コマンド制御部２１１は、各ペアエントリに対して、次の動作を行う。
（ＣＷ１）コマンド制御部２１１は、ライト対象トラックのトラック番号（２３−ｃ）は、ペアエントリ内のコピー元トラック範囲に含まれるかどうかを調べる。含まれないならば（ＣＷ２）〜（ＣＷ８）の処理はスキップし、何もしない。
（ＣＷ２）コマンド制御部２１１は、ペアエントリ内のコピーＢＭテーブルポインタからコピーＢＭテーブル１８１１を取得する。
（ＣＷ３）コマンド制御部２１１は、正ボリューム（２３−ａ）のトラック番号（２３−ｃ）と、ペアエントリのコピー元ＨＤＥＶにおけるコピー開始トラック番号（２３−ｄ）から、コピー開始トラック番号からのオフセット（２３−ｅ）を計算する。このとき、トラック番号（２３−ｃ）と（２３−ｄ）の差と、（２３−ｅ）との値は等しい。
（ＣＷ４）コマンド制御部２１１は、コピー開始トラック番号からのオフセット（２３−ｅ）と、コピーＢＭテーブル１８１１から、トラック番号（２３−ｃ）のコピー状態を取得する。
（ＣＷ５）コマンド制御部２１１は、トラック番号（２３−ｃ）のコピー状態が「コピー済み」（Ｓ２３０２：「Ｎｏ」）であったならば、（ＣＷ６）と（ＣＷ７）の処理を行わず、（ＣＷ８）の処理を行う。
（ＣＷ６）コマンド制御部２１１は、トラック番号（２１−ｃ）のコピー状態が「未コピー」（Ｓ２３０２：「Ｙｅｓ」）であったならば、ペアエントリのコピー先ＨＤＥＶにおけるコピー開始トラック番号（２３−ｆ）とオフセット（２３−ｅ）からコピー先ＨＤＥＶにおけるコピー先トラック番号（２３−ｇ）を計算する（Ｓ２３０３）。
（ＣＷ７）コマンド制御部２１１は、正ボリューム（２３−ａ）のトラック番号（２３−ｃ）の更新前トラックデータを副ボリュームのコピー先トラック番号（２３−ｇ）にデータコピーする（Ｓ２３０４）。コマンド制御部２１１は、正ボリューム（２３−ａ）のトラック番号（２３−ｃ）に対応するコピーＢＭテーブル１８１１のコピー状態を「コピー済み」に設定する（Ｓ２３０５）。また、コマンド制御部２１１は、正ボリューム（２３−ａ）のトラック番号（２３−ｃ）に対応する差分ＢＭテーブル１９１１のコピー状態を「更新済み」に設定する（Ｓ２３０６）。コマンド制御部２１１は、ＴＭＴ１５１１を参照し、コピー先トラック番号（２３−ｇ）の割り当て判定情報が「未割り当て」であるならば、副ボリュームのコピー先トラック番号（２３−ｇ）への前述した新規トラック割り当て（Ｓ１７１１：（Ｗ１）から（Ｗ６））を行う。
（ＣＷ８）コマンド制御部２１１は、正ボリュームのトラック番号（２３−ｃ）にＭＦホスト計算機１０２から受け取ったデータをライトする（Ｓ２３０７）。
最後に、ＭＦホスト計算機１０２にライトコマンド完了を通知する。以上が、通常ボリューム属性のＨＤＥＶ３１１（正ボリューム）と仮想ボリューム属性のＨＤＥＶ３１１（副ボリューム）との間のデータコピーにおける、正ボリューム（２３−ａ）に対するＭＦホスト計算機１０２からのライトアクセスが行われた際の動作である。
【０１２１】
通常ボリューム属性のＨＤＥＶ３１１（正ボリューム）と仮想ボリューム属性のＨＤＥＶ３１１（副ボリューム）間のデータコピー中に、副ボリュームへＭＦホスト計算機１０２からのライト要求が発生した場合でも、前記の（ＣＷ１）から（ＣＷ８）の処理を実行することで容易にライト動作を実現できる。
【０１２２】
次に、通常ボリューム属性のＨＤＥＶ３１１（正ボリューム）（２４−ａ）と仮想ボリューム属性のＨＤＥＶ３１１（副ボリューム）（２４−ｂ）との間のデータコピーにおいて、副ボリューム（２４−ｂ）から正ボリューム（２４−ａ）への差分リストア動作について図２４で説明する。
【０１２３】
ＭＦホスト計算機１０２から、ペア番号（２４−ｃ）のペアエントリに対する差分リストアコマンドを、コマンド制御部２１１が受け取る（Ｓ２４０１）と、次の動作を行う。このとき、コマンドパラメータは、例えば、ペア番号（２４−ｃ）である。
【０１２４】
コマンド制御部２１１は、ペア管理テーブル２０１１から、ペア番号（２４−ｃ）に対応するコピー元ＨＤＥＶ番号（２４−ｄ）と、コピー元トラック範囲（２４−ｅ）と、コピー先ＨＤＥＶ番号（２４−ｆ）と、コピー先トラック範囲（２４−ｇ）と、差分ＢＭテーブルと、を取得する。また、コマンド制御部２１１は、リストア対象トラック（２４−ｈ）を、コピー先トラック開始番号に設定（Ｓ２４０２）し、コピー先トラック終了番号に至る（Ｓ２４０３：「Ｙｅｓ」）まで、次の（ＣＲ１）〜（ＣＲ５）の順番で処理を行う。
（ＣＲ１）コマンド制御部２１１は、副ボリューム（２４−ｂ）のリストア対象トラック番号（２４−ｈ）と、ペアエントリのコピー先ＨＤＥＶにおけるコピー開始トラック番号（２４−ｇ）から、コピー開始トラック番号からのオフセット（２４−ｉ）を計算する。この時、リストア対象トラック番号（２４−ｈ）とコピー開始トラック番号（２４−ｇ）の差と、オフセット（２４−ｉ）との値は等しい。
（ＣＲ２）コマンド制御部２１１は、ペアエントリのコピー元ＨＤＥＶにおけるコピー開始トラック番号（２４−ｊ）とオフセット（２４−ｉ）から、リストア先トラック番号（２４−ｋ）を計算する。このとき、コピー開始トラック番号（２４−ｊ）とオフセット（２４−ｉ）との和は、リストア先トラック番号（２４−ｋ）に等しい。
（ＣＲ３）コマンド制御部２１１は、オフセット（２４−ｉ）と差分ＢＭテーブル１９１１からリストア先トラック番号（２４−ｋ）の差分状態を取得する。
（ＣＲ４）コマンド制御部２１１は、リストア先トラック番号（２４−ｋ）の差分状態が「未更新」であったならば、（ＣＲ５）の処理を行わず、リストア対象トラック（２４−ｈ）をインクリメント（Ｓ２４０５）し、（ＣＲ１）から処理を行う。
（ＣＲ５）コマンド制御部２１１は、リストア先トラック番号（２４−ｋ）の差分状態が「更新済み」であったならば、副ボリューム（２４−ｂ）のリストア対象トラック番号（２４−ｈ）のトラックデータを、正ボリューム（２４−ａ）のリストア先トラック番号（２４−ｋ）のトラックにコピーする（Ｓ２４０４）。
そして、最後にＭＦホスト計算機１０２に対し、差分リストアコマンドに対する完了応答を行う。
【０１２５】
なお、副ボリューム（２４−ｂ）は仮想記憶領域から構成される仮想ボリュームであるので、コピー元トラックからデータをリードする動作は、実施例１で説明した仮想ボリュームに対するリードと同様である。以上が、通常ボリューム属性のＨＤＥＶ３１１（正ボリューム）（２４−ａ）と仮想ボリューム属性のＨＤＥＶ３１１（副ボリューム）（２４−ｂ）との間のコピーペアにおいて、副ボリューム（２４−ｂ）から正ボリューム（２４−ａ）への差分リストアの動作である。
【０１２６】
また、図２７のように、管理端末１０３からのリバースリストアコマンド受領時、コマンド制御部２１１は、副ボリューム（２４−ｂ）から正ボリューム（２４−ａ）への差分リストア後に、正ボリュームと副ボリュームのＨＤＥＶ番号を入れ替えて、以降のＭＦホスト１０２から、リードまたはライトアクセスを可能としてもよい。この動作をリバースリストア処理と言う。なお、図２４の差分リストア動作ステップ（Ｓ２４＊＊）と図２７のリバースリストア動作ステップ（Ｓ２７＊＊）は同様な動作を行う。
【０１２７】
更に、副ボリューム（２４−ｂ）から正ボリューム（２４−ａ）への差分リストア実施中に、リストア先トラック番号（２４−ｋ）、または、リストア対象トラック番号（２４−ｈ）に対して、ＭＦホスト１０２からリードまたはライトアクセスが行われた場合、コマンド制御部２１１は、前述したリストア先トラック番号（２４−ｋ）の差分状態を調べる。その結果、リストア先トラック番号（２４−ｋ）の差分状態が「更新済み」であったならば、前記（ＣＲ５）の処理を実施後に、ＭＦホスト１０２からリストア先トラック番号（２４−ｋ）、または、リストア対象トラック番号（２４−ｈ）に対するリードまたはライトアクセスを可能としてもよい。この動作をオンデマンドリストア処理と言う。
【０１２８】
以上の説明からわかるように、通常ボリュームから仮想ボリュームへのデータコピー処理においても、階層メモリ化したトラックマッピング情報に対して、オーナ権が跨らないようにアクセスできる。
【実施例３】
【０１２９】
次に、仮想ボリューム属性のＨＤＥＶ３１１における割り当て済みトラックの解放処理（ＭＦホスト計算機１０２から仮想ボリューム属性のＨＤＥＶ３１１へのライト時に、ライト対象トラック内のレコードが存在しない場合）について、図２５で説明する。
【０１３０】
ＭＦホスト計算機１０２から仮想ボリューム属性のＨＤＥＶ３１１へのライトアクセスコマンドを、コマンド制御部２１１が受け取ると図２５の動作を開始する（Ｓ２５０１）。この時、コマンドパラメータは、正ボリュームのＨＤＥＶ番号（２５−ａ）と、ライト対象トラックのトラック番号（２５−ｂ）と、ライトデータなどである。コマンド制御部２１１は、前述した実施例１に示す仮想ボリュームへのライトアクセス時の動作（図１７）に従い、ライト対象トラックへＭＦホスト計算機１０２から送られたデータをライトする（Ｓ２５０２）。
【０１３１】
コマンド制御部２１１は、ＭＦホスト計算機１０２からのライトアクセスにより、ライト対象トラック内のレコードが存在しない（Ｓ２５０３：「Ｙｅｓ」）ならば、以下の（ＲＭ１）から（ＲＭ５）の動作を行う。
（ＲＭ１）コマンド制御部２１１は、ライト対象トラック番号（２５−ｂ）とＴＭＴ１５１１から、ＬＤＥＶ内トラック番号（２５−ｃ）を取得する。
（ＲＭ２）コマンド制御部２１１は、トラック番号（２５−ｃ）とページサイズからＬＤＥＶ内のページ番号（２５−ｄ）と、ページ内の先頭トラック番号からのオフセット（２５−ｅ）を計算する。
（ＲＭ３）コマンド制御部２１１は、ＴＭＴ１５１１上のライト対象トラックのトラック番号（２５−ｂ）に対応するトラックエントリ（２５−ｆ）を削除（破棄）する（Ｓ２５０４）。
（ＲＭ４）コマンド制御部２１１は、ＴＭＴ１５１１上の割り当て判定情報が「割り当て済み」である全てのトラックエントリの中から、ＬＤＥＶ内のトラック番号とページサイズから計算できるＬＤＥＶ内のページ番号が、ページ番号（２５−ｄ）と一致する一つまたは複数のトラックエントリ（２５−ｇ）が、トラックエントリ（２５−ｆ）以外に存在しないかを調べる。
（ＲＭ５）（ＲＭ４）の処理において、トラックエントリ（２５−ｇ）がトラックエントリ（２５−ｆ）以外に存在しないならば、コマンド制御部２１１は、ＰＭＴ４０８上のページ番号（２５−ｄ）に対応するページエントリを削除（破棄）する（Ｓ２５０５）。
【０１３２】
次に、仮想ボリュームにおける割り当て済みトラックの解放処理に伴う、ガベージコレクションと割り当て済みページの解放処理を説明する。前述した割り当て済みトラックの解放処理（ＲＭ１）から（ＲＭ５）において、一つまたは複数のトラックエントリ（２５−ｇ）がトラックエントリ（２５−ｆ）以外に存在する場合、下記（ＧＣ１）と（ＧＣ２）の動作を実行する。
（ＧＣ１）ＴＭＴ１５１１（図１５）上の割り当て済み判定情報が「未割り当て」であるトラックエントリの中から、ＬＤＥＶ内のトラック番号がトラック番号（２５−ｄ）よりも大きく、かつ最大であるトラックエントリ（２５−ｈ）を取得する。
（ＧＣ２）コマンド制御部２１１は、トラックエントリ（２５−ｈ）上のＬＤＥＶ内トラック番号をトラックエントリ（２５−ｆ）に登録し、割り当て判定情報を「割り当て済み」に設定する。また、コマンド制御部２１１は、トラックエントリ（２５−ｈ）を削除する。
このトラックエントリの再配置を、ガベージコレクションと呼ぶ。
【０１３３】
コマンド制御部２１１は、ガベージコレクション処理（（ＧＣ１）と（ＧＣ２））により、トラックエントリ（２５−ｈ）を削除したならば、前述した割り当て済みトラックの解放処理（（ＲＭ１）から（ＲＭ５））における（ＲＭ４）と（ＲＭ５）の処理を実施し、割り当て済みページの解放を行うこともできる。本処理により仮想ボリューム上のトラック単位でのリクラメーション及びガベージコレクションが可能となり、効率的なストレージ資源の運用が可能となる。
【実施例４】
【０１３４】
次に、本発明の第４の実施例である仮想ボリューム属性のＨＤＥＶ３１１のオーナ権移動処理（管理端末計算機１０３からオーナ権移動指示をコマンド制御部２１１が受信した場合）の動作を、図２６で説明する。コマンドパラメータは、オーナ権移動対象ＨＤＥＶ番号（２６−ａ）、オーナ権移動元ＭＰＰＫ番号（２６−ｂ）、オーナ権移動先ＭＰＰＫ番号（２６−ｃ）などがある。
【０１３５】
コマンド制御部２１１は、オーナ権移動元ＭＰＰＫ番号（２６−ｂ）に対応するＭＰＰＫ内のＬＭ１４２にキャッシングしているトラックエントリの中から、オーナ権移動対象ＨＤＥＶ番号のＨＤＥＶ内のＴＭＴ１５１１に登録されているトラックエントリを取得し、ＬＭ１４２上から全て破棄する。
【０１３６】
コマンド制御部２１１は、ＭＰＰＫ番号とＨＤＥＶ番号との対応を管理する管理テーブル４０１（図５）上のオーナ権移動対象ＨＤＥＶ番号（２６−ａ）に対応するオーナ権エントリ（ＭＰＰＫ番号）を取得する。オーナ権エントリのＭＰＰＫ番号フィールド５０１を、オーナ権移動先ＭＰＰＫ番号（２６−ｃ）に設定する。以上が、仮想ボリューム属性のＨＤＥＶ３１１のオーナ権移動処理である。これにより、柔軟なオーナ権の変更（移動）が可能となり、オーナ権を委譲されたＭＰ１４１がトラックマッピング情報をアクセスできる。
【実施例５】
【０１３７】
次に、本発明の第５の実施例であるファイル単位でのアクセス動作について、図２８と図２９で説明する。図２８は、図１と同様、ストレージシステムの全体構成を示すブロック構成図である。図１との相違は、ＮＦＳ/ＣＩＦＳクライアント１０４が通信線１１７を介しネットワーク１１１に接続され、ストレージ装置１０１に対しファイル単位でアクセスするものである。
【０１３８】
次に、図２９に、ＮＦＳ/ＣＩＦＳクライアント１０４とストレージ装置１０１間でやり取りするファイル２９０を示す。ファイル２９０は、メタ情報部２９１とデータ部２９２から構成される。また、メタ情報部２９１は、ファイル名２９１１、ファイルタイプ２９１２、ファイルサイズ２９１３、メタ情報部２９１とデータ部２９２の開始位置であるオフセット２９１４、ファイルが作成、更新、参照（読み出し）された日付情報２９１５を有する。ファイル２９０のメタ情報部２９１が、ＭＦホスト計算機１０２からブロック単位アクセスでのトラック制御情報に該当する。
【０１３９】
次に動作についてライトアクセス要求を例に説明する。ＮＦＳ/ＣＩＦＳクライアント１０４からストレージ装置１０１に対し、ファイル２９０の書き込み（ライトコマンドの発行）が要求される。その要求は、通信線１１７に接続されたネットワーク１１１と通信線１１５を経由してストレージ装置１０１に伝送される。ストレージ装置１０１ではＮＩＣ１２５が要求を受信し、ＳＷＰＫ１２６で処理を担当するＭＰＰＫ１２３に要求を転送する。
【０１４０】
ＭＦホスト計算機１０２からのライトアクセス時の制御情報は、図１７で説明したように、ＨＤＥＶ番号、ＨＤＥＶ内のトラック番号およびトラックサイズである。ＮＦＳ/ＣＩＦＳクライアント１０４からライトアクセスでは、メタ情報部２９１の情報が、ＭＦホスト計算機１０２からのライトアクセス時の制御情報に該当する。データ書き込み領域の単位も、ページサイズ（例えば、５９，３９２×６７２バイト）単位に合わせる。
【０１４１】
以上の処理により、ＭＦホスト計算機１０２によるホスト系アクセス（ブロック単位アクセス）だけでなく、ＮＦＳ/ＣＩＦＳクライアント１０４によるオープン系アクセス（ファイル単位アクセス）も可能である。
【０１４２】
前記実施例１から実施例５で説明したように、分散メモリ型システムの階層メモリ化したトラックマッピング情報へオーナ権が跨らないようにアクセスできる。また、通常ボリュームから仮想ボリュームへのデータコピー処理においても、階層メモリ化したトラックマッピング情報に対して、オーナ権が跨らないようにアクセスできる。さらに、仮想ボリューム上のトラック単位でのリクラメーション及びガベージコレクションが可能となり、効率的なストレージ資源の運用が可能となる。なお、本発明は前記実施例に限定されるものでない。
【産業上の利用可能性】
【０１４３】
本発明は、大型コンピュータ、サーバやパーソナルコンピュータなどの情報処理装置、ストレージシステムやＨＤＤレコーダなどの情報・映像記憶装置などに適用できる。
【符号の説明】
【０１４４】
１０１  複数のストレージ装置
１０２  ＭＦ（Main  Frame）ホスト計算機
１０３  管理端末計算機
１０４  ＮＦＳ／ＣＩＦＳクライアント
１１１、１１２  ネットワーク
１１３、１１４、１１５、１１６ 通信線
１２１  ＣＨＡＰＫ（Channel  Adapter  PacKage）
１２２  ＤＫＡＰＫ（DisK  Adapter  PacKage）
１２３  ＭＰＰＫ（Micro  Processor  PacKage）
１２４  ＣＭＰＫ（Cache  Memory  PacKage）
１２５  ＮＩＣ（Network  Interface  Card）
１２６  ＳＷＰＫ（Switch  PacKage）
１３１  ストレージコントローラ
１３２、３１４  ディスク
１４１  ＭＰ（Micro  Processor）
１４２  ＬＭ（Local  Memory）
１４３  ＳＭ（Shared  Memory）
１４４  ＣＭ（Cache  Memory）
２０１  マイクロプログラム
２０２  ＣＭ制御情報
２０３  管理テーブルのキャッシュ
２１１  コマンド制御部
２１２  ＲＡＩＤ制御部
２１３  オーナ権制御部
２９０  ファイル
２９１  メタ情報部
２９２  データ部
３０１、３０１１，３０１２  ＯＳ（Operating  System）
３１１  ホスト用論理デバイス（ＨＤＥＶ）
３１２  論理デバイス（ＬＤＥＶ）
３１３  プール
４０１  ＭＰＰＫ番号−ＨＤＥＶ番号対応管理テーブル
４０２  ＨＤＥＶ番号−ＬＤＥＶ番号対応管理テーブル
４０３  ＨＤＥＶ番号フィールド−ボリュームサイズ対応管理テーブル
４０４  ＨＤＥＶ番号−ボリューム属性対応管理テーブル
４０５  ＨＤＥＶ番号−ディスク番号対応管理テーブル
４０６  ＬＤＥＶ番号−プール番号−ＰＭＴ（Page  Mapping  Table）アドレス対応管理テーブル
４０７  プール番号−ディスク番号対応管理テーブル
４０８  ＰＭＴ（Page  Mapping  Table）
４０９  ＰＭＴ管理ディレクトリ
４１０  ＴＭＴ（Track  Mapping  Table）管理ディレクトリ
５０１  ＭＰＰＫ番号フィールド
５０２  ＨＤＥＶ番号フィールド
６０１  ＨＤＥＶ番号フィールド
６０２  ＬＤＥＶ番号フィールド
７０１  ＨＤＥＶ番号フィールド
７０２  ボリュームサイズフィールド
８０１  ＨＤＥＶ番号フィールド
８０２  ボリューム属性フィールド
９０１  ＨＤＥＶ番号フィールド
９０２  ディスク番号フィールド
１００１  ＬＤＥＶ番号フィールド
１００２  プール番号フィールド
１００３  ＰＭＴアドレスフィールド
１１０１  プール番号フィールド
１１０２  ディスク番号フィールド
１２０１  ページ番号フィールド
１２０２  ページ種別フィールド
１２０３  ＬＤＥＶ内のページ先頭アドレスフィールド
１２０４  ディスク番号フィールド
１２０５  ディスク内のページ先頭アドレスフィールド
１２０６  ページ割り当て済み判定情報フィールド、
１３０１  ＬＤＥＶ番号フィールド
１３０２  ＰＭＴアドレスフィールド
１４０１  ＬＤＥＶ番号フィールド
１４０２  ＬＤＥＶ内の初期データトラック番号フィールド
１４０３  ＬＤＥＶ内次割り当てトラック番号フィールド
１５１１  ＴＭＴテーブル
１５０１  ＨＤＥＶ内のトラック番号フィールド
１５０２  ＬＤＥＶ内のトラック番号フィールド
１５０３  トラック割り当て済み判定情報フィールド
１８１１  コピーＢＭテーブル
１８０１  トラック番号フィールド
１８０２  コピー状態フィールド
１９１１  トラック番号と更新状態とを管理するテーブル（差分ＢＭテーブル）
１９０１  トラック番号フィールド
１９０２  更新状態フィールド
２０１１  ペア管理テーブル
２００１  ペア番号フィールド
２００２  コピー元ＨＤＥＶ番号フィールド
２００３  コピー元トラック範囲フィールド
２００４  コピー先ＨＤＥＶ番号フィールド
２００５  コピー先トラック範囲フィールド
２００６  コピーＢＭテーブルアドレスフィールド
２００７  差分ＢＭテーブルアドレスフィールド
２９１１  ファイル名
２９１２  ファイルタイプ
２９１３  ファイルサイズ
２９１４  オフセット
２９１５  日付情報
【図１】
2015127967.tif 000003
【図２】
2015127967.tif 000004
【図３】
2015127967.tif 000005
【図４】
2015127967.tif 000006
【図５】
2015127967.tif 000007
【図６】
2015127967.tif 000008
【図７】
2015127967.tif 000009
【図８】
2015127967.tif 000010
【図９】
2015127967.tif 000011
【図１０】
2015127967.tif 000012
【図１１】
2015127967.tif 000013
【図１２】
2015127967.tif 000014
【図１３】
2015127967.tif 000015
【図１４】
2015127967.tif 000016
【図１５】
2015127967.tif 000017
【図１６】
2015127967.tif 000018
【図１７】
2015127967.tif 000019
【図１８】
2015127967.tif 000020
【図１９】
2015127967.tif 000021
【図２０】
2015127967.tif 000022
【図２１】
2015127967.tif 000023
【図２２】
2015127967.tif 000024
【図２３】
2015127967.tif 000025
【図２４】
2015127967.tif 000026
【図２５】
2015127967.tif 000027
【図２６】
2015127967.tif 000028
【図２７】
2015127967.tif 000029
【図２８】
2015127967.tif 000030
【図２９】
2015127967.tif 000031
【手続補正書】
【提出日】平成27年2月12日(2015.2.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
計算機に接続されるストレージシステムにおいて、
前記計算機と接続されるインタフェース部と、
前記インタフェース部に接続され、複数のマイクロプロセッサより構成する複数の制御部と、
前記複数の制御部が共有してアクセスする共有メモリと、
前記制御部のマイクロプロセッサが共有してアクセスするローカルメモリと、
前記計算機が使用するデータを格納する物理記憶デバイスと、
前記計算機に割り当てる第１の論理記憶領域と
前記第１の論理記憶領域に割り当てる第２の論理記憶領域と、
前記物理記憶デバイスから構成される物理記憶領域とを設け、
第１の制御情報で、前記第１の論理記憶領域の前記第２の論理記憶領域への割り当てを行い、
第２の制御情報で、前記第２の論理記憶領域の前記物理記憶領域への割り当てを行い、
前記第１の制御情報は、前記第１の論理記憶領域のトラック番号と前記第２の論理記憶領域のトラック番号とトラック割り当て状態との対応関係テーブルで構成され、前記物理記憶領域のユーザが使用するトラックと別のトラックに配置され、
前記第２の制御情報は、前記共有メモリに配置され、
前記計算機から前記第１の論理記憶領域へのアクセス要求があった場合に、前記第１の制御情報および前記第２の制御情報により前記複数の制御部より選択された制御部だけがアクセス要求の処理を担当し、
前記アクセス要求がデータライト要求であった時、前記制御部は、ライト対象トラックにデータライトをした後に、前記ライト対象トラック内に存在するレコードの有無を判定し、該レコードが無い場合には、前記第１の制御情報に基づき前記ライト対象トラックへの割り当てを解放する
ことを特徴とするストレージシステム。
【請求項２】
請求項１に記載のストレージシステムであって、
前記制御部は、前記ライト対象トラックへの割り当てを解放した後に、前記第１の制御情報に基づき、前記ライト対象トラックを含むページ内に当該トラック以外で割り当て済みのトラックの有無を判定し、該トラックが無い場合には当該ページの割り当てを解放する
ことを特徴とするストレージシステム。
【請求項３】
請求項２に記載のストレージシステムであって、
前記第２の制御情報は、
（１）前記制御部と第１の論理記憶領域との対応関係テーブル、
（２）前記第１の論理記憶領域と第２の論理記憶領域との対応関係テーブル、
（３）前記第１の論理記憶領域とその容量との対応関係テーブル、
（４）前記第１の論理記憶領域とその属性との対応関係テーブル、
（５）前記第２の論理記憶領域と前記物理記憶デバイスとの対応関係テーブル、
（６）前記第２の論理記憶領域と前記物理記憶領域との対応関係テーブル、
（７）前記物理記憶領域と前記物理記憶デバイスとの対応関係テーブル、
（８）物理記憶領域を構成する最小単位であるページと前記第２の論理記憶領域への割り当て位置と割り当て状態との対応関係テーブル、
（９）前記第２の論理記憶領域と、前記（８）の対応関係テーブルが前記共有メモリ上に格納されているアドレスとの対応関係テーブル、
（１０）第２の論理記憶領域と物理記憶デバイスの最小構成単位であるトラック番号との対応関係テーブル
の少なくとも１つ以上で構成されることを特徴とするストレージシステム。