JP2005044182A - ディスクアレイ装置およびプログラム - Google Patents

ディスクアレイ装置およびプログラム Download PDF

Info

Publication number
JP2005044182A
JP2005044182A JP2003278405A JP2003278405A JP2005044182A JP 2005044182 A JP2005044182 A JP 2005044182A JP 2003278405 A JP2003278405 A JP 2003278405A JP 2003278405 A JP2003278405 A JP 2003278405A JP 2005044182 A JP2005044182 A JP 2005044182A
Authority
JP
Japan
Prior art keywords
disk
parity
data
block
disk array
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
JP2003278405A
Other languages
English (en)
Other versions
JP3766079B2 (ja
Inventor
Takashi Horie
高志 保理江
Yusaku Nakajima
雄作 中島
Kimihisa Kondo
公久 近藤
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.)
NTT Data Group Corp
Original Assignee
NTT Data Corp
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 NTT Data Corp filed Critical NTT Data Corp
Priority to JP2003278405A priority Critical patent/JP3766079B2/ja
Publication of JP2005044182A publication Critical patent/JP2005044182A/ja
Application granted granted Critical
Publication of JP3766079B2 publication Critical patent/JP3766079B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Abstract

【課題】 システムの稼動を妨げずに、ディスクアレイを適切に統合することのできるディスクアレイ装置を提供することである。
【解決手段】 パリティ移行制御部16は、所定のオンライン処理等を実行するホストコンピュータ20から各ディスク11a〜13へのアクセス状況を監視しつつ、ディスクアレイA1,A2を統合する。つまり、先頭ブロックから最終ブロックまでのブロック単位に、パリティディスク11c,12cの各ローカルパリティからグローバルパリティを求め、これをパリティディスク13に移行することにより、ディスクアレイA1,A2の統合を行う。その際、パリティ移行制御部16は、パリティ移行の完了していないデータブロックが更新された場合に、ローカルパリティを更新し、逆に、パリティ移行の完了したデータブロックが更新された場合に、グローバルパリティを更新する。
【選択図】 図1

Description

この発明は、ディスクアレイを適切に統合することのできるディスクアレイ装置およびプログラムに関する。
従来より、種々のコンピュータシステムにおいて、ディスクアレイ装置が使用されている。このディスクアレイ装置は、内蔵した複数のディスクユニット(ハードディスク等の磁気ディスク機器)を並列動作させることにより、データの書き込みやデータの読み出しを高速に行うことを特徴としている。また、冗長性を持たせることにより、信頼性の向上も図っている。
具体的にディスクアレイ装置は、RAID(Redundant Arrays of Inexpensive Disks)技術を採用することで、高速性と高信頼性とを両立させている。このRAIDは、種々のレベルに分類されており、その代表的なものとして、RAID4(レベル4)及び、RAID5(レベル5)が挙げられる。
RAID4は、例えば、入力データを1セクタ単位(或いは、数セクタ単位)に分割し、分割した各データブロックを複数のディスクユニット(データディスク)に分散して格納する。また、分割したデータブロックからパリティデータを生成し、生成したパリティデータを特定のディスクユニット(パリティディスク)に格納している。
一方、RAID5も、RAID4と同様に、分割した各データブロックを複数のデータディスクに分散して格納する。それでも、RAID4と異なり、RAID5は、パリティディスクを持たずに、パリティデータを各データディスクに適宜格納している。
このようなディスクアレイ装置の一例を図17に示す。図17は、RAID4が適用されたディスクアレイ装置100を含んだコンピュータシステムの一例を示すブロック図である。
図示するようにディスクアレイ装置100は、データディスク101,102と、パリティディスク103と、ディスクコントローラ104と、ディスクI/F105と、を含んで構成される。
データディスク101,102、及び、パリティディスク103は、ハードディスク等のディスクユニットからなる。そして、データディスク101,102は、分割されたデータブロック(ストライプ)を記憶する。また、パリティディスク103は、パリティデータ(冗長データ)を記憶する。
ディスクコントローラ104は、データの書き込み時に、ホストコンピュータ200から送られたデータを分割し、分割した各データブロックを、データディスク101,102に分散して格納する。その際、ディスクコントローラ104は、各データブロックの排他的論理和を演算してパリティデータを生成し、このパリティデータをパリティディスク103に格納する。
また、ディスクコントローラ104は、データの読み出し時に、データディスク101,102に格納されたデータブロックをそれぞれ読み出すと、各データブロックを結合し、結合したデータをホストコンピュータ200に供給する。
なお、データディスク101,102の何れか一方に障害が発生した場合でも、ディスクコントローラ104は、パリティディスク103に格納されたパリティデータを使用して、データブロックの復元が可能である。
例えば、データディスク101が故障した場合に、ディスクコントローラ104は、データディスク102から読み出したデータブロックと、パリティディスク103から読み出したパリティデータとの排他的論理和を演算し、データディスク101のデータブロックを復元する。
ディスクI/F(インタフェース)105は、ホストコンピュータ200とディスクアレイ装置100とを接続する。
一方、ホストコンピュータ200は、例えば、サーバ等からなり、種々のデータをディスクアレイ装置100に記憶させ、また、ディスクアレイ装置100からデータを適宜読み出す。
そして、このようなディスクアレイ装置の障害時に対処する技術も開示されている(例えば、特許文献1参照)。
特開平11−24848号公報 (第7−13頁、第4図)
上述したようなディスクアレイ装置は、種々の業務のオンラインシステム等でも広く使用されている。そして、業務上におけるデータ管理の必要性から、ディスクアレイの統合が行われる場合も多い。
例えば、図17に示すディスクアレイ装置100において、データディスク101,102及び、パリティディスク103からなる既存のディスクアレイに、別のディスクアレイ(複数のデータディスク及びパリティディスク)を統合するような場合である。
しかしながら、このようなディスクアレイの統合は、オンラインシステムを停止させた状態で行う必要があった。つまり、従来のディスクアレイ装置では、ディスクアクセスが発生しないオフライン状態に移行させた後に、ディスクアレイの統合を行っていた。
そのため、ディスクアレイの統合中には、オンライン処理等が行えず、その間、顧客等に適切なサービスを提供できないという問題があった。
本発明は、上記実状に鑑みてなされたもので、システムの稼動を妨げずに、ディスクアレイを適切に統合することのできるディスクアレイ装置およびプログラムを提供することを目的とする。
上記目的を達成するため、本発明の第1の観点に係るディスクアレイ装置は、
データ群と冗長データを格納する複数のディスクユニットから構成されるディスクアレイを、複数有するディスクアレイ装置であって、
各ディスクユニットに対するデータの書き込み及び読み出しを制御するディスク制御手段と、
前記ディスク制御手段を制御して、各ディスクアレイを1つのディスクアレイに統合する統合制御手段とを備え、
前記統合制御手段は、各ディスクアレイ中の各冗長データを1つの冗長データに順次移行し、移行途中に任意のデータが更新された場合に、移行状況に応じて異なる冗長データを更新する、
ことを特徴とする。
この発明によれば、ディスク制御手段は、例えば、ディスクアレイコントローラ等からなり、ディスクアレイを構成する各ディスクユニットに対するデータの書き込み及び読み出しを制御する。統合制御手段は、ディスク制御手段を制御して、各ディスクアレイを1つのディスクアレイに統合する。より詳細に統合制御手段は、各ディスクアレイ中の各冗長データを1つの冗長データに順次移行し、移行途中に任意のデータが更新された場合に、移行状況に応じて異なる冗長データを更新する。
この結果、ディスクアレイ装置を使用するシステムの稼動を妨げずに、ディスクアレイを適切に統合することができる。
上記目的を達成するため、本発明の第2の観点に係るディスクアレイ装置は、
データブロック及びパリティデータを所定のブロック単位に格納する複数のディスクユニットから構成されるディスクアレイを、複数有するディスクアレイ装置であって、
各ディスクユニットに対するデータの書き込み及び読み出しを制御するディスク制御手段と、
前記ディスク制御手段を制御して、各ディスクアレイを1つのディスクアレイに統合する統合制御手段とを備え、
前記統合制御手段は、ブロック単位に、各ディスクユニットに格納された各パリティデータから1つのパリティデータを求め、求めたパリティデータを所定のディスクユニットに格納するパリティ移行を順次行い、パリティ移行途中に、任意のディスクユニットに格納されたデータブロックが更新された場合に、パリティ移行状況に応じて移行前後の何れかのパリティデータを更新する、
ことを特徴とする。
この発明によれば、ディスク制御手段は、例えば、ディスクアレイコントローラ等からなり、ディスクアレイを構成する各ディスクユニットに対するデータの書き込み及び読み出しを制御する。統合制御手段は、ディスク制御手段を制御して、各ディスクアレイを1つのディスクアレイに統合する。より詳細に統合制御手段は、ブロック単位に、各ディスクユニットに格納された各パリティデータから1つのパリティデータを求め、求めたパリティデータを所定のディスクユニットに格納するパリティ移行を順次行い、パリティ移行途中に、任意のディスクユニットに格納されたデータブロックが更新された場合に、パリティ移行状況に応じて移行前後の何れかのパリティデータを更新する。
この結果、ディスクアレイ装置を使用するシステムの稼動を妨げずに、ディスクアレイを適切に統合することができる。
上記目的を達成するため、本発明の第3の観点に係るディスクアレイ装置は、
所定のRAID方式が適用されたディスクアレイを複数有し、所定のホスト機器からアクセス可能なディスクアレイ装置であって、
ディスクアレイを構成する各ディスクユニットに対するデータの書き込み及び読み出しを制御するディスク制御手段と、
前記ディスク制御手段を制御して、ホスト機器からアクセスが発生し得る状態で、各ディスクアレイを1つのディスクアレイに統合する統合制御手段とを備え、
前記統合制御手段は、ブロック単位に、各ディスクユニットに格納された各パリティデータから1つのパリティデータを求め、求めたパリティデータを所定のディスクユニットに格納するパリティ移行を順次行い、パリティ移行途中に、任意のディスクユニットに格納されたデータブロックが更新された場合に、パリティ移行状況に応じて移行前後の何れかのパリティデータを更新する、
ことを特徴とする。
この発明によれば、ディスク制御手段はRAIDコントローラ等からなり、ディスクアレイを構成する各ディスクユニットに対するデータの書き込み及び読み出しを制御する。統合制御手段は、ディスク制御手段を制御して、ホスト機器からアクセスが発生し得る状態で、各ディスクアレイを1つのディスクアレイに統合する。より詳細に統合制御手段は、ブロック単位に、各ディスクユニットに格納された各パリティデータから1つのパリティデータを求め、求めたパリティデータを所定のディスクユニットに格納するパリティ移行を順次行い、パリティ移行途中に、任意のディスクユニットに格納されたデータブロックが更新された場合に、パリティ移行状況に応じて移行前後の何れかのパリティデータを更新する。
この結果、ディスクアレイ装置を使用するシステムの稼動を妨げずに、ディスクアレイを適切に統合することができる。
前記統合制御手段は、各ディスクアレイにRAID4が適用されている場合において、
パリティ移行の際に、求めたパリティデータを特定のディスクユニットに格納し、
移行済みブロックのデータブロックが更新された場合に、特定のディスクユニットに格納した移行済みのパリティデータを更新し、
未移行ブロックのデータブロックが更新された場合に、対応するディスクアレイのディスクユニットに格納した未移行のパリティデータを更新してもよい。
前記統合制御手段は、各ディスクアレイにRAID5が適用されている場合において、
パリティ移行の際に、求めたパリティデータを所定の条件により定まるディスクアレイのディスクユニットに格納し、
移行済みブロックのデータブロックが更新された場合に、移行済みのパリティデータを更新し、
未移行ブロックのデータブロックが更新された場合に、対応するディスクアレイのディスクユニットに格納した未移行のパリティデータを更新してもよい。
前記統合制御手段は、ディスクユニット毎に、移行済みのパリティデータの数をそれぞれ計測する計測手段を備え、
前記統合制御手段は、パリティ移行の際に、前記計測手段が計測した計測数に従って対象となるディスクユニットを逐次決定し、決定したディスクユニットにパリティデータを格納してもよい。
上記目的を達成するため、本発明の第4の観点に係るコンピュータプログラムは、
データ群と冗長データを格納する複数のディスクユニットから構成されるディスクアレイを複数有するコンピュータに、各ディスクユニットに対するデータの書き込み及び読み出しを制御するディスク制御ステップと、各ディスクアレイ中の各冗長データを1つの冗長データに順次移行する移行ステップと、前記移行ステップによる移行途中に、任意のデータが更新された場合に、移行状況に応じて異なる冗長データを更新する更新制御ステップと、前記移行ステップ及び前記更新制御ステップを並行して制御することにより、各ディスクアレイを1つのディスクアレイに統合する統合制御ステップとを実行させることを特徴とする。
上記目的を達成するため、本発明の第4の観点に係るコンピュータプログラムは、
データブロック及びパリティデータを所定のブロック単位に格納する複数のディスクユニットから構成されるディスクアレイを複数有するコンピュータに、各ディスクユニットに対するデータの書き込み及び読み出しを制御するディスク制御ステップと、ブロック単位に、各ディスクユニットに格納された各パリティデータから1つのパリティデータを求め、求めたパリティデータを所定のディスクユニットに格納するパリティ移行を順次行う移行ステップと、前記移行ステップによるパリティ移行途中に、任意のディスクユニットに格納されたデータブロックが更新された場合に、パリティ移行状況に応じて移行前後の何れかのパリティデータを更新する更新制御ステップと、前記移行ステップ及び前記更新制御ステップを並行して制御することにより、各ディスクアレイを1つのディスクアレイに統合する統合制御ステップとを実行させることを特徴とする。
本発明によれば、システムの稼動を妨げずに、ディスクアレイを適切に統合することができる。
本発明の実施の形態にかかるディスクアレイ装置(RAID装置)について、以下図面を参照して説明する。
(実施形態1)
図1は、この発明の第1の実施の形態に適用されるRAID装置を含んだコンピュータシステムの構成の一例を示すブロック図である。図示するように、このシステムは、RAID装置10と、ホストコンピュータ20とを含んで構成される。
なお、このRAID装置10には、RAID4が適用されている。
また、RAID装置10とホストコンピュータ20とは、所定のインタフェースを介して接続されると共に、例えば、LAN(Local Area Network)等からなるネットワーク30を介しても接続されている。
RAID(Redundant Arrays of Inexpensive Disks)装置10は、データディスク11a,11bと、パリティディスク11cと、データディスク12a,12bと、パリティディスク12cと、パリティディスク13と、RAIDコントローラ14と、ディスクI/F15と、パリティ移行制御部16とを含んで構成される。
データディスク11a,11b,12a,12b及び、パリティディスク11c,12c,13は、ハードディスク等のディスクユニットからなる。
なお、データディスク11a,11b、及び、パリティディスク11cは、ディスクアレイA1を構成し、また、データディスク12a,12b、及び、パリティディスク12cは、ディスクアレイA2を構成している。そして、これらのディスクアレイA1,A2が統合対象となっている。
図2に、統合前の各ディスク11a〜13に格納されているデータ値(説明を容易にするための値)の一例を示す。
図示するように、ディスクアレイA1のデータディスク11a,11bは、ディスクアレイA1内(ローカル内)において分割されたデータブロックを記憶している。例えば、ブロックb1において、データディスク11a,11bは、ローカル内にて分割されたデータブロックd1,d2を記憶している。
また、パリティディスク11cは、ローカル内のデータブロックに対応したパリティデータ(ローカルパリティ)を記憶している。例えば、ブロックb1において、パリティディスク11cは、データブロックd1,d2同士の排他的論理和演算により求められたパリティデータp1(例えば、偶数パリティ)を記憶している。
同様に、ディスクアレイA2のデータディスク12a,12bは、ローカル内(この場合、ディスクアレイA2内)において分割されたデータブロックを記憶している。
そして、パリティディスク12cは、同様に、ローカル内のデータブロックに対応したパリティデータ(ローカルパリティ)を記憶している。
一方、パリティディスク13は、ディスクアレイA1,A2の統合中及び統合後に、全データブロックに対応したパリティデータ(グローバルパリティ)が格納される。
なお、統合前では、図2に示すように、パリティデータは未定である。
図1に戻って、RAIDコントローラ14は、上述した各ディスク11a〜13を制御して、データの書き込み及び、データの読み出しを行う。
例えば、データ書き込み時に、RAIDコントローラ14は、データを分割し、分割した各データブロックをデータディスク11a,11b,12a,12b(対象のデータディスク)に適宜格納する。また、データブロックに対応するパリティデータを求め、求めたパリティディスク11c,12c,13(対象のパリティディスク)に適宜格納する。
ディスクI/F(インタフェース)15は、例えば、所定規格の外部バス等からなり、ホストコンピュータ20と、RAID装置10とを接続する。
なお、ディスクI/F15は、ホストコンピュータ20からアクセス要求(例えば、書き込み要求/読み出し要求等)を受けると、一端、パリティ移行制御部16に、要求内容を通知する。
パリティ移行制御部16は、CPU(Central Processing Unit)及びメモリ等を含んだ周辺LSI(Large Scale Integration)からなり、RAID装置10全体を制御する。
パリティ移行制御部16は、ネットワーク30を介してホストコンピュータ20と接続され、ホストコンピュータ20からの指示に従って、オンライン中におけるディスクアレイA1,A2の統合を行う。
例えば、パリティ移行制御部16は、内部のメモリに記憶された後述する統合処理やパリティ移行処理等のプログラムを実行し、RAIDコントローラ14等を制御してディスクアレイA1,A2の統合を行う。その際、パリティ移行制御部16は、所定のオンライン処理等を実行するホストコンピュータ20から各ディスク11a〜13へのアクセス状況(アクセス負荷等)を監視しつつ、ディスクアレイA1,A2の統合をバックグラウンドで行う。
具体的にパリティ移行制御部16は、先頭ブロックから最終ブロックまでのブロック単位に、ディスクアレイA1,A2の2つのローカルパリティを1つのグローバルパリティに移行することにより、ディスクアレイA1,A2の統合を行う。つまり、パリティディスク11c,12cに記憶される各ローカルパリティを、ブロック毎に順番にグローバルパリティに変換してパリティディスク13に移行する。なお、各ブロックの移行順序は、移行ポインタにより管理される。
具体的には、図3(a)に示すように、移行開始時に、移行ポインタPtにより先頭ブロックb1が指し示されている。そして、パリティ移行制御部16は、このブロックb1において、パリティディスク11cのパリティデータと、パリティディスク12cのパリティデータとの排他的論理和を演算し、ブロックb1全体のパリティデータを求める。つまり、ブロックb1において、データディスク11a,11b,12a,12bの全データブロックに対応するグローバルパリティを求める。
そして、パリティ移行制御部16は、求めたパリティデータ(グローバルパリティ)をパリティディスク13に格納する。
ブロックb1のパリティ移行が済むと、図3(b)に示すように、元のローカルパリティは解放される。つまり、パリティディスク11c、12cにおけるブロックb1の各パリティデータは、図中において空白にて表示されるように、そのエリアが解放される。また、移行ポインタPtは、次のブロックb2を指し示すように移動する。
そして、パリティ移行制御部16は、上記と同様に、ブロックb2において、それぞれのローカルパリティ(パリティディスク11c,12cの2つのパリティデータ)の排他的論理和を演算してパリティデータ(グローバルパリティ)を求め、このパリティデータをパリティディスク13に格納する。
パリティ移行制御部16は、このようなパリティ移行を、先頭ブロックb1から最終ブロックbnまで順次行う。
ところで、このようなパリティ移行中に、ホストコンピュータ20からデータディスク11a,11b,12a,12bがアクセスされ、任意のデータブロックが更新される場合もある。
この場合、パリティ移行制御部16は、更新対象のデータブロックがパリティ移行の完了したブロックか否かを判別し、パリティディスク11c,12c、若しくは、パリティディスク13のパリティデータを適宜更新する。つまり、パリティ移行の完了していないデータブロックが更新された場合に、パリティ移行制御部16は、ローカルパリティを更新し、逆に、パリティ移行の完了したデータブロックが更新された場合に、グローバルパリティを更新する。なお、パリティ移行の未了/完了は、移行ポインタPtの位置により判別される。
例えば、図4(a)に示すように、パリティ移行が未了のブロックb7において、データディスク12aのデータブロックが更新(0から1に更新)された場合に、パリティ移行制御部16は、ローカルパリティとなるパリティディスク12cのパリティデータを更新(0から1に更新)する。
具体的にパリティ移行制御部16は、更新前のデータブロック(0)と、更新後のデータブロック(1)と、更新前のローカルパリティ(0)との排他的論理和を演算して、新たなパリティデータ(1)を求める。そして、求めたパリティデータをパリティディスク12cに格納する。
一方、図4(b)に示すように、パリティ移行が完了したブロックb2において、データディスク11aのデータブロックが更新(1から0に更新)された場合に、パリティ移行制御部16は、グローバルパリティとなるパリティディスク13のパリティデータを更新(0から1に更新)する。
具体的にパリティ移行制御部16は、更新前のデータブロック(1)と、更新後のデータブロック(0)と、更新前のグローバルパリティ(0)との排他的論理和を演算して、新たなパリティデータ(1)を求める。そして、求めたパリティデータをパリティディスク13に格納する。
図1に戻って、ホストコンピュータ20は、例えば、サーバや汎用コンピュータ等からなり、所定のオンライン処理を実行する。そして、このオンライン処理の実行に伴って、RAID装置10に必要なデータを書き込み、また、RAID装置10から必要なデータを読み出す。
また、ホストコンピュータ20は、ネットワーク30を介して、パリティ移行制御部16にディスクアレイA1,A2の統合を指示する。
以下、この発明の実施の形態にかかるRAID装置の動作について、図5等を参照して説明する。図5は、パリティ移行制御部16が実行する統合処理を説明するためのフローチャートである。
この統合処理は、例えば、ホストコンピュータ20からパリティ移行制御部16にディスクアレイA1,A2の統合指示が送られた際に開始される。
なお、ホストコンピュータ20は、所定のオンライン処理を実行中であり、この統合処理は、このオンライン処理のバックグラウンドで実行される。
まず、パリティ移行制御部16は、移行ポインタPtに先頭ブロックの値をセットする(ステップS10)。つまり、上述の図3(a)に示すように、移行ポインタPtが先頭ブロックb1を指し示すようにする。
パリティ移行制御部16は、各ディスク11a〜13の負荷が規定値よりも小さいか否かを判別する(ステップS11)。つまり、パリティ移行制御部16は、オンライン処理を実行しているホストコンピュータ20から各ディスク11a〜13へのアクセス状況を監視し、そのアクセス負荷が、予め定められた規定値よりも小さいか否かを判別する。
パリティ移行制御部16は、各ディスク11a〜13の負荷が小さいと判別すると、パリティ移行処理を実行する(ステップS12)。つまり、パリティ移行制御部16は、ディスクアレイA1,A2を順次統合するために、パリティ移行処理を実行する。このパリティ移行処理について、図6を参照して詳細に説明する。
図6のパリティ移行処理において、まず、パリティ移行制御部16は、移行ポインタPtにて示されるブロックのグローバルパリティに0をセットする(ステップS21)。つまり、移行ポインタPtに示されるパリティディスク13のパリティデータに初期値の0をセットする。
パリティ移行制御部16は、移行ポインタPtにて示されるブロックにおいて、グローバルパリティと一方のローカルパリティとの排他的論理和を演算し、求めたデータをグローバルパリティにセットする(ステップS22)。
そして、パリティ移行制御部16は、全てのローカルパリティの演算を終えたか(全パリティ分完了したか)否かを判別する(ステップS23)。ここで、全パリティ分完了していないと判別すると、上述のステップS22に処理を戻す。
つまり、パリティ移行制御部16は、1回目に、グローバルパリティ(初期値の0)とパリティディスク11cのパリティデータとの排他的論理和を演算し、また、2回目に、グローバルパリティ(前回の演算結果)とパリティディスク12cのパリティデータとの排他的論理和を演算する。
これにより、全てのローカルパリティ同士の排他的論理和が演算され、得られたパリティデータがパリティディスク13に格納されることになる(グローバルパリティの初期値が0であるため)。
すなわち、上述の図3(a)、(b)に示すように、パリティディスク11c,12cのパリティデータ(各ローカルパリティ)が、パリティディスク13のパリティデータ(グローバルパリティ)に移行されることになる。その際、移行された元のローカルパリティは、解放される。
そして、ステップS23にて、全パリティ分演算が完了したと判別した場合に、パリティ移行制御部16は、移行ポインタPtに1を加算する(ステップS24)。つまり、パリティ移行の対象を次のブロックに進める。
そして、パリティ移行制御部16は、パリティ移行処理を終え、図5の統合処理に処理を戻す。
図5に戻って、パリティ移行制御部16は、ステップS12のパリティ移行処理を終え、最終ブロックまでパリティ移行が完了したか否かを判別する(ステップS13)。つまり、移行ポインタPtに従って、全てのブロックに対してパリティ移行が完了したか否かを判別する。
パリティ移行制御部16は、最終ブロックまで完了していないと判別すると、ステップS14に処理を進める。また、上述のステップS11にて、ディスク負荷が規定値より小さくない(ディスク負荷が大である)と判別した場合も、パリティ移行制御部16は、ステップS14に処理を進める。
そして、パリティ移行制御部16は、ホストコンピュータ20からのアクセス要求により、書き込みが発生したか否かを判別する(ステップS14)。つまり、オンライン処理を実行中のホストコンピュータ20から、データディスク11a,11b,12a,12bの任意のデータブロックへの書き込みが発生したか否かを判別する。
パリティ移行制御部16は、書き込みが発生していないと判別すると、ステップS11に処理を戻し、上述のステップS11〜S14等の処理を繰り返し実行する。
なお、書き込みでなく、読み込みが発生した場合に、パリティ移行制御部16は、RAIDコントローラ14を制御して、データディスク11a,11b,12a,12bから対象のデータブロックをそれぞれ読み出し、各データブロックを結合させてホストコンピュータ20に送信させる。
一方、書き込み要求が発生したと判別した場合に、パリティ移行制御部16は、ホストコンピュータ20からの要求に従って、何れかのデータディスク11a,11b,12a,12bのデータブロックを更新する(ステップS15)。つまり、パリティ移行制御部16は、RAIDコントローラ14を制御して、何れかのディスク中における対象のデータブロックの更新を行わせる。
なお、RAIDコントローラ14は、データブロックの更新に先立って、更新前のデータブロックの値を読み出しているものとする。
パリティ移行制御部16は、更新したデータブロックがパリティ移行の完了したブロックであるか否かを判別する(ステップS16)。つまり、パリティ移行制御部16は、現在の移行ポインタPtの位置に従って、更新したデータブロックが属するブロックがパリティ移行を完了しているか否かを判別する。
パリティ移行制御部16は、パリティ移行が完了したブロックであると判別すると、新たなパリティデータを求め、グローバルパリティを更新する(ステップS17)。
つまり、パリティ移行制御部16は、更新前データブロックと、更新後のデータブロックと、更新前のパリティデータ(グローバルパリティ)との排他的論理和を演算して、新たなパリティデータを求める。そして、求めたパリティデータをパリティディスク13に格納する。
すなわち、上述の図4(b)に示すように、パリティ移行が完了したデータブロックが更新されると、パリティディスク13のパリティデータ(グローバルパリティ)が更新されることになる。
一方、パリティ移行が完了したブロックでない(パリティ移行が未了のブロックである)と判別すると、パリティ移行制御部16は、新たなパリティデータを求め、ローカルパリティを更新する(ステップS18)。
つまり、パリティ移行制御部16は、更新前のデータブロックと、更新後のデータブロックと、更新前のパリティデータ(ローカルパリティ)との排他的論理和を演算して、新たなパリティデータを求める。そして、求めたパリティデータをパリティディスク11c,12cに適宜格納する(対象のパリティディスクに格納する)。
すなわち、上述の図4(a)に示すように、パリティ移行が完了していないデータブロックが更新されると、ローカルパリティ(この場合、パリティディスク12cのパリティデータ)が更新されることになる。
このように、グローバルパリティ若しくは、ローカルパリティを更新すると、パリティ移行制御部16は、ステップS11に処理を戻し、上述のステップS11〜18等の処理を繰り返し実行する。
また、上述のステップS13にて、最終ブロックまでパリティ移行が完了したと判別した場合に、パリティ移行制御部16は、ネットワーク30を介して、ホストコンピュータ20にディスクアレイA1,A2の統合が完了したことを通知する(ステップS19)。
そして、パリティ移行制御部16は、RAIDコントローラ14に対してディスクアレイの構成の変更を指示する。
これにより、図7に示すように、各ディスク11a〜13が1つのディスクアレイに統合される。また、パリティデータの移行が済んだパリティディスク11c,12cは、そのエリアが解放されているため、再利用することができる。
例えば、再利用可能となったパリティディスク11c,12cを、データディスクとしてデータブロックを格納することも可能である。これにより、統合されたディスクアレイにおいて、負荷の均等化及び分散化を図ることができる。
このような統合処理(パリティ移行処理)により、ホストコンピュータ20にてオンライン処理が実行されている場合でも、パリティ移行を行い、ディスクアレイを統合することができる。つまり、システムの稼動を妨げずに、ディスクアレイを適切に統合することができる。
また、上述した統合処理(パリティ移行処理)においては、説明の理解を容易にするために、パリティ移行とデータブロックの更新とが、同時に行われないかのように説明した。
しかしながら、実際には、パリティ移行とデータブロックの更新とは、適宜並行して実行される。
例えば、パリティ移行が完了していないデータブロックの更新と、パリティデータの移行(グローバルパリティの更新)とは、並行して行うことができる。
つまり、上述の図4(a)に示すようなパリティ移行が完了していないデータブロックの更新時には、ローカルパリティ(この場合は、パリティディスク12cのパリティデータ)が更新される。これと並行して、ブロックb3のパリティ移行を行っても、更新されるのは、グローバルパリティ(パリティディスク13のパリティデータ)である。このため、ローカルパリティ及びグローバルパリティの更新が競合しないことになり、データブロックの更新と、パリティ移行とを並行して行うことができる。
また、ホストコンピュータ20からのデータの読み出しと、パリティ移行とは、特に制限なく、並行して行うことができる。
ところで、上述した統合処理(パリティ移行処理)により、ディスクアレイA1,A2は、1つのディスクアレイに統合されるが、この統合化によりブロックの配置が変更されることになる。
具体的には、図8(a)に示すdev1とdev2とがパリティ移行処理により、図8(b)に示すdev3に統合された場合に、各ブロックの配置が変更される。一例として、図8(a)に示すdev1のブロックb16は、移行後において、図8(b)に示すdev3のブロックb30として扱われることになる。
そして、ホストコンピュータ20のアプリケーション側からは、統合前のディスクアレイに対して、旧デバイス名により利用(参照)できる必要がある。
これを可能とするために、シンボリックリンク等を用いて、旧デバイス名から新デバイス名への対応が行えるようにする。例えば、図9(a)に示すように、シンボリックリンクを用いて、新旧デバイスの対応関係を示すことになる。
それでも、内部的には、dev1は、データディスク11a,11bにマッピングされ、一方、dev2は、データディスク12a,12bにマッピングされたままである。このためフラグメンテーション状態となり、パフォーマンス上に問題が生じることになる。
そのため、デフラグ(ディスクの最適化)を行い、図9(b)に示すように、dev1、dev2がデータディスク11a,11b,12a,12b全てにマッピングされるようにする。例えば、dev1のブロックb1〜b16をdev3のブロックb1〜b16に再配置し、そして、dev2のブロックb1〜b16をdev3のブロックb17〜b32に再配置する。
これにより、統合後において、ディスクアクセスのパフォーマンスを向上させることができる。
上記の第1の実施の形態では、2つのディスクアレイを1つのディスクアレイに統合する場合について説明した。しかしながら、統合対象となるディスクアレイの数は、2つに限られず複数であれば、適宜適用可能である。
また、上記の第1の実施の形態では、RAID4が適用された複数のディスクアレイを、RAID4が適用された1つのディスクアレイに統合する場合について説明した。
しかしながら、統合対象のディスクアレイはRAID4に限られず、他のレベルのRAIDが適用されたディスクアレイであっても適宜適用可能である。例えば、RAID5が適用された複数のディスクアレイを、RAID5が適用された1つのディスクアレイに統合してもよい。
以下、RAID5が適用されたディスクアレイを統合する場合について説明する。
(実施形態2)
図10は、この発明の第2の実施の形態に適用されるRAID装置を含んだコンピュータシステムの構成の一例を示すブロック図である。図示するように、このシステムは、RAID装置40と、ホストコンピュータ20とを含んで構成される。
なお、このコンピュータシステムは、RAID装置40にRAID5が適用されていることを除き、他の構成は、上述した図1に示す第1の実施の形態に係るコンピュータシステムと同様である。
RAID装置40は、データディスク41a,41b,41c,42a,42b,42cと、RAIDコントローラ14と、ディスクI/F15と、パリティ移行制御部16とを含んで構成される。
各データディスク41a〜42cは、ハードディスク等のディスクユニットからなる。なお、データディスク41a,41b,41cは、ディスクアレイA3を構成し、また、データディスク42a,42b,42cは、ディスクアレイA4を構成している。そして、これらのディスクアレイA3,A4が統合対象となっている。
図11に、統合前の各ディスク41a〜42cに格納されているデータ値(説明を容易にするための値)の一例を示す。
図示するように、ディスクアレイA3のデータディスク41a,41b,41cは、ディスクアレイA3内(ローカル内)において分割されたデータブロック及び、ローカル内のデータブロックに対応したパリティデータ(ローカルパリティ)を適宜記憶している。なお、図中において、パリティデータは、網掛けにて示されている。
具体的には、このパリティデータは、ディスクアレイA3内において、ラウンドロビン形式にて格納されている。
同様に、ディスクアレイA4のデータディスク42a,42b,42cは、ローカル内(この場合、ディスクアレイA4内)において分割されたデータブロック及び、ローカル内のデータブロックに対応したパリティデータ(ローカルパリティ)を適宜記憶している。
図10に戻って、RAIDコントローラ14、ディスクI/F15、及び、パリティ移行制御部16の構成は、図1に示すRAID装置10の構成と同一である。
つまり、パリティ移行制御部16は、所定のオンライン処理等を実行するホストコンピュータ20から各ディスク41a〜42cへのアクセス状況(アクセス負荷等)を監視しつつ、ディスクアレイA3,A4の統合をバックグラウンドで行う。その際、パリティ移行制御部16等は、RAID5が適用されているディスクアレイA3,A4に対応した動作を行う。
具体的にパリティ移行制御部16は、先頭ブロックから最終ブロックまでのブロック単位に、ディスクアレイA3,A4に適宜格納された2つのローカルパリティを1つのグローバルパリティに移行することにより、ディスクアレイA3,A4の統合を行う。
すなわち、パリティ移行制御部16は、図12(a)に示すように、移行開始時に、移行ポインタPtにより指し示される先頭ブロックb1において、データディスク41a,42aに格納されたパリティデータ(各ローカルパリティ)同士の排他的論理和を演算し、ブロックb1全体のパリティデータ(グローバルパリティ)を求める。
そして、パリティ移行制御部16は、図12(b)に示すように、求めたパリティデータ(グローバルパリティ)をデータディスク41aに格納する。
このようにブロックb1のパリティ移行が済むと、不要となったデータディスク42aのパリティデータ(エリア)には、「0」が格納された上で解放される。なお、図中では、開放されたエリアを楕円にて表している。また、移行ポインタPtは、次のブロックb2を指し示すように移動する。
続いて、パリティ移行制御部16は、図13(a)に示すように、ブロックb2において、データディスク41b,42bのパリティデータ(各ローカルパリティ)同士の排他的論理和を演算してパリティデータ(グローバルパリティ)を求める。そして、図13(b)に示すように、求めたパリティデータをデータディスク41bに格納する。また、同様に、不要となったデータディスク42bのパリティデータには、「0」が格納された上で解放される。
このようなパリティ移行を、パリティ移行制御部16は、先頭ブロックb1から最終ブロックbnまで順次行う。
なお、パリティ移行制御部16は、パリティ移行時に、グローバルパリティ(パリティデータ)を格納するデータディスク(各ディスク41a〜42c)を適宜決定している。この決定手法は、移行後のグローバルパリティが各ディスク41a〜42cに適切に分散されれば、任意である。
例えば、パリティ移行制御部16に、各ディスク41a〜42c単位に、グローバルパリティの数をそれぞれ計測するカウンタを設け、このカウンタによる計測数に従って、グローバルパリティが各ディスク41a〜42cに適切に分散されるようにしてもよい。
具体的に説明すると、カウンタは、パリティ移行前に、各ディスク41a〜42に対応した計測数を0にする。
パリティ移行が開始され、図12(a)に示すように、データディスク41a,42aからグローバルパリティが求められると、両方のディスクに対応する計測数(カウンタの値)が0(同数)なので、パリティ移行制御部16は、特定の優先順序に従って、データディスク41aを対象ディスクと決定する。
そして、図12(b)に示すように、グローバルパリティがデータディスク41aに格納されると、カウンタは、このディスクに対応した計測数に1を加算する。
その後、パリティ移行がブロックb4に進んだ場合、図12(a)と同様に、データディスク41a,42aからグローバルパリティが求められることになる。この際、データディスク41aに対応した計測数(カウンタの値)が1であり、データディスク42aに対応した計測数が0であるため、パリティ移行制御部16は、数の少ない方のデータディスク42aを対象ディスクと決定する。そして、グローバルパリティがデータディスク42aに格納されると、カウンタは、このディスクに対応した計測数に1を加算する。
このように、パリティ移行制御部16は、カウンタによる計測数に従って、グローバルパリティを各ディスク41a〜42cに適切に分散されるようにすることができる。
ところで、このようなパリティ移行中に、ホストコンピュータ20からデータディスク41a〜42cがアクセスされ、任意のデータブロックが更新される場合もある。
この場合、パリティ移行制御部16は、更新対象のデータブロックがパリティ移行の完了したブロックか否かを判別し、パリティデータを適宜更新する。つまり、パリティ移行の完了していないデータブロックが更新された場合に、パリティ移行制御部16は、ローカルパリティを更新し、逆に、パリティ移行の完了したデータブロックが更新された場合に、グローバルパリティを更新する。
例えば、図14(a)に示すように、パリティ移行が未了のブロックb4において、データディスク41cのデータブロックが更新(1から0に更新)された場合に、パリティ移行制御部16は、ローカルパリティとなるデータディスク41aのパリティデータを更新(0から1に更新)する。
具体的にパリティ移行制御部16は、更新前のデータブロック(1)と、更新後のデータブロック(0)と、更新前のローカルパリティ(0)との排他的論理和を演算して、新たなパリティデータ(1)を求める。そして、求めたパリティデータをデータディスク41aに格納する。
一方、図14(b)に示すように、パリティ移行が完了したブロックb2において、データディスク41aのデータブロックが更新(1から0に更新)された場合に、パリティ移行制御部16は、グローバルパリティとなる、データディスク41bのパリティデータを更新(0から1に更新)する。
具体的にパリティ移行制御部16は、更新前のデータブロック(1)と、更新後のデータブロック(0)と、更新前のグローバルパリティ(0)との排他的論理和を演算して、新たなパリティデータ(1)を求める。そして、求めたパリティデータを、データディスク41bに格納する。
更に、図15(a)に示すように、パリティ移行が完了したブロックb3において、開放されたデータディスク42cのデータブロック(元のパリティデータ)が更新(0から1に更新)された場合に、パリティ移行制御部16は、グローバルパリティとなる、データディスク41cのパリティデータを更新(0から1に更新)する。
具体的にパリティ移行制御部16は、更新前のデータブロック(0)と、更新後のデータブロック(1)と、更新前のグローバルパリティ(0)との排他的論理和を演算して、新たなパリティデータ(1)を求める。そして、求めたパリティデータを、データディスク41cに格納する。
このようにして、パリティ移行制御部16は、データブロックの更新を適宜行いながら、最終ブロックbnまでパリティ移行を行う。そして、最終ブロックbnまでパリティ移行が完了すると、パリティ移行制御部16は、ホストコンピュータ20に統合完了を通知すると共に、RAIDコントローラ14に対してディスクアレイの構成の変更を指示する。
これにより、図15(b)に示すように、各データディスク41a〜42cが1つのディスクアレイに統合される。また、統合後に、各データディスク41a〜42cは、パリティデータの移行が済んだエリアが解放されているため、そのエリアを再利用することができる。
このように、ホストコンピュータ20にてオンライン処理が実行されている場合でも、RAID5が適用された複数のディスクアレイを、1つのディスクアレイに統合することができる。つまり、システムの稼動を妨げずに、ディスクアレイを適切に統合することができる。
上記の第1及び、第2の実施の形態では、同じレベルのRAIDが適用された複数のディスクアレイを統合する場合について説明したが、異なるレベルのRAIDが適用された複数のディスクアレイを統合する場合についても適宜適用可能である。
例えば、RAID4が適用されたディスクアレイとRAID5が適用されたディスクアレイとを統合して、RAID4が適用された1つのディスクアレイに統合してもよい。
また、上記の第1及び、第2の実施の形態では、パリティ移行を、先頭ブロックから最終ブロックまで行う場合について説明したが、パリティ移行の順序は、これに限られず任意である。
例えば、最終ブロックから先頭ブロックまでパリティデータの移行を行ってもよい。また、パリティデータの移行状況をビットマップ表等により管理しつつ、パリティ移行を行うプロセスを複数起動して、並行処理方式によりパリティデータの移行を行ってもよい。
更に、監視しているディスク負荷の状況に応じて、パリティ移行処理のプライオリティを増減し、バックグラウンドプロセスがオンライン処理等にあまり影響を与えないように制御してもよい。
また、上記の第1及び、第2の実施の形態では、RAID装置(ディスクアレイ装置)におけるディスクアレイの統合について説明したが、他のシステムにおけるディスクアレイの統合にも適宜適用可能である。
例えば、擬似的なRAID構成を有する分散ファイルシステムにおけるディスクアレイの統合に適用してもよい。
以下、このような分散ファイルシステムについて説明する。
(実施形態3)
図16は、この発明の第3の実施の形態に適用される分散ファイルシステムの構成の一例を示すブロック図である。図示するように、このシステムは、制御ホストコンピュータ50と、ホストコンピュータ51,52,53,54,55,56,57と、メタサーバ58がネットワーク60を介して接続されている。そして、ホストコンピュータ51〜57には、各ディスク11a〜13が対応して接続されている。
なお、各ディスク11a〜13は、図1に示す第1の実施の形態の各ディスクと同様である。そして、同様にディスクアレイA1,A2が統合対象となっている。
制御ホストコンピュータ50は、分散ファイルシステム全体を制御する。そして、ディスクアレイA1,A2を統合する際に、図1に示すパリティ移行制御部16と同様の働きをする。
つまり、制御ホストコンピュータ50は、各ホストコンピュータ51〜57から各ディスク11a〜13へのアクセス状況(アクセス負荷等)を監視しつつ、メタサーバ58を制御して、ディスクアレイA1,A2の統合を行う。
なお、具体的なディスクアレイA1,A2の統合手法は、上述した第1の実施の形態と同様である。
ホストコンピュータ51〜57は、システムとしてのデータアクセス処理を各ディスクに対して行う。
そして、メタサーバ58は、図1に示すRAIDコントローラ14と同様の働きをする。つまり、メタサーバ58は、制御ホストコンピュータ50に制御され、パリティディスク11c,12cに記憶される各ローカルパリティを、ブロック毎に順番にグローバルパリティに変換してパリティディスク13に移行する。
このような擬似的なRAID構成を有する分散ファイルシステムにおいても、上述した第1の実施の形態と同様に、RAID4が適用された複数のディスクアレイを、1つのディスクアレイに統合することができる。つまり、システムの稼動を妨げずに、ディスクアレイを適切に統合することができる。
また、上記の第3の実施の形態では、RAID4が適用された複数のディスクアレイを、1つのディスクアレイに統合する場合について説明した。
しかしながら、統合対象のディスクアレイはRAID4に限られず、他のレベルのRAIDが適用されたディスクアレイであっても適宜適用可能である。例えば、上記の第2の実施の形態と同様に、RAID5が適用された複数のディスクアレイを、1つのディスクアレイに統合してもよい。
上記の第1〜第3の実施の形態では、冗長データとして、パリティデータを一例として説明したが、パリティデータ以外でも適宜適用可能である。なお、パリティデータ以外を冗長データとして使用する場合には、冗長データに応じて、上述したパリティ移行に相当する処理を適宜行うことにより、ローカルな冗長データからグローバルな冗長データに移行するものとする。
なお、この発明の実施の形態にかかるRAID装置等は、専用機器によらず、通常のコンピュータシステムを用いて実現可能である。例えば、コンピュータに上述のいずれかを実行するためのプログラムを格納した媒体(フレキシブルディスク、CD−ROM等)から当該プログラムをインストールすることにより、上述の処理を実行するRAID装置等を構成することができる。
また、コンピュータにプログラムを供給するための手法は、任意である。例えば、通信回線、通信ネットワーク、通信システム等を介して供給してもよい。一例を挙げると、通信ネットワークの掲示板(BBS)に当該プログラムを掲示し、これをネットワークを介して搬送波に重畳して配信する。
そして、このプログラムを起動し、OSの制御下で、他のアプリケーションプログラムと同様に実行することにより、上述の処理を実行することができる。
以上説明したように、本発明によれば、システムの稼動を妨げずに、ディスクアレイを適切に統合することができる。
本発明の第1の実施の形態に係るRAID装置を含んだコンピュータシステムの構成の一例を示すブロック図である。 統合前における各ディスクに格納される値の一例を示す模式図である。 (a),(b)共に、パリティデータ移行の様子を説明するための模式図である。 (a),(b)共に、パリティ移行中におけるデータブロックの更新の様子を説明するための模式図である。 本発明の実施の形態に係る統合処理の一例を示すフローチャートである。 本発明の実施の形態に係るパリティ移行処理の一例を示すフローチャートである。 統合後における各ディスクの値の一例を説明するための模式図である。 統合化により変更されるブロックの配置を説明するための模式図であり、(a)が移行前のブロック配置であり、(b)が移行後のブロック配置である。 シンボリックリンクの一例を示す模式図であって、(a)が統合直後を示す図であり、(b)がデフラグ後を示す図である。 本発明の第2の実施の形態に係るRAID装置を含んだコンピュータシステムの一例を示すブロック図である。 統合前における各ディスクに格納される値の一例を示す模式図である。 (a),(b)共に、最初のパリティデータ移行の様子を説明するための模式図である。 (a),(b)共に、次のパリティデータ移行の様子を説明するための模式図である。 (a),(b)共に、パリティ移行中におけるデータブロックの更新の様子を説明するための模式図である。 (a)がパリティ移行中におけるデータブロックの更新の様子を説明する模式図であり、(b)が統合後における各ディスクの値の一例を説明するための模式図である。 本発明の第3の実施の形態に係る分散ファイルシステムの一例を示すブロック図である。 従来のディスクアレイ装置を含んだコンピュータシステムの一例を示すブロック図である。
符号の説明
10 RAID装置
11a、11b、12a、12b データディスク
11c、12c、13 パリティディスク
14 RAIDコントローラ
15 ディスクI/F
16 パリティ移行制御部
20 ホストコンピュータ
30 ネットワーク

