JP6379905B2 - 制御装置および制御方法 - Google Patents
制御装置および制御方法 Download PDFInfo
- Publication number
- JP6379905B2 JP6379905B2 JP2014187836A JP2014187836A JP6379905B2 JP 6379905 B2 JP6379905 B2 JP 6379905B2 JP 2014187836 A JP2014187836 A JP 2014187836A JP 2014187836 A JP2014187836 A JP 2014187836A JP 6379905 B2 JP6379905 B2 JP 6379905B2
- Authority
- JP
- Japan
- Prior art keywords
- buffer
- state
- unit
- processing
- switch
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
- G06F5/10—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
- G06F5/12—Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations
- G06F5/14—Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations for overflow or underflow handling, e.g. full or empty flags
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0706—Error 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/0745—Error 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 an input/output transactions management context
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/0757—Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3024—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3027—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
- G06F5/065—Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3031—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a motherboard or an expansion card
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
Description
この場合、LTSSMが異常であるためPCIeスイッチが正しく動作することができず、リンクダウンした事をソフトウェアレイヤに通知する事が出来ない。また、本来であれば、リンクダウンした先のデバイスに対するアクセスはPCIeスイッチがUR(Unsupported Request)で応答すべきであるが、LTSSMが異常なため、自身のバッファにキューを積み続けてしまう。その結果バッファがフルになり(詰まり)、ブロッキングが発生する事で、最終的にはルートコンプレックス(Root Complex)であるCPU(Central Processing Unit)のバッファフルとなり、ハングアップに至る。
図5に示す電子装置1000は、ボード(Board)1100,1200を備え、ボード1200はボード1100のコネクタ1300に脱着可能に接続されている。
例えば、ボード1100はストレージ装置のCM(Controller Module)であり、ボード1200はCA(Channel Adapter)である。以下、ボード1100およびボード1200を、それぞれボード#1,ボード#2という場合がある。
CPU1001は、種々の制御や演算を行なう処理装置である。このCPU1001はスイッチ1003を介してボード1200と通信可能に接続されている。
CPU1001にはバッファ1011が備えられており、スイッチ1003に送信されるデータ(パケット)がこのバッファ1011に格納される。バッファ1011は、複数のデータ格納領域を備え、送信されるデータがこれらの複数のデータ格納領域に、順次格納され、例えば、FIFO(First In, First Out)で処理される。
スイッチ1003はデータ伝送を中継する。スイッチ1003は、複数のポートを備え、これらのポートにデータの送信元や送信先となる機器が接続される。例えば、スイッチ1003の一つのポートにはCPU1001が接続され、また、他のポートにはボード1200のスイッチ1201が接続されている。
以下、便宜上、スイッチ1003において、ボード1200のスイッチ1201と接続されるポートのバッファ1013をバッファ#1といい、CPU1001と接続されるポートのバッファ1013をバッファ#2という。
ボード1200は、スイッチ1201を備え、このスイッチ1201はコネクタ1300を介してスイッチ1003と接続される。
PCIeスイッチを備える従来の電子装置においてCPUハングアップが生じる過程を、図6示すフローチャート(ステップA1〜A6)に従って説明する。
ボード1100のスイッチ1003においては、ボード1200に対してデータ送信を行なうことができないので、切断されたリンクパートナーであるスイッチ1201に対するデータでバッファ#1がバッファフルの状態となる(ステップA3)。
1つの側面では、本発明は、装置を短時間で復旧させることを目的とする。
図1に示す制御装置1は、ボード(Board)10,20を備える。ボード10,20は基板装置であり、例えば、ボード10はストレージ装置のCMであり、ボード20はCAである。以下、ボード10およびボード20を、それぞれボード#1,ボード#2という場合がある。
CPU11は、種々の制御や演算を行なう処理装置である。このCPU11はPCIeバスを介してスイッチ13と接続され、また、このスイッチ13を介してボード20と通信可能に接続される。
CPU11において、このWDT処理部21としての機能を実現するためのプログラムは、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RW等),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD+R,DVD−RW,DVD+RW,HD DVD等),ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
また、WDT処理部21は、後述するMPU14(FPGA12)からWD更新指示を受信すると、この指示に応じてWDTレジスタ22に対するウォッチドッグライトを発行する。
FPGA12は、任意に構成を設定できる集積回路であり、予め行なわれた設定に応じて種々の機能を実現する。
また、FPGA12は、MPU14からシステムリセット指示を受信すると、本制御装置1のシステムリセットを行なう。なお、FPGA12によるシステムリセットは、既知の手法を用いて実現することができ、その詳細な説明は省略する。
また、FPGA12は、WDTレジスタ22およびバッファフルレジスタ23を備える。WDTレジスタ22に格納される値は、前述したCPU11(WDT処理部21)により定期的に行なわれるウォッチドッグライトにより更新される。これにより、後述するMPU14のWD監視部24は、このWDTレジスタ22の値を確認することで、WDT処理部21によるウォッチドッグ更新が行なわれているか否かを確認することができる。
後述するMPU14は、このバッファフルレジスタ23の値を参照することで、スイッチ13のバッファ#2とCPU11のバッファ#3とのいずれかにおいてバッファフル状態となっているか否かを確認することができる。
スイッチ13は、複数のポートを備え、これらのポートにデータの送信元や送信先となる機器が接続される。図1に示す例においては、スイッチ13にポートP1〜P3の3つのポートが備えられており、ポートP1には、ボード20のスイッチ201が接続されている。また、ポートP2にはCPU11が接続されている。
以下、バッファを示す符号としては、複数のバッファのうち1つを特定する必要があるときには符号131−1〜131−3を用いるが、任意のバッファを指すときには符号131を用いる。
以下、便宜上、スイッチ13において、特にバッファ131−1,131−2をそれぞれバッファ#1,#2という場合がある。
また、スイッチ13においては、図示しないリセットポートに、FPGA12からスイッチリセット信号が入力されると、スイッチ13単体のリセットが行なわれる。スイッチ13のリセットが行なわれると、スイッチ13に備えられた各バッファ131がクリアされる。
プロセッサにおいて、これらのエラー検知部29およびLTSSM処理部28としての機能を実現するためのプログラムは、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RW等),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD+R,DVD−RW,DVD+RW,HD DVD等),ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
例えば、PCIe通信により接続されたリンクパートナ(ボード#2等)が突然、抜去や電源断された場合には、物理層での切断が発生し、これによりコレクタブルエラーが発生することが経験的にわかっている。
LTSSM処理部28は、LTSSMステートに関する処理を行なう。
CPU11は、エラー検知部29からコレクタブルエラー発生の通知を受信すると、これを契機にLTSSMステートの確認をLTSSM処理部28に行なう。なお、一般に、PCIeにおける通常動作状態においては、LTSSMステートはL0となる。
CPU11はスイッチ13(LTSSM処理部28)から通知されたLTSSMの状態よりリンク異常を検知し、ポートディセーブルを発行することで、LTSSMステートのリセットを行なう。LTSSMステートをリセットすることにより、後述するスイッチ13のバッファ131はクリア(解放処理)される。
なお、CPU11がLTSSMステートのリセットを行なう前に、CPU11のバッファ111がバッファフルの状態になると、これによりCPU11がハングアップする場合がある。
ここで、PCIeはシリアルバスであり、全二重方式を採用しておりパケットの送信側および受信側の経路がそれぞれ存在する。PCIeバス上で送受信されるパケットには、データのリード/ライトなどの処理を扱うTLP(Transaction Layer Packet)のほかに、PCIeリンクの管理などを行なうパケットがある。いずれのパケットも同じ経路(シリアルバス)を利用して送受信される。
PCIeでは、この受信バッファの空き情報を用いてフロー制御が行なわれる。即ち、受信側のPCIe装置がTLPを受信すると、一時的に受信バッファに蓄え、その後、受信バッファ内のTLPのデータが上位のシステムに伝えられて受信バッファに空きが生じると、受信バッファの空き情報をフロー制御情報として送信側のPCIe装置に伝える。この送信側のPCIe装置は、受信したフロー制御情報に応じてTLPの送信量を制御する。PCIeでは、このフロー制御情報をUpdateFCDLLP(Update Flow Control Data Link Layer Packet)というパケットで伝えている。以下、UpdateFC DLLPをUpdateFCパケットという。すなわち、UpdateFCパケットは、受信バッファ111,131の使用状況(空き状況:バッファ状態)を通知するバッファ状態情報として機能する。UpdateFCパケットに更新がない場合には、受信バッファ111,131に詰まりが生じている、つまり、バッファフルの状態であると考えられる。
バッファ状態監視部27は、CPU11とスイッチ13との間で授受されるUpdateFCパケットを監視し、一定時間、UpdateFCパケットの更新が無い場合に、これらのCPU11とスイッチ13との少なくともいずれかにおいてバッファフル状態が生じていると判断する。
そして、バッファ状態監視部27は、UpdateFCパケットを受信すると、格納部に格納されている先に受信したUpdateFCパケットと、この受信したUpdateFCパケットとを比較する。これにより、バッファ状態監視部27は、UpdateFCパケットが更新されたか否かを判断する。
バッファ状態監視部27は、UpdateFCパケットが更新されていないと判断した場合に、バッファフル状態が発生していることを検知する。従って、バッファ状態監視部27は、CPU11とスイッチ13との間で通信されるUpdateFCパケットに基づいてバッファ131のバッファフル状態を検知するバッファフル検知部として機能する。
具体的には、バッファ状態監視部27は、バッファフルの発生を検知すると、FPGA12のバッファフルレジスタ23に、バッファフル状態が発生したことを示す値(フラグ)を設定する。後述するMPU14は、このFPGA12のバッファフルレジスタ23を参照することにより、バッファフルの発生を検知する。すなわち、バッファ状態監視部27はFPGA12を介してMPU14に対してスイッチ13におけるバッファフルの発生を通知する。
また、スイッチ13は、PCIe通信においてエラーの発生を検知する機能を備えており、例えば、コレクタブルエラーや、アンコレクタブルエラーの発生を検知する。これらのコレクタブルエラーや、アンコレクタブルエラーの発生検知は既知の手法を用いて実現できるものであり、その説明は省略する。
スイッチ13からコレクタブルエラーの発生を通知されたCPU11は、前述の如く、これを契機に、LTSSMステートの確認を行なう。
MPU14は、プログラムを実行することにより、種々の機能を実現する処理装置であり、例えば、図2に示すように、WD監視部24,WD更新指示部25およびリセット制御部26として機能する。
すなわち、WD監視部24は、CPU11の停止状態(ハングアップ状態)を検知する停止状態検知部として機能する。
WD監視部24は、所定時間経過毎に読み出したWDTレジスタ22の値をメモリ等の所定の記憶領域に記憶し、新たに読み出したWDTレジスタ22の値を、記憶されている先に読み出したWDTレジスタ22の値と比較する。これにより、WD監視部24は、WDTレジスタ22が更新されているか否かを確認する。
WD更新指示部(更新指示部)25は、WD監視部24からWDTレジスタ22の更新が行なわれていないことを通知されると、FPGA12を介して、CPU11のWDT処理部21に対して、WD更新指示を送信する。すなわち、MPU14は、FPGA12に対して、WD更新指示を通知し、FPGA12はこの指示に従って、CPU11に対してWD更新指示を通知する。
リセット制御部26は、本制御装置1におけるリセット処理を制御する。例えば、リセット制御部26は、FPGA12に対してシステムリセット指示を送信することで、FPGA12に、本制御装置1のシステムリセットを行なわせる。
前述の如く、CPU11からウォッチドッグ更新が行なわれない場合には、一見、CPU11がハングアップした状態にあるように見える。しかしながら、スイッチ13におけるバッファフル状態が検出されている場合には、CPU11は、そのバッファ#3がバッファフル状態となったことを原因として一時的にハングアップの状態となっていると考えられる。この場合、CPU11のバッファ#3をクリアすることでCPU11は動作復帰可能である。
リセット制御部26は、WD監視部24によりCPU11のハングアップ状態(停止状態)が検知され、且つ、バッファ状態監視部27によりバッファ131のバッファフル状態が検知されると、スイッチ13をリセットするリセット処理部として機能するのである。
スイッチ13において、LTSSM異常が発生すると(符号B1参照)、コレクタブルエラーが検知される(符号B2参照)。スイッチ13は、コレクタブルエラーの検出をCPU11に通知する(符号B3参照)。
また、CPU11においては、バッファ#3がバッファフル状態となり(符号B9参照)、CPU11がハングアップした状態となる(CPUハング:符号B10参照)。CPU11がハングアップすると、LTSSM処理部28へのLTSSMステートの確認を行なうことができず、またWDT処理部21によるウォッチドッグ更新を行なうこともできない(符号B11参照)。
監視チップ15は、UpdateFCパケットを参照して、PCIe経路においてバッファフル状態が生じ、且つ、このバッファフル状態が所定時間継続していることを検知すると(符号B7参照)、FPGA12のバッファフルレジスタ23にフラグを設定することでMPU14に通知(バッファフル通知)を行なう(符号B8参照)。
また、MPU14においては、WD監視部24が、FPGA12のWDTレジスタ22の値を定期的に監視し、WDTレジスタ22が更新されているか否かを確認する(符号B14参照)。この確認の結果、WDTレジスタ22の更新が行なわれていないことを検知すると、WD監視部24は、WD更新指示部25に通知を行なう。
ただし、この時点において、CPU11はハングアップした状態であるので、このWD更新指示を受信してもウォッチドッグ更新を行なうことはできない(符号B12参照)。
このように、スイッチ13においてバッファフル状態が生じており、且つ、WD更新指示を行なってもCPU11からウォッチドッグ更新が行なわれない場合には、リセット制御部26は、バッファ#3のバッファ詰まり(バッファフル状態)を原因としてCPU11が一時的にハングアップ状態となっていると認識する(符号B17参照)。
また、スイッチ13をリセットすることにより、スイッチ13とCPU11との間にリンクダウンが発生し、CPU11のバッファ111のデータは破棄される。すなわち、CPU11のバッファ#3がクリアされ(符号B21参照)、CPU11が復旧する(符号B22参照)。
ステップC1において、スイッチ13のエラー検知部29がコレクタブルエラーの発生を検知すると、ステップC2において、LTSSM処理部28がLTSSMステートを確認する。この確認の結果、LTSSMステートがL0である場合には(ステップC2の“LTSSMがL0ステート”ルート参照)、正常動作中であるとして、本制御装置1の動作を継続して行なう。
ウォッチドッグ更新が行なわれている場合には(ステップC5の“更新”ルート参照)、ボード#2が抜去状態で、本制御装置1は継続して動作を行なう。
ステップC7において、MPU14のWD監視部24が、ウォッチドッグ更新が行なわれているか否かを、再度、確認する。
また、ウォッチドッグ更新が行なわれていない場合には(ステップC7の“未更新”ルート参照)、ステップC8において、監視チップ15からのバッファフル通知が行なわれているか否かを確認する。すなわち、FPGA12のバッファフルレジスタ23に、監視チップ15によりバッファフル状態が発生したことを示す値(フラグ)が設定されているか否かを確認する。
ステップC9においては、リセット制御部26が、FPGA12に対してシステムリセット指示を送信することで、FPGA12に、本制御装置1のシステムリセットを行なわせる。これにより、本制御装置1の再起動が行なわれる。
ステップC10においては、リセット制御部26が、FPGA12に対してスイッチリセット指示を送信することで、FPGA12に、スイッチ13を単体でリセットさせる。これにより、ボード#2が抜去状態となり、本制御装置1は継続して動作を行なうことができる。
そして、CPU11によるウォッチドッグ更新が行なわれない場合であっても、監視チップ15よりバッファフル通知が行なわれている場合には、リセット制御部26が、FPGA12に対してスイッチリセット指示を送信することで、FPGA12に、スイッチ13を単体でリセットさせる。
従って、CPU11の電源を落とさずに装置を復旧させることができ、業務への影響を最小限に抑えることができる。
例えば、上述した実施形態においては、監視チップ15は、CPU11とスイッチ13とを接続するPCIe信号線上にリピータのように接続・配置されているが、これに限定されるものではない。すなわち、同様の機能を、スイッチ13やCPU11,FPGA12のいずれかに備えて実現してもよい。また、この際、監視チップ15としての機能は、電子回路として実現する代わりに、プロセッサがプログラムを実行することにより実現してもよく、種々変形して実施することができる。
さらに、上述した実施形態においては、スイッチ13がPCIeスイッチであり、PCIeプロトコルに従った通信システムでのデータ伝送の例について示しているが、これに限定されるものではなく、他の通信プロトコルに適用してもよい。例えば、SAS(Serial Attached Small Computer System Interface)やFC(Fibre Channel)等の通信システムに適用してもよい。
また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
(付記1)
電子部品が接続される接続部と、
データを処理する処理装置と、
送信もしくは受信するデータを格納するバッファを備え、前記処理装置と前記電子部品とのデータ通信を中継する中継部と、
前記処理装置の停止状態を検知する停止状態検知部と、
前記中継部の前記バッファのバッファフル状態を検知するバッファフル検知部と、
前記停止状態検知部により前記処理装置の停止状態が検知され、且つ、前記バッファフル検知部により前記バッファのバッファフル状態が検知されると、前記中継部をリセットするリセット処理部と
を備えることを特徴とする、制御装置。
前記バッファフル検知部が、
前記処理装置と前記中継装置とを接続する通信経路上に配置され、前記処理装置と前記中継部との間で通信されるバッファ状態情報に基づいて、前記バッファのバッファフル状態を検知することを特徴とする、付記1記載の制御装置。
前記停止状態検知部が、
前記処理装置により更新される更新情報を参照することで、前記処理装置の停止状態を検知することを特徴とする、付記1または2記載の制御装置。
(付記4)
前記処理装置に対して前記更新情報の更新指示を送信する更新指示部を備えることを特徴とする、付記3記載の制御装置。
前記停止状態検知部が前記処理装置の停止状態を検知した場合に、前記バッファフル検知部が前記バッファの状態を確認することを特徴とする、付記1〜4のいずれか1項に記載の制御装置。
(付記6)
前記中継部においてコレクタブルエラーが発生すると、当該中継部の通信状態を確認し、前記通信状態に異常が検知された場合に、前記中継部のポート無効化処理を行なうポート無効化処理部をそなえ、
前記ポート無効化処理部が前記中継部のポート無効化処理を行なっても、前記中継部の通信状態が回復しない場合に、
前記停止状態検知部が前記処理装置の停止状態を検知し、バッファフル検知部が前記中継部の前記バッファのバッファフル状態を検知することを特徴とする、付記1〜5のいずれか1項に記載の制御装置。
電子部品が接続される接続部と、
データを処理する処理装置と、
送信もしくは受信するバッファを備え、前記処理装置と前記電子部品とのデータ通信を中継する中継部とを備える制御装置において、
前記処理装置の停止状態を検知する処理と、
前記中継部の前記バッファのバッファフル状態を検知する処理と、
前記処理装置の停止状態が検知され、且つ、前記バッファのバッファフル状態が検知されると、前記中継部をリセットする処理と
を備えることを特徴とする、制御方法。
前記処理装置と前記中継部との間で通信されるバッファ状態情報に基づいて、前記バッファのバッファフル状態を検知することを特徴とする、付記7記載の制御方法。
(付記9)
前記処理装置により更新される更新情報を参照することで、前記処理装置の停止状態を検知することを特徴とする、付記7または8記載の制御方法。
前記処理装置に対して前記更新情報の更新指示を送信する処理を備えることを特徴とする、付記9記載の制御方法。
(付記11)
前記処理装置の停止状態を検知した場合に、前記バッファの状態を確認することを特徴とする、付記7〜10のいずれか1項に記載の制御方法。
前記中継部においてコレクタブルエラーが発生すると、当該中継部の通信状態を確認する処理と、
前記通信状態に異常が検知された場合に、前記中継部のポート無効化処理を行なう処理と、
前記中継部のポート無効化処理を行なっても、前記中継部の通信状態が回復しない場合に、
前記処理装置の停止状態の検知および前記中継部の前記バッファのバッファフル状態の検知を行なうことを特徴とする、付記7〜11のいずれか1項に記載の制御方法。
10,20 ボード
11 CPU(処理装置)
12 FPGA
13,201 スイッチ
14 MPU
15 監視チップ
21 WDT処理部
22 WDTレジスタ
23 バッファフルレジスタ
24 WD監視部
25 WD更新指示部
26 リセット制御部
27 バッファ状態監視部
28 LTSSM処理部
29 エラー検知部
111,131−1〜131−3,131 バッファ
P1,P2,P3 ポート
30 コネクタ(接続部)
Claims (7)
- 電子部品が接続される接続部と、
データを処理する処理装置と、
送信もしくは受信するデータを格納するバッファを備え、前記処理装置と前記電子部品とのデータ通信を中継する中継部と、
前記処理装置の停止状態を検知する停止状態検知部と、
前記中継部の前記バッファのバッファフル状態を検知するバッファフル検知部と、
前記停止状態検知部により前記処理装置の停止状態が検知され、且つ、前記バッファフル検知部により前記バッファのバッファフル状態が検知されると、前記中継部のみをリセットするリセット処理部と
を備えることを特徴とする、制御装置。 - 前記バッファフル検知部が、
前記処理装置と前記中継部とを接続する通信経路上に配置され、前記処理装置と前記中継部との間で通信されるバッファ状態情報に基づいて、前記バッファのバッファフル状態を検知することを特徴とする、請求項1記載の制御装置。 - 前記停止状態検知部が、
前記処理装置により更新される更新情報を参照することで、前記処理装置の停止状態を検知することを特徴とする、請求項1または2記載の制御装置。 - 前記処理装置に対して前記更新情報の更新指示を送信する更新指示部を備えることを特徴とする、請求項3記載の制御装置。
- 前記停止状態検知部が前記処理装置の停止状態を検知した場合に、前記バッファフル検知部が前記バッファの状態を確認することを特徴とする、請求項1〜4のいずれか1項に記載の制御装置。
- 前記中継部においてコレクタブルエラーが発生すると、当該中継部の通信状態を確認し、前記通信状態に異常が検知された場合に、前記中継部のポート無効化処理を行なうポート無効化処理部をそなえ、
前記ポート無効化処理部が前記中継部のポート無効化処理を行なっても、前記中継部の通信状態が回復しない場合に、
前記停止状態検知部が前記処理装置の停止状態を検知し、バッファフル検知部が前記中継部の前記バッファのバッファフル状態を検知することを特徴とする、請求項1〜5のいずれか1項に記載の制御装置。 - 電子部品が接続される接続部と、
データを処理する処理装置と、
送信もしくは受信するデータを格納するバッファを備え、前記処理装置と前記電子部品とのデータ通信を中継する中継部とを備える制御装置において、
前記処理装置の停止状態を検知する処理と、
前記中継部の前記バッファのバッファフル状態を検知する処理と、
前記処理装置の停止状態が検知され、且つ、前記バッファのバッファフル状態が検知されると、前記中継部のみをリセットする処理と
を備えることを特徴とする、制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014187836A JP6379905B2 (ja) | 2014-09-16 | 2014-09-16 | 制御装置および制御方法 |
US14/825,469 US9626153B2 (en) | 2014-09-16 | 2015-08-13 | Control device and control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014187836A JP6379905B2 (ja) | 2014-09-16 | 2014-09-16 | 制御装置および制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016062166A JP2016062166A (ja) | 2016-04-25 |
JP6379905B2 true JP6379905B2 (ja) | 2018-08-29 |
Family
ID=55454815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014187836A Active JP6379905B2 (ja) | 2014-09-16 | 2014-09-16 | 制御装置および制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9626153B2 (ja) |
JP (1) | JP6379905B2 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10181975B2 (en) * | 2015-09-04 | 2019-01-15 | Intel Corporation | Override subsystems for rapid recovery from serial-link errors |
CN107544931B (zh) * | 2016-06-27 | 2020-05-26 | 新汉股份有限公司 | 具有pci-e增强器的电脑***,及其pci-e增强器的设定方法 |
CN106292544B (zh) * | 2016-08-18 | 2018-12-28 | 深圳市德堡数控技术有限公司 | 基于pcie接口硬件板卡及其总线控制方法及*** |
US10678620B2 (en) * | 2016-09-19 | 2020-06-09 | Elmos Semiconductor Ag | Watchdog for monitoring a processor |
JP6992295B2 (ja) * | 2017-07-11 | 2022-01-13 | 富士フイルムビジネスイノベーション株式会社 | 電子装置 |
CN109032548A (zh) * | 2018-07-23 | 2018-12-18 | 山东超越数控电子股份有限公司 | 一种基于龙芯服务器的本地显示切换架构 |
JP2020086538A (ja) | 2018-11-15 | 2020-06-04 | 株式会社日立製作所 | 計算機システム、及びデバイス管理方法 |
CN110647486B (zh) * | 2019-09-29 | 2021-05-11 | 江苏芯盛智能科技有限公司 | 一种PCIe链路训练方法、端设备及通讯*** |
CN113359968B (zh) * | 2021-05-14 | 2023-03-03 | 山东英信计算机技术有限公司 | 一种基于arm平台复位pcie设备的方法、***、设备及介质 |
CN114579288B (zh) * | 2022-05-09 | 2022-09-02 | 成都登临科技有限公司 | 一种任务处理的方法、装置以及计算机设备 |
CN115550291B (zh) * | 2022-11-30 | 2023-03-10 | 苏州浪潮智能科技有限公司 | 交换机的复位***及方法、存储介质、电子设备 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4802161A (en) * | 1986-09-16 | 1989-01-31 | Gte Communication Systems Corporation | Packet bus interface |
US5551033A (en) * | 1991-05-17 | 1996-08-27 | Zenith Data Systems Corporation | Apparatus for maintaining one interrupt mask register in conformity with another in a manner invisible to an executing program |
US5664223A (en) * | 1994-04-05 | 1997-09-02 | International Business Machines Corporation | System for independently transferring data using two independently controlled DMA engines coupled between a FIFO buffer and two separate buses respectively |
US5448558A (en) * | 1994-04-05 | 1995-09-05 | International Business Machines Corporation | Method and apparatus for managing packet FIFOS |
JP3201219B2 (ja) | 1995-05-29 | 2001-08-20 | 三菱電機株式会社 | 入出力処理システム |
US6311237B1 (en) * | 1998-01-05 | 2001-10-30 | Canon Kabushiki Kaisha | System including single host buffer for transmit and receive data and reception buffer in interface device having stand-by area for use by host buffer when abnormal state is detected |
KR20000018869A (ko) * | 1998-09-03 | 2000-04-06 | 서평원 | 교환기에서 프로세서간의 통신 시스템 및 방법 |
US6792527B1 (en) * | 2000-12-22 | 2004-09-14 | Xilinx, Inc. | Method to provide hierarchical reset capabilities for a configurable system on a chip |
JP2004030337A (ja) * | 2002-06-26 | 2004-01-29 | Nec Corp | Os停止エラー発生時の遠隔表示システム、表示方法、及びプログラム |
US7099817B2 (en) * | 2002-11-22 | 2006-08-29 | Texas Instruments Incorporated | Stalling CPU pipeline to prevent corruption in trace while maintaining coherency with asynchronous events |
US7404017B2 (en) * | 2004-01-16 | 2008-07-22 | International Business Machines Corporation | Method for managing data flow through a processing system |
US7519796B1 (en) * | 2004-06-30 | 2009-04-14 | Sun Microsystems, Inc. | Efficient utilization of a store buffer using counters |
JP2006076175A (ja) | 2004-09-10 | 2006-03-23 | Kyocera Mita Corp | 画像形成装置及びその制御方法 |
US7436773B2 (en) * | 2004-12-07 | 2008-10-14 | International Business Machines Corporation | Packet flow control in switched full duplex ethernet networks |
US7483744B2 (en) * | 2005-05-05 | 2009-01-27 | Cardiac Pacemakers, Inc. | System and method for recovering from transient faults in an implantable medical device |
US8054847B2 (en) * | 2006-10-31 | 2011-11-08 | Hewlett-Packard Development Company, L.P. | Buffer management in a network device |
US7889659B2 (en) * | 2007-04-16 | 2011-02-15 | Cisco Technology, Inc. | Controlling a transmission rate of packet traffic |
JP2008287558A (ja) * | 2007-05-18 | 2008-11-27 | Renesas Technology Corp | 半導体装置及びマイクロコンピュータ |
US7978607B1 (en) * | 2008-08-29 | 2011-07-12 | Brocade Communications Systems, Inc. | Source-based congestion detection and control |
US8407528B2 (en) * | 2009-06-30 | 2013-03-26 | Texas Instruments Incorporated | Circuits, systems, apparatus and processes for monitoring activity in multi-processing systems |
JP5909948B2 (ja) | 2011-09-14 | 2016-04-27 | 富士通株式会社 | 情報処理装置および情報処理装置の試験方法 |
US8971391B2 (en) * | 2011-09-30 | 2015-03-03 | Broadcom Corporation | Systems and methods for equalizing retransmission delays for data retransmission over bonded modems |
US9007901B2 (en) * | 2012-02-09 | 2015-04-14 | Alcatel Lucent | Method and apparatus providing flow control using on-off signals in high delay networks |
WO2014031105A1 (en) * | 2012-08-21 | 2014-02-27 | Hewlett-Packard Development Company, L.P. | Flow control in a network |
US10505854B2 (en) * | 2015-02-20 | 2019-12-10 | Avago Technologies International Sales Pte. Limited | Buffer circuitry for monitoring network element status |
-
2014
- 2014-09-16 JP JP2014187836A patent/JP6379905B2/ja active Active
-
2015
- 2015-08-13 US US14/825,469 patent/US9626153B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20160077799A1 (en) | 2016-03-17 |
US9626153B2 (en) | 2017-04-18 |
JP2016062166A (ja) | 2016-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6379905B2 (ja) | 制御装置および制御方法 | |
JP6011210B2 (ja) | ストレージ制御装置,プログラマブル論理回路の復旧処理方法及び制御プログラム | |
US7536584B2 (en) | Fault-isolating SAS expander | |
EP2052326B1 (en) | Fault-isolating sas expander | |
US8402189B2 (en) | Information processing apparatus and data transfer method | |
JP5932146B2 (ja) | ピーシーアイエクスプレスのエンドポイントデバイスにアクセスするための方法、コンピューターシステム、および、装置 | |
US8560878B2 (en) | System and method for failure detection by a storage expander preceding an expander experiencing a failure | |
JP5327036B2 (ja) | 記憶装置接続装置,ストレージ装置,情報管理方法及び情報管理プログラム | |
JP2006195821A (ja) | 情報処理システムの制御方法、情報処理システム、ダイレクトメモリアクセス制御装置、プログラム | |
JP6307847B2 (ja) | 情報処理装置,制御装置及び制御プログラム | |
JP2017010390A (ja) | ストレージ制御装置、ストレージ制御プログラム、およびストレージ制御方法 | |
JP6183931B2 (ja) | クラスタシステム、サーバ装置、クラスタシステムの管理方法、及びプログラム。 | |
WO2024113818A1 (zh) | 交换机的复位***及方法、非易失性可读存储介质、电子设备 | |
EP2784677A1 (en) | Processing apparatus, program and method for logically separating an abnormal device based on abnormality count and a threshold | |
JP6428048B2 (ja) | 通信システム,異常制御装置および異常制御方法 | |
JP2009217475A (ja) | ストレージシステム,ストレージ装置,ストレージシステムの制御方法および制御プログラム | |
KR101437735B1 (ko) | 정보 처리 장치 및 동작 상태 감시 방법 | |
JP2020021313A (ja) | データ処理装置および診断方法 | |
JP5689783B2 (ja) | コンピュータ、コンピュータシステム、および障害情報管理方法 | |
JP6418021B2 (ja) | 情報処理装置及び情報処理装置の制御方法 | |
JP6357879B2 (ja) | システムおよび障害処理方法 | |
JP2014010519A (ja) | 制御装置、ストレージ装置、制御方法及び制御プログラム | |
KR102018225B1 (ko) | 연결 방법 | |
EP2851801B1 (en) | Computer system, control method for computer system and coupling module | |
JP5444194B2 (ja) | データ転送装置、データ転送方法、コンピュータシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170605 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180320 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180403 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180531 |
|
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: 20180703 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180716 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6379905 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |