CN117873853A - 数据记录方法、装置、电子设备及介质 - Google Patents

数据记录方法、装置、电子设备及介质 Download PDF

Info

Publication number
CN117873853A
CN117873853A CN202410282789.8A CN202410282789A CN117873853A CN 117873853 A CN117873853 A CN 117873853A CN 202410282789 A CN202410282789 A CN 202410282789A CN 117873853 A CN117873853 A CN 117873853A
Authority
CN
China
Prior art keywords
data
shared memory
management controller
baseboard management
output system
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.)
Granted
Application number
CN202410282789.8A
Other languages
English (en)
Other versions
CN117873853B (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.)
Suzhou Metabrain Intelligent Technology Co Ltd
Original Assignee
Suzhou Metabrain Intelligent Technology Co 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 Suzhou Metabrain Intelligent Technology Co Ltd filed Critical Suzhou Metabrain Intelligent Technology Co Ltd
Priority to CN202410282789.8A priority Critical patent/CN117873853B/zh
Publication of CN117873853A publication Critical patent/CN117873853A/zh
Application granted granted Critical
Publication of CN117873853B publication Critical patent/CN117873853B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4405Initialisation of multiprocessor systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明提供一种数据记录方法、装置、电子设备及介质,涉及计算机技术领域。该方法包括:将基本输入输出***和基板管理控制器分别配置为共享中央处理器下所挂载内存的预设区域形成共享内存;为所述基本输入输出***与所述基板管理控制器约定共享内存使用规则;在服务器启动的情况下,对所述共享内存进行共享通道检查以判定所述共享内存是否成功初始化;在所述共享内存初始化成功的情况下,基于所述共享内存使用规则将所述基本输入输出***收集到的与RAS功能相关数据通过所述共享内存传递给所述基板管理控制器。本发明的方案能够。本发明的方案使RAS功能相关数据记录不再受到服务器芯片架构影响及架构限制,具有通用性强、适用度高的特点。

Description

数据记录方法、装置、电子设备及介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据记录方法、装置、电子设备及介质。
背景技术
RAS的全称为Reliability, Availability and Serviceability,即将可靠性、可用性、可服务性,RAS功能是服务器***稳定运行的重要组成部分,由于服务器***需要长期稳定运行,RAS作为一个整体,其作用就在于确保整个***尽可能长期可靠的运行而不下线,并且具备足够强大的容错机制。
目前,市场上主流的服务器涉及传统的英特尔、超威半导体,但也出现了新架构的CPU厂商如安培半导体、英伟达CPU等。无论何种架构的服务器产品均需要支持RAS功能,RAS功能的核心管理及识别记录均由基本输入输出***(Basic Input Output System,简称BIOS)主动识别并进行相应的上报处理动作,业内常用的处理方式是通过基板管理控制器(Baseboard Management Controller,简称BMC)管理界面进行远程查看而不是去搜集BIOS记录的寄存器或者是***下记录的错误日志等,此时,需要BIOS将主动识别的RAS错误信息通过某种方式上报传递给BMC端,因不同架构的处理器CPU支持的通信协议不同故采取的方式也不尽相同,如英特尔和超威是采用LPC总线KCS接口进行BIOS和BMC的RAS错误信息交互,而安培和英伟达则是采用I2C方式的IPMI协议进行RAS功能的信息上报传递。无论何种方式都需要有对应的物理链路支持以实现上层软件的应用。但KSC(Keyboard ControllerStyle)方式的传递受限于次数的限制,最大可支持255个***管理中断,而***管理中断被多种情况使用导致出现用于RAS功能的***管理中断不足或者因***管理中断频繁使用导致***性能下降的问题出现。因而亟需对现有RAS类数据的记录方式进行改进。
发明内容
本发明提供一种数据记录方法、装置、电子设备及介质,用以解决现有RAS类数据记录受服务器架构影响以及降低服务器性能的缺陷。
根据本发明的第一方面,本发明提供了一种数据记录方法,所述方法包括:
将基本输入输出***和基板管理控制器分别配置为共享中央处理器下所挂载内存的预设区域形成共享内存;
为所述基本输入输出***与所述基板管理控制器约定共享内存使用规则;
在服务器启动的情况下,对所述共享内存进行共享通道检查以判定所述共享内存是否成功初始化;
在所述共享内存初始化成功的情况下,基于所述共享内存使用规则将所述基本输入输出***收集到的与RAS功能相关数据通过所述共享内存传递给所述基板管理控制器。
在一些可能的实现方式中,所述将基本输入输出***和基板管理控制器分别配置为共享中央处理器下所挂载内存的预设区域形成共享内存,包括:
将至少一个内存条通过I2C总线挂载到主板***处理器下;
将所述基本输入输出***和所述基板管理控制器分别通过预设总线连接到所述中央处理器;
将所述至少一个内存条映射给中央处理器的存储空间划分给所述基本输入输出***和所述基板管理控制器共同使用。
在一些可能的实现方式中,所述预设总线采用ESPI总线或LPC总线。
在一些可能的实现方式中,所述为所述基本输入输出***与所述基板管理控制器约定共享内存使用规则,包括:
约定所述基本输入输出***在采集到所述RAS功能相关数据后,则按照预设数据组合规则将RAS功能相关数据、基板管理控制器中断相关的数据封装成预设结构数据包后写入所述共享内存;
约定所述基板管理控制器在读取所述共享内存时按照预设数据解析规则解析预设结构数据包得到RAS功能相关数据,并通过管理界面显示。
在一些可能的实现方式中,所述在服务器启动的情况下,对所述共享内存进行共享通道检查以判定所述共享内存是否成功初始化,包括:
令所述基本输入输出***在启动阶段读取第一预设地址,得到所述基板管理控制器的启动信号、复位信号和初始化状态;
若所述基板管理控制器的启动信号、复位信号和BMC初始化状态均等于各自对应的预设值,则判定所述共享内存初始化成功;
若所述基板管理控制器的启动信号、复位信号和BMC初始化状态中的任意一个不等于对应的预设值,则判定所述共享内存初始化失败。
在一些可能的实现方式中,所述在服务器启动的情况下,对所述共享内存进行共享通道检查以判定所述共享内存是否成功初始化,包括:
令所述基板管理控制器在启动阶段读取第二预设地址,得到所述基本输入输出***的启动信号、复位信号和初始化状态;
若所述基本输入输出***的启动信号、复位信号和初始化状态均等于各自对应的预设值,则判定所述共享内存初始化成功;
若所述基本输入输出***的启动信号、复位信号和初始化状态中的任意一个不等于对应的预设值,则判定所述共享内存初始化失败。
在一些可能的实现方式中,所述基于所述共享内存使用规则将所述基本输入输出***收集到的与RAS功能相关数据通过所述共享内存传递给所述基板管理控制器,包括:
令所述基本输入输出***从所述共享内存的缓存中获取与所述基板管理控制器中断相关数据的数据包,并判断所述数据包是否为空;
响应于数据包不为空时,则令所述基板管理控制器通过所述共享内存获取所述基本输入输出***按照约定传递的预设结构数据包,并按照约定对预设结构数据包进行解析得到RAS功能相关数据后再通过管理界面显示;
响应于数据包为空时,则令所述基本输入输出***等待中断相关的数据包。
在一些可能的实现方式中,所述共享内存的缓存包括:第一缓存和第二缓存,所述第一缓存用于缓存基板管理控制器发送的数据,所述第二缓存用于缓存基板管理控制器接收的数据。
在一些可能的实现方式中,所述方法还包括:
对所述基本输入输出***等待中断相关的数据包的时间进行统计,得到等待时间;
在所述等待时间超过预设时间的情况下,则令服务器跳过基本输入输出***与基板管理控制器交互RAS功能相关数据的流程并继续执行启动流程。
在一些可能的实现方式中,所述方法还包括:
在所述共享内存初始化失败的情况下,则令服务器跳过基本输入输出***与基板管理控制器交互RAS功能相关数据的流程并继续执行启动流程。
在一些可能的实现方式中,所述RAS功能相关数据包括RAS类错误信息及位置信息。
在一些可能的实现方式中,所述预设结构数据包至少包括以下信息:定义标志、定义版本、交互数量、下一个数据地址、第一缓存的数据地址、第二缓存的数据地址、第一缓存的数据长度、第二缓存的数据长度、缓存类型、缓存类型目标、基本输入输出***读数据、基本输入输出***写数据、消息协议类型、基本输入输出***中断类型、全局***输入数据、基板管理控制器中断类型、基板管理控制器中断地址、基板管理控制器中断值、数据校验值。
根据本发明的第二方面,本发明还提供了一种数据记录装置,所述装置包括:
配置模块,所述配置模块用于将基本输入输出***和基板管理控制器分别配置为共享中央处理器下所挂载内存的预设区域形成共享内存;
约定模块,所述约定模块用于为所述基本输入输出***与所述基板管理控制器约定共享内存使用规则;
检查模块,所述检查模块用于在服务器启动的情况下,对所述共享内存进行共享通道检查以判定所述共享内存是否成功初始化;
传递模块,所述传递模块用于在所述共享内存初始化成功的情况下,基于所述共享内存使用规则将所述基本输入输出***收集到的与RAS功能相关数据通过所述共享内存传递给所述基板管理控制器。
根据本发明的第三方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述数据记录方法。
根据本发明的第四方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述数据记录方法。
本发明提供的一种数据记录方法,通过先将基本输入输出***和基板管理控制器配置为共享中央处理器下所挂载内存,然后为二者对共享内存的使用约定了共享内存使用规则,在服务器启动时通过共享通道检查判定共享内存是否成功初始化,最后当共享内存成功初始化时借助所约定的共享内存使用规则实现将基本输入输出***收集到的与RAS功能相关数据通过传递给基板管理控制器,不仅丰富了RAS类数据的记录方式,而且使RAS功能相关数据记录不再受到服务器芯片架构影响及架构限制,具有通用性强、适用度高的特点。
此外,本发明提供的一种数据记录装置、一种电子设备和一种非暂态计算机可读存储介质,同样能实现上述技术效果,这里不再赘述。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的数据记录方法的流程示意图之一;
图2是本发明提供的服务器主板物理拓扑结构整体示意图;
图3是本发明提供的数据记录方法的流程示意图之二;
图4是本法发明提供的与图3的数据记录方流程对应的泳道图;
图5是本发明提供的MMBI共享内存交互数据示意图;
图6为本发明提供的MMBI共享内存数据交互流程示意图;
图7为本发明提供的数据记录装置结构示意图;
图8是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了便于理解,首先针对本申请实施例所提及的专业术语进行如下说明:
BIOS:Basic Input Output System,基本输入输出***;保存着计算机最重要的基本输入输出的程序、***设置信息、开机后自检程序和***自启动程序;
BMC:Baseboard Management Controller,基板管理控制器,是服务器带外管理的核心部件;
I2C:Inter-Integrated Circuit,I2C总线;
CPU:Central Processing Unit,中央处理器,简称CPU;
GPIO:General-purpose input/output,通用型之输入输出的简称;
IPMI:Intelligent Platform Management Interface,智能平台管理接口;
LPC:Low pin count,低速总线协议,是基于 Intel 标准的 33 MHz 4 bit 并行总线协议;
KCS:Keyboard Controller Style (KCS) Interface,KCS接口;
MMBI:Memory-Mapped BMC Interface,BIOS和BMC之间进行数据包交换的共享内存区域;
H2B:Host to BMC,即Host到BMC方向发送数据通信;
B2H:BMC to Host,即BMC到Host方向发送数据通信;
RAS:Reliability, Availability, and Serviceability,可靠性、可用性、可服务性;
ESPI:Enhanced Serial Peripheral Interface,ESPI总线是一种高性能、高可靠性的总线标准,用于连接计算机***中的各种设备和传感器,它采用点对点通信模型,支持高速数据传输和DMA方式的数据传输,同时具有完善的通信协议。
下面结合图1至图8描述本发明的一种数据记录方法、一种数据记录装置、一种电子设备及一种非暂态计算机可读存储介质。
图1是本发明提供的数据记录方法的流程示意图之一,请参照图1所示,本实施例提供了一种数据记录方法,该方法可以通过步骤S101至步骤S104实现,下面将结合每个步骤进行详细说明:
步骤S101,将基本输入输出***和基板管理控制器分别配置为共享中央处理器下所挂载内存的预设区域形成共享内存。
在本实施例中,内存通过任意现总线挂载到中央处理器下,配置共享内存可以先将基本输入输出***和基板管理控制器连接到主板上的中央处理器,然后再通过中央处理器操作内存,从而实现内存共享。预设区域指的是内存中指定大小的存储区域,该预设区域即可以是一段连续的地址构成的存储区域,也可以是多段间隔的地址构成的存储区域。
步骤S102,为所述基本输入输出***与所述基板管理控制器约定共享内存使用规则。
在本实施例中,共享内存使用规则即基本输入输出***与基板管理控制器通过特定格式的数据包实现交互数据,根据所约定的内存使用规则基本输入输出***与基板管理控制器能够将数据按照一定的规则实现互相传递,并且基板管理控制器还能够能按照一定的规则解析所传递的数据。
步骤S103,在服务器启动的情况下,对所述共享内存进行共享通道检查以判定所述共享内存是否成功初始化。
在本实施例中,共享通道指的是基本输入输出***和基板管理控制器分别到共享内存的数据通信通道,相应的共享通道检查即检查基本输入输出***到共享内存的数据通道,以及检查基板管理控制器分到共享内存的数据通信通道。由于共享内存配置完成后,初始化共享内存后共享通道应当是存在的,因而可以根共享通道的检查结果指示共享内存初始化状态。其中,如果检查到共享通道被检查到存在,那么可以认为共享内存初始化成功,如果检查到共享通道被检查到不存在,那么可以认为共享内存初始化失败。
步骤S104,在所述共享内存初始化成功的情况下,基于所述共享内存使用规则将所述基本输入输出***收集到的与RAS功能相关数据通过所述共享内存传递给所述基板管理控制器。优选的,所述RAS功能相关数据包括RAS类错误信息及位置信息。
示例性的,对于共享内存初始化成功的情形,利用基本输入输出***和基板管理控制器预先约定的内存使用规则,通过基板管理控制器端、基本输入输出***端设定数据包及数据包内各个偏移地址对应的参数意义进行交互,基本输入输出***将RAS类的相关数据按照约定规则进行组合并传递给基板管理控制器,基板管理控制器通过接收的数据按照约定的规则进行解析并在基板管理控制器的管理界面进行显示。
本实施例的一种数据记录方法,通过先将基本输入输出***和基板管理控制器配置为共享中央处理器下所挂载内存,然后为二者对共享内存的使用约定了共享内存使用规则,在服务器启动时通过共享通道检查判定共享内存是否成功初始化,最后当共享内存成功初始化时借助所约定的共享内存使用规则实现将基本输入输出***收集到的与RAS功能相关数据通过传递给基板管理控制器,不仅丰富了RAS类数据的记录方式,而且使RAS功能相关数据记录不再受到服务器芯片架构影响及架构限制,具有通用性强、适用度高的特点。
在一些可能的实现方式中,请参照图2所示,前述步骤S104,将基本输入输出***和基板管理控制器分别配置为共享中央处理器下所挂载内存的预设区域形成共享内存,具体包括一下步骤:
将至少一个内存条通过I2C总线挂载到主板***处理器下;
将所述基本输入输出***和所述基板管理控制器分别通过预设总线连接到所述中央处理器;
将所述至少一个内存条映射给中央处理器的存储空间划分给所述基本输入输出***和所述基板管理控制器共同使用。
在一些可能的实现方式中,所述预设总线采用ESPI总线或LPC总线。
本实施例的数据记录方法,基于主板服务器硬件物理链路链接设计,采用基本输入输出***和基板管理控制器通过ESPI总线或LPC总线共享内存通道,对大部分的服务器架构均适用,所构建的共享内存通道能够用户基本输入输出***和基板管理控制器传输各自的数据,为二者实现后续数据交互做准备。
在一些可能的实现方式中,前步骤S102,为所述基本输入输出***与所述基板管理控制器约定共享内存使用规则,具体包括:
约定所述基本输入输出***在采集到所述RAS功能相关数据后,则按照预设数据组合规则将RAS功能相关数据、基板管理控制器中断相关的数据封装成预设结构数据包后写入所述共享内存;
约定所述基板管理控制器在读取所述共享内存时按照预设数据解析规则解析预设结构数据包得到RAS功能相关数据,并通过管理界面显示。
本实施例的数据记录方法,分别为基本输入输出***和基板管理控制器约定对共享内存的使用规则,经过约定后基本输入输出***和基板管理控制器能够借助预设结构数据包协作配合完成RAS功能相关数据记录与传递。
在一些可能的实现方式中,请参照图3,前述步骤S103,在服务器启动的情况下,对所述共享内存进行共享通道检查以判定所述共享内存是否成功初始化,具体包括:
令所述基本输入输出***在启动阶段读取第一预设地址,得到所述基板管理控制器的启动信号、复位信号和初始化状态;
若所述基板管理控制器的启动信号、复位信号和BMC初始化状态均等于各自对应的预设值,则判定所述共享内存初始化成功;
若所述基板管理控制器的启动信号、复位信号和BMC初始化状态中的任意一个不等于对应的预设值,则判定所述共享内存初始化失败。
本实施例的数据记录方法,利用基本输入输出***检查基板管理控制器的启动信号、BMC初始化信号、复位信号是否符合条件,从而实现了对自动判断共享内存MMBI区域是否可用,整个过程无需借助人工,具有较好的稳定性和准确性。
在一些可能的实现方式中,请再次参照图3,前述步骤S103,在服务器启动的情况下,对所述共享内存进行共享通道检查以判定所述共享内存是否成功初始化,具体包括:
令所述基板管理控制器在启动阶段读取第二预设地址,得到所述基本输入输出***的启动信号、复位信号和初始化状态;
若所述基本输入输出***的启动信号、复位信号和初始化状态均等于各自对应的预设值,则判定所述共享内存初始化成功;
若所述基本输入输出***的启动信号、复位信号和初始化状态中的任意一个不等于对应的预设值,则判定所述共享内存初始化失败。
本实施例的数据记录方法,利用基板管理控制器检查基本输入输出***的启动信号、BMC初始化信号、复位信号是否符合条件,从而实现了对自动判断共享内存MMBI区域是否可用,整个过程无需借助人工,具有较好的稳定性和准确性。
在一些可能的实现方式中,请参照图4所示,前述步骤S104中的基于所述共享内存使用规则将所述基本输入输出***收集到的与RAS功能相关数据通过所述共享内存传递给所述基板管理控制器,具体包括:
令所述基本输入输出***从所述共享内存的缓存中获取与所述基板管理控制器中断相关数据的数据包,并判断所述数据包是否为空;
响应于数据包不为空时,则令所述基板管理控制器通过所述共享内存获取所述基本输入输出***按照约定传递的预设结构数据包,并按照约定对预设结构数据包进行解析得到RAS功能相关数据后再通过管理界面显示;
响应于数据包为空时,则令所述基本输入输出***等待中断相关的数据包。
在一些可能的实现方式中,请参照图5和图6所示,所述共享内存的缓存包括:第一缓存和第二缓存,所述第一缓存用于缓存基板管理控制器发送的数据(即B2H),所述第二缓存用于缓存基板管理控制器接收的数据(即H2B)。
本实施例的数据记录方法,将服务器RAS功能相关的数据按照基本输入输出***端与基板管理控制器端的数据格式进行收集并组合,通过H2B及B2H方式进行数据交互,使得基板管理控制器和基本输入输出***的交互数据能够有序通过特定缓存进行处理,有助于提升数据记录效率。
在一些可能的实现方式中,所述方法还包括:
对所述基本输入输出***等待中断相关的数据包的时间进行统计,得到等待时间;
在所述等待时间超过预设时间的情况下,则令服务器跳过基本输入输出***与基板管理控制器交互RAS功能相关数据的流程并继续执行启动流程。
本实施例的数据记录方法,对于基本输入输出***与基板管理控制器交互过程中数据交互异常的情形,通过设定等待时间避免基本输入输出***进入无限等待的情形,避免影响服务器的启动。
在一些可能的实现方式中,所述方法还包括:
在所述共享内存初始化失败的情况下,则令服务器跳过基本输入输出***与基板管理控制器交互RAS功能相关数据的流程并继续执行启动流程。
本实施例的数据记录方法,对于共享内存初始化失败的情形,通过跳过基本输入输出***与基板管理控制器交互RAS功能相关数据的流程并继续执行启动流程,能够提升服务器运行稳定性。
在一些可能的实现方式中,所述预设结构数据包至少包括以下信息:定义标志、定义版本、交互数量、下一个数据地址、第一缓存的数据地址、第二缓存的数据地址、第一缓存的数据长度、第二缓存的数据长度、缓存类型、缓存类型目标、基本输入输出***读数据、基本输入输出***写数据、消息协议类型、基本输入输出***中断类型、全局***输入数据、基板管理控制器中断类型、基板管理控制器中断地址、基板管理控制器中断值、数据校验值。示例性的,预设结构数据包中所包括的数据信息可参照表1。
表1 共享内存MMBI参数定义
在又一个实施例中,为了便于理解本发明的方案,请再次参照图3和图4所示,本实施例提供了又一种数据记录方法,该方法的实现原理为:忽略服务器芯片架构影响及架构限制,采用BIOS与BMC通过主板物理硬件支持的EPSI总线,在服务器启动时BIOS与BMC通过ESPI总线共享固定内存区域,通过BMC端、BIOS端设定数据包及数据包内各个偏移地址对应的参数意义进行交互,BIOS将RAS类的相关数据按照约定规则进行组合并传递给BMC,BMC通过接收的数据按照约定的规则进行解析并在BMC界面进行显示即可。
BIOS和BMC的交互数据包按照定义标志、定义版本、交互数量、下一个数据地址、B2H数据地址、H2B数据地址、B2H数据长度、H2B数据长度、缓存类型、缓存类型目标、BIOS读数据、BIOS端写数据、消息协议类型、BIOS端中断类型、全局***输入数据、BMC端中断类型、BMC端中断地址、BMC端中断值、数据校验值等多个参数定义的数据包结构体。
具体实现过程如下:
首先,服务器主板通过ESPI总线连接BIOS芯片,通过ESPI总线连接BMC芯片;
接着,服务器启动时,BIOS在启动阶段通过MMBI目标地址获取MMBI能力描述地址中的启动邢华为1且复位信号为0且BMC初始化完成,当上述条件满足时MMBI区域通道是存在的;若 BIOS在启动阶段通过MMBI目标地址获取MMBI能力描述地址中的启动信号为1且复位信号为0且BMC初始化完成的任意一个不为真,则MMBI区域通道是不存在的且反馈错误状态;
接着,获取MMBI内存区域通道中的缓存寄存器中的数据包,对数据包进行数据判断是否为空;
接着,当获取的数据包数据为空时,设置请求信号为1并等待从BMC获取数据,当数据完成从BMC传递到BIOS端后将请求信号设置为0即可;
最后,当获取的数据包数据为非空时即存在数据,将数据包的数据按照与BMC端约定的格式进行填写,数据包括但不限于RAS类错误信息及位置信息等,完成数据包数据写入后通过MMBI区域将BIOS的RAS类信息传递给BMC端,BMC端根据约定的格式进行解析并将相关数据进行BMC界面显示,便于使用人员实时查看RAS错误信息记录。
本实施例的数据记录方法,通过结合主板硬件设计将BIOS和BMC两个固件通过ESPI总线进行物理链接,通过MMBI内存映射的共享区域进行数据交互,将BIOS的RAS类错误信息按照BIOS和BMC双方约定的数据格式进行组合,当MMBI共享内存通道存在且符合通信的前提下将BIOS记录的RAS错误信息传递给BMC进行解析并显示在BMC界面,同时,利用此MMBI共享内存通道可以将BMC端收集的***通过MMBI共享内存通道反向传递给BIOS,BIOS同样按照约定的格式将传递的数据进行解析并记录到BIOS功能中,采用此方案可以将BIOS和BMC需要交互的信息通过MMBI进行有效传递及更新,保证了BIOS和BMC端的信息同步。同时,本发明可满足客户数据中心的实际业务需求且只需考虑支持ESPI总线的任何架构服务器即可,通用性强,适用度高。
下面对本发明提供的数据记录装置进行描述,下文描述的数据记录装置与上文描述的数据记录方法可相互对应参照。
请参照图7所示,本实施例提供了一种数据记录装置,具体来说该装置包括:配置模块710、约定模块720、检查模块730和传递模块740,下面将以上各模块进行详细说明:
配置模块710,所述配置模块710用于将基本输入输出***和基板管理控制器分别配置为共享中央处理器下所挂载内存的预设区域形成共享内存;
约定模块720,所述约定模块720用于为所述基本输入输出***与所述基板管理控制器约定共享内存使用规则;
检查模块730,所述检查模块730用于在服务器启动的情况下,对所述共享内存进行共享通道检查以判定所述共享内存是否成功初始化;
传递模块740,所述传递模块740用于在所述共享内存初始化成功的情况下,基于所述共享内存使用规则将所述基本输入输出***收集到的与RAS功能相关数据通过所述共享内存传递给所述基板管理控制器。
本实施例的数据记录装置,通过先将基本输入输出***和基板管理控制器配置为共享中央处理器下所挂载内存,然后为二者对共享内存的使用约定了共享内存使用规则,在服务器启动时通过共享通道检查判定共享内存是否成功初始化,最后当共享内存成功初始化时借助所约定的共享内存使用规则实现将基本输入输出***收集到的与RAS功能相关数据通过传递给基板管理控制器,不仅丰富了RAS类数据的记录方式,而且使RAS功能相关数据记录不再受到服务器芯片架构影响及架构限制,具有通用性强、适用度高的特点。
在一些可能的实现方式中,所述配置模块710进一步用于:
将至少一个内存条通过I2C总线挂载到主板***处理器下;
将所述基本输入输出***和所述基板管理控制器分别通过预设总线连接到所述中央处理器;
将所述至少一个内存条映射给中央处理器的存储空间划分给所述基本输入输出***和所述基板管理控制器共同使用。
在一些可能的实现方式中,所述预设总线采用ESPI总线或LPC总线。
在一些可能的实现方式中,所述约定模块720进一步用于:
约定所述基本输入输出***在采集到所述RAS功能相关数据后,则按照预设数据组合规则将RAS功能相关数据、基板管理控制器中断相关的数据封装成预设结构数据包后写入所述共享内存;
约定所述基板管理控制器在读取所述共享内存时按照预设数据解析规则解析预设结构数据包得到RAS功能相关数据,并通过管理界面显示。
在一些可能的实现方式中,所述检查模块730进一步用于:
令所述基本输入输出***在启动阶段读取第一预设地址,得到所述基板管理控制器的启动信号、复位信号和初始化状态;
若所述基板管理控制器的启动信号、复位信号和BMC初始化状态均等于各自对应的预设值,则判定所述共享内存初始化成功;
若所述基板管理控制器的启动信号、复位信号和BMC初始化状态中的任意一个不等于对应的预设值,则判定所述共享内存初始化失败。
在一些可能的实现方式中,所述检查模块730进一步用于:
令所述基板管理控制器在启动阶段读取第二预设地址,得到所述基本输入输出***的启动信号、复位信号和初始化状态;
若所述基本输入输出***的启动信号、复位信号和初始化状态均等于各自对应的预设值,则判定所述共享内存初始化成功;
若所述基本输入输出***的启动信号、复位信号和初始化状态中的任意一个不等于对应的预设值,则判定所述共享内存初始化失败。
在一些可能的实现方式中,所述传递模块740进一步用于:
令所述基本输入输出***从所述共享内存的缓存中获取与所述基板管理控制器中断相关数据的数据包,并判断所述数据包是否为空;
响应于数据包不为空时,则令所述基板管理控制器通过所述共享内存获取所述基本输入输出***按照约定传递的预设结构数据包,并按照约定对预设结构数据包进行解析得到RAS功能相关数据后再通过管理界面显示;
响应于数据包为空时,则令所述基本输入输出***等待中断相关的数据包。
在一些可能的实现方式中,所述共享内存的缓存包括:第一缓存和第二缓存,所述第一缓存用于缓存基板管理控制器发送的数据,所述第二缓存用于缓存基板管理控制器接收的数据。
在一些可能的实现方式中,所述装置还包括第一启动恢复模块,所述第一启动恢复模块用于:
对所述基本输入输出***等待中断相关的数据包的时间进行统计,得到等待时间;
在所述等待时间超过预设时间的情况下,则令服务器跳过基本输入输出***与基板管理控制器交互RAS功能相关数据的流程并继续执行启动流程。
在一些可能的实现方式中,所述装置还包括第一启动恢复模块,所述第二启动恢复模块用于:
在所述共享内存初始化失败的情况下,则令服务器跳过基本输入输出***与基板管理控制器交互RAS功能相关数据的流程并继续执行启动流程。
在一些可能的实现方式中,所述RAS功能相关数据包括RAS类错误信息及位置信息。
在一些可能的实现方式中,所述预设结构数据包至少包括以下信息:定义标志、定义版本、交互数量、下一个数据地址、第一缓存的数据地址、第二缓存的数据地址、第一缓存的数据长度、第二缓存的数据长度、缓存类型、缓存类型目标、基本输入输出***读数据、基本输入输出***写数据、消息协议类型、基本输入输出***中断类型、全局***输入数据、基板管理控制器中断类型、基板管理控制器中断地址、基板管理控制器中断值、数据校验值。
需要说明的是,上述数据记录装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于电子设备中的处理器中,也可以以软件形式存储于电子设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
图8示例了一种电子设备的实体结构示意图,如图8所示,该电子设备可以包括:处理器(processor)810、通信接口(Communications Interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行数据记录方法,该方法包括:将基本输入输出***和基板管理控制器分别配置为共享中央处理器下所挂载内存的预设区域形成共享内存;为所述基本输入输出***与所述基板管理控制器约定共享内存使用规则;在服务器启动的情况下,对所述共享内存进行共享通道检查以判定所述共享内存是否成功初始化;在所述共享内存初始化成功的情况下,基于所述共享内存使用规则将所述基本输入输出***收集到的与RAS功能相关数据通过所述共享内存传递给所述基板管理控制器。
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的数据记录方法,该方法包括:将基本输入输出***和基板管理控制器分别配置为共享中央处理器下所挂载内存的预设区域形成共享内存;为所述基本输入输出***与所述基板管理控制器约定共享内存使用规则;在服务器启动的情况下,对所述共享内存进行共享通道检查以判定所述共享内存是否成功初始化;在所述共享内存初始化成功的情况下,基于所述共享内存使用规则将所述基本输入输出***收集到的与RAS功能相关数据通过所述共享内存传递给所述基板管理控制器。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的数据记录方法,该方法包括:将基本输入输出***和基板管理控制器分别配置为共享中央处理器下所挂载内存的预设区域形成共享内存;为所述基本输入输出***与所述基板管理控制器约定共享内存使用规则;在服务器启动的情况下,对所述共享内存进行共享通道检查以判定所述共享内存是否成功初始化;在所述共享内存初始化成功的情况下,基于所述共享内存使用规则将所述基本输入输出***收集到的与RAS功能相关数据通过所述共享内存传递给所述基板管理控制器。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (15)

1.一种数据记录方法,其特征在于,所述方法包括:
将基本输入输出***和基板管理控制器分别配置为共享中央处理器下所挂载内存的预设区域形成共享内存;
为所述基本输入输出***与所述基板管理控制器约定共享内存使用规则;
在服务器启动的情况下,对所述共享内存进行共享通道检查以判定所述共享内存是否成功初始化;
在所述共享内存初始化成功的情况下,基于所述共享内存使用规则将所述基本输入输出***收集到的与RAS功能相关数据通过所述共享内存传递给所述基板管理控制器。
2.根据权利要求1所述的数据记录方法,其特征在于,所述将基本输入输出***和基板管理控制器分别配置为共享中央处理器下所挂载内存的预设区域形成共享内存,包括:
将至少一个内存条通过I2C总线挂载到主板***处理器下;
将所述基本输入输出***和所述基板管理控制器分别通过预设总线连接到所述中央处理器;
将所述至少一个内存条映射给中央处理器的存储空间划分给所述基本输入输出***和所述基板管理控制器共同使用。
3.根据权利要求2所述的数据记录方法,其特征在于,所述预设总线采用ESPI总线或LPC总线。
4.根据权利要求1所述的数据记录方法,其特征在于,所述为所述基本输入输出***与所述基板管理控制器约定共享内存使用规则,包括:
约定所述基本输入输出***在采集到所述RAS功能相关数据后,则按照预设数据组合规则将RAS功能相关数据、基板管理控制器中断相关的数据封装成预设结构数据包后写入所述共享内存;
约定所述基板管理控制器在读取所述共享内存时按照预设数据解析规则解析预设结构数据包得到RAS功能相关数据,并通过管理界面显示。
5.根据权利要求1所述的数据记录方法,其特征在于,所述在服务器启动的情况下,对所述共享内存进行共享通道检查以判定所述共享内存是否成功初始化,包括:
令所述基本输入输出***在启动阶段读取第一预设地址,得到所述基板管理控制器的启动信号、复位信号和初始化状态;
若所述基板管理控制器的启动信号、复位信号和BMC初始化状态均等于各自对应的预设值,则判定所述共享内存初始化成功;
若所述基板管理控制器的启动信号、复位信号和BMC初始化状态中的任意一个不等于对应的预设值,则判定所述共享内存初始化失败。
6.根据权利要求1所述的数据记录方法,其特征在于,所述在服务器启动的情况下,对所述共享内存进行共享通道检查以判定所述共享内存是否成功初始化,包括:
令所述基板管理控制器在启动阶段读取第二预设地址,得到所述基本输入输出***的启动信号、复位信号和初始化状态;
若所述基本输入输出***的启动信号、复位信号和初始化状态均等于各自对应的预设值,则判定所述共享内存初始化成功;
若所述基本输入输出***的启动信号、复位信号和初始化状态中的任意一个不等于对应的预设值,则判定所述共享内存初始化失败。
7.根据权利要求4所述的数据记录方法,其特征在于,所述基于所述共享内存使用规则将所述基本输入输出***收集到的与RAS功能相关数据通过所述共享内存传递给所述基板管理控制器,包括:
令所述基本输入输出***从所述共享内存的缓存中获取与所述基板管理控制器中断相关数据的数据包,并判断所述数据包是否为空;
响应于数据包不为空时,则令所述基板管理控制器通过所述共享内存获取所述基本输入输出***按照约定传递的预设结构数据包,并按照约定对预设结构数据包进行解析得到RAS功能相关数据后再通过管理界面显示;
响应于数据包为空时,则令所述基本输入输出***等待中断相关的数据包。
8.根据权利要求7所述的数据记录方法,其特征在于,所述共享内存的缓存包括:第一缓存和第二缓存,所述第一缓存用于缓存基板管理控制器发送的数据,所述第二缓存用于缓存基板管理控制器接收的数据。
9.根据权利要求7所述的数据记录方法,其特征在于,所述方法还包括:
对所述基本输入输出***等待中断相关的数据包的时间进行统计,得到等待时间;
在所述等待时间超过预设时间的情况下,则令服务器跳过基本输入输出***与基板管理控制器交互RAS功能相关数据的流程并继续执行启动流程。
10.根据权利要求1所述的数据记录方法,其特征在于,所述方法还包括:
在所述共享内存初始化失败的情况下,则令服务器跳过基本输入输出***与基板管理控制器交互RAS功能相关数据的流程并继续执行启动流程。
11.根据权利要求1所述的数据记录方法,其特征在于,所述RAS功能相关数据包括RAS类错误信息及位置信息。
12.根据权利要求4所述的数据记录方法,其特征在于,所述预设结构数据包至少包括以下信息:定义标志、定义版本、交互数量、下一个数据地址、第一缓存的数据地址、第二缓存的数据地址、第一缓存的数据长度、第二缓存的数据长度、缓存类型、缓存类型目标、基本输入输出***读数据、基本输入输出***写数据、消息协议类型、基本输入输出***中断类型、全局***输入数据、基板管理控制器中断类型、基板管理控制器中断地址、基板管理控制器中断值、数据校验值。
13.一种数据记录装置,其特征在于,所述装置包括:
配置模块,所述配置模块用于将基本输入输出***和基板管理控制器分别配置为共享中央处理器下所挂载内存的预设区域形成共享内存;
约定模块,所述约定模块用于为所述基本输入输出***与所述基板管理控制器约定共享内存使用规则;
检查模块,所述检查模块用于在服务器启动的情况下,对所述共享内存进行共享通道检查以判定所述共享内存是否成功初始化;
传递模块,所述传递模块用于在所述共享内存初始化成功的情况下,基于所述共享内存使用规则将所述基本输入输出***收集到的与RAS功能相关数据通过所述共享内存传递给所述基板管理控制器。
14.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至12任一项所述数据记录方法。
15.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至12任一项所述数据记录方法。
CN202410282789.8A 2024-03-13 2024-03-13 数据记录方法、装置、电子设备及介质 Active CN117873853B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410282789.8A CN117873853B (zh) 2024-03-13 2024-03-13 数据记录方法、装置、电子设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410282789.8A CN117873853B (zh) 2024-03-13 2024-03-13 数据记录方法、装置、电子设备及介质

Publications (2)

Publication Number Publication Date
CN117873853A true CN117873853A (zh) 2024-04-12
CN117873853B CN117873853B (zh) 2024-05-28

Family

ID=90590434

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410282789.8A Active CN117873853B (zh) 2024-03-13 2024-03-13 数据记录方法、装置、电子设备及介质

Country Status (1)

Country Link
CN (1) CN117873853B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113076213A (zh) * 2021-03-30 2021-07-06 山东英信计算机技术有限公司 一种优化***管理中断处理硬件错误时间的方法及***
CN115934447A (zh) * 2022-12-27 2023-04-07 苏州浪潮智能科技有限公司 显示信息获取方法、装置、电子设备和存储介质
CN116991606A (zh) * 2023-09-25 2023-11-03 苏州元脑智能科技有限公司 基板管理控制器、基本输入输出***的处理方法和装置
CN117687695A (zh) * 2023-10-31 2024-03-12 苏州元脑智能科技有限公司 信息处理方法、装置、电子设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113076213A (zh) * 2021-03-30 2021-07-06 山东英信计算机技术有限公司 一种优化***管理中断处理硬件错误时间的方法及***
CN115934447A (zh) * 2022-12-27 2023-04-07 苏州浪潮智能科技有限公司 显示信息获取方法、装置、电子设备和存储介质
CN116991606A (zh) * 2023-09-25 2023-11-03 苏州元脑智能科技有限公司 基板管理控制器、基本输入输出***的处理方法和装置
CN117687695A (zh) * 2023-10-31 2024-03-12 苏州元脑智能科技有限公司 信息处理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN117873853B (zh) 2024-05-28

Similar Documents

Publication Publication Date Title
WO2019095655A1 (zh) 一种数据交互方法和计算设备
US10102170B2 (en) System and method for providing input/output functionality by an I/O complex switch
US9448870B2 (en) Providing error handling support to legacy devices
US9952963B2 (en) System on chip and corresponding monitoring method
US20160132447A1 (en) Aggregating completion messages in a sideband interface
CN105868149B (zh) 一种串口信息的传输方法和装置
US10936048B2 (en) System, apparatus and method for bulk register accesses in a processor
US20060288098A1 (en) Peripheral interface alert message for downstream device
US9342393B2 (en) Early fabric error forwarding
US11960350B2 (en) System and method for error reporting and handling
US20080177912A1 (en) Semiconductor integrated circuit and data processing system
US12001353B2 (en) System, apparatus and method for synchronizing multiple virtual link states over a package interconnect
WO2023121775A1 (en) System, method, apparatus and architecture for dynamically configuring device fabrics
WO2024139423A1 (zh) 故障检测方法及计算机设备
WO2014000299A1 (zh) 串口重定向处理方法、设备和***
CN117873853B (zh) 数据记录方法、装置、电子设备及介质
US9639076B2 (en) Switch device, information processing device, and control method of information processing device
WO2023206963A1 (zh) 一种数据处理方法、***及相关组件
WO2024016864A1 (zh) 处理器、获取信息的方法、单板及网络设备
US20220050139A1 (en) System, apparatus and method for communicating debug messages on a sideband of a serial link according to a debug type messaging protocol
US20040221050A1 (en) Direct TCP/IP communication method and system for coupling to a CPU/Memory complex
CN115686896A (zh) 扩展内存错误处理方法、***、电子设备及存储介质
WO2003014917A1 (en) A universal driver apparatus and method
CN116915712A (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