JP4387968B2 - 障害検出装置および障害検出方法 - Google Patents

障害検出装置および障害検出方法 Download PDF

Info

Publication number
JP4387968B2
JP4387968B2 JP2005092380A JP2005092380A JP4387968B2 JP 4387968 B2 JP4387968 B2 JP 4387968B2 JP 2005092380 A JP2005092380 A JP 2005092380A JP 2005092380 A JP2005092380 A JP 2005092380A JP 4387968 B2 JP4387968 B2 JP 4387968B2
Authority
JP
Japan
Prior art keywords
failure
module
test
access
failure detection
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
Application number
JP2005092380A
Other languages
English (en)
Other versions
JP2006277079A (ja
Inventor
浩二 山口
弘章 佐藤
実希夫 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2005092380A priority Critical patent/JP4387968B2/ja
Priority to CN2005100854046A priority patent/CN1841547B/zh
Priority to KR1020050068792A priority patent/KR100770623B1/ko
Priority to US11/191,934 priority patent/US7624301B2/en
Publication of JP2006277079A publication Critical patent/JP2006277079A/ja
Application granted granted Critical
Publication of JP4387968B2 publication Critical patent/JP4387968B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2221Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test input/output devices or peripheral units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B19/00Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
    • G11B19/02Control of operating function, e.g. switching from recording to reproducing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

この発明は、複数のモジュールで構成されるディスクコントローラに発生した障害を検出する障害検出装置および障害検出方法に関し、特に、障害が発生したモジュールを特定することができる障害検出装置および障害検出方法に関するものである。
従来、多数の磁気ディスク装置(以下、単にディスク装置と呼ぶ)を接続することにより記憶容量の増大や入出力性能の向上を図ったストレージシステム(たとえば、ストレージ装置)が知られている。かかるストレージ装置は、個々のディスク装置に障害が発生した場合には、障害が発生したディスク装置のみを交換することにより、ストレージ装置としての運用を継続する。
このようなディスク装置の冗長化の機能を備えたストレージ装置は、ディスク装置の故障が発生した場合であっても運用を継続することが可能である。しかし、ストレージ装置の無停止運用を行うためには、ディスク装置のみならず、ストレージ装置全体を制御するコントローラや、各種構成装置といったモジュールも冗長化する必要がある。
このため、ストレージ装置を構成する各モジュールを冗長化したストレージ装置が出現するに至っている。このストレージ装置は、構成モジュールが故障した場合であっても、故障したモジュールのみを交換することにより、ストレージ装置の運用を継続しようとするものである。
なお、特許文献1には、故障したディスク装置を切り離し、切り離したディスク装置の故障診断を行う技術が開示されている。また、特許文献2には、障害が発生した場合に、ディスク装置の接続先となるチャネル装置の故障であるか、ディスク装置自体の故障であるかを判定する技術が開示されている。
特開平11−306644号公報 特開昭60−10328号公報
しかしながら、上記した従来のストレージ装置では、障害検出機構を備えたモジュールで障害を検出することができるものの、障害検出機構を備えないモジュールがデータの経路上に存在するため、障害が発生したモジュールを特定することができないという問題があった。このため、障害発生時には、保守員が手作業により、各モジュールが出力した障害ログなどを参照して障害モジュールを特定しなければならず、迅速な障害対応をすることができなかった。
また、特許文献1および特許文献2は、障害検出機構により障害が発生した装置を検出する技術であり、これらの技術を用いたとしても、上記した問題点を解決することはできない。
これらのことから、障害が発生したモジュールを特定することができるストレージ装置をいかにして実現するかが大きな課題となっている。なお、この課題は、ストレージ装置に設けられ、ストレージ装置内部の障害箇所を検出する障害検出装置を構成する場合についても同様に生じる課題である。
この発明は、上述した従来技術による問題点を解消するためになされたものであり、障害が発生したモジュールを特定することができる障害検出装置および障害検出方法を提供することを目的とする。
上述した課題を解決し、目的を達成するため発明は、複数のモジュールで構成されるディスクコントローラに発生した障害を検出する障害検出装置であって、前記モジュールが障害を検出した場合に、所定のメモリに対して試験データの読み書きを行うアクセス試験の実行を前記複数のモジュールに指示する試験指示手段と、前記試験指示手段の指示によって各モジュールで実行された各アクセス試験の結果に基づいて障害が発生したモジュールを特定する特定手段と、を備えたことを特徴とする。
また、発明は、前記モジュールが障害を検出した場合に、上位装置から受け付けたディスクアクセス要求の実行を所定期間停止する停止手段をさらに備えたことを特徴とする。
また、発明は、前記試験指示手段は、前記アクセス試験の実行を指示してから所定期間経過するまでは、新たな障害が検出された場合であっても、前記アクセス試験の実行を指示しないことを特徴とする。
また、発明は、前記試験指示手段は、前記試験データの読み書きを所定間隔で所定回数繰り返すアクセス試験を実行するよう指示することを特徴とする。
また、発明は、複数のモジュールで構成されるディスクコントローラに発生した障害を検出する障害検出方法であって、前記モジュールが障害を検出した場合に、所定のメモリに対して試験データの読み書きを行うアクセス試験の実行を前記複数のモジュールに指示する試験指示工程と、前記試験指示工程の指示によって各モジュールで実行された各アクセス試験の結果および障害を検出したモジュールを示す情報に基づいて障害が発生したモジュールを特定する特定工程と、を含んだことを特徴とする。
発明によれば、モジュールが障害を検出した場合に、所定のメモリに対して試験データの読み書きを行うアクセス試験の実行を複数のモジュールに指示し、各モジュールで実行された各アクセス試験の結果に基づいて障害が発生したモジュールを特定するよう構成したので、障害を検出していないモジュールあるいは障害を検出する機構を備えないモジュールも障害箇所の候補としたうえで、障害が発生したモジュールを特定することができるという効果を奏する。
また、発明によれば、モジュールが障害を検出した場合に、上位装置から受け付けたディスクアクセス要求の実行を所定期間停止するよう構成したので、アクセス試験の影響が通常のデータアクセス処理に及ぶことを効果的に防止することができるという効果を奏する。
また、発明によれば、アクセス試験の実行を指示してから所定期間経過するまでは、新たな障害が検出された場合であっても、アクセス試験の実行を指示しないよう構成したので、同一の障害理由に基づくアクセス試験が重複して実行されることを防止することにより、アクセス試験の実行に伴う処理の錯綜を効果的に防止することができるという効果を奏する。
また、発明によれば、試験データの読み書きを所定間隔で所定回数繰り返すアクセス試験を実行するよう指示するよう構成したので、所定の負荷がかかった状態でのみ検出することが可能な障害を再現することにより、障害検出の信頼性を向上させることができるという効果を奏する。
以下に添付図面を参照して、この発明に係る障害検出装置および障害検出方法の好適な実施例を詳細に説明する。なお、以下では、ストレージ装置の全体制御を行うコントローラ内部に本発明に係る障害検出装置を設けた場合について説明する。また、本実施例によりこの発明が限定されるものではない。
まず、本発明の特徴部分である障害検出手法について図1を用いて説明する。図1は、本発明に係る障害検出手法の概念を示す図である。
本発明に係る障害検出手法では、障害検出対象となる装置を構成するモジュールが障害を検出すると(図1の(1)参照)、障害を検出したモジュールは、障害検出装置を備えたモジュールに障害発生情報を報告する(図1の(2)参照)。そして、この報告を受けたモジュールが全てのモジュールに対して「アクセス試験」を実行することを指示し(図1の(3)参照)、このアクセス試験の結果と、最初に障害を検出したモジュールの情報に基づいて障害箇所を特定する(図1の(4)参照)。
このように、本発明に係る障害検出手法は、障害が発生した箇所を特定する仕組みを設けた点に特徴がある。従来の障害検出手法では、障害が発生した旨を検出することはできたものの、障害発生箇所を特定することができなかったため、ストレージ装置の保守要員が、障害ログなどを参照しながら試行錯誤で障害箇所(障害モジュール)を特定し、特定した障害モジュールを交換する作業を行う必要があった。
ここで、従来の障害検出手法の概念について図11を用いて説明しておく。図11は、従来の障害検出手法の概念を示す図である。なお、同図ではディスクアレイ装置における障害検出手法について説明している。同図に示すように、サーバ装置は、このディスクアレイ装置に対して書込み処理(同図の「ライト」)および読出し処理(同図の「リード」)を行う。この際、ディスクに対する書込みデータや、ディスクからの読出しデータが、処理過程において破壊されることを防止するための「データ保証」を行うことが一般的である。
まず、図11に示したディスクアレイ装置を構成する各モジュールについて説明する。同図の「CA」は、チャネルチャネルアダプタ(Channel Adapter)であり、サーバ装置との接続を制御するモジュールである。同じく「DA」は、デバイスアダプタ(Device Adapter)であり、ディスク装置との接続を制御するモジュールである。また、「CM」は、コントローラモジュール(Controller Module)であり、ディスクアレイ装置全体の動作を制御するモジュールである。なお、このCMには、ディスクキャッシュとして用いられるメモリが内蔵されることが一般的である。そして、「RT」は、ルータ(RouTer)であり、上記したCA、DAおよびCMを相互に接続するモジュールである。
そして、これらのモジュールは、それぞれが冗長化されており、障害が発生した場合には、該当するモジュールを交換することにより、ディスクアレイ装置を連続運用することができる。
さて、上記した「データ保証」を行うために、上記した各モジュールでは、モジュールを通過するデータのデータチェックを行うことが一般的である。たとえば、CA(チャネルアダプタ)や、DA(デバイスアダプタ)では、CRC(Cyclic Redundancy Check)チェックを行う。このCRCチェックは、データ保証の対象データに、16ビット〜32ビットのCRCコードを付加し、このCRCコードを用いてチェック対象データのビットエラーを検出するものである。かかるCRCチェックによれば、複数のビットが変化した場合であってもデータ異常を検出することができるので、ディスクコントローラなどにおけるデータチェックに用いられることが多い。
また、同図に示したように、CM(コントローラモジュール)やRT(ルータ)では、パリティチェックを行うことが一般的である。このパリティチェックは、1ビットのビットエラーを検出するものであり、複数のビットエラーが発生した場合には、データ異常を検出することができない。このように、ディスクアレイ装置を構成するモジュールの中には、パリティチェックのみを行っているモジュールや、データチェック自体を行っていない(行うことができない)モジュールが存在する。
このため、上記したCRCチェックを行っているモジュール(CAおよびDA)でデータエラーを検出した場合には、データの経路上のモジュール(CMおよびRT)が故障している可能性があるにもかかわらず、これらのモジュールの中で、どのモジュールが故障しているかを特定することができないという問題があった。
すなわち、従来の障害検出手法では、障害が発生しているモジュールを特定することができないために、交換すべきモジュールを判別できず、復旧作業を効率的に行うことができないという問題があった。特に、近年の情報処理システムの発展に伴って、無停止運転のニーズが高まっており、このニーズに応えるためにはいち早く障害モジュールを特定し、障害モジュールを交換することでシステム停止の危険性を回避する必要がある。
そこで、図1に示した本発明に係る障害検出手法では、上述したように、CRCチェックを行っているモジュール(CAあるいはDA)が障害を検出すると(図1の(1)参照)、障害検出装置を備えたモジュール(図1のCM参照)に障害発生情報を報告する(図1の(2)参照)。そして、この報告を受けたモジュール(CM)が、アクセス試験機能を備えた全てのモジュール(図1のCAおよびDA)に対してアクセス試験を実行することを指示し(図1の(3)参照)、このアクセス試験の結果に基づいて障害箇所を特定する(図1の(4)参照)こととしている。
このように、本発明に係る障害検出手法は、上記したCRCチェック機能を備えていないモジュール(CMあるいはRT)が故障している場合であっても、障害箇所(障害モジュール)を特定することができるので、この障害モジュールを交換することにより、障害時の保守作業を迅速かつ効率的に行うことができる。
次に、図1および図11に示した各モジュールの接続例について図2を用いて説明する。図2は、各モジュールの接続例を示す図である。同図に示すように、上記したCM、RT、CAおよびDAは、複数台ずつ設けられており、各モジュールを相互に接続することにより、特定のモジュールに障害が発生した場合であっても、障害モジュールを交換することにより運用を継続することができる構成をとっている。
たとえば、RT60aにはCA70およびDA80が、それぞれ複数台接続されている。また、CM50aは、4台のRT(60a〜60d)に接続されており、CM50aに障害が発生した場合には、他のCM(50b〜50d)に、その機能を代替することができる。
なお、図2に示すCM(50a〜50d)の中の一台は、マスターCMとしての機能を果たすモジュールであり、以下で詳述するアクセス試験の試験結果を、このマスターCMに設けられた障害検出装置が集計することにより、被疑モジュールを特定することになる。
次に、本実施例に係る障害検出装置の構成について図2を用いて説明する。図2は、障害検出装置の構成を示す機能ブロック図である。なお、以下では、図2に示す障害検出装置1を、上記したCM(コントローラモジュール)に設けた場合について説明することとする。
同図に示すように、障害検出装置1は、通信I/F部2と、制御部10と、記憶部20とを備えている。また、制御部10は、サーバ要求制御部11と、障害情報登録部12と、試験実行指示部13と、試験結果受信部14と、障害箇所特定部15とをさらに備えており、記憶部20は、障害情報21と、試験用記憶部22とをさらに備えている。
通信I/F部2は、上記した各モジュールとデータ送受信を行うための通信デバイスである。この通信I/F部2は、障害検出装置1の外部から受信したデータを制御部10に渡す処理を行うとともに、制御部10から受け取ったデータを障害検出装置1の外部に送信する処理を行う。
制御部10は、障害を検出したモジュール(以下、「障害検出モジュール」と呼ぶ)から障害情報を受け取ると、複数のモジュールに対して試験用記憶部22に対するアクセス試験を実行するよう指示し、このアクセス試験の結果に基づいて障害箇所(障害モジュール)を特定する処理を行う処理部である。
障害情報登録部12は、通信I/F部2を介して障害検出モジュールからの障害情報を受け取り、記憶部20に障害情報21として記憶させるとともに、サーバ要求制御部11および試験実行指示部13に対して障害情報を受け取った旨を通知する処理を行う処理部である。
また、この障害情報登録部12は、いったん障害情報を受信した場合には、所定の時間が経過するまでは、新たな障害情報を受け付けない。このようにすることで、同一の障害理由に基づくアクセス試験が重複して実行されることを防止することにより、アクセス試験の実行に伴う処理の錯綜を効果的に防止することができる。
サーバ要求制御部11は、サーバ装置からのディスク入出力指示の実行を一時的に停止する処理およびディスク入出力指示の実行を再開する処理を行う処理部である。具体的には、かかる入出力指示の実行を所定期間停止したり、アクセス試験の開始から終了までかかる入出力指示の実行を停止したりする。このように、サーバ要求制御部11は、サーバ装置からのディスク入出力指示の実行を一時的に中止することとしたので、アクセス試験の影響が通常のデータアクセス処理に及ぶことを効果的に防止することができる。
試験実行指示部13は、障害情報登録部12からの通知により、記憶部20の障害情報21に基づいて複数のモジュールに対し、試験用記憶部22への「アクセス試験」を実行するよう指示する処理部である。具体的には、障害発生時にアクセスしていたCM(コントローラモジュール)の情報を障害情報21から取得し、このCMを試験対象としたアクセス試験を行うよう複数のモジュールに指示する。また、各モジュールに対してアクセス試験の実行を指示する際には、試験対象となるCM(コントローラモジュール)の識別番号に加えて、アクセス試験の実行先となる試験用記憶部22内のアドレスを通知する。
ここで、この「アクセス試験」の内容について図4および図5を用いて説明しておく。図4は、試験内容の一例を示す図であり、図5は、データパターンの一例を示す図である。かかる試験実行指示部13は、図4に示したアクセス試験の実行を、複数のモジュールに対して指示する。この指示に基づいて、各モジュールは、試験用記憶部22の所定のエリアに対し、512バイト(以下、「512B」のように記載する)のデータに8バイトのブロックID(以下、「BID」と呼ぶ)を付加した520Bのデータを連続して8回書込む処理を行い(図4の「1」参照)、書込み処理が成功したか否かを確認する処理を行う(図4の「2」参照)。
つづいて、書込んだテストデータを読み出す処理を行い(図4の「3」参照)、読み出す処理が成功したか否かを確認する処理を行う(図4の「4」参照)。そして、書込んだデータと読み出したデータの先頭4Bを比較する処理を行う(図4の「5」参照)。
このような5つの処理を1セットとし、最初のセットではデータパターンA、次のセットではデータパターンBというように、2つのデータパターンを交互に用いながら、これらのセットを0.5秒の間繰り返すこととしている。このように、試験用記憶部22に対する書込みおよび読出し処理を、所定期間に渡り繰り返すことで、負荷状態を作り出すことができる。したがって、高負荷状態においてのみ発生する障害を効果的に検出することができる。
図5には、図4で示したデータパターンAおよびデータパターンBのデータ例を示している。図5に示したように、データパターンAは、8つのデータ列を有しており、これらの8つのデータ列は、図4に示した各書込み処理および読出し処理において、それぞれ用いられる。
たとえば、図4の「1」で用いられる「520Bデータの8回連続書込み」では、図5の「1」〜「8」のデータが用いられることになる。なお、図5に示したBID(ブロックID)は8Bであるものとする。また、図5に示したデータパターンBは、データパターンAのXOR(排他的論理和)をとったものである。
このように、異なるデータパターンを交互に用いることにより、特定のデータの書込みや読出しを行うことにより発生する障害を再現することができるので、障害検出の精度を向上させることができる。なお、図5では、アクセス試験のデータとして、各データ列のデータの内容がそれぞれ異なるものを使用した場合について説明したが、同一のデータを複数回(たとえば、8回)連続して書込んだり読出したりすることとしてもよい。
また、図4および図5に示したテストデータは一例を示したものであり、これらのテストデータとは異なるデータ長のデータを用いることとしてもよく、また、異なる繰り返しパターンを用いることとしてもよい。
図3の説明に戻り、試験結果受信部14について説明する。この試験結果受信部14は、各モジュールで実行されたアクセス試験の結果を受け取り、これらの結果を集計したものを障害箇所特定部14に渡す処理を行う処理部である。たとえば、かかるアクセス試験の結果としては、CRCエラー検出、BIDエラー検出、Compare(図4の「5」等を参照)エラー検出といった、検出したエラーの種別を示す情報が含まれる。
障害箇所特定部15は、試験結果受信部14から通知された情報に基づいて、障害箇所(障害が発生したモジュール)を特定する処理を行う処理部である。ここで、この障害箇所特定部15が障害箇所を特定する手順について図6〜図9を用いて説明しておく。図6〜図9は、それぞれ、障害箇所特定の例1〜4を示す図である。
まず、障害箇所特定の例1について説明する。図6には、RT(ルータ)配下に複数のアダプタ(CAあるいはDA)が接続されており、この接続関係において、アクセス試験の結果、1個のアダプタが障害を検出した場合について示している。
この場合、障害箇所特定部14は、図6に示すCA(チャネルアダプタ)が障害を検出していることから、このCAを第1被疑箇所と、CMおよびRTを第2、第3被疑箇所と特定する。なお、第1被疑箇所のモジュールは縮退させて活性保守の対象とすることになる。また、第2、第3被疑箇所のモジュールについても、第1被疑箇所のモジュールを交換後に障害が収束しない場合には、活性保守の対象とする。
次に、障害箇所特定の例2について説明する。図7には、RT(ルータ)配下に1個のアダプタ(図7ではCA)のみが接続されており、この接続関係において、アクセス試験の結果、このCAが障害を検出した場合について示している。この場合、障害箇所特定部14は、RTおよびCAを第1被疑箇所と、CMを第3被疑箇所と特定する。
次に、障害箇所特定の例3について説明する。図8には、RT(ルータ)配下に複数のアダプタ(CAあるいはDA)が接続されており、この接続関係において、アクセス試験の結果、複数のアダプタが障害を検出した場合について示している。この場合、障害箇所特定部14は、RT配下の複数のアダプタが障害を検出していることから、このRTを第1被疑箇所と特定する。また、CMを第2被疑箇所と、障害を検出したアダプタ(図7のCAおよびDA)を第3被疑箇所と、それぞれ特定する。
次に、障害箇所特定の例4について説明する。図9には、複数のアダプタにおいて障害が検出されており、かかる障害を検出したアダプタが、同一のCM配下の異なるRTにそれぞれ接続されている場合について示している。この場合、障害箇所特定部14は、このCMを第1被疑箇所と特定し、障害を検出したアダプタが接続されているRTおよび障害を検出したアダプタを、第2、第3被疑箇所と特定する。
このように、障害箇所特定部14は、アクセス試験の結果を試験結果受信部14から受け取り、この試験結果に基づいて障害箇所(障害モジュール)を特定することとしたので、この障害モジュールを交換することにより、障害時の保守作業を迅速かつ効率的に行うことができる。
図3の説明に戻って記憶部20について説明する。記憶部20は、RAM(Random Access Memory)などのメモリによって構成された記憶部であり、障害情報21および試験用記憶部22をさらに含んでいる。
障害情報21は、障害を検出したモジュールから通知された情報である。この障害情報21は、障害発生時に障害情報登録部12によって記憶部20に登録される。この障害情報21は、障害検出モジュールが障害を検出した際にアクセスしていたCM(コントローラモジュール)を示す情報を含んだ情報である。そして、試験実行指示部13は、この障害情報21に示されたCMに対するアクセス試験を各アダプタモジュール(CAおよびDA)に対して指示することになる。
試験用記憶部22は、アクセス試験において各モジュールが試験データの書込み処理および読出し処理を行うエリアとなる記憶部である。具体的には、この試験用記憶部22には、アダプタモジュール(CAあるいはDA)ごとのアクセスエリアが確保されており、各アダプタモジュールは、自モジュールに対して割り当てられたアクセスエリアに対してアクセス試験を実行する。たとえば、図4に示したように、520Bのデータを連続して8回書込む試験を行う場合には、少なくとも4160Bのアクセスエリアが各アダプタモジュール用にそれぞれ用意される。
次に、本実施例に係る障害検出装置1における障害検出処理の処理手順について図10を用いて説明する。図10は、障害検出処理の処理手順を示すフローチャートである。同図に示すように、障害情報登録部12は、通信I/F部2を介して障害検出モジュールから障害情報を受信する(ステップS101)。そして、この障害情報登録部12は、サーバI/Oのサスペンド(一時停止)をサーバ要求制御部11に指示する(ステップS102)。以降、ステップS105まで、たとえば約1秒間のサスペンド状態が継続することになる。
そして、試験実行指示部13は、障害情報21に基づき、障害検出モジュールが障害を検出した際にアクセスしていたCM(コントローラモジュール)に対するアクセス試験の実行を、複数のモジュール(CAおよびDA)に指示する(ステップS103)。そして、各モジュールがアクセス試験を完了すると、試験結果受信部14は各モジュールからアクセス試験の結果を受信し(ステップS104)、このアクセス試験の完了をもってサーバ要求制御部11にサーバI/Oのレジューム(再開)を指示する(ステップS105)。
つづいて、障害箇所特定部15はアクセス試験の試験結果を試験結果受信部14から受信し、図6〜図9に示した手順により障害箇所(障害モジュール)を特定する(ステップS106)。そして、障害モジュールを特定したならば、障害モジュールを縮退することにより活性保守の対象として(ステップS107)処理を終了する。
上述してきたように、本実施例では、障害情報登録部が障害検出モジュールから通知された障害情報を受信し、試験実行指示部が、かかる障害情報に基づいて障害発生時にアクセスしていたモジュールに対するアクセス試験の実行を各モジュールに指示し、試験結果受信部がアクセス試験の試験結果を受信したならば、障害箇所特定部がこのアクセス試験の試験結果に基づいて障害箇所を特定するよう構成した。また、サーバ要求制御部がアクセス試験の開始から終了までサーバ装置からのディスク入出力指示の実行を一時的に停止するよう構成した。したがって、障害検出機能を備えないモジュールに障害が発生した場合であっても、障害が発生したモジュールを特定することができる。また、アクセス試験の影響が通常のディスクアクセス処理に及ぶことを効果的に防止することができる。
なお、上述した実施例においては、障害検出装置をCM(コントローラモジュール)内に設けた場合について説明したが、これに限らず、他のモジュールに設けたり、これらのモジュールの外部に設けたりすることとしてもよい。
また、上記の実施例では、本発明を実現する障害検出装置を機能面から説明したが、障害検出装置の各機能はストレージ装置を構成する各モジュールなどに設けられた組み込みコンピュータにプログラムを実行させることによって実現することもできる。
すなわち、本実施例で説明した各種の処理手順は、あらかじめ用意されたプログラムを上記コンピュータ上で実行することによって実現することができる。そして、これらのプログラムは、インターネットなどのネットワークを介して配布することができる。さらに、これらのプログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行するようにしてもよい。
(付記1)複数のモジュールで構成されるディスクコントローラに発生した障害を検出する障害検出装置であって、
前記モジュールが障害を検出した場合に、所定のメモリに対して試験データの読み書きを行うアクセス試験の実行を前記複数のモジュールに指示する試験指示手段と、
前記試験指示手段の指示によって各モジュールで実行された各アクセス試験の結果に基づいて障害が発生したモジュールを特定する特定手段と、
を備えたことを特徴とする障害検出装置。
(付記2)前記モジュールが障害を検出した場合に、上位装置から受け付けたディスクアクセス要求の実行を所定期間停止する停止手段をさらに備えたことを特徴とする付記1に記載の障害検出装置。
(付記3)前記試験指示手段は、
前記アクセス試験の実行を指示してから所定期間経過するまでは、新たな障害が検出された場合であっても、前記アクセス試験の実行を指示しないことを特徴とする付記1または2に記載の障害検出装置。
(付記4)前記試験指示手段は、
前記試験データの読み書きを所定間隔で所定回数繰り返すアクセス試験を実行するよう指示することを特徴とする付記1、2または3に記載の障害検出装置。
(付記5)前記試験指示手段は、
所定のデータパターンを用いた読み書きと、該データパターンとは異なるデータパターンを用いた読み書きとを交互に行うアクセス試験を実行するよう指示することを特徴とする付記1〜4のいずれか一つに記載の障害検出装置。
(付記6)複数のモジュールで構成されるディスクコントローラに発生した障害を検出する障害検出方法であって、
前記モジュールが障害を検出した場合に、所定のメモリに対して試験データの読み書きを行うアクセス試験の実行を前記複数のモジュールに指示する試験指示工程と、
前記試験指示工程の指示によって各モジュールで実行された各アクセス試験の結果に基づいて障害が発生したモジュールを特定する特定工程と、
を含んだことを特徴とする障害検出方法。
(付記7)前記モジュールが障害を検出した場合に、上位装置から受け付けたディスクアクセス要求の実行を所定期間停止する停止工程をさらに含んだことを特徴とする付記6に記載の障害検出方法。
(付記8)前記試験指示工程は、
前記アクセス試験の実行を指示してから所定期間経過するまでは、新たな障害が検出された場合であっても、前記アクセス試験の実行を指示しないことを特徴とする付記6または7に記載の障害検出方法。
(付記9)前記試験指示工程は、
前記試験データの読み書きを所定間隔で所定回数繰り返すアクセス試験を実行するよう指示することを特徴とする付記6、7または8に記載の障害検出方法。
(付記10)前記試験指示工程は、
所定のデータパターンを用いた読み書きと、該データパターンとは異なるデータパターンを用いた読み書きとを交互に行うアクセス試験を実行するよう指示することを特徴とする付記6〜9のいずれか一つに記載の障害検出方法。
以上のように、本発明に係る障害検出装置および障害検出方法は、ストレージ装置を構成するモジュールの中から障害が発生したモジュールを特定したい場合に有用であり、特に、各モジュールを冗長化したストレージ装置における障害発生モジュールの特定に適している。
障害検出手法の概念を示す図である。 各モジュールの接続例を示す図である。 障害検出装置の構成を示す機能ブロック図である。 試験内容の一例を示す図である。 データパターンの一例を示す図である。 障害箇所特定の例1を示す図である。 障害箇所特定の例2を示す図である。 障害箇所特定の例3を示す図である。 障害箇所特定の例4を示す図である。 障害検出処理の処理手順を示すフローチャートである。 従来の障害検出手法の概念を示す図である。
1 障害検出装置
2 通信I/F部
10 制御部
11 サーバ要求制御部
12 障害情報登録部
13 試験実行指示部
14 試験結果受信部
15 障害箇所特定部
20 記憶部
21 障害情報
22 試験用記憶部
50a、50b、50c、50d CM(コントローラモジュール)
60a、60b、60c、60d RT(ルータ)
70 CA(チャネルアダプタ)
80 DA(デバイスアダプタ)

Claims (6)

  1. 階層状に接続された複数のモジュールで構成されるディスクコントローラに発生した障害を検出する障害検出装置であって、
    所定の前記モジュールが障害を検出した場合に、所定のメモリに対して試験データの読み書きを行うアクセス試験の実行を前記複数のモジュールに指示する試験指示手段と、
    前記試験指示手段によって各モジュールで実行された前記アクセス試験の結果が異常である異常モジュールおよび当該異常モジュールの上位に存在する上位モジュールの接続関係に基づいて障害が疑われる順位を決定する順位決定手段と、
    前記順位決定手段によって決定された前記順位が最も高いモジュールを障害モジュールとして特定する特定手段と
    を備えたことを特徴とする障害検出装置。
  2. 前記モジュールが障害を検出した場合に、上位装置から受け付けたディスクアクセス要求の実行を所定期間停止する停止手段をさらに備えたことを特徴とする請求項1に記載の障害検出装置。
  3. 前記試験指示手段は、
    前記アクセス試験の実行を指示してから所定期間経過するまでは、新たな障害が検出された場合であっても、前記アクセス試験の実行を指示しないことを特徴とする請求項1または2に記載の障害検出装置。
  4. 前記試験指示手段は、
    前記試験データの読み書きを所定間隔で所定回数繰り返すアクセス試験を実行するよう指示することを特徴とする請求項1、2または3に記載の障害検出装置。
  5. 前記試験指示手段は、
    所定の前記モジュールが障害を検出した場合に、当該モジュールがアクセスしていた前記モジュールであるアクセス先モジュールをアクセス先とするアクセス試験を実行するように前記複数のモジュールに指示することを特徴とする請求項1〜4のいずれか一つに記載の障害検出装置。
  6. 階層状に接続された複数のモジュールで構成されるディスクコントローラに発生した障害を検出する障害検出方法であって、
    所定の前記モジュールが障害を検出した場合に、所定のメモリに対して試験データの読み書きを行うアクセス試験の実行を前記複数のモジュールに指示する試験指示工程と、
    前記試験指示工程によって各モジュールで実行された前記アクセス試験の結果が異常である異常モジュールおよび当該異常モジュールの上位に存在する上位モジュールの接続関係に基づいて障害が疑われる順位を決定する順位決定工程と、
    前記順位決定工程によって決定された前記順位が最も高いモジュールを障害モジュールとして特定する特定工程と
    を含んだことを特徴とする障害検出方法。
JP2005092380A 2005-03-28 2005-03-28 障害検出装置および障害検出方法 Expired - Fee Related JP4387968B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2005092380A JP4387968B2 (ja) 2005-03-28 2005-03-28 障害検出装置および障害検出方法
CN2005100854046A CN1841547B (zh) 2005-03-28 2005-07-18 识别故障模块的方法及装置
KR1020050068792A KR100770623B1 (ko) 2005-03-28 2005-07-28 장해 검출 장치 및 장해 검출 방법
US11/191,934 US7624301B2 (en) 2005-03-28 2005-07-29 Method and apparatus for identifying failure module

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005092380A JP4387968B2 (ja) 2005-03-28 2005-03-28 障害検出装置および障害検出方法

Publications (2)

Publication Number Publication Date
JP2006277079A JP2006277079A (ja) 2006-10-12
JP4387968B2 true JP4387968B2 (ja) 2009-12-24

Family

ID=37030519

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005092380A Expired - Fee Related JP4387968B2 (ja) 2005-03-28 2005-03-28 障害検出装置および障害検出方法

Country Status (4)

Country Link
US (1) US7624301B2 (ja)
JP (1) JP4387968B2 (ja)
KR (1) KR100770623B1 (ja)
CN (1) CN1841547B (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7743129B2 (en) * 2006-05-01 2010-06-22 International Business Machines Corporation Methods and arrangements to detect a failure in a communication network
US8626149B2 (en) 2007-12-18 2014-01-07 Qualcomm Incorporated Monitoring and troubleshooting a module associated with a portable communication device
US8001425B2 (en) * 2009-04-08 2011-08-16 Hewlett-Packard Development Company, L.P, Preserving state information of a storage subsystem in response to communication loss to the storage subsystem
WO2011121666A1 (ja) * 2010-03-31 2011-10-06 富士通株式会社 マルチクラスタシステム
EP2381367A1 (en) * 2010-04-20 2011-10-26 Siemens Aktiengesellschaft Method and apparatus for the performing unit testing of software modules in software systems
US8185780B2 (en) * 2010-05-04 2012-05-22 International Business Machines Corporation Visually marking failed components
US8533539B2 (en) * 2010-09-17 2013-09-10 Symantec Corporation Fault handling systems and methods
JP5751156B2 (ja) * 2011-12-19 2015-07-22 富士通株式会社 ストレージシステム、制御装置およびストレージシステムの制御方法
US11232016B1 (en) * 2018-09-21 2022-01-25 Amazon Technologies, Inc. Debug for computation networks using error detection codes
CN112631842B (zh) * 2020-12-21 2023-10-27 成都海光集成电路设计有限公司 一种系统内存识别测试方法、系统及电子设备

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6010328A (ja) 1983-06-30 1985-01-19 Fujitsu Ltd 入出力障害切分け処理方式
US4689475A (en) 1985-10-15 1987-08-25 Raychem Corporation Electrical devices containing conductive polymers
JPH0281224A (ja) 1988-09-19 1990-03-22 Hitachi Ltd 磁気ディスク装置のバックアップ装置
JPH034861U (ja) 1989-06-01 1991-01-18
JPH0394321A (ja) 1989-06-21 1991-04-19 Hitachi Ltd アクセス制御方法
EP0457308B1 (en) * 1990-05-18 1997-01-22 Fujitsu Limited Data processing system having an input/output path disconnecting mechanism and method for controlling the data processing system
JPH05165680A (ja) * 1991-12-13 1993-07-02 Mitsubishi Electric Corp メモリ操作トレ−ス装置
JPH06110721A (ja) * 1992-09-25 1994-04-22 Fujitsu Ltd メモリ制御装置
KR950012495B1 (ko) * 1993-11-24 1995-10-18 삼성전자주식회사 메모리 진단장치 및 방법
US5640504A (en) * 1994-01-24 1997-06-17 Advanced Computer Applications, Inc. Distributed computing network
US5610929A (en) * 1994-03-11 1997-03-11 Fujitsu Limited Multibyte error correcting system
JPH088760A (ja) * 1994-06-16 1996-01-12 Toshiba Corp 誤り訂正装置
FR2724026B1 (fr) * 1994-08-29 1996-10-18 Aerospatiale Procede et dispositif pour l'identification de pannes dans un systeme complexe
DE69521101T2 (de) * 1994-10-31 2001-10-18 Ibm Gemeinsam genutzte virtuelle Platten mit anwendungstransparenter Wiedergewinnung
US5615335A (en) * 1994-11-10 1997-03-25 Emc Corporation Storage system self-test apparatus and method
US5557739A (en) * 1994-11-14 1996-09-17 Gateway 2000, Inc. Computer system with component removal and replacement control scheme
JP2817692B2 (ja) 1996-01-17 1998-10-30 日本電気株式会社 マイコン付磁気ディスク装置
US5761428A (en) * 1996-07-05 1998-06-02 Ncr Corporation Method and aparatus for providing agent capability independent from a network node
JPH10207787A (ja) 1997-01-28 1998-08-07 Nec Commun Syst Ltd 記憶装置試験システム
US6147967A (en) * 1997-05-09 2000-11-14 I/O Control Corporation Fault isolation and recovery in a distributed control network
JP2982741B2 (ja) * 1997-05-13 1999-11-29 日本電気株式会社 集積回路の故障診断装置及びその記録媒体
JP3611964B2 (ja) * 1998-04-16 2005-01-19 富士通株式会社 記憶装置、記憶制御方法及び記憶媒体
JPH11306644A (ja) 1998-04-17 1999-11-05 Nec Eng Ltd ディスクアレイ装置
JP3231704B2 (ja) 1998-06-25 2001-11-26 エヌイーシーフィールディング株式会社 データ消失防止機能付きディスクアレイ装置
US6378051B1 (en) * 1999-06-14 2002-04-23 Maxtor Corporation Interrupt signal prioritized shared buffer memory access system and method
JP3755346B2 (ja) * 1999-07-26 2006-03-15 富士通株式会社 不揮発性半導体記憶装置
CN1145972C (zh) * 2000-03-30 2004-04-14 华为技术有限公司 随机存储器的自动检测方法及其检测电路
JP2002071758A (ja) * 2000-08-29 2002-03-12 Mitsubishi Electric Corp 半導体集積回路のテスト装置
JP2006110721A (ja) 2000-12-25 2006-04-27 Fanuc Ltd ワイヤ放電加工機の制御装置
JP2002244934A (ja) 2001-02-19 2002-08-30 Toyo Commun Equip Co Ltd メモリ監視装置および方法
JP3714184B2 (ja) * 2001-03-29 2005-11-09 富士通株式会社 記憶装置のデータ領域間複写処理方法、及び記憶システム
JP3617631B2 (ja) * 2001-07-19 2005-02-09 富士通株式会社 ストレージ制御装置及びその制御方法
JP2003308180A (ja) 2002-04-15 2003-10-31 Matsushita Electric Ind Co Ltd データ記録装置
US7197662B2 (en) 2002-10-31 2007-03-27 Ring Technology Enterprises, Llc Methods and systems for a storage system
JP2005115751A (ja) * 2003-10-09 2005-04-28 Hitachi Ltd 計算機システム及び計算機システムの障害兆候の検知方法
JP2005165680A (ja) 2003-12-02 2005-06-23 Matsushita Electric Ind Co Ltd 設置位置決定支援方法
JP2006065961A (ja) * 2004-08-27 2006-03-09 Oki Electric Ind Co Ltd 不揮発性メモリの試験方法
US7434119B2 (en) * 2005-03-07 2008-10-07 Arm Limited Method and apparatus for memory self testing

Also Published As

Publication number Publication date
KR20060103802A (ko) 2006-10-04
US7624301B2 (en) 2009-11-24
JP2006277079A (ja) 2006-10-12
KR100770623B1 (ko) 2007-10-29
CN1841547B (zh) 2010-08-18
US20060218438A1 (en) 2006-09-28
CN1841547A (zh) 2006-10-04

Similar Documents

Publication Publication Date Title
JP4387968B2 (ja) 障害検出装置および障害検出方法
US6976197B2 (en) Apparatus and method for error logging on a memory module
JP5160085B2 (ja) ストレージ・デバイスの障害を予測するための装置、システム、および方法
US7900084B2 (en) Reliable memory for memory controller with multiple channels
US7137020B2 (en) Method and apparatus for disabling defective components in a computer system
US8201019B2 (en) Data storage device in-situ self test, repair, and recovery
JP4852315B2 (ja) データ信頼性向上方法及びその方法を用いた情報処理装置
CN102301339A (zh) 用于控制固态盘(ssd)设备的装置和方法
WO2017215377A1 (zh) 内存硬错误的处理方法及装置
US8347142B2 (en) Non-disruptive I/O adapter diagnostic testing
US7139942B2 (en) Method and apparatus for memory redundancy and recovery from uncorrectable errors
JP7125602B2 (ja) データ処理装置および診断方法
CN112650612A (zh) 一种内存故障定位方法及装置
JP2007004793A (ja) 組込型処理装置システム用コードカバレッジ測定方法及び装置
JP2008084080A (ja) 障害情報格納システム、サービスプロセッサ、障害情報格納方法、及びプログラム
US20060117219A1 (en) Control device
JP2009015553A (ja) 記憶装置およびプログラムおよびメモリ故障救済方法
CN111610778B (zh) 一种提高工控系统稳定性的自适应监测系统
JP5381151B2 (ja) 情報処理装置、バス制御回路、バス制御方法及びバス制御プログラム
JP2003177876A (ja) ディスクアレイ装置
JP2021111325A (ja) 以前に発生したエラー分析を介してエラー対応動作を選択するためのメモリシステム及びメモリシステムを含むデータ処理システム
JP2010049394A (ja) 磁気ディスクの書き込み障害の検出と回復を行うディスクアレイシステム、方法およびプログラム
JP2011129039A (ja) Raidシステム
TW202024903A (zh) 依處理器資訊完整測試處理器內通訊鏈路之系統及方法
JP2006185344A (ja) ループ障害検出装置及び方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090325

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090407

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090604

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091001

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20121009

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121009

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131009

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees