JP2013524333A - 仮想ボリュームを提供するストレージシステム及びそのストレージシステムの省電力制御方法 - Google Patents

仮想ボリュームを提供するストレージシステム及びそのストレージシステムの省電力制御方法 Download PDF

Info

Publication number
JP2013524333A
JP2013524333A JP2013502031A JP2013502031A JP2013524333A JP 2013524333 A JP2013524333 A JP 2013524333A JP 2013502031 A JP2013502031 A JP 2013502031A JP 2013502031 A JP2013502031 A JP 2013502031A JP 2013524333 A JP2013524333 A JP 2013524333A
Authority
JP
Japan
Prior art keywords
vvol
real
power saving
area
storage system
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.)
Granted
Application number
JP2013502031A
Other languages
English (en)
Other versions
JP5427314B2 (ja
Inventor
幸治 岩満
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of JP2013524333A publication Critical patent/JP2013524333A/ja
Application granted granted Critical
Publication of JP5427314B2 publication Critical patent/JP5427314B2/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
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3221Monitoring of peripheral devices of disk drive devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3268Power saving in hard disk drive
    • 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/0625Power saving in 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/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

コントローラが、省電力対象の仮想ボリュームである第1VVOLを特定し、省電力対象のRAIDグループである第1RGを特定する。コントローラは、第1VVOL以外の仮想ボリュームである第2VVOLに割り当てられている、第1RGに基づく実領域である第1の実領域があるか否かを判定する。この判定の結果が肯定的の場合、コントローラは、第1の実領域内のデータを第1RG以外のRAIDグループである第2RGに基づくフリーの実領域に移動し、第1の実領域が割り当てられている仮想領域に、第1の実領域に代えて移動先の実領域を割り当てる第1の移動処理を行う。コントローラは、第1RGに基づく実領域として、第2VVOLに割り当てられている実領域がなければ、第1RGを構成する全ての物理記憶デバイスを省電力状態にする。
【選択図】図1

Description

本発明は、Thin Provisioning(Dynamic Provisioningとも呼ばれる)が適用される記憶制御に関する。
ストレージシステムの省電力に関する技術として、例えば特許文献1に開示の技術が知られている。
特許文献1には、複数の磁気ディスク装置を有するストレージシステムが開示されている。そのストレージシステムは、複数の磁気ディスク装置のうち、一定時間アクセスの無い磁気ディスク装置内の磁気ディスクをスピンダウンさせる。これにより、ストレージシステムの省電力化が図られる。
特開2000−293314号公報
他方、Thin Provisioningと呼ばれる(Dynamic Provisioningとも呼ばれる)技術が知られている。Thin Provisioningによれば、1又は複数の仮想的な論理ボリューム(仮想ボリューム)は、それぞれ、1又は複数の物理記憶デバイス群に基づく実体的な記憶領域(以下、プール)と対応づけられている。仮想ボリュームは、複数の仮想的な記憶領域(仮想ページ)で構成され、プールは、複数の実体的な記憶領域(実ページ)で構成される。例えば、ストレージシステムは、ホストから仮想ボリュームを指定したライト要求を受信した場合に、そのライト要求で指定されている仮想ボリュームに対応づけられたプール内の実ページを、そのライト要求から特定される仮想ページに割り当てる。そして、割り当てられた実ページに、受信したライト要求に従うライト対象のデータが書き込まれる。
Thin Provisioningが適用されているストレージシステムに、特許文献1に開示の省電力技術を適用したとする。ここで、省電力状態にされた物理記憶デバイスがプールの基になっている物理記憶デバイス(以下、プール記憶デバイス)である場合、省電力の効果が低いと考えられる。具体的には、下記の(1)又は(2)、
(1)プール記憶デバイスが一定時間アクセスされない可能性は低い、
(2)一定時間アクセスされないが故に省電力状態にされても、すぐに、アクセスのために省電力状態が解除されることになる、
と考えられる。なぜなら、プールに関連付けられているいずれの仮想ボリュームにアクセスが発生しても、そのプールの基になっているいずれのプール記憶デバイスもアクセスされる可能性があるからである。
そこで、本発明の目的は、Thin Provisioningが適用されたストレージシステムの省電力効果を向上することにある。
ストレージシステムが、複数のRAID(Redundant Array of Independent (or Inexpensive) Disks)グループと、複数のRAIDグループ及び1以上のホストに接続されたコントローラとを有する。コントローラは、記憶資源を有して良い。記憶資源は、所定の情報を記憶することができる。
各RAIDグループは、二以上の物理記憶デバイスで構成されている。複数のRAIDグループが、複数の実領域で構成された記憶領域であるプールの基になっている。コントローラが、プールに関連付けられている複数の仮想ボリュームを一以上のホストに提供する。各仮想ボリュームは、複数の仮想領域で構成されている仮想的な論理ボリュームである。コントローラが、ホストからライトコマンドを受信した場合、そのライトコマンドからライト先の仮想領域を特定し、特定したライト先の仮想領域に、前記プールのうちのフリーの実領域を割り当て、割り当てた実領域に、前記ライトコマンドに付随するライト対象のデータを書き込む。
コントローラは、省電力対象の仮想ボリュームである第1VVOLを特定し、省電力対象のRAIDグループである第1RGを特定する。コントローラは、第1VVOL以外の仮想ボリュームである第2VVOLに割り当てられている、第1RGに基づく実領域である第1の実領域があるか否かを判定する。この判定の結果が肯定的であれば、コントローラは、第1の実領域内のデータを第1RG以外のRAIDグループである第2RGに基づくフリーの実領域に移動し、第1の実領域が割り当てられている仮想領域に、第1の実領域に代えて移動先の実領域を割り当てる第1の移動処理を行う。コントローラは、第1RGに基づく実領域として、第2VVOLに割り当てられている実領域がなければ、第1RGを構成する全ての物理記憶デバイスを省電力状態にする。
本発明の一実施例の概要を示す。 本発明の一実施例に係るストレージシステム103の構成を示す。 ストレージシステム103における各種記憶領域の関係を示す。 CMPK119が記憶する情報及びコンピュータプログラムを示す。 ティア定義テーブル401の構成を示す。 プール管理テーブル402の構成を示す。 VVOL管理テーブル404の構成を示す。 RG管理テーブル404の構成を示す。 アロケーションテーブル405の構成を示す。 実ページ管理テーブル406の構成を示す。 I/Oコマンドをホストから受信した場合に行われる処理のフローを示す。 I/O処理のフローを示す。 第2のライト処理のフローを示す。 チャンク割当て変更処理のフローを示す。 第2のリード処理のフローを示す。 VVOL作成処理のフローを示す。 VVOL定義GUI1900を示す。 管理装置107に表示される情報を示す。 省電力設定変更処理のフローを示す。 スピンダウン処理を示す。
以下、図面を参照して、本発明の一実施例に係るストレージシステムを説明する。なお、以下の説明において、種々の対象が、参照符号に代えて名称とIDの組み合わせで表されることがある。例えば、論理ボリュームが参照符号500で表される場合には、「論理ボリューム500」と表記され、IDが00の論理ボリュームが表される場合には、「論理ボリューム#00」と表記される。
図1は、本発明の一実施例の概要を示す。
ストレージシステム103にホスト装置(以下、ホスト)101が接続されている。ホスト101は、一つであっても複数であってもよい。ストレージシステム103は、1又は複数の仮想ボリューム(以下、VVOL(Virtual VOLume))203をホスト101に提供している。また、ストレージシステム103は、複数のRAID(Redundant Array of Independent (or Inexpensive) Disks)グループ(以下、RG)301に基づくプール201を有する。プール201は、複数のRG領域20を有する。
VVOL203は、Thin Provisioningに従う仮想的な論理ボリューム、すなわち、RG301を基としない論理ボリュームである。VVOL203は、複数の仮想ページ207で構成されている。仮想ページ207は、仮想的な記憶領域である。VVOL203として、3つのVVOL#00、#01及び#02があるとする。VVOL203は、ホスト101が認識できる記憶領域である。ストレージシステム103は、ホスト101からVVOL203を指定したライト要求を受信した場合、このライト要求が有するアドレス(例えばLBA(Logical Block Address))が属する仮想ページ207に、実ページ209を割り当てる。
RG領域20は、複数の実ページ209で構成されている。実ページ209は、実体的な記憶領域である。RG領域20として、例えば、3つのRG領域#00、#01及び#02があるとする。1つのRG領域は、1つのRG301に基づく1つの記憶領域である。例えば、RG領域#00は、RG#00に基づいている。RG301は、複数の物理記憶デバイス(以下、PDEV)で構成されている。1つのRG領域20は、1つのRG301を基とする1又は複数の論理ボリューム(実ボリューム(以下、RVOL(Real VOLume)))で構成される。
プール201に、1又は複数のVVOL203に関連付けられる。図1の例によれば、プール201に、VVOL#00、#01及び#02が関連付けられている。結果として、RG領域#00、#01及び#02の各々は、VVOL#00、#01及び#02に対応づけられる。
ホスト101は、一般的には計算機であるが、計算機に代えて、別のストレージシステムであってもよい。ホスト101は、例えば、I/O(Input/Output)コマンドをストレージシステム103に送信する。I/Oコマンドは、例えば、ライトコマンド又はリードコマンドであり、I/O先情報を有する。I/O先情報は、I/O先を表す情報であり、例えば、VVOL203のID(例えばLUN(Logical Unit Number))とI/O先のアドレス(例えばLBA(Logical Block Address))とを含む。I/O先情報から、I/O先のVVOL203及び仮想ページ207が特定される。
ストレージシステム103は、ホスト101からライトコマンドを受信し、そのライトコマンドが有するI/O情報を基にライト先の仮想ページ207を特定する。ストレージシステム103は、特定されたライト先の仮想ページ207に、いずれかのフリー(未割り当て状態)の実ページ209を割り当て、その実ページ209に、ライトコマンドに従うライト対象のデータを書き込む。このとき、ライト先仮想ページ207に割り当てられる実ページ209は、その仮想ページ207を有するVVOL203に関連付けられているプール201から選ばれる。以下、説明のため、VVOL#a内の仮想ページ#bを、「仮想ページ#(a−b)」と表記し、RG領域#a内の実ページ#bを、「実ページ#(a−b)」と表記することにする。図1を参照して説明する。例えば、I/O情報から、ライト先仮想ページ(#00−c)が特定されているとする。このとき、ストレージシステム103は、フリーの実ページ(#00−g)をライト先仮想ページ(#00−c)に割り当てる。図示の例では、他に、仮想ページ(#00−d)に実ページ(#01−l)、仮想ページ(#01−e)に実ページ(#00−h)、仮想ページ(#02−f)に実ページ(#00−i)が、それぞれ割り当てられている。
ホスト101は、省電力要求をストレージシステム103に送信することができる。省電力要求は、省電力状態にするVVOL203のIDを含む。
ストレージシステム103が、ホスト101から省電力要求を受信し、その省電力要求から、省電力対象となるVVOL203を特定する。以下、省電力対象として特定されたVVOLを、図1の説明において対象VVOLという。対象VVOLは、VVOL#00であるとする。
ストレージシステム103は、所定条件に基づき、対象VVOL#00に対応するプール201の基になっている複数のRG#00、#01及び#02の中から、1つのRG#00を選択する(別の言い方をすれば、ストレージシステム103は、所定条件に基づき、対象VVOLが関連付けられているプール201の中から、1つのRG領域を選択する)。ストレージシステム103は、下記の(x1)及び(x2)の条件を満たす実ページ内のデータを、
(x1)対象VVOL#00内の仮想ページに割り当てられている実ページ、
(x2)選択されたRG#00に対応するRG領域(以下、選択RG領域)#00以外のRG領域#01又は#02内の実ページ、
選択RG領域#00内のフリーの実ページに移動する。図1の例によれば、上記(x1)及び(x2)の条件を満たす実ページは、対象VVOL#00内の仮想ページ(#00−d)に割り当てられている実ページ(#01−l)である。このため、ストレージシステム103は、実ページ(#01−l)内のデータを、選択RG領域#00内のフリーの実ページ(#00−j)に移動する。そして、ストレージシステム103は、仮想ページ(#00−d)に割り当てる実ページを、移動元の実ページ(実ページ(#01−l))から移動先の実ページ(実ページ(#00−j))に変更する。
また、ストレージシステム103は、下記の(y1)及び(y2)の条件を満たす実ページ内のデータを、
(y1)選択RG領域#00内の実ページ、
(y2)対象VVOL#00以外のVVOL#01又は#02(但し、対象VVOL#00が関連付けられているプールに関連付けられているVVOL)内の仮想ページに割り当てられている実ページ、
選択RG領域#00以外のRG領域(但し、対象VVOL#00が関連付けられているプール201内のRG領域)内のフリーの実ページに移動する。図1の例によれば、上記(y1)及び(y2)の条件を満たす実ページは、実ページ(#00−h)及び(#00−i)である。ストレージシステム103は、実ページ(#00−h)内のデータを、選択RG領域#00以外のRG領域内のフリーの実ページ(例えば、実ページ(#01−k))に移動する。そして、ストレージシステム103は、仮想ページ(#01−e)に割り当てる実ページを、実ページ(#00−h)から実ページ(#01−k)に変更する。また、ストレージシステム103は、実ページ(#00−i)内のデータを、選択RG領域#00以外のRG領域内のフリーの実ページ(例えば、実ページ(#02−m))に移動する。そして、ストレージシステム103は、仮想ページ(#02−f)に割り当てる実ページを、実ページ(#00−i)から実ページ(#02−m)に変更する。
ストレージシステム103は、上記の処理により、下記(z1)及び(z2)の状態になった場合
(z1)対象VVOL#00内の全てのデータが、選択RG領域#00に格納されている、
(z2)対象VVOL#00以外のVVOL#01及び#02内の全てのデータが、選択RG領域#00以外の1以上のRG領域#01及び/又は#02に格納されている、
選択RG領域#00に対応するRG#00を構成する全てのPDEVを省電力状態にさせる。例えば、PDEVが、ディスク型の記憶メディアを有する記憶デバイス(例えば、HDD(Hard Disk Drive)、DVD(Digital Versatile Disk)ドライブ)の場合、省電力状態とは、スピンダウン状態で良い。スピンダウン状態の記憶デバイスのディスクの回転速度は、そのディスクに対するI/O(Input/Output)時の回転速度よりも低速(例えば、ゼロ以上)である。また、例えば、PDEVが、メモリを有する記憶デバイス(例えば、SSD(Solid State Drive))の場合、省電力状態とは、スリープ状態で良い。スリープ状態の記憶デバイスでは、所定の回路への給電が遮断されている。
以下、本実施例を詳細に説明する。
図2は、ストレージシステム103の構成を示す。
ストレージシステム103は、複数のPDEV105と、複数のPDEV105に接続されたコントローラと、電源ユニット100とを有する。
複数のPDEV105には、複数種類のPDEV、例えば、SSD(Solid State Drive)及びHDD(Hard Disk Drive)が含まれる。HDDとしては、SATA(Serial ATA)−HDD、及びSAS(Serial Attached SCSI)−HDDがある。
コントローラは、メモリと、ホスト101に接続されるインタフェースと、PDEV105に接続されるインタフェースと、それらに接続されるプロセッサとを有する。具体的には、例えば、コントローラは、複数のCHA(チャネルアダプタ)111と、複数のDKA(ディスクアダプタ)113と、複数のMPPK(マイクロプロセッサパッケージ)121と、複数のCMPK(キャッシュメモリパッケージ)119と、それらが接続されたSW(スイッチ)117とを有する。CHA111、DKA113、MPPK121、SW117及び電源ユニット100は、冗長化の観点から、それぞれ複数存在するが、それらのうちの少なくとも一つの数は、図示の2に限らず、2より多くても少なくても良い。CMPK119の数は、2より多くても良い。
電源ユニット100は、商用電源からの電力に基づく電力を各パッケージ119、111、113、121及び117に供給する。
CHA111は、ホスト101に接続されるインタフェース装置である。CHA111は、ホスト101から、I/Oコマンド(ライトコマンド又はリードコマンド)を受信し、受信したI/Oコマンドを、複数のMPPK121のうちのいずれかに転送する。CHA111は、また、ホスト101から、仮想ボリューム203を指定した省電力要求を受信し、受信した省電力要求を、複数のMPPK121のうちのいずれかに転送する。
DKA113は、PDEV105に接続されるインタフェース装置である。DKA113は、PDEV105からデータを読み出してCMPK119に転送したり、CMPK119からのデータをPDEV105に書き込んだりする。
MPPK121は、一又は複数のMP(マイクロプロセッサ)を有する装置である。MPは、CHA111からのI/Oコマンド、及び、省電力要求をそれぞれ処理する。
SW117に、複数のパッケージ、すなわち、CHA111、DKA113、CMPK119及びMPPK121が接続されている。SW117は、PK(パッケージ)間の接続を制御する。
CMPK119は、揮発性メモリ及び/又は不揮発性メモリを有する。CMPK119には、例えば、仮想ページ207(実ページ209)に対するI/Oの対象のデータが一時的に格納される記憶領域(以下、キャッシュメモリ或いはそれを略してCM)がある。また、CMPK119には、種々の情報及びコンピュータプログラムが記憶される記憶領域がある。情報及びコンピュータプログラムについては、後に説明する。
ストレージシステム103に、管理装置107が接続されている。管理装置107は、例えば、表示装置及び入力装置を有する計算機である。管理者は、管理装置107からストレージシステム103に対して種々の設定を行うことができる。
図3は、ストレージシステム103における各種記憶領域の関係を示す。
図3に示すように、ストレージシステム103は、通常のシステム103bと、Thin Provisioningに従うシステム(以下、TPシステム)103aとの、2種類のシステムを有する。通常のシステム103bは、下位から上位にかけて、一以上のRG301、一以上のRVOL(実ボリューム)205を備える。一方、TPシステム103aは、下位から上位にかけて、一以上のRG301、一以上のプール201、一以上のVVOL203を備える。
まず、通常のシステム103bについて説明する。
通常のシステム103aでは、RG301に基づくRVOL205がホスト101に直接提供される。このため、ホスト101は、RVOL205を認識することとなる。ホスト101は、RVOL205を指定したI/Oコマンドを送信し、ストレージシステム103は、そのI/Oコマンドで指定されているRVOL205に対して、データのI/Oを行う。
次に、TPシステム103aについて説明する。
一つのRG301は、同一ティアに属するPDEV105で構成されている。PDEV105が属するティアは、例えば、PDEVの種類、性能、消費電力、及び記憶容量のうちの少なくとも1つで定義される。性能とは、例えば、データのI/Oの速度、又は、レスポンスタイム(PDEVがコントローラからI/O要求を受けてから応答を返すまでの時間長)である。消費電力とは、例えば、定格消費電力、或いは、所定時間所定の処理を実行したときの消費電力である。
図3の例によれば、RG#00は、複数のSSDで構成されており、RG#01は、複数のSAS−HDDで構成されており、RG#02は、複数のSATA−HDDで構成されている。なお、PDEV105の種類は、性能の低い順から、SATA>SAS>SSDの順となる。また、PDEV105の種類は、消費電力の高い順から、SAS>SATA>SSDの順となる。
プール201は、実ページ209の集合である。具体的には、例えば、プール201は、一以上のRVOL205で構成されており、各RVOL205が、一以上の実ページ209で構成されている。プール201は、2以上のチャンク(図示なし)を有し、各チャンクが、2以上の実ページ209で構成されている。
さらに、一つのプール201を構成する実ページ209は、階層化される。すなわち、一つのプール201に、複数のティア303が存在する。ティア303は、例えば、RVOL205の種類毎に存在する。RVOL205の種類は、RVOL205の基になっているRG301の種類に依存する。例えば、図3の例によれば、RVOL205は3種類あるため、ティア303の数は3つである。このため、一つのティア303には、そのティア303に対応した種類のRVOL205が属することになる。具体的には、例えば、ティア#00は、SSDという種類であり、SSDで構成された1以上のRG(例えばRG#00)に基づく1以上のRVOL(例えばRVOL#00)が属することになる。ティア#01は、SASという種類であり、SASで構成された1以上のRG(例えばRG#01)に基づく1以上のRVOL(例えばRVOL#01)が属することになる。ティア#03は、SATAという種類であり、SATAで構成された1以上のRG(例えばRG#02)に基づく1以上のRVOL(例えばRVOL#02)が属することになる。なお、同一のティア303には、必ずしも、厳密に同じ種類のRVOLのみが属する必要は無く、同一のティア303に、類似の種類の複数のRVOL205が属しても良い。
VVOL203には、一以上のプール201から、割当元となるプール201が関連付けられる。1つのプール201に、1以上のVVOL203が関連付けられる。
図4は、CMPK119が記憶する情報及びコンピュータプログラムを示す。なお、本実施例では、情報の一例としてテーブルが採用されるが、情報は、テーブル以外の形式(例えばキュー形式)であっても良い。
CMPK119は、情報として、ティア定義テーブル401、プール管理テーブル402、VVOL管理テーブル403、RG管理テーブル404、アロケーションテーブル405、及び、実ページ管理テーブル406を記憶する。また、CMPK119は、コンピュータプログラムとして、UI(User Interface)を制御するプログラムであるUI制御プログラム411、I/Oを制御するプログラムであるI/O制御プログラム412、及び、省電力制御を行うプログラムである省電力制御プログラム413を記憶する。なお、これらのテーブル及びコンピュータプログラムのうちの少なくとも一つがCMPK119以外の記憶資源に記憶されていても良い。例えば、少なくとも一つのコンピュータプログラム、MPPK121内のメモリに記憶されても良い。
以下、各テーブルを説明する。なお、以下の説明では、対象は、IDを用いて特定されるが、IDに代えて又は加えて、名称及び番号のうちの少なくとも一つを用いて特定されても良い。
図5は、ティア定義テーブル401の構成を示す。
ティア定義テーブル401は、ティアの定義を表すテーブルである。具体的には、例えば、テーブル401は、ティア毎に、ティアの種類と、ティアIDと、ティアが所属するプールのプールIDと、ティアに所属するRGのRG IDとの関係を表す。テーブル401によれば、種類「SSD」のRVOLに対応したティアとして、「00」というIDが付与されたティアが、「0」というIDのプール内に用意される。そのティア「00」内に、「00」、「01」等のIDが付与されたRGが属することになる。
図6は、プール管理テーブル402の構成を示す。
プール管理テーブル402は、プールに関する情報を管理するためのテーブルである。具体的には、例えば、テーブル402は、プール毎に、プールIDと、プールに所属するRVOLを示す所属RVOLと、プールに対応づけられたVVOLを示す所属VVOLとの関係を表す。テーブルによれば、「0」というIDが付与されたプールに、「0」、「1」というIDが付与されたRVOLが所属し、かつ、そのID「0」のプールに、「0」、「1」、「2」、「3」というIDが付与されたVVOLがそれぞれ所属することになる。
図7は、VVOL管理テーブル403の構成を示す。
VVOL管理テーブル403は、VVOLに関する情報を管理するためのテーブルである。具体的には、例えば、テーブル403は、VVOL毎に、VVOL ID、総ページ数、割当済みページ数、割当済みチャンク数、所属プール、ティア優先、前回割当RG ID、及び、省電力属性を有する。一つのVVOL(以下、図7の説明において「対象VVOL」と言う)を例に採っていうと、このテーブル403における上記の情報要素は、具体的には、下記の通りである。
(*)「VVOL ID」は、対象VVOLのIDである。
(*)「総ページ数」は、対象VVOL内の仮想ページの総数である。
(*)「割当済みページ数」は、対象VVOL内の仮想ページのうち、すでに実ページが割り当てられている仮想ページの数である。
(*)「割当済みチャンク数」は、対象VVOLに割当て済みのチャンクの数である。対象VVOL内の仮想ページには、最新の割当て済みのチャンクからフリーの実ページが割り当てられる(図示のカッコ内の数字は、最新の割当て済みチャンクのIDである)。最新の割当て済みのチャンクにフリーの実ページが無い場合には、フリーのチャンクが新たに割り当てられ、そのチャンクからフリーの実ページが対象VVOLの仮想ページに割り当てられる。
(*)「所属プール」は、対象VVOLに関連付けられたプールのIDである。そのIDは、図6のプール管理テーブル402における、VVOL IDに対するプールIDと同じである。
(*)「ティア優先」は、対象VVOLの仮想ページに割り当てられる実ページを決定するに際し、ティアの種類を優先するか否かである。“ON”は、ティアの種類を優先することを意味し、“OFF”は、ティアの種類を優先しないことを意味する。
(*)「前回割当RG ID」は、対象VVOL内の仮想ページに直前回に割り当てられた実ページを有するRG(前回割当RG)のIDである。実ページの割当て元となるRGは、次に説明する、後述の「RG省電力属性」によって変わる。VVOL省電力属性が“無”の場合、RG省電力属性が“無”のRGに基づく実ページが対象VVOL内の仮想ページに割り当てられる。RG省電力属性が“無”のRGが複数ある場合は、割当元のRGが、1つの実ページが割り当てられる毎に、ラウンドロビン形式で変わる。VVOL省電力属性が“有”の場合、RG省電力属性が“有”のRGに基づく実ページが対象VVOL内の仮想ページに割り当てられる。この場合は、前回割当RG IDから特定されるRGに空きがあれば、そのRG内の実ページが対象VVOL内の仮想ページに割り当てられる。すなわち、VVOL省電力属性が“有”の対象VVOLについて、前回割当RG IDは固定であり、故に、常に、同一のRGに基づく実ページが対象VVOL内の仮想ページに割り当てられる。図6、7及び8を用いて説明する。例えば、対象VVOLがVVOL#00の場合、VVOL省電力属性は“有”であり、前回割当RGは、RG#00である。図8によれば、RG#00の使用チャンク数は、総チャンク数に達していない。この場合、VVOL#00の仮想ページには、常にRG#00に基づく実ページが割り当てられる。また、例えば、対象VVOLがVVOL#1の場合、省電力属性は“無”である。図6によれば、VVOL#1に対応するRGはRG#00及び#01である。このうち、RG省電力属性が“無”なのは、RG#01のみである(図8参照)。この場合、VVOL#1の仮想ページには、RG#01に基づく実ページが割り当てられる。なお、VVOL#1に対応するRGが複数ある場合は、ラウンドロビンで、実ページの割当元のRGが変わることとなる。
(*)「VVOL省電力属性」は、対象VVOLが、省電力属性を有するか否かである。“有”の場合は、対象VVOLが省電力属性を有していることを示す。“無”の場合は、対象VVOLが省電力属性を有していないことを示す。対象VVOLを指定した省電力要求をホストから受けた場合に、VVOL省電力属性が“有”となる。VVOL省電力属性が“有”の期間中に、対象VVOLを指定したI/O要求(又は、省電力解除要求)をホストから受けた場合に、VVOL省電力属性が“無”となる。
図8は、RG管理テーブル404の構成を示す。
RG管理テーブル404は、RGに関する情報を管理するためのテーブルである。具体的には、例えば、テーブル404は、RG毎に、RG ID、プール ID、総チャンク数、使用チャンク数、ティア種類、所属VVOL、RG省電力属性、状態及びフラグを有する。一つのRG(以下、図8の説明において「対象RG」と言う)を例にとっていうと、これらの情報要素は、具体的には、下記の通りである。
(*)「RG ID」は、対象RGのIDである。
(*)「プールID」は、対象RGが属するプールのIDである。
(*)「ティア種類」は、対象RGに基づくRVOLが属するティアの種類である。これは、対象RGの種類と同じである。例えば、RG種類が“SSD”であれば、ティア種類も“SSD”となる。
(*)「所属VVOL」は、対象RGに関連付けられているVVOLのIDである。所属VVOLとして登録されるIDは、動的に増える。例えば、プール#0の基になっているRG#00に基づくチャンクが新たにVVOL#01に割り当てられた場合、RG#00の所属VVOLとして、ID“1”が追加される。
(*)「RG省電力属性」は、対象RGが、省電力属性を有するか否かである。“有”は対象RGが省電力属性を有することを意味し、“無”は対象RGが省電力状態を有さないことを意味する。なお、対象RGが省電力属性を有するとは、そのRGが省電力の対象となっていることを意味する。
(*)「状態」は、対象RGの状態を表している。RG省電力属性が“無”の場合、対象RGの状態は常に“N/A”である。“N/A”は、非省電力状態(稼働状態)であることを表している。また、省電力属性が“有”の場合は、対象RGは、スピンダウン状態(“スピンダウン”)又はスピンアップ状態(“スピンアップ”)である。「スピンダウン状態」とは、省電力状態の一種であり、ディスクが低速回転中の状態のことである。PDEVがSSDの場合、スピンダウン状態は、スリープ状態のことで良い。「スピンアップ状態」は、I/Oが可能な程度にディスクが高速回転している状態のことである。省電力属性が“有”の場合は、対象RGは、原則、スピンダウン状態であり、所定の場合にのみ、一時的にスピンアップ状態とされる。
(*)「フラグ」は、対象RGを省電力状態(すなわちスピンダウン状態)にできる状態か否かを示す。“可”は対象RGを、いつでもスピンダウン状態にできることを意味する。“不可”は、対象RGを、スピンダウン状態にできないことを意味する。省電力状態(スピンダウン状態)にできる状態とは、対象RGに基づくいずれの実ページも、省電力対象のVVOL以外のVVOLに割り当てられていない状態のことである。
図9は、アロケーションテーブル405の構成を示す。
アロケーションテーブル405は、どの仮想ページにどの実ページが割り当てられているかを表すテーブルである。具体的には、例えば、テーブル405は、仮想ページ毎に、VVOL ID、仮想ページID、プールID、実ページID及びティアIDを有する。一つの仮想ページ(以下、図9の説明において「対象仮想ページ」と言う)を例にとっていうと、これらの情報要素は、具体的には、下記の通りである。
(*)「VVOL ID」は、対象仮想ページを有するVVOLのIDである。
(*)「仮想ページID」は、対象仮想ページのIDである。
(*)「プールID」は、対象仮想ページを有するVVOLに割り当てられているプールのIDである。
(*)「実ページID」は、対象仮想ページに割り当てられている実ページのIDである。
(*)「ティアID」は、対象仮想ページに割り当てられている実ページを有するティアのIDである。
図10は、実ページ管理テーブル406の構成を示す。
実ページ管理テーブル406は、実ページの状態を管理するためのテーブルである。具体的には、例えば、テーブル406は、実ページ毎に、プール ID、チャンクID、チャンクステータス、RVOL ID、実ページID及びページステータスを有する。一つの実ページ(以下、図10の説明において「対象実ページ」と言う)を例に採っていうと、これらの情報要素は、具体的には、下記の通りである。
(*)「プールID」は、対象実ページを有するプールのIDである。
(*)「チャンクID」は、対象実ページが属するチャンクのIDである。
(*)「チャンクステータス」は、対象実ページが属するチャンク(以下、該当チャンクという)のステータスである。該当チャンクのステータスの値として、例えば、“使用中”と“フリー”がある。“使用中”は、該当チャンクに属する実ページのいずれかが、仮想ページに割当て済みであることを意味する。“フリー”は、該当チャンクに属する実ページのいずれもが、仮想ページに割り当てられていないことを意味する。
(*)「RG ID」は、対象実ページを有するRGのIDである。
(*)「実ページID」は、対象実ページのIDである。
(*)「ページステータス」は、対象実ページのステータスである。ステータスの値として、例えば、“使用中”と“フリー”がある。“使用中”は、対象実ページがいずれかの仮想ページに割当て済みであることを意味する。“フリー”は、対象実ページがいずれの仮想ページにも割り当てられておらず、それ故いずれの仮想ページにも割当て可能な状態になっていることを意味する。
以下、本実施例で行われる処理を説明する。以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ(例えばCPU(Central Processing Unit))によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)及び/又は通信インタフェース(例えば通信ポート)を用いながら行うため、処理の主語がプロセッサとされてもよい。プログラムを主語として説明された処理は、MPPK、コントローラ又はストレージシステムが行う処理としても良い。また、プロセッサは、プロセッサが行う処理の一部又は全部を行うハードウェア回路を含んでも良い。
<I/Oコマンドをホストから受信した場合に行われる処理>。
図11は、I/Oコマンドをホストから受信した場合に行われる処理のフローを示す。
CHA111が、ホスト101からI/Oコマンドを受信する。CHA111は、I/Oコマンドを、MPPK121に送信する。MPPK121が、I/Oコマンドを受信し、I/O制御プログラム412を実行することにより、以下の処理が行われる。
S1301で、プログラム412は、I/O先VOL(I/Oコマンドから特定されるVOL)に関連付けられているRG205(以下、このフローの説明においては、このRG205を「対象RG」という)が省電力状態か否かを判定する。具体的には、例えば、プログラム412は、プール管理テーブル402を参照し、I/O先VVOLに対応する1以上の対象RGのIDを特定する。そして、プログラム412は、RG管理テーブル404を参照し、1以上の対象RGの中に、「状態」が“スピンダウン状態”である、対象RGがあるか否かを判定する。スピンダウン状態の対象RGがあった場合には、その対象RGについてS1302〜S1304の処理が行われる。一方、スピンダウン状態ではない対象RGについては、S1302及びS1303の処理は行われず、S1303のI/O処理が行われる。
以下、S1302〜S1304を説明する。
S1302で、プログラム412は、スピンダウン状態の対象RGを構成する各PDEVをスピンアップ状態にさせる。具体的には、プログラム412は、スピンダウン状態の対象RGを構成する各PDEVに省電力解除要求を出し、且つ、RG管理テーブル404に、対象RGの「状態」として“スピンアップ状態”を登録する。
S1303で、プログラム412は、I/O処理を行う。I/O処理については、後述する。
S1304で、プログラム412は、S1302においてスピンアップ状態にさせた対象RGを、再び、スピンダウン状態にさせる。具体的には、プログラム412は、スピンアップ状態の対象RGを構成する各PDEVに省電力要求を出し、且つ、RG管理テーブル404に、対象RGの「状態」として“スピンダウン状態”を登録する。
<I/O処理>。
図12は、I/O処理(図11のS1303)のフローを示す。
S1401で、プログラム412は、I/Oコマンドがライトコマンドかリードコマンドであるかを判定する。I/Oコマンドがリードコマンドである場合は、S1403が行われる。
S1403で、プログラム412は、リード先がVVOLであるか否かを判定する。これは、すなわち、I/Oコマンドが示すリード先が、TPシステム103aのVVOLであるか、通常のシステム103bのRVOLであるかの判定である(図3参照)。
リード先がRVOLの場合、S1404で、プログラム412は、第1のリード処理を行う。第1のリード処理では、プログラム412は、リードコマンドに従い、リード先のRVOLからリード対象のデータを読み出す。
リード先がVVOLの場合、S1405で、プログラム412は、第2のリード処理を行う。第2のリード処理については、後述する。
S1401において、I/Oコマンドがライトコマンドであった場合は、S1402が行われる。
S1402で、ライト先がVVOLか否かが判定される。
ライト先がRVOLの場合、S1406で、プログラム412は、第1のライト処理を行う。第1のライト処理では、プログラム412は、ライトコマンドに従い、ライト先のRVOLにライト対象のデータを書き込む。
ライト先がVVOLの場合、S1407で、プログラム412は、第2のライト処理を行う。第2のライト処理については、後述する。
<第2のライト処理>。
図15は、第2のライト処理のフローを示す。
S1501で、プログラム412は、プール管理テーブル402(図6)を参照し、ライトコマンドが示すライト先のVVOLに対応するPOOL IDを抽出する。そして、プログラム412は、抽出したプールIDのPOOL内に使用できるチャンクがあるか否かを、実ページ管理テーブル406(図10)における、そのプールIDに対応した「チャンクステータス」に基づき判定する。使用できるチャンクがある場合には、S1503が行われる。使用できるチャンクがない場合には、S1502が行われる。ここで言う「使用できるチャンク」とは、チャンクステータスが“使用中”のチャンクであって、フリーの実ページを有するチャンクである。「使用できるチャンク」を、以下、図13の説明において「対象チャンク」という。
S1502で、プログラム412は、チャンク割り当て変更処理を行う。チャンク割り当て変更処理については、後述する。チャンク割り当て処理が行われた後、S1503が行われる。
S1503で、プログラム412は、アロケーションテーブル405(図9)を参照し、実ページがライト先仮想ページに割り当て済みであるか否かを判定する。実ページが割当て済みでなければ、S1504が行われ、実ページが割当て済みであれば、S1504が行われる。
S1504で、プログラム412は、対象チャンク内のフリーの実ページをライト先仮想ページに割り当てる。具体的には、プログラム412は、下記を行う。
(*)実ページ管理テーブル406(図10参照)を参照し、ライト先VVOLが関連付けられているプール内の対象チャンクが有するフリーの実ページを特定する。
(*)アロケーションテーブル405に、ライト先仮想ページに対応するプールID、実ページID及びティアIDとして、特定された実ページを有するプールのID、その実ページのID、その実ページを有するティアのIDを登録する。
(*)実ページ管理テーブル406における、上記特定した実ページに対応するページステータスを、“使用中”に更新する。
S1505で、プログラム412は、ライト先仮想ページに割り当てられた実ページに、ライト対象のデータを書き込む。
<チャンク割り当て変更処理>。
図14は、チャンク割り当て変更処理(図13のS1502の処理)のフローを示す。
S1601で、プログラム412は、ライト先のVVOLの属性が省電力か否かを判定する。具体的には、プログラム412は、VVOL管理テーブル403を参照し、ライト先VVOLに対応したVVOL省電力属性が、“有”か“無”か、を判定する。ライト先VVOLのVVOL省電力属性が“無”の場合は、S1603が行われる。ライト先VVOLのVVOL省電力属性が“有”の場合は、S1602が行われる。
S1603で、プログラム412は、ライト先VVOLに対応するRGに基づくフリーのチャンクを選択する。具体的には、プログラム412は、VVOL管理テーブル403を参照し、ライト先VVOLに対応する、前回割当RG IDを特定する。そして、プログラム412は、プール管理テーブル402を参照し、前回割当RG IDの次のRG IDを選択する。そして、プログラム412は、選択されたRG IDに対応するフリーのチャンクを、実ページ管理テーブル406から選択する。
S1604で、プログラム412は、VVOL管理テーブル403の、前回割当RVOL IDを、上記選択したRG ID(前回割当RG IDの次のRG ID)に更新する。
S1602で、プログラム412は、対象VVOLに対応するRGに基づくフリーのチャンクを選択する。具体的には、プログラム412は、VVOL管理テーブル403を参照し、対象VVOLに対応する、前回割当RG IDを特定する。そして、プログラム412は、特定されたRG IDに対応するフリーのチャンクを、実ページ管理テーブル406から選択する。
S1605で、プログラム412は、S1602又はS1603で選択したチャンクを、ライト先VVOLに割り当てる。これにより、そのチャンクが、ライト先VVOLにとって、最新の割当て済みのチャンクとなる。以後、そのチャンクの割当先のVVOLにおける、未割当ての仮想ページが、ライト先となる都度に、そのチャンクから、フリーの実ページが割り当てられる。
<第2のリード処理>。
図15は、第2のリード処理のフローを示す。第2のリード処理は、図12のS1405における処理である。
S1701で、プログラム412は、リード先の仮想ページ(リードコマンドから特定されるアドレスが属する仮想ページ)に実ページが割り当て済みか否かを判定する。具体的には、プログラム412は、アロケーションテーブル405(図9)を参照し、リード先の仮想ページのIDに実ページIDが割り当てられているか否かを判定する。実ページが割り当て済みではない場合は、S1702が行われる。実ページが割り当て済みの場合は、S1703が行われる。
S1702で、プログラム412は、所定のデータをホスト101に返す。所定のデータとは、例えば、全ビットが0で構成されたデータである。
S1703で、プログラム412は、リード先の仮想ページが割り当てられている実ページからデータを読み出し、そのデータをホスト101に送信する。
<VVOL作成処理>。
図16は、VVOL作成処理のフローを示す。なお、この<VVOLの作成>の説明において、そのVVOL作成処理で新たに作成されるVVOLを「対象VVOL」という。
UI制御プログラム411が、VVOLの作成要求を、管理者から管理装置107を通じて受ける。例えば、図17に示すVVOL定義画面1900(例えば、管理装置107に表示されるGUI(Graphical User Interface))上から、管理者が所定事項を入力することで、管理装置107が、VVOL作成要求を作成する。
図17に示すVVOL定義画面1900では、対象VVOLのID、指定プールID、対象VVOLの省電力指定の有無を指定することができる。
S1801で、プログラム411は、VVOL定義画面1900を介して、対象VVOLについて省電力が指定されたか否かを判定する。省電力指定がある場合は、S1802が行われる。省電力指定がない場合は、S1807が行われる。
S1802で、プログラム411は、指定プールの基になっている複数のRGに省電力RGがあるか否かを判定する。具体的には、プログラム411は、プール管理テーブル402を参照して、指定プールの基になっている複数のRGを特定する。そして、特定した複数のRGのうち、RG省電力属性(テーブル404:図8)が“有”のRGがあるか否かを判定する。判定の結果、RG省電力属性“有”のRGがある場合は、S1806が行われる。判定の結果、RG省電力属性“有”のRGがない場合は、S1803が行われる。
S1803で、プログラム411は、指定プールの基になっている複数のRGにチャンク未使用のRGがあるか否かを判定する。具体的には、プログラム411は、RG管理テーブル404(図8)を参照して、指定プールの基になっている複数のRGのうち、使用チャンク数がゼロのRGがあるか否かを判定する。判定の結果、チャンク未使用のRGが有る場合は、S1805が行われる。判定の結果、チャンク未使用のRGがない場合は、S1804が行われる。
S1804で、プログラム411は、チャンク未使用のRGを作成する。具体的には、プログラム411は、以下の処理:
(*)実ページ管理テーブル406(図10)を参照し、指定プールの基になっている1つのRGを選ぶ、
(*)実ページ管理テーブル406を参照し、使用中の実ページを特定する、
(*)特定された各実ページについて、マイグレーション処理を行う、
(*)RG管理テーブル404における、上記選んだRGの「使用チャンク数」を、ゼロに更新する、
を行う。これにより、選ばれたRGがチャンク未使用のRGとなる。チャンク未使用のRGとされるRGは、例えば、指定プールの基になっている複数のRGのうち、(1)最も優先順位の低いティアに属するRG、(2)使用中の実ページの数が最も少ないRG、又は、(3)消費電力が最も大きいRGである。
なお、上記マイグレーション処理では、プログラム411は、以下の処理:
(*)上記選ばれたRGに基づく使用中の実ページ(移動元の実ページ)内のデータを、指定プールの基になっている他のRGに基づくフリーの実ページ(移動先の実ページ)に移動する、
(*)移動元の実ページが割り当てられている仮想ページに、移動元の実ページに代えて、移動先の実ページを割り当てる、
を行う。移動先の実ページは、例えば、移動元の実ページが割り当てられている仮想ページを有するVVOLについての最新の割当て済みのチャンク内の実ページで良い。
S1805で、プログラム411は、チャンク未使用RGを省電力指定する。具体的には、プログラム411は、RG管理テーブル404(図8)における、チャンク未使用RGのRG省電力指定を“有”に更新する。
S1806で、プログラム411は、省電力RGのIDを、対象VVOLに対応する「前回割当RG ID」とすることを決定する。前述したように、省電力指定のVVOLには、常に、そのVVOLに対応する所定の省電力RG(そのVVOLに対応する「前回割当RG ID」から特定されるRG)に基づく実ページが割り当てられる。このため、このS1806により、対象VVOLには、省電力RGに基づく実ページが割り当てられることになる。
S1807で、プログラム411は、対象VVOLを作成する。具体的には、プログラム411は、プール管理テーブル402(図6)、VVOL管理テーブル403(図7)、RG管理テーブル404(図8)及びアロケーションテーブル405(図9)に、対象VVOLに関する情報を登録する。具体的には、例えば、プログラム411は、S1801でYESの場合、VVOL管理テーブル403(図7)における、対象VVOLの「VVOL省電力属性」として“有”を登録する。また、例えば、プログラム411は、S1806を行った場合、VVOL管理テーブル403(図7)における、「前回割当RG ID」として、S1806で決定したIDを登録する。
<表示画面>。
図18は、管理装置に表示されるVVOL管理情報2000を示す。
VVOL管理情報2000は、VVOL毎に、VVOL ID、容量、使用率、RG ID、POOL ID、及びVVOL省電力属性を含む。VVOLの容量は、VVOLの「総ページ数」と1仮想ページの容量との乗算により算出される。VVOLの使用率は、VVOLの「総ページ数」に対するVVOLの「割当済みページ数」の割合である。「RG ID」は、例えば、VVOLについての省電力RGのIDであり、VVOLについて省電力RGが無い場合には“N/A”と表示される。また、プールIDが“N/A”となっているVVOLのIDは、ホストに認識されるRVOLのIDである。格別図示していないが、CMPK119に記憶される情報としては、前述した種々のテーブルに限らず、ホストに認識されるRVOLに関する情報(例えば、RVOLの容量、RVOLの基になっているRGのID、そのRGの省電力属性が“有”か“無”か)がある。
VVOL管理情報2000は、図18に例示した種類の情報に代えて又は加えて、前述した種々のテーブルに基づいて特定可能な他種の情報を含んでも良い。
<省電力設定変更処理>。
図19は、省電力設定変更処理のフローを示す。
ホスト101(又は管理装置107)から、VVOLを指定した省電力要求を受けた場合に、省電力制御プログラム413は、以下の処理を行う。省電力要求で指定されるVVOLは、通常、VVOL省電力属性(図7参照)が“無”であるVVOLである。図19の説明において、省電力要求で指定されたVVOLを「対象VVOL」という。
S2101で、プログラム413は、対象VVOLが関連付けられているプールの基になっている複数のRGに省電力RGがあるか否かを判定する。具体的には、プログラム413は、以下の処理:
(*)プール管理テーブル402(図6)を参照して、対象VVOLが関連付けられているプールの基になっている複数のRGを特定する、
(*)RG管理テーブル404(図8)を参照して、上記特定した複数のRGのうち、RG省電力属性が“有”のRGが存在するか否かを判定する、
を行う。判定の結果、RG省電力属性が“有”のRGが存在する場合は、S2106が行われる。判定の結果、RG省電力属性が“有”のRGが存在しない場合は、S2102が行われる。RG省電力属性が“有”のRGが存在する場合、プログラム413は、そのRGに対応するフラグ(RG管理テーブル404におけるフラグ)を“OFF”に更新する。
S2102で、プログラム413は、VVOL管理テーブル403(図7)を参照して、対象VVOLに対応する「ティア優先」が“オン”または“オフ”のいずれが設定されているかを判定する。判定の結果、ティア優先が“オン”である場合は、S2108が行われる。判定の結果、ティア優先が“オフ”である場合は、S2103が行われる。ティア優先が“オン”である場合の処理から説明する。
(ティア優先がオンである場合の処理(S210〜S2110))。
S2108で、プログラム413は、ティアの優先順位に基づいて、省電力RG候補を選択する。具体的には、プログラム413は、ティア定義テーブル(図5)を参照して、ティアの種類に応じた優先順位を決定する。例えば、ティアの種類に応じた優先順位は、性能の低い順(RGの速度が遅い順)に、SATA>SAS>SSDのとしてもよいし、また、RGの消費電力の高い順に、SAS>SATA>SSDとしてもよい。プログラム413は、優先順位の最も高いティアに属するRGを、省電力RG候補として選択する。以下、「ティア優先がオンである場合の処理(S210〜S2110)」の説明において、選択された省電力RG候補を「選択RG候補」という。
なお、優先順位の指針(例えば、どのような要素が優れているほど高い優先順位となるのか低い優先順位となるのか)は、ユーザが自由に決定して良い。優先順位の高さは、例えば、RGを構成するPDEVの消費電力及び/又は性能に基づいて決定されて良い。
S2109で、プログラム413は、選択RG候補が、1つか又は複数かを判定する。選択RG候補が1つである場合(その選択RG候補を、図19の説明において、「対象RG」という)には、S2106が行われる。選択RG候補が複数ある場合には、対象RGを決定するため(すなわち、複数の選択RG候補から1つのRGを選択するため)、S2110が行われる。
S2110で、プログラム413は、複数の選択RG候補から、各選択RG候補の容量に基づき、1つの選択RG候補を、対象RGとして決定する。ここでは、総チャンク数が一番少ないRG(すなわち、フリーの実ページを最も減らすことのないRG)が、対象RGとして決定される。総チャンク数が一番少ない選択RG候補が複数ある場合には、その複数の選択RG候補の中から、チャンク使用率が最も小さいRG(すなわち、他のRGへ移動すべきデータの総量が少なくて済むようなRG)が、対象RGとして決定される。具体的には、プログラム413は、以下の処理:
(*)RG管理テーブル404を参照して、複数の選択RG候補のうち、総チャンク数が一番少ないRGを選択する(ここで選択された選択RG候補を、「ティア優先がオンである場合の処理(S210〜S2110)」の説明において、以下、単に「RG候補」という)、
(*)RG候補が1つの場合は、そのRG候補を、対象RGに決定する、
(*)RG候補が複数ある場合は、各RG候補のチャンクの使用率(=(使用チャンク数/総チャンク数)×100(%))を計算し、算出されたチャンク使用率が最も小さいRG候補を、対象RGに決定する、
を行う。
なお、このS2110では、プログラム413は、下記(X)、
(X)アロケーションテーブル405及びRG管理テーブル404に基づき、総チャンク数の最も少ない選択RG候補が有する1以上のフリーの実ページの総量よりも、対象VVOL内のデータの総量の方が小さいか否かを判定する、
を行って良い。この判定の結果が否定的の場合、このS2110が終了して良い。一方、この判定の結果が肯定的の場合、プログラム413は、下記の(a)又は(b)の処理を行って良い。(a)は、ティアの優先順位を優先した処理であり、(b)は、RGの容量を優先した処理である。
(a)プログラム413は、優先順位の最も高いティアに属する複数の選択RG候補から、フリーの実ページの総量が対象VVOL内のデータの総量以上であるRGを探す。プログラム413は、そのようなRGが見つかれば、そのRGを対象RGに決定する。一方、プログラム413は、そのようなRGが見つからなければ、なるべく優先順位の高いティアに属する複数の選択RG候補から、そのようなRGを探す。
(b)プログラム413は、
(b1)直前回の優先順位より1つ下位の優先順位のティアに属する複数の選択RG候補から、総チャンク数が最も少ないRGを選択する、
(b2)そのようなRGが1つであれば、そのRGを対象RGとする、
(b3)そのようなRGが複数ある場合、それら複数のRGから、チャンク使用率が最も小さいRGを、対象RGとして選択する、
(b4)選択した対象RGについて、上記(X)の判定を行う、
(b5)その判定の結果が肯定的であれば、S2110を終了する、
(b6)その判定の結果が否定的であれば、上記(b1)を行う、
を行って良い。
(ティア優先がオフである場合に行われる処理(S2103〜S2105))。
S2103で、プログラム413は、対象VVOLが関連付けられているプールの基になっている複数のRGから、それら複数のRGの各々の容量に基づき、1つのRGを選択する。ここでは、総チャンク数が一番少ないRG(すなわち、フリーの実ページを最も減らすことのないRG)が、選択される。総チャンク数が一番少ないRGが複数ある場合には、その複数のRGの中から、チャンク使用率が最も小さいRG(すなわち、他のRGへ移動すべきデータの総量が少なくて済むようなRG)が選択される。具体的には、プログラム413は、以下の処理:
(*)RG管理テーブル404を参照して、対象VVOLが関連付けられているプールの基になっている複数のRGのうち、総チャンク数が一番少ないRGを選択する(ここで選択されたRGを、「ティア優先がオフである場合に行われる処理(S2103〜S2105)」の説明において、以下、「選択RG候補」という)、
(*)選択RG候補が1つの場合は、その選択RG候補を、RG候補に決定する、
(*)選択RG候補が複数ある場合は、各RG候補のチャンクの使用率(=(使用チャンク数/総チャンク数)×100(%))を計算し、算出されたチャンク使用率が所定の閾値以下の選択RG候補を、RG候補に決定する、
を行う。
S2104で、プログラム413は、RG候補が、1つか又は複数かを判定する。RG候補が1つである場合には、そのRG候補が対象RGとなり、続いて、S2106が行われる。RG候補が複数ある場合には、対象RGを決定するため、S2105が行われる。
S2105で、プログラム413は、ティアの優先順位に基づいて、対象RGを決定する。具体的には、プログラム413は、S2108と同様に、ティア定義テーブル(図5)を参照して、ティアの種類に応じた優先順位を決定する。例えば、ティアの種類に応じた優先順位は、性能の低い順(RGの速度が遅い順)に、SATA>SAS>SSDのとしてもよいし、また、RGの消費電力の高い順に、SAS>SATA>SSDとしてもよい。プログラム413は、複数のRG候補のなかから、最も優先順位の高いティアに属するRGを1つ選択する。その選択されたRG候補が、対象RGである。なお、最も優先順位の高いティアに属するRG候補が複数ある場合には、チャンク使用率が最も小さいRG候補が、対象RGとされて良い。
(マイグレーションの要否判定)。
S2106で、プログラム413は、対象RGについて、マイグレーション処理が必要であるかを判定する。具体的には、プログラム413は、下記の処理:
(a)対象RGに基づく使用中の実ページがあるか否かを判定する、
(b)上記(a)の判定の結果が肯定的の場合、対象RGに基づく全ての使用中実ページが、対象VVOLに割り当てられているかを判定する、
を行う。上記(a)の判定の結果が否定的の場合、又は、上記(b)の判定の結果が肯定的の場合、マイグレーション処理は必要ない。マイグレーション処理が必要ない場合は、省電力設定変更処理(図19の処理)は終了となる。一方、上記(b)の判定の結果が否定的の場合、対象VVOL以外のVVOL内のデータが対象RGに格納されているということなので、マイグレーション処理が必要となる。この場合は、S2107においてマイグレーション処理が行われる。
(マイグレーション処理)。
S2107で、プログラム413は、マイグレーション処理を行う。具体的には、プログラム413は、対象VVOL以外のVVOLに割り当てられている実ページが対象RGにあれば、下記(A)の処理を行う。下記(A)の処理を行った後、対象VVOLに割り当てられている実ページが対象RG以外のRGにあれば、下記(B)の処理を行う。そして、プログラム413は、(A)及び(B)の処理を完了した後、(C)の処理を行う。
(A)下記(a1)乃至(a3)が行われる。
(a1)プログラム413は、対象VVOL以外のVVOLに割り当てられている実ページ(対象RGが有する実ページ)内のデータを、対象RG以外のRG(RG省電力属性“無”のRGであって、対象VVOLが関連付けられているプールの基になっているRG)に基づくフリーの実ページに移動する。
(a2)プログラム413は、(a1)での移動元の実ページが割り当てられている仮想ページに、その移動元の実ページに代えて、移動先の実ページを割り当てるように、アロケーションテーブル405を更新する。
(a2)プログラム413は、(a1)での移動元の実ページをフリーとし、(a1)での移動先の実ページを使用中とするように、実ページ管理テーブル408を更新する。
(B)下記(b1)乃至(b3)が行われる。
(b1)プログラム413は、対象VVOLに割り当てられている実ページ(対象RG以外のRGが有する実ページ)内のデータを、対象RGに基づくフリーの実ページに移動する。
(b2)プログラム413は、(b1)での移動元の実ページが割り当てられている仮想ページに、その移動元の実ページに代えて、移動先の実ページを割り当てるように、アロケーションテーブル405を更新する。
(b2)プログラム413は、(b1)での移動元の実ページをフリーとし、(b1)での移動先の実ページを使用中とするように、実ページ管理テーブル408を更新する。
(C)プログラム413は、VVOL管理テーブル403(図7)における、対象VVOLのVVOL省電力属性を、“有”に更新する。また、プログラム413は、RG管理テーブル404(図8)における、RG省電力属性が“無”であればそれを“有”に変更し、且つ、対象RGに対応するフラグを“OFF”から“ON”に更新する。
なお、このS2107において、プログラム413は、対象RG(省電力RG)から対象VVOL以外のVVOL内のデータを移動したと仮定して、アロケーションテーブル405及びRG管理テーブル404を基に、対象VVOL内のデータの総量以上の総容量のフリーの実ページが対象RG(省電力RG)に存在するかどうかを判定して良い。この判定の結果が肯定的の場合、プログラム413は、対象VVOL内の全てのデータのうち、ライトの時刻が相対的に過去のデータ(相対的に古いデータ)を、対象RG(省電力RG)に移動し、ライトの時刻が相対的に未来のデータ(相対的に新しいデータ)を、対象RG(省電力RG)以外の記憶領域(対象VVOLが関連付けられているプールの基になっている他のRG(RG省電力属性が“無”のRG))に移動して良い。
<スピンダウン処理>。
図20は、スピンダウン処理のフローを示す。
S2201で、プログラム413は、RVOL管理テーブル(図8)参照して、フラグがONのRGを特定する。
S2202で、プログラム413は、特定したRGを構成する全てのPDEVをスピンダウンさせる(省電力状態にさせる)。プログラム413は、特定したRGに対応した状態(RG管理テーブル404における状態)を、“スピンアップ”から“スピンダウン”に更新する。
以上が、本実施例の説明である。
本実施例によれば、ホスト101(又は管理装置107)から省電力対象として或るVVOL(以下、この段落で「対象VVOL」)が指定された場合、下記(x)及び(y)、
(x)対象VVOL内のデータが、省電力RG(RG省電力属性が“有”のRG)以外のRGにある場合、そのデータを省電力RGに移動すること、
(y)対象VVOL以外のVVOL内のデータが、省電力RGにある場合、そのデータを、省電力RG以外の記憶領域(例えば、省電力RG以外のRG)に移動すること、
が行われる。これにより、省電力RGが省電力状態になっている間に、対象VVOL以外のVVOLを指定したI/Oコマンドを受けても、I/O先の記憶領域(例えばRG)が省電力RGとなることがないので、省電力状態を解除する必要が無い。
また、省電力RGに格納されているデータは、省電力VVOL内のデータのみである。省電力VVOLは、省電力要求で指定されたVVOLであるが、そのようなVVOLは、例えば、一定時間以上I/Oコマンドで指定されることのないVVOLである。この点から、省電力RGの省電力状態を解除する頻度を抑えることができる。
以上、本発明の一実施例を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこの実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。
例えば、プールにチャンクが存在しなくても良い。
また、例えば、1つのRGに基づく複数のRVOLに、ホストから認識されるRVOL(通常RVOL)と、プールを構成するRVOL(プールRVOL)とが混在しても良い。通常RVOLとプールRVOLが混在するRG(以下、混在RG)のRG省電力属性が“有”とされた場合、プログラム413は、混在RGに基づく全ての通常RVOLが省電力対象であれば、混在RGをスピンダウン状態として良い。
また、例えば、省電力VVOLの数が増えていくことで、1つの省電力RG(RG省電力属性が“有”のRG)の容量よりも省電力VVOL内のデータを総量が大きくなった場合には、下記の(a)又は(b)が行われても良い。
(a)プログラム413が、全ての省電力VVOL内のデータの総量以上に容量が大きいRGを、現在の1つの省電力RGに代えて、新たに省電力RGとする。
(b)プログラム413が、全ての省電力VVOL内のデータの総量以上の合計容量となるように、1つの省電力RGに加えて、別のRG(但し、省電力VVOLが関連付けられているプールの基になっているRG)も、省電力RGとする。
また、省電力RGは、複数のRGに基づくプールの作成の際に、管理者が、それら複数のRGのうちの1以上のRGを省電力RGとして決定しても良い。
また、省電力VVOLは、省電力要求で指定されたVVOLに代えて又は加えて、所定の条件を満たすVVOLであって良い。例えば、プログラム413は、一定時間I/O先として指定されていないVVOLを省電力VVOLとして決定しても良い。
また、例えば、図19において、S2101の判定の結果が肯定的でも、既存の省電力RGが有するフローの実ページの総容量が、新たな対象VVOL内の全てのデータを総容量未満の場合、プログラム413は、既存の省電力RGに代えて又は加えて、新たにいずれかのRGを省電力RGとすべく、S2102以降を行って良い。
また、例えば、省電力RGの決定の際、省電力VVOL内のデータが集約されても未使用チャンク数が所定の閾値以上になるようなRGが、省電力RGとして決定されて良い。この場合、所定の閾値は、省電力VVOLに書き込まれるデータの増加量(単位時間当たりにどのぐらいの量のデータが書き込まれたか)を基に決定されて良い。省電力VVOLを指定したライトコマンドに付随するライト対象データは、常に、省電力RGに書き込まれる。なぜなら、前述したように、省電力VVOLに対応する前回割当RG IDは、固定であるためである。
103…ストレージシステム 101・・・ホスト 105・・・PDEV 107・・・管理装置 111・・・CHA 113・・・DKA 117・・・SW 119・・・CMPK 121・・・MPPK 203・・・VVOL 205・・・RVOL 207・・・仮想ページ 209・・・実ページ 301・・・RG

Claims (14)

  1. 1以上のホストに接続されるストレージシステムであって、
    複数のRAID(Redundant Array of Independent (or Inexpensive) Disks)グループと、
    前記複数のRAIDグループ及び前記1以上のホストに接続されたコントローラと
    を有し、
    各RAIDグループは、二以上の物理記憶デバイスで構成されており、
    前記複数のRAIDグループが、複数の実領域で構成された記憶領域であるプールの基になっており、
    おり、
    前記コントローラが、前記プールに関連付けられている複数の仮想ボリュームを前記一以上のホストに提供し、
    各仮想ボリュームは、複数の仮想領域で構成されている仮想的な論理ボリュームであり、
    前記コントローラが、ホストからライトコマンドを受信した場合、そのライトコマンドからライト先の仮想領域を特定し、特定したライト先の仮想領域に、前記プールのうちのフリーの実領域を割り当て、割り当てた実領域に、前記ライトコマンドに付随するライト対象のデータを書き込み、
    前記コントローラが、
    (A)省電力対象の仮想ボリュームである第1VVOLを特定し、
    (B)省電力対象のRAIDグループである第1RGを特定し、
    (C)前記第1VVOL以外の仮想ボリュームである第2VVOLに割り当てられている、前記第1RGに基づく実領域である第1の実領域があるか否かを判定し、
    (D)前記(C)の判定の結果が肯定的であれば、前記第1の実領域内のデータを前記第1RG以外のRAIDグループである第2RGに基づくフリーの実領域に移動し、前記第1の実領域が割り当てられている仮想領域に、前記第1の実領域に代えて移動先の実領域を割り当てる第1の移動処理を行い、
    (E)前記第1RGに基づく実領域として、前記第2VVOLに割り当てられている実領域がなければ、前記第1RGを構成する全ての物理記憶デバイスを省電力状態にする、
    ストレージシステム。
  2. 請求項1記載のストレージシステムであって、
    前記コントローラが、
    (F)前記第1VVOLに割り当てられている、前記第2RGに基づく実領域である第2の実領域があるか否かを判定し、
    (G)前記(F)の判定の結果が肯定的であれば、前記第2の実領域内のデータを前記第1RGに基づくフリーの実領域に移動し、前記第2の実領域が割り当てられている仮想領域に、前記第2の実領域に代えて移動先の実領域を割り当てる第2の移動処理を行い、
    前記(E)では、前記コントローラは、前記第1RGに基づく実領域として、前記第2VVOLに割り当てられている実領域がなく、且つ、前記第2RGに基づく実領域として、前記第1VVOLに割り当てられている実領域がなければ、前記第1RGを構成する全ての物理記憶デバイスを省電力状態にする、
    ストレージシステム。
  3. 請求項2記載のストレージシステムであって、
    前記プールを構成する各実領域は、複数のティアのうちのいずれかのティアに属しており、
    前記コントローラが、記憶資源を有し、
    前記記憶資源が、ティアの優先順位とRAIDグループの総実領域数のどちらを優先するかを表す情報を仮想ボリューム毎に含んだボリューム管理情報を記憶し、
    前記(B)において、前記コントローラが、
    (b1)前記ボリューム管理情報を基に、前記第1VVOLについて、ティアの優先順位を優先することを特定した場合、最も高いティアに属するRAIDグループを特定し、
    (b2)前記ボリューム管理情報を基に、前記第1VVOLについて、RAIDグループの総実領域数を優先することを特定した場合、総実領域数が最も少ないRAIDグループを特定し、
    前記(b1)又は(b2)で特定されたRAIDグループが、前記第1RGである、
    ストレージシステム。
  4. 請求項3記載のストレージシステムであって、
    前記(b1)において、最も高いティアに属するRAIDグループが複数ある場合、前記コントローラは、それら複数のRAIDグループのうち、総実領域数が最も少ないRAIDグループを特定し、
    前記(b2)において、総実領域数が最も少ないRAIDグループが複数ある場合、前記コントローラは、それら複数のRAIDグループのうち、最も高いティアに属するRAIDグループを特定する、
    ストレージシステム。
  5. 請求項4記載のストレージシステムであって、
    前記特定されたRAIDグループは、更に、総実領域数のうちの割当て済み実領域数の割合が所定の閾値以下のRAIDグループである、
    ストレージシステム。
  6. 請求項5記載のストレージシステムであって、
    前記コントローラは、前記第1VVOLを指定したライトコマンドを受信し、ライト先が未割当ての仮想領域である場合、常に、
    (P)前記第1RGが省電力状態であれば一時的に省電力状態を解除し、
    (Q)前記第1RGに基づくフリーの実領域を選択し、
    (R)選択した実領域を、そのライト先の仮想領域に割り当て、その実領域に、前記ライトコマンドに付随するライト対象のデータを書き込み、
    (S)前記第1RGを再び省電力状態に遷移させる、
    ストレージシステム。
  7. 請求項1記載のストレージシステムであって、
    前記(B)は、前記複数のRAIDグループから、第1RGを決定することであり、
    前記(B)において、前記コントローラは、総実領域数が最も少ないRGを、前記第1RGに決定する、
    ストレージシステム。
  8. 請求項7記載のストレージシステムであって、
    前記第1RGは、総実領域数が最も少なく、且つ、総実領域数のうちの割当て済み実領域数の割合が所定の閾値以下のRAIDグループである、
    ストレージシステム。
  9. 請求項1記載のストレージシステムであって、
    前記プールを構成する各実領域は、複数のティアのうちのいずれかのティアに属しており、
    前記コントローラが、記憶資源を有し、
    前記記憶資源が、ティアの優先順位とRAIDグループの総実領域数のどちらを優先するかを表す情報を仮想ボリューム毎に含んだボリューム管理情報を記憶し、
    前記(B)において、前記コントローラが、前記ボリューム管理情報を基に、前記第1VVOLについて、ティアの優先順位を優先することを特定した場合、最も高いティアに属するRAIDグループを特定し、
    前記特定されたRAIDグループが、前記第1RGである、
    ストレージシステム。
  10. 請求項9記載のストレージシステムであって、
    前記ティアの優先順位は、RAIDグループを構成する物理記憶デバイスの種類、性能及び消費電力のいずれかに従う順位である、
    ストレージシステム。
  11. 請求項10記載のストレージシステムであって、
    前記ティアの優先順位は、物理記憶デバイスの性能が低いほど高い優先順位である、
    ストレージシステム。
  12. 請求項10記載のストレージシステムであって、
    前記ティアの優先順位は、物理記憶デバイスの消費電力が高いほど高い優先順位である、
    ストレージシステム。
  13. 請求項1記載のストレージシステムであって、
    前記コントローラが、
    (F)前記第1VVOLに割り当てられている、前記第2RGに基づく実領域である第2の実領域があるか否かを判定し、
    (G)前記(F)の判定の結果が肯定的であれば、前記第2の実領域内のデータを前記第1RGに基づくフリーの実領域に移動し、前記第2の実領域が割り当てられている仮想領域に、前記第2の実領域に代えて移動先の実領域を割り当てる第2の移動処理を行い、
    前記(E)では、前記コントローラは、前記第1RGに基づく実領域として、前記第2VVOLに割り当てられている実領域がなく、且つ、前記第2RGに基づく実領域として、前記第1VVOLに割り当てられている実領域がなければ、前記第1RGを構成する全ての物理記憶デバイスを省電力状態にする、
    前記コントローラは、前記第1VVOLを指定したライトコマンドを受信し、ライト先が未割当ての仮想領域である場合、常に、
    (P)前記第1RGが省電力状態であれば一時的に省電力状態を解除し、
    (Q)前記第1RGに基づくフリーの実領域を選択し、
    (R)選択した実領域を、そのライト先の仮想領域に割り当て、その実領域に、前記ライトコマンドに付随するライト対象のデータを書き込み、
    (S)前記第1RGを再び省電力状態に遷移させる、
    ストレージシステム。
  14. 下記(x)乃至(z)を有するストレージシステム、
    (x)それぞれが複数の物理記憶デバイスで構成された複数のRAID(Redundant Array of Independent (or Inexpensive) Disks)グループに基づき複数の実領域で構成された記憶領域であるプールがある、
    (y)前記プールに関連付けられている複数の仮想ボリュームを一以上のホストに提供する、
    (z)ホストからライトコマンドを受信した場合、そのライトコマンドからライト先の仮想領域を特定し、特定したライト先の仮想領域に、前記プールのうちのフリーの実領域を割り当て、割り当てた実領域に、前記ライトコマンドに付随するライト対象のデータを書き込む、
    の省電力制御方法であって、
    (A)省電力対象の仮想ボリュームである第1VVOLを特定し、
    (B)省電力対象のRAIDグループである第1RGを特定し、
    (C)前記第1VVOL以外の仮想ボリュームである第2VVOLに割り当てられている、前記第1RGに基づく実領域である第1の実領域があるか否かを判定し、
    (D)前記(C)の判定の結果が肯定的であれば、前記第1の実領域内のデータを前記第1RG以外のRAIDグループである第2RGに基づくフリーの実領域に移動し、前記第1の実領域が割り当てられている仮想領域に、前記第1の実領域に代えて移動先の実領域を割り当てる第1の移動処理を行い、
    (E)前記第1RGに基づく実領域として、前記第2VVOLに割り当てられている実領域がなければ、前記第1RGを構成する全ての物理記憶デバイスを省電力状態にする、
    省電力制御方法。
JP2013502031A 2010-08-26 2010-08-26 仮想ボリュームを提供するストレージシステム及びそのストレージシステムの省電力制御方法 Expired - Fee Related JP5427314B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/005260 WO2012025964A1 (en) 2010-08-26 2010-08-26 Data storage system providing virtual volume and electrical power saving control method for the data storage system

Publications (2)

Publication Number Publication Date
JP2013524333A true JP2013524333A (ja) 2013-06-17
JP5427314B2 JP5427314B2 (ja) 2014-02-26

Family

ID=43735762

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013502031A Expired - Fee Related JP5427314B2 (ja) 2010-08-26 2010-08-26 仮想ボリュームを提供するストレージシステム及びそのストレージシステムの省電力制御方法

Country Status (3)

Country Link
US (1) US8650358B2 (ja)
JP (1) JP5427314B2 (ja)
WO (1) WO2012025964A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9594421B2 (en) * 2011-03-08 2017-03-14 Xyratex Technology Limited Power management in a multi-device storage array
EP2807564A4 (en) * 2012-01-25 2016-04-13 Hewlett Packard Development Co STORAGE SYSTEM DEVICE MANAGEMENT
CN107250975B (zh) * 2014-12-09 2020-07-10 清华大学 数据存储系统和数据存储方法
US20180275894A1 (en) * 2015-01-20 2018-09-27 Hitachi, Ltd. Storage system
US10026454B2 (en) 2015-04-28 2018-07-17 Seagate Technology Llc Storage system with cross flow cooling of power supply unit
CN107077182B (zh) * 2016-12-27 2020-01-07 深圳前海达闼云端智能科技有限公司 电源管理方法、装置、电子设备和计算机程序产品
JP6808507B2 (ja) * 2017-01-25 2021-01-06 キヤノン株式会社 情報処理装置及びその制御方法、並びにプログラム
US10503609B1 (en) * 2017-04-27 2019-12-10 EMC IP Holding Company LLC Replication link smoothing using historical data

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007219703A (ja) * 2006-02-15 2007-08-30 Fujitsu Ltd ハードディスクストレージ制御プログラム、ハードディスクストレージ装置、ハードディスクストレージ制御方法
JP2008015886A (ja) * 2006-07-07 2008-01-24 Hitachi Ltd 複数のストレージ装置を含むストレージシステム
JP2009116826A (ja) * 2007-11-09 2009-05-28 Hitachi Ltd ストレージ装置及び論理ボリューム移行方法
JP2010033261A (ja) * 2008-07-28 2010-02-12 Hitachi Ltd ストレージ装置及びその制御方法
JP2010072753A (ja) * 2008-09-16 2010-04-02 Hitachi Ltd 自動拡張ボリューム及び省電力機能を備えたストレージシステム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4325817B2 (ja) 1999-04-05 2009-09-02 株式会社日立製作所 ディスクアレイ装置
JP2007164650A (ja) * 2005-12-16 2007-06-28 Hitachi Ltd 記憶制御装置及び記憶制御装置の制御方法
JP5008955B2 (ja) * 2006-11-28 2012-08-22 株式会社日立製作所 節電機能を備えたストレージシステム
JP2010015446A (ja) 2008-07-04 2010-01-21 Hitachi Ltd ストレージ装置及び電源の制御方法
JP5130169B2 (ja) 2008-09-17 2013-01-30 株式会社日立製作所 仮想化ボリュームへの物理ボリューム領域割り当方法及びストレージ装置
WO2012011153A1 (en) * 2010-07-22 2012-01-26 Hitachi, Ltd. Data storage apparatus and data storage control method for the same

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007219703A (ja) * 2006-02-15 2007-08-30 Fujitsu Ltd ハードディスクストレージ制御プログラム、ハードディスクストレージ装置、ハードディスクストレージ制御方法
JP2008015886A (ja) * 2006-07-07 2008-01-24 Hitachi Ltd 複数のストレージ装置を含むストレージシステム
JP2009116826A (ja) * 2007-11-09 2009-05-28 Hitachi Ltd ストレージ装置及び論理ボリューム移行方法
JP2010033261A (ja) * 2008-07-28 2010-02-12 Hitachi Ltd ストレージ装置及びその制御方法
JP2010072753A (ja) * 2008-09-16 2010-04-02 Hitachi Ltd 自動拡張ボリューム及び省電力機能を備えたストレージシステム

Also Published As

Publication number Publication date
JP5427314B2 (ja) 2014-02-26
US8650358B2 (en) 2014-02-11
WO2012025964A1 (en) 2012-03-01
US20120054430A1 (en) 2012-03-01

Similar Documents

Publication Publication Date Title
JP5427314B2 (ja) 仮想ボリュームを提供するストレージシステム及びそのストレージシステムの省電力制御方法
JP5981563B2 (ja) 情報記憶システム及び情報記憶システムの制御方法
JP5314772B2 (ja) 性能の異なる実領域群で構成されたプールを有するストレージシステムの管理システム及び方法
JP4940738B2 (ja) 記憶領域動的割当方法
US9052823B2 (en) Storage system and data management method with application specific storage tiers
US8549247B2 (en) Storage system, management method of the storage system, and program
JP5608016B2 (ja) オブジェクト単位階層の管理方法及び装置
US8918613B2 (en) Storage apparatus and data management method for storage area allocation based on access frequency
US8407417B2 (en) Storage system providing virtual volumes
JP5706531B2 (ja) 計算機システム、及び情報管理方法
JP5685676B2 (ja) 計算機システム及びデータ管理方法
WO2012140730A1 (ja) 管理システム、それを有する計算機システム、及び管理方法
US20140258615A1 (en) Storage control apparatus and storage system comprising multiple storage control apparatuses
US8880804B2 (en) Storage apparatus and data management method
US9104590B2 (en) Storage system including multiple storage apparatuses and pool virtualization method
WO2013098960A1 (ja) 計算機システム、ファイル管理方法及び記憶媒体
JP2013114624A (ja) ストレージシステム及びプール容量縮小の制御方法
JP2011070345A (ja) 計算機システム、計算機システムの管理装置、計算機システムの管理方法
US8463990B2 (en) Method and apparatus to perform automated page-based tier management of storing data in tiered storage using pool groups
US20160026984A1 (en) Storage apparatus and control method of storage apparatus
JP2015158711A (ja) ストレージ制御装置、仮想ストレージ装置、ストレージ制御方法、及びストレージ制御プログラム
JP6035363B2 (ja) 管理計算機、計算機システム、及び管理方法
JP6361390B2 (ja) ストレージ制御装置および制御プログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131002

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131015

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131029

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131129

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees