JP4836014B2 - ディスクアレイ装置及び物理ディスクの復元方法 - Google Patents

ディスクアレイ装置及び物理ディスクの復元方法 Download PDF

Info

Publication number
JP4836014B2
JP4836014B2 JP2009173656A JP2009173656A JP4836014B2 JP 4836014 B2 JP4836014 B2 JP 4836014B2 JP 2009173656 A JP2009173656 A JP 2009173656A JP 2009173656 A JP2009173656 A JP 2009173656A JP 4836014 B2 JP4836014 B2 JP 4836014B2
Authority
JP
Japan
Prior art keywords
area
block
disk
physical
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009173656A
Other languages
English (en)
Other versions
JP2011028520A (ja
Inventor
雅也 末永
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2009173656A priority Critical patent/JP4836014B2/ja
Priority to US12/840,970 priority patent/US8433949B2/en
Publication of JP2011028520A publication Critical patent/JP2011028520A/ja
Application granted granted Critical
Publication of JP4836014B2 publication Critical patent/JP4836014B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/1035Keeping track, i.e. keeping track of data and parity changes

Description

本発明は、物理ディスクを有するディスクアレイ装置において、物理ディスクの復元技術に関する。
ディスクアレイ装置は、ディスクアレイ装置へのデータの入出力を制御する制御部と、このデータを格納するために複数の物理ディスクから形成されるディスクと、からなる。そして、ディスクアレイ装置は、複数の物理ディスクをRAID(Redundant Array of Independent/Inexpensive Disks)方式で管理する装置である。
このような構成のディスクアレイ装置では、複数の物理ディスクのうち1台の物理ディスクに障害が生じた場合でも、残りの物理ディスクによって障害が生じた物理ディスクを復元することが可能である。外部が物理ディスクの使用を開始できるまでの時間は物理ディスクの記憶容量に比例して増大するため、物理ディスクの使用を開始できるまで時間を短縮する技術は切望されているところである。近年では、障害が生じた物理ディスクの使用を開始できる時間を短縮する方法が様々提案されている。
特開2002−222063号公報 特開平11−24849号公報
上述したように、物理ディスクに障害が生じた場合には、ディスクアレイ装置が物理ディスク内の未使用領域(空き領域)を判断できないため、外部が物理ディスクを使用できるまでには多くの時間がかかってしまう。また、物理ディスクの復元中に復元元の物理ディスクに問題があるとメディアエラーとなるが、この場合には一部のデータが復元元の物理ディスクから読み出せない。そうするとディスクアレイ装置は、読み出せない領域が使用領域か未使用領域かを判断できないため、再構築をせざるを得なかった。
一方で提案されている関連技術は、障害が生じた物理ディスクの使用領域についてデータの復旧が行われているが、障害が生じた物理ディスクの未使用領域については詳細には言及されていない。
そこで、本発明は、障害が生じた物理ディスクの使用領域と未使用領域を管理するとともに外部が物理ディスクの使用を開始できるまでの時間が短縮する,ディスクアレイ装置及び物理ディスクの復元方法を提案しようとするものである。
かかる課題を解決するため、本発明のディスクアレイ装置は、複数の物理ディスクと、少なくとも1つのスペアディスクと、各物理ディスク及びスペアディスクのそれぞれの記憶領域を分割して形成される複数のブロック領域の使用状況を管理する管理手段と、いずれかの物理ディスクに障害が生じた場合に、使用状況に基づいて物理ディスクのブロック領域が使用領域か未使用領域かを判断する手段と、使用領域であると判断したブロック領域についてデータの復旧を行い、使用領域と対応するスペアディスクのブロック領域に復旧したデータを書き込む手段と、使用領域であると判断した全てのブロック領域についてデータの復旧が完了すると、物理ディスクが使用可能となった旨の設定を行う手段と、物理ディスクが使用可能となった旨の設定後、未使用領域であると判断したブロック領域について未使用領域と対応するスペアディスクのブロック領域にゼロデータを書き込む手段と、を有する。
また、本発明は、複数の物理ディスク及び少なくとも1つのスペアディスクを有するディスクアレイ装置における物理ディスクの復旧方法であって、ディスクアレイ装置は、各物理ディスク及びスペアディスクのそれぞれの記憶領域を分割して形成される複数のブロック領域の使用状況を管理するステップと、いずれかの物理ディスクに障害が生じた場合に、使用状況に基づいて物理ディスクのブロック領域が使用領域か未使用領域かを判断するステップと、使用領域であると判断したブロック領域についてデータの復旧を行い、使用領域と対応するスペアディスクのブロック領域に復旧したデータを書き込むステップと、使用領域であると判断した全てのブロック領域についてデータの復旧が完了すると、物理ディスクが使用可能となった旨の設定を行うステップと、物理ディスクが使用可能となった旨の設定後、未使用領域であると判断したブロック領域について未使用領域と対応するスペアディスクのブロック領域にゼロデータを書き込むステップと、を実行する。
本発明によれば、障害が生じた物理ディスクの使用領域と未使用領域を管理しているので、障害が生じた物理ディスクの使用領域に格納されたデータの復旧を先に終了することができる。これにより、外部が物理ディスクの使用を開始できるまでの時間が短縮するとともに、ディスクアレイ装置の負荷を削減することができる。また、障害が生じた物理ディスクの未使用領域については、バックグラウンド環境下でスペアディスクにゼロデータを書き込むことができる。このように、外部が物理ディスクの使用を開始できるまでの時間が短縮するとともに、障害が生じた物理ディスクを復元することができる。
本発明のシステム10を示すブロック図である。 物理ディスクPD及びブロックを説明する概念図である。 図2の物理ディスクPDを管理する管理テーブル40を示す図表である。 障害が発生した物理ディスクPDを復旧するためのフローチャートである。 論理ディスクLDN及び最終のLBAを説明する概念図である。 図5の論理ディスクLDNを管理するLBA管理テーブル41を示す図表である。 復旧中の物理ディスクPDにライト処理を行うためのフローチャートである。 復旧中の物理ディスクPDにリード処理を行うためのフローチャートである。
以下、本発明の実施の形態について、図面を参照して説明する。なお、図面中、同一の要素には同一の符号を付し、重複する説明を省略する。また、以下の実施の形態は、本発明を説明するための例示であり、本発明をその実施の形態のみに限定する趣旨ではない。さらに、本発明は、その要旨を逸脱しない限り、さまざまな変形が可能である。
(1)システムの構成
図1は、本実施の形態によるディスクアレイシステム10の構成を示したブロック図である。このシステム10は、ホスト装置1が第1ネットワーク7を介してディスクアレイ装置2と接続され、ディスクアレイ装置2が第2ネットワーク8を介して複数のディスク6(物理ディスクPD及びスペアディスクSD)と接続される構成である。
ホスト装置1は、CPUやメモリ等の情報処理資源を備えたコンピュータ装置であり、例えばパーソナルコンピュータ、ワークステーション、メインフレームなどから構成される。またホスト装置1は、キーボード、スイッチ等の情報入力装置(図示せず)と、モニタディスプレイやスピーカ等の情報出力装置(図示せず)とを備える。
第1ネットワーク7及び第2ネットワーク8は、例えばSAN(Storage Area Network)、LAN(Local Area Network)、インターネット、公衆回線又は専用回線などから構成される。例えば、ネットワークがSANの場合には、ファイバチャネルプロトコルに従って行われ、ネットワークがLANの場合には、TCP/IPプロトコルに従って行われる。本実施の形態では、ホスト装置1とディスクアレイ装置2とを接続する第1ネットワーク7にSANを使用し、第2ネットワーク8にFC(Fibre Channel)、SAS(Serial Attached SCSI)、SATA(Serial ATA)のいずれかを使用する。
ディスクアレイ装置2は、複数の物理ディスクPD(PD#0,…,PD#N)をRAID方式で管理するために、RAID情報管理部3、使用領域管理部4、ディスク処理制御部5、を有している。
本実施形態によれば、物理ディスクPDをグループ化することで、または、1台の物理ディスクPDの記憶領域を複数分割した分割記憶領域をグループ化することで形成された1つの仮想的な記憶領域を論理ディスクLDN(LDN#1,…,LDN#N)として定義する。したがって複数台の物理ディスクPDから複数の論理ディスクLDNが定義されることになる。そして、それぞれの論理ディスクLDNには、論理ディスクLDN内の記憶領域を分割したセクタ(分割記憶領域)が形成されている。全てのセクタはアクセス可能であり、これら全てのセクタには通し番号であるLBA(Logical Block Addressing)が割当てられている。
このように複数の物理ディスクPDから、所定のRAIDレベルをもつ論理ディスクLDNが形成される。論理ディスクLDNが形成されない物理ディスクPDはスペアディスクSD(予備ディスク)として設定される。例えば、RAIDレベル5の場合には、物理ディスク4台,パリティディスク(図示せず)1台の計5台の物理ディスクPDが1つのRAID5グループを構成し、RAIDグループに所属する物理ディスクPDの他に少なくとも1台のスペアディスクSDを有している。
RAID情報管理部3は、物理ディスクPDの使用/未使用状況,物理ディスクPDの正常/異常の状態状況等を監視しており、物理ディスクPDに障害が生じた場合に復元指示を行う。
また、RAID情報管理部3は、物理ディスクPDと論理ディスクLDNとの対応付けを管理する対応テーブル(図示せず)を有している。この対応テーブルでは、物理ディスクPDが所属するRAIDグループ、RAIDレベル(レベル1〜6)、同一のRAIDグループを構成する論理ディスクLDN、及びそのRAIDグループに所属する物理ディスクPDのセクタ番号と対応する論理ディスクLDNのLBA等のRAID情報を管理している。
使用領域管理部4は、物理ディスクPDの記憶領域の使用状況を管理しており、管理テーブル40を有している。
管理テーブル40は、図3に示すように、物理ディスク番号欄と、その物理ディスクPD内のブロック欄とから構成され、ブロックBlock#0,…,Block#N領域の使用状況を管理する。ここで、ブロックBlock#0,…,Block#N領域とは、1台の物理ディスクPDの記憶領域を、例えば10MB等の所定の記憶容量単位で分割した分割記憶領域をいう。また、ブロックBlock#0,…,Block#N領域の使用状況とは、その物理ディスクPDのブロックBlock#0,…,Block#N領域に、データが書き込まれているか、又はデータが書き込まれていないか、の状況をいう。データが書き込まれているブロック領域は使用領域(ユーザデータ領域)と定義し、データが書き込まれていないブロック領域は未使用領域と定義する。なお、この管理テーブル40では、スペアディスクSD内におけるブロックBlock#0,…,Block#N領域の使用状況、及び、スペアディスクSDのブロックBlock#0,…,Block#N領域と物理ブロックPDのブロックBlock#0,…,Block#N領域との対応関係、を管理してもよい。
ディスク処理制御部5は、ディスクアレイ装置2と物理ディスクPDとの間でデータの入出力を制御する。データの入出力は、物理ディスクPDがもつ固有の番号と、その物理ディスクPDのブロックBlock#0,…,Block#N領域の番号と、を指定して行われる。なお、ディスクアレイ装置2と論理ディスクLDNとの間でのデータの入出力を制御してもよい。論理ディスクLDNには、固有の識別子LUN(Logical Block Number)が割り当てられているため、データの入出力は、論理ディスクLDNの固有の識別子及びLBA(Logical Block Addressing)を組み合わせたアドレスを、指定して行われる。
(2)物理ディスクPDの復元方法
このように構成されたシステム10において、所定のRAIDレベルをもつ物理ディスクPDに障害が生じた場合に、システム10が、障害が生じた物理ディスクPDを復元する復元処理を、図4のフローチャートを用いて説明する。
ここで復元とは、スペアディスクSDの状態を障害が発生する前の物理ディスクPDの状態にすることをいい、障害が生じた物理ディスクPDの使用領域を復旧すること及び未使用領域を復旧することをいう。具体的に復元とは、ディスクアレイ装置2が後述するステップS1からS7までの処理を完了した状態をいう。なお、図4のフローチャートを実行する復元プログラムは、ディスクアレイ装置2のメモリ(図示せず)に記憶されており、RAID情報管理部3が物理ディスクPDの障害を検知すると、メモリから復元プログラムを読み出して実行する。
所定の物理ディスクPDに障害が生じると、RAID情報管理部3がディスク処理制御部5を介して障害が生じた物理ディスクPDを検知し、スペアディスクSDへの復元処理を開始する。
まずRAID情報管理部3は、障害が生じた物理ディスクPDを検出して物理ディスクPDの固有番号によって特定すると、特定した物理ディスクPDのブロックBlock#0,…,Block#N領域が使用領域(ユーザデータ領域)か未使用領域かを判断する(S1)。具体的には、RAID情報管理部3は、使用領域管理部4にアクセスすると、管理テーブル40を参照して、ブロックBlock#0,…,Block#N領域が使用済か否かを判断する。また、RAID情報管理部3は、今回の復元処理に使用するスペアディスクSDを選択する。なお、スペアディスクSDを管理テーブル40で管理している場合には、RAID情報管理部3は管理テーブル40を参照してスペアディスクSDを選択する。
RAID情報管理部3は、特定したブロック領域が使用領域であると判断すると(S1:YES)、対応テーブルを参照し、障害が生じた物理ディスクPDが所属するRAIDグループの、他の物理ディスクPDを特定する。そしてRAID情報管理部3は、特定した他の物理ディスクPDを使用して、障害が生じた物理ディスクPDの使用領域に書き込まれていたデータを復旧すると、ディスク処理制御部5を介して、復旧したデータをスペアディスクSDに転送し書き込んでいく(S2)。このとき、RAID情報管理部3は、障害が生じた物理ディスクPDからスペアディスクSDに転送したデータの情報を対応テーブル及び管理テーブル40に登録して、各テーブルの情報を更新する。
RAID情報管理部3は、使用領域に格納された全てのデータを復旧し、復旧した全てのデータをスペアディスクSDに書き込んだか否かを判断する(S3)。なお、RAID情報管理部3は、特定したブロック領域が未使用領域であると判断した場合にも(S1:NO)、このステップS3の処理を行う。
そしてRAID情報管理部3は、使用領域に格納された全てのデータを復旧していないと判断した場合には(S3:NO)、使用領域に格納された全てのデータを復旧するまで、ステップS1,S2の復元処理を行う。
一方、RAID情報管理部3は、使用領域に格納された全てのデータを復旧し、復旧した全てのデータを、使用領域と対応するスペアディスクSDのブロックBlock#0,…,Block#N領域に書き込んだと判断した場合には(S3:YES)、復旧ステートを「完了」に設定する(S4)。すなわち、RAID情報管理部3は、物理ディスクPDが使用可能となった旨の設定を行う。なお、RAID情報管理部3は、使用領域についての復旧が終了した場合に、障害が生じていた物理ディスクPDが使用可能となった旨の使用可能通知をホスト装置1に送信してもよい。
このように、まずRAID情報管理部3は、フォアグラウンド環境下で物理ディスクPDの使用領域を復旧させる。フォアグラウンド環境下でデータの復旧が終了すると、RAID情報管理部3は、使用領域の復旧が完了した物理ディスクPDに対して、外部(ホスト装置)からライトコマンド又はリードコマンドを受信することができる。また引き続き、管理テーブル40は、使用領域のブロック領域とスペアディスクのブロック領域との対応関係を管理する。
引き続き、RAID情報管理部3は、バックグラウンド環境下で障害が生じた物理ディスクPDの未使用領域についての復旧処理を行う。
具体的には、RAID情報管理部3は、ブロックBlock#0,…,Block#N領域が未使用領域であるか否かを判断し(S5)、ブロックBlock#0,…,Block#N領域が未使用領域であると判断した場合には(S5:YES)、ブロックBlock#0,…,Block#N領域ごとにゼロデータを生成する。そして、RAID情報管理部3は、管理テーブル40を参照し、生成したゼロデータをスペアディスクSDの対応するブロックBlock#0,…,Block#N領域に転送し書き込んでいく(S6)。障害が生じた物理ディスクPDの未使用領域と対応するスペアディスクSDのブロックBlock#0,…,Block#N領域にゼロデータが書き込まれることで、スペアディスクSDのブロックBlock#0,…,Block#N領域は初期化されることになる。
そうしてRAID情報管理部3が、生成したゼロデータを、未使用領域と対応するスペアディスクSDの全てのブロックBlock#0,…,Block#N領域に転送し、全てのゼロデータがスペアディスクSDに書き込まれたか否かを判断する(S7)。なお、RAID情報管理部3は、ブロックBlock#0,…,Block#N領域が使用領域であると判断した場合にも(S5:NO)、このステップS7の処理を行う。
RAID情報管理部3が、未使用領域と対応するスペアディスクSDのブロックBlock#0,…,Block#N領域に全てのゼロデータが書き込まれていないと判断した場合には(S7:NO)、全てのゼロデータがスペアディスクSDのBlock#0,…,Block#N領域に書き込まれるまで、ステップS5,S6の復元処理を行う。
RAID情報管理部3は、未使用領域と対応するスペアディスクSDのブロックBlock#0,…,Block#N領域に全てのゼロデータが書き込まれたと判断した場合には(S7:YES)、未使用領域についての復旧が完了するので、障害が生じた物理ディスクPDについての復元処理が終了する。
このように本実施形態では、物理ディスクPDの復元が必要になった場合に、RAID情報管理部3が先に物理ディスクPD内の使用領域に書き込まれたデータの復旧を行う。そして使用領域の復旧が終了した段階で、外部に対してはデータの復旧完了の通知を行って外部が物理ディスクPDを使用できる状態にするので、外部が物理ディスクPDの使用を開始できるまでの時間が短縮する。
(3)論理ディスクLDNの復元方法
本実施形態では、物理ディスクPDのブロックBlock#0,…,Block#N領域毎に復元処理を実行したが、論理ディスクLDNの使用領域の最終のLBAを管理する方法で復元処理を実行してもよい。図5は、1台の物理ディスクPDの記憶領域から複数の論理ディスクLDNが形成される場合を示している。そして、1つの論理ディスクLDNにはユーザデータ領域(使用領域)と未使用領域とが形成されている。
使用領域管理部4は、上述した管理テーブル40に加え、LBA管理テーブル41(第2管理テーブル)を有する。LBA管理テーブル41は、論理ディスクLDNのセクタ領域毎に使用状況を管理しており、図6に示すように、論理ディスクLDN欄とこの論理ディスクLDNに対応する物理ディスクPD欄とから構成される。LBA管理テーブル41のセルには、論理ディスクLDNに連続して書き込まれるユーザデータのうち、ユーザデータの末尾が書き込まれた最終セクタのLBAが登録される。
復元処理の際にはRAID情報管理部3が、LBA管理テーブル41を参照しつつ復元処理を実行する。すなわち、ユーザデータ領域の最終のLBAを読み出し、読み出した領域ごとに復元処理を実行する。上述のようにブロック領域毎に復元処理を実行することに比べ、1回で復元できる領域がブロック領域より広いため、外部が物理ディスクPDの使用を開始できるまでの時間が一層短縮される。
RAID情報管理部3が、ブロックBlock#0,…,Block#N領域単位で復元処理を実行するか、ブロックBlock#0,…,Block#N領域単位より大きな記憶容量で区切ったセクタ領域単位で復元処理を実行するかは、障害が生じた物理ディスクPDの容量に応じて判断する。なお、ホスト装置1からの指示にしたがって復元処理の単位を決定してもよい。
(4)未使用領域を復旧する間のライト処理
上述のようにディスクアレイ装置2がバックグラウンド環境下でステップS5〜S7を実行している間に、RAID情報管理部3がホスト装置1から物理ディスクPDに対してライトコマンドを受信した場合のライト処理を、図7に示すフローチャートを用いて説明する。このフローチャートを実行するライトプログラムは、ディスクアレイ装置2のメモリ(図示せず)に記憶されており、RAID情報管理部3がライトコマンドを受信すると、メモリからライトプログラムを読み出して実行する。
RAID情報管理部3がホスト装置1からライトコマンドを受信すると、RAID情報管理部3は、ホスト装置1が書き込みを要求した物理ディスクPDのブロック領域が使用領域か否かを判断する(S10)。
RAID情報管理部3は、ホスト装置1が物理ディスクPDの未使用領域に対して書き込みを要求していると判断すると(S10:NO)、使用領域管理部4にアクセスし、管理テーブル40を更新する(S11)。具体的には、RAID情報管理部3は、ホスト装置1が書き込みを要求した物理ディスクPDのブロックBlock#0,…,Block#N領域を未使用領域から使用領域に更新する。
RAID情報管理部3は、管理テーブル40を更新すると、ホスト装置1が書き込みを要求した物理ディスクPDのブロック領域が、復旧領域か否か、を判断する(S12)。
RAID情報管理部3は、ホスト装置1が書き込みを要求した物理ディスクPDのブロック領域が、未復旧領域であると判断すると(S12:YES)、ゼロデータを生成する。そしてRAID情報管理部3は、管理テーブル40を参照し、生成したゼロデータを見復旧領域と対応するスペアディスクSDのブロックBlock#0,…,Block#N領域に書き込む(S13)。
その後、RAID情報管理部3は、ゼロデータを書き込んだスペアディスクSDのブロックBlock#0,…,Block#N領域にホスト装置1からのライトデータを上書き(書き込み)すると(S14)、ライト処理を終了する。
なお、RAID情報管理部3は、ホスト装置1が物理ディスクPDの使用領域に対して書き込みを要求していると判断した場合(S10:YES)、又は未使用領域かつ復旧領域であると判断した場合(S10:NO,S12:NO)には、書き込みを要求している物理ディスクPDのブロックBlock#0,…,Block#N領域と対応するスペアディスクSDのブロックBlock#0,…,Block#N領域に、ホスト装置1から送信されたライトデータを書き込み、ライト処理を終了する。
(5)未使用領域を復旧する間のリード処理
上述のようにディスクアレイ装置2がバックグラウンド環境下でステップS5〜S7を実行している間に、RAID情報管理部3がホスト装置1から物理ディスクPDに対してリードコマンドを受信した場合のリード処理を、図6に示すフローチャートを用いて説明する。このフローチャートを実行するリードプログラムは、ディスクアレイ装置2のメモリ(図示せず)に記憶されており、RAID情報管理部3がリードコマンドを受信すると、メモリからリードプログラムを読み出して実行する。
RAID情報管理部3がホスト装置1からリードコマンドを受信すると、RAID情報管理部3は、ホスト装置1が読み出しを要求した物理ディスクPDのブロック領域が未使用領域かつ未復旧領域か、否かを判断する(S20)。
RAID情報管理部3は、ホスト装置1が読み出しを要求した物理ディスクPDのブロック領域が未使用領域、かつ未復旧領域であると判断すると(S20:YES)、RAID情報管理部3は、ゼロデータを生成し、生成したゼロデータをホスト装置1に送信して(S22)、リード処理を終了する。
一方、RAID情報管理部3は、ホスト装置1が読み出しを要求した物理ディスクPDのブロック領域が、使用領域である場合、又は未使用領域かつ復旧領域の場合であると判断すると(S20:NO)、読み出しを要求した物理ディスクPDのブロックBlock#0,…,Block#N領域と対応するスペアディスクSDのブロックBlock#0,…,Block#N領域からホスト装置1が読み出しを要求したリードデータを特定し、特定したリードデータを読み出しホスト装置1へ送信すると(S21)、ホスト装置1に終了報告を行ってリード処理を終了する。
このように、障害が生じた物理ディスクの未使用領域をバックグラウンド環境下で復旧している間に、ディスクアレイ装置2がホスト装置1からライトコマンド又はリードコマンドを受信しても、ライト処理又はリード処理を行うことができる。
本発明は、1台以上のディスクアレイ装置を有するストレージシステムに広く適用することができる。
1…ホスト装置、2…ディスクアレイ装置、3…RAID情報管理部、4…使用領域管理部、5…ディスク処理制御部、6…ディスク(物理ディスク,スペアディスク)、7…第1ネットワーク、8…第2ネットワーク、40…管理テーブル、41…LBA管理テーブル、PD,PD#0,…,PD#N…物理ディスク、LDN,LDN#1,…,LDN#N…論理ディスク、SD…スペアディスク、Block#0,…,Block#N…ブロック領域、10…システム。

Claims (10)

  1. 複数の物理ディスクと、
    少なくとも1つのスペアディスクと、
    各物理ディスク及び前記スペアディスクのそれぞれの記憶領域を分割して形成される複数のブロック領域の使用状況を管理する管理手段と、
    いずれかの物理ディスクに障害が生じた場合に、前記使用状況に基づいて前記物理ディスクのブロック領域が使用領域か未使用領域かを判断する手段と、
    使用領域であると判断したブロック領域についてデータの復旧を行い、前記使用領域と対応する前記スペアディスクのブロック領域に前記復旧したデータを書き込む手段と、
    使用領域であると判断した全てのブロック領域についてデータの復旧が完了した場合に、前記物理ディスクが使用可能となった旨の設定を行う手段と、
    前記物理ディスクが使用可能となった旨の設定後、未使用領域であると判断したブロック領域について前記未使用領域と対応する前記スペアディスクのブロック領域にゼロデータを書き込む手段と、
    を有するディスクアレイ装置。
  2. 前記記憶領域をグループ化することによって、又は、前記ブロック領域をグループ化することによって形成される複数の論理ディスクを有し、
    前記管理手段は、各論理ディスク内における使用領域の最終アドレスを管理する、請求項1に記載のディスクアレイ装置。
  3. ホスト装置から前記障害が生じた物理ディスクに対する書き込み要求を受信した場合に、前記使用状況に基づいて書き込み対象のブロック領域が使用領域か未使用領域かを判断する手段と、
    未使用領域であると判断した場合に、前記書き込み対象のブロック領域が復旧領域か未復旧領域かを判断する手段と、
    使用領域、又は未使用領域かつ復旧領域であると判断した場合に、前記書き込み対象のブロック領域と対応する前記スペアディスクのブロック領域にライトデータを書き込む手段と、
    未復旧領域であると判断した場合に、前記書き込み対象のブロック領域と対応する前記スペアディスクのブロック領域にゼロデータを書き込んだ後、前記ライトデータを書き込む手段と、を有する、請求項1又は2に記載のディスクアレイ装置。
  4. ホスト装置から前記障害が生じた物理ディスクに対する読み出し要求を受信した場合に、前記使用状況に基づいて読み出し対象のブロック領域が使用領域か未使用領域かを判断する手段と、
    未使用領域であると判断した場合に、前記読み出し対象のブロック領域が復旧領域か未復旧領域かを判断する手段と、
    使用領域、又は未使用領域かつ復旧領域であると判断した場合に、前記読み出し対象のブロック領域と対応する前記スペアディスクのブロック領域から読み出したリードデータを前記ホスト装置に送信する手段と、
    未復旧領域であると判断した場合に、ゼロデータを前記ホスト装置に送信する手段と、
    を有する、請求項1乃至3いずれか1項に記載のディスクアレイ装置。
  5. フォアグラウンド環境下において、前記使用領域か未使用領域かを判断する手段、前記復旧したデータを書き込む手段、及び前記物理ディスクが使用可能となった旨の設定を行う手段が動作し、
    バックグラウンド環境下において、前記ゼロデータを書き込む手段が動作する、ことを特徴とする請求項1に記載のディスクアレイ装置。
  6. 複数の物理ディスク及び少なくとも1つのスペアディスクを有するディスクアレイ装置における物理ディスクの復元方法であって、
    前記ディスクアレイ装置は、
    各物理ディスク及び前記スペアディスクのそれぞれの記憶領域を分割して形成される複数のブロック領域の使用状況を管理するステップと、
    いずれかの物理ディスクに障害が生じた場合に、前記使用状況に基づいて前記物理ディスクのブロック領域が使用領域か未使用領域かを判断するステップと、
    使用領域であると判断したブロック領域についてデータの復旧を行い、前記使用領域と対応する前記スペアディスクのブロック領域に前記復旧したデータを書き込むステップと、
    前記使用領域であると判断した全てのブロック領域についてデータの復旧が完了した場合に、前記物理ディスクが使用可能となった旨の設定を行うステップと、
    前記物理ディスクが使用可能となった旨の設定後、未使用領域であると判断したブロック領域について、前記未使用領域と対応する前記スペアディスクのブロック領域にゼロデータを書き込むステップと、を実行する物理ディスクの復元方法。
  7. 前記ディスク装置は、前記記憶領域をグループ化することによって、又は、前記ブロック領域をグループ化することによって形成される複数の論理ディスクを備え、
    前記管理ステップは、各論理ディスク内における使用領域の最終アドレスを管理する、請求項に記載の復元方法。
  8. 前記ディスクアレイ装置は、
    ホスト装置から前記障害が生じた物理ディスクに対する書き込み要求を受信した場合に、前記使用状況に基づいて書き込み対象のブロック領域が使用領域か未使用領域かを判断するステップと、
    未使用領域であると判断した場合に、前記書き込み対象のブロック領域が復旧領域か未復旧領域かを判断するステップと、
    使用領域、又は未使用領域かつ復旧領域であると判断した場合に、前記書き込み対象のブロック領域と対応する前記スペアディスクのブロック領域にライトデータを書き込むステップと、
    未復旧領域であると判断した場合に、前記書き込み対象のブロック領域と対応する前記スペアディスクのブロック領域にゼロデータを書き込んだ後、前記ライトデータを書き込むステップと、を実行する、請求項6又は7に記載の復元方法。
  9. 前記ディスクアレイ装置は、
    ホスト装置から前記障害が生じた物理ディスクに対する読み出し要求を受信した場合に、前記使用状況に基づいて読み出し対象のブロック領域が使用領域か未使用領域かを判断するステップと、
    未使用領域であると判断した場合に、前記読み出し対象のブロック領域が復旧領域か未復旧領域かを判断するステップと、
    使用領域、又は未使用領域かつ復旧領域であると判断した場合に、前記読み出し対象のブロック領域と対応する前記スペアディスクのブロック領域から読み出したリードデータを前記ホスト装置に送信するステップと、
    未復旧領域であると判断した場合に、ゼロデータを前記ホスト装置に送信するステップと、を実行する、請求項6乃至8いずれか1項に記載の復元方法。
  10. フォアグラウンド環境下において、前記使用領域か未使用領域かを判断するステップ、前記復旧したデータを書き込むステップ、及び前記物理ディスクが使用可能となった旨の設定を行うステップを実行し、
    バックグラウンド環境下において、前記ゼロデータを書き込むステップを実行する、ことを特徴とする請求項6に記載の復元方法。
JP2009173656A 2009-07-24 2009-07-24 ディスクアレイ装置及び物理ディスクの復元方法 Expired - Fee Related JP4836014B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009173656A JP4836014B2 (ja) 2009-07-24 2009-07-24 ディスクアレイ装置及び物理ディスクの復元方法
US12/840,970 US8433949B2 (en) 2009-07-24 2010-07-21 Disk array apparatus and physical disk restoration method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009173656A JP4836014B2 (ja) 2009-07-24 2009-07-24 ディスクアレイ装置及び物理ディスクの復元方法

Publications (2)

Publication Number Publication Date
JP2011028520A JP2011028520A (ja) 2011-02-10
JP4836014B2 true JP4836014B2 (ja) 2011-12-14

Family

ID=43498318

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009173656A Expired - Fee Related JP4836014B2 (ja) 2009-07-24 2009-07-24 ディスクアレイ装置及び物理ディスクの復元方法

Country Status (2)

Country Link
US (1) US8433949B2 (ja)
JP (1) JP4836014B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5549249B2 (ja) * 2010-02-04 2014-07-16 富士通株式会社 ストレージ装置、ストレージ装置のデータ復元方法及びストレージコントローラ
US9268644B1 (en) 2011-04-18 2016-02-23 American Megatrends, Inc. Systems and methods for raid acceleration
US8954670B1 (en) * 2011-04-18 2015-02-10 American Megatrends, Inc. Systems and methods for improved fault tolerance in RAID configurations
US20160217040A1 (en) * 2013-08-27 2016-07-28 Agency For Science, Technology And Research Raid parity stripe reconstruction
KR102479483B1 (ko) * 2017-10-19 2022-12-21 에스케이하이닉스 주식회사 메모리 시스템 및 이의 동작 방법
US20190317889A1 (en) * 2018-04-15 2019-10-17 Synology Inc. Apparatuses and methods and computer program products for a redundant array of independent disk (raid) reconstruction

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3561002B2 (ja) * 1994-05-18 2004-09-02 富士通株式会社 ディスク装置
JP3944280B2 (ja) * 1997-07-08 2007-07-11 株式会社日立製作所 障害回復方法および装置
JPH11143747A (ja) * 1997-11-11 1999-05-28 Toshiba Tec Corp プリアロケ−ションファイルの高圧縮化方法
JP2002222063A (ja) 2001-01-29 2002-08-09 Nec Eng Ltd ディスクアレイ装置およびそのデータ復元方法
JP2003241904A (ja) * 2002-02-15 2003-08-29 Hitachi Ltd ディスクアレイ装置、及びその制御方法
US6976124B2 (en) * 2001-12-25 2005-12-13 Hitachi, Ltd. Control method of control device conducting data input and output to storage devices, and control device used therefor
US7024586B2 (en) * 2002-06-24 2006-04-04 Network Appliance, Inc. Using file system information in raid data reconstruction and migration
JP2004199202A (ja) * 2002-12-16 2004-07-15 Matsushita Electric Ind Co Ltd 初期化機能を備えたicカード、icカード初期化方法
US7047380B2 (en) * 2003-07-22 2006-05-16 Acronis Inc. System and method for using file system snapshots for online data backup
JP2005107839A (ja) * 2003-09-30 2005-04-21 Toshiba Corp アレイコントローラ及びディスクアレイ再構築方法
DK2719368T3 (da) * 2004-01-05 2019-10-07 Tosho Inc Lægemiddeldispenser og anordning derfor
JP4091582B2 (ja) * 2004-09-06 2008-05-28 株式会社東芝 動画像符号化装置、及び動画像符号化方法
US7490270B2 (en) * 2004-11-09 2009-02-10 Dell Products L.P. Method, system, and software for rebuilding a storage drive
US7475282B2 (en) * 2004-12-28 2009-01-06 Acronis Inc. System and method for rapid restoration of server from back up
US7353355B1 (en) * 2004-12-28 2008-04-01 Acronis Inc. System and method for rapid restoration of server from backup
JP4605374B2 (ja) * 2005-04-04 2011-01-05 日本電気株式会社 記憶装置の試験方法及び装置
JP4884721B2 (ja) * 2005-08-22 2012-02-29 株式会社日立製作所 記憶装置のフォーマットを不要としたストレージシステム及び記憶制御方法
US7366859B2 (en) * 2005-10-06 2008-04-29 Acronis Inc. Fast incremental backup method and system
JP2008146574A (ja) * 2006-12-13 2008-06-26 Hitachi Ltd 記憶制御装置及び記憶制御方法

Also Published As

Publication number Publication date
US8433949B2 (en) 2013-04-30
JP2011028520A (ja) 2011-02-10
US20110022889A1 (en) 2011-01-27

Similar Documents

Publication Publication Date Title
US8904129B2 (en) Method and apparatus for backup and restore in a dynamic chunk allocation storage system
US8392752B2 (en) Selective recovery and aggregation technique for two storage apparatuses of a raid
JP5768587B2 (ja) ストレージシステム、ストレージ制御装置およびストレージ制御方法
JP5807458B2 (ja) ストレージシステム、ストレージ制御装置およびストレージ制御方法
JP5285610B2 (ja) グローバルホットスペアディスクが存在するときに、故障したドライブを復元、及びコピーバックする最適化された方法
JP2008046986A (ja) ストレージシステム
US20060236149A1 (en) System and method for rebuilding a storage disk
US8386837B2 (en) Storage control device, storage control method and storage control program
JP4836014B2 (ja) ディスクアレイ装置及び物理ディスクの復元方法
JP4939180B2 (ja) 接続された装置を構成するための初期設定コードの実行
JPWO2015052798A1 (ja) ストレージシステム及び記憶制御方法
US10095585B1 (en) Rebuilding data on flash memory in response to a storage device failure regardless of the type of storage device that fails
JP2010009442A (ja) ディスクアレイシステム、ディスク制御装置及びその再構築処理方法
JP4783076B2 (ja) ディスクアレイ装置及びその制御方法
JP2013045118A (ja) ストレージシステム、ストレージ制御装置およびストレージ制御方法
JP2005309818A (ja) ストレージ装置、そのデータ読出方法、及びそのデータ読出プログラム
US8032703B2 (en) Storage apparatus and failure recovery method
JPH09269871A (ja) ディスクアレイ装置におけるデータ再冗長化方式
US8402231B2 (en) Storage device, method for restoring data in storage device and storage controller
US20140173337A1 (en) Storage apparatus, control method, and control program
JP4740354B2 (ja) ディスク制御装置およびディスク制御方法
JP2009252114A (ja) ストレージシステム及びデータ退避方法
JPH07306758A (ja) ディスクアレイ装置及びその制御方法
JP2012174037A (ja) ディスクアレイ装置及びその制御方法
JP3793544B2 (ja) ディスクアレイ装置及びその制御方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110519

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110524

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110722

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

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

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

Free format text: PAYMENT UNTIL: 20141007

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4836014

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees