JP5666710B2 - ストレージ装置及びボリューム管理方法 - Google Patents

ストレージ装置及びボリューム管理方法 Download PDF

Info

Publication number
JP5666710B2
JP5666710B2 JP2013529487A JP2013529487A JP5666710B2 JP 5666710 B2 JP5666710 B2 JP 5666710B2 JP 2013529487 A JP2013529487 A JP 2013529487A JP 2013529487 A JP2013529487 A JP 2013529487A JP 5666710 B2 JP5666710 B2 JP 5666710B2
Authority
JP
Japan
Prior art keywords
volume
page
large size
size page
data
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.)
Active
Application number
JP2013529487A
Other languages
English (en)
Other versions
JP2014507692A (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 JP2014507692A publication Critical patent/JP2014507692A/ja
Application granted granted Critical
Publication of JP5666710B2 publication Critical patent/JP5666710B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery

Landscapes

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

Description

本発明は、ストレージ装置及びボリューム管理方法に関し、シンプロビジョニング機能とスナップショット機能を用いてデータを管理するストレージ装置及びボリューム管理方法に適用して好適なるものである。
ストレージシステムにおいて、シンプロビジョニング機能とスナップショット機能とは、それぞれの機能の特徴を生かすために、異なるページサイズで管理される場合がある。
上記したシンプロビジョニング機能は、仮想ボリュームをホスト装置に提示し、ホスト装置から仮想ボリュームにライトアクセスがあった場合に、実際にデータを格納するための物理的な記憶領域を仮想ボリュームに割り当てる機能である。ここで、データが格納される物理的な記憶領域は、1または複数のハードディスク装置(HDD:Hard Disk Drive)により提供される記憶領域であり、当該記憶領域上に1または複数の論理ボリュームが定義される。そして、1または複数の論理ボリュームにより1つのプールが構成され、各プールにそれぞれ1または複数の仮想ボリュームが対応づけられる。そして、ホスト装置から仮想ボリュームにライトアクセスがあった場合には、ライトアクセスされた仮想ボリュームの該当セグメントに対して、当該仮想ボリュームに対応付けられたストレージプール内のいずれかの論理ボリュームから記憶領域が所定の大きさ単位(以下、この大きさの記憶領域をページと称する)で割り当てられる。
このようなシンプロビジョニング機能を用いてデータの書き込みを行う際には、シーケンシャル性能を重視するため、大きいページサイズの記憶領域を割り当てることが好ましい。例えば特許文献1では、複数の同じ大きさのページを備えるチャンク単位で、仮想ボリュームにRAID(Redundant Arrays of Independent Disks)グループ内の実記憶領域を割り当てる技術が開示されている。
一方、スナップショット機能は、ある時点(例えば、ホスト装置からスナップショット取得要求を受けた時点)のある論理ボリュームのイメージを保持する機能である。ストレージシステムでは、定期的にスナップショット機能を実行することにより、論理ボリューム内のデータのレプリケーション(バックアップ)を間欠的に取得しておくことが可能となる。また、スナップショット機能では、通常、データのレプリケーション取得する際に、論理ボリューム全体のコピーを行わず、論理ボリュームへのライトアクセス時に、ライトアクセス前のデータをプールへ退避した後にライト処理を行う。このようなスナップショット機能を用いて差分データを格納する際には、容量効率を重視するため、小さいページサイズの記憶領域を割り当てることが好ましい。
したがって、各機能において適切なサイズのページを割り当てるために、それぞれ独立したプールを作成することが考えられる。しかし、独立したプールを作成した場合には、プール容量の設計作業や管理作業に時間やコストが掛かり、ユーザ負担が大きいため、シンプロビジョニング機能とスナップショット機能とにより利用される、異なるページサイズの記憶領域を単一のプール内で管理したいという要望があった。さらに、シンプロビジョニング機能とスナップショット機能との間で、同一プール内の空きページを融通しあえるようにしたいという要望があった。
国際公開第2010/106574号公報
そこで、単一プール内に順次に異なるサイズのページを格納することが考えられる。しかし、スナップショット機能によりプールに退避したデータを削除した場合に、解放された小さいページサイズの記憶領域を、そのまま大きいページサイズで管理しているシンプロビジョニング機能において利用することができるとは限らず、プール内で断片化が発生してしまうという問題があった。また、スナップショット機能のために小さいページサイズで管理されるプールを予め確保して、当該プールをシンプロビジョニング機能でも利用することが考えられる。しかし、この場合、管理単位が小さいため、膨大な管理情報を持たなければならず、メモリ容量が逼迫し、プール容量に制限が出来てしまう可能性があるという問題があった。
本発明は以上の点を考慮してなされたもので、同一プール内で管理サイズが異なるページを効率よく格納することが可能なストレージ装置及びボリューム管理方法を提案しようとするものである。
かかる課題を解決するために本発明においては、データの書き込みを要求するホスト装置とネットワークを介して接続されたストレージ装置が提供される。前記ストレージ装置は、前記ホスト装置により読み書きされるデータを格納する記憶部と、前記記憶部への前記データの書き込みを制御する制御部と、を備え、前記制御部は、前記記憶部を1または2以上のプールとし、前記プールの1つを第1の大きさの領域を有する第1のページに分割し、前記第1のページを前記第2の領域を有する第2のページに分割して管理し、前記データを格納する第1のボリュームのデータ格納領域を前記第1の大きさの領域で管理し、前記データを格納する第2のボリュームのデータ格納領域を前記第2の大きさの領域で管理し、前記第1のボリュームのデータ格納領域に前記第1のページを割り当て、前記第2のボリューム単位で前記第1のページを割り当てて、前記第2のボリュームのデータ格納領域に当該第1のページを分割した前記第2のページを割り当てる。
かかる構成によれば、ストレージ装置の共通プールを第1のページに分割し、さらに、第1のページを第2のページに分割して管理し、第1のボリュームを第1の大きさの領域で管理し、第2のボリュームを第2の大きさの領域で管理する。そして、第1のボリュームのデータ格納領域に第1のページを割り当て、第2のボリューム単位で第1のページを割り当てて、第2のボリュームのデータ格納領域に当該第1のページを分割した第2のページを割り当てる。これにより、単一のプール内で異なるページサイズの記憶領域を管理することが可能となり、同一プール内で空き容量を効率よく使用することができる。また、削除対象となるボリューム毎に大サイズページが割り当てられるため、ボリュームが削除される際にプール内の断片化を防止することが可能となる。
本発明によれば、異なる機能を併用して利用するストレージシステムにおいて、同一プール内で管理サイズが異なるページを効率よく格納し、プール容量の管理を容易にすることができる。
本発明の第1の実施の形態にかかる概要を説明する概念図である。 同実施の形態にかかる概要を説明する概念図である。 同実施の形態にかかる計算機システムのハードウェア構成を示すブロック図である。 同実施の形態にかかる異なるページサイズの管理方法を説明する概念図である。 同実施の形態にかかる共通プール管理テーブルの一例を示す図表である。 同実施の形態にかかる分割管理情報の一例を示す図表である。 同実施の形態にかかる論理ページ管理テーブルの一例を示す図表である。 同実施の形態にかかるクローンボリューム用のボリューム管理テーブルの一例を示す図表である。 同実施の形態にかかるシンプロビジョニングボリューム用のボリューム管理テーブルの一例を示す図表である。 同実施の形態にかかるプライマリボリューム管理情報の一例を示す図表である。 同実施の形態にかかる大サイズページ割り当て管理テーブルの一例を示す図表である。 同実施の形態にかかるLUN管理テーブルの一例を示す図表である。 同実施の形態にかかる大サイズページフリー管理キューを説明する概念図である。 同実施の形態にかかる小サイズページフリー管理キューを説明する概念図である。 同実施の形態にかかるスナップショット機能によるデータ格納方法を説明する概念図である。 同実施の形態にかかるスナップショット機能によるデータ格納方法を説明する概念図である。 同実施の形態にかかるスナップショット機能によるデータ格納方法を説明する概念図である。 同実施の形態にかかるボリュームリード処理の処理手順を示すフローチャートである。 同実施の形態にかかるボリュームライト処理の処理手順を示すフローチャートである。 同実施の形態にかかるデータ格納先ボリューム選択処理の処理手順を示すフローチャートである。 同実施の形態にかかる小サイズページ割り当て処理の処理手順を示すフローチャートである。 同実施の形態にかかるシンプロビジョニングボリュームライト処理の処理手順を示すフローチャートである。 同実施の形態にかかるボリューム削除処理の処理手順を示すフローチャートである。 同実施の形態にかかる使用済みページ削除処理の処理手順を示すフローチャートである。 同実施の形態にかかる使用済みページ削除処理の処理手順を示すフローチャートである。 第2の実施の形態にかかる概要を説明する概念図である。 第3の実施の形態にかかる概要を説明する概念図である。 第4の実施の形態にかかる共有プールの容量枯渇対応処理の処理手順を示すフローチャートである。
以下図面について、本発明の一実施の形態を詳述する。
(1)第1の実施の形態
(1−1)本実施の形態の概要
まず、本実施の形態の概要について説明する。以下では、シンプロビジョニング機能とスナップショット機能とを利用するストレージシステムについて説明する。シンプロビジョニング機能とスナップショット機能を利用するストレージシステムでは、それぞれの機能の特徴を生かすために、異なるページサイズで管理される場合がある。
上記したシンプロビジョニング機能は、仮想ボリュームをホスト装置に提示し、ホスト装置から仮想ボリュームにライトアクセスがあった場合に、実際にデータを格納するための物理的な記憶領域を仮想ボリュームに割り当てる機能である。ここで、データが格納される物理的な記憶領域は、1または複数のハードディスク装置(HDD)により提供される記憶領域であり、当該記憶領域上に1または複数の論理ボリュームが定義される。そして、1または複数の論理ボリュームにより1つのプールが構成され、各プールにそれぞれ1または複数の仮想ボリュームが対応づけられる。そして、ホスト装置から仮想ボリュームにライトアクセスがあった場合には、ライトアクセスされた仮想ボリュームの該当セグメントに対して、当該仮想ボリュームに対応付けられたストレージプール内のいずれかの論理ボリュームから記憶領域が所定の大きさ単位(以下、この大きさの記憶領域をページと称する)で割り当てられる。このようなシンプロビジョニング機能を用いてデータの書き込みを行う際には、シーケンシャル性能を重視するため、大きいページサイズの記憶領域を割り当てることが好ましい。
一方、スナップショット機能は、ある時点(例えば、ホスト装置からスナップショット取得要求を受けた時点)のある論理ボリュームのイメージを保持する機能である。ストレージシステムでは、定期的にスナップショット機能を実行することにより、論理ボリューム内のデータのレプリケーション(バックアップ)を間欠的に取得しておくことが可能となる。また、スナップショット機能では、通常、データのレプリケーションを取得する際に、論理ボリューム全体のコピーを行わず、論理ボリュームへのライトアクセス時に、ライトアクセス前のデータをプールへ退避した後にライト処理を行う。このようなスナップショット機能を用いて差分データを格納する際には、容量効率を重視するため、小さいページサイズの記憶領域を割り当てることが好ましい。
したがって、各機能において適切なサイズのページを割り当てるために、それぞれ独立したプールを作成することが考えられる。しかし、独立したプールを作成した場合には、プール容量の設計作業や管理作業に時間やコストが掛かり、ユーザ負担が大きいため、シンプロビジョニング機能とスナップショット機能とにより利用される、異なるページサイズの記憶領域を単一のプール内で管理したいという要望があった。さらに、シンプロビジョニング機能とスナップショット機能との間で、同一プール内の空きページを融通しあえるようにしたいという要望があった。
そこで、単一プール内に順次に異なるサイズのページを格納することが考えられる。しかし、スナップショット機能によりプールに退避したデータを削除した場合に、解放された小さいページサイズの記憶領域を、そのまま大きいページサイズで管理しているシンプロビジョニング機能において利用することができるとは限らず、プール内で断片化が発生してしまうという問題があった。また、スナップショット機能のために小さいページサイズで管理されるプールを予め確保して、当該プールをシンプロビジョニング機能でも利用することが考えられる。しかし、この場合、管理単位が小さいため、膨大な管理情報を持たなければならず、メモリ容量が逼迫し、プール容量に制限が出来てしまう可能性があるという問題があった。
そこで、本実施の形態では、単一プール内を大きいサイズのページ(以下、大サイズページと称する場合もある。)に分割し、さらに、大サイズページを小さいサイズのページ(以下、小サイズページと称する場合もある。)に分割して、プール管理を階層化している。具体的に、本実施形態では、図1に示すように、シンプロビジョニング機能とスナップショット機能とで、単一の共通プール201にデータを格納するようにしている。共通プール201内では大サイズページで管理され、各機能において管理されるページサイズが大サイズページよりも小さい場合は、当該機能毎に利用される大サイズページを分割して小サイズページで管理される。例えば、シンプロビジョニング機能では、各ボリュームに大サイズページが割り当てられて、当該大サイズページにデータが格納される。一方、スナップショット機能では、各ボリュームに大サイズページが割り当てられて、大サイズページを分割した小サイズページに差分データが格納される。
また、共通プール201内の大サイズページの空きページを管理するキューと、小サイズページの空きページを管理するキューをそれぞれ設け、さらに、大サイズページのうちのいずれのページに小サイズページが割り当てられているかを管理する。具体的に、スナップショット機能が利用する小サイズページについては、小サイズページの空きページがなくなったときに、大サイズページの空きページを確保する。そして、確保した大サイズページを小サイズページに分割して小サイズページの空きページとして管理する。また、小サイズページの解放については、分割されていた大サイズページのすべての小サイズページがフリーとなった場合に、大サイズページが解放されて共通プール201に戻される。
このように、本実施形態では、共通プール201内においては大サイズページを管理するためのメタデータを生成し、必要に応じて小サイズページ管理用のメタデータを生成すればよいため、プール管理情報を削減して、メモリ容量を効率よく使用することができる。
また、スナップショット機能において小サイズページに分割される大サイズページを割り当てる際に、削除単位毎に大サイズページを割り当てることにより、プール内のデータ断片化を防止している。具体的に、図2に示すように、まず、ホスト装置等からのスナップショット取得要求に応じて、スナップショットボリューム(V−VOL0)が生成される(STEP01)。STEP01においてV−VOL0が生成されると、当該ボリュームに対応付けられた大サイズページが確保され、当該大サイズページが小サイズページに分割される(STEP02)。
続いて、データ「A」が格納されている領域に、データ「E」の書き込みが要求されると(STEP03)、STEP02において確保された大サイズページに旧データ「A」が退避される(STEP04)。そして、STEP04において退避されたデータ「A」に代えてデータ「E」が書き込まれたスナップショットボリューム(V−VOl1)が生成される(STEP05)。STEP05においてV−VOL1が生成されると、当該ボリュームに対応付けられた大サイズページが確保され、当該大サイズページが小サイズページに分割される(STEP06)。
さらに、データ「B」が格納されている領域に、データ「F」の書き込みが要求されると(STEP07)、STEP06において確保された大サイズページに旧データ「B」が退避される(STEP08)。そして、STEP07において退避されたデータ「B」に代えてデータ「F」が書き込まれたスナップショットボリューム(V−VOL2)が生成される(STEP09)。STEP09においてV−VOL2が生成されると、当該ボリュームに対応付けられた大サイズページが確保され、当該大サイズページが小サイズページに分割される(STEP10)。
さらに、データ「C」及び「D」が格納されている領域にデータ「G」及び「H」の書き込みが要求されると、STEP10において確保された大サイズページに旧データ「C」及び「D」が退避される(STEP11)。
このように、小サイズページでプール領域を管理するスナップショット機能において、スナップショットボリューム毎に小サイズページに分割された大サイズページを割り当てて、同時に削除され得るデータを同一の大サイズページに格納している。これにより、スナップショットボリュームが削除された場合に、当該ボリュームのデータが格納されている小サイズページが削除されて、分割されていた大サイズページのデータがすべて削除されることとなり、当該大サイズページを解放することができる。解放された大サイズページは、大サイズページの空きページを管理するキューに追加されて、大サイズページで管理するシンプロビジョニング機能でも利用可能となる。このように、プール内のデータ断片化を防止しつつ、異なるページサイズを利用する機能間で容量を融通し合って、同一プール内で管理サイズが異なるページを効率よく格納することを可能とした。
(1−2)計算機システムのハードウェア構成
次に、計算機システム1のハードウェア構成について説明する。図3に示すように、計算機システム1は、ホスト装置10と、ストレージ装置20と、管理端末30と、ネットワーク40とから構成される。
CPU(Central Processing Unit)及びメモリ等の情報処理資源を備えたコンピュータ装置であって、例えば、パーソナルコンピュータや、ワークステーション、メインフレームなどから構成される。CPUは、演算処理装置として機能し、メモリに記憶されているプログラムや演算パラメータ等にしたがって、ホスト装置10の動作を制御する。また、ホスト装置10は、キーボード、スイッチやポインティングデバイス、マイクロフォン等の情報入力装置と、モニタディスプレイやスピーカ等の情報出力装置とを備えている。
また、ホスト装置10は、ネットワーク40を介してストレージ装置20と接続されている。ネットワーク40は、例えば、SAN(Storage Area Network)などから構成され、装置間の通信は、例えばファイバチャネルプロトコルに従って行われる。また、ネットワーク40は、例えば、LAN(Local Area Network)、インターネット、公衆回線または専用回線などであってもよい。ネットワーク40がLANの場合には、装置間の通信は、例えばTCP/IP(Transmission Control Protocol/Internet Protocol)プロトコルに従って行われる。
ホスト装置10は、ネットワーク40を介して接続されたストレージ装置20にデータのリード/ライト要求を送信する。
ストレージ装置20は、ネットワーク40を介して接続されたホスト装置10から送信されたリード/ライトコマンドを解釈して、ストレージ装置20内の記憶媒体へのリード/ライトを実行する。また、ストレージ装置20は、ストレージコントローラ21とドライブ部200とから構成されている。
ストレージコントローラ21は、MPU(Micro Processing Unit)22、メモリ23、管理端末インタフェース部(図中管理端末I/F部と表記)27、ホストインタフェース部(図中ホストインタフェースI/F部と表記)28及びドライブインタフェース部(図中ドライブI/F部)29を備えている。
MPU22は、演算処理装置として機能し、メモリ23に記憶されているプログラムや演算パラメータ等にしたがって、ストレージ装置20全体を制御する。メモリ23は、MPU22からの高速なアクセスを可能とする記憶領域であって、構成情報24、キャッシュ領域25や、ストレージ制御プログラム26などが格納されている。構成情報24には、各種パラメータが含まれる。キャッシュ領域25は、データのリード/ライトを高速化するためにデータを一時的に格納する記憶領域である。ストレージ制御プログラム26は、MPU22により利用されるプログラムであって、構成情報24に含まれる各種パラメータを用いてデータの入出力等を制御する。
管理端末インタフェース部27は、管理ネットワークを介して管理端末30と接続するためのインタフェースである。また、ホストインタフェース部28は、ネットワーク40を介してホスト装置10と接続するためのインタフェースである。また、ドライブインタフェース部29は、記憶装置とデータの送受信を行うためのインタフェースである。
ドライブインタフェース部29は、複数の記憶媒体から構成されている。記憶媒体は、は、SCSI(Small Computer System Interface)ディスク等の高価なハードディスクドライブ、または、SATA(Serial AT Attachment)ディスク等の安価なハードディスクドライブからなる複数のハードディスクドライブ(HDD:Hard Disk Drive)や、SSD(Solid State Drive)などから構成される。
また、1または複数の記憶媒体により1または複数の物理ディスクのグループが形成される。この物理ディスクのグループの一例としては、RAIDが挙げられる。そして、物理ディスクのグループが提供する記憶領域上に1または複数の論理ボリュームが定義される。そして、1または複数のグループが提供する論理ボリュームが1つのプールとして管理される。本実施形態では、シンプロビジョニング機能とスナップショット機能とで1つのプールを利用するため、当該プールを共通プール201と称して以下説明する。
ここで、共通プール201において、異なるページサイズを管理する方法について説明する。図4に示すように、共通プール201の各ページは大サイズページ166で管理され、シンプロビジョニング機能及びスナップショット機能にそれぞれ大サイズページ166が提供される。シンプロビジョニング機能においては、シンプロビジョニングボリューム251のページサイズは、大サイズページ166と同サイズのページサイズで管理される。
また、スナップショット機能においては、スナップショットの差分データを格納するボリューム252のページサイズは、大サイズページを分割した小サイズページで管理される。具体的に、スナップショット機能において差分データを格納する際には、共通プール201の大サイズページ166が小サイズページ253に分割されて、当該小サイズページに差分データが格納される。また、スナップショットの差分データの格納場所として、新たな領域が必要となった場合に、共通プール201から大サイズページ166が提供される。したがって、スナップショットの差分データを格納する領域は、動的に変化することとなる。
(1−3)ストレージ装置のソフトウェア構成
次に、ストレージ装置20のソフトウェア構成について説明する。以下では、ストレージ制御プログラム26により利用される構成情報24に含まれる各種パラメータについて特に詳細に説明する。
図3に示すように、構成情報24には、共通プール201の構成を管理する、共通プール管理テーブル261、大サイズページ割り当て管理テーブル262、LUN(Logical Unit Number)管理テーブル263及び大サイズページフリー管理キュー264と、スナップショット機能に利用されるボリュームを管理する、ページ分割管理情報265、論理ページ管理テーブル266、ボリューム管理テーブル(クローンボリューム用)267、プライマリボリューム管理情報268及び小サイズページフリー管理キュー269と、シンプロビジョニング機能に利用されるボリュームを管理するボリューム管理テーブル(シンプロビジョニング用)270と、が含まれる。
共通プール管理テーブル261は、ドライブ部200内の共通プール201の構成を管理するテーブルであって、図5に示すように、大サイズページID欄2610、ページ属性欄2611及びポインタID欄2012から構成される。共通プール管理テーブル261は、1つの共通プールに対応付けられて作成される。
大サイズページID欄2610には、共通プール201内に設定された大サイズページを識別する情報が格納される。ページ属性欄2611には、各大サイズページの属性を示す情報が格納される。例えば、大サイズページが使用されていない空き領域の場合は「0」が格納される。また、大サイズページがスナップショットのバックアップデータ用のボリューム(以降、当該ボリュームをクローンボリュームと称する。)に割り当てられている場合には「1」が格納される。また、シンプロビジョニングボリュームに割り当てられている場合には「2」が格納される。
ポインタID欄2012には、後述するページ分割管理情報265の格納場所を示すポインタIDが格納される。ポインタID欄2012には、大サイズページのページ属性が「1」の場合、すなわち、大サイズページがクローンボリューム用のページである場合に、大サイズページを分割した小サイズページを管理するページ分割管理情報265の格納場所を示すポインタIDが格納される。
次に、ページ分割管理情報265について説明する。ページ分割管理情報265は、スナップショット機能により利用される管理情報であり、大サイズページを分割して生成された小サイズページを管理する情報であって、図6に示すように、各小サイズページを管理するページ分割管理テーブル265Aと、小サイズページの属性を管理する属性カウンタテーブル265Bとから構成される。また、ページ分割管理情報265は、1つの大サイズページ毎に生成され、具体的に、共通プール管理テーブル261のポインタID毎に生成される。例えば、図6に示したページ分割管理情報265は、ポンインタID「0」に対応付けられている。
ページ分割管理テーブル265Aは、小サイズページの構成を管理するテーブルであって、図6に示すように、小サイズページID欄2650、ページ属性欄2651及び論理ページID欄2652から構成される。小サイズページID欄2650には、1つの大サイズページ内で、大サイズページを分割した小サイズページを識別する情報が格納される。ページ属性欄2651には、小サイズページにデータが格納されているかを示す情報が格納されている。例えば、小サイズページにデータが格納されていない場合には、ページ属性欄2651に「0」が格納され、小サイズページにデータが格納されている場合には、ページ属性欄2651に「1」が格納される。論理ページID欄2652には、小サイズページにデータが格納されている場合に、当該小サイズページに割り振られる論理的な識別情報が格納される。論理ページIDは、小サイズページに分割された複数の大サイズページにまたがって、データが格納されている小サイズページに対して付与される識別情報である。
また、属性カウンタテーブル265Bは、データが格納されている小サイズページのカウント値を管理するテーブルであって、図6に示すように、属性カウンタ欄2563から構成される。属性カウンタ欄2563には、データが格納されている小サイズページの合計数が格納され、具体的には、ページ分割管理テーブル265Aのページ属性欄2651に格納されている値の合計値が格納される。
次に、論理ページ管理テーブル266について説明する。論理ページ管理テーブル266は、スナップショット機能により利用される管理テーブルであって、スナップショット機能により生成されるクローンボリュームのデータの格納場所を管理するテーブルである。論理ページ管理テーブル266は、図7に示すように、論理ページID欄2660、大サイズページID欄2661、小サイズページID欄2662及び共有数カウンタ欄2663から構成される。
論理ページID欄2660は、ページ分割管理テーブル265Aの論理ページID欄2652と対応づけられており、データが格納されている小サイズページに割り振られる論理的な識別情報が格納される。大サイズページID欄2661には、論理ページIDに示されるページの属する大サイズページを識別する情報が格納される。小サイズページID欄2662には、論理ページIDに示されるページの属する小サイズページを識別する情報が格納される。共有数カウンタ欄2663には、論理ページIDに示されるページを共有しているクローンボリュームの数を示す情報が格納される。
例えば、共有数カウンタ欄2663に2以上の数が格納されている場合には、複数のクローンボリュームが、当該ページのデータを共有していることを表している。各クローンボリュームには、データの格納場所として、論理ページID2660の情報が対応付けられる。このように、各クローンボリュームのデータ格納場所として、直接、小サイズページID欄2662の情報を対応付けるのではなく、論理ページID2660の情報を対応付けている。これにより、データの退避が起こる等により複数ボリュームに共有されているデータの格納場所が変わった場合に、複数のクローンボリュームの管理情報を書き換える必要はなく、論理ページID2652の情報を書き換えればよいため、データの書き換え回数を減らすことが可能となる。
また、図7に示すように、論理ページID256に格納された論理ページIDがクローンボリュームの元となるプライマリボリュームのデータを示す場合には、大サイズページID欄2661及び小サイズページID欄2662にプライマリボリュームを示す「P」が格納され、共有数カウンタ欄2663に「null」が格納される。
次に、クローンボリューム用のボリューム管理テーブル267について説明する。ボリューム管理テーブル267は、スナップショット機能により生成されるクローンボリュームの構成情報を管理するテーブルであって、図8に示すように、ホストページNo欄2670及び論理ページID欄2671から構成される。また、ボリューム管理テーブル267は、1つのクローンボリューム毎に生成される。図8は、論理ボリューム番号(LUN)「0」のクローンボリュームのボリューム管理テーブル267を示す。
ホストページNo欄2670には、ホスト装置10において管理されるデータが格納されたページの識別情報が格納される。論理ページID欄2671には、クローンボリュームの論理ページIDが格納される。これにより、ホスト装置10が管理しているページ(ホストページ)が、クローンボリュームのいずれのページに対応するかという情報を管理することができる。
次に、シンプロビジョニングボリューム用のボリューム管理テーブル270について説明する。ボリューム管理テーブル270は、シンプロビジョニング機能により生成されるシンプロビジョニングボリュームの構成情報を管理するテーブルであって、図9に示すように、ホストページNo欄2700及び大サイズページID欄2701から構成される。また、ボリューム管理テーブル270は、1つのシンプロビジョニングボリューム毎に生成される。図9は、論理ボリューム番号(LUN)「1」のシンプロビジョニングボリュームのボリューム管理テーブル270を示す。
ホストページNo欄2700には、ホスト装置10において管理されるデータが格納されたページの識別情報が格納される。大サイズページ欄2701には、シンプロビジョニングボリュームに割り当てられた大サイズページのページIDが格納される。これにより、ホスト装置10が管理しているページ(ホストページ)が、シンプロビジョニングボリュームのいずれのページに対応するかという情報を管理することができる。
次に、プライマリボリューム管理情報268について説明する。プライマリボリューム管理情報268は、クローンボリュームの元となるプライマリボリュームの構成情報を管理するテーブルであって、退避領域ビットマップ2681と、プライマリボリューム管理テーブルとから構成される。また、プライマリボリューム管理情報268は、1つのプライマリボリューム毎に生成され、図10に示したプライマリボリューム管理情報268は、プライマリボリューム「0」に対応付けられている。
図10に示すように、プライマリボリューム管理情報268に含まれる退避領域ビットマップ2681は、プライマリボリュームの小サイズページに対して、スナップショット機能による「コピーオンライト(Copy on Write)」動作が既に発生しているかという情報を管理している。すなわち、プライマリボリュームの小サイズページに対して、「コピーオンライト」動作が発生し、図4に示すスナップショット差分データの格納領域253に元データが退避されているか否かを管理している。具体的に、退避領域ビットマップ2681には、各ホストページに対して、当該ページのデータがスナップショット差分データの格納領域253に退避されている場合には「1」が格納され、退避されていない場合には「0」が格納される。
ここで、スナップショット機能による「コピーオンライト」動作とは、クローンボリュームがプライマリボリュームと同じデータを共有している場合に、データのライト処理の前に共有しているデータを退避する動作である。具体的に、プライマリボリュームに新規のライト処理が発生し、クローンボリュームと共有しているデータが別のデータに書き換わる場合に、クローンボリュームの小サイズページID2662をスナップショット差分データの格納領域253に退避する。また、ある小サイズページID2662において、一度退避動作が発生した後は、プライマリボリュームはクローンボリュームとデータを共有していない。このため、一度退避動作が発生した後にデータの書き換えが行われた場合は、コピーオンライト動作は発生しない。
また、プライマリボリューム管理情報268に含まれるプライマリボリューム管理テーブル2682は、プライマリボリュームに対してスナップショット機能を利用して作成されたクローンボリュームの情報を管理するテーブルである。図10に示すように、プライマリボリューム管理テーブル2682は、作成時間欄2683、削除時間欄2684クローンボリュームLUN欄2685から構成される。
作成時間欄2683には、クローンボリュームが作成された日時が格納される。削除時間欄2684には、クローンが削除される予定の日時が格納される。また、クローンボリュームLUN欄2685には、クローンボリュームを識別する情報である論理ボリューム番号(LUN)が格納される。
上記したクローンボリュームは、クローンボリューム毎に、保管期間が異なる。例えば、プライマリボリュームのバックアップボリュームとして一定期間保管した後に削除せずに、長期間保存しておくクローンボリュームがある。また、プライマリボリュームのバックアップボリュームとして一定期間保管した後に削除するクローンボリュームもある。
次に、大サイズページ割り当て管理テーブル262について説明する。大サイズページ割り当て管理テーブル262は、共通プール201内の大サイズページの情報を管理するテーブルである。大サイズページ割り当て管理テーブル262は、図11に示すように、LUN欄2620及び大サイズページID欄2621から構成される。LUN欄2620には、スナップショット機能やシンプロビジョニング機能などの機能の種類に関わらず、共通プール201内に作成されたボリュームを識別する論理的な番号の情報が格納される。そして、大サイズページID欄2621には、各ボリュームが占有する大サイズページを識別する情報が格納される。なお、1つのボリュームが複数の大サイズページを占有している場合もあるが、占有している複数の大サイズページのうち、最も新しく割り当てられた大サイズページのIDが、大サイズページID欄2621に格納される。
次に、LUN管理テーブル263について説明する。LUN管理テーブル263は、共通プール201内の格納領域を利用する論理ボリュームを管理するテーブルであって、図12に示すように、HLUN欄2631、サイズ欄2632、クローンボリューム判定欄2633、プライマリボリューム判定欄2634及びプライマリボリュームLUN欄2635から構成される。
HLUN欄2631には、ホスト装置10により管理されている論理ボリュームの番号の情報が格納される。サイズ欄2632には、各論理ボリュームのサイズの情報が格納される。クローンボリューム判定欄2633には、各論理ボリュームがクローンボリュームかを判定する情報が格納される。例えば、論理ボリュームがクローンボリュームである場合には「1」が格納され、クローンボリュームではない場合には「0」が格納される。また、プライマリボリューム判定欄2634には、各論理ボリュームがプライマリボリュームかを判定する情報が格納される。例えば、論理ボリュームがプライマリボリュームである場合には「1」が格納され、プライマリボリュームではない場合には「0」が格納される。また、論理ボリュームがクローンボリュームでもプライマリボリュームでもない場合、すなわち、シンプロビジョニング機能により利用される論理ボリュームの場合には、クローンボリューム判定欄2633及びプライマリボリューム判定欄2634に「0」が格納される。プライマリボリュームLUN欄2635には、論理ボリュームがクローンボリュームである場合に、クローンボリュームに対応するプライマリボリュームのボリューム番号の情報が格納される。
次に、大サイズページフリー管理キュー264について説明する。大サイズページフリー管理キュー264は、1つの共通プール201に対して1セットのキューが用意される。大サイズページフリー管理キュー264は、共通プール201の管理単位である大サイズページのうち、データが格納されていない空きページを管理している。図13に示すように、大サイズページフリー管理キュー264は、大サイズページの空きページのリストであって、共通プール201からスナップショット機能またはシンプロビジョニング機能に大サイズページが提供される際には、大サイズページフリー管理キュー264の先頭のキュー264bが提供される。
次に、小サイズページフリー管理キュー269について説明する。小サイズページフリー管理キュー269は、ページ分割管理情報265のポインタID1つに対して1セットのキューが用意される。すなわち、1つのクローンボリュームに対して1セットのキューが作成される。図14に示すように、小サイズページフリー管理キュー269は、小サイズページの空きページのリストであって、例えば、図6に示すポインタID「0」に対して、1セットの小サイズページフリー管理キュー269が作成される。
具体的に、ページ分割管理テーブル265Aのページ属性欄2651に「0」が格納されている小サイズページIDに対応する小サイズページが、小サイズページフリー管理キュー269にエントリされる。したがって、ページ属性欄2651にすべて「0」が格納され、属性カウンタテーブル265Bに「0」が格納されている場合には、ページ分割管理情報265のポインタID「0」に属する小サイズページのすべてが小サイズページフリー管理キュー269にエントリされたこととなる。これは、1つの大サイズページを分割した複数の小サイズページのすべてが空きページになったことを示す。このように、小サイズページのすべてが空きページになった場合に、小サイズページフリー管理キュー269は、削除される。したがって、小サイズページフリー管理キュー269は、小サイズページの空き状態に応じて動的に作成されたり削除されたりする。
なお、クローンボリュームが削除された場合には、クローンボリュームに割り当てられた大サイズページの大サイズページフリー管理キュー264はそのままスナップショット機能により利用され、小サイズページフリー管理キュー269は削除されていないクローンボリュームの小サイズページフリー管理キューに追加される。
次に、プライマリボリュームにデータの書き込み処理が発生した場合のデータ格納方法について説明する。図15に示すように、第1のクローンボリューム252a(以下、クローンボリューム「0」として説明する。)はプライマリボリューム251a(以下プライマリボリューム「0」として説明する。)のバックアップであり、ステータスは、コピーされた状態のイメージを固定する「Split」となっている。また、第2のクローンボリューム252b(以下、クローンボリューム「1」として説明する)は、ステータス「Pair」となっており、プライマリボリューム「0」と同期している状態となっている。また、プライマリボリューム「0」のデータは共通プール201の第1の大サイズページ(以下、大サイズページ「2」として説明する。)に格納されている。
例えば、プライマリボリューム「0」の小サイズページのID「c」のデータに、小サイズページのID「e」のデータが書き込まれるとする。プライマリボリューム「0」の小サイズページID「c」のデータに小サイズページID「e」のデータが上書きされると、小サイズページID「c」のデータを共有しているクローンボリューム「0」のデータも書き換わってしまう。そこで、小サイズページID「c」のデータを残すために、新たに第2の大サイズページ261(以下、大サイズページ「0」として説明する。)をクローンボリューム「0」に割り当てて、退避データとして小サイズページID「c」のデータを大サイズページ「0」に格納する。その後、大サイズページ「2」に格納されているプライマリボリューム「0」の小サイズページID「c」のデータを上書きする。これにより、バックアップデータとして生成されたクローンボリューム「0」のデータを保持したまま、プライマリボリューム「0」に新たなデータを書き込みすることができる。
次に、図15に示したデータ書き込みの後に、さらに、プライマリボリューム「0」にデータの書き込み処理が発生した場合のデータ格納方法について説明する。図16では、クローンボリューム「0」とクローンボリューム「1」とは、それぞれ異なる時間帯にプライマリボリューム「0」のバックアップが取られた状態であり、いずれもステータスは、コピーされた状態のイメージを固定する「Split」となっている。また、クローンボリューム「1」とプライマリボリューム「0」とは同じデータが格納されている状態である。
例えば、プライマリボリューム「0」の小サイズページID「a」のデータに、小サイズページのID「f」のデータが書き込まれるとする。プライマリボリューム「0」の小サイズページID「a」のデータに小サイズページID「f」のデータが上書きされると、小サイズページID「a」のデータを共有しているクローンボリューム「0」とクローンボリューム「1」の両方のデータも書き換わってしまう。そこで、小サイズページID「a」のデータを残すために、共有しているクローンボリュームのうち、削除時間が最も遅いクローンボリュームに割り当てる大サイズページに、「a」のデータを格納する。例えば、図16において、クローンボリューム「0」よりもクローンボリューム「1」のほうが、削除時間が遅いとする。この場合、クローンボリューム「1」に割り当ててある大サイズページに「a」を格納する。ただし、クローンボリューム「1」に大サイズページが割り当てられていない場合、新たに第3の大サイズページ264(以下、大サイズページ「1」)として説明する。)をクローンボリューム「1」に割り当てる。
その後、大サイズページ「2」に格納されているプライマリボリューム「0」の小サイズページID「a」のデータを上書きする。これにより、クローンボリューム「0」とクローンボリューム「1」とに共有されている小サイズページID「a」のデータが、新たに割り当てられた大サイズページ「1」に格納されることとなる。
ここで、スナップショット機能により生成されたクローンボリュームの削除処理について説明する。一般的に、スナップショット機能のユースケースとしては、生成時期の古いクローンボリュームから削除される。ただし、クローンボリュームにより、保管期間が異なる場合がある。例えば、図16に示すクローンボリュームのうち、先に生成されたクローンボリューム「0」が削除されるとする。クローンボリューム「0」が削除される際に、小サイズページに退避されたデータも不要なため削除される。ここで、小サイズページに退避した小サイズページID「a」のデータを、小サイズページID「c」のデータを退避した大サイズページ「0」に格納したとする。この場合、小サイズページID「c」のデータは削除することができるが、クローンボリューム「1」と共有している小サイズページID「a」のデータは削除することができないこととなる。結果として、大サイズページ「0」を解放することができず、共通プール201内でデータの断片化が起こってしまう。よって、削除単位となるクローンボリューム毎に大サイズページを割り当て、クローンボリューム間の共有ページは、共有するクローンボリュームのうち最後に削除されるものの大サイズページに格納することにより、クローンボリュームを削除する際に共通プール201内の断片化を防ぐことが可能となる。
次に、クローンボリュームにデータの書き込み処理が発生した場合のデータ格納方法について説明する。図15又は図16と同様に、削除単位であるクローンボリューム毎に大サイズページが割り当てられる。各クローンボリュームにデータのライト処理が発生した場合、クローンボリューム毎に割り当てられた大サイズページにライトされたデータを格納する。
図17に示すように、クローンボリューム「0」には大サイズページ「0」が割り当てられ、クローンボリューム「1」には大サイズページ「1」が割り当てられ、クローンボリューム「2」には大サイズページ「2」が割り当てられていたとする。各クローンボリュームにデータのライト処理が発生すると、ライトされたデータが割り当てられた大サイズページにそれぞれ格納される。したがって、例えば、クローンボリューム「0」に割り当てられている大サイズページ「0」には、クローンボリューム「0」に関連するデータのみが格納されることとなる。これにより、大サイズページ「0」には、クローンボリューム「0」以外のクローンボリュームと共有するデータは格納されていないため、クローンボリューム「0」が削除された場合には、クローンボリューム「0」に対応付けられた大サイズページ「0」も削除することが可能となる。
(1−4)ストレージ装置の動作の詳細
次に、ストレージ装置20の動作の詳細について説明する。以下では、ストレージ装置20のストレージ制御プログラム26によって実行されるボリューム管理処理について説明する。以下では、各種処理の処理主体をプログラムまたは、プログラムを構成する各部として説明するが、実際は、そのプログラム等に基づいてMPU22がその処理を実行することは言うまでもない。
まず、ホスト装置10からボリュームに対してリード処理が発生した場合の処理の処理手順について説明する。図18に示すように、まず、ストレージ制御プログラム26は、LUN管理テーブル263を参照して、リード処理の対象となるボリュームがクローンボリュームか否かを判定する(S101)。具体的に、ストレージ制御プログラム26は、LUN管理テーブル263のクローンボリューム判定欄2633を参照して、リード処理の対象となるボリューム(HLUN)に対応するクローンボリューム判定欄2633に格納されている値をもとにクローンボリュームか否かを判定する。すなわち、クローンボリューム判定欄2633に「1」が格納されている場合にはクローンボリュームであると判定され、クローンボリューム判定欄2633に「0」が格納されている場合にはクローンボリュームでないと判定される。
ステップS101において、リード処理の対象となるボリュームがクローンボリュームであると判定された場合には、ストレージ制御プログラム26は、論理ページ管理テーブル266を参照して、リード処理の対象となる論理ページIDに対応する小サイズページIDと大サイズページIDを取得する(S102)。一方、ステップS101において、リード処理の対象となるボリュームがクローンボリュームではないと判定された場合には、ストレージ制御プログラム26は、シンプロビジョニングボリューム用のボリューム管理テーブル270を参照して、リード処理の対象となるホストページNoに対応する大サイズページIDを取得する(S103)。そして、ストレージ制御プログラム26は、ステップS102またはステップS103において取得したページに格納されているデータをリードし(S104)、その後ボリュームリード処理を終了する。
続いて、ホスト装置10からボリュームに対してライト処理が発生した場合の処理の処理手順について説明する。図19に示すように、まず、ストレージ制御プログラム26は、LUN管理テーブル263を参照して、ライト処理の対象となるボリュームがクローンボリュームか否かを判定する(S111)。
ステップS111において、ライト処理の対象となるボリュームがクローンボリュームであると判定された場合には、ストレージ制御プログラム26は、論理ページ管理テーブル266を参照して、ライト処理の対象となる論理ページIDに対応する共有数カウンタが「1」か否かを判定する(S112)。
ステップS112において、共有数カウンタが「1」であると判定された場合には、ステップS124の処理を実行する。一方、ステップS112において、共有数カウンタが「1」ではないと判定された場合には、ストレージ制御プログラム26は、論理ページ管理テーブル226の共有数カウンタを「1」減算する(S113)。そして、ストレージ制御プログラム26は、小サイズページを確保する(S114)。具体的に、ストレージ制御プログラム26は、該当するクローンボリュームに割り当てられている大サイズページに含まれる小サイズページの空きページをデータの格納領域として割り当てる。ステップS114における小サイズページ割り当て処理については後で詳細に説明する。
そして、ストレージ制御プログラム26は、該当するクローンボリュームのページ分割管理情報265を更新する(S115)。具体的に、ストレージ制御プログラム26は、ステップS114において割り当てた小サイズページに対応するページ属性欄2651に「1」を格納し、対応する論理ページIDを論理ページID欄2652に格納する。そして、ストレージ制御プログラム26は、属性カウンタ欄2653の値を「1」加算する。
一方、ステップS111において、ライト処理の対象となるボリュームがクローンボリュームでないと判定された場合には、ストレージ制御プログラム26は、LUN管理テーブル263のプライマリボリューム判定欄2634を参照して、ライト処理の対象となる大サイズページがプライマリボリュームか否かを判定する(S116)。そして、ストレージ制御プログラム26は、LUN管理テーブル該当するプライマリボリュームのプライマリボリューム管理情報268に含まれる退避領域ビットマップ2681を参照してライト先の小サイズページのビットが「On」であるか「Off」であるかを判定する(S117)。ここで、小サイズページのビットが「On」である場合とは、データが既に退避されている状態を示す。一方、小サイズページのビットが「Off」である場合とは、データが退避されていない状態である。
そして、ステップS117において、ビットマップが「On」であり、データが既に退避されていると判定された場合には、ストレージ制御プログラム26は、ステップS123の処理を実行する。一方、ステップS117において、ビットマップが「Off」でありデータが退避されていないと判定された場合には、ストレージ制御プログラム26は、データが退避されているデータ格納先クローンボリュームを選択する(S118)。ステップ118におけるデータ格納先クローンボリュームの選択処理については後で詳細に説明する。
続いて、ストレージ制御プログラム26は、ステップS118において選択したクローンボリュームに小サイズページを確保する(S119)。具体的に、ストレージ制御プログラム26は、選択したクローンボリュームに対応付けられた大サイズページに含まれる小サイズページを割り当てる。ステップS119における小サイズページ割り当て処理については後で詳細に説明する。
次に、ストレージ制御プログラム26は、ステップS119において確保した小サイズページに関する情報を更新する(S120)。具体的に、ストレージ制御プログラム26は、論理ページ管理テーブル266の論理ページIDに対応する小サイズページIDと、小サイズページIDが属する大サイズページIDと共有数カウンタを更新する。そして、ストレージ制御プログラム26は、退避するデータを共有しているクローンボリュームのページ分割管理情報265を更新する(S121)。そして、ストレージ制御プログラム26は、ステップS119において確保した小サイズページに旧データを退避する(S122)。
続いて、ストレージ制御プログラム26は、データのライト処理の対象となるシンプロビジョニングボリュームに対してデータライトの準備処理を実行する(S123)。ステップS123におけるデータライトの準備処理については後で詳細に説明する。
そして、ストレージ制御プログラム26は、データのライト処理を実行する(S124)。そして、ストレージ制御プログラム26は、ステップS124においてデータのライト処理を実行した後に、当該ボリュームに対するライトデータが残っているか確認する(S125)。
ステップS125において、ライトデータが残っていると判定された場合には、ストレージ制御プログラム26は、ステップS111以降の処理を繰り返す。一方、ステップS125において、ライトデータが残っていないと判定された場合には、ボリュームのライト処理を終了する。
次に、図19に示すステップS118のデータ格納先クローンボリュームの選択処理の処理手順について説明する。図20に示すように、
プライマリボリューム管理テーブル2682の削除時間欄2684を参照して、共有している保管対象クローンボリュームのうち、削除時間が最も遅いクローンボリュームを選択し(S133)、その後、データ格納先クローンボリュームの選択処理を終了する。
次に、図19に示すステップS114及びステップS119における小サイズページ割り当て処理について説明する。図21に示すように、まず、ストレージ制御プログラム26は、大サイズページ割り当て管理テーブル262を参照して、図19のステップS118において選択されたクローンボリュームのLUNに対応する大サイズページID欄2621に大サイズページIDが格納されているか否かを判定する(S141)。
ステップS141において、大サイズページIDがあると判定された場合には、ストレージ制御プログラム26は、ステップS145の処理を実行する。一方、ステップS141において、大サイズページIDがないと判定された場合には、ストレージ制御プログラム26は、大サイズページフリー管理キューの先頭エントリの大サイズページIDを取得する(S142)。そして、ストレージ制御プログラム26は、共通プール管理テーブル261の該当する大サイズページIDに対応するページ属性とページ分割管理情報265へのポインタIDを更新する(S143)。
そして、ストレージ制御プログラム26は、ステップS143において設定したポインタIDに対応するページ分割管理情報265と小サイズページフリー管理キュー269を新規に作成する(S144)。そして、ストレージ制御プログラム26は、該当する大サイズページIDの小サイズページフリー管理キューの先頭エントリを取得する(S145)。
次に、図19のステップS123におけるデータのライト処理の対象となるシンプロビジョニングボリュームに対するデータライトの準備処理について説明する。図22に示すように、ストレージ制御プログラム26は、大サイズページ割り当て管理テーブル262を参照して、図19のステップS118において選択されたクローンボリュームのLUNに対応する大サイズページID欄2621に大サイズページIDが格納されているか否かを判定する(S151)。
ステップS151において、大サイズページIDがあると判定された場合には、処理を終了する。一方、ステップS151において、大サイズページIDがないと判定された場合には、ストレージ制御プログラム26は、大サイズページフリー管理キューの先頭エントリの大サイズページIDを取得する(S152)。そして、ストレージ制御プログラム26は、共通プール管理テーブル261の該当する大サイズページIDに対応するページ属性とページ分割管理情報265へのポインタIDを更新し(S153)、その後、シンプロビジョニングボリュームに対するデータライトの準備処理を終了する。
次に、ボリュームの削除処理について説明する。図23に示すように、まず、ストレージ制御プログラム26は、LUN管理テーブル263を参照して、削除対象として指定されたボリューム(HLUN欄2631に格納されている論理ボリューム番号)がプライマリボリュームかを判定する(S201)。
ステップS201において、削除対象として指定されたボリュームがプライマリボリュームでないと判定された場合には、ストレージ制御プログラム26は、LUN管理テーブル263を参照して、当該ボリュームがクローンボリュームか否かを判定する(S202)。一方、ステップS201において、削除対象として指定されたボリュームがプライマリボリュームであると判定された場合には、ストレージ制御プログラム26は、削除不可(S207)であるとして、処理を終了する。ステップS207において、プライマリボリュームである場合に、当該ボリュームを削除不可あるとするかは、スナップショット機能のポリシーに応じて削除するか否かを判断してもよい。
そして、ステップS202において、当該ボリュームがクローンボリュームであると判定された場合には、ストレージ制御プログラム26は、削除対象のクローンボリュームのボリューム管理テーブル267に何らかの情報が格納されているか否かを判定する(S203)。一方、ステップS202において、当該ボリュームがクローンボリュームでないと判定された場合には、使用済み大サイズページを削除する処理を実行する(208)。ステップS208における使用済み大サイズページの削除処理については後で詳細に説明する。
そして、ステップS203において、削除対象のクローンボリュームのボリューム管理テーブル267に何らかの情報が格納されていると判定された場合には、ストレージ制御プログラム26は、ボリューム管理テーブル267の論理ページID欄1671に格納されている論理ページIDを、論理ページ管理テーブル266から探索して、論理ページIDに対応する共有数カウンタを「1」減算する(S204)。そして、ストレージ制御プログラム26は、ステップS204において、共有数カウンタを「1」減算した結果、当該共有数カウンタが「0」となっているかを判定する(S205)。一方、ステップS203において、削除対象のクローンボリュームのボリューム管理テーブル267に何も情報が格納されていないと判定された場合には、ステップS209の処理を実行する。
そして、ステップS205において、共有数カウンタが「0」となっていると判定された場合には、使用済み大サイズページ・小サイズページを削除する処理を実行する(S206)。ステップS206における使用済み大サイズページ・小サイズページの削除処理については後で詳細に説明する。その後、ストレージ制御プログラム26は、削除対象として指定されたボリュームのボリューム管理テーブルを削除して(S209)、ボリュームの削除処理を終了する。具体的に、ストレージ制御プログラム26は、削除対象として指定されたボリュームがクローンボリュームの場合には、クローンボリューム用のボリューム管理テーブル267を削除し、削除対象として指定されたボリュームがシンプロビジョニングボリュームの場合には、シンプロビジョニング用のボリューム管理テーブル270を削除する。
次に、図23のステップS206における使用済み大・小サイズページの削除処理について説明する。図24に示すように、まず、ストレージ制御プログラム26は、論理ページ管理テーブル266において共有数が「0」となった論理ページIDを削除する(S210)。そして、ステップS210において論理ページIDを削除した大サイズページIDと小サイズページIDを取得する(S211)。そして、ストレージ制御プログラム26は、共通プール管理テーブル261を参照して、ステップS211において取得した大サイズページIDに対応するページ分割管理情報265へのポインタIDを取得する(S212)。
そして、ストレージ制御プログラム26は、ステップS212において取得したポインタIDに対応するページ分割管理情報265に含まれるページ分割管理テーブル265Aを参照して、ステップS211において取得した小サイズページIDに対応するページ属性欄2651に「0」を格納し、論理ページID欄2652に「null」を格納し、さらに、当該小サイズページを小サイズページフリー管理キュー269に追加する(S213)。そして、ストレージ制御プログラム26は、ページ分割管理情報265の属性カウンタテーブル265Bの属性カウンタを更新する(S214)。具体的に、ストレージ制御プログラム26は、ステップS213において、ページ分割管理テーブル265Aにおいて更新した小サイズページのページ数を属性カウンタから減算する。
そして、ストレージ制御プログラム26は、ステップS214において更新した後の属性カウンタテーブル265Bに格納されている属性カウンタが「0」かを判定する(S215)。ステップS215において、属性カウンタが「0」であると判定された場合には、ストレージ制御プログラム26は、当該ページ分割管理情報265に対応する小サイズページフリー管理キュー269のメモリを解放する(S216)。そして、ページ分割管理情報265のポインタを解放する(S217)。さらに、ストレージ制御プログラム26は、ステップS211において取得した大サイズページIDを大サイズページフリー管理キュー264のエントリに追加する(S218)。そして、ストレージ制御プログラム26は、共通プール管理テーブル261を更新して(S219)、使用済み大・小サイズページの削除処理を終了する。具体的に、ストレージ制御プログラム26は、共通プール管理テーブル261の削除対象である大サイズページIDに対応するページ属性欄2611に「0」を格納し、ポインタID欄2612に「null」を格納する。
また、ステップS215において、属性カウンタが「0」ではないと判定された場合には、大サイズページを解放することができないため、使用済み大・小サイズページの削除処理を終了する。
次に、図23のステップS208におけるシンプロビジョニングボリューム用の使用済み大サイズページ削除処理について説明する。図25に示すように、まず、ストレージ制御プログラム26は、削除対象であるボリュームの管理情報が削除済みかを判断するため、シンプロビジョニング用のボリューム管理テーブル270に該当するホストページ番号(Host LBA)がボリューム管理テーブル267に格納されているかを判定する(S220)。ステップS220において、該当するホストページ番号がボリューム管理テーブル267に格納されていると判定された場合には、当該ボリュームの大サイズページIDを大サイズページフリー管理キュー264のエントリに追加する(S221)。
そして、ストレージ制御プログラム26は、共通プール管理テーブル261の削除対象である大サイズページIDを探索し、当該大サイズページIDに対応するページ属性欄2611に「0」を格納し、ポインタID欄2612に「null」を格納して、共通プール管理テーブル261を更新する(S222)。続いて、ストレージ制御プログラム26は、シンプロビジョニングボリューム用のボリューム管理テーブル270から、削除対象であるボリュームのホストページ番号(Host LBA)と大サイズページIDとを削除する(S223)。
そして、ストレージ制御プログラム26は、ステップS220に戻り、該当するホストページ番号がボリューム管理テーブル267に格納されていないと判定された場合には、使用済み大サイズページ削除処理を終了する。
(1−5)本実施の形態の効果
以上のように、本実施の形態による計算機システム1では、ストレージ装置10の共通プール201を本発明の第1のページに相当する大サイズページに分割し、さらに、大サイズページを本発明の第2のページに相当する小サイズページに分割して管理し、本発明の第1のボリュームに相当するシンプロビジョニングボリュームを大サイズページで管理し、本発明の第2のボリュームに相当するクローンボリュームを小サイズページで管理する。そして、ホスト装置10からデータの書き込みがあった場合に、シンプロビジョニングボリュームのデータ格納領域には大サイズページを割り当てる。また、スナップショット機能によりボリュームコピーが行われた場合には、コピー先のボリュームに大サイズページを割り当てて、さらに、コピー元のデータとコピー先のデータとの差分データを、当該大サイズページを分割した小サイズページに格納する。これにより、単一のプール内で異なるページサイズの記憶領域を管理することが可能となり、同一プール内で空き容量を効率よく使用することができる。また、削除対象となるボリューム毎に大サイズページが割り当てられるため、ボリュームが削除される際にプール内の断片化を防止することが可能となる。
(2)第2の実施の形態
第2の実施の形態にかかる計算機システム2は、計算機システムのハードウェア構成及び各装置のハードウェア構成は第1の実施の形態にかかる計算機システム1と同様に構成されている。以下では、第1の実施の形態と異なる点について特に詳細に説明する。
本実施の形態では、大サイズページを複数のボリュームが共有する点で第1の実施の形態と異なっている。本実施の形態では、図26に示すように、例えば、クローンボリューム「0」、クローンボリューム「1」、クローンボリューム「2」に対して、3つのクローンボリュームに共有される大サイズページ「1」が割り振られている。具体的に、複数のクローンボリュームに対して共通の大サイズページが割り振られる場合には、図11に示す大サイズページ割り当て管理テーブル262において、複数のLUNに対して同一の大サイズページIDが設定されることとなる。
このように、複数のクローンボリュームに共有される大サイズページを割り振ることにより、容量効率を向上させることが可能となる。特に、同時に削除するボリュームが複数存在する場合には、共通プール201内のデータの断片化を防止しつつ、容量効率を向上させることが可能となる。
(3)第3の実施の形態
第3の実施の形態にかかる計算機システム3は、計算機システムのハードウェア構成及び各装置のハードウェア構成は第1の実施の形態にかかる計算機システム1と同様に構成されている。以下では、第1の実施の形態と異なる点について特に詳細に説明する。
本実施の形態では、複数ボリュームにおいて、各ボリュームに割り当てられている大サイズページをRAIDグループ間で分散させる点で第1の実施の形態と異なっている。本実施形態では、図27に示すように、例えば、クローンボリューム「0」について、差分データの格納場所としてRAIDグループ「0」とRAIDグループ「1」を利用することができるとする。この場合、クローンボリューム「0」に新規に大サイズページを割り当てる際には、大サイズページID「3」の大サイズページと大サイズページID「4」の大サイズページを同時に割り当てる。具体的に、1つのクローンボリュームに対して複数の大サイズページが割り振られる場合には、図11に示す大サイズページ割り当て管理テーブル262において、1つのLUNに対して複数の大サイズページIDが設定されることとなる。また、小サイズページIDを選択する場合は、複数の大サイズページIDから交互に選択する。
このように、1つのボリュームに複数の大サイズページを割り当てることにより、1つのRAIDグループに1つのボリュームのデータが集中的に格納されることを避けることができる。これにより、ボリューム管理における性能向上を実現させることが可能となる。
(4)第4の実施の形態
第4の実施の形態にかかる計算機システム4は、計算機システムのハードウェア構成及び各装置のハードウェア構成は第1の実施の形態にかかる計算機システム1と同様に構成されている。以下では、第1の実施の形態と異なる点について特に詳細に説明する。
本実施の形態では、共通プール201の容量が枯渇した場合に以下の処理を実行する。図28に示すように、まず、ストレージ制御プログラム26は、共通プール201の容量が枯渇したことをユーザに知らせるために、ストレージ管理ツール上でアラートを出力する(S301)。そして、ストレージ制御プログラム26は、共通プール201の容量枯渇に対するユーザ指示の入力を受け付ける(S302)。
そして、ストレージ制御プログラム26は、ステップS302において入力されたユーザ指示が、ディスク追加の指示か、クローンボリュームの削除指示かを判定する(S303)。ステップS303において、ユーザ指示がディスク追加の指示であると判定された場合には、ユーザの操作等により、ディスクが追加される(S304)。一方、ステップS303において、クローンボリュームの削除指示であると判定された場合には、ストレージ制御プログラム26は、削除対象となるクローンボリュームをユーザ入力に応じて選択する(S305)。ステップS305において、ストレージ制御プログラム26が、所定のポリシーに基づいて削除対象となるクローンボリュームを選択するようにしてもよい。そして、ストレージ制御プログラム26は、ステップS305において選択したクローンボリュームを削除する(S306)。
最後に、ストレージ制御プログラム26は、共通プール201の容量枯渇が解消されたかを判定する(S307)。ステップS307において、共通プール201の容量枯渇が解消されていないと判定された場合には、ストレージ制御プログラム26は、ステップS301以降の処理を繰り返す。一方、ステップS307において、共通プール201の容量枯渇が解消されたと判定された場合には処理を終了する。
上記した共通プール201の容量枯渇対応処理を実行することにより、共通プール201の容量が枯渇した場合に、ユーザに何らかの警告を通知して、ユーザの指示に応じてディスクを追加したり、クローンボリュームを削除したりすることにより、共通プール201の容量が枯渇した場合に適切な処理を行うことが可能となる。
(5)他の実施の形態
上述の実施形態においては、ストレージ装置20に格納されている各種プログラムに基づいて、ストレージ装置20のMPU22が本発明の各種機能を実現しているが、かかる例に限定されない。例えば、MPU22をストレージ装置20とは別体の他の装置に設けて、当該MPUと協同して各種機能を実現するようにしてもよい。また、ストレージ装置20に格納されている各種プログラムをストレージ装置20とは別体の他の装置に設けて、当該プログラムがMPU22に呼び出されることにより各種機能を実現するようにしてもよい。
また、例えば、本明細書のストレージ装置20等の処理における各ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はない。すなわち、ストレージ装置20等の処理における各ステップは、異なる処理であっても並列的に実行されてもよい。
また、ストレージ装置20等に内蔵されるCPU、ROM及びRAMなどのハードウェアを、上述したストレージ装置20等の各構成と同等の機能を発揮させるためのコンピュータプログラムも作成可能である。また、該コンピュータプログラムを記憶させた記憶媒体も提供される。
本発明は、シンプロビジョニング機能及びスナップショット機能を利用するストレージ装置に適用することができる。
1 計算機システム
10 ホスト装置
20 ストレージ装置
21 ストレージコントローラ
23 メモリ
24 構成情報
25 キャッシュ領域
26 ストレージ制御プログラム
27 管理端末インタフェース部
28 ホストインタフェース部
29 ドライブインタフェース部
30 管理端末
40 ネットワーク

Claims (18)

  1. 少なくとも1つの記憶装置と、
    制御装置と、
    を備え、
    前記制御装置は、
    少なくとも1つの前記記憶装置の記憶領域で構成され、複数のボリュームを提供するプールを管理し、
    前記プールから前記複数のボリュームのうちの1つのボリュームに大サイズページのサイズで第1の大サイズページを割当てて、前記割り当てられた第1の大サイズページに前記大サイズページ単位で第1のデータを格納し、
    前記プールから前記複数のボリュームのうちの1つのボリュームに大サイズページのサイズで第2の大サイズページを割当てて、前記割り当てられた第2の大サイズページに含まれる小サイズページに第2のデータを格納し、
    前記小サイズページは前記第2の大サイズページを前記小サイズ単位に分割して管理されるものである
    ことを特徴とする、ストレージ装置。
  2. 前記制御装置は、
    前記複数のボリュームのうちの1つの第1のボリュームのスナップショットを取得し、
    前記第1の大サイズページに、前記第1のボリュームに書き込まれたデータを格納し、
    前記小サイズページに、前記第1のボリュームと前記第1のボリュームの前記スナップショットのボリュームとの差分データを格納する
    ことを特徴とする、請求項1に記載のストレージ装置。
  3. 前記第2の大サイズページは複数の前記小サイズページを含み、前記複数の小サイズページの1つには前記複数のボリュームのうち一のボリュームのデータが格納され、前記複数の小サイズページの1つには前記複数のボリュームのうち他のボリュームのデータが格納される
    ことを特徴とする、請求項1に記載のストレージ装置。
  4. 少なくとも1つの記憶装置と、
    制御装置と、
    を備え、
    前記制御装置は、
    少なくとも1つの前記記憶装置の記憶領域で構成され、第1のボリュームと複数の第2のボリュームを提供するプールを管理し、
    第1の大サイズページを前記第1のボリュームを提供する前記プールから割り当てて、前記割り当てられた第1の大サイズページに前記大サイズページ単位で前記第1のボリュームに書き込まれたデータを格納し、
    第2の大サイズページを前記複数の第2のボリュームを提供する前記プールから割り当てて、前記第2の大サイズページに含まれる小サイズページに前記第2のボリュームのうち1つのボリュームのデータを格納し、
    前記小サイズページは前記大サイズページを前記小サイズ単位に分割して管理されるものである
    ことを特徴とする、ストレージ装置。
  5. 前記複数の第2のボリュームは、前記第1のボリュームのスナップショットボリュームである
    ことを特徴とする、請求項4に記載のストレージ装置。
  6. 前記第2の大サイズページは複数の前記小サイズページを含み、前記複数の小サイズページの1つには前記複数の第2のボリュームのうちの第1の第2のボリュームのデータが格納され、他の前記複数の小サイズページの1つには複数の第2のボリュームのうちの第2の第2のボリュームのデータが格納される
    ことを特徴とする、請求項5に記載のストレージ装置。
  7. 前記制御装置は、
    前記第1のボリュームへの書き込みアクセスに応じて前記第1のボリュームに前記第1の大サイズページを割り当てて、前記第1のボリュームに提供する前記第1の大サイズページを管理する、
    ことを特徴とする、請求項4に記載のストレージ装置。
  8. 前記制御装置は、
    スナップショットボリュームの取得要求に応じて、前記第1のボリュームのスナップショットボリュームとして前記第2のボリュームの一つを提供する
    ことを特徴とする、請求項4に記載のストレージ装置。
  9. 前記制御装置は、
    前記第1の大サイズページを割り当てられた前記第1のボリュームの記憶領域への書き込み要求に応じて、前記第2の大サイズページ単位で割り当てられた前記第2のボリュームのうちの1つのボリュームに前記第1の大サイズページに格納されているデータをコピーし、
    前記第2のボリュームに提供される前記第2の大サイズページに含まれる前記小サイズページに前記コピーされたデータを格納する
    ことを特徴とする、請求項4に記載のストレージ装置。
  10. 少なくとも1つの記憶装置と、制御装置と、前記制御装置に管理され、少なくとも1つの前記記憶装置の記憶領域で構成され、複数のボリュームを提供するプールと、を備えたストレージ装置におけるボリューム管理方法であって、
    前記制御装置が、前記プールから前記複数のボリュームのうちの1つのボリュームに大サイズページのサイズで第1の大サイズページを割当てて、前記割り当てられた第1の大サイズページに前記大サイズページ単位で第1のデータを格納するステップと、
    前記制御装置が、前記プールから前記複数のボリュームのうちの1つのボリュームに大サイズページのサイズで第2の大サイズページを割当てて、前記割り当てられた第2の大サイズページに含まれる小サイズページに第2のデータを格納するステップと、
    を含み、
    前記小サイズページは、前記第2の大サイズページを前記小サイズ単位に分割して前記制御装置に管理される、
    ことを特徴とする、ボリューム管理方法。
  11. 前記制御装置が、前記複数のボリュームのうちの1つの第1のボリュームのスナップショットを取得するステップと、
    前記制御装置が、前記第1の大サイズページに、前記第1のボリュームに書き込まれたデータを格納するステップと、
    前記制御装置が、前記小サイズページに、前記第1のボリュームと前記第1のボリュームの前記スナップショットボリュームとの差分データを格納するステップと、
    を含むことを特徴とする、請求項10に記載のボリューム管理方法。
  12. 前記第2の大サイズページは複数の前記小サイズページを含み、前記複数の小サイズページの1つには前記複数のボリュームのうち一のボリュームのデータが格納され、前記複数の小サイズページの1つには前記複数のボリュームのうち他のボリュームのデータが格納される
    ことを特徴とする、請求項10に記載のボリューム管理方法。
  13. 少なくとも1つの記憶装置と、制御装置と、前記制御装置に管理され、少なくとも1つの前記記憶装置の記憶領域で構成され、第1のボリュームと複数の第2のボリュームを提供するプールと、を備えたストレージ装置におけるボリューム管理方法であって、
    前記制御装置が、第1の大サイズページを前記第1のボリュームを提供する前記プールから割り当てて、前記割り当てられた第1の大サイズページに前記大サイズページ単位で前記第1のボリュームに書き込まれたデータを格納するステップと、
    前記制御装置が、第2の大サイズページを前記複数の第2のボリュームを提供する前記プールから割り当てて、前記第2の大サイズページに含まれる小サイズページに前記第2のボリュームのうち1つのボリュームのデータを格納するステップと、
    を含み、
    前記小サイズページは、前記第2の大サイズページを前記小サイズ単位に分割して前記制御装置に管理される
    ことを特徴とする、ボリューム管理方法。
  14. 前記複数の第2のボリュームは、前記第1のボリュームのスナップショットボリュームである
    ことを特徴とする、請求項13に記載のボリューム管理方法。
  15. 前記第2の大サイズページは複数の前記小サイズページを含み、前記複数の小サイズページの1つには前記複数の第2のボリュームのうちの第1の第2のボリュームのデータが格納され、他の前記複数の小サイズページの1つには複数の第2のボリュームのうちの第2の第2のボリュームのデータが格納される
    ことを特徴とする、請求項14に記載のボリューム管理方法。
  16. 前記制御装置が、前記第1のボリュームへの書き込みアクセスに応じて前記第1のボリュームに前記第1の大サイズページを割り当てて、前記第1のボリュームに提供する前記第1の大サイズページを管理するステップを、
    含むことを特徴とする、請求項13に記載のボリューム管理方法。
  17. 前記制御装置が、スナップショットボリュームの取得要求に応じて、前記第1のボリュームのスナップショットボリュームとして前記第2のボリュームの一つを提供するステップを
    含むことを特徴とする、請求項13に記載のボリューム管理方法。
  18. 前記制御装置が、前記第1の大サイズページを割り当てられた前記第1のボリュームの記憶領域への書き込み要求に応じて、前記第2の大サイズページ単位で割り当てられた前記第2のボリュームのうちの1つのボリュームに前記第1の大サイズページに格納されているデータをコピーするステップと、
    前記制御装置が、前記第2のボリュームに提供される前記第2の大サイズページに含まれる前記小サイズページに前記コピーされたデータを格納するステップと、
    を含むことを特徴とする、請求項13に記載のボリューム管理方法。
JP2013529487A 2011-04-05 2011-04-05 ストレージ装置及びボリューム管理方法 Active JP5666710B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/002016 WO2012137249A1 (en) 2011-04-05 2011-04-05 Storage apparatus and volume management method

Publications (2)

Publication Number Publication Date
JP2014507692A JP2014507692A (ja) 2014-03-27
JP5666710B2 true JP5666710B2 (ja) 2015-02-12

Family

ID=44477676

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013529487A Active JP5666710B2 (ja) 2011-04-05 2011-04-05 ストレージ装置及びボリューム管理方法

Country Status (3)

Country Link
US (1) US8892847B2 (ja)
JP (1) JP5666710B2 (ja)
WO (1) WO2012137249A1 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9009437B1 (en) * 2011-06-20 2015-04-14 Emc Corporation Techniques for shared data storage provisioning with thin devices
KR20130081459A (ko) * 2012-01-09 2013-07-17 삼성전자주식회사 휴대단말기의 pre―load 어플리케이션 탑재를 위한 메모리 영역구분 장치
US20160048427A1 (en) * 2013-09-04 2016-02-18 DataGravity, Inc. Virtual subdirectory management
US9825884B2 (en) 2013-12-30 2017-11-21 Cavium, Inc. Protocol independent programmable switch (PIPS) software defined data center networks
US20150339069A1 (en) * 2014-05-22 2015-11-26 Kabushiki Kaisha Toshiba Memory system and method
WO2016113831A1 (ja) * 2015-01-13 2016-07-21 株式会社日立製作所 ストレージシステム、及び、記憶制御方法
JP6281511B2 (ja) * 2015-03-24 2018-02-21 日本電気株式会社 バックアップ制御装置、バックアップ制御方法、及び、プログラム
US10616144B2 (en) * 2015-03-30 2020-04-07 Cavium, Llc Packet processing system, method and device having reduced static power consumption
US10095413B2 (en) * 2016-01-28 2018-10-09 Toshiba Memory Corporation Memory system with address translation between a logical address and a physical address
US10394491B2 (en) * 2016-04-14 2019-08-27 International Business Machines Corporation Efficient asynchronous mirror copy of thin-provisioned volumes
US10235060B1 (en) * 2016-04-14 2019-03-19 EMC IP Holding Company, LLC Multilevel snapshot replication for hot and cold regions of a storage system
US10430121B2 (en) 2016-08-22 2019-10-01 International Business Machines Corporation Efficient asynchronous mirror copy of fully provisioned volumes to thin-provisioned volumes
JP6618941B2 (ja) * 2017-03-03 2019-12-11 株式会社東芝 管理装置、情報処理装置および管理方法
US10126971B1 (en) * 2017-06-21 2018-11-13 International Business Machines Corporation Enhanced application performance in multi-tier storage environments
KR102530583B1 (ko) * 2017-10-31 2023-05-09 삼성전자주식회사 저장 장치 및 메모리 시스템
JP7043952B2 (ja) * 2018-04-17 2022-03-30 富士通株式会社 ストレージ装置及びストレージ制御プログラム
US10877823B1 (en) 2019-12-10 2020-12-29 Cisco Technology, Inc. High performance in-memory communication infrastructure for asymmetric multiprocessing systems without an external hypervisor
US20220342655A1 (en) * 2021-04-22 2022-10-27 STMicroelectronics (Grand Ouest) SAS Microcontroller, computer program product, and method for adding an additional function to a computer program

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2011A (en) * 1841-03-18 Appabatxts for piling saws
US10015A (en) * 1853-09-13 Improvement in fences
WO2002065275A1 (en) * 2001-01-11 2002-08-22 Yottayotta, Inc. Storage virtualization system and methods
US6934822B2 (en) * 2002-08-06 2005-08-23 Emc Corporation Organization of multiple snapshot copies in a data storage system
US7613945B2 (en) * 2003-08-14 2009-11-03 Compellent Technologies Virtual disk drive system and method
US8549252B2 (en) * 2005-12-13 2013-10-01 Emc Corporation File based volumes and file systems
US7631155B1 (en) * 2007-06-30 2009-12-08 Emc Corporation Thin provisioning of a file system and an iSCSI LUN through a common mechanism
US8914567B2 (en) * 2008-09-15 2014-12-16 Vmware, Inc. Storage management system for virtual machines
JP4727705B2 (ja) * 2008-10-31 2011-07-20 株式会社日立製作所 階層型ストレージシステム
WO2010106574A1 (ja) 2009-03-18 2010-09-23 株式会社日立製作所 記憶制御装置及び仮想ボリュームの制御方法
WO2012004837A1 (en) * 2010-07-09 2012-01-12 Hitachi, Ltd. Storage apparatus and storage management method

Also Published As

Publication number Publication date
US20120260038A1 (en) 2012-10-11
US8892847B2 (en) 2014-11-18
JP2014507692A (ja) 2014-03-27
WO2012137249A1 (en) 2012-10-11

Similar Documents

Publication Publication Date Title
JP5666710B2 (ja) ストレージ装置及びボリューム管理方法
CN102209952B (zh) 存储系统和用于操作存储系统的方法
US20140359238A1 (en) Storage apparatus and volume management method
CN101799742B (zh) 用于在存储系统之间转移精简配置卷的方法和装置
JP5595530B2 (ja) データ移行システム及びデータ移行方法
JP4961319B2 (ja) 仮想ボリュームにおける仮想領域に動的に実領域を割り当てるストレージシステム
JP2008015768A (ja) 記憶システム並びにこれを用いたデータの管理方法
US7587553B2 (en) Storage controller, and logical volume formation method for the storage controller
CN103761053B (zh) 一种数据处理方法和装置
US10572184B2 (en) Garbage collection in data storage systems
US8650381B2 (en) Storage system using real data storage area dynamic allocation method
JP2004127300A (ja) コンピュータシステム、仮想記憶システム、および仮想記憶システム動作方法
EP2450784A2 (en) Latency reduction associated with a response to a request in a storage system
JP2014199583A (ja) ストレージ制御装置、制御プログラム及び制御方法
US9569135B2 (en) Virtual accounting container for supporting small volumes of data
US20150331793A1 (en) Storage system
WO2012147119A1 (en) Management system and control method for provisioning storage space to writable snapshots satisfying performance requirements
WO2014155555A1 (ja) 管理システム及び管理プログラム
JP2008084053A (ja) 仮想化システム及び領域割当て制御方法
CN111949210A (zh) 分布式存储系统中元数据存储方法、系统及存储介质
WO2018158808A1 (ja) 情報システム、管理プログラム及び情報システムのプログラム交換方法
US8566541B2 (en) Storage system storing electronic modules applied to electronic objects common to several computers, and storage control method for the same
US20170031605A1 (en) Control device and control method
JP6025973B2 (ja) 計算機システム及び計算機システムのボリューム管理方法
US20150324139A1 (en) Storage system, storage control method, and computer system

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140624

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140814

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141210

R150 Certificate of patent or registration of utility model

Ref document number: 5666710

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150