(57)【特許請求の範囲】
【請求項１】
ライトキャッシュを有する記憶装置を複数含む記憶部と、
前記複数の記憶装置にデータを冗長的に記憶する第１の制御部と、
前記データを再構築するリビルド処理を行う第２の制御部と、
前記リビルド処理時に、再構築したデータを記憶する記憶装置のライトキャッシュを有効にするライトキャッシュ制御部と、
前記リビルド処理の進捗情報として、再構築が完了し、前記ライトキャッシュに書き込んだ当該再構築されたデータのアドレスを管理する、不揮発性メモリを用いて構成される進捗管理部とを備え、
前記リビルド処理中に電源断となった後電源が投入された場合、前記第２の制御部は、前記進捗管理部で管理される前記リビルド処理の進捗情報に基づいて、最後に書き込んだ再構築されたデータのアドレスから前記ライトキャッシュの容量相当分前のアドレスを算出し、当該算出したアドレスから前記リビルド処理を再開することを特徴とするストレージ装置。
【請求項２】
前記複数の記憶装置に固定データを書き込んで初期化処理を行う第３の制御部を更に備え、
前記ライトキャッシュ制御部は、更に前記初期化処理を行う記憶装置のライトキャッシュを有効にし、
前記進捗管理部は、更に前記初期化処理の進捗情報として、前記ライトキャッシュに書き込んだ固定データのアドレスを管理するものであり、
前記初期化処理中に電源断となった後電源が投入された場合、前記第３の制御部は、前記進捗管理部で管理される前記初期化処理の進捗情報に基づいて、最後に書き込んだ固定データのアドレスから前記ライトキャッシュの容量相当分前のアドレスを算出し、当該算出したアドレスから前記初期化処理を再開することを特徴とする請求項１記載のストレージ装置。
【請求項３】
ライトキャッシュを有する記憶装置を複数含む記憶部と、前記複数の記憶装置にデータを冗長的に記憶する制御部とを有するストレージ装置のリビルド処理方法であって、
リビルド処理時に、再構築したデータを記憶する記憶装置のライトキャッシュを有効にするステップと、
前記リビルド処理の進捗情報として、再構築が完了し、前記ライトキャッシュに書き込んだ当該再構築されたデータのアドレスを、不揮発性メモリを用いて管理するステップと、
前記リビルド処理中に電源断となった後電源が投入された場合、前記不揮発性メモリを用いて管理される前記リビルド処理の進捗情報に基づいて、最後に書き込んだ再構築されたデータのアドレスを取得するステップと、
前記取得した前記アドレスから前記ライトキャッシュの容量相当分前のアドレスを算出するステップと
前記算出したアドレスから前記リビルド処理を再開するステップと、
を有することを特徴とするリビルド処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リビルド処理を行うストレージ装置及びストレージ装置のリビルド処理方法に関する。
【背景技術】
【０００２】
複数の磁気ディスク装置を用いてデータを冗長的に記憶するストレージ装置が知られている。このようなストレージ装置は、磁気ディスク装置が１台故障した場合、当該故障した磁気ディスク装置を論理的に切り離す処理を行う。そして、ストレージ装置は、故障していない残りの磁気ディスク装置を用いた冗長性のない縮退状態で動作を続行する。
【０００３】
このように縮退状態で動作するストレージ装置を、冗長性のある状態に復旧させるためには、ユーザは、故障した磁気ディスク装置をストレージ装置から取り外し、新しい磁気ディスク装置をストレージ装置に取り付ける必要がある。このように新しい磁気ディスク装置が取り付けられると、ストレージ装置は、新しく取り付けられた磁気ディスク装置にリビルドしたデータを記憶するリビルド処理を実行する。このリビルド処理が終了すると、ストレージ装置は、冗長性のある状態に復旧する。
【０００４】
また、複数の磁気ディスク装置を用いてデータを冗長的に記憶するディスクアレイ装置において、ディスクアクセス頻度の高いハードディスク装置のライトキャッシュを有効にすることにより、データ書き込みの高速化を図るものが知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−３０５７１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来のストレージ装置では、既述のリビルド処理は、通常の業務による磁気ディスク装置へのアクセスに関する処理と並行して行われる。このため新しく取り付けた磁気ディスク装置への書き込みが集中し、ストレージ装置を含むシステムの性能は低下する可能性がある。
【０００７】
このようなシステムの性能の低下を防止するために、通常の業務による磁気ディスク装置へのアクセスに関する処理に対するリビルド処理の割り込み比率を予め設定しておくことが考えられる。
【０００８】
しかしながら、リビルド処理の割り込み比率を小さく設定した場合、ストレージ装置を含むシステムの性能は低下しないが、リビルド処理の実行時間は長くなる。このため、ストレージ装置が縮退状態で動作する時間は長くなり、新たな磁気ディスク装置の故障発生によるシステムダウンの可能性は高くなる。
【０００９】
一方、リビルド処理の割り込み比率を高く設定した場合、リビルド処理の実行時間は短くなるが、ストレージ装置を含むシステムの性能が低下する可能性は高くなる。
【００１０】
つまり、既述の割り込み比率を設定する方法では、ストレージ装置を含むシステムの性能の低下及びリビルド処理の長時間化という問題を合わせて解決することができない。
【００１１】
また、特許文献１の技術を適用すれば、新しく取り付けた磁気ディスク装置のライトキャッシュを有効にすることにより、当該磁気ディスク装置への書き込みの高速化を図ることは可能である。このため、特許文献１の技術を利用すれば、ストレージ装置を含むシステムの性能を低下させずにリビルド処理の高速化を実現することが可能であるとも考えられる。
【００１２】
しかしながら、リビルド処理中に、突発的な障害により電源断の状態がストレージ装置に発生すると、ライトキャッシュ上のデータが失われる危険性がある。このようにライトキャッシュ上のデータが失われた場合、ストレージ装置は、リビルド処理がいずれのアドレスまで終了したかが把握できなくなる。このため、電源を再投入した後、ストレージ装置は、例えば、リビルド処理をやり直すこと等の非効率な処理を行う必要が生じることが考えられる。
【００１３】
本発明は、上記事情に鑑みてなされたものであり、その目的は、ストレージ装置を含むシステムの性能を低下させずにリビルド処理の高速化を図るとともに、リビルド処理中の突発的な電源断にも対応することができるストレージ装置及びストレージ装置のリビルド処理方法を提供することにある。
【課題を解決するための手段】
【００１４】
本発明は、ライトキャッシュを有する記憶装置を複数含む記憶部と、前記複数の記憶装置にデータを冗長的に記憶する第１の制御部と、前記データを再構築するリビルド処理を行う第２の制御部と、前記リビルド処理時に、再構築したデータを記憶する記憶装置のライトキャッシュを有効にするライトキャッシュ制御部と、前記リビルド処理の進捗情報として、再構築が完了し、前記ライトキャッシュに書き込んだ当該再構築されたデータのアドレスを管理する、不揮発性メモリを用いて構成される進捗管理部とを備え、前記リビルド処理中に電源断となった後電源が投入された場合、前記第２の制御部は、前記進捗管理部で管理される前記リビルド処理の進捗情報に基づいて、最後に書き込んだ再構築されたデータのアドレスから前記ライトキャッシュの容量相当分前のアドレスを算出し、当該算出したアドレスから前記リビルド処理を再開することを特徴とするストレージ装置である。
【発明の効果】
【００１５】
本発明によると、ストレージ装置を含むシステムの性能を低下させずにリビルド処理の高速化を図るとともに、リビルド処理中の突発的な電源断にも対応することができるストレージ装置及びストレージ装置のリビルド処理方法を提供できる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施の形態に係るストレージシステムの構成を示すブロック図である。
【図２】同実施の形態に係るリビルド処理を示すフローチャートである。
【図３】同実施の形態に係る電源再投入後のリビルド処理を示すフローチャートである。
【図４】本発明の第２の実施の形態に係るストレージシステムの構成を示すブロック図である。
【図５】同実施の形態に係る初期化処理を示すフローチャートである。
【図６】同実施の形態に係る電源再投入後の初期化処理を示すフローチャートである。
【発明を実施するための形態】
【００１７】
以下、本発明の各実施の形態について図面を参照しながら説明する。
【００１８】
（第１の実施の形態）
図１は、ストレージシステム１００の構成を概略的に示す図である。図１に示すように、ストレージシステム１００は、上位装置１とストレージ装置２とから構成されている。
【００１９】
上位装置１は、ストレージ装置２に対してライトコマンド、リードコマンド等の各種コマンドを送信する。また、上位装置１は、ストレージ装置２からリードデータ及び各種ステータス等の情報を受信する。
【００２０】
ストレージ装置２は、上位装置１から受信した各種コマンドに基づく処理を実行する。例えば、ストレージ装置２は、上位装置１からライトコマンドを受信した場合は、当該ライトコマンドに基づくデータを記憶する。また、例えば、ストレージ装置２は、上位装置１からリードコマンドを受信した場合は、当該リードコマンドに基づくデータを上位装置１に送信する。
【００２１】
このストレージ装置２は、コントローラ部１０と記憶部であるディスク部２０とから構成されている。
【００２２】
コントローラ部１０は、第１の制御部であるプロセッサ部１１、ディスク制御部１２、第２の制御部であるリビルド実行制御部１３、進捗管理部であるリビルド進捗管理部１４、ライトキャッシュ制御部１５を含んでいる。また、ディスク部２０は、記憶装置である磁気ディスク装置２１、２２、２３を含んでいる。これら磁気ディスク装置２１、２２、２３は、それぞれ、ライトキャッシュ２４、２５、２６及びディスク２７、２８、２９を有している。
【００２３】
プロセッサ部１１は、上位装置１及びディスク制御部１２にそれぞれ接続されている。また、ディスク制御部１２は、プロセッサ部１１、リビルド実行制御部１３、リビルド進捗管理部１４、磁気ディスク装置２１、２２、２３にそれぞれ接続されている。リビルド実行制御部１３は、ディスク制御部１２、リビルド進捗管理部１４、ライトキャッシュ制御部１５にそれぞれ接続されている。
【００２４】
先ず、ディスク部２０について説明する。
【００２５】
磁気ディスク装置２１，２２、２３は、データを記憶する装置である。本第１の実施の形態においては、磁気ディスク装置２１、２２、２３によってＲＡＩＤ５が構成されている。したがって、磁気ディスク装置２１、２２、２３は、上位装置１から送信されたライトデータを冗長的に記憶することができる。
【００２６】
ライトキャッシュ２４、２５、２６は、ライトデータを一時的に保持するキャッシュである。このライトキャッシュ２４、２５、２６は、ライトキャッシュ制御部１５の指示に基づいて、有効又は無効に設定される。ライトキャッシュを有効にした磁気ディスク装置は、ライトキャッシュにライトデータを保持したときにディスク制御部１２に応答を返却できるので、データ書き込みの高速化を図ることができるようになっている。
【００２７】
ディスク２７、２８、２９は、それぞれデータを記憶する。
【００２８】
次に、コントローラ部１０について説明する。
【００２９】
プロセッサ部１１は、上位装置１から受信した各種コマンドを解読する。また、プロセッサ部１１は、この解読したコマンドに基づいて、ディスク制御部１２に動作指示を行なう。
【００３０】
例えば、プロセッサ部１１は、上位装置１からライトコマンドを受信した場合は、当該ライトコマンドを解読する。そして、プロセッサ部１１は、当該解読したライトコマンドに基づいて磁気ディスク装置２１、２２、２３にデータを冗長的に記憶する制御を行う。
【００３１】
また、例えば、プロセッサ部１１は、上位装置１からリードコマンドを受信した場合は、当該リードコマンドを解読する。そして、プロセッサ部１１は、この解読したリードコマンドに基づくデータを磁気ディスク装置２１、２２、２３から読み出す制御を行う。この読み出したデータは、上位装置１へ送信される。
【００３２】
上記のライトデータの書き込み、又は、リードデータの読み出しは、磁気ディスク装置２１、２２、２３に設定された既述のＲＡＩＤ５に関するＲＡＩＤ情報を利用して行われる。このＲＡＩＤ情報を利用する処理については、従来よりあるものと同様であるため説明を省略する。
【００３３】
ディスク制御部１２は、プロセッサ部１１、リビルド実行制御部１３、及びリビルド実行制御部１３を介したライトキャッシュ制御部１５からの指示を受けると、当該指示に基づく命令をディスク部２０に対して送信する。
【００３４】
リビルド実行制御部１３は、磁気ディスク装置２１、２２、２３に対してリビルド処理を実行する。このリビルド処理は、ディスク部２０内の磁気ディスク装置２１、２２、２３のいずれかに障害が発生した場合に、当該障害が発生した磁気ディスク装置が新しい磁気ディスク装置に取り替えられたときに行われる。新たな磁気ディスク装置を検出すると、リビルド実行制御部１３は、他の磁気ディスク装置に記憶されているデータに基づいて、新たに取り付けられた磁気ディスク装置に記憶するデータを所定のデータ量毎にリビルドし、当該リビルドしたデータを所定のデータ量毎に当該新たな磁気ディスクス装置に記憶する。
【００３５】
また、リビルド実行制御部１３は、ストレージ装置２が電源断の状態になった後電源が投入された場合、リビルド進捗管理部１４で管理される前記リビルド処理の進捗情報（後述する。）に基づいて、最後に書き込んだリビルド（再構築）したデータのアドレスからライトキャッシュの容量相当分前のアドレスを算出し、当該算出したアドレスからリビルド処理を再開する制御を行う。
【００３６】
なお、リビルド処理の詳細については図２を参照して後述するとともに、リビルド処理を再開する処理の詳細については図３を参照して後述する。
【００３７】
リビルド進捗管理部１４は、既述のリビルド処理が実行されている間、そのリビルド処理の進捗情報を管理する。進捗情報は、ライトキャッシュに書き込んだ、所定のデータ量毎のリビルドが完了されたデータのアドレス（以下、第１のポインター情報と称する。）である。このリビルド進捗管理部１４は、不揮発性メモリを用いて構成される。このため、ストレージ装置２が電源断となった状態でも第１のポインター情報はリビルド進捗管理部１４に保持されるようになっている。
【００３８】
ライトキャッシュ制御部１５は、リビルド処理時に、リビルドしたデータを記憶する磁気ディスク装置のライトキャッシュを有効にする制御をする。また、リビルド処理が終了したときは、当該磁気ディスク装置のライトキャッシュを無効にする制御をする。このライトキャッシュを有効又は無効にする制御の指示は、ライトキャッシュ制御部１５から、リビルド実行制御部１３及びディスク制御部１２を介して、リビルドしたデータを記憶する磁気ディスク装置に送信される。
【００３９】
次に、リビルド実行制御部１３が実行するリビルド処理について図２を参照しながら説明する。
【００４０】
リビルド実行制御部１３は、ディスク部２０内に新たな磁気ディスク装置を検出したか否かをディスク制御部１２からの情報に基づいて判断する（Ｓ１０１）。このディスク部２０内に新たな磁気ディスク装置を検出したか否かを判断する技術は、従来よりあるものと同様であるため詳細な説明は省略する。
【００４１】
新たな磁気ディスク装置を検出したと判断しなければ（Ｓ１０１：ＮＯ）、リビルド実行制御部１３は、ステップＳ１０１の処理に戻る。
【００４２】
一方、新たな磁気ディスク装置を検出したと判断すると（Ｓ１０１：ＹＥＳ）、リビルド実行制御部１３は、新たな磁気ディスク装置を検出したことを示す検出情報をライトキャッシュ制御部１５へ送信する（Ｓ１０２）。ライトキャッシュ制御部１５は、当該検出情報を受信すると、新たに検出した磁気ディスク装置のライトキャッシュを有効にする指示をリビルド実行制御部１３へ送信する。
【００４３】
次に、リビルド実行制御部１３は、ライトキャッシュ制御部１５から新たに検出した磁気ディスク装置のライトキャッシュを有効にする指示を受信すると、当該指示をディスク制御部１２を介して新たな磁気ディスク装置に送信する（Ｓ１０３）。これにより、当該新たな磁気ディスク装置のライトキャッシュは、有効になる。
【００４４】
次に、リビルド実行制御部１３は、リビルド処理を実行する（Ｓ１０４）。より詳細には、リビルド実行制御部１３は、新たに検出した磁気ディスク装置以外の磁気ディスク装置をソースドライブ、新たに検出した磁気ディスク装置をターゲットドライブとする。そして、リビルド実行制御部１３は、これらソースドライブから所定のデータ量のデータを読み出し、当該読み出したデータからデータをリビルドし、当該リビルドしたデータをターゲットドライブに記憶する。
【００４５】
リビルド進捗管理部１４は、リビルド実行制御部１３により実効されるリビルド処理の進捗情報を管理する（Ｓ１０５）。すなわち、リビルド進捗管理部１４は、既述の第１のポインター情報を、所定のデータ量のリビルドしたデータのライトキャシュへの書き込みが完了する毎に更新する。
【００４６】
次に、リビルド実行制御部１３は、リビルド処理が終了したか否かを判断する（Ｓ１０６）。リビルド処理が終了していないと判断した場合は（Ｓ１０６：ＮＯ）、リビルド実行制御部１３は、ステップＳ１０４の処理を行い、そして、リビルド進捗管理部１４はステップＳ１０５の処理を行う。
【００４７】
一方、リビルド処理が終了したと判断した場合は（Ｓ１０６：ＹＥＳ）、リビルド実行制御部１３は、リビルド処理が終了したことを示す終了情報をライトキャッシュ制御部１５へ送信する（Ｓ１０７）。ライトキャッシュ制御部１５は、当該終了情報を受信すると、新たに検出した磁気ディスク装置のライトキャッシュを無効にする指示をリビルド実行制御部１３へ送信する。
【００４８】
リビルド実行制御部１３は、ライトキャッシュ制御部１５から新たに検出した磁気ディスク装置のライトキャッシュを無効にする指示を受信すると、当該指示をディスク制御部１２を介して新たに検出した磁気ディスク装置に送信する（Ｓ１０８）。新たに検出された磁気ディスク装置は、当該指示を受信すると、ライトキャッシュを無効にする。
【００４９】
以上のようにリビルド処理が実行される。このリビルド処理の実行後、ストレージ装置２は、冗長性のある状態に復旧する。
【００５０】
次に、既述のリビルド処理の実行中に、例えば、停電等の障害が発生し、ストレージ装置２が電源断の状態になった後、ストレージ装置２に電源が再投入された場合のリビルド実行制御部１３の処理について、図３を参照しながら説明する。
【００５１】
電源が再投入されると、リビルド実行制御部１３は、リビルド進捗管理部１４で管理されている第１のポインター情報を取得する（Ｓ２０１）。リビルド進捗管理部１４は、不揮発性メモリで構成されている。このため、ストレージ装置２が電源断となっても第１のポインター情報はリビルド進捗管理部１４に保持されている。
【００５２】
次に、リビルド実行制御部１３は、リビルド処理を再開するアドレスを算出する（Ｓ２０２）。より詳細には、リビルド実行制御部１３は、ステップＳ２０１で取得した第１のポインター情報が示すアドレスからライトキャッシュの容量相当分前のアドレスを算出する。この算出したアドレスがリビルド処理を再開する再開アドレスとなる。
【００５３】
次に、リビルド実行制御部１３は、ステップＳ２０２で算出した再開アドレスから、リビルド処理等を実行する（Ｓ２０３乃至Ｓ２０７）。このステップＳ２０３乃至Ｓ２０７の処理は、図２を参照して既述したステップＳ１０４乃至Ｓ１０８の処理とそれぞれ同様であるため、説明は省略する。
【００５４】
次に、リビルド処理の一例について説明する。以下で説明する一例は、磁気ディスク装置２１が新たな磁気ディスク装置として検出された場合である。
【００５５】
リビルド実行制御部１３は、磁気ディスク装置２１を新たな磁気ディスク装置として検出すると、ライトキャッシュ制御部１５へ検出情報を送信する。この検出情報を受信したライトキャッシュ制御部１５は、磁気ディスク装置２１のライトキャッシュ２４を有効にするように指示を送信する。この指示は、リビルド実行制御部１３、ディスク制御部１２を介して磁気ディスク装置２１へ送信される。これにより、磁気ディスク装置２１のライトキャッシュ２４は有効になる。
【００５６】
次に、リビルド実行制御部１３は、リビルド処理を開始する。先ず、リビルド実行制御部１３は、磁気ディスク装置２２、２３をソースドライブ、磁気ディスク装置２１をターゲットドライブとする。そして、リビルド実行制御部１３は、ソースドライブのディスク２８、２９に記憶されているデータを所定のデータ量だけ読み出す。そして、リビルド実行制御部１３は、この読み出したデータからデータをリビルドし、当該リビルドしたデータを磁気ディスク装置２１のライトキャッシュ２４に記憶する。リビルド実行制御部１３は、この処理を所定のデータ量毎に繰り返す。
【００５７】
このリビルド処理においては、磁気ディスク装置２１のライトキャッシュ２４が有効になっている。このため、リビルドしたデータは、ライトキャッシュ２４に一時的に保持された後、順次ディスク２７に記憶される。したがって、磁気ディスク装置２１はライトキャッシュ２４にリビルドしたデータを保持したときにディスク制御部１２へ応答を返却することができるので、磁気ディスク装置２１はデータを記憶する処理を高速に行うことができる。このため、リビルド処理と通常業務によるアクセスに関する処理とを同時に行っても、ストレージシステム１００の性能の低下は防止できる。
【００５８】
また、リビルド処理時、リビルド進捗管理部１４は、リビルドしたデータの磁気ディスク装置２１への記憶（つまり、ライトキャッシュ２４への書き込み）が完了する毎に第１のポインター情報を更新する。したがって、磁気ディスク装置２１の記憶領域のいずれのアドレスまでリビルド処理が完了したかは、リビルド進捗管理部１４で管理される。
【００５９】
このリビルド処理の実行中に、ストレージ装置２が電源断の状態になると、コントローラ部１０及びディスク部２０の動作は停止する。したがって、リビルド実行制御部１３が実行しているリビルド処理も停止する。
【００６０】
このとき、磁気ディスク装置２１に記憶された既述のリビルドされたデータのうち、磁気ディスク装置２１のディスク２７に記憶されたデータは失われない。しかしながら、当該データのうちライトキャッシュ２４に保持されていたデータは失われる。
【００６１】
一方、リビルド進捗管理部１４は不揮発性のメモリで構成されている。このため、ストレージ装置２が電源断の状態になっても、第１のポインター情報はリビルド進捗管理部１４に保持されている。
【００６２】
電源断の状態が解消され、ストレージ装置２に電源が再投入されると、リビルド実行制御部１３は、リビルド進捗管理部１４が保持している第１のポインター情報を取得する。続いて、リビルド実行制御部１３は、当該第１のポインター情報が示すアドレスからライトキャッシュ２４の容量相当分前の再開アドレスを算出し、当該算出した再開アドレスからリビルド処理を再開する。
【００６３】
リビルド実行制御部１３は、第１のポインター情報が示すアドレスよりライトキャッシュ２４の容量相当分前のアドレスからリビルド処理を再開する。このため、ストレージ装置２が電源断の状態になり、ライトキャッシュ２４からリビルドされたデータが失われても、リビルド処理に不具合は生じない。例えば、ストレージ装置２は、リビルド処理をやり直す等の非効率な処理をする必要は生じない。
【００６４】
なお、ストレージ装置２が電源断の状態になったときに通常業務によるアクセスに基づくデータがライトキャッシュ２４に保持されていた場合は、当該データもリビルドされたデータと同様に失われる。しかしながら、この失われたデータは、磁気ディスク装置２２のディスク２８および磁気ディスク装置２３のディスク２９に記憶されているデータからリビルドすることができる。
【００６５】
本第１の実施の形態のストレージ装置２は、磁気ディスク装置２１のライトキャッシュ２４を有効にしてリビルド処理を行うことができる。このため、ストレージ装置２の処理の性能を低下させずにリビルド処理を高速化することができる。
【００６６】
また、以上のようにストレージ装置２はリビルド処理を高速化することができる。このため、ストレージ装置２は縮退状態で動作する時間を短縮することができる。この結果、ストレージ装置２は、縮退状態での動作時に、２台目の磁気ディスク装置の故障によるシステムダウンの可能性を低くすることができる。
【００６７】
さらに、ストレージ装置２は、電源の再投入時にリビルド進捗管理部１４に管理される第１のポインター情報が示すアドレスからライトキャッシュ２４の容量分相当分前のアドレスからリビルド処理を再開することができる。このため、ストレージ装置２の電源断によってライトキャッシュ２４上のデータが失われる事態に対応することができる。
【００６８】
（第２の実施の形態）
次に第２の実施の形態について説明する。この第２の実の施形態は、第１の実施の形態のコントローラ部２に、第３の制御部である初期化実行制御部１６を追加するとともに、リビルド進捗管理部１４に代えてリビルド初期化進捗管理部１７及びライトキャッシュ制御部１５に代えてライトキャッシュ制御部１８を設けている点が第１の実施の形態と異なっている。なお、その他の構成については、第１の実施の形態と同一であるため、同一の構成には同一の符号を付し、第１の実施の形態と同様な点については詳細な説明を省略する。
【００６９】
図４に示すように、初期化実行制御部１６は、プロセッサ部１１、ディスク制御部１２、リビルド初期化進捗管理部１７、ライトキャッシュ制御部１８とそれぞれ接続されている。リビルド初期化進捗管理部１７は、ディスク制御部１２、リビルド実行制御部１３、初期化実行制御部１６にそれぞれ接続されている。ライトキャッシュ制御部１８は、リビルド実行制御部１３、初期化実行制御部１６にそれぞれ接続されている。
【００７０】
初期化実行制御部１６は、磁気ディスク装置２１、２２、２３の初期化処理を実行する。より詳細には、初期化実行制御部１６は、上位装置１からプロセッサ部１１を介して初期化命令を受け取ると、磁気ディスク装置２１、２２、２３を順次初期化する。ここで、初期化とは、所定のデータ量の固定データを磁気ディスク装置２１、２２、２３へ上書きすることをいう。
【００７１】
また、初期化実行制御部１６は、ストレージ装置２が電源断の状態になった後電源が投入された場合、リビルド初期化進捗管理部１７で管理される初期化処理の進捗情報（後述する。）に基づいて、最後に書き込んだ固定データのアドレスからライトキャッシュの容量相当分前のアドレスを算出し、当該算出したアドレスから初期化処理を再開する制御を行う。
【００７２】
なお、初期化処理の詳細については図５を参照して後述するとともに、初期化処理を再開する処理の詳細については図６を参照して後述することとする。
【００７３】
リビルド初期化進捗管理部１７は、リビルド実行制御部１３がリビルド処理を実行する時はリビルド処理の進捗情報を管理する。また、リビルド初期化進捗管理部１７は、初期化実行制御部１６が初期化処理を実行する時は初期化処理の進捗情報を管理する。なお、リビルド処理時の進捗情報の管理については第１の実施の形態における説明と同様であるため説明を省略する。
【００７４】
リビルド初期化進捗管理部１７は、既述の初期化処理が実行されている間、その初期化処理の進捗情報を管理する。この進捗情報は、ライトキャッシュに書き込んだ固定データのアドレス（以下、第２のポインター情報と称する。）である。このリビルド初期化進捗管理部１７は、不揮発性メモリを用いて構成されている。このため、ストレージ装置２が電源断となった状態でも第２のポインター情報はリビルド初期化進捗管理部１７に保持されるようになっている。
【００７５】
ライトキャッシュ制御部１８は、リビルド実行制御部１３がリビルド処理を実行する時には、第１の実施の形態で説明したように、ライトキャッシュを有効又は無効にする制御をする。また、ライトキャッシュ制御部１８は、初期化実行制御部１６が初期化処理を実行する時は初期化を行う磁気ディスク装置のライトキャッシュを有効にする制御をする。さらに、ライトキャッシュ制御部１８は、当該初期化を行った磁気ディスク装置のライトキャッシュを無効にする制御をする。
【００７６】
次に、ディスク部２０の磁気ディスク装置２１、２２、２３を順次初期化する初期化処理について図５を参照して説明する。初期化実行制御部１６が上位装置１からプロセッサ部１１を介して初期化処理の指示を受け取ると、初期化実行制御部１６は初期化処理を開始する。
【００７７】
初期化実行制御部１６は、磁気ディスク装置２１、２２、２３を選択する処理を行う（Ｓ３０１）。本第２の実施の形態では、磁気ディスク装置は、磁気ディスク装置２１、２２、２３の順で初期化されることとする。このため、磁気ディスク装置２１、２２、２３はこの順で選択される。
【００７８】
磁気ディスク装置を選択すると、初期化実行制御部１６は、選択した磁気ディスク装置を示す選択情報をライトキャッシュ制御部１８へ送信する（Ｓ３０２）。ライトキャッシュ制御部１８は、当該選択情報を受信すると、選択された初期化を行う磁気ディスク装置のライトキャッシュを有効にする指示を初期化実行制御部１６へ送信する。
【００７９】
初期化実行制御部１６は、ライトキャッシュ制御部１８から初期化を行う磁気ディスク装置のライトキャッシュを有効にする指示を受信すると、当該指示をディスク制御部１２を介して初期化を行う磁気ディスク装置へ送信する（Ｓ３０３）。これにより、当該初期化を行う磁気ディスク装置のライトキャッシュは有効になる。
【００８０】
次に、初期化実行制御部１６は、初期化処理を実行する（Ｓ３０４）。より詳細には、初期化実行制御部１６は、初期化を行う磁気ディスク装置のディスクに固定データを上書きする処理を行う。
【００８１】
リビルド初期化進捗管理部１７は、初期化処理の進捗情報を管理する（Ｓ３０５）。すなわち、リビルド初期化進捗管理部１７は、固定データの上書き処理が終了する毎に既述の第２のポインター情報を更新する。
【００８２】
次に、初期化実行制御部１６は、初期化処理が終了したか否かを判断する（Ｓ３０６）。初期化処理が終了していないと判断した場合は（Ｓ３０６：ＮＯ）、初期化実行制御部１６はステップＳ３０４の処理を行い、そして、リビルド初期化進捗管理部１７はステップＳ３０５の処理を行う。
【００８３】
一方、初期化処理が終了したと判断した場合は（Ｓ３０６：ＹＥＳ）、初期化実行制御部１６は、選択した磁気ディスク装置の初期化処理が終了したことを示す終了情報をライトキャッシュ制御部１８へ送信する（Ｓ３０７）。ライトキャッシュ制御部１８は、当該終了情報を受信すると、当該磁気ディスク装置のライトキャッシュを無効にする指示を初期化実行制御部１６へ送信する。
【００８４】
初期化実行制御部１６は、ライトキャッシュ制御部１８から当該磁気ディスク装置のライトキャッシュを無効にする指示を受信すると、当該指示をディスク制御部１２を介して当該磁気ディスク装置へ送信する（Ｓ３０８）。これにより、初期化処理が終了した磁気ディスク装置のライトキャッシュは無効になる。
【００８５】
次に、初期化実行制御部１６は、全ての磁気ディスク装置を選択したか否かを判断する（Ｓ３０９）。より詳細には、初期化実行制御部１６は、磁気ディスク装置２１、２２、２３をそれぞれ選択し、これら全ての磁気ディスク装置２１、２２、２３の初期化処理が終了したか否かを判断する。
【００８６】
全ての磁気ディスク装置を選択していないと判断した場合は（Ｓ３０９：ＮＯ）、初期化実行制御部１６は、ステップＳ３０１からＳ３０８の処理を繰り返す。つまり、初期化実行制御部１６は、次に選択する磁気ディスク装置を初期化処理する。
【００８７】
一方、全ての磁気ディスク装置を選択したと判断した場合は（Ｓ３０９：ＹＥＳ）、初期化実行制御部１６は、初期化処理を終了する。
【００８８】
次に、既述の初期化処理の実行中に、例えば、停電等の障害が発生し、ストレージ装置２が電源断の状態になった後、ストレージ装置２に電源が再投入されたときの初期化実行制御部１６の処理について、図６を参照しながら説明する。
【００８９】
電源が再び投入されると、初期化実行制御部１６は、リビルド初期化進捗管理部１７で管理されている第２のポインター情報を取得する（Ｓ４０１）。リビルド初期化進捗管理部１７は、不揮発性メモリで構成されている。このため、ストレージ装置２が電源断となっても第２のポインター情報がリビルド初期化進捗管理部１７に保持されている。
【００９０】
次に、初期化実行制御部１６は、初期化処理を再開する再開アドレスを算出する（Ｓ４０２）。より詳細には、初期化実行制御部１６は、ステップＳ４０１で取得した第２のポインター情報が示すアドレスからライトキャッシュの容量相当分前のアドレスを算出する。この算出したアドレスは初期化処理を再開する再開アドレスとなる。
【００９１】
初期化実行制御部１６は、ステップＳ４０２で再開アドレスを算出すると、既述のステップＳ３０４へ進み、当該再開アドレスから初期化処理を再開する。この後のステップＳ３０５以降の処理は図５を参照して既述した説明と同様であるため、詳細な説明は省略する。
【００９２】
この第２の実施の形態のストレージ装置２は、初期化処理を行なう磁気ディスク装置のライトキャッシュを有効にできるので初期化処理を高速化することができる。
【００９３】
また、ストレージ装置２は、初期化処理中に電源断となっても、電源が再投入された時にリビルド初期化進捗管理部１７に管理される第２のポインター情報が示すアドレスよりライトキャッシュの容量相当分前のアドレスから初期化処理を再開することができる。このため、ストレージ装置２の電源断によってライトキャッシュ上のデータが失われたとしても、磁気ディスク装置２１、２２，２３の全ての記憶領域を確実に初期化することができる。
【００９４】
なお、上記第２の実施の形態ではストレージ装置２が、リビルド処理に加えて初期化処理も実行する場合で説明している。しかしながら、リビルド処理をする構成と初期化処理をする構成とを同一のストレージ装置内に設けなくても良い。この場合、初期化処理を行うストレージ装置は、第２の実施の形態において説明した初期化処理に関する機能を備えるようにする。
【産業上の利用可能性】
【００９５】
リビルド処理を行うストレージ装置及びストレージ装置のリビルド処理方法に広く適用可能である。
【符号の説明】
【００９６】
１・・・・上位装置
２・・・・ストレージ装置
１０・・・コントローラ部
１１・・・プロセッサ部
１２・・・ディスク制御部
１３・・・リビルド実行制御部
１４・・・リビルド進捗管理部
１５・・・ライトキャッシュ制御部
１６・・・初期化実行制御部
１７・・・リビルド初期化進捗管理部
１８・・・ライトキャッシュ制御部
２０・・・ディスク部
２１、２２、２３・・・磁気ディスク装置
２４、２５、２６・・・ライトキャッシュ
２７、２８、２９・・・ディスク
１００・・・ストレージシステム
【図１】
0005626514.tif 000002
【図２】
0005626514.tif 000003
【図３】
0005626514.tif 000004
【図４】
0005626514.tif 000005
【図５】
0005626514.tif 000006
【図６】
0005626514.tif 000007