JP6379905B2 - 制御装置および制御方法 - Google Patents

制御装置および制御方法 Download PDF

Info

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
Application number
JP2014187836A
Other languages
English (en)
Other versions
JP2016062166A (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 JP2014187836A priority Critical patent/JP6379905B2/ja
Priority to US14/825,469 priority patent/US9626153B2/en
Publication of JP2016062166A publication Critical patent/JP2016062166A/ja
Application granted granted Critical
Publication of JP6379905B2 publication Critical patent/JP6379905B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods 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/10Methods 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/12Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations
    • G06F5/14Means 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/0745Error 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3027Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods 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/065Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3031Monitoring 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

本発明は、制御装置および制御方法に関する。
PCIe(Peripheral Component Interconnect Express)は、リンクの状態を管理するために、LTSSM(Link Training and Status State Machine)という機能を備える。LTSSMにおいては、PHY(physical layer:物理層)において送受信したパケットを監視して、予め定義した複数の状態間で動作状態(LTSSMステート)を遷移させることでリンクの状態を管理する。
PCIeスイッチにおいては、リンクパートナーの突然抜去や電源断によって発生するノイズ等により、PHYのLTSSMステートが異常な状態に遷移し、復帰せずに留まり続けることがある。
この場合、LTSSMが異常であるためPCIeスイッチが正しく動作することができず、リンクダウンした事をソフトウェアレイヤに通知する事が出来ない。また、本来であれば、リンクダウンした先のデバイスに対するアクセスはPCIeスイッチがUR(Unsupported Request)で応答すべきであるが、LTSSMが異常なため、自身のバッファにキューを積み続けてしまう。その結果バッファがフルになり(詰まり)、ブロッキングが発生する事で、最終的にはルートコンプレックス(Root Complex)であるCPU(Central Processing Unit)のバッファフルとなり、ハングアップに至る。
図5はPCIeスイッチを備える従来の電子装置の構成を示す図である。
図5に示す電子装置1000は、ボード(Board)1100,1200を備え、ボード1200はボード1100のコネクタ1300に脱着可能に接続されている。
例えば、ボード1100はストレージ装置のCM(Controller Module)であり、ボード1200はCA(Channel Adapter)である。以下、ボード1100およびボード1200を、それぞれボード#1,ボード#2という場合がある。
ボード1100は、CPU1001,FPGA(Field-Programmable Gate Array)1002およびスイッチ1003を備える。
CPU1001は、種々の制御や演算を行なう処理装置である。このCPU1001はスイッチ1003を介してボード1200と通信可能に接続されている。
CPU1001にはバッファ1011が備えられており、スイッチ1003に送信されるデータ(パケット)がこのバッファ1011に格納される。バッファ1011は、複数のデータ格納領域を備え、送信されるデータがこれらの複数のデータ格納領域に、順次格納され、例えば、FIFO(First In, First Out)で処理される。
また、CPU1001にはFPGA1002が接続されている。FPGA1002は、任意に構成を設定できる集積回路であり、予め行なわれた設定に応じて種々の機能を実現する。例えば、FPGA1002は、CPU1001がハングアップの状態に陥ると、CPU1001に対してリセット信号を出力することにより、システムリセットを行なう。
スイッチ1003はデータ伝送を中継する。スイッチ1003は、複数のポートを備え、これらのポートにデータの送信元や送信先となる機器が接続される。例えば、スイッチ1003の一つのポートにはCPU1001が接続され、また、他のポートにはボード1200のスイッチ1201が接続されている。
スイッチ1003のポートにはそれぞれバッファ1013が備えられ、ポートを介して送受信されるデータが格納される。スイッチ1003においても、各バッファ1013は、複数のデータ格納領域を備え、これらの複数のデータ格納領域に、送信されるデータが順次格納され、例えば、FIFOで処理される。
以下、便宜上、スイッチ1003において、ボード1200のスイッチ1201と接続されるポートのバッファ1013をバッファ#1といい、CPU1001と接続されるポートのバッファ1013をバッファ#2という。
また、CPU1001において、スイッチ1013と接続されるポートのバッファ1011をバッファ#3という。
ボード1200は、スイッチ1201を備え、このスイッチ1201はコネクタ1300を介してスイッチ1003と接続される。
PCIeスイッチを備える従来の電子装置においてCPUハングアップが生じる過程を、図6示すフローチャート(ステップA1〜A6)に従って説明する。
ボード1100はボード1200と接続された状態において正常動作している。この状態において、突然、ボード1200がコネクタ1300から取り外されると(ステップA1)、スイッチ1003においては、LTSSMステートが異常状態に遷移し、復帰せずに留まり続ける状態が生じる場合がある(ステップA2)。
ボード1100のスイッチ1003においては、ボード1200に対してデータ送信を行なうことができないので、切断されたリンクパートナーであるスイッチ1201に対するデータでバッファ#1がバッファフルの状態となる(ステップA3)。
また、スイッチ1003においては、バッファ#1に対してデータを送信できないので、バッファ#2がバッファフルの状態となる(ステップA4)。さらに、これにより、CPU1001において、スイッチ1003に対してデータ送信を行なうことができないので、バッファ#3がバッファフルの状態となり(ステップA5)、CPU1001がハングアップする(ステップA6)。
なお、CPU1001がハングアップすると、FPGA1002がこれを検知し、CPU1001に対してリセット信号を出力し、システムリセットを行なう。
特開2013−61841号公報
しかしながら、このような従来の電子装置において、CPUのリセットを行なうと、装置の再起動に時間がかかりダウンタイムが長くなるという課題がある。
1つの側面では、本発明は、装置を短時間で復旧させることを目的とする。
このため、この制御装置は、電子部品が接続される接続部と、データを処理する処理装置と、送信もしくは受信するデータを格納するバッファを備え、前記処理装置と前記電子部品とのデータ通信を中継する中継部と、前記処理装置の停止状態を検知する停止状態検知部と、前記中継部の前記バッファのバッファフル状態を検知するバッファフル検知部と、前記停止状態検知部により前記処理装置の停止状態が検知され、且つ、前記バッファフル検知部により前記バッファのバッファフル状態が検知されると、前記中継部のみをリセットするリセット処理部とを備える。
一実施形態によれば、装置を短時間で復旧させることができる。
実施形態の一例としての制御装置の構成を模式的に示す図である。 実施形態の一例としての制御装置の機能構成を示す図である。 実施形態の一例としての制御装置におけるスイッチのリセット処理を説明するシーケンス図である。 実施形態の一例としての制御装置におけるコレクタブルエラー発生時の処理を説明するフローチャートである。 PCIeスイッチを備える従来の電子装置の構成を示す図である。 PCIeスイッチを備える従来の電子装置においてCPUハングアップが生じる過程を説明するフローチャートである。
以下、図面を参照して本制御装置および制御方法に係る実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形(実施形態及び各変形例を組み合わせる等)して実施することができる。又、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
図1は実施形態の一例としての制御装置の構成を模式的に示す図、図2はその機能構成を示す図である。
図1に示す制御装置1は、ボード(Board)10,20を備える。ボード10,20は基板装置であり、例えば、ボード10はストレージ装置のCMであり、ボード20はCAである。以下、ボード10およびボード20を、それぞれボード#1,ボード#2という場合がある。
ボード10は、CPU11,FPGA12,スイッチ13,MPU(Micro-Processing Unit)14および監視チップ15を備える。また、ボード10にはコネクタ(接続部)30が備えられ、このコネクタ30に後述するボード20が脱着可能に取り付けられる。
CPU11は、種々の制御や演算を行なう処理装置である。このCPU11はPCIeバスを介してスイッチ13と接続され、また、このスイッチ13を介してボード20と通信可能に接続される。
CPU11にはバッファ111が備えられており、スイッチ13に送信されるデータ(パケット)がこのバッファ111に格納される。バッファ111は、複数のデータ格納領域を備え、送信されるデータがこれらの複数のデータ格納領域に、順次格納され、例えば、FIFOで処理される。以下、このCPU11に備えられたバッファ111をバッファ#3という場合がある。
CPU11は、プログラムを実行することにより、種々の機能を実現する処理装置であり、例えば、図2に示すように、WDT(WatchDog Timer)処理部21として機能する。
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としての機能を実現する際には、内部記憶装置(本実施形態では図示しないRAM(Random Access Memory)やROM(Read Only Memory))に格納されたプログラムがコンピュータのマイクロプロセッサ(本実施形態ではCPU11)によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
WDT処理部21は、後述するFPGA12に備えられたWDTレジスタ22に定期的に書き込み(ウォッチドッグライト)を発行する。これにより、後述するMPU14は、CPU11が正常に動作していると認識することができる。以下、WDTレジスタ22にウォッチドッグライトを行なうことを、ウォッチドッグ更新という場合がある。
また、WDT処理部21は、後述するMPU14(FPGA12)からWD更新指示を受信すると、この指示に応じてWDTレジスタ22に対するウォッチドッグライトを発行する。
また、CPU11は後述するスイッチ13(LTSSM処理部28)からLTSSMの異常の通知を受信すると、ポートディセーブル(Port Disable)を発行することで、LTSSMステートのリセットを行なう機能を備える。LTSSMステートをリセットすることにより、後述するスイッチ13のバッファ131がクリア(解放処理)される。
FPGA12は、任意に構成を設定できる集積回路であり、予め行なわれた設定に応じて種々の機能を実現する。
例えば、FPGA12は、後述するMPU14からWD更新指示を受信すると、この指示に従い、CPU11に対してWD更新指示を送信する。FPGA12は、例えば、NMI(Non-Maskable Interrupt)をCPU11に対して入力することで、WD更新指示を通知する。
また、FPGA12は、MPU14からシステムリセット指示を受信すると、本制御装置1のシステムリセットを行なう。なお、FPGA12によるシステムリセットは、既知の手法を用いて実現することができ、その詳細な説明は省略する。
さらに、FPGA12は、MPU14からスイッチリセット指示を受信すると、スイッチ13に対してスイッチリセット信号を出力することで、スイッチ13を単体でリセットさせる。具体的には、FPGA12は、スイッチ13の図示しないリセットポートにスイッチリセット信号を入力することで、スイッチ13をリセットさせる。
また、FPGA12は、WDTレジスタ22およびバッファフルレジスタ23を備える。WDTレジスタ22に格納される値は、前述したCPU11(WDT処理部21)により定期的に行なわれるウォッチドッグライトにより更新される。これにより、後述するMPU14のWD監視部24は、このWDTレジスタ22の値を確認することで、WDT処理部21によるウォッチドッグ更新が行なわれているか否かを確認することができる。
バッファフルレジスタ23には、スイッチ13のバッファ#2とCPU11のバッファ#3とのいずれかにおいてバッファフルが発生したこと(バッファフル状態)を示すフラグが設定される。このバッファフルレジスタ23のフラグは、後述する監視チップ15のバッファ状態監視部27により設定される。
後述するMPU14は、このバッファフルレジスタ23の値を参照することで、スイッチ13のバッファ#2とCPU11のバッファ#3とのいずれかにおいてバッファフル状態となっているか否かを確認することができる。
スイッチ13は、PCIeプロトコルに従ってデータ伝送を中継する中継装置(中継部)であり、いわゆるPCIeスイッチである。
スイッチ13は、複数のポートを備え、これらのポートにデータの送信元や送信先となる機器が接続される。図1に示す例においては、スイッチ13にポートP1〜P3の3つのポートが備えられており、ポートP1には、ボード20のスイッチ201が接続されている。また、ポートP2にはCPU11が接続されている。
また、各ポートP1〜P3にはそれぞれバッファ131が備えられ、ポートを介して送信されるデータが格納される。以下、ポートP1に備えられるバッファ131をバッファ131−1という。同様に、ポートP2,P3に備えられるバッファ131をそれぞれ、バッファ131−2,131−3という。
以下、バッファを示す符号としては、複数のバッファのうち1つを特定する必要があるときには符号131−1〜131−3を用いるが、任意のバッファを指すときには符号131を用いる。
各バッファ131は、それぞれ複数のデータ格納領域を備え、これらの複数のデータ格納領域に、送受信されるデータが順次格納され、例えば、FIFOで処理される。
以下、便宜上、スイッチ13において、特にバッファ131−1,131−2をそれぞれバッファ#1,#2という場合がある。
また、スイッチ13においては、図示しないリセットポートに、FPGA12からスイッチリセット信号が入力されると、スイッチ13単体のリセットが行なわれる。スイッチ13のリセットが行なわれると、スイッチ13に備えられた各バッファ131がクリアされる。
また、スイッチ13は、CPU等の図示しないプロセッサを備え、このプロセッサがプログラムを実行することでエラー検知部29およびLTSSM処理部28として機能する。
プロセッサにおいて、これらのエラー検知部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等),ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
エラー検知部29およびLTSSM処理部28としての機能を実現する際には、内部記憶装置(本実施形態では図示しないRAMやROM)に格納されたプログラムがコンピュータのマイクロプロセッサ(本実施形態ではプロセッサ)によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
エラー検知部29は、PCIe通信におけるエラーの発生を検知する機能を備え、例えば、コレクタブルエラー(Correctable Error)や、アンコレクタブルエラー(Uncorrectable Error)の発生を検知する。
例えば、PCIe通信により接続されたリンクパートナ(ボード#2等)が突然、抜去や電源断された場合には、物理層での切断が発生し、これによりコレクタブルエラーが発生することが経験的にわかっている。
エラー検知部29は、コレクタブルエラーの発生を検知すると、CPU11に通知を行なう。
LTSSM処理部28は、LTSSMステートに関する処理を行なう。
CPU11は、エラー検知部29からコレクタブルエラー発生の通知を受信すると、これを契機にLTSSMステートの確認をLTSSM処理部28に行なう。なお、一般に、PCIeにおける通常動作状態においては、LTSSMステートはL0となる。
LTSSM処理部28は、LTSSMステートの状態をCPU11に通知する。LTSSMステートがL0(通常動作状態)以外の場合、すなわちPCIeのリンク状態に何らかの異常が生じている場合、CPU11はLTSSMの異常を検知する。
CPU11はスイッチ13(LTSSM処理部28)から通知されたLTSSMの状態よりリンク異常を検知し、ポートディセーブルを発行することで、LTSSMステートのリセットを行なう。LTSSMステートをリセットすることにより、後述するスイッチ13のバッファ131はクリア(解放処理)される。
これにより、CPU11は、スイッチ13においてコレクタブルエラーが発生すると、このスイッチ13の通信状態を確認し、通信状態に異常が検知された場合(LTSSMステートがL0)に、当該スイッチ13のポート無効化処理を行なうポート無効化処理部として機能する。
なお、CPU11がLTSSMステートのリセットを行なう前に、CPU11のバッファ111がバッファフルの状態になると、これによりCPU11がハングアップする場合がある。
監視チップ15は、CPU11とスイッチ13のポートP2とを接続する通信経路(PCIeバス)上に配置される回路装置である。この監視チップ15は、CPU11とスイッチ13との間で授受されるデータ(パケット)を監視して、CPU11のバッファ#3やスイッチ13のバッファ#2の状態を監視する監視装置として機能する。
ここで、PCIeはシリアルバスであり、全二重方式を採用しておりパケットの送信側および受信側の経路がそれぞれ存在する。PCIeバス上で送受信されるパケットには、データのリード/ライトなどの処理を扱うTLP(Transaction Layer Packet)のほかに、PCIeリンクの管理などを行なうパケットがある。いずれのパケットも同じ経路(シリアルバス)を利用して送受信される。
PCIe規格に従うデータ送受信装置(以下、PCIe装置という)は、TLPのデータを上位のシステムに伝えるために一時的に蓄えておく受信バッファを備える。上述したバッファ111やバッファ131がこの受信バッファとして機能する。
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に詰まりが生じている、つまり、バッファフルの状態であると考えられる。
監視チップ15は、CPU11とスイッチ13とを接続するPCIe信号線上に、例えば、UpdateFCパケットをスヌープ(snoop)する電子回路チップとして、リピータのように接続・配置される。この監視チップ15は、バッファ状態監視部27としての機能を備える。
バッファ状態監視部27は、CPU11とスイッチ13との間で授受されるUpdateFCパケットを監視し、一定時間、UpdateFCパケットの更新が無い場合に、これらのCPU11とスイッチ13との少なくともいずれかにおいてバッファフル状態が生じていると判断する。
例えば、監視チップ15は、受信したUpdateFCパケットを格納する格納部を備え、所定時間経過毎にUpdateFCパケットを受信し、この格納部に格納する。
そして、バッファ状態監視部27は、UpdateFCパケットを受信すると、格納部に格納されている先に受信したUpdateFCパケットと、この受信したUpdateFCパケットとを比較する。これにより、バッファ状態監視部27は、UpdateFCパケットが更新されたか否かを判断する。
また、バッファ状態監視部27は、UpdateFCパケットが更新されていないと判断した場合に、この更新されていない状態が一時的なものではなく、所定時間継続して生じていることを確認する。例えば、UpdateFCパケットが更新されていないことを検知された場合に、所定時間経過後に、再度、確認を行なう。
バッファ状態監視部27は、UpdateFCパケットが更新されていないと判断した場合に、バッファフル状態が発生していることを検知する。従って、バッファ状態監視部27は、CPU11とスイッチ13との間で通信されるUpdateFCパケットに基づいてバッファ131のバッファフル状態を検知するバッファフル検知部として機能する。
そして、バッファ状態監視部27は、バッファフル状態が生じ、且つ、このバッファフル状態が所定時間継続していると判断した場合に、スイッチ13におけるバッファフルの発生をFPGA12およびMPU14に通知する。
具体的には、バッファ状態監視部27は、バッファフルの発生を検知すると、FPGA12のバッファフルレジスタ23に、バッファフル状態が発生したことを示す値(フラグ)を設定する。後述するMPU14は、このFPGA12のバッファフルレジスタ23を参照することにより、バッファフルの発生を検知する。すなわち、バッファ状態監視部27はFPGA12を介してMPU14に対してスイッチ13におけるバッファフルの発生を通知する。
以下、バッファ状態監視部27(監視チップ15)が、FPGA12を介してMPU14に対して行なう、スイッチ13におけるバッファフルの発生の通知を、バッファフル通知という場合がある。
また、スイッチ13は、PCIe通信においてエラーの発生を検知する機能を備えており、例えば、コレクタブルエラーや、アンコレクタブルエラーの発生を検知する。これらのコレクタブルエラーや、アンコレクタブルエラーの発生検知は既知の手法を用いて実現できるものであり、その説明は省略する。
スイッチ13は、例えば、コレクタブルエラーの発生を検知すると、CPU11に対して通知を行なう。
スイッチ13からコレクタブルエラーの発生を通知されたCPU11は、前述の如く、これを契機に、LTSSMステートの確認を行なう。
MPU14は、プログラムを実行することにより、種々の機能を実現する処理装置であり、例えば、図2に示すように、WD監視部24,WD更新指示部25およびリセット制御部26として機能する。
なお、MPU14において、これらのWD監視部24,WD更新指示部25およびスイッチリセット制御部26としての機能を実現するためのプログラムは、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RW等),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD+R,DVD−RW,DVD+RW,HD DVD等),ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
WD監視部24,WD更新指示部25およびスイッチリセット制御部26としての機能を実現する際には、内部記憶装置(本実施形態では図示しないRAMやROM)に格納されたプログラムがコンピュータのマイクロプロセッサ(本実施形態ではMPU14)によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
WD監視部24は、FPGA12のWDTレジスタ22の値を定期的に監視し、WDTレジスタ22が更新されているか否かを確認する。すなわち、WD監視部24は、CPU11のWDT処理部21によるウォッチドッグを監視することで、CPU11が正常しているかを確認する。
すなわち、WD監視部24は、CPU11の停止状態(ハングアップ状態)を検知する停止状態検知部として機能する。
なお、このWD監視部24がWDTレジスタ22を監視する間隔は、CPU11のWDT処理部21がWDTレジスタ22にウォッチドッグライトを行なう間隔よりも長いことが望ましい。
WD監視部24は、所定時間経過毎に読み出したWDTレジスタ22の値をメモリ等の所定の記憶領域に記憶し、新たに読み出したWDTレジスタ22の値を、記憶されている先に読み出したWDTレジスタ22の値と比較する。これにより、WD監視部24は、WDTレジスタ22が更新されているか否かを確認する。
WD監視部24は、WDTレジスタ22の更新が行なわれていないことを検知すると、WD更新指示部25に通知を行なう。
WD更新指示部(更新指示部)25は、WD監視部24からWDTレジスタ22の更新が行なわれていないことを通知されると、FPGA12を介して、CPU11のWDT処理部21に対して、WD更新指示を送信する。すなわち、MPU14は、FPGA12に対して、WD更新指示を通知し、FPGA12はこの指示に従って、CPU11に対してWD更新指示を通知する。
このようにWD更新指示部25からCPU11にWD更新指示を行なってもCPU11からウォッチドッグ更新が行なわれない場合に、CPU11がなんらかの理由でハングアップした状態となっていると判断することができる。
リセット制御部26は、本制御装置1におけるリセット処理を制御する。例えば、リセット制御部26は、FPGA12に対してシステムリセット指示を送信することで、FPGA12に、本制御装置1のシステムリセットを行なわせる。
また、リセット制御部26は、FPGA12に対してスイッチリセット指示を送信することで、FPGA12に、スイッチ13を単体でリセットさせる。
前述の如く、CPU11からウォッチドッグ更新が行なわれない場合には、一見、CPU11がハングアップした状態にあるように見える。しかしながら、スイッチ13におけるバッファフル状態が検出されている場合には、CPU11は、そのバッファ#3がバッファフル状態となったことを原因として一時的にハングアップの状態となっていると考えられる。この場合、CPU11のバッファ#3をクリアすることでCPU11は動作復帰可能である。
リセット制御部26がスイッチ13を単体でリセットさせることにより、スイッチ13のバッファ131がクリアされ、また、スイッチ13とCPU11との間にリンクダウンが発生し、CPU11のバッファ111のデータは破棄される。すなわち、CPU11のバッファ#3がクリアされ、CPU11の一時的なハングアップ状態が解消される。
リセット制御部26は、WD監視部24によりCPU11のハングアップ状態(停止状態)が検知され、且つ、バッファ状態監視部27によりバッファ131のバッファフル状態が検知されると、スイッチ13をリセットするリセット処理部として機能するのである。
上述の如く構成された実施形態の一例としての制御装置1におけるスイッチ13のリセット処理を、図3に示すシーケンス図に従って説明する。以下においては、スイッチ13おいてLTSSM異常が発生した例を示し、この際、スイッチ13のLTSSMステートはL0ではないものとする。
スイッチ13において、LTSSM異常が発生すると(符号B1参照)、コレクタブルエラーが検知される(符号B2参照)。スイッチ13は、コレクタブルエラーの検出をCPU11に通知する(符号B3参照)。
CPU11は、スイッチ13を介してボード#2に対してデータ送付を行なう(符号B4参照)。スイッチ13においては、バッファ#1がバッファフル状態となり(符号B5参照)、その後、バッファ#2もバッファフル状態となる(符号B6参照)。
また、CPU11においては、バッファ#3がバッファフル状態となり(符号B9参照)、CPU11がハングアップした状態となる(CPUハング:符号B10参照)。CPU11がハングアップすると、LTSSM処理部28へのLTSSMステートの確認を行なうことができず、またWDT処理部21によるウォッチドッグ更新を行なうこともできない(符号B11参照)。
さて、スイッチ13においてバッファ#2がバッファフル状態になると、スイッチ13とCPU11との間で授受されるUpdateFCパケットはバッファフルを示すものとなる。
監視チップ15は、UpdateFCパケットを参照して、PCIe経路においてバッファフル状態が生じ、且つ、このバッファフル状態が所定時間継続していることを検知すると(符号B7参照)、FPGA12のバッファフルレジスタ23にフラグを設定することでMPU14に通知(バッファフル通知)を行なう(符号B8参照)。
MPU14は、FPGA12のバッファフルレジスタ23にフラグが設定されたことを検知することで、バッファフルの発生通知を認識する(符号B13参照)。
また、MPU14においては、WD監視部24が、FPGA12のWDTレジスタ22の値を定期的に監視し、WDTレジスタ22が更新されているか否かを確認する(符号B14参照)。この確認の結果、WDTレジスタ22の更新が行なわれていないことを検知すると、WD監視部24は、WD更新指示部25に通知を行なう。
WD更新指示部25は、WD監視部24からWDTレジスタ22の更新が行なわれていないことを通知されると、FPGA12を介して、CPU11のWDT処理部21に対して、WD更新指示を送信する(符号B15参照)。このWD更新指示を受信したFPGA12は、NMIをCPU11に対して入力することで、WD更新指示を通知する。
ただし、この時点において、CPU11はハングアップした状態であるので、このWD更新指示を受信してもウォッチドッグ更新を行なうことはできない(符号B12参照)。
また、MPU14において、リセット制御部26は、監視チップ15からバッファフル通知が行なわれており、且つ、WD更新指示部25によるWD更新指示を行なってもCPU11からウォッチドッグ更新が行なわれないことを確認する(符号B16参照)。
このように、スイッチ13においてバッファフル状態が生じており、且つ、WD更新指示を行なってもCPU11からウォッチドッグ更新が行なわれない場合には、リセット制御部26は、バッファ#3のバッファ詰まり(バッファフル状態)を原因としてCPU11が一時的にハングアップ状態となっていると認識する(符号B17参照)。
リセット制御部26は、スイッチ13に対してスイッチリセット指示を送信する(符号B18参照)。このスイッチリセット指示によりスイッチ13がリセットされ(符号B19参照)、このスイッチ13のバッファ#1,#2はクリアされる(符号B20参照)。
また、スイッチ13をリセットすることにより、スイッチ13とCPU11との間にリンクダウンが発生し、CPU11のバッファ111のデータは破棄される。すなわち、CPU11のバッファ#3がクリアされ(符号B21参照)、CPU11が復旧する(符号B22参照)。
次に、上述の如く構成された実施形態の一例としての制御装置1におけるコレクタブルエラー発生時の処理を、図4に示すフローチャート(ステップC1〜C10)に従って説明する。
ステップC1において、スイッチ13のエラー検知部29がコレクタブルエラーの発生を検知すると、ステップC2において、LTSSM処理部28がLTSSMステートを確認する。この確認の結果、LTSSMステートがL0である場合には(ステップC2の“LTSSMがL0ステート”ルート参照)、正常動作中であるとして、本制御装置1の動作を継続して行なう。
一方、LTSSMステートがL0以外である場合には(ステップC2の“LTSSMがL0以外”ルート参照)、ステップC3において、CPU11がポートディセーブルを発行する。このポートディセーブルの発行によりLTSSMがリセットされた場合には(ステップC3の“LTSSMリセットされる”ルート参照)、例えばスイッチ13のポートP1がディセーブルの状態となる。これにより、ボード#2が抜去状態となり、本制御装置1は継続して動作を行なうことができる。
また、ポートディセーブルを発行してもLTSSMがリセットされない場合には(ステップC3の“発行してもLTSSMがリセットされない”ルート参照)、ステップC5に移行する。ステップC5において、MPU14のWD監視部24がFPGA12のWDTレジスタ22を確認することでCPU11によるウォッチドッグ更新が行なわれているか否かを確認する。
なお、監視チップ15からFPGA12のバッファフルレジスタ23にバッファフル状態が発生したことを示す値(フラグ)が設定された場合、すなわち、スイッチ13によるバッファフル通知が行なわれた場合にも(ステップC4)、このステップC5の処理に移行する。
ウォッチドッグ更新が行なわれている場合には(ステップC5の“更新”ルート参照)、ボード#2が抜去状態で、本制御装置1は継続して動作を行なう。
また、ウォッチドッグ更新が行なわれていない場合には(ステップC5の“未更新”ルート参照)、ステップC6において、WD更新指示部25は、FPGA12を介して、CPU11のWDT処理部21に対して、WD更新指示を送信する。
ステップC7において、MPU14のWD監視部24が、ウォッチドッグ更新が行なわれているか否かを、再度、確認する。
ウォッチドッグ更新が行なわれている場合には(ステップC7の“更新”ルート参照)、ボード#2が抜去状態で、本制御装置1は継続して動作を行なう。
また、ウォッチドッグ更新が行なわれていない場合には(ステップC7の“未更新”ルート参照)、ステップC8において、監視チップ15からのバッファフル通知が行なわれているか否かを確認する。すなわち、FPGA12のバッファフルレジスタ23に、監視チップ15によりバッファフル状態が発生したことを示す値(フラグ)が設定されているか否かを確認する。
この確認の結果、バッファフル状態が発生したことを示すフラグが設定されていない場合(ステップC8の“無し”ルート参照)、ステップC9に移行する。
ステップC9においては、リセット制御部26が、FPGA12に対してシステムリセット指示を送信することで、FPGA12に、本制御装置1のシステムリセットを行なわせる。これにより、本制御装置1の再起動が行なわれる。
また、FPGA12のバッファフルレジスタ23にバッファフル状態が発生したことを示すフラグが設定されている場合(ステップC8の“有り”ルート参照)、ステップC10に移行する。
ステップC10においては、リセット制御部26が、FPGA12に対してスイッチリセット指示を送信することで、FPGA12に、スイッチ13を単体でリセットさせる。これにより、ボード#2が抜去状態となり、本制御装置1は継続して動作を行なうことができる。
このように、本発明の一実施形態としての制御装置1によれば、CPU11とスイッチ13のポートP2とを接続するPCIeバス上に配置された監視チップ15が、同バス上で送受信されるUpdateFCパケットを監視することでバッファフルの状態を検知する。
そして、CPU11によるウォッチドッグ更新が行なわれない場合であっても、監視チップ15よりバッファフル通知が行なわれている場合には、リセット制御部26が、FPGA12に対してスイッチリセット指示を送信することで、FPGA12に、スイッチ13を単体でリセットさせる。
これにより、スイッチ13のバッファ131がクリアされ、また、スイッチ13とCPU11との間にリンクダウンが発生し、CPU11のバッファ111のデータは破棄される。すなわち、CPU11のバッファ#3がクリアされ、CPU11の一時的なハングアップ状態が解消される。
従って、CPU11の電源を落とさずに装置を復旧させることができ、業務への影響を最小限に抑えることができる。
そして、開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成及び各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
例えば、上述した実施形態においては、監視チップ15は、CPU11とスイッチ13とを接続するPCIe信号線上にリピータのように接続・配置されているが、これに限定されるものではない。すなわち、同様の機能を、スイッチ13やCPU11,FPGA12のいずれかに備えて実現してもよい。また、この際、監視チップ15としての機能は、電子回路として実現する代わりに、プロセッサがプログラムを実行することにより実現してもよく、種々変形して実施することができる。
また、上述した実施形態においては、ボード10がストレージ装置のCMであり、ボード20がCAである例を示しているが、これに限定されるものではなく、他の装置であってもよい。
さらに、上述した実施形態においては、スイッチ13がPCIeスイッチであり、PCIeプロトコルに従った通信システムでのデータ伝送の例について示しているが、これに限定されるものではなく、他の通信プロトコルに適用してもよい。例えば、SAS(Serial Attached Small Computer System Interface)やFC(Fibre Channel)等の通信システムに適用してもよい。
また、上述した実施形態においては、例えばスイッチ13に3つのポートP1〜P3が備えられているが、これに限定されるものではなく、種々変形して実施することができる。すなわち、スイッチ13が2つもしくは4つ以上のポートを備えてもよく、種々変形して実施することができる。
また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
電子部品が接続される接続部と、
データを処理する処理装置と、
送信もしくは受信するデータを格納するバッファを備え、前記処理装置と前記電子部品とのデータ通信を中継する中継部と、
前記処理装置の停止状態を検知する停止状態検知部と、
前記中継部の前記バッファのバッファフル状態を検知するバッファフル検知部と、
前記停止状態検知部により前記処理装置の停止状態が検知され、且つ、前記バッファフル検知部により前記バッファのバッファフル状態が検知されると、前記中継部をリセットするリセット処理部と
を備えることを特徴とする、制御装置。
(付記2)
前記バッファフル検知部が、
前記処理装置と前記中継装置とを接続する通信経路上に配置され、前記処理装置と前記中継部との間で通信されるバッファ状態情報に基づいて、前記バッファのバッファフル状態を検知することを特徴とする、付記1記載の制御装置。
(付記3)
前記停止状態検知部が、
前記処理装置により更新される更新情報を参照することで、前記処理装置の停止状態を検知することを特徴とする、付記1または2記載の制御装置。
(付記4)
前記処理装置に対して前記更新情報の更新指示を送信する更新指示部を備えることを特徴とする、付記3記載の制御装置。
(付記5)
前記停止状態検知部が前記処理装置の停止状態を検知した場合に、前記バッファフル検知部が前記バッファの状態を確認することを特徴とする、付記1〜4のいずれか1項に記載の制御装置。
(付記6)
前記中継部においてコレクタブルエラーが発生すると、当該中継部の通信状態を確認し、前記通信状態に異常が検知された場合に、前記中継部のポート無効化処理を行なうポート無効化処理部をそなえ、
前記ポート無効化処理部が前記中継部のポート無効化処理を行なっても、前記中継部の通信状態が回復しない場合に、
前記停止状態検知部が前記処理装置の停止状態を検知し、バッファフル検知部が前記中継部の前記バッファのバッファフル状態を検知することを特徴とする、付記1〜5のいずれか1項に記載の制御装置。
(付記7)
電子部品が接続される接続部と、
データを処理する処理装置と、
送信もしくは受信するバッファを備え、前記処理装置と前記電子部品とのデータ通信を中継する中継部とを備える制御装置において、
前記処理装置の停止状態を検知する処理と、
前記中継部の前記バッファのバッファフル状態を検知する処理と、
前記処理装置の停止状態が検知され、且つ、前記バッファのバッファフル状態が検知されると、前記中継部をリセットする処理と
を備えることを特徴とする、制御方法。
(付記8)
前記処理装置と前記中継部との間で通信されるバッファ状態情報に基づいて、前記バッファのバッファフル状態を検知することを特徴とする、付記7記載の制御方法。
(付記9)
前記処理装置により更新される更新情報を参照することで、前記処理装置の停止状態を検知することを特徴とする、付記7または8記載の制御方法。
(付記10)
前記処理装置に対して前記更新情報の更新指示を送信する処理を備えることを特徴とする、付記9記載の制御方法。
(付記11)
前記処理装置の停止状態を検知した場合に、前記バッファの状態を確認することを特徴とする、付記7〜10のいずれか1項に記載の制御方法。
(付記12)
前記中継部においてコレクタブルエラーが発生すると、当該中継部の通信状態を確認する処理と、
前記通信状態に異常が検知された場合に、前記中継部のポート無効化処理を行なう処理と、
前記中継部のポート無効化処理を行なっても、前記中継部の通信状態が回復しない場合に、
前記処理装置の停止状態の検知および前記中継部の前記バッファのバッファフル状態の検知を行なうことを特徴とする、付記7〜11のいずれか1項に記載の制御方法。
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. 電子部品が接続される接続部と、
    データを処理する処理装置と、
    送信もしくは受信するデータを格納するバッファを備え、前記処理装置と前記電子部品とのデータ通信を中継する中継部と、
    前記処理装置の停止状態を検知する停止状態検知部と、
    前記中継部の前記バッファのバッファフル状態を検知するバッファフル検知部と、
    前記停止状態検知部により前記処理装置の停止状態が検知され、且つ、前記バッファフル検知部により前記バッファのバッファフル状態が検知されると、前記中継部のみをリセットするリセット処理部と
    を備えることを特徴とする、制御装置。
  2. 前記バッファフル検知部が、
    前記処理装置と前記中継とを接続する通信経路上に配置され、前記処理装置と前記中継部との間で通信されるバッファ状態情報に基づいて、前記バッファのバッファフル状態を検知することを特徴とする、請求項1記載の制御装置。
  3. 前記停止状態検知部が、
    前記処理装置により更新される更新情報を参照することで、前記処理装置の停止状態を検知することを特徴とする、請求項1または2記載の制御装置。
  4. 前記処理装置に対して前記更新情報の更新指示を送信する更新指示部を備えることを特徴とする、請求項3記載の制御装置。
  5. 前記停止状態検知部が前記処理装置の停止状態を検知した場合に、前記バッファフル検知部が前記バッファの状態を確認することを特徴とする、請求項1〜4のいずれか1項に記載の制御装置。
  6. 前記中継部においてコレクタブルエラーが発生すると、当該中継部の通信状態を確認し、前記通信状態に異常が検知された場合に、前記中継部のポート無効化処理を行なうポート無効化処理部をそなえ、
    前記ポート無効化処理部が前記中継部のポート無効化処理を行なっても、前記中継部の通信状態が回復しない場合に、
    前記停止状態検知部が前記処理装置の停止状態を検知し、バッファフル検知部が前記中継部の前記バッファのバッファフル状態を検知することを特徴とする、請求項1〜5のいずれか1項に記載の制御装置。
  7. 電子部品が接続される接続部と、
    データを処理する処理装置と、
    送信もしくは受信するデータを格納するバッファを備え、前記処理装置と前記電子部品とのデータ通信を中継する中継部とを備える制御装置において、
    前記処理装置の停止状態を検知する処理と、
    前記中継部の前記バッファのバッファフル状態を検知する処理と、
    前記処理装置の停止状態が検知され、且つ、前記バッファのバッファフル状態が検知されると、前記中継部のみをリセットする処理と
    を備えることを特徴とする、制御方法。
JP2014187836A 2014-09-16 2014-09-16 制御装置および制御方法 Active JP6379905B2 (ja)

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)

* Cited by examiner, † Cited by third party
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接口硬件板卡及其总线控制方法及系统
EP3627324B1 (de) * 2016-09-19 2021-10-27 Elmos Semiconductor SE Watchdog zur überwachung eines prozessors
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)

* Cited by examiner, † Cited by third party
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
US5448558A (en) * 1994-04-05 1995-09-05 International Business Machines Corporation Method and apparatus for managing packet FIFOS
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
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
US9614777B2 (en) * 2012-08-21 2017-04-04 Hewlett Packard Enterprise Development Lp 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

Also Published As

Publication number Publication date
US9626153B2 (en) 2017-04-18
US20160077799A1 (en) 2016-03-17
JP2016062166A (ja) 2016-04-25

Similar Documents

Publication Publication Date Title
JP6379905B2 (ja) 制御装置および制御方法
US7536584B2 (en) Fault-isolating SAS expander
JP6011210B2 (ja) ストレージ制御装置,プログラマブル論理回路の復旧処理方法及び制御プログラム
EP2052326B1 (en) Fault-isolating sas expander
US8402189B2 (en) Information processing apparatus and data transfer method
US8560878B2 (en) System and method for failure detection by a storage expander preceding an expander experiencing a failure
JP5327036B2 (ja) 記憶装置接続装置,ストレージ装置,情報管理方法及び情報管理プログラム
JP2006195821A (ja) 情報処理システムの制御方法、情報処理システム、ダイレクトメモリアクセス制御装置、プログラム
JP2018116704A (ja) ストレージシステム及びその動作方法
JP6307847B2 (ja) 情報処理装置,制御装置及び制御プログラム
JP6455302B2 (ja) バス通信システム
JP2017010390A (ja) ストレージ制御装置、ストレージ制御プログラム、およびストレージ制御方法
JP6183931B2 (ja) クラスタシステム、サーバ装置、クラスタシステムの管理方法、及びプログラム。
JP6428048B2 (ja) 通信システム,異常制御装置および異常制御方法
JP2009217475A (ja) ストレージシステム,ストレージ装置,ストレージシステムの制御方法および制御プログラム
KR101437735B1 (ko) 정보 처리 장치 및 동작 상태 감시 방법
EP2784677A1 (en) Processing apparatus, program and method for logically separating an abnormal device based on abnormality count and a threshold
JP2020021313A (ja) データ処理装置および診断方法
JP5689783B2 (ja) コンピュータ、コンピュータシステム、および障害情報管理方法
JP6418021B2 (ja) 情報処理装置及び情報処理装置の制御方法
JP6357879B2 (ja) システムおよび障害処理方法
JP2014010519A (ja) 制御装置、ストレージ装置、制御方法及び制御プログラム
KR102018225B1 (ko) 연결 방법
JP5444194B2 (ja) データ転送装置、データ転送方法、コンピュータシステム
EP2851801A1 (en) Computer system, control method for computer system and coupling module

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