JP2005149374A - ディスクアレイ装置及びデータ退避方法 - Google Patents

ディスクアレイ装置及びデータ退避方法 Download PDF

Info

Publication number
JP2005149374A
JP2005149374A JP2003389192A JP2003389192A JP2005149374A JP 2005149374 A JP2005149374 A JP 2005149374A JP 2003389192 A JP2003389192 A JP 2003389192A JP 2003389192 A JP2003389192 A JP 2003389192A JP 2005149374 A JP2005149374 A JP 2005149374A
Authority
JP
Japan
Prior art keywords
data
drive
spare
physical
parity group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2003389192A
Other languages
English (en)
Other versions
JP4493321B2 (ja
Inventor
Masanobu Yamamoto
政信 山本
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 JP2003389192A priority Critical patent/JP4493321B2/ja
Priority to US10/769,895 priority patent/US7136964B2/en
Publication of JP2005149374A publication Critical patent/JP2005149374A/ja
Priority to US11/598,124 priority patent/US7330932B2/en
Application granted granted Critical
Publication of JP4493321B2 publication Critical patent/JP4493321B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/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
    • 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
    • G06F11/1092Rebuilding, e.g. when physically replacing a failing disk
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • G06F11/1662Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
    • 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)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【課題】 複数のスペアドライブをもつディスクアレイ装置において、スペアドライブの物理的な境界に影響されずに、スペアドライブの記憶領域を無駄なく使用する。
【解決手段】 複数のスペアドライブ103、103、…から構成される1つの大きなスペアパリティグループ104が定義される。スペアパリティグループ104が提供する大きなスペア論理ドライブ201から、障害データドライブ101Bと同容量のスペア論理ドライブ202が切出され、それに障害データドライブ101Bのデータがコピーされる。スペア論理ドライブ202に対応する仮想的な物理ドライブ206が定義され、これが障害データドライブ101Bに代わって、データパリティグループ102Aに組み込まれる。これにより、障害データドライブ101Bのデータが仮想ドライブ206(スペア論理ドライブ202)に退避される。
【選択図】図3

Description

本発明は、一般にはRAID装置に代表されるようなディスクアレイ装置に関わり、特に、ディスクアレイ装置内のデータドライブのデータを退避する方式に関する。
ディスクアレイ装置において、障害が発生したデータドライブのデータを、予め交代用に実装されているスペアドライブに退避する方法が一般的に用いられている。装置が健全な状態で動作しているときは、データドライブのデータをスペアドライブに退避する必要が無いので、スペアドライブ自身は全く活用されない状態にある。ディスクアレイ装置に実装できるドライブ台数は限られるので、スペアドライブの実装数は無闇に多くできない。
特許文献1は、少ないスペアドライブ領域を有効活用する方法を提供している。その方法によれば、例えば、或るスペアドライブの容量が複数のデータドライブの各々の容量より大きい場合、そのスペアドライブを複数のパーティションに分割して、それぞれのパーティションにそれぞれのデータドライブのデータを退避させる。或いは、或るデータドライブの容量が複数のスペアドライブの各々の容量より大きい場合、そのデータドライブを、複数のパーティションに分割し、それぞれのパーティションのデータをそれぞれのスペアドライブに退避する。
特開2003-186630号公報
特許文献1に記載されているデータのスペアドライブへの退避方法は、スペアドライブの容量をある程度効率的に使用することができる。しかし、全てのデータドライブの各々と全てのスペアドライブの各々の容量が一致するか整数倍もしくは整数分の1でない限り、スペアドライブ内に無駄な空き領域が生じてしまう場合がある。例えば、70GBのスペアドライブに、2つの30GBのデータドライブのデータが既に退避されている場合、そのスペアドライブには10GBの空き領域が残っている。その後、別の30GBのデータドライブのデータを退避させる場合、10GBの空き領域は小さすぎるため、別のスペアディスクが使われることになり、10GBの空き領域は無駄になってしまう。
ディスクアレイ装置に実装できるドライブには様々な容量のものがあるため、上述した問題が発生する可能性は高い。そして、無駄領域を最小限にするために、或るデータドライブの退避領域をどのスペアドライブの何処に割り当てることが最適であるかを判断することは、事実上困難である。
例えば、30GBの複数のデータドライブと40GBの複数のデータドライブと60GB及び70GBの2つのスペアドライブが存在した場合において、或る30GBのデータドライブのデータを退避させるとき、60GBと70GBのいずれのスペアドライブを選択することが最適であるかは、将来的に30GBと40GBのいずれのデータドライブが次の退避の対象になるかによって異なる。そして、このことは現時点では不明であるから、最適な割り当てを選択することは非常に困難である。
本発明の目的は、複数のスペアドライブをもつディスクアレイ装置において、スペアドライブの物理的な境界に影響されずに、スペアドライブの記憶領域を無駄なく使用できるようにすることにある。
本発明の一つの観点に従う、複数のデータ物理ドライブと複数のスペア物理ドライブを備えるディスクアレイ装置は、前記複数のスペア物理ドライブにより構成されたスペアパリティグループと、前記複数のデータ物理ドライブ中にデータ退避の対象となるデータ物理ドライブが存在する場合、所望容量のスペア論理ドライブを前記スペアパリティグループ内に確保するスペア論理ドライブ確保手段と、前記データ退避の対象となるデータ物理ドライブのデータを前記スペア論理ドライブに退避させるデータ退避手段とを備える。
一つの実施形態では、前記スペア論理ドライブ確保手段が、前記データ退避の対象となるデータ物理ドライブの容量に応じて、前記スペア論理ドライブの容量を、前記データ退避の対象となるデータ物理ドライブのデータを退避するに必要な大きさになるよう制御するように構成されている。
一つの実施形態では、新たなデータ退避の対象となるデータ物理ドライブが出現する都度、前記スペア論理ドライブ確保手段が、前記パリティグループ内に前詰めで新たなスペア論理ドライブを確保し、そして、前記データ退避手段が、前記新たにデータ退避の対象となるデータ物理ドライブのデータを、前記新たなスペア論理ドライブに退避させるように構成されている。
一つの実施形態では、前記スペアパリティグループ内のいずれか一つのスペア物理ドライブのデータが他のスペア物理ドライブのデータから複製できるように、前記スペアパリティグループが冗長度をもつデータ格納形式で構成されている。
一つの実施形態では、前記複数のデータドライブによりデータパリティグループが構成されている。そして、前記スペア論理ドライブに対応する仮想的な物理ドライブを定義し、前記データパリティグループから前記データ退避の対象となるデータ物理ドライブを外し、代わりに、前記仮想的な物理ドライブを前記データパリティグループに組み込むデータパリティグループ再編手段が更に設けられる。
一つの実施形態では、前記データパリティグループに対するデータアクセス要求を受けて、前記データパリティグループを構成する複数のデータ物理ドライブの各々が、前記仮想的な物理ドライブであるか実際の物理ドライブであるかを判断するドライブ種別判断手段と、前記ドライブ種別判断手段によって実際の物理ドライブであると判断されたデータ物理ドライブに対するデータアクセスコマンドを生成する物理ドライブ制御手段と、前記ドライブ種別判断手段によって仮想的な物理ドライブであると判断されたデータ物理ドライブに対応する前記スペア論理ドライブを識別し、識別された前記スペア論理ドライブが属する前記スペアパリティグループを識別し、識別された前記スペアパリティグループを構成する前記複数のスペア物理ドライブを識別して、識別された前記スペア物理ドライブに対するデータアクセスコマンドを生成する仮想ドライブ制御手段と、前記物理ドライブ制御手段から前記データ物理ドライブに対するデータアクセスコマンドを受けて前記データ物理ドライブに対するデータアクセスを行い、また、前記仮想ドライブ制御手段から前記スペア物理ドライブに対するデータアクセスコマンドを受けて前記スペア物理ドライブに対するデータアクセスを行う物理ドライブ制御手段とが更に設けられる。
本発明の別の観点に従う、複数のデータ論理ドライブと複数のスペア物理ドライブを備えるディスクアレイ装置は、前記複数のスペア物理ドライブにより構成されたスペアパリティグループと、前記複数のデータ論理ドライブ中にデータ退避の対象となるデータ論理ドライブが存在する場合、所望容量のスペア論理ドライブを前記スペアパリティグループ内に確保するスペア論理ドライブ確保手段と、前記データ退避の対象となるデータ論理ドライブのデータを前記スペア論理ドライブに退避させるデータ退避手段とを備える。
本発明のまた別の観点に従う、複数のパリティグループを備えるディスクアレイ装置は、前記複数のパリティグループのうちのいずれかのパリティグループ内にデータ退避の対象となる物理又は論理ドライブが存在する場合、別のパリティグループ内に所望容量のスペア論理ドライブを確保するスペア論理ドライブ確保手段と、前記データ退避の対象となる物理又は論理ドライブのデータを前記スペア論理ドライブに退避させるデータ退避手段とを備える。
本発明の更に別の観点に従う、複数のデータ物理ドライブと複数のスペア物理ドライブを備えるディスクアレイ装置における、前記データ物理ドライブのデータを前記スペア物理ドライブに退避するための方法は、前記複数のスペア物理ドライブによりスペアパリティグループを構成するステップと、前記複数のデータ物理ドライブ中にデータ退避の対象となるデータ物理ドライブが存在する場合、所望容量のスペア論理ドライブを前記スペアパリティグループ内に確保するステップと、前記データ退避の対象となるデータ物理ドライブのデータを前記スペア論理ドライブに退避させるステップとを備える。
本発明によれば、スペアパリティグループによって提供されるスペア論理ドライブに、退避対象のドライブのデータが退避される。よって、個々のスペアアドライブの容量による物理的な境界に影響されずに、スペアドライブ空間を効率的に使用することができる。
本発明の一つの実施形態を図面を参照して説明する。
図1は、本発明の一実施形態にかかるディスクアレイ装置の全体構成を示す。
図1に示すように、ディスクアレイ装置100は、多数のディスクドライブ101、103、ディスク制御部105、共用メモリ106、キャッシュメモリ107及びホストインタフェース制御部108を有する。ディスクドライブ101、103は、その使用目的に応じ、データの主たる記憶場所として使用されるデータドライブ101、データドライブ101の故障に備えるためにデータドライブ101のデータの退避先として使用されるスペアドライブ103とに分類することができる。具体的にどのディスクドライブをデータドライブ101又はスペアドライブ103として使用するかの使い分けは、ユーザ又はホストコンピュータ109等からこのディスクアレイ装置100に対する命令によって、任意に制御することができる。
ディスク制御部105は、主に、ディスクドライブ101、103に対するデータの読み/書きの制御を行う。ホストインタフェース制御部108は、1以上のホストコンピュータ(以下、ホストと略称する)109と接続され、ホスト109に対するデータ読み/書き要求等のコマンド、それらコマンドに対する応答、及び読み/書き対象のデータ等の送受信を行う。また、ホストインタフェース制御部108は、ホストコンピュータ109から受信したデータ読み/書き要求等のコマンドを解釈して、解釈結果に応じてディスク制御部105を初めとするディスクアレイ装置100内の各部の動作を制御することも行う。ディスク制御部105とホストインタフェース制御部108は、協働して、本発明の原理に従うデータドライブ101のデータをスペアドライブ103に退避させる動作の制御、及び退避されたデータに対するホスト109からデータ読み/書き要求の処理等も行う。
共用メモリ106には、各種の管理用又は制御用のデータ及び各種の制御プログラムが格納される。共用メモリ106内のデータ及びプログラムは、ディスク制御部105及びホストインタフェース制御部108によって登録、更新、参照或いは実行され、それにより、ディスク制御部105及びホストインタフェース制御部108がそれぞれの動作を正しく行うことができる。
キャッシュメモリ107は、ディスク制御部105によってディスクドライブ101、103から読み出されたデータ、及びホストインタフェース制御部108によってホストコンピュータ109から受信されたデータが、少なくともそれぞれのデータの宛先へ送り出されるまでの間、一時的に保持されるために使用される。例えば、ホスト109からデータ読み出し要求を受けた場合、然るべきデータドライブ101から読み取られたデータは、一旦キャッシュメモリ107に格納されホストインタフェース制御部108を介してホスト109に転送される。また、ホスト109からのデータ書き込み要求を受けた場合、書き込み対象のデータは、一旦キャッシュメモリ107に格納された後、ディスク制御部105を介し、然るべきデータドライブ101に書き込まれる。
ディスク制御部105は、複数のディスク接続インタフェース110を持ち、各ディスク接続インタフェース110に対して複数のデータドライブ101と1以上のスペアドライブ103が接続されている。各データドライブ101は、異なるディスク接続インタフェース110に接続される他の1以上のデータドライブ101と論理的に結合されてパリティグループ102を形成する。各スペアドライブ103も、異なるディスク接続インタフェース110に接続される他の1以上のスペアドライブ103と論理的に結合されてパリティグループ104を形成する。以下の説明では、データドライブ101により構成されるパリティグループ102と、スペアドライブ103により構成されるパリティグループ104とを区別するために、前者102をデータパリティグループと呼び、後者104をスペアパリティグループと呼ぶ。通常、データパリティグループ102は複数存在し、スペアパリティグループ104は1以上存在する。パリティグループ102、104がどのディスクドライブ101、103から構成され、且つ、それがデータパリティグループとスペアパリティグループの何れの種別に該当するかということを定義した情報(以下、パリティグループ情報という)が、共用メモリ106内に格納される。ディスク制御部105は、データをディスクドライブ101、103に対して読んだり書いたりするときに、上記パリティグループ情報を参照して、どのディスクドライブ101、103に対して読み/書き動作を行えばいいのか判断する。また、ディスク制御部105は、ディスクドライブ101のデータを退避させるとき、上記パリティグループ情報を参照して、どのスペアドライブ103に対して退避対象のデータを書き込めばいいのか判断する。
図2は、パリティグループにおけるデータの格納形式を説明したものである。図2では、一例として4つのディスクドライブから構成される3D+1P形式(3つのデータを3つのディスクドライブにそれぞれ格納し、それら3つのデータの排他的論理により得られるパリティデータをもう一つのデースクドライブに格納する形式)のパリティグループを取り上げているが、図2を参照した以下の説明は、RAID1又はRAID5などの原理に従う様々な形式のパリティグループにもあてはまるものである。また、この説明は、図1に示したデータパリティグループ102にもスペアパリティグループ104にもあてはまるものである。
図2に示すように、1つのパリティグループ102(又は104)を構成する複数のディスクドライブ101、101、…(又は103、103、…)のそれぞれの記憶領域は、所定の単位容量をもつ多数の小記憶領域(以下、ブロック領域という)120に論理的に分割されている。そして、各ディスクドライブ101(又は103)内のブロック領域120、120、…の各々は、他の全てのディスクドライブ101、101、…(又は103、103、…)内のブロック領域120、120、…と論理的に組み合わされて、図2中では横方向に伸びた行として図示された領域(以下、ストライプ領域と呼ぶ)121、121、…を形成する。このようにして、1つのパリティグループ102(又は104)内には多数のストライプ領域121、121、…が存在する。
各ストライプ領域121は、図示のように、そのパリティグループ102(又は104)を構成する全てのディスクドライブ101、101、…(又は103、103、…)に跨っていて、それら全てのディスクドライブ101、101、…(又は103、103、…)からそれぞれ選ばれた複数個のブロック領域120、120、…から構成される。1つのストライプ領域121を構成する複数個のブロック領域120、120、…のうち、例えば1つを除いた他のブロック領域120、120、…には、ホスト装置5によるアクセス対象である対象データが格納され、もう1つのブロック領域120には、その対象データから作られたパリティデータが格納される。例えば、図2中の一番上に示されたストライプ領域121では、参照符号B1、B2、B3が対象データを表し、参照符号P(1-3)が、対象データB1、B2、B3から作成されたパリティデータである。このようにパリティデータを含ませた冗長的なデータ構造をもつ各ストライプ領域121においては、そこに含まれるいずれのデータも他の全てのデータから複製することができるという関係をもつ。従って、同じパリティグループ102(又は104)においては、各ディスクドライブ101(又は103)は、他の全てのディスクドライブ101、101、…(又は103、103、…)のデータから複製することができる。
各パリティグループ102(又は104)は、それ全体として、それを構成する複数のディスクドライブ101、101、…(又は103、103、…)の物理的な境界から解放された、大容量の論理的に連続な一つの記憶領域、つまり、大容量の論理的な一つのディスクドライブを提供する。そして、この大容量の一つの論理ドライブは、より小容量の複数の論理ドライブ122、122、…に分割することができる。これら分割された論理ドライブの122、122、…は、それぞれ、任意数のストライプ領域のセットから構成される。換言すれば、これら分割された論理ドライブの122、122、…の各々の容量は、そのパリティグループを構成する複数のディスクドライブ101、101、…(又は103、103、…)の物理的な境界には影響されずに、実質的に自由に設定され得る。この利点は、以下に説明するように、この実施形態におけるデータ退避の制御に利用される。
図3は、この実施形態におけるデータ退避の動作の概要を示す。
図3に示すように、複数のスペアドライブ103、103、…から構成される1つの大きなスペアパリティグループ104が定義される。このスペアパリティグループ104は、上述したように、データ退避用の大容量の一つの論理ドライブ(以下、大スペア論理ドライブという)201を提供する。
例えばデータドライブ101Bで障害が発生してそのデータドライブ(障害の生じたデータドライブを、以下、障害データドライブという)101Bのデータを退避させる必要が生じたとき、スペアパリティグループ104が提供する大スペア論理ドライブ201の先頭アドレスから、障害データドライブ101Bの容量と同じ正味の容量(パリティデータを除いた、対象データだけのための記憶容量)をもったデータ退避領域(以下、スペア論理ドライブ空間という)202が確保されて、これが障害データドライブ101Bに割り当てられる。こうして障害データドライブ101B
に割り当てられたスペア論理ドライブ空間202は、一つの論理的なスペアドライブ(以下、割当スペア論理ドライブという)として定義される。その後、この割当スペア論理ドライブ(論理スペアドライブ空間)202に、矢印204で示すように、障害データドライブ101B内のデータがコピーされる。さらに、割当スペア論理ドライブ202に対して、仮想的な物理ドライブドライブ(以下、仮想ドライブとして)206が定義される。そして、障害データドライブ101Bがデータパリティグループ102Aから外され、代わって、仮想ドライブ206が、矢印208で示すように、データパリティグループ102Aに組み込まれる。これにより、障害データドライブ101Bのデータが、仮想ドライブ206(割当スペア論理ドライブ202)に退避されたことになる。
その後、別の障害データドライブ101Fのデータを退避させる必要が生じたときは、大スペア論理ドライブ201内の既に定義された割当スペア論理ドライブ202に引き続くアドレスから(つまり、前の割当スペア論理ドライブ202との間に無駄な領域を開けずに、アドレスが連続するようにして)、障害データドライブ101Fの容量と同じ正味の容量をもつ新たなスペア論理ドライブ空間203が確保され、それが障害データドライブ101Fに割り当てられた新たな割当スペア論理ドライブとして定義される。そして、この割当スペア論理ドライブ203に、矢印205で示すように、障害データドライブ101Fのデータがコピーされる。さらに、割当スペア論理ドライブ203に対して、仮想ドライブ207が定義される。そして、障害データドライブ101Fがデータパリティグループ102Bから外され、代わって、仮想ドライブ207がデータパリティグループ102Bに組み込まれる。これにより、障害データドライブ101Fのデータが、仮想ドライブ207(割当スペア論理ドライブ203)に退避されたことになる。
以上の動作は、スペアパリティグループ104の大スペア論理ドライブ201から、次のスペア論理ドライブに必要な容量の空き記憶領域が無くなるまで、繰り返し行うことができる。また、特開2003-186630号公報に記載された退避対象のドライブをパーティッションに分割する方法を併用すれば、大スペア論理ドライブ201から空き記憶領域が全く無くなるまで、上記の動作を繰り返し行うこともできる。大スペア論理ドライブ201に必要な空き容量がある限りにおいて、そこに退避され得るデータドライブの個数には制限がない。よって、スペアドライブ数より多くのデータドライブが退避できる場合がある。
また、データドライブの容量とスペアドライブの容量との大小関係、将来的に次のデータ退避対象がどの容量のデータドライブになるかという点、或いは、スペアドライブ間の物理的な境界などを意識することなしに、データ退避対象のデータドライブが生じる都度に、大スペア論理ドライブ201に前詰めでデータを押し込んでいくことができる。よって、スペアドライブの空間を有効活用することができる。
図4は、共用メモリ106に記憶されるデータ退避の制御に利用される管理データの例を示す。
共用メモリ106内には、物理ドライブ情報301、パリティグループ情報302及び論理ドライブ情報303が格納されている。物理ドライブ情報301は、図1に示したデータドライブ101、101、…やスペアドライブ103、103、…などの全ての物理的なディスクドライブのそれぞれについて、そのディスクドライブに固有の物理ドライブ識別情報、ディスクアレイ装置100内での実装場所を示す場所情報、記憶容量を示す容量情報、型式を示す型式情報、及びデータドライブかスペアドライブかを示す種別情報などを含んだ物理ドライブ定義情報304、304、…が格納されている。ディスク情報301には、また、実在の物理ドライブ101、101、…、103、103、…についてだけでなく、図3を参照して説明した割当スペア論理ドライブにそれぞれ対応する仮想ドライブについても、その仮想ドライブに固有の仮想ドライブ識別情報、場所情報、容量情報、型式情報、仮想ドライブであることを示す種別情報、及び対応する論理ドライブ(割当スペア論理ドライブ)を識別する論理ドライブ識別情報などを含んだ仮想ドライブ定義情報305、305、…が記憶されている。
パリティグループ情報305には、データパリティグループ102、102、…及びスペアパリティグループ104、104、…などの全てのパリティグループのそれぞれについて、そのパリティグループに固有のパリティグループ識別情報、それを構成する複数のディスクドライブの物理ドライブ識別情報、及びデータパリティグループかスペアパリティグループかを示す種別情報などを含んだパリティグループ定義情報306、306、…が格納されている。パリティグループ定義情報306、306、…は、それぞれ、それを構成する複数のディスクドライブの物理ドライブ定義属情報304、304、…と、矢印307で示すようにリンクされている。
論理ドライブ情報303には、全ての論理ドライブについて、その論理ドライブに固有の論理ドライブ識別情報及びその論理ドライブが存在するパリティグループのパリティグループ識別情報とそのパリティグループ内の位置情報(例えば、ブロック領域或いはストライプ領域の識別番号など)などを含んだ論理ドライブ定義情報308、308、…が格納されている。これらの論理ドライブ定義情報308、308、…は、それぞれ、対応するパリティグループの構成ドライブ情報306、306、…に、矢印309で示すようにリンクされている。ここに定義された論理ドライブには、データパリティグループから提供されるデータ論理ドライブだけでなく、スペアパリティグループから提供される割当スペア論理ドライブも含まれている。割当スペア論理ドライブの論理ドライブ定義情報308、308、…は、それぞれ、対応する仮想ドライブの仮想ドライブ定義情報305、305、…に、矢印310、310、…で示すようにリンクされている。また、仮想ドライブ定義情報305、305、…は、それぞれ、対応する割当スペア論理ドライブに割り当てられたデータドライブの物理ドライブ定義情報304、304、…に、矢印311で示すようにリンクされている。
これらの情報の操作手順を、図4に示した例を用いて説明する。
例えば、「ドライブ00」、「ドライブ10」、「ドライブ20」及び「ドライブ30」により構成される「データパリティグループ0」を定義したパリティグループ定義情報306がパリティグループ情報302に登録されることにより、「データパリティグループ0」が作成される。同様にして、別の「データパリティグループ1」のパリティグループ定義情報306がパリティグループ情報302に登録されることにより、「データパリティグループ1」が作成される。そして、「データパリティグループ0」又は「データパリティグループ1」に属する「データ論理ドライブ00」、「データ論理ドライブ01」及び「データ論理ドライブ10」を定義した論理ドライブ定義情報308、308、308が論理ドライブ情報303に登録されることにより、データ論理ドライブ00」、「データ論理ドライブ01」及び「データ論理ドライブ10」が作成される。
また、「ドライブ02」、「ドライブ12」、「ドライブ22」及び「ドライブ32」により構成される「スペアパリティグループ0」を定義したパリティグループ定義情報306がパリティグループ情報302に登録されることにより、「スペアパリティグループ0」が作成される。
その後、例えば、「データパリティグループ0」に属する「ドライブ10」のデータを退避させようとする場合、「スペアパリティグループ0」から、「ドライブ10」と同じ正味容量をもった「割当スペア論理ドライブ00」が確保されて、その論理ドライブ定義情報308が論理ドライブ情報303に追加登録されるとともに、これに対応する「仮想ドライブ00」の定義情報305が物理ドライブ情報301に追加登録される。この「仮想ドライブ00」の物理ドライブ定義情報305は、「データドライブ10」の定義情報304とリンクされる。これにより、「データドライブ10」に対して「仮想ドライブ00」つまり「割当スペア論理ドライブ00」が割り当てられたことになる。そして、「データディスク0010」内のデータが、「仮想ドライブ00」つまり「割当スペア論理ドライブ00」にコピーされる。
コピー終了後、「データパリティグループ0」のパリティグループ定義情報306に記録されている物理ディスク識別情報から、「データドライブ00」の識別情報が除去され、代わりに、「仮想ドライブ00」の識別情報がそこに書き込まれる。これにより、「データパリティグループ0」において、「データドライブ00」が「仮想ドライブ00」に入れ替えられたことになる。こうして、「データドライブ00」のデータが、「スペアパリティグループ0」内の「割当スペア論理ドライブ00」に退避される。
図5は、この実施形態においてホストコンピュータ109からのデータリード/ライト要求に基づくデータのリード/ライト処理を行うためにディスク制御部105がもつ機能的構成を示す。以下、図5を参照して、ディスク制御部105が行うデータリード/ライト処理について説明する。
図5に示すように、ディスク制御部105は、データリード/ライト要求を処理するRAID制御部402、物理ドライブ101、101、…に対するデータリード/ライト処理を制御する物理ドライブ制御部403、及び仮想ドライブに対するデータリード/ライト処理を制御する仮想ドライブ制御部404を有する。
まず、通常のデータリード/ライト処理、すなわち、データのリード/ライトを要求されたパリティグループが物理ドライブ(データディスクドライブ)のみから構成され、仮想ドライブ(割当スペア論理ドライブ)を含んでいない場合におけるデータリード/ライト処理について説明する。
ディスク制御部105とホストインタフェース制御部608との間のデータの受け渡しは、全てキャッシュメモリ107内に格納されたリード/ライトデータ407を介して行う。リード/ライトデータ407は、どの論理ドライブに対するデータか示す論理ドライブ識別情報と共にキャッシュメモリ107に格納されている。
データライト時は、データライト要求を受けたRAID制御部402が、キャッシュメモリ107内の要求されたライトデータ407を参照し、そして、そのライトデータ407をライトするよう要求された論理ドライブがどのパリティグループに属しているかを、共用メモリ106内の論理ドライブ情報303を参照して判断する。そして、RAID制御部402は、そのパリティグループがどの物理ドライブから成り立っているかを、パリティグループ情報302と物理ドライブ情報301を参照して判断する。その後、RAID制御部402は、物理ドライブ制御部403を介して、そのパリティグループを構成するそれぞれの物理ドライブ101、101、…に対して、要求されたライトデータ407のライトコマンドを発行する。
データリード時も同様に、データリード要求を受けたRAID制御部402が、データリードを要求された論理ドライブがどのパリティグループに属しているかを、共用メモリ106内の論理ドライブ情報303を参照して判断し、そして、そのパリティグループがどの物理ドライブから成り立っているかを、パリティグループ情報302と物理ドライブ情報301を参照して判断する。その後、RAID制御部402は、物理ドライブ制御部403を介して、そのパリティグループを構成するそれぞれの物理ドライブ101、101、…に対して、要求されたデータのリードコマンドを発行する。そして、RAID制御部402は、それぞれの物理ドライブ101、101、…からリードされたデータを組み立ててキャッシュメモリ107にライトデータ407として書き込む。
以上が、通常のデータリード/ライト処理である。次に、データのリード/ライトを要求されたパリティグループが仮想ドライブ(割当スペア論理ドライブ)を含んでいる場合におけるデータリード/ライト処理について説明する。
RAID制御部402は、上述したデータリード/ライト処理の過程において、パリティグループ情報302と物理ドライブ情報301を参照した結果、データのリード/ライトが要求されたパリティグループがスペアパリティグループ内の仮想ドライブを含んでいたと判った場合には、その仮想ドライブに対するデータのリード/ライトコマンドを発行する。この場合、RAID制御部402は、物理ドライブ制御部403にではなく、仮想ドライブ制御部404に対して、そのリード/ライトコマンドを送る。仮想ドライブ制御部404は、共用メモリ106内の物理ドライブ情報301と論理ドライブ情報303を参照して、その仮想ドライブがどの論理ドライブ(割当スペア論理ドライブ)に対応しているか判断する。
その後、仮想ドライブ制御部404は、リードコマンドの場合には、RAID制御部402に対して、その論理ドライブ(割当スペア論理ドライブ)から要求されたデータをリードすることを要求する。RAID制御部402は、上述した通常のデータリード処理と同様の制御を行って、その論理ドライブ(割当スペア論理ドライブ)からのデータのリード処理を行う。その結果、リードデータ407がキャッシュメモリ107に書き込まれる。RAID制御部402によってキャッシュメモリ107に書き込まれたリードデータは、仮想ドライブ制御部404によって読み込まれてRAID制御部402に渡され、そして、RAID制御部402によって再びキャッシュメモリ107に書き込まれる。一方、ライトコマンドの場合には、仮想ドライブ制御部404は、キャッシュメモリ107内にライトデータ407を書き込んで、RAID制御部402に対して、そのライトデータ407についてのライト要求を出す。RAID制御部808は、上述した通常のデータライト処理と同様の制御を行って、その論理ドライブ(割当スペア論理ドライブ)へのデータのライト処理を行う。
以下では、上述したデータリード/ライト処理の流れを、図6〜図11を参照してさらに詳細に説明する。
まず、データリード処理について説明する。図6は、データリード処理の全体の流れを示す。図7は、データリード処理のうちRAID制御部402が行う部分の流れを示す。図8は、データリード処理のうち仮想ドライブ制御部404が行う部分の流れを示す。
図6及び図7に示すように、RAID制御部402は、或る論理ドライブに対するデータリード要求をホストインタフェース制御部108から受け取ると(501)、その論理ドライブが属するパリティグループを論理ドライブ情報303から導き出し(502)、そして、そのパリティグループを構成するデータ物理ドライブをパリティグループ情報302から導き出す(503)。RAID制御部402は、それらのデータ物理ドライブが、仮想ドライブであるか通常(実際)のデータ物理ドライブであるかを、物理ドライブ情報301の種別情報に基づいて判断する(504)。
ステップ504の結果が通常の物理ドライブの場合、RAID制御部402は、物理ドライブ制御部403に対してデータリード要求を発行する(506)。ステップ504の結果が仮想ドライブの場合、RAID制御部402は、仮想ドライブ制御部404に対してデータリード要求を発行する(図7の521)。RAID制御部402は、上記のようにドライブの種別を判定し(504)、そして、その種別に応じて物理ドライブ制御部403又は仮想ドライブ制御部404にデータリード要求を発行する(506又は521)という制御を、リード対象のパリティグループを構成する全ドライブに関して繰り返す(517、518)。
ステップ506でRAID制御部402が物理ドライブ制御部403にデータリード要求を発行した場合、その後、RAID制御部402は、物理ドライブ制御部403からリードデータを受け取る(507)。
一方、ステップ521でRAID制御部402が仮想ドライブ制御部404にデータリード要求を発行した場合には、そのデータリード要求を受けた仮想ドライブ制御部404は、図6及び図8に示すような処理を行う。すなわち、仮想ドライブ制御部404は、RAID制御部402からのデータリード要求を受け付けると(531)、指定された仮想ドライブがどの論理ドライブ(割当スペア論理ドライブ)に対応するかを、物理ドライブ情報301内の仮想ドライブ定義情報(305)から導き出す(508)。そして、仮想ドライブ制御部404は、その論理ドライブ(割当スペア論理ドライブ)に対するデータリード要求をRAID制御部402に発行する(532)。このようにして、RAID制御部402へは再帰的にデータリード要求が発行されることになる。
仮想ドライブ制御部404からの再帰的なデータリード要求を受けると、RAID制御部402は、図7にステップ501、509、510及び504の流れで示された制御を行う。そして、この場合、図7のステップ504での判断結果は、通常の物理ドライブ(スペアドライブ)となるため、RAID制御部402は、図6及び図7に示すステップ511へ進んで、物理ドライブ制御部403にデータリード要求を発行し、そして、ステップ512にて、物理ドライブ制御部403からリードデータを受け取る。RAID制御部402は、上記のステップ511及び512の制御を、リード対象のパリティグループ(スペアパリティグループ)を構成する全物理ドライブ(スペアドライブ)に関して繰り返す(513、514)。そして、RAID制御部402は、それぞれのスペアドライブからリードされたデータを組み立ててキャッシュメモリ107にライトデータ407として書き込む(515)。
その後、図6及び図8に示すように、仮想ドライブ制御部404が、ステップ515でキャッシュメモリ107書き込まれたライトデータ407を読み込み(516)、そのライトデータ407を、RAID制御部402からのデータリード要求(図7のステップ521)に対する応答して、RAID制御部402に返送する。これにより、RAID制御部402は、仮想ドライブからのリードデータを受け取ったことになる。
このようにして、RAID制御部402は、ホストインタフェース制御部108からのデータリード要求により要求された全てのデータを通常の物理ドライブ又は仮想ドライブから取得する。そして、RAID制御部402は、それら取得されたリードデータを組み立ててキャッシュメモリ107にライトデータ407として書き込む。
次に、データライト処理に関して説明する。図9は、データライト処理の全体の流れを示す。図10は、データライト処理のうちRAID制御部402が行う部分の流れを示す。図11は、データライト処理のうち仮想ドライブ制御部404が行う部分の流れを示す。
図9及び図10に示すように、RAID制御部402は、或る論理ドライブに対するデータライト要求をホストインタフェース制御部108から受け取ると(601)、その論理ドライブが属するパリティグループを論理ドライブ情報303から導き出し(602)、そして、そのパリティグループを構成する物理ドライブをパリティグループ情報302から導き出す(603)。さらに、RAID制御部402は、キャッシュメモリ107からライトデータを読み込み(604)、それに基づいてパリティデータを作成する(605)。
さらに、RAID制御部402は、ステップ603で導き出された物理ドライブの各々が、仮想ドライブであるかそれ以外の通常の物理ドライブであるかを、物理ドライブ情報301の種別情報に基づいて判断する(606)。ステップ606の結果が通常の物理ドライブの場合、RAID制御部402は、物理ドライブ制御部403に対してデータライト要求を発行する(607)。ステップ606の結果が仮想ドライブの場合、RAID制御部402は、仮想ドライブ制御部404に対してデータライト要求を発行する(図10の622)。RAID制御部402は、上記のようにドライブの種別を判定し(606)、そして、その種別に応じて物理ドライブ制御部403又は仮想ドライブ制御部404にデータライト要求を発行する(607又は622)という制御を、リード対象のパリティグループを構成する全ドライブに関して繰り返す(619、621)。
ステップ607でRAID制御部402が物理ドライブ制御部403にデータライト要求を発行した場合、その後、RAID制御部402は、物理ドライブ制御部403からリードライト応答を受け取る(608)。
一方、ステップ622でRAID制御部402が仮想ドライブ制御部404にデータライト要求を発行した場合には、そのデータライト要求を受けた仮想ドライブ制御部404は、図9及び図11に示すような処理を行う。すなわち、仮想ドライブ制御部404は、RAID制御部402からのデータライト要求を受け付けると(図11、631)、指定された仮想ドライブがどの論理ドライブ(割当スペア論理ドライブ)に対応するかを、物理ドライブ情報301内の仮想ドライブ定義情報(305)から導き出す(609)。そして、仮想ドライブ制御部404は、ライトデータをキャッシュメモリ107に書き込み(610)、そして、ステップ609で導き出された論理ドライブ(割当スペア論理ドライブ)へのデータライト要求をRAID制御部402に発行する(632)。このようにしれ、RAID制御部402へは再帰的にデータライト要求が発行されることになる。
仮想ドライブ制御部404からの再帰的なデータライト要求を受けると、RAID制御部402は、図10にステップ601、611〜614及び606の流れで示された制御を行う。そして、この場合、図10のステップ606での判断結果は、通常の物理ドライブ(スペアドライブ)となるため、RAID制御部402は、図9及び図10に示すステップ615へ進んで、物理ドライブ制御部403にデータライト要求を発行し、そして、ステップ616にて、物理ドライブ制御部403からデータライト応答を受け取る。RAID制御部402は、上記のステップ615及び616の制御を、ライト対象のパリティグループ(スペアパリティグループ)を構成する全物理ドライブ(スペアドライブ)に関して繰り返す(617、618)。これにより、仮想ドライブへのリードライトが完了する。
以上のようにして、ホストインタフェース制御部108からのデータライト要求により要求された全てのライトデータが、要求された論理ドライブを構成する通常の物理ドライブ又は仮想ドライブに書き込まれ、データライト処理が完了する。
図12は、スペアパリティグループ104をRAID5などの冗長度をもつパリティグループとすることによる利点を説明するものである。
図12に示すように、スペアパリティグループ104内の一部のスペアドライブ103Cのデータが読み取り不能になった場合、スペアパリティグループ104内の他の正常なスペアドライブ103A、103B及び103Dのデータから、その読取り不能なデータを複製することができる。そのため、スペアパリティグループ104に退避されたデータドライブ101Bのデータは全く失われない。ところで、このようにスペアドライブ103Cに障害が生じた場合、そのスペアドライブライブ103Cのデータをスペアパリティグループ104に退避させたとすると、アクセスが回帰的になってしまうという問題が生じる。そのためスペアパリティグループ104内のドライブのデータ退避は行わないようにする。
スペアドライブの障害からデータを保護する方法として、上述した冗長性のあるスペアパリティグループを用いたストライピングの他に、スペアパリティグループを二重化するミラーリング、或いは、障害の生じたスペアドライブを別のスペアパリティグループに退避する方法などが採用し得る。これらの方法は、併用してもよいし、いずれか一つを選択的に採用してもよいし、或いは、条件に応じて使い分けた又は組み合わせるようにしてもよい。例えば、図13に例示するように、重要性の高いデータドライブ101Bのデータを退避させる場合には、矢印701及び702で示しように、冗長性のある2つのスペアパリティグループ104A及び104Bに二重にコピーするという、ストライピングとミラーリングを併用した安全対策を採用し、他方、重要性がそれ程高くないデータドライブ101G のデータを退避させる場合には、矢印703で示すように、冗長性のある1つのスペアパリティグループ104Aにコピーするという、ストライピングのみの安全策を適用するというように、重要性に応じて退避のやり方を代えるようにしてもよい。
以上、本発明の実施形態を説明したが、この実施形態は本発明の説明のための例示にすぎず、本発明の範囲をこの実施形態にのみ限定する趣旨ではない。本発明は、その要旨を逸脱することなく、その他の様々な態様でも実施することができる。
例えば、上述した実施形態では、図5に示すようにディスク制御部105がRAID制御部402、物理ドライブ制御部403及び仮想ドライブ制御部404の機能を有しているが、必ずしもそうである必要はない。変形例として、RAID制御部402、物理ドライブ制御部403及び仮想ドライブ制御部404のうちの一部の機能、例えばRAID制御部402の機能を、ホストインタフェース制御部108が備え、そして、ディスク制御部105及びホストインタフェース制御部108が協働して上述したデータ退避の制御を行うようにする構成も採用することもできる。このような変形例の場合、ディスク制御部105とホストインタフェース制御部108との間の通信は、リード/ライトデータについては例えばキャッシュメモリ107を介して、リード/ライト要求などの制御情報に関しては例えば共用メモリ106を介して、行うことができる。また、ディスク制御部105及びホストインタフェース制御部108としてそれぞれ機能するプロセッサが複数存在して、それらが上述したデータ退避の制御を分散処理するような構成も採用することができる。また、ディスク制御部105及びホストインタフェース制御部108が共通のプロセッサによって実現される構成も採用することができる。さらに、キャッシュメモリ107及び共用メモリ106としてそれぞれ使用される別個のメモリ装置が存在する構成だけでなく、同一のメモリ装置をキャッシュメモリ107及び共用メモリ106として共用する構成も採用することができる。
また、上述した実施形態では、物理ドライブのデータを退避させているが、論理ドライブのデータを退避する場合にも、本発明の原理を適用することが出来る。例えば、図14に示すように、データパリティグループ102内にある複数のデータ論理ドライブ712A、712B、712Cの中から選択したデータ論理ドライブ712Aのデータを、矢印713で示すように、スペアパリティグループ104内の割当スペア論理ドライブ202に退避させることもできる。
また、ディスクアレイ装置内に存在する複数のパリティグループの中から予め特定のものをスペアパリティグループとして確保しておく方法の他に、スペアパリティグループを前もって確保せずに、或るデータパリティグループの中にデータ退避が必要な物理ドライブ又は論理ドライブが発生した場合、他の任意のパリティグループ内に然るべき容量のスペア論理ドライブを確保して、そこに上記データ退避が必要な物理ドライブ又は論理ドライブのデータを退避するように構成してもよい。
本発明の一実施形態にかかるディスクアレイ装置の全体構成を示すブロック図。 パリティグループにおけるデータの格納形式を説明したブロック図。 同実施形態におけるデータ退避の動作の概要を示すブロック図。 共用メモリ106に記憶されるデータ退避の制御に利用される管理データの例を示すブロック図。 データのリード/ライト処理を行うためにディスク制御部105がもつ機能的構成を示すブロック図。 データリード処理の全体の流れを示す図。 データリード処理のうちRAID制御部402が行う処理部分の流れを示す図。 データリード処理のうち仮想ドライブ制御部404が行う部分の流れを示す図。 データライト処理の全体の流れを示す図。 データライト処理のうちRAID制御部402が行う処理部分の流れを示す図。 データライト処理のうち仮想ドライブ制御部404が行う部分の流れを示す図。 スペアパリティグループ104を冗長度をもつ構成とすることによる利点を説明するためのブロック図。 ストライピングとミラーリングを用いたデータ退避方法の変形例を説明するためのブロック図。 データ論理ドライブのデータ退避方法の例を説明するためのブロック図。
符号の説明
100…ディスクアレイ装置、
101…データドライブ、
102…パリティグループ、
103…スペアドライブ、
104…スペアパリティグループ、
105…ディスク制御部、
106…共用メモリ、
107…キャッシュメモリ
108…ホストインタフェース制御部、
109…ホストコンピュータ、
110…ドライブ接続インタフェース、
120…ブロック領域、
121…ストライプ領域、
201…大スペア論理ドライブ
202、203…割当スペア論理ドライブ(スペア論理ドライブ空間)、
204、205…データコピー処理、
206、207…仮想ドライブ
208、209…パリティグループへの組み込み処理、
301…物理ドライブ情報、
302…パリティグループ情報、
303…論理ドライブ情報、
304…物理ドライブ定義情報、
305…仮想ドライブ定義情報、
306…パリティグループ定義情報、
307…物理ドライブ-パリティグループ間リンク、
308…論理ドライブ定義情報、
309…パリティグループ-論理ドライブ間リンク、
310…割当スペア論理ドライブ-仮想ドライブ間リンク、
311…仮想ドライブ-障害データドライブ間リンク、
402…RAID制御部、
402…物理ドライブ制御部、
404…論理ドライブ制御部、
405…物理ドライブ群
407…キャッシュメモリ上のリード/ライトデータ

Claims (9)

  1. 複数のデータ物理ドライブと複数のスペア物理ドライブを備えるディスクアレイ装置において、
    前記複数のスペア物理ドライブにより構成されたスペアパリティグループと、
    前記複数のデータ物理ドライブ中にデータ退避の対象となるデータ物理ドライブが存在する場合、所望容量のスペア論理ドライブを前記スペアパリティグループ内に確保するスペア論理ドライブ確保手段と、
    前記データ退避の対象となるデータ物理ドライブのデータを前記スペア論理ドライブに退避させるデータ退避手段と
    を備えたディスクアレイ装置。
  2. 請求項1記載のものにおいて、
    前記スペア論理ドライブ確保手段が、前記データ退避の対象となるデータ物理ドライブの容量に応じて、前記スペア論理ドライブの容量を、前記データ退避の対象となるデータ物理ドライブのデータを退避するに必要な大きさになるよう制御するように構成されているディスクアレイ装置。
  3. 請求項1記載のものにおいて、
    前記複数のデータドライブ中に新たなデータ退避の対象となるデータ物理ドライブが出現する都度、
    前記スペア論理ドライブ確保手段が、前記パリティグループ内に前詰めで新たなスペア論理ドライブを確保し、
    前記データ退避手段が、前記新たにデータ退避の対象となるデータ物理ドライブのデータを、前記新たなスペア論理ドライブに退避させるように構成されているディスクアレイ装置。
  4. 請求項1記載のものにおいて、
    前記スペアパリティグループ内のいずれか一つのスペア物理ドライブのデータが他のスペア物理ドライブのデータから複製できるように、前記スペアパリティグループが冗長度をもつデータ格納形式で構成されているディスクアレイ装置。
  5. 請求項1記載のものにおいて、
    前記複数のデータドライブにより構成されるデータパリティグループと、
    前記スペア論理ドライブに対応する仮想的な物理ドライブを定義し、前記データパリティグループから前記データ退避の対象となるデータ物理ドライブを外し、代わりに、前記仮想的な物理ドライブを前記データパリティグループに組み込むデータパリティグループ再編手段を更に備えたディスクアレイ装置。
  6. 請求項5記載のものにおいて、
    前記データパリティグループに対するデータアクセス要求を受けて、前記データパリティグループを構成する複数のデータ物理ドライブの各々が、前記仮想的な物理ドライブであるか実際の物理ドライブであるかを判断するドライブ種別判断手段と、
    前記ドライブ種別判断手段によって実際の物理ドライブであると判断されたデータ物理ドライブに対するデータアクセスコマンドを生成する物理ドライブ制御手段と、
    前記ドライブ種別判断手段によって仮想的な物理ドライブであると判断されたデータ物理ドライブに対応する前記スペア論理ドライブを識別し、識別された前記スペア論理ドライブが属する前記スペアパリティグループを識別し、識別された前記スペアパリティグループを構成する前記複数のスペア物理ドライブを識別して、識別された前記スペア物理ドライブに対するデータアクセスコマンドを生成する仮想ドライブ制御手段と、
    前記物理ドライブ制御手段から前記データ物理ドライブに対するデータアクセスコマンドを受けて前記データ物理ドライブに対するデータアクセスを行い、また、前記仮想ドライブ制御手段から前記スペア物理ドライブに対するデータアクセスコマンドを受けて前記スペア物理ドライブに対するデータアクセスを行う物理ドライブ制御手段と
    を更に備えたディスクアレイ装置。
  7. 複数のデータ論理ドライブと複数のスペア物理ドライブを備えるディスクアレイ装置において、
    前記複数のスペア物理ドライブにより構成されたスペアパリティグループと、
    前記複数のデータ論理ドライブ中にデータ退避の対象となるデータ論理ドライブが存在する場合、所望容量のスペア論理ドライブを前記スペアパリティグループ内に確保するスペア論理ドライブ確保手段と、
    前記データ退避の対象となるデータ論理ドライブのデータを前記スペア論理ドライブに退避させるデータ退避手段と
    を備えたディスクアレイ装置。
  8. 複数のパリティグループを備えるディスクアレイ装置において、
    前記複数のパリティグループのうちのいずれかのパリティグループ内にデータ退避の対象となる物理又は論理ドライブが存在する場合、別のパリティグループ内に所望容量のスペア論理ドライブを確保するスペア論理ドライブ確保手段と、
    前記データ退避の対象となる物理又は論理ドライブのデータを前記スペア論理ドライブに退避させるデータ退避手段と
    を備えたディスクアレイ装置。
  9. 複数のデータ物理ドライブと複数のスペア物理ドライブを備えるディスクアレイ装置における、前記データ物理ドライブのデータを前記スペア物理ドライブに退避するための方法において、
    前記複数のスペア物理ドライブによりスペアパリティグループを構成するステップと、
    前記複数のデータ物理ドライブ中にデータ退避の対象となるデータ物理ドライブが存在する場合、所望容量のスペア論理ドライブを前記スペアパリティグループ内に確保するステップと、
    前記データ退避の対象となるデータ物理ドライブのデータを前記スペア論理ドライブに退避させるステップと
    を備えたデータ退避方法。
