JP5302582B2 - 上位装置から指定されるデバイスに関する記憶容量を変更するストレージシステム及び方法 - Google Patents

上位装置から指定されるデバイスに関する記憶容量を変更するストレージシステム及び方法 Download PDF

Info

Publication number
JP5302582B2
JP5302582B2 JP2008178607A JP2008178607A JP5302582B2 JP 5302582 B2 JP5302582 B2 JP 5302582B2 JP 2008178607 A JP2008178607 A JP 2008178607A JP 2008178607 A JP2008178607 A JP 2008178607A JP 5302582 B2 JP5302582 B2 JP 5302582B2
Authority
JP
Japan
Prior art keywords
capacity
volume
virtual
area
storage
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
JP2008178607A
Other languages
English (en)
Other versions
JP2010020431A (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
Priority to JP2008178607A priority Critical patent/JP5302582B2/ja
Priority to US12/210,276 priority patent/US8539194B2/en
Priority to EP09250101.4A priority patent/EP2144152B1/en
Publication of JP2010020431A publication Critical patent/JP2010020431A/ja
Application granted granted Critical
Publication of JP5302582B2 publication Critical patent/JP5302582B2/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/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

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

Description

本発明は、上位装置から指定されるデバイスに関する記憶容量の変更に関する。
例えば、論理ボリュームの一種として、ライトに応じて実領域が割り当てられる種類の論理ボリューム(以下、「仮想ボリューム」と言う)が知られている(例えば特許文献1)。この種の技術によれば、仮想ボリュームの記憶容量のうち、仮想ボリュームに割り当てられている一以上の実領域の総記憶容量(以下、「実容量」と言う)が、ストレージシステムが有する物理記憶空間から消費される。仮想ボリュームの実容量は、仮想ボリュームに割り当てられている実領域の数が増減することにより、変更される。なお、物理記憶空間とは、パリティグループ(以下、「PG」と略すことがある)により提供される記憶空間である。PGは、一以上の物理記憶装置(例えばハードディスクドライブ又はフラッシュメモリ)で構成されている。
特開2003−015915号公報
ところで、一般に、ストレージシステムは、コントローラと記憶装置群とに大別することができる。記憶装置群が、前述した一以上の物理記憶装置で構成されている。コントローラから上位の装置(例えばホスト或いは他のコントローラ)に提供されるデバイスとして、例えばLU(Logical Unit)がある。LUに、コントローラが管理する論理ボリュームが関連付けられる。上位装置が、LUを指定したアクセス要求(ライト要求又はリード要求)を送信することで、そのLUに関連付けられている論理ボリュームに対するアクセスが行われる。LUに関連付けられる論理ボリュームは、仮想ボリュームであっても通常ボリューム(前述の物理記憶空間を基に形成された論理ボリューム)であっても良い。
コントローラが、上位装置(又は他の装置)から、LUを指定した容量変更指示(容量の拡張又は縮小の指示)を受ける場合がある。ホストに通知される、LUについての記憶容量は、一般に、そのLUに関連付けられている論理ボリュームの記憶容量である。従って、LUについての記憶容量を変更するということは、通常、LUに関連付けられている論理ボリュームの記憶容量を変更するということである。
しかし、論理ボリュームの記憶容量それ自体を変更する技術は知られていない。
そこで、コントローラは、容量変更指示に応答して、指定されているLUに関連付けられている論理ボリュームの数を増減することにより、LUの容量変更を行う。図1に示す具体例によれば、コントローラは、LU#100を指定した容量拡張指示を受けた場合、その指示に応答して、LU#100に関連付けられている通常ボリュームの数を、1から3に増やす(詳細に言えば、LU#100に関連付けられている通常ボリューム#1に、通常ボリューム#2及び#3を連結する)。これにより、上位装置の運用を継続したまま、LUの記憶容量を拡張することができる。
しかし、この技術には、以下の課題がある。
(1)容量変更の単位が、通常ボリュームの記憶容量の単位となってしまう。LUに関連付けられる通常ボリュームの増減によって、容量が変更されるためである。
(2)容量拡張の際に通常ボリュームが枯渇している場合があり、その場合には、通常ボリュームを新たに作成する必要がある。
以上の課題は、LUに関連付けられている論理ボリュームが通常ボリュームの場合での課題であるが、通常ボリュームを仮想ボリュームに置き換えても、同様の課題が生じ得る。
そこで、本発明の目的は、上位装置に提供されるデバイスに関連付ける論理ボリュームの数を増減させることなく、そのデバイスについての記憶容量を変更できるようにすることにある。
ストレージシステムのコントローラが、デバイスを指定した容量変更指示を受け付け、仮想ボリュームの記憶容量を表すボリューム容量値を含んだ管理情報内の、指定されているデバイスに関連付けられている仮想ボリュームのボリューム容量値を、その容量変更指示に従う記憶容量を表すボリューム容量値に変更する。
以下、図面を参照して、本発明の一実施形態を説明する。以下の説明では、上位装置はホストであり、ホストに提供されるデバイスは、LU(Logical Unit)であるとする。
図2は、本発明の一実施形態での、LUについての記憶容量の変更の概要を示す。
本実施形態では、LUに関連付けられる仮想ボリュームの数が増減することでLUについての記憶容量が変更されるのではなく、LUに関連付けられている仮想ボリュームの記憶容量それ自体が変更されることで、LUについての記憶容量が変更される。
具体的には、例えば、図2に示すように、ホストからのアクセス要求で指定され得る状態のLU(例えばinquiryコマンド等に応答してホストに記憶容量等が通知済みのLU)#200に、仮想ボリューム#10が関連付けられているとする。仮想ボリューム#10に、プールボリューム(ホストに提供され得ない論理ボリューム)#11〜#13を構成する複数の実領域のうちの2個の実領域(図2のグレー及び黒のブロックを参照)が割り当てられており、それらの実領域に、LU#200を指定したライト要求に従うデータが記憶されている。プールボリューム#11〜#13は、2個のパリティグループを基に形成された論理記憶装置である。
この状態において、コントローラは、LU#200を指定した容量拡張指示を受領した場合、LU#200に関連付けられている仮想ボリューム#10の記憶容量を、その容量拡張指示に従う容量に拡張する。仮想ボリューム#10の記憶容量が拡張されても、その仮想ボリューム#10に割り当て済みの実領域に影響は生じない。容量拡張指示では、拡張後の記憶容量が指定されていても良いし、拡張前の記憶容量に追加される記憶容量が指定されていても良い。
このため、仮想ボリューム#10の記憶容量を、仮想ボリューム#10の拡張前の記憶容量や他の論理ボリューム(例えば通常ボリューム又は仮想ボリューム)の記憶容量と異なる単位で、拡張することができる(例えば、仮想ボリューム#10の後述のセグメントの単位で、仮想ボリューム#10の記憶容量を拡張することができる)。
また、仮想ボリューム#10の記憶容量それ自体が拡張されるため、LUについての記憶容量の拡張に、複数の仮想ボリュームを必要としない。それ故、仮想ボリューム#10の記憶容量の拡張の際に、新たに論理ボリュームを作成する必要は無い。
以上が、本実施形態の概要である。なお、図2は、仮想ボリューム#10の記憶容量の拡張を表しているが、その記憶容量の縮小も、仮想ボリューム#10の縮小前の記憶容量や他の論理ボリューム(例えば通常ボリューム又は仮想ボリューム)の記憶容量と異なる単位で、行うことができる(例えば、仮想ボリューム#10の後述のセグメントの単位で、仮想ボリューム#10の記憶容量を縮小することができる)。仮想ボリューム#10の記憶容量それ自体が縮小されるためである。
以下、本実施形態を詳細に説明する。なお、以下の説明では、仮想ボリュームが複数のセグメントで構成されており、各セグメントが、複数の仮想領域で構成されているとする。また、以下の説明では、仮想領域に割り当てられる実領域を、「ページ」と呼ぶ。
図3は、本発明の一実施形態に係る計算機システムの構成を示す。
通信ネットワーク(例えばSAN(Storage Area Network))103に、一又は複数のホスト101と、ストレージシステム105が接続されている。
ホスト101は、例えば、CPU(Central Processing Unit)やメモリ等の情報処理資源を備えた計算機であり、例えば、パーソナルコンピュータ、ワークステーション、メインフレーム等である。
ストレージシステム105は、例えば、アレイ状に配列された多数の物理記憶装置119を備えるRAIDシステムとすることができる。但し、これに限らず、ストレージシステム105を、例えば、高機能化されたインテリジェント型のファイバチャネルスイッチとして構成することもできる。ストレージシステム105は、コントローラ107と、記憶装置群118とに大別することができる。
コントローラ107は、例えば、チャネルアダプタ(CHA)109と、ディスクアダプタ(DKA)117と、キャッシュメモリ113と、共有メモリ111と、接続部115とを備えている。
CHA109は、ホスト101(或いは他のストレージシステム)との間のデータ通信を行うインタフェース装置である。CHA109は、例えば、CPU、メモリ、複数の通信ポート等を備えたマイクロコンピュータシステム(例えば回路基盤)として構成することができる。複数の通信ポートには、ホスト101(或いは他のストレージシステム)に接続される通信ポートと、接続部115に接続される通信ポートとがある。例えば、CHA109は、ホスト101からライト要求を受信し、受信したライト要求に従うデータを、キャッシュメモリ113に書込み、DKA117にそのデータの書込みを命じることができる。また、例えば、CHA109は、ホスト101からリード要求を受信し、受信したリード要求に従うデータの読出しをDKA117に命令し、その命令に従うデータをキャッシュメモリ113から読出し、ホスト101に送信することができる。
本実施形態では、CHA109が、容量拡張処理部1091及び容量縮小処理部1092を有する。これらの処理部1091及び1092は、例えば、CHA109内のCPUでコンピュータプログラムが実行されることにより実現される。なお、容量拡張処理部1091及び容量縮小処理部1092は、CHA109に代えて又は加えて、DAK117に存在しても良い。
DKA117は、物理記憶装置119との間のデータ通信を行うインタフェース装置である。DKA117も、CPU、メモリ、複数の通信ポート等を備えたマイクロコンピュータシステム(例えば回路基盤)として構成することができる。複数の通信ポートには、物理記憶装置119に接続される通信ポートと、接続部115に接続される通信ポートとがある。例えば、DKA117は、CHA109からの書込みの命令に応答して、キャッシュメモリ113に記憶されているデータを、物理記憶装置119に書込むことができる。また、例えば、DKA117は、CHA109からの読出しの命令に応答して、その命令に従うデータを物理記憶装置119から読出し、キャッシュメモリ113に書込むことができる。
キャッシュメモリ113は、例えば、揮発性(又は不揮発性)のメモリであり、ホスト計算機10から受信したデータや、物理記憶装置119から読出されたデータを、一時的に記憶する。
共有メモリ111は、例えば、揮発性(又は不揮発性)のメモリであり、ストレージシステム105の制御のためにCHA109或いはDKA117に参照される情報(以下、制御情報)が格納される。制御情報としては、例えば、下記(1)乃至(5)の5種類、
(1)LU管理情報(図示せず):どのLUにどの論理ボリュームが関連付けられているかを表す情報(例えば、LUの番号であるLUN(Logical Unit Number)とそのLUに関連付けられているボリューム#(ボリューム番号)とを含んだ情報)、
(2)ページ管理情報1111:仮想ボリュームのセグメントを構成する複数の仮想領域のどこにどのページが割り当てられているかを表す情報(「セグメント」とは、仮想ボリュームを構成する各記憶領域である)、
(3)ページ情報1112:どのページがどのプールボリュームに存在していてどんな使用状態にあるかを表す情報、
(4)ボリューム情報1113:各論理ボリュームに関する種々の情報を含んだ情報、
(5)PG情報1114:各PGに関する種々の情報を含んだ情報、
がある。
接続部115は、CHA109、DKA117、キャッシュメモリ24、及び共有メモリ25を相互に接続させる。接続部26は、例えば、高速スイッチング動作によってデータ伝送を行う超高速クロスバスイッチ等のような高速バスとして構成することができる。
記憶装置群118には、複数の物理記憶装置119が含まれている。物理記憶装置119としては、例えば、ハードディスク、フレキシブルディスク、磁気テープ、半導体メモリ(例えばフラッシュメモリ)、光ディスク等のようなデバイスを用いることができる。二以上の物理記憶装置119により、所定のRAIDレベルのパリティグループ(「RAIDグループ」或いは「アレイグループ」と呼ばれることがある)を構成することができる。パリティグループ(以下、「PG」と略すこともある)を構成する二以上の物理記憶装置119の記憶空間を用いて、実体のある論理ボリューム(実ボリューム)を形成することができる。実ボリュームとしては、例えば、前述した通常ボリュームとプールボリュームがある。プールボリュームを構成する複数のページのうちのいずれかのページが、仮想ボリューム内の仮想領域に割り当てられる。
以上が、本実施形態に係る計算機システムの構成である。なお、この計算機システムの構成は、一例であり、他の構成が採用されてもよい。例えば、共有メモリ111とキャッシュメモリ113は、別々のメモリでなく、一つのメモリに共有メモリ領域とキャッシュメモリ領域とが設けられても良い。また、例えば、コントローラ107は、CPU、メモリ及び複数の通信ポートを備えた回路基盤(すなわち、図3のコントローラ107よりもシンプルな構成)であっても良い。この場合、そのCPUが、複数のCHAやDKAによって行われる処理を実行することができる。
以下、PG情報1114、ボリューム情報1113、ページ情報1112及びページ管理情報1111を詳細に説明する。これらの情報1111〜1114は、それぞれ、例えばテーブルである。
図4Aは、PG情報1114の構成例を示す。
PG情報1114には、PG毎に、PG#(PGを一意に特定するための番号)、PG容量(PGの記憶容量)、記憶装置台数(PGを構成する物理記憶装置の台数)、PG種別(PGの種別)が記録されている。PG種別としては、例えば、“物理”と“仮想”の2種類がある。
PG種別“物理”のPGは、図4Bに示すように、複数の物理記憶装置119で構成されているPGである。このPGの記憶空間を基に(このPGの記憶容量の範囲で)、実ボリューム(例えば通常ボリューム及び/又はプールボリューム)が形成される。
一方、PG種別“仮想”のPGは、図4Cに示すように、仮想的なPGである。このPGの記憶空間を基に(このPGの記憶容量の範囲で)、仮想ボリューム(典型的にはThin Provisioning技術に従う仮想ボリューム)が形成される。
図5Aは、ボリューム情報1113の構成例を示す。
ボリューム情報1113には、論理ボリューム毎に、ボリューム#(論理ボリュームを一意に特定するための番号)、PG#(論理ボリュームが存在するPGの番号)、先頭PG内アドレス(PG内での、論理ボリュームの先頭アドレス)、ボリューム容量(論理ボリュームの記憶容量)、ボリューム種別、ボリューム属性、ページ管理#、ページ容量、閾値及び未使用ページ数が記録される。
ボリューム種別は、論理ボリュームの種別であり、具体的には、例えば、“物理”と“仮想”がある。ボリューム種別“物理”の論理ボリュームは、実ボリュームである。ボリューム種別“仮想”の論理ボリュームは、仮想ボリュームである。
ボリューム属性は、論理ボリュームの属性であり、具体的には、例えば、“未使用”、“容量変更不可”、“ペアボリューム有り”及び“ページ使用”がある。ボリューム属性“未使用”の論理ボリュームは、LUに関連付けられるボリュームとしても、LUに関連付けられないボリュームとしても使用されていない。ボリューム属性“容量変更不可”の論理ボリュームは、記憶容量の変更が不可の仮想ボリュームである。ボリューム属性“ペアボリューム有り”の論理ボリュームは、ボリュームペアの構成要素であり、コピー元ボリューム又はコピー先ボリュームである。ボリューム属性“ページ使用”の論理ボリュームは、プールボリュームである。
ページ管理#は、仮想ボリュームにおける先頭のセグメントに対応する。例えば、図5Aによれば、仮想ボリューム#10(ボリューム#10でボリューム種別“仮想”の論理ボリューム)の先頭セグメントに、ページ管理#1が対応していることがわかる。ページ管理#1を使用して、図7Aに示すページ管理情報1111を参照することで、仮想ボリューム#10のアクセス先の仮想領域に割り当てられているページを特定することができる。それについては後に詳述する。
ページ容量は、仮想領域又はページの記憶容量である。故に、仮想ボリューム及びプールボリュームについて、ページ容量として有効な値が、ボリューム情報1113に設定される。本実施形態では、ページは、そのページと同じページ容量の仮想領域に割り当てられる。
閾値は、一以上の未割当てのページの総容量に対する、ページが割り当てられていない一以上の仮想領域の総容量の比率、の閾値である。故に、仮想ボリュームについて、閾値として有効な値が、ボリューム情報1113に設定される。
未使用ページ数は、ページが割り当てられていない仮想領域の数、又は、仮想領域に割り当てられていないページの数である。故に、仮想ボリューム及びプールボリュームについて、未使用ページ数として有効な値が、ボリューム情報1113に設定される。
図5Aによれば、例えば、実ボリューム#1が、図5Bに示すように、物理的なPG#1の記憶空間の先頭アドレス(0GB目のアドレス)から700GB(ギガバイト)目のアドレスまでの700GBの記憶容量を有する記憶空間部分であり、実ボリューム#2が、同じPG#1の記憶空間の700GB目のアドレスから900GB目のアドレスまでの200GBの記憶容量を有する記憶空間部分であることがわかる。また、仮想ボリューム#7を構成する各仮想領域の記憶容量が256MB(メガバイト)で、仮想ボリューム#7において、ページが割り当てられていない仮想領域の数が40個であることがわかる。また、プールボリューム#11を構成する各ページの記憶容量が256MBで、プールボリューム#11において、仮想領域に割り当てられていないページの数が1199個であることがわかる。
図6Aは、ページ情報1112の構成例を示す。
ページ情報1112には、ページ毎に、ページ#(ページを一意に特定するための番号)、ボリューム#(ページを有するプールボリュームのボリューム#)、ページ使用状態がある。ページ使用状態としては、例えば、ページが割り当てられていることを意味する“使用中”と、ページがどの仮想領域にも割り当てられていないことを意味する“未使用”がある。
図6Aによれば、例えば、ページ#1(ページ#が1のページ)が、図6Bに示すように、プールボリューム#11に存在することがわかる。そして、プールボリューム#11について、図5Aに示したボリューム情報1113を参照すれば、ページ#1の記憶容量は256MBで、プールボリューム#11がPG#1に存在することがわかる。
図7Aは、ページ管理情報1111の構成例を示す。
ページ管理情報1111を構成する各レコードに、ページ管理#、使用ページ#、次ページ管理#が記録される。ページ管理#は、言い換えれば、ページ管理情報1111におけるレコードを一意に特定するための番号である。使用ページ#は、レコードに対応したセグメントにおける仮想領域に割り当てられているページのページ#である。次ページ管理#は、他のレコードへのポインタである(言い換えれば、次のセグメントに対応したページ管理#である)。
図7Aによれば、4個の仮想領域(例えば256MB)で構成されている記憶領域が、セグメント(例えば1GB)である。図7Aでは、各レコードにおいて、使用ページ#についての4個のセルが、4個の仮想領域に対応している。セルの並びの順は、仮想領域の並びの順である。図7Aによれば、ページ管理#1のレコードにおける、使用ページ#についての3番目のセルに、ページ#として“1”が設定されていることがわかり、また、図5Aに示したボリューム情報1113によれば、仮想ボリューム#10の先頭セグメントにページ管理#1が対応していることがわかる。このため、図7Bに示すように、仮想ボリューム#11(仮想的なPG#3内の仮想ボリューム)の先頭セグメントにおける3番目の仮想領域に、プールボリューム#11(物理なPG#4内の実ボリューム)内のページ#1が割り当てられていることがわかる。また、図5Aによれば、下記の(1)及び(2)により、
(1)仮想ボリューム#10の記憶容量は3GBである、
(2)仮想ボリューム#10の仮想領域の容量は“256MB”であり、4個の仮想領域で1個のセグメントが構成されているから、仮想ボリューム#10内のセグメントの記憶容量は、1GB(256MB×4)である、
仮想ボリューム#10は、3個のセグメントで構成されていることがわかる。一方、ページ管理#1を用いて図7Aのページ管理情報1111を参照することで、次ページ管理#を基に、ページ管理#2及びページ管理#3が順次に特定され、ページ管理#3に対応したレコードの次ページ管理#が0になっていることからも、仮想ボリューム#10が、3個のセグメントで構成されていることがわかる。
以下、仮想ボリュームに対するライト処理及びリード処理をそれぞれ説明する。
図13は、仮想ボリュームに対するライト処理のフローチャートである。
ライト処理は、例えば、CHA109が有する図示しないライト処理部が実行する。ライト処理部は、例えば、CHA109内のCPUでコンピュータプログラムが実行されることにより実現される。
ライト処理部は、仮想ボリュームが関連付いているLUを指定したライト要求をホスト101から受領した場合(S1301)、S1302以降の処理を実行する。受領したライト要求で指定されているLUNに仮想ボリュームのボリューム#が関連付いているか否かは、前述したLU管理情報及びボリューム情報1113を参照することにより、特定することができる。
ライト処理部は、受領したライト要求で指定されているアドレスが表す仮想領域(ライト先仮想領域)に、ページが割り当てられているか否かを判断する(S1302)。ライト先仮想領域にページが割り当てられているか否かは、ボリューム情報1113及びページ管理情報1111を参照することにより特定することができる。具体的には、例えば、ライト処理部は、ライト先のLUに関連付いている仮想ボリュームに対応したページ管理#(ボリューム情報1113におけるページ管理#)を用いてページ管理情報1111を辿ることで、ライト先仮想領域に対応したセルを特定し、そのセルに、有効なページ#が設定されているか否かで、ライト先仮想領域にページが割り当てられているか否かを判断することができる。
S1302の判断の結果が肯定的であれば(S1302:YES)、ライト処理部は、ライト先仮想領域に割り当てられているページに、S1301で受領したライト要求に従うデータを書き込む(S1304)。その後、ライト処理部は、ホスト101へ、ライト受領を返却する(S1305)。
一方、S1302の判断の結果が否定的であれば(S1302:NO)、ライト処理部は、未割当てのページを、ページ情報1112を参照することで特定し、特定されたページを、ライト先仮想領域に割り当てる(S1303)。具体的には、ライト処理部は、特定された未割当てのページのページ#を、ライト先仮想領域に対応したセル(ページ管理情報1111内のセル)に書込み、その未割当てのページのページ使用状態(ページ情報1112におけるページ使用状態)を、“未使用”から“使用中”に更新する。その後、前述したS1304及びS1305が行われる。
図14は、仮想ボリュームに対するリード処理のフローチャートである。
リード処理は、例えば、CHA109が有する図示しないリード処理部が実行する。リード処理部は、例えば、CHA109内のCPUでコンピュータプログラムが実行されることにより実現される。
リード処理部は、仮想ボリュームが関連付いているLUを指定したリード要求をホスト101から受領した場合(S1401)、S1402以降の処理を実行する。
リード処理部は、受領したリード要求で指定されているアドレスが表す仮想領域(リード元仮想領域)に、ページが割り当てられているか否かを判断する(S1402)。
S1402の判断の結果が肯定的であれば(S1402:YES)、リード処理部は、リード元仮想領域に割り当てられているページからデータを読み出す(S1403)。その後、リード処理部は、ホスト101へ、リード受領(例えば読み出されたデータ)を返却する(S1405)。
一方、S1402の判断の結果が否定的であれば(S1402:NO)、リード処理部は、0データ(値“0”で構成されたデータ)を読み出す(S1404)。0データは、所定の記憶領域(例えば、CHA109内のメモリ、共有メモリ111、或いはキャッシュメモリ113)に記憶されており、S1402:NOの場合に、その所定の記憶領域からデータ“0”が読み出される。その後、S1405で、例えば、0データが、ホスト101へ返却される。
本実施形態では、前述したように、仮想ボリュームの記憶容量それ自体の変更が可能である。仮想ボリュームの先頭アドレスは固定のため(ボリューム情報1113における先頭PGアドレスは固定のため)、仮想ボリュームの末端アドレスが増減することで(例えばセグメント単位で末端アドレスが増減することで)、仮想ボリュームの記憶容量が変更される。
仮想ボリュームの記憶容量の変更を適切に行うべく、その変更は、後述する手順で実行される。仮想ボリュームの記憶容量の変更処理としては、容量拡張処理と容量縮小処理がある。容量拡張処理は、容量拡張処理部1091によって実行され、容量縮小処理は、容量縮小処理部1092によって実行される。以下、それぞれの処理の手順を説明する。なお、以下の説明では、記憶容量が変更される仮想ボリュームを、仮想ボリューム#10とし、その仮想ボリューム#10の記憶容量が、図5Aに示したように3GBであるとし、仮想ボリューム#10が関連付けられているLUを、図2に示したようにLU#200とする。
図8は、容量拡張処理のフローチャートである。
容量拡張処理部1091は、ホスト101からLU#200を指定した容量拡張指示を受領する(S801)。LU#200に関連付いている論理ボリュームが仮想ボリューム#10であることは、前述したように、LU管理情報及びボリューム情報1113を参照することで、特定することができる。受領した容量拡張指示は、3GBから4GBへの拡張指示であるとする。
容量拡張処理部1091は、容量変更可否判定を実行する(S802)。容量変更可否判定のフローは、図12を参照して、後に説明する。
S802の判定の結果が、変更不可という結果であれば(S803:NO)、容量拡張処理部1091は、ホスト101へ、変更不可の内容を報告する(S808)。その結果、ホスト101のディスプレイ装置に、図15Aに例示する画面(例えば、拡張できないことを表すメッセージと、拡張できない理由が記述された画面)が表示される。
一方、S802の判定の結果が、変更可という結果であれば(S803:YES)、容量拡張処理部1091は、S804乃至S807を行う。
すなわち、まず、容量拡張処理部1091は、ページ管理連結を行う(S804)。ページ管理連結とは、仮想ボリューム#10の末端セグメントに、拡張する記憶容量分のセグメントを連結することである。具体的には、図9Aに示すように、容量拡張処理部1091は、ページ管理情報1111において、仮想ボリューム#10の最終セグメントに対応したレコード(ページ管理#3のレコード)の次ページ管理#を、最終セグメントであることを意味する無効値“0”から、拡張する記憶容量分のセグメント(ここでは、拡張する記憶容量は1GBのため、1個のセグメント)に対応したレコードのページ管理#4に更新する。このように、連結する分のセグメントに対応したレコードにおける次ページ管理#を更新することで、仮想ボリューム#10の末端に、拡張する記憶容量分の数のセグメントが連結される。
次に、容量拡張処理部1091は、ボリューム情報1113を変更する(S805)。ボリューム情報1113の変更として、仮想ボリューム#10のボリューム容量が更新される。具体的には、図9Bに示すように、S801で受領した容量拡張指示の通り、仮想ボリューム#10のボリューム容量が、“3GB”から“4GB”に更新される。
次に、容量拡張処理部1091は、ホストに対する通知対象のLU情報を設定する(S806)。そのLU情報は、LU#200の拡張後の記憶容量(4GB)を表す情報を含んでいる。そのLU情報は、例えば、後に、ホスト101から所定の照会コマンド(例えばinquiryコマンド)を受けた場合に、その照会コマンドに応答して、ホスト101へ通知される。
最後に、容量拡張処理部1091は、ホスト101へ、変更完了を報告する(S807)。その結果、ホスト101のディスプレイ装置に、図15Bに例示する画面(例えば、LU#200の記憶容量が3GBから4GBに拡張されたことを表すメッセージ)が表示される。
以上が、容量拡張処理の説明である。容量拡張処理では、前述したように、ページ管理連結が行われた後に(つまり、ページ管理情報1111が更新された後に)、ボリューム情報1113が更新される。言い換えれば、仮想ボリューム#10を構成するセグメントの数が増えた後に、仮想ボリューム#10の記憶容量を表す情報(ボリューム容量)が更新される。
なお、容量拡張処理の最中(つまりS801〜S807又はS808の間)は、図8に示すように、容量拡張対象のLU#200について、LU応答及びフォーマットが禁止される期間(以下、第一の禁止期間)である。LU応答とは、LU#200を指定した所定の照会コマンドに対する応答(具体的には、LU#200に関する記憶容量の回答)である。容量拡張処理部1091は、例えば、LU#200を指定した容量拡張指示を受領した場合に、LU#200について、第一の禁止期間であることを表す情報を、所定の記憶領域(例えば、共有メモリ111)に設定する。
第一の禁止期間において、いずれのCHA109が、LU#200を指定した所定の照会コマンドをホスト101から受けても、前述の所定の記憶領域に設定された情報から、LU#200について第一の禁止期間であることが特定される。このため、照会コマンド(例えばinquiryコマンド)を受けたCHA109(又は別のCHA109)は、その照会コマンドに対して、LU#200についての記憶容量をホスト101に回答しない。具体的には、例えば、その照会コマンドに対して、ビジー又はエラー(例えば、SCSIでサポートされているエラー)が、ホスト101に返却される。
同様に、第一の禁止期間において、いずれのCHA109が、LU#200を指定したフォーマットコマンドをホスト101から受けても、前述の所定の記憶領域に設定された情報から、LU#200について第一の禁止期間であることが特定される。このため、フォーマットコマンドを受けたCHA109(又は別のCHA109)は、LU#200に関連付いている仮想ボリューム#10に対してフォーマット(シュレッディングを含む)を行わない。具体的には、例えば、そのフォーマットコマンドに応答して、ビジー又はエラーがホスト101に返却される。
図10は、容量縮小処理のフローチャートである。
容量縮小処理部1092は、ホスト101からLU#200を指定した容量縮小指示を受領する(S1001)。受領した容量縮小指示は、3GBから2GBへの縮小指示であるとする。
容量縮小処理部1092は、容量変更可否判定を実行する(S1002)。容量変更可否判定のフローは、図12を参照して、後に説明する。
S1002の判定の結果が、変更不可という結果であれば(S1003:NO)、容量縮小処理部1092は、ホスト101へ、変更不可の内容を報告する(S1009)。その結果、ホスト101のディスプレイ装置に、図15Cに例示する画面(例えば、縮小できないことを表すメッセージと、縮小できない理由が記述された画面)が表示される。
一方、S1002の判定の結果が、変更可という結果であれば(S1003:YES)、容量縮小処理部1092は、S1004乃至S1008を行う。
すなわち、まず、容量縮小処理部1092は、ボリューム情報1113を変更する(S1004)。ボリューム情報1113の変更として、仮想ボリューム#10のボリューム容量が更新される。具体的には、図11Aに示すように、S1001で受領した容量縮小指示の通り、仮想ボリューム#10のボリューム容量が、“3GB”から“2GB”に更新される。
次に、容量縮小処理部1092は、使用中ページの破棄を実行する(S1005)。具体的には、容量縮小処理部1092は、縮小する記憶容量分のセグメント(ここでは、末端のセグメント)を構成する仮想領域に割り当てられているページを破棄する。より具体的には、容量縮小処理部1092は、縮小する記憶容量分のセグメントを構成する仮想領域に割り当てられているページ#10(ページ管理情報1111内のページ#)を、仮想ボリューム#10の先頭セグメントに対応したページ管理#1(ボリューム情報1113から特定されるページ管理#)を用いてページ管理情報1111を参照することで特定する。容量縮小処理部1092は、図11Bに示すように、特定されたページ#10についてのページ使用状態(ページ情報1112内のページ使用状態)を、“使用中”から“未使用”に更新し、且つ、図11Cに示すように、ページ管理情報1111における、そのページ#を、無効値“0”に更新する。
次に、容量縮小処理部1092は、ページ管理連結の解除を行う(S1006)。ページ管理連結の解除とは、仮想ボリューム#10から、最終セグメントを含む、縮小する記憶容量分のセグメントを、外すことである。具体的には、図11Cに示すように、容量縮小処理部1092は、ページ管理情報1111において、仮想ボリューム#10の最終セグメントに対応したページ管理#3を次ページ管理#としているレコード(ページ管理#2のレコード)における次ページ管理#を、ページ管理#3から無効値“0”に更新する。このように、外す分のセグメントに対応したレコードを次ページ管理#としているレコード内の次ページ管理#を無効値に更新することで、仮想ボリューム#10の末端から、縮小する記憶容量分の数のセグメントが外される。
次に、容量縮小処理部1092は、ホストに対する通知対象のLU情報を設定する(S1007)。そのLU情報は、LU#200の縮小後の記憶容量(2GB)を表す情報を含んでいる。そのLU情報は、例えば、後に、ホスト101から所定の照会コマンド(例えばinquiryコマンド)を受けた場合に、その照会コマンドに応答して、ホスト101へ通知される。
最後に、容量縮小処理部1092は、ホスト101へ、変更完了を報告する(S1008)。その結果、ホスト101のディスプレイ装置に、図15Dに例示する画面(例えば、LU#200の記憶容量が3GBから2GBに縮小されたことを表すメッセージ)が表示される。
以上が、容量縮小処理の説明である。容量縮小処理では、前述したように、ボリューム情報1113が更新された後に、使用中ページ(割当て済みページ)が破棄され、その後に、ページ管理の連結が解除される。言い換えれば、仮想ボリューム#10の記憶容量を表す情報(ボリューム容量)が更新され、縮小する容量分のセグメントに割り当てられているページが未使用状態にされた後に、仮想ボリューム#10を構成するセグメントの数が減らされる。
なお、容量縮小処理の最中(つまりS1001〜S1008又はS1009の間)は、図10に示すように、容量縮小対象のLU#200について、LU応答が禁止される期間(以下、第二の禁止期間)である。なお、第二の禁止期間では、第一の禁止期間と違って、LU#200を指定したフォーマットコマンドに応答して、LU#200に関連付けられている仮想ボリューム#10に対するフォーマット(例えばシュレッディング)が行われても良い。
図12は、容量変更可否判定のフローチャートである。なお、以下の説明では、容量の変更とは、容量の拡張又は縮小のことである。
図12に示すように、容量変更可否判定では、複数のサブ判定S1201〜S1207、S1209及びS1210が行われる。サブ判定が行われる順番は、図12に示した順番に限らず、どのような順番で行われても良い。
複数のサブ判定S1201〜S1207、S1209及びS1210のうち、特に、容量拡張処理で行われるサブ判定が、S1201、S1202、S1203及びS1207であり、容量縮小処理で行われるサブ判定が、S1209及びS1210であり、容量拡張処理及び容量縮小処理のいずれでも行われるサブ判定が、S1204、S1205及びS1206である。言い換えれば、容量拡張処理では、S1209及びS1210は行われず、容量縮小処理では、S1201、S1202及びS1203はスキップされても良く、且つ、S1207は行われない。
S1201では、ボリューム情報1113及びPG情報1114を基に、仮想ボリューム#10の、容量変更指示(容量拡張指示又は容量縮小指示)に従う変更後の記憶容量が、PG#3のPG容量を超えているか否かが判定される。例えば、PG#3は、図4Aに示したPG情報1114によれば、1TBであり、故に、4GBの論理ボリュームを256単位で管理可能な記憶容量(4GB×256=1TB)である。
S1201のサブ判定の結果が肯定的であれば(S1201:YES)、S1202が行われ、S1201のサブ判定の結果が否定的であれば(S1201:NO)、容量変更可否判定の結果が変更不可に決定される(S1211)。これにより、一つの仮想ボリューム#10が複数の仮想的なPGに跨ることが防止される。故に、例えば、仮想ボリューム#10の拡張の際に新規に仮想的なPGを作成する必要が無い。なお、S1201:NO及びS1211を経てS808が実行された場合には、例えば、図15Aに例示した画面に、変更不可の理由として、仮想ボリューム#10の拡張後の記憶容量がPG#3の記憶容量を超えることが表示される。
S1202では、容量変更指示に従う容量変更後の仮想ボリューム#10が、PG#3に存在する他の仮想ボリューム#8に重なるか否かが判定される。具体的には、ボリューム情報1113を基に、容量変更指示に従う容量変更後の仮想ボリューム#10の末端アドレスが、PG#3に存在する他の仮想ボリューム#8の先頭アドレスを越えるか否かが判定される。
S1202のサブ判定の結果が肯定的であれば(S1202:YES)、S1203が行われ、S1202のサブ判定の結果が否定的であれば(S1202:NO)、容量変更可否判定の結果が変更不可に決定される(S1211)。これにより、仮想ボリューム#10が他の仮想ボリューム#8に重なってしまうことが防止される。なお、S1202:NO及びS1211を経てS808が実行された場合には、例えば、図15Aに例示した画面に、変更不可の理由として、容量拡張後の仮想ボリューム#10がPG#3内の他の仮想ボリューム#8に重なることが表示される。
S1203では、ボリューム情報1113、ページ情報1112及びページ管理情報1111を基に、一以上の未割当てのページの総容量に対する、仮想ボリューム#10内のページが割り当てられていない一以上の仮想領域の総容量の比率が、仮想ボリューム#10に対応した閾値“50%”(図5A参照)を超えているか否かが判定される。
S1203のサブ判定の結果が肯定的であれば(S1203:YES)、S1204が行われ、S1203のサブ判定の結果が否定的であれば(S1203:NO)、容量変更可否判定の結果が変更不可に決定される(S1211)。これにより、未割当てのページの数のわりに仮想ボリューム#10の記憶容量を拡張し過ぎてしまうことが防止される。なお、S1203:NO及びS1211を経てS808が実行された場合には、例えば、図15Aに例示した画面に、変更不可の理由として、仮想ボリューム#10についての閾値を超えてしまうことが表示される。
S1204では、ボリューム情報1113を基に、仮想ボリューム#10のボリューム属性として“容量変更不可”が設定されているか否かが判定される。
S1204のサブ判定の結果が肯定的であれば(S1204:YES)、S1205が行われ、S1204のサブ判定の結果が否定的であれば(S1204:NO)、容量変更可否判定の結果が変更不可に決定される(S1211)。これにより、記憶容量の変更を禁止することが仮想ボリューム#10について設定されていれば、仮想ボリューム#10の記憶容量が変更されてしまうことが防止される。なお、S1204:NO及びS1211を経てS808が実行された場合には、例えば、図15Aに例示した画面に、変更不可の理由として、仮想ボリューム#10についての容量変更不可が設定されていることが表示される。また、ボリューム属性“容量変更不可”に加えて、“拡張のみ不可”或いは“縮小のみ不可”があっても良い。“拡張のみ不可”であれば、拡張は禁止されるが縮小は許可され、一方、“縮小のみ不可”であれば、縮小は禁止されるが拡張は許可される。
S1205では、ボリューム情報1113を基に、仮想ボリューム#10について他の機能(例えばコンピュータプログラム)に使用されている最中か否かが判定される。具体的には、例えば、仮想ボリューム#10のボリューム属性として“ペアボリュームあり”が設定されているか否かが判定される。
S1205のサブ判定の結果が肯定的であれば(S1205:YES)、S1206が行われ、S1205のサブ判定の結果が否定的であれば(S1205:NO)、容量変更可否判定の結果が変更不可に決定される(S1211)。これにより、例えばボリュームペアの構成(例えば、一方のボリュームと他方のボリュームの記憶容量が同じ容量である)が保護される。なお、S1205:NO及びS1211を経てS808が実行された場合には、例えば、図15Aに例示した画面に、変更不可の理由として、仮想ボリューム#10が他機能使用中であることが表示される。
S1206では、容量変更指示が容量縮小指示であるか否かが判定される。S1206のサブ判定の結果が肯定的であれば(S1206:YES)、S1209が行われ、S1206のサブ判定の結果が否定的であれば(S1206:NO)、S1207が行われる。
S1207では、ページ管理情報1111内で空きのレコードが枯渇するか否かが判定される。「空きのレコード」とは、そのレコードのページ管理#が他のレコードにおける次ページ管理#として設定されていないレコード(つまりどのレコードにもリンクしていないレコード)である。「空きのレコードが枯渇する」とは、空きのレコードがk個(kは0以上の整数)になることである。
S1207のサブ判定の結果が肯定的であれば(S1207:YES)、容量変更可否判定の結果が変更可に決定され(S1208)、S1207のサブ判定の結果が否定的であれば(S1207:NO)、容量変更可否判定の結果が変更不可に決定される(S1211)。これにより、ページ管理情報1111において空きのレコードが枯渇してしまうことを防ぐことができる。なお、S1207:NO及びS1211を経てS808が実行された場合には、例えば、図15Aに例示した画面に、変更不可の理由として、ページ管理情報1111において空きのレコードが枯渇してしまうことが表示される。
S1209では、容量拡張指示がデータ破棄の指示を有するか否かが判定される。S1209のサブ判定の結果が肯定的であれば(S1206:YES)、容量変更可否判定の結果が変更可に決定され(S1208)、S1209のサブ判定の結果が否定的であれば(S1209:NO)、S1210が行われる。つまり、容量縮小指示にデータ破棄の明示があれば、縮小する記憶容量分のセグメント(仮想ボリューム#10から外されるセグメント)にページが割当てられていても、容量縮小処理において、そのページが“使用中”から“未使用”に変更される。
S1210では、ボリューム情報1113及びページ管理情報1111を基に、破棄データが無しか否かが判定される。言い換えれば、縮小する記憶容量分のセグメントを構成するいずれかの仮想領域にページが割当てられているか否かが判定される。
S1210のサブ判定の結果が肯定的であれば(S1210:YES)、容量変更可否判定の結果が変更可に決定され(S1208)、S1210のサブ判定の結果が否定的であれば(S1210:NO)、容量変更可否判定の結果が変更不可に決定される(S1211)。これにより、容量縮小指示にデータ破棄の明示が無くても、縮小する記憶容量分のセグメントにページが割当てられていなければ、容量縮小処理におけるS1004以降が実行される。別の言い方をすれば、容量縮小指示にデータ破棄の明示が無く、縮小する記憶容量分のセグメントにページが割当てられていれば、容量縮小指示におけるS1004以降は非実行となるため、そのページに記憶されているデータが保護される。なお、S1210:NO及びS1211を経てS808が実行された場合には、例えば、図15Cに例示した画面に、変更不可の理由として、容量縮小指示にデータ破棄の明示が無く縮小される分の記憶容量にデータが存在することが表示される。
以上が、本実施形態についての説明である。なお、本実施形態では、下記が行われても良い。
すなわち、ライト処理部は、ライト要求を受けたときには、図16Aに示すように、ライト要求で指定されているLU#200に関連付いている仮想ボリューム#10が容量縮小中か否かを判定する(S1601)。縮小中でなければ(S1601:NO)、ライト処理部は、S1302(図13参照)を実行する。一方、縮小中であれば(S1601:YES)、ライト処理部は、ライト先仮想領域が、縮小される記憶容量分のセグメントの構成要素としての仮想領域か否かを判定する(S1602)。S1602の判定の結果が否定的であれば(S1602:NO)、ライト処理部は、S1302を実行する。一方、S1602の判定の結果が肯定的であれば(S1602:YES)、ライト処理部は、ライト保留処理を実行する(S1603)。ライト保留処理では、例えば、ホスト101からのライト要求に対してホスト101に応答しない、或いは、ビジー又はリトライ要求を返す処理が行われる。以上の説明によれば、仮想ボリューム#10が容量拡張中の場合はS1302以降の処理が実行されるが、仮想ボリューム#10が容量縮小中であってライト先仮想領域が縮小分のセグメント内の仮想領域であれば、S1302以降の処理が非実行とされる。
また、図16Bに示すように、図12のS1205に代えて、S1611が行われても良い。S1611では、容量拡張であって仮想ボリューム#10がコピー元であるか否か、又は、容量縮小であって仮想ボリューム#10がコピー先であるか否かが判定される。S1611のサブ判定の結果が肯定的であれば(S1611:YES)、S1206が行われ、S1611のサブ判定の結果が否定的であれば(S1611:NO)、S1211が行われる。
以上、本発明の好適な実施形態を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこの実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。例えば、容量変更指示は、ホスト101に代えて、ストレージシステム105の管理装置などの他の計算機から送信されても良い。
図1は、LUについての記憶容量の変更の一つの方法の概念を示す。 図2は、本発明の一実施形態での、LUについての記憶容量の変更の概要を示す。 図3は、本発明の一実施形態に係る計算機システムの構成を示す。 図4Aは、パリティグループ(PG)情報の構成例を示す。図4Bは、物理的なPGを示す。図4Cは、仮想的なPGを示す。 図5Aは、ボリューム情報の構成例を示す。図5Bは、物理的なPGと、それの記憶空間を基に形成された実ボリュームとを示す。 図6Aは、ページ情報の構成例を示す。図6Bは、物理的なPGと、それの記憶空間を基に形成されたプールボリュームと、プールボリュームを構成するページとを示す。 図7Aは、ページ管理情報の構成例を示す。図7Bは、セグメントを構成する仮想領域に対するページの割当てを示す。 図8は、容量拡張処理のフローチャートである。 図9Aは、S804での更新前と更新後のページ管理情報を示す。図9Bは、S805での更新前と更新後のボリューム情報を示す。 図10は、容量縮小処理のフローチャートである。 図11Aは、S1004での更新前と更新後のボリューム情報を示す。図11Bは、S1005での更新前と更新後のページ情報を示す。図11Cは、S1005及びS1006での更新前と更新後のページ管理情報を示す。 図12は、容量変更可否判定のフローチャートである。 図13は、仮想ボリュームに対するライト処理のフローチャートである。 図14は、仮想ボリュームに対するリード処理のフローチャートである。 図15Aは、図8に示したS808により表示される画面の一例である。図15Bは、図8に示したS807により表示される画面の一例である。図15Cは、図10に示したS1009により表示される画面の一例である。図15Dは、図10に示したS1008により表示される画面の一例である。 図16Aは、図13に示したライト処理の変形例である。図16Bは、図12に示したS1205の変形例としてのS1611を示す。
符号の説明
101…ホスト 105…ストレージシステム 107…コントローラ 109…チャネルアダプタ 111…共有メモリ 113…キャッシュメモリ 117…ディスクアダプタ 118…記憶装置群 119…物理記憶装置 1091…容量拡張処理部 1092…容量縮小処理部 1111…ページ管理情報 1112…ページ情報 1113…ボリューム情報 1114…PG情報

Claims (14)

  1. 一以上の物理記憶装置と、
    データとデバイス及びアドレスを指定したライト要求とを上位装置から受け付け、前記デバイスに関連付けられている仮想ボリュームを構成する複数の仮想領域のうちの、前記アドレスが表す仮想領域に、前記一以上の物理記憶装置に基づく複数の実領域のうちのいずれの実領域も割り当てられていない場合、前記複数の実領域のうちの未使用の実領域を前記仮想領域に割り当て、前記割り当てた実領域に、前記データを書き込むコントローラと
    を備え、
    前記コントローラが、
    前記デバイスを指定した容量変更指示を受け付けるインタフェースと、
    前記仮想ボリュームの記憶容量を表すボリューム容量値を含んだ管理情報を記憶している記憶部と、
    前記管理情報に含まれている前記ボリューム容量値を、前記容量変更指示に従う記憶容量を表すボリューム容量値に変更するプロセッサと
    を有し、
    前記管理情報は、
    各実領域の使用状態を表す実領域情報と、
    前記仮想ボリューム内のどの仮想領域にどの実領域が割り当てられているかを表す実領域管理情報と、
    前記仮想ボリュームの記憶容量を表す前記ボリューム容量値を含んだボリューム情報と
    を含んでおり、
    前記プロセッサは、
    2A)前記容量変更指示が容量拡張指示の場合、
    (2A−1)前記実領域管理情報を、拡張前の前記仮想ボリュームの各仮想領域だけでなく拡張前の前記仮想ボリュームと拡張後の前記仮想ボリュームとの第一の差分に相当する仮想領域を前記仮想ボリュームの構成要素とした情報に更新し、
    (2A−2)前記ボリューム情報内の前記ボリューム容量値を、前記容量拡張指示に従う記憶容量を表すボリューム容量値に増やし、
    (2A−3)前記(2A−1)及び前記(2A−2)を終えた後に、前記デバイスに関する、前記仮想ボリュームの拡張後の記憶容量を、前記上位装置に通知可能な状態となり、
    (2B)前記容量変更指示が容量縮小指示の場合、
    (2B−1)前記ボリューム情報内の前記ボリューム容量値を、前記容量縮小指示に従う記憶容量を表すボリューム容量値に減らし、
    (2B−2)縮小前の前記仮想ボリュームと縮小後の前記仮想ボリュームとの第二の差分に相当する仮想領域に実領域が割り当てられていれば、前記ページ情報における、前記第二の差分に相当する仮想領域に割り当てられている実領域の使用状態を、使用中から未使用に変更し、
    (2B−3)前記実領域管理情報を、前記第二の差分に相当する仮想領域を前記仮想ボリュームの構成要素から外した情報に更新し、
    (2B−4)前記(2B−1)乃至前記(2B−3)を終えた後に、前記デバイスに関する、前記仮想ボリュームの縮小後の記憶容量を、前記上位装置に通知可能な状態となる、
    ストレージシステム。
  2. 前記仮想ボリュームは、予め定義されている仮想記憶空間の一部分であり、
    前記管理情報は、前記仮想記憶空間の容量を表す空間容量値を含んだ記憶空間管理情報を含み、
    前記仮想記憶空間に、他の仮想ボリュームがあり、
    前記実領域管理情報は、複数のレコードで構成されており、
    前記レコードが、一以上の仮想領域で構成された領域に対応しており、レコードIDと、前記レコードに対応する仮想領域に割り当てられている実領域IDとを有し、
    前記(2A−1)では、前記実領域管理情報を構成する複数のレコードのうちの未使用のレコードのうち、前記第一の差分に相当する仮想領域に対応した分のレコードが、前記仮想ボリュームに関わるレコードとして選択されるようになっており、
    前記ボリューム管理情報は、前記仮想ボリューム及び前記他の仮想ボリュームについて、容量値の他に、前記仮想記憶空間における先頭アドレスと、関連するレコードのIDと、比率閾値とを含み、
    前記プロセッサが、前記容量拡張指示に従う拡張可能か否かの第一の判断を行い、前記第一の判断の結果が否定的の場合に、前記(2A−1)乃至前記(2A−3)を非実行とし、
    前記第一の判断の結果は、以下の(3−1)乃至(3−4)のうちの全ての条件を満たしている場合に肯定的であり、それらの条件のうちの少なくとも一つの条件を満していない場合に否定的である、
    (3−1)前記容量拡張指示に従う記憶容量が、前記空間容量値が表す容量未満である、
    (3−2)前記容量拡張指示に従う記憶容量の前記仮想ボリュームの先頭アドレス又は最後尾アドレスが、前記他の仮想ボリュームの、前記ボリューム情報内の先頭アドレス及び容量値から特定されるアドレス範囲に重ならない、
    (3−3)前記実領域管理情報を構成する複数のレコードのうちの未使用のレコードの数が、前記第一の差分に相当する仮想領域に対応した分のレコードの数以上である、
    (3−4)前記複数の実領域のうちの一以上の未割当ての実領域の総容量に対する、前記容量変更指示に従う記憶容量の前記仮想ボリュームにおける、実領域が割り当てられていない一以上の仮想領域の総容量の比率が、前記仮想ボリュームについての前記比率閾値以下である、
    請求項記載のストレージシステム。
  3. 前記プロセッサが、前記容量縮小指示に従う縮小可能か否かの第二の判断を行い、前記第二の判断の結果が否定的の場合に、前記(2B−1)乃至前記(2B−4)を非実行とし、
    前記第二の判断の結果は、以下の(4−1)又は(4−2)の条件を満たしている場合に肯定的であり、それらの条件の全てを満たしていない場合に否定的である、
    (4−1)前記第二の差分に相当する仮想領域に割り当てられている実領域に記憶されているデータを破棄しても良いという明示がある、
    (4−2)前記第二の差分に相当する仮想領域に実領域が割り当てられていない、
    請求項又は記載のストレージシステム。
  4. 前記プロセッサが、前記仮想ボリュームに関連付いているデバイスを指定したフォーマット指示を受けた場合、前記仮想ボリュームについて、前記(2A−1)又は前記(2A−2)を実行中であれば、前記フォーマット指示に従うフォーマットを非実行とする、
    請求項2乃至のうちのいずれか1項に記載のストレージシステム。
  5. 一以上の物理記憶装置と、
    データとデバイス及びアドレスを指定したライト要求とを上位装置から受け付け、前記デバイスに関連付けられている仮想ボリュームを構成する複数の仮想領域のうちの、前記アドレスが表す仮想領域に、前記一以上の物理記憶装置に基づく複数の実領域のうちのいずれの実領域も割り当てられていない場合、前記複数の実領域のうちの未使用の実領域を前記仮想領域に割り当て、前記割り当てた実領域に、前記データを書き込むコントローラと
    を備え、
    前記コントローラが、
    前記デバイスを指定した容量変更指示を受け付けるインタフェースと、
    前記仮想ボリュームの記憶容量を表すボリューム容量値を含んだ管理情報を記憶している記憶部と、
    前記管理情報に含まれている前記ボリューム容量値を、前記容量変更指示に従う記憶容量を表すボリューム容量値に変更するプロセッサと
    を有し、
    前記管理情報は、
    前記仮想ボリューム内のどの仮想領域にどの実領域が割り当てられているかを表す実領域管理情報と、
    前記仮想ボリュームの記憶容量を表す前記ボリューム容量値を含んだボリューム情報と
    を含んでおり、
    前記プロセッサは、前記容量変更指示が容量拡張指示の場合、
    (6−1)前記実領域管理情報を、拡張前の前記仮想ボリュームの各仮想領域だけでなく拡張前の前記仮想ボリュームと拡張後の前記仮想ボリュームとの第一の差分に相当する仮想領域を前記仮想ボリュームの構成要素とした情報に更新し、
    (6−2)前記ボリューム情報内の前記ボリューム容量値を、前記容量拡張指示に従う記憶容量を表すボリューム容量値に増やし、
    (6−3)前記(6−1)及び前記(6−2)を終えた後に、前記デバイスに関する、前記仮想ボリュームの拡張後の記憶容量を、前記上位装置に通知可能な状態となる、
    ストレージシステム。
  6. 前記仮想ボリュームは、予め定義されている仮想記憶空間又はその一部分であり、
    前記プロセッサが、前記容量拡張指示に従う拡張可能か否かの第一の判断を行い、前記第一の判断の結果が否定的の場合に、前記(6−1)乃至前記(6−3)を非実行とし、
    前記第一の判断の結果は、以下の(7−1)の条件を満たしていない場合に否定的である、
    (7−1)前記容量拡張指示に従う記憶容量が、前記空間容量値が表す容量未満である、
    請求項記載のストレージシステム。
  7. 前記仮想ボリュームは、予め定義されている仮想記憶空間又はその一部分であり、
    前記プロセッサが、前記容量拡張指示に従う拡張可能か否かの第一の判断を行い、前記第一の判断の結果が否定的の場合に、前記(6−1)乃至前記(6−3)を非実行とし、
    前記第一の判断の結果は、以下の(8−1)の条件を満たしていない場合に否定的である、
    (8−1)前記容量拡張指示に従う記憶容量の前記仮想ボリュームの先頭アドレス又は最後尾アドレスが、前記他の仮想ボリュームの、前記ボリューム情報内の先頭アドレス及び容量値から特定されるアドレス範囲に重ならない、
    請求項又は記載のストレージシステム。
  8. 前記実領域管理情報は、複数のレコードで構成されており、
    前記レコードが、一以上の仮想領域で構成された領域に対応しており、前記レコードに対応する仮想領域に割り当てられている実領域IDを有し、
    前記(6−1)では、前記実領域管理情報を構成する複数のレコードのうちの未使用のレコードのうち、前記第一の差分に相当する仮想領域に対応した分のレコードが、前記仮想ボリュームに関わるレコードとして選択されるようになっており、
    前記プロセッサが、前記容量拡張指示に従う拡張可能か否かの第一の判断を行い、前記第一の判断の結果が否定的の場合に、前記(6−1)乃至前記(6−3)を非実行とし、
    前記第一の判断の結果は、以下の(9−1)の条件を満たしていない場合に否定的である、
    (9−1)前記実領域管理情報を構成する複数のレコードのうちの未使用のレコードの数が、前記第一の差分に相当する仮想領域に対応した分のレコードの数以上である、
    請求項乃至のうちのいずれか1項に記載のストレージシステム。
  9. 前記プロセッサが、前記容量拡張指示に従う拡張可能か否かの第一の判断を行い、前記第一の判断の結果が否定的の場合に、前記(6−1)乃至前記(6−3)を非実行とし、
    前記第一の判断の結果は、以下の(10−1)の条件を満たしていない場合に否定的である、
    (10−1)前記複数の実領域のうちの一以上の未割当ての実領域の総容量に対する、前記容量変更指示に従う記憶容量の前記仮想ボリュームにおける、実領域が割り当てられていない一以上の仮想領域の総容量の比率が、前記仮想ボリュームについての所定の比率以下である、
    請求項乃至のうちのいずれか1項に記載のストレージシステム。
  10. 前記プロセッサが、前記容量拡張指示に従う拡張可能か否かの第一の判断を行い、前記第一の判断の結果が否定的の場合に、前記(6−1)乃至前記(6−3)を非実行とし、
    前記第一の判断の結果は、以下の(11−1)の条件を満たしていない場合に否定的である、
    (11−1)前記容量拡張指示で指定されている前記仮想ボリュームが、ボリューム間コピーのコピー元ではない、
    請求項乃至のうちのいずれか1項に記載のストレージシステム。
  11. 一以上の物理記憶装置と、
    データとデバイス及びアドレスを指定したライト要求とを上位装置から受け付け、前記デバイスに関連付けられている仮想ボリュームを構成する複数の仮想領域のうちの、前記アドレスが表す仮想領域に、前記一以上の物理記憶装置に基づく複数の実領域のうちのいずれの実領域も割り当てられていない場合、前記複数の実領域のうちの未使用の実領域を前記仮想領域に割り当て、前記割り当てた実領域に、前記データを書き込むコントローラと
    を備え、
    前記コントローラが、
    前記デバイスを指定した容量変更指示を受け付けるインタフェースと、
    前記仮想ボリュームの記憶容量を表すボリューム容量値を含んだ管理情報を記憶している記憶部と、
    前記管理情報に含まれている前記ボリューム容量値を、前記容量変更指示に従う記憶容量を表すボリューム容量値に変更するプロセッサと
    を有し、
    前記管理情報は、
    各実領域の使用状態を表す実領域情報と、
    前記仮想ボリューム内のどの仮想領域にどの実領域が割り当てられているかを表す実領域管理情報と、
    前記仮想ボリュームの記憶容量を表す前記ボリューム容量値を含んだボリューム情報と
    を含んでおり、
    前記プロセッサは、前記容量変更指示が容量縮小指示の場合、
    (12−1)前記ボリューム情報内の前記ボリューム容量値を、前記容量縮小指示に従う記憶容量を表すボリューム容量値に減らし、
    (12−2)縮小前の前記仮想ボリュームと縮小後の前記仮想ボリュームとの第二の差分に相当する仮想領域に実領域が割り当てられていれば、前記ページ情報における、前記第二の差分に相当する仮想領域に割り当てられている実領域の使用状態を、使用中から未使用に変更し、
    (12−3)前記実領域管理情報を、前記第二の差分に相当する仮想領域を前記仮想ボリュームの構成要素から外した情報に更新し、
    (12−4)前記(12−1)乃至前記(12−3)を終えた後に、前記デバイスに関する、前記仮想ボリュームの縮小後の記憶容量を、前記上位装置に通知可能な状態となる、
    ストレージシステム。
  12. 前記プロセッサが、前記容量縮小指示に従う縮小可能か否かの第二の判断を行い、前記第二の判断の結果が否定的の場合に、前記(12−1)乃至前記(12−4)を非実行とし、
    前記第二の判断の結果は、以下の(13−1)の条件を満たしていない場合に否定的である、
    (13−1)前記第二の差分に相当する仮想領域に割り当てられている実領域に記憶されているデータを破棄しても良いという明示がある、
    請求項11記載のストレージシステム。
  13. 前記プロセッサが、前記容量縮小指示に従う縮小可能か否かの第二の判断を行い、前記第二の判断の結果が否定的の場合に、前記(12−1)乃至前記(12−4)を非実行とし、
    前記第二の判断の結果は、以下の(14−1)の条件を満たしていない場合に否定的である、
    (14−1)前記第二の差分に相当する仮想領域に実領域が割り当てられていない、
    請求項11又は12記載のストレージシステム。
  14. 前記プロセッサが、前記容量縮小指示に従う縮小可能か否かの第二の判断を行い、前記第二の判断の結果が否定的の場合に、前記(12−1)乃至前記(12−4)を非実行とし、
    前記第二の判断の結果は、以下の(15−1)の条件を満たしていない場合に否定的である、
    (15−1)前記容量縮小指示で指定されている前記仮想ボリュームが、ボリューム間コピーのコピー先ではない、
    請求項11乃至13のうちのいずれか1項に記載のストレージシステム。
JP2008178607A 2008-07-09 2008-07-09 上位装置から指定されるデバイスに関する記憶容量を変更するストレージシステム及び方法 Expired - Fee Related JP5302582B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008178607A JP5302582B2 (ja) 2008-07-09 2008-07-09 上位装置から指定されるデバイスに関する記憶容量を変更するストレージシステム及び方法
US12/210,276 US8539194B2 (en) 2008-07-09 2008-09-15 Storage system and method for storage capacity change of host-device-specified device
EP09250101.4A EP2144152B1 (en) 2008-07-09 2009-01-15 Storage system and method for storage capacity change of host-device-specified device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008178607A JP5302582B2 (ja) 2008-07-09 2008-07-09 上位装置から指定されるデバイスに関する記憶容量を変更するストレージシステム及び方法

Publications (2)

Publication Number Publication Date
JP2010020431A JP2010020431A (ja) 2010-01-28
JP5302582B2 true JP5302582B2 (ja) 2013-10-02

Family

ID=41138841

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008178607A Expired - Fee Related JP5302582B2 (ja) 2008-07-09 2008-07-09 上位装置から指定されるデバイスに関する記憶容量を変更するストレージシステム及び方法

Country Status (3)

Country Link
US (1) US8539194B2 (ja)
EP (1) EP2144152B1 (ja)
JP (1) JP5302582B2 (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5276185B2 (ja) * 2010-02-05 2013-08-28 株式会社日立製作所 仮想マシンと連携したThin−Provisioning容量管理を行う計算機システム、計算機、及び方法
US20120011339A1 (en) * 2010-04-05 2012-01-12 Hitachi, Ltd. Storage control apparatus and control method for virtual logical volume
JP5537732B2 (ja) 2010-08-11 2014-07-02 株式会社日立製作所 ストレージシステム
JP5665566B2 (ja) * 2011-01-26 2015-02-04 キヤノン株式会社 情報処理装置、メールボックス管理方法、およびそのプログラム
JP5664347B2 (ja) * 2011-03-04 2015-02-04 ソニー株式会社 仮想メモリシステム、仮想メモリの制御方法、およびプログラム
JP2012208812A (ja) * 2011-03-30 2012-10-25 Buffalo Inc データ管理装置及びデータ管理方法
US9619474B2 (en) 2011-03-31 2017-04-11 EMC IP Holding Company LLC Time-based data partitioning
US9916258B2 (en) * 2011-03-31 2018-03-13 EMC IP Holding Company LLC Resource efficient scale-out file systems
CN103384877B (zh) * 2011-06-07 2016-03-23 株式会社日立制作所 包括闪存的存储系统和存储控制方法
US20130282998A1 (en) * 2012-04-24 2013-10-24 Hitachi, Ltd. Backup system and backup method
US9122418B2 (en) 2012-08-07 2015-09-01 Xyratex Technology Limited—A Seagate Company Method of controlling the capacity of a virtual storage system, and a virtual storage system
JP6142599B2 (ja) * 2013-03-18 2017-06-07 富士通株式会社 ストレージシステム、ストレージ装置および制御プログラム
US20150370816A1 (en) * 2014-06-18 2015-12-24 Netapp, Inc. Load-balancing techniques for auditing file accesses in a storage system
WO2016113831A1 (ja) * 2015-01-13 2016-07-21 株式会社日立製作所 ストレージシステム、及び、記憶制御方法
JP6039149B2 (ja) * 2015-06-25 2016-12-07 株式会社日立製作所 ストレージ装置及びその制御方法
US10146465B1 (en) 2015-12-18 2018-12-04 EMC IP Holding Company LLC Automated provisioning and de-provisioning software defined storage systems
US10834021B1 (en) * 2017-07-28 2020-11-10 EMC IP Holding Company LLC Dynamic management of concurrent access to shared computing resources
US11249852B2 (en) 2018-07-31 2022-02-15 Portwonx, Inc. Efficient transfer of copy-on-write snapshots
JP6851350B2 (ja) * 2018-08-30 2021-03-31 株式会社日立製作所 ストレージシステム及び記憶制御方法
US11354060B2 (en) 2018-09-11 2022-06-07 Portworx, Inc. Application snapshot for highly available and distributed volumes
CN109960470B (zh) * 2019-03-28 2022-07-29 新华三技术有限公司 数据处理方法、装置及领导节点
US11494128B1 (en) 2020-01-28 2022-11-08 Pure Storage, Inc. Access control of resources in a cloud-native storage system
US11531467B1 (en) 2021-01-29 2022-12-20 Pure Storage, Inc. Controlling public access of resources in a secure distributed storage system
US11520516B1 (en) 2021-02-25 2022-12-06 Pure Storage, Inc. Optimizing performance for synchronous workloads
US11733897B1 (en) 2021-02-25 2023-08-22 Pure Storage, Inc. Dynamic volume storage adjustment
US11726684B1 (en) 2021-02-26 2023-08-15 Pure Storage, Inc. Cluster rebalance using user defined rules
JP2023125073A (ja) * 2022-02-28 2023-09-07 株式会社日立製作所 記憶制御装置及び方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5129088A (en) * 1987-11-30 1992-07-07 International Business Machines Corporation Data processing method to create virtual disks from non-contiguous groups of logically contiguous addressable blocks of direct access storage device
US6880058B2 (en) * 2000-12-07 2005-04-12 Hitachi, Ltd. Computer system with storage system having re-configurable logical volumes
JP4175788B2 (ja) * 2001-07-05 2008-11-05 株式会社日立製作所 ボリューム制御装置
JP4061960B2 (ja) * 2002-04-26 2008-03-19 株式会社日立製作所 コンピュータシステム
JP2007066259A (ja) * 2005-09-02 2007-03-15 Hitachi Ltd 計算機システムとストレージシステム並びにボリューム容量拡張方法
JP2007265001A (ja) * 2006-03-28 2007-10-11 Hitachi Ltd ストレージ装置
US7886111B2 (en) * 2006-05-24 2011-02-08 Compellent Technologies System and method for raid management, reallocation, and restriping
JP4942418B2 (ja) * 2006-08-04 2012-05-30 株式会社日立製作所 計算機システム及びそのスナップショット作成方法
JP4932390B2 (ja) * 2006-08-31 2012-05-16 株式会社日立製作所 仮想化システム及び領域割当て制御方法
JP5073259B2 (ja) * 2006-09-28 2012-11-14 株式会社日立製作所 仮想化システム及び領域割当て制御方法
JP2008178607A (ja) 2007-01-25 2008-08-07 Olympia:Kk 遊技機
JP4961319B2 (ja) * 2007-10-11 2012-06-27 株式会社日立製作所 仮想ボリュームにおける仮想領域に動的に実領域を割り当てるストレージシステム

Also Published As

Publication number Publication date
JP2010020431A (ja) 2010-01-28
EP2144152B1 (en) 2016-01-13
EP2144152A2 (en) 2010-01-13
US20100011185A1 (en) 2010-01-14
EP2144152A3 (en) 2012-04-18
US8539194B2 (en) 2013-09-17

Similar Documents

Publication Publication Date Title
JP5302582B2 (ja) 上位装置から指定されるデバイスに関する記憶容量を変更するストレージシステム及び方法
US8984248B2 (en) Data migration system and data migration method
US7650480B2 (en) Storage system and write distribution method
US7343465B2 (en) Storage system
JP5512833B2 (ja) ストレージの仮想化機能と容量の仮想化機能との両方を有する複数のストレージ装置を含んだストレージシステム
US8392648B2 (en) Storage system having a plurality of flash packages
JP4961319B2 (ja) 仮想ボリュームにおける仮想領域に動的に実領域を割り当てるストレージシステム
JP4859837B2 (ja) 情報記録媒体アクセス装置、及びデータ記録方法
US8095752B2 (en) Storage access device issuing I/O requests, in an associated logical unit environment
JP5315348B2 (ja) シン・プロビジョニングの移行および取り消しのための方法および装置
US7461201B2 (en) Storage control method and system for performing backup and/or restoration
JP5056747B2 (ja) 記憶領域管理装置、記憶領域管理方法
JP4464378B2 (ja) 同一データを纏める事で格納領域を節約する計算機システム、ストレージシステム及びそれらの制御方法
JP2007102760A (ja) ストレージエリアネットワークにおけるボリュームの自動割り当て
JP2009251970A (ja) 複数のストレージシステムモジュールを備えたストレージシステム
CN108475229B (zh) 数据迁移的方法、主机、及固态存储设备
JP6160296B2 (ja) ストレージ制御装置,ストレージシステム,および制御プログラム
JP5378604B2 (ja) ThinProvisioningが適用された、メインフレーム系のストレージ装置
CN111913664B (zh) 一种数据写入方法及装置
JP2022016753A (ja) ストレージシステム、制御方法及びプログラム
US11573729B2 (en) Storage device and storage control method
JP2021170245A (ja) ストレージ制御装置、ストレージシステムおよびストレージ制御プログラム
JP4563314B2 (ja) ストレージシステム制御装置、ストレージシステム制御プログラム、ストレージシステム制御方法
JP2009294699A (ja) ストレージ装置
JP2023111360A (ja) ストレージシステム、ドライブ移動方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100818

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120720

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120911

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121106

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130621

R150 Certificate of patent or registration of utility model

Ref document number: 5302582

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