[go: up one dir, main page]

JP5073259B2 - 仮想化システム及び領域割当て制御方法 - Google Patents

仮想化システム及び領域割当て制御方法 Download PDF

Info

Publication number
JP5073259B2
JP5073259B2 JP2006263940A JP2006263940A JP5073259B2 JP 5073259 B2 JP5073259 B2 JP 5073259B2 JP 2006263940 A JP2006263940 A JP 2006263940A JP 2006263940 A JP2006263940 A JP 2006263940A JP 5073259 B2 JP5073259 B2 JP 5073259B2
Authority
JP
Japan
Prior art keywords
virtual
real
area
volume
management information
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
JP2006263940A
Other languages
English (en)
Other versions
JP2008084053A (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
Priority to JP2006263940A priority Critical patent/JP5073259B2/ja
Priority to US11/604,689 priority patent/US7814289B2/en
Priority to EP07251384A priority patent/EP1909165A3/en
Publication of JP2008084053A publication Critical patent/JP2008084053A/ja
Priority to US12/923,156 priority patent/US8032731B2/en
Priority to US13/137,533 priority patent/US8356157B2/en
Application granted granted Critical
Publication of JP5073259B2 publication Critical patent/JP5073259B2/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/0608Saving storage space on storage systems
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • 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

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)

Description

本発明は、上位装置が使用する仮想的な論理ボリュームに対して記憶領域を動的に割り当てる技術に関する。
例えば、文献1(特開2005−31929号公報)に開示の技術がある。この技術によれば、複数のサーバと記憶装置に接続され、複数のサーバによって使用される記憶装置の物理的な記憶領域を仮想的な領域(ストレージプール)として管理する管理サーバは、サーバから受信する未割当領域以上の領域割当命令に応答して、他のサーバの割当領域の少なくとも一部を開放して、領域割当命令を発行したサーバに割当てる。
特開2005−31929号公報
ところで、上位装置(例えばホスト計算機或いはストレージシステム)に仮想的な論理ボリューム(仮想ボリューム)を提供する仮想化システムが知られている。仮想化システムは、ストレージシステムであっても良いし、サーバマシンであっても良いし、ネットワーク(例えばSAN(Storage Area Network))を構成するスイッチ装置であっても良い。
仮想化システムが仮想ボリュームに実体のある記憶領域(以下、実領域)を割り当てる方法として、例えば、図3に記載の方法がある。
すなわち、割当て単位である実領域は、実体のある論理ボリューム(以下、実ボリューム)の一領域である。実ボリュームは、一又は複数の物理的な記憶装置(例えばハードディスクドライブ或いはフラッシュメモリ)の記憶空間から提供される論理的な記憶装置である。一又は複数の実ボリュームがプールとして管理されている。仮想ボリュームの或るアドレス(以下、仮想アドレス)に対して書込みが発生する場合には、仮想化システムが、プールにおける複数の実領域から未割当ての実領域を選択し、選択した実領域を、該或るアドレスを含む領域(以下、仮想領域)に割り当て、或る仮想アドレスに対する書込みの対象のデータを、該割り当てた実領域に書込む(例えば、仮想領域の記憶容量と実領域の記憶容量は同じである)。該或る仮想アドレスを含む仮想領域(所定の仮想アドレス範囲)に書込みが発生する場合には、該割当て済みの実領域にデータが書込まれ、該仮想領域とは別の仮想領域に書込みが発生する場合には、該別の仮想領域に未割当ての別の実領域が割り当てられ、該別の実領域に、データが書込まれる。
この方法では、以下の問題が生じる。すなわち、上位装置が仮想ボリュームを使用するためには、該仮想ボリュームをフォーマット(初期化)する必要がある。仮想ボリュームを使用するファイルシステムのフォーマットでは、小サイズの管理情報(メタデータ、具体的には、例えば、スーパーブロック、iノードなど)が仮想ボリュームに書かれ、且つ、管理情報の書込み先の仮想アドレスは、規則的な間隔で遷移する。この場合に、上記の方法で実領域の割り当てると、図4Aに例示するように、適宜に実領域が割り当てられるが、割り当てられた各実領域において、未使用領域のサイズが大きくなってしまうという問題がある。つまり、記憶容量の使用効率が悪いという問題が生じてしまう。
従って、本発明の目的は、仮想ボリュームを使用するファイルシステムのフォーマットにおいて、割り当てられた実領域に未使用領域が生じることを抑えることにある。
本発明の他の目的は、後の説明から明らかになるであろう。
図4Bに例示するように、仮想化システムは、仮想ボリュームのフォーマットにおいて、一旦実領域を割り当てたならば、仮想ボリュームのどこに書込みが発生しても、管理情報を、該割当て済みの実領域に詰めて書く。該実領域に未使用領域が無くなったならば、新たに未割当ての実領域を割り当てるようにする。
具体的には、例えば、仮想化システムに、判断部及び割当て制御部を備える。判断部は、上位装置からの前記仮想ボリュームに対する書込みが、該仮想ボリュームのフォーマットにおける書込みであるか否かを判断する。割当て制御部は、前記上位装置からの書込みが前記フォーマットにおける書込みであると判断された場合、該書込みの書込み位置が、割当て済みの実領域の割当て先の仮想領域とは異なる仮想領域であっても、該割当て済みの実領域に未使用領域があれば、該未使用領域に、該書込みに従う管理情報を書き、該割当て済みの実領域に未使用領域が無ければ、未割当ての実領域を新たに割当て、該新たに割り当てた実領域に、該書込みに従う管理情報を書く。
上述した各部は、ハードウェア、コンピュータプログラム又はそれらの組み合わせ(例えば一部をコンピュータプログラムにより実現し残りをハードウェアで実現すること)により構築することができる。コンピュータプログラムは、所定のプロセッサに読み込まれて実行される。また、コンピュータプログラムがプロセッサに読み込まれて行われる情報処理の際、適宜に、メモリ等のハードウェア資源上に存在する記憶域が使用されてもよい。また、コンピュータプログラムは、CD−ROM等の記録媒体から計算機にインストールされてもよいし、通信ネットワークを介して計算機にダウンロードされてもよい。
本発明によれば、仮想ボリュームを使用するファイルシステムのフォーマットにおいて、割り当てられた領域に未使用領域が生じることを抑えることができる。
図1は、本発明の一実施形態に係る計算機システムの構成を示す。
通信ネットワーク(例えばSAN)103に、一又は複数のホスト計算機101と、第一のストレージシステム105A及び第二のストレージシステム105Bが接続されている。
ホスト計算機101は、例えば、CPU(Central Processing Unit)やメモリ等の情報処理資源を備えたコンピュータ装置であり、例えば、パーソナルコンピュータ、ワークステーション、メインフレーム等として構成される。
第一のストレージシステム105Aと第二のストレージシステム105Bは、それぞれ同様のハードウェア構成にすることができる。そのため、図1では、同種の構成要素には同一の親番号を付している。そして、第一のストレージシステム及びそれの構成要素には、親番号の後に子符号として"A"を付し、第二のストレージシステム及びそれの構成要素には、親番号の後に子符号として"B"を付している。以下、両ストレージシステムについて説明する。その際、両ストレージステムを区別する場合には、親番号と子符号の組み合わせで区別するが、格別区別しない場合には、子符号を用いず親番号を用いて説明する。
ストレージシステム105は、例えば、アレイ状に配列された多数の物理的な記憶装置119を備えるRAIDシステムとすることができる。但し、これに限らず、ストレージシステム105を、高機能化されたインテリジェント型のファイバチャネルスイッチとして構成することもできる。ストレージシステム105は、コントローラ部107と、ストレージ部118とに大別することができる。
コントローラ部107は、例えば、チャネルアダプタ(CHA)109と、ディスクアダプタ(DKA)117と、キャッシュメモリ113と、共有メモリ111と、接続部115とを備えている。
CHA109は、ホスト計算機101或いは他のストレージシステムとの間のデータ通信を行うインタフェース装置である。CHA109は、例えば、CPU、メモリ、複数の通信ポート等を備えたマイクロコンピュータシステム(例えば回路基盤)として構成することができる。複数の通信ポートには、ホスト計算機101或いは他のストレージシステムと通信可能に接続される通信ポートと、接続部115に接続される通信ポートとがある。例えば、CHA109は、ホスト計算機101から書込み要求を受信し、受信した書込み要求に従うデータを、キャッシュメモリ113に書込み、DKA117にそのデータの書込みを命じることができる。また、例えば、CHA109は、ホスト計算機101から読出し要求を受信し、受信した読出し要求に従うデータの読出しをDKA117に命令し、その命令に従うデータをキャッシュメモリ113から読出し、ホスト計算機101に送信することができる。
DKA117は、物理的な記憶装置119との間のデータ通信を行うインタフェース装置である。DKA117も、CPU、メモリ、複数の通信ポート等を備えたマイクロコンピュータシステム(例えば回路基盤)として構成することができる。複数の通信ポートには、物理的な記憶装置119と通信可能に接続される通信ポートと、接続部115に接続される通信ポートとがある。例えば、DKA117は、CHA109からの書込みの命令に応答して、キャッシュメモリ113に記憶されているデータを、物理的な記憶装置119に書込むことができる。また、例えば、DKA117は、CHA109からの読出しの命令に応答して、その命令に従うデータを物理的な記憶装置119から読出し、キャッシュメモリ113に書込むことができる。
キャッシュメモリ113は、例えば、揮発性又は不揮発性のメモリであり、ホスト計算機10から受信したデータや、物理的な記憶装置119から読出されたデータを、一時的に記憶する。
共有メモリ111は、例えば、揮発性又は不揮発性のメモリであり、ストレージシステム105の制御のためにCHA109或いはDKA117に参照される情報(以下、制御情報)が格納される。制御情報の種類については後に詳述する。
接続部115は、CHA109、DKA117、キャッシュメモリ24、及び共有メモリ25を相互に接続させる。接続部26は、例えば、高速スイッチング動作によってデータ伝送を行う超高速クロスバスイッチ等のような高速バスとして構成することができる。
ストレージ部118には、複数の物理的な記憶装置119が含まれている。物理的な記憶装置119としては、例えば、ハードディスク、フレキシブルディスク、磁気テープ、半導体メモリ、光ディスク等のようなデバイスを用いることができる。二以上の物理的な記憶装置119により、所定のRAIDレベルのRAIDグループを構成することができる。RAIDグループを構成する二以上の物理的な記憶装置119の記憶空間を用いて、実体のある論理ボリューム(実ボリューム)を形成することができる。実ボリュームにおける一領域(つまり実領域)が、ホスト計算機101に提供される仮想ボリュームに割り当てられる。
以上が、本実施形態に係る計算機システムの構成である。なお、この構成は、例であり、本発明を図1の構成に限定するものではなく、他の構成が採用されてもよい。例えば、共有メモリ111とキャッシュメモリ113は、別々のメモリでなく、一つのメモリに共有メモリ領域とキャッシュメモリ領域とが設けられても良い。また、例えば、両ストレージシステム105A、105Bの構成が互いに異なっていても良い。また、例えば、コントローラ部107は、CPU、メモリ及び複数の通信ポートを備えた回路基盤(すなわち、図1のコントローラ部よりもシンプルな構成)であっても良い。この場合、そのCPUが、複数のCHAやDKAによって行われる処理を実行することができる。
図2は、第一のストレージシステムと第二のストレージシステムとの接続構成と、共有メモリに記憶される制御情報の種類とを示す。
複数のCHA109は、他のストレージシステム105と通信するためのCHAと、ホスト計算機101と通信するためのCHAとに大別することができる。第一のストレージシステム105Aを代表的に例に採り説明すると、複数のCHA109Aには、ホスト計算機101と通信するCHA109A1と、第二のストレージシステム105Bと通信するCHA109A2とがある。CHA109A1が、ホスト計算機101に仮想ボリュームを提供したり、仮想ボリュームの或る仮想アドレスに対する書込み要求があった場合に、実領域を割り当てたりすることができる。これは、例えば、図20に示すように、CHA109A1に搭載のプロセッサ511でIO制御プログラム501が実行されることにより、行うことができる。また、CHA109A1は、第一のストレージシステム105A内の論理ボリューム間でデータコピーを行うことができる。これは、例えば、図20に示すように、CHA109A1に搭載のプロセッサ511でコピー制御プログラム503が実行されることにより、行うことができる。一方、CHA109A2は、第一のストレージシステム105Aの論理ボリューム(仮想ボリュームでも実ボリュームでも良い)から第二のストレージシステム105Bの論理ボリューム(仮想ボリュームでも実ボリュームでも良い)にデータをコピーする場合に、コピー対象のデータを第二のストレージシステム105Bに送信することができる。これは、例えば、図20に示すように、CHA109A2に搭載のプロセッサ513でリモートコピー制御プログラム505が実行されることにより、行うことができる。以下、コンピュータプログラムが主語になる場合は、実際にはそのコンピュータプログラムを実行するプロセッサ(例えばCPU)によって処理が行われるものとする。
仮想ボリュームに対する実領域の割当て方法としては、図3を参照して説明した方法を採用することができる。すなわち、プールに属している複数の実ボリューム(つまりプール内の複数の実領域)から未割当ての実領域が選択され、選択された実領域が、仮想ボリュームにおける仮想領域に割り当てられる。以下の説明では、便宜上、割当て単位となる領域を「ページ」と称し、割当て元である実領域(実ボリュームの一領域)を「実ページ」と称し、割当て先である仮想領域(仮想ボリュームの一領域)を「仮想ページ」と称する。実ページと仮想ページはそれぞれ同じサイズであり、一つの仮想ページに対して一つの実ページが割り当てられる。
共有メモリ111Aに記憶される制御情報の種類として、例えば、実ページ管理情報135A、ホストライト位置情報131A、及び仮想ボリューム構成情報133Aがある。
実ページ管理情報135Aは、複数の実ページのうちのどれが仮想ページに割当て済みでどれが未割当てであるかを管理するための情報である。実ページ管理情報135Aには、例えば、各実ページ毎に、実ページの識別子、その実ページが存在する実ボリュームの識別子(例えば論理ユニット番号(LUN))、その実ページが割当て済みか否かを表すステータスが含まれる。CHA109A1は、実ページ管理情報135Aを参照することにより、未割当ての実ページを特定することができる。
ホストライト位置情報131Aは、どの仮想ボリュームのどこに対する書込み要求を受信したかを表す情報である。言い換えれば、ホストライト位置情報131Aは、受信した書込み要求で指定された書込み先の情報(ホストライト位置)の履歴である。ホストライト位置は、例えば、論理ブロックアドレス(LBA)或いは仮想スロット番号(以下、「仮想スロット#」と記載することがある)で表すことができる。「スロット」とは、ページの一領域であり、複数のスロットにより一つのページが構成される。「仮想スロット」とは、仮想ページの一領域である。それに対し、後述する「実スロット」とは、実ページの一領域である。また、ホストライト位置としては、書込み要求で指定された位置(例えば、図7Aでは、書き始めの仮想スロット#0、mなど)に加えて、例えば、その書込み要求に付随して書かれることになる仮想スロット#(例えば、図7Aでは、仮想スロット#1,2や、m+1、m+2など)があっても良い。
仮想ボリューム構成情報133Aは、仮想ボリュームの構成に関する情報であり、仮想ボリューム毎に用意される。仮想ボリューム構成情報133Aには、例えば、仮想ボリューム定義情報と、アドレス変換テーブルと、変換パラメータ群とが含まれる。
仮想ボリューム定義情報とは、仮想ボリュームの定義に関する情報であり、具体的には、例えば、仮想ボリュームの識別子(例えばLUN)、仮想ボリュームの記憶容量、仮想ボリュームのアドレス範囲(先頭と終端のそれぞれの仮想アドレス)が含まれる。仮想アドレスは、論理ブロックアドレスで表すことができる。
アドレス変換テーブルとは、仮想ページと実ページとの対応関係を管理するためのテーブルであり、どの仮想ページにアクセスされた場合にはどの実ページにアクセスするかを特定するために参照されるものである。アドレス変換テーブルには、例えば、各仮想ページ毎に、仮想ページの番号(仮想ページ#)と、その仮想ページに実ページが割当て済みか否かを表すステータスと、割当て済みであればどの番号の実ページ(実ページ#)が割り当てられているかを表す。なお、このアドレス変換テーブルでは、各仮想ページについて管理されているが、各仮想スロットについての管理はされていない。どの仮想スロットがどの実スロットに対応するかは、後述する変換パラメータ群を用いた計算で算出される。これにより、アドレス変換テーブルで各仮想スロットと各実スロットとの対応までをも管理することに比して、アドレス変換テーブルのサイズを抑えることができ、以って、共有メモリ111Aで消費される記憶容量を節約することができる。
変換パラメータ群とは、仮想スロット#から実スロット#(具体的には、後述する管理情報#或いはデータ#)に変換したり逆に実スロット#から仮想スロット#に変換したりするのに必要な一種類以上のパラメータ(変換パラメータ)である。変換パラメータの種類については後述する。
第二のストレージシステム105Bの共有メモリ111Bにも、同様の制御情報が格納される。実ページ管理情報135Bは予め用意されており、他種の制御情報が、適宜に生成される。どのような制御情報が格納されるかについては、後に説明する。
図5は、ホスト計算機からのアクセス要求で指定されているアクセス先仮想LBAから仮想スロット#を算出する方法の説明図である。
この図は、データサイズA(例えば単位はバイト)のブロック毎にデータサイズBの管理情報が書かれるファイルシステムの場合の割当て方式の説明図である(A>Bである)。ちなみに、ブロックとは、ホスト計算機101のOS(オペレーティングシステム、例えばUNIX(登録商標))で管理される単位である。つまり、ホスト計算機101からは、データがブロック単位で書かれる。スロットは、そのブロックのデータサイズよりも小さく、例えば、複数のスロットのトータル記憶容量が、一つのブロックのデータサイズと同じになる。また、本実施形態では、前述したように、スロットは、ページの記憶容量よりも小さく、例えば、複数のスロットのトータル記憶容量が、一つのページの記憶容量と同じになる。
ここで、仮想ページの記憶容量をC(例えば単位はメガバイト)とした場合、IO制御プログラム501は、以下の流れで、アクセス先仮想LBA:Dに対応した仮想スロット#を算出することができる。
まず、
P=D%A…(1)
すなわち、DをAで割った場合の余りPが算出される。Pは、データサイズAのブロックにおいて、管理情報が書かれる場所か、或いは、ユーザデータが書かれる場所かを判別するための値である。ユーザデータとは、フォーマットが済んだ後に、ホスト計算機101によって書き込まれたり読み出されたりするデータである。
また、
Q=D/A…(2)
すなわち、DをAで割った場合の商Qが算出される。Qは、ブロック単位で数えて何番目のブロックであるかを表す値である。
(1)式で算出されたPと、データサイズBとが比較される。以下、P<Bであるか否か(アクセス先仮想LBAは、管理情報が書かれる場所か或いはユーザデータが書かれる場所か)により、計算される式が異なる。
すなわち、P<Bであれば、以下の(3)式及び(4)式、
E=(B×Q+P)/C…(3)
F=(B×Q+P)%C…(4)
すなわち、(B×Q+P)をCで割った場合の商Eと、(B×Q+P)をCで割った場合の余りFとがそれぞれ算出される。Eは、仮想ページ#であり、Fは、該仮想ページ#の仮想ページにおけるLBAである。算出されたE及びFと、仮想ページの記憶容量Cと、仮想スロットの記憶容量とを用いれば、仮想スロット#を特定することができる。すなわち、仮想ページの記憶容量Cを仮想スロットの記憶容量で割れば、仮想ページを構成する仮想スロットの数が求まり、仮想スロットの数に仮想スロット#を掛けて、一つの仮想ページにおけるFの値に対応した仮想スロット数を加算すれば、仮想ボリュームにおける先頭からの仮想スロット#が求まる。本実施形態では、仮想ページ#、仮想スロット#、実ページ#及び実スロット#は、それぞれ、例えば、0、1、2、…のように、0から連番で整数の番号となっている。
一方、上述のPとBの比較の結果、P<Bでなければ、以下の(5)式及び(6)式、
G=((A−B)×Q+P−B)/C…(5)
H=((A−B)×Q+P−B)%C…(6)
すなわち、((A−B)×Q+P−B)をCで割った場合の商Gと、((A−B)×Q+P−B)をCで割った場合の余りHとがそれぞれ算出される。Gは、仮想ページ#であり、Hは、該仮想ページ#の仮想ページにおけるLBAである。これら算出されたG及びHを基に、前述したE及びFを用いる方法と同様の方法で、仮想スロット#を算出することができる。
以上のようにして算出された仮想スロット#と、仮想ボリュームのフォーマットの際に算出された変換パラメータとを使用することで、仮想スロット#を実スロット#に変換することができる。
ところで、仮想ボリュームのフォーマットの方式は、仮想ボリュームを使用するファイルシステムによって異なる。例えば、図6A及び図6Bに例示する第一のフォーマット方式もあれば、図9A及び図9Bに例示する第二のフォーマット方式もある。
第一のフォーマット方式によれば、或る仮想スロットから一つの管理情報が連続的に書かれた後に、該或る仮想スロットから所定間隔遷移した先の仮想スロットから再び一つの管理情報が連続的に書かれるといったことが繰り返される。それにより、複数の管理情報が所定間隔で仮想ボリュームに書かれる。
第二のフォーマット方式によれば、複数の管理情報のそれぞれの部分が、所定間隔毎に書かれ、次に、それら複数の管理情報のそれぞれの次の部分が、所定間隔毎に書かれるといったことが、複数の管理情報の全てが書かれるまで繰り返される。具体的には、例えば、第一の管理情報の第一部分が第一の仮想スロットに書かれ、第二の管理情報の第一部分が、第一の仮想スロットから所定仮想スロット分離れた第二のスロットに書かれる。こういったことが全ての管理情報の第一部分について行われた後、第一の管理情報の、第一部分の次の第二部分が、第一の仮想スロットの次の第三の仮想スロットに書かれ、第二の管理情報の第二部分が、第二の仮想スロットから所定仮想スロット分離れた第四の仮想スロットに書かれる。こういった処理が、複数の管理情報について繰り返されることにより、複数の管理情報が所定間隔で仮想ボリュームに書かれる。
いずれのフォーマット方式でも、管理情報が所定間隔で書かれていく。ここで、格別の工夫が無いと、フォーマットの際に割り当てられた実ページに書かれる管理情報のサイズは小さいので、該実ページに未使用領域が多く残ってしまうという問題が生じるが、本実施形態では、以下のようにして、その問題を解消することができる。すなわち、仮想ボリュームに一旦実ページを割り当てた後は、仮想ボリュームのどこに管理情報部分の書込みが発生しても、該割り当て済みの実ページに続けて管理情報部分を書いていく。これにより、実ページに未使用領域が生じることを抑えることができる。以下、第一及び第二のフォーマット方式を例に採り詳述する。なお、その際、一つのスロットに書かれるのは、管理情報の一部分或いはユーザデータの一部分であるので、適宜に、「管理情報部分」或いは「ユーザデータ部分」という表現を使用する。
第一のフォーマット方式では、図6Aに例示するように、仮想スロット#0〜2に管理情報が書かれた場合、実スロット#0〜3で構成される実ページ601の上位3つの実スロット#0〜2に管理情報が書かれ、一つの実スロット#3が余る。次に、仮想スロット#m〜m+2に管理情報が書かれた場合、仮想スロット#mに書かれた管理情報部分は、上記余っている実スロット#3に書かれ、残りの管理情報部分は、実スロット#4〜7で構成される実ページ601が新たに割り当てられそのうちの実スロット#4〜5に書かれる。このようにして、一つの実ページに連続的に管理情報部分が書かれていく。なお、図6Aにおいて、「必ずまとめて割り当てる領域」とは、仮想ボリュームが未フォーマットの場合に初めて該仮想ボリュームに対する書込み要求を受信してから書込み要求をN回受信するまでに割り当てる実ページを示し、「領域をまとめて割り当てる」とは、実ページを割り当てることにより複数の実スロットがまとめて割り当ることを意味する。また、図6Aにおいて、「変換パラメータ群確立」とは、N回書込み要求を受信した場合には後述する各種変換パラメータが求まることを意味する。また、Nは、書込み要求の受信回数(換言すれば、ホスト計算機101からの書込みの回数)の閾値である。Nの値は、各種変換パラメータが求まるのに必要な最低限以上の数とすることができ(図6B参照)、具体的には、2以上の整数である。これらのことは、図9A及び図9Bについても同様である。また、図6Aにおいて、仮想ボリュームから各ページに対する実線矢印は、書込み要求をN回受信した場合の割り当ての結果を示し、仮想ボリュームからページに対する点線矢印は、それ以降に書込み要求を受信した場合の割り当ての結果を示す。これらのことは、図7A、図9A及び図10Aについても同様である。
図7Aは、第一のフォーマット方式において算出される変換パラメータ種類の説明図である。
第一のフォーマット方式において算出される変換パラメータ種類として、管理情報サイズと周期幅とがある。
「管理情報サイズ」とは、管理情報のデータサイズである。管理情報サイズは、例えば、一つの仮想ページにおいて管理情報が連続して占める仮想スロットの数と一つの仮想スロットのサイズとを掛けることにより算出することができる。
「周期幅」とは、或る管理情報が占める複数の仮想スロットのうちの先頭仮想スロット(他の所定位置の仮想スロットでも良い)と、次の管理情報が占める複数の仮想スロットのうちの先頭仮想スロット(他の所定位置の仮想スロットでも良い)との間の間隔である。周期幅は、例えば、先頭仮想スロット同士の番号の差(例えばm−0)で表すことができる。なお、一般に、「周期」という言葉は、時間的な間隔を表すのに用いられるが、本実施形態では、便宜上、管理情報の書込み先の間隔を表すのに用いている。
第一のフォーマット方式では、前述したように、一つの管理情報が連続的に書かれた後に、次の一つの管理情報が連続的に書かれるようになっているので、上記Nの最小値は、2とすることができる。つまり、未フォーマットの状態で書込み要求を2回受信した場合に、管理情報サイズ及び周期幅を算出することができる。なお、第一のフォーマット方式では、Nという閾値が無くても良く、その際には、管理情報の書込み先が連続的でなくなったときに、各種変換パラメータを算出しても良い。以下、仮想ボリュームに対する書込み要求を「ホストライト」と称することがある。また、図7Aにおいて、「割当サイズ(ユーザ設定)」とは、ページの記憶容量はユーザ可変の値であっても良いことを意味する。
これらの変換パラメータを用いて、仮想スロット#を管理情報#に変換する第一の変換を行うことができるし、逆に、管理情報#を仮想スロット#に変換する第二の変換を行うことができる。それぞれの変換のための変換式を、図7Bに示している。すなわち、
(第一の変換:仮想スロット#→管理情報#)
周期#=仮想スロット#/周期幅
周期オフセット=仮想スロット#−周期#×周期幅
管理情報#=周期#×管理情報サイズ+周期オフセット
(第二の変換:管理情報#→仮想スロット#)
周期#=管理情報#/管理情報サイズ
周期オフセット=管理情報#−周期#×管理情報サイズ
仮想スロット#=周期#×周期幅+周期オフセット
である。
なお、「管理情報#」とは、実スロット#のうち管理情報部分が書かれる実スロットの番号である。また、複数の管理情報が書かれる場合、管理情報同士の間隔も複数個生じ得るが、周期#とは、何番目の間隔(周期)であるかを特定するための番号である。周期オフセットとは、各周期毎において、先頭仮想スロット#を0とした場合の仮想スロット#を表す。
また、本実施形態では、管理情報#に対し、図12Aに示すように、データ#がある。「データ#」とは、実スロット#のうちユーザデータ部分が書かれる実スロットの番号である。本実施形態では、仮想ボリュームにおいて、管理情報部分が書かれる実ページの集合が、管理情報領域としてあり、ユーザデータ部分が書かれる実ページの集合が、データ領域としてある。管理情報領域を構成する複数の実ページにそれぞれ対応した複数の仮想ページは、仮想ボリュームにおいて一定の間隔で散在する。管理情報が周期的に書かれるためである。管理情報領域を構成する各実ページの各実スロットの実スロット#が、管理情報#であり、データ領域を構成する各実ページの各実スロットの実スロット#が、データ#である。例えば、図12Aに示すように、実スロット#が0〜n(nは15以降の整数)とある場合、0〜11が管理情報#であり、12〜nが、データ#となる。
図12Bに、仮想スロット#をデータ#に変換する第三の変換のための変換式、及び、データ#を仮想スロット#に変換する第四の変換のための変換式を示す。すなわち、
(第三の変換:仮想スロット#→データ#)
周期#=スロット#/周期幅
周期オフセット=スロット#−周期#×周期幅−管理情報サイス゛
データ#=周期#×(周期幅−管理情報サイス゛)+周期オフセット+管理情報データ数
(第四の変換:データ#→仮想スロット#)
周期#=(データ#−管理情報データ数)/周期幅
周期オフセット=(データ# −管理情報データ数)−周期#×(周期幅−管理情報サイス゛)
仮想スロット#=周期#×周期幅+周期オフセット
である。ユーザデータ部分も、実ページに詰めて書かれる。
なお、「管理情報データ数」とは、管理情報の数のことであり、管理情報が周期的な間隔で書かれる関係上、周期#の数(図12Aの例によれば、4)と置換しても良い。
また、もし、管理情報領域を構成する実ページにおいて、管理情報部分が書かれない実スロットが生じても(つまり実スロットに余りが生じても)、IO制御プログラム501は、ユーザデータ部分をその実スロットには書かず、新たに別の実ページを割り当て、その実ページにユーザデータ部分を書くようにする。
図8は、IO制御プログラム501が行う処理の流れの一例を示す。なお、この図では、ステップを「S」と略記している。
仮想ボリュームがホスト計算機101にマウントされた後に、該仮想ボリュームに対するホストライトが発生し得る。
IO制御プログラム501は、ホストライトがあった場合(S101)、仮想ボリュームの初期化済み(フォーマット済み)であるか否かを判断する(S102)。初期化済みであると判断した場合は(S102でyes)、S111に進み、初期化済みでないと判断した場合は(S102でno)、S103に進む。S102でnoの場合としては、初期化が始まっていないか、或いは、初期化中かである。
S103では、IO制御プログラム501は、ホストライトの回数(以下、ライト回数)がN回より上かどうかを判別する。IO制御プログラム501は、例えば、仮想ボリュームに対するホストライトの回数をカウントしており、そのカウント値と閾値Nとを比較することにより、その判別を行うことができる。ライト回数がNより上であれば(S103でyes)、S107に進み、そうでなければ(S103でno)、S104に進む。
S104では、IO制御プログラム501は、ライト回数がNかどうかを判別する。ライト回数がNであれば(S104でyes)、S106に進み、そうでなければ(S104でno)、S105に進む。
S105では、IO制御プログラム501は、今回のホストライトの位置(つまり書込み先を表す情報)を、ホストライト位置情報131Aに含める。その後、S101に戻る。なお、ホストライト位置情報131Aでは、例えば、時系列で(ホストライト回数の順序で)、ホストライト位置の履歴が並ぶ。これにより、ホストライト位置がどのように変化したかがわかり、故に、フォーマット方式が第一と第二のいずれであるかを判別することができる。
S106では、IO制御プログラム501は、ホストライト位置情報131Aに含まれているホストライト位置の履歴(ホストライト位置の変化の仕方)から、フォーマット方式が第一のフォーマット方式であることを判別し、第一のフォーマット方式に対応した各種変換パラメータとして、前述した管理情報サイズ及び周期幅を算出する。その後、S101に戻る。
S107では、IO制御プログラム501は、ホストライト位置が管理情報領域かどうかを判断する。具体的には、例えば、IO制御プログラム501は、算出された管理情報サイズ(仮想スロットの数)と周期幅を基に、N+1回目以降のホストライトで管理情報が書かれる複数の仮想スロット#を予測し、今回のホストライト位置に対応した仮想スロット#が、予測された複数の仮想スロット#にあるかどうかを判断する。今回のホストライト位置に対応した仮想スロット#を求めるためには、例えば、図5を参照して説明した各式を使用することになるが、このS107の判断では、P<Bとなるか否かを判断するだけでも良い)。
今回のホストライト位置が管理情報領域であると判断した場合には(S107でyes)、S108に進み、そうでない場合には(S107でno)、S109に進む。
S108では、IO制御プログラム501は、管理情報を割当て済みの実ページに詰めて書く。割当て済み実ページが満杯であれば、新たに未割当ての実ページを割り当て、その実ページに管理情報を書く。
S109では、IO制御プログラム501は、管理情報領域へのホストライトの回数を所定の記憶域に記憶させる(例えば、ホストライト位置情報131Aに含める)。そして、その仮想ボリュームの初期化を終了する(S110)。なお、ホストライト回数は、図12A及び図12Bにおける前述した管理情報データ数を求めるために使用することができる。管理情報データ数は、先頭データ(ユーザデータの書かれる先頭位置)を決めるためのオフセットとして使用することができる(管理情報データ数は、データのアドレス変換を行うために必要となる)。
S111では、IO制御プログラム501は、今回のホストライト位置が管理情報領域かどうかを判断する。具体的には、例えば、IO制御プログラム501は、S107と同様の方法で判断する。今回のホストライト位置が管理情報領域であると判断した場合には(S111でyes)、S112に進み、そうでない場合には(S111でno)、S113に進む。
S112では、IO制御プログラム501は、今回のホストライト位置(仮想スロット#)に対応する管理情報#を第一の変換の式(図7B参照)を用いて算出し、且つ、ホストライト位置(仮想ページ#)に対応する実ページ#をアドレス変換テーブルから取得し、管理情報#及び実ページ#から特定される場所に、管理情報部分を書く。
S113では、IO制御プログラム501は、今回のホストライト位置(仮想スロット#)に対応するデータ#を第三の変換の式(図12B参照)を用いて算出し、且つ、ホストライト位置(仮想ページ#)に対応する実ページ#をアドレス変換テーブルから取得し、管理情報#及び実ページ#から特定される場所に、ユーザデータ部分を書く。
以上が、第一のフォーマット方式での実ページの割当てと書込みについての説明である。なお、上記の例では、ホストライトを例に採り説明したが、ホストライトに限らず、ホストリード(すなわち、ホスト計算機から仮想LBAを指定した読出し要求)があった場合にも、第一の変換及びアドレス変換テーブルの参照が実行される。
次に、第二のフォーマット方式での実ページの割当てと書込みについて説明する。なお、その際、第一のフォーマット方式で説明済みの点については、説明を省略或いは簡略し、相違点を主に説明することにする。
第二のフォーマット方式では、図9A及び図9Bに例示するように、書込まれる管理情報の数と同じ数だけホストライト位置が所定間隔でジャンプすること(連続的にならずに一定間隔で遷移すること)が、管理情報を構成する管理情報部分の数と同じ回数繰り返される。図9Aの例では、管理情報の数が4であり、一つの管理情報を構成する管理情報部分の数が3なので、ホストライト位置(仮想スロット#)が4回ジャンプすることが3回繰り返される。その繰り返しの際の初めのホストライト位置は、前回の初めのホストライト位置の次のホストライト位置となる。各回でのホストライトによって書かれた管理情報部分が、なるべく一つの実ページに書かれる。
より具体的に言うと、仮想スロット#0、m、2m、3mにそれぞれ書かれる4つの管理情報部分(4つの管理情報のそれぞれの初めの一部分)が、初めに割り当てられた実ページの4つの実スロットにそれぞれ書かれる。次に、仮想スロット#1、m+1、2m+1、3m+1にそれぞれ書かれる4つの管理情報部分(4つの管理情報のそれぞれの次の一部分)が、次に割り当てられた実ページの4つの実スロットにそれぞれ書かれる。最後に、仮想スロット#2、m+2、2m+2、3m+2にそれぞれ書かれる4つの管理情報部分(4つの管理情報のそれぞれの最後の一部分)が、最後に割り当てられた実ページの4つの実スロットにそれぞれ書かれる。これにより、仮想ボリュームの初期化の完了となる。
図10Aは、第二のフォーマット方式において算出される変換パラメータ種類の説明図である。
第二のフォーマット方式において算出される変換パラメータ種類としては、管理情報サイズと周期幅のうち、管理情報サイズに代えて、周期の総数がある。「周期の総数」とは、周期幅の数であり、言い換えれば、管理情報の数である。
これらの変換パラメータを用いて、仮想スロット#を管理情報#に変換する第五の変換を行うことができるし、逆に、管理情報#を仮想スロット#に変換する第六の変換を行うことができる。それぞれの変換のための変換式を、図10Bに示している。すなわち、
(第五の変換:仮想スロット#→管理情報#)
周期#=仮想スロット#/周期幅
周期オフセット=仮想スロット#−周期#×周期幅
管理情報#=周期オフセット×管理情報数+周期#
(第六の変換:管理情報#→仮想スロット#)
周期オフセット=管理情報#/周期の総数
周期#=管理情報#−周期オフセット×周期の総数
仮想スロット#=周期#×周期幅+周期オフセット
である。
図11は、IO制御プログラム501が行う処理の流れの一例を示す。この図では、図8と同じ処理が行われるステップには図8で付した番号と同一の番号を付している。
この流れでは、図8のS106において、ホストライト位置情報131Aから、第二のフォーマット方式であることを判断することができる。そのため、この流れでは、算出される変換パラメータ種類が異なるし(それ故、図11ではS106´としている)、S109とS110との間に、S109Bがある。S109Bでは、管理情報のサイズが算出される。これにより、第二のフォーマット方式で算出されていない管理情報サイズが算出される。管理情報サイズは、データのアドレス変換を行うために必要となる。
以上が、第二のフォーマット方式での実ページの割当てと書込みについての説明である。
以上の説明によれば、第一及び第二のフォーマット方式のいずれであっても、フォーマットの際に、実ページに未使用領域が生じることを抑えることができる。
ところで、第一のストレージシステム105Aは、前述したように、論理ボリューム間でのデータコピーを実行することができる(以下、論理ボリュームを「VOL」と略記することがある)。コピー元VOLは、第一のストレージシステム105Aに存在し、コピー先VOLは、ストレージシステム105A、105Bのどちらに存在しても良い。コピー先VOLが第一のストレージシステム105Aに存在する場合には、ローカルコピー(ストレージシステム105A内でのデータコピー)となり、コピー先VOLが第二のストレージシステム105Aに存在する場合には、リモートコピーとなる。
ここで、例えば、コピー元VOL及びコピー先VOLが仮想VOLであり、コピー先VOLが第二のストレージシステム105Bに存在する場合、リモートコピーの方法として以下の方法が考えられる。すなわち、第一の方法として、実ページ単位でリモートコピーを実行し、リモートコピー実行後に、各コピー先実ページを仮想VOLに割り当てる方法や、第二の方法として、実ページの各実スロット#を仮想スロット#に変換し、仮想スロット#から仮想LBAを算出し、該仮想LBAを指定した書込みを、コピー先VOLに対して発行する方法が考えられる。第一の方法では、第二の方法のような変換処理を省略できるので、第二の方法に比して高速なコピーが期待できるが、第二のストレージシステム105Bにおいて、仮想ボリュームのどこに管理情報が書かれているのかを把握することができない。言い換えれば、ホストから見える配置(仮想ボリュームのどこに管理情報を書込んだか等)と実際の格納配置との対応関係を第二のストレージシステム105Bで維持することができない。一方、第二の方法では、コピー先VOLで、コピー元VOLと同じように書込みが発生するので、第一の方法のような問題が生じないようにすることができるものの、上記のような変換処理をいちいち行う必要があるので、コピーに長い時間を要してしまうおそれがある。
そこで、本実施形態では、コピー元VOLが仮想VOLである場合のコピー処理が工夫されている。以下、詳述する。
例えば、コピー制御プログラム503が、ホスト計算機101(或いは図示しない管理計算機)から送信されたコピー指示を受信し、そのコピー指示に従ってVOL間コピーをする場合、コピー先VOLが第一のストレージシステム105Aにあるならば、ローカルコピーを実行し、コピー先VOLが第二のストレージシステム105Bにあるならば、リモートコピー制御プログラム505にリモートコピーを実行させる。コピー制御プログラム503は、コピー指示を受信した際、コピー元VOLが仮想VOLであるか実ボリュームであるかを判別することができる。コピー元VOLが仮想VOLであると判別された場合に、図16の処理が実行される。
図16に、コピー元VOLが仮想VOLであると判別された場合に実行される処理の流れの一例を示す。
コピー制御プログラム503が、コピー元VOLが未フォーマットであるか否かを判断する(S301)。未フォーマットであると判断した場合(S301でyes)、S302に進み、そうではないと判断した場合(S301でno)、S305に進む。
S302では、コピー制御プログラム503は、コピー先VOLが同一筐体内(つまり第一のストレージシステム105A内)かどうかを判断する。これは、例えば、図示しないペア管理テーブル(例えば、コピー元VOLの識別子、該コピー元VOLを備えるストレージシステムの識別子、コピー先VOLの識別子、該コピー先VOLを備えるストレージシステムの識別子)を参照することにより、判断することができる。同一筐体内と判断した場合(S302でyes)、S303に進み、そうではないと判断した場合(S302でno)、S304に進む。S303及びS304で実行される処理については後述する。
S305では、コピー制御プログラム503は、コピー元VOLが初期化中か否かを判断する。これは、例えば、コピー元VOLに対応した仮想ボリューム構成情報133Aを参照し、そこに、変換パラメータ群が記録されているか否かにより、行うことができる。初期化中と判断した場合(S305でyes)、S306に進み、初期化済みと判断した場合(S305でno)、S308に進む。
S306では、S302と同様の判断が実行される。S306でnoの場合、S307に進み、S306でyesの場合、変換パラメータ群が登録されるのを待ち、その後、S311へ進む。S307で実行される処理については後述する。
S308では、コピー制御プログラム503は、割当て済み比率が所定の比率を超えるか否かを判断する。割当て済み比率とは、コピー元VOLの記憶容量に対する割当て済み容量の比率である。割当て済み容量とは、コピー元VOLに割当て済みの一以上の実ページのトータル記憶容量である。超えていないと判断した場合(S308でno)、S309に進み、超えていると判断した場合(S308でyes)、S312に進む。S312で実行される処理については後述する。
S309では、S302と同様の判断が実行される。S309でnoの場合、S310に進み、S309でyesの場合、S311へ進む。S310及びS311で実行される処理については後述する。
図16において、S304、S307、S310は、リモートコピーに特化した処理であり、S312は、リモートコピー及びローカルコピーのいずれにも適した処理であり、S303、S311は、ローカルコピーに特化した処理である。以下、各処理について詳細に説明する。
<図16のS304の処理:ケース1の処理>。
図13Aを参照して説明する。ケース1とは、仮想VOLが未フォーマットの状態のときに、コピー元仮想VOLからコピー先仮想VOLへのコピー指示を受信したケースである。このケース1では、コピー元仮想VOLの初期化の際、第一のストレージシステム105Aだけでなく、第二のストレージシステム105Bでも、図8或いは図11に記載の処理が実行される。具体的には、例えば、コピー元仮想VOLにホストライトが発生した場合、図17Bに例示するように、リモートコピー制御プログラム505が、そのホストライトで指定された仮想LBAを同じ仮想LBAを指定したホストライトをコピー先仮想VOLに発生させる。その際、既存のリモートコピー技術を採用することができる。すなわち、いわゆる同期型のリモートコピーであっても良いし非同期型のリモートコピーであっても良い。これにより、コピー元仮想VOLでのフォーマットの進行に応じて、コピー先仮想VOLでもフォーマットが進行し、その際に、第二のストレージシステム105Bで図8或いは図11の処理が実行される。その結果、第二のストレージシステム105Bの共有メモリ111Bにも、ホストライト位置情報131Bや、コピー先仮想VOLに対応した仮想ボリューム構成情報133Bが生成される。
<図16のS307の処理:ケース2の処理>。
図13Bを参照して説明する。ケース2とは、仮想VOLがフォーマット中の状態(変換パラメータ群が未登録の状態)のときに、コピー元仮想VOLからコピー先仮想VOLへのコピー指示を受信したケースである。このケース2では、変換パラメータ群が、算出され、コピー元仮想VOLに対応した仮想ボリューム構成情報133Aに登録されるまで待ち、その登録後に、リモートコピー制御プログラム505により、ページ単位でのコピーを実行し、且つ、登録された変換パラメータ群を、第二のストレージシステム105Bに送信する。それにより、第二のストレージシステム105Bにおいて、コピー先仮想VOL105Bに対応した仮想ボリューム構成情報133Bに、変換パラメータ群が登録される。ページ単位のコピーについては、後述のケース3で説明する。
<図16のS310の処理:ケース3の処理>。
図13Cを参照して説明する。ケース3とは、仮想VOLがフォーマット済みの状態(変換パラメータが登録済みの状態)のときに、コピー元仮想VOLからコピー先仮想VOLへのコピー指示を受信したケースである。このケース3では、リモートコピー制御プログラム505により、図18Bに例示するように、ページ単位でのコピーを実行し、且つ、登録された変換パラメータ群を、第二のストレージシステム105Bに送信する。具体的には、例えば、リモートコピー制御プログラム505が、実スロット#の若い実ページから優先的に、実ページ内のデータを第二のストレージシステム105Bに転送する。第二のストレージシステム105Bでは(例えばCHA109B2で実行される所定のプログラムにより)、未割当ての実ページが選択され、選択された実ページに、転送されて来たデータが格納される。その際、コピー元の実ページとコピー先の実ページのそれぞれのサイズが違っていてもよい。その場合にも、コピー先の実ページに、データが詰めて書かれ、満杯になった場合には、新たに未割当ての実ページが選択され、データが書かれていく。そして、コピー先仮想VOLにおいて仮想ページ#の若い順に、先に満杯になった実ページが割り当てられていく。具体的には、例えば、初めに実ページ#3が満杯になり、その次に実ページ#1が満杯になった場合、仮想ページ#0である初めの仮想ページには、実ページ#3の実ページが割り当てられ、次の仮想ページ(仮想ページ#1)には、実ページ#1の実ページが割り当てられる。この割当てに応じて、コピー先仮想VOLに対応したアドレス変換テーブルが構築される。
また、このケース3では、ケース2と同様、変換パラメータ群が、第一のストレージシステム105Aから第二のストレージシステム105Bに転送され、コピー先仮想VOLに対応した仮想ボリューム構成情報133Bに、その変換パラメータ群が登録される。
以上の一連の処理により、実スロット#(管理情報#、データ#)から仮想スロット#に変換する処理をいちいちすることなくコピーできるので、高速なコピーが期待でき、且つ、図14に示すように、コピー先の第二のストレージシステム105Bでも、ホストから見える配置と実際の格納は位置との対応関係を維持することができる。すなわち、コピー元の第一のストレージシステム105Aでは、ホスト計算機101からコピー元仮想VOLの仮想LBAを指定したアクセス要求があった場合、その仮想LBAを用いて仮想ページ#及び仮想スロット#が算出され、仮想スロット#が変換パラメータ群を用いて管理情報#に変換される。また、コピー元仮想VOLに対応したアドレス変換テーブルから、仮想ページ#に対応した実ページ#が特定される。コピー先の第一のストレージシステム105Bでは、前述したように、変換パラメータ群が登録され、且つ、アドレス変換テーブルが構築される。これにより、図14に示すように、コピー先仮想VOLがホスト計算機101にマウントされた場合に、コピー元仮想VOLと同じように見せることができる。また、そのホスト計算機101から、コピー先仮想VOLの仮想LBAを指定した読出し要求を受けた場合、ホストから見える配置と実際の格納配置との対応関係が維持されているので、ホスト計算機101の所望のデータを確実に提供することができる。
<図16のS312の処理:ケース4の処理>。
図13Dを参照して説明する。ケース4とは、コピー元仮想VOLでの割当て済み比率が所定の比率を超えているのときに、コピー元仮想VOLからコピー先仮想VOLへのコピー指示を受信したケースである。この場合、コピー制御プログラム503は、コピー指示元(例えばホスト計算機101)に対し、コピー先VOLが仮想VOLとなっている場合には、コピー先VOLを実ボリュームにすることを推奨する。コピー指示元では、例えば、コピー先VOLを実ボリュームにすることを推奨するメッセージが表示される。そのメッセージに応答して、実VOLがユーザによって選択された場合、コピー先を実VOLとしたコピー指示が第一のストレージシステム105Aに発行される。そして、コピー元仮想VOLからコピー先実VOLへのVOL間コピーが実行される。実ボリュームを推奨する理由としては、
(a)コピー先VOLを仮想VOLとしても、割当て済み比率が所定比率を超えているので、節約できる(未割当てとする)実ページの数をあまり節約できないこと。
(b)コピー先VOLを仮想VOLとすると、ホスト計算機からコピー先仮想VOLに対してアクセスが或る都度に、所定の変換式を使った変換処理を実行しなければならず、そのため、アクセス性能が低下してしまう。
の2点がある。このケース4の処理は、図16のS308でyesの場合に実行され、S308でnoの場合には、仮想VOL間コピーが行われる。すなわち、割当て済み比率が所定比率以下の場合には、第二のストレージシステム105Bにおいて、割当て済みの実容量を節約でき、割当て済み比率が所定比率を超えている場合には、第二のストレージシステム105Bにおいて、アクセス性能の低下を防止することができる。
実施形態において、コピー元仮想VOLからコピー先実VOLへのVOL間コピーは、例えば、図19のように行われる。すなわち、実スロット#を仮想スロット#に変換され、仮想スロット#が仮想LBAに変換される。すなわち、実際の格納配置が、ホストから見える格納配置に変換し直される。そのホストから見える格納配置のまま、コピー先実VOLに対してコピーされる。これにより、コピー先実VOLでは、コピー元仮想VOLと異なり、ホストから見える配置も実際の格納配置も同じになる。
<図16のS303の処理>。
図17Aを参照して説明する。コピー制御プログラム503が、IO制御プログラム501に以下の処理を実行させる。すなわち、IO制御プログラム501が、コピー元仮想VOLにホストライトが発生し、それにより、実ページにデータを書く場合、キャッシュメモリ113A上でデータを二重化し、二重化されたデータを、2つの実ページにそれぞれ書く。その際、割り当てるのは、2つの実ページのうちの一方を、コピー元仮想VOLに割当て、他方を、コピー先仮想VOLに割り当てる。変換パラメータ群を算出した場合には、コピー元仮想VOL及びコピー先仮想VOLにそれぞれ対応した仮想ボリューム構成情報133Aに、変換パラメータ群を書く。
<図16のS311の処理>。
図18Aを参照して説明する。コピー制御プログラム503が、コピー元仮想VOLに割当て済みの実ページの複製を生成する。具体的には、例えば、仮想ページ#の若い順に、実ページ間のコピーを行う。より具体的には、例えば、未割当ての実ページを選択し、選択した実ページに、割当て済みの実ページ内のデータをコピーする。そして、その実ページを、コピー先仮想VOLの仮想ページ(コピー元の実ページが割り当てられている仮想ページ#と同じ仮想ページ#の仮想ページ)に割り当てる。その際、コピー先仮想VOLに対応したアドレス変換テーブルを更新する。仮想スロット#と実スロット#との変換のための変換パラメータ群は、コピー元仮想VOLに対応した変換パラメータ群と同じである(例えば、コピー元仮想VOLに対応した仮想ボリューム構成情報133A中の変換パラメータ群が、コピー先仮想VOLに対応した仮想ボリューム構成情報133Aにコピーされる)。これにより、コピー先仮想VOLをコピー元仮想VOLと同様にすることができる。
以上、本発明の好適な実施形態を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこの実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。
例えば、コピー元仮想VOLからコピー先実VOLへのデータコピーも、図15に例示するように、仮想VOL間コピーと同様に行われても良い。その場合、例えば、コピー先実VOLをコピー元として新たにコピー先仮想VOLとボリュームペアが形成された場合、変換パラメータ群を、新たなコピー先仮想VOLに適用することができる。
本発明の一実施形態に係る計算機システムの構成を示す。 第一のストレージシステムと第二のストレージシステムとの接続構成と、共有メモリに記憶される制御情報の種類とを示す。 仮想ボリュームへの実領域の割当て方の説明図。 図4Aは、仮想ボリュームへの実ページの割当てにおいて生じる課題の説明図。図4Bは、その課題を解決する方法の概要図。 ホスト計算機からのアクセス要求で指定されているアクセス先仮想LBAから仮想スロット#を算出する方法の説明図。 図6Aは、第一のフォーマット方式での実ページへの格納方法の説明図。図6Bは、第一のフォーマット方式におけるホストライト位置とホストライト回数との関係を示す図。 図7Aは、第一のフォーマット方式での変換パラメータ種類の説明図。図7Bは、第一のフォーマット方式における仮想スロット#と管理情報#との変換式を示す。 図8は、IO制御プログラム501が行う処理の流れの一例を示す。 図9Aは、第二のフォーマット方式での実ページへの格納方法の説明図。図9Bは、第二のフォーマット方式におけるホストライト位置とホストライト回数との関係を示す図。 図10Aは、第二のフォーマット方式での変換パラメータ種類の説明図。図10Bは、第二のフォーマット方式における仮想スロット#と管理情報#との変換式を示す。 図11は、IO制御プログラム501が行う処理の流れの一例を示す。 図12Aは、ユーザデータの格納方法と管理情報領域及びデータ領域との説明図。図12Bは、仮想スロット#とデータ#との変換式を示す。 図13Aは、コピー元仮想VOLが未フォーマット状態のときのリモートコピーの処理の説明図。図13Bは、コピー元仮想VOLについて変換パラメータ群が未登録の状態のときのリモートコピーの処理の説明図。図13Cは、コピー元仮想VOLについて変換パラメータ群が登録済みの状態のときのリモートコピーの処理の説明図。図13Dは、コピー元仮想VOLについての割当て済み比率が所定比率を超えている状態のときのリモートコピーの処理の説明図。 図13Bや図13Cのリモートコピー処理が実行された場合にはコピー先の第二のストレージシステムにおいてコピー元の第一のストレージシステムにおける対応関係を維持することができることの説明図。 コピー元仮想VOLからコピー先実VOLへのコピーの変形例と、該実VOLをコピー元として新たにコピー先仮想VOLにコピーする場合の処理の一例を示す。 コピー元VOLが仮想VOLであると判別された場合に実行される処理の流れの一例を示す。 図17Aは、図16のS303の説明図。図17Bは、図16のS304の説明図。 図18Aは、図16のS311の説明図。図18Bは、図16のS310の説明図。 仮想VOLから実VOLにコピーすることの説明図。 CHA109A1及び109A2の構成例を示す。
符号の説明
101…ホスト計算機 105A、105B…ストレージシステム 107…コントローラ部 109…チャネルアダプタ 111…共有メモリ 113…キャッシュメモリ 117…ディスクアダプタ 118…ストレージ部 119…物理的な記憶装置 135…実ページ管理情報 131…ホストライト位置情報 133…仮想ボリューム構成情報

Claims (14)

  1. 複数の記憶デバイスと、
    上位装置に提供される仮想的な論理ボリュームである仮想ボリュームを提供し、
    前記複数の記憶デバイスが有する記憶領域を、第1サイズの複数の実領域として管理し、
    前記上位装置から受信する前記仮想ボリュームに対する書込み要求に応じて、該仮想ボリュームの一領域である仮想領域に前記複数の実領域のうちの未割当ての実領域を割り当て、該書込み要求に従うデータを該割り当てた実領域に格納するコントローラと、
    を備える仮想化システムであって、
    前記書込み要求に従うデータとは、書込み要求で指定されたアドレスに対する書込み対象となるデータであって、かつ、実データ及び第1サイズよりも小さい第2サイズの管理情報のうちのいずれかのデータであり、
    前記仮想領域に、二以上の前記管理情報を一定の間隔で書き込むことによる仮想ボリュームのフォーマットのために、前記上位装置は、前記コントローラに対して前記書込み要求を複数送信し、
    前記コントローラは、
    前記上位装置から未フォーマットの仮想ボリュームに対する書込み要求を受信したときに、当該書込み要求で指定されたアドレスに基づき、当該書込み要求に従うデータが管理情報であると判断された場合は、前記複数の実領域のうちの第1の実領域を仮想領域に割当て、該第1の実領域に、前記書込み要求に従う管理情報を格納し、
    その後、前記上位装置から前記仮想ボリュームに対する書込み要求を受信した場合、当該書込み要求で指定されたアドレスに基づき、当該書込み要求に従うデータが前記管理情報であるか否かを判断し、
    前記書込み要求に従うデータ、その指定されたアドレスから前記管理情報であると判断された場合、前記仮想領域に割当て済みの前記第1の実領域のうちの未使用領域に、前記書込み要求に従う管理情報を格納し、
    前記書込み要求に従うデータ、その指定されたアドレスから前記管理情報でないと判断された場合、前記仮想領域に割当てられていない前記複数の第1サイズの実領域のうちの第2の実領域を前記仮想領域に割当て、該第2の実領域に、前記書込み要求に従う実データを格納し、
    前記書込み要求に従うデータが前記管理情報であるか否かの判断は、前記書き込み要求で指定されたアドレスをD、前記上位装置の管理単位であるブロックのデータサイズをAとしたときに、DをAで割ったときの余りPを算出し、当該Pが前記第2のサイズより小さい値であった場合に管理情報であると判断する、
    ことを特徴とする仮想化システム。
  2. 前記仮想領域は、複数の前記第2サイズのサブ仮想領域で構成され、
    前記実領域は、複数の前記第2サイズのサブ実領域で構成され、
    仮想領域と実領域との対応が登録される対応関係情報を記憶する対応関係記憶域を備え、
    前記コントローラは、
    どの仮想領域にどの実領域が割り当てたかを前記対応関係情報に登録し、該対応関係情報を参照することにより、どの仮想領域にどの実領域が割り当たっているかを特定し、
    前記フォーマットにおいて前記仮想ボリュームに対して発生した複数の書込みの書込み位置を基に、どのサブ仮想領域に対する管理情報部分がどのサブ実領域に書かれるかを計算で求めるための変換パラメータを算出し、該変換パラメータを用いた所定の計算式により、どのサブ仮想領域とどの管理情報部分とが対応しているのかを特定する、
    請求項1記載の仮想化システム。
  3. 前記仮想ボリュームに対する書込みの書込み位置の履歴である書込み位置情報を記憶する書込み位置記憶域を備え、
    前記コントローラは、前記仮想ボリュームに対する書込みの書込み位置を前記書込み位置情報に含め、該書込み位置情報を参照することにより、前記フォーマットの方式を特定し、該特定した方式に応じて、算出する変換パラメータの種類を決定し、該決定した種類の変換パラメータを算出する、
    請求項2記載の仮想化システム。
  4. 前記仮想化システムは、複数の実領域を備えた第一のストレージシステムであり、
    前記コントローラは、
    前記上位装置から送信されたコピー指示を受信し、該コピー指示に従って、コピー元論理ボリュームからコピー先論理ボリュームへのデータコピーを実行し、
    前記コピー元論理ボリュームが、前記仮想ボリュームであり、
    前記コピー元の前記仮想ボリュームの状況に応じて、前記データコピーの際に実行する処理を違える、
    請求項2記載の仮想化システム。
  5. 前記コピー先論理ボリュームが、複数の実領域を備える第二のストレージシステムに存在し、該コピー先論理ボリュームが、仮想ボリュームである場合、
    前記コントローラは、前記コピー指示を受信した場合、前記仮想ボリュームの状況として、前記コピー元仮想ボリュームが未フォーマットの状態であるならば、前記コピー元仮想ボリュームに対する書込みの書込み位置同じ書込み位置を指定した、コピー先の前記仮想ボリュームに対する書込み要求を、前記第二のストレージシステムに転送する、
    請求項4記載の仮想化システム。
  6. 前記コピー先論理ボリュームが、複数の実領域を備える第二のストレージシステムに存在し、該コピー先論理ボリュームが、仮想ボリュームである場合、
    前記コントローラは、前記コピー指示を受信した場合、前記仮想ボリュームの状況として、前記コピー元仮想ボリュームについて前記変換パラメータが未算出の状態であるならば、該変換パラメータが算出されるまで待ち、該変換パラメータが算出された後に、該算出された変換パラメータを前記第二のストレージシステムに送信し、且つ、前記第一のストレージシステムにおける割当て済みの各実領域と、前記第二のストレージシステムにおける未割当ての実領域同士でデータコピーを行う、
    請求項4記載の仮想化システム。
  7. 前記コピー先論理ボリュームが、複数の実領域を備える第二のストレージシステムに存在し、該コピー先論理ボリュームが、仮想ボリュームである場合、
    前記コントローラは、前記コピー指示を受信した場合、前記仮想ボリュームの状況として、前記コピー元仮想ボリュームについて前記変換パラメータが算出済みの状態であるならば、該変換パラメータを前記第二のストレージシステムに送信し、且つ、前記第一のストレージシステムにおける割当て済みの各実領域と、前記第二のストレージシステムにおける未割当ての実領域同士でデータコピーを行う、
    請求項4記載の仮想化システム。
  8. 前記コピー先論理ボリュームが、仮想ボリュームである場合、
    前記コントローラは、前記コピー指示を受信した場合、前記仮想ボリュームの状況として、前記コピー元仮想ボリュームについてフォーマット済みの場合、前記コピー元仮想ボリュームの記憶容量に対する割当て済み実領域のトータル記憶容量の比率である割り当て済み比率が所定比率を超えているかどうかを判断する、
    請求項4記載の仮想化システム。
  9. 前記コントローラは、前記割り当て済み比率が所定比率を超えていれば、前記コピー先論理ボリュームを仮想ボリュームに代えて実体のある論理ボリュームである実ボリュームとすることを推奨することを意味する情報を前記上位装置に送信する、
    請求項8記載の仮想化システム。
  10. 前記コントローラは、前記割り当て済み比率が所定比率を超えていれば、前記コピー先論理ボリュームを仮想ボリュームに代えて実体のある論理ボリュームである実ボリュームとする、
    請求項8記載の仮想化システム。
  11. 前記コントローラは、前記コピー先論理ボリュームを実ボリュームとする場合、前記変換パラメータを用いた所定の計算式に基づいて、割り当て済みの実領域における各サブ実領域に対応した各サブ仮想領域を特定し、前記対応関係情報を参照することにより前記割り当て済みの実領域に対応する仮想領域を特定し、前記特定した仮想領域及びサブ仮想領域から特定される書込み位置を指定した書込みを前記実ボリュームに対して実行する、
    請求項10記載の仮想化システム。
  12. 前記コントローラは、前記割り当て済み比率が所定比率を超えてなければ、前記算出済みの変換パラメータを前記第二のストレージシステムに送信し、且つ、前記第一のストレージシステムにおける割当て済みの各実領域と、前記第二のストレージシステムにおける未割当ての実領域同士でデータコピーを行う、
    請求項8記載の仮想化システム。
  13. 前記コントローラは、
    前記上位装置から送信されたコピー指示を受信し、該コピー指示に従って、コピー元論理ボリュームからコピー先論理ボリュームへのデータコピーを実行し、
    前記コピー先論理ボリュームが、前記第一のストレージシステムに存在し、前記コピー先論理ボリュームが、別の仮想ボリュームである場合、コピー先の前記別の仮想ボリュームにも、前記コピー元の仮想ボリュームについて算出された変換パラメータを適用する、
    請求項2記載の仮想化システム。
  14. 上位装置に提供される仮想的な論理ボリュームである仮想ボリュームに対する書込み要求に応じて複数の第1サイズの実領域のうちの未割当ての実領域を割り当て、該書込み要求に従うデータを該割り当てた実領域に格納する領域割当て制御方法であって、
    前記書込み要求に従うデータとは、書込み要求で指定されたアドレスに対する書込み対象となるデータであって、かつ、実データ及び第1サイズよりも小さい第2サイズの管理情報のうちのいずれかのデータであり、
    前記仮想領域に、二以上の前記管理情報を一定の間隔で書き込むことによる仮想ボリュームのフォーマットのために、前記上位装置は前記書込み要求を複数送信し、
    前記上位装置から未フォーマットの仮想ボリュームに対する書込み要求を受信したときに、当該書込み要求で指定されたアドレスに基づき、当該書込み要求に従うデータが管理情報であると判断された場合は、前記複数の実領域のうちの第1の実領域を仮想領域に割当て、該第1の実領域に、前記書込み要求に従う管理情報を格納し、
    その後、前記上位装置から前記仮想ボリュームに対する書込み要求を受信した場合、当該書込み要求で指定されたアドレスに基づき、当該書込み要求に従うデータが前記管理情報であるか否かを判断し、
    前記書込み要求に従うデータ、その指定されたアドレスから前記管理情報であると判断された場合、前記仮想領域に割当て済みの前記第1の実領域のうちの未使用領域に、前記書込み要求に従う管理情報を格納し、
    前記書込み要求に従うデータ、その指定されたアドレスから前記管理情報でないと判断された場合、前記仮想領域に割当てられていない前記複数の第1サイズの実領域のうちの第2の実領域を前記仮想領域に割当て、該第2の実領域に、前記書込み要求に従う実データを格納し、
    前記書込み要求に従うデータが前記管理情報であるか否かの判断は、前記書き込み要求で指定されたアドレスをD、前記上位装置の管理単位であるブロックのデータサイズをAとしたときに、DをAで割ったときの余りPを算出し、当該Pが前記第2のサイズより小さい値であった場合に管理情報であると判断する、
    領域割当て制御方法。

JP2006263940A 2006-09-28 2006-09-28 仮想化システム及び領域割当て制御方法 Expired - Fee Related JP5073259B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2006263940A JP5073259B2 (ja) 2006-09-28 2006-09-28 仮想化システム及び領域割当て制御方法
US11/604,689 US7814289B2 (en) 2006-09-28 2006-11-28 Virtualization system and area allocation control method
EP07251384A EP1909165A3 (en) 2006-09-28 2007-03-30 Virtualization system and area allocation control method
US12/923,156 US8032731B2 (en) 2006-09-28 2010-09-07 Virtualization system and area allocation control method
US13/137,533 US8356157B2 (en) 2006-09-28 2011-08-24 Virtualization system and area allocation control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006263940A JP5073259B2 (ja) 2006-09-28 2006-09-28 仮想化システム及び領域割当て制御方法

Publications (2)

Publication Number Publication Date
JP2008084053A JP2008084053A (ja) 2008-04-10
JP5073259B2 true JP5073259B2 (ja) 2012-11-14

Family

ID=38823575

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006263940A Expired - Fee Related JP5073259B2 (ja) 2006-09-28 2006-09-28 仮想化システム及び領域割当て制御方法

Country Status (3)

Country Link
US (3) US7814289B2 (ja)
EP (1) EP1909165A3 (ja)
JP (1) JP5073259B2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8004785B1 (en) * 2008-05-09 2011-08-23 Western Digital Technologies, Inc. Disk drive write verifying unformatted data sectors
JP5302582B2 (ja) * 2008-07-09 2013-10-02 株式会社日立製作所 上位装置から指定されるデバイスに関する記憶容量を変更するストレージシステム及び方法
JP4727705B2 (ja) * 2008-10-31 2011-07-20 株式会社日立製作所 階層型ストレージシステム
JP5221756B2 (ja) * 2009-01-30 2013-06-26 株式会社日立製作所 データ要素を圧縮して格納するストレージシステム及び記憶制御方法
US7929234B1 (en) 2009-03-27 2011-04-19 Western Digital Technologies, Inc. Disk drive prioritizing in-the-field defect scanning based on number of write operations in each of a plurality of defect zones
US8667207B2 (en) * 2009-09-30 2014-03-04 Citrix Systems, Inc. Dynamic reallocation of physical memory responsive to virtual machine events
US8402215B2 (en) * 2009-10-15 2013-03-19 Hitachi, Ltd. Storage system, storage apparatus, and optimization method of storage areas of storage system having page migration
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
WO2011125114A1 (en) * 2010-04-05 2011-10-13 Hitachi, Ltd. Storage control apparatus and control method for virtual logical volume
CN103229134B (zh) 2010-08-11 2016-01-20 株式会社日立制作所 存储设备及其控制方法
US8565053B1 (en) 2012-06-19 2013-10-22 Western Digital Technologies, Inc. Methods and devices for preventing media errors due to media scratches
EP2811412A4 (en) * 2012-06-25 2016-03-09 Hitachi Ltd MIGRATION PROCESS FOR THE EXECUTION ENVIRONMENT OF A COMPUTER SYSTEM AND AN APPLICATION PROGRAM THEREFOR
JP5770884B2 (ja) * 2014-04-25 2015-08-26 株式会社日立製作所 ストレージ装置及びその制御方法
JP6039149B2 (ja) * 2015-06-25 2016-12-07 株式会社日立製作所 ストレージ装置及びその制御方法
US20220413765A1 (en) * 2021-06-28 2022-12-29 Netapp Inc. Key value store with distributed shared access by clients

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8829919D0 (en) 1988-12-22 1989-02-15 Int Computer Limited File system
US6970939B2 (en) * 2000-10-26 2005-11-29 Intel Corporation Method and apparatus for large payload distribution in a network
US6606690B2 (en) * 2001-02-20 2003-08-12 Hewlett-Packard Development Company, L.P. System and method for accessing a storage area network as network attached storage
IL147073A0 (en) * 2001-12-10 2002-08-14 Monosphere Ltd Method for managing the storage resources attached to a data network
JP2003345631A (ja) * 2002-05-28 2003-12-05 Hitachi Ltd 計算機システム及び記憶領域の割当方法
JP2004265110A (ja) 2003-02-28 2004-09-24 Hitachi Ltd メタデータ配置方法、プログラムおよびディスク装置
JP4597488B2 (ja) * 2003-03-31 2010-12-15 株式会社日立製作所 プログラム配置方法及びその実施システム並びにその処理プログラム
JP2004302751A (ja) * 2003-03-31 2004-10-28 Hitachi Ltd 計算機システムの性能管理方法、および、記憶装置の性能を管理する計算機システム
JP4438457B2 (ja) * 2003-05-28 2010-03-24 株式会社日立製作所 記憶領域割当方法、システム及び仮想化装置
JP2005031929A (ja) 2003-07-11 2005-02-03 Hitachi Ltd サーバに記憶領域を割り当てる管理サーバ、記憶装置システム、及びプログラム
JP2006263940A (ja) 2005-03-22 2006-10-05 Canon Inc 画像記録方法及びインクジェット記録装置
JP2007310448A (ja) * 2006-05-16 2007-11-29 Hitachi Ltd 計算機システム、管理計算機、および、ストレージシステム管理方法
JP4892289B2 (ja) * 2006-07-07 2012-03-07 株式会社日立製作所 複数のストレージ装置を含むストレージシステム
JP2008021116A (ja) * 2006-07-12 2008-01-31 Hitachi Ltd San/nas統合管理計算機及び方法
JP4932390B2 (ja) * 2006-08-31 2012-05-16 株式会社日立製作所 仮想化システム及び領域割当て制御方法

Also Published As

Publication number Publication date
EP1909165A3 (en) 2010-05-26
US20110314240A1 (en) 2011-12-22
US20100332782A1 (en) 2010-12-30
US8032731B2 (en) 2011-10-04
US8356157B2 (en) 2013-01-15
US7814289B2 (en) 2010-10-12
US20080082778A1 (en) 2008-04-03
JP2008084053A (ja) 2008-04-10
EP1909165A2 (en) 2008-04-09

Similar Documents

Publication Publication Date Title
JP5073259B2 (ja) 仮想化システム及び領域割当て制御方法
JP4890160B2 (ja) ストレージシステム及びバックアップ/リカバリ方法
JP4890033B2 (ja) 記憶装置システム及び記憶制御方法
US7761684B2 (en) Data management method in storage pool and virtual volume in DKC
JP5981563B2 (ja) 情報記憶システム及び情報記憶システムの制御方法
JP4932390B2 (ja) 仮想化システム及び領域割当て制御方法
JP5595530B2 (ja) データ移行システム及びデータ移行方法
US7587553B2 (en) Storage controller, and logical volume formation method for the storage controller
JP5192932B2 (ja) ストレージシステム内の論理ユニットを論理ボリュームに割り当てる方法及び記憶制御装置
US8650381B2 (en) Storage system using real data storage area dynamic allocation method
JP5531091B2 (ja) 計算機システム及びその負荷均等化制御方法
WO2016147281A1 (ja) 分散型ストレージシステム及び分散型ストレージシステムの制御方法
CN102841761A (zh) 存储系统
JP4684864B2 (ja) 記憶装置システム及び記憶制御方法
JP4862067B2 (ja) キャッシュ制御装置及び方法
JP2008146141A (ja) ストレージシステムと記憶領域の選択方法並びにプログラム
JP5597266B2 (ja) ストレージシステム
JP7229214B2 (ja) 計算機システム及び負荷分散方法
JP7113698B2 (ja) 情報システム
WO2016006072A1 (ja) 管理計算機およびストレージシステム
WO2018167950A1 (ja) ストレージシステム及び複製制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090713

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111017

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111025

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120306

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120501

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: 20120821

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120822

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150831

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees