Communication method and device applied to BMC chip, BMC chip, computer equipment, storage medium and program product

By deploying a virtual network card in the BMC chip and using the PCIe bus, the problem of inconvenient data transmission between the BMC chip and the BIOS firmware is solved, efficient two-way communication is achieved, and system management and monitoring functions are improved.

CN119155174AActive Publication Date: 2024-12-17XIAN YIPU COMM TECH

Patent Information

Application Number
CN202411268879.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-11
Publication Date
2024-12-17
Estimated Expiration
2044-09-11

AI Technical Summary

Technical Problem

In the prior art, BMC chips need to process before storing data into memory, resulting in inconvenient data transmission to BIOS firmware and affecting communication efficiency.

Method used

The first virtual network card and the second virtual network card are deployed in the BMC chip, and the data is encapsulated and decapsulated using the preset network protocol, and high-speed transmission is carried out through the PCIe bus to realize bidirectional communication between the BMC chip and the BIOS firmware.

Benefits of technology

Improve the efficiency and accuracy of data transmission, and enhance the support of system management and monitoring functions through the reuse of common network protocols by virtual network cards.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119155174A_ABST
    Figure CN119155174A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a communication method and device applied to a BMC chip, the BMC chip, computer equipment, a storage medium and a program product. The BMC chip communication method is applied to a BMC chip, a first virtual network card corresponding to the BMC chip and a second virtual network card corresponding to BIOS firmware are deployed in the BMC chip, and the BMC chip communication method comprises the steps that initial data are packaged based on a preset network protocol to obtain to-be-transmitted data; transmitting the data to be transmitted to the second virtual network card through the first virtual network card; and sending the to-be-transmitted data to the BIOS firmware based on the second virtual network card. The method is used for achieving two-way communication between the BMC chip and the BIOS firmware, a universal network protocol is multiplexed, and the multiplexing degree is high.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a communication method, device, BMC chip, computer equipment, storage medium and program product applied to a BMC chip. Background Art

[0002] The Basic Input / Output System (BIOS) firmware and the Baseboard Management Controller (BMC) chip need to be set in data center products. For example, the BIOS firmware and the BMC chip need to be set in computer equipment. The BMC chip needs to communicate with the BIOS firmware.

[0003] In the prior art, data to be transmitted to the BIOS firmware is stored in the shared memory of the BMC chip. The BIOS firmware reads the data in the shared memory of the BMC chip.

[0004] However, in the above method, the BMC chip needs to process the memory before storing the data in the memory of the BMC chip, which causes inconvenience in storing data and is not conducive to transmitting the data to the BIOS firmware. Summary of the invention

[0005] The embodiments of the present application provide a communication method, apparatus, BMC chip, computer equipment, storage medium and program product applied to a BMC chip, so as to achieve two-way communication between the BMC chip and BIOS firmware, and reuse a common network protocol, thereby achieving a high degree of reuse.

[0006] In a first aspect, the present application provides a communication method applied to a BMC chip, wherein the method is applied to a BMC chip, wherein a first virtual network card corresponding to the BMC chip and a second virtual network card corresponding to a BIOS firmware are deployed in the BMC chip, and the method comprises:

[0007] The initial data is encapsulated based on a preset network protocol to obtain data to be transmitted.

[0008] The data to be transmitted is transmitted to the second virtual network card through the first virtual network card.

[0009] The data to be transmitted is sent to the BIOS firmware based on the second virtual network card.

[0010] In a possible implementation manner, transmitting the data to be transmitted to the second virtual network card through the first virtual network card includes:

[0011] The data to be transmitted is transmitted to the first virtual network card according to the IP address of the first virtual network card.

[0012] Based on the first virtual network card, the data to be transmitted is transmitted to the second virtual network card according to the IP address of the second virtual network card.

[0013] In a possible implementation manner, sending the data to be transmitted to the BIOS firmware based on the second virtual network card includes:

[0014] Based on the second virtual network card, decapsulate the data to be transmitted according to the preset network protocol to obtain the decapsulated data to be transmitted;

[0015] Based on the second virtual network card, the decapsulated data to be transmitted is sent to the BIOS firmware.

[0016] In a possible implementation, based on the second virtual network card, sending the decapsulated data to be transmitted to the BIOS firmware includes:

[0017] Based on the second virtual network card, the decapsulated data to be transmitted is sent to the BIOS firmware through the PCIe bus.

[0018] In a possible implementation, the method further includes:

[0019] Based on the second virtual network card, a data acquisition request sent by the BIOS firmware is received; and based on the second virtual network card, the data acquisition request is encapsulated according to a preset network protocol to obtain an encapsulated data acquisition request.

[0020] Based on the second virtual network card, the encapsulated data acquisition request is sent to the BMC chip through the first virtual network card.

[0021] In a possible implementation, the first virtual network card and the second virtual network card are deployed in a PCIe bus controller of the BMC chip.

[0022] In a possible implementation, the method further includes:

[0023] Initialize the first virtual network card and the second virtual network card.

[0024] A network protocol is installed on the first virtual network card; wherein the second virtual network card has a network protocol installed therein.

[0025] For the first virtual network card, an IP address and a subnet mask corresponding to the first virtual network are set; wherein the second virtual network card is set with an IP address and a subnet mask corresponding to the second virtual network.

