Business interaction system, method, storage medium, and electronic device

By deploying a fast-start first operating system in the substrate management controller of a multi-core processor and deploying interactive services on the operating system, the problem of slow BMC startup speed resulting in slow BIOS startup speed is solved, and the BIOS is improved The effect of startup speed.

CN118860507BActive Publication Date: 2025-02-07SHANDONG YUNHAI GUOCHUANG CLOUD COMPUTING EQUIP IND INNOVATION CENT CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411325799.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-09-23
Publication Date
2025-02-07
Estimated Expiration
2044-09-23

AI Technical Summary

Technical Problem

When the substrate management controller BMC and the basic input and output system BIOS are started simultaneously, the startup speed of the BMC is slower than that of the BIOS and the startup of the BIOS needs to interact with the BMC, the startup speed of the BIOS is severely slowed down.

Method used

The substrate management controller employing a multi-core processor, by deploying a first operating system that can be quickly started at a target startup speed on the first processing core, and deploying a first service for interacting with the basic input and output system at the first On the operating system.

Benefits of technology

When the basic input and output system is started to a situation where interaction with the substrate management controller is required, the first operating system has been started, thereby avoiding delayed waiting and increasing the startup speed of the BIOS.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118860507B_ABST
    Figure CN118860507B_ABST
Patent Text Reader

Abstract

The embodiment of the present application provides a business interaction system, method, storage medium, and electronic device, wherein the system includes: a basic input / output system, a baseboard management controller connected to the basic input / output system, the baseboard management controller adopts a multi-core processor; the first processing core in the multi-core processor runs a first operating system, the second processing core in the multi-core processor runs a second operating system, the first operating system allows startup according to a target startup speed, and the target startup speed is greater than a first threshold; the first business in the baseboard management controller runs in the first operating system; the first business is a business for interacting with the basic input / output system during the startup of the basic input / output system. Therefore, the problem that the startup speed of the BIOS is seriously slowed down because the startup speed of the BMC is slower than that of the BIOS and the startup of the BIOS needs to interact with the BMC can be solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of server technology, and more specifically, to a business interaction system, method, storage medium, and electronic device. Background Art

[0002] With the popularization of artificial intelligence, Internet of Things, and big data applications, the demand for servers is also increasing. The basic input output system (BIOS) and baseboard management controller (BMC) play a very important role in the server. BIOS initializes the core hardware devices such as the central processing unit (CPU) on the motherboard, initializes the functions of peripheral interface devices such as the high-speed serial computer expansion bus standard (PCIE) and the universal serial bus (USB), and guides the operating system to start. BMC is mainly responsible for the management and monitoring of server hardware. In one scenario, when the user powers on the BMC and BIOS at the same time, the BMC and BIOS will start at the same time. The BMC operating system basically uses the Linux system, and the startup speed is slower than that of the BIOS. The startup process of the BIOS system needs to interact with the BMC through the Intelligent Platform Management Interface (IPMI) command. If the IPMI protocol stack of the BMC has not been started, the BIOS needs to wait for a period of time after sending each IPMI command to the BMC. The next process will be continued after the maximum timeout time set by the system has exceeded. During the BIOS startup process, hundreds of IPMI commands will be sent to interact with the BMC, which will seriously affect the startup speed of the BIOS.

[0003] Regarding the related art, when the baseboard management controller BMC and the basic input and output system BIOS are started at the same time, the problem that the startup speed of the BIOS is seriously slowed down because the startup speed of the BMC is slower than that of the BIOS and the startup of the BIOS needs to interact with the BMC has not yet been effectively solved. Summary of the invention

[0004] The embodiments of the present application provide a business interaction system, method, storage medium, and electronic device to at least solve the problem in the related art that when a baseboard management controller BMC and a basic input / output system BIOS are started at the same time, the startup speed of the BIOS is seriously slowed down because the BMC startup speed is slower than that of the BIOS and the startup of the BIOS needs to interact with the BMC.

[0005] According to one embodiment of the present application, a business interaction system is provided, comprising: a basic input / output system, and a baseboard management controller connected to the basic input / output system, wherein the baseboard management controller adopts a multi-core processor; wherein a first processing core in the multi-core processor runs a first operating system, and a second processing core in the multi-core processor runs a second operating system, the first operating system and the second operating system have different system types, and the first operating system allows startup at a target startup speed, wherein the target startup speed is greater than a first threshold; a first business in the baseboard management controller runs in the first operating system; wherein the first business is a business used to interact with the basic input / output system during the startup of the basic input / output system.

[0006] In an exemplary embodiment, the basic input output system is connected to the baseboard management controller via an integrated south bridge.

[0007] In an exemplary embodiment, the baseboard management controller is connected to the integrated south bridge via a low pin count bus; and the first processing core is connected to the low pin count bus via a first interface.

[0008] In an exemplary embodiment, a first connection channel including the first interface and the low pin count bus is used for the first operating system and the basic input and output system to exchange the first service, wherein a communication speed of the first connection channel is lower than a second threshold.

[0009] In an exemplary embodiment, the baseboard management controller is further connected to the integrated south bridge via a high-speed serial computer expansion bus standard; and the first processing core is further connected to the high-speed serial computer expansion bus standard via a second interface.

[0010] In an exemplary embodiment, a second connection channel including the second interface and the high-speed serial computer expansion bus standard is used for the first operating system and the basic input and output system to interact with a second service, wherein the second service is a service in which the amount of data transmitted is higher than a third threshold, and the communication speed of the second connection channel is higher than a second threshold.

[0011] In an exemplary embodiment, the second connection channel further includes: a first shared memory between the baseboard management controller and the basic input output system; the baseboard management controller and the basic input output system exchange the second service through the first shared memory.

[0012] In an exemplary embodiment, the first operating system and the second operating system communicate in a preset manner, wherein the preset manner includes at least one of the following: shared memory, inter-core interrupt.

[0013] In an exemplary embodiment, the first operating system is used to parse the first data sent by the basic input / output system to determine the data function of the first data when receiving the first data sent by the basic input / output system; wherein the first data is the data transmitted by the basic input / output system to the baseboard management controller during the process of interacting with the baseboard management controller for a third service, and the third service includes at least one of the following: the first service and the second service; the first operating system is also used to feedback second data to the basic input / output system when the data function is the first data function; wherein the first data function is used to indicate that the first data is used to request the second data of the baseboard management controller; the first operating system is also used to send the first data to the second operating system when the data function is the second data function; wherein the second data function is used to indicate that the first data is data required by the second operating system.

[0014] In an exemplary embodiment, the first operating system is also used to store the first data in a second shared memory when the data function is a second data function; wherein the second shared memory is a shared memory between the first processing core and the second processing core; and the first operating system is also used to send the first data to the second operating system through the second shared memory when receiving a data request sent by the first operating system.

[0015] In an exemplary embodiment, the fourth service of the baseboard management controller is run in the second operating system, and the fourth service is a service that does not need to directly interact with the basic input and output system; the second operating system is used to send the data request to the first operating system when it is determined that the basic input and output system has been started.

[0016] According to another embodiment of the present application, a service interaction method is provided, which is applied to the service interaction system described in any of the above items, including: when a baseboard management controller and a basic input / output system connected to the baseboard management controller are powered on at the same time, interacting a first service with the basic input / output system through a first operating system; wherein the baseboard management controller adopts a multi-core processor; wherein the first processing core in the multi-core processor runs the first operating system, and the second processing core in the multi-core processor runs the second operating system, the first operating system and the second operating system have different system types, and the first operating system allows startup according to a target startup speed, wherein the target startup speed is greater than a first threshold; the first service in the baseboard management controller runs in the first operating system; wherein the first service is a service used to interact with the basic input / output system during the startup of the basic input / output system.

[0017] According to another embodiment of the present application, a computer-readable storage medium is provided, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when run.

[0018] According to another embodiment of the present application, an electronic device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.

[0019] According to another embodiment of the present application, a computer program product is provided, including a computer program, and when the computer program is executed by a processor, the steps in any of the above method embodiments are implemented.

[0020] Through the present application, the service interaction system provided includes: a basic input and output system, a baseboard management controller connected to the basic input and output system, wherein the baseboard management controller adopts a multi-core processor; wherein the first processing core in the multi-core processor runs a first operating system, and the second processing core in the multi-core processor runs a second operating system, the system types of the first operating system and the second operating system are different, and the first operating system allows startup according to a target startup speed, wherein the target startup speed is greater than a first threshold; the first service in the baseboard management controller runs in the first operating system; wherein the first service is a service for interacting with the basic input and output system during the startup of the basic input and output system. That is to say, by deploying the first operating system that can be quickly started according to the target startup speed on the first processing core in the baseboard management controller adopting the multi-core processor, and deploying the first service for interacting with the basic input and output system on the first operating system, it can be made that when the baseboard management controller and the basic input and output system are powered on at the same time, when the basic input and output system is started to the point where the interaction of the first service with the baseboard management controller is required, the first operating system has already been started; thereby, the basic input and output system does not need to wait for a delay when interacting with the baseboard management controller for the first service. Therefore, the problem in the related art that when the baseboard management controller BMC and the basic input and output system BIOS are started at the same time, the startup speed of the BIOS is seriously slowed down because the startup speed of the BMC is slower than that of the BIOS and the startup of the BIOS needs to interact with the BMC can be solved. The technical effect of improving the startup speed of the BIOS is achieved. BRIEF DESCRIPTION OF THE DRAWINGS

[0021] Figure 1 is an architecture diagram of a business interaction system according to an embodiment of the present application;

[0022] Figure 2 is another architecture diagram of a business interaction system according to an embodiment of the present application;

[0023] Figure 3 is a flow chart of a business interaction method according to an embodiment of the present application;

[0024] Figure 4 is a schematic diagram of a data interaction process according to an optional embodiment of the present application;

[0025] Figure 5 It is a schematic diagram of the communication principle between the BIOS system and the FreeRTOS system according to an optional embodiment of the present application;

[0026] Figure 6 It is a schematic diagram of the dual-core dual-system communication principle according to an optional embodiment of the present application. DETAILED DESCRIPTION

