(57)【要約】【課題】ディスクアレイ装置のような複数の記憶装置が備わったシステムにおけるバスやインターフェイス回路の、効率的な故障診断を行うための装置と方法を提供する。【解決手段】Ｎ台の記憶装置２の各々の内部にランダムデータを生成するランダムデータ生成回路２４と、ＥＣＣを生成するＥＣＣ生成回路２３と、生成されたランダムデータおよびＥＣＣから該当するデータを保持するデータ保持回路２２を備え、Ｎ台の記憶装置２の各々が保持しているデータをＥＣＣ演算器１２によってＥＣＣ演算を行うことで、Ｎ台の記憶装置２とメモリ１４の間の伝送経路の故障箇所を検出する。【選択図】図１
2006119878.tif 000002
【特許請求の範囲】
【請求項１】
複数の記憶装置と、
前記複数の記憶装置を接続し制御するディスクアレイ制御部と、
前記複数の記憶装置と前記ディスクアレイ制御部とを接続する伝送経路からなるディスクアレイ装置であって、
前記複数の記憶装置は、
それぞれが固有の番号を割り当てられた記憶装置番号通知信号を受信し、
所定のデータを生成するデータ生成手段と、
前記所定のデータに対する誤り訂正符号（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ  Ｃｏｄｅ：以下、ＥＣＣと称す）を生成するＥＣＣ生成手段と、
前記記憶装置番号通知信号と前記所定のデータおよび前記ＥＣＣから構成されるＮシンボル（Ｎは整数）のデータから所定のシンボル位置のデータを保持するデータ保持手段と、
故障診断時を示す故障診断制御信号を受信すると前記保持したデータを出力する出力データ選択手段とをそれぞれ有し、
前記ディスクアレイ制御部は、
前記複数の記憶装置の各々から受信したデータの誤り訂正演算を行うＥＣＣ演算手段と、
故障診断時には前記複数の記憶装置に保持した前記所定のシンボル位置のデータを出力するように前記故障診断制御信号を出力し、前記所定のシンボル位置のデータに対する前記誤り訂正演算により、前記複数の記憶装置と前記ディスクアレイ制御部との間のアクセスを仲介するインターフェイス回路および伝送経路の故障箇所を検出する故障診断手段とを有し、
前記複数の記憶装置の各々が出力する前記保持したデータを、前記ＥＣＣ演算手段が所定の順番で連接することにより一つの符号語を構成し、前記ＥＣＣ演算手段が前記符号語に対して誤り訂正演算を行うことにより、前記インターフェイス回路および前記伝送経路の故障検出を行う
ことを特徴とするディスクアレイ装置。
【請求項２】
前記データ生成手段が出力する前記所定のデータがランダムデータである
ことを特徴とする請求項１記載のディスクアレイ装置。
【請求項３】
前記データ保持手段は、前記Ｎシンボルのデータのうち前記所定のシンボル位置を前記記憶装置番号通知信号により決定する
ことを特徴とする請求項１記載のディスクアレイ装置。
【請求項４】
前記故障診断手段は、故障箇所を外部に開示するための表示手段をさらに有する
ことを特徴とする請求項１記載のディスクアレイ装置。
【請求項５】
前記複数の記憶装置が磁気ディスクドライブあるいは光ディスクドライブあるいは光磁気ディスクドライブあるいは半導体メモリである
ことを特徴とする請求項１記載のディスクアレイ装置。
【請求項６】
複数の記憶装置と前記複数の記憶装置を接続し制御するディスクアレイ制御部と、前記複数の記憶装置と前記ディスクアレイ制御部とを接続する伝送経路からなるディスクアレイ装置の故障検出の方法であって、
前記複数の記憶装置の各記憶装置は、
所定のデータを生成するステップと、
前記所定のデータに対するＥＣＣを生成するステップと、
前記ディスクアレイ制御部から受信したそれぞれが固有の番号を割り当てられた記憶装置番号通知信号と前記所定のデータおよび前記ＥＣＣから構成されるＮシンボル（Ｎは整数）のデータから所定のシンボル位置のデータを保持するステップと、
故障診断制御信号を受信すると故障診断時において前記保持したデータを出力するステップを有し、
前記ディスクアレイ制御部は、
前記複数の記憶装置の各々から受信したデータの誤り訂正演算を行うステップと、
前記誤り訂正演算により、前記複数の記憶装置と前記ディスクアレイ制御部との間のアクセスを仲介するインターフェイス回路および伝送経路の故障箇所を検出するステップを有し、
故障診断時には前記複数の記憶装置に保持した前記所定のシンボル位置のデータを出力するように前記故障診断制御信号を出力するステップと、
前記複数の記憶装置の各々が出力する前記保持したデータを、前記誤り訂正演算を行うステップにおいて所定の順番で連接することにより一つの符号語を構成するステップと、
前記誤り訂正演算を行うステップにおいて前記符号語に対して前記誤り訂正演算を行うステップと、
前記誤り訂正演算の結果が誤りありとなった場合に、前記インターフェイス回路および前記伝送経路が故障したと判断するステップからなる
ことを特徴とするディスクアレイ装置の故障検出方法。
【請求項７】
前記所定のデータを生成するステップにおいて、前記所定のデータとしてランダムデータを生成する
ことを特徴とする請求項６記載のディスクアレイ装置の故障検出方法。
【請求項８】
前記データを保持するステップにおいて、前記Ｎシンボルのデータの中の前記所定のシンボル位置は前記記憶装置番号通知信号により決定される
ことを特徴とする請求項６記載のディスクアレイ装置の故障検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスクアレイ装置に関し、より詳細には複数の記憶装置が接続されたディスクアレイ装置におけるバスおよびインターフェイス回路の故障箇所を検出するために好適な技術に関する。
【背景技術】
【０００２】
複数の記憶装置によって構成されるディスクアレイは、高信頼かつ大記憶容量を実現している。ディスクアレイの最も一般的な形式は、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）である。例えばＲＡＩＤレベル５であれば、データからＥＣＣと呼ばれる誤り訂正符号を生成し、データとともに分散して記録するので、記憶装置が１台故障しても新しい記憶装置と交換後、他の正常な記憶装置のデータから誤り訂正処理を行うことで、故障した記憶装置のデータを復元することが可能である（例えば、非特許文献１参照）。
【０００３】
ところでこのディスクアレイ装置においては、記憶装置の故障だけではなく、記憶装置とそれらを制御する回路を接続しているバスやインターフェイス回路の故障に関しても対応する必要がある。たとえ記憶装置が正しくデータのリード／ライトをできたとしても、そのデータが伝送経路の異常によりホストと正常に通信できなければ、データの信頼性が低下してしまう。そこでバスやインターフェイス回路の故障を診断するための機能が必要となってくる。
【０００４】
以下、バスやインターフェイス回路の故障診断方法の一例について説明する。
【０００５】
図５は、故障診断機能を有するｍビットで構成された従来のバスインターフェイス回路の全体構成図の一例である。回路Ａ１００と回路Ｂ１１０の双方がデータバス１２０を介してデータの送受信を行うとする。
【０００６】
回路Ａ１００は双方向バッファＡ１０１を有し、双方向バッファＡ１０１は回路Ａ１００の内部側のデータバスＡ１０４のデータをデータバス１２０へ送出し、またはデータバス１２０のデータを回路Ａ１００の内部側のデータバスＡ１０４へ送出する。それらの転送方向は方向制御回路Ａ１０２から方向制御信号Ａ１０５を入力することで制御する。また回路Ａ１００は障害検出回路Ａ１０３を有し、障害検出回路Ａ１０３は故障検出用のテストデータを生成し、生成されたテストデータを回路Ａ１００の内部側のデータバスＡ１０４に出力し、双方向バッファＡ１０１を経由してデータバス１２０に出力されたデータを入力し、その入力したデータとテストデータを比較する。あるいは生成されたテストデータをデータバス１２０に出力し、双方向バッファＡ１０１を経由して回路Ａ１００の内部側のデータバスＡ１０４に出力されたデータを入力し、その入力したデータとテストデータを比較する。この比較結果を障害通知信号線１３０を経由して回路Ｂ１１０に通知する。
【０００７】
一方回路Ｂ１１０も回路Ａ１００と同様の構成であり、双方向バッファＢ１１１と方向制御回路Ｂ１１２、障害検出回路Ｂ１１３、内部側データバスＢ１１４、方向制御信号Ｂ１１５を有する。それぞれの動作は回路Ａの双方向バッファＡ１０１と方向制御回路Ａ１０２、障害検出回路Ａ１０３、内部側データバスＡ１０４、方向制御信号Ａ１０５と同様である。
【０００８】
はじめにバスインターフェイス回路の通常動作時の説明を行う。回路Ａ１００の内部側のデータバスＡ１０４のデータを回路Ｂ１１０の内部側のデータバスＢ１１４にデータを転送する場合、まず方向制御回路Ａ１０２は双方向バッファＡ１０１に対し方向制御信号Ａ１０５を出力し、回路Ａ１００の内部側のデータバスＡ１０４のデータをデータバス１２０に出力する方向に設定する。一方、方向制御回路Ｂ１１２は双方向バッファＢ１１１に対し方向制御信号Ｂ１１５を出力し、データバス１２０のデータを回路Ｂ１１０の内部側のデータバスＢ１１４に出力する方向に設定する。上記の設定を行った後、回路Ａ１００から回路Ｂ１１０へデータを転送する。
【０００９】
逆に回路Ｂ１１０の内部側のデータバスＢ１１４のデータを回路Ａ１００の内部側のデータバスＡ１０４にデータを転送する場合、まず方向制御回路Ｂ１１２は双方向バッファＢ１１１に対し方向制御信号Ｂ１１５を出力し、回路Ｂ１１０の内部側のデータバスＢ１１４のデータをデータバス１２０に出力する方向に設定する。一方、方向制御回路Ａ１０２は双方向バッファＡ１０１に対し方向制御信号Ａ１０５を出力し、データバス１２０のデータを回路Ａ１００の内部側のデータバスＡ１０４に出力する方向に設定する。その後、回路Ｂ１１０から回Ａ１００へデータを転送する。
【００１０】
ここでデータバス１２０を介して回路Ａ１００と回路Ｂ１１０の間で正確にデータが伝送されなかった場合、その原因となった障害箇所を診断する方法について説明する。
【００１１】
はじめに方向制御回路Ａ１０２は双方向バッファＡ１０１に対し、回路Ａ１００の内部側のデータバスＡ１０４のデータをデータバス１２０に出力する方向に設定する。障害検出回路Ａ１０３はテストデータを生成し、そのテストデータを双方向バッファＡ１０１の内部側のデータバスＡ１０４に送出し、データバス１２０に出力されたデータを入力し、そのデータと最初に生成したテストデータの値を比較する。その逆方向も同様である。それらの判定結果を障害通知信号線１３０を介して障害検出回路Ｂ１１３に通知する。
【００１２】
その後、回路Ｂ１１０でも同様のことを行う。障害検出回路Ｂ１１３はテストデータを生成し、そのテストデータを双方向バッファＢ１１１の内部側のデータバスＢ１１４へ送出し、データバス１２０に出力されたデータを入力する。そのデータと最初に生成したテストデータの値を比較する。その逆方向も同様である。
【００１３】
障害検出回路Ａ１０３および障害検出回路Ｂ１１３で行ったこれら４種類の比較判定結果がいずれも一致した場合、つまり双方向バッファＡ１０１および双方向バッファＢ１１１は正常にデータを伝送できることが確認された場合、データバス１２０が切断あるいは短絡していると診断することができる。
【００１４】
一方、４種類の比較判定結果のうち少なくともどれかが異常であった場合、その異常判定が出た回路側の双方向バッファが故障していることを診断することが可能となる（例えば、特許文献１参照）。
【００１５】
以上のように、テストデータを用いて双方向バッファの動作を確認することで、データバス１２０の切断や短絡、または双方向バッファの故障を診断することが可能となる。
【特許文献１】特開平９−３４７４９号公報（第３−４頁、第１図）
【非特許文献１】「Ａ  Ｃａｓｅ  ｆｏｒ  Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ（ＲＡＩＤ）」（Ｐａｔｔｅｒｓｏｎ  ｅｔ  ａｌ．、Ｒｅｐｏｒｔ  Ｎｏ．ＵＣＢ／ＣＳＤ  ８７／３９１、Ｃｏｍｐｕｔｅｒ  Ｓｃｉｅｎｃｅ  Ｄｉｖｉｓｉｏｎ（ＥＥＣＳ）、Ｕｎｉｖ．  ｏｆ  Ｃａｌｉｆｏｒｎｉａ、Ｂｅｒｋｅｌｙ、ＣＡ、Ｄｅｃｅｍｂｅｒ  １９８７）
【発明の開示】
【発明が解決しようとする課題】
【００１６】
しかしながら前記従来の構成では、双方向バッファの内部側およびデータバス側のバスと、障害検出回路を接続する必要がある。また障害検出回路で生成したテストデータをレジスタ等に記憶しておき、そのテストデータと双方向バッファから出力されたデータとを比較する処理が必要となる。
【００１７】
そのためディスクアレイ装置のような多数の記憶装置を備えたシステムの場合、記憶装置の数に比例して接続すべき配線量が増える。また伝送経路にこのような故障診断用の配線を施すことは、通常の動作において遅延を発生する要因となり、最悪の場合には故障の原因を作ることにもなり兼ねない。
【００１８】
本発明は前記従来の課題を解決するもので、ディスクアレイ装置のような多数の記憶装置が備わったシステムにおけるバスやインターフェイス回路の、効率的な故障診断を行うための装置と方法を提供することを目的としたものである。
【課題を解決するための手段】
【００１９】
前記従来の課題を解決するために、本発明のディスクアレイ装置は、複数の記憶装置と、前記複数の記憶装置を接続し制御するディスクアレイ制御部と、前記複数の記憶装置と前記ディスクアレイ制御部とを接続する伝送経路からなるディスクアレイ装置であって、前記複数の記憶装置は、それぞれが固有の番号を割り当てられた記憶装置番号通知信号を受信し、所定のデータを生成するデータ生成手段と、前記所定のデータに対する誤り訂正符号（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ  Ｃｏｄｅ：以下、ＥＣＣと称す）を生成するＥＣＣ生成手段と、前記記憶装置番号通知信号と前記所定のデータおよび前記ＥＣＣから構成されるＮシンボル（Ｎは整数）のデータから所定のシンボル位置のデータを保持するデータ保持手段と、故障診断時を示す故障診断制御信号を受信すると前記保持したデータを出力する出力データ選択手段とをそれぞれ有し、前記ディスクアレイ制御部は、前記複数の記憶装置の各々から受信したデータの誤り訂正演算を行うＥＣＣ演算手段と、故障診断時には前記複数の記憶装置に保持した前記所定のシンボル位置のデータを出力するように前記故障診断制御信号を出力し、前記所定のシンボル位置のデータに対する前記誤り訂正演算により、前記複数の記憶装置と前記ディスクアレイ制御部との間のアクセスを仲介するインターフェイス回路および伝送経路の故障箇所を検出する故障診断手段とを有し、前記複数の記憶装置の各々が出力する前記保持したデータを、前記ＥＣＣ演算器が所定の順番で連接することにより一つの符号語を構成し、前記ＥＣＣ演算器が前記符号語に対して誤り訂正演算を行うことにより、前記インターフェイス回路および前記伝送経路の故障検出を行うことを特徴とするものである。
【００２０】
さらにディスクアレイ装置において、前記データ生成手段が出力する前記所定のデータがランダムデータであることを特徴とするものである。
【００２１】
さらにディスクアレイ装置において、前記データ保持手段は、前記Ｎシンボルのデータのうち前記所定のシンボル位置を前記記憶装置番号通知信号により決定することを特徴とするものである。
【００２２】
さらにディスクアレイ装置において、前記故障診断手段は、故障箇所を外部に開示するための表示手段をさらに有することを特徴とするものである。
【００２３】
さらにディスクアレイ装置において、前記複数の記憶装置が磁気ディスクドライブあるいは光ディスクドライブあるいは光磁気ディスクドライブあるいは半導体メモリであることを特徴とするものである。
【００２４】
さらに本発明のディスクアレイ装置の故障検出方法は、複数の記憶装置と前記複数の記憶装置を接続し制御するディスクアレイ制御部と、前記複数の記憶装置と前記ディスクアレイ制御部とを接続する伝送経路からなるディスクアレイ装置の故障検出の方法であって、前記複数の記憶装置の各記憶装置は、所定のデータを生成するステップと、前記所定のデータに対するＥＣＣを生成するステップと、前記ディスクアレイ制御部から受信したそれぞれが固有の番号を割り当てられた記憶装置番号通知信号と前記所定のデータおよび前記ＥＣＣから構成されるＮシンボル（Ｎは整数）のデータから所定のシンボル位置のデータを保持するステップと、故障診断制御信号を受信すると故障診断時において前記保持したデータを出力するステップを有し、前記ディスクアレイ制御部は、前記複数の記憶装置の各々から受信したデータの誤り訂正演算を行うステップと、前記誤り訂正演算により、前記複数の記憶装置と前記ディスクアレイ制御部との間のアクセスを仲介するインターフェイス回路および伝送経路の故障箇所を検出するステップを有し、故障診断時には前記複数の記憶装置に保持した前記所定のシンボル位置のデータを出力するように前記故障診断制御信号を出力するステップと、前記複数の記憶装置の各々が出力する前記保持したデータを、前記誤り訂正演算を行うステップにおいて所定の順番で連接することにより一つの符号語を構成するステップと、前記誤り訂正演算を行うステップにおいて前記符号語に対して前記誤り訂正演算を行うステップと、前記誤り訂正演算の結果が誤りありとなった場合に、前記インターフェイス回路および前記伝送経路が故障したと判断するステップからなることを特徴とするものである。
【００２５】
さらにディスクアレイ装置の故障検出方法において、前記所定のデータを生成するステップにおいて、前記所定のデータとしてランダムデータを生成することを特徴とするものである。
【００２６】
さらにディスクアレイ装置の故障検出方法において、前記データを保持するステップにおいて、前記Ｎシンボルのデータの中の前記所定のシンボル位置は前記記憶装置番号通知信号により決定されることを特徴とするものである。
【発明の効果】
【００２７】
以上のように請求項１、７に記載の発明によれば、本発明のディスクアレイ装置およびディスクアレイ装置の故障検出方法によれば、複数の記憶装置が備わったシステムにおけるバスやインターフェイス回路の、効率的な故障診断を行うための装置および方法を提供することができる。
【発明を実施するための最良の形態】
【００２８】
以下に、本発明のディスクアレイ装置及びディスクアレイ装置の故障検出方法の実施の形態を図面とともに詳細に説明する。
【実施例１】
【００２９】
図１に本発明におけるディスクアレイ装置の全体構成図を示す。ディスクアレイ装置とは複数の記憶装置をまとめて１台の記憶装置として管理する技術であり、通常動作においては、ホストコンピュータから転送されたデータを分散して複数の記憶装置へ格納したり、また複数の記憶装置に分割して格納されているデータを結合し、ホストコンピュータへ出力する。ディスクアレイ装置の大きな特徴として１台の記憶装置が故障してもそれ以外の記憶装置から故障した記憶装置の内容を再構築でき、そのためのＥＣＣが生成されて記憶装置の一部に格納される。
【００３０】
本発明のディスクアレイ装置は、ホストコンピュータからのデータを記録再生する通常動作モードと、バスやインターフェイス回路の故障箇所を診断する故障診断モードを有する。
【００３１】
図１において、ディスクアレイ制御部１はＮ台の記憶装置２（Ｎは整数であり、記憶装置番号１〜Ｎと識別されているとする）およびホストコンピュータ５と接続されている。ディスクアレイ制御部１は、ディスクアレイ制御部１とＮ台の記憶装置２とを接続しているバスやインターフェイス回路の故障診断モード時に必要な信号を生成したり故障判定を行う故障診断制御部１１と、通常動作モード時においてホストコンピュータ５から送られてきたデータをＲＡＩＤの構成に基づいてデータを分割したり、結合したりするデータ分割／結合部１７と、同じく通常動作モード時においてホストコンピュータ５との間でデータの受け渡しを行う際、ＲＡＩＤの構成に基づいてＥＣＣを生成したりＥＣＣチェックを行ったり、故障診断モード時に故障箇所検出のためのＥＣＣ演算を行うＥＣＣ演算器１２と、Ｎ台の記憶装置２にライトするデータを格納したり、Ｎ台の記憶装置２からリードしたデータを格納するメモリ１４と、Ｎ台の記憶装置２などメモリ１４へのアクセス権を有するブロックの調停を行い、リード／ライトの仲介を行うメモリＩ／Ｆ１３と、Ｎ台の記憶装置２とメモリＩ／Ｆ１３との間のアクセスの仲介を行う記憶装置Ｉ／Ｆ１５と、Ｎ台の記憶装置２をディスクアレイ制御部１と接続するためのコネクタ１６からなる。またＮ台の記憶装置２はそれぞれコネクタ１６との間で、記憶装置番号通知信号３がデータバスとは別に接続されている。これはコネクタ１６側でプルアップあるいはプルダウン処理されており、Ｎ台の記憶装置２のそれぞれに対して記憶装置番号を通知することができる。さらに故障診断モード時であることを通知したり、故障診断モード時に必要な制御を行うための故障診断制御信号４が故障診断制御部１１との間で接続されている。
【００３２】
図２にＮ台の記憶装置２の内の１台における、故障診断モードに必要な回路を含めた全体構成図を示す。通常動作モード時において、記憶装置２は記憶領域２５に格納されているデータをホストコンピュータ５に出力したり、ホストコンピュータ５から入力したデータを記憶領域２５に格納したりする。一方故障診断モード時においては、記憶領域２５のデータを外部との間で受け渡しするのではなく、故障診断モード時に必要なデータの入出力を行う。通常動作モード時と故障診断モード時のデータの伝送路を切り替えるためのセレクタ２１を記憶装置２には備えており、セレクタ２１の切り替えには故障診断制御信号４を用いる。また記憶装置２には、故障診断モード時に必要なランダムデータを生成するランダムデータ生成回路２４と、そのランダムデータをもとにＥＣＣを生成するＥＣＣ生成回路２３と、生成されたランダムデータあるいはＥＣＣから必要なデータを記憶装置番号通知信号３によって選択し保持しておくデータ保持回路２２からなる。ここでＥＣＣとは誤り訂正符号のことで、記憶装置などからデータを読み出す際、データの誤りを訂正するために本来のデータとは別に付加される冗長なデータのことである。このＥＣＣにより、データが本来の値と異なる値に誤っていた場合でも、ＥＣＣのデータ長で決まる訂正能力の範囲内であれば、誤った値を正しい値に訂正することができる（ＥＣＣのデータ数が多ければ多いほど訂正できる誤りの個数は増えるが、その分冗長なデータ数が増えることになる）。ここでランダムデータ生成回路２４とＥＣＣ生成回路２３、データ保持回路２２には故障診断制御信号４が接続されており、故障診断モード時に必要な制御が行われるようになっている。これらの構成はすべてのディスク２において同様の構成をとっている。
【００３３】
以下、故障診断モードについて説明する。
図３は本発明の実施例１における故障診断モードの一連の動作を示したフローチャート図である。
【００３４】
図４はランダムデータ生成回路２４とＥＣＣ生成回路２３が、図３のフローチャートのステップ２からステップ３において生成するランダムデータとＥＣＣデータの構成を示した図である。
【００３５】
ディスクアレイ装置の通常動作モード時のデータのながれを簡単に説明する。まずホストコンピュータ５がＮ台の記憶装置２にデータを格納する場合、ホストコンピュータ５から送られてきたデータをデータ分割／結合部１７によって分割する。その分割されたデータに対してＥＣＣ演算器１２によってＥＣＣを生成し、メモリＩ／Ｆ１３を経由して一旦メモリ１４に分割されたデータおよびＥＣＣを格納する。その後メモリＩ／Ｆ１３や記憶装置Ｉ／Ｆ１５、コネクタ１６を介してＮ台の記憶装置２の所定の領域にデータおよびＥＣＣを格納する。一方Ｎ台の記憶装置２に格納されているデータをホストコンピュータ５に転送する場合は、その逆の動作を行うことになる。メモリ１４にＮ台の記憶装置２から読み出した分割されているデータおよびＥＣＣを格納し、ＥＣＣ演算器１２によって整合がとれているかＥＣＣチェックを行い、データ分割／結合部１７によって結合し、ホストコンピュータ５に出力する（ここでＥＣＣチェックを省略しても良い）。もしＮ台の記憶装置２の内１台が故障していても、それ以外の記憶装置２のデータを用いてＥＣＣ演算器１２によって故障した記憶装置２のデータを再構築し、ホストコンピュータ５に出力することができる。この際、同時にホストコンピュータ５に対し、故障した記憶装置２の交換を促すこともできる。
【００３６】
以下、本発明の実施例１における故障診断モード時の動作について図３のフローチャートのステップに沿って説明する。
【００３７】
（ステップ０）故障診断モードを開始する際、故障診断制御部１１は記憶装置２に対して、故障診断制御信号４を出力する。
【００３８】
（ステップ１）記憶装置２内部のランダムデータ生成回路２４とＥＣＣ生成回路２３、データ保持回路２２は故障診断制御信号４により初期化される。
【００３９】
（ステップ２）ランダムデータ生成回路２４により図４（ａ）に示すようにＫシンボル長（Ｋは整数）のランダムデータが生成される。ここで１シンボル長は１バイトであっても１ワードであってもかまわない。
【００４０】
（ステップ３）ＥＣＣ生成回路２３はそのＫシンボル長のランダムデータを入力し、図４（ｂ）に示すようにランダムデータに対するＭシンボル長（Ｍは整数）のＥＣＣを生成する。これにより合計Ｎシンボル長（Ｎ＝Ｋ＋Ｍ）のデータが生成される。このランダムデータ生成回路２４やＥＣＣ生成回路２３はＮ台の記憶装置２すべて同様の回路構成をとっており、故障診断制御信号４により同じタイミングで動作するため、このＮシンボル長のデータはどの記憶装置２も同じ値のデータが生成されることになる。この生成されたデータのシンボル長は記憶装置２の台数と同じＮである。
【００４１】
（ステップ４）データ保持回路２２は生成されたＮシンボル長のデータの中から１シンボルのみを選択して保持しておく。この選択基準として、データ保持回路２２が入力する記憶装置番号通知信号３を用いる。各記憶装置２のデータ保持回路２２は、生成されたＮシンボル長のデータの先頭から、自記憶装置の番号に相当した箇所の１シンボル長のデータを選択して保持する。例えば記憶装置番号＝１の記憶装置２のデータ保持回路２２は、１シンボル目のデータ（図４（ｂ）中のＤＴ＿１）を保持する。記憶装置番号＝２の記憶装置２であれば、２シンボル目のデータ（同図ＤＴ＿２）、記憶装置番号＝３の記憶装置２なら、３シンボル目のデータ（同図ＤＴ＿３）、以下同様で、記憶装置番号＝Ｎの記憶装置２はＮシンボル目のデータ（同図ＥＣＣ＿Ｍ）というように、記憶装置番号通知信号３により決定されるシンボル位置の１シンボル長のデータのみを保持する。このため、各記憶装置２はＮシンボル長のデータを重複しないように１シンボルずつデータを保持するため、ランダムデータとＥＣＣの全シンボル長は、記憶装置２の台数と同じＮとしている。
【００４２】
（ステップ５）ステップ２からステップ４において、ランダムデータおよびＥＣＣが生成されるのに十分な時間が経過した後、故障診断制御部１１はディスクアレイ制御部１がＮ台の記憶装置２に対してアクセスしていない時間帯に、Ｎ台の記憶装置２に対して故障診断制御信号４を出力する。これにより各記憶装置２内部のセレクタ２１はデータ保持回路２２が保持しているデータを出力する経路が選択され、ディスクアレイ制御部１はそれぞれのデータ保持回路２２が保持している１シンボル長のデータを読み出し、一旦メモリ１４に格納する。
【００４３】
（ステップ６）ＥＣＣ演算器１２はメモリ１４に格納されているＮシンボル長のデータを読み出し、そのデータの中に誤りが存在しないかＥＣＣ演算を行う。Ｎシンボル長のデータは一つのＥＣＣブロックを構成することになり、誤りが存在したり、データに過不足があった場合は、誤りありと判定することができる。正常にＮシンボル長のデータが読み出せれば誤りなしという結果となる。
【００４４】
（ステップ７）ＥＣＣ演算の結果が誤りありか誤りなしかを判定し、誤りなしの場合は、Ｎシンボル長のデータがＮ台の記憶装置２から正常に読み出されメモリ１４に格納されていることになり、伝送経路に異常がないことを示す。一方誤りありと判定された場合は、記憶装置２からメモリ１４に至るまでの伝送経路に故障が発生しており、データ保持回路２２が保持しているデータ値とは異なる値のデータがメモリ１４に格納されていることを示す。この場合、例えばＮシンボル長のデータの中の誤っているシンボルの位置が１シンボル目であれば記憶装置番号＝１の記憶装置２のデータ保持回路２２が出力したデータがメモリ１４に格納されるまでの間のＩ／Ｆ回路を含む伝送経路に異常があると判断することができる。前述したようにＥＣＣのシンボル長で決定される誤り訂正能力の範囲内であれば、複数のシンボル位置の誤り、つまりそれに該当する伝送経路の異常を検出することが可能となる。
なお、本実施例１では、記憶装置番号通知信号３はコネクタ１６が生成しＮ台の記憶装置２のそれぞれに対して出力していたが、記憶装置番号通知信号３を設けずに、記憶装置Ｉ／Ｆ１５が生成しコネクタ１６を介して記憶装置２とディスクアレイ制御部１を接続しているバスを用いて通知する構成であってもよい。
また、コネクタ１６にＬＥＤを内蔵しておき、伝送経路の異常個所を検出した際にその伝送経路につながっているコネクタ１６のＬＥＤを表示させることで管理者に通知する構成であってもよい。あるいはホストコンピュータ５に対して異常を示すステータスを転送する構成であってもよい。
【００４５】
またＮ台の記憶装置２それぞれにランダムデータ生成回路２４やＥＣＣ生成回路２３、データ保持回路２２を設けたことにより本発明を実現したが、これらは記憶装置２内部の記憶領域２５にデータを格納したり、データを読み出したりする際の制御を行うために備わっている演算処理装置（ＣＰＵ）を用いて、ソフトウェア処理で生成したランダムデータおよびＥＣＣを出力する構成をとってもよい。これにより、ディスクアレイ制御部１に接続されるディスクの数がＮ台以上あるいはＮ台以下に変更になった場合でも、ＣＰＵの制御プログラムの更新により比較的容易に対応することが可能となる。
【００４６】
また本実施例１の説明で示したＮ台の記憶装置２はハードディスクドライブなどの磁気ディスクドライブや、ＤＶＤなどの光ディスクドライブ、ＭＯなどの光磁気ディスクドライブ、あるいは半導体メモリなどで構成されたものであってもよい。
【００４７】
以上のように本実施例１においては、記憶装置２の台数Ｎと同じ数のシンボル長で構成されるデータ（ランダムデータ＋ＥＣＣ）をＮ台の記憶装置２のそれぞれで生成し、該当するシンボル位置のデータのみをディスクアレイ制御部１に出力し、それらをＥＣＣ演算器１２でＥＣＣ演算することで、誤っているシンボルの位置、すなわち故障しているＩ／Ｆや伝送経路を特定することができる。
【００４８】
これにより、従来ならば通常動作モード時に使用する伝送経路に故障診断用の信号線類を接続しなければならなかったがその必要はなく、またディスクアレイ制御部１はＮ台の記憶装置２のそれぞれが生成したランダムデータやＥＣＣが、それぞれどのような値をとっているか把握する必要がないことから、データ比較等が不要となり故障診断モード時における処理を簡略化することができる。
【産業上の利用可能性】
【００４９】
本発明にかかる故障検出装置および方法は、ディスクアレイ装置のような複数の記憶装置が備わったシステムにおけるバスやインターフェイス回路の、効率的な故障診断を行うための装置および方法を有し、バスおよびインターフェイス回路の故障診断方法等として有用である。
【図面の簡単な説明】
【００５０】
【図１】本発明の実施例１におけるディスクアレイ装置の全体構成図
【図２】本発明の実施例１における記憶装置の内部構成図
【図３】本発明の実施例１の故障診断モード時の動作を示したフローチャート
【図４】本発明の実施例１で生成されるランダムデータおよびＥＣＣの構成図
【図５】従来のバスインターフェイス回路の全体構成図
【符号の説明】
【００５１】
１  ディスクアレイ制御部
２  Ｎ台のディスク（ディスク番号１〜Ｎ）
３  ディスク番号通知信号
４  故障診断制御信号
５  ホストコンピュータ
１１  故障診断制御部
１２  ＥＣＣ演算器
１３  メモリＩ／Ｆ
１４  メモリ
１５  記憶装置Ｉ／Ｆ
１６  コネクタ
１７  データ分割／結合部
２１  セレクタ
２２  データ保持回路
２３  ＥＣＣ生成回路
２４  ランダムデータ生成回路
２５  記憶領域
１００  回路Ａ
１０１  バッファＡ
１０２  方向制御回路Ａ
１０３  障害検出回路Ａ
１０４  内部側データバスＡ
１０５  方向制御信号Ａ
１１０  回路Ｂ
１１１  バッファＢ
１１２  方向制御回路Ｂ
１１３  障害検出回路Ｂ
１１４  内部側データバスＢ
１１５  方向制御信号Ｂ
１２０  データバス
１３０  障害通知信号線
【図１】
2006119878.tif 000003
【図２】
2006119878.tif 000004
【図３】
2006119878.tif 000005
【図４】
2006119878.tif 000006
【図５】
2006119878.tif 000007