(57)【要約】  【課題】  複数のハードディスクドライブが接続されたディスクアレイシステムにおいて、障害情報から、障害発生を予測し、エラーの発生率を抑えるディスクアレイシステムを提供することにある。  【解決手段】  ディスクアレイコントローラ１０の障害情報管理部１１は、定期的に各ハードディスクドライブ２０の障害情報３０を取得し、過去数回分のデータから障害予測を行う。障害発生率が高いハードディスクに対しては、キャッシュメモリ１２を利用してアクセスを制限することにより、そのハードディスクへの負荷を軽減する。【選択図】  図１
2005258633.tif 000002
【特許請求の範囲】
【請求項１】
ディスクアレイコントローラと、複数のハードディスクドライブから構成されるディスクアレイシステムにおいて、上記複数のハードディスクドライブのそれぞれは、該ハードディスクドライブの障害発生可能性を示す障害情報を保有し、前記ディスクアレイコントローラは、前記障害情報を比較することにより、前記複数のハードディスクドライブの中から障害発生の可能性が高いハードディスクドライブを検出する障害情報管理部と、検出された障害発生の可能性が高いハードディスクドライブに対し、一時的に、データ読み出し、データ書き込みを制限するアレイ制御部とを有することを特徴とするディスクアレイシステム。
【請求項２】
上記障害情報は、障害発生の可能性を有する障害因子情報からなり、各障害因子情報は各々所定の値に対して規格化された情報として保有され、各障害因子情報の重みをつけた総和であることを特徴とする請求項１に記載のディスクアレイシステム。
【請求項３】
ディスクアレイコントローラと、複数のハードディスクドライブから構成されるディスクアレイシステムにおいて、前記複数のハードディスクドライブから該ハードディスクドライブの障害発生可能性を示す障害情報を取得する工程と、取得した障害情報を保存する工程と、その保存した障害情報から障害発生の可能性を予測する工程とを有することを特徴とするディスクアレイシステムのハードディスクドライブ障害予測方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスクドライブの障害情報を取得・保存し、該情報から予測により障害発生の制御が可能なディスクアレイシステム及びディスクドライブの障害発生予測方法に関する。
【背景技術】
【０００２】
複数のハードディスクドライブで構成されたディスクアレイシステムにおいて、ハードディスクドライブが故障した場合は、ＬＥＤやブザーなどでユーザに知らせ、システムの稼動を停止することなく、オペレータが故障したハードディスクドライブをホットスワップして交換することができるようになっている。また、予備のハードディスクドライブを備えているものは、稼動中のハードディスクドライブが故障した場合は、自動的に、予備のハードディスクドライブに切り替わるようになっているものもある。このように、稼動中のハードディスクドライブが故障するまで使い続けているため、故障したらハードディスクドライブの交換が必要である。
【０００３】
このハードディスクドライブの交換回数を減らすために、特許文献１のように、予備のハードディスクドライブを有効利用して、個々のハードディスクの稼動時間が等しくなるようにローテーションすることによって、ハードディスクドライブの寿命を平均化するというものがある。
【０００４】
また、故障の判断基準として障害情報を単に稼動情報として取得する技術がある。この技術は、例えば、稼動中のリードエラー、ライトエラー等のエラーの発生の累積回数、また累積稼動時間、外部からの衝撃の累積回数、現在の温度などの情報をそれぞれのハードディスクドライブ内に保持している。そして、これらの累積回数がある閾値を越えたら、そのハードディスクドライブは、故障ではないものの危険な状態にあることを示すようになる。
【０００５】
さらに、複数のディスクドライブにて発生した回復可能なエラーの履歴情報を記憶し、これよりエラー発生頻度を算出し、各ディスクドライブの予防保守の必要性の有無を判断し、必要性があると判断されたディスクドライブに記憶されたデータを予備ディスクドライブに格納する技術が、特許文献２に述べられている。
【０００６】
【特許文献１】特開２０００-２９３３１５号公報
【０００７】
【特許文献２】特開平１１−３４５０９５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上記従来技術は、個々のハードディスクドライブの稼動状態を単に示すか、あるいは、予防保全として予備ディスクドライブにデータを格納するという技術を示すのみで、得られた情報を活用してドライブの故障そのものをできるだけ回避する手立てを講ずる配慮はされておらず、外部からの衝撃が継続的に加わっていたり、動作保証範囲外の温度で稼動していたりなど、稼動環境によっては、著しくハードディスクの寿命を短くする問題を稼動状態の制御によりシステム全体として把握・制御・解決し、長寿命化する上では問題があった。
【０００９】
また、特許文献１においても、ディスクドライブの障害発生には、各種の要因が存在するのに対し、単に稼動時間を基準とし、ハードディスクドライブをローテーションしているため、障害要因の判断基準として各種要因因子への考慮が無く、信頼性に欠けていたという問題があった。
【００１０】
本発明の目的は、複数のハードディスクドライブで構成されたディスクアレイシステムにおいて、障害の発生を各種要因因子に関する障害情報を管理することにより予測し、障害の発生を回避することで、ハードディスクドライブの寿命を延ばすことができる複数のハードディスクドライブからなるディスクアレイシステムを提供することにある。
【００１１】
本発明の他の目的は、より信頼性のあるハードディスクドライブの障害発生予測方法を提供することにある。
【課題を解決するための手段】
【００１２】
上記目的を達成するために、ディスクアレイコントローラと、複数のハードディスクドライブから構成されるディスクアレイシステムにおいて、上記複数のハードディスクドライブのそれぞれは、該ハードディスクドライブの障害発生可能性を示す障害情報を保有し、前記ディスクアレイコントローラは、前記障害情報を比較することにより、前記複数のハードディスクドライブの中から障害発生の可能性が高いハードディスクドライブを検出する障害情報管理部と、検出された障害発生の可能性が高いハードディスクドライブに対し、一時的に、データ読み出し、データ書き込みを制限するアレイ制御部とを有するようにした。
【００１３】
上記障害情報は、障害発生の可能性を有する障害因子情報からなり、各障害因子情報は各々所定の値に対して規格化された情報として保有され、各障害因子情報の重みをつけた総和であるようにした。
【００１４】
さらに、ディスクアレイコントローラと、複数のハードディスクドライブから構成されるディスクアレイシステムにおいて、前記複数のハードディスクドライブから該ハードディスクドライブの障害発生可能性を示す障害情報を取得する工程と、取得した障害情報を保存する工程と、その保存した障害情報から障害発生の可能性を予測する工程とを有するようにした。
【発明の効果】
【００１５】
本発明によれば、障害情報より障害の発生を予測し、障害が発生する前にそのディスクドライブ（ＨＤＤ）へのアクセスを制限することにより、障害の発生を回避することができ、アレイディスクシステムを構成するディスクドライブ（ＨＤＤ）の寿命を延ばすことができる。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照して本発明の実施形態を説明する。
【００１７】
図１は、本発明の実施形態を説明するためのディスクアレイシステムの構成を示すブロック図である。
【００１８】
本実施形態によるディスクアレイシステムは、ディスクアレイコントローラ１０と、複数のハードディスクドライブ（HDD）２０(２０−１、２０−２、２０−３、２０−４、．．．)から構成される。
【００１９】
ディスクアレイコントローラ１０には、各々のハードディスクの障害情報を取得し、障害発生予測を行う障害情報管理部１１、および処理の高速化を図るためのキャッシュメモリ１２を設けている。ハードディスクドライブ２０には、各ハードディスクドライブ（HDD）の障害情報３０(３０−１、３０−２、３０−３、３０−４、．．．)が検出・保持されている。
【００２０】
図２は、上記ディスクアレイコントローラに設けられた障害情報管理部１１の詳細ブロック図である。
【００２１】
障害情報管理部１１は、障害が発生する可能性が高いハードディスクドライブ（HDD）のＩＤを格納するハードディスクドライブ（HDD）  ＩＤ格納メモリ５１と、障害が発生する可能性が低いハードディスクドライブ（HDD）のＩＤを格納するハードディスクドライブＨＤＤ  ＩＤ格納メモリ５２と、各ハードディスクドライブ（ＨＤＤ）の障害情報を時系列に記録している障害情報格納用メモリ（４０−ｎ、４１−ｎ、４２−ｎ、４３−ｎ、．．．：ｎは１〜４）から構成される。障害情報格納用メモリ（４０−ｎ、４１−ｎ、４２−ｎ、４３−ｎ、．．．：ｎは１〜４）には、過去に取得した各ハードディスクドライブ（ＨＤＤ）の障害情報が時系列に管理され、保存されている。尚、以下の説明においては、障害が発生する可能性を「障害ポテンシャル」と称する。
【００２２】
次に、図５を用いて障害ポテンシャルが最大であるHDD、および最小であるHDDの検出方法について説明する。
【００２３】
ステップ５１にて、障害HDD予測部１３は、障害情報格納用メモリ(４０、４１、４２、４３、…)に保存されている障害情報を更新する。例えば、HDD1の障害情報格納用メモリ４０の場合、１つ前に取得した障害情報は４０−２に、２つ前に取得した情報は４０−３に、３つ前に取得した情報は４０−４にそれぞれ保存されるように更新する（Ｓ５１）。
【００２４】
次にステップ５２にて、各HDDから現在の障害情報（３０−１、３０−２、３０−３、３０−４、…）を取得し、各HDDの障害情報格納用メモリ（４０−１、４１−１、４２−１、４３−１、…）に保存する（Ｓ５２）。
【００２５】
ステップ５３にて各HDDの障害ポテンシャルを計算し（Ｓ５３）、ステップ５４にて障害ポテンシャルが他のＨＤＤの障害ポテンシャルと比べて最大で、かつ、ある閾値を越えているかどうかを判定する（Ｓ５４）。ステップ５４にて、障害ポテンシャルがある閾値を超えているHDDが存在すればステップ５６へ。存在しなければステップ５５へ進む。
【００２６】
ステップ５６では、障害ポテンシャルが最大かつある閾値を超えているHDDの識別子(ID)をHDD ID格納メモリ５１に保存する。ステップ５５では、HDD ID格納メモリ５１の内容をクリアする。これにより、HDD ID格納メモリ５１には、障害ポテンシャルが最大かつある閾値を超えているHDDおよび存在有無が常に確認可能となる。
【００２７】
ステップ５７では、障害ポテンシャルが最小であるHDDのIDをHDD ID格納メモリ５２に保存する。これにより、HDD ID格納メモリ５２には、障害ポテンシャルが最小であるHDDが常に確認可能となる。ステップ５３における障害ポテンシャルの計算方法については後述する。
【００２８】
更に、図３を用いて、本発明の一実施形態によるミラーリング(ここでは同一データを２０−１、２０−２，２０−３、および２０−４に四重に書き込んでいる)で構成されたディスクアレイシステムについて説明する。図３は、ミラーリング構成におけるデータリードおよびデータライト時の動作を示すフローチャートである。
【００２９】
最初に、ハードディスクへのデータアクセスの際は、アクセスのタイプ(データリードかデータライトか)を判別し（Ｓ１０）、データリードおよびデータライト時の処理を分ける。データリード時は、障害情報管理部１１のＨＤＤ  ＩＤ格納メモリ５２を参照し、障害ポテンシャルの低いＨＤＤからデータリードを行う。
【００３０】
データライト時は、ＨＤＤ  ＩＤ格納メモリ５１を参照し、障害ポテンシャルが高いＨＤＤが存在するかどうか判断する（Ｓ１１）。障害ポテンシャルが高いＨＤＤが存在しなければ、通常どおりすべてのＨＤＤに対してデータを書き込む（Ｓ１３）。障害ポテンシャルが高いＨＤＤが存在する場合は、そのＨＤＤに対してライト処理を行わず、キャッシュ１２に対してライトを行う。その他のＨＤＤに対しては通常どおりライトを行う。
【００３１】
また、障害情報管理部１１は、定期的にＨＤＤ  ＩＤ格納メモリ５１の内容を更新しており、ＨＤＤ  ＩＤ格納メモリ５１の内容が変化すれば、キャッシュメモリ１２をクリアする。この時、キャッシュメモリ１２にデータが残っていれば、キャッシュメモリをクリアする前にキャッシュメモリ内のデータをＨＤＤに書き込む。
【００３２】
このように、障害ポテンシャルの高いＨＤＤに対するアクセスの頻度を減らすことにより、障害の発生を低減することができる。
【００３３】
次に、図４を用いて、本発明の一実施形態であるストライピングによるデータ書き込みを行うよう構成されたディスクアレイシステムについて説明する。図４は、ストライピングによるデータリードおよびデータライトアクセス時の動作を示すフローチャートである。
【００３４】
最初に、ハードディスクドライブ（HDD）へのデータアクセスの際は、まず、障害ポテンシャルが高いＨＤＤが存在するか確認する（Ｓ２０）。障害ポテンシャルが高いＨＤＤが存在しなければ、通常どおり、すべてＨＤＤに対し、リードおよびライト処理を行う（Ｓ２３）。障害ポテンシャルが高いＨＤＤが存在する場合は、データのアクセスタイプ(データリードかデータライトか)を判断し（Ｓ２１）、データライトならばステップ２２（Ｓ２２）へ、データリードならばステップ２４（Ｓ２４）へ処理が分かれる。ステップ２１にてデータライトと判断された場合、障害ポテンシャルの高いＨＤＤをストライピングの対象から外し、そのＨＤＤ以外にデータを書き込む（Ｓ２２）。ステップ２１にてデータリードと判断された場合、目的とするデータが障害ポテンシャルの高いＨＤＤ内に存在するか判定し（Ｓ２４）、存在しない場合は、ＨＤＤからデータを読み込む（Ｓ２６）。存在する場合は、目的とするデータがキャッシュメモリ１２内に存在するか判定し（Ｓ２５）、存在すればそのキャッシュメモリからデータを読み込む（Ｓ２８）。存在しなければ、障害ポテンシャルの高いＨＤＤからデータを読み込む、と同時に、キャッシュメモリにもデータを書き込む（Ｓ２７）。
【００３５】
このように、障害ポテンシャルの高いＨＤＤに対するアクセスの頻度を減らすことにより、障害の発生を低減することができる。また、障害ポテンシャルの高いＨＤＤには、他のＨＤＤと比べて記録されるデータが少なくなるため、ある特定ハードディスクが常に障害ポテンシャルが高い場合などは、必然的にそのＨＤＤへのアクセスが少なくなり、障害の発生を低減することができる。
【００３６】
続いて、図６を用いて、各HDDの障害ポテンシャルの計算方法について説明する。ここで、HDD1, HDD2, HDD3, HDD4,…の障害ポテンシャルを、それぞれ、Ph（h=1,2,3,…,l）とし、さらに、障害要因をEx(t)(x=1,2,3,…,m, t = 1,2,3,…,n)とする。ここで、lはHDDの数、mは障害要因の数、nは時系列データの数である。
【００３７】
まず、HDD1の障害ポテンシャルP1を求める方法について説明する。
【００３８】
ステップ６１にて、x番目の障害要因Exの時系列データ（Ex(1), Ex(2), Ex(3), Ex(4),… ）をHDD1の障害情報格納用メモリ４０（４０−１、４０−２、４０−３、４０−４、… ）から取得する（Ｓ６１）。
【００３９】
ステップ６２にて、障害要因Exに対する障害ポテンシャルの計算を行なう（Ｓ６２）。障害要因Exに対する障害ポテンシャルをPExとすると、PExは以下のように計算できる。
PEx＝ ax（Ex (1) - Ex(2)） + bx（Ex (2) - Ex(3)） + cx（Ex (3) - Ex (4)） ＋...
ここで、ax、bx、cx、はそれぞれの時間的変化に対する重み付け係数である。
【００４０】
ステップ６３にて、HDD1の障害ポテンシャルP1を以下のように計算する（Ｓ６３）。ここで、αxは、障害要因Exに対する重み付け係数である。
P1 ← P1 + αx×PEx
ステップ６４にて、すべての障害要因Ex（x=1,2,3,...,m）に対する障害ポテンシャルPEx（x=1,2,3,...,m）を計算したかどうかを判断し、すべての障害要因に対する障害ポテンシャルを計算していればステップ６５へ進む。計算してなければ、次の障害要因に対する障害ポテンシャルPEx+1を計算するため、ステップ６１へ進む（Ｓ６４）。このようにステップ６１〜ステップ６４の処理により、ＨＤＤ１の障害ポテンシャルP1を計算することができる。
【００４１】
HDD2以降の障害ポテンシャルの計算もHDD1と同様に行うため、ステップ６５にて、すべてのHDDに対する障害ポテンシャルPh（h=1,2,3.…l）を計算するまで、S61〜S64の処理を繰り返す（Ｓ６５）。
【００４２】
これらの一連の処理により、Phは以下のような値となる。
Ph＝
α1{a1(E1(1)-E1(2)) + b1(E1(2)-E1(3)) + c1(E1(3)-E1(4)) + ... }
+ α2{a2(E2(1)-E2(2)) + b2(E2(2)-E2(3)) + c2(E2(3)-E2(4)) + ... }
+ α3{a3(E3(1)-E3(2)) + b3(E3(2)-E3(3)) + c3(E3(3)-E3(4)) + ... }
：
+ αm{am(Em(1)-Em(2)) + bm(Em(2)-Em(3)) + cm(Em(3)-Em(4)) + ... }
ここで、重み付け係数αx、ax、bx、cx(x=1,2,3,…,m)は、障害発生の変化が大きい障害要因に対して、その障害ポテンシャルも大きくなるような値とする。
【００４３】
また、障害要因が温度のような基準値からの差が障害発生に影響を及ぼすものは、以下のように、基準値γからの差を計算することにより、その障害要因における障害ポテンシャルPExを計算することも有効である。
PEx＝ ax（Ex (1) -γ） + bx（Ex (2) -γ） + cx（Ex (3) -γ）＋...  
このように、障害情報の時系列データから、容易に障害が発生する可能性が高いHDDを算出することができる。
【図面の簡単な説明】
【００４４】
【図１】本発明の一実施形態によるディスクアレイシステムのブロック図である。
【図２】本発明の一実施形態によるディスクアレイシステムの障害情報管理部を詳細に示すブロック図である。
【図３】本発明の一実施形態によるミラーリング構成のディスクアレイシステムの動作を示すフローチャートである。
【図４】本発明の一実施形態によるストライピング構成のディスクアレイシステムの動作を示すフローチャートである。
【図５】本発明の一実施形態である障害ポテンシャルが最大であるHDD、および最小であるHDDの検出方法を説明するフローチャートである。
【図６】本発明の一実施形態である各HDDの障害ポテンシャルの計算方法を説明するフローチャートである。
【符号の説明】
【００４５】
10…ディスクアレイコントローラ、
11…障害情報管理部、
12…キャッシュメモリ、
20-1〜20-4…ハードディスク、
30-1〜30-4…障害情報
40-1、40-2、40-3、40-4、41-1、41-2、41-3、41-4、…、43-1、43-2、43-3、43-4…各HDDの障害情報格納用メモリ、
51、52…HDD ID格納メモリ。
【図１】
2005258633.tif 000003
【図２】
2005258633.tif 000004
【図３】
2005258633.tif 000005
【図４】
2005258633.tif 000006
【図５】
2005258633.tif 000007
【図６】
2005258633.tif 000008