JP2000347816A - ディスクアレイ装置及びディスク装置へのデータ読み出し/書き込み方式 - Google Patents

ディスクアレイ装置及びディスク装置へのデータ読み出し/書き込み方式

Info

Publication number
JP2000347816A
JP2000347816A JP11162042A JP16204299A JP2000347816A JP 2000347816 A JP2000347816 A JP 2000347816A JP 11162042 A JP11162042 A JP 11162042A JP 16204299 A JP16204299 A JP 16204299A JP 2000347816 A JP2000347816 A JP 2000347816A
Authority
JP
Japan
Prior art keywords
disk
spare
data
loop
disk device
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
JP11162042A
Other languages
English (en)
Other versions
JP4461511B2 (ja
Inventor
Seiichi Higaki
誠一 檜垣
Yoshinori Okami
吉規 岡見
Takao Sato
孝夫 佐藤
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP16204299A priority Critical patent/JP4461511B2/ja
Priority to US09/382,774 priority patent/US6615314B1/en
Publication of JP2000347816A publication Critical patent/JP2000347816A/ja
Priority to US10/457,387 priority patent/US6757782B2/en
Priority to US10/757,936 priority patent/US7035975B2/en
Priority to US10/759,248 priority patent/US7120741B2/en
Priority to US10/768,693 priority patent/US7206900B2/en
Priority to US11/715,903 priority patent/US7447840B2/en
Application granted granted Critical
Publication of JP4461511B2 publication Critical patent/JP4461511B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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
    • G06F11/1092Rebuilding, e.g. when physically replacing a failing disk
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • G06F11/1662Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

(57)【要約】 【課題】データの通信路にバスを使用した場合、ディス
ク装置20(ディスク22)中のデータをスペアディス
ク21(スペア2)中に再生或いは複写する処理と、制
御装置23がホストコンピュータからの要求に基づく読
み出し/書き込み処理と並列に行うことができなかっ
た。 【解決手段】ループ22を時分割多重機能を持つファイ
バチャネルとし、ディスク22とスペア21との間の処
理は制御装置23を介さず行うことで、ディスク22の
データをスペア2に複写する処理と、ホストコンピュー
タとディスク装置20との処理を並行して行えるように
した。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ディスクアレイ装
置の制御に関して、ディスクアレイ装置を構成している
ディスク装置が閉塞したとき、或いはディスク装置で所
定のしきい値を超える回数のエラーが検出がされたとき
に、そのディスク装置が記憶しているデータをスペアデ
ィスクに複写する方式に関する。
【0002】
【従来の技術】スペアディスクに関しては、例えば、特
開平7−210333号公報に記載の発明がある。
【0003】この公報に記載のように従来は、ある所定
のしきい値を超える回数のエラーが検出がされたディス
ク装置や障害を起こして閉塞したディスク装置中のデー
タをスペアディスクに再生或いは複写する場合、再生・
複写を制御装置が管理していたため、閉塞或いはしきい
値を超える回数のエラーが検出がされたディスク中のデ
ータを、一旦制御装置に読み込み、その後スペアディス
クに対して書き出さざるを得なかった。
【0004】このためこの処理が始まると、制御装置上
にあるマイクロプロセッサやメモリ等の資源が、この読
み込みと書き込み処理のために使われてしまい、同時に
行われているホストコンピュータからの要求に基づく読
み出し/書き込み処理に割当てるべき資源が少なくな
り、ディスクアレイ装置としての読み出し/書き込み性
能が下がってしまっていた。またスペアディスクへのデ
ータの書き込み自体も時間がかかっていた。
【0005】
【発明が解決しようとする課題】ディスクアレイ装置を
構成するディスク装置が閉塞してしまったとき、或いは
ディスク装置でしきい値を超える回数のエラーが検出が
されたとき、そのディスク装置中のデータをスペアディ
スク中に再生或いは複写しなくてはならない。
【0006】これらのデータの演算再生処理や複写処理
は、制御装置がホストコンピュータからの要求に基づく
読み出し/書き込み処理と並列に行われる必要がある。
しかし制御装置上にあるマイクロプロセッサやメモリ等
の資源が、この複写処理のために使われてしまい、同時
に行われるべき読み出し/書き込み処理に割当てるべき
資源が少なくなり、ディスクアレイ装置としての読み出
し/書き込み性能が下がってしまう。
【0007】本発明は、これらの処理に割かれる制御装
置の資源を減らし(データ転送に関しては無くし)、ホ
ストコンピュータからの要求に基づく読み出し/書き込
み処理に充てることで、ディスクアレイ装置の読み出し
/書き込み性能を向上させることにある。
【0008】
【課題を解決するための手段】上記の課題を解決するた
めに、制御装置の同一制御部配下の転送媒体としての通
信路(バス等)にディスク装置とスペアディスクとを備
え、制御装置を通さずにしきい値を超える回数のエラー
が検出がされたディスク装置中のデータをスペアディス
クに対して複写する。
【0009】また、スペアディスクに対してデータの演
算再生処理や複写処理は、制御装置がホストコンピュー
タからの要求に基づく読み出し/書き込み処理と並列に
行われる必要がある。単純に同一制御部配下の転送媒体
にディスク装置とスペアディスクとを備えたのみでは、
演算再生処理や複写処理と読み出し/書き込み処理とを
同時に行うことはできない場合が有る。
【0010】また、制御装置上にあるマイクロプロセッ
サやメモリ等の資源が、この複写処理のために使われて
しまい、同時に行われるべき読み出し/書き込み処理に
割当てるべき資源が少なくなり、ディスクアレイ装置と
しての読み出し/書き込み性能が下がってしまう。
【0011】そこで、通信路を多重通信を行うことが出
来る媒体(例えば時分割多重通信可能なファイバチャネ
ルによるループ)とする。
【0012】そして、制御装置がスペアディスクにコマ
ンドを送ることで、閉塞しているディスク装置と同じE
CCグループに属する他のディスク装置からデータを読
み込み、演算を行い閉塞したディスク装置中のデータを
再生してスペアディスクに書き込む処理を、スペアディ
スク自身に行わせる。
【0013】このとき複数のループを接続するスイッチ
を通してデータ転送を行うことで、制御装置の資源の使
用を最低限にする。このようにすることにより制御装置
が、スペアディスクへの複写処理から解放される。ファ
イバチャネルによるループのデータ転送速度は、1台の
ディスク装置のデータ転送速度よりも高速なので、ルー
プが持つ時分割多重機能と合わせて、制御装置とディス
ク装置でのデータ転送、あるしきい値を超える回数のエ
ラーが検出がされたディスク装置とスペアディスクとの
間のデータ転送を同時に行える。
【0014】
【発明の実施の形態】本発明の実施の形態を図面を用い
て説明する。
【0015】まず一つ目の実施形態のディスクアレイ装
置の構成例を図1に示す。11がディスクアレイ装置
で、12はディスクアレイ装置11がつながれるホスト
コンピュータである。ディスクアレイ装置11のホスト
コンピュータ12に対する入出力は、ディスクアレイ装
置11に装備されるホストコンピュータ12側の制御装
置13を介して行われる。制御装置13は、ホストコン
ピュータ12及びディスクアレイ装置11への入出力デ
ータを一時的に格納するキャッシュメモリ14を介し
て、ディスクアレイ装置11を構成する複数のディスク
装置15を制御するディスク装置側の制御装置16に接
続される。この制御装置16とディスク装置15及びこ
の間における接続部分(17で示す範囲)の構成例を図
2に詳細に示す。
【0016】ディスクアレイ装置を構成するディスク装
置20(ディスク(11)〜ディスク(i1))及びス
ペアディスク装置21(スペア(1))は、通信路たる
ループ22(ループ(1))を通して後述するループ制御
部24(ループ制御部(1))から発信されたコマンドに
よって制御される。ディスク(12)〜ディスク(i
j)及びスペア(2)〜スペア(j)も同様にループ2
2を通して各ループの制御部24によって制御される。
また、ディスク装置20は障害に対する信頼性の向上の
ために冗長性を持たせてある。
【0017】尚、図2のディスク装置20とスペアディ
スク装置21とは同じ構成のディスク装置を使用してい
る。また、ディスク装置とループ制御部は、図1のディ
スク装置15及び制御装置16と同じ構成の装置であ
る。また以下の説明において、特定のディスクを示す場
合にはディスク(nm)とディスクナンバーを付した形
で表記し、ディスク装置一般を示す場合にはディスク装
置20と表記する。スペアディスク、ループ、ECCグ
ループ及びループ制御部等に付いても同様とする。
【0018】ループ制御部24が発信するコマンドの例
としては、ループ22上で動作可能なSCSIのコマン
ドなどがある。以下ではループ22上で動作可能なSC
SIプロトコルを例に取り説明を行う。コマンドを受信
したときディスク装置20は、ターゲットとして動作
し、コマンドの種類(例えばコピー・コマンド)によっ
て、ディスク装置20はイニシエータとしても動作する
構成の装置を使用する。
【0019】このようなディスク装置20が複数台(図
2の例ではi+1個)組になって、一つのループ22に
より制御装置23中のループ制御部24に接続される。
このループ22のデータ転送速度は、1台のディスク装
置20のデータ転送速度よりも高速である。加えてルー
プ22は、フレームという単位でデータを転送して時分
割多重を行うことで、同時にディスク装置−ループ制御
部対間、およびディスク装置−ディスク装置対間での複
数同時通信を可能にする。このような通信を可能とする
ために、ループ22としては例えばファイバチャネルを
用いる。
【0020】制御装置23中には複数個のループ制御部
24(図2の例ではj個)がある。よって、一つの制御
装置23に対して複数個のループ22が接続されている
形となる。そしてこの複数個のループ制御部24同士は
互いに通信を行うことができる。これは例えば、複数個
のループ制御部24が、共有するバス(図示せず)を使
ってデータを送り合うことによって可能になる。
【0021】各ループ22には、それぞれ最低一つの予
備のディスク装置21(以下スペアディスクと呼ぶ。)
が接続される。スペアディスク21は同じループ22に
接続されるその他のディスク装置20とは異なり、通常
はホストコンピュータ(図1参照)からのデータは記憶
されていない。同じループ22中のディスク装置20
で、あるしきい値を超える回数のエラーが検出されたと
き、或いは同じループ22中のディスク装置20が障害
を起こし閉塞したときに、そのディスク装置20中のデ
ータの複製がスペアディスク21に書き込まれる。そし
て以下に説明する処理によって、スペアディスク21は
ディスク装置20と置き換えられる。
【0022】
【表1】
【0023】制御装置23が持つ各ループ制御部24の
共有メモリ(図示せず)上には、表1に例示するような
ディスク装置管理テーブルがある。このテーブルにはデ
ィスク装置20毎のエントリがある。各エントリにはデ
ィスク装置20が接続されるループ22の識別子(ルー
プID)、そのディスク装置20の識別子(ディスク装
置ID)、そのディスク装置20が起こしているエラー
の数(エラーカウント)、そのディスク装置20のステ
ータスのフィールドがある。そしてこのテーブルは制御
装置23上の各ループ制御部からのアクセスが可能にな
っている。
【0024】各ループ制御部24では、次の二つの種類
のジョブが動いている。一つは図3のフローに基づいて
動くもので、あるしきい値を超える回数のエラーが検出
がされているディスク装置20から同じループ22に接
続されているスペアディスク21へ、データの複写を行
うジョブである。そしてもう一つは、図4のフローに基
づいて動くもので、あるループ制御部24とループ22
を通してそのループ制御部24と接続されるディスク装
置20との間での、データの読み込み/書き込み処理す
るジョブである。一つのループ制御部24中では、一つ
の前者のジョブと複数個の後者のジョブが同時に(並行
して)動いている。
【0025】前述のように、1台のディスク装置20の
データ転送速度に比べて、ループ22のデータ転送速度
が十分に高速であり、ループは時分割多重でデータの転
送を行うことができる。これにより同時に複数のディス
ク装置20−制御装置23対、およびディスク装置20
−ディスク装置20対でのデータ転送が可能になり、複
数個のジョブが同時に動作できる。
【0026】スペアディスク21に対するデータの書き
込みのジョブを図3で示すフローチャート及び図2によ
り説明する。
【0027】このジョブにより、ディスク(22)ある
しきい値を超える回数のエラーが検出がされたとする。
すると後で説明するように、ディスク装置管理テーブル
のエントリで、ディスク(22)に割り当てられている
ステータス・フィールドにフラグが立つ。そして同じル
ープ(2)に接続されているスペア(2)へのデータの
複写が行われる。ディスクアレイ装置11が起動する
と、ディスク(22)に対してイニシエータとなるルー
プ制御部(2)は、ジョブを起動し、処理を始める(ス
テップ3−1)。
【0028】次にジョブは、表1に示すディスク装置管
理テーブルを検索して、スペアディスク21への複写対
象になるディスク装置20があるかを探す(ステップ3
−2)。これはディスク装置管理テーブルのエントリ中
にあるディスク装置20のステータス・フィールドを参
照することで行われる。もしあるしきい値を超える回数
のエラーが検出がされたディスク装置20があれば、後
で説明するように、ディスク装置管理テーブルのエント
リで、ディスク(22)に割り当てられているステータ
ス・フィールドに、スペアディスク21へのデータの複
写を指示するフラグが立っている。そして複写の対象と
なるディスク装置20があれば次のステップに進み、な
ければジョブはステップ3−1からの処理を繰り返し続
ける(ステップ3−3)。
【0029】複写の対象となるディスク装置が有る場合
(この場合ディスク(22))、ループ制御部(2)
は、ループ(2)を通してループ(2)に接続されてい
るスペアディスク(2)に対して、ディスク(22)内
のデータの複写を行うためのコマンドを送信する(ステ
ップ3−4)。このコマンドとして、SCSIのコピー
・コマンドを用いることが出来る。SCSIのコマンド
については一般の規格書等にあるので詳細は記載しない
が、例えば「SCSI−2詳細解説(最新SCSI規格
とコマンド・リファレンス) 菅谷誠一著 CQ出版」等
に説明されている。
【0030】このときループ制御部(2)とディスク
(2)は、イニシエータとターゲットの関係にある。送
信されるコマンドのパラメータとしては、ディスク(2
2)の識別子、データ転送を開始する論理ブロック先頭
のアドレス、一回に転送されるデータの長さがある。そ
してループ(2)制御部を通さずに、コマンドによって
指定されたデータが、直接ループ(2)を通してディス
ク(22)からスペアディスク(2)に送信される。
(で示す)次にディスク(22)中の残りのデータを
転送するために、ループ制御部(2)はデータ転送の開
始論理ブロック・アドレスを保持する変数を更新する
(ステップ3−5)。そしてあるしきい値を超える回数
のエラーが検出がされたディスク装置中の全てのデータ
が複写されるまで処理が繰り返される(ステップ3−
6)。ディスク(22)中の全てのデータが転送され終
わると、ジョブはディスク(22)に割当てられていた
識別子を、スペア(2)に割当て、ディスク(22)を
閉塞させる(ステップ3−7)。
【0031】これによってスペア(2)は、あるしきい
値を超える回数のエラーが検出がされたディスク(2
2)に置き換わって働き始める。すなわちディスク(2
2)からスペア(2)にディスク装置自体は入れ代わっ
ているが、ディスク装置に割り当てられる識別子を同じ
にすることで、スペア(2)は元あったディスク(2
2)としてイニシエータ(ループ制御部(2))から扱
われる。以上でループ制御部(2)はジョブを終了させ
る(ステップ3−8)。
【0032】次にディスク装置に対するデータの読み出
し/書き込みのジョブを図4で示すフローチャート及び
図2により説明する。このジョブにより、ループ制御部
24はループ22を通して接続されるディスク装置20
との間での、データの読み出し/書き込みを行う。
【0033】ディスク装置20に対してイニシエータと
なるループ制御部24中で、このジョブは複数動作して
いる。
【0034】始めに、ジョブに対しホストコンピュータ
12からの要求等に起因して、ディスク装置20に対し
てデータの読み出し/書き込み要求が発生する(ステッ
プ4−1)。するとその要求が正常なディスク装置20
に対するものなのか、それともあるしきい値を超える回
数のエラーが検出されているディスク装置20(この場
合はスペア(2)にデータを複写中のディスク(2
2))に対するものなのかを、ジョブは判定する(ステ
ップ4−2)。
【0035】これは制御部23が持つディスク装置管理
テーブル(表1)を、ディスク装置20の識別子をキー
に、ステータスのフィールドを検索することによって行
われる。あるしきい値を超える回数のエラーが検出され
ているディスク(22)のステータスを示すフィールド
には、スペア(2)へのデータの複写を指示するフラグ
が立っている。
【0036】最初に要求の対象となるディスク装置20
が正常だった場合(ディスク(i1))を説明する。
【0037】ジョブは、要求がデータの読み出しなのか
書き込みかを判定する(ステップ4−3)。要求がデー
タの読み出しだった場合、ジョブは通常の読み出し処理
を行う(ステップ4−4)。要求がディスク(i1)か
らデータを読み出すものだった場合は、ループ(1)を
通してジョブはディスク(i1)に対してデータ読み出
しコマンド送信する。するとディスク(i1)からルー
プ(1)を通してデータが、ループ制御部24のバッフ
ァ26までで示すように転送される。
【0038】また要求がデータの書き込みだった場合、
ジョブは通常の書き込み処理を行う(ステップ4−
5)。要求がディスク(12)にデータを書き込む要求
だった場合、ループ(2)を通してジョブはディスク
(12)に対してデータ書き込みコマンドを送信する。
するとループ制御部(2)のバッファ(2)からループ
(2)を介してデータがディスク(12)に転送される
(で示す)。読み出しと書き込みのどちらの場合も、
ループ制御部(1)とディスク(i1)、ループ制御部
(2)と(12)は、イニシエータとターゲットの関係
にある。
【0039】次に要求の対象となるディスク装置20で
あるしきい値を超える回数のエラーが検出されていた場
合を説明する(ディスク(22))。
【0040】この場合もジョブは、その要求がデータの
読み出しなのか書き込みかをまず判定する(ステップ4
−6)。要求がデータの読み出しだった場合、ジョブは
エラー検出時読み出し処理を行う(ステップ4−7)。
【0041】次に要求がデータの書き込みだった場合、
ジョブはエラー検出時書き込み処理を行う(ステップ4
−8)。
【0042】続いてジョブは、読み出し要求や書き込み
要求を処理した後の実行結果を、ディスク装置から受信
し、成功したかエラーが発生したかを確認する(ステッ
プ4−9)。エラーがなかった場合は、先に説明したよ
うに次の要求を受けるためステップ4−1に戻る。エラ
ーがあった場合は、表1に示すディスク装置管理テーブ
ルのディスク識別子を持つエントリ中のエラーカウント
の値をインクリメントする(ステップ4−10)。
【0043】そして次にインクリメントした結果が、決
められているしきい値を超えていないかを確認する(ス
テップ4−11)。しきい値を超えていない場合は、そ
のまま次の要求を受けるためにステップ4−1に戻る。
【0044】しきい値を超えていた場合は、そのディス
ク(22)の識別子を持つディスク装置管理テーブル中
のエントリのステータスを示す項目にスペア(2)への
データの複写を指示するフラグを立てる(ステップ4−
12)。そしてステップ4−1に戻る。
【0045】ディスク装置管理テーブル(表1)によ
り、データを読み出す先のディスク(22)で、あるし
きい値を超える回数のエラーが検出されていることを、
ジョブは知ることができる。このときジョブは、ディス
ク(22)に対してコマンドを送信することはしない。
代わりにループ制御部24同士の通信機能を利用して、
ジョブはECC演算によって要求されたデータが得られ
るように、ループ制御部(2)を除いたループ制御部
(1)から(j)に対してデータ読出しの指示を出す。
【0046】ジョブのこの指示を受けたループ制御部
は、ディスク(22)が属するECCグループ(2)に
属する他のディスク(21)等に対して、ジョブがディ
スク(22)から読み出そうとしたデータを、ECC演
算し再生するために必要なデータを読み出すためのコマ
ンドを送信する。そしてそれぞれのループにおいて、こ
のコマンドを受信したディスク(21)は、要求された
データをループ制御部(1)に転送する。そしてループ
制御部(1)はこのデータを、データ再生回路(2)に
転送する。
【0047】同様に他のループ制御部からもECCグル
ープ(2)に属するディスク中のデータが、データ再生
回路(2)に送られる(で示す)。データ再生回路
(2)では、これらの集められたデータから、最初にル
ープ制御部(2)がディスク(22)から読み出そうと
したデータをECCにより演算し再生して、バッファ
(2)へ送り出す。
【0048】次に要求がデータの書き込みだった場合、
ジョブはエラー検出時書き込み処理を行う。あるしきい
値を超える回数のエラーが検出され、それが記憶してい
るデータをスペア(2)に複写中であるディスク(2
2)に対して、データの書き込み要求が出された場合を
説明する。
【0049】ディスク(22)からスペア(2)へのデ
ータの複写は、ループ制御部(2)上で動作している図
3に示したフローを実行するジョブにより、ディスク
(22)中の先頭の論理アドレスから順に行われる。そ
してこのジョブが使用するする変数により、ディスク
(22)のどのアドレスまでの複写が完了しているかを
知ることができる。データの書き込み要求によってディ
スク(22)へ書き込まれる先のアドレス上のデータ
が、まだスペアディスク(2)に複写されていない場合
は、この書き込み要求を処理するジョブは、ディスク
(22)に対してデータ書き込みコマンドを送信する。
続いてループ制御部(2)のバッファ(2)から、ルー
プ(2)を介してデータがディスク(22)に転送され
る(で示す)。
【0050】ここで書きこまれたデータは、この後で図
3に示したフローを実行するジョブにより、ディスク
(22)からスペア(2)に複写される。一方、データ
の書き込み要求によってディスク(22)へ書き込まれ
る先のアドレス上のデータが、既にスペア(2)に複写
されてしまっている場合、この書き込み要求を処理する
ジョブは、スペアディスク(2)に対してデータ書き込
みコマンドを送信する。続いてループ制御部(2)のバ
ッファ(2)から、ループ(2)を介してデータがスペ
ア(2)に転送される(で示す)。
【0051】あるしきい値を超える回数のエラーが検出
がされたディスク(22)からスペア(2)へのデータ
転送を開始する際に、図3に示したフローで動くジョブ
は、図5に示す論理を表1のようなテーブルと後で示す
(数1)のような式と共に使用ことができる。
【0052】すなわち、ステップ3−4の前にステップ
5−1とステップ5−2を入れることができる。(ステ
ップ5−3がステップ3−4とステップ3−5に相
当。)表1に示すテーブルの各エントリは、あるしきい
値を超える回数のエラーが検出がされたディスク(2
2)からスペア(2)へのデータ転送を除くあるループ
22上で実行中のデータ転送処理と、これから実行され
るデータ転送処理である。各エントリには、制御装置2
3とディスク装置20との間でデータ転送を行うために
必要なパラメータが設定される。まずジョブは表2のデ
ィスク装置識別子の項目を検索して、ループ制御部
(2)としきい値を超える回数のエラーが検出がされた
ディスク(22)との間でのデータ転送要求があるかを
確認する(ステップ5−1)。
【0053】
【表2】
【0054】もし要求があれば真となり、スペア(2)
へのデータ転送は行わずに、ループ制御部(2)とディ
スク(22)との間のデータ転送を優先する。要求がな
い場合は偽となり、ループ(2)のデータ転送能力に余
裕があるかを確認する(ステップ5−2)。
【0055】ディスク(22)とスペア(2)との間で
データ転送を行うとループ(2)に負荷がかかることに
なる。これは、その他のデータ転送に影響を与えるかを
調べるためである。ジョブは表1の実行状態の項目を検
索して現在実行中のデータ転送数を調べる。現在実行中
のデータ転送処理数が分かったら、次に(数1)に示す
式を使う。
【0056】
【数1】
【0057】これはループ22のデータ転送速度に対し
て現在行われているデータ転送数から、更にデータ転
送、すなわちディスク(22)からスペア(2)へのデ
ータ転送行えるだけ、ループ(2)のデータ転送能力に
余裕があるを判断する。もし(数1)の値が正であれば
(ステップ5−2が偽)、ループ(2)のデータ転送能
力が十分にあると判断してディスク(22)からスペア
(2)へのデータ転送を開始する(ステップ5−3)。
【0058】逆に(数1)が負の場合はループに余裕が
ないと(ステップ5−2が真)、ディスク(22)から
スペア(2)へのデータ転送は行わない。ジョブは、ス
ペアディスク(2)に対してデータ転送のコマンドを送
信する前にこの論理を繰り返し実行する。これを行うの
は、スペア(2)へのデータの複写よりも、ホストコン
ピュータ12からの要求等に起因するディスク装置20
に対するデータの読み出し/書き込み要求を優先させた
いからである。
【0059】続いて二つ目の実施形態を説明する。この
実施例では、図1の枠17の部分として図6に示すよう
なディスク装置の接続構成例をとる。図2で示したディ
スク装置20の接続構成例との差異は、スイッチ61の
追加と、各ディスク装置20の機能拡張である。
【0060】スイッチ61は、複数個のループ22を相
互に接続する働きをする。これによりあるループ22に
接続されているループ制御部24、或いはディスク装置
20が、他のループ22に接続されているループ制御部
24或いはディスク装置20と通信することができるよ
うになる。スイッチ61の構成例を説明する前に、ルー
プ制御部24やディスク装置20が、ループ22を通し
て他と通信するときに送信するフレームについて説明す
る。
【0061】フレームの構成例を図7に示す。フレーム
は、ヘッダ部71、データ部72、フッタ部73の三つ
の部分からなる。このうちヘッダ部71にはフレームの
行き先に関する情報が含まれる。これは、ループ識別子
74(L_ID)とディスク装置識別子75(D_I
D)の二つから成る。ループ識別子74は、そのフレー
ムの行き先になるディスク装置20が接続されているル
ープ22の識別子を示し、ディスク装置識別子75はそ
の行き先のループ内でのディスク装置の識別子を示す。
【0062】分割多重通信であるので、データは所定の
容量毎に分割される。また、ファイバチャネルはその転
送速度が十分に速いため、ループ22内のデータ転送
は、上位装置とディスク装置20(スペアディスク21
を含む)との通信専用のスロットと、ディスク装置20
同士(主にディスク装置20とスペアディスク21との
間)の通信専用のスロットとを決めておいて転送する。
しかし、専用スロットを設定せず、ループ内ループ22
上のトラフィックを監視して、正常なディスク装置20
と制御装置23の間でのデータ転送の速度を落とさない
ように、あるしきい値を超える回数のエラーが検出がさ
れたディスク装置20からスペアディスク21へのデー
タ転送量を自動的に調整できるような設定としておいて
も良い。
【0063】次にスイッチ61の構成例を図8に示す。
スイッチ61内には、接続できるループ(例えばループ
(1))の数だけ(図6ではj本)ループ接続部81が
ある。そしてループ接続部81同士は、互いにデータを
送り合い通信ができるように相互に接続されている。
【0064】図9はループ接続部81のブロック図の例
である。ループ接続部81と接続されているループ(自
ループ)からフレームの入力があると、そのフレームは
まずフレーム解析部91に送られる。ここで図7に示し
たヘッダ部71の情報が参照される。そしてヘッダ部7
1中のループ識別子74の値によって、そのフレームの
行き先が出力先指示部92により指示され、スイッチン
グが行われれる。その結果、行き先となるループに対し
て、その当該フレームが出力される。これにより、ルー
プ22をまたがった通信が可能になる。
【0065】次に後者のディスク装置20の機能拡張に
ついて説明する。最初の実施形態で想定したディスクア
レイ装置11を構成するディスク装置20は、ループ上
で動作可能なSCSIプロトコルを扱えるもので、通常
はSCSIのターゲットとして、場合によってはイニシ
エータとしても動作できるものとしてきた。
【0066】この実施の形態で想定するディスク装置2
0は、第一の実施形態で想定した機能に加えて、あるE
CCグループに属する他の複数のディスク装置20に関
する情報を与えることで、それら複数のディスク装置2
0からデータを読み出し、ECCを演算してデータの再
生を行える機能を持つようなディスク装置20である。
動作の詳細は以下で順に説明する。
【0067】第一の実施例と同様に、各ループ制御部2
4では次の二つの種類のジョブが動いている。一つは図
10のフローチャートに基づいて動くもので、スペアデ
ィスク21に閉塞したディスク装置20中のデータの再
生をさせたり、或いはスペアディスク21にあるしきい
値を超える回数のエラーが検出がされているディスク装
置20中のデータの複製を行わせるジョブである。
【0068】そしてもう一つは、図12のフローチャー
トに基づいて動くもので、あるループ制御部24と、そ
のループ制御部24とループ22を通して接続されるデ
ィスク装置20との間での、データの読み込み/書き込
み処理するジョブである。そしてまた第一の実施例と同
様に、一つのループ制御部24中では、一つの前者のジ
ョブと複数個の後者のジョブが同時に動いている。
【0069】まず前者のジョブを図10で示すフローに
より説明する。ディスクアレイ装置11の起動と共に、
ジョブは処理を始める(ステップ10−1)。まず表1
に示したディスク装置管理テーブルを検索する(ステッ
プ10−2)。
【0070】そしてスペアディスク21へのデータの書
き込みが必要であるかをステータス・フィールドの値に
より判断する(ステップ10−3)。この実施例でもス
テータス・フィールドには、ディスク装置20の状態を
示す値が設定される。例えば、ディスク装置20が閉塞
したとき、或いはディスク装置20であるしきい値を超
える回数のエラーが検出がされたときに、それぞれを意
味するフラグが立つ。
【0071】対象となるディスク装置20があり、スペ
アディスク21へのデータの書き込みが必要になるの
は、(1)あるディスク装置が閉塞している場合、また
は(2)あるディスク装置においてあるしきい値を超え
る回数のエラーが検出がされている場合である。
【0072】表1に示すディスク装置管理テーブルを検
索した結果、ディスク装置20の状態が前記の二つの条
件のいずれにも当てはまらなければ、ジョブは、ステッ
プ10−1からの処理を繰り返し行い、条件に当てはま
る場合(複写すべきディスク装置が存在する場合)は次
のステップへ進む(ステップ10−3)。
【0073】ディスク装置の状態が前記の二つの条件の
どちらかに当てはまる場合、ジョブはそれがディスクが
閉塞しているのか否かを判断し何故複写をするのかを判
定する(ステップ10−4)。
【0074】ディスク装置20が閉塞している場合は、
そのディスク装置20が属しているECCグループ25
の他の正常なディスク装置20からデータを集めECC
演算を行い、閉塞しているディスク装置20中のデータ
を再生するように、ジョブはスペアディスクにコマンド
を送信する。そしてこれを受信したスペアディスク21
が複写に必要な処理を行う(ステップ10−5)。
【0075】ディスク装置20においてあるしきい値を
超える回数のエラーが検出されている場合は、そのある
しきい値を超える回数のエラーが検出がされているディ
スク装置20中のデータをスペアディスク21中に複写
するように、ジョブはスペアディスク21にコマンドを
送信する。そしてこれを受信したスペアディスク21が
複写に必要な処理を行う(ステップ10−6)。
【0076】スペアディスク21がコマンドを受信する
とき、ジョブが起動しているループ制御部24がイニシ
エータとして機能し、スペアディスク21はターゲット
として機能する。そしてコマンドの受信後に、上記処理
をスペアディスク21が行うときには、スペアディスク
21がイニシエータとなり、スペアディスク21と通信
を行うディスク装置20がターゲットとなる。そして、
ECC演算を行うことで閉塞しているディスク装置20
中のデータをスペアディスク21内へ再生すること、或
いはあるしきい値を超える回数のエラーが検出がされて
いるディスク装置中のデータをスペアディスク中に複写
することを完了したら、最初の実施の形態で説明したよ
うに、ジョブはスペアディスク対する識別子の更新処理
を行う(ステップ10−7)。
【0077】これ以降スペアディスク21は、閉塞して
しまったディスク装置20、或いはあるしきい値を超え
る回数のエラーが検出がされたディスク装置20として
振舞うことになる。これでこのジョブは終了する(ステ
ップ10−8)。
【0078】ディスク装置20が閉塞している場合につ
いての処理の詳細な流れを、図6及び図11のフローチ
ャートを用いて説明する。図6は閉塞したディスク装置
中のデータをECC演算し再生する際のデータの流れ
を、図11はループ制御部24からのコマンドを受信し
たスペアディスク21が、このとき行う処理の流れを示
している。
【0079】ディスク(22)が閉塞すると、ループ制
御部(2)はその閉塞したディスク(22)が接続され
ているループ(2)に接続されているスペアディスク
(2)に対して、閉塞したディスク(22)中のデータ
をECC演算して再生し、その再生したデータをスペア
(2)に書き込むようにループ(2)を通してコマンド
を送信する(で示す)。このコマンドを受信してスペ
ア(2)が、図11に示される処理を開始する(ステッ
プ11−1)。
【0080】スペア(2)は、ループ制御部(2)中の
ジョブからコマンドを受信する際に、閉塞したディスク
(22)が属するECCグループ(2)に属する他の正
常な複数のディスク(21)に関する情報もパラメータ
として受信する(ステップ11−2)。この情報には、
正常なディスク(21)の識別子、およびこのディスク
装置(21)が属するループ(1)の識別子が含まれ
る。
【0081】コマンドを受信するとき、ループ制御部
(2)とスペア(2)は、イニシエータとターゲットの
関係にある。そしてこのコマンドを受信した後、スペア
(2)はそのコマンドの実行を開始する前に、正常なデ
ィスク(21)に対してイニシエータとなる。他方、正
常なディスク(21)…(2j)は、スペア(2)に対
してターゲットとなる。そしてスペア(2)は、ECC
演算して再生後に記憶する論理ブロックのアドレスの値
を初期化する(ステップ12−3)。
【0082】次にスペア(2)は、ECCグループ
(2)に属する他のディスク(21)、ディスク(2
j)等に対して読み出しコマンドを送信し、閉塞したデ
ィスク(22)上の論理ブロックをECC演算し再生す
るために必要なデータを読み出す(ステップ11−
4)。その際、ディスク(21)のデータ転送は、ルー
プ制御部(1)及びループ制御部(2)を通すことな
く、スイッチ61を通すことで二つのループ(1)及び
ループ(2)に跨って、直接スペア(2)に対して行わ
れる(で示す)。このとき、スペア(2)とECCグ
ループ(2)に属する正常なディスク(21)等とは、
イニシエータとターゲットの関係にある。ディスク(2
j)のデータ転送も同様である。
【0083】スペア(2)は、ステップ11−2で取得
しているループ識別子とディスク装置識別子によって、
ECC演算し論理ブロックを再生するために必要なデー
タを読み出すために指定すべき正常なディスク(21)
を特定する。そして、ECCグループ(2)に属する正
常なディスク(21)、ディスク(2j)等から、同様
に読み出したデータから、スペア(2)はECC演算を
行い、閉塞したディスク(22)上の論理ブロックに記
憶されていたデータを再生する(ステップ11−5)。
【0084】そしてスペア(2)は、再生したデータを
自身の論理ブロックに書き込む(ステップ11−6)。
次にスペア(2)は、次の論理ブロックを再生するため
に、当該論理ブロックのアドレスを更新する(ステップ
11−7)。
【0085】最後にスペア(2)は、閉塞しているディ
スク(22)中の再生対象となる論理ブロックが、全て
再生されたかを確認する(ステップ11−8)。再生す
べき論理ブロックが残っていれば、スペア(2)は、ス
テップ11−4からステップ11−8までの処理を繰り
返す。論理ブロックの再生が完了していれば、スペア
(2)は処理を終了する(ステップ11−9)。
【0086】次に、あるディスク装置においてしきい値
を超える回数のエラーが検出がされている場合のコピー
処理の詳細な流れを、図6及び図12のフローチャート
を用いて説明する。図6はしきい値を超える回数のエラ
ーが検出がされているディスク装置20中のデータがス
ペアディスク21に複写される際のデータの流れを、図
12はループ制御部24の指示を受けたスペアディスク
21が、このとき行う処理の流れを示している。
【0087】ディスク(22)で、ある設定したしきい
値を超える回数のエラーが検出されると、ループ制御部
(2)はディスク(22)が接続されているループ
(2)に接続されているスペア(2)に対して、ディス
ク(22)中のデータを、スペア(2)自身に複写する
ようにループ(2)を介してコマンド(で示す)を送
信する。このコマンドを受信してスペア(2)が、図1
6に示される処理を開始する(ステップ12−1)。
【0088】スペア(2)がコマンドを受信するとき、
ループ制御部(2)とスペア(2)は、イニシエータと
ターゲットの関係にある。そしてこのコマンドを受信し
た後、スペア(2)はそのコマンドの実行を開始する前
に、ディスク(22)に対してイニシエータとなる。ス
ペア(2)は、ループ制御部(2)からコマンドを受信
する際に、ディスク(22)の情報の他に、ディスク
(22)が属するECCグループ(2)に属する他のデ
ィスク(21),ディスク(2j)等に関する情報も受
け取る(ステップ12−2)。この情報には、ディスク
装置20の識別子、およびディスク装置20が属するル
ープ24の識別子が含まれる。
【0089】次にスペア(2)は、ディスク(22)か
らデータを複写するために、スペアディスク(2)自身
が記憶する論理ブロックのアドレスの値を初期化する
(ステップ12−3)。
【0090】そして、スペア(2)は、ディスク(2
2)に対して読み出しコマンドを送信し、ディスク(2
2)上の論理アドレスからデータを読み出す(ステップ
12−4)。
【0091】これによりループ制御部(2)を通すこと
なく、ループ(2)を通して直接ディスク(22)から
スペア(2)へのデータの転送が行われる。このとき、
スペア(2)とディスク(22)とは、イニシエータと
ターゲットの関係にある。
【0092】次にスペア(2)は、このデータの読み出
しの成否を判定する(ステップ12−5)。
【0093】データの読み出しが成功すれば、スペア
(2)は読み出したデータを、スペアディスク(2)自
身の論理ブロックに書き込む(で示す)(ステップ1
2−8)。
【0094】読み出しに失敗した場合は、スペア(2)
は書き込むべきデータを、図11で説明した方式により
再生し、スペア(2)自身に書き込む。すなわち、ディ
スク(22)が属するECCグループ(2)から論理ブ
ロックのECC演算に必要なデータを取得し(ステップ
12−6)、これからスペア(2)の論理ブロックに書
き込むデータを再生する(ステップ12−7)。
【0095】そしてスペア(2)は、得られたデータを
スペア(2)自身の論理ブロックに書き込む(で示
す)(ステップ12−8)。
【0096】次にスペア(2)は、次の論理ブロックを
複写するために、当該論理ブロックのアドレスを更新す
る(ステップ12−9)。
【0097】そしてスペア(2)は、ディスク(22)
中で複写の対象となる論理ブロックの複写が全て完了し
たかを確認する(ステップ12−10)。
【0098】まだ複写すべき論理ブロックが残っていれ
ば、スペア(2)は、ステップ16−4からステップ1
6−10までの処理を繰り返す。また複写すべき論理ブ
ロックの複写が完了していれば、スペア(2)は処理を
終了する(ステップ12−11)。
【0099】次に後者のジョブを図13で示すフローチ
ャートにより説明する。このジョブにより、あるループ
制御部24とループ22を通してそのループ制御部24
と接続されるディスク装置20との間での、データの読
み込み/書き込みが行われる。前述のように、ディスク
装置20に対してイニシエータとなるループ制御部24
中で、このジョブは複数動作している。以下では、この
うちの一つを例にとって動作を説明する。
【0100】まず始めにジョブに対し、ホストコンピュ
ータ12からの要求等に起因して、ディスク装置20に
対してデータの読み出し/書き込み要求が発生する(ス
テップ13−1)。
【0101】その要求が正常なディスク装置20に対す
るものなのか、それとも閉塞しているディスク装置2
0、或いはあるしきい値を超える回数のエラーが検出さ
れているディスク装置20(スペアディスク21にデー
タを複写中のディスク装置20を含む)に対するものな
のかを、ジョブは判定する(ステップ13−2)。
【0102】これは制御装置23が持つディスク装置管
理テーブル(表1)を、ディスク装置20の識別子をキ
ーに、ステータスのフィールドを検索することによって
行われる。閉塞しているディスク装置、或いはあるしき
い値を超える回数のエラーが検出がされているディスク
装置のステータスフィールドには、スペアディスク21
へのデータの書きこみを指示するフラグが立っている。
【0103】要求の対象となるディスク装置20が正常
だった場合を図6を参照して説明する。制御装置23か
ら出されたジョブは、要求がデータの読み出しなのか書
き込みかを判定する(ステップ13−3)。
【0104】要求がデータの読み出しだった場合、ジョ
ブは通常の読み出し処理を行う(ステップ13−4)。
例えば要求がディスク(i1)からデータを読み出すも
のだった場合、ループ22を通してジョブはディスク
(i1)に対してデータ読み出しコマンド送信する。す
るとディスク(i1)からループ(2)を通してデータ
がループ制御部(1)のバッファ(1)まで転送され
る。(で示す)また要求がデータの書き込みだった場
合、ジョブは通常の書き込み処理を行う(ステップ13
−5)。
【0105】例えば要求がディスク(12)にデータを
書き込むものだった場合、ループ(2)を通して、制御
装置23はディスク(12)に対してデータ書き込みコ
マンドを送信する。するとループ制御部(2)のバッフ
ァ(2)からループ(2)を介してデータがディスク装
置(12)に転送される(で示す)。読み出しと書き
込みどちらの場合も、ループ制御部(1)、(2)とデ
ィスク装置(i1),(22)とは、イニシエータとタ
ーゲットの関係にある。
【0106】次に、受け付けられた要求の対象となるデ
ィスク装置20が閉塞しているか、或いはそのディスク
装置20であるしきい値を超える回数のエラーが検出さ
れた場合を図14を参照し説明する。この場合もジョブ
は、その要求がデータの読み出しなのか書き込みかをま
ず判定する(ステップ13−6)。
【0107】要求がデータの読み出しだった場合、ジョ
ブはエラー検出時読み出し処理を行う(ステップ13−
7)。この処理は、最初の実施の形態で説明したエラー
検出時読み出し処理のステップ4−7と同じ処理であ
る。またこの処理は、ディスク装置20が閉塞している
場合でも。ディスク装置20であるしきい値を超える回
数のエラーが検出されている場合でも同じである。
【0108】次に要求がデータの書き込みだった場合、
ジョブはエラー検出時書き込み処理を行う(ステップ1
3−8)。まずディスク装置20が閉塞している場合に
ついて説明する。例えばディスク(21)が閉塞してい
るとする。ディスク(21)に書き込まれるデータは、
そのディスク(21)が属するループ(1)に接続され
るスペアディスク(1)に直接書き込まれる(で示
す)。
【0109】これと同時にディスク(21)が属するE
CCグループ(2)に属する複数の正常なディスク装置
20(ディスク(2j)等)に対して、スペア(1)に
書き込まれたデータをECC演算し再生できるようにし
ておくためのECCが書き込まれる(○付きの10で示
す)。
【0110】次にディスク装置20で規定のしきい値を
超える回数のエラーが検出されいる場合について説明す
る。例えばディスク(22)で規定のしきい値を超える
回数のエラーが検出されいるとする。ディスク(22)
に書き込まれるデータは、まずディスク(22)に書き
込まれ(○付きの11で示す)、直後にスペア(2)にも
書き込まれる(○付きの12で示す)。このように二つの
ディスク装置に対して順に書き込むのは、次のような理
由による。ディスク(22)にデータが書きこまれると
き、スペア(2)が、規定のしきい値を超える回数のエ
ラーが検出されいるディスク(22)からスペア(2)
にデータの複写を行っている可能性がある。データの複
写は前述の通り、スペア(2)によって行われるため、
ループ制御部(2)上のジョブが、複写処理の進行状況
を知ることができない。このためディスク(22)及び
スペア(2)の双方に対して書き込みを行わないと、ジ
ョブがデータを書き込んだタイミングによっては、最終
的に書き込んだデータが保持されて欲しいスペアディス
ク(2)上に、書き込んだデータが記録されないことに
なってしまう。二つのディスク装置に対して書き込むこ
とにより、このようなデータの不整合を防ぐことができ
る。
【0111】続いてジョブは、読み込み要求や書き込み
要求を処理した後の実行結果を、ディスク装置から受信
し、成功したかエラーが発生したかを確認する(ステッ
プ13−9)。エラーがなかった場合は、そのまま次の
要求を受けるためにステップ13−1から処理を繰り返
す。エラーがあった場合には、表1で例示したディスク
装置管理テーブルの当該のディスク識別子を持つエント
リ中のエラーカウントの値をインクリメントする(ステ
ップ13−10)。そして次にインクリメントした結果
が、決められているしきい値を超えているか否を確認す
る(ステップ13−11)。しきい値を超えていない場
合は、次の要求を受けるためにステップ13−1から処
理を繰り返す。しきい値を超えている場合は、そのディ
スク装置20の識別子を持つディスク装置管理テーブル
中のエントリのステータスを示す項目にスペアディスク
へのデータの複写を指示するフラグを立てる(ステップ
13−12)。
【0112】またスイッチ61によって複数のループが
相互に接続されることによって、異なるループに接続さ
れるディスク装置20間での通信が可能になる。その実
施例を図15及び図16に示すフローチャートを用いて
説明する。
【0113】
【表3】
【0114】制御装置23は、表3に示す状態管理テー
ブルを用い、制御装置23の中にある各ループ制御部2
4の状態を管理している。ループ(2)は正常に動作で
きるが、ループ制御部(2)が障害を起こしてこれに接
続されるループに対してアクセスできなくなった場合、
表3に示すテーブルの各フィールドの値により、対応す
る各ループ制御部が正常か或いは障害を起こしているか
が分かる。この表3のテーブルを参照して、制御装置2
3は、読み出し或いは書き込みの要求を受ける(ステッ
プ16−1)。
【0115】次に制御装置23は、表3のテーブルを参
照する(ステップ16−2)。そして読み出し或いは書
き込みを行うディスク装置20が接続されているループ
22がつながっているループ制御部24が正常に動作し
ているかを調べる(ステップ16−3)。当該ループ制
御部24が正常に動作していれば、制御装置23はその
正常に動いているループ制御部24に対して読み出し或
いは書き込みの要求を出す(ステップ16−4)。当該
ループ制御部24が障害を起こしていれば(ループ制御
部(2))、制御装置23は表4に示す処理待ち要求数
を表すテーブルを参照する(ステップ16−5)。
【0116】
【表4】
【0117】このテーブルの各フィールドには、各ルー
プ制御部24が実行待ちとして保持している読み出しと
書き込み要求の数が保持される。そして最も空いていて
正常に動作中のループ制御部(1)に対して、障害を起
こしているループ制御部(2)で処理されるはずだった
読み出し或いは書き込み要求を処理させる(ステップ1
6−6)。
【0118】図15ではループ(1)のループ制御部
(1)に対する読み出し或いは書き込み要求が少なかっ
たとする。このため、制御装置23は、障害を起こして
いるループ制御部(2)で処理される読み出し或いは書
き込み要求を、ループ制御部(1)に送る。そしてこの
要求は、ループ(1)、スイッチ61、ループ(2)を
経由して、読み出し或いは書き込み要求の対象となるデ
ィスク(22)に送られる(○付きの13で示す)。
【0119】この際、要求を送りたいディスク(22)
は、図7に示したループ22に割り当てられているルー
プ識別子74とディスク装置20に割り当てられている
ディスク装置識別子75により識別される。このように
して、あるループ制御部24が障害を起こしても、他の
ループ制御部24とスイッチ61を介することにより、
障害を起こしているループ制御部24に接続されるルー
プ22につながるディスク装置20にアクセスできる
【0120】
【発明の効果】規定のしきい値を超える回数のエラーが
検出がされたディスク装置、或いは閉塞してしまったデ
ィスク装置からスペアディスクにデータを複写する際
に、制御装置上にあるマイクロプロセッサやメモリ等の
資源をこの処理のために割当ことを最低限に留めて、こ
の複写処理中のディスクアレイ装置の性能低下を防ぐこ
とが出来る。
【図面の簡単な説明】
【図1】ディスクアレイ装置の構成を示す図である。
【図2】ディスク装置の接続構成を示す図である。
【図3】スペアディスクに対するデータの書き込みを示
すフローチャートである。
【図4】ディスク装置に対するデータの読み込み/書き
込みを示すフローチャートである。
【図5】ループ制御部上のジョブによるデータ転送開始
論理を示すフローチャートである。
【図6】ディスク装置の接続構成を示す図である。
【図7】フレームの構成を示す図である。
【図8】スイッチの構成を示す図である。
【図9】ループ接続部のブロック図である。
【図10】複写開始指示を表すフローチャートである。
【図11】ECCグループからデータ再生時のスペアデ
ィスク処理を示すフローチャートである。
【図12】ディスク装置からのコピー処理を示すフロー
チャートである。
【図13】ディスク装置に対するデータの読み込み/書
き込みを示すフローチャートである。
【図14】エラー検出時の書き込みを示す図である。
【図15】交代ループによるアクセスを示す図である。
【図16】交代ループによるアクセスを示すフローチャ
ートである。
【符号の説明】
11…ディスクアレイ装置、12…ホストコンピュー
タ、13,16…制御装置、14…キャッシュメモリ、
15…ディスク装置、20…ディスク装置、21…スペ
アディスク装置、22…ループ、23…制御装置、24
…ループ制御部、25…ECCグループ、26…バッフ
ァ、27…データ再生回路、61…スイッチ、71…ヘ
ッダ部、72…データ部、73…フッタ部、74…ルー
プ識別子、75…ディスク装置識別子、81…ループ接
続部、91…フレーム解析部、92…出力先指示、93
…スイッチ。
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G11B 20/10 G11B 20/10 D (72)発明者 佐藤 孝夫 神奈川県小田原市国府津2880番地 株式会 社日立製作所ストレージシステム事業部内 Fターム(参考) 5B018 GA06 HA03 HA04 HA14 HA31 JA26 KA01 KA03 KA14 KA22 MA14 QA16 5B065 BA01 CA30 EA12 EA33 EK05 5D044 BC01 BC04 CC04 CC09 GK19 HL02 HL06

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】複数のディスク装置と、これらディスク装
    置を制御し上位装置と接続する制御装置とを備えたディ
    スクアレイ装置において、 前記ディスク装置のスペアであるスペアディスクと、前
    記ディスク装置と前記スペアディスクと前記制御装置と
    を接続する多重通信路とを備えたディスクアレイ装置。
  2. 【請求項2】複数のディスク装置と、これらディスク装
    置を制御し上位装置と接続する制御装置とを備えたディ
    スクアレイ装置において、 前記ディスク装置と前記制御装置とを多重通信路で接続
    し、第一のディスク装置が前記通信路経由で第二のディ
    スク装置にデータを転送中に、第三のディスク装置が前
    記通信路及び前記制御装置を経由して前記上位装置とデ
    ータを送受信するディスクアレイ装置。
  3. 【請求項3】前記制御装置は、前記ディスク装置と前記
    スペアディスクとの間でコマンドを送受して前記ディス
    ク装置のデータを前記スペアディスクに書き込む請求項
    1または2に記載のディスクアレイ装置。
  4. 【請求項4】前記通信路を複数備え、この複数の通信路
    を相互に接続して各通信路に接続されたディスク装置間
    での通信を行うスイッチを設け、このスイッチを介して
    前記ディスク装置と他の通信路下にある前記スペアディ
    スクとの間で処理を行う請求項1乃至3の何れか1項に
    記載のディスクアレイ装置。
  5. 【請求項5】第一の通信路の第一の制御部が使用出来な
    くなったとき、第二の制御部から前記スイッチを介して
    前記第一のディスク装置にアクセスする請求項4記載の
    ディスクアレイ装置。
  6. 【請求項6】前記通信路を複数備え、他の通信路に接続
    されたディスク装置とパリティグループを作成する請求
    項1乃至5の何れか1項に記載のディスクアレイ装置。
  7. 【請求項7】前記通信路は、時分割多重通信可能なファ
    イバチャネルを用いたループである請求項1乃至6の何
    れか1項に記載のディスクアレイ装置。
  8. 【請求項8】複数のディスク装置と、これらディスク装
    置を制御し上位装置と接続する制御装置と、この制御装
    置と前記複数のディスク装置と接続したディスクアレイ
    装置のデータ読み出し/書き込み方法において、前記制
    御装置は、規定のしきい値を超える回数のエラーが前記
    ディスク装置から発生したか否かを検出し、検出した場
    合はスペアディスクに対し前記ディスク装置のデータを
    書き込むように命令を出し、前記ディスク装置の識別子
    を前記スペアディスクに割当て、それ以降は前記スペア
    ディスクを前記ディスクとして扱うディスクアレイ装置
    のデータ読み出し/書き込み方法。
  9. 【請求項9】前記スペアディスクとの間でコマンドを送
    受することで前記制御装置を経由せずに前記ディスク装
    置のデータを前記スペアディスクに書き込む請求項8記
    載のディスクアレイ装置のデータ読み出し/書き込み方
    法。
  10. 【請求項10】前記制御装置は、請求項8記載のデータ
    読み出し/書き込み処理に並行して他のディスクに対し
    上位からの読み出し/書き込み処理を行うディスクアレ
    イ装置のデータ読み出し/書き込み方法。
JP16204299A 1999-06-09 1999-06-09 ディスクアレイ装置及びディスク装置へのデータ読み出し/書き込み方式 Expired - Fee Related JP4461511B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP16204299A JP4461511B2 (ja) 1999-06-09 1999-06-09 ディスクアレイ装置及びディスク装置へのデータ読み出し/書き込み方式
US09/382,774 US6615314B1 (en) 1999-06-09 1999-08-25 Disk array and method for reading/writing data from/into disk unit
US10/457,387 US6757782B2 (en) 1999-06-09 2003-06-10 Disk array and method for reading/writing data from/into disk unit
US10/757,936 US7035975B2 (en) 1999-06-09 2004-01-16 Disk array and method for reading/writing data from/into disk unit
US10/759,248 US7120741B2 (en) 1999-06-09 2004-01-20 Disk array and method for reading/writing data from/into disk unit
US10/768,693 US7206900B2 (en) 1999-06-09 2004-02-02 Disk array and method for reading/writing data from/into disk unit
US11/715,903 US7447840B2 (en) 1999-06-09 2007-03-09 Disk array and method for reading/writing data from/into disk unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16204299A JP4461511B2 (ja) 1999-06-09 1999-06-09 ディスクアレイ装置及びディスク装置へのデータ読み出し/書き込み方式

Publications (2)

Publication Number Publication Date
JP2000347816A true JP2000347816A (ja) 2000-12-15
JP4461511B2 JP4461511B2 (ja) 2010-05-12

Family

ID=15746992

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16204299A Expired - Fee Related JP4461511B2 (ja) 1999-06-09 1999-06-09 ディスクアレイ装置及びディスク装置へのデータ読み出し/書き込み方式

Country Status (2)

Country Link
US (6) US6615314B1 (ja)
JP (1) JP4461511B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7353435B2 (en) 2004-07-29 2008-04-01 Hitachi, Ltd. Storage device system and signal transmission method for storage device system
JP2008310489A (ja) * 2007-06-13 2008-12-25 Hitachi Ltd I/oデバイス切り替え方法
US7620740B2 (en) 2004-03-18 2009-11-17 Hitachi Global Storage Technologies Netherlands B.V. Storage devices and method of transferring file between the devices

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4461511B2 (ja) * 1999-06-09 2010-05-12 株式会社日立製作所 ディスクアレイ装置及びディスク装置へのデータ読み出し/書き込み方式
JP2001167040A (ja) 1999-12-14 2001-06-22 Hitachi Ltd 記憶サブシステム及び記憶制御装置
US6732201B2 (en) * 2001-12-17 2004-05-04 Lsi Logic Corporation Hardware speed selection behind a disk array controller
JP4439798B2 (ja) * 2002-10-17 2010-03-24 株式会社日立製作所 ディスクアレイ装置の制御方法、及びディスクアレイ装置
JP2005100259A (ja) * 2003-09-26 2005-04-14 Hitachi Ltd ドライブの2重障害を防止するアレイ型ディスク装置、プログラム、及び方法
JP4426262B2 (ja) * 2003-11-26 2010-03-03 株式会社日立製作所 ディスクアレイ装置及びディスクアレイ装置の障害回避方法
JP2005293363A (ja) * 2004-04-01 2005-10-20 Toshiba Corp ディスクアレイコントローラおよび情報処理装置
US7502954B1 (en) * 2004-05-26 2009-03-10 Emc Corporation High availability data storage system
US20060253729A1 (en) * 2005-05-03 2006-11-09 International Business Machines Corporation Outboard swap of defective device in a storage subsystem
KR100723681B1 (ko) * 2005-08-03 2007-05-30 (주)케이디티 실리콘을 이용한 확산시트 및 그의 제조방법
JP4788528B2 (ja) * 2005-09-22 2011-10-05 富士通株式会社 ディスク制御装置、ディスク制御方法、ディスク制御プログラム
US20070113006A1 (en) * 2005-11-16 2007-05-17 Elliott John C Apparatus and method to configure one or more storage arrays
US20070282967A1 (en) * 2006-06-05 2007-12-06 Fineberg Samuel A Method and system of a persistent memory
JP5014821B2 (ja) * 2007-02-06 2012-08-29 株式会社日立製作所 ストレージシステム及びその制御方法
JP2009211140A (ja) * 2008-02-29 2009-09-17 Hitachi Ltd ストレージシステム及びその記憶媒体管理方法
US8287772B2 (en) * 2009-05-14 2012-10-16 3M Innovative Properties Company Low energy milling method, low crystallinity alloy, and negative electrode composition
US20130159593A1 (en) * 2011-12-20 2013-06-20 Acer Incorporated Apparatus, system, and method for analyzing and managing data flow of interface apapratuses
US9075773B1 (en) 2014-05-07 2015-07-07 Igneous Systems, Inc. Prioritized repair of data storage failures
US9201735B1 (en) 2014-06-25 2015-12-01 Igneous Systems, Inc. Distributed storage data repair air via partial data rebuild within an execution path
US9684367B2 (en) 2014-06-26 2017-06-20 Atmel Corporation Power trace port for tracing states of power domains
US9053114B1 (en) 2014-08-07 2015-06-09 Igneous Systems, Inc. Extensible data path
US9990305B2 (en) * 2014-09-19 2018-06-05 Nxp Usa, Inc. Memory management component having multiple memory management modules and method therefor
US9098451B1 (en) * 2014-11-21 2015-08-04 Igneous Systems, Inc. Shingled repair set for writing data
US9276900B1 (en) 2015-03-19 2016-03-01 Igneous Systems, Inc. Network bootstrapping for a distributed storage system
US10044556B2 (en) * 2015-06-23 2018-08-07 International Business Machines Corporation Identifying performance-degrading hardware components in computer storage systems
US10303637B2 (en) * 2015-08-20 2019-05-28 Toshiba Memory Corporation Storage system including a plurality of storage devices arranged in a holder

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3058743B2 (ja) * 1992-01-21 2000-07-04 株式会社日立製作所 ディスクアレイ制御装置
JP3183719B2 (ja) * 1992-08-26 2001-07-09 三菱電機株式会社 アレイ型記録装置
US5617425A (en) * 1993-05-26 1997-04-01 Seagate Technology, Inc. Disc array having array supporting controllers and interface
JP3078972B2 (ja) * 1993-11-05 2000-08-21 富士通株式会社 ディスクアレイ装置
JPH07210333A (ja) 1994-01-13 1995-08-11 Hitachi Ltd アレイ型ディスクシステムの制御方式
US5566316A (en) * 1994-02-10 1996-10-15 Storage Technology Corporation Method and apparatus for hierarchical management of data storage elements in an array storage device
US5826046A (en) * 1994-12-30 1998-10-20 International Business Machines Corporation Method and apparatus for polling and selecting any paired device in any drawer
US5566216A (en) * 1995-09-22 1996-10-15 General Electric Company Tool for remotely measuring width of downcomer annulus in boiling water reactor
US5898828A (en) * 1995-12-29 1999-04-27 Emc Corporation Reduction of power used by transceivers in a data transmission loop
JP2787911B2 (ja) * 1996-03-29 1998-08-20 三菱電機株式会社 データストレージ管理方式及びデータストレージ管理方法
US5862313A (en) * 1996-05-20 1999-01-19 Cray Research, Inc. Raid system using I/O buffer segment to temporary store striped and parity data and connecting all disk drives via a single time multiplexed network
JP3228182B2 (ja) * 1997-05-29 2001-11-12 株式会社日立製作所 記憶システム及び記憶システムへのアクセス方法
US6442179B2 (en) * 1997-08-15 2002-08-27 Seagate Technology Llc Data storage communication channel and method of transmitting data
US6148414A (en) * 1998-09-24 2000-11-14 Seek Systems, Inc. Methods and systems for implementing shared disk array management functions
US6219753B1 (en) * 1999-06-04 2001-04-17 International Business Machines Corporation Fiber channel topological structure and method including structure and method for raid devices and controllers
JP4461511B2 (ja) * 1999-06-09 2010-05-12 株式会社日立製作所 ディスクアレイ装置及びディスク装置へのデータ読み出し/書き込み方式

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7620740B2 (en) 2004-03-18 2009-11-17 Hitachi Global Storage Technologies Netherlands B.V. Storage devices and method of transferring file between the devices
US7353435B2 (en) 2004-07-29 2008-04-01 Hitachi, Ltd. Storage device system and signal transmission method for storage device system
US7644199B2 (en) 2004-07-29 2010-01-05 Hitachi, Ltd. Storage device system and signal transmission method for storage device system
JP2008310489A (ja) * 2007-06-13 2008-12-25 Hitachi Ltd I/oデバイス切り替え方法

Also Published As

Publication number Publication date
US7206900B2 (en) 2007-04-17
US7120741B2 (en) 2006-10-10
US7035975B2 (en) 2006-04-25
JP4461511B2 (ja) 2010-05-12
US7447840B2 (en) 2008-11-04
US20070162696A1 (en) 2007-07-12
US20030212861A1 (en) 2003-11-13
US20040148545A1 (en) 2004-07-29
US6757782B2 (en) 2004-06-29
US20040148544A1 (en) 2004-07-29
US6615314B1 (en) 2003-09-02
US20040158672A1 (en) 2004-08-12

Similar Documents

Publication Publication Date Title
JP2000347816A (ja) ディスクアレイ装置及びディスク装置へのデータ読み出し/書き込み方式
JP4294142B2 (ja) ディスクサブシステム
JP4041656B2 (ja) ストレージシステム及びストレージシステムにおけるデータ送受信方法
KR100221384B1 (ko) 직접 액세스 저장장치, 머신 판독가능한 데이타 저장시스템,데이타 저장시스템 및 데이타 저장 시스템 동작 방법
JP4818395B2 (ja) ストレージ装置及びデータコピー方法
JP2002334049A (ja) 記憶サブシステムおよび記憶サブシステムの制御方法
JPH09128305A (ja) 外部記憶装置
JPH07248988A (ja) 記憶制御装置及び関連する方法
CN101149667A (zh) 磁盘阵列系统、存储系统及存储系统迁移方法
JP2000099272A (ja) 記憶制御装置及びこれを用いたデータ格納システムの取り扱い方法
JP4783076B2 (ja) ディスクアレイ装置及びその制御方法
JP2010537267A (ja) ストレージ・コントローラと複製エンジンとの間で書き込みを分割する方法、システムおよびプログラム
JP4491330B2 (ja) ディスクアレイ装置とそのデータのリカバリ方法およびデータリカバリプログラム
WO2001082050A1 (fr) Unite de disque magnetique, procedes d'enregistrement et de reproduction de donnees
JPH07281840A (ja) 2重化ディスク記録装置
JP2000187608A (ja) 記憶装置サブシステム
JP2834399B2 (ja) 二重化ディスク装置
JP4433372B2 (ja) データアクセスシステム及び方法
US6925530B2 (en) Initialization of a storage system
JP2003131818A (ja) クラスタ構成ストレージにおけるクラスタ間raid構成
JP4398596B2 (ja) ディスクアレイ装置
JP3614328B2 (ja) ミラーディスク制御装置
JPH1074129A (ja) ディスクアレイ装置
US6249842B1 (en) Apparatus and method for processing data in a RAID system
JP2007193839A (ja) ストレージシステム、ストレージシステムにおけるデータ送受信方法及びシステム

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060417

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060606

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090616

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090812

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: 20100126

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100208

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

Free format text: PAYMENT UNTIL: 20130226

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130226

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140226

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees