JP5323982B2 - ボリューム管理装置及びストレージシステム - Google Patents
ボリューム管理装置及びストレージシステム Download PDFInfo
- Publication number
- JP5323982B2 JP5323982B2 JP2012504138A JP2012504138A JP5323982B2 JP 5323982 B2 JP5323982 B2 JP 5323982B2 JP 2012504138 A JP2012504138 A JP 2012504138A JP 2012504138 A JP2012504138 A JP 2012504138A JP 5323982 B2 JP5323982 B2 JP 5323982B2
- Authority
- JP
- Japan
- Prior art keywords
- page
- pool
- command
- pair
- primary
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
Description
本発明は、ホスト計算機のアクセス対象となる論理ボリュームに対して、ページを動的に割り当てるための管理を行うボリューム管理装置及びストレージシステムに関する。
従来から、ホスト計算機に対して大規模なデータストレージサービスを提供する計算機システムが存在する。このシステムは、ホスト計算機と、ホスト計算機が接続するストレージ装置と、ストレージ装置の管理装置と、を備えたものとして知られている。
ストレージ装置は、複数のハードディスクをRAID(Redundant Array of Independent/Inexpensive Disks)方式で管理する。そして、多数のハードディスクが有する物理的な記憶領域を論理化し、これを論理ボリュームとしてホスト計算機に提供する。ホスト計算機は、論理ボリュームにアクセスしてデータのリード・ライトを要求する。
この種の論理化技術の一つにシン・プロビジョニングと称されるものがある。ストレージ装置は、物理的な記憶領域を有さない仮想的なボリュームをホスト計算機に対して設定する。ホスト計算機が、仮想的なボリュームにライトアクセスにすることに合わせて、ストレージ装置は、仮想ボリュームに対して記憶領域を順次割り当てていく。
従って、この技術は、論理ボリュームに対して当初から大容量な記憶領域を割り当てる方式に比べて、ストレージ資源を有効に活用できる点で効果的である。この技術は、特開2003−15915号公報、及び、特開2006−338341号公報に記載されている。
仮想ボリュームに記憶領域を提供するための手段は、それぞれ実の記憶領域が割り当てられた複数の論理ボリュームをプールと呼ばれる論理グループに纏めたものから構成される。複数の論理ボリュームはそれぞれプールボリュームと呼ばれる。仮想ボリュームに、ホスト計算機からライトアクセスがあると、仮想ボリュームのアクセス先に、プールボリュームの対応領域の記憶領域を割り当てる。
ストレージ装置は、仮想ボリュームに対するホスト計算機からのアクセス領域を、プールボリュームに記憶容量が割り当てられた領域に対応させることにより、ホスト計算機からのライトデータを保存することができる。
一方、ストレージ装置として、ストレージ装置への投資効率の向上のために、使用する記憶メディア(物理デバイス)を複数種類用意するとともに、データの価値を定義し、そのデータの価値と記憶メディアとを関連付けてデータを格納できるものが要求されている。そこで、米国特許2005/055603号公報では、シン・プロビジョニングにおいて、容量割当て単位であるページへの入出力アクセスに応じて、適当な記憶メディアをページに自動再配置することを開示している。
しかし、米国特許2005/055603号公報は、容量割当て単位であるページへの入出力アクセスに応じて、適当な記憶メディアをページに自動再配置することを開示しているものの、性能が異なる物理デバイスに対応して構成された論理ボリュームに、ページを割り当てるに際して、ペアを構成する論理ボリュームに関する状態遷移コマンドに応じて適切な物理デバイスを割り当てることについては開示していない。
本発明は、前記従来技術の課題に鑑みて為されたものであり、その目的は、ペアを構成するボリュームに関する状態遷移コマンドに応じて各ボリュームのページに適切な物理デバイスを割り当てることができるボリューム管理装置およびストレージシステムを提供することにある。
前記目的を達成するために、本発明は、性能が異なる複数の物理デバイスの論理的記憶領域を形成する複数の論理デバイスを物理デバイスの性能に応じて階層化し、階層化された論理ボリュームを、各階層に対応したプールボリュームとして仮想化プールに格納し、正論理ボリュームに複数の正側ページを割り当てるとともに、副論理ボリュームに複数の副側ページを割り当て、仮想化プールに属する各階層のプールボリュームの記憶領域を複数のプール側ページに分割して管理し、正論理ボリュームと副論理ボリュームをペアとするペア構成に関するコマンドを受けたときに、正側ページにいずれかのプール側ページを割り当て、副側ページには正側ページに割り当てられたプール側ページと同じ階層に属するプール側ページを割り当て、コマンド発行元からペアに関する状態遷移コマンドを受けたときに、正側ページまたは副側ページのうち少なくとも一方に割り当てるプール側ページの階層を状態遷移コマンドに応じて選択することを特徴とする。
本発明によれば、ペアを構成するボリュームに関する状態遷移コマンドに応じて各ボリュームのページに適切な物理デバイスを割り当てることができる。
本実施形態は、性能が異なる複数の物理デバイスの論理的記憶領域を形成する複数の論理デバイスを物理デバイスの性能に応じて階層化し、階層化された論理ボリュームを、各階層に対応したプールボリュームとして仮想化プールに格納し、正論理ボリュームに複数の正側ページを割り当てるとともに、副論理ボリュームに複数の副側ページを割り当て、仮想化プールに属する各階層のプールボリュームの記憶領域を複数のプール側ページに分割して管理し、ペア形成に関するコマンドを受けたときには、正側ページと副側ページに同じ階層に属するプール側ページを割り当て、その後、ペアに関する状態遷移コマンドを受けたときに、状態遷移コマンドでページ移動が指示されたときには、副側ページに割り当てられていたプール側ページを、正側ページに割り当てられていたプール側ページとは異なる階層のプール側ページに移動させるものである。
以下、本発明の一実施形態を図面に基づいて説明する。図1は、本発明が適用された計算機システムのハードウエアブロック図である。計算機システムは、ホスト計算機10と、管理装置20と、これらが接続するストレージシステム30と、を備えている。ストレージシステム30は、ストレージ装置、あるいはストレージサブシステムとも呼ばれている。
ホスト計算機10は、ストレージシステム30の論理的な記憶資源にアクセスする。管理装置20は、ストレージシステム30の記憶領域の構成を管理する。ストレージシステム30は、物理デバイス34に設定された記憶領域にデータを格納する。
ホスト計算機10は、入力手段110、出力手段120、CPU(Central Processing Unit)130、メモリ140、ディスクアダプタ150、ネットワークアダプタ160及びディスクドライブ170を備える。入力手段110は、ホスト計算機10を操作する管理者等から入力を受け付ける手段である。入力手段110は、例えば、キーボードで構成される。出力手段120は、ホスト計算機10の状態や設定項目を表示する手段である。出力手段120は、例えば、ディスプレイ装置で構成される。なお、ホスト計算機10は、1または2台以上で構成される。
CPU130は、ディスクドライブ170に格納されているプログラムをメモリ140に読み込んで、そのプログラムに規定された処理を実行する。メモリ140は、例えば、RAM等で構成され、プログラムやデータ等を格納する。
ディスクアダプタ150は、ストレージシステム30とストレージネットワーク50を介して接続し、ストレージシステム30にデータを送受信する。ストレージネットワーク50は、データ転送に適したプロトコル(例えば、Fibre Channel)で構成される。
ネットワークアダプタ160は、ストレージシステム管理装置20又はストレージシステム30と管理ネットワーク40を介してデータを送受信する。管理ネットワーク40は、例えばEthernet(登録商標)で構成される。
ディスクドライブ170は、例えば、ハードディスク装置で構成され、データやプログラムを格納する。
管理装置20は、入力手段210、出力手段220、CPU230、メモリ240、ネットワークアダプタ250及びディスクドライブ260を備える。
入力手段210は、管理装置20を操作する管理者等の入力を受け付ける手段である。入力手段210は、例えば、キーボードで構成される。出力手段220は、管理装置20の状態や設定項目を表示する手段である。出力手段220は、例えば、ディスプレイ装置で構成される。
CPU230は、ディスクドライブ260に格納されている管理プログラム(管理ソフト)をメモリ240に読み込んで、そのプログラムに基づくストレージシステム30に対する管理処理を実行する。メモリ240は、例えば、RAM等で構成され、プログラムやデータ等を格納する。
ネットワークアダプタ250は、ホスト計算機10又はストレージシステム30と管理ネットワーク40を介してデータを送受信する。
ディスクドライブ260は、例えば、ハードディスク装置で構成され、データやプログラムを格納する。
ストレージシステム30は、コントローラ31、ストレージキャッシュメモリ32、共有メモリ33、物理デバイス(PDEV)34、電源スイッチ35及び電源36を備える。
コントローラ31は、物理デバイス(PDEV)34に構成された記憶領域へのデータの格納を制御する。
ストレージキャッシュメモリ32は、物理デバイス(PDEV)34に読み書きされるデータを一時的に格納する。共有メモリ33は、コントローラ31やPDEV34の構成情報を格納する。物理デバイス(PDEV)34は、複数のディスク装置によって構成される。電源36は、ストレージシステム30の各部に電力を供給する。電源スイッチ35は、電源36からの電力の供給をON/OFFするスイッチである。ディスク装置(記憶デバイス)は、例えば、ハードディスクドライブで構成され、主としてユーザデータを格納する。記憶デバイスとしては、フラッシュメモリなどの半導体メモリからなるドライブでもよい。
コントローラ31は、ホストアダプタ310、ネットワークアダプタ320、不揮発性メモリ330、電源制御部340、メモリ350、プロセッサ360、ストレージアダプタ370及び共有メモリアダプタ380によって構成される。
ホストアダプタ310は、ストレージネットワーク50を介してホスト計算機10との間でデータを送受信する。ネットワークアダプタ320は、管理ネットワーク40を介してホスト計算機10又はストレージシステム管理装置20との間でデータを送受信する。
不揮発性メモリ330は、ハードディスクやフラッシュメモリで構成され、コントローラ31で動作するプログラムや構成情報等を格納する。電源制御部340は、電源36から供給される電力を制御する。
メモリ350は、例えば、RAM(Random Access Memory)等で構成され、プログラムやデータ等を格納する。プロセッサ360は、不揮発性メモリ330に格納されているプログラムをメモリ350に読み込んで、そのプログラムに規定された処理を実行する。
ストレージアダプタ370は、物理デバイス(PDEV)34及びストレージキャッシュメモリ32との間でデータを送受信する。共有メモリアダプタ380は、共有メモリ33との間でデータを送受信する。
ストレージアダプタ370は、物理デバイス(PDEV)34及びストレージキャッシュメモリ32との間でデータを送受信する。共有メモリアダプタ380は、共有メモリ33との間でデータを送受信する。
図2は、図1に示した計算機システムにおいて、ストレージシステム30が行う記憶領域の動的割当の動作を説明するための機能ブロック図である。
図2において、複数の物理デバイス(PDEV)34は、例えば、パリティグループ342を構成し、パリティグループ342に属する物理デバイス(PDEV)34によって仮想デバイス(VDEV)400が構成される。仮想デバイス400は、第1種VDEVを構成し、パリティグループ342に属する物理デバイス34の論理的記憶領域を形成する複数の論理デバイス(LDEV)410によって分割される。
各論理デバイス(LDEV)410は、第1種LDEVとして、システムプール420に格納され、ホスト計算機10のアクセス対象となる論理ボリュームまたは論理ユニット(LU)430と対応付けて管理される。すなわち、ホスト計算機10は、論理ユニット430をターゲットデバイスとしてアクセスすることができ、論理ユニット430は、論理デバイス410にホスト計算機10へのパスを定義して設定される。
また、ストレージシステム30の外部に外部物理デバイス600が接続されている場合、外部物理デバイス600から仮想デバイス(VDEV)402が構成される。仮想デバイス(VDEV)402は、外部物理デバイス600の論理的記憶領域を形成する複数の論理デバイス(LDEV)412によって分割される。各論理デバイス(LDEV)412は、システムプール420に格納され、論理デバイス410と同様に、論理ボリュームまたは論理ユニット430に対応づけられている。
また、各論理デバイス(LDEV)410、412は、階層管理型容量仮想化プール440に格納されたプールボリューム450に対応付けられている。仮想ボリューム460は、ホスト計算機10のアクセス対象となるターゲットデバイスを構成し、仮想デバイス(VDEV)で構成されている。この仮想デバイス(VDEV)は、第2種VDEVとして、複数の論理デバイス(LDEV)に分割され、各論理デバイス(LDEV)が、第2種LDEVとして、プールボリューム450に対応付けられている。
この際、仮想ボリューム460の仮想記憶領域と、プールボリューム450の記憶領域および各論理デバイス410、412の記憶領域は、それぞれ複数の領域に分割され、各領域に、容量割当て単位であるページが割り当てられている。
そして、複数の論理デバイス(LDEV)を有する仮想ボリューム460に対して、未割当領域への新規書込に関するアクセスが生じたときには(A1)、この新規書込アクセスに対して、仮想ボリューム460のページPが割り当てられ(A2)、仮想ボリューム460のページPに対して、プールボリューム450のページPが割り当てられ(A3)、プールボリューム450のページPに対して、論理ボリューム410のページPが割り当てられる(A4、A5)。論理デバイス410のページPには、パリティグループ342に属する物理デバイス(PDEV)34が割り当てられる(A6)。これにより、論理デバイス410のページPに対応する物理デバイス(PDEV)34にライトデータが書き込まれることになる。
ここで、物理デバイス(PDEV)34が、性能あるいはコストが相異なる記憶デバイスであって、例えば、SSD(Solid State Drive)、SAS(Serial Attached SCSI)Disks(以下、SASと称することもある。)、SATA(Serial ATA)Disks(以下、SATAと称することもある。)、FC(Fibre Channel)Disks(以下、FCと称することもある。)などで構成され、これらの記憶デバイスが、その性能、例えば、リードアクセスやライトアクセスに対するレスポンスタイムに応じて複数のグループに分けられる場合、論理デバイス410、412は、各物理デバイス(PDEV)34の性能に対応して、階層化されて構築され、プールボリューム450も、各物理デバイス(PDEV)34の性能に対応して、階層化されて構築される。
例えば、物理デバイス(PDEV)34が、性能が異なる3種類の物理デバイスとして、SSD、SAS、SATAで構成されていた場合、これら物理デバイス(PDEV)34は、SSDをTier0とし、SASをTier1とし、SATAをTier2として、3つのグループに分かれて階層化される。この場合、論理ボリューム410、412は、Tier0に属するSSDで構成される論理ボリュームと、Tier1に属するSASで構成される論理ボリュームと、Tier2に属するSATAで構成される論理ボリュームとして、3つの層に分かれて階層化されるとともに、プールボリューム450は、3つの層に分かれて階層化された論理ボリュームに対応して階層化されて、階層管理型容量仮想化プール440に格納されることになる。
図3は、ストレージシステム30のメモリ350ブロック図である。メモリ350には、プロセッサ360によって読み込まれて実行される各種プログラムや、LDEVの設定に関する構成情報351及び容量仮想化プール440、システムプール420の設定に関するプール情報352が格納される。
コマンド制御プログラム3501は、ホスト計算機10又はストレージシステム管理装置20からのコマンドを解釈し、そのコマンドに規定された処理を実行する。パス制御プログラム3502は、ホスト計算機10との間のパスを設定する。ホストアダプタ制御プログラム3504は、ホストアダプタ310の入出力データを制御する。構成制御プログラム3503は、ストレージシステム30の構成を制御する。ディスクI/Oプログラム3505は、物理デバイス(PDEV)34へのアクセスを制御する。
ネットワーク制御プログラム3506は、ストレージネットワーク50又は管理ネットワーク40を介して送受信するデータを制御する。プール制御プログラム3507は、容量仮想化プール440やシステムプール420を設定する。電源制御プログラム3508は、電源36の供給する電力のON/OFFを制御する。キャッシュ制御プログラム3509は、ストレージキャッシュメモリ32の領域及びデータを制御する。ドライブ診断プログラム3510は、PDEV(物理デバイス34)の各ディスク装置の状態を診断する。
構成情報351は、ストレージシステム30の仮想デバイス(VDEV)400及び論理デバイス(LDEV)410、412に関する設定を格納する。プール情報352は、容量仮想化プール440やシステムプール420に関する設定を格納する。構成情報351は、アドレス管理テーブル3511、LDEV管理情報3512、ターゲットデバイス情報3513、VDEV管理情報3514を含む。
アドレス管理テーブル3511は、ターゲットデバイスとLDEVとVDEVおよび物理デバイスのアドレスのマッピング情報を格納する。アドレス管理テーブル3511は、ターゲットデバイス−LDEVマッピング情報35111、LDEV−VDEVマッピング情報35112及びVDEV−PDEVマッピング情報35113を含む。LDEV管理情報3512は、LDEV(論理デバイス410、412)に関する情報を格納する。ターゲットデバイス情報3513は、ターゲットデバイスに関する情報を格納する。VDEV管理情報3514は、VDEV(仮想デバイス400、402)に関する情報を格納する。
階層管理型容量仮想化管理情報352は、POOL管理情報3521、POOL-VOL管理情報(容量仮想化プール用構成管理情報)3522、V-VOLDIR(容量仮想化領域管理情報)3523、PSCB(容量仮想化用プール領域管理情報)3524、SYS領域情報3525、階層管理情報3526を含む。
POOL管理情報3521は、容量仮想化プール440の設定を格納する。POOL-VOL管理情報3522は、容量仮想化プール440のプールボリューム450の情報を格納する。V-VOLDIR 3523は、容量仮想化プール440のプールボリューム450のアドレスの割り当てを格納する。PSCB情報(容量仮想化用プール領域管理情報)3524は、容量仮想化プール440のプールボリューム450のアドレスの情報を格納する。SYS領域情報3525は、ストレージシステム30の構成情報を格納するLDEVの情報を格納する。階層管理情報3526は、容量仮想化プール440のプールボリューム450の階層に関する情報を格納する。
図4は、VDEV管理情報の説明図である。VDEV管理情報3514は、VDEV固有情報35141から構成される。VDEV固有情報35141は、VDEV番号(VDEV#)35142、エミュレーションタイプ35143、総サイズ35144、残サイズ35145、デバイス属性35146、デバイス状態35147、設定LDEV数35148、LDEV番号35149、先頭VDEV-SLOT#35150及び終了VDEV-SLOT#35151で構成される。
VDEV#35142は、VDEV(仮想デバイス400、402)の識別子である。エミュレーションタイプ35143は、VDEVのエミュレーションタイプの識別子である。総サイズ35144は、VDEVに設定されている総サイズである。残サイズ35145は、VDEVの未使用の領域のサイズである。
デバイス属性35146は、VDEVに定義されている属性の識別子である。そのVDEVが第1種VDEV(論理ユニット430に割り当てられるVDEV)である場合には、第1種VDEVを示す識別子が格納され、そのVDEVが第2種VDEVであり、仮想ボリューム460に設定されている場合には、第2種VDEVを示す識別子が格納される。
デバイス状態35147は、VDEVの状態を示す識別子である。VDEVの状態は、正常、閉塞、障害閉塞等がある。閉塞は、パンク閉塞など、障害の発生意外の要因によって閉塞されていることを示す。障害閉塞は、デバイスの何れかに障害が発生しておりそのために閉塞されていることを示す。
設定LDEV数35148は、VDEVに設定されているLDEVの総数である。LDEV番号35149は、VDEVに設定されているLDEVの番号が格納される。先頭VDEV-SLOT#35150は、設定されているLDEVの物理的な先頭のスロット番号の識別子である。
終了VDEV-SLOT#35151は、設定されているLDEVの物理的な最終のスロット番号である。このLDEV番号35149、先頭VDEV-SLOT#35150及び終了VDEV-SLOT#35151は、LDEV数と同じ数だけLDEV番号毎に設定される。
図5は、LDEV管理情報の説明図である。LDEV管理情報3512は、VDEV固有情報35121から構成される。LDEV固有情報35121は、LDEV番号(LDEV#)35122、エミュレーションタイプ35123、サイズ35124、先頭スロット番号35125、終了スロット番号35126、パス定義情報35127、デバイス属性35128、デバイス状態35129、プログラム使用状況351300及びPOOL-ID351301で構成される。
LDEV#35122は、LDEV(論理デバイス410、412)の識別子である。エミュレーションタイプ35123は、LDEVのエミュレーションタイプの識別子である。サイズ35124は、LDEVに設定されている総サイズである。
先頭スロット番号35125は、設定されたLDEVの先頭のスロット番号の識別子である。終了スロット番号35126は、設定されたLDEVの最終のスロット番号である。パス定義情報35127は、ホスト計算機10に定義されたパスの識別子である。
デバイス属性35128は、LDEVの属性の識別子である。LDEVが第1種LDEVである場合には、第1種LDEVを示す識別子が格納され、LDEVが第2種LDEVである場合には、第2種LDEVを示す識別子が格納される。また、LDEVが容量仮想化プール440に設定されている場合は、プール属性を示す識別子が格納される。
デバイス状態35129は、そのLDEVが所属するVDEVの状態を示す識別子である。VDEVの状態は、正常、閉塞、障害閉塞等がある。閉塞は、パンク閉塞など、障害の発生意外の要因によって閉塞されていることを示す。障害閉塞は、デバイスの何れかに障害が発生しておりそのために閉塞されていることを示す。
プログラム使用状況351300は、LDEVが何れかのプログラムによって処理中である場合に、そのプログラムの識別子が格納される。POOL-ID351301は、LDEVが容量仮想化プール440に設定されている場合に、その識別子が格納される。
図6は、アドレス管理テーブルの説明図である。アドレス管理テーブル3511は、ターゲットデバイスとLDEVとVDEVおよび物理デバイス34のアドレスのマッピング情報を格納する。アドレス管理テーブル3511は、ターゲットデバイス−LDEVマッピング情報35111、LDEV−VDEVマッピング情報35112及びVDEV−PDEVマッピング情報35113を含む。
ターゲットデバイス−LDEVマッピング情報35111は、ターゲットデバイスのアドレスとLDEVのアドレスとの対応が格納される。LDEV−VDEVマッピング情報35112は、LDEV(第1種LDEV、第2種LDEV)のアドレスとVDEV(第1種VDEV、第2種VDEV)のアドレスが格納される。
VDEV−PDEVマッピング情報35113は、VDEVのアドレスとそのRAIDグループ番号(又はパリティグループ)とPDEV(物理デバイス34)のアドレスか格納される。
ストレージシステム30は、このアドレス管理テーブル3511を参照することによって、ターゲットデバイスのアドレスがどのLDEVのどのアドレスに対応するかを知ることができる。また、LDEVのアドレスがどのVDEVのどのアドレスに対応するかを知ることができる。また、VDEVのアドレスがどのRAIDグループに属しており、どのPDEVのどのアドレスに対応するかを知ることができる。
図7は、POOL管理情報の説明図である。POOL管理情報3521は、POOL固有情報35211から構成される。POOL固有情報35211は、POOL-ID35212、属性/用途35213、エミュレーションタイプ35214、容量35215、空き容量35216、閾値35217、状態35218、POOL-VOL数35219、POOL-VOLデバイス番号リスト35220、POOLを利用しているデバイス数35221及びPOOLを利用しているデバイス番号35222で構成される。
POOL-ID35212は、POOL(容量仮想化プール440)の識別子である。属性/用途35213は、その容量仮想化プール440の属性及び用途を示す識別子である。用途は、例えば、スナップショットやSYS領域など、運用形態の用途である。
エミュレーションタイプ35214は、容量仮想化プール440のエミュレーションタイプの識別子である。容量35215は、容量仮想化プール440の総容量である、空き容量35216は、容量仮想化プール440の未使用の領域のサイズである。
閾値35217は、容量仮想化プール440が許容する最大のデータ格納容量である。状態35218は、容量仮想化プール440の現在の状態である。例えば、定義中、拡張中、有効等である。POOL-VOL数35219は、容量仮想化プール440として設定されているLDEVの総数である。
POOL-VOLデバイス番号リスト35220は、容量仮想化プール440として設定されているLDEV番号の一覧である。POOLを利用しているデバイス数35221は、容量仮想化プール440のLDEVが関連付けられている第2種LDEVの数である。POOLを利用しているデバイス番号35222は、容量仮想化プール440のLDEVが関連付けられている第2種LDEV番号の一覧である。
図8は、ターゲットデバイス情報の説明図である。ターゲットデバイス情報3513は、ターゲットデバイス固有情報35131から構成される。ターゲットデバイス固有情報35131は、ポート#35132、ターゲットデバイス番号#35133、LDEV数35134、LDEV#35135、属性35136、状態35137、容量35138、許可ホスト情報35139で構成される。
ポート#35132は、ホストアダプラ310のポート番号である。ターゲットデバイス番号#35133は、ターゲットデバイスの番号、例えば、仮想ボリューム460をターゲットデバイスとしたときには、仮想ボリューム460の番号を示す。LDEV数35134は、仮想ボリューム460をターゲットデバイスとしたときには、仮想ボリューム460を構成するLDEV(第2種LDEV)の数を示す。LDEV#35135は、例えば、仮想ボリューム460をターゲットデバイスとしたときには、仮想ボリューム460を構成するLDEV(第2種LDEV)の番号を示す。
属性35136は、例えば、仮想ボリューム460をターゲットデバイスとしたときには、仮想ボリューム460の属性を示す。状態35137は、仮想ボリューム460をターゲットデバイスとしたときには、仮想ボリューム460の状態、例えば、アクセス対象の状態にあることを示す。容量35138は、仮想ボリューム460をターゲットデバイスとしたときには、仮想ボリューム460を構成するLDEV(第2種LDEV)の容量を示す。許可ホスト情報35139は、仮想ボリューム460をターゲットデバイスとしたときには、仮想ボリューム460に対するアクセスの許可の有無を示す情報である。
図9は、仮想ボリュームとPSCBおよびプールボリュームの関係を説明するためのブロック図である。VVOL-DIR3523は、仮想ボリューム460の記憶領域である第2種LDEVの構成の情報である。PSCB(POOL-SLOT Control Block)3524は、プールボリューム450に設定された第1種LDEVの構成の情報である。
ストレージシステム30は、物理デバイス(PDEV)34からRAID構成によって第1種VDEV(仮想デバイス400)を構成する。この第1種VDEVを、記憶領域である第1種LDEV(論理デバイス410)に分割する。第1種LDEVがシステムプール420に設定される。このシステムプール420に設定された第1種LDEVによって構成されるボリュームをプールボリューム(POOL-VOL)450とする。
また、ストレージシステム30は、仮想ボリューム(VVOL)460を設定し、第2種VDEV(仮想デバイス)を構成する。この第2種VDEVを記憶領域である第2種LDEV(論理デバイス)に分割する。
ストレージシステム30は、仮想ボリューム460の第2種LDEVを、プールボリューム450の第1種LDEV(論理デバイス410)に割り当てる。これによって、ホスト計算機10がアクセスする仮想ボリューム460の記憶領域が、物理デバイス(PDEV)34から構成された第1種LDEV(論理デバイス410)に設定される。
仮想ボリューム460の構成は、VVOL-DIR3523に格納される。VVOL-DIR3523は、LDEV番号(LDEV#)35231及びエントリ35232によって構成される。
LDEV番号(LDEV#)35231は、第2種LDEV(論理デバイス)の識別子である。エントリ35232は、第2種LDEVの構成情報である。このエントリ35232は、第2種LDEVアドレス35233及びPSCBポインタ35234から構成される。
第2種LDEVアドレス35233には、仮想ボリューム460の第2種LDEV(論理デバイス)のアドレスが格納される。
PSCBポインタ35234には、第2種LDEV(論理デバイス)がプールボリューム450の第1種LDEV(論理デバイス410)に割り当てられている場合に、その第1種LDEV(論理デバイス410)の領域のポインタが格納される。なお、初期状態では、第2種LDEVは、第1種LDEVに割り当てられていないので、PSCBポインタ35234には、「NULL」が格納される。
PSCB(Pool-Slot Control Block)3524は、プールボリューム450に設定されている第1種LDEV(論理デバイス410)の情報である。このPSCB3524は、プールボリューム450に設定されている第1種LDEV(論理デバイス410)のスロット毎に設定される。
PSCB3524は、実ページ番号(実ページ#)35242、プールボリューム450のアドレス35243、ポインタA35244及びポインタB35245から構成される。
実ページ番号(実ページ#)35242は、プールボリューム450における第1種LDEV(論理デバイス410)の実ページ番号である。プールボリューム450のアドレス35243は、プールボリューム450における第1種LDEV(論理デバイス410)のアドレスである。
ポインタA35244及びポインタB35245は、プールボリューム450内の第1種LDEV(論理デバイス410)の前後のスロットの識別子である。
また、プールボリューム450の領域のうち、未使用の領域は、その先頭がフリーPSCBキュー35240で示される。フリーPSCBキュー35240は、次のスロットを示すPSCB3524へのポインタを含む。
ストレージシステム30は、フリーPSCBキュー35240に示されたポインタを参照して、次のPSCB3524を得る。さらに、次のPSCB3524のポインタB35245を参照して、段階的にPSCB3524を辿る。そして、その未使用の領域の最終のスロットに対応するPSCB3524を得る。
この最後のPSCB3524のポインタB35245は、フリーPSCBキュー35240である。ストレージシステム30は、フリーPSCBキュー35240を辿り、PSCB3524のポインタによって連結された集合によって、容量仮想化プール440のプールボリューム450の未使用の領域を知ることができる。
ストレージシステム30は、プールボリューム450に設定された第1種LDEV(論理デバイス410)に対応するPSCB3524を設定する。具体的には、プールボリューム450に設定された第1種LDEV(論理デバイス410)の各スロットに対応するPSCB3524を設定し、さらにフリーPSCBキュー35240を設定する。初期状態では、プールボリューム450は全て未使用であるため、フリーPSCBキュー35240によって連結される集合は、プールボリューム450に設定された第1種LDEV(論理デバイス410)の全ての領域に対応する。
そして、ストレージシステム30は、このプールボリューム450の領域を使用する場合に、必要なスロット分のPSCB3524を第2種LDEVであるVVOL-DIR3523に割り当てることで、当該領域が使用可能となる。複数のスロットの集合がページに相当する。ページは、複数のPSCBから特定される。ホスト計算機10から仮想ボリューム460へのアクセス、仮想ボリューム460のアクセス領域に対するプールボリューム450からの記憶領域の割り当ては、ページ単位で実行される。
具体的には、ストレージシステム30は、フリーPSCBキュー35240を参照する。そして、第2種LDEVに割り当てる必要な領域分(ページ)のPSCB3524を取得する。この取得したPSCB3524を、それぞれVVOL-DIR3523のエントリに割り当てる。すなわち、VVOL-DIR3523の各エントリのPSCBポインタ35234に、対応するPSCB3524を示すポインタを格納する。なお、割り当て済みのPSCB3524は、フリーPSCBキュー35240の連結から外す。
これによって、第2種LDEVの各ページ(スロット)が、VVOL-DIR3523の各エントリのPSCBポインタ35234で示されるPSCB3424に割り当てられる。PSCB3524は、第1種LDEV(論理デバイス410)のスロットに対応しているので、結果として、第2種LDEVが第1種LDEV(論理デバイス410)に割り当てられ、ホスト計算機10のアクセス対象である仮想ボリューム460が、ターゲットデバイスとして使用可能となる。
図10は、仮想ボリュームとプールとの関係を説明するためのブロック図である。プール管理テーブル35221は、仮想ボリューム460の第2種LDEVとプールボリューム450の第1種LDEV(論理デバイス410)との関係を管理するためのテーブルを構成する。
プール管理テーブル35221には、仮想ボリューム460の第2種LDEVが、プールボリューム450に割り当てられていないときには、「FREE」の情報が、第2種LDEVに対応して格納され、仮想ボリューム460の第2種LDEVが、プールボリューム450に割り当てられたときには、「ALOCATED」の情報が、第2種LDEVに対応して格納される。
図11は、仮想ボリュームとPSCBおよび階層化されたプールボリュームの関係を説明するためのブロック図である。
階層化されたプールボリューム450が容量仮想化プール440に格納された場合、階層毎にフリーPSCBをキュー管理し、1つのLDEV35231に対して、複数の階層にページ毎に領域を割り当てることとしている。この際、ページ単位の方法をPSCB単位の情報として管理する。PSCBポインタ35234は、ページデータがプールボリューム450内のどの領域に格納されているかを示す情報である。階層(Tier)番号35235は、プールボリューム450内のどの階層にページデータが格納されているかを示す階層の番号である。
ここで、プールボリュームとして、例えば、Tier0に属するプールボリュームをプールボリューム452と、Tier1に属するプールボリュームをプールボリューム454とした場合、VVOL-DIR3523におけるLDEV1のあるページは、Tier0に属するプールボリューム452の領域が割り当てられ、PSCB3524のうちPSCB1にてアドレスが管理されているときに(S351)、このページをTier1に移行する場合、PSCB3524におけるPSCB3をフリーPSCBキューから取得し、PSCB1の内容をPSCB3へコピーする処理(S352)がコントローラ31によって実行される。
この後、VVOL-DIR3523におけるLDEV1のあるページのマッピングをPSCB1からPSCB3へ変更し、PSCB1をフリーキューへ戻すために、PSCB1をフリーPSCBキュー35240へ接続する処理(S353)がコントローラ31によって実行される。
なお、ページ単位の情報としては、他に、モニタから採取された情報がある。この場合、そのページへのアクセス頻度を定期的にモニタして管理することになる。また、プールボリューム450内に格納されたデータは、プール側のページ毎に情報を付け、どの仮想ボリュームのどのアドレスのデータが割り当てられているかを検索できる情報であってもよい。
図12は、階層化されたプールボリュームに用いられるPSCBのブロック図である。
容量仮想化プール440に階層化されたプールボリューム450を格納した場合、例えば、5階層に分けてプールボリューム450を容量仮想化プール440に格納したときには、Tier0のPSCB2524として、PSCB1401Fが用いられ、Tier1のPSCB2524として、PSCB1401Rが用いられ、Tier2のPSCB2524として、PSCB1401Aが用いられ、Tier3のPSCB2524として、PSCB1401Dが用いられ、Tier4のPSCB2524として、PSCB1401Uが用いられる。
次に、プール作成処理を図13Aのフローチャートに従って説明する。ストレージシステム管理装置20のCPU230は、管理プログラム(管理ソフト)を起動し、プールID(IDentifier)、閾値、用途、プールボリューム数、論理デバイス番号(LDEV#)、リザーブ(ターゲットデバイスとは異なる予備のデバイス)の割合を指定してプール作成を指示し(S11)、ストレージシステム30にプール作成指示を送信する(S12)。
この後、ストレージシステム30のネットワークアダプタ320がプール作成指示を受信すると、コントローラ31は、プロセッサ360がコマンド制御プログラム3501を起動して、以下の処理を開始する。
まず、プロセッサ360は、プール作成指示を受領し(S13)、プール作成指示に付加されたコマンドの内容をチェックし(S14)、無効な内容があるか否かを判定し(S15)、コマンドに無効な内容がないときにはプール作成処理に移行し(S16)、プール作成処理に成功したか否かを判定し(S17)、プール作成処理に成功したときには、プール作成に成功した旨の応答をストレージシステム管理装置20に送信する(S18)。
まず、プロセッサ360は、プール作成指示を受領し(S13)、プール作成指示に付加されたコマンドの内容をチェックし(S14)、無効な内容があるか否かを判定し(S15)、コマンドに無効な内容がないときにはプール作成処理に移行し(S16)、プール作成処理に成功したか否かを判定し(S17)、プール作成処理に成功したときには、プール作成に成功した旨の応答をストレージシステム管理装置20に送信する(S18)。
一方、プロセッサ360は、ステップS15において、コマンドの内容に無効な内容があると判定したときには、ステップS17において、プール作成処理に失敗したときとともに、プール作成に失敗した原因と、指示に対するエラー応答をストレージシステム管理装置20に送信し(S19)、このルーチンでの処理を終了する。
ストレージシステム管理装置20のCPU230は、ストレージシステム30からプール作成処理の応答を受領すると(S20)、受領した応答の内容を基にプール作成処理が成功したか否かを判定し(S21)、プール作成処理に成功したときには、指示されたプールの作成が成功したことをログして、外部I/F(InterFace)やGUI(Graphical User Interface)に情報を提供し(S22)、このルーチンでの処理を終了する。
ステップS21において、プール作成処理に失敗したと判定したときには、CPU230は、指示されたプールの作成が失敗したこと、及びその原因をログして、外部I/FやGUIに情報を提供し(S23)、このルーチンでの処理を終了する。
次に、プール管理情報作成処理を図13Bフローチャートに従って説明する。
この処理は、ステップS16におけるプール作成処理で実行するためのプール管理情報作成処理であって、プロセッサ360が、プール制御プログラム3507を起動することによって開始される。
プロセッサ360は、プールIDのチェック、例えば、プールIDが有効で且つ未使用であるかをチェックし(S31)、プール(容量仮想化プール440)の状態を未定義から定義中に変更し(S32)、指示された論理デバイス(LDEV)の状態をチェックし(S33)、チェック対象の論理デバイスは、使用中、障害、閉塞、フォーマット中などのときは使用不可であるため、プール作成に失敗したとして処理を終了し、それ以外の論理デバイスについては以下の処理を実行する(S34)。
次に、プロセッサ360は、LDEV情報にプールボリューム情報を設定し(S35)、プール管理情報の容量、空き容量、閾値、プールボリューム数を更新し(S36)、次に、プール空き管理キューを作成し(S37)、さらにリザーブキューを作成し(S38)、その後、プールの状態を有効に変更し(S39)、このルーチンでの処理を終了する。
次に、仮想ボリューム(VOL)作成処理を図14Aフローチャートに従って説明する。ストレージシステム管理装置20のCPU230は、管理プログラム(管理ソフト)を起動し、処理を開始する。CPU230は、接続ホスト情報、ポート番号、LUN、論理デバイス番号(LDEV#)、エミュレーションタイプ、容量、仮想デバイス番号(VDEV#)、プールID、閾値、用途QoS(Quality of Services) LANEなどを指定して仮想ボリュームの作成を指示し(S41)、ストレージシステム30に仮想ボリュームの作成指示を送信する(S42)。
一方、ストレージシステム30のネットワークアダプタ320が仮想ボリューム作成指示を受信すると、プロセッサ360によってコマンド制御プログラム3501が起動され、以下の処理が開始される。
まず、プロセッサ360は、仮想ボリューム作成指示を受領し(S43)、仮想ボリューム作成指示に付加されたコマンドの内容をチェックし(S44)、コマンドの内容が、無効な内容か否かを判定し(S45)、無効な内容がないときには仮想ボリューム作成処理を実行し(S46)、仮想ボリューム作成処理に成功したか否かを判定する(S47)。
ステップS47で仮想ボリュームの作成に成功したと判定したときには、プロセッサ360は、パス定義処理、例えば、ポートに仮想ボリュームを論理ユニット(LU)として定義し、ホストグループや論理ユニット番号(LUN)セキュリティも設定し(S48)、仮想ボリュームの作成に成功した旨の応答をストレージシステム管理装置20に送信する(S49)。
一方、プロセッサ360は、ステップS45において、コマンドの内容に無効な内容があると判定したときには、ステップS47において仮想ボリュームの作成に失敗したときとともに、仮想ボリュームの作成に失敗した原因と、指示に対してエラー応答をストレージ装置管理装置20に送信し(S50)、このルーチンでの処理を終了する。
ストレージ装置管理装置20のCPU230は、ストレージシステム30からの仮想ボリューム作成応答を受領したときには(S51)、受領した応答の内容を基に仮想ボリュームの作成に成功したか否かを判定し(S52)、仮想ボリュームの作成処理に成功したと判定したときには、指示された仮想ボリュームの作成が成功したことをログして、外部I/FやGUIに情報を提供し(S53)、このルーチンでの処理を終了する。
仮想ボリュームの作成処理に失敗したと判定したときには、CPU230は、指示された仮想ボリュームの作成が失敗したこと及びその原因をログして、外部I/FやGUIに情報を提供し(S54)、このルーチンでの処理を終了する。
次に、仮想ボリューム管理情報作成処理を図14Bのフローチャートに従って説明する。この処理は、図14AのステップS46における仮想ボリューム作成処理で実行するための処理であって、コントローラ31のプロセッサ360が、プール制御プログラム3507を起動することによって開始される。
プロセッサ360は、仮想ボリュームのチェックとして、例えば、仮想ボリュームが有効で且つ未使用であるかをチェックするとともに、仮想ボリュームの閾値などをチェックし(S61)、仮想ボリュームに属する仮想デバイス(VDEV)の番号が正しいか否かをチェックし(S62)、仮想デバイスの番号が正しいときには、仮想デバイス情報作成処理として、例えば、プール番号、容量、エミュレーションタイプ、RAIDレベル、状態(ノーマル)などを作成し(S63)、その後、論理デバイス(LDEV)番号が正しいか否かを判定する(S64)。
プロセッサ360は、ステップS64で論理デバイス(LDEV)の番号が正しいと判定したときには、次に、論理デバイス情報作成処理として、例えば、プール番号、容量、属性(仮想ボリュームの属性)、状態(ノーマル)などの情報を作成し(S65)、その後、マップ情報作成処理として、特定のデータページを参照して、マップ情報を作成し(S66)、仮想ボリューム作成処理が正常に終了した旨の処理を実行し(S67)、このルーチンでの処理を終了する。
一方、プロセッサ360は、ステップS62において、仮想デバイス(VDEV)の番号が正しくないと判定したとき、あるいはステップS64において、論理デバイス(LDEV)の番号が正しくないと判定したときには、仮想ボリュームの作成処理が異常で終了した旨の処理を実行し(S68)、このルーチンでの処理を終了する。
次に、図15に、物理デバイス(PDEV)34を追加または削除するときの管理構成を示す。コントローラ31は、容量仮想化プール440に格納されたプールボリューム450を階層化して管理するに際して、Tier0に属する物理デバイス34として、SASを用い、Tier1に属する物理デバイス34としてSATAを用いているときには、(a)に示すように、これらの物理デバイス34よりも性能レベルの高い物理デバイス34として、SSDが追加された場合、Tier0にSSDを設定し、Tier1にSASを設定し、Tier2にSATAを設定し、これら物理デバイス34の論理デバイス(LDEV)に対応したプールボリューム450を3つの階層に分けて階層化して管理することとしている。
逆に、(b)に示すように、Tier1に属するSASが削除された場合、コントローラ31は、Tier2に設定されていたSATAを、Tier1に繰り上げて管理することとしている。この場合、プールボリューム450は、2つの階層に階層化されて管理されることになる。
ここで、以下、ストレージシステム30において、当該ストレージシステム30内でデータをコピーすることをローカルコピーと称し、ストレージシステム30が他のストレージシステムに接続されている場合、ストレージシステム30内の論理ボリュームのデータの複製を他のストレージシステムにコピーすることをリモートコピーと称することとする。
また、ローカルコピー及びリモートコピーにおいて、コピー元の論理ボリュームとコピー先の論理ボリュームの組をペアと称し、ペアを構成する論理ボリュームのうち、例えば、ホスト計算機10のアクセス対象となる論理ボリュームを正論理ボリューム(P-VOL)と称し、正論理ボリューム(P-VOL)のペアの対象となる論理ボリュームを副ボリューム(S-VOL)と称することとする。
新たなペアを形成するときには、形成コピー処理が実行される。この場合、新たに形成されるペアのコピー元(正論理ボリューム)とコピー先(副ボリューム)が指定される。この時点では、副ボリュームには、正論理ボリュームと同じデータは格納されていないが、その後、コピー元(正論理ボリューム)のデータを順次コピー先(副ボリューム)にコピーする、形成コピーを実行することで、副ボリューム(S-VOL)には、正論理ボリューム(P-VOL)と同一のデータが格納される。形成コピーを実行している状態は、「形成コピー中」状態である。
データがコピーされ、正論理ボリューム(P-VOL)と副ボリューム(S-VOL)に同一のデータが格納された状態、すなわち、データが二重化された状態を「同期」状態という。「同期」状態において、正論理ボリューム(P-VOL)のデータが更新されると、更新されたデータは、副ボリューム(S-VOL)にコピーされる。このコピーを更新コピーという。
データのコピーが停止した状態は、「サスペンド(Suspend)」状態である。「サスペンド(Suspend)」状態のペアにおいては、副ボリューム(S-VOL)には、正論理ボリューム(P-VOL)とは異なるデータが格納されている場合もある。「サスペンド(Suspend)」状態及び「形成コピー中」状態においては、差分ビットマップを用いた差分管理が実行される。
例えば、正論理ボリューム(P-VOL)が属するペアが「同期」状態であるとき、差分ビットマップの全ビットは「OFF(無効」または「0」である。正論理ボリューム(P-VOL)が属するペアが「サスペンド」状態であるときに、ホスト計算機10からのアクセスにより、正論理ボリューム(P-VOL)のデータが更新されたときには、そのデータが書き込まれた記憶領域に対応するビットは、「ON(有効)」または「1」に更新される。
一方、ペアに関連する状態遷移コマンドとして、「スプリット(SPRIT)」のコマンドが発行されたときには、「同期」状態のペアを「サスペンド」状態に変更するための処理が実行される。スプリットの処理が実行されると、正論理ボリューム(P-VOL)から副ボリューム(S-VOL)へのデータのコピーは実行されない。
また、状態遷移コマンドとして、「リシンク(RESYNC)」のコマンドが発行されたときには、「サスペンド」状態のペアを「同期」状態に変更するための処理が実行される。リシンクの処理が実行されると、正論理ボリューム(P-VOL)に格納されたデータのうち、少なくとも副ボリューム(S-VOL)に格納されたデータとは異なるデータが副ボリューム(S-VOL)にコピーされる。この結果、副ボリューム(S-VOL)には、正論理ボリューム(P-VOL)と同一のデータが格納される。
状態遷移コマンドとして、「リストア(RESTORE)」または「リバースリシンク(REVERCE-RESYNC)」のコマンドが発行されたときには、「サスペンド」状態のペアを「同期」状態に変更するための処理が実行される。リストアまたはリバースリシンクの処理が実行されると、副ボリューム(S-VOL)に格納されたデータのうち、少なくとも正論理ボリューム(P-VOL)に格納されたデータとは異なるデータが正論理ボリューム(P-VOL)にコピーされる。この結果、正論理ボリューム(P-VOL)には、副ボリューム(S-VOL)と同一のデータが格納される。
次に、ホスト計算機10からストレージシステム30に対して、ペアに関するコマンドが発行されたときの処理を図16乃至図26に従って説明する。まず、コントローラ31は、図16に示すように、仮想ボリューム460を構成するボリュームであって、ホスト計算機10のアクセス対象となる運用ボリュームを正論理ボリューム(PVOL)462とし、正論理ボリューム462のペアの対象となる仮想ボリュームを副論理ボリューム(SVOL)464として管理し、正論理ボリューム462の仮想記憶領域に複数の正側ページP1、P2、・・・を割り当て、副論理ボリューム464の仮想記憶領域に複数の副側ページS1、S2、・・・を割り当てて管理することとしている。
また、コントローラ31は、容量仮想化プール440に格納されるプールボリュームを3つの階層に階層化して管理することとしている。例えば、Tier0に属するSSDで構成される論理デバイス(LEDV)410に対応したプールボリュームをプールボリューム452とし、Tier1に属するSASで構成される論理デバイス(LDEV)410に対応したプールボリュームをプールボリューム454とし、Tier2に属するSATAで構成される論理デバイス(LDEV)410に対応したプールボリュームをプールボリューム456として、階層化して管理し、プールボリューム452に複数のプール側ページP01、P02、・・・を割り当て、プールボリューム454に複数のプール側ページP11、P12、・・・を割り当て、プールボリューム456に複数のプール側ページ(P21、P22、・・・)を割り当てることとしている。
ここで、ホスト計算機10からペアに関するコマンドとして、正論理ボリューム462と副論理ボリューム464とをペアとするペア形成(ペアクリエイト)に関するコマンドをコントローラ31が受けたときには、コントローラ31は、コマンドで指定されたページ、例えば、正側ページP1、P2にプール側ページP01、P11を割り当てるとともに、副論理ボリューム464の副側ページS1、S2にプール側ボリュームP02、P12を割り当てる。
すなわち、正側ページP1と副側ページS1はペアとなるページであり、正側ページP2と副側ページS2はペアとなるページであるため、正側ページP1、P2とそれぞれペアとなる副側ページS1、S2には、正側ページP1、P2に割り当てられているプール側ページと同じ階層に属するプール側ページを割り当てる。
この後、正論理ボリューム462と副論理ボリューム464に対するリードアクセスまたはライトアクセスが禁止された状態となり、正側ページP1、P2のデータが、更新前のデータとして、それぞれ副側ページS1、S2にコピーされる。これにより、正側ページP1、P2と副側ページS1、S2のデータの内容が同一となる。
次に、ペアクリエイトに関するコマンドを受けた後、ペアに関する状態遷移コマンドとして、ペアサスペンドのコマンドを受けたときには、図17に示すように、コントローラ31は、正論理ボリューム462と副論理ボリューム464との間の更新コピーを停止する。このとき、ホスト計算機10は、正論理ボリューム462または副論理ボリューム462に対して、リードアクセスまたはライトアクセスが可能となる。
ペアサスペンドのコマンドを受けたときには、副側ページS1、S2のデータを、Tier0のSSDやTier1のSASに格納しておく必要はないので、SSDやSASよりも低コストのSATAへの移動が、ペアサスペンドのコマンドに指示されているときには、コントローラ31は、プールボリューム452のプール側ページP02をプールボリューム456に移動して、プール側ページP21とし、プールボリューム454のプール側ページP12をプールボリューム456に移動して、プール側ページP22とし、副側ページS1とプール側ページP21とを対応付け、副側ページS2とプール側ページP22とを対応付ける。
これにより、状態遷移コマンドに応じてTier0に属するプール側ページP02とTier1に属するプール側ページP12をそれぞれTier2に属するプール側ページP21、P22に移動させることができる。この場合、ホスト計算機10が、副論理ボリューム464の副側ページS1、S2をライトアクセスしたときには、ライトデータがSATAに格納されることになる。
また、ホスト計算機10は、ストレージシステム30に対して、ペアクリエイトのコマンドを発行した後、ペアサスペンドのコマンドを発行したときには、ストレージシステム30の正論理ボリューム462と副論理ボリューム464に対して、それぞれリードアクセスまたはライトアクセスが可能となる。
この際、図18に示すように、ペアサスペンドのコマンドに、外部装置、例えば、テープ装置70に対するバックアップが指示されているときには、コントローラ31は、副側ページS1、S2に格納されているデータをテープ装置70にバックアップするための処理を実行する。
次に、状態遷移コマンドとして、ペアサスペンドのコマンドを受けたときに、ペアサスペンドのコマンドにページ移動指示が含まれているときには、コントローラ31は、図19に示すように、ページ移動指示に従ってページ移動の処理を実行する。
例えば、コントローラ31は、プールボリューム452のプール側ページP02をプールボリューム456に移動して、プール側ページP21とし、プールボリューム454のプール側ページP12をプールボリューム456に移動して、プール側ページP22とし、副側ページS1とプール側ページP21とを対応付け、副側ページS2とプール側ページP22とを対応付ける。
これにより、状態遷移コマンドに応じてTier0に属するプール側ページP02とTier1に属するプール側ページP12をそれぞれTier2に属するプール側ページP21、P22に移動させることができる。
次に、状態遷移コマンドとして、ペアサスペンドのコマンドを受けた後、スピンダウン指示を含むコマンドとして、外部物理デバイス600に属する物理デバイスをスピンダウンさせるコマンドを受けたときには、コントローラ31は、図20に示すように、コマンドの指示に従って処理を実行する。
この際、コントローラ31は、スピンダウン指示として、N世代、例えば、5世代より前の古いデータを外部物理デバイス600に格納するとともに、その外部物理デバイスをスピンダウンさせる指示を受けたときには、容量仮想化プール440に、プールボリュームとして、外部物理デバイス600に対応したプールボリューム458を格納し、このプールボリューム458にプール側ページP31、P32を割り当て、このプール側ページP31、P32を、外部物理デバイス600の論理デバイスに設定されたページP601、P602に対応付ける。
この後、コントローラ31は、副側ページS1、S2がTier2のプール側ページP21、P22と対応付けられているときには、副側ページS1、S2をそれぞれプール側ページP31、P32に対応付け、副側ページS1、S2に格納された5世代前のデータを、プール側ページP31、P32を介して外部物理デバイス600のページP601、P602に移動させ、その後、5世代前のデータが格納された外部物理デバイス600をスピンダウンさせ、消費電力を低減させるための処理を実行する。
次に、ペアサスペンドのコマンドを受けたあと、状態遷移コマンドとしてペアリシンク(再同期)のコマンドを受けたときには、コントローラ31は、図21に示すように、ペアリシンクのコマンドに従って処理を実行する。
この場合、例えば、ペアサスペンドのコマンドを受けた後、正論理ボリューム462のデータが更新され、差分データを格納するページとして正側ページP3が追加され、正側ページP3がプール側ページP12に対応付けられているときには、コントローラ31は、正側ページP3とペアとなる副側ページとして、副論理ボリューム464に副側ページS3を設定し、副側ボリュームS3に対して、プール側ページP13と同一階層に属するプール側ページP13を割り当て、正側ページP3のデータを副側ページS3にコピーする。なお、副側ページS1、S2のデータはプール側ページP21、P22に格納されているものとする。
次に、コントローラ31が、ペアリシンク リバース(リストア)のコマンドを受けたときの処理を図22に従って説明する。ペアスペンドのコマンドを受けた後、状態遷移コマンドとして、ペアリシンクリバース(リストア)のコマンドを受けたときには、コントローラ31は、副論理ボリューム464にバックアップされていたデータを正論理ボリューム462に戻すためのリストア処理を行う。
このとき、例えば、副論理ボリューム464に、副側ページとしてS1、S2、S3が存在し、副側ページS1がプール側ページP21に、副側ページS2がプール側ページP22に、副側ページS3がプール側ページP13にそれぞれ対応付けられているものとする。この状態で副側ページS1、S2、S3のデータを正側ボリューム462にコピーすると、副側ページP1のデータが正側ページP1に、副側ページS2のデータが正側ページP2に、副側ページS3のデータが正側ページP3にそれぞれコピーされる。
この際、正側ページP1は、ペアクリエイトのコマンドをコントローラ31が受けたときには、Tier0のSSDに対応したプールボリューム452に属していた場合、正側ページP1をプール側ページP01に対応付ける処理がコントローラ31によって実行される。また、正側ページP2は、ペアクリエイトのコマンドをコントローラ31が受けたときには、Tier1のSASに対応したプールボリューム454に属していた場合、副側ページP2をプール側ページP11に対応付ける処理がコントローラ31によって実行される。
また、正側ページP4として、差分データが格納されていたページがリストア後に、正論理ボリューム462に存在していても、正側ページP4に格納されていた差分データは、リストア処理によって時間的に前の状態に戻るため、不要となる。このため、コントローラ31は、正側ページP4に割り当てられていたプール側ページP02をフリー化して、割り当てを解除する。
次に、状態遷移コマンドとして、クイックリストアのコマンドをコントローラが実行するときの処理を図23に従って説明する。
コントローラ31は、ホスト計算機10からクイックリストアのコマンド受けたときには、正論理ボリューム462を副論理ボリュームとし、副論理ボリューム464を正論理ボリュームとする設定変更を実行し、その後、ホスト計算機10からのコマンドに対して、設定変更されたボリュームをアクセス先として処理を実行する。
この際、ホスト計算機10は、クイックリストアのコマンドを発行した後は、ストレージシステム30の正論理ボリューム464または副論理ボリューム464にアクセスすることで、コントローラ31がペアクリエイトに伴うペアコピーを実行することなく、コントローラ31がリストア処理を実行したときと同じデータを得ることができ、ストレージシステム30に対するアクセスを高速化することができる。
この場合、新たな正側ページP1、P2、P3には、それぞれプール側ページP02、P12、P14が割り当てられ、新たな副側ページS1、S2、S3、S4には、プール側ページP01、P11、P13、P03が割り当てられる。また、プール側ページP22は、プールボリューム454に移動して、プール側ページ12として管理され、プール側ページP21は、プールボリューム452に移動して、プール側ページP02として管理される。
次に、状態遷移コマンドとして、ペア削除のコマンドをコントローラが受けたときの処理を、図24に従って説明する。
状態遷移コマンドとして、ペア削除のコマンドを受けたときには、コントローラ31は、正論理ボリューム462と副論理ボリューム464をペアとする関係を削除するとともに、正側ページP1、P2、P3と副側ページS1、S2、S3をそれぞれペアとする関係を削除する。この際、コントローラ31は、正側ページP1、P2、P3、P4とプール側ページP01、P11、P13、P02との対応関係を保持し、副側ページS1、S2、S3とプール側ページP21、P22、P13との対応関係を保持した状態で、その後のコマンドに従って処理を実行することになる。
次に、状態遷移コマンドとしてスナップショット作成コマンドを受けた時の処理を図25に従って説明する。スナップショット作成コマンドを受けたときには、コントローラ31は、副論理ボリューム464の他に副論理ボリューム466を作成し、副論理ボリューム466に副側ボリュームS11、S12を割り当て、正側ページP1と副側ページS1にそれぞれプール側ページP01が割り当てられているときには、副側ページS11にプール側ページP01を割り当て、正側ページP2と副側ページS2にプール側ページP11が割り当てられているときには、副側ページS12に、同じ階層のプール側ページP12を割り当てる。
次に、コントローラ31は、正側ページP1、P2にそれぞれスナップショットで得られたデータを副側ページS1、S2、S11にコピーする。
この後、ペアサスペンドのコマンドを受けて、正論理ボリューム462と副論理ボリューム464がペアサスペンド状態となったときには、ホスト計算機10は、正論理ボリューム462または副論理ボリューム464、466に対してそれぞれライトアクセスが可能となる。
具体的には、図26に示すように、スナップショット作成処理の後、ペアサスペンドのコマンドが入力されたときには、コントローラ31は、正論理ボリューム462または副論理ボリューム464、466に対するライト要求を受け付ける。この際、例えば、正側ページP1にライトアクセスがあった場合、ライトアクセス前のデータが副側ページS1に格納されていたときには、副側ページS1のデータを、正側ページP1に割り当てられているプール側ページP01と同じ階層に属するプール側ページP02にコピーし、マッピング先を変更する。
なお、このとき、ペアサスペンドのコマンドに、ライト前のデータをTier1またはTier2へ移動させる指示があったときには、ライト前のデータを副側ページS1からTier1に属するプールボリューム454のプール側ページまたはTier2に属するプールボリューム456のプール側ページにコピーすることもできる。
次に、正論理ボリューム・副論理ボリュームライト処理を図27のフローチャートに従って説明する。
この処理は、コントローラ31のプロセッサ360がコマンド制御プログラム3501を起動することによって開始される。まず、プロセッサ360は、ホスト計算機10からのライトコマンドを受領し(S81)、受領したライトコマンドのパラメータをチェックし(S82)、チェック結果を基に転送可否に関する応答をホストコマンド応答としてホスト計算機10に送信する(S83)。
次に、プロセッサ360は、ホスト計算機10から、ライトデータを受領したときには(S84)、正論理ボリューム462と副論理ボリューム464のペア状態を確認し(S85)、書込先アドレスをロックし(S86)、ライトデータがストレージキャッシュメモリ32に存在するか否かの判定処理、すなわち、キャッシュヒット(H)またはキャッシュミス(M)の判定処理を行い(S87)、キャッシュヒットしたか否かを判定する(S88)。
次に、プロセッサ360は、キャッシュヒットしないときには、ストレージキャッシュメモリ32に書込領域を確保し(S89)、その後、ステップS90の処理に移行し、ステップS88でキャッシュヒットしたと判定したときには、ストレージキャッシュメモリ32のスロット状態を確定し(S90)、ライトデータをストレージキャッシュメモリ32に転送し(S91)、差分ビットマップを管理するための差分ビットマップ処理を行い(S92)、書込先アドレスをアンロックとし(S93)、ホスト計算機10に対してライト処理完了報告を実行し(S94)、このルーチンでの処理を終了する。
次に、正論理ボリューム・副論理ボリュームのライト処理として、ライトアフタ処理を図27Bのフローチャートに従って説明する。
この処理は、コントローラ31のプロセッサ360がディスクI/Oプログラム3505を起動することによって開始される。まず、プロセッサ360は、ホストダーティキューサーチを行い(S101)、仮想ボリューム、例えば、正論理ボリューム462のキャッシュか否かを判定し(S102)、正論理ボリューム462のキャッシュであるときには、デフォルトページか否かを判定し(S103)、デフォルトページであるときには、空きページがあるか否かを判定する(S104)。
プロセッサ360は、空きページがあるときには、新規割当処理として、割当ページをフリーキューから選択し(S105)、空き容量カウンタを減算し(S106)、減算結果が閾値か否かを判定し(S107)、減算結果が閾値であるときには、空き容量が少ない旨の警告を行い(S108)、その後、ステップS109の処理に移り、減算値が閾値でないと判定したときとともに、未割当領域とプールフリーの領域とをリンクし(S109)、ステップS114の処理に移行する。
一方、ステップS103において、デフォルトページでないと判定したときには、プロセッサ360は、割当済みページを算出し(S110)、その後、ステップS114の処理に移行する。
また、ステップS104において、空きページがないと判定したときには、プロセッサ360は、空き容量枯渇の警告を行い(S111)、その後、プール書込禁止の警告を行い(S112)、次に、リザーブを使用可能に設定できるか否かを判定し(S113)、設定できないときにはステップS114の処理に移り、設定できるときには、このルーチンでの処理を終了する。
また、ステップS104において、空きページがないと判定したときには、プロセッサ360は、空き容量枯渇の警告を行い(S111)、その後、プール書込禁止の警告を行い(S112)、次に、リザーブを使用可能に設定できるか否かを判定し(S113)、設定できないときにはステップS114の処理に移り、設定できるときには、このルーチンでの処理を終了する。
プロセッサ360は、ステップS114においては、RAIDレベルに応じてパリティデータなどを作成し、作成したパリティデータなどをディスク書き込み用のキューに繋ぎ換えする処理を行い(S115)、ライトアフタ処理を終了する。
次に、正論理ボリューム・副論理ボリュームに対するリードコマンド処理を図28のフローチャートに従って説明する。
次に、正論理ボリューム・副論理ボリュームに対するリードコマンド処理を図28のフローチャートに従って説明する。
この処理は、コントローラ31のプロセッサ360が、コマンド制御プログラム3501とディスクI/Oプログラム3505を起動することによって開始される。
まず、プロセッサ360は、リードコマンドを受領し(S121)、受領したリードコマンドのパラメータをチェックし(S122)、次に、コマンドパラメータのチェック結果を基にペア状態、例えば、正論理ボリューム462と副論理ボリューム464のペア状態を確認し(S123)、その後、読み込み先をロックし(S124)、ストレージキャッシュメモリ32にリードデータが存在するかをチェックするためのキャッシュヒットまたはキャッシュミスの処理を実行し(S125)、キャッシュヒットとしたか否かを判定する(S126)。
まず、プロセッサ360は、リードコマンドを受領し(S121)、受領したリードコマンドのパラメータをチェックし(S122)、次に、コマンドパラメータのチェック結果を基にペア状態、例えば、正論理ボリューム462と副論理ボリューム464のペア状態を確認し(S123)、その後、読み込み先をロックし(S124)、ストレージキャッシュメモリ32にリードデータが存在するかをチェックするためのキャッシュヒットまたはキャッシュミスの処理を実行し(S125)、キャッシュヒットとしたか否かを判定する(S126)。
キャッシュヒットしたときには、プロセッサ360は、ストレージキャッシュメモリ32に領域割当があるかを確認し(S127)、ストレージキャッシュメモリ32に存在する領域が割当済みか否かを判定し(S128)、割当済みのときには、仮想−プールアドレス変換を行う(S129)。
ストレージキャッシュメモリ32に領域が割当済みでないときには、プロセッサ360は、ページ割当の要否を判定し(S130)、ページ割当が必要であると判定したときには、ストレージキャッシュメモリ32にページを動的に割り当て、ステップS132の処理に移行する。
プロセッサ360は、ステップS126において、キャッシュヒットでないと判定したときには、ストレージキャッシュメモリ32にスロット状態を確定し(S132)、ステップS130において、ページ割当が必要でないと判定したときには、デフォルトページのデータ領域をリードし(S133)、その後、リードデータをストレージキャッシュメモリ32に転送する(S134)。
この後、プロセッサ360は、ストレージキャッシュメモリ32のリードデータをホスト計算機10に転送し(S135)、読み込み先をアンロックとし(S136)、ホスト計算機10に対して、リードコマンド処理が終了した旨の完了報告を行い(S137)、リードコマンド処理を終了する。
次に、イニシャルコピー処理を図29のフローチャートに従って説明する。この処理は、ホスト計算機10からの状態遷移コマンドとして、例えば、ペアクリエイトのコマンドをコントローラ31が受信したときに開始される。
まず、ペアクリエイトのコマンドをコントローラ31が受信すると、プロセッサ360は、コピー対象範囲全体にコピーするためのビットマップをオンとし(S141)、コピー元処理開始アドレスとして、例えば、正論理ボリューム462の処理開始アドレスを設定し(S142)、コピービットマップをチェックし(S143)、コピーの要否を判定するための処理を行い(S144)、コピーが必要か否かを判定し(S145)、コピーが必要でないときにはステップS146の処理に移行し、コピー処理判定対象アドレスを1つ先に進め、ステップS143の処理に戻り、ステップS143〜S145の処理を繰り返す。
一方、ステップS145でコピーが必要と判定したときには、プロセッサ360は、コピー元アドレスとコピー先アドレス、例えば、正論理ボリューム462をコピー元とし、副論理ボリューム464をコピー先としたときには、正論理ボリューム462と副論理ボリューム464のアドレスを確認し(S147)、コピー元アドレスをロックし(S148)、コピー元のデータがストレージキャッシュメモリ32に存在するかを判定するためのコピー元ヒット(H)またはヒットミス(M)の処理を行い(S149)、キャッシュヒットしたか否かを判定する(S150)。
キャッシュヒットしたときには、プロセッサ360は、コピー元キャッシュ領域を確定し(S151)、コピー先アドレスをロックし(S152)、コピー先に関するヒットまたはミスをチェックするための処理を行い(S153)、コピー先のストレージキャッシュメモリ32に対してキャッシュヒットしたか否かを判定する(S154)。
キャッシュヒットしないときには、プロセッサ360は、コピー先にキャッシュ領域を確保し(S155)、その後、コピー先にキャッシュ領域を確定し(S156)、コピー元のストレージキャッシュメモリ32に存在するデータをコピー先のストレージキャッシュメモリ32にコピーし(S157)、ステップS165の処理に移行する。
一方、ステップS150において、キャッシュヒットしないと判定したときには、プロセッサ360は、コピー元のディスク領域を確保し(S158)、コピー先アドレスをロックし(S159)、コピー先に対するヒットまたはヒットミスをチェックするための処理を行い(S160)、次に、キャッシュヒットしたか否かを判定する(S161)。
キャッシュヒットしないときには、プロセッサ360は、コピー先のストレージキャッシュメモリ32に領域を確保し(S162)、キャッシュヒットしたときには、コピー先ストレージキャッシュメモリ32の領域にキャッシュ領域を確定し(S163)、コピー元ディスクのデータをコピー先のストレージキャッシュメモリ32にコピーし(S164)、ステップS165の処理に移行する。
キャッシュヒットしないときには、プロセッサ360は、コピー先のストレージキャッシュメモリ32に領域を確保し(S162)、キャッシュヒットしたときには、コピー先ストレージキャッシュメモリ32の領域にキャッシュ領域を確定し(S163)、コピー元ディスクのデータをコピー先のストレージキャッシュメモリ32にコピーし(S164)、ステップS165の処理に移行する。
プロセッサ360は、ステップS165において、コピービットマップをオフとし、その後、コピー先アドレスをアンロックとし(S166)、次に、コピー元アドレスをアンロックとし(S167)、コピー処理対象アドレスが終端であるか否かを判定し(S168)、終端でないときにはステップS146の処理に戻り、コピー処理判定対象アドレスを1つ先に進めたあと、ステップS143の処理に戻り、ステップS143〜S168の処理を繰り返し、コピー処理対象アドレスが終端であると判定したときには、イニシャルコピーを終了する。
次に、差分コピー処理を図30のフローチャートに従って説明する。この処理は、ホスト計算機10からの状態遷移コマンドとして、例えば、ペアリシンクのコマンドをコントローラ31が受信したときに開始される。
まず、コントローラ31のプロセッサ360は、ペアリシンクのコマンドを受信したときには、コピー元処理開始アドレスとして、例えば、正論理ボリューム462の処理開始アドレスを設定し(S181)、次に、差分ビットマップ(図27AのステップS92において処理した差分ビットマップ)をチェックし(S182)、その後、コピーの要否を判定するための処理を行い(S183)、コピーが必要か否かを判定する(S184)。プロセッサ360は、ステップS184でコピーが必要でないと判定したときには、ステップS185の処理に移行し、コピー処理判定対象アドレスを1つ先に進めて、ステップS182の処理に戻り、ステップS182〜S184の処理を繰り返す。
一方、ステップS184でコピーが必要と判定したときには、プロセッサ360は、コピー元アドレスとコピー先アドレス、例えば、正論理ボリューム462をコピー元とし、副論理ボリューム464をコピー先としたときには、正論理ボリューム462と副論理ボリューム464のアドレスを確認し(S186)、コピー元アドレスをロックし(S187)、コピー元のデータがストレージキャッシュメモリ32に存在するかを判定するためのコピー元ヒット(H)またはヒットミス(M)の処理を行い(S188)、キャッシュヒットしたか否かを判定する(S189)。
キャッシュヒットしたときには、プロセッサ360は、コピー元キャッシュ領域を確定し(S190)、コピー先アドレスをロックし(S191)、コピー先に関するヒットまたはミスをチェックするための処理を行い(S192)、コピー先のストレージキャッシュメモリ32に対してキャッシュヒットしたか否かを判定する(S193)。
キャッシュヒットしないときには、プロセッサ360は、コピー先にキャッシュ領域を確保し(S194)、その後、コピー先にキャッシュ領域を確定し(S195)、コピー元のストレージキャッシュメモリ32に存在するデータをコピー先のストレージキャッシュメモリ32にコピーし(S196)、ステップS204の処理に移行する。
一方、ステップS189において、キャッシュヒットしないと判定したときには、プロセッサ360は、コピー元のディスク領域を確保し(S197)、コピー先アドレスをロックし(S198)、コピー先に対するヒットまたはヒットミスをチェックするための処理を行い(S199)、次に、キャッシュヒットしたか否かを判定する(S200)。
キャッシュヒットしないときには、プロセッサ360は、コピー先のストレージキャッシュメモリ32に領域を確保し(S201)、キャッシュヒットしたときには、コピー先ストレージキャッシュメモリ32の領域にキャッシュ領域を確定し(S202)、コピー元ディスクのデータをコピー先のストレージキャッシュメモリ32にコピーし(S203)、ステップS204の処理に移行する。
キャッシュヒットしないときには、プロセッサ360は、コピー先のストレージキャッシュメモリ32に領域を確保し(S201)、キャッシュヒットしたときには、コピー先ストレージキャッシュメモリ32の領域にキャッシュ領域を確定し(S202)、コピー元ディスクのデータをコピー先のストレージキャッシュメモリ32にコピーし(S203)、ステップS204の処理に移行する。
プロセッサ360は、ステップS204において、コピービットマップをオフとし、その後、コピー先アドレスをアンロックとし(S205)、次に、コピー元アドレスをアンロックとし(S206)、コピー処理対象アドレスが終端であるか否かを判定し(S207)、終端でないときにはステップS185の処理に戻り、コピー処理判定対象アドレスを1つ先に進めたあと、ステップS182の処理に戻り、ステップS182〜S207の処理を繰り返し、コピー処理対象アドレスが終端であると判定したときには、差分コピーを終了する。
次に、コピーアフタライト(CAW)・コピーオンライト(COW)の処理を図31のフローチャートに従って説明する。
この処理は、ホスト計算機10から、正論理ボリューム462に対してライトアクセスが実行されたとき、あるいは、副論理ボリューム464に対してリードアクセスまたはライトアクセスが実行されたときに、コントローラ31によって開始される。
まず、プロセッサ360は、コピー元として、例えば、正論理ボリューム462を確認するための処理と、コピー先として、例えば、副論理ボリューム464を確認するための処理を行い(S211)、コピー元アドレスをロックし(S212)、コピー元に関してキャッシュヒットまたはキャッシュミスをチェックするための処理を開始し(S213)、コピー元のストレージキャッシュメモリ32にコピーすべきデータが存在するか否かの判定を行う(S214)。
キャッシュヒットしたときには、プロセッサ360は、コピー元キャッシュ領域を確定し(S215)、コピー先アドレスをロックし(S216)、コピー先に関するヒットまたはミスをチェックするための処理を行い(S217)、コピー先のストレージキャッシュメモリ32に対してキャッシュヒットしたか否かを判定する(S218)。
キャッシュヒットしないときには、プロセッサ360は、コピー先にキャッシュ領域を確保し(S219)、その後、コピー先にキャッシュ領域を確定し(S220)、コピー元のストレージキャッシュメモリ32に存在するデータをコピー先のストレージキャッシュメモリ32にコピーし(S221)、ステップS229の処理に移行する。
一方、ステップS214において、キャッシュヒットしないと判定したときには、プロセッサ360は、コピー元のディスク領域を確保し(S222)、コピー先アドレスをロックし(S223)、コピー先に対するヒットまたはヒットミスをチェックするための処理を行い(S224)、次に、キャッシュヒットしたか否かを判定する(S225)。
キャッシュヒットしないときには、プロセッサ360は、コピー先のストレージキャッシュメモリ32に領域を確保し(S226)、キャッシュヒットしたときには、コピー先ストレージキャッシュメモリ32の領域にキャッシュ領域を確定し(S227)、コピー元ディスクのデータをコピー先のストレージキャッシュメモリ32にコピーし(S228)、ステップS229の処理に移行する。
キャッシュヒットしないときには、プロセッサ360は、コピー先のストレージキャッシュメモリ32に領域を確保し(S226)、キャッシュヒットしたときには、コピー先ストレージキャッシュメモリ32の領域にキャッシュ領域を確定し(S227)、コピー元ディスクのデータをコピー先のストレージキャッシュメモリ32にコピーし(S228)、ステップS229の処理に移行する。
プロセッサ360は、ステップS229において、コピー先アドレスをアンロックとし、次に、コピー元アドレスをアンロックとし(S230)、コピーアフタライト(CAW)・コピーオンライト(COW)の処理を終了する。
次に、計算機システムにおけるディザスタリカバリ(DR)の処理を図32に従って説明する。図32は、ストレージシステム30と同一構成のストレージシステムをローカル側ストレージシステム30Aとし、ストレージシステム30と同一構成の他のストレージシステムをリモート側ストレージシステム30Bとし、ローカル側ストレージシステム30Aとリモート側ストレージシステム30Bとをストレージネットワーク51で接続したときの計算機システムの構成を示す。
ここで、ディザスタリカバリ(DR)の処理を開始するに際して、ローカル側ストレージシステム30Aからローカル側ストレージシステム30Bに対して、ストレージネットワーク51を介してリモートコピーのコマンドが送信されたときには、正論理ボリューム462Aのデータが、リモート側ストレージシステム30Bの正論理ボリューム462Bにコピーされ、その後、正論理ボリューム462Bのデータが、リモート側ストレージシステム30Bの副論理ボリューム464Bにコピーされる。
この際、ローカル側ストレージシステム30Aにおいて、正側ページP1、P2に対して、プール側ページP01、P11が対応付けられ、副側ページS1、S2に対して、プール側ページP02、P12が割り当てられているときには、リモート側ストレージシステム30Bにおいても、正側ページP1、P2には、プール側ページP01、P11が割り当てられ、副側ページS1、S2には、プール側ページP02、P12がそれぞれ割り当てられる。
すなわち、ローカルストレージシステム30Aからリモート側ストレージシステム30Bにデータをバックアップするときには、バックアップ元のページとバックアップ先のページは同じ階層のものが対応づけられる。
次に、リモート側ストレージシステム30Bにローカル側ストレージシステム30Aのデータがバックアップされた後、リモート側ストレージシステム30Bに、ペアサスペンドのコマンドが入力されたときの処理を図33に従って説明する。
リモート側ストレージシステム30Bに、ローカル側ストレージシステム30Aのデータがバックアップされた後、ローカル側ストレージシステム30Aからリモート側ストレージシステム30Bに対して、ペアサスペンドのコマンドが転送されたときには、ローカル側ストレージシステム30Aとリモート側ストレージシステム30Bのコントローラ31は、リモートコピーの停止に伴って、それぞれホスト計算機10からのIO処理を個別に実行することになる。
例えば、リモート側ストレージシステム30Bにおいては、ペアクリエイトの状態で、ホスト計算機10からのIO処理を受け付けたときには、ホスト計算機10からのIO処理を実行することになる。
次に、ローカル側ストレージシステム30Aが被災から復旧したときのリカバリ処理を図34に従って説明する。
ローカル側ストレージシステム30Aがリモート側ストレージシステム30Bにデータをバックアップした後、被災から復旧し、リモート側ストレージシステムBのデータをローカル側ストレージシステム30Aにコピーするに際しては、リモート側ストレージシステム30Bからローカル側ストレージシステム30Aに対して、リバース処理としてのコマンドが転送され、リモート側ストレージシステム30Bにおける正論理ボリューム462Bのデータが、ローカル側ストレージシステム30Aにおける正論理ボリューム462Aにコピーされる。この後、ローカル側ストレージシステム30Aにおいては、正論理ボリューム462Aのデータが副論理ボリューム464Aにコピーされる。
リモートコピーが完了したときには、図35に示すように、ローカル側ストレージシステム30Aからストレージネットワーク51を介して、リモート側ストレージシステム30Bに、リカバリ処理に伴うリモートコピーが完了した旨の情報が転送され、リカバリ処理が完了することになる。
また、ローカル側ストレージシステム30Aとリモート側ストレージシステム30Bにおいては、それぞれホスト計算機10からのコマンドに従って各種の処理が実行される。例えば、ホスト計算機10から状態遷移コマンドが発行されたときには、状態遷移コマンドに従った処理として、図16〜図26に示す処理が、ローカル側ストレージシステム30Aのコントローラ31とリモート側ストレージシステム30Bのコントローラ31によってそれぞれ実行される。
本実施例によれば、ホスト計算機10から、ペア形成に関するコマンドを受けたときには、正側ページと副側ページに同じ階層に属するプール側ページを割り当て、その後、ペアに関する状態遷移コマンドを受けたときに、状態遷移コマンドでページ移動が指示されたときには、副側ページに割り当てられていたプール側ページを、正側ページに割り当てられていたプール側ページとは異なる階層のプール側ページに移動させ、副側ページには、移動したプール側ページを割り当てるようにしたため、状態遷移コマンドに応じて副論理ボリューム464の副側ページに適切な物理デバイス34を割り当てることができる。
また、本実施例によれば、状態遷移コマンドに応じて副論理ボリューム464の副側ページに適切な物理デバイス34を割り当てることができるので、論理ボリュームの用途に応じて、性能、信頼性を高めることができる。
また、本実施例においては、正論理ボリューム462の正側ページに割り当てられたプール側ページを、状態遷移コマンドに応じて、階層の異なるプール側ページに移動させることもできる。
10 ホスト計算機、20 ストレージシステム管理装置、30 ストレージシステム、30A ローカル側ストレージシステム、30B リモート側ストレージシステム、31 コントローラ、32 ストレージキャッシュメモリ、33 共有メモリ、34 物理デバイス、40 管理ネットワーク、50 ストレージネットワーク、360 プロセッサ、400 仮想デバイス、410 論理デバイス、420 システムプール、440 階層管理型容量仮想化プール、460 仮想ボリューム、462 正論理ボリューム、464 副論理ボリューム
Claims (13)
- 性能が異なる複数の物理デバイスの論理的記憶領域を形成する複数の論理デバイスを前記物理デバイスの性能に応じて階層化し、前記階層化された論理ボリュームを各階層に対応したプールボリュームとして格納する仮想化プールと、
コマンド発行元のアクセス対象となる正論理ボリュームと、
前記正論理ボリュームのペアの対象となる副論理ボリュームと、
前記正論理ボリュームの記憶領域を複数の正側ページに分割して管理するとともに、前記副論理ボリュームの記憶領域を複数の副側ページに分割して管理し、かつ前記仮想化プールに属する各階層のプールボリュームの記憶領域を複数のプール側ページに分割して管理し、前記コマンド発行元からのコマンドで指定された正側ページに前記いずれかの階層のプール側ページを割り当てるコントローラと、を備え、
前記コントローラは、
前記コマンド発行元から、前記正論理ボリュームと前記副論理ボリュームとをペアとするペア構成に関するコマンドを受けたときには、前記コマンドで指定された正側ページに前記いずれかのプール側ページを割り当て、前記副側ページに、前記正側ページに割り当てられたプール側ページと同じ階層に属するプール側ページを割り当て、
前記コマンド発行元から、前記ペアに関する状態遷移コマンドを受けたときには、前記正側ページまたは前記副側ページのうち少なくとも一方に割り当てるプール側ページの階層を前記状態遷移コマンドに応じて選択する、ボリューム管理装置。 - 請求項1に記載のボリューム管理において、
前記コントローラは、
前記コマンド発行元から、前記ペアに関する状態遷移コマンドとして、コピーペア形成のコマンドを受けたときには、前記正側ページと前記副側ページのうち割り当てられているプール側ページが同じ階層に属するものを一組含むものをコピーぺアとして、前記コピーペアに属する正側ページのデータを前記コピーペアに属する副側ページにコピーし、
その後、前記コマンド発行元から、前記ペアに関する状態遷移コマンドとして、ペア分割のコマンドを受けたときには、前記コピーペアに属する正側ページのデータを前記コピーペアに属する副側ページにコピーする更新コピーを停止し、
前記ペア分割のコマンドに、ページ移動指示が含まれているときには、前記副側ページに割り当てられているプール側ページを、前記正側ページに割り当てられたプール側ページとは異なる階層に属するプール側ページに移動し、
前記副側ページに、前記移動したプール側ページを割り当て、前記副側ページへのライトデータを、前記移動したプール側ページに格納する、ボリューム管理装置。 - 請求項1に記載のボリューム管理装置において、
前記コントローラは、
前記コマンド発行元から、前記ペアに関する状態遷移コマンドとして、コピーペア形成のコマンドを受けたときには、前記正側ページと前記副側ページのうち割り当てられているプール側ページが同じ階層に属するものを一組含むものをコピーぺアとして、前記コピーペアに属する正側ページのデータを前記コピーペアに属する副側ページにコピーする、ボリューム管理装置。 - 請求項1に記載のボリューム管理装置において、
前記コントローラは、
前記コマンド発行元から、前記ペアに関する状態遷移コマンドとして、コピーペア形成のコマンドを受けたときには、前記正側ページと前記副側ページのうち割り当てられているプール側ページが同じ階層に属するものを一組含むものをコピーぺアとして、前記コピーペアに属する正側ページのデータを前記コピーペアに属する副側ページにコピーし、
その後、前記コマンド発行元から、前記ペアに関する状態遷移コマンドとして、ペア分割のコマンドを受けたときには、前記副側ページに対して、前記プール側ページの割り当てを解除し、
前記ペア分割のコマンドに、ページ移動指示が含まれているときには、前記プール側ページの割り当てが解除された副側ページに、前記正側ページに割り当てられたプール側ページとは異なる階層に属するプール側ページを新たに割り当てる、ボリューム管理装置。 - 請求項1に記載のボリューム管理装置において、
前記コントローラは、
前記コマンド発行元から、前記ペアに関する状態遷移コマンドとして、コピーペア形成のコマンドを受けたときには、前記正側ページと前記副側ページのうち割り当てられているプール側ページが同じ階層に属するものを一組含むものをコピーぺアとして、前記コピーペアに属する正側ページのデータを前記コピーペアに属する副側ページにコピーし、
その後、前記コマンド発行元から、前記ペアに関する状態遷移コマンドとして、ペア分割のコマンドを受けたときには、前記副側ページに対して、前記プール側ページの割り当てを解除し、
その後、前記コマンド発行元から、前記ペアに関する状態遷移コマンドとして、前記コピーペアを再同期させるペア再同期のコマンドを受けたときには、前記正側ページと前記副側ページに、前記ペア再同期のコマンドを受ける前にそれぞれ割り当てられているプール側ページのうち、同じ階層に属するものを一組含むものを全て、前記ペア再同期におけるコピーぺアとして、前記ペア再同期におけるコピーペアに属する正側ページのデータを前記コピーペアに属する副側ページにコピーする、ボリューム管理装置。 - 請求項1に記載のボリューム管理装置において、
前記コントローラは、
前記コマンド発行元から、前記ペアに関する状態遷移コマンドとして、コピーペア形成のコマンドを受けたときには、前記正側ページと前記副側ページのうち割り当てられているプール側ページが同じ階層に属するものを一組含むものをコピーぺアとして、前記コピーペアに属する正側ページのデータを前記コピーペアに属する副側ページにコピーし、
その後、前記コマンド発行元から、前記ペアに関する状態遷移コマンドとして、ペア分割のコマンドを受けたときには、前記副側ページに対して、前記プール側ページの割り当てを解除し、
その後、前記コマンド発行元から、前記ペアに関する状態遷移コマンドとして、前記コピーペアをリバースリシンクさせるリバースリシンクのコマンドを受けたときには、前記正側ページと前記副側ページに、前記リバースリシンクのコマンドを受ける前にそれぞれ割り当てられているプール側ページのうち、同じ階層に属するものを一組含むものを全て、前記リバースリシンクにおけるコピーぺアとして、前記リバースリシンクにおけるコピーペアに属する副側ページのデータを前記コピーペアに属する正側ページにコピーする、ボリューム管理装置。 - 請求項1に記載のボリューム管理装置において、
前記コントローラは、
前記コマンド発行元から、前記ペアに関する状態遷移コマンドとして、コピーペア形成のコマンドを受けたときには、前記正側ページと前記副側ページのうち割り当てられているプール側ページが同じ階層に属するものを一組含むものをコピーぺアとして、前記コピーペアに属する正側ページのデータを前記コピーペアに属する副側ページにコピーし、
その後、前記コマンド発行元から、前記ペアに関する状態遷移コマンドとして、前記コピーペアをクイックリストアさせるクイックリストアのコマンドを受けたときには、前記正論理ボリュームを新たな副論理ボリュームとし、前記副論理ボリュームを新たな正論理ボリュームとし、前記コマンド発行元から前記正論理ボリュームへのアクセスを前記新たな副論理ボリュームに切り替え、前記コマンド発行元から前記副論理ボリュームへのアクセスを前記新たな正論理ボリュームに切り替え、
前記新たな正論理ボリュームの正側ページに割り当てられている前記プール側ページと前記新たな副論理ボリュームの副側ページに割り当てられている前記プール側ページが異なる階層に属するときには、前記新たな正論理ボリュームの正側ページに、前記新たな副論理ボリュームの副側ページに割り当てられている前記プール側ページと同じ階層に属するプール側ページを新たに割り当てる、ボリューム管理装置。 - コマンド発行元のローカル側ストレージシステムにネットワークを介して接続されたリモート側ストレージシステムであって、
性能が異なる複数の物理デバイスと、
前記物理デバイスの論理的記憶領域を形成する複数の論理デバイスを前記物理デバイスの性能に応じて階層化し、前記階層化された論理ボリュームを各階層に対応したプールボリュームとして格納する仮想化プールと、
前記ローカル側ストレージシステムのアクセス対象となる正論理ボリュームと、
前記正論理ボリュームのペアの対象となる副論理ボリュームと、
前記正論理ボリュームの記憶領域を複数の正側ページに分割して管理するとともに、前記副論理ボリュームの記憶領域を複数の副側ページに分割して管理し、かつ前記仮想化プールに属する各階層のプールボリュームの記憶領域を複数のプール側ページに分割して管理し、前記コマンド発行元からのコマンドで指定された正側ページに前記いずれかの階層のプール側ページを割り当てるコントローラと、を備え、
前記コントローラは、
前記ローカル側ストレージシステムから、前記正論理ボリュームと前記副論理ボリュームとをペアとするペア構成に関するコマンドを受けたときには、前記コマンドで指定された正側ページに前記いずれかのプール側ページを割り当て、前記副側ページに、前記正側ページに割り当てられたプール側ページと同じ階層に属するプール側ページを割り当て、
前記ローカル側ストレージシステムから、前記ペアに関する状態遷移コマンドを受けたときには、前記正側ページまたは前記副側ページのうち少なくとも一方に割り当てるプール側ページの階層を前記状態遷移コマンドに応じて選択する、ストレージシステム。 - 請求項8に記載のストレージシステムにおいて、
前記コントローラは、
前記ローカル側ストレージシステムから、前記ペアに関する状態遷移コマンドとして、コピーペア形成のコマンドを受けたときには、前記正側ページと前記副側ページのうち割り当てられているプール側ページが同じ階層に属するものを一組含むものをコピーぺアとして、前記コピーペアに属する正側ページのデータを前記コピーペアに属する副側ページにコピーする、ストレージシステム。 - 請求項8に記載のストレージシステムにおいて、
前記コントローラは、
前記ローカル側ストレージシステムから、前記ペアに関する状態遷移コマンドとして、コピーペア形成のコマンドを受けたときには、前記正側ページと前記副側ページのうち割り当てられているプール側ページが同じ階層に属するものを一組含むものをコピーぺアとして、前記コピーペアに属する正側ページのデータを前記コピーペアに属する副側ページにコピーし、
その後、前記ローカル側ストレージシステムから、前記ペアに関する状態遷移コマンドとして、ペア分割のコマンドを受けたときには、前記副側ページに対して、前記プール側ページの割り当てを解除し、
前記ペア分割のコマンドに、ページ移動指示が含まれているときには、前記プール側ページの割り当てが解除された副側ページに、前記正側ページに割り当てられたプール側ページとは異なる階層に属するプール側ページを新たに割り当てる、ストレージシステム。 - 請求項8に記載のストレージシステムにおいて、
前記コントローラは、
前記ローカル側ストレージシステムから、前記ペアに関する状態遷移コマンドとして、コピーペア形成のコマンドを受けたときには、前記正側ページと前記副側ページのうち割り当てられているプール側ページが同じ階層に属するものを一組含むものをコピーぺアとして、前記コピーペアに属する正側ページのデータを前記コピーペアに属する副側ページにコピーし、
その後、前記ローカル側ストレージシステムから、前記ペアに関する状態遷移コマンドとして、ペア分割のコマンドを受けたときには、前記副側ページに対して、前記プール側ページの割り当てを解除し、
その後、前記ローカル側ストレージシステムから、前記ペアに関する状態遷移コマンドとして、前記コピーペアを再同期させるペア再同期のコマンドを受けたときには、前記正側ページと前記副側ページに、前記ペア再同期のコマンドを受ける前にそれぞれ割り当てられているプール側ページのうち、同じ階層に属するものを一組含むものを全て、前記ペア再同期におけるコピーぺアとして、前記ペア再同期におけるコピーペアに属する正側ページのデータを前記コピーペアに属する副側ページにコピーする、ストレージシステム。 - 請求項8に記載のストレージシステムにおいて、
前記コントローラは、
前記ローカル側ストレージシステムから、前記ペアに関する状態遷移コマンドとして、コピーペア形成のコマンドを受けたときには、前記正側ページと前記副側ページのうち割り当てられているプール側ページが同じ階層に属するものを一組含むものをコピーぺアとして、前記コピーペアに属する正側ページのデータを前記コピーペアに属する副側ページにコピーし、
その後、前記ローカル側ストレージシステムから、前記ペアに関する状態遷移コマンドとして、前記コピーペアを分割させるペア分割のコマンドを受けたときには、前記副側ページに対して、前記プール側ページの割り当てを解除し、
その後、前記ローカル側ストレージシステムから、前記ペアに関する状態遷移コマンドとして、前記コピーペアをリバースリシンクさせるリバースリシンクのコマンドを受けたときには、前記正側ページと前記副側ページに、前記リバースリシンクのコマンドを受ける前にそれぞれ割り当てられているプール側ページのうち、同じ階層に属するものを一組含むものを全て、前記リバースリシンクにおけるコピーぺアとして、前記リバースリシンクにおけるコピーペアに属する副側ページのデータを前記コピーペアに属する正側ページにコピーする、ストレージシステム。 - 請求項8に記載のストレージシステムにおいて、
前記コントローラは、
前記ローカル側ストレージシステムから、前記ペアに関する状態遷移コマンドとして、コピーペア形成のコマンドを受けたときには、前記正側ページと前記副側ページのうち割り当てられているプール側ページが同じ階層に属するものを一組含むものをコピーぺアとして、前記コピーペアに属する正側ページのデータを前記コピーペアに属する副側ページにコピーし、
その後、前記ローカル側ストレージシステムから、前記ペアに関する状態遷移コマンドとして、前記コピーペアをクイックリストアさせるクイックリストアのコマンドを受けたときには、前記正論理ボリュームを新たな副論理ボリュームとし、前記副論理ボリュームを新たな正論理ボリュームとし、前記ローカル側ストレージシステムから前記正論理ボリュームへのアクセスを前記新たな副論理ボリュームに切り替え、前記ローカル側ストレージシステムから前記副論理ボリュームへのアクセスを前記新たな正論理ボリュームに切り替え、
前記新たな正論理ボリュームの正側ページに割り当てられている前記プール側ページと前記新たな副論理ボリュームの副側ページに割り当てられている前記プール側ページが異なる階層に属するときには、前記新たな正論理ボリュームの正側ページに、前記新たな副論理ボリュームの副側ページに割り当てられている前記プール側ページと同じ階層に属するプール側ページを新たに割り当てる、ストレージシステム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2010/001667 WO2011111093A1 (ja) | 2010-03-09 | 2010-03-09 | ボリューム管理装置及びストレージシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2011111093A1 JPWO2011111093A1 (ja) | 2013-06-27 |
JP5323982B2 true JP5323982B2 (ja) | 2013-10-23 |
Family
ID=44561039
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012504138A Expired - Fee Related JP5323982B2 (ja) | 2010-03-09 | 2010-03-09 | ボリューム管理装置及びストレージシステム |
Country Status (3)
Country | Link |
---|---|
US (1) | US8458421B2 (ja) |
JP (1) | JP5323982B2 (ja) |
WO (1) | WO2011111093A1 (ja) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012164618A1 (en) | 2011-05-31 | 2012-12-06 | Hitachi, Ltd. | Storage system and storage control method |
WO2013088474A2 (en) * | 2011-12-14 | 2013-06-20 | Hitachi, Ltd. | Storage subsystem and method for recovering data in storage subsystem |
CN103529918A (zh) * | 2012-07-05 | 2014-01-22 | 鸿富锦精密工业(深圳)有限公司 | 服务器扩展电路及服务器系统 |
US9229648B2 (en) * | 2012-07-31 | 2016-01-05 | Hewlett Packard Enterprise Development Lp | Storage array reservation forwarding |
US9063937B2 (en) * | 2012-07-31 | 2015-06-23 | Hewlett-Packard Development Company, L.P. | Storage array reservation forwarding |
KR102083490B1 (ko) * | 2012-08-08 | 2020-03-03 | 삼성전자 주식회사 | 비휘발성 메모리 장치, 이를 포함하는 메모리 시스템 및 비휘발성 메모리 장치의 커맨드 실행 제어 방법 |
US20160253114A1 (en) * | 2013-11-14 | 2016-09-01 | Hitachi, Ltd. | Method and apparatus for optimizing data storage in heterogeneous environment |
US10333724B2 (en) | 2013-11-25 | 2019-06-25 | Oracle International Corporation | Method and system for low-overhead latency profiling |
JP6326898B2 (ja) * | 2014-03-26 | 2018-05-23 | 日本電気株式会社 | ストレージ装置、ストレージシステムおよびデータ配置方法 |
US9553998B2 (en) | 2014-06-09 | 2017-01-24 | Oracle International Corporation | Sharing group notification |
US20150356117A1 (en) * | 2014-06-09 | 2015-12-10 | Oracle International Corporation | Eventual consistency to resolve subscriber sharing relationships in a distributed system |
JP6511795B2 (ja) | 2014-12-18 | 2019-05-15 | 富士通株式会社 | ストレージ管理装置、ストレージ管理方法、ストレージ管理プログラムおよびストレージシステム |
US10810163B2 (en) | 2016-01-27 | 2020-10-20 | Hitachi, Ltd. | Storage management computer, storage management method, and recording medium |
US20170220282A1 (en) * | 2016-01-29 | 2017-08-03 | Dell Products L.P. | Dynamic capacity expansion of raid volumes |
US9910620B1 (en) * | 2016-03-31 | 2018-03-06 | Emc Corporation | Method and system for leveraging secondary storage for primary storage snapshots |
WO2019022631A1 (en) * | 2017-07-27 | 2019-01-31 | EMC IP Holding Company LLC | STORING DATA IN DIFFERENTLY SIZED WAFERS WITHIN DIFFERENT STORAGE LEVELS |
CN109032521B (zh) * | 2018-07-25 | 2019-09-10 | 星环信息科技(上海)有限公司 | 存储卷创建方法、装置、服务器及存储介质 |
US11290390B2 (en) | 2019-11-20 | 2022-03-29 | Oracle International Corporation | Methods, systems, and computer readable media for lockless communications network resource quota sharing |
JP7261763B2 (ja) * | 2020-04-15 | 2023-04-20 | 株式会社日立製作所 | 計算機システム、制御方法及びプログラム |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008134987A (ja) * | 2006-10-30 | 2008-06-12 | Hitachi Ltd | 情報システム及び情報システムのデータ転送方法 |
JP2009251970A (ja) * | 2008-04-07 | 2009-10-29 | Hitachi Ltd | 複数のストレージシステムモジュールを備えたストレージシステム |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4175788B2 (ja) | 2001-07-05 | 2008-11-05 | 株式会社日立製作所 | ボリューム制御装置 |
JP2007502470A (ja) | 2003-08-14 | 2007-02-08 | コンペレント・テクノロジーズ | 仮想ディスク・ドライブのシステムおよび方法 |
JP4508798B2 (ja) * | 2004-08-09 | 2010-07-21 | 株式会社日立製作所 | ストレージリモートコピー方式 |
JP4699808B2 (ja) | 2005-06-02 | 2011-06-15 | 株式会社日立製作所 | ストレージシステム及び構成変更方法 |
JP4922834B2 (ja) * | 2007-05-29 | 2012-04-25 | 株式会社日立製作所 | コンピュータシステムに存在するリソースの性能を監視する装置及び方法 |
JP5142629B2 (ja) * | 2007-08-22 | 2013-02-13 | 株式会社日立製作所 | 仮想ボリュームのバックアップを行うストレージシステム及び方法 |
-
2010
- 2010-03-09 WO PCT/JP2010/001667 patent/WO2011111093A1/ja active Application Filing
- 2010-03-09 US US12/920,371 patent/US8458421B2/en active Active
- 2010-03-09 JP JP2012504138A patent/JP5323982B2/ja not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008134987A (ja) * | 2006-10-30 | 2008-06-12 | Hitachi Ltd | 情報システム及び情報システムのデータ転送方法 |
JP2009251970A (ja) * | 2008-04-07 | 2009-10-29 | Hitachi Ltd | 複数のストレージシステムモジュールを備えたストレージシステム |
Also Published As
Publication number | Publication date |
---|---|
JPWO2011111093A1 (ja) | 2013-06-27 |
US8458421B2 (en) | 2013-06-04 |
WO2011111093A1 (ja) | 2011-09-15 |
US20110225379A1 (en) | 2011-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5323982B2 (ja) | ボリューム管理装置及びストレージシステム | |
US10452299B2 (en) | Storage system having a thin provisioning function | |
JP5158074B2 (ja) | ストレージ管理プログラム、ストレージ管理方法、ストレージ管理装置およびストレージシステム | |
US9122410B2 (en) | Storage system comprising function for changing data storage mode using logical volume pair | |
US8984221B2 (en) | Method for assigning storage area and computer system using the same | |
US9430484B2 (en) | Data redundancy in a cluster system | |
EP2885711B1 (en) | Target-driven independent data integrity and redundancy recovery in a shared-nothing distributed storage system | |
US7146460B2 (en) | Dynamic spindle usage leveling | |
US8909848B2 (en) | Method for managing storage system using flash memory, and computer | |
US8200631B2 (en) | Snapshot reset method and apparatus | |
US20090292870A1 (en) | Storage apparatus and control method thereof | |
JP2008065525A (ja) | 計算機システム、データ管理方法及び管理計算機 | |
US20030079102A1 (en) | System and method for generating point in time storage copy | |
JP2011081467A (ja) | 記憶装置のデータ移行制御方法 | |
JP2006134021A (ja) | ストレージシステム及びストレージシステムの構成管理方法 | |
JP5501504B2 (ja) | 記憶装置のデータ移行制御方法 | |
JP2004185644A (ja) | 記憶装置システム | |
WO2017085870A1 (ja) | 計算機システム | |
US20240111520A1 (en) | Targeted updates of storage management software based on class file usage | |
JP2020201702A (ja) | ストレージシステム及びスナップショット管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20130618 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130717 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5323982 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |