JP3964629B2 - Data path abnormality detection method by patrol of disk array device and computer system provided with disk array device - Google Patents
Data path abnormality detection method by patrol of disk array device and computer system provided with disk array device Download PDFInfo
- Publication number
- JP3964629B2 JP3964629B2 JP2001132947A JP2001132947A JP3964629B2 JP 3964629 B2 JP3964629 B2 JP 3964629B2 JP 2001132947 A JP2001132947 A JP 2001132947A JP 2001132947 A JP2001132947 A JP 2001132947A JP 3964629 B2 JP3964629 B2 JP 3964629B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- disk array
- host computer
- redundant code
- disk
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Detection And Correction Of Errors (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、ホストコンピュータとディスクアレイ装置との間のデータパスなどの異常を検出するのに好適なディスクアレイ装置のパトロールによるデータパス異常検出方法及びディスクアレイ装置を備えたコンピュータシステムに関する。
【0002】
【従来の技術】
複数のディスク記憶装置を有し、ホストコンピュータとの間でデータを授受するディスクアレイ装置では、ホストコンピュータとのインターフェース(ホストインターフェース)に、SCSI(Small Computer System Interface)等の標準化されたインターフェースが使用されるのが一般的である。このようなホストコンピュータとディスクアレイ装置とが接続されたコンピュータシステムでは、データ保護の機構として、ホストインターフェースがSCSIインターフェースの例では、パリティチェック回路を使用している。
【0003】
【発明が解決しようとする課題】
上記したように従来は、ホストコンピュータとの間でデータを授受するディスクアレイ装置を備えたコンピュータシステムでは、データ保護の機構として、ホストインターフェースがSCSIインターフェースの例では、パリティチェック回路を使用するのが一般的であった。
【0004】
しかしながら、パリティによる保護は、1データ単位(例えば1バイト単位)の確認であることから、データブロック(例えばセクタサイズのデータブロック)として考えた場合のデータずれ、データ抜けなどに対する検出には効果がないという問題があった。
【0005】
そこで、データブロック単位で、CRC(Cyclic Redundancy Check)等の冗長コード(データチェックコード)を付加する方法も考えられる。しかし、この方式では、標準化されたインターフェースの中で、特別な動作を要求することになり、動作に制限が加えられることになる。
【0006】
本発明は上記事情を考慮してなされたものでその目的は、ホストコンピュータから転送されるライトデータ自身に、データ保護のための冗長コードがついていない場合でも、ホストコンピュータとディスクアレイ装置内のディスク記憶装置との間におけるターゲットとなるデータパスの異常によりデータ誤りを起こした場合の検出率を向上させることができるディスクアレイ装置のパトロールによるデータパス異常検出方法及びディスクアレイ装置を備えたコンピュータシステムを提供することにある。
【0007】
【課題を解決するための手段】
本発明は、監視プログラムが動作するホストコンピュータと、複数のディスク記憶装置を含むディスクアレイ、及びキャッシュメモリを内蔵するディスクアレイコントローラから構成されたディスクアレイ装置とを備えたコンピュータシステムにおいて、上記ホストコンピュータからディスクアレイ装置に発行されたライト要求が予め設定されたタイミングに合致する場合に、当該ライト要求に応じてホストコンピュータからディスクアレイ装置に転送されてキャッシュメモリに書き込まれたライトデータの第1の冗長コードを予め設定されたサイズのデータブロックを単位に生成しておき、次にホストコンピュータからディスクアレイ装置に対し、ホストコンピュータとディスクアレイ装置との間のデータパス監視のための問い合わせが上記監視プログラムに従って上記タイミングに対応してなされた場合に、その際に生成されている第1の冗長コード及び対応するデータを指定するためのデータ指定情報をディスクアレイ装置からホストコンピュータに通知し、この通知を受けたホストコンピュータでは、通知されたデータ指定情報の指定するデータを上記キャッシュメモリからホストコンピュータに読み出して、そのデータの第2の冗長コードを上記監視プログラムに従って上記データブロックを単位に生成し、生成した第2の冗長コードを上記通知された第1の冗長コードと比較することで、少なくとも当該比較結果に基づいてホストコンピュータとディスクアレイ装置との間のデータパスの異常の有無を判定することを特徴とする。
【0008】
このような構成において、ホストコンピュータから例えばアプリケーションプログラムに従って発行されるライト要求が予め設定されたタイミングに合致する場合にだけ、そのライト要求に応じてホストコンピュータからディスクアレイ装置に転送されてディスクアレイコントローラ内のキャッシュメモリに一時記憶されたデータの第1の冗長コードが生成される。また、ホストコンピュータからディスクアレイ装置には上記のタイミングに対応してデータパス監視のための問い合わせが送られ、この問い合わせに対して上記第1の冗長コードとデータ指定情報とがホストコンピュータに通知される。これによりホストコンピュータは、通知されたデータ指定情報の指定するデータ、即ち上記第1の冗長コードの生成に用いられた上記キャッシュメモリ上のデータを読み出して、そのデータの第2の冗長コードを生成し、上記第1の冗長コードと比較することで、ホストコンピュータとディスクアレイ装置との間のデータパス(更に詳細に述べるならば、ホストコンピュータとディスクアレイコントローラ内のキャッシュメモリとの間のデータパスの異常、つまり当該パス上のいずれかの回路の異常)を判定する。
【0009】
このように本発明においては、ディスクアレイ装置側でのライトデータに対する第1の冗長コード生成は、監視プログラムからの設定に従ってアプリケーションプログラムから独立に行われ、またホストコンピュータ側でのディスクアレイ装置に対する問い合わせと当該問い合わせに対する応答から取得したデータ指定情報の指定するデータの読み出しと第2の冗長コードの生成、及び第1及び第2の冗長コードの比較は、監視プログラムに従って、アプリケーションプログラムとの間で通信を行うことなく当該アプリケーションプログラムから独立に行われる。
【0010】
なお、一般には、ホストコンピュータ上で動作する監視プログラムにより当該ホストコンピュータとディスクアレイ装置との間のデータパスをチェックするには、ホストコンピュータからディスクアレイ装置に対してライト・リードコンペアテストを行うことが最も確実で簡便である。しかし、データを確実に保護するためには、アプリケーションプログラムとデータの情報を授受する処理が必要となる。これに対して本発明では、アプリケーションプログラムの動作と関係せずに、データパスの確認を行うことができる。
【0011】
ここで、アプリケーションプログラムの動作と関係せずに、データパスの確認を行うには、上記タイミングとして、監視プログラムに従って予め設定される時間間隔またはライト要求回数の間隔を適用するとよい。
【0012】
また、アプリケーションプログラムの動作と関係せずにデータパスが確認できるようにしていることから、第1の冗長コードの生成に用いられたデータが第2の冗長コードの生成に用いられる前に更新される可能性がある。この場合、第2の冗長コードは更新後のデータをもとに生成されることになるから、上記データパスの異常の有無に無関係に、第1及び第2の冗長コードは一致しなくなる。そこで、第1及び第2の冗長コードが不一致の場合、ホストコンピュータからディスクアレイ装置に対してキャッシュメモリ上の元のデータが更新されているか否かを問い合わせ、更新されていない旨の応答が返された場合に限り、上記データパスの異常を判定するとよい。
【0013】
また本発明は、第1の冗長コードの生成に用いられたキャッシュメモリ上のデータの写しを、ホストコンピュータからの監視プログラムに従う専用のリード要求によってのみ読み出しが可能な当該キャッシュメモリ上の別の特定領域に保持しておき、第1の冗長コードの生成に用いられたキャッシュメモリ上の元のデータではなくて、そのデータの写し、即ち上記特定領域のデータを上記専用のリード要求を用いて読み出して、その読み出したデータから第2の冗長コードを生成するようにしたことをも特徴とする。
【0014】
このような構成においては、第2の冗長コードの生成に用いられるデータ、即ち上記特定領域のデータがアプリケーションプログラム等に従うライト要求により更新されるのを防止できる。
【0015】
また本発明は、ホストコンピュータから転送されてキャッシュメモリに書き込まれたライトデータをディスク記憶装置に書き込む際に、当該データの写しを当該ディスク記憶装置の別の特定領域に書き込むと共にキャッシュメモリ上の上記データをアプリケーションプログラムから見えない無効データで且つチェック用データとし、上記ディスク記憶装置の特定領域に書き込まれたデータをディスクアレイコントローラに読み出して、キャッシュメモリ上の元のデータと比較することで、ディスクアレイコントローラと前記ディスク記憶装置との間のデータパスの異常の有無を判定することをも特徴とする。ここでも、全ライトデータでなく、キャッシュメモリからディスク記憶装置へのライトデータの書き込みが予め設定された間隔(時間間隔または書き込み回数の間隔)に合致した際のライトデータについて、処理するとよい。
【0016】
このような構成においては、ディスク記憶装置に書き込まれたキャッシュメモリ上のデータをアプリケーションプログラムから見えない無効データで且つチェック用データとして、更新から保護すると共に、ディスク記憶装置に書き込まれたデータの写しを当該ディスク記憶装置の別の特定領域に保存して、当該データの写しを更新から保護するようにしたので、つまりデータを破壊する要因をなくすようにしたので、この特定領域のデータを読み出してキャッシュメモリ上の元のデータ(チェック用データ)と比較することで、ディスクアレイコントローラとディスク記憶装置との間のデータパスの異常の有無を正しく判定することが可能となる。
【0017】
この他に、ホストコンピュータから転送されてキャッシュメモリに書き込まれたライトデータをディスク記憶装置に書き込む際に、当該データの第3の冗長コードを生成してディスクアレイコントローラ内に保持しておく一方、この第3の冗長コードの生成に用いられたディスク記憶装置内のデータをディスクアレイコントローラに読み出して当該データの第4の冗長コードを生成し、この第4の冗長コードを先に生成されている第3の冗長コードと比較することでも、ディスクアレイコントローラとディスク記憶装置との間のデータパスの異常の有無を判定することが可能である。
【0018】
以上のディスクアレイ装置のパトロールによるデータパス異常検出方法に係る本発明は、ホストコンピュータとディスクアレイ装置とから構成されるコンピュータシステムに係る発明、或いはディスクアレイコントローラに係る発明としても成立する。
【0019】
【発明の実施の形態】
以下、本発明の実施の形態につき図面を参照して説明する。
【0020】
図1は本発明の一実施形態に係るコンピュータシステムの構成を示すブロック図である。
図1のコンピュータシステムは、ディスクアレイ装置10と当該ディスクアレイ装置10を利用するホストコンピュータ20とから構成される。
【0021】
ディスクアレイ装置10は、複数のディスク記憶装置、例えばハードディスク装置(以下、HDDと称する)110を備えたディスクアレイ11と当該ディスクアレイ11を制御するコントローラ(ディスクアレイコントローラ)12とから構成される。
【0022】
ディスクアレイコントローラ12は、主制御部120と、ホストインターフェース121と、各HDD110毎に設けられたディスクインターフェース122と、キャッシュメモリ装置123とを備えている。この主制御部120、ホストインターフェース121、ディスクインターフェース122及びキャッシュメモリ装置123は、データ転送用バス124により相互接続されている。データ転送用バス124は、例えば標準バスとして知られているPCIバス(Peripheral
Component Interconnect Bus)である。
【0023】
主制御部120は、マイクロプロセッサ125と、当該マイクロプロセッサ125が実行する制御プログラム(ファームウェア)を記憶したROM(Read Only Memory)126と、当該プログラムの実行時に使用されるRAM(Random Access Memory)127とを有するマイクロプロセッサ部である。マイクロプロセッサ125は、各インターフェース121,122とキャッシュメモリ装置123との間のデータ転送の制御を行う。
【0024】
ホストインターフェース121は、ホストコンピュータ20と接続されており、当該ホストコンピュータ20とのインターフェースをなす。ホストインターフェース121は、ホストコンピュータ20との間のデータ転送の制御と、ホストコンピュータ20からのデータをデータ転送用バス124を介してキャッシュメモリ装置123または(マイクロプロセッサ125が使用する)RAM127に転送する制御と、キャッシュメモリ装置123またはRAM127のデータをホストコンピュータ20に転送する制御とを行う。
【0025】
ディスクインターフェース122は、HDD110と接続されており、データ転送用バス124とHDD110との間のデータ転送を行うための手順等の制御を司る。具体的には、ディスクインターフェース122は、HDD110からのデータをキャッシュメモリ装置123またはRAM127に転送する制御と、キャッシュメモリ装置123またはRAM127のデータをHDD110に転送する制御とを行う。
【0026】
キャッシュメモリ装置123は、HDD110とホストコンピュータ20との間の転送データを一時記憶するためのキャッシュメモリ128と、当該キャッシュメモリ128を制御するキャッシュ制御LSI129とを有する。キャッシュメモリ128には特定領域128aが確保されている。この領域128aは、HDD110とホストコンピュータ20との間の転送データを記憶するためのキャッシュ領域とは別に管理される。領域128aは、後述するデータアドレス、サイズ及びCRCコード列を一時保持するのに用いられる。
【0027】
ホストコンピュータ20上では、ユーザが目的とする処理を行うために使用される各種アプリケーションプログラム21と、サポートプログラム22とが並行して動作する。このサポートプログラム22は、ホストコンピュータ20をディスクアレイ装置10の監視及び当該ディスクアレイ装置10に対する各種の設定を行う監視手段として機能させるための監視ソフトウェアである。
【0028】
次に、図1の構成の動作について、ホストコンピュータ20からのディスクアレイ装置10を対象とするパトロールにより、当該ホストコンピュータ20とディスクアレイ装置10との間のデータパスの異常を検出する処理(第1のデータパス異常検出処理)と、ディスクアレイ装置10内のディスクアレイコントローラ12とHDD110との間のデータパスの異常を検出する処理(第2のデータパス異常検出処理)を例に説明する。
【0029】
まず、データパス異常検出処理の理解を容易にするために、ホストコンピュータ20からディスクアレイ装置10にデータのライト/リードを要求した際の従来から知られているデータの流れについて、図2を参照して説明する。
【0030】
<ライトデータの流れ>
ホストコンピュータ20からのライト要求(ライトコマンド)、例えばアプリケーションプログラム21に従うライト要求は、図2中のパスA1を介して、即ちディスクアレイ装置10内のディスクアレイコントローラ12のホストインターフェース121、及びデータ転送用バス124を介して主制御部120内のRAM127に転送される。
【0031】
また、ホストコンピュータ20からのデータ(ライトデータ)は、図2中のパスA2を介して、即ちディスクアレイコントローラ12のホストインターフェース121、及びデータ転送用バス124を介してキャッシュメモリ装置123に転送され、当該キャッシュメモリ装置123内のキャッシュ制御LSI129の制御によりキャッシュメモリ128に一時記憶される。
【0032】
さて、図1中のディスクアレイ装置10では、ホストコンピュータ20からのライト要求に対し、ライデータをキャッシュメモリ128に書き込んだ段階で、ライト要求の実行完了をホストコンピュータ20に返す、いわゆるライトバックキャッシュ方式を適用している。
【0033】
そこでディスクアレイコントローラ12内のマイクロプロセッサ125は、ライト要求の実行完了がホストコンピュータ20に返された後、当該ライト要求を解釈して、ライトデータの分割先HDD110を決定する。そしてマイクロプロセッサ125は、ディスクアレイコントローラ12内の対応するディスクインターフェース122にライト指示を送ることで、キャッシュメモリ128上の該当するライトデータを、図2のパス中のパスA3を介して、即ちデータ転送用バス124、ディスクインターフェース122を介してHDD110に転送させる。
【0034】
<リードデータの流れ>
ホストコンピュータ20からのリード要求(リードコマンド)は、図2中のパスA1を介してディスクアレイコントローラ12内のRAM127に転送される。
【0035】
ディスクアレイコントローラ12内のマイクロプロセッサ125は、ホストコンピュータ20からのリード要求を解釈し、当該要求で指定されたデータがキャッシュメモリ128上に存在するか否かをキャッシュ制御LSI129により判定させる。
【0036】
もし、リード要求で指定されたデータがキャッシュメモリ128上に存在しないならば、例えば複数のHDD110に分割して格納されているデータを当該HDD110から読み出すように対応するディスクインターフェース122に指示する。
【0037】
これによりディスクインターフェース122は、マイクロプロセッサ125から指示されたデータ、即ちホストコンピュータ20から要求されたデータを、図2中のパスA3を介してHDD110からキャッシュメモリ128に転送する。このとき、後続する連続データの読み出しが続けて要求されると予測される場合には、当該後続する連続データもキャッシュメモリ128に転送されるのが一般的である。但し、この予測の方法は本発明に直接関係しないため説明を省略する。HDD110からキャッシュメモリ128に転送されたデータは、図2中のパスA2を介してホストコンピュータ20に転送される。
【0038】
<第1のデータパス異常検出処理>
次に、本発明に関係する第1のデータパス異常検出処理について、図3を参照して説明する。
【0039】
まずディスクアレイ装置10では、ホストコンピュータ20からアプリケーションプログラム21に従うライト要求が与えられると、要求されたライトデータをキャッシュメモリ128に書き込むデータライトが行われる(ステップB1)。
【0040】
マイクロプロセッサ125は、キャッシュメモリ128に書き込まれたライトデータを読み込んで、ホストコンピュータ20上で動作しているサポートプログラム22からの指定により予め定められたデータブロック(例えばHDD110の記録単位であるセクタのサイズに一致するデータブロック)を単位に冗長コード、例えばCRC(Cyclic Redundancy Check)コードを生成し、その冗長コードの列を対応するデータのアドレス(ここでは先頭のディスクアドレス)及びサイズと共にキャッシュメモリ128上の領域128aに保持する(ステップB2)。
【0041】
本実施形態において、上記のCRCコード生成は、ホストコンピュータ20からライト要求が送られる都度行われる訳ではなく、例えば図4(a)に示すように、一定時間間隔Tで、その際のライト要求に応じてライトされたデータに対してのみ行われる。但し、一定時間間隔Tのタイミングでライト要求が実行されなかった場合には、その後の最初のライト要求に応じてライトされたデータに対してCRCコードが生成される。時間間隔Tは、サポートプログラム22からの指定により予め設定される。なお、図4(b)に示すように、一定回数(個数)のライト要求毎に(ここでは、2個のライト要求毎に)、つまり一定回数(個数)のライト要求の間隔で、その際のライト要求に応じてライトされたデータに対してCRCコード生成を行うようにしても構わない。
【0042】
ホストコンピュータ20は、サポートプログラム22に従い、上記一定時間間隔(または、一定回数のライト要求の間隔)で、ディスクアレイ装置10に対してデータパス監視のための問い合わせを行う(ステップB3)
これを受けてディスクアレイ装置10内のマイクロプロセッサ125は、その際にキャッシュメモリ128上の領域128aに保持されているデータアドレス、サイズ及び冗長コード列とをホストコンピュータ20に通知する(ステップB4)。
【0043】
ホストコンピュータ20はディスクアレイ装置10からデータアドレス、サイズ及び冗長コード列がサポートプログラム22に通知されると、当該サポートプログラム22に従い、通知されたデータアドレス及びサイズで指定されるデータを読み出すためのリード要求をディスクアレイ装置10に送出する(ステップB5)。
【0044】
これを受けてディスクアレイ装置10内のマイクロプロセッサ125は、キャッシュ制御LSI129により該当するデータをキャッシュメモリ128から読み出させて、データ転送用バス124及びホストインターフェース121を介してホストコンピュータ20に転送させる(ステップB6)。
【0045】
ホストコンピュータ20は、サポートプログラム22に従うリード要求に対してディスクアレイ装置10から該当するデータが返された場合、サポートプログラム22に従って、当該データを対象にデータブロック単位でCRCコードを生成し、先にディスクアレイ装置10から通知されたCRCコードと比較する(ステップB7,B8)。
【0046】
ホストコンピュータ20は、上記CRCコード比較の結果、上記両コードが一致しているならば(ステップB9)、ホストコンピュータ20とディスクアレイ装置10との間のデータパス(図2中のパスA1に相当)上の回路は正常であると判定し、そのまま次の異常検出のタイミングを待つ。
【0047】
これに対し、上記CRCコード比較の結果、上記両コードが一致していないならば(ステップB9)、その不一致が、該当するデータが上書き(更新)されたことに起因するのか、或いはディスクアレイ装置10との間のデータパス上の回路が異常であることに起因するのかを判別するために、ホストコンピュータ20はサポートプログラム22に従って、ディスクアレイ装置10に対して当該データが更新されたか否かを問い合わせる(ステップB10)。
【0048】
この問い合わせに対し、ディスクアレイ装置10内のマイクロプロセッサ125は、キャッシュメモリ128上の該当するデータが、アプリケーションプログラム21に従うホストコンピュータ20からの新たなライト要求により更新(上書き)されているか否かを通知する応答をサポートプログラム22に返す(ステップB11)。
【0049】
ホストコンピュータ20は、この応答により、サポートプログラム22に従うリード要求に対し、該当するデータが更新(上書き)されていないことが通知された場合(ステップB12)、上記CRCコードの不一致の要因が、ホストコンピュータ20とディスクアレイ装置10との間のデータパスの異常、更に詳細に述べるならば当該データパス上のいずれかの回路の異常にあると判別する。この場合、ホストコンピュータ20はディスクアレイ装置10との間のデータパスの異常を、サポートプログラム22に従ってディスクアレイ装置10及びアプリケーションプログラム21に通知し、しかる後にディスクアレイ装置10を切り離すよう動作する(ステップB13,B14)。
【0050】
一方、ディスクアレイ装置10から該当するデータが更新(上書き)されていることが通知された場合には(ステップB12)、ホストコンピュータ20は上記CRCコードの不一致の要因がディスクアレイ装置10との間のデータパスの異常にあるか否か判別不可能であるとして、そのまま、次の異常検出(パトロール)のタイミングを待つ。
【0051】
なお、以上の説明では、ホストコンピュータ20からのデータ更新の有無(データ更新確認)の問い合わせに対して、ディスクアレイ装置10から応答を返すものとしたが、これに限るものではない。例えば、ステップB2でのCRCコードの生成に用いられたデータが、ホストコンピュータ20からサポートプログラム22に従う当該データを対象とするリード要求を受け取るまでの間に更新された場合に、その旨を、その更新された時点で返すか、或いは当該リード要求が与えられた時点で、要求されたデータに代えて返すようにしてもよい。
【0052】
また、CRCコードの生成に用いられたデータがアプリケーションプログラム21により上書きされるのを防ぐために、当該データの写しをチェック(監視)用データとしてキャッシュメモリ128上の例えば上記領域128aに、データアドレス、サイズ及びCRCコード列と共に保持し、元のデータとは別管理とするようにしてもよい。但し、このようにすると、ホストコンピュータ20からは、通常のリード要求では該当するデータ(チェック用データ)を読み出すことができない。そこで上記ステップB5では、専用のリード要求(リードコマンド)によって通常のリード要求と区別することにより、チェック用データを読み出すことを可能とするとよい。
【0053】
<第2のデータパス異常検出処理>
次に、本発明に関係する第2のデータパス異常検出処理について、図5を参照して説明する。
【0054】
本実施形態における第2のデータパス異常検出処理の特徴は、キャッシュメモリ128からHDD110へのデータ書き込みのうち、予め設定された間隔(ここでは時間間隔)に合致した書き込みの際に、ディスクアレイ装置10内のマイクロプロセッサ125からHDD110に確保されたマイクロプロセッサ125の管理領域を対象として該当するデータの写しのライト・リードを実施することで、ディスクアレイ11とHDD110との間のデータパスにおいて、データ化けのエラーが発生していないことを確認する点にある。この第2のデータパス異常検出処理の詳細は次の通りである。
【0055】
まず、マイクロプロセッサ125は、キャッシュメモリ128上のデータをHDD110に書き込む(ライトバックする)(ステップC1)。この書き込みが上記間隔に合致している場合、マイクロプロセッサ125は、HDD110に書き込んだデータの写しを当該HDD110の別の特定領域に書き込む(ステップC2)。この特定領域は、ユーザに開放されない(使用させない)マイクロプロセッサ125の管理領域である。したがって、この管理領域上のデータが、ユーザのデータで上書きされることはない。また、マイクロプロセッサ125は、キャッシュメモリ128上の元のデータをアプリケーションプログラム21(ユーザ)からは見えない無効データとすると共に、当該データをHDDチェック用データとして保持する。
【0056】
次にマイクロプロセッサ125は、HDD110の特定領域から、当該特定領域に格納されているデータをRAM127上に確保されている作業領域(図示せず)に読み込み、キャッシュメモリ128上の該当する元のデータであるHDDチェック用データと比較することで、その一致の有無により、キャッシュメモリ128とHDD110との間のデータパス(図2中のパスA3に相当)、つまりディスクアレイコントローラ12とHDD110との間のデータパスが正常であるか異常であるかを判定する(ステップC3)。
【0057】
ステップC3で異常が判定された場合、マイクロプロセッサ125はその旨を通知するためのステータスを、ホストコンピュータ20からサポートプログラム22に従って読み込み可能なように、ディスクインターフェース122に設定する。また、ホストコンピュータ20からの要求に対してディスクアレイコントローラ12が応答しない構成とすることも可能である。
【0058】
なお、HDD110の特定領域から読み出したデータをRAM127上の作業領域ではなくて、キャッシュメモリ128上の元のデータとは別領域に読み込み、この別領域上のデータとキャッシュメモリ128上の元のデータ(HDDチェック用データ)とをマイクロプロセッサ125が比較するようにしてもよい。
【0059】
また、上記別領域上のデータとキャッシュメモリ128上のHDDチェック用データとを、キャッシュ制御LSI129により比較するようにしてもよい。このためには、マイクロプロセッサ125からキャッシュ制御LSI129に対して、上記別領域上のデータが記憶されているキャッシュメモリ128上の先頭アドレスとサイズを指定すると共に、上記HDDチェック用データが記憶されているキャッシュメモリ128上の先頭アドレスとサイズを指定して、当該キャッシュ制御LSI129を起動する構成とすればよい。このようにすると、キャッシュ制御LSI129自身が、先頭アドレスとサイズで指定されたキャッシュメモリ128上の領域のデータを比較することが可能となる。このように、マイクロプロセッサ125(のプログラム処理)による比較処理に代えて、キャッシュ制御LSI129(ハードウェア)による比較処理を行うことにより、処理の高速化を図ることが可能となる。
【0060】
また、キャッシュメモリ128上のデータをHDD110に書き込んだ際に当該データのCRCコードを生成すると共に、当該データをHDD110から読み込んだ際にもCRCコードを生成して、両CRCコードを比較するようにしても、キャッシュメモリ128とHDD110との間のデータパスの異常検出が可能となる。このCRCコード比較によるデータパス異常検出処理(第2のデータパス異常検出処理)の手順の詳細を図6のフローチャートを参照して説明する。
【0061】
まずマイクロプロセッサ125は、キャッシュメモリ128上のデータをHDD110に書き込む(ライトバックする)際、この書き込みが上記間隔に合致している場合には、当該データのCRCコードCRC1をサポートプログラム22に従って設定されたサイズのデータブロック(ここではセクタサイズに一致するデータブロック)を単位に生成して、これをRAM127上の作業領域(またはキャッシュメモリ128上の特定領域128a)に保持する(ステップD1)。
【0062】
次にマイクロプロセッサ125は、ステップD1でHDD110に書き込んだデータを読み込んで、当該データのCRCコードCRC2を上記データブロック単位に生成する(ステップD2)。そしてマイクロプロセッサ125は、生成したCRCコードCRC2を、先のHDD110への書き込み時に生成したCRCコードCRC1と比較することで、キャッシュメモリ128とHDD110との間のデータパスが正常であるか異常であるかを判定する(ステップD3)。
【0063】
なお、以上に述べた実施形態においては、ディスクアレイコントローラ12におけるCRCコードの生成がマイクロプロセッサ125により行われるものとして説明したが、これに限るものではない。例えばキャッシュ制御LSI129に以下に述べるCRCコード生成機能(1)または(2)を持たせ、当該キャッシュ制御LSI129によりCRCコードが生成されるようにしてもよい。
【0064】
<CRCコード生成機能(1)>
CRCコード生成機能(1)は、ホストコンピュータ20のサポートプログラム22から指定された例えば時間間隔でデータをキャッシュメモリ128から読み出す際、即ちキャッシュメモリ128からホストコンピュータ20へのリードデータの転送時、或いはキャッシュメモリ128からHDD110へのライトデータの転送時で、且つ上記時間間隔に合致するタイミングの転送時に、ホストコンピュータ20のサポートプログラム22から予め設定されたデータサイズ分のCRCコードを演算し、予め指定したメモリまたはキャッシュ制御LSI129のレジスタ内に、演算結果を格納しておく機能である。
【0065】
このCRCコード生成機能(1)は、例えば図6中のステップD1でのCRCコード生成、即ちキャッシュメモリ128上のデータを読み出してHDD110に書き込む際の当該データのCRCコードの生成に利用できる。
【0066】
<CRCコード生成機能(2)>
CRCコード生成機能(2)は、ホストコンピュータ20のサポートプログラム22から指定された例えば時間間隔でデータをキャッシュメモリ128に書き込む際、即ちホストコンピュータ20からキャッシュメモリ128へのライトデータの転送時、或いはHDD110からHDD110へのリードデータの転送時で、且つ上記時間間隔に合致するタイミングの転送時に、ホストコンピュータ20のサポートプログラム22から予め設定されたデータサイズ分のCRCコードを演算し、予め指定したメモリまたはキャッシュ制御LSI129のレジスタ内に、演算結果を格納しておく機能である。
【0067】
このCRCコード生成機能(2)を利用して、ホストコンピュータ20からディスクアレイ装置10に転送されたデータをキャッシュメモリ128に書き込む際に、当該データのCRCコードを生成するならば、当該CRCコードを前記第1のデータパス異常検出処理におけるステップB4でホストコンピュータ20(上のサポートプログラム22)に通知することができる。
【0068】
なお、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果(の少なくとも1つ)が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【0069】
【発明の効果】
以上詳述したように本発明によれば、ディスクアレイ装置側でのライトデータに対する第1の冗長コード生成が、監視プログラムからの設定に従ってアプリケーションプログラムから独立に行われ、またホストコンピュータ側でのディスクアレイ装置に対する問い合わせと当該問い合わせに対する応答から取得したデータ指定情報の指定するデータの読み出しと第2の冗長コードの生成、及び第1及び第2の冗長コードの比較が、監視プログラムに従って、アプリケーションプログラムとの間で通信を行うことなくアプリケーションプログラムから独立に行われる。したがって本発明によれば、ホストコンピュータから転送されるライトデータ自身に、データ保護のための冗長コードがついていない場合でも、ホストコンピュータとディスクアレイコントローラとの間のデータパスの異常によりデータ誤りを起こした場合の検出率を向上させることができ、しかもアプリケーションプログラムとデータの情報を授受する必要がない。
【0070】
また本発明によれば、ディスクアレイコントローラにおいて、ホストコンピュータから転送されてキャッシュメモリに書き込まれたライトデータをディスク記憶装置に書き込む際に、そのライトデータを利用することで、ディスクアレイコントローラとディスク記憶装置との間のデータパスの異常を監視し、当該データパスの異常によりデータ誤りを起こした場合の検出率を向上させることができる。
【0071】
このように本発明によれば、ホストコンピュータとディスクアレイ装置内のディスク記憶装置との間におけるターゲットとなるデータパスの異常によりデータ誤りを起こした場合の検出率を向上させることができる
【図面の簡単な説明】
【図1】本発明の一実施形態に係るコンピュータシステムの構成を示すブロック図。
【図2】ホストコンピュータ20からディスクアレイ装置10にデータのライト/リードを要求した際のデータの流れを説明するための図。
【図3】同実施形態における第1のデータパス異常検出処理を説明するためのフローチャート。
【図4】上記第1のデータパス異常検出処理におけるCRCコード生成条件例を説明するための図。
【図5】同実施形態における第2のデータパス異常検出処理を説明するためのフローチャート。
【図6】上記第2のデータパス異常検出処理の変形例を説明するためのフローチャート。
【符号の説明】
10…ディスクアレイ装置
12…ディスクアレイコントローラ
20…ホストコンピュータ
21…アプリケーションプログラム
22…サポートプログラム(監視プログラム)
110…HDD(ディスク記憶装置)
120…主制御部
121…ホストインターフェース
122…ディスクインターフェース
123…キャッシュメモリ装置
124…データ転送用バス
125…マイクロプロセッサ
126…ROM
127…RAM
128…キャッシュメモリ
128a…特定領域
129…キャッシュ制御LSI[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a data path abnormality detection method by patrol of a disk array device suitable for detecting an abnormality such as a data path between a host computer and a disk array device, and a computer system including the disk array device.
[0002]
[Prior art]
In a disk array device that has multiple disk storage devices and exchanges data with a host computer, a standardized interface such as SCSI (Small Computer System Interface) is used for the interface (host interface) with the host computer. It is common to be done. In a computer system in which such a host computer and a disk array device are connected, a parity check circuit is used as an example of a data protection mechanism when the host interface is a SCSI interface.
[0003]
[Problems to be solved by the invention]
As described above, conventionally, in a computer system including a disk array device that exchanges data with a host computer, a parity check circuit is used as a data protection mechanism in the case where the host interface is an SCSI interface. It was general.
[0004]
However, since the protection by the parity is confirmation of one data unit (for example, one byte unit), it is effective for detection of data shift, data omission, etc. when considered as a data block (for example, data block of sector size). There was no problem.
[0005]
Therefore, a method of adding a redundancy code (data check code) such as CRC (Cyclic Redundancy Check) in data block units is also conceivable. However, in this method, a special operation is required in the standardized interface, and the operation is restricted.
[0006]
The present invention has been made in view of the above circumstances, and its purpose is to provide a host computer and a disk in a disk array device even when the write data itself transferred from the host computer does not have a redundant code for data protection. A data path abnormality detection method by patrol of a disk array device and a computer system provided with the disk array device capable of improving the detection rate when a data error occurs due to an abnormality of a target data path with the storage device It is to provide.
[0007]
[Means for Solving the Problems]
The present invention relates to a computer system comprising a host computer on which a monitoring program operates, a disk array including a plurality of disk storage devices, and a disk array controller including a cache memory. When the write request issued to the disk array device matches the preset timing, the first write data transferred from the host computer to the disk array device and written to the cache memory in response to the write request is written. Redundant code is generated in units of data blocks of a preset size, and then the host computer issues an inquiry to the disk array device to monitor the data path between the host computer and the disk array device. When it is made in accordance with the above timing according to the monitoring program, the disk array device notifies the host computer of the data designation information for designating the first redundant code generated at that time and the corresponding data. Upon receiving the notification, the host computer reads the data designated by the notified data designation information from the cache memory to the host computer, and generates a second redundant code of the data in units of the data block according to the monitoring program. By comparing the generated second redundant code with the notified first redundant code, it is determined whether or not there is an abnormality in the data path between the host computer and the disk array device based on at least the comparison result It is characterized by that.
[0008]
In such a configuration, the disk array controller is transferred from the host computer to the disk array apparatus in response to the write request only when a write request issued from the host computer according to, for example, an application program matches a preset timing. A first redundant code of data temporarily stored in the internal cache memory is generated. Also, an inquiry for data path monitoring is sent from the host computer to the disk array device in correspondence with the above timing, and the first redundancy code and data designation information are notified to the host computer in response to this inquiry. The As a result, the host computer reads the data specified by the notified data specification information, that is, the data on the cache memory used for generating the first redundant code, and generates the second redundant code of the data. In comparison with the first redundancy code, the data path between the host computer and the disk array device (or more specifically, the data path between the host computer and the cache memory in the disk array controller). Abnormality, that is, abnormality of any circuit on the path).
[0009]
As described above, in the present invention, the first redundant code generation for the write data on the disk array device side is performed independently of the application program according to the setting from the monitoring program, and the inquiry to the disk array device on the host computer side. And reading the data specified by the data specification information acquired from the response to the inquiry, generating the second redundant code, and comparing the first and second redundant codes are communicated with the application program according to the monitoring program Without being performed independently from the application program.
[0010]
In general, in order to check the data path between the host computer and the disk array device by a monitoring program operating on the host computer, the host computer performs a write / read compare test on the disk array device. Is the most reliable and convenient. However, in order to securely protect the data, a process for exchanging data information with the application program is required. On the other hand, in the present invention, the data path can be confirmed regardless of the operation of the application program.
[0011]
Here, in order to check the data path regardless of the operation of the application program, it is preferable to apply a time interval or a write request count interval set in advance according to the monitoring program as the timing.
[0012]
Since the data path can be confirmed regardless of the operation of the application program, the data used for generating the first redundant code is updated before it is used for generating the second redundant code. There is a possibility. In this case, since the second redundant code is generated based on the updated data, the first and second redundant codes do not match regardless of whether the data path is abnormal. Therefore, if the first and second redundant codes do not match, the host computer inquires of the disk array device whether or not the original data in the cache memory has been updated, and a response indicating that it has not been updated is returned. Only in the case where it is done, the abnormality of the data path should be determined.
[0013]
The present invention also provides another specification on the cache memory that can be read only by a dedicated read request in accordance with a monitoring program from the host computer, for copying the data on the cache memory used for generating the first redundant code. A copy of the data stored in the area and not the original data on the cache memory used to generate the first redundant code, that is, the data in the specific area is read using the dedicated read request. The second redundant code is generated from the read data.
[0014]
In such a configuration, it is possible to prevent the data used for generating the second redundant code, that is, the data in the specific area from being updated by a write request according to an application program or the like.
[0015]
In addition, when writing write data transferred from a host computer and written in a cache memory to the disk storage device, the present invention writes a copy of the data in another specific area of the disk storage device and By making the data invalid data that cannot be seen by the application program and checking data, the data written in the specific area of the disk storage device is read out to the disk array controller and compared with the original data in the cache memory. It is also characterized by determining whether there is an abnormality in the data path between the array controller and the disk storage device. In this case as well, it is preferable to process the write data when writing of the write data from the cache memory to the disk storage device matches the preset interval (time interval or write interval) instead of all the write data.
[0016]
In such a configuration, the data in the cache memory written in the disk storage device is protected from updating as invalid data that cannot be seen by the application program and as check data, and a copy of the data written in the disk storage device is also obtained. Is stored in another specific area of the disk storage device so that the copy of the data is protected from being updated, that is, the factor that destroys the data is eliminated. By comparing with the original data (check data) on the cache memory, it is possible to correctly determine whether there is an abnormality in the data path between the disk array controller and the disk storage device.
[0017]
In addition to this, when writing the write data transferred from the host computer and written in the cache memory to the disk storage device, a third redundant code of the data is generated and held in the disk array controller, Data in the disk storage device used to generate the third redundant code is read out to the disk array controller to generate a fourth redundant code of the data, and the fourth redundant code is generated first. By comparing with the third redundant code, it is possible to determine whether there is an abnormality in the data path between the disk array controller and the disk storage device.
[0018]
The present invention related to the data path abnormality detection method by patrol of the disk array device described above is also established as an invention related to a computer system composed of a host computer and a disk array device, or an invention related to a disk array controller.
[0019]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings.
[0020]
FIG. 1 is a block diagram showing a configuration of a computer system according to an embodiment of the present invention.
The computer system of FIG. 1 includes a
[0021]
The
[0022]
The
Component Interconnect Bus).
[0023]
The
[0024]
The
[0025]
The
[0026]
The
[0027]
On the
[0028]
Next, with regard to the operation of the configuration of FIG. 1, processing for detecting an abnormality in the data path between the
[0029]
First, in order to facilitate understanding of the data path abnormality detection processing, refer to FIG. 2 for a conventionally known data flow when the
[0030]
<Flow of write data>
A write request (write command) from the
[0031]
Data (write data) from the
[0032]
In the
[0033]
Therefore, after the completion of execution of the write request is returned to the
[0034]
<Flow of read data>
A read request (read command) from the
[0035]
The
[0036]
If the data specified by the read request does not exist on the
[0037]
Thereby, the
[0038]
<First data path error detection process>
Next, a first data path abnormality detection process related to the present invention will be described with reference to FIG.
[0039]
First, in the
[0040]
The
[0041]
In the present embodiment, the CRC code generation is not performed every time a write request is sent from the
[0042]
In accordance with the
In response to this, the
[0043]
When the
[0044]
In response to this, the
[0045]
When the corresponding data is returned from the
[0046]
If the two codes match as a result of the CRC code comparison (step B9), the
[0047]
On the other hand, if the two codes do not match as a result of the CRC code comparison (step B9), the mismatch is caused by overwriting (updating) the corresponding data, or the disk array device. 10, the
[0048]
In response to this inquiry, the
[0049]
In response to this response, the
[0050]
On the other hand, when it is notified from the
[0051]
In the above description, a response is returned from the
[0052]
In addition, in order to prevent the data used to generate the CRC code from being overwritten by the
[0053]
<Second data path error detection process>
Next, a second data path abnormality detection process related to the present invention will be described with reference to FIG.
[0054]
The feature of the second data path abnormality detection process in the present embodiment is that the disk array device at the time of writing that matches a preset interval (here, time interval) among the data writing from the
[0055]
First, the
[0056]
Next, the
[0057]
If an abnormality is determined in step C3, the
[0058]
Note that the data read from the specific area of the
[0059]
Further, the
[0060]
In addition, a CRC code of the data is generated when the data on the
[0061]
First, when the
[0062]
Next, the
[0063]
In the above-described embodiment, the CRC code generation in the
[0064]
<CRC code generation function (1)>
The CRC code generation function (1) is used when reading data from the
[0065]
This CRC code generation function (1) can be used, for example, to generate a CRC code at step D1 in FIG. 6, that is, to generate a CRC code of the data when the data on the
[0066]
<CRC code generation function (2)>
The CRC code generation function (2) is used when data is written to the
[0067]
If the CRC code of the data is generated when the data transferred from the
[0068]
In addition, this invention is not limited to the said embodiment, In the implementation stage, it can change variously in the range which does not deviate from the summary. Further, the above embodiments include inventions at various stages, and various inventions can be extracted by appropriately combining a plurality of disclosed constituent elements. For example, even if some constituent requirements are deleted from all the constituent requirements shown in the embodiment, the problem described in the column of the problem to be solved by the invention can be solved, and the effect described in the column of the effect of the invention If (at least one of) is obtained, a configuration from which this configuration requirement is deleted can be extracted as an invention.
[0069]
【The invention's effect】
As described above in detail, according to the present invention, the first redundant code generation for the write data on the disk array device side is performed independently of the application program according to the setting from the monitoring program, and the disk on the host computer side Reading the data specified by the data specifying information acquired from the inquiry to the array device and the response to the inquiry, generating the second redundant code, and comparing the first and second redundant codes are performed according to the monitoring program, It is performed independently from the application program without performing communication between them. Therefore, according to the present invention, even if the write data transferred from the host computer itself does not have a redundant code for data protection, a data error occurs due to an abnormal data path between the host computer and the disk array controller. In this case, the detection rate can be improved, and there is no need to exchange data between the application program and data.
[0070]
Further, according to the present invention, in the disk array controller, when the write data transferred from the host computer and written in the cache memory is written to the disk storage device, the write data is used, thereby the disk array controller and the disk storage. It is possible to monitor the data path abnormality with the apparatus and improve the detection rate when a data error occurs due to the data path abnormality.
[0071]
As described above, according to the present invention, it is possible to improve the detection rate when a data error occurs due to an abnormality in a target data path between the host computer and the disk storage device in the disk array device.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a computer system according to an embodiment of the present invention.
FIG. 2 is a diagram for explaining a data flow when a data write / read is requested from the
FIG. 3 is a flowchart for explaining a first data path abnormality detection process in the embodiment;
FIG. 4 is a view for explaining an example of CRC code generation conditions in the first data path abnormality detection process;
FIG. 5 is a flowchart for explaining second data path abnormality detection processing in the embodiment;
FIG. 6 is a flowchart for explaining a modification of the second data path abnormality detection process;
[Explanation of symbols]
10. Disk array device
12 ... Disk array controller
20: Host computer
21 ... Application program
22 ... Support program (monitoring program)
110: HDD (disk storage device)
120 ... Main control unit
121 ... Host interface
122 ... Disk interface
123 ... Cache memory device
124: Data transfer bus
125 ... Microprocessor
126 ... ROM
127 ... RAM
128: Cache memory
128a ... specific area
129: Cache control LSI
Claims (11)
前記ホストコンピュータから前記ディスクアレイ装置に発行されたライト要求が予め設定されたタイミングに合致する場合、当該ライト要求に応じて前記ホストコンピュータから前記ディスクアレイ装置に転送されて前記キャッシュメモリに書き込まれたライトデータの第1の冗長コードを予め設定されたサイズのデータブロックを単位に生成するステップと、
前記ホストコンピュータから前記ディスクアレイ装置に対し、前記ホストコンピュータと前記ディスクアレイ装置との間のデータパス監視のための問い合わせを前記監視プログラムに従って前記タイミングに対応した間隔で行うステップと、
前記問い合わせに応じて、その際に生成されている前記第1の冗長コード及び対応するデータを指定するためのデータ指定情報を前記ディスクアレイ装置から前記ホストコンピュータに通知するステップと、
前記ディスクアレイ装置から通知された前記データ指定情報の指定するデータを前記キャッシュメモリから前記ホストコンピュータに読み出すステップと、
前記ホストコンピュータに読み出されたデータの第2の冗長コードを前記監視プログラムに従って前記データブロックを単位に生成するステップと、
前記第2の冗長コードを前記ディスクアレイ装置から通知された前記第1の冗長コードを比較し、少なくとも当該比較結果に基づいて前記ホストコンピュータと前記ディスクアレイ装置との間のデータパスの異常の有無を判定するステップとを具備することを特徴とするディスクアレイ装置のパトロールによるデータパス異常検出方法。A disk array controller including a host computer, a disk array including a plurality of disk storage devices, and a cache memory for controlling the disk array and temporarily storing transfer data between the host computer and the disk storage device And is applied to a computer system in which monitoring of the disk array device and various settings for the disk array device are performed by a monitoring program that operates in parallel with an application program on the host computer. A data path error detection method by patrol of a disk array device,
When a write request issued from the host computer to the disk array device matches a preset timing, it is transferred from the host computer to the disk array device and written to the cache memory in response to the write request. Generating a first redundant code of write data in units of data blocks of a preset size;
Performing an inquiry for data path monitoring between the host computer and the disk array device from the host computer to the disk array device at intervals corresponding to the timing according to the monitoring program;
In response to the inquiry, notifying the host computer of data designation information for designating the first redundant code generated at that time and the corresponding data;
Reading data designated by the data designation information notified from the disk array device from the cache memory to the host computer;
Generating a second redundant code of data read by the host computer in units of the data block according to the monitoring program;
The first redundant code notified from the disk array device is compared with the second redundant code, and whether there is an abnormality in the data path between the host computer and the disk array device based on at least the comparison result And a data path error detection method by patrol of the disk array device.
前記元のデータが更新されていない旨の応答が返された場合に前記ホストコンピュータと前記ディスクアレイ装置との間のデータパスの異常を判定することを特徴とする請求項1記載のディスクアレイ装置のパトロールによるデータパス異常検出方法。If the first redundant code and the second redundant code do not match, the host computer inquires to the disk array device whether or not the original data in the cache memory has been updated. In addition,
2. The disk array device according to claim 1, wherein when a response indicating that the original data has not been updated is returned, an abnormality in a data path between the host computer and the disk array device is determined. Data path error detection method by patrol of
前記ディスクアレイ装置から通知された前記データ指定情報の指定するデータを前記キャッシュメモリから前記ホストコンピュータに読み出すステップでは、前記専用のリード要求を用いて前記特定領域のデータを読み出す
ことを特徴とする請求項1記載のディスクアレイ装置のパトロールによるデータパス異常検出方法。Another specific area on the cache memory in which a copy of the data on the cache memory used to generate the first redundant code can be read only by a dedicated read request according to the monitoring program from the host computer To keep
The step of reading data specified by the data specification information notified from the disk array device from the cache memory to the host computer reads the data in the specific area using the dedicated read request. Item 8. A data path error detection method by patrol of the disk array device according to Item 1.
前記ディスク記憶装置の前記特定領域に書き込まれたデータを前記ディスクアレイコントローラに読み出して、前記キャッシュメモリ上の元のデータと比較することで、前記ディスクアレイコントローラと前記ディスク記憶装置との間のデータパスの異常の有無を判定するステップと
を更に具備することを特徴とする請求項1記載のディスクアレイ装置のパトロールによるデータパス異常検出方法。When writing the write data transferred from the host computer and written to the cache memory to the disk storage device, a copy of the data is written to another specific area of the disk storage device and the data on the cache memory The invalid data invisible to the application program,
Data between the disk array controller and the disk storage device is read by reading the data written in the specific area of the disk storage device to the disk array controller and comparing it with the original data on the cache memory. 2. The data path abnormality detection method by patrol of a disk array device according to claim 1, further comprising the step of determining whether there is a path abnormality.
前記第3の冗長コードの生成に用いられた前記ディスク記憶装置内のデータを前記ディスクアレイコントローラに読み出して当該データの第4の冗長コードを前記データブロックを単位に生成するステップと、
前記第4の冗長コードを前記ディスクコントローラ内に保持されている前記第3の冗長コードと比較することで、前記ディスクアレイコントローラと前記ディスク記憶装置との間のデータパスの異常の有無を判定するステップと
を更に具備することを特徴とする請求項1記載のディスクアレイ装置のパトロールによるデータパス異常検出方法。When writing the write data transferred from the host computer and written in the cache memory to the disk storage device, a third redundant code of the data is generated in units of the data block and stored in the disk array controller. Holding step;
Reading data in the disk storage device used to generate the third redundant code to the disk array controller and generating a fourth redundant code of the data in units of the data block;
By comparing the fourth redundant code with the third redundant code held in the disk controller, it is determined whether there is an abnormality in the data path between the disk array controller and the disk storage device. 2. The data path abnormality detection method by patrol of a disk array device according to claim 1, further comprising a step.
前記ディスクアレイコントローラは、
前記ホストコンピュータから前記ディスクアレイ装置に発行されたライト要求が予め設定されたタイミングに合致する場合、当該ライト要求に応じて前記ホストコンピュータから前記ディスクアレイ装置に転送されて前記キャッシュメモリに書き込まれたライトデータの第1の冗長コードを予め設定されたサイズのデータブロックを単位に生成する第1の冗長コード生成手段と、
前記ホストコンピュータからの当該ホストコンピュータと前記ディスクアレイ装置との間のデータパス監視のための問い合わせに応じて、その際に前記第1の冗長コード生成手段により生成されている前記第1の冗長コードと当該第1の冗長コードの生成に用いられたライトデータを指定するためのデータ指定情報とを前記ホストコンピュータに通知する手段と
を備え、
前記ホストコンピュータは、
前記ディスクアレイ装置に対して前記問い合わせを前記タイミングに対応した間隔で行う手段と、
前記問い合わせに応じて前記ディスクアレイ装置から通知される、前記第1の冗長コードと当該第1の冗長コードの生成に用いられたライトデータを指定するためのデータ指定情報とを受けて、当該データ指定情報の指定する前記キャッシュメモリ上のデータを要求するリード要求により当該データを前記ディスクアレイ装置から読み出す手段と、
前記リード要求に応じて前記ディスクアレイ装置から読み出されたデータの第2の冗長コードを前記データブロックを単位に生成する第2の冗長コード生成手段と、
前記第2の冗長コード生成手段により生成された前記第2の冗長コードと前記問い合わせに応じて前記ディスクアレイ装置から通知された前記第1の冗長コードとを比較し、少なくとも当該比較結果に基づいて前記ホストコンピュータと前記ディスクアレイ装置との間のデータパスの異常の有無を判定する手段と
を備えたことを特徴とするコンピュータシステム。Host computer on which various application programs operate, disk array including a plurality of disk storage devices, and cache memory for controlling the disk array and temporarily storing transfer data between the host computer and the disk storage devices In a computer system comprising a disk array device composed of a disk array controller incorporating
The disk array controller
When a write request issued from the host computer to the disk array device matches a preset timing, it is transferred from the host computer to the disk array device and written to the cache memory in response to the write request. First redundant code generation means for generating a first redundant code of write data in units of data blocks of a preset size;
In response to an inquiry from the host computer for monitoring the data path between the host computer and the disk array device, the first redundant code generated by the first redundant code generation means at that time And means for notifying the host computer of data designation information for designating the write data used to generate the first redundant code,
The host computer
Means for making the inquiry to the disk array device at intervals corresponding to the timing;
In response to the inquiry, the data is received from the disk array device, and the data is received in response to the first redundant code and data specifying information for specifying the write data used to generate the first redundant code. Means for reading the data from the disk array device by a read request for requesting data on the cache memory designated by the designation information;
Second redundant code generation means for generating a second redundant code of data read from the disk array device in response to the read request in units of the data block;
The second redundant code generated by the second redundant code generating means is compared with the first redundant code notified from the disk array device in response to the inquiry, and at least based on the comparison result A computer system comprising: means for determining whether or not a data path between the host computer and the disk array device is abnormal.
前記ホストコンピュータから転送されて前記キャッシュメモリに書き込まれたライトデータを前記ディスク記憶装置に書き込む際に、当該データの写しを当該ディスク記憶装置の別の特定領域に書き込むと共に前記キャッシュメモリ上の前記データを前記アプリケーションプログラムから見えない無効データで且つチェック用データとするライトデータ保存手段と、
前記ライトデータ保存手段により前記ディスク記憶装置の前記特定領域に書き込まれたデータを前記ディスクアレイコントローラに読み出して、前記キャッシュメモリ上の元のデータと比較することで、前記ディスクアレイコントローラと前記ディスク記憶装置との間のデータパスの異常の有無を判定する手段と
を更に備えていることを特徴とする請求項7記載のコンピュータシステム。The disk array controller
When writing the write data transferred from the host computer and written to the cache memory to the disk storage device, a copy of the data is written to another specific area of the disk storage device and the data on the cache memory Write data storage means that is invalid data that cannot be seen from the application program and is data for checking;
By reading the data written in the specific area of the disk storage device by the write data storage means to the disk array controller and comparing it with the original data on the cache memory, the disk array controller and the disk storage 8. The computer system according to claim 7, further comprising means for determining the presence / absence of an abnormality in the data path to the apparatus.
前記ホストコンピュータから転送されて前記キャッシュメモリに書き込まれたライトデータを前記ディスク記憶装置に書き込む際に、当該データの第3の冗長コードを前記データブロックを単位に生成する第3の冗長コード生成手段と、
前記第3の冗長コードの生成に用いられた前記ディスク記憶装置内のデータを読み出して当該データの第4の冗長コードを前記データブロックを単位に生成する第4の冗長コード生成手段と、
前記第4の冗長コード生成手段により生成された前記第4の冗長コードを前記第3の冗長コード生成手段により生成された前記第3の冗長コードと比較することで、前記ディスクアレイコントローラと前記ディスク記憶装置との間のデータパスの異常の有無を判定する手段と
を更に備えていることを特徴とする請求項7記載のコンピュータシステム。The disk array controller
Third redundant code generation means for generating a third redundant code of the data in units of the data block when writing the write data transferred from the host computer and written in the cache memory to the disk storage device When,
Fourth redundant code generation means for reading data in the disk storage device used for generating the third redundant code and generating a fourth redundant code of the data in units of the data block;
By comparing the fourth redundant code generated by the fourth redundant code generating means with the third redundant code generated by the third redundant code generating means, the disk array controller and the disk 8. The computer system according to claim 7, further comprising means for determining whether there is an abnormality in a data path to the storage device.
前記ホストコンピュータから転送されて前記キャッシュメモリに書き込まれたライトデータを前記ディスク記憶装置に書き込む際に、当該データの写しを当該ディスク記憶装置の別の特定領域に書き込むと共に前記キャッシュメモリ上の前記データを前記アプリケーションプログラムから見えない無効データで且つチェック用データとするライトデータ保存手段と、
前記ライトデータ保存手段により前記ディスク記憶装置の前記特定領域に書き込まれたデータを前記ディスクアレイコントローラに読み出して、前記キャッシュメモリ上の元のデータと比較することで、前記ディスクアレイコントローラと前記ディスク記憶装置との間のデータパスの異常の有無を判定する手段と
を具備することを特徴とするディスクアレイコントローラ。In a disk array controller including a cache memory for controlling a disk array including a plurality of disk storage devices and temporarily storing transfer data between a host computer on which various application programs operate and the disk storage device,
When writing the write data transferred from the host computer and written to the cache memory to the disk storage device, a copy of the data is written to another specific area of the disk storage device and the data on the cache memory Write data storage means that is invalid data that cannot be seen from the application program and is data for checking;
By reading the data written in the specific area of the disk storage device by the write data storage means to the disk array controller and comparing it with the original data on the cache memory, the disk array controller and the disk storage A disk array controller comprising: means for determining the presence / absence of an abnormality in a data path to the apparatus.
前記ホストコンピュータから転送されて前記キャッシュメモリに書き込まれたライトデータを前記ディスク記憶装置に書き込む際に、当該データの第1の冗長コードを予め定められたサイズのデータブロックを単位に生成する第1の冗長コード生成手段と、
前記第1の冗長コードの生成に用いられた前記ディスク記憶装置内のデータを読み出して当該データの第2の冗長コードを前記データブロックを単位に生成する第2の冗長コード生成手段と、
前記第2の冗長コード生成手段により生成された前記第2の冗長コードを前記第1の冗長コード生成手段により生成された前記第1の冗長コードと比較することで、前記ディスクアレイコントローラと前記ディスク記憶装置との間のデータパスの異常の有無を判定する手段と
を具備することを特徴とするディスクアレイコントローラ。In a disk array controller including a cache memory for controlling a disk array including a plurality of disk storage devices and temporarily storing transfer data between a host computer on which various application programs operate and the disk storage device,
When writing the write data transferred from the host computer and written in the cache memory to the disk storage device, a first redundancy code of the data is generated in units of data blocks of a predetermined size. Redundant code generation means,
Second redundant code generation means for reading data in the disk storage device used for generating the first redundant code and generating a second redundant code of the data in units of the data block;
The disk array controller and the disk are compared by comparing the second redundant code generated by the second redundant code generating means with the first redundant code generated by the first redundant code generating means. A disk array controller comprising: means for determining whether there is an abnormality in a data path to the storage device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001132947A JP3964629B2 (en) | 2001-04-27 | 2001-04-27 | Data path abnormality detection method by patrol of disk array device and computer system provided with disk array device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001132947A JP3964629B2 (en) | 2001-04-27 | 2001-04-27 | Data path abnormality detection method by patrol of disk array device and computer system provided with disk array device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002328850A JP2002328850A (en) | 2002-11-15 |
JP3964629B2 true JP3964629B2 (en) | 2007-08-22 |
Family
ID=18980887
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001132947A Expired - Fee Related JP3964629B2 (en) | 2001-04-27 | 2001-04-27 | Data path abnormality detection method by patrol of disk array device and computer system provided with disk array device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3964629B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4805660B2 (en) * | 2005-02-08 | 2011-11-02 | 富士通株式会社 | Disc light missing detection device |
JP2006227923A (en) | 2005-02-17 | 2006-08-31 | Fujitsu Ltd | Disk management apparatus and program |
JP2006251960A (en) * | 2005-03-09 | 2006-09-21 | Hitachi Ltd | Storage device |
-
2001
- 2001-04-27 JP JP2001132947A patent/JP3964629B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002328850A (en) | 2002-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6760814B2 (en) | Methods and apparatus for loading CRC values into a CRC cache in a storage controller | |
US6523087B2 (en) | Utilizing parity caching and parity logging while closing the RAID5 write hole | |
US6931576B2 (en) | Data integrity device providing heightened error protection in a data processing system | |
US8713251B2 (en) | Storage system, control method therefor, and program | |
US6687791B2 (en) | Shared cache for data integrity operations | |
US7590884B2 (en) | Storage system, storage control device, and storage control method detecting read error response and performing retry read access to determine whether response includes an error or is valid | |
JP3458804B2 (en) | Information recording apparatus and control method thereof | |
JP4322870B2 (en) | RAID device, RAID control method, and RAID control program | |
JP4852315B2 (en) | Data reliability improvement method and information processing apparatus using the method | |
JPH03176750A (en) | Method of protecting information of faulttolerant redundant information storage device and fault-tolerant system | |
US7587630B1 (en) | Method and system for rapidly recovering data from a “dead” disk in a RAID disk group | |
JP4535371B2 (en) | Disk array control program, method and apparatus | |
US5381544A (en) | Copyback memory system and cache memory controller which permits access while error recovery operations are performed | |
JP2002244933A (en) | System and method for dynamically tranferring check sum to different memory position | |
US20060206680A1 (en) | File control apparatus | |
JP3964629B2 (en) | Data path abnormality detection method by patrol of disk array device and computer system provided with disk array device | |
JP4390694B2 (en) | DMA circuit and disk array device using the same | |
JP2007058286A (en) | Storage system and storage control method without formatting storage device | |
US20070226547A1 (en) | Disk controller and controlling method of the same | |
JP2008041080A (en) | Storage control system, control method for storage control system, port selector, and controller | |
JP2011008650A (en) | Method, system and program for error verification | |
JP7051769B2 (en) | Information processing equipment, control methods, and programs | |
JP2005004290A (en) | Memory fault processing system | |
JP3542577B2 (en) | Disk array device and control method therefor | |
JP2005070993A (en) | Device having transfer mode abnormality detection function and storage controller, and interface module for the controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040915 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070515 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070522 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070524 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100601 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110601 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120601 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130601 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |