(57)【特許請求の範囲】
【請求項１】
データを保存するデータ保存装置と、
前記データ保存装置に保存されているデータの更新データを保存する第１の記憶部と、
前記更新データの複製を保存する第２の記憶部と、
前記更新データを基に更新後の冗長符号を算出し、前記更新後の冗長符号を前記データ保存装置の未使用領域に保存後、前記更新データを更新前のデータに上書きする制御部と
を含むことを特徴とするデータ記録再生装置。
【請求項２】
前記制御部が、
前記第１の記憶部を含む第１の制御部と前記第２の記憶部を含む第２の制御部とを含むことを特徴とする請求項１に記載のデータ記録再生装置。
【請求項３】
前記第１の制御部が
前記更新データを受け取り、前記更新データを前記第１の記憶部に保存し、
前記第２の制御部に前記更新データの複製を渡し、
前記更新後の冗長符号を算出し、前記更新後の冗長符号を前記データ保存装置の未使用領域に保存後、
前記更新データを更新前のデータに上書きすること
を特徴とする請求項２に記載のデータ記録再生装置。
【請求項４】
前記第２の制御部が、
前記更新データの複製を受け取り前記第２の記憶部に保存後、
前記第１の制御部に障害が発生した場合、
前記第１の制御部の処理を引き継いで処理を行うこと
を特徴とする請求項３に記載のデータ記録再生装置。
【請求項５】
前記制御部が、
前記更新データを前記更新前のデータに上書き後、
前記更新後の冗長符号を更新前の冗長符号に上書きすること
を特徴とする請求項１乃至請求項４のいずれかに記載のデータ記録再生装置。
【請求項６】
保存されているデータを更新するための更新データを保存し、
前記更新データの複製を保存し、
前記更新データを基に更新後の冗長符号を算出し、
前記更新後の冗長符号を未使用領域に保存後、
前記更新データを更新前のデータに上書きする
ことを特徴とするデータ記録方法。
【請求項７】
前記更新データを前記更新前のデータに上書き後、
前記更新後の冗長符号を更新前の冗長符号に上書きする
ことを特徴とする請求項６に記載のデータ記録方法。
【請求項８】
保存されているデータを更新するための更新データの保存する処理と、
前記更新データの複製を保存する処理と、
前記更新データを基に更新後の冗長符号を算出する処理と、
前記更新後の冗長符号を未使用領域に保存する処理の後、
前記更新データを更新前のデータに上書きする処理を
コンピュータに実行させることを特徴とするデータ記録プログラム。
【請求項９】
前記更新データを前記更新前のデータに上書きする処理の後、
前記更新後の冗長符号を更新前の冗長符号に上書きする処理を
特徴とする請求項８に記載のデータ記録プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ記録再生装置、特に、冗長符号を備えたデータを更新するデータ記録再生装置、データ記録方法、及び、データ記録プログラムに関する。
【背景技術】
【０００２】
音声データ又は画像データと比較し、一般的なコンピュータシステムで使用されるデータの誤り率（エラー・レート：error rate）は、低く抑えておくことが必要である。そのため、コンピュータで使用されるデータは、冗長符号を加えて保存することが行われている。このような冗長符号を加えてデータを保存する装置に１つに、複数のディスク装置にデータ分散させ冗長符号を加えてレイド（RAID：Redundant Arrays of Inexpensive (又はIndependent) Disks）を構成したディスクアレイ（Disk Array）装置がある。
【０００３】
ディスクアレイ装置で使用する冗長符号の方式には、いろいろな種類（レベルとも言う）があり、レベルの１つにＲＡＩＤ５がある。ＲＡＩＤ５は、データおよび冗長符号（ＲＡＩＤではパリティ(parity)と呼ばれることが多い。）を複数のディスク装置に分散配置（ストライピング：striping）する。さらに、ＲＡＩＤ５は、パリティを保存するディスク装置を固定しないようにデータ及びパリティの制御を行う。
【０００４】
図１２は、ＲＡＩＤ５を構成するディスクアレイ装置７の一例を示すブロック図である。ディスクアレイ装置７は、制御部７１と、複数のディスク装置（ディスク装置７２、ディスク装置７３、ディスク装置７４、及び、ディスク装置７５）を含んでいる。
【０００５】
図１２に示しているディスクアレイ装置７は、ＲＡＩＤ５を構成するアルファベットのＡ、Ｂ、Ｃで示す３組（ランク(rank)とも言う）のデータを保存している。各データは、３つのデータの領域（添え字が１から３）とパリティの領域（添え字がｐ）とで構成されている。このように構成されているＲＡＩＤ５のデータは、パリティ（冗長符号）を使用してデータの読み出しエラーを復旧することができる。
【０００６】
このように冗長符号を使用してエラーが発生してもデータを復旧できる手法は、いろいろと考案されている（例えば、非特許文献１又は非特許文献２を参照）。
【０００７】
しかし、装置の障害は、いろいろな場合に発生する。例えば、冗長符号を作成中に障害が発生する場合もある。冗長符号の作成中の障害に対応するため、ディスクアレイ装置は、キャッシュ(cache)に更新用のデータを保持し、更新用のパリティが正常に作成できた場合にデータを更新するように動作するものもある（例えば、特許文献１を参照）。
【０００８】
ただし、これらの手法は、ディスクアレイ装置の制御部のようなハードウェアの障害に対応できない。
【０００９】
そこで、高信頼性を求められるディスクアレイ装置は、ディスク装置を制御する制御部を２重化している（例えば、特許文献２を参照）。このように制御部を２重化したディスクアレイ装置は、処理を実行している（自系の）制御部に障害が発生しても、待機している（他系の）制御部が処理を継続することで、障害に対応することができる。しかし、このように制御部を２重化したディスクアレイ装置も、データの更新途中で障害が起こると、データが復旧できない場合がある。例えば、更新するデータとパリティとを同時に上書きしているときに障害が発生した場合、ディスクアレイ装置は、データの復旧ができない。
【００１０】
そのため、ディスクアレイ装置は、データを更新中での信頼性を向上するためにいろいろな手法を用いている。
【００１１】
例えば、図１３に一例としてのブロック図を示すディスクアレイ装置８は、データ更新する前に、更新前のデータと更新前のパリティと更新データとを２つの制御部（制御部８１及び制御部８２）のキャッシュ（キャッシュ８３及びキャッシュ８４）に２重化して保存する。その後、ディスクアレイ装置８は、ディスク装置（ディスク装置８５、ディスク装置８６、ディスク装置８７、及び、ディスク装置８８）のデータを更新する。このような動作に基づき、ディスクアレイ装置８は、データの更新完了まで更新前データを２重化して保持することができる。
【００１２】
キャッシュを用いた対応ではなく、ディスク装置への書き込み方法で対応したディスクアレイ装置もある（例えば、特許文献３を参照）。このようなディスクアレイ装置の動作について図面を参照して説明を行う。図１４に一例としてのブロック図を示すディスクアレイ装置９は、制御部９１とキャッシュ９２とディスク装置（ディスク装置９３、ディスク装置９４、ディスク装置９５、及び、ディスク装置９６）を含んでいる。今、ディスクアレイ装置９が、図１５に示すようにデータを保存し、データＡの２番目のデータ（Ａ２）を更新する場合について説明を行う。なお、図１５の破線で囲んだ領域が、対象のデータとなっている。まず、ディスクアレイ装置９は、図１６に示すように、新しいデータＡ２をディスク装置９４の未使用な領域（ｎｅｗＡ２）に書き込み、新しいパリティを計算して新しいパリティもディスク装置９６の未使用な領域（ｎｅｗＡｐ）に書き込む。この結果、新しいデータは、図１６の破線で囲んだ領域に配置されている。正常に書き込みが終了後、ディスクアレイ装置９は、図１７に示すように更新前のデータ（Ａ２）及びパリティ（Ａｐ）を削除する。この結果、図１７の破線で囲んだ領域が新しいデータＡの記録となり、古いデータ領域が開放される。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開平０９−２８２１０５
【特許文献２】特開２００５−２８４６３３
【特許文献３】特開２００３−２９６０４７
【非特許文献】
【００１４】
【非特許文献１】James S. Plank, "A Tutorial on Reed-Solomon Coding for Fault-Tolerance in RAID-like Systems", Technical Report CS-96-332, Department of Computer Science, University of Tennessee, July, 1996. (http://www.cs.utk.edu/~plank/plank/papers/CS-96-332.html)
【非特許文献２】James S. Plank, Ying Ding, "Note: Correction to the 1997 Tutorial on Reed-Solomon Coding", Technical Report UT-CS-03-504, Department of Computer Science, University of Tennessee, April 24, 2003. (http://www.cs.utk.edu/~plank/plank/papers/CS-03-504.html)
【発明の概要】
【発明が解決しようとする課題】
【００１５】
上述の図１３に示すディスクアレイ装置は、２つの制御部のキャッシュで、更新前データと、更新前パリティと、更新データとを２重化して保持することが必要である。そのため、図１３に示したディスクアレイ装置は、有効に使用できるキャッシュの領域が少なくなるという問題点があった。
【００１６】
また、上述の特許文献３に記載されたディスクアレイ装置は、更新後のデータ及び更新後のパリティをディスク装置に書き込んでから、更新前のデータ及び更新前のパリティを削除する。このように、上述の特許文献３に記載されディスクアレイ装置は、更新後のデータと更新後のパリティのための領域がディスク装置に必要である。そのため、特許文献３に記載されたディスクアレイ装置は、有効に使用できるディスク装置のデータ領域が少なくなるという問題点があった。
【００１７】
本発明の目的は、上述した課題を解決し、データの更新に必要となるキャッシュのような記憶部の領域とディスク装置のようなデータ保存装置の領域を削減した、データ記録再生装置、データ記録方法、及び、データ記録プログラムを提供することにある。
【課題を解決するための手段】
【００１８】
本発明のデータ記録再生装置は、データを保存するデータ保存装置と、前記データ保存装置に保存されているデータの更新データを保存する第１の記憶部と、前記更新データの複製を保存する第２の記憶部と、前記更新データを基に更新後の冗長符号を算出し、前記更新後の冗長符号を前記データ保存装置の未使用領域に保存後、前記更新データを更新前のデータに上書きする制御部とを含むことを特徴とする。
【００１９】
本発明のデータ記録方法は、保存されているデータを更新するための更新データを保存し、前記更新データの複製を保存し、前記更新データを基に更新後の冗長符号を算出し、前記更新後の冗長符号を未使用領域に保存後、前記更新データを更新前のデータに上書きすることを特徴とする。
【００２０】
本発明のデータ記録プログラムは、保存されているデータを更新するための更新データの保存する処理と、前記更新データの複製を保存する処理と、前記更新データを基に更新後の冗長符号を算出する処理と、前記更新後の冗長符号を未使用領域に保存する処理の後、前記更新データを更新前のデータに上書きする処理をコンピュータに実行させることを特徴とする。
【発明の効果】
【００２１】
本発明によれば、データ更新時に使用する記憶部の領域及びデータ保存装置の領域を削減する効果が得られる。
【図面の簡単な説明】
【００２２】
【図１】本発明における第１の実施の形態に係るデータ記録再生装置の構成の一例を示すブロック図である。
【図２】第１の実施の形態に係るデータ記録再生装置の更新前のデータ状態を示す図である。
【図３】第１の実施の形態に係るデータ記録再生装置の更新中のデータ状態を示す図である。
【図４】第１の実施の形態に係るデータ記録再生装置の更新中のデータ状態を示す図である。
【図５】第１の実施の形態に係るデータ記録再生装置の更新後のデータ状態を示す図である。
【図６】第１の実施の形態に係るデータ記録再生装置の動作の一例を示すフローチャート図である。
【図７】第１の実施の形態に係るデータ記録再生装置のデータ記憶装置の障害の一例を示す図である。
【図８】第１の実施の形態に係るデータ記録再生装置のデータ記憶装置の障害の一例を示す図である。
【図９】第１の実施の形態に係るデータ記録再生装置の別の構成の一例を示すブロック図である。
【図１０】第２の実施の形態に係るデータ記録再生装置の動作の一例を示すフローチャート図である。
【図１１】第２の実施の形態に係るデータ記録再生装置の更新後のデータ状態を示す図である。
【図１２】一般的なディスクアレイ装置の一例の構成を示すブロック図である。
【図１３】一般的なディスクアレイ装置の一例の構成を示すブロック図である。
【図１４】一般的なディスクアレイ装置の一例の構成を示すブロック図である。
【図１５】一般的なＲＡＩＤのデータ構成を示す図である。
【図１６】一般的なＲＡＩＤのデータ更新中のデータ状態を示す図である。
【図１７】一般的なＲＡＩＤのデータ更新後のデータ状態を示す図である。
【発明を実施するための最良の形態】
【００２３】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
（第１の実施の形態）
まず、本発明の第１の実施の形態について図面を参照して説明を行う。
【００２４】
図１は、本発明の第１の実施の形態に係るデータ記録再生装置１の構成を示すブロック図である。
【００２５】
なお、第１の実施の形態に係るデータ記録再生装置１の説明において、冗長符号（以下、冗長符号をパリティとも言う）の方式の一例としてパリティを備えたＲＡＩＤ５を使用するが、本発明の実施の形態は、ＲＡＩＤ５に限るわけではない。本実施の形態に係るデータ記録再生装置１は、ＲＡＩＤ４、ＲＡＩＤ６など他のＲＡＩＤのレベルを使用してもよく、ＲＡＩＤに限らず他のデータの冗長符号を使用しても良い。なお、ＲＡＩＤ５の冗長符号は、データ復旧のために基のデータから算出されるデータ（パリティ）であるが、本実施の形態の冗長符号は、これに限られわけではない。例えば、ＲＡＩＤ１の冗長符号は、基のデータ同じデータとなる。
【００２６】
データ記録再生装置１は、制御部１１（第１の制御部）と、制御部１２（第２の制御部）と、ＲＡＩＤを構成するデータ保存装置（データ保存装置３１、データ保存装置３２、データ保存装置３３、及び、データ保存装置３４）を含んでいる。
【００２７】
なお、データ記録再生装置１においてデータ保存装置３１乃至データ保存装置３４を４台にしているのは、あくまで説明の便宜のためである。本実施の形態に係るデータ記録再生装置１のデータ保存装置は、３台以下でもよく、５台以上でもよい。
【００２８】
また、データ記録再生装置１の制御部も、２つに限られるわけではない。データ記録再生装置１は、制御部を３つ以上含んでもよく、後ほど説明するように制御部が１つでもよい。さらに、データ記録再生装置１は、３つ以上の制御部を含んでいても、以下で行う説明と同様に、３つ以上の制御部のうちの２つの制御部で冗長構成を構築しても良く、３つ以上の制御部で冗長構成を構築しても良い。
【００２９】
制御部１１及び制御部１２は、データ保存装置３１乃至データ保存装置３４で構成するデータの冗長構成の制御と、制御部の冗長構成を実現している。なお、以下の説明において、制御部１１が制御を行う系（以下、自系と言う）、制御部１２が待機の系（以下、他系と言う）として説明を行うが、自系と他系との区別は、説明の便宜のためである。以下の説明において、制御部１１と制御部１２とを入れ替えれば、データ記録再生装置１は、制御部１２を自系とした動作を行うことができる。また、制御部１１及び制御部１２は、データ保存装置３１乃至データ保存装置３４の記録・更新・再生に使用するデータを保存する記憶部として、それぞれ記憶部２１（第１の記憶部）及び記憶部２２（第２の記憶部）とを含んでいる。制御部１１及び制御部１２は、この記憶部２１及び記憶部２２を、記録、更新、又は、再生するデータを一時的に保存するキャッシュ、及び、作業用のワーク領域として使用する。
【００３０】
データ保存装置３１乃至データ保存装置３４は、制御部１１又は制御部１２に制御され、冗長符号を使用したＲＡＩＤを構成しているデータの保存・更新・再生を行う。
【００３１】
図２は、データ保存装置３１乃至データ保存装置３４が構成しているＲＡＩＤに保存されているデータの一例を示す図である。なお、図２は、ＲＡＤＩ５の場合の一例を示している。ただし、既に説明したとおり、本発明の実施の形態のデータの構成は、ＲＡＩＤ５に限られるわけでなく、ＲＡＩＤ４、ＲＡＩＤ６などの他のＲＡＩＤタイプでもよく、ＲＡＩＤではないデータの冗長符号を使用してもよい。
【００３２】
図２に示すデータ保存装置３１乃至データ保存装置３４は、ＲＡＩＤ５の構成の３つのデータの組（ランク(rank)とも言う）が保存されている。１つ目のデータは、Ａ１、Ａ２、Ａ３、Ａｐで構成されている。（このデータは、図２において点線で囲んだ範囲である。）ここで、Ａ１乃至Ａ３が本来データであり、Ａｐがパリティである。２つ目のデータは、Ｂ１、Ｂ２、Ｂｐ、Ｂ３で構成されている。ここでも、Ｂ１乃至Ｂ３が本来のデータであり、Ｂｐがパリティである。３つ目のデータ（Ｃ１、Ｃ２、Ｃ３、Ｃｐ）も同様である。なお、既に説明しているとおり図２のデータは、ＲＡＩＤ５のため、各データでパリティを保存しているデータ保存装置が異なる。
【００３３】
続いて、図１乃至図６を参照して、第１の実施の形態に係るデータ記録再生装置１のデータの更新の動作について説明を行う。図１乃至図５において同じ構成は、同じ番号を付している。図２は、データ保存装置３１乃至データ保存装置３４の最初のデータ状態の一例を示す図である。図３乃至図５は、データを更新していく各段階でデータ保存装置３１乃至データ保存装置３４に保存されているデータ状態の一例を示す図である。図６は、自系の制御部（本実施の形態の説明では制御部１１）の動作の一例を示すフローチャート図である。
【００３４】
まず、制御部１１は、図示しない上位装置から更新するデータを受け取り記憶部２１に保存する。（この更新するデータを以後、更新データと言う。）制御部１１は、更新データの複製を制御部１２に送る（ステップ１０１）。制御部１２は、受け取った更新データの複製を記憶部２２に保存する。このように、本実施の形態の制御部１２は、記憶部２２に更新データを保存するが、更新前パリティ及び更新前データを保存するための領域を必要としない。
【００３５】
続いて、制御部１１は、データを更新するために必要なデータを準備する（ステップ１０２）。例えば、制御部１１は、更新データのためのパリティを計算して求める（以下、この計算で求めたパリティを更新後パリティと言う）。さらに、制御部１１は、更新データに対する更新前データも記憶部２１に保存する。制御部１１が記憶部２１に更新前データも保存する理由は、例えば、後ほど説明する制御部１１が行う更新データの上書き中での二重障害に対応するためである。
【００３６】
次に、制御部１１は、更新後パリティを更新前のパリティの保存しているデータ保存装置（本実施の形態ではデータ保存装置３４）の未使用領域に保存する（ステップ１０３）。図３は、ステップ１０３が終了した後のデータ状態を示す図である。図３に示す「ｎｅｗＡｐ」が、更新後のパリティである。
【００３７】
なお、制御部１１が、更新前のパリティを保存しているデータ保存装置に、更新後パリティを保存するのは、次の理由からである。パリティは、データが保存されているデータ保存装置とは異なるデータ保存装置に保存することが必要である。更新前のパリティが保存されているデータ保存装置以外のデータ保存装置は、図２を参照しても明らかなとおり、データが保存されている。つまり、パリティは、更新の前後とも同じデータ保存装置に保存されることとなる。
【００３８】
ただし、例えば、制御部１１がパリティを保存するデータ保存装置をデータの更新に合わせて変更するなら、制御部１１は、変更予定のデータ保存装置に更新後パリティを保存しても良い。
【００３９】
なお、ステップ１０３における未使用領域とは、有効なデータが記録されていない領域のことである。従って、未使用領域とは、実際のデータが記録されていない領域に限られず、過去にデータを書き込んだ後、管理情報上で未使用となっている領域、及び、初期化において初期データを書き込んでから有効なデータが書き込まれていない領域も含んでいる。
【００４０】
更新後パリティを保存後、制御部１１は、更新データを更新前データに上書きする（ステップ１０４）。図４は、ステップ１０４が終了した後のデータの状態を示す図である。図４に示す「ｎｅｗＡ２」が、更新データである。つまり、本実施の形態に係るデータ記録再生装置１は、データ保存装置（本実施に形態の説明ではデータ保存装置３２）に更新データを保存するための新たな領域を必要としない。
【００４１】
更新データが正常に保存できたら、制御部１１は、更新前のパリティの領域（Ａｐ）を開放する（ステップ１０５）。図５は、データの更新が終了した後のデータの状態を示す図である。制御部１１は、データ更新の完了を図示しない上位装置に返す。なお、データ記録再生装置１がライトバック(write back)を行う場合、上位装置から更新データを受けた時点で、制御部１１は、上位装置に終了を通知してもよい。ただし、データの信頼性を確保するため、本実施の形態の制御部１１は、ライトバックを行う場合、ステップ１０１（他系の制御部１２に更新データのデュプリケーション）が完了してから上位装置に終了を通知することとしている。
【００４２】
このような動作に基づき、本実施の形態に係るデータ記録再生装置１は、データの更新で使用する記憶部（本実施の形態の説明では記憶部２２）の領域と、データ保存装置（本実施の形態の説明ではデータ保存装置３２）の領域を削減することができる。
【００４３】
次に、このように動作するデータ記録再生装置１が、各動作で障害が発生しても、データに問題が発生しないことを、図６の動作に沿って説明する。
【００４４】
まず、ステップ１０１の処理、つまり制御部１２に更新データを送付する処理で障害が発生した場合について説明を行う。
【００４５】
ステップ１０１が完了するまで、制御部１１は、上位装置に終了を通知しない。そのため、制御部１１の処理で障害が発生した場合、制御部１１が上位装置にエラーを回答する、又は、制御部１１の上位装置への終了通知が途絶えることとなる。どちらの場合も、上位装置は、エラーを検出することができる。また、データ記録再生装置１もデータの書き込みを行わない。従って、データ記録再生装置１でのデータ不整合は、発生しない。
【００４６】
一方、制御部１２で障害が発生した場合、制御部１１は、片系で処理を進めることができる。従って、この場合、制御部１１が、ステップ１０１以降の処理を行い、データ記録再生装置１は、データの更新を行うことができる。
【００４７】
なお、制御部１１は、安全のため、制御部１２が障害の場合に片系で処理を進めず、上位装置にエラーを返すようにしても良い。この場合も、上位装置はエラーの通知を受け、データ記録再生装置１はデータの記録を中止するため、データ記録再生装置１でのデータの不整合の問題は、発生しない。
【００４８】
次にステップ１０２の処理、つまり、更新に必要なデータの準備の処理の間で障害が起きた場合について説明を行う。なお、ライトバックを行っている場合、この時点で、データ記録再生装置１は、上位装置に更新の終了を返却しているため、更新処理を完了することが必要である。
【００４９】
制御部１２が障害を起こした場合、制御部１１が、ステップ１０２以降の動作を行えば、データ記録再生装置１は、データを更新することができる。
【００５０】
また、制御部１１に障害が発生した場合、制御部１２がステップ１０１で更新データを受け取っているため、制御部１２が制御部１１の動作を引き継ぎ、ステップ１０２以降の動作を実行し、データ記録再生装置１は、データの更新を行うことができる。
【００５１】
このように、データ記録再生装置１は、ステップ１０２で障害が発生しても、データの更新を行うことができる。
【００５２】
次にステップ１０３の処理、つまり更新後パリティを未使用領域に保存する間に障害が発生した場合について説明を行う。
【００５３】
制御部１２が障害を起こした場合、制御部１１は、ステップ１０３以降の動作を行い、データの更新を行うことができる。
【００５４】
制御部１１が障害を起こした場合、制御部１２は、制御部１１の動作を引き継いで動作を行えばよい。ただし、本実施の形態に係る制御部１２は、この時点で更新データしか保存していない。そのため、制御部１２は、更新後パリティを求めるステップ１０２から動作を開始する。
【００５５】
パリティを記録するデータ保存装置３４で障害が発生した場合、制御部１１は、通常の縮退状態でのデータ更新を行えばよい。そして、障害のデータ保存装置３４を修理又は交換後、制御部１１は、通常の復旧と同様にパリティを算出してデータ保存装置３４に保存する。なお、制御部１１は、記憶部２１にパリティを保存している場合は、そのパリティをデータ保存装置３４に保存しても良い。
【００５６】
このように、ステップ１０３で障害が発生しても、データ記録再生装置１は、データの更新を行うことができる。
【００５７】
次にステップ１０４の処理、つまり更新データの記録する間に障害が発生した場合について説明を行う。
【００５８】
制御部１２が障害を起こした場合、制御部１１は、ステップ１０４以降の動作を行い、データの更新を行うことができる。
【００５９】
制御部１１が障害を起こした場合、制御部１２は、制御部１１の動作を引き継いで動作を行えばよい。ここで、制御部１２は、既に更新データを受け取っているため、ステップ１０４以降の動作を行い、データの更新を行うことができる。なお、制御部１２は、可能ならば、制御部１１から更新前データ、更新前のパリティを受け取ってもよい。
【００６０】
更新データを記録するデータ保存装置３２が障害を起こした場合、制御部１１は、通常の縮退状態でのデータの更新を行えばよい。そして、障害のデータ保存装置３２を修理又は交換後、制御部１１は、通常の復旧と同様に他の正常なデータ保存装置３１及びデータ保存装置３３のデータとデータ保存装置３４のパリティとから更新データを求め、データ保存装置３２のデータを復旧すればよい。なお、制御部１１は、記憶部２１に更新データが保存されている場合、保存されている更新データをデータ保存装置３２に記録してもよい。
【００６１】
このように、ステップ１０４で障害が発生しても、データ記録再生装置１は、データの更新を行うことができる。
【００６２】
さらに、ステップ１０５、つまり更新前のパリティを削除する動作で障害が発生した場合について説明を行う。
【００６３】
制御部１２が障害を起こした場合、制御部１１は、ステップ１０５の動作を行い、データの更新を完了することができる。
【００６４】
制御部１１が障害を起こした場合、制御部１２は、制御部１１の動作を引き継ぎ、ステップ１０５の動作を行い、データの更新を完了することができる。
【００６５】
パリティを記録しているデータ保存装置３４で障害が発生した場合、制御部１１は、通常の縮退状態として、パリティの削除を行わずデータ更新を完了すればよい。そして、データ保存装置３４の修理又は交換完了後、制御部１１は、通常の復旧と同様に更新前のパリティを削除すればよい。
【００６６】
このように、ステップ１０５で障害が発生しても、データ記録再生装置１は、データの更新を行うことができる。
【００６７】
さらに、図６の各ステップでデータ保存装置が障害発生を起こした場合のデータ記録再生装置１におけるデータの復旧についても説明を行う。なお、図６のステップ１０２の処理を完了するまで、データ記録再生装置１は、データ保存装置に書き込みを行っていない。つまり、ステップ１０２まで、データ記録再生装置１は、データ保存装置のデータの復旧が必要ない。そのため、ステップ１０２までの復旧の説明を省略し、ステップ１０３以降について詳細な説明を行う。
【００６８】
まず、ステップ１０３の処理終了、つまり更新後パリティを未使用領域に保存することが完了するまで間にデータ保存装置３１乃至データ保存装置３４のいずれかで障害が発生した場合について説明を行う。
【００６９】
図７は、この場合の一例として、データ保存装置３３が障害を起こした場合を示している。この場合、更新前の正常なデータが、障害を発生したデータ保存装置以外のデータ保存装置に保存されているため、データ記録再生装置１は、正常な更新前データを基にデータを復旧することができる。例えば、図７の場合のデータＡについて説明すると、データ記録再生装置１は、Ａ１、Ａ２、Ａｐを基にＡ３を復旧することができる。他のデータ保存装置で障害が発生した場合のデータ復旧も同様である。データ復旧後、データ記録再生装置１は、ステップ１０３以降の動作を行えばよい。
【００７０】
次にステップ１０４の処理、つまり更新データの記録する間に障害が発生した場合のデータの復旧について説明を行う。
【００７１】
図８は、この場合の一例として、データ保存装置３１が障害を起こした場合を示している。更新データ（ｎｅｗＡ２）がデータ保存装置３２を記録済みの場合、データ記録再生装置１は、データ保存装置３２乃至データ保存装置３４に保存されているデータ（ｎｅｗＡ２、Ａ３、ｎｅｗＡｐ）を基にＡ１を復旧することができる。
一方、データ保存装置３２がｎｅｗＡ２の書換え中の場合、データ記録再生装置１は、制御部１１又は制御部１２が保存しているｎｅｗＡ２とデータ保存装置３３に保存されているＡ３とデータ保存装置３４に保存されているｎｅｗＡｐを基にＡ１を復旧することができる。他のデータ保存装置で障害が発生した場合のデータ復旧も同様である。データ復旧後、データ記録再生装置１は、ステップ１０４以降の動作を行えばよい。
【００７２】
なお、ステップ１０５は、更新完了後における、更新前のデータの削除、いわゆる領域開放であり、ステップ１０５のデータの復旧は、一般的なＲＡＩＤと同じため、詳細な説明を省略する。
【００７３】
このように第１の実施の形態に係るデータ記録再生装置１は、データ保存装置のデータの復旧を行うことができる。
【００７４】
なお、説明の便宜のため、本実施の形態は、複数のデータ保存装置を使用したデータ記録再生装置１について説明を行ったが、本発明の実施の形態のデータ記録再生装置１は、これに限られるわけではない。例えば、本実施の形態に係るデータ記録再生装置１は、データ保存装置として、信頼性を確保するため、１つのデータ保存装置内においてデータを冗長して保存するデータ保存装置を用いてもよい。
【００７５】
また、本実施の形態に係るデータ保存装置は、ディスクアレイ装置に一般的に使用されている磁気ディスク装置に限られるわけではなく、光ディスク装置又は光磁気ディスク装置でもよい。さらに、本実施の形態に係るデータ保存装置は、回転するディスクを使用する装置に限られず、例えば半導体記憶装置でもよい。
【００７６】
さらに、データ記録再生装置１は、データ保存装置の一部又は全部をネットワーク又はバスを介して接続する外部の装置としても良い。
【００７７】
また、データ記録再生装置１は、ＣＰＵ(Central Processing Unit)を備え、これまで説明してきた動作をコンピュータ（ＣＰＵ）で動作するソフトウェアとして実現しても良い。データ記録再生装置１は、データ記録媒体に保存されているソフトウェアを読み出して動作するようにしても良い。
【００７８】
なお、本実施の形態に係るデータ記録再生装置１の制御部１１又は制御部１２は、記憶部２１又は記憶部２２を含んでいるが、これに限られるわけではない。本実施の形態に係るデータ記録再生装置１は、制御部１１又は制御部１２と記憶部２１又は記憶部２２を別構成としても良い。
【００７９】
図９は、本実施の形態に係るデータ記録再送装置の別の構成の一例を示すブロック図である。
【００８０】
データ記録再生装置２は、制御部１３と、記憶部２１と、記憶部２２と、データ保存装置３５を含む。
【００８１】
制御部１３は、更新データの複製（デュプリケーション）を除き、データ記録再生装置１の制御部１１と同様の動作を行う。一般に、電子回路で構成された制御部は、稼動部を含むデータ保存装置と比較し信頼性が高い。そのため、１つの制御部１３でも所定の信頼性を確保できる場合、データ記録再生装置２は、１つの制御部１３を含んで構成することもできる。勿論、データ記録再生装置２は、データ記録再生装置１の同様に複数の制御部を含んでもよい。
【００８２】
記憶部２１及び記憶部２２は、データ記録再生装置１の記憶部２１及び記憶部２２と同様であり、冗長構成となっている。
【００８３】
データ保存装置３５は、１つ又は複数のデータ保存装置を含んでデータを保存するデータ保存装置である。図９では、説明の便宜のため１つの構成として示している。
【００８４】
このように構成されているデータ記録再生装置２は、本実施の形態のデータ記録再生装置の最小構成を示している。
【００８５】
このように構成されたデータ記録再生装置２の制御部１３は、既に説明したとおり、制御部１２にデュプリケーションを行わない点を除いて、データ記録再生装置１の制御部１１と同様に動作する。つまり、制御部１３は、制御部１１と同等に、更新データを記憶部２１及び記憶部２２に保存後、算出した冗長符号をデータ保存装置３５の未使用領域に記録し、更新データを更新前のデータに上書きする。このように動作する制御部１３を含むデータ記録再生装置２は、データ記録再生装置１と同様に、記憶部及びデータ保存装置の領域を削減したデータの更新を行うことができる。
【００８６】
このように、本発明の第１の実施形態に係るデータ記録再生装置１は、データ更新時に使用する記憶部の領域及びデータ保存装置の領域を削減する効果が得ることができる。
【００８７】
その理由は、第１の実施の形態に係るデータ記録再生装置１は、更新前データと更新前冗長符号（パリティ）を自系制御部（制御部１１）から他系制御部（制御部１２）に複製しないため、データ更新に必要となる他系制御部の記憶領域が少なくなるためである。さらに、データ記録再生装置１は、更新データを更新前データに上書きすることで、更新データをデータ保存装置の未使用領域に記録しない。従って、データ記録再生装置１は、データ更新に必要となるデータ保存装置の領域が少なくなるためである。
【００８８】
さらに、第１の実施の形態に係るデータ記録再生装置１は、データの更新の処理時間を短くする効果を得ることも出来る。
【００８９】
その理由は、第１の実施の形態に係るデータ記録再生装置１は、更新前データと更新前パリティを自系制御部（制御部１１）から他系制御部（制御部１２）に複製する処理に係る時間を必要としないためである。さらに、データ記録再生装置１は、更新データをデータ保存装置の未使用領域に記録しないため、更新前のデータの領域を開放する処理に係る時間を必要としないためである。
（第２の実施の形態）
第１の実施の形態のデータ記録再生装置１は、データ更新後のデータの配置がデータ前と異なる。そのため、データ記録再生装置１は、データの保存場所を管理する管理情報の変更が必要となる。
【００９０】
第２の実施の形態のデータ記録再生装置１は、第１の実施の形態に係るデータ記録再生装置１の処理の一部を変更し、データの更新後にデータの管理情報の変更を必要としない。
【００９１】
なお、第２の実施の形態に係るデータ記録再生装置１の構成は、第１の実施の形態に係るデータ記録再生装置１の構成と同じため、構成の詳細な説明は省略する。
【００９２】
また、図１０に一例を示す第２の実施の形態に係るデータ記録再生装置１の動作は、ステップ１０４まで、図６に示すステップ１０４と同じである。そのため、図１０のステップ１０１からステップ１０４までの詳細な説明は省略し、ステップ１０４に続く動作（ステップ１０６）について詳細に説明を行う。
【００９３】
第２の実施の形態に係るデータ記録再生装置１は、ステップ１０４の更新データの上書きが終了すると、更新後パリティを更新前パリティの領域に上書きする（ステップ１０６）。なお、データ記録再生装置１は、適宜、更新後パリティを最初に保存した領域を解放する。使用後のデータ保存装置の領域の解放は、システムの管理の方法に応じて異なるため、詳細な説明は省略する。
【００９４】
図１１は、第２の実施の形態に係るデータ記録再生装置１が、ステップ１０６が終了したあと、つまりデータを更新後のデータの状態の一例を示す図である。
【００９５】
図２及び図１１を比較すると明らかなとおり、第２の実施の形態に係るデータ記録再生装置１の更新後のデータは、更新前のデータと同じ位置となる。
【００９６】
従って、第２の実施の形態に係るデータ記録再生装置１は、データの管理情報、特にデータの配置に関する情報を変更する必要が無い。
【００９７】
次に、ステップ１０６、つまり更新後のパリティを上書きする動作で障害が発生した場合について説明を行う。
【００９８】
制御部１２が障害を起こした場合、制御部１１は、ステップ１０６の動作を行い、データの更新を完了することができる。
【００９９】
制御部１１が障害を起こした場合、制御部１２は、制御部１１の動作を引き継ぎ、ステップ１０６の動作を行い、データの更新を完了することができる。なお、制御部１２は、更新後のパリティを保存していないが、データ保存装置３４に保存されているため、データ保存装置３４から読み出して上書きを行えばよい。制御部１２は、保存済みの更新データと変更しなかったデータからパリティを計算して保存しても良い。
【０１００】
パリティを記録しているデータ保存装置３４で障害が発生した場合、制御部１１は、通常の縮退状態として、パリティの削除を行わずデータ更新を終了すればよい。そして、障害のデータ保存装置３４を修理又は交換後、制御部１１は、データの復旧と同様に正常なデータ保存装置３１乃至データ保存装置３３のデータから更新後のパリティを求め、データ保存装置３４に記録すれば良い。なお制御部１１は、記憶部２１に更新後のパリティを保存している場合、その更新後のパリティを更新前のパリティに上書きしてもよい。
【０１０１】
このように、ステップ１０６で障害が発生しても、データ記録再生装置１は、データの更新を行うことができる。
【０１０２】
また、ステップ１０６で障害が発生した場合、更新後のデータ及び更新後のパリティの書き込みは終了し保存されているため、データ記録再生装置１は、通常のデータ復旧を行えばよい。
【０１０３】
このように、第２の実施の形態に係るデータ記録再生装置１は、第１の実施の形態に係るデータ記録再生装置１の効果に加え、データの管理情報の変更を減らす効果を得ることができる。
【０１０４】
その理由は、第２の実施の形態に係るデータ記録再生装置１は、更新後パリティを更新前パリティの領域に上書きするため、データの更新の前後でデータ及びパリティの位置の変更が無いためである。
【０１０５】
上記の実施の形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
（付記）
（付記１）  データを保存するデータ保存装置と、
前記データ保存装置に保存されているデータの更新データを保存する第１の記憶部と、
前記更新データの複製を保存する第２の記憶部と、
前記更新データを基に更新後の冗長符号を算出し、前記更新後の冗長符号を前記データ保存装置の未使用領域に保存後、前記更新データを更新前のデータに上書きする制御部と
を含むことを特徴とするデータ記録再生装置。
（付記２）  前記制御部が、
前記第１の記憶部を含む第１の制御部と前記第２の記憶部を含む第２の制御部とを含むことを特徴とする付記１に記載のデータ記録再生装置。
（付記３）  前記第１の制御部が
前記更新データを受け取り、前記更新データを前記第１の記憶部に保存し、
前記第２の制御部に前記更新データの複製を渡し、
前記更新後の冗長符号を算出し、前記更新後の冗長符号を前記データ保存装置の未使用領域に保存後、
前記更新データを更新前のデータに上書きすること
を特徴とする付記２に記載のデータ記録再生装置。
（付記４）  前記第２の制御部が、
前記更新データの複製を受け取り前記第２の記憶部に保存後、
前記第１の制御部に障害が発生した場合、
前記第１の制御部の処理を引き継いで処理を行うこと
を特徴とする付記３に記載のデータ記録再生装置。
（付記５）  前記制御部が、
前記更新データを前記更新前のデータに上書き後、
前記更新後の冗長符号を更新前の冗長符号に上書きすること
を特徴とする付記１乃至付記４のいずれかに記載のデータ記録再生装置。
（付記６）  保存されているデータを更新するための更新データを保存し、
前記更新データの複製を保存し、
前記更新データを基に更新後の冗長符号を算出し、
前記更新後の冗長符号を未使用領域に保存後、
前記更新データを更新前のデータに上書きする
ことを特徴とするデータ記録方法。
（付記７）  前記更新データを前記更新前のデータに上書き後、
前記更新後の冗長符号を更新前の冗長符号に上書きする
ことを特徴とする付記６に記載のデータ記録方法。
（付記８）  保存されているデータを更新するための更新データの保存する処理と、
前記更新データの複製を保存する処理と、
前記更新データを基に更新後の冗長符号を算出する処理と、
前記更新後の冗長符号を未使用領域に保存する処理の後、
前記更新データを更新前のデータに上書きする処理を
コンピュータに実行させることを特徴とするデータ記録プログラム。
（付記９）  前記更新データを前記更新前のデータに上書きする処理の後、
前記更新後の冗長符号を更新前の冗長符号に上書きする処理を
特徴とする付記８に記載のデータ記録プログラム。
【符号の説明】
【０１０６】
１    データ記録再生装置
２    データ記録再生装置
７、８、９    ディスクアレイ装置
１１    制御部
１２    制御部
１３    制御部
２１    記憶部
２２    記憶部
３１    データ保存装置
３２    データ保存装置
３３    データ保存装置
３４    データ保存装置
３５    データ保存装置
７１    制御部
７２、７３、７４、７５    ディスク装置
８１、８２    制御部
８３、８４    キャッシュ
８５、８６、８７、８８    ディスク装置
９１    制御部
９２    キャッシュ
９３、９４、９５、９６    ディスク装置
【図１】
0005598124.tif 000002
【図２】
0005598124.tif 000003
【図３】
0005598124.tif 000004
【図４】
0005598124.tif 000005
【図５】
0005598124.tif 000006
【図６】
0005598124.tif 000007
【図７】
0005598124.tif 000008
【図８】
0005598124.tif 000009
【図９】
0005598124.tif 000010
【図１０】
0005598124.tif 000011
【図１１】
0005598124.tif 000012
【図１２】
0005598124.tif 000013
【図１３】
0005598124.tif 000014
【図１４】
0005598124.tif 000015
【図１５】
0005598124.tif 000016
【図１６】
0005598124.tif 000017
【図１７】
0005598124.tif 000018