A local display system of a server, a baseboard management controller and a server
By designing the image data processing module and display module in the server substrate management controller (BMC), the multi -screen display function is realized, the problem of high CPU computing resources is high, and the display efficiency is improved.
Patent Information
- Application Number
- CN202411195672.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-29
- Publication Date
- 2025-01-28
- Estimated Expiration
- 2044-08-29
AI Technical Summary
In the local display function of existing server substrate management controller (BMC), CPU computing resources are occupied a large amount of time, resulting in low display efficiency.
Design a local display system, including image data processing modules and display modules. The image data processing module converts the data to the displayed data in each video memory area to display pixel data, and is filled in the cache space of the memory line; the display module controls the display data on each display area according to the data in the cache space in the memory line.
Multi -screen display functions are implemented by hardware, reducing BMC's CPU resources occupation, improving display efficiency, and avoiding the waste of CPU computing resources caused by software image stitching.
Smart Images

Figure CN118689437B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of servers, and in particular to a local display system of a server, a baseboard management controller and a server. Background Art
[0002] The baseboard management controller (BMC) in the server is mainly used to remotely manage and monitor the hardware and software of computer systems such as servers, network devices and storage devices. BMC is usually integrated on the server motherboard or system board, independent of the main processor and operating system, and provides a series of management functions. At the same time, the baseboard management controller also has the function of a server graphics card, which can provide the local display function of the operating system on the server host.
[0003] At present, the local display function of BMC can only display the operating system screen of the server host on the monitor connected to the server, and its function has not been fully utilized. In the related technology, if other information is to be displayed locally on the monitor, it is necessary to use the CPU of BMC to obtain the content displayed on the monitor through software splicing. Figure 1 As shown, the server host transmits the desktop image of the operating system to the display module of the BMC, and the display module temporarily stores the image data in the memory on the SOC (System on Chip) of the BMC, that is, a memory space is opened in the memory of the SOC as video memory, and the image data is temporarily stored in the video memory; the CPU in the SOC is used to process the data in the video memory, such as scaling the data in the video memory; then the CPU synthesizes the information to be displayed by the SOC into image data, and finally splices it into a complete image, writes it to the video memory, and displays it through the display module. However, this display method requires a lot of CPU running time and computing resources, making the display efficiency low. Therefore, how to solve the problem of a large amount of CPU computing resources in the BMC being occupied due to the splicing of software images displayed locally and improve the display efficiency is a problem that needs to be solved urgently. Summary of the invention
[0004] The object of the present invention is to provide a local display system of a server, a baseboard management controller and a server, so as to reduce the CPU resource occupation of the BMC by the local display and improve the display efficiency.
[0005] In order to solve the above technical problems, the present invention provides a local display system of a server, which is applied to a baseboard management controller and includes: an image data processing module and a display module;
[0006] The image data processing module is used to convert the to-be-displayed data in each display memory area into the display pixel data corresponding to each, and fill it into the filling area corresponding to each of the display memory areas in the display memory line buffer space; wherein the number of the display memory areas is greater than or equal to 2, and each of the display memory areas is used to store the to-be-displayed data of a corresponding preset display content type, the preset display content type includes the server desktop image content and each text information content, and the display pixel data corresponding to the text information content includes the character shape data in the preset font library;
[0007] The display module is used to control the display to display the display pixel data on the display areas corresponding to the filling areas according to the display pixel data in the video memory row buffer space.
[0008] In another aspect, the image data processing module includes a text information processing submodule;
[0009] The text information processing submodule is used for, when the preset display content type corresponding to the data to be displayed in the current display memory area is any of the text information contents, converting the character codes corresponding to the characters in the data to be displayed in the current display memory area into the display pixel data corresponding to the characters according to the preset character library, and filling the characters into the filling area corresponding to the current display memory area in the display memory line buffer space;
[0010] Among them, the character code corresponding to the current character includes the preset font character code corresponding to the target character shape data in the preset font, the current display memory area is a display memory area connected to the text information processing sub-module, the current character is a character corresponding to any character code in the data to be displayed in the current display memory area, and the target character shape data is the character shape data corresponding to the current character.
[0011] On the other hand, the number of the text information processing submodules is greater than or equal to 2;
[0012] Each of the text information processing submodules is used to convert the character codes corresponding to the characters in the data to be displayed in a respectively connected video memory area into respectively corresponding display pixel data, and fill them into the filling area corresponding to the respectively connected video memory area in the video memory row buffer space.
[0013] On the other hand, the display module is further used to obtain the original data to be displayed of each of the preset display content types; store the data to be displayed corresponding to each of the original data to be displayed in the display memory area corresponding to each of the preset display content types;
[0014] The storing the to-be-displayed data corresponding to each of the to-be-displayed original data into the display memory area corresponding to each of the preset display content types comprises:
[0015] If the preset display content type corresponding to the current original data to be displayed is any of the text information contents, then according to the preset font library, each character in the current original data to be displayed is converted into its corresponding character code to obtain the data to be displayed corresponding to the current original data to be displayed, and store it in the corresponding video memory area; wherein the current original data to be displayed is the original data to be displayed of any of the preset display content types.
[0016] On the other hand, the character code corresponding to the current character further includes a font display setting code, and the font display setting code includes at least one of a font color code, a font size code, and a blinking code.
[0017] On the other hand, the converting of the character codes corresponding to the characters in the data to be displayed in the current display memory area into the corresponding display pixel data respectively according to the preset character library includes:
[0018] According to the preset character library character code in the current character code, the corresponding character shape data is searched from the preset character library; wherein the current character code is the character code corresponding to any character in the current data to be displayed;
[0019] According to the font display setting code in the current character code, the character shape data corresponding to the current character code is converted into corresponding display pixel data.
[0020] On the other hand, the character code corresponding to the current character is a 16-bit binary code, and the character code corresponding to the current character includes 1-bit of the flashing code, 3-bit of the font size code, 4-bit of the font color code and 8-bit of the preset font character code.
[0021] On the other hand, the converting the to-be-displayed data in each video memory area into the corresponding display pixel data, and filling the data into the corresponding filling areas of each video memory area in the video memory row buffer space, comprises:
[0022] Detecting data changes of the data to be displayed in the current video memory area; wherein the current video memory area is any of the video memory areas;
[0023] If the data change is a change, the data to be displayed in the current video memory area is converted into corresponding display pixel data, and filled into the preset cache space corresponding to the current video memory area;
[0024] The display pixel data in the preset buffer space is filled into a filling area corresponding to the current video memory area in the video memory row buffer space.
[0025] In another aspect, the image data processing module includes a scaling submodule;
[0026] The scaling submodule is used to scale the data to be displayed in the current video memory area according to a preset reduction factor when the preset display content type corresponding to the data to be displayed in the current video memory area is the server desktop image content, and use the image data obtained after scaling as the display pixel data corresponding to the current video memory area, and fill it into the filling area corresponding to the current video memory area in the video memory row buffer space; wherein the current video memory area is any of the video memory areas.
[0027] On the other hand, the text information content includes at least one of the startup log content, alarm information content and sensor information content of the baseboard management controller.
[0028] On the other hand, the filling into the filling area corresponding to each of the video memory areas in the video memory row buffer space includes:
[0029] Fill the display pixel data corresponding to the current video memory area into the target filling area according to the target area correspondence relationship; wherein the target area correspondence relationship is the correspondence relationship between each of the video memory areas corresponding to the target display mode and the corresponding filling areas, the target display mode is any preset multi-area display mode, the current video memory area is any of the video memory areas, and the target filling area is the filling area corresponding to the current video memory area;
[0030] Correspondingly, the image data processing module is further used to determine the target display mode according to the display mode identifier in the acquired local display configuration instruction.
[0031] In another aspect, the system further comprises:
[0032] A memory configuration module, used to configure a target video memory area in the memory of the baseboard management controller; wherein the target video memory area is the video memory area corresponding to the target display mode; each of the target video memory areas is used to store data to be displayed of a preset display content type corresponding to the target display mode; the number of preset display content types corresponding to the target display mode is the same as the number of the target video memory areas.
[0033] On the other hand, the preset multi-area display mode includes at least one of a two-area display mode, a three-area display mode and a four-area display mode. The two-area display mode includes an up and down display mode and / or a left and right display mode. The four-area display mode includes a four-area average display mode. The three-area display mode includes an up and down display and upper left and right display mode, an up and down display and lower left and right display mode, a left and right display and left and upper and lower display mode, and / or a left and right display and upper and lower display mode on the right.
[0034] On the other hand, the video memory row cache space is composed of two groups of random access memories, each group of random access memories includes 2n random access memories with a depth of 2m, and the display module is used to read the display pixel data stored in each group of random access memories in turn, and switch the display pixel data displayed by the display; wherein the display pixel data displayed by the display each time is the display pixel data stored in a group of random access memories, and n and m are both positive integers greater than or equal to 1.
[0035] The present invention also provides a baseboard management controller, comprising: the local display system of the server as described above.
[0036] In addition, the present invention also provides a server, comprising: the baseboard management controller as described above.
[0037] A local display system of a server provided by the present invention is applied to a baseboard management controller, comprising: an image data processing module and a display module; the image data processing module is used to convert the data to be displayed in each video memory area into the display pixel data corresponding to each, and fill it into the filling area corresponding to each video memory area in the video memory row cache space; wherein the number of video memory areas is greater than or equal to 2, and each video memory area is used to store the data to be displayed of a preset display content type corresponding to each, the preset display content type includes the server desktop image content and each text information content, and the display pixel data corresponding to the text information content includes the character shape data in the preset font library; the display module is used to control the display to display the display pixel data on the display area corresponding to each filling area according to the display pixel data in the video memory row cache space.
[0038] It can be seen that the present invention adds a multi-screen display function on the basis of the basic local display function of the BMC, so that the local display of the server can not only display the screen of the operating system on the server host, but also display other text information, so that users can perform server maintenance work without logging into the Web interface of the BMC; and through the setting of the image data processing module, the multi-screen display function is realized in hardware, which improves the display efficiency, avoids the problem of large-scale occupation of CPU computing resources in the BMC caused by conventional software image splicing, and can reduce the CPU resource occupation of the BMC by local display. In addition, the present invention also provides a baseboard management controller and server, which also have the above-mentioned beneficial effects. BRIEF DESCRIPTION OF THE DRAWINGS
[0039] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying creative work.
[0040] Figure 1 A schematic diagram of an implementation architecture of a local display function of a BMC in the related art;
[0041] Figure 2 A structural block diagram of a local display system of a server provided by an embodiment of the present invention;
[0042] Figure 3 A schematic diagram of the structure of another local display system of a server provided by an embodiment of the present invention;
[0043] Figure 4 A schematic diagram of a two-area display mode of left and right display provided by an embodiment of the present invention;
[0044] Figure 5 A display schematic diagram of a three-area display mode of up and down display and top and left and right display provided by an embodiment of the present invention;
[0045] Figure 6 A display schematic diagram of a three-region display mode of displaying up and down and displaying left and right at the bottom provided by an embodiment of the present invention;
[0046] Figure 7 A display schematic diagram of a three-area display mode of left-right display and left-upper-lower display provided by an embodiment of the present invention;
[0047] Figure 8 A display schematic diagram of a four-region display mode provided by an embodiment of the present invention;
[0048] Fig. 9 A structural diagram of a character encoding provided by an embodiment of the present invention;
[0049] Fig.10 A display effect diagram of a preset character in a preset character library provided by an embodiment of the present invention;
[0050] Fig.11 for Fig.10 A schematic diagram of character shape data in a preset character library corresponding to a preset character shown;
[0051] Fig.12 A schematic diagram of the structure of an image data processing module provided by an embodiment of the present invention;
[0052] Fig.13 A schematic diagram of the structure of a video memory row buffer space provided by an embodiment of the present invention;
[0053] Fig.14 A schematic diagram of a filling area of a four-area average display method provided by an embodiment of the present invention;
[0054] Fig.15 A schematic diagram of the structure of another image data processing module provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0055] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0056] Please refer to Figure 2 , Figure 2 This is a structural block diagram of a local display system of a server provided by an embodiment of the present invention. The system is applied to a baseboard management controller and may include: an image data processing module 10 and a display module 20;
[0057] The image data processing module 10 is used to convert the to-be-displayed data in each video memory area into the corresponding display pixel data, and fill it into the corresponding filling area of each video memory area in the video memory line buffer space; wherein the number of video memory areas is greater than or equal to 2, and each video memory area is used to store the to-be-displayed data of a corresponding preset display content type, the preset display content type includes the server desktop image content and each text information content, and the display pixel data corresponding to the text information content includes the character shape data in the preset font library;
[0058] The display module 20 is used to control the display to display the display pixel data on the display areas corresponding to the respective filling areas according to the display pixel data in the video memory row buffer space.
[0059] It can be understood that the image data processing module 10 in this embodiment can be a hardware module set on the SOC of the BMC, so that the multi-screen display function of the local display of the BMC can be realized in hardware through the setting of the image data processing module 10, so that the display connected to the BMC can not only display the screen of the operating system on the server host, but also display other text information content, such as related information of the server host and the baseboard management controller, that is, the display of the server can be divided into several display areas, and different information is displayed in each display area. That is, the image data processing module 10 in this embodiment can be a hardware module other than the CPU in the BMC.
[0060] Among them, each display memory area in this embodiment can be used as a display memory space for the to-be-displayed data of a corresponding preset display content type. The to-be-displayed data stored in each display memory area in this embodiment can be data of each preset display content type that needs to be displayed on the display of the server. The preset display content type in this embodiment can be a pre-set content type that can be displayed on multiple screens on the display of the server, such as the server desktop image content and each text information content.
[0061] Correspondingly, the specific number and type of preset display content types in this embodiment can be set by the designer according to practical scenarios and user needs. For example, the preset display content types can be greater than or equal to 2 to realize the multi-screen display function of local display; for example, the preset display content types can include server desktop image content and at least one text information content; for example, the text information content can include at least one of the BMC startup log content, alarm information content and sensor information content (such as data content collected by various sensors connected to the BMC), and the text information content can also include relevant text information content of the server host or other components in the server. The preset display content type can also include other image content, that is, other image content that needs to be displayed on the local display. This example does not impose any restrictions on this.
[0062] It should be noted that the specific location of each video memory area in this embodiment can be set by the designer according to the usage scenario and user needs. For example, each video memory area in this embodiment can be set outside the BMC. In order to facilitate the writing and reading of data in the video memory area, each video memory area can also be set in the BMC. For example, each video memory area (i.e., memory space) can be opened in the memory of the BMC for use as video memory; that is, the system provided in this embodiment can also include each video memory area. This embodiment does not impose any restrictions on this.
[0063] Correspondingly, the specific type of the data to be displayed stored in each display memory area in this embodiment can be set by the designer. For example, each display memory area can store a fixed type of preset display content type of data to be displayed. For example, in some embodiments, when the BMC performs a multi-screen display of a fixed plurality of preset display content types of data to be displayed in a fixed multi-area display mode (such as a three-area display mode or a four-area display mode), each display memory area can be used to store a preset display content type of data to be displayed. Figure 3 As shown, the CPU, display module 20 and image data processing module 10 in the BMC can be communicatively connected with N video memory areas through a bus. The first video memory (i.e., the first video memory area) among the N video memory areas can be used to store data to be displayed of the server desktop image content (such as image data of the operating system in the server host), that is, the first video memory can be used as the video memory space of the operating system of the server host; the second video memory to the Nth video memory can respectively store data to be displayed of a corresponding type of text information content, as storage space for various text information contents.
[0064] In other embodiments, multiple video memory areas may be pre-set, each of which may be used to store data to be displayed of a fixed preset display content type. The image data processing module 10 in the BMC may determine the target video memory area corresponding to the target display mode from all video memory areas, so as to convert the data to be displayed in these target video memory areas into the corresponding display pixel data, and fill them into the corresponding filling areas of each target video memory area in the video memory row buffer space, thereby realizing multi-screen display of the preset display content type corresponding to the target display mode; wherein the target display mode is any preset multi-area display mode (such as a three-area display mode and a four-area display mode, etc.); for example, multiple video memory areas corresponding to each preset multi-area display mode may be pre-set in the BMC, so that after the user configures the target display mode, the data to be displayed in the corresponding video memory area (i.e., the target video memory area) may be directly used for multi-screen display.
[0065] Correspondingly, the image data processing module 10 is also used to determine the target display mode according to the display mode identifier in the acquired local display configuration instruction; for example, the user can trigger the local display configuration instruction through a server host or a web page according to his own needs, so that the image data processing module 10 in the BMC can determine the target display mode according to the display mode identifier in the local display configuration instruction.
[0066] Among them, this embodiment does not limit the specific number and type of the above-mentioned preset multi-region display mode, that is, this embodiment does not limit the specific display mode of multi-screen display, such as the preset multi-region display mode may include at least one of a two-region display mode, a three-region display mode and a four-region display mode, the two-region display mode includes an upper and lower display mode and / or as Figure 4 The left and right display modes shown in the figure, the four-area display modes include: Figure 8 The four-area average display mode shown in the figure, the three-area display mode includes Figure 5 The display method of displaying up and down and displaying left and right at the top, such as Figure 6 The display method of the top-bottom display and the bottom-left display, such as Figure 7 The display method shown is to display left and right and display up and down on the left and / or to display left and right and display up and down on the right.
[0067] In other embodiments, the type of data to be displayed stored in each video memory area can also be adjusted. For example, when the video memory area is set in the BMC, the BMC can not only use the display module 20, CPU or other hardware modules to store the acquired data to be displayed of each preset display content type in the corresponding video memory area; it can also determine a preset display content type corresponding to each video memory area according to the data type configuration information of each video memory area in the acquired local display configuration instruction, so as to store the subsequently acquired data to be displayed of each preset display content type in the corresponding video memory area, thereby adjusting the display content of the multi-screen display. For example, the display module 20 can obtain the original data to be displayed of each preset display content type; store the data to be displayed corresponding to each original data to be displayed in the video memory area corresponding to each preset display content type; the display module 20 can also determine a preset display content type corresponding to each video memory area according to the data type configuration information of each video memory area in the acquired local display configuration instruction; that is, the user can configure the display content (i.e., the preset display content type) of each display area in a fixed or selected display mode according to his own needs, and trigger the local display configuration instruction through a server host or a Web page, so that the display module 20 in the BMC can determine the data type in the video memory area used for multi-screen display according to the data type configuration information in the local display configuration instruction, thereby realizing the adjustment of the display content of the multi-screen display.
[0068] Correspondingly, the specific method of storing the data to be displayed corresponding to each of the original data to be displayed in the video memory area corresponding to each of the preset display content types, that is, the specific data format of the data to be displayed in each video memory area, can be set by the designer. For example, when the preset display content type corresponding to the current original data to be displayed is the server desktop image content, the original data to be displayed (that is, the image data of the operating system) sent by the received server host can be directly used as the data to be displayed and stored in the video memory area corresponding to the server desktop image content (such as Figure 3The first video memory in the server desktop image content); for example, the video memory area corresponding to the server desktop image content can directly store the image data of the operating system in the RGB (red, green, and blue) format sent by the server host. Among them, the current raw data to be displayed is the raw data to be displayed of any preset display content type.
[0069] Correspondingly, when the preset display content type corresponding to the current raw data to be displayed is text information content, the preset character library (such as Figure 3 ), converting each character in the current raw data to be displayed into the corresponding character code, obtaining the data to be displayed corresponding to the current raw data to be displayed, and storing it in the corresponding video memory area. That is, in this embodiment, the video memory area can store text information content in the form of character code, that is, each character in the raw data to be displayed in the form of text can be stored in the corresponding video memory area in the form of corresponding character code.
[0070] Among them, the specific content of the above character encoding can be set by the designer according to the practical scenario and user needs, such as the character encoding corresponding to the current character includes the preset character library character encoding corresponding to the target character shape data in the preset character library, so as to find the corresponding character shape data (i.e., target character shape data) from the preset character library through the preset character library character encoding; wherein, the current character can be any character in the current original data to be displayed (i.e., text information content), and the target character shape data is the character shape data corresponding to the current character in the preset character library; that is, the preset character library can not only include the character shape data corresponding to each preset character library character encoding, but also include the correspondence between each preset character and the preset character library character encoding corresponding to each preset character, so as to use the correspondence to realize the conversion of the character in the text information content (i.e., the original data to be displayed) to the preset character library character encoding. The character encoding corresponding to the current character can also include a font display setting encoding to control the font display mode of the character shape data on the display screen, so as to facilitate the user to view the displayed character content; such as the font display setting encoding can include at least one of a font color encoding for adjusting the font color, a font size encoding for adjusting the font size, and a flashing encoding for adjusting whether to add a flashing cursor under the font.
[0071] For example, the character encoding may be binary encoding or other encoding systems. For example, the character encoding corresponding to the current character may be a 16-bit binary encoding, that is, each character uses 16 bits (that is, 2 bytes) of encoding; the character encoding corresponding to the current character may include a 1-bit flashing code (such as Fig. 9 15 position in ), 3-digit font size code (such as Fig. 9 12 to 14 in the ), 4-digit font color code (such as Fig. 98 to 11 in the ) and 8-bit preset font character codes (such as Fig. 9 That is to say, the 8-bit preset character code can represent a total of 256 preset characters, which can cover all the characters that need to be used, such as Fig. 9 The American Standard Code for Information Interchange (ASCII) code of medium and low 8 bits, that is, the preset font character code can use the ASCII code. The 4-bit font color code can represent a total of 16 font colors, the 3-bit font size code can represent a total of 8 font sizes, and the 1-bit flash code can indicate whether to add a flashing cursor under the font.
[0072] Correspondingly, such as Fig.10 and Fig.11 As shown, the character shape data of each preset character in the preset character library can be represented by 8x16 data, such as Fig.10 The "A" character in Fig.11 The character shape data shown, 0 in the character shape data can represent no color, that is, the background color (such as black), and 1 can represent a colored part, and the color can be determined by the 4-bit font color code in the corresponding character code. For example, the corresponding character shape data can be obtained from the preset font library using the 8-bit preset font library character code in the character code; according to the 4-bit font color code in the character code, the position corresponding to 1 in the character shape data can be replaced with the RGB data of the corresponding color, and the position corresponding to 0 can be represented by the RGB data of the background color; according to the 3-bit font size code in the character code, the replaced character shape data (i.e., RGB data) can be reduced by 2 times, or enlarged by 2, 4, 8 or 16 times; according to the 1-bit flashing code in the character code, it can be determined whether to add two lines of color pixel data at the bottom of the character shape data.
[0073] Correspondingly, the above process of converting each character in the current original data to be displayed into its corresponding character encoding according to the preset font library to obtain the data to be displayed corresponding to the current original data to be displayed can convert each character in the current original data to be displayed into its corresponding character encoding according to the preset font library and the font display configuration information in the acquired local display configuration instruction to obtain the data to be displayed corresponding to the current original data to be displayed, so as to convert the font display setting encoding in the character encoding corresponding to the font display configuration information.
[0074] Furthermore, the BMC can also use the display module 20, CPU or other hardware modules to configure the target video memory area in the memory of the BMC to achieve adaptive configuration of the target video memory area; wherein the target video memory area is the video memory area corresponding to the target display mode; the target video memory area is used to store a preset display content type to be displayed corresponding to the target display mode; the number of preset display content types corresponding to the target display mode is the same as the number of target video memory areas. For example, the system provided in this embodiment can also include: a memory configuration module, which is used to configure the target video memory area in the memory of the baseboard management controller.
[0075] It should be noted that the image data processing module 10 in this embodiment may include a zoom submodule; the zoom submodule is used to zoom the data to be displayed in the current video memory area according to a preset reduction factor when the preset display content type corresponding to the data to be displayed in the current video memory area is the server desktop image content, and use the image data obtained after zooming as the display pixel data corresponding to the current video memory area, and fill it into the filling area corresponding to the current video memory area in the video memory line buffer space; wherein the current video memory area is any video memory area. That is to say, the zoom submodule can be connected to the video memory area (such as the video memory area) storing the data to be displayed of the server desktop image content. Fig.12 The memory connection where the first video memory area in the video memory is located is used to scale the data to be displayed in the video memory area according to a preset reduction factor, such as using a nearest neighbor interpolation algorithm or a bilinear interpolation algorithm. Fig.12 As shown, the first video memory area can be used to store image data in RGB format sent by the operating system of the server host, such as one 32-bit data represents one pixel; the scaling submodule can reduce the image data in the first video memory area, such as reducing the image data in the first video memory area by a preset reduction factor (such as 4 times) according to the display effect configured by the SOC of the BMC as required.
[0076] Correspondingly, the image data processing module 10 in this embodiment may also include a text information processing sub-module; the text information processing sub-module is used to convert the character codes corresponding to the characters in the data to be displayed in the current video memory area into their respective corresponding display pixel data according to the preset font library when the preset display content type corresponding to the data to be displayed in the current video memory area is any text information content, and fill them into the filling area corresponding to the current video memory area in the video memory row buffer space; wherein the character code corresponding to the current character includes the preset font character code corresponding to the target character shape data in the preset font library, the current video memory area is a video memory area connected to the text information processing sub-module, the current character is the character corresponding to any character code in the data to be displayed in the current video memory area, and the target character shape data is the character shape data corresponding to the current character.
[0077] For example, when the character encoding includes a preset font character encoding and a font display setting encoding, the above process of converting the character encoding corresponding to each character in the data to be displayed in the current video memory area into the corresponding display pixel data according to the preset font library may include: searching for the corresponding character shape data from the preset font library according to the preset font character encoding in the current character encoding; wherein the current character encoding is the character encoding corresponding to any character in the current data to be displayed; and converting the character shape data corresponding to the current character encoding into the corresponding display pixel data according to the font display setting encoding in the current character encoding.
[0078] Accordingly, the present embodiment does not limit the specific number of text information processing submodules, such as the number of text information processing submodules may be 1, that is, the text information processing submodule may convert the to-be-displayed data in the video memory area corresponding to each text information content to be displayed into the corresponding display pixel data according to the preset character library, and fill it into the corresponding filling area in the video memory row buffer space. The number of text information processing submodules may also be greater than or equal to 2; each text information processing submodule may be used to convert the character codes corresponding to each character in the to-be-displayed data in a video memory area connected to it into the corresponding display pixel data, and fill it into the corresponding filling area in the video memory row buffer space corresponding to the video memory area connected to it.
[0079] The system provided in this embodiment may also include a video memory row cache space set in the BMC, such as Fig.12 As shown, a video memory row cache space may be set in the image data processing module 10. The video memory row cache space in this embodiment may include one or more groups of random access memories (Random Access Memory, RAM), such as a video memory row cache space may include a group of RAMs, for example, 2n RAMs with a depth of 2m, and the display module 20 may directly display the display pixel data stored in the group of RAMs to the display, so that the display pixel data of each filling area in the group of RAMs can be displayed on the corresponding display area on the display.
[0080] Furthermore, in order to improve display efficiency, in this embodiment, the video memory row cache space can be composed of two groups of random access memories, each group of random access memories can include 2n RAMs with a depth of 2m; the display module 20 can read the display pixel data stored in each group of random access memories in turn, and switch the display pixel data displayed by the display; wherein, the display pixel data displayed by the display each time is the display pixel data stored in a group of random access memories, and n and m are both positive integers greater than or equal to 1.
[0081] like Fig.12 and Fig.13As shown, the video memory row cache space can be composed of 32 RAMs with a depth of 1024. The 32 RAMs can be divided into two groups (RAM0-15), that is, n can be 8, m can be 512, and the RAM bit width can be 24 bits; the multi-area display mode (such as the target display mode) adopted by the BMC is as follows Figure 4 In the left-right display mode shown, after the image data in the RGB format in the first display memory area is scaled, the scaled RGB data from the first row to the bottom 16 rows are filled into the 0-511 position of RAM0-RAM15; the RGB data formed by the text content data in the second display memory after processing is sequentially filled into the 512-1023 area of RAM0-RAM15, so that 16 rows of 1024 RGB data are formed; the display module 20 can read the data in RAM0 for display, which represents the display pixels of the first row; this group of RAM can be read in sequence and displayed. That is to say, when the RGB data of the first group of RAM is filled, the display module 20 can display, and at this time, the image data processing submodule and the text information processing submodule can simultaneously fill the subsequent RGB data into the second group of RAM; when the second group of RAM data is filled, and the RGB data in the first group of RAM is displayed, the display module 20 starts to display the RGB in the second group of RAM, and the image data processing submodule and the text information processing submodule can start to fill the first group of RAM, and so on.
[0082] For example, the multi-area display mode (such as target display mode) adopted by BMC is as follows Figure 8 In the four-area average display mode shown, the filling area of each group of RAM may include a first filling area, a second filling area, a third filling area and a fourth filling area; the first filling area includes the space from 0 to (m-1) positions of the 1st to nth random access memories, the second filling area includes the space from m to (2m-1) positions of the 1st to nth random access memories, the third filling area includes the space from 0 to (m-1) positions of the (n+1)th to 2nth random access memories, and the fourth filling area includes the space from m to (2m-1) positions of the (n+1)th to 2nth random access memories. For example, when the image data processing module 10 includes a scaling submodule and a text information processing submodule, as shown in FIG. Fig.14As shown, when the first group of RAM is writing data, the scaling submodule can obtain image data from the first display memory area and write it to the first 512 areas of the first RAM in the first group of RAM after scaling (i.e., the area before B), and then the text information processing submodule obtains the text information content in the second display memory area and writes it to the last 512 areas of the first group of RAM after processing; and so on, until the first to n RAMs of the first group of RAM are written. When writing to A, the data filling of the first filling area and the second filling area is completed, and at this time, the text information processing submodule can obtain the text information content from the third display memory area and write it to the first 512 areas of the n+1th RAM in the first group of RAM after processing, and then the text information processing submodule obtains the text information content in the fourth display memory area and writes it to the last 512 areas of the first group of RAM; and so on, until the n+1th to 2nth RAMs of the first group of RAM are written, the filling and display of the display pixel data of the first group of RAM are completed, so that the filling and display of the display pixel data of the second group of RAM can be performed in a similar manner.
[0083] In some embodiments, the BMC may perform multi-screen display in a fixed multi-area display mode (such as a three-area display mode or a four-area display mode), and the correspondence between each video memory area and the corresponding filling area in the video memory row buffer space may be fixed, that is, the image data processing module 10 (that is, the image data processing submodule and the text information processing submodule) may fill the acquired display pixel data corresponding to the current video memory area into the corresponding filling area according to the fixed correspondence.
[0084] In other embodiments, the BMC can perform multi-screen display according to any preset multi-area display mode (i.e., target display mode) configured, and the BMC can pre-store the correspondence between each video memory area corresponding to each preset multi-area display mode and the corresponding filling area, so that in the above-mentioned process of filling into the filling area corresponding to each video memory area in the video memory row buffer space, the image data processing module 10 can fill the display pixel data corresponding to the current video memory area into the target filling area according to the target area correspondence; wherein the target area correspondence is the correspondence between each video memory area corresponding to the target display mode and the corresponding filling area, the target display mode is any preset multi-area display mode, the current video memory area is any video memory area corresponding to the target display mode, and the target filling area is the filling area corresponding to the current video memory area.
[0085] Furthermore, in order to improve display efficiency and reduce power consumption, the image data processing module 10 in this embodiment converts the data to be displayed in each display memory area into the corresponding display pixel data, and fills them into the corresponding filling area of each display memory area in the display memory row buffer space, which may include: detecting the data change of the data to be displayed in the current display memory area; if the data change is changed, converting the data to be displayed in the current display memory area into the corresponding display pixel data, and filling them into the preset buffer space corresponding to the current display memory area; filling the display pixel data in the preset buffer space into the filling area corresponding to the current display memory area in the display memory row buffer space; wherein the current display memory area is any display memory area. Correspondingly, if the data change is unchanged, the data to be displayed in the current display memory area may not be processed.
[0086] That is to say, since in actual applications the desktop image content of the operating system of the server host and the text information content of each display may remain unchanged for a long time, in this embodiment, the data change of the data to be displayed in each video memory area can be detected, and after the data to be displayed in each video memory area changes, the data to be displayed in the changed video memory area can be processed; and by setting the preset cache space corresponding to each video memory area, the processed data (i.e., display pixel data) in each video memory area can be cached, thereby realizing the continuous display of content that remains unchanged for a long time.
[0087] In some embodiments, Fig.12 and Fig.15 As shown, a first cache (i.e., a preset cache space) can be added after the zoom submodule to cache the entire image data after zooming (i.e., display pixel data); and a host image change signal is added to notify the zoom submodule of the data change of the data to be displayed in the first video memory area, so that the zoom submodule can determine whether it is necessary to zoom the data to be displayed in the first video memory area (i.e., the desktop image content of the operating system). Since the desktop image content of the operating system may remain unchanged for a long time during the actual application process, it is possible to detect whether the data in the first video memory area has changed. If it has changed, the zoom submodule is notified to start zooming.
[0088] Correspondingly, a second cache (i.e., a preset cache space) corresponding to the second video memory area can be added after the text information processing submodule to cache the entire image data after processing in the second video memory area; and a text information change signal is added to notify the text information processing submodule of data changes in the data to be displayed in the second video memory area, so that the text information processing submodule can determine whether the data to be displayed in the second video memory area needs to be processed.
[0089] In this embodiment, the embodiment of the present invention adds a multi-screen display function on the basis of the basic local display function of the BMC, so that the local display of the server can not only display the screen of the operating system on the server host, but also display other text information, so that the user can perform server maintenance work without logging into the Web (webpage) interface of the BMC; and through the setting of the image data processing module 10, the multi-screen display function is realized in hardware, the display efficiency is improved, the problem of a large amount of CPU computing resources in the BMC being occupied due to conventional software image splicing is avoided, and the CPU resource occupation of the BMC by the local display can be reduced.
[0090] Corresponding to the above system embodiment, the embodiment of the present invention further provides a baseboard management controller. The baseboard management controller described below and the local display system of the server described above can refer to each other.
[0091] A baseboard management controller includes: a local display system of a server provided in the above embodiment.
[0092] Corresponding to the above system embodiment, the embodiment of the present invention further provides a server, and the local display system of the server described below and the server described above can correspond to each other.
[0093] A server includes: a baseboard management controller as provided in the above embodiment.
[0094] The various embodiments in the specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referred to each other. For the baseboard management controller and server disclosed in the embodiment, since they correspond to the system disclosed in the embodiment, the description is relatively simple, and the relevant parts can be referred to the system part description.
[0095] The above is a detailed introduction to a local display system, baseboard management controller and server of a server provided by the present invention. Specific examples are used in this article to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is only used to help understand the method of the present invention and its core idea. It should be pointed out that for ordinary technicians in this technical field, without departing from the principle of the present invention, several improvements and modifications can be made to the present invention, and these improvements and modifications also fall within the scope of protection of the present invention.
Claims
1. A local display system of a server, characterized in that: Applied to baseboard management controller, including: image data processing module and display module; The image data processing module is used to convert the to-be-displayed data in each display memory area into the display pixel data corresponding to each, and fill it into the filling area corresponding to each of the display memory areas in the display memory line buffer space; wherein the number of the display memory areas is greater than or equal to 2, and each of the display memory areas is used to store the to-be-displayed data of a corresponding preset display content type, the preset display content type includes the server desktop image content and each text information content, and the display pixel data corresponding to the text information content includes the character shape data in the preset font library; The display module is used for controlling the display to display the display pixel data on the display areas corresponding to the filling areas according to the display pixel data in the display memory row buffer space; The image data processing module includes a text information processing submodule; The text information processing submodule is used for, when the preset display content type corresponding to the data to be displayed in the current display memory area is any of the text information contents, converting the character codes corresponding to the characters in the data to be displayed in the current display memory area into the display pixel data corresponding to the characters according to the preset character library, and filling the characters into the filling area corresponding to the current display memory area in the display memory line buffer space; The character code corresponding to the current character includes the preset character code corresponding to the target character shape data in the preset character library, the current display memory area is a display memory area connected to the text information processing submodule, the current character is a character corresponding to any character code in the data to be displayed in the current display memory area, and the target character shape data is the character shape data corresponding to the current character; the character code corresponding to the current character also includes a font display setting code, and the font display setting code includes at least one of a font color code, a font size code, and a blinking code; The step of converting the to-be-displayed data in each video memory area into the corresponding display pixel data, and filling the data into the corresponding filling areas of each video memory area in the video memory row buffer space, comprises: Detecting data changes of the data to be displayed in the current video memory area; wherein the current video memory area is any of the video memory areas; If the data change is a change, the data to be displayed in the current video memory area is converted into corresponding display pixel data, and filled into the preset cache space corresponding to the current video memory area; wherein the image data processing module includes the preset cache space corresponding to each of the video memory areas and the video memory row cache space; The display pixel data in the preset buffer space is filled into a filling area corresponding to the current video memory area in the video memory row buffer space.
2. The local display system of the server according to claim 1, characterized in that: The number of the text information processing submodules is greater than or equal to 2; Each of the text information processing submodules is used to convert the character codes corresponding to the characters in the data to be displayed in a respectively connected video memory area into respectively corresponding display pixel data, and fill them into the filling area corresponding to the respectively connected video memory area in the video memory row buffer space.
3. The local display system of the server according to claim 1, characterized in that: The display module is also used to obtain the original data to be displayed of each of the preset display content types; store the data to be displayed corresponding to each of the original data to be displayed in the display memory area corresponding to each of the preset display content types; The storing the to-be-displayed data corresponding to each of the to-be-displayed original data into the display memory area corresponding to each of the preset display content types comprises: If the preset display content type corresponding to the current original data to be displayed is any of the text information contents, then according to the preset font library, each character in the current original data to be displayed is converted into its corresponding character code to obtain the data to be displayed corresponding to the current original data to be displayed, and store it in the corresponding video memory area; wherein the current original data to be displayed is the original data to be displayed of any of the preset display content types.
4. The local display system of the server according to claim 1, characterized in that: The step of converting the character codes corresponding to the characters in the data to be displayed in the current display memory area into the corresponding display pixel data respectively according to the preset character library comprises: According to the preset character library character code in the current character code, the corresponding character shape data is searched from the preset character library; wherein the current character code is the character code corresponding to any character in the current data to be displayed; According to the font display setting code in the current character code, the character shape data corresponding to the current character code is converted into corresponding display pixel data.
5. The local display system of the server according to claim 1, characterized in that: The character code corresponding to the current character is a 16-bit binary code, and the character code corresponding to the current character includes a 1-bit flashing code, a 3-bit font size code, a 4-bit font color code and an 8-bit preset font character code.
6. The local display system of the server according to claim 1, characterized in that: The image data processing module includes a scaling submodule; The scaling submodule is used to scale the data to be displayed in the current video memory area according to a preset reduction factor when the preset display content type corresponding to the data to be displayed in the current video memory area is the server desktop image content, and use the image data obtained after scaling as the display pixel data corresponding to the current video memory area, and fill it into the filling area corresponding to the current video memory area in the video memory row buffer space; wherein the current video memory area is any of the video memory areas.
7. The local display system of the server according to claim 1, characterized in that: The text information content includes at least one of the startup log content, alarm information content and sensor information content of the baseboard management controller.
8. The local display system of a server according to any one of claims 1 to 7, characterized in that: The filling area corresponding to each of the video memory areas in the video memory row buffer space includes: Fill the display pixel data corresponding to the current video memory area into the target filling area according to the target area correspondence relationship; wherein the target area correspondence relationship is the correspondence relationship between each of the video memory areas corresponding to the target display mode and the corresponding filling areas, the target display mode is any preset multi-area display mode, the current video memory area is any of the video memory areas, and the target filling area is the filling area corresponding to the current video memory area; Correspondingly, the image data processing module is further used to determine the target display mode according to the display mode identifier in the acquired local display configuration instruction.
9. The local display system of the server according to claim 8, characterized in that: Also includes: A memory configuration module, used to configure a target video memory area in the memory of the baseboard management controller; wherein the target video memory area is the video memory area corresponding to the target display mode; each of the target video memory areas is used to store data to be displayed of a preset display content type corresponding to the target display mode; the number of preset display content types corresponding to the target display mode is the same as the number of the target video memory areas.
10. The local display system of the server according to claim 8, characterized in that: The preset multi-area display mode includes at least one of a two-area display mode, a three-area display mode and a four-area display mode. The two-area display mode includes an up and down display mode and / or a left and right display mode. The four-area display mode includes a four-area average display mode. The three-area display mode includes a display mode of up and down display and upper left and right display, a display mode of up and down display and lower left and right display, a display mode of left and right display and upper and lower display on the left, and / or a display mode of left and right display and upper and lower display on the right.
11. The local display system of the server according to claim 10, characterized in that: The video memory row cache space is composed of two groups of random access memories, each group of random access memories includes 2n random access memories with a depth of 2m, and the display module is used to read the display pixel data stored in each group of random access memories in turn, and switch the display pixel data displayed by the display; wherein the display pixel data displayed by the display each time is the display pixel data stored in a group of random access memories, and n and m are both positive integers greater than or equal to 1.
12. A baseboard management controller, characterized in that: include: A local display system for a server as claimed in any one of claims 1 to 11.
13. A server, characterized in that: include: The baseboard management controller of claim 12.
Citation Information
Patent Citations
Data processing method, device and system based on hardware design and computer equipment
CN118093331A