(57)【特許請求の範囲】
【請求項１】
ＲＡＩＤグループを形成する複数の記憶装置の各記憶装置から、前記各記憶装置の記憶領域を分割した分割領域のうち代替処理を行った分割領域の数を含む状態情報を読み出す読出部と、
前記読出部が読み出した前記各記憶装置の状態情報を参照して、前記複数の記憶装置から交換対象となる２以上の記憶装置があるか否かを判定する判定部と、
前記判定部が前記２以上の記憶装置があると判定した場合、前記２以上の記憶装置の各記憶装置の状態情報に含まれる前記代替処理を行った分割領域の数の時系列変化に基づいて、前記２以上の記憶装置の各記憶装置の交換順序を決定する決定部と、
を有することを特徴とする記憶装置制御装置。
【請求項２】
前記状態情報は、さらに、前記各記憶装置における代替可能な分割領域の数と、前記各記憶装置の仕様に応じた前記代替可能な分割領域の数に対する閾値とを含み、
前記判定部は、
前記各記憶装置の前記状態情報に含まれる前記各記憶装置における代替可能な分割領域の数から前記閾値を減じた値に基づいて、前記複数の記憶装置から交換対象となる２以上の記憶装置があるか否かを判定する、
ことを特徴とする請求項１に記載の記憶装置制御装置。
【請求項３】
前記判定部は、
前記各記憶装置における代替可能な分割領域の数から前記閾値を減じた値同士の差分が、記憶装置を交換する作業にかかる所定の所要時間を前記各記憶装置で代替処理が発生する時間間隔の平均値で割った値以下である場合、交換対象となる２以上の記憶装置があると判定する、
ことを特徴とする請求項２に記載の記憶装置制御装置。
【請求項４】
前記決定部は、
前記判定部が前記２以上の記憶装置があると判定した場合、前記２以上の記憶装置のうち前記代替処理を行った分割領域の数が変化した時刻が最も新しい記憶装置における代替可能な分割領域の数から前記閾値より大きい値を減じた値と、前記２以上の記憶装置のうち前記最も新しい記憶装置を除く記憶装置における代替可能な分割領域の数から前記閾値を減じた値との大小関係に基づいて、前記２以上の記憶装置の各記憶装置の交換順序を決定する、
ことを特徴とする請求項２または３に記載の記憶装置制御装置。
【請求項５】
コンピュータが、
ＲＡＩＤグループを形成する複数の記憶装置の各記憶装置から、前記各記憶装置の記憶領域を分割した分割領域のうち代替処理を行った分割領域の数を含む状態情報を読み出し、
読み出した前記各記憶装置の状態情報を参照して、前記複数の記憶装置から交換対象となる２以上の記憶装置があるか否かを判定し、
前記２以上の記憶装置があると判定した場合、前記２以上の記憶装置の各記憶装置の状態情報に含まれる前記代替処理を行った分割領域の数の時系列変化に基づいて、前記２以上の記憶装置の各記憶装置の交換順序を決定する、
処理を実行することを特徴とする記憶装置制御方法。
【請求項６】
コンピュータに、
ＲＡＩＤグループを形成する複数の記憶装置の各記憶装置から、前記各記憶装置の記憶領域を分割した分割領域のうち代替処理を行った分割領域の数を含む状態情報を読み出し、
読み出した前記各記憶装置の状態情報を参照して、前記複数の記憶装置から交換対象となる２以上の記憶装置があるか否かを判定し、
前記２以上の記憶装置があると判定した場合、前記２以上の記憶装置の各記憶装置の状態情報に含まれる前記代替処理を行った分割領域の数の時系列変化に基づいて、前記２以上の記憶装置の各記憶装置の交換順序を決定する、
処理を実行させることを特徴とする記憶装置制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶装置制御装置、記憶装置制御方法、および記憶装置制御プログラムに関する。
【背景技術】
【０００２】
従来、複数の記憶装置を組み合わせて仮想的なディスクとして運用するＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）技術がある。また、ＲＡＩＤレベルが１以上のディスクは冗長性を有しており、いくつかの記憶装置が故障しても他の記憶装置からデータを復元することができる。しかし、冗長性を失った上で、さらにもう１つ以上の記憶装置が故障した状態、いわゆるマルチデッドとなると、データを復元することができなくなる。また、記憶装置は、経年劣化による故障予測機能として、ＳＭＡＲＴ（Ｓｅｌｆ−Ｍｏｎｉｔｏｒｉｎｇ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｒｅｐｏｒｔｉｎｇ  Ｔｅｃｈｎｏｌｏｇｙ）機能を有することがある。
【０００３】
関連する先行技術として、例えば、複数のディスクのうちの１つのディスクに、冗長アレイの複数のディスクのうちの１つのディスクによる自己監視、分析、レポーティングテクノロジー（ＳＭＡＲＴ）データを要求するものがある。また、データディスクおよびスペアディスクのＳＭＡＲＴ情報を入手しデータディスクのうち故障発生の可能性が高いデータディスクを予測し、故障発生の可能性が高いデータディスクのデータをスペアディスクへコピーする技術がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２００８−５０９４７４号公報
【特許文献２】特開２０１０−１２８７７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術によれば、ＳＭＡＲＴ機能を用いてマルチデッドの発生を予測して、マルチデッドを発生させる２以上の記憶装置を交換する際に、マルチデッドが発生する場合がある。具体的には、マルチデッドを発生させる２以上の記憶装置のうち、ある記憶装置を交換している間に、他の記憶装置が故障すると、マルチデッドが発生することになる。
【０００６】
１つの側面では、本発明は、マルチデッドの発生を抑制する２以上の記憶装置の各記憶装置の交換順序を決定できる記憶装置制御装置、記憶装置制御方法、および記憶装置制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一側面によれば、ＲＡＩＤグループを形成する複数の記憶装置の各記憶装置から、各記憶装置の記憶領域を分割した分割領域のうち代替処理を行った分割領域の数を含む状態情報を読み出し、読み出した各記憶装置の状態情報を参照して、複数の記憶装置から交換対象となる２以上の記憶装置があるか否かを判定し、２以上の記憶装置があると判定した場合、２以上の記憶装置の各記憶装置の状態情報に含まれる代替処理を行った分割領域の数の時系列変化に基づいて、２以上の記憶装置の各記憶装置の交換順序を決定する記憶装置制御装置、記憶装置制御方法、および記憶装置制御プログラムが提案される。
【発明の効果】
【０００８】
本発明の一態様によれば、マルチデッドの発生を抑制する２以上の記憶装置の各記憶装置の交換順序を決定できるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、本実施の形態にかかる記憶装置制御装置１０１の動作例を示す説明図である。
【図２】図２は、ＲＡＩＤシステム２００の構成例を示す説明図である。
【図３】図３は、ＲＡＩＤカード２０７の機能構成例を示す説明図である。
【図４】図４は、機能構成上での動作例を示す説明図（その１）である。
【図５】図５は、機能構成上での動作例を示す説明図（その２）である。
【図６】図６は、機能構成上での動作例を示す説明図（その３）である。
【図７】図７は、情報保存テーブル３３１の記憶内容の一例を示す説明図である。
【図８】図８は、監視処理手順の一例を示すフローチャートである。
【図９】図９は、ＳＭＡＲＴ情報収集各種テーブル比較前処理手順の一例を示すフローチャートである。
【図１０】図１０は、変動時刻保存テーブル３３２の更新例を示す説明図である。
【図１１】図１１は、残存寿命テーブル３３３の更新例を示す説明図である。
【図１２】図１２は、早期交換係数テーブル更新処理手順の一例を示すフローチャートである。
【図１３】図１３は、早期交換係数テーブル３３４の更新例を示す説明図である。
【図１４】図１４は、更新前後の残存寿命テーブル３３３の記憶内容の一例を示す説明図である。
【図１５】図１５は、代替処理済のセクタの数の時系列変化の一例を示す説明図である。
【発明を実施するための形態】
【００１０】
以下に図面を参照して、開示の記憶装置制御装置、記憶装置制御方法、および記憶装置制御プログラムの実施の形態を詳細に説明する。
【００１１】
図１は、本実施の形態にかかる記憶装置制御装置１０１の動作例を示す説明図である。記憶装置制御装置１０１は、複数の記憶装置１０２を制御するコンピュータである。ここで、記憶装置は、データを記憶する装置である。例えば、記憶装置１０２は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）である。
【００１２】
また、記憶装置制御装置１０１は、ＲＡＩＤ技術により複数の記憶装置１０２を組み合わせて仮想的なディスクを提供する。記憶装置制御装置１０１は、ハードウェアによりＲＡＩＤ技術を実現する装置でもよいし、ソフトウェアによりＲＡＩＤ技術を実現する装置でもよい。また、ＲＡＩＤ技術には、仮想的なディスクの形成の仕方を表すＲＡＩＤレベルが存在する。ここで、本実施の形態では、ＲＡＩＤ１以上のＲＡＩＤレベルを対象とする。また、ＲＡＩＤ１＋５というように、ＲＡＩＤレベルを組み合わせたレベルを対象としてもよい。
【００１３】
ＲＡＩＤ１以上のＲＡＩＤレベルにより形成された仮想的なディスクは冗長性を有しており、いくつかの記憶装置が故障しても他の記憶装置からデータを復元することができる。ここで、１つの仮想的なディスクを形成する記憶装置のグループを、ＲＡＩＤグループと呼ぶ。例えば、同一のＲＡＩＤグループに含まれる２つの記憶装置から形成されるＲＡＩＤ１の仮想的なディスクでは、２つの記憶装置のうちのいずれか一方の記憶装置が故障しても、他方の記憶装置からデータを復元することができる。また、同一のＲＡＩＤグループに含まれる３つの記憶装置から形成されるＲＡＩＤ５の仮想的なディスクでは、３つの記憶装置のうちの１つの記憶装置が故障しても、残余の２つの記憶装置からデータを復元することができる。また、同一のＲＡＩＤグループに含まれる４つの記憶装置から形成されるＲＡＩＤ６の仮想的なディスクでは、４つの記憶装置のうちの２つの記憶装置が故障しても、残余の２つの記憶装置からデータを復元することができる。
【００１４】
しかしながら、ＲＡＩＤ１、５であれば２つ以上、ＲＡＩＤ６であれば３つ以上の記憶装置が同時に故障した状態、いわゆるマルチデッドとなると、データを復元することができなくなる。運用開始時期や劣化速度、ＲＡＩＤ構成によってマルチデッドとなる確率は異なるが、マルチデッドが発生した場合、データ回復ができない。
【００１５】
例えば、マルチデッドの発生を抑制する方法として、ＳＭＡＲＴ機能を用いてマルチデッドの発生を予測して、マルチデッドの発生前に、マルチデッドを発生させる２以上の記憶装置を交換することが考えられる。ここで、ＳＭＡＲＴ機能は、記憶装置が有することがある経年劣化による故障予測機能である。例えば、ＳＭＡＲＴ機能を有する記憶装置は、自身の装置の状態を示す状態情報の要求を送信すると、状態情報を要求元に送信する。以下、状態情報を、「ＳＭＡＲＴ情報」と称する。
【００１６】
ＳＭＡＲＴ情報には、例えば、記憶装置の記憶領域を分割した分割領域のうち代替処理を行った分割領域の数が含まれる。ここで、分割領域は、記憶領域における最小の記憶単位である。以下、分割領域を、「セクタ」と称する。セクタのサイズは、例えば、記憶装置がＨＤＤであれば、５１２［バイト］や４０９６［バイト］である。また、代替処理とは、読み書きが行えなくなった不良セクタの代わりに、代替用のセクタを割り当てる処理である。
【００１７】
しかしながら、ＳＭＡＲＴ機能を用いてマルチデッドの発生を予測して、マルチデッドの発生前にマルチデッドを発生させる２以上の記憶装置を交換する際、マルチデッドが発生する場合がある。例えば、ＳＭＡＲＴ監視において、ＳＭＡＲＴエラー通知を行う時期が重なった場合には、マルチデッドが発生するリスクがある。例えば、マルチデッドを発生させる２以上の記憶装置のうち、ある記憶装置を交換している間に、他の記憶装置が故障すると、マルチデッドが発生することになる。
【００１８】
そこで、本実施の形態では、ＳＭＡＲＴ情報から２以上の記憶装置が故障すると判定した場合、代替処理済のセクタの数が急増した記憶装置から順に交換する交換順序を決定する方法について説明する。ここで、図１を用いて、記憶装置制御装置１０１の動作を説明する。記憶装置制御装置１０１は、複数の記憶装置１０２として、記憶装置１０２＃０〜＃３を１つのＲＡＩＤグループとして制御する。また、記憶装置制御装置１０１は、記憶装置１０２＃０〜＃３により、ＲＡＩＤ５による仮想的なディスクを形成しているものとする。そして、記憶装置１０２＃０〜＃３は、ＳＭＡＲＴ機能を有するものとする。なお、記憶装置１０２＃０〜＃３が、ＳＭＡＲＴ機能とは別に、状態情報を送信する機能を有していれば、本実施の形態では、前述のＳＭＡＲＴ機能とは別の状態情報を送信する機能を用いてもよい。
【００１９】
まず、記憶装置制御装置１０１は、記憶装置１０２＃０〜＃３のそれぞれから、ＳＭＡＲＴ情報１１１＃０〜＃３を読み出す。次に、記憶装置制御装置１０１は、読み出したＳＭＡＲＴ情報１１１＃０〜＃３を参照して、マルチデッドを発生させる可能性がある、交換対象となる２以上の記憶装置１０２があるか否かを判定する。例えば、記憶装置制御装置１０１は、ＳＭＡＲＴ情報１１１に含まれる代替処理済のセクタの数が所定の閾値より多い記憶装置が２以上ある場合、交換対象となる２以上の記憶装置があると判定する。
【００２０】
また、記憶装置制御装置１０１は、ＳＭＡＲＴ情報１１１に含まれる代替処理済のセクタの数以外の情報を参照して、交換対象となる２以上の記憶装置があるか否かを判定してもよい。具体的には、例えば、ＳＭＡＲＴ情報１１１には、記憶装置１０２における代替可能なセクタの最大の数に対する代替可能なセクタの数の割合を示す未使用率と、記憶装置１０２の仕様に応じた未使用率に対する閾値を含む。
【００２１】
以下、未使用率を、ＳＭＡＲＴ機能で呼称されている代替処理済のセクタの数（Ｒｅａｌｌｏｃａｔｅｄ  Ｓｅｃｔｏｒｓ  Ｃｏｕｎｔ）における現在の値（Ｖａｌｕｅ）、以下、単に、「現在の値」と呼称する。同様に、代替処理済のセクタの数を、ＳＭＡＲＴ機能で呼称されている代替処理済のセクタの数における生の値（Ｒａｗ）、以下、単に、「生の値」と呼称する。また、以下、単に、「閾値」と記載した場合には、ＳＭＡＲＴ機能で呼称されている代替処理済のセクタの数における閾値（Ｔｈｒｅｓｈｏｌｄ）のことを示す。
【００２２】
図１におけるグラフ１１２＃０〜＃３は、ＳＭＡＲＴ情報１１１＃０〜＃３からそれぞれ得られた記憶装置１０２＃０〜＃３における現在の値と閾値との関係を示す。ここで、グラフ１１２＃０〜＃３内の棒グラフの長さが、現在の値の大きさを示す。また、記憶装置１０２＃０〜＃３における閾値は、図１に示すように、記憶装置１０２の仕様に応じた値であり、記憶装置１０２の製造元が独自に設定するものなので一様ではない。
【００２３】
そして、記憶装置制御装置１０１は、現在の値から閾値を減じた値に基づいて、交換対象となる２以上の記憶装置１０２があるか否かを判定する。ここで、現在の値から閾値を減じた値を、「残存寿命」と定義する。例えば、記憶装置制御装置１０１は、残存寿命が５［％］等の所定の閾値以下となる記憶装置１０２が２以上ある場合、交換対象となる２以上の記憶装置１０２があると判定する。
【００２４】
図１の例では、説明の簡略化のため、グラフ１１２＃０〜＃３内に、残存寿命を、「大」、「中」、「小」という３段階で示す。残存寿命のより詳細な例については、図１１で示す。図１の例では、記憶装置１０２＃０、＃１の残存寿命が「小」であり、記憶装置１０２＃２の残存寿命が「中」であり、記憶装置１０２＃３の残存寿命が「大」である。従って、記憶装置制御装置１０１は、残存寿命が「小」である記憶装置１０２＃０、＃１を交換対象とし、交換対象となる２以上の記憶装置があると判定する。
【００２５】
次に、記憶装置制御装置１０１は、２以上の記憶装置があると判定した場合、２以上の記憶装置１０２のそれぞれのＳＭＡＲＴ情報１１１に含まれる生の値の時系列変化に基づいて、２以上の記憶装置１０２のそれぞれの交換順序を決定する。ここで、生の値の時系列変化に基づく理由としては、生の値が急増した記憶装置は、早く故障する可能性が高いという特徴があるためである。代替処理済のセクタの数の時系列変化の一例について、図１５で示す。例えば、記憶装置制御装置１０１は、２以上の記憶装置１０２の生の値の直近の時間における変化量が大きい記憶装置から順に、２以上の記憶装置１０２のそれぞれの交換順序を決定する。
【００２６】
また、図１の例では、記憶装置制御装置１０１は、生の値が更新された時刻が新しい順に、２以上の記憶装置１０２のそれぞれの交換順序を決定する。図１で示す例では、記憶装置１０２＃０の生の値の更新時刻が２０１５／０３／０３  １４：３０であり、記憶装置１０２＃１の生の値の更新時刻が２０１５／０２／２１  ２１：１５である。従って、記憶装置制御装置１０１は、生の値が更新された時刻が最新である記憶装置１０２＃０の交換順序を１番目として決定し、記憶装置１０２＃１の交換順序を２番目として決定する。これにより、記憶装置１０２の管理者が早く故障する可能性が高い記憶装置１０２＃０から先に交換することになり、記憶装置制御装置１０１は、マルチデッドの発生を抑制することができる。次に、記憶装置制御装置１０１をＲＡＩＤカードに適用した例を、図２を用いて説明する。
【００２７】
図２は、ＲＡＩＤシステム２００の構成例を示す説明図である。図２において、ＲＡＩＤシステム２００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１と、ＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３と、を含む。また、ＲＡＩＤシステム２００は、ディスクドライブ２０４およびディスク２０５と、通信インターフェース２０６と、ＲＡＩＤカード２０７と、ＨＤＤ＃０〜＃３とを含む。また、ＣＰＵ２０１〜ディスクドライブ２０４、通信インターフェース２０６、ＲＡＩＤカード２０７はバス２１１によってそれぞれ接続される。ここで、ＲＡＩＤカード２０７は、図１で示した記憶装置制御装置１０１に相当する。また、ＨＤＤ＃０〜＃３は、図１で示した記憶装置１０２に相当する。ＲＡＩＤシステム２００は、例えば、サーバや、パーソナル・コンピュータである。例えば、ＲＡＩＤシステム２００がサーバである場合、ＲＡＩＤシステム２００は、ＲＡＩＤシステム２００を利用する利用者に、ＨＤＤ＃０〜＃３から形成された仮想的なディスクを提供する。
【００２８】
ＣＰＵ２０１は、ＲＡＩＤシステム２００の全体の制御を司る演算処理装置である。また、ＲＡＩＤシステム２００は、複数のＣＰＵを有してもよい。ＲＯＭ２０２は、ブートプログラムなどのプログラムを記憶する不揮発性メモリである。ＲＡＭ２０３は、ＣＰＵ２０１のワークエリアとして使用される揮発性メモリである。
【００２９】
ディスクドライブ２０４は、ＣＰＵ２０１の制御に従ってディスク２０５に対するデータのリードおよびライトを制御する制御装置である。ディスクドライブ２０４には、例えば、磁気ディスクドライブ、光ディスクドライブ、ソリッドステートドライブなどを採用することができる。ディスク２０５は、ディスクドライブ２０４の制御で書き込まれたデータを記憶する不揮発性メモリである。例えばディスクドライブ２０４が磁気ディスクドライブである場合、ディスク２０５には、磁気ディスクを採用することができる。また、ディスクドライブ２０４が光ディスクドライブである場合、ディスク２０５には、光ディスクを採用することができる。また、ディスクドライブ２０４がソリッドステートドライブである場合、ディスク２０５には、半導体素子によって形成された半導体メモリ、いわゆる半導体ディスクを採用することができる。
【００３０】
通信インターフェース２０６は、ネットワークと内部のインターフェースを司り、他の装置からのデータの入出力を制御する制御装置である。具体的に、通信インターフェース２０６は、通信回線を通じてネットワークを介して他の装置に接続される。通信インターフェース２０６には、例えば、モデムやＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）アダプタなどを採用することができる。
【００３１】
ＲＡＩＤカード２０７は、ＲＡＩＤ技術をハードウェアにより実現する装置である。具体的には、ＲＡＩＤカード２０７は、ＨＤＤ＃０〜＃３により仮想的なディスクを形成する。また、ＲＡＩＤカード２０７は、パリティの計算を行う。ＲＡＩＤカード２０７の機能構成については、図３で説明する。また、ＲＡＩＤシステム２００の管理者が、ＲＡＩＤシステム２００を直接操作する場合、ＲＡＩＤシステム２００は、ディスプレイ、キーボード、マウスといったハードウェアを有してもよい。
【００３２】
図３は、ＲＡＩＤカード２０７の機能構成例を示す説明図である。ＲＡＩＤカード２０７は、ＲＡＩＤコントローラ３０１と、主記憶部３０２とを有する。ＲＡＩＤコントローラ３０１は、ＲＡＩＤカード２０７を制御する。ＲＡＩＤコントローラ３０１は、ＲＡＩＤ構成管理部３１１と、ＳＭＡＲＴエラー監視部３１２と、ＳＭＡＲＴ情報処理部３１３と、ＳＭＡＲＴ情報比較部３１４と、残存寿命算出部３１５と、同時故障判定部３１６と、早期交換係数付加部３１７とを有する。ＲＡＩＤ構成管理部３１１は、読出部３１８を含む。また、同時故障判定部３１６は、判定部３１９と決定部３２０とを含む。
【００３３】
また、主記憶部３０２は、ＲＡＩＤ構成情報保存メモリ３２１と、ＲＡＩＤ設定情報保存メモリ３２２と、ＳＭＡＲＴ情報管理テーブル３２３とを有する。ＳＭＡＲＴ情報管理テーブル３２３は、情報保存テーブル３３１Ａ、３３１Ｂと、変動時刻保存テーブル３３２と、残存寿命テーブル３３３と、早期交換係数テーブル３３４とを有する。
【００３４】
ＲＡＩＤ構成管理部３１１は、ＨＤＤ＃０〜＃３のＲＡＩＤ構成管理および基本制御を行う。ＳＭＡＲＴエラー監視部３１２は、ＨＤＤ＃０〜＃３がＳＭＡＲＴエラーを発生していないかをＲＡＩＤ構成管理部３１１経由で定期的に監視する。ＳＭＡＲＴ情報処理部３１３は、ＨＤＤ＃０〜＃３の故障予知に用いる一部のＳＭＡＲＴ情報および一部のＳＭＡＲＴ情報１１１の閾値を、情報保存テーブル３３１Ａ、Ｂに定期的に交互に保存する。ＳＭＡＲＴ情報比較部３１４は、情報保存テーブル３３１Ａ、Ｂのいずれか一方の更新時に、情報保存テーブル３３１Ａ、Ｂを比較し、比較して得た差分と差分検出時の時刻とを変動時刻保存テーブル３３２に更新保存する。
【００３５】
残存寿命算出部３１５は、情報保存テーブル３３１Ａ、Ｂのうち現在の情報が保存されたテーブルを参照し、ＨＤＤ＃０〜＃３内で仕様が異なる場合でも故障監視の基準値を均一化するための残存寿命を算出し、残存寿命テーブル３３３に保存する。
【００３６】
同時故障判定部３１６は、ＨＤＤの残存寿命が５［％］等の所定の閾値を下回ったＨＤＤが２つ以上ある場合、同じＲＡＩＤ構成内のＨＤＤかを確認し、かつ、残存寿命テーブル３３３を比較して同時期に故障するか判定する。
【００３７】
早期交換係数付加部３１７は、同時故障判定部３１６で同時期に故障すると判定された場合、同時期の故障を回避させるために、残存寿命テーブル３３３を更新する早期交換係数を求める。具体的には、早期交換係数付加部３１７は、先に交換させるＨＤＤの早期交換係数に、例えば、−２［％］等の所定値を付加する。
【００３８】
読出部３１８は、ＨＤＤ＃０〜＃３から、ＳＭＡＲＴ情報１１１＃０〜＃３を読み出す。判定部３１９は、読出部３１８が読み出したＳＭＡＲＴ情報１１１＃０〜＃３を参照して、ＨＤＤ＃０〜＃３から交換対象となる２以上のＨＤＤがあるか否かを判定する。具体的には、例えば、判定部３１９は、読出部３１８が読み出したＳＭＡＲＴ情報１１１＃０〜＃３から計算できる残存寿命が例えば５［％］以下となるＨＤＤが２以上ある場合、２以上のＨＤＤがあると判定する。または、判定部３１９は、読出部３１８が読み出したＳＭＡＲＴ情報１１１＃０〜＃３に含まれる生の値が所定の閾値以上となるＨＤＤが２以上ある場合、２以上のＨＤＤがあると判定してもよい。
【００３９】
また、ＳＭＡＲＴ情報１１１に、代替可能なセクタの数と、ＨＤＤの仕様に応じた代替可能なセクタの数に対する閾値が含まれているとする。この場合、判定部３１９は、読出部３１８が読み出したＳＭＡＲＴ情報１１１に含まれる代替可能なセクタの数が閾値以上となるＨＤＤが２以上ある場合、２以上のＨＤＤがあると判定してもよい。また、判定部３１９は、代替可能なセクタの数から現在の値を求めるとともに、代替可能なセクタの数に対する閾値から現在の値に対する閾値を求めてもよい。そして、判定部３１９は、求めた現在の値から閾値を減じることにより残存寿命を算出し、算出した残存寿命が例えば５［％］以下となるＨＤＤが２以上ある場合、２以上のＨＤＤがあると判定してもよい。
【００４０】
また、判定部３１９は、残存寿命同士の差分が、ＨＤＤを交換する作業にかかる所定の所要時間をＨＤＤで代替処理が発生する時間間隔の平均値と代替可能なセクタの最大の数とで割った値以下である場合、交換対象となる２以上のＨＤＤがあると判定する。例えば、ＨＤＤを交換する作業にかかる所定の所要時間が、２０時間であるとする。さらに、ＨＤＤで代替処理が発生する時間間隔の平均値が、１時間であるとする。さらに、代替可能なセクタの最大の数が、２０００であるとする。この場合、判定部３１９は、残存寿命同士の差分が、２０／１／２０００＝０．０１＝１［％］以下である場合、交換対象となる２以上のＨＤＤがあると判定する。ＨＤＤを交換する作業にかかる所定の所要時間やＨＤＤで代替処理が発生する時間間隔の平均値は、ＨＤＤ＃０〜＃３の管理者等により設定される。また、ＨＤＤで代替処理が発生する時間間隔の平均値は、ＲＡＩＤカード２０７が情報保存テーブル３３１や変動時刻保存テーブル３３２等を参照して求めておいてもよい。
【００４１】
以下の説明では、残存寿命同士の差分が１［％］以下である場合には、「残存寿命が同値とみなせる」と呼称する。
【００４２】
また、ＳＭＡＲＴ情報１１１に、代替可能なセクタの数と、ＨＤＤの仕様に応じた代替可能なセクタの数に対する閾値が含まれているとする。この場合、判定部３１９は、代替可能なセクタの数から閾値を減じた値同士の差分が、ＨＤＤを交換する作業にかかる所定の所要時間を、ＨＤＤで代替処理が発生する時間間隔の平均値で割った値以下である場合、交換対象となる２以上のＨＤＤがあると判定する。
【００４３】
決定部３２０は、判定部３１９が交換対象の２以上のＨＤＤがあると判定した場合、ＳＭＡＲＴ情報１１１に含まれる生の値の時系列変化に基づいて、交換対象の２以上のＨＤＤのそれぞれの交換順序を決定する。例えば、決定部３２０は、直近の時間における生の値が変化した時刻が新しいＨＤＤから順に、交換対象の２以上のＨＤＤのそれぞれの交換順序を決定する。または、決定部３２０は、直近の時間における生の値が変化した時刻が古いＨＤＤの交換順序が後になるように、交換対象の２以上のＨＤＤのそれぞれの交換順序を決定してもよい。
【００４４】
また、決定部３２０は、交換対象の２以上のＨＤＤのそれぞれの交換順序について、ある程度幅のある順序を決定してもよい。例えば、判定部３１９が、ＨＤＤ＃０、＃１、＃３という、交換対象の２以上のＨＤＤがあると判定したとする。そして、生の値の更新時刻が、ＨＤＤ＃０が最も新しく、ＨＤＤ＃１、＃３がＨＤＤ＃０より古い時刻でありほぼ同時刻であったとする。この場合、決定部３２０は、ＨＤＤ＃０の交換順序を１番目、ＨＤＤ＃１の交換順序を２番目か３番目、ＨＤＤ＃３の交換順序を２番目か３番目というように決定してもよい。
【００４５】
また、決定部３２０は、２以上のＨＤＤのうち生の値が変化した時刻が最も新しいＨＤＤを特定する。そして、決定部３２０は、特定したＨＤＤにおける現在の値から閾値より大きい値を減じた値と、特定したＨＤＤを除く残余のＨＤＤにおける現在の値から閾値を減じた値との大小関係に基づいて、２以上のＨＤＤのそれぞれの交換順序を決定してもよい。ここで、閾値より大きい値は、例えば、閾値に、早期交換係数付加部３１７で説明した所定値を加えた値である。言い換えれば、決定部３２０は、特定したＨＤＤの残存寿命から早期交換係数付加部３１７が付加した所定値を加えた値と、特定したＨＤＤを除く残余のＨＤＤの残存寿命との大小関係に基づいて、２以上のＨＤＤのそれぞれの交換順序を決定する。
【００４６】
また、ＳＭＡＲＴ情報１１１に、代替可能なセクタの数と、ＨＤＤの仕様に応じた代替可能なセクタの数に対する閾値が含まれているとする。そして、判定部３１９が、交換対象となる２以上のＨＤＤがあると判定したとする。この場合、決定部３２０は、代替可能なセクタの数の時系列変化に基づいて、交換対象の２以上のＨＤＤのそれぞれの交換順序を決定する。
【００４７】
なお、決定部３２０は、決定した交換順序を、ＣＰＵ２０１に通知する。ＣＰＵ２０１は、ＨＤＤ＃０〜＃３の管理者が閲覧可能なディスプレイやプリンタ等に決定した交換順序を出力する。
【００４８】
ＲＡＩＤ構成情報保存メモリ３２１は、ＲＡＩＤ構成情報を保存するメモリである。ＲＡＩＤ設定情報保存メモリ３２２は、ＲＡＩＤ設定を保存するメモリである。情報保存テーブル３３１Ａ、Ｂは、ＨＤＤ＃０〜＃３の故障予知に用いる一部のＳＭＡＲＴ情報１１１＃０〜＃３および一部のＳＭＡＲＴ情報１１１＃０〜＃３の閾値と、更新した時刻とを保存するテーブルである。変動時刻保存テーブル３３２は、情報保存テーブル３３１Ａ、Ｂの比較結果として差分を検出した際の時刻をＨＤＤごとに保存するテーブルである。残存寿命テーブル３３３は、ＨＤＤ＃０〜＃３内で仕様が異なる場合でも故障監視の基準値を均一化するための残存寿命をＨＤＤごとに保存するテーブルである。早期交換係数テーブル３３４は、残存寿命テーブル３３３を更新する早期交換係数をＨＤＤごとに保存するテーブルである。早期交換係数の初期値は０である。次に、機能構成上での動作例について、図４〜図６を用いて説明する。
【００４９】
図４は、機能構成上での動作例を示す説明図（その１）である。ＳＭＡＲＴエラー監視部３１２は、各ＨＤＤが通知するＳＭＡＲＴによるエラーの監視を行う。さらに、ＳＭＡＲＴエラー監視部３１２は、図４の（１）の処理として示すように、各ＨＤＤのＳＭＡＲＴ情報１１１およびＳＭＡＲＴ情報１１１の閾値の収集をＳＭＡＲＴ情報処理部３１３に定期的に依頼する。依頼を受けたＳＭＡＲＴ情報処理部３１３は、図４の（２）の処理として示すように、ＳＭＡＲＴ情報管理テーブル３２３内の情報保存テーブル３３１Ａ、Ｂに各ＨＤＤの現在のＳＭＡＲＴ情報１１１と前回のＳＭＡＲＴ情報１１１とを交互に保存する。また、ＳＭＡＲＴ情報比較部３１４は、図４の（３）で示すように、情報保存テーブル３３１Ａ、Ｂを更新時に比較し、差分を検出した場合に差分を検出した時刻を変動時刻保存テーブル３３２に保存する。
【００５０】
図５は、機能構成上での動作例を示す説明図（その２）である。図４の（３）の処理完了後、残存寿命算出部３１５は、図５の（１）の処理として示すように、情報保存テーブル３３１Ａ、Ｂのうちの現在のＳＭＡＲＴ情報１１１と、早期交換係数テーブル３３４とに基づいて、残存寿命を算出する。図５の（１）の処理により、ＲＡＩＤカード２０７は、各ＨＤＤ内で仕様が異なる場合でも故障監視の基準値を均一化させることができる。残存寿命算出部３１５は、算出した残存寿命に早期交換係数付加部３１７で付加した残存寿命で残存寿命テーブル３３３を更新する。なお、各ＨＤＤの初期状態として、残存寿命テーブル３３３の早期交換係数付加部３１７で付加される値は０である。そして、時間経過に伴い、同時期に故障を回避させるために０より小さい値が付加される。
【００５１】
次に、同時故障判定部３１６は、図５の（２）の処理として示すように、同時に故障しそうな２以上のＨＤＤを判定する。もし、同時故障判定部３１６で同時期に故障すると判定された場合、早期交換係数付加部３１７が同時期に故障を回避させるため、同時故障判定部３１６は、早期交換係数を付加するＨＤＤを決定する。例えば、同時故障判定部３１６は、変動時刻保存テーブル３３２のＳＭＡＲＴ情報１１１の故障時間遷移から故障が加速しているＨＤＤに対して所定値を付加する。
【００５２】
図６は、機能構成上での動作例を示す説明図（その３）である。図５の（２）の処理完了後、早期交換係数付加部３１７は、図６の（１）の処理として示すように、早期交換係数テーブル３３４を更新する。そして、ＳＭＡＲＴエラー監視部３１２は、図６の（２）の処理として示すように、ＳＭＡＲＴエラー情報を収集し、ＣＰＵ２０１等に通知する。
【００５３】
図７は、情報保存テーブル３３１の記憶内容の一例を示す説明図である。図７に示す情報保存テーブル３３１Ａ、Ｂは、各ＨＤＤのＳＭＡＲＴ情報１１１のうちの代替処理済セクタ数と、更新時刻とを記憶する。代替処理済セクタ数は、現在の値と、閾値と、生の値とを有する。
【００５４】
現在の値は、図１で説明したように、ＨＤＤにおける代替可能なセクタの最大の数に対する代替可能なセクタの数の割合を示す。なお、ＨＤＤが消耗していくにつれ、現在の値は１００％から小さくなる。
【００５５】
閾値は、ＳＭＡＲＴエラーを通知するか否かの判断基準として、現在の値と比較する値である。一般的なＨＤＤの仕様として、ＨＤＤは、現在の値が閾値未満となった場合、ＳＭＡＲＴエラーを通知する。従って、現在の値から閾値を減算した残存寿命が重要なものとなる。
【００５６】
生の値は、図１で説明したように、代替処理済のセクタの数を示す。ここで、代替処理の対象となった読み書きできなくなったセクタが再び読み書きできるようになることはない。従って、生の値は、代替処理を行った回数とも一致する。なお、ＨＤＤが消耗していくにつれ、生の値は０から大きくなる。また、図７に示す生の値は便宜上１０進数表記とする。
【００５７】
例えば、図７に示す情報保存テーブル３３１Ａは、例えば、ＨＤＤ＃０について、現在の値が４０．５［％］、閾値が３６［％］、生の値が１３０９であることを示す。また、図７に示す情報保存テーブル３３１Ａは、ＨＤＤ＃０〜＃３の代替処理済セクタ数の更新時刻が２０１５／０３／０３  １４：３０であることを示す。次に、図８を用いて、監視処理のフローチャートを説明する。
【００５８】
図８は、監視処理手順の一例を示すフローチャートである。監視処理は、ＲＡＩＤの運用を開始したら常に行われる処理である。また、監視処理は、ＲＡＩＤカード２０７の各部が協働して実行する。
【００５９】
ＲＡＩＤカード２０７は、ＳＭＡＲＴ情報収集各種テーブル比較前処理を実行する（ステップＳ８０１）。ＳＭＡＲＴ情報収集各種テーブル比較前処理については、図９で説明する。ステップＳ８０１終了後、同時故障判定部３１６は、残存寿命テーブル３３３のうち、残存寿命が５％以下のＨＤＤがあるか否かを判定する（ステップＳ８０２）。残存寿命が５％以下のＨＤＤがある場合（ステップＳ８０２：Ｙｅｓ）、同時故障判定部３１６は、残存寿命が同値とみなせるＨＤＤが２つ以上あるか否かを判定する（ステップＳ８０３）。残存寿命が同値とみなせるＨＤＤが２つ以上ある場合（ステップＳ８０３：Ｙｅｓ）、同時故障判定部３１６は、残存寿命が同値とみなせる２つ以上のＨＤＤが冗長構成ペアの組み合わせか否かを判定する（ステップＳ８０４）。
【００６０】
残存寿命が同値とみなせる２つ以上のＨＤＤが冗長構成ペアの組み合わせである場合（ステップＳ８０４：Ｙｅｓ）、早期交換係数付加部３１７は、早期交換係数テーブル更新処理を実行する（ステップＳ８０５）。早期交換係数テーブル更新処理については、図１２で説明する。そして、ＲＡＩＤカード２０７は、ステップＳ８０３の処理に移行する。
【００６１】
一方、残存寿命が５％以下のＨＤＤがない場合（ステップＳ８０２：Ｎｏ）、ＳＭＡＲＴエラー監視部３１２は、残存寿命が０以下となったＨＤＤが存在するか否かを判断する（ステップＳ８０６）。残存寿命が同値とみなせるＨＤＤが１つである場合、または、残存寿命が同値とみなせる２つ以上のＨＤＤが冗長構成ペアの組み合わせでない場合（ステップＳ８０３、Ｓ８０４：Ｎｏ）も同様に、ＳＭＡＲＴエラー監視部３１２は、ステップＳ８０６の処理を実行する。
【００６２】
残存寿命が０以下となったＨＤＤが存在する場合（ステップＳ８０６：Ｙｅｓ）、ＳＭＡＲＴエラー監視部３１２は、ＨＤＤ＃０〜＃３の管理者に残存寿命が０以下となったＨＤＤの交換指示を通知する（ステップＳ８０７）。そして、ステップＳ８０７の処理終了後、または、残存寿命が０以下となったＨＤＤが存在しない場合（ステップＳ８０６：Ｎｏ）、ＲＡＩＤカード２０７は、インターバル時間として、１５分間待機する（ステップＳ８０８）。そして、ＲＡＩＤカード２０７は、ステップＳ８０１の処理に移行する。ここで、ステップＳ８０８の処理における１５分間という待ち時間は、代替処理済セクタ数の変動は最短でも１時間程度で発生すると考慮して、余裕をもって設定した時間である。
【００６３】
図９は、ＳＭＡＲＴ情報収集各種テーブル比較前処理手順の一例を示すフローチャートである。ＳＭＡＲＴ情報収集各種テーブル比較前処理は、ＳＭＡＲＴ情報を比較する前に、各種テーブルとして、情報保存テーブル３３１〜残存寿命テーブル３３３を更新する処理である。
【００６４】
ＳＭＡＲＴ情報処理部３１３は、各ＨＤＤから、ＳＭＡＲＴ情報１１１を読み出す（ステップＳ９０１）。次に、ＳＭＡＲＴ情報処理部３１３は、情報保存テーブル３３１Ａ、Ｂの古い方、すなわち、更新時刻が古い方の各ＨＤＤのＳＭＡＲＴ情報１１１を、読み出したＳＭＡＲＴ情報１１１で更新する（ステップＳ９０２）。このとき、ＳＭＡＲＴ情報処理部３１３は、更新した情報保存テーブル３３１の更新時刻も現時刻で更新する。次に、ＳＭＡＲＴ情報比較部３１４は、情報保存テーブル３３１の生の値に更新があったＨＤＤがあるか否かを判断する（ステップＳ９０３）。
【００６５】
情報保存テーブル３３１の生の値に更新があったＨＤＤがある場合（ステップＳ９０３：Ｙｅｓ）、ＳＭＡＲＴ情報比較部３１４は、変動時刻保存テーブル３３２における更新があったＨＤＤの更新時刻を更新する（ステップＳ９０４）。具体的な変動時刻保存テーブル３３２の更新例については、図１０で示す。
【００６６】
ステップＳ９０４の処理終了後、または、情報保存テーブル３３１の生の値に更新があったＨＤＤがない場合（ステップＳ９０３：Ｎｏ）、ＳＭＡＲＴ情報比較部３１４は、各ＨＤＤについて、ＳＭＡＲＴ情報の現在の値から閾値を減算し、各ＨＤＤの早期交換付加係数を加算する（ステップＳ９０５）。そして、残存寿命算出部３１５は、残存寿命テーブル３３３の各ＨＤＤの残存寿命を、各ＨＤＤについて算出した値で更新する（ステップＳ９０６）。具体的な残存寿命テーブル３３３の更新例については、図１１で示す。ステップＳ９０６の処理終了後、ＲＡＩＤカード２０７は、ＳＭＡＲＴ情報収集各種テーブル比較前処理を終了する。
【００６７】
図１０は、変動時刻保存テーブル３３２の更新例を示す説明図である。図１０では、図７で説明した更新後の情報保存テーブル３３１Ａの各ＨＤＤの生の値と、情報保存テーブル３３１Ｂの各ＨＤＤの生の値と、変動時刻保存テーブル３３２とを示す。
【００６８】
図１０で示す例では、２０１５／０３／０３  １４：３０に情報保存テーブル３３１Ａを更新した後、ＳＭＡＲＴ情報比較部３１４は、情報保存テーブル３３１の生の値に更新があったＨＤＤがあるか否かを判断する。図１０の例では、ＨＤＤ＃０の生の値に更新があったため、ＳＭＡＲＴ情報比較部３１４は、変動時刻保存テーブル３３２におけるＨＤＤ＃０の更新時刻を、情報保存テーブル３３１Ａを更新した時刻を示す文字列「２０１５／０３／０３  １４：３０」で更新する。図１０の例では、更新した箇所を網掛けで示す。
【００６９】
図１１は、残存寿命テーブル３３３の更新例を示す説明図である。図１１では、図７で説明した更新後の情報保存テーブル３３１Ａの各ＨＤＤの現在の値および閾値と、早期交換係数テーブル３３４と、残存寿命テーブル３３３とを示す。図１１で示す早期交換係数テーブル３３４の各ＨＤＤの早期交換係数は０とする。
【００７０】
残存寿命算出部３１５は、各ＨＤＤについて、現在の値から閾値を減算し、減算して得た値に、早期交換係数を加算することにより、残存寿命を算出し、残存寿命テーブル３３３を更新する。例えば、図１１の例では、残存寿命算出部３１５は、ＨＤＤ＃０について、現在の値となる４０．５から閾値となる３６を減算し、減算して得た値となる４．５に、早期交換係数となる０を加算することにより、残存寿命となる４．５を算出する。
【００７１】
図１２は、早期交換係数テーブル更新処理手順の一例を示すフローチャートである。早期交換係数テーブル更新処理は、早期交換係数テーブル３３４を更新する処理である。ここで、早期交換係数テーブル更新処理の対象となるＨＤＤは、ステップＳ８０４の処理において、残存寿命が同値とみなせるＨＤＤである。そして、早期交換係数テーブル更新処理の対象となるＨＤＤは、２つ以上となる。
【００７２】
早期交換係数付加部３１７は、変動時刻保存テーブル３３２の変動時刻が同値か否かを判断する（ステップＳ１２０１）。変動時刻保存テーブル３３２の変動時刻が同値である場合（ステップＳ１２０１：Ｙｅｓ）、早期交換係数付加部３１７は、早期交換係数の小さいＨＤＤの早期交換係数に所定値を付加する（ステップＳ１２０２）。一方、変動時刻保存テーブル３３２の変動時刻が異なる場合（ステップＳ１２０１：Ｎｏ）、早期交換係数付加部３１７は、変動時刻が最新のＨＤＤの早期交換係数に所定値を付加する（ステップＳ１２０３）。
【００７３】
ここで、ステップＳ１２０２およびＳ１２０３における所定値は、例えば、−２［％］である。−２［％］の妥当性について記載する。まず、予備セクタは、少ないものでは１０進数で２０００セクタ程度ある。また、通常のケースでは１セクタにつき１日以上、消耗が激しいケースでは１セクタにつき１時間で代替処理が発生すると考えられる。消耗が激しいケースにおいて、ＳＭＡＲＴエラーの発生の時間差を最低でも１日程度確保したい場合、誤差１％以内、すなわち、２０００＊０．０１＊１［時間］＝２０時間程度で同値とみなして判定し、オフセットを付加するのが良い。また、早期交換係数に所定値として−２［％］を付加することにより、ＳＭＡＲＴエラーに対して最低でも４０時間の時間差が発生する。１日以上のマージンを設けることにより、運用保守において、マルチデッドを発生させる前に十分な作業ができることになる。
【００７４】
なお、ステップＳ８０２における早期交換係数を付加させる閾値の残存寿命５％以下の設定では、数値上は最大−６％だが、残存寿命が負の値となるため、実質最大−５％の早期交換係数を付加することになる。１日１セクタの置換が発生すると仮定すると、１００日交換時期が早くなるといえ、消耗の早いＨＤＤで短くとも３〜４年程度運用することを考えると寿命は無視していないといえるレベルである。
【００７５】
ステップＳ１２０２、またはステップＳ１２０３の処理終了後、早期交換係数付加部３１７は、付加した値で早期交換係数テーブル３３４を更新する（ステップＳ１２０４）。早期交換係数テーブル３３４の更新例については、図１３で説明する。
【００７６】
次に、早期交換係数付加部３１７は、各ＨＤＤについて、ＳＭＡＲＴ情報１１１の現在の値から閾値を減算し、更新した早期交換係数テーブル３３４の各ＨＤＤの早期交換付加係数を加算する（ステップＳ１２０５）。そして、早期交換係数付加部３１７は、残存寿命テーブル３３３の各ＨＤＤの残存寿命を、各ＨＤＤについて算出した値で更新する（ステップＳ１２０６）。残存寿命テーブル３３３の更新例については、図１４で説明する。ステップＳ１２０６の処理終了後、ＲＡＩＤカード２０７は、早期交換係数テーブル更新処理を終了する。
【００７７】
図１３は、早期交換係数テーブル３３４の更新例を示す説明図である。図１３では、図１０で示した変動時刻保存テーブル３３２と、早期交換係数テーブル３３４とを示す。図１３の例では、早期交換係数付加部３１７は、変動時刻が最新のＨＤＤとなるＨＤＤ＃０の早期交換係数を、所定値として−２［％］付加する。
【００７８】
図１４は、更新前後の残存寿命テーブル３３３の記憶内容の一例を示す説明図である。図１４では、早期交換係数テーブル３３４の値の更新前の残存寿命テーブル３３３と、図１３で説明した更新後の早期交換係数テーブル３３４と、早期交換係数テーブル３３４の値により更新後の残存寿命テーブル３３３’とを示す。
【００７９】
図１４の例では、早期交換係数付加部３１７は、例えば、ＨＤＤ＃０について、ＳＭＡＲＴ情報１１１の現在の値４０．５から閾値３６を減算し、更新した早期交換係数テーブル３３４のＨＤＤ＃０の早期交換付加係数−２を加算し、２．５を得る。得られた値は、更新前の残存寿命テーブル３３３の値から、早期交換係数テーブル３３４の値を減じた値となる。なお、図１４の例では、残存寿命が０［％］以下のＨＤＤはないため、ＳＭＡＲＴエラー監視部３１２は、ＨＤＤの交換指示を通知しない。これにより、同時期に寿命が訪れたであろうＨＤＤ＃０、＃１の交換時期を分散させることができる。
【００８０】
ここで、より複雑な状況として、ステップＳ８０３の処理において、残存寿命が同値とみなせるＨＤＤが３つあった場合について説明する。まず、１回目のステップＳ８０３の処理において、残存寿命テーブル３３３の各値が以下のようになったとする。また、変動時刻保存テーブル３３２については、図１０で示した値と同値であるとする。また、１回目のステップＳ８０３の処理前の段階で、早期交換係数テーブル３３４の各値は０であるとする。
【００８１】
ＨＤＤ＃０：４．５
ＨＤＤ＃１：３．６
ＨＤＤ＃２：３１．４
ＨＤＤ＃３：４．０
【００８２】
この場合、同時故障判定部３１６は、残存寿命が同値とみなせるＨＤＤとして、ＨＤＤ＃０、＃１、＃３があると判定する。従って、早期交換係数付加部３１７は、ステップＳ８０５の処理である早期交換係数テーブル更新処理において、ＨＤＤ＃０、＃１、＃３のうちＨＤＤ＃０の更新時刻が最新であるとして、ＨＤＤ＃０の早期交換係数に所定値として−２［％］を付加する。そして、早期交換係数付加部３１７は、更新した早期交換係数テーブル３３４を用いて、以下のように残存寿命テーブル３３３を更新する。
【００８３】
ＨＤＤ＃０：２．５
ＨＤＤ＃１：３．６
ＨＤＤ＃２：３１．４
ＨＤＤ＃３：４．０
【００８４】
ステップＳ８０５の処理終了後、２回目のステップＳ８０３の処理において、同時故障判定部３１６は、残存寿命が同値とみなせるＨＤＤとして、ＨＤＤ＃１、＃３があると判定する。ステップＳ８０５の処理である早期交換係数テーブル更新処理において、ＨＤＤ＃１、＃３のうちＨＤＤ＃１の更新時刻が最新であるとして、ＨＤＤ＃１の早期交換係数に所定値として−２［％］を付加する。そして、早期交換係数付加部３１７は、更新した早期交換係数テーブル３３４を用いて、以下のように残存寿命テーブル３３３を更新する。
【００８５】
ＨＤＤ＃０：２．５
ＨＤＤ＃１：１．６
ＨＤＤ＃２：３１．４
ＨＤＤ＃３：４．０
【００８６】
ステップＳ８０５の処理終了後、３回目のステップＳ８０３の処理において、同時故障判定部３１６は、残存寿命が同値とみなせるＨＤＤとして、ＨＤＤ＃０、＃１があると判定する。ステップＳ８０５の処理である早期交換係数テーブル更新処理において、ＨＤＤ＃０、＃１のうちＨＤＤ＃０の更新時刻が最新であるとして、ＨＤＤ＃０の早期交換係数に所定値として−２［％］を付加する。これにより、ＨＤＤ＃０の早期交換係数は、−４［％］となる。そして、早期交換係数付加部３１７は、更新した早期交換係数テーブル３３４を用いて、以下のように残存寿命テーブル３３３を更新する。
【００８７】
ＨＤＤ＃０：０．５
ＨＤＤ＃１：１．６
ＨＤＤ＃２：３１．４
ＨＤＤ＃３：４．０
【００８８】
ステップＳ８０５の処理終了後、４回目のステップＳ８０３の処理において、同時故障判定部３１６は、残存寿命が同値とみなせるＨＤＤがないと判定する。この場合、ＲＡＩＤカード２０７は、交換順序を、残存寿命の小さい順に、ＨＤＤ＃０、＃１、＃３とする。
【００８９】
図１５は、代替処理済のセクタの数の時系列変化の一例を示す説明図である。故障予知として、代替処理済のセクタの数の急増が明確な指標となる。代替処理済セクタ数が急増した状態で運用した例を、下記参考文献１、２内に示す。
【００９０】
（参考文献１：ＣＤＩをアップデート  −  周回遅れの日記、［平成２７年６月２日検索］、インターネット＜ｈｔｔｐ：／／ｄ．ｈａｔｅｎａ．ｎｅ．ｊｐ／ｈｉｎｋｙａｋｕ４９／２０１３１０１８／１３８２１０４２９０＞）
（参考文献２：白黒ニャンコ毛玉団  ≫  Ｂｌｏｇ  Ａｒｃｈｉｖｅ  ≫  代替処理済増加中：、［平成２７年６月２日検索］、インターネット＜ｈｔｔｐ：／／ｍａｊｉｍｅｇａｗａ．ｃｏｍ／ｂｌｏｇ／ｎｙａｎｋｏ／ａｒｃｈｉｖｅｓ／１６３０＞）
【００９１】
図１５で示すグラフ１５０１は、ＨＤＤ＃Ａ、＃Ｂの代替処理回数の時系列変化を模式的に示したものである。グラフ１５０１の横軸は、ＨＤＤ＃Ａ、＃Ｂを使用開始してからの日数を示す。グラフ１５０１の縦軸は、代替処理回数を示す。そして、グラフ１５０１では、ＨＤＤ＃Ａの代替処理回数の時系列変化を、実線の曲線で示し、ＨＤＤ＃Ｂの代替処理回数の時系列変化を、破線の曲線で示す。
【００９２】
グラフ１５０１が示すように、ＨＤＤ＃Ａの代替処理回数が１００回から２００回に増加するまでにかかる日数は、ＨＤＤ＃Ｂの代替処理回数が１００回から２００回に増加するまでにかかる日数より短い。また、ＨＤＤ＃Ａは、使用開始してから５６日で代替処理回数が４００回に到達しているのに対し、ＨＤＤ＃Ｂは、使用開始してから５８日で代替処理回数が４００回に到達している。このように、ＨＤＤ＃ＡとＨＤＤ＃Ｂとを比較すると、増加頻度が早いＨＤＤ＃Ａがより速く故障しそうであり危険であるとして、早期交換係数付加部３１７は、ＨＤＤ＃Ａを早期交換係数の付加先として決定する。
【００９３】
以上説明したように、ＲＡＩＤカード２０７は、ＳＭＡＲＴ情報１１１から２以上のＨＤＤが故障すると判定した場合、ＳＭＡＲＴ情報１１１に含まれる生の値が急増したＨＤＤから順に交換する交換順序を決定する。これにより、ＨＤＤ＃０〜＃３の管理者が早く故障する可能性が高いＨＤＤから先に交換することになり、ＲＡＩＤカード２０７は、マルチデッドの発生を抑制することができる。また、ＲＡＩＤカード２０７は、マルチデッドの発生を抑制することにより、ＲＡＩＤシステム２００の障害が発生することを抑制することができる。また、ＲＡＩＤカード２０７は、予兆監視によってＨＤＤごとに交換時期を順序づけて予防交換することで、マルチデッドの発生のリスクを分散できる。また、マルチデッドの発生を抑制するため、ＲＡＩＤカード２０７は、冗長性を確保することができる。
【００９４】
また、ＲＡＩＤカード２０７は、ＨＤＤ＃０〜＃３におけるＳＭＡＲＴ情報１１１に含まれる現在の値から閾値を減じた残存寿命に基づいて、交換対象となる２以上のＨＤＤをあるか否かを判定してもよい。これにより、ＲＡＩＤカード２０７は、ＨＤＤの製造元が設定した閾値を用いて判定することができるため、ＨＤＤ＃０〜＃３の仕様が異なる場合でも故障監視の基準値を均一化することができる。
【００９５】
また、ＲＡＩＤカード２０７は、残存寿命同士の差分が、ＨＤＤを交換する作業にかかる所定の所要時間をＨＤＤで代替処理が発生する時間間隔の平均値と代替可能なセクタの最大の数とで割った値以下ならば、交換対象となる２以上のＨＤＤがあるとしてもよい。これにより、ＲＡＩＤカード２０７は、ＨＤＤを交換する作業にかかる所定の所要時間内に、２以上のＨＤＤが故障することを抑制することができる。
【００９６】
また、ＲＡＩＤカード２０７は、生の値が変化した時刻が最も新しいＨＤＤの残存寿命から所定値を加えた値と、特定したＨＤＤを除く残余のＨＤＤの残存寿命との大小関係に基づいて、２以上のＨＤＤのそれぞれの交換順序を決定してもよい。これにより、ＲＡＩＤカード２０７は、生の値が変化した時刻が最も新しく、最も故障する可能性が高いＨＤＤの残存寿命を小さくして、より早く交換されるようにすることができる。
【００９７】
また、ＲＡＩＤカード２０７は、ＳＭＡＲＴ情報１１１に含まれる現在の値の代わりに代替可能なセクタの数を用い、ＳＭＡＲＴ情報１１１に含まれる閾値の代わりに、代替可能なセクタの数に対する閾値を用いてもよい。ＳＭＡＲＴ情報１１１に含まれる現在の値や閾値を用いることにより、ＲＡＩＤカード２０７は、ＨＤＤ＃０〜＃３の管理者が閾値を設定することなく、ＳＭＡＲＴ情報１１１に含まれる情報を用いてマルチデッドの発生を抑制することができる。
【００９８】
また、本実施の形態で説明したＲＡＩＤカード２０７は、スタンダードセルやストラクチャードＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などの特定用途向けＩＣ（以下、単に「ＡＳＩＣ」と称す。）やＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）などのＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）によっても実現することができる。具体的には、例えば、上述したＲＡＩＤカード２０７のＲＡＩＤコントローラ３０１をＨＤＬ記述によって機能定義し、そのＨＤＬ記述を論理合成してＡＳＩＣやＰＬＤに与えることにより、ＲＡＩＤカード２０７を製造することができる。
【００９９】
なお、ソフトウェアにより本実施の形態を実現する際、本実施の形態で説明した記憶装置制御方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。また、本記憶装置制御プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本記憶装置制御プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１００】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１０１】
（付記１）ＲＡＩＤグループを形成する複数の記憶装置の各記憶装置から、前記各記憶装置の記憶領域を分割した分割領域のうち代替処理を行った分割領域の数を含む状態情報を読み出す読出部と、
前記読出部が読み出した前記各記憶装置の状態情報を参照して、前記複数の記憶装置から交換対象となる２以上の記憶装置があるか否かを判定する判定部と、
前記判定部が前記２以上の記憶装置があると判定した場合、前記２以上の記憶装置の各記憶装置の状態情報に含まれる前記代替処理を行った分割領域の数の時系列変化に基づいて、前記２以上の記憶装置の各記憶装置の交換順序を決定する決定部と、
を有することを特徴とする記憶装置制御装置。
【０１０２】
（付記２）前記状態情報は、さらに、前記各記憶装置における代替可能な分割領域の数と、前記各記憶装置の仕様に応じた前記代替可能な分割領域の数に対する閾値とを含み、
前記判定部は、
前記各記憶装置の前記状態情報に含まれる前記各記憶装置における代替可能な分割領域の数から前記閾値を減じた値に基づいて、前記複数の記憶装置から交換対象となる２以上の記憶装置があるか否かを判定する、
ことを特徴とする付記１に記載の記憶装置制御装置。
【０１０３】
（付記３）前記判定部は、
前記各記憶装置における代替可能な分割領域の数から前記閾値を減じた値同士の差分が、記憶装置を交換する作業にかかる所定の所要時間を前記各記憶装置で代替処理が発生する時間間隔の平均値で割った値以下である場合、交換対象となる２以上の記憶装置があると判定する、
ことを特徴とする付記２に記載の記憶装置制御装置。
【０１０４】
（付記４）前記決定部は、
前記判定部が前記２以上の記憶装置があると判定した場合、前記２以上の記憶装置のうち前記代替処理を行った分割領域の数が変化した時刻が最も新しい記憶装置における代替可能な分割領域の数から前記閾値より大きい値を減じた値と、前記２以上の記憶装置のうち前記最も新しい記憶装置を除く記憶装置における代替可能な分割領域の数から前記閾値を減じた値との大小関係に基づいて、前記２以上の記憶装置の各記憶装置の交換順序を決定する、
ことを特徴とする付記２または３に記載の記憶装置制御装置。
【０１０５】
（付記５）前記状態情報は、さらに、前記各記憶装置における代替可能な分割領域の最大の数に対する代替可能な分割領域の数の割合を示す未使用率と、前記各記憶装置の仕様に応じた前記未使用率に対する閾値とを含み、
前記判定部は、
前記各記憶装置の前記状態情報に含まれる前記各記憶装置における前記未使用率から前記未使用率に対する閾値を減じた値に基づいて、前記複数の記憶装置から交換対象となる２以上の記憶装置があるか否かを判定する、
ことを特徴とする付記１〜４のいずれか一つに記載の記憶装置制御装置。
【０１０６】
（付記６）コンピュータが、
ＲＡＩＤグループを形成する複数の記憶装置の各記憶装置から、前記各記憶装置の記憶領域を分割した分割領域のうち代替処理を行った分割領域の数を含む状態情報を読み出し、
読み出した前記各記憶装置の状態情報を参照して、前記複数の記憶装置から交換対象となる２以上の記憶装置があるか否かを判定し、
前記２以上の記憶装置があると判定した場合、前記２以上の記憶装置の各記憶装置の状態情報に含まれる前記代替処理を行った分割領域の数の時系列変化に基づいて、前記２以上の記憶装置の各記憶装置の交換順序を決定する、
処理を実行することを特徴とする記憶装置制御方法。
【０１０７】
（付記７）コンピュータに、
ＲＡＩＤグループを形成する複数の記憶装置の各記憶装置から、前記各記憶装置の記憶領域を分割した分割領域のうち代替処理を行った分割領域の数を含む状態情報を読み出し、
読み出した前記各記憶装置の状態情報を参照して、前記複数の記憶装置から交換対象となる２以上の記憶装置があるか否かを判定し、
前記２以上の記憶装置があると判定した場合、前記２以上の記憶装置の各記憶装置の状態情報に含まれる前記代替処理を行った分割領域の数の時系列変化に基づいて、前記２以上の記憶装置の各記憶装置の交換順序を決定する、
処理を実行させることを特徴とする記憶装置制御プログラム。
【符号の説明】
【０１０８】
１０１  記憶装置制御装置
１０２  記憶装置
１１１  ＳＭＡＲＴ情報
２００  ＲＡＩＤシステム
３０１  ＲＡＩＤコントローラ
３０２  主記憶部
３１１  ＲＡＩＤ構成管理部
３１２  ＳＭＡＲＴエラー監視部
３１３  ＳＭＡＲＴ情報処理部
３１４  ＳＭＡＲＴ情報比較部
３１５  残存寿命算出部
３１６  同時故障判定部
３１７  早期交換係数付加部
３１８  読出部
３１９  判定部
３２０  決定部
３２１  ＲＡＩＤ構成情報保存メモリ
３２２  ＲＡＩＤ設定情報保存メモリ
３２３  ＳＭＡＲＴ情報管理テーブル
３３１  情報保存テーブル
３３２  変動時刻保存テーブル
３３３  残存寿命テーブル
３３４  早期交換係数テーブル
【図１】
0006477320.tif 000002
【図２】
0006477320.tif 000003
【図３】
0006477320.tif 000004
【図４】
0006477320.tif 000005
【図５】
0006477320.tif 000006
【図６】
0006477320.tif 000007
【図７】
0006477320.tif 000008
【図８】
0006477320.tif 000009
【図９】
0006477320.tif 000010
【図１０】
0006477320.tif 000011
【図１１】
0006477320.tif 000012
【図１２】
0006477320.tif 000013
【図１３】
0006477320.tif 000014
【図１４】
0006477320.tif 000015
【図１５】
0006477320.tif 000016