Claims (8)

  1. データ群と冗長データを格納する複数のディスクユニットから構成されるディスクアレイを、複数有するディスクアレイ装置であって、
    各ディスクユニットに対するデータの書き込み及び読み出しを制御するディスク制御手段と、
    前記ディスク制御手段を制御して、各ディスクアレイを1つのディスクアレイに統合する統合制御手段とを備え、
    前記統合制御手段は、各ディスクアレイ中の各冗長データを1つの冗長データに順次移行し、移行途中に任意のデータが更新された場合に、移行状況に応じて異なる冗長データを更新する、
    ことを特徴とするディスクアレイ装置。
  2. データブロック及びパリティデータを所定のブロック単位に格納する複数のディスクユニットから構成されるディスクアレイを、複数有するディスクアレイ装置であって、
    各ディスクユニットに対するデータの書き込み及び読み出しを制御するディスク制御手段と、
    前記ディスク制御手段を制御して、各ディスクアレイを1つのディスクアレイに統合する統合制御手段とを備え、
    前記統合制御手段は、ブロック単位に、各ディスクユニットに格納された各パリティデータから1つのパリティデータを求め、求めたパリティデータを所定のディスクユニットに格納するパリティ移行を順次行い、パリティ移行途中に、任意のディスクユニットに格納されたデータブロックが更新された場合に、パリティ移行状況に応じて移行前後の何れかのパリティデータを更新する、
    ことを特徴とするディスクアレイ装置。
  3. 所定のRAID(Redundant Arrays of Inexpensive Disks)方式が適用されたディスクアレイを複数有し、所定のホスト機器からアクセス可能なディスクアレイ装置であって、
    ディスクアレイを構成する各ディスクユニットに対するデータの書き込み及び読み出しを制御するディスク制御手段と、
    前記ディスク制御手段を制御して、ホスト機器からアクセスが発生し得る状態で、各ディスクアレイを1つのディスクアレイに統合する統合制御手段とを備え、
    前記統合制御手段は、ブロック単位に、各ディスクユニットに格納された各パリティデータから1つのパリティデータを求め、求めたパリティデータを所定のディスクユニットに格納するパリティ移行を順次行い、パリティ移行途中に、任意のディスクユニットに格納されたデータブロックが更新された場合に、パリティ移行状況に応じて移行前後の何れかのパリティデータを更新する、
    ことを特徴とするディスクアレイ装置。
  4. 前記統合制御手段は、各ディスクアレイにRAID4が適用されている場合において、
    パリティ移行の際に、求めたパリティデータを特定のディスクユニットに格納し、
    移行済みブロックのデータブロックが更新された場合に、特定のディスクユニットに格納した移行済みのパリティデータを更新し、
    未移行ブロックのデータブロックが更新された場合に、対応するディスクアレイのディスクユニットに格納した未移行のパリティデータを更新する、
    ことを特徴とする請求項3に記載のディスクアレイ装置。
  5. 前記統合制御手段は、各ディスクアレイにRAID5が適用されている場合において、
    パリティ移行の際に、求めたパリティデータを所定の条件により定まるディスクアレイのディスクユニットに格納し、
    移行済みブロックのデータブロックが更新された場合に、移行済みのパリティデータを更新し、
    未移行ブロックのデータブロックが更新された場合に、対応するディスクアレイのディスクユニットに格納した未移行のパリティデータを更新する、
    ことを特徴とする請求項3に記載のディスクアレイ装置。
  6. 前記統合制御手段は、ディスクユニット毎に、移行済みのパリティデータの数をそれぞれ計測する計測手段を備え、
    前記統合制御手段は、パリティ移行の際に、前記計測手段が計測した計測数に従って対象となるディスクユニットを逐次決定し、決定したディスクユニットにパリティデータを格納する、
    ことを特徴とする請求項5に記載のディスクアレイ装置。
  7. データ群と冗長データを格納する複数のディスクユニットから構成されるディスクアレイを複数有するコンピュータに、各ディスクユニットに対するデータの書き込み及び読み出しを制御するディスク制御ステップと、各ディスクアレイ中の各冗長データを1つの冗長データに順次移行する移行ステップと、前記移行ステップによる移行途中に、任意のデータが更新された場合に、移行状況に応じて異なる冗長データを更新する更新制御ステップと、前記移行ステップ及び前記更新制御ステップを並行して制御することにより、各ディスクアレイを1つのディスクアレイに統合する統合制御ステップとを実行させるためのプログラム。
  8. データブロック及びパリティデータを所定のブロック単位に格納する複数のディスクユニットから構成されるディスクアレイを複数有するコンピュータに、各ディスクユニットに対するデータの書き込み及び読み出しを制御するディスク制御ステップと、ブロック単位に、各ディスクユニットに格納された各パリティデータから1つのパリティデータを求め、求めたパリティデータを所定のディスクユニットに格納するパリティ移行を順次行う移行ステップと、前記移行ステップによるパリティ移行途中に、任意のディスクユニットに格納されたデータブロックが更新された場合に、パリティ移行状況に応じて移行前後の何れかのパリティデータを更新する更新制御ステップと、前記移行ステップ及び前記更新制御ステップを並行して制御することにより、各ディスクアレイを1つのディスクアレイに統合する統合制御ステップとを実行させるためのプログラム。