[0027] The embodiments of the present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.

[0028] It should be noted that the terms "first", "second", etc. in the specification and claims of this application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.

[0029] Unless otherwise defined, all technical and scientific terms used in this application have the same meaning as those commonly understood by those skilled in the art to which this application belongs. The terms used in the specification of this application are only for the purpose of describing specific embodiments and are not intended to limit this application.

[0030] To solve the above problems, the present invention provides a business interaction system. Figure 1 : is an architecture diagram of a business interaction system according to an embodiment of the present application, and the business interaction system includes the following:

[0031] A basic input / output system 12, and a baseboard management controller 14 connected to the basic input / output system 12, wherein the baseboard management controller 14 adopts a multi-core processor;

[0032] The first processing core 141 in the multi-core processor runs a first operating system, and the second processing core 142 in the multi-core processor runs a second operating system. The first operating system and the second operating system are of different system types. The first operating system allows startup according to a target startup speed, wherein the target startup speed is greater than a first threshold.

[0033] Optionally, the first operating system in the embodiment of the present application may select a FreeRTOS operating system; the second operating system may select a Linux operating system.

[0034] FreeRTOS is a free and open source real-time operating system (RTOS). It is designed for embedded system design and real-time application development, and aims to provide reliable and efficient solutions, especially for those occasions with high real-time requirements. It has the characteristics of high flexibility and good real-time performance.

[0035] The first service in the baseboard management controller 14 runs in the first operating system; wherein the first service is a service for interacting with the basic input and output system 12 during the startup process of the basic input and output system 12 .

[0036] It should be noted that the first service may be a service that needs to interact with the BMC through IPMI commands during the startup process of the BIOS system.

[0037] The above-mentioned service interaction system includes: a basic input / output system, a baseboard management controller connected to the basic input / output system, wherein the baseboard management controller adopts a multi-core processor; wherein the first processing core in the multi-core processor runs a first operating system, and the second processing core in the multi-core processor runs a second operating system, the first operating system and the second operating system have different system types, and the first operating system allows startup according to a target startup speed, wherein the target startup speed is greater than a first threshold; the first service in the baseboard management controller runs in the first operating system; wherein the first service is a service for interacting with the basic input / output system during the startup of the basic input / output system. That is, by deploying the first operating system that can be quickly started according to the target startup speed on the first processing core in the baseboard management controller adopting a multi-core processor, and deploying the first service for interacting with the basic input / output system on the first operating system, it can be made that when the baseboard management controller and the basic input / output system are powered on at the same time, when the basic input / output system is started to the point where the interaction of the first service with the baseboard management controller is required, the first operating system has already been started; thereby, the basic input / output system does not need to wait for a delay when interacting with the baseboard management controller for the first service. Therefore, the problem in the related art that when the baseboard management controller BMC and the basic input and output system BIOS are started at the same time, the startup speed of the BIOS is seriously slowed down because the startup speed of the BMC is slower than that of the BIOS and the startup of the BIOS needs to interact with the BMC can be solved. The technical effect of improving the startup speed of the BIOS is achieved.

[0038] In an exemplary embodiment, Figure 2 As shown, the basic input and output system is connected to the baseboard management controller via an integrated south bridge, wherein the integrated south bridge is mainly responsible for the communication between I / O buses, and the integrated south bridge can be an integrated south bridge PCH (platform controller hub) of Intel.

[0039] In an exemplary embodiment, the baseboard management controller is connected to the integrated south bridge via a low pin count bus; the first processing core is connected to the low pin count bus via a first interface. The low pin count bus (LPC for short) is a bus used to connect low-bandwidth devices and "old" devices to the CPU in IBM PC compatible machines. The first interface can be a KCS interface, which is a traditional serial communication-based interface used for HOST to interact with BMC and perform management operations.

[0040] In an exemplary embodiment, a first connection channel including the first interface and the low pin count bus is used for the first operating system and the basic input and output system to exchange the first service, wherein a communication speed of the first connection channel is lower than a second threshold.

[0041] like Figure 2 As shown, the FreeRTOS system is connected to the integrated south bridge through the first connection channel including the KCS interface and the LPC bus, and is connected to the CPU device including the BIOS system and the HOST OS system through the integrated south bridge. The communication speed of the first connection channel is relatively slow, and the channel is mainly used to send and receive IPMI commands, that is, to perform the interaction of the first service.

[0042] Therefore, the embodiment of the present application deploys the first business that needs to interact with the BMC during the BIOS startup process in the first operating system, and deploys a first connection channel that can transmit IPMI instructions between the first operating system and the BIOS system. This can achieve smooth transmission of IPMI instructions when the BIOS is started to the stage where the interaction with the first business is required and the startup of the first operating system is completed.

[0043] In an exemplary embodiment, the baseboard management controller is also connected to the integrated south bridge via a high-speed serial computer expansion bus standard; the first processing core is also connected to the high-speed serial computer expansion bus standard via a second interface.

[0044] That is, the baseboard management controller is also connected to the integrated south bridge via a high-speed serial computer expansion bus standard PCIE bus, and the second interface is an interface deployed with an H2B module, wherein the H2B (HOST to BMC) module is a hardware module for HOST and BMC communication based on PCIE.

[0045] In an exemplary embodiment, a second connection channel including the second interface and the high-speed serial computer expansion bus standard is used for the first operating system and the basic input and output system to interact with a second service, wherein the second service is a service in which the amount of data transmitted is higher than a third threshold, and the communication speed of the second connection channel is higher than a second threshold.

[0046] Optionally, the second service is a service for transmitting information with a relatively large amount of data, such as asset information and BIOS menu items.

[0047] Therefore, by deploying the first connection channel and the second connection channel, the embodiment of the present application can transmit services with a large amount of data and services with a small amount of data between the BIOS and the first operating system, thereby ensuring smooth data transmission between the BIOS and the first operating system.

[0048] Optionally, the service interaction system may further include a data detection module, wherein a first detection interface of the data detection module is connected to the LPC bus, and a second detection interface is connected to the first operating system. When the data detection module detects the presence of data corresponding to the first service in the LPC bus through the first detection interface, the data detection module detects whether the second operating system has been started through the second detection interface; when the data detection module detects that the second operating system has not been started, a first alarm event is generated.

[0049] And / or, when it is detected that the second operating system has not been completely started, wait for a target time and then check again whether the second operating system is started. If it is still not started, generate a second alarm event, wherein the target time is a preset maximum waiting time after the BIOS sends the BMC IPMI command.

[0050] It should be noted that the first alarm event and the second alarm event are used to indicate that an adjustment operation needs to be performed; the adjustment operation includes at least one of the following: adjusting the target time, reducing the business volume of the business deployed on the first operating system. The business deployed in the first operating system may not only include the first business. Therefore, the fast startup of the BIOS is further guaranteed by the data detection module.

[0051] In an exemplary embodiment, the second connection channel further includes: a first shared memory between the baseboard management controller and the basic input output system; the baseboard management controller and the basic input output system exchange the second service through the first shared memory.

[0052] It is understandable that in the second connection channel, when the H2B module deployed by the second interface is initialized, the Bar space of the H2B module is set so that the Bar space is mapped to a SDRAM space, so that both the BIOS system and the FreeRTOS system can access this synchronous dynamic random access memory (Synchronous Dynamic Random Access Memory, referred to as SDRAM) space, and this SDRAM space is equivalent to the first shared memory between the BIOS system and the FreeRTOS system. The BIOS system and the FreeRTOS system use the first shared memory for data exchange, and the protocol format used is customized, which is not limited in the embodiments of this application.

[0053] In an exemplary embodiment, the first operating system and the second operating system communicate in a preset manner, wherein the preset manner includes at least one of the following: shared memory, inter-core interrupt.

[0054] Thus, the communication between the first operating system and the second operating system can be achieved in a preset manner, and then the second operating system can achieve indirect communication with the BIOS in the preset manner.

[0055] In an exemplary embodiment, the first operating system is used to parse the first data sent by the basic input / output system to determine the data function of the first data when receiving the first data sent by the basic input / output system; wherein the first data is the data transmitted by the basic input / output system to the baseboard management controller during the process of interacting with the baseboard management controller for a third service, and the third service includes at least one of the following: the first service and the second service; the first operating system is also used to feedback second data to the basic input / output system when the data function is the first data function; wherein the first data function is used to indicate that the first data is used to request the second data of the baseboard management controller; the first operating system is also used to send the first data to the second operating system when the data function is the second data function; wherein the second data function is used to indicate that the first data is data required by the second operating system.

[0056] It can be understood that, for the first service, the first data may include a data request instruction sent by the BIOS to the first operating system, such as an IPMI instruction; the function of the first data is to request the data of the BMC, and then the BMC feeds back the second data requested by the data request instruction to the basic input and output system. For the second service, the first data is the data required by the second operating system, and when the first operating system receives the first data, it sends the first data to the second operating system.

[0057] In an exemplary embodiment, the first operating system is also used to store the first data in a second shared memory when the data function is a second data function; wherein the second shared memory is a shared memory between the first processing core and the second processing core; and the first operating system is also used to send the first data to the second operating system through the second shared memory when receiving a data request sent by the first operating system.

[0058] Specifically, the first data will be stored by the FreeRTOS system in the equivalent of the second shared memory. When the Linux system needs it, it will send a data request to FreeRTOS through inter-core communication, and the FreeRTOS system will send the corresponding first data to the Linux system. Optionally, the second shared memory can be SDRAM or Electrically Erasable Programmable Read-Only Memory (EEPROM), and the SDRAM here is different from the SDRAM corresponding to the first shared memory.

[0059] Thus, the first operating system achieves the technical effect of sending the first data received from the BIOS to the second operating system.

[0060] In an exemplary embodiment, the fourth service of the baseboard management controller is run in the second operating system, and the fourth service is a service that does not need to directly interact with the basic input and output system; the second operating system is used to send the data request to the first operating system when it is determined that the basic input and output system has been started.

[0061] An embodiment of the present application also provides a method for executing a design task, which is applied to the system for executing a design task described in any of the above embodiments. Figure 3 is a flow chart of a service interaction method according to an embodiment of the present application, such as Figure 3 As shown, the method includes:

[0062] Step S302: When a baseboard management controller and a basic input / output system connected to the baseboard management controller are powered on at the same time, a first service is interacted with the basic input / output system through a first operating system; wherein the baseboard management controller adopts a multi-core processor; wherein a first processing core in the multi-core processor runs the first operating system, and a second processing core in the multi-core processor runs a second operating system, the first operating system and the second operating system have different system types, and the first operating system allows startup at a target startup speed, wherein the target startup speed is greater than a first threshold; the first service in the baseboard management controller runs in the first operating system; wherein the first service is a service for interacting with the basic input / output system during the startup of the basic input / output system.

[0063] Through the above steps, when a baseboard management controller and a basic input / output system connected to the baseboard management controller are powered on at the same time, a first service is interacted with the basic input / output system through a first operating system; wherein the baseboard management controller adopts a multi-core processor; wherein a first processing core in the multi-core processor runs the first operating system, and a second processing core in the multi-core processor runs a second operating system, the first operating system and the second operating system have different system types, and the first operating system allows startup at a target startup speed, wherein the target startup speed is greater than a first threshold; the first service in the baseboard management controller runs in the first operating system; wherein the first service is a service for interacting with the basic input / output system during the startup of the basic input / output system. That is to say, by deploying a first operating system that can be quickly started according to the target startup speed on the first processing core in the baseboard management controller using a multi-core processor, and deploying the first service for interacting with the basic input and output system on the first operating system, when the baseboard management controller and the basic input and output system are powered on at the same time, when the basic input and output system is started to the point where it needs to interact with the baseboard management controller for the first service, the first operating system has already been started; and thus, when the basic input and output system interacts with the baseboard management controller for the first service, it does not have to wait for a delay. Therefore, the problem in the related art that when the baseboard management controller BMC and the basic input and output system BIOS are started at the same time, the startup speed of the BIOS is seriously slowed down because the startup speed of the BMC is slower than that of the BIOS, and the startup of the BIOS needs to interact with the BMC can be solved. The technical effect of improving the startup speed of the BIOS is achieved.

[0064] In an optional embodiment, when first data sent by the basic input / output system is received through the first operating system, the first data is parsed to determine the data function of the first data; wherein the first data is data transmitted by the basic input / output system to the baseboard management controller during the process of interacting with the baseboard management controller for a third service, and the third service includes at least one of the following: the first service, the second service; when the data function is the first data function, the second data is fed back to the basic input / output system through the first operating system; wherein the first data function is used to indicate that the first data is used to request the second data of the baseboard management controller; when the data function is the second data function, the first data is sent to the second operating system through the first operating system; wherein the second data function is used to indicate that the first data is data required by the second operating system.

[0065] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application, or the part that contributes to the relevant technology, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, disk, CD), including a number of instructions to enable a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods described in each embodiment of the present application.

[0066] In order to better understand the above-mentioned business interaction system, the above-mentioned business interaction system is described below in combination with optional embodiments, but it is not used to limit the technical solution of the embodiments of the present application.

[0067] In the unsolved related art, when the baseboard management controller BMC and the basic input and output system BIOS are started at the same time, the startup speed of the BIOS is seriously slowed down because the startup speed of the BMC is slower than that of the BIOS, and the startup of the BIOS needs to interact with the BMC. The usual practice is to optimize the boot speed of the BMC, modify the maximum waiting time after the BIOS sends the BMC IPMI command to a smaller value, etc., but because there are many things that need to be loaded during the startup of the BMC, the space for optimizing the boot speed of the BMC is limited; directly modifying the maximum waiting time after the BIOS sends the BMC IPMI command to a smaller value, if the modification is too small, it will affect the stability of the communication, and if it is only reduced a little, the effect is not obvious, so there is currently no very effective method to solve the problem of the BIOS startup speed being seriously slowed down. Therefore, the optional embodiment of the present application proposes a system and device for improving the startup speed of the BIOS based on the BMC heterogeneous dual system (equivalent to the business interaction system in the above embodiment), which can effectively solve the problem of the BIOS startup speed being seriously slowed down.

[0068] Specifically, BMC processors now basically use multi-core processors, and the operating system basically uses a single Linux system. The optional embodiment of this application takes the BMC processor as a dual-core processor as an example, that is, CPU0 (equivalent to the second processing core in the above embodiment) and CPU1 (equivalent to the first processing core in the above embodiment), and the operating system uses dual systems, Linux system (equivalent to the second operating system in the above embodiment) and FreeRTOS system (equivalent to the first operating system in the above embodiment). The Linux system runs on CPU0, and the FreeRTOS system runs on CPU1. The dual-core dual system uses inter-core communication based on inter-core interrupts and shared memory. Most of the BMC's regular services (equivalent to the fourth service in the above embodiment) run in the Linux system on CPU0; the FreeRTOS system on CPU1 has the characteristics of high flexibility and good real-time performance. At the same time, there are relatively few services running on the FreeRTOS system, which can ensure the fast startup of the FreeRTOS system. Therefore, the optional embodiment of the present application proposes a system and device for improving the startup speed of BIOS based on BMC heterogeneous dual systems, and the IPMI service (equivalent to the first service in the above embodiment) and the corresponding driver that need to interact with BIOS are implemented in the FreeRTOS system, so that when the BIOS and BMC are powered on at the same time, the BIOS and BMC are started at the same time. Since the FreeRTOS startup speed is relatively fast, it can quickly respond to the IPMI command sent by the BIOS, thereby improving the startup speed of the BIOS. When the Liunx system of the BMC is started and needs information sent by the BIOS, such as asset information, it can be read from the FreeRTOS system side through inter-core communication.

[0069] Furthermore, the working principle and process of improving the BIOS startup speed based on the BMC heterogeneous dual system proposed in the optional embodiment of the present application are elaborated in detail from the aspects of hardware topology, software system data interaction process, etc.

[0070] (1) Hardware topology.

[0071] like Figure 2As shown in the figure, the BMC chip runs two operating systems, namely the Linux operating system and the FreeRTOS operating system (the two operating systems run on different BMC cores). The Linux system is mainly used to process most of the BMC's regular services. The services that interact between the BMC and the BIOS run on the FreeRTOS system, mainly including the IPMI service (i.e., the first service) for the interaction between the BMC and the BIOS, and the services such as the asset information and the BIOS Setup menu item information sent by the BIOS to the BMC (i.e., the second service). There are two main ways for the FreeRTOS system and the BIOS system to communicate in hardware. One is to use KCS in LPC, which is mainly used to send and receive IPMI commands. Because this method is not suitable for the interaction of big data (the speed is relatively slow), the information with a relatively large amount of data, such as the asset information and the BIOS menu items, is transmitted in hardware through another method, i.e., H2B in PCIE. The BMC device is not directly connected to the CPU of the HOST, but directly connected to the south bridge PCH, which is then connected to the CPU of the HOST.

[0072] (2) Software processing process.

[0073] In an optional embodiment of the present application, the KCS and H2B drivers previously implemented in the Linux system must first be ported to the FreeRTOS system for implementation. In the new software architecture, the Linux system no longer communicates directly with the BIOS system, but the FreeRTOS system communicates directly with the BIOS system through KCS and H2B, and then the FreeRTOS system communicates with the Linux system using inter-core communication based on shared memory and inter-core interrupts.

[0074] In the scenario of the optional embodiment of the present application, after the system is powered on, the BIOS system, FreeRTOS system and Linux system are started at the same time. The FreeRTOS system is small and flexible and has the fastest startup speed. When the BIOS system starts to the point where it needs to interact with the BMC for data, the FreeRTOS system has already started and can interact with the BIOS system normally. The BIOS system will not be blocked due to the need to wait for the BMC. Figure 4As shown in the figure, during the startup of the BIOS system, some IPMI commands (equivalent to the first data, which can be understood as the interaction of the first business) that interact with the FreeRTOS system will be sent through the KCS channel, such as: obtaining some setting parameters of the BMC, sending fault records to the BMC, and determining whether the BIOS password uses the default password or the password saved on the BMC side. In addition to using the KCS channel to send IPMI commands, the data interaction between the BIOS system and the FreeRTOS system also sends some data (equivalent to the first data) through the H2B channel, such as asset information, BIOS Setup menu items, and other data with a relatively large amount of data. The KCS channel has a slow communication speed and is suitable for sending some data with a relatively small amount of data and a relatively high real-time requirement. The H2B channel is suitable for sending relatively large data, but the protocol for sending data needs to be customized by the user.

[0075] like Figure 4 As shown in the figure, the FreeRTOS system receives the data sent by the BIOS system (i.e., the first data), and determines the function of the data (equivalent to the data function) according to the parsed data. Some of the data is the data requested by the BMC (equivalent to the first data function). At this time, the FreeRTOS system will send the corresponding data (i.e., the second data) to the BIOS system; some of the data is the data required by the Linux system (equivalent to the second data function). These data will be stored in the SDRAM or EEPROM (equivalent to the second shared memory) by the FreeRTOS system. When the Linux system needs it, it will send a data request to FreeRTOS through inter-core communication, and the FreeRTOS system will send the corresponding data to the Linux system.

[0076] like Figure 4 As shown in the figure, when the Linux system starts to a certain stage, it will judge whether the BIOS system has been started according to the GPIO (General Purpose Input / Output) pin. If the BIOS system has been started, it means that the BIOS system has sent the data required by the Linux system to the FreeRTOS system. At this time, the Linux system will send a data request to the FreeRTOS system through inter-core communication, for example: requesting asset information, BIOS Setup menu items and other data. The FreeRTOS system receives the interruption of inter-core communication, receives the data request from Linux, parses the data and sends the corresponding data to the Linux system according to the command code.

[0077] (3) Data interaction process between BIOS system and FreeRTOS system.

[0078] like Figure 5As shown, there are two main ways of data interaction between the BIOS system and the FreeRTOS system in the optional embodiment of the present application, namely KCS and H2B. The IPMI protocol is used for data interaction on the KCS channel. The IPMI protocol is a standard protocol and will not be introduced in detail in the optional embodiment of the present application.

[0079] The other channel is H2B. When the H2B module is initialized, the Bar space of the H2B module is set to map it to a SDRAM space (equivalent to the first shared memory), so that both the BIOS system and the FreeRTOS system can access this SDRAM space, which is equivalent to the shared memory between the BIOS system and the FreeRTOS system. The BIOS system and the FreeRTOS system use shared memory for data exchange, and the protocol format used is customized. The data format is shown in Table 1.

[0080] Table 1 Data format of H2B interaction data

[0081]

[0082] Further explanation of the layout name field in Table 1 is as follows:

[0083] Version: Stores the version number of the BIOS system, which is written by the BIOS system and read by the FreeRTOS system.

[0084] Flag area: stores some flags of the interaction process between the BIOS system and the FreeRTOS system, such as whether the data in the shared memory has been updated, whether the BIOS Setup menu items have been modified, etc. Both the BIOS system and the FreeRTOS system can read and write this area.

[0085] Motherboard FRU: After the FreeRTOS system starts, the FRU information is written into this area, and the BIOS system reads the information in this area during startup.

[0086] Asset information: The BIOS system writes asset information to this area during startup. The FreeRTOS system detects that the BIOS system has updated the information to the shared memory of the BIOS system and the FreeRTOS system, reads the information from this area, and then caches it. After the Linux system is started, the Linux system requests the FreeRTOS system for the information.

[0087] Future Setting: Used to save the modified but not yet effective BIOS Setup menu items. When the Linux system needs to modify the BIOS menu items, it will send a command to modify the menu items to the FreeRTOS system. After receiving the command, the FreeRTOS system structures the parameters to be modified and stores them in this area. At this time, the modified menu items are not effective. The modified menu items will take effect only after the BIOS is restarted and the data in this area is read. The modified menu items cannot take effect immediately and need to wait until the BIOS is restarted to take effect. The reason is that after the BIOS is started, the HOST will be guided into the operating system, and the BIOS system is basically not running at this time.

[0088] Current Setting: It is used to save the current menu items of the BIOS system. It is written into this area when the BIOS system is started, and the FreeRTOS system reads it and forwards it to the Linux system.

[0089] Setting Result: Saves the result of BMC modifying BIOS menu items.

[0090] (4) Data interaction process between Linux system and FreeRTOS system.

[0091] The BMC-based heterogeneous dual system mentioned in the optional embodiment of the present application means that the BMC chip has multiple cores, and different cores run different operating systems. Taking the dual-core CPU as an example, they are CPU0 and CPU1, respectively. The Linux system runs on CPU0, and the FreeRTOS system runs on CPU1. The optional embodiment of the present application uses shared memory + inter-core interrupts to implement data interaction between the FreeRTOS system and the Linux system.

[0092] like Figure 6 As shown, when the Linux system has data to send to the FreeRTOS system, the data to be sent is first structured, that is, placed in the shared memory (i.e., the second shared memory) according to the agreed protocol format, and then an inter-core interrupt is triggered to notify the FreeRTOS system to read the data from the shared memory. After FreeRTOS reads the data, it parses the data according to the agreed protocol format and then completes the corresponding function. The process of sending data from the FreeRTOS system to the Linux system is similar. An optional embodiment of the present application defines two independent inter-core interrupts (i.e., inter-core communication) to realize information control, and the specific configuration method of the inter-core interrupt is shown in Table 2. An optional embodiment of the present application adopts a shared memory method to transmit data information, and the data structure of the inter-core interrupt data transmission is shown in Table 3.

[0093] Table 2 Inter-core communication interrupt table

[0094]

[0095] Table 3 Data structure of inter-core communication

[0096]

[0097] In summary, the optional embodiment of the present application proposes a method for improving the BIOS startup speed based on BMC heterogeneous dual systems. The BMC system of the method adopts a multi-core dual system, which is a Linux operating system and a FreeRTOS operating system (the two operating systems run on different BMC cores respectively). The Linux system handles the routine management business of the BMC, and the FreeRTOS system handles the business of communication between the BMC and the BIOS system, and forwards some information to the Linux system. The optional embodiment of the present application utilizes the characteristics of the FreeRTOS system being small, flexible and efficient, and can complete fast startup, because the business of communication between the BMC and the BIOS system runs in the FreeRTOS system. When the BIOS system is started to the point where it needs to interact with the BMC for data, the FreeRTOS system has been started and can interact with the BIOS system normally. In this way, the process of the BIOS system startup will not be blocked for a period of time because the BMC response is not obtained after the IPMI command is sent to the BMC, so the startup speed of the BIOS system can be effectively improved. At the same time, because the function of interaction between the BMC and the BIOS system is placed in the FreeRTOS system, the execution efficiency of other tasks in the Linux system will also be improved.

[0098] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when running.

[0099] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk.

[0100] An embodiment of the present application further provides an electronic device, including a memory and a processor, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.

[0101] In an exemplary embodiment, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor, and the input / output device is connected to the processor.

[0102] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the steps in any one of the above method embodiments are implemented.

[0103] An embodiment of the present application further provides another computer program product, including a non-volatile computer-readable storage medium, wherein the non-volatile computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps in any of the above method embodiments are implemented.

[0104] An embodiment of the present application also provides a computer program, which includes computer instructions stored in a computer-readable storage medium; a processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device performs the steps in any one of the above method embodiments.

[0105] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail herein.

[0106] Obviously, those skilled in the art should understand that the above modules or steps of the present application can be implemented by a general computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, they can be implemented by a program code executable by a computing device, so that they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be executed in a different order from that herein, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. Thus, the present application is not limited to any specific combination of hardware and software.

[0107] The above description is only the preferred embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the principles of the present application shall be included in the protection scope of the present application.

Claims

1. A business interaction system, characterized in that: include: A basic input / output system and a baseboard management controller connected to the basic input / output system, wherein the baseboard management controller adopts a multi-core processor; wherein a first processing core in the multi-core processor runs a first operating system, and a second processing core in the multi-core processor runs a second operating system, the first operating system and the second operating system are of different system types, and the first operating system allows startup according to a target startup speed, wherein the target startup speed is greater than a first threshold; The first service in the baseboard management controller runs in the first operating system; wherein the first service is a service for interacting with the basic input and output system during the startup of the basic input and output system, wherein, The first operating system is used to parse the first data sent by the basic input and output system to determine the data function of the first data when receiving the first data sent by the basic input and output system; wherein the first data is data transmitted by the basic input and output system to the baseboard management controller in the process of interacting with the baseboard management controller for a third service, and the third service includes at least one of the following: the first service and the second service; The first operating system is further used to feed back second data to the basic input and output system when the data function is the first data function; wherein the first data function is used to indicate that the first data is used to request second data of the baseboard management controller; The first operating system is further configured to send the first data to the second operating system when the data function is a second data function; wherein the second data function is configured to indicate that the first data is data required by the second operating system.

2. The business interaction system according to claim 1, characterized in that: The basic input and output system is connected to the baseboard management controller via an integrated south bridge.

3. The business interaction system according to claim 2, characterized in that: The baseboard management controller is connected to the integrated south bridge via a low pin count bus; The first processing core is connected to the low pin count bus through a first interface.

4. The business interaction system according to claim 3, characterized in that: A first connection channel including the first interface and the low pin count bus is used for the first operating system and the basic input and output system to interact with the first service, wherein a communication speed of the first connection channel is lower than a second threshold.

5. The business interaction system according to claim 2, characterized in that: The baseboard management controller is also connected to the integrated south bridge via a high-speed serial computer expansion bus standard; The first processing core is also connected to the high-speed serial computer expansion bus standard through a second interface.

6. The business interaction system according to claim 5, characterized in that: A second connection channel including the second interface and the high-speed serial computer expansion bus standard is used for the first operating system and the basic input and output system to exchange a second service, wherein the second service is a service in which the amount of data transmitted is higher than a third threshold, and the communication speed of the second connection channel is higher than a second threshold.

7. The business interaction system according to claim 6, characterized in that: The second connection channel further includes: a first shared memory between the baseboard management controller and the basic input output system; the baseboard management controller and the basic input output system exchange the second service through the first shared memory.

8. The business interaction system according to claim 1, characterized in that: The first operating system and the second operating system communicate in a preset manner, wherein the preset manner includes at least one of the following: shared memory and inter-core interrupt.

9. The business interaction system according to claim 1, characterized in that: The first operating system is further used for storing the first data in a second shared memory when the data function is a second data function; wherein the second shared memory is a shared memory between the first processing core and the second processing core; The first operating system is further configured to send the first data to the second operating system through the second shared memory when receiving a data request sent by the first operating system.

10. The business interaction system according to claim 9, characterized in that: A fourth service of the baseboard management controller is run in the second operating system, wherein the fourth service does not need to directly interact with the basic input and output system; The second operating system is used for sending the data request to the first operating system when it is determined that the basic input and output system has been started.

11. A business interaction method, characterized in that: The business interaction system according to any one of claims 1 to 10 comprises: When a baseboard management controller and a basic input / output system connected to the baseboard management controller are powered on at the same time, interacting with the basic input / output system through a first operating system for a first service; Wherein, the baseboard management controller adopts a multi-core processor; wherein a first processing core in the multi-core processor runs the first operating system, and a second processing core in the multi-core processor runs a second operating system, the first operating system and the second operating system are of different system types, and the first operating system allows startup according to a target startup speed, wherein the target startup speed is greater than a first threshold; The first service in the baseboard management controller runs in the first operating system; wherein the first service is a service for interacting with the basic input and output system during the startup of the basic input and output system.

12. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, wherein the computer program implements the steps of the method described in claim 11 when executed by a processor.

13. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the steps of the method according to claim 11 are implemented.

14. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to claim 11 are implemented.

Citation Information

Patent Citations

  • Method, system and device for monitoring power management chip and medium

    CN117707884A

  • Server quick starting system, method and equipment, medium and program product

    CN118567732A