[0026] In a possible implementation, the IP address corresponding to the first virtual network and the IP address corresponding to the second virtual network belong to the same local area network; the subnet mask corresponding to the first virtual network and the subnet mask corresponding to the second virtual network are the same.

[0027] In a possible implementation manner, the initialization process includes one or more of the following:

[0028] Allocate network card resources, set MAC addresses, and set interactive interfaces.

[0029] In a second aspect, an embodiment of the present application provides a communication device applied to a BMC chip, wherein the device is applied to a BMC chip, wherein a first virtual network card corresponding to the BMC chip and a second virtual network card corresponding to a BIOS firmware are deployed in the BMC chip, and the device includes:

[0030] The encapsulation module is used to encapsulate the initial data based on a preset network protocol to obtain data to be transmitted.

[0031] The transmission module is used to transmit the data to be transmitted to the second virtual network card through the first virtual network card.

[0032] A sending module is used to send the data to be transmitted to the BIOS firmware based on the second virtual network card.

[0033] In a possible implementation, the transmission module includes:

[0034] The first transmission module is used to transmit the data to be transmitted to the first virtual network card according to the IP address of the first virtual network card.

[0035] The second transmission module is used to transmit the data to be transmitted to the second virtual network card based on the first virtual network card and according to the IP address of the second virtual network card.

[0036] In a possible implementation manner, the sending module is specifically configured to:

[0037] A decapsulation module is used to decapsulate the data to be transmitted based on the second virtual network card and according to the preset network protocol to obtain the decapsulated data to be transmitted.

[0038] The first sending module is used to send the decapsulated data to be transmitted to the BIOS firmware based on the second virtual network card.

[0039] In a possible implementation manner, the first sending module includes:

[0040] The second sending module is used to send the decapsulated data to be transmitted to the BIOS firmware through the PCIe bus based on the second virtual network card.

[0041] In a possible implementation, the device further includes:

[0042] A receiving module, configured to receive a data acquisition request sent by the BIOS firmware based on the second virtual network card;

[0043] The first encapsulation module is used to encapsulate the data acquisition request based on the second virtual network card and according to a preset network protocol to obtain an encapsulated data acquisition request.

[0044] The third sending module is used to send the encapsulated data acquisition request to the BMC chip through the first virtual network card based on the second virtual network card.

[0045] In a possible implementation, the device further includes:

[0046] A deployment module, the first virtual network card and the second virtual network card are deployed in the PCIe bus controller of the BMC chip.

[0047] In a possible implementation, the device further includes:

[0048] An initialization module is used to initialize the first virtual network card and the first virtual network card.

[0049] An installation module is used to install a network protocol on the first virtual network card; wherein the network protocol is installed in the second virtual network card.

[0050] The setting module is used to set the IP address and subnet mask corresponding to the first virtual network for the first virtual network card; wherein the second virtual network card is set with the IP address and subnet mask corresponding to the second virtual network.

[0051] In a possible implementation, the IP address corresponding to the first virtual network and the IP address corresponding to the second virtual network belong to the same local area network; the subnet mask corresponding to the first virtual network and the subnet mask corresponding to the second virtual network are the same.

[0052] In a possible implementation, the initialization module includes one or more of the following: allocating network card resources, setting a MAC address, and setting an interactive interface.

[0053] In a third aspect, an embodiment of the present application provides a BMC chip, in which a first virtual network card corresponding to the BMC chip and a second virtual network card corresponding to the BIOS firmware are deployed, and the BMC chip is used to implement the method provided in the first aspect and any implementation method of the first aspect.

[0054] In a possible implementation, the BMC chip includes a PCIe bus controller, and the first virtual network card and the second virtual network card are deployed in the PCIe bus controller.

[0055] In a fourth aspect, an embodiment of the present application provides a computer device, in which a BIOS firmware and a method as provided in the first aspect and any implementation scheme of the first aspect are set.

[0056] In a fifth aspect, an embodiment of the present application provides a computer-readable storage medium, in which computer-executable instructions are stored. When the computer-executable instructions are executed by a processor, they are used to implement the method provided in the first aspect and any implementation method of the first aspect.

[0057] In a sixth aspect, an embodiment of the present application provides a computer program product, including a computer program, which, when executed by a processor, implements the method provided in the first aspect and any implementation method of the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS

[0058] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.

[0059] Figure 1 A schematic diagram of the structure of a server provided in an embodiment of the present application;

[0060] Figure 2 A flow chart of a communication method applied to a BMC chip provided in an embodiment of the present application Figure 1 ;

[0061] Figure 3 A flow chart of a communication method applied to a BMC chip provided in an embodiment of the present application Figure 2 ;

[0062] Figure 4 A schematic diagram of a communication device for a BMC chip provided in an embodiment of the present application Figure 1 ;

[0063] Figure 5 A schematic diagram of a communication device for a BMC chip provided in an embodiment of the present application Figure 2 ;

[0064] Figure 6 A schematic diagram of a BMC chip structure provided in an embodiment of the present application;

[0065] Figure 7 A schematic diagram of the computer device structure provided in an embodiment of the present application.

[0066] The above drawings have shown clear embodiments of the present application, which will be described in more detail later. These drawings and text descriptions are not intended to limit the scope of the present application in any way, but to illustrate the concept of the present application to those skilled in the art by referring to specific embodiments. DETAILED DESCRIPTION

[0067] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The implementations described in the following exemplary embodiments do not represent all implementations consistent with the present application. Instead, they are merely examples of devices and methods consistent with some aspects of the present application as detailed in the appended claims.

[0068] Figure 1 A schematic diagram of the structure of a server provided in an embodiment of the present application, such as Figure 1 As shown, the server includes a BMC chip, a BIOS firmware on the host side, and the BMC chip and the BIOS firmware on the host side are connected through a PCIe bus; a PCIe bus controller is deployed in the BMC chip, and a first virtual network card and a second virtual network card are deployed in the PCIe bus controller.

[0069] The BMC chip is an embedded management microcontroller that allows system administrators to remotely manage and monitor the hardware status of computing devices such as servers. The functions of the BMC chip include but are not limited to: monitoring the temperature, voltage, current and other parameters of hardware components such as CPU, memory, hard disk, power supply, and fan speed, etc. to ensure stable operation of the system; recording system startup, shutdown, hardware failure and other events to help administrators diagnose problems; allowing administrators to remotely turn on, shut down or restart servers; supporting remote updates of server BIOS firmware, etc., reducing the need for on-site maintenance.

[0070] BIOS firmware is the firmware in the computer system, which is responsible for the system startup and hardware initialization. BIOS is the first program executed after the computer is powered on. It is responsible for converting the system from hardware state to software state; performing the PowerOn Self Test (POST) to check whether the computer hardware (such as CPU, memory, hard disk, etc.) is working properly and initialize these hardware; loading and starting the boot program, usually reading from the Master Boot Record (MBR) or Unified Extensible Firmware Interface (UEFI) partition of the hard disk.

[0071] The communication between the BMC chip and the BIOS firmware includes but is not limited to the following: Through communication, the BMC chip can provide the BIOS firmware with real-time data on the hardware status to help the BIOS firmware better manage the system; when the BMC chip detects a hardware failure or anomaly, it will send an alarm or control instruction to the BIOS firmware through the communication mechanism; in the remote management process, the communication between the BIOS firmware and the BMC chip is the key to realizing remote startup, restart, configuration update and other operations; through communication with the BMC chip, the BIOS firmware can ensure that these configuration information remain consistent in the system to avoid problems caused by configuration conflicts or inconsistencies.

[0072] In one example, the BMC chip and BIOS firmware can communicate through the Inter-Integrated Circuit (IIC) and Keyboard Controller Style (KCS), but this technology has a slow transmission speed and is not suitable for data transmission with large amounts of data or high real-time requirements; the line load capacity is limited, and the signal attenuation is serious during long-distance transmission. Based on the LAN over USB communication solution, although the transmission speed is fast, high-speed data transmission is supported, the USB interface is widely used, and it is easy to integrate, there are stability issues, such as device hangs causing channel failure, affecting system reliability; and security may be insufficient, especially when multiple devices share the USB channel. Based on H2B technology, the PCIe bus is directly used for communication. Although the transmission speed is fast and the memory can be directly accessed to reduce the CPU burden, the compatibility and scalability at the application layer are poor, which may be limited by the implementation of the BIOS and BMC chips, and the support requirements for hardware and firmware are high, and the deployment and maintenance costs are high.

[0073] The present application provides a communication method, device, BMC chip, computer equipment, storage medium and program product applied to a BMC chip to solve the above problems.

[0074] The technical solution of the present application and how the technical solution of the present application solves the above-mentioned technical problems are described in detail below with specific embodiments. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of the present application will be described below in conjunction with the accompanying drawings.

[0075] Figure 2 A flow chart of a communication method applied to a BMC chip provided in an embodiment of the present application Figure 1 ,like Figure 2 As shown, the method is applied to a BMC chip, in which a first virtual network card corresponding to the BMC chip and a second virtual network card corresponding to the BIOS firmware are deployed, and the method includes:

[0076] S201. Encapsulate initial data based on a preset network protocol to obtain data to be transmitted.

[0077] In one example, the BIOS firmware determines what hardware information needs to be obtained from the BMC chip, such as temperature, voltage, fan speed, etc. The BIOS firmware constructs a request message, which generally contains the type of requested information and other parameters that may be required. The BMC chip receives the request message sent by the BIOS firmware. The BMC chip parses the request message and understands the type of hardware information required by the BIOS firmware. The BMC chip collects the required information from its internally stored data or by directly accessing hardware sensors, where the information may include but is not limited to temperature sensor readings, voltage sensor readings, fan speed, etc. The collected hardware information data needs to be encapsulated according to the requirements of the preset network protocol, where the preset network protocol includes but is not limited to: Hypertext Transfer Protocol (HTTP), Hypertext Transfer Protocol Secure (HTTPS), IPMI over LAN, Restful API, Redfish, etc. For each requested hardware information item, the BMC chip creates a response data packet, which contains the actual hardware information value and possible additional information (such as units, thresholds, etc.). The response data packets for each hardware information item are further combined into a complete response message. This response message contains all the requested hardware information.

[0078] S202: Transmit the data to be transmitted to the second virtual network card through the first virtual network card.

[0079] In one example, a PCIe bus controller is deployed in the BMC chip, and the PCIe bus controller is provided with a first virtual network card and a second virtual network card. The BMC chip initializes the first virtual network card and the second virtual network card, wherein the initialization operation includes but is not limited to: allocating and initializing network card-related resources (memory buffer, interrupt, etc.), setting the media access control (MAC) address of the network card, implementing the logic of data reception and transmission, processing interrupts, and providing an interface with the user space so that the application can interact with the network card. The BMC chip manages the first virtual network card and sets an Internet Protocol (IP) address for the first virtual network card; the BIOS firmware manages the second virtual network card and sets an IP address for the second virtual network card, wherein the IP addresses of the first virtual network card and the second virtual network card are in the same local area network.

[0080] The BMC chip first encapsulates the data to be transmitted into one or more IP packets. This encapsulation process includes adding necessary information such as the source IP address (IP address of the first virtual network card), the target IP address (IP address of the second virtual network card), and the TCP / UDP header (according to the transport layer protocol). The encapsulated data packet will be sent to the sending queue of the first virtual network card, and the first virtual network card will send the data packet to the local area network through its physical network interface (which can be a physical port shared with other network interfaces on the server motherboard, or it can be an independent physical port, which is not required in this embodiment); within the local area network, the data packet is routed to the second virtual network card according to the IP address. This usually involves the participation of switches or routers, which will determine the transmission path of the data packet based on the target IP address and MAC address of the data packet. The second virtual network card receives the data packet through its physical network interface.

[0081] S203: Send the data to be transmitted to the BIOS firmware based on the second virtual network card.

[0082] In one example, the second virtual network card receives a data packet from the first virtual network card through its network interface. The data packet is decapsulated at the IP layer, the source IP address (the IP of the first virtual network card) and the target IP address (the IP of the second virtual network card) are verified, and the validity of the data packet is confirmed. The second virtual network card sends the data to be transmitted to the BIOS firmware on the host side through the PCIe bus, where the PCIe bus is a high-speed serial connection used to transmit data between various components inside the computer. The BIOS firmware receives the data packet through the PCIe interface; and decapsulates the data packet accordingly, and finally obtains the initial data, and stores the initial data in the memory or writes it to a log file. The BIOS firmware uses this data to perform necessary operations, such as updating configurations, monitoring hardware status, etc.

[0083] The embodiment of the present application provides a communication method for a BMC chip, which realizes efficient communication between the BMC chip and the BIOS firmware by deploying two virtual network cards in the BMC chip, namely, a first virtual network card and a second virtual network card. The specific method includes: the BMC chip uses a preset network protocol to encapsulate the data to be transmitted to form a data packet to be transmitted; then, the BMC chip sends the data packet to be transmitted to the second virtual network card through the first virtual network card according to the IP address of the second virtual network card; after receiving the data packet, the second virtual network card decapsulates it to extract the original data, and sends the data to the BIOS firmware through the PCIe bus. This communication method not only ensures the accurate transmission of data, but also reuses the general network protocol through the virtual network card, and at the same time improves the data transmission efficiency by utilizing the high-speed characteristics of the PCIe bus, thereby effectively supporting system management and monitoring functions.

[0084] Figure 3 A flow chart of a communication method applied to a BMC chip provided in an embodiment of the present application Figure 2 ,like Figure 3 As shown, the method is applied to a BMC chip, in which a first virtual network card corresponding to the BMC chip and a second virtual network card corresponding to the BIOS firmware are deployed, and the method includes:

[0085] S301, a first virtual network card and a second virtual network card are deployed in a PCIe bus controller of a BMC chip.

[0086] In one example, a BMC chip is an independent microcontroller, usually embedded on the motherboard of a server. It is mainly responsible for out-of-band management of the server, and can monitor, configure, and troubleshoot the server even if the server operating system is not running or the server power is turned off. The BMC chip communicates with the remote management system through a specific interface (such as IPMI 2.0) to implement functions such as remote power control, temperature monitoring, and logging. PCIe is a high-speed serial computer expansion bus standard used to connect the motherboard with various peripheral devices (such as graphics cards, network cards, solid-state drives, etc.). The PCIe bus controller is a key component of the PCIe interface, which is responsible for managing and controlling data transmission on the PCIe bus. Deploying a PCIe bus controller in the BMC means that the BMC chip can communicate efficiently with other devices on the server (such as memory, processors, storage devices, etc.) or additional PCIe devices (such as network adapters) through the PCIe bus. Virtual network cards are a concept in virtualization technology that allows multiple logical interfaces to be created on the same physical network interface. These virtual network cards can work like physical network cards and support independent IP addresses, MAC addresses, and traffic management policies. In a server virtualization environment, a virtual network card enables virtual machines to communicate over the network independently of the physical network hardware.

[0087] Inside the BMC chip, the PCIe bus controller is used to communicate with other components of the server. When the BMC chip needs to send data, it sends the data to the network through the PCIe controller. Similarly, the received data will also reach the BMC chip through the PCIe controller and be processed. A PCIe bus controller is deployed in the BMC chip, and two virtual network cards are defined on the PCIe bus controller, namely the first virtual network card and the second virtual network card. By deploying the PCIe bus controller inside the BMC chip and defining two virtual network cards on it, efficient management and monitoring of the server can be achieved, while ensuring that network connectivity and management capabilities can be maintained even when the main operating system fails.

[0088] S302, initializing the first virtual network card and the first virtual network card; wherein the initialization process includes one or more of the following: allocating network card resources, setting MAC addresses, and setting interactive interfaces.