JP2003278405A 2003-07-23 2003-07-23 ディスクアレイ装置およびプログラム Expired - Lifetime JP3766079B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003278405A JP3766079B2 (ja) 2003-07-23 2003-07-23 ディスクアレイ装置およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003278405A JP3766079B2 (ja) 2003-07-23 2003-07-23 ディスクアレイ装置およびプログラム

Publications (2)

Publication Number Publication Date
JP2005044182A true JP2005044182A (ja) 2005-02-17
JP3766079B2 JP3766079B2 (ja) 2006-04-12

Family

ID=34264821

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003278405A Expired - Lifetime JP3766079B2 (ja) 2003-07-23 2003-07-23 ディスクアレイ装置およびプログラム

Country Status (1)

Country Link
JP (1) JP3766079B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007257630A (ja) * 2006-03-21 2007-10-04 Internatl Business Mach Corp <Ibm> Raidストレージ・システムのパリティ値を生成する方法及びアダプタを内蔵するraidストレージ・システム(エンクロージャベースのraidパリティ支援機構)
JP4894922B2 (ja) * 2007-06-13 2012-03-14 富士通株式会社 Raidグループ変換装置、raidグループ変換方法およびraidグループ変換プログラム
JP2015082150A (ja) * 2013-10-21 2015-04-27 富士通株式会社 ストレージシステム、及びストレージプログラム
KR20210093821A (ko) * 2016-02-23 2021-07-28 에스케이텔레콤 주식회사 Raid 기반의 스토리지 장치

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007257630A (ja) * 2006-03-21 2007-10-04 Internatl Business Mach Corp <Ibm> Raidストレージ・システムのパリティ値を生成する方法及びアダプタを内蔵するraidストレージ・システム(エンクロージャベースのraidパリティ支援機構)
JP4894922B2 (ja) * 2007-06-13 2012-03-14 富士通株式会社 Raidグループ変換装置、raidグループ変換方法およびraidグループ変換プログラム
JP2015082150A (ja) * 2013-10-21 2015-04-27 富士通株式会社 ストレージシステム、及びストレージプログラム
US9400620B2 (en) 2013-10-21 2016-07-26 Fujitsu Limited Storage system
KR20210093821A (ko) * 2016-02-23 2021-07-28 에스케이텔레콤 주식회사 Raid 기반의 스토리지 장치
KR102389929B1 (ko) * 2016-02-23 2022-04-26 에스케이텔레콤 주식회사 Raid 기반의 스토리지 장치

Also Published As

Publication number Publication date
JP3766079B2 (ja) 2006-04-12

Similar Documents

Publication Publication Date Title
US10977124B2 (en) Distributed storage system, data storage method, and software program
US11132256B2 (en) RAID storage system with logical data group rebuild
US10825477B2 (en) RAID storage system with logical data group priority
US9733862B1 (en) Systems and methods for reverse point-in-time copy management in a storage system
US8793451B2 (en) Snapshot content metadata for application consistent backups
US20050154821A1 (en) Information processing system and management device
JP2018028715A (ja) ストレージ制御装置、ストレージシステムおよびストレージ制御プログラム
US9773012B2 (en) Updating map structures in an object storage system
JP5565157B2 (ja) データ処理装置、データ処理方法、データ処理プログラムおよびストレージ装置
JP2005301497A (ja) ストレージ管理装置、リストア方法及びそのプログラム
US8726261B2 (en) Zero downtime hard disk firmware update
JP2003223287A (ja) 記憶装置、この記憶装置のバックアップ方法及びプログラム
EP1605356B1 (en) Storage system and method for acquisition and utilisation of snapshots
US20150347124A1 (en) Firmware update apparatus and storage control apparatus
JP6604115B2 (ja) ストレージ装置およびストレージ制御プログラム
JP2012506087A (ja) Maidx及び適応データ配置を用いた電力及び性能の管理
JP2006172320A (ja) データ複製制御装置
TWI428744B (zh) 用於儲存暫態資訊之系統、方法以及電腦程式產品
JP3315779B2 (ja) ディスク装置間のファイル転送装置およびファイル転送方法
JP3766079B2 (ja) ディスクアレイ装置およびプログラム
JP2014038551A (ja) データ記憶装置、データ記憶装置の制御方法、及びデータ記憶装置の制御プログラム
US20110107317A1 (en) Propagating Firmware Updates In A Raid Array
JP6556980B2 (ja) ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム
JP2012103873A (ja) 画像処理装置及びミラーリング判定方法
JP5941494B2 (ja) インメモリ管理システムおよびインメモリ管理用プログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051013

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051025

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051220

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060125

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3766079

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100203

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20100203

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110203

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20120203

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20120203

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130203

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20140203

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term