(57)【要約】【課題】ＮＡＮＤデバイスを用いて構成されるディスクデバイスを複数備えたストレージ装置において、データの読み出し機会を確保できるストレージ装置、ストレージシステム、及びプログラムを提供する。【解決手段】ＮＡＮＤデバイスを用いて構成されるＮ（Ｎは２以上の整数）台のディスクデバイスを有し、当該Ｎ台のディスクデバイスを用いて、データを冗長に記録するストレージ装置であって、当該ディスクデバイスのそれぞれについての寿命到来タイミングを調べ、当該寿命到来タイミングより前の所定のタイミングが到来したディスクデバイスについて、当該ディスクデバイスへのデータ書き込みを許可しない設定とする。【選択図】図１
2019125109.tif 000002
【特許請求の範囲】
【請求項１】
ＮＡＮＤデバイスを用いて構成されるＮ（Ｎは２以上の整数）台のディスクデバイスを有し、当該Ｎ台のディスクデバイスを用いて、データを冗長に記録するストレージ装置であって、
前記ディスクデバイスのそれぞれについての寿命到来タイミングを調べ、当該寿命到来タイミングより前の所定のタイミングが到来したディスクデバイスについて、当該ディスクデバイスへのデータ書き込みを許可しない設定とする設定手段と、
を有するストレージ装置。
【請求項２】
請求項１記載のストレージ装置であって、
前記ディスクデバイスのそれぞれの寿命到来タイミングを推定する手段をさらに有し、
前記設定手段は、当該推定された寿命到来タイミングより前の所定のタイミングが到来したディスクデバイスについて、当該ディスクデバイスへのデータ書き込みを許可しない設定とするストレージ装置。
【請求項３】
請求項１または２に記載のストレージ装置であって、
前記寿命到来タイミングより前の所定のタイミングが到来したディスクデバイスを含む複数のディスクデバイスにて前記冗長な記録が不能となったか否かを判断する判断手段をさらに含むストレージ装置。
【請求項４】
請求項３に記載のストレージ装置であって、
前記設定手段は、前記判断手段が、前記冗長な記録が不能となったと判断したときに、前記寿命到来タイミングより前の所定のタイミングが到来したディスクデバイスへのデータ書き込みを許可しない設定とするストレージ装置。
【請求項５】
請求項３に記載のストレージ装置であって、
前記Ｎ台のディスクデバイスを用いて仮想ディスクを構成する手段を有し、
前記設定手段は、前記判断手段が、前記冗長な記録が不能となったと判断したときに、前記寿命到来タイミングより前の所定のタイミングが到来したディスクデバイスを含む複数のディスクデバイスによって構成される仮想ディスクへのデータ書き込みを許可しない設定とするストレージ装置。
【請求項６】
請求項３に記載のストレージ装置であって、
前記Ｎ（Ｎは４以上の整数）台のディスクデバイスのうち、ｍ台（１＜ｍ＜Ｎ）のディスクデバイスを用いて第１の仮想ディスクを構成し、当該第１の仮想ディスクを構成するディスクデバイスとはそれぞれ異なるｐ台（１＜ｐ＜Ｎ−ｍ）のディスクデバイスを用いて第２の仮想ディスクを構成する手段を有し、
前記設定手段は、前記判断手段が、前記冗長な記録が不能となったと判断したときに、前記寿命到来タイミングより前の所定のタイミングが到来したディスクデバイスを含む複数のディスクデバイスによって構成される第１、または第２の仮想ディスクへのデータ書き込みを許可しない設定とするストレージ装置。
【請求項７】
請求項１から６のいずれか一項に記載のストレージ装置であって、
ｉＳＣＳＩにて接続されるときに、前記設定手段によりいずれかのディスクデバイスがデータ書き込みを許可しない設定とされているときでも、当該ディスクデバイスへのデータ書き込みを許可した状態に再設定する再設定手段をさらに有するストレージ装置。
【請求項８】
請求項１から７のいずれか一項に記載のストレージ装置であって、
前記設定手段は、データ書き込みを許可しない設定とするときには、システム領域へのデータ書き込みは許可された状態とし、システム領域外の領域へのデータ書き込みを許可しない設定とするストレージ装置。
【請求項９】
請求項１から８のいずれか一項に記載のストレージ装置であって、
前記設定手段が、前記寿命到来タイミングより前の所定のタイミングが到来したディスクデバイスに関する通知を行う通知手段をさらに有するストレージ装置。
【請求項１０】
ＮＡＮＤデバイスを用いて構成されるディスクデバイスを複数有し、当該複数のディスクデバイスがデータを冗長に記録するストレージ装置と、当該ストレージ装置に接続されるホスト装置とを含み、
前記ストレージ装置は、
前記ディスクデバイスのそれぞれについての寿命到来タイミングを調べ、当該寿命到来タイミングより前の所定のタイミングが到来したディスクデバイスについて、当該ディスクデバイスへのデータ書き込みを許可しない設定とする設定手段と、
を有するストレージシステム。
【請求項１１】
ＮＡＮＤデバイスを用いて構成されるディスクデバイスを複数有し、当該複数のディスクデバイスがデータを冗長に記録するストレージ装置を、
前記ディスクデバイスのそれぞれについての寿命到来タイミングを調べ、当該寿命到来タイミングより前の所定のタイミングが到来したディスクデバイスについて、当該ディスクデバイスへのデータ書き込みを許可しない設定とする設定手段と、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置、ストレージシステム、及びプログラムに関する。
【背景技術】
【０００２】
ＳＳＤ（Solid State Drive）等のＮＡＮＤデバイスを用いた不揮発性記憶装置には、予め想定された寿命がある。そこで、不揮発性記憶装置が寿命に近づいたときに、不揮発性記憶装置に対する書き込み動作を行わないよう制御する技術が特許文献１に開示されている。
【０００３】
この特許文献１の技術では、不揮発性記憶装置が寿命と判断すると、ブートローダを書き換えて、意図しない書き込みを行わない緊急時ＯＳにて起動することとして、書き込み動作を抑制している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−４７９１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一方、不揮発性記憶装置を複数台用いて、データを冗長に記録するストレージ装置（ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）装置等）を構成する場合、当該ストレージを構成するディスクデバイスの一つが寿命と判断されて書き込み禁止のモード（ライトプロテクトモード）となると、ディスクデバイス単体ではデータの読み出しが可能であるにも関わらず、ＲＡＩＤコントローラによって当該ディスクデバイスがエラードライブとして扱われ、実際には冗長性が確保できるにも関わらず、ＲＡＩＤとして構成されたディスクデバイス群からのデータの読み出しが不能になる事態が生じ得る。
【０００６】
本発明は上記実情に鑑みて為されたもので、ＮＡＮＤデバイスを用いて構成されるディスクデバイスを複数備えたストレージ装置において、データの読み出し機会を確保できるストレージ装置、ストレージシステム、及びプログラムを提供することを、その目的の一つとする。
【課題を解決するための手段】
【０００７】
上記従来例の問題点を解決する本発明の一態様は、ＮＡＮＤデバイスを用いて構成されるＮ（Ｎは２以上の整数）台のディスクデバイスを有し、当該Ｎ台のディスクデバイスを用いて、データを冗長に記録するストレージ装置であって、前記ディスクデバイスのそれぞれについての寿命到来タイミングを調べ、当該寿命到来タイミングより前の所定のタイミングが到来したディスクデバイスについて、当該ディスクデバイスへのデータ書き込みを許可しない設定とする設定手段と、を有することとしたものである。
【０００８】
このように、寿命到来タイミングより前の所定のタイミングが到来したディスクデバイスについて、当該ディスクデバイスへのデータ書き込みを許可しない設定とすることで、ＲＡＩＤ構成等、冗長記録のためのディスクデバイス群に含まれるディスクデバイスがエラードライブとして扱われてしまうより前の段階で、データの読み出し機会を確保できる。
【０００９】
また、前記ディスクデバイスのそれぞれの寿命到来タイミングを推定する手段をさらに有し、前記設定手段は、当該推定された寿命到来タイミングより前の所定のタイミングが到来したディスクデバイスについて、当該ディスクデバイスへのデータ書き込みを許可しない設定とすることとしてもよい。
【００１０】
このように、推定された寿命到来タイミングより前の所定のタイミングが到来したディスクデバイスについて、当該ディスクデバイスへのデータ書き込みを許可しない設定とすることで、ＲＡＩＤ構成等、冗長記録のためのディスクデバイス群に含まれるディスクデバイスがエラードライブとして扱われてしまうより前の段階で、データの読み出し機会を確保できる。
【００１１】
また前記寿命到来タイミングより前の所定のタイミングが到来したディスクデバイスを含む複数のディスクデバイスにて前記冗長な記録が不能となったか否かを判断する判断手段をさらに含んでもよい。
【００１２】
このとき、前記設定手段は、前記判断手段が、前記冗長な記録が不能となったと判断したときに、前記寿命到来タイミングより前の所定のタイミングが到来したディスクデバイスへのデータ書き込みを許可しない設定とすることとしてもよい。
【００１３】
これにより、冗長な記録が可能な状態でデータ書き込みを許可しない設定に移行してしまうことがなくなり、ディスクデバイスができるだけ長期にわたって利用可能となる。
【００１４】
また前記Ｎ台のディスクデバイスを用いて仮想ディスクを構成する手段を有し、前記設定手段は、前記判断手段が、前記冗長な記録が不能となったと判断したときに、前記寿命到来タイミングより前の所定のタイミングが到来したディスクデバイスを含む複数のディスクデバイスによって構成される仮想ディスクへのデータ書き込みを許可しない設定とすることとしてもよい。
【００１５】
さらに、前記Ｎ（Ｎは４以上の整数）台のディスクデバイスのうち、ｍ台（１＜ｍ＜Ｎ）のディスクデバイスを用いて第１の仮想ディスクを構成し、当該第１の仮想ディスクを構成するディスクデバイスとはそれぞれ異なるｐ台（１＜ｐ＜Ｎ−ｍ）のディスクデバイスを用いて第２の仮想ディスクを構成する手段を有し、前記設定手段は、前記判断手段が、前記冗長な記録が不能となったと判断したときに、前記寿命到来タイミングより前の所定のタイミングが到来したディスクデバイスを含む複数のディスクデバイスによって構成される第１、または第２の仮想ディスクへのデータ書き込みを許可しない設定とすることとしてもよい。
【００１６】
これによっても、冗長な記録が可能な状態でデータ書き込みを許可しない設定に移行してしまうことがなくなり、ディスクデバイスができるだけ長期にわたって利用可能となる。
【００１７】
また、ｉＳＣＳＩにて接続されるときに、前記設定手段によりいずれかのディスクデバイスがデータ書き込みを許可しない設定とされているときでも、当該ディスクデバイスへのデータ書き込みを許可した状態に再設定する再設定手段をさらに有してもよい。これによりｉＳＣＳＩでの接続の際に特有の事情が考慮される。
【００１８】
また前記設定手段は、データ書き込みを許可しない設定とするときには、システム領域へのデータ書き込みは許可された状態とし、システム領域外の領域へのデータ書き込みを許可しない設定としてもよい。
【００１９】
これにより、システム領域へのデータ書き込みは許容された状態に維持でき、システム上の不具合を生じることがなくなる。
【００２０】
さらに、前記設定手段が、前記寿命到来タイミングより前の所定のタイミングが到来したディスクデバイスに関する通知を行う通知手段をさらに有してもよい。
【００２１】
このように、推定された寿命到来タイミングより前の所定のタイミングが到来したディスクデバイスに関する通知が行われることで、ユーザに対処の機会を与えることができる。
【００２２】
また本発明の別の態様に係るストレージシステムは、ＮＡＮＤデバイスを用いて構成されるディスクデバイスを複数有し、当該複数のディスクデバイスがデータを冗長に記録するストレージ装置と、当該ストレージ装置に接続されるホスト装置とを含み、前記ストレージ装置は、前記ディスクデバイスのそれぞれについての寿命到来タイミングを調べ、当該寿命到来タイミングより前の所定のタイミングが到来したディスクデバイスについて、当該ディスクデバイスへのデータ書き込みを許可しない設定とする設定手段と、を有することとしたものである。
【００２３】
さらに本発明の別の態様に係るプログラムは、ＮＡＮＤデバイスを用いて構成されるディスクデバイスを複数有し、当該複数のディスクデバイスがデータを冗長に記録するストレージ装置を、前記ディスクデバイスのそれぞれについての寿命到来タイミングを調べ、当該寿命到来タイミングより前の所定のタイミングが到来したディスクデバイスについて、当該ディスクデバイスへのデータ書き込みを許可しない設定とする設定手段と、として機能させることとしたものである。
【発明の効果】
【００２４】
本発明によると、ＮＡＮＤデバイスを用いて構成されるディスクデバイスを複数備えたストレージ装置において、データの読み出し機会が確保される。
【図面の簡単な説明】
【００２５】
【図１】本発明の実施の形態に係るストレージシステムの例を表す構成ブロック図である。
【図２】本発明の実施の形態に係るストレージ装置の一例に係る機能ブロック図である。
【図３】本発明の実施の形態に係るストレージ装置が保持する寿命到来タイミングに係る情報の内容例を表す説明図である。
【図４】本発明の実施の形態に係るストレージ装置の動作例を表すフローチャート図である。
【発明を実施するための形態】
【００２６】
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係るストレージシステム１は、図１に例示するように、ストレージ装置１０と、当該ストレージ装置１０に接続されるホスト装置２０とを含んで構成される。
【００２７】
またこのストレージ装置１０は、それぞれがＮＡＮＤデバイスを用いて構成される複数台（ここではＮ台、ただしＮは２以上の整数）のディスクデバイス１１ａ，１１ｂ…，１１Ｎ（以下、それぞれを区別する必要がない場合は、ディスクデバイス１１として表記する）と、コントローラ１２と、通信部１３とを含んで構成される。
【００２８】
ここでディスクデバイス１１は、ＮＡＮＤデバイスを用いて構成されるディスクデバイスであり、例えばＳＳＤ等である。このディスクデバイス１１は、自ら寿命が到来したか否かを判断し、寿命が到来したと判断すると、データの書き込みを受け付けない「ライトプロテクトモード」に移行する。
【００２９】
またこのディスクデバイス１１は、自らの動作に関連するステータス情報を記録している。このステータス情報としては、バッドブロック数の総計、読み出しや書き込み、あるいは消去回数の総計、読み出しや書き込み、あるいは消去回数の単位時間あたりの平均値、ＮＡＮＤメモリの書き込みエラー発生回数の総計、ＮＡＮＤメモリの消去エラー発生回数の総計、読み出し論理セクタ数の総計、書き込み論理セクタ数の総計、ＥＣＣ訂正不能回数の総計、nビット〜mビットＥＣＣ訂正単位の総計、ＳＡＴＡ通信のＲエラー発生回数の総計、ＳＡＴＡ通信のエラー発生回数の総計、ディスクデバイス１１内のメモリのエラー発生回数の総計、使用時間の総計、温度が推奨動作温度の最高値を上回った時間の総計、温度が推奨動作温度の最低値を下回った時間の総計、コマンドの応答時間の過去の最大値、コマンドの応答時間の平均値、ＮＡＮＤメモリの応答時間の最大値、ＮＡＮＤの応答時間の平均値、現在の温度、動作中の最高温度、動作中の最低温度などがある。
【００３０】
コントローラ１２は、マイクロコンピュータ等であり、ＣＰＵなどのプログラム制御デバイス及び当該プログラム制御デバイスによって実行されるプログラムを格納したメモリを含んで構成される。ここでプログラムは、コンピュータ可読かつ非一時的な記録媒体に格納されて提供され、あるいはネットワークを介して受信されて、このコントローラ１２のメモリに格納されたものであってもよい。
【００３１】
本実施の形態の一例では、このコントローラ１２は、基本機能ユニット１２ａと、制限設定ユニット１２ｂとを含んで構成される。ここで基本機能ユニット１２ａは、従来一般的なＲＡＩＤコントローラとして機能する。なお、基本機能ユニット１２ａと、制限設定ユニット１２ｂとは、一体のＣＰＵ等のプロセッサで実現されてもよいし、それぞれが互いに異なるＣＰＵ等で実現されるなど、複数のプロセッサにより実現されてもよい。
【００３２】
また本実施の形態の一例では、このコントローラ１２は、ホスト装置２０のプロセッサがＲＡＩＤコントローラプログラムを実行することにより実現されてもよい。つまり、本実施の形態におけるＲＡＩＤ構成は、ハードウェアＲＡＩＤとして実現されてもよいし、ソフトウェアＲＡＩＤとして実現されてもよい。
【００３３】
具体的にこのコントローラ１２の基本機能ユニット１２ａは、複数のディスクデバイス１１のそれぞれを所定の方法で設定したデバイス特定情報で識別する。コントローラ１２の基本機能ユニット１２ａは、例えばディスクデバイス１１が接続されているドライブベイごとに予めドライブ識別子を設定しておき、当該ドライブ識別子をそのまま、対応するドライブベイに接続されたディスクデバイス１１を識別するデバイス特定情報として用いてもよい。
【００３４】
コントローラ１２の基本機能ユニット１２ａは、当該デバイス特定情報でそれぞれ識別される複数のディスクデバイス１１を用いて、通信部１３を介して受信される、記録対象のデータを冗長に記録する。この冗長記録の方法は、例えばＲＡＩＤ等の広く知られた方法があるので、ここでの詳しい説明は省略するが、例えばＮ台あるディスクデバイス１１のすべてを用いて、いわゆるＲＡＩＤ５の構成としてもよいし、Ｎ／２（ただしＮは４以上の偶数であるものとする）台ずつを用いて、２つのＲＡＩＤを構成してもよい。後者の場合は、ホスト装置２０からは、ストレージ装置１０が２つのディスク装置を有しているかのように認識されることとなる。以下の説明では、このようなＲＡＩＤ等の冗長構成の記録単位（１つのディスク装置として認識されるディスクデバイス１１の群）のそれぞれを、ディスクアレイと呼ぶ。
【００３５】
またこのコントローラ１２の基本機能ユニット１２ａは、読み出し命令を受信すると、当該読み出し命令によって特定されるディスクデバイス１１内の位置に記録されているデータを、通信部１３に出力し、ホスト装置２０側に送出する。ここまでのコントローラ１２の基本機能ユニット１２ａの動作は、一般的な、ＲＡＩＤ構成されたストレージデバイスにおける動作であるので、これ以上の詳しい説明を省略する。
【００３６】
本実施の形態では、コントローラ１２の基本機能ユニット１２ａは、データの書き込み命令を受信したときに、当該データの書き込み命令によりデータの書き込み先として指定されるディスクアレイへのデータ書き込みが許可しない設定となっているか否かを調べる。そして、コントローラ１２の基本機能ユニット１２ａは、データの書き込み先として指定されるディスクアレイへのデータ書き込みが許可しない設定となっていなければ、受信したデータの書き込み命令に従い、ディスクアレイへのデータ書き込みを行う。このデータの書き込みの処理は従来と同様であるので、これ以上の詳しい説明を省略する。
【００３７】
一方、コントローラ１２の基本機能ユニット１２ａは、受信したデータの書き込み命令によりデータの書き込み先として指定されるディスクアレイへのデータ書き込みが許可しない設定となっているときには、データの書き込みを行わない。このとき、基本機能ユニット１２ａは書き込みができない旨のエラーの報知を、書き込み命令の送出元であるホスト装置２０側に送出してもよい。
【００３８】
また本実施の形態において、このコントローラ１２の制限設定ユニット１２ｂは、各ディスクデバイス１１の寿命到来タイミング（ディスクデバイス１１がライトプロテクトモードに移行するタイミング）より前の、所定のタイミングが到来したディスクデバイス１１について、少なくとも予め定めた条件が満足されるときには、当該ディスクデバイス１１へのデータ書き込みを許可しない設定（当該ディスクデバイス１１を含むディスクアレイへのデータ書き込みを許可しない設定）とする。
【００３９】
ここで予め定められる条件は、例えば、上記所定のタイミングが到来したディスクデバイス１１がライトプロテクトモードとなったときに、当該ディスクデバイス１１を含むディスクアレイにおいて冗長性が確保できない、などの条件である。
【００４０】
具体的にコントローラ１２の制限設定ユニット１２ｂは、ディスクアレイごとに、ディスクアレイを構成するディスクデバイス１１のうちに、書き込みを許可しない設定となったディスクデバイス１１または故障した状態となっているディスクデバイス１１があるか否かを調べる。
【００４１】
ここで、故障した状態とは、現実に書き込みが不能となっている状態のほか、ディスクデバイス１１自体が寿命と判断して、ライトプロテクトモードとなった状態を含む。
【００４２】
コントローラ１２の制限設定ユニット１２ｂは、故障した状態となったディスクデバイス１１が含まれるディスクアレイがあれば、当該ディスクアレイについて、次に当該ディスクアレイ内で他のディスクデバイス１１が故障した状態となったときに冗長性が確保できなくなるか否かをさらに判断する。コントローラ１２は、次に当該ディスクアレイ内で他のディスクデバイス１１が故障した状態となったときに冗長性が確保できないと判断した場合、当該ディスクアレイ内のディスクデバイス１１のうちに、推定された寿命到来タイミングより前の、所定のタイミングが到来したディスクデバイス１１があれば、当該ディスクアレイへのデータ書き込みを許可しない設定とする。このコントローラ１２の制限設定ユニット１２ｂの動作例については後に述べる。
【００４３】
通信部１３は、ネットワークインタフェースまたはシリアルインタフェース等であり、ネットワークまたはＵＳＢ等のシリアル接続の手段を介してホスト装置２０との間でデータ等を送受する。この通信部１３は、ホスト装置２０からデータ記録命令（ライト命令）とともに記録対象データを受信すると、当該記録対象データをコントローラ１２に出力する。またホスト装置２０からデータの読み出し命令（リード命令）を受信すると、当該読み出し命令をコントローラ１２に出力し、当該読み出し命令に応じてコントローラ１２が出力するデータを、ホスト装置２０に対して送信する。
【００４４】
ホスト装置２０は、例えばパーソナルコンピュータ（ＰＣ）等であり、ユーザからの指示等に応じて、ストレージ装置１０に記録対象データとデータ記録命令とを送出する。またこのホスト装置２０は、ユーザからの指示等に応じて、ストレージ装置１０に対してデータの読み出し命令を送出し、ストレージ装置１０が当該データの読み出し命令に応答して送出するデータを受信して、当該データを利用してユーザから指定された処理を実行するなど、当該受信したデータを所定の処理に供する。
【００４５】
次に、ストレージ装置１０のコントローラ１２の動作（特に制限設定ユニット１２ｂの動作）について説明する。本実施の形態では、このコントローラ１２は、メモリに格納されたプログラムを実行することにより、制限設定ユニット１２ｂとして機能し、一例として図２に例示するように、機能的に、情報収集部２１と、推定処理部２２と、判断部２３と、設定処理部２４とを含む構成を実現する。
【００４６】
情報収集部２１は、ディスクデバイス１１のそれぞれの寿命到来タイミングを推定するための情報を収集する。本実施の形態の一例では、この情報収集部２１は、ディスクデバイス１１の動作に関連したステータス情報を収集する。このステータス情報は例えば、バッドブロック数の総計、書き込み回数の総計、書き込み回数の単位時間あたりの平均値、読み出し回数の総計、読み出し回数の単位時間あたりの平均値、消去回数の総計、消去回数の単位時間あたりの平均値、ＮＡＮＤメモリの書き込みエラー発生回数の総計、ＮＡＮＤメモリの消去エラー発生回数の総計、読み出し論理セクタ数の総計、書き込んだ論理セクタ数の総計、ＥＣＣ訂正不能回数の総計、nビット〜mビットＥＣＣ訂正単位の総計、ＳＡＴＡ通信のＲエラー発生回数の総計、ＳＡＴＡ通信のエラー発生回数の総計、ディスクデバイス１１内のメモリのエラー発生回数の総計、ディスクデバイス１１の使用時間の総計、温度が推奨動作温度の最高値を上回った時間の総計、温度が推奨動作温度の最低値を下回った時間の総計、コマンドの応答時間の過去の最大値、コマンドの応答時間の平均値、ＮＡＮＤメモリの応答時間の最大値、ＮＡＮＤの応答時間の平均値、現在の温度、動作中の最高温度、動作中の最低温度、ディスクデバイス１１が記録している統計情報の単位時間あたりの数の増加率、ＮＡＮＤ整理失敗フラグのうち、少なくとも一つなどの統計情報が含まれる。さらにこの情報収集部２１は、ディスクデバイス１１について予め設定されている（ディスクデバイス１１のメーカーにより保証されている）、寿命に関する情報（保証寿命情報と呼ぶ）を収集してもよい。この寿命に関する情報には、例えば消去回数の総計、使用時間の総計等の情報が含まれる。
【００４７】
推定処理部２２は、情報収集部２１が収集したステータス情報に基づいて、ディスクデバイス１１のそれぞれの寿命到来タイミングを推定する。この寿命到来タイミングは、ディスクデバイス１１についての保証寿命情報とは異なり、また、保証寿命情報が表す寿命を超えてディスクデバイス１１への読み書き動作を行った結果、バッドブロック数が予めメーカーで定めた閾値を超えたときなど、寿命と判断されるタイミング（以下、このタイミングをメーカー設定寿命タイミングと呼ぶ）であるものとする。
【００４８】
一例として、本実施の形態の推定処理部２２は、各ディスクデバイス１１のステータス情報のうち、バッドブロック数と消去回数とを参照し、予め定めたしきい値ＴＨから参照したバッドブロック数ＢＢを差し引いた値を用いてディスクデバイス１１について寿命到来タイミングを推定する。具体的な例として推定処理部２２は、予め定めたしきい値ＴＨから参照したバッドブロック数ＢＢを差し引いた値に予め定めた正の定数αを乗じた値α×（ＴＨ−ＢＢ）を求める。そして、推定処理部２２は、この値に、推定処理時点の消去回数ＥＮｃを加算した値ＥＮｃ＋α×（ＴＨ−ＢＢ）を寿命到来タイミングと推定する。
【００４９】
ここでしきい値ＴＨ及び定数αは推定される寿命到来タイミングが、メーカー設定寿命タイミングより前となるように設定する。例えばメーカー設定寿命タイミングが消去回数の総計により、ＢＢlimitなる値となっていたとすると、コントローラ１２は、ここでのしきい値ＴＨをＴＨ＜ＢＢlimitとなるように設定する。具体的にはＴＨ＝「１」（バッドブロックが生じたときに寿命到来タイミングが推定される）としてもよいし、「２」以上かつＢＢlimit未満の所定の整数値としてもよい。
【００５０】
なお、寿命到来タイミングの推定にバッドブロック数を用いる場合に、しきい値からバッドブロック数を差し引いた値により寿命到来タイミングを推定する方法は一例であり、この推定は、α・（１−ＢＢ／ＴＨ）のようにしきい値とバッドブロック数との比を用いて行ってもよいし、さらに他の演算式を用いてもよい。
【００５１】
例えば、ディスクデバイス１１から残り寿命の情報が取得できる場合、当該残り寿命の情報が予め定めたしきい値を下回るタイミングを寿命到来タイミングとしてもよい（この場合、後述の寿命予防タイミングは、当該寿命到来タイミングに対応する残り寿命の情報の値以上の値として定める）。さらに、リロケートのために用意された未使用セクタの数（バッドブロックの数が増大すると減少する）が予め予め定めたしきい値を下回るタイミングを寿命到来タイミングとしてもよい（この場合、後述の寿命予防タイミングは、当該寿命到来タイミングに対応する、リロケートのために用意された未使用セクタの数以上の値として定める）。
【００５２】
またここでの例では、推定処理部２２が寿命到来タイミングを、メーカーにより定められた保証寿命情報が表すタイミングを超えたタイミングとしているが、推定処理部２２は、実質的には推定の処理を行わずに、この保証寿命情報が表すタイミングをそのまま寿命到来タイミングとして設定してもよいし、ディスクデバイス１１がライトプロテクトモードになる前にライトプロテクトモードに入ること（あるいはライトプロテクトモードに入るまでの残余の期間が比較的短いこと）を通知する機能を有している場合は、当該通知を受けたタイミングとして設定されてもよい。
【００５３】
判断部２３は、推定処理部２２が定めた寿命到来タイミングより前の所定のタイミング（以下、寿命予防タイミングと呼ぶ）が到来したディスクデバイスがあるか否かを判断する。ここで、寿命到来タイミングより以前の所定のタイミング（寿命予防タイミング）は、寿命到来タイミングＴ＝ＥＮｃ＋α×（ＴＨ−ＢＢ）から予め定めた消去回数ＥＮｓを差し引いた値τ＝Ｔ−ＥＮｓとして設定される。なお、寿命予防タイミングは、寿命到来タイミングそのものとしても（上述の例ではＥＮｓ＝０としても）よい。
【００５４】
判断部２３は、推定処理部２２が定めたディスクデバイス１１ごとの寿命到来タイミングＴi（ｉ＝１，２…）のそれぞれから予め定めた消去回数ＥＮｓを差し引いた値τi＝Ｔi−ＥＮｓを求め、対応するディスクデバイス１１の現在の消去回数ＥＮiと比較する。そして判断部２３は、この現在の消去回数ＥＮiが、上記の方法で求められた値τiを超えているディスクデバイス１１があるか否かを調べる。判断部２３は、ＥＮi＞τiとなっているディスクデバイス１１があれば（寿命予防タイミングが到来したディスクデバイス１１があれば）、当該寿命予防タイミングが到来したディスクデバイス１１を含む複数のディスクデバイス１１により冗長な記録が不能となったか否かを判断する。
【００５５】
ここで冗長な記録が不能となったか否かは、当該寿命予防タイミングが到来したディスクデバイス１１等、もう一つのディスクデバイス１１が故障した状態となったときに、記録されているデータの読み出しができなくなる（一部でも、読み出しができなくなるデータが発生する）否かにより判断する。
【００５６】
なお、ストレージ装置１０がＮ台（Ｎは４以上の整数）のディスクデバイス１１を備え、このＮ台のストレージデバイス１１のうち、ｍ台（１＜ｍ＜Ｎ）のディスクデバイスを用いて第１の仮想ディスク（第１のディスクアレイ）を構成し、当該第１の仮想ディスクを構成するディスクデバイスとはそれぞれ異なるｐ台（１＜ｐ＜Ｎ−ｍ）のディスクデバイスを用いて第２の仮想ディスク（第２のディスクアレイ）を構成している場合、つまり、複数のディスクアレイが構成されている場合は、判断部２３は、寿命予防タイミングが到来したディスクデバイス１１を含む複数のディスクデバイス１１により構成されるディスクアレイについて冗長な記録が不能な状態である（次に当該ディスクアレイ内で寿命予防タイミングが到来したディスクデバイス１１が故障した状態となったときにデータの読み出しができなくなる）か否かを判断する。
【００５７】
設定処理部２４は、判断部２３が冗長な記録が不能となったと判断したときに、寿命予防タイミングが到来したディスクデバイス１１へのデータ書き込みを許可しない設定とする。
【００５８】
ここで判断部２３がディスクアレイごとに冗長な記録が不能となったか否かを判断している場合は、設定処理部２４は、冗長な記録が不能となったと判断されたディスクアレイに含まれる、寿命予防タイミングが到来したディスクデバイス１１へのデータ書き込みを許可しない設定とする。
【００５９】
ここでデータの書き込みを許可しない設定は、コントローラ１２の基本機能ユニット１２ａにて制御するほか、あるいは、基本機能ユニット１２ａにて制御するとともに、ホスト装置２０に対して、例えばディスクデバイス１１を、読み出しのみを可能とする状態でマウントさせること（いわゆるＲＯマウントを行わせること）で実現することとしてもよい。また、別の例では、このデータの書き込みを許可しない設定とするディスクデバイス１１を含むディスクアレイについて、ホスト装置２０に読み出しのみを可能とする状態でマウントさせるようにしてもよい。
【００６０】
なお、本実施の形態のある例では、コントローラ１２が、ストレージ装置１０が備えるディスクデバイス１１のすべてについて、寿命到来タイミング及び寿命予防タイミングを定めるのではなく、ディスクデバイス１１が予め定めた対象条件を満足する場合に限り、当該対象条件を満足するディスクデバイス１１の寿命到来タイミング及び寿命予防タイミングを定めて、上記の処理を行うようにしてもよい。
【００６１】
一例として、この対象条件は、ディスクデバイス１１の型番（メーカーやモデルを特定する情報、あるいは製造ロットを特定する情報等）によって定められてもよい。また、この対象条件ごとに、寿命到来タイミングを推定するために参照する情報や、そのしきい値ＴＨや、寿命予防タイミングを求めるための値（寿命到来タイミングからの消去回数の差など）を異ならせてもよい。この場合、コントローラ１２は、アクセス可能な記憶部（コントローラ１２内のメモリであってもよいし、外部のメモリであってもよい）に、図３に例示するように、ディスクデバイス１１の型番の情報などの対象条件（Ｘ）と、参照する情報の種類を特定する情報（Ｙ）と、しきい値等の寿命到来タイミングや、寿命予防タイミングを求めるためのパラメータ情報（Ｚ）とを互いに関連付けて保持しておき、この情報を参照して、必要に応じて（ディスクデバイス１１が対象条件を満足する場合に）寿命到来タイミングや、寿命予防タイミングを求める。
【００６２】
本実施の形態は以上の構成を備えており、次の例のように動作する。なお、以下の例では、ストレージ装置１０が４台のディスクデバイス１１ａ，ｂ，ｃ，ｄを備えているものとする。またこのストレージ装置１０では、ディスクデバイス１１ａ，１１ｂを用いてＲＡＩＤ１（ミラーリング）の第１の仮想ディスクが構成され、ディスクデバイス１１ｃ，１１ｄを用いてＲＡＩＤ１の第２の仮想ディスクが構成されているものとする。すなわち、この例では、ホスト装置２０が第１の仮想ディスクに対して書き込んだデータは、ディスクデバイス１１ａ，ｂの双方に冗長的に記録されるものとする。
【００６３】
コントローラ１２は、各ディスクデバイス１１ａ，ｂ，ｃ，ｄに対して、それぞれデバイス特定情報として「１」から「４」までの連番を設定しているものとする。
【００６４】
またコントローラ１２は、所定のタイミング（例えばディスクデバイス１１において何らかのエラーが発生したタイミング、定期的なタイミング等、予め定めたタイミング）ごとに繰り返してディスクデバイス１１ａ，ｂ，ｃ，ｄのそれぞれの寿命到来タイミングを推定する処理を実行する。
【００６５】
この処理では、図４に例示するように、コントローラ１２は、ディスクデバイス１１ａ，ｂ，ｃ，ｄのそれぞれの寿命到来タイミングを推定するためのステータス情報として、バッドブロック数の総計と消去回数の総計とを収集する（Ｓ１）。
【００６６】
コントローラ１２は、ここで収集したステータス情報に基づいて、ディスクデバイス１１ａ，ｂ，ｃ，ｄのそれぞれの寿命到来タイミングを推定する（Ｓ２）。コントローラ１２は、ディスクデバイス１１ａ，ｂ，ｃ，ｄのそれぞれについて、例えば、予め定めたしきい値ＴＨから参照したバッドブロック数ＢＢi（ここでｉはデバイス特定情報であり、ここでの例では１から４までのいずれかの整数値となる）を差し引いた値に予め定めた正の定数αを乗じた値α×（ＴＨ−ＢＢi）を求める。コントローラ１２は、この値に、対応するディスクデバイス１１の、推定処理時点の消去回数ＥＮｃiを加算した値ＥＮｃi＋α×（ＴＨ−ＢＢi）を、当該ディスクデバイス１１の寿命到来タイミングと推定する。
【００６７】
なお、ここでしきい値ＴＨ及び定数αは既に述べたように、推定される寿命到来タイミングが、メーカー設定寿命タイミングより前となるよう、メーカー設定寿命タイミングが消去回数の総計ＢＢlimitで定められているときには、コントローラ１２は、ここでのしきい値ＴＨをＴＨ＜ＢＢlimitとなるように設定する。
【００６８】
コントローラ１２は、ディスクデバイス１１ａ，ｂ，ｃ，ｄのそれぞれについて、ディスクデバイス１１を特定するデバイス特定情報に関連付けて、対応するディスクデバイス１１について処理Ｓ２にて推定した寿命到来タイミングを記憶する。
【００６９】
コントローラ１２は、各仮想ディスクについて、冗長な記録ができなくなったか否か、つまり、仮想ディスクとしてのディスクアレイを構成するディスクデバイス１１のうち、あと一台のディスクデバイス１１が故障した状態となったときに、記録されているデータの読み出しができなくなる（一部でも、読み出しができなくなるデータが発生する）か否かを表す情報を取得する（Ｓ３）。
【００７０】
またコントローラ１２はさらに、当該ディスクアレイを構成するディスクデバイス１１について寿命予防タイミングが到来しているか否かを表す情報を取得する（Ｓ４）。この処理Ｓ４では、寿命到来タイミングＴi＝ＥＮｃi＋α×（ＴＨ−ＢＢi）のそれぞれから予め定めた消去回数ＥＮｓを差し引いた値τi＝Ｔi−ＥＮｓを求め、対応するディスクデバイス１１の現在の（処理Ｓ１１の実行時点での）消去回数ＥＮiと比較する。
【００７１】
コントローラ１２は、この現在の消去回数ＥＮiが、上記の方法で求められた値τiを超えている、つまり、ＥＮi≧τiとなっているディスクデバイス１１については、寿命予防タイミングが到来したものとする。また、ＥＮi＜τiであれば、当該ディスクデバイス１１については、寿命予防タイミングが到来していないものとする。
【００７２】
コントローラ１２は、さらに、処理Ｓ３と処理Ｓ４とが得た情報に基づき、あと一台のディスクデバイス１１が故障した状態となったときに、記録されているデータの少なくとも一部が読み出し不能となるディスクアレイ（冗長な記録ができないディスクアレイ）内のディスクデバイス１１のうちに、寿命予防タイミングが到来したディスクデバイス１１があるか否かを調べる（Ｓ５）。
【００７３】
コントローラ１２は、冗長な記録ができないディスクアレイ内のディスクデバイス１１のうちに、寿命予防タイミングが到来したディスクデバイス１１があると判断すると（Ｓ５：Ｙｅｓ）、当該寿命予防タイミングが到来したディスクデバイス１１へのデータ書き込みを許可しない設定とする（Ｓ６）。
【００７４】
また、コントローラ１２は、処理Ｓ５において、冗長な記録ができないディスクアレイがない場合、あるいは、冗長な記録ができないディスクアレイはあるが、当該ディスクアレイ内のディスクデバイス１１のうちに、寿命予防タイミングが到来したディスクデバイス１１がない場合（Ｓ５：Ｎｏ）は、そのまま処理を続ける。この場合、当該ディスクアレイ内のディスクデバイス１１に対しては読み出し・書き込みのいずれの動作も許可される。
【００７５】
なお、コントローラ１２は、処理Ｓ３において、冗長な記録ができないディスクアレイを見いだしたときには、当該ディスクアレイを、冗長な記録を行うモードから、通常の記録を行いつつ、ディスクデバイスが交換されれば冗長な記録へ復帰するモード（いわゆるデグレードモード）に移行するよう制御してもよい。このモードの移行処理については従来広く知られた処理であるので、ここでの詳しい説明を省略する。
【００７６】
コントローラ１２は、各仮想ディスクについて処理Ｓ３からＳ６の処理を繰り返して実行する。
【００７７】
この動作により、本実施の形態のストレージ装置１０は、寿命予防タイミングが到来しているディスクデバイス１１を含むディスクアレイが、冗長な記録ができない状態となった（あと一台のディスクデバイス１１が故障した状態となったときに、記録されているデータの読み出しができなくなる状態となった）場合や、冗長な記録ができない状態であるディスクアレイ内のいずれかのディスクデバイス１１が寿命予防タイミングとなった場合に、当該寿命予防タイミングが到来しているディスクデバイス１１に対するデータ書き込みを許可しない設定とし、当該ディスクアレイをライトプロテクトモードでホスト装置２０にマウントさせる。
【００７８】
これにより、ストレージ装置１０を構成するディスクデバイス１１が寿命と判断されて書き込み禁止のモードとなるよりも前であって、かつ、次にディスクデバイス１１が故障した状態（寿命と判断されて書き込み禁止のモードとなる状態を含む）となったときにデータの少なくとも一部の読み出しができなくなる場合（冗長な記録が不能となる場合）に、寿命予防タイミングが到来したディスクデバイス１１に対するデータの書き込みを禁止する設定を行うこととなり、ディスクデバイス１１自体がライトプロテクトモードとなってディスクアレイが構成できなくなり、データの読み出しが不能となってしまうことがなく、また、寿命以前にデータの読み出しのみが許可された状態に移行するため、データの損失機会も低減できる。
【００７９】
また本実施の形態の例では、コントローラ１２は、データ書き込みを許可しない設定としたディスクデバイス１１であっても、ディスクデバイス１１内にシステム領域として確保された領域（ユーザデータではなく、非常時動作用のオペレーティングシステムを格納した領域等）については、データ書き込みを許可された状態としてもよい。この場合、システム領域に対するデータ書き込み指示を受け入れたときには、コントローラ１２は、当該指示に従ってシステム領域内へのデータ書き込みを実行する。また、このときコントローラ１２は、システム領域以外の領域に対するデータ書き込み指示については、当該指示を無視するか、あるいはエラーとして処理し、データの書き込みを行わない。
【００８０】
さらにコントローラ１２は、処理Ｓ４にて、寿命到来タイミングより以前の所定のタイミング（寿命予防タイミング）が到来したディスクデバイス１１を見いだしたときには、当該ディスクデバイス１１へのデータ書き込みを許可しない設定とするか否かに関わらず、そのようなディスクデバイス１１が存在することを表す通知処理を行ってもよい。この通知処理は、例えばストレージ装置１０が備える液晶ディスプレイ（不図示）に当該事情を通知する文字列を表示し、あるいはストレージ装置１０が備えるＬＥＤランプ（不図示）を点灯ないし点滅させる、ブザー（不図示）を鳴動する等して通知することとしてもよいし、ホスト装置２０に対して、寿命予防タイミングが到来したディスクデバイス１１が存在する旨の通知を出力してもよい。
【００８１】
さらにこの通知処理では、予め定めたメールサーバに対して、寿命予防タイミングが到来したディスクデバイス１１が存在する旨のメールを、予め設定されたユーザ宛に送信させることとしてもよい。またコントローラ１２がウェブサーバとして機能するときには、ホスト装置２０等から、ネットワークを介して当該ウェブサーバに対して情報が要求されたときに、その要求元に対して寿命予防タイミングが到来したディスクデバイス１１が存在する旨の情報を表示させるウェブページを提供してもよい。
【００８２】
この場合ホスト装置２０は、当該通知を受けたときには、ユーザにその旨を通知する表示等を行うこととしてもよい。なお、ここでの通知では必ずしも、寿命予防タイミングが到来したディスクデバイス１１を特定する必要はないが、コントローラ１２は、寿命予防タイミングが到来したディスクデバイス１１のデバイス特定情報を併せて通知することとしてもよい。
【００８３】
［ｉＳＣＳＩでの接続］
また本実施の形態のある例では、ホスト装置２０は、ストレージ装置１０との間でｉＳＣＳＩ（Internet Small Computer System Interface）規格に基づく通信を行い、ストレージ装置１０に対してデータの書き込みや読み出しを指示してもよい。
【００８４】
この場合、ｉＳＣＳＩ規格においては、データの書き込みを許可しない状態でのマウントを行うことができない場合がある。そこで、ストレージ装置１０のコントローラ１２は、ｉＳＣＳＩ規格に基づく通信（ｉＳＣＳＩプロトコル）により接続されるホスト装置２０がある場合は、その接続時に、データの書き込みを許可しない状態となっているディスクデバイス１１があるか否かを調べ、そのようなディスクデバイス１１があれば、一時的に（ｉＳＣＳＩ規格に基づく通信が行われている間）、当該ディスクデバイス１１へのデータの書き込みを許可するよう再設定する。またｉＳＣＳＩ規格に基づく通信が終了したときには、コントローラ１２は、ｉＳＣＳＩ規格に基づく通信が行われている間、データの書き込みを許可するよう再設定したディスクデバイス１１について、データの書き込みを許可しない設定とする。
【００８５】
このとき、コントローラ１２は、寿命が近接していることや、データを書き込まないよう求める通知をユーザに対して行ってもよい。この通知は、既に述べたように、ストレージ装置１０が備える液晶ディスプレイ（不図示）を用いた表示や、ホスト装置２０に通知させる方法等、種々の方法により達成できる。
【００８６】
また、本実施の形態の説明では、ＮＡＮＤデバイスを用いた装置として、ＳＳＤを例として説明したが、これは一例であり、他にＳＤカードや、ＮＡＮＤフラッシュを用いたＵＳＢメモリ等であってもよく、これらの少なくとも一種類以上を用いて、冗長な書き込みをする構成としている場合には、本発明の処理が適用可能である。
【符号の説明】
【００８７】
１０  ストレージ装置、１１  ディスクデバイス、１２  コントローラ、１３  通信部、２０  ホスト装置、２１  情報収集部、２２  推定処理部、２３  判断部、２４  設定処理部。
【図１】
2019125109.tif 000003
【図２】
2019125109.tif 000004
【図３】
2019125109.tif 000005
【図４】
2019125109.tif 000006