(57)【特許請求の範囲】
【請求項１】
それぞれデータを記憶するための複数の領域が形成された複数のＨＤＤと、
外部装置からの前記各ＨＤＤに対する書込要求の書込領域及び書込データ、読出要求結果の読出領域及び読出しデータを各領域に一時記憶するデータバッファと、
前記外部装置の書込要求を受けて前記データバッファに一時記憶された書込データを前記各ＨＤＤの指定された書込領域に書込むと共に、前記外部装置の読出要求を受けて前記各ＨＤＤの指定された読出領域からデータを読出して前記データバッファへ読出しデータとして書込む制御部と
を備えたディスクアレイ装置において、
前記制御部は、バックグラウンド処理において、
前記複数のＨＤＤにおける全ての領域に対して一定周期でデータ読出しアクセスを実行してデータの読出不能領域の有無を調べる欠陥検出手段と、
この欠陥検出手段にて前記ＨＤＤにおける読出不能領域が検出された場合には、前記データバッファ内に、当該読出不能領域に対する過去に実施された書込要求及び読出要求時のデータが書込まれた領域の残存の有無を判定するデータバッファ検索手段と、
このデータバッファ検索手段にて前記データが書込まれた領域が残存する場合、当該領域に記憶されているデータを、前記読出不能領域と同一のＨＤＤに予め形成されている予備領域へ保存するデータ保存手段と、
前記データバッファ検索手段にて前記データが書込まれた領域が残存しない場合、前記読出不能領域の存在箇所を示す情報を記憶保持する読出不能領域記憶手段と
を実施するとともに、
前記外部装置から前記読出不能領域記憶手段に記憶された読出不能領域を指定したデータ書込要求が入力されると、当該データを前記読出不能領域と同一のＨＤＤに予め形成されている予備領域へ書込む
ことを特徴とするディスクアレイ装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は並列接続された複数のＨＤＤ（ハード・ディスク・ドライブ）で構成されたディスクアレイ装置に関する。
【０００２】
【従来の技術】
計算機システムに組込まれるディスクアレイ装置においては、ホストコンピユータから出力されるＨＤＤに対する書込要求のデータを複数に分割して、並列接続された複数のＨＤＤに対して並列に書込むと共に、ＨＤＤに対する読出要求に応じて複数のＨＤＤに分割されて記憶されている各データを並列に読出すことによって、ＨＤＤに対するアクセスの高速化を図ることができる。
【０００３】
このような基本機能を有したディスクアレイ装置は図６に示すように構成されている。すなわち、ディスクアレイ装置１は、複数のＨＤＤ２と、外部装置としてのホストコンピユータ３からのアクセス要求に応じて各ＨＤＤ２を制御するディスクアレイコントローラ４とで構成されている。
【０００４】
ディスクアレイコントローラ４内には、ホストコンピユータ３に対して各種データ及び情報の入出力を実行するホスト入出力部５、ホストコンピユータ３と各ＨＤＤ２との間で転送されるデータを一時記憶するデータバッファ６、各ＨＤＤ２に対して実際にデータの書込み、読出しを実施する複数のＨＤＤ入出力部８、及び装置全体の動作を制御する制御部としてのマイクロプロセッサ７とが収納されている。
【０００５】
このように構成されたディスクアレイ装置１においては、ホストコンピユータ３がディスクアレイ装置１にデータを書込む場合、書込データ及び書込領域を指定した書込要求をディスクアレイ装置１へ送出する。書込データ及び書込領域を指定した書込要求はホスト入出力部５を介して一旦データバッファ６内に書込まれる。次に、マイクロプロセッサ７が起動して、データバッファ６内に書込まれた書込データを分割して各ＨＤＤ入出力部８を介して各ＨＤＤ２に並列に書込む。
【０００６】
一方、ホストコンピユータ３がディスクアレイ装置１に記憶されたデータを読出す場合は、読出し領域を指定した読出し要求をディスクアレイ装置１へ送出する。読出し領域を指定した読出し要求はホスト入出力部５を介して一旦データバッファ６内に書込まれる。次に、マイクロプロセッサ７が起動して、各ＨＤＤ入出力部８を介して各ＨＤＤ２に分割されて記憶された各データを並列に読出して、読出しデータとしてデータバッファ６に書込む。ホスト入出力部５はデータバッファ６に書込まれた各読出しデータをまとめて一つの読出しデータとしてホストコンピユータ３へ送信する。
【０００７】
このような構成のディスクアレイ装置１においては、ディスクアレイ装置１の信頼性を確保するために、各ＨＤＤ入出力部８は、自己が管轄するＨＤＤ２に対してデータを書込んだ時点で、その書込んデータを読出して照合するベリファイ処理を実施する。そして、不一致の場合は、その領域を欠陥領域と認定し、この欠陥領域を予備領域へ交代する。
【０００８】
それ以降、ホストコンピユータ３から欠陥領域を指定したアクセス要求が入力されると、ディスクアレイ装置１は欠陥領域に代えて正常な予備領域をアクセスする。すなわち、ホストコンピユータ３は欠陥領域を意識することなくアクセス可能である。
【０００９】
【発明が解決しようとする課題】
しかしながら、図６に示すように構成されたディスクアレイ装置１においてもまだ改良すべき次のような課題があった。
【００１０】
すなわち、前述したベリファイ処理によって各ＨＤＤ２に対してデータを書込んだ直後においては、正常にデータが書込まれたことを確認できるが、ある程度時間が経過した後において、書込んだデータを読出せない事態が発生する場合が多発する。これは、主として記録媒体の経時変化特性のバラツキによると推定されるが、確立された対策はまだ開発されていない。
【００１１】
このような事態になると、ＨＤＤ２に書込んだデータを読出すことができないので、該当データが喪失する懸念があった。したがって、ディスクアレイ装置全体の信頼性が低下する。
【００１２】
本発明はこのような事情に鑑みてなされたものであり、外部装置による正規のアクセス以外に、一定周期で各ＨＤＤに対する欠陥領域の有無を調べることにより、各ＨＤＤにおけるデータ書込時では発見できなかった欠陥領域を確実に検出でき、かつ欠陥領域に書込まれていたデータを予備領域に修復でき、大規模なハード部品を付加することなく、装置全体の信頼性を大幅に向上できるディスクアレイ装置を提供することを目的とする。
【００１３】
【課題を解決するための手段】
本発明は、それぞれデータを記憶するための複数の領域が形成された複数のＨＤＤと、外部装置からの各ＨＤＤに対する書込要求の書込領域及び書込データ、読出要求結果の読出領域及び読出しデータを各領域に一時記憶するデータバッファと、外部装置の書込要求を受けてデータバッファに一時記憶された書込データを各ＨＤＤの指定された書込領域に書込むと共に、外部装置の読出要求を受けて各ＨＤＤの指定された読出領域からデータを読出してデータバッファへ読出しデータとして書込む制御部とを備えたディスクアレイ装置に適用される。
【００１４】
そして、上記課題を解消するために、本発明のディスクアレイ装置における制御部は、バックグランド処理において、複数のＨＤＤにおける全ての領域に対して一定周期でデータ読出しアクセスを実行してデータの読出不能領域の有無を調べる欠陥検出手段と、この欠陥検出手段にてＨＤＤにおける読出不能領域が検出された場合には、データバッファに、当該読出不能領域に対する過去に実施された書込要求及び読出要求時のデータが書込まれた領域の残存の有無を判定するデータバッファ検索手段と、このデータバッファ検索手段にてデータが書込まれた領域が残存する場合、当該領域に記憶されているデータを、読出不能領域と同一のＨＤＤに予め形成されている予備領域へ保存するデータ保存手段と、データバッファ検索手段にてデータが書込まれた領域が残存しない場合、読出不能領域の存在箇所を示す情報を記憶保持する読出不能領域記憶手段とを実施する。
さらに、外部装置から読出不能領域記憶手段に記憶された読出不能領域を指定したデータ書込要求が入力されると、当該データを前記読出不能領域と同一のＨＤＤに予め形成されている予備領域へ書込む。
【００１５】
このように構成されたディスクアレイ装置においては、外部装置が各ＨＤＤに書込むデータ及びＨＤＤから読出したデータがデータバッファに一時記憶されることを利用している。複数のＨＤＤにおける全ての領域に対して一定周期でデータ読出しアクセスを実行して、読出不能領域の有無を調べる。そして、読出不能領域が発見されると、この読出不能領域に書込まれていたデータを、この読出不能領域が正常時である時にこの領域に書き込んだデータがデータバッファに記憶保持されていれば、この記憶保持されているデータを予備領域に書込む。したがって、これ以降この予備領域を用いることによって、読出不能領域をあたかも正常な領域として継続して使用できる。
【００１７】
さらに、検出された読出不能領域に記憶されていたデータがデータバッファに記憶保持されていないとき、このデータバッファのデータを用いて即座にデータをＨＤＤの予備領域に復元できないので、この読出不能領域を一旦記憶保持して、次に外部装置から該当読出不能領域に対するデータ書込要求が発生したときに、この書込データをＨＤＤに予め形成されている予備領域に保存される。したがって、正常状態に戻る。
【００１８】
【発明の実施の形態】
以下、本発明の各実施形態を図面を用いて説明する。
（第１実施形態）
図１は本発明の第１実施形態に係るディスクアレイ装置の概略構成を示すブロック図である。図６に示す従来のディスクアレイ装置と同一部分には同一符号を付して重複する部分の詳細説明を省略する。
【００１９】
この第１実施形態のディスクアレイ装置１ａにおける制御部としてのマイクロプロセッサ７ａは、外部装置としてのホストコンピユータ３からの書込要求又は読出し要求に対しては、図６に示した従来のディスクアレイ装置１と同じ手順で各ＨＤＤ２に対してデータを書込み、かつデータを読出す。
【００２０】
この第１実施形態のディスクアレイ装置１ａのマイクロプロセッサ７ａは上述した通常のホストコンピユータ３からの書込要求又及び読出し要求に対する応答処理の他に、一定周期Ｔａで図２に示すバックグランド処理を実行する。
【００２１】
予め設置された例えば１秒等の一定期間Ｔａが経過すると（Ｓ１）、全部のＨＤＤ２の全部の領域に対してそれぞれＨＤＤ入出力部８を介して読出しアクセスを実施する（Ｓ２）。そして各領域からデータが正常に読出されたか否かを検査する（Ｓ３）。正常であれば、Ｓ１へ戻り、次の一定周期Ｔａが到来するのを待つ。
【００２２】
図３に示すように、ＨＤＤ２内に読出不能の領域、すなわち、欠陥領域２ａが存在すれば、データバッファ６内の該当欠陥領域２ａに対応する領域６ａが存在するか否かを検索する（Ｓ４）。存在すれば（Ｓ５）、この欠陥領域２ａが欠陥状態に移行する前にホストコンピユータ３の書込要求にて書き込まれたデータ（書込データ）が、データバッファ６の該当領域６ａに記憶保持されているので、該当ＨＤＤ２のＨＤＤ入出力部８に対して、前記欠陥領域２ａを同じＨＤＤ２内に予め準備されている予備領域２ｂへ変更（交代）する指令を送出する（Ｓ６）。その後、データバッファ６内の該当欠陥領域２ａに対応する領域６ａに記憶保持されているデータを予備領域２ｂへ書き込む（Ｓ７）。
【００２３】
なお、データバッファ６内に該当欠陥領域２ａに対応する領域６ａが存在しないと、ホストコンピユータ３にＨＤＤ２に欠陥領域２ａが存在する情報を送信する（Ｓ８）。
【００２４】
このように構成された第１実施形態のディスクアレイ装置１ａにおいては、ホストコンピユータ３が各ＨＤＤ２に書込むデータがデータバッファ６に一時記憶されることを利用している。
【００２５】
したがって、ホストコンピユータ３がこのディスクアレイ装置２ａにデータを書込んだ直後にＨＤＤ２において欠陥領域２ａが発生したとしても、この時点でデータバッファ６に先に書込んだデータが記憶保持されているので、欠陥領域２ａに書込まれたデータが喪失することが未然に防止される。すなわち、ホストコンピユータ３が実際に欠陥領域２ａに対してアクセスを実行する前に欠陥領域２を予備領域２ｂで復元させている。
【００２６】
その結果、このディスクアレイ装置２ａが組込まれた計算機システム全体の信頼性を大幅に向上できる。
【００２７】
しかも、この欠陥領域２ａの検出処理及びこの欠陥領域２ａを予備領域２ｂで復元させる処理は、マイクロコンピユータ７ａが一定周期Ｔａでバックグランド処理で実行しているので、ホストコンピユータ３としては、各ＨＤＤ２で欠陥領域２ａが発生したことを何等意識する必要はない。よって、このディスクアレイ装置１ａが組込まれた計算機システム全体の処理能率を向上できる。
【００２８】
（第２実施形態）
図４は本発明の第２実施形態に係るディスクアレイ装置の概略構成を示すブロック図である。図１に示す第１実施形態のディスクアレイ装置１ａと同一部分には同一符号を付して重複する部分の詳細説明を省略する。
【００２９】
この第２実施形態のディスクアレイ装置１ｂにおける制御部としてのマイクロプロセッサ７ｂ内には欠陥領域保存メモリ９が形成されている。ホストコンピユータ３からの書込要求又は読出し要求に対しては、図６に示した従来のディスクアレイ装置１と同じ手順で各ＨＤＤ２に対してデータを書込み、かつデータを読出す。
【００３０】
この第２実施形態のディスクアレイ装置１ｂのマイクロプロセッサ７ｂはホストコンピユータ３からの書込要求又及び読出し要求に対する通常の応答処理の他に、一定周期Ｔａで図５に示すバックグランド処理を実行する。
【００３１】
予め設置された例えば１秒等の一定期間Ｔａが経過すると（Ｑ１）、全部のＨＤＤ２の全部の領域に対してそれぞれＨＤＤ入出力部８を介して読出しアクセスを実施する（Ｑ２）。そして各領域からデータが正常に読出されたか否かを検査する（Ｑ３）。正常であれば、Ｑ１へ戻り、次の一定周期Ｔａが到来するのを待つ。
【００３２】
ＨＤＤ２内に読出不能の領域、すなわち、欠陥領域２ａが存在すれば、データバッファ６内の該当欠陥領域２ａに対応する領域６ａが存在するか否かを検索する（Ｑ４）。存在すれば（Ｑ５）、この欠陥領域２ａが欠陥状態に移行する前にホストコンピユータ３の書込要求にて書き込まれたデータ（書込データ）が、データバッファ６の該当領域６ａに記憶保持されていれば、該当ＨＤＤ２のＨＤＤ入出力部８に対して、前記欠陥領域２ａを同じＨＤＤ２内に予め準備されている予備領域２ｂへ変更（交代）する指令を送出する（Ｑ６）。その後、データバッファ６内の該当欠陥領域２ａに対応する領域６ａに記憶保持されているデータを予備領域２ｂへ書き込む（Ｑ７）。
【００３３】
なお、図４示すように、データバッファ６内に該当欠陥領域２ａに対応する領域６ａが存在しないと、このデータバッファ６内にデータが存在しないので即座に欠陥領域２ａを予備領域２ｂでもって復元できないので、ひとまずこの欠陥領域２ａのアドレスをマイクロプロセッサ７ａ内の欠陥領域保存メモリ９へ書込む（Ｑ８）。
【００３４】
そして、マイクロプロセッサ７ｂは、この図５に示すバックグランド処理でなくて、ホストコンピユータ３からのＨＤＤ２に対する通常のアクセス要求に応じる過程で欠陥領域２ａを予備領域２ｂでもって継続使用させる処理を実施する。
【００３５】
マイクロプロセッサ７ｂは、ホストコンピユータ３から欠陥領域保存メモリ９に記憶されている欠陥領域２ａ及び書込データを指定した書込要求が入力すると、この欠陥領域２ａを同じＨＤＤ２内に予め準備されている予備領域２ｂへ変更（交代）する指令を対応するＨＤＤ入出力部８へ送出する。そして、ホストコンピユータ３からの書込データを予備領域２ｂへ書込む。
【００３６】
したがって、欠陥領域２ａはホストコンピユータ３からの該当欠陥領域２ａを指定した書込要求が入力した時点で予備領域２ｂでもって継続使用可能となる。
【００３７】
このように構成された第２実施形態のディスクアレイ装置１ｂにおいては、上述した第１実施形態のディスクアレイ装置１ａと同様に、マイクロプロセッサ７ｂが複数のＨＤＤ２における全ての領域に対して一定周期で読出しアクセスを実行して欠陥領域２ａの有無を調べ、欠陥領域２ａが発見されると、データバッファ６内の該当欠陥領域２ａに対応する領域６ａに記憶保持されているデータを予備領域２ｂに書込むことにとって、欠陥領域２ａを正常な領域２ｂとして継続使用させている。
【００３８】
したがって、上述した第１実施形態装置とほぼ同様の効果を奏することができる。
【００３９】
さらに、この第２実施形態のディスクアレイ装置１ｂにおいては、データバッファ６内に該当欠陥領域２ａに対応する領域６ａが存在しないと、その場で、即座に、ホストコンピユータ３に対して、欠陥領域２ａの発生を報告するのではなく、ひとまずこの欠陥領域２ａのアドレスをマイクロプロセッサ７ａ内の欠陥領域保存メモリ９へ書込む。そして、ホストコンピユータ３からのＨＤＤ２に対する通常のアクセス要求に応じる過程で欠陥領域２ａを予備領域２ｂでもって継続使用させる処理を実施する。
【００４０】
したがって、ホストコンピユータ３の処理負担がさらに軽減され、このディスクアレイ装置１ｂが組込まれた計算機システム全体の処理能率及び信頼性をより一層向上できる。
【００４１】
また、データバッファ６内に該当欠陥領域２ａに対応する領域６ａが存在しないと、その場で、ホストコンピユータ３に対して、欠陥領域２ａの発生を報告することによって、このホストコンピユータ３がユーザに対して欠陥領域２ａの発生を警告することも可能である。
【００４２】
【発明の効果】
以上説明したように、本発明のディスクアレイ装置においては、外部装置による正規のアクセス以外に、一定周期で各ＨＤＤの全ての領域に対する欠陥領域の有無を調べている。
【００４３】
したがって、各ＨＤＤにおけるデータ書込時では発見できなかった欠陥領域を確実に検出でき、かつ欠陥領域に書込まれていたデータを予備領域に修復でき、大規模なハード部品を付加することなくディスクアレイ装置全体の信頼性を大幅に向上できる。
【図面の簡単な説明】
【図１】本発明の第１実施形態に係わるディスクアレイ装置の概略構成を示すブロック図
【図２】同第１実施形態のディスクアレイ装置におけるマイクロプロセッサのバックグランド処理の動作を示す流れ図
【図３】同第１実施形態のディスクアレイ装置における欠陥領域の復元動作を示す模式図
【図４】本発明の第１実施形態に係わるディスクアレイ装置における欠陥領域の復元動作を示す模式図
【図５】同第２実施形態のディスクアレイ装置におけるマイクロプロセッサのバックグランド処理の動作を示す流れ図
【図６】従来のディスクアレイ装置の概略構成を示すブロック図
【符号の説明】
１，１ａ，１ｂ…ディスクアレイ装置
２…ＨＤＤ
２ａ…欠陥領域
２ｂ…予備領域
３…ホストコンピユータ
４…ディスクアレイコントローラ
５…ホスト入出力部
６…データバッファ
５ａ…領域
７，７ａ，７ｂ…マイクロプロセッサ
８…ＨＤＤ入出力部
９…欠陥領域保存メモリ
【図１】
0004131888.tif 000002
【図２】
0004131888.tif 000003
【図３】
0004131888.tif 000004
【図４】
0004131888.tif 000005
【図５】
0004131888.tif 000006
【図６】
0004131888.tif 000007