JP2013161148A - 仮想ストレージ装置,制御装置及び制御プログラム - Google Patents
仮想ストレージ装置,制御装置及び制御プログラム Download PDFInfo
- Publication number
- JP2013161148A JP2013161148A JP2012020587A JP2012020587A JP2013161148A JP 2013161148 A JP2013161148 A JP 2013161148A JP 2012020587 A JP2012020587 A JP 2012020587A JP 2012020587 A JP2012020587 A JP 2012020587A JP 2013161148 A JP2013161148 A JP 2013161148A
- Authority
- JP
- Japan
- Prior art keywords
- area
- management unit
- releasable
- data
- management
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
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)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
【解決手段】仮想論理ボリュームを構成する管理単位領域毎に、管理単位領域に対する物理領域の割り当て状態を示す割当情報と、管理単位領域が解放候補領域であるか否かを表す解放候補領域情報とを関連付ける管理情報171を参照して、物理領域が割り当てられており、且つ、解放候補領域である管理単位領域を解放可能領域として判定する解放可能領域判定部11と、解放可能領域として判定された管理単位領域に対して、管理対象領域内の全データがゼロデータであるオールゼロ領域であるかを判断する判断部12と、オールゼロ領域であると判断された管理単位領域に対する物理領域の割り当てを解放する解放処理部13とをそなえる。
【選択図】図1
Description
シンプロビジョニング機能とは、ストレージシステムにおいて、物理ボリューム容量以上の容量をサーバに見せる技術であって、サーバ等の上位装置から見えるボリューム容量を仮想化する機能である。
以下に、シンプロビジョニング機能の動作を説明する。以下、シンプロビジョニング機能により仮想化したLUNを、TPV(シンプロビジョニングボリューム)と表現する。
先ず、上位装置からリード要求が来た場合に、物理ディスク領域が割り当てられていない領域に対するI/Oであれば、ストレージ装置は、上位装置に対して、未使用部分を示すALL 0データを応答する。一方、物理ディスク領域が割り当てられている領域に対するI/Oであれば、ストレージ装置は、その物理ディスク領域上のデータを読み込み、上位装置に転送する。
このように、TPVに対して上位装置からALL0データが書き込まれた場合には、このALL0が書き込まれた領域に実際にデータが書き込まれていないにもかかわらず、物理ディスク領域が割り当てられてしまう。すなわち、ディス領域を効率的に使用することができないという課題がある。又、これにより、物理ディスクの使用効率を向上させ、低コストでの運用を実現するというシンプロビジョニング機能の効果を有効に発揮できない。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の1つとして位置付けることができる。
本仮想ストレージ装置1は、図2に示すディスクエキスパンダ(DE:Disk Expander)30−1〜30−4に格納された図示しない記憶装置(実ストレージ環境)を仮想化して、仮想ストレージ環境を形成する。そして仮想ストレージ装置1は、仮想ボリュームを上位装置であるホストコンピュータ2に提供する。
ホストコンピュータ2は、例えば、サーバ機能をそなえた情報処理装置であり、仮想ストレージ装置1との間において、SCSIコマンドやレスポンス等の各種データをTCP/IPを用いて送受信する。このホスト装置2は、ストレージ装置10に対してリード/ライト等のディスクアクセスコマンドを送信することにより、仮想ストレージ装置1が提供する仮想ボリュームにデータの書き込みや読み出しを行なう。
デバイスエンクロージャ30−1〜30−4は、それぞれ1以上の記憶装置(物理ディスク;図示省略)を搭載可能であり、これらの記憶装置の記憶領域(実ボリューム)を、本仮想ストレージ装置1に対して提供する。例えば、各デバイスエンクロージャ30−1〜30−4は、それぞれ10段のスロットをそなえ、これらのスロットに、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の記憶装置を挿入することにより、実ボリューム容量を随時変更することができる。本仮想ストレージ装置1においては、複数の記憶装置をアレイ状に配列することにより、RAIDが形成されている。
各デバイスエンクロージャ30−1〜30−4は、それぞれCM100aのエキスパンダ(EXP)102,102とCM100bのエキスパンダ102,102と接続されている。そして、これらの各デバイスエンクロージャ30−1〜30−4には、CM100a,100bのいずれからもアクセスして、データの書き込みや読み出しを行なうことができる。すなわち、これらの各デバイスエンクロージャ30−1〜30−4の記憶装置に対して、CM100a,100bのそれぞれを接続することにより、記憶装置へのアクセス経路が二重化されている。
デバイスエンクロージャ30−1〜10−4は、上述したCM100a,100bの下流側に配設され、これらのCM100a,100bのエキスパンダ102,102にSASワイドリンク等のデータパスを介して接続されている。
CM100a,100bは、仮想ストレージ装置1内の動作を制御するコントローラ(制御装置)であり、ホストコンピュータから送信されるI/Oコマンドに従って、デバイスエンクロージャ30の記憶装置へのアクセス制御等、各種制御を行なう。又、CM100a,100bは互いにほぼ同様の構成を有している。以下、CMを示す符号としては、複数のCMのうち1つを特定する必要があるときには符号100a,100bを用いるが、任意のCMを指すときには符号100を用いる。
CM100a,100bはCA101を介して、それぞれネットワーク50に接続される。そして、これらのCM100a,100bは、ホストコンピュータ2から送信されるリード/ライト等のコマンドを受信し、エキスパンダ30等を介して記憶装置の制御を行なう。又、CM100a,100bは、PCIeインタフェース104を介して相互に接続されている。
CA101は、ホストコンピュータ2等と通信可能に接続するインタフェースコントローラ(通信アダプタ)である。CM100は、このCA101によりホストコンピュータ2等と通信ケーブル50を介して接続され、I/Oコマンドの受信やデータの送受信等を行なう。図2に示す例においては、CM100a,100bのそれぞれに2つのCA101,101がそなえられている。
また、CA101は、CRC(Cyclic Redundancy Check:巡回冗長検査)機能をそなえる。CA101は、ホストコンピュータ2から1LBA(Logical Block Address)単位で受信するライトデータに対してCRCコードを算出(生成)し、その生成したCRCコードをデータに付加する。すなわち、CA101は、ホストコンピュータから受信するライトデータに対して巡回冗長検査を行なう検査部として機能する。
PCIeインタフェース104は、他のCM100との通信を実現するインタフェースであり、PCI Expressの規格に則って他のCM100との間でデータ等の送受信を実現する。
CM100は、このエキスパンダ102を介して、記憶装置に対するデータの書き込みや読み出しを行なう。又、図2に示す例においては、CM100a,100bのそれぞれに2つのエキスパンダ102,102がそなえられている。そして、CM100a,100bのそれぞれにおいて、一方のエキスパンダ102にはデバイスエンクロージャ30−1,30−2が、又、他方のエキスパンダ102にはデバイスエンクロージャ30−3,30−4がそれぞれ接続されている。
ROM103は、CPU110が実行するプログラムや種々のデータを格納する記憶装置である。
RAM105は、種々のデータやプログラムを一時的に格納する記憶装置であり、メモリ領域(Memory)106及びキャッシュ領域(Cache)107をそなえる。キャッシュ領域107は、ホストコンピュータ2から受信したデータや、ホストコンピュータ2に対して送信するデータを一時的に格納する。メモリ領域106には、CPU110がプログラムを実行する際に、データやプログラムを一時的に格納・展開して用いる。又、このメモリ領域106には、後述するボリューム制御部10によって用いられるチャンク管理テーブル171(チャンク管理テーブル群17)が格納される(図1参照)。
ディスク制御部24は、デバイスエンクロージャ30の記憶装置に対するデータの書き込み及び読み出しを制御する。すなわち、キャッシュ領域107のデータを記憶装置に書き込んだり、又、記憶装置から読み出したデータをキャッシュ領域107に格納する。
キャッシュ制御部22は、RAM105のキャッシュ領域107へのデータの書き込み及び読み出しを制御する。すなわち、キャッシュ制御部22は、記憶装置から読み出したデータやホストコンピュータ2から受信したデータをキャッシュ領域107に書き込んだり、又、キャッシュ領域107に格納されたデータを読み出す。
ボリューム制御部10は、本仮想ストレージ装置1にそなえられる記憶装置(物理ディスク)をストレージプールとして管理する。すなわち、物理ディスクの記憶領域(物理領域)は共有のディスクプールとして管理され、仮想ボリュームに書き込まれたデータ量に応じて割り当てられる。これにより、使用されない物理ディスクの無駄をなくし、効率的な運用が可能となる。
なお、ボリューム制御部10によるホストコンピュータ2に対するシンプロビジョニング機能を用いた仮想ボリュームの提供手法は、既知の種々の手法で実現することができ、その説明は省略する。
チャンクテーブル管理部14は、チャンク管理テーブル群17を管理する。すなわち、ボリューム制御部10は、チャンクに対する物理領域の割り当てをチャンク管理テーブル群17を用いて管理する。
チャンク管理テーブル群17は複数のチャンク管理テーブル171の集合体である。チャンク管理テーブル171は、TPVを構成するチャンクの状態を示す情報であり、チャンクを識別する情報(a1〜a12)に対して、割当済みフラグ(割当済)及びCRCゼロフラグ(CRC=0)を対応付けている。
割当済みフラグは、そのチャンクに対して物理領域が割り当てられているか否かを示す。例えば、そのチャンクの少なくとも一部に対して物理領域が割り当てられている場合には“1”が、又、そのチャンクに対して物理領域が割り当てられていない場合には“0”が設定される。
このように、割当済みフラグは、仮想論理ボリュームを構成するチャンク(管理単位領域)毎に、このチャンクに対する物理領域の割り当て状態を示す割当情報として機能する。
図3(b)に例示する各チャンク管理テーブル171においては、CRCゼロフラグとして、チャンクa3,a6,a7及びa11に対して“1”が設定されており、又、チャンクa2,a5及びa9に対して“0”が設定されている。
そして、チャンク管理テーブル171(チャンク管理テーブル群17)は、仮想論理ボリュームを構成するチャンク毎に、割当済フラグと、CRCゼロフラグとを関連付ける管理情報として機能する。
例えば、物理ディスク領域の割り当てが行なわれていないTPVに対して、新規にホストコンピュータ2からデータ(1LBAのデータ)の書き込みが行なわれた場合には、チャンクテーブル管理部14は以下のようにしてチャンク管理テーブル群17を更新する。
一方、既に物理ディスク領域の割り当てが行なわれているTPVに対してホストコンピュータ2からデータ(1LBAのデータ)の書き込みが行なわれた場合には、チャンクテーブル管理部14は、以下のようにしてチャンク管理テーブル群17を更新する。
また、チャンクテーブル管理部14は、データが書き込まれた領域(チャンク)のCRCゼロフラグの状態と、書き込まれたデータのCRCの値とに基づいて、以下に示すようにチャンク管理テーブル群17を更新する。
書き込み先のチャンクのCRCゼロフラグが“1”の場合、すなわち、割当済みの領域のデータがCRC=0データの場合において、書き込まれたデータのCRCが0の場合には、チャンクテーブル管理部14は、そのチャンクに対応するチャンク管理テーブル171のCRCゼロフラグは変更しない。つまり、CRCゼロフラグを“1”のまま変更しない。
書き込み先のチャンクのCRCゼロフラグが“0”の場合、すなわち、割当済みの領域のデータがCRC≠0データの場合には、チャンクテーブル管理部14は、そのチャンクに対応するチャンク管理テーブル171において、書き込まれたデータのCRCが0の場合も0でない場合も、CRCゼロフラグを落とす。つまり、CRCゼロフラグを“0”に設定する。本手法においては、チャンク単位でチェックを行なうので、チャンク内のどのLBAにアクセスがあったかまでは管理できず、当該チャンクにおけるどのLBAがCRC≠0であるかが不明であるからである。
解放可能領域判定部11は、チャンク管理テーブル171(チャンク管理テーブル群17)を参照して、解放可能領域を判定する。
すなわち、解放可能領域判定部11は、チャンク管理テーブル171において、割当済みフラグ及びCRCゼロフラグにそれぞれ“1”が設定されているチャンクが、当該領域に格納されている全データが0(ALL0)であるALL0領域(0データ領域)の可能性が高い領域であると判定する。以下、このALL0領域(0データ領域)の可能性が高い領域を解放可能領域という。
判断部12は、解放可能領域判定部11により解放可能領域として判定されたチャンクに対して、そのチャンクの全データがゼロデータ(ALL0)であるオールゼロ領域であるかを判断する。
解放処理部13は、判断部12によりオールゼロ領域であると判断されたチャンクについて、物理領域の割り当てを解放する。すなわち、解放処理部13は、チャンクに割り当てられていた物理領域をプールに戻す。
また、解放可能領域判定部11は、チャンク管理テーブル171における、当該チャンクの割当済みフラグを“1”から“0”に書き換えることより、当該チャンクの状態を未割当の状態に変更する。
本仮想ストレージ装置1においては、例えば、以下に示す(i)〜(iv)の4つの条件が割当解放を自動的に開始する所定条件として用いられる。解放可能領域判定部11は、これらの条件のうち少なくともいずれか1つの条件が満たされたことを検知したタイミングで割当解放を開始する。
一般に、データの読み書きが,ある大きさのブロック単位(例えば、512〜2048バイト)でランダムに行なわれるブロックデバイスにおいては、コピー処理はブロックレベルで行なわれる。
そのため、あるLUNのデータを他のLUNへコピーした場合に、そのコピー元LUNにおける未使用領域は、コピー先のボリュームにおいては0データとして書き込まれる。そのため、コピー処理が行なわれた後のコピー先のLUNでは0データ領域が発生している可能性が高い。
(ii)LUNの全領域にLBAが連続でライトされた後
LUNのバックアップを行なう際に、バックアップ元のLUNにおいて未使用領域があった場合には、該当未使用領域はバックアップ先のLUNに0データとしてバックアップされる。そして、この0データの領域がリストアされると、0データがそのままリストア先のLUNに書き込まれ、0データ領域が生成される。
(iii)ホストコンピュータ2からLUNの初期化が実施された後
例えば、NTFSのディスクフォーマット手法においては、全領域をゼロクリアする機能がそなえられている。かかる機能を用いてLUNの初期化(ディスクフォーマット)を実行した場合は、上記(2)の全面リストアと同様に、仮想ストレージ装置1としてはシーケンシャルライトに見える。LUNの全面に対してシーケンシャルライトがされた場合は、全面リストアがされたと判断し、割当解放処理を自動で実行する。これによっても、全面リストアにより生じる0データ領域を解消することができる。
(iv)ストレージプールの容量監視でアラームが生じた時
前述したボリューム制御部10の容量監視機能により、ディスクプールにおいて、プール全体の容量に対する割当済みの物理領域の量が所定のしきい値に達した場合にアラームを生じさせ、割当解放処理を実行する。
仮想ストレージ装置1において、LUNへの0データの割り当ては空き容量を減少させる要因となる。従って、ストレージプールの容量監視機能により、ストレージプール全体の容量に対する割当済みの物理領域の量が所定のしきい値に達したことを検知した場合に割当解放処理を実行して0データ領域を解放する。これにより、ストレージプールの使用効率を高めることが可能となる。
予測情報出力部15は、解放可能領域判定部11により解放可能領域として判定されたチャンクについての情報を予測情報として出力する。例えば、予測情報出力部15は、解放可能領域判定部11により解放可能領域として判定されたチャンクの数に相当する領域の容量を、解放可能と予測される容量として、例えば、図示しないディスプレイ等に出力(通知)する。
そして、CM100のCPU110が、制御プログラムを実行することにより、上述した、排他制御部20,キャッシュ制御部22,コピー制御部23,ディスク制御部24及びボリューム管理部10(解放可能領域判定部11,判断部12,解放処理部13,チャンクテーブル管理部14及び予測情報出力部15)として機能する。
先ず、本仮想ストレージ装置1においてホストコンピュータ2からライト要求を受信する(ステップA10)。
ライト対象チャンクに物理領域が割り当てられていない場合は(ステップA20のNOルート参照)、ストレージプールからそのライト対象チャンクに物理領域を割り当てる(ステップA30)。又、チャンクテーブル管理部14はチャンク管理テーブル171において、当該チャンクの割当済フラグをONにする(ステップA40)。
また、ステップA20において、ライト対象チャンクに物理領域が既に割り当てられている場合は(ステップA20のYESルート参照)、ステップA50に移行する。
次に、実施形態の一例としての仮想ストレージ装置1における解放可能領域判定部11による解放可能領域の判定処理を、図5に示すフローチャート(ステップB10〜B60)に従って説明する。
解放可能領域判定部11は、指定されたLUNについて、チャンク管理テーブル群17の先頭のチャンク管理テーブル171のチャンクを対象チャンクとして確認する(ステップB10)。
予測情報出力部15は、ステップB40において解放可能領域判定部11によって算出された解放可能領域カウンタの値を用いて、解放可能予測容量を算出し、ディスプレイ等に出力する。
次に、実施形態の一例としての仮想ストレージ装置1における、割当解放処理指示の受信に伴う割当解放処理を、図6に示すフローチャート(ステップC10〜C100)に従って説明する。
解放可能領域判定部11は、対象チャンクのチャンク管理テーブル171において、割当済フラグがオンであるか否かを確認する(ステップC30)。対象チャンクの割当済フラグがオンでない場合には(ステップC30のNOルート参照)、解放可能領域判定部11は、チャンク管理テーブル群17の全てのチャンクを対象チャンクとして確認処理を行なったか否かを確認する(ステップC90)。
このように、実施形態の一例としての仮想ストレージ装置1によれば、解放可能領域判定部11が、チャンク管理テーブル171において、割当済みフラグ及びCRCゼロフラグにそれぞれ“1”が設定されているチャンクが、当該領域に格納されているデータがALL0であるALL0領域の可能性が高い領域(解放可能領域)であると判定する。そして、判断部12が、解放可能領域判定部11により解放可能領域として判定されたチャンクに対して、そのチャンクの全データがゼロデータ(ALL0)であるオールゼロ領域であるかを判断する。
また、本仮想ストレージ装置1においては、CRCが0となる場合に当該データは0である可能性があるというCRCの特性を利用している。そして、ホストコンピュータ2から転送されたデータに対して、CA101がデータ整合性の保証を行なうために付加するCRCの値を利用する。これにより、既存のCRC機能を用いて実現することができ、新たなオーバーヘッドが生じることがなく、導入コストを低減することができる。
また、(i)本仮想ストレージ装置1がそなえるコピー機能によるコピーがされた後,(ii)LUNの全領域にLBAが連続でライトされた後,(iii)ホストコンピュータ2からLUNの初期化が実施された後、及び(iv)ストレージプールの容量監視でアラームが生じた時、のいずれかを検知したタイミングで割当解放を行なう。これにより、効率的に割当解放を行なうことができる。
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
上位装置に対して仮想論理ボリュームを提供する仮想ストレージ装置であって、
前記仮想論理ボリュームを構成する管理単位領域毎に、当該管理単位領域に対する物理領域の割り当て状態を示す割当情報と、当該管理単位領域が解放候補領域であるか否かを表す解放候補領域情報とを関連付ける管理情報を参照して、物理領域が割り当てられており、且つ、解放候補領域である管理単位領域を解放可能領域として判定する解放可能領域判定部と、
前記解放可能領域判定部により解放可能領域として判定された前記管理単位領域に対して、当該管理対象領域内の全データがゼロデータであるオールゼロ領域であるかを判断する判断部と、
前記判断部によりオールゼロ領域であると判断された前記管理単位領域に対する物理領域の割り当てを解放する解放処理部とをそなえることを特徴とする、仮想ストレージ装置。
前記解放可能領域判定部により解放可能領域として判定された前記管理単位領域についての情報を予測情報として出力する、予測情報出力部を備えることを特徴とする、付記1記載の仮想ストレージ装置。
(付記3)
前記管理情報が、前記管理単位領域のデータに対する巡回冗長検査の結果が0である場合に、当該管理単位領域にかかる前記解放候補領域情報が解放候補領域を示すことを特徴とする、付記1又は2記載の仮想ストレージ装置。
前記上位装置から受信するライトデータに対して巡回冗長検査を行なう検査部と、
前記検査部による巡回冗長検査の結果に基づいて、前記ライトデータに対応する管理単位領域に関して、前記管理情報を更新する更新処理部とをそなえることを特徴とする、付記1〜3のいずれか1項に記載の仮想ストレージ装置。
前記仮想論理ボリュームに対してデータコピーが行なわれたことが検知されると、前記解放可能領域判定部が前記解放可能領域の判定を行ない、前記判断部が前記オールゼロ領域であるかの判定を行ない、前記解放処理部がオールゼロ領域であると判断された前記管理単位領域に対する物理領域の割り当てを解放することを特徴とする、付記1〜4のいずれか1項に記載の仮想ストレージ装置。
前記仮想論理ボリュームの全域に対して連続してデータライトが行なわれたことが検知されると、前記解放可能領域判定部が前記解放可能領域の判定を行ない、前記判断部が前記オールゼロ領域であるかの判定を行ない、前記解放処理部がオールゼロ領域であると判断された前記管理単位領域に対する物理領域の割り当てを解放することを特徴とする、付記1〜5のいずれか1項に記載の仮想ストレージ装置。
前記仮想論理ボリュームの定義に用いる実ストレージ資源を管理するストレージプールの空き容量が所定値以下となったことが検知されると、前記解放可能領域判定部が前記解放可能領域の判定を行ない、前記判断部が前記オールゼロ領域であるかの判定を行ない、前記解放処理部がオールゼロ領域であると判断された前記管理単位領域に対する物理領域の割り当てを解放することを特徴とする、付記1〜6のいずれか1項に記載の仮想ストレージ装置。
仮想論理ボリュームを構成する管理単位領域毎に、当該管理単位領域に対する物理領域の割り当て状態を示す割当情報と、当該管理単位領域が解放候補領域であるか否かを表す解放候補領域情報とを関連付ける管理情報を参照して、物理領域が割り当てられており、且つ、解放候補領域である管理単位領域を解放可能領域として判定する解放可能領域判定部と、
前記解放可能領域判定部により解放可能領域として判定された前記管理単位領域に対して、当該管理対象領域内の全データがゼロデータであるオールゼロ領域であるかを判断する判断部と、
前記判断部によりオールゼロ領域であると判断された前記管理単位領域に対する物理領域の割り当てを解放する解放処理部とをそなえることを特徴とする、制御装置。
前記解放可能領域判定部により解放可能領域として判定された前記管理単位領域についての情報を予測情報として出力する、予測情報出力部を備えることを特徴とする、付記8記載の制御装置。
(付記10)
前記管理情報が、前記管理単位領域のデータに対する巡回冗長検査の結果が0である場合に、当該管理単位領域にかかる前記解放候補領域情報が解放候補領域を示すことを特徴とする、付記8又は9記載の制御装置。
前記上位装置から受信するライトデータに対して巡回冗長検査を行なう検査部と、
前記検査部による巡回冗長検査の結果に基づいて、前記ライトデータに対応する管理単位領域に関して、前記管理情報を更新する更新処理部とをそなえることを特徴とする、付記8〜10のいずれか1項に記載の制御装置。
前記仮想論理ボリュームに対してデータコピーが行なわれたことが検知されると、前記解放可能領域判定部が前記解放可能領域の判定を行ない、前記判断部が前記オールゼロ領域であるかの判定を行ない、前記解放処理部がオールゼロ領域であると判断された前記管理単位領域に対する物理領域の割り当てを解放することを特徴とする、付記8〜11のいずれか1項に記載の制御装置。
前記仮想論理ボリュームの全域に対して連続してデータライトが行なわれたことが検知されると、前記解放可能領域判定部が前記解放可能領域の判定を行ない、前記判断部が前記オールゼロ領域であるかの判定を行ない、前記解放処理部がオールゼロ領域であると判断された前記管理単位領域に対する物理領域の割り当てを解放することを特徴とする、付記8〜12のいずれか1項に記載の制御装置。
前記仮想論理ボリュームの定義に用いる実ストレージ資源を管理するストレージプールの空き容量が所定値以下となったことが検知されると、前記解放可能領域判定部が前記解放可能領域の判定を行ない、前記判断部が前記オールゼロ領域であるかの判定を行ない、前記解放処理部がオールゼロ領域であると判断された前記管理単位領域に対する物理領域の割り当てを解放することを特徴とする、付記8〜13のいずれか1項に記載の制御装置。
仮想論理ボリュームを構成する管理単位領域毎に、当該管理単位領域に対する物理領域の割り当て状態を示す割当情報と、当該管理単位領域が解放候補領域であるか否かを表す解放候補領域情報とを関連付ける管理情報を参照して、物理領域が割り当てられており、且つ、解放候補領域である管理単位領域を解放可能領域として判定し、
解放可能領域として判定された前記管理単位領域に対して、当該管理対象領域内の全データがゼロデータであるオールゼロ領域であるかを判断し、
オールゼロ領域であると判断された前記管理単位領域に対する物理領域の割り当てを解放する、
処理をコンピュータに実行させる制御プログラム。
解放可能領域として判定された前記管理単位領域についての情報を予測情報として出力する、
処理をコンピュータに実行させることを特徴とする、付記15記載の制御プログラム。
(付記17)
前記管理情報が、前記管理単位領域のデータに対する巡回冗長検査の結果が0である場合に、当該管理単位領域にかかる前記解放候補領域情報が解放候補領域を示すことを特徴とする、付記15又は16記載の制御プログラム。
前記上位装置から受信するライトデータに対して行なわれた巡回冗長検査の結果に基づいて、前記ライトデータに対応する管理単位領域に関して、前記管理情報を更新する、
処理をコンピュータに実行させることを特徴とする、付記15〜17のいずれか1項に記載の制御プログラム。
前記仮想論理ボリュームに対してデータコピーが行なわれたことが検知されると、前記解放可能領域の判定を行ない、前記オールゼロ領域であるかの判定を行ない、オールゼロ領域であると判断された前記管理単位領域に対する物理領域の割り当てを解放する、
処理をコンピュータに実行させることを特徴とする、付記15〜18のいずれか1項に記載の制御プログラム。
前記仮想論理ボリュームの全域に対して連続してデータライトが行なわれたことが検知されると、前記解放可能領域の判定を行ない、前記オールゼロ領域であるかの判定を行ない、オールゼロ領域であると判断された前記管理単位領域に対する物理領域の割り当てを解放する、
処理をコンピュータに実行させることを特徴とする、付記15〜19のいずれか1項に記載の制御プログラム。
前記仮想論理ボリュームの定義に用いる実ストレージ資源を管理するストレージプールの空き容量が所定値以下となったことが検知されると、前記解放可能領域の判定を行ない、前記オールゼロ領域であるかの判定を行ない、オールゼロ領域であると判断された前記管理単位領域に対する物理領域の割り当てを解放する、
処理をコンピュータに実行させることを特徴とする、付記15〜20のいずれか1項に記載の制御プログラム。
2 ホストコンピュータ(上位装置)
10 ボリューム制御部
11 解放可能領域判定部
12 判断部
13 解放処理部
14 チャンクテーブル管理部
15 予測情報出力部
17 チャンク管理テーブル群
20 排他制御部
22 キャッシュ制御部
23 コピー制御部
24 ディスク制御部
30−1〜30−4,30 デバイスエンクロージャ
50 ネットワーク
100a,100b,100 CM(制御装置)
101 CA(検査部)
102 エキスパンダ
104 PCIeインタフェース
105 RAM
106 メモリ領域
107 キャッシュ領域
110 CPU
171 チャンク管理テーブル
Claims (6)
- 上位装置に対して仮想論理ボリュームを提供する仮想ストレージ装置であって、
前記仮想論理ボリュームを構成する管理単位領域毎に、当該管理単位領域に対する物理領域の割り当て状態を示す割当情報と、当該管理単位領域が解放候補領域であるか否かを表す解放候補領域情報とを関連付ける管理情報を参照して、物理領域が割り当てられており、且つ、解放候補領域である管理単位領域を解放可能領域として判定する解放可能領域判定部と、
前記解放可能領域判定部により解放可能領域として判定された前記管理単位領域に対して、当該管理対象領域内の全データがゼロデータであるオールゼロ領域であるかを判断する判断部と、
前記判断部によりオールゼロ領域であると判断された前記管理単位領域に対する物理領域の割り当てを解放する解放処理部とをそなえることを特徴とする、仮想ストレージ装置。 - 前記解放可能領域判定部により解放可能領域として判定された前記管理単位領域についての情報を予測情報として出力する、予測情報出力部を備えることを特徴とする、請求項1記載の仮想ストレージ装置。
- 前記管理情報が、前記管理単位領域のデータに対する巡回冗長検査の結果が0である場合に、当該管理単位領域にかかる前記解放候補領域情報が解放候補領域を示すことを特徴とする、請求項1又は2記載の仮想ストレージ装置。
- 前記上位装置から受信するライトデータに対して巡回冗長検査を行なう検査部と、
前記検査部による巡回冗長検査の結果に基づいて、前記ライトデータに対応する管理単位領域に関して、前記管理情報を更新する更新処理部とをそなえることを特徴とする、請求項1〜3のいずれか1項に記載の仮想ストレージ装置。 - 仮想論理ボリュームを構成する管理単位領域毎に、当該管理単位領域に対する物理領域の割り当て状態を示す割当情報と、当該管理単位領域が解放候補領域であるか否かを表す解放候補領域情報とを関連付ける管理情報を参照して、物理領域が割り当てられており、且つ、解放候補領域である管理単位領域を解放可能領域として判定する解放可能領域判定部と、
前記解放可能領域判定部により解放可能領域として判定された前記管理単位領域に対して、当該管理対象領域内の全データがゼロデータであるオールゼロ領域であるかを判断する判断部と、
前記判断部によりオールゼロ領域であると判断された前記管理単位領域に対する物理領域の割り当てを解放する解放処理部とをそなえることを特徴とする、制御装置。 - 仮想論理ボリュームを構成する管理単位領域毎に、当該管理単位領域に対する物理領域の割り当て状態を示す割当情報と、当該管理単位領域が解放候補領域であるか否かを表す解放候補領域情報とを関連付ける管理情報を参照して、物理領域が割り当てられており、且つ、解放候補領域である管理単位領域を解放可能領域として判定し、
解放可能領域として判定された前記管理単位領域に対して、当該管理対象領域内の全データがゼロデータであるオールゼロ領域であるかを判断し、
オールゼロ領域であると判断された前記管理単位領域に対する物理領域の割り当てを解放する、
処理をコンピュータに実行させる制御プログラム。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012020587A JP5853734B2 (ja) | 2012-02-02 | 2012-02-02 | 仮想ストレージ装置,制御装置及び制御プログラム |
| US13/687,615 US8966214B2 (en) | 2012-02-02 | 2012-11-28 | Virtual storage device, controller, and computer-readable recording medium having stored therein a control program |
| EP12197467.9A EP2624136A3 (en) | 2012-02-02 | 2012-12-17 | Virtual storage device, controller, and control program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012020587A JP5853734B2 (ja) | 2012-02-02 | 2012-02-02 | 仮想ストレージ装置,制御装置及び制御プログラム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2013161148A true JP2013161148A (ja) | 2013-08-19 |
| JP5853734B2 JP5853734B2 (ja) | 2016-02-09 |
Family
ID=47738954
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2012020587A Expired - Fee Related JP5853734B2 (ja) | 2012-02-02 | 2012-02-02 | 仮想ストレージ装置,制御装置及び制御プログラム |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US8966214B2 (ja) |
| EP (1) | EP2624136A3 (ja) |
| JP (1) | JP5853734B2 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2015203908A (ja) * | 2014-04-11 | 2015-11-16 | 富士通株式会社 | ストレージ管理装置及びストレージ管理プログラム |
| WO2016129053A1 (ja) * | 2015-02-10 | 2016-08-18 | 株式会社日立製作所 | ストレージ装置の管理計算機 |
Families Citing this family (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI514142B (zh) * | 2013-11-26 | 2015-12-21 | Synology Inc | 儲存系統及其控制方法 |
| US11188229B2 (en) | 2015-09-25 | 2021-11-30 | Hitachi Vantara Llc | Adaptive storage reclamation |
| JP6569477B2 (ja) * | 2015-11-02 | 2019-09-04 | 富士通株式会社 | ストレージ制御装置、および制御プログラム |
| US10296214B2 (en) | 2016-10-31 | 2019-05-21 | International Business Machines Corporation | Storage pool selection for provisioning volumes in an over-allocation system |
| CN107203477A (zh) * | 2017-06-16 | 2017-09-26 | 深圳市万普拉斯科技有限公司 | 内存分配方法、装置、电子设备及可读存储介质 |
| JP2019194780A (ja) * | 2018-05-01 | 2019-11-07 | 富士通株式会社 | 情報処理装置、データ管理プログラム及びデータ管理方法 |
| JP2022099948A (ja) * | 2020-12-23 | 2022-07-05 | 株式会社日立製作所 | ストレージシステムおよびストレージシステムにおけるデータ量削減方法 |
| CN115712500A (zh) * | 2022-11-10 | 2023-02-24 | 阿里云计算有限公司 | 内存释放、内存恢复方法、装置、计算机设备及存储介质 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008146574A (ja) * | 2006-12-13 | 2008-06-26 | Hitachi Ltd | 記憶制御装置及び記憶制御方法 |
| WO2011024239A1 (en) * | 2009-08-31 | 2011-03-03 | Hitachi, Ltd. | Storage system having plurality of flash packages |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6269464B1 (en) * | 1997-06-18 | 2001-07-31 | Sutmyn Storage Corporation | Error checking technique for use in mass storage systems |
| US20020035664A1 (en) * | 1997-07-09 | 2002-03-21 | Neville Yates | Native image data storage on a virtual tape storage system |
| US6324497B1 (en) * | 1998-07-15 | 2001-11-27 | Sutmyn Storage Corporation | Tape drive emulation system including tape library interface |
| US20090089516A1 (en) | 2007-10-02 | 2009-04-02 | Greg Pelts | Reclaiming storage on a thin-provisioning storage device |
| JP2009116809A (ja) | 2007-11-09 | 2009-05-28 | Hitachi Ltd | 記憶制御装置、ストレージシステム及び仮想ボリュームの制御方法 |
| US8239648B2 (en) | 2009-04-13 | 2012-08-07 | Microsoft Corporation | Reclamation of thin provisioned disk storage |
| JP4905511B2 (ja) | 2009-06-30 | 2012-03-28 | 富士通株式会社 | 記憶装置の制御部及び制御方法 |
| JP5540636B2 (ja) | 2009-10-02 | 2014-07-02 | 日本電気株式会社 | ストレージシステム、ストレージ装置、ストレージ装置の記憶内容複製方法およびプログラム |
| JP5532982B2 (ja) | 2010-02-03 | 2014-06-25 | 富士通株式会社 | ストレージ装置、ストレージ装置のコントローラおよびストレージ装置の記憶領域割当方法 |
| US9965224B2 (en) | 2010-02-24 | 2018-05-08 | Veritas Technologies Llc | Systems and methods for enabling replication targets to reclaim unused storage space on thin-provisioned storage systems |
-
2012
- 2012-02-02 JP JP2012020587A patent/JP5853734B2/ja not_active Expired - Fee Related
- 2012-11-28 US US13/687,615 patent/US8966214B2/en not_active Expired - Fee Related
- 2012-12-17 EP EP12197467.9A patent/EP2624136A3/en not_active Withdrawn
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008146574A (ja) * | 2006-12-13 | 2008-06-26 | Hitachi Ltd | 記憶制御装置及び記憶制御方法 |
| WO2011024239A1 (en) * | 2009-08-31 | 2011-03-03 | Hitachi, Ltd. | Storage system having plurality of flash packages |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2015203908A (ja) * | 2014-04-11 | 2015-11-16 | 富士通株式会社 | ストレージ管理装置及びストレージ管理プログラム |
| WO2016129053A1 (ja) * | 2015-02-10 | 2016-08-18 | 株式会社日立製作所 | ストレージ装置の管理計算機 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20130205111A1 (en) | 2013-08-08 |
| EP2624136A3 (en) | 2013-11-27 |
| JP5853734B2 (ja) | 2016-02-09 |
| US8966214B2 (en) | 2015-02-24 |
| EP2624136A2 (en) | 2013-08-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5853734B2 (ja) | 仮想ストレージ装置,制御装置及び制御プログラム | |
| US8639899B2 (en) | Storage apparatus and control method for redundant data management within tiers | |
| US9563377B2 (en) | Computer system and method of controlling computer system | |
| US9733862B1 (en) | Systems and methods for reverse point-in-time copy management in a storage system | |
| CN102150144B (zh) | 使用写入配置快照的动态存储分层的方法和系统 | |
| CN102209952B (zh) | 存储系统和用于操作存储系统的方法 | |
| US8346934B2 (en) | Method for executing migration between virtual servers and server system used for the same | |
| US8032689B2 (en) | Techniques for data storage device virtualization | |
| JP5271424B2 (ja) | ダイナミックストレージ階層化によるオンラインデータ配置をボリュームに提供するためのアロケートオンライトのスナップショット機構 | |
| US9229870B1 (en) | Managing cache systems of storage systems | |
| JP6409613B2 (ja) | 情報処理装置,マルチパス制御方法及びマルチパス制御プログラム | |
| CN103946846A (zh) | 使用虚拟驱动作为用于raid组的热备用 | |
| JP6011153B2 (ja) | ストレージシステム、ストレージ制御方法およびストレージ制御プログラム | |
| JP2020533694A (ja) | クラウド・ベースのランクを使用するデータの動的再配置 | |
| TWI544401B (zh) | 有效率釋出序列輸人輸出串流的方法、儲存控制器及系統 | |
| US8799573B2 (en) | Storage system and its logical unit management method | |
| US20130080725A1 (en) | Control apparatus, control method, and storage apparatus | |
| JP6451770B2 (ja) | ストレージ制御装置およびストレージ制御プログラム | |
| JP2017211920A (ja) | ストレージ制御装置、ストレージシステム、ストレージ制御方法およびストレージ制御プログラム | |
| US10402107B2 (en) | Determining tracks to release in a source volume being copied to a target volume | |
| US20160224273A1 (en) | Controller and storage system | |
| JP2007280111A (ja) | ストレージシステム及びその性能チューニング方法 | |
| JP6427913B2 (ja) | ストレージシステム、制御装置、ストレージ装置、入出力制御方法、及びプログラム | |
| JP5606583B2 (ja) | ストレージ装置及び同装置の制御方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20141007 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150617 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150804 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151002 |
|
| 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: 20151110 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20151123 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5853734 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |