JP2006133842A - ディスクアレイ・サブシステム、ディスクアレイ・サブシステムにおける分散配置方法、制御方法、プログラム - Google Patents

ディスクアレイ・サブシステム、ディスクアレイ・サブシステムにおける分散配置方法、制御方法、プログラム Download PDF

Info

Publication number
JP2006133842A
JP2006133842A JP2004318877A JP2004318877A JP2006133842A JP 2006133842 A JP2006133842 A JP 2006133842A JP 2004318877 A JP2004318877 A JP 2004318877A JP 2004318877 A JP2004318877 A JP 2004318877A JP 2006133842 A JP2006133842 A JP 2006133842A
Authority
JP
Japan
Prior art keywords
disk
disk device
copy
data
segment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2004318877A
Other languages
English (en)
Other versions
JP4428202B2 (ja
Inventor
Nagaki Soeda
修材 添田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2004318877A priority Critical patent/JP4428202B2/ja
Priority to US11/262,991 priority patent/US7519853B2/en
Publication of JP2006133842A publication Critical patent/JP2006133842A/ja
Application granted granted Critical
Publication of JP4428202B2 publication Critical patent/JP4428202B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

【課題】 冗長度N(Nは3以上の整数)のディスクアレイ・サブシステムにおいて、N台のディスク装置に障害が発生しても、隣接する(N−1)台のディスク装置に障害が発生しなければ、データ損失が発生しないようにする。
【解決手段】 各ディスク装置5a〜5h毎に、自ディスク装置のデータ領域7の各セグメントに格納されているデータのコピーを、自ディスク装置を除く{D−(N−1)}台のディスク装置の第1のコピー領域8-1に分散配置している。更に、各ディスク装置5a〜5h毎に、自ディスク装置の第1のコピー領域8-1の全セグメントに格納されているコピーと同じコピーを、全セグメント単位で、自ディスク装置および第1のコピー領域8-1の各セグメントに格納されているコピーのオリジナルデータを記憶するディスク装置を除く(N−2)台のディスク装置の第1のコピー領域以外のコピー領域に分散配置している。
【選択図】 図2

Description

本発明は、複数台のディスク装置から構成されるディスクアレイ・サブシステムに関し、特に、ディスク装置に障害が発生した際のデータ損失発生確率を低くすることができるディスクアレイ・サブシステムに関する。
従来よりディスクアレイ・サブシステムにおいては、複数の磁気ディスク装置を統合管理する冗長化ディスク(RAID)が採用されてきた。RAIDでは、データを複数の磁気ディスク装置に分散配置し、また冗長データを付加することにより、安価な磁気ディスク装置を使用しているにも関わらず、データ・アクセスの高速化や、信頼性の高いデータ格納システムを実現することが可能となる。
大別すると、RAIDにはミラー冗長方式とパリティ冗長方式とがある。ミラー冗長方式は、データを完全に二重化する方式であり、二重化の単位としては、従来は磁気ディスク装置単位であったが、近年は磁気ディスク装置を固有の管理単位に分割し、その管理単位毎に二重化する方式も実現されつつある。パリティ冗長方式は、ユーザ・データから作製したパリティ・データを、RAIDを構成する磁気ディスク装置の1台に保存し、磁気ディスク装置が故障したときには、生き残った磁気ディスク装置に格納されているパリティ・データとユーザ・データとから、故障した磁気ディスク装置に格納されていたデータを生成する。
ミラー冗長方式はデータを二重化するため、冗長データが占める記憶容量の割合は50%となるが、パリティ冗長方式は、パリティ・データを格納する分だけの記憶容量を確保すれば良いため、例えば5台の磁気ディスク装置で構成されたパリティ冗長RAIDシステムの場合、冗長データが占める記憶容量の割合は20%で済む。
一方で、パリティ冗長方式では、パリティを生成する元となるユーザ・データ・セットが揃っていない場合、不足する箇所を磁気ディスク装置から読み出す処理が必要となる。パリティ・データを生成するために必要となる磁気ディスク装置からの読み出し処理は、ライト・ペナルティと呼ばれる。さらに、磁気ディスク装置が故障した場合、該磁気ディスク装置に格納されていたデータを予備の磁気ディスク装置上に冗長データを使用して再構成することになるが、パリティ冗長方式は前述のように生き残ったすべての磁気ディスク装置のすべてのデータを読み出し、失われたデータを生成することになるため、該再構成処理が完了するまで、RAIDシステム全体が長時間に渡って過負荷な状態となる。
このようにパリティ冗長方式では、しばしばライト・ペナルティを伴うことや、磁気ディスク装置故障時の再構成処理を実行中にシステムの負荷が高くなるという課題があることを認識しつつも、記憶容量効率を重視する場面において頻繁に使われていたが、磁気ディスク装置の記憶容量が従来のペースで向上し続けることを前提とすると、今後、記憶容量効率はさして重要でなく、システムが本来有している機能をどれだけ提供できるかという尺度として可用性が重視されるようになり、つまりミラーリングを基本とした冗長方式の利用が促進されると思われる。
そこで、以下では、ミラー冗長方式に絞って従来の技術について詳しく説明する。
従来、最も一般的に利用されるミラー冗長システムは、RAID1のミラー冗長システムである。このRAID1のミラー冗長システムは、ディスク装置(現用系)に格納するデータのコピー(冗長データ)を、上記ディスク装置とは別のディスク装置(予備系)に格納したものであり、現用系のディスク装置に障害が発生した場合であっても、予備系のディスク装置を利用して処理を継続することが可能となるので、信頼性が向上する。更に、データのリード時には、現用系,予備系どちらのディスク装置からデータをリードしても良いので、処理を高速化することが可能になる。
しかし、RAID1のミラー冗長システムは、現用系のディスク装置に障害が発生した場合、リードコマンドが予備系のディスク装置に集中するため、ミラー冗長システムの性能が著しく低下する場合がある。
そこで、このような問題点を解決するため、ディスクアレイ・サブシステムの構成要素であるミラー冗長システムとして、図13に示すようなミラー冗長システム100が提案された(例えば、特許文献1参照)。同図に示すミラー冗長システム100は、冗長度が「2」であり、5台のディスク装置PD#0〜PD#4から構成されている。
各ディスク装置PD#0〜PD#4は、それぞれ8個のセグメントを有し、ラインL0〜L3上に存在するセグメントによりデータを格納するためのデータ領域101が構成され、ラインL4〜L7上に存在するセグメントによりデータのコピーを格納するためのコピー領域102が構成されている。
そして、或るディスク装置上のデータ領域101に格納されているデータのコピーは、上記或るディスク装置を除く他の4台のディスク装置上のコピー領域102に分散配置されている。例えば、ディスク装置DP#0に格納されているデータa,f,k,pのコピーa',f',k',p'は、それぞれデータ装置PD#1〜PD#4上のコピー領域102に格納され、また、例えば、ディスク装置PD#2に格納されているデータc,h,m,rのコピーc',h',m',r'は、それぞれディスク装置PD#3〜PD#1上のコピー領域102に格納されている。
上述したようにすることにより、或るディスク装置(例えば、ディスク装置PD#0)に障害が発生した場合であっても、障害の発生したディスク装置PD#0に格納されていたデータa,f,k,pのコピーa',f',k',p'が他のディスク装置PD#1〜PD#4に分散配置されているので、1つのディスク装置にリード要求が集中するというようなことはなくなる。この結果、RAID1のミラー冗長システムに比較して、システム性能の低下を低く抑えることが可能になる。
特開平9−265359号公報
図13に示した特許文献1に記載されている従来のミラー冗長システム100は、冗長度が「2」である。従って、2台以上のディスク装置に障害が発生すると、処理を継続できなくなってしまう。このような問題を解決するためには、冗長度を上げれば良い。例えば、2台のディスク装置に障害が発生しても処理を継続できるようにするためには、冗長度を「3」以上とすれば良い。
ところで、特許文献1に記載されている技術、即ち、或るディスク装置上のデータ領域に格納されているデータのコピーは、上記或るディスク装置を除いた他のディスク装置上のコピー領域に分散配置するという技術を利用して、冗長度「3」のミラー冗長システムを構成しようとした場合、例えば、図14に示すミラー冗長システム200や、図15に示すミラー冗長システム300が考えられる。
ミラー冗長システム200,300は、共に5台のディスク装置PD#0〜PD#4から構成されており、各ディスク装置PD#0〜PD#4は、それぞれ12個のセグメントを有している。そして、ラインL0〜L3上に存在するセグメントによりデータ領域201,301が構成され、ラインL4〜L7上に存在するセグメントにより第1のコピー領域202−1,302−1が構成され、ラインL8〜L11上に存在するセグメントにより第2のコピー領域202−2,302−2が構成されている。
データ領域201,301と第1のコピー領域202−1,302−1との関係は、図13に示したデータ領域101とコピー領域102との関係と同一になっている。即ち、或るディスク装置のデータ領域201に格納されているデータのコピーは、上記或るディスク装置の右隣のディスク装置から右方向に向かって、上記或るディスク装置を除いた各ディスク装置上に分散配置されている。なお、最も右側に存在するディスク装置PD#4については、ディスク装置PD#0が右隣のディスク装置となる。
これに対して、データ領域201,301と第2のコピー領域202−2,302−2との関係は、データ領域101とコピー領域102との関係とは多少異なっている。
図14に示したミラー冗長システム200においては、或るディスク装置のデータ領域201に格納されているデータは、上記或るディスク装置の2台右のディスク装置から右方向に向かって、上記或るディスク装置を除いた各ディスク装置上に分散配置されている。
また、図15に示したミラー冗長システム300においては、或るディスク装置のデータ領域301に格納されているデータは、上記或るディスク装置の2台右のディスク装置から右方向に向かって一台おきに、上記或るディスク装置を除いた各ディスク装置上に分散配置されている。
図14,図15に示した冗長度「3」のミラー冗長システム200,300を使用することにより、2台のディスク装置に障害が発生した場合であっても、処理を継続することが可能となる。
しかし、図14,図15に示したミラー冗長システム200,300では、3台以上のディスク装置に障害が発生した場合、その組み合わせがどのようなものであっても、データ損失が発生してしまう。即ち、特許文献1に記載されている技術を利用して冗長度N(Nは3以上の整数)のミラー冗長システムを構成した場合、N台以上のディスク装置に障害が発生すると、障害発生ディスク装置の組み合わせがどのようなものであってもデータ損失が発生してしまう。
〔発明の目的〕
そこで、本発明は、冗長度「3」以上のミラー冗長システムを構成要素とするディスクアレイ・サブシステムにおいて、冗長度以上のディスク装置に障害が発生した場合であっても、障害の発生したディスク装置の組み合わせによっては、データ損失を防ぐことができるようにすることにある。
本発明にかかる第1のディスクアレイ・サブシステムは、
冗長度がN(Nは3以上の整数)で、D台のディスク装置から構成されるディスクアレイ・サブシステムであって、
各ディスク装置上の所定数のセグメントから構成されるデータ領域と、それぞれが前記各ディスク装置上の前記所定数のセグメントから構成される(N−1)個のコピー領域とを有し、
前記各ディスク装置毎に、自ディスク装置のデータ領域の各セグメントに格納されているデータのコピーを、自ディスク装置を除く{D−(N−1)}台のディスク装置の特定コピー領域に分散配置し、且つ、
前記各ディスク装置毎に、自ディスク装置の特定コピー領域の全セグメントに格納されているコピーと同じコピーを、全セグメント単位で、自ディスク装置および特定コピー領域の各セグメントに格納されているコピーのオリジナルデータを記憶するディスク装置を除く(N−2)台のディスク装置の特定コピー領域以外のコピー領域に分散配置したことを特徴とする。
本発明にかかる第2のディスクアレイ・サブシステムは、第1のディスクアレイ・サブシステムにおいて、
データ領域上のセグメント番号iのセグメントに格納されているデータのコピーを配置するディスク装置の装置番号kが、第n番目のコピー領域においては、k={i+(i/D)mod[D−(N−1)]+n}modDであることを特徴とする。
本発明にかかる第3のディスクアレイ・サブシステムは、
冗長度がN(Nは3以上の整数)で、それぞれがD台以上のディスク装置を有する複数のクラスタから構成されるディスクアレイ・サブシステムであって、
各ディスク装置上の所定数のセグメントから構成されるデータ領域と、それぞれが前記各ディスク装置上の前記所定数のセグメントから構成される(N−1)個のコピー領域とを有し、
前記各ディスク装置毎に、自ディスク装置のデータ領域の各セグメントに格納されているデータのコピーを、自ディスク装置と同一クラスタに属するディスク装置であって、自ディスク装置を除く{D−(N−1)}台のディスク装置の特定コピー領域に分散配置し、且つ、
前記各ディスク装置毎に、自ディスク装置の特定コピー領域の全セグメントに格納されているコピーと同じコピーを、全セグメント単位で、自ディスク装置と同一クラスタに属するディスク装置であって、自ディスク装置および特定コピー領域の各セグメントに格納されているコピーのオリジナルデータを記憶するディスク装置を除く(N−2)台のディスク装置の特定コピー領域以外のコピー領域に分散配置したことを特徴とする。
本発明にかかる第4のディスクアレイ・サブシステムは、第1〜第3のディスクアレイ・サブシステムにおいて、
上位装置からライトコマンドが送られてきたとき、データの書き込み先となるデータ領域上のセグメントを有するディスク装置と、前記データのコピー先となるコピー領域上のセグメントを有する各ディスク装置とを前記ライトコマンドの発行先に決定するディスク決定手段を備えたことを特徴とする。
本発明にかかる第5のディスクアレイ・サブシステムは、第4のディスクアレイ・サブシステムにおいて、
前記データ領域に配置されている各セグメント毎に、そのセグメントが配置されているディスク装置の装置番号と、そのセグメントに格納されているデータのコピー先となるセグメントが配置されているディスク装置の装置番号とが登録されたセグメント管理テーブルを備え、且つ、
前記ディスク決定手段が、前記ライトコマンドがデータの書き込み先にしているセグメントが配置されているディスク装置の装置番号および前記セグメントに格納されているデータのコピー先となるセグメントが配置されているディスク装置の装置番号を前記セグメント管理テーブルから取得し、該取得した装置番号のディスク装置を前記ライトコマンドの発行先に決定する構成を有することを特徴とする。
本発明にかかる第6のディスクアレイ・サブシステムは、第4のディスクアレイ・サブシステムにおいて、
前記ディスク決定手段が、前記上位装置からリードコマンドが送られてきたとき、正常動作しているディスク装置の負荷が均等になるように、前記リードコマンドの発行先にするディスク装置を決定する構成を有することを特徴とする。
本発明にかかる第7のディスクアレイ・サブシステムは、第6のディスクアレイ・サブシステムにおいて、
ディスク装置に障害が発生した時に、他の正常動作しているディスク装置から前記障害の発生したディスク装置の各セグメントに格納されていた内容を読み込み、読み込んだ内容を代替ディスク装置に書き出すデータ復旧手段であって、各ディスク装置の負荷が均等になるように読み出し先のディスク装置を決定するデータ復旧手段を備えたことを特徴とする。
本発明にかかる第1のディスクアレイ・サブシステムにおける分散配置方法は、
冗長度がN(Nは3以上の整数)で、D台のディスク装置から構成されるディスクアレイ・サブシステムにおける分散配置方法であって、
各ディスク装置上に、所定数のセグメントから構成されるデータ領域と、それぞれが前記所定数のセグメントから構成される(N−1)個のコピー領域とを設け、
前記各ディスク装置毎に、自ディスク装置のデータ領域の各セグメントに格納されているデータのコピーを、自ディスク装置を除く{D−(N−1)}台のディスク装置の特定コピー領域に分散配置し、且つ、
前記各ディスク装置毎に、自ディスク装置の特定コピー領域の全セグメントに格納されているコピーと同じコピーを、全セグメント単位で、自ディスク装置および特定コピー領域の各セグメントに格納されているコピーのオリジナルデータを記憶するディスク装置を除く(N−2)台のディスク装置の特定コピー領域以外のコピー領域に分散配置することを特徴とする。
本発明にかかる第2のディスクアレイ・サブシステムにおける分散配置方法は、
冗長度がN(Nは3以上の整数)で、それぞれがD台以上のディスク装置を有する複数のクラスタから構成されるディスクアレイ・サブシステムにおける分散配置方法であって、
各ディスク装置上に、所定数のセグメントから構成されるデータ領域と、それぞれが前記所定数のセグメントから構成される(N−1)個のコピー領域とを設け、
前記各ディスク装置毎に、自ディスク装置のデータ領域の各セグメントに格納されているデータのコピーを、自ディスク装置と同一クラスタに属するディスク装置であって、自ディスク装置を除く{D−(N−1)}台のディスク装置の特定コピー領域に分散配置し、且つ、
前記各ディスク装置毎に、自ディスク装置の特定コピー領域の全セグメントに格納されているコピーと同じコピーを、全セグメント単位で、自ディスク装置と同一クラスタに属するディスク装置であって、自ディスク装置および特定コピー領域の各セグメントに格納されているコピーのオリジナルデータを記憶するディスク装置を除く(N−2)台のディスク装置の特定コピー領域以外のコピー領域に分散配置することを特徴とする。
本発明にかかる第1のディスクアレイ・サブシステムにおける制御方法は、
冗長度がN(Nは3以上の整数)で、D台のディスク装置から構成され、
各ディスク装置上の所定数のセグメントから構成されるデータ領域と、それぞれが前記各ディスク装置上の前記所定数のセグメントから構成される(N−1)個のコピー領域とを有し、
前記各ディスク装置毎に、自ディスク装置のデータ領域の各セグメントに格納されているデータのコピーを、自ディスク装置を除く{D−(N−1)}台のディスク装置の特定コピー領域に分散配置し、且つ、
前記各ディスク装置毎に、自ディスク装置の特定コピー領域の全セグメントに格納されているコピーと同じコピーを、全セグメント単位で、自ディスク装置および特定コピー領域の各セグメントに格納されているコピーのオリジナルデータを記憶するディスク装置を除く(N−2)台のディスク装置の特定コピー領域以外のコピー領域に分散配置したディスクアレイ・サブシステムにおける制御方法であって、
上位装置からライトコマンドが送られてきたとき、データの書き込み先となるデータ領域上のセグメントを有するディスク装置と、前記データのコピー先となるコピー領域上のセグメントを有する各ディスク装置とを前記ライトコマンドの発行先に決定するディスク決定ステップを含むことを特徴とする。
本発明にかかる第2のディスクアレイ・サブシステムにおける制御方法は、
冗長度がN(Nは3以上の整数)で、それぞれがD台以上のディスク装置を有する複数のクラスタから構成され、
各ディスク装置上の所定数のセグメントから構成されるデータ領域と、それぞれが前記各ディスク装置上の前記所定数のセグメントから構成される(N−1)個のコピー領域とを有し、
前記各ディスク装置毎に、自ディスク装置のデータ領域の各セグメントに格納されているデータのコピーを、自ディスク装置と同一クラスタに属するディスク装置であって、自ディスク装置を除く{D−(N−1)}台のディスク装置の特定コピー領域に分散配置し、且つ、
前記各ディスク装置毎に、自ディスク装置の特定コピー領域の全セグメントに格納されているコピーと同じコピーを、全セグメント単位で、自ディスク装置と同一クラスタに属するディスク装置であって、自ディスク装置および特定コピー領域の各セグメントに格納されているコピーのオリジナルデータを記憶するディスク装置を除く(N−2)台のディスク装置の特定コピー領域以外のコピー領域に分散配置したディスクアレイ・サブシステムにおける制御方法であって、
上位装置からライトコマンドが送られてきたとき、データの書き込み先となるデータ領域上のセグメントを有するディスク装置と、前記データのコピー先となるコピー領域上のセグメントを有する各ディスク装置とを前記ライトコマンドの発行先に決定するディスク決定ステップを含むことを特徴とする。
本発明にかかる第3のディスクアレイ・サブシステムにおける制御方法は、第1,第2のディスクアレイ・サブシステムにおける制御方法において、
前記ディスク決定ステップが、前記上位装置からリードコマンドが送られてきたとき、正常動作しているディスク装置の負荷が均等になるように、前記リードコマンドの発行先にするディスク装置を決定する処理を実行することを特徴とする。
本発明にかかる第4のディスクアレイ・サブシステムにおける制御方法は、第3のディスクアレイ・サブシステムにおける制御方法において、
ディスク装置に障害が発生した時に、他の正常動作しているディスク装置から前記障害の発生したディスク装置の各セグメントに格納されていた内容を読み込み、読み込んだ内容を代替ディスク装置に書き出すデータ復旧ステップであって、各ディスク装置の負荷が均等になるように読み出し先のディスク装置を決定するデータ復旧ステップを含むことを特徴とする。
本発明にかかる第1のプログラムは、
冗長度がN(Nは3以上の整数)で、D台のディスク装置から構成され、
各ディスク装置上の所定数のセグメントから構成されるデータ領域と、それぞれが前記各ディスク装置上の前記所定数のセグメントから構成される(N−1)個のコピー領域とを有し、
前記各ディスク装置毎に、自ディスク装置のデータ領域の各セグメントに格納されているデータのコピーを、自ディスク装置を除く{D−(N−1)}台のディスク装置の特定コピー領域に分散配置し、且つ、
前記各ディスク装置毎に、自ディスク装置の特定コピー領域の全セグメントに格納されているコピーと同じコピーを、全セグメント単位で、自ディスク装置および特定コピー領域の各セグメントに格納されているコピーのオリジナルデータを記憶するディスク装置を除く(N−2)台のディスク装置の特定コピー領域以外のコピー領域に分散配置したディスクアレイ・サブシステムを備えたコンピュータを、
上位装置からライトコマンドが送られてきたとき、データの書き込み先となるデータ領域上のセグメントを有するディスク装置と、前記データのコピー先となるコピー領域上のセグメントを有する各ディスク装置とを前記ライトコマンドの発行先に決定するディスク決定手段として機能させる。
本発明にかかる第2のプログラムは、
冗長度がN(Nは3以上の整数)で、それぞれがD台以上のディスク装置を有する複数のクラスタから構成され、
各ディスク装置上の所定数のセグメントから構成されるデータ領域と、それぞれが前記各ディスク装置上の前記所定数のセグメントから構成される(N−1)個のコピー領域とを有し、
前記各ディスク装置毎に、自ディスク装置のデータ領域の各セグメントに格納されているデータのコピーを、自ディスク装置と同一クラスタに属するディスク装置であって、自ディスク装置を除く{D−(N−1)}台のディスク装置の特定コピー領域に分散配置し、且つ、
前記各ディスク装置毎に、自ディスク装置の特定コピー領域の全セグメントに格納されているコピーと同じコピーを、全セグメント単位で、自ディスク装置と同一クラスタに属するディスク装置であって、自ディスク装置および特定コピー領域の各セグメントに格納されているコピーのオリジナルデータを記憶するディスク装置を除く(N−2)台のディスク装置の特定コピー領域以外のコピー領域に分散配置したディスクアレイ・サブシステムを備えたコンピュータを、
上位装置からライトコマンドが送られてきたとき、データの書き込み先となるデータ領域上のセグメントを有するディスク装置と、前記データのコピー先となるコピー領域上のセグメントを有する各ディスク装置とを前記ライトコマンドの発行先に決定するディスク決定手段として機能させる。
本発明にかかる第3のプログラムは、第1,第2のプログラムにおいて、
前記ディスク決定手段が、前記上位装置からリードコマンドが送られてきたとき、正常動作しているディスク装置の負荷が均等になるように、前記リードコマンドの発行先にするディスク装置を決定する構成を有することを特徴とする。
本発明にかかる第4のプログラムは、第3のプログラムにおいて、
前記コンピュータを、
ディスク装置に障害が発生した時に、他の正常動作しているディスク装置から前記障害の発生したディスク装置の各セグメントに格納されていた内容を読み込み、読み込んだ内容を代替ディスク装置に書き出すデータ復旧手段であって、各ディスク装置の負荷が均等になるように読み出し先のディスク装置を決定するデータ復旧手段として機能させる。
〔作用〕
本発明にかかるディスクアレイ・サブシステムでは、各ディスク装置毎に、自ディスク装置のデータ領域の各セグメントに格納されているデータのコピーを、自ディスク装置を除く{D−(N−1)}台のディスク装置の特定コピー領域に分散配置している。更に、各ディスク装置毎に、自ディスク装置の特定コピー領域の全セグメントに格納されているコピーと同じコピーを、全セグメント単位で、自ディスク装置および特定コピー領域の各セグメントに格納されているコピーのオリジナルデータを記憶するディスク装置を除く(N−2)台のディスク装置の特定コピー領域以外のコピー領域に分散配置している。
上記したようにコピーを分散配置した場合、冗長度が「3」であれば、第k番目のディスク装置の第n番目のコピー領域と、上記ディスク装置と隣接する第(k+1)番目のディスク装置の第(n+1)番目のコピー領域とには、同一内容のコピーが格納されることになる。従って、3台(冗長度3と同じ台数)のディスク装置に障害が発生した場合であっても、隣接する2台のディスク装置に障害が発生していなければ、データの損失は発生しない。
本発明にかかるディスクアレイ・サブシステムによれば、冗長度N(Nは3以上の整数)と同じN台のディスク装置に障害が発生した場合であっても、隣接する(N−1)台のディスク装置に障害が発生していなければ、データの損失を防ぐことが可能になる。その理由は、各ディスク装置毎に、自ディスク装置のデータ領域の各セグメントに格納されているデータのコピーを、自ディスク装置を除く{D−(N−1)}台のディスク装置の特定コピー領域に分散配置し、更に、各ディスク装置毎に、自ディスク装置の特定コピー領域の全セグメントに格納されているコピーと同じコピーを、全セグメント単位で、自ディスク装置および特定コピー領域の各セグメントに格納されているコピーのオリジナルデータを記憶するディスク装置を除く(N−2)台のディスク装置の特定コピー領域以外のコピー領域に分散配置したからである。
ここで、本発明にかかるディスクアレイ・サブシステムの効果を、16台の磁気ディスク装置から構成される冗長度「3」のディスクアレイ・サブシステムを例に挙げて説明する。
本発明にかかるディスクアレイ・サブシステムでは、隣接する2台のディスク装置と、それ以外の任意の1台のディスク装置に障害が発生した場合にデータ損失が発生する。これに対して、従来のディスクアレイ・サブシステムでは、任意の3台のディスク装置に障害が発生した場合に、データ損失が発生する。従って、3台のディスク装置に障害が発生したときに、データ損失が発生する組み合わせは、本発明のディスクアレイ・サブシステムでは、16×13=208通りとなり、従来のディスクアレイ・サブシステムでは、163=560通りとなる。このように、本発明のディスクアレイ・サブシステムの方がデータ損失が発生する組み合わせの数が少なく、データ損失が発生する確率を従来のディスクアレイ・サブシステムよりも低くすることができる。
次に本発明の実施の形態について図面を参照して詳細に説明する。
〔第1の実施の形態の構成の説明〕
図1は本発明にかかるディスクアレイ・サブシステムの第1の実施の形態の構成例を示すブロック図である。
図1を参照すると、ディスクアレイ・サブシステム1は、FC(Fiber Cable)やSCSI(Small Computer System Interface)などのインタフェース上において、上位システム(図示せず)が発行したコマンドやディスクアレイ・サブシステムからの応答を制御するホストI/F制御部2a,2bと、上位システムからのコマンドを解析し、ミラー冗長システム6を構成する各磁気ディスク装置5a〜5hへのコマンドに変換したり、その他各種制御を実行するディスクアレイ制御部3と、FCやSCSIなどのインタフェース上において、ディスクアレイ制御部3から発行されたコマンドや磁気ディスク装置5a〜5hからの応答を制御するディスクI/F制御部4a,4bとを有する。
図2は、ミラー冗長システム6の構成例を示すブロック図であり、冗長度を「3」とした場合についてのものである。同図を参照すると、ミラー冗長システム6を構成する8個の磁気ディスク装置5a〜5hの記憶領域は、データ(オリジナルデータ)を格納するためのデータ領域7と、データのコピー(冗長データ)を格納するための第1,第2のコピー領域8−1,8−2とに分割されている。なお、冗長度が「N」である場合には、各磁気ディスク装置5a〜5hの記憶領域は、1個のデータ領域と、(N−1)個のコピー領域とに分割される。また、図2では、ミラー冗長システム6を構成する磁気ディスク装置の台数Dを8台としたが、冗長度が「3」である本実施の形態では、6台以上であれば、任意の台数とすることができる。なお、冗長度Nと磁気ディスク装置の台数Dとの関係は、冗長度Nが「3」である場合には、(N+3)台以上の磁気ディスク装置が必要となり、冗長度Nが「4」以上である場合には、(N+2)台以上の磁気ディスク装置が必要となる。
更に、データ領域7および第1,第2のコピー領域8−1,8−2は、それぞれディスクアレイ・サブシステム1に固有の管理単位であるセグメントに分割されている。セグメントは、データをミラーリングする最小単位であり、同一番号を付与されたセグメントには同一データが格納されている。セグメントの大きさは、大きすぎると構成の自由度が損なわれ、また小さすぎると巨大なデータ管理テーブルが必要になるので、数MBから数GB程度とすることが望ましい。ここでは説明を容易にするために、データ領域7および各コピー領域8−1,8−2をそれぞれ6つのセグメントに分割している。
更に、或る磁気ディスク装置のデータ領域に格納されているデータのコピーが、1台の磁気ディスク装置に集中しないようにするため、各磁気ディスク装置毎に、自磁気ディスク装置のデータ領域7の各セグメントに格納されているデータのコピーを、自磁気ディスク装置を除いた{D−(N−1)}={8−(3−1)}=6台の磁気ディスク装置の各コピー領域8−1,8−2に、同一内容のデータ,コピーを同一磁気ディスク装置上に配置しないという条件を満たす形で分散配置している。別の言い方をすれば、本実施の形態では、各磁気ディスク装置5a〜5h毎に、その磁気ディスク装置のデータ領域7の各セグメントに格納されているデータのコピーを、自磁気ディスク装置を除く{D−(N−1)}=6台のデータ装置の特定コピー領域(第1のコピー領域8−1)に分散配置し、且つ、各磁気ディスク装置5a〜5h毎に、自磁気ディスク装置の第1のコピー領域8−1の全セグメントに格納されているコピーと同一内容のコピーを、全セグメント単位で、自磁気ディスク装置および第1のコピー領域8−1に格納されているコピーのオリジナルデータを記憶する磁気ディスク装置を除く(N−2)台の磁気ディスク装置の第1のコピー領域以外のコピー領域に分散配置している。例えば、磁気ディスク装置5aのデータ領域7上の各セグメント(ラインL0〜L5上のセグメント)に格納されているデータのコピーは、第1のコピー領域8−1においては、磁気ディスク装置5b〜5g上に配置され、第2のコピー領域8−2においては、磁気ディスク装置5c〜5h上に配置される。
ここで、コピーの配置先にする磁気ディスク装置の決定規則を数式化すると、例えば、次式(1)に示すものとなる。
Figure 2006133842
式(1)において、Dは磁気ディスク装置の総数、Nは冗長度、iはセグメント番号、nはコピー領域番号、kはセグメント番号iのセグメントに格納されているデータのコピーがコピー領域番号nのコピー領域において配置される磁気ディスク装置の装置番号を表している。本実施の形態では、D=8,N=3となる。また、本実施の形態では、第1,第2のコピー領域8−1,8−2のコピー領域番号nをそれぞれ「1」,「2」とし、磁気ディスク装置5a〜5hの磁気ディスク装置番号kをそれぞれ「0」〜「7」とする。
ここで、式(1)の意味について説明する。
式(1)の(a)の部分では、データを格納しているセグメント番号iのセグメントが存在するラインのライン番号(図2のラインL0,L1,…のライン番号が0,1,…)を求めている。尚、(i/D)は、iをDで割ったときの商(整数部分)を表している。
式(1)の(b)の部分では、コピーの分散配置先にすることが可能な磁気ディスク装置の台数を求めている。図2に示したミラー冗長システム6では、(b)の部分で求まる値は、D−(N−1)=8−(3−1)=6台となる。
式(1)の(c)の部分では、コピーの分散配置先とすることが可能な磁気ディスク装置の台数でライン番号のmodを取ることにより、コピーの分散配置先にすることが可能な磁気ディスク装置(図2の例では6台の磁気ディスク装置)の内の、左から何台目の磁気ディスク装置をコピーの格納先にするのかを求めている。この(c)の部分で求まる値は、0〜[{D−(N−1)}−1]の範囲の値となる。図2に示したミラー冗長システム6では、0〜5となる。
式(1)の(d)の部分では、コピー領域番号nと(c)の部分で求めた値とを加算することにより、コピーの分散格納先とする磁気ディスク装置を、コピー領域番号nのコピー領域においては、データの格納元の磁気ディスク装置から右方向に何台ずれた磁気ディスク装置にするのかを求めている。
式(1)の(e)の部分では、(d)の部分で求めた値と、コピー元のデータが格納されているセグメントのセグメント番号iとを加算することにより、コピー領域番号nのコピー領域において、上記データのコピーの分散配置先とする磁気ディスク装置上に存在する可能性があるセグメントのセグメント番号を求めている。
式(1)の(f)の部分では、(e)の部分で求めたセグメント番号のmodDを取ることにより、コピーの分散配置先とする磁気ディスク装置の装置番号を求めている。
以上が式(1)の意味である。なお、式(1)はコピー先にする磁気ディスク装置の決定規則のみを示し、磁気ディスク装置上のどのセグメントにコピーを格納するかは示していない。コピーを格納するセグメントは、データを格納しているセグメントが、データ領域における第x番目のライン上に存在するものである場合には、該当するコピー領域における第x番目のライン上に存在するセグメントとすれば良い。例えば、図2の例において、データを格納しているセグメントが、データ領域7の第2番目のライン(ラインL1)上のセグメントである場合には、上記データのコピーを格納するセグメントは、第1のコピー領域8−1においては、その領域8−1における第2番目のライン(ラインL7)上のセグメントとなり、第2のコピー領域8−2においては、その領域8−2における第2番目のライン(ラインL13)上のセグメントとなる。
図3は、ディスクアレイ・サブシステム1内のディスクアレイ制御部3の構成例を示すブロック図である。同図を参照すると、ディスクアレイ制御部3は、コマンド処理手段31と、リード/ライト制御手段32と、アドレス変換手段33と、応答時間計測手段34と、ディスク決定手段35と、ディスク障害検出手段36と、データ管理テーブル37と、データ復旧手段40とを含んでいる。
データ管理テーブル37は、論理ディスク管理テーブル38と、セグメント管理テーブル39とを含んでいる。
論理ディスク管理テーブル38は、上位装置が認識している論理ディスク装置の論理ディスク装置番号,論理ブロック・アドレスと、セグメント番号との対応関係を保持するテーブルであり、その内容例を図4に示す。図4の例では、論理ディスク番号「0」,論理ブロックアドレス「0x00000000,…,0x04000000」は、セグメント番号「0,…,8」のセグメントに対応し、各セグメントの容量が「4GB」であることを示している。
セグメント管理テーブル39は、セグメントのセグメント番号に対応付けて、そのセグメント番号のセグメントが存在する磁気ディスク装置の装置番号と、物理ブロック・アドレスと、応答時間と、負荷分散率とを保持するテーブルであり、その内容例を図5に示す。
磁気ディスク装置番号は、対応して登録されているセグメント番号のセグメントが存在する磁気ディスク装置の装置番号を示す。本実施の形態は、冗長度が「3」であるので、1つのセグメント番号に対応付けて3つの磁気ディスク装置番号が登録されている。例えば、セグメント番号「0」のセグメントは、図2を参照すると、磁気ディスク装置5a,5b,5c上に存在するので、図5の例においては、セグメント番号「0」に対応付けて、磁気ディスク装置5a,5b,5cの装置番号「0」,「1」,「2」が登録されている。
物理ブロック・アドレスは、3台の磁気ディスク装置上に存在する同一セグメント番号のセグメントの物理ブロック・アドレスを示す。図5の例は、磁気ディスク装置5a,5b,5c上に存在するセグメント番号「0」のセグメントの物理ブロック・アドレスがそれぞれ「0x00000000」,「0x03000000」,「0x06000000」であることを示している。
応答時間は、磁気ディスク装置がリード要求,ライト要求を処理するために要した時間であり、応答時間計測手段34により設定される。図5の例において、セグメント番号「0」に対応付けて登録されている応答時間t00,t01,t02は、それぞれ磁気ディスク装置5a,5b,5cの応答時間を示している。
負荷分散率は、異なる3台の磁気ディスク装置上に存在する、同一セグメント番号を有するセグメントを、どのような比率でアクセスするのかを示すものであり(負荷分散率が大きいものほど、選択される回数が多くなる)、応答時間計測手段34によって設定される。図5の例は、磁気ディスク装置5a,5b,5c上に存在するセグメント番号「0」のセグメントに対する負荷分散率は、それぞれH00,H01,H02であることを表している。なお、負荷分散率は、対応する応答時間が長いものほど、小さな値になっている。また、障害が発生している磁気ディスク装置に対応する負荷分散率は「0」になっている。
コマンド処理手段31は、次のような機能を有する。
・ホストI/F制御部2a,2bを介して上位装置からリードコマンド或いはライトコマンドが送られてきたとき、そのコマンドのパラメータに含まれている論理ディスク装置番号および論理ブロック・アドレスをアドレス変換手段33に渡し、上記論理ディスク装置番号および論理ブロック・アドレスに対応するセグメント番号を論理ディスク管理テーブル38から検索させる機能。
・上位装置からのコマンドが、リードコマンドの場合、アドレス変換手段33が検索したセグメント番号を含むリード先決定要求をディスク決定手段35に対して出力する機能。
・上位装置からのコマンドが、ライトコマンドの場合、アドレス変換手段33が検索したセグメント番号を含むライト先決定要求をディスク決定手段35に対して出力する機能。
・上位装置から送られてきたコマンド中の論理ディスク装置番号,論理ブロック・アドレスを、ディスク決定手段35から返却された磁気ディスク装置番号,物理ブロック・アドレスで置き換え、置き換え後のコマンドをリード/ライト制御手段32に渡す機能。
リード/ライト制御手段32は、コマンド中の磁気ディスク装置番号によって特定される磁気ディスク装置にコマンドを発行する機能を有する。
アドレス変換手段33は、コマンド処理手段31から渡された論理ディスク装置番号,論理ブロック・アドレスに対応するセグメント番号を論理ディスク管理テーブル38から検索し、コマンド処理手段31に返却する機能を有する。
応答時間計測手段34は、各磁気ディスク装置5a〜5hの応答時間を計測する機能や、セグメント管理テーブル39に登録されている応答時間や負荷分散率を更新する機能を有する。
ディスク決定手段35は、コマンド処理手段31からセグメント番号を含んだリード先決定要求が渡された場合、上記セグメント番号のセグメントが配置されている各磁気ディスク装置の中から、上記各磁気ディスク装置の応答時間(負荷)が均一化されるように、リード先にする磁気ディスク装置を1台決定する機能を有する。本実施の形態では、セグメント管理テーブル39を参照し、上記セグメントが配置されている各磁気ディスク装置の負荷分散率を勘案してリード先にする磁気ディスク装置を決定するようにするが、他の方法を採用しても良い。例えば、上記各磁気ディスク装置の中から循環的に1台の磁気ディスク装置を選択し、それをリード先の磁気ディスク装置にするという方法なども採用することができる。
更に、ディスク決定手段35は、コマンド処理手段31からセグメント番号を含んだライト先決定要求が渡された場合、上記セグメント番号のセグメントが配置されている磁気ディスク装置であって、且つ正常動作している磁気ディスク装置をライト先の磁気ディスク装置とする機能を有する。本実施の形態では、コマンド処理手段31からセグメント番号を含むライト先決定要求が渡された場合、セグメント管理テーブル39を参照し、上記セグメント番号に対応付けて登録されている磁気ディスク装置番号の中から負荷分散率が「0」になっていないものを探し出すことにより、ライト先の磁気ディスク装置を決定するようにしている。
ディスク障害検出手段36は、各磁気ディスク装置5a〜5hの障害を検出する機能や、障害を検出したとき、データ復旧手段40を起動する機能を有する。
データ復旧手段40は、ディスク障害検出手段36から起動されると、代替磁気ディスク装置(図示せず)へのデータ復旧を行う機能を有する。
尚、ディスクアレイ制御部3は、コンピュータ(CPU)によって実現可能なものであり、コンピュータによって実現する場合は、例えば、次のようにする。コンピュータをディスクアレイ制御部3として機能させるためのプログラムを記録したディスク,半導体メモリ,その他の記録媒体を用意し、上記プログラムをコンピュータに読み取らせる。コンピュータは、読み取ったプログラムに従って自身の動作を制御することにより、自コンピュータ上に、コマンド処理手段31,リード/ライト制御手段32,アドレス変換手段33,応答時間計測手段34,ディスク決定手段35,ディスク障害検出手段36,データ復旧手段40を実現する。
〔第1の実施の形態の動作の説明〕
次に、本実施の形態の動作について詳細に説明する。
〔リード時の動作〕
先ず、リード時の動作について詳細に説明する。
コマンド処理手段31は、上位装置からのリードコマンドを受信すると(図6のステップS61)、そのパラメータに含まれている論理ディスク装置番号及び論理ブロック・アドレスをアドレス変換手段33に渡す(ステップS62)。
これにより、アドレス変換手段33は、論理ディスク管理テーブル38を検索し、上記論理ディスク装置番号,論理ブロック・アドレスに対応するセグメント番号を探し出し、探し出したセグメント番号をコマンド処理手段31に返却する(ステップS63)。例えば、リードコマンド中の論理ディスク装置番号,論理ブロック・アドレスがそれぞれ「0」,「0x00000000」であり、論理ディスク管理テーブル38の内容が図4に示すものであるとすると、アドレス変換手段33は、セグメント番号「0」をコマンド処理手段31に返却することになる。
コマンド処理手段31は、アドレス変換手段33からセグメント番号が返却されると、そのセグメント番号を含んだリード先決定要求をディスク決定手段35に対して出力する(ステップS64)。
これにより、ディスク決定手段35は、リード先決定要求に含まれているセグメント番号とセグメント管理テーブル39の内容とに基づいて、リード先にする磁気ディスク装置を選択する(ステップS65)。その後、ステップS65で選択した磁気ディスク装置の装置番号と、その装置番号と対応付けてセグメント管理テーブル39に登録されている物理ブロック・アドレスとをコマンド処理手段31に返却する(ステップS66)。
このステップS65,S66の処理を詳しく説明すると、次のようになる。今、例えば、リード先決定要求に含まれているセグメント番号が「0」で、セグメント管理テーブル39の内容が図5に示すものであるとする。先ず、ディスク決定手段35は、セグメント管理テーブル39を検索し、セグメント番号「0」が登録されているエントリを探し出す。その後、探し出したエントリ中の負荷分散率H00,H01,H02に基づいてリード先とする磁気ディスク装置を決定する。例えば、負荷分散率H00,H01,H02がそれぞれ「2」,「1」,「1」であれば、磁気ディスク装置番号「0」,「1」,「2」の磁気ディスク装置5a,5b,5cをリード先とする割合が、2:1:1となるように、リード先の磁気ディスク装置を決定する。そして、リード先として、例えば、磁気ディスク装置番号「2」の磁気ディスク装置5cを選択した場合は、磁気ディスク装置番号「2」と、それに対応付けてセグメント管理テーブル39に登録されている物理ブロック・アドレス「0x06000000」とをコマンド処理手段31に返却する。以上が、ステップS65,S66で行う処理の詳細である。
コマンド処理手段31は、ディスク決定手段35から磁気ディスク装置番号及び物理ブロック・アドレスが返却されると、上位装置からのリードコマンド中の論理ディスク装置番号及び論理ブロック・アドレスを上記返却された磁気ディスク装置番号及び物理ブロック・アドレスで置き換え、置き換え後のリードコマンドをリード/ライト制御手段32に渡す(ステップS67)。これにより、リード/ライト制御手段32は、上記リードコマンドをディスク決定手段35で選択された磁気ディスク装置(コマンド中のパラメータによって示される磁気ディスク装置)へ発行する(ステップS68)。
〔ライト時の動作〕
次にライト時の動作について説明する。
コマンド処理手段31は、上位装置からのライトコマンドを受信すると(図7のステップS71)、そのパラメータに含まれている論理ディスク装置番号及び論理ブロック・アドレスをアドレス変換手段33に渡す(ステップS72)。
これにより、アドレス変換手段33は、上記論理ディスク装置番号及び論理ブロック・アドレスに対応するセグメント番号を論理ディスク管理テーブル38から検索し、検索したセグメント番号をコマンド処理手段31に返却する(ステップS73)。
コマンド処理手段31は、アドレス変換手段33からセグメント番号が返却されると、上記セグメント番号を含んだライト先決定要求をディスク決定手段35に渡す(ステップS74)。
これにより、ディスク決定手段35は、ライト先決定要求中のセグメント番号と、セグメント管理テーブル39の内容とに基づいて、ライト先にする磁気ディスク装置を決定する(ステップS75)。
このステップS75の処理を詳しく説明すると、次のようになる。今、例えば、ライト先決定要求中のセグメント番号が「1」で、セグメント管理テーブル39の内容が図5に示すものであるとする。ディスク決定手段35は、先ず、セグメント管理テーブル39を検索し、セグメント番号「1」が登録されているエントリを探し出す。その後、上記エントリに格納されている磁気ディスク装置番号と物理ブロック・アドレスとの対の中から、対応する負荷分散率が「0」になっていないものを選択し、選択した磁気ディスク装置番号と物理ブロック・アドレスとの対をコマンド処理手段31に返却する。以上が、ステップS75で行う処理の詳細である。
コマンド処理手段31は、ディスク決定手段35から磁気ディスク装置番号と物理ブロック・アドレスとの対が返却されると、返却された対毎に、上位装置から送られてきているライトコマンド中の論理ディスク装置番号,論理ブロック・アドレスを、返却された磁気ディスク装置番号,物理ブロック・アドレスで置き換え、置き換え後のライトコマンドをリード/ライト制御手段32に渡す(ステップS76)。例えば、ディスク決定手段35から、磁気ディスク装置番号と物理ブロック・アドレスとの対が3対返却された場合には、コマンド処理手段31は、3個のライトコマンドをリード/ライト制御手段32に渡すことになる。
リード/ライト制御手段32は、コマンド処理手段31から渡された各ライトコマンドを該当する磁気ディスク装置(ステップS75で選択された磁気ディスク装置)に発行する(ステップS77)。
〔障害発生時の動作〕
次に、ミラー冗長システム6を構成する磁気ディスク装置5a〜5hの何れかに障害が発生したときの動作を説明する。
ディスクアレイ制御部3内のディスク障害検出手段36は、ミラー冗長システム6を構成する各磁気ディスク装置5a〜5hの内の1台に注目し、その磁気ディスク装置に障害が発生しているか否かをチェックする(図8のステップS81,S82)。
そして、注目中の磁気ディスク装置に障害が発生していない場合(ステップS82がNO)は、応答時間計測手段34に対して、上記磁気ディスク装置の応答時間を測定することを指示する。これにより、応答時間計測手段34は、上記磁気ディスク装置のリードコマンド或いはライトコマンドに対する応答時間を測定し(ステップS83)、更に、セグメント管理テーブル39に登録されている上記磁気ディスク装置の応答時間を、測定した応答時間に更新する(ステップS84)。更に、ステップS84では、該当する負荷分散率を更新する処理も行う。その後、ディスク障害検出手段36は、次の磁気ディスク装置に注目し(ステップS81)、前述した処理と同様の処理を行う。
これに対して、注目中の磁気ディスク装置に障害が発生している場合(ステップS82がYES)は、ディスク障害検出手段36は、データ復旧手段40を起動して障害の発生した磁気ディスク装置の装置番号を渡すと共に、セグメント管理テーブル39に登録されている上記磁気ディスク装置に対応する負荷分散率を全て「0」に変更する(ステップS85)。なお、ディスク障害検出手段36は、障害発生を検出した磁気ディスク装置は、ステップS81における注目対象から除外する。
データ復旧手段40は起動されると、セグメント管理テーブル39に登録されているセグメント番号の1つに注目する(ステップS86)。その後、注目したセグメント番号と対応付けて登録されている磁気ディスク装置番号の中に、障害の発生した磁気ディスク装置の装置番号が含まれているか否かを判断する(ステップS88)。
そして、障害の発生した磁気ディスク装置の装置番号が含まれていない場合(ステップS88がNO)は、次のセグメント番号に注目する(ステップS86)。これに対して、障害の発生した磁気ディスク装置の装置番号が含まれている場合は、障害の発生した磁気ディスク装置を除いた他の磁気ディスク装置の負荷分散率に基づいて、データを読み出す磁気ディスク装置を決定する(ステップS89)。例えば、負荷分散率が最も大きい磁気ディスク装置を、データを読み出す磁気ディスク装置とする。なお、負荷分散率が同じ値である場合には、予め定められている規則に従って、データを読み出す磁気ディスク装置を決定する。
次いで、データ復旧手段40は、上記決定した磁気ディスク装置の磁気ディスク装置番号と、この磁気ディスク装置番号と対応付けてセグメント管理テーブル39に登録されている物理ブロック・アドレスとを含むリード要求をコマンド処理手段31に渡す。これにより、上記リードコマンドは、コマンド処理手段31及びリード/ライト制御手段32を介して該当する磁気ディスク装置へ発行され(ステップS90)、上記磁気ディスク装置から読み出されたデータがデータ復旧手段40に渡される。
その後、データ復旧手段40は、上記データと、代替磁気ディスク装置の装置番号と、障害の発生した磁気ディスク装置の装置番号に対応付けてセグメント管理テーブル39に登録されている物理ブロック・アドレスとを含むライトコマンドをコマンド処理手段31に渡す。これにより、上記ライトコマンドは、コマンド処理手段31及びリード/ライト制御手段32を介して代替磁気ディスク装置へ発行され(ステップS91)、代替磁気ディスク装置の該当セグメントにデータが書き込まれる。
データ復旧手段40は、以上の処理をセグメント管理テーブル39に登録されている全てのセグメント番号について行うと(ステップS87がNO)、その処理を終了する。
今、例えば、磁気ディスク装置番号「0」の磁気ディスク装置5aに障害が発生し、セグメント管理テーブル39の内容が図5に示すものであるとすると、次のような処理が行われる。
データ復旧手段40は、ディスク障害検出手段36によって起動されると、先ず、セグメント管理テーブル39に登録されているセグメント番号「0」に注目する(ステップS86)。その後、セグメント番号「0」に対応付けて、障害の発生した磁気ディスク装置の装置番号「0」が登録されているか否かを調べる(ステップS88)。この例の場合、セグメント番号「0」に対応付けて磁気ディスク装置番号「0」,「1」,「2」が登録されているので、ステップS88の判断結果はYESとなり、ステップS89の処理が行われる。
ステップS89では、正常に動作している磁気ディスク装置5b,5cの装置番号「1」,「2」に対応付けてセグメント管理テーブル39に登録されている負荷分散率H01,H02に基づいて、データを読み出す磁気ディスク装置を決定する。今、例えば、H01>H02であったとすると、データを読み出す磁気ディスク装置は、装置番号「1」の磁気ディスク装置5bとなる。
次いで、データ復旧手段40は、磁気ディスク装置番号「1」と、磁気ディスク装置「1」に対応付けて登録されている物理ブロック・アドレス「0x03000000」とを含んだリードコマンドをコマンド処理手段31に渡す。これにより、磁気ディスク装置5bに上記リードコマンドが発行され(ステップS90)、磁気ディスク装置5bから読み出されたデータがデータ復旧手段40に渡される。
その後、データ復旧手段40は、上記データと、代替磁気ディスク装置の装置番号と、障害の発生した磁気ディスク装置5aの装置番号に対応付けてセグメント管理テーブル39に登録されている物理ブロック・アドレス「0x00000000」とを含むライトコマンドをコマンド処理手段31に渡す。これにより、上記ライトコマンドは、コマンド処理手段31及びリード/ライト制御手段32を介して代替磁気ディスク装置へ発行され(ステップS91)、代替磁気ディスク装置の該当するセグメントにデータのコピーが格納される。このとき代替磁気ディスク装置へのデータ書き込みがボトルネックになるようであれば、復旧データを一時的に退避する領域を各磁気ディスク装置に設けたり、或いは、メモリ上に保持するなどして、冗長度が低下している状態を最小限の時間に抑えることが望ましい。負荷分散アルゴリズムは、前記リード要求の負荷分散例で示したようなものを使用し、データ復旧負荷と上位システムからの通常負荷のバランスを取る。
セグメント番号「0」についての処理が終了すると、データ復旧手段40は、セグメント管理テーブル39中の次のセグメント番号「1」に注目し(ステップS86)、前述した処理と同様の処理を行う。以上の処理を、セグメント管理テーブル39に登録されている全てのセグメント番号に対して行うと(ステップS87がNO)、データ復旧手段40は、その処理を終了する。
以上の説明では、ディスクアレイ・サブシステム1の冗長度を「3」としたが、「3」以上であれば、これに限られるものではない。例えば、ディスクアレイ・サブシステム1の冗長度を「4」とする場合には、ミラー冗長システム6の代わりに、図9に示すようなミラー冗長システム6aを使用し、セグメント管理テーブル39の代わりに、図10に示すようなセグメント管理テーブル39aを使用する。
図9を参照すると、ミラー冗長システム6aは、磁気ディスク装置番号「0」〜「7」が付与された8台の磁気ディスク装置5a〜5hから構成されている。そして、各磁気ディスク装置5a〜5hの記憶領域は、1個のデータ領域7aと、第1〜第3の3個のコピー領域8a−1〜8a−3とに分割され、更に、データ領域7aおよび各コピー領域8a−1〜8a−3はそれぞれ5個のセグメントに分割されている。更に、データ領域7aの各セグメントに格納されているデータのコピーは、前出の式(1)を満たす形で、各コピー領域8a−1〜8a−3に格納されている。
図10を参照すると、セグメント管理テーブル39aは、冗長度が「4」であるので、1つのセグメント番号に対応して、磁気ディスク装置番号,物理ブロック・アドレス,応答時間,負荷分散率がそれぞれ4個、登録されている。
また、以上の説明では、図2に示すように、各磁気ディスク装置5a〜5hの記憶領域を、1つのデータ領域7と、2つのコピー領域8−1,8−2とに分割するようにしたが、図11に示すミラー冗長システム6bのように、各磁気ディスク装置5a〜5hの記憶領域を、2つのデータ領域7b−1,7b−2と、データ領域7b−1に対する2つのコピー領域8b―11,8b−12と、データ領域7b−2に対する2つのコピー領域8b−21,8b−22とに分割するようにしてもよい。
〔第1の実施の形態の効果〕
本実施の形態にかかる冗長度N(Nは3以上の整数)のディスクアレイ・サブシステム1によれば、N台の磁気ディスク装置に障害が発生した場合であっても、隣接する(N−1)台の磁気ディスク装置に障害が発生していなければ、データ損失を防ぐことができる。その理由は、各磁気ディスク装置5a〜5h毎に、自磁気ディスク装置のデータ領域7の各セグメントに格納されているデータのコピーを、自磁気ディスク装置を除く{D−(N−1)}台の磁気ディスク装置の特定コピー領域(例えば、第1のコピー領域8−1)に分散配置し、且つ、各磁気ディスク装置5a〜5h毎に、自磁気ディスク装置の特定コピー領域の全セグメントに格納されているコピーと同じコピーを、全セグメント単位で、自磁気ディスク装置および特定コピー領域の各セグメントに格納されているコピーのオリジナルデータを記憶する磁気ディスク装置を除く(N−2)台の磁気ディスク装置の特定コピー領域以外のコピー領域に分散配置したからである。
また、本実施の形態によれば、上位装置からのリードコマンドが特定の磁気ディスク装置に集中しないようにすることが可能になる。その理由は、正常動作している磁気ディスク装置の負荷が均等になるように、リードコマンドの発行先にする磁気ディスク装置を決定するディスク決定手段35を備えているからである。
更に、本実施の形態によれば、障害発生時の復旧処理時間を短くすることが可能になる。その理由は、磁気ディスク装置に障害が発生した時に、他の正常動作している磁気ディスク装置から上記障害の発生した磁気ディスク装置の各セグメントに格納されていた内容を読み込み、読み込んだ内容を代替ディスク装置に書き出すという復旧処理を行うが、その際に、各ディスク装置の負荷が均等になるように、データ復旧手段40において読み出し先のディスク装置を決定しているからである。
〔第2の実施の形態〕
次に本発明にかかるディスクアレイ・サブシステムの第2の実施の形態について説明する。本実施の形態は、ミラー冗長システムを構成する複数台の磁気ディスク装置を複数のグループに分割し、各グループ毎に、そのグループに属する磁気ディスク装置間でコピー(冗長データ)を分散配置することを特徴とする。ここで、磁気ディスク装置をグループに分割することをクラスタ化と呼び、分割された磁気ディスク装置群をクラスタと呼ぶこととする。
本実施の形態は、図1のディスクアレイ・サブシステム1において、ミラー冗長システム6の代わりに、図12に示すミラー冗長システム6cを使用することにより実現される。なお、図12では、冗長度を「3」としている。
図12を参照すると、ミラー冗長システム6cは、16台の磁気ディスク装置5a〜5pから構成され、各磁気ディスク装置5a〜5pにはそれぞれ磁気ディスク装置番号「0」〜「15」が付与されている。また、各磁気ディスク装置5a〜5pの記憶領域は、1つのデータ領域7cと、冗長度N=「3」に応じた複数のコピー領域8c−1,8c−2とに分割されている。図12の例は冗長度「3」の例であるので、上記のように領域分割されるが、冗長度「4」の場合は、1個のデータ領域と、3個のコピー領域とに分割され、冗長度「5」の場合は、1個のデータ領域と、4個のコピー領域とに分割される。つまり、冗長度「N」の場合は、1個のデータ領域と、(N−1)個のコピー領域とに分割される。
更に、データ領域7c,コピー領域8c−1,8c−2は、ディスクアレイ・サブシステムに固有の管理単位であるセグメントに分割されている。なお、図12では、同一番号を付与されたセグメントには同一データが格納されている。ここでは説明を容易にするために、データ領域7c,各コピー領域8c−1,8c−2を6つのセグメントに分割しているが、分割数はこれに限られるものではない。
更に、16台の磁気ディスク装置5a〜5pを二等分し、磁気ディスク装置5a〜5hを第1のクラスタ9−1、磁気ディスク装置5i〜5pを第2のクラスタ9−2としている。
更に、各クラスタ9−1,9−2毎に、そのクラスタに属する磁気ディスク装置間でコピーの分散配置を行っている。より具体的には、第1のクラスタ9−1においては、クラスタ9−1に属する各磁気ディスク装置5a〜5h毎に、自磁気ディスク装置のデータ領域7cの各セグメントに格納されているデータのコピーを、自磁気ディスク装置を除いた{D−(N−1)}=6台の磁気ディスク装置の各コピー領域8−1,8−2に、同一内容のデータ,コピーを同一磁気ディスク装置上に配置しないという条件を満たす形で分散配置し、第2のクラスタ9−2においては、各磁気ディスク装置5i〜5p毎に、自磁気ディスク装置のデータ領域7cの各セグメントに格納されているデータのコピーを、自磁気ディスク装置を除いた{D−(N−1)}=6台の磁気ディスク装置の各コピー領域8−1,8−2に、同一内容のデータ,コピーを同一磁気ディスク装置上に配置しないという条件を満たす形で分散配置する。
例えば、第1のクラスタ9−1に属する磁気ディスク装置5aのデータ領域7cの各セグメント(セグメント番号0,16,32,48,64,80)に格納されているデータのコピーは、第1のコピー領域8c−1においては、磁気ディスク装置5b〜5gに分散配置され、第2のコピー領域8c−2においては、磁気ディスク装置5c〜5hに分散配置される。第1のクラスタ9−1に属する他の磁気ディスク装置5b〜5hにおいても、上述した関係で、そのデータ領域7cの各セグメントに格納されているデータのコピーが、クラスタ9−1の属する他の磁気ディスク装置の第1,第2のコピー領域8c−1,8c−2に分散配置されている。また、例えば、第2のクラスタ9−2に属する磁気ディスク装置5iのデータ領域7cの各セグメント(セグメント番号8,24,40,56,72,88)に格納されているデータのコピーは、第1のコピー領域8c−1においては、磁気ディスク装置5j〜5oに分散配置され、第2のコピー領域8c−2においては、磁気ディスク装置5k〜5pに分散配置されている。第2のクラスタ9−2に属する他の磁気ディスク装置5j〜5pにおいても、上述した関係で、そのデータ領域7cの各セグメントに格納されているデータのコピーが、クラスタ9−2に属する他の磁気ディスク装置の第1,第2のコピー領域8c−1,8c−2に分散配置されている。
上述したコピーの配置先とする磁気ディスク装置の決定規則を数式化すると、例えば、次式(2)に示すものとなる。
Figure 2006133842
式(2)において、Dは磁気ディスク装置の総数、Nは冗長度、Cはクラスタ数、Gはクラスタあたりの磁気ディスク装置数、iはセグメント番号、nはコピー領域番号、kはセグメント番号iのセグメントに格納されているデータのコピーがコピー領域番号nのコピー領域において配置される磁気ディスク装置の装置番号を表している。図12の例では、D=8、N=3、C=2、G=8となり、式(2)に従ってコピーを配置する磁気ディスク装置の装置番号kを算出すると、例えば、データ領域7cでクラスタ9−1に属するセグメント番号「0」のセグメントに格納されているデータのコピーは、第1,第2のコピー領域8c−1,8c−2においては、それぞれ磁気ディスク装置5b,5cに配置される。また、例えば、データ領域7cでクラスタ9−2に属するセグメント番号「8」のセグメントに格納されているデータのコピーは、第1,第2のコピー領域8c−1,8c−2においては、それぞれ磁気ディスク装置5j,5kに配置される。他のセグメントに格納されているデータのコピーの配置先の磁気ディスク装置も、同様にして求まる。
なお、図12に示したミラー冗長システム6cは、各クラスタ9−1,9−2に属する磁気ディスク装置数を同数としたが、例えば、6台の磁気ディスク装置5a〜5fにより第1のクラスタを構成し、10台の磁気ディスク装置5g〜5pにより第2のクラスタを構成するというように、各クラスタに属する磁気ディスク装置の台数を異なるものにしても構わない。更に、図12に示したミラー冗長システム6cでは、クラスタ数を「2」としたが、「2」以上であれば良い。但し、何れの場合も、各クラスタを構成する磁気ディスク装置の台数を、次のようにすることが必要である。即ち、冗長度Nが「3」である場合には、磁気ディスク装置の台数Dを(N+3)台以上とし、冗長度Nが「4」以上である場合には、磁気ディスク装置の台数Dを(N+2)台以上とする。
また、本実施の形態におけるリード時,ライト時,障害発生時の動作は、前述した第1の実施の形態と同様であるので、説明は省略する。
〔第2の実施の形態の効果〕
本実施の形態は、第1の実施の形態が有している効果に加え、磁気ディスク装置が故障したときの影響範囲を磁気ディスク装置が属するクラスタ内に制限することができるという効果を有する。更に、磁気ディスク装置の増設や交換などをクラスタ単位で行うことにより、データを移動することなく容易にRAIDシステムの構成変更を行うことができるという効果も有する。その理由は、ディスクアレイ・サブシステムを構成する磁気ディスク装置を複数のクラスタ9−1,9−2に分割し、各クラスタ9−1,9−2において、第1の実施の形態と同様に冗長データ(コピー)を分散配置するようにしたからである。
本発明にかかるディスクアレイ・サブシステムの第1の実施の形態の構成例を示すブロック図である。 ミラー冗長システム6の構成例を示すブロック図である。 ディスクアレイ制御部3の構成例を示すブロック図である。 論理ディスク管理テーブル38の内容例を示す図である。 セグメント管理テーブル39の内容例を示す図である。 リード時の処理例を示すフローチャートである。 ライト時の処理例を示すフローチャートである。 障害発生時の処理例を示すフローチャートである。 冗長度を「4」とした場合のミラー冗長システム6aの構成例を示すブロック図である。 冗長度を「4」とした場合のセグメント管理テーブル39aの内容例を示す図である。 データ領域を複数有するミラー冗長システム6bの構成例を示すブロック図である。 本発明の第2の実施の形態で使用するミラー冗長システム6cの構成例を示すブロック図である。 従来の冗長度「2」のミラー冗長システム100を示すブロック図である。 従来の冗長度「3」のミラー冗長システム200を示すブロック図である。 従来の冗長度「3」のミラー冗長システム300を示すブロック図である。
符号の説明
1…ディスクアレイ・サブシステム
2a,2b…ホストI/F制御部
3…ディスクアレイ制御部
31…コマンド処理手段
32…リード/ライト制御手段
33…アドレス変換手段
34…応答時間計測手段
35…ディスク決定手段
36…ディスク障害検出手段
37…データ管理テーブル
38…論理ディスク管理テーブル
39,39a…セグメント管理テーブル
40…データ復旧手段
4a,4b…ディスクI/F制御部
5a〜5h…磁気ディスク装置
6,6a,6b,6c…ミラー冗長システム
7,7a,7b−1,7b−2,7c…データ領域
8−1,8−2,8a−1〜8a−3,8b−11〜8b−22,8c―1,8c−2…コピー領域
9−1,9−2…クラスタ

Claims (17)

  1. 冗長度がN(Nは3以上の整数)で、D台のディスク装置から構成されるディスクアレイ・サブシステムであって、
    各ディスク装置上の所定数のセグメントから構成されるデータ領域と、それぞれが前記各ディスク装置上の前記所定数のセグメントから構成される(N−1)個のコピー領域とを有し、
    前記各ディスク装置毎に、自ディスク装置のデータ領域の各セグメントに格納されているデータのコピーを、自ディスク装置を除く{D−(N−1)}台のディスク装置の特定コピー領域に分散配置し、且つ、
    前記各ディスク装置毎に、自ディスク装置の特定コピー領域の全セグメントに格納されているコピーと同じコピーを、全セグメント単位で、自ディスク装置および特定コピー領域の各セグメントに格納されているコピーのオリジナルデータを記憶するディスク装置を除く(N−2)台のディスク装置の特定コピー領域以外のコピー領域に分散配置したことを特徴とするディスクアレイ・サブシステム。
  2. 請求項1記載のディスクアレイ・サブシステムにおいて、
    データ領域上のセグメント番号iのセグメントに格納されているデータのコピーを配置するディスク装置の装置番号kが、第n番目のコピー領域においては、k={i+(i/D)mod[D−(N−1)]+n}modDであることを特徴とするディスクアレイ・サブシステム。
  3. 冗長度がN(Nは3以上の整数)で、それぞれがD台以上のディスク装置を有する複数のクラスタから構成されるディスクアレイ・サブシステムであって、
    各ディスク装置上の所定数のセグメントから構成されるデータ領域と、それぞれが前記各ディスク装置上の前記所定数のセグメントから構成される(N−1)個のコピー領域とを有し、
    前記各ディスク装置毎に、自ディスク装置のデータ領域の各セグメントに格納されているデータのコピーを、自ディスク装置と同一クラスタに属するディスク装置であって、自ディスク装置を除く{D−(N−1)}台のディスク装置の特定コピー領域に分散配置し、且つ、
    前記各ディスク装置毎に、自ディスク装置の特定コピー領域の全セグメントに格納されているコピーと同じコピーを、全セグメント単位で、自ディスク装置と同一クラスタに属するディスク装置であって、自ディスク装置および特定コピー領域の各セグメントに格納されているコピーのオリジナルデータを記憶するディスク装置を除く(N−2)台のディスク装置の特定コピー領域以外のコピー領域に分散配置したことを特徴とするディスクアレイ・サブシステム。
  4. 請求項1乃至3の何れか1項に記載のディスクアレイ・サブシステムにおいて、
    上位装置からライトコマンドが送られてきたとき、データの書き込み先となるデータ領域上のセグメントを有するディスク装置と、前記データのコピー先となるコピー領域上のセグメントを有する各ディスク装置とを前記ライトコマンドの発行先に決定するディスク決定手段を備えたことを特徴とするディスクアレイ・サブシステム。
  5. 請求項4記載のディスクアレイ・サブシステムにおいて、
    前記データ領域に配置されている各セグメント毎に、そのセグメントが配置されているディスク装置の装置番号と、そのセグメントに格納されているデータのコピー先となるセグメントが配置されているディスク装置の装置番号とが登録されたセグメント管理テーブルを備え、且つ、
    前記ディスク決定手段が、前記ライトコマンドがデータの書き込み先にしているセグメントが配置されているディスク装置の装置番号および前記セグメントに格納されているデータのコピー先となるセグメントが配置されているディスク装置の装置番号を前記セグメント管理テーブルから取得し、該取得した装置番号のディスク装置を前記ライトコマンドの発行先に決定する構成を有することを特徴とするディスクアレイ・サブシステム。
  6. 請求項4記載のディスクアレイ・サブシステムにおいて、
    前記ディスク決定手段が、前記上位装置からリードコマンドが送られてきたとき、正常動作しているディスク装置の負荷が均等になるように、前記リードコマンドの発行先にするディスク装置を決定する構成を有することを特徴とするディスクアレイ・サブシステム。
  7. 請求項6記載のディスクアレイ・サブシステムにおいて、
    ディスク装置に障害が発生した時に、他の正常動作しているディスク装置から前記障害の発生したディスク装置の各セグメントに格納されていた内容を読み込み、読み込んだ内容を代替ディスク装置に書き出すデータ復旧手段であって、各ディスク装置の負荷が均等になるように読み出し先のディスク装置を決定するデータ復旧手段を備えたことを特徴とするディスクアレイ・サブシステム。
  8. 冗長度がN(Nは3以上の整数)で、D台のディスク装置から構成されるディスクアレイ・サブシステムにおける分散配置方法であって、
    各ディスク装置上に、所定数のセグメントから構成されるデータ領域と、それぞれが前記所定数のセグメントから構成される(N−1)個のコピー領域とを設け、
    前記各ディスク装置毎に、自ディスク装置のデータ領域の各セグメントに格納されているデータのコピーを、自ディスク装置を除く{D−(N−1)}台のディスク装置の特定コピー領域に分散配置し、且つ、
    前記各ディスク装置毎に、自ディスク装置の特定コピー領域の全セグメントに格納されているコピーと同じコピーを、全セグメント単位で、自ディスク装置および特定コピー領域の各セグメントに格納されているコピーのオリジナルデータを記憶するディスク装置を除く(N−2)台のディスク装置の特定コピー領域以外のコピー領域に分散配置することを特徴とするディスクアレイ・サブシステムにおける分散配置方法。
  9. 冗長度がN(Nは3以上の整数)で、それぞれがD台以上のディスク装置を有する複数のクラスタから構成されるディスクアレイ・サブシステムにおける分散配置方法であって、
    各ディスク装置上に、所定数のセグメントから構成されるデータ領域と、それぞれが前記所定数のセグメントから構成される(N−1)個のコピー領域とを設け、
    前記各ディスク装置毎に、自ディスク装置のデータ領域の各セグメントに格納されているデータのコピーを、自ディスク装置と同一クラスタに属するディスク装置であって、自ディスク装置を除く{D−(N−1)}台のディスク装置の特定コピー領域に分散配置し、且つ、
    前記各ディスク装置毎に、自ディスク装置の特定コピー領域の全セグメントに格納されているコピーと同じコピーを、全セグメント単位で、自ディスク装置と同一クラスタに属するディスク装置であって、自ディスク装置および特定コピー領域の各セグメントに格納されているコピーのオリジナルデータを記憶するディスク装置を除く(N−2)台のディスク装置の特定コピー領域以外のコピー領域に分散配置することを特徴とするディスクアレイ・サブシステムにおける分散配置方法。
  10. 冗長度がN(Nは3以上の整数)で、D台のディスク装置から構成され、
    各ディスク装置上の所定数のセグメントから構成されるデータ領域と、それぞれが前記各ディスク装置上の前記所定数のセグメントから構成される(N−1)個のコピー領域とを有し、
    前記各ディスク装置毎に、自ディスク装置のデータ領域の各セグメントに格納されているデータのコピーを、自ディスク装置を除く{D−(N−1)}台のディスク装置の特定コピー領域に分散配置し、且つ、
    前記各ディスク装置毎に、自ディスク装置の特定コピー領域の全セグメントに格納されているコピーと同じコピーを、全セグメント単位で、自ディスク装置および特定コピー領域の各セグメントに格納されているコピーのオリジナルデータを記憶するディスク装置を除く(N−2)台のディスク装置の特定コピー領域以外のコピー領域に分散配置したディスクアレイ・サブシステムにおける制御方法であって、
    上位装置からライトコマンドが送られてきたとき、データの書き込み先となるデータ領域上のセグメントを有するディスク装置と、前記データのコピー先となるコピー領域上のセグメントを有する各ディスク装置とを前記ライトコマンドの発行先に決定するディスク決定ステップを含むことを特徴とするディスクアレイ・サブシステムにおける制御方法。
  11. 冗長度がN(Nは3以上の整数)で、それぞれがD台以上のディスク装置を有する複数のクラスタから構成され、
    各ディスク装置上の所定数のセグメントから構成されるデータ領域と、それぞれが前記各ディスク装置上の前記所定数のセグメントから構成される(N−1)個のコピー領域とを有し、
    前記各ディスク装置毎に、自ディスク装置のデータ領域の各セグメントに格納されているデータのコピーを、自ディスク装置と同一クラスタに属するディスク装置であって、自ディスク装置を除く{D−(N−1)}台のディスク装置の特定コピー領域に分散配置し、且つ、
    前記各ディスク装置毎に、自ディスク装置の特定コピー領域の全セグメントに格納されているコピーと同じコピーを、全セグメント単位で、自ディスク装置と同一クラスタに属するディスク装置であって、自ディスク装置および特定コピー領域の各セグメントに格納されているコピーのオリジナルデータを記憶するディスク装置を除く(N−2)台のディスク装置の特定コピー領域以外のコピー領域に分散配置したディスクアレイ・サブシステムにおける制御方法であって、
    上位装置からライトコマンドが送られてきたとき、データの書き込み先となるデータ領域上のセグメントを有するディスク装置と、前記データのコピー先となるコピー領域上のセグメントを有する各ディスク装置とを前記ライトコマンドの発行先に決定するディスク決定ステップを含むことを特徴とするディスクアレイ・サブシステムにおける制御方法。
  12. 請求項10または11記載のディスクアレイ・サブシステムにおける制御方法において、
    前記ディスク決定ステップが、前記上位装置からリードコマンドが送られてきたとき、正常動作しているディスク装置の負荷が均等になるように、前記リードコマンドの発行先にするディスク装置を決定する処理を実行することを特徴とするディスクアレイ・サブシステムにおける制御方法。
  13. 請求項12記載のディスクアレイ・サブシステムにおける制御方法において、
    ディスク装置に障害が発生した時に、他の正常動作しているディスク装置から前記障害の発生したディスク装置の各セグメントに格納されていた内容を読み込み、読み込んだ内容を代替ディスク装置に書き出すデータ復旧ステップであって、各ディスク装置の負荷が均等になるように読み出し先のディスク装置を決定するデータ復旧ステップを含むことを特徴とするディスクアレイ・サブシステムにおける制御方法。
  14. 冗長度がN(Nは3以上の整数)で、D台のディスク装置から構成され、
    各ディスク装置上の所定数のセグメントから構成されるデータ領域と、それぞれが前記各ディスク装置上の前記所定数のセグメントから構成される(N−1)個のコピー領域とを有し、
    前記各ディスク装置毎に、自ディスク装置のデータ領域の各セグメントに格納されているデータのコピーを、自ディスク装置を除く{D−(N−1)}台のディスク装置の特定コピー領域に分散配置し、且つ、
    前記各ディスク装置毎に、自ディスク装置の特定コピー領域の全セグメントに格納されているコピーと同じコピーを、全セグメント単位で、自ディスク装置および特定コピー領域の各セグメントに格納されているコピーのオリジナルデータを記憶するディスク装置を除く(N−2)台のディスク装置の特定コピー領域以外のコピー領域に分散配置したディスクアレイ・サブシステムを備えたコンピュータを、
    上位装置からライトコマンドが送られてきたとき、データの書き込み先となるデータ領域上のセグメントを有するディスク装置と、前記データのコピー先となるコピー領域上のセグメントを有する各ディスク装置とを前記ライトコマンドの発行先に決定するディスク決定手段として機能させるためのプログラム。
  15. 冗長度がN(Nは3以上の整数)で、それぞれがD台以上のディスク装置を有する複数のクラスタから構成され、
    各ディスク装置上の所定数のセグメントから構成されるデータ領域と、それぞれが前記各ディスク装置上の前記所定数のセグメントから構成される(N−1)個のコピー領域とを有し、
    前記各ディスク装置毎に、自ディスク装置のデータ領域の各セグメントに格納されているデータのコピーを、自ディスク装置と同一クラスタに属するディスク装置であって、自ディスク装置を除く{D−(N−1)}台のディスク装置の特定コピー領域に分散配置し、且つ、
    前記各ディスク装置毎に、自ディスク装置の特定コピー領域の全セグメントに格納されているコピーと同じコピーを、全セグメント単位で、自ディスク装置と同一クラスタに属するディスク装置であって、自ディスク装置および特定コピー領域の各セグメントに格納されているコピーのオリジナルデータを記憶するディスク装置を除く(N−2)台のディスク装置の特定コピー領域以外のコピー領域に分散配置したディスクアレイ・サブシステムを備えたコンピュータを、
    上位装置からライトコマンドが送られてきたとき、データの書き込み先となるデータ領域上のセグメントを有するディスク装置と、前記データのコピー先となるコピー領域上のセグメントを有する各ディスク装置とを前記ライトコマンドの発行先に決定するディスク決定手段として機能させるためのプログラム。
  16. 請求項14または15記載のプログラムにおいて、
    前記ディスク決定手段が、前記上位装置からリードコマンドが送られてきたとき、正常動作しているディスク装置の負荷が均等になるように、前記リードコマンドの発行先にするディスク装置を決定する構成を有することを特徴とするプログラム。
  17. 請求項16記載のプログラムにおいて、
    前記コンピュータを、
    ディスク装置に障害が発生した時に、他の正常動作しているディスク装置から前記障害の発生したディスク装置の各セグメントに格納されていた内容を読み込み、読み込んだ内容を代替ディスク装置に書き出すデータ復旧手段であって、各ディスク装置の負荷が均等になるように読み出し先のディスク装置を決定するデータ復旧手段として機能させるためのプログラム。
JP2004318877A 2004-11-02 2004-11-02 ディスクアレイ・サブシステム、ディスクアレイ・サブシステムにおける分散配置方法、制御方法、プログラム Expired - Fee Related JP4428202B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004318877A JP4428202B2 (ja) 2004-11-02 2004-11-02 ディスクアレイ・サブシステム、ディスクアレイ・サブシステムにおける分散配置方法、制御方法、プログラム
US11/262,991 US7519853B2 (en) 2004-11-02 2005-11-01 Disk array subsystem, method for distributed arrangement, and signal-bearing medium embodying a program of a disk array subsystem

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004318877A JP4428202B2 (ja) 2004-11-02 2004-11-02 ディスクアレイ・サブシステム、ディスクアレイ・サブシステムにおける分散配置方法、制御方法、プログラム

Publications (2)

Publication Number Publication Date
JP2006133842A true JP2006133842A (ja) 2006-05-25
JP4428202B2 JP4428202B2 (ja) 2010-03-10

Family

ID=36387863

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004318877A Expired - Fee Related JP4428202B2 (ja) 2004-11-02 2004-11-02 ディスクアレイ・サブシステム、ディスクアレイ・サブシステムにおける分散配置方法、制御方法、プログラム

Country Status (2)

Country Link
US (1) US7519853B2 (ja)
JP (1) JP4428202B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007536658A (ja) * 2004-05-06 2007-12-13 インターナショナル・ビジネス・マシーンズ・コーポレーション 追加的および自律的な保護の機能を備えた複数の記憶装置からなるアレイにデータを記憶するための方法およびシステム

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11909418B1 (en) 2005-09-30 2024-02-20 Pure Storage, Inc. Access authentication in a dispersed storage network
US10938418B2 (en) * 2005-09-30 2021-03-02 Pure Storage, Inc. Online disk replacement/removal
US20070106868A1 (en) * 2005-11-04 2007-05-10 Sun Microsystems, Inc. Method and system for latency-directed block allocation
US7877554B2 (en) * 2005-11-04 2011-01-25 Oracle America, Inc. Method and system for block reallocation
US20070214314A1 (en) * 2006-03-07 2007-09-13 Reuter James M Methods and systems for hierarchical management of distributed data
US9141508B2 (en) * 2010-12-21 2015-09-22 Oracle International Corporation Assigning read requests based on busyness of devices
JP6458752B2 (ja) * 2016-03-04 2019-01-30 日本電気株式会社 ストレージ制御装置、ストレージシステム、ストレージ制御方法、および、プログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5678061A (en) * 1995-07-19 1997-10-14 Lucent Technologies Inc. Method for employing doubly striped mirroring of data and reassigning data streams scheduled to be supplied by failed disk to respective ones of remaining disks
JPH09265359A (ja) 1996-03-28 1997-10-07 Hitachi Ltd ディスクアレイシステムおよびディスクアレイシステムの制御方法
US6425052B1 (en) * 1999-10-28 2002-07-23 Sun Microsystems, Inc. Load balancing configuration for storage arrays employing mirroring and striping
US7433948B2 (en) * 2002-01-23 2008-10-07 Cisco Technology, Inc. Methods and apparatus for implementing virtualization of storage within a storage area network
US7076606B2 (en) * 2002-09-20 2006-07-11 Quantum Corporation Accelerated RAID with rewind capability
US6961815B2 (en) * 2002-12-05 2005-11-01 International Business Machines Corporation Multiple disk data storage system for reducing power consumption
US7234074B2 (en) * 2003-12-17 2007-06-19 International Business Machines Corporation Multiple disk data storage system for reducing power consumption
US7237062B2 (en) * 2004-04-02 2007-06-26 Seagate Technology Llc Storage media data structure system and method
GB2418769B (en) * 2004-10-02 2009-06-17 Hewlett Packard Development Co Method and system for storing data
US7380157B2 (en) * 2004-10-27 2008-05-27 Pillar Data Systems, Inc. Staggered writing for data storage systems

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007536658A (ja) * 2004-05-06 2007-12-13 インターナショナル・ビジネス・マシーンズ・コーポレーション 追加的および自律的な保護の機能を備えた複数の記憶装置からなるアレイにデータを記憶するための方法およびシステム

Also Published As

Publication number Publication date
JP4428202B2 (ja) 2010-03-10
US20060107101A1 (en) 2006-05-18
US7519853B2 (en) 2009-04-14

Similar Documents

Publication Publication Date Title
JP4920898B2 (ja) 計算機システム、データ管理方法およびプログラム
US10126988B1 (en) Assigning RAID extents and changing drive extent allocations within RAID extents when splitting a group of storage drives into partnership groups in a data storage system
US10048864B2 (en) Dynamically configuring erasure code redundancy and distribution
KR101259557B1 (ko) 클러스터 데이터 관리 시스템 및 클러스터 데이터 관리 시스템에서 병렬 처리를 이용한 데이터 복구 방법
JP4749140B2 (ja) データマイグレーション方法及びシステム
US10825477B2 (en) RAID storage system with logical data group priority
US8484413B2 (en) Recording medium storing control program for decentralized data, storage management program, control node, and disk node
US20040064641A1 (en) Storage device with I/O counter for partial data reallocation
JP2005301497A (ja) ストレージ管理装置、リストア方法及びそのプログラム
JP5102915B2 (ja) ストレージ装置及びそのデータ検証方法
JPH10511193A (ja) 並列ディスク駆動機構アレイ式データ記憶サブシステム用の論理トラック書込みスケジューリングのシステム
JPH04230512A (ja) Dasdアレイのための更新記録方法及び装置
JP4229626B2 (ja) ファイル管理システム
CN101154174A (zh) 在raid数据重建和转移中使用文件系统信息
CN1770114A (zh) 存储网络中的复制操作
WO2016180049A1 (zh) 一种存储管理方法及分布式文件系统
JP2006139478A (ja) ディスクアレイシステム
JP2006172320A (ja) データ複製制御装置
US7519853B2 (en) Disk array subsystem, method for distributed arrangement, and signal-bearing medium embodying a program of a disk array subsystem
US6363457B1 (en) Method and system for non-disruptive addition and deletion of logical devices
JP2006331076A (ja) データ記憶システム及び記憶方法
WO2013080299A1 (ja) データ管理装置、データコピー方法、およびプログラム
EP4170499A1 (en) Data storage method, storage system, storage device, and storage medium
JP5365236B2 (ja) ストレージシステム
US7146481B2 (en) Methods and systems for pre-merge read of configuration data from a foreign volume group inserted in storage array

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081001

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081224

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090219

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090525

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090525

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091124

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121225

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4428202

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091207

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121225

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131225

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees