Server control method and device, storage medium and program product

By using a PCIe bus-interconnected control chip and main chip in the server, video data transmission and display control are realized, solving the problem of high-cost VGA modules limiting the application of KVM technology, reducing implementation costs and expanding the scope of display control.

CN120596045APending Publication Date: 2025-09-05HANGZHOU ALICLOUD FEITIAN INFORMATION TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410252316.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-03-05
Publication Date
2025-09-05

AI Technical Summary

Technical Problem

In existing server KVM technology, the BMC with VGA module is expensive, which limits the widespread application of KVM technology.

Method used

The control chip and the main chip are interconnected through the PCIe bus, and the PCIe root device and PCIe endpoint device are implemented on the main chip and the control chip respectively, forming a video transmission channel between the main chip and the control chip. This channel is used to transmit the video data generated by the server during startup and/or operation to the control chip, and then the control chip displays the video data on the display device, avoiding dependence on expensive VGA modules.

Benefits of technology

It reduces the cost of implementing KVM technology, promotes the widespread application of KVM technology, and solves the bottleneck problem faced by chip technology.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120596045A_ABST
    Figure CN120596045A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a server control method and device, a storage medium and a program product. In the embodiment of the invention, for a server, a management and control chip and a main chip are interconnected through a PCIe bus, PCIe root equipment and PCIe endpoint equipment are respectively realized on the main chip and the management and control chip, and the PCIe root equipment and the PCIe endpoint equipment form a video transmission channel between the main chip and the management and control chip. Video data generated in the starting and / or running process of the server is transmitted to the control chip through the video transmission channel, and then the control chip displays the video data on the display device connected with the control chip, so that display control over the server is achieved, an expensive VGA module is not needed any more, the implementation cost is reduced, and the implementation efficiency is improved. And wide application of the KVM technology is facilitated.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of chip technology, and in particular to a server management and control method, device, storage medium and program product. Background Art

[0002] KVM, short for Keyboard, Video, and Mouse, is a technology that uses a keyboard, monitor, or mouse to control multiple devices. It plays a vital role in remote scheduling and monitoring. In environments with multiple servers, such as computer rooms, KVM can be introduced to remotely manage multiple servers, reducing the complexity of server management.

[0003] Traditionally, servers use a Baseboard Management Controller (BMC) with a VGA (Video Graphics Array) module for KVM management. The BMC's VGA module can be attached to the server's Central Processing Unit (CPU), acting as the server's graphics card to display the server's interface.

[0004] However, the high cost of BMC with VGA module limits the widespread application of KVM technology. Summary of the Invention

[0005] Multiple aspects of the present application provide a server management and control method, device, storage medium and program product for implementing display control of the server without relying on a BMC with a VGA module, reducing implementation costs and promoting the widespread application of KVM technology.

[0006] An embodiment of the present application provides a server, comprising: a main chip and a control chip interconnected via a PCIe bus; a PCIe root device and a PCIe endpoint device are respectively implemented on the main chip and the control chip, and the PCIe root device and the PCIe endpoint device form a video transmission channel between the main chip and the control chip; the main chip is used to obtain video data generated by the server during startup and / or operation, and transmit the video data to the PCIe endpoint device via the PCIe root device; the control chip is used to read the video data from the PCIe endpoint device and display the video data on a display device interconnected with the control chip, thereby realizing display control of the server.

[0007] An embodiment of the present application also provides a server, comprising: a main chip and a control chip; a bus controller and a bus device are respectively implemented on the main chip and the control chip, and the bus controller and the bus device are interconnected via a target bus to form a video transmission channel between the main chip and the control chip; the main chip is used to obtain video data generated by the server during startup and / or operation, and transmit the video data to the bus device via the bus controller; the control chip is used to read the video data from the bus device and display the video data on a display device interconnected with the control chip, thereby realizing display control of the server.

[0008] An embodiment of the present application also provides a control chip, which is applied to a server, and the control chip is interconnected with the main chip of the server through a PCIe bus; the main chip and the control chip respectively implement a PCIe root device and a PCIe endpoint device, and the PCIe root device and the PCIe endpoint device form a video transmission channel between the main chip and the control chip; the control chip is used to read video data from the PCIe endpoint device and display the video data on a display device interconnected with the control chip to realize display control of the server; wherein, the video data is generated by the server during startup and / or operation and transmitted by the main chip to the PCIe endpoint device via the PCIe root device.

[0009] An embodiment of the present application also provides a main chip, which is applied to a server, and the main chip is interconnected with the control chip of the server through a PCIe bus; a PCIe root device and a PCIe endpoint device are respectively implemented on the main chip and the control chip, and the PCIe root device and the PCIe endpoint device form a video transmission channel between the main chip and the control chip; the main chip is used to obtain video data generated by the server during startup and / or operation, and transmit the video data to the PCIe endpoint device via the PCIe root device, so that the control chip can read the video data from the PCIe endpoint device and display the video data on a display device interconnected with the control chip, thereby realizing display control of the server.

[0010] An embodiment of the present application also provides a server board, which integrates a main chip and a control chip, and the main chip and the control chip are interconnected via a PCIe bus; a PCIe root device and a PCIe endpoint device are respectively implemented on the main chip and the control chip, and the PCIe root device and the PCIe endpoint device form a video transmission channel between the main chip and the control chip; the main chip is used to obtain video data generated by the server during startup and / or operation, and transmit the video data to the PCIe endpoint device via the PCIe root device; the control chip is used to read the video data from the PCIe endpoint device and display the video data on a display device interconnected with the control chip, thereby realizing display control of the server.

[0011] An embodiment of the present application also provides a server management and control method, which is applied to a main chip in the server, and the main chip is connected to a management and control chip through a PCIe bus; a PCIe root device and a PCIe endpoint device are respectively implemented on the main chip and the management and control chip, and the PCIe root device and the PCIe endpoint device form a video transmission channel between the main chip and the management and control chip; the method includes: obtaining video data generated by the server during startup and / or operation; transmitting the video data to the PCIe endpoint device via the PCIe root device, so that the management and control chip can read the video data from the PCIe endpoint device and display the video data on a display device interconnected with the management and control chip, thereby realizing display control of the server.

[0012] An embodiment of the present application also provides a server management and control method, which is applied to a management and control chip in the server, wherein the management and control chip is connected to a PCIe bus and a main chip; a PCIe root device and a PCIe endpoint device are respectively implemented on the main chip and the management and control chip, and the PCIe root device and the PCIe endpoint device form a video transmission channel between the main chip and the management and control chip; the method includes: reading video data from the PCIe endpoint device, wherein the video data is generated by the server during startup and / or operation and transmitted by the main chip to the PCIe endpoint device via the PCIe root device; and displaying the video data on a display device interconnected with the management and control chip to realize display control of the server.

[0013] An embodiment of the present application further provides a computer-readable storage medium storing a computer program, which, when executed by a processor, enables the processor to implement the steps in the above-described method.

