(57)【特許請求の範囲】
【請求項１】
構成変更前に稼働していた３台以上の記憶手段から選択され、故障発生が推定される時期が最も早い第1の時期であって、外部の記憶装置への書き込みデータを一時記憶する第１の記憶手段、
及び前記３台以上の記憶手段から選択され、故障発生が推定される時期が最も遅い第２の時期であって、前記書き込みデータを冗長化して一時記憶する第２の記憶手段
を含む書き込みキャッシュと、
前記３台以上の記憶手段から選択され、前記記憶装置からの読み出しデータを一時記憶する第３の記憶手段
を含む読み出しキャッシュと
を備えることを特徴とするキャッシュ装置。
【請求項２】
前記第１の時期は、前記第１の記憶手段の残り書き込み可能回数を用いて推定され、
前記第２の時期は、前記第２の記憶手段の残り書き込み可能回数を用いて推定される
ことを特徴とする請求項１に記載のキャッシュ装置。
【請求項３】
前記書き込みキャッシュは、前記第１の記憶手段の第１の残り書き込み可能回数、及び前記第２の記憶手段の第２の残り書き込み可能回数を保持し、
前記書き込みキャッシュは、前記第１の残り書き込み可能回数及び前記第２の残り書き込み可能回数に基づいて、故障発生が推定される時期の間隔が最大である２つの記憶手段を含むように変更される
ことを特徴とする請求項２に記載のキャッシュ装置。
【請求項４】
前記書き込みキャッシュは、前記３台以上の記憶手段の内、残り書き込み可能回数が最も少ない前記記憶手段を前記第１の記憶手段として選択し、残り書き込み可能回数が最も多い前記記憶手段を前記第２の記憶手段として選択する
ことを特徴とする請求項２又は３のいずれかに記載のキャッシュ装置。
【請求項５】
前記第１の時期は、前記第１の記憶手段のエラー発生率を用いて推定され、
前記第２の時期は、前記第２の記憶手段のエラー発生率を用いて推定される
ことを特徴とする請求項１に記載のキャッシュ装置。
【請求項６】
前記書き込みキャッシュは、前記第１の記憶手段の第１のエラー発生率、及び前記第２の記憶手段の第２のエラー発生率を保持し、
前記書き込みキャッシュは、前記第１のエラー発生率及び前記第２のエラー発生率に基づいて、故障発生が推定される時期の間隔が最大である２つの記憶手段を含むように変更される
ことを特徴とする請求項５に記載のキャッシュ装置。
【請求項７】
前記書き込みキャッシュは、前記３台以上の記憶手段の内、エラー発生率が最も高い前記記憶手段を前記第１の記憶手段として選択し、エラー発生率が最も低い前記記憶手段を前記第２の記憶手段として選択する
ことを特徴とする請求項５又は６のいずれかに記載のキャッシュ装置。
【請求項８】
記憶装置と、
構成変更前に稼働していた３台以上の記憶手段から選択され、故障発生が推定される時期が最も早い第1の時期であって、外部の記憶装置への書き込みデータを一時記憶する第１の記憶手段、及び前記３台以上の記憶手段から選択され、故障発生が推定される時期が最も遅い第２の時期であって、前記書き込みデータを冗長化して一時記憶する第２の記憶手段を含む書き込みキャッシュ、並びに前記３台以上の記憶手段から選択され、前記記憶装置からの読み出しデータを一時記憶する第３の記憶手段を含む読み出しキャッシュを有するキャッシュ装置と、
を備えることを特徴とするストレージ装置。
【請求項９】
構成変更前に稼働していた３台以上の記憶手段から選択され、故障発生が推定される時期が最も早い第1の時期であって、外部の記憶装置への書き込みデータを一時記憶する第１の記憶手段、及び前記３台以上の記憶手段から選択され、故障発生が推定される時期が最も遅い第２の時期であって、前記書き込みデータを冗長化して一時記憶する第２の記憶手段を用いて、書き込みキャッシュを制御し、
前記３台以上の記憶手段から選択され、前記記憶装置からの読み出しデータを一時記憶する第３の記憶手段を用いて読み出しキャッシュを制御する
ことを特徴とするキャッシュ制御方法。
【請求項１０】
構成変更前に稼働していた３台以上の記憶手段から選択され、故障発生が推定される時期が最も早い第1の時期である第１の記憶手段、前記３台以上の記憶手段から選択され、故障発生が推定される時期が最も遅い第２の時期である第２の記憶手段、及び前記３台以上の記憶手段から選択された第３の記憶手段を含むキャッシュ装置が備えるコンピュータを、
外部の記憶装置への書き込みデータを、前記第１の記憶手段及び前記第２の記憶手段を用いて冗長化して一時記憶する書き込みキャッシュ手段と、
前記記憶装置からの読み出しデータを、第３の記憶手段を用いて一時記憶する読み出しキャッシュ手段
として機能させるためのキャッシュ制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ損失の可能性を低減することが可能な、キャッシュ装置、ストレージ装置、キャッシュ制御方法、及びストレージ制御プログラムに関する。
【背景技術】
【０００２】
ストレージに格納するデータの冗長性を高めることにより耐障害性を向上する方式として、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）等が知られている。ＲＡＩＤでは、複数のディスクに同じデータを書き込むことによって、その中のいくつかのディスクが故障してもデータを復旧することができる。
【０００３】
ストレージシステムの応答性能を向上させるために、ディスクより高速に動作する、フラッシュメモリ等のＳＳＤ（Solid State Drive）を利用した読み出しキャッシュ、書き込みキャッシュを介して、ディスクに対するデータの読み書きを行うことがある。
【０００４】
読み出しキャッシュに最新のデータが存在する場合には、読み出しキャッシュは、データの読み出し要求を受けると、ディスクからデータを読み出すことなく、読み出しキャッシュ上のデータを返す。読み出しキャッシュに最新のデータが存在しない場合には、読み出しキャッシュは、データの読み出し要求を受けると、ディスクから読み出しキャッシュにデータを読み出した後に、読み出したデータを返す。
【０００５】
書き込みキャッシュは、データの書き込み要求を受けると、ディスクにデータを書き込むことなく、書き込みキャッシュ上のデータを更新し、要求を受け付けた旨を返す。書き込みキャッシュは、後からまとめて、ディスクにデータを書き込む。
【０００６】
ところで、ストレージシステムのキャッシュによく用いられるフラッシュメモリは、データ書き込み回数に上限がある記憶媒体である。そのため、フラッシュメモリをキャッシュとして用いたストレージシステムでは、フラッシュメモリの可用性に注意を払う必要がある。
【０００７】
フラッシュメモリを用いたキャッシュを複数個搭載したストレージシステムの可用性を向上する技術の一例が、特許文献１に開示されている。
【０００８】
特許文献１のストレージシステムは、初めに、ミラーリングを行っているメディアペアを選択する。次に、ストレージシステムは、各メディアの残り書込み可能回数の情報を取得する。次に、ストレージシステムは、最も短い残り書き込み可能回数のメディアと、２番目に短い残り書き込み可能回数のメディアとを、交換候補メディアとして選択し、２つのメディアの残り書き込み可能回数の差分（残り書き込み可能回数差）を計算する。そして、ストレージシステムは、残り書き込み可能回数差が所定の閾値未満であるならば、残り書き込み可能回数差が所定の閾値以上である、交換候補メディアの一方と予備メディアとの組を選択する。最後に、ストレージシステムは、予備メディアと、組として選択されなかった交換候補メディアとを交換して、ミラーリングを行う新たなメディアペアとする。
【０００９】
以上の動作の結果、特許文献１のストレージシステムでは、あるメディアの残り書き込み可能回数が０になった（一重故障が発生した）後、更にミラーリングを行っているメディアペアの他方のメディアの残り書き込み可能回数が０になる（二重故障が発生する）までに、少なくとも所定の閾値の時間、書き込み可能である。すなわち、一重故障が発生した後、更に二重故障が発生するまでの時間が、所定の閾値以上に維持される。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００８−４０７１３号公報（第１７−１８ページ、図１１）
【発明の概要】
【発明が解決しようとする課題】
【００１１】
特許文献１のストレージシステムでは、メディアはデータの読み出しと書き込みとで共用される。
【００１２】
ところが、応答性能を更に改善するために、又は耐故障性を改善するために、データ読み出し用のキャッシュとデータ書き込み用のキャッシュとが、独立に設けられることがある。書き込み用と読み出し用とでキャッシュが独立である場合、それぞれの用途のキャッシュに対して要求される信頼性の程度が異なる。
【００１３】
例えば、書き込み用キャッシュの故障によってキャッシュされた書き込みデータが失われると、ストレージに書き込まれていないデータの損失が発生する。通常は、複数のキャッシュがＲＡＩＤなどにより冗長化されることで、データ損失のリスクは低減される。しかしながら、キャッシュが冗長化されても、キャッシュの多重故障が発生すると、データ損失が発生する。
【００１４】
一方、読み出し用キャッシュの故障によってキャッシュされた読み出しデータが失われても、同じデータがストレージに存在するので、データ損失が発生しない。
【００１５】
つまり、データ損失を避けるために要求されるキャッシュの信頼性は、書き込み用と読み出し用とでは異なる。
【００１６】
特許文献１の技術では、メディアが読み出し用であるか書き込み用であるかの違いは区別されない。つまり、特許文献１の技術では、読み出し用であるか、書き込み用であるかによって要求される信頼性が異なるというメディアの事情が考慮されない。読み出し用であるか書き込み用であるかを区別しなくても、データの読み書きで共用されるメディアペアの信頼性を、全体として向上させることはできる。
【００１７】
しかし、読み出し用、書き込み用を区別して、個々に改善を図れば、さらに全体としての信頼性を向上させることができると考えられる。つまり、特許文献１の技術には、書き出し及び読み込みのそれぞれが独立にキャッシュされたストレージ装置における、データ損失の可能性をさらに低下させることができる余地があるという課題がある。
（発明の目的）
本発明の目的は、書き出しデータ及び読み込みデータのそれぞれが独立にキャッシュされるストレージ装置において、データ損失の可能性を最小化することが可能な、キャッシュ装置、ストレージ装置、キャッシュ制御方法、及びストレージ制御プログラムを提供することにある。
【課題を解決するための手段】
【００１８】
本発明のキャッシュ装置は、故障発生が予測される時期が第1の時期であって、外部の記憶装置への書き込みデータを一時記憶する第１の記憶手段、及び故障発生が予測される時期が第1の時期よりも所定の故障対応時間以上遅い第２の時期であって、書き込みデータを一時記憶する第２の記憶手段を含む書き込みキャッシュと、記憶装置からの読み出しデータを一時記憶する第３の記憶手段を含む読み出しキャッシュとを備えることを特徴とする。
【００１９】
本発明のストレージ装置は、記憶装置と、故障発生が予測される時期が第1の時期であって、外部の装置への書き込みデータを一時記憶する第１の記憶手段、及び故障発生が予測される時期が第1の時期よりも所定の故障対応時間以上遅い第２の時期であって、書き込みデータを一時記憶する第２の記憶手段を含む書き込みキャッシュ、並びに記憶装置からの読み出しデータを一時記憶する第３の記憶手段を含む読み出しキャッシュを有するキャッシュ装置とを備えることを特徴とする。
【００２０】
本発明のキャッシュ制御方法は、故障発生が予測される時期が第1の時期であって、外部の記憶装置への書き込みデータを一時記憶する第１の記憶手段、及び故障発生が予測される時期が第1の時期よりも所定の故障対応時間以上遅い第２の時期であって、書き込みデータを一時記憶する第２の記憶手段を用いて書き込みキャッシュを制御し、記憶装置からの読み出しデータを一時記憶する第３の記憶手段を用いて読み出しキャッシュを制御することを特徴とする。
【００２１】
本発明のストレージ制御プログラムは、故障発生が予測される時期が第1の時期である第１の記憶手段、故障発生が予測される時期が第1の時期よりも所定の故障対応時間以上遅い第２の時期である第２の記憶手段、及び第３の記憶手段を含むキャッシュ装置が備えるコンピュータを、外部の記憶装置への書き込みデータを、第１の記憶手段及び第２の記憶手段を用いて一時記憶する書き込みキャッシュ手段と、記憶装置からの読み出しデータを、第３の記憶手段を用いて一時記憶する読み出しキャッシュ手段として機能させることを特徴とする。
【発明の効果】
【００２２】
本発明によれば、書き出しデータ及び読み込みデータのそれぞれが独立にキャッシュされるストレージ装置において、データ損失の可能性を最小化することが可能であるという効果がある。
【図面の簡単な説明】
【００２３】
【図１】本発明の第１の実施形態における読み書きキャッシュの構成の一例を示すブロック図である。
【図２】本発明の第１の実施形態における読み書きキャッシュの動作を説明するための図である。
【図３】本発明の第２の実施形態におけるストレージ装置の構成の一例を示すブロック図である。
【発明を実施するための形態】
【００２４】
以下、本発明の実施形態について図面を参照して詳細に説明する。尚、すべての図面において、同等の構成要素には同じ符号を付し、適宜説明を省略する。
（第１の実施形態）
本実施形態における構成について説明する。
【００２５】
図１は、本実施形態における読み書きキャッシュ１２０の構成の一例を示すブロック図である。
【００２６】
外部のストレージ装置１００は、ＨＤＤ等のデータを保存する外部の低速記憶手段１５０と、低速記憶手段１５０に比べてＩＯ（Input/Output）性能に優れた、ＳＳＤ等の高速記憶手段を含む読み書きキャッシュ１２０とを含む。
【００２７】
読み書きキャッシュ１２０は、書き込みキャッシュ１４０と、読み出しキャッシュ１４１とを含む。
【００２８】
書き込みキャッシュ１４０は、高速記憶手段１３０、１３１がＲＡＩＤ１、ＲＡＩＤ６方式等で冗長化された、低速記憶手段１５０に対するデータ書き込み用のキャッシュである。なお、書き込みキャッシュ１４０は、仮想的なグループであり、含まれる高速記憶手段は変更可能である。
【００２９】
読み出しキャッシュ１４１は、高速記憶手段１３２を含む、低速記憶手段１５０に対するデータ読み出し用のキャッシュである。なお、読み出しキャッシュ１４１は、仮想的なグループであり、含まれる高速記憶手段は変更可能である。なお、読み出しキャッシュ１４１は、別の高速記憶手段を更に含んでもよい。読み出しキャッシュ１４１に含まれる複数の高速記憶手段は、ＲＡＩＤ１、ＲＡＩＤ６方式等で冗長化されてもよい。
【００３０】
高速記憶手段は、初期には所定の最大書き込み可能回数を有し、高速記憶手段に書き込まれたデータ量に応じて残存する書き込み可能回数（以下、「残り書き込み可能回数」という。）が減少する装置である。高速記憶手段は、例えば、ＳＳＤ等の、所定の書き込み回数の上限を有する装置である。
【００３１】
高速記憶手段１３０、１３１、１３２毎の残り書き込み可能回数は、常時、保持される。例えば、高速記憶手段１３０、１３１、１３２のそれぞれは、まず、残り書き込み可能回数に初期の書き込み可能回数を設定し、その後、高速記憶手段に実際に書き込まれた際に、残り書き込み可能回数から書き込まれた回数を減算する。
【００３２】
高速記憶手段毎の残り書き込み可能回数に従って、書き込みキャッシュ１４０と読み出しキャッシュ１４１のそれぞれに含まれる高速記憶手段が決められる。
【００３３】
高速記憶手段１３０、１３１、１３２の内、残り書込み可能回数が最大と最小の高速記憶手段によって書き込みキャッシュ１４０が構成され、残り書込み可能回数が最大と最小の中間の高速記憶手段によって読み出しキャッシュ１４１が構成される。
【００３４】
次に、本実施形態における動作について説明する。
【００３５】
図２は、本実施形態における書き込みキャッシュ１２０動作を説明するための図である。図２（ａ）に本実施形態における高速記憶手段Ａの残り書き込み可能回数の時間変化の具体例を示す。図２（ｂ）に本実施形態における高速記憶手段Ｂの残り書き込み可能回数の時間変化の具体例を示す。図２（ｃ）に本実施形態における高速記憶手段Ａ、Ｂからなるキャッシュの故障状況の時間変化の具体例を示す。
【００３６】
高速記憶手段Ａは、時刻Ｔ１〜Ｔ３（Ｔ１、Ｔ２、Ｔ３は正の実数）で残り書き込み可能回数が減少し、時刻Ｔ３で残り書き込み可能回数が０になる（図２（ａ））。
【００３７】
高速記憶手段Ｂは、時刻Ｔ１〜Ｔ２で残り書き込み可能回数が減少し、時刻Ｔ２で残り書き込み可能回数が０になる（図２（ｂ））。
【００３８】
高速記憶手段Ａ、Ｂは、二重化された書込みキャッシュを構成するので、それぞれには同量のデータが書き込まれると考えてよい。従って、高速記憶手段Ａ、Ｂの残り書き込み可能回数は同じ速さで減少する。
【００３９】
高速記憶手段Ａ、Ｂにより二重化されたキャッシュは、時刻Ｔ１〜Ｔ２では故障が発生せず、時刻Ｔ２〜Ｔ３で高速記憶手段Ｂに故障が発生して一重故障の状態になり、時刻Ｔ３〜で更に高速記憶手段Ａにも故障が発生して二重故障の状態になる（図２（ｃ））。
【００４０】
読み出しキャッシュ１４１では、高速記憶手段１３２の故障によってキャッシュされた読み出しデータが失われても、同じデータが低速記憶手段１５０に存在するので、データ損失は発生しない。一方、書き込みキャッシュ１４０では、高速記憶手段１３０、１３１の二重故障によってキャッシュされた書き込みデータが失われると、データ損失が発生する。
【００４１】
ユーザは、時刻Ｔ２に高速記憶手段Ｂの故障発生を知り、二重故障が発生するまでの時刻Ｔ２〜Ｔ３に、データ損失を発生させることなく、故障した高速記憶手段Ｂを交換する等、故障発生への対応を行うことができる。
【００４２】
故障した高速記憶手段Ｂを交換することができる時間Ｔ２〜Ｔ３（以下、「故障修理可能時間」という。）は、高速記憶手段Ａ、Ｂの残り書き込み可能回数の差が大きいほど長い。つまり、２つの高速記憶手段Ａ、Ｂの故障発生の間隔を広げることに意味がある。従って、残り書き込み可能回数が最大と最小の高速記憶手段によって書き込みキャッシュ１４０が構成され、残り書き込み可能回数が最大と最小の中間の高速記憶手段によって読み出しキャッシュ１４１が構成されることにより、故障修理可能時間が最大化される。実際に故障が発生したときには、故障修理可能時間よりも短い時間で、故障の修理に当たらなければならないことはいうまでもない。
【００４３】
以上説明したように、本実施形態の読み書きキャッシュ１２０は、残り書き込み可能回数の差が最大の２つの高速記憶手段によって書き込みキャッシュ１４０が構成される。そのため、故障修理可能時間が最大化される。従って、本実施形態の読み書きキャッシュ１２０では、書き出しデータ及び読み込みデータのそれぞれが独立にキャッシュされるストレージ装置において、データ損失の可能性を最小化することができる。
【００４４】
なお、本実施形態では、書き込みキャッシュ１４０が２つの高速記憶手段１３０、１３１を含み、読み出しキャッシュ１４１が１つの高速記憶手段１３２を含む場合について説明した。しかしながら、本実施形態の書き込みキャッシュ１４０を構成する高速記憶手段の個数は、必ずしも２つに限定されない。すなわち、本実施形態の高速記憶手段の個数は、Ｎ（Ｎは３以上の自然数）であってもよい。この場合、残り書き込み可能回数が最大と最小の２つの高速記憶手段は、書き込みキャッシュ１４０に含まれることが望ましい。書き込みキャッシュ１４０に含まれる残り書き込み可能回数が最大と最小のものの２つを除いた高速記憶手段は、読み出しキャッシュ１４１、書き込みキャッシュ１４０のいずれかに含まれればよい。
【００４５】
上記のように、高速記憶手段の個数が、Ｎ（Ｎは３以上の自然数）である場合、残り書き込み可能回数が最大と最小の２つの高速記憶手段は、書き込みキャッシュ１４０に含まれることが望ましい。しかし、これらの両方とも書き込みキャッシュ１４０に含まれなくても、故障発生が発生したときの修理等、所定の対応を行うために必要な故障対応時間が要求条件として設定されていれば、一定の効果を得ることは可能である。なぜなら、故障対応時間が与えられる場合には、書き込みキャッシュ１４０は、残り書き込み可能回数の差により、最短の故障間隔時間が故障対応時間以上となるように、２つの高速記憶手段を含むようにすることができる可能性があるからである。この場合には、故障対応時間は最大化されないが、故障対応時間は故障間隔時間より短いので、故障発生に問題なく対応することができる。
【００４６】
また、本実施形態では、高速記憶手段毎の残り書き込み可能回数が保持される場合について説明した。しかしながら、本実施形態で高速記憶手段毎に保持される量は、必ずしも、高速記憶手段毎の残り書き込み可能回数に限定されない。すなわち、本実施形態で高速記憶手段毎に保持される量は、故障が発生する時期の推定に利用可能な任意の量（以降、「故障発生時期指数」という。）であってよい。残り書き込み可能回数は、書きこみを繰り返すことによって値が減少し、０になったときに故障が発生するとみなすことができるので、故障発生時期指数の一例である。
【００４７】
また、本実施形態では、読み書きキャッシュの、書き込みキャッシュ、読み出しキャッシュのそれぞれに含まれる高速記憶手段の組み合わせが１回だけ決定される場合について説明した。しかしながら、本実施形態の読み書きキャッシュに含まれる高速記憶手段は、書き込みキャッシュ１４０又は読み出しキャッシュ１４１により、繰り返し決定され、必要に応じて他の高速記憶手段に変更されてもよい。または、本実施形態の読み書きキャッシュに含まれる高速記憶手段は、読み書きキャッシュ１２０により、繰り返し決定され、必要に応じて他の高速記憶手段に変更されてもよい。あるいは、本実施形態の読み書きキャッシュに含まれる高速記憶手段は、外部のストレージ装置に含まれる制御手段（図示されない）により、繰り返し決定され、必要に応じて他の高速記憶手段に変更されてもよい。
【００４８】
また、本実施形態では、高速記憶手段が残り書込み回数を保持する場合について説明した。しかしながら、本実施形態の高速記憶手段毎の残り書込み回数は、各高速記憶手段を含む、書き込みキャッシュ１４０又は読み出しキャッシュ１４１により、保持されてもよい。または、本実施形態の高速記憶手段毎の残り書込み回数は、読み書きキャッシュ１２０により、保持されてもよい。あるいは、本実施形態の高速記憶手段毎の残り書込み回数は、外部のストレージ装置に含まれる集計手段（図示されない）により、保持されてもよい。
（第２の実施形態）
本発明の読み書きキャッシュ１２０の例として、第１の実施形態における高速記憶手段毎に保持される残り書き込み可能回数の代わりに、高速記憶手段であるＳＳＤの書き込みエラー発生率が集計されるストレージ装置の例を第２の実施形態として示す。なお、書き込みエラー発生率も、前述の故障発生時期指数の一例である。
【００４９】
本実施形態における構成について説明する。
【００５０】
図３は、本実施形態のストレージ装置１０５の構成の一例を示すブロック図である。
【００５１】
ストレージ装置１０５は、データを保存するＨＤＤ群１５５と、ＨＤＤに比べてＩＯ性能に優れたＳＳＤを含むＳＳＤキャッシュ１２５と、エラー発生率集計手段１９５と、制御手段１１５とを含む。
【００５２】
ＳＳＤキャッシュ１２５は、書き込みキャッシュ１４５と、読み出しキャッシュ１４６とを含む。
【００５３】
書き込みキャッシュ１４５は、ＳＳＤ１３５、１３６がＲＡＩＤ１で冗長化された、ＨＤＤ群１５５に対するデータ書き込みキャッシュ用のＳＳＤ群である。なお、書き込みキャッシュ１４５は、仮想的なＳＳＤ群であり、含まれるＳＳＤは変更可能である。
【００５４】
読み出しキャッシュ１４６は、ＳＳＤ１３７、１３８がＲＡＩＤ１で冗長化された、ＨＤＤ群１５５に対するデータ読み出しキャッシュ用のＳＳＤ群である。なお、読み出しキャッシュ１４６は、仮想的なＳＳＤ群であり、含まれるＳＳＤは変更可能である。
【００５５】
ＳＳＤは、初期には所定の書き込み可能回数を有し、ＳＳＤに書き込まれた回数に応じて残存する書き込み可能回数が減少する装置である。ただし、ＳＳＤでは、データが書き込まれるメモリ中の位置が分散されるような制御が行われる。そのため、残り書き込み可能回数が減少すると、ＳＳＤ内部での書き込みエラーの発生率が増加する。
【００５６】
エラー発生率集計手段１９５は、ＳＳＤ１３５、１３６、１３７、１３８毎のエラー発生率を保持する。エラー発生率集計手段１９５は、ＳＳＤ毎に、エラー発生率を保持する。「エラー発生率」とは、最近の所定の回数のデータ書き込みの全試行回数に対する、書き込みエラーの発生回数の比である。なお、書き込みエラーの発生は、ＳＳＤ内部で収集される統計データ等により検知することができる。
【００５７】
制御手段１１５は、ＳＳＤ毎のエラー発生率の順位に従って、書き込みキャッシュ１４５と読み出しキャッシュ１４６のそれぞれを構成するＳＳＤを入れ替える。
【００５８】
その他の構成要素については、第１の実施形態と同じである。
【００５９】
ストレージ装置１０５は、内部にＣＰＵ（Central Processing Unit）と記憶手段とを備えてもよい。そして、ＣＰＵが記憶手段に格納されたプログラムを実行することによって、制御手段を実現してもよい。
【００６０】
次に、本実施形態における動作について説明する。
【００６１】
エラー発生率集計手段１９５は、常時、ＳＳＤ１３５、１３６、１３７、１３８のエラーが発生した際に、ＳＳＤ毎のエラー発生率を集計する。制御手段１１５の処理は、所定のタイミングで起動される。
【００６２】
まず、制御手段１１５は、エラー発生率集計手段１９５のＳＳＤ毎のエラー発生率を確認し、最もエラー発生率の大きいＳＳＤの順位を１とし、ＳＳＤ１３５、１３６、１３７、１３８の順位付けを行う。
【００６３】
次に、制御手段１１５は、順位が１位と４位のＳＳＤによって書き込みキャッシュ１４５を構成し、順位が２位と３位のＳＳＤによって読み出しキャッシュ１４６を構成する。書き込みキャッシュ１４５、読み出しキャッシュ１４６をこのような組み合わせのＳＳＤを用いて構成する理由を以下に説明する。
【００６４】
４つのＳＳＤがある場合の、各ＳＳＤのエラー発生率をｐ１、ｐ２、ｐ３、ｐ４（ｐ１、ｐ２、ｐ３、ｐ４は実数。）とする。エラー発生率は、ある期間内のエラー発生回数で定義されるものとする。４つのエラー発生率は、ｐ１＜ｐ２＜ｐ３＜ｐ４の関係にあるものとする。
【００６５】
各ＳＳＤにおいて、最初の故障が発生するまでの期間Ｔ１、Ｔ２、Ｔ３、Ｔ４（Ｔ１、Ｔ２、Ｔ３、Ｔ４は実数。）は、平均的には、Ｔ１＞Ｔ２＞Ｔ３＞Ｔ４となる。
【００６６】
そこで、エラー発生率がｐ１、ｐ４であるＳＳＤを選択すれば、最初にエラー発生率がｐ４であるＳＳＤが故障し、最後にエラー発生率がｐ１であるＳＳＤが故障する可能性が高い。従って、平均的には、エラー発生率がｐ１、ｐ４であるＳＳＤを選択した場合が、故障が発生する間隔がもっとも長いことが期待される。
【００６７】
つまり、本実施形態においてエラー発生率が１位と４位のＳＳＤによって書き込みキャッシュ１４５を構成することによって、高速記憶手段の故障発生間隔が最大になることが期待できる。
【００６８】
以上説明したように、本実施形態のストレージ装置１０５は、エラー発生率の差が最大であるＳＳＤによって書き込みキャッシュ１４５を構成する。そのため、故障修理可能時間が最大化されることが期待される。従って、本実施形態のストレージ装置１０５では、書き出しデータ及び読み込みデータのそれぞれが独立にキャッシュされるストレージ装置において、データ損失の可能性を最小化することができる。
【００６９】
また、第１の実施形態の読み書きキャッシュ１２０では、残り書き込み可能回数が計数される必要があった。一方、本実施形態のストレージ装置１０５では、ＳＳＤ毎のエラー発生率が収集されればよく、ＳＳＤ毎の残り書き込み可能回数が計数される必要がない。従って、本実施形態のストレージ装置１０５では、ＳＳＤの管理が容易である。
【００７０】
なお、本実施形態では、ＳＳＤキャッシュ１２５が、ＲＡＩＤ  １で構成される場合について説明した。しかしながら、本実施形態のＳＳＤキャッシュを構成するＲＡＩＤのレベルは、ＲＡＩＤ  １に限定されない。すなわち、本実施形態のＳＳＤキャッシュを構成するＲＡＩＤのレベルは、他のＲＡＩＤのレベル（ＲＡＩＤ  ６等）であってもよい。
【００７１】
また、本実施形態では、高速記憶手段がＳＳＤである場合について説明した。しかしながら、本実施形態の高速記憶手段は、ＳＳＤに限定されない。すなわち、本実施形態の高速記憶手段は、半導体メモリ、ＨＤＤ、もしくはそれに類するデータ記憶媒体であってもよい。
【００７２】
尚、図４のストレージ装置の制御手段１１５等の各処理は、ソフトウェアによって実行されてもよい。すなわち、各処理を行うためのコンピュータプログラムが、ストレージ装置が備えるＣＰＵによって読み込まれ、実行されてもよい。プログラムを用いて各処理を行っても、上述の実施形態の処理と同内容の処理を行うことができる。そして、上記のプログラムは、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、フラッシュメモリ等の半導体記憶装置、光ディスク、磁気ディスク、光磁気ディスク等、非一時的な媒体に格納されてもよい。
【００７３】
あるいは、各処理は、個別の回路等の構成要素によって実行されてもよい。
【００７４】
尚、本願発明は、上述の実施形態に限定されるものではなく、本願発明の要旨を逸脱しない範囲で種々変更、変形して実施することができる。
【図１】
0006036736.tif 000002
【図２】
0006036736.tif 000003
【図３】
0006036736.tif 000004