[0089] In one example, during the server startup process, the BMC chip initializes two virtual network cards defined therein, where the two virtual network cards are a first virtual network card and a second virtual network card.

[0090] Initialization processing mainly includes the following aspects:

[0091] Allocate network card resources: The BMC chip first needs to identify the available resources on the PCIe bus controller, including memory space, I / O ports, interrupt numbers, etc.; allocate necessary hardware resources to each virtual network card, which usually includes a continuous memory address space for data transmission and caching, and one or more interrupt numbers for responding to network card events; configure the relevant registers in the PCIe bus controller to reflect the resources allocated to the virtual network card.

[0092] Set MAC address: MAC address is a unique identifier for each network card, which is used to uniquely identify a network card below the network layer. The BMC chip can generate a unique MAC address for each virtual network card, or allocate it from a predefined address pool. The MAC address is an important identifier for network devices when communicating at the network layer; program the generated MAC address into the hardware or firmware of the virtual network card. This usually involves modifying the configuration registers or memory mapping of the network card.

[0093] Set up the interaction interface: Define how the virtual network card communicates with the BMC chip and other system components. Configure the virtual network card to support specific network protocols and interface types (such as Ethernet, InfiniBand, etc.). If the BMC chip uses the operating system or firmware to manage the virtual network card, you need to load the corresponding driver. The driver is responsible for handling the interaction between the virtual network card and the operating system or firmware. Determine the communication protocol used by the virtual network card, such as the IPMI protocol or other specific management protocols. If necessary, set port mapping rules to ensure that the network traffic of the virtual network card can be correctly routed to the BMC chip or external network. Start the necessary services or daemons to support the functions of the virtual network card.

[0094] S303: Install a network protocol on the first virtual network card; wherein the network protocol is installed in the second virtual network card.

[0095] In one example, the first virtual network card is managed by the BMC chip, and the second virtual network card is managed by the BIOS firmware. The BMC chip installs the network protocol for the first virtual network card; the BIOS firmware installs the network protocol for the second virtual network card. The network protocol includes but is not limited to: the Transmission Control Protocol / Internet Protocol (TCP / IP) is installed on the transport layer, and multiple protocols can be deployed on the application layer, such as http, https, IPMI over Lan, Restful, etc.

[0096] S304, setting an IP address and subnet mask corresponding to the first virtual network for the first virtual network card; wherein the second virtual network card is set with an IP address and subnet mask corresponding to the second virtual network. wherein the IP address corresponding to the first virtual network and the IP address corresponding to the second virtual network both belong to the same local area network; the subnet mask corresponding to the first virtual network and the subnet mask corresponding to the second virtual network are the same.

[0097] In one example, in order to enable the BMC chip and the BIOS firmware to communicate through the network and ensure that they are located in the same local area network, it is necessary to set corresponding IP addresses and subnet masks for the first virtual network card and the second virtual network card respectively. The BMC chip sets the IP address and subnet mask corresponding to the first virtual network for the first virtual network card; the BIOS firmware sets the IP address and subnet mask corresponding to the second virtual network for the second virtual network card.

[0098] For example, the IP address set by the BMC chip for the first virtual network card is 169.254.0.17, and the IP address set by the BIOS firmware for the second virtual network card is 169.254.0.18. These two IP addresses belong to the same private address range 169.254.0.0 / 16. The subnet masks of the first and second virtual network cards are both 255.255.0.0, which means that they belong to the same subnet 169.254.0.0 / 16.

[0099] S305. Based on the second virtual network card, receive a data acquisition request sent by the BIOS firmware; and based on the second virtual network card, encapsulate the data acquisition request according to a preset network protocol to obtain an encapsulated data acquisition request; based on the second virtual network card, send the encapsulated data acquisition request to the BMC chip through the first virtual network card; wherein, according to the IP address of the first virtual network card, transmit the data to be transmitted to the first virtual network card.

[0100] In one example, a data acquisition request is generated inside the BIOS firmware. This request may be because the BIOS firmware needs to obtain certain hardware status information from the BMC chip or perform a certain management operation. The BIOS firmware encapsulates the data acquisition request according to the preset network protocol. The data acquisition request is encapsulated into one or more IP data packets inside the second virtual network card. This encapsulation process includes adding the source IP address (the IP address of the second virtual network card), the target IP address (the IP address of the first virtual network card), the TCP / UDP header (according to the transport layer protocol) and other necessary information. The encapsulated data packet will be sent to the sending queue of the second virtual network card, and the second virtual network card will send the data packet to the local area network through its physical network interface (which can be a physical port shared with other network interfaces on the server motherboard, or it can be an independent physical port, which is not required in this embodiment); in the local area network, the data packet is routed to the first virtual network card according to the IP address.

[0101] The first virtual network card managed by the BMC chip monitors data packets on the network. When it receives a data acquisition request from the BIOS firmware, it captures the data packet and decapsulates the data packet at the IP layer, verifies the source IP address (the IP of the second virtual network card) and the destination IP address (the IP of the first virtual network card), and confirms the validity of the data packet. Since the first virtual network card is part of the BMC chip, the data packet decapsulated at the IP layer will be passed to the BMC chip for processing. The firmware or driver in the BMC chip decapsulates the data packet and understands the request content of the BIOS firmware. Based on the request of the BIOS firmware, the BMC chip performs corresponding operations to collect firmware information. This may include retrieving firmware files from the BMC chip's own storage, querying the hardware status to generate reports, or communicating with other management components to obtain necessary data.

[0102] S306. Encapsulate the initial data based on a preset network protocol to obtain data to be transmitted; based on the first virtual network card, transmit the data to be transmitted to the second virtual network card according to the IP address of the second virtual network card.

[0103] In one example, the BMC chip collects the data information required by the BIOS firmware, and it packages the data into a response data packet. The response data packet is encapsulated using a preset network protocol, which includes but is not limited to: http, https, IPMI over LAN, Restful API, Redfish, etc. The data packet encapsulated using the preset network protocol is encapsulated into one or more IP data packets through TCP / UDP datagrams. This encapsulation process includes adding necessary information such as the source IP address (IP address of the first virtual network card), the target IP address (IP address of the second virtual network card), and the TCP / UDP header (according to the transport layer protocol). The encapsulated data packet is sent to the sending queue of the first virtual network card, and the first virtual network card sends the data packet to the local area network through its physical network interface; in the local area network, the data packet is routed to the second virtual network card according to the IP address. This usually involves the participation of switches or routers, which determine the transmission path of the data packet based on the target IP address and MAC address of the data packet. The second virtual network card receives the data packet through its physical network interface.

[0104] S307: Based on the second virtual network card, decapsulate the data to be transmitted according to the preset network protocol to obtain the decapsulated data to be transmitted; based on the second virtual network card, send the decapsulated data to be transmitted to the BIOS firmware.

[0105] In one example, based on the second virtual network card, the decapsulated data to be transmitted is sent to the BIOS firmware through the PCIe bus.

[0106] In one example, when the second virtual network card of the BIOS firmware receives a data packet, the IP layer decapsulation of the data packet is first performed, the source IP address (the IP of the first virtual network card) and the target IP address (the IP of the second virtual network card) are verified, and the validity of the data packet is confirmed. After confirming that the data packet is valid and the target is the BIOS firmware, the second virtual network card transmits the data portion of the data packet to the BIOS firmware through the PCIe bus. As a high-speed serial computer expansion bus standard, the PCIe bus can efficiently transmit data between internal components of the server. When the data packet reaches the BIOS firmware through the PCIe bus, the BIOS firmware performs corresponding network protocol decapsulation processing according to the network protocol type of the data packet. This includes but is not limited to stripping the transport layer header to obtain information such as port number, sequence number, checksum, etc., and further decapsulating it to application layer data. After completing the decapsulation of the network protocol, the BIOS firmware extracts the application layer data, which usually contains specific information or instructions required by the BIOS firmware. The BIOS firmware then parses and processes these data to perform corresponding operations, such as firmware update, status query, etc.

[0107] The present application provides a communication method for a BMC chip, in which two virtual network cards, namely, a first virtual network card and a second virtual network card, are deployed in the BMC chip, and the initial functions thereof are defined, including allocating network card resources, setting MAC addresses, setting interactive interfaces, etc. The BMC chip and the BIOS firmware respectively install a common network protocol for the virtual network cards they manage, ensuring that both parties follow the same network communication rules. Further, the two virtual network cards are configured with IP addresses and subnet masks to ensure that the two virtual network cards are located in the same local area network, thereby building a private and efficient internal communication network. Under this architecture, the BIOS firmware encapsulates the data request according to the network protocol through the second virtual network card, and sends it to the first virtual network card of the BMC chip through the IP addressing mechanism; after the BMC chip receives the data packet, it performs a decapsulation operation to extract the data request, then collects the necessary data according to the request content, and encapsulates it into a data packet again, and sends it back to the second virtual network card of the BIOS firmware through the IP address. Finally, the second virtual network card directly passes the data to the BIOS firmware using the PCIe bus to complete the entire communication process. This solution not only ensures accurate data transmission, but also enhances the isolation and security of the system through a virtual network environment. It also improves data transmission efficiency by leveraging the characteristics of common network protocols and virtual network environments, effectively supports system management and monitoring functions, and provides a solid foundation for system reliability and maintainability, achieving efficient communication between the BMC chip and BIOS firmware.

[0108] Figure 4 A schematic diagram of a communication device for a BMC chip provided in an embodiment of the present application Figure 1 ,like Figure 4 As shown, the device is applied to a BMC chip, in which a first virtual network card corresponding to the BMC chip and a second virtual network card corresponding to the BIOS firmware are deployed. The present application provides a communication device 40 applied to a BMC chip, including:

[0109] The encapsulation module 41 encapsulates the initial data based on a preset network protocol to obtain data to be transmitted.

[0110] The transmission module 42 is used to transmit the data to be transmitted to the second virtual network card through the first virtual network card.

[0111] The sending module 43 is used to send the data to be transmitted to the BIOS firmware based on the second virtual network card.

[0112] The communication device applied to the BMC chip provided in this embodiment can execute the method provided in the above method embodiment. The implementation principle and technical effect are similar, and are not described in detail in this embodiment.

[0113] Figure 5 A schematic diagram of a communication device for a BMC chip provided in an embodiment of the present application Figure 2 ,like Figure 5 As shown, the device is applied to a BMC chip, in which a first virtual network card corresponding to the BMC chip and a second virtual network card corresponding to the BIOS firmware are deployed. The present application provides a communication device 50 applied to a BMC chip, including:

[0114] The encapsulation module 51 encapsulates the initial data based on a preset network protocol to obtain data to be transmitted.

[0115] The transmission module 52 is used to transmit the data to be transmitted to the second virtual network card through the first virtual network card.

[0116] The sending module 53 is used to send the data to be transmitted to the BIOS firmware based on the second virtual network card.

[0117] In one example, the transmission module 52 includes:

[0118] The first transmission module 521 is used to transmit the data to be transmitted to the first virtual network card according to the IP address of the first virtual network card.

[0119] The second transmission module 522 is used to transmit the data to be transmitted to the second virtual network card based on the first virtual network card and according to the IP address of the second virtual network card.

[0120] In one example, the sending module 53 includes:

[0121] The decapsulation module 531 is used to decapsulate the data to be transmitted based on the second virtual network card according to the preset network protocol to obtain the decapsulated data to be transmitted.

[0122] The first sending module 532 is used to send the decapsulated data to be transmitted to the BIOS firmware based on the second virtual network card.

[0123] In one example, the first sending module 532 includes:

[0124] The second sending module 5321 is used to send the decapsulated data to be transmitted to the BIOS firmware through the PCIe bus based on the second virtual network card.

[0125] In one example, the device provided in the embodiment of the present application further includes:

[0126] A receiving module 54, configured to receive a data acquisition request sent by the BIOS firmware based on the second virtual network card;

[0127] The first encapsulation module 55 is used to encapsulate the data acquisition request based on the second virtual network card and according to the preset network protocol to obtain the encapsulated data acquisition request.

[0128] The third sending module 56 is used to send the encapsulated data acquisition request to the BMC chip through the first virtual network card based on the second virtual network card.

[0129] In one example, the device provided in the embodiment of the present application further includes:

[0130] The deployment module 57 is used for the first virtual network card and the second virtual network card, and is deployed in the PCIe bus controller of the BMC chip.

[0131] In one example, the device provided in the embodiment of the present application further includes:

[0132] The initialization module 58 is used to initialize the first virtual network card and the first virtual network card.

[0133] The installation module 59 is used to install the network protocol on the first virtual network card; wherein the network protocol is installed in the second virtual network card.

[0134] The setting module 510 is used to set the IP address and subnet mask corresponding to the first virtual network for the first virtual network card; wherein the second virtual network card is set with the IP address and subnet mask corresponding to the second virtual network.

[0135] In one example, the setting module 510 includes: an IP address corresponding to the first virtual network and an IP address corresponding to the second virtual network, both of which belong to the same local area network; a subnet mask corresponding to the first virtual network and a subnet mask corresponding to the second virtual network, both of which are the same.

[0136] In one example, the initialization module 58 includes one or more of the following: allocating network card resources, setting MAC addresses, and setting interactive interfaces.

[0137] The communication device applied to the BMC chip provided in this embodiment can execute the method provided in the above method embodiment. The implementation principle and technical effect are similar, and are not described in detail in this embodiment.

[0138] Figure 6 A schematic diagram of a BMC chip structure provided in an embodiment of the present application is shown in FIG. Figure 6 As shown, a BMC chip 60 provided in this embodiment includes: a first virtual network card 61 corresponding to the BMC chip 60 and a second virtual network card 62 corresponding to the BIOS firmware are deployed in the BMC chip 60,

[0139] The BMC chip 60 includes a PCIe bus controller 63 , and the first virtual network card 61 and the second virtual network card 62 are deployed in the PCIe bus controller 63 .

[0140] A BMC chip provided in this embodiment can execute the method provided in the above method embodiment. Its implementation principle and technical effect are similar, and will not be described in detail in this embodiment.

[0141] Figure 7 This is a schematic diagram of the computer device structure provided in the embodiment of the present application. Figure 7 As shown, the electronic device 70 provided in this embodiment includes: a BIOS firmware 71 and a BMC chip 60 , wherein the BIOS firmware 71 and the BMC chip 60 are connected via a bus 72 .

[0142] In the above embodiments, it should be understood that the bus may be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, the bus in the drawings of the present application is not limited to only one bus or one type of bus.

[0143] The present application also provides a computer program product, including a computer program, which implements the above method when executed by a processor.

[0144] The present application also provides a computer-readable storage medium, in which computer-executable instructions are stored. When a processor executes the computer-executable instructions, the above method is implemented.

[0145] The above-mentioned readable storage medium can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk. The readable storage medium can be any available medium that can be accessed by a general or special-purpose computer.

[0146] An exemplary readable storage medium is coupled to a processor so that the processor can read information from the readable storage medium and write information to the readable storage medium. Of course, the readable storage medium can also be a component of the processor. The processor and the readable storage medium can be located in an application specific integrated circuit (Application Specific Integrated Circuits, referred to as: ASIC). Of course, the processor and the readable storage medium can also exist in the device as discrete components.

[0147] The division of units is only a logical function division, and there may be other divisions in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interface, device or unit, which can be electrical, mechanical or other forms.

[0148] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0149] In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0150] If the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods of each embodiment of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk, etc. Various media that can store program codes.

[0151] Those skilled in the art can understand that all or part of the steps of implementing the above-mentioned method embodiments can be completed by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, the steps of the above-mentioned method embodiments are executed; and the aforementioned storage medium includes: ROM, RAM, disk or optical disk and other media that can store program codes.

[0152] Finally, it should be noted that those skilled in the art will readily conceive of other embodiments of the present invention after considering the specification and practicing the invention disclosed herein. The present invention is intended to cover any variations, uses or adaptations of the present invention, which follow the general principles of the present invention and include common knowledge or customary technical means in the art not disclosed by the present invention, are not limited to the precise structure described above and shown in the drawings, and may be modified and changed in various ways without departing from the scope thereof. The scope of the present invention is limited only by the appended claims.

Claims

1. A communication method applied to a BMC chip, It is characterized in that The method is applied to a BMC chip, in which a first virtual network card corresponding to the BMC chip and a second virtual network card corresponding to a BIOS firmware are deployed, and the method includes: Encapsulate the initial data based on a preset network protocol to obtain data to be transmitted; Transmitting the data to be transmitted to the second virtual network card through the first virtual network card; The data to be transmitted is sent to the BIOS firmware based on the second virtual network card.

2. The method according to claim 1, It is characterized in that Transmitting the data to be transmitted to the second virtual network card through the first virtual network card, including: According to the IP address of the first virtual network card, the data to be transmitted is transmitted to the first virtual network card; Based on the first virtual network card, the data to be transmitted is transmitted to the second virtual network card according to the IP address of the second virtual network card.

3. The method according to claim 1, It is characterized in that Sending the data to be transmitted to the BIOS firmware based on the second virtual network card includes: Based on the second virtual network card, decapsulate the data to be transmitted according to the preset network protocol to obtain the decapsulated data to be transmitted; Based on the second virtual network card, the decapsulated data to be transmitted is sent to the BIOS firmware.

4. The method according to claim 3, It is characterized in that Based on the second virtual network card, sending the decapsulated data to be transmitted to the BIOS firmware includes: Based on the second virtual network card, the decapsulated data to be transmitted is sent to the BIOS firmware through the PCIe bus.

5. The method according to claim 1, It is characterized in that The method further comprises: Based on the second virtual network card, receiving the data acquisition request sent by the BIOS firmware; and based on the second virtual network card, encapsulating the data acquisition request according to a preset network protocol to obtain an encapsulated data acquisition request; Based on the second virtual network card, the encapsulated data acquisition request is sent to the BMC chip through the first virtual network card.

6. The method according to any one of claims 1 to 5, It is characterized in that The first virtual network card and the second virtual network card are deployed in the PCIe bus controller of the BMC chip.

7. The method according to any one of claims 1 to 5, It is characterized in that The method further comprises: Initializing the first virtual network card and the second virtual network card; Installing a network protocol on the first virtual network card; wherein the second virtual network card has a network protocol installed therein; For the first virtual network card, an IP address and a subnet mask corresponding to the first virtual network are set; wherein the second virtual network card is set with an IP address and a subnet mask corresponding to the second virtual network.

8. The method according to claim 7, It is characterized in that The IP address corresponding to the first virtual network and the IP address corresponding to the second virtual network belong to the same local area network; the subnet mask corresponding to the first virtual network and the subnet mask corresponding to the second virtual network are the same.

9. The method according to claim 7, It is characterized in that The initialization process includes one or more of the following: Allocate network card resources, set MAC addresses, and set interactive interfaces.

10. A communication device applied to a BMC chip, It is characterized in that The device is applied to a BMC chip, in which a first virtual network card corresponding to the BMC chip and a second virtual network card corresponding to a BIOS firmware are deployed, and the device includes: The encapsulation module is used to encapsulate the initial data based on the preset network protocol to obtain the data to be transmitted; A transmission module, used for transmitting the data to be transmitted to the second virtual network card through the first virtual network card; A sending module is used to send the data to be transmitted to the BIOS firmware based on the second virtual network card.

11. A BMC chip, It is characterized in that A first virtual network card corresponding to the BMC chip and a second virtual network card corresponding to the BIOS firmware are deployed in the BMC chip, and the BMC chip is used to implement the method according to any one of claims 1 to 9.

12. The BMC chip according to claim 11, It is characterized in that The BMC chip includes a PCIe bus controller, and the first virtual network card and the second virtual network card are deployed in the PCIe bus controller.

13. A computer device, It is characterized in that The computer device is provided with BIOS firmware and the BMC chip as claimed in claim 11 or 12.

14. A computer-readable storage medium, It is characterized in that The computer-readable storage medium stores computer-executable instructions, which are used to implement the method according to any one of claims 1 to 9 when executed by a processor.

15. A computer program product, It is characterized in that The invention comprises a computer program, which implements the method according to any one of claims 1 to 9 when being executed by a processor.

Citation Information

Patent Citations

  • Hybrid heterogeneous virtualization communication method and chip

    CN112433826A

  • Data interaction method, device and system for BMC and BIOS

    CN113238863A

  • Data transmission method and device under virtualization management, equipment and medium

    CN116248772A

  • Information acquisition method and device of data processor, equipment and medium

    CN118337840A

  • Data transmission method and device based on remote direct memory access (RDMA), electronic device and computer storage medium

    CN118519934A

Cited By

  • Virtual network system and method and electronic equipment

    CN122293462A

  • A virtual network system, method and electronic device

    CN122293462B