CN115934616A - 串口信息保存方法、装置、服务器、电子设备和存储介质 - Google Patents
串口信息保存方法、装置、服务器、电子设备和存储介质 Download PDFInfo
- Publication number
- CN115934616A CN115934616A CN202211450954.3A CN202211450954A CN115934616A CN 115934616 A CN115934616 A CN 115934616A CN 202211450954 A CN202211450954 A CN 202211450954A CN 115934616 A CN115934616 A CN 115934616A
- Authority
- CN
- China
- Prior art keywords
- serial port
- port information
- bmc chip
- chip
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 68
- 230000015654 memory Effects 0.000 claims abstract description 105
- 230000002159 abnormal effect Effects 0.000 claims abstract description 33
- 238000012544 monitoring process Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 9
- 125000004122 cyclic group Chemical group 0.000 claims description 4
- 238000004458 analytical method Methods 0.000 abstract description 11
- 230000008569 process Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 238000012423 maintenance Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 230000001788 irregular Effects 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 230000033228 biological regulation Effects 0.000 description 2
- 238000003745 diagnosis Methods 0.000 description 2
- 230000017525 heat dissipation Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种串口信息保存方法、装置、服务器、电子设备和存储介质,其中方法包括:基于所述GPIO接口获取所述BMC芯片的实时心跳信号,并基于所述实时心跳信号确定所述BMC芯片的运行状态;在所述BMC芯片的运行状态为正常的情况下,基于所述UART接口获取所述BMC芯片的串口信息并基于所述SPI接口将所述串口信息写入所述串口信息存储器;在所述BMC芯片的运行状态为异常的情况下,停止将所述串口信息写入所述串口信息存储器并控制所述串口信息存储器对已写入的历史串口信息进行锁存。本申请公开的方法和装置,提高了服务器运行故障的分析效率,提高了服务器运行的安全性。
Description
技术领域
本申请涉及服务器技术领域,具体而言,涉及一种串口信息保存方法、装置、服务器、电子设备和存储介质。
背景技术
BMC(Baseboard Management Controller,基板管理控制器)是一种专门的服务处理器,其是智能平台管理接口(Intelligent Platform Management Interface,IPMI)的一部分,通常包含在待监控设备的主板或主电路板中。它常被应用于监控和管理服务器的运行状态,如通过带外方式进行开关机、监控服务器传感器状态、访问BIOS(Basic InputOutput System,基本输入输出系统)配置或操作系统控制台信息、升级设备的固件等等,BMC的出现使得服务器管理变得轻松便捷。
BMC处在服务器整个系统带外监控管理的核心位置,所以设计人员需要保障其正常稳定运行,一旦BMC本身出现问题也需要能够有效和快速地定位问题。作为一个基于Linux的嵌入式软件管理系统,传统的问题定位方式包括收集运行时状态日志,搭建环境重现问题等,对于稳定出现的问题来说,使用这些手段足够应对。但是,如果是小概率且无规律出现的BMC启动失败、核心服务进程挂死等问题,还是需要串口日志等辅助分析,客户机房中的服务器通常不具备收集串口信息等条件,而且即使接入串口线,也需要长时间的问题复现,如果能保存住问题发生时刻BMC历史串口信息就可以加速问题分析过程。
发明内容
本申请提供一种串口信息保存方法、装置、服务器、电子设备和存储介质,用于解决如何保存住故障发生时刻BMC的历史串口信息,提高服务器运行故障的分析效率的技术问题。
本申请提供一种串口信息保存方法,应用于CPLD芯片,所述CPLD芯片与BMC芯片通过UART接口和GPIO接口连接,所述CPLD芯片与串口信息存储器通过SPI接口连接,所述方法包括:
基于所述GPIO接口获取所述BMC芯片的实时心跳信号,并基于所述实时心跳信号确定所述BMC芯片的运行状态;
在所述BMC芯片的运行状态为正常的情况下,基于所述UART接口获取所述BMC芯片的串口信息并基于所述SPI接口将所述串口信息写入所述串口信息存储器;
在所述BMC芯片的运行状态为异常的情况下,停止将所述串口信息写入所述串口信息存储器并控制所述串口信息存储器对已写入的历史串口信息进行锁存。
根据本申请提供的串口信息保存方法,所述基于所述GPIO接口获取所述BMC芯片的实时心跳信号,并基于所述实时心跳信号确定所述BMC芯片的运行状态之后,所述方法包括:
在所述BMC芯片的运行状态恢复为正常的情况下,基于所述SPI接口从所述串口信息存储器中读取所述历史串口信息,并基于I2C接口将所述历史串口信息发送至所述BMC芯片,以供所述BMC芯片将所述历史串口信息发送至服务器控制系统;其中,所述CPLD芯片与BMC芯片通过所述I2C接口连接。
根据本申请提供的串口信息保存方法,所述基于I2C接口将所述历史串口信息发送至所述BMC芯片,以供所述BMC芯片将所述历史串口信息发送至服务器控制系统之后,所述方法包括:
基于所述I2C接口接收所述BMC芯片发送的锁存解除指令;
基于所述锁存解除指令,控制所述串口信息存储器解除锁存,并基于所述SPI接口将所述BMC芯片在运行状态恢复为正常后生成的串口信息写入所述串口信息存储器。
根据本申请提供的串口信息保存方法,所述基于所述SPI接口从所述串口信息存储器中读取所述历史串口信息,包括:
接收所述BMC芯片发送的串口信息查询指令;
基于所述串口信息查询指令中的查询时间信息,确定所述查询时间信息对应的历史串口信息在所述串口信息存储器中的存储地址;
将所述存储地址发送至所述串口信息存储器,控制所述串口信息存储器返回所述存储地址对应的历史串口信息。
根据本申请提供的串口信息保存方法,所述基于所述实时心跳信号确定所述BMC芯片的运行状态,包括:
在预设时长内未接收到所述BMC芯片发送的实时心跳信号,则确定所述BMC芯片的运行状态为异常。
根据本申请提供的串口信息保存方法,所述基于所述SPI接口将所述串口信息写入所述串口信息存储器,包括:
基于所述SPI接口,采用循环写入的方式将所述串口信息写入所述串口信息存储器。
本申请提供一种串口信息保存装置,所述装置与BMC芯片通过UART接口和GPIO接口连接,所述装置与串口信息存储器通过SPI接口连接,包括:
心跳监控单元,用于基于所述GPIO接口获取所述BMC芯片的实时心跳信号,并基于所述实时心跳信号确定所述BMC芯片的运行状态;
信息保存单元,用于在所述BMC芯片的运行状态为正常的情况下,基于所述UART接口获取所述BMC芯片的串口信息并基于所述SPI接口将所述串口信息写入所述串口信息存储器;在所述BMC芯片的运行状态为异常的情况下,停止将所述串口信息写入所述串口信息存储器并控制所述串口信息存储器对已写入的历史串口信息进行锁存。
本申请提供一种服务器,包括控制板卡;所述控制板卡上设置有BMC芯片、CPLD芯片和串口信息存储器;
所述BMC芯片与所述CPLD芯片通过UART接口、GPIO接口和I2C接口连接,所述CPLD芯片与所述串口信息存储器通过SPI接口连接;
所述CPLD芯片执行所述的串口信息保存方法。
本申请提供一种计算机可读的存储介质,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行所述的串口信息保存方法。
本申请提供一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述的串口信息保存方法。
本申请提供的串口信息保存方法、装置、服务器、电子设备和存储介质,根据GPIO接口获取BMC芯片的实时心跳信号,并根据实时心跳信号确定BMC芯片的运行状态;在BMC芯片的运行状态为正常的情况下,根据UART接口获取BMC芯片的串口信息并根据SPI接口将串口信息写入串口信息存储器;在BMC芯片的运行状态为异常的情况下,停止将串口信息写入串口信息存储器并控制串口信息存储器对已写入的历史串口信息进行锁存,实现了通过BMC芯片的实时心跳信号确定BMC芯片的运行状态,在BMC芯片处于异常时,控制串口信息存储器对已写入的历史串口信息进行锁存,由于串口信息存储器是独立设置的外部存储器,实现了保存BMC芯片发生异常之前的历史串口信息,使其不会随着BMC芯片的运行状态的变化而丢失,有利于提高对BMC芯片发生的小概率故障问题或者无规律故障问题的分析,提高了服务器运行故障的分析效率,提高了服务器运行的安全性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的串口信息保存方法的流程示意图;
图2是本申请提供的控制板卡的硬件结构图;
图3是本申请提供的串口信息保存装置的结构示意图;
图4是本申请提供的服务器的结构示意图;
图5是本申请提供的电子设备的结构示意图。
附图标记:
210:CPLD芯片;210:BMC芯片;230:串口信息存储器;
400:服务器;410:控制板卡。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
图1是本申请提供的串口信息保存方法的流程示意图,如图1所示,该方法包括步骤110、步骤120和步骤130。
步骤110、基于GPIO接口获取BMC芯片的实时心跳信号,并基于实时心跳信号确定BMC芯片的运行状态。
具体地,本申请提供的串口信息保存方法的执行主体为控制板卡中设置的CPLD芯片(Complex Programmable Logic Device,复杂可编程逻辑芯片)。CPLD是一种根据需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载将代码传送到目标芯片中,实现设计的数字系统。
图2是本申请提供的控制板卡的硬件结构图,如图2所示,在该控制板卡上设置有CPLD芯片210、BMC芯片220和串口信息存储器230。其中,串口信息存储器可以采用FLASH(闪存)芯片实现,也可以采用其他非易失性存储器实现。
CPLD芯片210与BMC芯片220通过UART(Universal Asynchronous ReceiverTransmitter,通用异步收发传输器)接口、GPIO(General Purpose Input/Output,通用型输入输出)接口和I2C(Inter-Integrated Circuit,集成电路互连总线)接口连接,CPLD芯片210与串口信息存储器230通过SPI(Serial Peripheral Interface,串行外设接口)接口连接。
BMC芯片在服务器运行过程中,会根据控制板卡及附属设备的运行状况生成串口信息,以日志形式记录下来。这些串口信息涉及到了服务器的资产信息显示、硬件监控、散热调控、系统配置、远程监控、故障诊断和系统维护等。这些串口信息有助于分析BMC启动失败、核心服务进程挂死等小概率或者无规律出现的故障问题。
在控制板卡上设置CPLD芯片,与BMC芯片通过GPIO接口连接,可以获取BMC芯片的实时心跳信号。CPLD芯片可以通过归实时心跳信号进行分析,判断BMC芯片的运行状态。
例如,如果CPLD芯片能够连续获取BMC芯片的实时心跳信号,且这些实时心跳信号的接收时间间隔小于等于预设时间间隔,则可以确定BMC芯片处于正常状态;如果CPLD芯片获取的实时心跳信号出现了中断,则可以确定BMC芯片处于异常状态。
步骤120、在BMC芯片的运行状态为正常的情况下,基于UART接口获取BMC芯片的串口信息并基于SPI接口将串口信息写入串口信息存储器。
具体地,在BMC芯片的运行状态为正常的情况下,BMC芯片可以通过UART接口将生成的串口信息发送至CPLD芯片。CPLD芯片通过对UART接口的信号进行解析,得到串口信息,再通过SPI接口将串口信息写入串口信息存储器。
由于串口信息存储器是控制板卡上单独设置的,可以用于专门对BMC芯片生成的串口信息进行存储,可以实现对串口信息进行安全存储,使得串口信息不易丢失。
步骤130、在BMC芯片的运行状态为异常的情况下,停止将串口信息写入串口信息存储器并控制串口信息存储器对已写入的历史串口信息进行锁存。
具体地,在BMC芯片的运行状态为异常的情况下,BMC芯片可能出现启动失败、核心服务进程锁死等情况,此时CPLD芯片可以停止将串口信息写入串口信息存储器,即停止对串口信息存储器的写入动作,同时对已写入的历史串口信息进行锁存。
对已写入的历史串口信息进行锁存,可以使得已写入的历史串口信息可以持久地保存在串口信息存储器中,不会随着BMC芯片的运行状态的变化而丢失。也就是说,在BMC芯片异常时,实现了对异常状态出现前的串口信息的有效保存,便于对BMC芯片出现的故障问题进行分析。
本申请实施例提供的串口信息保存方法,根据GPIO接口获取BMC芯片的实时心跳信号,并根据实时心跳信号确定BMC芯片的运行状态;在BMC芯片的运行状态为正常的情况下,根据UART接口获取BMC芯片的串口信息并根据SPI接口将串口信息写入串口信息存储器;在BMC芯片的运行状态为异常的情况下,停止将串口信息写入串口信息存储器并控制串口信息存储器对已写入的历史串口信息进行锁存,实现了通过BMC芯片的实时心跳信号确定BMC芯片的运行状态,在BMC芯片处于异常时,控制串口信息存储器对已写入的历史串口信息进行锁存,由于串口信息存储器是独立设置的外部存储器,实现了保存BMC芯片发生异常之前的历史串口信息,使其不会随着BMC芯片的运行状态的变化而丢失,有利于提高对BMC芯片发生的小概率故障问题或者无规律故障问题的分析,提高了服务器运行故障的分析效率,提高了服务器运行的安全性。
基于上述实施例,步骤110之后包括:
在BMC芯片的运行状态恢复为正常的情况下,基于SPI接口从串口信息存储器中读取历史串口信息,并基于I2C接口将历史串口信息发送至BMC芯片,以供BMC芯片将历史串口信息发送至服务器控制系统。
具体地,在对BMC芯片进行维护,排除故障后,可以重启BMC芯片,BMC芯片的实时心跳信号通过GPIO接口再次被CPLD芯片获取。CPLD芯片通过再次获取的实时心跳信号,确定BMC芯片的运行状态恢复为正常。
在这种情况下,CPLD芯片根据SPI接口从串口信息存储器中读取历史串口信息,并通过I2C接口将历史串口信息发送至BMC芯片。
BMC芯片在接收到历史串口信息后,可以根据内置的自检程序对历史串口信息进行处理,确定发生异常的故障代码和故障原因。BMC芯片也可以将接收到的历史串口信息发送至服务器控制系统,由服务器控制系统通过显示屏等向运维人员进行展示,以使运维人员可以根据故障发生前的历史串口信息分析故障原因。
本申请实施例提供的串口信息保存方法,在BMC芯片的运行状态恢复正常的情况下,将历史串口信息从串口信息存储器中读取出来,并由BMC芯片导出至服务器控制系统,可以不用在服务器中接入串口线,减少了服务器的硬件制造成本,方便了从服务器中获取BMC芯片发生故障前的历史串口信息。
基于上述任一实施例,基于I2C接口将历史串口信息发送至BMC芯片,以供BMC芯片将历史串口信息发送至服务器控制系统之后,方法包括:
基于I2C接口接收BMC芯片发送的锁存解除指令;
基于锁存解除指令,控制串口信息存储器解除锁存,并基于SPI接口将BMC芯片在运行状态恢复为正常后生成的串口信息写入串口信息存储器。
具体地,在完成历史串口信息的收集后,BMC芯片通过I2C接口向CPLD芯片发送锁存解除指令。锁存解除指令用于解除串口信息存储器的锁存状态,使得串口信息存储器能够继续进行串口信息的存储。
CPLD芯片在接收到锁存解除指令后,通过SPI接口向串口信息存储器发送相应的高低电平信号,控制串口信息存储器解除锁存,并继续通过SPI接口将BMC芯片在运行状态恢复为正常后生成的串口信息写入串口信息存储器。
基于上述任一实施例,基于SPI接口从串口信息存储器中读取历史串口信息,包括:
接收BMC芯片发送的串口信息查询指令;
基于串口信息查询指令中的查询时间信息,确定查询时间信息对应的历史串口信息在串口信息存储器中的存储地址;
将存储地址发送至串口信息存储器,控制串口信息存储器返回存储地址对应的历史串口信息。
具体地,BMC芯片可以通过I2C接口向CPLD芯片发送串口信息查询指令。串口信息查询指令用于从串口信息存储器中读取历史串口信息。
CPLD芯片在接收到串口信息查询指令后,对串口信息查询指令进行解析,确定查询时间信息。例如,查询时间信息可以是指从BMC芯片的实时心跳信号停止之前的时间段。该时间段的长度可以根据需要进行设置。
CPLD芯片根据查询时间信息,可以确定查询时间信息对应的历史串口信息在串口信息存储器中的存储地址。一般地,CPLD芯片与串口信息存储器通过SPI接口连接,用于传输三种信息,分别为地址信息、控制信息和数据信息。CPLD芯片将历史串口信息的存储地址作为地址信息发送至串口信息存储器,并向串口信息存储器发送数据读取的控制信息。串口信息存储器在接收到地址信息和控制信息后,将存储地址对应的历史串口信息作为数据信息返回至CPLD芯片。
基于上述任一实施例,步骤110包括:
在预设时长内未接收到BMC芯片发送的实时心跳信号,则确定BMC芯片的运行状态为异常。
具体地,CPLD芯片可以对预设时长内所接收到的BMC芯片发送的实时心跳信号进行计数,如果计数结果为零,则表明BMC芯片的心跳信号停止,确定BMC芯片的运行状态为异常。预设时长可以根据需要进行设置。
基于上述任一实施例,步骤120包括:
基于SPI接口,采用循环写入的方式将串口信息写入串口信息存储器。
具体地,CPLD芯片在串口信息存储器中写入串口信息时,可以采用循环写入的方式,即当串口信息存储器中的历史串口信息已经存满时,CPLD芯片控制串口信息存储器自动删除存储时间最早的历史串口信息,并将接收的串口信息写入,使得串口信息存储器一直能够保存最新的历史串口信息。
运维人员可以通过分析BMC芯片异常所需的串口信息的数据量,合理设置串口信息存储器的数据存储容量,例如使得串口信息存储器的数据存储容量大于分析BMC芯片异常所需历史串口信息的数据量。
本申请实施例提供的串口信息保存方法,通过循环写入的方式将串口信息写入串口信息存储器,使得串口信息存储器一直能够保存最新的历史串口信息,同时使得串口信息存储器的数据存储容量保持在合理的范围,减少了服务器的硬件成本。
基于上述任一实施例,以串口信息存储器采用FLASH芯片为例,本申请实施例提供一种串口信息保存方法,该方法包括:
步骤一、将BMC的串口通过UART总线接到CPLD的UART接口,将BMC的心跳信号接到CPLD的GPIO接口;
步骤二、将CPLD通过SPI总线外接一颗FLASH芯片,用于信息存储;
步骤三、CPLD将接入的UART信号进行实时数据解析,通过SPI总线存储到外挂FLASH;
步骤四、CPLD实时侦测BMC的心跳信号,如果心跳信号停止(出现问题),则对停止对串口信息写入FLASH的动作,锁存串口信息;
步骤五、运维后使BMC正常工作,BMC通过I2C收集CPLD外挂FLASH的串口信息,用于问题的进一步分析;
完成信息收集后,BMC通知CPLD解除对串口信息的锁存,继续记录串口日志。
本申请实施例提供的串口信息保存方法,通过CPLD外接FLASH对信息进行辅助存储,在BMC异常时,依然可以收集到历史串口日志信息,用于异常问题分析。
基于上述任一实施例,图3是本申请提供的串口信息保存装置的结构示意图,如图3所示,该装置与BMC芯片通过UART接口、GPIO接口和I2C接口连接,该装置与串口信息存储器通过SPI接口连接,该装置具体包括:
心跳监控单元310,用于基于GPIO接口获取BMC芯片的实时心跳信号,并基于实时心跳信号确定BMC芯片的运行状态;
信息保存单元320,用于在BMC芯片的运行状态为正常的情况下,基于UART接口获取BMC芯片的串口信息并基于SPI接口将串口信息写入串口信息存储器;在BMC芯片的运行状态为异常的情况下,停止将串口信息写入串口信息存储器并控制串口信息存储器对已写入的历史串口信息进行锁存。
具体地,BMC芯片在服务器运行过程中,会根据控制板卡及附属设备的运行状况生成串口信息,以日志形式记录下来。这些串口信息涉及到了服务器的资产信息显示、硬件监控、散热调控、系统配置、远程监控、故障诊断和系统维护等。这些串口信息有助于分析BMC启动失败、核心服务进程挂死等小概率或者无规律出现的故障问题。
在控制板卡上设置CPLD芯片,CPLD芯片作为串口信息保存装置,可以包括心跳监控单元和信息保存单元。
心跳监控单元与BMC芯片通过GPIO接口连接,可以获取BMC芯片的实时心跳信号。CPLD芯片可以通过归实时心跳信号进行分析,判断BMC芯片的运行状态。
例如,如果CPLD芯片能够连续获取BMC芯片的实时心跳信号,且这些实时心跳信号的接收时间间隔小于等于预设时间间隔,则可以确定BMC芯片处于正常状态;如果CPLD芯片获取的实时心跳信号出现了中断,则可以确定BMC芯片处于异常状态。
在BMC芯片的运行状态为正常的情况下,BMC芯片可以通过UART接口将生成的串口信息发送至CPLD芯片。CPLD芯片中的信息保存单元通过对UART接口的信号进行解析,得到串口信息,再通过SPI接口将串口信息写入串口信息存储器。
由于串口信息存储器是控制板卡上单独设置的,可以用于专门对BMC芯片生成的串口信息进行存储,可以实现对串口信息进行安全存储,使得串口信息不易丢失。
在BMC芯片的运行状态为异常的情况下,BMC芯片可能出现启动失败、核心服务进程锁死等情况,此时CPLD芯片中的信息保存单元通过可以停止将串口信息写入串口信息存储器,即停止对串口信息存储器的写入动作,同时对已写入的历史串口信息进行锁存。
对已写入的历史串口信息进行锁存,可以使得已写入的历史串口信息可以持久地保存在串口信息存储器中,不会随着BMC芯片的运行状态的变化而丢失。也就是说,在BMC芯片异常时,实现了对异常状态出现前的串口信息的有效保存,便于对BMC芯片出现的故障问题进行分析。
本申请实施例提供的串口信息保存装置,根据GPIO接口获取BMC芯片的实时心跳信号,并根据实时心跳信号确定BMC芯片的运行状态;在BMC芯片的运行状态为正常的情况下,根据UART接口获取BMC芯片的串口信息并根据SPI接口将串口信息写入串口信息存储器;在BMC芯片的运行状态为异常的情况下,停止将串口信息写入串口信息存储器并控制串口信息存储器对已写入的历史串口信息进行锁存,实现了通过BMC芯片的实时心跳信号确定BMC芯片的运行状态,在BMC芯片处于异常时,控制串口信息存储器对已写入的历史串口信息进行锁存,由于串口信息存储器是独立设置的外部存储器,实现了保存BMC芯片发生异常之前的历史串口信息,使其不会随着BMC芯片的运行状态的变化而丢失,有利于提高对BMC芯片发生的小概率故障问题或者无规律故障问题的分析,提高了服务器运行故障的分析效率,提高了服务器运行的安全性。
基于上述任一实施例,该装置还包括:
信息读取单元,用于在BMC芯片的运行状态恢复为正常的情况下,基于SPI接口从串口信息存储器中读取历史串口信息,并基于I2C接口将历史串口信息发送至BMC芯片,以供BMC芯片将历史串口信息发送至服务器控制系统。
基于上述任一实施例,信息读取单元还用于:
基于I2C接口接收BMC芯片发送的锁存解除指令;
基于锁存解除指令,控制串口信息存储器解除锁存,并基于SPI接口将BMC芯片在运行状态恢复为正常后生成的串口信息写入串口信息存储器。
基于上述任一实施例,信息保存单元具体用于:
接收BMC芯片发送的串口信息查询指令;
基于串口信息查询指令中的查询时间信息,确定查询时间信息对应的历史串口信息在串口信息存储器中的存储地址;
将存储地址发送至串口信息存储器,控制串口信息存储器返回存储地址对应的历史串口信息。
基于上述任一实施例,心跳监控单元具体用于:
在预设时长内未接收到BMC芯片发送的实时心跳信号,则确定BMC芯片的运行状态为异常。
基于上述任一实施例,信息保存单元具体用于:
基于SPI接口,采用循环写入的方式将串口信息写入串口信息存储器。
基于上述任一实施例,图4是本申请提供的服务器的结构示意图,如图4所示,该服务器400包括控制板卡410;控制板卡410上设置有BMC芯片210、CPLD芯片220和串口信息存储器230;
BMC芯片210与CPLD芯片220通过UART接口、GPIO接口和I2C接口连接,CPLD芯片220与串口信息存储器230通过SPI接口连接;CPLD芯片220执行上述串口信息保存方法。
具体地,本申请实施例中的服务器可以为台式服务器、机架式服务器、机柜式服务器和刀片式服务器中的一种。
基于上述任一实施例,图5为本申请提供的电子设备的结构示意图,如图5所示,该电子设备可以包括:处理器(Processor)510、通信接口(Communications Interface)520、存储器(Memory)530和通信总线(Communications Bus)540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑命令,以执行如下方法:
基于GPIO接口获取BMC芯片的实时心跳信号,并基于实时心跳信号确定BMC芯片的运行状态;在BMC芯片的运行状态为正常的情况下,基于UART接口获取BMC芯片的串口信息并基于SPI接口将串口信息写入串口信息存储器;在BMC芯片的运行状态为异常的情况下,停止将串口信息写入串口信息存储器并控制串口信息存储器对已写入的历史串口信息进行锁存。
此外,上述的存储器530中的逻辑命令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干命令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例提供的电子设备中的处理器可以调用存储器中的逻辑指令,实现上述方法,其具体的实施方式与前述方法实施方式一致,且可以达到相同的有益效果,此处不再赘述。
本申请实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的方法,其具体的实施方式与前述方法实施方式一致,且可以达到相同的有益效果,此处不再赘述。
本申请实施例提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现如上述方法的步骤。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干命令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种串口信息保存方法,其特征在于,应用于CPLD芯片,所述CPLD芯片与BMC芯片通过UART接口和GPIO接口连接,所述CPLD芯片与串口信息存储器通过SPI接口连接,所述方法包括:
基于所述GPIO接口获取所述BMC芯片的实时心跳信号,并基于所述实时心跳信号确定所述BMC芯片的运行状态;
在所述BMC芯片的运行状态为正常的情况下,基于所述UART接口获取所述BMC芯片的串口信息并基于所述SPI接口将所述串口信息写入所述串口信息存储器;
在所述BMC芯片的运行状态为异常的情况下,停止将所述串口信息写入所述串口信息存储器并控制所述串口信息存储器对已写入的历史串口信息进行锁存。
2.根据权利要求1所述的串口信息保存方法,其特征在于,所述基于所述GPIO接口获取所述BMC芯片的实时心跳信号,并基于所述实时心跳信号确定所述BMC芯片的运行状态之后,所述方法包括:
在所述BMC芯片的运行状态恢复为正常的情况下,基于所述SPI接口从所述串口信息存储器中读取所述历史串口信息,并基于I2C接口将所述历史串口信息发送至所述BMC芯片,以供所述BMC芯片将所述历史串口信息发送至服务器控制系统;
其中,所述CPLD芯片与BMC芯片通过所述I2C接口连接。
3.根据权利要求2所述的串口信息保存方法,其特征在于,所述基于I2C接口将所述历史串口信息发送至所述BMC芯片,以供所述BMC芯片将所述历史串口信息发送至服务器控制系统之后,所述方法包括:
基于所述I2C接口接收所述BMC芯片发送的锁存解除指令;
基于所述锁存解除指令,控制所述串口信息存储器解除锁存,并基于所述SPI接口将所述BMC芯片在运行状态恢复为正常后生成的串口信息写入所述串口信息存储器。
4.根据权利要求2所述的串口信息保存方法,其特征在于,所述基于所述SPI接口从所述串口信息存储器中读取所述历史串口信息,包括:
接收所述BMC芯片发送的串口信息查询指令;
基于所述串口信息查询指令中的查询时间信息,确定所述查询时间信息对应的历史串口信息在所述串口信息存储器中的存储地址;
将所述存储地址发送至所述串口信息存储器,控制所述串口信息存储器返回所述存储地址对应的历史串口信息。
5.根据权利要求1至4任一项所述的串口信息保存方法,其特征在于,所述基于所述实时心跳信号确定所述BMC芯片的运行状态,包括:
在预设时长内未接收到所述BMC芯片发送的实时心跳信号,则确定所述BMC芯片的运行状态为异常。
6.根据权利要求1至4任一项所述的串口信息保存方法,其特征在于,所述基于所述SPI接口将所述串口信息写入所述串口信息存储器,包括:
基于所述SPI接口,采用循环写入的方式将所述串口信息写入所述串口信息存储器。
7.一种串口信息保存装置,其特征在于,所述装置与BMC芯片通过UART接口和GPIO接口连接,所述装置与串口信息存储器通过SPI接口连接,包括:
心跳监控单元,用于基于所述GPIO接口获取所述BMC芯片的实时心跳信号,并基于所述实时心跳信号确定所述BMC芯片的运行状态;
信息保存单元,用于在所述BMC芯片的运行状态为正常的情况下,基于所述UART接口获取所述BMC芯片的串口信息并基于所述SPI接口将所述串口信息写入所述串口信息存储器;在所述BMC芯片的运行状态为异常的情况下,停止将所述串口信息写入所述串口信息存储器并控制所述串口信息存储器对已写入的历史串口信息进行锁存。
8.一种服务器,其特征在于,包括控制板卡;所述控制板卡上设置有BMC芯片、CPLD芯片和串口信息存储器;
所述BMC芯片与所述CPLD芯片通过UART接口、GPIO接口和I2C接口连接,所述CPLD芯片与所述串口信息存储器通过SPI接口连接;
所述CPLD芯片执行权利要求1至6任一项所述的串口信息保存方法。
9.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行权利要求1至6任一项所述的串口信息保存方法。
10.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行权利要求1至6任一项所述的串口信息保存方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211450954.3A CN115934616A (zh) | 2022-11-18 | 2022-11-18 | 串口信息保存方法、装置、服务器、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211450954.3A CN115934616A (zh) | 2022-11-18 | 2022-11-18 | 串口信息保存方法、装置、服务器、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115934616A true CN115934616A (zh) | 2023-04-07 |
Family
ID=86554912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211450954.3A Pending CN115934616A (zh) | 2022-11-18 | 2022-11-18 | 串口信息保存方法、装置、服务器、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115934616A (zh) |
-
2022
- 2022-11-18 CN CN202211450954.3A patent/CN115934616A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9954727B2 (en) | Automatic debug information collection | |
EP2472402A1 (en) | Remote management systems and methods for mapping operating system and management controller located in a server | |
CN109143954B (zh) | 一种实现控制器复位的系统及方法 | |
CN112463689A (zh) | 一种ocp卡热插拔装置、方法及计算机可读存储介质 | |
US20030033464A1 (en) | Dedicated server management card with hot swap functionality | |
CN114116378A (zh) | 获取PCIe设备温度的方法、系统、终端及存储介质 | |
CN113672306B (zh) | 服务器组件自检异常恢复方法、装置、系统及介质 | |
CN115878356A (zh) | 磁盘故障预测方法及装置 | |
CN103778024A (zh) | 服务器系统及其讯息处理方法 | |
CN111858178B (zh) | 一种电源启动类型的判断方法、装置、设备及可读介质 | |
CN116820827B (zh) | 一种节点服务器的基板管理控制器的控制方法及其系统 | |
CN115543872A (zh) | 一种设备管理方法、装置及计算机存储介质 | |
CN115599617B (zh) | 总线检测方法、装置、服务器及电子设备 | |
CN115098342A (zh) | 系统日志收集方法、系统、终端及存储介质 | |
CN115934616A (zh) | 串口信息保存方法、装置、服务器、电子设备和存储介质 | |
CN115728665A (zh) | 一种电源故障检测电路、方法及系统 | |
CN115470056A (zh) | 服务器硬件上电启动故障排查方法、系统、装置及介质 | |
CN114253573A (zh) | PCIe设备固件批量升级方法、系统、终端及存储介质 | |
CN110647435A (zh) | 服务器、硬盘远程控制方法及控制组件 | |
CN113900890B (zh) | 服务器组件信息收集方法、装置、设备及介质 | |
CN111857576B (zh) | 一种以太网管理的存储系统 | |
CN117591458B (zh) | 一种固态硬盘热插拔管理系统及方法 | |
CN114153388B (zh) | 一种硬盘系统和硬盘配置信息刷新方法、装置及介质 | |
CN116719712B (zh) | 处理器串口日志输出方法、装置、电子设备及存储介质 | |
CN116974804A (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 |