JP6094070B2 - システムおよび異常箇所特定方法 - Google Patents

システムおよび異常箇所特定方法 Download PDF

Info

Publication number
JP6094070B2
JP6094070B2 JP2012147931A JP2012147931A JP6094070B2 JP 6094070 B2 JP6094070 B2 JP 6094070B2 JP 2012147931 A JP2012147931 A JP 2012147931A JP 2012147931 A JP2012147931 A JP 2012147931A JP 6094070 B2 JP6094070 B2 JP 6094070B2
Authority
JP
Japan
Prior art keywords
signal
svc
level
kill
input
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
JP2012147931A
Other languages
English (en)
Other versions
JP2014010714A (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 JP2012147931A priority Critical patent/JP6094070B2/ja
Priority to US13/929,187 priority patent/US9086963B2/en
Publication of JP2014010714A publication Critical patent/JP2014010714A/ja
Application granted granted Critical
Publication of JP6094070B2 publication Critical patent/JP6094070B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、システムおよび異常箇所特定方法に関する。
RAID(Redundant Arrays of Inexpensive Disks)システムには、RAID装置の状態を監視し、状態に応じて制御を行うサービスコントローラ(SVC:Service Controller)と呼ばれる装置が搭載されている。
かかるSVCは、SVCを制御するMPU(Micro-Processing Unit)とSVCの制御を補助するFPGA(Field Programmable Gate Array)とを備える。このSVCは、冗長化されており、一方の系のSVCのFPGAが他方の系のSVCの異常を検知すると、異常が検知されたSVCに対して初期化を促す信号(以降、初期化信号という)を送信する。このとき、異常を検知したSVCのFPGAは、予め定められた1つの信号線を用いて、初期化信号としてハイレベルの信号を送信し、もう1つの信号線を用いて、初期化信号としてローレベルの信号を送信する。異常が検知されたSVCでは、初期化信号を受け付けたFPGAが、自SVCを初期化するとともに、初期化信号を受け付けたことをMPUへ割り込みにより通知する。すると、割り込みを受けたMPUは割り込み処理を行い、初期化がされるまでRAID装置の制御を行わない。なお、一方の系のSVCが、他系のSVCの異常を検知しない場合、初期化信号の伝送に用いられる1つの信号線を用いて、正常な状態として、ローレベルの信号を送信し、もう1つの信号線を用いて、正常な状態として、ハイレベルの信号を送信する。
特開2001−5743号公報 特開平11−143783号公報
しかしながら、RAID装置が運用中に、信号線の信号が所定のレベルに張り付くような故障が発生した場合、SVCは、当該故障を検知することができないという問題がある。例えば、SVCは、他系のSVCの異常を検知したとき、初期化信号としてハイレベルの信号を送信しても、他系のSVCは、ローレベルの信号を受け取ることがある。ところが、他系のSVCは、受け取った信号をローレベルから変化しない状態となっている信号(以下、ローレベルに張り付いた信号と述べる)と判断できないので、ローレベルに張り付くような故障を検知できない。同様に、SVCは、他系のSVCの異常を検知したとき、初期化信号としてローレベルの信号を送信しても、他系のSVCは、ハイレベルの信号を受け取ることがある。ところが、他系のSVCは、受け取った信号をハイベルから変化しない状態となっている信号(以下、ハイレベルに張り付いた信号と述べる)と判断できないので、ハイレベルに張り付くような故障を検知できない。これによって、他系のSVCは、異常であっても、初期化信号に基づいて初期化することができないので、RAID装置の運用に悪影響を与えてしまう可能性がある。
なお、上記課題は、RAIDシステムに限らず、冗長化された装置同士が信号を用いて通信されるシステムであれば、同様に生じる課題である。
1つの側面では、本発明は、システムが運用中に、信号線の信号が所定のレベルから変化しないような異常を検知することを目的とする。
本願の開示するシステムは、1つの態様において、信号線を用いて相互に通信する第1の装置および第2の装置を有するシステムにおいて、前記第1の装置は、前記第2の装置から前記信号線を用いて出力される信号の信号レベルを保持する保持部を有し、前記第2の装置は、前記信号線に所定のレベルの信号を入力し、前記保持部によって保持された信号の信号レベルが、入力したレベルと一致しない場合に、信号のレベルが特定のレベルから変化しない異常であることを検出する検出部を有する。
本願の開示するシステムの1つの態様によれば、システムが運用中に、信号線の信号が所定のレベルから変化しないような異常を検知できる。
図1は、実施例1に係るRAIDシステムのハードウェア構成を示す図である。 図2は、OT_KILL_P信号の回路故障検出のシーケンスを示す図(1)である。 図3は、OT_KILL_P信号の回路故障検出のシーケンスを示す図(2)である。 図4は、OT_KILL_N信号の回路故障検出のシーケンスを示す図(1)である。 図5は、OT_KILL_N信号の回路故障検出のシーケンスを示す図(2)である。 図6は、実施例2に係るRAIDシステムのハードウェア構成を示す図である。 図7は、OT_KILL_P信号がHIGHに張り付く回路故障時の故障箇所特定のシーケンスを示す図である。 図8は、OT_KILL_N信号がHIGHに張り付く回路故障時の故障箇所特定のシーケンスを示す図である。 図9は、OT_KILL_P信号がLOWに張り付く回路故障時の故障箇所特定のシーケンスを示す図である。 図10は、OT_KILL_N信号がLOWに張り付く回路故障時の故障箇所特定のシーケンスを示す図である。
以下に、本願の開示するシステムおよび異常箇所特定方法の実施例を図面に基づいて詳細に説明する。なお、実施例によりこの発明が限定されるものではない。以下では、RAIDシステムに本発明を適用した場合について説明する。
[RAIDシステムの構成]
図1は、実施例1に係るRAIDシステムのハードウェア構成を示す図である。図1に示すように、RAIDシステム9は、RAID装置1と、複数のSVC2、3と、コネクタ4とを有する。RAID装置1は、ハードディスク(HDD:Hard Disk Drive)を管理する。SVC2、3は、冗長化され、ここでは0系のSVC2と1系のSVC3とがコネクタ4を介して接続される。
SVC2、3は、RAID装置1の状態を監視し、状態に応じて制御を行う。例えば、SVC2、3は、RAID装置1の電源制御や温度制御を行う。また、SVC2、3は、それぞれ他系のSVC3、2の状態を監視し、状態に応じて制御を行う。
SVC2は、FPGA21と、バススイッチ22と、MPU23とを有する。FPGA21は、SVC2の制御を補助する集積回路である。バススイッチ22は、バスライン(信号線)を流れる信号について、FPGA21に向けての出力をオン/オフする。すなわち、バススイッチ22は、FPGA21側の信号線に信号が流れる状態(接続状態)と、信号線に信号が流れない状態(切断状態)とを切り替える。MPU23は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。例えば、MPU23は、SVCファームウェア23aによって種々の処理を実行する。
FPGA21は、他系のSVC3とFPGA間通信を行う。このFPGA間通信を用いて、SVCファームウェア23aは、SVC3と相互に通信を行う。例えば、SVCファームウェア23aは、FPGA間通信によってSVC3の異常を検知すると、FPGA21に、SVC3への初期化を促す信号(以降、「初期化信号」という)を出力させる。
FPGA21は、他系のSVC3が異常である場合、SVC3に初期化信号を出力する。この初期化信号は、SVC2、3のFPGA間を接続する2つの信号線41、42を用いて出力される。信号線41には、初期化信号として電圧がハイレベルとなる信号が出力される。ハイレベルとは、例えば‘1’を示す。かかる信号線41を用いて出力される信号は、以降、「OT_KILL_P信号」というものとする。また、信号線42には、初期化信号として電圧がローレベルとなる信号が出力される。ローレベルとは、例えば‘0’を示す。かかる信号線42を用いて出力される信号は、以降、「OT_KILL_N信号」というものとする。なお、他系のSVC3が正常である場合には、信号線41には、電圧がローレベルとなるOT_KILL_P信号が出力されるとともに、信号線42には、電圧がハイレベルとなるOT_KILL_N信号が出力される。
信号線41には、制御レジスタ211とバッファ212とが実装されている。制御レジスタ211は、SVCファームウェア23aによってOT_KILL_P信号が制御される際に用いられる。バッファ212は、必要な電流量が流れるように信号線41の伝送路全体の電圧を持ち上げる際に用いられる。
信号線42には、制御レジスタ213とバッファ214とが実装されている。制御レジスタ213は、SVCファームウェア23aによってOT_KILL_N信号が制御される際に用いられる。バッファ214は、必要な電流量が流れるように信号線42の伝送路全体の電圧を持ち上げる際に用いられる。
また、FPGA21は、自系が異常である場合、他系のSVC3から、自系を初期化するように促される初期化信号を入力する。この初期化信号は、SVC2、3のFPGA間を接続する2つの信号線43、44を用いて入力される。信号線43を用いて入力される信号は、以降、「OWN_KILL_P信号」というものとする。信号線44を用いて入力される信号は、以降、「OWN_KILL_N信号」というものとする。すなわち、OWN_KILL_P信号は、初期化信号として、電圧がハイレベルとなる信号であり、OWN_KILL_N信号は、初期化信号として、電圧がローレベルとなる信号である。
また、FPGA21は、バススイッチ22と通信する。この通信を用いて、SVCファームウェア23aは、バススイッチ22を制御する。例えば、SVCファームウェア23aは、バススイッチ22を接続状態にする場合、FPGA21に、電圧がハイレベルとなる信号を入力させる。また、SVCファームウェア23aは、バススイッチ22を切断状態にする場合、FPGA21に、電圧がローレベルとなる信号を入力させる。かかる通信を用いて入力させる信号は、以降、「BUS_OE信号」というものとする。なお、信号線43、44は、それぞれFFPGA21とバススイッチ22との間でグランドと接続する。
SVC3は、FPGA31と、バススイッチ32と、MPU33とを有する。FPGA31は、SVC3の制御を補助する集積回路である。バススイッチ32は、バスライン(信号線)を流れる信号について、FPGA31に向けての出力をオン/オフする。すなわち、バススイッチ32は、FPGA31側の信号線に信号が流れる状態(接続状態)と、信号線に信号が流れない状態(切断状態)とを切り替える。MPU33は、SVC3を制御するチップである。MPU33は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。例えば、MPU33は、SVCファームウェア33aによって種々の処理を実行する。
FPGA31は、他系のSVC2とFPGA間通信を行う。このFPGA間通信を用いて、SVCファームウェア33aは、SVC2と相互に通信を行う。
FPGA31は、自系が異常である場合、他系のSVC2から出力される、自系を初期化するように促される初期化信号を入力する。この初期化信号は、SVC2、3のFPGA間を接続する2つの信号線41、42を用いて入力される。信号線41を用いて入力する信号は、OWN_KILL_P信号である。信号線42を用いて入力する信号は、OWN_KILL_N信号である。すなわち、OWN_KILL_P信号は、初期化信号として、電圧がハイレベルとなる信号であり、OWN_KILL_N信号は、初期化信号として、電圧がローレベルとなる信号である。
信号線41には、状態レジスタ311が実装されている。状態レジスタ311は、信号線41の信号レベルが保持される。すなわち、状態レジスタ311は、OWN_KILL_P信号の信号レベルが保持される。この状態レジスタ311を用いて、SVCファームウェア33aは、OWN_KILL_P信号を参照する。信号線42には、状態レジスタ312が実装されている。状態レジスタ312は、信号線42の信号レベルが保持される。すなわち、状態レジスタ312は、OWN_KILL_N信号の信号レベルが保持される。この状態レジスタ312を用いて、SVCファームウェア33aは、OWN_KILL_N信号を参照する。
また、FPGA31は、バススイッチ32と通信する。この通信を用いて、SVCファームウェア33aは、バススイッチ32を制御する。例えば、SVCファームウェア33aは、バススイッチ32を接続状態にする場合、FPGA31に、電圧がハイレベルとなるBUS_OE信号を入力させる。また、SVCファームウェア33aは、バススイッチ32を切断状態にする場合、FPGA31に、電圧がローレベルとなるBUS_OE信号を入力させる。なお、信号線41、42は、それぞれバススイッチ32とFPGA31との間でグランドと接続する。
MPU23は、故障検出部231を有する。故障検出部231は、OT_KILL_P信号およびOT_KILL_N信号について、特定の信号レベルに張り付く回路故障を検出する。なお、故障検出部231は、システムの運用中に、定期的または不定期的に故障検出を試みる。
例えば、故障検出部231は、制御レジスタ211を用いて、信号線41に電圧がハイレベルの信号を入力する。すなわち、故障検出部231は、OT_KILL_P信号をハイレベルに制御する。そして、故障検出部231は、SVC3側のOWN_KILL_P信号の状態レジスタ311に保持された信号の信号レベルが、入力した信号レベルであるハイレベルと一致するか否かを判定する。そして、故障検出部231は、状態レジスタ311に保持された信号の信号レベルがローレベルであり、入力した信号レベル(ハイレベル)と一致しない場合、信号がローレベルに張り付く回路故障であることを検出する。すなわち、故障検出部231は、OT_KILL_P信号のローレベルに張り付く回路故障を検出する。
一方、故障検出部231は、状態レジスタ311に保持された信号の信号レベルがハイレベルであり、入力した信号レベル(ハイレベル)と一致する場合、さらに、制御レジスタ211を用いて、信号線41に電圧がローレベルの信号を入力する。すなわち、故障検出部231は、OT_KILL_P信号をローレベルに制御する。そして、故障検出部231は、SVC3側のOWN_KILL_P信号の状態レジスタ311に保持された信号の信号レベルが、入力した信号レベルであるローレベルと一致するか否かを判定する。そして、故障検出部231は、状態レジスタ311に保持された信号の信号レベルがハイレベルであり、入力した信号レベル(ローレベル)と一致しない場合、信号がハイレベルに張り付く回路故障であることを検出する。すなわち、故障検出部231は、OT_KILL_P信号のハイレベルに張り付く回路故障を検出する。一方、故障検出部231は、状態レジスタ311に保持された信号の信号レベルがローレベルであり、入力した信号レベル(ローレベル)と一致する場合、OT_KILL_P信号およびOWN_KILL_P信号は正常であることを検出する。
なお、故障検出部231によるOT_KILL_P信号の回路故障の検出について説明したが、OT_KILL_N信号の回路故障の検出についても同様の流れとなるので、その説明を省略する。
[OT_KILL_P信号の回路故障検出のシーケンス]
次に、実施例1に係るRAIDシステム9において、OT_KILL_P信号の回路故障検出のシーケンスを、図2および図3を参照して説明する。図2および図3は、OT_KILL_P信号の回路故障検出のシーケンスを示す図である。なお、図2および図3では、SVC2をSVC#0とし、SVC3をSVC#1として説明するものとする。また、電圧がハイレベルであることを「HIGH」、電圧がローレベルであることを「LOW」と略記して記載するものとする。
まず、SVC#0では、SVCファームウェア23a(故障検出部231)は、故障検出要求を受け付けたか否かを判定する(ステップS11)。故障検出要求を受け付けてないと判定した場合(ステップS11;No)、SVCファームウェア23aは、当該要求を受け付けるまで判定処理を繰り返す。
一方、故障検出要求を受け付けたと判定した場合(ステップS11;Yes)、SVCファームウェア23aは、SVC#1へOT_KILL_P信号をHIGH(例えば‘1’)に制御することを通知する(ステップS12)。このとき、SVCファームウェア23aは、FPGA間通信を用いて、SVC#1へ通知する。
そして、SVC#1では、SVCファームウェア33aは、SVC#0からの通知を受けて応答を返す(ステップS13)。ここでは、SVCファームウェア33aは、OT_KILL_P信号をHIGHに制御する旨の通知に対して肯定する応答を返す。
続いて、SVC#0では、SVCファームウェア23aは、OT_KILL_P信号をHIGHに制御する(ステップS14)。例えば、SVCファームウェア23aは、制御レジスタ211を用いて、信号線41にHIGHを入力する。そして、SVCファームウェア23aは、FPGA間通信を用いて、SVC#1へ制御結果を要求する(ステップS15)。
すると、SVC#1では、SVCファームウェア33aは、OWN_KILL_P信号の状態レジスタ311の信号レベルを応答する(ステップS16)。
そして、SVC#0では、SVCファームウェア23aは、SVC#1におけるOWN_KILL_P信号の状態レジスタ311の信号レベルが‘0’であるか否かを判定する(ステップS17)。SVC#1におけるOWN_KILL_P信号の状態レジスタ311の信号レベルが‘0’であると判定した場合(ステップS17;Yes)、SVCファームウェア23aは、OT_KILL_P信号のLOWに張り付く回路故障であることを検出する(ステップS18)。つまり、SVCファームウェア23aは、状態レジスタ311に保持された信号レベルがLOWであり、OT_KILL_P信号に入力したHIGHと一致しないので、OT_KILL_P信号がLOWに張り付く回路故障であることを検出する。
一方、SVC#1におけるOWN_KILL_P信号の状態レジスタ311の信号レベルが‘0’でないと判定した場合(ステップS17;No)、SVCファームウェア23aは、ステップS21に移行する。つまり、SVCファームウェア23aは、状態レジスタ311に保持された信号レベルがHIGHであり、OT_KILL_P信号に入力したHIGHと一致するので、次に移行する。
ステップS21では、SVCファームウェア23aは、SVC#1へOT_KILL_P信号をLOW(例えば‘0’)に制御することを通知する(ステップS21)。このとき、SVCファームウェア23aは、FPGA間通信を用いて、SVC#1に対して通知する。
そして、SVC#1では、SVCファームウェア33aは、SVC#0からの通知を受けて応答を返す(ステップS22)。ここでは、SVCファームウェア33aは、OT_KILL_P信号をLOWに制御する旨の通知に対して肯定する応答を返す。
続いて、SVC#0では、SVCファームウェア23aは、OT_KILL_P信号をLOWに制御する(ステップS23)。例えば、SVCファームウェア23aは、制御レジスタ211を用いて、信号線41にLOWを入力する。そして、SVCファームウェア23aは、FPGA間通信を用いて、SVC#1へ制御結果を要求する(ステップS24)。
すると、SVC#1では、SVCファームウェア33aは、OWN_KILL_P信号の状態レジスタ311の信号レベルを応答する(ステップS25)。
そして、SVC#0では、SVCファームウェア23aは、SVC#1におけるOWN_KILL_P信号の状態レジスタ311の信号レベルが‘1’であるか否かを判定する(ステップS26)。SVC#1におけるOWN_KILL_P信号の状態レジスタ311の信号レベルが‘1’であると判定した場合(ステップS26;Yes)、SVCファームウェア23aは、OT_KILL_P信号のHIGHに張り付く回路故障であることを検出する(ステップS27)。つまり、SVCファームウェア23aは、状態レジスタ311に保持された信号レベルがHIGHであり、OT_KILL_P信号に入力したLOWと一致しないので、OT_KILL_P信号がHIGHに張り付く回路故障であることを検出する。そして、SVCファームウェア23aは、OT_KILL_P信号の回路故障検出処理を終了する。
一方、SVC#1におけるOWN_KILL_P信号の状態レジスタ311の信号レベルが‘1’でないと判定した場合(ステップS26;No)、SVCファームウェア23aは、PWN_KILL_P信号は正常であることを検出する(ステップS28)。そして、SVCファームウェア23aは、OT_KILL_P信号の回路故障検出処理を終了する。
[OT_KILL_N信号の回路故障検出のシーケンス]
次に、実施例1に係るRAIDシステム9において、OT_KILL_N信号の回路故障検出のシーケンスを、図4および図5を参照して説明する。図4および図5は、OT_KILL_N信号の回路故障検出のシーケンスを示す図である。なお、図4および図5では、SVC2をSVC#0とし、SVC3をSVC#1として説明するものとする。また、電圧がハイレベルであることを「HIGH」、電圧がローレベルであることを「LOW」と略記して記載するものとする。
まず、SVC#0では、SVCファームウェア23a(故障検出部231)は、故障検出要求を受け付けたか否かを判定する(ステップS31)。故障検出要求を受け付けてないと判定した場合(ステップS31;No)、SVCファームウェア23aは、当該要求を受け付けるまで判定処理を繰り返す。
一方、故障検出要求を受け付けたと判定した場合(ステップS31;Yes)、SVCファームウェア23aは、SVC#1へOT_KILL_N信号をHIGH(例えば‘1’)に制御することを通知する(ステップS32)。このとき、SVCファームウェア23aは、FPGA間通信を用いて、SVC#1に対して通知する。
そして、SVC#1では、SVCファームウェア33aは、SVC#0からの通知を受けて応答を返す(ステップS33)。ここでは、SVCファームウェア33aは、OT_KILL_N信号をHIGHに制御する旨の通知に対して肯定する応答を返す。
続いて、SVC#0では、SVCファームウェア23aは、OT_KILL_N信号をHIGHに制御する(ステップS34)。例えば、SVCファームウェア23aは、制御レジスタ213を用いて、信号線42にHIGHを入力する。そして、SVCファームウェア23aは、FPGA間通信を用いて、SVC#1へ制御結果を要求する(ステップS35)。
すると、SVC#1では、SVCファームウェア33aは、OWN_KILL_N信号の状態レジスタ312の信号レベルを応答する(ステップS36)。
そして、SVC#0では、SVCファームウェア23aは、SVC#1におけるOWN_KILL_N信号の状態レジスタ312の信号レベルが‘0’であるか否かを判定する(ステップS37)。SVC#1におけるOWN_KILL_N信号の状態レジスタ312の信号レベルが‘0’であると判定した場合(ステップS37;Yes)、SVCファームウェア23aは、OT_KILL_N信号のLOWに張り付く回路故障であることを検出する(ステップS38)。つまり、SVCファームウェア23aは、状態レジスタ312に保持された信号レベルがLOWであり、OT_KILL_N信号に入力したHIGHと一致しないので、OT_KILL_N信号がLOWに張り付く回路故障であることを検出する。
一方、SVC#1におけるOWN_KILL_N信号の状態レジスタ311の信号レベルが‘0’でないと判定した場合(ステップS37;No)、SVCファームウェア23aは、ステップS41に移行する。つまり、SVCファームウェア23aは、状態レジスタ312に保持された信号レベルがHIGHであり、OT_KILL_N信号に入力したHIGHと一致するので、次に移行する。
ステップS41では、SVCファームウェア23aは、SVC#1へOT_KILL_N信号をLOW(例えば‘0’)に制御することを通知する(ステップS41)。このとき、SVCファームウェア23aは、FPGA間通信を用いて、SVC#1に対して通知する。
そして、SVC#1では、SVCファームウェア33aは、SVC#0からの通知を受けて応答を返す(ステップS42)。ここでは、SVCファームウェア33aは、OT_KILL_N信号をLOWに制御する旨の通知に対して肯定する応答を返す。
続いて、SVC#0では、SVCファームウェア23aは、OT_KILL_N信号をLOWに制御する(ステップS43)。例えば、SVCファームウェア23aは、制御レジスタ213を用いて、信号線42にLOWを入力する。そして、SVCファームウェア23aは、FPGA間通信を用いて、SVC#1へ制御結果を要求する(ステップS44)。
すると、SVC#1では、SVCファームウェア33aは、OWN_KILL_N信号の状態レジスタ312の信号レベルを応答する(ステップS45)。
そして、SVC#0では、SVCファームウェア23aは、SVC#1におけるOWN_KILL_N信号の状態レジスタ312の信号レベルが‘1’であるか否かを判定する(ステップS46)。SVC#1におけるOWN_KILL_N信号の状態レジスタ312の信号レベルが‘1’であると判定した場合(ステップS46;Yes)、SVCファームウェア23aは、OT_KILL_N信号のHIGHに張り付く回路故障であることを検出する(ステップS47)。つまり、SVCファームウェア23aは、状態レジスタ312に保持された信号レベルがHIGHであり、OT_KILL_N信号に入力したLOWと一致しないので、OT_KILL_N信号がHIGHに張り付く回路故障であることを検出する。そして、SVCファームウェア23aは、OT_KILL_N信号の回路故障検出処理を終了する。
一方、SVC#1におけるOWN_KILL_N信号の状態レジスタ312の信号レベルが‘1’でないと判定した場合(ステップS46;No)、SVCファームウェア23aは、PWN_KILL_N信号は正常であることを検出する(ステップS48)。そして、SVCファームウェア23aは、OT_KILL_N信号の回路故障検出処理を終了する。
[実施例1の効果]
上記実施例1によれば、SVC3では、状態レジスタ311が、SVC2から信号線41を用いて出力される信号の信号レベルを保持する。そして、SVC2では、故障検出部231が、信号線41に所定のレベルの信号を入力し、状態レジスタ311によって保持された信号の信号レベルが、入力したレベルと一致しない場合に、信号の特定のレベルに張り付く回路故障であることを検出する。かかる構成によれば、故障検出部231は、入力した信号レベルとの比較に、同じ信号線41を用いて出力される信号の信号レベルを利用することにより入力した信号レベルとの不一致を検出する。このため、故障検出部231は、信号線41に入力した信号レベルと異なるレベルに張り付くような信号の回路故障を容易に検出できる。
また、上記実施例1によれば、故障検出部231は、システムの運用中に、定期的または不定期的に、信号の特定のレベルに張り付く回路故障の検出を実行する。かかる構成によれば、故障検出部231は、システムが運用中であっても、定期的または不定期的に、信号の特定のレベルに張り付く回路故障の検出を実行するようにしたので、当該回路故障を検出しなければ、当該信号のレベルを信頼することができる。この結果、SVC2がSVC3の異常を検知した場合、SVC3側では、SVC2から出力される初期化信号を信頼できるので、確実に初期化することができる。
ところで、実施例1に係るRAIDシステム9では、SVC2のSVCファームウェア23aが、OT_KILL_P信号またはOT_KILL_N信号の特定のレベルに張り付く回路故障を検出する場合を説明した。しかしながら、RAIDシステム9は、これに限定されず、検出した後に、検出した回路故障の故障箇所を特定するようにしても良い。そこで、実施例2では、RAIDシステム9が、OT_KILL_P信号またはOT_KILL_N信号の特定のレベルに張り付く回路故障の故障箇所を特定する場合について説明する。
[実施例2に係るRAIDシステムの構成]
図6は、実施例2に係るRAIDシステムのハードウェア構成を示す図である。なお、図1に示すRAIDシステム9と同一の構成については同一符号を示すことで、その重複する構成および動作の説明については省略する。実施例1と実施例2とが異なるところは、FPGA21の信号線41にループバック状態レジスタ511とバッファ512を追加し、FPGA21の信号線42にループバック状態レジスタ513とバッファ514を追加した点にある。また、実施例1と実施例2とが異なるところは、SVC3のFPGA31に制御レジスタ515を追加した点にある。また、実施例1と実施例2とが異なるところは、MPU23に故障箇所特定部516を追加し、MPU33に故障箇所特定部517を追加した点にある。
ループバック状態レジスタ511は、信号線41に入力された信号をループバックさせて保持する。かかる信号線41に入力される信号をループバックさせて出力される信号は、以降、「R_OT_KILL_P信号」というものとする。すなわち、ループバック状態レジスタ511は、OT_KILL_P信号に関し、SVCファームウェア23aによって制御された信号レベルを保持する。なお、ループバックは、信号線41がFPGA21から出る直前で行われる。
バッファ512は、必要な電流量が流れるように信号線41の伝送路全体の電圧を持ち上げる際に用いられる。
ループバック状態レジスタ513は、信号線42に入力された信号をループバックさせて保持する。かかる信号線42に入力される信号をループバックさせて出力される信号は、以降、「R_OT_KILL_N信号」というものとする。すなわち、ループバック状態レジスタ513は、OT_KILL_N信号に関し、SVCファームウェア23aによって制御された信号レベルを保持する。なお、ループバックは、信号線42がFPGA21から出る直前で行われる。
バッファ514は、必要な電流量が流れるように信号線42の伝送路全体の電圧を持ち上げる際に用いられる。
制御レジスタ515は、SVCファームウェア33aによってBUS_OE信号が制御される際に用いられるレジスタである。
故障箇所特定部516および故障箇所特定部517は、OT_KILL_P信号のハイレベルに張り付く回路故障が検出された場合、被疑箇所を特定する。
例えば、故障箇所特定部516は、故障箇所特定部517に、SVC3側のバススイッチ32が切断状態になるように指示する。そして、故障箇所特定部517は、制御レジスタ515を用いて、BUS_OE信号を切断状態に制御し、バススイッチ32を切断状態にする。そして、故障箇所特定部517は、状態レジスタ311を参照して、OWN_KILL_P信号の信号レベルがローレベルであるか否かを判定する。そして、故障箇所特定部517は、OWN_KILL_P信号の信号レベルがローレベルであると判定した場合、SVC2側の回路故障であると判断する。つまり、OT_KILL_P信号がハイレベルに張り付いている場合に、SVC3側のバススイッチ32が切断状態であってOWN_KILL_P信号の状態レジスタ311がローレベルと判定されたので、SVC3側は正常であり、SVC2側が回路故障であると判断される。SVC2側の回路故障には、一例として、OT_KILL_P信号の出力ピンが故障している場合がある。一方、故障箇所特定部517は、OWN_KILL_P信号の信号レベルがハイレベルであると判定した場合、SVC3側の回路故障であると判断する。つまり、OT_KILL_P信号がハイレベルに張り付いている場合、SVC3側のバススイッチ32が切断状態であるにも関わらず、OWN_KILL_P信号の状態レジスタ311がハイレベルと判定されたので、SVC3側が回路故障であると判断される。SVC3側の回路故障には、一例として、バススイッチ32が故障している場合がある。
なお、OT_KILL_P信号がハイレベルに張り付く回路故障時の被疑箇所の特定について説明したが、OT_KILL_N信号がハイレベルに張り付く回路故障時の被疑箇所の特定についても同様の流れとなるので、その説明を省略する。
また、SVC3側の故障箇所特定部517が、回路故障の故障箇所を特定するものと説明した。しかしながら、SVC2側の故障箇所特定部516が、SVC3側の故障箇所特定部517とFPGA間通信を行って、回路故障の故障箇所を特定するようにしても良い。例えば、SVC2側の故障箇所特定部516は、故障箇所特定部517に、SVC3側のバススイッチ32が切断状態になるように指示した後、FPGA間通信を用いてOWN_KILL_P信号の状態レジスタの信号レベルを要求する。そして、故障箇所特定部516は、FPGA間通信を介して取得したOWN_KILL_P信号の信号レベルがローレベルであるか否かを判定するようにすれば良い。
また、故障箇所特定部516および故障箇所特定部517は、OT_KILL_P信号のローレベルに張り付く回路故障が検出された場合、被疑箇所を特定する。
例えば、故障箇所特定部516は、制御レジスタ211を用いて、信号線41に電圧がハイレベルの信号を入力する。すなわち、故障箇所特定部516は、OT_KILL_P信号をハイレベルに制御する。そして、故障箇所特定部516は、故障箇所特定部517に、SVC3側のバススイッチ32が切断状態になるように指示する。そして、故障箇所特定部517は、制御レジスタ515を用いて、BUS_OE信号を切断状態に制御する。SVC3側のバススイッチ32を切断状態にするのは、故障箇所の特定にあたりバススイッチ32の影響を排除するためである。そして、故障箇所特定部516は、ループバック状態レジスタ511に保持された信号の信号レベルが、入力した信号レベルであるハイレベルと一致するか否かを判定する。そして、故障箇所特定部516は、ループバック状態レジスタ511に保持された信号の信号レベルが、入力した信号レベルであるハイレベルと一致すると判定した場合、SVC3側の回路故障であると判断する。つまり、OT_KILL_P信号がローレベルに張り付いている場合、SVC2側で入力したハイレベルとループバックした信号の信号レベルが一致しているので、SVC2側は正常であり、SVC3側が回路故障であると判断される。一方、故障箇所特定部516は、ループバック状態レジスタ511に保持された信号の信号レベルが、入力した信号レベルであるハイレベルと一致しないと判定した場合、SVC2側の回路故障であると判断する。つまり、OT_KILL_P信号がハイレベルに張り付いている場合、SVC2側で入力したハイレベルとループバックした信号の信号レベルが一致していないので、SVC2側が回路故障であると判断される。
なお、OT_KILL_P信号がローレベルに張り付く回路故障時の被疑箇所の特定について説明したが、OT_KILL_N信号がローレベルに張り付く回路故障時の被疑箇所の特定についても同様の流れとなるので、その説明を省略する。
[OT_KILL_P信号のHIGH張り付き故障時の故障箇所特定のシーケンス]
次に、実施例2に係るRAIDシステム9Aにおいて、OT_KILL_P信号がハイレベル(以降、「HIGH」と略記)に張り付く回路故障時の故障箇所特定のシーケンスを、図7を参照して説明する。図7は、OT_KILL_P信号がHIGHに張り付く回路故障時の故障箇所特定のシーケンスを示す図である。なお、図7では、SVC2をSVC#0とし、SVC3をSVC#1として説明するものとする。また、SVC#0のSVCファームウェア23aは、OT_KILL_P信号のHIGHに張り付く回路故障を検出したとする。
すると、SVC#0では、SVCファームウェア23a(故障箇所特定部516)が、SVC#1へBUS OE信号をLOWに制御するように指示する(ステップS51)。これは、SVC#1側のバススイッチ32を切断状態にするためである。
そして、SVC#1では、SVCファームウェア33aが、バススイッチ32を切断状態にすべく、BUS OE信号をLOWに制御する(ステップS52)。続いて、SVCファームウェア33aは、SVC#1のOWN_KILL_P信号の状態レジスタ311の信号レベルが‘0’であるか否かを判定する(ステップS53)。
OWN_KILL_P信号の状態レジスタ311の信号レベルが‘0’であると判定した場合(ステップS53;Yes)、SVCファームウェア33aは、SVC#0の回路故障と判断し、SVC#0の交換を促す(ステップS54)。つまり、SVC#1側のバススイッチ32が切断状態であって、且つOWN_KILL_P信号の状態レジスタ311がローレベルであるので、SVC#1側は正常であり、SVC#0側が故障であると判断される。そして、SVCファームウェア33aは、故障箇所特定処理を終了する。
一方、OWN_KILL_P信号の状態レジスタ311の信号レベルが‘0’でないと判定した場合(ステップS53;No)、SVCファームウェア33aは、SVC#1の回路故障と判断し、SVC#1の交換を促す(ステップS55)。つまり、SVC#1側のバススイッチ32が切断状態であるにも関わらず、OWN_KILL_P信号の状態レジスタ311がハイレベルであるので、SVC#1側が故障であると判断される。そして、SVCファームウェア33aは、故障箇所特定処理を終了し、SVCファームウェア23aは、故障箇所特定処理を終了する。
[OT_KILL_N信号のHIGH張り付き故障時の故障箇所特定のシーケンス]
次に、実施例2に係るRAIDシステム9Aにおいて、OT_KILL_N信号がハイレベル(以降、「HIGH」と略記)に張り付く回路故障時の故障箇所特定のシーケンスを、図8を参照して説明する。図8は、OT_KILL_N信号がHIGHに張り付く回路故障時の故障箇所特定のシーケンスを示す図である。なお、図8では、SVC2をSVC#0とし、SVC3をSVC#1として説明するものとする。また、SVC#0のSVCファームウェア23aは、OT_KILL_N信号のHIGHに張り付く回路故障を検出したとする。
すると、SVC#0では、SVCファームウェア23a(故障箇所特定部516)が、SVC#1へBUS OE信号をLOWに制御するように指示する(ステップS61)。これは、SVC#1側のバススイッチ32を切断状態にするためである。
そして、SVC#1では、SVCファームウェア33aが、バススイッチ32を切断状態にすべく、BUS OE信号をLOWに制御する(ステップS62)。続いて、SVCファームウェア33aは、SVC#1のOWN_KILL_N信号の状態レジスタ312の信号レベルが‘0’であるか否かを判定する(ステップS63)。
OWN_KILL_N信号の状態レジスタ312の信号レベルが‘0’であると判定した場合(ステップS63;Yes)、SVCファームウェア33aは、SVC#0の回路故障と判断し、SVC#0の交換を促す(ステップS64)。つまり、SVC#1側のバススイッチ32が切断状態であって、且つOWN_KILL_N信号の状態レジスタ312がローレベルであるので、SVC#1側は正常であり、SVC#0側が故障であると判断される。そして、SVCファームウェア33aは、故障箇所特定処理を終了する。
一方、OWN_KILL_N信号の状態レジスタ312の信号レベルが‘0’でないと判定した場合(ステップS63;No)、SVCファームウェア33aは、SVC#1の回路故障と判断し、SVC#1の交換を促す(ステップS65)。つまり、SVC#1側のバススイッチ32が切断状態であるにも関わらず、OWN_KILL_N信号の状態レジスタ312がハイレベルであるので、SVC#1側が故障であると判断される。そして、SVCファームウェア33aは、故障箇所特定処理を終了し、SVCファームウェア23aは、故障箇所特定処理を終了する。
[OT_KILL_P信号のLOW張り付き故障時の故障箇所特定のシーケンス]
次に、実施例2に係るRAIDシステム9Aにおいて、OT_KILL_P信号がローレベル(以降、「LOW」と略記)に張り付く回路故障時の故障箇所特定のシーケンスを、図9を参照して説明する。図9は、OT_KILL_P信号がLOWに張り付く回路故障時の故障箇所特定のシーケンスを示す図である。なお、図9では、SVC2をSVC#0とし、SVC3をSVC#1として説明するものとする。また、SVC#0のSVCファームウェア23aは、OT_KILL_P信号のLOWに張り付く回路故障を検出したとする。
すると、SVC#0では、SVCファームウェア23a(故障箇所特定部516)が、OT_KILL_P信号をHIGHに制御する(ステップS71)。例えば、SVCファームウェア23aは、制御レジスタ211を用いて、信号線41にHIGHを入力する。続いて、SVCファームウェア23aは、SVC#1へBUS OE信号をLOWに制御するように指示する(ステップS72)。これは、SVC#1側のバススイッチ32の影響を排除するためである。
そして、SVC#1では、SVCファームウェア33aが、バススイッチ32を切断状態にすべく、BUS OE信号をLOWに制御する(ステップS73)。
続いて、SVC#0では、SVCファームウェア23aは、SVC#0のOT_KILL_P信号と、R_OT_KILL_P信号の状態レジスタの信号レベルが一致しているか否かを判定する(ステップS74)。すなわち、SVCファームウェア23aは、ループバック状態レジスタ511に保持された信号の信号レベルが、入力した信号レベルであるハイレベルと一致しているか否かを判定する。
SVC#0のOT_KILL_P信号と、R_OT_KILL_P信号の状態レジスタが一致していると判定した場合(ステップS74;Yes)、SVCファームウェア23aは、SVC#1の回路故障と判断し、SVC#1の交換を促す(ステップS75)。つまり、SVC#0側で入力したハイレベルとループバックした信号の信号レベルが一致しているので、SVC#0側は正常であると判断され、SVC#1側は故障であると判断される。そして、SVCファームウェア23aは、故障箇所特定処理を終了する。
SVC#0のOT_KILL_P信号と、R_OT_KILL_P信号の状態レジスタが一致していないと判定した場合(ステップS74;No)、SVCファームウェア23aは、SVC#0の回路故障と判断し、SVC#0の交換を促す(ステップS76)。つまり、SVC#0側で入力したハイレベルとループバックした信号の信号レベルが一致していないので、SVC#0側は故障であると判断される。そして、SVCファームウェア23aは、故障箇所特定処理を終了する。
[OT_KILL_P信号のLOW張り付き故障時の故障箇所特定のシーケンス]
次に、実施例2に係るRAIDシステム9Aにおいて、OT_KILL_N信号がローレベル(以降、「LOW」と略記)に張り付く回路故障時の故障箇所特定のシーケンスを、図10を参照して説明する。図10は、OT_KILL_N信号がLOWに張り付く回路故障時の故障箇所特定のシーケンスを示す図である。なお、図10では、SVC2をSVC#0とし、SVC3をSVC#1として説明するものとする。また、SVC#0のSVCファームウェア23aは、OT_KILL_N信号のLOWに張り付く回路故障を検出したとする。
すると、SVC#0では、SVCファームウェア23a(故障箇所特定部516)が、OT_KILL_N信号をHIGHに制御する(ステップS81)。例えば、SVCファームウェア23aは、制御レジスタ213を用いて、信号線42にHIGHを入力する。続いて、SVCファームウェア23aは、SVC#1へBUS OE信号をLOWに制御するように指示する(ステップS82)。これは、SVC#1側のバススイッチ32の影響を排除するためである。
そして、SVC#1では、SVCファームウェア33aが、バススイッチ32を切断状態にすべく、BUS OE信号をLOWに制御する(ステップS83)。
続いて、SVC#0では、SVCファームウェア23aは、SVC#0のOT_KILL_N信号と、R_OT_KILL_N信号の状態レジスタが一致しているか否かを判定する(ステップS84)。すなわち、SVCファームウェア23aは、ループバック状態レジスタ513に保持された信号の信号レベルが、入力した信号レベルであるハイレベルと一致しているか否かを判定する。
SVC#0のOT_KILL_N信号と、R_OT_KILL_N信号の状態レジスタが一致していると判定した場合(ステップS84;Yes)、SVCファームウェア23aは、SVC#1の回路故障と判断し、SVC#1の交換を促す(ステップS85)。つまり、SVC#0側で入力したハイレベルとループバックした信号の信号レベルが一致しているので、SVC#0側は正常であると判断され、SVC#1側は故障であると判断される。そして、SVCファームウェア23aは、故障箇所特定処理を終了する。
SVC#0のOT_KILL_N信号と、R_OT_KILL_N信号の状態レジスタが一致していないと判定した場合(ステップS84;No)、SVCファームウェア23aは、SVC#0の回路故障と判断し、SVC#0の交換を促す(ステップS86)。つまり、SVC#0側で入力したハイレベルとループバックした信号の信号レベルが一致していないので、SVC#0側は故障であると判断される。そして、SVCファームウェア23aは、故障箇所特定処理を終了する。
[実施例2の効果]
上記実施例2によれば、SVC3は、信号線41を流れる信号について、状態レジスタ311に向けての出力をオン/オフするバススイッチ32をさらに有する。そして、SVC2は、信号の信号レベルに張り付く異常であることが検出された場合、バススイッチ32をオフ(切断状態)にする。そして、SVC2は、状態レジスタ311に保持された信号レベルまたはループバック状態レジスタ511に保持された信号レベルを用いて、SVC2およびSVC3のいずれが異常であるのかを特定する。かかる構成によれば、SVC2は、信号の信号レベルに張り付く異常であることが検出された場合に、SVC2およびSVC3のいずれが異常であるのかを特定するので、交換するべきSVCを決定でき、円滑にシステムを運用することが可能となる。
また、上記実施例2によれば、SVC2は、信号のハイレベルに張り付く異常であることが検出された場合、バススイッチ32をオフ(切断状態)にする。そして、SVC2は、状態レジスタ311によって保持された信号の信号レベルがハイレベルである場合、SVC3が異常であることを特定する。一方、SVC2は、状態レジスタ311によって保持された信号の信号レベルがローレベルである場合、SVC2が異常であることを特定する。かかる構成によれば、SVC2は、SVC3のバススイッチ32の切断状態を利用して、切断状態である場合に保持されるべきローレベルが保持されているか否かで異常のSVCを特定する。この結果、SVC2は、信号のハイレベルに張り付く異常である場合に、容易に異常のSVCを特定できる。
また、上記実施例2によれば、SVC2は、信号のローレベルに張り付く異常であることが検出された場合、信号線41にハイレベルの信号を入力し、バススイッチ32をオフ(切断状態)にする。そして、SVC2は、ループバック状態レジスタ511によって保持された信号の信号レベルが入力した信号レベルと一致しない場合、SVC2の異常であることを特定する。一方、SVC2は、ループバック状態レジスタ511によって保持された信号の信号レベルが入力した信号レベルと一致する場合、SVC3の異常であることを特定する。かかる構成によれば、SVC2は、SVC2のループバック状態レジスタ511を利用して、ループバック状態レジスタ511に、入力した信号レベルであるハイレベルが保持されているか否かで異常のSVCを特定する。この結果、SVC2は、信号のローレベルに張り付く異常である場合に、容易に異常のSVCを特定できる。
[その他]
なお、実施例1、2では、RAIDシステム9、9Aが、信号線41、42を対象に、特定の信号レベルに張り付く回路故障を検出し、検出した回路故障の故障箇所を特定した。しかしながら、かかるシステムは、RAIDシステムに限定されず、冗長化された装置間で信号線を用いて相互に通信するシステムであれば良い。
また、実施例1、2では、RAIDシステム9、9Aが、初期化信号を扱う信号線41、42を対象に、特定の信号レベルに張り付く回路故障を検出し、検出した回路故障の故障箇所を特定するようにした。しかしながら、RAIDシステム9、9Aは、初期化信号でない信号を扱う信号線を対象に、特定の信号レベルに張り付く回路故障を検出し、検出した回路故障の故障箇所を特定するようにしても良い。これにより、RAIDシステム9、9Aでは、特定の信号レベルに張り付く回路故障の検出および故障箇所の特定を、汎用的に行うことができる。
以上説明した実施形態及びその変形例に関し、更に以下の付記を開示する。
(付記1)信号線を用いて相互に通信する第1の装置および第2の装置を有するシステムにおいて、
前記第1の装置は、
前記第2の装置から前記信号線を用いて出力される信号の信号レベルを保持する保持部を有し、
前記第2の装置は、
前記信号線に所定のレベルの信号を入力し、前記保持部によって保持された信号の信号レベルが、入力したレベルと一致しない場合に、信号のレベルが特定のレベルから変化しない異常であることを検出する検出部を有する
ことを特徴とするシステム。
(付記2)前記第1の装置は、
前記信号線を流れる信号について、前記保持部に向けての出力をオン/オフするスイッチをさらに有し、
前記第2の装置は、
前記信号線に入力された信号の信号レベルをループバックさせて保持するループバック保持部と、
前記検出部によって信号の信号レベルからレベルが変化しない異常であることが検出された場合、前記スイッチをオフしたうえで、前記保持部に保持された信号レベルまたは前記ループバック保持部に保持された信号レベルを用いて、前記第1の装置および前記第2の装置のいずれが異常であるのかを特定する異常特定部をさらに有する
ことを特徴とする付記1に記載のシステム。
(付記3)前記異常特定部は、前記検出部によって信号のハイレベルからレベルが変化しない異常が検出された場合、前記スイッチをオフしたうえで、前記保持部によって保持された信号の信号レベルがハイレベルである場合、前記第1の装置が異常であることを特定し、前記保持部によって保持された信号の信号レベルがローレベルである場合、前記第2の装置が異常であることを特定する
ことを特徴とする付記2に記載のシステム。
(付記4)前記異常特定部は、前記検出部によって信号のローレベルからレベルが変化しない異常が検出された場合、前記信号線にハイレベルの信号を入力し、前記スイッチをオフしたうえで、前記ループバック保持部)によって保持された信号の信号レベルが入力した信号レベルと一致しない場合、前記第1の装置が異常であることを特定し、前記ループバック保持部によって保持された信号の信号レベルが入力した信号レベルと一致する場合、前記第2の装置が異常であることを特定する
ことを特徴とする付記2に記載のシステム。
(付記5)前記検出部は、システムの運用中に、定期的または不定期的に前記異常の検出を実行することを特徴とする付記1から付記3のいずれか1つに記載のシステム。
(付記6)信号線を用いて相互に通信する第1の装置および第2の装置を有するシステムの異常箇所特定方法において、
前記第2の装置が、前記信号線に所定のレベルの信号を入力し、
前記第1の装置が、該入力した信号を前記第2の装置から前記信号線を用いて出力される信号の信号レベルを保持し、
前記第2の装置が、該保持する処理によって保持された信号の信号レベルが、入力したレベルと一致しない場合に、信号のレベルが特定のレベルから変化しない異常を検出する
各処理を実行することを特徴とする異常箇所特定方法。
1 RAID装置
2、3 SVC
9、9A RAIDシステム
21、31 FPGA
22、32 バススイッチ
23、33 MPU
231 故障検出部
23a、33a SVCファームウェア
211、213 制御レジスタ
212、214 バッファ
311、312 状態レジスタ
41〜44 信号線
511、513 ループバック状態レジスタ
512、514 バッファ
515 制御レジスタ
516、517 故障箇所特定部

