Display control method and device, medium and program product
Through the processor, the display output during the server startup process is managed uniformly, the black screen problem caused by control switching is solved, realizing instant visualization and seamless display update of server status is realized, and user experience and management efficiency is improved.
Patent Information
- Application Number
- CN202510848412.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-24
- Publication Date
- 2025-07-22
- Estimated Expiration
- 2045-06-24
AI Technical Summary
During the server startup process, the display black screen occurs due to the reset of the VGA controller hardware register during control switching, affecting the user experience and fault diagnosis efficiency.
The processor is used as the central coordination unit to immediately display the first information in response to the server startup operation. After the processor is started, by detecting the initialization status of the first controller and the second controller, dynamically fuse multi-source data to generate the second information, update the display content, and eliminate the black screen period when the control rights are switched.
Realize instant visual feedback and seamless display updates during server startup, improve management efficiency and user experience, and ensure the continuity and reliability of displayed content.
Smart Images

Figure CN120353532A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of display technologies, specifically to the field of server display control technologies, and more specifically to a display control method, device, medium, and program product. Background Art
[0002] In the current data center operation scenario, servers, as core computing resources, undertake multiple tasks such as data processing, storage, and network services. Therefore, ensuring that the server can complete the startup process quickly, efficiently, and reliably is extremely important in data center operation and maintenance and system management.
[0003] After the server completes self-check and initializes the hardware configuration, the Video Graphics Array (VGA) interface outputs prompt information. However, when the controller is switched, the hardware registers of the VGA need to be re-initialized, resulting in a black screen period on the display, thus affecting the user experience and the efficiency of fault diagnosis. Summary of the Invention
[0004] In view of the above problems, this application provides a display control method, device, medium, and program product that improve the user experience and the efficiency of fault diagnosis.
[0005] According to a first aspect of this application, a display control method is provided, including: in response to detecting that the above server is performing a startup operation, controlling the above display to display first information; the above first information is used to indicate first interface content of the above processor that has responded to the startup operation; after the above processor has completed startup, in response to detecting that the above first controller and / or the above second controller is performing an initialization operation, updating the above first information with second information, and controlling the above display to display the second information; wherein, the above second information is used to indicate second interface content of the initialization state of the above first controller and / or the above second controller.
[0006] The second aspect of the present application provides a display control device, including: a first controller, a second controller, a processor, and a display deployed in a server; the processor is communicatively connected to the first controller, the second controller, and the display respectively; the processor is configured to control the display to display first information in response to detecting a startup operation executed on the server; the first information is used to indicate the first interface content of the processor's response to the startup operation; the first controller is configured to perform a first initialization operation and send a first detection signal to the processor after the processor starts up; the second controller is configured to perform a second initialization operation and send a second detection signal to the processor after the processor starts up; the processor is further configured to, after the processor starts up, receive the first detection signal and / or the second detection signal from the first controller and / or the second controller, replace the first information with second information, and control the display to display the second information; wherein the second information is used to indicate the second interface content of the initialization state of the first controller and / or the second controller; the display displays the first information in the case of the startup operation executed on the server; and displays the second information in the case of the first controller and / or the second controller performing the initialization operation.
[0007] The third aspect of the present application provides an electronic device, including: one or more processors; a memory for storing one or more computer programs, wherein the one or more processors execute the one or more computer programs to implement the steps of the above method.
[0008] The fourth aspect of the present application further provides a computer-readable storage medium, on which computer programs or instructions are stored, and when the computer programs or instructions are executed by a processor, the steps of the above method are implemented.
[0009] The fifth aspect of the present application further provides a computer program product, including computer programs or instructions, and when the computer programs or instructions are executed by a processor, the steps of the above method are implemented. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] Through the following description of the embodiments of the present application with reference to the drawings, the above content and other objects, features, and advantages of the present application will become clearer. In the drawings:
[0011] Figure 1 The hardware architecture diagram of the server display control system in related examples is shown.
[0012] Figure 2 The hardware architecture diagram of the server display control system according to the embodiments of the present application is shown.
[0013] Figure 3 The flowchart of the display control method according to an embodiment of the present application is shown.
[0014] Figure 4 The schematic diagram of the display control method according to a specific embodiment of the present application is shown.
[0015] Figure 5 The schematic structural diagram of the display control device according to an embodiment of the present application is shown.
[0016] Figure 6 The schematic structural diagram of the display control device according to a specific embodiment of the present application is shown.
[0017] Figure 7 The schematic communication structure diagram of the display control device according to a specific embodiment of the present application is shown.
[0018] Figure 8 The block diagram of the electronic device suitable for implementing the display control method according to an embodiment of the present application is shown. Detailed implementation manners
[0019] Hereinafter, embodiments of the present application will be described with reference to the accompanying drawings. However, it should be understood that these descriptions are merely exemplary and are not intended to limit the scope of the present application. In the following detailed description, for the sake of explanation, many specific details are set forth to provide a comprehensive understanding of the embodiments of the present application. However, obviously, one or more embodiments can also be implemented without these specific details. In addition, in the following description, descriptions of well-known structures and technologies are omitted to avoid unnecessarily obscuring the concepts of the present application.
[0020] The terms used herein are merely for describing specific embodiments and are not intended to limit the present application. The terms "including", "comprising", etc. used herein indicate the presence of the described features, steps, operations, and / or components, but do not exclude the presence or addition of one or more other features, steps, operations, or components.
[0021] All terms used herein (including technical and scientific terms) have the meanings commonly understood by those skilled in the art, unless otherwise defined. It should be noted that the terms used herein should be interpreted as having a meaning consistent with the context of this specification and should not be interpreted in an idealized or overly rigid manner.
[0022] In the case of using expressions such as "at least one of A, B, and C", generally, it should be interpreted according to the meaning commonly understood by those skilled in the art (for example, "a system having at least one of A, B, and C" should include, but is not limited to, a system having only A, only B, only C, having A and B, having A and C, having B and C, and / or having A, B, and C).
[0023] In the operation of modern enterprises and data centers, servers, as the core computing resources, undertake multiple tasks such as data processing, storage, and network services. Therefore, ensuring that the server can complete the startup process quickly, efficiently, and reliably is extremely important in data center operation and maintenance and system management.
[0024] When the server is connected to a stable Power Supply Unit (PSU), the system enters the standby state. The user or the management system triggers the start of the server's boot sequence by pressing the power button on the front panel or by sending a startup command through the remote management interface. The initial stage of this process is called the Power-On Self-Test (POST). In this stage, the server's motherboard firmware, such as the Basic Input / Output System (BIOS) or the Unified Extensible Firmware Interface (UEFI), initializes, detects, and verifies the functionality of hardware components such as memory, hard drives, graphics cards, and other key components.
[0025] After the server completes the self-test and initializes the hardware configuration, the Video Graphics Array (VGA) interface outputs prompt messages. These messages usually include the basic configuration of the device, the BIOS version, the available memory amount, and the status of the connected hard drives. If a hardware failure is detected during the self-test, the server will also display the corresponding error code or warning message through the VGA.
[0026] In the existing server VGA display control architecture, the types of control entities include the Host Operating System (Host OS) control mode, the Basic Input / Output System (BIOS) control mode, and the Baseboard Management Controller (BMC) control mode.
[0027] Among them, in the Host OS control mode, the VGA control right is directly managed by the server host Central Processing Unit (CPU) and the operating system, and the display output is realized by relying on the operating system kernel driver. Its technical advantages are that it supports diverse display requirements and the driver technology is mature and stable; however, when the operating system crashes or fails to complete the startup, it is impossible to debug through the local display, and due to the large differences in the driver interfaces of different operating systems, it is difficult to achieve unified and compatible management.
[0028] In the BIOS control mode, the BIOS intervenes in VGA control before the host operating system is initialized. It is mainly responsible for outputting key self-check information in the early stage of system startup, including hardware parameters such as CPU model, memory capacity, and hard disk configuration. The technical value of this mode lies in visualizing the hardware status before the operating system starts, providing support for early fault diagnosis. However, limited by the BIOS startup process, its display function only covers the early stage of system initialization, and there are timing dependency issues in the coordination with subsequent control entities.
[0029] In the BMC control mode, the BMC, as a management unit independent of the host system, can directly control the VGA display throughout the entire server startup cycle. The BMC can take over the display output in advance before the BIOS finishes initialization, support out-of-band display control in remote management scenarios, and can interact with other control entities through management protocols such as the Intelligent Platform Management Interface (IPMI).
[0030] Figure 1 The hardware architecture diagram of a related example server display control system is shown.
[0031] As Figure 1 shown, the core components of the existing server display control system hardware architecture include a power management module 101, a baseboard management controller 102 (BMC), a basic input / output system 103 (BIOS), a VGA controller 104, and a display 105. Each component forms a hierarchical interaction relationship through control signals and data buses.
[0032] Among them, the data sources include two display data sources, BMC and BIOS / Host. When the BMC drives the display screen, the BMC is the complete controller of the VGA controller. Similarly, when the BIOS drives, the BIOS is the complete controller.
[0033] In this architecture, the power-on and power-off signals of the power management module trigger the initialization of the BMC / BIOS, and the control entity obtains the VGA control right to drive the VGA controller to output to the display.
[0034] Based on this server display control system hardware architecture, the prior art has proposed two VGA control right transfer strategies, an automatic switching mechanism and a manual switching mechanism, to form a switching system that combines automatic and manual methods.
[0035] Under the automatic switching mechanism, the "BMC first" strategy is adopted. When the server is powered on, the BMC defaults to controlling the VGA output. After the BIOS completes initialization and has the display capability, the BMC actively releases the control right and transfers it to the BIOS. When the host operating system starts up successfully, the control right is further automatically transferred to the host graphics driver, and the operating system manages the display output independently. However, when the operating system gets stuck or the driver crashes and other abnormal states occur, the BMC cannot automatically re-take over the control right through the existing logic and relies on manual intervention to restore the state.
[0036] Under the manual switching mechanism, the forced transfer of the control right can be achieved through the BMC management interface or IPMI commands, forcing the current control entity to release the VGA controller resources, such as clearing the register configuration and closing the display output channel, and the target entity re-initializes and exclusively controls. However, although this mechanism provides flexible management means, each switch requires a complete reset of the VGA controller hardware state, and the operation process depends on manual intervention, which cannot meet the real-time response requirements in the automated operation and maintenance scenario.
[0037] However, when the BMC transfers the control right to the BIOS, due to the differences in the driver logics of the two, it is necessary to re-initialize the VGA controller hardware registers, such as the video memory base address, display timing parameters, color space configuration, etc. This process causes a black screen period on the display, thus affecting the user experience and the fault diagnosis efficiency.
[0038] In view of this, the embodiments of the present application provide a display control method, which uses the processor as the central coordination unit to immediately respond and display the first information when the server starts up, so as to fill the display blank before the start of the first controller and / or the second controller, and realizes the instant visual feedback in the initial startup stage. After the processor starts up successfully, by detecting the initialization states of the first controller and the second controller, the multi-source data is dynamically fused to generate the second information and update the display content, so as to eliminate the black screen period caused by the reset of the hardware registers during the control right switch, and realizes the seamless update of the display content.
[0039] Specifically, the embodiments of the present application provide a display control method. In the server, a first controller, a second controller, a processor and a display are deployed. The processor is communicatively connected to the first controller, the second controller and the display respectively. The method is characterized in that the method is applied to the processor and includes: in response to detecting that the server is executed to start up, controlling the display to display the first information; the first information is used to indicate the first interface content of the processor that has responded to the start-up operation; after the processor starts up successfully, in response to detecting that the first controller and / or the second controller executes the initialization operation, updating the first information with the second information and controlling the display to display the second information; wherein, the second information is used to indicate the second interface content of the initialization state of the first controller and / or the second controller.
[0040] Figure 2 Shows the hardware architecture diagram of the server display control system according to an embodiment of the present application.
[0041] As Figure 2 shown, the hardware architecture diagram 200 of the server display control system may include: a power management module 101, a baseboard management controller 102 (BMC), a basic input / output system 103 (BIOS), a VGA controller 104, a processor 210, and a display 105.
[0042] In the architecture, during the entire process of server startup, the VGA controller 104 is controlled by the processor 210.
[0043] Therefore, during the server startup process, as long as the processor 210 is initialized, the processor 210 has full control over the VGA controller 104 throughout the process. And, the processor 210 can detect the initialization status of the baseboard management controller 102 and the basic input / output system 103, and control the VGA controller 104 to drive the display 105 to display the initialization status information of the baseboard management controller 102 or the basic input / output system 103.
[0044] Figure 3 Shows the flowchart of the display control method according to an embodiment of the present application.
[0045] As Figure 3 shown, the display control method of this embodiment includes operations S310 to S320.
[0046] In operation S310, in response to detecting that the server is performing a startup operation, control the display to display the first information.
[0047] In operation S320, after the processor starts up, in response to detecting that the first controller and / or the second controller perform an initialization operation, update the first information with the second information, and control the display to display the second information.
[0048] In this embodiment, the server may represent a server hardware system deployed with a first controller, a second controller, a processor, and a display, and supports unified management of display output through the processor.
[0049] Among them, the first controller may represent an independent control unit responsible for out-of-band management in the server, such as a baseboard management controller (BMC), for implementing functions such as hardware monitoring, remote management, and interaction with the processor.
[0050] The second controller may represent the control unit in the server responsible for system startup and hardware initialization, such as the Basic Input / Output System (BIOS), for implementing functions such as system startup, hardware configuration, and interaction with the processor.
[0051] The processor may include a Microcontroller Unit (MCU) that controls the display output to serve as an intermediate coordination unit between the BMC, BIOS, and the display.
[0052] In this embodiment, the startup operation may represent the triggering action for the server to enter the power-on process from the shutdown state, such as pressing the server power button, sending a power-on instruction via IPMI, automatically triggering a power-on according to a preset time, etc.
[0053] In this embodiment, when the processor detects that the server is performing a startup operation through a hardware signal such as a change in the General-Purpose Input / Output (GPIO) level of the power switch or a management protocol such as an IPMI command, it immediately responds to the display requirement and controls the display to show the first information.
[0054] Among them, the first information may represent the first interface content output by the processor to the display after detecting the startup operation, for indicating the status that the processor has responded to the startup operation.
[0055] Among them, the first interface content is not limited to including: text information, such as "The system is starting up, please wait..."; graphic information, such as the manufacturer logo, startup animation, etc.; and status prompt information, such as the power-on indicator, initialization progress bar, etc.
[0056] In this embodiment, after the startup is completed, the processor generates the second information according to the initialization status of the first controller and / or the second controller, dynamically updates the first information using the second information, and controls the display to show the second information.
[0057] Among them, the second information may represent the second interface content generated by the processor according to the initialization status of the first controller and / or the second controller after the startup is completed.
[0058] Among them, the second interface content is not limited to including: hardware monitoring data such as "CPU temperature: 45°C", memory voltage, etc.; self-test progress such as "Memory test completed", hardware configuration information such as "CPU model: ABC", etc. The second interface content may also include content such as the temperature warning of the BMC and the startup progress of the BIOS at the same time.
[0059] Based on this, in the embodiments of the present application, the processor is used as the central coordination unit, which immediately responds and displays the first information when the server starts up, so as to fill the display blank before the start of the first controller and / or the second controller, and realizes the instant visual feedback in the initial stage of startup. After the processor starts up successfully, by detecting the initialization status of the first controller and the second controller, multi-source data is dynamically fused to generate the second information and update the display content, so as to eliminate the black screen period caused by the reset of the hardware register during the control right switch, and realize the seamless update of the display content.
[0060] In addition, the processor is used to uniformly manage the display output, without the need to switch the control right of the first controller to the second controller for the VGA after the initialization of the second controller is completed, thus significantly improving the management efficiency and user experience, and providing a low-latency and high-reliability solution for the server display control.
[0061] According to the embodiments of the present application, after the processor starts up successfully, in response to detecting that the first controller and / or the second controller performs the initialization operation, the first information is updated by using the second information, and the display is controlled to display the second information, including: in response to receiving the first detection signal from the first controller and not receiving the second detection signal from the second controller, the first information is updated by using the third information; the display is controlled to display the third information.
[0062] Among them, the first detection signal may represent a signal sent from the first controller such as BMC to the processor, and the first detection signal can be used to indicate that the first controller has completed the initialization operation and has the data output ability. When the processor detects the first detection signal, it can be confirmed that the first controller is ready to output the second information such as hardware monitoring data or remote management interface content, so as to trigger the display update logic.
[0063] The second detection signal may represent a signal sent from the second controller such as BIOS to the processor, and the second detection signal can be used to indicate that the second controller has completed the initialization operation and has the data output ability. When the processor detects the second detection signal, it can be confirmed that the second controller has completed the hardware self-check such as memory detection and CPU initialization, etc., and is ready to output the second information such as the self-check information.
[0064] In this embodiment, the second information includes the third information.
[0065] Among them, the third information may represent the display content generated by the processor according to the initialization status data of the first controller, so as to be used to describe the running status and output information of the first controller. The third information is not limited to including: hardware monitoring data, status identifiers, etc., such as the sensor readings transmitted by the first controller through the shared memory, the firmware version number of the first controller, the network connection status, etc.
[0066] In this embodiment, when the processor only receives the first detection signal, such as the initialization completion signal of the first controller, and does not detect the second detection signal, the operating status and output information read by the processor from the first controller are preferentially displayed, and the first information displayed in the display interface is updated based on the third information to achieve real-time visualization of out-of-band management information.
[0067] Based on this, through the cooperation mechanism of the first detection signal, the second detection signal, and the third information in the embodiments of the present application, the processor can accurately perceive the initialization state of the first controller, and preferentially display the management information of the first controller when the second controller has not completed startup, so as to avoid the display delay caused by the first controller waiting for the second controller to start, and at the same time eliminate the black screen problem caused by the control right switch, thereby realizing the real-time and efficient display of the server status information.
[0068] According to the embodiments of the present application, updating the first information using the third information further includes: obtaining a first initialization progress identifier for describing the initialization operation executed by the first controller; determining the executed state of the first initialization operation corresponding to the first initialization progress identifier; and generating the third information according to the executed state of the first initialization operation.
[0069] In this embodiment, the first initialization progress identifier may represent a status flag generated and sent by the first controller, such as the BMC, to the processor for describing the specific stage or completion degree of the initialization operation of the first controller. The first initialization progress identifier may be displayed as a number, an enumerated value, or a status code. For example, the identifier 0x01 represents "sensor initialization completed", and the identifier 0x02 represents "network module initialization completed".
[0070] The executed state of the first initialization operation may represent the specific execution situation of the initialization operation of the first controller parsed by the processor according to the first initialization progress identifier. For example, it may include states such as whether it has started, is in progress, has been completed, or has failed to execute.
[0071] In this embodiment, after the first controller completes a certain initialization operation, the corresponding first initialization progress identifier is written into the shared memory or the status register. The processor can obtain and parse the identifier through an interrupt trigger or a polling method to determine the executed state of the corresponding first initialization operation. Combining the status description of the executed state, such as the information of "sensor initialization completed", a corresponding display text or a graphical progress bar is generated, such as displaying "sensor system is ready".
[0072] Based on this, in the embodiments of the present application, by acquiring and parsing the first initialization progress identifier and the execution status, the processor can obtain the initialization status of the first controller initialization operation in real time, so as to convert the progress identifier into natural language information that can be used for display, realizing the dynamic visualization of the first controller initialization process, not only improving the observability of server management, but also quickly locating the faulty link when the first controller initialization is abnormal.
[0073] According to the embodiments of the present application, third information is generated according to the execution status of the first initialization operation, including: determining first operation information for describing the first initialization operation; and generating third information according to the execution status of the first initialization operation and the first operation information.
[0074] In this embodiment, the first operation information may represent information for describing the initialization status of the first controller, and may include, for example, an operation name, involved components, parameter configuration, real-time data, etc.
[0075] In this embodiment, the processor reads the operation information from the shared memory of the first controller or through IPMI commands, such as obtaining information such as "sensor type", "network IP address", "error code", etc., and integrates the operation information of the first controller with the natural language description of the parsed execution status to obtain the third information. In a specific embodiment, the natural language description of the parsed execution status and the obtained first operation information can be spliced using a preset template to obtain the third information.
[0076] Based on this, in the embodiments of the present application, by combining the first operation information of the first controller with the execution status, the third information generated by the processor is upgraded from a single status notification to a complete description including operation details, and the underlying operation status is converted into visual information in the form of natural language, improving the observability of server management.
[0077] According to the embodiments of the present application, after the processor starts up, in response to detecting that the first controller and / or the second controller execute the initialization operation, the first information is updated using the second information, and the display is controlled to display the second information, including: in response to receiving a first detection signal from the second controller and not receiving a second detection signal from the first controller, the first information is updated using the fourth information; the display is controlled to display the fourth information.
[0078] In this embodiment, the second information includes the fourth information.
[0079] Among them, the fourth information may represent the display content generated by the processor according to the initialization state of the second controller, for describing the operating state and output information of the second controller. The fourth information is not limited to including: self-check results, such as memory capacity, hard disk model, CPU parameters, etc.; error information, such as hardware fault codes, etc.; boot information, such as operating system loading progress, startup option menu, etc.
[0080] In this embodiment, when the processor only receives the first detection signal sent by the second controller and does not receive the second detection signal sent by the first controller, the operating state and output information read by the processor from the second controller are preferentially displayed, and the first information displayed in the display interface is updated based on the fourth information.
[0081] Based on this, the embodiment of the present application supports the independent display of the initialization state of the second controller. Even if the first controller fails, the processor can directly respond to the initialization completion signal of the second controller to display the self-check information, realizing the flexibility and reliability of multi-controller display during the server startup process, and providing users with continuous and complete system status feedback.
[0082] According to the embodiment of the present application, updating the first information using the fourth information further includes: obtaining a second initialization progress identifier for describing the initialization operation executed by the second controller; determining the executed state of the second initialization operation corresponding to the second initialization progress identifier; and generating the fourth information according to the executed state of the second initialization operation.
[0083] In this embodiment, the second initialization progress identifier may represent a status flag generated by the second controller, such as BIOS, and sent to the processor, for describing the specific stage or completion degree of the initialization operation of the second controller. The second initialization progress identifier may also be displayed as a number, an enumerated value, or a status code. For example, the identifier 0x01 represents the "hardware self-check stage", and 0x02 represents the "driver loading stage".
[0084] The executed state of the second initialization operation may represent the specific execution situation of the initialization operation of the second controller parsed by the processor according to the second initialization progress identifier. For example, it may include states such as not executed, in execution, completed, or execution failed.
[0085] In this embodiment, after the processor starts up successfully, it continuously detects the initialization operation status of the first controller and the second controller. If it is detected that only the second controller sends the first detection signal, while the first controller does not send the second detection signal, the second initialization progress identifier can be obtained and parsed through an interrupt trigger or polling method to determine the execution status of the corresponding second initialization operation. Combining with the status description of the execution status, information such as text, icons, etc. that describes the initialization status of the second controller is generated for updating the display content.
[0086] Based on this, in the embodiment of the present application, by obtaining and parsing the second initialization progress identifier and the execution status, the processor can obtain the initialization status of the second controller's initialization operation in real time, convert the progress identifier into natural language information that can be used for display, and realize the dynamic visualization of the second controller's initialization process, which not only improves the observability of server management but also quickly locates the faulty link when the second controller's initialization is abnormal.
[0087] According to the embodiment of the present application, fourth information is generated according to the execution status of the second initialization operation, including: determining second operation information for describing the second initialization operation; and generating fourth information according to the execution status of the second initialization operation and the second operation information.
[0088] In this embodiment, the second operation information can represent information for describing the initialization status of the second controller. For example, it can include operation names such as "BIOS loading" and "peripheral interface scanning", operation types such as "hardware detection" and "driver installation", parameter configuration, operation sequence, etc.
[0089] In this embodiment, the processor reads the operation information from the shared memory of the second controller or through IPMI commands to obtain the specific content of the second controller's initialization operation, such as information like "memory controller initialization" and "interface detection", and integrates the execution status of the second controller's initialization operation, such as "completed", with the operation information to form natural language or graphical display content. In a specific embodiment, if the operation information is "hard disk initialization" and the status is "completed", the fourth information can be displayed as "hard disk initialization completed".
[0090] Based on this, in the embodiment of the present application, by combining the second operation information of the second controller with the execution status, the fourth information generated by the processor is upgraded from a single status notification to a complete description including operation details, and the underlying operation status is converted into visual information in the form of natural language, improving the observability of server management.
[0091] According to an embodiment of the present application, controlling the display to display second information includes: when it is determined that the second information is in an image format, writing the second information into the frame buffer area of the display, so that the display obtains the second information from the frame buffer area of the display and displays the second information.
[0092] In this embodiment, the frame buffer area is used to store pixel data to be displayed. The processor can write image data into the frame buffer area, and the display hardware reads this area at a fixed frequency and renders it to the screen.
[0093] In a specific embodiment, after the processor receives the initialization status of the first controller or the second controller, it confirms the information format of the second information by judging the data type. When the second information is in an image format, the processor parses the second information, converts the pixels into a format supported by the frame buffer, and writes the image data into the frame buffer area of the VGA display by calculating the starting address of the image in the frame buffer area. The VGA display continuously scans the frame buffer area and immediately renders it to the screen after detecting data updates without additional control signals.
[0094] Based on this, the embodiment of the present application directly operates the frame buffer area through the processor, writes the second information to be displayed into the frame buffer area of the VGA, so as to achieve efficient display of image format information, and provides an intuitive and real-time visualization interface for server management.
[0095] According to an embodiment of the present application, the second information includes at least one of the following: information for indicating the initialization progress of the first controller or the second controller; information on the hardware operation status result detected during the execution of the initialization operation by the first controller or the second controller; remote management interface information for indicating the operation interface layout and interface loading progress of the remote maintenance server.
[0096] In this embodiment, the second information at least includes the initialization progress information of the first controller such as BMC and / or the second controller such as BIOS, the hardware detection results during initialization, and the remote management interface information.
[0097] Among them, the initialization progress information can represent the status codes generated by the first controller such as BMC and / or the second controller such as BIOS during the initialization process. The types of this initialization progress information can include, for example, text progress, graphical progress bars, etc., such as "CPU initializing (95%)", and converting the progress percentage into a rectangular filling area in the frame buffer.
[0098] Among them, the hardware detection results during initialization can include sensor data of the first controller such as BMC, hardware failure logs, etc., and can also include the hardware self-check results of the second controller such as BIOS. Such as "CPU temperature: 45°C", "Hard disk warning".
[0099] Among them, the remote management interface information can be sourced from the page or image data of the operation interface layout and interface loading progress of the remote maintenance server. The types of remote management interface information can include, for example, the operation interface layout, loading progress, etc., such as the remote console login page, system configuration menu, and interface element loading percentage.
[0100] In a specific embodiment, at the initial stage of startup, the initialization status progress bar of the second controller such as BIOS and the memory detection result can be displayed. After the first controller such as BMC is ready, the CPU temperature monitoring chart is superimposed and displayed. When the remote management interface is loaded, the loading progress can be displayed.
[0101] Based on this, in the embodiments of the present application, since the second information at least includes the initialization progress information of the first controller such as BMC and / or the second controller such as BIOS, the hardware detection results during initialization, and the remote management interface information, the multi-source information during the server startup process is integrated into a unified visual interface, significantly improving the system observability and operation and maintenance efficiency.
[0102] According to the embodiments of the present application, after the processor startup is completed, in response to detecting that the first controller and the second controller perform initialization operations, the first information is updated using the second information, and the display is controlled to display the second information, further including: in response to receiving a first detection signal from the first controller and a second detection signal from the second controller, respectively obtaining third information for describing the initialization status of the first controller and fourth information for describing the initialization status of the second controller; determining the second information from the third information and the fourth information.
[0103] In this embodiment, after the processor startup is completed, when the first detection signal of the first controller such as BMC and the second detection signal of the second controller such as BIOS are received simultaneously and it is confirmed that both have completed initialization, the third information is obtained from the shared memory of the first controller, and the fourth information is obtained from the shared memory of the second controller.
[0104] The processor can select the second information to be displayed from the third information and the fourth information or merge and generate the second information to avoid display conflicts.
[0105] In a specific embodiment, a partition display method can be adopted, dividing the screen into two parts, with the third information displayed on the left and the fourth information displayed on the right.
[0106] In another specific embodiment, a dynamic scrolling display method can also be adopted, polling and displaying the two parts of information in time slices.
[0107] According to an embodiment of the present application, determining the second information from the third information and the fourth information includes: determining the second information from the third information and the fourth information according to a predetermined priority.
[0108] In yet another specific embodiment, a priority strategy may also be adopted to select high-priority information for display according to a priority preset rule. Specifically, after the processor obtains the third information and the fourth information, it respectively performs type parsing, and according to the priority configuration table, assigns a priority level to each piece of information, and determines the display order of the third information and the fourth information through the priority level.
[0109] In this embodiment, when a hardware alarm such as a temperature exceeding the threshold is detected, the third information of the first controller may be preferentially displayed. When the second controller such as the BIOS performs critical initialization such as system boot, the fourth information of the second controller may be preferentially displayed.
[0110] In another embodiment, in the initial stage of startup, the hardware self-check progress of the second controller such as the BIOS may be preferentially displayed. After the system is stable, the real-time monitoring data of the first controller such as the BMC may be preferentially displayed.
[0111] Based on this, the embodiment of the present application solves the display decision problem in the case of dual-controller information conflict based on a predetermined priority to ensure that critical information is preferentially displayed and improve the maintainability of the system.
[0112] According to an embodiment of the present application, determining the second information from the third information and the fourth information includes: in response to receiving a selection operation for a target data source, determining, from the third information and the fourth information, the information corresponding to the target data source as the second information; wherein the target data source includes any one of the following: the first controller and the second controller.
[0113] In this embodiment, the target data source may represent the information source specified by the user or the operation object through a selection operation, such as the first controller such as the BMC and the second controller such as the BIOS.
[0114] The selection operation may represent a data source switching instruction actively triggered by the user or the operation object, wherein the selection operation may be implemented through a hardware or software interaction method. For example, interaction methods such as server front-end buttons, external keyboard shortcuts, and web management interface clicks.
[0115] In this embodiment, when the processor receives the selection operation, it determines the target data source by parsing the operation parameters. If the target data source is the first controller, the processor may read the third information from the shared memory of the first controller and determine the third information as the second information to be displayed. If the target data source is the second controller, the processor may read the fourth information from the shared memory of the second controller and determine the fourth information as the second information to be displayed.
[0116] In the process of switching the control right between the first controller and the second controller, the processor can continuously control the screen to display the first information. For example, in the initial startup, the processor can drive the display to display the manufacturer's logo (LOGO); as the startup process progresses, the startup progress bar is updated and displayed in real time.
[0117] In addition, the processor acts as a unified manager for the control switching between the first controller and the second controller. When the first controller completes initialization and prepares to transfer control, the processor rechecks the initialization conditions of the second controller. The processor allows the control to switch only when the second controller meets the preset initialization conditions, such as normal hardware status and correct firmware configuration. During the switching process, the processor monitors the startup status of the second controller in real time. If the second controller fails to initialize, has a configuration error, or other abnormal conditions that cause display interruption or content loss, the processor immediately intervenes to process, such as re-triggering the second controller initialization process or displaying a fault prompt message, thereby achieving a smooth transition of the device from the first controller management mode to the second controller startup process, significantly improving the user operation experience and system reliability.
[0118] Based on this, in the embodiment of the present application, when the system displays high-priority alarm information by default, the user can manually switch the display source to quickly view hardware parameters or adjust startup options without waiting for the alarm to be cleared or restarting the system. In addition, the operation and maintenance personnel can switch the data source in real time according to the scene requirements, or the processor can dynamically adjust the display content by continuously reading the initialization status information of the first controller and the second controller in the shared memory to ensure that the screen always maintains a coherent and stable display during the control switching stage, so as to solve the problem of black screen or display disorder during the switching stage, and effectively improve the brand recognition and user-friendliness of the equipment.
[0119] According to an embodiment of the present application, the display control method also includes: after the processor is started, in response to not receiving a second detection signal from the second controller and not receiving a first detection signal from the first controller within a first predetermined time period, detecting a cause of a signal abnormality; generating abnormal information based on the cause of the signal abnormality; and using the abnormal information to update the first information, and controlling the display to display the abnormal information.
[0120] In this embodiment, the first predetermined time period may represent a preset time threshold for waiting for the first controller and the second controller to send an initialization completion signal after the processor is started.
[0121] The signal anomaly reason may indicate the type of failure that caused the signal not to be received on time, such as hardware damage, firmware crash, communication line interruption, etc.
[0122] In this embodiment, after the processor starts, it begins to time. If the initialization completion signals of the first controller and the second controller are not received within the first predetermined duration, at this time, there may be initialization exception problems with the first controller and the second controller, and then an exception handling process is triggered.
[0123] The processor can detect the cause of the signal exception by reading the hardware status or executing a self-check program, generate an exception message according to the detection result, such as "BMC firmware loading failed", and write the exception message into the frame buffer area for display to overwrite the initial first information.
[0124] According to an embodiment of the present application, an exception message is generated according to the detected cause of the signal exception, including: determining a target code and a prompt message associated with the cause of the signal exception; and generating an exception message according to the target code and the prompt message.
[0125] In this embodiment, the target code associated with the cause of the signal exception may be an execution code, for example, ERR_001 indicates "BMC firmware loading failed". The prompt message associated with the cause of the signal exception may be a pre-configured natural language description for guiding troubleshooting, such as "Please try to reload the BMC firmware".
[0126] In this embodiment, the execution code associated with the hardware and the pre-configured prompt message are combined into an exception message and displayed to the user, for example, in a way of red highlighting and full-screen covering, to ensure that the operation and maintenance personnel can quickly identify and perform maintenance in a timely manner.
[0127] According to an embodiment of the present application, the display control method further includes: in response to determining that the first controller has not completed the initialization operation within the second predetermined duration, controlling the display to display a fifth piece of information; where the fifth piece of information indicates the exception information of the first controller and the first prompt message for troubleshooting the exception of the first controller.
[0128] Wherein, the second predetermined duration may represent the time threshold for the processor to wait for the first controller, such as BMC, to complete initialization. In a specific embodiment, since the BMC needs to load the firmware and start the service, the second predetermined duration can be configured to be greater than the first predetermined duration.
[0129] Wherein, the fifth piece of information may represent a prompt message for the initialization exception of the first controller, and the fifth piece of information may include the exception information of the first controller and the first prompt message for troubleshooting the exception of the first controller.
[0130] In this embodiment, after the processor is started, it begins to monitor the initialization status of the first controller, such as the BMC. If the initialization completion signal of the first controller is not received after exceeding the second predetermined duration, a processing flow is triggered. The processor can determine the specific fault by reading the BMC status register, generate an exception message and a first prompt message based on a preset template according to the fault type, and continuously display them to remind the user to perform exception troubleshooting.
[0131] According to an embodiment of the present application, the display control method further includes: in response to determining that the second controller fails to complete the initialization operation within the third predetermined duration, controlling the display to display a sixth message; wherein the sixth message indicates the exception information of the second controller and a second prompt message for troubleshooting the exception of the first controller.
[0132] Wherein, the third predetermined duration can represent the time threshold for the processor to wait for the second controller, such as the BIOS, to complete the initialization. In a specific embodiment, since the BIOS needs to complete the hardware self-check and load the driver, the third predetermined duration can be configured to be greater than the first predetermined duration and greater than the second predetermined duration.
[0133] Wherein, the sixth message can represent a prompt message for the initialization exception of the second controller, and the fifth message can include the exception information of the second controller and a second prompt message for troubleshooting the exception of the second controller.
[0134] In this embodiment, the processor monitors the initialization status of the second controller, such as the BIOS. If the initialization completion signal of the second controller is not received after exceeding the third predetermined duration, a processing flow is triggered. The processor can determine the specific fault by reading the POST code left by the BIOS, generate an exception message and a second prompt message based on a preset template according to the fault type, and continuously display them to remind the user to perform exception troubleshooting.
[0135] Based on this, in the embodiment of the present application, when the processor does not receive the initialization signals of the BMC and the BIOS within the first predetermined duration after startup, the exception cause detection is automatically triggered, and the fault type is mapped to a standardized target code and a related fault description. The user does not need to rely on the traditional "black screen" phenomenon to judge the fault, and can intuitively understand the problems in the startup process, shortening the fault troubleshooting time. In addition, for the timeout scenarios of the BMC and the BIOS, the fifth message and the sixth message are respectively generated and continuously displayed to help the operation and maintenance personnel quickly locate the hardware fault, significantly shortening the fault troubleshooting time and improving the maintainability and reliability of the server in the unattended or remote operation and maintenance scenarios.
[0136] According to an embodiment of the present application, the display control method further includes: in response to detecting that the server is powered on, respectively dividing independent storage areas for the first controller and the second controller; and respectively configuring detection interfaces for the general input / output detection signals of the first controller and the second controller, so as to detect the initialization states of the first controller and the second controller.
[0137] Among them, the independent storage areas of the first controller and the second controller can be used to store their respective initialization state data and display information, avoiding data conflicts.
[0138] Among them, the detection interfaces for the general input / output detection signals of the first controller and the second controller can be used to receive the initialization state signals of the first controller and the second controller respectively, so as to realize real-time monitoring of the initialization states.
[0139] In this embodiment, the processor can detect that the server is powered on through a hardware circuit or a software protocol, and respectively divide two independent storage areas for the first controller and the second controller in the system memory. The storage area of the first controller can be used to store the initialization state, sensor data, etc. of the first controller such as BMC. The storage area of the second controller can be used to store the initialization state, POST code, hardware configuration information, etc. of the second controller such as BIOS.
[0140] In this embodiment, the processor further includes setting access permissions and data storage formats, avoiding conflicts when different components read and write simultaneously, and ensuring the integrity and accuracy of the display data.
[0141] In this embodiment, the processor can also respectively configure detection interfaces for the general input / output detection signals of the first controller and the second controller, so that the first controller and the second controller can send detection signals to the processor through their respective corresponding interfaces, and the processor determines whether the first controller and the second controller are initialized by reading the first detection signal and the second detection signal.
[0142] For example, during the server startup process, after the second controller completes hardware enumeration and basic configuration, it will send a signal to the processor through the detection interface of the general input / output detection signal such as GPIO interrupt; after the first controller completes network connection and management module initialization, it will also notify the processor in a similar manner. The processor accurately perceives the operating states of each component based on these interrupt signals, and thus determines the subsequent display logic and operations.
[0143] In this embodiment, the processor can also initialize the output signal of the server display and temporarily turn off the display output at the initial stage of system power-on. Since the server may generate instantaneous unstable electrical signals during startup, directly outputting them to the display may cause abnormal displays such as flickering and screen distortion. By temporarily turning off the display output, the probability of abnormal display is reduced, laying a foundation for subsequent stable display output.
[0144] Meanwhile, the processor can also check and configure the initial state of the VGA controller to ensure that it is in a normal working preparation state.
[0145] Figure 4 The figure shows a schematic diagram of the display control method according to a specific embodiment of the present application.
[0146] As Figure 4 shown, in a specific embodiment, the display control method includes operations S401 to S410.
[0147] In operation S401, the server is powered on.
[0148] In operation S402, the processor starts the initialization process.
[0149] Specifically, the processor can initialize the shared memory to ensure the efficiency and stability of data transfer between multiple components. For example, independent storage areas are allocated for the first controller and the second controller. The processor can also configure the detection interfaces, such as configuring the detection interfaces for the general input / output detection signals of the first controller and the second controller respectively to receive the initialization signals of the first controller and the second controller. In addition, the processor can perform initialization operations on the VGA controller, such as setting the frame buffer address, pixel format, and turning off the initial display output.
[0150] In operation S403, it is determined whether the server has been powered on. If yes, operation S404 is executed to drive the display to show the first information. If not, operation S402 is executed again.
[0151] In operation S405, it is determined whether the second controller has completed the initialization operation and there is content to be displayed. If yes, operation S406 is executed to display the fourth information. If not, operation S407 is executed.
[0152] Specifically, the processor can check whether the second controller has completed the initialization operation and there is content to be displayed according to the previously received interrupt information. During the server startup process, the initialization of the second controller includes multiple key steps, such as CPU self-check, memory detection, hardware device enumeration, etc. Only when all these steps are completed and the second controller is ready to display relevant information such as the system startup progress and the hardware configuration list, does it meet the display condition.
[0153] If the second controller meets the display condition, the processor can read the display data related to the second controller. These data are usually stored in the shared memory or the dedicated storage area of the second controller in a specific graphic or text format. The processor converts the data into a format that the VGA controller can recognize and drives the screen to display the host content. For example, when the second controller detects a memory error, it generates a corresponding error code and prompt message, and the processor controls the display of this content through the VGA, enabling the operation and maintenance personnel to timely understand the server hardware failure and providing a direct clue for troubleshooting.
[0154] In operation S407, it is judged whether the first controller has completed the initialization operation and there is content to be displayed. If so, operation S408 is executed to display the third information. If not, operation S409 is executed.
[0155] Specifically, when the second controller does not meet the display condition, the processor can check whether the first controller has completed the initialization operation and there is content to be displayed according to the previously received interrupt information. Since the first controller plays an important role in remote management and hardware monitoring in the server, its initialization includes network interface configuration, startup of the sensor data acquisition module, etc. When the first controller completes the initialization and there is a display requirement such as the loading of the remote management interface or the hardware status alarm, the third information is displayed.
[0156] The processor calls the content of the frame buffer area of the first controller. The frame buffer area is the memory area used by the first controller to store the display image, which contains multiple management interface elements and monitoring data graphics. The processor outputs the data in the frame buffer area to the screen through the VGA controller to display the information related to the first controller.
[0157] For example, in the server remote management scenario, the administrator connects to the first controller through the network. The first controller writes the data to be displayed on the desktop interface into the frame buffer area. After the processor senses it, it drives the VGA to display, enabling the administrator to manage the server as if operating locally and achieving efficient remote operation and maintenance.
[0158] In operation S409, the processor drives the display to display the first information and re-enters operation S405.
[0159] Specifically, if both the first controller and the second controller do not meet the display condition, the processor drives the screen to display custom content. Among them, the custom content of the processor can include the manufacturer's LOGO, the default prompt interface, or simple status prompt information, etc.
[0160] For example, the processor reads the manufacturer's logo image data from the internal storage area. After format conversion and processing, it outputs the data to the display through the VGA controller. This not only avoids a blank screen and improves the user experience but also enhances brand recognition to a certain extent. In the server maintenance scenario, if the initialization of the second controller fails, the processor displays prompt messages such as "Initialization exception of the second controller. Please check the hardware or firmware version" to provide maintenance personnel with a preliminary indication of the fault direction.
[0161] In operation S410, the display is completed.
[0162] In another embodiment, after the server is powered on, the processor starts to monitor the initialization process of the first controller in real time. If the initialization of the first controller times out and is not completed, and at this time the second controller has not started to output display data, the processor immediately prompts the user on the screen with "The initialization completion signal of the first controller cannot be detected currently". After detecting the power-on signal, the processor continues to monitor the initialization status of the second controller. If the initialization of the second controller still times out and is not completed, or the second controller does not send display data to the processor after timing out, the processor will display on the screen "Power-on timeout, unable to display data. Whether to check if there are problems with important components such as the CPU, memory module, and fan" and provide the user with detailed diagnostic information and solution suggestions in combination with the component information recorded in the first controller monitoring and management to help the user quickly locate and solve the device startup problem.
[0163] Based on this, the embodiments of the present application configure independent storage areas for the first controller and the second controller to avoid memory access conflicts between the first controller and the second controller, improve system stability, and prevent display anomalies or system crashes caused by data competition. In addition, by configuring detection interfaces for the first controller and the second controller to respectively detect general-purpose input / output detection signals, it is ensured that the processor can respond in a timely manner and update the display content, avoiding the black screen waiting during the startup process.
[0164] Based on the above display control method, the present application further provides a display control device, including: a first controller, a second controller, a processor, and a display deployed in a server; the processor is communicatively connected to the first controller, the second controller, and the display respectively; the processor is configured to, in response to detecting a startup operation executed on the server, control the display to display first information; the first information is used to indicate first interface content of the processor that has responded to the startup operation; the first controller is configured to, after the processor starts up, perform a first initialization operation and send a first detection signal to the processor; the second controller is configured to, after the processor starts up, perform a second initialization operation and send a second detection signal to the processor; the processor is further configured to, after the processor starts up, receive the first detection signal and / or the second detection signal from the first controller and / or the second controller, replace the first information with second information, and control the display to display the second information; wherein, the second information is used to indicate second interface content of the initialization state of the first controller and / or the second controller; the display is configured to display the first information in the case of the startup operation executed on the server; and display the second information in the case of the first controller and / or the second controller performing the initialization operation.
[0165] The following will combine Figure 5 to describe this device in detail.
[0166] Figure 5 shows a schematic structural diagram of a display control device according to an embodiment of the present application.
[0167] As Figure 5 shown, the display control device includes a first controller 510, a second controller 520, a processor 210, and a display 105, wherein the processor 210 is communicatively connected to the first controller 510, the second controller 520, and the display 105 respectively. The display 105 may include a VGA controller and a display panel.
[0168] Among them, the first controller 510 may include an out-of-band management chip independent of the main system, such as a baseboard management controller BMC. The first controller 510 may interact with the processor 210 through an Inter-Integrated Circuit (I2C) or a System Management Bus (SMBus).
[0169] The second controller 520 may include a basic input / output system BIOS or UEFI firmware, and the second controller 520 may interact with the processor 210 through a Low Pin Count (LPC) bus.
[0170] The processor 210 may represent a system main controller, such as an MCU, in which a VGA controller or a High-Definition Multimedia Interface (HDMI) controller may be integrated to directly drive the display 105 to display content.
[0171] The display 105 may include a physical display device such as a Liquid Crystal Display (LCD), and the display 105 may be connected to the processor 210 through a VGA / HDMI interface.
[0172] According to an embodiment of the present application, in the startup phase, the processor 210 may detect a startup operation performed on the server, such as a power button press, through a general-purpose input / output interface, and control the display 105 to display first interface content, such as a manufacturer's logo, "system starting up", etc. After the processor 210 finishes starting up, the first controller 510 performs a first initialization operation and may send a first detection signal to the processor 210 through an I2C bus. The second controller 520 performs a second initialization operation and may send a second detection signal to the processor 210 through an LPC bus. After receiving any detection signal, the processor 210 reads initialization status data from the shared memory of the corresponding controller to generate second information to overwrite the first information, and controls the display 105 to display second interface content.
[0173] Figure 6 The structural schematic diagram of a display control device according to a specific embodiment of the present application is shown.
[0174] As Figure 6 shown, the display control device is deployed inside the server, and the on / off state of the server can be input to the first controller 510, the second controller 520, and the processor 210 simultaneously through a GPIO bus. Among them, the processor 210 can capture the on / off state of the server in real time through a GPIO interrupt.
[0175] When a power-on signal is detected, the processor 210 initializes the VGA controller 104 to drive the display 105. If a power-off signal is detected, all display outputs are cut off.
[0176] Among them, the processor 210 respectively establishes shared memory areas with the first controller 510 and the second controller 520 for storing the initialization status data of the controllers. The first controller 510 and the second controller 520 may send an initialization completion signal to the processor 210 through a detection interface for detecting a general-purpose input / output signal, such as a GPIO pin.
[0177] Figure 7The figure shows a schematic diagram of the communication structure of a display control device according to a specific embodiment of the present application.
[0178] As Figure 7 shown, the processor 210 divides independent storage areas for the first controller 510 and the second controller 520 respectively as shared memory areas. Among them, the shared memory with the first controller 510 can be used to store hardware monitoring data, and the shared memory with the second controller 520 can be used to store hardware configuration information.
[0179] Among them, the processor 210 can also set read and write permissions for each storage area through the memory management unit to avoid data conflicts.
[0180] As Figure 7 shown, the processor 210 also has an interrupt processing middleware built-in, which listens to the initialization signals of the first controller 510 and the second controller 520 respectively through the GPIO pins. When an interrupt is triggered, the processor 210 can read data from the corresponding shared memory according to the signal type and priority and update the display.
[0181] For example, if the processor 210 monitors the boot operation of the server, it immediately lights up the screen. If the first controller 510 and the second controller 520 are not initialized, it outputs characters such as "The system is booting up, please wait", providing a better experience for the user.
[0182] If the processor 210 receives an interrupt signal sent by the first controller 510, it performs pixel display according to the data in the shared memory of the first controller 510. If it receives an interrupt signal sent by the second controller 520, it performs pixel display according to the data in the shared memory of the second controller 520. At this time, the interrupt signal sent by the first controller 510 is masked, and the display is no longer performed with the data of the first controller 510. It is considered that the second controller 520 has been initialized and can perform display output, and the self-check information of the second controller 520 can be displayed.
[0183] If the processor 210 monitors the shutdown operation of the server, it can close all display outputs after displaying "The system has been shut down" on the screen.
[0184] As Figure 7 shown, the processor 210 is also configured with a frame buffer area for the VGA controller. The processor 210 writes the second information of the first controller 510 and the second controller 520 into the frame buffer area after converting it into pixel data, and drives the display 105 to display the corresponding content through the horizontal / vertical synchronization signals of the VGA controller.
[0185] Based on this, in the embodiments of the present application, by using the processor as the central coordination unit, it immediately responds and controls the display to show the first information when the server starts up, solving the problem of blank display in the initial startup stage. When the first controller and the second controller complete initialization, the processor receives the detection signal in real time and dynamically generates the second information for updating the display, so as to eliminate the black screen delay caused by the controller switch, thereby realizing seamless connection of the displayed content. In addition, by uniformly managing multi-source data through the processor, it supports the collaborative display of the first controller and the second controller, improving the integrity and observability of the server state, while decoupling the direct dependence between the controller and the display, and enhancing the system compatibility.
[0186] According to the embodiments of the present application, the display control device further includes: a first controller, configured to send a first detection signal to the processor during the execution of a first initialization operation; the processor, configured to update the first information with third information for describing the initialization state of the first controller when receiving the first detection signal and not receiving the second detection signal; control the display to show the third information; and the display, configured to show the third information.
[0187] In this embodiment, during the execution of initialization operations such as sensor calibration and firmware loading, the first controller 510 sends a first detection signal to the processor 210. The processor 210 triggers the display update of the first controller status information only when receiving the detection signal of the first controller 510 and not receiving the detection signal of the second controller 520, and controls the display 105 to show the third information of the first controller 510 in real time, such as the initialization progress or status data, and covers the first information in the startup stage.
[0188] Based on this, in the embodiments of the present application, by the first controller sending a detection signal during initialization, the real-time monitoring and dynamic display of its working state are realized. When the processor receives the detection signal of the first controller and the second controller is not yet ready, the initialization progress of the first controller is converted into the third information and the display is updated, avoiding the black screen waiting during startup. At the same time, when the second controller is not ready, the information of the first controller is preferentially displayed, making full use of the display resources, so as to be applicable to the scenario where the initialization of the second controller takes a long time, realizing the dynamic optimal allocation of display resources and the visualization of the system state.
[0189] According to the embodiments of the present application, the display control device further includes: a second controller, configured to send a second detection signal to the processor during the execution of a second initialization operation; the processor, configured to update the first information with fourth information for describing the initialization state of the second controller when receiving the second detection signal and not receiving the first detection signal; control the display to show the fourth information; and the display, configured to show the fourth information.
[0190] In this embodiment, during the execution of initialization operations such as POST self-check and hardware driver loading by the second controller 520, a second detection signal is sent to the processor 210. The processor 210 triggers the display update of the second controller status information only when it receives the detection signal of the second controller 520 but does not receive the detection signal of the first controller 510, controls the display 105 to display the fourth information of the second controller 520 in real time, such as the initialization progress or self-check result, and overwrites the first information in the startup phase.
[0191] Based on this, the embodiment of the present application realizes the real-time visualization of the system self-check process through the detection signal sent by the second controller during initialization, and solves the problem that the second controller shows a black screen or only a static LOGO during the self-check phase when the traditional server starts. When the processor receives the detection signal of the second controller and the first controller is not yet ready, the self-check progress of the second controller is converted into the fourth information and the display is updated, enabling the user to intuitively understand the startup status. In addition, the information of the second controller is preferentially displayed when the first controller is not ready, ensuring the efficient use of display resources, applicable to servers with a long initialization time for the first controller, and realizing the dynamic optimization of the display content in the startup phase and the visualization of the system status.
[0192] According to the embodiment of the present application, the processor is further configured to, after the processor starts up, in response to not receiving the second detection signal from the second controller and not receiving the first detection signal from the first controller within a first predetermined time period, detect the reason for the abnormal detection signal; generate abnormal information according to the reason for the signal abnormality; and update the first information with the abnormal information, and control the display to display the abnormal information; the display is used to display the abnormal information.
[0193] In this embodiment, after the processor 210 starts up, the processor 210 starts timing. If it does not receive the second detection signal from the second controller 520 and does not receive the first detection signal from the first controller 510 within the first predetermined time period, it triggers abnormal processing, and detects the reasons for the signal abnormalities of the first controller 510 and the second controller 520 respectively through the communication link. For example, it can detect the hardware connection, power status, and firmware loading status, etc. Based on the reasons for the signal abnormalities, determine the associated target code and prompt information, and generate abnormal information according to the target code and prompt information. The processor 210 controls the display 105 to display the abnormal information in real time and overwrites the first information in the startup phase.
[0194] Based on this, in the embodiments of the present application, when the processor does not receive the initialization signals of the first controller and the second controller within the first predetermined duration, an exception detection process is immediately triggered. Exception information is generated according to the detection result and displayed on the screen, so as to convert the original underlying hardware fault into a visual problem that can be solved by the operation and maintenance personnel, significantly improving the maintainability and availability of the server.
[0195] According to the embodiments of the present application, the processor is further configured to: in response to determining that the first controller has not completed the initialization operation within the second predetermined duration, control the display to display the fifth information; wherein the fifth information indicates the exception information of the first controller and the first prompt information for troubleshooting the exception of the first controller; the display is configured to display the fifth information.
[0196] In this embodiment, after the processor 210 starts up, the processor 210 starts timing. If the first detection signal from the first controller 510 is not received within the second predetermined duration, it is determined that the first controller 510 has not completed the initialization operation within the second predetermined duration. The cause of the signal exception of the first controller 510 is detected, the exception information of the first controller 510 and the first prompt information for troubleshooting the exception of the first controller 510 are determined, and the display 105 is controlled to display the exception information of the first controller 510 and the first prompt information for troubleshooting the exception of the first controller 510 in real time.
[0197] Based on this, in the embodiments of the present application, when the processor detects that the first controller has not completed the initialization within the second predetermined duration, an exception detection process is immediately triggered. Exception information is generated according to the detection result and displayed on the screen, so as to convert the original underlying hardware fault into a visual problem that can be solved by the operation and maintenance personnel, significantly improving the maintainability and availability of the server.
[0198] According to the embodiments of the present application, the processor is further configured to: in response to determining that the second controller has not completed the initialization operation within the third predetermined duration, control the display to display the sixth information; wherein the sixth information indicates the exception information of the second controller and the second prompt information for troubleshooting the exception of the first controller; the display is configured to display the sixth information.
[0199] In this embodiment, after the processor 210 starts up, the processor 210 starts timing. If the second detection signal from the second controller 520 is not received within the third predetermined duration, it is determined that the second controller 520 has not completed the initialization operation within the third predetermined duration. The cause of the signal exception of the second controller 520 is detected, the exception information of the second controller 520 and the second prompt information for troubleshooting the exception of the second controller 520 are determined, and the display 105 is controlled to display the exception information of the second controller 520 and the second prompt information for troubleshooting the exception of the second controller 520 in real time.
[0200] Based on this, in an embodiment of the present application, when the processor monitors that the second controller fails to complete self-check within the third predetermined duration, an exception detection process is immediately triggered. An exception message is generated according to the detection result and displayed on the screen, enabling the operation and maintenance personnel to quickly locate and solve the problem without complex tools, effectively reducing the downtime of the server caused by the exception of the second controller.
[0201] Figure 8 A block diagram of an electronic device suitable for implementing a display control method according to an embodiment of the present application is shown.
[0202] As Figure 8 As shown, the electronic device 800 according to an embodiment of the present application includes a processor 801, which can perform various appropriate actions and processes according to a program stored in a read-only memory ROM 802 or a program loaded from a storage section 808 into a random access memory RAM 803. The processor 801 can include, for example, a general-purpose microprocessor (such as a CPU), an instruction set processor, and / or a related chipset, and / or a dedicated microprocessor (such as an application-specific integrated circuit (ASIC)), etc. The processor 801 can also include on-board memory for caching purposes. The processor 801 can include a single processing unit or multiple processing units for performing different actions of the method flow according to an embodiment of the present application.
[0203] In the RAM 803, various programs and data required for the operation of the electronic device 800 are stored. The processor 801, the ROM 802, and the RAM 803 are connected to each other through a bus 804. The processor 801 executes various operations of the method flow according to an embodiment of the present application by executing the programs in the ROM 802 and / or the RAM 803. It should be noted that the program can also be stored in one or more memories other than the ROM 802 and the RAM 803. The processor 801 can also execute various operations of the method flow according to an embodiment of the present application by executing the programs stored in the one or more memories.
[0204] According to an embodiment of the present application, the electronic device 800 may further include an input / output (I / O) interface 805, and the input / output (I / O) interface 805 is also connected to the bus 804. The electronic device 800 may further include one or more of the following components connected to the input / output (I / O) interface 805: an input portion 806 including a keyboard, a mouse, etc.; an output portion 807 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc. and a speaker, etc.; a storage portion 808 including a hard disk, etc.; and a communication portion 809 including a network interface card such as a LAN card, a modem, etc. The communication portion 809 performs communication processing via a network such as the Internet. The drive 810 is also connected to the input / output (I / O) interface 805 as needed. A removable medium 811, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 810 as needed so that a computer program read from it can be installed into the storage portion 808 as needed.
[0205] The present application also provides a computer-readable storage medium, which may be included in the device / apparatus / system described in the above embodiments; or may exist separately without being assembled into the device / apparatus / system. The above computer-readable storage medium carries one or more programs, and when the above one or more programs are executed, the method according to the embodiments of the present application is implemented.
[0206] According to an embodiment of the present application, the computer-readable storage medium may be a non-volatile computer-readable storage medium, for example, it may include but is not limited to: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present application, the computer-readable storage medium may be any tangible medium that contains or stores a program, and the program can be used by or in combination with an instruction execution system, device, or device. For example, according to an embodiment of the present application, the computer-readable storage medium may include the above-described ROM 802 and / or RAM 803 and / or one or more memories other than ROM 802 and RAM 803.
[0207] An embodiment of the present application further includes a computer program product, which includes a computer program, and the computer program includes program codes for executing the method shown in the flowchart. When the computer program product runs in a computer system, the program codes are used to cause the computer system to implement the display control method provided by the embodiments of the present application.
[0208] When the computer program is executed by the processor 801, the above functions defined in the system / apparatus of the embodiments of the present application are executed. According to the embodiments of the present application, the above-described systems, apparatuses, modules, units, etc. can be implemented by computer program modules.
[0209] In one embodiment, the computer program can rely on tangible storage media such as optical storage devices, magnetic storage devices, etc. In another embodiment, the computer program can also be transmitted and distributed in the form of signals on a network medium, and be downloaded and installed through the communication part 809, and / or be installed from the removable medium 811. The program code included in the computer program can be transmitted by any suitable network medium, including but not limited to: wireless, wired, etc., or any suitable combination of the above.
[0210] In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 809, and / or be installed from the removable medium 811. When the computer program is executed by the processor 801, the above functions defined in the system of the embodiments of the present application are executed. According to the embodiments of the present application, the above-described systems, devices, apparatuses, modules, units, etc. can be implemented by computer program modules.
[0211] According to the embodiments of the present application, the program code for executing the computer program provided by the embodiments of the present application can be written in any combination of one or more programming languages. Specifically, these computing programs can be implemented using high-level procedures and / or object-oriented programming languages, and / or assembly / machine languages. The programming languages include but are not limited to, such as Java, C++, python, "C" language or similar programming languages. The program code can be executed entirely on the user computing device, partially on the user device, partially on a remote computing device, or entirely on a remote computing device or server. In the case of a remote computing device, the remote computing device can be connected to the user computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computing device (for example, by using an Internet service provider to connect through the Internet).
[0212] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architectures, functions, and operations of systems, methods, and computer program products according to various embodiments of the present application. In this regard, each block in the flowchart or block diagram may represent a module, a segment of a program, or a part of code that contains one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions noted in the blocks may occur in an order different from that noted in the accompanying drawings. For example, two consecutive blocks shown may actually be executed substantially in parallel, and they may sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block in the block diagram or flowchart, and combinations of blocks in the block diagram or flowchart, can be implemented by a dedicated hardware-based system that performs the specified functions or operations, or can be implemented by a combination of dedicated hardware and computer instructions.
[0213] Those skilled in the art can understand that the features described in the various embodiments of the present application can be combined and / or combined in various ways, even if such combinations or combinations are not explicitly described in the present application. In particular, without departing from the spirit and teachings of the present application, the features described in the various embodiments of the present application can be combined and / or combined in various ways. All such combinations and / or combinations fall within the scope of the present application.
[0214] The above describes the embodiments of the present application. However, these embodiments are merely for illustrative purposes and are not intended to limit the scope of the present application. Although the embodiments have been described separately above, this does not mean that the measures in the respective embodiments cannot be used advantageously in combination. Without departing from the scope of the present application, those skilled in the art can make various substitutions and modifications, and all such substitutions and modifications should fall within the scope of the present application.
Claims
1. A display control method, characterized in that, The method is applied to a processor, and the method includes: In response to detecting that the server is performing a startup operation, controlling a display to display first information; the first information is used to indicate first interface content of the processor that has responded to the startup operation; After the processor starts up successfully, in response to detecting that a first controller and / or a second controller perform an initialization operation, updating the first information with second information, and controlling the display to display the second information; wherein, the second information is used to indicate second interface content of the initialization state of the first controller and / or the second controller.
2. The method according to claim 1, wherein The second information includes third information for describing the initialization state of the first controller; The step of, after the processor starts up successfully, in response to detecting that the first controller and / or the second controller perform an initialization operation, updating the first information with second information, and controlling the display to display the second information, includes: In response to receiving a first detection signal from the first controller and not receiving a second detection signal from the second controller, updating the first information with the third information; Controlling the display to display the third information.
3. The method according to claim 2, wherein The step of updating the first information with the third information further includes: Obtaining a first initialization progress identifier for describing the initialization operation performed by the first controller; Determining an executed state of the first initialization operation corresponding to the first initialization progress identifier; and Generating the third information according to the executed state of the first initialization operation.
4. The method according to claim 3, characterized in that The step of generating the third information according to the executed state of the first initialization operation includes: Determining first operation information for describing the first initialization operation; and Generating the third information according to the executed state of the first initialization operation and the first operation information.
5. The method according to claim 1, wherein The second information includes fourth information for describing the initialization state of the second controller; The step of, after the processor starts up successfully, in response to detecting that the first controller and / or the second controller perform an initialization operation, updating the first information with second information, and controlling the display to display the second information, includes: In response to receiving a first detection signal from the first controller and not receiving a second detection signal from the second controller, updating the first information with the fourth information; Controlling the display to display the fourth information.
6. The method according to claim 5, wherein The step of updating the first information with the fourth information further includes: Obtaining a second initialization progress identifier for describing the initialization operation performed by the second controller; Determining an executed state of the second initialization operation corresponding to the second initialization progress identifier; and Generating the fourth information according to the executed state of the second initialization operation.
7. The method according to claim 6, wherein The step of generating the fourth information according to the executed state of the second initialization operation includes: Determining second operation information for describing the second initialization operation; and Generating the fourth information according to the executed state of the second initialization operation and the second operation information.
8. The method according to any one of claims 1-7, characterized in that The step of controlling the display to display the second information includes: In the case where it is determined that the second information is in an image format, write the second information into the frame buffer area of the display, so that the display obtains the second information from the frame buffer area of the display and displays the second information.
9. The method according to claim 8, characterized in that, The second information includes at least one of the following: Information for indicating the initialization progress of the first controller or the second controller; Hardware operation status result information detected during the initialization operation of the first controller or the second controller; Remote management interface information for indicating the operation interface layout and interface loading progress of remotely maintaining the server.
10. The method according to claim 1, wherein After the processor starts up, in response to detecting that the first controller and the second controller perform initialization operations, updating the first information with the second information and controlling the display to display the second information further includes: In response to receiving a first detection signal from the first controller and a second detection signal from the second controller, respectively obtain third information for describing the initialization state of the first controller and fourth information for describing the initialization state of the second controller; Determine the second information from the third information and the fourth information.
11. The method according to claim 10, wherein The determining the second information from the third information and the fourth information includes: Determine the second information from the third information and the fourth information according to a predetermined priority.
12. The method according to claim 11, characterized in that, The determining the second information from the third information and the fourth information includes: In response to receiving a selection operation for a target data source, determine, from the third information and the fourth information, the information corresponding to the target data source as the second information; Wherein, the target data source includes any one of the following: the first controller and the second controller.
13. The method according to claim 1, characterized in that, The method further includes: After the processor starts up, in response to not receiving a second detection signal from the second controller and not receiving a first detection signal from the first controller within a first predetermined time period, detect the reason for the abnormal detection signal; Generate abnormal information according to the reason for the signal abnormality; and Update the first information with the abnormal information and control the display to display the abnormal information.
14. The method according to claim 13, wherein The generating abnormal information according to the reason for the abnormal detection signal includes: Determine a target code and a prompt message associated with the reason for the signal abnormality; and Generate the abnormal information according to the target code and the prompt message.
15. The method according to claim 14, characterized in that, The method further includes: In response to determining that the first controller fails to complete the initialization operation within a second predetermined time period, control the display to display fifth information; wherein, the fifth information indicates the abnormal information of the first controller and a first prompt message for troubleshooting the abnormality of the first controller.
16. The method according to claim 15, wherein The method further includes: In response to determining that the second controller fails to complete the initialization operation within a third predetermined time period, control the display to display sixth information; wherein, the sixth information indicates the abnormal information of the second controller and a second prompt message for troubleshooting the abnormality of the first controller.
17. The method according to claim 1, wherein The method further includes: In response to detecting that the server is powered on, separate independent storage areas are allocated for the first controller and the second controller respectively; and Detection interfaces for respective general-purpose input / output detection signals are configured for the first controller and the second controller respectively, so as to detect the initialization states of the first controller and the second controller.
18. A display control device, comprising: A first controller, a second controller, a processor, and a display deployed in the server; The processor is communicatively connected to the first controller, the second controller, and the display respectively; The processor is configured to, in response to detecting a startup operation performed on the server, control the display to display first information; the first information is used to indicate first interface content of the processor's response to the startup operation; The first controller is configured to, after the processor finishes starting up, perform a first initialization operation and send a first detection signal to the processor; The second controller is configured to, after the processor finishes starting up, perform a second initialization operation and send a second detection signal to the processor; The processor is further configured to, after the processor finishes starting up, receive the first detection signal and / or the second detection signal from the first controller and / or the second controller, replace the first information with second information, and control the display to display the second information; wherein the second information is used to indicate second interface content of the initialization state of the first controller and / or the second controller; The display displays the first information in the case of a startup operation performed on the server; and displays the second information in the case of the first controller and / or the second controller performing an initialization operation.
19. The display control device according to claim 18, comprising: The first controller is configured to send a first detection signal to the processor during the execution of the first initialization operation; The processor is configured to, in the case of receiving the first detection signal and not receiving the second detection signal, update the first information with third information for describing the initialization state of the first controller; and control the display to display the third information; The display is configured to display the third information.
20. The display control device according to claim 18, comprising: The second controller is configured to send a second detection signal to the processor during the execution of the second initialization operation; The processor is configured to, in the case of receiving the second detection signal and not receiving the first detection signal, update the first information with fourth information for describing the initialization state of the second controller; and control the display to display the fourth information; The display is configured to display the fourth information.
21. For the display control device according to claim 18, the processor is further configured to: After the processor finishes starting up, in response to not receiving the second detection signal from the second controller and not receiving the first detection signal from the first controller within a first predetermined time period, detect the reason for the abnormal detection signal; Generate exception information according to the cause of the signal anomaly; and Update the first information by using the exception information, and control the display to display the exception information; The display is configured to display the exception information.
22. The display control device according to claim 18, wherein The processor is further configured to: In response to determining that the first controller fails to complete the initialization operation within a second predetermined duration, control the display to display a fifth piece of information; wherein the fifth piece of information indicates the exception information of the first controller and a first prompt message for troubleshooting the exception of the first controller; The display is configured to display the fifth piece of information.
23. The display control device according to claim 18, wherein, The processor is further configured to: In response to determining that the second controller fails to complete the initialization operation within a third predetermined duration, control the display to display a sixth piece of information; wherein the sixth piece of information indicates the exception information of the second controller and a second prompt message for troubleshooting the exception of the first controller; The display is configured to display the sixth piece of information.
24. A computer-readable storage medium having a computer program or instructions stored thereon, characterized in that, When the computer program or instruction is executed by a processor, the steps of the method according to any one of claims 1 to 17 are implemented.
25. A computer program product, comprising a computer program which, when executed by a processor, implements the method according to any one of claims 1 - 17.
Citation Information
Patent Citations
Server display method and device
CN105786421A
Design method for displaying starting-up schedule at Post stage of server
CN105786676A
Computer system and starting-up method thereof
CN106775635A
Server display circuit and method
CN108255685A
Remote control startup display mode setting method and system, terminal and storage medium
CN116028125A
Cited By
Server display control system and method, device, equipment, medium and product
CN120892003A
Display control system and method, electronic equipment, medium and product
CN120892130A
Server starting method and electronic equipment
CN121209976A