JP2009282708A - ディスクアレイ装置の制御方法及び制御装置 - Google Patents
ディスクアレイ装置の制御方法及び制御装置 Download PDFInfo
- Publication number
- JP2009282708A JP2009282708A JP2008133538A JP2008133538A JP2009282708A JP 2009282708 A JP2009282708 A JP 2009282708A JP 2008133538 A JP2008133538 A JP 2008133538A JP 2008133538 A JP2008133538 A JP 2008133538A JP 2009282708 A JP2009282708 A JP 2009282708A
- Authority
- JP
- Japan
- Prior art keywords
- disk
- address
- serial
- data
- addresses
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2056—Error 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 by mirroring
- G06F11/2087—Error 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 by mirroring with a common controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2056—Error 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 by mirroring
- G06F11/2069—Management of state, configuration or failover
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
【課題】ディスクアレイ装置のデータ容量を効率よく利用して、データの二重化(ミラーリング)を行う。
【解決手段】N個のHDD(121〜12N)の全アドレスに対して、順に通しアドレスを付与するとともに、通しアドレスを昇順に2等分して第1、第2のディスクグループにグループ分けし、第1のディスクグループの通しアドレスと、当該第1のディスクグループの通しアドレスに第1のディスクグループの最大通しアドレスを加算してオフセットさせた第2のディスクグループの通しアドレスとを対応付けるデータアドレス制御部(26)と、対応付けられた対をなす通しアドレスに同一のデータを記憶するセレクタ(28)と、を備えるので、第1、第2のディスクグループの通しアドレスを簡易に対応付けることができるとともに、HDDのデータ容量を効率良く利用して、ミラーリングを行うことができる。
【選択図】図2
【解決手段】N個のHDD(121〜12N)の全アドレスに対して、順に通しアドレスを付与するとともに、通しアドレスを昇順に2等分して第1、第2のディスクグループにグループ分けし、第1のディスクグループの通しアドレスと、当該第1のディスクグループの通しアドレスに第1のディスクグループの最大通しアドレスを加算してオフセットさせた第2のディスクグループの通しアドレスとを対応付けるデータアドレス制御部(26)と、対応付けられた対をなす通しアドレスに同一のデータを記憶するセレクタ(28)と、を備えるので、第1、第2のディスクグループの通しアドレスを簡易に対応付けることができるとともに、HDDのデータ容量を効率良く利用して、ミラーリングを行うことができる。
【選択図】図2
Description
本発明は、ディスクアレイ装置の制御方法及び制御装置に関し、特に複数のディスク装置を備えるディスクアレイ装置を制御する制御方法及び制御装置に関する。
現在、コンピュータ等の情報処理装置では、データを二次記憶装置に格納して記憶する。二次記憶装置としては、一般に不揮発な記憶媒体を使用することができ、その代表的なものとして磁気ディスク装置(Hard Disc Drive:HDD)が挙げられる。HDDは、回転する磁気媒体(磁気ディスク)に高密度にデータを記録するものであり、精密な機構部品や電子回路から構成されているため、故障の可能性をゼロにすることは不可能である。
そこで、最近では、比較的容量の小さな複数のHDDを冗長化することにより故障に対応するため、RAID(Redundant Arrays of Inexpensive Disks)と呼ばれる手法が採られている。このRAIDには、その冗長化の方法別に、RAID1、RAID5、RAID6、RAID10などの種類が存在している。
このうちのRAID1は、ミラーリング(二重化)とも呼ばれ、複数台(例えば2台)のHDDに同じデータを記憶しておくことにより、一のHDDが故障しても、他のHDDから必要なデータを読み出せるようにしておくものである。これにより、システム全体としては問題なく稼動し続けることが可能である(例えば、特許文献1等参照)。
このRAID1では、データの二重化という観点から、同じ容量のHDDを2台用意するか、大容量化のためにHDDを偶数台(4台、6台…)用意し、2台ずつ対応付けてミラーリングするのが一般的である。
上記のように、RAID1においてデータの二重化を行う場合、偶数台のHDDを用意しなければならないという制約があるため、奇数台のHDDを用意した場合には、使用されないHDDが存在してしまう。このことは、HDDのデータ容量を効率的に利用することができていないことを意味する。
これに対し、特許文献1の段落(0027),(0028)に記載の例では、3台のHDD(実ディスク装置)を分割して7つの仮想ディスク装置を構成し、そのうちの6つの仮想ディスク装置を用いてミラーリングする方法が開示されている。しかるに、この方法を用いても、特許文献1の図9に示すように、場合によっては、未使用の仮想ディスク装置が存在してしまうため、HDDのデータ容量の効率的な利用は不完全なものとなっている。
そこで本発明は上記の課題に鑑みてなされたものであり、ディスクアレイ装置のデータ容量を効率よく利用して、データの二重化(ミラーリング)を行うことが可能なディスクアレイ装置の制御方法及び制御装置を提供することを目的とする。
上記課題を解決するために、本明細書開示のディスクアレイ装置の制御方法は、ディスクアレイ装置が有する、複数のディスク装置の全アドレスに対して、通しアドレスをディスク装置順に付与するアドレス付与ステップと、前記アドレス付与ステップで付与された前記通しアドレスを昇順に2等分して、第1のディスクグループと第2のディスクグループとにグループ分けするグループ分けステップと、前記第1のディスクグループの通しアドレスに記憶するデータを、当該第1のディスクグループの通しアドレスに前記第1のディスクグループの最大通しアドレスを加算してオフセットさせた前記第2のディスクグループの通しアドレスにも記憶する記憶ステップと、を含むことを特徴とする。
本明細書において、「アドレス」とは、ディスクのセクタアドレスであるLBA(Logical Block Addressing)であっても良いし、例えば従来からRAIDにおいて用いられていたチャンクサイズであっても良い。LBAは、ディスク装置内の全てのセクタに振った通し番号を意味し、チャンクサイズとは、複数のセクタを纏めた単位を意味する。
これによれば、全ディスク装置に付与した通しアドレスを2等分して第1のディスクグループと第2のディスクグループとにグループ分けし、各ディスクグループを用いてデータの二重化(ミラーリング)を行うので、ディスク装置のデータ容量を効率良く利用して、ミラーリングを行うことが可能となる。また、第1のディスクグループの通しアドレスと第2のディスクグループの通しアドレスとを、第1のディスクグループの最大通しアドレスのみを用いて対応付けるので、両ディスクグループの通しアドレスの対応付けを簡易に行うことが可能となる。更に、通しアドレスをディスク装置順に付与し、その通しアドレスを昇順に2等分してグループ分けするので、通しアドレスが比較的近い同一のディスク装置内のアドレス同士が対応付けられてミラーリングに用いられるような事態を回避することが可能となる。
また、本明細書開示のディスクアレイ装置の制御装置は、ディスクアレイ装置が有する、複数のディスク装置の全アドレスに対して通しアドレスをディスク装置順に付与するとともに、前記通しアドレスを昇順に2等分して、第1のディスクグループと第2のディスクグループとにグループ分けし、前記第1のディスクグループの通しアドレスと、当該第1のディスクグループの通しアドレスに前記第1のディスクグループの最大通しアドレスを加算してオフセットさせた前記第2のディスクグループの通しアドレスと、を対応付けるデータアドレス制御手段と、前記データアドレス制御手段により対応付けられた対をなす通しアドレスに同一のデータを記憶する記憶手段と、を含むことを特徴とする。
これによれば、全ディスク装置に付与した通しアドレスを2等分して第1のディスクグループと第2のディスクグループとにグループ分けし、各ディスクグループを用いてデータの二重化(ミラーリング)を行うので、ディスク装置のデータ容量を効率良く利用して、ミラーリングを行うことが可能となる。また、第1のディスクグループの通しアドレスと第2のディスクグループの通しアドレスとを、第1のディスクグループの最大アドレスのみを用いて対応付けるので、両ディスクグループの通しアドレスの対応付けを簡易に行うことが可能となる。更に、通しアドレスをディスク装置順に付与し、その通しアドレスを昇順に2等分してグループ分けするので、通しアドレスが比較的近い同一のディスク装置内のアドレス同士が対応付けられてミラーリングに用いられるような事態を回避することが可能となる。
本明細書に開示のディスクアレイ装置の制御方法及び制御装置は、ディスクアレイ装置のデータ容量を効率良く利用して、データの二重化(ミラーリング)を行うことができるという効果を奏する。
以下、本発明のディスクアレイ装置の制御装置(RAIDコントローラ)の一実施形態について、図1〜図6に基づいて詳細に説明する。
本実施形態のRAIDコントローラ10は、図1に示す複数(N個(1番目からN番目まで))のHDD121〜12Nを有するディスクアレイ装置112を用いて、データの二重化(ミラーリング:RAID1)を行うためのコントローラである。このRAIDコントローラ10は、PC本体のPCIコネクタと接続可能なコネクタ部を有し、このPC本体のPCIコネクタに着脱可能なデバイスである。
RAIDコントローラ10は、図1に示すように、外部I/F(PCインタフェース)14と、CPU(Central Processing Unit)16と、メモリ18と、ディスクコントローラ20と、これら各部を接続する伝送路としての内部バス22と、を備えている。
外部I/F14は、PC本体側のPCI(Peripheral Components Interconnect)などのバスとの接続のためのインタフェースである。この外部I/F14は、PC本体のOSからのデータの記憶(書き込み)又は再生(読み出し)の指示、及び記憶/再生対象のアドレスに関する指示を受けて、当該指示をCPU16に送る。
CPU16は、RAIDコントローラ10全体の制御を行うユニットであり、内部バス22を通じて各部の間での各種信号のやりとりや各部の動作の制御を行う。特に、OSからの指示に基づいて、ディスクコントローラ20に対して処理(データの記録/再生)の指示を出すものである。メモリ18は、RAIDコントローラ10の動作を実行するために必要なファームウェアや各種パラメータなどの情報が格納されている読み出し専用のメモリや、CPU16の演算処理実行時の作業領域として用いられる高速な読み書きが可能なメモリ等を含んでいる。
ディスクコントローラ20は、CPU16からの指示に基づいてHDD及びアドレスを特定し、そのアドレスにデータの記憶/再生を実行する。このディスクコントローラ20は、具体的には、図2に示すように、ホストI/F24と、データアドレス制御手段としてのデータアドレス制御部26と、記憶手段としてのセレクタ28と、N個のディスクI/F301〜30Nとを有している。
ホストI/F24は、外部I/F14、CPU16及び内部バス22を介して入力されるOSからの指示内容を受信して、当該指示をデータアドレス制御部26に対して出力する。データアドレス制御部26は、全HDD121〜12Nの全データ容量を2等分して2つのディスクグループに分け、どのHDDのどのアドレスに対する処理(データの記憶/再生)を実行するかを決定する。なお、このデータアドレス制御部26の具体的な処理については後に詳述する。
セレクタ28は、データアドレス制御部26により決定された、HDDのアドレスに対して、ディスクI/F301〜30Nのいずれかを介してデータ処理(データの記憶/再生)を実行する。
次に、上述したデータアドレス制御部26(及びセレクタ28)の具体的な処理につき、図3〜図5に基づき詳述する。
まず、図3、図4を用いて、データアドレス制御部26による、RAID1を行うための2つのディスクグループの構成方法(グループ分け方法)及び2つのディスクグループへのデータの記憶方法の概要について説明する。図3には、ディスクアレイ装置112が、HDDを3つ(121〜123)備える場合の具体例が示され、図4には、ディスクアレイ装置112が、HDDを4つ(121〜124)備える場合の具体例が示されている。
(1)HDDを3つ備える場合(図3の具体例)
この場合、データアドレス制御部26は、全HDD121〜123の全アドレスad(この場合の「アドレスad」はチャンクサイズを意味し、ここでは、各HDDが4つのチャンクを有しているものとする)に対して、新たなアドレス1〜12を付与する。なお、新たなアドレス1〜12を、以下においては、「通しアドレス」と呼ぶものとする。この通しアドレスは、図3(a)に示すように、HDD121→HDD122→HDD123の順に(HDD順に)付与される。
この場合、データアドレス制御部26は、全HDD121〜123の全アドレスad(この場合の「アドレスad」はチャンクサイズを意味し、ここでは、各HDDが4つのチャンクを有しているものとする)に対して、新たなアドレス1〜12を付与する。なお、新たなアドレス1〜12を、以下においては、「通しアドレス」と呼ぶものとする。この通しアドレスは、図3(a)に示すように、HDD121→HDD122→HDD123の順に(HDD順に)付与される。
次いで、データアドレス制御部26は、図3(b)に示すように、通しアドレス1〜12を2等分して、通しアドレス(1〜6)を第1ディスクグループとし、通しアドレス(7〜12)を第2ディスクグループとする(グループ分けする)。なお、本実施形態では、上述のように全通しアドレスを2等分して2つのディスクグループに分割するので、通しアドレスの合計が偶数になるように、チャンクサイズを決定するのが好ましい。
次いで、データアドレス制御部26が、OSから送信されてくる記録指示をホストI/F24やCPU16を介して受信すると、当該記録指示から第1ディスクグループの通しアドレスa(a=1〜6)を特定(抽出)する。
また、データアドレス制御部26は、通しアドレスaに対応する第2ディスクグループの通しアドレスbを特定する。ここで、通しアドレスaとこれに対応する通しアドレスbは、図3(b)において左右方向に隣接するアドレス(上下方向の位置が一致するアドレス)を意味する。すなわち、本実施形態では、図3(b)に示すように、第1ディスクグループの通しアドレス「1」と第2ディスクグループの通しアドレス「7」とが対応し、通しアドレス「2」と通しアドレス「8」とが対応し、…通しアドレス「6」と通しアドレス「12」とが対応する。したがって、通しアドレスaと通しアドレスbとの間には、次式(1)に示す関係がある。
通しアドレスb=通しアドレスa
+(第1ディスクグループの最大アドレス)…(1)
通しアドレスb=通しアドレスa
+(第1ディスクグループの最大アドレス)…(1)
このため、データアドレス制御部26では、OSからの記憶指示に基づく第1ディスクグループの通しアドレスaに基づいて、上式(1)から、通しアドレスaに対応する第2ディスクグループの通しアドレスbを算出する。そして、データアドレス制御部26は、第1ディスクグループの通しアドレスaと、これに対応する(対をなす)第2ディスクグループの通しアドレスbに同一のデータを記憶するように、セレクタ28に指示を出す。なお、実際には、通しアドレスa、bのそれぞれが、どのHDD(121〜123)のどのアドレス(1〜4)であるかを特定して、セレクタ28に指示を出す必要があるが、この点については後述する。
(2)HDDを4つ備える場合(図4の具体例)
図4(a)に示すように、HDDが4つ(HDD121〜124)ある場合にも、図3の場合と同様の処理を実行することができる。すなわち、データアドレス制御部26は、まず、図4(a)に示すように、全HDD(121〜124)の全アドレス(1〜4)に対し、通しアドレス(1〜16)を付与する。この場合においても、HDD121→HDD122→HDD123→HDD124の順に(HDD順に)通しアドレスを付与する。次いで、データアドレス制御部26は、図4(b)に示すように、通しアドレス1〜16を2等分して、通しアドレス(1〜8)を第1ディスクグループとし、通しアドレス(9〜16)を第2ディスクグループとする(グループ分けする)。この場合、結果として、HDD121,122が第1ディスクグループに属し、HDD123,124が第2ディスクグループに属すことになる。
図4(a)に示すように、HDDが4つ(HDD121〜124)ある場合にも、図3の場合と同様の処理を実行することができる。すなわち、データアドレス制御部26は、まず、図4(a)に示すように、全HDD(121〜124)の全アドレス(1〜4)に対し、通しアドレス(1〜16)を付与する。この場合においても、HDD121→HDD122→HDD123→HDD124の順に(HDD順に)通しアドレスを付与する。次いで、データアドレス制御部26は、図4(b)に示すように、通しアドレス1〜16を2等分して、通しアドレス(1〜8)を第1ディスクグループとし、通しアドレス(9〜16)を第2ディスクグループとする(グループ分けする)。この場合、結果として、HDD121,122が第1ディスクグループに属し、HDD123,124が第2ディスクグループに属すことになる。
なお、図4(b)の例においても、第1ディスクグループの通しアドレス「1」と第2ディスクグループの通しアドレス「9」とが対応し、通しアドレス「2」と通しアドレス「10」とが対応し、…通しアドレス「8」と通しアドレス「16」とが対応している。すなわち、通しアドレスaと通しアドレスbとの間には、上式(1)と同一の関係が成立していることが分かる。
したがって、データアドレス制御部26は、OSからの記憶指示に基づく第1ディスクグループの通しアドレスaに基づいて、上式(1)から、通しアドレスaに対応する第2ディスクグループの通しアドレスbを算出する。そして、データアドレス制御部26は、第1ディスクグループの通しアドレスaと、これに対応する(対をなす)第2ディスクグループの通しアドレスbに同一のデータを記憶するように、セレクタ28に指示を出す。
このように、本実施形態では、HDDが3個(奇数個)であっても、4個(偶数個)であっても、通しアドレスを2つのディスクグループに分割することができる。すなわち、2つのディスクグループのうちの一方のディスクグループをマスタ、他方のディスクグループをスレーブとすることで、データの二重化(ミラーリング)を行うことが可能である。
次に、図3、図4の具体例を、更に一般化した例について、図5に基づいて詳細に説明する。図5の例では、HDDがN個(121〜12N)あり、各HDDの最大アドレスがLであるものとする。
この場合においても、図5(a)に示すように、全アドレスad(ad=1〜L)に通しアドレスを付与し、図5(b)に示すように全通しアドレスを2等分して、第1ディスクグループと第2ディスクグループとにグループ分けする。ここで、第1ディスクグループの最大通しアドレスAmax(図5(b)参照)は、次式(2)により求めることができる。
Amax=(N¥2)×L+(Nmod2)×(L/2) …(2)
Amax=(N¥2)×L+(Nmod2)×(L/2) …(2)
なお、上式(2)における「¥2」は、2で切り捨て除算した場合の商(整数除算の商)を意味し、「mod2」は、2で除算した場合の余り(剰余演算)を意味する。
また、第2ディスクグループの最小通しアドレスBminは、Amaxの次の通しアドレス(Amaxに1加算したアドレス)であるので、次式(3)にて表すことができる。
Bmin=1+(N¥2)×L+(Nmod2)×(L/2) …(3)
Bmin=1+(N¥2)×L+(Nmod2)×(L/2) …(3)
更に、第2ディスクグループの最大通しアドレス(N×L)は、次式(4)にて表すことができる。
(N×L)={(N¥2)×L+(Nmod2)×(L/2)}
+{(N¥2)×L+(Nmod2)×(L/2)} …(4)
(N×L)={(N¥2)×L+(Nmod2)×(L/2)}
+{(N¥2)×L+(Nmod2)×(L/2)} …(4)
このように、第1ディスクグループの通しアドレスaとこれに対応する第2ディスクグループの通しアドレスb(図5(b)において左右に隣接する通しアドレス)との間には、上述した式(1)と同様の関係が成立している。具体的には、次式(5)の関係が成立している。
通しアドレスb=通しアドレスa
+{(N¥2)×L+(Nmod2)×(L/2)}…(5)
ただし、通しアドレスaは、{(N¥2)×L+(Nmod2)×(L/2)}以下である。
通しアドレスb=通しアドレスa
+{(N¥2)×L+(Nmod2)×(L/2)}…(5)
ただし、通しアドレスaは、{(N¥2)×L+(Nmod2)×(L/2)}以下である。
したがって、データアドレス制御部26は、OSからの記憶指示に基づく第1ディスクグループの通しアドレスaに基づいて、上式(5)から、通しアドレスaに対応する第2ディスクグループの通しアドレスbを算出する。そして、データアドレス制御部26は、第1ディスクグループの通しアドレスaと、これに対応する(対をなす)第2ディスクグループの通しアドレスbに同一のデータを記憶するように、セレクタ28に指示を出す。
ここで、本実施形態では、式(5)から分かるように、通しアドレスbの生成に必要な演算は、整数除算(¥2)、剰余演算(mod2)、固定値乗算(×L)である。この場合、2での整数除算は、ビットの右シフトにより行うことができ、剰余演算は最下位ビット(LSB(least significant bit))の抽出により行うことができるので、軽微な処理により、式(5)の演算を行うことが可能である。
次に、図5の一般化した例を用いて、ディスクコントローラ20によるデータ記憶処理シーケンスについて、図6のフローチャートに基づいて説明する。
図6の処理では、まず、ステップS10において、データアドレス制御部26が、CPU16からの処理指示が入力されるまで待機する。この判断が肯定されると、次のステップS12に移行し、各ディスクグループにおいてデータを記憶するアドレス(通しアドレスa,b)を特定する。
この場合、OSからのデータ記録指示において指定された第1ディスクグループの通しアドレスaが「a1」であったとすると、データアドレス制御部26は、第2ディスクグループの通しアドレスbを、上式(5)に基づいて、
b=a1+{(N¥2)×L+(Nmod2)×(L/2)}
とする。
b=a1+{(N¥2)×L+(Nmod2)×(L/2)}
とする。
次いで、ステップS14では、データアドレス制御部26が、通しアドレスa(=a1)の存在するHDD(12n1)の特定と、通しアドレスa(=a1)のHDD(12n1)内におけるアドレス(ad1)の特定を行う。具体的には、図5の場合において、例えば、通しアドレスが(L+2)であったときに、その通しアドレス(L+2)がどのHDD(ここでは、HDD122)のどのアドレス(ここでは、ad1=2)であるのかを特定する。また、同様に、データアドレス制御部26は、通しアドレスbの存在するHDD(12n2)の特定と、通しアドレスbのHDD(12n2)内におけるアドレス(ad2)の特定も行う。
この場合、n1,ad1,n2,ad2のそれぞれは、次式(6),(7),(8),(9)により求めることができる。なお、「¥L」は、Lで切り捨て除算した場合の商(整数除算の商)を意味し、「modL」は、剰余演算であり、Lで除算した場合の余り(ただし、余りが0の場合は、Lに変換する)を意味する。
n1=((a1−1)¥L)+1 …(6)
ad1=(a1 modL) …(7)
n2=((b−1)¥L)+1 …(8)
ad2=(b modL) …(9)
n1=((a1−1)¥L)+1 …(6)
ad1=(a1 modL) …(7)
n2=((b−1)¥L)+1 …(8)
ad2=(b modL) …(9)
その後、ステップS16では、セレクタ28が、上式(6),(7)に基づいて特定されたHDD12n1及びアドレスad1と、上式(8),(9)に基づいて特定されたHDD12n2及びアドレスad2に、同一のデータを記憶する。このようにすることで、データの二重化(ミラーリング)を行うことが可能である。
本実施形態では、HDDのいずれかが故障して、当該故障したHDDからデータを読み取れなくなったとしても、故障部分に対応する別のディスクグループからデータを読み取ることができるので、ディスクアレイ装置112を継続して稼働することができる。具体的には、読み出すべきデータが、第1ディスクグループの通しアドレスaのデータであったにもかかわらず当該データを読み取ることができなかった場合には、データアドレス制御部26は、上式(5)から通しアドレスbを算出して、データを読み取るようにする。
また、本実施形態では、第1ディスクグループと第2ディスクグループの双方からデータを読み出すようにアルゴリズムを拡張することにより、データの読み出し速度を向上することも可能である。
以上、詳細に説明したように、本実施形態によると、データアドレス制御部26が、ディスクアレイ装置112が有する、N個のHDD(121〜12N)の全アドレス(1〜L)に対して、順に、通しアドレス(1〜N×L)を付与するとともに、全ての通しアドレスを昇順に2等分して、第1のディスクグループと第2のディスクグループとにグループ分けし、セレクタ28が第1のディスクグループの通しアドレスaに記憶するデータを、当該第1のディスクグループの通しアドレスaに第1のディスクグループの最大通しアドレスを加算してオフセットさせた第2のディスクグループの通しアドレスbにも記憶するようにする。このようにすることで、ディスクアレイ装置112を構成するHDDのデータ容量を効率良く利用して、データの二重化(ミラーリング)を行うことができる。
また、本実施形態によると、第1のディスクグループの通しアドレスと第2のディスクグループの通しアドレスとを、第1のディスクグループの最大通しアドレスのみを用いて対応付けるので、両ディスクグループの通しアドレスの対応付けを簡易に行うことができる。このように、本実施形態では、従来と比較して、通しアドレスを用いている分だけ、式(5)のような演算を行う必要が出てくるが、式(5)の演算は、2での整数除算(¥2)、剰余演算(mod2)、固定値乗算(×L)より成るので、通しアドレスbを求めるのに必要な演算は簡易なものである。したがって、本実施形態では、通しアドレスbを求めることによるRAIDコントローラ10への負荷はほとんど生じない。
また、本実施形態では、通しアドレスを順に付与し、その通しアドレスを昇順に2等分してグループ分けするので、同一のHDD内のアドレス同士が対応付けられて、同一のHDD内に同一のデータが記憶されるようなことが無い。これにより、ミラーリング(RAID1)を支障なく行うことが可能である。
また、本実施形態によると、HDDが奇数個であっても、偶数個であっても、全HDDのほぼ全て(余ったとしてもアドレス(LBA又はチャンク)1つ分)のデータ容量を用いて、ミラーリングを行うことができるので、ディスクアレイ装置112におけるデータ容量を効率的に増加することが可能である。
なお、上記実施形態では、RAIDコントローラ10として、ハードウェア方式を採用したが、これに限らず、ソフトウェア方式(OS自身がドライブコントローラ(SCSI(Small Computer System Interface)など)を通じて複数台のディスクを管理する方式)を採用することとしても良い。
また、上記実施形態では、HDDのアドレスとして、複数のセクタを纏めた単位であるチャンクサイズを採用することとしたが、これに限らず、アドレスとして、HDDのセクタアドレスであるLBA(Logical Block Addressing)を採用することとしても良い。
なお、上記実施形態では、演算を簡易にするために、各HDDの最大アドレスを一律(L)とすることとしたが、これに限られるものではない。すなわち、通しアドレスを付与して、全通しアドレスを2等分してグループ分けするという観点からは、最大アドレスが、各HDDごとに異なっていても良い。この場合でも、第1ディスクグループの通しアドレスaと、通しアドレスaに第1グループの最大アドレスを加算してオフセットした第2ディスクグループの通しアドレスbとに、同一のデータを記憶することで、上記実施形態と同様、HDDのデータ容量を効率良く用いてミラーリングを行うことが可能である。
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
10 RAIDコントローラ(ディスクアレイ装置の制御装置)
121〜12N HDD(ディスク装置)
26 データアドレス制御部(データアドレス制御手段)
28 セレクタ(記憶手段)
112 ディスクアレイ装置
121〜12N HDD(ディスク装置)
26 データアドレス制御部(データアドレス制御手段)
28 セレクタ(記憶手段)
112 ディスクアレイ装置
Claims (6)
- ディスクアレイ装置が有する、複数のディスク装置の全アドレスに対して、通しアドレスをディスク装置順に付与するアドレス付与ステップと、
前記アドレス付与ステップで付与された前記通しアドレスを昇順に2等分して、第1のディスクグループと第2のディスクグループとにグループ分けするグループ分けステップと、
前記第1のディスクグループの通しアドレスに記憶するデータを、当該第1のディスクグループの通しアドレスに前記第1のディスクグループの最大通しアドレスを加算してオフセットさせた前記第2のディスクグループの通しアドレスにも記憶する記憶ステップと、を含むディスクアレイ装置の制御方法。 - 前記ディスクアレイ装置が、N(Nは2以上の自然数)個のディスク装置を有し、前記各ディスク装置の最大アドレスがLである場合に、
前記記憶ステップでは、前記第1のディスクグループの最大通しアドレスを、Nを2で整数除算して得た商にLを乗じた値と、Nを2で除したときの余りに(L/2)を乗じた値との和により求めることを特徴とする請求項1に記載のディスクアレイ装置の制御方法。 - 前記ディスクアレイ装置は、奇数個のディスク装置を有することを特徴とする請求項1又は2に記載のディスクアレイ装置の制御方法。
- ディスクアレイ装置が有する、複数のディスク装置の全アドレスに対して通しアドレスをディスク装置順に付与するとともに、前記通しアドレスを昇順に2等分して、第1のディスクグループと第2のディスクグループとにグループ分けし、前記第1のディスクグループの通しアドレスと、当該第1のディスクグループの通しアドレスに前記第1のディスクグループの最大通しアドレスを加算してオフセットさせた前記第2のディスクグループの通しアドレスと、を対応付けるデータアドレス制御手段と、
前記データアドレス制御手段により対応付けられた対をなす通しアドレスに同一のデータを記憶する記憶手段と、を含むディスクアレイ装置の制御装置。 - 前記ディスクアレイ装置が、N(Nは2以上の自然数)個のディスク装置を有し、前記各ディスク装置の最大アドレスがLである場合に、
前記データアドレス制御手段は、前記第1のディスクグループの最大アドレスを、Nを2で整数除算して得た商にLを乗じた値と、Nを2で除したときの余りに(L/2)を乗じた値との和により求めることを特徴とする請求項4に記載のディスクアレイ装置の制御装置。 - 前記ディスクアレイ装置は、奇数個のディスク装置を有することを特徴とする請求項4又は5に記載のディスクアレイ装置の制御装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008133538A JP2009282708A (ja) | 2008-05-21 | 2008-05-21 | ディスクアレイ装置の制御方法及び制御装置 |
US12/320,530 US20090292872A1 (en) | 2008-05-21 | 2009-01-28 | Method and device for controlling disk array apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008133538A JP2009282708A (ja) | 2008-05-21 | 2008-05-21 | ディスクアレイ装置の制御方法及び制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009282708A true JP2009282708A (ja) | 2009-12-03 |
Family
ID=41342925
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008133538A Withdrawn JP2009282708A (ja) | 2008-05-21 | 2008-05-21 | ディスクアレイ装置の制御方法及び制御装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20090292872A1 (ja) |
JP (1) | JP2009282708A (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2009004806A1 (ja) * | 2007-07-04 | 2010-08-26 | パナソニック株式会社 | 映像記録再生装置およびその方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2121852A1 (en) * | 1993-04-29 | 1994-10-30 | Larry T. Jost | Disk meshing and flexible storage mapping with enhanced flexible caching |
JP3371044B2 (ja) * | 1994-12-28 | 2003-01-27 | 株式会社日立製作所 | ディスクアレイのための領域割り当て方法およびディスクアレイアクセス方法 |
US6681290B2 (en) * | 2001-01-29 | 2004-01-20 | International Business Machines Corporation | Physical data layout to reduce seeks in a raid system |
US6745286B2 (en) * | 2001-01-29 | 2004-06-01 | Snap Appliance, Inc. | Interface architecture |
KR100449485B1 (ko) * | 2001-10-26 | 2004-09-21 | 한국전자통신연구원 | 스트라이핑 시스템 및 이의 매핑 및 처리방법 |
JP2004213064A (ja) * | 2002-12-26 | 2004-07-29 | Fujitsu Ltd | Raid装置及びその論理デバイス拡張方法 |
US8289984B2 (en) * | 2003-01-13 | 2012-10-16 | Emlilex Design & Manufacturing Corporation | Allocation-unit-based virtual formatting methods and devices employing allocation-unit-based virtual formatting methods |
JP4520755B2 (ja) * | 2004-02-26 | 2010-08-11 | 株式会社日立製作所 | データ移行方法およびデータ移行装置 |
JP4394533B2 (ja) * | 2004-07-28 | 2010-01-06 | 株式会社日立製作所 | ディスクアレイシステム |
US7818515B1 (en) * | 2004-08-10 | 2010-10-19 | Symantec Operating Corporation | System and method for enforcing device grouping rules for storage virtualization |
-
2008
- 2008-05-21 JP JP2008133538A patent/JP2009282708A/ja not_active Withdrawn
-
2009
- 2009-01-28 US US12/320,530 patent/US20090292872A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20090292872A1 (en) | 2009-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3242671B2 (ja) | レベル5raidディスクアレイの記憶容量を高める方法、およびこのような方法によって作られる拡張アレイ | |
JP5923964B2 (ja) | ディスクアレイ装置、制御装置、およびプログラム | |
CN101971148B (zh) | 选择用于数据存储库的重复删除协议 | |
US10482911B1 (en) | Multiple-actuator drive that provides duplication using multiple volumes | |
TWI501080B (zh) | 用於價廉磁碟冗餘陣列(raid)磁卷與磁碟群組之間的鬆動連結之系統與方法 | |
US7818524B2 (en) | Data migration systems and methods for independent storage device expansion and adaptation | |
US11327668B1 (en) | Predictable member assignment for expanding flexible raid system | |
JP2015099438A (ja) | ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム | |
JP5565340B2 (ja) | 試験方法,試験プログラム,及び試験装置 | |
JP2006331076A (ja) | データ記憶システム及び記憶方法 | |
JP6201674B2 (ja) | ストレージ制御装置,プログラム及び制御方法 | |
JP2006252165A (ja) | ディスクアレイ装置、及びコンピュータシステム | |
TWI607303B (zh) | 具有虛擬區塊及磁碟陣列架構之資料儲存系統及其管理方法 | |
TWI547801B (zh) | 資料儲存系統及方法 | |
JP2010267037A (ja) | ディスクアレイ装置 | |
JP2009282708A (ja) | ディスクアレイ装置の制御方法及び制御装置 | |
JP6171616B2 (ja) | ストレージ制御装置、及びストレージ制御プログラム | |
JP2014203285A (ja) | ドライブアレイ装置、コントローラ、データ記憶ドライブ及び方法 | |
US20110238910A1 (en) | Data storage system and synchronizing method for consistency thereof | |
JP6556980B2 (ja) | ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム | |
JP6957845B2 (ja) | ストレージ制御装置及びストレージ装置 | |
US20200125444A1 (en) | Storage system stripe grouping using multiple logical units | |
TWI718519B (zh) | 資料儲存系統及其管理方法 | |
JP2012103856A (ja) | 記録装置 | |
JP6946485B2 (ja) | 磁気記憶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20110802 |