Claims (4)

  1. 信号線を用いて相互に通信する第1の装置および第2の装置を有するシステムにおいて、
    前記第1の装置は、
    前記信号線を流れる信号の出力をオン/オフするスイッチと、
    前記第2の装置から前記信号線を用いて出力される信号の信号レベルを保持し、前記第2の装置の指示により、前記スイッチがオフされると、グラウンドと接続される保持部と、
    前記第2の装置の要求により、前記保持部によって保持された信号レベルを前記第2の装置に通知する通知部と、
    を有し、
    前記第2の装置は、
    前記信号線に特定のレベルの信号を入力する入力部と、
    前記入力部によって前記信号線に入力された信号の信号レベルをループバックさせて保持するループバック保持部と、
    前記入力部によって入力された信号の信号レベルの通知を要求する要求部と、
    前記第1の装置から通知された信号レベルが、前記入力部によって入力された特定のレベルと一致しない場合に、信号レベルが前記特定のレベルと異なるレベルから変化しない異常であることを検出する検出部と、
    前記検出部によって信号の信号レベルからレベルが変化しない異常であることが検出された場合、前記スイッチをオフするように指示する指示部と、
    前記第1の装置から通知された信号レベルおよび変化しない信号レベル、または前記ループバック保持部に保持された信号レベルおよび変化しない信号レベルを用いて、前記第1の装置および前記第2の装置のいずれが異常であるのかを特定する異常特定部と、
    を有することを特徴とするシステム。
  2. 前記保持部は、前記スイッチがオフされると、グラウンドと接続され、
    前記異常特定部は、前記検出部によって信号のハイレベルからレベルが変化しない異常が検出された場合、前記スイッチをオフしたうえで、前記保持部によって保持された信号の信号レベルがハイレベルである場合、前記第1の装置が異常であることを特定し、前記保持部によって保持された信号の信号レベルがローレベルである場合、前記第2の装置が異常であることを特定する
    ことを特徴とする請求項に記載のシステム。
  3. 前記保持部は、前記スイッチがオフされると、グラウンドと接続され、
    前記異常特定部は、前記検出部によって信号のローレベルからレベルが変化しない異常が検出された場合、前記信号線にハイレベルの信号を入力し、前記スイッチをオフしたうえで、前記ループバック保持部によって保持された信号の信号レベルが入力した信号レベルと一致しない場合、前記第の装置が異常であることを特定し、前記ループバック保持部によって保持された信号の信号レベルが入力した信号レベルと一致する場合、前記第の装置が異常であることを特定する
    ことを特徴とする請求項に記載のシステム。
  4. 信号線を用いて相互に通信する第1の装置および第2の装置を有するシステムの異常箇所特定方法において、
    前記第2の装置が、
    前記信号線に特定のレベルの信号を入力し、
    前記信号線に入力された信号の信号レベルをループバックさせて第2の記憶部に保持し、
    該入力された信号の信号レベルの通知を前記第1の装置に要求し、
    前記第1の装置が、
    第1の記憶部に向けての出力をオン/オフするスイッチがオンである場合に、該入力された信号を前記第2の装置から前記信号線を用いて出力される信号の信号レベルを前記第1の記憶部に保持し、
    前記第2の装置の要求により、前記第1の記憶部に保持された信号レベルを前記第2の装置に通知し、
    前記第2の装置が、
    前記第1の装置から通知された信号レベルが、該入力された信号の特定のレベルと一致しない場合に、信号レベルが前記特定のレベルと異なるレベルから変化しない異常であることを検出し、前記スイッチをオフするように指示し、
    前記第1の装置が、
    前記第2の装置の指示により、前記スイッチをオフし、前記第1の記憶部をグラウンドと接続し、
    前記第2の装置の要求により、前記第1の記憶部に保持された信号レベルを前記第2の装置に通知し、
    前記第2の装置が、
    前記第1の装置から通知された信号レベルおよび変化しない信号レベル、または前記第2の記憶部に保持された信号レベルおよび変化しない信号レベルを用いて、前記第1の装置および前記第2の装置のいずれが異常であるのかを特定する
    各処理を実行することを特徴とする異常箇所特定方法。
JP2012147931A 2012-06-29 2012-06-29 システムおよび異常箇所特定方法 Expired - Fee Related JP6094070B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012147931A JP6094070B2 (ja) 2012-06-29 2012-06-29 システムおよび異常箇所特定方法
US13/929,187 US9086963B2 (en) 2012-06-29 2013-06-27 System and defect position specifying method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012147931A JP6094070B2 (ja) 2012-06-29 2012-06-29 システムおよび異常箇所特定方法

Publications (2)

Publication Number Publication Date
JP2014010714A JP2014010714A (ja) 2014-01-20
JP6094070B2 true JP6094070B2 (ja) 2017-03-15

Family

ID=49779553

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012147931A Expired - Fee Related JP6094070B2 (ja) 2012-06-29 2012-06-29 システムおよび異常箇所特定方法

Country Status (2)

Country Link
US (1) US9086963B2 (ja)
JP (1) JP6094070B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6221674B2 (ja) * 2013-11-19 2017-11-01 富士通株式会社 情報処理装置,制御装置及び制御方法
JP6307847B2 (ja) * 2013-11-19 2018-04-11 富士通株式会社 情報処理装置,制御装置及び制御プログラム
CN106201759B (zh) * 2016-07-14 2023-08-01 浙江众合科技股份有限公司 一种防止fpga寄存器粘连的检测系统及方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01209555A (ja) * 1988-02-17 1989-08-23 Fuji Electric Co Ltd バスチェック装置
JPH0425955A (ja) * 1990-05-22 1992-01-29 Nec Corp バスインタフェース診断装置
JPH11143783A (ja) 1997-11-07 1999-05-28 Hitachi Ltd コンピュータシステムの二重化メモリ診断方法
JP2001005743A (ja) * 1999-06-17 2001-01-12 Toyo Commun Equip Co Ltd 伝送装置
JP4707803B2 (ja) * 2000-07-10 2011-06-22 エルピーダメモリ株式会社 エラーレート判定方法と半導体集積回路装置
EP1394559A1 (de) * 2002-08-27 2004-03-03 Siemens Aktiengesellschaft Verfahren und Anordnung zur Erkennung und Behebung von Leitungsdefekten
US8065481B1 (en) * 2004-04-20 2011-11-22 Seagate Technology Llc RAID system and method compatible with improved drive select
JP2006139634A (ja) * 2004-11-15 2006-06-01 Hitachi Ltd 設備管理装置、通信路診断装置及び設備管理方法
JP2007011682A (ja) * 2005-06-30 2007-01-18 Hitachi Ltd 記憶制御装置及び記憶制御装置のパス切替方法

Also Published As

Publication number Publication date
JP2014010714A (ja) 2014-01-20
US9086963B2 (en) 2015-07-21
US20140006873A1 (en) 2014-01-02

Similar Documents

Publication Publication Date Title
US7421615B2 (en) Apparatus, method and system for selectively coupling a LAN controller to a platform management controller
US20050086544A1 (en) Method and apparatus for correlating system resources to a particular line cord
JP5296878B2 (ja) 1つまたは複数の交換ユニットのテストを管理するために1つまたは複数の交換可能ユニットを含むコンピュータ化ストレージ・システムで使用するための方法、装置、およびプログラム(交換ユニットのテストを管理するために交換可能ユニットを含むコンピュータ化ストレージ・システム)
US20040039981A1 (en) Method and apparatus for identifying one or more devices having faults in a communication loop
US7890810B1 (en) Method and apparatus for deterministic fault injection of storage shelves in a storage subsystem
US12038818B2 (en) Device and method for verifying a component of a storage device
JP6094070B2 (ja) システムおよび異常箇所特定方法
CN113992501A (zh) 一种故障定位系统、方法及计算装置
EP2784677A1 (en) Processing apparatus, program and method for logically separating an abnormal device based on abnormality count and a threshold
CN103176581B (zh) 电源管理装置及电源管理方法
CN110469529B (zh) 服务器风扇控制系统
US20150098317A1 (en) Linear protection switching method and apparatus for protecting network segmented into multi-domain
US7436291B2 (en) Protection of devices in a redundant configuration
KR102018225B1 (ko) 연결 방법
JP5104773B2 (ja) データ転送システム、データ転送装置およびデータ転送方法
JP6285123B2 (ja) 電源監視装置、電源装置、情報処理システム及び電源監視方法
JP2007274153A (ja) ファイバチャネルスイッチにおける障害装置の切り離し方法
US7558192B1 (en) Method to increase system availability of critical hardware components
JP6361202B2 (ja) 情報処理装置、診断方法、及び、プログラム
JP2014164488A (ja) 制御装置、制御方法、及び制御プログラム
JP2002319927A (ja) 伝送路切替装置及び伝送システム
JP2018147510A (ja) サーバ装置およびサーバシステム
JP2015148973A (ja) 監視デバイス、管理デバイス、電子装置、状態通知方法、対処方法、およびコンピュータ・プログラム
EP4631226A1 (en) Smart online link repair and job scheduling in machine learning supercomputers
CN119270041A (zh) 传输接口电路的故障检测方法以及传输接口电路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150319

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160316

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160322

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160518

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161011

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161212

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170130

R150 Certificate of patent or registration of utility model

Ref document number: 6094070

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees