CN106936616B - 备份通信方法和装置 - Google Patents

备份通信方法和装置 Download PDF

Info

Publication number
CN106936616B
CN106936616B CN201511030884.6A CN201511030884A CN106936616B CN 106936616 B CN106936616 B CN 106936616B CN 201511030884 A CN201511030884 A CN 201511030884A CN 106936616 B CN106936616 B CN 106936616B
Authority
CN
China
Prior art keywords
processor
management controller
baseboard management
communication
interface
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
CN201511030884.6A
Other languages
English (en)
Other versions
CN106936616A (zh
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.)
EMC Corp
Original Assignee
Imsey Co
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 Imsey Co filed Critical Imsey Co
Priority to CN201511030884.6A priority Critical patent/CN106936616B/zh
Priority to US15/388,034 priority patent/US10545841B2/en
Publication of CN106936616A publication Critical patent/CN106936616A/zh
Application granted granted Critical
Publication of CN106936616B publication Critical patent/CN106936616B/zh
Priority to US16/773,915 priority patent/US11093351B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • 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
    • 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/0766Error or fault reporting or storing
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2033Failover techniques switching over of hardware resources
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2043Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share a common memory address space
    • 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/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开的实施例涉及一种备份通信方法和装置。该方法包括:监视处理器与基板管理控制器之间的管理接口是否发生故障;响应于该管理接口发生故障,利用控制接口实现所述处理器与该基板管理控制器之间的备份通信,其中该基板管理控制器能够通过该控制接口获取所述处理器的物理参数;以及经由该控制接口在所述处理器与该基板管理控制器之间传输分组。

Description

备份通信方法和装置
技术领域
本公开的实施例总体上涉及通信技术,更具体地涉及处理器与基板管理器之间的备份通信方法和装置。
背景技术
基板管理控制器(BMC)通常通过管理接口(例如,智能平台管理接口(IPMI))与主机设备中的处理器进行通信,其中该IPMI例如是键盘控制方式(KCS)、基于I2C的智能平台管理总线(IPMB)、基于局域网(LAN)的IPMB、外设组件互连(PCI)等,其中KCS接口能够使得BMC与处理器直接连接,因而KCS接口是最适合的管理接口。在现有的系统中,一般通过单个低引脚数(LPC)总线来实现BMC与处理器之间的KCS接口。
通常,处理器能够通过IPMI与BMC进行通信以收集温度传感器、系统冷却状态等信息。然而,对于处理器和BMC来说,现有的IPMI规范不能检测系统的IPMI的通信状态。例如,在处理器和BMC均能正常工作而KCS接口发生故障时,IPMI规范没有提供如何针对这种故障的检测和处理方式。
在现有的系统中,在基于IPMI的通信方式发生故障时,通常通过重置信道或者重启电源来恢复处理器与BMC之间的通信。然而,由于IPMI通信已经中断,处理器可能无法向BMC发送重置信道或者重启电源的命令。此外,在现有的系统中,BMC无法向处理器请求相关服务,并且在IPMI通信发生故障时,处理器无法及时获得BMC的相关日志。因此,现有的重启电源的方式增加了系统的宕机时间,严重了影响了系统的稳定性和用户体验。
发明内容
有鉴于此,本公开的实施例提供一种处理器与基板管理器之间的备份通信方法和装置。
根据本公开的一个方面,提供了一种备份通信方法,包括:监视处理器与基板管理控制器之间的管理接口是否发生故障;响应于该管理接口发生故障,利用控制接口实现该处理器与该基板管理控制器之间的备份通信,其中该基板管理控制器能够通过该控制接口获取该处理器的物理参数;以及经由该控制接口在该处理器与该基板管理控制器之间传输分组。
根据本公开的另一个方面,提供了备份通信装置,包括:监视装置,用于监视处理器与基板管理控制器之间的管理接口是否发生故障;响应装置,用于响应于该管理接口发生故障,利用控制接口实现该处理器与该基板管理控制器之间的备份通信,其中该基板管理控制器能够通过该控制接口获取该处理器的物理参数;以及传输装置,用于经由该控制接口在该处理器与该基板管理控制器之间传输分组。
根据本公开的又一个方面,提供了一种备份通信装置,包括:存储器;处理器,该处理器被配置为:监视处理器与基板管理控制器之间的管理接口是否发生故障;响应于该管理接口发生故障,利用控制接口实现该处理器与该基板管理控制器之间的备份通信,其中该基板管理控制器能够通过该控制接口获取该处理器的物理参数;以及经由该控制接口在该处理器与该基板管理控制器之间传输分组。
根据本公开的各个实施例,可以带来以下技术效果中的至少一种:在处理器与BMC之间的管理接口(例如IPMI)发生故障的情况下,利用控制接口(例如PECI)实现处理器与BMC之间的备份通信,从而保证处理器与BMC之间的双向备份通信,并且使得BMC能够自恢复,同时还能获得BMC的日志以用于后续分析,从而能够减少系统的宕机时间并且提高日志的分析效率。
附图说明
结合附图并参考以下详细说明,本公开的各实施例的特征、优点及其他方面将变得更加明显,在此以示例性而非限制性的方式示出了本公开的若干实施例。在附图中:
图1图示了根据本公开的实施例的备份通信方法100的流程图;
图2图示了根据本公开的实施例的备份通信层级图200;
图3图示了根据本公开的实施例的使用两个寄存器作为消息存储器的示图300;
图4图示了根据本公开的实施例的处理器与BMC之间的备份通信流程图400;
图5图示了根据本公开的实施例的使用消息存储器来监视故障消息的通信流程图500;
图6图示了根据本公开的实施例的重试IPMI命令的流程图600;
图7图示了根据本公开的实施例的BMC的IPMI通道后台程序的工作流程图700;
图8图示了根据本公开的实施例的获取BMC的文件的流程图800;
图9图示了根据本公开的实施例的备份通信装置900的框图;以及
图10图示了可以在其中实现根据本公开的模拟方法的计算机设备1000的框图。
具体实施方式
以下参考附图详细描述本公开的各个示例性实施例。附图中的流程图和框图图示了根据本公开的各种实施例的方法和系统的可能实现的体系架构、功能和操作。应当注意,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分可以包括一个或多个用于实现各个实施例中所规定的逻辑功能的可执行指令。也应当注意,在有些作为备选的实现中,方框中所标注的功能也可以按照不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,或者它们有时也可以按照相反的顺序执行,这取决于所涉及的功能。同样应当注意的是,流程图和/或框图中的每个方框、以及流程图和/或框图中的方框的组合,可以使用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以使用专用硬件与计算机指令的组合来实现。
本文所使用的术语“包括”、“包含”及类似术语应该被理解为是开放性的术语,即“包括/包含但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一个实施例”、“又一个实施例”表示“至少一个另外的实施例”。其他术语的相关定义将在下文描述中给出。
图1图示了根据本公开的实施例的备份通信方法100的流程图,在步骤102处,监视处理器与基板管理控制器(BMC)之间的管理接口是否发生故障。可选地,该管理接口可以是智能平台管理接口(IPMI),IPMI是智能型平台管理接口(Intelligent PlatformManagement Interface)的缩写,是管理各种系统中所使用的外围设备的一种工业标准。IPMI是一种开放标准的硬件管理接口规格,其能够独立地检测与其连接的硬件的状态,例如,可以用来监视服务器的物理健康特征,诸如温度、电压、电源状态等。在正常的通信条件下,处理器与BMC之间通过IPMI进行通信。
在一个实施例中,监视处理器与基板管理控制器之间的管理接口是否发生故障包括:监视该处理器与所述基板管理控制器之间的该管理接口的通信间隔时间是否超过阈值时间。也就是说,当处理器与BMC之间的IPMI通信时间间隔过长,则说明IPMI通信可能发生故障,因此,可以基于阈值时间来判断IPMI通信是否发生故障,可选地,该阈值时间可以设置为50毫秒。
方法100继续进行到步骤104,响应于该管理接口发生故障,利用控制接口实现该处理器与基板管理控制器之间的备份通信,其中基板管理控制器能够通过控制接口获取处理器的物理参数(例如,处理器的温度)。可选地,该控制接口可以是平台环境式控制接口(PECI)。平台环境式控制接口(PECI)是由Intel公司提出的一种标准总线接口,是存在于处理器与其他芯片或系统稳定性监控设备(例如,BMC)之间的专用单线型总线。PECI默认用于在处理器发生内部错误时由其他芯片或系统(如BMC)转储寄存器,这些寄存器包括PCI配置寄存器。由于其足够稳定,因而可以用作备用通信接口。一些PCI配置寄存器被处理器保留,并且不会被韧体和操作系统用到,处理器自身总可以通过PCI配置访问来访问这些寄存器,因此只要在处理器与BMC之间实现PECI连接,BMC也可以通过PECI总线读取和访问这些寄存器。因此,当处理器与BMC之间的IPMI发生故障时,可以使用PECI实现处理器与BMC之间的备份通信。也就是说,当IPMI通信发生故障时,PECI接口将用于保证处理器与BMC之间的备份通信。
在一个实施例中,该备份通信是双向通信,并且该备份通信中的分组包括通信类型码、功能码和响应码,其中通信类型码表示该备份通信的类型,功能码表示要启动的功能,响应码表示通信的响应情况。为了设计统一的通信分组格式,备份通信中的通信分组至少包括通信类型码、功能码和响应码。备选地,通信分组还包括保留位。例如,如下表所示,在处理器与BMC之间的基于PECI的通信分组可以包括32个比特,其中类型码、功能码、响应码和保留位各自包括8个比特。
类型码 功能码 响应码 保留位
在一个实施例中,备份通信类型例如包括以下四种:处理器向BMC发送请求,BMC向处理器发送请求,处理器响应BMC的请求以及BMC响应处理器的请求。例如,使用两个比特(例如,分组中的第24和25位)来表示以上四种备份通信类型。
Figure BDA0000898383370000051
Figure BDA0000898383370000061
在备份通信期间,处理器与BMC提供一些启动功能,其中功能码表示要启动的功能,要启动的功能包括但不限于:触发BMC的自恢复、重试基于IPMI的通信、请求处理器的服务、以及获得BMC的日志。根据功能码可以实现和标识上层服务,并且由于PECI规范已经实现帧校验序列,因此在分组的格式中不需要错误检测与恢复。例如,在下表中,通过4个比特表示主功能码,通过另外的4个比特表示子功能码。
要启动的功能 主功能码(第20-23位) 子功能码(第16-19位)
自恢复BMC 0000 随着恢复方法而不同
重试IPMI命令 0001 随着BMC的组件而不同
请求处理器的服务 0010 随着服务类型而不同
获得BMC的服务 0011 随着BMC的日志文件而不同
在一个实施例中,步骤104,响应于管理接口发生故障,利用控制接口实现处理器与该基板管理控制器之间的备份通信包括:当管理接口发生故障时,处理器向设置在该处理器上的消息存储器发送故障消息,并且基板管理控制器监视消息存储器中是否具故障消息。例如,消息存储器可以是信箱,可选地,可以设置两个信箱,分别仅供处理器和BMC写入。
方法100继续进行到步骤106,经由控制接口在处理器与基板管理控制器之间传输分组。在一个实施例中,可以经由控制接口从处理器向基板管理控制器发送自恢复请求,以便触发基板管理控制器的自恢复。在另一个实施例中,可以重置基于管理接口的通信信道。可选地,只要在处理器与BMC之间建立了基于PECI的备份通信,处理器就向BMC发送自恢复请求以触发BMC的自恢复。可选地,为了确保IPMI通道和通信真实被恢复,BMC可以请求处理器重试和检查IPMI是否已经恢复工作。
在一个实施例中,在步骤106中,经由控制接口从处理器向基板管理控制器发送自恢复请求之前,处理器可以经由控制接口从基板管理控制器获得基板管理控制器的日志。在另一个实施例中,在步骤106中,经由控制接口从处理器向基板管理控制器发送自恢复请求之后,可以经由控制接口从基板管理控制器向处理器发送重试请求,以便重试基于管理接口的通信。
从处理器的角度,一旦处理器检测到任何IPMI命令超时,处理器将首先检查IPMI驱动,如果IPMI驱动正常,则执行方法100中的步骤102、104以及106。从BMC的角度,一旦BMC接收到检查请求,BMC首先检查IPMI应用程序,如果发现存在问题,则重置IPMI应用程序,一般来说,大多数(例如,75%)的通信故障可以通过重置被恢复。如果故障仍然存在,处理器将重新发送其他类型的检查请求,例如,下表中列出了几种检查请求所对应的功能码。
要启动的功能 主功能码(第20-23位) 子功能码(第16-19位)
检查IPMI应用 0000 0000
BMC热重置 0000 0001
BMC冷重置 0000 0010
延迟关闭 0000 0011
与此相反,在现有的系统中,虽然BMC可以被强制冷重置,但是BMC不能请求处理器的服务,因而处理器无法获知BMC何时完成冷重置。因此,处理器只能等待有限的时间以再次发送IPMI命令,其中有限的时间只能凭借技术人员的经验,并且随着系统平台的不同而变化。
在一个实施例中,BMC可以请求处理器的服务。在BMC的自恢复期间,除了重试请求,BMC还可以从处理器请求其他类型的服务,例如请求处理器提供系统信息,请求处理器转储其PCI寄存器和存储器。例如,下表中列出了几种请求处理器的服务所对应的功能码。此外,下表中的功能可以根据需求进行扩展。
请求类型 主功能码(第20-23位) 子功能码(第16-19位)
重试IPMI命令 0010 0000
获得处理器的OS状态 0010 0001
获得处理器的CPU信息 0010 0010
获得处理器的存储器信息 0010 0010
获得所有的PCI设备 0010 0100
在一个实施例中,当IPMI通信发生故障时,处理器可以使用支持双方向的备份通信的PECI接口来获得BMC相关日志。为了分析其他文件,主功能码与子功能码可以用于指示需要提取的文件。
请求类型 主功能码(第20-23位) 子功能码(第16-19位)
获得BMC的内核日志 0100 0000
获得BMC的IPMI日志 0100 0001
获取所要求的所有日志 0100 0010
最后,方法100还可以包括:当故障已经被修复时,恢复处理器与基板管理控制器之间的基于管理接口的通信。也就是说,在IPMI通信故障已经恢复之后,可以恢复使用IPMI实现处理器与BMC之间的通信,而PECI仅用于在处理器与BMC之间发生故障期间的备份通信。
图2图示了根据本公开的实施例的备份通信层级图200,如图2所示,分为应用层、通信层、总线层以及组件层。在应用层,可以实现IPMI信道恢复服务、获取BMC的日志服务以及处理器与BMC之间的双向通信服务;在通信层,通过设置消息存储器来实现故障消息的实时监控;在总线层,通过PCI配置寄存器实现备份通信驱动;在组件层,通过PECI总线实现处理器与BMC之间的通信。
在一个实施例中,在处理器与BMC之间设置消息存储器。在不影响系统的其他操作的前提下,处理器和BMC能够读取和写入的任何寄存器都可以被选作消息存储器。根据消息存储器中的值,处理器和BMC可以确定应当采取的动作类型。
在一些实施例中,可以设置选择消息存储器的原则。例如,在BMC与处理器中,存在很多可以由PECI访问的寄存器,因而保留的并且未被硬件使用的寄存器不仅可以由处理器访问,也可以由经由PECI总线与处理器连接的BMC访问。因此,这些寄存器可以被选作处理器与BMC之间的消息存储器或信箱。处理器可以向该消息存储器写入任何消息,BMC可以根据消息存储器中的消息执行预定的任务;同时BMC也可以向消息存储器写入任何消息,处理器也可以根据消息存储器中的消息执行预定的任务。
图3图示了根据本公开的实施例的使用两个寄存器作为消息存储器的示图,为了避免处理器与BMC对相同的寄存器进行写入,可以使用两个寄存器来建立相应的通信链路。如图3所示,其中寄存器304仅可由BMC 308写入,而寄存器306仅可由处理器302写入。
图4图示了根据本公开的实施例的处理器与BMC之间的备份通信流程图400,其中在步骤401,处理器在PECI总线上轮询分组;在步骤402,判断通信方向是否正确,并且如果通信方向不正确,则在步骤403报告错误;如果通信方向正确,则在步骤404,判断该分组是否为请求分组。如果步骤404的判断为是,则执行步骤405-410,依次为获得分组中主功能码和子功能码,并且根据功能码调用服务,收集所返回的信息,以及构造响应分组并张贴响应分组;如果步骤404的判断为否,则执行步骤411,进一步判断该分组是否为响应分组。如果步骤411的判断为否,则报告错误;如果步骤411的判断为是,则执行步骤412-416,依次为获得主功能码和子功能码,获得响应码,以及定位所请求的服务并且向所请求的服务返回响应。此外,在步骤410或步骤416之后,到达步骤417,方法400结束。
图5图示了根据本公开的实施例的使用消息存储器来监视故障消息的通信流程图500,为了及时检查BMC的异常,在处理器上运行IPMI超时监视器以检测IMPI通信是否发生故障;为了及时的响应处理器的恢复请求,BMC IPMI信道后台程序用于监测是否发生故障。其中在步骤501,处理器IPMI超时监视器接收到超时事件,响应于该超时事件,在步骤502,对消息存储器设置检查请求,并且在步骤503向BMC IPMI信道后台程序返回检查请求。然后,在步骤504和505,BMC IPMI信道后台程序根据功能码进行恢复,并且对消息存储器设置重试请求。在步骤506,消息存储器向处理器IPMI超时监视器返回重试请求,以使得在步骤507处理器IPMI超时监视器重新发送IPMI命令。然后,处理器IPMI超时监视器向消息存储器发送成功响应(步骤508)或失败响应(步骤509)。最后,在步骤510,消息存储器可以向BMCIPMI信道后台程序返回重试响应。
图6图示了根据本公开的实施例的重试IPMI命令的流程图600,其中在步骤601,处理器发送IPMI命令,如果IPMI超时(步骤602),则进入步骤603,并判断BMC驱动是否完好,如果BMC驱动不完好,则在步骤604重新加载驱动;如果BMC驱动完好,则在步骤605,向BMC发送检查请求。然后在步骤606,如果接收到重试请求,则重新发送IPMI命令,并且在步骤608,判断是否重试成功,并根据该步骤608中判断结果生成相应的成功响应码或者失败响应码,此外,在步骤610,向BMC发送响应分组,至此在步骤611,方法600结束。
图7图示了根据本公开的实施例的BMC的IPMI通道后台程序的工作流程图700,其中在步骤701开始方法700,并且在步骤702,BMC的IPMI通道后台程序判断是否接收到请求,如果在步骤702中接收到请求,在步骤703,根据相应的功能码进行恢复,并且在步骤704发送重试请求。在步骤705,判断是否接收到重试响应,如果在步骤705中接收到重试响应,则在步骤706,获得响应码,进而方法700结束。
图8图示了根据本公开的实施例的获取BMC的文件的流程图800。当处理器检测到IPMI发生故障时,在从处理器向BMC发送自恢复请求之前,处理器从BMC获得BMC的文件(例如,日志)。当运行在BMC上的后台程序检测到消息存储器中的故障消息时,BMC响应处理器所发送的相应请求。
相反,在现有的系统中,处理器无法及时获得BMC的日志,因而需要使用专用的控制台或者通过SSH的方式来登录进行调试。然而,控制台的方式需要一定的硬件支持,并且建立控制台连接也非常复杂;SSH的方式需要对SSH的支持,但是在许多硬件中SSH端口已经被禁用。
在方法800中,在步骤801,处理器PECI监视器向消息存储器发送请求以获得BMC的文件;在步骤802,消息存储器向BMC PECI后台程序返回所请求的分组;在步骤803,BMCPECI后台程序根据功能码来定位文件,并且在步骤804,BMC操作系统向BMC PECI后台程序返回文件长度;相应地,在步骤805,BMC PECI后台程序在响应分组中设置响应长度,并且在步骤806处理器PECI监视器接收响应分组。然后,在步骤807,BMC PECI后台程序向BMC操作系统调用文件发送函数,在步骤808,BMC操作系统向消息存储器返回文件的原始数据。最后,在步骤809,处理器PECI监视器调用文件获得函数以从消息存储器获得所需要的BMC的文件。
图9图示了根据本公开的实施例的备份通信装置900的框图,该装置900包括监视装置902,用于监视处理器与基板管理控制器之间的管理接口是否发生故障;响应装置904,用于响应于管理接口发生故障,利用控制接口实现处理器与基板管理控制器之间的备份通信,其中基板管理控制器能够通过控制接口获取处理器的物理参数;以及传输装置906,用于经由控制接口在处理器与基板管理控制器之间传输分组。在一个实施例中,其中管理接口为智能平台管理接口(IPMI)和/或控制接口为平台环境式控制接口(PECI)。
在一个实施例中,其中监视装置902还用于:监视处理器与基板管理控制器之间的管理接口的通信间隔时间是否超过阈值时间。
在一个实施例中,其中备份通信可以是双向通信,并且备份通信中的分组包括通信类型码、功能码和响应码,其中通信类型码表示备份通信的类型,功能码表示要启动的功能,响应码表示通信的响应情况。在另一个实施例中,备份通信的类型可以包括以下各项中的至少一项:处理器向基板管理控制器发送请求、基板管理控制器向处理器发送请求、处理器响应基板管理控制器的请求、以及基板管理控制器响应处理器的请求。在又一个实施例中,其中要启动的功能可以包括以下各项中的至少一项:触发基板管理控制器的自恢复、重试基于管理接口的通信、请求处理器的服务、以及获得基板管理控制器的日志
在一个实施例中,其中响应装置904还用于:当管理接口发生故障时,处理器可以向设置在处理器上的消息存储器发送故障消息,并且基板管理控制器监视消息存储器中是否具有故障消息。在另一个实施例中,其中传输装置906还用于:经由控制接口从处理器向基板管理控制器发送自恢复请求,以便触发基板管理控制器的自恢复。在又一个实施例中,其中传输装置906还用于:重置基于管理接口的通信信道。
在一个实施例中,其中传输装置906还用于:在经由控制接口从处理器向基板管理控制器发送自恢复请求之前,处理器可以经由控制接口从基板管理控制器获得基板管理控制器的日志。在另一个实施例中,其中传输装置906还用于:在经由控制接口从处理器向基板管理控制器发送自恢复请求之后,可以经由控制接口从基板管理控制器向处理器发送重试请求,以便重试基于管理接口的通信。
在一个实施例中,装置900还包括恢复装置(未示出),当故障已经被修复时,可以恢复处理器与基板管理控制器之间的基于管理接口的通信。
在下文中,将参考图10来描述可以在其中实现本公开的备份通信方法的计算机设备。图10图示了可以在其中实现根据本公开的备份通信方法的计算机设备1000的框图。
图10中所示的计算机系统包括CPU(中央处理单元)1001、RAM(随机访问存储器)1002、ROM(只读存储器)1003、系统总线1004、硬盘控制器1005、键盘控制器1006、串行接口控制器1007、并行接口控制器1008、显示器控制器1009、硬盘1010、键盘1011、串行外部设备1012、并行外部设备1013和显示器1014。在这些部件中,与系统总线1004相连的有CPU1001、RAM 1002、ROM 1003、硬盘控制器1005、键盘控制器1006、串行接口控制器1007、并行接口控制器1008和显示器控制器1009。硬盘1010与硬盘控制器1005相连,键盘1011与键盘控制器1006相连,串行外部设备1012与串行接口控制器1007相连,并行外部设备1013与并行接口控制器1008相连,以及显示器1014与显示器控制器1009相连。需要说明的是,图10所述的结构框图仅仅为了示例的目的而示出的,并非是对本公开的限制。在一些情况下,可以根据需要添加或者减少其中的一些设备。本公开的实施方式可以作为计算机程序代码存储在上计算机的例如硬盘1010的存储设备中,在被载入诸如存储器中运行时,将使得CPU1001执行根据本公开的实施例的磁盘驱动器模拟方法。
以上所述仅为本公开的实施例可选实施例,并不用于限制本公开的实施例,对于本领域的技术人员来说,本公开的实施例可以有各种更改和变化。凡在本公开的实施例的精神和原则之内,所作的任何修改、等效替换、改进等,均应包含在本公开的实施例的保护范围之内。

Claims (22)

1.一种备份通信方法,包括:
监视处理器与基板管理控制器之间的管理接口是否发生故障;
响应于所述管理接口发生故障,利用控制接口实现所述处理器与所述基板管理控制器之间的备份通信,其中所述基板管理控制器能够通过所述控制接口获取所述处理器的物理参数;以及
经由所述控制接口在所述处理器与所述基板管理控制器之间传输分组,
其中监视处理器与基板管理控制器之间的管理接口是否发生故障包括:
监视所述处理器与所述基板管理控制器之间的所述管理接口的通信间隔时间是否超过阈值时间,
其中所述备份通信是双向通信,所述备份通信中的所述分组包括通信类型码、功能码和响应码,并且所述通信类型码表示所述备份通信的类型,所述功能码表示要启动的功能,所述响应码表示所述备份通信的响应情况。
2.根据权利要求1所述的方法,其中所述管理接口为智能平台管理接口(IPMI)和/或所述控制接口为平台环境式控制接口(PECI)。
3.根据权利要求1所述的方法,所述备份通信的类型包括以下各项中的至少一项:处理器向基板管理控制器发送请求、基板管理控制器向处理器发送请求、处理器响应基板管理控制器的请求、以及基板管理控制器响应处理器的请求。
4.根据权利要求1所述的方法,其中所述要启动的功能包括以下各项中的至少一项:触发基板管理控制器的自恢复、重试基于所述管理接口的通信、请求所述处理器的服务、以及获得所述基板管理控制器的日志。
5.根据权利要求1所述的方法,其中响应于所述管理接口发生故障,利用控制接口实现所述处理器与所述基板管理控制器之间的备份通信包括:
当所述管理接口发生故障时,所述处理器向设置在所述处理器上的消息存储器发送故障消息,并且所述基板管理控制器监视所述消息存储器中是否具有所述故障消息。
6.根据权利要求1所述的方法,其中经由所述控制接口在所述处理器与所述基板管理控制器之间传输分组包括:
经由所述控制接口从所述处理器向所述基板管理控制器发送自恢复请求,以便触发所述基板管理控制器的自恢复。
7.根据权利要求6所述的方法,其中触发所述基板管理控制器的自恢复包括:
重置基于所述管理接口的通信信道。
8.根据权利要求6所述的方法,其中经由所述控制接口在所述处理器与所述基板管理控制器之间传输分组包括:
在经由所述控制接口从所述处理器向所述基板管理控制器发送自恢复请求之前,所述处理器经由所述控制接口从所述基板管理控制器获得所述基板管理控制器的日志。
9.根据权利要求6所述的方法,其中经由所述控制接口在所述处理器与所述基板管理控制器之间传输分组包括:
在经由所述控制接口从所述处理器向所述基板管理控制器发送自恢复请求之后,经由所述控制接口从所述基板管理控制器向所述处理器发送重试请求,以便重试基于所述管理接口的通信。
10.根据权利要求1-9中任一项所述的方法,还包括:
当所述故障已经被修复时,恢复所述处理器与所述基板管理控制器之间的基于所述管理接口的通信。
11.一种备份通信装置,包括:
监视装置,用于监视处理器与基板管理控制器之间的管理接口是否发生故障;
响应装置,用于响应于所述管理接口发生故障,利用控制接口实现所述处理器与所述基板管理控制器之间的备份通信,其中所述基板管理控制器能够通过所述控制接口获取所述处理器的物理参数;以及
传输装置,用于经由所述控制接口在所述处理器与所述基板管理控制器之间传输分组,
其中所述监视装置还用于:监视所述处理器与所述基板管理控制器之间的所述管理接口的通信间隔时间是否超过阈值时间,
其中所述备份通信是双向通信,所述备份通信中的所述分组包括通信类型码、功能码和响应码,并且所述通信类型码表示所述备份通信的类型,所述功能码表示要启动的功能,所述响应码表示所述备份通信的响应情况。
12.根据权利要求11所述的装置,其中所述管理接口为智能平台管理接口(IPMI)和/或所述控制接口为平台环境式控制接口(PECI)。
13.根据权利要求11所述的装置,所述备份通信的类型包括以下各项中的至少一项:处理器向基板管理控制器发送请求、基板管理控制器向处理器发送请求、处理器响应基板管理控制器的请求、以及基板管理控制器响应处理器的请求。
14.根据权利要求11所述的装置,其中所述要启动的功能包括以下各项中的至少一项:触发基板管理控制器的自恢复、重试基于所述管理接口的通信、请求所述处理器的服务、以及获得所述基板管理控制器的日志。
15.根据权利要求11所述的装置,其中所述响应装置还用于:
当所述管理接口发生故障时,所述处理器向设置在所述处理器上的消息存储器发送故障消息,并且所述基板管理控制器监视所述消息存储器中是否具有所述故障消息。
16.根据权利要求11所述的装置,其中所述传输装置还用于:
经由所述控制接口从所述处理器向所述基板管理控制器发送自恢复请求,以便触发所述基板管理控制器的自恢复。
17.根据权利要求16所述的装置,其中所述传输装置还用于:
重置基于所述管理接口的通信信道。
18.根据权利要求16所述的装置,其中所述传输装置还用于:
在经由所述控制接口从所述处理器向所述基板管理控制器发送自恢复请求之前,所述处理器经由所述控制接口从所述基板管理控制器获得所述基板管理控制器的日志。
19.根据权利要求16所述的装置,其中所述传输装置还用于:
在经由所述控制接口从所述处理器向所述基板管理控制器发送自恢复请求之后,经由所述控制接口从所述基板管理控制器向所述处理器发送重试请求,以便重试基于所述管理接口的通信。
20.根据权利要求11-19中任一项所述的装置,还包括:
恢复装置,当所述故障已经被修复时,恢复所述处理器与所述基板管理控制器之间的基于所述管理接口的通信。
21.一种备份通信装置,包括:
存储器;
处理器,所述处理器被配置为:
监视处理器与基板管理控制器之间的管理接口是否发生故障;
响应于所述管理接口发生故障,利用控制接口实现所述处理器与所述基板管理控制器之间的备份通信,其中所述基板管理控制器能够通过所述控制接口获取所述处理器的物理参数;以及
经由所述控制接口在所述处理器与所述基板管理控制器之间传输分组,
其中监视处理器与基板管理控制器之间的管理接口是否发生故障包括:
监视所述处理器与所述基板管理控制器之间的所述管理接口的通信间隔时间是否超过阈值时间,
其中所述备份通信是双向通信,所述备份通信中的所述分组包括通信类型码、功能码和响应码,并且所述通信类型码表示所述备份通信的类型,所述功能码表示要启动的功能,所述响应码表示所述备份通信的响应情况。
22.根据权利要求21所述的装置,其中所述处理器被进一步配置为执行根据权利要求2-10中的任一项所述的方法。
CN201511030884.6A 2015-12-31 2015-12-31 备份通信方法和装置 Active CN106936616B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201511030884.6A CN106936616B (zh) 2015-12-31 2015-12-31 备份通信方法和装置
US15/388,034 US10545841B2 (en) 2015-12-31 2016-12-22 Method and apparatus for backup communication
US16/773,915 US11093351B2 (en) 2015-12-31 2020-01-27 Method and apparatus for backup communication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201511030884.6A CN106936616B (zh) 2015-12-31 2015-12-31 备份通信方法和装置

Publications (2)

Publication Number Publication Date
CN106936616A CN106936616A (zh) 2017-07-07
CN106936616B true CN106936616B (zh) 2020-01-03

Family

ID=59235562

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201511030884.6A Active CN106936616B (zh) 2015-12-31 2015-12-31 备份通信方法和装置

Country Status (2)

Country Link
US (2) US10545841B2 (zh)
CN (1) CN106936616B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10838835B2 (en) * 2017-12-29 2020-11-17 Intel Corporation Scheduling periodic CPU core diagnostics within an operating system during run-time
CN108090000A (zh) * 2018-01-11 2018-05-29 郑州云海信息技术有限公司 一种获取cpu寄存器信息的方法及系统
US11520297B2 (en) * 2019-03-29 2022-12-06 Intel Corporation Enhancing diagnostic capabilities of computing systems by combining variable patrolling API and comparison mechanism of variables
US11126517B2 (en) * 2019-05-14 2021-09-21 Quanta Computer Inc. Method and system for communication channels to management controller
US11403162B2 (en) * 2019-10-17 2022-08-02 Dell Products L.P. System and method for transferring diagnostic data via a framebuffer
CN111143104A (zh) * 2019-12-29 2020-05-12 苏州浪潮智能科技有限公司 一种内存异常的处理方法、系统、电子设备及存储介质
US11194678B2 (en) * 2020-03-02 2021-12-07 Silicon Motion, Inc. Method and apparatus for performing node information exchange management of all flash array server
CN113419977B (zh) * 2021-05-28 2023-03-21 济南浪潮数据技术有限公司 一种服务器中pcie设备管理系统和服务器
US11726879B2 (en) * 2021-07-12 2023-08-15 Dell Products L.P. Multiple block error correction in an information handling system
CN114116280B (zh) * 2021-11-11 2023-08-18 苏州浪潮智能科技有限公司 交互式bmc自恢复方法、系统、终端及存储介质
CN117424794A (zh) * 2022-07-11 2024-01-19 中兴通讯股份有限公司 根因定位方法、通信设备及计算机可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102244591A (zh) * 2010-05-10 2011-11-16 鸿富锦精密工业(深圳)有限公司 客户端服务器及对其功能测试全程监测的方法
CN103092316A (zh) * 2013-01-22 2013-05-08 浪潮电子信息产业股份有限公司 一种基于数据挖掘的服务器功耗管理系统

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5960180A (en) * 1994-09-07 1999-09-28 Adaptec, Inc. Host adapter integrated circuit having autoaccess pause
US6865215B1 (en) * 2000-02-16 2005-03-08 Iowa State University Research Foundation, Inc. Spread spectrum digital data communication overlay system and method
US20020071388A1 (en) 2000-11-16 2002-06-13 Einar Bergsson Selectable network protocol
US6888792B2 (en) * 2000-12-07 2005-05-03 Intel Corporation Technique to provide automatic failover for channel-based communications
US7069349B2 (en) * 2002-01-10 2006-06-27 Intel Corporation IPMI dual-domain controller
JP3964212B2 (ja) * 2002-01-16 2007-08-22 株式会社日立製作所 記憶装置システム
US7219149B2 (en) * 2003-06-12 2007-05-15 Dw Holdings, Inc. Versatile terminal adapter and network for transaction processing
US20040207440A1 (en) * 2003-04-17 2004-10-21 Naysen Robertson Electrical circuit for controling another circuit or system
US7561571B1 (en) * 2004-02-13 2009-07-14 Habanero Holdings, Inc. Fabric address and sub-address resolution in fabric-backplane enterprise servers
US7502369B2 (en) * 2004-06-02 2009-03-10 Intel Corporation High speed interface systems and methods
US20060167919A1 (en) * 2004-07-19 2006-07-27 Aten International Co., Ltd. Intelligent platform management interface validating system and method
US7475274B2 (en) * 2004-11-17 2009-01-06 Raytheon Company Fault tolerance and recovery in a high-performance computing (HPC) system
US7552213B2 (en) * 2005-05-12 2009-06-23 Avocent Fremont Corp. Remote network node management system and method
US7558849B2 (en) * 2005-08-10 2009-07-07 Intel Corporation Hardware management module
US7899864B2 (en) * 2005-11-01 2011-03-01 Microsoft Corporation Multi-user terminal services accelerator
US8112513B2 (en) * 2005-11-30 2012-02-07 Microsoft Corporation Multi-user display proxy server
TWI312462B (en) * 2006-04-07 2009-07-21 Hon Hai Prec Ind Co Ltd Network device and subscribers' states synchronizing method thereof
TW200743355A (en) * 2006-05-05 2007-11-16 Hon Hai Prec Ind Co Ltd Network device and time synchronizing method thereof
US7783872B2 (en) * 2007-03-30 2010-08-24 Dell Products, Lp System and method to enable an event timer in a multiple event timer operating environment
JP5011191B2 (ja) * 2007-04-02 2012-08-29 株式会社日立製作所 計算機システム及び通信制御方法
US7743274B2 (en) * 2007-09-12 2010-06-22 International Business Machines Corporation Administering correlated error logs in a computer system
US8346912B2 (en) * 2007-10-15 2013-01-01 Dell Products, Lp System and method of emulating a network controller within an information handling system
US8082440B2 (en) * 2008-09-29 2011-12-20 Intel Corporation Managed data region for server management
CN101989212B (zh) * 2009-07-31 2015-01-07 国际商业机器公司 提供用于启动刀片服务器的虚拟机管理程序的方法和装置
JP5093259B2 (ja) * 2010-02-10 2012-12-12 日本電気株式会社 Biosとbmcとの間の通信パス強化方法、その装置及びそのプログラム
TWI529525B (zh) * 2010-04-30 2016-04-11 聯想企業解決方案(新加坡)有限公司 處理系統錯誤之方法及系統
CN102314388B (zh) * 2010-07-07 2013-11-13 英业达股份有限公司 支持智能型平台管理接口的服务器的测试方法
TWI476571B (zh) * 2010-09-30 2015-03-11 Ibm 資訊處理系統中裝置區域之風扇控制方法及風扇控制裝置
TWI446161B (zh) * 2010-12-30 2014-07-21 Ibm 處理一多處理器資訊處理系統之一故障處理器的裝置及方法
TW201239614A (en) * 2011-03-28 2012-10-01 Wistron Corp Automated test system and automated test method
US10613914B2 (en) * 2013-04-01 2020-04-07 Oracle International Corporation Orchestration service for a distributed computing system
US20150106660A1 (en) * 2013-10-16 2015-04-16 Lenovo (Singapore) Pte. Ltd. Controller access to host memory
US20160036628A1 (en) * 2014-08-01 2016-02-04 Vineet Gupta Method and system for performing out-of-band management of computing devices over a wireless wide-area network
US9967337B1 (en) 2015-12-29 2018-05-08 EMC IP Holding Company LLC Corruption-resistant backup policy
US10496322B2 (en) 2016-03-29 2019-12-03 EMC IP Holding Company LLC Backup server selection based on data commonality

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102244591A (zh) * 2010-05-10 2011-11-16 鸿富锦精密工业(深圳)有限公司 客户端服务器及对其功能测试全程监测的方法
CN103092316A (zh) * 2013-01-22 2013-05-08 浪潮电子信息产业股份有限公司 一种基于数据挖掘的服务器功耗管理系统

Also Published As

Publication number Publication date
US11093351B2 (en) 2021-08-17
US10545841B2 (en) 2020-01-28
CN106936616A (zh) 2017-07-07
US20200159633A1 (en) 2020-05-21
US20170192862A1 (en) 2017-07-06

Similar Documents

Publication Publication Date Title
CN106936616B (zh) 备份通信方法和装置
US7533292B2 (en) Management method for spare disk drives in a raid system
US8443237B2 (en) Storage apparatus and method for controlling the same using loopback diagnosis to detect failure
US11953976B2 (en) Detecting and recovering from fatal storage errors
CN110535692B (zh) 故障处理方法、装置、计算机设备、存储介质及存储系统
US8984266B2 (en) Techniques for stopping rolling reboots
US8667337B2 (en) Storage apparatus and method of controlling the same
US20100162043A1 (en) Method, Apparatus, and System for Restarting an Emulated Mainframe IOP
JP2006127201A (ja) ストレージシステムおよび導通確認方法
EP3579501B1 (en) Message transmission method and device in cluster file system
US20040073648A1 (en) Network calculator system and management device
CN113765697B (zh) 管理数据处理系统的日志的方法和系统及计算机可读介质
WO2017041671A1 (zh) 故障恢复的方法和装置
US20060104209A1 (en) Failure isolation in a communication system
US20190303233A1 (en) Automatically Detecting Time-Of-Fault Bugs in Cloud Systems
CN116724297A (zh) 一种故障处理方法、装置及系统
US20100107000A1 (en) Active Link Verification For Failover Operations In A Storage Network
US8711684B1 (en) Method and apparatus for detecting an intermittent path to a storage system
WO2014133510A1 (en) Recovery program using diagnostic results
CN115668148A (zh) 从pci快件端点取回诊断信息
US11797368B2 (en) Attributing errors to input/output peripheral drivers
US11989105B2 (en) Storage system and control method for adjusting timeout based on network conditions
TWI715066B (zh) 定位叢集式儲存系統之硬碟實體裝設位置的方法
TWI602054B (zh) 用於電腦裝置的錯誤狀態資料提供方法
CN107451035B (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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20200423

Address after: Massachusetts, USA

Patentee after: EMC IP Holding Company LLC

Address before: Ma Sazhusaizhou

Patentee before: EMC Corp.

TR01 Transfer of patent right