CN108319525A - 开关装置及检测集成电路总线的方法 - Google Patents
开关装置及检测集成电路总线的方法 Download PDFInfo
- Publication number
- CN108319525A CN108319525A CN201710160966.5A CN201710160966A CN108319525A CN 108319525 A CN108319525 A CN 108319525A CN 201710160966 A CN201710160966 A CN 201710160966A CN 108319525 A CN108319525 A CN 108319525A
- Authority
- CN
- China
- Prior art keywords
- devices
- buses
- monitoring circuit
- hardware monitoring
- management controller
- 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.)
- Pending
Links
Classifications
-
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- 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
-
- 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/0715—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 a system implementing multitasking
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/221—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test buses, lines or interfaces, e.g. stuck-at or open line faults
-
- 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/3048—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the topology of the computing system or computing system component explicitly influences the monitoring activity, e.g. serial, hierarchical systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- 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
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)
- Bus Control (AREA)
- Information Transfer Systems (AREA)
- Small-Scale Networks (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明提供一种检测集成电路总线(I2C)的方法,该方法利用基板管理控制器及硬件监视电路(Hardware Watchdog Circuit),该方法包括:利用该硬件监视电路检测I2C总线失效(failure);判断该硬件监视电路是否可自动复位在该I2C总线上的多个I2C装置;若判断该硬件监视电路可自动复位在该I2C总线上的该多个I2C装置,利用该硬件监视电路复位该多个I2C装置;以及若判断该硬件监视电路无法自动复位在该I2C总线上的该多个I2C装置,利用该硬件监视电路回报所检测到的该I2C总线失效至该基板管理控制器,并利用该基板管理控制器处理该I2C总线失效。
Description
技术领域
本发明涉及总线停机检测(bus hang detection),特别涉及利用基板管理控制器(baseboard management controller、BMC)与硬件监视电路(hardware watchdogcircuit)以进行总线停机检测,其中硬件监视电路为复杂可编程逻辑装置(complexprogrammable logic device、CPLD)。
背景技术
集成电路总线(Inter-Integrated Circuit Bus、I2C Bus)的停机(hang)的发生会有几个原因,例如是高乙太网络传输量或服务器停机(server crash)。一般而言,I2C总线的停机检测利用I2C装置的软件所执行。然而,这种方法的速度相当缓慢且会花费巨量的系统存储器及中央处理器的资源。
一般的I2C架构,如图1所示,具有基板管理控制器(BMC)以直接监控I2C装置。虽有这种组态并不需要系统资源及中央处理器的资源,但这种方法仍会消耗基板管理控制器的资源。此外,软件的解决方法会让网络曝露于网络攻击之下。
因此,需要另一种方法以检测及处理I2C总线的停机。
发明内容
下列段落提供本发明一个或多个实施例中的简单摘要以提供本发明技术的基本理解。此摘要并非本发明技术的所有考虑的实施例的延伸概观,且不是用以分辨所有例子的关键或重要元件也不是描述本发明中任何或所有方面的范围。其目的是以简单形式呈现一个或多个实施例中的一些概念以做为本发明后述详细说明部分的前言。
在本发明的第一实施例中,本发明提供一种检测集成电路总线(I2C)的方法,该方法利用基板管理控制器及硬件监视电路,该方法包括:利用该硬件监视电路检测I2C总线失效;判断该硬件监视电路是否可自动复位在该I2C总线上的多个I2C装置;若判断该硬件监视电路可自动复位在该I2C总线上的该多个I2C装置,利用该硬件监视电路复位该多个I2C装置;以及若判断该硬件监视电路无法自动复位在该I2C总线上的该多个I2C装置,利用该硬件监视电路回报所检测到的该I2C总线失效至该基板管理控制器,并利用该基板管理控制器处理该I2C总线失效。
在本发明的第二实施例中,本发明提供一种开关装置,包括:基板管理控制器;硬件监视电路;集成电路总线(I2C),用以连接多个I2C装置;以及中央处理器;其中该硬件监视电路用以检测该I2C总线的I2C总线失效,并判断该硬件监视电路是否可自动复位在该I2C总线上的多个I2C装置;其中若判断该硬件监视电路可自动复位在该I2C总线上的该多个I2C装置,该硬件监视电路复位该多个I2C装置,其中若判断该硬件监视电路无法自动复位在该I2C总线上的该多个I2C装置,该硬件监视电路回报所检测到的该I2C总线失效至该基板管理控制器,且该基板管理控制器处理该I2C总线失效。
附图说明
图1显示传统技术中利用基板管理控制器以直接检测I2C总线停机的系统的方块图。
图2显示依据本发明实施例中利用基板管理控制器及硬件监视电路以监控I2C总线状态的系统。
图3显示依据本发明实施例中利用硬件监视电路以检测I2C总线状态的流程图。
图4显示依据本发明另一实施例中利用硬件监视电路以检测I2C总线状态的流程图。
图5显示本发明中示范性的计算机系统500的方块图。
符号说明
100、200~系统;
101~基板管理控制器;
102~I2C开关;
103~切换中央处理器;
104~I2C扩展器;
105~SFP+模块;
106~QSFP+模块;
107~zQSFP+模块;
108~SFP+模块;
201~基板管理控制器;
202~I2C开关;
203~切换中央处理器;
204~I2C扩展器;
205~SFP+模块;
206~QSFP+模块;
207~zQSFP+模块;
208~SFP+模块;
209~硬件监视电路;
301-305~步骤;
401-409~步骤;
500~计算机系统;
510~基本输入/输出系统;
520~存储器;
530~储存装置;
540~处理器;
550~网络接口;
560~北桥;
570~南桥;
580~管理控制器;
reset_EN~复位致能信号;
Hang_Alert~停机警告信号;
I2C Monitor~监控信号;
BMC_I2C~BMC_I2C信号;
Hang_Inform~停机通知信号;
SFP+_I2C_1、SFP+_I2C_2、SFP+_I2C_3、SFP+_I2C_4~信号
具体实施方式
本公开提供了在服务器系统中用于管理网络组态的技术,其与本发明的技术有关。在本案技术的多个实施方法参考附图并进行说明。在后述说明的实施方式中,为了便于说明,阐述了许多特定细节以提供一个或多个实施方式的充分理解。然而,也可证明本发明的技术也可在不具备这些特定细节而实现。在其他例子中,现有的架构与装置以方块图的方式呈现以增进这些实施例的说明。
本发明的多个实施例配合附图作详细说明如下。在后述实施例中,为了便于说明,提出了许多特定细节以提供一个或多个实施例的完整理解。然而,本发明在不具备此特定细节的情况下也可实施。在另一些例子中,在方块图中所示的现有的结构及装置是为了便于说明这些实施例。
如上面的讨论,具有极大利益以发展在软件基础式或是BMC基础式外的替代解决方法以检测及处理I2C总线停机(hang),并可用更快的速度且不需要大量的存储器及处理资源。综上所述,本发明利用图1-4以说明总线停机检测。
图1显示传统技术中利用基板管理控制器(BMC)以直接检测I2C总线停机的系统的方块图。
图1中的开关系统(switch system)100包括基板管理控制器101、I2C开关(I2Cswitch)102、切换中央处理器(switch CPU)103、I2C扩展器/隔离器(I2C Expander/Isolator))装置104、及多个与I2C扩展器/隔离器装置104有关的通道的小封装热插拔模块(small-form factor pluggable module、SFC模块)105-108(例如分别为SFP+模块、QSFP+模块、zQSFP+模块、及SFP+模块)。在I2C扩展器装置104与小封装热插拔模块105-108之间的通信分别经由I2C信号SFP+_I2C_1、SFP+_I2C_2、SFP+_I2C_3、SFP+_I2C_4。
依据传统的技术,基板管理控制器101利用BMC_I2C信号与I2C开关102进行沟通,并利用Hang_Inform停机通知信号以提供停机信息(hang information)至切换中央处理器103,如图1所示。
在图1中的系统,基板管理控制器101利用监控信号I2C_Monitor连续地监控I2C扩展器装置104(例如I2C总线)以及在I2C扩展器装置104上的装置(105-108)。在发生I2C总线停机时,基板管理控制器101可利用复位信号RESET_Device以复位I2C扩展器装置104。
然而,因为基板管理控制器101直接监控I2C扩展器装置104以检测I2C装置的停机,并判断何时要发送复位信号以复位这些停机的I2C装置,此方法使用基板管理控制器的资源。此也可能会使用I2C装置的软件而将需要驻厂的技术人员来支援。更进一步而言,如上述所,这种利用I2C装置的软件的方法的速度相当缓慢,且会花费大量的存储器及处理资源。
为了表明传统的检测方法及处理I2C总线停机事件的问题,本发明中的多个实施例提供增强系统,其中部分的检测及处理I2C总线停机可移至硬件监视电路(hardwarewatchdog circuit)。这种系统可让检测及处理I2C总线停机事件的速度更快,例如图2所示。
图2显示依据本发明实施例中利用基板管理控制器及硬件监视电路以监控I2C总线状态的系统。
类似于图1中的系统100,图2中的系统200(例如为开关系统)包括基板管理控制器201、I2C开关202、切换中央处理器203、I2C扩展器(或隔离器)装置204、及多个与I2C扩展器/隔离器装置204有关的通道的小封装热插拔模块205-208(例如分别为SFP+模块、QSFP+模块、zQSFP+模块、及SFP+模块)。在实施例中,在I2C扩展器装置204与小封装热插拔模块205-208之间的通信经由I2C信号SFP+_I2C_1、SFP+_I2C_2、SFP+_I2C_3、SFP+_I2C_4。
然而,不同于图1的系统100,图2中的系统200还包括硬件监视电路209,且至少有部分的I2C总线停机的检测及处理会被转至硬件监视电路209。如图2的实施例,基板管理控制器201利用BMC_I2C信号以与I2C开关202进行沟通,并利用Hang_Inform停机通知信号以提供停机信息至切换中央处理器203。然而,在图1中利用基板管理控制器101直接监控I2C扩展器装置104,在本发明图2中的硬件监视电路209取代了基板管理控制器201以监控I2C扩展器装置204。基板管理控制器201用以利用复位致能信号reset_EN,其可致能或授权硬件监视电路209以自动复位I2C扩展器装置204。依据复位致能信号reset_EN,硬件监视电路209可利用其本身的复位信号RESET_Device在适当延迟下以自动复位I2C装置204。
若硬件监视电路209并未被致能以自动复位I2C扩展器装置204,取而代之地,基板管理控制器201会利用Hang_Alert停机警告信号从硬件监视电路209接收停机信息。
硬件监视电路209还可利用I2C Monitor监控信号以检测SM/I2C总线的时钟线/数据线(clock line/data line)及SCL/SDA引脚以判断I2C总线锁定(I2C bus lock)是否发生。此信息也会即时地被硬件监视电路209所接收。依据所接收到的信息,Hang_Alert停机警告信号会被传送至基板管理控制器201,就算硬件监视电路209已被授权可复位I2C扩展器装置204。
在另一实施例中,硬件监视电路209可依据所接收到的信号以接收局域网络唤醒(wake on LAN、WOL)信号,其中该局域网络唤醒信号可触发硬件监视电路209以传送警告信号至基板管理控制器201以复位停机的I2C装置。
在硬件监视电路209无法清除或解决I2C总线停机或是硬件监视电路209未被致能以产生复位信号RESET_Device信号的情形下,基板管理控制器201接着会继续搜索程序(以寻找造成停机或锁定的装置或原因)以决定其损害并通过Hang_Inform停机通知信号以回报信息至切换中央处理器203。
因此,依此方式,基板管理控制器201并不需要持续地监控I2C扩展器装置204,并取而代之地让硬件监视电路209监控I2C扩展器装置204并提供任何停机警告至基板管理控制器201以进行更进一步的处理。在实施例中,虽然图2中的系统200绘示了分开的硬件监视电路209,这个硬件监视电路209可被整合至系统200中的其他元件,例如是基板管理控制器201。
图3显示依据本发明实施例中利用硬件监视电路以检测I2C总线状态的流程图。
图3的流程由步骤301开始,其中硬件监视电路209检测I2C总线锁定(lock)。举例来说,请再参考图2,硬件监视电路209可检测与I2C_Monitor监控信号有关的不正常情况。在检测到I2C总线锁定之后,硬件监视电路209判断是否可自动复位I2C扩展器装置204。举例来说,请再参考图2,硬件监视电路209决定是否从基板管理控制器201接收到复位致能信号reset_EN。
若判断硬件监视电路209可自动复位I2C扩展器装置204,硬件监视电路209传送复位信号(步骤303),且该流程回到步骤301以监控未来的I2C总线是否产生锁定。然而,若判断硬件监视电路209无法自动复位I2C扩展器装置204,硬件监视电路209回报I2C总线锁定的情形至基板管理控制器201(步骤304)。举例而言,如上所述,硬件监视电路209可传送停机警告信号Hang_Alert至基板管理控制器201。
最后,在步骤305,I2C总线失效的进一步处理会被移交至基板管理控制器201。上述处理可包括利用基板管理控制器201对连接至I2C总线的任何I2C装置进行复位或故障排除。
在步骤305中的处理还包括利用基板管理控制器以通知处理结果至中央处理器并记录失效通道(failed channels)至中央处理器。关于利用基板管理控制器以处理I2C总线失效的细节,将于图4的实施例中进行说明。
图4显示依据本发明另一实施例中利用硬件监视电路以检测I2C总线状态的流程图。
图4的流程开始于步骤401,其中在系统200中的硬件监视电路209例如为复杂可编程逻辑装置(CPLD),检测I2C总线状态。在步骤402,判断是否发生I2C/SM总线锁定(lock)。若未发生,则返回执行步骤401,且硬件监视电路209持续监控I2C总线状态。
然而,若在步骤402检测到I2C/SM总线锁定,流程前进至步骤403以判断硬件监视电路209是否已致能而可执行自动复位I2C扩展器装置204。若硬件监视电路209已被致能以自动复位I2C扩展器装置204,I2C扩展器装置204会被释放(release)或复位(步骤404),流程会回到步骤401,且硬件监视电路209重新检测I2C总线状态。此处理类似于图3。
然而,若在步骤403中硬件监视电路209未被致能以自动复位I2C扩展器装置204,该流程前进至步骤405,且硬件监视电路209传送警告信号至基板管理控制器201,基板管理控制器201接着执行I2C/SM总线失效搜索程序(以寻找造成停机或锁定的装置或原因)。
由基板管理控制器201所执行的失效搜索程序经由环路执行,其中各I2C扩展器204、I2C装置及任何有关的通道,会被一一选择(步骤407)并隔离,而后其对应的I2C/SM总线状态会被检查以判断该通道是否正常(代表其并非导致I2C总线停机)(步骤408)。若在步骤408中判断该通道是正常的(代表并非导致I2C总线停机),该流程回到步骤407,选择下一个I2C装置和/或通道。在一些实施例中,基板管理控制器201用以尝试并复位I2C装置,并通过复位该导致I2C总线锁定的I2C装置和/或通道以清除I2C总线锁定。
此处理用于所有的I2C扩展器或隔离器装置及其所有的通道。当在步骤408判断装置或其通道并不正常,此信息会被传送至切换中央处理器203并记录(步骤409)。此信息可被维持在记录文件中以供未来使用。选择性地,此信息可被中央处理器所使用以产生给用户的警告。
图5显示本发明中示范性的计算机系统500的方块图。计算机系统500包括处理器540、网络接口550、管理控制器580、存储器520、储存装置530、基本输入/输出系统(BIOS)510、北桥560、及南桥570。
举例来说,计算机系统500可为服务器(例如在数据中心中的许多机架式服务器中的一个)或个人计算机。处理器(例如为中央处理器)540可为在主机板上的芯片,其可接收并执行储存于存储器520中的可编程的指令。处理器540可为具有单一处理核心的单一中央处理器、具有多处理核心的单一中央处理器、或多个中央处理器。一个或多个总线(未示出)可传送在多个计算机元件之间的指令及应用程序数据,例如是处理器540、存储器520、储存装置530、及网络接口550。
存储器520可包括用以暂时地或永久地储存数据或程序的任何物理性装置,例如是多种形式的随机存取存储器(RAM)。储存装置530可包括用于非易失性数据储存的任何物理性装置,例如是硬盘机或快闪磁盘机。储存装置530比存储器520具有较大的容量,且可在每单元的储存更具有经济效益,但也会具有较慢的传输速度。
基本输入/输出系统510可包括基本输入/输出系统或其继承者或等效元件,例如是可延伸固件接口(Extensible Firmware Interface、EFI)或是统一可延伸固件接口(Unified Extensible Firmware Interface、UEFI)。基本输入/输出系统510可包括位于计算机系统500中主机板上的BIOS芯片,其用以储存BIOS软件程序。基本输入/输出系统510储存了当计算机系统500第一次启动时所需执行的组态集合。BIOS固件及BIOS组态储存于非易失性随机存取存储器512或是只读存储器,例如是快闪存储器。快闪存储器为非易失性计算机储存媒体,其可电性地擦除及重新编程。
每当计算机系统500启动时,BIOS 510可被载入并执行程序序列。BIOS510可依据组态集合以辨识、初始化、及测试目前计算机系统中的硬件。BIOS510可在计算机系统500执行自测试,例如是开机自测试(Power-on-Self-Test)。该自测试可测试许多硬件元件的功能性,例如是硬件、光盘读取装置、散热装置、存储器模块、或扩展卡等等。BIOS 510可在存储器320中进行定址及分配区域以储存操作系统。BIOS 510可将计算机系统的控制权交给操作系统。
计算机系统500中的BIOS 510可包括BIOS组态设定,其定义了BIOS 510如何控制计算机系统500中的不同硬件元件。BIOS组态设定可决定在计算机系统500中的哪些硬件元件需要启动。BIOS 510可提供接口(例如是BIOS设定工具),可供设定不同的参数,其可与BIOS预设组态的参数不同。举例来说,用户(例如是管理者),可使用BIOS 510以指定时脉及总线的速度、指定与计算机系统连接的外围装置、指定监控计算机系统的健康状态(例如是风扇转速及CPU温度限制)、以及指定其他不同参数,其可影响计算机系统的整体效能及功耗使用。
管理控制器580可为特别微控制器(microcontroller)嵌入至计算机系统500的主机板。举例来说,管理控制器580可为基板管理控制器或机架式服务器管理控制器(rackserver management controller、RMC)。管理控制器580可管理在系统管理软件及平台硬件之间的接口。建置于在计算机系统500中的不同类型的传感器可回报参数至管理控制器580,例如是温度、散热风扇转速、电源状态、操作系统状态等等。管理控制器580可监控这些传感器,并在若有任何参数不在预设限制内时,并可利用网络传送警告至管理者,由此通知计算机系统中可能的失误(failure)。管理者也可远端与基板管理控制器580进行沟通以采取一些正确的行动,例如是重新启动或是关闭再启动计算机系统以回复功能。
北桥560可为在主机板上的芯片,且可直接连接至处理器540或整合至处理器540中。在一些实施例中,北桥560及南桥570可合并至单一芯片。北桥560及南桥570可管理在处理器540及在主机板上的其他元件的通信。相较于南桥570,北桥560可管理需要较高效能的工作(task)。北桥560可管理在处理器540、存储器520、及视频控制器(未示出)之间的通信。在一些实施例中,北桥560可包括视频控制器。
南桥570可为在连接至北桥560的主机板上的芯片,但不同于北桥560,南桥570并非直接连接至处理器540。南桥570可管理计算机系统500的输入/输出功能(例如:音频功能、BIOS、USB、SATA、PCI、PCI-X、PCI Express总线、ISA总线、SPI总线、eSPI总线、系统管理总线等等)。南桥570可连接至或可包括管理控制器580、直接存储器存取(DMA)控制器、程序中断控制器、及即时时钟。
在本发明中所示出的逻辑方块、模块、及电路可由通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程的门阵列(FPGA)或其他可编程逻辑装置、离散门或晶体管逻辑、离散硬件元件、或其任意组合用以设计来执行本发明的函数或功能。通用处理器可为微处理器、也可为任意传统的处理器、控制器、微控制器或状态机。处理器也可用运算装置的组合所实现,例如是数字信号处理器及微处理器的组合、多个微处理器、一个或多个微处理器再加上数字信号处理核心、或其他此类组合。
在本发明中的方法或算法的运算可直接用硬件、由处理器所执行的软件模块、或其组合所实现。软件模块可储存于随机存取存储器、快闪存储器、只读存储器、EPROM、EEPROM、寄存器、硬盘、可移除式磁盘、CD-ROM、或其他已知类型的储存媒体。示范性的储存媒体耦接至处理器,使得该处理器可由该储存媒体读取或写入信息。在另一实施例中,储存媒体可被整合至处理器。该处理器及储存媒体可在专用集成电路(ASIC)中。该专用集成电路可位于用户终端装置中。另一方面,该处理器及储存媒体可位于用户终端装置的离散元件中。
在一个或多个示范性的设计中,所公开的功能可由硬件、软件、固件、或其任意组合所实现。若由软件所实现,该功能可被储存或以在非临时性(non-transitory)的计算机可读取媒体上的一个或多个指令或程序码进行传送。非易失性计算机可读取媒体包括任意媒体可将计算机程序由一处传送至另一处。储存媒体可为任意可取得的媒体,其可由通用处理器或专用处理器所取。在非限定的实施例中,这类的计算机可读取媒体包括随机存取存储器、只读存储器、EEPROM、CD-ROM、或其他光学磁盘储存装置、磁性磁盘储存装置、或其他类型的媒体可用以携带或储存以指令或数据结构的形式的程序码,其可由通用处理器或专用处理器所存取。在此处所公开的磁盘(disk)及盘片(disc)可包括CD、激光盘(laserdisc)、光学盘、DVD、软盘、蓝光盘(blue ray disc),其中当这些盘用激光光学读取数据时,这些盘片通常可磁性地重制数据。上述所公开的任意组合也包括于非临时性的计算机可读取媒体中。
本发明虽以较佳实施例公开如上,然而其并非用以限定本发明的范围,任何本领域技术人员,在不脱离本发明的精神和范围内,应当可以做些许的更动与润饰,因此本发明的保护范围应当视所附权利要求书所界定的为准。
Claims (10)
1.一种检测集成电路总线I2C的方法,该方法利用基板管理控制器及硬件监视电路,该方法包括:利用该硬件监视电路检测I2C总线失效;
判断该硬件监视电路是否可自动复位在该I2C总线上的多个I2C装置;
若判断该硬件监视电路可自动复位在该I2C总线上的该多个I2C装置,利用该硬件监视电路复位该多个I2C装置;以及
若判断该硬件监视电路无法自动复位在该I2C总线上的该多个I2C装置,利用该硬件监视电路回报所检测到的该I2C总线失效至该基板管理控制器,并利用该基板管理控制器处理该I2C总线失效。
2.如权利要求1所述的方法,其中该判断步骤包括:
在该硬件监视电路检测是否从该基板管理控制器接收到复位致能信号;以及
若接收到该复位致能信号,判断该硬件监视电路可自动复位该多个I2C装置。
3.如权利要求1所述的方法,其中该检测步骤包括:
利用该硬件监视电路检测该I2C总线的时钟线及数据线。
4.如权利要求1所述的方法,其中该处理步骤包括:
利用该基板管理控制器复位该多个I2C装置;
若复位该多个I2C装置无法解决该I2C总线失效,测试该多个I2C装置以判断该I2C总线失效的原因;以及
回报处理结果至中央处理器。
5.如权利要求4所述的方法,其中该测试步骤包括:
依据下列步骤以依序评估该多个I2C装置中的每一个:
隔离在该多个I2C装置中所选择的一个;
在隔离后检查该I2C总线状态;以及
若判断在该多个I2C装置中的一个所相应的该I2C总线状态为不正常,记录在该多个I2C装置中的该I2C装置的该I2C总线失效,
其中该评估步骤用于在该多个I2C装置中所选择的该I2C装置有关的所有通道。
6.一种开关装置,包括:
基板管理控制器;
硬件监视电路;
集成电路总线I2C,用以连接多个I2C装置;以及
中央处理器;
其中该硬件监视电路用以检测该I2C总线的I2C总线失效,并判断该硬件监视电路是否可自动复位在该I2C总线上的多个I2C装置;
其中若判断该硬件监视电路可自动复位在该I2C总线上的该多个I2C装置,该硬件监视电路复位该多个I2C装置,
其中若判断该硬件监视电路无法自动复位在该I2C总线上的该多个I2C装置,该硬件监视电路回报所检测到的该I2C总线失效至该基板管理控制器,且该基板管理控制器处理该I2C总线失效。
7.如权利要求6所述的开关装置,其中在该硬件监视电路还用以检测是否从该基板管理控制器接收到复位致能信号,且若接收到该复位致能信号,判断该硬件监视电路可自动复位该多个I2C装置。
8.如权利要求6所述的开关装置,其中该硬件监视电路还用以检测该I2C总线的时钟线及数据线。
9.如权利要求6所述的开关装置,其中该基板管理控制器还用以复位该多个I2C装置,且若复位该多个I2C装置无法解决该I2C总线失效,测试该多个I2C装置以判断该I2C总线失效的原因,
其中该基板管理控制器还用以回报处理结果至中央处理器。
10.如权利要求6所述的开关装置,其中该测试步骤包括:
依据下列步骤以依序评估该多个I2C装置中的每一个:
隔离在该多个I2C装置中所选择的一个;
在隔离后检查该I2C总线状态;以及
若判断在该多个I2C装置中的一个所相应的该I2C总线状态为不正常,记录在该多个I2C装置中的该I2C装置的该I2C总线失效,
其中该基板管理控制器用以在判断该硬件监视电路无法自动复位该I2C总线时,处理在该多个I2C装置中所选择的该I2C装置有关的所有通道。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/408,196 | 2017-01-17 | ||
US15/408,196 US10296434B2 (en) | 2017-01-17 | 2017-01-17 | Bus hang detection and find out |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108319525A true CN108319525A (zh) | 2018-07-24 |
Family
ID=59152750
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710160966.5A Pending CN108319525A (zh) | 2017-01-17 | 2017-03-17 | 开关装置及检测集成电路总线的方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10296434B2 (zh) |
EP (1) | EP3349118B1 (zh) |
JP (1) | JP6602354B2 (zh) |
CN (1) | CN108319525A (zh) |
TW (1) | TWI632462B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3537307A4 (en) * | 2018-01-09 | 2019-12-25 | Shenzhen Goodix Technology Co., Ltd. | METHOD FOR HANDLING THE I2C BUS BLOCKING, ELECTRONIC DEVICE AND COMMUNICATION SYSTEM |
DE102018129982A1 (de) * | 2018-11-27 | 2020-05-28 | Fujitsu Limited | Verfahren zum Zurücksetzen einer Management-Hardwarekomponente eines Computersystems und derartiges Computersystem |
US10649933B1 (en) | 2019-04-22 | 2020-05-12 | International Business Machines Corporation | Select state detection and signal generation |
US11126517B2 (en) * | 2019-05-14 | 2021-09-21 | Quanta Computer Inc. | Method and system for communication channels to management controller |
US11099922B2 (en) * | 2019-08-12 | 2021-08-24 | Dell Products L.P. | System and method for isolating a failed card |
CN111858448B (zh) * | 2020-07-17 | 2023-01-10 | 苏州浪潮智能科技有限公司 | 一种i2c死锁并恢复的方法及装置 |
TWI764648B (zh) * | 2021-03-25 | 2022-05-11 | 微星科技股份有限公司 | 主機板、主機板的外接裝置以及主機板的開機方法 |
CN112732477B (zh) * | 2021-04-01 | 2021-06-29 | 四川华鲲振宇智能科技有限责任公司 | 一种带外自检故障隔离的方法 |
JP2023081537A (ja) | 2021-12-01 | 2023-06-13 | 株式会社日立製作所 | ストレージシステム |
CN115599617B (zh) * | 2022-12-01 | 2023-07-21 | 苏州浪潮智能科技有限公司 | 总线检测方法、装置、服务器及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050262395A1 (en) * | 2004-05-04 | 2005-11-24 | Quanta Computer Inc. | Transmission device, control method thereof and communication system utilizing the same |
CN1991783A (zh) * | 2005-12-29 | 2007-07-04 | 国际商业机器公司 | 检测以及校正挂起i2c总线的i2c总线监视器和方法 |
CN101126995A (zh) * | 2006-08-14 | 2008-02-20 | 国际商业机器公司 | 处理严重硬件错误的方法及设备 |
US20110208885A1 (en) * | 2010-02-25 | 2011-08-25 | Panasonic Corporation | Data bus control method and apparatus |
CN103019871A (zh) * | 2012-12-31 | 2013-04-03 | 四川迪佳通电子有限公司 | 一种i2c总线的防死锁系统及其防死锁方法 |
Family Cites Families (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5333285A (en) * | 1991-11-21 | 1994-07-26 | International Business Machines Corporation | System crash detect and automatic reset mechanism for processor cards |
US6112320A (en) * | 1997-10-29 | 2000-08-29 | Dien; Ghing-Hsin | Computer watchdog timer |
US6260162B1 (en) * | 1998-10-31 | 2001-07-10 | Advanced Micro Devices, Inc. | Test mode programmable reset for a watchdog timer |
US6728908B1 (en) * | 1999-11-18 | 2004-04-27 | California Institute Of Technology | I2C bus protocol controller with fault tolerance |
DE10030991A1 (de) * | 2000-06-30 | 2002-01-10 | Bosch Gmbh Robert | Verfahren und Vorrichtung zur Synchronisation eines Rechners und einer Überwachungsschaltung |
US6769078B2 (en) * | 2001-02-08 | 2004-07-27 | International Business Machines Corporation | Method for isolating an I2C bus fault using self bus switching device |
US6862642B1 (en) * | 2001-05-15 | 2005-03-01 | Adaptec, Inc. | Expander device and method for resetting bus segments in I/O subsystem segmented with expanders |
US7194665B2 (en) * | 2001-11-01 | 2007-03-20 | Advanced Micro Devices, Inc. | ASF state determination using chipset-resident watchdog timer |
ATE306163T1 (de) * | 2002-04-16 | 2005-10-15 | Bosch Gmbh Robert | Verfahren zur überwachung einer zugriffsablaufsteuerung für ein kommunikationsmedium einer kommunikationssteuerung eines kommunikationssystems |
US7689875B2 (en) * | 2002-04-25 | 2010-03-30 | Microsoft Corporation | Watchdog timer using a high precision event timer |
JP2005537563A (ja) * | 2002-08-30 | 2005-12-08 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | バージョンプログラム可能回路モジュール |
US7076588B2 (en) * | 2003-02-18 | 2006-07-11 | Hewlett-Packard Development Company, L.P. | High speed multiple ported bus interface control |
US20040168008A1 (en) * | 2003-02-18 | 2004-08-26 | Hewlett-Packard Development Company, L.P. | High speed multiple ported bus interface port state identification system |
US7082488B2 (en) * | 2003-06-12 | 2006-07-25 | Hewlett-Packard Development Company, L.P. | System and method for presence detect and reset of a device coupled to an inter-integrated circuit router |
US7630304B2 (en) * | 2003-06-12 | 2009-12-08 | Hewlett-Packard Development Company, L.P. | Method of overflow recovery of I2C packets on an I2C router |
US7154723B1 (en) | 2003-06-27 | 2006-12-26 | Emc Corporation | Highly available dual serial bus architecture |
CN100470498C (zh) * | 2003-08-27 | 2009-03-18 | 皇家飞利浦电子股份有限公司 | 用于支撑和监视微控制器的电路装置和方法 |
US7091857B2 (en) * | 2004-02-12 | 2006-08-15 | Mi-Jack Products, Inc. | Electronic control system used in security system for cargo trailers |
US7350117B2 (en) * | 2004-10-05 | 2008-03-25 | International Business Machines Corporation | Management of microcode lock in a shared computing resource |
US7478286B2 (en) * | 2005-04-08 | 2009-01-13 | Linear Technology Corporation | Circuit and method of detecting and resolving stuck I2C buses |
US20070088988A1 (en) * | 2005-10-14 | 2007-04-19 | Dell Products L.P. | System and method for logging recoverable errors |
US7958396B2 (en) * | 2006-05-19 | 2011-06-07 | Microsoft Corporation | Watchdog processors in multicore systems |
US8243638B2 (en) * | 2007-01-08 | 2012-08-14 | Hellosoft, Inc. | Passive listening in wireless communication |
US20080270827A1 (en) | 2007-04-26 | 2008-10-30 | International Business Machines Corporation | Recovering diagnostic data after out-of-band data capture failure |
US20080307240A1 (en) * | 2007-06-08 | 2008-12-11 | Texas Instruments Incorporated | Power management electronic circuits, systems, and methods and processes of manufacture |
US7721155B2 (en) | 2007-06-27 | 2010-05-18 | International Business Machines Corporation | I2C failure detection, correction, and masking |
US8448029B2 (en) * | 2009-03-11 | 2013-05-21 | Lsi Corporation | Multiprocessor system having multiple watchdog timers and method of operation |
JP5716396B2 (ja) * | 2010-02-05 | 2015-05-13 | 富士通株式会社 | 情報処理装置及び情報処理方法 |
CN102445899A (zh) * | 2010-09-30 | 2012-05-09 | 伊姆西公司 | 监控电路 |
DE112011102938A5 (de) * | 2011-01-21 | 2013-07-18 | Continental Automotive Gmbh | Schaltungsanordnung mit Überwachungseinrichtung |
EP2680149A4 (en) * | 2011-02-24 | 2014-01-22 | Fujitsu Ltd | INFORMATION PROCESSING DEVICE |
CN102891762B (zh) * | 2011-07-20 | 2016-05-04 | 赛恩倍吉科技顾问(深圳)有限公司 | 连续处理网络数据的系统及方法 |
US8761827B2 (en) * | 2011-12-21 | 2014-06-24 | International Business Machines Corporation | Layered control of service interface for a breakout component in a mobile data network |
WO2014155721A1 (ja) * | 2013-03-29 | 2014-10-02 | 富士通株式会社 | 接続制御装置、情報処理装置、及び接続制御方法 |
CN104216497A (zh) | 2013-05-29 | 2014-12-17 | 鸿富锦精密工业(深圳)有限公司 | 电源故障侦测装置及方法 |
US9146797B2 (en) | 2013-08-09 | 2015-09-29 | American Megatrends, Inc. | Method for ensuring remediation of hung multiplexer bus channels |
US9218247B2 (en) * | 2013-08-21 | 2015-12-22 | Globalfoundries Inc. | Multimaster serial single-ended system fault recovery |
US9059906B1 (en) * | 2013-12-03 | 2015-06-16 | Barry John McCleland | Data communication interface |
DE102014206752B4 (de) * | 2014-04-08 | 2021-08-12 | Robert Bosch Gmbh | Bestimmung des Zustands eines I2C-Busses |
US9904596B2 (en) * | 2014-05-15 | 2018-02-27 | Integrated Silicon Solution, Inc. | Serial bus event notification in a memory device |
US9645954B2 (en) * | 2014-06-05 | 2017-05-09 | Lenovo (Singapore) Pte. Ltd. | Embedded microcontroller and buses |
JP6340962B2 (ja) * | 2014-07-07 | 2018-06-13 | 富士通株式会社 | バス制御装置、データ転送システム、及びバス制御方法 |
US10089164B2 (en) * | 2015-02-27 | 2018-10-02 | Microchip Technology Incorporated | Watchdog timer |
JP6816345B2 (ja) * | 2015-04-24 | 2021-01-20 | 富士電機株式会社 | 駆動制御装置 |
TWI559148B (zh) | 2015-05-11 | 2016-11-21 | 廣達電腦股份有限公司 | 自動硬體恢復方法及自動硬體恢復系統 |
US9612893B2 (en) | 2015-05-11 | 2017-04-04 | Silicon Laboratories Inc. | Peripheral watchdog timer |
KR102320407B1 (ko) * | 2015-06-05 | 2021-11-03 | 삼성전자주식회사 | I2c 통신 모듈을 포함하는 컴퓨팅 장치 및 그것의 통신 에러 복구 방법 |
US9880894B2 (en) * | 2015-07-08 | 2018-01-30 | Microsoft Technology Licensing, Llc | High availability and energy-efficient watchdog timer |
US9875165B2 (en) * | 2015-11-24 | 2018-01-23 | Quanta Computer Inc. | Communication bus with baseboard management controller |
US10534619B2 (en) * | 2016-02-26 | 2020-01-14 | Smart Modular Technologies, Inc. | Memory management system with multiple boot devices and method of operation thereof |
-
2017
- 2017-01-17 US US15/408,196 patent/US10296434B2/en active Active
- 2017-02-23 TW TW106106085A patent/TWI632462B/zh active
- 2017-03-17 CN CN201710160966.5A patent/CN108319525A/zh active Pending
- 2017-06-22 EP EP17177547.1A patent/EP3349118B1/en active Active
- 2017-09-15 JP JP2017177846A patent/JP6602354B2/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050262395A1 (en) * | 2004-05-04 | 2005-11-24 | Quanta Computer Inc. | Transmission device, control method thereof and communication system utilizing the same |
CN1991783A (zh) * | 2005-12-29 | 2007-07-04 | 国际商业机器公司 | 检测以及校正挂起i2c总线的i2c总线监视器和方法 |
CN101126995A (zh) * | 2006-08-14 | 2008-02-20 | 国际商业机器公司 | 处理严重硬件错误的方法及设备 |
US20110208885A1 (en) * | 2010-02-25 | 2011-08-25 | Panasonic Corporation | Data bus control method and apparatus |
CN103019871A (zh) * | 2012-12-31 | 2013-04-03 | 四川迪佳通电子有限公司 | 一种i2c总线的防死锁系统及其防死锁方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2018116679A (ja) | 2018-07-26 |
TW201828071A (zh) | 2018-08-01 |
US10296434B2 (en) | 2019-05-21 |
EP3349118B1 (en) | 2020-05-06 |
TWI632462B (zh) | 2018-08-11 |
EP3349118A1 (en) | 2018-07-18 |
JP6602354B2 (ja) | 2019-11-06 |
US20180203779A1 (en) | 2018-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108319525A (zh) | 开关装置及检测集成电路总线的方法 | |
JP6530774B2 (ja) | ハードウェア障害回復システム | |
TWI571736B (zh) | 自動除錯資訊收集之方法及系統 | |
TWI530790B (zh) | 系統啓動碼恢復方法、運算系統、及供於系統中使用之控制器 | |
TWI768296B (zh) | 用於組態漂移偵測及補救之系統及方法 | |
US6205547B1 (en) | Computer system management apparatus and method | |
US20150106660A1 (en) | Controller access to host memory | |
US20080270827A1 (en) | Recovering diagnostic data after out-of-band data capture failure | |
CN104850485A (zh) | 一种基于bmc远程诊断服务器开机故障的方法及系统 | |
WO2018095107A1 (zh) | 一种bios程序的异常处理方法及装置 | |
CN101582046B (zh) | 一种高可用的系统状态监控、预测以及智能管理方法 | |
CN108023762B (zh) | 数据交换器的服务器数据端口学习 | |
CN110069361A (zh) | 用于tpm故障切换的方法和装置 | |
CN103164316B (zh) | 硬件监视器 | |
CN108469890A (zh) | 高待机电源系统的智能电源供应管理 | |
CN108799176A (zh) | 风扇控制系统及方法 | |
US20110179264A1 (en) | Clearing Secure System Resources In A Computing Device | |
CN115617550A (zh) | 处理设备、控制单元、电子设备、方法和计算机程序 | |
CN109086081A (zh) | 一种即时提示SATA和NVMe设备在位变化的方法、系统及介质 | |
CN104571098B (zh) | 基于Atom平台的远程自诊断方法 | |
CN116974804A (zh) | 管理引擎挂死的调试方法、装置、设备及存储介质 | |
CN106059782B (zh) | 网络配置管理方法、服务器系统以及计算机可读储存媒体 | |
US12093212B2 (en) | External quiesce of a core in a multi-core system | |
US12008101B2 (en) | Secure enablement of a removable security module on a logic board | |
CN110018929A (zh) | 一种数据备份方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180724 |
|
WD01 | Invention patent application deemed withdrawn after publication |