(57)【要約】【課題】データの書き換え回数に上限が設けられた２つの記憶装置の耐故障性を向上させる。【解決手段】ミラーリング装置１００は、データの書き換えが可能な残りの書き込み可能量の差分が予め定められた値未満の場合に（ステップＳ２０２でＮＯ）、差分が記予め定められた値以上となるように記憶装置を制御することで（ステップＳ３０４〜３０７、ステップＳ３０８〜３１０）、２つの記憶装置の寿命の到来時期をずらすことができる。【選択図】図３
2015129998.tif 000002
【特許請求の範囲】
【請求項１】
データの書き換え回数に上限が設けられた２つの記憶装置のミラーリングを行うミラーリング装置であって、
各々の前記記憶装置の総書き込み量から、各々の前記記憶装置で前記データの書き換えが可能な残りの書き込み可能量を取得する取得手段と、
前記取得手段により取得された各々の前記書き込み可能量の差分が予め定められた値以上か否か判別する判別手段と、
前記判別手段により、前記差分が前記予め定められた値未満と判別された場合に、前記差分が前記予め定められた値以上となるように前記記憶装置を制御する制御手段と
を備えたことを特徴とするミラーリング装置。
【請求項２】
前記制御手段は、前記差分が前記予め定められた値未満と判別された場合に、前記書き込み可能量が小さい方の前記記憶装置である第１記憶装置への前記データの記憶回数を、前記書き込み可能量が小さくない方の前記記憶装置である第２記憶装置への記憶回数と比較して増加させるように前記第１記憶装置、及び前記第２記憶装置を制御することを特徴とする請求項１記載のミラーリング装置。
【請求項３】
前記制御手段は、前記第１記憶装置へ前記データを記憶してから予め定められた時間が経過した後に前記第２記憶装置へ前記データを記憶するように前記第１記憶装置、及び前記第２記憶装置を制御することを特徴とする請求項２記載のミラーリング装置。
【請求項４】
前記制御手段は、前記第２記憶装置へ前記データを記憶するたびに、前記第１記憶装置へ前記データを予め設定された回数だけ繰り返し記憶するように前記第１記憶装置、及び前記第２記憶装置を制御することを特徴とする請求項２記載のミラーリング装置。
【請求項５】
前記制御手段は、前記第１記憶装置へダミーデータを記憶するように前記第１記憶装置、及び前記第２記憶装置を制御することを特徴とする請求項２記載のミラーリング装置。
【請求項６】
前記ダミーデータは、前記第１記憶装置、及び前記第２記憶装置のビルド処理が終了した後に記憶されることを特徴とする請求項５記載のミラーリング装置。
【請求項７】
データの書き換え回数に上限が設けられた２つの記憶装置のミラーリングを行うミラーリング装置の制御方法であって、
各々の前記記憶装置の総書き込み量から、各々の前記記憶装置で前記データの書き換えが可能な残りの書き込み可能量を取得する取得ステップと、
前記取得ステップにより取得された各々の前記書き込み可能量の差分が予め定められた値以上か否か判別する判別ステップと、
前記判別ステップにより、前記差分が前記予め定められた値未満と判別された場合に、前記差分が前記予め定められた値以上となるように前記記憶装置を制御する制御ステップと
を備えたことを特徴とする制御方法。
【請求項８】
データの書き換え回数に上限が設けられた２つの記憶装置のミラーリングを行うミラーリング装置の制御方法をコンピュータに実行させるためのプログラムであって、
前記制御方法は、
各々の前記記憶装置の総書き込み量から、各々の前記記憶装置で前記データの書き換えが可能な残りの書き込み可能量を取得する取得ステップと、
前記取得ステップにより取得された各々の前記書き込み可能量の差分が予め定められた値以上か否か判別する判別ステップと、
前記判別ステップにより、前記差分が前記予め定められた値未満と判別された場合に、前記差分が前記予め定められた値以上となるように前記記憶装置を制御する制御ステップと
を備えたことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ミラーリング装置及びその制御方法、並びにプログラムに関する。
【背景技術】
【０００２】
近年、ＳＳＤ（Solid State Drive）の普及に伴い、補助記憶装置としてＳＳＤが画像形成装置に具備されるようになってきている。従来の補助記憶装置と比較すると、ＳＳＤはアクセスタイム、発熱、動作音、耐衝撃性能、消費電力、及びサイズなどで優れているが、書き換え回数に上限がある。
【０００３】
こうした補助記憶装置に関連する装置として、２台のディスクが同時に故障することが少ないことを利用することで耐故障性を向上させるためのミラーリング装置がある。
【０００４】
ＨＤＤ（Hard Disk Drive）をミラーリング装置に装着した場合は、その効果が大いに発揮されるが、ＳＳＤをミラーリング装置に装着した場合、２台のＳＳＤに対して同じデータを書き込むため、書き換え回数に基づく寿命がほぼ同時期にやってくる。
【０００５】
よって、ミラーリング構成にしていながら、ＨＤＤほどの耐故障性が期待できないという課題がある。
【０００６】
この課題に対処するため、片側のディスクにダミーデータを付加して書き込むことで、２台のディスクの書き換え回数に差をつける技術が開示されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１３−７７２８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に開示された技術の場合、ダミーデータを記憶するＳＳＤが片方に固定されていることから、ダミーデータを記憶したＳＳＤが交換された場合、交換されたＳＳＤにダミーデータが記憶される。その結果、特許文献１に開示された技術では、交換されたＳＳＤの寿命を縮めることとなる。
【０００９】
また、２台のＳＳＤに対して異なるデータを記憶しているため、ミラーリングをやめて１台で運用を再開することができない。
【００１０】
本発明の目的は、データの書き換え回数に上限が設けられた２つの記憶装置の耐故障性を向上させたミラーリング装置及びその制御方法、並びにプログラムを提供することにある。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、請求項１のミラーリング装置は、データの書き換え回数に上限が設けられた２つの記憶装置のミラーリングを行うミラーリング装置であって、各々の前記記憶装置の総書き込み量から、各々の前記記憶装置で前記データの書き換えが可能な残りの書き込み可能量を取得する取得手段と、前記取得手段により取得された各々の前記書き込み可能量の差分が予め定められた値以上か否か判別する判別手段と、前記判別手段により、前記差分が前記予め定められた値未満と判別された場合に、前記差分が前記予め定められた値以上となるように前記記憶装置を制御する制御手段とを備えたことを特徴とする。
【発明の効果】
【００１２】
本発明によれば、データの書き換えが可能な残りの書き込み可能量の差分が予め定められた値未満の場合に、差分が記予め定められた値以上となるように記憶装置を制御することで、２つの記憶装置の寿命の到来時期をずらすことができるため、データの書き換え回数に上限が設けられた２つの記憶装置の耐故障性を向上させることができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施の形態に係るミラーリング装置の概略構成を示す図である。
【図２】図１におけるＣＰＵにより実行されるミラーリング初期化処理の手順を示すフローチャートである。
【図３】図１におけるＣＰＵにより実行される記憶処理の手順を示すフローチャートである。
【図４】図１におけるＣＰＵにより実行されるミラーリング初期化処理の手順を示すフローチャートである。
【図５】図１におけるＣＰＵにより実行される記憶処理の手順を示すフローチャートである。
【図６】図６（Ａ）は、図１におけるＣＰＵにより実行されるダミーデータによる制御理の手順を示すフローチャートであり、図６（Ｂ）はリビルド制御処理の手順を示すフローチャートである。
【図７】図６（Ａ）のステップＳ６０５のダミーデータ記憶処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態について図面を参照しながら詳述する。
【００１５】
図１は、本発明の実施の形態に係るミラーリング装置１００の概略構成を示す図である。
【００１６】
図１において、ミラーリング装置１００には、データの書き換え回数に上限が設けられた２つの記憶装置であるストレージ１，２とホスト１１７とが接続されている。
【００１７】
ストレージ１，２は、ＳＳＤ（Solid State Drive）である。ホスト１１７は、ストレージ１，２に関する情報を記憶しており、後述するようにミラーリング装置１００はホスト１１７からストレージ１，２に関する情報を取得する。
【００１８】
また、ミラーリング装置１００は、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、ディスクコントローラ２０１，２０２，２０３、及びデータ転送ユニット１１９で構成され、それぞれシステムバス１１５に接続されている。
【００１９】
ＣＰＵ１０１は、ミラーリング装置１００全体を制御する。ＲＯＭ１０２は、各種プログラムや各種データを記憶する。ＲＡＭ１０３は、ＣＰＵ１０１のワークエリアとして用いられたり、各種プログラムや各種データを記憶する。
【００２０】
後述するフローチャートは、ＲＯＭ１０２またはＲＡＭ１０３に記憶されたプログラムをＣＰＵ１０１が実行する処理の手順を示している。
【００２１】
ディスクコントローラ２０１は、ストレージ１に記憶されたデータを読み出したり、ストレージ１にデータを記憶するための制御を行う。
【００２２】
ディスクコントローラ２０２は、ストレージ２に記憶されたデータを読み出したり、ストレージ２にデータを記憶するための制御を行う。
【００２３】
ディスクコントローラ２０３は、上述したストレージ１，２に関する情報などをホスト１１７から取得するためにホスト１１７と接続している。
【００２４】
データ転送ユニット１１９は、ディスクコントローラ２０１，２０２と接続し、ディスクコントローラ２０１，２０２間でのデータ転送を行う。
【００２５】
ホスト１１７から出力されたデータを、例えばストレージ１に記憶する処理では、ホスト１１７から出力されたデータがディスクコントローラ２０３を介してＲＡＭ１０３に記憶される。
【００２６】
そしてＲＡＭ１０３からデータをデータ転送ユニット１１９が読み出しながらディスクコントローラ２０１を介してストレージ１に記憶される。
【００２７】
上述した構成において、ストレージ１，２には原則として同一のデータが記憶されるように制御される。この場合、一方がマスタとなり、他方がスレーブとなるが、マスタとスレーブは故障や着脱などにより入れ替わる。いずれの場合も、マスタはストレージ１，２のいずれか一方であり、スレーブは他方である。
【００２８】
なお、図１のミラーリング装置１００の構成は、２つのストレージ１，２が接続可能な構成となっているが、さらに他のストレージを接続できる構成であってもよい。
【００２９】
さらに、２つのストレージ１，２、及びホスト１１７は、図１のミラーリング装置１００の外部に接続されているが、ミラーリング装置１００の内部に設けられていてもよい。
【００３０】
次に、以下の説明で用いられる書き込み可能量などについて説明する。書き込み可能量を取得するため、まず総書き込み量を取得する。この総書き込み量は、ＳＳＤとディスクコントローラでやりとりされるＡＴＡコマンドの一種であるＳＭＡＲＴコマンドやベンダー固有コマンドにより取得できる。本実施の形態では、ディスクコントローラ２０１，２０２を介して、マスタとスレーブの各々の総書き込み量が取得される。
【００３１】
次に、寿命情報を取得する。この寿命情報は、ＳＳＤの書き換え可能回数を示しており、一般的にはＳＳＤの容量なサイズと書き換え可能回数との積となる。従って、寿命情報＝ＳＳＤの容量×書き換え可能回数である。
【００３２】
この寿命情報は、本実施の形態ではホスト１１７から取得されるが、ＲＯＭ１０２に予め記憶しておいたものを取得するようにしてもよい。
【００３３】
こうして取得された総書き込み量、及び寿命情報から、書き込み可能量を以下の数式を計算することで取得する。
書き込み可能量＝寿命情報−総書き込み量
＝ＳＳＤの容量×書き換え可能回数−総書き込み量
【００３４】
このように、本実施の形態での書き込み可能量は、各々のストレージ１，２の総書き込み量から、各々のストレージ１，２でデータの書き換えが可能な残りの書き込み可能量となっている。
【００３５】
上記数式において、寿命情報は一定であり、総書き込み量はＳＳＤにデータを記憶するほど増加する量であるため、書き込み可能量は減少していくこととなる。
【００３６】
本実施の形態では、マスタとスレーブの各々の書き込み可能量を取得し、これらの書き込み可能量の差分が予め定められた値以上となるように制御する。この予め定められた値は、ホスト１１７がどの程度ＳＳＤにアクセスするかによって依存する値である。従って、予め定められた値はホスト１１７から取得される。
【００３７】
書き込み可能量の差分が予め定められた値以上に制御することで、ストレージ１，２の寿命の到来時期をずらすことができるので、同時故障を抑制できる。なお、予め定められた値をホスト１１７から取得するようにしているが、予め定められた値が少なくとも０でなければ、寿命の到来時期をほぼ確実にずらすことができるので、予め定めておくようにしてもよい。
【００３８】
また、以下の説明では、マスタの書き込み可能量をＡ、スレーブの書き込み可能量をＢ、マスタとスレーブの各々の書き込み可能量の差分をＤ（＝｜Ａ−Ｂ｜）、予め定められた値をＴと表現することがある。
【００３９】
図２は、図１におけるＣＰＵ１０１により実行されるミラーリング初期化処理の手順を示すフローチャートである。
【００４０】
図２において、マスタとスレーブの各々の書き込み可能量Ａ，Ｂを取得する（ステップＳ２０１）。このステップＳ２０１は、ストレージ１，２でデータの書き換えが可能な残りの書き込み可能量を取得する取得手段に対応する。
【００４１】
次いで、マスタとスレーブの各々の書き込み可能量の差分Ｄが予め定められた値Ｔ以上か否か判別する（ステップＳ２０２）。このステップＳ２０２は、取得された各々の書き込み可能量の差分が予め定められた値以上か否か判別する判別手段に対応する。
【００４２】
ステップＳ２０２の判別の結果、差分Ｄが予め定められた値Ｔ以上の場合には（ステップＳ２０２でＹＥＳ）、通常モードに設定して（ステップＳ２０３）、本処理を終了する。
【００４３】
通常モードとは、マスタとスレーブの両方に同一のデータを一度だけ記憶するモードである。
【００４４】
一方、ステップＳ２０２の判別の結果、差分Ｄが予め定められた値Ｔ未満の場合には（ステップＳ２０２でＮＯ）、マスタの書き込み可能量Ａがスレーブの書き込み可能量Ｂ未満か否か判別する（ステップＳ２０４）。
【００４５】
ステップＳ２０４の判別の結果、マスタの書き込み可能量Ａがスレーブの書き込み可能量Ｂ未満の場合には（ステップＳ２０４でＹＥＳ）、遅延モードに設定し（ステップＳ２０５）、本処理を終了する。
【００４６】
遅延モードとは、マスタにデータを記憶してから予め定められた時間が経過した後にスレーブへデータを記憶させるモードである。
【００４７】
一方、ステップＳ２０４の判別の結果、マスタの書き込み可能量Ａがスレーブの書き込み可能量Ｂ未満ではない場合には（ステップＳ２０４でＮＯ）、重複モードに設定し（ステップＳ２０６）、本処理を終了する。
【００４８】
重複モードとは、設定された回数だけ同一のデータをスレーブに記憶するモードである。従って、ステップＳ２０６では回数の設定も行われるが、回数はユーザにより設定可能としてもよい。
【００４９】
図３は、図１におけるＣＰＵ１０１により実行される記憶処理の手順を示すフローチャートである。
【００５０】
図３において、まず図２のミラーリング初期化処理で定められたモードで分岐する（ステップＳ３０１）。
【００５１】
ステップＳ３０１の判別の結果、通常モードの場合には（ステップＳ３０１で通常）、マスタにデータを記憶し（ステップＳ３０２）、スレーブにもデータを記憶して（ステップＳ３０３）、本処理を終了する。
【００５２】
なお、図３ではステップＳ３０１，３０２の順に処理をするようになっているが、同時に処理するようにしてもよい。この場合、ＲＡＭ１０３に記憶されているデータをデータ転送ユニット１１９がディスクコントローラ２０１を介してストレージ１に、ディスクコントローラ２０２を介してストレージ２に同時に記憶することとなる。後述するフローチャートにおいて、マスタにデータを記憶してスレーブにもデータを記憶する処理が順に記載されている場合には、同時に記憶するようにしてもよい。
【００５３】
ステップＳ３０１の判別の結果、遅延モードの場合には（ステップＳ３０１で遅延）、まずマスタにデータを記憶する（ステップＳ３０４）。次いで、スレーブへのデータの記憶を遅延する（ステップＳ３０５）。
【００５４】
こうして遅延している間に、ＳＳＤの同一領域に記憶するデータがホスト１１７から出力されることで、データが更新されることがある。
【００５５】
そのため、データが更新されたか否か判別する（ステップＳ３０６）。ステップＳ３０６の判別の結果、データが更新された場合には（ステップＳ３０６でＹＥＳ）、上記ステップＳ３０４に戻る。
【００５６】
一方、ステップＳ３０６の判別の結果、データが更新されていない場合には（ステップＳ３０６でＮＯ）、スレーブにデータを記憶する（ステップＳ３０７）。
【００５７】
そして、マスタとスレーブの各々の書き込み可能量の差分Ｄが予め定められた値Ｔ以上か否か判別する（ステップＳ３１１）。
【００５８】
ステップＳ３１１の判別の結果、差分Ｄが予め定められた値Ｔ以上の場合には（ステップＳ３１１でＹＥＳ）、通常モードに設定して（ステップＳ３１２）、本処理を終了する。
【００５９】
一方、ステップＳ３１１の判別の結果、差分Ｄが予め定められた値Ｔ未満の場合には（ステップＳ３１１でＮＯ）、本処理を終了する。
【００６０】
上記ステップＳ３０１の処理に戻り、ステップＳ３０１の判別の結果、重複モードの場合には（ステップＳ３０１で重複）、まずマスタにデータを記憶する（ステップＳ３０８）。次いで、スレーブへデータを記憶し（ステップＳ３０９）、図２のステップＳ２０６で設定された回数だけデータを記憶したか否か判別する（ステップＳ３１０）。
【００６１】
ステップＳ３１０の判別の結果、設定された回数だけデータを記憶していない場合には（ステップＳ３１０でＮＯ）、ステップＳ３０９に戻る。
【００６２】
一方、ステップＳ３１０の判別の結果、設定された回数だけデータを記憶した場合には（ステップＳ３１０でＹＥＳ）、上記ステップＳ３１１に進む。
【００６３】
上記記憶処理について補足する。まず、上述したように、書き込み可能量であるＡ，Ｂは増加させることができないことと、Ｄ＝｜Ａ−Ｂ｜であることに注意する。
【００６４】
これを踏まえ、まずステップＳ３０１で通常に分岐する場合は、Ｄ≧Ｔであることから、マスタとスレーブの各々の書き込み可能量の差分が予め定められた値以上となっているので、そのままマスタとスレーブに記憶するようになっている。
【００６５】
また、ステップＳ３０１で遅延に分岐する場合は、Ｄ＜ＴかつＡ＜Ｂとなっている。この状態からＤ≧Ｔとするためには、Ｂ−Ａ（＝Ｄ）を増加させればよい。そのために、スレーブへの記憶を遅延させてスレーブへの記憶回数を抑制することで、マスタへの記憶回数が相対的に増加し、その結果ＡがＢより早く減少するので、Ｂ−Ａが増加することとなる。
【００６６】
次に、ステップＳ３０１で重複に分岐する場合は、Ｄ＜ＴかつＡ≧Ｂとなっている。この状態からＤ≧Ｔとするためには、Ａ−Ｂ（＝Ｄ）を増加させればよい。そのために、スレーブへの記憶を設定された回数だけ行うことで、スレーブへの記憶回数が相対的に増加し、その結果ＢがＡより早く減少するので、Ａ−Ｂが増加することとなる。
【００６７】
このように、本実施の形態では差分が予め定められた値未満と判別された場合に、差分が予め定められた値以上となるようにストレージ１，２を制御する。より詳細には、書き込み可能量が小さい方の記憶装置である第１記憶装置へのデータの記憶回数を、書き込み可能量が小さくない方の記憶装置である第２記憶装置への記憶回数と比較して増加させるようにストレージ１，２を制御する。
【００６８】
特に、上述した図３のステップＳ３０４〜３０７では、第１記憶装置へデータを記憶してから（ステップＳ３０４）、予め定められた時間が経過した後に第２記憶装置へデータを記憶するように（ステップＳ３０７）、ストレージ１，２を制御している。
【００６９】
さらに、図３のステップＳ３０８〜３１０では、第２記憶装置へデータを記憶するたびに（ステップＳ３０８）、第１記憶装置へデータを予め設定された回数だけ繰り返し記憶するように（ステップＳ３０９，３１０）、ストレージ１，２を制御している。
【００７０】
上述した図２，３の処理では、通常モード、遅延モード、及び重複モードの３つのモードに設定しているが、通常モード、及び重複モードの２つのモードに設定する場合の処理について説明する。
【００７１】
図４は、図１におけるＣＰＵ１０１により実行されるミラーリング初期化処理の手順を示すフローチャートである。
【００７２】
図４において、マスタとスレーブの各々の書き込み可能量Ａ，Ｂを取得する（ステップＳ４０１）。
【００７３】
次いで、マスタとスレーブの各々の書き込み可能量の差分Ｄが予め定められた値Ｔ以上か否か判別する（ステップＳ４０２）。ステップＳ４０２の判別の結果、差分Ｄが予め定められた値Ｔ以上の場合には（ステップＳ４０２でＹＥＳ）、通常モードに設定して（ステップＳ４０３）、本処理を終了する。
【００７４】
一方、ステップＳ４０２の判別の結果、差分Ｄが予め定められた値Ｔ未満の場合には（ステップＳ４０２でＮＯ）、重複モードに設定して回数の設定も行い（ステップＳ４０４）、本処理を終了する。
【００７５】
図５は、図１におけるＣＰＵ１０１により実行される記憶処理の手順を示すフローチャートである。
【００７６】
図５において、マスタにデータを記憶し（ステップＳ５０１）、スレーブにもデータを記憶する（ステップＳ５０２）。
【００７７】
次いで、図４のミラーリング初期化処理で定められたモードが重複モードか否か判別する（ステップＳ５０３）。
【００７８】
ステップＳ５０３の判別の結果、モードが重複モードでない場合には（ステップＳ５０３でＮＯ）、本処理を終了する。
【００７９】
一方、ステップＳ５０３の判別の結果、モードが重複モードの場合には（ステップＳ５０３でＹＥＳ）、マスタの書き込み可能量Ａがスレーブの書き込み可能量Ｂ未満か否か判別する（ステップＳ５０４）。
【００８０】
ステップＳ５０４の判別の結果、マスタの書き込み可能量Ａがスレーブの書き込み可能量Ｂ未満ではない場合には（ステップＳ５０４でＮＯ）、スレーブへデータを記憶して（ステップＳ５０５）、ステップＳ５０７に進む。
【００８１】
一方、ステップＳ５０４の判別の結果、マスタの書き込み可能量Ａがスレーブの書き込み可能量Ｂ未満の場合には（ステップＳ５０４でＹＥＳ）、マスタへデータを記憶する（ステップＳ５０６）。
【００８２】
次いで、図４のステップＳ４０４で設定された回数だけデータを記憶したか否か判別する（ステップＳ５０７）。
【００８３】
ステップＳ５０７の判別の結果、設定された回数だけデータを記憶していない場合には（ステップＳ５０７でＮＯ）、ステップＳ５０４に戻る。
【００８４】
一方、ステップＳ５０７の判別の結果、設定された回数だけデータを記憶した場合には（ステップＳ５０７でＹＥＳ）、通常モードに設定して（ステップＳ２０３）、本処理を終了する。
【００８５】
上記ステップＳ５０４〜５０６について、Ａ＜Ｂの場合には、マスタへの記憶回数を増加させてスレーブへの記憶回数を抑制することで、マスタへの記憶回数が相対的に増加し、その結果ＡがＢより早く減少するので、Ｂ−Ａが増加することとなる。
【００８６】
逆に、Ａ≧Ｂの場合には、スレーブへの記憶回数の増加させてマスタへの記憶回数を抑制することで、スレーブへの記憶回数が相対的に増加し、その結果ＢがＡより早く減少するので、Ａ−Ｂが増加することとなる。
【００８７】
次に、ダミーデータを用いてＤ≧Ｔとなるように制御する処理について説明する。
【００８８】
図６（Ａ）は、図１におけるＣＰＵ１０１により実行されるダミーデータによる制御理の手順を示すフローチャートであり、図６（Ｂ）はリビルド制御処理の手順を示すフローチャートである。
【００８９】
図６（Ａ）において、マスタとスレーブの各々の書き込み可能量Ａ，Ｂを取得する（ステップＳ６０２）。
【００９０】
次いで、マスタとスレーブの各々の書き込み可能量の差分Ｄが予め定められた値Ｔ以上か否か判別する（ステップＳ６０３）。ステップＳ６０３の判別の結果、差分Ｄが予め定められた値Ｔ以上の場合には（ステップＳ６０３でＹＥＳ）、本処理を終了する。
【００９１】
一方、ステップＳ６０３の判別の結果、差分Ｄが予め定められた値Ｔ未満の場合には（ステップＳ６０３でＮＯ）、ダミーデータのサイズ（Ｔ−Ｄ）を取得する（ステップＳ６０４）。
【００９２】
次いで、Ｄ≧Ｔとなるようにダミーデータを記憶するダミーデータ記憶処理を行い（ステップＳ６０５）、本処理を終了する。
【００９３】
次の図６（Ｂ）のリビルド制御処理は、リビルドする際にもＤ≧Ｔとなるように制御する処理であり、ここの説明では便宜的にマスターがストレージ１で、スレーブがストレージ２とする。
【００９４】
本実施の形態でのリビルド処理とは、データ転送ユニット１１９がディスクコントローラ２０１を介してストレージ１からデータを読み込み、読み込んだデータをディスクコントローラ２０２を介してストレージ２に記憶する処理を、ストレージ１の全領域に対して行う処理である。すなわち、リビルド処理はストレージ１全体をストレージ２へコピーする処理であり、リビルド処理が終了すると、ストレージ１，２は同じデータが記憶されていることとなる。
【００９５】
図６（Ｂ）において、上記リビルド処理を行い（ステップＳ６００）、図６（Ａ）のダミーデータによる制御処理を行い（ステップＳ６０１）、本処理を終了する。
【００９６】
図７は、図６（Ａ）のステップＳ６０５のダミーデータ記憶処理の手順を示すフローチャートである。
【００９７】
図７において、ストレージ１，２への通常の記憶処理が行われていない状態、すなわちアイドリング状態となると（ステップＳ８０１でＹＥＳ）、マスタとスレーブの各々の書き込み可能量の差分Ｄが予め定められた値Ｔ以上か否か判別する（ステップＳ８０２）。
【００９８】
ステップＳ８０２の判別の結果、差分Ｄが予め定められた値Ｔ以上の場合には（ステップＳ８０２でＹＥＳ）、本処理を終了する。
【００９９】
一方、ステップＳ８０２の判別の結果、差分Ｄが予め定められた値Ｔ未満の場合には（ステップＳ８０２でＮＯ）、マスタの書き込み可能量Ａがスレーブの書き込み可能量Ｂ未満か否か判別する（ステップＳ８０３）。
【０１００】
ステップＳ８０３の判別の結果、マスタの書き込み可能量Ａがスレーブの書き込み可能量Ｂ未満の場合には（ステップＳ８０３でＹＥＳ）、図６のステップＳ６０４で取得したダミーサイズのサイズ分だけマスタからデータを読み込む（ステップＳ８０４）。そして、読み込んだダミーデータをスレーブに記憶して（ステップＳ８０５）、本処理を終了する。
【０１０１】
一方、ステップＳ８０３の判別の結果、マスタの書き込み可能量Ａがスレーブの書き込み可能量Ｂ未満ではない場合には（ステップＳ８０３でＮＯ）、図６のステップＳ６０４で取得したダミーサイズのサイズ分だけスレーブからデータを読み込む（ステップＳ８０６）。そして、読み込んだダミーデータをマスタに記憶して（ステップＳ８０７）、本処理を終了する。このように、本実施の形態では、第１記憶装置へダミーデータを記憶するように（ステップＳ８０５，８０７）、ストレージ１，２を制御している。また、図６（Ｂ）に示されるように、本実施の形態では、ダミーデータは、第１記憶装置及び第２記憶装置のビルド処理が終了した後に記憶されるようになっている。
【０１０２】
上記ステップＳ８０４〜８０７について、Ａ＜Ｂの場合には、マスタへの記憶回数を増加させることで、Ａが減少するので、Ｂ−Ａが増加することとなる。
【０１０３】
逆に、Ａ≧Ｂの場合には、スレーブへの記憶回数の増加させることで、Ｂが減少するので、Ａ−Ｂが増加することとなる。
【０１０４】
なお、上記ステップＳ８０４〜８０７の処理は、図６（Ｂ）のステップＳ６００のリビルド処理と同様に、データ転送ユニット１１９が用いられる。
【０１０５】
さらに、本実施の形態において、データ転送ユニット１１９が用いられる処理では、データ転送ユニット１１９を用いずに、ＣＰＵ１０１により転送を行ってもよい。
【０１０６】
このように、ミラーリング装置においてＳＳＤを使用した場合に、適切に記憶方法を切り替えることで、寿命の短縮を抑えつつ耐故障性を向上させることができるため、ユーザの利便性に寄与する。
【０１０７】
また、２台のディスクに対して同一のデータを書くため、ミラーリングを中止して運用することができるため、ユーザの利便性に寄与する。
【０１０８】
以上説明したように、本実施の形態によれば、データの書き換えが可能な残りの書き込み可能量の差分が予め定められた値未満の場合に（ステップＳ２０２でＮＯ）、差分が記予め定められた値以上となるように記憶装置を制御することで（ステップＳ３０４〜３０７、ステップＳ３０８〜３１０）、２つの記憶装置の寿命の到来時期をずらすことができるため、データの書き換え回数に上限が設けられた２つの記憶装置の耐故障性を向上させることができる。
【０１０９】
（他の実施の形態）
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【０１１０】
１，２  ストレージ
１００  ミラーリング装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１１７  ホスト
２０１，２０２，２０３  ディスクコントローラ
【図１】
2015129998.tif 000003
【図２】
2015129998.tif 000004
【図３】
2015129998.tif 000005
【図４】
2015129998.tif 000006
【図５】
2015129998.tif 000007
【図６】
2015129998.tif 000008
【図７】
2015129998.tif 000009