[0014] An embodiment of the present application further provides a computer program product, which includes a computer program / instructions. When the computer program / instructions are executed by a processor, the processor is enabled to implement the steps in the above method embodiment.

[0015] In an embodiment of the present application, for the server, the control chip and the main chip are interconnected through the PCIe bus, and the PCIe root device and PCIe endpoint device are implemented on the main chip and the control chip respectively. The PCIe root device and the PCIe endpoint device form a video transmission channel between the main chip and the control chip. The video data generated by the server during startup and / or operation is transmitted to the control chip through the video transmission channel, and then the control chip displays the video data on the display device interconnected with it, thereby realizing display control of the server, and no longer relying on expensive VGA modules, reducing implementation costs, and promoting the widespread application of KVM technology. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

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

[0018] Figure 2 A topological diagram of a PCIe bus system provided by an exemplary embodiment of the present application;

[0019] Figure 3 A schematic diagram of the structure of a server provided in another exemplary embodiment of the present application;

[0020] Figure 4 A schematic structural diagram of a server provided in yet another exemplary embodiment of the present application;

[0021] Figure 5 A schematic diagram of an internal implementation framework of a graphics card driver provided by another exemplary embodiment of the present application;

[0022] Figure 6 A schematic diagram showing the relationship between various DRM elements provided in yet another exemplary embodiment of the present application;

[0023] Figure 7 A schematic diagram of a graphics driver loading process provided by another exemplary embodiment of the present application;

[0024] Figure 8 A schematic structural diagram of a server provided in yet another exemplary embodiment of the present application;

[0025] Figure 9 A flowchart of a server management and control method provided as another exemplary embodiment of the present application;

[0026] Figure 10 A flowchart of another server management and control method provided as yet another exemplary embodiment of the present application. DETAILED DESCRIPTION

[0027] To make the purpose, technical solutions, and advantages of this application more clear, the technical solutions of this application will be clearly and completely described below in conjunction with the specific embodiments of this application and the corresponding drawings. Obviously, the embodiments described are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.

[0028] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and provide corresponding operation portals for users to choose to authorize or refuse. In addition, the various models involved in this application (including but not limited to language models or large models) are in compliance with relevant laws and standards.

[0029] In response to the technical problem that the existing BMC with a VGA module is expensive and limits the widespread application of KVM technology, the embodiments of the present application provide a solution. The basic idea is: for the server, the control chip and the main chip are interconnected through the PCIe bus, and the PCIe root device and PCIe endpoint device are implemented on the main chip and the control chip respectively. The PCIe root device and PCIe endpoint device form a video transmission channel between the main chip and the control chip. The video data generated by the server during startup and / or operation is transmitted to the control chip through the video transmission channel, and then the control chip displays the video data on the display device connected to it, thereby realizing display control of the server, and no longer relying on expensive VGA modules, reducing implementation costs, and promoting the widespread application of KVM technology.

[0030] The following describes in detail the technical solutions provided by various embodiments of the present application in conjunction with the accompanying drawings.

[0031] Figure 1 This is a schematic diagram of the structure of a server provided by an exemplary embodiment of the present application. Figure 1As shown, the server 100 includes: a main chip 101 and a control chip 102 interconnected via a PCIe (Peripheral Component Interconnect Express) bus. The main chip 101 is the main chip of the server and the basic chip of the server. It is the chip that the server relies on to implement its main functions. The embodiment of the present application does not limit the implementation form of the main chip 101. It can be determined according to the application scenario of the server and the functions to be implemented. For example, it can be a CPU chip, a GPU (Graphics Processing Unit) chip, a DPU (Data Processing Unit) chip, etc.; the control chip 102 is a hardware unit independent of the main chip 101. It can assist the main chip 101 in providing some control and management functions for the server, such as power management, temperature monitoring, peripheral device management, etc. In the embodiment of the present application, the implementation method of the control chip 102 is also not limited. It can be various chips with auxiliary management functions, such as SoC (System on Chip) chips, BMCs, etc. Preferably, in order to reduce chip costs, the control chip 102 can be a chip without a VGA module.

[0032] In an embodiment of the present application, a PCIe root device 1011 and a PCIe endpoint device 1021 are implemented on the main chip 101 and the control chip 102, respectively. The PCIe root device 1011 and the PCIe endpoint device 1021 form a video transmission channel between the main chip 101 and the control chip 102. Based on this video transmission channel, the control chip 102 is at least used to assist the main chip 101 in controlling the display of the server. The main chip 101 is used to obtain video data generated by the server during startup and / or operation, and transmit the video data to the PCIe endpoint device 1021 via the PCIe root device 1011. The control chip 102 is used to read the video data from the PCIe endpoint device 1021 and display the video data on a display device 103 interconnected with the control chip 102, thereby controlling the display of the server 100.

[0033] In this embodiment, the PCIe root device 1011 is specifically implemented as an RC (Root Complex), and the PCIe endpoint device 1021 is specifically implemented as an EP (Endpoint). RC and EP are described in detail as follows:

[0034] In the server architecture using the PCIe bus in this application, it mainly includes RC, EP, Bridge and Switch. Figure 2As shown in the figure, it is a topology of a PCIe bus system, where RC is located at the root node of the topology and is the interface between CPI and PCIe bus. The processor on the main chip 101 is connected to the PCIe bus through it; EP is at the end of the PCIe bus system topology and is used to initiate or receive PCIe requests and messages, including PCIe EP and Legacy EP. The Legacy EP is not designed for the PCIe interface, but is an old device adapted to the PCIe interface for compatibility; Bridge provides access to other buses, such as PCI (Peripheral Component Interconnect) or PCI-X (an upgraded version of the traditional PCI bus). Bridge corresponds to Figure 2 "PCIe Bridge to PCIOr PCI-x"; the switch provides expansion capabilities, allowing more devices to be connected to a PCIe port. Bridges and switches can interconnect multiple PCIe endpoint devices, but this is not limited to this. Therefore, bridges and switches are optional components, and PCIe root device 1011 and PCIe endpoint device 1021 can be directly interconnected.

[0035] In this embodiment, a PCIe root device is implemented on the master chip, and a PCIe endpoint device is implemented on the control chip. The master and control chips are interconnected via a PCIe bus, so that the PCIe root device and the PCIe endpoint device form a transmission channel between the master and control chips, which serves as a video transmission channel. Using this video transmission channel, the master chip captures video data generated by the server during startup and / or operation, and transmits the video data to the PCIe endpoint device via the PCIe root device. The control chip then reads the video data from the PCIe endpoint device and displays it on a display device connected to the control chip, thereby controlling the server's display.

[0036] Among them, there is no restriction on the implementation method of the video transmission channel. In an optional embodiment, the base address register (BAR) of the PCIe endpoint device is mapped to the memory space of the PCIe root device as a video transmission channel between the main chip and the control chip; the main chip is specifically used to: write the video data into the memory space of the PCIe root device, and control the PCIe root device to transmit the video data in the memory space to the cache of the PCIe endpoint device via the PCIe bus.

[0037] In an embodiment of the present application, for a server, a control chip is interconnected with a main chip via a PCIe bus, and a PCIe root device and a PCIe endpoint device are implemented on the main chip and the control chip, respectively. The PCIe root device and the PCIe endpoint device form a video transmission channel between the main chip and the control chip. The video data generated by the server during startup and / or operation is transmitted to the control chip via the video transmission channel, and then the control chip displays the video data on a display device interconnected therewith, thereby realizing display control of the server without relying on expensive VGA modules, reducing implementation costs, and promoting the widespread application of KVM technology. In addition, the technology of BMCs with VGA modules is currently locked in foreign manufacturers. The technical solution of the present application can expand the display control of servers to ordinary chips, and to a certain extent can also solve the bottleneck problem faced by chip technology, which is of great significance to the entire chip industry.

[0038] Because the server itself is not equipped with a graphics card, there is no driver for driving the graphics card in the server's operating system. Therefore, in order to assist the main control chip in completing the acquisition, processing, and transmission of video data, compared with traditional server operating systems, the technical solution of this application requires the server to be equipped with a driver for acquiring, processing, and transmitting video data. The implementation method of adding a driver for acquiring, processing, and transmitting video data to the server can be determined based on the display control requirements of the server.

[0039] In the embodiments of the present application, the entire life cycle of a server can be divided into a startup process and a post-startup operation process. The server startup process includes the process of booting the operating system based on the server's boot program and the server operating system startup process. The post-startup operation process mainly refers to the process of the server running normally based on the booted operating system. Each of the aforementioned processes involves video data. For example, the boot splash screen can be displayed during the boot program operation, the operating system startup screen can be displayed during the operating system startup, and the interfaces of various application programs and the server's main interface can be displayed during the operating system operation.

[0040] Specifically, if the display control requirements for the server only involve the display control during the operating system startup process and / or the normal operation process after the operating system is started, a new graphics card driver can be added to the server's operating system; if the display control requirements for the server only involve the display control during the boot program startup process, a new graphics driver can be added to the server's boot program; if the display control requirements for the server involve the entire life cycle of the server, that is, the display control during the boot program startup process, the operating system startup process, and the normal operation process after the operating system is started, a new graphics card driver can be added to the server's operating system and a new graphics driver can be added to the server's boot program at the same time. Figure 3 As shown, the main chip 101 includes a first processor 1012 and a first memory (not shown in the figure), the first memory stores the program code of the operating system and / or the boot program, of course, the first memory can also store other data and the program code of other applications running on the server; the first processor 1012 runs the graphics card driver to obtain the video data generated by the operating system during the startup process and the operation process, and transmits the video data to the PCIe endpoint device 1021 via the PCIe root device 1011, and / or, the first processor 1012 runs the graphics driver to obtain the video data generated by the boot program during the operation process, and transmits the video data to the PCIe endpoint device 1021 via the PCIe root device 1011.

[0041] In this embodiment, the operating system runs on the main chip, which manages the server's hardware resources and executes application programs. Common operating systems include Windows (an operating system launched by Microsoft with a graphical user interface as its main feature) and Linux (an open source UNIX-like operating system), etc. This application does not impose any restrictions on this. The boot program is responsible for booting the operating system. It performs hardware initialization when the server starts and provides some control before running the operating system. Optionally, the boot program can be BIOS (Basic Input Output System) or UEFI (Unified Extensible Firmware Interface), etc. This application does not impose any restrictions on this.

[0042] Further optionally, a data migration service is deployed on the control chip; Figure 3As shown, the management and control chip 102 includes a second processor 1022 and a second memory (not shown in the figure), and the second memory is used to store at least the program code of the data migration service. Of course, the second memory is also used to store other data or program codes related to the storage management and control chip 102; the second processor 1022 runs the data migration service, which is used to read video data from the PCIe endpoint device 1021 and display the video data on the display device 301 to realize display control of the server.

[0043] It should be noted that the data migration service is a software program developed by this application for the control chip to assist the control chip in completing the migration and display control of video data.

[0044] In the embodiments of the present application, the implementation method of the display device is not limited, and it may include a local display device, a remote display device, or both a local display device and a remote display device. Among them, based on the local display device, the video data of the server can be displayed locally, and based on the remote display device, the video data of the server can be displayed remotely. In an optional embodiment, the display device includes a local display device, and the management and control chip includes: a video interconnection interface interconnected with the local display device, and a first frame buffer area that provides storage services for the local display device; the second processor runs a data migration service for reading video data from the cache of the PCIe endpoint device, writing the video data into the first frame buffer area (Framebuffer), and sending the video data in the first frame buffer area to the local display device for display through the video interconnection interface.

[0045] Among them, the first frame buffer area is a memory area used to store and manage video data to be displayed; the video interconnection interface is responsible for sending the video data in the first frame buffer area to the local display device for display. The video interconnection interface can be HDMI (High Definition Multimedia Interface) or VGA (Video Graphics Array), etc., and this application does not impose any restrictions on this.

[0046] Relative to the local display device, optionally, the display device includes a remote display device; in order to realize remote display control, a virtual network console VNC (Virtual Network Computing) server is also deployed on the management and control chip, wherein the program code of the VNC server is stored in the second memory, and the second processor runs the program code to realize the functions of the VNC server; a VNC client is deployed and run on the remote display device, and remote transmission and display control of video data are realized with the help of the VNC server and the VNC client; based on this, the second processor runs a data migration service, and is also used to read the video data from the cache of the PCIe endpoint device, write the video data into the second frame cache area of ​​the VNC server, and control the VNC server to transmit the video data to the remote display device via the network for display, and the remote display device runs the VNC client, and displays the video data on the screen through the VNC client.

[0047] In this embodiment, the second frame buffer area is a memory area of ​​the VNC server, which is used to store video data to be displayed; in an optional embodiment, the second frame buffer area can be a virtual memory area that is not mapped to any physical display device, but serves as a storage area for video data, which is then transmitted to the VNC client via the network; in another optional embodiment, the second frame buffer area can also be an actual memory area, and the video data in this memory area is directly sent to the connected display device, so that the video data is displayed using the display device.

[0048] That is, the second frame buffer area can be at the software level, used for displaying video data (such as a remote display device), or it can be at the hardware level, an actual memory area, used for physical output of video data.

[0049] The above embodiment implements the video function in "KVM". The following embodiment will explain the keyboard and mouse functions in detail:

[0050] In an alternative embodiment, if Figure 4 As shown, the control chip 102 includes a serial interface interconnected with an external interactive device, and the external interactive device includes a keyboard and / or a mouse; the control chip 102 is also interconnected with the main chip through a serial bus, and the serial interface and the serial bus belong to the same serial bus protocol; the control chip 102 is also used to: obtain interactive events generated by external interactive devices, and transmit the interactive events to the main chip through the serial bus; the main chip 101 is also used to: receive interactive events, and respond to interactive events to achieve interactive control of the server.

[0051] In this embodiment, there is no restriction on the serial interface and serial bus. As long as the corresponding drivers are deployed on the control chip and the main chip, all serial interfaces and serial buses belonging to the same serial bus protocol are applicable to this embodiment.

[0052] In an optional embodiment, the serial interface is a universal serial bus USB (Universal Serial Bus) interface, and the serial bus is a USB bus; a USB device controller (USB Device Controller, UDC) is deployed on the management and control chip to obtain interaction events generated by the external interactive device and transmit the interaction events to the main chip through the serial bus; a USB host controller (USB Host Controller, UHC) is deployed on the main chip to receive interaction events and respond to interaction events.

[0053] Specifically, USB device drivers are classified as either USB device host-side drivers (master mode) or USB device slave-side drivers (slave mode), depending on the operating mode (master or slave) of the USB controller associated with the device. A USB controller operating in master mode is called a USB host controller, while one operating in slave mode is called a USB device controller.

[0054] In one example, the USB device is driven from the machine side under the Linux system, which is called a USB Gadget driver. The control chip is configured as a USB Gadget device through its built-in USB device controller and USB Gadget driver to simulate HID (Human Interface Devices) devices such as keyboards and mice. When the USB Gadget device is connected to the USB host controller through the USB bus, the USB host controller detects the new device access and immediately starts the enumeration process to identify and configure the device. When the control chip captures interaction events from external interactive devices (such as keyboard strokes or mouse movements), and encapsulates these interaction events into data packets according to the HID protocol through the USB bus, and transmits them to the main chip through the USB serial bus, the USB host controller of the main chip receives the data packets from the control chip, parses the data packets to extract the corresponding interaction events, and the operating system performs corresponding operations based on the parsed interaction events, such as updating the cursor position, entering characters, etc.

[0055] It should be noted that, based on the USB Gadget driver, various USB device types (such as sound cards, serial ports, etc.) can be simulated, and are not limited to simulating HID devices. This application does not impose any restrictions on this.

[0056] In the embodiment of the present application, it is not limited whether the main chip and the control chip are integrated on the same board. In an optional embodiment, the main chip and the control chip are integrated on the same board.

[0057] In the above embodiments of the present application, the interconnection between the main chip and the control chip via the PCIe bus is described as an example, but it is not limited to the PCIe bus. Other buses similar to the PCIe bus, such as the PCI bus, can also be used. There is no limitation on this. Based on this, the embodiments of the present application also provide a server, including a main chip and a control chip; a bus controller and a bus device are respectively implemented on the main chip and the control chip, and the bus controller and the bus device are interconnected via the target bus to form a video transmission channel between the main chip and the control chip; the main chip is used to obtain the video data generated by the server during startup and / or operation, and transmit the video data to the bus device via the bus controller; the control chip is used to read the video data from the bus device and display the video data on a display device interconnected with the control chip to realize display control of the server. Compared with the server in the aforementioned embodiment, the difference of the server provided in this embodiment is only that: the interconnection bus between the main chip and the control chip is specifically the target bus, and the bus controller and bus device are implemented on the main chip and the control chip respectively; wherein, the target bus can be a generalization of similar buses such as PCIe and PCI. When the target bus is implemented as a PCIe bus, the bus controller and bus device are respectively the PCIe root device and the PCIe endpoint device. Therefore, the relevant descriptions of the server provided in this embodiment can be referred to the aforementioned embodiment and will not be repeated here.

[0058] Furthermore, the embodiments of the present application do not limit the implementation methods of the graphics card driver and the graphics driver. Different chip manufacturers may have their own implementation methods. They may use existing graphics card drivers or graphics card drivers developed by the chip manufacturers themselves. Any driving method that can realize the corresponding functions of the graphics card driver and the graphics driver in the above embodiments is applicable to the embodiments of the present application.

[0059] The following is an example of how to implement a graphics card driver:

[0060] In an optional embodiment, the operating system of the server is implemented as a Linux system, and accordingly, the graphics driver program added to the operating system can be implemented using the existing graphics driver program under the Linux system. Figure 5 As shown in FIG, an internal implementation framework of a graphics card driver under a Linux system, including X11 at the application layer and DRM (Direct Rendering Manager) at the kernel layer.

[0061] Specifically, if Figure 5As shown, X11 consists of at least one X Client and an X Server. Also known as the X Window System, X11 is a client-server system for graphical displays, designed to manage and render graphical user interfaces (GUIs). X11 allows multiple X clients to share the same display device, with each client displaying its graphical output as a window on the screen.

[0062] The X Server is the server-side component of X11, responsible for managing graphics hardware and processing graphics display requests. It interacts with display hardware (such as graphics cards and monitors) through device drivers, such as AMD (Advanced Micro Devices) or NVIDIA (NVIDIA) graphics drivers, and renders graphics data on the screen. The X Server is responsible for the following key tasks:

[0063] Initialization and startup: Loading at system startup, initializing graphics hardware, and establishing connections with hardware devices such as graphics cards and monitors;

[0064] Device and display management: Communicate with graphics hardware through the corresponding device driver, identify display devices and configure them.

[0065] Window management: handles window creation, resource allocation, drawing window title bars and borders, and window status tracking;

[0066] Graphics rendering and output: Receives graphics requests from X Client, processes them, and outputs the rendered results to the screen;

[0067] Event processing: Capture user input events and system events and distribute them to the corresponding X Client;

[0068] Multitasking support: allows multiple X Clients to run and display simultaneously, manages resource allocation and scheduling between them, and enables them to work together.

[0069] The X Client is the client component of X11, representing user programs or applications and providing a graphical interface to the user. The X Client does not communicate directly with graphics hardware, but instead uses the X Server for graphical display. It sends graphics requests and events to the X Server, which processes and displays the graphical output on the screen. An X Client can be a variety of graphical applications, such as window managers, terminal emulators, browsers, and graphics editors. Each X Client manages its own independent graphics area. Specifically, the X Client is responsible for the following key tasks:

[0070] Connecting to X Server: When the X Client starts, it will try to connect to the X Server through the network socket to establish a communication channel;

[0071] Sending graphics requests: After a successful connection, the X Client sends graphics requests to the X Server using the X11 protocol, which includes creating windows, drawing graphics, setting colors, processing events, etc.

[0072] Receiving events: The X Client is responsible for receiving events from the X Server. These events include user input (such as keyboard keystrokes and mouse clicks) and system events (such as window changes). The X Client responds to user actions or updates the interface based on these events.

[0073] Graphics rendering: The X Client uses the X11 protocol's graphics drawing functions to render graphics based on the received request, including drawing graphic objects, text, and images. It then encapsulates the rendering results into the X11 protocol format and sends them to the X Server for display.

[0074] Processing event responses: The X Client processes events received from the X Server based on their type and content. For example, for keyboard events, the X Client might process text input based on the ASCII code (American Standard Code for Information Interchange) of the keystrokes. For mouse click events, the X Client might trigger corresponding actions or graphical interface updates.

[0075] Window management: If the X Client is a graphical interface application, it is also responsible for managing the windows it creates, including controlling the window's position, size, and display status, and handling various window operations (such as moving, resizing, maximizing, and minimizing).

[0076] Disconnection: When the X Client ends its operation or needs to disconnect from the X Server, it closes the connection channel, releases resources, and notifies the X Server so that the X Server can clean up the resources corresponding to the X Client.

[0077] Common X Clients include window managers (for managing window layout and operations), terminal emulators (for providing command-line terminal interfaces), graphics editors (for editing images and vector graphics), and browsers (for browsing web pages and displaying web page content).

[0078] X11 further optionally includes an X Window Manager, which is a special XClient responsible for managing multiple X Clients for the X server, acting as a window manager. Optionally, the X Window Manager can be XFCE (X Forms Common Environment, a lightweight Unix-like desktop system) or KDE (KDesktop Environment), etc., but this application does not impose any restrictions on this.

[0079] In this embodiment, DRM is a subsystem within the Linux kernel dedicated to supporting graphics hardware acceleration and direct rendering. It provides an interface for accessing graphics hardware, enabling user-space graphics applications to directly access graphics hardware for efficient graphics rendering. The DRM subsystem includes two key components: KMS (Kernel Mode Setting) and GEM (Graphics Execution Manager), responsible for graphics hardware management and framebuffer management, respectively.

[0080] Among them, KMS is used for graphics hardware management, allowing the operating system kernel to directly control the display hardware, such as screen resolution and image display mode, without relying on user space programs (such as X Server). These tasks are transferred to the kernel through KMS, so that the display device can be automatically detected and set when the kernel starts, and applications can also dynamically change display settings at runtime.

[0081] GEM manages the framebuffer and provides an interface for graphics memory management. It allocates and manages graphics hardware memory buffers, which are primarily used to store graphics data and rendering results. GEM also provides a memory management mechanism between graphics drivers and applications, facilitating communication and reducing conflicts and competition for graphics memory resources. Using the GEM interface, graphics applications can request graphics buffers and perform rendering operations within them. Furthermore, GEM supports memory mapping, allowing applications to directly access graphics buffers, resulting in more efficient graphics rendering.

[0082] Among them, DRM involves many elements. KMS includes Framebuffer, Plane (hardware layer), CRTC (display controller), Encoder (encoder), Connector (connector), etc. The relationship between each element is as follows: Figure 6 As shown, the following is a detailed introduction to the working content of each element:

[0083] Framebuffer: used to store image data to be displayed;

[0084] Plane: used to realize multi-layer composite display;

[0085] CRTC: used to read the image data to be displayed from the Framebuffer and output it to the Encoder in the corresponding format;

[0086] Encoder: used to convert the output of CRTC into a signal suitable for a specific type of display device (such as HDMI, VGA, etc.);

[0087] Connector: refers to the physical interface with the display device, used to connect to the display device and transmit the generated signal to the display device.

[0088] In this embodiment, there are multiple ways for the Connector to transmit the generated signal to the display device. In an optional embodiment, the Connector specifically implements a PCIe root device. Accordingly, the PCIe root device and the PCIe endpoint device form a video transmission channel between the main chip and the control chip, which is PCIe. The video data is transmitted to the PCIe endpoint device via the PCIe root device, so that the control chip can read the video data from the PCIe endpoint device and display the video data on the display device interconnected with the control chip, thereby realizing display control of the server. In another optional embodiment, the Connector is interconnected with the PCIe root device through an internal bus, transmits the video data to the PCIe root device, and then transmits the video data to the PCIe endpoint device via the PCIe root device, so that the control chip can read the video data from the PCIe endpoint device and display the video data on the display device interconnected with the control chip, thereby realizing display control of the server.

[0089] Accordingly, an implementation method of a graphics driver is described below by way of example.

[0090] like Figure 7 As shown, when the boot program is UEFI, the graphics driver loading process includes: UEFIDXE (Driver Execution Environment) → UEFI display protocol → GOP (Graphics Output Protocol) driver.

[0091] It should be noted that the stages included in the above-mentioned graphics driver are only for illustration purposes and do not mean that the graphics driver only includes the above-mentioned stages, nor does it mean that the graphics driver must include the above-mentioned stages. The following is an introduction to the various stages of the graphics driver:

[0092] UEFIDXE performs most of the system initialization work. When entering this stage, the memory has been initialized. In addition, in the UEFIDXE stage, PCIe device enumeration will be performed. Enumeration refers to the identification, initialization and all PCIe devices in the system. This process ensures that each device is correctly identified and resources are allocated to each device for its normal operation. In this stage, the PCIe endpoint device will be enumerated as a display device to ensure that the video data is correctly transmitted to the PCIe endpoint device during the UEFI startup process. In addition, after the enumeration and resource allocation are completed, the memory space of each PCIe device has been determined, and the corresponding data register can be confirmed through the base address register BAR;

[0093] The UEFI display protocol, also known as the graphics output protocol, defines what video data is stored in the display cache. This video data includes video data generated during the boot process and after boot, as well as video data generated by mouse and keyboard interactions.

[0094] The GOP driver is a specific implementation of the UEFI display protocol. According to the definition of the protocol, it grabs the corresponding video data from the memory space and outputs it to the PCIe endpoint device.

[0095] In combination with the above-mentioned display driver and graphics driver embodiments, as Figure 8 As shown, the present application also provides a server, which includes a main chip and a control chip interconnected by a PCIe bus; the main chip and the control chip are integrated on the same board; the PCIe root device and the PCIe endpoint device are respectively implemented on the main chip and the control chip, and the PCIe root device and the PCIe endpoint device form a video transmission channel between the main chip and the control chip; the main chip includes a first processor, and the first processor runs a graphics card driver. The specific implementation method of the graphics card driver is referred to Figure 5 The embodiment shown is used to obtain the video data generated by the operating system during the startup process and the operation process, and transmit the video data to the PCIe endpoint device via the PCIe root device; and the server boot program includes a graphics driver; the first processor runs the graphics driver, and the specific implementation method of the graphics driver is referred to Figure 7 The illustrated embodiment is used to obtain video data generated during the operation of the boot program, and transmit the video data to the PCIe endpoint device via the PCIe root device.

[0096] Among them, the base address register BAR of the PCIe endpoint device is mapped to the memory space of the PCIe root device as a video transmission channel between the main chip and the control chip; the main chip is specifically used to: write video data into the memory space of the PCIe root device, and control the PCIe root device to transmit the video data in the memory space to the cache of the PCIe endpoint device via the PCIe bus.

[0097] Furthermore, a data migration service is deployed on the management and control chip; the management and control chip includes a second processor, which runs the data migration service for reading video data from the PCIe endpoint device and displaying the video data on the display device to realize display control of the server.

[0098] The display device includes a local display device; the control chip also includes: a video interconnection interface interconnected with the local display device, and a first frame buffer area that provides storage services for the local display device; the second processor runs a data migration service for reading video data from the cache of the PCIe endpoint device, writing the video data to the first frame buffer area, and sending the video data in the first frame buffer area to the local display device via the video interconnection interface for display. Furthermore, the display device also includes a remote display device; a virtual network console (VNC) server is also deployed on the control chip; the second processor runs a data migration service for reading video data from the cache of the PCIe endpoint device, writing the video data to the second frame buffer area of ​​the VNC server, and controlling the VNC server to transmit the video data via the network to the remote display device for display, and a VNC client runs on the remote display device.

[0099] Furthermore, the control chip includes a USB interface interconnected with external interactive devices, and the external interactive devices include a keyboard and / or mouse; the control chip is also interconnected with the main chip through a USB bus; a USB device controller is deployed on the control chip to obtain interactive events generated by external interactive devices and transmit the interactive events to the main chip through the USB bus; a USB host controller is deployed on the main chip to receive interactive events and respond to interactive events.

[0100] An embodiment of the present application also provides a control chip, which is applied to a server. The control chip is interconnected with the main chip of the server through a PCIe bus; the main chip and the control chip respectively implement a PCIe root device and a PCIe endpoint device, and the PCIe root device and the PCIe endpoint device form a video transmission channel between the main chip and the control chip; the control chip is used to read video data from the PCIe endpoint device and display the video data on a display device interconnected with the control chip to realize display control of the server; wherein the video data is generated by the server during startup and / or operation and transmitted by the main chip to the PCIe endpoint device via the PCIe root device.

[0101] In an optional embodiment, a data migration service is deployed on the management and control chip; the management and control chip includes a processor, and the processor runs the data migration service for reading video data from the PCIe endpoint device and displaying the video data on the display device to realize display control of the server.

[0102] In an optional embodiment, the display device includes a local display device; the management and control chip also includes: a video interconnection interface interconnected with the local display device, and a first frame cache area that provides storage services for the local display device; the processor is specifically used to: read video data from the cache of the PCIe endpoint device, write the video data into the first frame cache area, and send the video data in the first frame cache area to the local display device through the video interconnection interface for display.

[0103] In an optional embodiment, the control chip includes a serial interface interconnected with an external interactive device, and the external interactive device includes a keyboard and / or a mouse; the control chip is also interconnected with the main chip via a serial bus, and the serial interface and the serial bus belong to the same serial bus protocol; the processor in the control chip is also used to: obtain interactive events generated by external interactive devices, and transmit the interactive events to the main chip via the serial bus, so that the main chip can respond to the interactive events and realize interactive control of the server.

[0104] In an optional embodiment, the serial interface is a universal serial bus (USB) interface, and the serial bus is a USB bus.

[0105] An embodiment of the present application also provides a main chip, which is applied to a server. The main chip is interconnected with the management and control chip of the server through a PCIe bus; a PCIe root device and a PCIe endpoint device are respectively implemented on the main chip and the management and control chip, and the PCIe root device and the PCIe endpoint device form a video transmission channel between the main chip and the management and control chip; the main chip is used to obtain video data generated by the server during startup and / or operation, and transmit the video data to the PCIe endpoint device via the PCIe root device, so that the management and control chip can read the video data from the PCIe endpoint device and display the video data on a display device interconnected with the management and control chip, thereby realizing display control of the server.

[0106] In an optional embodiment, the server's operating system includes a graphics driver; the main chip includes a processor, and the processor runs the graphics driver to obtain video data generated by the operating system during the startup process and operation, and transmits the video data to the PCIe endpoint device via the PCIe root device; and / or, the server's boot program includes a graphics driver; the processor runs the graphics driver to obtain video data generated by the boot program during operation, and transmits the video data to the PCIe endpoint device via the PCIe root device.

[0107] Accordingly, an embodiment of the present application provides a server board, which integrates a main chip and a control chip, and the main chip and the control chip are interconnected via a PCIe bus; a PCIe root device and a PCIe endpoint device are implemented on the main chip and the control chip respectively, and the PCIe root device and the PCIe endpoint device form a video transmission channel between the main chip and the control chip;

[0108] The main chip is used to obtain the video data generated by the server during startup and / or operation, and transmit the video data to the PCIe endpoint device via the PCIe root device; the management and control chip is used to read the video data from the PCIe endpoint device and display the video data on the display device interconnected with the management and control chip to realize display control of the server.

[0109] In an optional embodiment, the control chip has a serial interface for interconnecting external interactive devices, which include a keyboard and / or a mouse; the control chip is also interconnected with the main chip via a serial bus, and the serial interface and the serial bus belong to the same serial bus protocol; the control chip is also used to: obtain interactive events generated by external interactive devices, and transmit the interactive events to the main chip via the serial bus; the main chip is also used to: receive interactive events, and respond to interactive events to achieve interactive control of the server.

[0110] like Figure 9As shown, an embodiment of the present application further provides a server management and control method, which is applied to a main chip in the server, wherein the main chip communicates with a management and control chip via a PCIe bus; a PCIe root device and a PCIe endpoint device are implemented on the main chip and the management and control chip, respectively, and the PCIe root device and the PCIe endpoint device form a video transmission channel between the main chip and the management and control chip; the method includes:

[0111] S901: Acquire video data generated during the startup and / or operation of the server;

[0112] S902: The video data is transmitted to the PCIe endpoint device via the PCIe root device, so that the control chip reads the video data from the PCIe endpoint device and displays the video data on a display device interconnected with the control chip, thereby realizing display control of the server.

[0113] In an optional embodiment, the base address register BAR of the PCIe endpoint device is mapped to the memory space of the PCIe root device as a video transmission channel between the main chip and the control chip; the video data is transmitted to the PCIe endpoint device via the PCIe root device, including: writing the video data into the memory space of the PCIe root device, and controlling the PCIe root device to transmit the video data in the memory space to the cache of the PCIe endpoint device via the PCIe bus.

[0114] like Figure 10 As shown, an embodiment of the present application further provides a server management and control method, which is applied to a management and control chip in a server, wherein the management and control chip is connected to a main chip via a PCIe bus; a PCIe root device and a PCIe endpoint device are respectively implemented on the main chip and the management and control chip, and the PCIe root device and the PCIe endpoint device form a video transmission channel between the main chip and the management and control chip; the method includes:

[0115] S1001: Reading video data from a PCIe endpoint device, where the video data is generated during the server startup and / or operation and is transmitted from the main chip to the PCIe endpoint device via the PCIe root device;

[0116] S1002: Display the video data on a display device connected to the control chip to implement display control of the server.

[0117] In an optional embodiment, the display device includes a local display device, and the video data is displayed on the display device interconnected with the control chip, including: reading the video data from the cache of the PCIe endpoint device, and writing the video data to the first frame cache area corresponding to the local display device; sending the video data in the first frame cache area to the local display device through the video interconnection interface for display.

[0118] In an optional embodiment, the display device includes a remote display device; displaying video data on a display device interconnected with the control chip includes: reading the video data from the cache of the PCIe endpoint device, and writing the video data into a second frame cache area corresponding to the VNC server; controlling the VNC server to transmit the video data via the network to the remote display device for display, and a VNC client is running on the remote display device.

[0119] In an optional embodiment, the method further includes: obtaining an interaction event generated by an external interactive device interconnected with the control chip; transmitting the interaction event to the main chip through a serial bus between the control chip and the main chip, so that the main chip can respond to the interaction event and realize interactive control of the server.

[0120] The detailed implementation and beneficial effects of each step in the method of this embodiment have been described in detail in the aforementioned embodiments and will not be elaborated here.

[0121] It should be noted that the execution entity of each step of the method provided in the above embodiment can be the same device, or the method can be executed by different devices. For example, the execution entity of steps 901 to 902 can be device A; for another example, the execution entity of step 901 can be device A, and the execution entity of step 902 can be device B; and so on.

[0122] In addition, in some of the processes described in the above embodiments and the accompanying drawings, multiple operations that appear in a specific order are included, but it should be clearly understood that these operations may not be executed in the order in which they appear in this article or may be executed in parallel. The sequence numbers of the operations, such as 901, 902, etc., are only used to distinguish between different operations, and the sequence numbers themselves do not represent any execution order. In addition, these processes may include more or fewer operations, and these operations may be executed in sequence or in parallel. It should be noted that the descriptions of "first", "second", etc. in this article are used to distinguish different messages, devices, modules, etc., and do not represent a sequential order, nor do they limit "first" and "second" to being different types.

[0123] Accordingly, an embodiment of the present application further provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, the processor is enabled to implement each step in the above method embodiment.

[0124] Accordingly, an embodiment of the present application further provides a computer program product, which includes a computer program / instructions. When the computer program / instructions are executed by a processor, the processor is enabled to implement the steps in the above method embodiment.

[0125] The above-mentioned memory can be implemented by any type of volatile or non-volatile memory 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.

[0126] The above-mentioned communication component is configured to facilitate wired or wireless communication between the device where the communication component is located and other devices. The device where the communication component is located can access a wireless network based on a communication standard, such as WiFi, 2G, 3G, 4G / LTE, 5G and other mobile communication networks, or a combination thereof. In an exemplary embodiment, the communication component receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component also includes a near field communication (NFC) module to facilitate short-range communication. For example, the NFC module can be implemented based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra wide band (UWB) technology, Bluetooth (BT) technology and other technologies.

[0127] The above-mentioned display includes a screen, which may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen may be implemented as a touch screen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touch, slide, and gestures on the touch panel. The touch sensor can not only sense the boundary of the touch or slide action, but also detect the duration and pressure associated with the touch or slide operation.

[0128] The power supply assembly provides power to various components of the device in which the power supply assembly is located. The power supply assembly may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to the device in which the power supply assembly is located.

[0129] The above-mentioned audio component can be configured to output and / or input audio signals. For example, the audio component includes a microphone (MIC), and when the device where the audio component is located is in an operating mode, such as call mode, recording mode, and voice recognition mode, the microphone is configured to receive external audio signals. The received audio signal can be further stored in a memory or sent via a communication component. In some embodiments, the audio component also includes a speaker for outputting audio signals.

[0130] Those skilled in the art will appreciate that the embodiments of the present application can be provided as methods, systems, or computer program products. Therefore, the present application can adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application can adopt the form of a computer program product implemented on one or more computer-readable storage media (including but not limited to magnetic disk storage, compact disc read-only memory (CD-ROM), optical storage, etc.) that contain computer-usable program code.

[0131] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the steps in the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0132] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.

[0133] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.

[0134] In a typical configuration, a computing device includes one or more processors (Central Processing Unit, CPU), input / output interfaces, network interfaces, and memory.

[0135] Memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. Memory is an example of a computer-readable medium.

[0136] Computer-readable media includes permanent and non-permanent, removable and non-removable media that can be used to store information using any method or technology. Information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase-change random access memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassettes, magnetic disk storage or other magnetic storage devices, or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include transitory computer-readable media such as modulated data signals and carrier waves.

[0137] It should also be noted that the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, commodity, or apparatus that includes a series of elements includes not only those elements but also other elements not explicitly listed, or includes elements inherent to such process, method, commodity, or apparatus. In the absence of further limitations, an element defined by the phrase "comprises a ..." does not exclude the presence of other identical elements in the process, method, commodity, or apparatus that includes the element.

[0138] The above are merely embodiments of the present application and are not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application should all be included within the scope of the claims of the present application.

Claims

1. A server, characterized in that: include: The main chip and control chip are interconnected through the PCIe bus; Implementing a PCIe root device and a PCIe endpoint device on the master chip and the control chip, respectively, wherein the PCIe root device and the PCIe endpoint device form a video transmission channel between the master chip and the control chip; The main chip is used to obtain video data generated by the server during startup and / or operation, and transmit the video data to the PCIe endpoint device via the PCIe root device; The control chip is used to read the video data from the PCIe endpoint device and display the video data on a display device interconnected with the control chip, thereby realizing display control of the server.

2. The server according to claim 1, wherein: The server's operating system includes a graphics card driver; the main chip includes a first processor, which runs the graphics card driver to obtain video data generated by the operating system during startup and operation, and transmit the video data to the PCIe endpoint device via the PCIe root device; and / or The boot program of the server includes a graphics driver; the first processor runs the graphics driver to obtain video data generated during the running of the boot program, and transmits the video data to the PCIe endpoint device via the PCIe root device.

3. The server according to claim 1, wherein: A data migration service is deployed on the control chip; the control chip includes a second processor, which runs the data migration service to read the video data from the PCIe endpoint device and display the video data on the display device to achieve display control of the server.

4. The server according to claim 3, wherein: The display device includes a local display device; the management and control chip further includes: a video interconnection interface interconnected with the local display device, and a first frame buffer area providing storage services for the local display device; The second processor runs the data migration service to read the video data from the cache of the PCIe endpoint device, write the video data into the first frame buffer area, and send the video data in the first frame buffer area to the local display device through the video interconnection interface for display; and / or, The display device includes a remote display device; the control chip is also deployed with a virtual network console VNC server; The second processor runs the data migration service, which is used to read the video data from the cache of the PCIe endpoint device, write the video data into the second frame cache area of ​​the VNC server, and control the VNC server to transmit the video data to the remote display device via the network for display. A VNC client is running on the remote display device.

5. The server according to claim 1, wherein: The control chip includes a serial interface interconnected with an external interactive device, and the external interactive device includes a keyboard and / or a mouse; the control chip is also interconnected with the main chip via a serial bus, and the serial interface and the serial bus belong to the same serial bus protocol; The control chip is further configured to: obtain an interaction event generated by the external interaction device, and transmit the interaction event to the main chip via the serial bus; The main chip is further configured to receive the interaction event and respond to the interaction event to implement interactive control of the server.

6. The server according to claim 5, wherein: The serial interface is a universal serial bus (USB) interface, and the serial bus is a USB bus; The control chip is provided with a USB device controller for acquiring interaction events generated by the external interaction device and transmitting the interaction events to the main chip via the serial bus; The main chip is provided with a USB host controller for receiving the interaction event and responding to the interaction event.

7. The server according to any one of claims 1 to 6, characterized in that: The base address register BAR of the PCIe endpoint device is mapped to the memory space of the PCIe root device as a video transmission channel between the main chip and the control chip; The main chip is specifically used to: write the video data into the memory space of the PCIe root device, and control the PCIe root device to transmit the video data in the memory space to the cache of the PCIe endpoint device via the PCIe bus.

8. A server, characterized in that: include: Main chip and control chip; A bus controller and a bus device are implemented on the master chip and the control chip respectively, and the bus controller and the bus device are interconnected via a target bus to form a video transmission channel between the master chip and the control chip; The main chip is used to obtain video data generated by the server during startup and / or operation, and transmit the video data to the bus device via the bus controller; The control chip is used to read the video data from the bus device and display the video data on a display device interconnected with the control chip, thereby realizing display control of the server.

9. A management and control chip, applied to a server, characterized in that: The control chip is interconnected with the main chip of the server via a PCIe bus; a PCIe root device and a PCIe endpoint device are implemented on the main chip and the control chip respectively, and the PCIe root device and the PCIe endpoint device form a video transmission channel between the main chip and the control chip; The control chip is used to read video data from the PCIe endpoint device and display the video data on a display device interconnected with the control chip to achieve display control of the server; The video data is generated by the server during startup and / or operation and is transmitted by the main chip to the PCIe endpoint device via the PCIe root device.

10. The control chip according to claim 9, characterized in that: A data migration service is deployed on the control chip; the control chip includes a processor, which runs the data migration service to read the video data from the PCIe endpoint device and display the video data on the display device to achieve display control of the server.

11. The control chip according to claim 10, characterized in that: The display device includes a local display device; the management and control chip further includes: a video interconnection interface interconnected with the local display device, and a first frame buffer area providing storage services for the local display device; The processor is specifically configured to: read the video data from the cache of the PCIe endpoint device, write the video data into the first frame buffer area, and send the video data in the first frame buffer area to the local display device for display through the video interconnection interface; and / or, The display device includes a remote display device; the control chip is also deployed with a virtual network console VNC server; The processor is specifically used to: read the video data from the cache of the PCIe endpoint device, write the video data into the second frame cache area of ​​the VNC server, and control the VNC server to transmit the video data to the remote display device via the network for display, and a VNC client is running on the remote display device.

12. The control chip according to any one of claims 9 to 11, characterized in that: The control chip includes a serial interface interconnected with an external interactive device, and the external interactive device includes a keyboard and / or a mouse; the control chip is also interconnected with the main chip via a serial bus, and the serial interface and the serial bus belong to the same serial bus protocol; The processor in the control chip is also used to: obtain the interaction event generated by the external interactive device, and transmit the interaction event to the main chip through the serial bus, so that the main chip can respond to the interaction event and realize interactive control of the server.

13. A main chip, used in a server, characterized in that: The main chip is interconnected with the control chip of the server via a PCIe bus; Implementing a PCIe root device and a PCIe endpoint device on the master chip and the control chip, respectively, wherein the PCIe root device and the PCIe endpoint device form a video transmission channel between the master chip and the control chip; The main chip is used to obtain the video data generated by the server during startup and / or operation, and transmit the video data to the PCIe endpoint device via the PCIe root device, so that the management and control chip can read the video data from the PCIe endpoint device and display the video data on a display device interconnected with the management and control chip, thereby realizing display control of the server.

14. A server board, characterized in that: The server board is integrated with a main chip and a control chip, and the main chip and the control chip are interconnected via a PCIe bus; a PCIe root device and a PCIe endpoint device are implemented on the main chip and the control chip respectively, and the PCIe root device and the PCIe endpoint device form a video transmission channel between the main chip and the control chip; The main chip is used to obtain video data generated by the server during startup and / or operation, and transmit the video data to the PCIe endpoint device via the PCIe root device; The control chip is used to read the video data from the PCIe endpoint device and display the video data on a display device interconnected with the control chip, thereby realizing display control of the server.

15. A server management and control method, characterized in that: A main chip used in the server, the main chip through the PCIe bus and the control chip; a PCIe root device and a PCIe endpoint device are respectively implemented on the main chip and the control chip, and the PCIe root device and the PCIe endpoint device form a video transmission channel between the main chip and the control chip; The method comprises: Acquiring video data generated by the server during startup and / or operation; The video data is transmitted to the PCIe endpoint device via the PCIe root device, so that the control chip reads the video data from the PCIe endpoint device and displays the video data on a display device interconnected with the control chip, thereby realizing display control of the server.

16. A server management and control method, characterized in that: A control chip used in the server, the control chip is connected to the main chip via a PCIe bus; a PCIe root device and a PCIe endpoint device are implemented on the main chip and the control chip respectively, and the PCIe root device and the PCIe endpoint device form a video transmission channel between the main chip and the control chip; The method comprises: Reading video data from the PCIe endpoint device, where the video data is generated by the server during startup and / or operation and transmitted by the main chip to the PCIe endpoint device via the PCIe root device; The video data is displayed on a display device interconnected with the control chip to implement display control of the server.

17. The method according to claim 16, characterized in that The display device includes a local display device, and the video data is displayed on the display device interconnected with the control chip, including: Reading the video data from the cache of the PCIe endpoint device, and writing the video data into a first frame buffer area corresponding to the local display device; and sending the video data in the first frame buffer area to the local display device for display through the video interconnection interface; And / or, the display device includes a remote display device; displaying the video data on the display device interconnected with the control chip includes: The video data is read from the cache of the PCIe endpoint device, and the video data is written into the second frame cache area corresponding to the VNC server; the VNC server is controlled to transmit the video data to the remote display device via the network for display, and a VNC client is running on the remote display device.

18. A computer-readable storage medium storing a computer program / instruction, characterized in that: When the computer program is executed by a processor, the processor is enabled to implement the steps of the method according to any one of claims 15 to 17.

19. A computer program product, characterized in that include: A computer program / instruction, when executed by a processor, causes the processor to implement the steps of the method according to any one of claims 15 to 17.