JP2003389192A 2003-11-19 2003-11-19 ディスクアレイ装置及びデータ退避方法 Expired - Fee Related JP4493321B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2003389192A JP4493321B2 (ja) 2003-11-19 2003-11-19 ディスクアレイ装置及びデータ退避方法
US10/769,895 US7136964B2 (en) 2003-11-19 2004-02-03 Disk array with spare logic drive created from spare physical drives
US11/598,124 US7330932B2 (en) 2003-11-19 2006-11-13 Disk array with spare logic drive created from space physical drives

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003389192A JP4493321B2 (ja) 2003-11-19 2003-11-19 ディスクアレイ装置及びデータ退避方法

Publications (2)

Publication Number Publication Date
JP2005149374A true JP2005149374A (ja) 2005-06-09
JP4493321B2 JP4493321B2 (ja) 2010-06-30

Family

ID=34567500

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003389192A Expired - Fee Related JP4493321B2 (ja) 2003-11-19 2003-11-19 ディスクアレイ装置及びデータ退避方法

Country Status (2)

Country Link
US (2) US7136964B2 (ja)
JP (1) JP4493321B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008521074A (ja) * 2004-11-05 2008-06-19 データ ロボティクス インコーポレイテッド 種々のサイズの格納デバイスを許容する動的にアップグレード可能な故障許容格納システムおよび方法
JP2009516282A (ja) * 2005-11-16 2009-04-16 インターナショナル・ビジネス・マシーンズ・コーポレーション 記憶アレイを再設定する装置及び方法
US7610506B2 (en) 2006-06-29 2009-10-27 Hitachi, Ltd. Data processing system, data processing method and storage apparatus
US7689858B2 (en) 2006-08-03 2010-03-30 Fujitsu Limited Data-recovery control device
US7873782B2 (en) 2004-11-05 2011-01-18 Data Robotics, Inc. Filesystem-aware block storage system, apparatus, and method
US8392752B2 (en) 2009-10-19 2013-03-05 Fujitsu Limited Selective recovery and aggregation technique for two storage apparatuses of a raid
WO2013157032A1 (en) 2012-04-16 2013-10-24 Hitachi, Ltd. Storage subsystem and data management method of storage subsystem
US9454333B2 (en) 2014-10-27 2016-09-27 International Business Machines Corporation Parity logs for RAID systems with variable capacity media

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004272527A (ja) * 2003-03-07 2004-09-30 Hitachi Ltd ディスクアレイ装置および障害回復制御方法
JP4324088B2 (ja) * 2004-12-17 2009-09-02 富士通株式会社 データ複製制御装置
US9384818B2 (en) 2005-04-21 2016-07-05 Violin Memory Memory power management
US8200887B2 (en) 2007-03-29 2012-06-12 Violin Memory, Inc. Memory management system and method
US20070113006A1 (en) * 2005-11-16 2007-05-17 Elliott John C Apparatus and method to configure one or more storage arrays
JP4890033B2 (ja) * 2006-01-19 2012-03-07 株式会社日立製作所 記憶装置システム及び記憶制御方法
EP2126709A2 (en) 2006-12-06 2009-12-02 Fusion Multisystems, Inc. Apparatus, system, and method for remote direct memory access to a solid-state storage device
JP2008217216A (ja) * 2007-03-01 2008-09-18 Hitachi Ltd 負荷分散方法及び計算機システム
US11010076B2 (en) 2007-03-29 2021-05-18 Violin Systems Llc Memory system with multiple striping of raid groups and method for performing the same
US9632870B2 (en) * 2007-03-29 2017-04-25 Violin Memory, Inc. Memory system with multiple striping of raid groups and method for performing the same
JP2009252114A (ja) * 2008-04-09 2009-10-29 Hitachi Ltd ストレージシステム及びデータ退避方法
US8150801B2 (en) * 2008-08-20 2012-04-03 Microsoft Corporation Recovery of a computer that includes virtual disks
EP2441004B8 (en) * 2009-06-12 2020-02-19 Violin Systems LLC Memory system having persistent garbage collection
US8959389B2 (en) * 2011-11-23 2015-02-17 International Business Machines Corporation Use of a virtual drive as a hot spare for a raid group
JP2014176454A (ja) * 2013-03-14 2014-09-25 Seiko Epson Corp 液体輸送装置、及び、液体輸送方法
CN105893188B (zh) * 2014-09-30 2018-12-14 伊姆西公司 用于加速磁盘阵列的数据重构的方法和装置
CN106557268B (zh) * 2015-09-29 2020-05-15 联想企业解决方案(新加坡)有限公司 一种存储数据的方法
US10635344B2 (en) * 2016-04-27 2020-04-28 International Business Machines Corporation Dynamic spare storage allocation by creating logical volumes from unused space allocated for user data of a raid storage

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03505935A (ja) * 1988-06-28 1991-12-19 ストレイジ テクノロジー コーポレイション ディスクドライブメモリ
JP2000056934A (ja) * 1998-08-05 2000-02-25 Hitachi Ltd 記憶サブシステム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US156974A (en) * 1874-11-17 Improvement in radiators for steam-heaters
US5124987A (en) * 1990-04-16 1992-06-23 Storage Technology Corporation Logical track write scheduling system for a parallel disk drive array data storage subsystem
DE69127433T2 (de) * 1990-09-20 1998-01-02 Fujitsu Ltd Eingang-ausgangsteuerungseinrichtung
US5974544A (en) * 1991-12-17 1999-10-26 Dell Usa, L.P. Method and controller for defect tracking in a redundant array
US5657439A (en) * 1994-08-23 1997-08-12 International Business Machines Corporation Distributed subsystem sparing
US5651133A (en) * 1995-02-01 1997-07-22 Hewlett-Packard Company Methods for avoiding over-commitment of virtual capacity in a redundant hierarchic data storage system
US6154853A (en) * 1997-03-26 2000-11-28 Emc Corporation Method and apparatus for dynamic sparing in a RAID storage system
KR100261302B1 (ko) * 1997-10-24 2000-07-01 이계철 하다마드 코드 생성회로
US6067574A (en) 1998-05-18 2000-05-23 Lucent Technologies Inc High speed routing using compressed tree process
US6237061B1 (en) 1999-01-05 2001-05-22 Netlogic Microsystems, Inc. Method for longest prefix matching in a content addressable memory
JP3199051B2 (ja) 1999-02-10 2001-08-13 日本電気株式会社 キャッシュを有するルータの方路決定装置及びプログラムを記録した機械読み取り可能な記録媒体
US20020156974A1 (en) * 2001-01-29 2002-10-24 Ulrich Thomas R. Redundant dynamically distributed file system
EP1421522A1 (en) 2001-08-31 2004-05-26 Arkivio, Inc. Techniques for restoring data based on contents and attributes of the data
JP3579389B2 (ja) * 2001-11-30 2004-10-20 株式会社東芝 ディスクアレイ装置及び同装置におけるデータ復旧方法
JP2003186630A (ja) 2001-12-18 2003-07-04 Hitachi Ltd ディスクアレイ装置およびそのデータ退避方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03505935A (ja) * 1988-06-28 1991-12-19 ストレイジ テクノロジー コーポレイション ディスクドライブメモリ
JP2000056934A (ja) * 1998-08-05 2000-02-25 Hitachi Ltd 記憶サブシステム

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008521074A (ja) * 2004-11-05 2008-06-19 データ ロボティクス インコーポレイテッド 種々のサイズの格納デバイスを許容する動的にアップグレード可能な故障許容格納システムおよび方法
US7814273B2 (en) 2004-11-05 2010-10-12 Data Robotics, Inc. Dynamically expandable and contractible fault-tolerant storage system permitting variously sized storage devices and method
US7818531B2 (en) 2004-11-05 2010-10-19 Data Robotics, Inc. Storage system condition indicator and method
US7873782B2 (en) 2004-11-05 2011-01-18 Data Robotics, Inc. Filesystem-aware block storage system, apparatus, and method
US9043639B2 (en) 2004-11-05 2015-05-26 Drobo, Inc. Dynamically expandable and contractible fault-tolerant storage system with virtual hot spare
JP2009516282A (ja) * 2005-11-16 2009-04-16 インターナショナル・ビジネス・マシーンズ・コーポレーション 記憶アレイを再設定する装置及び方法
US7610506B2 (en) 2006-06-29 2009-10-27 Hitachi, Ltd. Data processing system, data processing method and storage apparatus
US7689858B2 (en) 2006-08-03 2010-03-30 Fujitsu Limited Data-recovery control device
US8392752B2 (en) 2009-10-19 2013-03-05 Fujitsu Limited Selective recovery and aggregation technique for two storage apparatuses of a raid
WO2013157032A1 (en) 2012-04-16 2013-10-24 Hitachi, Ltd. Storage subsystem and data management method of storage subsystem
US8930745B2 (en) 2012-04-16 2015-01-06 Hitachi, Ltd. Storage subsystem and data management method of storage subsystem
US9454333B2 (en) 2014-10-27 2016-09-27 International Business Machines Corporation Parity logs for RAID systems with variable capacity media

Also Published As

Publication number Publication date
US20070061514A1 (en) 2007-03-15
US7330932B2 (en) 2008-02-12
JP4493321B2 (ja) 2010-06-30
US7136964B2 (en) 2006-11-14
US20050108475A1 (en) 2005-05-19

Similar Documents

Publication Publication Date Title
JP4493321B2 (ja) ディスクアレイ装置及びデータ退避方法
JP2501752B2 (ja) コンピユ―タ・システムのストレ―ジ装置及びデ―タのストア方法
JP5158074B2 (ja) ストレージ管理プログラム、ストレージ管理方法、ストレージ管理装置およびストレージシステム
US7840838B2 (en) Rapid regeneration of failed disk sector in a distributed database system
US7028216B2 (en) Disk array system and a method of avoiding failure of the disk array system
JP6009095B2 (ja) ストレージシステム及び記憶制御方法
JPWO2006123416A1 (ja) ディスク故障復旧方法及びディスクアレイ装置
JP4711688B2 (ja) ストレージシステム
JP4633886B2 (ja) ディスクアレイ装置
JP2005301419A (ja) ディスクアレイ装置およびそのデータ処理方法
JP4457019B2 (ja) 情報処理システム及び一次ストレージ装置
US20180307427A1 (en) Storage control apparatus and storage control method
JP2003131818A (ja) クラスタ構成ストレージにおけるクラスタ間raid構成
JPH07200187A (ja) ディスクアレイ装置
US20130159656A1 (en) Controller, computer-readable recording medium, and apparatus
JP2006331076A (ja) データ記憶システム及び記憶方法
JP2006004078A (ja) ディスク制御装置、ディスクパトロール方法およびディスクパトロールプログラム
JP5924117B2 (ja) コンピュータ、データ格納方法、データ格納プログラム及び情報処理システム
US20050223180A1 (en) Accelerating the execution of I/O operations in a storage system
JPH06119125A (ja) ディスクアレイ装置
JP2009252114A (ja) ストレージシステム及びデータ退避方法
JPH1124849A (ja) 障害回復方法および装置
JP2000056934A (ja) 記憶サブシステム
US12073089B2 (en) Storage device and data recovery method by storage device
EP0911722A2 (en) Disk array device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061023

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20061023

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090825

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091016

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100112

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100406

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130416

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130416

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140416

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees