JP5698381B2 - 実記憶領域動的割当方法を用いたストレージシステム - Google Patents

実記憶領域動的割当方法を用いたストレージシステム Download PDF

Info

Publication number
JP5698381B2
JP5698381B2 JP2013548514A JP2013548514A JP5698381B2 JP 5698381 B2 JP5698381 B2 JP 5698381B2 JP 2013548514 A JP2013548514 A JP 2013548514A JP 2013548514 A JP2013548514 A JP 2013548514A JP 5698381 B2 JP5698381 B2 JP 5698381B2
Authority
JP
Japan
Prior art keywords
track
storage area
copy
page
hdev
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013548514A
Other languages
English (en)
Other versions
JP2014512578A (ja
Inventor
講平 鑪
講平 鑪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of JP2014512578A publication Critical patent/JP2014512578A/ja
Application granted granted Critical
Publication of JP5698381B2 publication Critical patent/JP5698381B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、ストレージ装置における仮想ボリュームの制御情報領域への動的な実記憶領域割り当て方法に関する。
特許文献1のように、ストレージ装置内部に複数のマイクロプロセッサと各マイクロプロセッサからしかアクセスできないローカルメモリとを設けたものが開示されている。このストレージ装置は、記憶デバイスとの入出力処理を実行するマイクロプロセッサにオーナ権を付与し、マイクロプロセッサのローカルメモリに当該記憶デバイスとの入出力処理に必要なキャッシュ制御情報を格納するものである。
また、特許文献2によると、仮想記憶領域への実記憶領域の動的な割り当てに関わる処理では、仮想記憶領域に対するホストライトを契機とした仮想記憶領域への実記憶領域の割り当てと、仮想記憶領域から実記憶領域へのアドレス変換を行う。その仮想記憶領域への入出力に必要なアドレス変換情報は、仮想ボリュームの数や容量に比例して大きくなる課題があるが、ローカルメモリに比べてアクセス性能は劣るが安価な記憶デバイスに格納することで解決できる。
国際公開第2010/131373号 米国特許第7613896号明細書
仮想記憶領域からなる仮想記憶デバイスのオーナ権を持つマイクロプロセッサが、前述したアドレス変換情報が格納される記憶デバイスのオーナ権を持たないならば、仮想記憶デバイスとの入出力処理に必要なアドレス変換情報をリードすることができない。また、オーナ権を持てるとしても、そのオーナ権を跨ってボリュームにアクセスするため、その性能が低下するという課題がある。なお、オーナ権を跨るボリュームアクセスとは、例えば、当該ボリュームへのアクセス権を持つマイクロプロセッサを変更すること(オーナ権移動)を表す。更に、仮想記憶領域への入出力に必要なアドレス変換情報を、ローカルメモリに比べてアクセス性能が劣る記憶デバイスに分散して格納する方法では、アクセスが頻繁に発生すると該記憶デバイス上のアドレス変換情報へのアクセスも増加する。そのため、全体のアクセス性能が低下してしまうという課題がある。
本発明では、仮想記憶領域から実記憶領域へのアドレス変換情報を記憶デバイス上に格納し、仮想記憶デバイスのオーナ権を持つマイクロプロセッサからのアクセスを可能としアクセス性能を向上させることを目的とする。
前記目的を達成するために、本発明は、
(1)複数の記憶デバイスから第一の仮想記憶領域に第一の実記憶領域(以下、ページ)を割り当て、第一の仮想記憶領域に割り当てられたページから、第二の仮想記憶領域に第二の実記憶領域(以下、トラック)を割り当てる。ページは複数トラックからなり、第二の仮想記憶領域へ割り当てられた順番でトラックデータを格納する。
(2)第一の仮想記憶領域と複数の記憶デバイスとの間の第一のアドレス変換情報のサイズはページ数に比例し、共有メモリに保存する。また、第二の仮想記憶領域と第一の仮想記憶領域との間の第二のアドレス変換情報のサイズはトラック数に比例し、第一の仮想記憶領域に割り当てられたページ上に格納する。
(3)第二の仮想記憶領域からなる仮想記憶デバイスとの入出力に必要な第二のアドレス変換情報を、第一の仮想記憶領域に割り当てられたページ上に格納することで、第二のアドレス変換情報をアクセスする際に必要なキャッシュ制御情報を、当該仮想記憶デバイスのオーナ権を持つマイクロプロセッサのローカルメモリに格納する
ことを特徴とするものである。
本発明によれば、記憶デバイスにアドレス変換情報を格納する仮想記憶デバイスに対する入出力処理をマイクロプロセッサが排他的に実行できる。
ストレージシステムの全体構成を示すブロック構成図である。 ストレージコントローラ内で実行するマイクロプログラムの構成を示す構成図である。 ストレージ装置内の論理構成を示す構成図である。 SM(Shared Memory)内に保存する管理テーブルを示す構成図である。 MPPK(Micro Processor PacKage)番号とHDEV番号との対応関係を管理するための管理テーブルの構成図である。 HDEV(Host logical DEVice)番号とLDEV(Logical DEVice)番号との対応関係を管理するための管理テーブルの構成図である。 HDEV番号とボリュームサイズとの対応関係を管理するための管理テーブルの構成図である。 HDEV番号とHDEVの属性との関係を管理する管理テーブル構成図である。 HDEV番号とディスク番号との関係を管理する管理テーブル構成図である。 LDEV番号とプール番号との関係を管理する管理テーブル構成図である。 プール番号とディスク番号との関係を管理する管理テーブル構成図である。 ページ割り当て処理で用いるPMT(Page Mapping Table)の構成図である。 PMT管理ディレクトリの構成図である。 TMT管理ディレクトリの構成図である。 ページ内のトラック割り当て処理で用いるTMT(Track Mapping Table)の構成図である。 第1実施例での仮想ボリューム作成処理のフローチャートである。 第1実施例での仮想ボリュームへのトラック割り当て処理のフローチャートである。 第2実施例でのトラック番号とコピー状態との関係を管理する管理テーブル構成図である。 第2実施例でのトラック番号と更新状態との関係を管理する管理テーブル構成図である。 第2実施例でのペア状態の管理テーブル構成図である。 第2実施例でのコピーペア作成処理のフローチャートである。 第2実施例でのコピージョブによるバックグラウンドコピー処理のフローチャートである。 第2実施例でのホストライトコマンド契機の先行コピー処理を説明するためのフローチャートである。 第2実施例での差分リストアコマンド処理のフローチャートである。 第3実施例でのMFホストライトコマンド契機によるトラック割り当て解放処理のフローチャートである。 第4実施例でのオーナ権移動処理のフローチャートである。 第3実施例でのボリューム役割変更のフローチャートである。 第5実施例でのストレージシステムの全体構成を示すブロック構成図である。 第5実施例でのファイル構造図である。
以下、図面を参照しながら本発明の実施の形態を説明する。なお、以下の説明では、「管理テーブル」等の表現にて各種情報を説明することがあるが、各種情報は、テーブル以外のデータ構造で表現されていてもよい。また、データ構造に依存しないことを示すために「管理テーブル」を「管理情報」と呼ぶことができる。
また、「プログラム」を主語として処理を説明する場合がある。そのプログラムは、プロセッサ例えば、MP(Micro Processor)によって実行されるもので、定められた処理をするものである。なお、適宜に記憶資源(例えばメモリ)及び通信インタフェース装置(例えば通信ポート)を用いながら行うため、処理の主語がプロセッサとされてもよい。プロセッサは、MPの他に専用ハードウェアを有していても良い。コンピュータプログラムは、プログラムソースから各計算機にインストールされても良い。プログラムソースは、例えば、プログラム配布サーバ又は記憶メディアであっても良い。
また、各要素例えば、LDEV(Logical DEVice)は、番号などで識別可能であるが、識別可能な情報であれば、名前など他種の識別情報が用いられても良い。本発明の図及び説明において同一部分には同一符号を付与しているが、本発明が本実施例に制限されることは無く、本発明の思想に合致するあらゆる応用例が本発明の技術的範囲に含まれる。また、特に限定しない限り、各構成要素は複数でも単数でも構わない。
本発明の第一の実施例であるストレージ装置における仮想ボリュームの制御情報領域への動的な実記憶領域割り当て方法について、図1から図17で説明する。最初に図1から図4でハードウェア構成とソフトウェア構成(プログラム構造、テーブル構造)の概要を説明し、次に、図5から図15で各管理テーブルの詳細説明をする。最後に、具体的な動作(処理)を図16及び図17で説明する。
まず、ストレージシステムの全体構成を図1で説明する。ストレージシステムは、複数のストレージ装置101と、複数のメインフレーム(Main Frame)ホスト計算機(以下、MFホスト計算機)102と、管理端末計算機103とで構成する。
各ストレージ装置101と各MFホスト計算機102は、ネットワーク112を介して接続される。複数のストレージ装置のうち一つのストレージ装置101と管理端末計算機103は、ネットワーク111を介して接続される。各MFホスト計算機102は、通信線114を介してネットワーク112に接続される。各ストレージ装置101は、通信線116を介してネットワーク112に接続される。管理端末計算機103は、通信線113を介してネットワーク111に接続される。第1のストレージ装置101は、通信線115を介してネットワーク111に接続される。
なお、上述の通信線113〜116は、例えば、メタルケーブルや光ファイバケーブル等の有線として構成される。しかし、各MFホスト計算機102と各ストレージ装置101、各ストレージ装置101と管理端末計算機103、各MFホスト計算機102と管理端末計算機103をそれぞれ無線で接続することも可能である。この場合は、通信線113〜116は不要となる。また、ネットワーク111とネットワーク112は、共通のネットワークであっても良い。各ネットワーク111、112は、通信ネットワークであり、例えば、SAN(Storage Area Network)又はLAN(Local Area Network)である。
次に、各ストレージ装置101の構成を説明する。各ストレージ装置101は、一つまたは複数のストレージコントローラ131と、一つまたは複数のディスク132を備える。 一つまたは複数のディスク132には、データを格納する記憶デバイスとして、少なくとも、SSD(Solid State Drive)、SAS(Serial Attached SCSI)タイプHDD(Hard Disk Drive)、SATA(Serial Advanced Technology Attachment)タイプHDDが含まれている。なお、ディスク132は、それらのうちの少なくとも1つに代えて、またはそれらに加えて、他の種類の物理的な記憶デバイス、例えば、追記型光ディスクメディアなどであっても良い。
一つまたは複数のディスク132は、例えば、ファイバチャネルケーブル等の通信線を介して、ストレージコントローラ131に接続される。なお、複数のディスク132で、一つまたは複数のRAID(Redundant Array of Independent Disks)グループを構成することができる。
次に、ストレージコントローラ131の構成を説明する。ストレージコントローラ131は各MFホスト計算機102から受信したコマンドで、ディスク132に対するデータの入出力処理、即ち、ディスク132へのデータのライト(書き込み)やリード(読み出し)を制御する。
ストレージコントローラ131は、アクセス要求元のMFホスト計算機102に対して、実記憶領域が既に割り当てられている状態の論理デバイス、または後述するシン・プロビジョニング機能で使用する仮想記憶領域で構成される論理デバイスを、アクセス対象の論理デバイスあるいは論理ボリュームとして提供する。
仮想記憶領域からなる論理デバイスは、実記憶領域が既に割り当て済みであってもよいし、未割り当てでもよい。この際、ストレージコントローラ131は、実記憶領域、または仮想記憶領域を、シリンダ・ヘッド番号(以下、トラック番号)によって参照したり、識別したりすることができる。ストレージコントローラ131は、記憶資源と、通信インタフェース装置(以下、インタフェース装置を「I/F」と略記)と、それらに接続された演算装置とを有する。
演算装置は、MPPK(Micro Processor PacKage)123内のMP(Micro Processor)141などである。記憶資源は、MPPK123内のLM(Local Memory)142、CMPK(Cache Memory PacKage)124内の共有メモリSM(Shared Memory)143、キャッシュメモリCM(Cache Memory)144などである。
通信I/Fは、MFホスト計算機102からリードやライトを受信するCHAPK(Channel Adapter PacKage)121と、管理端末計算機103からローカルコピーの指示を受信するNIC(Network Interface Card)125と、ディスクからデータを受送信するDKAPK(DisK Adapter PacKage)122とを備える。
これらCMPK124、MPPK123、CHAPK121、NIC125、DKAPK122は、バス等の通信線と通信切り替えを担当するSWPK(Switch PacKage)126を介して相互に接続される。
各MFホスト計算機102や管理端末計算機103のハードウェア構成は、通信インタフェース装置と記憶資源と、それらに接続された演算装置とを有する一般的な計算機である。通信インタフェース装置としては、例えば、ネットワーク112を介した通信を行うためのホストバスアダプタ(Host Bus Adaptor:HBA)と、ネットワーク111を介した通信を行うためのNICである。記憶資源は、メモリや内蔵HDDなどで構成される。
図2に、ストレージコントローラ131内で実行するマイクロプログラム201の構成を示す。同図のローカルメモリLM142には、一つまたは複数のマイクロプログラム201が、MP141によって読み込まれる。このマイクロプログラム201には、コマンド制御部211、RAID制御部212、オーナ権制御部213が含まれる。MP141が、LM142に読み込まれたマイクロプログラム201内の各制御部211から213を実行することにより、後述する種々の処理が行われる。
CM制御情報202は、LM142上にキャッシュした情報などを制御するものである。また、管理テーブルのキャッシュ203は、共有メモリSM143上にある各管理テーブル(図4)をローカルメモリLM142に格納(キャッシュ)したものである。これにより、MP141は、アクセスに時間がかかるSM143ではなく、高速にアクセスできるLM142から各管理テーブルの情報を取得できる。CM144は、各MFホスト計算機102から受信したライトデータおよびマイクロプログラム201内のRAID制御部212がディスク132から読み出したデータを一時的に記憶するものである。
オーナ権制御部214は、後述するHDEVのオーナ権を持つMPPK番号と、そのHDEV番号との対応を管理する管理テーブル401の設定や参照を担当する。そして、コマンド制御部211またはCHAPK121からの設定または参照の問い合わせに対して、HDEVのオーナ権を持つMPPK番号とそのHDEV番号との対応関係を、設定または参照させる。また、オーナ権制御部214は、後述するオーナ権移行処理において、コマンド制御部からオーナ権の変更を要求されると、HDEVのオーナ権を持つMPPK番号と、そのHDEV番号との対応関係を設定する。その後、CHAPK121内とLM142上とにある管理テーブル401の複製に対して、古い情報を無効化し最新の情報に更新する。
CHAPK121は、ネットワーク112を介して、各MFホスト計算機102と接続され、アクセス要求としてアクセスコマンド(ライトコマンド又はリードコマンド)を受信し、受信したアクセスコマンドをコマンド制御部211に転送する。CHAPK121は、前記転送処理においてリードまたはライトコマンドのパラメータであるHDEV番号とCHAPK121内の管理テーブル401の複製とで、HDEVのオーナ権を持つMPPKを特定する。その後、CHAPK121は、特定したMPPK内のコマンド制御部211に対して、リードまたはライトコマンドを処理させるためにアクセスコマンドを転送する。
NIC125は、ネットワーク111で管理端末計算機103と接続され、後述するボリューム間のデータコピー指示を受信した場合、受信した指示をコマンド制御部211に転送する。DKAPK122は、各ディスク132と記憶資源(LM142とSM143とCM144)との間のデータ送受信を行う。DKAPK122は、通信路を介して各ディスク132にそれぞれ接続される。
次に、ストレージ装置101の基本的動作を説明する。ストレージコントローラ131は、CHAPK121を介して、いずれかのMFホスト計算機102からライトコマンドを受信した場合、MFホスト計算機102から受信したライトデータをCM144に記憶する。
ストレージコントローラ131は、CM144に記憶しているライトデータを、DKAPK122を介してディスク132に書き込む。なお、ストレージコントローラ131は、MFホスト計算機102へのライトコマンド処理完了の通知を、CM144に記憶した時点ないしライトデータをディスク132に書き込んだ時点で行う。
MFホスト計算機102からリードコマンドを受信した場合、ストレージコントローラ131は、そのリードコマンドにパラメータで指定されるデータ(リード対象データ)がCM144に記憶されているか否かを調べる。
リード対象データがCM144に記憶されている場合、ストレージコントローラ131は、リード対象データをCM144から読み出し、読み出したリード対象データを、CHAPK121を介してMFホスト計算機102に送信する。一方、リード対象データがCM144に記憶されていない場合、ストレージコントローラ131は、DKAPK122を介して、一つまたは複数のディスク132からリード対象データを読み出し、読み出したリード対象データをCM144に記憶する。その後、ストレージコントローラ131は、CM144に記憶されているリード対象データを、CHAPK121を介してMFホスト計算機102に送信する。
次に、図3でストレージ装置101の論理構成を説明する。ストレージ装置101は、各MFホスト計算機102や管理端末計算機103から参照される記憶領域を構成するホスト用論理デバイスとして、一つまたは複数のホスト用論理デバイス(Host logical DEVice、以下、HDEV)311を有する。
HDEV311には、ストレージ装置101内で固有のHDEV番号が付けられ、MFホスト計算機102や管理端末計算機103は、HDEV番号でHDEV311を識別する。例えば、各MFホスト計算機102上のOS(Operating System)301は、HDEV311に対してリードアクセスまたはライトアクセスを行う。
HDEV311は、トラックの集合(トラック1、トラック2、トラック3・・・)で構成される。また、各トラックに付与されたシリンダ・ヘッド番号(トラック番号)は、各MFホスト計算機102や管理端末計算機103が、各トラックを識別するときの参照対象とする。なお、HDEV311は、図4及び図8のHDEV番号とボリューム属性とを管理する管理テーブル404により、通常ボリュームと仮想ボリュームとに分類される。
HDEV311が通常ボリュームの場合、一つまたは複数のディスク132内の記憶領域として定義される。また、HDEV311は、複数のRAIDグループで構成される記憶領域として定義されていてもよい。HDEV311が仮想ボリュームの場合、HDEV311内のトラックデータは、一つまたは複数の論理デバイス(以下、LDEVと称することがある。)上に保存される。
LDEV312には、ストレージ装置101内で固有のLDEV番号が付けられ、マイクロプログラム201は、LDEV番号により、LDEV312を識別する。LDEV312は、トラック番号に対応した複数のトラックから構成される。トラック内には、1または複数のレコード(図示せず)で構成され、各レコードには、MFホスト計算機102がリードまたはライトするデータが格納される。
LDEV312内のトラックには、前述のHDEV311内のトラック番号に対応するトラックデータが保存される。HDEV内のトラック番号とLDEV内のトラック番号との対応関係は、図4及び図15のTMT(Track Mapping Table)410により管理される。
この際、ストレージ装置101内で、全てのトラックサイズは一定の値である。各ディスク132にはストレージ装置101内で固有のディスク番号がつけられ、マイクロプログラム201は、このディスク番号で各ディスク132を識別する。
また、LDEV312は、シン・プロビジョニング機能で用いられる仮想ボリューム上に保存される。LDEV312のデータが保存される仮想ボリュームは、この仮想ボリュームに対して実記憶領域を提供するプール313と関連付けられる。プール313にはストレージ装置101内で固有のプール番号がつけられ、マイクロプログラム201は、このプール番号でプール313を識別する。
プール313は、一つまたは複数のディスク132から構成される。また、プール313は、一つまたは複数のRAIDグループから構成されていてもよい。一つまたは複数のディスク132は、ストレージ装置の内部にあってもよいし、外部にあってもよい。
図4は、SM143内に格納される各管理テーブルの構成を示す。各管理テーブルは、ストレージ装置101の起動時に作成されるか、必要に応じて動的に作成される。また管理テーブル401〜410内の各フィールドは、ストレージ装置101の論理構成の変更契機に更新される。
図5に、HDEVのオーナ権を持つMPPK番号と、そのHDEV番号との対応関係を管理する管理テーブル401を示す。オーナ権は、HDEVに対するホストからのリードまたはライト要求を処理するMPPKを定めたものである。
オーナ権を持つMPPK123は、HDEV311に対するホストからのリードまたはライト要求を処理するために必要な制御情報を、他のMPPK123から排他的に扱うことができる。この制御情報は、当該HDEV311に対するリードまたはライトデータがCM144にキャッシュされているかどうかを示す情報や、図12及び図13に示すHDEVが仮想ボリューム属性の場合におけるPMT(Page Mapping Table)などである。MPPK番号とHDEV番号との対応を管理するテーブル401は、SM143などに保存される。
図6に、HDEV311が仮想ボリュームから構成される場合のHDEV番号とLDEV番号との対応関係を管理するテーブル402の構成を示す。管理テーブル402は、HDEV番号フィールド601とLDEV番号フィールド602から構成される。
HDEV番号は、ストレージ装置101内でHDEV311を一意に識別するための番号であって、HDEV番号フィールド601の各エントリには、HDEV311に対応した番号が格納される。LDEV番号は、ストレージ装置101内でLDEV312を一意に識別するための番号であって、LDEV番号フィールド602の各エントリには、LDEV312に対応した番号が格納される。HDEV番号とLDEV番号との対応を管理するための管理テーブル402は、SM143などに保存される。
図7に、HDEV番号とボリュームサイズとの対応関係を管理するための管理テーブル403の構成を示す。管理テーブル403は、HDEV番号フィールド701とボリュームサイズフィールド702から構成される。HDEV番号は、ストレージ装置101内でHDEV311を一意に識別するための番号であって、HDEV番号フィールド701の各エントリには、HDEV311に対応した番号が格納される。
ボリュームサイズフィールド702の各エントリには、HDEV311に対応したボリュームサイズが格納される。ボリュームサイズは、通常ボリュームまたは仮想ボリュームにデータを格納することができる最大容量であり、ボリュームサイズフィールド702の各エントリには、通常ボリュームまたは仮想ボリュームの容量が数値で格納される。HDEV番号とボリュームサイズとの対応を管理するための管理テーブル403は、SM143などに保存される。
図8に、HDEV番号とボリューム属性との対応関係を管理するための管理テーブル404の構成を示す。管理テーブル404は、HDEV番号フィールド801とボリューム属性フィールド802から構成される。HDEV番号は、ストレージ装置101内でHDEV311を一意に識別するための番号であって、HDEV番号フィールド801の各エントリには、HDEV311に対応した番号が格納される。
ボリューム属性は、HDEV311のボリューム属性が通常ボリュームまたは仮想ボリュームであることを特定するものであり、ボリューム属性フィールド802の各エントリには、通常ボリュームまたは仮想ボリュームの名称が格納される。
HDEV311のボリューム属性が通常ボリュームであるとき、このHDEV311は、一つまたは複数のディスク132内の実記憶領域で構成されたボリュームであることを示す。HDEV番号とボリューム属性との対応関係を管理するための管理テーブル404は、SM143などに保存される。
図9に、HDEV311が通常ボリューム時のHDEV番号とディスク番号との対応関係を管理するための管理テーブル405の構成を示す。管理テーブル405は、HDEV番号フィールド901とディスク番号フィールド902から構成される。HDEV番号は、ストレージ装置101内でHDEV311を一意に識別するための番号であって、HDEV番号フィールド901の各エントリには、HDEV311に対応した番号が格納される。
ディスク番号は、ストレージ装置101内でディスク132を一意に識別するための番号であって、ディスク番号フィールド902の各エントリには、HDEV311を構成するディスク132の番号が格納される。HDEV番号とディスク番号との対応を管理するための管理テーブル405は、SM143などに保存する。
図10に、LDEV番号とプール番号とSM143内のPMT(Page Mapping Table)アドレスとの対応関係を管理する管理テーブル406の構成を示す。管理テーブル406はLDEV312のボリューム属性が仮想ボリュームであるときの管理テーブルである。この管理テーブル406は、LDEV番号フィールド1001とプール番号フィールド1002とSM143内のPMTアドレスフィールド1003で構成する。
LDEV番号は、ストレージ装置101内でLDEV312を一意に識別するための番号で、LDEV番号フィールド1001の各エントリには、LDEV312に対応した番号が格納される。プール番号は、ストレージ装置101内でプール313を一意に識別するための番号であって、プール番号フィールド1002の各エントリには、LDEV312に対応したプール313の番号が格納される。SM内のPMTアドレスフィールド1003の各エントリには、LDEV312に対応した(後述する)SM143内のPMTアドレスが格納される。LDEV番号とプール番号との対応関係を管理するための管理テーブル406は、SM143などに保存される。
図11に、プール番号とディスク番号との対応を管理するための管理テーブル407の構成を示す。管理テーブル407は、HDEV311のボリューム属性が仮想ボリュームであるときの管理テーブルであって、プール番号フィールド1101とディスク番号フィールド1102から構成される。
プール番号は、ストレージ装置101内でプール313を一意に識別するための番号であって、プール番号フィールド1101の各エントリには、プール313に対応した番号が格納される。ディスク番号は、ストレージ装置101内でディスク132を一意に識別するための番号であって、ディスク番号フィールド1102の各エントリには、プール313に実記憶領域が割り当てられるディスク132の番号が格納される。プール番号とディスク番号との対応を管理するための管理テーブル407は、SM143などに保存される。
本実施例は、HDEV311を、仮想記憶領域を有する仮想ボリュームとして管理し、仮想ボリュームへのアクセス時に、前記仮想ボリュームへプールから第一の実記憶領域(以下、ページ)を割り当て、さらに第一の実記憶領域(ページ)から第二の実記憶領域(トラック)を割り当てるものである。
仮想ボリュームへの実記憶領域割り当て処理は、ページ割り当て処理と、ページからのトラック割り当て処理とがある。ページ割り当て処理では、PMT(Page Mapping Table)408とPMT管理ディレクトリ409とで、LDEVに対するページ割り当て要求によりLDEVへの実記憶領域の割り当てをページ単位で行う。このLDEVへのページ割り当て機能をシン・プロビジョニング機能と呼ぶ。
図12に、LDEVへのページ割り当て処理で用いるPMT(Page Mapping Table)408の構成を示す。PMT408は、ページ番号フィールド1201、ページ種別フィールド1202、LDEV内のページ先頭アドレスフィールド1203、ディスク番号フィールド1204、ディスク内のページ先頭アドレスフィールド1205、ページ割り当て済み判定情報フィールド1206により構成する。このPMT408は、LDEV312毎に設け、LM142などに格納される。または、SM143に格納しその情報をLM142にキャッシュすることも可能である。
PMT408のLDEV内のページ番号1201、LDEV内のページ番号1201に対応するページ種別1202、LDEV内のページ先頭アドレス1203、ディスク番号1204、ディスク内のページ先頭アドレス1205、ページ割り当て済み判定情報1206との組み合わせを、ページマッピングエントリと呼ぶ。
ページ番号フィールド1201の各エントリには、LDEV312内に割り当てられるページのページ番号が格納される。ページ種別フィールド1202は、LDEV312内に割り当てられるページに保存される情報の種別を表す。ページ種別は、MFホスト102からリードまたはライトされるトラックデータが保存されるユーザデータページや、TMT(Track Mapping Table)410が保存される制御情報ページである。
LDEV内のページ先頭アドレスフィールド1203の各エントリには、LDEV312内に割り当てられるページの先頭アドレスが格納される。ディスク番号フィールド1204の各エントリには、LDEV312を構成するディスク132の番号が格納される。
ディスク内のページ先頭アドレス1205はディスク内の実記憶領域の先頭アドレスで、ディスク内のページ先頭アドレスフィールド1205の各エントリにはLDEV312を構成するディスク132の先頭アドレスが格納される。ページ割り当て済み判定情報フィールド1206の各エントリには、LDEV312にページ割り当て時は「割り当て済み」情報、未割り当て時は「未割り当て」情報が格納される。即ち、このページ割り当て済み判定情報により、ページ単位でLDEVへの実記憶領域の割り当て状態を管理することを可能としている。
ページは、プール313に格納される一定のサイズの記憶領域であり、LDEV312の記憶領域を分割管理するための単位で、一つまたは複数のトラックで構成する。トラックはストレージ装置101で管理する一定サイズで、例えば、59,392バイトで構成する。
図13に、LDEV312とPMT408との対応関係を管理するPMT(Page Mapping Table)管理ディレクトリ409の構成を示す。PMT管理ディレクトリ409は、LDEV番号フィールド1301と、PMTのアドレスフィールド1302から構成され、SM143などに保存される。LDEV番号フィールド1301の各エントリには、LDEV312の番号が格納される。PMTのアドレスフィールド1302の各エントリには、LDEV312のページを管理するためのPMT408のアドレスが格納される。
図14に、LDEV312からHDEV311への割り当て情報を管理するTMT(Track Mapping Table)管理ディレクトリ410の構成を示す。TMT管理ディレクトリ410は、LDEV番号フィールド1401と、LDEV内の初期データトラック番号フィールド1402、LDEV内次割り当てトラック番号フィールド1403から構成され、SM143などに保存される。
LDEV番号フィールド1401の各エントリには、LDEV312の番号が格納される。初期データトラック番号フィールド1402の各エントリには、LDEV312上の初期データトラックのトラック番号が格納される。次割り当てトラック番号フィールド1403の各エントリには、LDEV312上の、次回新規割り当ての候補となるトラック番号が格納される。
図15に、LDEV312に割り当てられたページから、HDEV311にトラック割り当てを行う処理を実行するときに用いるTMT(Track Mapping Table)1511の構成を示す。このTMT1511は、HDEV内のトラック番号フィールド1501と、LDEV内のトラック番号フィールド1502と、トラック割り当て済み判定情報フィールド1503で構成する。なお、TMT1511はHDEV311毎に設定し、LDEV312内の一または複数のページ上に格納する。
TMT1511でのHDEV内のトラック番号1501と、HDEV内のトラック番号1501に対応するLDEV内のトラック番号1502と、トラック割り当て済み判定情報1503との組み合わせを、トラックマッピングエントリと呼ぶ。HDEV内のトラック番号フィールド1501の各エントリには、LDEV312に割り当てられたページから、HDEV311に割り当てられたトラックのトラック番号が格納される。LDEV内のトラック番号フィールド1502の各エントリには、HDEV311に割り当てられたLDEV312内のトラック番号が格納される。
トラック割り当て済み判定情報フィールド1503の各エントリには、HDEV311にトラック割り当て済の場合は「割り当て済み」情報、未割り当ての場合は「未割り当て」情報を格納する。即ち、この割り当て済み判定情報により、トラック単位で仮想記憶領域へのLDEVからの実記憶領域の割り当て状態を管理できる。
次に図16と図17を用い、本実施例の動作について説明する。まず、管理端末計算機103からの仮想ボリューム作成コマンドの受信により、コマンド制御部211が仮想ボリューム属性のHDEVを作成する処理を説明する。仮想ボリューム作成コマンドのパラメータは、例えば、HDEV番号(16−a)と仮想ボリュームサイズ(16−b)である。ページサイズは、例えば、59,392×672バイトである。
コマンド制御部211は、管理端末計算機103から仮想ボリューム作成コマンドのパラメータを受信した場合(S1601)、仮想ボリュームサイズ(16−b)とページサイズ(59,392×672バイト)で、PMT(Page Mapping Table)作成に必要なSMサイズ(16−c)を計算する。
CMPK124内のSM143上の未使用領域のサイズが、SMサイズ(16−c)に満たない(S1608:「Yes」)ならば、コマンド制御部211は、管理端末計算機103に対してボリューム作成不可を応答する(S1602)。未使用領域のサイズがSMサイズ(16−c)以上(S1608:「No」)ならば、コマンド制御部211は、SM143上の未使用領域にPMT408を確保し、このPMTアドレス(16−d)を取得する。
コマンド制御部211は、仮想ボリュームサイズ(16−b)と、トラックサイズと、を基に、仮想ボリュームに必要なTMT(Track Mapping Table)のサイズ(16−e)を計算する。コマンド制御部211は、TMTのサイズ(16−e)と、ページサイズと、を基に、TMTを格納する一つまたは複数ページ(制御情報ページ)数(16−f)を計算する(S1603)。
仮想ボリュームに必要な制御情報ページ数に対して、プール容量が足りない(S1609:「Yes」)ならば、コマンド制御部211は、管理端末計算機103に対してボリューム作成不可を応答する(S1604)。仮想ボリュームに必要な制御情報ページがプールに確保できる(S1609:「No」)ならば、コマンド制御部211は、制御情報ページ数(16−f)を基に、プールから仮想ボリュームへ一つまたは複数の制御情報ページを割り当てる。コマンド制御部211は、割り当て済みの一つまたは複数の制御情報ページの初期化を行う。その初期値は、例えば、“0”である(S1605)。
コマンド制御部211は、MPPK番号とHDEV番号との対応を管理する管理テーブル401(図5)の未使用エントリに、このボリュームのオーナ権を持つMPPK番号とHDEV番号(16−a)とを設定する。当該ボリュームに対するオーナ権を持つMPPK番号(16−a)は、仮想ボリューム作成コマンドのパラメータで指定されていてもよい。また、コマンド制御部211が、ストレージ装置内で最も負荷の小さいMPPK番号を、当該ボリュームに対するオーナ権を持つMPPK番号(16−a)として設定してもよい。
コマンド制御部211は、HDEV番号とLDEV番号との対応を管理する管理テーブル402(図6)の未使用エントリに、HDEV番号(16−a)と未使用のLDEV番号(16−g)とを設定する。
コマンド制御部211は、HDEV番号とボリュームサイズとの対応を管理する管理テーブル403(図7)の未使用エントリに、HDEV番号(16−a)とボリュームサイズ(16−b)とを設定する。
コマンド制御部211は、HDEV番号とHDEVの属性との対応を管理する管理テーブル404(図8)の未使用エントリに、HDEV番号(16−a)と、「仮想ボリューム」属性を設定する。
コマンド制御部211は、LDEV番号(16−g)とプール番号とPMTアドレスとの対応とを管理する管理テーブル406(図10)の未使用エントリに、LDEV番号(16−g)とLDEV番号(16−g)のLDEVにページ割り当てを行うプール番号とPMTアドレス(16−d)とを設定する。
また、コマンド制御部211は、LDEV番号(16−g)のLDEVから新規トラック割り当て処理を行い、割り当てたトラックのトラック番号(16−h)とLDEV内次割り当てトラック番号(16−i)とを取得する。その後、TMT(Track Mapping Table)410(図14)の未使用エントリに、LDEV番号(16−g)とLDEV内初期データトラック番号(16−h)とLDEV内次割り当てトラック番号(16−i)とを設定する(S1606)。最後に、コマンド制御部211は、管理端末計算機103に、ボリューム作成完了を応答する(S1607)。
次に、コマンド制御部211が、MFホスト計算機102からのライトアクセスを受領した際の処理を図17で説明する。ライトアクセス時のパラメータは、例えば、HDEV番号(17−a)とHDEV内のトラック番号(17−b)である。ページサイズは、例えば、59,392×672バイトである(S1701)。
コマンド制御部211は、MFホスト計算機102からライトアクセスのパラメータを受信した場合、HDEV311のトラック番号(17−b)とトラックサイズを基に、HDEV311内のアドレス(17−c)を計算する。
コマンド制御部211は、HDEV番号(17−a)と、HDEV番号とLDEV番号との対応関係を管理する管理テーブル402(図6)から、HDEV311に対応するLDEV番号(17−d)を取得する。コマンド制御部211は、LDEV番号(17−d)と、PMT管理ディレクトリ409と、を元に、LDEV番号(17−d)に対応するPMT408(図13)を取得する。コマンド制御部211は、PMT408内において、ページ種別1202が制御情報ページである一つまたは複数のページマッピングエントリを調べ、LDEV内のページ先頭アドレス1203からTMT1511の位置を取得する(S1702)。
コマンド制御部211は、TMT1511の位置とトラック番号(17−a)とを基に、トラック番号(17−a)に対応するトラックマッピングエントリ(17−e)を取得する。
コマンド制御部211は、トラックマッピングエントリ(17−e)内のトラック割り当て済み判定情報1503を参照し、トラック割り当て済み判定情報1503が「割り当て済み」(S1705:「No」)のときは、次の(W1)〜(W6)の動作を行う。
(W1)コマンド制御部211は、トラックマッピングエントリ(17−e)内のLDEV内のトラック番号(17−f)を取得する。
(W2)コマンド制御部211は、トラック番号(17−f)とページサイズから、トラック番号(17−f)を含むLDEV内のページ番号(17−g)と、当該ページ内の先頭アドレスからのオフセット(17−h)を計算する。
(W3)コマンド制御部211は、PMT408と、LDEV内のページ番号(17−g)と、を基に、LDEV内のページ番号(17−g)に対応するページマッピングエントリ(17−i)を取得する。
(W4)コマンド制御部211は、ページマッピングエントリ(17−i)からディスク上のページ先頭アドレス(17−j)を取得し、オフセット(17−h)を加算して、ライト対象トラックのディスク上のアドレス(17−k)を計算する。
(W5)コマンド制御部211は、アドレス(17−k)に対して、MFホスト計算機102から送られたデータをライトする(S1703)。
(W6)MFホスト計算機に対してライトコマンド完了を応答する(S1704)。
コマンド制御部211は、トラックマッピングエントリ(17−e)内のトラック割り当て済み判定情報を参照し、トラック割り当て済み判定情報が「未割り当て」(S1705:「Yes」)のときは、次の動作を行う。
まず、コマンド制御部211は、TMT管理ディレクトリ410(図14)の次割り当てトラックアドレス1403が指すLDEV内のトラック番号(17−l)をTMT内のトラックエントリ(17−e)内のトラック番号に設定する。
コマンド制御部211は、さらに、トラック割り当て済み判定情報を「割り当て済み」に設定する。そして、TMT管理ディレクトリ410の次割り当てトラックアドレス1403の値をインクリメントし、次のトラック割り当て候補先とする(S1706からS1709)。その後、コマンド制御部211は、前記(W1)〜(W6)の処理を行う。この(W1)〜(W6)の処理を“S1711“と称し、以下の説明で使用する。
コマンド制御部211は、(W3)で取得したページマッピングエントリ(17−i)のページ割り当て済み判定情報が「未割り当て」(S1706:「Yes」)の場合は、LDEV番号とプール番号とPMTアドレスとの対応を管理する管理テーブル406(図10)を参照して、LDEV番号(17−d)に対応したプール番号(17−m)を取得する。
コマンド制御部211は、取得したプール番号(17−m)を基に、プール番号とディスク番号の対応を管理する管理テーブル407(図11)を参照して、プール番号(17−m)に対応したディスク番号(17−n)を取得する。
コマンド制御部211は、取得したディスク番号(17−n)を基に、LDEV番号(17−d)に対応するプール313に属する一つまたは複数のディスク132から、ページ単位で実記憶領域の割り当てを行う(S1707)。
この際、コマンド制御部211は、PMT408(図12)を参照して、ライトアクセス先のアドレスが示すトラックを含むページエントリを探し、新たに割り当てたページの先頭アドレスをPMT408に登録し、割り当て済み判定情報フィールド1206の「未割り当て」を「割り当て済み」に設定して、PMT408を更新する。以上が、コマンド制御部211が、MFホスト計算機102からのライトアクセスを受領した際の処理である。
MFホスト計算機102からのリードアクセス時は、前記(W1)〜(W4)からリード対象トラックのアドレス(17−k)を計算し、そのアドレス(17−k)のデータをMFホスト計算機102へ送信する。
コマンド制御部211は、トラックマッピングエントリ(17−e)内のトラック割り当て済み判定情報を参照し、トラック割り当て済み判定情報が「未割り当て」のときはTMT管理ディレクトリ410(図4)上の初期データトラック番号1402(図14)のトラックを、MFホスト計算機102からリード可能とすることができる。
以上が、仮想ボリュームに対してプールからLDEVへのページ割り当てを行い、LDEVからHDEVへのトラック割り当てを行う処理である。これにより、分散メモリ型システム(図1)の階層メモリ化(図3)したトラックマッピング情報に対して、オーナ権が跨らないようにアクセスできる。このため、高速なトラックマッピング情報へのアクセス、すなわち高速なボリュームへのアクセスを実現できる。
本発明の第二の実施例である通常ボリュームから仮想ボリュームへのデータコピー処理について図18から図24で説明する。具体的には、コピー元HDEV311(正ボリューム)を実記憶領域から構成される通常ボリュームとして管理し、コピー先HDEV311(副ボリューム)を仮想記憶領域から構成される仮想ボリュームとして管理し、正ボリューム(18−a)と副ボリューム(18−b)との間でデータコピーを行うものである。
図18に、トラック番号とそのコピー状態を管理する管理テーブル(コピーBMテーブル)1811の構成を示す。コピーBMテーブル1811は、トラック番号フィールド1801とコピー状態フィールド1802から構成される。トラック番号はHDEV311内でトラックを一意に識別するための番号であって、トラック番号フィールド1801の各エントリには、HDEV311内の各トラックに対応した番号が格納される。
コピー状態は、トラックが、「コピー済み」または「未コピー」であることを特定するものであり、コピー状態フィールド1802の各エントリには、「コピー済み」(例えば、ビットがオン“b’1”)または「未コピー」(例えば、ビットがオフ“b’0”)に対応した情報が格納される。
図19に、トラック番号とその更新状態を管理するテーブル(差分BMテーブル)1911の構成を示す。差分BMテーブル1911は、トラック番号フィールド1901と更新状態フィールド1902から構成される。
トラック番号は、HDEV311内でトラックを一意に識別するための番号であって、トラック番号フィールド1901の各エントリには、HDEV311内の各トラックに対応した番号が格納される。
更新状態は、トラックが、「更新済み」または「未更新」であることを特定するものであり、更新状態フィールド1902の各エントリには、「更新済み」(例えば、ビットがオン“b’1”)または「未更新」(例えば、ビットがオン“b’0”)に対応した情報が格納される。
図20に、HDEV間のコピー処理を実行するときに用いるペア管理テーブル2011の構成を示す。ペア管理テーブル2011は、ペア番号フィールド2001、コピー元HDEV番号フィールド2002、コピー元トラック範囲フィールド2003、コピー先HDEV番号フィールド2004、コピー先トラック範囲フィールド2005、コピーBMテーブルアドレスフィールド2006、差分BMテーブルアドレスフィールド2007、で構成し、コピーペア毎に設定し、SM143などに格納される。
ペア管理テーブル2011のペア番号フィールド2001の各エントリには、ペア毎に割り振られるペア番号が格納される。コピー元HDEV番号フィールド2002の各エントリには、コピー元のHDEVのHDEV番号が格納される。コピー元トラック範囲フィールド2003の各エントリには、コピー元HDEVのコピー開始トラック番号とコピー終了トラック番号が格納される。
コピー先HDEV番号フィールド2004の各エントリには、コピー先のHDEVのHDEV番号が格納される。コピー先トラック範囲フィールド2005の各エントリには、コピー先HDEVのコピー開始トラック番号とコピー終了トラック番号が格納される。コピーBMテーブルアドレスフィールド2006の各エントリには、コピーBMテーブルのアドレスが格納される。差分BMテーブルアドレスフィールド2007の各エントリには、差分BMテーブルのアドレスが格納される。
次に、通常ボリューム属性のHDEV311(正ボリューム)から仮想ボリューム属性のHDEV311(副ボリューム)へのデータコピーにおけるペア作成処理について図21で説明する。管理端末計算機103から正ボリューム(21−a)と副ボリューム(21−b)との間でコピーペア作成コマンドを受けると、コマンド制御部211は、以下の動作を行う。
コマンドパラメータは、例えば、正ボリューム(21−a)のHDEV番号(21−c)と副ボリューム(21−b)のHDEV番号(21−d)と、正ボリューム(21−a)のコピー元トラック範囲(21−e)と、副ボリューム(21−b)のコピー先トラック範囲(21−f)と、である。コピー元トラック範囲(21−e)のトラック数と、コピー先トラック範囲(21−f)のトラック数は等しい(S2101)。
コマンド制御部211は、コピー元トラック範囲(21−e)またはコピー先トラック範囲(21−f)から、コピーBMテーブル1811と、差分BMテーブル1911に必要なSM143容量を計算する(S2102)。コピーBMテーブル1811と差分BMテーブル1911に必要なSM143容量が確保できない(S2107:「Yes」)ならば、コマンド制御部211は、管理端末計算機103に対して、ペア作成失敗を応答する(S2103)。
コピーBMテーブル1811と差分BMテーブル1911に必要なSM143容量が確保できる(S2107:「No」)ならば、コマンド制御部211は、コピーBMテーブル1811と差分BMテーブル1911をSM143上に確保する。コマンド制御部211は、確保したコピーBMテーブル1811と差分BMテーブル1911を初期化する。代表的な初期値は“0”であるが、これに限定はされない(S2104)。
コマンド制御部211は、ペア管理テーブル2011内の未使用のペア番号を新しく割り当てる。そして、コマンド制御部211は、正ボリューム(21−a)のHDEV番号(21−c)と副ボリューム(21−b)のHDEV番号(21−d)と、正ボリューム(21−a)のコピー元トラック範囲(21−e)と、副ボリューム(21−b)のコピー先トラック範囲(21−f)と、コピーBMテーブル1811のアドレスと、差分BMテーブル1911のアドレスとを、ペアエントリ(21−g)として設定する(S2105)。
コマンド制御部211は、管理端末計算機103に、ペア作成コマンド完了を応答する(S2106)。以上が、通常ボリューム属性のHDEV311から仮想ボリューム属性のHDEV311へのデータコピーにおける、ペア作成処理の動作である。
続いて、通常ボリューム属性のHDEV311(正ボリューム)から仮想ボリューム属性のHDEV311(副ボリューム)へのデータコピーにおけるコピージョブの動作について図22で説明する。
コマンド制御部211は、前述したペア作成処理を行った後、コピージョブ(図示しない)を起動する。コピージョブは、前述したペア作成処理で設定したペアエントリ(21−g)を基に、データコピー処理を次の通り行う(S2201)。
コピージョブはペアエントリ(21−g)を参照して、コピー対象トラック番号(21−h)を、正ボリューム(21−a)のコピー元トラック範囲の先頭トラック番号に設定する(S2202)。コピージョブは、コピー対象トラック番号(21−h)がコピー元トラック範囲の終端トラック番号に至る(S2203:「Yes」)まで、次の(C1)〜(C7)の順番で処理を行う。
(C1)コピージョブは、ペアエントリ(21−g)内のコピーBMテーブルアドレスからコピーBMテーブル1811を取得する。
(C2)コピージョブは、コピー対象トラック番号(21−h)と、正ボリューム(21−a)のコピー開始トラック番号(21−i)から、コピー開始トラック番号(21−i)からのオフセット(21−j)を計算する。
このとき、トラック番号(21−h)と(21−i)との差と、オフセット(21−j)との値は等しい。
(C3)コピージョブは、コピー開始トラック番号(21−i)からのオフセット(21−j)と、コピーBMテーブル1811から、トラック番号(21−h)のコピー状態を取得する。
(C4)コピージョブは、トラック番号(21−h)のコピー状態が「コピー済み」(S2204の「No」)であったならば、次の(C5)から(C7)の処理を行わず、コピー対象トラック番号(21−h)をインクリメント(S2208)して(C1)に戻る。
(C5)コピージョブは、トラック番号(21−h)のコピー状態が「未コピー」(S2204の「Yes」)であったならば、ペアエントリ(21−g)の副ボリューム(21−b)におけるコピー開始トラック番号(21−k)とオフセット(21−j)から副ボリューム(21−b)におけるコピー先トラック番号(21−l)を計算する(S2205)。
(C6)コピージョブは、正ボリューム(21−a)のトラック番号(21−h)のトラックデータを、副ボリューム(21−b)のコピー先トラック番号(21−l)にコピーする(S2206)。コマンド制御部211は、TMT1511を参照し、コピー先トラック番号(21−l)の割り当て判定情報が「未割り当て」であるならば、副ボリューム(21−b)のコピー先トラック番号(21−l)への前述した新規トラック割り当て(S1711:(W1)から(W6))を行う。
(C7)コピージョブは、正ボリューム(21−a)のトラック番号(21−h)に対応するコピーBMテーブルのコピー状態を「コピー済み」に設定する(S2207)。
以上が、通常ボリューム属性のHDEV311から仮想ボリューム属性のHDEV311へのデータコピーにおける、コピージョブの動作である。
次に、通常ボリューム属性のHDEV311(正ボリューム)から仮想ボリューム属性のHDEV311(副ボリューム)へのデータコピーにおける、MFホスト計算機102からのライトによる先行コピー動作について図23で説明する。
MFホスト計算機102から正ボリューム(23−a)に対するライトコマンドをコマンド制御部211が受け取る(S2301)と、下記(CW1)から(CW8)の動作を行う。このとき、コマンドパラメータは、例えば、正ボリューム(23−a)のHDEV番号(23−b)と、ライト対象トラックのトラック番号(23−c)である。
コマンド制御部211は、ペア管理テーブル2011から、コピー元HDEV番号が(23−b)である一つまたは複数のペアエントリを取得する。コマンド制御部211は、各ペアエントリに対して、次の動作を行う。
(CW1)コマンド制御部211は、ライト対象トラックのトラック番号(23−c)は、ペアエントリ内のコピー元トラック範囲に含まれるかどうかを調べる。含まれないならば(CW2)〜(CW8)の処理はスキップし、何もしない。
(CW2)コマンド制御部211は、ペアエントリ内のコピーBMテーブルポインタからコピーBMテーブル1811を取得する。
(CW3)コマンド制御部211は、正ボリューム(23−a)のトラック番号(23−c)と、ペアエントリのコピー元HDEVにおけるコピー開始トラック番号(23−d)から、コピー開始トラック番号からのオフセット(23−e)を計算する。このとき、トラック番号(23−c)と(23−d)の差と、(23−e)との値は等しい。
(CW4)コマンド制御部211は、コピー開始トラック番号からのオフセット(23−e)と、コピーBMテーブル1811から、トラック番号(23−c)のコピー状態を取得する。
(CW5)コマンド制御部211は、トラック番号(23−c)のコピー状態が「コピー済み」(S2302:「No」)であったならば、(CW6)と(CW7)の処理を行わず、(CW8)の処理を行う。
(CW6)コマンド制御部211は、トラック番号(21−c)のコピー状態が「未コピー」(S2302:「Yes」)であったならば、ペアエントリのコピー先HDEVにおけるコピー開始トラック番号(23−f)とオフセット(23−e)からコピー先HDEVにおけるコピー先トラック番号(23−g)を計算する(S2303)。
(CW7)コマンド制御部211は、正ボリューム(23−a)のトラック番号(23−c)の更新前トラックデータを副ボリュームのコピー先トラック番号(23−g)にデータコピーする(S2304)。コマンド制御部211は、正ボリューム(23−a)のトラック番号(23−c)に対応するコピーBMテーブル1811のコピー状態を「コピー済み」に設定する(S2305)。また、コマンド制御部211は、正ボリューム(23−a)のトラック番号(23−c)に対応する差分BMテーブル1911のコピー状態を「更新済み」に設定する(S2306)。コマンド制御部211は、TMT1511を参照し、コピー先トラック番号(23−g)の割り当て判定情報が「未割り当て」であるならば、副ボリュームのコピー先トラック番号(23−g)への前述した新規トラック割り当て(S1711:(W1)から(W6))を行う。
(CW8)コマンド制御部211は、正ボリュームのトラック番号(23−c)にMFホスト計算機102から受け取ったデータをライトする(S2307)。
最後に、MFホスト計算機102にライトコマンド完了を通知する。以上が、通常ボリューム属性のHDEV311(正ボリューム)と仮想ボリューム属性のHDEV311(副ボリューム)との間のデータコピーにおける、正ボリューム(23−a)に対するMFホスト計算機102からのライトアクセスが行われた際の動作である。
通常ボリューム属性のHDEV311(正ボリューム)と仮想ボリューム属性のHDEV311(副ボリューム)間のデータコピー中に、副ボリュームへMFホスト計算機102からのライト要求が発生した場合でも、前記の(CW1)から(CW8)の処理を実行することで容易にライト動作を実現できる。
次に、通常ボリューム属性のHDEV311(正ボリューム)(24−a)と仮想ボリューム属性のHDEV311(副ボリューム)(24−b)との間のデータコピーにおいて、副ボリューム(24−b)から正ボリューム(24−a)への差分リストア動作について図24で説明する。
MFホスト計算機102から、ペア番号(24−c)のペアエントリに対する差分リストアコマンドを、コマンド制御部211が受け取る(S2401)と、次の動作を行う。このとき、コマンドパラメータは、例えば、ペア番号(24−c)である。
コマンド制御部211は、ペア管理テーブル2011から、ペア番号(24−c)に対応するコピー元HDEV番号(24−d)と、コピー元トラック範囲(24−e)と、コピー先HDEV番号(24−f)と、コピー先トラック範囲(24−g)と、差分BMテーブルと、を取得する。また、コマンド制御部211は、リストア対象トラック(24−h)を、コピー先トラック開始番号に設定(S2402)し、コピー先トラック終了番号に至る(S2403:「Yes」)まで、次の(CR1)〜(CR5)の順番で処理を行う。
(CR1)コマンド制御部211は、副ボリューム(24−b)のリストア対象トラック番号(24−h)と、ペアエントリのコピー先HDEVにおけるコピー開始トラック番号(24−g)から、コピー開始トラック番号からのオフセット(24−i)を計算する。この時、リストア対象トラック番号(24−h)とコピー開始トラック番号(24−g)の差と、オフセット(24−i)との値は等しい。
(CR2)コマンド制御部211は、ペアエントリのコピー元HDEVにおけるコピー開始トラック番号(24−j)とオフセット(24−i)から、リストア先トラック番号(24−k)を計算する。このとき、コピー開始トラック番号(24−j)とオフセット(24−i)との和は、リストア先トラック番号(24−k)に等しい。
(CR3)コマンド制御部211は、オフセット(24−i)と差分BMテーブル1911からリストア先トラック番号(24−k)の差分状態を取得する。
(CR4)コマンド制御部211は、リストア先トラック番号(24−k)の差分状態が「未更新」であったならば、(CR5)の処理を行わず、リストア対象トラック(24−h)をインクリメント(S2405)し、(CR1)から処理を行う。
(CR5)コマンド制御部211は、リストア先トラック番号(24−k)の差分状態が「更新済み」であったならば、副ボリューム(24−b)のリストア対象トラック番号(24−h)のトラックデータを、正ボリューム(24−a)のリストア先トラック番号(24−k)のトラックにコピーする(S2404)。
そして、最後にMFホスト計算機102に対し、差分リストアコマンドに対する完了応答を行う。
なお、副ボリューム(24−b)は仮想記憶領域から構成される仮想ボリュームであるので、コピー元トラックからデータをリードする動作は、実施例1で説明した仮想ボリュームに対するリードと同様である。以上が、通常ボリューム属性のHDEV311(正ボリューム)(24−a)と仮想ボリューム属性のHDEV311(副ボリューム)(24−b)との間のコピーペアにおいて、副ボリューム(24−b)から正ボリューム(24−a)への差分リストアの動作である。
また、図27のように、管理端末103からのリバースリストアコマンド受領時、コマンド制御部211は、副ボリューム(24−b)から正ボリューム(24−a)への差分リストア後に、正ボリュームと副ボリュームのHDEV番号を入れ替えて、以降のMFホスト102から、リードまたはライトアクセスを可能としてもよい。この動作をリバースリストア処理と言う。なお、図24の差分リストア動作ステップ(S24**)と図27のリバースリストア動作ステップ(S27**)は同様な動作を行う。
更に、副ボリューム(24−b)から正ボリューム(24−a)への差分リストア実施中に、リストア先トラック番号(24−k)、または、リストア対象トラック番号(24−h)に対して、MFホスト102からリードまたはライトアクセスが行われた場合、コマンド制御部211は、前述したリストア先トラック番号(24−k)の差分状態を調べる。その結果、リストア先トラック番号(24−k)の差分状態が「更新済み」であったならば、前記(CR5)の処理を実施後に、MFホスト102からリストア先トラック番号(24−k)、または、リストア対象トラック番号(24−h)に対するリードまたはライトアクセスを可能としてもよい。この動作をオンデマンドリストア処理と言う。
以上の説明からわかるように、通常ボリュームから仮想ボリュームへのデータコピー処理においても、階層メモリ化したトラックマッピング情報に対して、オーナ権が跨らないようにアクセスできる。
次に、仮想ボリューム属性のHDEV311における割り当て済みトラックの解放処理(MFホスト計算機102から仮想ボリューム属性のHDEV311へのライト時に、ライト対象トラック内のレコードが存在しない場合)について、図25で説明する。
MFホスト計算機102から仮想ボリューム属性のHDEV311へのライトアクセスコマンドを、コマンド制御部211が受け取ると図25の動作を開始する(S2501)。この時、コマンドパラメータは、正ボリュームのHDEV番号(25−a)と、ライト対象トラックのトラック番号(25−b)と、ライトデータなどである。コマンド制御部211は、前述した実施例1に示す仮想ボリュームへのライトアクセス時の動作(図17)に従い、ライト対象トラックへMFホスト計算機102から送られたデータをライトする(S2502)。
コマンド制御部211は、MFホスト計算機102からのライトアクセスにより、ライト対象トラック内のレコードが存在しない(S2503:「Yes」)ならば、以下の(RM1)から(RM5)の動作を行う。
(RM1)コマンド制御部211は、ライト対象トラック番号(25−b)とTMT1511から、LDEV内トラック番号(25−c)を取得する。
(RM2)コマンド制御部211は、トラック番号(25−c)とページサイズからLDEV内のページ番号(25−d)と、ページ内の先頭トラック番号からのオフセット(25−e)を計算する。
(RM3)コマンド制御部211は、TMT1511上のライト対象トラックのトラック番号(25−b)に対応するトラックエントリ(25−f)を削除(破棄)する(S2504)。
(RM4)コマンド制御部211は、TMT1511上の割り当て判定情報が「割り当て済み」である全てのトラックエントリの中から、LDEV内のトラック番号とページサイズから計算できるLDEV内のページ番号が、ページ番号(25−d)と一致する一つまたは複数のトラックエントリ(25−g)が、トラックエントリ(25−f)以外に存在しないかを調べる。
(RM5)(RM4)の処理において、トラックエントリ(25−g)がトラックエントリ(25−f)以外に存在しないならば、コマンド制御部211は、PMT408上のページ番号(25−d)に対応するページエントリを削除(破棄)する(S2505)。
次に、仮想ボリュームにおける割り当て済みトラックの解放処理に伴う、ガベージコレクションと割り当て済みページの解放処理を説明する。前述した割り当て済みトラックの解放処理(RM1)から(RM5)において、一つまたは複数のトラックエントリ(25−g)がトラックエントリ(25−f)以外に存在する場合、下記(GC1)と(GC2)の動作を実行する。
(GC1)TMT1511(図15)上の割り当て済み判定情報が「未割り当て」であるトラックエントリの中から、LDEV内のトラック番号がトラック番号(25−d)よりも大きく、かつ最大であるトラックエントリ(25−h)を取得する。
(GC2)コマンド制御部211は、トラックエントリ(25−h)上のLDEV内トラック番号をトラックエントリ(25−f)に登録し、割り当て判定情報を「割り当て済み」に設定する。また、コマンド制御部211は、トラックエントリ(25−h)を削除する。
このトラックエントリの再配置を、ガベージコレクションと呼ぶ。
コマンド制御部211は、ガベージコレクション処理((GC1)と(GC2))により、トラックエントリ(25−h)を削除したならば、前述した割り当て済みトラックの解放処理((RM1)から(RM5))における(RM4)と(RM5)の処理を実施し、割り当て済みページの解放を行うこともできる。本処理により仮想ボリューム上のトラック単位でのリクラメーション及びガベージコレクションが可能となり、効率的なストレージ資源の運用が可能となる。
次に、本発明の第4の実施例である仮想ボリューム属性のHDEV311のオーナ権移動処理(管理端末計算機103からオーナ権移動指示をコマンド制御部211が受信した場合)の動作を、図26で説明する。コマンドパラメータは、オーナ権移動対象HDEV番号(26−a)、オーナ権移動元MPPK番号(26−b)、オーナ権移動先MPPK番号(26−c)などがある。
コマンド制御部211は、オーナ権移動元MPPK番号(26−b)に対応するMPPK内のLM142にキャッシングしているトラックエントリの中から、オーナ権移動対象HDEV番号のHDEV内のTMT1511に登録されているトラックエントリを取得し、LM142上から全て破棄する。
コマンド制御部211は、MPPK番号とHDEV番号との対応を管理する管理テーブル401(図5)上のオーナ権移動対象HDEV番号(26−a)に対応するオーナ権エントリ(MPPK番号)を取得する。オーナ権エントリのMPPK番号フィールド501を、オーナ権移動先MPPK番号(26−c)に設定する。以上が、仮想ボリューム属性のHDEV311のオーナ権移動処理である。これにより、柔軟なオーナ権の変更(移動)が可能となり、オーナ権を委譲されたMP141がトラックマッピング情報をアクセスできる。
次に、本発明の第5の実施例であるファイル単位でのアクセス動作について、図28と図29で説明する。図28は、図1と同様、ストレージシステムの全体構成を示すブロック構成図である。図1との相違は、NFS/CIFSクライアント104が通信線117を介しネットワーク111に接続され、ストレージ装置101に対しファイル単位でアクセスするものである。
次に、図29に、NFS/CIFSクライアント104とストレージ装置101間でやり取りするファイル290を示す。ファイル290は、メタ情報部291とデータ部292から構成される。また、メタ情報部291は、ファイル名2911、ファイルタイプ2912、ファイルサイズ2913、メタ情報部291とデータ部292の開始位置であるオフセット2914、ファイルが作成、更新、参照(読み出し)された日付情報2915を有する。ファイル290のメタ情報部291が、MFホスト計算機102からブロック単位アクセスでのトラック制御情報に該当する。
次に動作についてライトアクセス要求を例に説明する。NFS/CIFSクライアント104からストレージ装置101に対し、ファイル290の書き込み(ライトコマンドの発行)が要求される。その要求は、通信線117に接続されたネットワーク111と通信線115を経由してストレージ装置101に伝送される。ストレージ装置101ではNIC125が要求を受信し、SWPK126で処理を担当するMPPK123に要求を転送する。
MFホスト計算機102からのライトアクセス時の制御情報は、図17で説明したように、HDEV番号、HDEV内のトラック番号およびトラックサイズである。NFS/CIFSクライアント104からライトアクセスでは、メタ情報部291の情報が、MFホスト計算機102からのライトアクセス時の制御情報に該当する。データ書き込み領域の単位も、ページサイズ(例えば、59,392×672バイト)単位に合わせる。
以上の処理により、MFホスト計算機102によるホスト系アクセス(ブロック単位アクセス)だけでなく、NFS/CIFSクライアント104によるオープン系アクセス(ファイル単位アクセス)も可能である。
前記実施例1から実施例5で説明したように、分散メモリ型システムの階層メモリ化したトラックマッピング情報へオーナ権が跨らないようにアクセスできる。また、通常ボリュームから仮想ボリュームへのデータコピー処理においても、階層メモリ化したトラックマッピング情報に対して、オーナ権が跨らないようにアクセスできる。さらに、仮想ボリューム上のトラック単位でのリクラメーション及びガベージコレクションが可能となり、効率的なストレージ資源の運用が可能となる。なお、本発明は前記実施例に限定されるものでない。
本発明は、大型コンピュータ、サーバやパーソナルコンピュータなどの情報処理装置、ストレージシステムやHDDレコーダなどの情報・映像記憶装置などに適用できる。
101 複数のストレージ装置
102 MF(Main Frame)ホスト計算機
103 管理端末計算機
104 NFS/CIFSクライアント
111、112 ネットワーク
113、114、115、116 通信線
121 CHAPK(Channel Adapter PacKage)
122 DKAPK(DisK Adapter PacKage)
123 MPPK(Micro Processor PacKage)
124 CMPK(Cache Memory PacKage)
125 NIC(Network Interface Card)
126 SWPK(Switch PacKage)
131 ストレージコントローラ
132、314 ディスク
141 MP(Micro Processor)
142 LM(Local Memory)
143 SM(Shared Memory)
144 CM(Cache Memory)
201 マイクロプログラム
202 CM制御情報
203 管理テーブルのキャッシュ
211 コマンド制御部
212 RAID制御部
213 オーナ権制御部
290 ファイル
291 メタ情報部
292 データ部
301、3011,3012 OS(Operating System)
311 ホスト用論理デバイス(HDEV)
312 論理デバイス(LDEV)
313 プール
401 MPPK番号−HDEV番号対応管理テーブル
402 HDEV番号−LDEV番号対応管理テーブル
403 HDEV番号フィールド−ボリュームサイズ対応管理テーブル
404 HDEV番号−ボリューム属性対応管理テーブル
405 HDEV番号−ディスク番号対応管理テーブル
406 LDEV番号−プール番号−PMT(Page Mapping Table)アドレス対応管理テーブル
407 プール番号−ディスク番号対応管理テーブル
408 PMT(Page Mapping Table)
409 PMT管理ディレクトリ
410 TMT(Track Mapping Table)管理ディレクトリ
501 MPPK番号フィールド
502 HDEV番号フィールド
601 HDEV番号フィールド
602 LDEV番号フィールド
701 HDEV番号フィールド
702 ボリュームサイズフィールド
801 HDEV番号フィールド
802 ボリューム属性フィールド
901 HDEV番号フィールド
902 ディスク番号フィールド
1001 LDEV番号フィールド
1002 プール番号フィールド
1003 PMTアドレスフィールド
1101 プール番号フィールド
1102 ディスク番号フィールド
1201 ページ番号フィールド
1202 ページ種別フィールド
1203 LDEV内のページ先頭アドレスフィールド
1204 ディスク番号フィールド
1205 ディスク内のページ先頭アドレスフィールド
1206 ページ割り当て済み判定情報フィールド、
1301 LDEV番号フィールド
1302 PMTアドレスフィールド
1401 LDEV番号フィールド
1402 LDEV内の初期データトラック番号フィールド
1403 LDEV内次割り当てトラック番号フィールド
1511 TMTテーブル
1501 HDEV内のトラック番号フィールド
1502 LDEV内のトラック番号フィールド
1503 トラック割り当て済み判定情報フィールド
1811 コピーBMテーブル
1801 トラック番号フィールド
1802 コピー状態フィールド
1911 トラック番号と更新状態とを管理するテーブル(差分BMテーブル)
1901 トラック番号フィールド
1902 更新状態フィールド
2011 ペア管理テーブル
2001 ペア番号フィールド
2002 コピー元HDEV番号フィールド
2003 コピー元トラック範囲フィールド
2004 コピー先HDEV番号フィールド
2005 コピー先トラック範囲フィールド
2006 コピーBMテーブルアドレスフィールド
2007 差分BMテーブルアドレスフィールド
2911 ファイル名
2912 ファイルタイプ
2913 ファイルサイズ
2914 オフセット
2915 日付情報

Claims (13)

  1. 計算機に接続されるストレージシステムにおいて、
    前記計算機と接続されるインタフェース部と、
    前記インタフェース部に接続され、複数のマイクロプロセッサより構成する複数の制御部と、
    前記複数の制御部が共有してアクセスする共有メモリと、
    前記制御部のマイクロプロセッサが共有してアクセスするローカルメモリと、
    前記計算機が使用するデータを格納する物理記憶デバイスと、
    前記計算機に割り当てる第1の論理記憶領域と
    前記第1の論理記憶領域に割り当てる第2の論理記憶領域と、
    前記物理記憶デバイスから構成される物理記憶領域とを設け、
    第1の制御情報で、前記第1の論理記憶領域の前記第2の論理記憶領域への割り当てを行い、
    第2の制御情報で、前記第2の論理記憶領域の前記物理記憶領域への割り当てを行い、
    前記第1の制御情報を前記物理記憶領域のユーザが使用するトラックと別のトラックに配置し、
    前記第2の制御情報を前記共有メモリに配置し、
    前記計算機から前記第1の論理記憶領域へのアクセス要求があった場合に、前記第1の制御情報および前記第2の制御情報で、前記複数の制御部よりアクセス要求の処理を担当する制御部を選択し、
    前記選択されたアクセス要求の処理を担当する制御部だけがアクセス可能とした
    ことを特徴とするストレージシステム。
  2. 請求項1に記載のストレージシステムであって、
    前記第1の制御情報が、前記第1の論理記憶領域のトラック番号と前記第2の論理記憶領域のトラック番号とトラック割り当て状態との対応関係テーブルで構成され、
    前記第2の制御情報が、
    (1)前記制御部と第1の論理記憶領域との対応関係テーブル、
    (2)前記第1の論理記憶領域と第2の論理記憶領域との対応関係テーブル、
    (3)前記第1の論理記憶領域とその容量との対応関係テーブル、
    (4)前記第1の論理記憶領域とその属性との対応関係テーブル、
    (5)前記第2の論理記憶領域と前記物理記憶デバイスとの対応関係テーブル、
    (6)前記第2の論理記憶領域と前記物理記憶領域との対応関係テーブル、
    (7)前記物理記憶領域と前記物理記憶デバイスとの対応関係テーブル、
    (8)物理記憶領域を構成する最小単位であるページと前記第2の論理記憶領域への割り当て位置と割り当て状態との対応関係テーブル、
    (9)前記第2の論理記憶領域と、前記(8)の対応関係テーブルが前記共有メモリ上に格納されているアドレスとの対応関係テーブル、
    (10)第2の論理記憶領域と物理記憶デバイスの最小構成単位であるトラック番号との対応関係テーブル
    の少なくとも1つ以上で構成されること特徴とするストレージシステム。
  3. 請求項2に記載のストレージシステムであって、
    前記計算機からの前記第1の論理記憶領域へのボリューム作成要求において、
    前記共有メモリ上で、前記第2の論理記憶領域と前記共有メモリ上に存在する物理記憶領域を構成する最小単位であるページと前記第2の論理記憶領域への割り当て位置と割り当て状態との対応関係テーブルのアドレスとの対応関係テーブルを作成するのに必要な容量を算出し、前記物理記憶領域上で作成に必要な前記第1の制御情報の容量を算出しボリューム作成ないしは領域作成の可否を判断することを特徴とするストレージシステム。
  4. 請求項に記載のストレージシステムであって、
    前記計算機からのデータライトまたはコピー要求時に、前記第1の制御情報でのページ番号の算出と、ライトまたはコピー対象トラック割り当て状態ないしページ割り当て状態の判断による新規トラックないし新規ページの割り当てとライトまたはコピー対象トラックに対する実データの書き込みまたはコピーを実施することを特徴とするストレージシステム。
  5. 請求項に記載のストレージシステムであって、
    前記計算機からのデータリード要求において、前記第2の論理記憶領域のトラック番号とページサイズとページ番号で、当該ページ内の先頭アドレスからのオフセット値を計算し、ディスク上のページ先頭アドレスと前記オフセット値に該当するアドレスのデータを前記計算機に送信することを特徴とするストレージシステム。
  6. 請求項に記載のストレージシステムであって、
    前記計算機からのコピー要求において、前記制御部は、
    (1)コピーBMテーブルと差分BMテーブルとでコピーペアの作成
    (2)対象トラックをコピーしHDEV間コピーペア管理テーブルの更新
    を実行することを特徴とするストレージシステム。
  7. 請求項に記載のストレージシステムであって、
    前記計算機からの先行コピー要求において、前記制御部は、
    (1)更新前トラックデータのコピー先トラックへのコピー
    (2)コピーBMテーブルと差分BMテーブルの更新
    を実行することを特徴とするストレージシステム
  8. 請求項に記載のストレージシステムであって、
    前記計算機からのコピー要求による差分リストアにおいて前記制御部は、差分BMテーブルでトラックコピーを実行することを特徴とするストレージシステム。
  9. 請求項に記載のストレージシステムであって、
    前記差分リストアで通常ボリュームと仮想ボリュームを入れ替えてトラックコピーを実行することを特徴とするストレージシステム。
  10. 請求項に記載のストレージシステムであって、
    前記計算機からのリクラメーション要求において、前記制御部は、コピー先トラックのトラックエントリとページエントリの破棄を実行することを特徴とするストレージシステム。
  11. 請求項に記載のストレージシステムであって、
    前記計算機からライト要求時のガベージコレクション動作で、前記制御部は、
    (1)トラックマッピングテーブルより未割り当てのトラックエントリの中から、第2の論理記憶領域のトラック番号がページマッピングテーブルのページ番号よりも大きく、かつ最大であるトラックエントリの取得と、
    (2)前記取得したトラックエントリの割り当て判定情報の「割り当て済み」への変更と
    を実行することを特徴とするストレージシステム。
  12. 請求項に記載のストレージシステムであって、
    前記計算機からのオーナ権移動要求において、前記制御部は、トラックマッピングテープルの破棄と前記制御部と前記第1の論理記憶領域との対応関係テーブルの更新を実行することを特徴とするストレージシステム。
  13. 請求項に記載のストレージシステムであって、
    前記計算機からのデータライト要求時に、前記第1の制御情報でのページ番号の算出と、ライト対象トラック割り当て状態ないしページ割り当て状態の判断による新規トラックないし新規ページの割り当てとライト対象トラックに対する実データの書き込みを実施することを特徴とするストレージシステム。
JP2013548514A 2011-08-04 2011-08-04 実記憶領域動的割当方法を用いたストレージシステム Expired - Fee Related JP5698381B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/004442 WO2013018149A1 (en) 2011-08-04 2011-08-04 Data storage system using method for dynamically allocating physical data storage space

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2015024852A Division JP5986652B2 (ja) 2015-02-12 2015-02-12 実記憶領域動的割当方法を用いたストレージシステム

Publications (2)

Publication Number Publication Date
JP2014512578A JP2014512578A (ja) 2014-05-22
JP5698381B2 true JP5698381B2 (ja) 2015-04-08

Family

ID=47627718

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013548514A Expired - Fee Related JP5698381B2 (ja) 2011-08-04 2011-08-04 実記憶領域動的割当方法を用いたストレージシステム

Country Status (5)

Country Link
US (2) US8650381B2 (ja)
EP (1) EP2702474A1 (ja)
JP (1) JP5698381B2 (ja)
CN (1) CN103620543A (ja)
WO (1) WO2013018149A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9037901B2 (en) * 2011-08-19 2015-05-19 International Business Machines Corporation Data set autorecovery
CN103152394B (zh) * 2013-02-06 2016-09-28 华为技术有限公司 数据存取系统、内存共享设备及数据读取方法
KR101894342B1 (ko) * 2013-12-27 2018-09-03 제이엑스티지 에네루기 가부시키가이샤 발광 소자
WO2015151877A1 (ja) 2014-04-01 2015-10-08 テルモ株式会社 バルーンコーティング方法、コート層制御方法およびバルーンコーティング装置
US10296422B1 (en) * 2015-01-31 2019-05-21 Veritas Technologies Llc Low cost, heterogeneous method of transforming replicated data for consumption in the cloud
CN106612619B (zh) * 2015-08-25 2019-05-21 株式会社东芝 分级存储系统、利用分级存储装置的计算机及校正对文件的访问计数的计算机
CN105760112B (zh) * 2016-02-01 2017-03-15 惠州市蓝微新源技术有限公司 延长存储器使用时间的数据存储方法、读取方法及系统
CN107122122A (zh) * 2016-02-24 2017-09-01 湖南百里目科技有限责任公司 一种新型存储虚拟化网关虚拟池模式方法
JP2018010507A (ja) * 2016-07-14 2018-01-18 富士通株式会社 メモリ管理プログラム、メモリ管理方法及びメモリ管理装置
US10289330B2 (en) * 2017-03-30 2019-05-14 Western Digital Technologies, Inc. Allocating shared memory among multiple tasks in a multiprocessor environment
CN107229418B (zh) * 2017-05-02 2020-07-28 浙江宇视科技有限公司 一种录像文件存储方法及装置
CN110413217B (zh) * 2018-04-28 2023-08-11 伊姆西Ip控股有限责任公司 管理存储系统的方法、设备和计算机程序产品
JP7145902B2 (ja) * 2020-03-04 2022-10-03 株式会社日立製作所 ストレージシステム及びその制御方法
JP7313321B2 (ja) * 2020-08-25 2023-07-24 株式会社日立製作所 ストレージシステムおよびデータ管理方法
JP2022169249A (ja) * 2021-04-27 2022-11-09 株式会社日立製作所 分散ストレージシステム及びボリューム移動方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4751123B2 (ja) * 2005-07-29 2011-08-17 株式会社日立製作所 ストレージシステム、フォーマット方法及びコンピュータプログラム
JP4940738B2 (ja) 2006-04-12 2012-05-30 株式会社日立製作所 記憶領域動的割当方法
JP5106913B2 (ja) 2007-04-23 2012-12-26 株式会社日立製作所 ストレージシステム、ストレージシステム管理方法、及び計算機システム
JP2009093316A (ja) * 2007-10-05 2009-04-30 Hitachi Ltd ストレージシステム及び仮想化方法
US20100131373A1 (en) 2008-11-25 2010-05-27 Yahoo! Inc. Dynamic advertisement tags
WO2010131373A1 (en) 2009-05-15 2010-11-18 Hitachi,Ltd. Storage subsystem
US8214587B2 (en) * 2009-05-26 2012-07-03 Hitachi, Ltd. Storage apparatus and method for controlling storage apparatus
WO2011052005A1 (en) * 2009-10-27 2011-05-05 Hitachi, Ltd. Storage controller and storage control method for dynamically assigning partial areas of pool area as data storage areas

Also Published As

Publication number Publication date
US20130036279A1 (en) 2013-02-07
JP2014512578A (ja) 2014-05-22
US20140129770A1 (en) 2014-05-08
CN103620543A (zh) 2014-03-05
US8650381B2 (en) 2014-02-11
WO2013018149A1 (en) 2013-02-07
EP2702474A1 (en) 2014-03-05
US9122415B2 (en) 2015-09-01

Similar Documents

Publication Publication Date Title
JP5698381B2 (ja) 実記憶領域動的割当方法を用いたストレージシステム
US9747036B2 (en) Tiered storage device providing for migration of prioritized application specific data responsive to frequently referenced data
US9456049B2 (en) Optimizing distributed data analytics for shared storage
JP5202884B2 (ja) 記憶ボリューム間でデータを移行する方法および装置
US9594514B1 (en) Managing host data placed in a container file system on a data storage array having multiple storage tiers
JP4943081B2 (ja) ファイル格納制御装置及び方法
US9229870B1 (en) Managing cache systems of storage systems
US10572184B2 (en) Garbage collection in data storage systems
US8639898B2 (en) Storage apparatus and data copy method
JP5309259B2 (ja) ストレージ装置及びその制御方法
WO2011104741A1 (en) Management system for storage system and method for managing storage system
US9323682B1 (en) Non-intrusive automated storage tiering using information of front end storage activities
US20070113037A1 (en) Method and apparatus for data relocation between storage subsystems
JP2013080527A (ja) データ・ストレージ空間リカバリ・システムおよび方法
EP2107450A1 (en) Storage system
JP2010097372A (ja) ボリューム管理方式
JP5537732B2 (ja) ストレージシステム
US20160041776A1 (en) Storage system and cache control method
WO2015125221A1 (ja) ストレージシステム及び移行方法
WO2013124876A1 (en) Storage apparatus and method thereof for performance control based on usage cases of snapshots
US11099768B2 (en) Transitioning from an original device to a new device within a data storage array
WO2013038465A1 (en) Storage system and method of controlling storage system
US9239681B2 (en) Storage subsystem and method for controlling the storage subsystem
JP5986652B2 (ja) 実記憶領域動的割当方法を用いたストレージシステム
US7640415B2 (en) Storage system having a first computer, a second computer connected to the first computer via a network, and a storage device system that is accessed by the second computer

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131017

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140926

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141215

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150120

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150212

R150 Certificate of patent or registration of utility model

Ref document number: 5698381

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees