(57)【特許請求の範囲】
【請求項１】
ユーザが使用する領域と、その領域と同じ容量以上の修復用領域の２つの領域を有する１台のハードディスク装置を含む複数台のハードディスクでＲＡＩＤを構成した論理ユニットを複数有するディスクアレイ制御装置であって、
１つの論理ユニットのハードディスク装置の１台に故障が発生した時に、故障したハードディスク装置のデータを他の論理ユニットのハードディスク装置の修復用領域へ自動的に修復することを特徴とするディスクアレイ制御装置。
【請求項２】
前記他の論理ユニットのハードディスク装置の修復用領域へ自動的に修復する時は、１台のハードディスク装置内の２つの領域をアクセスするために、前記ＲＡＩＤを構成するハードディスク装置の構成管理テーブルを有し、前記構成管理テーブルの情報を用いて制御を行うことを特徴とする請求項１に記載のディスクアレイ制御装置。
【請求項３】
前記１つの論理ユニットのハードディスク装置の１台に故障が発生し、論理ユニットの状態が縮退状態になったときから修復を経て元の構成状態に戻る間に、修復で使用される修復用領域を有する前記ハードディスク装置に対して、先読みをするアクセス制御を行い、修復時の構成での上位装置からのアクセスに対する性能低下を軽減させることを特徴とする請求項２に記載のディスクアレイ制御装置。
【請求項４】
前記ＲＡＩＤのレベルは、ＲＡＩＤ３であることを特徴とする請求項１〜３のいずれかに記載のディスクアレイ制御装置。
【請求項５】
前記複数台のハードディスク装置は、３台のハードディスク装置であることを特徴とする請求項４に記載のディスクアレイ制御装置。
【請求項６】
前記３台のハードディスク装置の内の１台にユーザが使用するユーザ領域と同じ容量をもつ未使用領域を有することを特徴とする請求項５に記載のディスクアレイ制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＲＡＩＤを構成しているディスクアレイ装置に係り、ＲＡＩＤを構成しているハードディスク装置の１台に故障が発生したとき、別のＲＡＩＤを構成している論理ユニットの修復用の領域とユーザが使用している領域を備えているハードディスク装置を使用し、自動修復を可能とする制御をおこなうディスクアレイ制御装置に関する。
【０００２】
【従来の技術】
従来この種のディスクアレイ装置において、ＲＡＩＤを構成しているハードディスク装置の１台が故障時には、予備の修復専用ハードディスク装置を用い自動で修復をするような構成もしくは、予備用のハードディスク装置を有せず人手によるハードディスク装置の交換をする構成のどちらかであった。
【０００３】
たとえば、特開平９−１６３４３号公報には、ディスクアレイ装置内に、ＲＡＩＤを構成しているハードディスク装置の１台が故障時にスペアディスクを設けて使用する技術が記載されている。
【０００４】
また従来のディスクアレイ装置の一例が、特開平９−２６５４３５号公報に記載されている。この公報に記載された記憶装置システムは、ライトデータをＲＡＩＤ３形式で格納し、キャッシュの管理情報をＲＡＩＤ１形式で格納する。複数のクラスタで構成されるディスク制御装置の場合、それぞれのクラスタ内のデータ格納形式に冗長性を持たせ、保守処理をおこなうときに保守用のキャッシュメモリに新たなデータの格納はおこなわないようにして、保守をおこなうキャッシュメモリにそれまで格納していたデータをもう一方のクラスタのキャッシュメモリに書き込むか、またはディスク装置に書き込むようにする。
【０００５】
【発明が解決しようとする課題】
上述の従来例は、ＲＡＩＤを構成しているハードディスク装置の１台に故障が発生したときに自動的に修復処理を行うには、修復専用のハードディスク装置が必要になり、そのハードディスク装置を入れるスペースもディスクアレイ装置内に必要になってくる。また特開平９−２６５４３５号公報に記載の記憶装置システムは、保守のためにキャッシュメモリかまたはディスク装置にデータの格納領域を設ける必要があった。
【０００６】
本発明の目的は、アレイを構成しているハードディスク装置を１台他のハードディスク装置の倍以上の容量のものとし、別のＲＡＩＤを構成している未使用の領域を使用して故障時に自動的に修復を行い、修復時に使用する専用のハードディスク装置を有さない状態でも、データの安全性を高めるディスクアレイ制御装置を提供することにある。
【０００７】
【課題を解決するための手段】
本発明のディスクアレイ制御装置は、ユーザが使用する領域と、その領域と同じ容量以上の修復用領域の２つの領域を有する１台のハードディスク装置を含む複数台のハードディスクでＲＡＩＤを構成した論理ユニットを複数有するディスクアレイ制御装置であって、１つの論理ユニットのハードディスク装置の１台に故障が発生した時に、故障したハードディスク装置のデータを他の論理ユニットのハードディスク装置の修復用領域へ自動的に修復することを特徴とする。
【０００８】
また、他の論理ユニットのハードディスク装置の修復用領域へ自動的に修復する時は、１台のハードディスク装置内の２つの領域をアクセスするために、ＲＡＩＤを構成するハードディスク装置の構成管理テーブルを有し、構成管理テーブルの情報を用いて制御を行うことを特徴とする。
【０００９】
また、１つの論理ユニットのハードディスク装置の１台に故障が発生し、論理ユニットの状態が縮退状態になったときから修復を経て元の構成状態に戻る間に、修復で使用される修復用領域を有するハードディスク装置に対して、先読みをするアクセス制御を行い、修復時の構成での上位装置からのアクセスに対する性能低下を軽減させることを特徴とする。
【００１０】
【発明の実施の形態】
本発明のディスクアレイ制御装置は、ユーザが使用する領域と、その領域と同じ容量以上の修復用領域の２つの領域を持つハードディスク装置を含む複数台のハードディスク装置でＲＡＩＤを構成した論理ユニットを複数有する。
【００１１】
別の論理ユニットを構成している修復用領域へ自動的に修復する時は、１台のハードディスク装置内の２つの領域をアクセスするためディスクアレイ制御部内にＲＡＩＤを構成しているハードディスク装置の構成管理テーブルを有し、その情報を用いて制御を行う機能を有する。
【００１２】
別の論理ユニットを構成しているハードディスク装置に修復が始まった以後から、元の構成状態に戻るまでの構成状態の間、修復で使用されている領域を持っているハードディスク装置に対して、上位からのアクセスの性能低下を低減するために先読み制御を行う機能を有する。
【００１３】
以下図面を用いて本発明の実施例を詳細に説明する。図１は、本発明のディスクアレイ制御にて制御する装置の全体構成の一実施例を示したシステム構成図である。
【００１４】
ディスクアレイ制御部１０２は、複数のＳＣＳＩ制御部１０３ａ，１０３ｂ，１０３ｃにつながっているハードディスク１０５，１０６，１０７，１０８，１０９，１１０，１１１，１１２，１１３を制御しＲＡＩＤ（ＲｅｄｕｎｄａｎｔＡｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）を構成している。
【００１５】
ＲＡＩＤの概念は、カリフォルニア大学バークレー校のＤ．Ｐａｔｔｅｒｓｏｎ、Ｇ．Ｇｉｂｓｏｎ、ａｎｄ  Ｒ．Ｈ．Ｋａｒｔｚら３人のコンピュータ学者により、高速に大量のデータを多くのディスクにアクセスし、ディスク故障時におけるデータの冗長性を実現するディスクアレイ装置について、レベル１からレベル５まで分類付けを行って評価した論文を発表している。（ＡＣＭＳＩＧＭＯＤ  Ｃｏｎｆｅｒａｎｃｅ、  Ｃｈｉｃａｇｏ、Ｉｌｌｉｏｉｓ、Ｊｕｎｅ  １９８８）
このデビット・Ａ・パターソンらが提案したディスクアレイ装置を分類するレベル１から５まであり、ＲＡＩＤ１から５と略称される。今回実施例で用いる構成は、ＲＡＩＤ３を構成している。
【００１６】
ＲＡＩＤ３について簡単に説明すると、ＲＡＩＤ３は、３台以上のハードディスク装置を一組として、比較的小さい単位（例えばバイト単位）でのストライピングを行うことで、１つのＩ／Ｏ要求に対して全ディスクドライブを並列（同時）にアクセスできるようにすると共に、ストライピングされたデータのパリティを専用のディスクドライブ（パリティ・ディスク）に格納する方式である。
【００１７】
個々のハードディスク装置１０５，１０６，１０８，１０９，１１１，１１２は、ユーザが使用出来る領域１０５ａ，１０６ａ，１０８ａ，１０９ａ，１１１ａ，１１２ａを持っており、ハードディスク装置１０７，１１０，１１３は、ユーザが使用できる領域１０７ａ，１１０ａ，１１３ａと、ユーザ領域と同じ容量をもつ未使用領域１０７ｂ，１１０ｂ，１１３ｂの２つ領域をもっている。
【００１８】
３台のハードディスク装置１０５，１０６，１０７でＲＡＩＤ３のディスクアレイ論理ユニット＃０  １１４を構成し、ハードディスク装置１０８，１０９，１１０でディスクアレイ論理ユニット＃１  １１５を構成し、ハードディスク装置１１１，１１２，１１３でディスクアレイ論理ユニット＃２  １１６を構成している。論理ユニットとは、ＲＡＩＤを構成しているハードディスク装置のかたまりをいう。
【００１９】
ＲＡＩＤ３のディスクアレイを構成している３台のハードディスク装置は、３つあるＳＣＳＩ制御部１０３ａ，１０３ｂ，１０３ｃにそれぞれ３台ずつ接続されている。
【００２０】
ＳＣＳＩ制御部１０３ａに接続されているハードディスク装置１０５，１０６，１０７はＳＣＳＩバス１１７ａに接続されており、同じ様にＳＣＳＩ制御部１０３ｂに接続されているハードディスク装置１０８，１０９，１１０はＳＣＳＩバス１１７ｂで接続構成され、ＳＣＳＩ制御部１０３ｃに接続されているハードディスク装置１１１，１１２，１１３はＳＣＳＩバス１１７ｃで接続構成されている。
【００２１】
次に、図１を用いディスクアレイ制御方法の詳細について説明を以下に述べる。まず、ディスクアレイ装置のＲＡＩＤを構成している論理ユニットの状態について説明をする。ＲＡＩＤを構成している論理ユニットの状態としては正常、縮退、異常、修復、未接続の５つの状態が存在する。正常状態とは、ＲＡＩＤを構成しているハードディスク装置に異常が無い状態で、通常この状態で使用される。
【００２２】
縮退状態とは、ＲＡＩＤを構成しているハードディスク装置の１台に故障が発生し、そのハードディスク装置をＲＡＩＤを構成している論理ユニットから切り離した状態である。この縮退状態中には、同じ論理ユニット内の別のハードディスク装置に一台でも故障が発生するとデータが失われてしまうため、データが失われてしまう可能性が正常状態に比べ非常に高くなる。
【００２３】
異常状態とは、ＲＡＩＤを構成している論理ユニット内で２台以上のハードディスク装置が故障を起こしている状態である。この状態では、上位装置から異常状態の論理ユニットは使用できない。
【００２４】
修復状態とは、２つの状態が存在する。１つは、正常状態に戻すため、縮退状態のＲＡＩＤを構成している論理ユニット内の正常なハードディスク装置からデータを生成し修復用のハードディスク装置の領域にデータを修復している状態である。もう１つは、修復が完了し正常状態になっている状態にて、故障が発生したハードディスク装置を新しいハードディスク装置に交換されたのを契機に、本来正常状態だったときの構成に戻すため、修復で使用しているハードディスク装置の修復用の領域を、交換された新しいハードディスク装置のユーザが使用する領域に書き戻す処理である。
【００２５】
未接続状態は、ＲＡＩＤを構成している論理ユニットが存在しない状態を示す。上位からのアクセス命令が論理ユニット＃０  １１４に発行された時に、ＲＡＩＤ３を構成しているＳＣＳＩバス１１７ａに接続されるハードディスク装置１０５で故障が発生し縮退状態になった場合について以下に説明する。
【００２６】
まず、故障が発生したハードディスク装置が接続されているＳＣＳＩバス以外から、修復に使用できるハードディスク装置を検索するする処理を行う。故障が発生したＳＣＳＩバスと違うＳＣＳＩバス上につながっているハードディスク装置の領域を割り当てる様にするのは、同一ＳＣＳＩバス上のハードディスク装置に修復を行った場合、１台のハードディスク装置上にＲＡＩＤ３を構成している３台のハードディスク装置の内２台分のエリアが存在することになり、その１台のハードディスク装置が故障になったときは修復不可能な状態が発生するため、この状態に陥らないようにするためである。
【００２７】
故障を起こしたハードディスク装置と違うＳＣＳＩバス１１７ｂに接続されているハードディスク装置をチェックし修復に用いる領域が使用中でないかをチェックする。ＲＡＩＤ３を構成しているディスクアレイが３組以上ある場合には、既に他の修復用領域として使用中の可能性があるため、使用したい領域のチェックが必要である。
【００２８】
論理ユニット＃１  １１５のＳＣＳＩバス１１７ｂ側に接続されているハードディスク装置１１０に修復で使用可能な領域１１０ｂが存在する。そこで、ディスクアレイ制御部１０２内にあるＲＡＩＤを構成しているハードディスク装置の構成管理テーブル情報を、論理ユニット＃０を構成しているのは、ハードディスク装置１０６，１０７のユーザ領域１０６ａ，１０７ａと、ハードディスク装置１１０の未使用領域１１０ｂを使用して構成しているように情報を更新する。
そして修復可能な領域１１０ｂに修復を開始する。
【００２９】
修復を開始した後に、上位装置１０１からアクセス要求があった場合には、ディスクアレイ制御部１０２内にあるＲＡＩＤ３ディスクアレイを構成しているハードディスク装置の構成管理テーブル情報を元にハードディスク装置へのアクセスを行う。
【００３０】
この時の処理の流れを以下に説明する。現在修復中の論理ユニット＃０  に上位装置１０１から書き込み要求があった場合にディスクアレイ制御部１０２内のＲＡＩＤを構成しているハードディスク構成の管理テーブル情報を元にハードディスク装置１０６，１０７，１１０のアクセス領域１０６ａ，１０７ａ，１１０ｂにアクセスを行うようにする。修復中のハードディスク装置１１０に書き込む時には、ディスクアレイの構成を管理しているディスクアレイ制御部１０２内でのＲＡＩＤを構成しているハードディスク装置の管理テーブル情報を元にアクセスするハードディスク装置の領域１１３ｂを判断し、本来ハードディスク装置１０７ａにアクセスするアドレスにユーザ使用領域分のアドレスを加算したアドレスにて、領域１１０ｂにアクセスを行う。
【００３１】
故障が発生したハードディスク装置１０５が正常なハードディスク装置に交換された場合には、修復で使用したハードディスク装置１１０の領域１１０ｂを故障前の構成状態に戻す処理を行う。ハードディスク装置１１０ｂの領域をハードディスク装置１０５ａに戻した後は、ディスクアレイ制御部１０２内のＲＡＩＤを構成しているハードディスク装置の構成管理テーブル情報を、論理ユニット＃０を構成しているのは３台のハードディスク装置１０５，１０６，１０７で、修復に使用したハードディスク装置１１０の領域１１０ｂは未使用領域となるように更新する。
【００３２】
ＲＡＩＤ３を構成しているハードディスク装置にて故障が発生し、アレイの状態が縮退状態になった時から修復を経て元の構成状態に戻る間、修復に使用しているハードディスク装置のアクセス制御を変更する。これは、修復領域として使用されるハードディスク装置では通常使用している容量の２台分のアクセスが発生し、ハードディスク装置の負荷が増えていることと、修復には別のＲＡＩＤを構成している論理ユニットのハードディスク装置を使用することから、修復で使用されるハードディスク装置が接続されているＳＣＳＩバスでは、本来ＲＡＩＤを構成している論理ユニットと、故障がおきたハードディスク装置で構成された論理ユニットのアクセスが発生するため、修復で使用しているハードディスク装置が接続されているＳＣＳＩバス上の負荷が増えた状態になっている。このことによる性能低下を押さえる目的で先読み制御を行う。
【００３３】
図２に示すハードディスク装置へのコマンド発行の流れを示す図を用いて以下に詳細を説明する。
【００３４】
ディスクアレイ制御部１０２より修復中のハードディスク装置１１３に▲１▼から▲７▼の発行順序にて読み込みコマンドが発行されてきた時のアクセスにて、コマンド実行の流れを説明する。発行されたコマンドで▲１▼、▲２▼、▲４▼、▲６▼については、論理ユニット＃２  １１６へのアクセスで、▲３▼、▲５▼、▲７▼については修復構成の論理ユニットのアクセスである。
【００３５】
修復状態のハードディスク装置のアクセスに対しては、ディスクアレイ制御部にてＣａｃｈｅに先読みに使用可能な領域があるかチェックし、領域があれば本来必要なアクセスサイズに対して倍のサイズにてアクセスを行うような制御を行う。
【００３６】
アドレス５０００を４Ｋｂｙｔｅｓ読む場合は、アドレス５０００を倍の８Ｋｂｙｔｅｓで読み込むようにする。この場合だと、４Ｋｂｙｔｅｓの先読みを行ったことになる。
【００３７】
先読み制御を行った場合には、先読み制御が無い場合にコマンド▲２▼を実行している時間  Ｔ２には、コマンド▲２▼はＣａｃｈｅ  Ｈｉｔをして処理を完了しておりハードディスク装置へのアクセスが発生しないため、修復した領域への別論理ユニットのアクセス要求コマンド▲３▼の処理を行うことが可能となる。
【００３８】
このようにハードディスク装置へのコマンド発行処理を減らすことにより、ＳＣＳＩバス上とハードディスク装置に対して負荷を減らすことを可能としている。
【００３９】
【発明の効果】
本発明のディスクアレイ制御装置は、ＲＡＩＤを構成しているハードディスク装置の故障時に、修復専用にハードディスク装置が必要でなくなり、そのため装置構成で修復時用のハードディスク装置のスペースを必要とせず、さらに修復専用のハードディスク装置を構成するディスクアレイ装置より、安価で同じ機能を持ちあわせることが可能となる。
【００４０】
ディスクアレイ装置が修復状態の構成のときに、修復領域を持つハードディスク装置へのアクセス制御を行い、先読みの機能を追加することによる、ディスクアレイ装置の性能低下も軽減することが可能である。
【図面の簡単な説明】
【図１】本発明実施例の構成を示す構成図である。
【図２】本発明実施例のコマンド発行の流れを示す図である。
【符号の説明】
１０１  上位装置
１０２  ディスクアレイ制御部
１０３ａ、１０３ｂ、１０３ｃ  ＳＣＳＩ制御部
１０４  ディスクアレイ装置
１０５、１０６、１０７、１０８、１０９、１１０、１１１、１１２、１１３ハードディスク装置
１０５ａ、１０６ａ、１０７ａ、１０８ａ、１０９ａ、１１０ａ、１１１ａ、１１２ａ、１１３ａ  ユーザ使用領域
１０７ｂ、１１０ｂ、１１３ｂ  故障時に使用する未使用領域
１１４、１１５、１１６  論理ユニット［ディスクアレイ（ＲＡＩＤ  ３）］
１１７ａ、１１７ｂ、１１７ｃ  ＳＣＳＩバス
【図１】
0003597086.tif 000002
【図２】
0003597086.tif 000003