JP5199465B2 - Raidグループを備えたストレージシステム - Google Patents

Raidグループを備えたストレージシステム Download PDF

Info

Publication number
JP5199465B2
JP5199465B2 JP2011514951A JP2011514951A JP5199465B2 JP 5199465 B2 JP5199465 B2 JP 5199465B2 JP 2011514951 A JP2011514951 A JP 2011514951A JP 2011514951 A JP2011514951 A JP 2011514951A JP 5199465 B2 JP5199465 B2 JP 5199465B2
Authority
JP
Japan
Prior art keywords
page
real
pages
raid group
allocated
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
JP2011514951A
Other languages
English (en)
Other versions
JP2012504794A (ja
Inventor
賢哲 江口
山本  政行
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of JP2012504794A publication Critical patent/JP2012504794A/ja
Application granted granted Critical
Publication of JP5199465B2 publication Critical patent/JP5199465B2/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1028Distributed, i.e. distributed RAID systems with parity

Landscapes

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

Description

本発明は、RAIDグループを備えたストレージシステムの記憶制御に関する。
一般に、RAID(Redundant Arrays of Independent (or Inexpensive) Disks)と呼ばれる技術が採用されているストレージシステムには、複数の物理記憶装置(以下、「PDEV」略記)で構成された記憶装置グループが備えられている。この種の記憶装置グループは、一般に、RAIDグループ(或いは、パリティグループ又はECC(Error-Correcting Code)グループ)と呼ばれる。
RAIDグループの記憶領域は、複数のサブ記憶領域列で構成されている。各サブ記憶領域列は、RAIDグループを構成する複数のPDEVに跨っており、複数のPDEVに対応した複数のサブ記憶領域で構成されている。以下、一つのサブ記憶領域を、「ストライプ」と呼び、複数のストライプで構成された一列を、「ストライプ列」と呼ぶ。
RAIDには、いくつかのレベル(以下、「RAIDレベル)という)があることが知られている。
例えば、RAID5がある。RAID5では、データが、RAID5に対応したRAIDグループを構成する複数のPDEV(例えば、ハードディスクドライブ(HDD))に分散して書き込まれる。具体的には、例えば、ライト対象のデータは、所定サイズのデータ(以下、便宜上「データユニット」と言う)に分割されて、各データユニットが、複数のデータ要素に分割され、複数のデータ要素が、複数のストライプに書き込まれる。また、RAID5では、PDEVに障害が発生したことによりそのPDEVから読み出せなくなったデータ要素をリストアするために、一つのデータユニットにつき、“パリティ”と呼ばれる冗長な情報(以下、「冗長コード」)が生成され、その冗長コードも、ストライプに書き込まれる。具体的には、例えば、図1Aに示すように、RAIDグループ205を構成するPDEVの数が4である場合は、一つのストライプ列207が、4つのPDEV201−1〜201−4に対応した4つのストライプで構成されている。3つのPDEV201−1〜201−3に対応する3つのストライプに、データユニット203を構成する3つのデータ要素A〜Cが書き込まれ、残りの1つのPDEVに対応するストライプに、冗長コードDが書き込まれる。
もし、例えば図1Bに示すように、或る1つのPDEV201−3に障害が発生した場合、データ要素Cが読み出せなくなる。このため、リビルドが行われる必要がある。リビルドの一般的な方法として、コレクションコピーが採用されている(例えば特許文献1)。コレクションコピーでは、例えば、読み出せなくなったデータ要素Cが、データユニット203を構成する残りの二つのデータ要素A及びBと、冗長コードDとを用いて、例えばキャッシュメモリ209上にリストアされ、リストアされたデータ要素Cが、別のPDEV(例えばスペアのPDEV)201Sにコピーされる。
特開2008−046986号公報
近年、PDEVは大容量化してきている。このため、コレクションコピーでは、一つのPDEVに記憶されているたくさんのデータ要素がリストアされたり、それらたくさんのデータ要素の全てが別のPDEVにコピーされたりすることがある。それ故、コレクションコピーが完了するまでに長い時間がかかるおそれがある。コレクションコピーの最中であっても、ストレージシステムの外部の装置(例えばホスト計算機)からリード要求を受け付けることができるが、コレクションコピーが行われている期間は、冗長度が低い期間となるので、コレクションコピーに長い時間がかかると、冗長度が低い期間も長くなってしまう。
上記の問題は、RAIDグループのRAIDレベルとしてRAID5が採用されている場合に限らず、他のRAIDレベルが採用されている場合にも同様に起こり得る。
そこで、本発明の目的は、コレクションコピーよりも短い時間で完了するリビルド技術を提供することにある。
複数のRAIDグループに基づく複数の実ページで構成されている記憶領域群であるプールが管理される。ストレージシステムは、ライト処理を行うI/O部と、リビルド処理を行うリビルド制御部とを有する。ライト処理には、下記(W1)及び(W2)、
(W1)仮想ボリュームを構成する複数の仮想ページのうちのライト先仮想ページに、複数の実ページのうちのいずれかの未割当ての実ページを割り当てること;
(W2)ライト先仮想ページに割り当てられる未割当ての実ページに、ライト対象のデータを書き込むこと;
が含まれる。リビルド処理には、下記(R1)及び(R2)、
(R1)特定のRAIDグループが基になっている全ての実ページのうちの全ての割当て済みの実ページに記憶されているデータを、それぞれ、特定のRAIDグループとは別の一以上のRAIDグループが基になっている未割当ての実ページにコピーすること;
(R2)各コピー元の割り当て済みの実ページの割当先の各仮想ページに、各コピー元の割り当て済みの実ページに代えて各コピー先の実ページを割り当てること;
が含まれる。各実ページは、物理的な記憶領域であり、各仮想ページは、仮想的な記憶領域である。
ライト処理で割り当てられる実ページは、例えば、フリーページであり、リビルド処理でコピー先となる実ページは、例えば、リザーブページである。フリーページは、複数の仮想ページのいずれにも割り当てられていない、ライト先仮想ページに割り当てられ得る実ページである。リザーブページは、いずれの仮想ページにも割り当てられていないがフリーページではない実ページであって、ライト処理においてライト先仮想ページに割り当てられることの無い実ページである。
RAIDグループに基づく全ての実ページがプールに存在しなくても良い。例えば、一つのRAIDグループに基づく記憶空間のうちの或る記憶空間部分が、プールに存在する二以上の実ページに対応し、その記憶空間のうちの別の記憶空間部分が、プールとは別の記憶領域に対応しても良い。また、プール内の少なくとも一つの実ページは、いわゆる外部接続ストレージシステム内の記憶資源に基づく記憶領域であっても良い。
図1Aは、RAID5での書き込みの説明図である。 図1Bは、RAID5でのコレクションコピーの説明図である。 図2は、本発明の一実施形態の概要の説明図である。 図3は、仮想ページの割当先がコピー元の割り当て済みページからコピー先のリザーブページに変更されたことを示す。 図4は、回復したRGに基づく二以上の実ページを含んだプールを示す。 図5は、本発明の一実施形態に係る計算機システムの構成ブロック図である。 図6は、本発明の一実施形態に係る計算機ステムにおける記憶領域の階層を示す。 図7は、コントローラ31のメモリ350に記憶されるプログラム及び情報を示す。 図8は、VDEV管理情報3514の構成図である。 図9は、LDEV管理情報3512の構成図である。 図10は、アドレス管理テーブル3511の説明図である。 図11は、プール管理情報3521の構成図である。 図12は、ターゲットデバイス管理情報3513の構成図である。 図13は、VVOL−DIR3523及びPSCB3524の説明図である。 図14は、ストレージシステム30で管理されるキューの種類を示す。 図15は、VVOL内の全ての未割当て仮想ページとプール内の所定の実ページに割り当てられていることを示す。 図16は、ライト処理の流れを示す。 図17は、リード処理の流れを示す。 図18は、障害対処処理の流れを示す。 図19は、コピー元決定処理の流れを示す。 図20は、コピー先決定処理の流れを示す。 図21は、セカンダリボリュームがVVOL(仮想ボリューム)である場合の、リビルド処理におけるコピーの一例を示す。 図22は、セカンダリボリュームがRVOL(実ボリューム)である場合の、リビルド処理におけるコピーの一例を示す。
30…ストレージシステム
以下、図面を参照して、本発明の一実施形態を説明する。なお、以下の説明では、RAIDグループを「RG」と略記することがある。
図2は、本発明の一実施形態の概要の説明図である。
複数のRAIDグループ(例えば、RG#0、RG1、RG#2、…)に基づく複数の実ページ264で構成されている記憶領域群であるプール60が管理される。プール60内の実ページ264は、仮想ボリューム(以下、VVOL)312における仮想ページ262に割り当てられる。割り当てられる実ページ264は、フリーページ(FREE)である。フリーページとは、どの仮想ページ262にも割り当てられていない実ページである。フリーページがいずれかの仮想ページ262に割り当てられることにより、そのフリーページは割り当て済みページ(ALLOCATED)となる。割り当て済みページとは、いずれかの仮想ページ262に割り当てられている実ページである。ちなみに、仮想ページ262は、仮想的な記憶領域であり、実ページ264は、物理的な記憶領域である。
更に、本実施形態では、プール60には、リザーブページが含まれている。リザーブページは、いずれの仮想ページにも割り当てられていないがフリーページではない実ページであって、ホスト計算機からのライト要求で指定されたライト先仮想ページには割り当てられることの無い実ページである。
図2の例では、実ページ264を表すブロックにおける符号は、その実ページ264の識別子であり、そのブロックにおけるカッコ内の言葉は、そのブロックで表される実ページ264の種類を表す。また、仮想ページ262を表すブロックにおけるカッコ外の番号は、その仮想ページ262の識別番号であり、そのブロックにおけるカッコ内の番号は、その仮想ページ262に割り当てられている実ページの識別番号である。なお、カッコの無いブロックで表される仮想ページ262は、後述するデフォルトページが割り当てられている仮想ページ(換言すれば、実質的にいずれの実ページも割り当てられていない仮想ページ)である。
いずれのRAIDグループも複数の物理記憶装置(PDEV)で構成されている。本実施形態では、PDEVの障害が検出された場合、下記(R1)及び(R2)の処理を含んだリビルド処理、
(R1)障害の検出されたPDEVを有するRAIDグループ(以下、障害RG)が基になっている全ての割り当て済みページに記憶されているデータを、それぞれ、障害RGとは別のRGが基になっているリザーブページにコピーすること;
(R2)各コピー元の割り当て済みページが割り当てられている各仮想ページに、各コピー元の割り当て済みページに代えて各コピー先のリザーブページを割り当てること(各コピー元の割り当て済みページが割り当てられている各仮想ページに各コピー先のリザーブページを割り当て、各コピー元の割り当て済みの実ページの、仮想ページに対する割当てを解除すること);
が行われる。
(R1)の処理は、例えば、図2に示す通りである。すなわち、障害RG#0が基になっている全ての割り当て済みページ#00、#01、#2及び#03から、他のRG(例えばRG#1及びRG#2)が基になっているリザーブページ#26、#27、#16及び#17に、それぞれデータがコピーされる。コピー先とされる複数のリザーブページは、複数のRGに分散していても良いし、同一のRGに集中していても良い。尚、ディスクアクセス競合によるホストI/O性能劣化を考慮すると、コピー先とされる複数のリザーブページは、複数のRGに分散していた方が良い。また、ここでは、リザーブページへのコピーを想定しているが、フリーのページがコピー先に用いられても良い。
(R2)の処理は、例えば、図3に示す通りである。すなわち、コピー先のリザーブページ(例えば#16)が、コピー元の実ページ(例えば#02)に割り当てられている仮想ページ(例えば#00)に割り当てられ、その仮想ページ(例えば#00)に対するコピー元の実ページ(例えば#02)の割り当ては解除される。このため、コピー先の実ページ(例えば#16)は、リザーブページから割り当て済みページに変わる。なお、図3に示すように、データのリザーブページ(例えば#16)へのコピーに伴い、そのリザーブページ(例えば#16)を有するRG(例えば#1)内のフリーページ(例えば#15)が、リザーブページに変更されても良い。これは、例えば、プール60に関わるいずれか別のRGが障害RGになったらその障害RGが基になっている割り当て済みページ内のデータのコピー先が足りなくなる場合に、行われて良い。リザーブページに変更されるフリーページの数は、リビルド処理において減ったリザーブページ(コピー先とされたリザーブページ)の数に基づいて決定されて良い。
また、障害RG#0が基になっている全ての割り当て済みページからデータのコピーが完了した後、障害RG#0を正常のRG#0に回復することが可能である。例えば、図4に示すように、障害RG#0における障害の検出されたPDEVが交換され(符号499参照)、PDEVの交換後に、RG#0に基づく記憶領域のフォーマットが行われ、その後、RG#0に基づく、プール60に含まれる各実ページが、フリーページ又はリザーブページとされる(つまり、RG#0に基づく実ページは、少なくとも一つのフリーページと少なくとも一つのリザーブページで構成される)。なお、障害RG#0が正常のRG#0に回復した後、戻し処理が行われても良い。戻し処理には、例えば、下記(B1)及び(B2)の処理、
(B1)リビルド処理において別のRG(例えば#1)の実ページ(例えば#16)にコピーされたデータが、回復されたRG#0に基づくいずれかの実ページ(例えば#02)に戻される;
(B2)戻し元の実ページ(例えば#16)に割り当てられている仮想ページ(例えば#00)に、戻し元の実ページ(例えば#16)に代えて戻し先の実ページ(例えば#02)が割り当てられる;
が含まれる。これにより、プール60内の実ページへのアクセスを、より多くのRGに分散させることが期待できる。
以下、本実施形態を詳細に説明する。以下、コンピュータプログラムが主語になる場合は、実際にはそのコンピュータプログラムを実行するCPUによって処理が行われるものとする。
図5は、本発明の一実施形態に係る計算機システムの構成ブロック図である。
ホスト計算機10がFC(Fibre Channel)ネットワーク50及びLAN(Local Area Network)40を介してストレージシステム30に接続されている。また、管理計算機20が、LAN40を介してストレージシステム30に接続されている。FCネットワーク50及び/又はLAN40は、他種の通信ネットワークでも良い。
ホスト計算機10は、ストレージシステム30から提供される論理ボリューム(ターゲットデバイス)にアクセスする計算機である。ホスト計算機10は、情報処理資源として、例えば、入力装置(例えばキーボードやポインティングデバイス)110、出力装置(例えば表示装置)120、CPU130、メモリ140、FC
IF150、LAN IF160及びHDD(ハードディスクドライブ)170を備える。FC IF150は、FCネットワーク50を介して通信するためのインターフェイス装置である。LAN
IF160は、LANを介して通信するためのインターフェイス装置である。
管理計算機20は、ストレージシステム30に関する管理(例えば、プールの設定、論理ボリュームの設定など)を行う計算機である。管理計算機20は、情報処理資源として、例えば、入力装置(例えばキーボードやポインティングデバイス)210、出力装置(例えば表示装置)220、CPU230、メモリ240、LAN
IF250及びHDD260を備える。
ストレージシステム30は、コントローラ31、キャッシュメモリ(CM)32、共有メモリ(SM)33、複数のPDEV34、電源スイッチ(PS
SW)35及び電源(PS)36を備える。
キャッシュメモリ32は、PDEV34に読み書きされるデータを一時的に記憶する。共有メモリ33は、コントローラ31やPDEV34に関する情報を記憶する。
電源36は、ストレージシステム30の各部に電力を供給する。電源スイッチ35は、電源36からの電力の供給をON/OFFするスイッチである。
コントローラ31は、PDEV34へのデータの格納を制御する。コントローラ31は、例えば、FC
IF310、LAN IF320、不揮発性メモリ(NV−メモリ)330、電源制御部(PS CTL)340、メモリ350、CPU360、ストレージIF370及びSM
IF380を備える。
FC IF310は、FCネットワーク50を介してホスト計算機10との間でデータを送受信するためのインターフェイス装置である。LAN
IF320は、LAN40を介してホスト計算機10又は管理計算機20との間でデータを送受信するためのインターフェイス装置である。
不揮発性メモリ330は、例えばフラッシュメモリであり、CPU360で実行されるコンピュータプログラムや、ストレージシステム30に関する構成情報が格納される。
電源制御部340は、電源36から供給される電力を制御する。
メモリ350は、例えば揮発性のメモリ(例えばRAM(Randam Access Memory))であり、不揮発性メモリ330、共有メモリ33及びキャッシュメモリ32のうちの少なくとも一つから読み出したデータ及び/又はコンピュータプログラムを記憶する。
CPU360は、不揮発性メモリ330からコンピュータプログラムをメモリ350に読み込んで、そのプログラムに規定された処理を実行する。
ストレージIF370は、PDEV34及びキャッシュメモリ32との間でデータを送受信するためのインターフェイス装置である。
SM IF380は、共有メモリ33との間でデータを送受信するためのインターフェイス装置である。
図6は、本実施形態に係る計算機ステムにおける記憶領域の階層を示す。以下、下位の階層から順に記憶領域を説明する。
RAIDグループ301がある。RAIDグループ301は、前述した通り、複数のPDEV34で構成されており、それら複数のPDEV34に跨るストライプ列307がある。
EVOL305がある。EVOL305は、外部ボリュームの略であり、図示しない外部のストレージシステム(いわゆる外部接続ストレージシステム)内の記憶資源に基づく論理ボリュームである。その記憶資源は、例えば、RAIDグループ、或いはRAIDグループに基づく論理ボリュームである。EVOL305に対してデータの入出力が行われる場合には、EVOL305の基になっている、外部接続ストレージシステム内の記憶資源に対して、そのデータの入出力が行われる。
VDEV303がある。VDEV303は、RAIDグループ301又はEVOL305に基づく仮想的な記憶資源である。VDEV303の記憶空間が仕切られることにより、VDEV303に、複数のLDEV306が形成される。VDEV303が一つのLDEV306であっても良い。以下、RAIDグループ301が基になっているVDEVを「第一種のVDEV」と言い、EVOL305が基になっているVDEVを「第二種のVDEV」と言うことがある。
プール60がある。プール60は、複数のプールボリュームで構成されている。プールボリューム61は、いずれかのLDEVに関連付けられている。プールボリューム61は、ホスト計算機10から指定されるターゲットデバイスには関連付けられていない。プールボリューム61は、第一種のVDEV内のLDEV又は第二種のVDEV内のLDEVに関連付けられている。プールボリューム61は、複数の実ページ264で構成されている。本実施形態では、実ページ264とストライプ列307とが1対1で対応している。実ページ264に格納されるデータは、その実ページ264に対応するストライプ列307に格納される。以下の説明では、一つのストライプ列307に格納されるデータを「データユニット」と言うことがあり、それ故、一つの実ページに格納されるデータも「データユニット」と言うことがある。なお、実ページ264には、複数のストライプ列307が対応していても良い。
ターゲットデバイスに関連付けられた論理ボリュームがある。その種の論理ボリュームとしては、例えば、実ボリューム(RVOL)311と、仮想ボリューム(VVOL)312とがある。RVOL311は、第一種のVDEV(#0)内のLDEV(#01)が基になっている論理ボリューム、すなわち、実体的な論理ボリュームである。一方、VVOL312は、VDEV303に基づかない論理ボリューム、すなわち、仮想的な論理ボリュームである。一つのプール60が一つのVVOL312に対応付けられており、そのVVOL312の仮想ページには、そのVVOL312に対応付けられているプール60内のフリーページが割り当てられる。
ホスト計算機10は、ターゲットデバイスを指定したI/O要求(ライト要求又はリード要求)をストレージシステム30に送信する。ターゲットデバイスには、前述した通り、RVOL311又はVVOL312が関連付けられている。VVOL312に関連付けられているターゲットデバイスを指定したライト要求が受信された場合、図6に示した記憶領域の階層例によれば、例えば以下の処理が行われる。すなわち、ハッチングで示すように、プール60からフリーページ264が選択され、選択されたフリーページ264が、ライト先仮想ページ(ライト要求から特定される仮想ページ)262に割り当てられ、割り当てられたフリーページ264に、ライト対象のデータユニットが書き込まれる。実ページ264にデータユニットが書き込まれるということは、その実ページ264を有するプールボリューム#0に関連付けられているLDEV#02にデータユニットが書き込まれるということである。LDEV#02は、第一種のVDEV内のLDEVであるため、LDEV#02に書き込まれるデータユニットは、実際には、RAIDグループ307の、上記割り当てられた実ページ264に対応するストライプ列307に書き込まれる。
障害RGに基づく割り当て済みページからリザーブページにデータがコピーされる場合、そのデータは、以下のようにして生成される。すなわち、コピー元の割り当て済みページに対応するストライプ列から、複数のデータ要素が読み出され、それら複数のデータ要素を基に、障害の発生しているPDEVに記憶されているデータ要素が復元され、読み出された複数のデータ要素と復元されたデータ要素とで構成されたデータが、リザーブページにコピーされる。例えば障害RGやコピー先のリザーブページの基になっているRGのRAIDレベルが、パリティが生成されることになるRAIDレベルの場合、コピーされるデータにはパリティが含まれていなくても良い。コピーする場合に再び生成されることになるからである。
図7は、コントローラ31のメモリ350に記憶されるプログラム及び情報を示す。
メモリ350には、例えば、コマンド制御プログラム3501、パス制御プログラム3502、構成制御プログラム3503、I/Oプログラム3505、プール制御プログラム3507、電源制御プログラム3508、キャッシュ制御プログラム3509、PDEV診断プログラム3510、リビルド制御プログラム5001、構成情報351及びプール情報352が格納される。
コマンド制御プログラム3501は、ホスト計算機10又は管理計算機20から受信したコマンドを解釈し、そのコマンドを処理できる他のコンピュータプログラム3503〜3510のいずれかを呼び出す。例えば、上記受信したコマンドがI/Oコマンドの場合、I/Oプログラム3505が呼び出されるし、上記受信したコマンドがプール設定コマンドの場合、プール制御プログラム3507が呼び出される。
パス制御プログラム3502は、管理計算機20からのコマンドに従いホスト計算機10とターゲットデバイスとの間のパスを設定する。
構成制御プログラム3503は、管理計算機20からのコマンドに従い構成情報351を更新する。
I/Oプログラム3505は、ホスト計算機10からのI/Oコマンドに従うライト処理又はリード処理を行う。
プール制御プログラム3507は、プール情報352を設定又は更新する。
電源制御プログラム3508は、電源36のON/OFFを制御する。
キャッシュ制御プログラム3509は、キャッシュメモリ32における記憶領域を制御する。
PDEV診断プログラム3510は、PDEV34の状態を診断する。例えば、いずれかのPDEV34に障害が発生した場合、そのPDEV34の障害は、PDEV診断プログラム3510によって検出される。
リビルド制御プログラム5001は、PDEV34の障害が検出されたことを契機に後述のリビルド処理を行う。
構成情報351は、ストレージシステム30の構成に関する情報である。構成情報351は、例えば、アドレス管理テーブル3511、LDEV管理情報3512、ターゲットデバイス(TD)管理情報3513及びVDEV管理情報3514を含む。アドレス管理テーブル3511は、例えば、ターゲットデバイス/LDEVマッピング情報35111、LDEV/VDEVマッピング情報35112及びLDEV/PDEVマッピング情報35113を含む(これらの情報については後に図10を参照して説明する)。LDEV管理情報3512は、LDEVに関する情報である。ターゲットデバイス管理情報3513は、ターゲットデバイスに関する情報である。VDEV管理情報3514は、VDEVに関する情報である。
プール情報352は、プール60に関する情報である。プール情報352は、例えば、プール管理情報3521、POOL−VOL管理情報3522、VVOL−DIR3523、PSCB(POOL Slot Control Brock)3524及びSYS領域情報3525を含む。プール管理情報3521は、プール60の設定を含む。POOL−VOL管理情報3522は、プールボリュームに関する情報である。VVOL−DIR3523は、プールボリュームに割り当てられているLDEVに関する情報を有する。PSCB3524は、実ページに関する情報であり、実ページ毎に存在する。SYS領域情報3525は、構成情報351やプール情報352等の管理情報が格納されるLDEVに関する情報である。
以下、VDEV管理情報3514、LDEV管理情報3512、アドレス管理テーブル3511、プール管理情報3521及びターゲットデバイス管理情報3513を詳細に説明する。
図8は、VDEV管理情報3514の構成図である。
VDEV管理情報3514は、VDEV毎に用意されるVDEV固有情報35141で構成されている。図8は、或るVDEV(以下、図8の説明において「対象VDEV」と言う)に対応するVDEV固有情報35141を示している。VDEV固有情報35141は、例えば、VDEV#35142、エミュレーションタイプ35143、総サイズ35144、残サイズ35145、デバイス属性35146、デバイス状態35147、設定LDEV数35148、LDEV#35149、先頭LDEV−SLOT#35150及び終了LDEV−SLOT#35151を含む。
VDEV#35142は、対象VDEVの識別子である。
エミュレーションタイプ35143は、対象VDEVのエミュレーションタイプの識別子である。
総サイズ35144は、対象VDEVのサイズ(記憶容量)を表す情報である。
残サイズ35145は、対象VDEVの未使用の記憶空間部分(LDEVが未設定の記憶空間部分)のサイズを表す情報である。
デバイス属性35146は、対象VDEVの属性の識別子である。例えば、対象VDEVが第一種のVDEVである場合には、デバイス属性35146は、第一種のVDEV表す識別子であり、対象VDEVが第二種のVDEVである場合には、第二種のVDEVを表す識別子である。
デバイス状態35147は、対象VDEVの状態を示す識別子である。対象VDEVの状態としては、正常、閉塞及び障害閉塞等がある。閉塞は、障害の発生意外の要因によって閉塞されていることを示す。障害閉塞は、いずれかのPDEV34に障害が発生しておりそのために閉塞されていることを示す。
設定LDEV数35148は、対象VDEVに設定されているLDEVの総数を表す情報である。
LDEV#35149、先頭VDEV−SLOT#35150及び終了VDEV−SLOT#35151のセットは、対象VDEVに設定されているLDEV毎に用意される情報である。以下、或るセットについて、これらの情報を説明する。また、その或るセットに対応するLDEVを、この段落で、「対象LDEV」と言う。LDEV#35149は、対象LDEVの識別子である。先頭VDEV−SLOT#35150は、対象LDEVの物理的な先頭のスロット(記憶領域)の識別子である。終了VDEV−SLOT#35151は、対象LDEVの物理的な最終のスロットの識別子である。スロットは、例えば、図6に示したように、実ページに対応する記憶領域である。例えば、一以上のスロットが、一つの実ページに対応する。
図9は、LDEV管理情報3512の構成図である。
LDEV管理情報3512は、LDEV毎に用意されるLDEV固有情報35121で構成されている。図9は、或るLDEV(以下、図9の説明において「対象LDEV」と言う)に対応するLDEV固有情報35121を示している。
LDEV固有情報35121は、LDEV#35122、エミュレーションタイプ35123、サイズ35124、先頭スロット#35125、終了スロット#35126、パス定義情報35127、デバイス属性35128、デバイス状態35129、プログラム使用情報35130、POOL−ID35131及びRG#35132を有する。
LDEV#35122は、対象LDEVの識別子である。
エミュレーションタイプ35123は、対象LDEVのエミュレーションタイプの識別子である。
サイズ35124は、対象LDEVのサイズ(記憶容量)を表す情報である。
先頭スロット#35125は、対象LDEVの先頭のスロットの識別子である。
終了スロット#35126は、対象LDEVの最終のスロットの識別子である。
パス定義情報35127は、ホスト計算機10に定義されたパスであって、対象LDEVが割り当てられている論理ボリューム(ターゲットデバイス)へのパスの識別子である。
デバイス属性35128は、対象LDEVの属性の識別子である。その識別子(つまり対象LDEVの属性)は、対象LDEVが、第一種及び第二種のVDEVのうちのいずれに割り当てられているかや、プールボリューム61に割り当てられているか否か等によって異なる。
デバイス状態35129は、対象LDEVが属するVDEVの状態を示す識別子である。
プログラム使用状況35130は、対象LDEVが何れかのコンピュータプログラムによって処理中である場合の、そのプログラムの識別子である。
POOL−ID35131は、対象LDEVがプールボリューム61に割り当てられている場合に設定される情報であって、そのプールボリューム61が含まれているプール60の識別子である。
RG#35132は、対象LDEVの基になっているRGの識別子である。
図10は、アドレス管理テーブル3511の説明図である。
アドレス管理テーブル3511は、前述したように、ターゲットデバイス/LDEVマッピング情報35111、LDEV/VDEVマッピング情報35112及びVDEV/PDEVマッピング情報35113を含む。
ターゲットデバイス/LDEVマッピング情報35111には、ターゲットデバイス(論理ボリューム)のアドレスとLDEVのアドレスとの対応が格納される。
LDEV/VDEVマッピング情報35112には、LDEVのアドレスとVDEVのアドレスとの対応が格納される。
VDEV/PDEVマッピング情報35113には、VDEVのアドレスとPDEVのアドレスとの対応が格納される。そのVDEVが第一種のVDEVの場合には、そのVDEVの基になっているRGのRG#も格納される。
I/Oプログラム3505やリビルド制御プログラム5001等の各種プログラムは、このアドレス管理テーブル3511を参照することによって、例えば、ターゲットデバイスのアドレスがどのLDEVのどのアドレスに対応しているか、そのLDEVのアドレスがどのVDEVのどのアドレスに対応しているか、そのVDEVのアドレスがどのRAIDグループのどのアドレスに対応しているかを知ることができる。
図11は、プール管理情報3521の構成図である。
プール管理情報3521は、プール毎に用意されるプール固有情報35211で構成されている。図11は、或るプール(以下、図11の説明において「対象プール」と言う)に対応するプール固有情報35211を示している。
プール固有情報35211は、例えば、POOL−ID35212、属性/用途35213、エミュレーションタイプ35214、容量35215、空き容量35216、閾値35217、状態35218、POOL−VOL数35219、デバイス#リスト35220、デバイス数35221、デバイス#35222、総ページ数35223、フリーページ数35224、割り当て済みページ数35225、リザーブページ数35226、障害RGページ数35227、第一の閾値35228及び第二の閾値35229を有する。
POOL−ID35212は、対象プールの識別子である。
属性/用途35213は、対象プールの属性及び用途を示す識別子である。属性は、PSCB3524の連結の形態である。用途は、例えばスナップショットやSYS領域など、運用形態の用途である。
エミュレーションタイプ35214は、対象プールのエミュレーションタイプの識別子である。
容量35215は、対象プールの総容量を表す情報である。
空き容量35216は、プールの未使用の領域の容量を表す情報である。
閾値35217は、対象プールが許容する最大のデータ格納容量である。
状態35218は、対象プールの現在の状態である。その状態としては、例えば、定義中、拡張中、有効等がある。
POOL−VOL数35219は、対象プールを構成するプールボリュームの総数である。
デバイス#リスト35220は、対象プールを構成する一以上のプールボリュームにそれぞれ割り当てられている一以上のLDEVのLDEV#の一覧である。
デバイス数35221は、対象プール内のプールボリュームのうちの第二種のVDEV内のLDEVが割り当てられているプールボリュームの数を表す情報である。
デバイス#35222は、対象プール内のプールボリュームに割り当てられているLDEVのうちの第二種のVDEV内のLDEVのLDEV#の一覧である。
総ページ数35223は、対象プールを構成する実ページの総数を表す情報である。
フリーページ数35224は、対象プールにおけるフリーページの数を表す情報である。
割り当て済みページ数35225は、対象プールにおける割り当て済みページの数を表す情報である。
リザーブページ数35226は、対象プールにおけるリザーブページの数を表す情報である。
障害ページ数35227は、対象プールにおける障害ページの数を表す情報である。障害ページとは、障害RGに基づく実ページである。
第一の閾値35228は、対象プールに十分な未使用の記憶容量が残っているか否かの判断に使用される閾値である。具体的には、例えば、{(割り当て済みページの総記憶容量)/(対象プールの総サイズ)}×100(%)の値が第一の閾値35228を超えていれば、対象プールに十分な未使用の記憶容量が残っていないと判断される。
第二の閾値35229は、対象プールにコピー先となれる実ページが不足しているか否かの判断に使用される閾値である。具体的には、例えば、{(障害RG以外のRGが基になっている割り当て済みページの総量)/(障害RG以外のRGが基になっている、コピー先となれる未割当てページの総量)}×100(%)の値が第二の閾値35229を超えていれば、対象プールにコピー先となれる未割当てページ(実ページ)が不足していると判断される。第二の閾値35229及び前述の第一の閾値35228の少なくとも一方は、管理計算機20から管理者によって設定されて良い。
図12は、ターゲットデバイス管理情報3513の構成図である。
ターゲットデバイス管理情報3513は、ターゲットデバイス毎に用意されるターゲットデバイス固有情報35131で構成されている。図12は、或るターゲットデバイス(以下、図12の説明において「対象TD」と言う)に対応するターゲットデバイス固有情報35131を示している。
ターゲットデバイス固有情報35131は、例えば、ポート#35132、ターゲットデバイス#35133、LDEV数35134、LDEV#35135、属性35136、状態35137、容量35138及び許可ホスト情報35139を有する。
ポート#35132は、対象TDが関連付けられているポート(FC
IF310が有するポート)の識別子である。
ターゲットデバイス番号35133は、対象TDの識別子である。
LDEV数35134は、対象TD(論理ボリューム)に割り当てられているLDEVの数を表す情報である。
LDEV番号35135は、対象TD(論理ボリューム)に割り当てられているLDEVのLDEV#の一覧である。
属性35136は、対象TDの属性を示す識別子である。その識別子(つまり対象TDの属性)は、対象TDがRVOLであるかVVOLであるか等によって異なる。
状態35137は、対象TDに対応するVDEVの状態を示す識別子である。
容量35138は、対象TDの容量(ホスト計算機10に認識される容量)である。
許可ホスト情報35139は、対象TDへのアクセスを許可されているホスト計算機10の識別子である。
図13は、VVOL−DIR3523及びPSCB3524の説明図である。
VVOL−DIR3523は、VVOL312を構成する各仮想ページ262に関する情報である。具体的には、VVOL−DIR3523は、仮想ページ262毎に、エントリ35232を有する。エントリ35232は、そのエントリ35232に対応する仮想ページのアドレスを表す情報(アドレス)35233と、その仮想ページに割り当てられている実ページに対応するPSCB3524へのポインタ(ポインタ)35234とを含む。
各PSCB3524は、プール60を構成する実ページ264に関する情報である。具体的には、例えば、PSCB3524は、そのPSCB3524に対応する実ページの識別子(実ページ#)35242と、その実ページのプール60における場所を表す情報(アドレス)35243と、そのPSCB3524の直前にあるPSCB3524へのポインタ(ポインタA)35244と、そのPSCB3524の直後にあるPSCB3524へのポインタ(ポインタB)35245とを有する。PSCB3524は、キューで管理されている。PSCB3524が先頭であれば(そのPSCB3524の直前に別のPSCB3524が繋がっていなければ)、ポインタA35244の値は無効値となり、PSCB3524が最後尾であれば(そのPSCB3524の直後に別のPSCB3524が繋がっていなければ)、ポインタB35245の値は無効値となる。
或る仮想ページ262にアクセス(ライト又はリード)が発生した場合、その仮想ページ262に対応したエントリ35232内のPSCBポインタ35234から、その仮想ページ262に割り当てられている実ページ264を特定することができる。そして、その実ページ264のプール60における場所は、その実ページ264に対応したPSCB3524から特定することができる。
図14は、ストレージシステム30で管理されるキューの種類を示す。
フリーキュー1401F、リザーブキュー1401R、割り当て済みキュー1401A、障害キュー1401D及び未使用キュー1401Uがある。各種キュー1401F、1401R、1401A、1401D及び1401Uは、RAIDグループ毎に用意される。各種キュー1401F、1401R、1401A、1401D及び1401Uは、PSCB3524の列である。具体的には、フリーキュー1401Fは、フリーページに対応したPSCB3524の列である。リザーブキュー1401Rは、リザーブページに対応したPSCB3524の列である。割り当て済みキュー1401Aは、割り当て済みページに対応したPSCB3524の列である。障害キュー1401Dは、障害ページに対応したPSCB3524の列である。未使用キュー1401Uは、フリーページ、リザーブページ、割り当て済みページ及び障害ページのいずれでもない実ページに対応したPSCB3524の列である。
I/Oプログラム3505は、例えば、ライト先仮想ページにフリーページを割り当てる場合、そのフリーページに対応したPSCB3524を、そのフリーページの基になっているRGに対応したフリーキュー1401Fから外し、そのRGに対応した割り当て済みキュー1401Aの最後尾に繋げる。
また、例えば、PDEV診断プログラム3510は、或るPDEV34の障害を検出した場合、障害が検出されたPDEV34を有するRG(障害RG)を縮退状態にする。具体的には、例えば、PDEV診断プログラム3510は、RG毎の状態等が記録されているテーブル(図示せず)における、障害RGに対応した状態を、縮退状態に更新する。
リビルド制御プログラム5001は、障害RGが縮退状態になったことを検出した場合、リビルド処理において、以下の処理(Q1)乃至(Q5)、
(Q1)障害RGに対応したフリーキュー1401F及びリザーブキュー1401Rの状態を、障害状態に更新する;
(Q2)障害RGに対応した割り当て済みキュー1401Aを、障害RGに対応した障害キューに移動し、且つ、障害RGに対応したフリーキュー1401Fを、障害RGに対応した障害キューに移動する(この(Q2)は行われなくても良い);
(Q3)障害RGが基になっている複数の割り当て済みページ内のデータを、縮退状態ではない複数の別のRGが基になっているリザーブページに、均等に振り分ける(つまり、別のRG毎のコピー先のリザーブページの数は同じである);
(Q4)各リザーブキューに接続されているPSCB3524のうち、コピー先となったリザーブページに対応するPSCB3524を、各リザーブキューに対応するRGに対応する割当て済みキューに移動する;
(Q5)障害RGに対応した障害キューにある全てのPSCB3524を未使用キュー1401Uに移動する;
を行う。或るRGが基になっている全ての実ページに対応したPSCB3524が未使用キュー1401Uにあれば、その或るRGをストレージシステム30から減設することが可能である。
以上の、キュー間のPSCB3524の移動に伴い、プール60に対応したプール固有情報35211における情報35224、35225、35226及び35227が適時に更新される。
ところで、本実施形態では、図15に示すように、実ページが割り当てられていない全ての仮想ページ(以下、未割当て仮想ページ)に、一つのデフォルトページが割り当てられている。このため、VVOLのいずれの仮想ページに一度もライトが発生してない場合には、全ての仮想ページにデフォルトページが割り当てられていることになる。いずれかの仮想ページにライトが発生すると、その仮想ページには、デフォルトページに代えて、いずれかのフリーページが割り当てられる(つまり、仮想ページに対するデフォルトページの割り当てが解除される)。
デフォルトページは、例えば、ゼロを表すビットで構成されたデータ(以下、ゼロデータ)が予め記録されている実ページである。このため、いずれかの未割当て仮想ページをリード元とするリード要求をホスト計算機10から受信した場合、I/Oプログラム3505は、リード元の未割当ての仮想ページに対応したデフォルトページからゼロデータを読み出し、読み出したゼロデータをホスト計算機10に送信する。
デフォルトページは、RG毎に一つ用意されていても良い。全ての未割当て仮想ページに割り当てられているデフォルトページの基になっているRGが縮退状態になった場合、それら全ての未割当て仮想ページには、そのデフォルトページに代えて、縮退状態になっていないRGが基になっているデフォルトページが割り当てられても良い。
デフォルトページは、プール毎に一つ用意されていても良い。デフォルトページの基になっているRGが縮退状態になってリビルド処理が行われた場合、デフォルトページのコピー先のリザーブページがデフォルトページとされても良い。つまり、そのコピー先のリザーブページが、全ての未割当て仮想ページに割り当てられても良い。
以下、本実施形態で行われる種々の処理を説明する。
図16は、ライト処理の流れを示す。なお、図16を参照した説明では、ライト先仮想ページを有するVVOLを「ライト先VVOL」と言う。
I/Oプログラム3505は、ライト要求を受けた場合、そのライト要求に従うデータをキャッシュメモリ32に一時書込む。そして、I/Oプログラム3505は、ライト要求を基に特定されるライト先仮想ページに割り当てられている実ページが、デフォルトページか否かの判断を行う(S1601)。この判断は、例えば、その実ページに対応したPSCB3524における実ページ#35242又はアドレス35243を基に行うことができる。
S1601の判断の結果が否定的の場合(S1601:NO)、I/Oプログラム3505は、ライト先仮想ページに割り当てられている割り当て済みページにデータを書き込む(S1614)。
S1601の判断の結果が肯定的の場合(S1601:YES)、I/Oプログラム3505は、プール60にフリーページがあるか否かの判断を行う(S1602)。この判断は、例えば、ライト先VVOLに対応したプールのプール固有情報35211を基に、、或いは、フリーキューにPSCBがあるか否かを基に、行うことができる。
S1602の判断の結果が否定的の場合(S1602:NO)、I/Oプログラム3505は、ホスト計算機10及び/又は管理計算機20に、警告を出す(S1611)。そして、I/Oプログラム3505は、リザーブページをフリーページとして使用可能か否かの判断を行う(S1612)。この判断は、例えば、リザーブページに対応したPSCBに、フリーページとして使用することが可能であることを意味する情報が含まれているか否かを基に、行うことができる。S1612の判断の結果が否定的の場合(S1612:NO)、処理が終了し、S1612の判断の結果が肯定的の場合(S1614:YES)、I/Oプログラム3505は、いずれかのリザーブページを選択する(S1613)。
一方、S1602の判断の結果が肯定的の場合(S1602:YES)、I/Oプログラム3505は、いずれかのフリーページを選択する(S1603)。そして、I/Oプログラム3505は、フリーページが僅少か否かの判断を行う(S1604)。この判断は、例えば、{(割り当て済みページの総記憶容量)/(ライト先VVOLに対応したプールの総サイズ)}×100(%)の値が、ライト先VVOLに対応したプールについての第一の閾値35228を超えているか否かを基に、行うことができる。S1604の判断の結果が肯定的の場合(S1604:YES)、I/Oプログラム3505は、ホスト計算機10及び/又は管理計算機20に、警告を出す(S1605)。
S1604:NO、S1605或いはS1613の後、I/Oプログラム3505は、S1603又はS1613で選択された実ページをライト先仮想ページに割り当てる(S1606)。I/Oプログラム3505は、割り当てた実ページに、キャッシュメモリ32に記憶されているライト対象のデータユニットを書き込む。I/Oプログラム3505は、その割り当てた実ページに対応したPSCBを、その実ページの基になっているRGに対応した割り当て済みキューに移動する(S1608)。
図17は、リード処理の流れを示す。
I/Oプログラム3505は、リード要求を受けた場合、CMヒットしたか否か、すなわち、リード対象のデータがキャッシュメモリ32に存在するか否かの判断を行う(S1701)。
S1701の判断の結果が肯定的の場合(S1701:YES)、I/Oプログラム3505は、キャッシュメモリ32からデータを読み出し(S1706)、そのデータをホスト計算機10に送信する(S1707)。
S1701の判断の結果が否定的の場合(S1701:NO)、I/Oプログラム3505は、リード要求から特定されるリード元仮想ページに割り当てられている実ページが、デフォルトページか否かの判断を行う(S1702)。
S1702の判断の結果が肯定的の場合(S1702:YES)、I/Oプログラム3505は、リード元仮想ページに割り当てられている割り当て済みページからデータを読み出す(S1703)。
S1702の判断の結果が否定的の場合(S1702:NO)、I/Oプログラム3505は、リード元仮想ページに割り当てられているデフォルトページからデータを読み出す(S1704)。
I/Oプログラム3505は、S1703又はS1704で読み出されたデータをキャッシュメモリ32に書き込む(S1705)。
その後、I/Oプログラム3505は、S1705で書込んだデータをキャッシュメモリ32から読み出し(S1706)、そのデータをホスト計算機10に送信する(S1707)。
図18は、障害対処処理の流れを示す。
或るPDEVの障害が検出された場合(S1800:YES)、リビルド制御プログラム5001が、そのPDEVを有する障害RGの状態を縮退状態に変更する(S1801)。そして、リビルド制御プログラム5001は、その障害RGが、プール60に定義済みのRGであるか否かの判断を行う(S1802)。この判断は、例えば、各RGに関する情報が記述されているテーブル(図示せず)を基に、行うことができる。
S1802の判断の結果が否定的の場合(S1802:NO)、リビルド制御プログラム5001は、その障害RGについて、コレクションコピーを行う(S1814)。具体的には、例えば、図1Bを参照して説明したように、リビルド制御プログラム5001は、障害が検出されたPDEV内のデータを、障害RGにおける他のPDEV内のデータを基に復元し、復元したデータを、スペアのPDEVに書き込む。スペアのPDEVがRGのメンバーのPDEVとすることで、障害RGが回復されても良い。
一方、S1802の判断の結果が肯定的の場合(S1802:YES)、リビルド制御プログラム5001は、障害RGの状態を、縮退状態から障害状態へ変更する(S1803)。そして、リビルド制御プログラム5001は、障害RGに対応した割り当て済みキュー1401Aを、障害RGに対応した障害キューに移動し、且つ、障害RGに対応したフリーキュー1401Fを、障害RGに対応した障害キューに移動する(S1804)。
リビルド制御プログラム5001は、条件Aが満たされているか否かの判断を行う(S1805)。条件Aは、「障害RG以外の全ての別のRGが基になっている複数の実ページに、障害RGが基になっている割り当て済みページの数以上のリザーブページが含まれていること」である。例えば、障害RGに対応した障害キューにおける、割り当て済みページに対応したPSCBの数以上に、障害RG以外の全ての別のRG(同じプールの基になっているRG)に対応したフリーキューにPSCBがあれば、S1805の判断の結果は肯定的となる。
S1805の判断の結果が肯定的であれば(S1805:YES)、S1809乃至S1813で構成されるリビルド処理が行われる。
一方、S1805の判断の結果が否定的であれば(S1805:NO)、S1806の判断、すなわち、条件Bが満たされているか否かの判断が行われる(S1806)。条件Bは、「障害RG以外の全ての別のRGが基になっている複数の実ページに、障害RGが基になっている割り当て済みページの数以上の、リビルド処理においてコピー先となることが可能な未割当てページが含まれている」ことである。例えば、{(障害RG以外のRGが基になっている割り当て済みページの総量)/(障害RG以外のRGが基になっている、コピー先となれる未割当てページの総量)}×100(%)の値が、障害RGに関わるプールに対応した第二の閾値35229を超えていれば、S1806の判断の結果は否定的となる。なお、上記計算を行うことに代えて、障害RG以外の全ての別のRG(同じプールの基になっているRG)に対応したフリーキューやリザーブキューにおけるPSCBの数が、障害RGに対応した障害キューにおける、割り当て済みページに対応したPSCBの数未満であれば、S1806の判断の結果は否定的とされても良い。
S1806の判断の結果が肯定的であれば(S1806:YES)、S1809乃至S1813で構成されるリビルド処理が行われる。
一方、S1806の判断の結果が否定的であれば(S1806:NO)、リビルド制御プログラム5001は、プール60の容量を拡張可能か否かの判断を行う(S1807)。この判断は、例えば、RGの増設が可能か否か等を基に、行うことができる。S1807の判断の結果が肯定的であれば(S1807:YES)、管理計算機20からの指示に従ってプール60にプールVOLが追加された後に(S1808)、再びS1806の判断が行われる。S1807の判断の結果が否定的であれば(S1807:NO)、障害RGについてコレクションコピーが行われる(S1814)。
リビルド処理では、S1809のコピー元決定処理と、S1810のコピー先決定処理と、S1811のコピーと、S1812のキュー更新とが、障害RGに基づく全ての割り当て済みページについて行われる(S1813)。
S1809のコピー元決定処理では、コピー元の記憶領域が決定される。
S1810のコピー先決定処理では、コピー先の実ページが決定される。
S1811のコピーでは、S1809で決定されたコピー元記憶領域に記憶されているデータが、S1810で決定されたコピー先実ページにコピーされる。具体的には、例えば、リビルド制御プログラム5001は、コピー元記憶領域からデータを読み出してキャッシュメモリ32に書込み、そのデータを、キャッシュメモリ32から読み出してコピー先実ページに書き込む。キャッシュメモリ32に書き込まれたデータは、リビルド制御プログラム5001によってキャッシュメモリ32上で複製され、複製されたデータが、コピー先実ページに書き込まれても良い。
S1812のキュー更新では、リビルド制御プログラム5001は、以下の処理(1812−1)及び(1812−2)、
(1812−1)コピー先実ページに対応したPSCBを、その実ページの基になっているRGに対応したリザーブキュー(又はフリーキュー)から、そのRGに対応した割り当て済みキューに移動する;
(1812−2)コピー元記憶領域に対応した仮想ページについてのエントリ35232(図13参照)におけるポインタ35234を、障害RGに基づく割り当て済みページに対応するPSCBを表す情報から、コピー先の実ページに対応するPSCBを表す情報に変更する;
を行う。
リビルド制御プログラム5001は、障害RGに基づく実ページが割り当てられている全ての仮想ページについて、S1809乃至S1811を行ったか否かを判断する(S1813)。その判断の結果が否定的であればS1809が再度行われ(S1813:NO)、その判断の結果が肯定的であれば(S1813:YES)、この障害対処処理が終了する。
なお、図18の例では、障害RGに基づく実ページが割り当てられている仮想ページ毎に、S1809乃至S1812がループするが、それに代えて、障害RGに基づく実ページが割り当てられている全ての仮想ページについて、S1809及びS1810が行われ、その後で、全てのコピー元記憶領域から全てのコピー先実ページに一斉にS1811のコピーが行われても良い。
図19は、コピー元決定処理の流れを示す。
リビルド制御プログラム5001は、障害RGに基づく割り当て済みページのうち、未だこの処理で選択されていないいずれかの割り当て済みページを選択する(S1901)。
次に、リビルド制御プログラム5001は、VVOLとボリュームペアを構成するセカンダリボリュームがあるか否かの判断を行う(S1902)。この判断は、例えば、どの論理ボリュームとどの論理ボリュームとでボリュームペアが構成されているか等に関する情報が記述されているテーブル(図示せず)を基に、行うことができる。なお、セカンダリボリュームとは、コピー先の論理ボリュームである。セカンダリボリュームは、VVOLを構成する複数の仮想ページにそれぞれ対応する複数の記憶領域(以下、「セカンダリページ」と言う)を有する。セカンダリページと仮想ページは例えば1対1で対応する。セカンダリボリュームの記憶容量は、VVOLの記憶容量以上である。
S1902の判断の結果が肯定的の場合(S1902:YES)、リビルド制御プログラム5001は、セカンダリボリュームは縮退状態か否かを判断する(S1903)。この判断は、例えば、各論理ボリュームに関する情報が記述されているテーブル(図示せず)を基に、行うことができる。例えば、いずれかのRGの状態が縮退状態の場合、そのRGが基になっている論理ボリュームの状態が縮退状態とされる。
S1903の判断の結果が否定的の場合(S1903:NO)、リビルド制御プログラム5001は、セカンダリボリュームにかかっている負荷が高負荷か否かを判断する(S1904)。この判断は、例えば、各論理ボリュームに関する情報が記述されているテーブル(図示せず)を基に、行うことができる。例えば、そのテーブルに記述されている、セカンダリボリュームのI/O頻度(所定時間当たりのI/O回数)が、或るI/O頻度閾値を超えていれば、高負荷と判断される。
S1904の判断の結果が否定的の場合(S1904:NO)、リビルド制御プログラム5001は、コピー元記憶領域を、S1901で選択された割り当て済みページが割り当てられている仮想ページに対応するセカンダリページに決定する(S1905)。すなわち、VVOLとペアを構成するセカンダリボリュームがあり、そのセカンダリボリュームが縮退状態ではなく且つ高負荷でない場合に、S1901で選択された割り当て済みページが割り当てられている仮想ページに対応するセカンダリページが、コピー元記憶領域となる。
一方、S1902の判断の結果が否定的の場合(S1902:NO)、S1903の判断の結果が肯定的の場合(S1903:YES)、又は、S1904の判断の結果が肯定的の場合(S1904:YES)、リビルド制御プログラム5001は、コピー元記憶領域を、S1901で選択された割り当て済みページに決定する(S1906)。すなわち、VVOLとペアを構成するセカンダリボリュームが無い、セカンダリボリュームがあってもそのセカンダリボリュームは縮退状態ではない又はそのセカンダリボリュームは高負荷である場合に、S1901で選択された割り当て済みページが、コピー元記憶領域となる。
図20は、コピー先決定処理の流れを示す。
リビルド制御プログラム5001は、障害RG以外のRGに基づく未割当てページを選択する(S2001)。ここで選択される未割当てページは、原則、リザーブページであり、もしリザーブページが無ければ、コピー先の実ページとすることが可能なフリーページ(例えば、コピー先となることが可能なことを意味するフラグが含んだPSCBに対応するフリーページ)である。また、その選択される未割当てページは、原則、直前のコピー先決定処理で決定したページの基になっているRGとは異なるRGに基づくページである。コピー先を一つのRGに集中させないためである。未割当てページは、VVOLに対応するプール内から選択される。
リビルド制御プログラム5001は、S2001で選択した未割当てページの基になっているRGは正常か否かを判断する(S2002)。
S2002の判断の結果が否定的の場合(S2002:NO)、リビルド制御プログラム5001は、S2001で選択した未割当てページの基になっているRGとは別のRGが基になっている未割当てページを選択する(S2003)。その後、再び、S2002の判断が行われる。
S2002の判断の結果が肯定的の場合(S2002:YES)、リビルド制御プログラム5001は、S2001(又はS2003)で選択した未割当てページをコピー先の実ページとして決定する(S2004)。
以上のようにしてコピー元記憶領域及びコピー先実ページが決定された後、コピーが行われる。
例えば、図21に示すように、セカンダリボリュームがVVOL(以下、S−VVOL)であり、そのVVOLとペアを構成するプライマリのVVOL(以下、P−VVOL)内の仮想ページ#00及び#03についてのコピー元記憶領域がセカンダリページ(仮想ページ)#10及び#13の場合、以下のようなコピーが行われる。すなわち、S−VVOLに対応した、P−VVOLに対応したプール#0とは別のプール#1から、セカンダリページ#10及び#13に割り当てられている割り当て済みページ#52及び#45が特定され、特定された割り当て済みページ#52及び#45から、P−VVOLに対応したプール#0内のリザーブページ(コピー先実ページ)#16及び#17に、データがコピーされる。
また、例えば、図22に示すように、セカンダリボリュームがRVOL(以下、S−RVOL)であり、そのRVOLとペアを構成するプライマリのVVOL(以下、P−VVOL)内の仮想ページ#02及び#03についてのコピー元記憶領域がセカンダリページ#22及び#23の場合、以下のようなコピーが行われる。すなわち、セカンダリページ#22及び#23から、P−VVOLに対応したプール内のリザーブページ(コピー先実ページ)#17及び#16に、データがコピーされる。
図21及び図22によれば、セカンダリボリュームとP−VVOLに割り当て済みの実ページとから並行してデータが読み出され、それぞれ読み出されたデータがコピー先の未割当てページにコピーされる。コピー先の未割当てページは、P−VVOLに対応したプール内のリザーブページであり(フリーページであっても良い)、障害RGとは別のRGに基づく実ページである。
また、図20を参照して説明したコピー元決定処理によれば、コピー先の未割当てページは、一つのRGに基づく二以上の実ページから選択されるのではなく、障害RG以外の複数のRGに基づく複数の実ページ群から均等に選択される。
以上、本発明の好適な実施形態を説明したが、本発明は、この実施形態に限定されるものでなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
例えば、リビルド制御プログラム5001は、リビルド処理によって減ったリザーブページの数に基づく数の、障害RGとは別の一以上のRGに基づくフリーページを、リザーブページに変更しても良い。例えば、リザーブページが減る都度に、いずれかのフリーページがリザーブページとされても良い。或いは、幾つのフリーページをリザーブページに変更するかは、障害RG以外のRGに基づく、プール内のフリーページの数に応じて決定されて良い。
或いは、例えば、前述した通り、リビルド制御プログラム5001は、リビルド処理の完了後に、戻し処理を行っても良い。すなわち、リビルド制御プログラム5001は、コピーされたデータを、コピー先の実ページ(戻し元の実ページ)から、回復したRGに基づくいずれかの未割当ての実ページ(戻し先の実ページ)に戻すことと、戻し元の実ページに割り当てられている仮想ページに、戻し先の実ページを割り当てることを行っても良い。

Claims (13)

  1. 複数のRAIDグループ(301)に基づく複数の実ページ(264)で構成されている記憶領域群であるプール(60)と、
    仮想ボリューム(312)を構成する複数の仮想ページ(312)のうちのライト先仮想ページに、前記複数の実ページのうちのいずれかの未割当ての実ページを割り当てることと、前記ライト先仮想ページに割り当てられる未割当ての実ページに、ライト対象のデータを書き込むこととを含んだライト処理を行うI/O部(3505)と、
    特定のRAIDグループが基になっている全ての実ページのうちの全ての割当て済みの実ページに記憶されているデータを、それぞれ、前記特定のRAIDグループとは別の一以上のRAIDグループが基になっている未割当ての実ページにコピーすることと、各コピー元の前記割り当て済みの実ページが割り当てられている各仮想ページに各コピー元の割り当て済みの実ページに代えて各コピー先の実ページを割り当てることとを含んだリビルド処理を行うリビルド制御部(5001)と
    を備え、
    各RAIDグループは、複数の物理記憶装置(34)で構成されており、任意のRAIDレベルに基づいてデータを記憶する記憶装置グループであり、
    各実ページは、物理的な記憶領域であり、
    各仮想ページは、仮想的な記憶領域であ
    前記複数の実ページのうちの各々の未割当の実ページは、前記I/O部により何れかの仮想ページに割当てられることにより、割当済みの実ページに変わり、
    前記特定のRAIDグループは、障害の生じた物理記憶装置を有するRAIDグループであり、
    前記リビルド制御部は、何れかの物理記憶装置に障害が生じた場合に、前記障害が生じた物理記憶装置を有する前記特定のRAIDグループが所定の条件に合致するかを判断し、前記所定の条件に合致する場合は前記リビルド処理を行い、前記所定の条件に合致しない場合は前記特定のRAIDグループについてコレクションコピーを行い、前記リビルド処理を行う場合、前記特定のRAIDグループが基になっている各々の前記割当て済みの実ページに記憶されているデータを構成するデータ要素のうち、前記特定のRAIDグループを構成する前記複数の物理記憶装置のうちの前記障害の生じた物理記憶装置以外の物理記憶装置に記憶されている複数のデータ要素を読み出し、前記読み出した複数のデータ要素を基に前記障害が生じた物理記憶装置に記憶されているデータ要素を復元し、前記読み出した複数のデータ要素と前記復元したデータ要素とで構成されるデータを前記未割当ての実ページにコピーする、
    ストレージシステム。
  2. 前記仮想ボリュームとボリュームペアを構成するセカンダリボリュームを更に備え、
    前記セカンダリボリュームは、前記複数の仮想ページにそれぞれ対応する複数のセカンダリページから構成され、各セカンダリページは、記憶領域であり、
    前記ライト処理において前記ライト先仮想ページに割り当てられる未割当ての実ページは、フリーページであり、
    前記リビルド処理でのコピー先の未割当ての実ページは、リザーブページであり、前記リザーブページは、いずれの仮想ページにも割り当てられていないがフリーページではない実ページであって、前記ライト処理において前記ライト先仮想ページに割り当てられることの無い未割当ての実ページであり、
    各RAIDグループに基づく複数のサブ記憶領域列(307)があり、
    一つのRAIDグループにおいて、各サブ記憶領域列は、そのRAIDグループを構成する複数の物理記憶装置に跨り、それら複数の物理記憶装置のそれぞれが有するサブ記憶領域で構成されており、
    一つの実ページが、一以上のサブ記憶領域列に対応しており、故に、その実ページに書き込まれるデータは、その実ページに対応する一以上のサブ記憶領域列に書き込まれることになり、
    各RAIDグループに基づく各二以上の実ページには、少なくとも一つのリザーブページが設けられており、
    どのRAIDグループが前記特定のRAIDグループとなり且つその特定のRAIDグループに基づく全ての実ページのうちリザーブページ以外の全ての実ページが割り当て済み実ページであっても、その割り当て済み実ページの数以上の数のリザーブページが、その特定のRAIDグループ以外の一以上の別のRAIDグループに基づく二以上の実ページに含まれており、
    前記リビルド制御部は、前記セカンダリボリュームが縮退状態でなく且つ高負荷でなければ、前記リビルド処理において、前記特定のRAIDグループに基づく或る割り当て済みの実ページからではなく、前記或る割り当て済みの実ページが割り当てられている仮想ページに対応するセカンダリページからデータを読み出し、読み出したデータを、コピー先のリザーブページにコピーし、一方、前記セカンダリボリュームが縮退状態または高負荷でれば、前記或る割り当て済みの実ページからデータを読み出し、読み出したデータを、コピー先のリザーブページにコピーし、それ故、前記リビルド処理では、前記特定のRAIDグループに基づくいずれかの割り当て済みの実ページからデータが読み出されることと、いずれかのセカンダリページからデータが読み出されることとが並行して行われることがあ
    求項1記載のストレージシステム。
  3. コピー先とされるリザーブページの数が、前記別のRAIDグループ毎に均等である、
    請求項2記載のストレージシステム。
  4. 前記リビルド制御部は、前記リビルド処理を行う前に、前記特定のRAIDグループとは別の一以上のRAIDグループが基になっている複数の実ページに、前記特定のRAIDグループが基になっている割り当て済みの実ページの総量以上のリザーブページが含まれているか否かの第一の判断を行い、前記第一の判断の結果が否定的であれば、前記特定のRAIDグループとは別の一以上のRAIDグループが基になっている複数の実ページに、前記特定のRAIDグループが基になっている割り当て済みの実ページの総量以上の、前記リビルド処理でのコピー先となることが可能なフリーページが含まれているか否かの第二の判断を行い、前記第二の判断の結果も否定的であれば、前記リビルド処理に代えて、前記特定のRAIDグループについてコレクションコピーを行い、一方、前記第一の判断の結果又は前記第二の判断の結果が肯定的であれば、前記リビルド処理を行う、
    請求項記載のストレージシステム。
  5. 前記ライト処理において前記ライト先仮想ページに割り当てられる未割当ての実ページは、フリーページであり、
    前記リビルド処理でのコピー先の未割当ての実ページは、リザーブページであり、前記リザーブページは、いずれの仮想ページにも割り当てられていないがフリーページではない実ページであって、前記ライト処理において前記ライト先仮想ページに割り当てられることの無い未割当ての実ページであり、
    各RAIDグループに基づく各二以上の実ページには、少なくとも一つのリザーブページが設けられており、
    各RAIDグループに基づく複数のサブ記憶領域列(307)があり、
    一つのRAIDグループにおいて、各サブ記憶領域列は、そのRAIDグループを構成する複数の物理記憶装置に跨り、それら複数の物理記憶装置のそれぞれが有するサブ記憶領域で構成されており、
    一つの実ページが、一以上のサブ記憶領域列に対応しており、故に、その実ページに書き込まれるデータは、その実ページに対応する一以上のサブ記憶領域列に書き込まれることになり、前記書き込まれるデータを構成するデータ要素が、前記一以上のサブ記憶領域列の各々を構成するサブ記憶領域に書き込まれる、
    請求項1記載のストレージシステム。
  6. どのRAIDグループが前記特定のRAIDグループとなり且つその特定のRAIDグループに基づく全ての実ページのうちリザーブページ以外の全ての実ページが割り当て済み実ページであっても、その割り当て済み実ページの数以上の数のリザーブページが、その特定のRAIDグループ以外の一以上のRAIDグループに基づく二以上の実ページに含まれている、
    請求項1又は5記載のストレージシステム。
  7. キューが管理される記憶資源を備え、
    前記記憶資源では、少なくとも3種類のキューが管理され、
    前記少なくとも3種類のキューは、フリーキュー、リザーブキュー、割り当て済みキューを含み、
    前記フリーキューは、フリーページに関する情報要素のキューであり、
    前記リザーブキューは、リザーブページに関する情報要素のキューであり、
    前記割り当て済みキューは、割り当て済みページに関する情報要素のキューであり、
    前記少なくとも3種類のキューが、RAIDグループ毎に管理されている、
    請求項5又は6記載のストレージシステム。
  8. 前記仮想ボリュームとボリュームペアを構成するセカンダリボリュームを更に備え、
    前記セカンダリボリュームは、前記複数の仮想ページにそれぞれ対応する複数のセカンダリページから構成され、各セカンダリページは、記憶領域であり、
    前記リビルド制御部は、前記セカンダリボリュームが所定の状態でなければ、前記リビルド処理において、前記特定のRAIDグループに基づく或る割り当て済みの実ページからではなく、前記或る割り当て済みの実ページが割り当てられている仮想ページに対応するセカンダリページからデータを読み出し、読み出したデータを、コピー先の未割当ての実ページにコピーし、一方、前記セカンダリボリュームが所定の状態であれば、前記或る割り当て済みの実ページからデータを読み出し、読み出したデータを、コピー先の未割当ての実ページにコピーし、それ故、前記リビルド処理では、前記特定のRAIDグループに基づくいずれかの割り当て済みの実ページからデータが読み出されることと、いずれかのセカンダリページからデータが読み出されることとが並行して行われることがある、
    請求項1、5乃至7のうちのいずれか1項に記載のストレージシステム。
  9. 前記セカンダリボリュームは、前記プール内の実ページの基になっていないRAIDグループに基づく論理ボリュームである、
    請求項8記載のストレージシステム。
  10. 前記所定の状態とは縮退状態または高負荷であり、
    前記リビルド制御部は、前記セカンダリボリュームが高負荷又は縮退状態であれば、前記リビルド処理において、前記或る割り当て済みの実ページからデータを読み出す、
    請求項8又は9に記載のストレージシステム。
  11. コピー先とされる未割当ての実ページの数が、前記別のRAIDグループ毎に均等である、
    請求項1、5乃至10のうちのいずれか1項に記載のストレージシステム。
  12. 前記リビルド制御部が、前記リビルド処理によって減ったリザーブページの数に基づく数の、前記特定のRAIDグループとは別の一以上のRAIDグループにおける未割当ての実ページを、リザーブページに変更する、
    請求項2乃至7のうちのいずれか1項に記載のストレージシステム。
  13. 前記特定のRAIDグループが回復した場合、前記リビルド制御部が、前記リビルド処理においてコピーされたデータを前記特定のRAIDグループに基づくいずれかの未割当ての実ページに戻すことと、戻し元の実ページに割り当てられている仮想ページに戻し元の実ページに代えて戻し先の実ページを割り当てることとを含んだ戻し処理を行う、
    請求項1乃至12のうちのいずれか1項に記載のストレージシステム。
JP2011514951A 2009-02-26 2009-02-26 Raidグループを備えたストレージシステム Expired - Fee Related JP5199465B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2009/000841 WO2010097832A1 (en) 2009-02-26 2009-02-26 Storage system comprising raid group

Publications (2)

Publication Number Publication Date
JP2012504794A JP2012504794A (ja) 2012-02-23
JP5199465B2 true JP5199465B2 (ja) 2013-05-15

Family

ID=41572369

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011514951A Expired - Fee Related JP5199465B2 (ja) 2009-02-26 2009-02-26 Raidグループを備えたストレージシステム

Country Status (5)

Country Link
US (1) US8812779B2 (ja)
EP (1) EP2401679A1 (ja)
JP (1) JP5199465B2 (ja)
CN (1) CN102209957B (ja)
WO (1) WO2010097832A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8639903B2 (en) 2010-05-13 2014-01-28 Micron Technology, Inc. Staggered programming for resistive memories
US8719620B2 (en) 2011-08-29 2014-05-06 Hitachi, Ltd. Storage control apparatus and storage control apparatus control method
WO2013136362A1 (en) * 2012-03-13 2013-09-19 Hitachi, Ltd. Storage system having nonvolatile semiconductor storage device with nonvolatile semiconductor memory
CN107817952B (zh) * 2013-01-25 2021-02-19 株式会社日立制作所 存储系统
US9329788B2 (en) * 2013-07-02 2016-05-03 Hitachi, Ltd. Computer system and method for allocating and recovering virtual volumes
CN106062721B (zh) * 2014-12-31 2018-11-16 华为技术有限公司 一种将数据写入存储系统的方法和存储系统
CN106445749B (zh) * 2015-05-12 2021-04-23 爱思开海力士有限公司 使用独立磁盘冗余阵列的动态自动调谐的最大延迟的减小
US10852966B1 (en) * 2017-10-18 2020-12-01 EMC IP Holding Company, LLC System and method for creating mapped RAID group during expansion of extent pool
CN110096218B (zh) * 2018-01-31 2022-12-20 伊姆西Ip控股有限责任公司 用于为存储对象提供raid数据保护的方法、系统和介质
CN116010161A (zh) * 2021-10-21 2023-04-25 伊姆西Ip控股有限责任公司 用于管理存储系统中的区块的方法、设备和程序产品

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5479653A (en) * 1994-07-14 1995-12-26 Dellusa, L.P. Disk array apparatus and method which supports compound raid configurations and spareless hot sparing
JP3597349B2 (ja) * 1997-09-05 2004-12-08 株式会社日立製作所 記憶サブシステムおよびその障害回復方法
JP3832223B2 (ja) * 2000-09-26 2006-10-11 株式会社日立製作所 ディスクアレイのディスク障害復旧方法
US7146524B2 (en) * 2001-08-03 2006-12-05 Isilon Systems, Inc. Systems and methods for providing a distributed file system incorporating a virtual hot spare
US6976187B2 (en) 2001-11-08 2005-12-13 Broadcom Corporation Rebuilding redundant disk arrays using distributed hot spare space
JP2003177876A (ja) * 2001-12-11 2003-06-27 Hitachi Ltd ディスクアレイ装置
US7024586B2 (en) 2002-06-24 2006-04-04 Network Appliance, Inc. Using file system information in raid data reconstruction and migration
US7278053B2 (en) * 2003-05-06 2007-10-02 International Business Machines Corporation Self healing storage system
JP2005107839A (ja) * 2003-09-30 2005-04-21 Toshiba Corp アレイコントローラ及びディスクアレイ再構築方法
JP2006227964A (ja) * 2005-02-18 2006-08-31 Fujitsu Ltd ストレージシステム、処理方法及びプログラム
JP2006309506A (ja) * 2005-04-28 2006-11-09 Fujitsu Ltd リモートコピー処理方法、プログラム及び装置
JP4699808B2 (ja) * 2005-06-02 2011-06-15 株式会社日立製作所 ストレージシステム及び構成変更方法
JP4806556B2 (ja) * 2005-10-04 2011-11-02 株式会社日立製作所 ストレージシステム及び構成変更方法
JP4472617B2 (ja) * 2005-10-28 2010-06-02 富士通株式会社 Raidシステム、raidコントローラ及びそのリビルド/コピーバック処理方法
JP4927408B2 (ja) 2006-01-25 2012-05-09 株式会社日立製作所 記憶システム及びそのデータ復元方法
JP2008009767A (ja) 2006-06-29 2008-01-17 Hitachi Ltd データ処理システム及びその方法並びにストレージ装置
JP2008046986A (ja) 2006-08-18 2008-02-28 Hitachi Ltd ストレージシステム
JP2008204041A (ja) * 2007-02-19 2008-09-04 Hitachi Ltd ストレージ装置及びデータ配置制御方法

Also Published As

Publication number Publication date
CN102209957A (zh) 2011-10-05
EP2401679A1 (en) 2012-01-04
WO2010097832A1 (en) 2010-09-02
US8812779B2 (en) 2014-08-19
US20110167215A1 (en) 2011-07-07
CN102209957B (zh) 2014-04-16
JP2012504794A (ja) 2012-02-23

Similar Documents

Publication Publication Date Title
JP5199465B2 (ja) Raidグループを備えたストレージシステム
US9697087B2 (en) Storage controller to perform rebuilding while copying, and storage system, and control method thereof
US10168919B2 (en) System and data management method
US10459639B2 (en) Storage unit and storage system that suppress performance degradation of the storage unit
US8984221B2 (en) Method for assigning storage area and computer system using the same
JP6009095B2 (ja) ストレージシステム及び記憶制御方法
JP4958739B2 (ja) 障害の発生した記憶装置に記憶されているデータを修復するストレージシステム
JP5444464B2 (ja) ストレージシステム
CN111158587B (zh) 基于存储池虚拟化管理的分布式存储系统及数据读写方法
US10545684B2 (en) Storage device
US8930745B2 (en) Storage subsystem and data management method of storage subsystem
US20090292870A1 (en) Storage apparatus and control method thereof
JP2009037304A (ja) Raidレベルを変更する機能を有したストレージシステム
US11150846B2 (en) Storage system, computer-readable recording medium, and control method for system that reconstructs and distributes data
US20090100237A1 (en) Storage system that dynamically allocates real area to virtual area in virtual volume
US8386837B2 (en) Storage control device, storage control method and storage control program
US20180275894A1 (en) Storage system
JP2009098996A (ja) ストレージシステム
US9760296B2 (en) Storage device and method for controlling storage device
US10698627B2 (en) Storage system and storage control method
US10877844B2 (en) Using deletable user data storage space to recover from drive array failure
JP6494787B2 (ja) 分散ストレージシステム
US8880939B2 (en) Storage subsystem and method for recovering data in storage subsystem
CN114415968A (zh) 存储系统及其数据写入方法
US20200174672A1 (en) Storage system

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120629

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120710

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120905

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130207

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

Free format text: PAYMENT UNTIL: 20160215

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees