(57)【要約】【課題】  冗長度Ｎ（Ｎは３以上の整数）のディスクアレイ・サブシステムにおいて、Ｎ台のディスク装置に障害が発生しても、隣接する（Ｎ−１）台のディスク装置に障害が発生しなければ、データ損失が発生しないようにする。【解決手段】  各ディスク装置5a〜5h毎に、自ディスク装置のデータ領域7の各セグメントに格納されているデータのコピーを、自ディスク装置を除く｛Ｄ−（Ｎ−１）｝台のディスク装置の第1のコピー領域8-1に分散配置している。更に、各ディスク装置5a〜5h毎に、自ディスク装置の第1のコピー領域8-1の全セグメントに格納されているコピーと同じコピーを、全セグメント単位で、自ディスク装置および第1のコピー領域8-1の各セグメントに格納されているコピーのオリジナルデータを記憶するディスク装置を除く（Ｎ−２）台のディスク装置の第1のコピー領域以外のコピー領域に分散配置している。【選択図】      図２
2006133842.tif 000002
【特許請求の範囲】
【請求項１】
冗長度がＮ（Ｎは３以上の整数）で、Ｄ台のディスク装置から構成されるディスクアレイ・サブシステムであって、
各ディスク装置上の所定数のセグメントから構成されるデータ領域と、それぞれが前記各ディスク装置上の前記所定数のセグメントから構成される（Ｎ−１）個のコピー領域とを有し、
前記各ディスク装置毎に、自ディスク装置のデータ領域の各セグメントに格納されているデータのコピーを、自ディスク装置を除く｛Ｄ−（Ｎ−１）｝台のディスク装置の特定コピー領域に分散配置し、且つ、
前記各ディスク装置毎に、自ディスク装置の特定コピー領域の全セグメントに格納されているコピーと同じコピーを、全セグメント単位で、自ディスク装置および特定コピー領域の各セグメントに格納されているコピーのオリジナルデータを記憶するディスク装置を除く（Ｎ−２）台のディスク装置の特定コピー領域以外のコピー領域に分散配置したことを特徴とするディスクアレイ・サブシステム。
【請求項２】
請求項１記載のディスクアレイ・サブシステムにおいて、
データ領域上のセグメント番号ｉのセグメントに格納されているデータのコピーを配置するディスク装置の装置番号ｋが、第ｎ番目のコピー領域においては、ｋ＝｛ｉ＋（ｉ／Ｄ）mod［Ｄ−（Ｎ−１）］＋ｎ｝modＤであることを特徴とするディスクアレイ・サブシステム。
【請求項３】
冗長度がＮ（Ｎは３以上の整数）で、それぞれがＤ台以上のディスク装置を有する複数のクラスタから構成されるディスクアレイ・サブシステムであって、
各ディスク装置上の所定数のセグメントから構成されるデータ領域と、それぞれが前記各ディスク装置上の前記所定数のセグメントから構成される（Ｎ−１）個のコピー領域とを有し、
前記各ディスク装置毎に、自ディスク装置のデータ領域の各セグメントに格納されているデータのコピーを、自ディスク装置と同一クラスタに属するディスク装置であって、自ディスク装置を除く｛Ｄ−（Ｎ−１）｝台のディスク装置の特定コピー領域に分散配置し、且つ、
前記各ディスク装置毎に、自ディスク装置の特定コピー領域の全セグメントに格納されているコピーと同じコピーを、全セグメント単位で、自ディスク装置と同一クラスタに属するディスク装置であって、自ディスク装置および特定コピー領域の各セグメントに格納されているコピーのオリジナルデータを記憶するディスク装置を除く（Ｎ−２）台のディスク装置の特定コピー領域以外のコピー領域に分散配置したことを特徴とするディスクアレイ・サブシステム。
【請求項４】
請求項１乃至３の何れか１項に記載のディスクアレイ・サブシステムにおいて、
上位装置からライトコマンドが送られてきたとき、データの書き込み先となるデータ領域上のセグメントを有するディスク装置と、前記データのコピー先となるコピー領域上のセグメントを有する各ディスク装置とを前記ライトコマンドの発行先に決定するディスク決定手段を備えたことを特徴とするディスクアレイ・サブシステム。
【請求項５】
請求項４記載のディスクアレイ・サブシステムにおいて、
前記データ領域に配置されている各セグメント毎に、そのセグメントが配置されているディスク装置の装置番号と、そのセグメントに格納されているデータのコピー先となるセグメントが配置されているディスク装置の装置番号とが登録されたセグメント管理テーブルを備え、且つ、
前記ディスク決定手段が、前記ライトコマンドがデータの書き込み先にしているセグメントが配置されているディスク装置の装置番号および前記セグメントに格納されているデータのコピー先となるセグメントが配置されているディスク装置の装置番号を前記セグメント管理テーブルから取得し、該取得した装置番号のディスク装置を前記ライトコマンドの発行先に決定する構成を有することを特徴とするディスクアレイ・サブシステム。
【請求項６】
請求項４記載のディスクアレイ・サブシステムにおいて、
前記ディスク決定手段が、前記上位装置からリードコマンドが送られてきたとき、正常動作しているディスク装置の負荷が均等になるように、前記リードコマンドの発行先にするディスク装置を決定する構成を有することを特徴とするディスクアレイ・サブシステム。
【請求項７】
請求項６記載のディスクアレイ・サブシステムにおいて、
ディスク装置に障害が発生した時に、他の正常動作しているディスク装置から前記障害の発生したディスク装置の各セグメントに格納されていた内容を読み込み、読み込んだ内容を代替ディスク装置に書き出すデータ復旧手段であって、各ディスク装置の負荷が均等になるように読み出し先のディスク装置を決定するデータ復旧手段を備えたことを特徴とするディスクアレイ・サブシステム。
【請求項８】
冗長度がＮ（Ｎは３以上の整数）で、Ｄ台のディスク装置から構成されるディスクアレイ・サブシステムにおける分散配置方法であって、
各ディスク装置上に、所定数のセグメントから構成されるデータ領域と、それぞれが前記所定数のセグメントから構成される（Ｎ−１）個のコピー領域とを設け、
前記各ディスク装置毎に、自ディスク装置のデータ領域の各セグメントに格納されているデータのコピーを、自ディスク装置を除く｛Ｄ−（Ｎ−１）｝台のディスク装置の特定コピー領域に分散配置し、且つ、
前記各ディスク装置毎に、自ディスク装置の特定コピー領域の全セグメントに格納されているコピーと同じコピーを、全セグメント単位で、自ディスク装置および特定コピー領域の各セグメントに格納されているコピーのオリジナルデータを記憶するディスク装置を除く（Ｎ−２）台のディスク装置の特定コピー領域以外のコピー領域に分散配置することを特徴とするディスクアレイ・サブシステムにおける分散配置方法。
【請求項９】
冗長度がＮ（Ｎは３以上の整数）で、それぞれがＤ台以上のディスク装置を有する複数のクラスタから構成されるディスクアレイ・サブシステムにおける分散配置方法であって、
各ディスク装置上に、所定数のセグメントから構成されるデータ領域と、それぞれが前記所定数のセグメントから構成される（Ｎ−１）個のコピー領域とを設け、
前記各ディスク装置毎に、自ディスク装置のデータ領域の各セグメントに格納されているデータのコピーを、自ディスク装置と同一クラスタに属するディスク装置であって、自ディスク装置を除く｛Ｄ−（Ｎ−１）｝台のディスク装置の特定コピー領域に分散配置し、且つ、
前記各ディスク装置毎に、自ディスク装置の特定コピー領域の全セグメントに格納されているコピーと同じコピーを、全セグメント単位で、自ディスク装置と同一クラスタに属するディスク装置であって、自ディスク装置および特定コピー領域の各セグメントに格納されているコピーのオリジナルデータを記憶するディスク装置を除く（Ｎ−２）台のディスク装置の特定コピー領域以外のコピー領域に分散配置することを特徴とするディスクアレイ・サブシステムにおける分散配置方法。
【請求項１０】
冗長度がＮ（Ｎは３以上の整数）で、Ｄ台のディスク装置から構成され、
各ディスク装置上の所定数のセグメントから構成されるデータ領域と、それぞれが前記各ディスク装置上の前記所定数のセグメントから構成される（Ｎ−１）個のコピー領域とを有し、
前記各ディスク装置毎に、自ディスク装置のデータ領域の各セグメントに格納されているデータのコピーを、自ディスク装置を除く｛Ｄ−（Ｎ−１）｝台のディスク装置の特定コピー領域に分散配置し、且つ、
前記各ディスク装置毎に、自ディスク装置の特定コピー領域の全セグメントに格納されているコピーと同じコピーを、全セグメント単位で、自ディスク装置および特定コピー領域の各セグメントに格納されているコピーのオリジナルデータを記憶するディスク装置を除く（Ｎ−２）台のディスク装置の特定コピー領域以外のコピー領域に分散配置したディスクアレイ・サブシステムにおける制御方法であって、
上位装置からライトコマンドが送られてきたとき、データの書き込み先となるデータ領域上のセグメントを有するディスク装置と、前記データのコピー先となるコピー領域上のセグメントを有する各ディスク装置とを前記ライトコマンドの発行先に決定するディスク決定ステップを含むことを特徴とするディスクアレイ・サブシステムにおける制御方法。
【請求項１１】
冗長度がＮ（Ｎは３以上の整数）で、それぞれがＤ台以上のディスク装置を有する複数のクラスタから構成され、
各ディスク装置上の所定数のセグメントから構成されるデータ領域と、それぞれが前記各ディスク装置上の前記所定数のセグメントから構成される（Ｎ−１）個のコピー領域とを有し、
前記各ディスク装置毎に、自ディスク装置のデータ領域の各セグメントに格納されているデータのコピーを、自ディスク装置と同一クラスタに属するディスク装置であって、自ディスク装置を除く｛Ｄ−（Ｎ−１）｝台のディスク装置の特定コピー領域に分散配置し、且つ、
前記各ディスク装置毎に、自ディスク装置の特定コピー領域の全セグメントに格納されているコピーと同じコピーを、全セグメント単位で、自ディスク装置と同一クラスタに属するディスク装置であって、自ディスク装置および特定コピー領域の各セグメントに格納されているコピーのオリジナルデータを記憶するディスク装置を除く（Ｎ−２）台のディスク装置の特定コピー領域以外のコピー領域に分散配置したディスクアレイ・サブシステムにおける制御方法であって、
上位装置からライトコマンドが送られてきたとき、データの書き込み先となるデータ領域上のセグメントを有するディスク装置と、前記データのコピー先となるコピー領域上のセグメントを有する各ディスク装置とを前記ライトコマンドの発行先に決定するディスク決定ステップを含むことを特徴とするディスクアレイ・サブシステムにおける制御方法。
【請求項１２】
請求項１０または１１記載のディスクアレイ・サブシステムにおける制御方法において、
前記ディスク決定ステップが、前記上位装置からリードコマンドが送られてきたとき、正常動作しているディスク装置の負荷が均等になるように、前記リードコマンドの発行先にするディスク装置を決定する処理を実行することを特徴とするディスクアレイ・サブシステムにおける制御方法。
【請求項１３】
請求項１２記載のディスクアレイ・サブシステムにおける制御方法において、
ディスク装置に障害が発生した時に、他の正常動作しているディスク装置から前記障害の発生したディスク装置の各セグメントに格納されていた内容を読み込み、読み込んだ内容を代替ディスク装置に書き出すデータ復旧ステップであって、各ディスク装置の負荷が均等になるように読み出し先のディスク装置を決定するデータ復旧ステップを含むことを特徴とするディスクアレイ・サブシステムにおける制御方法。
【請求項１４】
冗長度がＮ（Ｎは３以上の整数）で、Ｄ台のディスク装置から構成され、
各ディスク装置上の所定数のセグメントから構成されるデータ領域と、それぞれが前記各ディスク装置上の前記所定数のセグメントから構成される（Ｎ−１）個のコピー領域とを有し、
前記各ディスク装置毎に、自ディスク装置のデータ領域の各セグメントに格納されているデータのコピーを、自ディスク装置を除く｛Ｄ−（Ｎ−１）｝台のディスク装置の特定コピー領域に分散配置し、且つ、
前記各ディスク装置毎に、自ディスク装置の特定コピー領域の全セグメントに格納されているコピーと同じコピーを、全セグメント単位で、自ディスク装置および特定コピー領域の各セグメントに格納されているコピーのオリジナルデータを記憶するディスク装置を除く（Ｎ−２）台のディスク装置の特定コピー領域以外のコピー領域に分散配置したディスクアレイ・サブシステムを備えたコンピュータを、
上位装置からライトコマンドが送られてきたとき、データの書き込み先となるデータ領域上のセグメントを有するディスク装置と、前記データのコピー先となるコピー領域上のセグメントを有する各ディスク装置とを前記ライトコマンドの発行先に決定するディスク決定手段として機能させるためのプログラム。
【請求項１５】
冗長度がＮ（Ｎは３以上の整数）で、それぞれがＤ台以上のディスク装置を有する複数のクラスタから構成され、
各ディスク装置上の所定数のセグメントから構成されるデータ領域と、それぞれが前記各ディスク装置上の前記所定数のセグメントから構成される（Ｎ−１）個のコピー領域とを有し、
前記各ディスク装置毎に、自ディスク装置のデータ領域の各セグメントに格納されているデータのコピーを、自ディスク装置と同一クラスタに属するディスク装置であって、自ディスク装置を除く｛Ｄ−（Ｎ−１）｝台のディスク装置の特定コピー領域に分散配置し、且つ、
前記各ディスク装置毎に、自ディスク装置の特定コピー領域の全セグメントに格納されているコピーと同じコピーを、全セグメント単位で、自ディスク装置と同一クラスタに属するディスク装置であって、自ディスク装置および特定コピー領域の各セグメントに格納されているコピーのオリジナルデータを記憶するディスク装置を除く（Ｎ−２）台のディスク装置の特定コピー領域以外のコピー領域に分散配置したディスクアレイ・サブシステムを備えたコンピュータを、
上位装置からライトコマンドが送られてきたとき、データの書き込み先となるデータ領域上のセグメントを有するディスク装置と、前記データのコピー先となるコピー領域上のセグメントを有する各ディスク装置とを前記ライトコマンドの発行先に決定するディスク決定手段として機能させるためのプログラム。
【請求項１６】
請求項１４または１５記載のプログラムにおいて、
前記ディスク決定手段が、前記上位装置からリードコマンドが送られてきたとき、正常動作しているディスク装置の負荷が均等になるように、前記リードコマンドの発行先にするディスク装置を決定する構成を有することを特徴とするプログラム。
【請求項１７】
請求項１６記載のプログラムにおいて、
前記コンピュータを、
ディスク装置に障害が発生した時に、他の正常動作しているディスク装置から前記障害の発生したディスク装置の各セグメントに格納されていた内容を読み込み、読み込んだ内容を代替ディスク装置に書き出すデータ復旧手段であって、各ディスク装置の負荷が均等になるように読み出し先のディスク装置を決定するデータ復旧手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数台のディスク装置から構成されるディスクアレイ・サブシステムに関し、特に、ディスク装置に障害が発生した際のデータ損失発生確率を低くすることができるディスクアレイ・サブシステムに関する。
【背景技術】
【０００２】
従来よりディスクアレイ・サブシステムにおいては、複数の磁気ディスク装置を統合管理する冗長化ディスク（ＲＡＩＤ）が採用されてきた。ＲＡＩＤでは、データを複数の磁気ディスク装置に分散配置し、また冗長データを付加することにより、安価な磁気ディスク装置を使用しているにも関わらず、データ・アクセスの高速化や、信頼性の高いデータ格納システムを実現することが可能となる。
【０００３】
大別すると、ＲＡＩＤにはミラー冗長方式とパリティ冗長方式とがある。ミラー冗長方式は、データを完全に二重化する方式であり、二重化の単位としては、従来は磁気ディスク装置単位であったが、近年は磁気ディスク装置を固有の管理単位に分割し、その管理単位毎に二重化する方式も実現されつつある。パリティ冗長方式は、ユーザ・データから作製したパリティ・データを、ＲＡＩＤを構成する磁気ディスク装置の１台に保存し、磁気ディスク装置が故障したときには、生き残った磁気ディスク装置に格納されているパリティ・データとユーザ・データとから、故障した磁気ディスク装置に格納されていたデータを生成する。
【０００４】
ミラー冗長方式はデータを二重化するため、冗長データが占める記憶容量の割合は５０％となるが、パリティ冗長方式は、パリティ・データを格納する分だけの記憶容量を確保すれば良いため、例えば５台の磁気ディスク装置で構成されたパリティ冗長ＲＡＩＤシステムの場合、冗長データが占める記憶容量の割合は２０％で済む。
【０００５】
一方で、パリティ冗長方式では、パリティを生成する元となるユーザ・データ・セットが揃っていない場合、不足する箇所を磁気ディスク装置から読み出す処理が必要となる。パリティ・データを生成するために必要となる磁気ディスク装置からの読み出し処理は、ライト・ペナルティと呼ばれる。さらに、磁気ディスク装置が故障した場合、該磁気ディスク装置に格納されていたデータを予備の磁気ディスク装置上に冗長データを使用して再構成することになるが、パリティ冗長方式は前述のように生き残ったすべての磁気ディスク装置のすべてのデータを読み出し、失われたデータを生成することになるため、該再構成処理が完了するまで、ＲＡＩＤシステム全体が長時間に渡って過負荷な状態となる。
【０００６】
このようにパリティ冗長方式では、しばしばライト・ペナルティを伴うことや、磁気ディスク装置故障時の再構成処理を実行中にシステムの負荷が高くなるという課題があることを認識しつつも、記憶容量効率を重視する場面において頻繁に使われていたが、磁気ディスク装置の記憶容量が従来のペースで向上し続けることを前提とすると、今後、記憶容量効率はさして重要でなく、システムが本来有している機能をどれだけ提供できるかという尺度として可用性が重視されるようになり、つまりミラーリングを基本とした冗長方式の利用が促進されると思われる。
【０００７】
そこで、以下では、ミラー冗長方式に絞って従来の技術について詳しく説明する。
【０００８】
従来、最も一般的に利用されるミラー冗長システムは、ＲＡＩＤ１のミラー冗長システムである。このＲＡＩＤ１のミラー冗長システムは、ディスク装置（現用系）に格納するデータのコピー（冗長データ）を、上記ディスク装置とは別のディスク装置（予備系）に格納したものであり、現用系のディスク装置に障害が発生した場合であっても、予備系のディスク装置を利用して処理を継続することが可能となるので、信頼性が向上する。更に、データのリード時には、現用系，予備系どちらのディスク装置からデータをリードしても良いので、処理を高速化することが可能になる。
【０００９】
しかし、ＲＡＩＤ１のミラー冗長システムは、現用系のディスク装置に障害が発生した場合、リードコマンドが予備系のディスク装置に集中するため、ミラー冗長システムの性能が著しく低下する場合がある。
【００１０】
そこで、このような問題点を解決するため、ディスクアレイ・サブシステムの構成要素であるミラー冗長システムとして、図１３に示すようなミラー冗長システム１００が提案された（例えば、特許文献１参照）。同図に示すミラー冗長システム１００は、冗長度が「２」であり、５台のディスク装置ＰＤ＃０〜ＰＤ＃４から構成されている。
【００１１】
各ディスク装置ＰＤ＃０〜ＰＤ＃４は、それぞれ８個のセグメントを有し、ラインＬ０〜Ｌ３上に存在するセグメントによりデータを格納するためのデータ領域１０１が構成され、ラインＬ４〜Ｌ７上に存在するセグメントによりデータのコピーを格納するためのコピー領域１０２が構成されている。
【００１２】
そして、或るディスク装置上のデータ領域１０１に格納されているデータのコピーは、上記或るディスク装置を除く他の４台のディスク装置上のコピー領域１０２に分散配置されている。例えば、ディスク装置ＤＰ＃０に格納されているデータａ，ｆ，ｋ，ｐのコピーａ'，ｆ'，ｋ'，ｐ'は、それぞれデータ装置ＰＤ＃１〜ＰＤ＃４上のコピー領域１０２に格納され、また、例えば、ディスク装置ＰＤ＃２に格納されているデータｃ，ｈ，ｍ，ｒのコピーｃ'，ｈ'，ｍ'，ｒ'は、それぞれディスク装置ＰＤ＃３〜ＰＤ＃１上のコピー領域１０２に格納されている。
【００１３】
上述したようにすることにより、或るディスク装置（例えば、ディスク装置ＰＤ＃０）に障害が発生した場合であっても、障害の発生したディスク装置ＰＤ＃０に格納されていたデータａ，ｆ，ｋ，ｐのコピーａ'，ｆ'，ｋ'，ｐ'が他のディスク装置ＰＤ＃１〜ＰＤ＃４に分散配置されているので、１つのディスク装置にリード要求が集中するというようなことはなくなる。この結果、ＲＡＩＤ１のミラー冗長システムに比較して、システム性能の低下を低く抑えることが可能になる。
【特許文献１】特開平９−２６５３５９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
図１３に示した特許文献１に記載されている従来のミラー冗長システム１００は、冗長度が「２」である。従って、２台以上のディスク装置に障害が発生すると、処理を継続できなくなってしまう。このような問題を解決するためには、冗長度を上げれば良い。例えば、２台のディスク装置に障害が発生しても処理を継続できるようにするためには、冗長度を「３」以上とすれば良い。
【００１５】
ところで、特許文献１に記載されている技術、即ち、或るディスク装置上のデータ領域に格納されているデータのコピーは、上記或るディスク装置を除いた他のディスク装置上のコピー領域に分散配置するという技術を利用して、冗長度「３」のミラー冗長システムを構成しようとした場合、例えば、図１４に示すミラー冗長システム２００や、図１５に示すミラー冗長システム３００が考えられる。
【００１６】
ミラー冗長システム２００，３００は、共に５台のディスク装置ＰＤ＃０〜ＰＤ＃４から構成されており、各ディスク装置ＰＤ＃０〜ＰＤ＃４は、それぞれ１２個のセグメントを有している。そして、ラインＬ０〜Ｌ３上に存在するセグメントによりデータ領域２０１，３０１が構成され、ラインＬ４〜Ｌ７上に存在するセグメントにより第１のコピー領域２０２−１，３０２−１が構成され、ラインＬ８〜Ｌ１１上に存在するセグメントにより第２のコピー領域２０２−２，３０２−２が構成されている。
【００１７】
データ領域２０１，３０１と第１のコピー領域２０２−１，３０２−１との関係は、図１３に示したデータ領域１０１とコピー領域１０２との関係と同一になっている。即ち、或るディスク装置のデータ領域２０１に格納されているデータのコピーは、上記或るディスク装置の右隣のディスク装置から右方向に向かって、上記或るディスク装置を除いた各ディスク装置上に分散配置されている。なお、最も右側に存在するディスク装置ＰＤ＃４については、ディスク装置ＰＤ＃０が右隣のディスク装置となる。
【００１８】
これに対して、データ領域２０１，３０１と第２のコピー領域２０２−２，３０２−２との関係は、データ領域１０１とコピー領域１０２との関係とは多少異なっている。
【００１９】
図１４に示したミラー冗長システム２００においては、或るディスク装置のデータ領域２０１に格納されているデータは、上記或るディスク装置の２台右のディスク装置から右方向に向かって、上記或るディスク装置を除いた各ディスク装置上に分散配置されている。
【００２０】
また、図１５に示したミラー冗長システム３００においては、或るディスク装置のデータ領域３０１に格納されているデータは、上記或るディスク装置の２台右のディスク装置から右方向に向かって一台おきに、上記或るディスク装置を除いた各ディスク装置上に分散配置されている。
【００２１】
図１４，図１５に示した冗長度「３」のミラー冗長システム２００，３００を使用することにより、２台のディスク装置に障害が発生した場合であっても、処理を継続することが可能となる。
【００２２】
しかし、図１４，図１５に示したミラー冗長システム２００，３００では、３台以上のディスク装置に障害が発生した場合、その組み合わせがどのようなものであっても、データ損失が発生してしまう。即ち、特許文献１に記載されている技術を利用して冗長度Ｎ（Ｎは３以上の整数）のミラー冗長システムを構成した場合、Ｎ台以上のディスク装置に障害が発生すると、障害発生ディスク装置の組み合わせがどのようなものであってもデータ損失が発生してしまう。
【００２３】
〔発明の目的〕
そこで、本発明は、冗長度「３」以上のミラー冗長システムを構成要素とするディスクアレイ・サブシステムにおいて、冗長度以上のディスク装置に障害が発生した場合であっても、障害の発生したディスク装置の組み合わせによっては、データ損失を防ぐことができるようにすることにある。
【課題を解決するための手段】
【００２４】
本発明にかかる第１のディスクアレイ・サブシステムは、
冗長度がＮ（Ｎは３以上の整数）で、Ｄ台のディスク装置から構成されるディスクアレイ・サブシステムであって、
各ディスク装置上の所定数のセグメントから構成されるデータ領域と、それぞれが前記各ディスク装置上の前記所定数のセグメントから構成される（Ｎ−１）個のコピー領域とを有し、
前記各ディスク装置毎に、自ディスク装置のデータ領域の各セグメントに格納されているデータのコピーを、自ディスク装置を除く｛Ｄ−（Ｎ−１）｝台のディスク装置の特定コピー領域に分散配置し、且つ、
前記各ディスク装置毎に、自ディスク装置の特定コピー領域の全セグメントに格納されているコピーと同じコピーを、全セグメント単位で、自ディスク装置および特定コピー領域の各セグメントに格納されているコピーのオリジナルデータを記憶するディスク装置を除く（Ｎ−２）台のディスク装置の特定コピー領域以外のコピー領域に分散配置したことを特徴とする。
【００２５】
本発明にかかる第２のディスクアレイ・サブシステムは、第１のディスクアレイ・サブシステムにおいて、
データ領域上のセグメント番号ｉのセグメントに格納されているデータのコピーを配置するディスク装置の装置番号ｋが、第ｎ番目のコピー領域においては、ｋ＝｛ｉ＋（ｉ／Ｄ）mod［Ｄ−（Ｎ−１）］＋ｎ｝modＤであることを特徴とする。
【００２６】
本発明にかかる第３のディスクアレイ・サブシステムは、
冗長度がＮ（Ｎは３以上の整数）で、それぞれがＤ台以上のディスク装置を有する複数のクラスタから構成されるディスクアレイ・サブシステムであって、
各ディスク装置上の所定数のセグメントから構成されるデータ領域と、それぞれが前記各ディスク装置上の前記所定数のセグメントから構成される（Ｎ−１）個のコピー領域とを有し、
前記各ディスク装置毎に、自ディスク装置のデータ領域の各セグメントに格納されているデータのコピーを、自ディスク装置と同一クラスタに属するディスク装置であって、自ディスク装置を除く｛Ｄ−（Ｎ−１）｝台のディスク装置の特定コピー領域に分散配置し、且つ、
前記各ディスク装置毎に、自ディスク装置の特定コピー領域の全セグメントに格納されているコピーと同じコピーを、全セグメント単位で、自ディスク装置と同一クラスタに属するディスク装置であって、自ディスク装置および特定コピー領域の各セグメントに格納されているコピーのオリジナルデータを記憶するディスク装置を除く（Ｎ−２）台のディスク装置の特定コピー領域以外のコピー領域に分散配置したことを特徴とする。
【００２７】
本発明にかかる第４のディスクアレイ・サブシステムは、第１〜第３のディスクアレイ・サブシステムにおいて、
上位装置からライトコマンドが送られてきたとき、データの書き込み先となるデータ領域上のセグメントを有するディスク装置と、前記データのコピー先となるコピー領域上のセグメントを有する各ディスク装置とを前記ライトコマンドの発行先に決定するディスク決定手段を備えたことを特徴とする。
【００２８】
本発明にかかる第５のディスクアレイ・サブシステムは、第４のディスクアレイ・サブシステムにおいて、
前記データ領域に配置されている各セグメント毎に、そのセグメントが配置されているディスク装置の装置番号と、そのセグメントに格納されているデータのコピー先となるセグメントが配置されているディスク装置の装置番号とが登録されたセグメント管理テーブルを備え、且つ、
前記ディスク決定手段が、前記ライトコマンドがデータの書き込み先にしているセグメントが配置されているディスク装置の装置番号および前記セグメントに格納されているデータのコピー先となるセグメントが配置されているディスク装置の装置番号を前記セグメント管理テーブルから取得し、該取得した装置番号のディスク装置を前記ライトコマンドの発行先に決定する構成を有することを特徴とする。
【００２９】
本発明にかかる第６のディスクアレイ・サブシステムは、第４のディスクアレイ・サブシステムにおいて、
前記ディスク決定手段が、前記上位装置からリードコマンドが送られてきたとき、正常動作しているディスク装置の負荷が均等になるように、前記リードコマンドの発行先にするディスク装置を決定する構成を有することを特徴とする。
【００３０】
本発明にかかる第７のディスクアレイ・サブシステムは、第６のディスクアレイ・サブシステムにおいて、
ディスク装置に障害が発生した時に、他の正常動作しているディスク装置から前記障害の発生したディスク装置の各セグメントに格納されていた内容を読み込み、読み込んだ内容を代替ディスク装置に書き出すデータ復旧手段であって、各ディスク装置の負荷が均等になるように読み出し先のディスク装置を決定するデータ復旧手段を備えたことを特徴とする。
【００３１】
本発明にかかる第１のディスクアレイ・サブシステムにおける分散配置方法は、
冗長度がＮ（Ｎは３以上の整数）で、Ｄ台のディスク装置から構成されるディスクアレイ・サブシステムにおける分散配置方法であって、
各ディスク装置上に、所定数のセグメントから構成されるデータ領域と、それぞれが前記所定数のセグメントから構成される（Ｎ−１）個のコピー領域とを設け、
前記各ディスク装置毎に、自ディスク装置のデータ領域の各セグメントに格納されているデータのコピーを、自ディスク装置を除く｛Ｄ−（Ｎ−１）｝台のディスク装置の特定コピー領域に分散配置し、且つ、
前記各ディスク装置毎に、自ディスク装置の特定コピー領域の全セグメントに格納されているコピーと同じコピーを、全セグメント単位で、自ディスク装置および特定コピー領域の各セグメントに格納されているコピーのオリジナルデータを記憶するディスク装置を除く（Ｎ−２）台のディスク装置の特定コピー領域以外のコピー領域に分散配置することを特徴とする。
【００３２】
本発明にかかる第２のディスクアレイ・サブシステムにおける分散配置方法は、
冗長度がＮ（Ｎは３以上の整数）で、それぞれがＤ台以上のディスク装置を有する複数のクラスタから構成されるディスクアレイ・サブシステムにおける分散配置方法であって、
各ディスク装置上に、所定数のセグメントから構成されるデータ領域と、それぞれが前記所定数のセグメントから構成される（Ｎ−１）個のコピー領域とを設け、
前記各ディスク装置毎に、自ディスク装置のデータ領域の各セグメントに格納されているデータのコピーを、自ディスク装置と同一クラスタに属するディスク装置であって、自ディスク装置を除く｛Ｄ−（Ｎ−１）｝台のディスク装置の特定コピー領域に分散配置し、且つ、
前記各ディスク装置毎に、自ディスク装置の特定コピー領域の全セグメントに格納されているコピーと同じコピーを、全セグメント単位で、自ディスク装置と同一クラスタに属するディスク装置であって、自ディスク装置および特定コピー領域の各セグメントに格納されているコピーのオリジナルデータを記憶するディスク装置を除く（Ｎ−２）台のディスク装置の特定コピー領域以外のコピー領域に分散配置することを特徴とする。
【００３３】
本発明にかかる第１のディスクアレイ・サブシステムにおける制御方法は、
冗長度がＮ（Ｎは３以上の整数）で、Ｄ台のディスク装置から構成され、
各ディスク装置上の所定数のセグメントから構成されるデータ領域と、それぞれが前記各ディスク装置上の前記所定数のセグメントから構成される（Ｎ−１）個のコピー領域とを有し、
前記各ディスク装置毎に、自ディスク装置のデータ領域の各セグメントに格納されているデータのコピーを、自ディスク装置を除く｛Ｄ−（Ｎ−１）｝台のディスク装置の特定コピー領域に分散配置し、且つ、
前記各ディスク装置毎に、自ディスク装置の特定コピー領域の全セグメントに格納されているコピーと同じコピーを、全セグメント単位で、自ディスク装置および特定コピー領域の各セグメントに格納されているコピーのオリジナルデータを記憶するディスク装置を除く（Ｎ−２）台のディスク装置の特定コピー領域以外のコピー領域に分散配置したディスクアレイ・サブシステムにおける制御方法であって、
上位装置からライトコマンドが送られてきたとき、データの書き込み先となるデータ領域上のセグメントを有するディスク装置と、前記データのコピー先となるコピー領域上のセグメントを有する各ディスク装置とを前記ライトコマンドの発行先に決定するディスク決定ステップを含むことを特徴とする。
【００３４】
本発明にかかる第２のディスクアレイ・サブシステムにおける制御方法は、
冗長度がＮ（Ｎは３以上の整数）で、それぞれがＤ台以上のディスク装置を有する複数のクラスタから構成され、
各ディスク装置上の所定数のセグメントから構成されるデータ領域と、それぞれが前記各ディスク装置上の前記所定数のセグメントから構成される（Ｎ−１）個のコピー領域とを有し、
前記各ディスク装置毎に、自ディスク装置のデータ領域の各セグメントに格納されているデータのコピーを、自ディスク装置と同一クラスタに属するディスク装置であって、自ディスク装置を除く｛Ｄ−（Ｎ−１）｝台のディスク装置の特定コピー領域に分散配置し、且つ、
前記各ディスク装置毎に、自ディスク装置の特定コピー領域の全セグメントに格納されているコピーと同じコピーを、全セグメント単位で、自ディスク装置と同一クラスタに属するディスク装置であって、自ディスク装置および特定コピー領域の各セグメントに格納されているコピーのオリジナルデータを記憶するディスク装置を除く（Ｎ−２）台のディスク装置の特定コピー領域以外のコピー領域に分散配置したディスクアレイ・サブシステムにおける制御方法であって、
上位装置からライトコマンドが送られてきたとき、データの書き込み先となるデータ領域上のセグメントを有するディスク装置と、前記データのコピー先となるコピー領域上のセグメントを有する各ディスク装置とを前記ライトコマンドの発行先に決定するディスク決定ステップを含むことを特徴とする。
【００３５】
本発明にかかる第３のディスクアレイ・サブシステムにおける制御方法は、第１，第２のディスクアレイ・サブシステムにおける制御方法において、
前記ディスク決定ステップが、前記上位装置からリードコマンドが送られてきたとき、正常動作しているディスク装置の負荷が均等になるように、前記リードコマンドの発行先にするディスク装置を決定する処理を実行することを特徴とする。
【００３６】
本発明にかかる第４のディスクアレイ・サブシステムにおける制御方法は、第３のディスクアレイ・サブシステムにおける制御方法において、
ディスク装置に障害が発生した時に、他の正常動作しているディスク装置から前記障害の発生したディスク装置の各セグメントに格納されていた内容を読み込み、読み込んだ内容を代替ディスク装置に書き出すデータ復旧ステップであって、各ディスク装置の負荷が均等になるように読み出し先のディスク装置を決定するデータ復旧ステップを含むことを特徴とする。
【００３７】
本発明にかかる第１のプログラムは、
冗長度がＮ（Ｎは３以上の整数）で、Ｄ台のディスク装置から構成され、
各ディスク装置上の所定数のセグメントから構成されるデータ領域と、それぞれが前記各ディスク装置上の前記所定数のセグメントから構成される（Ｎ−１）個のコピー領域とを有し、
前記各ディスク装置毎に、自ディスク装置のデータ領域の各セグメントに格納されているデータのコピーを、自ディスク装置を除く｛Ｄ−（Ｎ−１）｝台のディスク装置の特定コピー領域に分散配置し、且つ、
前記各ディスク装置毎に、自ディスク装置の特定コピー領域の全セグメントに格納されているコピーと同じコピーを、全セグメント単位で、自ディスク装置および特定コピー領域の各セグメントに格納されているコピーのオリジナルデータを記憶するディスク装置を除く（Ｎ−２）台のディスク装置の特定コピー領域以外のコピー領域に分散配置したディスクアレイ・サブシステムを備えたコンピュータを、
上位装置からライトコマンドが送られてきたとき、データの書き込み先となるデータ領域上のセグメントを有するディスク装置と、前記データのコピー先となるコピー領域上のセグメントを有する各ディスク装置とを前記ライトコマンドの発行先に決定するディスク決定手段として機能させる。
【００３８】
本発明にかかる第２のプログラムは、
冗長度がＮ（Ｎは３以上の整数）で、それぞれがＤ台以上のディスク装置を有する複数のクラスタから構成され、
各ディスク装置上の所定数のセグメントから構成されるデータ領域と、それぞれが前記各ディスク装置上の前記所定数のセグメントから構成される（Ｎ−１）個のコピー領域とを有し、
前記各ディスク装置毎に、自ディスク装置のデータ領域の各セグメントに格納されているデータのコピーを、自ディスク装置と同一クラスタに属するディスク装置であって、自ディスク装置を除く｛Ｄ−（Ｎ−１）｝台のディスク装置の特定コピー領域に分散配置し、且つ、
前記各ディスク装置毎に、自ディスク装置の特定コピー領域の全セグメントに格納されているコピーと同じコピーを、全セグメント単位で、自ディスク装置と同一クラスタに属するディスク装置であって、自ディスク装置および特定コピー領域の各セグメントに格納されているコピーのオリジナルデータを記憶するディスク装置を除く（Ｎ−２）台のディスク装置の特定コピー領域以外のコピー領域に分散配置したディスクアレイ・サブシステムを備えたコンピュータを、
上位装置からライトコマンドが送られてきたとき、データの書き込み先となるデータ領域上のセグメントを有するディスク装置と、前記データのコピー先となるコピー領域上のセグメントを有する各ディスク装置とを前記ライトコマンドの発行先に決定するディスク決定手段として機能させる。
【００３９】
本発明にかかる第３のプログラムは、第１，第２のプログラムにおいて、
前記ディスク決定手段が、前記上位装置からリードコマンドが送られてきたとき、正常動作しているディスク装置の負荷が均等になるように、前記リードコマンドの発行先にするディスク装置を決定する構成を有することを特徴とする。
【００４０】
本発明にかかる第４のプログラムは、第３のプログラムにおいて、
前記コンピュータを、
ディスク装置に障害が発生した時に、他の正常動作しているディスク装置から前記障害の発生したディスク装置の各セグメントに格納されていた内容を読み込み、読み込んだ内容を代替ディスク装置に書き出すデータ復旧手段であって、各ディスク装置の負荷が均等になるように読み出し先のディスク装置を決定するデータ復旧手段として機能させる。
【００４１】
〔作用〕
本発明にかかるディスクアレイ・サブシステムでは、各ディスク装置毎に、自ディスク装置のデータ領域の各セグメントに格納されているデータのコピーを、自ディスク装置を除く｛Ｄ−（Ｎ−１）｝台のディスク装置の特定コピー領域に分散配置している。更に、各ディスク装置毎に、自ディスク装置の特定コピー領域の全セグメントに格納されているコピーと同じコピーを、全セグメント単位で、自ディスク装置および特定コピー領域の各セグメントに格納されているコピーのオリジナルデータを記憶するディスク装置を除く（Ｎ−２）台のディスク装置の特定コピー領域以外のコピー領域に分散配置している。
【００４２】
上記したようにコピーを分散配置した場合、冗長度が「３」であれば、第ｋ番目のディスク装置の第ｎ番目のコピー領域と、上記ディスク装置と隣接する第（ｋ＋１）番目のディスク装置の第（ｎ＋１）番目のコピー領域とには、同一内容のコピーが格納されることになる。従って、３台（冗長度３と同じ台数）のディスク装置に障害が発生した場合であっても、隣接する２台のディスク装置に障害が発生していなければ、データの損失は発生しない。
【発明の効果】
【００４３】
本発明にかかるディスクアレイ・サブシステムによれば、冗長度Ｎ（Ｎは３以上の整数）と同じＮ台のディスク装置に障害が発生した場合であっても、隣接する（Ｎ−１）台のディスク装置に障害が発生していなければ、データの損失を防ぐことが可能になる。その理由は、各ディスク装置毎に、自ディスク装置のデータ領域の各セグメントに格納されているデータのコピーを、自ディスク装置を除く｛Ｄ−（Ｎ−１）｝台のディスク装置の特定コピー領域に分散配置し、更に、各ディスク装置毎に、自ディスク装置の特定コピー領域の全セグメントに格納されているコピーと同じコピーを、全セグメント単位で、自ディスク装置および特定コピー領域の各セグメントに格納されているコピーのオリジナルデータを記憶するディスク装置を除く（Ｎ−２）台のディスク装置の特定コピー領域以外のコピー領域に分散配置したからである。
【００４４】
ここで、本発明にかかるディスクアレイ・サブシステムの効果を、１６台の磁気ディスク装置から構成される冗長度「３」のディスクアレイ・サブシステムを例に挙げて説明する。
【００４５】
本発明にかかるディスクアレイ・サブシステムでは、隣接する２台のディスク装置と、それ以外の任意の１台のディスク装置に障害が発生した場合にデータ損失が発生する。これに対して、従来のディスクアレイ・サブシステムでは、任意の３台のディスク装置に障害が発生した場合に、データ損失が発生する。従って、３台のディスク装置に障害が発生したときに、データ損失が発生する組み合わせは、本発明のディスクアレイ・サブシステムでは、１６×１３＝２０８通りとなり、従来のディスクアレイ・サブシステムでは、16Ｃ3＝５６０通りとなる。このように、本発明のディスクアレイ・サブシステムの方がデータ損失が発生する組み合わせの数が少なく、データ損失が発生する確率を従来のディスクアレイ・サブシステムよりも低くすることができる。
【発明を実施するための最良の形態】
【００４６】
次に本発明の実施の形態について図面を参照して詳細に説明する。
【００４７】
〔第１の実施の形態の構成の説明〕
図１は本発明にかかるディスクアレイ・サブシステムの第１の実施の形態の構成例を示すブロック図である。
【００４８】
図１を参照すると、ディスクアレイ・サブシステム１は、ＦＣ(Fiber Cable)やＳＣＳＩ(Small Computer System Interface)などのインタフェース上において、上位システム（図示せず）が発行したコマンドやディスクアレイ・サブシステムからの応答を制御するホストＩ／Ｆ制御部２ａ，２ｂと、上位システムからのコマンドを解析し、ミラー冗長システム６を構成する各磁気ディスク装置５ａ〜５ｈへのコマンドに変換したり、その他各種制御を実行するディスクアレイ制御部３と、ＦＣやＳＣＳＩなどのインタフェース上において、ディスクアレイ制御部３から発行されたコマンドや磁気ディスク装置５ａ〜５ｈからの応答を制御するディスクＩ／Ｆ制御部４ａ，４ｂとを有する。
【００４９】
図２は、ミラー冗長システム６の構成例を示すブロック図であり、冗長度を「３」とした場合についてのものである。同図を参照すると、ミラー冗長システム６を構成する８個の磁気ディスク装置５ａ〜５ｈの記憶領域は、データ（オリジナルデータ）を格納するためのデータ領域７と、データのコピー（冗長データ）を格納するための第１，第２のコピー領域８−１，８−２とに分割されている。なお、冗長度が「Ｎ」である場合には、各磁気ディスク装置５ａ〜５ｈの記憶領域は、１個のデータ領域と、（Ｎ−１）個のコピー領域とに分割される。また、図２では、ミラー冗長システム６を構成する磁気ディスク装置の台数Ｄを８台としたが、冗長度が「３」である本実施の形態では、６台以上であれば、任意の台数とすることができる。なお、冗長度Ｎと磁気ディスク装置の台数Ｄとの関係は、冗長度Ｎが「３」である場合には、（Ｎ＋３）台以上の磁気ディスク装置が必要となり、冗長度Ｎが「４」以上である場合には、（Ｎ＋２）台以上の磁気ディスク装置が必要となる。
【００５０】
更に、データ領域７および第１，第２のコピー領域８−１，８−２は、それぞれディスクアレイ・サブシステム１に固有の管理単位であるセグメントに分割されている。セグメントは、データをミラーリングする最小単位であり、同一番号を付与されたセグメントには同一データが格納されている。セグメントの大きさは、大きすぎると構成の自由度が損なわれ、また小さすぎると巨大なデータ管理テーブルが必要になるので、数ＭＢから数ＧＢ程度とすることが望ましい。ここでは説明を容易にするために、データ領域７および各コピー領域８−１，８−２をそれぞれ６つのセグメントに分割している。
【００５１】
更に、或る磁気ディスク装置のデータ領域に格納されているデータのコピーが、１台の磁気ディスク装置に集中しないようにするため、各磁気ディスク装置毎に、自磁気ディスク装置のデータ領域７の各セグメントに格納されているデータのコピーを、自磁気ディスク装置を除いた｛Ｄ−（Ｎ−１）｝＝｛８−（３−１）｝＝６台の磁気ディスク装置の各コピー領域８−１，８−２に、同一内容のデータ，コピーを同一磁気ディスク装置上に配置しないという条件を満たす形で分散配置している。別の言い方をすれば、本実施の形態では、各磁気ディスク装置５ａ〜５ｈ毎に、その磁気ディスク装置のデータ領域７の各セグメントに格納されているデータのコピーを、自磁気ディスク装置を除く｛Ｄ−（Ｎ−１）｝＝６台のデータ装置の特定コピー領域（第１のコピー領域８−１）に分散配置し、且つ、各磁気ディスク装置５ａ〜５ｈ毎に、自磁気ディスク装置の第１のコピー領域８−１の全セグメントに格納されているコピーと同一内容のコピーを、全セグメント単位で、自磁気ディスク装置および第１のコピー領域８−１に格納されているコピーのオリジナルデータを記憶する磁気ディスク装置を除く（Ｎ−２）台の磁気ディスク装置の第１のコピー領域以外のコピー領域に分散配置している。例えば、磁気ディスク装置５ａのデータ領域７上の各セグメント（ラインＬ０〜Ｌ５上のセグメント）に格納されているデータのコピーは、第１のコピー領域８−１においては、磁気ディスク装置５ｂ〜５ｇ上に配置され、第２のコピー領域８−２においては、磁気ディスク装置５ｃ〜５ｈ上に配置される。
【００５２】
ここで、コピーの配置先にする磁気ディスク装置の決定規則を数式化すると、例えば、次式（１）に示すものとなる。
【００５３】
【数１】
2006133842.tif 000003
【００５４】
式（１）において、Ｄは磁気ディスク装置の総数、Ｎは冗長度、ｉはセグメント番号、ｎはコピー領域番号、ｋはセグメント番号ｉのセグメントに格納されているデータのコピーがコピー領域番号ｎのコピー領域において配置される磁気ディスク装置の装置番号を表している。本実施の形態では、Ｄ＝８，Ｎ＝３となる。また、本実施の形態では、第１，第２のコピー領域８−１，８−２のコピー領域番号ｎをそれぞれ「１」，「２」とし、磁気ディスク装置５ａ〜５ｈの磁気ディスク装置番号ｋをそれぞれ「０」〜「７」とする。
【００５５】
ここで、式（１）の意味について説明する。
【００５６】
式（１）の（ａ）の部分では、データを格納しているセグメント番号ｉのセグメントが存在するラインのライン番号（図２のラインＬ０，Ｌ１，…のライン番号が０，１，…）を求めている。尚、（ｉ／Ｄ）は、ｉをＤで割ったときの商（整数部分）を表している。
【００５７】
式（１）の（ｂ）の部分では、コピーの分散配置先にすることが可能な磁気ディスク装置の台数を求めている。図２に示したミラー冗長システム６では、（ｂ）の部分で求まる値は、Ｄ−（Ｎ−１）＝８−（３−1）＝６台となる。
【００５８】
式（１）の（ｃ）の部分では、コピーの分散配置先とすることが可能な磁気ディスク装置の台数でライン番号のｍｏｄを取ることにより、コピーの分散配置先にすることが可能な磁気ディスク装置（図２の例では６台の磁気ディスク装置）の内の、左から何台目の磁気ディスク装置をコピーの格納先にするのかを求めている。この（ｃ）の部分で求まる値は、０〜［｛Ｄ−（Ｎ−１）｝−１］の範囲の値となる。図２に示したミラー冗長システム６では、０〜５となる。
【００５９】
式（１）の（ｄ）の部分では、コピー領域番号ｎと（ｃ）の部分で求めた値とを加算することにより、コピーの分散格納先とする磁気ディスク装置を、コピー領域番号ｎのコピー領域においては、データの格納元の磁気ディスク装置から右方向に何台ずれた磁気ディスク装置にするのかを求めている。
【００６０】
式（１）の（ｅ）の部分では、（ｄ）の部分で求めた値と、コピー元のデータが格納されているセグメントのセグメント番号ｉとを加算することにより、コピー領域番号ｎのコピー領域において、上記データのコピーの分散配置先とする磁気ディスク装置上に存在する可能性があるセグメントのセグメント番号を求めている。
【００６１】
式（１）の（ｆ）の部分では、（ｅ）の部分で求めたセグメント番号のｍｏｄＤを取ることにより、コピーの分散配置先とする磁気ディスク装置の装置番号を求めている。
【００６２】
以上が式（１）の意味である。なお、式（１）はコピー先にする磁気ディスク装置の決定規則のみを示し、磁気ディスク装置上のどのセグメントにコピーを格納するかは示していない。コピーを格納するセグメントは、データを格納しているセグメントが、データ領域における第ｘ番目のライン上に存在するものである場合には、該当するコピー領域における第ｘ番目のライン上に存在するセグメントとすれば良い。例えば、図２の例において、データを格納しているセグメントが、データ領域７の第２番目のライン（ラインＬ１）上のセグメントである場合には、上記データのコピーを格納するセグメントは、第１のコピー領域８−１においては、その領域８−１における第２番目のライン（ラインＬ７）上のセグメントとなり、第２のコピー領域８−２においては、その領域８−２における第２番目のライン（ラインＬ１３）上のセグメントとなる。
【００６３】
図３は、ディスクアレイ・サブシステム１内のディスクアレイ制御部３の構成例を示すブロック図である。同図を参照すると、ディスクアレイ制御部３は、コマンド処理手段３１と、リード／ライト制御手段３２と、アドレス変換手段３３と、応答時間計測手段３４と、ディスク決定手段３５と、ディスク障害検出手段３６と、データ管理テーブル３７と、データ復旧手段４０とを含んでいる。
【００６４】
データ管理テーブル３７は、論理ディスク管理テーブル３８と、セグメント管理テーブル３９とを含んでいる。
【００６５】
論理ディスク管理テーブル３８は、上位装置が認識している論理ディスク装置の論理ディスク装置番号，論理ブロック・アドレスと、セグメント番号との対応関係を保持するテーブルであり、その内容例を図４に示す。図４の例では、論理ディスク番号「０」，論理ブロックアドレス「0x00000000，…，0x04000000」は、セグメント番号「０，…，８」のセグメントに対応し、各セグメントの容量が「４ＧＢ」であることを示している。
【００６６】
セグメント管理テーブル３９は、セグメントのセグメント番号に対応付けて、そのセグメント番号のセグメントが存在する磁気ディスク装置の装置番号と、物理ブロック・アドレスと、応答時間と、負荷分散率とを保持するテーブルであり、その内容例を図５に示す。
【００６７】
磁気ディスク装置番号は、対応して登録されているセグメント番号のセグメントが存在する磁気ディスク装置の装置番号を示す。本実施の形態は、冗長度が「３」であるので、１つのセグメント番号に対応付けて３つの磁気ディスク装置番号が登録されている。例えば、セグメント番号「０」のセグメントは、図２を参照すると、磁気ディスク装置５ａ，５ｂ，５ｃ上に存在するので、図５の例においては、セグメント番号「０」に対応付けて、磁気ディスク装置５ａ，５ｂ，５ｃの装置番号「０」，「１」，「２」が登録されている。
【００６８】
物理ブロック・アドレスは、３台の磁気ディスク装置上に存在する同一セグメント番号のセグメントの物理ブロック・アドレスを示す。図５の例は、磁気ディスク装置５ａ，５ｂ，５ｃ上に存在するセグメント番号「０」のセグメントの物理ブロック・アドレスがそれぞれ「0x00000000」，「0x03000000」，「0x06000000」であることを示している。
【００６９】
応答時間は、磁気ディスク装置がリード要求，ライト要求を処理するために要した時間であり、応答時間計測手段３４により設定される。図５の例において、セグメント番号「０」に対応付けて登録されている応答時間ｔ００，ｔ０１，ｔ０２は、それぞれ磁気ディスク装置５ａ，５ｂ，５ｃの応答時間を示している。
【００７０】
負荷分散率は、異なる３台の磁気ディスク装置上に存在する、同一セグメント番号を有するセグメントを、どのような比率でアクセスするのかを示すものであり（負荷分散率が大きいものほど、選択される回数が多くなる）、応答時間計測手段３４によって設定される。図５の例は、磁気ディスク装置５ａ，５ｂ，５ｃ上に存在するセグメント番号「０」のセグメントに対する負荷分散率は、それぞれＨ００，Ｈ０１，Ｈ０２であることを表している。なお、負荷分散率は、対応する応答時間が長いものほど、小さな値になっている。また、障害が発生している磁気ディスク装置に対応する負荷分散率は「０」になっている。
【００７１】
コマンド処理手段３１は、次のような機能を有する。
【００７２】
・ホストＩ／Ｆ制御部２ａ，２ｂを介して上位装置からリードコマンド或いはライトコマンドが送られてきたとき、そのコマンドのパラメータに含まれている論理ディスク装置番号および論理ブロック・アドレスをアドレス変換手段３３に渡し、上記論理ディスク装置番号および論理ブロック・アドレスに対応するセグメント番号を論理ディスク管理テーブル３８から検索させる機能。
・上位装置からのコマンドが、リードコマンドの場合、アドレス変換手段３３が検索したセグメント番号を含むリード先決定要求をディスク決定手段３５に対して出力する機能。
・上位装置からのコマンドが、ライトコマンドの場合、アドレス変換手段３３が検索したセグメント番号を含むライト先決定要求をディスク決定手段３５に対して出力する機能。
・上位装置から送られてきたコマンド中の論理ディスク装置番号，論理ブロック・アドレスを、ディスク決定手段３５から返却された磁気ディスク装置番号，物理ブロック・アドレスで置き換え、置き換え後のコマンドをリード／ライト制御手段３２に渡す機能。
【００７３】
リード／ライト制御手段３２は、コマンド中の磁気ディスク装置番号によって特定される磁気ディスク装置にコマンドを発行する機能を有する。
【００７４】
アドレス変換手段３３は、コマンド処理手段３１から渡された論理ディスク装置番号，論理ブロック・アドレスに対応するセグメント番号を論理ディスク管理テーブル３８から検索し、コマンド処理手段３１に返却する機能を有する。
【００７５】
応答時間計測手段３４は、各磁気ディスク装置５ａ〜５ｈの応答時間を計測する機能や、セグメント管理テーブル３９に登録されている応答時間や負荷分散率を更新する機能を有する。
【００７６】
ディスク決定手段３５は、コマンド処理手段３１からセグメント番号を含んだリード先決定要求が渡された場合、上記セグメント番号のセグメントが配置されている各磁気ディスク装置の中から、上記各磁気ディスク装置の応答時間（負荷）が均一化されるように、リード先にする磁気ディスク装置を１台決定する機能を有する。本実施の形態では、セグメント管理テーブル３９を参照し、上記セグメントが配置されている各磁気ディスク装置の負荷分散率を勘案してリード先にする磁気ディスク装置を決定するようにするが、他の方法を採用しても良い。例えば、上記各磁気ディスク装置の中から循環的に１台の磁気ディスク装置を選択し、それをリード先の磁気ディスク装置にするという方法なども採用することができる。
【００７７】
更に、ディスク決定手段３５は、コマンド処理手段３１からセグメント番号を含んだライト先決定要求が渡された場合、上記セグメント番号のセグメントが配置されている磁気ディスク装置であって、且つ正常動作している磁気ディスク装置をライト先の磁気ディスク装置とする機能を有する。本実施の形態では、コマンド処理手段３１からセグメント番号を含むライト先決定要求が渡された場合、セグメント管理テーブル３９を参照し、上記セグメント番号に対応付けて登録されている磁気ディスク装置番号の中から負荷分散率が「０」になっていないものを探し出すことにより、ライト先の磁気ディスク装置を決定するようにしている。
【００７８】
ディスク障害検出手段３６は、各磁気ディスク装置５ａ〜５ｈの障害を検出する機能や、障害を検出したとき、データ復旧手段４０を起動する機能を有する。
【００７９】
データ復旧手段４０は、ディスク障害検出手段３６から起動されると、代替磁気ディスク装置（図示せず）へのデータ復旧を行う機能を有する。
【００８０】
尚、ディスクアレイ制御部３は、コンピュータ（ＣＰＵ）によって実現可能なものであり、コンピュータによって実現する場合は、例えば、次のようにする。コンピュータをディスクアレイ制御部３として機能させるためのプログラムを記録したディスク，半導体メモリ，その他の記録媒体を用意し、上記プログラムをコンピュータに読み取らせる。コンピュータは、読み取ったプログラムに従って自身の動作を制御することにより、自コンピュータ上に、コマンド処理手段３１，リード／ライト制御手段３２，アドレス変換手段３３，応答時間計測手段３４，ディスク決定手段３５，ディスク障害検出手段３６，データ復旧手段４０を実現する。
【００８１】
〔第１の実施の形態の動作の説明〕
次に、本実施の形態の動作について詳細に説明する。
【００８２】
〔リード時の動作〕
先ず、リード時の動作について詳細に説明する。
【００８３】
コマンド処理手段３１は、上位装置からのリードコマンドを受信すると（図６のステップＳ６１）、そのパラメータに含まれている論理ディスク装置番号及び論理ブロック・アドレスをアドレス変換手段３３に渡す（ステップＳ６２）。
【００８４】
これにより、アドレス変換手段３３は、論理ディスク管理テーブル３８を検索し、上記論理ディスク装置番号，論理ブロック・アドレスに対応するセグメント番号を探し出し、探し出したセグメント番号をコマンド処理手段３１に返却する（ステップＳ６３）。例えば、リードコマンド中の論理ディスク装置番号，論理ブロック・アドレスがそれぞれ「０」，「0x00000000」であり、論理ディスク管理テーブル３８の内容が図４に示すものであるとすると、アドレス変換手段３３は、セグメント番号「０」をコマンド処理手段３１に返却することになる。
【００８５】
コマンド処理手段３１は、アドレス変換手段３３からセグメント番号が返却されると、そのセグメント番号を含んだリード先決定要求をディスク決定手段３５に対して出力する（ステップＳ６４）。
【００８６】
これにより、ディスク決定手段３５は、リード先決定要求に含まれているセグメント番号とセグメント管理テーブル３９の内容とに基づいて、リード先にする磁気ディスク装置を選択する（ステップＳ６５）。その後、ステップＳ６５で選択した磁気ディスク装置の装置番号と、その装置番号と対応付けてセグメント管理テーブル３９に登録されている物理ブロック・アドレスとをコマンド処理手段３１に返却する（ステップＳ６６）。
【００８７】
このステップＳ６５，Ｓ６６の処理を詳しく説明すると、次のようになる。今、例えば、リード先決定要求に含まれているセグメント番号が「０」で、セグメント管理テーブル３９の内容が図５に示すものであるとする。先ず、ディスク決定手段３５は、セグメント管理テーブル３９を検索し、セグメント番号「０」が登録されているエントリを探し出す。その後、探し出したエントリ中の負荷分散率Ｈ００，Ｈ０１，Ｈ０２に基づいてリード先とする磁気ディスク装置を決定する。例えば、負荷分散率Ｈ００，Ｈ０１，Ｈ０２がそれぞれ「２」，「１」，「１」であれば、磁気ディスク装置番号「０」，「１」，「２」の磁気ディスク装置５ａ，５ｂ，５ｃをリード先とする割合が、２：１：１となるように、リード先の磁気ディスク装置を決定する。そして、リード先として、例えば、磁気ディスク装置番号「２」の磁気ディスク装置５ｃを選択した場合は、磁気ディスク装置番号「２」と、それに対応付けてセグメント管理テーブル３９に登録されている物理ブロック・アドレス「0x06000000」とをコマンド処理手段３１に返却する。以上が、ステップＳ６５，Ｓ６６で行う処理の詳細である。
【００８８】
コマンド処理手段３１は、ディスク決定手段３５から磁気ディスク装置番号及び物理ブロック・アドレスが返却されると、上位装置からのリードコマンド中の論理ディスク装置番号及び論理ブロック・アドレスを上記返却された磁気ディスク装置番号及び物理ブロック・アドレスで置き換え、置き換え後のリードコマンドをリード／ライト制御手段３２に渡す（ステップＳ６７）。これにより、リード／ライト制御手段３２は、上記リードコマンドをディスク決定手段３５で選択された磁気ディスク装置（コマンド中のパラメータによって示される磁気ディスク装置）へ発行する（ステップＳ６８）。
【００８９】
〔ライト時の動作〕
次にライト時の動作について説明する。
【００９０】
コマンド処理手段３１は、上位装置からのライトコマンドを受信すると（図７のステップＳ７１）、そのパラメータに含まれている論理ディスク装置番号及び論理ブロック・アドレスをアドレス変換手段３３に渡す（ステップＳ７２）。
【００９１】
これにより、アドレス変換手段３３は、上記論理ディスク装置番号及び論理ブロック・アドレスに対応するセグメント番号を論理ディスク管理テーブル３８から検索し、検索したセグメント番号をコマンド処理手段３１に返却する（ステップＳ７３）。
【００９２】
コマンド処理手段３１は、アドレス変換手段３３からセグメント番号が返却されると、上記セグメント番号を含んだライト先決定要求をディスク決定手段３５に渡す（ステップＳ７４）。
【００９３】
これにより、ディスク決定手段３５は、ライト先決定要求中のセグメント番号と、セグメント管理テーブル３９の内容とに基づいて、ライト先にする磁気ディスク装置を決定する（ステップＳ７５）。
【００９４】
このステップＳ７５の処理を詳しく説明すると、次のようになる。今、例えば、ライト先決定要求中のセグメント番号が「１」で、セグメント管理テーブル３９の内容が図５に示すものであるとする。ディスク決定手段３５は、先ず、セグメント管理テーブル３９を検索し、セグメント番号「１」が登録されているエントリを探し出す。その後、上記エントリに格納されている磁気ディスク装置番号と物理ブロック・アドレスとの対の中から、対応する負荷分散率が「０」になっていないものを選択し、選択した磁気ディスク装置番号と物理ブロック・アドレスとの対をコマンド処理手段３１に返却する。以上が、ステップＳ７５で行う処理の詳細である。
【００９５】
コマンド処理手段３１は、ディスク決定手段３５から磁気ディスク装置番号と物理ブロック・アドレスとの対が返却されると、返却された対毎に、上位装置から送られてきているライトコマンド中の論理ディスク装置番号，論理ブロック・アドレスを、返却された磁気ディスク装置番号，物理ブロック・アドレスで置き換え、置き換え後のライトコマンドをリード／ライト制御手段３２に渡す（ステップＳ７６）。例えば、ディスク決定手段３５から、磁気ディスク装置番号と物理ブロック・アドレスとの対が３対返却された場合には、コマンド処理手段３１は、３個のライトコマンドをリード／ライト制御手段３２に渡すことになる。
【００９６】
リード／ライト制御手段３２は、コマンド処理手段３１から渡された各ライトコマンドを該当する磁気ディスク装置（ステップＳ７５で選択された磁気ディスク装置）に発行する（ステップＳ７７）。
【００９７】
〔障害発生時の動作〕
次に、ミラー冗長システム６を構成する磁気ディスク装置５ａ〜５ｈの何れかに障害が発生したときの動作を説明する。
【００９８】
ディスクアレイ制御部３内のディスク障害検出手段３６は、ミラー冗長システム６を構成する各磁気ディスク装置５ａ〜５ｈの内の１台に注目し、その磁気ディスク装置に障害が発生しているか否かをチェックする（図８のステップＳ８１，Ｓ８２）。
【００９９】
そして、注目中の磁気ディスク装置に障害が発生していない場合（ステップＳ８２がＮＯ）は、応答時間計測手段３４に対して、上記磁気ディスク装置の応答時間を測定することを指示する。これにより、応答時間計測手段３４は、上記磁気ディスク装置のリードコマンド或いはライトコマンドに対する応答時間を測定し（ステップＳ８３）、更に、セグメント管理テーブル３９に登録されている上記磁気ディスク装置の応答時間を、測定した応答時間に更新する（ステップＳ８４）。更に、ステップＳ８４では、該当する負荷分散率を更新する処理も行う。その後、ディスク障害検出手段３６は、次の磁気ディスク装置に注目し（ステップＳ８１）、前述した処理と同様の処理を行う。
【０１００】
これに対して、注目中の磁気ディスク装置に障害が発生している場合（ステップＳ８２がＹＥＳ）は、ディスク障害検出手段３６は、データ復旧手段４０を起動して障害の発生した磁気ディスク装置の装置番号を渡すと共に、セグメント管理テーブル３９に登録されている上記磁気ディスク装置に対応する負荷分散率を全て「０」に変更する（ステップＳ８５）。なお、ディスク障害検出手段３６は、障害発生を検出した磁気ディスク装置は、ステップＳ８１における注目対象から除外する。
【０１０１】
データ復旧手段４０は起動されると、セグメント管理テーブル３９に登録されているセグメント番号の１つに注目する（ステップＳ８６）。その後、注目したセグメント番号と対応付けて登録されている磁気ディスク装置番号の中に、障害の発生した磁気ディスク装置の装置番号が含まれているか否かを判断する（ステップＳ８８）。
【０１０２】
そして、障害の発生した磁気ディスク装置の装置番号が含まれていない場合（ステップＳ８８がＮＯ）は、次のセグメント番号に注目する（ステップＳ８６）。これに対して、障害の発生した磁気ディスク装置の装置番号が含まれている場合は、障害の発生した磁気ディスク装置を除いた他の磁気ディスク装置の負荷分散率に基づいて、データを読み出す磁気ディスク装置を決定する（ステップＳ８９）。例えば、負荷分散率が最も大きい磁気ディスク装置を、データを読み出す磁気ディスク装置とする。なお、負荷分散率が同じ値である場合には、予め定められている規則に従って、データを読み出す磁気ディスク装置を決定する。
【０１０３】
次いで、データ復旧手段４０は、上記決定した磁気ディスク装置の磁気ディスク装置番号と、この磁気ディスク装置番号と対応付けてセグメント管理テーブル３９に登録されている物理ブロック・アドレスとを含むリード要求をコマンド処理手段３１に渡す。これにより、上記リードコマンドは、コマンド処理手段３１及びリード／ライト制御手段３２を介して該当する磁気ディスク装置へ発行され（ステップＳ９０）、上記磁気ディスク装置から読み出されたデータがデータ復旧手段４０に渡される。
【０１０４】
その後、データ復旧手段４０は、上記データと、代替磁気ディスク装置の装置番号と、障害の発生した磁気ディスク装置の装置番号に対応付けてセグメント管理テーブル３９に登録されている物理ブロック・アドレスとを含むライトコマンドをコマンド処理手段３１に渡す。これにより、上記ライトコマンドは、コマンド処理手段３１及びリード／ライト制御手段３２を介して代替磁気ディスク装置へ発行され（ステップＳ９１）、代替磁気ディスク装置の該当セグメントにデータが書き込まれる。
【０１０５】
データ復旧手段４０は、以上の処理をセグメント管理テーブル３９に登録されている全てのセグメント番号について行うと（ステップＳ８７がＮＯ）、その処理を終了する。
【０１０６】
今、例えば、磁気ディスク装置番号「０」の磁気ディスク装置５ａに障害が発生し、セグメント管理テーブル３９の内容が図５に示すものであるとすると、次のような処理が行われる。
【０１０７】
データ復旧手段４０は、ディスク障害検出手段３６によって起動されると、先ず、セグメント管理テーブル３９に登録されているセグメント番号「０」に注目する（ステップＳ８６）。その後、セグメント番号「０」に対応付けて、障害の発生した磁気ディスク装置の装置番号「０」が登録されているか否かを調べる（ステップＳ８８）。この例の場合、セグメント番号「０」に対応付けて磁気ディスク装置番号「０」，「１」，「２」が登録されているので、ステップＳ８８の判断結果はＹＥＳとなり、ステップＳ８９の処理が行われる。
【０１０８】
ステップＳ８９では、正常に動作している磁気ディスク装置５ｂ，５ｃの装置番号「１」，「２」に対応付けてセグメント管理テーブル３９に登録されている負荷分散率Ｈ０１，Ｈ０２に基づいて、データを読み出す磁気ディスク装置を決定する。今、例えば、Ｈ０１＞Ｈ０２であったとすると、データを読み出す磁気ディスク装置は、装置番号「１」の磁気ディスク装置５ｂとなる。
【０１０９】
次いで、データ復旧手段４０は、磁気ディスク装置番号「１」と、磁気ディスク装置「１」に対応付けて登録されている物理ブロック・アドレス「0x03000000」とを含んだリードコマンドをコマンド処理手段３１に渡す。これにより、磁気ディスク装置５ｂに上記リードコマンドが発行され（ステップＳ９０）、磁気ディスク装置５ｂから読み出されたデータがデータ復旧手段４０に渡される。
【０１１０】
その後、データ復旧手段４０は、上記データと、代替磁気ディスク装置の装置番号と、障害の発生した磁気ディスク装置５ａの装置番号に対応付けてセグメント管理テーブル３９に登録されている物理ブロック・アドレス「0x00000000」とを含むライトコマンドをコマンド処理手段３１に渡す。これにより、上記ライトコマンドは、コマンド処理手段３１及びリード／ライト制御手段３２を介して代替磁気ディスク装置へ発行され（ステップＳ９１）、代替磁気ディスク装置の該当するセグメントにデータのコピーが格納される。このとき代替磁気ディスク装置へのデータ書き込みがボトルネックになるようであれば、復旧データを一時的に退避する領域を各磁気ディスク装置に設けたり、或いは、メモリ上に保持するなどして、冗長度が低下している状態を最小限の時間に抑えることが望ましい。負荷分散アルゴリズムは、前記リード要求の負荷分散例で示したようなものを使用し、データ復旧負荷と上位システムからの通常負荷のバランスを取る。
【０１１１】
セグメント番号「０」についての処理が終了すると、データ復旧手段４０は、セグメント管理テーブル３９中の次のセグメント番号「１」に注目し（ステップＳ８６）、前述した処理と同様の処理を行う。以上の処理を、セグメント管理テーブル３９に登録されている全てのセグメント番号に対して行うと（ステップＳ８７がＮＯ）、データ復旧手段４０は、その処理を終了する。
【０１１２】
以上の説明では、ディスクアレイ・サブシステム１の冗長度を「３」としたが、「３」以上であれば、これに限られるものではない。例えば、ディスクアレイ・サブシステム１の冗長度を「４」とする場合には、ミラー冗長システム６の代わりに、図９に示すようなミラー冗長システム６ａを使用し、セグメント管理テーブル３９の代わりに、図１０に示すようなセグメント管理テーブル３９ａを使用する。
【０１１３】
図９を参照すると、ミラー冗長システム６ａは、磁気ディスク装置番号「０」〜「７」が付与された８台の磁気ディスク装置５ａ〜５ｈから構成されている。そして、各磁気ディスク装置５ａ〜５ｈの記憶領域は、１個のデータ領域７ａと、第１〜第３の３個のコピー領域８ａ−１〜８ａ−３とに分割され、更に、データ領域７ａおよび各コピー領域８ａ−１〜８ａ−３はそれぞれ５個のセグメントに分割されている。更に、データ領域７ａの各セグメントに格納されているデータのコピーは、前出の式（１）を満たす形で、各コピー領域８ａ−１〜８ａ−３に格納されている。
【０１１４】
図１０を参照すると、セグメント管理テーブル３９ａは、冗長度が「４」であるので、１つのセグメント番号に対応して、磁気ディスク装置番号，物理ブロック・アドレス，応答時間，負荷分散率がそれぞれ４個、登録されている。
【０１１５】
また、以上の説明では、図２に示すように、各磁気ディスク装置５ａ〜５ｈの記憶領域を、１つのデータ領域７と、２つのコピー領域８−１，８−２とに分割するようにしたが、図１１に示すミラー冗長システム６ｂのように、各磁気ディスク装置５ａ〜５ｈの記憶領域を、２つのデータ領域７ｂ−１，７ｂ−２と、データ領域７ｂ−１に対する２つのコピー領域８ｂ―１１，８ｂ−１２と、データ領域７ｂ−２に対する２つのコピー領域８ｂ−２１，８ｂ−２２とに分割するようにしてもよい。
【０１１６】
〔第１の実施の形態の効果〕
本実施の形態にかかる冗長度Ｎ（Ｎは３以上の整数）のディスクアレイ・サブシステム１によれば、Ｎ台の磁気ディスク装置に障害が発生した場合であっても、隣接する（Ｎ−１）台の磁気ディスク装置に障害が発生していなければ、データ損失を防ぐことができる。その理由は、各磁気ディスク装置５ａ〜５ｈ毎に、自磁気ディスク装置のデータ領域７の各セグメントに格納されているデータのコピーを、自磁気ディスク装置を除く｛Ｄ−（Ｎ−１）｝台の磁気ディスク装置の特定コピー領域（例えば、第１のコピー領域８−１）に分散配置し、且つ、各磁気ディスク装置５ａ〜５ｈ毎に、自磁気ディスク装置の特定コピー領域の全セグメントに格納されているコピーと同じコピーを、全セグメント単位で、自磁気ディスク装置および特定コピー領域の各セグメントに格納されているコピーのオリジナルデータを記憶する磁気ディスク装置を除く（Ｎ−２）台の磁気ディスク装置の特定コピー領域以外のコピー領域に分散配置したからである。
【０１１７】
また、本実施の形態によれば、上位装置からのリードコマンドが特定の磁気ディスク装置に集中しないようにすることが可能になる。その理由は、正常動作している磁気ディスク装置の負荷が均等になるように、リードコマンドの発行先にする磁気ディスク装置を決定するディスク決定手段３５を備えているからである。
【０１１８】
更に、本実施の形態によれば、障害発生時の復旧処理時間を短くすることが可能になる。その理由は、磁気ディスク装置に障害が発生した時に、他の正常動作している磁気ディスク装置から上記障害の発生した磁気ディスク装置の各セグメントに格納されていた内容を読み込み、読み込んだ内容を代替ディスク装置に書き出すという復旧処理を行うが、その際に、各ディスク装置の負荷が均等になるように、データ復旧手段４０において読み出し先のディスク装置を決定しているからである。
【０１１９】
〔第２の実施の形態〕
次に本発明にかかるディスクアレイ・サブシステムの第２の実施の形態について説明する。本実施の形態は、ミラー冗長システムを構成する複数台の磁気ディスク装置を複数のグループに分割し、各グループ毎に、そのグループに属する磁気ディスク装置間でコピー（冗長データ）を分散配置することを特徴とする。ここで、磁気ディスク装置をグループに分割することをクラスタ化と呼び、分割された磁気ディスク装置群をクラスタと呼ぶこととする。
【０１２０】
本実施の形態は、図１のディスクアレイ・サブシステム１において、ミラー冗長システム６の代わりに、図１２に示すミラー冗長システム６ｃを使用することにより実現される。なお、図１２では、冗長度を「３」としている。
【０１２１】
図１２を参照すると、ミラー冗長システム６ｃは、１６台の磁気ディスク装置５ａ〜５ｐから構成され、各磁気ディスク装置５ａ〜５ｐにはそれぞれ磁気ディスク装置番号「０」〜「１５」が付与されている。また、各磁気ディスク装置５ａ〜５ｐの記憶領域は、１つのデータ領域７ｃと、冗長度Ｎ＝「３」に応じた複数のコピー領域８ｃ−１，８ｃ−２とに分割されている。図１２の例は冗長度「３」の例であるので、上記のように領域分割されるが、冗長度「４」の場合は、１個のデータ領域と、３個のコピー領域とに分割され、冗長度「５」の場合は、１個のデータ領域と、４個のコピー領域とに分割される。つまり、冗長度「Ｎ」の場合は、１個のデータ領域と、（Ｎ−１）個のコピー領域とに分割される。
【０１２２】
更に、データ領域７ｃ，コピー領域８ｃ−１，８ｃ−２は、ディスクアレイ・サブシステムに固有の管理単位であるセグメントに分割されている。なお、図１２では、同一番号を付与されたセグメントには同一データが格納されている。ここでは説明を容易にするために、データ領域７ｃ，各コピー領域８ｃ−１，８ｃ−２を６つのセグメントに分割しているが、分割数はこれに限られるものではない。
【０１２３】
更に、１６台の磁気ディスク装置５ａ〜５ｐを二等分し、磁気ディスク装置５ａ〜５ｈを第１のクラスタ９−１、磁気ディスク装置５ｉ〜５ｐを第２のクラスタ９−２としている。
【０１２４】
更に、各クラスタ９−１，９−２毎に、そのクラスタに属する磁気ディスク装置間でコピーの分散配置を行っている。より具体的には、第１のクラスタ９−１においては、クラスタ９−１に属する各磁気ディスク装置５ａ〜５ｈ毎に、自磁気ディスク装置のデータ領域７ｃの各セグメントに格納されているデータのコピーを、自磁気ディスク装置を除いた｛Ｄ−（Ｎ−１）｝＝６台の磁気ディスク装置の各コピー領域８−１，８−２に、同一内容のデータ，コピーを同一磁気ディスク装置上に配置しないという条件を満たす形で分散配置し、第２のクラスタ９−２においては、各磁気ディスク装置５ｉ〜５ｐ毎に、自磁気ディスク装置のデータ領域７ｃの各セグメントに格納されているデータのコピーを、自磁気ディスク装置を除いた｛Ｄ−（Ｎ−１）｝＝６台の磁気ディスク装置の各コピー領域８−１，８−２に、同一内容のデータ，コピーを同一磁気ディスク装置上に配置しないという条件を満たす形で分散配置する。
【０１２５】
例えば、第１のクラスタ９−１に属する磁気ディスク装置５ａのデータ領域７ｃの各セグメント（セグメント番号０，１６，３２，４８，６４，８０）に格納されているデータのコピーは、第１のコピー領域８ｃ−１においては、磁気ディスク装置５ｂ〜５ｇに分散配置され、第２のコピー領域８ｃ−２においては、磁気ディスク装置５ｃ〜５ｈに分散配置される。第１のクラスタ９−１に属する他の磁気ディスク装置５ｂ〜５ｈにおいても、上述した関係で、そのデータ領域７ｃの各セグメントに格納されているデータのコピーが、クラスタ９−１の属する他の磁気ディスク装置の第１，第２のコピー領域８ｃ−１，８ｃ−２に分散配置されている。また、例えば、第２のクラスタ９−２に属する磁気ディスク装置５ｉのデータ領域７ｃの各セグメント（セグメント番号８，２４，４０，５６，７２，８８）に格納されているデータのコピーは、第１のコピー領域８ｃ−１においては、磁気ディスク装置５ｊ〜５ｏに分散配置され、第２のコピー領域８ｃ−２においては、磁気ディスク装置５ｋ〜５ｐに分散配置されている。第２のクラスタ９−２に属する他の磁気ディスク装置５ｊ〜５ｐにおいても、上述した関係で、そのデータ領域７ｃの各セグメントに格納されているデータのコピーが、クラスタ９−２に属する他の磁気ディスク装置の第１，第２のコピー領域８ｃ−１，８ｃ−２に分散配置されている。
【０１２６】
上述したコピーの配置先とする磁気ディスク装置の決定規則を数式化すると、例えば、次式（２）に示すものとなる。
【０１２７】
【数２】
2006133842.tif 000004
【０１２８】
式（２）において、Ｄは磁気ディスク装置の総数、Ｎは冗長度、Ｃはクラスタ数、Ｇはクラスタあたりの磁気ディスク装置数、ｉはセグメント番号、ｎはコピー領域番号、ｋはセグメント番号ｉのセグメントに格納されているデータのコピーがコピー領域番号ｎのコピー領域において配置される磁気ディスク装置の装置番号を表している。図１２の例では、Ｄ＝８、Ｎ＝３、Ｃ＝２、Ｇ＝８となり、式（２）に従ってコピーを配置する磁気ディスク装置の装置番号ｋを算出すると、例えば、データ領域７ｃでクラスタ９−１に属するセグメント番号「０」のセグメントに格納されているデータのコピーは、第１，第２のコピー領域８ｃ−１，８ｃ−２においては、それぞれ磁気ディスク装置５ｂ，５ｃに配置される。また、例えば、データ領域７ｃでクラスタ９−２に属するセグメント番号「８」のセグメントに格納されているデータのコピーは、第１，第２のコピー領域８ｃ−１，８ｃ−２においては、それぞれ磁気ディスク装置５ｊ，５ｋに配置される。他のセグメントに格納されているデータのコピーの配置先の磁気ディスク装置も、同様にして求まる。
【０１２９】
なお、図１２に示したミラー冗長システム６ｃは、各クラスタ９−１，９−２に属する磁気ディスク装置数を同数としたが、例えば、６台の磁気ディスク装置５ａ〜５ｆにより第１のクラスタを構成し、１０台の磁気ディスク装置５ｇ〜５ｐにより第２のクラスタを構成するというように、各クラスタに属する磁気ディスク装置の台数を異なるものにしても構わない。更に、図１２に示したミラー冗長システム６ｃでは、クラスタ数を「２」としたが、「２」以上であれば良い。但し、何れの場合も、各クラスタを構成する磁気ディスク装置の台数を、次のようにすることが必要である。即ち、冗長度Ｎが「３」である場合には、磁気ディスク装置の台数Ｄを（Ｎ＋３）台以上とし、冗長度Ｎが「４」以上である場合には、磁気ディスク装置の台数Ｄを（Ｎ＋２）台以上とする。
【０１３０】
また、本実施の形態におけるリード時，ライト時，障害発生時の動作は、前述した第１の実施の形態と同様であるので、説明は省略する。
【０１３１】
〔第２の実施の形態の効果〕
本実施の形態は、第１の実施の形態が有している効果に加え、磁気ディスク装置が故障したときの影響範囲を磁気ディスク装置が属するクラスタ内に制限することができるという効果を有する。更に、磁気ディスク装置の増設や交換などをクラスタ単位で行うことにより、データを移動することなく容易にＲＡＩＤシステムの構成変更を行うことができるという効果も有する。その理由は、ディスクアレイ・サブシステムを構成する磁気ディスク装置を複数のクラスタ９−１，９−２に分割し、各クラスタ９−１，９−２において、第１の実施の形態と同様に冗長データ（コピー）を分散配置するようにしたからである。
【図面の簡単な説明】
【０１３２】
【図１】本発明にかかるディスクアレイ・サブシステムの第１の実施の形態の構成例を示すブロック図である。
【図２】ミラー冗長システム６の構成例を示すブロック図である。
【図３】ディスクアレイ制御部３の構成例を示すブロック図である。
【図４】論理ディスク管理テーブル３８の内容例を示す図である。
【図５】セグメント管理テーブル３９の内容例を示す図である。
【図６】リード時の処理例を示すフローチャートである。
【図７】ライト時の処理例を示すフローチャートである。
【図８】障害発生時の処理例を示すフローチャートである。
【図９】冗長度を「４」とした場合のミラー冗長システム６ａの構成例を示すブロック図である。
【図１０】冗長度を「４」とした場合のセグメント管理テーブル３９ａの内容例を示す図である。
【図１１】データ領域を複数有するミラー冗長システム６ｂの構成例を示すブロック図である。
【図１２】本発明の第２の実施の形態で使用するミラー冗長システム６ｃの構成例を示すブロック図である。
【図１３】従来の冗長度「２」のミラー冗長システム１００を示すブロック図である。
【図１４】従来の冗長度「３」のミラー冗長システム２００を示すブロック図である。
【図１５】従来の冗長度「３」のミラー冗長システム３００を示すブロック図である。
【符号の説明】
【０１３３】
１…ディスクアレイ・サブシステム
２ａ，２ｂ…ホストＩ／Ｆ制御部
３…ディスクアレイ制御部
３１…コマンド処理手段
３２…リード／ライト制御手段
３３…アドレス変換手段
３４…応答時間計測手段
３５…ディスク決定手段
３６…ディスク障害検出手段
３７…データ管理テーブル
３８…論理ディスク管理テーブル
３９，３９ａ…セグメント管理テーブル
４０…データ復旧手段
４ａ，４ｂ…ディスクＩ／Ｆ制御部
５ａ〜５ｈ…磁気ディスク装置
６，６ａ，６ｂ，６ｃ…ミラー冗長システム
７，７ａ，７ｂ−１，７ｂ−２，７ｃ…データ領域
８−１，８−２，８ａ−１〜８ａ−３，８ｂ−１１〜８ｂ−２２，８ｃ―１，８ｃ−２…コピー領域
９−１，９−２…クラスタ
【図１】
2006133842.tif 000005
【図２】
2006133842.tif 000006
【図３】
2006133842.tif 000007
【図４】
2006133842.tif 000008
【図５】
2006133842.tif 000009
【図６】
2006133842.tif 000010
【図７】
2006133842.tif 000011
【図８】
2006133842.tif 000012
【図９】
2006133842.tif 000013
【図１０】
2006133842.tif 000014
【図１１】
2006133842.tif 000015
【図１２】
2006133842.tif 000016
【図１３】
2006133842.tif 000017
【図１４】
2006133842.tif 000018
【図１５】
2006133842.tif 000019