JP6531574B2 - ストレージ装置、ストレージ装置制御プログラム及びストレージ装置制御方法 - Google Patents

ストレージ装置、ストレージ装置制御プログラム及びストレージ装置制御方法 Download PDF

Info

Publication number
JP6531574B2
JP6531574B2 JP2015174124A JP2015174124A JP6531574B2 JP 6531574 B2 JP6531574 B2 JP 6531574B2 JP 2015174124 A JP2015174124 A JP 2015174124A JP 2015174124 A JP2015174124 A JP 2015174124A JP 6531574 B2 JP6531574 B2 JP 6531574B2
Authority
JP
Japan
Prior art keywords
reorganization
data
storage medium
volume
priority
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015174124A
Other languages
English (en)
Other versions
JP2017049897A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015174124A priority Critical patent/JP6531574B2/ja
Priority to US15/228,478 priority patent/US10078467B2/en
Publication of JP2017049897A publication Critical patent/JP2017049897A/ja
Application granted granted Critical
Publication of JP6531574B2 publication Critical patent/JP6531574B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/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/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • 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/0686Libraries, e.g. tape libraries, jukebox

Landscapes

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

Description

本発明は、ストレージ装置、ストレージ装置制御プログラム及びストレージ装置制御方法に関する。
磁気テープを用いた記録媒体を複数備えたテープライブラリ装置(LIB:Library)は、サーバなどのホストに対するデータバックアップ用など、大容量の記憶が必要な用途に広く利用されている。磁気テープは、低コストでかつ記憶容量が大きいという利点がある反面、HDD(Hard Disk Drive)などと比較してデータアクセス速度が遅い。そこで、近年では、複数のHDDを備えたディスクアレイ装置をキャッシュ機構(一次ストレージ)として用い、より大容量のテープライブラリ装置をバックエンド(二次ストレージ)に配置した階層型ストレージシステムが利用されている。この階層型ストレージシステムは、仮想テープライブラリと呼ばれる場合がある。また、ディスクアレイ装置は、TVC(Tape Volume Cache)と呼ばれる場合がある。また、テープ媒体は、物理ボリューム(PV:Physical Volume)と呼ばれる場合がある。
このような階層型ストレージシステムは、ディスクアレイ装置やテープライブラリ装置を制御するための階層制御サーバを有している。例えば、ホストからデータの読出要求又は書込要求があった場合、階層制御サーバは、ホストに対して従来のテープライブラリ装置として振る舞い、内部ではディスクアレイ装置を利用してデータの読み出し及び書込みを行う。このとき、階層制御サーバは、1台のホストからの取得した1群のデータを1つの論理ボリューム(LV:Logical Volume)としてディスクアレイ装置に対する読み出し及び書き込みを行う。その後、階層制御サーバは、ホストを介さずにバックグラウンドでディスクアレイ装置に書き込まれたデータをテープ媒体に保存する。具体的には、階層制御サーバは、ディスクアレイ装置に格納されている論理ボリュームを、物理ボリュームすなわちテープ媒体に保存する。この、ディスクアレイ装置内の論理ボリュームを物理ボリュームに格納する処理を、「マイグレーション(Migration)」という場合がある。
階層化ストレージシステムは、ディスクアレイ装置に格納された論理ボリュームによって容量が圧迫されることを防ぐために、更新が行われず、且つ、マイグレーション済みの大容量の論理ボリュームを消去する。
さらに、階層化ストレージシステムには、既に論理ボリュームが格納されている使用済みの物理ボリュームをまとめて、StackedPVG(Physical Volume Group)というグループを生成して管理する技術がある。さらに、階層化ストレージシステムには、データが格納されていない未使用の物理ボリュームをまとめて、ScratchPVGというグループを生成して管理する技術がある。
ここで、マイグレーションにおける階層化ストレージシステムの動作を詳細に説明する。ホストがディスクアレイ装置に対して読み出し及び書き込みの対象としている論理ボリュームがディスクアレイ装置に既に格納されている状態は、オンキャッシュ(On Cache)の論理ボリュームと呼ばれる場合がある。また、ホストがディスクアレイ装置に対して読み出し及び書き込みの対象としている論理ボリュームがディスクアレイ装置上に格納されていない状態は、キャッシュミス(Cache Miss)と呼ばれる場合がある。ホストが読み出し及び書き込みを行う論理ボリュームがオンキャッシュの場合、階層制御サーバは、ディスクアレイ装置から論理ボリュームを読み出し、ホストに応答する。これに対して、ホストが読み出し及び書き込みを行う論理ボリュームがキャッシュミスの場合、階層制御サーバは、その論理ボリュームがマイグレーションされた物理ボリュームをテープライブラリ装置のテープドライブに挿入し、その論理ボリュームを読み込む。そして、階層制御サーバは、読み込んだ論理ボリュームをディスクアレイ装置へ移した後、ホストに応答する。
さらに、階層化ストレージシステムでは、マイグレーションにより更新されたデータを有する論理ボリュームを物理ボリュームに格納する論理ボリュームの更新が行われる。このとき、世代管理などの煩雑な処理を省くため、更新前の古い論理ボリュームを無効な論理ボリュームとして、その領域を無効領域とする運用が行われる場合がある。この処理を行うと、論理ボリュームの更新のたびに物理ボリューム内の無効領域が増えていき、物理ボリューム内の使用可能な領域が減少していく。そして、物理ボリュームに論理ボリュームが格納できなくなった場合、新たに未使用の物理ボリュームが使用される。例えば、StackedPVG及びScratchPVGを用いている場合、StackedPVGに論理ボリュームが格納可能な物理ボリュームが無い場合、ScratchPVGから使用する分の物理ボリュームがStackedPVGに移動される。このため、最終的には未使用の物理ボリュームの数も減ってしまう。
そこで、未使用の物理ボリュームの数を増やすための従来技術としてリオーガニゼーションと呼ばれる技術がある。リオーガニゼーションでは、テープライブラリ装置の未使用の物理ボリュームの残数が少なくなった場合、未使用の物理ボリュームの数を増やすため、使用済みの物理ボリュームから未使用の物理ボリュームに論理ボリュームが移動される。そして、使用済みの物理ボリュームは、格納していた論理ボリュームが移動されることで未使用の物理ボリュームとなる。StackedPVG及びScratchPVGを用いている場合、リオーガニゼーションにより生成された未使用の物理ボリュームはScratchPVGに戻される。
なお、無効なデータを除いたデータを新たな磁気テープに記録するガベージコレクションという従来技術がある。また、磁気ディスクなどのランダム媒体を仮想的なシーケンシャルアクセス型の記憶媒体として用い、不要なデータを格納している場合に無効化処理を行う従来技術がある。さらに、光ライブラリにおいて、ボリュームの自動再編成を行う従来技術がある。
特表2010−522914号公報 特開2008−146408号公報 特開2010−282383号公報 特開2002−297431号公報
しかしながら、複数のStackedPVGに対するリオーガニゼーションが、同時に実行される場合がある。このような場合、リオーガニゼーションの実行順序は、階層制御サーバが処理要求を受け付けた順に処理される。そして、リオーガニゼーションを実行する場合、StackedPVGに属する物理ボリュームに格納されているデータ量によっては、ScratchPVGから新たに物理ボリュームが確保されることがある。そのため、同時に複数のリオーガニゼーションが実行される場合、処理順序によってはリオーガニゼーション処理に用いる物理ボリュームを確保できないことが考えられる。その場合、リオーガニゼーションが行われず、TVCに格納された論理ボリュームの物理ボリュームへのマイグレーションが困難となり、階層化ストレージシステム内でデータが冗長化されないおそれがある。
なお、ガベージコレクションを行う従来技術を用いても、複数のリオーガニゼーションを同時に処理する場合に物理ボリュームが足りなくなることを防ぐことはできず、階層化ストレージシステム内でのデータの冗長性を維持することは困難である。また、磁気ディスクや光ライブラリを使用する従来技術であっても、同様の問題は発生するため、階層化ストレージシステム内でのデータの冗長性の維持は困難である。
開示の技術は、上記に鑑みてなされたものであって、データの冗長性を向上させるストレージ装置、ストレージ装置制御プログラム及びストレージ装置制御方法を提供することを目的とする。
本願の開示するストレージ装置、ストレージ装置制御プログラム及びストレージ装置制御方法は、一つの態様において、複数の記憶媒体を有する。そして、グループ管理部は、前記記憶媒体のうちデータを格納している第1記憶媒体が属する複数の第1グループ及び前記記憶媒体のうちデータを格納していない第2記憶媒体が属する第2グループを管理する。データ格納部は、更新対象のデータが格納されている前記第1記憶媒体の領域を無効領域とし、該データの更新データを前記第1記憶媒体に格納する。移行部は、前記第1グループをいくつか選択し、選択した前記第1グループ毎に、前記無効領域を有する前記第1記憶媒体の前記無効領域以外に格納されたデータを格納するために用いる前記第2記憶媒体の確保数を算出する。さらに、移行部は、前記確保数が増えるにしたがい高くなる優先度で、前記第2記憶媒体を確保し、前記第1記憶媒体の前記無効領域以外に格納されているデータを前記第2記憶媒体に移行する処理を実行する。移動部は、前記データ移行部による移行が完了した前記第1記憶媒体が属する前記第1グループに含まれる各前記第1記憶媒体を前記第2グループに移動する。
本願の開示するストレージ装置、ストレージ装置制御プログラム及びストレージ装置制御方法の一つの態様によれば、データの冗長性を向上させることができるという効果を奏する。
図1は、実施例に係るストレージシステムの構成図である。 図2は、物理ボリュームのフォーマットを表す概念図である。 図3は、階層制御サーバのブロック図である。 図4は、StackedPVGの一例の図である。 図5は、StackedPVGとScratchPVGとの関連付けを説明するための図である。 図6は、優先度テーブルの一例の図である。 図7は、PV確保量、PV戻し量及びPV増分量の算出のフローチャートである。 図8は、優先度決定の処理のフローチャートである。 図9は、リオーガニゼーションの実行処理のフローチャートである。 図10は、同時発生したリオーガニゼーションの情報を表す図である。 図11は、リオーガニゼーションAの優先度を決定した段階の優先度テーブルを表す図である。 図12は、リオーガニゼーションBの優先度を決定した段階の優先度テーブルを表す図である。 図13は、リオーガニゼーションCの優先度を決定した段階の優先度テーブルを表す図である。 図14は、リオーガニゼーションDの優先度を決定した段階の優先度テーブルを表す図である。 図15は、リオーガニゼーションEの優先度を決定した段階の優先度テーブルを表す図である。 図16は、リオーガニゼーションFの優先度を決定した段階の優先度テーブルを表す図である。 図17は、階層制御サーバのハードウェア構成図である。
以下に、本願の開示するストレージ装置、ストレージ装置制御プログラム及びストレージ装置制御方法の実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示するストレージ装置、ストレージ装置制御プログラム及びストレージ装置制御方法が限定されるものではない。
図1は、実施例に係るストレージシステムの構成図である。本実施例に係るストレージシステムは、図1に示すように、仮想テープライブラリ1が、ホスト2に接続されている。ホスト2は、サーバなどの情報処理装置である。
仮想テープライブラリ1は、階層制御サーバ10、テープライブラリ装置20及びディスクアレイ装置30を有している。具体的には、階層制御サーバ10が、ホスト2に接続している。また、階層制御サーバ10は、テープライブラリ装置20及びディスクアレイ装置30に接続している。
ディスクアレイ装置30は、テープなどの大容量記憶装置に比べて読み書きの速度が高速である記憶媒体を有している。例えば、ディスクアレイ装置30は、ハードディスクなどを有している。そして、ディスクアレイ装置30は、自己が有する記憶媒体に論理ボリューム(LV:Logical Volume)31を格納する。
テープライブラリ装置20は、ロボット21、物理ボリューム(PV:Physical Volume)22及びテープドライブ23を有している。物理ボリューム22は、大容量記憶媒体であり、例えば、磁気テープである。テープライブラリ装置20は、複数の物理ボリューム22を有している。
ロボット21は、物理ボリューム22の搬送を行う。例えば、階層制御サーバ10からの書き込み又は読み出しの指示を受けて、指定された物理ボリューム22をテープドライブ23へ挿入する。その後、テープドライブ23による物理ボリューム22への書き込み又は読出しの処理が終わると、ロボット21は、物理ボリューム22をテープドライブ23から取り出し、格納場所に戻す。
テープドライブ23は、階層制御サーバ10からの指示にしたがい、挿入された物理ボリューム22に対してデータの書き込み又は読み出しを行う。
ここで、物理ボリューム22のフォーマットについて説明する。図2は、物理ボリュームのフォーマットを表す概念図である。ここでは、論理ボリューム31A及び31Bが、物理ボリューム22に格納される場合で説明する。先に論理ボリューム31Aが格納され、後から論理ボリューム31Bが格納されたものとする。
論理ボリューム31Aは、論理ボリュームヘッダ(LV−HDR(Header))、VOL(Volume)1、HDR1、HDR2、DATA#A、EOF(End Of File)1、EOF2及びEOV(End Of Volume)を有している。論理ボリューム31Bは、論理ボリューム31AにおいてDATA#AがDATA#Bに変わり、後の情報は同様のフォーマットを有している。LV−HDRのブロックは、論理ボリューム31の更新回数を表す世代、論理ボリューム名、論理ボリュームグループ名、論理ボリュームサイズ及び論理ボリューム作成日が格納されるブロックである。VOL1のブロックは、ボリューム名、所有者などの情報が格納される80バイトのブロックである。HDR1のブロックは、ファイル名、更新日などが格納される80バイトのブロックである。HDR2のブロックは、レコード形式、ブロック長などが格納される80バイトのブロックである。Data#A及び#Bのブロックは、ユーザデータが格納される可変長バイトのブロックである。EOF1のブロックは、ファイル名、更新日などが格納される80バイトのブロックである。EOVのブロックは、ボリュームの最後を示すマークブロックである。
そして、物理ボリューム22の先頭には、PV−HDRが格納される。PV−HDRには、標準的識別子、物理ボリューム名及び物理ボリューム22が属するグループのグループ名が格納される。さらに、PV−HDRには、仮想テープライブラリ装置の識別子及び物理ボリューム22のステータスが格納される。物理ボリューム22が属するグループについては後で詳細に説明する。PV−HDRに続いて、矢印P1で示すように、最初に格納される論理ボリューム31AのLV−HDRが格納される。続いて、矢印P2で示すように、論理ボリューム31AのVOL1、HDR1、HDR2、DATA#A、EOF1、EOF2及びEOVが、1つの論理ボリュームのデータであるLV#Aとして格納される。続いて、矢印P3で示すように、2番目に格納される論理ボリューム31BのLV−HDRが格納される。続いて、矢印P4で示すように、論理ボリューム31BのVOL1、HDR1、HDR2、DATA#B、EOF1、EOF2及びEOVが1つの論理ボリュームのデータであるLV#Bとして格納される。最後に、PV−DIR(Directory)が物理ボリューム22に格納される。PV−DIRには、論理ボリュームのリストや末尾を示す情報などが格納される。このように、論理ボリューム31は、書き込まれた順番に順次後ろにつなげるように物理ボリューム22に格納されていく。
図1に戻って説明を続ける。階層制御サーバ10は、ホスト2からデータの書き込みの指示を受ける。データの書き込みの指示を受けると、階層制御サーバ10は、指定されたデータ群を1つの論理ボリューム31としてディスクアレイ装置30に書き込む。そして、階層制御サーバ10は、応答をホスト2に返す。その後、階層制御サーバ10は、マイグレーションを行う。具体的には、階層制御サーバ10は、ディスクアレイ装置30に格納した論理ボリューム31を読み出し、読み出したデータの物理ボリューム22への書き込みをテープライブラリ装置20に指示し、物理ボリューム22にデータを格納させる。
また、データの読み出しの指示を受けると、階層制御サーバ10は、読み出すデータを格納した論理ボリューム31がディスクアレイ装置30にあるか否かを判定する。読み出すデータを格納した論理ボリューム31がディスクアレイ装置30にある場合、階層制御サーバ10は、その論理ボリューム31をディスクアレイ装置30から読み出す。そして、階層制御サーバ10は、読み出したデータをホスト2に返す。
読み出すデータを格納した論理ボリューム31がディスクアレイ装置30にない場合、階層制御サーバ10は、その論理ボリューム31の読み出しをテープライブラリ装置20に指示する。その後、階層制御サーバ10は、物理ボリューム22から読み出させた論理ボリューム31をテープライブラリ装置20から取得する。その後、階層制御サーバ10は、取得した論理ボリューム31に格納されているデータをホスト2に返し、さらに取得した論理ボリューム31をディスクアレイ装置30に格納する。
また、階層制御サーバ10は、ホスト2からのデータの削除指示を受けて、ディスクアレイ装置30や物理ボリューム22に格納された論理ボリューム31の削除を行う。
さらに、階層制御サーバ10は、物理ボリューム22の無効な論理ボリューム31が格納された無効領域が増えた場合、有効な論理ボリューム31が格納された有効領域を他の物理ボリューム22に移してまとめ、使用領域を増やすリオーガニゼーションを行う。ここで、論理ボリューム31が有効であるとは、その論理ボリューム31に対する更新された論理ボリューム31が格納されていない又はその論理ボリューム31が削除されていない場合である。
また、階層制御サーバ10は、リオーガニゼーションとして、無効領域と未使用領域の合計が1つの物理ボリューム22の容量以上になった場合にリオーガニゼーションを行う。
さらに、階層制御サーバ10は、複数のリオーガニゼーションの実行が重なって発生した場合、リオーガニゼーションを行うに当たり確保する物理ボリューム22の確保量でリオーガニゼーションをソートする。次に、物理ボリューム22の確保量が同数であるリオーガニゼーションに対しては、階層制御サーバ10は、リオーガニゼーションを実行した場合に生成される未使用の物理ボリューム22の量でリオーガニゼーションをソートする。以下では、リオーガニゼーションを実行した場合に生成される未使用の物理ボリューム22の量を「未使用の物理ボリューム22の増分量」という。次に、未使用の物理ボリューム22の増分量が同数であるリオーガニゼーションに対しては、階層制御サーバ10は、リオーガニゼーションの発生時刻の順にリオーガニゼーションをソートする。
その後、階層制御サーバ10は、ソート順にリオーガニゼーションを実行する。また、後から追加されたリオーガニゼーションについては、階層制御サーバ10は、ソートされたリオーガニゼーションの中のどこに挿入するかを上述した条件にしたがい決定し、決定した順番に追加されたリオーガニゼーションを挿入する。
さらに、図3を参照して、階層制御サーバ10の詳細について説明する。図3は、階層制御サーバのブロック図である。図3に示すように、階層制御サーバ10は、グループ管理部101、情報格納部102、リードライト部103及びデータ移行処理部104を有する。
情報格納部102は、PVG管理テーブル121の情報、PV管理テーブル122の情報及び優先度テーブル123の情報を格納する記憶領域を含む。PVG管理テーブル121、PV管理テーブル122及び優先度テーブル123については後で詳細に説明する。
リードライト部103は、データの書込命令又は読出命令をホスト2から受信する。書込命令の場合、リードライト部103は、ディスクアレイ装置30に論理ボリューム31としてデータを格納する。ここで、リードライト部103は、ホスト2から論理ボリュームグループの作成が指示された場合、ディスクアレイ装置30に論理ボリュームグループを生成する。そして、リードライト部103は、書き込み命令においてデータの書き込み先として論理ボリュームの指定がある場合、ディスクアレイ装置30において指定された論理ボリュームグループに属するように論理ボリューム31を格納する。その後、リードライト部103は、論理ボリューム31の格納をデータ移行処理部104に通知する。
読出命令の場合、リードライト部103は、ディスクアレイ装置30に指定されたデータがあるか否かを判定する。指定されたデータが有る場合、リードライト部103は、指定されたデータをディスクアレイ装置30から読み出して取得する。これに対して、指定されたデータが無い場合、リードライト部103は、後述するデータ移行処理部104のデータ管理部141に指定されたデータの読み出しを依頼する。その後、リードライト部103は、指定されたデータをデータ管理部141から取得する。そして、リードライト部103は、取得したデータをホスト2へ送信する。
さらに、リードライト部103は、論理ボリューム31の削除命令をホスト2から受ける。この場合、リードライト部103は、指定された論理ボリューム31をディスクアレイ装置30から削除する。さらに、リードライト部103は、論理ボリューム31の削除をデータ移行処理部104に指示する。
グループ管理部101は、グループ生成部111及びボリューム管理部112を有する。
グループ生成部111は、テープライブラリ装置20が有する使用済みの物理ボリューム22をまとめてグループを作成し、未使用の物理ボリューム22をまとめてグループを作成する。ここで、使用済みの物理ボリューム22とは、有効な論理ボリューム31が既に格納されている物理ボリュームである。また、未使用の物理ボリューム22とは、有効な論理ボリューム31が1つも格納されていない物理ボリュームである。以下では、使用済みの物理ボリューム22のグループを、「StackedPVG」という。このStackedPVGが、「第1グループ」の一例にあたる。また、未使用の物理ボリューム22のグループを、「ScratchPVG」という。このScratchPVGが、「第2グループ」の一例にあたる。
グループ生成部111は、StackedPVGを1つ又は複数作成する。また、グループ生成部111は、ScratchPVGを1つ又は複数作成する。
図4は、StackedPVGの一例の図である。例えば、ディスクアレイ装置30は、論理ボリュームグループ(LVG:Logical Volume Group)301〜303を含む論理ボリュームグループを格納する。各論理ボリュームグループ301〜303は、複数の論理ボリューム31を含む。
グループ生成部111は、StackedPVG211〜213を含むStackedPVGを生成する。以下では、StackedPVG211〜213のそれぞれを区別しない場合、「StackedPVG210」という。1つのStackedPVG210には、1つ以上の物理ボリューム22が属している。そして、グループ生成部111は、論理ボリュームグループ301〜303に1つ以上のStackedPVG210に関連付ける。図4では、一点鎖線により論理ボリュームグループ301〜303とStackedPVG211〜213の関連付けを表している。グループ生成部111は、論理ボリュームグループ301にStackedPVG211を関連付ける。また、グループ生成部111は、論理ボリュームグループ302にStackedPVG212及び213を関連付ける。また、グループ生成部111は、論理ボリュームグループ303にStackedPVG213を関連付ける。このように関連付けた論理ボリュームグループとStackedPVGとの間で、論理ボリューム31を物理ボリューム22へ格納する処理や物理ボリューム22に格納された論理ボリューム31を読み出してディスクアレイ装置30内に格納する処理が行われる。
さらに、グループ生成部111は、生成したScratchPVGに1つ又は複数のStackedPVG210を関連付ける。例えば、図5に示すように、グループ生成部111は、ScratchPVG221及び222をStackedPVG211〜213を関連付ける。図5は、StackedPVGとScratchPVGとの関連付けを説明するための図である。以下では、ScratchPVG221〜222のそれぞれを区別しない場合、「ScratchPVG220」という。
各StackedPVG210は、関連付けられたScratchPVG220に属する物理ボリューム22を利用することができる。すなわち、StackedPVG210からの物理ボリューム22の要求に対して、関連付けられたScratchPVG220が、物理ボリューム22を提供することができる。このように1つのScratchPVG220に対し、複数のStackedPVG210を関連付けることで、物理ボリューム22を効率よく運用することができる。
図3に戻って説明を続ける。グループ生成部111は、StackedPVG210の情報、ScratchPVG220の情報及びその関連付けの情報をPVG管理テーブル121を用いて管理する。グループ生成部111は、PVG管理テーブル121に、各物理ボリュームグループ(PVG)の識別子に対応させて、関連付けられたScratchPVG220の情報を登録する。さらに、グループ生成部111は、各物理ボリュームグループに格納されているテープライブラリ装置20の情報及びその物理ボリュームグループに属する物理ボリューム22の数をPVG管理テーブル121に登録する。さらに、グループ生成部111は、PVG管理テーブル121に、各物理ボリュームグループにおいてリオーガニゼーションの実行を開始する条件を登録する。そして、グループ生成部111は、生成したPVG管理テーブル121の情報を情報格納部102に格納する。
ボリューム管理部112は、PV管理テーブル122を用いて、各物理ボリューム22に格納されている論理ボリューム31を管理する。
ボリューム管理部112は、各物理ボリューム22の格納先のテープライブラリ装置20、所属物理ボリュームグループの情報、使用状態、格納している論理ボリュームの数をPV管理テーブル122に登録する。さらに、ボリューム管理部112は、有効な論理ボリュームの数、有効な論理ボリュームの割合である有効LV率をPV管理テーブル122に登録する。使用状態は、物理ボリューム22が未使用であるか、使用中であるか、書き込み中であるか、読み出し中であるか、媒体異常であるか、アクセス不可であるかなどを表す。アクセス不可や媒体異常の場合には、その物理ボリューム22は使用できない。また、書き込み中や読み出し中の物理ボリューム22は、使用中の1形態で表す。
ボリューム管理部112は、物理ボリューム22への書き込みをデータ移行処理部104が開始すると、PV管理テーブル122における書き込み先の物理ボリューム22の状態を書き込み中に変更する。データ移行処理部104による書き込み完了後、ボリューム管理部112は、PV管理テーブル122における書き込み先の物理ボリューム22の状態を使用中に変更する。
また、ボリューム管理部112は、データ移行処理部104が物理ボリューム22から読み出しを開始すると、PV管理テーブル122における読み出し元の物理ボリューム22の状態を読み出し中に変更する。データ移行処理部104による読出し終了後、ボリューム管理部112は、PV管理テーブル122における読み出し元の物理ボリューム22の状態を使用中に変更する。
また、ボリューム管理部112は、データ移行処理部104により論理ボリューム31の削除が行われた場合、削除された論理ボリューム22の情報及びその論理ボリューム22が削除された物理ボリューム22の情報をデータ管理部141から取得する。そして、ボリューム管理部112は、PV管理テーブル122における論理ボリューム31の削除が行われた物理ボリューム22に格納された論理ボリューム31の数、有効な論理ボリューム31の数及び有効な論理ボリューム31の割合を更新する。
次に、ボリューム管理部112は、削除により有効な論理ボリューム31を有さなくなった物理ボリューム22が有る場合、PV管理テーブル122からその物理ボリューム22を特定する。そして、ボリューム管理部112は、PV管理テーブル122における特定した物理ボリューム22の所属先をStackedPVG210からScratchPVG220へ変更する。これにより、ボリューム管理部112は、特定した物理ボリューム22をStackedPVG210から特定したScratchPVG220へ移動する。
また、ボリューム管理部112は、マイグレーションを実行するにあたり物理ボリューム22を確保する場合、確保する個数とともに物理ボリューム22の確保の指示をデータ管理部141から受ける。そして、ボリューム管理部112は、PV管理テーブル122からScratchPVG220に属する指定された個数の物理ボリューム22を選択する。次に、ボリューム管理部112は、PV管理テーブル122における選択した物理ボリューム22の所属先をScratchPVG220からStackedPVG210へ変更する。これにより、ボリューム管理部112は、選択した物理ボリューム22をScratchPVG220からStackedPVG210へ移動する。その後、ボリューム管理部112は、StackedPVG210への物理ボリューム22の移動完了をデータ管理部141へ通知する。
また、ボリューム管理部112は、リオーガニゼーションを実行する場合、確保する個数とともに物理ボリューム22の確保の指示をリオーガニゼーション処理部142から受ける。そして、ボリューム管理部112は、PV管理テーブル122からScratchPVG220に属する指定された個数の物理ボリューム22を選択する。次に、ボリューム管理部112は、PV管理テーブル122における選択した物理ボリューム22の所属先をScratchPVG220からStackedPVG210へ変更する。これにより、ボリューム管理部112は、選択した物理ボリューム22をScratchPVG220からStackedPVG210へ移動する。その後、ボリューム管理部112は、StackedPVG210への物理ボリューム22の移動完了をリオーガニゼーション処理部142へ通知する。
また、ボリューム管理部112は、データ移行処理部104によるマイグレーション及びリオーガニゼーションが完了した場合、処理対象の論理ボリューム31の情報をデータ移行処理部104から取得する。さらに、ボリューム管理部112は、処理対象の論理ボリューム31の移動元及び移動先の物理ボリューム22の情報をデータ移行処理部104から受信する。
そして、ボリューム管理部112は、PV管理テーブル122における移動先の物理ボリューム22に格納された論理ボリューム31の数、有効な論理ボリューム31の数及び有効な論理ボリューム31の割合を更新する。さらに、ボリューム管理部112は、PV管理テーブル122における書き込み先の物理ボリューム22の状態を使用中に変更する。
さらに、ボリューム管理部112は、PV管理テーブル122における移動元の物理ボリューム22に格納された論理ボリューム31の数、有効な論理ボリューム31の数及び有効な論理ボリューム31の割合を更新する。
この時、移動元の物理ボリューム22に有効な論理ボリューム31が格納されている場合、ボリューム管理部112は、移動元の物理ボリューム22の状態を使用中にする。
これに対して、有効な論理ボリューム31が格納されていない場合、ボリューム管理部112は、移動元の物理ボリューム22の状態を未使用にする。次に、ボリューム管理部112は、移動元の物理ボリューム22が属していたStackedPVG210に対応するScratchPVG220をPVG管理テーブル121から特定する。そして、ボリューム管理部112は、PV管理テーブル122における移動元の物理ボリューム22の所属を特定したScratchPVG220に変更する。これにより、ボリューム管理部112は、移動元の物理ボリューム22をStackedPVG210から特定したScratchPVG220へ移動する。このボリューム管理部112が、「移動部」の一例にあたる。
データ移行処理部104は、データ管理部141及びリオーガニゼーション処理部142を有する。データ管理部141は、例えば、マイグレーション、論理ボリューム31の削除及びディスクアレイ装置30への論理ボリューム31の書き込みを行う。また、リオーガニゼーション処理部142は、リオーガニゼーションを実行する。
データ管理部141は、論理ボリューム31の格納の通知をリードライト部103から受けると、ディスクアレイ装置30に格納された論理ボリューム31を物理ボリューム22への格納を実行する。この時、データ管理部141は、マイグレーション先のStackedPVG210に属する既存の物理ボリューム22に論理ボリューム31が格納できるか否を判定する。既存の物理ボリューム22に格納できる場合、データ管理部141は、マイグレーションを実行する。具体的には、データ移行処理部104は、マイグレーションの対象である論理ボリューム31をディスクアレイ装置30から取得し、マイグレーション先のStackedPVG210の物理ボリューム22へ格納する。
これに対して、既存の物理ボリューム22に格納できない場合、データ管理部141は、マイグレーションを行うために確保するディスクの数を算出する。そして、データ管理部141は、算出したマイグレーションを行うために確保するディスクの数をボリューム管理部112に通知する。その後、データ管理部141は、物理ボリューム22の確保完了通知をボリューム管理部112から受ける。そして、データ管理部141は、マイグレーションを実行する。
マイグレーション実行後、データ管理部141は、マイグレーションにより移動した論理ボリューム31の情報、移動元の物理ボリューム22の情報及び移動先の物理ボリューム22の情報をボリューム管理部112に通知する。さらに、データ管理部141は、マイグレーションの実行の通知とともにマイグレーションを行った物理ボリューム22が属するStackedPVG210の情報をリオーガニゼーション処理部142に通知する。
また、データ管理部141は、論理ボリューム31の削除の指示をリードライト部103から受けて、物理ボリューム22から指定された論理ボリューム31を削除する。そして、データ管理部141は、論理ボリューム31の削除後、削除を行った論理ボリューム31の情報及びその論理ボリュームが属する物理ボリューム22の情報をボリューム管理部112へ通知する。さらに、データ管理部141は、削除の通知とともに論理ボリューム31の削除を行った物理ボリューム22が属するStackedPVG210の情報をリオーガニゼーション処理部142へ通知する。このデータ管理部141が、「データ格納部」の一例にあたる。
リオーガニゼーション処理部142は、マイグレーション実行の通知又は論理ボリューム31の削除の通知を、StackedPVG210の情報とともにデータ管理部141から受ける。そして、リオーガニゼーション処理部142は、通知されたStackedPVG210にあたる物理ボリュームグループにおけるリオーガニゼーション実行の条件をPVG管理テーブル121から取得する。リオーガニゼーション実行の条件とは、記憶容量に関する条件であり、例えば、SoftMinimumの条件、HardMinimumの条件及びAbsoluteMinimumの条件がある。SoftMinimumとは、使用可能な物理ボリューム22が所定の閾値未満となり、且つ、有効な論理ボリューム31の割合が有効な論理ボリュームの基準率未満となった場合である。また、HardMinimumとは、使用可能な物理ボリューム22がSoftMinimumの閾値よりも小さい所定の閾値未満となった場合である。AbsoluteMinimumとは、使用可能な物理ボリューム22がHardMinimumの閾値よりも小さい所定の閾値未満となった場合である。例えば、AbsoluteMinimumの閾値は、その閾値以下であればマイグレーションを実行するための物理ボリューム22が無いと判断できる値に設定される。
そして、リオーガニゼーション処理部142は、通知されたStackedPVG210に属する物理ボリューム22の状態をPV管理テーブル122から取得する。その後、リオーガニゼーション処理部142は、取得した情報を用いてStackedPVG210がリオーガニゼーション実行の条件を満たしているか否かを判定する。このリオーガニゼーション実行の条件が、「所定の条件」の一例にあたる。
StackedPVG210がリオーガニゼーション実行の条件を満たしている場合、リオーガニゼーション処理部142は、そのStackedPVG210に対するリオーガニゼーションの実行を確定する。以下では、このリオーガニゼーションの実行が確定されたStackedPVGを、「対象StackedPVG」という。また、対象StackedPVGに対するリオーガニゼーションを、「対象リオーガニゼーション」という。そして、このリオーガニゼーション処理部142による対象StackedPVGの選択が、「第1グループをいくつか選択」することの一例にあたる。
ここで、リオーガニゼーション処理部142は、図6に示すような既に実行が確定しているリオーガニゼーションの優先度を示す優先度テーブル123を情報格納部102から取得する。図6は、優先度テーブルの一例の図である。
ここで、StackedPVG識別子は、リオーガニゼーションの対象となるStackedPVG210の識別情報である。優先度は、リオーガニゼーションを行う優先度である。PV確保量は、リオーガニゼーションを行う際に、ScratchPVG220からStackedPVG210へ確保する物理ボリューム22の数である。以下では、特定のリオーガニゼーションを行う際のPV確保量を、「特定のリオーガニゼーションのPV確保量」という。PV戻し量は、リオーガニゼーションを行った結果、StackedPVG210からScratchPVG220へ戻すことができる物理ボリューム22の数である。以下では、特定のリオーガニゼーションを行った場合に発生するPV戻し量を、「特定のリオーガニゼーションの戻し量」という。PV増分量は、リオーガニゼーションを行った場合にScratchPVG220における増加した物理ボリュームの数であり、PV戻し量とPV確保量との差分にあたる。以下では、特定のリオーガニゼーションを行った場合のPV増分量を「特定のリオーガニゼーションの増分量」という。発生時刻は、リオーガニゼーション処理部142がリオーガニゼーションの実行を確定した時刻である。ScratchPVG220内の残PV数は、リオーガニゼーションを実行した後にScratchPVG220に存在する物理ボリューム22の数である。
ここで、既に実行が確定しているリオーガニゼーションが未だない場合又は実行を待機中のリオーガニゼーションが無い場合、優先度テーブル123は、リオーガニゼーションが登録されていない状態となる。また、現在実行されているリオーガニゼーション及び既に実行されたリオーガニゼーションは、優先度テーブル123から削除される。
対象リオーガニゼーションの実行を確定した場合、リオーガニゼーション処理部142は、対象リオーガニゼーションのPV確保量、PV戻し量及びPV増分量を算出する。さらに、リオーガニゼーション処理部142は、優先度テーブル123を参照し、実行の待機中のリオーガニゼーションがあるか否かを判定する。
実行の待機中のリオーガニゼーションが無く、且つ実行中のリオーガニゼーションが無ければ、リオーガニゼーション処理部142は、対象リオーガニゼーションの実行を開始する。
また、実行の待機中のリオーガニゼーションが無いが、実行中のリオーガニゼーションがある場合、リオーガニゼーション処理部142は、対象StackedPVGに対するリオーガニゼーションを優先度テーブル123に登録する。この場合、リオーガニゼーション処理部142は、対象リオーガニゼーションを最も優先度の高いリオーガニゼーションとして登録する。
これに対して、実行の待機中のリオーガニゼーションがある場合、リオーガニゼーション処理部142は、対象リオーガニゼーションの優先度を以下の手順にしたがって求める。そして、リオーガニゼーション処理部142は、決定した優先度で対象リオーガニゼーションを優先度テーブル123に登録し、それ以下の優先度であったリオーガニゼーションの優先度を1つずつ下げる。以下に、リオーガニゼーション処理部142による優先度の決定手順について説明する。リオーガニゼーション処理部142は、優先度の高い順に比較対象とするリオーガニゼーションを選択しつつ、対象リオーガニゼーションの優先度が決定するまで以下の処理を繰り返す。以下では、比較対象として選択されたリオーガニゼーションを「選択リオーガニゼーション」という。
リオーガニゼーション処理部142は、対象リオーガニゼーションのPV確保量が選択リオーガニゼーションのPV確保量より大きいか否かを判定する。対象リオーガニゼーションのPV確保量が選択リオーガニゼーションのPV確保量より大きい場合、リオーガニゼーション処理部142は、次の優先度のリオーガニゼーションとの比較に移る。
一方、対象リオーガニゼーションのPV確保量が選択リオーガニゼーションのPV確保量以下の場合、リオーガニゼーション処理部142は、対象リオーガニゼーションのPV確保量が選択リオーガニゼーションのPV確保量より小さいか否かを判定する。対象リオーガニゼーションのPV確保量が選択リオーガニゼーションのPV確保量より小さい場合、リオーガニゼーション処理部142は、対象リオーガニゼーションの優先度を、選択リオーガニゼーションの優先度に設定する。さらに、リオーガニゼーション処理部142は、選択リオーガニゼーションの優先度以下の優先度を有するリオーガニゼーションの優先度を一つずつ下げる。
これに対して、それぞれのPV確保量が一致する場合、リオーガニゼーション処理部142は、対象リオーガニゼーションのPV戻し量が選択リオーガニゼーションのPV戻し量より大きいか否かを判定する。対象リオーガニゼーションのPV戻し量が選択リオーガニゼーションのPV戻し量より大きい場合、リオーガニゼーション処理部142は、対象リオーガニゼーションの優先度を、選択リオーガニゼーションの優先度に設定する。さらに、リオーガニゼーション処理部142は、選択リオーガニゼーション以下の優先度を有するリオーガニゼーションの優先度を一つずつ下げる。
一方、対象リオーガニゼーションのPV戻し量が選択リオーガニゼーションのPV戻し量より小さい場合、リオーガニゼーション処理部142は、次の優先度のリオーガニゼーションとの比較に移る。
これに対して、それぞれのPV戻し量が一致する場合、リオーガニゼーション処理部142は、対象リオーガニゼーションの発生時刻が選択リオーガニゼーションの発生時刻以前か否かを判定する。ここで、発生時刻とは、リオーガニゼーション処理部142により、リオーガニゼーションの対象となるStackedPVG210がリオーガニゼーションの条件を満たしたと判定されたタイミングにあたる。対象リオーガニゼーションの発生時刻が選択リオーガニゼーションの発生時刻以前の場合、リオーガニゼーション処理部142は、対象リオーガニゼーションの優先度を、選択リオーガニゼーションの優先度に設定する。さらに、リオーガニゼーション処理部142は、選択リオーガニゼーション以下の優先度を有するリオーガニゼーションの優先度を一つずつ下げる。
これに対して、対象リオーガニゼーションの発生時刻が選択リオーガニゼーションの発生時刻より遅い場合、リオーガニゼーション処理部142は、次の優先度のリオーガニゼーションとの比較に移る。
ただし、リオーガニゼーション処理部142は、優先度テーブル123に登録済みのリオーガニゼーション全てとの比較を行ったうえで、対象リオーガニゼーションの優先度が決定しない場合、対象リオーガニゼーションの優先度を最低の優先度として決定する。そして、リオーガニゼーション処理部142は、対象リオーガニゼーションを最低の優先度として優先度テーブル123に登録する。
リオーガニゼーション処理部142は、実行しているリオーガニゼーションが完了すると、優先度テーブル123の中で最も優先度の高いリオーガニゼーションを実行する。このリオーガニゼーション処理部142が、「データ移行部」の一例にあたる。
ここで、リオーガニゼーション処理部142は、PV確保量が少ない順にリオーガニゼーションを実行する。そして、ScratchPVG220内に存在する物理ボリューム22の数は、リオーガニゼーションを行うにしたがい徐々に増える。そのため、PV確保量よりもScratchPVG220内に存在する物理ボリューム22の数が多い可能性が高くなり、リオーガニゼーションの実行されない状態を回避できる可能性が高くなる。すなわち、リオーガニゼーション処理部142がPV確保量の少ない順にリオーガニゼーションを実行することで、リオーガニゼーションの継続性が向上し、それにしたがい、マイグレーションの継続性も向上する。
次に、図7を参照して、PV確保量、PV戻し量及びPV増分量の算出の流れについて説明する。図7は、PV確保量、PV戻し量及びPV増分量の算出のフローチャートである。以下では、対象StackedPVGを対象とする場合を例に説明する。
リオーガニゼーション処理部142は、対象StackedPVGに属する物理ボリューム22をPV管理テーブル122から特定する。次に、リオーガニゼーション処理部142は、特定した各物理ボリューム22における有効な論理ボリューム31の領域の大きさを求める。
そして、リオーガニゼーション処理部142は、対象StackedPVGに属する全ての物理ボリューム22の有効な論理ボリューム31の領域の合計である総有効領域(C1)を算出する。さらに、リオーガニゼーション処理部142は、対象StackedPVGに属する全ての物理ボリューム22の無効な論理ボリューム31の領域及び未使用領域の合計である総未使用領域(C2)を算出する(ステップS101)。ここで、総有効領域を「C1」と表し、総未使用領域を「C2」と表す。
次に、リオーガニゼーション処理部142は、総有効領域(C1)を1つの物理ボリューム22あたりの容量(Pu)で除算し、対象リオーガニゼーションのPV確保量(Pt)を算出する(ステップS102)。ここで、1つの物理ボリューム22当たりの容量を「Pu」と表す。さらに、PV確保量を「Pt」と表す。
次に、リオーガニゼーション処理部142は、総未使用領域(C2)を1つの物理ボリューム22あたりの容量(Pu)で除算し、対象リオーガニゼーションのPV増分量(Pa)を算出する(ステップS103)。ここで、PV増分量を「Pa」とする。
次に、リオーガニゼーション処理部142は、PV確保量(Pt)にPV増分量(Pa)を加算して、対象リオーガニゼーションのPV戻し量(Pb)を算出する(ステップS104)。ここで、PV戻し量を「Pb」と表す。
次に、図8を参照して、優先度決定の処理の流れについて説明する。図8は、優先度決定の処理のフローチャートである。ここでは、複数のリオーガニゼーションが優先度テーブル123に登録されている状態で、対象リオーガニゼーションの優先度を決定する場合について説明する。以下では、対象リオーガニゼーションの発生時刻を「T」とする。
リオーガニゼーション処理部142は、優先度テーブル123に登録されたリオーガニゼーションの総数を取得する(ステップS201)。ここでは、優先度テーブル123に登録されたリオーガニゼーションの総数を「N」とする。
次に、リオーガニゼーション処理部142は、優先度を表す変数iを初期値である1に設定する(ステップS202)。以下では、優先度iのリオーガニゼーションのPV確保量をPt(i)とし、PV戻し量をPb(i)とし、発生時刻を「T(i)」とする。
そして、リオーガニゼーション処理部142は、対象リオーガニゼーションのPV確保量(Pt)が優先度iのリオーガニゼーションのPV確保量(Pt(i))より大きいか否かを判定する(ステップS203)。PtがPt(i)より大きい場合(ステップS203:肯定)、リオーガニゼーション処理部142は、ステップS209へ進む。
これに対して、PtがPt(i)以下の場合(ステップS203:否定)について説明する。この場合、リオーガニゼーション処理部142は、対象リオーガニゼーションのPV確保量(Pt)が優先度iのリオーガニゼーションのPV確保量(Pt(i))より小さいか否かを判定する(ステップS204)。
PtがPt(i)より小さい場合(ステップS204:肯定)、リオーガニゼーション処理部142は、ステップS208へすすむ。
これに対して、PtとPt(i)とが一致する場合(ステップS204:否定)について説明する。この場合、リオーガニゼーション処理部142は、対象リオーガニゼーションのPV戻し量(Pb)が優先度iのリオーガニゼーションのPV戻し量(Pb(i))より大きいか否かを判定する(ステップS205)。
PbがPb(i)より大きい場合(ステップS205:肯定)、リオーガニゼーション処理部142は、ステップS208へ進む。
これに対して、PbがPb(i)以下の場合(ステップS205:否定)について説明する。この場合、リオーガニゼーション処理部142は、対象リオーガニゼーションのPV戻し量(Pb)が優先度iのリオーガニゼーションのPV戻し量(Pb(i))より大きいか否かを判定する(ステップS206)。PbがPb(i)より大きい場合(ステップS206:肯定)、リオーガニゼーション処理部142は、ステップS209へ進む。
一方、PbとPb(i)が一致する場合(ステップS206:否定)、リオーガニゼーション処理部142は、対象リオーガニゼーションの発生時刻(T)が優先度iのリオーガニゼーションの発生時刻(T(i))以前か否かを判定する(ステップS207)。TがT(i)以前の場合(ステップS207:肯定)、リオーガニゼーション処理部142は、ステップS208へ進む。
これに対して、TがT(i)より遅い場合(ステップS207:否定)、リオーガニゼーション処理部142は、ステップS209へ進む。
Pt<Pt(i)、Pb>Pb(i)及びT≦T(i)の場合、リオーガニゼーション処理部142は、対象リオーガニゼーションの優先度を優先度iとして、優先度テーブル123に登録する(ステップS208)。さらに、リオーガニゼーション処理部142は、優先度iだったリオーガニゼーション以下の優先度を有するリオーガニゼーションの優先度を一つずつ下げる。
また、Pt>Pt(i)、Pb<Pb(i)又はT>T(i)の場合、リオーガニゼーション処理部142は、優先度iが最も低い優先度が否か、すなわちiがNに一致するか否かを判定する(ステップS209)。iがNに一致する場合(ステップS209:肯定)、リオーガニゼーション処理部142は、対象リオーガニゼーションの優先度を最も低い優先度として優先度テーブル123に登録する(ステップS210)。
これに対して、iがNに一致しない場合(ステップS209:否定)、リオーガニゼーション処理部142は、iを1つインクリメントし(ステップS211)、ステップS203へ戻る。
次に、図9を参照して、リオーガニゼーションの実行処理の流れについて説明する。図9は、リオーガニゼーションの実行処理のフローチャートである。
リオーガニゼーション処理部142は、優先度テーブル123にリオーガニゼーションが未登録であるか否かを判定する(ステップS301)。リオーガニゼーションが未登録の場合(ステップS301:肯定)、リオーガニゼーション処理部142は、リオーガニゼーションの実行を停止する。
これに対して、リオーガニゼーションが登録されている場合(ステップS301:否定)、リオーガニゼーション処理部142は、優先度テーブル123の先頭、すなわち 最も優先度が高いリオーガニゼーションを選択する。そして、リオーガニゼーション処理部142は、選択したリオーガニゼーションに関する情報を取得する(ステップS302)。リオーガニゼーションに関する情報には、例えば、StackedPVG210の識別子、PV確保量(Pt)、PV戻し量(Pb)及びPV増分量(Pa)が含まれる。
次に、リオーガニゼーション処理部142は、選択したリオーガニゼーションのPV確保量(Pt)がScratchPVG220に存在する物理ボリューム22の数(Pn)以下か否かを判定する(ステップS303)。以下では、ScratchPVG220に存在する物理ボリューム22の数を「Pn」とあらわす。PtがPnより大きい場合(ステップS303:否定)、リオーガニゼーション処理部142は、リオーガニゼーションの実行を停止する。
これに対して、PtがPn以下の場合(ステップS303:肯定)、リオーガニゼーション処理部142は、優先度テーブル123の先頭のリオーガニゼーションのエントリを削除する(ステップS304)。さらに、リオーガニゼーション処理部142は、優先度テーブル123の各リオーガニゼーションの優先度を1つずつ繰り上げる。
次に、リオーガニゼーション処理部142は、取得した識別子を有するStackedPVG210に対してリオーガニゼーションを実行する(ステップS305)。
その後、リオーガニゼーション処理部142は、取得した識別子を有するScratchPVG220に存在する物理ボリューム20の数(Pn)に対する、PV増分量(Pa)の加算をボリューム管理部112に指示する(ステップS306)。ボリューム管理部112は、指定されたScratchPVG220の物理ボリューム22の数を、PnにPaを加算した値に更新する。
次に、図10〜16を参照して、リオーガニゼーション処理部142による優先度決定処理の一例について具体的に説明する。図10は、同時発生したリオーガニゼーションの情報を表す図である。ここでは、リオーガニゼーション処理部142が、図10に示した識別子A〜Eを有するStackedPVG210に対するリオーガニゼーションの実行を同時に決定した場合で説明する。また、ここでは、初期状態として、ScratchPVG220に残っている物理ボリューム22が2個ある場合で説明する。
以下では、識別子A〜Eを有するStackedPVG210に対するリオーガニゼーションをそれぞれリオーガニゼーションA〜Eとして説明する。リオーガニゼーション処理部142は、発生したリオーガニゼーションの情報を図11に示したようなテーブルとして保持してもよい。
リオーガニゼーション処理部142は、発生したリオーガニゼーションの中から1つずつ選択し優先度を決定していく。以下では、図10に示したテーブルに沿って上からリオーガニゼーションの優先度を決定していく場合で説明する。
リオーガニゼーション処理部142は、最初に、リオーガニゼーションAの情報を取得する。この場合、優先度テーブル123は、リオーガニゼーションが未登録であるので、リオーガニゼーション処理部142は、優先度1として優先度テーブル123にリオーガニゼーションAの情報を登録し、図11に示す優先度テーブル123を生成する。図11は、リオーガニゼーションAの優先度を決定した段階の優先度テーブルを表す図である。図11に示すように、優先度1であるリオーガニゼーションAの情報がエントリ421に登録される。太枠で囲ったエントリが新たに優先度を決定したリオーガニゼーションのエントリを表す。
次に、リオーガニゼーション処理部142は、リオーガニゼーションBの情報を取得する。リオーガニゼーションAとリオーガニゼーションBとはPV確保量は同じであるが、リオーガニゼーションAの方がPV戻し量が多い。そこで、リオーガニゼーション処理部142は、リオーガニゼーションAを優先度1のままとし、最も低い優先度2としてリオーガニゼーションBの情報を優先度テーブル123に登録し、図12に示す優先度テーブル123を生成する。図12は、リオーガニゼーションBの優先度を決定した段階の優先度テーブルを表す図である。図12に示すように、リオーガニゼーションBは、エントリ422としてリオーガニゼーションAの下に挿入される。
次に、リオーガニゼーション処理部142は、リオーガニゼーションCの情報を取得する。リオーガニゼーションCは、リオーガニゼーションAよりもPV確保量が少ない。そこで、リオーガニゼーション処理部142は、リオーガニゼーションCの優先度をリオーガニゼーションAの優先度である優先度1として、リオーガニゼーションCの情報を優先度テーブル123に登録する。さらに、リオーガニゼーション処理部142は、リオーガニゼーションA及びBの優先度を1つずつ下げることで、図13に示す優先度テーブル123を生成する。図13は、リオーガニゼーションCの優先度を決定した段階の優先度テーブルを表す図である。図13に示すように、リオーガニゼーションCは、リオーガニゼーションAが置かれていた場所にエントリ423として挿入される。
次に、リオーガニゼーション処理部142は、リオーガニゼーションDの情報を取得する。リオーガニゼーションDは、PV確保量がリオーガニゼーションCと同数である。さらに、リオーガニゼーションDは、PV戻し量がリオーガニゼーションCより多い。そこで、リオーガニゼーション処理部142は、リオーガニゼーションDの優先度をリオーガニゼーションCの優先度である優先度1として、リオーガニゼーションDの情報を優先度テーブル123に登録する。さらに、リオーガニゼーション処理部142は、リオーガニゼーションA〜Cの優先度を1つずつ下げることで、図14に示す優先度テーブル123を生成する。図14は、リオーガニゼーションDの優先度を決定した段階の優先度テーブルを表す図である。図14に示すように、リオーガニゼーションDは、リオーガニゼーションCが置かれていた場所にエントリ424として挿入される。
次に、リオーガニゼーション処理部142は、リオーガニゼーションEの情報を取得する。リオーガニゼーションEは、優先度が最も低いリオーガニゼーションBよりもPV確保量が多い。そこで、リオーガニゼーション処理部142は、リオーガニゼーションEの優先度を、最も低い優先度5としてリオーガニゼーションEの情報を優先度テーブル123に登録し、図15に示す優先度テーブル123を生成する。図15は、リオーガニゼーションEの優先度を決定した段階の優先度テーブルを表す図である。図15に示すように、リオーガニゼーションEは、リオーガニゼーションBの下にエントリ425として挿入される。
ここで、例えば、図15に示すように、リオーガニゼーションA〜Eの何れにおいても、PV確保量以上の残PV数がある。そのため、リオーガニゼーション処理部142は、リオーガニゼーションA〜Eの全てを継続して実行することができる。
さらに、図15の状態で、PV確保量が1、PV戻し量が1、PV増分量が0、且つ発生時刻が10時5分のリオーガニゼーションFが発生したものとする。この場合、リオーガニゼーション処理部142は、リオーガニゼーションFの情報を取得する。リオーガニゼーションFは、リオーガニゼーションCとPV確保量は同じであるが、発生時刻がリオーガニゼーションCよりも遅い。そこで、リオーガニゼーション処理部142は、リオーガニゼーションFとリオーガニゼーションAとを比較する。
リオーガニゼーションFは、リオーガニゼーションAよりもPV確保量が少ない。そこで、リオーガニゼーション処理部142は、リオーガニゼーションFの優先度をリオーガニゼーションAの優先度である優先度3として、リオーガニゼーションFの情報を優先度テーブル123に登録する。さらに、リオーガニゼーション処理部142は、リオーガニゼーションA、B及びEの優先度を1つずつ下げることで、図16に示す優先度テーブル123を生成する。図16は、リオーガニゼーションFの優先度を決定した段階の優先度テーブルを表す図である。図16に示すように、リオーガニゼーションFは、リオーガニゼーションAが置かれていた場所にエントリ426として挿入される。
このように、リオーガニゼーション処理部142は、各リオーガニゼーションの優先度を順次決定していく。これにより、例えば、図16においても、リオーガニゼーションA〜Fの何れにおいても、PV確保量以上の残PV数がある。そのため、リオーガニゼーション処理部142は、後からリオーガニゼーションを追加した場合にも、リオーガニゼーションA〜Fの全てを継続して実行することができる。
(ハードウェア構成)
次に、図17を参照して、本実施例に係る階層制御サーバ10のハードウェア構成について説明する。図17は、階層制御サーバのハードウェア構成図である。
階層制御サーバ10は、プロセッサ91、RAM(Random Access Memory)92、内蔵ディスク93、テープインタフェース94、入力インタフェース95、読取装置96、ホストインタフェース97及びディスクインタフェース98を有する。
RAM92、内蔵ディスク93、テープインタフェース94、入力インタフェース95、読取装置96、ホストインタフェース97及びディスクインタフェース98は、バスを介してプロセッサ91に接続されている。
入力インタフェース95は、入力装置41との間でデータを送受信するインタフェースであり、入力装置41が接続される。
読取装置96は、CD(Compact Disc)やDVD(Digital Versatile Disk)といった可搬記憶媒体42が挿入され、挿入された可搬記憶媒体42の情報を読み取る。
ディスクインタフェース98は、ディスクアレイ装置30との間でデータの送受信を行うためのインタフェースである。ディスクインタフェース98には、ディスクアレイ装置30が接続される。
テープインタフェース94は、テープライブラリ装置20との間でデータの送受信を行うためのインタフェースである。テープインタフェース94には、テープライブラリ装置20が接続される。
内蔵ディスク93は、ハードディスクなどであり、例えば、図3に例示した情報格納部102の機能を実現する。例えば、PVG管理テーブル121、PV管理テーブル122及び優先度テーブル123が内蔵ディスク93に格納される。さらに、内蔵ディスク93には、図3に例示したグループ管理部101、リードライト部103及びデータ移行処理部104の機能を実現するプログラムを含む各種プログラムが格納されている。
プロセッサ91及びRAM92は、図3に例示したグループ管理部101、リードライト部103及びデータ移行処理部104の機能を実現する。
具体的には、プロセッサ91は、内蔵ディスク93から各種プログラムを読み出してRAM92上に展開し実行することで、グループ管理部101、リードライト部103及びデータ移行処理部104の機能を実現する。
また、ここでは、内蔵ディスク93にグループ管理部101、リードライト部103及びデータ移行処理部104の機能を実現するプログラムが格納されている場合で説明したがこれに限らない。例えば、グループ管理部101、リードライト部103及びデータ移行処理部104の機能を実現するプログラムが格納された可搬記憶媒体42を読取装置96で読み取り、読み取ったプログラムを用いてプロセッサ91及びRAM92が各機能実現してもよい。
以上に説明したように、本実施例に係る仮想テープライブラリは、PV確保量順にリオーガニゼーションを実行していく。これにより、本実施例に係る仮想テープライブラリは、PV確保量よりもScratchPVG内に存在する物理ボリューム22の数が多い可能性が高くなり、リオーガニゼーションの実行されない状態を回避できる可能性が高くなる。したがって、本実施例に係る仮想テープライブラリは、リオーガニゼーションの継続性を向上させることができ、それにしたがい、マイグレーションの継続性も向上させることができる。
これに対し、従来は単に発生のタイミングが早いものの優先度を高く設定してリオーガニゼーションを処理していくために、PV確保量が多いものが先に処理される場合があった。そのため、物理ボリュームの確保ができない処理が優先されることにより、リオーガニゼーションの処理が全体として停滞する場合があった。このように、本実施例に係るテープライブラリ装置は、従来に比べてリオーガニゼーションの継続性が大幅に向上するといえる。
また、本実施例に係る仮想テープライブラリは、PV確保量が同じであれば、PV戻し量が多い順にリオーガニゼーションを実行していく。これにより、PV確保量よりもScratchPVG内に存在する物理ボリューム22の数が多い可能性がより高くなり、リオーガニゼーションの実行されない状態を回避できる可能性がより高くなる。したがって、本実施例に係る仮想テープライブラリは、リオーガニゼーションの継続性をより向上させることができ、それにしたがい、マイグレーションの継続性もより向上させることができる。
そして、マイグレーションの継続性を向上させることで、仮想テープライブラリ内でデータの冗長性を確実に確保でき、データの保全性を向上させることができる。
1 仮想テープライブラリ
2 ホスト
10 階層制御サーバ
20 テープライブラリ装置
21 ロボット
22 物理ボリューム
23 テープドライブ
30 ディスクアレイ装置
31 論理ボリューム
101 グループ管理部
102 情報格納部
103 リードライト部
104 データ移行処理部
111 グループ生成部
112 ボリューム管理部
121 PVG管理テーブル
122 PV管理テーブル
123 優先度テーブル
141 データ管理部
142 リオーガニゼーション処理部

Claims (6)

  1. 複数の記憶媒体と、
    前記記憶媒体のうちデータを格納している第1記憶媒体が属する複数の第1グループ及び前記記憶媒体のうちデータを格納していない第2記憶媒体が属する第2グループを管理するグループ管理部と、
    更新対象のデータが格納されている前記第1記憶媒体の領域を無効領域とし、該データの更新データを前記第1記憶媒体に格納するデータ格納部と、
    前記第1グループをいくつか選択し、選択した前記第1グループ毎に、前記無効領域を有する前記第1記憶媒体の前記無効領域以外に格納されたデータを格納するために用いる前記第2記憶媒体の確保数を算出し、前記確保数が増えるにしたがい高くなる優先度で、前記第2記憶媒体を確保し、且つ、前記第1記憶媒体の前記無効領域以外に格納されているデータを前記第2記憶媒体に移行する処理を実行するデータ移行部と、
    前記データ移行部による移行が完了した前記第1記憶媒体が属する前記第1グループに含まれる各前記第1記憶媒体を前記第2グループに移動する移動部と
    を備えたことを特徴とするストレージ装置。
  2. 前記データ移行部は、前記確保数が同じ場合、前記移動部により前記第2グループに移動される前記第1記憶媒体の数に基づいて前記優先度を決定することを特徴とする請求項1に記載のストレージ装置。
  3. 前記データ移行部は、複数の前記第1グループの中から、各前記第1グループにおける記憶容量に関する所定の条件を満たした前記第1グループを選択することを特徴とする請求項1又は2に記載のストレージ装置。
  4. 前記データ移行部は、前記確保数が同じであり、且つ前記移動部により前記第2グループに移動される前記第1記憶媒体の数が同数の場合、前記所定の条件を満たしたタイミングが早いほど高くなるように前記優先度を決定することを特徴とする請求項3に記載のストレージ装置。
  5. 複数の記憶媒体のうちデータを格納している第1記憶媒体が属する第1グループを複数生成し、
    前記記憶媒体のうちデータを格納していない第2記憶媒体が属する第2グループを生成し、
    前記第1記憶媒体にデータを格納し、
    更新対象のデータが格納されている前記第1記憶媒体の領域を無効領域とし、該データの更新データを前記第1記憶媒体に格納し、
    前記第1グループをいくつか選択し、選択した前記第1グループ毎に、前記無効領域を有する前記第1記憶媒体の前記無効領域以外に格納されたデータを格納するために用いる前記第2記憶媒体の確保数を算出し、
    前記確保数が増えるにしたがい高くなる優先度で、前記第2記憶媒体を確保し、且つ、前記第1記憶媒体の前記無効領域以外に格納されているデータを前記第2記憶媒体に移行する処理を実行し、
    前記移行が完了した前記第1記憶媒体が属する前記第1グループに含まれる各前記第1記憶媒体を前記第2グループに移動する
    処理をコンピュータに実行させることを特徴とするストレージ装置制御プログラム。
  6. 複数の記憶媒体のうちデータを格納している第1記憶媒体が属する第1グループを複数生成し、
    前記記憶媒体のうちデータを格納していない第2記憶媒体が属する第2グループを生成し、
    前記第1記憶媒体にデータを格納し、
    更新対象のデータが格納されている前記第1記憶媒体の領域を無効領域とし、該データの更新データを前記第1記憶媒体に格納し、
    前記第1グループをいくつか選択し、選択した前記第1グループ毎に、前記無効領域を有する前記第1記憶媒体の前記無効領域以外に格納されたデータを格納するために用いる前記第2記憶媒体の確保数を算出し、
    前記確保数が増えるにしたがい高くなる優先度で、前記第2記憶媒体を確保し、且つ、前記第1記憶媒体の前記無効領域以外に格納されているデータを前記第2記憶媒体に移行する処理を実行し、
    前記移行が完了した前記第1記憶媒体が属する前記第1グループに含まれる各前記第1記憶媒体を前記第2グループに移動する
    処理をコンピュータに実行させることを特徴とするストレージ装置制御方法。
JP2015174124A 2015-09-03 2015-09-03 ストレージ装置、ストレージ装置制御プログラム及びストレージ装置制御方法 Active JP6531574B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015174124A JP6531574B2 (ja) 2015-09-03 2015-09-03 ストレージ装置、ストレージ装置制御プログラム及びストレージ装置制御方法
US15/228,478 US10078467B2 (en) 2015-09-03 2016-08-04 Storage device, computer readable recording medium, and storage device control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015174124A JP6531574B2 (ja) 2015-09-03 2015-09-03 ストレージ装置、ストレージ装置制御プログラム及びストレージ装置制御方法

Publications (2)

Publication Number Publication Date
JP2017049897A JP2017049897A (ja) 2017-03-09
JP6531574B2 true JP6531574B2 (ja) 2019-06-19

Family

ID=58190704

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015174124A Active JP6531574B2 (ja) 2015-09-03 2015-09-03 ストレージ装置、ストレージ装置制御プログラム及びストレージ装置制御方法

Country Status (2)

Country Link
US (1) US10078467B2 (ja)
JP (1) JP6531574B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9965369B2 (en) 2015-04-28 2018-05-08 Viasat, Inc. Self-organized storage nodes for distributed delivery network
US9755979B2 (en) * 2015-11-19 2017-09-05 Viasat, Inc. Enhancing capacity of a direct communication link
US11438413B2 (en) * 2019-04-29 2022-09-06 EMC IP Holding Company LLC Intelligent data storage and management for cloud computing
JP7409196B2 (ja) * 2020-03-27 2024-01-09 富士通株式会社 ストレージ制御装置、ストレージシステム、及びストレージ制御プログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US6304880B1 (en) * 1997-12-12 2001-10-16 International Business Machines Corporation Automated reclamation scheduling override in a virtual tape server
JP4079244B2 (ja) 2001-03-30 2008-04-23 日立ソフトウエアエンジニアリング株式会社 追記型記憶媒体ボリュームの再編成処理方法
US6836832B1 (en) * 2001-12-21 2004-12-28 Network Appliance, Inc. System and method for pre-selecting candidate disks based on validity for volume
US7103731B2 (en) * 2002-08-29 2006-09-05 International Business Machines Corporation Method, system, and program for moving data among storage units
EP1723564A2 (en) * 2004-02-11 2006-11-22 Storage Technology Corporation Clustered hierarchical file services
US7487385B2 (en) * 2004-11-01 2009-02-03 Netapp, Inc. Apparatus and method for recovering destroyed data volumes
JP4402103B2 (ja) 2006-12-11 2010-01-20 富士通株式会社 データ記憶装置、そのデータ再配置方法、プログラム
US8738588B2 (en) 2007-03-26 2014-05-27 International Business Machines Corporation Sequential media reclamation and replication
JP5394826B2 (ja) 2009-06-04 2014-01-22 株式会社日立製作所 ランダムアクセス型の記憶媒体を仮想的なシーケンシャルアクセス型の記憶媒体にエミュレートするエミュレータを実行する計算機システム
US9875052B2 (en) * 2016-03-15 2018-01-23 International Business Machines Corporation Storage capacity allocation using distributed spare space

Also Published As

Publication number Publication date
US10078467B2 (en) 2018-09-18
JP2017049897A (ja) 2017-03-09
US20170068483A1 (en) 2017-03-09

Similar Documents

Publication Publication Date Title
JP5000316B2 (ja) オブジェクト・ベースのデータ記憶装置
JP4185058B2 (ja) フラッシュメモリのリマッピング方法
CN107180092B (zh) 一种文件***的控制方法、装置及终端
KR100951107B1 (ko) 최적의 성능을 위한 파일 관리 방법
US9274723B2 (en) Storage apparatus and its control method
JP2008015769A (ja) ストレージシステム及び書き込み分散方法
US20050231765A1 (en) Information recording medium, data processing apparatus and data processing method
US20120084529A1 (en) Arrangements for managing metadata of an integrated logical unit including differing types of storage media
WO2019178845A1 (zh) 一种存储介质垃圾回收方法、存储介质和程序产品
KR20130083356A (ko) 메타데이터 지속성을 위한 방법
US20110208898A1 (en) Storage device, computing system, and data management method
JP6531574B2 (ja) ストレージ装置、ストレージ装置制御プログラム及びストレージ装置制御方法
CN108733306A (zh) 一种文件合并方法及装置
KR20000022716A (ko) 로그 구조화 목표 저장장치를 사전에 구성하여 볼륨을 효율적으로 복사하는 방법 및 장치
JP2008146408A (ja) データ記憶装置、そのデータ再配置方法、プログラム
US8935470B1 (en) Pruning a filemark cache used to cache filemark metadata for virtual tapes
JP2019028954A (ja) ストレージ制御装置、プログラム、及び重複排除方法
CN111158602A (zh) 数据分层存储方法、读取方法、存储主机及存储***
JP2018181202A (ja) ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム
US20160011792A1 (en) Media control device and control method
JP5729479B2 (ja) 仮想テープ装置及び仮想テープ装置の制御方法
KR100907477B1 (ko) 플래시 메모리에 저장된 데이터의 인덱스 정보 관리 장치및 방법
JP2005202942A (ja) 情報記録媒体、データ処理装置及びデータ処理方法
KR101191650B1 (ko) 낸드 플래시 메모리에서 데이터의 주소를 사상시키는 장치 및 방법
US9513826B2 (en) Storage apparatus and storage apparatus control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180514

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190205

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190404

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190506

R150 Certificate of patent or registration of utility model

Ref document number: 6531574

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150