JP5439581B2 - ストレージシステム、ストレージ装置、ストレージシステムの記憶領域の最適化方法 - Google Patents

ストレージシステム、ストレージ装置、ストレージシステムの記憶領域の最適化方法 Download PDF

Info

Publication number
JP5439581B2
JP5439581B2 JP2012501484A JP2012501484A JP5439581B2 JP 5439581 B2 JP5439581 B2 JP 5439581B2 JP 2012501484 A JP2012501484 A JP 2012501484A JP 2012501484 A JP2012501484 A JP 2012501484A JP 5439581 B2 JP5439581 B2 JP 5439581B2
Authority
JP
Japan
Prior art keywords
logical
area
virtual volume
areas
chunk
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012501484A
Other languages
English (en)
Other versions
JP2012533099A (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 JP2012533099A publication Critical patent/JP2012533099A/ja
Application granted granted Critical
Publication of JP5439581B2 publication Critical patent/JP5439581B2/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/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
    • 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/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • 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/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

Description

本発明はストレージシステムに係わり、特に、ホスト計算機に対して動的に記憶容量を割当てるストレージシステムに関するものである。本発明は、さらに、ストレージシステムのストレージ装置、及び、ストレージシステムの記憶領域の最適化方法に関するものである。
従来から、ホスト計算機に対して大規模なデータストレージサービスを提供する計算機システムが存在する。この計算機システムは、ホスト計算機と、ホスト計算機が接続するストレージ装置と、ストレージ装置の管理装置と、を備えたストレージシステム或いはコンピュータシステムとして知られている。
ストレージ装置は、複数のハードディスクをRAID(Redundant Array of Independent/Inexpensive Disks)方式で管理する。そして、ストレージ装置は、複数のハードディスクが有する物理的な記憶領域をRAIDグループとして論理化し、これを論理ボリュームとしてホスト計算機に提供する。ホスト計算機は論理ボリュームにアクセスして、データのリード・ライトをストレージ装置に要求する。
ストレージ装置は、複数のページを論理ボリュームに割当てることによって、ホスト計算機から論理ボリュームに対してライトアクセスされたデータを、記憶装置の記憶領域に保持する。ページとは、記憶装置の物理的な記憶領域が分割されることによって、一定の記憶容量を持たせた論理的な単位である。
この種の論理化技術の一つとして、論理ボリュームの記憶容量を仮想化したシステムが、シン・プロビジョニングとして知られている(例えば、米国特許第6823442号公報)。
このシステムは、論理ボリュームを仮想化した記憶容量を持つ仮想ボリュームとして設定するものであって、仮想ボリュームのブロックアドレスに対するライト要求をホスト計算機から受信する都度、ライト要求があったブロックアドレスにページを割当てて、仮想ボリュームの実記憶容量を動的に変化させるものである。
仮想ボリュームに記憶領域を割当てるための、実記憶領域からなるグループはプールと呼ばれ、このプール内にプールボリュームと呼ばれるRAIDグループの論理ボリュームが複数存在する。ページはプールボリュームから仮想ボリュームに対して割当てられる。
ストレージ装置は、複数のプールボリュームから均等にページを選択しようとするが、長い時間を経過してゆく過程で、この均等が崩れホスト計算機からのI/Oに対する応答性を低下させるという問題があった。そこで、特開2008−234158号公報は、複数のプールボリューム間でページを移動させることを開示している。
米国特許第6823442号公報 特開2008−234158号公報
米国特許第6823442号公報は、チャンクレットという管理単位で複数のディスク装置の記憶領域を管理し、チャンクレットからページが仮想ボリュームに割当てることを開示している。
しかしながら、ストレージ装置が同一の管理単位に属する複数のページをそれぞれ異なる仮想ボリュームに割当てようとすると、管理単位が同一のRAIDグループに設定される以上、共通のパリティによって定義される複数のページについて、パリティ演算が異なるコントローラに跨ってしまい、パリティ演算のためのオーバヘッドが過大になるという問題がある。
一方、ストレージ装置が、一つの管理単位に属する複数のページを同一の仮想ボリュームに割当てると、ある管理単位のページを他の管理単位に移動させる際、割当て先となる仮想ボリュームが異なると、ページの移動が制限される。
この場合、ストレージ装置は、管理単位が有する記憶領域を有効に活用できないばかりか、ページの移動が出来ないことによって、複数のプールボリューム間でのページの割当てを均等に調整できず、ホスト計算機からのI/Oに対する応答性の低下を十分に解消できないという問題があった。
そこで、本発明は、仮想ボリュームに割当てられる記憶領域を、RAIDグループに設定された管理領域によって管理しても、パリティ演算のためのオーバヘッドが過大にならないストレージシステム、ストレージ装置、及び、ストレージシステムの記憶領域の最適化方法を提供することを目的とするものである。
さらに、本発明の他の目的は、仮想ボリュームに割当てられる記憶領域を、RAIDグループに設定された管理領域によって管理しても、管理領域の記憶領域を有効に活用することができる、ストレージシステム、ストレージ装置、及び、ストレージシステムの記憶領域の最適化方法を提供することにある。
本発明のさらに他の目的は、論理ボリュームに割当てられる記憶領域をRAIDグループに設定された管理領域によって管理しても、計算機からのI/Oに対する応答性の低下を十分に解消できる、ストレージシステム、ストレージ装置、及び、ストレージシステムの記憶領域の最適化方法を提供することにある。
ストレージ装置が一つの管理単位に属する複数のページを同一の仮想ボリュームに割当てるようにすると、管理単位が仮想ボリュームへの割当てに利用されていないページを多く含んでいても、ストレージ装置は、このページを他の仮想ボリュームへの割当てに充当することができない。
そこで、本発明は、ページの割当てに十分活用されていない特定管理単位を仮想ボリュームへの割当てから解放し、この特定管理単位に属する割当て済みページを、他の管理単位に移動させることにより、特定管理単位の記憶領域を他の仮想ボリュームへのホスト計算機からのライトアクセスに供するようにしたものである。
以上説明したように、本発明によれば、仮想ボリュームに割当てられる記憶領域を、RAIDグループに設定された管理領域によって管理しても、パリティ演算のためのオーバヘッドが過大にならないストレージシステム、ストレージ装置、及び、ストレージシステムの記憶領域の最適化方法を提供することができる。
さらに、本発明によれば、仮想ボリュームに割当てられる記憶領域を、RAIDグループに設定された管理領域によって管理しても、管理領域の記憶領域を有効に活用することができる。さらにまた、計算機からのI/Oに対する応答性の低下を十分に解消できる。
図1は、本発明のストレージシステムの一実施形態に係るハードウエアブロック図である。 図2は、コントローラの詳細を示すハードウエアブロック図である。 図3は、ストレージ装置1が、ホスト計算機に提供する、複数の仮想ボリュームと記憶装置の記憶領域との関係を示す機能ブロック図である。 図4は、ページ管理テーブルの一例を示す。 図5は、RAIDグループ管理テーブルの一例である。 図6は、チャンク管理テーブルの一例である。 図7は、チャンクを仮想ボリュームに対して、解放したり、あるいは新たに割当てるなどの再配置を実行するための管理テーブルの一例である。 図8は、仮想ボリューム毎に解放すべきチャンクを管理するテーブルの一例である。 図9は、管理端末によって管理ユーザ・管理クライアントに提供される、設定画面の一例を示すものである。 図10は、LU設定処理を説明するフローチャートである。 図11は、管理端末が、ページの移動やチャンクの解放をストレージ装置に設定するための処理を説明するフローチャートである。 図12は、容量優先モードでの再配置処理を説明するフローチャートである。 図13は、ワイドストライプモードによる再配置処理を説明するフローチャートである。 図14は、ディスク占有モードの再配置処理を説明するフローチャートである。 図15Aは、図1に示すストレージシステムにおけるページの移動の前後のプールの状態を示すブロック図である。 図15Bは、図1に示すストレージシステムにおけるページの移動の前後のプールの状態を示すブロック図である。 図16Aは、比較例におけるページの移動の前後のプールの状態を示すブロック図である。 図16Bは、比較例におけるページの移動の前後のプールの状態を示すブロック図である。
図1は、本発明のストレージシステムの一実施形態に係るハードウエアブロック図である。ストレージシステムは、ディスクアレイを有するストレージ装置1、上位装置としてのホスト計算機2、及び、管理端末3と、を備える。
ストレージ装置1は、ホスト2と接続され、管理端末3とも接続されている。また、ホスト計算機2は、ネットワークを介して管理端末3と接続している。
ネットワークは、いかなる種類のものでもよい。例えば、LANのようなIPネットワークである。
ホスト計算機2は、ユーザに種々のサービスを提供する計算機である。ホスト計算機2は、ネットワークインクフェース、ネットワークインターフェースに接続されるプロセッサ、及び、プロセッサに接続されるメモリを備える。
メモリは、アプリケーションプログラムを格納している。アプリケーションプログラムは、ホスト計算機2がユ−ザにサービスを提供するために、プロセッサによって実行されるプログラムである。
アプリケーションプログラムを実行するプロセッサは、必要に応じて、ストレージ装置1ヘのアクセス要求(データ書き込み要求、又はデータ読み出し要求)を発行する。
管理端末3は、計算機システムを管理する計算機である。管理端末3は、ネットワークインターフェース、ネットワークインターフェースに接続されるプロセッサ、及びプロセッサに接続されるメモリを備える。
管理端末3のメモリには、管理プログラム31が格納されている。管理プログラム31は、論理ボリュームの作成、ストレージ装置1の管理、及び、ストレージ装置1によるページ再配置処理を実行するためにプロセッサによって実行されるプログラムである。
ストレージ装置1は、ホスト計算機2によって書き込まれたデータを記憶装置に格納する。記憶装置は、複数のディスク装置12からなるディスクアレイとして、計算機システムに存在する。符号12a及12bは、複数のディスク装置12の一つである。ディスク装置12は、磁気ディスクドライブ、フラッシュメモリまたはその他の記憶装置である。コントローラ11は、ホスト計算機2からのライト命令及びリード命令を実行して、記憶装置に対するデータのリード・ライト処理を達成する。
コントローラ11は、複数のハードディスクが有する物理的な記憶領域をRAIDグループとして論理化して、論理ボリュームをホスト計算機に提供する。さらに、コントローラ11は、一つ又は複数のRAIDグループを、プールとして、仮想ボリュームに対して割当てられるべき記憶領域として管理する。一つ又は複数のプールがストレージ装置に存在する。
図2は、コントローラ11の詳細を示すハードウエアブロック図である。コントローラ11は、メモリ111、CPU112、上位インターフェース113、下位インターフェース114、インタフュース115、そして、ブリッジ116を備えている。
メモリ111は、例えば、半導体記憶装置のようなデータ記憶装置である。メモリ111には、CPU112によって実行されるプログラム、及びCPU112によって参照されるデータ、テーブルが格納されている。
メモリ111には、少なくとも仮想ボリューム制御プログラム117、配置制御プログラム118、及び、コピー処理プログラム119が格納されている。
仮想ボリューム制御プログラム117は、仮想ボリュームを制御するためにプロセッサ112によって実行されるプログラムであり、アドレス管理テーブル群1171、ページ管理テーブル1172を含む。
アドレス管理テーブル群1171は仮想ボリュームとディスク装置12、RAIDグループ13、プール15のアドレスの対応関係を管理するテーブル群である。ページ管理テーブル1172は、図4を利用して、後に説明される。
配置制御プログラム118は、ページをRAIDグループ(以後、RAIDグループを「RG」と略称する。)に配置する際の管理を実行するために、プロセッサによって実行されるプログラムである。
配置制御プログラムは、RG管理テーブル1181、チャンク管理テーブル1182、再配置管理テーブル1183、及び解放チャンク管理テーブル1184を含む。これらのテーブルは、後に、図5乃至図8を用いて説明される。
コピー処理プログラム119は、後述のページの移動に伴うコピー処理を制御するためにプロセッサによって実行されるプログラムである。
CPU112は、メモリ111に格納されている各プログラムを実行するプロセッサである。上位インターフェース113は、コントローラ11をホスト計算機2に接続するためのインターフェースである。
なお、ページの移動について、出願人は、PCT/JP2009/058533 PCT/JP2009/058593において明らかにしている。
下位インターフェース114は、コントローラ11をディスク装置12に接続するためのインターフェースである。下位インクフェース114は、例えば、SCSIアダプタ又はFCアダプタである。
インターフェース115は、コントローラ11を管理端末3と接続するためのインターフェースである。コントローラ11と管理端末3とを接続するネットワークがLANである場合、インターフェース115は、いわゆるネットワークインターフェースカードである。
ブリッジ116は、メモリ111、CPU112、上位インターフェース113、下位インターフェース114、及びインターフェース115を互いに接続し、これらの間で行われる通信を制御する。
図3は、ストレージ装置1が、ホスト計算機に提供する、複数の仮想ボリューム14(14a,14b・・・)と記憶装置の記憶領域との関係を示す機能ブロック図である。複数のディスク装置12が一つのRAIDグループ13を構成し、複数のRAIDグループ13が一つのプール15に属している。図3においては、二つのRAIDグループによってプールが定義されている。
仮想ボリュームは、記憶容量を仮想化し、自身では物理的な記憶容量を持たない論理ボリュームであって、仮想的な記憶容量をホスト計算機に対して提供するものである。
ホスト計算機が仮想ボリュームにライトアクセスすると、コントローラ11は、プールとして確保されているRGの複数のページの中から所定のページを仮想ボリュームのライト領域に割当てる。この割当ては、仮想ボリュームのブロックアドレスとページのブロックアドレスとの対応関係を含み、これはアドレス管理テーブル群1171に記録されている。
仮想ボリュームは、LUN0及びLUN1の如く複数存在する。複数の仮想ボリュームがプールに対応付けられている。
プール15によって管理されている複数のページは、チャンク131単位で仮想ボリューム14に割当てられる。この割当てに相当する情報は、ページ管理テーブル(図4)、RG管理テーブル(図5)、そして、チャンク管理テーブル(図6)に登録されている。
コントローラ11は、この情報に基づいてページの割当てなど所定の制御を実行し、又は、管理テーブルに対して、情報を登録又は更新する。ストレージ管理者は、プールの実記憶領域が不足した場合は、プールにRG13を追加する。ストレージ管理者は、必要に応じて記憶デバイスをストレージ装置に追加する。コントローラ11は、RAIDグループ13を複数のチャンク131に分割して管理する。
チャンク131(131a,131b)は、連続する複数のページ132から構成される。1つのチャンクは、1つの仮想ボリュームに対応付けられる。1つのチャンク内に異なる仮想ボリュームに割当てられるページが混在することがないようにしている。
1つのストライプ列内に複数の仮想ボリュームに割当てられるページが混在してしまうと、パリティ生成のための処理が複数のコントローラに跨るなど、パリティ生成などの処理が複雑化し、コントローラが受けるオーバヘッドが大きくなってしまう。
そこで、ストレージ装置1は、チャンク管理テーブル(図6)から明らかなように、同一RG内の同一のストライプ列に合わせて、複数ページから構成されるチャンクを定義し、チャンク単位で一つの仮想ボリュームにページを割当てることにしたものである。
ストレージ装置1は、チャンク131をRGのストライプ列に合わせて一定のサイズで管理する。すなわち、チャンクとは、パリティが揃った一連の記憶領域としての論理ボリューム(LDEV)である。
図3においては、RG0のチャンク131aが仮想ボリューム(LUN0)14aに対応し、チャンク131bが仮想ボリューム(LUN1)14bに対応し、RG1のチャンク131cが仮想ボリューム(LUN0)14aに対応している。
仮想ボリューム14aに対するホスト計算機からのアクセスはコントローラCL0によって処理され、仮想ボリューム14bに対するアクセスはコントローラCL1によって処理される。
なお、ストレージ装置1は、チャンク単位で、ホスト計算機からのI/Oを処理する担当コントローラを設定するようにしてもよい。例えば、仮想ボリューム14aのチャンク131aにコントローラ0を割当て、チャンク131bにコントローラ1を割当てるようにである。この場合は、一つのチャンク内の複数のページがそれぞれ異なる仮想ボリュームに割り当てられるようにしてもよい。
管理端末3がチャンク管理テーブル(図6)の定義を変更することによって、チャンクと仮想ボリュームの対応関係を変更することが可能である。仮想ボリューム(LUN0)14aと仮想ボリューム(LUN1)14bとによってプール15が設定されているために、単一プールを異なるコントローラが共用する。
仮想ボリューム14は、ストレージ装置1がホスト計算機2に提供する記憶領域である。コントローラ11は、ホスト計算機2からの仮想ボリュームへのデータ書き込みに応じて、この仮想ボリュームに割当てられたチャンクから未割当てのページを選択してこの仮想ボリュームのライト領域に割当てていく。仮想ボリューム14の記憶領域は、ページ132に対応付けられている。初期状態では、仮想ボリュームの全て領域は初期設定用の一つのページ(例えば、全てのビットが“0”からなるページ)に割り当てられている。
ストレージ装置1は、チャンク内の未割当てページにデータを格納し、仮想ボリューム14の記憶領域とページ132とのマッピングを更新していく。この更新は、コントローラ11が、ページ管理テーブル(図4)とチャンク管理テーブル(図6)の情報を更新することによって達成される。
仮想ボリュームのライトアクセス領域に割当てられたページは、これらページ管理テーブルによって割当済みページとして管理される。ストレージ装置1は、仮想ボリュームに割当てたチャンクに未割当てのページがなくなると、プール15内のRGの未使用チャンクをこの仮想ボリュームに割当てる。このとき、コントローラ11は、仮想ボリューム−RG−チャンクの対応関係をチャンク管理テーブル(図6)に登録する。未使用チャンクは使用済みチャンクとして管理される。
仮想ボリュームに割当てられたチャンクは、チャンク管理テーブル(図6)に、使用中チャンクとして登録される。仮想ボリュームに新たに割当てようとするチャンクは、複数のRGから均等に選択されることが望ましい。これにより、ストレージ装置1は、各RG間で負荷を分散させることができる。
ホスト計算機2が、データの消去をストレージ装置に要求する等の場合、消去対象のデータの論理アドレス(仮想ボリュームの)に対応するページは仮想ボリュームへの割当てから解放され、未割当てページとなる。ページ及びチャンクの解放は、コントローラ11によって、管理テーブルにおいて、エントリーが削除されるか、あるいは、未割当てページ又は未割当てチャンクとして登録されることによって達成される。
未割当てページ・未割当てチャンクは、仮想ボリュームに対する新たなデータ書き込みに利用される。ストレージ装置1は、チャンク内の全てのページを解放した場合は、このチャンクを、仮想ボリュームへの割当てから解放された未使用チャンクに分類する。
ページが随時解放されるものの、チャンク内に割当て済みページが1つでも存在する場合、ストレージ装置はチャンク自体を解放できない。このようなチャンクが多数存在すると、これらチャンクに未割当てである未使用ページが存在していても、この未使用ページを、チャンクが対応する仮想ボリューム以外の仮想ボリュームの割当てに利用することができない。これでは、記憶容量の利用効率を低下させ、また、ページを複数のRG間で均等にできないために、ホスト計算機からのI/Oに対する処理性能を低下させる問題がある。
そこで、コントローラ11の再配置化制御プログラムは、特定のチャンクの使用済みページを他の使用済みチャンクの未割当て領域に移動させることにより、特定チャンクの使用済みページを解放して、特定チャンクを使用済みページが存在しない空のチャンクとして生成し、この空のチャンクを仮想ボリュームへの割当てから解放するようにした。なお、コントローラ11は、使用済みページを移動する際には、これを割当て先仮想ボリュームが同じチャンクに移動する。
図15A及び図15図Bは、ページの移動の前後のプールの状態を示すブロック図である。既述したとおり、符号13はRGを示し、符号15はプールを示し、符号131はチャンクを示し、符号132は使用済みのページを示す。図15Aはページの移動前であり、図15Bはページの移動後のものである。
図15Aと図15Bとを比較すると、チャンク131e,131h,131gが、当初使用済みページを有するものであったが、使用済みページを他の使用済みチャンクに移動することによって、未使用のチャンクとして解放されたものになる。
コントローラ11が使用済みページをプール内でリバランス(再配置)することによって、複数のRG全体に対する使用済みページの割当てが均等になる。複数のRGそれぞれに対するI/Oのレートは同程度になり、ストレージ装置がチャンクに基づいてページを仮想ボリュームに割当てるようにしても、ホスト計算機からのアクセスに対するストレージ装置の処理性能が良好に維持されることになる。
図16A、図16Bは比較例に係るものである。コントローラが使用済みページを移動する際、チャンクの解放を考慮しないため、ページの移動前(図16A)よりページの移動後(図16B)においてページのリバランスは達成されるものの使用チャンクが増えている(131f)分、記憶容量効率が低下する。
図4は、ページ管理テーブル1171の一例を示す。チャンクIDはチャンクを識別するための識別子、ページIDはページを識別するための識別子である。“Class”(種別)はページの種別を表す。例えば、インデックス情報やメタデータ等の格納用ページは“Index”、データ格納用ページは“Data”というように分類される。
“Page Priority”(ページ優先度)は、ページの重要度をあらわし、数値が大きいほど重要性が高いことを示している。“Status”(状態)とは、ページの状態を示し、これには、“Allocated”(割当て済み)、“Unallocated”(未割当て)、“Formatting”(フォーマット中)がある。
ストレージ装置1、あるいは管理端末3は、ページ優先度を、ページ種別やアクセス頻度によって決定する。例えば、インデックス情報やメタデータ等を格納したページには、通常のデータに比べ重要度が高いため、最も優先度が高い“5”が付与される。
通常データのうち、高頻度にアクセスされるページには“3”が付与されており、アクセス頻度の低いページには“1”が付与されている。一方、未割当のページには“0”が付与されている。
複数ページに同じ値のページ優先度が付与されてもよい。このように、ページ毎に重要度が付与されることにより、重要度が高いページがなるべく性能低下しないように移動ページを決定することかできる。すなわち、ストレージシステムは、重要度の高いページ(チャンク)を確保し、残りの重要度の低いものを解放しようとするので、重要度の高いページは移動せずにすむ確率が高くなる。
ページの優先度はチャンクの優先度を判定する際のファクターとなる。チャンクの優先度は、解放チャンクを判定する際のファクターとなる。
図5は、RG管理テーブルの一例である。この管理テーブルは、仮想ボリューム毎に、各RGのチャンク数やページ数を管理する。“Virtual Volume”は仮想ボリュームを識別するための識別子、“RAID Group”はRAIDグループを識別するための識別子である。
“Chunk Size”は1チャンクあたりの容量を表す。“Page Size”は1ページあたりの容量を表す。“Used Chunks”は、仮想ボリューム毎、RG毎に、仮想ボリュームに割当てられているチャンク数を表す。“Tota1 Allocated Pages”は、仮想ボリュームに割当てられているRG毎で、割当て済みのページ数の合計を表す。
図6は、チャンク管理テーブルの一例である。チャンク管理テーブルは、仮想ボリュームとRG毎に、各チャンクのページ数や優先度を管理する。“Virtual Volume”は仮想ボリュームを識別するための識別子、“RAID Group”はRGを識別するための識別子、“Chunk ID”はチャンクを識別するための識別子である。“A11ocated Pages”は、そのチャンク中の割当て済みページの数を表す。
“Unallocated Pages”は、チャンク中の未割当てのページの数を表す。このテーブルの例では、1チャンクあたりのページの数は“5”であるとしている。実環境においては、1チャンクあたりのページ数は数千個以上に及ぶこともありえる。
“Chunk Priority”はチャンクの優先度を表し、数値が大きいほど重要度が高いことを示している。チャンク優先度は、例えば、チャンクに属するページの優先度によって決定される。チャンクに属する複数のページの優先度を合計した値がチャンクの優先度とされる。
図7は、チャンクを仮想ボリュームに対して、解放したり、あるいは新たに割当てるなどの再配置を実行するための管理テーブルの一例である。“Virtual Volume”は仮想ボリュームを識別するための識別子、“RAID Group”はRGを識別するための識別子である。
“mode”は、再配置方法の種別(後述)と、実行契機が自動であるか手動であるかを表す特性を示すものである。“確保チャンク”は、仮想ボリュームに対して、解放されることなく、対応するRGにおいてそのまま維持されるべきチャンクのIDを表す。“不足チャンク数”は、RGから対応する仮想ボリュームに対して新たに割当てが必要なチャンクの数を表す。
図8は、仮想ボリューム毎に解放すべきチャンクを管理するテーブルの一例である。解放予定のチャンクがこの管理テーブルに登録される。解放されるチャンクに属するページが他のチャンクに移行すべきページとなる。
図6にも示したように、“Virtual Volume”は仮想ボリュームを識別するための識別子、“Chunk ID”はチャンクを識別するための識別子、“A11ocated Pages”はチャンクの割当て済みページ数、“Unallocated Pages”はチャンクの未割当てページ数、“Chunk Priority”はチャンクの優先度を表す。
図4において、Chunk ID他の項目は、仮想ボリューム制御プログラム111によって登録される。図5において、仮想ボリュームとRGの対応関係、チャンクサイズ、ページサイズは、仮想ボリューム制御プログラム117によって登録され、その他の項目は配置制御プログラム118によって登録される。
図6において、仮想ボリュームとRGの対応関係、チャンクIDは、仮想ボリューム制御プログラム117によって登録され、その他の項目は配置制御プログラム118によって登録される。
図7において、仮想ボリュームとRGの対応関係、チャンクIDは、仮想ボリューム制御プログラム117によって登録され、その他の項目は配置制御プログラム118によって登録される。
図8において、仮想ボリュームとチャンクIDの対応は、仮想ボリューム制御プログラム117によって登録され、その他の項目は配置制御プログラム118によって登録される。
図9は、管理端末3によって管理ユーザ・管理クライアントに提供される、設定画面311の一例を示すものである。管理ユーザは設定画面311を用いて、チャンクの解放のための制御情報をコントローラ11の再配置制御プログラム118に対して設定する。
設定画面311は、LUN設定部3111、実行契機選択部3112、モード選択部3113及び解放RAIDグループ選択部3114を備えている。LUN設定部3111は、仮想ボリューム14のLUN(Logical Unit Number)を指定する設定部である。この設定部は、チャンクの解放が実行されるべき対象の仮想ボリュームを設定するためのものである。
実行契機選択部3112は、チャンクの解放と、チャンクの解放と一体に行われるページの再配置のための解放処理の実行契機を自動とするか手動とするかを選択する設定部である。
この契機には、チャンク数の偏り(後述)、未使用チャンク数の減少ある。チャンク数の偏りが生じるケースには、プールボリュームの追加、仮想ボリュームの容量縮小、ページの重複排除等がある、また、ページのリバランス契機でチャンクの解放を行ってもよい。
モード選択部3113は、解放処理のモードを管理ユーザが選択するための設定部である。管理ユーザは、通常、記憶容量の効率的な利用を図る容量優先モードを選択すればよい。
一方、ホスト計算機が、ストレージ装置をデータベースとして利用する場合など、ストレージ装置の性能をより優先したい場合には、管理ユーザは、性能優先モードを選択すればよい。
性能優先モードは、さらに細かい設定を含んでいる。例えば、管理ユーザが、複数の仮想ボリュームに平均的に高性能を実現させたい場合には、ワイドストライピングモードを選択する。
また、ある仮想ボリュームの性能が、他の仮想ボリューム14によって影響を受けるのを抑止させたい場合には、管理ユーザは、ディスク占有モードを選択する。
仮想ボリュームの性能とは、この仮想ボリュームに対するホスト計算機からのI/Oに対する、ストレージ装置の処理性能のことである。
ここで説明した“設定”は、仮想ボリューム毎に可能である。また、操作を簡単にするために、プール単位にまとめて指定するようなインターフェースを設けても良い。また、他の選択肢を追加してもよい。
次に、解放RAID Groupe選択部3114について説明する。これは、解放処理を適用したいRGを管理ユーザが選択するためのものである。
管理ユーザは、プールIDとプールに属するRGのIDを指定する。管理ユーザがRGを指定すると、そのRGに属するチャンクの全てが解放処理を適用可能なものとなる。
図10は、LU設定処理を説明するフローチャートである。管理クライアントはLUNを指定して実行契機、及び、モードを選択する(1000)。
管理プログラム31は、入力及び選択された情報を、ストレージ装置1のコントローラ11へ送信する(1002)。コントローラ11の配置制御プログラム118は、受信した情報を、図7に示す再配置管理テーブル1183に登録する(1004)。具体的には、実行契機が自動であるか手動であるかを表す情報と、再配置モードを表す情報を登録する。
再配置制御プログラムは、実行契機が自動であるか手動であるかを判断し(1006)、手動の場合は、指定されたモードの再配置処理を実行する(1008)。自動の場合は設定処理を一旦終了し、後ほど適切なタイミングで再配置処理を実行する。
適切なタイミングとは、例えば配置制御プログラムが定期的にRG管理テーブルを参照し、使用チャンク数や合計割当て済みページ数に、仮想ボリュームに対して、偏りが生じた場合である。使用チャンクとは、ページの割り当て以前に仮想ボリュームに割り当てられているチャンクをいう。
図11は、管理端末3が、ページの移動やチャンクの解放をストレージ装置1に設定するための処理(RG解放設定処理)を説明するフローチャートである。管理ユーザは管理プログラム31に、プールIDとRGを指定する(1100)。管理プログラム31は、管理端末3に入力及び選択された情報をストレージ装置1のコントローラ11へ送信する(1102)。
そして、コントローラ11の再配置制御プログラム118は、プールのID及び/又はRGのIDをRG管理テーブル(図5)、チャンク管理テーブル(図6)、再配置管理テーブル(図7)に登録して、指定されたRGの解放処理を実行する。
図12は、容量優先モードでの再配置処理を説明するフローチャートである。“容量優先”とは、プール15において、仮想ボリュームに割当て済みのチャンク数又はその容量を極力低減させるモードである。
配置制御プログラム118は、プールのチャンクを管理するチャンク管理テーブル(図6)を参照し、管理テーブルに登録されている、複数の仮想ボリュームについて、割当済みページの合計容量を算出する(1200)。以下、この複数の仮想ボリュームを対象仮想ボリュームと呼ぶ。
なお、ストレージ装置1は、容量優先モードの再配置処理を一つ又はいくつかの仮想ボリュームを対象として適用してもよい。チャンクの解放処理の形態には、例えば、プールの指定の他に仮想ボリュームの指定がある。
配置制御プログラム118は、算出されたページ容量をチャンクサイズの平均値で割ることによって、ページの割当てに必要なチャンク数を算出する。そして、必要チャンク数をプールに属するRG数で割ることによって、RG毎に最低限のチャンク数を算出する(1202)。なお、ページ容量は、各ページサイズとページ割当量から算出される。配置制御プログラム118は、チャンクサイズの平均値によって、必要なチャンク数を算出してこれを確保することとするが、その後、それぞれのチャンクサイズを精査・確認して、足りなければチャンクを追加し、多ければチャンクを減らすようにしてもよい。
配置制御プログラム118は、図6に示す、チャンク管理テーブルを参照し、各RGについて、最低チャンク数分だけ、重要度の高いチャンク、例えば、割当て済みページ数の多いチャンク、その中でも、優先度の高いチャンクを選出する(1204)。
すなわち、前者による重要度が同じ場合は、最も優先度が高いページを有するチャンクを確保する。そして、確保したチャンクを、再配置管理テーブル(図7)に確保チャンクとして、そのIDを記録する。
配置制御プログラム118は、最低チャンク数に満たないRGの存在を判定すると(1205)、不足しているチャンク数を再配置管理テーブル(図7)の不足チャンク数に登録する。
配置制御プログラム118は、再配置管理テーブルを随時参照して、不足チャンク数を確認すると、最低チャンク数に満たないチャンクのIDを確認し、このチャンクの残りの使用済みチャンクの中から重要度が高チャンクを解放せず維持するチャンクとして確保する(1206)。
再配置制御プログラム118は、次いで、再配置管理テーブル(図7)の不足チャンク数を0に更新する。これにより、各RGに最低チャンク数分のチャンクが確保される。確保したチャンクのチャンクIDを再配置管理テーブルの確保チャンクとして記録する。
ステップ1206の一例を具体的に説明すると次のとおりである。配置制御プログラム118は、最低チャンク数に端数が生じた場合には、小数点以下を切り捨てた分のチャンク数を必要チャンク数として確保する。例えば、最低チャンク数の計算値が4.7である場合には、小数点以下を切り捨てて最低チャンク数を“4”にする。
次に、配置制御プログラム118は、各RGの最低チャンク数を全てのRGについて合計した値が、対象仮想ボリュームについての必要チャンク数を満たしているかを判定する。
再配置制御プログラム118は、これを肯定判定すると、次のステップ(1208)に進む。但し、既述のとおり、端数が切り捨てられたことによって、必要チャンク数は実際より少なく見積もられているために、再配置制御プログラム118は、否定判定を行う。
配置制御プログラムは、不足分のチャンクを、確保チャンク以外から選択する。配置制御プログラムは、確保されたチャンク数が少ないRGを優先して、複数のRGから順番に、同じRGが重複しないように、重要度がより高いチャンクを選択する。不足分のチャンクが選択された段階で、最低チャンク数の確保の処理を終了する。配置制御プログラムは、選択したチャンクのIDを再配置管理テーブル(図7)の確保チャンクとして記録する。
次いで、配置制御プログラム118は、確保チャンクとして、配置管理テーブル(図7)に記録されなかった、使用済みチャンクのIDを解放チャンク管理テーブル(図8)に登録する(1208)。このチャンクは、仮想ボリュームへの割当てから解放されるべきチャンクであって、便宜上、これを解放チャンクと呼ぶこととした。
コピー処理プログラム119は、解放チャンク管理テーブル(図8)を参照し、登録されているチャンク内のページを、確保チャンク内の未割当ページヘ移行する(1210)。配置制御プログラム118は、解放チャンク内の全てのページ移行が完了したら、解放チャンク管理テーブル(図8)からこのチャンクのエントリを削除する。
解放されたチャンクはフリーキューに接続され、以降、仮想ボリューム制御プログラム117は、仮想ボリュームへの割当てにこの解放チャンクを充当する。ページの解放についても同様である。ページの割当ては、仮想ボリューム制御プログラム117によって実行される。
ページの移行は、コピー処理プログラム119が移行元ページのデータを移行先ページにコピーし、移行元ページを仮想ボリュームへの割当てから解放することによって実行される。
コピー処理プログラム119は、ページの移行の都度、解放チャンク管理テーブルを参照し、登録されていた全ての解放チャンクのエントリが、解放チャンク管理テーブルから削除されたか否か、すなわち、全ての解放チャンクについての処理が完了したか否かを判定する。これを肯定すると、一連の処理を終了する。そうでなければ、管理テーブルに登録されている解放チャンクについてページの移動の処理を繰り返す。
配置制御プログラム118は、解放チャンクにおいて、全ての使用済ページについて、仮想ボリュームへの割当てが解放されたか否かを判定し、これを判定すると、解放チャンク管理テーブル(図8)での解放チャンクのエントリを削除する。
図12に説明したフローチャートは、RG毎でのページ配置の偏りの解消によるI/O処理性能の改善と、過剰チャンクを解放することによる、ストレージ容量の効率向上を可能にする。
なお、図12の説明において、最低チャンク数の端数を切り捨てたが、これを切り上げることも考えられる。このとき、各RGグループの最低チャンク数の合計が仮想ボリュームの必要チャンク数を超えるが、再配置制御プログラムは、超える分のチャンクを解放チャンクとして、解放チャンク設定テーブルに登録する。再配置制御プログラムは、ページの割当て数が少なく、優先度が低いチャンクを解放チャンクとして設定する。
図13は、図12の変形例であって、ワイドストライプモードによる再配置処理を説明するフローチャートである。ワイドストライプモードとは、チャンク解放に伴うページ再配置処理に対するストレージ装置のオーバヘッドを低減しようとするモードである。
図12のフローチャートと異なる点は、図12の実施形態では、最低チャンク数に端数が生じた場合、再配置プログラムは少数点以下の端数を切り捨てた値を最低チャンク数とし、次いで、不足分のチャンク数を使用済みチャンクから確保するようにしたが、図13では少数点以下の端数を切り上げて、複数のRGのそれぞれについて、最低チャンク数を上回る、同数のチャンクを確保するようにした。
すなわち、図13のフローチャートは、図12のフローチャートには存在していた、端数分のチャンクを新たに確保しなければならないステップ(1205,1206)を削除できる分、コントローラのオーバヘッドを解消することができる。
一方、図13の実施形態は、必要チャンク数を超えるチャンクの仮想ボリュームへの割当てを解放しないために、記憶容量の効率的な活用の点において、図12の実施形態に及ばないことになる。
図14は、ディスク占有モードの再配置処理を説明するフローチャートである。このモードは、特定の仮想ボリュームに特定のRGを対応させることにより、このRGを他の仮想ボリュームへの割当てから開放して当該他の仮想ボリュームからの影響が及ばない様にして、解放処理のオーバヘッドを低減しようとするものである。
配置制御ブログラム118は、チャンク管理テーブルを参照し、チャンク管理テーブルにエントリがある全ての仮想ボリュームについて、合計の割当済みページ数を算出する(1400)。
次いで、配置制御プログラムは、算出されたページ数を基に、必要チャンク数を算出する(1402)。配置制御プログラムは、チャンク管理テーブルを参照し、特定の仮想ボリュームについて、割当て済ページ数の多いRGを選出する。割当てページ数が同じ場合には、最も優先度が高いチャンクが多く存在するRGを選出する(1404)。
配置制御プログラム118は、選出されたRGに必要チャンク数を確保する(1406)。このとき、割当て済みページ数の多いチャンクを選択する。割当て済みページ数が同じチャンクが存在する場合には、優先度が高い方を選択する。確保したチャンクを、再配置管理テーブル(図7)の確保チャンクに登録する。
さらに、配置制御プログラムは118、選択したRGの使用中チャンク数が必要チャンク数に満たないと判定した場合は、不足しているチャンク数を再配置管理テーブルの不足チャンク数に登録し、不足チャンク数分のチャンクを同じRGから割当てる。不足チャンクの割当てが完了したら再配置管理テーブル(図7)の不足チャンク数を0に更新する。これによりRGに必要チャンク数分のチャンクを確保する。
配置制御プログラム118は、使用中チャンク数が必要チャンク数を超えると判断すると、使用中チャンクのうち確保されなかったチャンクを解放チャンク管理テーブル(図8)に登録する。さらに、配置制御プログラム118は、選出されなかった他のRGのチャンクを解放すべきチャンクとして、解放チャンク管理テーブルに登録する。
コピー処理プログラム119は、解放チャンク管理テーブル(図8)を参照し、登録されているチャンク内のページを確保チャンク内の未割当ページヘ移行する(1410)。再配置制御プログラム118は、解放チャンク内の全てのページ移行が完了したらこのチャンクを解放し、解放チャンク管理テーブルからチャンクのエントリを削除する。
再配置制御プログラム118は、解放チャンク管理テーブル(図8)を参照し、登録されていた全ての解放チャンクが完了したかを判定する(1412)。解放チャンク管理テーブルにエントリが存在しなければ、完了したと判断する。完了していなければ、未実施の解放チャンクに対して処理を繰り返す。
次に、再配置制御プログラム118が、チャンク管理テーブル(図6)を参照して、他の仮想ボリュームに割当てられたチャンクが、選出されたRGに存在すると判断した場合は、このチャンクを解放予定のチャンクとして開放チャンク管理テーブル(図8)に登録する(1414)。
再配置制御プログラム118は、他の仮想ボリュームに割当てられ、選出されたRGに存在するチャンクを解放チャンクとする(1414)。再配置制御プログラム118は、解放チャンクのページが移行されるチャンクを、他のRGに必要チャンクとして確保する。
以上により、特定の仮想ボリュームに、特定のRGのページが占有されて割当てられるために、ストレージ装置は、特定の仮想ボリュームに対して他の仮想ボリュームによる影響を抑止して、特定仮想ボリュームに対するI/O処理の効率を維持、向上することができる。
本発明は、ページの割当てに十分活用されていない特定管理単位を仮想ボリュームへの割当てから解放し、この特定管理単位に属する割当て済みページを、他の管理単位に移動させることにより、特定管理単位の記憶領域を他の仮想ボリュームへのホスト計算機からのライトアクセスに供するようにしたので、ストレージシステム及びストレージ装置の記憶領域を最適化する際に利用されるものである。
1 ストレージ装置
2 ホスト計算機
3 管理端末
11 コントローラ
12 ディスク装置
13 RAIDグループ
14 仮想ボリューム
15 プール
131 チャンク
132 ページ

Claims (13)

  1. 計算機からのライトアクセスを処理するストレージシステムであって、
    前記ライトアクセスに伴うライトデータを記憶する記憶領域を備える記憶装置と、
    前記記憶装置の前記記憶領域を、1以上のプール、前記1以上のプールのそれぞれに含まれる1以上のRAIDグループ、前記1以上のRAIDグループのそれぞれに含まれる複数の第1の論理領域、そして、前記複数の第1の論理領域のそれぞれを構成する複数の第2の論理領域、として管理し、前記計算機に複数の仮想ボリュームを提供し、当該計算機から前記ライトアクセスを受信すると、前記1以上のプールの何れかの前記1以上のRAIDグループに含まれる前記複数の第1の論理領域のうちの1つを、前記ライトアクセスの宛先仮想ボリュームに対応付け、前記宛先仮想ボリュームのデータがライトされる領域に、前記対応付けられた第1の論理領域に属する前記複数の第2の領域のうちの1つを割当てるコントローラと、
    前記計算機を接続する第1のインターフェースと、
    前記記憶装置を接続する第2のインターフェースと、
    前記複数の第1の論理領域を管理するための第1の制御情報と、前記複数の第2の論理領域を管理するための第2の制御情報と、前記複数の第1の論理領域と前記複数の仮想ボリュームとの間の対応関係を定める第3の制御情報と、を格納する制御メモリと、を備え、
    前記コントローラは、
    前記ライトアクセスを受信すると、前記第3の制御情報により前記宛先仮想ボリュームに対応する前記第1の論理領域を判定し、当該第1の論理領域に属する前記複数の第2の論理領域のうちの1つを、前記宛先仮想ボリュームのデータがライトされるべき領域に割当てる第1処理部と、
    前記複数の仮想ボリュームのうちの何れかに対応付けられた第1の論理領域を前記対応関係にある仮想ボリュームから解放する第2処理部と、
    当該解放の際、前記解放される第1の論理領域に属する1以上の第2の論理領域に格納されているデータを、他の第1の論理領域に属する1以上の他の第2の論理領域に移行し、前記1以上の第2の論理領域を前記対応関係にある仮想ボリュームから解放する第3処理部と、を備える、
    ストレージシステム。
  2. 前記第3の制御情報は、前記複数の第1の論理領域のそれぞれを一つの同じ仮想ボリュームに対応させるものであり、
    前記制御メモリは、前記複数のRAIDグループから前記プールを形成するための第4の制御情報を格納し、
    前記第1の論理領域に属する前記第2の論理領域は、前記第1の論理領域が対応する仮想ボリュームに割当てられ、
    前記コントローラは、前記一つ又は複数の仮想ボリュームへの前記第2の論理領域の割当て数を算出する第4処理部と、前記第2の論理領域の割当て数と前記RAIDグループ数に基づいて、RAIDグループ毎に必要な前記第1の論理領域の必要数を算出する第5処理部と、前記RAIDグル―プに属する、前記仮想ボリュームに割当てられている第1の論理領域の数と前記必要な第1の論理領域の数とを対比し、前者が後者より不足している場合に、同じRAIDグループ又は他のRAIDグループから、前記仮想ボリュームに割当てられていない第1の論理領域を前記第1の論理領域数が不足しているRAIDグループに割当てる第6処理部と、を有し、前記第2処理部は、後者が前者より多い場合に余分な第1の論理領域の前記仮想ボリュームへの割当てを解放し、
    さらに、前記コントローラの前記第2処理部は前記第1の論理領域の解放を、当該第1の論理領域の重要度を判定し、その判定の結果、重要度が低いものから実行する、請求項1記載のストレージシステム。
  3. 前記第3の制御情報は、前記複数の第1の論理領域のそれぞれを一つの同じ仮想ボリュームに対応させるものである、請求項1記載のストレージシステム。
  4. 前記1以上のRAIDグループのそれぞれに含まれる前記複数の第1の論理領域のそれぞれが対応する仮想ボリュームが異なる場合がある、請求項3記載のストレージシステム。
  5. 前記第1の論理領域に属する前記第2の論理領域は、前記第1の論理領域が対応する仮想ボリュームに割当てられる、請求項1記載のストレージシステム。
  6. 前記コントローラの前記第2処理部は、前記一つ又は複数の仮想ボリュームへ前記第2の論理領域を複数割当てるのに足る前記第1の論理領域の必要数に基づいて、前記RAIDグループに属する前記第1の論理領域を前記対応関係にある仮想ボリュームへの割当てから解放する、請求項1記載のストレージシステム。
  7. 前記コントローラは、前記一つ又は複数の仮想ボリュームへの前記第2の論理領域の割当て数を算出する第4処理部と、前記第2の論理領域の割当て数と前記RAIDグループ数に基づいて、RAIDグループ毎に必要な前記第1の論理領域の必要数を算出する第5処理部と、前記RAIDグル―プに属する、前記仮想ボリュームに割当てられている第1の論理領域の数と前記必要な第1の論理領域の数とを対比し、前者が後者より不足している場合に、同じRAIDグループ又は他のRAIDグループから、前記仮想ボリュームに割当てられていない第1の論理領域を前記第1の論理領域数が不足しているRAIDグループに割当てる第6処理部と、を有し、前記第2処理部は、後者が前者より多い場合に余分な第1の論理領域の前記仮想ボリュームへの割当てを解放する、請求項記載のストレージシステム。
  8. 前記コントローラの前記第2処理部は前記第1の論理領域の解放を、当該第1の論理領域の重要度を判定し、その判定の結果、重要度が低いものから実行する、請求項1記載のストレージシステム。
  9. 前記仮想ボリュームへの割当てられている前記第2の論理領域の数が多い程、又は、前記第1の論理領域に属する前記複数の第2の論理領域のそれぞれの優先度に基いて決定される、前記第1の論理領域の優先度が高い程、前記コントローラの前記第2処理部は、前記第1の論理領域の重要度を高いと判断する、請求項記載のストレージシステム。
  10. 前記5処理部は、前記第2の論理領域の割当て数を前記RAIDグループ数毎にした算出値を求め、この算出値以下の最大の整数値を前記第1の論理領域の必要数とし、前記第6処理部は、前記複数のRAIDグループについて前記第1の論理領域の必要数を合計したものが、前記一つ又は複数の仮想ボリュームへの前記第2の論理領域の割当て数を下回る数分の第1の論理領域を前記複数のRAIDグループの少なくとも一つのRAIDグループに設定する、請求項記載のストレージシステム。
  11. 前記5処理部は、前記第2の論理領域の割当て数を前記RAIDグループ数毎にした算出値を求め、この算出値以上の最小の整数値を前記第1の論理領域の必要数とする、請求項記載のストレージシステム。
  12. 計算機と記憶装置とに接続され、前記記憶装置の記憶領域を用いて前記計算機からのライトアクセスを処理するストレージ装置であって、
    前記記憶装置の前記記憶領域を、1以上のプール、前記1以上のプールのそれぞれに含まれる1以上のRAIDグループ、前記1以上のRAIDグループのそれぞれに含まれる複数の第1の論理領域、前記複数の第1の論理領域のそれぞれを構成する複数の第2の論理領域、として管理し、前記計算機に複数の仮想ボリュームを提供するコントローラと、
    前記計算機を接続する第1のインターフェース、
    前記記憶装置を接続する第2のインターフェース、
    前記複数の第1の論理領域を管理するための第1の制御情報と、前記第1の論理領域に複数の第2の論理領域を管理するための第2の制御情報と、前記複数の第1の論理領域と前記複数の仮想ボリュームとの間の対応関係を定める第3の制御情報と、を格納する制御メモリ、
    前記コントローラは、
    前記計算機から前記ライトアクセスを受信すると、前記第3の制御情報により前記宛先仮想ボリュームに対応する前記第1の論理領域を判定し、当該第1の論理領域に属する前記複数の第2の論理領域のうちの1つを、前記宛先仮想ボリュームのデータがライトされるべき領域に割当てる第1処理部と、
    前記複数の仮想ボリュームのうちの何れかに対応付けられた第1の論理領域を前記対応関係にある仮想ボリュームから解放する第2処理部と、
    当該解放の際、前記解放される第1の論理領域に属する1以上の第2の論理領域に格納されているデータを、他の第1の論理領域に属する1以上の他の第2の論理領域に移行し、前記1以上の第2の論理領域を前記対応関係にある仮想ボリュームから解放する第3処理部と、を備えるストレージ装置。
  13. 計算機からのライトアクセスを処理するストレージシステムの記憶領域の最適化方法であって、
    前記ストレージシステムは、前記計算機に複数の仮想ボリュームを提供し、当該計算機から前記ライトアクセスを受信すると、前記ライトアクセスに伴うライトデータを、記憶装置の何れかの記憶領域に格納させるコントローラを有し、
    当該コントローラは、
    前記記憶装置の前記記憶領域を、1以上のプール、前記1以上のプールのそれぞれに含まれる1以上のRAIDグループ、前記1以上のRAIDグループのそれぞれに含まれる複数の第1の論理領域、前記複数の第1の論理領域のそれぞれを構成する複数の第2の論理領域、として管理し、
    前記ライトアクセスを受信すると、前記ライトアクセスの宛先仮想ボリュームに対応する前記第1の論理領域を判定し、当該第1の論理領域に属する前記複数の第2の論理領域のうちの1つを前記宛先仮想ボリュームのデータがライトされるべき領域に割当て、
    前記複数の仮想ボリュームのうちの何れかに対応付けられた第1の論理領域を前記何れかの仮想ボリュームから解放し、
    前記第1の論理領域を解放する際に、前記第1の論理領域に属する割当て済みの1以上の前記第2の論理領域に格納されているデータを、他の第1の論理領域に属する1以上の他の第2の論理領域に移行し、前記1以上の第2の論理領域を前記何れかの仮想ボリュームから解放する、
    各ステップを実行する、
    ストレージシステムの記憶領域の最適化方法。
JP2012501484A 2009-10-15 2009-10-15 ストレージシステム、ストレージ装置、ストレージシステムの記憶領域の最適化方法 Expired - Fee Related JP5439581B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2009/005383 WO2011045838A1 (en) 2009-10-15 2009-10-15 Storage system, storage apparatus, and optimization method of storage areas of storage system

Publications (2)

Publication Number Publication Date
JP2012533099A JP2012533099A (ja) 2012-12-20
JP5439581B2 true JP5439581B2 (ja) 2014-03-12

Family

ID=42133562

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012501484A Expired - Fee Related JP5439581B2 (ja) 2009-10-15 2009-10-15 ストレージシステム、ストレージ装置、ストレージシステムの記憶領域の最適化方法

Country Status (3)

Country Link
US (2) US8402215B2 (ja)
JP (1) JP5439581B2 (ja)
WO (1) WO2011045838A1 (ja)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8886909B1 (en) 2008-03-31 2014-11-11 Emc Corporation Methods, systems, and computer readable medium for allocating portions of physical storage in a storage array based on current or anticipated utilization of storage array resources
US8443369B1 (en) 2008-06-30 2013-05-14 Emc Corporation Method and system for dynamically selecting a best resource from each resource collection based on resources dependencies, prior selections and statistics to implement an allocation policy
US8407445B1 (en) * 2010-03-31 2013-03-26 Emc Corporation Systems, methods, and computer readable media for triggering and coordinating pool storage reclamation
US8924681B1 (en) 2010-03-31 2014-12-30 Emc Corporation Systems, methods, and computer readable media for an adaptative block allocation mechanism
US8443163B1 (en) 2010-06-28 2013-05-14 Emc Corporation Methods, systems, and computer readable medium for tier-based data storage resource allocation and data relocation in a data storage array
US9311002B1 (en) 2010-06-29 2016-04-12 Emc Corporation Systems, methods, and computer readable media for compressing data at a virtually provisioned storage entity
US8806154B1 (en) * 2011-05-06 2014-08-12 Chelsio Communications, Inc. Thin provisioning row snapshot with reference count map
US8745327B1 (en) 2011-06-24 2014-06-03 Emc Corporation Methods, systems, and computer readable medium for controlling prioritization of tiering and spin down features in a data storage system
JP5821392B2 (ja) * 2011-08-12 2015-11-24 富士通株式会社 ストレージ装置、およびストレージ管理方法
CN104956318B (zh) * 2013-02-01 2018-05-18 日立数据系统工程英国有限公司 用于在数据存储系统中实现存储的细粒度、可伸缩分配的方法和装置
JP6152704B2 (ja) * 2013-05-28 2017-06-28 富士通株式会社 ストレージシステム、情報処理装置の制御プログラム、およびストレージシステムの制御方法
WO2015001620A1 (ja) * 2013-07-02 2015-01-08 株式会社日立製作所 ストレージシステム、記憶制御方法、及び計算機システム
US10120617B2 (en) 2013-11-12 2018-11-06 International Business Machines Corporation Using deterministic logical unit numbers to dynamically map data volumes
US9323764B2 (en) * 2013-11-12 2016-04-26 International Business Machines Corporation Copying volumes between storage pools
US9921910B2 (en) * 2015-02-19 2018-03-20 Netapp, Inc. Virtual chunk service based data recovery in a distributed data storage system
WO2016142998A1 (ja) * 2015-03-06 2016-09-15 株式会社日立製作所 計算機システム
FI127335B (en) 2016-05-27 2018-04-13 Cysec Ice Wall Oy Logging of telecommunications on a computer network
KR102581479B1 (ko) * 2016-05-31 2023-09-21 삼성전자주식회사 스토리지 시스템 및 그의 볼륨 관리 방법
US10459868B1 (en) * 2016-09-20 2019-10-29 Marvell International Ltd. Modular chip expansion bridge and corresponding methods
WO2018131127A1 (ja) * 2017-01-12 2018-07-19 株式会社日立製作所 ストレージ装置及び分散ストレージシステム
US10339067B2 (en) * 2017-06-19 2019-07-02 Advanced Micro Devices, Inc. Mechanism for reducing page migration overhead in memory systems
US10761743B1 (en) 2017-07-17 2020-09-01 EMC IP Holding Company LLC Establishing data reliability groups within a geographically distributed data storage environment
JP6853227B2 (ja) * 2018-10-10 2021-03-31 株式会社日立製作所 ストレージシステム及びストレージ制御方法
US11436203B2 (en) 2018-11-02 2022-09-06 EMC IP Holding Company LLC Scaling out geographically diverse storage
US11748004B2 (en) 2019-05-03 2023-09-05 EMC IP Holding Company LLC Data replication using active and passive data storage modes
US11449399B2 (en) 2019-07-30 2022-09-20 EMC IP Holding Company LLC Mitigating real node failure of a doubly mapped redundant array of independent nodes
US11449248B2 (en) 2019-09-26 2022-09-20 EMC IP Holding Company LLC Mapped redundant array of independent data storage regions
US11435910B2 (en) 2019-10-31 2022-09-06 EMC IP Holding Company LLC Heterogeneous mapped redundant array of independent nodes for data storage
US11435957B2 (en) 2019-11-27 2022-09-06 EMC IP Holding Company LLC Selective instantiation of a storage service for a doubly mapped redundant array of independent nodes
US11507308B2 (en) 2020-03-30 2022-11-22 EMC IP Holding Company LLC Disk access event control for mapped nodes supported by a real cluster storage system
US11693983B2 (en) 2020-10-28 2023-07-04 EMC IP Holding Company LLC Data protection via commutative erasure coding in a geographically diverse data storage system
US11847141B2 (en) 2021-01-19 2023-12-19 EMC IP Holding Company LLC Mapped redundant array of independent nodes employing mapped reliability groups for data storage
US11625174B2 (en) * 2021-01-20 2023-04-11 EMC IP Holding Company LLC Parity allocation for a virtual redundant array of independent disks
US11449234B1 (en) 2021-05-28 2022-09-20 EMC IP Holding Company LLC Efficient data access operations via a mapping layer instance for a doubly mapped redundant array of independent nodes
US11354191B1 (en) 2021-05-28 2022-06-07 EMC IP Holding Company LLC Erasure coding in a large geographically diverse data storage system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6823442B1 (en) 2003-05-12 2004-11-23 3Pardata, Inc. Method of managing virtual volumes in a utility storage server system
JP4146380B2 (ja) * 2004-03-29 2008-09-10 東芝ソリューション株式会社 ストレージシステム、ブロック再配置制御方法及びプログラム
US7584341B2 (en) * 2005-11-15 2009-09-01 Sanrad, Ltd. Method for defragmenting of virtual volumes in a storage area network (SAN)
JP2007293442A (ja) * 2006-04-21 2007-11-08 Hitachi Ltd ストレージシステム及びその制御方法
JP5073259B2 (ja) * 2006-09-28 2012-11-14 株式会社日立製作所 仮想化システム及び領域割当て制御方法
JP4939234B2 (ja) * 2007-01-11 2012-05-23 株式会社日立製作所 フラッシュメモリモジュール、そのフラッシュメモリモジュールを記録媒体として用いたストレージ装置及びそのフラッシュメモリモジュールのアドレス変換テーブル検証方法
JP5069011B2 (ja) * 2007-01-29 2012-11-07 株式会社日立製作所 ストレージモジュール及び容量プール空き容量調整方法
JP2008204041A (ja) * 2007-02-19 2008-09-04 Hitachi Ltd ストレージ装置及びデータ配置制御方法
JP5379956B2 (ja) * 2007-03-19 2013-12-25 株式会社日立製作所 ストレージ装置及び記憶領域配置方法

Also Published As

Publication number Publication date
US8402215B2 (en) 2013-03-19
JP2012533099A (ja) 2012-12-20
US20110191536A1 (en) 2011-08-04
US20130191593A1 (en) 2013-07-25
US8762639B2 (en) 2014-06-24
WO2011045838A1 (en) 2011-04-21

Similar Documents

Publication Publication Date Title
JP5439581B2 (ja) ストレージシステム、ストレージ装置、ストレージシステムの記憶領域の最適化方法
US8447946B2 (en) Storage apparatus and hierarchical data management method for storage apparatus
US9037829B2 (en) Storage system providing virtual volumes
US8612704B2 (en) Storage system with virtual areas and method for managing storage system
US8918613B2 (en) Storage apparatus and data management method for storage area allocation based on access frequency
JP5981563B2 (ja) 情報記憶システム及び情報記憶システムの制御方法
JP4684864B2 (ja) 記憶装置システム及び記憶制御方法
WO2013164878A1 (ja) 計算機システムの管理装置および管理方法
JP5363595B2 (ja) 仮想ボリューム内のデータの再配置を行うストレージシステム及び方法
US9792073B2 (en) Method of LUN management in a solid state disk array
US20120017042A1 (en) Storage control apparatus and storage system comprising multiple storage control apparatuses
US20130138908A1 (en) Storage system and pool capacity scale-down control method
JP5816303B2 (ja) フラッシュメモリを含むストレージシステム、及び記憶制御方法
JP6340439B2 (ja) ストレージシステム
WO2013046331A1 (ja) 計算機システム、及び情報管理方法
JP5395962B2 (ja) 計算機システム、及びその管理方法、並びに、プログラム
WO2011101909A1 (ja) 仮想ボリュームの制御方法及びストレージ装置
WO2015087442A1 (ja) ストレージシステムの移行方式および移行方法
US8954658B1 (en) Method of LUN management in a solid state disk array
US20150089129A1 (en) Computer system and storage management method
WO2014170936A1 (ja) ストレージ装置及びストレージ装置の制御方法
US8572347B2 (en) Storage apparatus and method of controlling storage apparatus
US20120254583A1 (en) Storage control system providing virtual logical volumes complying with thin provisioning
WO2015189988A1 (ja) ファイル再配置ポリシーを出力する管理サーバ、及びストレージシステム
WO2018116392A1 (ja) 情報処理システム、及び、情報処理方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130430

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130507

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130708

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130813

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131015

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131216

R150 Certificate of patent or registration of utility model

Ref document number: 5439581

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees