JPH09305328A - ディスクアレイ装置 - Google Patents
ディスクアレイ装置Info
- Publication number
- JPH09305328A JPH09305328A JP8117414A JP11741496A JPH09305328A JP H09305328 A JPH09305328 A JP H09305328A JP 8117414 A JP8117414 A JP 8117414A JP 11741496 A JP11741496 A JP 11741496A JP H09305328 A JPH09305328 A JP H09305328A
- Authority
- JP
- Japan
- Prior art keywords
- data
- disk
- host
- parity
- disk array
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/109—Sector level checksum or ECC, i.e. sector or stripe level checksum or ECC in addition to the RAID parity calculation
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)
Abstract
(57)【要約】
【課題】 本発明はディスクアレイ装置に関し、リード
パリティチェックで整合性に矛盾が有った場合でも、正
しいホストデータを再構築し、ホストに対し常に正しい
データが転送できるようにする。 【解決手段】RAIDレベル3の装置で、CRC付加処
理部11がホストデータにCRCを付加しディスクアレ
イコントローラ4がそのデータを分割し、分割データか
らパリティを作成しディスク装置6−1〜6−nへ格納
する。リード時はパリティ処理部19がリードパリティ
チェックを行い整合性に矛盾が有る場合、ディスクアレ
イコントローラ4では、データ用ディスク装置を1つず
つ順番に誤ったデータが格納されているものと仮定し、
前記ディスク装置を除く他のディスク装置の分割データ
及びパリティよりホストデータを再構築しそのホストデ
ータに対しCRCチェックを行い、整合性がとれれば正
しいホストデータとする。
パリティチェックで整合性に矛盾が有った場合でも、正
しいホストデータを再構築し、ホストに対し常に正しい
データが転送できるようにする。 【解決手段】RAIDレベル3の装置で、CRC付加処
理部11がホストデータにCRCを付加しディスクアレ
イコントローラ4がそのデータを分割し、分割データか
らパリティを作成しディスク装置6−1〜6−nへ格納
する。リード時はパリティ処理部19がリードパリティ
チェックを行い整合性に矛盾が有る場合、ディスクアレ
イコントローラ4では、データ用ディスク装置を1つず
つ順番に誤ったデータが格納されているものと仮定し、
前記ディスク装置を除く他のディスク装置の分割データ
及びパリティよりホストデータを再構築しそのホストデ
ータに対しCRCチェックを行い、整合性がとれれば正
しいホストデータとする。
Description
【0001】
【発明の属する技術分野】本発明は、複数のディスク装
置と前記ディスク装置を並列的に動作させてデータの読
み出し/書き込み制御を行うディスクアレイ制御装置を
備えたディスクアレイ装置に関する。
置と前記ディスク装置を並列的に動作させてデータの読
み出し/書き込み制御を行うディスクアレイ制御装置を
備えたディスクアレイ装置に関する。
【0002】
【従来の技術】以下、図面に基づいて従来例を説明す
る。 §1:ディスクアレイ装置の説明・・・図14参照 図14は従来のディスクアレイ装置の説明図である。デ
ィスクアレイ装置は内蔵した複数の磁気ディスク装置
(ハードディスク装置)を並列動作させることで、デー
タの読み出し/書き込み速度の高速化を図り、かつ冗長
構成の導入によって信頼性を向上させた外部記憶装置、
或いは補助記憶装置である。なお、以下の説明では、前
記磁気ディスク装置(又はハードディスク装置)を単に
「ディスク装置」と記す。
る。 §1:ディスクアレイ装置の説明・・・図14参照 図14は従来のディスクアレイ装置の説明図である。デ
ィスクアレイ装置は内蔵した複数の磁気ディスク装置
(ハードディスク装置)を並列動作させることで、デー
タの読み出し/書き込み速度の高速化を図り、かつ冗長
構成の導入によって信頼性を向上させた外部記憶装置、
或いは補助記憶装置である。なお、以下の説明では、前
記磁気ディスク装置(又はハードディスク装置)を単に
「ディスク装置」と記す。
【0003】図示のように、ディスクアレイ装置は、ホ
スト1に接続されたディスクアレイ制御装置2と、複数
のRAID(詳細は後述する)を構成するディスク装置
6−1、6−2、6−3・・・6−m、6−n(n=m
+1)で構成されている。また、前記ディスクアレイ制
御装置2には、ホストアダプタ3と、ディスクアレイコ
ントローラ4と、複数のデバイスアダプタ(DA)5−
1、5−2、5−3・・・5−m、5−nが設けてあ
る。そして、前記デバイスアダプタ5−1〜5−nに
は、それぞれ前記各ディスク装置6−1〜6−nが接続
されている。
スト1に接続されたディスクアレイ制御装置2と、複数
のRAID(詳細は後述する)を構成するディスク装置
6−1、6−2、6−3・・・6−m、6−n(n=m
+1)で構成されている。また、前記ディスクアレイ制
御装置2には、ホストアダプタ3と、ディスクアレイコ
ントローラ4と、複数のデバイスアダプタ(DA)5−
1、5−2、5−3・・・5−m、5−nが設けてあ
る。そして、前記デバイスアダプタ5−1〜5−nに
は、それぞれ前記各ディスク装置6−1〜6−nが接続
されている。
【0004】前記のように、ディスクアレイ装置は、ホ
スト1に接続されて運用されるが、この場合、ホスト1
とディスクアレイ制御装置2のホストアダプタ3間をイ
ンターフェースケーブル(例えば、SCSI−2用ケー
ブル)により接続する。ホストアダプタ3はホスト1に
対するインターフェース制御を行うものであり、ディス
クアレイコントローラ4は、データのリード/ライト時
の各種制御等を行うものである。前記デバイスアダプタ
(DA)5−1〜5−nは、データのリード/ライト時
にディスクアレイコントローラ4の指示によりディスク
装置6−1〜6−nに対する制御を行うものである。
スト1に接続されて運用されるが、この場合、ホスト1
とディスクアレイ制御装置2のホストアダプタ3間をイ
ンターフェースケーブル(例えば、SCSI−2用ケー
ブル)により接続する。ホストアダプタ3はホスト1に
対するインターフェース制御を行うものであり、ディス
クアレイコントローラ4は、データのリード/ライト時
の各種制御等を行うものである。前記デバイスアダプタ
(DA)5−1〜5−nは、データのリード/ライト時
にディスクアレイコントローラ4の指示によりディスク
装置6−1〜6−nに対する制御を行うものである。
【0005】前記ディスクアレイ装置はホスト1から見
ると1台のディスク装置に見える。このディスクアレイ
装置では、例えば、ホストアダプタ3がホスト1から送
られたデータを受信すると、そのデータをディスクアレ
イコントローラ4へ送る。そして、ディスクアレイコン
トローラ4は、例えば、前記データを複数のデータに分
割し、デバイスアダプタ5−1〜5−mを介して複数の
ディスク装置6−1〜6−m(データ用ディスク装置)
に格納すると共に、前記データに対するパリティデータ
を作成し、デバイスアダプタ5−nを介して残りの1台
のディスク装置6−n(パリティ用ディスク装置)に格
納する。
ると1台のディスク装置に見える。このディスクアレイ
装置では、例えば、ホストアダプタ3がホスト1から送
られたデータを受信すると、そのデータをディスクアレ
イコントローラ4へ送る。そして、ディスクアレイコン
トローラ4は、例えば、前記データを複数のデータに分
割し、デバイスアダプタ5−1〜5−mを介して複数の
ディスク装置6−1〜6−m(データ用ディスク装置)
に格納すると共に、前記データに対するパリティデータ
を作成し、デバイスアダプタ5−nを介して残りの1台
のディスク装置6−n(パリティ用ディスク装置)に格
納する。
【0006】このようにディスクアレイ装置は、大きな
サイズのデータを複数のディスク装置に同時に書き込ん
だり、或いは複数のディスク装置から同時に読み出した
りすることで1台のディスク装置よりもリード/ライト
の高速化を実現し、かつデータの信頼性を向上させるこ
とができる。従って、装置の高性能化を図ることができ
るものである。
サイズのデータを複数のディスク装置に同時に書き込ん
だり、或いは複数のディスク装置から同時に読み出した
りすることで1台のディスク装置よりもリード/ライト
の高速化を実現し、かつデータの信頼性を向上させるこ
とができる。従って、装置の高性能化を図ることができ
るものである。
【0007】§2:RAIDの説明 前記ディスクアレイ装置は、複数のディスク装置(ハー
ドディスク装置)を使用することにより、単独のディス
ク装置よりも高い信頼性と性能を実現する方式である。
これは、1987年に米国のカリフォルニア大学バーク
レイ校のデビッド.A.パターソン(David.A.Patterso
n) 教授らが提唱したRAID(Redundant Arrays of I
nexpensive Disks )と呼ばれるものである。すなわ
ち、前記RAIDは前記デビッド.A.パターソン教授
らの論文に由来する呼び方である。
ドディスク装置)を使用することにより、単独のディス
ク装置よりも高い信頼性と性能を実現する方式である。
これは、1987年に米国のカリフォルニア大学バーク
レイ校のデビッド.A.パターソン(David.A.Patterso
n) 教授らが提唱したRAID(Redundant Arrays of I
nexpensive Disks )と呼ばれるものである。すなわ
ち、前記RAIDは前記デビッド.A.パターソン教授
らの論文に由来する呼び方である。
【0008】前記のように、高速に大量のデータを多く
のディスク装置にアクセスし、ディスク故障時における
データの冗長性を実現するディスクアレイ方式RAID
は、1から5までのレベル(以下、前記レベルをRAI
D1、RAID2、RAID3、RAID4、RAID
5とも記す)に分類されており、レベル3からレベル5
(RAID3、RAID4、RAID5)には、ディス
ク装置の故障時にデータを回復させるためのパリティデ
ータを保持する。
のディスク装置にアクセスし、ディスク故障時における
データの冗長性を実現するディスクアレイ方式RAID
は、1から5までのレベル(以下、前記レベルをRAI
D1、RAID2、RAID3、RAID4、RAID
5とも記す)に分類されており、レベル3からレベル5
(RAID3、RAID4、RAID5)には、ディス
ク装置の故障時にデータを回復させるためのパリティデ
ータを保持する。
【0009】前記RAIDのレベルの中でも、レベル4
(RAID4)、レベル5(RAID5)では、複数の
同時読み出しが可能であり、更に、レベル5(RAID
5)においては、パリティを格納するディスク装置を固
定しないことで、複数の同時書き込みをも可能としてお
り、大量のトランザクション処理において効果を発揮す
る。
(RAID4)、レベル5(RAID5)では、複数の
同時読み出しが可能であり、更に、レベル5(RAID
5)においては、パリティを格納するディスク装置を固
定しないことで、複数の同時書き込みをも可能としてお
り、大量のトランザクション処理において効果を発揮す
る。
【0010】§3:RAIDのレベルの説明・・・図1
5参照 図15はRAIDのレベル説明図であり、図はRAI
D3のデータ転送(書き込み)、図はRAID5のデ
ータ転送(書き込み)を示した図である。なお、図15
において、3はホストアダプタ、4はディスクアレイコ
ントローラ、A、B、C、D、Eはそれぞれデバイスア
ダプタ(DA)、6−1〜6−5はディスク装置であ
る。
5参照 図15はRAIDのレベル説明図であり、図はRAI
D3のデータ転送(書き込み)、図はRAID5のデ
ータ転送(書き込み)を示した図である。なお、図15
において、3はホストアダプタ、4はディスクアレイコ
ントローラ、A、B、C、D、Eはそれぞれデバイスア
ダプタ(DA)、6−1〜6−5はディスク装置であ
る。
【0011】(1) :RAID1の説明 RAID1は、ディスク装置を二重化した、いわゆるミ
ラードディスク構成である。すなわち、2つのディスク
装置に同じデータが書かれる。ディスク装置のコストが
2倍かかるが、最もシンプルで実績もある。性能に関し
ては、データの書き込み時は、2つのディスク装置への
書き込み完了を待つために実行時間が少し延びるが、デ
ータの読み取り時は、2つのディスク装置のどちらかが
空いていれば原理上は実行可能なので、性能向上とな
る。
ラードディスク構成である。すなわち、2つのディスク
装置に同じデータが書かれる。ディスク装置のコストが
2倍かかるが、最もシンプルで実績もある。性能に関し
ては、データの書き込み時は、2つのディスク装置への
書き込み完了を待つために実行時間が少し延びるが、デ
ータの読み取り時は、2つのディスク装置のどちらかが
空いていれば原理上は実行可能なので、性能向上とな
る。
【0012】(2) :RAID2の説明 RAID2は、入力データを分割し(ストライピン
グ)、インターリーブをかけて複数のディスク装置に分
散して格納するものである。この場合、前記分割したデ
ータに対するエラー訂正符号を格納するディスク装置を
冗長ディスク装置とし、前記冗長ディスク装置のデータ
をハミングコードとしたものである。
グ)、インターリーブをかけて複数のディスク装置に分
散して格納するものである。この場合、前記分割したデ
ータに対するエラー訂正符号を格納するディスク装置を
冗長ディスク装置とし、前記冗長ディスク装置のデータ
をハミングコードとしたものである。
【0013】RAID2では、例えば、データ格納用の
ディスク装置が4台の場合、エラー訂正符号用のディス
ク装置は3台必要である。ディスク装置の特徴として
は、複数のディスク装置障害でもデータが失われないこ
とである。そのために、前記のように、複数の冗長ディ
スク装置を必要とし、正味のデータ量が少なくなるとい
う欠点がある。
ディスク装置が4台の場合、エラー訂正符号用のディス
ク装置は3台必要である。ディスク装置の特徴として
は、複数のディスク装置障害でもデータが失われないこ
とである。そのために、前記のように、複数の冗長ディ
スク装置を必要とし、正味のデータ量が少なくなるとい
う欠点がある。
【0014】(3) :RAID3の説明・・・図15の
図参照 RAID3は、入力データを分割し(ストライピン
グ)、インターリーブをかけて分割したデータを複数の
ディスク装置に分散して格納するものである。この場
合、前記分割したデータに対するエラー訂正符号を格納
するディスク装置を冗長ディスク装置とし、前記冗長デ
ィスク装置のデータをパリティデータとしたものであ
る。このため、RAID3ではデータ用のディスク装置
の数に関わらず、前記冗長ディスク装置(パリティデー
タ用ディスク装置)の台数は1台で済む。
図参照 RAID3は、入力データを分割し(ストライピン
グ)、インターリーブをかけて分割したデータを複数の
ディスク装置に分散して格納するものである。この場
合、前記分割したデータに対するエラー訂正符号を格納
するディスク装置を冗長ディスク装置とし、前記冗長デ
ィスク装置のデータをパリティデータとしたものであ
る。このため、RAID3ではデータ用のディスク装置
の数に関わらず、前記冗長ディスク装置(パリティデー
タ用ディスク装置)の台数は1台で済む。
【0015】例えば、RAID3では、図15の図に
示したように、データを複数のディスク装置6−1〜6
−4に対して並列的にリード/ライトするもので、1台
のパリティ用ディスク装置6−5を持つことを特徴とし
ている。データ転送速度は、並列度によりN倍(N:並
列動作させるデータ用ディスク装置の台数)となる。ま
た、1台のディスク装置に障害が発生しても、性能低下
はなく、原理的にはデータ転送中に障害が発生しても、
そのまま動作することも可能である。
示したように、データを複数のディスク装置6−1〜6
−4に対して並列的にリード/ライトするもので、1台
のパリティ用ディスク装置6−5を持つことを特徴とし
ている。データ転送速度は、並列度によりN倍(N:並
列動作させるデータ用ディスク装置の台数)となる。ま
た、1台のディスク装置に障害が発生しても、性能低下
はなく、原理的にはデータ転送中に障害が発生しても、
そのまま動作することも可能である。
【0016】(4) :RAID4の説明 RAID4はRAID3におけるストライピングユニッ
ト(分割単位)をセクタ単位(1又は数セクタ)とした
ものである。すなわち、前記RAID3では、複数のデ
ィスク装置を束ねてアクセスするため、ある程度大きな
単位でアクセスする時は性能上の効果が見られるが、小
さなデータ量のアクセスでは、個々のディスク装置にア
クセスを分散させた方が性能上有利である。このことか
ら、RAID4では、データは各ディスク装置に独立に
書くが、パリティディスク装置を持ち、各ディスク装置
の対応するビットから生成されたパリティを格納する。
ト(分割単位)をセクタ単位(1又は数セクタ)とした
ものである。すなわち、前記RAID3では、複数のデ
ィスク装置を束ねてアクセスするため、ある程度大きな
単位でアクセスする時は性能上の効果が見られるが、小
さなデータ量のアクセスでは、個々のディスク装置にア
クセスを分散させた方が性能上有利である。このことか
ら、RAID4では、データは各ディスク装置に独立に
書くが、パリティディスク装置を持ち、各ディスク装置
の対応するビットから生成されたパリティを格納する。
【0017】そのため、1台のディスク装置の障害で
も、データが失われない。欠点は、データ更新時に、必
ずデータディスク装置とパリティディスク装置の両方を
アクセスしなければならないことで、この場合のパリテ
ィディスク装置がボトルネックに成りやすい。
も、データが失われない。欠点は、データ更新時に、必
ずデータディスク装置とパリティディスク装置の両方を
アクセスしなければならないことで、この場合のパリテ
ィディスク装置がボトルネックに成りやすい。
【0018】(5) :RAID5の説明・・・図15の
図参照 RAID5は、RAID4の欠点であったパリティディ
スク装置へのアクセス集中を解消するために、パリティ
データを各ディスク装置6−1〜6−5に分散させたも
のである。しかし、依然としてデータの更新時には2つ
のディスクアレイ装置をアクセスしなければならない
し、パリティデータは、原理上、旧データとの差分をと
らなければ生成できないので、リード(読み出し)、デ
ータ生成、ライト(書き込み)というプロセスを取る必
要がある。
図参照 RAID5は、RAID4の欠点であったパリティディ
スク装置へのアクセス集中を解消するために、パリティ
データを各ディスク装置6−1〜6−5に分散させたも
のである。しかし、依然としてデータの更新時には2つ
のディスクアレイ装置をアクセスしなければならない
し、パリティデータは、原理上、旧データとの差分をと
らなければ生成できないので、リード(読み出し)、デ
ータ生成、ライト(書き込み)というプロセスを取る必
要がある。
【0019】更に、パリティデータによって、データ喪
失は事実上なくなったと言えるが、1台のディスクアレ
イ装置が故障した場合は、少なくとも元の装置性能を維
持することができない。故障したディスクアレイ装置の
データを作り出すのに、残ったディスクアレイ装置のデ
ータを総動員するからである。従って、ノンストップシ
ステムのように、ディスクアレイ装置の障害でシステム
を止めたくないものには向かない。
失は事実上なくなったと言えるが、1台のディスクアレ
イ装置が故障した場合は、少なくとも元の装置性能を維
持することができない。故障したディスクアレイ装置の
データを作り出すのに、残ったディスクアレイ装置のデ
ータを総動員するからである。従って、ノンストップシ
ステムのように、ディスクアレイ装置の障害でシステム
を止めたくないものには向かない。
【0020】前記RAID5のデータ転送(書き込み)
の1例は図15の図に示した通りである。図におい
て、P0、P1、P2、P3はパリティであり、パリテ
ィ生成のセクタグループ毎にパリティを格納するディス
ク装置を異ならせている。なお、RAID5でもRAI
D4と同様にストライピングユニットはセクタ単位(1
又は数セクタ)である。
の1例は図15の図に示した通りである。図におい
て、P0、P1、P2、P3はパリティであり、パリテ
ィ生成のセクタグループ毎にパリティを格納するディス
ク装置を異ならせている。なお、RAID5でもRAI
D4と同様にストライピングユニットはセクタ単位(1
又は数セクタ)である。
【0021】
【発明が解決しようとする課題】前記のような従来のも
のにおいては、次のような課題があった。 (1) :従来のディスクアレイ装置において、RAID3
やRAID5のレベルでは、データのリード時にパリテ
ィデータを使用せず、パリティ用ディスク装置を除く他
のディスク装置からリードしたデータからホストデータ
を再構築(復元)し、そのままホストへ転送していた。
このようなディスクアレイ装置では、リード時のパリテ
ィチェックをしていないので、仮にリードデータにデー
タ化けやデータ消失等があってもこれを検出することが
できず、データの信頼性が低下していた。
のにおいては、次のような課題があった。 (1) :従来のディスクアレイ装置において、RAID3
やRAID5のレベルでは、データのリード時にパリテ
ィデータを使用せず、パリティ用ディスク装置を除く他
のディスク装置からリードしたデータからホストデータ
を再構築(復元)し、そのままホストへ転送していた。
このようなディスクアレイ装置では、リード時のパリテ
ィチェックをしていないので、仮にリードデータにデー
タ化けやデータ消失等があってもこれを検出することが
できず、データの信頼性が低下していた。
【0022】(2) :従来のディスクアレイ装置におい
て、1台のデータ用ディスク装置が故障した場合、その
ディスク装置を除いて、他のディスク装置から読み出し
たデータからホストデータを再構築(復元)することも
知られていた。この場合、RAIDにおけるパリティを
使ったデータの再構築(復元)は、RAID3やRAI
D5においては、故障したディスク装置の再構築を正常
なディスク装置の各データの排他的論理和を取ることで
行っていた。
て、1台のデータ用ディスク装置が故障した場合、その
ディスク装置を除いて、他のディスク装置から読み出し
たデータからホストデータを再構築(復元)することも
知られていた。この場合、RAIDにおけるパリティを
使ったデータの再構築(復元)は、RAID3やRAI
D5においては、故障したディスク装置の再構築を正常
なディスク装置の各データの排他的論理和を取ることで
行っていた。
【0023】また、最近のディスクアレイ装置では、前
記排他的論理和機能を利用し、データリード時に、デー
タとパリティの整合性がとれているか調査する機能(リ
ードパリティチェック機能)が加えられているものが多
くなってきている。しかし、前記リードパリティチェッ
ク機能を備えた装置において、リード時のパリティチェ
ックを行い、その結果、データの整合性がとれたリード
データについは問題はないが、データの整合性が取れな
かったリードデータについては、ホストにリードデータ
の整合性がとれなかったということを通知するだけに留
まっていた。この場合、ホストへデータが送れなくなる
ので、データの消失が発生することになり、データの信
頼性が低下する。
記排他的論理和機能を利用し、データリード時に、デー
タとパリティの整合性がとれているか調査する機能(リ
ードパリティチェック機能)が加えられているものが多
くなってきている。しかし、前記リードパリティチェッ
ク機能を備えた装置において、リード時のパリティチェ
ックを行い、その結果、データの整合性がとれたリード
データについは問題はないが、データの整合性が取れな
かったリードデータについては、ホストにリードデータ
の整合性がとれなかったということを通知するだけに留
まっていた。この場合、ホストへデータが送れなくなる
ので、データの消失が発生することになり、データの信
頼性が低下する。
【0024】本発明は、このような従来の課題を解決
し、データの読み出し時にリードデータのパリティチェ
ックを行い、その結果、整合性に矛盾が発生した場合で
も、正しいホストデータを再構築して、ホストに対し常
に正しいデータの転送ができるようにすることを目的と
する。
し、データの読み出し時にリードデータのパリティチェ
ックを行い、その結果、整合性に矛盾が発生した場合で
も、正しいホストデータを再構築して、ホストに対し常
に正しいデータの転送ができるようにすることを目的と
する。
【0025】
【課題を解決するための手段】図1は本発明の説明図で
ある。本発明は前記の目的を達成するため、次のように
構成した。 (1) :複数のディスク装置6−1〜6−nと、各ディス
ク装置6−1〜6−nを並列的に動作させることでデー
タの書き込み/読み出し制御を行うディスクアレイ制御
装置2を備え、ディスクアレイ制御装置2により、ホス
ト1から転送されたホストデータを分割し、その分割デ
ータからパリティデータを作成して、前記分割データを
複数のデータ用ディスク装置6−1〜6−mに書き込む
と共に、前記パリティデータを1つのパリティ用ディス
ク装置6−nに書き込むRAIDレベル3のディスクア
レイ装置において、ディスクアレイ制御装置2は、前記
ホストデータに巡回冗長検査情報(以下単に「CRC」
とも記す)を付加し、このCRC付きホストデータを分
割し、この分割データからパリティデータを作成して前
記各ディスク装置6−1〜6−nへの書き込み制御を行
うデータ書き込み制御手段(ホストアダプタ3、ディス
クアレイコントローラ4、及びデバイスアダプタ5−1
〜5−nの一部)と、前記ディスク装置6−1〜6−m
から読み出した分割データからパリティデータを作成
し、このパリティデータを前記パリティ用ディスク装置
6−nから読み出したパリティデータと比較してパリテ
ィチェックを行うパリティチェック手段(パリティ処理
部19の一部)と、前記パリティチェック手段によるパ
リティチェックで整合性に矛盾が有る場合、前記複数の
データ用ディスク装置6−1〜6−m及びパリティ用デ
ィスク装置6−nを1つずつ順番に誤ったデータが格納
されているものと仮定し、この仮定の元で前記誤ったデ
ータが格納されているものと仮定したディスク装置を除
く他のディスク装置のデータよりホストデータを順次再
構築(復元)するホストデータ再構築手段(ディスクア
レイコントローラ4の一部)と、前記ホストデータ再構
築手段で再構築したホストデータに対してCRCチェッ
ク(巡回冗長検査情報チェック)を行って整合性がとれ
なかった場合、前記ホストデータ再構築手段で、誤った
データが格納されていると仮定したディスク装置を別の
ディスク装置と仮定し、再びこの仮定の元で再構築され
たホストデータに対し巡回冗長検査情報チェックを行う
処理を、整合性がとれるまで繰り返して行い、整合性が
とれた場合、そのホストデータを正しいホストデータと
する巡回冗長検査情報チェック手段(CRCチェック部
20)を備えている。
ある。本発明は前記の目的を達成するため、次のように
構成した。 (1) :複数のディスク装置6−1〜6−nと、各ディス
ク装置6−1〜6−nを並列的に動作させることでデー
タの書き込み/読み出し制御を行うディスクアレイ制御
装置2を備え、ディスクアレイ制御装置2により、ホス
ト1から転送されたホストデータを分割し、その分割デ
ータからパリティデータを作成して、前記分割データを
複数のデータ用ディスク装置6−1〜6−mに書き込む
と共に、前記パリティデータを1つのパリティ用ディス
ク装置6−nに書き込むRAIDレベル3のディスクア
レイ装置において、ディスクアレイ制御装置2は、前記
ホストデータに巡回冗長検査情報(以下単に「CRC」
とも記す)を付加し、このCRC付きホストデータを分
割し、この分割データからパリティデータを作成して前
記各ディスク装置6−1〜6−nへの書き込み制御を行
うデータ書き込み制御手段(ホストアダプタ3、ディス
クアレイコントローラ4、及びデバイスアダプタ5−1
〜5−nの一部)と、前記ディスク装置6−1〜6−m
から読み出した分割データからパリティデータを作成
し、このパリティデータを前記パリティ用ディスク装置
6−nから読み出したパリティデータと比較してパリテ
ィチェックを行うパリティチェック手段(パリティ処理
部19の一部)と、前記パリティチェック手段によるパ
リティチェックで整合性に矛盾が有る場合、前記複数の
データ用ディスク装置6−1〜6−m及びパリティ用デ
ィスク装置6−nを1つずつ順番に誤ったデータが格納
されているものと仮定し、この仮定の元で前記誤ったデ
ータが格納されているものと仮定したディスク装置を除
く他のディスク装置のデータよりホストデータを順次再
構築(復元)するホストデータ再構築手段(ディスクア
レイコントローラ4の一部)と、前記ホストデータ再構
築手段で再構築したホストデータに対してCRCチェッ
ク(巡回冗長検査情報チェック)を行って整合性がとれ
なかった場合、前記ホストデータ再構築手段で、誤った
データが格納されていると仮定したディスク装置を別の
ディスク装置と仮定し、再びこの仮定の元で再構築され
たホストデータに対し巡回冗長検査情報チェックを行う
処理を、整合性がとれるまで繰り返して行い、整合性が
とれた場合、そのホストデータを正しいホストデータと
する巡回冗長検査情報チェック手段(CRCチェック部
20)を備えている。
【0026】(2) :複数のディスク装置6−1〜6−n
と、前記各ディスク装置6−1〜6−nを並列的に動作
させることでデータの書き込み/読み出し制御を行うデ
ィスクアレイ制御装置2を備え、ディスクアレイ制御装
置2により、ホスト1から転送されたホストデータを分
割し、その分割データからパリティデータを作成して、
前記分割データを複数のデータ用ディスク装置6−1〜
6−mに書き込むと共に、前記パリティデータを1つの
パリティ用ディスク装置6−nに書き込むRAIDレベ
ル3のディスクアレイ装置において、ディスクアレイ制
御装置2は、前記ホストデータを分割し、この分割デー
タからパリティデータを作成し、前記各分割データ及び
パリティデータに時刻データを付加して前記ディスク装
置への書き込み制御を行うデータ書き込み制御手段(ホ
ストアダプタ3、ディスクアレイコントローラ4、及び
デバイスアダプタ5−1〜5−nの一部)と、前記ディ
スク装置6−1〜6−mから読み出した分割データから
パリティデータを作成し、このパリティデータを前記パ
リティ用ディスク装置6−nから読み出したパリティデ
ータと比較してパリティチェックを行うパリティチェッ
ク手段(パリティ処理部19の一部)と、前記パリティ
チェック手段によるパリティチェックで整合性に矛盾が
有る場合、前記全てのディスク装置6−1〜6−nに格
納されている時刻を比較し、一番古い時刻を持つデータ
を誤ったデータとし、その誤ったデータの格納されてい
るディスク装置を除く他の全てのディスク装置のデータ
よりホストデータを再構築するホストデータ再構築手段
を備えている。
と、前記各ディスク装置6−1〜6−nを並列的に動作
させることでデータの書き込み/読み出し制御を行うデ
ィスクアレイ制御装置2を備え、ディスクアレイ制御装
置2により、ホスト1から転送されたホストデータを分
割し、その分割データからパリティデータを作成して、
前記分割データを複数のデータ用ディスク装置6−1〜
6−mに書き込むと共に、前記パリティデータを1つの
パリティ用ディスク装置6−nに書き込むRAIDレベ
ル3のディスクアレイ装置において、ディスクアレイ制
御装置2は、前記ホストデータを分割し、この分割デー
タからパリティデータを作成し、前記各分割データ及び
パリティデータに時刻データを付加して前記ディスク装
置への書き込み制御を行うデータ書き込み制御手段(ホ
ストアダプタ3、ディスクアレイコントローラ4、及び
デバイスアダプタ5−1〜5−nの一部)と、前記ディ
スク装置6−1〜6−mから読み出した分割データから
パリティデータを作成し、このパリティデータを前記パ
リティ用ディスク装置6−nから読み出したパリティデ
ータと比較してパリティチェックを行うパリティチェッ
ク手段(パリティ処理部19の一部)と、前記パリティ
チェック手段によるパリティチェックで整合性に矛盾が
有る場合、前記全てのディスク装置6−1〜6−nに格
納されている時刻を比較し、一番古い時刻を持つデータ
を誤ったデータとし、その誤ったデータの格納されてい
るディスク装置を除く他の全てのディスク装置のデータ
よりホストデータを再構築するホストデータ再構築手段
を備えている。
【0027】(3) :複数のディスク装置6−1〜6−n
と、前記各ディスク装置6−1〜6−nを並列的に動作
させることでデータの書き込み/読み出し制御を行うデ
ィスクアレイ制御装置2を備え、ディスクアレイ制御装
置2により、ホスト1から転送されたホストデータをセ
クタ単位で分割し、その分割データからパリティデータ
を作成して、前記全てのディスク装置6−1〜6−nか
ら巡回的に1台を選択して前記パリティデータを書き込
むと共に、前記パリティデータを書き込むディスク装置
以外の全てのディスク装置に前記分割データを分配して
書き込むRAIDレベル5のディスクアレイ装置におい
て、ディスクアレイ制御装置2は、前記ホストデータを
セクタ単位で分割し、この分割データからパリティデー
タを作成して、前記各分割データ及びパリティデータに
時刻データを付加して前記ディスク装置への書き込み制
御を行うデータ書き込み制御手段(ホストアダプタ3、
ディスクアレイコントローラ4、及びデバイスアダプタ
5−1から5−nの一部)と、前記ディスク装置から読
み出した分割データからパリティデータを作成し、この
パリティデータを、前記ディスク装置から読み出したパ
リティデータと比較してパリティチェックを行うパリテ
ィチェック手段(パリティ処理部19の一部)と、前記
パリティチェック手段によるパリティチェックで整合性
に矛盾が有る場合、前記全てのディスク装置6−1〜6
−nに格納されている時刻を比較し、一番古い時刻を持
つデータを誤ったデータとし、その誤ったデータの格納
されているディスク装置を除く他の全てのディスク装置
のデータよりホストデータを再構築するホストデータ再
構築手段(ディスクアレイコントローラ4の一部)を備
えている。
と、前記各ディスク装置6−1〜6−nを並列的に動作
させることでデータの書き込み/読み出し制御を行うデ
ィスクアレイ制御装置2を備え、ディスクアレイ制御装
置2により、ホスト1から転送されたホストデータをセ
クタ単位で分割し、その分割データからパリティデータ
を作成して、前記全てのディスク装置6−1〜6−nか
ら巡回的に1台を選択して前記パリティデータを書き込
むと共に、前記パリティデータを書き込むディスク装置
以外の全てのディスク装置に前記分割データを分配して
書き込むRAIDレベル5のディスクアレイ装置におい
て、ディスクアレイ制御装置2は、前記ホストデータを
セクタ単位で分割し、この分割データからパリティデー
タを作成して、前記各分割データ及びパリティデータに
時刻データを付加して前記ディスク装置への書き込み制
御を行うデータ書き込み制御手段(ホストアダプタ3、
ディスクアレイコントローラ4、及びデバイスアダプタ
5−1から5−nの一部)と、前記ディスク装置から読
み出した分割データからパリティデータを作成し、この
パリティデータを、前記ディスク装置から読み出したパ
リティデータと比較してパリティチェックを行うパリテ
ィチェック手段(パリティ処理部19の一部)と、前記
パリティチェック手段によるパリティチェックで整合性
に矛盾が有る場合、前記全てのディスク装置6−1〜6
−nに格納されている時刻を比較し、一番古い時刻を持
つデータを誤ったデータとし、その誤ったデータの格納
されているディスク装置を除く他の全てのディスク装置
のデータよりホストデータを再構築するホストデータ再
構築手段(ディスクアレイコントローラ4の一部)を備
えている。
【0028】(4) :2台のディスク装置6−1、6−2
と、これらのディスク装置6−1、6−2を並列的に動
作させることでデータの書き込み/読み出し制御を行う
ディスクアレイ制御装置2を備え、ディスクアレイ制御
装置2により、ホスト1から転送されたホストデータを
前記2台のディスク装置6−1、6−2に書き込むRA
IDレベル1のディスクアレイ装置において、ディスク
アレイ制御装置2は、前記ホストデータに時刻データを
付加して前記ディスク装置6−1、6−2への書き込み
制御を行うデータ書き込み制御手段(ホストアダプタ
3、ディスクアレイコントローラ4、及びデバイスアダ
プタ5−1から5−nの一部)と、前記2台のディスク
装置6−1、6−2から読み出したデータを比較して両
者が不一致であった場合、前記2台のディスク装置6−
1、6−2に格納されている時刻を調べ、最新の時刻を
持つデータを正しいデータとする読み出し制御手段(デ
ィスクアレイコントローラ4、デバイスアダプタ5−1
〜5−nの一部)を備えている。
と、これらのディスク装置6−1、6−2を並列的に動
作させることでデータの書き込み/読み出し制御を行う
ディスクアレイ制御装置2を備え、ディスクアレイ制御
装置2により、ホスト1から転送されたホストデータを
前記2台のディスク装置6−1、6−2に書き込むRA
IDレベル1のディスクアレイ装置において、ディスク
アレイ制御装置2は、前記ホストデータに時刻データを
付加して前記ディスク装置6−1、6−2への書き込み
制御を行うデータ書き込み制御手段(ホストアダプタ
3、ディスクアレイコントローラ4、及びデバイスアダ
プタ5−1から5−nの一部)と、前記2台のディスク
装置6−1、6−2から読み出したデータを比較して両
者が不一致であった場合、前記2台のディスク装置6−
1、6−2に格納されている時刻を調べ、最新の時刻を
持つデータを正しいデータとする読み出し制御手段(デ
ィスクアレイコントローラ4、デバイスアダプタ5−1
〜5−nの一部)を備えている。
【0029】(5) :前記(2) 、(3) 、(4) のディスクア
レイ装置において、前記時刻データの代わりに、逐次更
新される更新カウンタのカウンタ値を用いた。 (6) :データを格納する複数のデータ記憶装置(例え
ば、ディスク装置5−1〜5−m)と、前記複数のデー
タ記憶装置に格納される複数のデータに対して付加され
た第1の冗長情報(例えば、ホストCRC)を格納する
第1の冗長情報記憶装置(例えば、ディスク装置5−1
〜5−mの内のいずれか1つの装置)と、前記複数のデ
ータと前記第1の冗長情報とに基づいて作成された第2
の冗長情報(例えば、バリティデータ)を格納する第2
の冗長情報記憶装置(例えば、ディスク装置5−n)と
を含んでなる複数の記憶装置を制御するためのディスク
アレイ制御部(ディスクアレイ制御装置2)を備えてな
るディスクアレイ装置であって、前記ディスクアレイ制
御部は、前記データ記憶装置にデータを格納し、前記第
1の冗長情報記憶装置に第1の冗長情報(例えば、ホス
トCRC)を格納する際に、前記第2の冗長情報記憶装
置に格納すべき当該データ及び第1の冗長情報用の第2
の冗長情報(例えば、パリティデータ)を作成する手段
(例えば、パリティ処理部19の一部)と、前記複数の
データ記憶装置からデータを読出す際に、前記データの
正常性を、前記第2の冗長情報記憶装置に格納された第
2の冗長情報に基づいて判定する手段(パリティ処理部
19の一部)と、前記データの正常性がないことが判定
された場合に、前記複数の記憶装置のうちの一つの記憶
装置を指定し、この指定された記憶装置を除く残りの記
憶装置に格納されている情報に基づいて、この指定され
た記憶装置に格納されていたデータの再構築を行う再構
築手段(ディスクアレイコントローラ4の一部)と、前
記再構築されたデータの整合性を前記第1の冗長情報記
憶装置に格納された第1の冗長情報に基づいて判定する
手段(例えば、CRCチェック部20)とを備えた。
レイ装置において、前記時刻データの代わりに、逐次更
新される更新カウンタのカウンタ値を用いた。 (6) :データを格納する複数のデータ記憶装置(例え
ば、ディスク装置5−1〜5−m)と、前記複数のデー
タ記憶装置に格納される複数のデータに対して付加され
た第1の冗長情報(例えば、ホストCRC)を格納する
第1の冗長情報記憶装置(例えば、ディスク装置5−1
〜5−mの内のいずれか1つの装置)と、前記複数のデ
ータと前記第1の冗長情報とに基づいて作成された第2
の冗長情報(例えば、バリティデータ)を格納する第2
の冗長情報記憶装置(例えば、ディスク装置5−n)と
を含んでなる複数の記憶装置を制御するためのディスク
アレイ制御部(ディスクアレイ制御装置2)を備えてな
るディスクアレイ装置であって、前記ディスクアレイ制
御部は、前記データ記憶装置にデータを格納し、前記第
1の冗長情報記憶装置に第1の冗長情報(例えば、ホス
トCRC)を格納する際に、前記第2の冗長情報記憶装
置に格納すべき当該データ及び第1の冗長情報用の第2
の冗長情報(例えば、パリティデータ)を作成する手段
(例えば、パリティ処理部19の一部)と、前記複数の
データ記憶装置からデータを読出す際に、前記データの
正常性を、前記第2の冗長情報記憶装置に格納された第
2の冗長情報に基づいて判定する手段(パリティ処理部
19の一部)と、前記データの正常性がないことが判定
された場合に、前記複数の記憶装置のうちの一つの記憶
装置を指定し、この指定された記憶装置を除く残りの記
憶装置に格納されている情報に基づいて、この指定され
た記憶装置に格納されていたデータの再構築を行う再構
築手段(ディスクアレイコントローラ4の一部)と、前
記再構築されたデータの整合性を前記第1の冗長情報記
憶装置に格納された第1の冗長情報に基づいて判定する
手段(例えば、CRCチェック部20)とを備えた。
【0030】(7) :前記(6) のディスクアレイ装置にお
いて、前記再構築手段によるデータの再構築と、前記判
定手段によるデータの整合性の判定を順次複数の記憶装
置に対して実行させるための制御手段とを含んでいる。
いて、前記再構築手段によるデータの再構築と、前記判
定手段によるデータの整合性の判定を順次複数の記憶装
置に対して実行させるための制御手段とを含んでいる。
【0031】(作用)前記構成に基づく本発明の作用
を、図1に基づいて説明する。 :前記(1) の作用 RAIDレベル3のディスクアレイ装置において、デー
タの書き込み時にデータ書き込み手段がホスト1から転
送されたホストデータにCRCを付加し、このCRC付
きホストデータを分割しこの分割データからパリティデ
ータを作成する。そして、前記分割データをディスク装
置6−1〜6−mへ書き込み、パリティデータをディス
ク装置6−nに書き込む。
を、図1に基づいて説明する。 :前記(1) の作用 RAIDレベル3のディスクアレイ装置において、デー
タの書き込み時にデータ書き込み手段がホスト1から転
送されたホストデータにCRCを付加し、このCRC付
きホストデータを分割しこの分割データからパリティデ
ータを作成する。そして、前記分割データをディスク装
置6−1〜6−mへ書き込み、パリティデータをディス
ク装置6−nに書き込む。
【0032】次に、データ読み出し時には、パリティチ
ェック手段は、ディスク装置6−1〜6−mから読み出
した分割データからリードパリティデータを作成し、こ
のリードパリティデータを前記パリティ用ディスク装置
6−nから読み出したパリティデータと比較してリード
パリティチェックを行う。
ェック手段は、ディスク装置6−1〜6−mから読み出
した分割データからリードパリティデータを作成し、こ
のリードパリティデータを前記パリティ用ディスク装置
6−nから読み出したパリティデータと比較してリード
パリティチェックを行う。
【0033】パリティチェック手段によるリードパリテ
ィチェックで整合性に矛盾が有る場合、ホストデータ再
構築手段は、全てのディスク装置6−1〜6−nを1つ
ずつ順番に誤ったデータが格納されているものと仮定
し、この仮定の元で、誤ったデータが格納されているも
のと仮定したディスク装置を除く他の全てのディスク装
置のデータよりホストデータを順次再構築する。
ィチェックで整合性に矛盾が有る場合、ホストデータ再
構築手段は、全てのディスク装置6−1〜6−nを1つ
ずつ順番に誤ったデータが格納されているものと仮定
し、この仮定の元で、誤ったデータが格納されているも
のと仮定したディスク装置を除く他の全てのディスク装
置のデータよりホストデータを順次再構築する。
【0034】そして、巡回冗長検査情報チェック手段
は、ホストデータ再構築手段で再構築したホストデータ
に対してCRCチェックを行い、その結果整合性がとれ
なかった場合、前記ホストデータ再構築手段で誤ったデ
ータが格納されたと仮定したディスク装置を別のディス
ク装置と仮定し、この仮定の元で、再び再構築されたホ
ストデータに対しCRCチェックを行う処理を前記整合
性がとれるまで繰り返して行い、前記チェックで整合性
がとれた場合、そのホストデータを正しいホストデータ
とする。その後、このホストデータはホストアダプタ3
を介してホスト1へ転送する。
は、ホストデータ再構築手段で再構築したホストデータ
に対してCRCチェックを行い、その結果整合性がとれ
なかった場合、前記ホストデータ再構築手段で誤ったデ
ータが格納されたと仮定したディスク装置を別のディス
ク装置と仮定し、この仮定の元で、再び再構築されたホ
ストデータに対しCRCチェックを行う処理を前記整合
性がとれるまで繰り返して行い、前記チェックで整合性
がとれた場合、そのホストデータを正しいホストデータ
とする。その後、このホストデータはホストアダプタ3
を介してホスト1へ転送する。
【0035】前記のようにすれば、RAIDレベル3の
ディスクアレイ装置において、リードパリティチェック
で整合性がとれなかった場合でも、CRCチェックによ
り、常に正しいホストデータを再構築してホスト1へ転
送することができる。従って、データの信頼性が向上す
る。
ディスクアレイ装置において、リードパリティチェック
で整合性がとれなかった場合でも、CRCチェックによ
り、常に正しいホストデータを再構築してホスト1へ転
送することができる。従って、データの信頼性が向上す
る。
【0036】:前記(2) の作用 RAIDレベル3のディスクアレイ装置において、デー
タの書き込み時には、データ書き込み制御手段はホスト
1から転送されたホストデータを分割し、この分割デー
タからパリティデータを作成し、各分割データ及びパリ
ティに時刻データを付加する。そして、ディスク装置6
−1〜6−m(データ用ディスク装置)に時刻付きの分
割データを書き込み、ディスク装置6−n(パリティ用
ディスク装置)に時刻付きパリティデータを書き込む。
タの書き込み時には、データ書き込み制御手段はホスト
1から転送されたホストデータを分割し、この分割デー
タからパリティデータを作成し、各分割データ及びパリ
ティに時刻データを付加する。そして、ディスク装置6
−1〜6−m(データ用ディスク装置)に時刻付きの分
割データを書き込み、ディスク装置6−n(パリティ用
ディスク装置)に時刻付きパリティデータを書き込む。
【0037】データ読み出し時には、パリティチェック
手段はディスク装置6−1〜6−mから読み出した分割
データからリードパリティデータを作成し、このリード
パリティデータをパリティ用ディスク装置6−nから読
み出したパリティデータと比較してリードパリティチェ
ックを行う。
手段はディスク装置6−1〜6−mから読み出した分割
データからリードパリティデータを作成し、このリード
パリティデータをパリティ用ディスク装置6−nから読
み出したパリティデータと比較してリードパリティチェ
ックを行う。
【0038】その結果、整合性に矛盾が有る場合、ホス
トデータ再構築手段は全てのディスク装置6−1〜6−
nに格納されている時刻を比較し、一番古い時刻を持つ
データを誤ったデータとし、その誤ったデータの格納さ
れているディスク装置を除く他の全てのディスク装置に
格納されているデータよりホストデータを再構築する。
その後、再構築されたホストデータはホストアダプタ3
を介してホスト1へ転送する。
トデータ再構築手段は全てのディスク装置6−1〜6−
nに格納されている時刻を比較し、一番古い時刻を持つ
データを誤ったデータとし、その誤ったデータの格納さ
れているディスク装置を除く他の全てのディスク装置に
格納されているデータよりホストデータを再構築する。
その後、再構築されたホストデータはホストアダプタ3
を介してホスト1へ転送する。
【0039】前記のようにすれば、RAIDレベル3の
ディスクアレイ装置において、リードパリティチェック
で整合性がとれなかった場合でも、時刻データのチェッ
クにより、常に正しいホストデータを再構築してホスト
1へ転送することができる。従って、データの信頼性が
向上する。
ディスクアレイ装置において、リードパリティチェック
で整合性がとれなかった場合でも、時刻データのチェッ
クにより、常に正しいホストデータを再構築してホスト
1へ転送することができる。従って、データの信頼性が
向上する。
【0040】:前記(3) の作用 RAIDレベル5のディスクアレイ装置において、デー
タ書き込み制御手段はホスト1から転送されたホストデ
ータをセクタ単位に分割し、この分割データからパリテ
ィデータを作成する。そして、前記各分割データ及びパ
リティデータに時刻データを付加してディスク装置への
書き込み制御を行う。
タ書き込み制御手段はホスト1から転送されたホストデ
ータをセクタ単位に分割し、この分割データからパリテ
ィデータを作成する。そして、前記各分割データ及びパ
リティデータに時刻データを付加してディスク装置への
書き込み制御を行う。
【0041】データ読み出し時にパリティチェック手段
は、ディスク装置から読み出した分割データからリード
パリティデータを作成し、このリードパリティデータ
を、ディスク装置から読み出したパリティデータと比較
してリードパリティチェックを行う。ホストデータ再構
築手段は、前記リードパリティチェックで整合性に矛盾
が有る場合、全てのディスク装置6−1〜6−nに格納
されている時刻を比較し、一番古い時刻を持つデータを
誤ったデータとし、その誤ったデータの格納されている
ディスク装置を除く他の全てのディスク装置のデータよ
りホストデータを再構築する。その後、再構築されたホ
ストデータはホストアダプタ3を介してホスト1へ転送
する。
は、ディスク装置から読み出した分割データからリード
パリティデータを作成し、このリードパリティデータ
を、ディスク装置から読み出したパリティデータと比較
してリードパリティチェックを行う。ホストデータ再構
築手段は、前記リードパリティチェックで整合性に矛盾
が有る場合、全てのディスク装置6−1〜6−nに格納
されている時刻を比較し、一番古い時刻を持つデータを
誤ったデータとし、その誤ったデータの格納されている
ディスク装置を除く他の全てのディスク装置のデータよ
りホストデータを再構築する。その後、再構築されたホ
ストデータはホストアダプタ3を介してホスト1へ転送
する。
【0042】前記のようにすれば、RAIDレベル5の
ディスクアレイ装置において、リードパリティチェック
で整合性がとれなかった場合でも、時刻データのチェッ
クにより、常に正しいホストデータを再構築してホスト
1へ転送することができる。従って、データの信頼性が
向上する。
ディスクアレイ装置において、リードパリティチェック
で整合性がとれなかった場合でも、時刻データのチェッ
クにより、常に正しいホストデータを再構築してホスト
1へ転送することができる。従って、データの信頼性が
向上する。
【0043】:前記(4) の作用 RAIDレベル1のディスクアレイ装置において、デー
タの書き込み時には、前記データ書き込み制御手段は、
ホスト1から転送されたホストデータに時刻データを付
加して2つのディスク装置6−1、6−2への書き込み
制御を行う。このようにして2台のディスク装置6−
1、6−2に同一の時刻データ付きホストデータを書き
込む。
タの書き込み時には、前記データ書き込み制御手段は、
ホスト1から転送されたホストデータに時刻データを付
加して2つのディスク装置6−1、6−2への書き込み
制御を行う。このようにして2台のディスク装置6−
1、6−2に同一の時刻データ付きホストデータを書き
込む。
【0044】次にデータの読み出し時には、前記読み出
し制御手段は、2台のディスク装置6−1、6−2から
読み出したデータを比較して両者が不一致の場合、最新
の時刻を持つデータを正しいデータとする。その後、正
しいホストデータをホストアダプタ3を介してホスト1
へ転送する。
し制御手段は、2台のディスク装置6−1、6−2から
読み出したデータを比較して両者が不一致の場合、最新
の時刻を持つデータを正しいデータとする。その後、正
しいホストデータをホストアダプタ3を介してホスト1
へ転送する。
【0045】前記のようにすれば、RAIDレベル1の
ディスクアレイ装置において、2台のディスク装置から
読み出したデータが不一致の場合でも、時刻データのチ
ェックにより、常に正しいホストデータを再構築してホ
スト1へ転送することができる。従って、データの信頼
性が向上する。
ディスクアレイ装置において、2台のディスク装置から
読み出したデータが不一致の場合でも、時刻データのチ
ェックにより、常に正しいホストデータを再構築してホ
スト1へ転送することができる。従って、データの信頼
性が向上する。
【0046】:前記(5) の作用 この場合、前記、、の作用において、時刻データ
の代わりに、逐次更新される更新カウンタのカウンタ値
を用いる。具体的には次の通りである。
の代わりに、逐次更新される更新カウンタのカウンタ値
を用いる。具体的には次の通りである。
【0047】−1:前記(2) に適用した場合の作用 RAIDレベル3のディスクアレイ装置において、デー
タの書き込み時には、データ書き込み制御手段はホスト
1から転送されたホストデータを分割し、この分割デー
タからパリティデータを作成し、各分割データ及びパリ
ティに更新カウンタのカウンタ値を付加する。そして、
ディスク装置6−1〜6−mに更新カウンタのカウンタ
値付きの分割データを書き込み、ディスク装置6−nに
時刻付きパリティデータを書き込む。
タの書き込み時には、データ書き込み制御手段はホスト
1から転送されたホストデータを分割し、この分割デー
タからパリティデータを作成し、各分割データ及びパリ
ティに更新カウンタのカウンタ値を付加する。そして、
ディスク装置6−1〜6−mに更新カウンタのカウンタ
値付きの分割データを書き込み、ディスク装置6−nに
時刻付きパリティデータを書き込む。
【0048】データ読み出し時には、パリティチェック
手段はディスク装置6−1〜6−mから読み出した分割
データからリードパリティデータを作成し、このリード
パリティデータを前記パリティ用ディスク装置6−nか
ら読み出したパリティデータと比較してリードパリティ
チェックを行う。
手段はディスク装置6−1〜6−mから読み出した分割
データからリードパリティデータを作成し、このリード
パリティデータを前記パリティ用ディスク装置6−nか
ら読み出したパリティデータと比較してリードパリティ
チェックを行う。
【0049】その結果、整合性に矛盾が有る場合、ホス
トデータ再構築手段は全てのディスク装置6−1〜6−
nに格納されている更新カウンタのカウンタ値を比較
し、一番古い更新カウンタのカウンタ値を持つデータを
誤ったデータとし、その誤ったデータの格納されている
ディスク装置を除く他の全てのディスク装置のデータよ
りホストデータを再構築する。その後、再構築されたホ
ストデータはホストアダプタ3を介してホスト1へ転送
する。
トデータ再構築手段は全てのディスク装置6−1〜6−
nに格納されている更新カウンタのカウンタ値を比較
し、一番古い更新カウンタのカウンタ値を持つデータを
誤ったデータとし、その誤ったデータの格納されている
ディスク装置を除く他の全てのディスク装置のデータよ
りホストデータを再構築する。その後、再構築されたホ
ストデータはホストアダプタ3を介してホスト1へ転送
する。
【0050】前記のようにすれば、RAIDレベル3の
ディスクアレイ装置において、リードパリティチェック
で整合性がとれなかった場合でも、更新カウンタのカウ
ンタ値のチェックにより、常に正しいホストデータを再
構築してホスト1へ転送することができる。従って、デ
ータの信頼性が向上する。
ディスクアレイ装置において、リードパリティチェック
で整合性がとれなかった場合でも、更新カウンタのカウ
ンタ値のチェックにより、常に正しいホストデータを再
構築してホスト1へ転送することができる。従って、デ
ータの信頼性が向上する。
【0051】−2:前記(3) に適用した場合の作用 RAIDレベル5のディスクアレイ装置において、デー
タ書き込み制御手段はホスト1から転送されたホストデ
ータをセクタ単位に分割し、この分割データからパリテ
ィデータを作成する。そして、前記各分割データ及びパ
リティデータに更新カウンタのカウンタ値を付加してデ
ィスク装置への書き込み制御を行う。
タ書き込み制御手段はホスト1から転送されたホストデ
ータをセクタ単位に分割し、この分割データからパリテ
ィデータを作成する。そして、前記各分割データ及びパ
リティデータに更新カウンタのカウンタ値を付加してデ
ィスク装置への書き込み制御を行う。
【0052】データ読み出し時には、パリティチェック
手段はディスク装置から読み出した分割データからリー
ドパリティデータを作成し、このリードパリティデータ
を、ディスク装置から読み出したパリティデータと比較
してリードパリティチェックを行う。
手段はディスク装置から読み出した分割データからリー
ドパリティデータを作成し、このリードパリティデータ
を、ディスク装置から読み出したパリティデータと比較
してリードパリティチェックを行う。
【0053】ホストデータ再構築手段は、前記リードパ
リティチェックで整合性に矛盾が有る場合、全てのディ
スク装置6−1〜6−nに格納されている更新カウンタ
のカウンタ値を比較し、一番古い更新カウンタのカウン
タ値を持つデータを誤ったデータとし、その誤ったデー
タの格納されているディスク装置を除く他の全てのディ
スク装置のデータよりホストデータを再構築する。その
後、再構築されたホストデータはホストアダプタ3を介
してホスト1へ転送する。
リティチェックで整合性に矛盾が有る場合、全てのディ
スク装置6−1〜6−nに格納されている更新カウンタ
のカウンタ値を比較し、一番古い更新カウンタのカウン
タ値を持つデータを誤ったデータとし、その誤ったデー
タの格納されているディスク装置を除く他の全てのディ
スク装置のデータよりホストデータを再構築する。その
後、再構築されたホストデータはホストアダプタ3を介
してホスト1へ転送する。
【0054】前記のようにすれば、RAIDレベル5の
ディスクアレイ装置において、リードパリティチェック
で整合性がとれなかった場合でも、更新カウンタのカウ
ンタ値のチェックにより、常に正しいホストデータを再
構築してホスト1へ転送することができる。従って、デ
ータの信頼性が向上する。
ディスクアレイ装置において、リードパリティチェック
で整合性がとれなかった場合でも、更新カウンタのカウ
ンタ値のチェックにより、常に正しいホストデータを再
構築してホスト1へ転送することができる。従って、デ
ータの信頼性が向上する。
【0055】−3:前記(4) に適用した場合の作用 RAIDレベル1のディスクアレイ装置において、デー
タの書き込み時には、データ書き込み制御手段はホスト
1から転送されたホストデータに更新カウンタのカウン
タ値を付加して2つのディスク装置6−1、6−2への
書き込み制御を行う。このようにして2台のディスク装
置6−1、6−2に同一の更新カウンタのカウンタ値付
きホストデータを書き込む。
タの書き込み時には、データ書き込み制御手段はホスト
1から転送されたホストデータに更新カウンタのカウン
タ値を付加して2つのディスク装置6−1、6−2への
書き込み制御を行う。このようにして2台のディスク装
置6−1、6−2に同一の更新カウンタのカウンタ値付
きホストデータを書き込む。
【0056】次にデータ読み出し時には、読み出し制御
手段は2台のディスク装置6−1、6−2から読み出し
たデータを比較して両者が不一致の場合、最新の更新カ
ウンタのカウンタ値を持つデータを正しいデータとす
る。その後、正しいホストデータをホストアダプタ3を
介してホスト1へ転送する。
手段は2台のディスク装置6−1、6−2から読み出し
たデータを比較して両者が不一致の場合、最新の更新カ
ウンタのカウンタ値を持つデータを正しいデータとす
る。その後、正しいホストデータをホストアダプタ3を
介してホスト1へ転送する。
【0057】前記のようにすれば、RAIDレベル1の
ディスクアレイ装置において、2台のディスク装置から
読み出したデータが不一致の場合でも、更新カウンタの
カウンタ値のチェックにより、常に正しいホストデータ
を再構築してホスト1へ転送することができる。従っ
て、データの信頼性が向上する。
ディスクアレイ装置において、2台のディスク装置から
読み出したデータが不一致の場合でも、更新カウンタの
カウンタ値のチェックにより、常に正しいホストデータ
を再構築してホスト1へ転送することができる。従っ
て、データの信頼性が向上する。
【0058】:前記(6) 、及び(7) の作用 ディスクアレイ制御部は、データの書き込み時にホスト
1から転送されたホストデータに第1の冗長情報を付加
し、この第1の冗長情報付きホストデータを分割し、こ
の分割データから第2の冗長情報を作成する。そして、
前記分割データを複数のデータ記憶装置へ書き込み、第
2の冗長情報を第2の冗長情報記憶装置に書き込む。
1から転送されたホストデータに第1の冗長情報を付加
し、この第1の冗長情報付きホストデータを分割し、こ
の分割データから第2の冗長情報を作成する。そして、
前記分割データを複数のデータ記憶装置へ書き込み、第
2の冗長情報を第2の冗長情報記憶装置に書き込む。
【0059】次に、データ読み出し時には、ディスクア
レイ制御部は、複数のデータ記憶装置から読み出した分
割データから第2の冗長情報を作成し、この第2の冗長
情報を前記第2の冗長情報記憶装置から読み出した第2
の冗長情報と比較して整合性を判定する。
レイ制御部は、複数のデータ記憶装置から読み出した分
割データから第2の冗長情報を作成し、この第2の冗長
情報を前記第2の冗長情報記憶装置から読み出した第2
の冗長情報と比較して整合性を判定する。
【0060】前記整合性の判定で整合性に矛盾が有る場
合、前記再構築手段は、全てのデータ記憶装置を1つず
つ順番に誤ったデータが格納されているものと仮定し、
この仮定の元で、誤ったデータが格納されているものと
仮定した記憶装置を除く他の全ての記憶装置のデータよ
りホストデータを順次再構築する。
合、前記再構築手段は、全てのデータ記憶装置を1つず
つ順番に誤ったデータが格納されているものと仮定し、
この仮定の元で、誤ったデータが格納されているものと
仮定した記憶装置を除く他の全ての記憶装置のデータよ
りホストデータを順次再構築する。
【0061】そして、前記制御手段は、前記再構築手段
で再構築したホストデータに対して整合性を判定し、そ
の結果整合性がとれなかった場合、前記再構築手段で誤
ったデータが格納されたと仮定した記憶装置を別の記憶
装置と仮定し、この仮定の元で、再び再構築されたホス
トデータに対し第2の冗長情報によるチェックを行う処
理を前記整合性がとれるまで繰り返して行い、前記チェ
ックで整合性がとれた場合、そのホストデータを正しい
ホストデータとする。その後、このホストデータはホス
トアダプタ3を介してホスト1へ転送する。
で再構築したホストデータに対して整合性を判定し、そ
の結果整合性がとれなかった場合、前記再構築手段で誤
ったデータが格納されたと仮定した記憶装置を別の記憶
装置と仮定し、この仮定の元で、再び再構築されたホス
トデータに対し第2の冗長情報によるチェックを行う処
理を前記整合性がとれるまで繰り返して行い、前記チェ
ックで整合性がとれた場合、そのホストデータを正しい
ホストデータとする。その後、このホストデータはホス
トアダプタ3を介してホスト1へ転送する。
【0062】前記のようにすれば、ディスクアレイ装置
において、第2の冗長情報によるチェックで整合性がと
れなかった場合でも、常に正しいホストデータを再構築
してホスト1へ転送することができる。従って、データ
の信頼性が向上する。
において、第2の冗長情報によるチェックで整合性がと
れなかった場合でも、常に正しいホストデータを再構築
してホスト1へ転送することができる。従って、データ
の信頼性が向上する。
【0063】
【発明の実施の形態】以下、発明の実施の形態を図面に
基づいて詳細に説明する。 (各実施の形態に共通の説明)前記ディスクアレイ装置
において、リードパリティチェック時に不整合が生じる
のは、RAIDを構成しているディスク装置内の1台が
何らかの原因で正しいデータを返せない場合が殆どであ
る。特に、ライトコマンドがディスク装置に送られた時
に、ライトデータが実際にディスク装置の記憶媒体に書
かれずにディスク装置が正常終了を返す場合がある。こ
のような場合、ディスク装置側はリードコマンドに対し
て前回ライトコマンドで書き損じたデータを何も問題な
く転送してくるようになってしまう。このようなデータ
をディスクアレイコントローラに転送し、パリティチェ
ックを行うと整合性がとれない。
基づいて詳細に説明する。 (各実施の形態に共通の説明)前記ディスクアレイ装置
において、リードパリティチェック時に不整合が生じる
のは、RAIDを構成しているディスク装置内の1台が
何らかの原因で正しいデータを返せない場合が殆どであ
る。特に、ライトコマンドがディスク装置に送られた時
に、ライトデータが実際にディスク装置の記憶媒体に書
かれずにディスク装置が正常終了を返す場合がある。こ
のような場合、ディスク装置側はリードコマンドに対し
て前回ライトコマンドで書き損じたデータを何も問題な
く転送してくるようになってしまう。このようなデータ
をディスクアレイコントローラに転送し、パリティチェ
ックを行うと整合性がとれない。
【0064】ここで、RAID本来の特徴である「故障
した1台のディスク装置の場所が分かればデータを復元
できる」ということを用いることによりデータを復元
(以下「再構築」とも記す)すれば良いのであるが、ど
れが誤ったデータが書かれているディスク装置なのか
は、ディスクアレイコントローラ4は理解できない。
した1台のディスク装置の場所が分かればデータを復元
できる」ということを用いることによりデータを復元
(以下「再構築」とも記す)すれば良いのであるが、ど
れが誤ったデータが書かれているディスク装置なのか
は、ディスクアレイコントローラ4は理解できない。
【0065】従って、後述する実施の形態1〜5の処理
を用いることにより、どのディスク装置に誤ったデータ
が書かれていたかを特定し、その特定されたディスク装
置のデータを不良(誤ったデータ)としてRAIDのデ
ータ再構築機能を利用して他のデータからホストデータ
を再構築する。
を用いることにより、どのディスク装置に誤ったデータ
が書かれていたかを特定し、その特定されたディスク装
置のデータを不良(誤ったデータ)としてRAIDのデ
ータ再構築機能を利用して他のデータからホストデータ
を再構築する。
【0066】以下、各例について詳細に説明する。な
お、以下に説明する「CRC」(Cyclic Redundancy Ch
eck )は、巡回冗長検査のことであり、前記巡回冗長検
査のために付加する検査情報を単に「CRC」と記す。
また、ホストからディスクアレイ装置側へ転送されるデ
ータ(書き込みデータ)を「ホストデータ」、ディスク
装置側に記憶されたデータ(分割データ)を「ディスク
データ」、ディスク装置から読み出したデータから再構
築され、ホストへ転送されるデータを「再構築されたホ
ストデータ」、或いは単に「ホストデータ」とも記す。
お、以下に説明する「CRC」(Cyclic Redundancy Ch
eck )は、巡回冗長検査のことであり、前記巡回冗長検
査のために付加する検査情報を単に「CRC」と記す。
また、ホストからディスクアレイ装置側へ転送されるデ
ータ(書き込みデータ)を「ホストデータ」、ディスク
装置側に記憶されたデータ(分割データ)を「ディスク
データ」、ディスク装置から読み出したデータから再構
築され、ホストへ転送されるデータを「再構築されたホ
ストデータ」、或いは単に「ホストデータ」とも記す。
【0067】(実施の形態1の説明) §1:実施の形態1の装置の説明・・・図2参照 図2は実施の形態1の装置構成図である。図示のよう
に、ディスクアレイ装置は、ホスト1に接続されたディ
スクアレイ制御装置2と、前記ディスクアレイ制御装置
2に接続された複数のディスク装置(磁気ディスク装
置、或いはハードディスク装置)6−1〜6−n(n:
ディスク装置の台数)によって構成されている。
に、ディスクアレイ装置は、ホスト1に接続されたディ
スクアレイ制御装置2と、前記ディスクアレイ制御装置
2に接続された複数のディスク装置(磁気ディスク装
置、或いはハードディスク装置)6−1〜6−n(n:
ディスク装置の台数)によって構成されている。
【0068】また、ディスクアレイ制御装置2には、ホ
ストアダプタ3とディスクアレイコントローラ4と、複
数のデバイスアダプタ5−1〜5−nが設けてある。そ
して、ホストアダプタ3には、メモリ10とCRC付加
処理部11が設けてあり、ディスクアレイコントローラ
4にはパリティ処理部19とCRCチェック部20が設
けてあり、デバイスアダプタ5−1から5−nにはそれ
ぞれメモリ12−1から12−nが設けてある。前記各
部の機能等は次の通りである。
ストアダプタ3とディスクアレイコントローラ4と、複
数のデバイスアダプタ5−1〜5−nが設けてある。そ
して、ホストアダプタ3には、メモリ10とCRC付加
処理部11が設けてあり、ディスクアレイコントローラ
4にはパリティ処理部19とCRCチェック部20が設
けてあり、デバイスアダプタ5−1から5−nにはそれ
ぞれメモリ12−1から12−nが設けてある。前記各
部の機能等は次の通りである。
【0069】(1) :ディスクアレイ制御装置2は、ディ
スクアレイ装置の各種制御を行うものである。 (2) :ディスク装置6−1〜6−nは、内部にそれぞれ
記憶媒体(磁気ディスク)を備え、デバイスアダプタ5
−1〜5−nを介して送られたコマンドによりデータの
リード/ライト等を行うものである。
スクアレイ装置の各種制御を行うものである。 (2) :ディスク装置6−1〜6−nは、内部にそれぞれ
記憶媒体(磁気ディスク)を備え、デバイスアダプタ5
−1〜5−nを介して送られたコマンドによりデータの
リード/ライト等を行うものである。
【0070】(3) :ホストアダプタ3は、ホスト1に対
するインターフェース制御を行うものである。例えば、
コマンドの受信、ホストデータの送受信等を行うもので
ある。
するインターフェース制御を行うものである。例えば、
コマンドの受信、ホストデータの送受信等を行うもので
ある。
【0071】(4) :ディスクアレイコントローラ4は、
データのリード/ライト時の各種制御や処理を行うもの
である。 (5) :デバイスアダプタ5−1〜5−nは、ディスクア
レイコントローラ4の指示により各ディスク装置6−1
〜6−nを制御するものである。
データのリード/ライト時の各種制御や処理を行うもの
である。 (5) :デバイスアダプタ5−1〜5−nは、ディスクア
レイコントローラ4の指示により各ディスク装置6−1
〜6−nを制御するものである。
【0072】(6) :メモリ10は、ホストアダプタ3が
アクセスし、ワーク用として使用するメモリである。 (7) :CRC付加処理部11は、ホストデータにCRC
を付加する処理を行うものである。
アクセスし、ワーク用として使用するメモリである。 (7) :CRC付加処理部11は、ホストデータにCRC
を付加する処理を行うものである。
【0073】(8) :パリティ処理部19は、パリティデ
ータの作成、パリティチェック処理等を行うものであ
る。 (9) :CRCチェック部20は、リードデータから再構
築したホストデータに対するCRCチェックを行うもの
である。
ータの作成、パリティチェック処理等を行うものであ
る。 (9) :CRCチェック部20は、リードデータから再構
築したホストデータに対するCRCチェックを行うもの
である。
【0074】(10):メモリ12−1〜12−nは、各デ
バイスアダプタ5−1〜5−nがそれぞれアクセスし、
ワーク用として使用するメモリである。 §2:処理概要の説明 実施の形態1はRAID3のレベルでの処理において特
に効果のある処理である。従って、この例では、図2に
示した構成のRAID3のディスクアレイ装置により処
理を行う。データの書き込み時には、ホスト1から受信
したホストデータにCRCを付加し、このCRC付きホ
ストデータを複数のデータに分割し、これら分割データ
からパリティデータを作成する。
バイスアダプタ5−1〜5−nがそれぞれアクセスし、
ワーク用として使用するメモリである。 §2:処理概要の説明 実施の形態1はRAID3のレベルでの処理において特
に効果のある処理である。従って、この例では、図2に
示した構成のRAID3のディスクアレイ装置により処
理を行う。データの書き込み時には、ホスト1から受信
したホストデータにCRCを付加し、このCRC付きホ
ストデータを複数のデータに分割し、これら分割データ
からパリティデータを作成する。
【0075】そして、前記分割データとパリティデータ
をディスクアレイコントローラ4、デバイスアダプタ5
−1〜5−nを介してディスク装置6−1〜6−nへ送
り、前記ディスク装置の記録媒体に書き込む。この場
合、分割データはディスク装置6−1〜6−mに書き込
み、前記パリティデータはディスク装置6−nに書き込
む。
をディスクアレイコントローラ4、デバイスアダプタ5
−1〜5−nを介してディスク装置6−1〜6−nへ送
り、前記ディスク装置の記録媒体に書き込む。この場
合、分割データはディスク装置6−1〜6−mに書き込
み、前記パリティデータはディスク装置6−nに書き込
む。
【0076】また、ディスク装置6−1〜6−nからの
データのリード時には、RAID3でのリードパリティ
チェックを行い、その結果整合性がとれなかった場合、
ホストCRCを用いてホストデータのRAID3での再
構築(復元)を行う。すなわち、ディスクアレイコント
ローラ4では、リードパリティの不整合時に、端のディ
スク装置から格納されているデータが誤っているのでは
ないかと仮定を立てて、ホストデータを再構築してみ
る。そして、正しいホストCRCが計算されたものを本
来の正しいホストデータとしてホスト1へ転送する。
データのリード時には、RAID3でのリードパリティ
チェックを行い、その結果整合性がとれなかった場合、
ホストCRCを用いてホストデータのRAID3での再
構築(復元)を行う。すなわち、ディスクアレイコント
ローラ4では、リードパリティの不整合時に、端のディ
スク装置から格納されているデータが誤っているのでは
ないかと仮定を立てて、ホストデータを再構築してみ
る。そして、正しいホストCRCが計算されたものを本
来の正しいホストデータとしてホスト1へ転送する。
【0077】§3:処理の説明・・・図3参照 図3は実施の形態1の処理説明図である。以下、図3に
基づいて実施の形態1の処理を説明する。
基づいて実施の形態1の処理を説明する。
【0078】(1) :RAID3でのライト時の処理 RAID3でのデータライト(書き込み)時の処理は次
の通りである。この場合ディスク装置6−1〜6−mを
分割データ格納用とし、ディスク装置6−nをパリティ
データ格納用として、データのリード/ライト時の処理
を次のようにして行う。
の通りである。この場合ディスク装置6−1〜6−mを
分割データ格納用とし、ディスク装置6−nをパリティ
データ格納用として、データのリード/ライト時の処理
を次のようにして行う。
【0079】先ず、ホストアダプタ3は、ホスト1より
ライトコマンドと共に書き込み要求のあったホストデー
タを受信すると、そのホストデータをメモリ10に一時
格納する(参照)。そして、CRC付加処理部11は
前記メモリ10に格納されたホストデータからホストC
RC(CRC検査情報)を作成し、前記ホストデータに
付加する(参照)。
ライトコマンドと共に書き込み要求のあったホストデー
タを受信すると、そのホストデータをメモリ10に一時
格納する(参照)。そして、CRC付加処理部11は
前記メモリ10に格納されたホストデータからホストC
RC(CRC検査情報)を作成し、前記ホストデータに
付加する(参照)。
【0080】次に、ホストアダプタ3は、前記CRC付
きのホストデータをディスクアレイコントローラ4へ転
送する。ディスクアレイコントローラ4は前記CRC付
きホストデータを受け取ると、RAID3に基づき、前
記CRC付きホストデータをm個のデータに分割して
(CRCも含めたホストデータを分割する)、各ディス
ク装置6−1〜6−mに割り振るデータを作成する。ま
た、パリティ処理部19は、前記m個の分割された各デ
ータの排他的論理和を計算してパリティデータを作成す
る。
きのホストデータをディスクアレイコントローラ4へ転
送する。ディスクアレイコントローラ4は前記CRC付
きホストデータを受け取ると、RAID3に基づき、前
記CRC付きホストデータをm個のデータに分割して
(CRCも含めたホストデータを分割する)、各ディス
ク装置6−1〜6−mに割り振るデータを作成する。ま
た、パリティ処理部19は、前記m個の分割された各デ
ータの排他的論理和を計算してパリティデータを作成す
る。
【0081】すなわち、前記CRC付きホストデータを
分割した分割データをd1 、d2 、d3 ・・・dm 、パ
リティデータをPとすると、前記パリティデータPは、
前記分割データd1 、d2 、d3 ・・・dm の各排他的
論理和となる(参照)。
分割した分割データをd1 、d2 、d3 ・・・dm 、パ
リティデータをPとすると、前記パリティデータPは、
前記分割データd1 、d2 、d3 ・・・dm の各排他的
論理和となる(参照)。
【0082】次にディスクアレイコントローラ4は、デ
ィスク装置6−1〜6−nに対してライトコマンドを発
行すると共に、前記作成した各ディスク装置毎の分割デ
ータをデバイスアダプタ5−1〜5−mへ転送する。こ
れと同時に、デバイスアダプタ5−nには、前記パリテ
ィデータを転送する。これらのデータはデバイスアダプ
タ内でそれぞれメモリ12−1〜12−nに一時格納さ
れる。
ィスク装置6−1〜6−nに対してライトコマンドを発
行すると共に、前記作成した各ディスク装置毎の分割デ
ータをデバイスアダプタ5−1〜5−mへ転送する。こ
れと同時に、デバイスアダプタ5−nには、前記パリテ
ィデータを転送する。これらのデータはデバイスアダプ
タ内でそれぞれメモリ12−1〜12−nに一時格納さ
れる。
【0083】その後、デバイスアダプタ5−1〜5−m
は、各々接続されているディスク装置6−1〜6−mに
前記ライトコマンドを送ると共に、前記分割データを転
送する。そして、ディスク装置6−1〜6−mは記憶媒
体に前記分割データを書き込む(ディスクデータの書き
込み)。また、デバイスアダプタ5−nは、接続されて
いるディスク装置6−nにライトコマンドを送ると共
に、前記パリティデータを転送し、ディスク装置6−n
は記憶媒体にパリティデータを書き込む(参照)。
は、各々接続されているディスク装置6−1〜6−mに
前記ライトコマンドを送ると共に、前記分割データを転
送する。そして、ディスク装置6−1〜6−mは記憶媒
体に前記分割データを書き込む(ディスクデータの書き
込み)。また、デバイスアダプタ5−nは、接続されて
いるディスク装置6−nにライトコマンドを送ると共
に、前記パリティデータを転送し、ディスク装置6−n
は記憶媒体にパリティデータを書き込む(参照)。
【0084】(2) :RAID3でのリード処理におい
て、パリティの整合性に矛盾が無かった場合の処理説明 RAID3でのリード処理時に、パリティの整合性に矛
盾がなかった場合の処理は次の通りである。先ず、ホス
ト1の発行したリードコマンドをホストアダプタ3が受
信すると、ホストアダプタ3は、そのコマンドをディス
クアレイコントローラ4へ通知する。この通知を受け取
ったディスクアレイコントローラ4は、ホスト1より要
求のあったアドレスで各ディスク装置6−1〜6−nに
対してリードコマンドを発行する。
て、パリティの整合性に矛盾が無かった場合の処理説明 RAID3でのリード処理時に、パリティの整合性に矛
盾がなかった場合の処理は次の通りである。先ず、ホス
ト1の発行したリードコマンドをホストアダプタ3が受
信すると、ホストアダプタ3は、そのコマンドをディス
クアレイコントローラ4へ通知する。この通知を受け取
ったディスクアレイコントローラ4は、ホスト1より要
求のあったアドレスで各ディスク装置6−1〜6−nに
対してリードコマンドを発行する。
【0085】デバイスアダプタ5−1〜5−nを介して
前記リードコマンドを受信したディスク装置6−1〜6
−nは、指定されたアドレスのデータをリードする。そ
して、ディスク装置6−1〜6−nからリードしたデー
タは、ディスク装置6−1〜6−nに接続されている各
デバイスアダプタ5−1〜5−nに転送され、それぞれ
メモリ12−1〜12−nに格納される。
前記リードコマンドを受信したディスク装置6−1〜6
−nは、指定されたアドレスのデータをリードする。そ
して、ディスク装置6−1〜6−nからリードしたデー
タは、ディスク装置6−1〜6−nに接続されている各
デバイスアダプタ5−1〜5−nに転送され、それぞれ
メモリ12−1〜12−nに格納される。
【0086】この状態で、メモリ12−1〜12−mに
はリードされた分割データが格納され、メモリ12−n
にはリードされたパリティデータが格納される。その
後、ディスクアレイコントローラ4は、前記メモリ12
−1〜12−mに格納されている分割データを用いて、
ホストデータを再構築(復元)する。
はリードされた分割データが格納され、メモリ12−n
にはリードされたパリティデータが格納される。その
後、ディスクアレイコントローラ4は、前記メモリ12
−1〜12−mに格納されている分割データを用いて、
ホストデータを再構築(復元)する。
【0087】この時、ディスクアレイコントローラ4の
パリティ処理部19は、前記メモリ12−1〜12−m
に格納されている各分割データの排他的論理和を計算し
てリードパリティとし、このリードパリティを前記メモ
リ12−nに格納されているパリティと比較することで
リードパリティチェックを行う。この場合、前記メモリ
12−1〜12−mに格納されている分割データを
d1 、d2 、d3 ・・・d m 、メモリ12−nに格納さ
れているパリティデータをP、前記分割データd1、d
2 、d3 ・・・dm から計算したリードパリティデータ
をRPとすると、前記リードパリティデータRPは、前
記各分割データd1 、d2 、d3 ・・・dmの排他的論
理和となる。
パリティ処理部19は、前記メモリ12−1〜12−m
に格納されている各分割データの排他的論理和を計算し
てリードパリティとし、このリードパリティを前記メモ
リ12−nに格納されているパリティと比較することで
リードパリティチェックを行う。この場合、前記メモリ
12−1〜12−mに格納されている分割データを
d1 、d2 、d3 ・・・d m 、メモリ12−nに格納さ
れているパリティデータをP、前記分割データd1、d
2 、d3 ・・・dm から計算したリードパリティデータ
をRPとすると、前記リードパリティデータRPは、前
記各分割データd1 、d2 、d3 ・・・dmの排他的論
理和となる。
【0088】そして前記リードパリティチェックでRP
=Pとなれば、整合性に矛盾無しと判断する(参
照)。すなわち、前記リードパリティチェックの結果、
両者が一致すれば(RP=P)、リードパリティチェッ
クが正常であり、リードデータの整合性に矛盾が無かっ
たとして、前記再構築したデータをホストアダプタ3へ
転送する。その後、ホストアダプタ3は前記データをホ
スト1へ転送する。
=Pとなれば、整合性に矛盾無しと判断する(参
照)。すなわち、前記リードパリティチェックの結果、
両者が一致すれば(RP=P)、リードパリティチェッ
クが正常であり、リードデータの整合性に矛盾が無かっ
たとして、前記再構築したデータをホストアダプタ3へ
転送する。その後、ホストアダプタ3は前記データをホ
スト1へ転送する。
【0089】(3) :RAID3でのリード処理におい
て、パリティの整合性に矛盾が有った場合の処理説明 前記のように、ディスク装置からのデータリード時に、
デバイスアダプタ5−1〜5−mのメモリ12−1〜1
2−mに格納されている各分割データの排他的論理和か
ら計算したリードパリティRPと、デバイスアダプタ5
−nのメモリ12−nに格納されているパリティデータ
Pとの比較において不一致であった場合、従来の装置で
はホストデータの再構築ができないため、パリティ不一
致ということをホスト1へ通知するに止まっていた。
て、パリティの整合性に矛盾が有った場合の処理説明 前記のように、ディスク装置からのデータリード時に、
デバイスアダプタ5−1〜5−mのメモリ12−1〜1
2−mに格納されている各分割データの排他的論理和か
ら計算したリードパリティRPと、デバイスアダプタ5
−nのメモリ12−nに格納されているパリティデータ
Pとの比較において不一致であった場合、従来の装置で
はホストデータの再構築ができないため、パリティ不一
致ということをホスト1へ通知するに止まっていた。
【0090】しかし、本実施の形態1では、ホストデー
タに付加されていたホストCRCデータを用いてデータ
の再構築を行う。この場合、原則として、パリティ不一
致が起きた場合、どれか1つのデバイスアダプタのメモ
リに誤ったデータが格納されている可能性が多く、2つ
以上のデバイスアダプタのメモリに誤ったデータが格納
されている場合は、確率的にも少なく、また、こうなっ
てしまった場合、本実施の形態1でも救済することはで
きない。
タに付加されていたホストCRCデータを用いてデータ
の再構築を行う。この場合、原則として、パリティ不一
致が起きた場合、どれか1つのデバイスアダプタのメモ
リに誤ったデータが格納されている可能性が多く、2つ
以上のデバイスアダプタのメモリに誤ったデータが格納
されている場合は、確率的にも少なく、また、こうなっ
てしまった場合、本実施の形態1でも救済することはで
きない。
【0091】そこで、実施の形態1では、前記のように
パリティが不一致と分かった時点で以下のようなデータ
リカバリ処理を実施する。先ず、ディスクアレイコント
ローラ4は、端のデバイスアダプタ5−1のメモリ12
−1に誤ったデータが入ってしまったと仮定する。この
仮定の元でRAID3のリカバリ方法によりホストデー
タを再構築(復元)してみる(故障した1台のディスク
装置の場所が分かればホストデータを復元できる)。
パリティが不一致と分かった時点で以下のようなデータ
リカバリ処理を実施する。先ず、ディスクアレイコント
ローラ4は、端のデバイスアダプタ5−1のメモリ12
−1に誤ったデータが入ってしまったと仮定する。この
仮定の元でRAID3のリカバリ方法によりホストデー
タを再構築(復元)してみる(故障した1台のディスク
装置の場所が分かればホストデータを復元できる)。
【0092】この場合、メモリ12−1に格納された分
割データd1 が誤ったデータであると仮定するので、こ
の分割データd1 を除いて他の全てのデータd2 、d3
・・・dm 、及びパリティデータPの各排他的論理和を
計算すれば、前記データd1が復元できる。従って、前
記復元したデータd1 を含めた全ての分割データd1、
d2 、d3 ・・・dm からホストデータが再構築でき
る。
割データd1 が誤ったデータであると仮定するので、こ
の分割データd1 を除いて他の全てのデータd2 、d3
・・・dm 、及びパリティデータPの各排他的論理和を
計算すれば、前記データd1が復元できる。従って、前
記復元したデータd1 を含めた全ての分割データd1、
d2 、d3 ・・・dm からホストデータが再構築でき
る。
【0093】その後、前記再構築されたホストデータが
正しいものか否かを、CRCチェック部20が再構築さ
れたホストCRCデータをチェックすることで決定す
る。前記CRCチェック部20によるホストCRCチェ
ックで整合性がとれた場合、ディスクアレイコントロー
ラ4は、前記再構築したホストデータを正しいホストデ
ータとし、デバイスアダプタ5−1のメモリ12−1に
誤ったデータが入っていたものと断定する。
正しいものか否かを、CRCチェック部20が再構築さ
れたホストCRCデータをチェックすることで決定す
る。前記CRCチェック部20によるホストCRCチェ
ックで整合性がとれた場合、ディスクアレイコントロー
ラ4は、前記再構築したホストデータを正しいホストデ
ータとし、デバイスアダプタ5−1のメモリ12−1に
誤ったデータが入っていたものと断定する。
【0094】もし、前記ホストCRCチェックで整合性
がとれない場合は、このデバイスアダプタ5−1以外の
他のデバイスアダプタ5−2〜5−nのメモリ12−2
〜12−nに誤ったデータが入っているに違いないとす
る。このため、ディスクアレイコントローラ4は、誤っ
たデータが入っていると仮定するデバイスアダプタのメ
モリを隣のデバイスアダプタ5−2のメモリ12−2と
し、かつデバイスアダプタ5−1のメモリ12−1を正
確なデータが入っているものと仮定して、この仮定の元
で、再度、ホストデータを再構築し、CRCチェック部
20が前記のホストCRCチェックを行う。
がとれない場合は、このデバイスアダプタ5−1以外の
他のデバイスアダプタ5−2〜5−nのメモリ12−2
〜12−nに誤ったデータが入っているに違いないとす
る。このため、ディスクアレイコントローラ4は、誤っ
たデータが入っていると仮定するデバイスアダプタのメ
モリを隣のデバイスアダプタ5−2のメモリ12−2と
し、かつデバイスアダプタ5−1のメモリ12−1を正
確なデータが入っているものと仮定して、この仮定の元
で、再度、ホストデータを再構築し、CRCチェック部
20が前記のホストCRCチェックを行う。
【0095】これを全てのデバイスアダプタのメモリに
格納されているデータについて、ホストCRCの整合性
がとれるまで繰り返して行う。前記のようにして、CR
Cチェック部20によるホストCRCチェックで整合性
がとれた場合、そのホストデータは正しいとする。そし
て、ディスクアレイコントローラ4は、その再構築した
ホストデータをホストアダプタ3へ転送する。ホストア
ダプタ3は前記データを受け取ると、そのホストデータ
をホスト1へ転送する。
格納されているデータについて、ホストCRCの整合性
がとれるまで繰り返して行う。前記のようにして、CR
Cチェック部20によるホストCRCチェックで整合性
がとれた場合、そのホストデータは正しいとする。そし
て、ディスクアレイコントローラ4は、その再構築した
ホストデータをホストアダプタ3へ転送する。ホストア
ダプタ3は前記データを受け取ると、そのホストデータ
をホスト1へ転送する。
【0096】§4:フローチャートによる処理の説明・
・・図4参照 図4は実施の形態1の処理フローチャートである。以
下、図4に基づいて実施の形態1の処理を説明する。な
お、S1〜S13は各処理ステップを示す。
・・図4参照 図4は実施の形態1の処理フローチャートである。以
下、図4に基づいて実施の形態1の処理を説明する。な
お、S1〜S13は各処理ステップを示す。
【0097】処理が開始され、ホストアダプタ3がホス
ト1の発行したコマンドを受信すると(S1)、ホスト
アダプタ3は前記コマンドをメモリ10に一時格納する
と共に、そのコマンドを解析し内容を判断する(S
2)。その結果、前記コマンドがライトコマンドであれ
ば、RAID3でのデータライト(書き込み)時の処理
を次のようにして行う。
ト1の発行したコマンドを受信すると(S1)、ホスト
アダプタ3は前記コマンドをメモリ10に一時格納する
と共に、そのコマンドを解析し内容を判断する(S
2)。その結果、前記コマンドがライトコマンドであれ
ば、RAID3でのデータライト(書き込み)時の処理
を次のようにして行う。
【0098】ホストアダプタ3は、ホスト1よりライト
コマンドと共に書き込み要求のあったホストデータを受
信すると、そのホストデータをメモリ10に一時格納す
る。そして、CRC付加処理部11は前記メモリ10に
格納されたホストデータからホストCRCを作成し、ホ
ストデータに付加してCRC付きホストデータとする。
その後ホストアダプタ3は、前記CRC付きのホストデ
ータをディスクアレイコントローラ4へ転送する(S
3)。
コマンドと共に書き込み要求のあったホストデータを受
信すると、そのホストデータをメモリ10に一時格納す
る。そして、CRC付加処理部11は前記メモリ10に
格納されたホストデータからホストCRCを作成し、ホ
ストデータに付加してCRC付きホストデータとする。
その後ホストアダプタ3は、前記CRC付きのホストデ
ータをディスクアレイコントローラ4へ転送する(S
3)。
【0099】ディスクアレイコントローラ4は前記CR
C付きのホストデータを受け取ると、RAID3によ
り、前記CRC付きのホストデータをm個のデータに分
割して、各ディスク装置6−1〜6−mに割り振るデー
タを作成する。また、パリティ処理部19は前記m個の
データの排他的論理和を計算してパリティデータを作成
する。
C付きのホストデータを受け取ると、RAID3によ
り、前記CRC付きのホストデータをm個のデータに分
割して、各ディスク装置6−1〜6−mに割り振るデー
タを作成する。また、パリティ処理部19は前記m個の
データの排他的論理和を計算してパリティデータを作成
する。
【0100】次にディスクアレイコントローラ4は、デ
ィスク装置6−1〜6−nに対してライト命令を発行す
ると共に、前記作成した各ディスク装置毎のデータ(分
割データ)をデバイスアダプタ5−1〜5−mへ転送す
る。これと同時に、デバイスアダプタ5−nには、前記
作成したパリティデータを転送する(S4)。
ィスク装置6−1〜6−nに対してライト命令を発行す
ると共に、前記作成した各ディスク装置毎のデータ(分
割データ)をデバイスアダプタ5−1〜5−mへ転送す
る。これと同時に、デバイスアダプタ5−nには、前記
作成したパリティデータを転送する(S4)。
【0101】その後、デバイスアダプタ5−1〜5−m
は、各々接続されているディスク装置6−1〜6−mに
前記ライトコマンドを送ると共に分割データを転送す
る。そして、ディスク装置6−1〜6−mは記憶媒体に
前記分割データを書き込む(ディスクデータの書き込
み)。また、デバイスアダプタ5−nは、接続されてい
るディスク装置6−nにライトコマンドを送ると共に、
前記パリティデータを転送し、ディスク装置6−nは記
憶媒体にパリティデータを書き込み(S5)、前記ライ
ト処理を終了する。
は、各々接続されているディスク装置6−1〜6−mに
前記ライトコマンドを送ると共に分割データを転送す
る。そして、ディスク装置6−1〜6−mは記憶媒体に
前記分割データを書き込む(ディスクデータの書き込
み)。また、デバイスアダプタ5−nは、接続されてい
るディスク装置6−nにライトコマンドを送ると共に、
前記パリティデータを転送し、ディスク装置6−nは記
憶媒体にパリティデータを書き込み(S5)、前記ライ
ト処理を終了する。
【0102】また、前記S2の処理で、受信したコマン
ドがリードコマンドであった場合、ホストアダプタ3
は、そのコマンドの内容をディスクアレイコントローラ
4へ通知する。この通知を受け取ったディスクアレイコ
ントローラ4は、ホスト1より要求のあったアドレスで
各ディスク装置6−1〜6−nに対してリードコマンド
を発行する(S6)。
ドがリードコマンドであった場合、ホストアダプタ3
は、そのコマンドの内容をディスクアレイコントローラ
4へ通知する。この通知を受け取ったディスクアレイコ
ントローラ4は、ホスト1より要求のあったアドレスで
各ディスク装置6−1〜6−nに対してリードコマンド
を発行する(S6)。
【0103】ディスク装置6−1〜6−nは、デバイス
アダプタ5−1〜5−nを介して前記リードコマンドを
受信すると、前記コマンドで指定されたアドレスのデー
タをリードする。そして、ディスク装置6−1〜6−n
は、リードしたデータを、ディスク装置6−1〜6−n
に接続されている各デバイスアダプタ5−1〜5−nへ
転送する。各デバイスアダプタ5−1〜5−nは、前記
データをそれぞれ内部のメモリ12−1〜12−nに格
納する(S7)。
アダプタ5−1〜5−nを介して前記リードコマンドを
受信すると、前記コマンドで指定されたアドレスのデー
タをリードする。そして、ディスク装置6−1〜6−n
は、リードしたデータを、ディスク装置6−1〜6−n
に接続されている各デバイスアダプタ5−1〜5−nへ
転送する。各デバイスアダプタ5−1〜5−nは、前記
データをそれぞれ内部のメモリ12−1〜12−nに格
納する(S7)。
【0104】その後、ディスクアレイコントローラ4
は、デバイスアダプタ5−1〜5−mのメモリ12−1
〜12−mに格納されている分割データからホストデー
タを再構築(復元)する。この場合、ディスクアレイコ
ントローラ4のパリティ処理部19は、前記メモリ12
−1〜12−mに格納されている各データの排他的論理
和を計算してリードパリティデータとし、このリードパ
リティデータを前記メモリ12−nに格納されているパ
リティデータと比較することでリードパリティチェック
を行う(S8)。
は、デバイスアダプタ5−1〜5−mのメモリ12−1
〜12−mに格納されている分割データからホストデー
タを再構築(復元)する。この場合、ディスクアレイコ
ントローラ4のパリティ処理部19は、前記メモリ12
−1〜12−mに格納されている各データの排他的論理
和を計算してリードパリティデータとし、このリードパ
リティデータを前記メモリ12−nに格納されているパ
リティデータと比較することでリードパリティチェック
を行う(S8)。
【0105】その結果、両者が一致すれば、リードパリ
ティチェックが正常であり、整合性に矛盾が無かったと
して、前記再構築(復元)したホストデータをホストア
ダプタ3へ転送する(S13)。その後、ホストアダプ
タ3は前記ホストデータをホスト1へ転送する(S1
2)。しかし、前記S8のリードパリティチェックで不
一致の場合、パリティの整合性に矛盾が有ったとする。
ティチェックが正常であり、整合性に矛盾が無かったと
して、前記再構築(復元)したホストデータをホストア
ダプタ3へ転送する(S13)。その後、ホストアダプ
タ3は前記ホストデータをホスト1へ転送する(S1
2)。しかし、前記S8のリードパリティチェックで不
一致の場合、パリティの整合性に矛盾が有ったとする。
【0106】すなわち、ディスクアレイコントローラ4
は前記のようにパリティが不一致と分かった時点で以下
のようなデータリカバリ処理を実施する。先ず、ディス
クアレイコントローラ4は、端のデバイスアダプタ5−
1のメモリ12−1に誤ったデータが入ってしまったと
仮定する。この仮定の元で、前記RAID3のリカバリ
方法によりホストデータを再構築してみる(S9)。
は前記のようにパリティが不一致と分かった時点で以下
のようなデータリカバリ処理を実施する。先ず、ディス
クアレイコントローラ4は、端のデバイスアダプタ5−
1のメモリ12−1に誤ったデータが入ってしまったと
仮定する。この仮定の元で、前記RAID3のリカバリ
方法によりホストデータを再構築してみる(S9)。
【0107】そしてこの再構築されたホストデータが正
しいものか否かを、CRCチェック部20がホストCR
Cデータをチェックすることにより決定する(S1
0)。前記CRCチェック部20によるホストCRCチ
ェックで整合性がとれた場合、そのホストデータは正し
いとする。そして、ディスクアレイコントローラ4は、
デバイスアダプタ5−1のメモリ12−1に誤ったデー
タが入っていたものと断定する。
しいものか否かを、CRCチェック部20がホストCR
Cデータをチェックすることにより決定する(S1
0)。前記CRCチェック部20によるホストCRCチ
ェックで整合性がとれた場合、そのホストデータは正し
いとする。そして、ディスクアレイコントローラ4は、
デバイスアダプタ5−1のメモリ12−1に誤ったデー
タが入っていたものと断定する。
【0108】もし、前記ホストCRCチェックで整合性
がとれない場合は、このデバイスアダプタ5−1以外の
他のデバイスアダプタ5−2〜5−nのメモリ12−2
〜12−nに誤ったデータが入っているに違いないとす
る。このため、ディスクアレイコントローラ4は、誤っ
たデータが入っていると仮定するデバイスアダプタのメ
モリを隣のデバイスアダプタ5−2のメモリ12−2と
し、かつデバイスアダプタ5−1のメモリ12−1を正
確なデータが入っているものと仮定し、この仮定の元
で、再度、ホストデータを再構築し、そのホストデータ
についてCRCチェック部20が前記ホストCRCチェ
ックを行う。
がとれない場合は、このデバイスアダプタ5−1以外の
他のデバイスアダプタ5−2〜5−nのメモリ12−2
〜12−nに誤ったデータが入っているに違いないとす
る。このため、ディスクアレイコントローラ4は、誤っ
たデータが入っていると仮定するデバイスアダプタのメ
モリを隣のデバイスアダプタ5−2のメモリ12−2と
し、かつデバイスアダプタ5−1のメモリ12−1を正
確なデータが入っているものと仮定し、この仮定の元
で、再度、ホストデータを再構築し、そのホストデータ
についてCRCチェック部20が前記ホストCRCチェ
ックを行う。
【0109】これを全てのデバイスアダプタに対してホ
ストCRCの整合性がとれるまで前記S9の処理から繰
り返して行う。前記のようにして、ホストCRCチェッ
クで整合性がとれた場合、このホストデータは正しいと
する。そして、ディスクアレイコントローラ4は、その
再構築したホストデータをホストアダプタ3へ転送する
(S11)。ホストアダプタ3は前記データを受け取る
と、そのデータをホスト1へ転送する(S12)。 (実施の形態2の説明) §1:実施の形態2の装置の説明・・・図5参照 図5は実施の形態2の装置構成図である。以下、図5に
基づいて実施の形態2の装置の構成を説明する。図示の
ように、ディスクアレイ装置は、ホスト1に接続された
ディスクアレイ制御装置2と、前記ディスクアレイ制御
装置2に接続された複数のディスク装置6−1〜6−n
(n:ディスク装置の台数)によって構成されている。
ストCRCの整合性がとれるまで前記S9の処理から繰
り返して行う。前記のようにして、ホストCRCチェッ
クで整合性がとれた場合、このホストデータは正しいと
する。そして、ディスクアレイコントローラ4は、その
再構築したホストデータをホストアダプタ3へ転送する
(S11)。ホストアダプタ3は前記データを受け取る
と、そのデータをホスト1へ転送する(S12)。 (実施の形態2の説明) §1:実施の形態2の装置の説明・・・図5参照 図5は実施の形態2の装置構成図である。以下、図5に
基づいて実施の形態2の装置の構成を説明する。図示の
ように、ディスクアレイ装置は、ホスト1に接続された
ディスクアレイ制御装置2と、前記ディスクアレイ制御
装置2に接続された複数のディスク装置6−1〜6−n
(n:ディスク装置の台数)によって構成されている。
【0110】また、ディスクアレイ制御装置2には、ホ
ストアダプタ3と、ディスクアレイコントローラ4と、
複数のデバイスアダプタ5−1〜5−nが設けてある。
そして、ホストアダプタ3には、メモリ10が設けてあ
り、ディスクアレイコントローラ4にはパリティ処理部
19と時刻データ処理部13と時計14が設けてあり、
デバイスアダプタ5−1から5−nにはそれぞれメモリ
12−1から12−nが設けてある。
ストアダプタ3と、ディスクアレイコントローラ4と、
複数のデバイスアダプタ5−1〜5−nが設けてある。
そして、ホストアダプタ3には、メモリ10が設けてあ
り、ディスクアレイコントローラ4にはパリティ処理部
19と時刻データ処理部13と時計14が設けてあり、
デバイスアダプタ5−1から5−nにはそれぞれメモリ
12−1から12−nが設けてある。
【0111】前記パリティ処理部19はパリティデータ
の作成処理、チェック処理等を行うものである。時計1
4は時刻を計時するものであり、時刻データ処理部13
は時計14の時刻を検出してその時刻データの処理を行
うものである。なお、他の構成は前記実施の形態1と同
じである。
の作成処理、チェック処理等を行うものである。時計1
4は時刻を計時するものであり、時刻データ処理部13
は時計14の時刻を検出してその時刻データの処理を行
うものである。なお、他の構成は前記実施の形態1と同
じである。
【0112】§2:実施の形態2の処理概要の説明 実施の形態2は、RAID3のディスクアレイ装置の例
である。この例では、図5に示したRAID3のディス
クアレイ装置により、次のような処理を行う。データの
書き込み時には、ホスト1から受信したホストデータを
複数のデータに分割し、これら分割データからパリティ
データを計算する。そして前記分割データとパリティデ
ータに対し、現在時刻の時刻データを付加する。
である。この例では、図5に示したRAID3のディス
クアレイ装置により、次のような処理を行う。データの
書き込み時には、ホスト1から受信したホストデータを
複数のデータに分割し、これら分割データからパリティ
データを計算する。そして前記分割データとパリティデ
ータに対し、現在時刻の時刻データを付加する。
【0113】その後、時刻データ付き分割データとパリ
ティデータをディスク装置6−1〜6−nへ送り、前記
ディスク装置の記録媒体に書き込む。この場合、時刻デ
ータ付き分割データはディスク装置6−1〜6−mに書
き込み、前記時刻データ付きパリティデータはディスク
装置6−nに書き込む。
ティデータをディスク装置6−1〜6−nへ送り、前記
ディスク装置の記録媒体に書き込む。この場合、時刻デ
ータ付き分割データはディスク装置6−1〜6−mに書
き込み、前記時刻データ付きパリティデータはディスク
装置6−nに書き込む。
【0114】また、ディスク装置からのデータリード時
には、RAID3でのパリティチェックで整合性がとれ
なかった場合、各ディスク装置に書かれている時刻を比
較し、一番古いものを誤ったデータとして、RAID3
でのホストデータの再構築を行う。
には、RAID3でのパリティチェックで整合性がとれ
なかった場合、各ディスク装置に書かれている時刻を比
較し、一番古いものを誤ったデータとして、RAID3
でのホストデータの再構築を行う。
【0115】すなわち、ディスク装置からのデータのリ
ード時に、パリティチェックを行い、そのパリティチェ
ックで不整合となった場合は、各ディスク装置に書かれ
ている時刻データを参照し、古いものがあればそれを誤
ったデータの入ったディスク装置であるとして、RAI
D3のリカバリ方法により正しいホストデータを再構築
する。
ード時に、パリティチェックを行い、そのパリティチェ
ックで不整合となった場合は、各ディスク装置に書かれ
ている時刻データを参照し、古いものがあればそれを誤
ったデータの入ったディスク装置であるとして、RAI
D3のリカバリ方法により正しいホストデータを再構築
する。
【0116】§3:処理の説明・・・図6参照 図6は実施の形態2の処理説明図である。以下、図6に
基づいて実施の形態2の処理を説明する。
基づいて実施の形態2の処理を説明する。
【0117】(1) :RAID3でのライト時の処理 RAID3でのデータライト(書き込み)時の処理は次
の通りである。この場合ディスク装置6−1〜6−mを
分割データの格納用(データ用ディスク装置)とし、デ
ィスク装置6−nをパリティデータの格納用(パリティ
用ディスク装置)として、データのリード/ライト時の
処理を次のようにして行う。
の通りである。この場合ディスク装置6−1〜6−mを
分割データの格納用(データ用ディスク装置)とし、デ
ィスク装置6−nをパリティデータの格納用(パリティ
用ディスク装置)として、データのリード/ライト時の
処理を次のようにして行う。
【0118】先ず、ホストアダプタ3は、ホスト1より
ライトコマンドと共に書き込み要求のあったホストデー
タを受信すると、そのホストデータをメモリ10に一時
格納する(参照)。次に、ホストアダプタ3は、前記
ホストデータをディスクアレイコントローラ4へ転送す
る(参照)。
ライトコマンドと共に書き込み要求のあったホストデー
タを受信すると、そのホストデータをメモリ10に一時
格納する(参照)。次に、ホストアダプタ3は、前記
ホストデータをディスクアレイコントローラ4へ転送す
る(参照)。
【0119】ディスクアレイコントローラ4はホストデ
ータを受け取ると、RAID3に基づき、ホストデータ
をm個のデータに分割して、各ディスク装置6−1〜6
−mに割り振るデータ(分割データ)を作成する。ま
た、パリティ処理部19は、前記m個の分割データの排
他的論理和を計算してパリティデータを作成する。
ータを受け取ると、RAID3に基づき、ホストデータ
をm個のデータに分割して、各ディスク装置6−1〜6
−mに割り振るデータ(分割データ)を作成する。ま
た、パリティ処理部19は、前記m個の分割データの排
他的論理和を計算してパリティデータを作成する。
【0120】すなわち、前記ホストデータを分割した分
割データをd1 、d2 、d3 ・・・dm 、パリティデー
タをPとすると、前記パリティデータPは、前記分割デ
ータd1 、d2 、d3 ・・・dm の各排他的論理和とな
る(参照)。そして、時刻データ処理部13は時計1
4から現在時刻を読み取り、その時刻データを前記各分
割データ、及びパリティデータに付加する。
割データをd1 、d2 、d3 ・・・dm 、パリティデー
タをPとすると、前記パリティデータPは、前記分割デ
ータd1 、d2 、d3 ・・・dm の各排他的論理和とな
る(参照)。そして、時刻データ処理部13は時計1
4から現在時刻を読み取り、その時刻データを前記各分
割データ、及びパリティデータに付加する。
【0121】次にディスクアレイコントローラ4は、デ
ィスク装置6−1〜6−nに対してライトコマンドを発
行すると共に、前記各時刻データ付き分割データをデバ
イスアダプタ5−1〜5−mへ転送する。これと同時
に、デバイスアダプタ5−nには、前記時刻データ付き
パリティデータを転送する。
ィスク装置6−1〜6−nに対してライトコマンドを発
行すると共に、前記各時刻データ付き分割データをデバ
イスアダプタ5−1〜5−mへ転送する。これと同時
に、デバイスアダプタ5−nには、前記時刻データ付き
パリティデータを転送する。
【0122】その後、デバイスアダプタ5−1〜5−m
は、各々接続されているディスク装置6−1〜6−mに
前記ライトコマンドを送ると共に、前記時刻データ付き
分割データを転送する。そして、ディスク装置6−1〜
6−mは記憶媒体に前記時刻付き分割データを書き込む
(ディスクデータの書き込み)。また、デバイスアダプ
タ5−nは、接続されているディスク装置6−nにライ
トコマンドを送ると共に、前記時刻データ付きパリティ
データを転送し、ディスク装置6−nは記憶媒体に時刻
付きパリティデータを書き込む(参照)。
は、各々接続されているディスク装置6−1〜6−mに
前記ライトコマンドを送ると共に、前記時刻データ付き
分割データを転送する。そして、ディスク装置6−1〜
6−mは記憶媒体に前記時刻付き分割データを書き込む
(ディスクデータの書き込み)。また、デバイスアダプ
タ5−nは、接続されているディスク装置6−nにライ
トコマンドを送ると共に、前記時刻データ付きパリティ
データを転送し、ディスク装置6−nは記憶媒体に時刻
付きパリティデータを書き込む(参照)。
【0123】(2) :RAID3でのリード処理におい
て、パリティの整合性に矛盾が無かった場合の処理説明 RAID3でのリード処理時に、パリティの整合性に矛
盾がなかった場合の処理は次の通りである。先ず、ホス
ト1の発行したリードコマンドをホストアダプタ3が受
信すると、ホストアダプタ3は、そのコマンドの内容を
ディスクアレイコントローラ4へ通知する。この通知を
受け取ったディスクアレイコントローラ4は、ホスト1
より要求のあったアドレスで各ディスク装置6−1〜6
−nに対してリードコマンドを発行する。
て、パリティの整合性に矛盾が無かった場合の処理説明 RAID3でのリード処理時に、パリティの整合性に矛
盾がなかった場合の処理は次の通りである。先ず、ホス
ト1の発行したリードコマンドをホストアダプタ3が受
信すると、ホストアダプタ3は、そのコマンドの内容を
ディスクアレイコントローラ4へ通知する。この通知を
受け取ったディスクアレイコントローラ4は、ホスト1
より要求のあったアドレスで各ディスク装置6−1〜6
−nに対してリードコマンドを発行する。
【0124】デバイスアダプタ5−1〜5−nを介して
前記リードコマンドを受信したディスク装置6−1〜6
−nは、指定されたアドレスのデータをリードする。そ
して、ディスク装置6−1〜6−nからリードしたデー
タは、ディスク装置6−1〜6−nに接続されている各
デバイスアダプタ5−1〜5−nに転送され、それぞれ
メモリ12−1〜12−nに格納される。
前記リードコマンドを受信したディスク装置6−1〜6
−nは、指定されたアドレスのデータをリードする。そ
して、ディスク装置6−1〜6−nからリードしたデー
タは、ディスク装置6−1〜6−nに接続されている各
デバイスアダプタ5−1〜5−nに転送され、それぞれ
メモリ12−1〜12−nに格納される。
【0125】その後、ディスクアレイコントローラ4
は、デバイスアダプタ5−1〜5−mのメモリ12−1
〜12−mに格納されている分割データからRAID3
に基づきホストデータを再構築(復元)する。この時、
パリティ処理部19は、前記メモリ12−1〜12−m
に格納されている各分割データの排他的論理和を計算し
てリードパリティとし、このリードパリティを前記メモ
リ12−nに格納されているパリティと比較することで
リードパリティチェックを行う。
は、デバイスアダプタ5−1〜5−mのメモリ12−1
〜12−mに格納されている分割データからRAID3
に基づきホストデータを再構築(復元)する。この時、
パリティ処理部19は、前記メモリ12−1〜12−m
に格納されている各分割データの排他的論理和を計算し
てリードパリティとし、このリードパリティを前記メモ
リ12−nに格納されているパリティと比較することで
リードパリティチェックを行う。
【0126】この場合、前記メモリ12−1〜12−m
に格納されている分割データをd1、d2 、d3 ・・・
dm 、メモリ12−nに格納されているパリティデータ
をP、前記分割データd1 、d2 、d3 ・・・dm から
計算したリードパリティデータをRPとすると、前記リ
ードパリティデータRPは、前記各分割データd1 、d
2 、d3 ・・・dm の排他的論理和となる。
に格納されている分割データをd1、d2 、d3 ・・・
dm 、メモリ12−nに格納されているパリティデータ
をP、前記分割データd1 、d2 、d3 ・・・dm から
計算したリードパリティデータをRPとすると、前記リ
ードパリティデータRPは、前記各分割データd1 、d
2 、d3 ・・・dm の排他的論理和となる。
【0127】そして前記リードパリティチェックでRP
=Pとなれば、整合性に矛盾無しと判断する(参
照)。すなわち、前記リードパリティチェックの結果、
両者が一致すれば(RP=P)、リードパリティチェッ
クが正常であり、リードデータの整合性に矛盾が無かっ
たとして、前記再構築したデータをホストアダプタ3へ
転送する。その後、ホストアダプタ3は前記データをホ
スト1へ転送する。
=Pとなれば、整合性に矛盾無しと判断する(参
照)。すなわち、前記リードパリティチェックの結果、
両者が一致すれば(RP=P)、リードパリティチェッ
クが正常であり、リードデータの整合性に矛盾が無かっ
たとして、前記再構築したデータをホストアダプタ3へ
転送する。その後、ホストアダプタ3は前記データをホ
スト1へ転送する。
【0128】(3) :RAID3でのリード処理におい
て、パリティの整合性に矛盾が有った場合の処理説明 前記のように、ディスク装置からのデータリード時に、
デバイスアダプタ5−1〜5−mのメモリ12−1〜1
2−mに格納されている各分割データの排他的論理和を
計算して求めたリードパリティデータRPと、デバイス
アダプタ5−nのメモリ12−nに格納されているパリ
ティデータPとの値が不一致(RP≠P)であった場
合、整合性に矛盾が有るとして次の処理を行う。
て、パリティの整合性に矛盾が有った場合の処理説明 前記のように、ディスク装置からのデータリード時に、
デバイスアダプタ5−1〜5−mのメモリ12−1〜1
2−mに格納されている各分割データの排他的論理和を
計算して求めたリードパリティデータRPと、デバイス
アダプタ5−nのメモリ12−nに格納されているパリ
ティデータPとの値が不一致(RP≠P)であった場
合、整合性に矛盾が有るとして次の処理を行う。
【0129】この場合、時刻データ処理部13は、各デ
バイスアダプタ5−1〜5−mのメモリ12−1〜12
−mに格納されているデータの時刻を調べ、ディスクア
レイコントローラ4はこの時刻が一番古いものを誤った
データとして決定する。そして、ディスクアレイコント
ローラ4は、最古の時刻データを持つ誤ったデータを除
いて、他のデバイスアダプタのメモリに格納されている
データからRAID3のデータリカバリ方法に基づき、
ホストデータを再構築する。前記再構築されたホストデ
ータは、正しいデータとしてホストアダプタ3へ転送さ
れる。ホストアダプタ3は前記データを受け取ると、そ
のデータをホスト1へ転送する。
バイスアダプタ5−1〜5−mのメモリ12−1〜12
−mに格納されているデータの時刻を調べ、ディスクア
レイコントローラ4はこの時刻が一番古いものを誤った
データとして決定する。そして、ディスクアレイコント
ローラ4は、最古の時刻データを持つ誤ったデータを除
いて、他のデバイスアダプタのメモリに格納されている
データからRAID3のデータリカバリ方法に基づき、
ホストデータを再構築する。前記再構築されたホストデ
ータは、正しいデータとしてホストアダプタ3へ転送さ
れる。ホストアダプタ3は前記データを受け取ると、そ
のデータをホスト1へ転送する。
【0130】§4:フローチャートによる処理の説明・
・・図7参照 図7は実施の形態2の処理フローチャートである。以
下、図7に基づいて実施の形態2の処理を説明する。な
お、S21〜S32は各処理ステップを示す。
・・図7参照 図7は実施の形態2の処理フローチャートである。以
下、図7に基づいて実施の形態2の処理を説明する。な
お、S21〜S32は各処理ステップを示す。
【0131】処理が開始され、ホストアダプタ3がホス
ト1の発行したコマンドを受信すると(S21)、ホス
トアダプタ3は前記コマンドをメモリ10に一時格納
し、そのコマンドを解析して内容を判断する(S2
2)。その結果、前記コマンドがライトコマンドであれ
ば、RAID3でのデータライト(書き込み)時の処理
を次のようにして行う。
ト1の発行したコマンドを受信すると(S21)、ホス
トアダプタ3は前記コマンドをメモリ10に一時格納
し、そのコマンドを解析して内容を判断する(S2
2)。その結果、前記コマンドがライトコマンドであれ
ば、RAID3でのデータライト(書き込み)時の処理
を次のようにして行う。
【0132】前記のように、ホストアダプタ3は、ホス
ト1よりライトコマンドと共に書き込み要求のあったホ
ストデータを受信すると、そのホストデータをメモリ1
0に一時格納する。そして、ホストアダプタ3は前記ホ
ストデータをディスクアレイコントローラ4へ転送する
(S23)。
ト1よりライトコマンドと共に書き込み要求のあったホ
ストデータを受信すると、そのホストデータをメモリ1
0に一時格納する。そして、ホストアダプタ3は前記ホ
ストデータをディスクアレイコントローラ4へ転送する
(S23)。
【0133】ディスクアレイコントローラ4はホストデ
ータを受け取ると、RAID3に基づき、ホストデータ
をm個のデータに分割して各ディスク装置6−1〜6−
mに割り振る分割データを作成する。また、パリティ処
理部19は前記m個の分割データの排他的論理和を計算
してパリティデータを作成する。そして、時刻データ処
理部13は時計14から現在時刻を読み取り、その時刻
データを前記各分割データ及びパリティデータに付加す
る(S24)。
ータを受け取ると、RAID3に基づき、ホストデータ
をm個のデータに分割して各ディスク装置6−1〜6−
mに割り振る分割データを作成する。また、パリティ処
理部19は前記m個の分割データの排他的論理和を計算
してパリティデータを作成する。そして、時刻データ処
理部13は時計14から現在時刻を読み取り、その時刻
データを前記各分割データ及びパリティデータに付加す
る(S24)。
【0134】次にディスクアレイコントローラ4はディ
スク装置6−1〜6−nに対してライトコマンドを発行
すると共に、前記時刻データ付き分割データをデバイス
アダプタ5−1〜5−mへ転送する。これと同時に、デ
バイスアダプタ5−nには、前記時刻データ付きパリテ
ィデータを転送する。
スク装置6−1〜6−nに対してライトコマンドを発行
すると共に、前記時刻データ付き分割データをデバイス
アダプタ5−1〜5−mへ転送する。これと同時に、デ
バイスアダプタ5−nには、前記時刻データ付きパリテ
ィデータを転送する。
【0135】その後、デバイスアダプタ5−1〜5−m
は、各々接続されているディスク装置6−1〜6−mに
前記ライトコマンドを送ると共に、前記時刻データ付き
分割データを転送する。そして、ディスク装置6−1〜
6−mは記憶媒体に前記時刻付き分割データを書き込む
(ディスクデータの書き込み)。また、デバイスアダプ
タ5−nは、接続されているディスク装置6−nにライ
トコマンドを送ると共に、前記時刻データ付きパリティ
データを転送し、ディスク装置6−nは記憶媒体に時刻
付きパリティデータを書き込み(S25)ライト処理を
終了する。
は、各々接続されているディスク装置6−1〜6−mに
前記ライトコマンドを送ると共に、前記時刻データ付き
分割データを転送する。そして、ディスク装置6−1〜
6−mは記憶媒体に前記時刻付き分割データを書き込む
(ディスクデータの書き込み)。また、デバイスアダプ
タ5−nは、接続されているディスク装置6−nにライ
トコマンドを送ると共に、前記時刻データ付きパリティ
データを転送し、ディスク装置6−nは記憶媒体に時刻
付きパリティデータを書き込み(S25)ライト処理を
終了する。
【0136】また、前記S22の処理で、受信したコマ
ンドがリードコマンドであった場合、ホストアダプタ3
は、そのコマンドの内容をディスクアレイコントローラ
4へ通知する。この通知を受け取ったディスクアレイコ
ントローラ4は、ホスト1より要求のあったアドレスで
各ディスク装置6−1〜6−nに対してリードコマンド
を発行する(S26)。
ンドがリードコマンドであった場合、ホストアダプタ3
は、そのコマンドの内容をディスクアレイコントローラ
4へ通知する。この通知を受け取ったディスクアレイコ
ントローラ4は、ホスト1より要求のあったアドレスで
各ディスク装置6−1〜6−nに対してリードコマンド
を発行する(S26)。
【0137】デバイスアダプタ5−1〜5−nを介して
前記リードコマンドを受信したディスク装置6−1〜6
−nは、指定されたアドレスのデータをリードする。そ
して、ディスク装置6−1〜6−nからリードした時刻
付きデータは、ディスク装置6−1〜6−nに接続され
ている各デバイスアダプタ5−1〜5−nに転送され、
それぞれメモリ12−1〜12−nに格納される(S2
7)。
前記リードコマンドを受信したディスク装置6−1〜6
−nは、指定されたアドレスのデータをリードする。そ
して、ディスク装置6−1〜6−nからリードした時刻
付きデータは、ディスク装置6−1〜6−nに接続され
ている各デバイスアダプタ5−1〜5−nに転送され、
それぞれメモリ12−1〜12−nに格納される(S2
7)。
【0138】その後、ディスクアレイコントローラ4
は、デバイスアダプタ5−1〜5−mのメモリ12−1
〜12−mに格納されている分割データを用いてホスト
データを再構築する。また、この時、パリティ処理部1
9は、デバイスアダプタ5−1〜5−mに格納されてい
る分割データの排他的論理和を計算してリードパリティ
を作成し、前記リードパリティをデバイスアダプタ5−
nのメモリ12−nに格納されているパリティデータと
比較することでリードパリティチェックを行う(S2
8)。
は、デバイスアダプタ5−1〜5−mのメモリ12−1
〜12−mに格納されている分割データを用いてホスト
データを再構築する。また、この時、パリティ処理部1
9は、デバイスアダプタ5−1〜5−mに格納されてい
る分割データの排他的論理和を計算してリードパリティ
を作成し、前記リードパリティをデバイスアダプタ5−
nのメモリ12−nに格納されているパリティデータと
比較することでリードパリティチェックを行う(S2
8)。
【0139】その結果、両者が一致すれば、リードパリ
ティチェックが正常であり、整合性に矛盾が無かったと
して、前記再構築(復元)したホストデータをホストア
ダプタ3へ転送する(S32)。その後、ホストアダプ
タ3は前記ホストデータをホスト1へ転送する(S3
1)。
ティチェックが正常であり、整合性に矛盾が無かったと
して、前記再構築(復元)したホストデータをホストア
ダプタ3へ転送する(S32)。その後、ホストアダプ
タ3は前記ホストデータをホスト1へ転送する(S3
1)。
【0140】しかし、前記S28のリードパリティチェ
ックで、不一致の場合、整合性に矛盾が有ったとする。
すなわち、前記のようにパリティが不一致と分かった時
点で以下のようなデータリカバリ処理を実施する。この
場合、ディスクアレイコントローラ4は、各デバイスア
ダプタ5−1〜5−nのメモリ12−1〜12−nに格
納されているデータの時刻を調べ、この時刻が一番古い
もの(最古の時刻を持ったデータ)を誤ったデータと決
定する。そして、最古の時刻データを持つ誤ったデータ
を除いて、他のデバイスアダプタのメモリに格納されて
いるデータから前記RAID3のデータリカバリ処理に
基づき、ホストデータを再構築する(S29)。前記再
構築されたホストデータは、正しいデータとしてホスト
アダプタ3へ転送される(S30)。ホストアダプタ3
は前記データを受け取ると、そのデータをホスト1へ転
送する(S31)。
ックで、不一致の場合、整合性に矛盾が有ったとする。
すなわち、前記のようにパリティが不一致と分かった時
点で以下のようなデータリカバリ処理を実施する。この
場合、ディスクアレイコントローラ4は、各デバイスア
ダプタ5−1〜5−nのメモリ12−1〜12−nに格
納されているデータの時刻を調べ、この時刻が一番古い
もの(最古の時刻を持ったデータ)を誤ったデータと決
定する。そして、最古の時刻データを持つ誤ったデータ
を除いて、他のデバイスアダプタのメモリに格納されて
いるデータから前記RAID3のデータリカバリ処理に
基づき、ホストデータを再構築する(S29)。前記再
構築されたホストデータは、正しいデータとしてホスト
アダプタ3へ転送される(S30)。ホストアダプタ3
は前記データを受け取ると、そのデータをホスト1へ転
送する(S31)。
【0141】(実施の形態3の説明) §1:実施の形態3の装置の説明・・・図8参照 図8は実施の形態3の装置構成図である。以下、図8に
基づいて実施の形態3の装置を説明する。図示のよう
に、ディスクアレイ装置は、ホスト1に接続されたディ
スクアレイ制御装置2と、前記ディスクアレイ制御装置
2に接続された複数のディスク装置6−1〜6−n
(n:ディスク装置の台数)によって構成されている。
基づいて実施の形態3の装置を説明する。図示のよう
に、ディスクアレイ装置は、ホスト1に接続されたディ
スクアレイ制御装置2と、前記ディスクアレイ制御装置
2に接続された複数のディスク装置6−1〜6−n
(n:ディスク装置の台数)によって構成されている。
【0142】また、ディスクアレイ制御装置2には、ホ
ストアダプタ3と、ディスクアレイコントローラ4と、
複数のデバイスアダプタ5−1〜5−nが設けてある。
そして、ホストアダプタ3には、メモリ10が設けてあ
り、ディスクアレイコントローラ4にはパリティ処理部
19と時刻データ処理部13と時計14が設けてあり、
デバイスアダプタ5−1から5−nにはそれぞれメモリ
12−1から12−nが設けてある。
ストアダプタ3と、ディスクアレイコントローラ4と、
複数のデバイスアダプタ5−1〜5−nが設けてある。
そして、ホストアダプタ3には、メモリ10が設けてあ
り、ディスクアレイコントローラ4にはパリティ処理部
19と時刻データ処理部13と時計14が設けてあり、
デバイスアダプタ5−1から5−nにはそれぞれメモリ
12−1から12−nが設けてある。
【0143】この場合、RAID5での処理を行うた
め、ディスク装置6−1〜6−nの全てに巡回的にパリ
ティデータを分散して格納するものである。すなわち、
パリティデータを特定のディスク装置ではなく、各ディ
スク装置に巡回的に分散して格納する。なお、他の構成
は前記実施の形態2と同じである。
め、ディスク装置6−1〜6−nの全てに巡回的にパリ
ティデータを分散して格納するものである。すなわち、
パリティデータを特定のディスク装置ではなく、各ディ
スク装置に巡回的に分散して格納する。なお、他の構成
は前記実施の形態2と同じである。
【0144】§2:実施の形態3の処理概要の説明 実施の形態3は、RAID5のディスクアレイ装置の例
であり、次のように処理を行う。前記RAID5のディ
スクアレイ装置によるデータリード処理において、大量
のデータを転送する場合、前記RAID3のように、全
ディスク装置へのアクセスが行われればデータのパリテ
ィチェックを行うことは可能である。
であり、次のように処理を行う。前記RAID5のディ
スクアレイ装置によるデータリード処理において、大量
のデータを転送する場合、前記RAID3のように、全
ディスク装置へのアクセスが行われればデータのパリテ
ィチェックを行うことは可能である。
【0145】そこで、前記実施の形態2と同様な処理に
より各ディスク装置に時刻付きデータを格納しておき、
リード時には、各ディスク装置に書かれている時刻を比
較し、一番古いものを誤ったディスクデータとして、ホ
ストデータのRAID5のデータリカバリ方法によりホ
ストデータの再構築を行う。
より各ディスク装置に時刻付きデータを格納しておき、
リード時には、各ディスク装置に書かれている時刻を比
較し、一番古いものを誤ったディスクデータとして、ホ
ストデータのRAID5のデータリカバリ方法によりホ
ストデータの再構築を行う。
【0146】すなわち、RAID5では、リード時に大
量のデータを転送する場合、RAID3のように、全デ
ィスク装置へのアクセスが行われると、パリティチェッ
クを行うことが可能である。この場合、実施の形態2と
同じ処理によりホストデータを再構築する。
量のデータを転送する場合、RAID3のように、全デ
ィスク装置へのアクセスが行われると、パリティチェッ
クを行うことが可能である。この場合、実施の形態2と
同じ処理によりホストデータを再構築する。
【0147】§3:処理の説明・・・図8参照 以下、図8に基づいて実施の形態3の処理を説明する。
なお、以下に説明する処理は、全ディスク装置へのアク
セスが行われる場合の例である。
なお、以下に説明する処理は、全ディスク装置へのアク
セスが行われる場合の例である。
【0148】(1) :RAID5でのライト時の処理 RAID5でのデータライト(書き込み)時の処理は次
の通りである。この場合、ディスク装置6−1〜6−n
の全てを分割データ及びパリティデータの格納用とし
て、データのリード/ライト時の処理を次のようにして
行う。
の通りである。この場合、ディスク装置6−1〜6−n
の全てを分割データ及びパリティデータの格納用とし
て、データのリード/ライト時の処理を次のようにして
行う。
【0149】先ず、ホストアダプタ3は、ホスト1より
ライトコマンドと共に書き込み要求のあったホストデー
タを受信すると、そのホストデータをメモリ10に一時
格納する。次に、ホストアダプタ3は、前記ホストデー
タをディスクアレイコントローラ4へ転送する。
ライトコマンドと共に書き込み要求のあったホストデー
タを受信すると、そのホストデータをメモリ10に一時
格納する。次に、ホストアダプタ3は、前記ホストデー
タをディスクアレイコントローラ4へ転送する。
【0150】ディスクアレイコントローラ4はホストデ
ータを受け取ると、RAID5に基づき、ホストデータ
をセクタ単位でm(m=n−1)個のデータに分割し
て、パリティデータ格納用の1つのディスク装置を除く
他の各ディスク装置に割り振る分割データを作成する。
また、パリティ処理部19は、前記m個の分割データの
排他的論理和を計算してパリティデータを作成する。そ
して、時刻データ処理部13は時計14から現在時刻を
読み取り、その時刻データを前記各分割データ、及びパ
リティデータに付加する。
ータを受け取ると、RAID5に基づき、ホストデータ
をセクタ単位でm(m=n−1)個のデータに分割し
て、パリティデータ格納用の1つのディスク装置を除く
他の各ディスク装置に割り振る分割データを作成する。
また、パリティ処理部19は、前記m個の分割データの
排他的論理和を計算してパリティデータを作成する。そ
して、時刻データ処理部13は時計14から現在時刻を
読み取り、その時刻データを前記各分割データ、及びパ
リティデータに付加する。
【0151】次にディスクアレイコントローラ4は、デ
ィスク装置6−1〜6−nに対してライトコマンドを発
行すると共に、前記時刻データ付き分割データをデバイ
スアダプタ5−1〜5−nの内の該当するm個のデバイ
スアダプタへ転送する。これと同時に、残りの1つのデ
バイスアダプタには、前記時刻データ付きパリティデー
タを転送する。
ィスク装置6−1〜6−nに対してライトコマンドを発
行すると共に、前記時刻データ付き分割データをデバイ
スアダプタ5−1〜5−nの内の該当するm個のデバイ
スアダプタへ転送する。これと同時に、残りの1つのデ
バイスアダプタには、前記時刻データ付きパリティデー
タを転送する。
【0152】その後、前記時刻付き分割データを格納し
ているデバイスアダプタは、各々接続されているディス
ク装置に前記ライトコマンドを送ると共に、前記時刻デ
ータ付き分割データを転送する。そして、前記時刻付き
分割データを受信したディスク装置は記憶媒体に前記時
刻付き分割データを書き込む。また、時刻付きパリティ
データを格納しているデバイスアダプタは、接続されて
いるディスク装置にライトコマンドを送ると共に、前記
時刻データ付きパリティデータを転送し、そのディスク
装置は記憶媒体に時刻付きパリティデータを書き込む。
ているデバイスアダプタは、各々接続されているディス
ク装置に前記ライトコマンドを送ると共に、前記時刻デ
ータ付き分割データを転送する。そして、前記時刻付き
分割データを受信したディスク装置は記憶媒体に前記時
刻付き分割データを書き込む。また、時刻付きパリティ
データを格納しているデバイスアダプタは、接続されて
いるディスク装置にライトコマンドを送ると共に、前記
時刻データ付きパリティデータを転送し、そのディスク
装置は記憶媒体に時刻付きパリティデータを書き込む。
【0153】(2) :RAID5でのリード処理におい
て、パリティの整合性に矛盾が無かった場合の処理説明 RAID5でのリード処理時に、パリティの整合性に矛
盾がなかった場合の処理は次の通りである。先ず、ホス
ト1の発行したリードコマンドをホストアダプタ3が受
信すると、ホストアダプタ3は、そのコマンドの内容を
ディスクアレイコントローラ4へ通知する。この通知を
受け取ったディスクアレイコントローラ4は、ホスト1
より要求のあったアドレスで各ディスク装置6−1〜6
−nに対してリードコマンドを発行する。
て、パリティの整合性に矛盾が無かった場合の処理説明 RAID5でのリード処理時に、パリティの整合性に矛
盾がなかった場合の処理は次の通りである。先ず、ホス
ト1の発行したリードコマンドをホストアダプタ3が受
信すると、ホストアダプタ3は、そのコマンドの内容を
ディスクアレイコントローラ4へ通知する。この通知を
受け取ったディスクアレイコントローラ4は、ホスト1
より要求のあったアドレスで各ディスク装置6−1〜6
−nに対してリードコマンドを発行する。
【0154】デバイスアダプタ5−1〜5−nを介して
前記リードコマンドを受信したディスク装置6−1〜6
−nは、指定されたアドレスのデータをリードする。そ
して、ディスク装置6−1〜6−nからリードしたデー
タは、ディスク装置6−1〜6−nに接続されている各
デバイスアダプタ5−1〜5−nに転送され、それぞれ
メモリ12−1〜12−nに格納される。
前記リードコマンドを受信したディスク装置6−1〜6
−nは、指定されたアドレスのデータをリードする。そ
して、ディスク装置6−1〜6−nからリードしたデー
タは、ディスク装置6−1〜6−nに接続されている各
デバイスアダプタ5−1〜5−nに転送され、それぞれ
メモリ12−1〜12−nに格納される。
【0155】その後、ディスクアレイコントローラ4
は、デバイスアダプタのメモリに格納されている分割デ
ータからRAID5に基づきホストデータを再構築(復
元)する。この時、パリティ処理部19は、前記メモリ
に格納されている各分割データの排他的論理和を計算し
てリードパリティとし、このリードパリティを前記いず
れか1つのメモリに格納されているパリティデータと比
較する。
は、デバイスアダプタのメモリに格納されている分割デ
ータからRAID5に基づきホストデータを再構築(復
元)する。この時、パリティ処理部19は、前記メモリ
に格納されている各分割データの排他的論理和を計算し
てリードパリティとし、このリードパリティを前記いず
れか1つのメモリに格納されているパリティデータと比
較する。
【0156】その結果、両者が一致すれば、リードパリ
ティチェックが正常であり、整合性に矛盾が無かったと
して、前記再構築した(復元)データをホストアダプタ
3へ転送する。その後、ホストアダプタ3は前記データ
をホスト1へ転送する。
ティチェックが正常であり、整合性に矛盾が無かったと
して、前記再構築した(復元)データをホストアダプタ
3へ転送する。その後、ホストアダプタ3は前記データ
をホスト1へ転送する。
【0157】(3) :RAID5でのリード処理におい
て、パリティの整合性に矛盾が有った場合の処理説明 前記のように、ディスク装置からのデータリード時に、
デバイスアダプタのメモリに格納されている各分割デー
タの排他的論理和を計算して求めたリードパリティデー
タと、いずれか1つのデバイスアダプタのメモリに格納
されているパリティデータとの値が不一致であった場
合、整合性に矛盾が有るとして次の処理を行う。
て、パリティの整合性に矛盾が有った場合の処理説明 前記のように、ディスク装置からのデータリード時に、
デバイスアダプタのメモリに格納されている各分割デー
タの排他的論理和を計算して求めたリードパリティデー
タと、いずれか1つのデバイスアダプタのメモリに格納
されているパリティデータとの値が不一致であった場
合、整合性に矛盾が有るとして次の処理を行う。
【0158】この場合、時刻データ処理部13は、各デ
バイスアダプタ5−1〜5−nのメモリ12−1〜12
−nに格納されているデータの時刻を調べ、この時刻が
一番古いものを誤ったデータとして決定する。そして、
ディスクアレイコントローラ4は、最古の時刻データを
持つ誤ったデータを除いて、他のデバイスアダプタのメ
モリに格納されているデータからRAID5のデータリ
カバリ方法に基づき、ホストデータを再構築する。前記
再構築されたホストデータは、正しいデータとしてホス
トアダプタ3へ転送される。ホストアダプタ3は前記デ
ータを受け取ると、そのデータをホスト1へ転送する。
バイスアダプタ5−1〜5−nのメモリ12−1〜12
−nに格納されているデータの時刻を調べ、この時刻が
一番古いものを誤ったデータとして決定する。そして、
ディスクアレイコントローラ4は、最古の時刻データを
持つ誤ったデータを除いて、他のデバイスアダプタのメ
モリに格納されているデータからRAID5のデータリ
カバリ方法に基づき、ホストデータを再構築する。前記
再構築されたホストデータは、正しいデータとしてホス
トアダプタ3へ転送される。ホストアダプタ3は前記デ
ータを受け取ると、そのデータをホスト1へ転送する。
【0159】§4:フローチャートによる処理の説明・
・・図9参照 図9は実施の形態3の処理フローチャートである。以
下、図9に基づいて実施の形態3の処理を説明する。な
お、S41〜S52は各処理ステップを示す。
・・図9参照 図9は実施の形態3の処理フローチャートである。以
下、図9に基づいて実施の形態3の処理を説明する。な
お、S41〜S52は各処理ステップを示す。
【0160】処理が開始され、ホストアダプタ3がホス
ト1の発行したコマンドを受信すると(S41)、ホス
トアダプタ3は前記コマンドをメモリ10に一時格納
し、そのコマンドを解析して内容を判断する(S4
2)。その結果、前記コマンドがライトコマンドであれ
ば、RAID5でのデータライト(書き込み)時の処理
を次のようにして行う。
ト1の発行したコマンドを受信すると(S41)、ホス
トアダプタ3は前記コマンドをメモリ10に一時格納
し、そのコマンドを解析して内容を判断する(S4
2)。その結果、前記コマンドがライトコマンドであれ
ば、RAID5でのデータライト(書き込み)時の処理
を次のようにして行う。
【0161】前記のように、ホストアダプタ3は、ホス
ト1よりライトコマンドと共に書き込み要求のあったホ
ストデータを受信すると、そのホストデータをメモリ1
0に一時格納する。そして、ホストアダプタ3は前記ホ
ストデータをディスクアレイコントローラ4へ転送する
(S43)。
ト1よりライトコマンドと共に書き込み要求のあったホ
ストデータを受信すると、そのホストデータをメモリ1
0に一時格納する。そして、ホストアダプタ3は前記ホ
ストデータをディスクアレイコントローラ4へ転送する
(S43)。
【0162】ディスクアレイコントローラ4は前記ホス
トデータを受け取ると、RAID5に基づき、ホストデ
ータをセクタ単位でm個のデータに分割して各ディスク
装置に割り振る分割データを作成する。また、パリティ
処理部19は前記m個の分割データの排他的論理和を計
算してパリティデータを作成する。そして、時刻データ
処理部13は時計14から現在時刻を読み取り、その時
刻データを前記分割データ及びパリティデータに付加す
る。
トデータを受け取ると、RAID5に基づき、ホストデ
ータをセクタ単位でm個のデータに分割して各ディスク
装置に割り振る分割データを作成する。また、パリティ
処理部19は前記m個の分割データの排他的論理和を計
算してパリティデータを作成する。そして、時刻データ
処理部13は時計14から現在時刻を読み取り、その時
刻データを前記分割データ及びパリティデータに付加す
る。
【0163】そして、ディスクアレイコントローラ4
は、ディスク装置6−1〜6−nに対してライトコマン
ドを発行すると共に、前記時刻データ付き分割データと
1個の時刻データ付きパリティデータをデバイスアダプ
タ5−1〜5−nへ転送する(S44)。
は、ディスク装置6−1〜6−nに対してライトコマン
ドを発行すると共に、前記時刻データ付き分割データと
1個の時刻データ付きパリティデータをデバイスアダプ
タ5−1〜5−nへ転送する(S44)。
【0164】その後、デバイスアダプタ5−1〜5−n
は、各々接続されているディスク装置6−1〜6−nに
前記ライトコマンドを送ると共に、前記時刻データ付き
分割データ、及び時刻付きパリティデータを転送する。
そして、ディスク装置6−1〜6−nは記憶媒体に前記
時刻付きデータを書き込む(S45)。この場合、いず
れか1つのディスク装置に時刻付きパリティデータを格
納し、他の複数のディスク装置に時刻付き分割データを
格納する。前記処理が完了すると、ライト処理を終了す
る。
は、各々接続されているディスク装置6−1〜6−nに
前記ライトコマンドを送ると共に、前記時刻データ付き
分割データ、及び時刻付きパリティデータを転送する。
そして、ディスク装置6−1〜6−nは記憶媒体に前記
時刻付きデータを書き込む(S45)。この場合、いず
れか1つのディスク装置に時刻付きパリティデータを格
納し、他の複数のディスク装置に時刻付き分割データを
格納する。前記処理が完了すると、ライト処理を終了す
る。
【0165】また、前記S42の処理で、受信したコマ
ンドがリードコマンドであった場合、ホストアダプタ3
は、そのリードコマンドの内容をディスクアレイコント
ローラ4へ通知する。この通知を受け取ったディスクア
レイコントローラ4は、ホスト1より要求のあったアド
レスで、各ディスク装置6−1〜6−nに対してリード
コマンドを発行する(S46)。
ンドがリードコマンドであった場合、ホストアダプタ3
は、そのリードコマンドの内容をディスクアレイコント
ローラ4へ通知する。この通知を受け取ったディスクア
レイコントローラ4は、ホスト1より要求のあったアド
レスで、各ディスク装置6−1〜6−nに対してリード
コマンドを発行する(S46)。
【0166】デバイスアダプタ5−1〜5−nを介して
前記リードコマンドを受信したディスク装置6−1〜6
−nは、指定されたアドレスのデータをリードする。そ
して、ディスク装置6−1〜6−nからリードした時刻
付きデータは、ディスク装置6−1〜6−nに接続され
ている各デバイスアダプタ5−1〜5−nに転送され、
それぞれメモリ12−1〜12−nに格納される(S4
7)。
前記リードコマンドを受信したディスク装置6−1〜6
−nは、指定されたアドレスのデータをリードする。そ
して、ディスク装置6−1〜6−nからリードした時刻
付きデータは、ディスク装置6−1〜6−nに接続され
ている各デバイスアダプタ5−1〜5−nに転送され、
それぞれメモリ12−1〜12−nに格納される(S4
7)。
【0167】その後、ディスクアレイコントローラ4
は、デバイスアダプタ5−1〜5−nのメモリ12−1
〜12−nに格納されている分割データを用いてホスト
データを再構築する。また、パリティ処理部19は、前
記データの再構築と同時に、デバイスアダプタ5−1〜
5−nのメモリ12−1〜12−nのデータ内、パリテ
ィデータを除く、他のm個の分割データの排他的論理和
を計算してリードパリティを作成し、このリードパリテ
ィを、前記メモリ12−1〜12−nのいずれか1つの
メモリに格納されているパリティデータ(書き込み時に
作成したパリティデータ)と比較することでリードパリ
ティチェックを行う(S48)。
は、デバイスアダプタ5−1〜5−nのメモリ12−1
〜12−nに格納されている分割データを用いてホスト
データを再構築する。また、パリティ処理部19は、前
記データの再構築と同時に、デバイスアダプタ5−1〜
5−nのメモリ12−1〜12−nのデータ内、パリテ
ィデータを除く、他のm個の分割データの排他的論理和
を計算してリードパリティを作成し、このリードパリテ
ィを、前記メモリ12−1〜12−nのいずれか1つの
メモリに格納されているパリティデータ(書き込み時に
作成したパリティデータ)と比較することでリードパリ
ティチェックを行う(S48)。
【0168】その結果、両者が一致すれば、リードパリ
ティチェックが正常であり、整合性に矛盾が無かったと
して、前記再構築(復元)したホストデータをホストア
ダプタ3へ転送する(S52)。その後、ホストアダプ
タ3は前記ホストデータをホスト1へ転送する(S5
1)。
ティチェックが正常であり、整合性に矛盾が無かったと
して、前記再構築(復元)したホストデータをホストア
ダプタ3へ転送する(S52)。その後、ホストアダプ
タ3は前記ホストデータをホスト1へ転送する(S5
1)。
【0169】しかし、前記S48のリードパリティチェ
ック処理で不一致の場合、整合性に矛盾が有ったとす
る。すなわち、前記のようにパリティが不一致と分かっ
た時点で以下のようなデータリカバリ処理を実施する。
この場合、ディスクアレイコントローラ4は、各デバイ
スアダプタ5−1〜5−nのメモリ12−1〜12−n
に格納されているデータの時刻を調べ、この時刻が一番
古いもの(最古の時刻を持ったデータ)を誤ったデータ
と決定する。
ック処理で不一致の場合、整合性に矛盾が有ったとす
る。すなわち、前記のようにパリティが不一致と分かっ
た時点で以下のようなデータリカバリ処理を実施する。
この場合、ディスクアレイコントローラ4は、各デバイ
スアダプタ5−1〜5−nのメモリ12−1〜12−n
に格納されているデータの時刻を調べ、この時刻が一番
古いもの(最古の時刻を持ったデータ)を誤ったデータ
と決定する。
【0170】そして、最古の時刻データを持つ誤ったデ
ータを除いて、他のデバイスアダプタのメモリに格納さ
れているデータから前記RAID5のデータリカバリ方
法に基づき、ホストデータを再構築する(S49)。前
記再構築されたホストデータは、正しいデータとしてホ
ストアダプタ3へ転送される(S50)。ホストアダプ
タ3は前記データを受け取ると、そのデータをホスト1
へ転送する(S51)。
ータを除いて、他のデバイスアダプタのメモリに格納さ
れているデータから前記RAID5のデータリカバリ方
法に基づき、ホストデータを再構築する(S49)。前
記再構築されたホストデータは、正しいデータとしてホ
ストアダプタ3へ転送される(S50)。ホストアダプ
タ3は前記データを受け取ると、そのデータをホスト1
へ転送する(S51)。
【0171】(実施の形態4の説明) §1:実施の形態4の装置の説明・・・図10参照 図10は実施の形態4の装置構成図である。以下、図1
0に基づいて実施の形態4の装置の構成を説明する。図
示のように、ディスクアレイ装置は、ホスト1に接続さ
れたディスクアレイ制御装置2と、前記ディスクアレイ
制御装置2に接続された2つのディスク装置6−1、6
−2によって構成されている(ミラードディスク構
成)。
0に基づいて実施の形態4の装置の構成を説明する。図
示のように、ディスクアレイ装置は、ホスト1に接続さ
れたディスクアレイ制御装置2と、前記ディスクアレイ
制御装置2に接続された2つのディスク装置6−1、6
−2によって構成されている(ミラードディスク構
成)。
【0172】また、ディスクアレイ制御装置2には、ホ
ストアダプタ3と、ディスクアレイコントローラ4と、
2つのデバイスアダプタ(DA)5−1、5−2が設け
てある。そして、ホストアダプタ3には、メモリ10が
設けてあり、ディスクアレイコントローラ4には時刻デ
ータ処理部13と時計14が設けてあり、デバイスアダ
プタ(DA)5−1、5−2にはそれぞれメモリ12−
1、12−2が設けてある。
ストアダプタ3と、ディスクアレイコントローラ4と、
2つのデバイスアダプタ(DA)5−1、5−2が設け
てある。そして、ホストアダプタ3には、メモリ10が
設けてあり、ディスクアレイコントローラ4には時刻デ
ータ処理部13と時計14が設けてあり、デバイスアダ
プタ(DA)5−1、5−2にはそれぞれメモリ12−
1、12−2が設けてある。
【0173】§2:実施の形態4の処理概要の説明 実施の形態4は、RAID1のディスクアレイ装置の例
である。この例では、前記ディスクアレイ装置により次
のようにして処理を行う。すなわち、前記ディスクアレ
イ装置により、ディスク装置6−1、6−2に格納され
たミラーデータ相互の比較で結果が等しくなかった場合
(データ不一致の場合)、各ディスク装置6−1、6−
2に書かれている時刻を比較し、最新の時刻が書かれて
いた方のデータを正しいホストデータとして用いるもの
である。
である。この例では、前記ディスクアレイ装置により次
のようにして処理を行う。すなわち、前記ディスクアレ
イ装置により、ディスク装置6−1、6−2に格納され
たミラーデータ相互の比較で結果が等しくなかった場合
(データ不一致の場合)、各ディスク装置6−1、6−
2に書かれている時刻を比較し、最新の時刻が書かれて
いた方のデータを正しいホストデータとして用いるもの
である。
【0174】§3:処理の説明・・・図10参照 以下、図10に基づいて実施の形態4の処理を説明す
る。 (1) :RAID1でのライト時の処理 RAID1でのデータのリード/ライト時の処理を次の
ようにして行う。先ず、ホストアダプタ3は、ホスト1
よりライトコマンドと共に書き込み要求のあったホスト
データを受信すると、そのホストデータをメモリ10に
一時格納する。次に、ホストアダプタ3は、前記ホスト
データをディスクアレイコントローラ4へ転送する。
る。 (1) :RAID1でのライト時の処理 RAID1でのデータのリード/ライト時の処理を次の
ようにして行う。先ず、ホストアダプタ3は、ホスト1
よりライトコマンドと共に書き込み要求のあったホスト
データを受信すると、そのホストデータをメモリ10に
一時格納する。次に、ホストアダプタ3は、前記ホスト
データをディスクアレイコントローラ4へ転送する。
【0175】ディスクアレイコントローラ4が前記ホス
トデータを受け取ると、時刻データ処理部13は時計1
4から現在時刻を読み取り、その時刻データを前記ホス
トデータに付加する。次にディスクアレイコントローラ
4は、ディスク装置6−1、6−2に対してライトコマ
ンドを発行すると共に、前記時刻データ付きデータをデ
バイスアダプタ5−1、5−2へ転送する。
トデータを受け取ると、時刻データ処理部13は時計1
4から現在時刻を読み取り、その時刻データを前記ホス
トデータに付加する。次にディスクアレイコントローラ
4は、ディスク装置6−1、6−2に対してライトコマ
ンドを発行すると共に、前記時刻データ付きデータをデ
バイスアダプタ5−1、5−2へ転送する。
【0176】その後、デバイスアダプタ5−1、5−2
は、各々接続されているディスク装置6−1、6−2に
前記ライトコマンドを送ると共に、前記時刻データ付き
データを転送する。そして、ディスク装置6−1、6−
2は記憶媒体に前記時刻付きホストデータを書き込む。
このようにしてディスク装置6−1と6−2には同一の
時刻データ付きホストデータ(ミラーデータ)が書き込
まれる。
は、各々接続されているディスク装置6−1、6−2に
前記ライトコマンドを送ると共に、前記時刻データ付き
データを転送する。そして、ディスク装置6−1、6−
2は記憶媒体に前記時刻付きホストデータを書き込む。
このようにしてディスク装置6−1と6−2には同一の
時刻データ付きホストデータ(ミラーデータ)が書き込
まれる。
【0177】(2) :RAID1でのリード処理におい
て、ミラーデータ相互の比較処理で結果が等しかった場
合の処理説明 RAID1でのリード処理時に、ミラーデータ相互の比
較処理で結果が等しかった場合の処理は次の通りであ
る。先ず、ホスト1の発行したリードコマンドをホスト
アダプタ3が受信すると、ホストアダプタ3は、そのコ
マンドの内容をディスクアレイコントローラ4へ通知す
る。この通知を受け取ったディスクアレイコントローラ
4は、ホスト1より要求のあったアドレスで各ディスク
装置6−1、6−2に対してリードコマンドを発行す
る。
て、ミラーデータ相互の比較処理で結果が等しかった場
合の処理説明 RAID1でのリード処理時に、ミラーデータ相互の比
較処理で結果が等しかった場合の処理は次の通りであ
る。先ず、ホスト1の発行したリードコマンドをホスト
アダプタ3が受信すると、ホストアダプタ3は、そのコ
マンドの内容をディスクアレイコントローラ4へ通知す
る。この通知を受け取ったディスクアレイコントローラ
4は、ホスト1より要求のあったアドレスで各ディスク
装置6−1、6−2に対してリードコマンドを発行す
る。
【0178】デバイスアダプタ5−1、5−2を介して
前記リードコマンドを受信したディスク装置6−1、6
−2は、指定されたアドレスのデータをリードする。そ
して、ディスク装置6−1、6−2からリードしたデー
タは、ディスク装置6−1、6−2に接続されている各
デバイスアダプタ5−1、5−2に転送され、それぞれ
メモリ12−1、12−2に格納される。
前記リードコマンドを受信したディスク装置6−1、6
−2は、指定されたアドレスのデータをリードする。そ
して、ディスク装置6−1、6−2からリードしたデー
タは、ディスク装置6−1、6−2に接続されている各
デバイスアダプタ5−1、5−2に転送され、それぞれ
メモリ12−1、12−2に格納される。
【0179】その後、ディスクアレイコントローラ4
は、デバイスアダプタ5−1のメモリ12−1に格納さ
れているデータと、デバイスアダプタ5−2のメモリ1
2−2に格納されているデータとの比較を行う(ミラー
データの比較)。その結果、両者が一致すれば、いずれ
か一方のデータ(例えば、メモリ12−1に格納されて
いるデータ)を正しいホストデータであるとしてホスト
アダプタ3へ転送する。その後、ホストアダプタ3は前
記データをホスト1へ転送する。
は、デバイスアダプタ5−1のメモリ12−1に格納さ
れているデータと、デバイスアダプタ5−2のメモリ1
2−2に格納されているデータとの比較を行う(ミラー
データの比較)。その結果、両者が一致すれば、いずれ
か一方のデータ(例えば、メモリ12−1に格納されて
いるデータ)を正しいホストデータであるとしてホスト
アダプタ3へ転送する。その後、ホストアダプタ3は前
記データをホスト1へ転送する。
【0180】(3) :RAID1でのリード処理におい
て、ミラーデータ相互の比較処理で結果が等しくなかっ
た場合の処理説明 前記のように、ディスク装置からのデータのリード時
に、デバイスアダプタ5−1、5−2のメモリ12−
1、12−2に格納されているデータの比較で、両者が
不一致であった場合、時刻データ処理部13は、各デバ
イスアダプタ5−1、5−2のメモリ12−1、12−
2に格納されているデータの時刻を調べ、この時刻が古
いものを誤ったデータとして決定する。
て、ミラーデータ相互の比較処理で結果が等しくなかっ
た場合の処理説明 前記のように、ディスク装置からのデータのリード時
に、デバイスアダプタ5−1、5−2のメモリ12−
1、12−2に格納されているデータの比較で、両者が
不一致であった場合、時刻データ処理部13は、各デバ
イスアダプタ5−1、5−2のメモリ12−1、12−
2に格納されているデータの時刻を調べ、この時刻が古
いものを誤ったデータとして決定する。
【0181】そして、ディスクアレイコントローラ4
は、最新の時刻が書かれていた方のデータを正しいホス
トデータとして用いる。すなわち、古い時刻データを持
つ誤ったデータを除いて、他のデバイスアダプタのメモ
リに格納されているデータを正しいホストデータとして
ホストアダプタ3へ転送する。ホストアダプタ3は前記
データを受け取ると、そのデータをホスト1へ転送す
る。
は、最新の時刻が書かれていた方のデータを正しいホス
トデータとして用いる。すなわち、古い時刻データを持
つ誤ったデータを除いて、他のデバイスアダプタのメモ
リに格納されているデータを正しいホストデータとして
ホストアダプタ3へ転送する。ホストアダプタ3は前記
データを受け取ると、そのデータをホスト1へ転送す
る。
【0182】§4:フローチャートによる処理の説明・
・・図11参照 図11は実施の形態4の処理フローチャートである。以
下、図11に基づいて実施の形態4の処理を説明する。
なお、S61〜S72は各処理ステップを示す。
・・図11参照 図11は実施の形態4の処理フローチャートである。以
下、図11に基づいて実施の形態4の処理を説明する。
なお、S61〜S72は各処理ステップを示す。
【0183】処理が開始され、ホストアダプタ3がホス
ト1の発行したコマンドを受信すると(S61)、ホス
トアダプタ3は前記コマンドをメモリ10に一時格納
し、そのコマンドを解析して内容を判断する(S6
2)。その結果、前記コマンドがライトコマンドであれ
ば、RAID1でのデータライト(書き込み)時の処理
を次のようにして行う。
ト1の発行したコマンドを受信すると(S61)、ホス
トアダプタ3は前記コマンドをメモリ10に一時格納
し、そのコマンドを解析して内容を判断する(S6
2)。その結果、前記コマンドがライトコマンドであれ
ば、RAID1でのデータライト(書き込み)時の処理
を次のようにして行う。
【0184】前記のように、ホストアダプタ3は、ホス
ト1よりライトコマンドと共に書き込み要求のあったホ
ストデータを受信すると、そのホストデータをメモリ1
0に一時格納する。そして、ホストアダプタ3は前記ホ
ストデータをディスクアレイコントローラ4へ転送する
(S63)。
ト1よりライトコマンドと共に書き込み要求のあったホ
ストデータを受信すると、そのホストデータをメモリ1
0に一時格納する。そして、ホストアダプタ3は前記ホ
ストデータをディスクアレイコントローラ4へ転送する
(S63)。
【0185】ディスクアレイコントローラ4はホストデ
ータを受け取ると、RAID1に基づき処理を行う。こ
の場合、時刻データ処理部13は時計14から現在時刻
を読み取り、その時刻データを前記ホストデータに付加
する。次にディスクアレイコントローラ4はディスク装
置6−1、6−2に対してライトコマンドを発行すると
共に、前記時刻データ付きデータをデバイスアダプタ5
−1、5−2へ転送する(S64)。
ータを受け取ると、RAID1に基づき処理を行う。こ
の場合、時刻データ処理部13は時計14から現在時刻
を読み取り、その時刻データを前記ホストデータに付加
する。次にディスクアレイコントローラ4はディスク装
置6−1、6−2に対してライトコマンドを発行すると
共に、前記時刻データ付きデータをデバイスアダプタ5
−1、5−2へ転送する(S64)。
【0186】その後、デバイスアダプタ5−1、5−2
は、各々接続されているディスク装置6−1、6−2に
前記ライトコマンドを送ると共に、前記時刻データ付き
データを転送する。そして、ディスク装置6−1、6−
2は記憶媒体に前記時刻付きデータを書き込み(S6
5)ライト処理を終了する。
は、各々接続されているディスク装置6−1、6−2に
前記ライトコマンドを送ると共に、前記時刻データ付き
データを転送する。そして、ディスク装置6−1、6−
2は記憶媒体に前記時刻付きデータを書き込み(S6
5)ライト処理を終了する。
【0187】また、前記S62の処理で、受信したコマ
ンドがリードコマンドであった場合、ホストアダプタ3
は、そのコマンドの内容をディスクアレイコントローラ
4へ通知する。この通知を受け取ったディスクアレイコ
ントローラ4は、ホスト1より要求のあったアドレス
で、各ディスク装置6−1、6−2に対してリードコマ
ンドを発行する(S66)。
ンドがリードコマンドであった場合、ホストアダプタ3
は、そのコマンドの内容をディスクアレイコントローラ
4へ通知する。この通知を受け取ったディスクアレイコ
ントローラ4は、ホスト1より要求のあったアドレス
で、各ディスク装置6−1、6−2に対してリードコマ
ンドを発行する(S66)。
【0188】デバイスアダプタ5−1、5−2を介して
前記リードコマンドを受信したディスク装置6−1、6
−2は、指定されたアドレスのデータをリードする。そ
して、ディスク装置6−1、6−2からリードした時刻
付きデータは、ディスク装置6−1、6−2に接続され
ている各デバイスアダプタ5−1、5−2に転送され、
それぞれメモリ12−1、12−2に格納される(S6
7)。
前記リードコマンドを受信したディスク装置6−1、6
−2は、指定されたアドレスのデータをリードする。そ
して、ディスク装置6−1、6−2からリードした時刻
付きデータは、ディスク装置6−1、6−2に接続され
ている各デバイスアダプタ5−1、5−2に転送され、
それぞれメモリ12−1、12−2に格納される(S6
7)。
【0189】その後、ディスクアレイコントローラ4
は、デバイスアダプタ5−1のメモリ12−1に格納さ
れているデータと、デバイスアダプタ5−2のメモリ1
2−2に格納されているデータとの比較を行う。すなわ
ちミラーデータを比較する(S68)。その結果、両者
が一致すれば、前記メモリ12−1、または12−2の
いずれかのデータ(両者は同じデータなのでどちらのデ
ータでも良い)を正しいホストデータとしてホストアダ
プタ3へ転送する(S72)。その後、ホストアダプタ
3は前記ホストデータをホスト1へ転送する(S7
1)。
は、デバイスアダプタ5−1のメモリ12−1に格納さ
れているデータと、デバイスアダプタ5−2のメモリ1
2−2に格納されているデータとの比較を行う。すなわ
ちミラーデータを比較する(S68)。その結果、両者
が一致すれば、前記メモリ12−1、または12−2の
いずれかのデータ(両者は同じデータなのでどちらのデ
ータでも良い)を正しいホストデータとしてホストアダ
プタ3へ転送する(S72)。その後、ホストアダプタ
3は前記ホストデータをホスト1へ転送する(S7
1)。
【0190】しかし、前記S68の処理で、両者が不一
致の場合、すなわち、ミラーデータが一致しなかった場
合、その時点で以下のようなデータリカバリ処理を実施
する。この場合、ディスクアレイコントローラ4は、各
デバイスアダプタ5−1、5−2のメモリ12−1、1
2−2に格納されているデータの時刻を調べ、この時刻
が古いものを誤ったデータとし、最新の時刻を持つデー
タを正しいデータとして決定する(S69)。
致の場合、すなわち、ミラーデータが一致しなかった場
合、その時点で以下のようなデータリカバリ処理を実施
する。この場合、ディスクアレイコントローラ4は、各
デバイスアダプタ5−1、5−2のメモリ12−1、1
2−2に格納されているデータの時刻を調べ、この時刻
が古いものを誤ったデータとし、最新の時刻を持つデー
タを正しいデータとして決定する(S69)。
【0191】そして、前記決定した正しいデータ(ホス
トデータ)をホストアダプタ3へ転送する(S70)。
その後、ホストアダプタ3は前記データを受け取ると、
そのデータをホスト1へ転送する(S71)。
トデータ)をホストアダプタ3へ転送する(S70)。
その後、ホストアダプタ3は前記データを受け取ると、
そのデータをホスト1へ転送する(S71)。
【0192】(実施の形態5の説明) §1:実施の形態5の装置の説明・・・図12参照 図12は実施の形態5の装置構成図である。以下、図1
2に基づいて実施の形態5の装置の構成を説明する。図
示のように、ディスクアレイ装置は、ホスト1に接続さ
れたディスクアレイ制御装置2と、前記ディスクアレイ
制御装置2に接続された複数のディスク装置6−1〜6
−n(n:ディスク装置の台数)によって構成されてい
る。
2に基づいて実施の形態5の装置の構成を説明する。図
示のように、ディスクアレイ装置は、ホスト1に接続さ
れたディスクアレイ制御装置2と、前記ディスクアレイ
制御装置2に接続された複数のディスク装置6−1〜6
−n(n:ディスク装置の台数)によって構成されてい
る。
【0193】また、前記ディスクアレイ制御装置2に
は、ホストアダプタ3とディスクアレイコントローラ4
と、複数のデバイスアダプタ5−1〜5−nが設けてあ
る。そして、ホストアダプタ3には、メモリ10が設け
てあり、ディスクアレイコントローラ4には、パリティ
処理部19と更新カウンタ22とカウンタデータ処理部
21が設けてあり、デバイスアダプタ5−1から5−n
にはそれぞれメモリ12−1から12−nが設けてあ
る。
は、ホストアダプタ3とディスクアレイコントローラ4
と、複数のデバイスアダプタ5−1〜5−nが設けてあ
る。そして、ホストアダプタ3には、メモリ10が設け
てあり、ディスクアレイコントローラ4には、パリティ
処理部19と更新カウンタ22とカウンタデータ処理部
21が設けてあり、デバイスアダプタ5−1から5−n
にはそれぞれメモリ12−1から12−nが設けてあ
る。
【0194】前記更新カウンタ16は、ディスクアレイ
コントローラ4により逐次カウンタ値が更新制御される
カウンタである。例えば、データのライト(書き込み)
が行われる度にカウンタ値をインクリメントされるカウ
ンタを使用する。また、カウンタデータ処理部21は、
更新カウンタ22のカウンタ値を読み取り、書き込みデ
ータに付加したり、或いはディスク装置からリードした
データに付加されている更新カウンタのカウンタ値のチ
ェックを行うものである。なお、他の構成は前記図2の
装置と同じである。
コントローラ4により逐次カウンタ値が更新制御される
カウンタである。例えば、データのライト(書き込み)
が行われる度にカウンタ値をインクリメントされるカウ
ンタを使用する。また、カウンタデータ処理部21は、
更新カウンタ22のカウンタ値を読み取り、書き込みデ
ータに付加したり、或いはディスク装置からリードした
データに付加されている更新カウンタのカウンタ値のチ
ェックを行うものである。なお、他の構成は前記図2の
装置と同じである。
【0195】§2:実施の形態5の処理の説明 実施の形態5は、前記実施の形態2の処理における時刻
データの代わりとして前記更新カウンタのカウンタ値を
用いた例である。この例ではRAID3により次のよう
にして処理を行う。
データの代わりとして前記更新カウンタのカウンタ値を
用いた例である。この例ではRAID3により次のよう
にして処理を行う。
【0196】(1) :RAID3でのライト時の処理 RAID3でのデータライト(書き込み)時の処理は次
の通りである。この場合ディスク装置6−1〜6−mを
分割したデータの格納用とし、ディスク装置6−nをパ
リティデータの格納用として、データのリード/ライト
時の処理を次のようにして行う。
の通りである。この場合ディスク装置6−1〜6−mを
分割したデータの格納用とし、ディスク装置6−nをパ
リティデータの格納用として、データのリード/ライト
時の処理を次のようにして行う。
【0197】先ず、ホストアダプタ3は、ホスト1より
ライトコマンドと共に書き込み要求のあったホストデー
タを受信すると、そのホストデータをメモリ10に一時
格納する。次に、ホストアダプタ3は、前記ホストデー
タをディスクアレイコントローラ4へ転送する。
ライトコマンドと共に書き込み要求のあったホストデー
タを受信すると、そのホストデータをメモリ10に一時
格納する。次に、ホストアダプタ3は、前記ホストデー
タをディスクアレイコントローラ4へ転送する。
【0198】ディスクアレイコントローラ4はホストデ
ータを受け取ると、RAID3に基づき、ホストデータ
をm個のデータに分割して、各ディスク装置6−1〜6
−mに割り振る分割データを作成する。また、パリティ
処理部19は、前記m個の分割データの排他的論理和を
計算してパリティデータを作成する。そして、カウンタ
データ処理部21は更新カウンタ22から現在のカウン
タ値を読み取り、そのカウンタ値を前記各分割データ、
及びパリティデータに付加する。
ータを受け取ると、RAID3に基づき、ホストデータ
をm個のデータに分割して、各ディスク装置6−1〜6
−mに割り振る分割データを作成する。また、パリティ
処理部19は、前記m個の分割データの排他的論理和を
計算してパリティデータを作成する。そして、カウンタ
データ処理部21は更新カウンタ22から現在のカウン
タ値を読み取り、そのカウンタ値を前記各分割データ、
及びパリティデータに付加する。
【0199】次にディスクアレイコントローラ4は、デ
ィスク装置6−1〜6−nに対してライト命令を発行す
ると共に、前記カウンタ値付き分割データをデバイスア
ダプタ5−1〜5−mへ転送する。これと同時に、デバ
イスアダプタ5−nには、前記カウンタ値付きパリティ
データを転送する。その後、デバイスアダプタ5−1〜
5−mは、各々接続されているディスク装置6−1〜6
−mに前記ライトコマンドを送ると共に、前記カウンタ
値付き分割データを転送する。そして、ディスク装置6
−1〜6−mは記憶媒体に前記カウンタ値付き分割デー
タを書き込む。また、デバイスアダプタ5−nは、接続
されているディスク装置6−nにライトコマンドを送る
と共に、前記カウンタ値付きパリティデータを転送し、
ディスク装置6−nは記憶媒体にカウンタ値付きパリテ
ィデータを書き込む。
ィスク装置6−1〜6−nに対してライト命令を発行す
ると共に、前記カウンタ値付き分割データをデバイスア
ダプタ5−1〜5−mへ転送する。これと同時に、デバ
イスアダプタ5−nには、前記カウンタ値付きパリティ
データを転送する。その後、デバイスアダプタ5−1〜
5−mは、各々接続されているディスク装置6−1〜6
−mに前記ライトコマンドを送ると共に、前記カウンタ
値付き分割データを転送する。そして、ディスク装置6
−1〜6−mは記憶媒体に前記カウンタ値付き分割デー
タを書き込む。また、デバイスアダプタ5−nは、接続
されているディスク装置6−nにライトコマンドを送る
と共に、前記カウンタ値付きパリティデータを転送し、
ディスク装置6−nは記憶媒体にカウンタ値付きパリテ
ィデータを書き込む。
【0200】(2) :RAID3でのリード処理におい
て、パリティの整合性に矛盾が無かった場合の処理説明 RAID3でのリード処理時に、パリティの整合性に矛
盾がなかった場合の処理は次の通りである。先ず、ホス
ト1の発行したリードコマンドをホストアダプタ3が受
信すると、ホストアダプタ3は、そのコマンドの内容を
ディスクアレイコントローラ4へ通知する。この通知を
受け取ったディスクアレイコントローラ4は、ホスト1
より要求のあったアドレスで、各ディスク装置6−1〜
6−nに対してリードコマンドを発行する。
て、パリティの整合性に矛盾が無かった場合の処理説明 RAID3でのリード処理時に、パリティの整合性に矛
盾がなかった場合の処理は次の通りである。先ず、ホス
ト1の発行したリードコマンドをホストアダプタ3が受
信すると、ホストアダプタ3は、そのコマンドの内容を
ディスクアレイコントローラ4へ通知する。この通知を
受け取ったディスクアレイコントローラ4は、ホスト1
より要求のあったアドレスで、各ディスク装置6−1〜
6−nに対してリードコマンドを発行する。
【0201】デバイスアダプタ5−1〜5−nを介して
前記リードコマンドを受信したディスク装置6−1〜6
−nは、指定されたアドレスのデータをリードする。そ
して、ディスク装置6−1〜6−nからリードしたデー
タは、ディスク装置6−1〜6−nに接続されている各
デバイスアダプタ5−1〜5−nに転送され、それぞれ
メモリ12−1〜12−nに格納される。
前記リードコマンドを受信したディスク装置6−1〜6
−nは、指定されたアドレスのデータをリードする。そ
して、ディスク装置6−1〜6−nからリードしたデー
タは、ディスク装置6−1〜6−nに接続されている各
デバイスアダプタ5−1〜5−nに転送され、それぞれ
メモリ12−1〜12−nに格納される。
【0202】その後、ディスクアレイコントローラ4
は、デバイスアダプタ5−1〜5−mのメモリ12−1
〜12−mに格納されている分割データからRAID3
に基づきホストデータを再構築(復元)する。この時、
パリティ処理部19は、前記メモリ12−1〜12−m
に格納されている各分割データの排他的論理和を計算し
てリードパリティとし、このリードパリティを前記メモ
リ12−nに格納されているパリティデータと比較す
る。その結果、両者が一致すれば、リードパリティチェ
ックが正常であり、整合性に矛盾が無かったとして、前
記再構築(復元)したホストデータをホストアダプタ3
へ転送する。その後、ホストアダプタ3は前記データを
ホスト1へ転送する。
は、デバイスアダプタ5−1〜5−mのメモリ12−1
〜12−mに格納されている分割データからRAID3
に基づきホストデータを再構築(復元)する。この時、
パリティ処理部19は、前記メモリ12−1〜12−m
に格納されている各分割データの排他的論理和を計算し
てリードパリティとし、このリードパリティを前記メモ
リ12−nに格納されているパリティデータと比較す
る。その結果、両者が一致すれば、リードパリティチェ
ックが正常であり、整合性に矛盾が無かったとして、前
記再構築(復元)したホストデータをホストアダプタ3
へ転送する。その後、ホストアダプタ3は前記データを
ホスト1へ転送する。
【0203】(3) :RAID3でのリード処理におい
て、パリティの整合性に矛盾が有った場合の処理説明 前記のように、ディスク装置からのデータのリード時
に、デバイスアダプタ5−1〜5−mのメモリ12−1
〜12−mに格納されている各データの排他的論理和を
計算して求めたリードパリティデータと、デバイスアダ
プタ5−nのメモリ12−nに格納されているパリティ
データとの値が不一致であった場合、整合性に矛盾が有
るとして次の処理を行う。
て、パリティの整合性に矛盾が有った場合の処理説明 前記のように、ディスク装置からのデータのリード時
に、デバイスアダプタ5−1〜5−mのメモリ12−1
〜12−mに格納されている各データの排他的論理和を
計算して求めたリードパリティデータと、デバイスアダ
プタ5−nのメモリ12−nに格納されているパリティ
データとの値が不一致であった場合、整合性に矛盾が有
るとして次の処理を行う。
【0204】この場合、カウンタデータ処理部21は、
各デバイスアダプタ5−1〜5−nのメモリ12−1〜
12−nに格納されているデータのカウンタ値を調べ
る。そして、ディスクアレイコントローラ4は最も古い
カウンタ値を持つデータを誤ったデータとして決定す
る。
各デバイスアダプタ5−1〜5−nのメモリ12−1〜
12−nに格納されているデータのカウンタ値を調べ
る。そして、ディスクアレイコントローラ4は最も古い
カウンタ値を持つデータを誤ったデータとして決定す
る。
【0205】そして、ディスクアレイコントローラ4
は、最古のカウンタ値を持つ誤ったデータを除いて、他
のデバイスアダプタのメモリに格納されているデータか
らRAID3のデータリカバリ方法に基づき、ホストデ
ータを再構築する。前記再構築されたホストデータは、
正しいデータとしてホストアダプタ3へ転送される。ホ
ストアダプタ3は前記データを受け取ると、そのデータ
をホスト1へ転送する。
は、最古のカウンタ値を持つ誤ったデータを除いて、他
のデバイスアダプタのメモリに格納されているデータか
らRAID3のデータリカバリ方法に基づき、ホストデ
ータを再構築する。前記再構築されたホストデータは、
正しいデータとしてホストアダプタ3へ転送される。ホ
ストアダプタ3は前記データを受け取ると、そのデータ
をホスト1へ転送する。
【0206】§4:フローチャートによる処理の説明・
・・図13参照 図13は実施の形態5の処理フローチャートである。以
下、図13に基づいて実施の形態5の処理を説明する。
なお、S81〜S92は各処理ステップを示す。
・・図13参照 図13は実施の形態5の処理フローチャートである。以
下、図13に基づいて実施の形態5の処理を説明する。
なお、S81〜S92は各処理ステップを示す。
【0207】処理が開始され、ホストアダプタ3がホス
ト1の発行したコマンドを受信すると(S81)、ホス
トアダプタ3は前記コマンドをメモリ10に一時格納
し、そのコマンドを解析して内容を判断する(S8
2)。その結果、前記コマンドがライトコマンドであれ
ば、RAID3でのデータライト(書き込み)時の処理
を次のようにして行う。
ト1の発行したコマンドを受信すると(S81)、ホス
トアダプタ3は前記コマンドをメモリ10に一時格納
し、そのコマンドを解析して内容を判断する(S8
2)。その結果、前記コマンドがライトコマンドであれ
ば、RAID3でのデータライト(書き込み)時の処理
を次のようにして行う。
【0208】前記のように、ホストアダプタ3は、ホス
ト1よりライトコマンドと共に書き込み要求のあったホ
ストデータを受信すると、そのホストデータをメモリ1
0に一時格納する。そして、ホストアダプタ3は前記ホ
ストデータをディスクアレイコントローラ4へ転送する
(S83)。
ト1よりライトコマンドと共に書き込み要求のあったホ
ストデータを受信すると、そのホストデータをメモリ1
0に一時格納する。そして、ホストアダプタ3は前記ホ
ストデータをディスクアレイコントローラ4へ転送する
(S83)。
【0209】ディスクアレイコントローラ4はホストデ
ータを受け取ると、RAID3に基づき、ホストデータ
をm個のデータに分割して各ディスク装置6−1〜6−
mに割り振る分割データを作成する。また、パリティ処
理部19は前記m個の分割データの排他的論理和を計算
してパリティデータを作成する。そして、カウンタデー
タ処理部21は更新カウンタ22から現在のカウンタ値
を読み取り、そのカウンタ値を前記各分割データ及びパ
リティデータに付加する。
ータを受け取ると、RAID3に基づき、ホストデータ
をm個のデータに分割して各ディスク装置6−1〜6−
mに割り振る分割データを作成する。また、パリティ処
理部19は前記m個の分割データの排他的論理和を計算
してパリティデータを作成する。そして、カウンタデー
タ処理部21は更新カウンタ22から現在のカウンタ値
を読み取り、そのカウンタ値を前記各分割データ及びパ
リティデータに付加する。
【0210】次にディスクアレイコントローラ4はディ
スク装置6−1〜6−nに対してライトコマンドを発行
すると共に、前記作成した各ディスク装置毎のカウンタ
値付き分割データをデバイスアダプタ5−1〜5−mへ
転送する。これと同時に、デバイスアダプタ5−nに
は、前記カウンタ値付きパリティデータを転送する(S
84)。
スク装置6−1〜6−nに対してライトコマンドを発行
すると共に、前記作成した各ディスク装置毎のカウンタ
値付き分割データをデバイスアダプタ5−1〜5−mへ
転送する。これと同時に、デバイスアダプタ5−nに
は、前記カウンタ値付きパリティデータを転送する(S
84)。
【0211】その後、デバイスアダプタ5−1〜5−m
は、各々接続されているディスク装置6−1〜6−mに
前記ライトコマンドを送ると共に、前記カウンタ値付き
分割データを転送する。そして、ディスク装置6−1〜
6−mは記憶媒体に前記カウンタ値付き分割データを書
き込む。また、デバイスアダプタ5−nは、接続されて
いるディスク装置6−nにライトコマンドを送ると共
に、前記カウンタ値付きパリティデータを転送し、ディ
スク装置6−nは記憶媒体にカウンタ値付きパリティデ
ータを書き込み(S85)ライト処理を終了する。
は、各々接続されているディスク装置6−1〜6−mに
前記ライトコマンドを送ると共に、前記カウンタ値付き
分割データを転送する。そして、ディスク装置6−1〜
6−mは記憶媒体に前記カウンタ値付き分割データを書
き込む。また、デバイスアダプタ5−nは、接続されて
いるディスク装置6−nにライトコマンドを送ると共
に、前記カウンタ値付きパリティデータを転送し、ディ
スク装置6−nは記憶媒体にカウンタ値付きパリティデ
ータを書き込み(S85)ライト処理を終了する。
【0212】また、前記S82の処理で、受信したコマ
ンドがリードコマンドであった場合、ホストアダプタ3
は、そのコマンドの内容をディスクアレイコントローラ
4へ通知する。この通知を受け取ったディスクアレイコ
ントローラ4は、ホスト1より要求のあったアドレスで
各ディスク装置6−1〜6−nに対してリードコマンド
を発行する(S86)。
ンドがリードコマンドであった場合、ホストアダプタ3
は、そのコマンドの内容をディスクアレイコントローラ
4へ通知する。この通知を受け取ったディスクアレイコ
ントローラ4は、ホスト1より要求のあったアドレスで
各ディスク装置6−1〜6−nに対してリードコマンド
を発行する(S86)。
【0213】デバイスアダプタ5−1〜5−nを介して
前記リードコマンドを受信したディスク装置6−1〜6
−nは、指定されたアドレスのデータをリードする。そ
して、ディスク装置6−1〜6−nからリードしたカウ
ンタ値付きデータは、ディスク装置6−1〜6−nに接
続されている各デバイスアダプタ5−1〜5−nに転送
され、それぞれメモリ12−1〜12−nに格納される
(S87)。
前記リードコマンドを受信したディスク装置6−1〜6
−nは、指定されたアドレスのデータをリードする。そ
して、ディスク装置6−1〜6−nからリードしたカウ
ンタ値付きデータは、ディスク装置6−1〜6−nに接
続されている各デバイスアダプタ5−1〜5−nに転送
され、それぞれメモリ12−1〜12−nに格納される
(S87)。
【0214】その後、ディスクアレイコントローラ4
は、デバイスアダプタ5−1〜5−mのメモリ12−1
〜12−mに格納されている分割データからホストデー
タを再構築する。また、パリティ処理部19は、前記ホ
ストデータの再構築と同時にデバイスアダプタ5−1〜
5−mに格納されているデータの排他的論理和を計算し
てリードパリティを作成し、前記リードパリティをデバ
イスアダプタ5−nのメモリ12−nに格納されている
パリティと比較することでリードパリティチェックを行
う(S28)。
は、デバイスアダプタ5−1〜5−mのメモリ12−1
〜12−mに格納されている分割データからホストデー
タを再構築する。また、パリティ処理部19は、前記ホ
ストデータの再構築と同時にデバイスアダプタ5−1〜
5−mに格納されているデータの排他的論理和を計算し
てリードパリティを作成し、前記リードパリティをデバ
イスアダプタ5−nのメモリ12−nに格納されている
パリティと比較することでリードパリティチェックを行
う(S28)。
【0215】その結果、両者が一致すれば、リードパリ
ティチェックが正常であり、整合性に矛盾が無かったと
して、前記再構築したホストデータをホストアダプタ3
へ転送する(S92)。その後、ホストアダプタ3は前
記ホストデータをホスト1へ転送する(S91)。
ティチェックが正常であり、整合性に矛盾が無かったと
して、前記再構築したホストデータをホストアダプタ3
へ転送する(S92)。その後、ホストアダプタ3は前
記ホストデータをホスト1へ転送する(S91)。
【0216】しかし、前記S28のリードパリティチェ
ック処理で、不一致の場合、整合性に矛盾が有ったとす
る。すなわち、前記のようにパリティが不一致と分かっ
た時点で以下のようなデータリカバリ処理を実施する。
この場合、ディスクアレイコントローラ4は、各デバイ
スアダプタ5−1〜5−nのメモリ12−1〜12−n
に格納されているデータのカウンタ値を調べ、このカウ
ンタ値が一番古いもの(最古のカウンタ値を持ったデー
タ)を誤ったデータと決定する。
ック処理で、不一致の場合、整合性に矛盾が有ったとす
る。すなわち、前記のようにパリティが不一致と分かっ
た時点で以下のようなデータリカバリ処理を実施する。
この場合、ディスクアレイコントローラ4は、各デバイ
スアダプタ5−1〜5−nのメモリ12−1〜12−n
に格納されているデータのカウンタ値を調べ、このカウ
ンタ値が一番古いもの(最古のカウンタ値を持ったデー
タ)を誤ったデータと決定する。
【0217】そして、最古のカウンタ値を持つ誤ったデ
ータを除いて、他のデバイスアダプタのメモリに格納さ
れているデータからRAID3のデータリカバリ処理に
基づき、ホストデータを再構築する(S89)。前記再
構築されたホストデータは、正しいデータとしてホスト
アダプタ3へ転送される(S90)。ホストアダプタ3
は前記データを受け取ると、そのデータをホスト1へ転
送する(S91)。
ータを除いて、他のデバイスアダプタのメモリに格納さ
れているデータからRAID3のデータリカバリ処理に
基づき、ホストデータを再構築する(S89)。前記再
構築されたホストデータは、正しいデータとしてホスト
アダプタ3へ転送される(S90)。ホストアダプタ3
は前記データを受け取ると、そのデータをホスト1へ転
送する(S91)。
【0218】(実施の形態6の説明) §1:実施の形態6の処理の説明・・・図12参照 実施の形態6は、実施の形態3の処理における時刻デー
タの代わりとして前記更新カウンタのカウンタ値を用い
た例である。なお、実施の形態6のディスクアレイ装置
は前記実施の形態5の装置をRAID5の装置としたも
のなので、図12を援用して説明する。この例ではRA
ID5により次のようにして処理を行う。この場合、以
下に説明する処理は、全ディスク装置へのアクセスが行
われる場合の例である。
タの代わりとして前記更新カウンタのカウンタ値を用い
た例である。なお、実施の形態6のディスクアレイ装置
は前記実施の形態5の装置をRAID5の装置としたも
のなので、図12を援用して説明する。この例ではRA
ID5により次のようにして処理を行う。この場合、以
下に説明する処理は、全ディスク装置へのアクセスが行
われる場合の例である。
【0219】(1) :RAID5でのライト時の処理 RAID5でのデータライト時の処理は次の通りであ
る。この場合、ディスク装置6−1〜6−nの全てを分
割データ及びパリティデータの格納用として、データの
リード/ライト時の処理を次のようにして行う。
る。この場合、ディスク装置6−1〜6−nの全てを分
割データ及びパリティデータの格納用として、データの
リード/ライト時の処理を次のようにして行う。
【0220】先ず、ホストアダプタ3は、ホスト1より
ライトコマンドと共に書き込み要求のあったホストデー
タを受信すると、そのホストデータをメモリ10に一時
格納する。次に、ホストアダプタ3は、前記ホストデー
タをディスクアレイコントローラ4へ転送する。
ライトコマンドと共に書き込み要求のあったホストデー
タを受信すると、そのホストデータをメモリ10に一時
格納する。次に、ホストアダプタ3は、前記ホストデー
タをディスクアレイコントローラ4へ転送する。
【0221】ディスクアレイコントローラ4はホストデ
ータを受け取ると、RAID5に基づき、ホストデータ
をセクタ単位でm個のデータに分割して、パリティデー
タ格納用の1つのディスク装置を除く他の各ディスク装
置に割り振る分割データを作成する。また、パリティ処
理部19は、前記m個の分割データの排他的論理和を計
算してパリティデータを作成する。そして、カウンタデ
ータ処理部21は更新カウンタ22から現在のカウンタ
値を読み取り、そのカウンタ値を前記各分割データ、及
びパリティデータに付加する。
ータを受け取ると、RAID5に基づき、ホストデータ
をセクタ単位でm個のデータに分割して、パリティデー
タ格納用の1つのディスク装置を除く他の各ディスク装
置に割り振る分割データを作成する。また、パリティ処
理部19は、前記m個の分割データの排他的論理和を計
算してパリティデータを作成する。そして、カウンタデ
ータ処理部21は更新カウンタ22から現在のカウンタ
値を読み取り、そのカウンタ値を前記各分割データ、及
びパリティデータに付加する。
【0222】次にディスクアレイコントローラ4は、デ
ィスク装置6−1〜6−nに対してライトコマンドを発
行すると共に、前記カウンタ値付き分割データをデバイ
スアダプタ5−1〜5−nの内の該当するm個のデバイ
スアダプタへ転送する。これと同時に、残りの1つのデ
バイスアダプタには、前記カウンタ値付きパリティデー
タを転送する。
ィスク装置6−1〜6−nに対してライトコマンドを発
行すると共に、前記カウンタ値付き分割データをデバイ
スアダプタ5−1〜5−nの内の該当するm個のデバイ
スアダプタへ転送する。これと同時に、残りの1つのデ
バイスアダプタには、前記カウンタ値付きパリティデー
タを転送する。
【0223】その後、前記カウンタ値付き分割データを
格納しているデバイスアダプタは、各々接続されている
ディスク装置に前記ライトコマンドを送ると共に、前記
カウンタ値付き分割データを転送する。そして、前記カ
ウンタ値付き分割データを受信したディスク装置は記憶
媒体に前記カウンタ値付き分割データを書き込む。ま
た、カウンタ値付きパリティデータを格納しているデバ
イスアダプタは、接続されているディスク装置にライト
コマンドを送ると共に、前記カウンタ値付きパリティデ
ータを転送し、そのディスク装置は記憶媒体にカウンタ
値付きパリティデータを書き込む。
格納しているデバイスアダプタは、各々接続されている
ディスク装置に前記ライトコマンドを送ると共に、前記
カウンタ値付き分割データを転送する。そして、前記カ
ウンタ値付き分割データを受信したディスク装置は記憶
媒体に前記カウンタ値付き分割データを書き込む。ま
た、カウンタ値付きパリティデータを格納しているデバ
イスアダプタは、接続されているディスク装置にライト
コマンドを送ると共に、前記カウンタ値付きパリティデ
ータを転送し、そのディスク装置は記憶媒体にカウンタ
値付きパリティデータを書き込む。
【0224】(2) :RAID5でのリード処理におい
て、パリティの整合性に矛盾が無かった場合の処理説明 RAID5でのリード処理時に、パリティの整合性に矛
盾がなかった場合の処理は次の通りである。先ず、ホス
ト1の発行したリードコマンドをホストアダプタ3が受
信すると、ホストアダプタ3は、そのコマンドの内容を
ディスクアレイコントローラ4へ通知する。この通知を
受け取ったディスクアレイコントローラ4は、ホスト1
より要求のあったアドレスで各ディスク装置6−1〜6
−nに対してリードコマンドを発行する。
て、パリティの整合性に矛盾が無かった場合の処理説明 RAID5でのリード処理時に、パリティの整合性に矛
盾がなかった場合の処理は次の通りである。先ず、ホス
ト1の発行したリードコマンドをホストアダプタ3が受
信すると、ホストアダプタ3は、そのコマンドの内容を
ディスクアレイコントローラ4へ通知する。この通知を
受け取ったディスクアレイコントローラ4は、ホスト1
より要求のあったアドレスで各ディスク装置6−1〜6
−nに対してリードコマンドを発行する。
【0225】デバイスアダプタ5−1〜5−nを介して
前記リードコマンドを受信したディスク装置6−1〜6
−nは、指定されたアドレスのデータをリードする。そ
して、ディスク装置6−1〜6−nからリードしたデー
タは、ディスク装置6−1〜6−nに接続されている各
デバイスアダプタ5−1〜5−nに転送され、それぞれ
メモリ12−1〜12−nに格納される。
前記リードコマンドを受信したディスク装置6−1〜6
−nは、指定されたアドレスのデータをリードする。そ
して、ディスク装置6−1〜6−nからリードしたデー
タは、ディスク装置6−1〜6−nに接続されている各
デバイスアダプタ5−1〜5−nに転送され、それぞれ
メモリ12−1〜12−nに格納される。
【0226】その後、ディスクアレイコントローラ4
は、デバイスアダプタのメモリに格納されている分割デ
ータからRAID5に基づきホストデータを再構築(復
元)する。この時、パリティ処理部19は、前記メモリ
に格納されている各分割データの排他的論理和を計算し
てリードパリティとし、このリードパリティを前記いず
れか1つのメモリに格納されているパリティデータと比
較する。
は、デバイスアダプタのメモリに格納されている分割デ
ータからRAID5に基づきホストデータを再構築(復
元)する。この時、パリティ処理部19は、前記メモリ
に格納されている各分割データの排他的論理和を計算し
てリードパリティとし、このリードパリティを前記いず
れか1つのメモリに格納されているパリティデータと比
較する。
【0227】その結果、両者が一致すれば、リードパリ
ティチェックが正常であり、整合性に矛盾が無かったと
して、前記再構築した(復元)データをホストアダプタ
3へ転送する。その後、ホストアダプタ3は前記データ
をホスト1へ転送する。
ティチェックが正常であり、整合性に矛盾が無かったと
して、前記再構築した(復元)データをホストアダプタ
3へ転送する。その後、ホストアダプタ3は前記データ
をホスト1へ転送する。
【0228】(3) :RAID5でのリード処理におい
て、パリティの整合性に矛盾が有った場合の処理説明 前記のように、ディスク装置からのデータリード時に、
デバイスアダプタのメモリに格納されている各分割デー
タの排他的論理和を計算して求めたリードパリティデー
タと、いずれか1つのデバイスアダプタのメモリに格納
されているパリティデータとの値が不一致であった場
合、整合性に矛盾が有るとして次の処理を行う。
て、パリティの整合性に矛盾が有った場合の処理説明 前記のように、ディスク装置からのデータリード時に、
デバイスアダプタのメモリに格納されている各分割デー
タの排他的論理和を計算して求めたリードパリティデー
タと、いずれか1つのデバイスアダプタのメモリに格納
されているパリティデータとの値が不一致であった場
合、整合性に矛盾が有るとして次の処理を行う。
【0229】この場合、時刻データ処理部13は、各デ
バイスアダプタ5−1〜5−nのメモリ12−1〜12
−nに格納されているデータのカウンタ値を調べ、この
カウンタ値が一番古いものを誤ったデータとして決定す
る。そして、ディスクアレイコントローラ4は、最古の
カウンタ値を持つ誤ったデータを除いて、他のデバイス
アダプタのメモリに格納されているデータからRAID
5のデータリカバリ方法に基づき、ホストデータを再構
築する。前記再構築されたホストデータは、正しいデー
タとしてホストアダプタ3へ転送される。ホストアダプ
タ3は前記データを受け取ると、そのデータをホスト1
へ転送する。
バイスアダプタ5−1〜5−nのメモリ12−1〜12
−nに格納されているデータのカウンタ値を調べ、この
カウンタ値が一番古いものを誤ったデータとして決定す
る。そして、ディスクアレイコントローラ4は、最古の
カウンタ値を持つ誤ったデータを除いて、他のデバイス
アダプタのメモリに格納されているデータからRAID
5のデータリカバリ方法に基づき、ホストデータを再構
築する。前記再構築されたホストデータは、正しいデー
タとしてホストアダプタ3へ転送される。ホストアダプ
タ3は前記データを受け取ると、そのデータをホスト1
へ転送する。
【0230】(実施の形態7の説明) §1:実施の形態7の処理の説明・・・図12参照 実施の形態7は、実施の形態4の処理における時刻デー
タの代わりとして前記更新カウンタのカウンタ値を用い
た例である。なお、実施の形態7のディスクアレイ装置
は前記実施の形態5の装置をRAID4の装置としたも
のなので、図12を援用して説明する。この例ではRA
ID4により次のようにして処理を行う。
タの代わりとして前記更新カウンタのカウンタ値を用い
た例である。なお、実施の形態7のディスクアレイ装置
は前記実施の形態5の装置をRAID4の装置としたも
のなので、図12を援用して説明する。この例ではRA
ID4により次のようにして処理を行う。
【0231】(1) :RAID1でのライト時の処理 RAID1でのデータのリード/ライト時の処理を次の
ようにして行う。先ず、ホストアダプタ3は、ホスト1
よりライトコマンドと共に書き込み要求のあったホスト
データを受信すると、そのホストデータをメモリ10に
一時格納する。次に、ホストアダプタ3は、前記ホスト
データをディスクアレイコントローラ4へ転送する。
ようにして行う。先ず、ホストアダプタ3は、ホスト1
よりライトコマンドと共に書き込み要求のあったホスト
データを受信すると、そのホストデータをメモリ10に
一時格納する。次に、ホストアダプタ3は、前記ホスト
データをディスクアレイコントローラ4へ転送する。
【0232】ディスクアレイコントローラ4が前記ホス
トデータを受け取ると、カウンタデータ処理部21は更
新カウンタ22から現在のカウンタ値を読み取り、その
カウンタ値を前記ホストデータに付加する。次にディス
クアレイコントローラ4は、ディスク装置6−1、6−
2に対してライトコマンドを発行すると共に、前記カウ
ンタ値付きデータをデバイスアダプタ5−1、5−2へ
転送する。
トデータを受け取ると、カウンタデータ処理部21は更
新カウンタ22から現在のカウンタ値を読み取り、その
カウンタ値を前記ホストデータに付加する。次にディス
クアレイコントローラ4は、ディスク装置6−1、6−
2に対してライトコマンドを発行すると共に、前記カウ
ンタ値付きデータをデバイスアダプタ5−1、5−2へ
転送する。
【0233】その後、デバイスアダプタ5−1、5−2
は、各々接続されているディスク装置6−1、6−2に
前記ライトコマンドを送ると共に、前記カウンタ値付き
データを転送する。そして、ディスク装置6−1、6−
2は記憶媒体に前記カウンタ値付きホストデータを書き
込む。このようにしてディスク装置6−1と6−2には
同一のカウンタ値付きホストデータ(ミラーデータ)が
書き込まれる。
は、各々接続されているディスク装置6−1、6−2に
前記ライトコマンドを送ると共に、前記カウンタ値付き
データを転送する。そして、ディスク装置6−1、6−
2は記憶媒体に前記カウンタ値付きホストデータを書き
込む。このようにしてディスク装置6−1と6−2には
同一のカウンタ値付きホストデータ(ミラーデータ)が
書き込まれる。
【0234】(2) :RAID1でのリード処理におい
て、ミラーデータ相互の比較処理で結果が等しかった場
合の処理説明 RAID1でのリード処理時に、ミラーデータ相互の比
較処理で結果が等しかった場合の処理は次の通りであ
る。先ず、ホスト1の発行したリードコマンドをホスト
アダプタ3が受信すると、ホストアダプタ3は、そのコ
マンドの内容をディスクアレイコントローラ4へ通知す
る。この通知を受け取ったディスクアレイコントローラ
4は、ホスト1より要求のあったアドレスで各ディスク
装置6−1、6−2に対してリードコマンドを発行す
る。
て、ミラーデータ相互の比較処理で結果が等しかった場
合の処理説明 RAID1でのリード処理時に、ミラーデータ相互の比
較処理で結果が等しかった場合の処理は次の通りであ
る。先ず、ホスト1の発行したリードコマンドをホスト
アダプタ3が受信すると、ホストアダプタ3は、そのコ
マンドの内容をディスクアレイコントローラ4へ通知す
る。この通知を受け取ったディスクアレイコントローラ
4は、ホスト1より要求のあったアドレスで各ディスク
装置6−1、6−2に対してリードコマンドを発行す
る。
【0235】デバイスアダプタ5−1、5−2を介して
前記リードコマンドを受信したディスク装置6−1、6
−2は、指定されたアドレスのデータをリードする。そ
して、ディスク装置6−1、6−2からリードしたデー
タは、ディスク装置6−1、6−2に接続されている各
デバイスアダプタ5−1、5−2に転送され、それぞれ
メモリ12−1、12−2に格納される。
前記リードコマンドを受信したディスク装置6−1、6
−2は、指定されたアドレスのデータをリードする。そ
して、ディスク装置6−1、6−2からリードしたデー
タは、ディスク装置6−1、6−2に接続されている各
デバイスアダプタ5−1、5−2に転送され、それぞれ
メモリ12−1、12−2に格納される。
【0236】その後、ディスクアレイコントローラ4
は、デバイスアダプタ5−1のメモリ12−1に格納さ
れているデータと、デバイスアダプタ5−2のメモリ1
2−2に格納されているデータとの比較を行う(ミラー
データの比較)。その結果、両者が一致すれば、いずれ
か一方のデータ(例えば、メモリ12−1に格納されて
いるデータ)を正しいホストデータであるとしてホスト
アダプタ3へ転送する。その後、ホストアダプタ3は前
記データをホスト1へ転送する。
は、デバイスアダプタ5−1のメモリ12−1に格納さ
れているデータと、デバイスアダプタ5−2のメモリ1
2−2に格納されているデータとの比較を行う(ミラー
データの比較)。その結果、両者が一致すれば、いずれ
か一方のデータ(例えば、メモリ12−1に格納されて
いるデータ)を正しいホストデータであるとしてホスト
アダプタ3へ転送する。その後、ホストアダプタ3は前
記データをホスト1へ転送する。
【0237】(3) :RAID1でのリード処理におい
て、ミラーデータ相互の比較処理で結果が等しくなかっ
た場合の処理説明 前記のように、ディスク装置からのデータのリード時
に、デバイスアダプタ5−1、5−2のメモリ12−
1、12−2に格納されているデータの比較で、両者が
不一致であった場合、カウンタデータ処理部21は、各
デバイスアダプタ5−1、5−2のメモリ12−1、1
2−2に格納されているデータのカウンタ値を調べ、こ
のカウンタ値が古いものを誤ったデータとして決定す
る。
て、ミラーデータ相互の比較処理で結果が等しくなかっ
た場合の処理説明 前記のように、ディスク装置からのデータのリード時
に、デバイスアダプタ5−1、5−2のメモリ12−
1、12−2に格納されているデータの比較で、両者が
不一致であった場合、カウンタデータ処理部21は、各
デバイスアダプタ5−1、5−2のメモリ12−1、1
2−2に格納されているデータのカウンタ値を調べ、こ
のカウンタ値が古いものを誤ったデータとして決定す
る。
【0238】そして、ディスクアレイコントローラ4
は、最新のカウンタ値が書かれていた方のデータを正し
いホストデータとして用いる。すなわち、古いカウンタ
値を持つ誤ったデータを除いて、他のデバイスアダプタ
のメモリに格納されているデータを正しいホストデータ
としてホストアダプタ3へ転送する。ホストアダプタ3
は前記データを受け取ると、そのデータをホスト1へ転
送する。
は、最新のカウンタ値が書かれていた方のデータを正し
いホストデータとして用いる。すなわち、古いカウンタ
値を持つ誤ったデータを除いて、他のデバイスアダプタ
のメモリに格納されているデータを正しいホストデータ
としてホストアダプタ3へ転送する。ホストアダプタ3
は前記データを受け取ると、そのデータをホスト1へ転
送する。
【0239】(他の実施の形態)以上実施の形態につい
て説明したが、本発明は次のようにしても実施可能であ
る。
て説明したが、本発明は次のようにしても実施可能であ
る。
【0240】(1) :前記時計の代わりにタイマを使用し
ても実現可能である。この場合、前記分割データ及びパ
リティデータに現在のタイマ値を付加してディスク装置
に書き込み、データの読み出し時のパリティチェックで
整合性に矛盾が有った場合は、前記タイマ値の比較によ
り最古のタイマ値を持つデータを誤ったデータであると
して、ホストデータの再構築を行う。
ても実現可能である。この場合、前記分割データ及びパ
リティデータに現在のタイマ値を付加してディスク装置
に書き込み、データの読み出し時のパリティチェックで
整合性に矛盾が有った場合は、前記タイマ値の比較によ
り最古のタイマ値を持つデータを誤ったデータであると
して、ホストデータの再構築を行う。
【0241】(2) :前記更新カウンタは、データの書き
込みが行われる度にカウンタ値が更新されるものでも良
いが、このような例に限らず、例えば、一定時間毎にカ
ウンタ値が更新されるものでも実現可能である。
込みが行われる度にカウンタ値が更新されるものでも良
いが、このような例に限らず、例えば、一定時間毎にカ
ウンタ値が更新されるものでも実現可能である。
【0242】
【発明の効果】以上説明したように、本発明によれば次
のような効果がある。 (1) :従来のリードパリティチェック機能を備えていな
いディスクアレイ装置において、RAID3やRAID
5のレベルでは、データのリード時にパリティデータを
使用せず、パリティ用ディスク装置を除く他のディスク
装置からリードしたデータからホストデータを再構築
し、そのままホストへ転送していたので、リードデータ
にデータ化けやデータ消失等があってもこれを検出する
ことができず、データの信頼性が低下していた。
のような効果がある。 (1) :従来のリードパリティチェック機能を備えていな
いディスクアレイ装置において、RAID3やRAID
5のレベルでは、データのリード時にパリティデータを
使用せず、パリティ用ディスク装置を除く他のディスク
装置からリードしたデータからホストデータを再構築
し、そのままホストへ転送していたので、リードデータ
にデータ化けやデータ消失等があってもこれを検出する
ことができず、データの信頼性が低下していた。
【0243】これに対して本願発明は、ディスク装置か
らのデータリード時にリードパリティチェックを行い、
その結果、整合性に矛盾が有れば、正しいホストデータ
を再構築してホストへ転送することができる。従って、
リード時にホストデータをホストヘ転送できない事態も
なくなりデータの消失もなくなる。その結果、データの
信頼性、及びディスクアレイ装置の信頼性が更に向上す
る。
らのデータリード時にリードパリティチェックを行い、
その結果、整合性に矛盾が有れば、正しいホストデータ
を再構築してホストへ転送することができる。従って、
リード時にホストデータをホストヘ転送できない事態も
なくなりデータの消失もなくなる。その結果、データの
信頼性、及びディスクアレイ装置の信頼性が更に向上す
る。
【0244】(2) :従来のリードパリティチェック機能
を備えた装置では、リード時のパリティチェックを行
い、その結果、データの整合性がとれたリードデータに
ついては問題はないが、データの整合性が取れなかった
みのについては、ホストにリードデータの整合性がとれ
なかったということを通知するだけに留まっていた。こ
の場合、ホストへデータが送れなくなるので、データの
消失が発生することになり、データの信頼性が低下して
いた。
を備えた装置では、リード時のパリティチェックを行
い、その結果、データの整合性がとれたリードデータに
ついては問題はないが、データの整合性が取れなかった
みのについては、ホストにリードデータの整合性がとれ
なかったということを通知するだけに留まっていた。こ
の場合、ホストへデータが送れなくなるので、データの
消失が発生することになり、データの信頼性が低下して
いた。
【0245】これに対して本願発明は、データの読み出
し時にリードデータのパリティチェックを行い、その結
果、整合性に矛盾が発生したら、CRCチェックや時刻
データのチェック、或いは更新カウンタのカウンタ値の
チェック等により、正しいホストデータを再構築してホ
ストへ転送することができる。従って、データの消失等
の事態も回避され、データの信頼性、及びディスクアレ
イ装置の信頼性が更に向上する。
し時にリードデータのパリティチェックを行い、その結
果、整合性に矛盾が発生したら、CRCチェックや時刻
データのチェック、或いは更新カウンタのカウンタ値の
チェック等により、正しいホストデータを再構築してホ
ストへ転送することができる。従って、データの消失等
の事態も回避され、データの信頼性、及びディスクアレ
イ装置の信頼性が更に向上する。
【0246】前記効果の外、各請求項に対応して次のよ
うな効果がある。 (3) :請求項1では、RAIDレベル3のディスクアレ
イ装置において、ディスクアレイ制御装置は、ホストデ
ータに巡回冗長検査情報(CRC情報)を付加して分割
し、パリティデータを作成して各ディスク装置への書き
込み制御を行うデータ書き込み制御手段と、ディスク装
置から読み出した分割データからパリティデータを作成
し、このパリティデータをパリティ用ディスク装置から
読み出したパリティデータと比較してパリティチェック
を行うパリティチェック手段と、パリティチェックで整
合性に矛盾が有る場合、データ用ディスク装置及びパリ
ティ用ディスク装置を1つずつ順番に誤ったデータが格
納されているものと仮定し、誤ったデータが格納されて
いるものと仮定したディスク装置を除く他のディスク装
置のデータよりホストデータを順次再構築するホストデ
ータ再構築手段と、前記再構築したホストデータに対し
て巡回冗長検査情報チェックを行って整合性がとれなか
った場合、ホストデータ再構築手段で、誤ったデータが
格納されていると仮定したディスク装置を別のディスク
装置と仮定し、再びこの仮定の元で再構築されたホスト
データに対し巡回冗長検査情報チェックを行う処理を、
整合性がとれるまで繰り返して行い、整合性がとれた場
合、そのホストデータを正しいホストデータとする巡回
冗長検査情報チェック手段を備えている。
うな効果がある。 (3) :請求項1では、RAIDレベル3のディスクアレ
イ装置において、ディスクアレイ制御装置は、ホストデ
ータに巡回冗長検査情報(CRC情報)を付加して分割
し、パリティデータを作成して各ディスク装置への書き
込み制御を行うデータ書き込み制御手段と、ディスク装
置から読み出した分割データからパリティデータを作成
し、このパリティデータをパリティ用ディスク装置から
読み出したパリティデータと比較してパリティチェック
を行うパリティチェック手段と、パリティチェックで整
合性に矛盾が有る場合、データ用ディスク装置及びパリ
ティ用ディスク装置を1つずつ順番に誤ったデータが格
納されているものと仮定し、誤ったデータが格納されて
いるものと仮定したディスク装置を除く他のディスク装
置のデータよりホストデータを順次再構築するホストデ
ータ再構築手段と、前記再構築したホストデータに対し
て巡回冗長検査情報チェックを行って整合性がとれなか
った場合、ホストデータ再構築手段で、誤ったデータが
格納されていると仮定したディスク装置を別のディスク
装置と仮定し、再びこの仮定の元で再構築されたホスト
データに対し巡回冗長検査情報チェックを行う処理を、
整合性がとれるまで繰り返して行い、整合性がとれた場
合、そのホストデータを正しいホストデータとする巡回
冗長検査情報チェック手段を備えている。
【0247】従って、RAIDレベル3のディスクアレ
イ装置において、リードパリティチェックで整合性がと
れなかった場合でも、巡回冗長検査情報チェックによ
り、常に正しいホストデータを再構築してホストへ転送
することができる。このため、データの信頼性が向上す
る。
イ装置において、リードパリティチェックで整合性がと
れなかった場合でも、巡回冗長検査情報チェックによ
り、常に正しいホストデータを再構築してホストへ転送
することができる。このため、データの信頼性が向上す
る。
【0248】(4) :請求項2では、RAIDレベル3の
ディスクアレイ装置において、ディスクアレイ制御装置
は、ホストデータを分割しこの分割データからパリティ
データを作成し、各分割データ及びパリティデータに時
刻データを付加してディスク装置への書き込み制御を行
うデータ書き込み制御手段と、ディスク装置から読み出
した分割データからパリティデータを作成し、このパリ
ティデータをパリティ用ディスク装置から読み出したパ
リティデータと比較してパリティチェックを行うパリテ
ィチェック手段と、パリティチェックで整合性に矛盾が
有る場合、全てのディスク装置に格納されている時刻を
比較し、一番古い時刻を持つデータを誤ったデータと
し、その誤ったデータの格納されているディスク装置を
除く他の全てのディスク装置のデータよりホストデータ
を再構築するホストデータ再構築手段を備えている。
ディスクアレイ装置において、ディスクアレイ制御装置
は、ホストデータを分割しこの分割データからパリティ
データを作成し、各分割データ及びパリティデータに時
刻データを付加してディスク装置への書き込み制御を行
うデータ書き込み制御手段と、ディスク装置から読み出
した分割データからパリティデータを作成し、このパリ
ティデータをパリティ用ディスク装置から読み出したパ
リティデータと比較してパリティチェックを行うパリテ
ィチェック手段と、パリティチェックで整合性に矛盾が
有る場合、全てのディスク装置に格納されている時刻を
比較し、一番古い時刻を持つデータを誤ったデータと
し、その誤ったデータの格納されているディスク装置を
除く他の全てのディスク装置のデータよりホストデータ
を再構築するホストデータ再構築手段を備えている。
【0249】従って、RAIDレベル3のディスクアレ
イ装置において、リードパリティチェックで整合性がと
れなかった場合でも、時刻データのチェックにより、常
に正しいホストデータを再構築してホスト1へ転送する
ことができる。このため、データの信頼性が向上する。
イ装置において、リードパリティチェックで整合性がと
れなかった場合でも、時刻データのチェックにより、常
に正しいホストデータを再構築してホスト1へ転送する
ことができる。このため、データの信頼性が向上する。
【0250】(5) :請求項3では、RAIDレベル5の
ディスクアレイ装置において、ディスクアレイ制御装置
は、ホストデータをセクタ単位で分割し、この分割デー
タからパリティデータを作成して、各分割データ及びパ
リティデータに時刻データを付加してディスク装置への
書き込み制御を行うデータ書き込み制御手段と、ディス
ク装置から読み出した分割データからパリティデータを
作成し、このパリティデータを、前記ディスク装置から
読み出したパリティデータと比較してパリティチェック
を行うパリティチェック手段と、パリティチェック手段
によるパリティチェックで整合性に矛盾が有る場合、前
記全てのディスク装置に格納されている時刻を比較し、
一番古い時刻を持つデータを誤ったデータとし、その誤
ったデータの格納されているディスク装置を除く他の全
てのディスク装置のデータよりホストデータを再構築す
るホストデータ再構築手段を備えている。
ディスクアレイ装置において、ディスクアレイ制御装置
は、ホストデータをセクタ単位で分割し、この分割デー
タからパリティデータを作成して、各分割データ及びパ
リティデータに時刻データを付加してディスク装置への
書き込み制御を行うデータ書き込み制御手段と、ディス
ク装置から読み出した分割データからパリティデータを
作成し、このパリティデータを、前記ディスク装置から
読み出したパリティデータと比較してパリティチェック
を行うパリティチェック手段と、パリティチェック手段
によるパリティチェックで整合性に矛盾が有る場合、前
記全てのディスク装置に格納されている時刻を比較し、
一番古い時刻を持つデータを誤ったデータとし、その誤
ったデータの格納されているディスク装置を除く他の全
てのディスク装置のデータよりホストデータを再構築す
るホストデータ再構築手段を備えている。
【0251】前記のようにすれば、RAIDレベル5の
ディスクアレイ装置において、リードパリティチェック
で整合性がとれなかった場合でも、時刻データのチェッ
クにより、常に正しいホストデータを再構築してホスト
1へ転送することができる。従って、データの信頼性が
向上する。
ディスクアレイ装置において、リードパリティチェック
で整合性がとれなかった場合でも、時刻データのチェッ
クにより、常に正しいホストデータを再構築してホスト
1へ転送することができる。従って、データの信頼性が
向上する。
【0252】(6) :請求項4では、RAIDレベル1の
ディスクアレイ装置において、ディスクアレイ制御装置
は、ホストデータに時刻データを付加してディスク装置
への書き込み制御を行うデータ書き込み制御手段と、2
台のディスク装置から読み出したデータを比較して両者
が不一致であった場合、2台のディスク装置に格納され
ている時刻を調べ、最新の時刻を持つデータを正しいデ
ータとする読み出し制御手段を備えている。
ディスクアレイ装置において、ディスクアレイ制御装置
は、ホストデータに時刻データを付加してディスク装置
への書き込み制御を行うデータ書き込み制御手段と、2
台のディスク装置から読み出したデータを比較して両者
が不一致であった場合、2台のディスク装置に格納され
ている時刻を調べ、最新の時刻を持つデータを正しいデ
ータとする読み出し制御手段を備えている。
【0253】従って、RAIDレベル1のディスクアレ
イ装置において、2台のディスク装置から読み出したデ
ータが不一致の場合でも、時刻データのチェックによ
り、常に正しいホストデータを再構築してホスト1へ転
送することができる。このため、データの信頼性が向上
する。
イ装置において、2台のディスク装置から読み出したデ
ータが不一致の場合でも、時刻データのチェックによ
り、常に正しいホストデータを再構築してホスト1へ転
送することができる。このため、データの信頼性が向上
する。
【0254】(7) :請求項5では、前記RAIDレベル
1、又は3又は5のディスクアレイ装置において、前記
時刻データの代わりに、逐次更新される更新カウンタの
カウンタ値を用いる。従って、リードパリティチェック
で整合性がとれなかった場合でも、更新カウンタのカウ
ンタ値のチェックにより、常に正しいホストデータを再
構築してホスト1へ転送することができる。このため、
データの信頼性が向上する。
1、又は3又は5のディスクアレイ装置において、前記
時刻データの代わりに、逐次更新される更新カウンタの
カウンタ値を用いる。従って、リードパリティチェック
で整合性がとれなかった場合でも、更新カウンタのカウ
ンタ値のチェックにより、常に正しいホストデータを再
構築してホスト1へ転送することができる。このため、
データの信頼性が向上する。
【0255】(8) :請求項6では、ディスクアレイ制御
部は、データ記憶装置にデータを格納し、第1の冗長情
報記憶装置に第1の冗長情報を格納する際に、第2の冗
長情報記憶装置に格納すべき当該データ及び第1の冗長
情報用の第2の冗長情報を作成する手段と、複数のデー
タ記憶装置からデータを読出す際に、データの正常性
を、前記第2の冗長情報記憶装置に格納された第2の冗
長情報に基づいて判定する手段と、データの正常性がな
いことが判定された場合に、複数の記憶装置のうちの一
つの記憶装置を指定し、この指定された記憶装置を除く
残りの記憶装置に格納されている情報に基づいて、この
指定された記憶装置に格納されていたデータの再構築を
行う再構築手段と、再構築されたデータの整合性を第1
の冗長情報記憶装置に格納された第1の冗長情報に基づ
いて判定する手段を備えている。
部は、データ記憶装置にデータを格納し、第1の冗長情
報記憶装置に第1の冗長情報を格納する際に、第2の冗
長情報記憶装置に格納すべき当該データ及び第1の冗長
情報用の第2の冗長情報を作成する手段と、複数のデー
タ記憶装置からデータを読出す際に、データの正常性
を、前記第2の冗長情報記憶装置に格納された第2の冗
長情報に基づいて判定する手段と、データの正常性がな
いことが判定された場合に、複数の記憶装置のうちの一
つの記憶装置を指定し、この指定された記憶装置を除く
残りの記憶装置に格納されている情報に基づいて、この
指定された記憶装置に格納されていたデータの再構築を
行う再構築手段と、再構築されたデータの整合性を第1
の冗長情報記憶装置に格納された第1の冗長情報に基づ
いて判定する手段を備えている。
【0256】また、請求項7では、再構築手段によるデ
ータの再構築と、判定手段によるデータの整合性の判定
を順次複数の記憶装置に対して実行させるための制御手
段と、を含んでいる。従って、ディスクアレイ装置にお
いて、第2の冗長情報によるチェックで整合性がとれな
かった場合でも、常に正しいホストデータを再構築して
ホスト1へ転送することができる。従って、データの信
頼性が向上する。
ータの再構築と、判定手段によるデータの整合性の判定
を順次複数の記憶装置に対して実行させるための制御手
段と、を含んでいる。従って、ディスクアレイ装置にお
いて、第2の冗長情報によるチェックで整合性がとれな
かった場合でも、常に正しいホストデータを再構築して
ホスト1へ転送することができる。従って、データの信
頼性が向上する。
【図1】本発明の説明図である。
【図2】実施の形態1の装置構成図である。
【図3】実施の形態1の処理説明図である。
【図4】実施の形態1の処理フローチャートである。
【図5】実施の形態2の装置構成図である。
【図6】実施の形態2の処理説明図である。
【図7】実施の形態2の処理フローチャートである。
【図8】実施の形態3の装置説明図である。
【図9】実施の形態3の処理フローチャートである。
【図10】実施の形態4の装置構成図である。
【図11】実施の形態4の処理フローチャートである。
【図12】実施の形態5の装置構成図である。
【図13】実施の形態5の処理フローチャートである。
【図14】従来のディスクアレイ装置の説明図である。
【図15】RAIDのレベル説明図である。
1 ホスト(ホスト装置) 2 ディスクアレイ装置 3 ホストアダプタ 4 ディスクアレイコントローラ 5−1〜5−n デバイスアダプタ 6−1〜6−n ディスク装置 10、12−1〜12−n メモリ 11 CRC付加処理部 13 時刻データ処理部 14 時計 19 パリティ処理部 20 CRCチェック部 21 カウンタデータ処理部 22 更新カウンタ
Claims (7)
- 【請求項1】複数のディスク装置と、前記各ディスク装
置を並列的に動作させることでデータの書き込み/読み
出し制御を行うディスクアレイ制御装置を備え、前記デ
ィスクアレイ制御装置により入力したホストデータを分
割し、その分割データからパリティデータを作成して、
前記分割データを複数のデータ用ディスク装置に書き込
むと共に、前記パリティデータを1つのパリティ用ディ
スク装置に書き込むRAIDレベル3のディスクアレイ
装置において、 前記ディスクアレイ制御装置は、前記ホストデータに巡
回冗長検査情報(CRC情報)を付加し、この巡回冗長
検査情報付きホストデータを分割し、この分割データか
らパリティデータを作成して前記各ディスク装置への書
き込み制御を行うデータ書き込み制御手段と、 前記ディスク装置から読み出した分割データからパリテ
ィデータを作成し、このパリティデータを前記パリティ
用ディスク装置から読み出したパリティデータと比較し
てパリティチェックを行うパリティチェック手段と、 前記パリティチェック手段によるパリティチェックで整
合性に矛盾が有る場合、前記複数のデータ用ディスク装
置及びパリティ用ディスク装置を1つずつ順番に誤った
データが格納されているものと仮定し、この仮定の元で
前記誤ったデータが格納されているものと仮定したディ
スク装置を除く他のディスク装置のデータよりホストデ
ータを順次再構築するホストデータ再構築手段と、 前記ホストデータ再構築手段で再構築したホストデータ
に対して巡回冗長検査情報チェックを行って整合性がと
れなかった場合、前記ホストデータ再構築手段で、誤っ
たデータが格納されていると仮定したディスク装置を別
のディスク装置と仮定し、再びこの仮定の元で再構築さ
れたホストデータに対し巡回冗長検査情報チェックを行
う処理を、整合性がとれるまで繰り返して行い、整合性
がとれた場合、そのホストデータを正しいホストデータ
とする巡回冗長検査情報チェック手段を備えていること
を特徴としたディスクアレイ装置。 - 【請求項2】複数のディスク装置と、前記各ディスク装
置を並列的に動作させることでデータの書き込み/読み
出し制御を行うディスクアレイ制御装置を備え、前記デ
ィスクアレイ制御装置により入力したホストデータを分
割し、その分割データからパリティデータを作成して、
前記分割データを複数のデータ用ディスク装置に書き込
むと共に、前記パリティデータを1つのパリティ用ディ
スク装置に書き込むRAIDレベル3のディスクアレイ
装置において、 前記ディスクアレイ制御装置は、前記ホストデータを分
割し、この分割データからパリティデータを作成し、前
記各分割データ及びパリティデータに時刻データを付加
して前記ディスク装置への書き込み制御を行うデータ書
き込み制御手段と、 前記ディスク装置から読み出した分割データからパリテ
ィデータを作成し、このパリティデータを前記パリティ
用ディスク装置から読み出したパリティデータと比較し
てパリティチェックを行うパリティチェック手段と、 前記パリティチェック手段によるパリティチェックで整
合性に矛盾が有る場合、前記全てのディスク装置に格納
されている時刻を比較し、一番古い時刻を持つデータを
誤ったデータとし、その誤ったデータの格納されている
ディスク装置を除く他の全てのディスク装置のデータよ
りホストデータを再構築するホストデータ再構築手段を
備えていることを特徴としたディスクアレイ装置。 - 【請求項3】複数のディスク装置と、前記各ディスク装
置を並列的に動作させることでデータの書き込み/読み
出し制御を行うディスクアレイ制御装置を備え、前記デ
ィスクアレイ制御装置により、入力したホストデータを
セクタ単位で分割し、その分割データからパリティデー
タを作成して、前記全てのディスク装置から巡回的に1
台を選択して前記パリティデータを書き込むと共に、前
記パリティデータを書き込むディスク装置以外の全ての
ディスク装置に前記分割データを分配して書き込むRA
IDレベル5のディスクアレイ装置において、 前記ディスクアレイ制御装置は、前記ホストデータをセ
クタ単位で分割し、この分割データからパリティデータ
を作成して、前記各分割データ及びパリティデータに時
刻データを付加して前記ディスク装置への書き込み制御
を行うデータ書き込み制御手段と、 前記ディスク装置から読み出した分割データからパリテ
ィデータを作成し、このパリティデータを、前記ディス
ク装置から読み出したパリティデータと比較してパリテ
ィチェックを行うパリティチェック手段と、 前記パリティチェック手段によるパリティチェックで整
合性に矛盾が有る場合、前記全てのディスク装置に格納
されている時刻を比較し、一番古い時刻を持つデータを
誤ったデータとし、その誤ったデータの格納されている
ディスク装置を除く他の全てのディスク装置のデータよ
りホストデータを再構築するホストデータ再構築手段を
備えていることを特徴としたディスクアレイ装置。 - 【請求項4】2台のディスク装置と、これらのディスク
装置を並列的に動作させることでデータの書き込み/読
み出し制御を行うディスクアレイ制御装置を備え、前記
ディスクアレイ制御装置により、入力したホストデータ
を前記2台のディスク装置に書き込むRAIDレベル1
のディスクアレイ装置において、 前記ディスクアレイ制御装置は、前記ホストデータに時
刻データを付加して前記ディスク装置への書き込み制御
を行うデータ書き込み制御手段と、前記2台のディスク
装置から読み出したデータを比較して両者が不一致であ
った場合、前記2台のディスク装置に格納されている時
刻を調べ、最新の時刻を持つデータを正しいデータとす
る読み出し制御手段を備えていることを特徴としたディ
スクアレイ装置。 - 【請求項5】前記時刻データの代わりに、逐次更新され
る更新カウンタのカウンタ値を用いたことを特徴とする
請求項2、又は3、又は4記載のディスクアレイ装置。 - 【請求項6】データを格納する複数のデータ記憶装置
と、前記複数のデータ記憶装置に格納される複数のデー
タに対して付加された第1の冗長情報を格納する第1の
冗長情報記憶装置と、前記複数のデータと前記第1の冗
長情報とに基づいて作成された第2の冗長情報を格納す
る第2の冗長情報記憶装置とを含んでなる複数の記憶装
置を制御するためのディスクアレイ制御部を備えてなる
ディスクアレイ装置であって、 前記ディスクアレイ制御部は、 前記データ記憶装置にデータを格納し、前記第1の冗長
情報記憶装置に第1の冗長情報を格納する際に、前記第
2の冗長情報記憶装置に格納すべき当該データ及び第1
の冗長情報用の第2の冗長情報を作成する手段と、 前記複数のデータ記憶装置からデータを読出す際に、前
記データの正常性を、前記第2の冗長情報記憶装置に格
納された第2の冗長情報に基づいて判定する手段と、 前記データの正常性がないことが判定された場合に、前
記複数の記憶装置のうちの一つの記憶装置を指定し、こ
の指定された記憶装置を除く残りの記憶装置に格納され
ている情報に基づいて、この指定された記憶装置に格納
されていたデータの再構築を行う再構築手段と、 前記再構築されたデータの整合性を前記第1の冗長情報
記憶装置に格納された第1の冗長情報に基づいて判定す
る手段とを備えてなることを特徴とするディスクアレイ
装置。 - 【請求項7】前記再構築手段によるデータの再構築と、
前記判定手段によるデータの整合性の判定を順次複数の
記憶装置に対して実行させるための制御手段と、を含ん
でなることを特徴とした請求項6記載のディスクアレイ
装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8117414A JPH09305328A (ja) | 1996-05-13 | 1996-05-13 | ディスクアレイ装置 |
| US08/851,704 US6023780A (en) | 1996-05-13 | 1997-05-06 | Disc array apparatus checking and restructuring data read from attached disc drives |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8117414A JPH09305328A (ja) | 1996-05-13 | 1996-05-13 | ディスクアレイ装置 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2004017073A Division JP3676793B2 (ja) | 2004-01-26 | 2004-01-26 | ディスクアレイ装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH09305328A true JPH09305328A (ja) | 1997-11-28 |
Family
ID=14711063
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8117414A Pending JPH09305328A (ja) | 1996-05-13 | 1996-05-13 | ディスクアレイ装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US6023780A (ja) |
| JP (1) | JPH09305328A (ja) |
Cited By (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002529878A (ja) * | 1998-10-30 | 2002-09-10 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 記憶システム |
| JPWO2004114115A1 (ja) * | 2003-06-19 | 2006-07-20 | 富士通株式会社 | Raid装置、raid制御方法、及びraid制御プログラム |
| JP2007141264A (ja) * | 1998-12-22 | 2007-06-07 | Hitachi Ltd | 記憶装置システム |
| JP2008117395A (ja) * | 2006-10-31 | 2008-05-22 | Hewlett-Packard Development Co Lp | フォールトトレラントデータストレージシステムにおけるブロックレベルのデータ破損の検出および訂正 |
| JP2010182087A (ja) * | 2009-02-05 | 2010-08-19 | Fujitsu Ltd | ディスクアレイ装置、データ分散管理方法、およびデータ分散管理プログラム |
| US7805564B2 (en) | 1998-12-22 | 2010-09-28 | Hitachi, Ltd. | Display apparatus and its method for displaying connections among a host, a logical unit and a storage system in a virtual storage system |
| US8286028B2 (en) | 2008-02-08 | 2012-10-09 | Fujitsu Limited | Backup method and disk array apparatus |
| JP2013033507A (ja) * | 2012-10-31 | 2013-02-14 | Fujitsu Ltd | データ制御方法およびシステム |
| KR101389681B1 (ko) * | 2011-09-08 | 2014-04-28 | 가부시끼가이샤 도시바 | 비디오 서버 및 리빌드 처리 제어 방법 |
| WO2015045122A1 (ja) * | 2013-09-27 | 2015-04-02 | 株式会社日立製作所 | ストレージ装置、ストレージシステム、およびデータ管理方法 |
Families Citing this family (47)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4499193B2 (ja) * | 1997-04-07 | 2010-07-07 | ソニー株式会社 | 記録再生装置及び記録再生方法 |
| JP2914367B2 (ja) * | 1997-12-05 | 1999-06-28 | 日本電気株式会社 | ディスクアレイ装置 |
| US6430701B1 (en) * | 1998-01-27 | 2002-08-06 | Aiwa Co., Ltd. | Data recording and reproducing method and apparatus using plurality of data recording and reproducing units, and computer-readable recording medium |
| US6263346B1 (en) * | 1998-07-17 | 2001-07-17 | International Business Machines Corporation | Network with storage of all client computer programs in server computer having customized client graphical user interfaces with maximum sharing of stored portions of interfaces common to a plurality of clients |
| US6769088B1 (en) * | 1999-06-30 | 2004-07-27 | Maxtor Corporation | Sector-coding technique for reduced read-after-write operations |
| US7007193B1 (en) * | 2000-01-07 | 2006-02-28 | Storage Technology Corporation | Method and system for reconstructing data serially arranged on a magnetic tape track |
| US6820171B1 (en) * | 2000-06-30 | 2004-11-16 | Lsi Logic Corporation | Methods and structures for an extensible RAID storage architecture |
| US6654912B1 (en) * | 2000-10-04 | 2003-11-25 | Network Appliance, Inc. | Recovery of file system data in file servers mirrored file system volumes |
| US7143249B2 (en) * | 2000-10-04 | 2006-11-28 | Network Appliance, Inc. | Resynchronization of mirrored storage devices |
| US20020089772A1 (en) * | 2001-01-10 | 2002-07-11 | Rupert Gall | Automation system with a work drive unit |
| US6934904B2 (en) * | 2001-04-30 | 2005-08-23 | Sun Microsystems, Inc. | Data integrity error handling in a redundant storage array |
| US6981171B2 (en) * | 2001-06-05 | 2005-12-27 | Sun Microsystems, Inc. | Data storage array employing block verification information to invoke initialization procedures |
| US6757753B1 (en) | 2001-06-06 | 2004-06-29 | Lsi Logic Corporation | Uniform routing of storage access requests through redundant array controllers |
| US6678107B1 (en) * | 2001-06-15 | 2004-01-13 | Lsi Logic Corporation | System and method for reading and writing N-way mirrored storage devices |
| US6763398B2 (en) * | 2001-08-29 | 2004-07-13 | International Business Machines Corporation | Modular RAID controller |
| WO2003050683A1 (en) * | 2001-08-31 | 2003-06-19 | Legend (Beijing) Limited | Method for backing up and recovering data in the hard disk of a computer |
| US6687791B2 (en) | 2002-01-07 | 2004-02-03 | Sun Microsystems, Inc. | Shared cache for data integrity operations |
| US6931576B2 (en) * | 2002-01-07 | 2005-08-16 | Sun Microsystems, Inc. | Data integrity device providing heightened error protection in a data processing system |
| JP4307777B2 (ja) * | 2002-01-28 | 2009-08-05 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データ処理方法、データ処理システムおよびプログラム |
| US7315976B2 (en) * | 2002-01-31 | 2008-01-01 | Lsi Logic Corporation | Method for using CRC as metadata to protect against drive anomaly errors in a storage array |
| US7131050B2 (en) * | 2002-02-28 | 2006-10-31 | Lsi Logic Corporation | Optimized read performance method using metadata to protect against drive anomaly errors in a storage array |
| US7007220B2 (en) * | 2002-03-01 | 2006-02-28 | Broadlogic Network Technologies, Inc. | Error correction coding across multiple channels in content distribution systems |
| US6952794B2 (en) * | 2002-10-10 | 2005-10-04 | Ching-Hung Lu | Method, system and apparatus for scanning newly added disk drives and automatically updating RAID configuration and rebuilding RAID data |
| US7028138B2 (en) * | 2003-01-28 | 2006-04-11 | Dell Products L.P. | RAID configuration protocol for SCSI drives and RAID controllers |
| JPWO2005006175A1 (ja) * | 2003-07-10 | 2006-08-24 | 富士通株式会社 | 複数の論理ユニットをグループ化する方法、受信した要求の処理方法、複数の論理ユニットをグループ化する装置及び、受信した要求の処理装置 |
| TWI309776B (en) * | 2003-10-24 | 2009-05-11 | Hon Hai Prec Ind Co Ltd | Secure storage system and method for solid memory |
| US7302603B2 (en) * | 2003-11-20 | 2007-11-27 | International Business Machines Corporation | Host-initiated data reconstruction for improved RAID read operations |
| US7188212B2 (en) * | 2004-05-06 | 2007-03-06 | International Business Machines Corporation | Method and system for storing data in an array of storage devices with additional and autonomic protection |
| US7093157B2 (en) * | 2004-06-17 | 2006-08-15 | International Business Machines Corporation | Method and system for autonomic protection against data strip loss |
| JP2006040044A (ja) * | 2004-07-28 | 2006-02-09 | Sony Corp | データ蓄積装置及びそのデータ蓄積方法 |
| US20060053282A1 (en) * | 2004-09-03 | 2006-03-09 | Mccown Steven H | Canister-based storage system security |
| US7330998B2 (en) * | 2004-09-20 | 2008-02-12 | Intel Corporation | Data integrity verification |
| KR100579133B1 (ko) * | 2004-12-06 | 2006-05-12 | 한국전자통신연구원 | 블록분할 디스크 어레이에서의 분산 패러티를 이용한데이터 배치 방법 및 블록분할 분산패러티 디스크어레이에서의 대형/소형 블록 읽기/쓰기 제어 방법 |
| US7552357B2 (en) * | 2005-04-29 | 2009-06-23 | Network Appliance, Inc. | Lost writes detection in a redundancy group based on RAID with multiple parity |
| TWI350526B (en) * | 2005-11-21 | 2011-10-11 | Infortrend Technology Inc | Data access methods and storage subsystems thereof |
| JP4829632B2 (ja) | 2006-02-10 | 2011-12-07 | 株式会社リコー | データ暗号化装置、データ暗号化方法、データ暗号化プログラム、および記録媒体 |
| TWI312987B (en) * | 2006-08-11 | 2009-08-01 | Via Tech Inc | Computer system having raid control function and raid control method |
| US10417428B2 (en) | 2007-03-06 | 2019-09-17 | Unisys Corporation | Methods and systems for providing and controlling cryptographic secure communications terminal providing a remote desktop accessible in secured and unsecured environments |
| JP2010033287A (ja) * | 2008-07-28 | 2010-02-12 | Hitachi Ltd | ストレージサブシステム及びこれを用いたデータ検証方法 |
| US20100153740A1 (en) * | 2008-12-17 | 2010-06-17 | David Dodgson | Data recovery using error strip identifiers |
| WO2011130185A2 (en) * | 2010-04-11 | 2011-10-20 | Alex Grossman | Systems and methods for raid metadata storage |
| US8612831B2 (en) * | 2010-06-22 | 2013-12-17 | Cleversafe, Inc. | Accessing data stored in a dispersed storage memory |
| US11030305B2 (en) | 2010-10-04 | 2021-06-08 | Unisys Corporation | Virtual relay device for providing a secure connection to a remote device |
| JP6135226B2 (ja) * | 2013-03-21 | 2017-05-31 | 日本電気株式会社 | 情報処理装置、情報処理方法、ストレージシステム及びコンピュータプログラム |
| JP6673021B2 (ja) * | 2016-05-31 | 2020-03-25 | 富士通株式会社 | メモリおよび情報処理装置 |
| US10877842B2 (en) * | 2017-09-08 | 2020-12-29 | Intel Corporation | Detecting silent data corruption for mass storage devices |
| CN114063887B (zh) * | 2020-07-31 | 2025-02-18 | 深圳市中兴微电子技术有限公司 | 写入及读取方法、处理器芯片、存储介质和电子设备 |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5283791A (en) * | 1988-08-02 | 1994-02-01 | Cray Research Systems, Inc. | Error recovery method and apparatus for high performance disk drives |
| US5195100A (en) * | 1990-03-02 | 1993-03-16 | Micro Technology, Inc. | Non-volatile memory storage of write operation identifier in data sotrage device |
| EP0784272B1 (en) * | 1990-09-20 | 2000-05-24 | Fujitsu Limited | Input/output controller |
| US5345565A (en) * | 1991-03-13 | 1994-09-06 | Ncr Corporation | Multiple configuration data path architecture for a disk array controller |
| US5526507A (en) * | 1992-01-06 | 1996-06-11 | Hill; Andrew J. W. | Computer memory array control for accessing different memory banks simullaneously |
| US5513192A (en) * | 1992-08-28 | 1996-04-30 | Sun Microsystems, Inc. | Fault tolerant disk drive system with error detection and correction |
| US5812748A (en) * | 1993-06-23 | 1998-09-22 | Vinca Corporation | Method for improving recovery performance from hardware and software errors in a fault-tolerant computer system |
-
1996
- 1996-05-13 JP JP8117414A patent/JPH09305328A/ja active Pending
-
1997
- 1997-05-06 US US08/851,704 patent/US6023780A/en not_active Expired - Fee Related
Cited By (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002529878A (ja) * | 1998-10-30 | 2002-09-10 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 記憶システム |
| JP2007141264A (ja) * | 1998-12-22 | 2007-06-07 | Hitachi Ltd | 記憶装置システム |
| US8375168B2 (en) | 1998-12-22 | 2013-02-12 | Hitachi, Ltd. | Method and system of collection performance data for storage network |
| US8176248B2 (en) | 1998-12-22 | 2012-05-08 | Hitachi, Ltd. | Method and system of collection performance data for storage network |
| US7805564B2 (en) | 1998-12-22 | 2010-09-28 | Hitachi, Ltd. | Display apparatus and its method for displaying connections among a host, a logical unit and a storage system in a virtual storage system |
| US7937527B2 (en) | 1998-12-22 | 2011-05-03 | Hitachi, Ltd. | Storage system for sending an access request from a host to a storage subsystem |
| US8051244B2 (en) | 1998-12-22 | 2011-11-01 | Hitachi, Ltd. | Storage system for sending an access request from a host to a storage subsystem |
| JPWO2004114115A1 (ja) * | 2003-06-19 | 2006-07-20 | 富士通株式会社 | Raid装置、raid制御方法、及びraid制御プログラム |
| US8145941B2 (en) | 2006-10-31 | 2012-03-27 | Hewlett-Packard Development Company, L.P. | Detection and correction of block-level data corruption in fault-tolerant data-storage systems |
| JP2008117395A (ja) * | 2006-10-31 | 2008-05-22 | Hewlett-Packard Development Co Lp | フォールトトレラントデータストレージシステムにおけるブロックレベルのデータ破損の検出および訂正 |
| US8286028B2 (en) | 2008-02-08 | 2012-10-09 | Fujitsu Limited | Backup method and disk array apparatus |
| JP5466953B2 (ja) * | 2008-02-08 | 2014-04-09 | 富士通株式会社 | バックアップ方法及びディスクアレイシステム |
| JP2010182087A (ja) * | 2009-02-05 | 2010-08-19 | Fujitsu Ltd | ディスクアレイ装置、データ分散管理方法、およびデータ分散管理プログラム |
| US8234446B2 (en) | 2009-02-05 | 2012-07-31 | Fujitsu Limited | Disk array apparatus, data distribution and management method, and data distribution and management program |
| KR101389681B1 (ko) * | 2011-09-08 | 2014-04-28 | 가부시끼가이샤 도시바 | 비디오 서버 및 리빌드 처리 제어 방법 |
| JP2013033507A (ja) * | 2012-10-31 | 2013-02-14 | Fujitsu Ltd | データ制御方法およびシステム |
| WO2015045122A1 (ja) * | 2013-09-27 | 2015-04-02 | 株式会社日立製作所 | ストレージ装置、ストレージシステム、およびデータ管理方法 |
| US9256490B2 (en) | 2013-09-27 | 2016-02-09 | Hitachi, Ltd. | Storage apparatus, storage system, and data management method |
Also Published As
| Publication number | Publication date |
|---|---|
| US6023780A (en) | 2000-02-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH09305328A (ja) | ディスクアレイ装置 | |
| US5708668A (en) | Method and apparatus for operating an array of storage devices | |
| US7062704B2 (en) | Storage array employing scrubbing operations using multiple levels of checksums | |
| US5579475A (en) | Method and means for encoding and rebuilding the data contents of up to two unavailable DASDS in a DASD array using simple non-recursive diagonal and row parity | |
| US7017107B2 (en) | Storage array employing scrubbing operations at the disk-controller level | |
| US10896088B2 (en) | Metadata recovery mechanism for page storage | |
| JP2959901B2 (ja) | 記憶装置の冗長アレイおよびオンライン再構成方法 | |
| US5566316A (en) | Method and apparatus for hierarchical management of data storage elements in an array storage device | |
| US6535994B1 (en) | Method and apparatus for identifying and repairing mismatched data | |
| US7529970B2 (en) | System and method for improving the performance of operations requiring parity reads in a storage array system | |
| US5613088A (en) | Raid system including first and second read/write heads for each disk drive | |
| US7464322B2 (en) | System and method for detecting write errors in a storage device | |
| US7146461B1 (en) | Automated recovery from data corruption of data volumes in parity RAID storage systems | |
| US6233696B1 (en) | Data verification and repair in redundant storage systems | |
| US20120192037A1 (en) | Data storage systems and methods having block group error correction for repairing unrecoverable read errors | |
| JP2000207136A (ja) | 複数ドライブ故障トレラントraidアルゴリズム | |
| US9740440B2 (en) | Separating a hybrid asymmetric mix of a RAID 1 mirror and a parity-based RAID array | |
| US6389511B1 (en) | On-line data verification and repair in redundant storage system | |
| US7234024B1 (en) | Application-assisted recovery from data corruption in parity RAID storage using successive re-reads | |
| US20030163757A1 (en) | RAID subsystem and data input/output and recovery method in disk error mode | |
| JP3676793B2 (ja) | ディスクアレイ装置 | |
| JP2857288B2 (ja) | ディスクアレイ装置 | |
| EP0632376B1 (en) | Encoding and rebuilding the data content of up to two unavailable DASDs in a DASD array | |
| JP3699473B2 (ja) | ディスクアレイ装置 | |
| JP4469822B2 (ja) | ディスクアレイ装置およびディスクアレイ装置のデータ管理方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040420 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040824 |