JP2010211743A - ストレージ装置を管理する計算機及び方法 - Google Patents

ストレージ装置を管理する計算機及び方法 Download PDF

Info

Publication number
JP2010211743A
JP2010211743A JP2009059886A JP2009059886A JP2010211743A JP 2010211743 A JP2010211743 A JP 2010211743A JP 2009059886 A JP2009059886 A JP 2009059886A JP 2009059886 A JP2009059886 A JP 2009059886A JP 2010211743 A JP2010211743 A JP 2010211743A
Authority
JP
Japan
Prior art keywords
pool
capacity
storage
raid
raid group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009059886A
Other languages
English (en)
Other versions
JP2010211743A5 (ja
JP5214502B2 (ja
Inventor
Masayasu Asano
正靖 淺野
Kunihiro Maki
晋広 牧
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
Priority to JP2009059886A priority Critical patent/JP5214502B2/ja
Priority to US12/453,807 priority patent/US8209484B2/en
Priority to EP09174071A priority patent/EP2228712A3/en
Publication of JP2010211743A publication Critical patent/JP2010211743A/ja
Publication of JP2010211743A5 publication Critical patent/JP2010211743A5/ja
Priority to US13/473,546 priority patent/US8527700B2/en
Application granted granted Critical
Publication of JP5214502B2 publication Critical patent/JP5214502B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/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/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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices

Abstract

【課題】ストレージ装置に対する入出力を好適に維持しつつストレージ装置の構成変更を行えるよう支援する。
【解決手段】管理計算機が、プールについてのプール用途を表すプール用途情報と、プール用途についての条件を表す用途条件情報とを管理する。管理計算機は、プールについてのプール使用状況を基に余剰の記憶容量を算出する。管理計算機は、プール用途情報及び用途条件情報を基に、そのプールについてのプール用途とそのプール用途についての条件とを特定する。そして、管理計算機は、算出された余剰の記憶容量以下の記憶領域をプールから削除しても上記特定された条件を満たすか否かを判定し、その判定の結果が肯定的の場合に、余剰の記憶容量以下の容量を未使用容量と定義する。
【選択図】図18

Description

本発明は、ストレージ装置の管理に関する。
論理ボリュームの一例として、特許文献1に開示されているような仮想ボリュームがある。仮想ボリュームは、複数のアドレス範囲を有している。或るアドレス範囲がライト先となる場合、そのアドレス範囲に、プールから物理領域(物理的な記憶領域)が割り当てられ、割り当てられた物理領域に、ライト対象のデータがライトされる。これにより、仮想ボリュームの実記憶容量が、動的に拡張される。割当て済み物理領域の或るアドレス範囲に対する割当てが解除されれば、その物理領域は未使用の物理領域となる。
プールの使用容量(割当て済みの物理領域の総記憶容量)の単位時間当りの変化量は、仮想ボリュームへのアクセスの傾向によって動的に異なる。このため、プールには、或る程度の余分な記憶容量が確保される。
しかし、アクセス傾向によっては、プールの使用容量があまり増加せず、それ故、プールのために確保されている記憶容量に無駄な記憶容量があることになってしまう。
例えば特許文献2には、以下の技術、すなわち、ボリュームの作成要求に応じて、プールの使用容量の増加傾向を把握し、或る時点で無駄と判断された記憶容量を、作成するボリュームの容量として用いる技術が開示されている。
特開2003−15915号公報 特開2007−241593号公報
余剰の記憶容量分の物理領域をプールから削除することで、無駄に確保されている記憶容量を減らすことができる。しかし、そうすることが、ストレージ装置に対する入出力の観点で好ましく無いことが生じ得る。
このような課題は、仮想ボリュームに対するデータを格納するプールに限らず、他種のプール(例えば、コピー元のボリュームの差分情報やジャーナル情報を格納するプール)についても同様に生じ得る。
本発明の目的は、ストレージ装置に対する入出力を好適に維持しつつストレージ装置の構成変更を行えるよう支援することにある。
ストレージ装置に接続された管理計算機内の記憶資源が、プール管理情報を記憶する。プール管理情報は、プールについてのプール用途を表すプール用途情報と、プール用途についての条件を表す用途条件情報とを含む。プールは、RAID(Redundant Array of Independent (or Inexpensive) Disks)グループに基づく実ボリュームを1つ以上有する。管理計算機内のプロセッサが、
以下の(A)乃至(D)の処理、
(A)プールについてのプール使用状況を基に余剰の記憶容量を算出する;
(B)上記プール管理情報を基に、そのプールについてのプール用途と、そのプール用途についての条件とを特定する;
(C)算出された余剰の記憶容量以下の記憶領域をプールから削除しても上記特定された条件を満たすか否かを判定する;
(D)上記(C)での判定の結果が肯定的の場合に、余剰の記憶容量以下の容量を未使用容量と定義する;
を実行する。
プロセッサは、例えば、ストレージ装置の未使用容量を表す情報を含んだ記憶容量レポートを出力する。その未使用容量は、例えば、RAIDグループについての未使用容量と、上記(D)で未使用容量と定義された容量(余剰の記憶容量以下の容量)との合計(又はそれに基づく容量)である。
ここで、「RAIDグループについての未使用容量」とは、論理ボリュームが定義されていない記憶領域の容量である。つまり、RAIDグループに基づく記憶空間の全部又は一部を論理ボリュームとして定義することができるが、その記憶空間のうち論理ボリュームとして定義されていない記憶空間部分が、RAIDグループについての未使用の部分であり、その記憶空間部分の容量が、RAIDグループについての未使用容量である。
一方、プールについての未使用容量とは、プールが有する複数の物理領域のうち仮想ボリュームに割り当てられていない一以上の物理領域の総量である。プール使用状況から、プールについての未使用容量が把握され、その未使用容量を基に、余剰の記憶容量を算出する。
図1は、本発明の第一の実施形態に係る計算機システムの構成を示す。 図2は、ストレージ1000の構成を示す。 図3は、管理計算機1200の構成を示す。 図4は、RAIDグループテーブル4000を示す。 図5は、プール容量テーブル5000を示す。 図6は、仮想ボリュームテーブル6000を示す。 図7は、プール割当テーブル7000を示す。 図8は、プールボリュームテーブル8000を示す。 図9は、仮想ボリューム割当テーブル9000を示す。 図10は、ストレージ識別テーブル10000を示す。 図11は、プール設定テーブル11000を示す。 図12は、プール容量増加判定テーブル12000を示す。 図13は、プール用途テーブル13000を示す。 図14は、プール設定画面14000を示す。 図15は、容量レポート出力指示画面15000を示す。 図16は、本発明の第一の実施形態に係る容量レポート画面16000を示す。 図17は、プール作成処理のフローチャートである。 図18は、容量レポート表示処理のフローチャートである。 図19は、本発明の第二の実施形態に係る容量レポート画面26000を示す。
以下、図面を参照して、本発明の幾つかの実施形態を説明する。なお、以下の説明において、コンピュータプログラムが行う処理は、実際には、そのコンピュータプログラムを実行するプロセッサが行うことになる。
図1は、本発明の第一の実施形態に係る計算機システムの構成を示す。
複数(又は一つ)のホスト計算機(以下、ホスト)1100と、複数(又は一つ)のストレージ装置(以下、ストレージ)1000とが、データネットワーク1300を介して接続される。各ストレージ1000は、データネットワーク1300を介して、ホスト1100から入出力要求(I/O要求)を受け付ける。I/O要求は、例えば、ストレージ装置1000が管理する論理ボリュームを指定したライト要求又はリード要求である。各ストレージ1000にとっての外部装置は、ホスト1100に代えて、外部のストレージ1000であっても良い。
ホスト1100からストレージ1000へのアクセスは、例えば、ブロックレベルのアクセスである。このため、データネットワーク1300は、通常、FC(Fibre Channel)ネットワークが考えられる。しかし、それに限らず、データネットワーク1300は、iSCSIなどを通す、TCP/IPのネットワークであってもよい。あるいは、ホスト1100の中にストレージ1000が含まれてもよい。すなわち、データネットワーク1300がホスト1100の内部バスとなり、ホスト1100がストレージ1000の機能を実現してもよい。このケースとしては、例えば、NAS(Network Attached Storage)が考えられる。
管理計算機1200と各ストレージ1000とが、管理ネットワーク1400を介して接続される。管理計算機1200は、管理ネットワーク1400を介して、ストレージ1000が管理する情報(例えば後述のストレージ構成情報1042(図2参照))をストレージ1000から取得する。なお、ストレージ1000が、自発的に(例えば管理計算機1200から何ら要求を受けることなく)、管理情報を管理計算機1200に送信しても良い。
管理ネットワーク1400は、管理情報が取得できれば、どのような種類のネットワークであっても良い。管理ネットワーク1400に各ホスト1100が接続されていても良く、この場合、管理計算機1200は各ホスト1100と通信しても良い。また、管理計算機1200及びホスト1100が接続される第一の管理ネットワークと、管理計算機1200及びストレージ1000が接続される第二の管理ネットワークとが、別々のネットワークであってもよい。例えば、第一の管理ネットワークがTCP/IPネットワークで、第二のネットワークがFCネットワークであっても良い。
図2は、ストレージ1000の構成を示す。
ストレージ1000は、下記の要素:
データネットワーク1300に接続され、ホスト1100からI/O要求を受け付けるインターフェイス装置(入出力I/F)1010;
管理ネットワーク1400に接続され、管理計算機1200から種々の要求を受け付けるインターフェイス装置(管理I/F)1011;
ストレージ1000の動作を制御するコントローラ(例えば、マイクロプロセッサ、又は、マイクロプロセッサを備えた回路基板)1020;
コントローラ1020に接続されており、ストレージ1000の性能向上のために利用される(例えば、論理ボリュームに読み書きされるデータを一時的に記憶する)キャッシュメモリ(以下、キャッシュ)1030;
コントローラ1020に接続されているメモリ1040;
コントローラ1020に接続されている複数(又は一つ)のRAIDグループ1080;
を備える。
RAIDグループ1080は、所定のRAIDレベルでデータを記憶する、二以上のハードディスク1070で構成されたグループである。ハードディスク1070に代えて、他種のストレージ媒体、例えば、フラッシュメモリが採用されてもよい。
RAIDグループ1080の記憶空間を基に作成された論理ボリュームが、実ボリューム1050である。実ボリューム1050は、ホスト1100に提供されることのない論理ボリュームであるプールボリューム1022とされることもできるし、ホスト1100に提供される論理ボリュームである通常の論理ボリュームとされることもできる。なお、RAIDグループ1080は外部のストレージ1000に備えられていて、その外部のストレージ1000のRAIDグループ1080を基に、図2に示されるストレージ1000が実ボリューム1050(例えばプールボリューム又は通常の論理ボリューム)を備えても良い。
ストレージ1000では、プール1060が管理される。プール1060は、1又は複数のプールボリューム1022を有する。各プールボリューム1022は、複数の物理領域で構成されている。それ故、プール1060は、多数の物理領域を有する。それぞれの物理領域は、例えば全て同一のサイズである。
また、ストレージ1000では、仮想ボリューム1051が管理される。仮想ボリューム1051は、ホスト1100に提供される論理ボリューム(つまり、通常の論理ボリューム)の一種であり、RAIDグループ1080に基づかない論理ボリュームである。仮想ボリューム1051は、複数のアドレス範囲(別の言い方をすれば仮想領域)を有する。各アドレス範囲に、プールにおけるいずれかの物理領域が割り当てられる。
メモリ1040は、ストレージ構成プログラム1041と、ストレージ構成情報1042とを記憶する。ストレージ構成プログラム1041は、コントローラ1020によって実行される。ストレージ構成情報1042は、ストレージ構成プログラム1041から参照される情報であり、ストレージ1000の構成に関する管理情報である。なお、この情報1042は、管理計算機1200のメモリ1230(図3参照)で管理されてもよい。
ストレージ構成プログラム1041は、ストレージ1000の構成について管理するプログラムであり、下記の機能:
実ボリューム1050、仮想ボリューム1051、プールボリューム1052及びプール1060を作成する機能;
仮想ボリューム1051にプール1060内の物理領域を割り当てる機能;
実ボリューム1050や仮想ボリューム1051を入出力I/F1010経由でホスト1100に提供する機能;
実ボリューム1050や仮想ボリューム1051間でのデータ移行を行なう機能;
などを有する。
前述した実ボリューム1050及びプールボリューム1052は、RAIDグループ180に基づくことに代えて、ハードディスク1070それ自体に基づく論理ボリュームであっても良い。
図3は、管理計算機1200の構成を示す。
管理計算機1200は、入出力装置1210と、CPU(Central Processing Unit)1220と、メモリ1230と、管理I/F1260とを有する。
管理I/F1260は、管理ネットワーク1400に接続されるインターフェイス装置である。管理計算機1200は、管理I/F1260を介して、ストレージ1000(及びホスト1100)と通信する。
入出力装置1210は、入力装置(例えば、キーボード、ポインティングデバイス或いはマイク)と、出力装置(例えば、ディスプレイ装置、プリンタ、或いはスピーカ)とを有する。
メモリ1230は、仮想ボリュームを設定するための仮想ボリューム設定プログラム1231と、プールを設定するためのプール設定プログラム1232と、通常ボリュームを設定するための通常ボリューム設定プログラム1233と、容量レポートを出力するための容量レポートプログラム1234と、プール管理情報1235とを記憶する。これらのコンピュータプログラム1231〜1234は、それぞれ、CPU1220によって実行される。プール管理情報1235は、プール1060に関する管理情報である。
ところで、ストレージ1000が有するストレージ構成情報1042は、下記テーブル:
図4に示すRAIDグループテーブル4000;
図5に示すプール容量テーブル5000;
図6に示す仮想ボリュームテーブル6000;
図7に示すプール割当テーブル7000;
図8に示すプールボリュームテーブル8000;
図9に示す仮想ボリューム割当テーブル9000;
図10に示すストレージ識別テーブル10000;
を有する。以下、これらのテーブルについて説明する。なお、以下の説明では、特に記載が無い限り、記憶容量の単位は「バイト」である。例えば、テーブルに或る記憶容量として「10G」と記載されていれば、その記憶容量は10Gバイト(ギガバイト)である。
図4は、RAIDグループテーブル4000を示す。
RAIDグループテーブル4000は、RAIDグループ毎に、下記の情報要素:
RAIDグループの識別子であるRAIDグループID4010;
RAIDグループの記憶容量(以下、「全体容量」と言う)を示す全体容量4020;
RAIDグループの全体容量のうちの使用容量を示す使用容量4030;
RAIDグループの全体容量のうちの未使用容量を示す未使用容量4040;
RAIDグループを構成するハードディスク1070の種別を示すディスク種別4050;
RAID構成のタイプ(RAIDレベル)を示すRAIDタイプ4060;
RAIDグループを構成するハードディスク1070の数を示すディスク数4070;
を有する。
ここで、RAIDグループの使用容量とは、RAIDグループに基づく記憶空間のうち論理ボリュームに使用されている記憶空間部分の容量である。一方、RAIDグループの未使用容量とは、RAIDグループに基づく記憶空間のうち論理ボリュームに使用されていない記憶空間部分の容量である(言い換えれば、全体容量から使用容量を減算することで得られる記憶容量である)。
図5は、プール容量テーブル5000を示す。
プール容量テーブル5000は、プール毎に、下記の情報要素:
プール1060の識別子であるプールID5010;
プール1060の記憶容量(全体容量)を示す全体容量5020;
プール1060から仮想ボリューム1051に割り当てられた物理領域の総記憶容量を示す割当容量5030;
割当容量の閾値を示す閾値5040;
を有する。
閾値5040は、仮想容量(仮想ボリュームの記憶容量)に対する割当容量の割合であり、例えば百分率で表される。仮想容量に対する割当容量の割合が、閾値5040を超ええることが、プールの全体容量を増やすかどうかの判断材料となる。ストレージ1000は、仮想容量に対する割当容量の割合が閾値5040を超えた場合に、仮想ボリューム1051に物理領域を割り当てないという制御を行っても良い。閾値5040は、ユーザから設定されてもよいし、プールの全体容量に応じてストレージ構成プログラム1041から自動的に設定されてもよい。また、閾値5040は、百分率に代えて記憶容量で表現されても良い。
図6は、仮想ボリュームテーブル6000を示す。
仮想ボリュームテーブル6000は、仮想ボリューム毎に、下記の情報要素:
仮想ボリューム1051の識別子である仮想ボリュームID6010;
仮想ボリューム1051に対応付けられたプール(仮想ボリューム1051に割り当てられる物理領域の提供元のプール)1060の識別子を示すプールID6020;
仮想ボリューム1051の記憶容量(仮想容量)であってホスト1100に認識される記憶容量を示す仮想容量6030;
仮想ボリューム1051に割当て済みの物理領域の総記憶容量を示す実割当容量6040;
を有する。
前述したとおり、ホスト1100からの仮想ボリューム1051に対するライト要求に応じて、仮想ボリューム1051の実割当容量が増えていくことになる。ホスト1100に仮想ボリューム1051を認識させるために、各仮想ボリューム1051に対して、LUN(論理ユニット番号)と、SCSIのポートIDといった情報を利用することができる。この場合、LUNやポートIDが仮想ボリュームテーブル6000に登録されていてもよい。
仮想ボリューム1051の設定においては、仮想ボリューム設定プログラム1231が、プールID及び仮想容量を、設定のパラメータとしてストレージ1000に指定する。ストレージ構成プログラム1042が、指定された仮想容量を有し指定されたプールIDから識別されるプールが対応付けられた仮想ボリュームを設定する。プールID及び仮想容量(パラメータ)は、ユーザが指定し設定することに代えて、ストレージ1000で自動的に設定しても良い。
なお、図6に示したテーブル5000には、プールP1が対応付けられた仮想ボリュームに関する情報しか記載されていないが、実際にはプールP2に対応付けられた仮想ボリュームやプールP3に対応付けられた仮想ボリュームに関する情報も登録されることになる。
図7は、プール割当テーブル7000を示す。
プール割当テーブル7000は、プール毎に、下記の情報要素:
プール1060の識別子を示すプールID7010;
プール1060が有するプールボリューム1052の識別子を示すプールボリュームID7020;
物理領域であるチャンクの識別子を示すチャンクID7030;
そのチャンクが占めるLBA(Logical Block Address)の範囲を表す割当LBA7040;
そのチャンクが割り当てられているか否かの状況を示す割当状態7050;
を有する。
割当状態7050の値としては、例えば、割当て済みを意味する「割当」と、未割当てを意味する「未割当」とがある。値が「割当」の場合、割当先の仮想ボリュームのIDも、その値に含まれる。例えば、このテーブル7000によれば、チャンクID「C11」のチャンクは、プールP1内のプールボリュームV100の先頭から0GB目のアドレスを基点とし先頭から2GB目のアドレスを終点とする2Gバイトの物理領域であり、仮想ボリュームV1に割当済みであることがわかる。
プールについての全体容量5020は、そのプールが有するチャンクの総記憶容量であり、プールについての割当容量5030は、そのプール1060からの割当て済みのチャンクの総記憶容量である。
なお、このテーブル7000には、プールP1の一部のチャンクのみ記載されているが、実際には、全てのプールの全てのチャンクについても同様に管理される。
図8は、プールボリュームテーブル8000を示す。
プールボリュームテーブル8000は、プールボリューム毎に、下記の情報要素:
プールボリュームの1052識別子を示すプールボリュームID8010;
プールボリューム1052の基になっているRAIDグループ1080の識別子を示すRAIDグループID8020;
プールボリューム1052の容量を示す容量8030;
プールボリューム1052から仮想ボリュームに割当て済みのチャンクの総記憶容量を示す割当容量8040;
を有する。
図9は、仮想ボリューム割当テーブル9000を示す。
仮想ボリューム割当テーブル9000は、仮想ボリューム毎に、下記の情報要素:
仮想ボリューム1051の識別子を示す仮想ボリュームID9010;
仮想ボリューム1051に対応付けられているプール1060の識別子を示すプールID9020;
割当てられているチャンクの識別子を示すチャンクID9030;
仮想ボリューム1051が有する複数のアドレス範囲のうちチャンクが割り当てられているアドレス範囲を示す割当LBA9040;
を有する。
このテーブル9000によれば、仮想ボリュームV2が有する複数のアドレス範囲のうちの、先頭から2Gバイト目のアドレスを基点とし先頭から4GB目のアドレスを終点とする2Gバイトのアドレス範囲に、チャンクC13が割り当てられている。
なお、このテーブル9000には、仮想ボリュームV1及びV2の一部のアドレス範囲についてのみ情報が記載されているが、他のアドレス範囲についても同様に管理される。
ここで、本実施形態において実行される仮想ボリュームへのホストからのI/O処理について説明する。
最初に、仮想ボリューム1051に対するライト要求を受信したストレージ1000が実行する処理について説明する。
仮想ボリューム1051に対してライト要求がまだ一度も実行されていない場合、その仮想ボリューム1051には、チャンクが全く割り当てられていない。ただし、何らかの理由によって、仮想ボリューム1051の一部のアドレス範囲に最初からチャンクが割り当てられていてもよい。
コントローラ1020は、仮想ボリューム1051のアドレス範囲を指定したライト要求を受信する。コントローラ1020は、指定されたアドレス範囲に、チャンクが割り当てられているか否かを確認する。チャンクが割り当てられている場合、コントローラ1020は、割り当てられたチャンクにライト対象のデータを格納する。
一方、指定されたアドレス範囲にチャンクが割り当てられていない場合、コントローラ1020は、指定されたアドレス範囲に、仮想ボリューム1051のいずれのアドレス範囲にも割り当てられていないチャンク(未割当てのチャンク)を割り当て、そのチャンクにデータを格納する。さらに、コントローラ1020は、その新たな割り当てを基にストレージ構成情報(プールテーブル8000等)を更新する。
次に、仮想ボリューム1051に対するリード要求を受信したストレージ1000が実行する処理について説明する。
コントローラ1020は、仮想ボリューム1051のアドレス範囲を指定したリード要求を受信する。コントローラ1020は、指定されたアドレス範囲に、プール1060のチャンクが割り当てられているか否かを確認する。チャンクが割り当てられている場合、コントローラ1020は、割り当てられたチャンクからデータを読み出し、ホスト1100に返す。
一方、指定されたアドレス範囲にチャンクが割り当てられていない場合、コントローラ1020は、指定されたアドレス範囲のデータ量に相当する所定のデータ(例えば「0」)をホスト1100に返す。
図10は、ストレージ識別テーブル10000を示す。
ストレージ識別テーブル10000は、ストレージ1000の識別子となるストレージID10010と、管理計算機1200が管理ネットワーク1400を介してストレージ1000にアクセスするために利用する情報であるIPアドレス10020とを有する。複数のIPアドレス10020が登録されていてもよい。
以上が、ストレージ構成情報1042についての説明である。
次に、管理計算機1200が有するプール管理情報1235を説明する。
プール管理情報1235は、下記テーブル:
図11に示すプール設定テーブル11000;
図12に示すプール容量増加判定テーブル12000;
図13に示すプール用途テーブル13000;
を有する。以下、これらのテーブルについて説明する。
図11は、プール設定テーブル11000を示す。このテーブル11000は、管理計算機1200に事前に設定されていても良いし、ユーザが適宜に設定したり変更したりしても良い。
プール設定テーブル11000は、プール用途毎に、下記の情報要素:
プールの用途を示すプール用途11010;
プール用途に関する条件を示す詳細11020;
1つのプールボリュームのサイズを示す一ボリュームサイズ11030;
プールの全体容量に対する使用容量の割合の閾値を示す閾値11040;
を有する。
プール用途11010の値としては、I/O性能(仮想ボリュームに対するI/Oの性能)が高いことをビットコスト(ビットあたりのコスト)が低いことよりも優先することを意味する「性能重視」と、ビットコストが低いことをI/O性能が高いことよりも優先することを意味する「コスト重視」と、複数種類のプールボリュームが混在することを意味する「階層構成重視」とがある。
プール用途についての条件は、プールの基になっているRAIDグループが一つであるか複数であるか、及び/又は、プールボリュームの種類に基づいている。具体的には、例えば、このテーブル11000によれば、下記の(1)〜(3)の定義:
(1)プール用途「性能重視」に対応したプールは、複数のプールボリュームが別々のRAIDグループに基づいていて、全てのプールボリュームがFC(Fibre Channel)プールボリュームであり、各FCプールボリュームが50Gバイトであること;
(2)プール用途「コスト重視」に対応したプールは、複数のプールボリュームが単一のRAIDグループに基づいていて、全てのプールボリュームがSATA(Serial ATA(Advanced Technology Attachment))プールボリュームであり、各SATAプールボリュームが50Gバイトであること;
(3)プール用途「階層構成重視」に対応したプールは、FCプールボリュームとSATAプールボリュームとが混在していること;
が設定されている。ここで、「FCプールボリューム」とは、FCのハードディスクで構成されたRAIDグループに基づく論理ボリュームである。「SATAプールボリューム」とは、SATAのハードディスクで構成されたRAIDグループに基づく論理ボリュームである。なお、ハードディスクの種類は、FCやSATA等のインターフェイスの違いで異なっていることに代えて又は加えて、メーカ、ストレージ媒体などの他種の観点から異なっていても良い。
図12は、プール容量増加判定テーブル12000を示す。
プール容量増加判定テーブル12000は、下記の情報要素:
プールの使用容量の増加傾向(以下、容量増加傾向)が低いかどうかの判定(以下、容量増加判定)の方法を示す容量増加判定12010;
プールの余剰の記憶容量を算出する方法を示すプール削減可能容量12020;
容量増加判定の対象となるための条件(具体的には、作成されてからどれだけの期間を経過したプールが容量増加判定の対象となるか)を示す対象期日12030;
を有する。
図12に示すテーブル12000の例によれば、容量増加判定の方法として、1か月で増加量が平均3%以上であることが基準となり、この増加量がない場合は、容量増加傾向が低いと判定されることになる。プールの容量増加傾向が低いと判定された場合、そのプールの余剰の記憶容量が算出されることになる。また、対象期日12030は、「作成後6か月以上」であることを示している。より具体的な値を言えば、或るプールの容量が1Tバイト(テラバイト)であり、そのプールが作成されてから6か月で、そのプールの使用容量の増加量が120Gである場合、平均増加量は1か月で20Gであり、20Gは、増加分としては2%であることがわかる。この場合には、プールの使用容量の増加量が少ない、つまり、容量増加傾向が低いと判定されることになる。
図13は、プール用途テーブル13000を示す。
プール用途テーブル13000は、プール毎に、下記の情報要素:
プールを有するストレージ1000の識別子であるストレージID13010;
プールの識別子であるプールID13020;
プールの用途を示すプール用途13030;
プールの作成日時を示す作成日時13040;
を有する。
ストレージID13010は、管理計算機1200が認識しているストレージ1000のIDであっても良い。この場合、プールがないストレージ1000に関しては、プールID13020、用途13030及び作成日時13040には無効値(例えば「−」(ハイフン))を登録し、プールがないストレージ1000を認識しているという管理がされてもよい。また、ストレージ1000にアクセスするためのIPアドレスなどの情報が必要な場合は、このテーブル13000に追加するか、別のテーブルで管理されてよい。ストレージID13010はIPアドレスの場合は、このテーブル13000にIPアドレス用のカラムを追加する必要は無い。
図14は、プール設定画面14000を示す。
この画面14000は、プール設定プログラム1232によってディスプレイ装置(入出力装置1210の一部)に表示される。この画面14000は、ユーザがプールを設定するための画面である。
この画面14000は、プールの全体容量を設定するための欄14100と、プール用途を設定するための欄14110と、各用途を持つプールの数を設定するための欄14120とを有する。また、この画面14000は、プール用途を追加したい場合に押されるボタン14200と、各欄に設定された条件をプール管理情報1235に適用するためのボタン14300と、この画面の設定をキャンセルする場合のボタン14400とを有する。
図15は、容量レポート出力指示画面15000を示す。
この画面15000は、容量レポートプログラム1234によってディスプレイ装置に表示される。この画面15000は、ストレージ1000の記憶容量に関するレポート(以下、容量レポート)の出力の指示をユーザが行なうための画面である。
この画面15000は、容量レポートの項目が表示される欄15100と、チェックボックスを有する欄15110とを有する。ユーザは、所望の項目に対応したチェックボックスにチェックマークを入力する。なお、項目「ストレージ」は、ストレージ単位で記憶容量がレポートされることを意味し、項目「RAIDグループ」は、RAIDグループ単位で記憶容量がレポートされることを意味する。容量レポートの項目として、ストレージ及び/又はRAIDグループに代えて又は加えて、ストレージID及び/又はRAIDグループIDがあっても良い。つまり、全てのストレージや全てのRAIDグループについての容量レポートではなく、ユーザ所望のストレージ又はRAIDグループについての容量レポートがされても良い。
また、この画面15000は、各欄に設定された条件を管理計算機1200に適用するためのボタン15300と、設定をキャンセルするためのボタン15400とを有する。
図16は、容量レポート画面16000を示す。
この画面16000は、容量レポートプログラム1234によってディスプレイ装置に表示される。この画面16000は、図15で選択された各項目についての容量レポートを表示する画面である。
例えば、図15の画面15000で項目「ストレージ」が選択された場合は、ストレージ容量レポート16100が表示され、項目「RAIDグループ」を選択された場合は、RAIDグループ容量レポート16200が表示される。そして、項目「ストレージ」と「RAIDグループ」の両方が選択された場合は、ストレージ容量レポート16100とRAIDグループ容量レポート16200との両方が表示されることになる。
ストレージ容量レポート16100は、管理計算機1200がアクセス可能なストレージ毎に、下記の情報要素:
ストレージの識別子であるストレージID16110;
ストレージの全体容量を示す全体容量16120;
ストレージで既に論理ボリュームとして定義されている容量を示す使用容量16130;
ストレージで次に使用容量として使用可能な容量を示す未使用容量16140;
を有する。
RAIDグループ容量レポート16200は、RAIDグループ毎に、下記の情報要素:
ストレージの識別子であるストレージID16210;
RAIDグループの識別子を表示するRAIDグループID16220;
RAIDグループの全体容量を示す全体容量16230;
RAIDグループですでに論理ボリュームとして定義されている容量を示す使用容量16240;
RAIDグループで次に使用容量として使用可能な容量を示す未使用容量16250;
を有する。
この画面16000から、複数のストレージ(及び複数のRAIDグループ)の未使用容量を一元的に把握することができる。例えば、ユーザは、この画面16000に表示されている容量レポートを、ボリューム(例えば、プールボリューム、或いは、アーカイブ等で容量増加を特に考えない通常ボリューム)の作成のための情報として利用することができる。また、各時点で取得された容量レポートを履歴として保存しておくことで、未使用容量(及び使用容量)の傾向を把握し、種々のことに役立てることが期待できる。
図17は、プール作成処理のフローチャートである。
プール設定プログラム1232は、プール設定要求を、プール設定画面14000(図14参照)を介してユーザから受ける(ステップ17000)。その画面14000に限らず、コマンドラインやファイルなどの他の形式で受けても良い。
次に、プール設定プログラム1232は、その画面14000で設定されたプール用途に応じたプールを設定できるか否かを判定する(ステップ17010)。ステップ17010での判定の結果が肯定的であれば、ステップ17020が行われ、ステップ17010での判定の結果が否定的であれば、ステップ17030が行われる。
この判定は、プール設定画面14000に入力された情報と、プール設定テーブル11000(図11参照)とを基に行われる。
例えば、図14の例によれば、二つのプールの設定要求があり、第一のプールは、プール用途が「性能重視」で、全体容量が「100G」のプールである。この場合、図11の例に従えば、「性能重視」の場合、「複数のRAIDグループに分散/FC」とあり、また一つのプールボリュームのサイズは「50G」であることがわかる。よって、第一のプールは、図14の例で示した容量が100Gであるので、FCのハードディスクで構成された2つのRAIDグループで各50Gのボリュームで構成すべきことがわかる。
そして、対象となるRAIDグループがあるか調べることになる。図4のRAIDグループテーブル4000の例によれば、RAIDグループRG1及びRG2のそれぞれについて、ハードディスクがFCで、未使用容量(200G、150G)が50G以上なので、各50G分のボリュームの作成が可能であることがわかる。よって、要求された第一のプールの設定が可能であることがわかる。よって、第一のプールについては、ステップ17020が行われることになる。
一方、図14の例において、二つのプールのうちの第二のプールは、プール用途が「コスト重視」であり、全体容量が「100G」のプールであることがわかる。この場合、図11の例によれば、コスト重視の場合、「RAIDグループに集中/SATA」とあり、また、一プールボリュームのサイズは「50G」であることがわかる。よって、第二のプールは、図14の例によれば、指定された全体容量が「100G」であるので、SATAのハードディスクで構成された一つのRAIDグループに基づく2つの50Gのボリュームで構成すべきことがわかる。
そして、対象となるRAIDグループがあるか調べることになる。図4のRAIDグループテーブル4000の例によれば、RAIDグループRG3を構成するハードディスクがSATAで、また、未使用容量(150G)が100G以上なので、2つの50Gのボリュームを作成可能であることがわかる。よって、図14のコスト重視のプールの設定要求は対応できることがわかる。よって、第二のプールについても、ステップ17020が行われることになる。
また、例えば、図14において、「コスト重視」に対応したプールの全体容量が「1T」の場合には、上記のような判定処理をプール設定プログラム1232が行うことにより、SATAのRAIDグループRG3からは1Tの容量を確保できないことがわかる。未使用容量が150Gと1Tに足りないからである。この場合には、「コスト重視」及び「1T」に対応したプールについては、ステップ17030が行われることになる。
ステップ17020では、プール設定プログラム1232は、作成されたボリュームでプールを作成する。具体的には、例えば、プール設定プログラム1232は、RAIDグループから必要分のボリュームを作成し、そしてそのボリュームで構成されたプールを作成する。より具体的には、例えば、ステップ17010の例に従えば、「性能重視」に対応した第一のプールについて、RAIDグループRG1及びRG2からそれぞれ50Gのボリュームを作成し、プールのIDを生成し、そのプールIDをプールに割り振り、そして、このプールに、上記作成した2つの50Gのボリュームを登録することで、第一のプールを作成することになる。通常ボリューム設定プログラム1233が通常ボリュームの作成指示をストレージ1000に行なうことで、2つの50Gのボリュームがそれぞれ作成される。
これにより、プールの作成が完了となる。
一方、ステップ17023では、プール設定プログラム1232は、エラー表示を行なう。ステップ17010の例に従えば、図14の「コスト重視」のプールについて全体容量「1T」が指定された場合には、未使用容量が1T未満のため、このステップ17023が行われることになる。この場合、プール設定プログラム1232は、プールを作成できないという結果と共に、エラーの原因(例えば、未使用容量が不足していること)も表示することができる。
図18は、容量レポート表示処理のフローチャートである。
容量レポートプログラム1234は、図15に示した画面15000を介して、容量レポートの表示要求をユーザから受ける(ステップ18000)。その画面15000に限らず、コマンドラインやファイルなどの他の形式で受けても良い。
容量レポートプログラム1234は、容量増加判定の対象となるプール(以下、判定対象プール)があるか否かを判定する(ステップ18010)。この判定の結果が肯定的であれば、ステップ18020が行われ、この判定の結果が否定的であれば、ステップ18020以降が行われることなくステップ18050が行われる。
ここでは、図12のテーブル12000における対象期日12030と、図13のテーブル13000における作成日時13040とを基に、判定対象プールの有無が判定される。
図12及び図13の例に従えば、対象期日12030は「作成後6ヶ月以上」であるため、容量レポートプログラム1234は、プールP1〜P4のうちプールP1、P2及びP3が判定対象プールであることを検出する。このため、ステップ18020が行われる。
容量レポートプログラム1234は、余剰の記憶容量を有する判定対象プールがあるか否かを判定する(ステップ18020)。この判定の結果が肯定的であれば、ステップ18030が行われ、この判定の結果が否定的であれば、ステップ18030以降が行われることなくステップ18050が行われる。
ここでは、判定対象プールについて、図12のテーブル12000における容量増加判定12010と、図5のテーブル5000における全体容量5020及び割当容量5030とを基に、余剰の記憶容量を有する判定対象プールがあるか否かが判定される。
図12及び図5の例に従えば、容量増加判定12010は「1ヶ月増分3%」となっているので、プールの全体容量5020が「100G」であれば、100Gの3%である3Gの増加量があると定義されている。言い換えると、7か月であれば21G、8か月であれば24G、9か月であれば27Gの増加量があることになる。プールの使用容量の増加量が、それらの増加量未満であれば、余剰の記憶容量が判定対象プールにある判定される。判定対象プールP1、P2及びP3のうち、余剰の記憶容量があるプールは、割当容量が21G(7か月)よりも少ないプールP1と、割当容量が24G(8か月)よりも少ないプールP2となり、割当容量が27G(9か月)以上であるプールP3は、余剰の記憶容量が無いプールである。余剰の記憶容量あるプールP1及びP2については、ステップ18030が行われ、余剰の記憶容量が無いプールP3については、ステップ18030は行われない。
また、ステップ18020の処理において、閾値5040を越える割当容量となっている判定対象プールについては、余剰の記憶容量が無いプールと判定されて良い。
容量レポートプログラム1234は、余剰の記憶容量があると判定された判定対象プールについて、プール用途を満たしつつプールボリュームが削除可能なプールがあるか否かを判定する(ステップ18030)。この判定の結果が肯定的であれば、ステップ18040が行われ、この判定の結果が否定的であれば、ステップ18040以降が行われることなくステップ18050が行われる。
ここでは、図11のテーブル11000と、図12のテーブル12000と、図13のテーブル13000と、図8のテーブル8000とに基づいて、プール用途を満たしつつプールボリュームが削除可能なプールがあるか否かが判定される。
図11、図13、図8の例に従えば、プールP1は、図13から「性能重視」であることがわかる。そして、「性能重視」のプールは、図11から、複数のRAIDグループに分散する条件がある。また、図8から、プールP1は、別々のRAIDグループに基づく2つのプールボリュームで構成されていることがわかる。
よって、プールP1の場合、どちらか一方のプールボリュームを削除すると、プールボリュームは1つになってしまい、「性能重視」に対応した条件を満たせない。このため、プールP1については、プール用途を満たしつつプールボリュームが削除可能なプールではないと判定される。
一方、図11、図13、図8の例に従えば、プールP2は「コスト重視」であることがわかる。そして、「コスト重視」のプールは、図11から、RAIDグループに集中する条件がある。また、図8から、プールP2は、1つのRAIDグループに基づく2つのプールボリュームで構成されていることがわかる。
よって、プールP2の場合、どちらか一方のプールボリュームを削除しても、一つのRAIDグループであることは変わらないので、「コスト重視」に対応した条件を満たせることがわかる。
そして、プール用途についての条件が満たされると判断した場合には、容量レポートプログラム1234は、プール削減可能容量12020が示す方法で、余剰の記憶容量を算出する。プールP2の場合には、全体容量「100G」及び割当容量「20G」であるので、プール削減可能容量12020で示す式を計算することにより、余剰の記憶容量「56G」が算出される。プールP2は、50Gの2つのボリュームで構成されているため、1つのボリュームを削除しても、余剰の記憶容量「56G」を超えない。このため、容量レポートプログラム1234は、プールP2から1つのボリュームを削除しても良いと判断する。
また、仮に、プールP1が3つのプールボリュームを有し、それら3つのプールボリュームのうちの2つが、RAIDグループRG1に基づくプールボリュームであり(1つのボリュームの容量は50G)、残りの1つが、RAIDグループRG2に基づくプールボリューム(1つのボリュームの容量は50G)であり、プールの割当容量が変わらなければ(すなわち20Gであれば)、プールP2と同じく、プールP1から1つのプールボリュームを削減することが可能である。1つのプールボリュームをプールP1から削除しても、プール用途「性能重視」についての条件は満たされているし、そのプールボリュームの容量は余剰の記憶容量以下だからである。
ステップ18040で、容量レポートプログラム1234は、プールから削除可能なボリューム容量(つまり、算出された余剰の記憶容量以下の容量)を、未使用容量として定義する。
上記の例に従えば、プールP2から1つのプールボリュームを削除可能なことがわかる。図8の例に従えば、プールP2が2つの50GのプールボリュームV102及びV104で構成されており、そのうちの1つを削除可能なプールボリュームとして扱うことが可能である。そして、このボリュームは、RAIDグループRG3に基づくボリュームであることがわかる。
なお、削除するボリュームをどれにするかによって、負荷に差が出ることがある。例えば、割当容量が少ないプールボリュームの方が、割当容量が多いプールボリュームよりも、ボリューム削除に要する処理にかかる時間が短くて済むと考えられる。なぜなら、削除されるプールボリューム内の割当て済みのチャンクに記憶されているデータを、削除されないプールボリュームにコピーするにあたり、コピーするデータの量が少ないからである。この場合、容量レポートプログラム1234は、割当容量の少ないボリュームを優先的に削除する。
容量レポートプログラム1234は、容量レポート画面16000(図16参照)を表示する(ステップ18050)。容量レポートは、例えば、ステップ18010〜18040での処理の結果に基づくレポートである。
容量レポート画面16000に表示される未使用容量16140及び16250は、RAIDグループについての未使用容量4040に、ステップ18040で定義された未使用容量が加算された容量に基づいている。従って、容量レポート画面16000に表示される使用容量16130及び16240は、RAIDグループについての使用容量4030に、ステップ18040で定義された未使用容量が減算された容量に基づいている。
上記の例に従えば、ストレージ1のRAIDグループにおいて、RAIDグループRG1及びRG2は、それぞれ、削除対象のプールボリュームをもたないので、未使用容量は変更がない。ただし、RAIDグループRG3については、1つの50Gのプールボリュームが削除対象となる(つまり削除容量が「50G」である)。このため、容量レポート画面16000には、RAIDグループRG3については、未使用容量4040が示す「150G」に削除容量「50G」が加算された値「200G」が、未使用容量16250として表示されることになる。また、使用容量16240としては、RAIDグループRG3の使用容量4030が示す「150G」から削除容量「50G」が減算された値「100G」が表示されることになる。
以上の実施形態によれば、プールの余剰の記憶容量だけでなく、複数のストレージ1000の複数のRAIDグループについての未使用容量が把握される。そして、余剰の記憶容量以下の容量が未使用容量と定義され、その定義された未使用容量が反映された、ストレージ全体の未使用容量(RAIDグループの未使用容量から特定される容量)や、RAIDグループの未使用容量が、複数のストレージ(及び複数のRAIDグループ)について表示される。
なお、本実施形態は、仮想ボリュームに対するデータを格納するプールに代えて又は加えて、他種のプール(例えば、コピー元のボリュームの差分情報やジャーナル情報を格納するプール)が採用されても良い。すなわち、ボリュームの差分情報を格納するプールや、ボリュームのジャーナル情報を格納するプールも、1以上の実ボリュームの集合によって実現される。このため、本実施形態をそれらのプールに適用することが可能である。
また、プール削減可能容量12020で定義される算出方法は、他の方法、例えば、
容量増加傾向を把握し;
或る期間(例えば6ヵ月後)の増加量を予測し;
その増加量以外を余剰の記憶容量とする;
方法が採用されても良い。例えば、プールの容量が1T、レポート時点の割当容量が200G、容量増加傾向は1ヶ月当り20Gとなっている場合、1年後には、240Gの増加が予測される。このため、1年後には、200+240=440Gの割当容量と予測される。よって、この時点の未使用容量560G(1T−440G)が、余剰の記憶容量とされても良い。実際には、プール設定テーブル11000の一ボリュームサイズ11030が50Gであることから、50の倍数である550Gが削減できる容量とされる。
また、プール設定テーブル11000の一ボリュームサイズ11030の設定が「50G以下」であるなど、図11の例の固定値ではなく可変である場合には、プールボリュームの入れ替えによる対応が考慮されても良い。
また、例えば、図18の例から、ステップ18030では、プールP1は、「性能重視」のため、プールボリュームの削除が可能と判定されなかった。しかし、「性能重視」の構成でなければ、余剰の記憶容量「56G」を削減でき、プールP1としては44Gの全体容量があればよいと判定される。よって、例えば、CPU1220は、
RAIDグループRG1を基に22Gのボリューム(V1000)を作成し、RAIDグループRG2に基づいて22Gのボリューム(V2000)を作成し、それらを一旦プールP1に設定する;
プールP1を構成していたボリュームV100、V101を削除する;
削除するボリュームV100及びV101内の割当て済みチャンクに記憶されているデータを、ボリュームV1000及びV2000にコピーする;
を行う。それにより、プールの用途を満たしつつ、プールP1のプールボリュームを再構成することで、容量削減可能であることを判定する。この場合には、ステップ18040で、RAIDグループRG1に28Gの未使用容量、RAIDグループRG2に28Gの未使用容量ができるものと判定され、ステップ18050で、容量レポート表示がされることになる。
ただし、入れ替えのためのボリュームの容量を確保しなければならないので、入れ替えのためのボリュームの容量を確保できるか判定する必要がある。確保ができなければ、図18に示した処理が行われても良い。
また、上記プールボリュームの入れ替えにより対応したが、それに代えて、同様の効果が、プール間のデータ移行で得られることが期待できる。
具体的には、例えば、図14のプール設定画面14000を介して、用途が「性能重視」、容量が「44G」、個数が「1」というプール設定が行われたとする。そして、ここで作成されたプールをP100とする。そして、プール設定プログラム1232は、プールP1に対応付けられた仮想ボリューム(図6の例によれば、仮想ボリュームV1及びV2で、それぞれが仮想容量「1T」である)の仮想容量と同じ仮想ボリュームを、プールP100に対応付ける(この場合、仮想容量1Tの仮想ボリュームが2つ設定される)。そして、プール設定プログラム1232は、プールP1に関連づいた仮想ボリュームとプールP100に関連づいた仮想ボリュームとの間でデータ移行を行なう。そして、移行元のプールP1が削除される。
また、プールボリュームの入れ替え、プール間のデータ移行は、ホスト側の用途が変わった場合にも対応可能である。例えば、第一の用途(例えば「性能重視」の用途)から第二の用途(例えば「コスト重視」の用途)にホストによる使用の用途が変わった場合に、プール内のプールボリュームを第一の用途のプールボリュームと第二の用途のプールボリュームとを入れ替える、又は、第一の用途のプールから第二の用途のプールへデータ移行することで、ホスト側のアクセス方には影響なく構成変更が可能となる。
また、管理計算機1200は、容量レポートを表示することなく、未使用容量(RAIDグループの未使用容量に、余剰の記憶容量以下の容量が反映された容量)を基に、ボリュームを削除する、或いは、ボリュームを作成しても良い。
以下、本発明の第二の実施形態を説明する。その際、第一の実施形態との相違点を主に説明し、第一の実施形態との説明は省略或いは省略化する。
図19は、容量レポート画面26000を示す。
この画面26000は、図16に示した画面16000の拡張である。具体的には、ストレージ容量レポート16100が、「プールから削除する容量」19000を有し、RAIDグループ容量レポート16200が、「プールから削除する容量」19100を有する。
「プールから削除する容量」は、図18で示した削除可能なプールボリュームの容量のことである。つまり、未使用容量16140又は16250のうちの、削除可能なプールボリュームの容量である。
図18の例に従えば、プールから削除する容量19000が50Gとなり、ストレージID1のストレージには、全RAIDグループの未使用容量は、600Gから50Gを引いた550Gであることを示している。
また、図18の例に従えば、プールから削除する容量19100が50Gなので、RG3のRAIDグループの未使用容量は、250Gから50Gを引いた200Gであることを示している。
またプールボリュームの入れ替え、プール間のデータ移行についても、それぞれの処理によって、削除できる容量を、この容量レポートで示しても良い。
図18の例に従えば、プールボリュームの入れ替え、プール間のデータ移行、ともにRG1では、56G削減可能であることを示しているので、容量レポートが、「プールボリュームの入れ替えで削除する容量」、及び/又は、「プール間のデータ移行で削除する容量」を有する。これらのケースでは、ボリュームが新規に作成される等の再構成が行われるため、「プールボリュームの入れ替えで削除する容量」、及び/又は、「プール間のデータ移行で削除する容量」は、算出された余剰の記憶容量と同じ容量で良い。
「プールから削除する容量」、「プールボリュームの入れ替えで削除する容量」及び「プール間のデータ移行で削除する容量」のうちの二以上の情報要素が表示される場合、使用容量及び未使用容量の計算が、どの種の情報要素を用いて表示するか決める必要がある。このため、例えば、使用容量及び未使用容量は、RAIDグループについてのみ表示し、実際の未使用容量は、「プールから削除する容量」、「プールボリュームの入れ替えで削除する容量」及び「プール間のデータ移行で削除する容量」のいずれかの情報要素を基に定義された容量で良い。また、未使用容量の欄に「プールから削除する容量」、「プールボリュームの入れ替えで削除する容量」及び「プール間のデータ移行で削除する容量」のいずれの情報要素を適用したかが示されても良い。
また、図16と図19のどちらの容量レポート画面を表示するかが、GUI(Graphical User Interface)やプロパティファイルなどでユーザが選択できるようにしてもよい。
また「プールから削除する容量」、「プールボリュームの入れ替えで削除する容量」、「プール間のデータ移行で削除する容量」をそれぞれ適用するときに、実際にボリューム容量が必要になった場合に、容量を提供できる時間をレポートに表示しても良い。プールボリュームの削除が1Gあたり1分、プールボリュームの入れ替えが1Gあたり2分、プール間のデータ移行が1Gあたり3分、といった情報を予め測定などして、管理計算機1200またはストレージ1000で管理し、レポート提供時に、各欄の付加情報として表示してもよい。
1000…ストレージ、1100…ホスト、1200…管理計算機

Claims (12)

  1. 外部装置からアクセスされるストレージ装置に接続された管理計算機であって、
    前記ストレージ装置は、RAID(Redundant Array of Independent (or Inexpensive) Disks)グループに基づく実ボリュームを1つ以上有するプールを管理しており、
    前記管理計算機が、
    記憶資源と、
    前記記憶資源に接続されているプロセッサと
    を備え、
    前記記憶資源は、プール管理情報を記憶し、
    前記プール管理情報は、前記プールについてのプール用途を表すプール用途情報と、プール用途についての条件を表す用途条件情報とを含み、
    前記プロセッサは、以下の(A)乃至(D)の処理、
    (A)前記プールについてのプール使用状況を基に余剰の記憶容量を算出する;
    (B)前記プール管理情報を基に、前記プールについてのプール用途と、そのプール用途についての条件とを特定する;
    (C)前記算出された余剰の記憶容量以下の記憶領域を前記プールから削除しても前記特定された条件を満たすか否かを判定する;
    (D)前記(C)での判定の結果が肯定的の場合に、前記余剰の記憶容量以下の記憶領域の容量を未使用容量と定義する;
    を実行する、
    管理計算機。
  2. 複数のストレージ装置があり、
    各ストレージ装置が、少なくとも一つのRAID(Redundant Array of Independent (or Inexpensive) Disks)グループと、少なくとも一つのプールとを管理しており、
    各実ボリュームは、複数のストレージ媒体で構成されているRAIDグループに基づく論理ボリュームであり、
    各ストレージ装置が、ストレージ構成情報を管理し、
    前記ストレージ構成情報は、前記RAIDグループに関するRAID情報と、前記プールに関するプール情報とを含み、
    前記RAID情報は、どのRAIDグループがどの種のストレージ媒体で構成されているかを表すRAID構成情報を含み、
    前記プール情報は、どのプールに含まれているどの実ボリュームがどのRAIDグループに基づいているかを表すプール構成情報と、前記プールの使用状況を表すプール使用状況情報とを含み、
    前記ストレージ装置が、適時に前記プール使用状況情報を更新し、
    前記プール用途情報が、どのストレージ装置で管理されているどのプールがいつ作成されたかを表す情報を含み、
    前記プロセッサが、
    ユーザから記憶容量レポートの要求を受けて、以下の(F)及び(G)の処理、
    (F)前記プール用途情報を基に、作成されてから一定期間が経過したプールがあるか否かを判定する;
    (G)前記(F)での判定の結果が肯定的の場合、前記プール用途情報を基に、作成されてから一定期間が経過した各プールについて余剰があるか否かを判定する;
    を実行し、
    プールが作成されてから使用容量が所定のペースよりも低いペースで増加している場合に、そのプールについて、前記(G)での判定の結果が肯定的となり、
    前記処理(G)での判定の結果が肯定的の場合に、前記(A)乃至(D)を実行し、前記(A)では、各プールについて、そのプールについての未使用容量を基に、余剰の記憶容量を算出し、
    前記(D)を終えた後に、以下の(H)の処理、
    (H)各ストレージ装置についての未使用容量を表す情報を含んだ記憶容量レポートを出力する;
    を実行し、
    前記記憶容量レポートに表されている、各ストレージ装置についての未使用容量は、RAIDグループについての未使用容量と、前記(D)において未使用容量とみなされた余剰の記憶容量以下の実ボリュームの容量との合計に基づく容量である、
    請求項1記載の管理計算機。
  3. 前記RAID情報は、各RAIDグループの使用状況を表すRAID使用状況情報を含み、
    前記RAID使用状況情報は、各RAIDグループについての記憶容量とそのうちの未使用容量とを表す情報を含み、
    前記プール使用状況情報が、各実ボリュームについての記憶容量とそのうちの未使用容量とを表す情報を含み、
    前記ストレージ装置が、前記RAID使用状況情報及び前記プール使用状況情報を適時に更新し、
    前記プロセッサが、前記(H)において、各RAIDグループについての未使用容量を表す情報も含んだ前記記憶容量レポートを出力し、
    前記記憶容量レポートに表されている、各RAIDグループについての未使用容量は、前記RAID使用状況情報を基に特定される未使用容量と、前記(D)において未使用容量とみなされた余剰の記憶容量以下の実ボリュームの容量との合計である、
    請求項2記載の管理計算機。
  4. 複数のストレージ装置があり、
    各ストレージ装置が、少なくとも一つのRAID(Redundant Array of Independent (or Inexpensive) Disks)グループと、少なくとも一つのプールとを管理しており、
    各実ボリュームは、複数のストレージ媒体で構成されているRAIDグループに基づく論理ボリュームであり、
    各ストレージ装置が、ストレージ構成情報を管理し、
    前記ストレージ構成情報は、前記RAIDグループに関するRAID情報と、前記プールに関するプール情報とを含み、
    前記RAID情報は、どのRAIDグループがどの種のストレージ媒体で構成されているかを表すRAID構成情報と、各RAIDグループの使用状況を表すRAID使用状況情報とを含み、
    前記RAID使用状況情報は、各RAIDグループについての記憶容量とそのうちの未使用容量とを表す情報を含み、
    前記プール情報は、どのプールに含まれているどの実ボリュームがどのRAIDグループに基づいているかを表すプール構成情報と、前記プールの使用状況を表すプール使用状況情報とを含み、
    前記プール使用状況情報が、各実ボリュームについての記憶容量とそのうちの未使用容量とを表す情報を含み、
    前記ストレージ装置が、前記RAID使用状況情報及び前記プール使用状況情報を適時に更新し、
    前記プール用途情報が、どのストレージ装置で管理されているどのプールがいつ作成されたかを表す情報を含み、
    前記プロセッサが、
    ユーザから記憶容量レポートの要求を受けて、以下の(F)及び(G)の処理、
    (F)前記プール用途情報を基に、作成されてから一定期間が経過したプールがあるか否かを判定する;
    (G)前記(F)での判定の結果が肯定的の場合、前記プール用途情報を基に、作成されてから一定期間が経過した各プールについて余剰があるか否かを判定する;
    を実行し、
    プールが作成されてから使用容量が所定のペースよりも低いペースで増加している場合に、そのプールについて、前記(G)での判定の結果が肯定的となり、
    前記処理(G)での判定の結果が肯定的の場合に、前記(A)乃至(D)を実行し、前記(A)では、各プールについて、そのプールについての未使用容量を基に、余剰の記憶容量を算出し、
    前記(D)を終えた後に、以下の(H)の処理、
    (H)各RAIDグループについての未使用容量を表す情報を含んだ記憶容量レポートを出力する;
    を実行し、
    前記記憶容量レポートに表されている、各RAIDグループについての未使用容量は、RAIDグループについての未使用容量と、前記(D)において未使用容量とみなされた余剰の記憶容量以下の実ボリュームの容量との合計である、
    請求項1記載の管理計算機。
  5. 複数のストレージ装置があり、
    各ストレージ装置が、少なくとも一つのRAID(Redundant Array of Independent (or Inexpensive) Disks)グループと、少なくとも一つのプールとを管理しており、
    各実ボリュームは、複数のストレージ媒体で構成されているRAIDグループに基づく論理ボリュームであり、
    各ストレージ装置が、ストレージ構成情報を管理し、
    前記ストレージ構成情報は、前記RAIDグループに関するRAID情報と、前記プールに関するプール情報とを含み、
    前記RAID情報は、どのRAIDグループがどの種のストレージ媒体で構成されているかを表すRAID構成情報と、各RAIDグループの使用状況を表すRAID使用状況情報とを含み、
    前記RAID使用状況情報は、各RAIDグループについての記憶容量とそのうちの未使用容量とを表す情報を含み、
    前記プール情報は、どのプールに含まれているどの実ボリュームがどのRAIDグループに基づいているかを表すプール構成情報と、前記プールの使用状況を表すプール使用状況情報とを含み、
    前記プール使用状況情報が、各実ボリュームについての記憶容量とそのうちの未使用容量とを表す情報を含み、
    前記ストレージ装置が、前記RAID使用状況情報及び前記プール使用状況情報を適時に更新し、
    前記プール用途情報が、どのストレージ装置で管理されているどのプールがいつ作成されたかを表す情報を含み、
    前記プロセッサが、
    ユーザから記憶容量レポートの要求を受けて、以下の(F)及び(G)の処理、
    (F)前記プール用途情報を基に、作成されてから一定期間が経過したプールがあるか否かを判定する;
    (G)前記(F)での判定の結果が肯定的の場合、前記プール用途情報を基に、作成されてから一定期間が経過した各プールについて余剰があるか否かを判定する;
    を実行し、
    プールが作成されてから使用容量が所定のペースよりも低いペースで増加している場合に、そのプールについて、前記(G)での判定の結果が肯定的となり、
    前記処理(G)での判定の結果が肯定的の場合に、前記(A)乃至(D)を実行し、前記(A)では、各プールについて、そのプールについての未使用容量を基に、余剰の記憶容量を算出し、前記(C)では、前記算出された余剰の記憶容量分の記憶領域を前記プールから削除しても前記特定された条件を満たすか否かを判定し、
    前記(D)を終えた後に、以下の(H)の処理、
    (H)各RAIDグループについての未使用容量を表す情報を含んだ記憶容量レポートを出力する;
    を実行し、
    前記プロセッサは、以下の処理、
    RAIDグループの未使用容量を基に実ボリュームを作成する;
    作成した実ボリュームに既存の実ボリューム内のデータをコピーする、又は、作成した実ボリュームを有するプールと既存のプールとの間のデータコピーを行う;
    コピー元の実ボリューム又はプールを削除する;
    を行うことで、構成変更を行い、
    前記記憶容量レポートに表されている、各RAIDグループについての未使用容量は、RAIDグループについての未使用容量と、前記(D)において未使用容量とみなされた余剰の記憶容量との合計である、
    請求項1記載の管理計算機。
  6. 前記プロセッサが、所定のストレージ単位についての未使用容量を表す情報を含んだ記憶容量レポートを出力し、
    前記記憶容量レポートに表されている、各ストレージ単位についての未使用容量は、RAIDグループの未使用容量と、前記(D)において未使用容量とみなされた余剰の記憶容量以下の容量との合計、或いはその合計に基づく容量である、
    請求項1記載の管理計算機。
  7. 前記ストレージ単位は、ストレージ装置又はRAIDグループである、
    請求項6記載の管理計算機。
  8. プール用途についての条件は、プールの基になっているRAIDグループが一つであるか複数であるか、及び/又は、実ボリュームの基になっているRAIDグループを構成するストレージ媒体の種類に基づいている、
    請求項1記載の管理計算機。
  9. プール用途として、下記(a)乃至(c)、
    (a)異なる複数のRAIDグループに基づく複数の実ボリュームを有することを条件とする第一のプール用途;
    (b)単一のRAIDグループに基づく複数の実ボリュームを有することを条件とする第二のプール用途;
    (c)異なる複数のRAIDグループに基づく複数の実ボリュームを有することを条件とする第三のプール用途;
    のうちの少なくとも二つがあり、
    前記(a)及び(b)のプール用途におけるそれぞれのRAIDグループは、所定種類のストレージ媒体で構成されているRAIDグループであり、
    前記(c)のプール用途における複数のRAIDグループには、第一種のストレージ媒体で構成されている第一種のRAIDグループと、第二種のストレージ媒体で構成されている第二種のRAIDグループとが含まれている、
    請求項8記載の管理計算機。
  10. 前記プロセッサは、以下の処理、
    RAIDグループの未使用容量を基に実ボリュームを作成する;
    作成した実ボリュームに既存の実ボリューム内のデータをコピーする、又は、作成した実ボリュームを有するプールと既存のプールとの間のデータコピーを行う;
    コピー元の実ボリューム又はプールを削除する;
    を行うことで、構成変更を行い、
    前記プロセッサが、所定のストレージ単位についての未使用容量を表す情報を含んだ記憶容量レポートを出力し、
    前記記憶容量レポートは、各未使用容量について、第一の削除可能容量及び第二の削除可能容量のうちの少なくとも一つを表す情報を含み、
    前記第一及び第二の削除可能容量は、前記余剰の記憶容量と同じ容量である、
    請求項1記載の管理計算機。
  11. 外部装置からアクセスされるストレージ装置と、
    前記ストレージ装置に接続された管理計算機と
    を備え、
    前記ストレージ装置は、RAIDグループに基づく実ボリュームを1つ以上有するプールを管理しており、
    前記管理計算機が、
    記憶資源と、
    前記記憶資源に接続されているプロセッサと
    を備え、
    前記記憶資源は、プール管理情報を記憶し、
    前記プール管理情報は、前記プールについてのプール用途を表すプール用途情報と、プール用途についての条件を表す用途条件情報とを含み、
    前記プロセッサは、以下の(A)乃至(D)の処理、
    (A)前記プールについてのプール使用状況を基に余剰の記憶容量を算出する;
    (B)前記プール管理情報を基に、前記プールについてのプール用途と、そのプール用途についての条件とを特定する;
    (C)前記算出された余剰の記憶容量以下の記憶領域を前記プールから削除しても前記特定された条件を満たすか否かを判定する;
    (D)前記(C)での判定の結果が肯定的の場合に、前記余剰の記憶容量以下の容量を未使用容量と定義する;
    を実行する、
    計算機システム。
  12. 外部装置からアクセスされるストレージ装置であって、RAIDグループに基づく実ボリュームを1つ以上有するプールを管理しているストレージ装置を管理する方法であって、
    (A)前記プールについてのプール使用状況を基に余剰の記憶容量を算出し;
    (B)前記プールについてのプール用途と、そのプール用途についての条件とを特定し;
    (C)前記算出された余剰の記憶容量以下の記憶領域を前記プールから削除しても前記特定された条件を満たすか否かを判定し;
    (D)前記(C)での判定の結果が肯定的の場合に、前記余剰の記憶容量以下の容量を未使用容量と定義する;
    管理方法。
JP2009059886A 2009-03-12 2009-03-12 ストレージ装置を管理する計算機及び方法 Expired - Fee Related JP5214502B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2009059886A JP5214502B2 (ja) 2009-03-12 2009-03-12 ストレージ装置を管理する計算機及び方法
US12/453,807 US8209484B2 (en) 2009-03-12 2009-05-22 Computer and method for managing storage apparatus
EP09174071A EP2228712A3 (en) 2009-03-12 2009-10-26 Computer and method for managing storage apparatus
US13/473,546 US8527700B2 (en) 2009-03-12 2012-05-16 Computer and method for managing storage apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009059886A JP5214502B2 (ja) 2009-03-12 2009-03-12 ストレージ装置を管理する計算機及び方法

Publications (3)

Publication Number Publication Date
JP2010211743A true JP2010211743A (ja) 2010-09-24
JP2010211743A5 JP2010211743A5 (ja) 2011-10-13
JP5214502B2 JP5214502B2 (ja) 2013-06-19

Family

ID=42244518

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009059886A Expired - Fee Related JP5214502B2 (ja) 2009-03-12 2009-03-12 ストレージ装置を管理する計算機及び方法

Country Status (3)

Country Link
US (2) US8209484B2 (ja)
EP (1) EP2228712A3 (ja)
JP (1) JP5214502B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013041364A (ja) * 2011-08-12 2013-02-28 Fujitsu Ltd ストレージ装置、およびストレージ管理方法
US8650377B2 (en) 2011-06-02 2014-02-11 Hitachi, Ltd. Storage managing system, computer system, and storage managing method

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8468302B2 (en) * 2010-01-14 2013-06-18 Hitachi, Ltd. Storage system
US8543786B2 (en) * 2010-09-29 2013-09-24 Hitachi, Ltd. Computer system and computer system management method for adding an unused real volume to a pool
CN102012865A (zh) * 2010-10-27 2011-04-13 威海威高电子工程有限公司 量化数据存储方法
EP2652587B1 (en) 2011-06-07 2017-11-15 Hitachi, Ltd. Storage system comprising flash memory, and storage control method
US9229645B2 (en) * 2012-02-10 2016-01-05 Hitachi, Ltd. Storage management method and storage system in virtual volume having data arranged astride storage devices
US9104590B2 (en) * 2012-07-20 2015-08-11 Hitachi, Ltd. Storage system including multiple storage apparatuses and pool virtualization method
US10140066B2 (en) * 2016-02-01 2018-11-27 International Business Machines Corporation Smart partitioning of storage access paths in shared storage services

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005031929A (ja) * 2003-07-11 2005-02-03 Hitachi Ltd サーバに記憶領域を割り当てる管理サーバ、記憶装置システム、及びプログラム
JP2005038071A (ja) * 2003-07-17 2005-02-10 Hitachi Ltd ストレージの容量を最適化する管理方法
JP2007241593A (ja) * 2006-03-08 2007-09-20 Hitachi Ltd 記憶領域の割当ての最適化方法及びそれを実現するための管理計算機
JP2008186172A (ja) * 2007-01-29 2008-08-14 Hitachi Ltd ストレージモジュール及び容量プール空き容量調整方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002222061A (ja) * 2001-01-25 2002-08-09 Hitachi Ltd 記憶領域を設定する方法、記憶装置およびプログラム記憶媒体
JP4175788B2 (ja) 2001-07-05 2008-11-05 株式会社日立製作所 ボリューム制御装置
JP4384470B2 (ja) * 2003-10-21 2009-12-16 株式会社日立製作所 記憶装置の管理方法
US7603532B2 (en) * 2004-10-15 2009-10-13 Netapp, Inc. System and method for reclaiming unused space from a thinly provisioned data container
JP2008097502A (ja) * 2006-10-16 2008-04-24 Hitachi Ltd 容量監視方法及び計算機システム
JP4914173B2 (ja) * 2006-10-30 2012-04-11 株式会社日立製作所 再配置システムおよび再配置方法
JP5087309B2 (ja) * 2007-04-24 2012-12-05 株式会社日立製作所 管理装置及び管理方法
WO2010097961A1 (en) * 2009-02-25 2010-09-02 Hitachi, Ltd. Storage apparatus and its control method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005031929A (ja) * 2003-07-11 2005-02-03 Hitachi Ltd サーバに記憶領域を割り当てる管理サーバ、記憶装置システム、及びプログラム
JP2005038071A (ja) * 2003-07-17 2005-02-10 Hitachi Ltd ストレージの容量を最適化する管理方法
JP2007241593A (ja) * 2006-03-08 2007-09-20 Hitachi Ltd 記憶領域の割当ての最適化方法及びそれを実現するための管理計算機
JP2008186172A (ja) * 2007-01-29 2008-08-14 Hitachi Ltd ストレージモジュール及び容量プール空き容量調整方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8650377B2 (en) 2011-06-02 2014-02-11 Hitachi, Ltd. Storage managing system, computer system, and storage managing method
JP2013041364A (ja) * 2011-08-12 2013-02-28 Fujitsu Ltd ストレージ装置、およびストレージ管理方法

Also Published As

Publication number Publication date
US8527700B2 (en) 2013-09-03
US8209484B2 (en) 2012-06-26
EP2228712A3 (en) 2012-07-18
US20120226857A1 (en) 2012-09-06
JP5214502B2 (ja) 2013-06-19
EP2228712A2 (en) 2010-09-15
US20100235573A1 (en) 2010-09-16

Similar Documents

Publication Publication Date Title
JP5214502B2 (ja) ストレージ装置を管理する計算機及び方法
US20210240370A1 (en) Virtual storage system
US8639899B2 (en) Storage apparatus and control method for redundant data management within tiers
JP5314772B2 (ja) 性能の異なる実領域群で構成されたプールを有するストレージシステムの管理システム及び方法
JP4749255B2 (ja) 複数種類の記憶デバイスを備えたストレージシステムの制御装置
US8412908B2 (en) Storage area dynamic assignment method
US8429372B2 (en) Allocating substitute area capacity in a storage system using flash memory packages
US8650381B2 (en) Storage system using real data storage area dynamic allocation method
JP5750513B2 (ja) 不揮発半導体記憶媒体を有するストレージシステム
US8296543B2 (en) Computer system management apparatus and management method for the computer system
JP5317807B2 (ja) ファイル制御システムおよびそれに用いるファイル制御計算機
JPWO2013061382A1 (ja) 計算機システム及びストレージ管理方法
WO2011101909A1 (ja) 仮想ボリュームの制御方法及びストレージ装置
US20180196755A1 (en) Storage apparatus, recording medium, and storage control method
US20120272021A1 (en) Management system and control method for computer system
WO2018158808A1 (ja) 情報システム、管理プログラム及び情報システムのプログラム交換方法
WO2015198441A1 (ja) 計算機システム、管理計算機、および管理方法
US9239681B2 (en) Storage subsystem and method for controlling the storage subsystem
JP5597266B2 (ja) ストレージシステム
JP4871758B2 (ja) ボリューム割当方式
JP2013089225A (ja) 階層変更方法及び装置
JPWO2006054334A1 (ja) 記憶領域割当装置、記憶領域割当方法および記憶領域割当プログラム
JP2022116209A (ja) 仮想ストレージシステム
JP2020027433A (ja) 情報システム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110825

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110825

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120801

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120807

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121004

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130227

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160308

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees