JPH11143649A - ディスクアレイ装置 - Google Patents

ディスクアレイ装置

Info

Publication number
JPH11143649A
JPH11143649A JP9302231A JP30223197A JPH11143649A JP H11143649 A JPH11143649 A JP H11143649A JP 9302231 A JP9302231 A JP 9302231A JP 30223197 A JP30223197 A JP 30223197A JP H11143649 A JPH11143649 A JP H11143649A
Authority
JP
Japan
Prior art keywords
data
disk
parity
old
new
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
JP9302231A
Other languages
English (en)
Other versions
JP3618529B2 (ja
Inventor
Sotsuhito Takeda
帥仁 武田
Yuuichi Tarouda
裕一 太郎田
Tatsuhiko Machida
達彦 町田
Sawao Iwatani
沢男 岩谷
Keiichi Yorimitsu
圭一 依光
Sanae Kamakura
早苗 鎌倉
Satoshi Yazawa
悟史 矢澤
Takuya Kurihara
拓弥 栗原
Yasuyoshi Sugasawa
康良 菅沢
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP30223197A priority Critical patent/JP3618529B2/ja
Priority to US09/064,780 priority patent/US6408400B2/en
Priority to EP98303316A priority patent/EP0915420A3/en
Publication of JPH11143649A publication Critical patent/JPH11143649A/ja
Application granted granted Critical
Publication of JP3618529B2 publication Critical patent/JP3618529B2/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

Landscapes

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

Abstract

(57)【要約】 【課題】 複数のディスク装置のうちの1つが故障して
いる場合でも、中断したデータ書込処理を途中から再開
して復旧することができるようにしたディスクアレイ装
置を提供する。 【解決手段】 中断された書込処理が再開された時に、
不揮発性メモリ34に新データが格納されており、かつ
新データの書込み対象ディスク装置(例えば32−1)
およびパリティ用ディスク装置(例えば32−5)以外
の第3のディスク装置(例えば32−2)からデータを
正常に読み出すことができないためにパリティの再生が
不可能である場合、特別書込実行手段110のデータ書
込手段113は、不揮発性メモリ34に格納されている
新データを該当するディスク装置(例えば32−1)の
指定された書込位置に上書きするようになっている。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のディスク装
置を並列的にアクセスしてデータ入出力処理を行うよう
にしたディスクアレイ装置に関し、特に書込み途中の電
源ダウンなどにより書込処理が中断された時に保持した
データからデータ書込みの復旧処理を行うことによって
データの整合性を保持するようにされたディスクアレイ
装置に関する。
【0002】計算機システムの外部記憶装置として、記
録の不揮発性、大容量性、データ転送の高速性等の特長
を持つ磁気ディスク装置、光ディスク装置等のディスク
装置が広く用いられている。ディスク装置に対する要求
は、高速データ転送、高信頼性、大容量性、低価格であ
る。これらの要求を満たすものとして、ディスクアレイ
装置が注目されてきている。ディスクアレイ装置とは、
小型ディスク装置を複数台並べ、これらに分散してデー
タを記録して、並列的にアクセスする装置である。
【0003】ディスクアレイ装置で並列的に複数のディ
スク装置にデータ転送を行えば、一台のディスク装置の
場合と比べて、ディスクの台数倍の高速データ転送が可
能になる。また、データに加えて、パリティデータなど
の冗長な情報を付け加えて記録しておくことで、ディス
ク装置の故障等を原因とするデータエラーの検出と訂正
が可能となり、ディスク装置の内容を二重化して記録す
る方法と同程度の高信頼性を、二重化より低価格で実現
することができる。
【0004】ディスクアレイ装置は、安価・高速・高信
頼性の三つを同時に満たす新たな記憶媒体として社会に
認識されている。それが故に、この三つの機能の内、ど
れ一つをも欠くことが許されない。そして、この三つの
機能の内、最も重要でかつ最も維持が困難なものが高信
頼性である。なぜならば、ディスクアレイを構成する単
体ディスク自体には安価なものが使用されており、単体
での信頼性は元来それほど要求されていないものだから
である。従って、ディスクアレイ装置を実現するにあた
っては、その高信頼性の維持にこそ最も注力する必要が
有り、本発明はディスクアレイ装置に関するものである
からこそ、特に重要となるものである。
【0005】
【従来の技術】従来、カルフォルニア大学バークレイ校
のデビット・A・パターソン(David A. Pa
tterson)らは、高速に大量のデータを多くのデ
ィスクにアクセスし、ディスク故障時におけるデータの
冗長性を実現するディスクアレイ装置について、レベル
1からレベル5までに分類付けを行って評価した論文を
発表している(ACM SIGMOD Conferance, Chicago, Illi
nois, June 1-3, 1988 P109-P116)。
【0006】このデビット・A・パターソンらが提案し
たディスクアレイ装置を分類するレベル1〜5は、RA
ID(Redundant Arrays of In
expensive Disks)1〜5と略称され
る。RAID1〜5を簡単に説明するとつぎのようにな
る。
【0007】[RAID0]図32はデータの冗長性を
もたないディスクアレイ装置を示したもので、デビット
・A・パターソンらの分類には含まれていないが、これ
を仮にRAID0と呼ぶ。RAID0のディスクアレイ
装置では、データA〜Iに示すように、ディスクアレイ
制御装置10はホストコンピュータ18からの入出力要
求に基づきデータをディスク装置32−1〜32−3の
それぞれに分散させているだけであり、ディスク故障時
におけるデータの冗長性はない。
【0008】[RAID1]RAID1のディスクアレ
イ装置は、図33に示すように、ディスク装置32−1
に格納したデータA〜CのコピーA´〜C´を格納した
ミラーディスク装置32−2を備える。RAID1はデ
ィスク装置の利用効率が低いが冗長性をもっており、簡
単な制御で実現できるため、広く普及している。
【0009】[RAID2]RAID2のディスクアレ
イ装置はデータをビットやバイト単位でストライピング
(分割)し、それぞれのディスク装置に並列に読み書き
を行う。ストライピングしたデータは全てのディスク装
置で物理的に同じセクタに記録する。エラー訂正コード
としてはデータから生成したハミングコードを使用す
る。データ用ディスク装置の他にハミングコー01を記録
するためのディスク装置を持ち、ハミングコー01から故
障したディスク装置を特定して、データを復元する。こ
のようにハミングコードによる冗長性を備えることでデ
ィスク装置が故障しても正しいデータを確保できるが、
ディスク装置の利用効率が悪いために実用化されていな
い。
【0010】[RAID3]RAID3のディスクアレ
イ装置は、図34に示す構成をもつ。即ち、図35に示
すように例えばデータa,b,cをビットまたはセクタ
単位にデータa1〜a3,b1〜b3,c1〜c3に分
割し、さらにデータa1〜a3からパリティP1を計算
し、データb1〜b3からパリティP2を計算し、デー
タc1〜c3からパリティP3を計算し、図34のディ
スク装置32−1〜32−4を同時並列的にアクセスし
て書き込む。
【0011】RAID3では、データの冗長性はパリテ
ィにより保持される。また分割したデータの並列処理に
よりデータの書込み時間は短縮できる。しかし、1回の
書込みまたは読出しのアクセスで、全てのディスク装置
32−1〜32−4の並列的なシーク動作を必要とす
る。このため大量のデータを連続して扱う場合には有効
であるが、少量のデータをランダムにアクセスするトラ
ンザクション処理のような場合には、データ転送の高速
性が生かせず、効率が低下する。
【0012】[RAID4]RAID4のディスクアレ
イ装置は、図35に示すように、1つのデータをセクタ
単位に分割して同じディスク装置に書き込む。例えばデ
ィスク装置32−1をみると、データaをセクタデータ
a1〜a4に分割して書き込んでいる。パリティは固定
的に決めたディスク装置32−4に格納している。ここ
でデータa1,b1,c1からパリティP1が計算さ
れ、データa2,b2,c2からパリティP2が計算さ
れ、データa3,b3,c3からパリティP3が計算さ
れ、データa4,b4,c4からパリティP4が計算さ
れている。
【0013】データ読出しは、ディスク装置32−1〜
32−3に対して並列して読み出しできる。データa〜
bの読出しは、データaを例にとると、ディスク装置3
2−1のセクタ0〜3をアクセスしてセクタデー夕a1
〜a4を順次読み出して合成する。データ書込みは、書
き込み前のデータとパリティを読み出してから新パリテ
ィを計算して書き込むため、1度の書き込みについて、
合計4回のアクセスが必要になる。
【0014】例えば、ディスク装置32−1のセクタデ
ータa1を更新(書替え)する場合には、更新場所の旧
データ(a1)old および対応するディスク装置32−
4の旧パリテイ(P1)old を読出し、新データ(a
1)new と整合性のとれた新パリティ(P1)new を求
めて書き込む動作を、更新のためのデータ書込み以外に
も必要とする。
【0015】また書込みの際に必ずパリティ用のディス
ク装置32−4へのアクセスが起きるため、複数のディ
スク装置の書込みを同時に実行できない。例えばディス
ク装置32−1のデータa1の書込みとディスク装置3
2−2のデータb2の同時書込みを行なおうとしても、
同じディスク装置32−4からパリティP1,P2を読
み出して計算後に書き込む必要があるため、同時に書込
みはできない。
【0016】このようにRAID4の定義は行われてい
るが、メリットが少ないため現在のところ実用化の動き
は少ない。
【0017】[RAID5]RAID5のディスクアレ
イ装置は、パリティ用のディスク装置を固定しないこと
で、並列の読書きを可能にしている。即ち、図37に示
すように、セクタごとにパリティの置かれるディスク装
置が異なっている。ここでデータa1,b1,c1から
パリティP1が計算され、データa2,b2,d2から
パリティP2が計算され、データa3,c3,d3から
パリティP3が計算され、データb4,c4,d4から
パリティP4が計算されている。
【0018】並列の読み書きについては、例えばディス
ク装置32−1のセクタ0のデータa1とディスク装置
32−2のセクタ1のデータb2が、パリティP1,P
2が異なるディスク装置32−4,32−3に置かれて
いるため重複せず、同時に読み書きができる。尚、書込
み時に合計4回のアクセスを必要とするオーバーヘッド
はRAID4と同じである。
【0019】このようにRAID5は、非同期に複数の
ディスク装置にアクセスして、リード/ライトを実行で
きるため、少量データをランダムにアクセスするトラン
ザクション処理に向いている。
【0020】しかしながら、上述した従来のディスクア
レイ装置にあっては、ディスク装置に対するデータ書込
みの途中で何らかの原因によって電源の供給が途絶えた
場合、RAID1〜RAID3迄のディスクアレイ装置
では、電源復旧後に再び同じ書込作業を始めから行うこ
とができたのに対し、RAID4およびRAID5のデ
ィスクアレイ装置では、つぎの理由により電源復旧後に
再び同じ書込作業を始めから行うことが許されない。
【0021】RAID4およびRAID5のデータ書込
み時には、つぎの(1)式により複数のディスク装置内
のデータの排他的論理和(排他的論理和記号を(+)で
表す)を取ってパリティとし、パリティ用のディスク装
置に保持する。 データa(+)データb(+)・・・=パリティP (1)
【0022】データとパリティの格納場所は、RAID
4では図36のように特定のディスク装置32−1〜3
2−4に固定している。これに対しRAID5では、図
37のようにパリティをディスク装置32−1〜32−
4に分散させて、パリティ読み書き動作による特定のデ
ィスク装置へのアクセスの集中を解消している。
【0023】これらのRAID4およびRAID5のデ
ータ読出し時は、ディスク装置32−1〜32−4内の
データが書き換えられないので、パリティの整合性は保
持されるが、書込み時にはパリティもデータに合わせて
変更する必要がある。
【0024】例えばディスク装置32−1内の1つの旧
データ(a1)old を新データ(a1)new に書き換え
たとき、パリティP1の整合性を取るにはつぎの(2)
式のような計算を行い、パリティを更新することでディ
スク装置のデータ全体のパリティの整合性を保つことが
できる。 旧データ(+)旧パリティ(+)新データ=新パリティ (2)
【0025】この(2)式から分かるように、データ書
込処理では、ディスク装置内の旧データおよび旧パリテ
ィを先ず読み出す必要があり、この後に新データの書込
みと、新パリティの生成および書込みを行う。
【0026】ここで、RAID5でのデータ書換方法に
ついて、図38を参照しながら詳細に説明する。図38
は、データ書換手順を説明するための模式図であり、同
図では、5つのディスク装置(デバイス0,1,2,
3,4)32−1,32−2,32−3,32−4,3
2−5に、それらディスク装置32−1〜32−5を制
御するアレイコントローラ50が接続されており、その
アレイコントローラ50に、アレイコントローラ50を
制御する制御装置10を介してホストコンピュータ18
が接続された構成となっている。
【0027】例えば、ディスク装置32−1のデータ
(D0)を書き替える際には、まず、制御装置10は、
ライトコマンドをアレイコントローラ50に発行し、書
込みデータ(D0new )40をアレイコントローラ50
に転送する。アレイコントローラ50は制御装置10か
らライトコマンドを受け取り、ディスク装置32−1か
ら旧データ(D0old )40−1を読み出す。また、ア
レイコントローラ50は、ディスク装置32−5から旧
パリティ(Dpold )48を読み出す。
【0028】その後、アレイコントローラ50は、ディ
スク装置32−1に新データ(D0new )40を書き込
む。ついで、アレイコントローラ50は、論路回路12
により旧パリティ(Dpold )48と旧データ(D0ol
d )40−1と新データ(D0new )40の排他的論理
和(EOR)演算を行って新パリティ(Dpnew )48
−1を生成し、それをディスク装置32−5に書き込
む。そして、アレイコントローラ50は、書込みが正常
に終了したことを制御装置10に通知し、制御装置10
がこれを確認してデータの更新が終了する。
【0029】RAID4およびRAID5のデータ書込
みの際に、新データあるいは新パリティの書き込み中に
電源が切断されると、実際どこまでデータが正常に書か
れているかが認識できなくなり、パリティの整合性が失
われる。この状態で、電源復旧時に再び同じデータ書込
処理を行うと、パリティの整合性の取れていないディス
ク装置から旧データ、旧パリティを読み込むので、整合
性の取れていない新パリティを生成して書込作業を終了
してしまうという問題があった。
【0030】そこで、本発明者らは、RAID4および
RAID5のディスクアレイ装置において、新データあ
るいは新パリティの書き込み中に電源が切断されても、
電源復旧後に中断したデータ書込処理を途中から再開し
て完了できるようにしたディスクアレイ装置について先
に提案した(特開平6−119126号公報)。この先
願発明に係るディスクアレイ装置を図39に示す。
【0031】このディスクアレイ装置は、電源ダウンに
備え、不揮発性メモリ34に、書込手段60およびパリ
ティ更新手段70の処理段階を示す処理段階データ38
および上位装置18から転送された新データ40を少な
くとも格納しておき、電源投入時に、復旧手段80が、
不揮発性メモリ34の処理段階データ38を参照して書
込処理が中断されていた場合には、不揮発性メモリ34
に保持されている新データ40を用いて復旧処理を行う
ようにしたものである。
【0032】
【発明が解決しようとする課題】しかしながら、その後
の我々の研究により、上記特開平6−119126号の
発明においては、複数のディスク装置のうちの1つが故
障状態にある場合には、復旧処理を行うことができない
という問題点のあることが明らかとなった。すなわち、
図38に示す構成において、例えばディスク装置32−
2が故障している場合に、新データ(D0new )または
新パリティ(Dpnew )の書込み中に電源が遮断されて
書込みが中断されると、ディスク装置32−1のデータ
(D0)とディスク装置32−5のパリティ(Dp)が
破壊されるだけでなく、故障したディスク装置32−2
の、同一パリティグループを構成するデータストライプ
中のデータ(D1)を再構築することができず、データ
の喪失となってしまう。
【0033】また、複数のアレイコントローラを有する
RAID5のディスクアレイ装置に対して、上記特開平
6−119126号の発明を適用することが考えられ
る。すなわち、複数のアレイコントローラを有するディ
スクアレイ装置に不揮発性メモリを設け、その不揮発性
メモリに新データおよび処理段階データを記憶させてお
き、電源断等によりデータの書込処理が正常に終了しな
かった場合に、それらのデータを用いて復旧処理を行
う。
【0034】しかし、独立した電源で駆動される複数の
アレイコントローラの立ち上がりには、時間的なずれが
生じる。そのため、複数のアレイコントローラのデータ
書込処理が正常に終了しなかった後に電源が投入された
際に、あるアレイコントローラによりデータ修復に続い
てデータ更新がなされたパリティグループのデータに対
して、別のアレイコントローラが不揮発性メモリに格納
されていたデータで復旧処理を行ってしまい、最新のデ
ータが消失するという不都合が生じる。
【0035】本発明は、上記問題点を解決するためにな
されたもので、データ書込みの処理中に電源ダウンが起
きても、電源復旧後に中断したデータ書込処理を途中か
ら再開して完了できるようにしたディスクアレイ装置、
特に複数のディスク装置のうちの1つが故障した状態で
あっても、データの復旧を行うことができるディスクア
レイ装置、またはデータ復旧が可能な複数のアレイコン
トローラを有するディスクアレイ装置を提供することを
目的とする。
【0036】
【課題を解決するための手段】図1は本発明に係るディ
スクアレイ装置の原理説明図である。同図に示すよう
に、ディスクアレイ装置は、RAID4またはRAID
5に属するもので、制御装置10、アレイコントローラ
50および複数台(図1の例では例えば5台)のディス
ク装置32−1,32−2,32−3,32−4,32
−5を備えている。
【0037】制御装置10には、チャネルインターフェ
ースアダプタ16、不揮発性メモリ34、特別書込実行
手段110およびデータ再現手段120が設けられてい
る。ディスクアレイ装置には、チャネルインターフェー
スアダプタ16を介してホストコンピュータ等の上位装
置18が接続される。不揮発性メモリ34は、上位装置
から転送された新データを格納する。
【0038】特別書込実行手段110は、書込処理が一
旦中断された後に再開された時に、不揮発性メモリ34
に新データが格納されており、かつ新データの書込みを
指定されたディスク装置(例えば32−1)およびパリ
ティ用ディスク装置(例えば32−5)以外の第3のデ
ィスク装置(例えば32−2)からデータを正常に読み
出すことができないためにパリティの再生が不可能であ
る場合に、不揮発性メモリ34に格納されている新デー
タを用いて新パリティを生成することにより復旧処理を
行い、新データ、新パリティおよび他のデータを特別な
書込処理によってディスク装置に書き込むようになって
いる。
【0039】すなわち、特別書込実行手段110はデー
タ書込手段113およびパリティ生成手段116を備え
ており、特別な書込処理の際にデータ書込手段113
は、予め設定されてなる規定値、好ましくは不揮発性メ
モリ34に格納されている新データを該当するディスク
装置(例えば32−1)の指定された書込位置に上書き
するようになっている。
【0040】また、特別な書込処理の際にパリティ生成
手段116は、新データの書込みを指定されたディスク
装置(例えば32−1)およびパリティ用ディスク装置
(例えば32−5)の、新データのディスク書込位置に
対応する位置に格納されたデータおよびパリティと、不
揮発性メモリ34に格納されている新データとを用いて
新パリティを生成し、それをパリティ用ディスク装置
(例えば32−5)に書き込むようになっている。
【0041】データ再現手段120は、復旧処理時に正
常にデータを読み出せない第3のディスク装置(例えば
32−2)がある場合に、特別書込実行手段110に特
別な書込処理モードへの移行を要求する通知を行うよう
になっている。
【0042】アレイコントローラ50には、複数(図1
の例では例えば5個)のデバイスインターフェースアダ
プタ54−1,54−2,54−3,54−4,54−
5が設けられている。各デバイスインターフェースアダ
プタ54−1,54−2,54−3,54−4,54−
5にはデータエラー検出手段154−1,154−2,
154−3,154−4,154−5が設けられてい
る。データエラー検出手段154−1,154−2,1
54−3,154−4,154−5は、それぞれ対応す
るディスク装置32−1,32−2,32−3,32−
4,32−5からデータを読み出す際にエラーが生じた
ことを検出し、データ再現手段120に通知するように
なっている。
【0043】以上のように構成されたディスクアレイ装
置においては、次のようにして復旧処理が行われる。新
データの書込処理が電源断等により中断された後、電源
再投入等により書込処理が再開された時に、まずパリテ
ィ用ディスク装置(例えば32−5)の、新データのデ
ィスク書込位置に対応する位置に格納されたパリティが
読み出される。その際、先の書込処理の中断によりデー
タとパリティの整合がとれていないため、データエラー
検出手段(例えば154−5)によりリードエラーであ
ることが検出される。
【0044】そして、データエラー検出手段(例えば1
54−5)はデータ再現手段120にエラーの発生を通
知する。その通知を受け取るとデータ再現手段120
は、パリティデータを再現するため、リードエラーの発
生したパリティグループに属する、新データの書込対象
ディスク装置(例えば32−1)およびパリティ用ディ
スク装置(例えば32−5)以外の残りのディスク装置
(例えば32−2,32−3,32−4)のデータを読
み込む。
【0045】その際、データエラー検出手段(例えば1
54−2)により第3のディスク装置(例えば32−
2)からのデータ読出しに対してさらにリードエラーが
検出された場合には、そのデータエラー検出手段はデー
タ再現手段120にエラーの発生を通知する。それによ
ってデータ再現手段120は特別書込実行手段110に
特別な書込処理モードへの移行を要求する通知を行う。
【0046】特別書込実行手段110が特別な書込処理
モードへの移行要求通知を受け取ると、データ書込手段
113は、予め設定されてなる規定値、好ましくは不揮
発性メモリ34に格納されている新データを該当するデ
ィスク装置(例えば32−1)の指定された書込位置に
上書きする。
【0047】また、パリティ生成手段116は、新デー
タの書込み対象ディスク装置(例えば32−1)および
パリティ用ディスク装置(例えば32−5)の、指定さ
れた書込位置に対応する位置に格納されたデータおよび
パリティと、不揮発性メモリ34に格納されている新デ
ータとを用いて新パリティを生成し、それをパリティ用
ディスク装置(例えば32−5)に書き込む。そして、
特別な書込処理モードを終了する。
【0048】なお、データ書込手段113が、予め設定
されてなる規定値を該当するディスク装置(例えば32
−1)の指定された書込位置に上書きした場合(例えば
不揮発性メモリ34に新データが格納されていないよう
な場合)には、メモリ内にフラグを立てるなどして規定
値を上書きしたことを記憶しておき、そのデータに対し
てリードの要求があった場合には擬似的にリードエラー
を通知するようにしておく。
【0049】従って、請求項1に係るディスクアレイ装
置は、指定されたディスク装置の書込位置に格納されて
いる旧データを読み出した後に上位装置から転送された
新データを該書込位置に書き込むとともに、パリティ用
ディスク装置の、前記新データのディスク書込位置に対
応する位置に格納された旧パリティ、前記旧データおよ
び前記新データに基づいて生成した新パリティを、前記
旧パリティのディスク格納位置に書き込むことによりデ
ータ更新を行うようにされたディスクアレイ装置におい
て、上位装置から転送された新データを格納する不揮発
性メモリと、書込処理が中断された後、該中断された書
込処理が再開された時に、該不揮発性メモリに前記新デ
ータが格納されており、かつ新データの書込みを指定さ
れた第1のディスク装置およびパリティ用の第2のディ
スク装置の2つのディスク装置を除く第3のディスク装
置から該当するデータを正常に読み出すことができない
ためにパリティの再生が不可能である場合に、前記第1
のディスク装置および前記第2のディスク装置の、前記
新データのディスク書込位置に対応する位置に格納され
たデータおよびパリティと、前記不揮発性メモリに格納
されている新データとを用いて新パリティを生成するこ
とにより復旧処理を行う特別書込実行手段と、を具備す
ることを特徴とする。
【0050】請求項1に係る発明によれば、電源断等に
より中断された書込処理が再開された時に、新データ
(D0new )の書込みを指定されたディスク装置および
パリティ用のディスク装置の、新データ(D0new )の
ディスク書込位置に対応する位置に格納されたデータ
(D0old ,Dpold )と、不揮発性メモリに格納され
ている新データ(D0new )とを用いて新パリティ(D
pnew )を生成することによって、故障しているディス
ク装置がある場合にも復旧処理が行われる。
【0051】請求項2に係るディスクアレイ装置は、請
求項1に記載の発明において、前記不揮発性メモリに
は、さらに前記第1のディスク装置、前記第2のディス
ク装置および前記第3のディスク装置を除く残りの全デ
ィスク装置の、前記新データのディスク書込位置に対応
する位置に格納された前記データと、生成された前記新
パリティとが格納されるようになっており、前記特別書
込実行手段は、前記不揮発性メモリに格納された前記新
データと、前記第1のディスク装置、前記第2のディス
ク装置および前記第3のディスク装置を除く残りの全デ
ィスク装置の該当する前記データと、生成された前記新
パリティとを、対応するディスク装置に同時並列的に書
き込むように構成されていることを特徴とする。
【0052】請求項2に係る発明によれば、中断された
書込処理の再開時に、新データ(D0new )、他のデー
タ(D2,D3)および新パリティ(Dpnew )が対応
するディスク装置に同時並列的に書き込まれることによ
って、故障しているディスク装置がある場合にも復旧処
理が行われる。
【0053】請求項3に係るディスクアレイ装置は、請
求項1または2に記載の発明において、前記不揮発性メ
モリには、上位装置からの書込処理命令を受け取ってか
らディスク装置に対する書込動作が正常に終了するまで
の間、書込処理中を表す書込中フラグおよび書込処理の
進行状況を示す管理情報が格納されることを特徴とす
る。
【0054】請求項3に係る発明によれば、不揮発性メ
モリに、ディスク装置に対する書込動作が正常に終了し
たか否かを識別する書込中フラグおよび書込処理の段階
を示すステータスが格納されるため、書込処理が正常に
終了しなかった後に、再び電源を投入した時に、書込中
フラグを参照することによって正常に書き込まれなかっ
たデータが残っているか否かが一目瞭然となるととも
に、ステータスを参照することによって書込処理が中断
した所から復旧処理を継続して行うことができるので、
復旧処理が迅速に行われる。
【0055】請求項4に係るディスクアレイ装置は、独
立した電源により駆動され、かつ複数台のディスク装置
に対して、データおよびパリティの書込動作並びに読出
動作を実行する複数のアレイコントローラと、該アレイ
コントローラを制御する制御装置を具備し、指定された
ディスク装置の書込位置に格納されている旧データを読
み出した後に上位装置から転送された新データを該書込
位置に書き込むとともに、パリティ用ディスク装置の、
前記新データのディスク書込位置に対応する格納位置か
ら読み出された旧パリティと前記旧データと前記新デー
タに基づいて生成した新パリティを、前記旧パリティの
ディスク格納位置に書き込むことによりデータ更新を行
うようにされたディスクアレイ装置において、前記制御
装置は、上位装置から書込処理を命令された際に、ディ
スク装置に対する書込動作が実行される前に、少なくと
も前記新データと前記旧データと前記旧パリティを格納
する不揮発性メモリと、複数の前記アレイコントローラ
のうち電源供給が停止されたアレイコントローラがある
ことを通知された時に、電源供給が停止されたアレイコ
ントローラにより実行されていた書込処理または該アレ
イコントローラにより実行される予定でありかつ処理が
完了していない書込処理を他のアレイコントローラに割
り当てるためのタスクを生成するタスク生成手段と、該
タスク生成手段により生成されたタスクを格納するタス
ク情報テーブルと、を具備するとともに、複数の前記ア
レイコントローラは、相互に電源供給状態を監視する電
源監視手段と、他のアレイコントローラの電源供給停止
を検出したことを制御装置に通知する電源供給停止通知
手段と、新データの書込みを指定された前記ディスク装
置と前記パリティ用ディスク装置を除く残りの全ディス
ク装置の、前記新データのディスク書込位置に対応する
格納位置から読み出されたデータおよび前記不揮発性メ
モリから転送されてきた新データとに基づいて新パリテ
ィを生成するパリティ生成手段と、を具備することを特
徴とする。
【0056】請求項4に係る発明によれば、上位装置か
ら書込処理を命令された際に、ディスク装置に対する書
込動作が実行される前に、不揮発性メモリに新データ
(D0new )、旧データ(D0old )および旧パリティ
(Dpold )が記憶されるため、一方のアレイコントロ
ーラによる書込処理に異常が生じた場合に、もう一方の
アレイコントローラが異常を生じたアレイコントローラ
に代わって書込処理を継続して行うことができるので、
データの整合性が保たれる。
【0057】請求項5に係るディスクアレイ装置は、請
求項4に記載の発明において、前記不揮発性メモリに
は、書込処理の進行状況を示す管理情報が格納されるよ
うになっており、前記タスク生成手段は前記不揮発性メ
モリに格納された前記管理情報に基づいてタスクを生成
するように構成されていることを特徴とする。
【0058】請求項5に係る発明によれば、不揮発性メ
モリに、書込処理の段階を示すステータスおよびそのス
テータスに示された処理を行ったアレイコントローラの
識別フラグが記憶され、そのステータスに基づいて交代
処理のタスクが生成されるため、中断した所から書込処
理が再開される。
【0059】請求項6に係るディスクアレイ装置は、独
立した電源により駆動され、かつ複数台のディスク装置
に対して、データおよびパリティの書込動作並びに読出
動作を実行する複数のアレイコントローラと、該アレイ
コントローラを制御する制御装置を具備し、指定された
ディスク装置の書込位置に格納されている旧データを読
み出した後に上位装置から転送された新データを該書込
位置に書き込むとともに、パリティ用ディスク装置の、
前記新データのディスク書込位置に対応する格納位置か
ら読み出された旧パリティと前記旧データと前記新デー
タに基づいて生成した新パリティを、前記旧パリティの
ディスク格納位置に書き込むことによりデータ更新を行
うようにされたディスクアレイ装置において、複数の前
記アレイコントローラは、上位装置から書込処理を命令
された際に、ディスク装置に対する書込動作が実行され
る前に、少なくとも前記新データと前記旧データと前記
旧パリティを格納する不揮発性メモリと、他のアレイコ
ントローラとの間でデータおよびパリティの授受を行
い、一方のアレイコントローラ内の前記不揮発性メモリ
に前記新データと前記旧データと前記旧パリティが格納
されている場合に、ディスク装置に対する書込動作が実
行される前に、該一方のアレイコントローラでは、前記
不揮発性メモリに格納された前記新データと前記旧デー
タと前記旧パリティを他方のアレイコントローラへ送信
し、また他方のアレイコントローラでは、前記一方のア
レイコントローラから送られてきた前記新データと前記
旧データと前記旧パリティを受信して該他方のアレイコ
ントローラ内の前記不揮発性メモリに格納する通信手段
と、を具備することを特徴とする。
【0060】請求項6に係る発明によれば、上位装置か
ら書込処理を命令された際に、ディスク装置に対する書
込動作が実行される前に、一方のアレイコントローラの
不揮発性メモリに新データ(D0new )、旧データ(D
0old )、旧パリティ(Dpold )や新パリティ(Dp
new )などが記憶され、さらに新データ(D0new )、
旧データ(D0old )および旧パリティ(Dpold )が
他方のアレイコントローラ内の不揮発性メモリにコピー
されるため、データおよびパリティの書込動作中に電源
断等により書込処理が正常に終了しなかった場合、再び
電源を投入した時に、一方のアレイコントローラ内の不
揮発性メモリまたは他方のアレイコントローラ内の不揮
発性メモリに格納された新データ(D0new )を用いる
ことにより、容易に復旧処理が行われる。
【0061】請求項7に係るディスクアレイ装置は、請
求項6に記載の発明において、前記不揮発性メモリに
は、書込処理の進行状況を示す管理情報が格納されるこ
とを特徴とする。
【0062】請求項7に係る発明によれば、不揮発性メ
モリに、書込処理の段階を示すステータスが格納される
ため、書込処理が正常に終了しなかった後、再び電源を
投入した時に、ステータスを参照することによって中断
した所から書込処理が再開される。
【0063】請求項8に係るディスクアレイ装置は、請
求項6または7に記載の発明において、前記一方のアレ
イコントローラの書込動作が中断された後に、中断され
た該アレイコントローラが正常に稼動可能な状態に復帰
した時、該一方のアレイコントローラ、または書込動作
の中断前に該一方のアレイコントローラから前記新デー
タと前記旧データと前記旧パリティを受け取った前記他
方のアレイコントローラが、それぞれの不揮発性メモリ
内に格納された前記新データと前記旧データと前記旧パ
リティに基づいて、中断された書込処理を再び行うよう
に構成されていることを特徴とする。
【0064】請求項8に係る発明によれば、不揮発性メ
モリ内に格納された新データ(D0new )、旧データ
(D0old )および旧パリティ(Dpold )に基づい
て、中断された書込処理が再び行われるので、容易に復
旧処理が行われる。
【0065】請求項9に係るディスクアレイ装置は、複
数台のディスク装置と、該ディスク装置に対してデータ
およびパリティの書込動作並びに読出動作を実行するア
レイコントローラとを具備し、指定されたディスク装置
の書込位置に格納されている旧データを読み出した後に
上位装置から転送された新データを該書込位置に書き込
むとともに、パリティ用ディスク装置の、前記新データ
のディスク書込位置に対応する格納位置から読み出され
た旧パリティと前記旧データと前記新データに基づいて
生成した新パリティを、前記旧パリティのディスク格納
位置に書き込むことによりデータ更新を行うようにされ
たディスクアレイ装置において、少なくとも、複数台の
前記ディスク装置の電源供給および前記アレイコントロ
ーラの電源供給をバックアップする無停電電源供給手段
を具備することを特徴とする。
【0066】請求項9に係る発明によれば、電源へのA
C入力が停止した場合や、電源とアレイコントローラと
間の電源供給や、電源とディスク装置との間の電源供給
が何らかの障害により停止した場合でも電源供給が継続
して行われるため、アレイコントローラの書込動作が中
断されずに済み、データの整合性が保たれる。
【0067】請求項10に係るディスクアレイ装置は、
指定されたディスク装置の書込位置に格納されている旧
データを読み出した後に上位装置から転送された新デー
タを該書込位置に書き込むとともに、パリティ用ディス
ク装置の、前記新データのディスク書込位置に対応する
位置に格納された旧パリティ、前記旧データおよび前記
新データに基づいて生成した新パリティを、前記旧パリ
ティのディスク格納位置に書き込むことによりデータ更
新を行うようにされたディスクアレイ装置において、一
パリティの基礎となるデータ群の内、少なくとも2つの
ディスク装置のデータを正常に読み出すことができない
場合に、その正常にデータを読み出すことができない当
該2つのディスク装置に任意のデータを書き込み、該書
き込まれた任意のデータと前記パリティの基礎となるデ
ータ群の内の正常に読み出されたデータとを用いて新パ
リティを生成することにより復旧処理を行う特別書込実
行手段と、該特別書込実行手段により書き込まれた任意
のデータに対する読出しに対してデータチェックを応答
するデータエラー検出手段と、を具備することを特徴と
する
【0068】請求項10に係る発明によれば、データを
正常に読み出すことができないディスク装置に書き込ま
れていたデータを再現することはできないが、そのディ
スク装置に任意のデータを書き込んで新パリティを生成
することにより、上位装置からのライト命令に対してデ
ィスクアレイ装置は正常に動作することができるように
なる。従って、上位装置からのリカバリ処理を実行する
ことが可能となる。
【0069】また請求項10に係る発明によれば、デー
タを正常に読み出すことができないディスク装置の、当
該読出し不可能なデータが格納された箇所に任意のデー
タを書き込んだことを記憶しておき、その書き込まれた
任意のデータに対する上位装置からのリード命令に対し
てエラー等を送出することによって、任意のデータが誤
って上位装置に送出されるのを防ぐことができる。
【0070】
【発明の実施の形態】以下に、本発明に係るディスクア
レイ装置の実施の形態について図2〜図31を参照しつ
つ詳細に説明する。
【0071】(実施の形態1)図2は、本発明によるデ
ィスクアレイ装置の実施の形態1を示す構成図である。
図2において、制御装置10には、マイクロプロセッサ
(以下、MPUと称する)12が設けられている。この
MPU12の内部バスに、制御プログラムや固定データ
を格納したROM20、RAMを用いた揮発性メモリ2
2、キャッシュファンクションエンジン24を介して設
けられたキャッシュメモリ26、バックアップ電源36
により電源ダウン時にも動作可能な不揮発性メモリ3
4、内部リソースや内部ジョブを管理するリソースマネ
ージャモジュール13、およびハードウェア環境を管理
するサービスアダプタ14が接続されている。
【0072】また、制御装置10にはチャネルインター
フェースアダプタ16が設けられており、そのアダプタ
16を介して制御装置10に、上位装置として機能する
ホストコンピュータ18が接続されている。さらに、制
御装置10にはデバイスインターフェースアダプタ17
が設けられており、そのアダプタ17を介して制御装置
10に、複数台(図2の例では例えば5台)のディスク
装置32−1,32−2,32−3,32−4,32−
5を管理するアレイコントローラ50が接続されてい
る。
【0073】アレイコントローラ50には、制御装置1
0のデバイスインターフェースアダプタ17に接続され
る上位インターフェース52、および複数台のディスク
装置32−1〜32−5を接続する下位インターフェー
スとなる複数(図2の例では例えば5個)のデバイスイ
ンターフェースアダプタ54−1,54−2,54−
3,54−4,54−5が設けられている。
【0074】5台のディスク装置32−1〜32−5の
うち、例えば4台がデータ格納用であり、1台がパリテ
ィ用である。本発明のディスクアレイ装置にあっては、
図36に示したRAID4あるいは図37に示したRA
ID5と同じ機能を実現することから、RAID4の場
合には、例えばディスク装置32−1〜32−4がデー
タ格納用に使用され、ディスク装置32−5がパリティ
用に使用される。一方、RAID5の場合には、例えば
ディスク装置32−1〜32−5のそれぞれはRAID
4の場合と同様、1つのディスク装置に同一のデータ単
位をまとめて格納するが、パリティ用のディスク装置は
固定されず、セクタに応じてパリティ用のディスク装置
が所定の順番に従って切り替わる。
【0075】図3および図4は、図2の実施の形態1に
おけるディスクアレイ装置の機能ブロック図であり、図
3は1台のディスク装置が故障状態にある場合、図4は
故障しているディスク装置がない場合すなわち全ディス
ク装置が稼動状態にある場合をそれぞれ表している。
【0076】図3および図4において、複数台(図示例
では例えば5台)のディスク装置32−1〜32−5の
うち、例えばディスク装置32−5がパリティ用として
用いられているとする。勿論、ディスク装置32−5は
RAID4であれば固定的にパリティ用として定められ
ており、RAID5については、現時点のデータアクセ
スにおいてパリティ用として位置付けられていることに
なる。
【0077】1台のディスク装置32−2が故障してい
る状態で、指定されたディスク装置32−1のデータ
(D0)を新データ(D0new )に更新する際には、図
3に示すように、制御装置10の不揮発性メモリ34に
は、ホストコンピュータ18から転送された新データ
(D0new )40、書込処理の進行状況等を示す管理テ
ーブル41、書込み中を表す書込中フラグ44、ディス
ク装置32−1から読み出された旧データ(D0old )
40−1、故障していない他のディスク装置54−3,
54−4から読み出されたデータ(D2,D3)46,
47、パリティ用ディスク装置32−5から読み出され
た旧パリティ(Dpold )48、および旧データ(D0
old )40−1と新データ(D0new )40と旧パリテ
ィ(Dpold)48を排他的論理和(EOR)演算する
ことにより求められた新パリティ(Dpnew )48−1
が記憶される。
【0078】新パリティ(Dpnew )48−1の生成処
理は特別書込実行手段110内のパリティ生成手段11
6(図1参照)により実行される。なお、特別書込実行
手段110は図2に示すMPU12により実現される。
【0079】そして、データロスとなるのを防ぐため
に、特別なデータ書込処理を行う。すなわち、不揮発性
メモリ34に記憶された新データ(D0new )40、他
のデータ(D2,D3)46,47および新パリティ
(Dpnew )48−1をアレイコントローラ50のデバ
イスインターフェースアダプタ54−1,54−3,5
4−4,54−5に送り格納する。
【0080】デバイスインターフェースアダプタ54−
1,54−3,54−4,54−5に格納された新デー
タ(D0new )40−2、他のデータ(D2,D3)4
6−1,47−1および新パリティ(Dpnew )48−
2をディスク装置32−1,32−3,32−4,32
−5にRAID3方式により同時並列的に書き込む。書
込が指定されたディスク装置32−1に対する新データ
(D0new )の上書き処理は特別書込実行手段110内
のデータ書込手段113により実行される。
【0081】管理テーブル41には、書込処理の段階
(ステータス)42、および複数のアレイコントローラ
が設けられている場合にその書込処理が自系の書込処理
であるか他系の書込処理であるかを識別する自系フラグ
43が格納される。
【0082】排他的論理和(EOR)演算は、例えばM
PU12により行われる。
【0083】正常に終了しなかった書込処理の復旧を行
う場合には、不揮発性メモリ34に記憶されている新デ
ータ(D0new )40、他のデータ(D2,D3)4
6,47および新パリティ(Dpnew )48−1を、ア
レイコントローラ50のデバイスインターフェースアダ
プタ54−1,54−3,54−4,54−5を介し
て、ディスク装置32−1,32−3,32−4,32
−5にRAID3方式により同時並列的に書き込む。
【0084】全ディスク装置32−1,32−2,32
−3,32−4,32−5が稼動している状態で、指定
されたディスク装置32−1のデータ(D0)を新デー
タ(D0new )に更新する際には、図4に示すように、
制御装置10の不揮発性メモリ34には、ホストコンピ
ュータ18から転送された新データ(D0new )40、
書込処理の進行状況等を示す管理テーブル41、および
書込み中を表す書込中フラグ44が記憶される。
【0085】また、制御装置10の揮発性メモリ22に
は、ディスク装置32−1から読み出された旧データ
(D0old )40−1、パリティ用ディスク装置32−
5から読み出された旧パリティ(Dpold )48が記憶
される。
【0086】そして、この場合には、通常のデータ書込
処理を行う。すなわち、不揮発性メモリ34に記憶され
た新データ(D0new )40は、アレイコントローラ5
0のデバイスインターフェースアダプタ54−1に送ら
れて格納され、その格納された新データ(D0new )4
0−2がディスク装置32−1に書き込まれる。
【0087】また、不揮発性メモリ34に記憶された新
データ(D0new )40と揮発性メモリ22に記憶され
た旧データ(D0old )40−1および旧パリティ(D
pold )48とに基づいて、MPU12において排他的
論理和(EOR)演算が行われ、新パリティ(Dpnew
)48−1が求められ、制御装置10の揮発性メモリ
22に記憶される。この新パリティ(Dpnew )48−
1はアレイコントローラ50のデバイスインターフェー
スアダプタ54−5に格納され、その格納された新パリ
ティ(Dpnew )48−2がディスク装置32−5に書
き込まれる。
【0088】正常に終了しなかった書込処理の復旧を行
う場合には、不揮発性メモリ34に記憶されている新デ
ータ(D0new )40は、アレイコントローラ50のデ
バイスインターフェースアダプタ54−1を介してディ
スク装置32−1に書き込まれる。また、先に書込処理
が正常に終了しなかったことにより、旧データ(D0ol
d )および旧パリティ(Dpold )は不定となっている
ため、新パリティ(Dpnew )を生成するために、ディ
スク装置32−2,32−3,32−4からデータ(D
1,D2,D3)が読み出され、デバイスインターフェ
ースアダプタ54−2,54−3,54−5に格納され
る。
【0089】それら格納されたデータ(D1,D2,D
3)45−1,46−1,47−1は、制御装置10の
揮発性メモリ22に送られて記憶される。そして、揮発
性メモリ22に記憶されたデータ(D1,D2,D3)
45,46,47と不揮発性メモリ34に記憶された新
データ(D0new )40とに基づいて新パリティ(Dp
new )48−1が求められ、アレイコントローラ50の
デバイスインターフェースアダプタ54−5を介してデ
ィスク装置32−5に書き込まれる。
【0090】図5には、不揮発性メモリ34に記憶され
る管理テーブル41の記憶内容の一例が示されている。
同図に示すように、管理テーブル41には、例えば「o
p−id」、図3および図4におけるステータス42に
相当する「ステータス」、図3および図4における自系
フラグ43に相当する「自系/他系」および「アドレ
ス」の項目が記憶される。
【0091】「op−id」は、アレイコントローラ5
0が書込処理を管理するためのIDであり、「ステータ
ス」は、書込処理がどの段階まで進んだかを示すステー
タスであり、「自系/他系」は、アレイコントローラ5
0が複数ある場合に、ステータスに示された処理を行っ
たコントローラが自系であるか他系であるかを示すフラ
グであり、「アドレス」は、不揮発性メモリ34に記憶
されたデータやパリティの格納場所を示すアドレスであ
る。
【0092】図6は、図3および図4に示すディスクア
レイ装置における全体的な処理動作を示したフローチャ
ートである。図6において、まずディスクアレイ装置の
電源が投入されると、ステップS1でイニシャルプログ
ラムルーチン(IPL)に基づく所定のイニシャライズ
を行った後、ステップS2に進んで電源ダウンがあった
か否かのチェックを行う。通常のログオフ操作による電
源切断後にログオンによりパワーオンスタートした場合
には電源ダウンなしと判定し、ステップS3に進み、ホ
ストコンピュータ18からのコマンド受領を待つ。
【0093】ステップS3でホストコンピュー夕18か
らのコマンドを受領すると、ステップS4に進んでその
コマンドの解読を行う。ステップS5でライトアクセス
の要求を判別すると、ステップS6に進んでデータ書込
およびパリティ更新処理を実行し、一方、リードアクセ
スの要求を判別すると、ステップS7に進んでデータ続
出処理を実行する。
【0094】一方、パワーオンスタートした際に、ステ
ップS2で電源ダウンありと判別した場合には、ステッ
プS8で復旧処理を行ってからステップS3以降の通常
処理に入る。この一連の処理を行うためのプログラムは
制御装置10のROM20(図2参照)に記憶されてお
り、そのプログラムはMPU12(図2参照)によって
実行される。
【0095】図7は、図6のステップS6に示したデー
タ書込およびパリティ更新処理の詳細を示したフローチ
ャートである。図7において、ホストコンピュータ18
からのライトコマンドを受け取ると、まずステップS6
1で制御装置10の不揮発性メモリ34に書込中フラグ
44を立てる。それからステップS62へ進み、全ディ
スク装置32−1,32−2,32−3,32−4,3
2−5の稼動状態をチェックする。
【0096】故障状態のディスク装置(図3では、32
−2のディスク装置)がある場合(NFT)には、ステ
ップS63へ進んで特別なデータ書込処理を行い、一
方、全ディスク装置32−1,32−2,32−3,3
2−4,32−5が稼動している場合(FT)には、ス
テップS67へ進んで通常のデータ書込処理を行う。
【0097】ステップS63またはステップS67でデ
ータの書込みが終了したら、ステップS64で制御装置
10はアレイコントローラ50から書込みが正常に終了
した旨の通知を受け取り、ステップS65で書込中フラ
グ44をおろし、ステップS66で正常に書込処理が終
了したことを確認する。これでデータ書込およびパリテ
ィ更新処理が終了する。
【0098】図8は、図7のステップS63に示した特
別なデータ書込処理の詳細を示したフローチャートであ
る。なお、この図8に示す処理内容は、図3に示した機
能ブロック図に対応している。図8において、ホストコ
ンピュータ18からのライトコマンドに伴ってディスク
装置に書き込む新データが転送されてくることから、ス
テップS631でホストコンピュータ18からの新デー
タ(D0new )40を制御装置10の不揮発性メモリ3
4に格納する。
【0099】続いてステップS632で故障しているデ
ィスク装置(図3では、32−2の装置)を除く全ディ
スク装置32−1,32−3,32−4,32−5か
ら、デバイスインターフェースアダプタ54−1,54
−3,54−4,54−5からの指示により、旧データ
(D0old )40−3、他のデータ(D2,D3)46
−1,47−1および旧パリティ(Dpold )48−3
を読み取り、デバイスインターフェースアダプタ54−
1,54−3,54−4,54−5内に格納する。格納
された旧データ(D0old )40−3、他のデータ(D
2,D3)46−1,47−1および旧パリティ(Dp
old )48−3を、ステップS633で制御装置10に
転送して不揮発性メモリ34内に格納する。
【0100】続いてステップS634に進み、不揮発性
メモリに記憶された旧データ(D0old )40−1と旧
パリティ(Dpold )48と新データ(D0new )40
との排他的論理和から新パリティ(Dpnew )48−1
を生成し、それをステップS635で不揮発性メモリ3
4に格納する。
【0101】続いてステップS636に進み、不揮発性
メモリ34に格納された新データ(D0new )40と他
のデータ(D2,D3)46,47と新パリティ(Dp
new)48−1をデバイスインターフェースアダプタ5
4−1,54−3,54−4,54−5に転送して格納
し、さらにステップS637で新データ(D0new )4
0−2と他のデータ(D2,D3)46−1,47−1
と新パリティ(Dpnew )48−2をディスク装置32
−1,32−3,32−4,32−5に転送し、ステッ
プS638で新データ(D0new )40−2と他のデー
タ(D2,D3)46−1,47−1と新パリティ(D
pnew )48−2をディスク装置32−1,32−3,
32−4,32−5の、新データ書込予定領域と同一領
域にRAID3の方式により同時並列的に書き込む。こ
れで特別なデータ書込処理が終了する。
【0102】図9は、図7のステップS67に示した通
常のデータ書込処理の詳細を示したフローチャートであ
る。なお、この図9に示す処理内容は、図4に示した機
能ブロック図に対応している。図9において、まずステ
ップS671でホストコンピュータ18からライトコマ
ンドに伴って転送されてきた新データ(D0new )40
を制御装置10の不揮発性メモリ34に格納する。続い
てステップS672で新データ(D0new )40を、例
えばディスク装置32−1が書込対象として指定された
とすると、デバイスインターフェースアダプタ54−1
に転送して格納する。
【0103】続いてステップS673でデバイスインタ
ーフェースアダプタ54−1からの指示により、ディス
ク装置32−1の新データ書込予定領域の内容を旧デー
タ(D0old )40−3として読み取り、ステップS6
74でデバイスインターフェースアダプタ54−1内に
格納する。
【0104】旧データ(D0old )40−3の格納が済
むと、ステップS675でデバイスインターフェースア
ダプタ54−1内の新データ(D0new )40−2をデ
ィスク装置32−1に転送し、ステップS676で新デ
ータ書込予定領域に新データ(D0new )40−2を書
き込む。
【0105】ついで、ステップS677でパリティ用の
ディスク装置32−5の、ディスク装置32−1におけ
る新データ書込予定領域と同一領域の内容を旧パリティ
(Dpold )48−3として読み取り、ステップS67
8でその旧パリティ(Dpold )48−3をデバイスイ
ンターフェースアダプタ54−5に格納する。
【0106】続いてステップS679で、デバイスイン
ターフェースアダプタ54−1,54−5に格納された
旧データ(D0old )40−3および旧パリティ(Dp
old)48−3を制御装置10の揮発性メモリ22に転
送して格納し、さらにそれら格納された旧データ(D0
old )40−1および旧パリティ(Dpold )48と不
揮発性メモリ34に格納された新データ(D0new )4
0との排他的論理和から新パリティ(Dpnew )48−
1を生成し、それを揮発性メモリ22に格納する。
【0107】続いて、ステップS680に進み、揮発性
メモリ22に格納された新パリティ(Dpnew )48−
1をデバイスインターフェースアダプ54−5に転送し
て格納し、さらにステップS681で新パリティ(Dp
new )48−2をディスク装置32−5に転送し、ステ
ップS682で新パリティ(Dpnew )48−2をディ
スク装置32−5の、ディスク装置32−1における新
データの書込領域と同じ領域に書き込む。これで通常の
データ書込処理が終了する。
【0108】ここで、新パリティ(Dpnew )は、基本
的には新データ(D0new ),旧データ(D0old )お
よび旧パリティ(Dpold )の排他的論理和から生成さ
れるものであるが、つぎの(1)〜(3)のように中間
パリティを生成してから新パリティ(Dpnew )を生成
することもできる。
【0109】(1)新データ(D0new )と旧デー夕
(D0old )の排他的論理和をとって中間パリティを生
成し、その中間パリティと旧パリティ(Dpold )との
排他的論理和をとって新パリティ(Dpnew )を生成す
る。即ち、次式の処理を行う。 新データ(+)旧データ=中間パリティ 中間パリティ(+)旧パリティ=新パリティ
【0110】(2)旧データ(D0old )と旧パリティ
(Dpold )の排他的論理和をとって中間パリティを生
成し、その中間パリティと新データ(D0new )との排
他的論理和をとって新パリティ(Dpnew )を生成す
る。即ち、次式の処理を行う。 旧データ(+)旧パリティ=中間パリティ 中間パリティ(+)新データ=新パリティ
【0111】(3)旧パリティ(Dpold )と新データ
(D0new )の排他的論理和をとって中間パリティを生
成し、その中間パリティと旧データ(D0old )との排
他的論理和をとって新パリティ(Dpnew )を生成す
る。即ち、次式の処理を行う。 旧パリティ(+)新データ=中間パリティ 中間パリティ(+)旧データ=新パリティ なお、生成された中間パリティは、制御装置10の揮発
性メモリ22または不揮発性メモリ34に格納される。
【0112】図10は、図6のステップS8に示した復
旧処理の詳細を示したフローチャートである。図6のス
テップS2で電源ダウンがあったと判定されると、図1
0に示すように、まずステップS81で制御装置10の
不揮発性メモリ34に書込中フラグ44が立っているか
否かのチェックを行う。書込中フラグ44が立っていな
い場合には、電源ダウンの際に書込中のデータまたはパ
リティがなかったとして、そのまま復旧処理を終了す
る。
【0113】ステップS81で書込中フラグ44が立っ
ている場合には、ステップS82へ進み、全ディスク装
置32−1,32−2,32−3,32−4,32−5
の稼動状態をチェックする。故障状態のディスク装置
(図3では、32−2のディスク装置)がある場合(N
FT)には、ステップS83へ進んでNFT時の特別な
書込動作モードに移行して復旧処理を行い、一方、全デ
ィスク装置32−1,32−2,32−3,32−4,
32−5が稼動している場合(FT)には、ステップS
86へ進んでFT時の特別な書込動作モードに移行して
復旧処理を行う。
【0114】ステップS83またはステップS86で復
旧処理が終了したら、ステップS84へ進み、ホストコ
ンピュータ18は制御装置10に、特別な書込動作モー
ドから通常のモードへ移行する命令をアレイコントロー
ラ50に出すように指示し、それを受けて、制御装置1
0はアレイコントローラ50に通常のモードへ移行する
ように指示を出す。そして、ステップS85でアレイコ
ントローラ50はそのコマンドを受け取って通常のモー
ドに移行する。これで復旧処理が終了する。
【0115】図11は、図10のステップS83に示し
たNFT時の復旧処理の詳細を示したフローチャートで
ある。なお、この図11に示す処理内容は、図3に示し
た機能ブロック図に対応している。図11において、ま
ずステップS831で制御装置10はアレイコントロー
ラ50にNFT時の特別な書込動作モードに移行するよ
うに指示を出す。アレイコントローラ50は、ステップ
S832においてそのコマンドを受け取って特別な書込
モードに移行する。
【0116】続いてステップS833で制御装置10の
不揮発性メモリ34から新データ(D0new )40と他
のデータ(D2,D3)46,47と新パリティ(Dp
new)48−1を読み出し、ステップS834で新デー
タ(D0new )40と他のデータ(D2,D3)46,
47と新パリティ(Dpnew )48−1をデバイスイン
ターフェースアダプタ54−1,54−3,54−4,
54−5に転送して格納する。
【0117】さらにステップS835で新データ(D0
new )40−2と他のデータ(D2,D3)46−1,
47−1と新パリティ(Dpnew )48−2をディスク
装置32−1,32−3,32−4,32−5に転送
し、ステップS836で新データ(D0new )40−2
と他のデータ(D2,D3)46−1,47−1と新パ
リティ(Dpnew )48−2をディスク装置32−1,
32−3,32−4,32−5の、新データ書込予定領
域と同一領域にRAID3の方式により同時並列的に書
き込む。
【0118】続いてステップS837で制御装置10は
アレイコントローラ50から書込みが正常に終了した旨
の通知を受け取り、ステップS838で書込中フラグ4
4をおろし、ステップS839で正常に書込処理が終了
したことを確認する。そして、他の書込中のフラグ44
が立っているか否かのチェックを行い、立っている書込
中フラグ44がなくなるまで、上記ステップS833〜
ステップS839の処理を繰り返し行い、全ての書込中
フラグ44がなくなったら、NFT時の復旧処理が終了
する。
【0119】図12は、図10のステップS86に示し
たFT時の復旧処理の詳細を示したフローチャートであ
る。なお、この図12に示す処理内容は、図4に示した
機能ブロック図に対応している。図12において、まず
ステップS861で制御装置10はアレイコントローラ
50にFT時の特別な書込動作モードに移行するように
指示を出す。アレイコントローラ50は、ステップS8
62においてそのコマンドを受け取って特別な書込モー
ドに移行する。
【0120】続いてステップS863で制御装置10の
不揮発性メモリ34から新データ(D0new )40を読
み出し、それをデバイスインターフェースアダプタ54
−1に転送して格納する。また、ステップS864で、
新データ(D0new )を格納するディスク装置32−1
およびパリティ用のディスク装置32−5以外のディス
ク装置32−2,32−3,32−4からデータ(D
1,D2,D3)を読み出し、それらデータ(D1,D
2,D3)45−1,46−1,47−1をデバイスイ
ンターフェースアダプタ54−2,54−3,54−4
に格納する。
【0121】続いてステップS865でデバイスインタ
ーフェースアダプタ54−1内の新データ(D0new )
40−2をディスク装置32−1に転送し、新データ書
込予定領域に新データ(D0new )40−2を書き込
む。
【0122】続いてステップS866で、デバイスイン
ターフェースアダプタ54−2,54−3,54−4に
格納されたデータ(D1,D2,D3)45−1,46
−1,47−1を制御装置10の揮発性メモリ22に転
送して格納し、揮発性メモリ22に格納された(D1,
D2,D3)45,46,47と不揮発性メモリ34に
格納された新データ(D0new )40との排他的論理和
から新パリティ(Dpnew )48−1を生成し、それを
揮発性メモリ22に格納する。
【0123】続いて、ステップS867に進み、揮発性
メモリ22に格納された新パリティ(Dpnew )48−
1をデバイスインターフェースアダプ54−5に転送し
て格納し、その格納された新パリティ(Dpnew )48
−2をディスク装置32−5に転送してディスク装置3
2−5の、ディスク装置32−1における新データの書
込領域と同じ領域に書き込む。
【0124】続いてステップS868で制御装置10は
アレイコントローラ50から書込みが正常に終了した旨
の通知を受け取り、ステップS869で書込中フラグ4
4をおろし、ステップS870で正常に書込処理が終了
したことを確認する。そして、他の書込中のフラグ44
が立っているか否かのチェックを行い、立っている書込
中フラグ44がなくなるまで、上記ステップS863〜
ステップS870の処理を繰り返し行い、全ての書込中
フラグ44がなくなったら、FT時の復旧処理が終了す
る。
【0125】図13は図6のステップS7に示したデー
タ読出処理の詳細を示したフローチャートである。図1
3において、、ホストコンピュータ18からのリードコ
マンドを解読すると、ステップS71でデータ読出しの
対象となったデバイスインターフェースアダプタを介し
てディスク装置からデータを読み出し、ステップS72
でデバイスインターフェースアダプタに格納した後に、
ステップS73でホストコンピスータ18にデータ転送
を行う。
【0126】上記実施の形態によれば、制御装置10内
に不揮発性メモリ34を設け、データの書込処理時に、
故障しているディスク装置がある場合には、その不揮発
性メモリ34に、更新するためにホストコンピュータ1
8から転送されてきた新データ(D0new )40、デー
タ書込処理の進行状況を示すステータス42、書込中フ
ラグ44、故障していないディスク装置から読み出され
たデータ、すなわち旧データ(D0old )40−1と旧
パリティ(Dpold )48と他のデータ(D2,D3)
46,47、および新データ(D0new )40と旧デー
タ(D0old )40−1と旧パリティ(Dpold )48
とから生成された新パリティ(Dpnew)48−1を記
憶するようにしたため、データおよびパリティの書込動
作中に電源断等により書込処理が正常に終了しなかった
場合、再び電源を投入した時に、不揮発性メモリ34に
格納された新データ(D0new )40と他のデータ(D
2,D3)46,47と新パリティ(Dpnew )48−
1とをディスク装置に書き込むことによって、容易にデ
ータを復旧することができる。
【0127】また、上記実施の形態によれば、制御装置
10内に不揮発性メモリ34を設け、データの書込処理
時に、故障しているディスク装置がない場合には、その
不揮発性メモリ34に、更新するためにホストコンピュ
ータ18から転送されてきた新データ(D0new )4
0、データ書込処理の進行状況を示すステータス42、
書込中フラグ44を記憶するようにしたため、データお
よびパリティの書込動作中に電源断等により書込処理が
正常に終了しなかった場合、再び電源を投入した時に、
データ更新されるディスク装置とパリティ用のディスク
装置以外のディスク装置から同一パリティグループのデ
ータ(D1,D2,D3)を読み出し、それらデータ
(D1,D2,D3)と不揮発性メモリ34に格納され
た新データ(D0new )40とから新パリティ(Dpne
w )48−1を生成し、その新パリティ(Dpnew )4
8−1と不揮発性メモリ34に格納された新データ(D
0new)40を新たにディスク装置に書き込むことによ
って、容易にデータを復旧することができる。
【0128】さらに、上記実施の形態によれば、不揮発
性メモリ34に書込中フラグ44が格納されるため、書
込処理が正常に終了しなかった後に、再び電源を投入し
た時に、書込中フラグ44を参照することによって正常
に書き込まれなかったデータが残っているか否かが一目
瞭然となり、迅速にデータの復旧処理を行うことができ
る。
【0129】また、上記実施の形態によれば、不揮発性
メモリ34にステータス42が格納されるため、書込処
理が正常に終了しなかった後に、再び電源を投入した時
に、ステータス42を参照することによって書込処理が
中断した所から復旧処理を継続して行うことができ、よ
り迅速にデータの復旧処理を行うことができる。
【0130】(実施の形態2)図14は、本発明による
ディスクアレイ装置の実施の形態2を示す構成図であ
る。図14に示すディスクアレイ装置が図1に示すディ
スクアレイ装置と異なるのは、バックアップ電源36に
より電源ダウン時にも動作可能な不揮発性メモリ34が
制御装置10に設けられておらず、その代わりに不揮発
性メモリ34とバックアップ電源36がアレイコントロ
ーラ50内に設けられている点と、アレイコントローラ
50内に揮発性メモリ23と排他的論理和(EOR)演
算を行う論理回路37が設けられている点である。その
他の構成は上記実施の形態1と同じであるので、図1に
示すディスクアレイ装置と同一の構成要素については同
一の符号を付して詳細な説明を省略する。
【0131】図15および図16は、図14の実施の形
態2におけるディスクアレイ装置の機能ブロック図であ
り、図15は1台のディスク装置が故障状態にある場
合、図16は故障しているディスク装置がない場合すな
わち全ディスク装置が稼動状態にある場合をそれぞれ表
している。上記実施の形態1と同様に、図15および図
16においては、複数台(図示例では例えば5台)のデ
ィスク装置32−1〜32−5のうち、例えばディスク
装置32−5がパリティ用として用いられているとす
る。
【0132】1台のディスク装置32−2が故障してい
る状態で、指定されたディスク装置32−1のデータ
(D0)を新データ(D0new )に更新する際には、図
15に示すように、アレイコントローラ50の不揮発性
メモリ34には、上記実施の形態1と同様に、新データ
(D0new )40、ステータス42および自系フラグ4
3が格納される管理テーブル41、書込中フラグ44、
旧データ(D0old )40−1、他のデータ(D2,D
3)46,47、旧パリティ(Dpold )48および新
パリティ(Dpnew )48−1が記憶される。
【0133】新パリティ(Dpnew )48−1は、アレ
イコントローラ50内に設けられた論理回路37におい
て、旧データ(D0old )40−1と新データ(D0ne
w )40と旧パリティ(Dpold )48を排他的論理和
(EOR)演算することにより求められる。
【0134】そして、この実施の形態2においても、上
記実施の形態1と同様に、データの書込処理を行う際に
は、新データ(D0new )40−2、他のデータ(D
2,D3)46−1,47−1および新パリティ(Dp
new )48−2をディスク装置32−1,32−3,3
2−4,32−5にRAID3方式により同時並列的に
書き込む。
【0135】また、正常に終了しなかった書込処理の復
旧を行う場合には、不揮発性メモリ34に記憶されてい
る新データ(D0new )40、他のデータ(D2,D
3)46,47および新パリティ(Dpnew )48−1
を、デバイスインターフェースアダプタ54−1,54
−3,54−4,54−5を介して、ディスク装置32
−1,32−3,32−4,32−5にRAID3方式
により同時並列的に書き込む。
【0136】全ディスク装置32−1,32−2,32
−3,32−4,32−5が稼動している状態で、指定
されたディスク装置32−1のデータ(D0)を新デー
タ(D0new )に更新する際には、図16に示すよう
に、アレイコントローラ50の不揮発性メモリ34に新
データ(D0new )40、管理テーブル41および書込
中フラグ44が記憶される。また、アレイコントローラ
50の揮発性メモリ23には、旧データ(D0old )4
0−1および旧パリティ(Dpold )48が記憶され
る。
【0137】不揮発性メモリ34に記憶された新データ
(D0new )40は、デバイスインターフェースアダプ
タ54−1を介してディスク装置32−1に書き込まれ
る。また、不揮発性メモリ34に記憶された新データ
(D0new )40と揮発性メモリ23に記憶された旧デ
ータ(D0old )40−1および旧パリティ(Dpol
d)48とに基づいて、論理回路37において排他的論
理和(EOR)演算が行われ、新パリティ(Dpnew )
48−1が求められ、揮発性メモリ23に記憶される。
この新パリティ(Dpnew )48−1はデバイスインタ
ーフェースアダプタ54−5を介してディスク装置32
−5に書き込まれる。
【0138】正常に終了しなかった書込処理の復旧を行
う場合には、不揮発性メモリ34に記憶されている新デ
ータ(D0new )40は、デバイスインターフェースア
ダプタ54−1を介してディスク装置32−1に書き込
まれる。また、ディスク装置32−2,32−3,32
−4からデータ(D1,D2,D3)が読み出され、揮
発性メモリ23に送られて記憶される。
【0139】そして、揮発性メモリ23に記憶されたデ
ータ(D1,D2,D3)45,46,47と不揮発性
メモリ34に記憶された新データ(D0new )40とに
基づいて新パリティ(Dpnew )48−1が生成され、
デバイスインターフェースアダプタ54−5を介してデ
ィスク装置32−5に書き込まれる。
【0140】図15および図16に示すディスクアレイ
装置の処理動作は、図6〜図13に示すフローチャート
と同じである。従って、その説明を省略する。
【0141】図14〜図16に示す実施の形態2によれ
ば、アレイコントローラ50内に不揮発性メモリ34を
設け、データの書込処理時に、故障しているディスク装
置がある場合には、その不揮発性メモリ34に新データ
(D0new )40、ステータス42、書込中フラグ4
4、旧データ(D0old )40−1と旧パリティ(Dp
old )48と他のデータ(D2,D3)46,47、お
よび新パリティ(Dpnew )48−1を記憶するように
したため、データおよびパリティの書込動作中に電源断
等により書込処理が正常に終了しなかった場合、再び電
源を投入した時に、不揮発性メモリ34に格納された新
データ(D0new )40と他のデータ(D2,D3)4
6,47と新パリティ(Dpnew )48−1とをディス
ク装置に書き込むことによって、容易にデータを復旧す
ることができる。
【0142】また、上記実施の形態2によれば、アレイ
コントローラ50内に不揮発性メモリ34を設け、デー
タの書込処理時に、故障しているディスク装置がない場
合には、その不揮発性メモリ34に新データ(D0new
)40、ステータス42および書込中フラグ44を記
憶するようにしたため、データおよびパリティの書込動
作中に電源断等により書込処理が正常に終了しなかった
場合、再び電源を投入した時に、データ更新されるディ
スク装置とパリティ用のディスク装置以外のディスク装
置から同一パリティグループのデータ(D1,D2,D
3)を読み出し、それらデータ(D1,D2,D3)と
不揮発性メモリ34に格納された新データ(D0new )
40とから新パリティ(Dpnew )48−1を生成し、
その新パリティ(Dpnew )48−1と新データ(D0
new )40を新たにディスク装置に書き込むことによっ
て、容易にデータを復旧することができる。
【0143】さらに、上記実施の形態2によれば、不揮
発性メモリ34に書込中フラグ44が格納されるため、
書込処理が正常に終了しなかった後に、再び電源を投入
した時に、書込中フラグ44を参照することによって正
常に書き込まれなかったデータが残っているか否かが一
目瞭然となり、迅速にデータの復旧処理を行うことがで
きる。
【0144】また、上記実施の形態2によれば、不揮発
性メモリ34にステータス42が格納されるため、書込
処理が正常に終了しなかった後に、再び電源を投入した
時に、ステータス42を参照することによって書込処理
が中断した所から復旧処理を継続して行うことができ、
より迅速にデータの復旧処理を行うことができる。
【0145】(実施の形態3)図17は、本発明による
ディスクアレイ装置の実施の形態3を示す構成図であ
る。この実施の形態3のディスクアレイ装置では、図1
7に示すように、ホストコンピュータ18を接続してな
る制御装置10には、独立した電源62,64により駆
動される2つのアレイコントローラA50およびアレイ
コントローラB51が接続されており、それらアレイコ
ントローラA50とアレイコントローラB51とにより
例えば5台のディスク装置32−1,32−2,32−
3,32−4,32−5が制御されている。なお、図1
に示すディスクアレイ装置と同一の構成要素については
同一の符号を付して詳細な説明を省略する。
【0146】制御装置10内には、実施の形態1と同様
にMPU12、ROM20、揮発性メモリ22、キャッ
シュファンクションエンジン24、キャッシュメモリ2
6、不揮発性メモリ34、バックアップ電源36、リソ
ースマネージャモジュール13、サービスアダプタ1
4、チャネルインターフェースアダプタ16が設けられ
ている。
【0147】また、制御装置10には、2つのアレイコ
ントローラA50およびアレイコントローラB51を独
立して制御するために、デバイスインターフェイスアダ
プタA17およびデバイスアダプタモジュールA11か
らなるグループAと、デバイスインターフェイスアダプ
タB15およびデバイスアダプタモジュールB19から
なるグループBの2つのグループが設けられている。こ
れら2つのグループA,Bは、独立した電源27,28
により駆動されている。
【0148】アレイコントローラA50とアレイコント
ローラB51は同様の構成のものであり、特に図示しな
いが、図1に示す実施の形態1と同様に、制御装置10
のデバイスインターフェースアダプタA17またはデバ
イスインターフェースアダプタB15に接続される上位
インターフェース、および複数台のディスク装置32−
1〜32−5を接続する下位インターフェースとなる複
数のデバイスインターフェースアダプタが設けられてい
る。
【0149】図18は、図17の実施の形態3における
ディスクアレイ装置の機能ブロック図である。図18に
おいて、複数台(図示例では例えば5台)のディスク装
置32−1〜32−5のうち、例えばディスク装置32
−5がパリティ用として用いられているとする。勿論、
ディスク装置32−5はRAID4であれば固定的にパ
リティ用として定められており、RAID5について
は、現時点のデータアクセスにおいてパリティ用として
位置付けられていることになる。
【0150】制御装置10内の不揮発性メモリ34は、
デバイスインターフェイスアダプタA17およびデバイ
スアダプタモジュールA11からなるグループAと、デ
バイスインターフェイスアダプタB15およびデバイス
アダプタモジュールB19からなるグループBの2つの
グループに共有されている。すなわち、この不揮発性メ
モリ34に記憶されたデータやパリティ等は、A,B2
つのアレイコントローラ50,51の何れを介してもデ
ィスク装置32−1,32−2,32−3,32−4,
32−5に書き込むことができる。
【0151】全ディスク装置32−1,32−2,32
−3,32−4,32−5が稼動している状態で、指定
されたディスク装置32−1のデータ(D0)を新デー
タ(D0new )に更新する際には、図18に示すよう
に、制御装置10の不揮発性メモリ34には、ホストコ
ンピュータ18から転送された新データ(D0new )4
0、ディスク装置32−1から読み出された旧データ
(D0old )40−1、パリティ用ディスク装置32−
5から読み出された旧パリティ(Dpold )48、書込
処理の進行状況等を示す管理テーブル41、および書込
み中を表す書込中フラグ44が記憶される。特に限定し
ないが、図18に示す例では、書込中フラグ44は管理
テーブル41内に格納されるようになっている。
【0152】また、制御装置10は、不揮発性メモリ3
4に記憶された新データ(D0new)40をディスク装
置に書き戻すためのタスクを生成するタスク生成部72
を有している。タスク生成部72は、例えば制御装置1
0内のMPU12により実現される。タスク生成部72
により生成されたタスク情報は、リソースマネージャモ
ジュール13内のメモリに記憶されたタスク情報テーブ
ル74に格納され、そのタスク情報に基づいてリソース
マネージャにより適当なデバイスアダプタモジュール1
1,19に対してタスク処理の実行が指示される。
【0153】また、タスク情報テーブル74には、一方
のアレイコントローラに異常が発生した場合に、異常が
発生したアレイコントローラに代えて正常に稼動してい
るアレイコントローラを用いて書込処理を行うことを依
頼したことを表す交代パス処理要求フラグ76が格納さ
れる。
【0154】デバイスアダプタモジュール11,19
は、リソースマネージャにより指示されると、タスク情
報テーブル74からタスク情報を読み出し、それに基づ
いて不揮発性メモリ34に記憶された新データ(D0ne
w )40を読み出し、自系のアレイコントローラ50,
51に対して書込命令を発行する。また、デバイスアダ
プタは、不揮発性メモリ34に記憶された管理テーブル
41に書込中フラグ44を立てる。
【0155】アレイコントローラ50,51は、互いに
電源監視部55により相手のアレイコントローラ51,
50の電源供給状態を監視しており、一方のアレイコン
トローラ50(または51)が他方のアレイコントロー
ラ51(または50)の電源供給が停止したことを検出
すると、電源供給停止通知部56により、自系のデバイ
スインターフェースアダプタ17(または15)を介し
てデバイスアダプタモジュール11(または19)に、
他方のアレイコントローラ51(または50)が電源供
給停止状態にあることを通知する。電源監視部55およ
び電源供給停止通知部56は、アレイコントローラ5
0,51内に設けられたマイクロプロセッサ(MPU)
等により実現される。
【0156】また、アレイコントローラ50,51に
は、制御部10の不揮発性メモリ34から転送されてき
た新データ(D0new )40と同じパリティグループ内
の他のデータをディスク装置から読み出し、それらのデ
ータと新データ(D0new )40に基づいて新パリティ
(Dpnew )を生成するパリティ生成部57が設けられ
ている。
【0157】このパリティ生成部57によるパリティの
再構築が実施されるのは、書込命令に対して、フラグに
よって特別なモードが設定された時である。パリティ生
成部57は、アレイコントローラ50,51内に設けら
れたマイクロプロセッサ(MPU)等により実現され
る。
【0158】図18に示すディスクアレイ装置の処理動
作の流れについて説明する。このディスクアレイ装置の
全体的な処理動作の流れ、データ読出処理の流れおよび
復旧処理の流れは、それぞれ図6、図13および図12
に示すフローチャートと概ね同じである。従って、図1
8に示すディスクアレイ装置における全体動作、復旧処
理およびデータ読出処理の流れについての説明を省略す
る。
【0159】図19は、図18に示すディスクアレイ装
置の書込処理の詳細を示したフローチャートである。図
19において、ホストコンピュータ18からのライトコ
マンドを受け取ると、まずステップS1671で制御装
置10内の一方のグループAに属するデバイスアダプタ
モジュールA11が、自系のアレイコントローラA50
に対してデータの書込命令を発行する。
【0160】それによって、ステップS1672でアレ
イコントローラA50は、図9に示す通常の書込処理に
従って新データ(D0new )40をディスク装置32−
1に書き込むとともに、新データ(D0new )40と旧
データ(D0old )と旧パリティ(Dpold )に基づい
て新パリティ(Dpnew )を生成し、それをパリティ用
のディスク装置32−5に書き込む。
【0161】ステップS1672の通常の書込処理中、
すなわち制御装置10がアレイコントローラA50から
書込完了信号を受領する前に、ステップS1673で異
常終了信号を受領した場合、ステップS1674で異常
終了の原因がアレイコントローラA50への電源供給停
止であれば、ステップS1675へ進む。
【0162】ステップS1675では、異常を検出した
デバイスアダプタモジュールA11は、異常発生中の書
込処理タスクを他方のデバイスパス、すなわちアレイコ
ントローラB51に代わりに実行させるために、タスク
情報テーブル74内に交代パス処理要求フラグ76をセ
ットする。そして、ステップS1676でデバイスアダ
プタモジュールA11は、リソースマネージャに対して
タスクの交代パス処理依頼を通知する。
【0163】交代パス処理を依頼されたリソースマネー
ジャは、ステップS1677で代わりのアレイコントロ
ーラB51を制御するデバイスアダプタに対して、異常
発生により中断された書込処理タスクの処理依頼を発行
する。
【0164】その依頼を受けたデバイスアダプタは、ス
テップS1678で、受領した処理内容が書込処理であ
り、かつ異常が発生したアレイコントローラA50に代
わる交代デバイスパス処理であることを認識し、ステッ
プS1679で、パリテイデータを再構築するためのパ
リティ生成フラグという特別なフラグを書込命令に付加
してアレイコントローラB51に発行する。
【0165】パリティ生成フラグが付加された書込命令
を受領したアレイコントローラB51は、ステップS1
680で制御装置10内の不揮発性メモリ34に記憶さ
れた新データ(D0new )40を読み出し、その読み出
したデータをディスク装置32−1に書き込む。
【0166】そして、ステップS1681で、アレイコ
ントローラB51は、データ更新を行うディスク装置3
2−1とパリティ用のディスク装置32−5を除く他の
ディスク装置32−2,32−3,32−4から、更新
するデータと同じパリティグループのデータ(D1,D
2,D3)を読み出し、それら読み出されたデータ(D
1,D2,D3)と新データ(D0new )との排他的論
理和(EOR)演算により新パリティ(Dpnew )を生
成し、それをパリティ用のディスク装置32−5に書き
込む。
【0167】最後に、ステップS1682で交代パス処
理要求フラグ76を下げて、データ書込処理を終了す
る。
【0168】ステップS1674で異常終了の原因がア
レイコントローラA50への電源供給停止でない場合に
は、ステップS1683へ進む。ステップS1683で
異常終了の原因がアレイコントローラA50のハングア
ップ等の異常動作である場合には、ステップS1684
へ進んでデバイスインタフェースアダプタA17および
アレイコントローラA50のリセット処理を行ってか
ら、ステップS1685でパリテイデータを再構築する
ためのパリティ生成フラグを書込命令に付加して再度ア
レイコントローラA50に発行する。
【0169】一方、ステップS1683で異常終了の原
因がアレイコントローラA50によるディスク装置への
書込処理の中断である場合には、リセット処理を行わず
にそのままステップS1685へ進んで、パリテイデー
タを再構築するためのパリティ生成フラグを書込命令に
付加して再度アレイコントローラA50に発行する。
【0170】パリティ生成フラグが付加された書込命令
を受領したアレイコントローラA50は、ステップS1
686で制御装置10内の不揮発性メモリ34に記憶さ
れた新データ(D0new )40を読み出し、その読み出
したデータをディスク装置32−1に書き込む。
【0171】そして、ステップS1687で、アレイコ
ントローラA50は、データ更新を行うディスク装置3
2−1とパリティ用のディスク装置32−5を除く他の
ディスク装置32−2,32−3,32−4から、更新
するデータと同じパリティグループのデータ(D1,D
2,D3)を読み出し、それら読み出されたデータ(D
1,D2,D3)と新データ(D0new )との排他的論
理和(EOR)演算により新パリティ(Dpnew )を生
成し、それをパリティ用のディスク装置32−5に書き
込む。それによって、データ書込処理を終了する。
【0172】図1、ステップS1673で異常終了信号
を受領しなければ、アレイコントローラA50によるデ
ータ更新が正常に行われたことになり、そのまま書込処
理を終了する。
【0173】図20は、図18に示すディスクアレイ装
置において、アレイコントローラA50の異常を検出し
たデバイスアダプタが、それ以前にアレイコントローラ
A50に対して発行している他機番に対しての書込命令
に対する処理の詳細を示したフローチャートである。図
20において、ステップS1691で、アレイコントロ
ーラA50から正常終了完了信号を受け取っていない書
込命令があるか否かを判断し、受け取っていない命令が
ある場合には、ステップS1692でリソースマネージ
ャのタスク処理実行時間監視論理により、タイムアウト
を検出する。
【0174】そして、ステップS1693でリソースマ
ネージャは、正常終了完了信号を受け取っていない書込
命令の書込処理タスクを他方のデバイスパス、すなわち
アレイコントローラB51に代わりに実行させるため
に、タスク情報テーブル74内に交代パス処理要求フラ
グ76をセットする。
【0175】また、リソースマネージャは、ステップS
1694で代わりのアレイコントローラB51を制御す
るデバイスアダプタモジュールB19に対して、正常終
了完了信号を受け取っていない書込命令の書込処理タス
クの処理依頼を発行する。その依頼を受けたデバイスア
ダプタは、ステップS1695で、受領した処理内容が
書込処理であり、かつ異常が発生したアレイコントロー
ラA50に代わる交代デバイスパス処理であることを認
識し、ステップS1696で、パリテイデータを再構築
するためのパリティ生成フラグという特別なフラグを書
込命令に付加してアレイコントローラB51に発行す
る。
【0176】パリティ生成フラグが付加された書込命令
を受領したアレイコントローラB51は、ステップS1
697で制御装置10内の不揮発性メモリ34に記憶さ
れた当該書込処理における新データ(D0new )40を
読み出し、その読み出したデータをディスク装置32−
1に書き込む。
【0177】そして、ステップS1698で、アレイコ
ントローラB51は、データ更新を行うディスク装置3
2−1とパリティ用のディスク装置32−5を除く他の
ディスク装置32−2,32−3,32−4から、更新
するデータと同じパリティグループのデータ(D1,D
2,D3)を読み出し、それら読み出されたデータ(D
1,D2,D3)と新データ(D0new )との排他的論
理和(EOR)演算により新パリティ(Dpnew )を生
成し、それをパリティ用のディスク装置32−5に書き
込む。
【0178】最後に、ステップS1699で交代パス処
理要求フラグ76を下げて、データ書込処理を終了す
る。
【0179】ステップS1691でアレイコントローラ
A50から正常終了完了信号を受け取っていない書込命
令がない場合には、そのまま処理を終了する。
【0180】図17〜図20に示す実施の形態3によれ
ば、制御装置10内に不揮発性メモリ34を設け、デー
タの書込処理時に、その不揮発性メモリ34に新データ
(D0new )40、書込処理の段階を示すステータスお
よびそのステータスに示された処理を行ったアレイコン
トローラの識別フラグを格納した管理テーブル41、旧
データ(D0old )40−1および旧パリティ(Dpol
d )48を記憶するようにしたため、一方のアレイコン
トローラによる書込処理に異常が生じた場合に、もう一
方のアレイコントローラが異常を生じたアレイコントロ
ーラに代わって書込処理を継続して行うことができるの
で、データの整合性を保つことができる。
【0181】また、上記実施の形態3によれば、不揮発
性メモリ34に新データ(D0new)40、書込処理の
ステータスおよびアレイコントローラの識別フラグを格
納した管理テーブル41を記憶するようにしたため、デ
ータおよびパリティの書込動作中に電源断等により書込
処理が正常に終了しなかった場合、再び電源を投入した
時に、データ更新されるディスク装置とパリティ用のデ
ィスク装置以外のディスク装置から同一パリティグルー
プのデータ(D1,D2,D3)を読み出し、それらデ
ータ(D1,D2,D3)と不揮発性メモリ34に格納
された新データ(D0new )40とから新パリティ(D
pnew )48−1を生成し、その新パリティ(Dpnew
)48−1と新データ(D0new )40を新たにディ
スク装置に書き込むことによって、容易にデータを復旧
することができる。
【0182】(実施の形態4)図21は、本発明による
ディスクアレイ装置の実施の形態4を示す機能ブロック
図である。この実施の形態4のディスクアレイ装置で
は、図21に示すように、ホストコンピュータ18を接
続してなる制御装置10には、独立した電源62,64
により駆動される2つのアレイコントローラA50およ
びアレイコントローラB51が接続されており、それら
アレイコントローラA50とアレイコントローラB51
とにより例えば5台のディスク装置32−1,32−
2,32−3,32−4,32−5が制御されている。
なお、図2に示すディスクアレイ装置と同一の構成要素
については同一の符号を付して詳細な説明を省略する。
【0183】制御装置10内には、図示省略するが、実
施の形態1と同様にMPU、ROM、揮発性メモリ、キ
ャッシュファンクションエンジン、キャッシュメモリ、
リソースマネージャモジュール、サービスアダプタ、チ
ャネルインターフェースアダプタが設けられている。
【0184】アレイコントローラA50とアレイコント
ローラB51は同様の構成のものであり、特に図示しな
いが、図2に示す実施の形態1と同様に、制御装置10
の図示しないデバイスインターフェースアダプタに接続
される上位インターフェース、および複数台のディスク
装置32−1〜32−5を接続する下位インターフェー
スとなる複数のデバイスインターフェースアダプタが設
けられている。
【0185】また、アレイコントローラA50およびア
レイコントローラB51には、不揮発性メモリ34およ
びその不揮発性メモリ34に電源を供給するバックアッ
プ電源(図示せず)が設けられている。アレイコントロ
ーラA50の不揮発性メモリ34には、ディスク装置に
データを書き込む際に、例えば制御装置10から転送さ
れてきた新データ(D0new )40と、ディスク装置か
ら読み出された旧データ(D0old )40−1および旧
パリティ(Dpold )48と、新たに作成された新パリ
ティ(Dpnew )48−1と、書込処理段階を示すステ
ータス42およびそのステータスに示された処理を実行
したアレイコントローラを識別する自系フラグを格納し
た管理テーブル41が記憶される。
【0186】アレイコントローラB51の不揮発性メモ
リ34には、例えば、少なくとも新データ(D0new )
40−4、旧データ(D0old )40−5および旧パリ
ティ(Dpold )48−4が記憶される。
【0187】また、アレイコントローラA50およびア
レイコントローラB51には、それぞれ相手のコントロ
ーラと通信するための通信部82が設けられている。こ
の通信部82を介して、新データ(D0new )、旧デー
タ(D0old )および旧パリティ(Dpold )や書込処
理の正常終了通知などの授受が行われる。通信部82
は、例えばパーソナルコンピュータ等で一般的に採用さ
れているPCIバスを介して相互に接続されている。
【0188】また、アレイコントローラA50およびア
レイコントローラB51には、新データ(D0new )、
旧データ(D0old )および旧パリティ(Dpold )に
基づき、排他的論理和(EOR)演算を行って新パリテ
ィ(Dpnew )を作成する論理回路37が設けられてい
る。
【0189】A,B2つのアレイコントローラ50,5
1は何れも、ディスク装置32−1〜32−5にデータ
やパリティ等を書き込むことができる。
【0190】複数台(図示例では例えば5台)のディス
ク装置32−1〜32−5のうち、図21に示す例で
は、例えばディスク装置32−5がパリティ用として用
いられているとする。勿論、ディスク装置32−5はR
AID4であれば固定的にパリティ用として定められて
おり、RAID5については、現時点のデータアクセス
においてパリティ用として位置付けられていることにな
る。
【0191】図22には、アレイコントローラA50内
の不揮発性メモリ34に、管理テーブル41と新データ
(D0new )40と新パリティ(Dpnew )48−1を
記憶させるようにした例が示されている。この場合に
は、特に図示しないが、アレイコントローラB51内の
不揮発性メモリ34には、新データ(D0new )と新パ
リティ(Dpnew )が記憶される。
【0192】図23には、アレイコントローラA50内
の不揮発性メモリ34に、管理テーブル41と新データ
(D0new )40と、旧データ(D0old )および旧パ
リティ(Dpold )の排他的論理和(EOR)演算によ
り生成された中間パリティ(Dpint )48−5を記憶
させるようにした例が示されている。この場合には、特
に図示しないが、アレイコントローラB51内の不揮発
性メモリ34には、新データ(D0new )と中間パリテ
ィ(Dpint )が記憶される。
【0193】図21に示すディスクアレイ装置の処理動
作の流れについて説明する。このディスクアレイ装置の
全体的な処理動作の流れ、データ読出処理の流れは、そ
れぞれ図6および図13に示すフローチャートと概ね同
じである。従って、図21に示すディスクアレイ装置に
おける全体動作およびデータ読出処理の流れについての
説明を省略する。
【0194】図24は、図21に示すディスクアレイ装
置の書込処理の詳細を示したフローチャートである。な
お、図中右側に、各ステップのステータス(書込処理の
段階)を併記した。図24において、まずステップS2
671でアレイコントローラA50は、制御装置10か
ら書込命令とともに新データ(D0new )を受け取る
と、その新データ(D0new )40をアレイコントロー
ラA50内の不揮発性メモリ34に記憶する。この時の
ステータスは「新データの受領(Receivenew
data)」である。
【0195】そして、ステップS2672でアレイコン
トローラA50は通信部82を介して他方のアレイコン
トローラB51に新データ(D0new )を転送し、一
方、アレイコントローラB51は、転送されてきた新デ
ータ(D0new )を受け取ってアレイコントローラB5
1内の不揮発性メモリ34内に記憶する。これで、アレ
イコントローラB51に新データ(D0new )40−4
がコピーされたことになる。この時のステータスは「新
データの受領(Receive new data)」
である。
【0196】続いて、ステップS2673でアレイコン
トローラA50はディスク装置32−1,32−5から
旧データ(D0old )および旧パリティ(Dpold )を
読み出し、それら旧データ(D0old )40−1および
旧パリティ(Dpold )48をアレイコントローラA5
0内の不揮発性メモリ34に記憶する。この時のステー
タスは「旧データおよび旧パリティの読出し(Read
old data& parity)」である。
【0197】そして、ステップS2674でアレイコン
トローラA50は通信部82を介して他方のアレイコン
トローラB51に旧データ(D0old )および旧パリテ
ィ(Dpold )を転送し、一方、アレイコントローラB
51は、転送されてきた旧データ(D0old )および旧
パリティ(Dpold )を受け取ってアレイコントローラ
B51内の不揮発性メモリ34内に記憶する。
【0198】これで、アレイコントローラB51に旧デ
ータ(D0old )40−5および旧パリティ(Dpold
)48−4がコピーされたことになる。この時のステ
ータスは「旧データおよび旧パリティの読出し(Rea
d old data & parity)」である。
【0199】続いて、ステップS2675でアレイコン
トローラA50は、アレイコントローラA50内の不揮
発性メモリ34に記憶された新データ(D0new )40
と旧データ(D0old )40−1と旧パリティ(Dpol
d )48に基づいて新パリティ(Dpnew )48−1を
生成し、それをアレイコントローラA50内の不揮発性
メモリ34に記憶する。この時のステータスは「新パリ
ティの作成(Generate new parit
y)」である。
【0200】続いて、ステップS2676でアレイコン
トローラA50は、新データ(D0new )40と新パリ
ティ(Dpnew )48−1をディスク装置32−1,3
2−5の該当箇所に書き込む。この時のステータスは
「新データおよび新パリティの書込み(Write n
ew data & parity)」である。
【0201】続いて、ステップS2677でアレイコン
トローラA50は制御装置10に、書込処理が正常に終
了したことを通知する。この時のステータスは「新デー
タおよび新パリティの書込み(Write new d
ata & parity)」から、正常終了通知の完
了後に「終了(Finish)」となる。
【0202】続いて、ステップS2678でアレイコン
トローラA50はアレイコントローラB51に、書込処
理が正常に終了したことを通知する。この時のステータ
スは「終了(Finish)」となる。
【0203】続いて、ステップS2679でアレイコン
トローラA50は、アレイコントローラA50内の不揮
発性メモリ34に記憶された新データ(D0new )4
0、旧データ(D0old )40−1、旧パリティ(Dp
old )48、新パリティ(Dpnew )48−1およびス
テータス42の領域を解放する。この時のステータスは
「終了(Finish)」となる。
【0204】また、ステップS2680でアレイコント
ローラB51は、アレイコントローラA50からの正常
終了通知を受け取ったことによって、アレイコントロー
ラB51内の不揮発性メモリ34に記憶された新データ
(D0new )40−4、旧データ(D0old )40−
5、旧パリティ(Dpold )48−4の領域を解放す
る。この時のステータスは「終了(Finish)」と
なる。これで書込処理が終了する。
【0205】なお、書込処理中に、アレイコントローラ
A50への電源供給停止や、アレイコントローラA50
のハングアップ等の異常動作や、アレイコントローラA
50によるディスク装置への書込処理の中断などの異常
が発生して書込処理が中断された場合、図19に示す実
施の形態3における書込処理のように、アレイコントロ
ーラA50に代わって、アレイコントローラB51に書
込処理を継続して行わせるようにしてもよい。
【0206】図25は、図21に示すディスクアレイ装
置の復旧処理の詳細を示したフローチャートである。図
25において、電源が投入されると、まずステップS2
861でアレイコントローラA50(またはB51)
は、他系のコントローラすなわちアレイコントローラB
51(またはA50)が稼働中であるか否かの判断を行
う。
【0207】アレイコントローラB51(またはA5
0)が稼働中の場合には、ステップS2862で自系す
なわちアレイコントローラA50(またはB51)の書
込処理がアレイコントローラB51(またはA50)に
よって既に終了しているかどうかの判断を行う。
【0208】そして、自系の書込処理が終了していない
場合には、ステップS2683で、終了していない書込
処理をアレイコントローラA50とアレイコントローラ
B51の何れが行うかの調停を行う。この調停の方法に
ついては、例えばアレイコントローラA50およびアレ
イコントローラB51のうち先に起動したコントローラ
がマスターとなり、後から起動したコントローラがスレ
ーブとなって(その逆でもよい)、マスターとなったコ
ントローラが書込処理を行うようにしてもよい。あるい
は、予めアレイコントローラA50およびアレイコント
ローラB51に対してプライマリおよびセカンダリの優
先順位を付けておき、プライマリのコントローラが書込
処理を行うようにしてもよい。
【0209】調停により書込処理を行うコントローラが
決まったら、それを担当するアレイコントローラは、ス
テップS2864で自己の不揮発性メモリ34から新デ
ータ(D0new )を読み出すとともに、アレイコントロ
ーラA50内の不揮発性メモリ34からステータス42
を読み出し、ステップS2865で、読み出されたステ
ータスに基づいて書込処理を中断箇所から再開する。
【0210】そして、書込処理が終了したら、ステップ
S2866で、書込処理の再開を担当したアレイコント
ローラは、制御装置10に書込処理が正常に終了したこ
とを通知するとともに、ステップS2867で他方のア
レイコントローラにも書込処理が正常に終了したことを
通知する。
【0211】続いて、ステップS2868で、書込処理
の再開を担当したアレイコントローラは、自己の不揮発
性メモリ34に記憶された新データ(D0new )や旧デ
ータ(D0old )や旧パリティ(Dpold )、新パリテ
ィ(Dpnew )が記憶されている場合には新パリティ
(Dpnew )、およびステータスが記憶されている場合
にはステータスの領域を解放する。
【0212】また、ステップS2869で、書込処理の
再開を担当しなかったアレイコントローラも、自己の不
揮発性メモリ34に記憶された新データ(D0new )や
旧データ(D0old )や旧パリティ(Dpold )、新パ
リティ(Dpnew )が記憶されている場合には新パリテ
ィ(Dpnew )、およびステータスが記憶されている場
合にはステータスの領域を解放する。これで復旧処理が
終了する。
【0213】ステップS2862で、自系の書込処理が
終了している場合には、書込処理の再開を行わずに、ス
テップS2866へ進んで、書込処理の正常終了通知
(ステップS2866〜S2867)および不揮発性メ
モリ34の領域開放(ステップS2868〜S286
9)を行い、復旧処理を終了する。
【0214】また、ステップS2861で、他系のアレ
イコントローラB51(またはA50)が稼働していな
い場合には、ステップS2864へ進んで自系のアレイ
コントローラA50(またはB51)が書込処理を再開
し、ステップS2864〜S2869の処理を行い、復
旧処理を終了する。
【0215】なお、図22に示すように、不揮発性メモ
リ34に管理テーブル41と新データ(D0new )40
と新パリティ(Dpnew )48−1を記憶させる場合
や、図23に示すように、不揮発性メモリ34に管理テ
ーブル41と新データ(D0new )40と中間パリティ
(Dpint )48−5を記憶させる場合も同様である。
【0216】図21〜図25に示す実施の形態4によれ
ば、アレイコントローラA50およびアレイコントロー
ラB51内に不揮発性メモリ34を設け、データの書込
処理時に、アレイコントローラA50の不揮発性メモリ
34に新データ(D0new )40および書込処理の段階
を示すステータス42と、旧データ(D0old )40−
1や旧パリティ(Dpold )48や新パリティ(Dpne
w )48−1などを記憶し、さらにそれら各データをア
レイコントローラB51内の不揮発性メモリ34にコピ
ーしておくようにしたため、データおよびパリティの書
込動作中に電源断等により書込処理が正常に終了しなか
った場合、再び電源を投入した時に、アレイコントロー
ラA50内の不揮発性メモリ34またはアレイコントロ
ーラB51内の不揮発性メモリ34に格納された新デー
タを用いることにより、容易にデータを復旧することが
できる。
【0217】また、上記実施の形態4によれば、一方の
アレイコントローラによる書込処理に異常が生じた場合
に、もう一方のアレイコントローラが異常を生じたアレ
イコントローラに代わって書込処理を継続して行うこと
ができるので、データの整合性を保つことができる。
【0218】(実施の形態5)図26は、本発明による
ディスクアレイ装置の実施の形態5を示す機能ブロック
図である。この実施の形態5のディスクアレイ装置で
は、図26に示すように、ホストコンピュータ18を接
続してなる制御装置10には、独立した電源62,64
により駆動される2つのアレイコントローラA50およ
びアレイコントローラB51が接続されており、それら
アレイコントローラA50とアレイコントローラB51
とにより例えば5台のディスク装置32−1,32−
2,32−3,32−4,32−5が制御されていると
ともに、アレイコントローラA50とアレイコントロー
ラB51には、アレイコントローラA50およびアレイ
コントローラB51の何れからもデータの書込みおよび
読出しを行うことができる不揮発性メモリ34を備えた
共有デバイス90が接続されている。
【0219】この不揮発性メモリ34は、バックアップ
電源91により電源が供給されている。なお、図2に示
すディスクアレイ装置と同一の構成要素については同一
の符号を付して詳細な説明を省略する。
【0220】制御装置10内には、図示省略するが、実
施の形態1と同様にMPU、ROM、揮発性メモリ、キ
ャッシュファンクションエンジン、キャッシュメモリ、
リソースマネージャモジュール、サービスアダプタ、チ
ャネルインターフェースアダプタが設けられている。
【0221】アレイコントローラA50とアレイコント
ローラB51は同様の構成のものであり、特に図示しな
いが、図2に示す実施の形態1と同様に、制御装置10
の図示しないデバイスインターフェースアダプタに接続
される上位インターフェース、および複数台のディスク
装置32−1〜32−5を接続する下位インターフェー
スとなる複数のデバイスインターフェースアダプタが設
けられている。
【0222】また、アレイコントローラA50およびア
レイコントローラB51には、新データ(D0new )、
旧データ(D0old )および旧パリティ(Dpold )に
基づき、排他的論理和(EOR)演算を行って新パリテ
ィ(Dpnew )を作成する論理回路(図示省略)が設け
られている。
【0223】A,B2つのアレイコントローラ50,5
1は何れも、ディスク装置32−1〜32−5にデータ
やパリティ等を書き込むことができる。
【0224】不揮発性メモリ34には、ディスク装置に
データを書き込む際に、その書込処理を実行するアレイ
コントローラ(図示例では、アレイコントローラA5
0)から転送されてきた新データ(D0new )40−
6、旧データ(D0old )40−7、旧パリティ(Dp
old )48−6およびステータス42等の管理情報を格
納した管理テーブル41−1が記憶される。
【0225】また、このディスクアレイ装置では、アレ
イコントローラA50およびアレイコントローラB51
にそれぞれ他方のアレイコントローラの電源供給状態を
監視する電源監視部93が設けられており、書込動作中
のアレイコントローラの電源供給状態を監視するように
なっている。電源監視部93は、例えば定期的に他方の
アレイコントローラにメッセージを送り、それに対する
応答を監視するようになっている。
【0226】複数台(図示例では例えば5台)のディス
ク装置32−1〜32−5のうち、図26に示す例で
は、例えばディスク装置32−5がパリティ用として用
いられているとする。勿論、ディスク装置32−5はR
AID4であれば固定的にパリティ用として定められて
おり、RAID5については、現時点のデータアクセス
においてパリティ用として位置付けられていることにな
る。
【0227】図27には、共有デバイス90内の不揮発
性メモリ34に記憶される管理テーブル41−1の記憶
内容の一例が示されている。同図に示すように、管理テ
ーブル41−1には、例えばそれぞれ書込処理を区別す
るための識別子を表す「op_id」、当該書込処理が
対象としているロジカルブロックアドレスを表す「da
ta LBA」、旧データ(D0old )を一時的に格納
するためのアドレスを表す「old data add
ress」、新データ(D0new )を一時的に格納する
ためのアドレスを表す「new data addre
ss」、旧パリティ(Dpold )を一時的に格納するた
めのアドレスを表す「old parity addr
ess」、新パリティ(Dpnew )を一時的に格納する
ためのアドレスを表す「new parity add
ress」、この管理テーブル41−1を管理するアレ
イコントローラを識別する番号等の識別子を表す「ar
ray controller #」、および書込処理
の現在のステータスを表す「write statu
s」が記憶される。
【0228】図26に示すディスクアレイ装置の処理動
作の流れについて説明する。このディスクアレイ装置の
全体的な処理動作の流れ、データ読出処理の流れおよび
復旧処理の流れは、それぞれ図6、図13および図12
に示すフローチャートと概ね同じである。従って、図2
6に示すディスクアレイ装置における全体動作、復旧処
理およびデータ読出処理の流れについての説明を省略す
る。
【0229】図28は、図26に示すディスクアレイ装
置の書込処理の詳細を示したフローチャートである。図
28において、ホストコンピュータ18からのライトコ
マンドを受け取ると、まずステップS3671で制御装
置10はアレイコントローラA50に対してデータの書
込命令を発行する。
【0230】アレイコントローラA50は、書込命令と
ともに新データ(D0new )40を受け取ると、ステッ
プS3672で共有デバイス90内の不揮発性メモリ3
4に新データ(D0new )40−6、旧データ(D0ol
d )40−7、旧パリティ(Dpold )48−6および
管理テーブル41−1を格納してから、ステップS36
73で、新データ(D0new )40をディスク装置32
−1に書き込むとともに、新データ(D0new )40と
旧データ(D0old )40−1と旧パリティ(Dpold
)48に基づいて新パリティ(Dpnew )を生成し、
それをパリティ用のディスク装置32−5に書き込むと
いう通常の書込処理を開始する。
【0231】この通常の書込処理中に、書込動作中のア
レイコントローラ、すなわちアレイコンロとローラA5
0の電源が遮断された場合、ステップS3674で電源
監視部93はその電源遮断を検知し、ステップS367
5で電源監視部93は他のアレイコントローラ、すなわ
ちアレイコントローラB51にアレイコントローラA5
0の電源断を通知する。
【0232】ステップS3676で、電源断の通知を受
け取ったアレイコントローラB51は、共有デバイス9
0内の不揮発性メモリ34から新データ(D0new )4
0−6と旧データ(D0old )40−7と旧パリティ
(Dpold )48−6と管理テーブル41−1内の管理
情報を読み出し、ステップS3677で、アレイコント
ローラB51はアレイコントローラA50の中断された
書込処理を継続して行う。
【0233】そして、ステップS3678で、アレイコ
ントローラB51による書込処理の終了後、共有デバイ
ス90内の不揮発性メモリ34の領域を解放し、書込処
理を終了する。
【0234】ステップS3674でアレイコンロとロー
ラA50の電源遮断が検知されなかった場合には、ステ
ップS3678へ進んで共有デバイス90内の不揮発性
メモリ34の領域を解放し、書込処理を終了する。
【0235】図29には、図26に示すように電源監視
部93によりアレイコントローラの電源遮断を監視する
代わりに、アレイコントローラ50,51に他のアレイ
コントローラを監視するコントローラ監視部95を設
け、このコントローラ監視部95により所定時間おきに
他のコントローラの電源供給状態を監視するようにした
例が示されている。他の構成については図26に示す装
置と同じであるので、詳細な説明を省略する。
【0236】コントローラ監視部95は、例えば定期的
に他方のアレイコントローラにメッセージを送り、それ
に対する応答を監視するようになっている。
【0237】図29に示すディスクアレイ装置の処理動
作の流れについて説明する。このディスクアレイ装置の
全体的な処理動作の流れ、データ読出処理の流れおよび
復旧処理の流れは、図26に示す装置と同じ、すなわち
それぞれ図6、図13および図12に示すフローチャー
トと概ね同じである。従って、図29に示すディスクア
レイ装置における全体動作、復旧処理およびデータ読出
処理の流れについての説明を省略する。
【0238】図30は、図29に示すディスクアレイ装
置の書込処理の詳細を示したフローチャートである。図
30において、ホストコンピュータ18からのライトコ
マンドを受け取ると、まずステップS3681で制御装
置10はアレイコントローラA50に対してデータの書
込命令を発行する。
【0239】アレイコントローラA50は、書込命令と
ともに新データ(D0new )40を受け取ると、ステッ
プS3682で共有デバイス90内の不揮発性メモリ3
4に新データ(D0new )40−6、旧データ(D0ol
d )40−7、旧パリティ(Dpold )48−6および
管理テーブル41−1を格納してから、ステップS36
83で、新データ(D0new )40をディスク装置32
−1に書き込むとともに、新データ(D0new )40と
旧データ(D0old )40−1と旧パリティ(Dpold
)48に基づいて新パリティ(Dpnew )を生成し、
それをパリティ用のディスク装置32−5に書き込むと
いう通常の書込処理を開始する。
【0240】この通常の書込処理中に、書込動作中のア
レイコントローラ、すなわちアレイコンロとローラA5
0の電源が遮断された場合、ステップS3684で、所
定時間おきにアレイコントローラA50の状態を監視し
ている、アレイコントローラB51のコントローラ監視
部95はその電源遮断を検知する。そして、ステップS
3685でアレイコントローラB51は、共有デバイス
90内の不揮発性メモリ34に格納された書込処理のス
テータスを参照し、アレイコントローラA50の電源遮
断時にアレイコントローラA50が書込処理中であった
か否かを判断する。
【0241】書込途中の命令があれば、ステップS36
86でアレイコントローラB51は、共有デバイス90
内の不揮発性メモリ34から新データ(D0new )40
−6と旧データ(D0old )40−7と旧パリティ(D
pold )48−6と管理テーブル41−1内の管理情報
を読み出し、ステップS3687で、アレイコントロー
ラB51はアレイコントローラA50の中断された書込
処理を継続して行う。
【0242】そして、ステップS3688で、アレイコ
ントローラB51による書込処理の終了後、共有デバイ
ス90内の不揮発性メモリ34の領域を解放し、書込処
理を終了する。
【0243】ステップS3684でアレイコンロとロー
ラA50の電源遮断が検知されなかった場合、およびス
テップS3685で電源遮断時にアレイコントローラA
50が書込途中でなかった場合には、ステップS368
8へ進んで共有デバイス90内の不揮発性メモリ34の
領域を解放し、書込処理を終了する。
【0244】図26〜図30に示す実施の形態5によれ
ば、アレイコントローラA50およびアレイコントロー
ラB51の何れからもアクセス可能な共有デバイス90
内に不揮発性メモリ34を設け、データの書込処理の開
始時に、その不揮発性メモリ34に新データ(D0new
)40−6、旧データ(D0old )40−7、旧パリ
ティ(Dpold )48−6およびステータス等を含む管
理テーブル41−1を記憶しておくようにしたため、一
方のアレイコントローラによる書込処理に異常が生じた
場合に、もう一方のアレイコントローラが異常を生じた
アレイコントローラに代わって書込処理を継続して行う
ことができるので、データの整合性を保つことができ
る。
【0245】また、上記実施の形態5によれば、データ
およびパリティの書込動作中に全体の電源断等により書
込処理が正常に終了しなかった場合、再び電源を投入し
た時に、共有デバイス90内の不揮発性メモリ34に格
納されたデータおよび管理情報を用いることにより、容
易にデータを復旧することができる。
【0246】(実施の形態6)図31は、本発明による
ディスクアレイ装置の実施の形態6を示す機能ブロック
図である。この実施の形態6のディスクアレイ装置で
は、図31に示すように、ホストコンピュータ18を接
続してなる制御装置10には、アレイコントローラ50
が接続されており、そのアレイコントローラ50により
例えば5台のディスク装置32−1,32−2,32−
3,32−4,32−5が制御されている。そして、ア
レイコントローラ50および全ディスク装置32−1〜
32−5は無停電電源供給ユニット98により電源供給
されている。なお、図2に示すディスクアレイ装置と同
一の構成要素については同一の符号を付して詳細な説明
を省略する。
【0247】一般に、ディスク装置32−1〜32−5
に格納されたデータの不整合は、ディスク装置に対して
書込処理が行われている際にディスク装置32−1〜3
2−5やアレイコントローラ50への電源供給が停止し
て書込処理が中断されることにより発生する。
【0248】無停電電源供給ユニット98は、バッテリ
を内蔵しており、停電等によりAC電力の供給が停止し
た場合などに、停電発生時にアレイコントローラ50が
保持している仕掛かり中の書込動作が終了するまでの
間、バッテリによりディスク装置32−1〜32−5や
アレイコントローラ50の電源をバックアップするよう
になっている。
【0249】図31に示す実施の形態6によれば、無停
電電源供給ユニット98によりアレイコントローラ50
の電源をバックアップしているため、電源へのAC入力
が停止した場合や、電源とアレイコントローラ50と間
の電源供給が何らかの障害により停止した場合でも電源
供給が継続して行われるので、アレイコントローラ50
の書込動作が中断されずに済み、データ不整合の発生を
防ぐことができる。
【0250】また上記実施の形態6によれば、無停電電
源供給ユニット98によりディスク装置32−1〜32
−5への電源供給をバックアップしているため、電源と
ディスク装置32−1〜32−5との間の電源供給が何
らかの障害により停止した場合でも電源供給が継続して
行われるので、アレイコントローラ50による書込動作
が中断されずに済み、データ不整合の発生を防ぐことが
できる。
【0251】なお、本発明は、上記各実施の形態に限定
されるものではなく、発明の要旨を逸脱しない範囲で、
種々設計変更可能であるのはいうまでもない。
【0252】また、上記各実施の形態においては、書込
処理中に電源断が発生した後、再び電源を投入した時の
復旧処理について説明したが、本発明は、電源断による
障害の他に、書込処理中に他の致命的な障害が発生した
ことにより書込処理が正常に終了しなかった場合のデー
タ復旧処理にも適用することができる。
【0253】
【発明の効果】本発明によれば、電源断等により中断さ
れた書込処理が再開された時に、新データの書込みを指
定されたディスク装置およびパリティ用のディスク装置
の、新データのディスク書込位置に対応する位置に格納
されたデータおよびパリティと、不揮発性メモリに格納
されている新データとを用いて新パリティを生成するこ
とによって復旧処理が行われるため、故障しているディ
スク装置がある場合でも容易にデータを復旧することが
できる。つまり、故障しているディスク装置がある状態
で、中断された書込処理の再開時にパリティが整合して
いないために復旧処理を行おうとした場合、従来は、故
障しているディスク装置から復旧に必要なデータを正常
に読み出すことができないためパリティを再生すること
ができない、すなわち復旧処理を行うことができかった
が、本発明によればその不都合を回避することができ
る。
【図面の簡単な説明】
【図1】本発明によるディスクアレイ装置の原理説明図
である。
【図2】本発明によるディスクアレイ装置の実施の形態
1を示す構成図である。
【図3】本発明によるディスクアレイ装置の実施の形態
1の、1台のディスク装置が故障状態にある場合の機能
ブロック図である。
【図4】本発明によるディスクアレイ装置の実施の形態
1の、故障しているディスク装置がない場合の機能ブロ
ック図である。
【図5】実施の形態1において不揮発性メモリに記憶さ
れる管理テーブルの記憶内容の一例を示す模式図であ
る。
【図6】本発明によるディスクアレイ装置の実施の形態
1における全体的な処理動作を示すフローチャートであ
る。
【図7】本発明によるディスクアレイ装置の実施の形態
1におけるデータ書込およびパリティ更新処理の詳細を
示すフローチャートである。
【図8】本発明によるディスクアレイ装置の実施の形態
1における特別なデータ書込処理の詳細を示すフローチ
ャートである。
【図9】本発明によるディスクアレイ装置の実施の形態
1における通常のデータ書込処理の詳細を示すフローチ
ャートである。
【図10】本発明によるディスクアレイ装置の実施の形
態1における復旧処理の詳細を示すフローチャートであ
る。
【図11】本発明によるディスクアレイ装置の実施の形
態1におけるNFT時の復旧処理の詳細を示すフローチ
ャートである。
【図12】本発明によるディスクアレイ装置の実施の形
態1におけるFT時の復旧処理の詳細を示すフローチャ
ートである。
【図13】本発明によるディスクアレイ装置の実施の形
態1におけるデータ読出処理の詳細を示すフローチャー
トである。
【図14】本発明によるディスクアレイ装置の実施の形
態2を示す構成図である。
【図15】本発明によるディスクアレイ装置の実施の形
態2の、1台のディスク装置が故障状態にある場合の機
能ブロック図である。
【図16】本発明によるディスクアレイ装置の実施の形
態2の、故障しているディスク装置がない場合の機能ブ
ロック図である。
【図17】本発明によるディスクアレイ装置の実施の形
態3を示す構成図である。
【図18】本発明によるディスクアレイ装置の実施の形
態3の機能ブロック図である。
【図19】本発明によるディスクアレイ装置の実施の形
態3における書込処理の詳細を示すフローチャートであ
る。
【図20】本発明によるディスクアレイ装置の実施の形
態3において、異常が発生したアレイコントローラに対
して異常発生前に発行している他機番に対しての書込命
令に対する処理の詳細を示すフローチャートである。
【図21】本発明によるディスクアレイ装置の実施の形
態4を示す機能ブロック図である。
【図22】実施の形態4において不揮発性メモリに管理
テーブルと新データと新パリティを記憶させるようにし
た例を示す模式図である。
【図23】実施の形態4において不揮発性メモリに管理
テーブルと新データと中間パリティを記憶させるように
した例を示す模式図である。
【図24】本発明によるディスクアレイ装置の実施の形
態4における書込処理の詳細を示すフローチャートであ
る。
【図25】本発明によるディスクアレイ装置の実施の形
態4における復旧処理の詳細を示すフローチャートであ
る。
【図26】本発明によるディスクアレイ装置の実施の形
態5を示す機能ブロック図である。
【図27】実施の形態5において不揮発性メモリに記憶
される管理テーブルの記憶内容の一例を示す模式図であ
る。
【図28】本発明によるディスクアレイ装置の実施の形
態5における書込処理の詳細を示すフローチャートであ
る。
【図29】本発明によるディスクアレイ装置の実施の形
態5の変形例を示す機能ブロック図である。
【図30】その変形例における書込処理の詳細を示すフ
ローチャートである。
【図31】本発明によるディスクアレイ装置の実施の形
態6を示す機能ブロック図である。
【図32】RAID0によるディスクアレイ装置の説明
図である。
【図33】RAID1によるディスクアレイ装置の説明
図である。
【図34】RAID3によるディスクアレイ装置の説明
図である。
【図35】RAID3におけるデータ分割の説明図であ
る。
【図36】RAID4によるディスクアレイ装置の説明
図である。
【図37】RAID5によるディスクアレイ装置の説明
図である。
【図38】RAID5によるデータ書換手順の説明図で
ある。
【図39】本発明者らによる先願発明に係るディスクア
レイ装置の機能ブロック図である。
【符号の説明】
D0old 旧データ D0new 新データ D2,D3 データ Dpold 旧パリティ Dpnew 新パリティ 10 制御装置 18 上位装置(ホストコンピュータ) 32−1〜32−5 ディスク装置 34 不揮発性メモリ 41,41−1 管理情報(管理テーブル) 44 書込中フラグ 50,51 アレイコントローラ 55 電源監視手段(電源監視部) 56 電源供給停止通知手段(電源供給停止通知部) 57 パリティ生成手段(パリティ生成部) 62,64 電源 72 タスク生成手段(タスク生成部) 74 タスク情報テーブル 82 通信手段(通信部) 90 共有デバイス 91 バックアップ電源 93 電源監視手段 98 無停電電源供給手段(無停電電源供給ユニット) 110 特別書込実行手段 113 データ書込手段 116 パリティ生成手段 120 データ再現手段 154−1〜154−5 データエラー検出手段
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成11年2月3日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0009
【補正方法】変更
【補正内容】
【0009】[RAID2]RAID2のディスクアレ
イ装置はデータをビットやバイト単位でストライピング
(分割)し、それぞれのディスク装置に並列に読み書き
を行う。ストライピングしたデータは全てのディスク装
置で物理的に同じセクタに記録する。エラー訂正コード
としてはデータから生成したハミングコードを使用す
る。データ用ディスク装置の他にハミングコーを記録
するためのディスク装置を持ち、ハミングコーから故
障したディスク装置を特定して、データを復元する。こ
のようにハミングコードによる冗長性を備えることでデ
ィスク装置が故障しても正しいデータを確保できるが、
ディスク装置の利用効率が悪いために実用化されていな
い。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0231
【補正方法】変更
【補正内容】
【0231】この通常の書込処理中に、書込動作中のア
レイコントローラ、すなわちアレイコンローラA50
の電源が遮断された場合、ステップS3674で電源監
視部93はその電源遮断を検知し、ステップS3675
で電源監視部93は他のアレイコントローラ、すなわち
アレイコントローラB51にアレイコントローラA50
の電源断を通知する。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0234
【補正方法】変更
【補正内容】
【0234】ステップS3674でアレイコンローラ
A50の電源遮断が検知されなかった場合には、ステッ
プS3678へ進んで共有デバイス90内の不揮発性メ
モリ34の領域を解放し、書込処理を終了する。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0240
【補正方法】変更
【補正内容】
【0240】この通常の書込処理中に、書込動作中のア
レイコントローラ、すなわちアレイコンローラA50
の電源が遮断された場合、ステップS3684で、所定
時間おきにアレイコントローラA50の状態を監視して
いる、アレイコントローラB51のコントローラ監視部
95はその電源遮断を検知する。そして、ステップS3
685でアレイコントローラB51は、共有デバイス9
0内の不揮発性メモリ34に格納された書込処理のステ
ータスを参照し、アレイコントローラA50の電源遮断
時にアレイコントローラA50が書込処理中であったか
否かを判断する。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0243
【補正方法】変更
【補正内容】
【0243】ステップS3684でアレイコンローラ
A50の電源遮断が検知されなかった場合、およびステ
ップS3685で電源遮断時にアレイコントローラA5
0が書込途中でなかった場合には、ステップS3688
へ進んで共有デバイス90内の不揮発性メモリ34の領
域を解放し、書込処理を終了する。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 町田 達彦 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 (72)発明者 岩谷 沢男 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 (72)発明者 依光 圭一 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 (72)発明者 鎌倉 早苗 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 (72)発明者 矢澤 悟史 神奈川県横浜市港北区新横浜2丁目4番19 号 株式会社富士通プログラム技研内 (72)発明者 栗原 拓弥 神奈川県横浜市港北区新横浜2丁目4番19 号 株式会社富士通プログラム技研内 (72)発明者 菅沢 康良 神奈川県横浜市港北区新横浜2丁目4番19 号 株式会社富士通プログラム技研内

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 指定されたディスク装置の書込位置に格
    納されている旧データを読み出した後に上位装置から転
    送された新データを該書込位置に書き込むとともに、パ
    リティ用ディスク装置の、前記新データのディスク書込
    位置に対応する位置に格納された旧パリティ、前記旧デ
    ータおよび前記新データに基づいて生成した新パリティ
    を、前記旧パリティのディスク格納位置に書き込むこと
    によりデータ更新を行うようにされたディスクアレイ装
    置において、 上位装置から転送された新データを格納する不揮発性メ
    モリと、 書込処理が中断された後、該中断された書込処理が再開
    された時に、該不揮発性メモリに前記新データが格納さ
    れており、かつ新データの書込みを指定された第1のデ
    ィスク装置およびパリティ用の第2のディスク装置の2
    つのディスク装置を除く第3のディスク装置から該当す
    るデータを正常に読み出すことができないためにパリテ
    ィの再生が不可能である場合に、前記第1のディスク装
    置および前記第2のディスク装置の、前記新データのデ
    ィスク書込位置に対応する位置に格納されたデータおよ
    びパリティと、前記不揮発性メモリに格納されている新
    データとを用いて新パリティを生成することにより復旧
    処理を行う特別書込実行手段と、 を具備することを特徴とするディスクアレイ装置。
  2. 【請求項2】 前記不揮発性メモリには、さらに前記第
    1のディスク装置、前記第2のディスク装置および前記
    第3のディスク装置を除く残りの全ディスク装置の、前
    記新データのディスク書込位置に対応する位置に格納さ
    れた前記データと、生成された前記新パリティとが格納
    されるようになっており、 前記特別書込実行手段は、前記不揮発性メモリに格納さ
    れた前記新データと、前記第1のディスク装置、前記第
    2のディスク装置および前記第3のディスク装置を除く
    残りの全ディスク装置の該当する前記データと、生成さ
    れた前記新パリティとを、対応するディスク装置に同時
    並列的に書き込むように構成されていることを特徴とす
    る請求項1に記載のディスクアレイ装置。
  3. 【請求項3】 前記不揮発性メモリには、上位装置から
    の書込処理命令を受け取ってからディスク装置に対する
    書込動作が正常に終了するまでの間、書込処理中を表す
    書込中フラグおよび書込処理の進行状況を示す管理情報
    が格納されることを特徴とする請求項1または2に記載
    のディスクアレイ装置。
  4. 【請求項4】 独立した電源により駆動され、かつ複数
    台のディスク装置に対して、データおよびパリティの書
    込動作並びに読出動作を実行する複数のアレイコントロ
    ーラと、該アレイコントローラを制御する制御装置を具
    備し、指定されたディスク装置の書込位置に格納されて
    いる旧データを読み出した後に上位装置から転送された
    新データを該書込位置に書き込むとともに、パリティ用
    ディスク装置の、前記新データのディスク書込位置に対
    応する格納位置から読み出された旧パリティと前記旧デ
    ータと前記新データに基づいて生成した新パリティを、
    前記旧パリティのディスク格納位置に書き込むことによ
    りデータ更新を行うようにされたディスクアレイ装置に
    おいて、 前記制御装置は、上位装置から書込処理を命令された際
    に、ディスク装置に対する書込動作が実行される前に、
    少なくとも前記新データと前記旧データと前記旧パリテ
    ィを格納する不揮発性メモリと、 複数の前記アレイコントローラのうち電源供給が停止さ
    れたアレイコントローラがあることを通知された時に、
    電源供給が停止されたアレイコントローラにより実行さ
    れていた書込処理または該アレイコントローラにより実
    行される予定でありかつ処理が完了していない書込処理
    を他のアレイコントローラに割り当てるためのタスクを
    生成するタスク生成手段と、 該タスク生成手段により生成されたタスクを格納するタ
    スク情報テーブルと、を具備するとともに、 複数の前記アレイコントローラは、相互に電源供給状態
    を監視する電源監視手段と、 他のアレイコントローラの電源供給停止を検出したこと
    を制御装置に通知する電源供給停止通知手段と、 新データの書込みを指定された前記ディスク装置と前記
    パリティ用ディスク装置を除く残りの全ディスク装置
    の、前記新データのディスク書込位置に対応する格納位
    置から読み出されたデータおよび前記不揮発性メモリか
    ら転送されてきた新データとに基づいて新パリティを生
    成するパリティ生成手段と、 を具備することを特徴とするディスクアレイ装置。
  5. 【請求項5】 前記不揮発性メモリには、書込処理の進
    行状況を示す管理情報が格納されるようになっており、
    前記タスク生成手段は前記不揮発性メモリに格納された
    前記管理情報に基づいてタスクを生成するように構成さ
    れていることを特徴とする請求項4に記載のディスクア
    レイ装置。
  6. 【請求項6】 独立した電源により駆動され、かつ複数
    台のディスク装置に対して、データおよびパリティの書
    込動作並びに読出動作を実行する複数のアレイコントロ
    ーラと、該アレイコントローラを制御する制御装置を具
    備し、指定されたディスク装置の書込位置に格納されて
    いる旧データを読み出した後に上位装置から転送された
    新データを該書込位置に書き込むとともに、パリティ用
    ディスク装置の、前記新データのディスク書込位置に対
    応する格納位置から読み出された旧パリティと前記旧デ
    ータと前記新データに基づいて生成した新パリティを、
    前記旧パリティのディスク格納位置に書き込むことによ
    りデータ更新を行うようにされたディスクアレイ装置に
    おいて、 複数の前記アレイコントローラは、上位装置から書込処
    理を命令された際に、ディスク装置に対する書込動作が
    実行される前に、少なくとも前記新データと前記旧デー
    タと前記旧パリティを格納する不揮発性メモリと、 他のアレイコントローラとの間でデータおよびパリティ
    の授受を行い、一方のアレイコントローラ内の前記不揮
    発性メモリに前記新データと前記旧データと前記旧パリ
    ティが格納されている場合に、ディスク装置に対する書
    込動作が実行される前に、該一方のアレイコントローラ
    では、前記不揮発性メモリに格納された前記新データと
    前記旧データと前記旧パリティを他方のアレイコントロ
    ーラへ送信し、また他方のアレイコントローラでは、前
    記一方のアレイコントローラから送られてきた前記新デ
    ータと前記旧データと前記旧パリティを受信して該他方
    のアレイコントローラ内の前記不揮発性メモリに格納す
    る通信手段と、 を具備することを特徴とするディスクアレイ装置。
  7. 【請求項7】 前記不揮発性メモリには、書込処理の進
    行状況を示す管理情報が格納されることを特徴とする請
    求項6に記載のディスクアレイ装置。
  8. 【請求項8】 前記一方のアレイコントローラの書込動
    作が中断された後に、中断された該アレイコントローラ
    が正常に稼動可能な状態に復帰した時、該一方のアレイ
    コントローラ、または書込動作の中断前に該一方のアレ
    イコントローラから前記新データと前記旧データと前記
    旧パリティを受け取った前記他方のアレイコントローラ
    が、それぞれの不揮発性メモリ内に格納された前記新デ
    ータと前記旧データと前記旧パリティに基づいて、中断
    された書込処理を再び行うように構成されていることを
    特徴とする請求項6または7に記載のディスクアレイ装
    置。
  9. 【請求項9】 複数台のディスク装置と、該ディスク装
    置に対してデータおよびパリティの書込動作並びに読出
    動作を実行するアレイコントローラとを具備し、指定さ
    れたディスク装置の書込位置に格納されている旧データ
    を読み出した後に上位装置から転送された新データを該
    書込位置に書き込むとともに、パリティ用ディスク装置
    の、前記新データのディスク書込位置に対応する格納位
    置から読み出された旧パリティと前記旧データと前記新
    データに基づいて生成した新パリティを、前記旧パリテ
    ィのディスク格納位置に書き込むことによりデータ更新
    を行うようにされたディスクアレイ装置において、 少なくとも、複数台の前記ディスク装置の電源供給およ
    び前記アレイコントローラの電源供給をバックアップす
    る無停電電源供給手段を具備することを特徴とするディ
    スクアレイ装置。
  10. 【請求項10】 指定されたディスク装置の書込位置に
    格納されている旧データを読み出した後に上位装置から
    転送された新データを該書込位置に書き込むとともに、
    パリティ用ディスク装置の、前記新データのディスク書
    込位置に対応する位置に格納された旧パリティ、前記旧
    データおよび前記新データに基づいて生成した新パリテ
    ィを、前記旧パリティのディスク格納位置に書き込むこ
    とによりデータ更新を行うようにされたディスクアレイ
    装置において、 一パリティの基礎となるデータ群の内、少なくとも2つ
    のディスク装置のデータを正常に読み出すことができな
    い場合に、その正常にデータを読み出すことができない
    当該2つのディスク装置に任意のデータを書き込み、該
    書き込まれた任意のデータと前記パリティの基礎となる
    データ群の内の正常に読み出されたデータとを用いて新
    パリティを生成することにより復旧処理を行う特別書込
    実行手段と、 該特別書込実行手段により書き込まれた任意のデータに
    対する読出しに対してデータチェックを応答するデータ
    エラー検出手段と、 を具備することを特徴とするディスクアレイ装置。
JP30223197A 1997-11-04 1997-11-04 ディスクアレイ装置 Expired - Fee Related JP3618529B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP30223197A JP3618529B2 (ja) 1997-11-04 1997-11-04 ディスクアレイ装置
US09/064,780 US6408400B2 (en) 1997-11-04 1998-04-23 Disk array device
EP98303316A EP0915420A3 (en) 1997-11-04 1998-04-28 Disk array device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30223197A JP3618529B2 (ja) 1997-11-04 1997-11-04 ディスクアレイ装置

Publications (2)

Publication Number Publication Date
JPH11143649A true JPH11143649A (ja) 1999-05-28
JP3618529B2 JP3618529B2 (ja) 2005-02-09

Family

ID=17906536

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30223197A Expired - Fee Related JP3618529B2 (ja) 1997-11-04 1997-11-04 ディスクアレイ装置

Country Status (3)

Country Link
US (1) US6408400B2 (ja)
EP (1) EP0915420A3 (ja)
JP (1) JP3618529B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001034427A (ja) * 1999-07-23 2001-02-09 Fujitsu Ltd デバイス制御装置及び制御方法
JP2007200357A (ja) * 2007-04-20 2007-08-09 Hitachi Ltd ディスク制御装置
US7370148B2 (en) 2005-03-14 2008-05-06 Fujitsu Limited Storage system, control method thereof, and program
JP2009514047A (ja) * 2003-06-28 2009-04-02 インターナショナル・ビジネス・マシーンズ・コーポレーション 多重化冗長ストレージへの安全な書き込みを行う装置及び方法
JP2010146625A (ja) * 2008-12-17 2010-07-01 Toshiba Storage Device Corp 記憶装置および記憶装置制御方法
JP2011065480A (ja) * 2009-09-17 2011-03-31 Nec Corp 電源制御装置及びその制御方法並びにストレージシステム
WO2013089298A1 (ko) * 2011-12-16 2013-06-20 엘지전자 주식회사 디스크 어레이의 제어 장치 및 방법
US11449251B2 (en) 2019-12-18 2022-09-20 Fujitsu Limited Storage control device and non-transitory computer-readable storage medium for storing control program

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000152134A (ja) * 1998-11-11 2000-05-30 Mitsubishi Electric Corp 映像再生装置
US6546499B1 (en) * 1999-10-14 2003-04-08 International Business Machines Corporation Redundant array of inexpensive platters (RAIP)
US6654831B1 (en) * 2000-03-07 2003-11-25 International Business Machine Corporation Using multiple controllers together to create data spans
US20040181731A1 (en) * 2000-04-12 2004-09-16 Advantest Corporation Semiconductor test system storing pin calibration data, commands and other data in non-volatile memory
US6629166B1 (en) * 2000-06-29 2003-09-30 Intel Corporation Methods and systems for efficient connection of I/O devices to a channel-based switched fabric
EP1178390A3 (en) * 2000-08-04 2006-12-27 Hitachi, Ltd. Information storage system with increased reliability for continuous operation, and recording control method
US6702039B2 (en) 2001-03-30 2004-03-09 Schlumberger Technology Corporation Perforating gun carriers and their methods of manufacture
US6925529B2 (en) * 2001-07-12 2005-08-02 International Business Machines Corporation Data storage on a multi-tiered disk system
US6871263B2 (en) * 2001-08-28 2005-03-22 Sedna Patent Services, Llc Method and apparatus for striping data onto a plurality of disk drives
EP1361516A3 (en) * 2002-04-30 2011-05-18 Hitachi, Ltd. Method and system for backing up power supply of disk array device
JP4230189B2 (ja) 2002-10-03 2009-02-25 株式会社日立製作所 ディスクアレイ装置、及びその電源供給方法
JP2004234555A (ja) * 2003-01-31 2004-08-19 Hitachi Ltd ストレージシステムの制御方法、ストレージシステム、及びプログラム
JP4342804B2 (ja) * 2003-01-31 2009-10-14 株式会社日立製作所 ストレージシステムの制御方法、ストレージシステム、及びプログラム
JP2004234558A (ja) * 2003-01-31 2004-08-19 Hitachi Ltd 記憶デバイス制御装置、及びプログラム
JP4651913B2 (ja) 2003-02-17 2011-03-16 株式会社日立製作所 記憶装置システム
JP4060235B2 (ja) 2003-05-22 2008-03-12 株式会社日立製作所 ディスクアレイ装置及びディスクアレイ装置の制御方法
JP2004348464A (ja) * 2003-05-22 2004-12-09 Hitachi Ltd ストレージ装置、及び通信信号の整形回路
US7281177B2 (en) * 2003-07-14 2007-10-09 International Business Machines Corporation Autonomic parity exchange
US7254754B2 (en) * 2003-07-14 2007-08-07 International Business Machines Corporation Raid 3+3
JP2005115771A (ja) * 2003-10-09 2005-04-28 Hitachi Ltd ディスクアレイ装置
JP4156499B2 (ja) 2003-11-28 2008-09-24 株式会社日立製作所 ディスクアレイ装置
JP4497918B2 (ja) * 2003-12-25 2010-07-07 株式会社日立製作所 ストレージシステム
JP4634049B2 (ja) 2004-02-04 2011-02-16 株式会社日立製作所 ディスクアレイ装置における異常通知制御
JP2005227988A (ja) * 2004-02-12 2005-08-25 Hitachi Ltd ディスクアレイ装置、及びディスクアレイ装置の電源バックアップ方法
JP4933722B2 (ja) * 2004-06-16 2012-05-16 富士通株式会社 ディスク制御装置、ディスクパトロール方法およびディスクパトロールプログラム
US7814273B2 (en) * 2004-11-05 2010-10-12 Data Robotics, Inc. Dynamically expandable and contractible fault-tolerant storage system permitting variously sized storage devices and method
US7873782B2 (en) * 2004-11-05 2011-01-18 Data Robotics, Inc. Filesystem-aware block storage system, apparatus, and method
US8066515B2 (en) * 2004-11-17 2011-11-29 Nvidia Corporation Multiple graphics adapter connection systems
US7290199B2 (en) * 2004-11-19 2007-10-30 International Business Machines Corporation Method and system for improved buffer utilization for disk array parity updates
US20060123271A1 (en) * 2004-11-19 2006-06-08 International Business Machines Corporation RAID environment incorporating hardware-based finite field multiplier for on-the-fly XOR
US7392458B2 (en) * 2004-11-19 2008-06-24 International Business Machines Corporation Method and system for enhanced error identification with disk array parity checking
US20060123312A1 (en) * 2004-11-19 2006-06-08 International Business Machines Corporation Method and system for increasing parallelism of disk accesses when restoring data in a disk array system
US7392428B2 (en) * 2004-11-19 2008-06-24 International Business Machines Corporation Method and system for recovering from abnormal interruption of a parity update operation in a disk array system
JP2006268673A (ja) * 2005-03-25 2006-10-05 Hitachi Ltd 記憶制御装置及び記憶デバイスのエラー制御方法
US7523350B2 (en) * 2005-04-01 2009-04-21 Dot Hill Systems Corporation Timer-based apparatus and method for fault-tolerant booting of a storage controller
US7711989B2 (en) * 2005-04-01 2010-05-04 Dot Hill Systems Corporation Storage system with automatic redundant code component failure detection, notification, and repair
US9384818B2 (en) 2005-04-21 2016-07-05 Violin Memory Memory power management
US8200887B2 (en) 2007-03-29 2012-06-12 Violin Memory, Inc. Memory management system and method
US20070103671A1 (en) * 2005-11-08 2007-05-10 Honeywell International Inc. Passive-optical locator
JP4577299B2 (ja) * 2006-11-15 2010-11-10 船井電機株式会社 光ディスク記録再生装置
JP2009076172A (ja) * 2007-09-25 2009-04-09 Hitachi Ltd データ伝送方法、光ディスク記録方法及び光ディスク記録装置
JP2010033287A (ja) * 2008-07-28 2010-02-12 Hitachi Ltd ストレージサブシステム及びこれを用いたデータ検証方法
JP5300496B2 (ja) * 2009-01-07 2013-09-25 パナソニック株式会社 半導体記憶装置、ホスト機器及び半導体記憶システム
US8495417B2 (en) * 2009-01-09 2013-07-23 Netapp, Inc. System and method for redundancy-protected aggregates
WO2010137178A1 (en) 2009-05-25 2010-12-02 Hitachi,Ltd. Storage subsystem
WO2011101917A1 (en) * 2010-02-19 2011-08-25 Hitachi,Ltd. Disk array control device with shortened time recovery following power restoration and method therefor
US8885969B2 (en) 2010-03-29 2014-11-11 Sony Corporation Method and apparatus for detecting coding artifacts in an image
JP2013131192A (ja) * 2011-12-22 2013-07-04 Fujitsu Ltd ストレージ装置及びストレージ装置の制御方法
EP2831735A1 (en) * 2012-04-27 2015-02-04 Hitachi, Ltd. Storage system and storage apparatus
US9665431B2 (en) * 2013-12-31 2017-05-30 Teredata Us, Inc. Interrupted write protection with generic storage
US10001947B1 (en) * 2015-05-08 2018-06-19 American Megatrends, Inc. Systems, methods and devices for performing efficient patrol read operations in a storage system
CN106708443B (zh) * 2017-01-03 2020-01-17 北京百度网讯科技有限公司 数据读写方法及装置
US10496335B2 (en) 2017-06-30 2019-12-03 Intel Corporation Method and apparatus for performing multi-object transformations on a storage device
CN110727611B (zh) * 2019-09-09 2022-01-07 无锡江南计算技术研究所 一种带状态监测的可配置一致性验证系统
US20240012460A1 (en) * 2022-07-11 2024-01-11 Pure Storage, Inc. Monitoring a Power Connection Topology of a Data Center

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5379417A (en) * 1991-11-25 1995-01-03 Tandem Computers Incorporated System and method for ensuring write data integrity in a redundant array data storage system
DE69320388T2 (de) * 1992-03-06 1999-05-12 Data General Corp Datenbehandlung in einem System mit einem Prozessor zur Steuerung des Zugangs zu einer Mehrzahl von Datenspeicherplatten
US5325363A (en) 1992-05-11 1994-06-28 Tandem Computers Incorporated Fault tolerant power supply for an array of storage devices
JP2857288B2 (ja) 1992-10-08 1999-02-17 富士通株式会社 ディスクアレイ装置
JP2888401B2 (ja) 1992-08-03 1999-05-10 インターナショナル・ビジネス・マシーンズ・コーポレイション 冗長ディスクドライブアレイに対する同期方法
DE69434381T2 (de) * 1993-06-04 2006-01-19 Network Appliance, Inc., Sunnyvale Verfahren zur Paritätsdarstellung in einem Raid-Untersystem unter Verwendung eines nichtflüchtigen Speichers
US5533190A (en) 1994-12-21 1996-07-02 At&T Global Information Solutions Company Method for maintaining parity-data consistency in a disk array
EP0721162A2 (en) * 1995-01-06 1996-07-10 Hewlett-Packard Company Mirrored memory dual controller disk storage system
US5913927A (en) * 1995-12-15 1999-06-22 Mylex Corporation Method and apparatus for management of faulty data in a raid system
US5734814A (en) * 1996-04-15 1998-03-31 Sun Microsystems, Inc. Host-based RAID-5 and NV-RAM integration
US5889933A (en) * 1997-01-30 1999-03-30 Aiwa Co., Ltd. Adaptive power failure recovery

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001034427A (ja) * 1999-07-23 2001-02-09 Fujitsu Ltd デバイス制御装置及び制御方法
JP2009514047A (ja) * 2003-06-28 2009-04-02 インターナショナル・ビジネス・マシーンズ・コーポレーション 多重化冗長ストレージへの安全な書き込みを行う装置及び方法
JP4848272B2 (ja) * 2003-06-28 2011-12-28 インターナショナル・ビジネス・マシーンズ・コーポレーション 多重化冗長ストレージへの安全な書き込みを行う装置及び方法
US7370148B2 (en) 2005-03-14 2008-05-06 Fujitsu Limited Storage system, control method thereof, and program
JP2007200357A (ja) * 2007-04-20 2007-08-09 Hitachi Ltd ディスク制御装置
JP2010146625A (ja) * 2008-12-17 2010-07-01 Toshiba Storage Device Corp 記憶装置および記憶装置制御方法
JP2011065480A (ja) * 2009-09-17 2011-03-31 Nec Corp 電源制御装置及びその制御方法並びにストレージシステム
WO2013089298A1 (ko) * 2011-12-16 2013-06-20 엘지전자 주식회사 디스크 어레이의 제어 장치 및 방법
US11449251B2 (en) 2019-12-18 2022-09-20 Fujitsu Limited Storage control device and non-transitory computer-readable storage medium for storing control program

Also Published As

Publication number Publication date
US20020007469A1 (en) 2002-01-17
JP3618529B2 (ja) 2005-02-09
EP0915420A2 (en) 1999-05-12
US6408400B2 (en) 2002-06-18
EP0915420A3 (en) 2010-02-10

Similar Documents

Publication Publication Date Title
JP3618529B2 (ja) ディスクアレイ装置
AU710907B2 (en) Expansion of the number of drives in a raid set while maintaining integrity of migrated data
JP3575964B2 (ja) ディスクアレイ装置
US5089958A (en) Fault tolerant computer backup system
JP2501752B2 (ja) コンピユ―タ・システムのストレ―ジ装置及びデ―タのストア方法
US6883112B2 (en) Storage device, backup and fault tolerant redundant method and computer program code of plurality storage devices
JP5768587B2 (ja) ストレージシステム、ストレージ制御装置およびストレージ制御方法
JP3732869B2 (ja) 外部記憶装置
JP3058743B2 (ja) ディスクアレイ制御装置
EP0608344B1 (en) System for backing-up data for rollback
US6006342A (en) Failover and failback system for a direct access storage device
JP2006252126A (ja) ディスクアレイ装置及びその再構築方法
US6816981B2 (en) Disk array device including a memory with backup power supply and method thereof
JPH10105467A (ja) 冗長キャッシュを備えているraidコントローラにおけるキャッシュのコンシステンシーを維持するための方法および装置
JPH1049308A (ja) ホスト・ベースraid−5及びnv−ram統合システム
US6931519B1 (en) Method and apparatus for reliable booting device
JPH09269871A (ja) ディスクアレイ装置におけるデータ再冗長化方式
JP2857288B2 (ja) ディスクアレイ装置
JP2006079219A (ja) ディスクアレイ制御装置およびディスクアレイ制御方法
JP3597349B2 (ja) 記憶サブシステムおよびその障害回復方法
JPH07306758A (ja) ディスクアレイ装置及びその制御方法
KR19990051729A (ko) 이중 어레이 제어기를 갖는 래이드 시스템의 구조
JP2004102815A (ja) 論理ディスク間データコピー方法、論理ディスク間データコピー用プログラム、及びディスクコントローラ
US20050081088A1 (en) Array controller for disk array, and method for rebuilding disk array
JP2830840B2 (ja) ディスクアレイ修復処理方式及び方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040409

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040706

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040906

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041110

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20081119

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20081119

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091119

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20101119

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20101119

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20111119

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20111119

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20121119

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20121119

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20131119

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees