(57)【要約】【課題】  オーバーヘッドを極力低減可能な構成で読み出しデータの確実な検証を可能とする機能を有する磁気ディスクアレイ装置を提供することを目的とする。【解決手段】  各磁気ディスク装置１０−ｉに対するデータの書き込みの際ＣＲＣデータを書き込みブロック毎に付加して書き込みを行なうとともにディスクアレイコントローラ２０において同ＣＲＣデータの一部を保持する構成を有する。【選択図】  図２
2006268524.tif 000002
【特許請求の範囲】
【請求項１】
複数の記憶装置の記憶領域を統合的に管理する構成の記憶装置であって、
当該複数の記憶装置中の各記憶装置へのデータの書き込みの際、所定の検証用データを所定の書き込み単位毎に付加して書き込む手段と、
前記検証用データを、前記複数の記憶装置を統合して制御する制御部にて格納する手段とよりなる記憶装置。
【請求項２】
更に、前記複数の記憶装置中の各記憶装置からのデータの読み出しの際に得れれた、当該記憶装置に対し書き込みデータに付加して書き込まれた検証用データと、前記制御部にて格納された検証用データとを比較する手段とよりなる請求項１に記載の記憶装置。
【請求項３】
複数の記憶装置の記憶領域を統合的に管理する構成の記憶装置の制御方法であって、
当該複数の記憶装置中の各記憶装置へのデータの書き込みの際、所定の検証用データを所定の書き込み単位毎に付加して書き込む段階と、
前記検証用データを、前記複数の記憶装置を統合して制御する制御部にて格納する段階とよりなる記憶装置の制御方法。
【請求項４】
更に、前記複数の記憶装置中の各記憶装置からのデータの読み出しの際に得られた、当該記憶装置に対し書き込みデータに付加して書き込まれた検証用データと、前記制御部にて格納された検証用データとを比較する段階よりなる請求項３に記載の記憶装置の制御方法。
【請求項５】
複数の記憶装置の記憶領域を統合的に管理する構成の記憶装置の制御をコンピュータに実行させるための命令よりなるプログラムであって、
当該複数の記憶装置中の各記憶装置へのデータの書き込みの際、所定の検証用データを所定の書き込み単位毎に付加して書き込む段階と、
前記検証用データを、前記複数の記憶装置を統合して制御する制御部にて格納する段階とをコンピュータに実行させるための命令よりなるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は記憶装置、その制御方法及びプログラムに係り、特に多数の記憶装置の記憶領域を統合的に管理する構成の記憶装置、その制御方法及びプログラムに関する。
【背景技術】
【０００２】
記憶装置として、複数の磁気ディスク装置の夫々の記憶領域を一つの論理ボリュームとして統合的に扱う構成の、所謂磁気ディスクアレイ装置がある。
【０００３】
このような記憶装置においては、個々の磁気ディスク装置の故障等によってその磁気ディスクに対する書き込み処理、即ちデータ更新処理が正常になされなかったような場合、データ読み出し時に更新前の旧データが読み出されることになる。このような場合、読み取られたデータが更新前の誤ったデータであることが判断出来ないことがあり、その場合ホスト装置に対して旧データを送ってしまうこととなる。その結果ホスト装置側では更新前の古いデータを受信することとなり、場合によっては最新データを損失してしまうという重大な障害を引き起こす可能性がある。
【０００４】
一般的に磁気ディスク装置では、書き込み処理において、ディスク状記録媒体上の書き込み先のアドレスに書き込みヘッドを位置付けた後に書き込みヘッドに電流を送り、ディスク状記録媒体上の磁気方向を制御することによってデータの書き込みを実施している。ところが書き込み回路の不具合、あるいは書き込みヘッドからの出力が十分に得られないような場合がある。このような場合磁気ディスク装置の制御部では正常に書き込み動作を実施しているにもかかわらず、実際にはディスク状記録媒体上の磁気方向が十分に変化せず、もって書き込み前のデータ（旧データ）がそのまま残ることがある。
【０００５】
その結果、上記の如く磁気ディスクから旧データが読み出されたような場合、読み出されたデータの内容自体には全く問題がない場合がある。このような場合、磁気ディスクアレイ装置の制御部では、旧データを読み出しているにもかかわらず、これをデータ異常として判断することができない。
【０００６】
このような問題に対し、従来は、大別して以下の２つの手法により、旧データの読み出しを防止し、或いはこれを検出していた。
【０００７】
１）磁気ディスクアレイ装置の制御部にてライトチェックを実施する。
【０００８】
この処理を実施する場合、更に以下に示す２種類の方法がある。
（ａ）データ書き込み処理の際にデータ読み出し処理行い、データ比較を行う。
（ｂ）ライトパトロールを実施する。
【０００９】
（ｂ）のライトパトロールにつき、以下に説明する。
【００１０】
上記旧データの読み出しは磁気ディスク装置の故障等により発生する。したがって、磁気ディスクアレイ装置の制御部が定期的に各磁気ディスク装置に対しライトパトロールを実施することで故障状態を発見する。即ちライトパトロールの際にエラーが検出された場合には当該ディスク装置の故障と判断し、当該磁気ディスク装置内のデータを無効化する。
【００１１】
このライトパトロールは以下の３ステップを有する。
（ｉ）磁気ディスク装置の専用パトロール領域に対するデータ書き込み；
（ｉｉ）このようにして書き込まれたデータの読み出し；及び
（ｉｉｉ）書き込みデータと読み出しデータとの内容比較である。
【００１２】
ステップ（ｉｉｉ）の結果内容の不一致が発見された場合にはエラー発生と判断する。
【００１３】
２）磁気ディスクアレイ装置にて夫々の記憶領域が統合的に管理されている各磁気ディスク装置毎にライトパトロールの実施を行う。
【００１４】
この場合の大略以下の２種類の方法がある。
（ａ）磁気ディスクアレイ装置の制御部からの書き込み命令に応じて各磁気ディスク装置が自動的にデータ書き込み／読み出し／データ比較を実施する。そしてその際にデータエラーを検出した場合、上記書き込み命令に対してエラーを応答する。磁気ディスクアレイ装置の制御部では当該エラー応答から、磁気ディスク装置に書き込みエラーが発生したことを検出する。
（ｂ）各磁気ディスク装置自身が自動的にライトパトロールを実施する。そしてエラー検出時はそれ以降のデータ読み出しを無効化する。
【特許文献１】特開平５−１６６３０４号公報
【特許文献２】特開２００２−３２２８５０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
上記の１），（ａ）、２）、（ａ）に示した如くの書き込みデータと読み出しデータとの間の内容比較を実施する場合、上位装置から磁気ディスクアレイ装置に対する書き込みデータの転送時間に加え、更に同容量の読み出しデータの処理時間を必要とする。その結果データ書き込み動作１回当りの処理時間が増加することとなり（オーバーヘッドの増加）、システム性能の低下を生じることになる。
【００１６】
また、上記１）、（ｂ）、２）、（ｂ）に示した如くのライトパトロールを実施する場合、パトロールとパトロールとの間の間隙においてはデータ保証が得られないと言う問題点が生ずる。
【００１７】
本発明は上記問題点に鑑み、磁気ディスクアレイ装置において磁気ディスク装置から読み出すデータの正当性検証のために冗長化構成を設けることによって各磁気ディスク装置での故障発生に対する信頼性を向上させる構成において、システム全体の性能を低下させず、且つデータ保証がなされない間隙の発生を防止することによって上記の如くの旧データの読み出しを確実に検出可能な構成を提供することを目的とする。
【課題を解決するための手段】
【００１８】
本発明では上記課題の解決のため、複数の記憶装置の各記憶装置へのデータの書き込みの際、所定の検証用データを所定の書き込み単位毎に付加して書き込むとともに、前記検証用データを、当該複数の記憶装置の記憶領域を統合的に管理する記憶装置の制御部に格納する構成とした。
【００１９】
このようにデータの書き込みの際に検証用データを付加して書き込んでおくとともに同検証用データを別途当該複数の記憶装置の記憶領域を統合的に管理する記憶装置の制御部でも管理しておく構成を設けることにより、データ読み出し時に相互の比較をすることで確実に読み出しデータの検証を行うことが可能となる。
【発明の効果】
【００２０】
本発明によればデータの読み出し時に検証用データのデータ比較を行うことによって読み出しデータの検証が可能となるため、データ書き込みの都度書き込まれたデータの検証を行う必要がない。このため処理のオーバーヘッドを効果的に削減可能である。
【００２１】
またデータ読み出しの際に読み出しデータの検証を行うため、ライトパトロールのみに頼ることによるライトパトロールの間隙におけるデータ保証の欠落を防止することが可能となる。
【発明を実施するための最良の形態】
【００２２】
本発明の実施の形態ではＲＡＩＤサブシステムにおいてディスク書き込みエラーの検出を効率的に実施することが可能な構成の実現を図る。
【００２３】
本発明の実施の形態によれば、所謂ＲＡＩＤサブシステムを構成する磁気ディスクアレイ装置において、当該磁気ディスクアレイ装置に含まれる各磁気ディスク装置に対する書き込みデータのブロック単位にチェックコードを付加する機能を設ける。
【００２４】
また、このようにして付加したチェックコードを磁気ディスクアレイ装置内の制御部（図１中、ディスクアレイコントローラ２０）にも同時に格納する。
【００２５】
そして各磁気ディスク装置からのデータ読み出しの際、上記の如く書き込みデータに付加されて書き込まれているチェックコードと制御部内に格納されたチェックコードとのデータ比較を実施する。
【００２６】
従来磁気ディスクアレイ装置ではユーザデータの信頼性向上を目的として各磁気ディスク装置への書き込みデータに対し、そのデータのブロック単位にチェックコードを付加することがなされている。
【００２７】
このチェックコードはデータのブロックの論理アドレスをシードにした巡回コード(ＣＲＣコード：Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｏｄｅ、以下「ＣＲＣデータ」と称する)である。このような構成のチェックコードを適用した場合、書き込みデータの内容の検証に加え、正しいアドレスから読み出されているデータであることが確認可能である。このようなＣＲＣデータの付加方法については、例えば特許文献１に開示されている。
【００２８】
このＣＲＣデータは磁気ディスクアレイ装置がホスト装置からユーザデータを受信した際に当該磁気ディスクアレイ装置の制御部内でユーザデータをブロック単位に分割した時点で付加される。そしてこのようにＣＲＣデータが付加されたユーザデータのブロックはそのまま磁気ディスク装置においてディスク状記録媒体（ハードディスク等）に書き込まれる。
【００２９】
そして、このようにして書き込まれたデータを磁気ディスク装置から読み出す際、磁気ディスクアレイ装置の制御部では磁気ディスク装置からの読み出しデータに基づいてＣＲＣデータを再計算する。そしてこのようにして再計算されたＣＲＣデータと、上記の如く磁気ディスク装置にユーザデータに付加して書き込まれていたＣＲＣデータとの比較を行う。そしてその比較の結果両者が一致した場合にはデータが期待値であり正しいと判断する。一方、両者が一致しない場合、読み出したデータが期待値と異なると判定し、当該データを無効とする。
【００３０】
本発明の実施の形態ではこのＣＲＣデータを、各磁気ディスク装置のディスク状記録媒体に書き込ませると共に磁気ディスクアレイ装置の制御部内のメモリ（キャッシュ等）にも格納する。この結果磁気ディスク装置からの読み出しデータから再計算されたＣＲＣデータと磁気ディスク装置から直接読み出したＣＲＣデータとの比較に加え、磁気ディスクアレイ装置の制御部のメモリ内のＣＲＣデータとの比較も可能となる。
【００３１】
即ち、上記の如く磁気ディスク装置の書き込み機能の不具合等により書き込みが失敗し結果的に旧データが維持された場合、その旧データが読み出された際には、上記の如く読み出しデータから再計算されたＣＲＣデータと磁気ディスク装置から直接読み出されたＣＲＣデータとは一致する場合がある。この場合には書き込み失敗を検出することはできない。これは上記の如くユーザデータにＣＲＣデータが付加されて書き込まれる際に書き込みが失敗した場合、その部分ではユーザデータ、ＣＲＣデータともに更新がなされず、もって両者とも旧状態が維持されるためである。
【００３２】
これに対し本発明の実施の形態では、上記の如く磁気ディスクアレイ装置の制御部のメモリ内にＣＲＣデータを保持する。このように磁気ディスクアレイ装置の制御部のメモリ内に保存されたＣＲＣデータは、上記の如く磁気ディスク装置側で書き込みの失敗が発生したような場合であっても、その影響を受けることがない。このため磁気ディスクアレイ装置の制御部のメモリ内には確実に当該更新にかかるＣＲＣデータが格納されることになる。
【００３３】
もって磁気ディスクアレイ装置の制御部のメモリ内の該当するＣＲＣデータは磁気ディスク装置から読み出された旧状態のユーザデータから再計算されたＣＲＣデータとは一致せず、また同様に磁気ディスク装置から直接読み出された旧状態のＣＲＣデータとも一致しないことになる。その結果書き込み失敗によるデータ誤りが確実に検出され得る。
【００３４】
また、仮に１４６ＧＢの容量を有するディスク状記録媒体に対して１ブロックを５２０バイトして８バイトのＣＲＣデータを付加した場合（図６参照）を想定し、それらＣＲＣデータの全量を磁気ディスクアレイ装置の制御部内のメモリに格納することを想定すると、１４６ＧＢ容量の磁気ディスク装置１台当り約２．２ＧＢのＣＲＣデータ格納領域が必要となる。
【００３５】
通常磁気ディスクアレイ装置では複数台の磁気ディスク装置を有しているため、このような想定に立った際に複数台の磁気ディスク装置の全台数分のＣＲＣデータを格納するために必要な記憶領域は膨大となり、磁気ディスクアレイ装置の高価格化及び物理容量増加の問題を生ずる可能性がある。
【００３６】
この問題の解決のため本発明の実施の形態では、ＣＲＣデータを磁気ディスクアレイ装置の制御部のメモリに保存する機能に加え、定期的にライトパトロールを実行する機能を設ける。そしてライトパトロールが正常終了した場合その時点までの書き込みは正常であったと判断し、もって旧データが各磁気ディスク装置に存在することがないと判断する。その判断に基づき、その時点までに保存していたＣＲＣデータを全て一旦消去（クリア）する。そして、当該ライトパトロール後新たに実行される書き込み動作に対し、その書き込みデータにかかるＣＲＣデータを磁気ディスクアレイ装置の制御部のメモリに保存する処理を再開する。
【００３７】
また、ＣＲＣデータの保存に際し、必ずしもＣＲＣデータの全体（上記例の場合、８バイト)を保存するのではなく、その一部を格納することとする。その結果磁気ディスクアレイ装置の制御部のメモリに保存するＣＲＣデータの保存量の増大を防ぎ、また確実に旧データの読み出しを防止することが可能となる。
【００３８】
また本発明の実施の形態ではデータ書き込み時にその都度書き込みデータと読み出しデータとを比較する動作を行なうことがないため効果的な処理のオーバーヘッドの削減が可能となる。その結果当該読み出しデータの検証機能によるシステム全体の性能への影響を最小限に収めることが可能となる。
【実施例１】
【００３９】
以下に図面と共に本発明の実施例について説明する。
【００４０】
図１は本発明の一実施例としての磁気ディスクアレイ装置１の概略構成を示す。
【００４１】
図中、当該磁気ディスクアレイ装置１は、ホスト装置とホストインタフェース（Ｉ／Ｆ）を介して接続されたディスクアレイコントローラ２０と、当該ディスクアレイコントローラ２０によりそれぞれの記憶領域が統合的に管理されている複数の磁気ディスク装置（ハードディスク装置）１０−１ａ、１０−２ａ、１０−３ａ．．．、１０−１ｂ、１０−２ｂ、１０−３ｂ、．．．（以下各磁気ディスク装置の符号を１０−ｉと表記する場合もある）よりなる磁気ディスク部とよりなる。尚、ディスクアレイコントローラ２０と磁気ディスク部とはディスクアクセスインタフェース（Ｉ／Ｆ）３０により接続されている。
【００４２】
同構成の磁気ディスクアレイ装置１では、ディスクアレイコントローラ２０により磁気ディスク部に含まれる複数の磁気ディスク装置１０−１ａ、１０−２ａ、１０−３ａ．．．、１０−１ｂ、１０−２ｂ、１０−３ｂ、．．．のそれぞれのディスク状記録媒体（ハードディスク）の記憶領域を統合して一の論理ボリュームとして管理している。そしてこの論理ボリュームに対し、ホスト装置からの書き込み要求に従ってユーザデータを書き込み、或いは読み出し要求に応じてこれを読み出してホスト装置に転送する。
【００４３】
図２は上記磁気ディスクアレイ装置１のディスクアレイコントローラ２０による、ＣＲＣデータを適用した読み出しデータ検証機能に関する機能ブロック図である。
【００４４】
図３は、同ディスクアレイコントローラ２０にて実施されるユーザデータ書き込み動作の動作フローチャートを示す。
【００４５】
図示如く、ディスクアレイコントローラ２０では、ホスト装置から書き込み要求命令に伴って転送されるユーザデータＤ１に対し、所定の処理によって当該ユーザデータＤ１を格納すべき磁気ディスク装置１０−ｉを決定すると共に、格納すべき論理ブロックアドレス（ＬＢＡ：Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓ)を決定する。
【００４６】
そしてＣＲＣ制御部２１にて上記の如くの方法によりＣＲＣデータを算出する（ステップＳ１，Ｓ２）。
【００４７】
即ちユーザデータのブロック単位（例：５１２バイト、図２中、（１）、（２）、（３）、．．．）に、ＣＲＣデータ(（１）’、（２）’、（３）’、．．．)をそれぞれ生成する。そして、この生成されたＣＲＣデータを各ブロック（１）、（２）、（３）、．．．にそれぞれ付加した状態（データＤ３）で、ディスクＩ／Ｆ制御部２２経由で当該磁気ディスク装置１０−ｉのディスク状記録媒体中、上記ＬＢＡに対する書き込みを行う（ステップＳ３、Ｓ５）。
【００４８】
このとき、ステップＳ２にて生成されたＣＲＣデータ(例：８バイト)のうちの一部(例：１バイト)のみをディスクアレイコントローラ２０が有するキャッシュメモリ２３に予め設けられたＣＲＣデータ格納領域２３ａに格納する（ステップＳ４）。その際、当該ディスク装置１０−ｉの個体番号を示すディスク番号及び当該ブロックアドレスＬＢＡとの対応関係を持たせた上でＣＲＣデータを格納する（図２参照）。
【００４９】
図４は、同ディスクアレイコントローラ２０にて実施されるユーザデータ読み出し動作の動作フローチャートを示す。
【００５０】
ホスト装置からの読み出し要求に応じて磁気ディスク装置１０−ｉからユーザデータを読み出す際、ディスクアレイコントローラ２０のＣＲＣ制御部２１では当該磁気ディスク装置より読み出されたブロック毎のユーザデータからＣＲＣデータを再計算する（ステップＳ１１，Ｓ１２）。
【００５１】
次に、上記ＣＲＣデータ格納領域２３ａ内の該当するＬＢＡと対応関係を有するＣＲＣデータを読み出し（ステップＳ１３、Ｓ１４）、これと、ステップＳ１２にて当該ブロックのユーザデータ（（１）、（２）、（３）等）と共に磁気ディスク装置１０−ｉにより読み出された、上記の如く当該ユーザデータに付加して書き込まれているＣＲＣデータ（（１）’、（２）’（３）’等）とのデータ比較を行う（ステップＳ１５）。
【００５２】
この動作により、仮に更新前の旧データが読み出された場合であってもこれが検出され、もって上位装置に転送されることが確実に防止され得る。即ち上述の如く、当該データの書き込みの際の不具合により実際には該当するＬＢＡにおけるデータ更新がなされず旧データ（旧ユーザデータ＋旧ＣＲＣデータ）が維持されており、これが読み出されたような場合であっても、ＣＲＣデータ格納領域２３ａに該当するＬＢＡに対応付けられて格納されているＣＲＣデータは当該更新にかかるものである。その結果、このような場合には確実に両ＣＲＣデータのデータ比較の結果は不一致となり、データ誤りが確実に検出され得る。その結果データ誤りの無い読み出しデータをホスト装置に提供することが可能となる。
【００５３】
尚、ステップＳ１３にて該当するＣＲＣデータがＣＲＣデータ格納領域２３ａに存在するか否かを判定している。そしてこの判定の結果該当するＣＲＣデータがない場合、当該ユーザデータを磁気ディスクアレイ装置１０−ｉに書き込んだ際ＣＲＣデータ格納領域２３ａに格納されたはずのＣＲＣデータによる読み出しデータの検証動作（ステップＳ１５）は実行できない。したがってこの場合ステップＳ１４，Ｓ１５をスキップし、直接ステップＳ１６を実行する。
【００５４】
ステップＳ１５におけるデータ比較の結果両ＣＲＣデータが一致した場合（ステップＳ１５のＹｅｓ）、更にステップＳ１６にて、前記ステップＳ１２において磁気ディスク装置１０−ｉから読み出されたユーザデータから再計算されたＣＲＣデータと、上記ステップＳ１２にて当該ブロックのユーザデータ（（１）、（２）、（３）等）と共に直接読み出された付加ＣＲＣデータ（（１）’、（２）’（３）’等）とのデータ比較を行う（ステップＳ１６）。
【００５５】
この動作により、磁気ディスク装置１０−ｉにおいてディスク状記録媒体に書き込まれたユーザデータの損傷の有無等の確認が可能となり、データ誤りが発見されればこの段階で対処し得る。よってデータ誤りの無い読み出しデータをホスト装置に提供することが可能となる。
【００５６】
ステップＳ１６におけるデータ比較の結果両ＣＲＣデータが一致の場合、ステップＳ１１にて読み出されたユーザデータは正常と判断する（ステップＳ１８）。
【００５７】
他方ステップＳ１５の結果が両ＣＲＣデータ不一致の場合、或いはステップＳ１６の比較の結果両ＣＲＣデータ不一致の場合、データ異常と判断し、当該読み出しデータを無効化する処理を行う（ステップＳ１７）。
【００５８】
次に上記ＣＲＣデータのＣＲＣデータ格納領域２３ａへの格納について説明する。
【００５９】
本実施例ではホスト装置から転送されてきたユーザデータの１ブロック長を５１２バイトとし、ＣＲＣ制御部２１においてそこから８バイトのＣＲＣデータを生成する。
【００６０】
具体的には図６（ａ）に示される如くの１ブロックのユーザデータに対し、同図（ｂ）に示す如く８バイトのＣＲＣデータを生成する。本実施例ではこの８バイトのデータの全てをＣＲＣデータ格納領域２３ａに格納するのではなく、その８バイト目（ｘ０７ｈ）を抽出し、これをＣＲＣデータ格納領域２３ａに保存する。
【００６１】
また本実施例では上記の如く、さらに定期的にライトパトロール（詳細後述）を実行し、その際に異常が検出されない場合には該当するＣＲＣデータ格納領域２３ａの内容を消去（クリア）する。このような処理によってＣＲＣデータ格納領域２３ａのデータ量が増大することを防止する。以下にこのライトパトロール動作につき、説明する。
【００６２】
ディスクアレイコントローラ２０はその配下にある、上記磁気ディスク部に含まれる全磁気ディスク装置１０−１ａ、１０−２ａ，１０−３ａ、．．．、１０−１ｂ、１０−２ｂ、１０−２ｃ、．．．に対し、定期的にライトパトロール動作を実行する。
【００６３】
このライトパトロールでは以下の項目の処理を実施し、磁気ディスク装置１０−ｉ単位に正常にデータ書き込みが実施されることを確認する。
（１）ディスクアレイコントローラ２０は、予め各磁気ディスク装置１０−ｉが有するディスク状記録媒体の記憶領域中に、ライトパトロールを実行するためのシステム領域を設ける。このシステム領域はユーザデータが格納される領域とは別途に設けられ、共有はなされない構成とする。
【００６４】
さらに本システム領域は各磁気ディスク装置１０−ｉに含まれる全書き込みヘッドがそれぞれ書き込み対象とする領域を含むものとする。ライトパトロール時に各書き込みヘッドの性能をチェックするためである。
（２）実際のライトパトロールの際には本システム領域に対し所定のダミーデータの書き込みを行い、続いて当該データの読み出しを行う。そして書き込みデータと読み出しデータとの一致・不一致を判定する。
（３）このときライトパトロールでのデータ書き込み、データ読み出しの間はホスト装置からのアクセス処理を許可しないものとする。
（４）そしてこのライトパトロールによって異常が検出されなかった磁気ディスク装置１０−ｉについてはその時点までの書き込みデータは正常であるものと判定し、当該磁気ディスク装置１０−ｉに関する、ＣＲＣデータ格納領域内２３ａ中のデータを消去（クリア）する。
【００６５】
このライトパトロール動作を定期的に実行することによってＣＲＣデータ格納領域内２３ａのデータ量の増大が防止されるとともに、ユーザデータ領域における書き込みデータの正当性のチェックも同時に検証可能となる。即ち、このライトパトロールにおいて正常の判定がなされた場合、当該磁気ディスク装置における各書き込みヘッドによるデータ書き込み性能が正常であることが確認されたことになる。したがってその時点までに当該磁気ディスク装置内で書き込まれたユーザデータは全て正常に書き込まれていたと判断して良いことになる。
【００６６】
図５はこのライトパトロール動作の動作フローチャートを示す。
【００６７】
図中、ステップＳ２１ではディスクアレイコントローラ２０内の所定の設定条件によりライトパトロール動作が許可されているか否かを判定する。許可されている場合（Ｙｅｓ）、ステップＳ２２にてライトパトロール動作を実行し、ステップＳ２３にて当該ライトパトロールが正常終了したか否かを判定する。
【００６８】
正常終了でなかった場合ステップＳ２４にて当該磁気ディスク装置１０−ｉを故障と判断する。
【００６９】
他方正常終了であった場合、即ち上記システム領域に対する書き込みデータ及び読み出しデータが一致した場合、ステップＳ２５にて当該磁気ディスク装置１０−ｉに関するＣＲＣデータ格納領域２３ａ内のデータを消去する。
【００７０】
そしてステップＳ２６にて、図３と共に説明した手順にしたがって、ホスト装置から転送されたデータの書き込み時に生成されたＣＲＣデータの一部（ｘ０７ｈ）をＣＲＣデータ格納領域２３ａに書き込む動作を開始する。
【００７１】
そしてステップＳ２７にてＣＲＣデータ格納領域２３ａ内に残された書き込み可能な記憶容量を調べ、その結果十分な容量が残っていない場合、その時点でステップＳ２２に戻って再度ライトパトロールを実施する。
【００７２】
他方、ステップＳ２７の判定の結果ＣＲＣデータ格納領域２３ａに十分に容量が残っている場合、ステップＳ２８にて、前回ライトパトロールを実施してからの経過時間と所定のライトパトロール実行間隔時間との比較により、次回のライトパトロール動作の実行時間に至っているか否かを判定する。
【００７３】
その結果次回のライトパトロール実行時間に至っていた場合、ステップＳ２２に戻ってライトパトロールを実施する。
【００７４】
ホスト装置からの書き込み要求の頻度によっては所定のライトパトロール実行間隔時間経過前にＣＲＣデータ格納領域２３ａの残容量が不足する場合も考えられる。そのためステップＳ２７にてこの残容量を判定し、判定の結果残容量が不足の場合にはその時点でライトパトロールを実施する（ステップＳ２２）。
【００７５】
このような構成とすることにより、ホスト装置からの書き込み要求が高頻度になされ、その結果所定のライトパトロール実行間隔時間経過前にＣＲＣデータ格納領域２３ａの残容量が不足した場合であっても、ＣＲＣデータの格納ができなくなり結果的にその書き込み部分に対する読み出しデータの検証が実施できなくなるというような事態を事前に防止可能となる。
【００７６】
一例として上記所定のライトパトロール実行間隔時間を３秒とした場合、３秒ごとにライトパトロールが実施される。そしてライトパトロールの正常終了の場合（ステップＳ２３のＹｅｓ）には当該磁気ディスク装置１０―ｉに関するＣＲＣデータの保存データが一旦全てクリアされ、それ以後に書き込まれるブロックのＣＲＣデータの保存が開始される。そしてＣＲＣデータ格納領域の残量、あるいはライトパトロール実行間隔時間(３秒)が監視され（ステップＳ２７，Ｓ２８）、必要に応じ次回のライトパトロールが実施される（ステップＳ２２）。
【００７７】
図７は上記ライトパトロール実行間隔時間を説明するためのタイムチャートである。
【００７８】
同図に示す如く、ＣＲＣデータ格納領域２３ａの格納データは、少なくともライトパトロール実行間隔毎に実行されるライトパトロール動作毎にクリアされる。このため、ＣＲＣデータ格納領域２３ａの所要容量を効果的に削減可能である。
【００７９】
図８はライトパトロール動作の詳細を示すシーケンス図である。
【００８０】
図示のごとく、図５のステップＳ２２におけるライトパトロール実行の際には、ディスクアレイコントローラ２０は該当する磁気ディスク装置１０−ｉのディスク状記録媒体に設けられたシステム領域に対してダミーデータを書き込むように磁気ディスク装置１０−ｉに対して指示を出す（ステップＳ３１）。
【００８１】
この指示に対し、当該磁気ディスク装置１０−ｉからは、当該ダミーデータ書き込み処理が正常に終了したとの報告が発せられる（ステップＳ３２）。これを受けるとディスクアレイコントローラ２０は、このようにして該当する磁気ディスク装置１０−ｉのディスク状記録媒体中のシステム領域に書き込まれたダミーデータを読み出すように磁気ディスク装置１０−ｉに対して指示を出す（ステップＳ３３）。
【００８２】
この指示に対し、当該磁気ディスク装置１０−ｉからは、当該処理が正常に終了したとの報告が発せられる（ステップＳ３４）。これを受けるとディスクアレイコントローラ２０は、ステップＳ３１にて行った書き込み指示にかかるダミーデータと、ステップＳ３４にて正常終了報告と共に受信された読み出しデータとのデータ比較を実施する（ステップＳ４１）。
【００８３】
そしてその比較の結果両者が不一致の場合、当該磁気ディスク装置１０−ｉが故障と判断し（ステップＳ４２）、図５のステップＳ２４に移行する。他方両者が一致との判定がなされた場合、図５のステップＳ２５に移行する。
【００８４】
このようなライトパトロール動作は、当該磁気ディスクアレイ装置１に含まれる個々の磁気ディスク装置１０−ｉの各書き込みヘッドが書き込み対象とするシステム領域の全てに対し順次定期的に実施される。
【００８５】
また更に、このような各磁気ディスク装置１０−ｉに対するライトパトロール動作は、当該磁気ディスクアレイ装置１の管理下の全ての磁気ディスク装置１０−１ａ、１０−２ａ、１０−３ａ、．．．、１０−１ｂ、１０−２ｂ、１０−３ｂ、．．．に対し、順次定期的に実施される。
【００８６】
尚、コンピュータに図３乃至８と共に説明した動作を実行させるための命令よりなるプログラムを作成し、これをコンピュータのＣＰＵに読み込ませて実行させることにより、図２に示すディスクアレイコントローラ１０のＣＲＣ制御部２１の機能を実現することが可能である。
【００８７】
またそのプログラムは、例えばＣＤ−ＲＯＭ等の可搬式記録媒体に記録しておきこれをコンピュータにて読み出し上でインストールし、或いはインターネット、ＬＡＮ等のネットワーク経由で外部サーバから当該コンピュータにダウンロードした後これをインストールした上でＣＰＵに実行させることが可能である。
【００８８】
本発明は以下の付記に記載の構成にて実施可能である。
（付記１）
複数の記憶装置の記憶領域を統合的に管理する構成の記憶装置であって、
前記複数の記憶装置中の各記憶装置へのデータの書き込みの際、所定の検証用データを所定の書き込み単位毎に付加して書き込む手段と、
前記検証用データを前記複数の記憶装置を統合して制御する制御部にて格納する手段とよりなる記憶装置。
（付記２）
更に、前記複数の記憶装置中の各記憶装置からのデータの読み出しの際に得られた、当該記憶装置に対し書き込みデータに付加して書き込まれた検証用データと、前記制御部にて格納された検証用データとを比較する手段よりなる付記１に記載の記憶装置。
（付記３）
更に、少なくとも定期的に前記複数の記憶装置中の各記憶装置に対する書き込み検証動作を行い、その結果が正常であった場合には当該記憶装置に関する前記制御部に格納されたデータを消去する手段よりなる付記１または２に記載の記憶装置。
（付記４）
前記検証用データはＣＲＣデータよりなる付記１乃至３の内の何れかに記載の記憶装置。
（付記５）
複数の記憶装置の記憶領域を統合的に管理する構成の記憶装置の制御方法であって、
前記複数の記憶装置中の各記憶装置へのデータの書き込みの際、所定の検証用データを所定の書き込み単位毎に付加して書き込む段階と、
前記検証用データを前記複数の記憶装置を統合して制御する制御部にて格納する段階とよりなる記憶装置の制御方法。
（付記６）
更に、前記複数の記憶装置中の各記憶装置からのデータの読み出しの際に得られた、当該記憶装置に対し書き込みデータに付加して書き込まれた検証用データと、前記制御部にて格納された検証用データとを比較する段階よりなる付記５に記載の記憶装置の制御方法。
（付記７）
更に、少なくとも定期的に前記複数の記憶装置中の各記憶装置に対する書き込み検証動作を行い、その結果が正常であった場合には当該記憶装置に関する前記制御部に格納されたデータを消去する段階よりなる付記５または６に記載の記憶装置の制御方法。
（付記８）
前記検証用データはＣＲＣデータよりなる付記５乃至７の内の何れかに記載の記憶装置の制御方法。
（付記９）
複数の記憶装置の記憶領域を統合的に管理する構成の記憶装置の制御をコンピュータに実行させるためのプログラムであって、
前記複数の記憶装置中の各記憶装置へのデータの書き込みの際、所定の検証用データを所定の書き込み単位毎に付加して書き込む段階と、
前記検証用データを前記複数の記憶装置を統合して制御する制御部にて格納する段階とをコンピュータに実行させるための命令よりなるプログラム。
（付記１０）
更に、前記複数の記憶装置中の各記憶装置からのデータの読み出しの際に得られた、当該記憶装置に対し書き込みデータに付加して書き込まれた検証用データと、前記制御部にて格納された検証用データとを比較する段階をコンピュータに実行させるための命令よりなる付記９に記載のプログラム。
（付記１１）
更に、少なくとも定期的に前記複数の記憶装置中の各記憶装置に対する書き込み検証動作を行い、その結果が正常であった場合には当該記憶装置に関する前記制御部に格納されたデータを消去する段階をコンピュータに実行させるための命令よりなる付記９または１０に記載のプログラム。
（付記１２）
前記検証用データはＣＲＣデータよりなる付記９乃至１１の内の何れかに記載のプログラム。
（付記１３）
前記付記９乃至１２の内の何れかに記載のプログラムを格納したコンピュータ読み取り可能な情報記録媒体。
【図面の簡単な説明】
【００８９】
【図１】本発明の一実施例による磁気ディスクアレイ装置の概略構成を示すブロック図である。
【図２】図１中のディスクアレイコントローラのＣＲＣデータ生成・付加機能を説明するための機能ブロック図である。
【図３】図２に示されるディスクアレイコントローラによる、各磁気ディスク装置に対してデータを書き込む際の動作フローチャートである。
【図４】図２に示されるディスクアレイコントローラによる、各磁気ディスク装置からデータを読み出す際の動作フローチャートである。
【図５】図２に示されるディスクアレイコントローラによるライトパトロール動作の動作フローチャートである。
【図６】図２に示されるディスクアレイコントローラによって生成されるＣＲＣデータの構成について説明するための図である。
【図７】図２に示されるディスクアレイコントローラによって実行されるライトパトロール動作中のＣＲＣデータクリア処理のタイミングについて説明するためのタイムチャートである。
【図８】図２に示されるディスクアレイコントローラによって実行されるライトパトロール動作の流れについて説明するためのシーケンス図である。
【符号の説明】
【００９０】
１  磁気ディスクアレイ装置
１０−ｉ、１０−１ａ、１０−２ａ、１０−３ａ、．．．、１０−１ｂ、１０−２ｂ、１０−３ｂ、．．．  磁気ディスク装置
２０  ディスクアレイコントローラ
２３ａ  ＣＲＣデータ格納領域
【図１】
2006268524.tif 000003
【図２】
2006268524.tif 000004
【図３】
2006268524.tif 000005
【図４】
2006268524.tif 000006
【図５】
2006268524.tif 000007
【図６】
2006268524.tif 000008
【図７】
2006268524.tif 000009
【図８】
2006268524.tif 000010