説明

ストレージ装置及びストレージ装置のリビルド処理方法

【課題】ストレージ装置の性能を低下させずにリビルド処理の高速化を図るとともに、リビルド処理中の突発的な障害の発生にも対応すること。
【解決手段】ストレージ装置2は、ライトキャッシュを有する複数の磁気ディスク装置21、22、23と、データを冗長的に記憶するプロセッサ部11と、リビルド処理を行うリビルド実行制御部13と、リビルド処理時にリビルドしたデータを記憶する記憶装置のライトキャッシュを有効にするライトキャッシュ制御部15と、リビルド処理の進捗情報を管理する、不揮発性メモリを用いて構成されるリビルド進捗管理部14とを備える。リビルド処理中に電源断となった後電源が再投入された場合、リビルド実行制御部13は、進捗管理部で管理されるリビルド処理の進捗情報に基づいて、最後に書き込んだリビルドされたデータのアドレスからライトキャッシュの容量相当分前のアドレスを算出し、当該算出したアドレスからリビルド処理を再開する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、リビルド処理を行うストレージ装置及びストレージ装置のリビルド処理方法に関する。
【背景技術】
【0002】
複数の磁気ディスク装置を用いてデータを冗長的に記憶するストレージ装置が知られている。このようなストレージ装置は、磁気ディスク装置が1台故障した場合、当該故障した磁気ディスク装置を論理的に切り離す処理を行う。そして、ストレージ装置は、故障していない残りの磁気ディスク装置を用いた冗長性のない縮退状態で動作を続行する。
【0003】
このように縮退状態で動作するストレージ装置を、冗長性のある状態に復旧させるためには、ユーザは、故障した磁気ディスク装置をストレージ装置から取り外し、新しい磁気ディスク装置をストレージ装置に取り付ける必要がある。このように新しい磁気ディスク装置が取り付けられると、ストレージ装置は、新しく取り付けられた磁気ディスク装置にリビルドしたデータを記憶するリビルド処理を実行する。このリビルド処理が終了すると、ストレージ装置は、冗長性のある状態に復旧する。
【0004】
また、複数の磁気ディスク装置を用いてデータを冗長的に記憶するディスクアレイ装置において、ディスクアクセス頻度の高いハードディスク装置のライトキャッシュを有効にすることにより、データ書き込みの高速化を図るものが知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2000−305717号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
従来のストレージ装置では、既述のリビルド処理は、通常の業務による磁気ディスク装置へのアクセスに関する処理と並行して行われる。このため新しく取り付けた磁気ディスク装置への書き込みが集中し、ストレージ装置を含むシステムの性能は低下する可能性がある。
【0007】
このようなシステムの性能の低下を防止するために、通常の業務による磁気ディスク装置へのアクセスに関する処理に対するリビルド処理の割り込み比率を予め設定しておくことが考えられる。
【0008】
しかしながら、リビルド処理の割り込み比率を小さく設定した場合、ストレージ装置を含むシステムの性能は低下しないが、リビルド処理の実行時間は長くなる。このため、ストレージ装置が縮退状態で動作する時間は長くなり、新たな磁気ディスク装置の故障発生によるシステムダウンの可能性は高くなる。
【0009】
一方、リビルド処理の割り込み比率を高く設定した場合、リビルド処理の実行時間は短くなるが、ストレージ装置を含むシステムの性能が低下する可能性は高くなる。
【0010】
つまり、既述の割り込み比率を設定する方法では、ストレージ装置を含むシステムの性能の低下及びリビルド処理の長時間化という問題を合わせて解決することができない。
【0011】
また、特許文献1の技術を適用すれば、新しく取り付けた磁気ディスク装置のライトキャッシュを有効にすることにより、当該磁気ディスク装置への書き込みの高速化を図ることは可能である。このため、特許文献1の技術を利用すれば、ストレージ装置を含むシステムの性能を低下させずにリビルド処理の高速化を実現することが可能であるとも考えられる。
【0012】
しかしながら、リビルド処理中に、突発的な障害により電源断の状態がストレージ装置に発生すると、ライトキャッシュ上のデータが失われる危険性がある。このようにライトキャッシュ上のデータが失われた場合、ストレージ装置は、リビルド処理がいずれのアドレスまで終了したかが把握できなくなる。このため、電源を再投入した後、ストレージ装置は、例えば、リビルド処理をやり直すこと等の非効率な処理を行う必要が生じることが考えられる。
【0013】
本発明は、上記事情に鑑みてなされたものであり、その目的は、ストレージ装置を含むシステムの性能を低下させずにリビルド処理の高速化を図るとともに、リビルド処理中の突発的な電源断にも対応することができるストレージ装置及びストレージ装置のリビルド処理方法を提供することにある。
【課題を解決するための手段】
【0014】
本発明は、ライトキャッシュを有する記憶装置を複数含む記憶部と、前記複数の記憶装置にデータを冗長的に記憶する第1の制御部と、前記データを再構築するリビルド処理を行う第2の制御部と、前記リビルド処理時に、再構築したデータを記憶する記憶装置のライトキャッシュを有効にするライトキャッシュ制御部と、前記リビルド処理の進捗情報として、再構築が完了し、前記ライトキャッシュに書き込んだ当該再構築されたデータのアドレスを管理する、不揮発性メモリを用いて構成される進捗管理部とを備え、前記リビルド処理中に電源断となった後電源が投入された場合、前記第2の制御部は、前記進捗管理部で管理される前記リビルド処理の進捗情報に基づいて、最後に書き込んだ再構築されたデータのアドレスから前記ライトキャッシュの容量相当分前のアドレスを算出し、当該算出したアドレスから前記リビルド処理を再開することを特徴とするストレージ装置である。
【発明の効果】
【0015】
本発明によると、ストレージ装置を含むシステムの性能を低下させずにリビルド処理の高速化を図るとともに、リビルド処理中の突発的な電源断にも対応することができるストレージ装置及びストレージ装置のリビルド処理方法を提供できる。
【図面の簡単な説明】
【0016】
【図1】本発明の第1の実施の形態に係るストレージシステムの構成を示すブロック図である。
【図2】同実施の形態に係るリビルド処理を示すフローチャートである。
【図3】同実施の形態に係る電源再投入後のリビルド処理を示すフローチャートである。
【図4】本発明の第2の実施の形態に係るストレージシステムの構成を示すブロック図である。
【図5】同実施の形態に係る初期化処理を示すフローチャートである。
【図6】同実施の形態に係る電源再投入後の初期化処理を示すフローチャートである。
【発明を実施するための形態】
【0017】
以下、本発明の各実施の形態について図面を参照しながら説明する。
【0018】
(第1の実施の形態)
図1は、ストレージシステム100の構成を概略的に示す図である。図1に示すように、ストレージシステム100は、上位装置1とストレージ装置2とから構成されている。
【0019】
上位装置1は、ストレージ装置2に対してライトコマンド、リードコマンド等の各種コマンドを送信する。また、上位装置1は、ストレージ装置2からリードデータ及び各種ステータス等の情報を受信する。
【0020】
ストレージ装置2は、上位装置1から受信した各種コマンドに基づく処理を実行する。例えば、ストレージ装置2は、上位装置1からライトコマンドを受信した場合は、当該ライトコマンドに基づくデータを記憶する。また、例えば、ストレージ装置2は、上位装置1からリードコマンドを受信した場合は、当該リードコマンドに基づくデータを上位装置1に送信する。
【0021】
このストレージ装置2は、コントローラ部10と記憶部であるディスク部20とから構成されている。
【0022】
コントローラ部10は、第1の制御部であるプロセッサ部11、ディスク制御部12、第2の制御部であるリビルド実行制御部13、進捗管理部であるリビルド進捗管理部14、ライトキャッシュ制御部15を含んでいる。また、ディスク部20は、記憶装置である磁気ディスク装置21、22、23を含んでいる。これら磁気ディスク装置21、22、23は、それぞれ、ライトキャッシュ24、25、26及びディスク27、28、29を有している。
【0023】
プロセッサ部11は、上位装置1及びディスク制御部12にそれぞれ接続されている。また、ディスク制御部12は、プロセッサ部11、リビルド実行制御部13、リビルド進捗管理部14、磁気ディスク装置21、22、23にそれぞれ接続されている。リビルド実行制御部13は、ディスク制御部12、リビルド進捗管理部14、ライトキャッシュ制御部15にそれぞれ接続されている。
【0024】
先ず、ディスク部20について説明する。
【0025】
磁気ディスク装置21,22、23は、データを記憶する装置である。本第1の実施の形態においては、磁気ディスク装置21、22、23によってRAID5が構成されている。したがって、磁気ディスク装置21、22、23は、上位装置1から送信されたライトデータを冗長的に記憶することができる。
【0026】
ライトキャッシュ24、25、26は、ライトデータを一時的に保持するキャッシュである。このライトキャッシュ24、25、26は、ライトキャッシュ制御部15の指示に基づいて、有効又は無効に設定される。ライトキャッシュを有効にした磁気ディスク装置は、ライトキャッシュにライトデータを保持したときにディスク制御部12に応答を返却できるので、データ書き込みの高速化を図ることができるようになっている。
【0027】
ディスク27、28、29は、それぞれデータを記憶する。
【0028】
次に、コントローラ部10について説明する。
【0029】
プロセッサ部11は、上位装置1から受信した各種コマンドを解読する。また、プロセッサ部11は、この解読したコマンドに基づいて、ディスク制御部12に動作指示を行なう。
【0030】
例えば、プロセッサ部11は、上位装置1からライトコマンドを受信した場合は、当該ライトコマンドを解読する。そして、プロセッサ部11は、当該解読したライトコマンドに基づいて磁気ディスク装置21、22、23にデータを冗長的に記憶する制御を行う。
【0031】
また、例えば、プロセッサ部11は、上位装置1からリードコマンドを受信した場合は、当該リードコマンドを解読する。そして、プロセッサ部11は、この解読したリードコマンドに基づくデータを磁気ディスク装置21、22、23から読み出す制御を行う。この読み出したデータは、上位装置1へ送信される。
【0032】
上記のライトデータの書き込み、又は、リードデータの読み出しは、磁気ディスク装置21、22、23に設定された既述のRAID5に関するRAID情報を利用して行われる。このRAID情報を利用する処理については、従来よりあるものと同様であるため説明を省略する。
【0033】
ディスク制御部12は、プロセッサ部11、リビルド実行制御部13、及びリビルド実行制御部13を介したライトキャッシュ制御部15からの指示を受けると、当該指示に基づく命令をディスク部20に対して送信する。
【0034】
リビルド実行制御部13は、磁気ディスク装置21、22、23に対してリビルド処理を実行する。このリビルド処理は、ディスク部20内の磁気ディスク装置21、22、23のいずれかに障害が発生した場合に、当該障害が発生した磁気ディスク装置が新しい磁気ディスク装置に取り替えられたときに行われる。新たな磁気ディスク装置を検出すると、リビルド実行制御部13は、他の磁気ディスク装置に記憶されているデータに基づいて、新たに取り付けられた磁気ディスク装置に記憶するデータを所定のデータ量毎にリビルドし、当該リビルドしたデータを所定のデータ量毎に当該新たな磁気ディスクス装置に記憶する。
【0035】
また、リビルド実行制御部13は、ストレージ装置2が電源断の状態になった後電源が投入された場合、リビルド進捗管理部14で管理される前記リビルド処理の進捗情報(後述する。)に基づいて、最後に書き込んだリビルド(再構築)したデータのアドレスからライトキャッシュの容量相当分前のアドレスを算出し、当該算出したアドレスからリビルド処理を再開する制御を行う。
【0036】
なお、リビルド処理の詳細については図2を参照して後述するとともに、リビルド処理を再開する処理の詳細については図3を参照して後述する。
【0037】
リビルド進捗管理部14は、既述のリビルド処理が実行されている間、そのリビルド処理の進捗情報を管理する。進捗情報は、ライトキャッシュに書き込んだ、所定のデータ量毎のリビルドが完了されたデータのアドレス(以下、第1のポインター情報と称する。)である。このリビルド進捗管理部14は、不揮発性メモリを用いて構成される。このため、ストレージ装置2が電源断となった状態でも第1のポインター情報はリビルド進捗管理部14に保持されるようになっている。
【0038】
ライトキャッシュ制御部15は、リビルド処理時に、リビルドしたデータを記憶する磁気ディスク装置のライトキャッシュを有効にする制御をする。また、リビルド処理が終了したときは、当該磁気ディスク装置のライトキャッシュを無効にする制御をする。このライトキャッシュを有効又は無効にする制御の指示は、ライトキャッシュ制御部15から、リビルド実行制御部13及びディスク制御部12を介して、リビルドしたデータを記憶する磁気ディスク装置に送信される。
【0039】
次に、リビルド実行制御部13が実行するリビルド処理について図2を参照しながら説明する。
【0040】
リビルド実行制御部13は、ディスク部20内に新たな磁気ディスク装置を検出したか否かをディスク制御部12からの情報に基づいて判断する(S101)。このディスク部20内に新たな磁気ディスク装置を検出したか否かを判断する技術は、従来よりあるものと同様であるため詳細な説明は省略する。
【0041】
新たな磁気ディスク装置を検出したと判断しなければ(S101:NO)、リビルド実行制御部13は、ステップS101の処理に戻る。
【0042】
一方、新たな磁気ディスク装置を検出したと判断すると(S101:YES)、リビルド実行制御部13は、新たな磁気ディスク装置を検出したことを示す検出情報をライトキャッシュ制御部15へ送信する(S102)。ライトキャッシュ制御部15は、当該検出情報を受信すると、新たに検出した磁気ディスク装置のライトキャッシュを有効にする指示をリビルド実行制御部13へ送信する。
【0043】
次に、リビルド実行制御部13は、ライトキャッシュ制御部15から新たに検出した磁気ディスク装置のライトキャッシュを有効にする指示を受信すると、当該指示をディスク制御部12を介して新たな磁気ディスク装置に送信する(S103)。これにより、当該新たな磁気ディスク装置のライトキャッシュは、有効になる。
【0044】
次に、リビルド実行制御部13は、リビルド処理を実行する(S104)。より詳細には、リビルド実行制御部13は、新たに検出した磁気ディスク装置以外の磁気ディスク装置をソースドライブ、新たに検出した磁気ディスク装置をターゲットドライブとする。そして、リビルド実行制御部13は、これらソースドライブから所定のデータ量のデータを読み出し、当該読み出したデータからデータをリビルドし、当該リビルドしたデータをターゲットドライブに記憶する。
【0045】
リビルド進捗管理部14は、リビルド実行制御部13により実効されるリビルド処理の進捗情報を管理する(S105)。すなわち、リビルド進捗管理部14は、既述の第1のポインター情報を、所定のデータ量のリビルドしたデータのライトキャシュへの書き込みが完了する毎に更新する。
【0046】
次に、リビルド実行制御部13は、リビルド処理が終了したか否かを判断する(S106)。リビルド処理が終了していないと判断した場合は(S106:NO)、リビルド実行制御部13は、ステップS104の処理を行い、そして、リビルド進捗管理部14はステップS105の処理を行う。
【0047】
一方、リビルド処理が終了したと判断した場合は(S106:YES)、リビルド実行制御部13は、リビルド処理が終了したことを示す終了情報をライトキャッシュ制御部15へ送信する(S107)。ライトキャッシュ制御部15は、当該終了情報を受信すると、新たに検出した磁気ディスク装置のライトキャッシュを無効にする指示をリビルド実行制御部13へ送信する。
【0048】
リビルド実行制御部13は、ライトキャッシュ制御部15から新たに検出した磁気ディスク装置のライトキャッシュを無効にする指示を受信すると、当該指示をディスク制御部12を介して新たに検出した磁気ディスク装置に送信する(S108)。新たに検出された磁気ディスク装置は、当該指示を受信すると、ライトキャッシュを無効にする。
【0049】
以上のようにリビルド処理が実行される。このリビルド処理の実行後、ストレージ装置2は、冗長性のある状態に復旧する。
【0050】
次に、既述のリビルド処理の実行中に、例えば、停電等の障害が発生し、ストレージ装置2が電源断の状態になった後、ストレージ装置2に電源が再投入された場合のリビルド実行制御部13の処理について、図3を参照しながら説明する。
【0051】
電源が再投入されると、リビルド実行制御部13は、リビルド進捗管理部14で管理されている第1のポインター情報を取得する(S201)。リビルド進捗管理部14は、不揮発性メモリで構成されている。このため、ストレージ装置2が電源断となっても第1のポインター情報はリビルド進捗管理部14に保持されている。
【0052】
次に、リビルド実行制御部13は、リビルド処理を再開するアドレスを算出する(S202)。より詳細には、リビルド実行制御部13は、ステップS201で取得した第1のポインター情報が示すアドレスからライトキャッシュの容量相当分前のアドレスを算出する。この算出したアドレスがリビルド処理を再開する再開アドレスとなる。
【0053】
次に、リビルド実行制御部13は、ステップS202で算出した再開アドレスから、リビルド処理等を実行する(S203乃至S207)。このステップS203乃至S207の処理は、図2を参照して既述したステップS104乃至S108の処理とそれぞれ同様であるため、説明は省略する。
【0054】
次に、リビルド処理の一例について説明する。以下で説明する一例は、磁気ディスク装置21が新たな磁気ディスク装置として検出された場合である。
【0055】
リビルド実行制御部13は、磁気ディスク装置21を新たな磁気ディスク装置として検出すると、ライトキャッシュ制御部15へ検出情報を送信する。この検出情報を受信したライトキャッシュ制御部15は、磁気ディスク装置21のライトキャッシュ24を有効にするように指示を送信する。この指示は、リビルド実行制御部13、ディスク制御部12を介して磁気ディスク装置21へ送信される。これにより、磁気ディスク装置21のライトキャッシュ24は有効になる。
【0056】
次に、リビルド実行制御部13は、リビルド処理を開始する。先ず、リビルド実行制御部13は、磁気ディスク装置22、23をソースドライブ、磁気ディスク装置21をターゲットドライブとする。そして、リビルド実行制御部13は、ソースドライブのディスク28、29に記憶されているデータを所定のデータ量だけ読み出す。そして、リビルド実行制御部13は、この読み出したデータからデータをリビルドし、当該リビルドしたデータを磁気ディスク装置21のライトキャッシュ24に記憶する。リビルド実行制御部13は、この処理を所定のデータ量毎に繰り返す。
【0057】
このリビルド処理においては、磁気ディスク装置21のライトキャッシュ24が有効になっている。このため、リビルドしたデータは、ライトキャッシュ24に一時的に保持された後、順次ディスク27に記憶される。したがって、磁気ディスク装置21はライトキャッシュ24にリビルドしたデータを保持したときにディスク制御部12へ応答を返却することができるので、磁気ディスク装置21はデータを記憶する処理を高速に行うことができる。このため、リビルド処理と通常業務によるアクセスに関する処理とを同時に行っても、ストレージシステム100の性能の低下は防止できる。
【0058】
また、リビルド処理時、リビルド進捗管理部14は、リビルドしたデータの磁気ディスク装置21への記憶(つまり、ライトキャッシュ24への書き込み)が完了する毎に第1のポインター情報を更新する。したがって、磁気ディスク装置21の記憶領域のいずれのアドレスまでリビルド処理が完了したかは、リビルド進捗管理部14で管理される。
【0059】
このリビルド処理の実行中に、ストレージ装置2が電源断の状態になると、コントローラ部10及びディスク部20の動作は停止する。したがって、リビルド実行制御部13が実行しているリビルド処理も停止する。
【0060】
このとき、磁気ディスク装置21に記憶された既述のリビルドされたデータのうち、磁気ディスク装置21のディスク27に記憶されたデータは失われない。しかしながら、当該データのうちライトキャッシュ24に保持されていたデータは失われる。
【0061】
一方、リビルド進捗管理部14は不揮発性のメモリで構成されている。このため、ストレージ装置2が電源断の状態になっても、第1のポインター情報はリビルド進捗管理部14に保持されている。
【0062】
電源断の状態が解消され、ストレージ装置2に電源が再投入されると、リビルド実行制御部13は、リビルド進捗管理部14が保持している第1のポインター情報を取得する。続いて、リビルド実行制御部13は、当該第1のポインター情報が示すアドレスからライトキャッシュ24の容量相当分前の再開アドレスを算出し、当該算出した再開アドレスからリビルド処理を再開する。
【0063】
リビルド実行制御部13は、第1のポインター情報が示すアドレスよりライトキャッシュ24の容量相当分前のアドレスからリビルド処理を再開する。このため、ストレージ装置2が電源断の状態になり、ライトキャッシュ24からリビルドされたデータが失われても、リビルド処理に不具合は生じない。例えば、ストレージ装置2は、リビルド処理をやり直す等の非効率な処理をする必要は生じない。
【0064】
なお、ストレージ装置2が電源断の状態になったときに通常業務によるアクセスに基づくデータがライトキャッシュ24に保持されていた場合は、当該データもリビルドされたデータと同様に失われる。しかしながら、この失われたデータは、磁気ディスク装置22のディスク28および磁気ディスク装置23のディスク29に記憶されているデータからリビルドすることができる。
【0065】
本第1の実施の形態のストレージ装置2は、磁気ディスク装置21のライトキャッシュ24を有効にしてリビルド処理を行うことができる。このため、ストレージ装置2の処理の性能を低下させずにリビルド処理を高速化することができる。
【0066】
また、以上のようにストレージ装置2はリビルド処理を高速化することができる。このため、ストレージ装置2は縮退状態で動作する時間を短縮することができる。この結果、ストレージ装置2は、縮退状態での動作時に、2台目の磁気ディスク装置の故障によるシステムダウンの可能性を低くすることができる。
【0067】
さらに、ストレージ装置2は、電源の再投入時にリビルド進捗管理部14に管理される第1のポインター情報が示すアドレスからライトキャッシュ24の容量分相当分前のアドレスからリビルド処理を再開することができる。このため、ストレージ装置2の電源断によってライトキャッシュ24上のデータが失われる事態に対応することができる。
【0068】
(第2の実施の形態)
次に第2の実施の形態について説明する。この第2の実の施形態は、第1の実施の形態のコントローラ部2に、第3の制御部である初期化実行制御部16を追加するとともに、リビルド進捗管理部14に代えてリビルド初期化進捗管理部17及びライトキャッシュ制御部15に代えてライトキャッシュ制御部18を設けている点が第1の実施の形態と異なっている。なお、その他の構成については、第1の実施の形態と同一であるため、同一の構成には同一の符号を付し、第1の実施の形態と同様な点については詳細な説明を省略する。
【0069】
図4に示すように、初期化実行制御部16は、プロセッサ部11、ディスク制御部12、リビルド初期化進捗管理部17、ライトキャッシュ制御部18とそれぞれ接続されている。リビルド初期化進捗管理部17は、ディスク制御部12、リビルド実行制御部13、初期化実行制御部16にそれぞれ接続されている。ライトキャッシュ制御部18は、リビルド実行制御部13、初期化実行制御部16にそれぞれ接続されている。
【0070】
初期化実行制御部16は、磁気ディスク装置21、22、23の初期化処理を実行する。より詳細には、初期化実行制御部16は、上位装置1からプロセッサ部11を介して初期化命令を受け取ると、磁気ディスク装置21、22、23を順次初期化する。ここで、初期化とは、所定のデータ量の固定データを磁気ディスク装置21、22、23へ上書きすることをいう。
【0071】
また、初期化実行制御部16は、ストレージ装置2が電源断の状態になった後電源が投入された場合、リビルド初期化進捗管理部17で管理される初期化処理の進捗情報(後述する。)に基づいて、最後に書き込んだ固定データのアドレスからライトキャッシュの容量相当分前のアドレスを算出し、当該算出したアドレスから初期化処理を再開する制御を行う。
【0072】
なお、初期化処理の詳細については図5を参照して後述するとともに、初期化処理を再開する処理の詳細については図6を参照して後述することとする。
【0073】
リビルド初期化進捗管理部17は、リビルド実行制御部13がリビルド処理を実行する時はリビルド処理の進捗情報を管理する。また、リビルド初期化進捗管理部17は、初期化実行制御部16が初期化処理を実行する時は初期化処理の進捗情報を管理する。なお、リビルド処理時の進捗情報の管理については第1の実施の形態における説明と同様であるため説明を省略する。
【0074】
リビルド初期化進捗管理部17は、既述の初期化処理が実行されている間、その初期化処理の進捗情報を管理する。この進捗情報は、ライトキャッシュに書き込んだ固定データのアドレス(以下、第2のポインター情報と称する。)である。このリビルド初期化進捗管理部17は、不揮発性メモリを用いて構成されている。このため、ストレージ装置2が電源断となった状態でも第2のポインター情報はリビルド初期化進捗管理部17に保持されるようになっている。
【0075】
ライトキャッシュ制御部18は、リビルド実行制御部13がリビルド処理を実行する時には、第1の実施の形態で説明したように、ライトキャッシュを有効又は無効にする制御をする。また、ライトキャッシュ制御部18は、初期化実行制御部16が初期化処理を実行する時は初期化を行う磁気ディスク装置のライトキャッシュを有効にする制御をする。さらに、ライトキャッシュ制御部18は、当該初期化を行った磁気ディスク装置のライトキャッシュを無効にする制御をする。
【0076】
次に、ディスク部20の磁気ディスク装置21、22、23を順次初期化する初期化処理について図5を参照して説明する。初期化実行制御部16が上位装置1からプロセッサ部11を介して初期化処理の指示を受け取ると、初期化実行制御部16は初期化処理を開始する。
【0077】
初期化実行制御部16は、磁気ディスク装置21、22、23を選択する処理を行う(S301)。本第2の実施の形態では、磁気ディスク装置は、磁気ディスク装置21、22、23の順で初期化されることとする。このため、磁気ディスク装置21、22、23はこの順で選択される。
【0078】
磁気ディスク装置を選択すると、初期化実行制御部16は、選択した磁気ディスク装置を示す選択情報をライトキャッシュ制御部18へ送信する(S302)。ライトキャッシュ制御部18は、当該選択情報を受信すると、選択された初期化を行う磁気ディスク装置のライトキャッシュを有効にする指示を初期化実行制御部16へ送信する。
【0079】
初期化実行制御部16は、ライトキャッシュ制御部18から初期化を行う磁気ディスク装置のライトキャッシュを有効にする指示を受信すると、当該指示をディスク制御部12を介して初期化を行う磁気ディスク装置へ送信する(S303)。これにより、当該初期化を行う磁気ディスク装置のライトキャッシュは有効になる。
【0080】
次に、初期化実行制御部16は、初期化処理を実行する(S304)。より詳細には、初期化実行制御部16は、初期化を行う磁気ディスク装置のディスクに固定データを上書きする処理を行う。
【0081】
リビルド初期化進捗管理部17は、初期化処理の進捗情報を管理する(S305)。すなわち、リビルド初期化進捗管理部17は、固定データの上書き処理が終了する毎に既述の第2のポインター情報を更新する。
【0082】
次に、初期化実行制御部16は、初期化処理が終了したか否かを判断する(S306)。初期化処理が終了していないと判断した場合は(S306:NO)、初期化実行制御部16はステップS304の処理を行い、そして、リビルド初期化進捗管理部17はステップS305の処理を行う。
【0083】
一方、初期化処理が終了したと判断した場合は(S306:YES)、初期化実行制御部16は、選択した磁気ディスク装置の初期化処理が終了したことを示す終了情報をライトキャッシュ制御部18へ送信する(S307)。ライトキャッシュ制御部18は、当該終了情報を受信すると、当該磁気ディスク装置のライトキャッシュを無効にする指示を初期化実行制御部16へ送信する。
【0084】
初期化実行制御部16は、ライトキャッシュ制御部18から当該磁気ディスク装置のライトキャッシュを無効にする指示を受信すると、当該指示をディスク制御部12を介して当該磁気ディスク装置へ送信する(S308)。これにより、初期化処理が終了した磁気ディスク装置のライトキャッシュは無効になる。
【0085】
次に、初期化実行制御部16は、全ての磁気ディスク装置を選択したか否かを判断する(S309)。より詳細には、初期化実行制御部16は、磁気ディスク装置21、22、23をそれぞれ選択し、これら全ての磁気ディスク装置21、22、23の初期化処理が終了したか否かを判断する。
【0086】
全ての磁気ディスク装置を選択していないと判断した場合は(S309:NO)、初期化実行制御部16は、ステップS301からS308の処理を繰り返す。つまり、初期化実行制御部16は、次に選択する磁気ディスク装置を初期化処理する。
【0087】
一方、全ての磁気ディスク装置を選択したと判断した場合は(S309:YES)、初期化実行制御部16は、初期化処理を終了する。
【0088】
次に、既述の初期化処理の実行中に、例えば、停電等の障害が発生し、ストレージ装置2が電源断の状態になった後、ストレージ装置2に電源が再投入されたときの初期化実行制御部16の処理について、図6を参照しながら説明する。
【0089】
電源が再び投入されると、初期化実行制御部16は、リビルド初期化進捗管理部17で管理されている第2のポインター情報を取得する(S401)。リビルド初期化進捗管理部17は、不揮発性メモリで構成されている。このため、ストレージ装置2が電源断となっても第2のポインター情報がリビルド初期化進捗管理部17に保持されている。
【0090】
次に、初期化実行制御部16は、初期化処理を再開する再開アドレスを算出する(S402)。より詳細には、初期化実行制御部16は、ステップS401で取得した第2のポインター情報が示すアドレスからライトキャッシュの容量相当分前のアドレスを算出する。この算出したアドレスは初期化処理を再開する再開アドレスとなる。
【0091】
初期化実行制御部16は、ステップS402で再開アドレスを算出すると、既述のステップS304へ進み、当該再開アドレスから初期化処理を再開する。この後のステップS305以降の処理は図5を参照して既述した説明と同様であるため、詳細な説明は省略する。
【0092】
この第2の実施の形態のストレージ装置2は、初期化処理を行なう磁気ディスク装置のライトキャッシュを有効にできるので初期化処理を高速化することができる。
【0093】
また、ストレージ装置2は、初期化処理中に電源断となっても、電源が再投入された時にリビルド初期化進捗管理部17に管理される第2のポインター情報が示すアドレスよりライトキャッシュの容量相当分前のアドレスから初期化処理を再開することができる。このため、ストレージ装置2の電源断によってライトキャッシュ上のデータが失われたとしても、磁気ディスク装置21、22,23の全ての記憶領域を確実に初期化することができる。
【0094】
なお、上記第2の実施の形態ではストレージ装置2が、リビルド処理に加えて初期化処理も実行する場合で説明している。しかしながら、リビルド処理をする構成と初期化処理をする構成とを同一のストレージ装置内に設けなくても良い。この場合、初期化処理を行うストレージ装置は、第2の実施の形態において説明した初期化処理に関する機能を備えるようにする。
【産業上の利用可能性】
【0095】
リビルド処理を行うストレージ装置及びストレージ装置のリビルド処理方法に広く適用可能である。
【符号の説明】
【0096】
1・・・・上位装置
2・・・・ストレージ装置
10・・・コントローラ部
11・・・プロセッサ部
12・・・ディスク制御部
13・・・リビルド実行制御部
14・・・リビルド進捗管理部
15・・・ライトキャッシュ制御部
16・・・初期化実行制御部
17・・・リビルド初期化進捗管理部
18・・・ライトキャッシュ制御部
20・・・ディスク部
21、22、23・・・磁気ディスク装置
24、25、26・・・ライトキャッシュ
27、28、29・・・ディスク
100・・・ストレージシステム

【特許請求の範囲】
【請求項1】
ライトキャッシュを有する記憶装置を複数含む記憶部と、
前記複数の記憶装置にデータを冗長的に記憶する第1の制御部と、
前記データを再構築するリビルド処理を行う第2の制御部と、
前記リビルド処理時に、再構築したデータを記憶する記憶装置のライトキャッシュを有効にするライトキャッシュ制御部と、
前記リビルド処理の進捗情報として、再構築が完了し、前記ライトキャッシュに書き込んだ当該再構築されたデータのアドレスを管理する、不揮発性メモリを用いて構成される進捗管理部とを備え、
前記リビルド処理中に電源断となった後電源が投入された場合、前記第2の制御部は、前記進捗管理部で管理される前記リビルド処理の進捗情報に基づいて、最後に書き込んだ再構築されたデータのアドレスから前記ライトキャッシュの容量相当分前のアドレスを算出し、当該算出したアドレスから前記リビルド処理を再開することを特徴とするストレージ装置。
【請求項2】
前記複数の記憶装置に固定データを書き込んで初期化処理を行う第3の制御部を更に備え、
前記ライトキャッシュ制御部は、更に前記初期化処理を行う記憶装置のライトキャッシュを有効にし、
前記進捗管理部は、更に前記初期化処理の進捗情報として、前記ライトキャッシュに書き込んだ固定データのアドレスを管理するものであり、
前記初期化処理中に電源断となった後電源が投入された場合、前記第3の制御部は、前記進捗管理部で管理される前記初期化処理の進捗情報に基づいて、最後に書き込んだ固定データのアドレスから前記ライトキャッシュの容量相当分前のアドレスを算出し、当該算出したアドレスから前記初期化処理を再開することを特徴とする請求項1記載のストレージ装置。
【請求項3】
ライトキャッシュを有する記憶装置を複数含む記憶部と、前記複数の記憶装置にデータを冗長的に記憶する制御部とを有するストレージ装置のリビルド処理方法であって、
リビルド処理時に、再構築したデータを記憶する記憶装置のライトキャッシュを有効にするステップと、
前記リビルド処理の進捗情報として、再構築が完了し、前記ライトキャッシュに書き込んだ当該再構築されたデータのアドレスを、不揮発性メモリを用いて管理するステップと、
前記リビルド処理中に電源断となった後電源が投入された場合、前記不揮発性メモリを用いて管理される前記リビルド処理の進捗情報に基づいて、最後に書き込んだ再構築されたデータのアドレスを取得するステップと、
前記取得した前記アドレスから前記ライトキャッシュの容量相当分前のアドレスを算出するステップと
前記算出したアドレスから前記リビルド処理を再開するステップと、
を有することを特徴とするリビルド処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2012−14638(P2012−14638A)
【公開日】平成24年1月19日(2012.1.19)
【国際特許分類】
【出願番号】特願2010−153194(P2010−153194)
【出願日】平成22年7月5日(2010.7.5)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】