(57)【要約】【課題】パリティを必要するＲＡＩＤが構成されている場合に、パリティ計算の量の低減を図り、リビルド処理に要する時間の低減を図る。【解決手段】ストレージシステムは、パリティ計算を利用するＲＡＩＤが構成された複数のＨＤＤと、ＲＡＩＤにより冗長性が確保されたデータのうちいずれかのＨＤＤに記憶される第１のデータと同内容の第２のデータを記憶するリビルドＨＤＤと、複数のＨＤＤのうちの１つが新たなＨＤＤに取り換えられた場合、当該取り換えられたＨＤＤに記憶されていたデータを、他のＨＤＤ及びリビルドＨＤＤに記憶されているデータに基づいてリビルドする制御部とを備える。【選択図】図３
2012185575.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶するストレージシステムであって、
パリティ計算を利用するＲＡＩＤが構成された複数の第１の記憶装置と、
前記ＲＡＩＤにより冗長性が確保されたデータのうちいずれかの前記第１の記憶装置に記憶される第１のデータと同内容の第２のデータを記憶する第２の記憶装置と、
前記複数の第１の記憶装置のうちの１つが新たな第１の記憶装置に取り換えられた場合、前記取り換えられた第１の記憶装置に記憶されていたデータを、他の第１の記憶装置及び前記第２の記憶装置に記憶されているデータに基づいてリビルドする制御部と、を備えることを特徴とするストレージシステム。
【請求項２】
前記制御部は、前記取り換えられた第１の記憶装置に記憶されていた第１のデータと対応する第２のデータを前記第２の記憶装置から前記新たな第１の記憶装置にコピーするとともに、前記取り換えられた第１の記憶装置以外の各第１の記憶装置に記憶されている第１のデータに基づいてパリティ計算を行い、パリティ計算後のデータを前記新たな第１の記憶装置に書き込み前記リビルドを実行する、ことを特徴とする請求項１記載のストレージシステム。
【請求項３】
前記第２の記憶装置は、スペア用の記憶装置を用いる、ことを特徴とする請求項１又は２記載のストレージシステム。
【請求項４】
前記第１の記憶装置に記憶される、前記第１のデータと異なる内容の第３のデータと同内容の第４のデータを記憶する第３の記憶装置を更に備え、
前記制御部は、前記取り換えられた第１の記憶装置に記憶されていた第１のデータと対応する第２のデータを前記第２の記憶装置から前記新たな第１の記憶装置にコピーするとともに、前記取り換えられた第１の記憶装置に記憶されていた前記第３のデータと対応する第４のデータを前記第３の記憶装置から前記新たな第１の記憶装置にコピーし、前記取り換えられた第１の記憶装置以外の各第１の記憶装置に記憶されている第１のデータに基づいてパリティ計算を行い、パリティ計算後のデータを前記新たな第１の記憶装置に書き込み前記リビルドを実行する、ことを特徴とする請求項１記載のストレージシステム。
【請求項５】
データを記憶するストレージシステムのリビルド処理高速化方法であって、
前記ストレージシステムは、
パリティ計算を利用するＲＡＩＤが構成された複数の第１の記憶装置と、
前記ＲＡＩＤにより冗長性が確保されたデータのうちいずれかの前記第１の記憶装置に記憶される第１のデータと同内容の第２のデータを記憶する第２の記憶装置と、を備えるものであり、
前記複数の第１の記憶装置のうちの１つが新たな第１の記憶装置に取り換えられた場合、前記取り換えられた第１の記憶装置に記憶されていたデータを、他の第１の記憶装置及び前記第２の記憶装置に記憶されているデータに基づいてリビルドするステップを、有することを特徴とするストレージシステムのリビルド処理高速化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パリティ計算を必要とするＲＡＩＤ（Redundant Arrays of Inexpensive Disks）が構成されたストレージシステム及びこれのリビルド処理高速化方法に関する。
【背景技術】
【０００２】
ストレージシステムの中には、データの信頼性を高めるために複数の記憶装置を用いてＲＡＩＤを構成したものがある。このように、ＲＡＩＤを構成することにより、記憶装置の１つに障害が発生しても他の記憶装置に記憶されたデータを利用して、データを再現することが可能になる。
【０００３】
ＲＡＩＤには複数の種類があり、例えば、ＲＡＩＤ５，ＲＡＩＤ６と称されるものが知られている。ＲＡＩＤ５，ＲＡＩＤ６は、ＲＡＩＤを構成する各記憶装置にデータとパリティとを記憶するように構成されており、各記憶装置の記憶容量を有効に活用できるようになっている。
【０００４】
なお、復元データを高速に書き込む技術として、２以上のスペアディスク装置にパリティ無しの復元データをストライピングにより書き込む方法が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−４０６８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
既述のＲＡＩＤ５，ＲＡＩＤ６のようなＲＡＩＤが構成されている場合、データを記憶装置に書き込む際にパリティ計算を行う必要がある。このためデータを書き込む速度が遅くなり、新たな記憶装置にデータをリビルドする場合に長い時間を要する。特に、近年は、記憶装置が大容量化しているのでリビルドするデータの量も膨大になっており、必然的にパリティ計算の量も多くなっている。従って、リビルド処理時のシステムの負荷も大きくなり、リビルド処理が完了するまでの時間も長くなっている。
【０００７】
一方、特許文献１記載の技術は、復元データを２以上のスペアディスク装置に書き込むことによりデータ書き込みの高速化を図るものであり、データをリビルドする場合にパリティ計算は必要であり、上記問題を解決できるものではない。
【０００８】
本発明は、上記事情に鑑みてなされたものであり、その目的は、パリティを必要とするＲＡＩＤが構成されている場合に、リビルド処理時の負荷を低減するとともに処理完了までの時間を短くすることができるストレージシステム及びリビルド処理高速化方法を提供することにある。
【課題を解決するための手段】
【０００９】
本発明は、データを記憶するストレージシステムであって、パリティ計算を利用するＲＡＩＤが構成された複数の第１の記憶装置と、ＲＡＩＤにより冗長性が確保されたデータのうちいずれかの第１の記憶装置に記憶される第１のデータと同内容の第２のデータを記憶する第２の記憶装置と、複数の第１の記憶装置のうちの１つが新たな第１の記憶装置に取り換えられた場合、取り換えられた第１の記憶装置に記憶されていたデータを、他の第１の記憶装置及び第２の記憶装置に記憶されているデータに基づいてリビルドする制御部とを備えることを特徴とする。
【発明の効果】
【００１０】
本発明によると、パリティを必要とするＲＡＩＤが構成されている場合に、リビルド時の負荷を低減するとともに処理が完了するまでの時間を短くすることができるストレージシステム及びリビルド処理高速化方法を提供できる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態に係るストレージシステムの構成を概略的に示す図である。
【図２】同実施の形態に係る第２の記憶装置に記憶されるリビルド用のデータを説明するための図である。
【図３】同実施の形態に係るリビルド時の動作を説明するための図である。
【図４】同実施の形態に係るリビルド時の動作を説明するための図である。
【図５】同実施の形態に係る第３の記憶装置に記憶されるリビルド用のデータを説明するための図である。
【図６】同実施の形態に係る第３の記憶装置を用いた場合のリビルド時の動作を説明するための図である。
【図７】同実施の形態に係る第２の記憶装置にスペア記憶装置を用いた例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について図面を参照しながら説明する。
【００１３】
図１は、ストレージシステム１００の構成を概略的に示す図である。ストレージシステム１００は、バッファ２を有する制御部１、複数の第１の記憶装置であるＨＤＤ（Hard Disk Drive）１０，２０及び３０、第２の記憶装置であるリビルドＨＤＤ４０を有している。
【００１４】
制御部１は、ＨＤＤ１０，２０及び３０並びにリビルドＨＤＤ４０と通信可能に接続されている。更に、ＨＤＤ１０，２０及び３０によりパリティ計算を必要とするＲＡＩＤであるＲＡＩＤ５が構成されている。なお、ストレージシステム１００の他の構成は、従来よりあるものと同様であるため図示及び詳細な説明を省略する。
【００１５】
制御部１は、例えば、上位装置（図示を省略する。）から受信したデータを既述のＲＡＩＤ構成に従って、パリティ計算を伴ってＨＤＤ１０，２０及び３０に書き込む。なお、ＲＡＩＤ５が構成されている場合のデータの書き込み処理は従来よりある技術と同様であるため詳細な説明を省略する。
【００１６】
制御部１は、ＨＤＤ１０，２０及び３０へのデータの書き込み、データの読み出し等を制御するのに加え、ＲＡＩＤ５を構成するＨＤＤ１０，２０及び３０のいずれかのＨＤＤに障害が発生し、その障害が発生したＨＤＤが新たなＨＤＤに取り換えられた場合に、障害が発生したＨＤＤに記憶されていたデータを新たなＨＤＤにリビルドし、ＲＡＩＤ５を再構成するリビルド処理を実行する。
【００１７】
リビルドＨＤＤ４０は、制御部１がリビルド処理を実行する場合に利用される。より詳細には、リビルドＨＤＤ４０は、ＲＡＩＤ５により冗長性が確保されたデータのうちいずれかのＨＤＤに記憶される第１のデータと同内容の第２のデータを記憶する。
【００１８】
図２は、リビルドＨＤＤ４０に記憶されるリビルド用のデータの一例を説明するための図である。
【００１９】
図２に示すように、ＨＤＤ１０，２０及び３０には、データ１１、データ（Ｒ１１）２１、及びデータ（Ｐ）３１がそれぞれ記憶されており、これらデータ１１、データ２１及びデータ３１により冗長性が確保され、いずれかのデータが消失してもデータをリビルドすることができるようになっている。
【００２０】
また、ＨＤＤ１０，２０及び３０には、データ（Ｒ２１）１２、データ（Ｐ）２２、及びデータ３２がそれぞれ記憶されており、これらデータ１２、データ２２及びデータ３２により冗長性が確保され、いずれかのデータが消失してもデータをリビルドすることができるようになっている。
【００２１】
更に、ＨＤＤ１０，２０及び３０には、データ（Ｐ）１３、データ２３及びデータ（Ｒ３１）３３がそれぞれ記憶されており、これらデータ１３、データ２３及びデータ３３により冗長性が確保され、いずれかのデータが消失してもデータをリビルドすることができるようになっている。
【００２２】
また、本実施の形態においては、各冗長性が確保されたデータの組から、データ２１、データ１２及びデータ３３がリビルドＨＤＤ４０に記憶されるデータとして設定されており、これらデータがＨＤＤ１０，２０及び３０からリビルドＨＤＤ４０にそれぞれコピーされる。なお、このリビルドＨＤＤ４０に記憶されるデータの管理は、例えば、制御部１によって行われる。
【００２３】
従って、図２に示すように、リビルドＨＤＤ４０には、データ２１と同内容のデータ（Ｒ１１）４１、データ１２と同内容のデータ（Ｒ２１）４２及びデータ３３と同内容のデータ（Ｒ３１）４２が記憶される。なお、データ２１、データ１２及びデータ３３が第１のデータであり、データ４１、データ４２及びデータ４３が第２のデータを構成する。
【００２４】
このようにストレージシステム１００にデータが記憶されている状態で、例えば、ＨＤＤ３０に障害が発生し、ＨＤＤ３０が新たなＨＤＤ３０ａに取り換えられた場合に、制御部１が実行するリビルド処理について図３を参照して説明する。
【００２５】
制御部１は、ＨＤＤ１０，２０及び３０のうちのＨＤＤ３０が新たなＨＤＤ３０ａに取り換えられた場合、ＨＤＤ３０に記憶されていたデータを、ＨＤＤ１０，２０及びリビルドＨＤＤ４０に記憶されているデータに基づいてリビルドする。
【００２６】
より詳細には、制御部１は、ＨＤＤ１０に記憶されているデータ１１及びＨＤＤ２０記憶されているデータ２１を用いてパリティ計算を実行し、パリティ計算後のデータをデータ３１としてＨＤＤ３０ａに記憶する。
【００２７】
また、制御部１は、ＨＤＤ１０に記憶されているデータ１２及びＨＤＤ２０に記憶されているデータ２２を用いてパリティ計算を実行し、パリティ計算後のデータをデータ３２としてＨＤＤ３０ａに記憶する。
【００２８】
一方、データ（Ｒ３１）３３は、同一内容のデータがデータ（Ｒ３１）４３としてリビルドＨＤＤ４０に記憶されている。従って、制御部１は、図４に示すように、リビルドＨＤＤ４０からデータ４３をバッファ２に取り込み、バッファ２に取り込んだデータ４３をデータ３３としてＨＤＤ３０ａに記憶する。
【００２９】
このようにして、ＨＤＤ３０に記憶されていたデータがＨＤＤ３０ａにリビルドされる。なお、本実施の形態では、パリティ計算を伴うデータ３１及びデータ３２の書き込み後にリビルドＨＤＤ４０に記憶されているデータのコピーを行う場合で説明しているが、順序は逆でも良い。
【００３０】
以上のように構成されたストレージシステム１００によると、制御部１は、ＲＡＩＤ５を構成するＨＤＤ１０，２０及び３０のうちのＨＤＤ３０が障害等を原因として新たなＨＤＤ３０ａに取り換えられた場合、新たなＨＤＤ３０ａにデータをリビルドする際に、リビルドＨＤＤ４０に予めコピーされているデータ４３についてはそのままデータ３３としてＨＤＤ３０ａにコピーすれば良い。つまり、データ３３をリビルドするためにパリティ計算を実行する必要がないため、リビルド処理時の制御部１の負荷を低減することが可能になる。
【００３１】
また、リビルド処理時にパリティ計算の処理量が減るため、その分リビルドの時間を短くすることができる。
【００３２】
更に、リビルドＨＤＤ４０に障害が発生して新たなリビルドＨＤＤに取り換えられた場合において、制御部１は、ＨＤＤ１０、ＨＤＤ２０及びＨＤＤ３０から新たなリビルドＨＤＤに、データ２１、データ１２及びデータ３３をリビルド用のデータ４１、データ４２及びデータ４３としてそれぞれコピーすることにより、新たなリビルドＨＤＤにリビルド用のデータを記憶させることができる。このように、リビルドＨＤＤにもＲＡＩＤ５を構成するＨＤＤ１０、ＨＤＤ２０及びＨＤＤ３０と同様の障害耐性を持たせることができる。
【００３３】
また更に、上記実施の形態では、リビルドＨＤＤ４０として、リビルドＨＤＤ４０を１つ設けた構成で説明したが、これに限るものではない。つまり、ストレージシステム１００にリビルドＨＤＤを２つ以上設けることが可能である。リビルドＨＤＤを更に追加した場合、制御部１は、ＨＤＤ１０，２０及び３０に記憶されるデータ２１、データ１２及びデータ３３と異なる内容のデータ１１、データ３２及びデータ２３（これらは第３のデータ）と同内容のデータ５１、データ５２及びデータ５３（これらは第４のデータ）を、追加したリビルドＨＤＤに記憶する。
【００３４】
図５は、既述のストレージシステム１００に第３の記憶装置であるリビルドＨＤＤ５０を追加した例を示している。
【００３５】
リビルドＨＤＤ５０には、ＨＤＤ１０に記憶されているデータ１１がデータ（Ｒ１２）５１としてコピーされ、ＨＤＤ２０記憶されているデータ３２がデータ（Ｒ２２）５２としてコピーされ、ＨＤＤ３０に記憶されているデータ２３がデータ（Ｒ３２）５３としてコピーされている。なお、他の構成については、図２を参照して既述しているため説明は省略する。
【００３６】
このように構成されているストレージシステム１００において、障害等を原因としてＨＤＤ３０が新たなＨＤＤ３０ａに取り換えられた場合、制御部１は、ＨＤＤ３０ａにＨＤＤ３０に記憶されていたデータをリビルドする。
【００３７】
この場合、制御部１は、図６に示すように、データ１１及びデータ２１を用いてパリティ計算を実行し、パリティ計算後のデータをデータ３１としてＨＤＤ３０ａに書き込む。一方、データ３２はリビルドＨＤＤ５０にデータ（Ｒ２２）５２として、データ３３はリビルドＨＤＤ４０にデータ（Ｒ３１）４３として記憶されているため、制御部１は、これらデータ５２及びデータ４３を読み出してバッファ２に取り込み、バッファ２に取り込んだデータをデータ３２及びデータ３３としてそれぞれＨＤＤ３０ａに書き込む。
【００３８】
このようにして、ＨＤＤ３０に記憶されていたデータがＨＤＤ３０ａにリビルドされる。
【００３９】
従って、ストレージシステム１００は、ＨＤＤ３０ａにＨＤＤ３０に記憶されていたデータをリビルドする場合、データ５２及びデータ５３については、リビルドＨＤＤ４０，５０からデータをコピーするだけでよい。従って、ストレージシステム１００は、リビルドＨＤＤ４０が１つの場合より、リビルド処理時にパリティ計算の必要がないデータを増やすことができ、リビルド処理の負荷を更に低減することができるとともに、リビルド処理が完了するまでの時間を更に短くすることができる。
【００４０】
また、図３を用いて既述したストレージシステム１００においては、リビルドＨＤＤ４０としてスペアＨＤＤを用いるようにしても良い。スペアＨＤＤは、ストレージシステム１００に予備として搭載されるＨＤＤであり、ＲＡＩＤ５を構成するＨＤＤ１０，２０及び３０に障害が発生した場合に、障害が発生したＨＤＤの代わりに使用される記憶装置である。
【００４１】
リビルドＨＤＤ４０としてスペアＨＤＤ６０が設定されている場合のリビルド処理について図７を参照して説明する。例えば、ＨＤＤ３０に障害が発生した場合、制御部１は、データ１１及びデータ２１を用いてパリティ計算を実行し、パリティ計算後のデータをデータ６１としてスペアＨＤＤ６０に書き込むとともに、データ１２及びデータ２２を用いてパリティ計算を実行し、パリティ計算後のデータをデータ６２としてスペアＨＤＤ６０に書き込む。一方、ＨＤＤ３０に記憶されていたデータ（Ｒ３１）３３は、リビルド用のデータ（Ｒ３１）６３としてスペアＨＤＤ６０に予めコピーされているためそのまま使用できる。
【００４２】
従って、ストレージシステム１００は、スペアＨＤＤ６０をリビルド用のＨＤＤとして使用することにより、予め記憶しているリビルド用のデータ６３に関しては、コピーする処理を省くことができるため、制御部１の負荷を更に減らすことができるとともに、リビルド処理が完了するまでの時間を更に短くすることができる。
【００４３】
上記実施の形態では、本発明をＨＤＤ１０，２０及び３０を用いてＲＡＩＤ５が構成されている場合で説明したが、これに限るものではなく、例えばＲＡＩＤ６のように、パリティ計算を必要とするＲＡＩＤ構成を有するストレージシステムであれば、本発明を適用することができる。
【００４４】
また、上記実施の形態では、記憶装置としてＨＤＤを用いた場合で説明したが、これに限るものではない。
【００４５】
なお、本発明は上述の実施の形態に限定されるものではなく、その実施に際して様々な変形が可能である。
【００４６】
上記実施の形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【００４７】
（付記１）
データを記憶するストレージシステムであって、
パリティ計算を利用するＲＡＩＤが構成された複数の第１の記憶装置と、
前記ＲＡＩＤにより冗長性が確保されたデータのうちいずれかの前記第１の記憶装置に記憶される第１のデータと同内容の第２のデータを記憶する第２の記憶装置と、
前記複数の第１の記憶装置のうちの１つが新たな第１の記憶装置に取り換えられた場合、前記取り換えられた第１の記憶装置に記憶されていたデータを、他の第１の記憶装置及び前記第２の記憶装置に記憶されているデータに基づいてリビルドする制御部と、を備えることを特徴とするストレージシステム。
【００４８】
（付記２）
前記制御部は、前記取り換えられた第１の記憶装置に記憶されていた第１のデータと対応する第２のデータを前記第２の記憶装置から前記新たな第１の記憶装置にコピーするとともに、前記取り換えられた第１の記憶装置以外の各第１の記憶装置に記憶されている第１のデータに基づいてパリティ計算を行い、パリティ計算後のデータを前記新たな第１の記憶装置に書き込み前記リビルドを実行する、ことを特徴とする付記１記載のストレージシステム。
【００４９】
（付記３）
前記第２の記憶装置は、スペア用の記憶装置を用いる、ことを特徴とする付記１又は２記載のストレージシステム。
【００５０】
（付記４）
前記第１の記憶装置に記憶される、前記第１のデータと異なる内容の第３のデータと同内容の第４のデータを記憶する第３の記憶装置を更に備え、
前記制御部は、前記取り換えられ第１の記憶装置に記憶されていた第１のデータと対応する第２のデータを前記第２の記憶装置から前記新たな第１の記憶装置にコピーするとともに、前記取り換えられた第１の記憶装置に記憶されていた前記第３のデータと対応する第４のデータを前記第３の記憶装置から前記新たな第１の記憶装置にコピーし、前記取り換えられた第１の記憶装置以外の各第１の記憶装置に記憶されている第１のデータに基づいてパリティ計算を行い、パリティ計算後のデータを前記新たな第１の記憶装置に書き込み前記リビルドを実行する、ことを特徴とする付記１記載のストレージシステム。
【００５１】
（付記５）
データを記憶するストレージシステムのリビルド処理高速化方法であって、
前記ストレージシステムは、
パリティ計算を利用するＲＡＩＤが構成された複数の第１の記憶装置と、
前記ＲＡＩＤにより冗長性が確保されたデータのうちいずれかの前記第１の記憶装置に記憶される第１のデータと同内容の第２のデータを記憶する第２の記憶装置と、を備えるものであり、
前記複数の第１の記憶装置のうちの１つが新たな第１の記憶装置に取り換えられた場合、前記取り換えられた第１の記憶装置に記憶されていたデータを、他の第１の記憶装置及び前記第２の記憶装置に記憶されているデータに基づいてリビルドするステップを、有することを特徴とするストレージシステムのリビルド処理高速化方法。
【産業上の利用可能性】
【００５２】
本発明は、パリティ計算が必要なＲＡＩＤが構成されたストレージシステム及びストレージシステムのリビルド処理高速化方法に広く適用可能である。
【符号の説明】
【００５３】
１・・・制御部
２・・・バッファ
１０，２０，３０・・・ＨＤＤ
４０，５０・・・リビルドＨＤＤ
６０・・・スペアＨＤＤ
１００・・・ストレージシステム
【図１】
2012185575.tif 000003
【図２】
2012185575.tif 000004
【図３】
2012185575.tif 000005
【図４】
2012185575.tif 000006
【図５】
2012185575.tif 000007
【図６】
2012185575.tif 000008
【図７】
2012185575.tif 000009